diff --git a/.envrc b/.envrc deleted file mode 100644 index 3550a30f..00000000 --- a/.envrc +++ /dev/null @@ -1 +0,0 @@ -use flake diff --git a/.github/workflows/advisory-cron.yaml b/.github/workflows/advisory-cron.yaml deleted file mode 100644 index 31bac5a3..00000000 --- a/.github/workflows/advisory-cron.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Advisories -on: - schedule: - - cron: '0 18 * * *' -jobs: - cargo-deny: - runs-on: ubuntu-latest - strategy: - matrix: - checks: - - advisories - - bans licenses sources - steps: - - uses: actions/checkout@v2 - - uses: EmbarkStudios/cargo-deny-action@v1 - with: - command: check ${{ matrix.checks }} diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index 8519ac5e..00000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,177 +0,0 @@ -name: CI -on: - push: - branches: - - main - pull_request: - branches: - - main -jobs: - fmt: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: 1.67.0 - default: true - components: rustfmt - - uses: Swatinem/rust-cache@v1 - - run: ./scripts/ci/fmt - shell: bash - - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: 1.67.0 - default: true - components: clippy - - uses: Swatinem/rust-cache@v1 - - run: ./scripts/ci/lint - shell: bash - - docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: 1.67.0 - default: true - - uses: Swatinem/rust-cache@v1 - - name: Build rust docs - run: ./scripts/ci/rust-docs - shell: bash - - name: Install doxygen - run: sudo apt-get install -y doxygen - shell: bash - - cargo-deny: - runs-on: ubuntu-latest - strategy: - matrix: - checks: - - advisories - - bans licenses sources - continue-on-error: ${{ matrix.checks == 'advisories' }} - steps: - - uses: actions/checkout@v2 - - uses: EmbarkStudios/cargo-deny-action@v1 - with: - arguments: '--manifest-path ./rust/Cargo.toml' - command: check ${{ matrix.checks }} - - wasm_tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Install wasm-bindgen-cli - run: cargo install wasm-bindgen-cli wasm-opt - - name: Install wasm32 target - run: rustup target add wasm32-unknown-unknown - - name: run tests - run: ./scripts/ci/wasm_tests - deno_tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: denoland/setup-deno@v1 - with: - deno-version: v1.x - - name: Install wasm-bindgen-cli - run: cargo install wasm-bindgen-cli wasm-opt - - name: Install wasm32 target - run: rustup target add wasm32-unknown-unknown - - name: run tests - run: ./scripts/ci/deno_tests - - js_fmt: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: install - run: yarn global add prettier - - name: format - run: prettier -c javascript/.prettierrc javascript - - js_tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Install wasm-bindgen-cli - run: cargo install wasm-bindgen-cli wasm-opt - - name: Install wasm32 target - run: rustup target add wasm32-unknown-unknown - - name: run tests - run: ./scripts/ci/js_tests - - cmake_build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: nightly-2023-01-26 - default: true - - uses: Swatinem/rust-cache@v1 - - name: Install CMocka - run: sudo apt-get install -y libcmocka-dev - - name: Install/update CMake - uses: jwlawson/actions-setup-cmake@v1.12 - with: - cmake-version: latest - - name: Install rust-src - run: rustup component add rust-src - - name: Build and test C bindings - run: ./scripts/ci/cmake-build Release Static - shell: bash - - linux: - runs-on: ubuntu-latest - strategy: - matrix: - toolchain: - - 1.67.0 - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: ${{ matrix.toolchain }} - default: true - - uses: Swatinem/rust-cache@v1 - - run: ./scripts/ci/build-test - shell: bash - - macos: - runs-on: macos-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: 1.67.0 - default: true - - uses: Swatinem/rust-cache@v1 - - run: ./scripts/ci/build-test - shell: bash - - windows: - runs-on: windows-latest - steps: - - uses: actions/checkout@v2 - - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: 1.67.0 - default: true - - uses: Swatinem/rust-cache@v1 - - run: ./scripts/ci/build-test - shell: bash diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml deleted file mode 100644 index b501d526..00000000 --- a/.github/workflows/docs.yaml +++ /dev/null @@ -1,52 +0,0 @@ -on: - push: - branches: - - main - -name: Documentation - -jobs: - deploy-docs: - concurrency: deploy-docs - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Toolchain - uses: actions-rs/toolchain@v1 - with: - profile: minimal - toolchain: stable - override: true - - - name: Cache - uses: Swatinem/rust-cache@v1 - - - name: Clean docs dir - run: rm -rf docs - shell: bash - - - name: Clean Rust docs dir - uses: actions-rs/cargo@v1 - with: - command: clean - args: --manifest-path ./rust/Cargo.toml --doc - - - name: Build Rust docs - uses: actions-rs/cargo@v1 - with: - command: doc - args: --manifest-path ./rust/Cargo.toml --workspace --all-features --no-deps - - - name: Move Rust docs - run: mkdir -p docs && mv rust/target/doc/* docs/. - shell: bash - - - name: Configure root page - run: echo '' > docs/index.html - - - name: Deploy docs - uses: peaceiris/actions-gh-pages@v3 - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./docs diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index 762671ff..00000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,214 +0,0 @@ -name: Release -on: - push: - branches: - - main - -jobs: - check_if_wasm_version_upgraded: - name: Check if WASM version has been upgraded - runs-on: ubuntu-latest - outputs: - wasm_version: ${{ steps.version-updated.outputs.current-package-version }} - wasm_has_updated: ${{ steps.version-updated.outputs.has-updated }} - steps: - - uses: JiPaix/package-json-updated-action@v1.0.5 - id: version-updated - with: - path: rust/automerge-wasm/package.json - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - publish-wasm: - name: Publish WASM package - runs-on: ubuntu-latest - needs: - - check_if_wasm_version_upgraded - # We create release only if the version in the package.json has been upgraded - if: needs.check_if_wasm_version_upgraded.outputs.wasm_has_updated == 'true' - steps: - - uses: actions/setup-node@v3 - with: - node-version: '16.x' - registry-url: 'https://registry.npmjs.org' - - uses: denoland/setup-deno@v1 - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - ref: ${{ github.ref }} - - name: Get rid of local github workflows - run: rm -r .github/workflows - - name: Remove tmp_branch if it exists - run: git push origin :tmp_branch || true - - run: git checkout -b tmp_branch - - name: Install wasm-bindgen-cli - run: cargo install wasm-bindgen-cli wasm-opt - - name: Install wasm32 target - run: rustup target add wasm32-unknown-unknown - - name: run wasm js tests - id: wasm_js_tests - run: ./scripts/ci/wasm_tests - - name: run wasm deno tests - id: wasm_deno_tests - run: ./scripts/ci/deno_tests - - name: build release - id: build_release - run: | - npm --prefix $GITHUB_WORKSPACE/rust/automerge-wasm run release - - name: Collate deno release files - if: steps.wasm_js_tests.outcome == 'success' && steps.wasm_deno_tests.outcome == 'success' - run: | - mkdir $GITHUB_WORKSPACE/deno_wasm_dist - cp $GITHUB_WORKSPACE/rust/automerge-wasm/deno/* $GITHUB_WORKSPACE/deno_wasm_dist - cp $GITHUB_WORKSPACE/rust/automerge-wasm/index.d.ts $GITHUB_WORKSPACE/deno_wasm_dist - cp $GITHUB_WORKSPACE/rust/automerge-wasm/README.md $GITHUB_WORKSPACE/deno_wasm_dist - cp $GITHUB_WORKSPACE/rust/automerge-wasm/LICENSE $GITHUB_WORKSPACE/deno_wasm_dist - sed -i '1i /// ' $GITHUB_WORKSPACE/deno_wasm_dist/automerge_wasm.js - - name: Create npm release - if: steps.wasm_js_tests.outcome == 'success' && steps.wasm_deno_tests.outcome == 'success' - run: | - if [ "$(npm --prefix $GITHUB_WORKSPACE/rust/automerge-wasm show . version)" = "$VERSION" ]; then - echo "This version is already published" - exit 0 - fi - EXTRA_ARGS="--access public" - if [[ $VERSION == *"alpha."* ]] || [[ $VERSION == *"beta."* ]] || [[ $VERSION == *"rc."* ]]; then - echo "Is pre-release version" - EXTRA_ARGS="$EXTRA_ARGS --tag next" - fi - if [ "$NODE_AUTH_TOKEN" = "" ]; then - echo "Can't publish on NPM, You need a NPM_TOKEN secret." - false - fi - npm publish $GITHUB_WORKSPACE/rust/automerge-wasm $EXTRA_ARGS - env: - NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - VERSION: ${{ needs.check_if_wasm_version_upgraded.outputs.wasm_version }} - - name: Commit wasm deno release files - run: | - git config --global user.name "actions" - git config --global user.email actions@github.com - git add $GITHUB_WORKSPACE/deno_wasm_dist - git commit -am "Add deno release files" - git push origin tmp_branch - - name: Tag wasm release - if: steps.wasm_js_tests.outcome == 'success' && steps.wasm_deno_tests.outcome == 'success' - uses: softprops/action-gh-release@v1 - with: - name: Automerge Wasm v${{ needs.check_if_wasm_version_upgraded.outputs.wasm_version }} - tag_name: js/automerge-wasm-${{ needs.check_if_wasm_version_upgraded.outputs.wasm_version }} - target_commitish: tmp_branch - generate_release_notes: false - draft: false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Remove tmp_branch - run: git push origin :tmp_branch - check_if_js_version_upgraded: - name: Check if JS version has been upgraded - runs-on: ubuntu-latest - outputs: - js_version: ${{ steps.version-updated.outputs.current-package-version }} - js_has_updated: ${{ steps.version-updated.outputs.has-updated }} - steps: - - uses: JiPaix/package-json-updated-action@v1.0.5 - id: version-updated - with: - path: javascript/package.json - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - publish-js: - name: Publish JS package - runs-on: ubuntu-latest - needs: - - check_if_js_version_upgraded - - check_if_wasm_version_upgraded - - publish-wasm - # We create release only if the version in the package.json has been upgraded and after the WASM release - if: | - (always() && ! cancelled()) && - (needs.publish-wasm.result == 'success' || needs.publish-wasm.result == 'skipped') && - needs.check_if_js_version_upgraded.outputs.js_has_updated == 'true' - steps: - - uses: actions/setup-node@v3 - with: - node-version: '16.x' - registry-url: 'https://registry.npmjs.org' - - uses: denoland/setup-deno@v1 - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - ref: ${{ github.ref }} - - name: Get rid of local github workflows - run: rm -r .github/workflows - - name: Remove js_tmp_branch if it exists - run: git push origin :js_tmp_branch || true - - run: git checkout -b js_tmp_branch - - name: check js formatting - run: | - yarn global add prettier - prettier -c javascript/.prettierrc javascript - - name: run js tests - id: js_tests - run: | - cargo install wasm-bindgen-cli wasm-opt - rustup target add wasm32-unknown-unknown - ./scripts/ci/js_tests - - name: build js release - id: build_release - run: | - npm --prefix $GITHUB_WORKSPACE/javascript run build - - name: build js deno release - id: build_deno_release - run: | - VERSION=$WASM_VERSION npm --prefix $GITHUB_WORKSPACE/javascript run deno:build - env: - WASM_VERSION: ${{ needs.check_if_wasm_version_upgraded.outputs.wasm_version }} - - name: run deno tests - id: deno_tests - run: | - npm --prefix $GITHUB_WORKSPACE/javascript run deno:test - - name: Collate deno release files - if: steps.js_tests.outcome == 'success' && steps.deno_tests.outcome == 'success' - run: | - mkdir $GITHUB_WORKSPACE/deno_js_dist - cp $GITHUB_WORKSPACE/javascript/deno_dist/* $GITHUB_WORKSPACE/deno_js_dist - - name: Create npm release - if: steps.js_tests.outcome == 'success' && steps.deno_tests.outcome == 'success' - run: | - if [ "$(npm --prefix $GITHUB_WORKSPACE/javascript show . version)" = "$VERSION" ]; then - echo "This version is already published" - exit 0 - fi - EXTRA_ARGS="--access public" - if [[ $VERSION == *"alpha."* ]] || [[ $VERSION == *"beta."* ]] || [[ $VERSION == *"rc."* ]]; then - echo "Is pre-release version" - EXTRA_ARGS="$EXTRA_ARGS --tag next" - fi - if [ "$NODE_AUTH_TOKEN" = "" ]; then - echo "Can't publish on NPM, You need a NPM_TOKEN secret." - false - fi - npm publish $GITHUB_WORKSPACE/javascript $EXTRA_ARGS - env: - NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} - VERSION: ${{ needs.check_if_js_version_upgraded.outputs.js_version }} - - name: Commit js deno release files - run: | - git config --global user.name "actions" - git config --global user.email actions@github.com - git add $GITHUB_WORKSPACE/deno_js_dist - git commit -am "Add deno js release files" - git push origin js_tmp_branch - - name: Tag JS release - if: steps.js_tests.outcome == 'success' && steps.deno_tests.outcome == 'success' - uses: softprops/action-gh-release@v1 - with: - name: Automerge v${{ needs.check_if_js_version_upgraded.outputs.js_version }} - tag_name: js/automerge-${{ needs.check_if_js_version_upgraded.outputs.js_version }} - target_commitish: js_tmp_branch - generate_release_notes: false - draft: false - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Remove js_tmp_branch - run: git push origin :js_tmp_branch diff --git a/.gitignore b/.gitignore deleted file mode 100644 index f77865d0..00000000 --- a/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/.direnv -perf.* -/Cargo.lock -build/ -.vim/* -/target diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 18812465..00000000 --- a/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2019-2021 the Automerge contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index ad174da4..00000000 --- a/README.md +++ /dev/null @@ -1,147 +0,0 @@ -# Automerge - -Automerge logo - -[![homepage](https://img.shields.io/badge/homepage-published-informational)](https://automerge.org/) -[![main docs](https://img.shields.io/badge/docs-main-informational)](https://automerge.org/automerge-rs/automerge/) -[![ci](https://github.com/automerge/automerge-rs/actions/workflows/ci.yaml/badge.svg)](https://github.com/automerge/automerge-rs/actions/workflows/ci.yaml) -[![docs](https://github.com/automerge/automerge-rs/actions/workflows/docs.yaml/badge.svg)](https://github.com/automerge/automerge-rs/actions/workflows/docs.yaml) - -Automerge is a library which provides fast implementations of several different -CRDTs, a compact compression format for these CRDTs, and a sync protocol for -efficiently transmitting those changes over the network. The objective of the -project is to support [local-first](https://www.inkandswitch.com/local-first/) applications in the same way that relational -databases support server applications - by providing mechanisms for persistence -which allow application developers to avoid thinking about hard distributed -computing problems. Automerge aims to be PostgreSQL for your local-first app. - -If you're looking for documentation on the JavaScript implementation take a look -at https://automerge.org/docs/hello/. There are other implementations in both -Rust and C, but they are earlier and don't have documentation yet. You can find -them in `rust/automerge` and `rust/automerge-c` if you are comfortable -reading the code and tests to figure out how to use them. - -If you're familiar with CRDTs and interested in the design of Automerge in -particular take a look at https://automerge.org/docs/how-it-works/backend/ - -Finally, if you want to talk to us about this project please [join the -Slack](https://join.slack.com/t/automerge/shared_invite/zt-e4p3760n-kKh7r3KRH1YwwNfiZM8ktw) - -## Status - -This project is formed of a core Rust implementation which is exposed via FFI in -javascript+WASM, C, and soon other languages. Alex -([@alexjg](https://github.com/alexjg/)]) is working full time on maintaining -automerge, other members of Ink and Switch are also contributing time and there -are several other maintainers. The focus is currently on shipping the new JS -package. We expect to be iterating the API and adding new features over the next -six months so there will likely be several major version bumps in all packages -in that time. - -In general we try and respect semver. - -### JavaScript - -A stable release of the javascript package is currently available as -`@automerge/automerge@2.0.0` where. pre-release verisions of the `2.0.1` are -available as `2.0.1-alpha.n`. `2.0.1*` packages are also available for Deno at -https://deno.land/x/automerge - -### Rust - -The rust codebase is currently oriented around producing a performant backend -for the Javascript wrapper and as such the API for Rust code is low level and -not well documented. We will be returning to this over the next few months but -for now you will need to be comfortable reading the tests and asking questions -to figure out how to use it. If you are looking to build rust applications which -use automerge you may want to look into -[autosurgeon](https://github.com/alexjg/autosurgeon) - -## Repository Organisation - -- `./rust` - the rust rust implementation and also the Rust components of - platform specific wrappers (e.g. `automerge-wasm` for the WASM API or - `automerge-c` for the C FFI bindings) -- `./javascript` - The javascript library which uses `automerge-wasm` - internally but presents a more idiomatic javascript interface -- `./scripts` - scripts which are useful to maintenance of the repository. - This includes the scripts which are run in CI. -- `./img` - static assets for use in `.md` files - -## Building - -To build this codebase you will need: - -- `rust` -- `node` -- `yarn` -- `cmake` -- `cmocka` - -You will also need to install the following with `cargo install` - -- `wasm-bindgen-cli` -- `wasm-opt` -- `cargo-deny` - -And ensure you have added the `wasm32-unknown-unknown` target for rust cross-compilation. - -The various subprojects (the rust code, the wrapper projects) have their own -build instructions, but to run the tests that will be run in CI you can run -`./scripts/ci/run`. - -### For macOS - -These instructions worked to build locally on macOS 13.1 (arm64) as of -Nov 29th 2022. - -```bash -# clone the repo -git clone https://github.com/automerge/automerge-rs -cd automerge-rs - -# install rustup -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - -# install homebrew -/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - -# install cmake, node, cmocka -brew install cmake node cmocka - -# install yarn -npm install --global yarn - -# install javascript dependencies -yarn --cwd ./javascript - -# install rust dependencies -cargo install wasm-bindgen-cli wasm-opt cargo-deny - -# get nightly rust to produce optimized automerge-c builds -rustup toolchain install nightly -rustup component add rust-src --toolchain nightly - -# add wasm target in addition to current architecture -rustup target add wasm32-unknown-unknown - -# Run ci script -./scripts/ci/run -``` - -If your build fails to find `cmocka.h` you may need to teach it about homebrew's -installation location: - -``` -export CPATH=/opt/homebrew/include -export LIBRARY_PATH=/opt/homebrew/lib -./scripts/ci/run -``` - -## Contributing - -Please try and split your changes up into relatively independent commits which -change one subsystem at a time and add good commit messages which describe what -the change is and why you're making it (err on the side of longer commit -messages). `git blame` should give future maintainers a good idea of why -something is the way it is. diff --git a/automerge/all.html b/automerge/all.html new file mode 100644 index 00000000..0bcd21ea --- /dev/null +++ b/automerge/all.html @@ -0,0 +1,2 @@ +List of all items in this crate
\ No newline at end of file diff --git a/automerge/autocommit/struct.AutoCommitWithObs.html b/automerge/autocommit/struct.AutoCommitWithObs.html new file mode 100644 index 00000000..b7620863 --- /dev/null +++ b/automerge/autocommit/struct.AutoCommitWithObs.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.AutoCommitWithObs.html...

+ + + \ No newline at end of file diff --git a/automerge/autocommit/type.AutoCommit.html b/automerge/autocommit/type.AutoCommit.html new file mode 100644 index 00000000..56d50e70 --- /dev/null +++ b/automerge/autocommit/type.AutoCommit.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/type.AutoCommit.html...

+ + + \ No newline at end of file diff --git a/automerge/automerge/enum.OnPartialLoad.html b/automerge/automerge/enum.OnPartialLoad.html new file mode 100644 index 00000000..c0993073 --- /dev/null +++ b/automerge/automerge/enum.OnPartialLoad.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.OnPartialLoad.html...

+ + + \ No newline at end of file diff --git a/automerge/automerge/struct.Automerge.html b/automerge/automerge/struct.Automerge.html new file mode 100644 index 00000000..6a913d70 --- /dev/null +++ b/automerge/automerge/struct.Automerge.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.Automerge.html...

+ + + \ No newline at end of file diff --git a/automerge/autoserde/struct.AutoSerde.html b/automerge/autoserde/struct.AutoSerde.html new file mode 100644 index 00000000..bd465c19 --- /dev/null +++ b/automerge/autoserde/struct.AutoSerde.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.AutoSerde.html...

+ + + \ No newline at end of file diff --git a/automerge/change/enum.LoadError.html b/automerge/change/enum.LoadError.html new file mode 100644 index 00000000..6cce15c4 --- /dev/null +++ b/automerge/change/enum.LoadError.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.LoadChangeError.html...

+ + + \ No newline at end of file diff --git a/automerge/change/struct.Change.html b/automerge/change/struct.Change.html new file mode 100644 index 00000000..3e7cf602 --- /dev/null +++ b/automerge/change/struct.Change.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.Change.html...

+ + + \ No newline at end of file diff --git a/automerge/constant.ROOT.html b/automerge/constant.ROOT.html new file mode 100644 index 00000000..e0fb4034 --- /dev/null +++ b/automerge/constant.ROOT.html @@ -0,0 +1,3 @@ +ROOT in automerge - Rust

Constant automerge::ROOT

source ·
pub const ROOT: ObjId;
Expand description

The object ID for the root map of a document

+
\ No newline at end of file diff --git a/automerge/enum.AutomergeError.html b/automerge/enum.AutomergeError.html new file mode 100644 index 00000000..5c4ccf74 --- /dev/null +++ b/automerge/enum.AutomergeError.html @@ -0,0 +1,39 @@ +AutomergeError in automerge - Rust
pub enum AutomergeError {
+
Show 22 variants ChangeGraph(MissingDep), + Deflate(Error), + DuplicateSeqNumber(u64ActorId), + EmptyStringKey, + Fail, + InvalidActorId(String), + InvalidChangeHashBytes(InvalidChangeHashSlice), + InvalidCharacter(usize), + InvalidHash(ChangeHash), + InvalidIndex(usize), + InvalidObjId(String), + InvalidObjIdFormat(String), + InvalidOp(ObjType), + InvalidSeq(u64), + InvalidValueType { + expected: String, + unexpected: String, + }, + Load(LoadError), + LoadChangeError(LoadChangeError), + MissingCounter, + MissingHash(ChangeHash), + MissingDeps, + NonChangeCompressed, + NotAnObject, +
}

Variants§

§

ChangeGraph(MissingDep)

§

Deflate(Error)

§

DuplicateSeqNumber(u64ActorId)

§

EmptyStringKey

§

Fail

§

InvalidActorId(String)

§

InvalidChangeHashBytes(InvalidChangeHashSlice)

§

InvalidCharacter(usize)

§

InvalidHash(ChangeHash)

§

InvalidIndex(usize)

§

InvalidObjId(String)

§

InvalidObjIdFormat(String)

§

InvalidOp(ObjType)

§

InvalidSeq(u64)

§

InvalidValueType

Fields

§expected: String
§unexpected: String
§

Load(LoadError)

§

LoadChangeError(LoadChangeError)

§

MissingCounter

§

MissingHash(ChangeHash)

§

MissingDeps

§

NonChangeCompressed

§

NotAnObject

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.LoadChangeError.html b/automerge/enum.LoadChangeError.html new file mode 100644 index 00000000..f558b3b6 --- /dev/null +++ b/automerge/enum.LoadChangeError.html @@ -0,0 +1,15 @@ +LoadChangeError in automerge - Rust
pub enum LoadChangeError {
+    Parse(Box<dyn Error + Send + Sync + 'static>),
+    LeftoverData,
+    WrongChunkType,
+}

Variants§

§

Parse(Box<dyn Error + Send + Sync + 'static>)

§

LeftoverData

§

WrongChunkType

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.ObjId.html b/automerge/enum.ObjId.html new file mode 100644 index 00000000..0789bbf8 --- /dev/null +++ b/automerge/enum.ObjId.html @@ -0,0 +1,23 @@ +ObjId in automerge - Rust

Enum automerge::ObjId

source ·
pub enum ObjId {
+    Root,
+    Id(u64ActorIdusize),
+}
Expand description

An identifier for an object in a document

+

This can be persisted using to_bytes and TryFrom<&[u8]> breaking changes to the +serialization format will be considered breaking changes for this library version.

+

Variants§

§

Root

§

Id(u64ActorIdusize)

Implementations§

Serialize this object ID to a byte array.

+

This serialization format is versioned and incompatible changes to it will be considered a +breaking change for the version of this library.

+

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.ObjIdFromBytesError.html b/automerge/enum.ObjIdFromBytesError.html new file mode 100644 index 00000000..4ed5381f --- /dev/null +++ b/automerge/enum.ObjIdFromBytesError.html @@ -0,0 +1,19 @@ +ObjIdFromBytesError in automerge - Rust
pub enum ObjIdFromBytesError {
+    NoVersion,
+    InvalidVersion(u8),
+    InvalidType(u8),
+    ParseActorLen(String),
+    ParseActor,
+    ParseCounter(String),
+    ParseActorIdxHint(String),
+}

Variants§

§

NoVersion

§

InvalidVersion(u8)

§

InvalidType(u8)

§

ParseActorLen(String)

§

ParseActor

§

ParseCounter(String)

§

ParseActorIdxHint(String)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.ObjType.html b/automerge/enum.ObjType.html new file mode 100644 index 00000000..93910894 --- /dev/null +++ b/automerge/enum.ObjType.html @@ -0,0 +1,22 @@ +ObjType in automerge - Rust

Enum automerge::ObjType

source ·
pub enum ObjType {
+    Map,
+    Table,
+    List,
+    Text,
+}
Expand description

The type of an object

+

Variants§

§

Map

A map

+
§

Table

Retained for backwards compatibility, tables are identical to maps

+
§

List

A sequence of arbitrary values

+
§

Text

A sequence of characters

+

Implementations§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.OnPartialLoad.html b/automerge/enum.OnPartialLoad.html new file mode 100644 index 00000000..8a886703 --- /dev/null +++ b/automerge/enum.OnPartialLoad.html @@ -0,0 +1,18 @@ +OnPartialLoad in automerge - Rust
pub enum OnPartialLoad {
+    Ignore,
+    Error,
+}
Expand description

What to do when loading a document partially succeeds

+

Variants§

§

Ignore

Ignore the error and return the loaded changes

+
§

Error

Fail the entire load

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.OpType.html b/automerge/enum.OpType.html new file mode 100644 index 00000000..50525e99 --- /dev/null +++ b/automerge/enum.OpType.html @@ -0,0 +1,17 @@ +OpType in automerge - Rust

Enum automerge::OpType

source ·
pub enum OpType {
+    Make(ObjType),
+    Delete,
+    Increment(i64),
+    Put(ScalarValue),
+}

Variants§

§

Make(ObjType)

§

Delete

§

Increment(i64)

§

Put(ScalarValue)

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.ParseChangeHashError.html b/automerge/enum.ParseChangeHashError.html new file mode 100644 index 00000000..7f4da4da --- /dev/null +++ b/automerge/enum.ParseChangeHashError.html @@ -0,0 +1,16 @@ +ParseChangeHashError in automerge - Rust
pub enum ParseChangeHashError {
+    HexDecode(FromHexError),
+    IncorrectLength {
+        actual: usize,
+    },
+}

Variants§

§

HexDecode(FromHexError)

§

IncorrectLength

Fields

§actual: usize

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.Prop.html b/automerge/enum.Prop.html new file mode 100644 index 00000000..b691ed39 --- /dev/null +++ b/automerge/enum.Prop.html @@ -0,0 +1,22 @@ +Prop in automerge - Rust

Enum automerge::Prop

source ·
pub enum Prop {
+    Map(String),
+    Seq(usize),
+}
Expand description

A property of an object

+

This is either a string representing a property in a map, or an integer +which is the index into a sequence

+

Variants§

§

Map(String)

A property in a map

+
§

Seq(usize)

An index into a sequence

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.ScalarValue.html b/automerge/enum.ScalarValue.html new file mode 100644 index 00000000..4e3bbf62 --- /dev/null +++ b/automerge/enum.ScalarValue.html @@ -0,0 +1,29 @@ +ScalarValue in automerge - Rust
pub enum ScalarValue {
+    Bytes(Vec<u8>),
+    Str(SmolStr),
+    Int(i64),
+    Uint(u64),
+    F64(f64),
+    Counter(Counter),
+    Timestamp(i64),
+    Boolean(bool),
+    Unknown {
+        type_code: u8,
+        bytes: Vec<u8>,
+    },
+    Null,
+}
Expand description

A value which is not a composite value

+

Variants§

§

Bytes(Vec<u8>)

§

Str(SmolStr)

§

Int(i64)

§

Uint(u64)

§

F64(f64)

§

Counter(Counter)

§

Timestamp(i64)

§

Boolean(bool)

§

Unknown

Fields

§type_code: u8
§bytes: Vec<u8>

A value from a future version of automerge

+
§

Null

Implementations§

If this value can be coerced to an i64, return the i64 value

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.TextEncoding.html b/automerge/enum.TextEncoding.html new file mode 100644 index 00000000..c4153506 --- /dev/null +++ b/automerge/enum.TextEncoding.html @@ -0,0 +1,22 @@ +TextEncoding in automerge - Rust
pub enum TextEncoding {
+    Utf8,
+    Utf16,
+}
Expand description

How indexes into text sequeces are calculated

+

Automerge text objects are internally sequences of utf8 characters. This +means that in environments (such as javascript) which use a different +encoding the indexes into the text sequence will be different. This enum +represents the different ways indexes can be calculated.

+

Variants§

§

Utf8

The indexes are calculated using the utf8 encoding

+
§

Utf16

The indexes are calculated using the utf16 encoding

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/enum.Value.html b/automerge/enum.Value.html new file mode 100644 index 00000000..465dce87 --- /dev/null +++ b/automerge/enum.Value.html @@ -0,0 +1,19 @@ +Value in automerge - Rust

Enum automerge::Value

source ·
pub enum Value<'a> {
+    Object(ObjType),
+    Scalar(Cow<'a, ScalarValue>),
+}
Expand description

The type of values in an automerge document

+

Variants§

§

Object(ObjType)

An composite object of type ObjType

+
§

Scalar(Cow<'a, ScalarValue>)

A non composite value

+

Implementations§

If this value can be coerced to an i64, return the i64 value

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/error/enum.AutomergeError.html b/automerge/error/enum.AutomergeError.html new file mode 100644 index 00000000..093c2eca --- /dev/null +++ b/automerge/error/enum.AutomergeError.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.AutomergeError.html...

+ + + \ No newline at end of file diff --git a/automerge/error/struct.InvalidActorId.html b/automerge/error/struct.InvalidActorId.html new file mode 100644 index 00000000..03deb625 --- /dev/null +++ b/automerge/error/struct.InvalidActorId.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.InvalidActorId.html...

+ + + \ No newline at end of file diff --git a/automerge/error/struct.InvalidChangeHashSlice.html b/automerge/error/struct.InvalidChangeHashSlice.html new file mode 100644 index 00000000..73401372 --- /dev/null +++ b/automerge/error/struct.InvalidChangeHashSlice.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.InvalidChangeHashSlice.html...

+ + + \ No newline at end of file diff --git a/automerge/exid/enum.ExId.html b/automerge/exid/enum.ExId.html new file mode 100644 index 00000000..ec916fce --- /dev/null +++ b/automerge/exid/enum.ExId.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.ObjId.html...

+ + + \ No newline at end of file diff --git a/automerge/exid/enum.ObjIdFromBytesError.html b/automerge/exid/enum.ObjIdFromBytesError.html new file mode 100644 index 00000000..c203e917 --- /dev/null +++ b/automerge/exid/enum.ObjIdFromBytesError.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.ObjIdFromBytesError.html...

+ + + \ No newline at end of file diff --git a/automerge/index.html b/automerge/index.html new file mode 100644 index 00000000..12cd40a5 --- /dev/null +++ b/automerge/index.html @@ -0,0 +1,153 @@ +automerge - Rust

Crate automerge

source ·
Expand description

Automerge

+

Automerge is a library of data structures for building collaborative, +local-first applications. The +idea of automerge is to provide a data structure which is quite general, +- consisting of nested key/value maps and/or lists - which can be modified +entirely locally but which can at any time be merged with other instances of +the same data structure.

+

In addition to the core data structure (which we generally refer to as a +“document”), we also provide an implementation of a sync protocol (in +crate::sync) which can be used over any reliable in-order transport; and +an efficient binary storage format.

+

This crate is organised around two representations of a document - +Automerge and AutoCommit. The difference between the two is that +AutoCommit manages transactions for you. Both of these representations +implement ReadDoc for reading values from a document and +sync::SyncDoc for taking part in the sync protocol. AutoCommit +directly implements transaction::Transactable for making changes to a +document, whilst Automerge requires you to explicitly create a +transaction::Transaction.

+

NOTE: The API this library provides for modifying data is quite low level +(somewhat analogous to directly creating JSON values rather than using +serde derive macros or equivalent). If you’re writing a Rust application which uses automerge +you may want to look at autosurgeon.

+

Data Model

+

An automerge document is a map from strings to values +(Value) where values can be either

+
    +
  • A nested composite value which is either + +
  • +
  • A primitive value (ScalarValue) which is one of +
      +
    • A string
    • +
    • A 64 bit floating point number
    • +
    • A signed 64 bit integer
    • +
    • An unsigned 64 bit integer
    • +
    • A boolean
    • +
    • A counter object (a 64 bit integer which merges by addition) +(ScalarValue::Counter)
    • +
    • A timestamp (a 64 bit integer which is milliseconds since the unix epoch)
    • +
    +
  • +
+

All composite values have an ID (ObjId) which is created when the value +is inserted into the document or is the root object ID ROOT. Values in +the document are then referred to by the pair (object ID, key). The +key is represented by the Prop type and is either a string for a maps, +or an index for sequences.

+

Conflicts

+

There are some things automerge cannot merge sensibly. For example, two +actors concurrently setting the key “name” to different values. In this case +automerge will pick a winning value in a random but deterministic way, but +the conflicting value is still available via the ReadDoc::get_all method.

+

Change hashes and historical values

+

Like git, points in the history of a document are identified by hash. Unlike +git there can be multiple hashes representing a particular point (because +automerge supports concurrent changes). These hashes can be obtained using +either Automerge::get_heads or AutoCommit::get_heads (note these +methods are not part of ReadDoc because in the case of AutoCommit it +requires a mutable reference to the document).

+

These hashes can be used to read values from the document at a particular +point in history using the various *_at methods on ReadDoc which take a +slice of ChangeHash as an argument.

+

Actor IDs

+

Any change to an automerge document is made by an actor, represented by an +ActorId. An actor ID is any random sequence of bytes but each change by +the same actor ID must be sequential. This often means you will want to +maintain at least one actor ID per device. It is fine to generate a new +actor ID for each change, but be aware that each actor ID takes up space in +a document so if you expect a document to be long lived and/or to have many +changes then you should try to reuse actor IDs where possible.

+

Text Encoding

+

Both Automerge and AutoCommit provide a with_encoding method which +allows you to specify the crate::TextEncoding which is used for +interpreting the indexes passed to methods like ReadDoc::list_range or +transaction::Transactable::splice. The default encoding is UTF-8, but +you can switch to UTF-16.

+

Sync Protocol

+

See the sync module.

+

Serde serialization

+

Sometimes you just want to get the JSON value of an automerge document. For +this you can use AutoSerde, which implements serde::Serialize for an +automerge document.

+

Example

+

Let’s create a document representing an address book.

+ +
use automerge::{ObjType, AutoCommit, transaction::Transactable, ReadDoc};
+
+let mut doc = AutoCommit::new();
+
+// `put_object` creates a nested object in the root key/value map and
+// returns the ID of the new object, in this case a list.
+let contacts = doc.put_object(automerge::ROOT, "contacts", ObjType::List)?;
+
+// Now we can insert objects into the list
+let alice = doc.insert_object(&contacts, 0, ObjType::Map)?;
+
+// Finally we can set keys in the "alice" map
+doc.put(&alice, "name", "Alice")?;
+doc.put(&alice, "email", "alice@example.com")?;
+
+// Create another contact
+let bob = doc.insert_object(&contacts, 1, ObjType::Map)?;
+doc.put(&bob, "name", "Bob")?;
+doc.put(&bob, "email", "bob@example.com")?;
+
+// Now we save the address book, we can put this in a file
+let data: Vec<u8> = doc.save();
+

Now modify this document on two separate devices and merge the modifications.

+ +
use std::borrow::Cow;
+use automerge::{ObjType, AutoCommit, transaction::Transactable, ReadDoc};
+
+
+// Load the document on the first device and change alices email
+let mut doc1 = AutoCommit::load(&saved)?;
+let contacts = match doc1.get(automerge::ROOT, "contacts")? {
+    Some((automerge::Value::Object(ObjType::List), contacts)) => contacts,
+    _ => panic!("contacts should be a list"),
+};
+let alice = match doc1.get(&contacts, 0)? {
+   Some((automerge::Value::Object(ObjType::Map), alice)) => alice,
+   _ => panic!("alice should be a map"),
+};
+doc1.put(&alice, "email", "alicesnewemail@example.com")?;
+
+
+// Load the document on the second device and change bobs name
+let mut doc2 = AutoCommit::load(&saved)?;
+let contacts = match doc2.get(automerge::ROOT, "contacts")? {
+   Some((automerge::Value::Object(ObjType::List), contacts)) => contacts,
+   _ => panic!("contacts should be a list"),
+};
+let bob = match doc2.get(&contacts, 1)? {
+  Some((automerge::Value::Object(ObjType::Map), bob)) => bob,
+  _ => panic!("bob should be a map"),
+};
+doc2.put(&bob, "name", "Robert")?;
+
+// Finally, we can merge the changes from the two devices
+doc1.merge(&mut doc2)?;
+let bobsname: Option<automerge::Value> = doc1.get(&bob, "name")?.map(|(v, _)| v);
+assert_eq!(bobsname, Some(automerge::Value::Scalar(Cow::Owned("Robert".into()))));
+
+let alices_email: Option<automerge::Value> = doc1.get(&alice, "email")?.map(|(v, _)| v);
+assert_eq!(alices_email, Some(automerge::Value::Scalar(Cow::Owned("alicesnewemail@example.com".into()))));
+

Re-exports

pub use op_observer::OpObserver;
pub use op_observer::Patch;
pub use op_observer::VecOpObserver;

Modules

Structs

An actor id is a sequence of bytes. By default we use a uuid which can be nicely stack +allocated.
An automerge document that automatically manages transactions.
A wrapper type which implements serde::Serialize for a ReadDoc.
An automerge document which does not manage transactions for you.
The sha256 hash of a change.
A change represents a group of operations performed by an actor.
An iterator over the keys of an object
An iterator over the keys of an object at a particular point in history
An iterator over the elements of a list object
An iterator over the elements of a list object at a particular set of heads
An iterator over the keys and values of a map object
An iterator over the keys and values of a map object as at a particuar heads
A component of a path to an object
An iterator over the “parents” of an object
An iterator over the values in an object

Enums

An identifier for an object in a document
The type of an object
What to do when loading a document partially succeeds
A property of an object
A value which is not a composite value
How indexes into text sequeces are calculated
The type of values in an automerge document

Constants

The object ID for the root map of a document

Traits

Methods for reading values from an automerge document

Type Definitions

An autocommit document with no observer
\ No newline at end of file diff --git a/automerge/keys/struct.Keys.html b/automerge/keys/struct.Keys.html new file mode 100644 index 00000000..ffd22e57 --- /dev/null +++ b/automerge/keys/struct.Keys.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.Keys.html...

+ + + \ No newline at end of file diff --git a/automerge/keys_at/struct.KeysAt.html b/automerge/keys_at/struct.KeysAt.html new file mode 100644 index 00000000..2941fc50 --- /dev/null +++ b/automerge/keys_at/struct.KeysAt.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.KeysAt.html...

+ + + \ No newline at end of file diff --git a/automerge/legacy/struct.Change.html b/automerge/legacy/struct.Change.html new file mode 100644 index 00000000..42301e4c --- /dev/null +++ b/automerge/legacy/struct.Change.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.ExpandedChange.html...

+ + + \ No newline at end of file diff --git a/automerge/list_range/struct.ListRange.html b/automerge/list_range/struct.ListRange.html new file mode 100644 index 00000000..8e712de4 --- /dev/null +++ b/automerge/list_range/struct.ListRange.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.ListRange.html...

+ + + \ No newline at end of file diff --git a/automerge/list_range_at/struct.ListRangeAt.html b/automerge/list_range_at/struct.ListRangeAt.html new file mode 100644 index 00000000..2ee0de2e --- /dev/null +++ b/automerge/list_range_at/struct.ListRangeAt.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.ListRangeAt.html...

+ + + \ No newline at end of file diff --git a/automerge/map_range/struct.MapRange.html b/automerge/map_range/struct.MapRange.html new file mode 100644 index 00000000..7c8ff60b --- /dev/null +++ b/automerge/map_range/struct.MapRange.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.MapRange.html...

+ + + \ No newline at end of file diff --git a/automerge/map_range_at/struct.MapRangeAt.html b/automerge/map_range_at/struct.MapRangeAt.html new file mode 100644 index 00000000..5c627ef4 --- /dev/null +++ b/automerge/map_range_at/struct.MapRangeAt.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.MapRangeAt.html...

+ + + \ No newline at end of file diff --git a/automerge/op_observer/compose/fn.compose.html b/automerge/op_observer/compose/fn.compose.html new file mode 100644 index 00000000..4f72b828 --- /dev/null +++ b/automerge/op_observer/compose/fn.compose.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/op_observer/fn.compose.html...

+ + + \ No newline at end of file diff --git a/automerge/op_observer/enum.Patch.html b/automerge/op_observer/enum.Patch.html new file mode 100644 index 00000000..c576ddbb --- /dev/null +++ b/automerge/op_observer/enum.Patch.html @@ -0,0 +1,85 @@ +Patch in automerge::op_observer - Rust
pub enum Patch {
+    Put {
+        path: Vec<(ExId, Prop)>,
+        obj: ExId,
+        prop: Prop,
+        value: (Value<'static>, ExId),
+        conflict: bool,
+    },
+    Expose {
+        path: Vec<(ExId, Prop)>,
+        obj: ExId,
+        prop: Prop,
+        value: (Value<'static>, ExId),
+        conflict: bool,
+    },
+    Insert {
+        path: Vec<(ExId, Prop)>,
+        obj: ExId,
+        index: usize,
+        value: (Value<'static>, ExId),
+    },
+    Splice {
+        path: Vec<(ExId, Prop)>,
+        obj: ExId,
+        index: usize,
+        value: String,
+    },
+    Increment {
+        path: Vec<(ExId, Prop)>,
+        obj: ExId,
+        prop: Prop,
+        value: (i64, ExId),
+    },
+    Delete {
+        path: Vec<(ExId, Prop)>,
+        obj: ExId,
+        prop: Prop,
+        num: usize,
+    },
+}
Expand description

A notification to the application that something has changed in a document.

+

Variants§

§

Put

Fields

§path: Vec<(ExId, Prop)>

path to the object

+
§obj: ExId

The object that was put into.

+
§prop: Prop

The prop that the new value was put at.

+
§value: (Value<'static>, ExId)

The value that was put, and the id of the operation that put it there.

+
§conflict: bool

Whether this put conflicts with another.

+

Associating a new value with a prop in a map, or an existing list element

+
§

Expose

Fields

§path: Vec<(ExId, Prop)>

path to the object

+
§obj: ExId

The object that was put into.

+
§prop: Prop

The prop that the new value was put at.

+
§value: (Value<'static>, ExId)

The value that was put, and the id of the operation that put it there.

+
§conflict: bool

Whether this put conflicts with another.

+

Exposing (via delete) an old but conflicted value with a prop in a map, or a list element

+
§

Insert

Fields

§path: Vec<(ExId, Prop)>

path to the object

+
§obj: ExId

The object that was inserted into.

+
§index: usize

The index that the new value was inserted at.

+
§value: (Value<'static>, ExId)

The value that was inserted, and the id of the operation that inserted it there.

+

Inserting a new element into a list

+
§

Splice

Fields

§path: Vec<(ExId, Prop)>

path to the object

+
§obj: ExId

The object that was inserted into.

+
§index: usize

The index that the new value was inserted at.

+
§value: String

The value that was spliced

+

Splicing a text object

+
§

Increment

Fields

§path: Vec<(ExId, Prop)>

path to the object

+
§obj: ExId

The object that was incremented in.

+
§prop: Prop

The prop that was incremented.

+
§value: (i64, ExId)

The amount that the counter was incremented by, and the id of the operation that +did the increment.

+

Incrementing a counter.

+
§

Delete

Fields

§path: Vec<(ExId, Prop)>

path to the object

+
§obj: ExId

The object that was deleted from.

+
§prop: Prop

The prop that was deleted.

+
§num: usize

number of items deleted (for seq)

+

Deleting an element from a list/text

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/op_observer/fn.compose.html b/automerge/op_observer/fn.compose.html new file mode 100644 index 00000000..12a871a1 --- /dev/null +++ b/automerge/op_observer/fn.compose.html @@ -0,0 +1,2 @@ +compose in automerge::op_observer - Rust

Function automerge::op_observer::compose

source ·
pub fn compose<'a, O1: OpObserver, O2: OpObserver>(
    obs1: &'a mut O1,
    obs2: &'a mut O2
) -> impl OpObserver + 'a
\ No newline at end of file diff --git a/automerge/op_observer/index.html b/automerge/op_observer/index.html new file mode 100644 index 00000000..b3e02243 --- /dev/null +++ b/automerge/op_observer/index.html @@ -0,0 +1,2 @@ +automerge::op_observer - Rust

Module automerge::op_observer

source ·

Structs

Capture operations into a Vec and store them as patches.

Enums

A notification to the application that something has changed in a document.

Traits

An observer which can be branched
An observer of operations applied to the document.

Functions

\ No newline at end of file diff --git a/automerge/op_observer/sidebar-items.js b/automerge/op_observer/sidebar-items.js new file mode 100644 index 00000000..d1627d9e --- /dev/null +++ b/automerge/op_observer/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":[["Patch","A notification to the application that something has changed in a document."]],"fn":[["compose",""]],"struct":[["VecOpObserver","Capture operations into a [`Vec`] and store them as patches."]],"trait":[["BranchableObserver","An observer which can be branched"],["OpObserver","An observer of operations applied to the document."]]}; \ No newline at end of file diff --git a/automerge/op_observer/struct.VecOpObserver.html b/automerge/op_observer/struct.VecOpObserver.html new file mode 100644 index 00000000..4534c8b3 --- /dev/null +++ b/automerge/op_observer/struct.VecOpObserver.html @@ -0,0 +1,15 @@ +VecOpObserver in automerge::op_observer - Rust
pub struct VecOpObserver { /* private fields */ }
Expand description

Capture operations into a Vec and store them as patches.

+

Implementations§

Take the current list of patches, leaving the internal list empty and ready for new +patches.

+

Trait Implementations§

Merge observed information from a transaction. Read more
Branch of a new op_observer later to be merged Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
A new value has been inserted into the given object. Read more
Some text has been spliced into a text object
A new value has been put into the given object. Read more
When a delete op exposes a previously conflicted value +Similar to a put op - except for maps, lists and text, edits +may already exist and need to be queried Read more
A counter has been incremented. Read more
A map value has beeen deleted. Read more
A one or more list values have beeen deleted. Read more
Flag a new conflict on a value without changing it Read more
A map value has beeen deleted. Read more
Whether to call sequence methods or splice_text when encountering changes in text Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/op_observer/trait.BranchableObserver.html b/automerge/op_observer/trait.BranchableObserver.html new file mode 100644 index 00000000..695ac3c3 --- /dev/null +++ b/automerge/op_observer/trait.BranchableObserver.html @@ -0,0 +1,17 @@ +BranchableObserver in automerge::op_observer - Rust
pub trait BranchableObserver {
+    fn branch(&self) -> Self;
+    fn merge(&mut self, other: &Self);
+}
Expand description

An observer which can be branched

+

This is used when observing operations in a transaction. In this case branch will be called +at the beginning of the transaction to return a new observer and then merge will be called +with the branched observer as other when the transaction is comitted.

+

Required Methods§

Branch of a new op_observer later to be merged

+

Called when creating a new transaction. Observer branch will be merged on commit() or +thrown away on rollback()

+

Merge observed information from a transaction.

+

Called by AutoCommit on commit()

+
    +
  • other: Another Op Observer of the same type
  • +
+

Implementations on Foreign Types§

Implementors§

\ No newline at end of file diff --git a/automerge/op_observer/trait.OpObserver.html b/automerge/op_observer/trait.OpObserver.html new file mode 100644 index 00000000..7d4dee46 --- /dev/null +++ b/automerge/op_observer/trait.OpObserver.html @@ -0,0 +1,79 @@ +OpObserver in automerge::op_observer - Rust
pub trait OpObserver {
+    fn insert<R: ReadDoc>(
        &mut self,
        doc: &R,
        objid: ExId,
        index: usize,
        tagged_value: (Value<'_>, ExId)
    ); + fn splice_text<R: ReadDoc>(
        &mut self,
        _doc: &R,
        _objid: ExId,
        _index: usize,
        _value: &str
    ); + fn put<R: ReadDoc>(
        &mut self,
        doc: &R,
        objid: ExId,
        prop: Prop,
        tagged_value: (Value<'_>, ExId),
        conflict: bool
    ); + fn expose<R: ReadDoc>(
        &mut self,
        doc: &R,
        objid: ExId,
        prop: Prop,
        tagged_value: (Value<'_>, ExId),
        conflict: bool
    ); + fn increment<R: ReadDoc>(
        &mut self,
        doc: &R,
        objid: ExId,
        prop: Prop,
        tagged_value: (i64, ExId)
    ); + fn delete_map<R: ReadDoc>(&mut self, doc: &R, objid: ExId, key: &str); + fn delete_seq<R: ReadDoc>(
        &mut self,
        doc: &R,
        objid: ExId,
        index: usize,
        num: usize
    ); + + fn flag_conflict<R: ReadDoc>(&mut self, _doc: &R, _objid: ExId, _prop: Prop) { ... } + fn delete<R: ReadDoc>(&mut self, doc: &R, objid: ExId, prop: Prop) { ... } + fn text_as_seq(&self) -> bool { ... } +}
Expand description

An observer of operations applied to the document.

+

Required Methods§

A new value has been inserted into the given object.

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that has been inserted into.
  • +
  • index: the index the new value has been inserted at.
  • +
  • tagged_value: the value that has been inserted and the id of the operation that did the +insert.
  • +
+

Some text has been spliced into a text object

+

A new value has been put into the given object.

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that has been put into.
  • +
  • prop: the prop that the value as been put at.
  • +
  • tagged_value: the value that has been put into the object and the id of the operation +that did the put.
  • +
  • conflict: whether this put conflicts with other operations.
  • +
+

When a delete op exposes a previously conflicted value +Similar to a put op - except for maps, lists and text, edits +may already exist and need to be queried

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that has been put into.
  • +
  • prop: the prop that the value as been put at.
  • +
  • tagged_value: the value that has been put into the object and the id of the operation +that did the put.
  • +
  • conflict: whether this put conflicts with other operations.
  • +
+

A counter has been incremented.

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that contains the counter.
  • +
  • prop: they prop that the chounter is at.
  • +
  • tagged_value: the amount the counter has been incremented by, and the the id of the +increment operation.
  • +
+

A map value has beeen deleted.

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that has been deleted in.
  • +
  • key: the map key to be deleted
  • +
+

A one or more list values have beeen deleted.

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that has been deleted in.
  • +
  • index: the index of the deletion
  • +
  • num: the number of sequential elements deleted
  • +
+

Provided Methods§

Flag a new conflict on a value without changing it

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that has been put into.
  • +
  • prop: the prop that the value as been put at.
  • +
+

A map value has beeen deleted.

+
    +
  • doc: a handle to the doc after the op has been inserted, can be used to query information
  • +
  • objid: the object that has been deleted in.
  • +
  • prop: the prop to be deleted
  • +
+

Whether to call sequence methods or splice_text when encountering changes in text

+

Returns false by default

+

Implementations on Foreign Types§

Implementors§

\ No newline at end of file diff --git a/automerge/parents/struct.Parent.html b/automerge/parents/struct.Parent.html new file mode 100644 index 00000000..218a0033 --- /dev/null +++ b/automerge/parents/struct.Parent.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.Parent.html...

+ + + \ No newline at end of file diff --git a/automerge/parents/struct.Parents.html b/automerge/parents/struct.Parents.html new file mode 100644 index 00000000..878f378f --- /dev/null +++ b/automerge/parents/struct.Parents.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.Parents.html...

+ + + \ No newline at end of file diff --git a/automerge/read/trait.ReadDoc.html b/automerge/read/trait.ReadDoc.html new file mode 100644 index 00000000..6537ba22 --- /dev/null +++ b/automerge/read/trait.ReadDoc.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/trait.ReadDoc.html...

+ + + \ No newline at end of file diff --git a/automerge/sidebar-items.js b/automerge/sidebar-items.js new file mode 100644 index 00000000..650bde6c --- /dev/null +++ b/automerge/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"constant":[["ROOT","The object ID for the root map of a document"]],"enum":[["AutomergeError",""],["LoadChangeError",""],["ObjId","An identifier for an object in a document"],["ObjIdFromBytesError",""],["ObjType","The type of an object"],["OnPartialLoad","What to do when loading a document partially succeeds"],["OpType",""],["ParseChangeHashError",""],["Prop","A property of an object"],["ScalarValue","A value which is not a composite value"],["TextEncoding","How indexes into text sequeces are calculated"],["Value","The type of values in an automerge document"]],"mod":[["op_observer",""],["sync","Sync Protocol"],["transaction",""]],"struct":[["ActorId","An actor id is a sequence of bytes. By default we use a uuid which can be nicely stack allocated."],["AutoCommitWithObs","An automerge document that automatically manages transactions."],["AutoSerde","A wrapper type which implements [`serde::Serialize`] for a [`ReadDoc`]."],["Automerge","An automerge document which does not manage transactions for you."],["Change",""],["ChangeHash","The sha256 hash of a change."],["ExpandedChange","A change represents a group of operations performed by an actor."],["InvalidActorId",""],["InvalidChangeHashSlice",""],["Keys","An iterator over the keys of an object"],["KeysAt","An iterator over the keys of an object at a particular point in history"],["ListRange","An iterator over the elements of a list object"],["ListRangeAt","An iterator over the elements of a list object at a particular set of heads"],["MapRange","An iterator over the keys and values of a map object"],["MapRangeAt","An iterator over the keys and values of a map object as at a particuar heads"],["Parent","A component of a path to an object"],["Parents","An iterator over the “parents” of an object"],["Values","An iterator over the values in an object"]],"trait":[["ReadDoc","Methods for reading values from an automerge document"]],"type":[["AutoCommit","An autocommit document with no observer"]]}; \ No newline at end of file diff --git a/automerge/struct.ActorId.html b/automerge/struct.ActorId.html new file mode 100644 index 00000000..37a5ad79 --- /dev/null +++ b/automerge/struct.ActorId.html @@ -0,0 +1,20 @@ +ActorId in automerge - Rust

Struct automerge::ActorId

source ·
pub struct ActorId(_);
Expand description

An actor id is a sequence of bytes. By default we use a uuid which can be nicely stack +allocated.

+

In the event that users want to use their own type of identifier that is longer than a uuid +then they will likely end up pushing it onto the heap which is still fine.

+

Implementations§

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
Encode the hex strict representing self into the result. Lower case +letters are used (e.g. f9b4ca)
Encode the hex strict representing self into the result. Upper case +letters are used (e.g. F9B4CA)
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.AutoCommitWithObs.html b/automerge/struct.AutoCommitWithObs.html new file mode 100644 index 00000000..094a2de5 --- /dev/null +++ b/automerge/struct.AutoCommitWithObs.html @@ -0,0 +1,84 @@ +AutoCommitWithObs in automerge - Rust
pub struct AutoCommitWithObs<Obs: Observation> { /* private fields */ }
Expand description

An automerge document that automatically manages transactions.

+

An AutoCommit can optionally manage an OpObserver. This observer will be notified of all +changes made by both remote and local changes. The type parameter O tracks whether this +document is observed or not.

+

Creating, loading, merging and forking documents

+

A new document can be created with Self::new, which will create a document with a random +ActorId. Existing documents can be loaded with Self::load.

+

If you have two documents and you want to merge the changes from one into the other you can use +Self::merge.

+

If you have a document you want to split into two concurrent threads of execution you can use +Self::fork. If you want to split a document from ealier in its history you can use +Self::fork_at.

+

Reading values

+

Self implements ReadDoc, which provides methods for reading values from the document.

+

Modifying a document

+

This type implements Transactable directly, so you can modify it using methods from Transactable.

+

Synchronization

+

To synchronise call Self::sync which returns an implementation of SyncDoc

+

Observers

+

An AutoCommit can optionally manage an OpObserver. Self::new will return a document +with no observer but you can set an observer using Self::with_observer. The observer must +implement both OpObserver and BranchableObserver. If you have an observed autocommit +then you can obtain a mutable reference to the observer with Self::observer

+

Implementations§

Change the text encoding of this view of the document

+

This is a cheap operation, it just changes the way indexes are calculated

+

Load an incremental save of a document.

+

Unlike load this imports changes into an existing document. It will work with both the +output of Self::save and Self::save_incremental

+

The return value is the number of ops which were applied, this is not useful and will +change in future.

+

Takes all the changes in other which are not in self and applies them

+

Save the entirety of this document in a compact form.

+

Save this document, but don’t run it through DEFLATE afterwards

+

Save the changes since the last call to Self::save`

+

The output of this will not be a compressed document format, but a series of individual +changes. This is useful if you know you have only made a small change since the last save +and you want to immediately send it somewhere (e.g. you’ve inserted a single character in a +text object).

+

Get the last change made by this documents actor ID

+

Get changes in other that are not in `self

+

Return a graphviz representation of the opset.

+
Arguments
+
    +
  • objects: An optional list of object IDs to display, if not specified all objects are +visualised
  • +
+

Get the current heads of the document.

+

This closes the transaction first, if one is in progress.

+

Commit any uncommitted changes

+

Returns None if there were no operations to commit

+

Commit the current operations with some options.

+

Returns None if there were no operations to commit

+ +
let mut doc = AutoCommit::new();
+doc.put_object(&ROOT, "todos", ObjType::List).unwrap();
+let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs() as
+i64;
+doc.commit_with(CommitOptions::default().with_message("Create todos list").with_time(now));
+

Remove any changes that have been made in the current transaction from the document

+

Generate an empty change

+

The main reason to do this is if you wish to create a “merge commit” which has all the +current heads of the documents as dependencies but you have no new operations to create.

+

Because this structure is an “autocommit” there may actually be outstanding operations to +submit. If this is the case this function will create two changes, one with the outstanding +operations and a new one with no operations. The returned ChangeHash will always be the +hash of the empty change.

+

An implementation of crate::sync::SyncDoc for this autocommit

+

This ensures that any outstanding transactions for this document are committed before +taking part in the sync protocol

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Get the parents of an object in the document tree. Read more
Get the path to an object Read more
Get the keys of the object obj. Read more
Get the keys of the object obj as at heads Read more
Iterate over the keys and values of the map obj in the given range. Read more
Iterate over the keys and values of the map obj in the given range as +at heads Read more
Iterate over the indexes and values of the list or text obj in the given range. Read more
Iterate over the indexes and values of the list or text obj in the given range as at heads Read more
Iterate over the values in a map, list, or text object Read more
Iterate over the values in a map, list, or text object as at heads Read more
Get the length of the given object. Read more
Get the length of the given object as at heads Read more
Get the type of this object, if it is an object.
Get the string represented by the given text object.
Get the string represented by the given text object as at heads, see +Self::text
Get a value out of the document. Read more
Get the value of the given key as at heads, see [Self::get]
Get all conflicting values out of the document at this prop that conflict. Read more
Get all possibly conflicting values for a key as at heads Read more
Get the hashes of the changes in this document that aren’t transitive dependencies of the +given heads.
Get a change by its hash.

Splice new elements into the given sequence. Returns a vector of the OpIds used to insert +the new elements

+
Get the number of pending operations in this transaction.
Set the value of property P to value V in object obj. Read more
Set the value of property P to the new object V in object obj. Read more
Insert a value into a list at the given index.
Insert an object into a list at the given index.
Increment the counter at the prop in the object by value.
Delete the value at prop in the object.
Like Self::splice but for text.
The heads this transaction will be based on

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.AutoSerde.html b/automerge/struct.AutoSerde.html new file mode 100644 index 00000000..2ce50ef1 --- /dev/null +++ b/automerge/struct.AutoSerde.html @@ -0,0 +1,19 @@ +AutoSerde in automerge - Rust

Struct automerge::AutoSerde

source ·
pub struct AutoSerde<'a, R: ReadDoc>(_);
Expand description

A wrapper type which implements serde::Serialize for a ReadDoc.

+

Example

+
use automerge::{AutoCommit, AutomergeError, Value, transaction::Transactable};
+let mut doc = AutoCommit::new();
+doc.put(automerge::ROOT, "key", "value")?;
+
+let serialized = serde_json::to_string(&automerge::AutoSerde::from(&doc)).unwrap();
+
+assert_eq!(serialized, r#"{"key":"value"}"#);
+

Trait Implementations§

Formats the value using the given formatter. Read more
Converts to this type from the input type.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.Automerge.html b/automerge/struct.Automerge.html new file mode 100644 index 00000000..2e6f0ee3 --- /dev/null +++ b/automerge/struct.Automerge.html @@ -0,0 +1,92 @@ +Automerge in automerge - Rust

Struct automerge::Automerge

source ·
pub struct Automerge { /* private fields */ }
Expand description

An automerge document which does not manage transactions for you.

+

Creating, loading, merging and forking documents

+

A new document can be created with Self::new, which will create a document with a random +ActorId. Existing documents can be loaded with Self::load, or Self::load_with.

+

If you have two documents and you want to merge the changes from one into the other you can use +Self::merge or Self::merge_with.

+

If you have a document you want to split into two concurrent threads of execution you can use +Self::fork. If you want to split a document from ealier in its history you can use +Self::fork_at.

+

Reading values

+

Self implements ReadDoc, which provides methods for reading values from the document.

+

Modifying a document (Transactions)

+

Automerge provides an interface for viewing and modifying automerge documents which does +not manage transactions for you. To create changes you use either Automerge::transaction or +Automerge::transact (or the _with variants).

+

Sync

+

This type implements crate::sync::SyncDoc

+

Observers

+

Many of the methods on this type have an _with or _observed variant +which allow you to pass in an OpObserver to observe any changes which +occur.

+

Implementations§

Create a new document with a random actor id.

+

Whether this document has any operations

+

Change the text encoding of this view of the document

+

This is a cheap operation, it just changes the way indexes are calculated

+

Set the actor id for this document.

+

Set the actor id for this document.

+

Get the current actor id of this document.

+

Start a transaction.

+

Start a transaction with an observer

+

Run a transaction on this document in a closure, automatically handling commit or rollback +afterwards.

+

Like Self::transact but with a function for generating the commit options.

+

Run a transaction on this document in a closure, observing ops with Obs, automatically handling commit or rollback +afterwards.

+

Like Self::transact_observed but with a function for generating the commit options

+

Generate an empty change

+

The main reason to do this is if you want to create a “merge commit”, which is a change +that has all the current heads of the document as dependencies.

+

Fork this document at the current point for use by a different actor.

+

This will create a new actor ID for the forked document

+

Fork this document at the given heads

+

This will create a new actor ID for the forked document

+

Load a document.

+

Load a document without verifying the head hashes

+

This is useful for debugging as it allows you to examine a corrupted document.

+

Load a document with an observer

+

Load an incremental save of a document.

+

Unlike load this imports changes into an existing document. It will work with both the +output of Self::save and Self::save_incremental

+

The return value is the number of ops which were applied, this is not useful and will +change in future.

+

Like Self::load_incremental but with an observer

+

Apply changes to this document.

+

This is idemptotent in the sense that if a change has already been applied it will be +ignored.

+

Like Self::apply_changes but with an observer

+

Takes all the changes in other which are not in self and applies them

+

Takes all the changes in other which are not in self and applies them

+

Save the entirety of this document in a compact form.

+

This takes a mutable reference to self because it saves the heads of the last save so that +save_incremental can be used to produce only the changes since the last save. This API +will be changing in future.

+

Save this document, but don’t run it through DEFLATE afterwards

+

Save the changes since the last call to Self::save`

+

The output of this will not be a compressed document format, but a series of individual +changes. This is useful if you know you have only made a small change since the last save +and you want to immediately send it somewhere (e.g. you’ve inserted a single character in a +text object).

+

Get the last change this actor made to the document.

+

Return a graphviz representation of the opset.

+
Arguments
+
    +
  • objects: An optional list of object IDs to display, if not specified all objects are +visualised
  • +
+

Get the heads of this document.

+

Get changes in other that are not in `self

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Get the parents of an object in the document tree. Read more
Get the path to an object Read more
Get the keys of the object obj. Read more
Get the keys of the object obj as at heads Read more
Iterate over the keys and values of the map obj in the given range. Read more
Iterate over the keys and values of the map obj in the given range as +at heads Read more
Iterate over the indexes and values of the list or text obj in the given range. Read more
Iterate over the indexes and values of the list or text obj in the given range as at heads Read more
Iterate over the values in a map, list, or text object Read more
Iterate over the values in a map, list, or text object as at heads Read more
Get the length of the given object. Read more
Get the length of the given object as at heads Read more
Get the type of this object, if it is an object.
Get the string represented by the given text object.
Get the string represented by the given text object as at heads, see +Self::text
Get a value out of the document. Read more
Get the value of the given key as at heads, see [Self::get]
Get all conflicting values out of the document at this prop that conflict. Read more
Get all possibly conflicting values for a key as at heads Read more
Get the hashes of the changes in this document that aren’t transitive dependencies of the +given heads.
Get a change by its hash.
Generate a sync message for the remote peer represented by sync_state Read more
Apply a received sync message to this document and sync_state
Apply a received sync message to this document and sync_state, observing any changes with +op_observer

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.Change.html b/automerge/struct.Change.html new file mode 100644 index 00000000..1627dae8 --- /dev/null +++ b/automerge/struct.Change.html @@ -0,0 +1,12 @@ +Change in automerge - Rust

Struct automerge::Change

source ·
pub struct Change { /* private fields */ }

Implementations§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.ChangeHash.html b/automerge/struct.ChangeHash.html new file mode 100644 index 00000000..4d87b85b --- /dev/null +++ b/automerge/struct.ChangeHash.html @@ -0,0 +1,17 @@ +ChangeHash in automerge - Rust

Struct automerge::ChangeHash

source ·
pub struct ChangeHash(pub [u8; 32]);
Expand description

The sha256 hash of a change.

+

Tuple Fields§

§0: [u8; 32]

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Formats the value using the given formatter. Read more
The associated error which can be returned from parsing.
Parses a string s to return a value of this type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
Encode the hex strict representing self into the result. Lower case +letters are used (e.g. f9b4ca)
Encode the hex strict representing self into the result. Upper case +letters are used (e.g. F9B4CA)
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.ExpandedChange.html b/automerge/struct.ExpandedChange.html new file mode 100644 index 00000000..c4513e43 --- /dev/null +++ b/automerge/struct.ExpandedChange.html @@ -0,0 +1,31 @@ +ExpandedChange in automerge - Rust
pub struct ExpandedChange {
+    pub operations: Vec<Op>,
+    pub actor_id: ActorId,
+    pub hash: Option<ChangeHash>,
+    pub seq: u64,
+    pub start_op: NonZeroU64,
+    pub time: i64,
+    pub message: Option<String>,
+    pub deps: Vec<ChangeHash>,
+    pub extra_bytes: Vec<u8>,
+}
Expand description

A change represents a group of operations performed by an actor.

+

Fields§

§operations: Vec<Op>

The operations performed in this change.

+
§actor_id: ActorId

The actor that performed this change.

+
§hash: Option<ChangeHash>

The hash of this change.

+
§seq: u64

The index of this change in the changes from this actor.

+
§start_op: NonZeroU64

The start operation index. Starts at 1.

+
§time: i64

The time that this change was committed.

+
§message: Option<String>

The message of this change.

+
§deps: Vec<ChangeHash>

The dependencies of this change.

+
§extra_bytes: Vec<u8>

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.InvalidActorId.html b/automerge/struct.InvalidActorId.html new file mode 100644 index 00000000..06585ba4 --- /dev/null +++ b/automerge/struct.InvalidActorId.html @@ -0,0 +1,11 @@ +InvalidActorId in automerge - Rust
pub struct InvalidActorId(pub String);

Tuple Fields§

§0: String

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.InvalidChangeHashSlice.html b/automerge/struct.InvalidChangeHashSlice.html new file mode 100644 index 00000000..46ad56cd --- /dev/null +++ b/automerge/struct.InvalidChangeHashSlice.html @@ -0,0 +1,13 @@ +InvalidChangeHashSlice in automerge - Rust
pub struct InvalidChangeHashSlice(pub Vec<u8>);

Tuple Fields§

§0: Vec<u8>

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.Keys.html b/automerge/struct.Keys.html new file mode 100644 index 00000000..828eed7d --- /dev/null +++ b/automerge/struct.Keys.html @@ -0,0 +1,144 @@ +Keys in automerge - Rust

Struct automerge::Keys

source ·
pub struct Keys<'a, 'k> { /* private fields */ }
Expand description

An iterator over the keys of an object

+

This is returned by crate::ReadDoc::keys and method. The returned item is either +the keys of a map, or the encoded element IDs of a sequence.

+

Trait Implementations§

Formats the value using the given formatter. Read more
Removes and returns an element from the end of the iterator. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
Returns the nth element from the end of the iterator. Read more
This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
Searches for an element of an iterator from the back that satisfies a predicate. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_partition_in_place)
Reorders the elements of this iterator in-place according to the given predicate, +such that all those that return true precede all those that return false. +Returns the number of true elements found. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Reverses an iterator’s direction. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.KeysAt.html b/automerge/struct.KeysAt.html new file mode 100644 index 00000000..bd6cd9d9 --- /dev/null +++ b/automerge/struct.KeysAt.html @@ -0,0 +1,144 @@ +KeysAt in automerge - Rust

Struct automerge::KeysAt

source ·
pub struct KeysAt<'a, 'k> { /* private fields */ }
Expand description

An iterator over the keys of an object at a particular point in history

+

This is returned by crate::ReadDoc::keys_at method. The returned item is either the keys of a map, +or the encoded element IDs of a sequence.

+

Trait Implementations§

Formats the value using the given formatter. Read more
Removes and returns an element from the end of the iterator. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
Returns the nth element from the end of the iterator. Read more
This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
Searches for an element of an iterator from the back that satisfies a predicate. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_partition_in_place)
Reorders the elements of this iterator in-place according to the given predicate, +such that all those that return true precede all those that return false. +Returns the number of true elements found. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Reverses an iterator’s direction. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.ListRange.html b/automerge/struct.ListRange.html new file mode 100644 index 00000000..27cf7a8c --- /dev/null +++ b/automerge/struct.ListRange.html @@ -0,0 +1,139 @@ +ListRange in automerge - Rust

Struct automerge::ListRange

source ·
pub struct ListRange<'a, R: RangeBounds<usize>> { /* private fields */ }
Expand description

An iterator over the elements of a list object

+

This is returned by the crate::ReadDoc::list_range method

+

Trait Implementations§

Formats the value using the given formatter. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Unzip this iterator into multiple collections.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.ListRangeAt.html b/automerge/struct.ListRangeAt.html new file mode 100644 index 00000000..9a3b90a5 --- /dev/null +++ b/automerge/struct.ListRangeAt.html @@ -0,0 +1,139 @@ +ListRangeAt in automerge - Rust

Struct automerge::ListRangeAt

source ·
pub struct ListRangeAt<'a, R: RangeBounds<usize>> { /* private fields */ }
Expand description

An iterator over the elements of a list object at a particular set of heads

+

This is returned by the crate::ReadDoc::list_range_at method

+

Trait Implementations§

Formats the value using the given formatter. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Unzip this iterator into multiple collections.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.MapRange.html b/automerge/struct.MapRange.html new file mode 100644 index 00000000..ffafedd8 --- /dev/null +++ b/automerge/struct.MapRange.html @@ -0,0 +1,143 @@ +MapRange in automerge - Rust

Struct automerge::MapRange

source ·
pub struct MapRange<'a, R: RangeBounds<String>> { /* private fields */ }
Expand description

An iterator over the keys and values of a map object

+

This is returned by the crate::ReadDoc::map_range method

+

Trait Implementations§

Formats the value using the given formatter. Read more
Removes and returns an element from the end of the iterator. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
Returns the nth element from the end of the iterator. Read more
This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
Searches for an element of an iterator from the back that satisfies a predicate. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_partition_in_place)
Reorders the elements of this iterator in-place according to the given predicate, +such that all those that return true precede all those that return false. +Returns the number of true elements found. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Reverses an iterator’s direction. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Unzip this iterator into multiple collections.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.MapRangeAt.html b/automerge/struct.MapRangeAt.html new file mode 100644 index 00000000..9ebd6d4b --- /dev/null +++ b/automerge/struct.MapRangeAt.html @@ -0,0 +1,143 @@ +MapRangeAt in automerge - Rust

Struct automerge::MapRangeAt

source ·
pub struct MapRangeAt<'a, R: RangeBounds<String>> { /* private fields */ }
Expand description

An iterator over the keys and values of a map object as at a particuar heads

+

This is returned by the crate::ReadDoc::map_range_at method

+

Trait Implementations§

Formats the value using the given formatter. Read more
Removes and returns an element from the end of the iterator. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator from the back by n elements. Read more
Returns the nth element from the end of the iterator. Read more
This is the reverse version of Iterator::try_fold(): it takes +elements starting from the back of the iterator. Read more
An iterator method that reduces the iterator’s elements to a single, +final value, starting from the back. Read more
Searches for an element of an iterator from the back that satisfies a predicate. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_partition_in_place)
Reorders the elements of this iterator in-place according to the given predicate, +such that all those that return true precede all those that return false. +Returns the number of true elements found. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Reverses an iterator’s direction. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Unzip this iterator into multiple collections.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.Parent.html b/automerge/struct.Parent.html new file mode 100644 index 00000000..a4769793 --- /dev/null +++ b/automerge/struct.Parent.html @@ -0,0 +1,23 @@ +Parent in automerge - Rust

Struct automerge::Parent

source ·
pub struct Parent {
+    pub obj: ExId,
+    pub prop: Prop,
+    pub visible: bool,
+}
Expand description

A component of a path to an object

+

Fields§

§obj: ExId

The object ID this component refers to

+
§prop: Prop

The property within obj this component refers to

+
§visible: bool

Whether this component is “visible”

+

An “invisible” component is one where the property is hidden, either because it has been +deleted or because there is a conflict on this (object, property) pair and this value does +not win the conflict.

+

Trait Implementations§

Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.Parents.html b/automerge/struct.Parents.html new file mode 100644 index 00000000..983c0f3a --- /dev/null +++ b/automerge/struct.Parents.html @@ -0,0 +1,146 @@ +Parents in automerge - Rust

Struct automerge::Parents

source ·
pub struct Parents<'a> { /* private fields */ }
Expand description

An iterator over the “parents” of an object

+

The “parent” of an object in this context is the (ExId, Prop) pair which specifies the +location of this object in the composite object which contains it. Each element in the iterator +is a Parent, yielded in reverse order. This means that once the iterator returns None you +have reached the root of the document.

+

This is returned by crate::ReadDoc::parents

+

Implementations§

Return the path this Parents represents

+

This is not in reverse order.

+

Like path but returns None if the target is not visible

+

Trait Implementations§

Formats the value using the given formatter. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/struct.Values.html b/automerge/struct.Values.html new file mode 100644 index 00000000..3adb5dc5 --- /dev/null +++ b/automerge/struct.Values.html @@ -0,0 +1,139 @@ +Values in automerge - Rust

Struct automerge::Values

source ·
pub struct Values<'a> { /* private fields */ }
Expand description

An iterator over the values in an object

+

This is returned by the crate::ReadDoc::values and crate::ReadDoc::values_at methods

+

Trait Implementations§

Formats the value using the given formatter. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter which, like fold, holds internal state, but +unlike fold, produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
Alternate elements from two iterators until both have run out. Read more
Alternate elements from two iterators until at least one of them has run +out. Read more
An iterator adaptor to insert a particular value +between each element of the adapted iterator. Read more
An iterator adaptor to insert a particular value created by a function +between each element of the adapted iterator. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of two optional elements. Read more
Create an iterator which iterates over both this and the specified +iterator simultaneously, yielding pairs of elements. Read more
A “meta iterator adaptor”. Its closure receives a reference to the +iterator and may pick off as many elements as it likes, to produce the +next iterator element. Read more
Return an iterable that can group iterator elements. +Consecutive elements that map to the same key (“runs”), are assigned +to the same group. Read more
Return an iterable that can chunk the iterator. Read more
Return an iterator over all contiguous windows producing tuples of +a specific size (up to 12). Read more
Return an iterator over all windows, wrapping back to the first +elements when the window would otherwise exceed the length of the +iterator, producing tuples of a specific size (up to 12). Read more
Return an iterator that groups the items in tuples of a specific size +(up to 12). Read more
Split into an iterator pair that both yield all elements from +the original iterator. Read more
👎Deprecated since 0.8.0: Use std .step_by() instead
Return an iterator adaptor that steps n elements in the base iterator +for each iteration. Read more
Convert each item of the iterator using the Into trait. Read more
👎Deprecated since 0.10.0: Use .map_ok() instead
Return an iterator adaptor that applies the provided closure +to every Result::Ok value. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters every Result::Ok +value with the provided closure. Result::Err values are +unchanged. Read more
Return an iterator adaptor that filters and transforms every +Result::Ok value with the provided closure. Result::Err +values are unchanged. Read more
Return an iterator adaptor that flattens every Result::Ok value into +a series of Result::Ok values. Result::Err values are unchanged. Read more
Return an iterator adaptor that merges the two base iterators in +ascending order. If both base iterators are sorted (ascending), the +result is sorted. Read more
Return an iterator adaptor that merges the two base iterators in order. +This is much like .merge() but allows for a custom ordering. Read more
Create an iterator that merges items from both this and the specified +iterator in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them in ascending order. Read more
Return an iterator adaptor that flattens an iterator of iterators by +merging them according to the given closure. Read more
Return an iterator adaptor that iterates over the cartesian product of +the element sets of two iterators self and J. Read more
Return an iterator adaptor that iterates over the cartesian product of +all subiterators returned by meta-iterator self. Read more
Return an iterator adaptor that uses the passed-in closure to +optionally merge together consecutive elements. Read more
Remove duplicates from sections of consecutive identical elements. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, +determining equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +If the iterator is sorted, all elements will be unique. Read more
Remove duplicates from sections of consecutive identical elements, while keeping a count of +how many repeated elements were present. +This will determine equality using a comparison function. +If the iterator is sorted, all elements will be unique. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that produces elements that appear more than once during the +iteration. Duplicates are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Duplicates +are detected using hash and equality. Read more
Return an iterator adaptor that filters out elements that have +already been produced once during the iteration. Read more
Return an iterator adaptor that borrows from this iterator and +takes items while the closure accept returns true. Read more
Return an iterator adaptor that borrows from a Clone-able iterator +to only pick off elements while the predicate accept returns true. Read more
Return an iterator adaptor that filters Option<A> iterator elements +and produces A. Stops on the first None encountered. Read more
Return an iterator adaptor that iterates over the combinations of the +elements from an iterator. Read more
Return an iterator adaptor that iterates over the k-length combinations of +the elements from an iterator. Read more
Return an iterator that iterates over the k-length combinations of +the elements from an iterator, with replacement. Read more
Return an iterator adaptor that iterates over all k-permutations of the +elements from an iterator. Read more
Return an iterator that iterates through the powerset of the elements from an +iterator. Read more
Return an iterator adaptor that pads the sequence to a minimum length of +min by filling missing elements using a closure f. Read more
Return an iterator adaptor that wraps each element in a Position to +ease special-case handling of the first or last elements. Read more
Return an iterator adaptor that yields the indices of all elements +satisfying a predicate, counted from the start of the iterator. Read more
Return an iterator adaptor that applies a mutating function +to each element before yielding it. Read more
Advances the iterator and returns the next items grouped in a tuple of +a specific size (up to 12). Read more
Collects all items from the iterator into a tuple of a specific size +(up to 12). Read more
Find the position and value of the first element satisfying a predicate. Read more
Find the value of the first element satisfying a predicate or return the last element, if any. Read more
Find the value of the first element satisfying a predicate or return the first element, if any. Read more
Returns true if the given item is present in this iterator. Read more
Check whether all elements compare equal. Read more
Check whether all elements are unique (non equal). Read more
Consume the first n elements from the iterator eagerly, +and return the same iterator again. Read more
Consume the last n elements from the iterator eagerly, +and return the same iterator again. Read more
👎Deprecated since 0.8.0: Use .for_each() instead
Run the closure f eagerly on each element of the iterator. Read more
Combine all an iterator’s elements into one element by using Extend. Read more
.collect_vec() is simply a type specialization of Iterator::collect, +for convenience.
.try_collect() is more convenient way of writing +.collect::<Result<_, _>>() Read more
Assign to each reference in self from the from iterator, +stopping at the shortest of the two iterators. Read more
Combine all iterator elements into one String, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
Format all iterator elements, separated by sep. Read more
👎Deprecated since 0.10.0: Use .fold_ok() instead
Fold Result values from an iterator. Read more
Fold Option values from an iterator. Read more
👎Deprecated since 0.10.2: Use Iterator::reduce instead
Accumulator of the elements in the iterator. Read more
Accumulate the elements in the iterator in a tree-like manner. Read more
An iterator method that applies a function, producing a single, final value. Read more
Iterate over the entire iterator and add all the elements. Read more
Iterate over the entire iterator and multiply all the elements. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. Read more
Sort all iterator elements into a new iterator in ascending order. The key function is +called exactly once per key. Read more
Sort the k smallest elements into a new iterator, in ascending order. Read more
Collect all iterator elements into one of two +partitions. Unlike Iterator::partition, each partition may +have a distinct type. Read more
Partition a sequence of Results into one list of all the Ok elements +and another list of all the Err elements. Read more
Return a HashMap of keys mapped to Vecs of values. Keys and values +are taken from (Key, Value) tuple pairs yielded by the input iterator. Read more
Return an Iterator on a HashMap. Keys mapped to Vecs of values. The key is specified +in the closure. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Constructs a GroupingMap to be used later with one of the efficient +group-and-fold operations it allows to perform. Read more
Return all minimum elements of an iterator. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return all maximum elements of an iterator. Read more
Return all maximum elements of an iterator, as determined by +the specified function. Read more
Return all minimum elements of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum elements in the iterator. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified function. Read more
Return the minimum and maximum element of an iterator, as determined by +the specified comparison function. Read more
Return the position of the maximum element in the iterator. Read more
Return the position of the maximum element in the iterator, as +determined by the specified function. Read more
Return the position of the maximum element in the iterator, as +determined by the specified comparison function. Read more
Return the position of the minimum element in the iterator. Read more
Return the position of the minimum element in the iterator, as +determined by the specified function. Read more
Return the position of the minimum element in the iterator, as +determined by the specified comparison function. Read more
Return the positions of the minimum and maximum elements in +the iterator. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified function. Read more
Return the postions of the minimum and maximum elements of an +iterator, as determined by the specified comparison function. Read more
If the iterator yields exactly one element, that element will be returned, otherwise +an error will be returned containing an iterator that has the same output as the input +iterator. Read more
If the iterator yields no elements, Ok(None) will be returned. If the iterator yields +exactly one element, that element will be returned, otherwise an error will be returned +containing an iterator that has the same output as the input iterator. Read more
An iterator adaptor that allows the user to peek at multiple .next() +values without advancing the base iterator. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears. Read more
Collect the items in this iterator and return a HashMap which +contains each item that appears in the iterator and the number +of times it appears, +determining identity using a keying function. Read more
Converts an iterator of tuples into a tuple of containers. Read more
Unzip this iterator into multiple collections.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/bloom/struct.BloomFilter.html b/automerge/sync/bloom/struct.BloomFilter.html new file mode 100644 index 00000000..94768efa --- /dev/null +++ b/automerge/sync/bloom/struct.BloomFilter.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/sync/struct.BloomFilter.html...

+ + + \ No newline at end of file diff --git a/automerge/sync/bloom/struct.DecodeError.html b/automerge/sync/bloom/struct.DecodeError.html new file mode 100644 index 00000000..9c8e4c27 --- /dev/null +++ b/automerge/sync/bloom/struct.DecodeError.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/sync/struct.DecodeBloomError.html...

+ + + \ No newline at end of file diff --git a/automerge/sync/enum.DecodeStateError.html b/automerge/sync/enum.DecodeStateError.html new file mode 100644 index 00000000..9dad0403 --- /dev/null +++ b/automerge/sync/enum.DecodeStateError.html @@ -0,0 +1,18 @@ +DecodeStateError in automerge::sync - Rust
pub enum DecodeStateError {
+    Parse(String),
+    WrongType {
+        expected_one_of: Vec<u8>,
+        found: u8,
+    },
+    NotEnoughInput,
+}

Variants§

§

Parse(String)

§

WrongType

Fields

§expected_one_of: Vec<u8>
§found: u8
§

NotEnoughInput

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/enum.ReadMessageError.html b/automerge/sync/enum.ReadMessageError.html new file mode 100644 index 00000000..b75fdc8d --- /dev/null +++ b/automerge/sync/enum.ReadMessageError.html @@ -0,0 +1,19 @@ +ReadMessageError in automerge::sync - Rust
pub enum ReadMessageError {
+    WrongType {
+        expected_one_of: Vec<u8>,
+        found: u8,
+    },
+    Parse(String),
+    ReadChangeOps(ReadChangeOpError),
+    NotEnoughInput,
+}

Variants§

§

WrongType

Fields

§expected_one_of: Vec<u8>
§found: u8
§

Parse(String)

§

ReadChangeOps(ReadChangeOpError)

§

NotEnoughInput

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/index.html b/automerge/sync/index.html new file mode 100644 index 00000000..a9f2b64d --- /dev/null +++ b/automerge/sync/index.html @@ -0,0 +1,64 @@ +automerge::sync - Rust

Module automerge::sync

source ·
Expand description

Sync Protocol

+

The sync protocol is based on this paper: +https://arxiv.org/abs/2012.00472, it assumes a reliable in-order stream +between two peers who are synchronizing a document.

+

Each peer maintains a State for each peer they are synchronizing with. +This state tracks things like what the heads of the other peer are and +whether there are in-flight messages. Anything which implements SyncDoc +can take part in the sync protocol. The flow goes something like this:

+
    +
  • The initiating peer creates an empty State and then calls +SyncDoc::generate_sync_message to generate new sync message and sends +it to the receiving peer.
  • +
  • The receiving peer receives a message from the initiator, creates a new +State, and calls SyncDoc::receive_sync_message on it’s view of the +document
  • +
  • The receiving peer then calls SyncDoc::generate_sync_message to generate +a new sync message and send it back to the initiator
  • +
  • From this point on each peer operates in a loop, receiving a sync message +from the other peer and then generating a new message to send back.
  • +
+

Example

+
use automerge::{transaction::Transactable, sync::{self, SyncDoc}, ReadDoc};
+// Create a document on peer1
+let mut peer1 = automerge::AutoCommit::new();
+peer1.put(automerge::ROOT, "key", "value")?;
+
+// Create a state to track our sync with peer2
+let mut peer1_state = sync::State::new();
+// Generate the initial message to send to peer2, unwrap for brevity
+let message1to2 = peer1.sync().generate_sync_message(&mut peer1_state).unwrap();
+
+// We receive the message on peer2. We don't have a document at all yet
+// so we create one
+let mut peer2 = automerge::AutoCommit::new();
+// We don't have a state for peer1 (it's a new connection), so we create one
+let mut peer2_state = sync::State::new();
+// Now receive the message from peer 1
+peer2.sync().receive_sync_message(&mut peer2_state, message1to2)?;
+
+// Now we loop, sending messages from one to two and two to one until
+// neither has anything new to send
+
+loop {
+    let two_to_one = peer2.sync().generate_sync_message(&mut peer2_state);
+    if let Some(message) = two_to_one.as_ref() {
+        println!("two to one");
+        peer1.sync().receive_sync_message(&mut peer1_state, message.clone())?;
+    }
+    let one_to_two = peer1.sync().generate_sync_message(&mut peer1_state);
+    if let Some(message) = one_to_two.as_ref() {
+        println!("one to two");
+        peer2.sync().receive_sync_message(&mut peer2_state, message.clone())?;
+    }
+    if two_to_one.is_none() && one_to_two.is_none() {
+        break;
+    }
+}
+
+assert_eq!(peer2.get(automerge::ROOT, "key")?.unwrap().0.to_str(), Some("value"));
+
+

Structs

A summary of the changes that the sender of the message already has. +This is implicitly a request to the recipient to send all changes that the +sender does not already have.
The sync message to be sent.
The state of synchronisation with a peer.

Enums

Traits

A document which can take part in the sync protocol
\ No newline at end of file diff --git a/automerge/sync/sidebar-items.js b/automerge/sync/sidebar-items.js new file mode 100644 index 00000000..2b1c18d7 --- /dev/null +++ b/automerge/sync/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":[["DecodeStateError",""],["ReadMessageError",""]],"struct":[["BloomFilter",""],["DecodeBloomError",""],["Have","A summary of the changes that the sender of the message already has. This is implicitly a request to the recipient to send all changes that the sender does not already have."],["Message","The sync message to be sent."],["State","The state of synchronisation with a peer."]],"trait":[["SyncDoc","A document which can take part in the sync protocol"]]}; \ No newline at end of file diff --git a/automerge/sync/state/enum.DecodeError.html b/automerge/sync/state/enum.DecodeError.html new file mode 100644 index 00000000..a3f642b7 --- /dev/null +++ b/automerge/sync/state/enum.DecodeError.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/sync/enum.DecodeStateError.html...

+ + + \ No newline at end of file diff --git a/automerge/sync/state/struct.Have.html b/automerge/sync/state/struct.Have.html new file mode 100644 index 00000000..88b5e6ce --- /dev/null +++ b/automerge/sync/state/struct.Have.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/sync/struct.Have.html...

+ + + \ No newline at end of file diff --git a/automerge/sync/state/struct.State.html b/automerge/sync/state/struct.State.html new file mode 100644 index 00000000..0d01b140 --- /dev/null +++ b/automerge/sync/state/struct.State.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/sync/struct.State.html...

+ + + \ No newline at end of file diff --git a/automerge/sync/struct.BloomFilter.html b/automerge/sync/struct.BloomFilter.html new file mode 100644 index 00000000..aa75dd80 --- /dev/null +++ b/automerge/sync/struct.BloomFilter.html @@ -0,0 +1,12 @@ +BloomFilter in automerge::sync - Rust

Struct automerge::sync::BloomFilter

source ·
pub struct BloomFilter { /* private fields */ }

Implementations§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more
The type returned in the event of a conversion error.
Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/struct.DecodeBloomError.html b/automerge/sync/struct.DecodeBloomError.html new file mode 100644 index 00000000..41717a92 --- /dev/null +++ b/automerge/sync/struct.DecodeBloomError.html @@ -0,0 +1,11 @@ +DecodeBloomError in automerge::sync - Rust
pub struct DecodeBloomError(_);

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/struct.Have.html b/automerge/sync/struct.Have.html new file mode 100644 index 00000000..911f232a --- /dev/null +++ b/automerge/sync/struct.Have.html @@ -0,0 +1,21 @@ +Have in automerge::sync - Rust

Struct automerge::sync::Have

source ·
pub struct Have {
+    pub last_sync: Vec<ChangeHash>,
+    pub bloom: BloomFilter,
+}
Expand description

A summary of the changes that the sender of the message already has. +This is implicitly a request to the recipient to send all changes that the +sender does not already have.

+

Fields§

§last_sync: Vec<ChangeHash>

The heads at the time of the last successful sync with this recipient.

+
§bloom: BloomFilter

A bloom filter summarising all of the changes that the sender of the message has added +since the last sync.

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/struct.Message.html b/automerge/sync/struct.Message.html new file mode 100644 index 00000000..5542ec7d --- /dev/null +++ b/automerge/sync/struct.Message.html @@ -0,0 +1,22 @@ +Message in automerge::sync - Rust

Struct automerge::sync::Message

source ·
pub struct Message {
+    pub heads: Vec<ChangeHash>,
+    pub need: Vec<ChangeHash>,
+    pub have: Vec<Have>,
+    pub changes: Vec<Change>,
+}
Expand description

The sync message to be sent.

+

Fields§

§heads: Vec<ChangeHash>

The heads of the sender.

+
§need: Vec<ChangeHash>

The hashes of any changes that are being explicitly requested from the recipient.

+
§have: Vec<Have>

A summary of the changes that the sender already has.

+
§changes: Vec<Change>

The changes for the recipient to apply.

+

Implementations§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/struct.State.html b/automerge/sync/struct.State.html new file mode 100644 index 00000000..b0d0ea4e --- /dev/null +++ b/automerge/sync/struct.State.html @@ -0,0 +1,37 @@ +State in automerge::sync - Rust

Struct automerge::sync::State

source ·
pub struct State {
+    pub shared_heads: Vec<ChangeHash>,
+    pub last_sent_heads: Vec<ChangeHash>,
+    pub their_heads: Option<Vec<ChangeHash>>,
+    pub their_need: Option<Vec<ChangeHash>>,
+    pub their_have: Option<Vec<Have>>,
+    pub sent_hashes: BTreeSet<ChangeHash>,
+    pub in_flight: bool,
+}
Expand description

The state of synchronisation with a peer.

+

This should be persisted using Self::encode when you know you will be interacting with the +same peer in multiple sessions. Self::encode only encodes state which should be reused +across connections.

+

Fields§

§shared_heads: Vec<ChangeHash>

The hashes which we know both peers have

+
§last_sent_heads: Vec<ChangeHash>

The heads we last sent

+
§their_heads: Option<Vec<ChangeHash>>

The heads we last received from them

+
§their_need: Option<Vec<ChangeHash>>

Any specific changes they last said they needed

+
§their_have: Option<Vec<Have>>

The bloom filters summarising what they said they have

+
§sent_hashes: BTreeSet<ChangeHash>

The hashes we have sent in this session

+
§in_flight: bool

generate_sync_message should return None if there are no new changes to send. In +particular, if there are changes in flight which the other end has not yet acknowledged we +do not wish to generate duplicate sync messages. This field tracks whether the changes we +expect to send to the peer based on this sync state have been sent or not. If +in_flight is false then generate_sync_message will return a new message (provided +there are in fact changes to send). If it is true then we don’t. This flag is cleared +in receive_sync_message.

+

Implementations§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/sync/trait.SyncDoc.html b/automerge/sync/trait.SyncDoc.html new file mode 100644 index 00000000..08b9ac37 --- /dev/null +++ b/automerge/sync/trait.SyncDoc.html @@ -0,0 +1,15 @@ +SyncDoc in automerge::sync - Rust

Trait automerge::sync::SyncDoc

source ·
pub trait SyncDoc {
+    fn generate_sync_message(&self, sync_state: &mut State) -> Option<Message>;
+    fn receive_sync_message(
        &mut self,
        sync_state: &mut State,
        message: Message
    ) -> Result<(), AutomergeError>; + fn receive_sync_message_with<Obs: OpObserver>(
        &mut self,
        sync_state: &mut State,
        message: Message,
        op_observer: &mut Obs
    ) -> Result<(), AutomergeError>; +}
Expand description

A document which can take part in the sync protocol

+

See the module level documentation for more details.

+

Required Methods§

Generate a sync message for the remote peer represented by sync_state

+

If this returns None then there are no new messages to send, either because we are +waiting for an acknolwedgement of an in-flight message, or because the remote is up to +date.

+

Apply a received sync message to this document and sync_state

+

Apply a received sync message to this document and sync_state, observing any changes with +op_observer

+

Implementors§

\ No newline at end of file diff --git a/automerge/trait.ReadDoc.html b/automerge/trait.ReadDoc.html new file mode 100644 index 00000000..2fceff2f --- /dev/null +++ b/automerge/trait.ReadDoc.html @@ -0,0 +1,106 @@ +ReadDoc in automerge - Rust

Trait automerge::ReadDoc

source ·
pub trait ReadDoc {
+
Show 21 methods fn parents<O: AsRef<ExId>>(
        &self,
        obj: O
    ) -> Result<Parents<'_>, AutomergeError>; + fn path_to_object<O: AsRef<ExId>>(
        &self,
        obj: O
    ) -> Result<Vec<(ExId, Prop)>, AutomergeError>; + fn keys<O: AsRef<ExId>>(&self, obj: O) -> Keys<'_, '_> ; + fn keys_at<O: AsRef<ExId>>(
        &self,
        obj: O,
        heads: &[ChangeHash]
    ) -> KeysAt<'_, '_> ; + fn map_range<O: AsRef<ExId>, R: RangeBounds<String>>(
        &self,
        obj: O,
        range: R
    ) -> MapRange<'_, R> ; + fn map_range_at<O: AsRef<ExId>, R: RangeBounds<String>>(
        &self,
        obj: O,
        range: R,
        heads: &[ChangeHash]
    ) -> MapRangeAt<'_, R> ; + fn list_range<O: AsRef<ExId>, R: RangeBounds<usize>>(
        &self,
        obj: O,
        range: R
    ) -> ListRange<'_, R> ; + fn list_range_at<O: AsRef<ExId>, R: RangeBounds<usize>>(
        &self,
        obj: O,
        range: R,
        heads: &[ChangeHash]
    ) -> ListRangeAt<'_, R> ; + fn values<O: AsRef<ExId>>(&self, obj: O) -> Values<'_> ; + fn values_at<O: AsRef<ExId>>(
        &self,
        obj: O,
        heads: &[ChangeHash]
    ) -> Values<'_> ; + fn length<O: AsRef<ExId>>(&self, obj: O) -> usize; + fn length_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> usize; + fn object_type<O: AsRef<ExId>>(
        &self,
        obj: O
    ) -> Result<ObjType, AutomergeError>; + fn text<O: AsRef<ExId>>(&self, obj: O) -> Result<String, AutomergeError>; + fn text_at<O: AsRef<ExId>>(
        &self,
        obj: O,
        heads: &[ChangeHash]
    ) -> Result<String, AutomergeError>; + fn get<O: AsRef<ExId>, P: Into<Prop>>(
        &self,
        obj: O,
        prop: P
    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError>; + fn get_at<O: AsRef<ExId>, P: Into<Prop>>(
        &self,
        obj: O,
        prop: P,
        heads: &[ChangeHash]
    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError>; + fn get_all<O: AsRef<ExId>, P: Into<Prop>>(
        &self,
        obj: O,
        prop: P
    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError>; + fn get_all_at<O: AsRef<ExId>, P: Into<Prop>>(
        &self,
        obj: O,
        prop: P,
        heads: &[ChangeHash]
    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError>; + fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec<ChangeHash>; + fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&Change>; +
}
Expand description

Methods for reading values from an automerge document

+

Many of the methods on this trait have an alternate *_at version which +takes an additional argument of &[ChangeHash]. This allows you to retrieve +the value at a particular point in the document history identified by the +given change hashes.

+

Required Methods§

Get the parents of an object in the document tree.

+

See the documentation for Parents for more details.

+
Errors
+

Returns an error when the id given is not the id of an object in this document. +This function does not get the parents of scalar values contained within objects.

+
Experimental
+

This function may in future be changed to allow getting the parents from the id of a scalar +value.

+

Get the path to an object

+

“path” here means the sequence of (object Id, key) pairs which leads +to the object in question.

+
Errors
+
    +
  • If the object ID obj is not in the document
  • +
+

Get the keys of the object obj.

+

For a map this returns the keys of the map. +For a list this returns the element ids (opids) encoded as strings.

+

Get the keys of the object obj as at heads

+

See Self::keys

+

Iterate over the keys and values of the map obj in the given range.

+

If the object correspoding to obj is a list then this will return an empty iterator

+

The returned iterator yields (key, value, exid) tuples, where the +third element is the ID of the operation which created the value.

+

Iterate over the keys and values of the map obj in the given range as +at heads

+

If the object correspoding to obj is a list then this will return an empty iterator

+

The returned iterator yields (key, value, exid) tuples, where the +third element is the ID of the operation which created the value.

+

See Self::map_range

+

Iterate over the indexes and values of the list or text obj in the given range.

+

The reuturned iterator yields (index, value, exid) tuples, where the third +element is the ID of the operation which created the value.

+

Iterate over the indexes and values of the list or text obj in the given range as at heads

+

The returned iterator yields (index, value, exid) tuples, where the third +element is the ID of the operation which created the value.

+

See Self::list_range

+

Iterate over the values in a map, list, or text object

+

The returned iterator yields (value, exid) tuples, where the second element +is the ID of the operation which created the value.

+

Iterate over the values in a map, list, or text object as at heads

+

The returned iterator yields (value, exid) tuples, where the second element +is the ID of the operation which created the value.

+

See Self::values

+

Get the length of the given object.

+

If the given object is not in this document this method will return 0

+

Get the length of the given object as at heads

+

If the given object is not in this document this method will return 0

+

See Self::length

+

Get the type of this object, if it is an object.

+

Get the string represented by the given text object.

+

Get the string represented by the given text object as at heads, see +Self::text

+

Get a value out of the document.

+

This returns a tuple of (value, object ID). This is for two reasons:

+
    +
  1. If value is an object (represented by Value::Object) then the ID +is the ID of that object. This can then be used to retrieve nested +values from the document.
  2. +
  3. Even if value is a scalar, the ID represents the operation which +created the value. This is useful if there are conflicting values for +this key as each value is tagged with the ID.
  4. +
+

In the case of a key which has conflicting values, this method will +return a single arbitrarily chosen value. This value will be chosen +deterministically on all nodes. If you want to get all the values for a +key use Self::get_all.

+

Get the value of the given key as at heads, see [Self::get]

+

Get all conflicting values out of the document at this prop that conflict.

+

If there are multiple conflicting values for a given key this method +will return all of them, with each value tagged by the ID of the +operation which created it.

+

Get all possibly conflicting values for a key as at heads

+

See [Self::get_all]

+

Get the hashes of the changes in this document that aren’t transitive dependencies of the +given heads.

+

Get a change by its hash.

+

Implementors§

\ No newline at end of file diff --git a/automerge/transaction/commit/struct.CommitOptions.html b/automerge/transaction/commit/struct.CommitOptions.html new file mode 100644 index 00000000..b32065f4 --- /dev/null +++ b/automerge/transaction/commit/struct.CommitOptions.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/struct.CommitOptions.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/index.html b/automerge/transaction/index.html new file mode 100644 index 00000000..46b309c8 --- /dev/null +++ b/automerge/transaction/index.html @@ -0,0 +1,4 @@ +automerge::transaction - Rust

Module automerge::transaction

source ·

Structs

Optional metadata for a commit.
The result of a failed, and rolled back, transaction.
The result of a successful, and committed, transaction.
A transaction on a document. +Transactions group operations into a single change so that no other operations can happen +in-between.

Traits

A way of mutating a document within a single change.

Type Definitions

\ No newline at end of file diff --git a/automerge/transaction/manual_transaction/struct.Transaction.html b/automerge/transaction/manual_transaction/struct.Transaction.html new file mode 100644 index 00000000..4922b36c --- /dev/null +++ b/automerge/transaction/manual_transaction/struct.Transaction.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/struct.Transaction.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/observation/struct.Observed.html b/automerge/transaction/observation/struct.Observed.html new file mode 100644 index 00000000..5b3617a5 --- /dev/null +++ b/automerge/transaction/observation/struct.Observed.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/struct.Observed.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/observation/struct.UnObserved.html b/automerge/transaction/observation/struct.UnObserved.html new file mode 100644 index 00000000..556dac13 --- /dev/null +++ b/automerge/transaction/observation/struct.UnObserved.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/struct.UnObserved.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/observation/trait.Observation.html b/automerge/transaction/observation/trait.Observation.html new file mode 100644 index 00000000..0d5d35e5 --- /dev/null +++ b/automerge/transaction/observation/trait.Observation.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/trait.Observation.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/result/struct.Failure.html b/automerge/transaction/result/struct.Failure.html new file mode 100644 index 00000000..0ced84d8 --- /dev/null +++ b/automerge/transaction/result/struct.Failure.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/struct.Failure.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/result/struct.Success.html b/automerge/transaction/result/struct.Success.html new file mode 100644 index 00000000..7dc666eb --- /dev/null +++ b/automerge/transaction/result/struct.Success.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/struct.Success.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/sidebar-items.js b/automerge/transaction/sidebar-items.js new file mode 100644 index 00000000..b9c3f7ed --- /dev/null +++ b/automerge/transaction/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"struct":[["CommitOptions","Optional metadata for a commit."],["Failure","The result of a failed, and rolled back, transaction."],["Observed",""],["Success","The result of a successful, and committed, transaction."],["Transaction","A transaction on a document. Transactions group operations into a single change so that no other operations can happen in-between."],["UnObserved",""]],"trait":[["Observation",""],["Transactable","A way of mutating a document within a single change."]],"type":[["Result",""]]}; \ No newline at end of file diff --git a/automerge/transaction/struct.CommitOptions.html b/automerge/transaction/struct.CommitOptions.html new file mode 100644 index 00000000..9cfe603a --- /dev/null +++ b/automerge/transaction/struct.CommitOptions.html @@ -0,0 +1,18 @@ +CommitOptions in automerge::transaction - Rust
pub struct CommitOptions {
+    pub message: Option<String>,
+    pub time: Option<i64>,
+}
Expand description

Optional metadata for a commit.

+

Fields§

§message: Option<String>§time: Option<i64>

Implementations§

Add a message to the commit.

+

Add a message to the commit.

+

Add a timestamp to the commit.

+

Add a timestamp to the commit.

+

Trait Implementations§

Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/transaction/struct.Failure.html b/automerge/transaction/struct.Failure.html new file mode 100644 index 00000000..7101ef08 --- /dev/null +++ b/automerge/transaction/struct.Failure.html @@ -0,0 +1,16 @@ +Failure in automerge::transaction - Rust
pub struct Failure<E> {
+    pub error: E,
+    pub cancelled: usize,
+}
Expand description

The result of a failed, and rolled back, transaction.

+

Fields§

§error: E

The error returned from the transaction.

+
§cancelled: usize

The number of operations cancelled.

+

Trait Implementations§

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/transaction/struct.Observed.html b/automerge/transaction/struct.Observed.html new file mode 100644 index 00000000..8b90560b --- /dev/null +++ b/automerge/transaction/struct.Observed.html @@ -0,0 +1,10 @@ +Observed in automerge::transaction - Rust
pub struct Observed<Obs: OpObserver + BranchableObserver>(_);

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/transaction/struct.Success.html b/automerge/transaction/struct.Success.html new file mode 100644 index 00000000..56e9172d --- /dev/null +++ b/automerge/transaction/struct.Success.html @@ -0,0 +1,17 @@ +Success in automerge::transaction - Rust
pub struct Success<O, Obs> {
+    pub result: O,
+    pub hash: Option<ChangeHash>,
+    pub op_observer: Obs,
+}
Expand description

The result of a successful, and committed, transaction.

+

Fields§

§result: O

The result of the transaction.

+
§hash: Option<ChangeHash>

The hash of the change, will be None if the transaction did not create any operations

+
§op_observer: Obs

Trait Implementations§

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/transaction/struct.Transaction.html b/automerge/transaction/struct.Transaction.html new file mode 100644 index 00000000..bcdf45d9 --- /dev/null +++ b/automerge/transaction/struct.Transaction.html @@ -0,0 +1,46 @@ +Transaction in automerge::transaction - Rust
pub struct Transaction<'a, Obs: Observation> { /* private fields */ }
Expand description

A transaction on a document. +Transactions group operations into a single change so that no other operations can happen +in-between.

+

Created from Automerge::transaction.

+

Drop

+

This transaction should be manually committed or rolled back. If not done manually then it will +be rolled back when it is dropped. This is to prevent the document being in an unsafe +intermediate state. +This is consistent with ? error handling.

+

Implementations§

Get the heads of the document before this transaction was started.

+

Commit the operations performed in this transaction, returning the hashes corresponding to +the new heads.

+

Commit the operations in this transaction with some options.

+ +
let mut doc = Automerge::new();
+let mut tx = doc.transaction();
+tx.put_object(ROOT, "todos", ObjType::List).unwrap();
+let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs() as
+i64;
+tx.commit_with(CommitOptions::default().with_message("Create todos list").with_time(now));
+

Undo the operations added in this transaction, returning the number of cancelled +operations.

+

Trait Implementations§

Formats the value using the given formatter. Read more
Executes the destructor for this type. Read more
Get the keys of the object obj. Read more
Get the keys of the object obj as at heads Read more
Iterate over the keys and values of the map obj in the given range. Read more
Iterate over the keys and values of the map obj in the given range as +at heads Read more
Iterate over the indexes and values of the list or text obj in the given range. Read more
Iterate over the indexes and values of the list or text obj in the given range as at heads Read more
Iterate over the values in a map, list, or text object Read more
Iterate over the values in a map, list, or text object as at heads Read more
Get the length of the given object. Read more
Get the length of the given object as at heads Read more
Get the type of this object, if it is an object.
Get the string represented by the given text object.
Get the string represented by the given text object as at heads, see +Self::text
Get a value out of the document. Read more
Get the value of the given key as at heads, see [Self::get]
Get all conflicting values out of the document at this prop that conflict. Read more
Get all possibly conflicting values for a key as at heads Read more
Get the parents of an object in the document tree. Read more
Get the path to an object Read more
Get the hashes of the changes in this document that aren’t transitive dependencies of the +given heads.
Get a change by its hash.

Get the number of pending operations in this transaction.

+

Set the value of property P to value V in object obj.

+
Errors
+

This will return an error if

+
    +
  • The object does not exist
  • +
  • The key is the wrong type for the object
  • +
  • The key does not exist in the object
  • +
+

Splice new elements into the given sequence. Returns a vector of the OpIds used to insert +the new elements

+
Set the value of property P to the new object V in object obj. Read more
Insert a value into a list at the given index.
Insert an object into a list at the given index.
Increment the counter at the prop in the object by value.
Delete the value at prop in the object.
Like Self::splice but for text.
The heads this transaction will be based on

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/transaction/struct.UnObserved.html b/automerge/transaction/struct.UnObserved.html new file mode 100644 index 00000000..62c2fbc6 --- /dev/null +++ b/automerge/transaction/struct.UnObserved.html @@ -0,0 +1,10 @@ +UnObserved in automerge::transaction - Rust
pub struct UnObserved;

Implementations§

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge/transaction/trait.Observation.html b/automerge/transaction/trait.Observation.html new file mode 100644 index 00000000..5b7df9d4 --- /dev/null +++ b/automerge/transaction/trait.Observation.html @@ -0,0 +1,10 @@ +Observation in automerge::transaction - Rust
pub trait Observation: Sealed {
+    type Obs: OpObserver + BranchableObserver;
+    type CommitResult;
+
+    fn observer(&mut self) -> Option<&mut Self::Obs>;
+    fn make_result(self, hash: Option<ChangeHash>) -> Self::CommitResult;
+    fn branch(&self) -> Self;
+    fn merge(&mut self, other: &Self);
+}

Required Associated Types§

Required Methods§

Implementors§

\ No newline at end of file diff --git a/automerge/transaction/trait.Transactable.html b/automerge/transaction/trait.Transactable.html new file mode 100644 index 00000000..79633a9e --- /dev/null +++ b/automerge/transaction/trait.Transactable.html @@ -0,0 +1,39 @@ +Transactable in automerge::transaction - Rust
pub trait Transactable: ReadDoc {
+    fn pending_ops(&self) -> usize;
+    fn put<O: AsRef<ExId>, P: Into<Prop>, V: Into<ScalarValue>>(
        &mut self,
        obj: O,
        prop: P,
        value: V
    ) -> Result<(), AutomergeError>; + fn put_object<O: AsRef<ExId>, P: Into<Prop>>(
        &mut self,
        obj: O,
        prop: P,
        object: ObjType
    ) -> Result<ExId, AutomergeError>; + fn insert<O: AsRef<ExId>, V: Into<ScalarValue>>(
        &mut self,
        obj: O,
        index: usize,
        value: V
    ) -> Result<(), AutomergeError>; + fn insert_object<O: AsRef<ExId>>(
        &mut self,
        obj: O,
        index: usize,
        object: ObjType
    ) -> Result<ExId, AutomergeError>; + fn increment<O: AsRef<ExId>, P: Into<Prop>>(
        &mut self,
        obj: O,
        prop: P,
        value: i64
    ) -> Result<(), AutomergeError>; + fn delete<O: AsRef<ExId>, P: Into<Prop>>(
        &mut self,
        obj: O,
        prop: P
    ) -> Result<(), AutomergeError>; + fn splice<O: AsRef<ExId>, V: IntoIterator<Item = ScalarValue>>(
        &mut self,
        obj: O,
        pos: usize,
        del: usize,
        vals: V
    ) -> Result<(), AutomergeError>; + fn splice_text<O: AsRef<ExId>>(
        &mut self,
        obj: O,
        pos: usize,
        del: usize,
        text: &str
    ) -> Result<(), AutomergeError>; + fn base_heads(&self) -> Vec<ChangeHash>; +}
Expand description

A way of mutating a document within a single change.

+

Required Methods§

Get the number of pending operations in this transaction.

+

Set the value of property P to value V in object obj.

+
Errors
+

This will return an error if

+
    +
  • The object does not exist
  • +
  • The key is the wrong type for the object
  • +
  • The key does not exist in the object
  • +
+

Set the value of property P to the new object V in object obj.

+
Returns
+

The id of the object which was created.

+
Errors
+

This will return an error if

+
    +
  • The object does not exist
  • +
  • The key is the wrong type for the object
  • +
  • The key does not exist in the object
  • +
+

Insert a value into a list at the given index.

+

Insert an object into a list at the given index.

+

Increment the counter at the prop in the object by value.

+

Delete the value at prop in the object.

+

Like Self::splice but for text.

+

The heads this transaction will be based on

+

Implementors§

\ No newline at end of file diff --git a/automerge/transaction/transactable/trait.Transactable.html b/automerge/transaction/transactable/trait.Transactable.html new file mode 100644 index 00000000..716e9e62 --- /dev/null +++ b/automerge/transaction/transactable/trait.Transactable.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../../automerge/transaction/trait.Transactable.html...

+ + + \ No newline at end of file diff --git a/automerge/transaction/type.Result.html b/automerge/transaction/type.Result.html new file mode 100644 index 00000000..125b7855 --- /dev/null +++ b/automerge/transaction/type.Result.html @@ -0,0 +1,2 @@ +Result in automerge::transaction - Rust

Type Definition automerge::transaction::Result

source ·
pub type Result<O, Obs, E> = Result<Success<O, Obs>, Failure<E>>;
\ No newline at end of file diff --git a/automerge/type.AutoCommit.html b/automerge/type.AutoCommit.html new file mode 100644 index 00000000..7a25061f --- /dev/null +++ b/automerge/type.AutoCommit.html @@ -0,0 +1,4 @@ +AutoCommit in automerge - Rust

Type Definition automerge::AutoCommit

source ·
pub type AutoCommit = AutoCommitWithObs<UnObserved>;
Expand description

An autocommit document with no observer

+

See AutoCommitWithObs

+

Implementations§

\ No newline at end of file diff --git a/automerge/types/enum.ObjType.html b/automerge/types/enum.ObjType.html new file mode 100644 index 00000000..0f1525be --- /dev/null +++ b/automerge/types/enum.ObjType.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.ObjType.html...

+ + + \ No newline at end of file diff --git a/automerge/types/enum.OpType.html b/automerge/types/enum.OpType.html new file mode 100644 index 00000000..82bef473 --- /dev/null +++ b/automerge/types/enum.OpType.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.OpType.html...

+ + + \ No newline at end of file diff --git a/automerge/types/enum.ParseChangeHashError.html b/automerge/types/enum.ParseChangeHashError.html new file mode 100644 index 00000000..f373db31 --- /dev/null +++ b/automerge/types/enum.ParseChangeHashError.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.ParseChangeHashError.html...

+ + + \ No newline at end of file diff --git a/automerge/types/enum.Prop.html b/automerge/types/enum.Prop.html new file mode 100644 index 00000000..e79edb09 --- /dev/null +++ b/automerge/types/enum.Prop.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.Prop.html...

+ + + \ No newline at end of file diff --git a/automerge/types/enum.TextEncoding.html b/automerge/types/enum.TextEncoding.html new file mode 100644 index 00000000..c9034eff --- /dev/null +++ b/automerge/types/enum.TextEncoding.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.TextEncoding.html...

+ + + \ No newline at end of file diff --git a/automerge/types/struct.ActorId.html b/automerge/types/struct.ActorId.html new file mode 100644 index 00000000..e37a22a1 --- /dev/null +++ b/automerge/types/struct.ActorId.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.ActorId.html...

+ + + \ No newline at end of file diff --git a/automerge/types/struct.ChangeHash.html b/automerge/types/struct.ChangeHash.html new file mode 100644 index 00000000..8d719767 --- /dev/null +++ b/automerge/types/struct.ChangeHash.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.ChangeHash.html...

+ + + \ No newline at end of file diff --git a/automerge/value/enum.ScalarValue.html b/automerge/value/enum.ScalarValue.html new file mode 100644 index 00000000..1f45464b --- /dev/null +++ b/automerge/value/enum.ScalarValue.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.ScalarValue.html...

+ + + \ No newline at end of file diff --git a/automerge/value/enum.Value.html b/automerge/value/enum.Value.html new file mode 100644 index 00000000..ad19285b --- /dev/null +++ b/automerge/value/enum.Value.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/enum.Value.html...

+ + + \ No newline at end of file diff --git a/automerge/values/struct.Values.html b/automerge/values/struct.Values.html new file mode 100644 index 00000000..99046554 --- /dev/null +++ b/automerge/values/struct.Values.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../automerge/struct.Values.html...

+ + + \ No newline at end of file diff --git a/automerge_test/all.html b/automerge_test/all.html new file mode 100644 index 00000000..e8ff3104 --- /dev/null +++ b/automerge_test/all.html @@ -0,0 +1 @@ +List of all items in this crate
\ No newline at end of file diff --git a/automerge_test/enum.OrdScalarValue.html b/automerge_test/enum.OrdScalarValue.html new file mode 100644 index 00000000..a41071b3 --- /dev/null +++ b/automerge_test/enum.OrdScalarValue.html @@ -0,0 +1,27 @@ +OrdScalarValue in automerge_test - Rust
pub enum OrdScalarValue {
+    Bytes(Vec<u8>),
+    Str(SmolStr),
+    Int(i64),
+    Uint(u64),
+    F64(Total<f64>),
+    Counter(i64),
+    Timestamp(i64),
+    Boolean(bool),
+    Null,
+    Unknown {
+        type_code: u8,
+        bytes: Vec<u8>,
+    },
+}

Variants§

§

Bytes(Vec<u8>)

§

Str(SmolStr)

§

Int(i64)

§

Uint(u64)

§

F64(Total<f64>)

§

Counter(i64)

§

Timestamp(i64)

§

Boolean(bool)

§

Null

§

Unknown

Fields

§type_code: u8
§bytes: Vec<u8>

Trait Implementations§

Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_test/enum.RealizedObject.html b/automerge_test/enum.RealizedObject.html new file mode 100644 index 00000000..fe7589ad --- /dev/null +++ b/automerge_test/enum.RealizedObject.html @@ -0,0 +1,19 @@ +RealizedObject in automerge_test - Rust
pub enum RealizedObject {
+    Map(BTreeMap<String, BTreeSet<RealizedObject>>),
+    Sequence(Vec<BTreeSet<RealizedObject>>),
+    Value(OrdScalarValue),
+}
Expand description

A RealizedObject is a representation of all the current values in a document - including +conflicts.

+

Variants§

Trait Implementations§

Formats the value using the given formatter. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method returns an Ordering between self and other. Read more
Compares and returns the maximum of two values. Read more
Compares and returns the minimum of two values. Read more
Restrict a value to a certain interval. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.
This method returns an ordering between self and other values if one exists. Read more
This method tests less than (for self and other) and is used by the < operator. Read more
This method tests less than or equal to (for self and other) and is used by the <= +operator. Read more
This method tests greater than (for self and other) and is used by the > operator. Read more
This method tests greater than or equal to (for self and other) and is used by the >= +operator. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_test/fn.mk_counter.html b/automerge_test/fn.mk_counter.html new file mode 100644 index 00000000..213c13ee --- /dev/null +++ b/automerge_test/fn.mk_counter.html @@ -0,0 +1 @@ +mk_counter in automerge_test - Rust

Function automerge_test::mk_counter

source ·
pub fn mk_counter(value: i64) -> ScalarValue
\ No newline at end of file diff --git a/automerge_test/fn.new_doc.html b/automerge_test/fn.new_doc.html new file mode 100644 index 00000000..a3fc4e3f --- /dev/null +++ b/automerge_test/fn.new_doc.html @@ -0,0 +1 @@ +new_doc in automerge_test - Rust

Function automerge_test::new_doc

source ·
pub fn new_doc() -> AutoCommit
\ No newline at end of file diff --git a/automerge_test/fn.new_doc_with_actor.html b/automerge_test/fn.new_doc_with_actor.html new file mode 100644 index 00000000..643e5d0e --- /dev/null +++ b/automerge_test/fn.new_doc_with_actor.html @@ -0,0 +1 @@ +new_doc_with_actor in automerge_test - Rust
pub fn new_doc_with_actor(actor: ActorId) -> AutoCommit
\ No newline at end of file diff --git a/automerge_test/fn.pretty_panic.html b/automerge_test/fn.pretty_panic.html new file mode 100644 index 00000000..f3d8624d --- /dev/null +++ b/automerge_test/fn.pretty_panic.html @@ -0,0 +1 @@ +pretty_panic in automerge_test - Rust
pub fn pretty_panic(expected_obj: RealizedObject, realized: RealizedObject)
\ No newline at end of file diff --git a/automerge_test/fn.pretty_print.html b/automerge_test/fn.pretty_print.html new file mode 100644 index 00000000..734c7878 --- /dev/null +++ b/automerge_test/fn.pretty_print.html @@ -0,0 +1,2 @@ +pretty_print in automerge_test - Rust
pub fn pretty_print(doc: &Automerge)
Expand description

Pretty print the contents of a document

+
\ No newline at end of file diff --git a/automerge_test/fn.realize.html b/automerge_test/fn.realize.html new file mode 100644 index 00000000..11837005 --- /dev/null +++ b/automerge_test/fn.realize.html @@ -0,0 +1 @@ +realize in automerge_test - Rust

Function automerge_test::realize

source ·
pub fn realize<R: ReadDoc>(doc: &R) -> RealizedObject
\ No newline at end of file diff --git a/automerge_test/fn.realize_obj.html b/automerge_test/fn.realize_obj.html new file mode 100644 index 00000000..14daae79 --- /dev/null +++ b/automerge_test/fn.realize_obj.html @@ -0,0 +1 @@ +realize_obj in automerge_test - Rust
pub fn realize_obj<R: ReadDoc>(
    doc: &R,
    obj_id: &ObjId,
    objtype: ObjType
) -> RealizedObject
\ No newline at end of file diff --git a/automerge_test/fn.realize_prop.html b/automerge_test/fn.realize_prop.html new file mode 100644 index 00000000..03423562 --- /dev/null +++ b/automerge_test/fn.realize_prop.html @@ -0,0 +1 @@ +realize_prop in automerge_test - Rust
pub fn realize_prop<R: ReadDoc, P: Into<Prop>>(
    doc: &R,
    obj_id: &ObjId,
    prop: P
) -> RealizedObject
\ No newline at end of file diff --git a/automerge_test/fn.sorted_actors.html b/automerge_test/fn.sorted_actors.html new file mode 100644 index 00000000..b9783e64 --- /dev/null +++ b/automerge_test/fn.sorted_actors.html @@ -0,0 +1,2 @@ +sorted_actors in automerge_test - Rust
pub fn sorted_actors() -> (ActorId, ActorId)
Expand description

Returns two actor IDs, the first considered to be ordered before the second

+
\ No newline at end of file diff --git a/automerge_test/index.html b/automerge_test/index.html new file mode 100644 index 00000000..e7959896 --- /dev/null +++ b/automerge_test/index.html @@ -0,0 +1,6 @@ +automerge_test - Rust

Crate automerge_test

source ·

Macros

This macro makes it easy to make assertions about a document. It is called with two arguments, +the first is a reference to an automerge::Automerge, the second is an instance of +RealizedObject<ExportableOpId>.
Like assert_doc except that you can specify an object ID and property to select subsections +of the document.
Construct RealizedObject::Sequence. This macro represents a sequence of values
Construct RealizedObject::Map. This macro takes a nested set of curl braces. The outer set is +the keys of the map, the inner set is the set of values for that key:

Structs

Enums

A RealizedObject is a representation of all the current values in a document - including +conflicts.

Functions

Pretty print the contents of a document
Returns two actor IDs, the first considered to be ordered before the second
\ No newline at end of file diff --git a/automerge_test/macro.assert_doc!.html b/automerge_test/macro.assert_doc!.html new file mode 100644 index 00000000..cebabd26 --- /dev/null +++ b/automerge_test/macro.assert_doc!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to macro.assert_doc.html...

+ + + \ No newline at end of file diff --git a/automerge_test/macro.assert_doc.html b/automerge_test/macro.assert_doc.html new file mode 100644 index 00000000..c30fcfd5 --- /dev/null +++ b/automerge_test/macro.assert_doc.html @@ -0,0 +1,46 @@ +assert_doc in automerge_test - Rust
macro_rules! assert_doc {
+    ($doc: expr, $expected: expr) => { ... };
+}
+
Expand description

This macro makes it easy to make assertions about a document. It is called with two arguments, +the first is a reference to an automerge::Automerge, the second is an instance of +RealizedObject<ExportableOpId>.

+

What - I hear you ask - is a RealizedObject? It’s a fully hydrated version of the contents of +an automerge document. You don’t need to think about this too much though because you can +easily construct one with the map! and list! macros. Here’s an example:

+

Constructing documents

+
let mut doc = automerge::AutoCommit::new();
+let todos = doc.put_object(automerge::ROOT, "todos", automerge::ObjType::List).unwrap();
+let todo = doc.insert_object(todos, 0, automerge::ObjType::Map).unwrap();
+let title = doc.put(todo, "title", "water plants").unwrap();
+
+assert_doc!(
+    &doc,
+    map!{
+        "todos" => {
+            list![
+                { map!{ "title" => { "water plants" } } }
+            ]
+        }
+    }
+);
+
+

This might look more complicated than you were expecting. Why is the first element in the list +wrapped in braces? Because every property in an automerge document can have multiple +conflicting values we must capture all of these.

+ +

+let mut doc1 = automerge::AutoCommit::new();
+let mut doc2 = automerge::AutoCommit::new();
+doc1.put(automerge::ROOT, "field", "one").unwrap();
+doc2.put(automerge::ROOT, "field", "two").unwrap();
+doc1.merge(&mut doc2);
+assert_doc!(
+    doc1.document(),
+    map!{
+        "field" => {
+            "one",
+            "two"
+        }
+    }
+);
+
\ No newline at end of file diff --git a/automerge_test/macro.assert_obj!.html b/automerge_test/macro.assert_obj!.html new file mode 100644 index 00000000..4b0e0f31 --- /dev/null +++ b/automerge_test/macro.assert_obj!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to macro.assert_obj.html...

+ + + \ No newline at end of file diff --git a/automerge_test/macro.assert_obj.html b/automerge_test/macro.assert_obj.html new file mode 100644 index 00000000..01bb0056 --- /dev/null +++ b/automerge_test/macro.assert_obj.html @@ -0,0 +1,6 @@ +assert_obj in automerge_test - Rust
macro_rules! assert_obj {
+    ($doc: expr, $obj_id: expr, $prop: expr, $expected: expr) => { ... };
+}
+
Expand description

Like assert_doc except that you can specify an object ID and property to select subsections +of the document.

+
\ No newline at end of file diff --git a/automerge_test/macro.list!.html b/automerge_test/macro.list!.html new file mode 100644 index 00000000..97bb6f7a --- /dev/null +++ b/automerge_test/macro.list!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to macro.list.html...

+ + + \ No newline at end of file diff --git a/automerge_test/macro.list.html b/automerge_test/macro.list.html new file mode 100644 index 00000000..e318ef12 --- /dev/null +++ b/automerge_test/macro.list.html @@ -0,0 +1,20 @@ +list in automerge_test - Rust

Macro automerge_test::list

source ·
macro_rules! list {
+    (@single $($x:tt)*) => { ... };
+    (@count $($rest:tt),*) => { ... };
+    (@inner { $($value:expr,)+ }) => { ... };
+    (@inner { $($value:expr),* }) => { ... };
+    ($($inner:tt,)+) => { ... };
+    ($($inner:tt),*) => { ... };
+}
+
Expand description

Construct RealizedObject::Sequence. This macro represents a sequence of values

+ +
list![
+    {
+        "value1",
+        "value2",
+    }
+];
+

The list above would represent a list with a conflict on the 0 index. The values can be +anything which implements Into<RealizedObject> including nested calls to +map! or list!.

+
\ No newline at end of file diff --git a/automerge_test/macro.map!.html b/automerge_test/macro.map!.html new file mode 100644 index 00000000..515cd23e --- /dev/null +++ b/automerge_test/macro.map!.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to macro.map.html...

+ + + \ No newline at end of file diff --git a/automerge_test/macro.map.html b/automerge_test/macro.map.html new file mode 100644 index 00000000..2b9883b1 --- /dev/null +++ b/automerge_test/macro.map.html @@ -0,0 +1,18 @@ +map in automerge_test - Rust

Macro automerge_test::map

source ·
macro_rules! map {
+    (@inner { $($value:expr,)+ }) => { ... };
+    (@inner { $($value:expr),* }) => { ... };
+    ($($key:expr => $inner:tt,)+) => { ... };
+    ($($key:expr => $inner:tt),*) => { ... };
+}
+
Expand description

Construct RealizedObject::Map. This macro takes a nested set of curl braces. The outer set is +the keys of the map, the inner set is the set of values for that key:

+ +
map!{
+    "key" => {
+        "value1",
+        "value2",
+    }
+};
+

The map above would represent a map with a conflict on the “key” property. The values can be +anything which implements Into<RealizedObject>. Including nested calls to map! or list!.

+
\ No newline at end of file diff --git a/automerge_test/sidebar-items.js b/automerge_test/sidebar-items.js new file mode 100644 index 00000000..7e1ec959 --- /dev/null +++ b/automerge_test/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":[["OrdScalarValue",""],["RealizedObject","A `RealizedObject` is a representation of all the current values in a document - including conflicts."]],"fn":[["mk_counter",""],["new_doc",""],["new_doc_with_actor",""],["pretty_panic",""],["pretty_print","Pretty print the contents of a document"],["realize",""],["realize_obj",""],["realize_prop",""],["sorted_actors","Returns two actor IDs, the first considered to be ordered before the second"]],"macro":[["assert_doc","This macro makes it easy to make assertions about a document. It is called with two arguments, the first is a reference to an `automerge::Automerge`, the second is an instance of `RealizedObject`."],["assert_obj","Like `assert_doc` except that you can specify an object ID and property to select subsections of the document."],["list","Construct `RealizedObject::Sequence`. This macro represents a sequence of values"],["map","Construct `RealizedObject::Map`. This macro takes a nested set of curl braces. The outer set is the keys of the map, the inner set is the set of values for that key:"]],"struct":[["ExportedOpId",""]]}; \ No newline at end of file diff --git a/automerge_test/struct.ExportedOpId.html b/automerge_test/struct.ExportedOpId.html new file mode 100644 index 00000000..56ae4a91 --- /dev/null +++ b/automerge_test/struct.ExportedOpId.html @@ -0,0 +1,11 @@ +ExportedOpId in automerge_test - Rust
pub struct ExportedOpId(_);

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/all.html b/automerge_wasm/all.html new file mode 100644 index 00000000..a542c7c1 --- /dev/null +++ b/automerge_wasm/all.html @@ -0,0 +1,2 @@ +List of all items in this crate
\ No newline at end of file diff --git a/automerge_wasm/enum.TextRepresentation.html b/automerge_wasm/enum.TextRepresentation.html new file mode 100644 index 00000000..e6201d6d --- /dev/null +++ b/automerge_wasm/enum.TextRepresentation.html @@ -0,0 +1,25 @@ +TextRepresentation in automerge_wasm - Rust
pub enum TextRepresentation {
+    Array,
+    String,
+}
Expand description

How text is represented in materialized objects on the JS side

+

Variants§

§

Array

As an array of characters and objects

+
§

String

As a single JS string

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
The wasm ABI type that this converts from when coming back out from the +ABI boundary.
Recover a Self from Self::Abi. Read more
The wasm ABI type that this converts into when crossing the ABI +boundary.
Convert self into Self::Abi so that it can be sent across the wasm +ABI boundary.
Tests whether the argument is a “none” instance. If so it will be +deserialized as None, and otherwise it will be passed to +FromWasmAbi.
Returns an ABI instance indicating “none”, which JS will interpret as +the None branch of this option. Read more
This method tests for self and other values to be equal, and is used +by ==.
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Same as IntoWasmAbi::Abi
Same as IntoWasmAbi::into_abi, except that it may throw and never +return in the case of Err.
Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.ApplyChangesError.html b/automerge_wasm/error/enum.ApplyChangesError.html new file mode 100644 index 00000000..d8759df5 --- /dev/null +++ b/automerge_wasm/error/enum.ApplyChangesError.html @@ -0,0 +1,14 @@ +ApplyChangesError in automerge_wasm::error - Rust
pub enum ApplyChangesError {
+    DecodeChanges(BadJSChanges),
+    Apply(AutomergeError),
+}

Variants§

§

DecodeChanges(BadJSChanges)

§

Apply(AutomergeError)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.ApplyPatch.html b/automerge_wasm/error/enum.ApplyPatch.html new file mode 100644 index 00000000..f1d6fcd9 --- /dev/null +++ b/automerge_wasm/error/enum.ApplyPatch.html @@ -0,0 +1,16 @@ +ApplyPatch in automerge_wasm::error - Rust
pub enum ApplyPatch {
+    Interop(ApplyPatch),
+    Export(Export),
+    NotObjectd,
+    PatchCallback(JsValue),
+}

Variants§

§

Interop(ApplyPatch)

§

Export(Export)

§

NotObjectd

§

PatchCallback(JsValue)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.BadSyncMessage.html b/automerge_wasm/error/enum.BadSyncMessage.html new file mode 100644 index 00000000..01b40b9b --- /dev/null +++ b/automerge_wasm/error/enum.BadSyncMessage.html @@ -0,0 +1,13 @@ +BadSyncMessage in automerge_wasm::error - Rust
pub enum BadSyncMessage {
+    ReadMessage(ReadMessageError),
+}

Variants§

§

ReadMessage(ReadMessageError)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.DecodeChange.html b/automerge_wasm/error/enum.DecodeChange.html new file mode 100644 index 00000000..827d908e --- /dev/null +++ b/automerge_wasm/error/enum.DecodeChange.html @@ -0,0 +1,14 @@ +DecodeChange in automerge_wasm::error - Rust
pub enum DecodeChange {
+    Load(LoadChangeError),
+    Serialize(Error),
+}

Variants§

§

Load(LoadChangeError)

§

Serialize(Error)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.Fork.html b/automerge_wasm/error/enum.Fork.html new file mode 100644 index 00000000..54d117e4 --- /dev/null +++ b/automerge_wasm/error/enum.Fork.html @@ -0,0 +1,15 @@ +Fork in automerge_wasm::error - Rust
pub enum Fork {
+    BadActor(BadActorId),
+    Automerge(AutomergeError),
+    BadChangeHashes(BadChangeHashes),
+}

Variants§

§

BadActor(BadActorId)

§

Automerge(AutomergeError)

§

BadChangeHashes(BadChangeHashes)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.Get.html b/automerge_wasm/error/enum.Get.html new file mode 100644 index 00000000..386f60ac --- /dev/null +++ b/automerge_wasm/error/enum.Get.html @@ -0,0 +1,16 @@ +Get in automerge_wasm::error - Rust
pub enum Get {
+    ImportObj(ImportObj),
+    Automerge(AutomergeError),
+    BadHeads(BadChangeHashes),
+    InvalidProp(InvalidProp),
+}

Variants§

§

ImportObj(ImportObj)

§

Automerge(AutomergeError)

§

BadHeads(BadChangeHashes)

§

InvalidProp(InvalidProp)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.Increment.html b/automerge_wasm/error/enum.Increment.html new file mode 100644 index 00000000..7e73820d --- /dev/null +++ b/automerge_wasm/error/enum.Increment.html @@ -0,0 +1,16 @@ +Increment in automerge_wasm::error - Rust
pub enum Increment {
+    ImportObj(ImportObj),
+    InvalidProp(InvalidProp),
+    ValueNotNumeric,
+    Automerge(AutomergeError),
+}

Variants§

§

ImportObj(ImportObj)

§

InvalidProp(InvalidProp)

§

ValueNotNumeric

§

Automerge(AutomergeError)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.Insert.html b/automerge_wasm/error/enum.Insert.html new file mode 100644 index 00000000..ad59e206 --- /dev/null +++ b/automerge_wasm/error/enum.Insert.html @@ -0,0 +1,17 @@ +Insert in automerge_wasm::error - Rust
pub enum Insert {
+    ImportObj(ImportObj),
+    ValueNotPrimitive,
+    Automerge(AutomergeError),
+    InvalidProp(InvalidProp),
+    InvalidValue(InvalidValue),
+}

Variants§

§

ImportObj(ImportObj)

§

ValueNotPrimitive

§

Automerge(AutomergeError)

§

InvalidProp(InvalidProp)

§

InvalidValue(InvalidValue)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.InsertObject.html b/automerge_wasm/error/enum.InsertObject.html new file mode 100644 index 00000000..36efcfce --- /dev/null +++ b/automerge_wasm/error/enum.InsertObject.html @@ -0,0 +1,17 @@ +InsertObject in automerge_wasm::error - Rust
pub enum InsertObject {
+    ImportObj(ImportObj),
+    ValueNotObject,
+    Automerge(AutomergeError),
+    InvalidProp(InvalidProp),
+    InvalidValue(InvalidValue),
+}

Variants§

§

ImportObj(ImportObj)

§

ValueNotObject

§

Automerge(AutomergeError)

§

InvalidProp(InvalidProp)

§

InvalidValue(InvalidValue)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.Load.html b/automerge_wasm/error/enum.Load.html new file mode 100644 index 00000000..e7519810 --- /dev/null +++ b/automerge_wasm/error/enum.Load.html @@ -0,0 +1,14 @@ +Load in automerge_wasm::error - Rust
pub enum Load {
+    Automerge(AutomergeError),
+    BadActor(BadActorId),
+}

Variants§

§

Automerge(AutomergeError)

§

BadActor(BadActorId)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.Materialize.html b/automerge_wasm/error/enum.Materialize.html new file mode 100644 index 00000000..1b67c664 --- /dev/null +++ b/automerge_wasm/error/enum.Materialize.html @@ -0,0 +1,14 @@ +Materialize in automerge_wasm::error - Rust
pub enum Materialize {
+    Export(Export),
+    Heads(BadChangeHashes),
+}

Variants§

§

Export(Export)

§

Heads(BadChangeHashes)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.ReceiveSyncMessage.html b/automerge_wasm/error/enum.ReceiveSyncMessage.html new file mode 100644 index 00000000..8fbd0ad0 --- /dev/null +++ b/automerge_wasm/error/enum.ReceiveSyncMessage.html @@ -0,0 +1,14 @@ +ReceiveSyncMessage in automerge_wasm::error - Rust
pub enum ReceiveSyncMessage {
+    Decode(ReadMessageError),
+    Automerge(AutomergeError),
+}

Variants§

§

Decode(ReadMessageError)

§

Automerge(AutomergeError)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/enum.Splice.html b/automerge_wasm/error/enum.Splice.html new file mode 100644 index 00000000..d23b03ba --- /dev/null +++ b/automerge_wasm/error/enum.Splice.html @@ -0,0 +1,15 @@ +Splice in automerge_wasm::error - Rust
pub enum Splice {
+    ImportObj(ImportObj),
+    Automerge(AutomergeError),
+    ValueNotPrimitive(usize),
+}

Variants§

§

ImportObj(ImportObj)

§

Automerge(AutomergeError)

§

ValueNotPrimitive(usize)

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/index.html b/automerge_wasm/error/index.html new file mode 100644 index 00000000..09a22022 --- /dev/null +++ b/automerge_wasm/error/index.html @@ -0,0 +1,2 @@ +automerge_wasm::error - Rust
\ No newline at end of file diff --git a/automerge_wasm/error/sidebar-items.js b/automerge_wasm/error/sidebar-items.js new file mode 100644 index 00000000..218571d4 --- /dev/null +++ b/automerge_wasm/error/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":[["ApplyChangesError",""],["ApplyPatch",""],["BadSyncMessage",""],["DecodeChange",""],["Fork",""],["Get",""],["Increment",""],["Insert",""],["InsertObject",""],["Load",""],["Materialize",""],["ReceiveSyncMessage",""],["Splice",""]],"struct":[["BadActorId",""],["EncodeChange",""],["Merge",""],["PopPatches",""]]}; \ No newline at end of file diff --git a/automerge_wasm/error/struct.BadActorId.html b/automerge_wasm/error/struct.BadActorId.html new file mode 100644 index 00000000..6f136bdc --- /dev/null +++ b/automerge_wasm/error/struct.BadActorId.html @@ -0,0 +1,11 @@ +BadActorId in automerge_wasm::error - Rust
pub struct BadActorId(_);

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/struct.EncodeChange.html b/automerge_wasm/error/struct.EncodeChange.html new file mode 100644 index 00000000..fc6ef754 --- /dev/null +++ b/automerge_wasm/error/struct.EncodeChange.html @@ -0,0 +1,11 @@ +EncodeChange in automerge_wasm::error - Rust
pub struct EncodeChange(_);

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/struct.Merge.html b/automerge_wasm/error/struct.Merge.html new file mode 100644 index 00000000..537194e3 --- /dev/null +++ b/automerge_wasm/error/struct.Merge.html @@ -0,0 +1,11 @@ +Merge in automerge_wasm::error - Rust

Struct automerge_wasm::error::Merge

source ·
pub struct Merge(_);

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/error/struct.PopPatches.html b/automerge_wasm/error/struct.PopPatches.html new file mode 100644 index 00000000..5a22d68d --- /dev/null +++ b/automerge_wasm/error/struct.PopPatches.html @@ -0,0 +1,11 @@ +PopPatches in automerge_wasm::error - Rust
pub struct PopPatches(_);

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
The lower-level source of this error, if any. Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
🔬This is a nightly-only experimental API. (provide_any)
Data providers should implement this method to provide all values they are able to +provide by using demand. Read more
Should always be Self
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/automerge_wasm/fn.decode_change.html b/automerge_wasm/fn.decode_change.html new file mode 100644 index 00000000..db17769c --- /dev/null +++ b/automerge_wasm/fn.decode_change.html @@ -0,0 +1,2 @@ +decode_change in automerge_wasm - Rust
pub fn decode_change(change: Uint8Array) -> Result<JsValue, DecodeChange>
\ No newline at end of file diff --git a/automerge_wasm/fn.decode_sync_message.html b/automerge_wasm/fn.decode_sync_message.html new file mode 100644 index 00000000..2cba4880 --- /dev/null +++ b/automerge_wasm/fn.decode_sync_message.html @@ -0,0 +1,2 @@ +decode_sync_message in automerge_wasm - Rust
pub fn decode_sync_message(msg: Uint8Array) -> Result<JsValue, BadSyncMessage>
\ No newline at end of file diff --git a/automerge_wasm/fn.decode_sync_state.html b/automerge_wasm/fn.decode_sync_state.html new file mode 100644 index 00000000..f994f322 --- /dev/null +++ b/automerge_wasm/fn.decode_sync_state.html @@ -0,0 +1,2 @@ +decode_sync_state in automerge_wasm - Rust
pub fn decode_sync_state(
    data: Uint8Array
) -> Result<SyncState, DecodeSyncStateErr>
\ No newline at end of file diff --git a/automerge_wasm/fn.encode_change.html b/automerge_wasm/fn.encode_change.html new file mode 100644 index 00000000..dceb8d55 --- /dev/null +++ b/automerge_wasm/fn.encode_change.html @@ -0,0 +1,2 @@ +encode_change in automerge_wasm - Rust
pub fn encode_change(change: JsValue) -> Result<Uint8Array, EncodeChange>
\ No newline at end of file diff --git a/automerge_wasm/fn.encode_sync_message.html b/automerge_wasm/fn.encode_sync_message.html new file mode 100644 index 00000000..f8552d79 --- /dev/null +++ b/automerge_wasm/fn.encode_sync_message.html @@ -0,0 +1,2 @@ +encode_sync_message in automerge_wasm - Rust
pub fn encode_sync_message(
    message: JsValue
) -> Result<Uint8Array, BadSyncMessage>
\ No newline at end of file diff --git a/automerge_wasm/fn.encode_sync_state.html b/automerge_wasm/fn.encode_sync_state.html new file mode 100644 index 00000000..5ee00b26 --- /dev/null +++ b/automerge_wasm/fn.encode_sync_state.html @@ -0,0 +1,2 @@ +encode_sync_state in automerge_wasm - Rust
pub fn encode_sync_state(state: &SyncState) -> Uint8Array
\ No newline at end of file diff --git a/automerge_wasm/fn.export_sync_state.html b/automerge_wasm/fn.export_sync_state.html new file mode 100644 index 00000000..73e15772 --- /dev/null +++ b/automerge_wasm/fn.export_sync_state.html @@ -0,0 +1,2 @@ +export_sync_state in automerge_wasm - Rust
pub fn export_sync_state(state: &SyncState) -> JsValue
\ No newline at end of file diff --git a/automerge_wasm/fn.import_sync_state.html b/automerge_wasm/fn.import_sync_state.html new file mode 100644 index 00000000..bd65ec52 --- /dev/null +++ b/automerge_wasm/fn.import_sync_state.html @@ -0,0 +1,2 @@ +import_sync_state in automerge_wasm - Rust
pub fn import_sync_state(state: JsValue) -> Result<SyncState, BadSyncState>
\ No newline at end of file diff --git a/automerge_wasm/fn.init.html b/automerge_wasm/fn.init.html new file mode 100644 index 00000000..8ba19381 --- /dev/null +++ b/automerge_wasm/fn.init.html @@ -0,0 +1,2 @@ +init in automerge_wasm - Rust

Function automerge_wasm::init

source ·
pub fn init(
    text_v2: bool,
    actor: Option<String>
) -> Result<Automerge, BadActorId>
\ No newline at end of file diff --git a/automerge_wasm/fn.init_sync_state.html b/automerge_wasm/fn.init_sync_state.html new file mode 100644 index 00000000..5a1c9a1b --- /dev/null +++ b/automerge_wasm/fn.init_sync_state.html @@ -0,0 +1,2 @@ +init_sync_state in automerge_wasm - Rust
pub fn init_sync_state() -> SyncState
\ No newline at end of file diff --git a/automerge_wasm/fn.load.html b/automerge_wasm/fn.load.html new file mode 100644 index 00000000..3efd8601 --- /dev/null +++ b/automerge_wasm/fn.load.html @@ -0,0 +1,2 @@ +load in automerge_wasm - Rust

Function automerge_wasm::load

source ·
pub fn load(
    data: Uint8Array,
    text_v2: bool,
    actor: Option<String>
) -> Result<Automerge, Load>
\ No newline at end of file diff --git a/automerge_wasm/index.html b/automerge_wasm/index.html new file mode 100644 index 00000000..1e055222 --- /dev/null +++ b/automerge_wasm/index.html @@ -0,0 +1,2 @@ +automerge_wasm - Rust
\ No newline at end of file diff --git a/automerge_wasm/sidebar-items.js b/automerge_wasm/sidebar-items.js new file mode 100644 index 00000000..ebe7f66e --- /dev/null +++ b/automerge_wasm/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"enum":[["TextRepresentation","How text is represented in materialized objects on the JS side"]],"fn":[["decode_change",""],["decode_sync_message",""],["decode_sync_state",""],["encode_change",""],["encode_sync_message",""],["encode_sync_state",""],["export_sync_state",""],["import_sync_state",""],["init",""],["init_sync_state",""],["load",""]],"mod":[["error",""]],"struct":[["Automerge",""]]}; \ No newline at end of file diff --git a/automerge_wasm/struct.Automerge.html b/automerge_wasm/struct.Automerge.html new file mode 100644 index 00000000..af0bf510 --- /dev/null +++ b/automerge_wasm/struct.Automerge.html @@ -0,0 +1,20 @@ +Automerge in automerge_wasm - Rust
pub struct Automerge { /* private fields */ }

Implementations§

Trait Implementations§

Formats the value using the given formatter. Read more
Converts to this type from the input type.
The wasm ABI type that this converts from when coming back out from the +ABI boundary.
Recover a Self from Self::Abi. Read more
The wasm ABI type that this converts into when crossing the ABI +boundary.
Convert self into Self::Abi so that it can be sent across the wasm +ABI boundary.
Same as RefFromWasmAbi::Abi
Same as RefFromWasmAbi::Anchor
Same as RefFromWasmAbi::ref_from_abi
Tests whether the argument is a “none” instance. If so it will be +deserialized as None, and otherwise it will be passed to +FromWasmAbi.
Returns an ABI instance indicating “none”, which JS will interpret as +the None branch of this option. Read more
The wasm ABI type references to Self are recovered from.
The type that holds the reference to Self for the duration of the +invocation of the function that has an &Self parameter. This is +required to ensure that the lifetimes don’t persist beyond one function +call, and so that they remain anonymous.
Recover a Self::Anchor from Self::Abi. Read more
Same as RefFromWasmAbi::Abi
Same as RefFromWasmAbi::Anchor
Same as RefFromWasmAbi::ref_from_abi

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+
Same as IntoWasmAbi::Abi
Same as IntoWasmAbi::into_abi, except that it may throw and never +return in the case of Err.
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/crates.js b/crates.js new file mode 100644 index 00000000..2c69b2b8 --- /dev/null +++ b/crates.js @@ -0,0 +1 @@ +window.ALL_CRATES = ["automerge","automerge_test","automerge_wasm"]; \ No newline at end of file diff --git a/flake.lock b/flake.lock deleted file mode 100644 index a052776b..00000000 --- a/flake.lock +++ /dev/null @@ -1,94 +0,0 @@ -{ - "nodes": { - "flake-utils": { - "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "nixpkgs": { - "locked": { - "lastModified": 1669542132, - "narHash": "sha256-DRlg++NJAwPh8io3ExBJdNW7Djs3plVI5jgYQ+iXAZQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "a115bb9bd56831941be3776c8a94005867f316a7", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { - "locked": { - "lastModified": 1665296151, - "narHash": "sha256-uOB0oxqxN9K7XGF1hcnY+PQnlQJ+3bP2vCn/+Ru/bbc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "14ccaaedd95a488dd7ae142757884d8e125b3363", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "root": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay" - } - }, - "rust-overlay": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_2" - }, - "locked": { - "lastModified": 1669775522, - "narHash": "sha256-6xxGArBqssX38DdHpDoPcPvB/e79uXyQBwpBcaO/BwY=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "3158e47f6b85a288d12948aeb9a048e0ed4434d6", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 37835738..00000000 --- a/flake.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ - description = "automerge-rs"; - - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; - rust-overlay.url = "github:oxalica/rust-overlay"; - }; - - outputs = { - self, - nixpkgs, - flake-utils, - rust-overlay, - }: - flake-utils.lib.eachDefaultSystem - (system: let - pkgs = import nixpkgs { - overlays = [rust-overlay.overlays.default]; - inherit system; - }; - rust = pkgs.rust-bin.stable.latest.default; - in { - formatter = pkgs.alejandra; - - packages = { - deadnix = pkgs.runCommand "deadnix" {} '' - ${pkgs.deadnix}/bin/deadnix --fail ${./.} - mkdir $out - ''; - }; - - checks = { - inherit (self.packages.${system}) deadnix; - }; - - devShells.default = pkgs.mkShell { - buildInputs = with pkgs; [ - (rust.override { - extensions = ["rust-src"]; - targets = ["wasm32-unknown-unknown"]; - }) - cargo-edit - cargo-watch - cargo-criterion - cargo-fuzz - cargo-flamegraph - cargo-deny - crate2nix - wasm-pack - pkgconfig - openssl - gnuplot - - nodejs - yarn - deno - - # c deps - cmake - cmocka - doxygen - - rnix-lsp - nixpkgs-fmt - ]; - }; - }); -} diff --git a/help.html b/help.html new file mode 100644 index 00000000..7ad1fc24 --- /dev/null +++ b/help.html @@ -0,0 +1,2 @@ +Rustdoc help

Rustdoc help

Back
\ No newline at end of file diff --git a/img/brandmark.png b/img/brandmark.png deleted file mode 100644 index 56e1c82d..00000000 Binary files a/img/brandmark.png and /dev/null differ diff --git a/img/brandmark.svg b/img/brandmark.svg deleted file mode 100644 index 1347dfac..00000000 --- a/img/brandmark.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/img/favicon.ico b/img/favicon.ico deleted file mode 100644 index 90486824..00000000 Binary files a/img/favicon.ico and /dev/null differ diff --git a/img/lockup.png b/img/lockup.png deleted file mode 100644 index 94e63a48..00000000 Binary files a/img/lockup.png and /dev/null differ diff --git a/img/lockup.svg b/img/lockup.svg deleted file mode 100644 index 34297ecf..00000000 --- a/img/lockup.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/img/sign.png b/img/sign.png deleted file mode 100644 index 772396cb..00000000 Binary files a/img/sign.png and /dev/null differ diff --git a/img/sign.svg b/img/sign.svg deleted file mode 100644 index df31316e..00000000 --- a/img/sign.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/implementors/automerge/op_observer/trait.BranchableObserver.js b/implementors/automerge/op_observer/trait.BranchableObserver.js new file mode 100644 index 00000000..6cf74775 --- /dev/null +++ b/implementors/automerge/op_observer/trait.BranchableObserver.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/automerge/op_observer/trait.OpObserver.js b/implementors/automerge/op_observer/trait.OpObserver.js new file mode 100644 index 00000000..6cf74775 --- /dev/null +++ b/implementors/automerge/op_observer/trait.OpObserver.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/automerge/read/trait.ReadDoc.js b/implementors/automerge/read/trait.ReadDoc.js new file mode 100644 index 00000000..6cf74775 --- /dev/null +++ b/implementors/automerge/read/trait.ReadDoc.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/automerge/sync/trait.SyncDoc.js b/implementors/automerge/sync/trait.SyncDoc.js new file mode 100644 index 00000000..6cf74775 --- /dev/null +++ b/implementors/automerge/sync/trait.SyncDoc.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/automerge/transaction/observation/trait.Observation.js b/implementors/automerge/transaction/observation/trait.Observation.js new file mode 100644 index 00000000..6cf74775 --- /dev/null +++ b/implementors/automerge/transaction/observation/trait.Observation.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/automerge/transaction/transactable/trait.Transactable.js b/implementors/automerge/transaction/transactable/trait.Transactable.js new file mode 100644 index 00000000..6cf74775 --- /dev/null +++ b/implementors/automerge/transaction/transactable/trait.Transactable.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/clone/trait.Clone.js b/implementors/core/clone/trait.Clone.js new file mode 100644 index 00000000..44c8dcfc --- /dev/null +++ b/implementors/core/clone/trait.Clone.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl<Obs: Clone + Observation> Clone for AutoCommitWithObs<Obs>"],["impl Clone for OnPartialLoad"],["impl Clone for Automerge"],["impl Clone for Change"],["impl Clone for ExId"],["impl Clone for Change"],["impl Clone for VecOpObserver"],["impl Clone for Patch"],["impl Clone for BloomFilter"],["impl Clone for State"],["impl Clone for Have"],["impl Clone for Message"],["impl<Obs: Clone + OpObserver + BranchableObserver> Clone for Observed<Obs>"],["impl Clone for UnObserved"],["impl Clone for ActorId"],["impl Clone for ObjType"],["impl Clone for OpType"],["impl Clone for Prop"],["impl Clone for TextEncoding"],["impl Clone for ChangeHash"],["impl<'a> Clone for Value<'a>"],["impl Clone for ScalarValue"]], +"automerge_wasm":[["impl Clone for TextRepresentation"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.Eq.js b/implementors/core/cmp/trait.Eq.js new file mode 100644 index 00000000..edbf5adf --- /dev/null +++ b/implementors/core/cmp/trait.Eq.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl Eq for OnPartialLoad"],["impl Eq for InvalidChangeHashSlice"],["impl Eq for ExId"],["impl Eq for Parent"],["impl Eq for BloomFilter"],["impl Eq for State"],["impl Eq for Have"],["impl Eq for ActorId"],["impl Eq for ObjType"],["impl Eq for Prop"],["impl Eq for TextEncoding"],["impl Eq for ChangeHash"]], +"automerge_test":[["impl Eq for ExportedOpId"],["impl Eq for RealizedObject"],["impl Eq for OrdScalarValue"]], +"automerge_wasm":[["impl Eq for TextRepresentation"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.Ord.js b/implementors/core/cmp/trait.Ord.js new file mode 100644 index 00000000..5bb75a00 --- /dev/null +++ b/implementors/core/cmp/trait.Ord.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl Ord for ExId"],["impl Ord for ActorId"],["impl Ord for Prop"],["impl Ord for ChangeHash"]], +"automerge_test":[["impl Ord for RealizedObject"],["impl Ord for OrdScalarValue"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialEq.js b/implementors/core/cmp/trait.PartialEq.js new file mode 100644 index 00000000..e0c1fd1c --- /dev/null +++ b/implementors/core/cmp/trait.PartialEq.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl PartialEq<OnPartialLoad> for OnPartialLoad"],["impl PartialEq<Change> for Change"],["impl PartialEq<AutomergeError> for AutomergeError"],["impl PartialEq<InvalidChangeHashSlice> for InvalidChangeHashSlice"],["impl PartialEq<ExId> for ExId"],["impl PartialEq<Change> for Change"],["impl PartialEq<Patch> for Patch"],["impl PartialEq<Parent> for Parent"],["impl PartialEq<BloomFilter> for BloomFilter"],["impl PartialEq<State> for State"],["impl PartialEq<Have> for Have"],["impl PartialEq<Message> for Message"],["impl PartialEq<ActorId> for ActorId"],["impl PartialEq<ObjType> for ObjType"],["impl PartialEq<OpType> for OpType"],["impl PartialEq<Prop> for Prop"],["impl PartialEq<TextEncoding> for TextEncoding"],["impl PartialEq<ChangeHash> for ChangeHash"],["impl<'a> PartialEq<Value<'a>> for Value<'a>"],["impl PartialEq<ScalarValue> for ScalarValue"]], +"automerge_test":[["impl PartialEq<ExportedOpId> for ExportedOpId"],["impl PartialEq<RealizedObject> for RealizedObject"],["impl PartialEq<OrdScalarValue> for OrdScalarValue"]], +"automerge_wasm":[["impl PartialEq<TextRepresentation> for TextRepresentation"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/cmp/trait.PartialOrd.js b/implementors/core/cmp/trait.PartialOrd.js new file mode 100644 index 00000000..b3f961cf --- /dev/null +++ b/implementors/core/cmp/trait.PartialOrd.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl PartialOrd<ExId> for ExId"],["impl PartialOrd<ActorId> for ActorId"],["impl PartialOrd<Prop> for Prop"],["impl PartialOrd<ChangeHash> for ChangeHash"]], +"automerge_test":[["impl PartialOrd<RealizedObject> for RealizedObject"],["impl PartialOrd<OrdScalarValue> for OrdScalarValue"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.AsRef.js b/implementors/core/convert/trait.AsRef.js new file mode 100644 index 00000000..c687f00a --- /dev/null +++ b/implementors/core/convert/trait.AsRef.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[["impl AsRef<ExId> for ExId"],["impl AsRef<[u8]> for ActorId"],["impl AsRef<[u8]> for ChangeHash"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.From.js b/implementors/core/convert/trait.From.js new file mode 100644 index 00000000..d6c7f330 --- /dev/null +++ b/implementors/core/convert/trait.From.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<'a, R: ReadDoc> From<&'a R> for AutoSerde<'a, R>"],["impl From<Change> for Change"],["impl From<&Change> for ExpandedChange"],["impl From<InvalidChangeHashSlice> for AutomergeError"],["impl From<LoadError> for AutomergeError"],["impl From<AutomergeError> for JsValue"],["impl From<Uuid> for ActorId"],["impl From<&[u8]> for ActorId"],["impl From<&Vec<u8, Global>> for ActorId"],["impl From<Vec<u8, Global>> for ActorId"],["impl<const N: usize> From<[u8; N]> for ActorId"],["impl<const N: usize> From<&[u8; N]> for ActorId"],["impl From<ObjType> for OpType"],["impl From<ScalarValue> for OpType"],["impl From<String> for Prop"],["impl From<&String> for Prop"],["impl From<&str> for Prop"],["impl From<usize> for Prop"],["impl From<f64> for Prop"],["impl From<FromHexError> for ParseChangeHashError"],["impl From<Prop> for JsValue"],["impl<'a> From<&str> for Value<'a>"],["impl<'a> From<&String> for Value<'a>"],["impl<'a> From<String> for Value<'a>"],["impl<'a> From<SmolStr> for Value<'a>"],["impl<'a> From<char> for Value<'a>"],["impl<'a> From<Vec<u8, Global>> for Value<'a>"],["impl<'a> From<f64> for Value<'a>"],["impl<'a> From<i64> for Value<'a>"],["impl<'a> From<i32> for Value<'a>"],["impl<'a> From<u32> for Value<'a>"],["impl<'a> From<u64> for Value<'a>"],["impl<'a> From<bool> for Value<'a>"],["impl<'a> From<()> for Value<'a>"],["impl<'a> From<ObjType> for Value<'a>"],["impl<'a> From<ScalarValue> for Value<'a>"],["impl From<&str> for ScalarValue"],["impl From<&String> for ScalarValue"],["impl From<String> for ScalarValue"],["impl From<Vec<u8, Global>> for ScalarValue"],["impl From<i64> for ScalarValue"],["impl From<f64> for ScalarValue"],["impl From<u64> for ScalarValue"],["impl From<u32> for ScalarValue"],["impl From<i32> for ScalarValue"],["impl From<bool> for ScalarValue"],["impl From<()> for ScalarValue"],["impl From<char> for ScalarValue"]], +"automerge_test":[["impl From<ScalarValue> for OrdScalarValue"],["impl From<&OrdScalarValue> for ScalarValue"],["impl<I: Into<RealizedObject>> From<BTreeMap<&str, BTreeSet<I, Global>, Global>> for RealizedObject"],["impl<I: Into<RealizedObject>> From<Vec<BTreeSet<I, Global>, Global>> for RealizedObject"],["impl From<bool> for RealizedObject"],["impl From<usize> for RealizedObject"],["impl From<u64> for RealizedObject"],["impl From<u32> for RealizedObject"],["impl From<i64> for RealizedObject"],["impl From<i32> for RealizedObject"],["impl From<ScalarValue> for RealizedObject"],["impl From<&str> for RealizedObject"],["impl From<f64> for RealizedObject"],["impl From<Vec<u64, Global>> for RealizedObject"]], +"automerge_wasm":[["impl From<Automerge> for JsValue"],["impl From<FromHexError> for BadActorId"],["impl From<BadActorId> for JsValue"],["impl From<AutomergeError> for ApplyChangesError"],["impl From<ApplyChangesError> for JsValue"],["impl From<BadActorId> for Fork"],["impl From<AutomergeError> for Fork"],["impl From<Fork> for JsValue"],["impl From<AutomergeError> for Merge"],["impl From<Merge> for JsValue"],["impl From<AutomergeError> for Get"],["impl From<Get> for JsValue"],["impl From<AutomergeError> for Splice"],["impl From<Splice> for JsValue"],["impl From<AutomergeError> for Insert"],["impl From<Insert> for JsValue"],["impl From<AutomergeError> for InsertObject"],["impl From<InsertObject> for JsValue"],["impl From<AutomergeError> for Increment"],["impl From<Increment> for JsValue"],["impl From<ReadMessageError> for BadSyncMessage"],["impl From<BadSyncMessage> for JsValue"],["impl From<ApplyPatch> for JsValue"],["impl From<PopPatches> for JsValue"],["impl From<Materialize> for JsValue"],["impl From<ReadMessageError> for ReceiveSyncMessage"],["impl From<AutomergeError> for ReceiveSyncMessage"],["impl From<ReceiveSyncMessage> for JsValue"],["impl From<AutomergeError> for Load"],["impl From<BadActorId> for Load"],["impl From<Load> for JsValue"],["impl From<Error> for EncodeChange"],["impl From<EncodeChange> for JsValue"],["impl From<LoadError> for DecodeChange"],["impl From<Error> for DecodeChange"],["impl From<DecodeChange> for JsValue"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/convert/trait.TryFrom.js b/implementors/core/convert/trait.TryFrom.js new file mode 100644 index 00000000..b0a1581d --- /dev/null +++ b/implementors/core/convert/trait.TryFrom.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[["impl<'a> TryFrom<&'a [u8]> for Change"],["impl<'a> TryFrom<&'a [u8]> for ExId"],["impl TryFrom<&[u8]> for BloomFilter"],["impl TryFrom<&str> for ActorId"],["impl TryFrom<String> for ActorId"],["impl TryFrom<&[u8]> for ChangeHash"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/default/trait.Default.js b/implementors/core/default/trait.Default.js new file mode 100644 index 00000000..a7e87a69 --- /dev/null +++ b/implementors/core/default/trait.Default.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl<O: OpObserver + BranchableObserver + Default> Default for AutoCommitWithObs<Observed<O>>"],["impl Default for Automerge"],["impl Default for VecOpObserver"],["impl Default for BloomFilter"],["impl Default for State"],["impl Default for Have"],["impl Default for CommitOptions"],["impl Default for UnObserved"],["impl Default for TextEncoding"]], +"automerge_wasm":[["impl Default for TextRepresentation"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/error/trait.Error.js b/implementors/core/error/trait.Error.js new file mode 100644 index 00000000..57ae57dd --- /dev/null +++ b/implementors/core/error/trait.Error.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl Error for LoadError"],["impl Error for AutomergeError"],["impl Error for InvalidActorId"],["impl Error for InvalidChangeHashSlice"],["impl Error for ObjIdFromBytesError"],["impl Error for DecodeError"],["impl Error for DecodeError"],["impl Error for ReadMessageError"],["impl Error for ParseChangeHashError"]], +"automerge_wasm":[["impl Error for BadActorId"],["impl Error for ApplyChangesError"],["impl Error for Fork"],["impl Error for Merge"],["impl Error for Get"],["impl Error for Splice"],["impl Error for Insert"],["impl Error for InsertObject"],["impl Error for Increment"],["impl Error for BadSyncMessage"],["impl Error for ApplyPatch"],["impl Error for PopPatches"],["impl Error for Materialize"],["impl Error for ReceiveSyncMessage"],["impl Error for Load"],["impl Error for EncodeChange"],["impl Error for DecodeChange"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Debug.js b/implementors/core/fmt/trait.Debug.js new file mode 100644 index 00000000..19c07ba4 --- /dev/null +++ b/implementors/core/fmt/trait.Debug.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<Obs: Debug + Observation> Debug for AutoCommitWithObs<Obs>"],["impl Debug for OnPartialLoad"],["impl Debug for Automerge"],["impl<'a, R: Debug + ReadDoc> Debug for AutoSerde<'a, R>"],["impl Debug for Change"],["impl Debug for LoadError"],["impl Debug for AutomergeError"],["impl Debug for InvalidActorId"],["impl Debug for InvalidChangeHashSlice"],["impl Debug for ExId"],["impl Debug for ObjIdFromBytesError"],["impl<'a, 'k> Debug for Keys<'a, 'k>"],["impl<'a, 'k> Debug for KeysAt<'a, 'k>"],["impl Debug for Change"],["impl<'a, R: Debug + RangeBounds<usize>> Debug for ListRange<'a, R>"],["impl<'a, R: Debug + RangeBounds<usize>> Debug for ListRangeAt<'a, R>"],["impl<'a, R: Debug + RangeBounds<String>> Debug for MapRange<'a, R>"],["impl<'a, R: Debug + RangeBounds<String>> Debug for MapRangeAt<'a, R>"],["impl Debug for VecOpObserver"],["impl Debug for Patch"],["impl<'a> Debug for Parents<'a>"],["impl Debug for Parent"],["impl Debug for BloomFilter"],["impl Debug for DecodeError"],["impl Debug for DecodeError"],["impl Debug for State"],["impl Debug for Have"],["impl Debug for ReadMessageError"],["impl Debug for Message"],["impl Debug for CommitOptions"],["impl<'a, Obs: Debug + Observation> Debug for Transaction<'a, Obs>"],["impl<Obs: Debug + OpObserver + BranchableObserver> Debug for Observed<Obs>"],["impl Debug for UnObserved"],["impl<O: Debug, Obs: Debug> Debug for Success<O, Obs>"],["impl<E: Debug> Debug for Failure<E>"],["impl Debug for ActorId"],["impl Debug for ObjType"],["impl Debug for OpType"],["impl Debug for Prop"],["impl Debug for TextEncoding"],["impl Debug for ChangeHash"],["impl Debug for ParseChangeHashError"],["impl<'a> Debug for Value<'a>"],["impl Debug for ScalarValue"],["impl<'a> Debug for Values<'a>"]], +"automerge_test":[["impl Debug for ExportedOpId"],["impl Debug for RealizedObject"],["impl Debug for OrdScalarValue"]], +"automerge_wasm":[["impl Debug for TextRepresentation"],["impl Debug for Automerge"],["impl Debug for BadActorId"],["impl Debug for ApplyChangesError"],["impl Debug for Fork"],["impl Debug for Merge"],["impl Debug for Get"],["impl Debug for Splice"],["impl Debug for Insert"],["impl Debug for InsertObject"],["impl Debug for Increment"],["impl Debug for BadSyncMessage"],["impl Debug for ApplyPatch"],["impl Debug for PopPatches"],["impl Debug for Materialize"],["impl Debug for ReceiveSyncMessage"],["impl Debug for Load"],["impl Debug for EncodeChange"],["impl Debug for DecodeChange"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/fmt/trait.Display.js b/implementors/core/fmt/trait.Display.js new file mode 100644 index 00000000..0e918a56 --- /dev/null +++ b/implementors/core/fmt/trait.Display.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl Display for LoadError"],["impl Display for AutomergeError"],["impl Display for InvalidActorId"],["impl Display for InvalidChangeHashSlice"],["impl Display for ObjIdFromBytesError"],["impl Display for ExId"],["impl Display for DecodeError"],["impl Display for DecodeError"],["impl Display for ReadMessageError"],["impl Display for ActorId"],["impl Display for ObjType"],["impl Display for Prop"],["impl Display for ChangeHash"],["impl Display for ParseChangeHashError"],["impl<'a> Display for Value<'a>"],["impl Display for ScalarValue"]], +"automerge_test":[["impl Display for ExportedOpId"]], +"automerge_wasm":[["impl Display for BadActorId"],["impl Display for ApplyChangesError"],["impl Display for Fork"],["impl Display for Merge"],["impl Display for Get"],["impl Display for Splice"],["impl Display for Insert"],["impl Display for InsertObject"],["impl Display for Increment"],["impl Display for BadSyncMessage"],["impl Display for ApplyPatch"],["impl Display for PopPatches"],["impl Display for Materialize"],["impl Display for ReceiveSyncMessage"],["impl Display for Load"],["impl Display for EncodeChange"],["impl Display for DecodeChange"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/hash/trait.Hash.js b/implementors/core/hash/trait.Hash.js new file mode 100644 index 00000000..ebdc50de --- /dev/null +++ b/implementors/core/hash/trait.Hash.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl Hash for ExId"],["impl Hash for BloomFilter"],["impl Hash for State"],["impl Hash for Have"],["impl Hash for ActorId"],["impl Hash for ObjType"],["impl Hash for ChangeHash"]], +"automerge_test":[["impl Hash for ExportedOpId"],["impl Hash for RealizedObject"],["impl Hash for OrdScalarValue"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/double_ended/trait.DoubleEndedIterator.js b/implementors/core/iter/traits/double_ended/trait.DoubleEndedIterator.js new file mode 100644 index 00000000..6a0c1c53 --- /dev/null +++ b/implementors/core/iter/traits/double_ended/trait.DoubleEndedIterator.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[["impl<'a, 'k> DoubleEndedIterator for Keys<'a, 'k>"],["impl<'a, 'k> DoubleEndedIterator for KeysAt<'a, 'k>"],["impl<'a, R: RangeBounds<String>> DoubleEndedIterator for MapRange<'a, R>"],["impl<'a, R: RangeBounds<String>> DoubleEndedIterator for MapRangeAt<'a, R>"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/iter/traits/iterator/trait.Iterator.js b/implementors/core/iter/traits/iterator/trait.Iterator.js new file mode 100644 index 00000000..cc12af36 --- /dev/null +++ b/implementors/core/iter/traits/iterator/trait.Iterator.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[["impl<'a, 'k> Iterator for Keys<'a, 'k>"],["impl<'a, 'k> Iterator for KeysAt<'a, 'k>"],["impl<'a, R: RangeBounds<usize>> Iterator for ListRange<'a, R>"],["impl<'a, R: RangeBounds<usize>> Iterator for ListRangeAt<'a, R>"],["impl<'a, R: RangeBounds<String>> Iterator for MapRange<'a, R>"],["impl<'a, R: RangeBounds<String>> Iterator for MapRangeAt<'a, R>"],["impl<'a> Iterator for Parents<'a>"],["impl<'a> Iterator for Values<'a>"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Copy.js b/implementors/core/marker/trait.Copy.js new file mode 100644 index 00000000..05c45972 --- /dev/null +++ b/implementors/core/marker/trait.Copy.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl Copy for OnPartialLoad"],["impl Copy for ObjType"],["impl Copy for TextEncoding"],["impl Copy for ChangeHash"]], +"automerge_wasm":[["impl Copy for TextRepresentation"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Freeze.js b/implementors/core/marker/trait.Freeze.js new file mode 100644 index 00000000..6f5338be --- /dev/null +++ b/implementors/core/marker/trait.Freeze.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<Obs> Freeze for AutoCommitWithObs<Obs>where
    Obs: Freeze,
",1,["automerge::autocommit::AutoCommitWithObs"]],["impl Freeze for OnPartialLoad",1,["automerge::automerge::OnPartialLoad"]],["impl Freeze for Automerge",1,["automerge::automerge::Automerge"]],["impl<'a, R> Freeze for AutoSerde<'a, R>",1,["automerge::autoserde::AutoSerde"]],["impl Freeze for Change",1,["automerge::change::Change"]],["impl Freeze for LoadError",1,["automerge::change::LoadError"]],["impl Freeze for AutomergeError",1,["automerge::error::AutomergeError"]],["impl Freeze for InvalidActorId",1,["automerge::error::InvalidActorId"]],["impl Freeze for InvalidChangeHashSlice",1,["automerge::error::InvalidChangeHashSlice"]],["impl Freeze for ExId",1,["automerge::exid::ExId"]],["impl Freeze for ObjIdFromBytesError",1,["automerge::exid::ObjIdFromBytesError"]],["impl<'a, 'k> Freeze for Keys<'a, 'k>",1,["automerge::keys::Keys"]],["impl<'a, 'k> Freeze for KeysAt<'a, 'k>",1,["automerge::keys_at::KeysAt"]],["impl Freeze for Change",1,["automerge::legacy::Change"]],["impl<'a, R> Freeze for ListRange<'a, R>where
    R: Freeze,
",1,["automerge::list_range::ListRange"]],["impl<'a, R> Freeze for ListRangeAt<'a, R>where
    R: Freeze,
",1,["automerge::list_range_at::ListRangeAt"]],["impl<'a, R> Freeze for MapRange<'a, R>where
    R: Freeze,
",1,["automerge::map_range::MapRange"]],["impl<'a, R> Freeze for MapRangeAt<'a, R>where
    R: Freeze,
",1,["automerge::map_range_at::MapRangeAt"]],["impl Freeze for VecOpObserver",1,["automerge::op_observer::VecOpObserver"]],["impl Freeze for Patch",1,["automerge::op_observer::Patch"]],["impl<'a> Freeze for Parents<'a>",1,["automerge::parents::Parents"]],["impl Freeze for Parent",1,["automerge::parents::Parent"]],["impl Freeze for BloomFilter",1,["automerge::sync::bloom::BloomFilter"]],["impl Freeze for DecodeError",1,["automerge::sync::bloom::DecodeError"]],["impl Freeze for DecodeError",1,["automerge::sync::state::DecodeError"]],["impl Freeze for State",1,["automerge::sync::state::State"]],["impl Freeze for Have",1,["automerge::sync::state::Have"]],["impl Freeze for ReadMessageError",1,["automerge::sync::ReadMessageError"]],["impl Freeze for Message",1,["automerge::sync::Message"]],["impl Freeze for CommitOptions",1,["automerge::transaction::commit::CommitOptions"]],["impl<'a, Obs> Freeze for Transaction<'a, Obs>where
    Obs: Freeze,
",1,["automerge::transaction::manual_transaction::Transaction"]],["impl<Obs> Freeze for Observed<Obs>where
    Obs: Freeze,
",1,["automerge::transaction::observation::Observed"]],["impl Freeze for UnObserved",1,["automerge::transaction::observation::UnObserved"]],["impl<O, Obs> Freeze for Success<O, Obs>where
    O: Freeze,
    Obs: Freeze,
",1,["automerge::transaction::result::Success"]],["impl<E> Freeze for Failure<E>where
    E: Freeze,
",1,["automerge::transaction::result::Failure"]],["impl Freeze for ActorId",1,["automerge::types::ActorId"]],["impl Freeze for ObjType",1,["automerge::types::ObjType"]],["impl Freeze for OpType",1,["automerge::types::OpType"]],["impl Freeze for Prop",1,["automerge::types::Prop"]],["impl Freeze for TextEncoding",1,["automerge::types::TextEncoding"]],["impl Freeze for ChangeHash",1,["automerge::types::ChangeHash"]],["impl Freeze for ParseChangeHashError",1,["automerge::types::ParseChangeHashError"]],["impl<'a> Freeze for Value<'a>",1,["automerge::value::Value"]],["impl Freeze for ScalarValue",1,["automerge::value::ScalarValue"]],["impl<'a> Freeze for Values<'a>",1,["automerge::values::Values"]]], +"automerge_test":[["impl Freeze for ExportedOpId",1,["automerge_test::ExportedOpId"]],["impl Freeze for RealizedObject",1,["automerge_test::RealizedObject"]],["impl Freeze for OrdScalarValue",1,["automerge_test::OrdScalarValue"]]], +"automerge_wasm":[["impl Freeze for BadActorId",1,["automerge_wasm::error::BadActorId"]],["impl Freeze for ApplyChangesError",1,["automerge_wasm::error::ApplyChangesError"]],["impl Freeze for Fork",1,["automerge_wasm::error::Fork"]],["impl Freeze for Merge",1,["automerge_wasm::error::Merge"]],["impl Freeze for Get",1,["automerge_wasm::error::Get"]],["impl Freeze for Splice",1,["automerge_wasm::error::Splice"]],["impl Freeze for Insert",1,["automerge_wasm::error::Insert"]],["impl Freeze for InsertObject",1,["automerge_wasm::error::InsertObject"]],["impl Freeze for Increment",1,["automerge_wasm::error::Increment"]],["impl Freeze for BadSyncMessage",1,["automerge_wasm::error::BadSyncMessage"]],["impl Freeze for ApplyPatch",1,["automerge_wasm::error::ApplyPatch"]],["impl Freeze for PopPatches",1,["automerge_wasm::error::PopPatches"]],["impl Freeze for Materialize",1,["automerge_wasm::error::Materialize"]],["impl Freeze for ReceiveSyncMessage",1,["automerge_wasm::error::ReceiveSyncMessage"]],["impl Freeze for Load",1,["automerge_wasm::error::Load"]],["impl Freeze for EncodeChange",1,["automerge_wasm::error::EncodeChange"]],["impl Freeze for DecodeChange",1,["automerge_wasm::error::DecodeChange"]],["impl Freeze for TextRepresentation",1,["automerge_wasm::TextRepresentation"]],["impl Freeze for Automerge",1,["automerge_wasm::Automerge"]]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Send.js b/implementors/core/marker/trait.Send.js new file mode 100644 index 00000000..cec0deab --- /dev/null +++ b/implementors/core/marker/trait.Send.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<Obs> Send for AutoCommitWithObs<Obs>where
    Obs: Send,
",1,["automerge::autocommit::AutoCommitWithObs"]],["impl Send for OnPartialLoad",1,["automerge::automerge::OnPartialLoad"]],["impl Send for Automerge",1,["automerge::automerge::Automerge"]],["impl<'a, R> Send for AutoSerde<'a, R>where
    R: Sync,
",1,["automerge::autoserde::AutoSerde"]],["impl Send for Change",1,["automerge::change::Change"]],["impl Send for LoadError",1,["automerge::change::LoadError"]],["impl Send for AutomergeError",1,["automerge::error::AutomergeError"]],["impl Send for InvalidActorId",1,["automerge::error::InvalidActorId"]],["impl Send for InvalidChangeHashSlice",1,["automerge::error::InvalidChangeHashSlice"]],["impl Send for ExId",1,["automerge::exid::ExId"]],["impl Send for ObjIdFromBytesError",1,["automerge::exid::ObjIdFromBytesError"]],["impl<'a, 'k> Send for Keys<'a, 'k>",1,["automerge::keys::Keys"]],["impl<'a, 'k> Send for KeysAt<'a, 'k>",1,["automerge::keys_at::KeysAt"]],["impl Send for Change",1,["automerge::legacy::Change"]],["impl<'a, R> Send for ListRange<'a, R>where
    R: Send,
",1,["automerge::list_range::ListRange"]],["impl<'a, R> Send for ListRangeAt<'a, R>where
    R: Send,
",1,["automerge::list_range_at::ListRangeAt"]],["impl<'a, R> Send for MapRange<'a, R>where
    R: Send,
",1,["automerge::map_range::MapRange"]],["impl<'a, R> Send for MapRangeAt<'a, R>where
    R: Send,
",1,["automerge::map_range_at::MapRangeAt"]],["impl Send for VecOpObserver",1,["automerge::op_observer::VecOpObserver"]],["impl Send for Patch",1,["automerge::op_observer::Patch"]],["impl<'a> Send for Parents<'a>",1,["automerge::parents::Parents"]],["impl Send for Parent",1,["automerge::parents::Parent"]],["impl Send for BloomFilter",1,["automerge::sync::bloom::BloomFilter"]],["impl Send for DecodeError",1,["automerge::sync::bloom::DecodeError"]],["impl Send for DecodeError",1,["automerge::sync::state::DecodeError"]],["impl Send for State",1,["automerge::sync::state::State"]],["impl Send for Have",1,["automerge::sync::state::Have"]],["impl Send for ReadMessageError",1,["automerge::sync::ReadMessageError"]],["impl Send for Message",1,["automerge::sync::Message"]],["impl Send for CommitOptions",1,["automerge::transaction::commit::CommitOptions"]],["impl<'a, Obs> Send for Transaction<'a, Obs>where
    Obs: Send,
",1,["automerge::transaction::manual_transaction::Transaction"]],["impl<Obs> Send for Observed<Obs>where
    Obs: Send,
",1,["automerge::transaction::observation::Observed"]],["impl Send for UnObserved",1,["automerge::transaction::observation::UnObserved"]],["impl<O, Obs> Send for Success<O, Obs>where
    O: Send,
    Obs: Send,
",1,["automerge::transaction::result::Success"]],["impl<E> Send for Failure<E>where
    E: Send,
",1,["automerge::transaction::result::Failure"]],["impl Send for ActorId",1,["automerge::types::ActorId"]],["impl Send for ObjType",1,["automerge::types::ObjType"]],["impl Send for OpType",1,["automerge::types::OpType"]],["impl Send for Prop",1,["automerge::types::Prop"]],["impl Send for TextEncoding",1,["automerge::types::TextEncoding"]],["impl Send for ChangeHash",1,["automerge::types::ChangeHash"]],["impl Send for ParseChangeHashError",1,["automerge::types::ParseChangeHashError"]],["impl<'a> Send for Value<'a>",1,["automerge::value::Value"]],["impl Send for ScalarValue",1,["automerge::value::ScalarValue"]],["impl<'a> !Send for Values<'a>",1,["automerge::values::Values"]]], +"automerge_test":[["impl Send for ExportedOpId",1,["automerge_test::ExportedOpId"]],["impl Send for RealizedObject",1,["automerge_test::RealizedObject"]],["impl Send for OrdScalarValue",1,["automerge_test::OrdScalarValue"]]], +"automerge_wasm":[["impl Send for BadActorId",1,["automerge_wasm::error::BadActorId"]],["impl Send for ApplyChangesError",1,["automerge_wasm::error::ApplyChangesError"]],["impl Send for Fork",1,["automerge_wasm::error::Fork"]],["impl Send for Merge",1,["automerge_wasm::error::Merge"]],["impl Send for Get",1,["automerge_wasm::error::Get"]],["impl Send for Splice",1,["automerge_wasm::error::Splice"]],["impl Send for Insert",1,["automerge_wasm::error::Insert"]],["impl Send for InsertObject",1,["automerge_wasm::error::InsertObject"]],["impl Send for Increment",1,["automerge_wasm::error::Increment"]],["impl Send for BadSyncMessage",1,["automerge_wasm::error::BadSyncMessage"]],["impl !Send for ApplyPatch",1,["automerge_wasm::error::ApplyPatch"]],["impl !Send for PopPatches",1,["automerge_wasm::error::PopPatches"]],["impl !Send for Materialize",1,["automerge_wasm::error::Materialize"]],["impl Send for ReceiveSyncMessage",1,["automerge_wasm::error::ReceiveSyncMessage"]],["impl Send for Load",1,["automerge_wasm::error::Load"]],["impl Send for EncodeChange",1,["automerge_wasm::error::EncodeChange"]],["impl !Send for DecodeChange",1,["automerge_wasm::error::DecodeChange"]],["impl Send for TextRepresentation",1,["automerge_wasm::TextRepresentation"]],["impl !Send for Automerge",1,["automerge_wasm::Automerge"]]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralEq.js b/implementors/core/marker/trait.StructuralEq.js new file mode 100644 index 00000000..9e43d683 --- /dev/null +++ b/implementors/core/marker/trait.StructuralEq.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl StructuralEq for OnPartialLoad"],["impl StructuralEq for InvalidChangeHashSlice"],["impl StructuralEq for Parent"],["impl StructuralEq for BloomFilter"],["impl StructuralEq for State"],["impl StructuralEq for Have"],["impl StructuralEq for ActorId"],["impl StructuralEq for ObjType"],["impl StructuralEq for Prop"],["impl StructuralEq for TextEncoding"],["impl StructuralEq for ChangeHash"]], +"automerge_test":[["impl StructuralEq for ExportedOpId"],["impl StructuralEq for RealizedObject"],["impl StructuralEq for OrdScalarValue"]], +"automerge_wasm":[["impl StructuralEq for TextRepresentation"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.StructuralPartialEq.js b/implementors/core/marker/trait.StructuralPartialEq.js new file mode 100644 index 00000000..46c4b637 --- /dev/null +++ b/implementors/core/marker/trait.StructuralPartialEq.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl StructuralPartialEq for OnPartialLoad"],["impl StructuralPartialEq for Change"],["impl StructuralPartialEq for InvalidChangeHashSlice"],["impl StructuralPartialEq for Patch"],["impl StructuralPartialEq for Parent"],["impl StructuralPartialEq for BloomFilter"],["impl StructuralPartialEq for State"],["impl StructuralPartialEq for Have"],["impl StructuralPartialEq for Message"],["impl StructuralPartialEq for ActorId"],["impl StructuralPartialEq for ObjType"],["impl StructuralPartialEq for OpType"],["impl StructuralPartialEq for Prop"],["impl StructuralPartialEq for TextEncoding"],["impl StructuralPartialEq for ChangeHash"],["impl<'a> StructuralPartialEq for Value<'a>"],["impl StructuralPartialEq for ScalarValue"]], +"automerge_test":[["impl StructuralPartialEq for ExportedOpId"],["impl StructuralPartialEq for RealizedObject"],["impl StructuralPartialEq for OrdScalarValue"]], +"automerge_wasm":[["impl StructuralPartialEq for TextRepresentation"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Sync.js b/implementors/core/marker/trait.Sync.js new file mode 100644 index 00000000..6cd3c446 --- /dev/null +++ b/implementors/core/marker/trait.Sync.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<Obs> Sync for AutoCommitWithObs<Obs>where
    Obs: Sync,
",1,["automerge::autocommit::AutoCommitWithObs"]],["impl Sync for OnPartialLoad",1,["automerge::automerge::OnPartialLoad"]],["impl Sync for Automerge",1,["automerge::automerge::Automerge"]],["impl<'a, R> Sync for AutoSerde<'a, R>where
    R: Sync,
",1,["automerge::autoserde::AutoSerde"]],["impl Sync for Change",1,["automerge::change::Change"]],["impl Sync for LoadError",1,["automerge::change::LoadError"]],["impl Sync for AutomergeError",1,["automerge::error::AutomergeError"]],["impl Sync for InvalidActorId",1,["automerge::error::InvalidActorId"]],["impl Sync for InvalidChangeHashSlice",1,["automerge::error::InvalidChangeHashSlice"]],["impl Sync for ExId",1,["automerge::exid::ExId"]],["impl Sync for ObjIdFromBytesError",1,["automerge::exid::ObjIdFromBytesError"]],["impl<'a, 'k> Sync for Keys<'a, 'k>",1,["automerge::keys::Keys"]],["impl<'a, 'k> Sync for KeysAt<'a, 'k>",1,["automerge::keys_at::KeysAt"]],["impl Sync for Change",1,["automerge::legacy::Change"]],["impl<'a, R> Sync for ListRange<'a, R>where
    R: Sync,
",1,["automerge::list_range::ListRange"]],["impl<'a, R> Sync for ListRangeAt<'a, R>where
    R: Sync,
",1,["automerge::list_range_at::ListRangeAt"]],["impl<'a, R> Sync for MapRange<'a, R>where
    R: Sync,
",1,["automerge::map_range::MapRange"]],["impl<'a, R> Sync for MapRangeAt<'a, R>where
    R: Sync,
",1,["automerge::map_range_at::MapRangeAt"]],["impl Sync for VecOpObserver",1,["automerge::op_observer::VecOpObserver"]],["impl Sync for Patch",1,["automerge::op_observer::Patch"]],["impl<'a> Sync for Parents<'a>",1,["automerge::parents::Parents"]],["impl Sync for Parent",1,["automerge::parents::Parent"]],["impl Sync for BloomFilter",1,["automerge::sync::bloom::BloomFilter"]],["impl Sync for DecodeError",1,["automerge::sync::bloom::DecodeError"]],["impl Sync for DecodeError",1,["automerge::sync::state::DecodeError"]],["impl Sync for State",1,["automerge::sync::state::State"]],["impl Sync for Have",1,["automerge::sync::state::Have"]],["impl Sync for ReadMessageError",1,["automerge::sync::ReadMessageError"]],["impl Sync for Message",1,["automerge::sync::Message"]],["impl Sync for CommitOptions",1,["automerge::transaction::commit::CommitOptions"]],["impl<'a, Obs> Sync for Transaction<'a, Obs>where
    Obs: Sync,
",1,["automerge::transaction::manual_transaction::Transaction"]],["impl<Obs> Sync for Observed<Obs>where
    Obs: Sync,
",1,["automerge::transaction::observation::Observed"]],["impl Sync for UnObserved",1,["automerge::transaction::observation::UnObserved"]],["impl<O, Obs> Sync for Success<O, Obs>where
    O: Sync,
    Obs: Sync,
",1,["automerge::transaction::result::Success"]],["impl<E> Sync for Failure<E>where
    E: Sync,
",1,["automerge::transaction::result::Failure"]],["impl Sync for ActorId",1,["automerge::types::ActorId"]],["impl Sync for ObjType",1,["automerge::types::ObjType"]],["impl Sync for OpType",1,["automerge::types::OpType"]],["impl Sync for Prop",1,["automerge::types::Prop"]],["impl Sync for TextEncoding",1,["automerge::types::TextEncoding"]],["impl Sync for ChangeHash",1,["automerge::types::ChangeHash"]],["impl Sync for ParseChangeHashError",1,["automerge::types::ParseChangeHashError"]],["impl<'a> Sync for Value<'a>",1,["automerge::value::Value"]],["impl Sync for ScalarValue",1,["automerge::value::ScalarValue"]],["impl<'a> !Sync for Values<'a>",1,["automerge::values::Values"]]], +"automerge_test":[["impl Sync for ExportedOpId",1,["automerge_test::ExportedOpId"]],["impl Sync for RealizedObject",1,["automerge_test::RealizedObject"]],["impl Sync for OrdScalarValue",1,["automerge_test::OrdScalarValue"]]], +"automerge_wasm":[["impl Sync for BadActorId",1,["automerge_wasm::error::BadActorId"]],["impl Sync for ApplyChangesError",1,["automerge_wasm::error::ApplyChangesError"]],["impl Sync for Fork",1,["automerge_wasm::error::Fork"]],["impl Sync for Merge",1,["automerge_wasm::error::Merge"]],["impl Sync for Get",1,["automerge_wasm::error::Get"]],["impl Sync for Splice",1,["automerge_wasm::error::Splice"]],["impl Sync for Insert",1,["automerge_wasm::error::Insert"]],["impl Sync for InsertObject",1,["automerge_wasm::error::InsertObject"]],["impl Sync for Increment",1,["automerge_wasm::error::Increment"]],["impl Sync for BadSyncMessage",1,["automerge_wasm::error::BadSyncMessage"]],["impl !Sync for ApplyPatch",1,["automerge_wasm::error::ApplyPatch"]],["impl !Sync for PopPatches",1,["automerge_wasm::error::PopPatches"]],["impl !Sync for Materialize",1,["automerge_wasm::error::Materialize"]],["impl Sync for ReceiveSyncMessage",1,["automerge_wasm::error::ReceiveSyncMessage"]],["impl Sync for Load",1,["automerge_wasm::error::Load"]],["impl Sync for EncodeChange",1,["automerge_wasm::error::EncodeChange"]],["impl !Sync for DecodeChange",1,["automerge_wasm::error::DecodeChange"]],["impl Sync for TextRepresentation",1,["automerge_wasm::TextRepresentation"]],["impl !Sync for Automerge",1,["automerge_wasm::Automerge"]]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/marker/trait.Unpin.js b/implementors/core/marker/trait.Unpin.js new file mode 100644 index 00000000..89c1ce36 --- /dev/null +++ b/implementors/core/marker/trait.Unpin.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<Obs> Unpin for AutoCommitWithObs<Obs>where
    Obs: Unpin,
",1,["automerge::autocommit::AutoCommitWithObs"]],["impl Unpin for OnPartialLoad",1,["automerge::automerge::OnPartialLoad"]],["impl Unpin for Automerge",1,["automerge::automerge::Automerge"]],["impl<'a, R> Unpin for AutoSerde<'a, R>",1,["automerge::autoserde::AutoSerde"]],["impl Unpin for Change",1,["automerge::change::Change"]],["impl Unpin for LoadError",1,["automerge::change::LoadError"]],["impl Unpin for AutomergeError",1,["automerge::error::AutomergeError"]],["impl Unpin for InvalidActorId",1,["automerge::error::InvalidActorId"]],["impl Unpin for InvalidChangeHashSlice",1,["automerge::error::InvalidChangeHashSlice"]],["impl Unpin for ExId",1,["automerge::exid::ExId"]],["impl Unpin for ObjIdFromBytesError",1,["automerge::exid::ObjIdFromBytesError"]],["impl<'a, 'k> Unpin for Keys<'a, 'k>",1,["automerge::keys::Keys"]],["impl<'a, 'k> Unpin for KeysAt<'a, 'k>",1,["automerge::keys_at::KeysAt"]],["impl Unpin for Change",1,["automerge::legacy::Change"]],["impl<'a, R> Unpin for ListRange<'a, R>where
    R: Unpin,
",1,["automerge::list_range::ListRange"]],["impl<'a, R> Unpin for ListRangeAt<'a, R>where
    R: Unpin,
",1,["automerge::list_range_at::ListRangeAt"]],["impl<'a, R> Unpin for MapRange<'a, R>where
    R: Unpin,
",1,["automerge::map_range::MapRange"]],["impl<'a, R> Unpin for MapRangeAt<'a, R>where
    R: Unpin,
",1,["automerge::map_range_at::MapRangeAt"]],["impl Unpin for VecOpObserver",1,["automerge::op_observer::VecOpObserver"]],["impl Unpin for Patch",1,["automerge::op_observer::Patch"]],["impl<'a> Unpin for Parents<'a>",1,["automerge::parents::Parents"]],["impl Unpin for Parent",1,["automerge::parents::Parent"]],["impl Unpin for BloomFilter",1,["automerge::sync::bloom::BloomFilter"]],["impl Unpin for DecodeError",1,["automerge::sync::bloom::DecodeError"]],["impl Unpin for DecodeError",1,["automerge::sync::state::DecodeError"]],["impl Unpin for State",1,["automerge::sync::state::State"]],["impl Unpin for Have",1,["automerge::sync::state::Have"]],["impl Unpin for ReadMessageError",1,["automerge::sync::ReadMessageError"]],["impl Unpin for Message",1,["automerge::sync::Message"]],["impl Unpin for CommitOptions",1,["automerge::transaction::commit::CommitOptions"]],["impl<'a, Obs> Unpin for Transaction<'a, Obs>where
    Obs: Unpin,
",1,["automerge::transaction::manual_transaction::Transaction"]],["impl<Obs> Unpin for Observed<Obs>where
    Obs: Unpin,
",1,["automerge::transaction::observation::Observed"]],["impl Unpin for UnObserved",1,["automerge::transaction::observation::UnObserved"]],["impl<O, Obs> Unpin for Success<O, Obs>where
    O: Unpin,
    Obs: Unpin,
",1,["automerge::transaction::result::Success"]],["impl<E> Unpin for Failure<E>where
    E: Unpin,
",1,["automerge::transaction::result::Failure"]],["impl Unpin for ActorId",1,["automerge::types::ActorId"]],["impl Unpin for ObjType",1,["automerge::types::ObjType"]],["impl Unpin for OpType",1,["automerge::types::OpType"]],["impl Unpin for Prop",1,["automerge::types::Prop"]],["impl Unpin for TextEncoding",1,["automerge::types::TextEncoding"]],["impl Unpin for ChangeHash",1,["automerge::types::ChangeHash"]],["impl Unpin for ParseChangeHashError",1,["automerge::types::ParseChangeHashError"]],["impl<'a> Unpin for Value<'a>",1,["automerge::value::Value"]],["impl Unpin for ScalarValue",1,["automerge::value::ScalarValue"]],["impl<'a> Unpin for Values<'a>",1,["automerge::values::Values"]]], +"automerge_test":[["impl Unpin for ExportedOpId",1,["automerge_test::ExportedOpId"]],["impl Unpin for RealizedObject",1,["automerge_test::RealizedObject"]],["impl Unpin for OrdScalarValue",1,["automerge_test::OrdScalarValue"]]], +"automerge_wasm":[["impl Unpin for BadActorId",1,["automerge_wasm::error::BadActorId"]],["impl Unpin for ApplyChangesError",1,["automerge_wasm::error::ApplyChangesError"]],["impl Unpin for Fork",1,["automerge_wasm::error::Fork"]],["impl Unpin for Merge",1,["automerge_wasm::error::Merge"]],["impl Unpin for Get",1,["automerge_wasm::error::Get"]],["impl Unpin for Splice",1,["automerge_wasm::error::Splice"]],["impl Unpin for Insert",1,["automerge_wasm::error::Insert"]],["impl Unpin for InsertObject",1,["automerge_wasm::error::InsertObject"]],["impl Unpin for Increment",1,["automerge_wasm::error::Increment"]],["impl Unpin for BadSyncMessage",1,["automerge_wasm::error::BadSyncMessage"]],["impl Unpin for ApplyPatch",1,["automerge_wasm::error::ApplyPatch"]],["impl Unpin for PopPatches",1,["automerge_wasm::error::PopPatches"]],["impl Unpin for Materialize",1,["automerge_wasm::error::Materialize"]],["impl Unpin for ReceiveSyncMessage",1,["automerge_wasm::error::ReceiveSyncMessage"]],["impl Unpin for Load",1,["automerge_wasm::error::Load"]],["impl Unpin for EncodeChange",1,["automerge_wasm::error::EncodeChange"]],["impl Unpin for DecodeChange",1,["automerge_wasm::error::DecodeChange"]],["impl Unpin for TextRepresentation",1,["automerge_wasm::TextRepresentation"]],["impl Unpin for Automerge",1,["automerge_wasm::Automerge"]]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/ops/drop/trait.Drop.js b/implementors/core/ops/drop/trait.Drop.js new file mode 100644 index 00000000..dd7248d6 --- /dev/null +++ b/implementors/core/ops/drop/trait.Drop.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[["impl<'a, Obs: Observation> Drop for Transaction<'a, Obs>"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js new file mode 100644 index 00000000..a5409261 --- /dev/null +++ b/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<Obs> RefUnwindSafe for AutoCommitWithObs<Obs>where
    Obs: RefUnwindSafe,
",1,["automerge::autocommit::AutoCommitWithObs"]],["impl RefUnwindSafe for OnPartialLoad",1,["automerge::automerge::OnPartialLoad"]],["impl RefUnwindSafe for Automerge",1,["automerge::automerge::Automerge"]],["impl<'a, R> RefUnwindSafe for AutoSerde<'a, R>where
    R: RefUnwindSafe,
",1,["automerge::autoserde::AutoSerde"]],["impl RefUnwindSafe for Change",1,["automerge::change::Change"]],["impl !RefUnwindSafe for LoadError",1,["automerge::change::LoadError"]],["impl !RefUnwindSafe for AutomergeError",1,["automerge::error::AutomergeError"]],["impl RefUnwindSafe for InvalidActorId",1,["automerge::error::InvalidActorId"]],["impl RefUnwindSafe for InvalidChangeHashSlice",1,["automerge::error::InvalidChangeHashSlice"]],["impl RefUnwindSafe for ExId",1,["automerge::exid::ExId"]],["impl RefUnwindSafe for ObjIdFromBytesError",1,["automerge::exid::ObjIdFromBytesError"]],["impl<'a, 'k> RefUnwindSafe for Keys<'a, 'k>",1,["automerge::keys::Keys"]],["impl<'a, 'k> RefUnwindSafe for KeysAt<'a, 'k>",1,["automerge::keys_at::KeysAt"]],["impl RefUnwindSafe for Change",1,["automerge::legacy::Change"]],["impl<'a, R> RefUnwindSafe for ListRange<'a, R>where
    R: RefUnwindSafe,
",1,["automerge::list_range::ListRange"]],["impl<'a, R> RefUnwindSafe for ListRangeAt<'a, R>where
    R: RefUnwindSafe,
",1,["automerge::list_range_at::ListRangeAt"]],["impl<'a, R> RefUnwindSafe for MapRange<'a, R>where
    R: RefUnwindSafe,
",1,["automerge::map_range::MapRange"]],["impl<'a, R> RefUnwindSafe for MapRangeAt<'a, R>where
    R: RefUnwindSafe,
",1,["automerge::map_range_at::MapRangeAt"]],["impl RefUnwindSafe for VecOpObserver",1,["automerge::op_observer::VecOpObserver"]],["impl RefUnwindSafe for Patch",1,["automerge::op_observer::Patch"]],["impl<'a> RefUnwindSafe for Parents<'a>",1,["automerge::parents::Parents"]],["impl RefUnwindSafe for Parent",1,["automerge::parents::Parent"]],["impl RefUnwindSafe for BloomFilter",1,["automerge::sync::bloom::BloomFilter"]],["impl RefUnwindSafe for DecodeError",1,["automerge::sync::bloom::DecodeError"]],["impl RefUnwindSafe for DecodeError",1,["automerge::sync::state::DecodeError"]],["impl RefUnwindSafe for State",1,["automerge::sync::state::State"]],["impl RefUnwindSafe for Have",1,["automerge::sync::state::Have"]],["impl RefUnwindSafe for ReadMessageError",1,["automerge::sync::ReadMessageError"]],["impl RefUnwindSafe for Message",1,["automerge::sync::Message"]],["impl RefUnwindSafe for CommitOptions",1,["automerge::transaction::commit::CommitOptions"]],["impl<'a, Obs> RefUnwindSafe for Transaction<'a, Obs>where
    Obs: RefUnwindSafe,
",1,["automerge::transaction::manual_transaction::Transaction"]],["impl<Obs> RefUnwindSafe for Observed<Obs>where
    Obs: RefUnwindSafe,
",1,["automerge::transaction::observation::Observed"]],["impl RefUnwindSafe for UnObserved",1,["automerge::transaction::observation::UnObserved"]],["impl<O, Obs> RefUnwindSafe for Success<O, Obs>where
    O: RefUnwindSafe,
    Obs: RefUnwindSafe,
",1,["automerge::transaction::result::Success"]],["impl<E> RefUnwindSafe for Failure<E>where
    E: RefUnwindSafe,
",1,["automerge::transaction::result::Failure"]],["impl RefUnwindSafe for ActorId",1,["automerge::types::ActorId"]],["impl RefUnwindSafe for ObjType",1,["automerge::types::ObjType"]],["impl RefUnwindSafe for OpType",1,["automerge::types::OpType"]],["impl RefUnwindSafe for Prop",1,["automerge::types::Prop"]],["impl RefUnwindSafe for TextEncoding",1,["automerge::types::TextEncoding"]],["impl RefUnwindSafe for ChangeHash",1,["automerge::types::ChangeHash"]],["impl RefUnwindSafe for ParseChangeHashError",1,["automerge::types::ParseChangeHashError"]],["impl<'a> RefUnwindSafe for Value<'a>",1,["automerge::value::Value"]],["impl RefUnwindSafe for ScalarValue",1,["automerge::value::ScalarValue"]],["impl<'a> !RefUnwindSafe for Values<'a>",1,["automerge::values::Values"]]], +"automerge_test":[["impl RefUnwindSafe for ExportedOpId",1,["automerge_test::ExportedOpId"]],["impl RefUnwindSafe for RealizedObject",1,["automerge_test::RealizedObject"]],["impl RefUnwindSafe for OrdScalarValue",1,["automerge_test::OrdScalarValue"]]], +"automerge_wasm":[["impl RefUnwindSafe for BadActorId",1,["automerge_wasm::error::BadActorId"]],["impl !RefUnwindSafe for ApplyChangesError",1,["automerge_wasm::error::ApplyChangesError"]],["impl !RefUnwindSafe for Fork",1,["automerge_wasm::error::Fork"]],["impl !RefUnwindSafe for Merge",1,["automerge_wasm::error::Merge"]],["impl !RefUnwindSafe for Get",1,["automerge_wasm::error::Get"]],["impl !RefUnwindSafe for Splice",1,["automerge_wasm::error::Splice"]],["impl !RefUnwindSafe for Insert",1,["automerge_wasm::error::Insert"]],["impl !RefUnwindSafe for InsertObject",1,["automerge_wasm::error::InsertObject"]],["impl !RefUnwindSafe for Increment",1,["automerge_wasm::error::Increment"]],["impl RefUnwindSafe for BadSyncMessage",1,["automerge_wasm::error::BadSyncMessage"]],["impl !RefUnwindSafe for ApplyPatch",1,["automerge_wasm::error::ApplyPatch"]],["impl !RefUnwindSafe for PopPatches",1,["automerge_wasm::error::PopPatches"]],["impl !RefUnwindSafe for Materialize",1,["automerge_wasm::error::Materialize"]],["impl !RefUnwindSafe for ReceiveSyncMessage",1,["automerge_wasm::error::ReceiveSyncMessage"]],["impl !RefUnwindSafe for Load",1,["automerge_wasm::error::Load"]],["impl !RefUnwindSafe for EncodeChange",1,["automerge_wasm::error::EncodeChange"]],["impl !RefUnwindSafe for DecodeChange",1,["automerge_wasm::error::DecodeChange"]],["impl RefUnwindSafe for TextRepresentation",1,["automerge_wasm::TextRepresentation"]],["impl RefUnwindSafe for Automerge",1,["automerge_wasm::Automerge"]]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js new file mode 100644 index 00000000..90ec89b7 --- /dev/null +++ b/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -0,0 +1,5 @@ +(function() {var implementors = { +"automerge":[["impl<Obs> UnwindSafe for AutoCommitWithObs<Obs>where
    Obs: UnwindSafe,
",1,["automerge::autocommit::AutoCommitWithObs"]],["impl UnwindSafe for OnPartialLoad",1,["automerge::automerge::OnPartialLoad"]],["impl UnwindSafe for Automerge",1,["automerge::automerge::Automerge"]],["impl<'a, R> UnwindSafe for AutoSerde<'a, R>where
    R: RefUnwindSafe,
",1,["automerge::autoserde::AutoSerde"]],["impl UnwindSafe for Change",1,["automerge::change::Change"]],["impl !UnwindSafe for LoadError",1,["automerge::change::LoadError"]],["impl !UnwindSafe for AutomergeError",1,["automerge::error::AutomergeError"]],["impl UnwindSafe for InvalidActorId",1,["automerge::error::InvalidActorId"]],["impl UnwindSafe for InvalidChangeHashSlice",1,["automerge::error::InvalidChangeHashSlice"]],["impl UnwindSafe for ExId",1,["automerge::exid::ExId"]],["impl UnwindSafe for ObjIdFromBytesError",1,["automerge::exid::ObjIdFromBytesError"]],["impl<'a, 'k> UnwindSafe for Keys<'a, 'k>",1,["automerge::keys::Keys"]],["impl<'a, 'k> UnwindSafe for KeysAt<'a, 'k>",1,["automerge::keys_at::KeysAt"]],["impl UnwindSafe for Change",1,["automerge::legacy::Change"]],["impl<'a, R> UnwindSafe for ListRange<'a, R>where
    R: UnwindSafe,
",1,["automerge::list_range::ListRange"]],["impl<'a, R> UnwindSafe for ListRangeAt<'a, R>where
    R: UnwindSafe,
",1,["automerge::list_range_at::ListRangeAt"]],["impl<'a, R> UnwindSafe for MapRange<'a, R>where
    R: UnwindSafe,
",1,["automerge::map_range::MapRange"]],["impl<'a, R> UnwindSafe for MapRangeAt<'a, R>where
    R: UnwindSafe,
",1,["automerge::map_range_at::MapRangeAt"]],["impl UnwindSafe for VecOpObserver",1,["automerge::op_observer::VecOpObserver"]],["impl UnwindSafe for Patch",1,["automerge::op_observer::Patch"]],["impl<'a> UnwindSafe for Parents<'a>",1,["automerge::parents::Parents"]],["impl UnwindSafe for Parent",1,["automerge::parents::Parent"]],["impl UnwindSafe for BloomFilter",1,["automerge::sync::bloom::BloomFilter"]],["impl UnwindSafe for DecodeError",1,["automerge::sync::bloom::DecodeError"]],["impl UnwindSafe for DecodeError",1,["automerge::sync::state::DecodeError"]],["impl UnwindSafe for State",1,["automerge::sync::state::State"]],["impl UnwindSafe for Have",1,["automerge::sync::state::Have"]],["impl UnwindSafe for ReadMessageError",1,["automerge::sync::ReadMessageError"]],["impl UnwindSafe for Message",1,["automerge::sync::Message"]],["impl UnwindSafe for CommitOptions",1,["automerge::transaction::commit::CommitOptions"]],["impl<'a, Obs> !UnwindSafe for Transaction<'a, Obs>",1,["automerge::transaction::manual_transaction::Transaction"]],["impl<Obs> UnwindSafe for Observed<Obs>where
    Obs: UnwindSafe,
",1,["automerge::transaction::observation::Observed"]],["impl UnwindSafe for UnObserved",1,["automerge::transaction::observation::UnObserved"]],["impl<O, Obs> UnwindSafe for Success<O, Obs>where
    O: UnwindSafe,
    Obs: UnwindSafe,
",1,["automerge::transaction::result::Success"]],["impl<E> UnwindSafe for Failure<E>where
    E: UnwindSafe,
",1,["automerge::transaction::result::Failure"]],["impl UnwindSafe for ActorId",1,["automerge::types::ActorId"]],["impl UnwindSafe for ObjType",1,["automerge::types::ObjType"]],["impl UnwindSafe for OpType",1,["automerge::types::OpType"]],["impl UnwindSafe for Prop",1,["automerge::types::Prop"]],["impl UnwindSafe for TextEncoding",1,["automerge::types::TextEncoding"]],["impl UnwindSafe for ChangeHash",1,["automerge::types::ChangeHash"]],["impl UnwindSafe for ParseChangeHashError",1,["automerge::types::ParseChangeHashError"]],["impl<'a> UnwindSafe for Value<'a>",1,["automerge::value::Value"]],["impl UnwindSafe for ScalarValue",1,["automerge::value::ScalarValue"]],["impl<'a> !UnwindSafe for Values<'a>",1,["automerge::values::Values"]]], +"automerge_test":[["impl UnwindSafe for ExportedOpId",1,["automerge_test::ExportedOpId"]],["impl UnwindSafe for RealizedObject",1,["automerge_test::RealizedObject"]],["impl UnwindSafe for OrdScalarValue",1,["automerge_test::OrdScalarValue"]]], +"automerge_wasm":[["impl UnwindSafe for BadActorId",1,["automerge_wasm::error::BadActorId"]],["impl !UnwindSafe for ApplyChangesError",1,["automerge_wasm::error::ApplyChangesError"]],["impl !UnwindSafe for Fork",1,["automerge_wasm::error::Fork"]],["impl !UnwindSafe for Merge",1,["automerge_wasm::error::Merge"]],["impl !UnwindSafe for Get",1,["automerge_wasm::error::Get"]],["impl !UnwindSafe for Splice",1,["automerge_wasm::error::Splice"]],["impl !UnwindSafe for Insert",1,["automerge_wasm::error::Insert"]],["impl !UnwindSafe for InsertObject",1,["automerge_wasm::error::InsertObject"]],["impl !UnwindSafe for Increment",1,["automerge_wasm::error::Increment"]],["impl UnwindSafe for BadSyncMessage",1,["automerge_wasm::error::BadSyncMessage"]],["impl !UnwindSafe for ApplyPatch",1,["automerge_wasm::error::ApplyPatch"]],["impl !UnwindSafe for PopPatches",1,["automerge_wasm::error::PopPatches"]],["impl !UnwindSafe for Materialize",1,["automerge_wasm::error::Materialize"]],["impl !UnwindSafe for ReceiveSyncMessage",1,["automerge_wasm::error::ReceiveSyncMessage"]],["impl !UnwindSafe for Load",1,["automerge_wasm::error::Load"]],["impl !UnwindSafe for EncodeChange",1,["automerge_wasm::error::EncodeChange"]],["impl !UnwindSafe for DecodeChange",1,["automerge_wasm::error::DecodeChange"]],["impl UnwindSafe for TextRepresentation",1,["automerge_wasm::TextRepresentation"]],["impl UnwindSafe for Automerge",1,["automerge_wasm::Automerge"]]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/core/str/traits/trait.FromStr.js b/implementors/core/str/traits/trait.FromStr.js new file mode 100644 index 00000000..8ffc576e --- /dev/null +++ b/implementors/core/str/traits/trait.FromStr.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[["impl FromStr for ActorId"],["impl FromStr for ChangeHash"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/de/trait.Deserialize.js b/implementors/serde/de/trait.Deserialize.js new file mode 100644 index 00000000..bab0adae --- /dev/null +++ b/implementors/serde/de/trait.Deserialize.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge":[["impl<'de> Deserialize<'de> for ActorId"],["impl<'de> Deserialize<'de> for ChangeHash"],["impl<'de> Deserialize<'de> for ScalarValue"],["impl<'de> Deserialize<'de> for Change"],["impl<'de> Deserialize<'de> for ObjType"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/serde/ser/trait.Serialize.js b/implementors/serde/ser/trait.Serialize.js new file mode 100644 index 00000000..b20954af --- /dev/null +++ b/implementors/serde/ser/trait.Serialize.js @@ -0,0 +1,4 @@ +(function() {var implementors = { +"automerge":[["impl<'a, R: ReadDoc> Serialize for AutoSerde<'a, R>"],["impl Serialize for ExId"],["impl Serialize for ActorId"],["impl Serialize for ChangeHash"],["impl Serialize for OpType"],["impl Serialize for Change"],["impl Serialize for BloomFilter"],["impl Serialize for Have"],["impl Serialize for Message"],["impl Serialize for ObjType"],["impl Serialize for ScalarValue"]], +"automerge_test":[["impl Serialize for OrdScalarValue"],["impl Serialize for RealizedObject"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/convert/traits/trait.FromWasmAbi.js b/implementors/wasm_bindgen/convert/traits/trait.FromWasmAbi.js new file mode 100644 index 00000000..3969bf2c --- /dev/null +++ b/implementors/wasm_bindgen/convert/traits/trait.FromWasmAbi.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl FromWasmAbi for TextRepresentation"],["impl FromWasmAbi for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/convert/traits/trait.IntoWasmAbi.js b/implementors/wasm_bindgen/convert/traits/trait.IntoWasmAbi.js new file mode 100644 index 00000000..06d8ef45 --- /dev/null +++ b/implementors/wasm_bindgen/convert/traits/trait.IntoWasmAbi.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl IntoWasmAbi for TextRepresentation"],["impl IntoWasmAbi for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/convert/traits/trait.LongRefFromWasmAbi.js b/implementors/wasm_bindgen/convert/traits/trait.LongRefFromWasmAbi.js new file mode 100644 index 00000000..3698a184 --- /dev/null +++ b/implementors/wasm_bindgen/convert/traits/trait.LongRefFromWasmAbi.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl LongRefFromWasmAbi for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/convert/traits/trait.OptionFromWasmAbi.js b/implementors/wasm_bindgen/convert/traits/trait.OptionFromWasmAbi.js new file mode 100644 index 00000000..1d7711c7 --- /dev/null +++ b/implementors/wasm_bindgen/convert/traits/trait.OptionFromWasmAbi.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl OptionFromWasmAbi for TextRepresentation"],["impl OptionFromWasmAbi for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/convert/traits/trait.OptionIntoWasmAbi.js b/implementors/wasm_bindgen/convert/traits/trait.OptionIntoWasmAbi.js new file mode 100644 index 00000000..8ddb0e48 --- /dev/null +++ b/implementors/wasm_bindgen/convert/traits/trait.OptionIntoWasmAbi.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl OptionIntoWasmAbi for TextRepresentation"],["impl OptionIntoWasmAbi for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/convert/traits/trait.RefFromWasmAbi.js b/implementors/wasm_bindgen/convert/traits/trait.RefFromWasmAbi.js new file mode 100644 index 00000000..3a65d800 --- /dev/null +++ b/implementors/wasm_bindgen/convert/traits/trait.RefFromWasmAbi.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl RefFromWasmAbi for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/convert/traits/trait.RefMutFromWasmAbi.js b/implementors/wasm_bindgen/convert/traits/trait.RefMutFromWasmAbi.js new file mode 100644 index 00000000..c155b190 --- /dev/null +++ b/implementors/wasm_bindgen/convert/traits/trait.RefMutFromWasmAbi.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl RefMutFromWasmAbi for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/implementors/wasm_bindgen/describe/trait.WasmDescribe.js b/implementors/wasm_bindgen/describe/trait.WasmDescribe.js new file mode 100644 index 00000000..420419ef --- /dev/null +++ b/implementors/wasm_bindgen/describe/trait.WasmDescribe.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"automerge_wasm":[["impl WasmDescribe for TextRepresentation"],["impl WasmDescribe for Automerge"]] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 00000000..6b7a8988 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ + diff --git a/javascript/.denoifyrc.json b/javascript/.denoifyrc.json deleted file mode 100644 index 9453a31f..00000000 --- a/javascript/.denoifyrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "replacer": "scripts/denoify-replacer.mjs" -} diff --git a/javascript/.eslintignore b/javascript/.eslintignore deleted file mode 100644 index 4d6880d3..00000000 --- a/javascript/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -dist -examples diff --git a/javascript/.eslintrc.cjs b/javascript/.eslintrc.cjs deleted file mode 100644 index 88776271..00000000 --- a/javascript/.eslintrc.cjs +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - root: true, - parser: "@typescript-eslint/parser", - plugins: ["@typescript-eslint"], - extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"], - rules: { - "@typescript-eslint/no-unused-vars": [ - "error", - { - argsIgnorePattern: "^_", - varsIgnorePattern: "^_", - }, - ], - }, -} diff --git a/javascript/.gitignore b/javascript/.gitignore deleted file mode 100644 index f98d9db2..00000000 --- a/javascript/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/node_modules -/yarn.lock -dist -docs/ -.vim -deno_dist/ diff --git a/javascript/.prettierignore b/javascript/.prettierignore deleted file mode 100644 index 6ab2f796..00000000 --- a/javascript/.prettierignore +++ /dev/null @@ -1,4 +0,0 @@ -e2e/verdacciodb -dist -docs -deno_dist diff --git a/javascript/.prettierrc b/javascript/.prettierrc deleted file mode 100644 index 18b9c97f..00000000 --- a/javascript/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "semi": false, - "arrowParens": "avoid" -} diff --git a/javascript/HACKING.md b/javascript/HACKING.md deleted file mode 100644 index b7e92eef..00000000 --- a/javascript/HACKING.md +++ /dev/null @@ -1,39 +0,0 @@ -## Architecture - -The `@automerge/automerge` package is a set of -[`Proxy`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) -objects which provide an idiomatic javascript interface built on top of the -lower level `@automerge/automerge-wasm` package (which is in turn built from the -Rust codebase and can be found in `~/automerge-wasm`). I.e. the responsibility -of this codebase is - -- To map from the javascript data model to the underlying `set`, `make`, - `insert`, and `delete` operations of Automerge. -- To expose a more convenient interface to functions in `automerge-wasm` which - generate messages to send over the network or compressed file formats to store - on disk - -## Building and testing - -Much of the functionality of this package depends on the -`@automerge/automerge-wasm` package and frequently you will be working on both -of them at the same time. It would be frustrating to have to push -`automerge-wasm` to NPM every time you want to test a change but I (Alex) also -don't trust `yarn link` to do the right thing here. Therefore, the `./e2e` -folder contains a little yarn package which spins up a local NPM registry. See -`./e2e/README` for details. In brief though: - -To build `automerge-wasm` and install it in the local `node_modules` - -```bash -cd e2e && yarn install && yarn run e2e buildjs -``` - -NOw that you've done this you can run the tests - -```bash -yarn test -``` - -If you make changes to the `automerge-wasm` package you will need to re-run -`yarn e2e buildjs` diff --git a/javascript/LICENSE b/javascript/LICENSE deleted file mode 100644 index 63b21502..00000000 --- a/javascript/LICENSE +++ /dev/null @@ -1,10 +0,0 @@ -MIT License - -Copyright 2022, Ink & Switch LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/javascript/README.md b/javascript/README.md deleted file mode 100644 index af8306ac..00000000 --- a/javascript/README.md +++ /dev/null @@ -1,109 +0,0 @@ -## Automerge - -Automerge is a library of data structures for building collaborative -applications, this package is the javascript implementation. - -Detailed documentation is available at [automerge.org](http://automerge.org/) -but see the following for a short getting started guid. - -## Quickstart - -First, install the library. - -``` -yarn add @automerge/automerge -``` - -If you're writing a `node` application, you can skip straight to [Make some -data](#make-some-data). If you're in a browser you need a bundler - -### Bundler setup - -`@automerge/automerge` is a wrapper around a core library which is written in -rust, compiled to WebAssembly and distributed as a separate package called -`@automerge/automerge-wasm`. Browsers don't currently support WebAssembly -modules taking part in ESM module imports, so you must use a bundler to import -`@automerge/automerge` in the browser. There are a lot of bundlers out there, we -have examples for common bundlers in the `examples` folder. Here is a short -example using Webpack 5. - -Assuming a standard setup of a new webpack project, you'll need to enable the -`asyncWebAssembly` experiment. In a typical webpack project that means adding -something like this to `webpack.config.js` - -```javascript -module.exports = { - ... - experiments: { asyncWebAssembly: true }, - performance: { // we dont want the wasm blob to generate warnings - hints: false, - maxEntrypointSize: 512000, - maxAssetSize: 512000 - } -}; -``` - -### Make some data - -Automerge allows to separate threads of execution to make changes to some data -and always be able to merge their changes later. - -```javascript -import * as automerge from "@automerge/automerge" -import * as assert from "assert" - -let doc1 = automerge.from({ - tasks: [ - { description: "feed fish", done: false }, - { description: "water plants", done: false }, - ], -}) - -// Create a new thread of execution -let doc2 = automerge.clone(doc1) - -// Now we concurrently make changes to doc1 and doc2 - -// Complete a task in doc2 -doc2 = automerge.change(doc2, d => { - d.tasks[0].done = true -}) - -// Add a task in doc1 -doc1 = automerge.change(doc1, d => { - d.tasks.push({ - description: "water fish", - done: false, - }) -}) - -// Merge changes from both docs -doc1 = automerge.merge(doc1, doc2) -doc2 = automerge.merge(doc2, doc1) - -// Both docs are merged and identical -assert.deepEqual(doc1, { - tasks: [ - { description: "feed fish", done: true }, - { description: "water plants", done: false }, - { description: "water fish", done: false }, - ], -}) - -assert.deepEqual(doc2, { - tasks: [ - { description: "feed fish", done: true }, - { description: "water plants", done: false }, - { description: "water fish", done: false }, - ], -}) -``` - -## Development - -See [HACKING.md](./HACKING.md) - -## Meta - -Copyright 2017–present, the Automerge contributors. Released under the terms of the -MIT license (see `LICENSE`). diff --git a/javascript/config/cjs.json b/javascript/config/cjs.json deleted file mode 100644 index 0b135067..00000000 --- a/javascript/config/cjs.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": "../tsconfig.json", - "exclude": [ - "../dist/**/*", - "../node_modules", - "../test/**/*", - "../src/**/*.deno.ts" - ], - "compilerOptions": { - "outDir": "../dist/cjs" - } -} diff --git a/javascript/config/declonly.json b/javascript/config/declonly.json deleted file mode 100644 index 7c1df687..00000000 --- a/javascript/config/declonly.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../tsconfig.json", - "exclude": [ - "../dist/**/*", - "../node_modules", - "../test/**/*", - "../src/**/*.deno.ts" - ], - "emitDeclarationOnly": true, - "compilerOptions": { - "outDir": "../dist" - } -} diff --git a/javascript/config/mjs.json b/javascript/config/mjs.json deleted file mode 100644 index ecf3ce36..00000000 --- a/javascript/config/mjs.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../tsconfig.json", - "exclude": [ - "../dist/**/*", - "../node_modules", - "../test/**/*", - "../src/**/*.deno.ts" - ], - "compilerOptions": { - "target": "es6", - "module": "es6", - "outDir": "../dist/mjs" - } -} diff --git a/javascript/deno-tests/deno.ts b/javascript/deno-tests/deno.ts deleted file mode 100644 index fc0a4dad..00000000 --- a/javascript/deno-tests/deno.ts +++ /dev/null @@ -1,10 +0,0 @@ -import * as Automerge from "../deno_dist/index.ts" - -Deno.test("It should create, clone and free", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.clone(doc1) - - // this is only needed if weakrefs are not supported - Automerge.free(doc1) - Automerge.free(doc2) -}) diff --git a/javascript/e2e/.gitignore b/javascript/e2e/.gitignore deleted file mode 100644 index 3021843a..00000000 --- a/javascript/e2e/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules/ -verdacciodb/ -htpasswd diff --git a/javascript/e2e/README.md b/javascript/e2e/README.md deleted file mode 100644 index 9dcee471..00000000 --- a/javascript/e2e/README.md +++ /dev/null @@ -1,70 +0,0 @@ -#End to end testing for javascript packaging - -The network of packages and bundlers we rely on to get the `automerge` package -working is a little complex. We have the `automerge-wasm` package, which the -`automerge` package depends upon, which means that anyone who depends on -`automerge` needs to either a) be using node or b) use a bundler in order to -load the underlying WASM module which is packaged in `automerge-wasm`. - -The various bundlers involved are complicated and capricious and so we need an -easy way of testing that everything is in fact working as expected. To do this -we run a custom NPM registry (namely [Verdaccio](https://verdaccio.org/)) and -build the `automerge-wasm` and `automerge` packages and publish them to this -registry. Once we have this registry running we are able to build the example -projects which depend on these packages and check that everything works as -expected. - -## Usage - -First, install everything: - -``` -yarn install -``` - -### Build `automerge-js` - -This builds the `automerge-wasm` package and then runs `yarn build` in the -`automerge-js` project with the `--registry` set to the verdaccio registry. The -end result is that you can run `yarn test` in the resulting `automerge-js` -directory in order to run tests against the current `automerge-wasm`. - -``` -yarn e2e buildjs -``` - -### Build examples - -This either builds or the examples in `automerge-js/examples` or just a subset -of them. Once this is complete you can run the relevant scripts (e.g. `vite dev` -for the Vite example) to check everything works. - -``` -yarn e2e buildexamples -``` - -Or, to just build the webpack example - -``` -yarn e2e buildexamples -e webpack -``` - -### Run Registry - -If you're experimenting with a project which is not in the `examples` folder -you'll need a running registry. `run-registry` builds and publishes -`automerge-js` and `automerge-wasm` and then runs the registry at -`localhost:4873`. - -``` -yarn e2e run-registry -``` - -You can now run `yarn install --registry http://localhost:4873` to experiment -with the built packages. - -## Using the `dev` build of `automerge-wasm` - -All the commands above take a `-p` flag which can be either `release` or -`debug`. The `debug` builds with additional debug symbols which makes errors -less cryptic. diff --git a/javascript/e2e/index.ts b/javascript/e2e/index.ts deleted file mode 100644 index fb0b1599..00000000 --- a/javascript/e2e/index.ts +++ /dev/null @@ -1,534 +0,0 @@ -import { once } from "events" -import { setTimeout } from "timers/promises" -import { spawn, ChildProcess } from "child_process" -import * as child_process from "child_process" -import { - command, - subcommands, - run, - array, - multioption, - option, - Type, -} from "cmd-ts" -import * as path from "path" -import * as fsPromises from "fs/promises" -import fetch from "node-fetch" - -const VERDACCIO_DB_PATH = path.normalize(`${__dirname}/verdacciodb`) -const VERDACCIO_CONFIG_PATH = path.normalize(`${__dirname}/verdaccio.yaml`) -const AUTOMERGE_WASM_PATH = path.normalize( - `${__dirname}/../../rust/automerge-wasm` -) -const AUTOMERGE_JS_PATH = path.normalize(`${__dirname}/..`) -const EXAMPLES_DIR = path.normalize(path.join(__dirname, "../", "examples")) - -// The different example projects in "../examples" -type Example = "webpack" | "vite" | "create-react-app" - -// Type to parse strings to `Example` so the types line up for the `buildExamples` commmand -const ReadExample: Type = { - async from(str) { - if (str === "webpack") { - return "webpack" - } else if (str === "vite") { - return "vite" - } else if (str === "create-react-app") { - return "create-react-app" - } else { - throw new Error(`Unknown example type ${str}`) - } - }, -} - -type Profile = "dev" | "release" - -const ReadProfile: Type = { - async from(str) { - if (str === "dev") { - return "dev" - } else if (str === "release") { - return "release" - } else { - throw new Error(`Unknown profile ${str}`) - } - }, -} - -const buildjs = command({ - name: "buildjs", - args: { - profile: option({ - type: ReadProfile, - long: "profile", - short: "p", - defaultValue: () => "dev" as Profile, - }), - }, - handler: ({ profile }) => { - console.log("building js") - withPublishedWasm(profile, async (registryUrl: string) => { - await buildAndPublishAutomergeJs(registryUrl) - }) - }, -}) - -const buildWasm = command({ - name: "buildwasm", - args: { - profile: option({ - type: ReadProfile, - long: "profile", - short: "p", - defaultValue: () => "dev" as Profile, - }), - }, - handler: ({ profile }) => { - console.log("building automerge-wasm") - withRegistry(buildAutomergeWasm(profile)) - }, -}) - -const buildexamples = command({ - name: "buildexamples", - args: { - examples: multioption({ - long: "example", - short: "e", - type: array(ReadExample), - }), - profile: option({ - type: ReadProfile, - long: "profile", - short: "p", - defaultValue: () => "dev" as Profile, - }), - }, - handler: ({ examples, profile }) => { - if (examples.length === 0) { - examples = ["webpack", "vite", "create-react-app"] - } - buildExamples(examples, profile) - }, -}) - -const runRegistry = command({ - name: "run-registry", - args: { - profile: option({ - type: ReadProfile, - long: "profile", - short: "p", - defaultValue: () => "dev" as Profile, - }), - }, - handler: ({ profile }) => { - withPublishedWasm(profile, async (registryUrl: string) => { - await buildAndPublishAutomergeJs(registryUrl) - console.log("\n************************") - console.log(` Verdaccio NPM registry is running at ${registryUrl}`) - console.log(" press CTRL-C to exit ") - console.log("************************") - await once(process, "SIGINT") - }).catch(e => { - console.error(`Failed: ${e}`) - }) - }, -}) - -const app = subcommands({ - name: "e2e", - cmds: { - buildjs, - buildexamples, - buildwasm: buildWasm, - "run-registry": runRegistry, - }, -}) - -run(app, process.argv.slice(2)) - -async function buildExamples(examples: Array, profile: Profile) { - await withPublishedWasm(profile, async registryUrl => { - printHeader("building and publishing automerge") - await buildAndPublishAutomergeJs(registryUrl) - for (const example of examples) { - printHeader(`building ${example} example`) - if (example === "webpack") { - const projectPath = path.join(EXAMPLES_DIR, example) - await removeExistingAutomerge(projectPath) - await fsPromises.rm(path.join(projectPath, "yarn.lock"), { - force: true, - }) - await spawnAndWait( - "yarn", - [ - "--cwd", - projectPath, - "install", - "--registry", - registryUrl, - "--check-files", - ], - { stdio: "inherit" } - ) - await spawnAndWait("yarn", ["--cwd", projectPath, "build"], { - stdio: "inherit", - }) - } else if (example === "vite") { - const projectPath = path.join(EXAMPLES_DIR, example) - await removeExistingAutomerge(projectPath) - await fsPromises.rm(path.join(projectPath, "yarn.lock"), { - force: true, - }) - await spawnAndWait( - "yarn", - [ - "--cwd", - projectPath, - "install", - "--registry", - registryUrl, - "--check-files", - ], - { stdio: "inherit" } - ) - await spawnAndWait("yarn", ["--cwd", projectPath, "build"], { - stdio: "inherit", - }) - } else if (example === "create-react-app") { - const projectPath = path.join(EXAMPLES_DIR, example) - await removeExistingAutomerge(projectPath) - await fsPromises.rm(path.join(projectPath, "yarn.lock"), { - force: true, - }) - await spawnAndWait( - "yarn", - [ - "--cwd", - projectPath, - "install", - "--registry", - registryUrl, - "--check-files", - ], - { stdio: "inherit" } - ) - await spawnAndWait("yarn", ["--cwd", projectPath, "build"], { - stdio: "inherit", - }) - } - } - }) -} - -type WithRegistryAction = (registryUrl: string) => Promise - -async function withRegistry( - action: WithRegistryAction, - ...actions: Array -) { - // First, start verdaccio - printHeader("Starting verdaccio NPM server") - const verd = await VerdaccioProcess.start() - actions.unshift(action) - - for (const action of actions) { - try { - type Step = "verd-died" | "action-completed" - const verdDied: () => Promise = async () => { - await verd.died() - return "verd-died" - } - const actionComplete: () => Promise = async () => { - await action("http://localhost:4873") - return "action-completed" - } - const result = await Promise.race([verdDied(), actionComplete()]) - if (result === "verd-died") { - throw new Error("verdaccio unexpectedly exited") - } - } catch (e) { - await verd.kill() - throw e - } - } - await verd.kill() -} - -async function withPublishedWasm(profile: Profile, action: WithRegistryAction) { - await withRegistry(buildAutomergeWasm(profile), publishAutomergeWasm, action) -} - -function buildAutomergeWasm(profile: Profile): WithRegistryAction { - return async (registryUrl: string) => { - printHeader("building automerge-wasm") - await spawnAndWait( - "yarn", - ["--cwd", AUTOMERGE_WASM_PATH, "--registry", registryUrl, "install"], - { stdio: "inherit" } - ) - const cmd = profile === "release" ? "release" : "debug" - await spawnAndWait("yarn", ["--cwd", AUTOMERGE_WASM_PATH, cmd], { - stdio: "inherit", - }) - } -} - -async function publishAutomergeWasm(registryUrl: string) { - printHeader("Publishing automerge-wasm to verdaccio") - await fsPromises.rm( - path.join(VERDACCIO_DB_PATH, "@automerge/automerge-wasm"), - { recursive: true, force: true } - ) - await yarnPublish(registryUrl, AUTOMERGE_WASM_PATH) -} - -async function buildAndPublishAutomergeJs(registryUrl: string) { - // Build the js package - printHeader("Building automerge") - await removeExistingAutomerge(AUTOMERGE_JS_PATH) - await removeFromVerdaccio("@automerge/automerge") - await fsPromises.rm(path.join(AUTOMERGE_JS_PATH, "yarn.lock"), { - force: true, - }) - await spawnAndWait( - "yarn", - [ - "--cwd", - AUTOMERGE_JS_PATH, - "install", - "--registry", - registryUrl, - "--check-files", - ], - { stdio: "inherit" } - ) - await spawnAndWait("yarn", ["--cwd", AUTOMERGE_JS_PATH, "build"], { - stdio: "inherit", - }) - await yarnPublish(registryUrl, AUTOMERGE_JS_PATH) -} - -/** - * A running verdaccio process - * - */ -class VerdaccioProcess { - child: ChildProcess - stdout: Array - stderr: Array - - constructor(child: ChildProcess) { - this.child = child - - // Collect stdout/stderr otherwise the subprocess gets blocked writing - this.stdout = [] - this.stderr = [] - this.child.stdout && - this.child.stdout.on("data", data => this.stdout.push(data)) - this.child.stderr && - this.child.stderr.on("data", data => this.stderr.push(data)) - - const errCallback = (e: any) => { - console.error("!!!!!!!!!ERROR IN VERDACCIO PROCESS!!!!!!!!!") - console.error(" ", e) - if (this.stdout.length > 0) { - console.log("\n**Verdaccio stdout**") - const stdout = Buffer.concat(this.stdout) - process.stdout.write(stdout) - } - - if (this.stderr.length > 0) { - console.log("\n**Verdaccio stderr**") - const stdout = Buffer.concat(this.stderr) - process.stdout.write(stdout) - } - process.exit(-1) - } - this.child.on("error", errCallback) - } - - /** - * Spawn a verdaccio process and wait for it to respond succesfully to http requests - * - * The returned `VerdaccioProcess` can be used to control the subprocess - */ - static async start() { - const child = spawn( - "yarn", - ["verdaccio", "--config", VERDACCIO_CONFIG_PATH], - { env: { ...process.env, FORCE_COLOR: "true" } } - ) - - // Forward stdout and stderr whilst waiting for startup to complete - const stdoutCallback = (data: Buffer) => process.stdout.write(data) - const stderrCallback = (data: Buffer) => process.stderr.write(data) - child.stdout && child.stdout.on("data", stdoutCallback) - child.stderr && child.stderr.on("data", stderrCallback) - - const healthCheck = async () => { - while (true) { - try { - const resp = await fetch("http://localhost:4873") - if (resp.status === 200) { - return - } else { - console.log(`Healthcheck failed: bad status ${resp.status}`) - } - } catch (e) { - console.error(`Healthcheck failed: ${e}`) - } - await setTimeout(500) - } - } - await withTimeout(healthCheck(), 10000) - - // Stop forwarding stdout/stderr - child.stdout && child.stdout.off("data", stdoutCallback) - child.stderr && child.stderr.off("data", stderrCallback) - return new VerdaccioProcess(child) - } - - /** - * Send a SIGKILL to the process and wait for it to stop - */ - async kill() { - this.child.stdout && this.child.stdout.destroy() - this.child.stderr && this.child.stderr.destroy() - this.child.kill() - try { - await withTimeout(once(this.child, "close"), 500) - } catch (e) { - console.error("unable to kill verdaccio subprocess, trying -9") - this.child.kill(9) - await withTimeout(once(this.child, "close"), 500) - } - } - - /** - * A promise which resolves if the subprocess exits for some reason - */ - async died(): Promise { - const [exit, _signal] = await once(this.child, "exit") - return exit - } -} - -function printHeader(header: string) { - console.log("\n===============================") - console.log(` ${header}`) - console.log("===============================") -} - -/** - * Removes the automerge, @automerge/automerge-wasm, and @automerge/automerge packages from - * `$packageDir/node_modules` - * - * This is useful to force refreshing a package by use in combination with - * `yarn install --check-files`, which checks if a package is present in - * `node_modules` and if it is not forces a reinstall. - * - * @param packageDir - The directory containing the package.json of the target project - */ -async function removeExistingAutomerge(packageDir: string) { - await fsPromises.rm(path.join(packageDir, "node_modules", "@automerge"), { - recursive: true, - force: true, - }) - await fsPromises.rm(path.join(packageDir, "node_modules", "automerge"), { - recursive: true, - force: true, - }) -} - -type SpawnResult = { - stdout?: Buffer - stderr?: Buffer -} - -async function spawnAndWait( - cmd: string, - args: Array, - options: child_process.SpawnOptions -): Promise { - const child = spawn(cmd, args, options) - let stdout = null - let stderr = null - if (child.stdout) { - stdout = [] - child.stdout.on("data", data => stdout.push(data)) - } - if (child.stderr) { - stderr = [] - child.stderr.on("data", data => stderr.push(data)) - } - - const [exit, _signal] = await once(child, "exit") - if (exit && exit !== 0) { - throw new Error("nonzero exit code") - } - return { - stderr: stderr ? Buffer.concat(stderr) : null, - stdout: stdout ? Buffer.concat(stdout) : null, - } -} - -/** - * Remove a package from the verdaccio registry. This is necessary because we - * often want to _replace_ a version rather than update the version number. - * Obviously this is very bad and verboten in normal circumastances, but the - * whole point here is to be able to test the entire packaging story so it's - * okay I Promise. - */ -async function removeFromVerdaccio(packageName: string) { - await fsPromises.rm(path.join(VERDACCIO_DB_PATH, packageName), { - force: true, - recursive: true, - }) -} - -async function yarnPublish(registryUrl: string, cwd: string) { - await spawnAndWait( - "yarn", - ["--registry", registryUrl, "--cwd", cwd, "publish", "--non-interactive"], - { - stdio: "inherit", - env: { - ...process.env, - FORCE_COLOR: "true", - // This is a fake token, it just has to be the right format - npm_config__auth: - "//localhost:4873/:_authToken=Gp2Mgxm4faa/7wp0dMSuRA==", - }, - } - ) -} - -/** - * Wait for a given delay to resolve a promise, throwing an error if the - * promise doesn't resolve with the timeout - * - * @param promise - the promise to wait for @param timeout - the delay in - * milliseconds to wait before throwing - */ -async function withTimeout( - promise: Promise, - timeout: number -): Promise { - type Step = "timed-out" | { result: T } - const timedOut: () => Promise = async () => { - await setTimeout(timeout) - return "timed-out" - } - const succeeded: () => Promise = async () => { - const result = await promise - return { result } - } - const result = await Promise.race([timedOut(), succeeded()]) - if (result === "timed-out") { - throw new Error("timed out") - } else { - return result.result - } -} diff --git a/javascript/e2e/package.json b/javascript/e2e/package.json deleted file mode 100644 index 7bb80852..00000000 --- a/javascript/e2e/package.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "name": "e2e", - "version": "0.0.1", - "description": "", - "main": "index.js", - "scripts": { - "e2e": "ts-node index.ts" - }, - "author": "", - "license": "ISC", - "dependencies": { - "@types/node": "^18.7.18", - "cmd-ts": "^0.11.0", - "node-fetch": "^2", - "ts-node": "^10.9.1", - "typed-emitter": "^2.1.0", - "typescript": "^4.8.3", - "verdaccio": "5" - }, - "devDependencies": { - "@types/node-fetch": "2.x" - } -} diff --git a/javascript/e2e/tsconfig.json b/javascript/e2e/tsconfig.json deleted file mode 100644 index a2109873..00000000 --- a/javascript/e2e/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "compilerOptions": { - "types": ["node"] - }, - "module": "nodenext" -} diff --git a/javascript/e2e/verdaccio.yaml b/javascript/e2e/verdaccio.yaml deleted file mode 100644 index 865f5f05..00000000 --- a/javascript/e2e/verdaccio.yaml +++ /dev/null @@ -1,25 +0,0 @@ -storage: "./verdacciodb" -auth: - htpasswd: - file: ./htpasswd -publish: - allow_offline: true -logs: { type: stdout, format: pretty, level: info } -packages: - "@automerge/automerge-wasm": - access: "$all" - publish: "$all" - "@automerge/automerge": - access: "$all" - publish: "$all" - "*": - access: "$all" - publish: "$all" - proxy: npmjs - "@*/*": - access: "$all" - publish: "$all" - proxy: npmjs -uplinks: - npmjs: - url: https://registry.npmjs.org/ diff --git a/javascript/e2e/yarn.lock b/javascript/e2e/yarn.lock deleted file mode 100644 index 46e2abf2..00000000 --- a/javascript/e2e/yarn.lock +++ /dev/null @@ -1,2130 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - -"@types/node-fetch@2.x": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" - integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - -"@types/node@*", "@types/node@^18.7.18": - version "18.7.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.23.tgz#75c580983846181ebe5f4abc40fe9dfb2d65665f" - integrity sha512-DWNcCHolDq0ZKGizjx2DZjR/PqsYwAcYUJmfMWqtVU2MBMG5Mo+xFZrhGId5r/O5HOuMPyQEcM6KUBp5lBZZBg== - -"@verdaccio/commons-api@10.2.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@verdaccio/commons-api/-/commons-api-10.2.0.tgz#3b684c31749837b0574375bb2e10644ecea9fcca" - integrity sha512-F/YZANu4DmpcEV0jronzI7v2fGVWkQ5Mwi+bVmV+ACJ+EzR0c9Jbhtbe5QyLUuzR97t8R5E/Xe53O0cc2LukdQ== - dependencies: - http-errors "2.0.0" - http-status-codes "2.2.0" - -"@verdaccio/file-locking@10.3.0": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@verdaccio/file-locking/-/file-locking-10.3.0.tgz#a4342665c549163817c267bfa451e32ed3009767" - integrity sha512-FE5D5H4wy/nhgR/d2J5e1Na9kScj2wMjlLPBHz7XF4XZAVSRdm45+kL3ZmrfA6b2HTADP/uH7H05/cnAYW8bhw== - dependencies: - lockfile "1.0.4" - -"@verdaccio/local-storage@10.3.1": - version "10.3.1" - resolved "https://registry.yarnpkg.com/@verdaccio/local-storage/-/local-storage-10.3.1.tgz#8cbdc6390a0eb532577ae217729cb0a4e062f299" - integrity sha512-f3oArjXPOAwUAA2dsBhfL/rSouqJ2sfml8k97RtnBPKOzisb28bgyAQW0mqwQvN4MTK5S/2xudmobFpvJAIatg== - dependencies: - "@verdaccio/commons-api" "10.2.0" - "@verdaccio/file-locking" "10.3.0" - "@verdaccio/streams" "10.2.0" - async "3.2.4" - debug "4.3.4" - lodash "4.17.21" - lowdb "1.0.0" - mkdirp "1.0.4" - -"@verdaccio/readme@10.4.1": - version "10.4.1" - resolved "https://registry.yarnpkg.com/@verdaccio/readme/-/readme-10.4.1.tgz#c568d158c36ca7dd742b1abef890383918f621b2" - integrity sha512-OZ6R+HF2bIU3WFFdPxgUgyglaIfZzGSqyUfM2m1TFNfDCK84qJvRIgQJ1HG/82KVOpGuz/nxVyw2ZyEZDkP1vA== - dependencies: - dompurify "2.3.9" - jsdom "16.7.0" - marked "4.0.18" - -"@verdaccio/streams@10.2.0": - version "10.2.0" - resolved "https://registry.yarnpkg.com/@verdaccio/streams/-/streams-10.2.0.tgz#e01d2bfdcfe8aa2389f31bc6b72a602628bd025b" - integrity sha512-FaIzCnDg0x0Js5kSQn1Le3YzDHl7XxrJ0QdIw5LrDUmLsH3VXNi4/NMlSHnw5RiTTMs4UbEf98V3RJRB8exqJA== - -"@verdaccio/ui-theme@6.0.0-6-next.28": - version "6.0.0-6-next.28" - resolved "https://registry.yarnpkg.com/@verdaccio/ui-theme/-/ui-theme-6.0.0-6-next.28.tgz#bf8ff0e90f3d292741440c7e6ab6744b97d96a98" - integrity sha512-1sJ28aVGMiRJrSz0e8f4t+IUgt/cyYmuDLhogXHOEjEIIEcfMNyQ5bVYqq03wLVoKWEh5D6gHo1hQnVKQl1L5g== - -JSONStream@1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.4.1: - version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv@^6.12.3: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -apache-md5@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/apache-md5/-/apache-md5-1.1.7.tgz#dcef1802700cc231d60c5e08fd088f2f9b36375a" - integrity sha512-JtHjzZmJxtzfTSjsCyHgPR155HBe5WGyUyHTaEkfy46qhwCFKx1Epm6nAxgUG3WfUZP1dWhGqj9Z2NOBeZ+uBw== - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - -async@3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - -bcryptjs@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" - integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ== - -body-parser@1.20.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" - integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.10.3" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -clipanion@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/clipanion/-/clipanion-3.1.0.tgz#3e217dd6476bb9236638b07eb4673f7309839819" - integrity sha512-v025Hz+IDQ15FpOyK8p02h5bFznMu6rLFsJSyOPR+7WrbSnZ1Ek6pblPukV7K5tC/dsWfncQPIrJ4iUy2PXkbw== - dependencies: - typanion "^3.3.1" - -cmd-ts@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/cmd-ts/-/cmd-ts-0.11.0.tgz#80926180f39665e35e321b72439f792a2b63b745" - integrity sha512-6RvjD+f9oGPeWoMS53oavafmQ9qC839PjP3CyvPkAIfqMEXTbrclni7t3fnyVJFNWxuBexnLshcotY0RuNrI8Q== - dependencies: - chalk "^4.0.0" - debug "^4.3.4" - didyoumean "^1.2.2" - strip-ansi "^6.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -cookies@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" - integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== - dependencies: - depd "~2.0.0" - keygrip "~1.1.0" - -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - -cors@2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -dayjs@1.11.5: - version "1.11.5" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" - integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@4.3.4, debug@^4.3.3, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.1.tgz#be75eeac4a2281aace80c1a8753587c27ef053e7" - integrity sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw== - -deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0, depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -dompurify@2.3.9: - version "2.3.9" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.9.tgz#a4be5e7278338d6db09922dffcf6182cd099d70a" - integrity sha512-3zOnuTwup4lPV/GfGS6UzG4ub9nhSYagR/5tB3AvDEwqyy5dtyCM2dVjwGDCnrPerXifBKTYh/UWCGKK7ydhhw== - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -envinfo@7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== - -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-import-resolver-node@0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - -express-rate-limit@5.5.1: - version "5.5.1" - resolved "https://registry.yarnpkg.com/express-rate-limit/-/express-rate-limit-5.5.1.tgz#110c23f6a65dfa96ab468eda95e71697bc6987a2" - integrity sha512-MTjE2eIbHv5DyfuFz4zLYWxpqVhEhkTiwFGuB74Q9CSou2WHO52nlE5y3Zlg6SIsiYUIPj6ifFxnkPz6O3sIUg== - -express@4.18.1: - version "4.18.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" - integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.0" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.10.3" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - -extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-redact@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" - integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== - -fast-safe-stringify@2.1.1, fast-safe-stringify@^2.0.8: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -flatstr@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" - integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -get-intrinsic@^1.0.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -graceful-fs@^4.1.3: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -handlebars@4.7.7: - version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - -har-validator@~5.1.0: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -http-status-codes@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" - integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng== - -https-proxy-agent@5.0.1, https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-core-module@^2.9.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-promise@^2.1.0, is-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - -js-yaml@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - -jsdom@16.7.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -jsonwebtoken@8.5.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^5.6.0" - -jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -keygrip@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" - integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== - dependencies: - tsscmp "1.0.6" - -kleur@4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lockfile@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609" - integrity sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA== - dependencies: - signal-exit "^3.0.2" - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== - -lodash@4, lodash@4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lowdb@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowdb/-/lowdb-1.0.0.tgz#5243be6b22786ccce30e50c9a33eac36b20c8064" - integrity sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ== - dependencies: - graceful-fs "^4.1.3" - is-promise "^2.1.0" - lodash "4" - pify "^3.0.0" - steno "^0.4.1" - -lru-cache@7.14.0: - version "7.14.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.14.0.tgz#21be64954a4680e303a09e9468f880b98a0b3c7f" - integrity sha512-EIRtP1GrSJny0dqb50QXRUNBxHJhcpxHC++M5tD7RYbvLLn5KVWKsbyswSSqDuU15UFi3bgTQIY8nhDMeF6aDQ== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - -lunr-mutable-indexes@2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/lunr-mutable-indexes/-/lunr-mutable-indexes-2.3.2.tgz#864253489735d598c5140f3fb75c0a5c8be2e98c" - integrity sha512-Han6cdWAPPFM7C2AigS2Ofl3XjAT0yVMrUixodJEpyg71zCtZ2yzXc3s+suc/OaNt4ca6WJBEzVnEIjxCTwFMw== - dependencies: - lunr ">= 2.3.0 < 2.4.0" - -"lunr@>= 2.3.0 < 2.4.0": - version "2.3.9" - resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" - integrity sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow== - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -marked@4.0.18: - version "4.0.18" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.18.tgz#cd0ac54b2e5610cfb90e8fd46ccaa8292c9ed569" - integrity sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw== - -marked@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.1.0.tgz#3fc6e7485f21c1ca5d6ec4a39de820e146954796" - integrity sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memoizee@0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" - integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== - -"minimatch@2 || 3": - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.5, minimist@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -mkdirp@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -mv@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" - integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== - dependencies: - mkdirp "~0.5.1" - ncp "~2.0.0" - rimraf "~2.4.0" - -ncp@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" - integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== - -negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - -node-fetch@2.6.7, node-fetch@^2: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-inspect@^1.9.0: - version "1.12.2" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -parse-ms@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" - integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== - -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -pino-std-serializers@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" - integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== - -pino@6.14.0: - version "6.14.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-6.14.0.tgz#b745ea87a99a6c4c9b374e4f29ca7910d4c69f78" - integrity sha512-iuhEDel3Z3hF9Jfe44DPXR8l07bhjuFY3GMHIXbjnY9XcafbyDDwl2sN2vw2GjMPf5Nkoe+OFao7ffn9SXaKDg== - dependencies: - fast-redact "^3.0.0" - fast-safe-stringify "^2.0.8" - flatstr "^1.0.12" - pino-std-serializers "^3.1.0" - process-warning "^1.0.0" - quick-format-unescaped "^4.0.3" - sonic-boom "^1.0.2" - -pkginfo@0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" - integrity sha512-8xCNE/aT/EXKenuMDZ+xTVwkT8gsoHN2z/Q29l80u0ppGEXVvsKRzNMbtKhg8LS8k1tJLAHHylf6p4VFmP6XUQ== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -prettier-bytes@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prettier-bytes/-/prettier-bytes-1.0.4.tgz#994b02aa46f699c50b6257b5faaa7fe2557e62d6" - integrity sha512-dLbWOa4xBn+qeWeIF60qRoB6Pk2jX5P3DIVgOQyMyvBpu931Q+8dXz8X0snJiFkQdohDDLnZQECjzsAj75hgZQ== - -pretty-ms@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" - integrity sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q== - dependencies: - parse-ms "^2.1.0" - -process-warning@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" - integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.24, psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@6.10.3: - version "6.10.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" - integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== - dependencies: - side-channel "^1.0.4" - -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - -range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -request@2.88.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve@^1.20.0: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -rimraf@~2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" - integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== - dependencies: - glob "^6.0.1" - -rxjs@^7.5.2: - version "7.5.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39" - integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA== - dependencies: - tslib "^2.1.0" - -safe-buffer@5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -semver@7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sonic-boom@^1.0.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e" - integrity sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg== - dependencies: - atomic-sleep "^1.0.0" - flatstr "^1.0.12" - -source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -steno@^0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/steno/-/steno-0.4.4.tgz#071105bdfc286e6615c0403c27e9d7b5dcb855cb" - integrity sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w== - dependencies: - graceful-fs "^4.1.3" - -strip-ansi@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -"through@>=2.2.7 <3": - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tslib@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsscmp@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" - integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - -typanion@^3.3.1: - version "3.12.0" - resolved "https://registry.yarnpkg.com/typanion/-/typanion-3.12.0.tgz#8352830e5cf26ebfc5832da265886c9fb3ebb323" - integrity sha512-o59ZobUBsG+2dHnGVI2shscqqzHdzCOixCU0t8YXLxM2Su42J2ha7hY9V5+6SIBjVsw6aLqrlYznCgQGJN4Kag== - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - -typed-emitter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/typed-emitter/-/typed-emitter-2.1.0.tgz#ca78e3d8ef1476f228f548d62e04e3d4d3fd77fb" - integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA== - optionalDependencies: - rxjs "^7.5.2" - -typescript@^4.8.3: - version "4.8.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" - integrity sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ== - -uglify-js@^3.1.4: - version "3.17.2" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.2.tgz#f55f668b9a64b213977ae688703b6bbb7ca861c6" - integrity sha512-bbxglRjsGQMchfvXZNusUcYgiB9Hx2K4AHYXQy2DITZ9Rd+JzhX7+hoocE5Winr7z2oHvPsekkBwXtigvxevXg== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -unix-crypt-td-js@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/unix-crypt-td-js/-/unix-crypt-td-js-1.1.4.tgz#4912dfad1c8aeb7d20fa0a39e4c31918c1d5d5dd" - integrity sha512-8rMeVYWSIyccIJscb9NdCfZKSRBKYTeVnwmiRYT2ulE3qd1RaDQ0xQDP+rI3ccIWbhu/zuo5cgN8z73belNZgw== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -validator@13.7.0: - version "13.7.0" - resolved "https://registry.yarnpkg.com/validator/-/validator-13.7.0.tgz#4f9658ba13ba8f3d82ee881d3516489ea85c0857" - integrity sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw== - -vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -verdaccio-audit@10.2.2: - version "10.2.2" - resolved "https://registry.yarnpkg.com/verdaccio-audit/-/verdaccio-audit-10.2.2.tgz#254380e57932fda64b45cb739e9c42cc9fb2dfdf" - integrity sha512-f2uZlKD7vi0yEB0wN8WOf+eA/3SCyKD9cvK17Hh7Wm8f/bl7k1B3hHOTtUCn/yu85DGsj2pcNzrAfp2wMVgz9Q== - dependencies: - body-parser "1.20.0" - express "4.18.1" - https-proxy-agent "5.0.1" - node-fetch "2.6.7" - -verdaccio-htpasswd@10.5.0: - version "10.5.0" - resolved "https://registry.yarnpkg.com/verdaccio-htpasswd/-/verdaccio-htpasswd-10.5.0.tgz#de9ea2967856af765178b08485dc8e83f544a12c" - integrity sha512-olBsT3uy1TT2ZqmMCJUsMHrztJzoEpa8pxxvYrDZdWnEksl6mHV10lTeLbH9BUwbEheOeKkkdsERqUOs+if0jg== - dependencies: - "@verdaccio/file-locking" "10.3.0" - apache-md5 "1.1.7" - bcryptjs "2.4.3" - http-errors "2.0.0" - unix-crypt-td-js "1.1.4" - -verdaccio@5: - version "5.15.3" - resolved "https://registry.yarnpkg.com/verdaccio/-/verdaccio-5.15.3.tgz#4953471c0130c8e88b3d5562b5c63b38b575ed3d" - integrity sha512-8oEtepXF1oksGVYahi2HS1Yx9u6HD/4ukBDNDfwISmlNp7HVKJL2+kjzmDJWam88BpDNxOBU/LFXWSsEAFKFCQ== - dependencies: - "@verdaccio/commons-api" "10.2.0" - "@verdaccio/local-storage" "10.3.1" - "@verdaccio/readme" "10.4.1" - "@verdaccio/streams" "10.2.0" - "@verdaccio/ui-theme" "6.0.0-6-next.28" - JSONStream "1.3.5" - async "3.2.4" - body-parser "1.20.0" - clipanion "3.1.0" - compression "1.7.4" - cookies "0.8.0" - cors "2.8.5" - dayjs "1.11.5" - debug "^4.3.3" - envinfo "7.8.1" - eslint-import-resolver-node "0.3.6" - express "4.18.1" - express-rate-limit "5.5.1" - fast-safe-stringify "2.1.1" - handlebars "4.7.7" - http-errors "2.0.0" - js-yaml "4.1.0" - jsonwebtoken "8.5.1" - kleur "4.1.5" - lodash "4.17.21" - lru-cache "7.14.0" - lunr-mutable-indexes "2.3.2" - marked "4.1.0" - memoizee "0.4.15" - mime "3.0.0" - minimatch "5.1.0" - mkdirp "1.0.4" - mv "2.1.1" - pino "6.14.0" - pkginfo "0.4.1" - prettier-bytes "^1.0.4" - pretty-ms "^7.0.1" - request "2.88.0" - semver "7.3.7" - validator "13.7.0" - verdaccio-audit "10.2.2" - verdaccio-htpasswd "10.5.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== diff --git a/javascript/examples/create-react-app/.gitignore b/javascript/examples/create-react-app/.gitignore deleted file mode 100644 index c2658d7d..00000000 --- a/javascript/examples/create-react-app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/javascript/examples/create-react-app/README.md b/javascript/examples/create-react-app/README.md deleted file mode 100644 index baa135ac..00000000 --- a/javascript/examples/create-react-app/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Automerge + `create-react-app` - -This is a little fiddly to get working. The problem is that `create-react-app` -hard codes a webpack configuration which does not support WASM modules, which we -require in order to bundle the WASM implementation of automerge. To get around -this we use [`craco`](https://github.com/dilanx/craco) which does some monkey -patching to allow us to modify the webpack config that `create-react-app` -bundles. Then we use a craco plugin called -[`craco-wasm`](https://www.npmjs.com/package/craco-wasm) to perform the -necessary modifications to the webpack config. It should be noted that this is -all quite fragile and ideally you probably don't want to use `create-react-app` -to do this in production. - -## Setup - -Assuming you have already run `create-react-app` and your working directory is -the project. - -### Install craco and craco-wasm - -```bash -yarn add craco craco-wasm -``` - -### Modify `package.json` to use `craco` for scripts - -In `package.json` the `scripts` section will look like this: - -```json - "scripts": { - "start": "craco start", - "build": "craco build", - "test": "craco test", - "eject": "craco eject" - }, -``` - -Replace that section with: - -```json - "scripts": { - "start": "craco start", - "build": "craco build", - "test": "craco test", - "eject": "craco eject" - }, -``` - -### Create `craco.config.js` - -In the root of the project add the following contents to `craco.config.js` - -```javascript -const cracoWasm = require("craco-wasm") - -module.exports = { - plugins: [cracoWasm()], -} -``` diff --git a/javascript/examples/create-react-app/craco.config.js b/javascript/examples/create-react-app/craco.config.js deleted file mode 100644 index 489dad8f..00000000 --- a/javascript/examples/create-react-app/craco.config.js +++ /dev/null @@ -1,5 +0,0 @@ -const cracoWasm = require("craco-wasm") - -module.exports = { - plugins: [cracoWasm()], -} diff --git a/javascript/examples/create-react-app/package.json b/javascript/examples/create-react-app/package.json deleted file mode 100644 index 273d277b..00000000 --- a/javascript/examples/create-react-app/package.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "name": "automerge-create-react-app", - "version": "0.1.0", - "private": true, - "dependencies": { - "@craco/craco": "^7.0.0-alpha.8", - "craco-wasm": "0.0.1", - "@testing-library/jest-dom": "^5.16.5", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^13.5.0", - "@automerge/automerge": "2.0.0-alpha.7", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-scripts": "5.0.1", - "web-vitals": "^2.1.4" - }, - "scripts": { - "start": "craco start", - "build": "craco build", - "test": "craco test", - "eject": "craco eject" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/javascript/examples/create-react-app/public/favicon.ico b/javascript/examples/create-react-app/public/favicon.ico deleted file mode 100644 index a11777cc..00000000 Binary files a/javascript/examples/create-react-app/public/favicon.ico and /dev/null differ diff --git a/javascript/examples/create-react-app/public/index.html b/javascript/examples/create-react-app/public/index.html deleted file mode 100644 index aa069f27..00000000 --- a/javascript/examples/create-react-app/public/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - React App - - - -
- - - diff --git a/javascript/examples/create-react-app/public/logo192.png b/javascript/examples/create-react-app/public/logo192.png deleted file mode 100644 index fc44b0a3..00000000 Binary files a/javascript/examples/create-react-app/public/logo192.png and /dev/null differ diff --git a/javascript/examples/create-react-app/public/logo512.png b/javascript/examples/create-react-app/public/logo512.png deleted file mode 100644 index a4e47a65..00000000 Binary files a/javascript/examples/create-react-app/public/logo512.png and /dev/null differ diff --git a/javascript/examples/create-react-app/public/manifest.json b/javascript/examples/create-react-app/public/manifest.json deleted file mode 100644 index 080d6c77..00000000 --- a/javascript/examples/create-react-app/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/javascript/examples/create-react-app/public/robots.txt b/javascript/examples/create-react-app/public/robots.txt deleted file mode 100644 index e9e57dc4..00000000 --- a/javascript/examples/create-react-app/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/javascript/examples/create-react-app/src/App.css b/javascript/examples/create-react-app/src/App.css deleted file mode 100644 index 74b5e053..00000000 --- a/javascript/examples/create-react-app/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/javascript/examples/create-react-app/src/App.js b/javascript/examples/create-react-app/src/App.js deleted file mode 100644 index 7cfe997b..00000000 --- a/javascript/examples/create-react-app/src/App.js +++ /dev/null @@ -1,20 +0,0 @@ -import * as Automerge from "@automerge/automerge" -import logo from "./logo.svg" -import "./App.css" - -let doc = Automerge.init() -doc = Automerge.change(doc, d => (d.hello = "from automerge")) -const result = JSON.stringify(doc) - -function App() { - return ( -
-
- logo -

{result}

-
-
- ) -} - -export default App diff --git a/javascript/examples/create-react-app/src/App.test.js b/javascript/examples/create-react-app/src/App.test.js deleted file mode 100644 index ea796120..00000000 --- a/javascript/examples/create-react-app/src/App.test.js +++ /dev/null @@ -1,8 +0,0 @@ -import { render, screen } from "@testing-library/react" -import App from "./App" - -test("renders learn react link", () => { - render() - const linkElement = screen.getByText(/learn react/i) - expect(linkElement).toBeInTheDocument() -}) diff --git a/javascript/examples/create-react-app/src/index.css b/javascript/examples/create-react-app/src/index.css deleted file mode 100644 index 4a1df4db..00000000 --- a/javascript/examples/create-react-app/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", - "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", - monospace; -} diff --git a/javascript/examples/create-react-app/src/index.js b/javascript/examples/create-react-app/src/index.js deleted file mode 100644 index 58c21edc..00000000 --- a/javascript/examples/create-react-app/src/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import React from "react" -import ReactDOM from "react-dom/client" -import "./index.css" -import App from "./App" -import reportWebVitals from "./reportWebVitals" - -const root = ReactDOM.createRoot(document.getElementById("root")) -root.render( - - - -) - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals() diff --git a/javascript/examples/create-react-app/src/logo.svg b/javascript/examples/create-react-app/src/logo.svg deleted file mode 100644 index 9dfc1c05..00000000 --- a/javascript/examples/create-react-app/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/javascript/examples/create-react-app/src/reportWebVitals.js b/javascript/examples/create-react-app/src/reportWebVitals.js deleted file mode 100644 index eee308db..00000000 --- a/javascript/examples/create-react-app/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = onPerfEntry => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import("web-vitals").then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry) - getFID(onPerfEntry) - getFCP(onPerfEntry) - getLCP(onPerfEntry) - getTTFB(onPerfEntry) - }) - } -} - -export default reportWebVitals diff --git a/javascript/examples/create-react-app/src/setupTests.js b/javascript/examples/create-react-app/src/setupTests.js deleted file mode 100644 index 6a0fd123..00000000 --- a/javascript/examples/create-react-app/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import "@testing-library/jest-dom" diff --git a/javascript/examples/create-react-app/yarn.lock b/javascript/examples/create-react-app/yarn.lock deleted file mode 100644 index ec83af3b..00000000 --- a/javascript/examples/create-react-app/yarn.lock +++ /dev/null @@ -1,9120 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "http://localhost:4873/@adobe%2fcss-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== - -"@ampproject/remapping@^2.1.0": - version "2.2.0" - resolved "http://localhost:4873/@ampproject%2fremapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@apideck/better-ajv-errors@^0.3.1": - version "0.3.6" - resolved "http://localhost:4873/@apideck%2fbetter-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097" - integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA== - dependencies: - json-schema "^0.4.0" - jsonpointer "^5.0.0" - leven "^3.1.0" - -"@automerge/automerge-wasm@0.1.12": - version "0.1.12" - resolved "https://registry.yarnpkg.com/@automerge/automerge-wasm/-/automerge-wasm-0.1.12.tgz#8ce25255d95d4ed6fb387de6858f7b7b7e2ed4a9" - integrity sha512-/xjX1217QYJ+QaoT6iHQw4hGNUIoc3xc65c9eCnfX5v9J9BkTOl05p2Cnr51O2rPc/M6TqZLmlvpvNVdcH9JpA== - -"@automerge/automerge@2.0.0-alpha.7": - version "2.0.0-alpha.7" - resolved "https://registry.yarnpkg.com/@automerge/automerge/-/automerge-2.0.0-alpha.7.tgz#2ee220d51bcd796074a18af74eeabb5f177e1f36" - integrity sha512-Wd2/GNeqtBybUtXclEE7bWBmmEkhv3q2ITQmLh18V0VvMPbqMBpcOKYzQFnKCyiPyRe5XcYeQAyGyunhE5V0ug== - dependencies: - "@automerge/automerge-wasm" "0.1.12" - uuid "^8.3" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.8.3": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fcode-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8", "@babel/compat-data@^7.19.3": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fcompat-data/-/compat-data-7.19.3.tgz#707b939793f867f5a73b2666e6d9a3396eb03151" - integrity sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw== - -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fcore/-/core-7.19.3.tgz#2519f62a51458f43b682d61583c3810e7dcee64c" - integrity sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ== - dependencies: - "@ampproject/remapping" "^2.1.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helpers" "^7.19.0" - "@babel/parser" "^7.19.3" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.3" - "@babel/types" "^7.19.3" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.1" - semver "^6.3.0" - -"@babel/eslint-parser@^7.16.3": - version "7.19.1" - resolved "http://localhost:4873/@babel%2feslint-parser/-/eslint-parser-7.19.1.tgz#4f68f6b0825489e00a24b41b6a1ae35414ecd2f4" - integrity sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ== - dependencies: - "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" - eslint-visitor-keys "^2.1.0" - semver "^6.3.0" - -"@babel/generator@^7.19.3", "@babel/generator@^7.7.2": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fgenerator/-/generator-7.19.3.tgz#d7f4d1300485b4547cb6f94b27d10d237b42bf59" - integrity sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ== - dependencies: - "@babel/types" "^7.19.3" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fhelper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.19.0", "@babel/helper-compilation-targets@^7.19.3": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fhelper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz#a10a04588125675d7c7ae299af86fa1b2ee038ca" - integrity sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg== - dependencies: - "@babel/compat-data" "^7.19.3" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fhelper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" - integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fhelper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" - integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "http://localhost:4873/@babel%2fhelper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fhelper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fhelper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fhelper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fhelper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fhelper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== - -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fhelper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.18.9", "@babel/helper-replace-supers@^7.19.1": - version "7.19.1" - resolved "http://localhost:4873/@babel%2fhelper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" - -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fhelper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" - integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "http://localhost:4873/@babel%2fhelper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "http://localhost:4873/@babel%2fhelper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhelper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helper-wrap-function@^7.18.9": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fhelper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" - integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helpers@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fhelpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" - integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== - dependencies: - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fhighlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.19.3": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fparser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" - integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - -"@babel/plugin-proposal-async-generator-functions@^7.19.1": - version "7.19.1" - resolved "http://localhost:4873/@babel%2fplugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" - integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.16.0", "@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-decorators@^7.16.4": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fplugin-proposal-decorators/-/plugin-proposal-decorators-7.19.3.tgz#c1977e4902a18cdf9051bf7bf08d97db2fd8b110" - integrity sha512-MbgXtNXqo7RTKYIXVchVJGPvaVufQH3pxvQyfbGvNw1DObIhph+PesYXJTcd8J4DdWibvf6Z2eanOyItX8WnJg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.19.1" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/plugin-syntax-decorators" "^7.19.0" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.0", "@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" - integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.0", "@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "http://localhost:4873/@babel%2fplugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "http://localhost:4873/@babel%2fplugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "http://localhost:4873/@babel%2fplugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fplugin-syntax-decorators/-/plugin-syntax-decorators-7.19.0.tgz#5f13d1d8fce96951bea01a10424463c9a5b3a599" - integrity sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-flow@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1" - integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-import-assertions@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" - integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "http://localhost:4873/@babel%2fplugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" - integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "http://localhost:4873/@babel%2fplugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "http://localhost:4873/@babel%2fplugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "http://localhost:4873/@babel%2fplugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "http://localhost:4873/@babel%2fplugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "http://localhost:4873/@babel%2fplugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-typescript@^7.18.6", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" - integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" - integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-classes@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fplugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" - integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-destructuring@^7.18.13": - version "7.18.13" - resolved "http://localhost:4873/@babel%2fplugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" - integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-flow-strip-types@^7.16.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fplugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz#e9e8606633287488216028719638cbbb2f2dde8f" - integrity sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-flow" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "http://localhost:4873/@babel%2fplugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== - dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" - integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" - integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fplugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" - integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-identifier" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.19.1" - resolved "http://localhost:4873/@babel%2fplugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" - integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.18.8": - version "7.18.8" - resolved "http://localhost:4873/@babel%2fplugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" - integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.18.12" - resolved "http://localhost:4873/@babel%2fplugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.18.12.tgz#edf3bec47eb98f14e84fa0af137fcc6aad8e0443" - integrity sha512-Q99U9/ttiu+LMnRU8psd23HhvwXmKWDQIpocm0JKaICcZHnw+mdQbHm6xnSy7dOl8I5PELakYtNBubNQlBXbZw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" - integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-jsx-development@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" - integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.18.6" - -"@babel/plugin-transform-react-jsx@^7.18.6": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fplugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" - integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.19.0" - -"@babel/plugin-transform-react-pure-annotations@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" - integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-runtime@^7.16.4": - version "7.19.1" - resolved "http://localhost:4873/@babel%2fplugin-transform-runtime/-/plugin-transform-runtime-7.19.1.tgz#a3df2d7312eea624c7889a2dcd37fd1dfd25b2c6" - integrity sha512-2nJjTUFIzBMP/f/miLxEK9vxwW/KUXsdvN4sR//TmuDhe6yU2h57WmIOE12Gng3MDP/xpjUV/ToZRdcf8Yj4fA== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.19.0": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fplugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "http://localhost:4873/@babel%2fplugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typescript@^7.18.6": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fplugin-transform-typescript/-/plugin-transform-typescript-7.19.3.tgz#4f1db1e0fe278b42ddbc19ec2f6cd2f8262e35d6" - integrity sha512-z6fnuK9ve9u/0X0rRvI9MY0xg+DOUaABDYOe+/SQTxtlptaBB/V9JIUxJn6xp3lMBeb9qe8xSFmHU35oZDXD+w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/plugin-syntax-typescript" "^7.18.6" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "http://localhost:4873/@babel%2fplugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fplugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": - version "7.19.3" - resolved "http://localhost:4873/@babel%2fpreset-env/-/preset-env-7.19.3.tgz#52cd19abaecb3f176a4ff9cc5e15b7bf06bec754" - integrity sha512-ziye1OTc9dGFOAXSWKUqQblYHNlBOaDl8wzqf2iKXJAltYiR3hKHUKmkt+S9PppW7RQpq4fFCrwwpIDj/f5P4w== - dependencies: - "@babel/compat-data" "^7.19.3" - "@babel/helper-compilation-targets" "^7.19.3" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.19.0" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.13" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.0" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.3" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "http://localhost:4873/@babel%2fpreset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fpreset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" - integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-react-display-name" "^7.18.6" - "@babel/plugin-transform-react-jsx" "^7.18.6" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" - "@babel/plugin-transform-react-pure-annotations" "^7.18.6" - -"@babel/preset-typescript@^7.16.0": - version "7.18.6" - resolved "http://localhost:4873/@babel%2fpreset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" - integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-typescript" "^7.18.6" - -"@babel/runtime-corejs3@^7.10.2": - version "7.19.1" - resolved "http://localhost:4873/@babel%2fruntime-corejs3/-/runtime-corejs3-7.19.1.tgz#f0cbbe7edda7c4109cd253bb1dee99aba4594ad9" - integrity sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g== - dependencies: - core-js-pure "^3.25.1" - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.19.0" - resolved "http://localhost:4873/@babel%2fruntime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" - integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.18.10", "@babel/template@^7.3.3": - version "7.18.10" - resolved "http://localhost:4873/@babel%2ftemplate/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.19.3", "@babel/traverse@^7.7.2": - version "7.19.3" - resolved "http://localhost:4873/@babel%2ftraverse/-/traverse-7.19.3.tgz#3a3c5348d4988ba60884e8494b0592b2f15a04b4" - integrity sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.3" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.3" - "@babel/types" "^7.19.3" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.19.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.19.3" - resolved "http://localhost:4873/@babel%2ftypes/-/types-7.19.3.tgz#fc420e6bbe54880bce6779ffaf315f5e43ec9624" - integrity sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "http://localhost:4873/@bcoe%2fv8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@craco/craco@^7.0.0-alpha.8": - version "7.0.0-alpha.8" - resolved "http://localhost:4873/@craco%2fcraco/-/craco-7.0.0-alpha.8.tgz#40f19f44198ff2341b40654c8c6b4f54c2217972" - integrity sha512-IN3/ldPaktGflPu342cg7n8LYa2c3x9H2XzngUkDzTjro25ig1GyVcUdnG1U0X6wrRTF9K1AxZ5su9jLbdyFUw== - dependencies: - autoprefixer "^10.4.12" - cosmiconfig "^7.0.1" - cosmiconfig-typescript-loader "^4.1.1" - cross-spawn "^7.0.3" - lodash "^4.17.21" - semver "^7.3.7" - webpack-merge "^5.8.0" - -"@csstools/normalize.css@*": - version "12.0.0" - resolved "http://localhost:4873/@csstools%2fnormalize.css/-/normalize.css-12.0.0.tgz#a9583a75c3f150667771f30b60d9f059473e62c4" - integrity sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg== - -"@csstools/postcss-cascade-layers@^1.1.0": - version "1.1.1" - resolved "http://localhost:4873/@csstools%2fpostcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" - integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-color-function@^1.1.1": - version "1.1.1" - resolved "http://localhost:4873/@csstools%2fpostcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" - integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-font-format-keywords@^1.0.1": - version "1.0.1" - resolved "http://localhost:4873/@csstools%2fpostcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" - integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-hwb-function@^1.0.2": - version "1.0.2" - resolved "http://localhost:4873/@csstools%2fpostcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" - integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-ic-unit@^1.0.1": - version "1.0.1" - resolved "http://localhost:4873/@csstools%2fpostcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" - integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-is-pseudo-class@^2.0.7": - version "2.0.7" - resolved "http://localhost:4873/@csstools%2fpostcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" - integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-nested-calc@^1.0.0": - version "1.0.0" - resolved "http://localhost:4873/@csstools%2fpostcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" - integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-normalize-display-values@^1.0.1": - version "1.0.1" - resolved "http://localhost:4873/@csstools%2fpostcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" - integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^1.1.1": - version "1.1.1" - resolved "http://localhost:4873/@csstools%2fpostcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" - integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": - version "1.3.0" - resolved "http://localhost:4873/@csstools%2fpostcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" - integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-stepped-value-functions@^1.0.1": - version "1.0.1" - resolved "http://localhost:4873/@csstools%2fpostcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" - integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-text-decoration-shorthand@^1.0.0": - version "1.0.0" - resolved "http://localhost:4873/@csstools%2fpostcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" - integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-trigonometric-functions@^1.0.2": - version "1.0.2" - resolved "http://localhost:4873/@csstools%2fpostcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" - integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-unset-value@^1.0.2": - version "1.0.2" - resolved "http://localhost:4873/@csstools%2fpostcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" - integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== - -"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - version "2.0.2" - resolved "http://localhost:4873/@csstools%2fselector-specificity/-/selector-specificity-2.0.2.tgz#1bfafe4b7ed0f3e4105837e056e0a89b108ebe36" - integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg== - -"@eslint/eslintrc@^1.3.2": - version "1.3.2" - resolved "http://localhost:4873/@eslint%2feslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" - integrity sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.0" - globals "^13.15.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@humanwhocodes/config-array@^0.10.5": - version "0.10.7" - resolved "http://localhost:4873/@humanwhocodes%2fconfig-array/-/config-array-0.10.7.tgz#6d53769fd0c222767e6452e8ebda825c22e9f0dc" - integrity sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.1" - minimatch "^3.0.4" - -"@humanwhocodes/gitignore-to-minimatch@^1.0.2": - version "1.0.2" - resolved "http://localhost:4873/@humanwhocodes%2fgitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz#316b0a63b91c10e53f242efb4ace5c3b34e8728d" - integrity sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA== - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "http://localhost:4873/@humanwhocodes%2fmodule-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^1.2.1": - version "1.2.1" - resolved "http://localhost:4873/@humanwhocodes%2fobject-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "http://localhost:4873/@istanbuljs%2fload-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "http://localhost:4873/@istanbuljs%2fschema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/console@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2fconsole/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - -"@jest/console@^28.1.3": - version "28.1.3" - resolved "http://localhost:4873/@jest%2fconsole/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - slash "^3.0.0" - -"@jest/core@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2fcore/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2fenvironment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - -"@jest/expect-utils@^29.1.2": - version "29.1.2" - resolved "http://localhost:4873/@jest%2fexpect-utils/-/expect-utils-29.1.2.tgz#66dbb514d38f7d21456bc774419c9ae5cca3f88d" - integrity sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg== - dependencies: - jest-get-type "^29.0.0" - -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2ffake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2fglobals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" - -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2freporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "http://localhost:4873/@jest%2fschemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "http://localhost:4873/@jest%2fschemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2fsource-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" - -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2ftest-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-result@^28.1.3": - version "28.1.3" - resolved "http://localhost:4873/@jest%2ftest-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== - dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2ftest-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== - dependencies: - "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" - -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2ftransform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "http://localhost:4873/@jest%2ftypes/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jest/types@^28.1.3": - version "28.1.3" - resolved "http://localhost:4873/@jest%2ftypes/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== - dependencies: - "@jest/schemas" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jest/types@^29.1.2": - version "29.1.2" - resolved "http://localhost:4873/@jest%2ftypes/-/types-29.1.2.tgz#7442d32b16bcd7592d9614173078b8c334ec730a" - integrity sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "http://localhost:4873/@jridgewell%2fgen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "http://localhost:4873/@jridgewell%2fgen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "http://localhost:4873/@jridgewell%2fresolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "http://localhost:4873/@jridgewell%2fset-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "http://localhost:4873/@jridgewell%2fsource-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "http://localhost:4873/@jridgewell%2fsourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.15" - resolved "http://localhost:4873/@jridgewell%2ftrace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" - integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@leichtgewicht/ip-codec@^2.0.1": - version "2.0.4" - resolved "http://localhost:4873/@leichtgewicht%2fip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" - integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== - -"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": - version "5.1.1-v1" - resolved "http://localhost:4873/@nicolo-ribaudo%2feslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" - integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== - dependencies: - eslint-scope "5.1.1" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "http://localhost:4873/@nodelib%2ffs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "http://localhost:4873/@nodelib%2ffs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "http://localhost:4873/@nodelib%2ffs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - version "0.5.7" - resolved "http://localhost:4873/@pmmmwh%2freact-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.7.tgz#58f8217ba70069cc6a73f5d7e05e85b458c150e2" - integrity sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q== - dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" - core-js-pure "^3.8.1" - error-stack-parser "^2.0.6" - find-up "^5.0.0" - html-entities "^2.1.0" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - source-map "^0.7.3" - -"@rollup/plugin-babel@^5.2.0": - version "5.3.1" - resolved "http://localhost:4873/@rollup%2fplugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" - integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@rollup/pluginutils" "^3.1.0" - -"@rollup/plugin-node-resolve@^11.2.1": - version "11.2.1" - resolved "http://localhost:4873/@rollup%2fplugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" - integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.19.0" - -"@rollup/plugin-replace@^2.4.1": - version "2.4.2" - resolved "http://localhost:4873/@rollup%2fplugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "http://localhost:4873/@rollup%2fpluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@rushstack/eslint-patch@^1.1.0": - version "1.2.0" - resolved "http://localhost:4873/@rushstack%2feslint-patch/-/eslint-patch-1.2.0.tgz#8be36a1f66f3265389e90b5f9c9962146758f728" - integrity sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg== - -"@sinclair/typebox@^0.24.1": - version "0.24.44" - resolved "http://localhost:4873/@sinclair%2ftypebox/-/typebox-0.24.44.tgz#0a0aa3bf4a155a678418527342a3ee84bd8caa5c" - integrity sha512-ka0W0KN5i6LfrSocduwliMMpqVgohtPFidKdMEOUjoOFCHcOOYkKsPRxfs5f15oPNHTm6ERAm0GV/+/LTKeiWg== - -"@sinonjs/commons@^1.7.0": - version "1.8.3" - resolved "http://localhost:4873/@sinonjs%2fcommons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" - integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "http://localhost:4873/@sinonjs%2ffake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== - dependencies: - "@sinonjs/commons" "^1.7.0" - -"@surma/rollup-plugin-off-main-thread@^2.2.3": - version "2.2.3" - resolved "http://localhost:4873/@surma%2frollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" - integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== - dependencies: - ejs "^3.1.6" - json5 "^2.2.0" - magic-string "^0.25.0" - string.prototype.matchall "^4.0.6" - -"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" - integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== - -"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" - integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - version "5.0.1" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" - integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - version "5.0.1" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" - integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== - -"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - version "5.4.0" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" - integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== - -"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - version "5.4.0" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" - integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== - -"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - version "5.4.0" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" - integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== - -"@svgr/babel-plugin-transform-svg-component@^5.5.0": - version "5.5.0" - resolved "http://localhost:4873/@svgr%2fbabel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" - integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== - -"@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "http://localhost:4873/@svgr%2fbabel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" - "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" - "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" - "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" - "@svgr/babel-plugin-transform-svg-component" "^5.5.0" - -"@svgr/core@^5.5.0": - version "5.5.0" - resolved "http://localhost:4873/@svgr%2fcore/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== - dependencies: - "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" - -"@svgr/hast-util-to-babel-ast@^5.5.0": - version "5.5.0" - resolved "http://localhost:4873/@svgr%2fhast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" - integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== - dependencies: - "@babel/types" "^7.12.6" - -"@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "http://localhost:4873/@svgr%2fplugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== - dependencies: - "@babel/core" "^7.12.3" - "@svgr/babel-preset" "^5.5.0" - "@svgr/hast-util-to-babel-ast" "^5.5.0" - svg-parser "^2.0.2" - -"@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "http://localhost:4873/@svgr%2fplugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== - dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" - -"@svgr/webpack@^5.5.0": - version "5.5.0" - resolved "http://localhost:4873/@svgr%2fwebpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== - dependencies: - "@babel/core" "^7.12.3" - "@babel/plugin-transform-react-constant-elements" "^7.12.1" - "@babel/preset-env" "^7.12.1" - "@babel/preset-react" "^7.12.5" - "@svgr/core" "^5.5.0" - "@svgr/plugin-jsx" "^5.5.0" - "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" - -"@testing-library/dom@^8.5.0": - version "8.18.1" - resolved "http://localhost:4873/@testing-library%2fdom/-/dom-8.18.1.tgz#80f91be02bc171fe5a3a7003f88207be31ac2cf3" - integrity sha512-oEvsm2B/WtcHKE+IcEeeCqNU/ltFGaVyGbpcm4g/2ytuT49jrlH9x5qRKL/H3A6yfM4YAbSbC0ceT5+9CEXnLg== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^5.0.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@^5.16.5": - version "5.16.5" - resolved "http://localhost:4873/@testing-library%2fjest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" - integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== - dependencies: - "@adobe/css-tools" "^4.0.1" - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@^13.4.0": - version "13.4.0" - resolved "http://localhost:4873/@testing-library%2freact/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" - integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.5.0" - "@types/react-dom" "^18.0.0" - -"@testing-library/user-event@^13.5.0": - version "13.5.0" - resolved "http://localhost:4873/@testing-library%2fuser-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" - integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== - dependencies: - "@babel/runtime" "^7.12.5" - -"@tootallnate/once@1": - version "1.1.2" - resolved "http://localhost:4873/@tootallnate%2fonce/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "http://localhost:4873/@trysound%2fsax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@types/aria-query@^4.2.0": - version "4.2.2" - resolved "http://localhost:4873/@types%2faria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" - integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.1.19" - resolved "http://localhost:4873/@types%2fbabel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" - integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.4" - resolved "http://localhost:4873/@types%2fbabel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.1" - resolved "http://localhost:4873/@types%2fbabel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.18.2" - resolved "http://localhost:4873/@types%2fbabel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" - integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== - dependencies: - "@babel/types" "^7.3.0" - -"@types/body-parser@*": - version "1.19.2" - resolved "http://localhost:4873/@types%2fbody-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/bonjour@^3.5.9": - version "3.5.10" - resolved "http://localhost:4873/@types%2fbonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" - integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== - dependencies: - "@types/node" "*" - -"@types/connect-history-api-fallback@^1.3.5": - version "1.3.5" - resolved "http://localhost:4873/@types%2fconnect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" - integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== - dependencies: - "@types/express-serve-static-core" "*" - "@types/node" "*" - -"@types/connect@*": - version "3.4.35" - resolved "http://localhost:4873/@types%2fconnect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "http://localhost:4873/@types%2feslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": - version "8.4.6" - resolved "http://localhost:4873/@types%2feslint/-/eslint-8.4.6.tgz#7976f054c1bccfcf514bff0564c0c41df5c08207" - integrity sha512-/fqTbjxyFUaYNO7VcW5g+4npmqVACz1bB7RTHYuLj+PRjw9hrCwrUXVQFpChUS0JsyEFvMZ7U/PfmvWgxJhI9g== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*": - version "1.0.0" - resolved "http://localhost:4873/@types%2festree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "http://localhost:4873/@types%2festree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/estree@^0.0.51": - version "0.0.51" - resolved "http://localhost:4873/@types%2festree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== - -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": - version "4.17.31" - resolved "http://localhost:4873/@types%2fexpress-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - -"@types/express@*", "@types/express@^4.17.13": - version "4.17.14" - resolved "http://localhost:4873/@types%2fexpress/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" - integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/graceful-fs@^4.1.2": - version "4.1.5" - resolved "http://localhost:4873/@types%2fgraceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" - integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== - dependencies: - "@types/node" "*" - -"@types/html-minifier-terser@^6.0.0": - version "6.1.0" - resolved "http://localhost:4873/@types%2fhtml-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" - integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== - -"@types/http-proxy@^1.17.8": - version "1.17.9" - resolved "http://localhost:4873/@types%2fhttp-proxy/-/http-proxy-1.17.9.tgz#7f0e7931343761efde1e2bf48c40f02f3f75705a" - integrity sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "http://localhost:4873/@types%2fistanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "http://localhost:4873/@types%2fistanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "http://localhost:4873/@types%2fistanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@*": - version "29.1.2" - resolved "http://localhost:4873/@types%2fjest/-/jest-29.1.2.tgz#7ad8077043ab5f6c108c8111bcc1d224e5600a87" - integrity sha512-y+nlX0h87U0R+wsGn6EBuoRWYyv3KFtwRNP3QWp9+k2tJ2/bqcGS3UxD7jgT+tiwJWWq3UsyV4Y+T6rsMT4XMg== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "http://localhost:4873/@types%2fjson-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "http://localhost:4873/@types%2fjson5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - -"@types/mime@*": - version "3.0.1" - resolved "http://localhost:4873/@types%2fmime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== - -"@types/node@*": - version "18.8.3" - resolved "http://localhost:4873/@types%2fnode/-/node-18.8.3.tgz#ce750ab4017effa51aed6a7230651778d54e327c" - integrity sha512-0os9vz6BpGwxGe9LOhgP/ncvYN5Tx1fNcd2TM3rD/aCGBkysb+ZWpXEocG24h6ZzOi13+VB8HndAQFezsSOw1w== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "http://localhost:4873/@types%2fparse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/prettier@^2.1.5": - version "2.7.1" - resolved "http://localhost:4873/@types%2fprettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" - integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== - -"@types/prop-types@*": - version "15.7.5" - resolved "http://localhost:4873/@types%2fprop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== - -"@types/q@^1.5.1": - version "1.5.5" - resolved "http://localhost:4873/@types%2fq/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" - integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== - -"@types/qs@*": - version "6.9.7" - resolved "http://localhost:4873/@types%2fqs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - -"@types/range-parser@*": - version "1.2.4" - resolved "http://localhost:4873/@types%2frange-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - -"@types/react-dom@^18.0.0": - version "18.0.6" - resolved "http://localhost:4873/@types%2freact-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" - integrity sha512-/5OFZgfIPSwy+YuIBP/FgJnQnsxhZhjjrnxudMddeblOouIodEQ75X14Rr4wGSG/bknL+Omy9iWlLo1u/9GzAA== - dependencies: - "@types/react" "*" - -"@types/react@*": - version "18.0.21" - resolved "http://localhost:4873/@types%2freact/-/react-18.0.21.tgz#b8209e9626bb00a34c76f55482697edd2b43cc67" - integrity sha512-7QUCOxvFgnD5Jk8ZKlUAhVcRj7GuJRjnjjiY/IUBWKgOlnvDvTMLD4RTF7NPyVmbRhNrbomZiOepg7M/2Kj1mA== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/resolve@1.17.1": - version "1.17.1" - resolved "http://localhost:4873/@types%2fresolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "http://localhost:4873/@types%2fretry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/scheduler@*": - version "0.16.2" - resolved "http://localhost:4873/@types%2fscheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" - integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== - -"@types/serve-index@^1.9.1": - version "1.9.1" - resolved "http://localhost:4873/@types%2fserve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" - integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== - dependencies: - "@types/express" "*" - -"@types/serve-static@*", "@types/serve-static@^1.13.10": - version "1.15.0" - resolved "http://localhost:4873/@types%2fserve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" - integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== - dependencies: - "@types/mime" "*" - "@types/node" "*" - -"@types/sockjs@^0.3.33": - version "0.3.33" - resolved "http://localhost:4873/@types%2fsockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" - integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "http://localhost:4873/@types%2fstack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/testing-library__jest-dom@^5.9.1": - version "5.14.5" - resolved "http://localhost:4873/@types%2ftesting-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f" - integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== - dependencies: - "@types/jest" "*" - -"@types/trusted-types@^2.0.2": - version "2.0.2" - resolved "http://localhost:4873/@types%2ftrusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" - integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== - -"@types/ws@^8.5.1": - version "8.5.3" - resolved "http://localhost:4873/@types%2fws/-/ws-8.5.3.tgz#7d25a1ffbecd3c4f2d35068d0b283c037003274d" - integrity sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "21.0.0" - resolved "http://localhost:4873/@types%2fyargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - -"@types/yargs@^16.0.0": - version "16.0.4" - resolved "http://localhost:4873/@types%2fyargs/-/yargs-16.0.4.tgz#26aad98dd2c2a38e421086ea9ad42b9e51642977" - integrity sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.8": - version "17.0.13" - resolved "http://localhost:4873/@types%2fyargs/-/yargs-17.0.13.tgz#34cced675ca1b1d51fcf4d34c3c6f0fa142a5c76" - integrity sha512-9sWaruZk2JGxIQU+IhI1fhPYRcQ0UuTNuKuCW9bR5fp7qi2Llf7WDzNa17Cy7TKnh3cdxDOiyTu6gaLS0eDatg== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^5.5.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2feslint-plugin/-/eslint-plugin-5.39.0.tgz#778b2d9e7f293502c7feeea6c74dca8eb3e67511" - integrity sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A== - dependencies: - "@typescript-eslint/scope-manager" "5.39.0" - "@typescript-eslint/type-utils" "5.39.0" - "@typescript-eslint/utils" "5.39.0" - debug "^4.3.4" - ignore "^5.2.0" - regexpp "^3.2.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2fexperimental-utils/-/experimental-utils-5.39.0.tgz#9263bb72b57449cc2f07ffb7fd4e12d0160b7f5e" - integrity sha512-n5N9kG/oGu2xXhHzsWzn94s6CWoiUj59FPU2dF2IQZxPftw+q6Jm5sV2vj5qTgAElRooHhrgtl2gxBQDCPt6WA== - dependencies: - "@typescript-eslint/utils" "5.39.0" - -"@typescript-eslint/parser@^5.5.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2fparser/-/parser-5.39.0.tgz#93fa0bc980a3a501e081824f6097f7ca30aaa22b" - integrity sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA== - dependencies: - "@typescript-eslint/scope-manager" "5.39.0" - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/typescript-estree" "5.39.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.39.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2fscope-manager/-/scope-manager-5.39.0.tgz#873e1465afa3d6c78d8ed2da68aed266a08008d0" - integrity sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw== - dependencies: - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/visitor-keys" "5.39.0" - -"@typescript-eslint/type-utils@5.39.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2ftype-utils/-/type-utils-5.39.0.tgz#0a8c00f95dce4335832ad2dc6bc431c14e32a0a6" - integrity sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA== - dependencies: - "@typescript-eslint/typescript-estree" "5.39.0" - "@typescript-eslint/utils" "5.39.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.39.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2ftypes/-/types-5.39.0.tgz#f4e9f207ebb4579fd854b25c0bf64433bb5ed78d" - integrity sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw== - -"@typescript-eslint/typescript-estree@5.39.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2ftypescript-estree/-/typescript-estree-5.39.0.tgz#c0316aa04a1a1f4f7f9498e3c13ef1d3dc4cf88b" - integrity sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA== - dependencies: - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/visitor-keys" "5.39.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.39.0", "@typescript-eslint/utils@^5.13.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2futils/-/utils-5.39.0.tgz#b7063cca1dcf08d1d21b0d91db491161ad0be110" - integrity sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.39.0" - "@typescript-eslint/types" "5.39.0" - "@typescript-eslint/typescript-estree" "5.39.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/visitor-keys@5.39.0": - version "5.39.0" - resolved "http://localhost:4873/@typescript-eslint%2fvisitor-keys/-/visitor-keys-5.39.0.tgz#8f41f7d241b47257b081ddba5d3ce80deaae61e2" - integrity sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg== - dependencies: - "@typescript-eslint/types" "5.39.0" - eslint-visitor-keys "^3.3.0" - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2ffloating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fhelper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fhelper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fhelper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fhelper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fhelper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fleb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2futf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fwasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fwasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fwasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fwasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "http://localhost:4873/@webassemblyjs%2fwast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "http://localhost:4873/@xtuc%2fieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "http://localhost:4873/@xtuc%2flong/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "http://localhost:4873/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "http://localhost:4873/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - -acorn-globals@^6.0.0: - version "6.0.0" - resolved "http://localhost:4873/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "http://localhost:4873/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "http://localhost:4873/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-node@^1.8.2: - version "1.8.2" - resolved "http://localhost:4873/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0, acorn-walk@^7.1.1: - version "7.2.0" - resolved "http://localhost:4873/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.0.0, acorn@^7.1.1: - version "7.4.1" - resolved "http://localhost:4873/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.0: - version "8.8.0" - resolved "http://localhost:4873/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" - integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== - -address@^1.0.1, address@^1.1.2: - version "1.2.1" - resolved "http://localhost:4873/address/-/address-1.2.1.tgz#25bb61095b7522d65b357baa11bc05492d4c8acd" - integrity sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA== - -adjust-sourcemap-loader@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" - integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== - dependencies: - loader-utils "^2.0.0" - regex-parser "^2.2.11" - -agent-base@6: - version "6.0.2" - resolved "http://localhost:4873/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "http://localhost:4873/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "http://localhost:4873/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.0.0: - version "5.1.0" - resolved "http://localhost:4873/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: - version "6.12.6" - resolved "http://localhost:4873/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0, ajv@^8.6.0, ajv@^8.8.0: - version "8.11.0" - resolved "http://localhost:4873/ajv/-/ajv-8.11.0.tgz#977e91dd96ca669f54a11e23e378e33b884a565f" - integrity sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: - version "4.3.2" - resolved "http://localhost:4873/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html-community@^0.0.8: - version "0.0.8" - resolved "http://localhost:4873/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" - integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "http://localhost:4873/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-regex@^6.0.1: - version "6.0.1" - resolved "http://localhost:4873/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "http://localhost:4873/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "http://localhost:4873/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "http://localhost:4873/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "http://localhost:4873/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -arg@^5.0.2: - version "5.0.2" - resolved "http://localhost:4873/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^1.0.7: - version "1.0.10" - resolved "http://localhost:4873/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -argparse@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -aria-query@^4.2.2: - version "4.2.2" - resolved "http://localhost:4873/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -aria-query@^5.0.0: - version "5.0.2" - resolved "http://localhost:4873/aria-query/-/aria-query-5.0.2.tgz#0b8a744295271861e1d933f8feca13f9b70cfdc1" - integrity sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q== - -array-flatten@1.1.1: - version "1.1.1" - resolved "http://localhost:4873/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - -array-flatten@^2.1.2: - version "2.1.2" - resolved "http://localhost:4873/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-includes@^3.1.4, array-includes@^3.1.5: - version "3.1.5" - resolved "http://localhost:4873/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" - integrity sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - get-intrinsic "^1.1.1" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.2.5: - version "1.3.0" - resolved "http://localhost:4873/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" - integrity sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.0: - version "1.3.0" - resolved "http://localhost:4873/array.prototype.flatmap/-/array.prototype.flatmap-1.3.0.tgz#a7e8ed4225f4788a70cd910abcf0791e76a5534f" - integrity sha512-PZC9/8TKAIxcWKdyeb77EzULHPrIX/tIZebLJUQOMR1OwYosT8yggdfWScfTBCDj5utONvOuPQQumYsU2ULbkg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-shim-unscopables "^1.0.0" - -array.prototype.reduce@^1.0.4: - version "1.0.4" - resolved "http://localhost:4873/array.prototype.reduce/-/array.prototype.reduce-1.0.4.tgz#8167e80089f78bff70a99e20bd4201d4663b0a6f" - integrity sha512-WnM+AjG/DvLRLo4DDl+r+SvCzYtD2Jd9oeBYMcEaI7t3fFrHY9M53/wdLcTvmZNQ70IU6Htj0emFkZ5TS+lrdw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.2" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" - -asap@~2.0.6: - version "2.0.6" - resolved "http://localhost:4873/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "http://localhost:4873/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -async@^3.2.3: - version "3.2.4" - resolved "http://localhost:4873/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - -asynckit@^0.4.0: - version "0.4.0" - resolved "http://localhost:4873/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -autoprefixer@^10.4.11, autoprefixer@^10.4.12: - version "10.4.12" - resolved "http://localhost:4873/autoprefixer/-/autoprefixer-10.4.12.tgz#183f30bf0b0722af54ee5ef257f7d4320bb33129" - integrity sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q== - dependencies: - browserslist "^4.21.4" - caniuse-lite "^1.0.30001407" - fraction.js "^4.2.0" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - -axe-core@^4.4.3: - version "4.4.3" - resolved "http://localhost:4873/axe-core/-/axe-core-4.4.3.tgz#11c74d23d5013c0fa5d183796729bc3482bd2f6f" - integrity sha512-32+ub6kkdhhWick/UjvEwRchgoetXqTK14INLqbGm5U2TzBkBNF3nQtLYm8ovxSkQWArjEQvftCKryjZaATu3w== - -axobject-query@^2.2.0: - version "2.2.0" - resolved "http://localhost:4873/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -babel-jest@^27.4.2, babel-jest@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@^8.2.3: - version "8.2.5" - resolved "http://localhost:4873/babel-loader/-/babel-loader-8.2.5.tgz#d45f585e654d5a5d90f5350a779d7647c5ed512e" - integrity sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "http://localhost:4873/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "http://localhost:4873/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@^3.1.0: - version "3.1.0" - resolved "http://localhost:4873/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" - integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== - dependencies: - "@babel/runtime" "^7.12.5" - cosmiconfig "^7.0.0" - resolve "^1.19.0" - -babel-plugin-named-asset-import@^0.3.8: - version "0.3.8" - resolved "http://localhost:4873/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" - integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== - -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "http://localhost:4873/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "http://localhost:4873/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" - -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "http://localhost:4873/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -babel-plugin-transform-react-remove-prop-types@^0.4.24: - version "0.4.24" - resolved "http://localhost:4873/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "http://localhost:4873/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-react-app@^10.0.1: - version "10.0.1" - resolved "http://localhost:4873/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" - integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== - dependencies: - "@babel/core" "^7.16.0" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-decorators" "^7.16.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-transform-flow-strip-types" "^7.16.0" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-runtime" "^7.16.4" - "@babel/preset-env" "^7.16.4" - "@babel/preset-react" "^7.16.0" - "@babel/preset-typescript" "^7.16.0" - "@babel/runtime" "^7.16.3" - babel-plugin-macros "^3.1.0" - babel-plugin-transform-react-remove-prop-types "^0.4.24" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "http://localhost:4873/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -batch@0.6.1: - version "0.6.1" - resolved "http://localhost:4873/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== - -bfj@^7.0.2: - version "7.0.2" - resolved "http://localhost:4873/bfj/-/bfj-7.0.2.tgz#1988ce76f3add9ac2913fd8ba47aad9e651bfbb2" - integrity sha512-+e/UqUzwmzJamNF50tBV6tZPTORow7gQ96iFow+8b562OdMpEK0BcJEq2OSPEDmAbSMBQ7PKZ87ubFkgxpYWgw== - dependencies: - bluebird "^3.5.5" - check-types "^11.1.1" - hoopy "^0.1.4" - tryer "^1.0.1" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "http://localhost:4873/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bluebird@^3.5.5: - version "3.7.2" - resolved "http://localhost:4873/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -body-parser@1.20.0: - version "1.20.0" - resolved "http://localhost:4873/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" - integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.10.3" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - -bonjour-service@^1.0.11: - version "1.0.14" - resolved "http://localhost:4873/bonjour-service/-/bonjour-service-1.0.14.tgz#c346f5bc84e87802d08f8d5a60b93f758e514ee7" - integrity sha512-HIMbgLnk1Vqvs6B4Wq5ep7mxvj9sGz5d1JJyDNSGNIdA/w2MCz6GTjWTdjqOJV1bEPj+6IkxDvWNFKEBxNt4kQ== - dependencies: - array-flatten "^2.1.2" - dns-equal "^1.0.0" - fast-deep-equal "^3.1.3" - multicast-dns "^7.2.5" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "http://localhost:4873/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "http://localhost:4873/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "http://localhost:4873/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.6, browserslist@^4.18.1, browserslist@^4.20.3, browserslist@^4.21.3, browserslist@^4.21.4: - version "4.21.4" - resolved "http://localhost:4873/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - -bser@2.1.1: - version "2.1.1" - resolved "http://localhost:4873/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "http://localhost:4873/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -builtin-modules@^3.1.0: - version "3.3.0" - resolved "http://localhost:4873/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -bytes@3.0.0: - version "3.0.0" - resolved "http://localhost:4873/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== - -bytes@3.1.2: - version "3.1.2" - resolved "http://localhost:4873/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "http://localhost:4873/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@^4.1.2: - version "4.1.2" - resolved "http://localhost:4873/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" - integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== - dependencies: - pascal-case "^3.1.2" - tslib "^2.0.3" - -camelcase-css@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase@^5.3.1: - version "5.3.1" - resolved "http://localhost:4873/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0, camelcase@^6.2.1: - version "6.3.0" - resolved "http://localhost:4873/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001407: - version "1.0.30001416" - resolved "http://localhost:4873/caniuse-lite/-/caniuse-lite-1.0.30001416.tgz#29692af8a6a11412f2d3cf9a59d588fcdd21ce4c" - integrity sha512-06wzzdAkCPZO+Qm4e/eNghZBDfVNDsCgw33T27OwBH9unE9S478OYw//Q2L7Npf/zBzs7rjZOszIFQkwQKAEqA== - -case-sensitive-paths-webpack-plugin@^2.4.0: - version "2.4.0" - resolved "http://localhost:4873/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" - integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== - -chalk@^2.0.0, chalk@^2.4.1: - version "2.4.2" - resolved "http://localhost:4873/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "http://localhost:4873/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -char-regex@^2.0.0: - version "2.0.1" - resolved "http://localhost:4873/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== - -check-types@^11.1.1: - version "11.1.2" - resolved "http://localhost:4873/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" - integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== - -chokidar@^3.4.2, chokidar@^3.5.3: - version "3.5.3" - resolved "http://localhost:4873/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "http://localhost:4873/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -ci-info@^3.2.0: - version "3.4.0" - resolved "http://localhost:4873/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" - integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== - -cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "http://localhost:4873/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - -clean-css@^5.2.2: - version "5.3.1" - resolved "http://localhost:4873/clean-css/-/clean-css-5.3.1.tgz#d0610b0b90d125196a2894d35366f734e5d7aa32" - integrity sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg== - dependencies: - source-map "~0.6.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "http://localhost:4873/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "http://localhost:4873/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -co@^4.6.0: - version "4.6.0" - resolved "http://localhost:4873/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -coa@^2.0.2: - version "2.0.2" - resolved "http://localhost:4873/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "http://localhost:4873/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -color-convert@^1.9.0: - version "1.9.3" - resolved "http://localhost:4873/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "http://localhost:4873/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@^1.1.4, color-name@~1.1.4: - version "1.1.4" - resolved "http://localhost:4873/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colord@^2.9.1: - version "2.9.3" - resolved "http://localhost:4873/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: - version "2.0.19" - resolved "http://localhost:4873/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" - integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "http://localhost:4873/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "http://localhost:4873/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^7.2.0: - version "7.2.0" - resolved "http://localhost:4873/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - -commander@^8.3.0: - version "8.3.0" - resolved "http://localhost:4873/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" - integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== - -common-path-prefix@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" - integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== - -common-tags@^1.8.0: - version "1.8.2" - resolved "http://localhost:4873/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "http://localhost:4873/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -compressible@~2.0.16: - version "2.0.18" - resolved "http://localhost:4873/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "http://localhost:4873/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - -concat-map@0.0.1: - version "0.0.1" - resolved "http://localhost:4873/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -confusing-browser-globals@^1.0.11: - version "1.0.11" - resolved "http://localhost:4873/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - -connect-history-api-fallback@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" - integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== - -content-disposition@0.5.4: - version "0.5.4" - resolved "http://localhost:4873/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - -content-type@~1.0.4: - version "1.0.4" - resolved "http://localhost:4873/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.8.0" - resolved "http://localhost:4873/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - -cookie-signature@1.0.6: - version "1.0.6" - resolved "http://localhost:4873/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - -cookie@0.5.0: - version "0.5.0" - resolved "http://localhost:4873/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - -core-js-compat@^3.25.1: - version "3.25.5" - resolved "http://localhost:4873/core-js-compat/-/core-js-compat-3.25.5.tgz#0016e8158c904f7b059486639e6e82116eafa7d9" - integrity sha512-ovcyhs2DEBUIE0MGEKHP4olCUW/XYte3Vroyxuh38rD1wAO4dHohsovUC4eAOuzFxE6b+RXvBU3UZ9o0YhUTkA== - dependencies: - browserslist "^4.21.4" - -core-js-pure@^3.25.1, core-js-pure@^3.8.1: - version "3.25.5" - resolved "http://localhost:4873/core-js-pure/-/core-js-pure-3.25.5.tgz#79716ba54240c6aa9ceba6eee08cf79471ba184d" - integrity sha512-oml3M22pHM+igfWHDfdLVq2ShWmjM2V4L+dQEBs0DWVIqEm9WHCwGAlZ6BmyBQGy5sFrJmcx+856D9lVKyGWYg== - -core-js@^3.19.2: - version "3.25.5" - resolved "http://localhost:4873/core-js/-/core-js-3.25.5.tgz#e86f651a2ca8a0237a5f064c2fe56cef89646e27" - integrity sha512-nbm6eZSjm+ZuBQxCUPQKQCoUEfFOXjUZ8dTTyikyKaWrTYmAVbykQfwsKE5dBK88u3QCkCrzsx/PPlKfhsvgpw== - -core-util-is@~1.0.0: - version "1.0.3" - resolved "http://localhost:4873/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig-typescript-loader@^4.1.1: - version "4.1.1" - resolved "http://localhost:4873/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.1.1.tgz#38dd3578344038dae40fdf09792bc2e9df529f78" - integrity sha512-9DHpa379Gp0o0Zefii35fcmuuin6q92FnLDffzdZ0l9tVd3nEobG3O+MZ06+kuBvFTSVScvNb/oHA13Nd4iipg== - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "http://localhost:4873/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: - version "7.0.1" - resolved "http://localhost:4873/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.2.1" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.10.0" - -craco-wasm@0.0.1: - version "0.0.1" - resolved "http://localhost:4873/craco-wasm/-/craco-wasm-0.0.1.tgz#a7edbf7ff64e7569909b15684c00de13209985c6" - integrity sha512-0vwZLtkQocS7UlPg9IF4TsG/6gKXcd9O0ISomjRoBMvR2XvtZN4yxvU8/WlY0Vf42PtOcWvhSx9i4oVNxLVE6w== - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "http://localhost:4873/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-blank-pseudo@^3.0.3: - version "3.0.3" - resolved "http://localhost:4873/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" - integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== - dependencies: - postcss-selector-parser "^6.0.9" - -css-declaration-sorter@^6.3.0: - version "6.3.1" - resolved "http://localhost:4873/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz#be5e1d71b7a992433fb1c542c7a1b835e45682ec" - integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w== - -css-has-pseudo@^3.0.4: - version "3.0.4" - resolved "http://localhost:4873/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" - integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== - dependencies: - postcss-selector-parser "^6.0.9" - -css-loader@^6.5.1: - version "6.7.1" - resolved "http://localhost:4873/css-loader/-/css-loader-6.7.1.tgz#e98106f154f6e1baf3fc3bc455cb9981c1d5fd2e" - integrity sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw== - dependencies: - icss-utils "^5.1.0" - postcss "^8.4.7" - postcss-modules-extract-imports "^3.0.0" - postcss-modules-local-by-default "^4.0.0" - postcss-modules-scope "^3.0.0" - postcss-modules-values "^4.0.0" - postcss-value-parser "^4.2.0" - semver "^7.3.5" - -css-minimizer-webpack-plugin@^3.2.0: - version "3.4.1" - resolved "http://localhost:4873/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" - integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-prefers-color-scheme@^6.0.3: - version "6.0.3" - resolved "http://localhost:4873/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" - integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "http://localhost:4873/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "http://localhost:4873/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-select@^4.1.3: - version "4.3.0" - resolved "http://localhost:4873/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" - integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== - dependencies: - boolbase "^1.0.0" - css-what "^6.0.1" - domhandler "^4.3.1" - domutils "^2.8.0" - nth-check "^2.0.1" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "http://localhost:4873/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "http://localhost:4873/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "http://localhost:4873/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css-what@^6.0.1: - version "6.1.0" - resolved "http://localhost:4873/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" - integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== - -css.escape@^1.5.1: - version "1.5.1" - resolved "http://localhost:4873/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - -cssdb@^7.0.1: - version "7.0.1" - resolved "http://localhost:4873/cssdb/-/cssdb-7.0.1.tgz#3810a0c67ae06362982dfe965dbedf57a0f26617" - integrity sha512-pT3nzyGM78poCKLAEy2zWIVX2hikq6dIrjuZzLV98MumBg+xMTNYfHx7paUlfiRTgg91O/vR889CIf+qiv79Rw== - -cssesc@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^5.2.12: - version "5.2.12" - resolved "http://localhost:4873/cssnano-preset-default/-/cssnano-preset-default-5.2.12.tgz#ebe6596ec7030e62c3eb2b3c09f533c0644a9a97" - integrity sha512-OyCBTZi+PXgylz9HAA5kHyoYhfGcYdwFmyaJzWnzxuGRtnMw/kR6ilW9XzlzlRAtB6PLT/r+prYgkef7hngFew== - dependencies: - css-declaration-sorter "^6.3.0" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.0" - postcss-convert-values "^5.1.2" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.6" - postcss-merge-rules "^5.1.2" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.3" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.0" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.0" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "http://localhost:4873/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.0.6: - version "5.1.13" - resolved "http://localhost:4873/cssnano/-/cssnano-5.1.13.tgz#83d0926e72955332dc4802a7070296e6258efc0a" - integrity sha512-S2SL2ekdEz6w6a2epXn4CmMKU4K3KpcyXLKfAYc9UQQqJRkD/2eLUG0vJ3Db/9OvO5GuAdgXw3pFbR6abqghDQ== - dependencies: - cssnano-preset-default "^5.2.12" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.0.2, csso@^4.2.0: - version "4.2.0" - resolved "http://localhost:4873/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.4: - version "0.4.4" - resolved "http://localhost:4873/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "http://localhost:4873/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "http://localhost:4873/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^3.0.2: - version "3.1.1" - resolved "http://localhost:4873/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" - integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== - -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "http://localhost:4873/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -data-urls@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - -debug@2.6.9, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "http://localhost:4873/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "http://localhost:4873/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^3.2.7: - version "3.2.7" - resolved "http://localhost:4873/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.1: - version "10.4.1" - resolved "http://localhost:4873/decimal.js/-/decimal.js-10.4.1.tgz#be75eeac4a2281aace80c1a8753587c27ef053e7" - integrity sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw== - -dedent@^0.7.0: - version "0.7.0" - resolved "http://localhost:4873/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "http://localhost:4873/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -deepmerge@^4.2.2: - version "4.2.2" - resolved "http://localhost:4873/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -default-gateway@^6.0.3: - version "6.0.3" - resolved "http://localhost:4873/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" - integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== - dependencies: - execa "^5.0.0" - -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== - -define-properties@^1.1.3, define-properties@^1.1.4: - version "1.1.4" - resolved "http://localhost:4873/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" - integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -defined@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha512-Y2caI5+ZwS5c3RiNDJ6u53VhQHv+hHKwhkI1iHvceKUHw9Df6EK2zRLfjejRgMuCuxK7PfSWIMwWecceVvThjQ== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "http://localhost:4873/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -depd@2.0.0: - version "2.0.0" - resolved "http://localhost:4873/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -depd@~1.1.2: - version "1.1.2" - resolved "http://localhost:4873/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - -destroy@1.2.0: - version "1.2.0" - resolved "http://localhost:4873/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "http://localhost:4873/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.1.0" - resolved "http://localhost:4873/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "http://localhost:4873/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -detective@^5.2.1: - version "5.2.1" - resolved "http://localhost:4873/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034" - integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw== - dependencies: - acorn-node "^1.8.2" - defined "^1.0.0" - minimist "^1.2.6" - -didyoumean@^1.2.2: - version "1.2.2" - resolved "http://localhost:4873/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - -diff-sequences@^29.0.0: - version "29.0.0" - resolved "http://localhost:4873/diff-sequences/-/diff-sequences-29.0.0.tgz#bae49972ef3933556bcb0800b72e8579d19d9e4f" - integrity sha512-7Qe/zd1wxSDL4D/X/FPjOMB+ZMDt71W94KYaq05I2l0oQqgXgs7s4ftYYmV38gBSrPz2vcygxfs1xn0FT+rKNA== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "http://localhost:4873/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "http://localhost:4873/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -dns-equal@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== - -dns-packet@^5.2.2: - version "5.4.0" - resolved "http://localhost:4873/dns-packet/-/dns-packet-5.4.0.tgz#1f88477cf9f27e78a213fb6d118ae38e759a879b" - integrity sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g== - dependencies: - "@leichtgewicht/ip-codec" "^2.0.1" - -doctrine@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.14" - resolved "http://localhost:4873/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" - integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== - -dom-converter@^0.2.0: - version "0.2.0" - resolved "http://localhost:4873/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "http://localhost:4873/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-serializer@^1.0.1: - version "1.4.1" - resolved "http://localhost:4873/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" - integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" - -domelementtype@1: - version "1.3.1" - resolved "http://localhost:4873/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.3.0" - resolved "http://localhost:4873/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" - integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== - -domexception@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: - version "4.3.1" - resolved "http://localhost:4873/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" - integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== - dependencies: - domelementtype "^2.2.0" - -domutils@^1.7.0: - version "1.7.0" - resolved "http://localhost:4873/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^2.5.2, domutils@^2.8.0: - version "2.8.0" - resolved "http://localhost:4873/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - -dot-case@^3.0.4: - version "3.0.4" - resolved "http://localhost:4873/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@^10.0.0: - version "10.0.0" - resolved "http://localhost:4873/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== - -duplexer@^0.1.2: - version "0.1.2" - resolved "http://localhost:4873/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -ee-first@1.1.1: - version "1.1.1" - resolved "http://localhost:4873/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - -ejs@^3.1.6: - version "3.1.8" - resolved "http://localhost:4873/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" - integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== - dependencies: - jake "^10.8.5" - -electron-to-chromium@^1.4.251: - version "1.4.274" - resolved "http://localhost:4873/electron-to-chromium/-/electron-to-chromium-1.4.274.tgz#74369ac6f020c3cea7c77ec040ddf159fe226233" - integrity sha512-Fgn7JZQzq85I81FpKUNxVLAzoghy8JZJ4NIue+YfUYBbu1AkpgzFvNwzF/ZNZH9ElkmJD0TSWu1F2gTpw/zZlg== - -emittery@^0.10.2: - version "0.10.2" - resolved "http://localhost:4873/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== - -emittery@^0.8.1: - version "0.8.1" - resolved "http://localhost:4873/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "http://localhost:4873/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emoji-regex@^9.2.2: - version "9.2.2" - resolved "http://localhost:4873/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" - integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "http://localhost:4873/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - -enhanced-resolve@^5.10.0: - version "5.10.0" - resolved "http://localhost:4873/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@^2.0.0: - version "2.2.0" - resolved "http://localhost:4873/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "http://localhost:4873/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "http://localhost:4873/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1, es-abstract@^1.19.2, es-abstract@^1.19.5, es-abstract@^1.20.1: - version "1.20.4" - resolved "http://localhost:4873/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" - integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" - unbox-primitive "^1.0.2" - -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "http://localhost:4873/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "http://localhost:4873/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "http://localhost:4873/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "http://localhost:4873/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "http://localhost:4873/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -escodegen@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-react-app@^7.0.1: - version "7.0.1" - resolved "http://localhost:4873/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4" - integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== - dependencies: - "@babel/core" "^7.16.0" - "@babel/eslint-parser" "^7.16.3" - "@rushstack/eslint-patch" "^1.1.0" - "@typescript-eslint/eslint-plugin" "^5.5.0" - "@typescript-eslint/parser" "^5.5.0" - babel-preset-react-app "^10.0.1" - confusing-browser-globals "^1.0.11" - eslint-plugin-flowtype "^8.0.3" - eslint-plugin-import "^2.25.3" - eslint-plugin-jest "^25.3.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.27.1" - eslint-plugin-react-hooks "^4.3.0" - eslint-plugin-testing-library "^5.0.1" - -eslint-import-resolver-node@^0.3.6: - version "0.3.6" - resolved "http://localhost:4873/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" - integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== - dependencies: - debug "^3.2.7" - resolve "^1.20.0" - -eslint-module-utils@^2.7.3: - version "2.7.4" - resolved "http://localhost:4873/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== - dependencies: - debug "^3.2.7" - -eslint-plugin-flowtype@^8.0.3: - version "8.0.3" - resolved "http://localhost:4873/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" - integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== - dependencies: - lodash "^4.17.21" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.25.3: - version "2.26.0" - resolved "http://localhost:4873/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz#f812dc47be4f2b72b478a021605a59fc6fe8b88b" - integrity sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA== - dependencies: - array-includes "^3.1.4" - array.prototype.flat "^1.2.5" - debug "^2.6.9" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.3" - has "^1.0.3" - is-core-module "^2.8.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.5" - resolve "^1.22.0" - tsconfig-paths "^3.14.1" - -eslint-plugin-jest@^25.3.0: - version "25.7.0" - resolved "http://localhost:4873/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" - integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== - dependencies: - "@typescript-eslint/experimental-utils" "^5.0.0" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.6.1" - resolved "http://localhost:4873/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== - dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" - minimatch "^3.1.2" - semver "^6.3.0" - -eslint-plugin-react-hooks@^4.3.0: - version "4.6.0" - resolved "http://localhost:4873/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@^7.27.1: - version "7.31.8" - resolved "http://localhost:4873/eslint-plugin-react/-/eslint-plugin-react-7.31.8.tgz#3a4f80c10be1bcbc8197be9e8b641b2a3ef219bf" - integrity sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw== - dependencies: - array-includes "^3.1.5" - array.prototype.flatmap "^1.3.0" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.5" - object.fromentries "^2.0.5" - object.hasown "^1.1.1" - object.values "^1.1.5" - prop-types "^15.8.1" - resolve "^2.0.0-next.3" - semver "^6.3.0" - string.prototype.matchall "^4.0.7" - -eslint-plugin-testing-library@^5.0.1: - version "5.7.2" - resolved "http://localhost:4873/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.7.2.tgz#c1b2112a40aab61f93e10859e8b2d81e54f0ce84" - integrity sha512-0ZmHeR/DUUgEzW8rwUBRWxuqntipDtpvxK0hymdHnLlABryJkzd+CAHr+XnISaVsTisZ5MLHp6nQF+8COHLLTA== - dependencies: - "@typescript-eslint/utils" "^5.13.0" - -eslint-scope@5.1.1, eslint-scope@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.1.1: - version "7.1.1" - resolved "http://localhost:4873/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "http://localhost:4873/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint-webpack-plugin@^3.1.1: - version "3.2.0" - resolved "http://localhost:4873/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" - integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== - dependencies: - "@types/eslint" "^7.29.0 || ^8.4.1" - jest-worker "^28.0.2" - micromatch "^4.0.5" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - -eslint@^8.3.0: - version "8.24.0" - resolved "http://localhost:4873/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8" - integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== - dependencies: - "@eslint/eslintrc" "^1.3.2" - "@humanwhocodes/config-array" "^0.10.5" - "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" - "@humanwhocodes/module-importer" "^1.0.1" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.1" - globals "^13.15.0" - globby "^11.1.0" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-sdsl "^4.1.4" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.4.0: - version "9.4.0" - resolved "http://localhost:4873/espree/-/espree-9.4.0.tgz#cd4bc3d6e9336c433265fc0aa016fc1aaf182f8a" - integrity sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "http://localhost:4873/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.0: - version "1.4.0" - resolved "http://localhost:4873/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" - integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "http://localhost:4873/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "http://localhost:4873/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "http://localhost:4873/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "http://localhost:4873/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -esutils@^2.0.2: - version "2.0.3" - resolved "http://localhost:4873/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "http://localhost:4873/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - -eventemitter3@^4.0.0: - version "4.0.7" - resolved "http://localhost:4873/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - -events@^3.2.0: - version "3.3.0" - resolved "http://localhost:4873/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^5.0.0: - version "5.1.1" - resolved "http://localhost:4873/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "http://localhost:4873/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== - dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - -expect@^29.0.0: - version "29.1.2" - resolved "http://localhost:4873/expect/-/expect-29.1.2.tgz#82f8f28d7d408c7c68da3a386a490ee683e1eced" - integrity sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw== - dependencies: - "@jest/expect-utils" "^29.1.2" - jest-get-type "^29.0.0" - jest-matcher-utils "^29.1.2" - jest-message-util "^29.1.2" - jest-util "^29.1.2" - -express@^4.17.3: - version "4.18.1" - resolved "http://localhost:4873/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" - integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.0" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.10.3" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "http://localhost:4873/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-glob@^3.2.11, fast-glob@^3.2.9: - version "3.2.12" - resolved "http://localhost:4873/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "http://localhost:4873/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.13.0" - resolved "http://localhost:4873/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" - integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.11.3: - version "0.11.4" - resolved "http://localhost:4873/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "http://localhost:4873/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "http://localhost:4873/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-loader@^6.2.0: - version "6.2.0" - resolved "http://localhost:4873/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -filelist@^1.0.1: - version "1.0.4" - resolved "http://localhost:4873/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filesize@^8.0.6: - version "8.0.7" - resolved "http://localhost:4873/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - -fill-range@^7.0.1: - version "7.0.1" - resolved "http://localhost:4873/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.2.0: - version "1.2.0" - resolved "http://localhost:4873/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "http://localhost:4873/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "http://localhost:4873/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "http://localhost:4873/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "http://localhost:4873/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.2.7" - resolved "http://localhost:4873/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -follow-redirects@^1.0.0: - version "1.15.2" - resolved "http://localhost:4873/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.2" - resolved "http://localhost:4873/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz#4f67183f2f9eb8ba7df7177ce3cf3e75cdafb340" - integrity sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data@^3.0.0: - version "3.0.1" - resolved "http://localhost:4873/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -forwarded@0.2.0: - version "0.2.0" - resolved "http://localhost:4873/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fraction.js@^4.2.0: - version "4.2.0" - resolved "http://localhost:4873/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== - -fresh@0.5.2: - version "0.5.2" - resolved "http://localhost:4873/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - -fs-extra@^10.0.0: - version "10.1.0" - resolved "http://localhost:4873/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "http://localhost:4873/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.3: - version "1.0.3" - resolved "http://localhost:4873/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "http://localhost:4873/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "http://localhost:4873/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "http://localhost:4873/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2: - version "1.2.3" - resolved "http://localhost:4873/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "http://localhost:4873/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "http://localhost:4873/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: - version "1.1.3" - resolved "http://localhost:4873/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" - integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "http://localhost:4873/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "http://localhost:4873/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-stream@^6.0.0: - version "6.0.1" - resolved "http://localhost:4873/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "http://localhost:4873/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.1, glob-parent@^6.0.2: - version "6.0.2" - resolved "http://localhost:4873/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "http://localhost:4873/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.2.3" - resolved "http://localhost:4873/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-modules@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "http://localhost:4873/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.15.0: - version "13.17.0" - resolved "http://localhost:4873/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== - dependencies: - type-fest "^0.20.2" - -globby@^11.0.4, globby@^11.1.0: - version "11.1.0" - resolved "http://localhost:4873/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - version "4.2.10" - resolved "http://localhost:4873/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "http://localhost:4873/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -gzip-size@^6.0.0: - version "6.0.0" - resolved "http://localhost:4873/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "http://localhost:4873/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "http://localhost:4873/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "http://localhost:4873/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "http://localhost:4873/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -he@^1.2.0: - version "1.2.0" - resolved "http://localhost:4873/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hoopy@^0.1.4: - version "0.1.4" - resolved "http://localhost:4873/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "http://localhost:4873/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-entities@^2.1.0, html-entities@^2.3.2: - version "2.3.3" - resolved "http://localhost:4873/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "http://localhost:4873/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^6.0.2: - version "6.1.0" - resolved "http://localhost:4873/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" - integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== - dependencies: - camel-case "^4.1.2" - clean-css "^5.2.2" - commander "^8.3.0" - he "^1.2.0" - param-case "^3.0.4" - relateurl "^0.2.7" - terser "^5.10.0" - -html-webpack-plugin@^5.5.0: - version "5.5.0" - resolved "http://localhost:4873/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50" - integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw== - dependencies: - "@types/html-minifier-terser" "^6.0.0" - html-minifier-terser "^6.0.2" - lodash "^4.17.21" - pretty-error "^4.0.0" - tapable "^2.0.0" - -htmlparser2@^6.1.0: - version "6.1.0" - resolved "http://localhost:4873/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== - dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "http://localhost:4873/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== - -http-errors@2.0.0: - version "2.0.0" - resolved "http://localhost:4873/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-errors@~1.6.2: - version "1.6.3" - resolved "http://localhost:4873/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.8" - resolved "http://localhost:4873/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" - integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "http://localhost:4873/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "http://localhost:4873/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== - dependencies: - "@types/http-proxy" "^1.17.8" - http-proxy "^1.18.1" - is-glob "^4.0.1" - is-plain-obj "^3.0.0" - micromatch "^4.0.2" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "http://localhost:4873/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "http://localhost:4873/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -iconv-lite@0.4.24: - version "0.4.24" - resolved "http://localhost:4873/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@^0.6.3: - version "0.6.3" - resolved "http://localhost:4873/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -icss-utils@^5.0.0, icss-utils@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" - integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== - -idb@^7.0.1: - version "7.1.0" - resolved "http://localhost:4873/idb/-/idb-7.1.0.tgz#2cc886be57738419e57f9aab58f647e5e2160270" - integrity sha512-Wsk07aAxDsntgYJY4h0knZJuTxM73eQ4reRAO+Z1liOh8eMCJ/MoDS8fCui1vGT9mnjtl1sOu3I2i/W1swPYZg== - -identity-obj-proxy@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - -ignore@^5.2.0: - version "5.2.0" - resolved "http://localhost:4873/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" - integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== - -immer@^9.0.7: - version "9.0.15" - resolved "http://localhost:4873/immer/-/immer-9.0.15.tgz#0b9169e5b1d22137aba7d43f8a81a495dd1b62dc" - integrity sha512-2eB/sswms9AEUSkOm4SbV5Y7Vmt/bKRwByd52jfLkW4OLYeaTP3EEiJ9agqU0O/tq6Dk62Zfj+TJSqfm1rLVGQ== - -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "http://localhost:4873/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-local@^3.0.2: - version "3.1.0" - resolved "http://localhost:4873/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "http://localhost:4873/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "http://localhost:4873/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "http://localhost:4873/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.3: - version "2.0.3" - resolved "http://localhost:4873/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@^1.3.5: - version "1.3.8" - resolved "http://localhost:4873/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "http://localhost:4873/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "http://localhost:4873/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -ipaddr.js@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" - integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "http://localhost:4873/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "http://localhost:4873/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "http://localhost:4873/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "http://localhost:4873/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "http://localhost:4873/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.8.1, is-core-module@^2.9.0: - version "2.10.0" - resolved "http://localhost:4873/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" - integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "http://localhost:4873/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "http://localhost:4873/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "http://localhost:4873/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "http://localhost:4873/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "http://localhost:4873/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-module@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "http://localhost:4873/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "http://localhost:4873/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "http://localhost:4873/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - version "1.0.1" - resolved "http://localhost:4873/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - -is-plain-obj@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" - integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== - -is-plain-object@^2.0.4: - version "2.0.4" - resolved "http://localhost:4873/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "http://localhost:4873/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "http://localhost:4873/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -is-root@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -is-stream@^2.0.0: - version "2.0.1" - resolved "http://localhost:4873/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "http://localhost:4873/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "http://localhost:4873/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - -is-weakref@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-wsl@^2.2.0: - version "2.2.0" - resolved "http://localhost:4873/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@~1.0.0: - version "1.0.0" - resolved "http://localhost:4873/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -isobject@^3.0.1: - version "3.0.1" - resolved "http://localhost:4873/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "http://localhost:4873/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "http://localhost:4873/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "http://localhost:4873/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.5" - resolved "http://localhost:4873/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jake@^10.8.5: - version "10.8.5" - resolved "http://localhost:4873/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" - integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.1" - minimatch "^3.0.4" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-diff@^29.1.2: - version "29.1.2" - resolved "http://localhost:4873/jest-diff/-/jest-diff-29.1.2.tgz#bb7aaf5353227d6f4f96c5e7e8713ce576a607dc" - integrity sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.0.0" - jest-get-type "^29.0.0" - pretty-format "^29.1.2" - -jest-docblock@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - -jest-get-type@^29.0.0: - version "29.0.0" - resolved "http://localhost:4873/jest-get-type/-/jest-get-type-29.0.0.tgz#843f6c50a1b778f7325df1129a0fd7aa713aef80" - integrity sha512-83X19z/HuLKYXYHskZlBAShO7UfLFXu/vWajw9ZNJASN32li8yHMaVGAQqxFW1RCFOkB7cubaL6FaJVQqqJLSw== - -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-matcher-utils@^29.1.2: - version "29.1.2" - resolved "http://localhost:4873/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz#e68c4bcc0266e70aa1a5c13fb7b8cd4695e318a1" - integrity sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw== - dependencies: - chalk "^4.0.0" - jest-diff "^29.1.2" - jest-get-type "^29.0.0" - pretty-format "^29.1.2" - -jest-message-util@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^28.1.3: - version "28.1.3" - resolved "http://localhost:4873/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^28.1.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^29.1.2: - version "29.1.2" - resolved "http://localhost:4873/jest-message-util/-/jest-message-util-29.1.2.tgz#c21a33c25f9dc1ebfcd0f921d89438847a09a501" - integrity sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.1.2" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.1.2" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.2" - resolved "http://localhost:4873/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" - integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-regex-util@^28.0.0: - version "28.0.2" - resolved "http://localhost:4873/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== - -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - -jest-resolve@^27.4.2, jest-resolve@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^28.1.3: - version "28.1.3" - resolved "http://localhost:4873/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^29.1.2: - version "29.1.2" - resolved "http://localhost:4873/jest-util/-/jest-util-29.1.2.tgz#ac5798e93cb6a6703084e194cfa0898d66126df1" - integrity sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ== - dependencies: - "@jest/types" "^29.1.2" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - -jest-watch-typeahead@^1.0.0: - version "1.1.0" - resolved "http://localhost:4873/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz#b4a6826dfb9c9420da2f7bc900de59dad11266a9" - integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== - dependencies: - ansi-escapes "^4.3.1" - chalk "^4.0.0" - jest-regex-util "^28.0.0" - jest-watcher "^28.0.0" - slash "^4.0.0" - string-length "^5.0.1" - strip-ansi "^7.0.1" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - -jest-watcher@^28.0.0: - version "28.1.3" - resolved "http://localhost:4873/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== - dependencies: - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.3" - string-length "^4.0.1" - -jest-worker@^26.2.1: - version "26.6.2" - resolved "http://localhost:4873/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^28.0.2: - version "28.1.3" - resolved "http://localhost:4873/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^27.4.3: - version "27.5.1" - resolved "http://localhost:4873/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== - dependencies: - "@jest/core" "^27.5.1" - import-local "^3.0.2" - jest-cli "^27.5.1" - -js-sdsl@^4.1.4: - version "4.1.5" - resolved "http://localhost:4873/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" - integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "http://localhost:4873/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "http://localhost:4873/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsdom@^16.6.0: - version "16.7.0" - resolved "http://localhost:4873/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "http://localhost:4873/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "http://localhost:4873/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - version "2.3.1" - resolved "http://localhost:4873/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "http://localhost:4873/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@^0.4.0: - version "0.4.0" - resolved "http://localhost:4873/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "http://localhost:4873/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.0, json5@^2.2.1: - version "2.2.1" - resolved "http://localhost:4873/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "http://localhost:4873/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonpointer@^5.0.0: - version "5.0.1" - resolved "http://localhost:4873/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" - integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== - -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2: - version "3.3.3" - resolved "http://localhost:4873/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" - -kind-of@^6.0.2: - version "6.0.3" - resolved "http://localhost:4873/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "http://localhost:4873/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4, klona@^2.0.5: - version "2.0.5" - resolved "http://localhost:4873/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" - integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== - -language-subtag-registry@~0.3.2: - version "0.3.22" - resolved "http://localhost:4873/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.5: - version "1.0.5" - resolved "http://localhost:4873/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== - dependencies: - language-subtag-registry "~0.3.2" - -leven@^3.1.0: - version "3.1.0" - resolved "http://localhost:4873/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@^0.4.1: - version "0.4.1" - resolved "http://localhost:4873/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -levn@~0.3.0: - version "0.3.0" - resolved "http://localhost:4873/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6: - version "2.0.6" - resolved "http://localhost:4873/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" - integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "http://localhost:4873/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -loader-runner@^4.2.0: - version "4.3.0" - resolved "http://localhost:4873/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -loader-utils@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" - integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^2.1.2" - -loader-utils@^3.2.0: - version "3.2.0" - resolved "http://localhost:4873/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" - integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== - -locate-path@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "http://localhost:4873/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "http://localhost:4873/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "http://localhost:4873/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "http://localhost:4873/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "http://localhost:4873/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "http://localhost:4873/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "http://localhost:4873/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: - version "4.17.21" - resolved "http://localhost:4873/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "http://localhost:4873/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lower-case@^2.0.2: - version "2.0.2" - resolved "http://localhost:4873/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "http://localhost:4873/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lz-string@^1.4.4: - version "1.4.4" - resolved "http://localhost:4873/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" - integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ== - -magic-string@^0.25.0, magic-string@^0.25.7: - version "0.25.9" - resolved "http://localhost:4873/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "http://localhost:4873/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -makeerror@1.0.12: - version "1.0.12" - resolved "http://localhost:4873/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -mdn-data@2.0.14: - version "2.0.14" - resolved "http://localhost:4873/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "http://localhost:4873/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -media-typer@0.3.0: - version "0.3.0" - resolved "http://localhost:4873/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -memfs@^3.1.2, memfs@^3.4.3: - version "3.4.7" - resolved "http://localhost:4873/memfs/-/memfs-3.4.7.tgz#e5252ad2242a724f938cb937e3c4f7ceb1f70e5a" - integrity sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw== - dependencies: - fs-monkey "^1.0.3" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "http://localhost:4873/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "http://localhost:4873/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -methods@~1.1.2: - version "1.1.2" - resolved "http://localhost:4873/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "http://localhost:4873/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": - version "1.52.0" - resolved "http://localhost:4873/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "http://localhost:4873/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@1.6.0: - version "1.6.0" - resolved "http://localhost:4873/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "http://localhost:4873/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-css-extract-plugin@^2.4.5: - version "2.6.1" - resolved "http://localhost:4873/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz#9a1251d15f2035c342d99a468ab9da7a0451b71e" - integrity sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg== - dependencies: - schema-utils "^4.0.0" - -minimalistic-assert@^1.0.0: - version "1.0.1" - resolved "http://localhost:4873/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimatch@3.0.4: - version "3.0.4" - resolved "http://localhost:4873/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "http://localhost:4873/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.0" - resolved "http://localhost:4873/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7" - integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" - integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== - -mkdirp@~0.5.1: - version "0.5.6" - resolved "http://localhost:4873/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - -ms@2.0.0: - version "2.0.0" - resolved "http://localhost:4873/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -ms@2.1.2: - version "2.1.2" - resolved "http://localhost:4873/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3, ms@^2.1.1: - version "2.1.3" - resolved "http://localhost:4873/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -multicast-dns@^7.2.5: - version "7.2.5" - resolved "http://localhost:4873/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" - integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== - dependencies: - dns-packet "^5.2.2" - thunky "^1.0.2" - -nanoid@^3.3.4: - version "3.3.4" - resolved "http://localhost:4873/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "http://localhost:4873/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@0.6.3: - version "0.6.3" - resolved "http://localhost:4873/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "http://localhost:4873/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -no-case@^3.0.4: - version "3.0.4" - resolved "http://localhost:4873/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - -node-forge@^1: - version "1.3.1" - resolved "http://localhost:4873/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" - integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== - -node-int64@^0.4.0: - version "0.4.0" - resolved "http://localhost:4873/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.6: - version "2.0.6" - resolved "http://localhost:4873/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "http://localhost:4873/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "http://localhost:4873/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "http://localhost:4873/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "http://localhost:4873/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nth-check@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -nth-check@^2.0.1: - version "2.1.1" - resolved "http://localhost:4873/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" - integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== - dependencies: - boolbase "^1.0.0" - -nwsapi@^2.2.0: - version "2.2.2" - resolved "http://localhost:4873/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - -object-assign@^4.1.1: - version "4.1.1" - resolved "http://localhost:4873/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - -object-hash@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - -object-inspect@^1.12.2, object-inspect@^1.9.0: - version "1.12.2" - resolved "http://localhost:4873/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" - integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "http://localhost:4873/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0, object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "http://localhost:4873/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.5: - version "1.1.5" - resolved "http://localhost:4873/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" - integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.fromentries@^2.0.5: - version "2.0.5" - resolved "http://localhost:4873/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" - integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -object.getownpropertydescriptors@^2.1.0: - version "2.1.4" - resolved "http://localhost:4873/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.4.tgz#7965e6437a57278b587383831a9b829455a4bc37" - integrity sha512-sccv3L/pMModT6dJAYF3fzGMVcb38ysQ0tEE6ixv2yXJDtEIPph268OlAdJj5/qZMZDq2g/jqvwppt36uS/uQQ== - dependencies: - array.prototype.reduce "^1.0.4" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.1" - -object.hasown@^1.1.1: - version "1.1.1" - resolved "http://localhost:4873/object.hasown/-/object.hasown-1.1.1.tgz#ad1eecc60d03f49460600430d97f23882cf592a3" - integrity sha512-LYLe4tivNQzq4JdaWW6WO3HMZZJWzkkH8fnI6EebWl0VZth2wL2Lovm74ep2/gZzlaTdV62JZHEqHQ2yVn8Q/A== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.19.5" - -object.values@^1.1.0, object.values@^1.1.5: - version "1.1.5" - resolved "http://localhost:4873/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" - integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "http://localhost:4873/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-finished@2.4.1: - version "2.4.1" - resolved "http://localhost:4873/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "http://localhost:4873/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0: - version "1.4.0" - resolved "http://localhost:4873/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "http://localhost:4873/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -open@^8.0.9, open@^8.4.0: - version "8.4.0" - resolved "http://localhost:4873/open/-/open-8.4.0.tgz#345321ae18f8138f82565a910fdc6b39e8c244f8" - integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q== - dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" - -optionator@^0.8.1: - version "0.8.3" - resolved "http://localhost:4873/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "http://localhost:4873/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - -p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "http://localhost:4873/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "http://localhost:4873/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "http://localhost:4873/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "http://localhost:4873/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-retry@^4.5.0: - version "4.6.2" - resolved "http://localhost:4873/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== - dependencies: - "@types/retry" "0.12.0" - retry "^0.13.1" - -p-try@^2.0.0: - version "2.2.0" - resolved "http://localhost:4873/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -param-case@^3.0.4: - version "3.0.4" - resolved "http://localhost:4873/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" - integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - -parent-module@^1.0.0: - version "1.0.1" - resolved "http://localhost:4873/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0, parse-json@^5.2.0: - version "5.2.0" - resolved "http://localhost:4873/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -parse5@6.0.1: - version "6.0.1" - resolved "http://localhost:4873/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "http://localhost:4873/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.2: - version "3.1.2" - resolved "http://localhost:4873/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" - integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - -path-exists@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - -path-exists@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "http://localhost:4873/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "http://localhost:4873/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "http://localhost:4873/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "http://localhost:4873/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - -path-type@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -performance-now@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^0.2.1: - version "0.2.1" - resolved "http://localhost:4873/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "http://localhost:4873/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^2.3.0: - version "2.3.0" - resolved "http://localhost:4873/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.4: - version "4.0.5" - resolved "http://localhost:4873/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "http://localhost:4873/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@^3.1.0: - version "3.1.0" - resolved "http://localhost:4873/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -postcss-attribute-case-insensitive@^5.0.2: - version "5.0.2" - resolved "http://localhost:4873/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" - integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-browser-comments@^4: - version "4.0.0" - resolved "http://localhost:4873/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz#bcfc86134df5807f5d3c0eefa191d42136b5e72a" - integrity sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg== - -postcss-calc@^8.2.3: - version "8.2.4" - resolved "http://localhost:4873/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "http://localhost:4873/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^4.2.4: - version "4.2.4" - resolved "http://localhost:4873/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" - integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-hex-alpha@^8.0.4: - version "8.0.4" - resolved "http://localhost:4873/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" - integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-rebeccapurple@^7.1.1: - version "7.1.1" - resolved "http://localhost:4873/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" - integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.0: - version "5.3.0" - resolved "http://localhost:4873/postcss-colormin/-/postcss-colormin-5.3.0.tgz#3cee9e5ca62b2c27e84fce63affc0cfb5901956a" - integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.2: - version "5.1.2" - resolved "http://localhost:4873/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz#31586df4e184c2e8890e8b34a0b9355313f503ab" - integrity sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g== - dependencies: - browserslist "^4.20.3" - postcss-value-parser "^4.2.0" - -postcss-custom-media@^8.0.2: - version "8.0.2" - resolved "http://localhost:4873/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" - integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.9: - version "12.1.9" - resolved "http://localhost:4873/postcss-custom-properties/-/postcss-custom-properties-12.1.9.tgz#0883429a7ef99f1ba239d1fea29ce84906daa8bd" - integrity sha512-/E7PRvK8DAVljBbeWrcEQJPG72jaImxF3vvCNFwv9cC8CzigVoNIpeyfnJzphnN3Fd8/auBf5wvkw6W9MfmTyg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-selectors@^6.0.3: - version "6.0.3" - resolved "http://localhost:4873/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" - integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-dir-pseudo-class@^6.0.5: - version "6.0.5" - resolved "http://localhost:4873/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" - integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "http://localhost:4873/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-double-position-gradients@^3.1.2: - version "3.1.2" - resolved "http://localhost:4873/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" - integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-env-function@^4.0.6: - version "4.0.6" - resolved "http://localhost:4873/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" - integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-flexbugs-fixes@^5.0.2: - version "5.0.2" - resolved "http://localhost:4873/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" - integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== - -postcss-focus-visible@^6.0.4: - version "6.0.4" - resolved "http://localhost:4873/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" - integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-focus-within@^5.0.4: - version "5.0.4" - resolved "http://localhost:4873/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" - integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-font-variant@^5.0.0: - version "5.0.0" - resolved "http://localhost:4873/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== - -postcss-gap-properties@^3.0.5: - version "3.0.5" - resolved "http://localhost:4873/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" - integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== - -postcss-image-set-function@^4.0.7: - version "4.0.7" - resolved "http://localhost:4873/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" - integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-import@^14.1.0: - version "14.1.0" - resolved "http://localhost:4873/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0" - integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-initial@^4.0.1: - version "4.0.1" - resolved "http://localhost:4873/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" - integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== - -postcss-js@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" - integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== - dependencies: - camelcase-css "^2.0.1" - -postcss-lab-function@^4.2.1: - version "4.2.1" - resolved "http://localhost:4873/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" - integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-load-config@^3.1.4: - version "3.1.4" - resolved "http://localhost:4873/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" - integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== - dependencies: - lilconfig "^2.0.5" - yaml "^1.10.2" - -postcss-loader@^6.2.1: - version "6.2.1" - resolved "http://localhost:4873/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-logical@^5.0.4: - version "5.0.4" - resolved "http://localhost:4873/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" - integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== - -postcss-media-minmax@^5.0.0: - version "5.0.0" - resolved "http://localhost:4873/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== - -postcss-merge-longhand@^5.1.6: - version "5.1.6" - resolved "http://localhost:4873/postcss-merge-longhand/-/postcss-merge-longhand-5.1.6.tgz#f378a8a7e55766b7b644f48e5d8c789ed7ed51ce" - integrity sha512-6C/UGF/3T5OE2CEbOuX7iNO63dnvqhGZeUnKkDeifebY0XqkkvrctYSZurpNE902LDf2yKwwPFgotnfSoPhQiw== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.0" - -postcss-merge-rules@^5.1.2: - version "5.1.2" - resolved "http://localhost:4873/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz#7049a14d4211045412116d79b751def4484473a5" - integrity sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^5.1.3: - version "5.1.3" - resolved "http://localhost:4873/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz#ac41a6465be2db735099bbd1798d85079a6dc1f9" - integrity sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg== - dependencies: - browserslist "^4.16.6" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "http://localhost:4873/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-modules-extract-imports@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" - integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== - dependencies: - icss-utils "^5.0.0" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-scope@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" - integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-modules-values@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" - integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== - dependencies: - icss-utils "^5.0.0" - -postcss-nested@5.0.6: - version "5.0.6" - resolved "http://localhost:4873/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" - integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== - dependencies: - postcss-selector-parser "^6.0.6" - -postcss-nesting@^10.2.0: - version "10.2.0" - resolved "http://localhost:4873/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" - integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz#3d23aede35e160089a285e27bf715de11dc9db75" - integrity sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ== - dependencies: - browserslist "^4.16.6" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize@^10.0.1: - version "10.0.1" - resolved "http://localhost:4873/postcss-normalize/-/postcss-normalize-10.0.1.tgz#464692676b52792a06b06880a176279216540dd7" - integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== - dependencies: - "@csstools/normalize.css" "*" - postcss-browser-comments "^4" - sanitize.css "*" - -postcss-opacity-percentage@^1.1.2: - version "1.1.2" - resolved "http://localhost:4873/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz#bd698bb3670a0a27f6d657cc16744b3ebf3b1145" - integrity sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w== - -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "http://localhost:4873/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-overflow-shorthand@^3.0.4: - version "3.0.4" - resolved "http://localhost:4873/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" - integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-page-break@^3.0.4: - version "3.0.4" - resolved "http://localhost:4873/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== - -postcss-place@^7.0.5: - version "7.0.5" - resolved "http://localhost:4873/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" - integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-preset-env@^7.0.1: - version "7.8.2" - resolved "http://localhost:4873/postcss-preset-env/-/postcss-preset-env-7.8.2.tgz#4c834d5cbd2e29df2abf59118947c456922b79ba" - integrity sha512-rSMUEaOCnovKnwc5LvBDHUDzpGP+nrUeWZGWt9M72fBvckCi45JmnJigUr4QG4zZeOHmOCNCZnd2LKDvP++ZuQ== - dependencies: - "@csstools/postcss-cascade-layers" "^1.1.0" - "@csstools/postcss-color-function" "^1.1.1" - "@csstools/postcss-font-format-keywords" "^1.0.1" - "@csstools/postcss-hwb-function" "^1.0.2" - "@csstools/postcss-ic-unit" "^1.0.1" - "@csstools/postcss-is-pseudo-class" "^2.0.7" - "@csstools/postcss-nested-calc" "^1.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.1" - "@csstools/postcss-oklab-function" "^1.1.1" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.1" - "@csstools/postcss-text-decoration-shorthand" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.2" - "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.11" - browserslist "^4.21.3" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^7.0.1" - postcss-attribute-case-insensitive "^5.0.2" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.4" - postcss-color-hex-alpha "^8.0.4" - postcss-color-rebeccapurple "^7.1.1" - postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.9" - postcss-custom-selectors "^6.0.3" - postcss-dir-pseudo-class "^6.0.5" - postcss-double-position-gradients "^3.1.2" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.5" - postcss-image-set-function "^4.0.7" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.2.0" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.4" - postcss-page-break "^3.0.4" - postcss-place "^7.0.5" - postcss-pseudo-class-any-link "^7.1.6" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-pseudo-class-any-link@^7.1.6: - version "7.1.6" - resolved "http://localhost:4873/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" - integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-reduce-initial@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz#fc31659ea6e85c492fb2a7b545370c215822c5d6" - integrity sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw== - dependencies: - browserslist "^4.16.6" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-replace-overflow-wrap@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== - -postcss-selector-not@^6.0.1: - version "6.0.1" - resolved "http://localhost:4873/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" - integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: - version "6.0.10" - resolved "http://localhost:4873/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" - integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: - version "4.2.0" - resolved "http://localhost:4873/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" - integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== - -postcss@^7.0.35: - version "7.0.39" - resolved "http://localhost:4873/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.4, postcss@^8.4.7: - version "8.4.17" - resolved "http://localhost:4873/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5" - integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "http://localhost:4873/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "http://localhost:4873/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: - version "5.6.0" - resolved "http://localhost:4873/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== - -pretty-error@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" - integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== - dependencies: - lodash "^4.17.20" - renderkid "^3.0.0" - -pretty-format@^27.0.2, pretty-format@^27.5.1: - version "27.5.1" - resolved "http://localhost:4873/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^28.1.3: - version "28.1.3" - resolved "http://localhost:4873/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== - dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^29.0.0, pretty-format@^29.1.2: - version "29.1.2" - resolved "http://localhost:4873/pretty-format/-/pretty-format-29.1.2.tgz#b1f6b75be7d699be1a051f5da36e8ae9e76a8e6a" - integrity sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "http://localhost:4873/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -promise@^8.1.0: - version "8.2.0" - resolved "http://localhost:4873/promise/-/promise-8.2.0.tgz#a1f6280ab67457fbfc8aad2b198c9497e9e5c806" - integrity sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg== - dependencies: - asap "~2.0.6" - -prompts@^2.0.1, prompts@^2.4.2: - version "2.4.2" - resolved "http://localhost:4873/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.8.1: - version "15.8.1" - resolved "http://localhost:4873/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -proxy-addr@~2.0.7: - version "2.0.7" - resolved "http://localhost:4873/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -psl@^1.1.33: - version "1.9.0" - resolved "http://localhost:4873/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "http://localhost:4873/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -q@^1.1.2: - version "1.5.1" - resolved "http://localhost:4873/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - -qs@6.10.3: - version "6.10.3" - resolved "http://localhost:4873/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" - integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== - dependencies: - side-channel "^1.0.4" - -querystringify@^2.1.1: - version "2.2.0" - resolved "http://localhost:4873/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "http://localhost:4873/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-lru@^5.1.1: - version "5.1.1" - resolved "http://localhost:4873/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - -raf@^3.4.1: - version "3.4.1" - resolved "http://localhost:4873/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "http://localhost:4873/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.5.1: - version "2.5.1" - resolved "http://localhost:4873/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-app-polyfill@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz#95221e0a9bd259e5ca6b177c7bb1cb6768f68fd7" - integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== - dependencies: - core-js "^3.19.2" - object-assign "^4.1.1" - promise "^8.1.0" - raf "^3.4.1" - regenerator-runtime "^0.13.9" - whatwg-fetch "^3.6.2" - -react-dev-utils@^12.0.1: - version "12.0.1" - resolved "http://localhost:4873/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -react-dom@^18.2.0: - version "18.2.0" - resolved "http://localhost:4873/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -react-error-overlay@^6.0.11: - version "6.0.11" - resolved "http://localhost:4873/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== - -react-is@^16.13.1: - version "16.13.1" - resolved "http://localhost:4873/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-is@^17.0.1: - version "17.0.2" - resolved "http://localhost:4873/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -react-is@^18.0.0: - version "18.2.0" - resolved "http://localhost:4873/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-refresh@^0.11.0: - version "0.11.0" - resolved "http://localhost:4873/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" - integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== - -react-scripts@5.0.1: - version "5.0.1" - resolved "http://localhost:4873/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003" - integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== - dependencies: - "@babel/core" "^7.16.0" - "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" - "@svgr/webpack" "^5.5.0" - babel-jest "^27.4.2" - babel-loader "^8.2.3" - babel-plugin-named-asset-import "^0.3.8" - babel-preset-react-app "^10.0.1" - bfj "^7.0.2" - browserslist "^4.18.1" - camelcase "^6.2.1" - case-sensitive-paths-webpack-plugin "^2.4.0" - css-loader "^6.5.1" - css-minimizer-webpack-plugin "^3.2.0" - dotenv "^10.0.0" - dotenv-expand "^5.1.0" - eslint "^8.3.0" - eslint-config-react-app "^7.0.1" - eslint-webpack-plugin "^3.1.1" - file-loader "^6.2.0" - fs-extra "^10.0.0" - html-webpack-plugin "^5.5.0" - identity-obj-proxy "^3.0.0" - jest "^27.4.3" - jest-resolve "^27.4.2" - jest-watch-typeahead "^1.0.0" - mini-css-extract-plugin "^2.4.5" - postcss "^8.4.4" - postcss-flexbugs-fixes "^5.0.2" - postcss-loader "^6.2.1" - postcss-normalize "^10.0.1" - postcss-preset-env "^7.0.1" - prompts "^2.4.2" - react-app-polyfill "^3.0.0" - react-dev-utils "^12.0.1" - react-refresh "^0.11.0" - resolve "^1.20.0" - resolve-url-loader "^4.0.0" - sass-loader "^12.3.0" - semver "^7.3.5" - source-map-loader "^3.0.0" - style-loader "^3.3.1" - tailwindcss "^3.0.2" - terser-webpack-plugin "^5.2.5" - webpack "^5.64.4" - webpack-dev-server "^4.6.0" - webpack-manifest-plugin "^4.0.2" - workbox-webpack-plugin "^6.4.1" - optionalDependencies: - fsevents "^2.3.2" - -react@^18.2.0: - version "18.2.0" - resolved "http://localhost:4873/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -read-cache@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - -readable-stream@^2.0.1: - version "2.3.7" - resolved "http://localhost:4873/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6: - version "3.6.0" - resolved "http://localhost:4873/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "http://localhost:4873/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -recursive-readdir@^2.2.2: - version "2.2.2" - resolved "http://localhost:4873/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - -redent@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "http://localhost:4873/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - version "1.4.2" - resolved "http://localhost:4873/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.9: - version "0.13.9" - resolved "http://localhost:4873/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "http://localhost:4873/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-parser@^2.2.11: - version "2.2.11" - resolved "http://localhost:4873/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" - integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== - -regexp.prototype.flags@^1.4.1, regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "http://localhost:4873/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "http://localhost:4873/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^5.1.0: - version "5.2.1" - resolved "http://localhost:4873/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" - integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsgen "^0.7.1" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regjsgen@^0.7.1: - version "0.7.1" - resolved "http://localhost:4873/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6" - integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA== - -regjsparser@^0.9.1: - version "0.9.1" - resolved "http://localhost:4873/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -relateurl@^0.2.7: - version "0.2.7" - resolved "http://localhost:4873/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== - -renderkid@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" - integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== - dependencies: - css-select "^4.1.3" - dom-converter "^0.2.0" - htmlparser2 "^6.1.0" - lodash "^4.17.21" - strip-ansi "^6.0.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "http://localhost:4873/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "http://localhost:4873/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -requires-port@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "http://localhost:4873/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url-loader@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" - integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== - dependencies: - adjust-sourcemap-loader "^4.0.0" - convert-source-map "^1.7.0" - loader-utils "^2.0.0" - postcss "^7.0.35" - source-map "0.6.1" - -resolve.exports@^1.1.0: - version "1.1.0" - resolved "http://localhost:4873/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== - -resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0, resolve@^1.22.1: - version "1.22.1" - resolved "http://localhost:4873/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.3: - version "2.0.0-next.4" - resolved "http://localhost:4873/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -retry@^0.13.1: - version "0.13.1" - resolved "http://localhost:4873/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - -reusify@^1.0.4: - version "1.0.4" - resolved "http://localhost:4873/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "http://localhost:4873/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup-plugin-terser@^7.0.0: - version "7.0.2" - resolved "http://localhost:4873/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== - dependencies: - "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" - -rollup@^2.43.1: - version "2.79.1" - resolved "http://localhost:4873/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== - optionalDependencies: - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "http://localhost:4873/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "http://localhost:4873/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "http://localhost:4873/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "http://localhost:4873/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sanitize.css@*: - version "13.0.0" - resolved "http://localhost:4873/sanitize.css/-/sanitize.css-13.0.0.tgz#2675553974b27964c75562ade3bd85d79879f173" - integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== - -sass-loader@^12.3.0: - version "12.6.0" - resolved "http://localhost:4873/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - -sax@~1.2.4: - version "1.2.4" - resolved "http://localhost:4873/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^5.0.1: - version "5.0.1" - resolved "http://localhost:4873/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "http://localhost:4873/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@2.7.0: - version "2.7.0" - resolved "http://localhost:4873/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.6.5: - version "2.7.1" - resolved "http://localhost:4873/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "http://localhost:4873/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.8.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== - -selfsigned@^2.1.1: - version "2.1.1" - resolved "http://localhost:4873/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" - integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== - dependencies: - node-forge "^1" - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "http://localhost:4873/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7: - version "7.3.8" - resolved "http://localhost:4873/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -send@0.18.0: - version "0.18.0" - resolved "http://localhost:4873/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "http://localhost:4873/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "http://localhost:4873/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - -serve-static@1.15.0: - version "1.15.0" - resolved "http://localhost:4873/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - -setprototypeof@1.1.0: - version "1.1.0" - resolved "http://localhost:4873/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "http://localhost:4873/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "http://localhost:4873/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@^1.7.3: - version "1.7.3" - resolved "http://localhost:4873/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" - integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== - -side-channel@^1.0.4: - version "1.0.4" - resolved "http://localhost:4873/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "http://localhost:4873/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "http://localhost:4873/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slash@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== - -sockjs@^0.3.24: - version "0.3.24" - resolved "http://localhost:4873/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" - integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== - dependencies: - faye-websocket "^0.11.3" - uuid "^8.3.2" - websocket-driver "^0.7.4" - -source-list-map@^2.0.0, source-list-map@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-js@^1.0.1, source-map-js@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-loader@^3.0.0: - version "3.0.1" - resolved "http://localhost:4873/source-map-loader/-/source-map-loader-3.0.1.tgz#9ae5edc7c2d42570934be4c95d1ccc6352eba52d" - integrity sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-support@^0.5.6, source-map-support@~0.5.20: - version "0.5.21" - resolved "http://localhost:4873/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "http://localhost:4873/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.3: - version "0.7.4" - resolved "http://localhost:4873/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@^0.8.0-beta.0: - version "0.8.0-beta.0" - resolved "http://localhost:4873/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== - dependencies: - whatwg-url "^7.0.0" - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "http://localhost:4873/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "http://localhost:4873/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "http://localhost:4873/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stable@^0.1.8: - version "0.1.8" - resolved "http://localhost:4873/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^2.0.3: - version "2.0.5" - resolved "http://localhost:4873/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "http://localhost:4873/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -statuses@2.0.1: - version "2.0.1" - resolved "http://localhost:4873/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "http://localhost:4873/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - -string-length@^4.0.1: - version "4.0.2" - resolved "http://localhost:4873/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-length@^5.0.1: - version "5.0.1" - resolved "http://localhost:4873/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" - integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== - dependencies: - char-regex "^2.0.0" - strip-ansi "^7.0.1" - -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "http://localhost:4873/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "http://localhost:4873/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.matchall@^4.0.6, string.prototype.matchall@^4.0.7: - version "4.0.7" - resolved "http://localhost:4873/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz#8e6ecb0d8a1fb1fda470d81acecb2dba057a481d" - integrity sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.1" - get-intrinsic "^1.1.1" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.1" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.5: - version "1.0.5" - resolved "http://localhost:4873/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" - integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -string.prototype.trimstart@^1.0.5: - version "1.0.5" - resolved "http://localhost:4873/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" - integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.19.5" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "http://localhost:4873/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "http://localhost:4873/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "http://localhost:4873/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "http://localhost:4873/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^7.0.1: - version "7.0.1" - resolved "http://localhost:4873/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" - integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== - dependencies: - ansi-regex "^6.0.1" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-comments@^2.0.1: - version "2.0.1" - resolved "http://localhost:4873/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" - integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "http://localhost:4873/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -style-loader@^3.3.1: - version "3.3.1" - resolved "http://localhost:4873/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" - integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ== - -stylehacks@^5.1.0: - version "5.1.0" - resolved "http://localhost:4873/stylehacks/-/stylehacks-5.1.0.tgz#a40066490ca0caca04e96c6b02153ddc39913520" - integrity sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q== - dependencies: - browserslist "^4.16.6" - postcss-selector-parser "^6.0.4" - -supports-color@^5.3.0: - version "5.5.0" - resolved "http://localhost:4873/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "http://localhost:4873/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "http://localhost:4873/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "http://localhost:4873/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "http://localhost:4873/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -svg-parser@^2.0.2: - version "2.0.4" - resolved "http://localhost:4873/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^1.2.2: - version "1.3.2" - resolved "http://localhost:4873/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -svgo@^2.7.0: - version "2.8.0" - resolved "http://localhost:4873/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "http://localhost:4873/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tailwindcss@^3.0.2: - version "3.1.8" - resolved "http://localhost:4873/tailwindcss/-/tailwindcss-3.1.8.tgz#4f8520550d67a835d32f2f4021580f9fddb7b741" - integrity sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g== - dependencies: - arg "^5.0.2" - chokidar "^3.5.3" - color-name "^1.1.4" - detective "^5.2.1" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.2.11" - glob-parent "^6.0.2" - is-glob "^4.0.3" - lilconfig "^2.0.6" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.14" - postcss-import "^14.1.0" - postcss-js "^4.0.0" - postcss-load-config "^3.1.4" - postcss-nested "5.0.6" - postcss-selector-parser "^6.0.10" - postcss-value-parser "^4.2.0" - quick-lru "^5.1.1" - resolve "^1.22.1" - -tapable@^1.0.0: - version "1.1.3" - resolved "http://localhost:4873/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "http://localhost:4873/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -temp-dir@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempy@^0.6.0: - version "0.6.0" - resolved "http://localhost:4873/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3" - integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== - dependencies: - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "http://localhost:4873/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5: - version "5.3.6" - resolved "http://localhost:4873/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c" - integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ== - dependencies: - "@jridgewell/trace-mapping" "^0.3.14" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - terser "^5.14.1" - -terser@^5.0.0, terser@^5.10.0, terser@^5.14.1: - version "5.15.1" - resolved "http://localhost:4873/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c" - integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "http://localhost:4873/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "http://localhost:4873/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -throat@^6.0.1: - version "6.0.1" - resolved "http://localhost:4873/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" - integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== - -thunky@^1.0.2: - version "1.1.0" - resolved "http://localhost:4873/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -tmpl@1.0.5: - version "1.0.5" - resolved "http://localhost:4873/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "http://localhost:4873/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toidentifier@1.0.1: - version "1.0.1" - resolved "http://localhost:4873/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@^4.0.0: - version "4.1.2" - resolved "http://localhost:4873/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^1.0.1: - version "1.0.1" - resolved "http://localhost:4873/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== - dependencies: - punycode "^2.1.0" - -tr46@^2.1.0: - version "2.1.0" - resolved "http://localhost:4873/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - -tryer@^1.0.1: - version "1.0.1" - resolved "http://localhost:4873/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -tsconfig-paths@^3.14.1: - version "3.14.1" - resolved "http://localhost:4873/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz#ba0734599e8ea36c862798e920bcf163277b137a" - integrity sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@^1.8.1: - version "1.14.1" - resolved "http://localhost:4873/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.3: - version "2.4.0" - resolved "http://localhost:4873/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tsutils@^3.21.0: - version "3.21.0" - resolved "http://localhost:4873/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "http://localhost:4873/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-check@~0.3.2: - version "0.3.2" - resolved "http://localhost:4873/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "http://localhost:4873/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.16.0: - version "0.16.0" - resolved "http://localhost:4873/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - -type-fest@^0.20.2: - version "0.20.2" - resolved "http://localhost:4873/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.21.3: - version "0.21.3" - resolved "http://localhost:4873/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-is@~1.6.18: - version "1.6.18" - resolved "http://localhost:4873/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "http://localhost:4873/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "http://localhost:4873/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -unique-string@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.2.0: - version "0.2.0" - resolved "http://localhost:4873/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "http://localhost:4873/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - -unquote@~1.1.1: - version "1.1.1" - resolved "http://localhost:4873/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== - -upath@^1.2.0: - version "1.2.0" - resolved "http://localhost:4873/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-browserslist-db@^1.0.9: - version "1.0.10" - resolved "http://localhost:4873/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "http://localhost:4873/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -url-parse@^1.5.3: - version "1.5.10" - resolved "http://localhost:4873/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: - version "1.0.2" - resolved "http://localhost:4873/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -util.promisify@~1.0.0: - version "1.0.1" - resolved "http://localhost:4873/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -utila@~0.4: - version "0.4.0" - resolved "http://localhost:4873/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== - -utils-merge@1.0.1: - version "1.0.1" - resolved "http://localhost:4873/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - -uuid@^8.3, uuid@^8.3.2: - version "8.3.2" - resolved "http://localhost:4873/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "http://localhost:4873/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -vary@~1.1.2: - version "1.1.2" - resolved "http://localhost:4873/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: - version "1.0.8" - resolved "http://localhost:4873/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -watchpack@^2.4.0: - version "2.4.0" - resolved "http://localhost:4873/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "http://localhost:4873/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -web-vitals@^2.1.4: - version "2.1.4" - resolved "http://localhost:4873/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" - integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "http://localhost:4873/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "http://localhost:4873/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "http://localhost:4873/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - -webpack-dev-middleware@^5.3.1: - version "5.3.3" - resolved "http://localhost:4873/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" - integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== - dependencies: - colorette "^2.0.10" - memfs "^3.4.3" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^4.0.0" - -webpack-dev-server@^4.6.0: - version "4.11.1" - resolved "http://localhost:4873/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz#ae07f0d71ca0438cf88446f09029b92ce81380b5" - integrity sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.1" - ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" - colorette "^2.0.10" - compression "^1.7.4" - connect-history-api-fallback "^2.0.0" - default-gateway "^6.0.3" - express "^4.17.3" - graceful-fs "^4.2.6" - html-entities "^2.3.2" - http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" - serve-index "^1.9.1" - sockjs "^0.3.24" - spdy "^4.0.2" - webpack-dev-middleware "^5.3.1" - ws "^8.4.2" - -webpack-manifest-plugin@^4.0.2: - version "4.1.1" - resolved "http://localhost:4873/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz#10f8dbf4714ff93a215d5a45bcc416d80506f94f" - integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== - dependencies: - tapable "^2.0.0" - webpack-sources "^2.2.0" - -webpack-merge@^5.8.0: - version "5.8.0" - resolved "http://localhost:4873/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" - integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== - dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" - -webpack-sources@^1.4.3: - version "1.4.3" - resolved "http://localhost:4873/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^2.2.0: - version "2.3.1" - resolved "http://localhost:4873/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd" - integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "http://localhost:4873/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.64.4: - version "5.74.0" - resolved "http://localhost:4873/webpack/-/webpack-5.74.0.tgz#02a5dac19a17e0bb47093f2be67c695102a55980" - integrity sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "http://localhost:4873/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "http://localhost:4873/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "http://localhost:4873/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.6.2: - version "3.6.2" - resolved "http://localhost:4873/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "http://localhost:4873/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "http://localhost:4873/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "http://localhost:4873/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "http://localhost:4873/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which@^1.3.1: - version "1.3.1" - resolved "http://localhost:4873/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1: - version "2.0.2" - resolved "http://localhost:4873/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wildcard@^2.0.0: - version "2.0.0" - resolved "http://localhost:4873/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "http://localhost:4873/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -workbox-background-sync@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-background-sync/-/workbox-background-sync-6.5.4.tgz#3141afba3cc8aa2ae14c24d0f6811374ba8ff6a9" - integrity sha512-0r4INQZMyPky/lj4Ou98qxcThrETucOde+7mRGJl13MPJugQNKeZQOdIJe/1AchOP23cTqHcN/YVpD6r8E6I8g== - dependencies: - idb "^7.0.1" - workbox-core "6.5.4" - -workbox-broadcast-update@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-broadcast-update/-/workbox-broadcast-update-6.5.4.tgz#8441cff5417cd41f384ba7633ca960a7ffe40f66" - integrity sha512-I/lBERoH1u3zyBosnpPEtcAVe5lwykx9Yg1k6f8/BGEPGaMMgZrwVrqL1uA9QZ1NGGFoyE6t9i7lBjOlDhFEEw== - dependencies: - workbox-core "6.5.4" - -workbox-build@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-build/-/workbox-build-6.5.4.tgz#7d06d31eb28a878817e1c991c05c5b93409f0389" - integrity sha512-kgRevLXEYvUW9WS4XoziYqZ8Q9j/2ziJYEtTrjdz5/L/cTUa2XfyMP2i7c3p34lgqJ03+mTiz13SdFef2POwbA== - dependencies: - "@apideck/better-ajv-errors" "^0.3.1" - "@babel/core" "^7.11.1" - "@babel/preset-env" "^7.11.0" - "@babel/runtime" "^7.11.2" - "@rollup/plugin-babel" "^5.2.0" - "@rollup/plugin-node-resolve" "^11.2.1" - "@rollup/plugin-replace" "^2.4.1" - "@surma/rollup-plugin-off-main-thread" "^2.2.3" - ajv "^8.6.0" - common-tags "^1.8.0" - fast-json-stable-stringify "^2.1.0" - fs-extra "^9.0.1" - glob "^7.1.6" - lodash "^4.17.20" - pretty-bytes "^5.3.0" - rollup "^2.43.1" - rollup-plugin-terser "^7.0.0" - source-map "^0.8.0-beta.0" - stringify-object "^3.3.0" - strip-comments "^2.0.1" - tempy "^0.6.0" - upath "^1.2.0" - workbox-background-sync "6.5.4" - workbox-broadcast-update "6.5.4" - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-google-analytics "6.5.4" - workbox-navigation-preload "6.5.4" - workbox-precaching "6.5.4" - workbox-range-requests "6.5.4" - workbox-recipes "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - workbox-streams "6.5.4" - workbox-sw "6.5.4" - workbox-window "6.5.4" - -workbox-cacheable-response@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-cacheable-response/-/workbox-cacheable-response-6.5.4.tgz#a5c6ec0c6e2b6f037379198d4ef07d098f7cf137" - integrity sha512-DCR9uD0Fqj8oB2TSWQEm1hbFs/85hXXoayVwFKLVuIuxwJaihBsLsp4y7J9bvZbqtPJ1KlCkmYVGQKrBU4KAug== - dependencies: - workbox-core "6.5.4" - -workbox-core@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-core/-/workbox-core-6.5.4.tgz#df48bf44cd58bb1d1726c49b883fb1dffa24c9ba" - integrity sha512-OXYb+m9wZm8GrORlV2vBbE5EC1FKu71GGp0H4rjmxmF4/HLbMCoTFws87M3dFwgpmg0v00K++PImpNQ6J5NQ6Q== - -workbox-expiration@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-expiration/-/workbox-expiration-6.5.4.tgz#501056f81e87e1d296c76570bb483ce5e29b4539" - integrity sha512-jUP5qPOpH1nXtjGGh1fRBa1wJL2QlIb5mGpct3NzepjGG2uFFBn4iiEBiI9GUmfAFR2ApuRhDydjcRmYXddiEQ== - dependencies: - idb "^7.0.1" - workbox-core "6.5.4" - -workbox-google-analytics@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-google-analytics/-/workbox-google-analytics-6.5.4.tgz#c74327f80dfa4c1954cbba93cd7ea640fe7ece7d" - integrity sha512-8AU1WuaXsD49249Wq0B2zn4a/vvFfHkpcFfqAFHNHwln3jK9QUYmzdkKXGIZl9wyKNP+RRX30vcgcyWMcZ9VAg== - dependencies: - workbox-background-sync "6.5.4" - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-navigation-preload@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-navigation-preload/-/workbox-navigation-preload-6.5.4.tgz#ede56dd5f6fc9e860a7e45b2c1a8f87c1c793212" - integrity sha512-IIwf80eO3cr8h6XSQJF+Hxj26rg2RPFVUmJLUlM0+A2GzB4HFbQyKkrgD5y2d84g2IbJzP4B4j5dPBRzamHrng== - dependencies: - workbox-core "6.5.4" - -workbox-precaching@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-precaching/-/workbox-precaching-6.5.4.tgz#740e3561df92c6726ab5f7471e6aac89582cab72" - integrity sha512-hSMezMsW6btKnxHB4bFy2Qfwey/8SYdGWvVIKFaUm8vJ4E53JAY+U2JwLTRD8wbLWoP6OVUdFlXsTdKu9yoLTg== - dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-range-requests@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-range-requests/-/workbox-range-requests-6.5.4.tgz#86b3d482e090433dab38d36ae031b2bb0bd74399" - integrity sha512-Je2qR1NXCFC8xVJ/Lux6saH6IrQGhMpDrPXWZWWS8n/RD+WZfKa6dSZwU+/QksfEadJEr/NfY+aP/CXFFK5JFg== - dependencies: - workbox-core "6.5.4" - -workbox-recipes@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-recipes/-/workbox-recipes-6.5.4.tgz#cca809ee63b98b158b2702dcfb741b5cc3e24acb" - integrity sha512-QZNO8Ez708NNwzLNEXTG4QYSKQ1ochzEtRLGaq+mr2PyoEIC1xFW7MrWxrONUxBFOByksds9Z4//lKAX8tHyUA== - dependencies: - workbox-cacheable-response "6.5.4" - workbox-core "6.5.4" - workbox-expiration "6.5.4" - workbox-precaching "6.5.4" - workbox-routing "6.5.4" - workbox-strategies "6.5.4" - -workbox-routing@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-routing/-/workbox-routing-6.5.4.tgz#6a7fbbd23f4ac801038d9a0298bc907ee26fe3da" - integrity sha512-apQswLsbrrOsBUWtr9Lf80F+P1sHnQdYodRo32SjiByYi36IDyL2r7BH1lJtFX8fwNHDa1QOVY74WKLLS6o5Pg== - dependencies: - workbox-core "6.5.4" - -workbox-strategies@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-strategies/-/workbox-strategies-6.5.4.tgz#4edda035b3c010fc7f6152918370699334cd204d" - integrity sha512-DEtsxhx0LIYWkJBTQolRxG4EI0setTJkqR4m7r4YpBdxtWJH1Mbg01Cj8ZjNOO8etqfA3IZaOPHUxCs8cBsKLw== - dependencies: - workbox-core "6.5.4" - -workbox-streams@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-streams/-/workbox-streams-6.5.4.tgz#1cb3c168a6101df7b5269d0353c19e36668d7d69" - integrity sha512-FXKVh87d2RFXkliAIheBojBELIPnWbQdyDvsH3t74Cwhg0fDheL1T8BqSM86hZvC0ZESLsznSYWw+Va+KVbUzg== - dependencies: - workbox-core "6.5.4" - workbox-routing "6.5.4" - -workbox-sw@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-sw/-/workbox-sw-6.5.4.tgz#d93e9c67924dd153a61367a4656ff4d2ae2ed736" - integrity sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA== - -workbox-webpack-plugin@^6.4.1: - version "6.5.4" - resolved "http://localhost:4873/workbox-webpack-plugin/-/workbox-webpack-plugin-6.5.4.tgz#baf2d3f4b8f435f3469887cf4fba2b7fac3d0fd7" - integrity sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg== - dependencies: - fast-json-stable-stringify "^2.1.0" - pretty-bytes "^5.4.1" - upath "^1.2.0" - webpack-sources "^1.4.3" - workbox-build "6.5.4" - -workbox-window@6.5.4: - version "6.5.4" - resolved "http://localhost:4873/workbox-window/-/workbox-window-6.5.4.tgz#d991bc0a94dff3c2dbb6b84558cff155ca878e91" - integrity sha512-HnLZJDwYBE+hpG25AQBO8RUWBJRaCsI9ksQJEp3aCOFCaG5kqaToAYXFRAHxzRluM2cQbGzdQF5rjKPWPA1fug== - dependencies: - "@types/trusted-types" "^2.0.2" - workbox-core "6.5.4" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "http://localhost:4873/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "http://localhost:4873/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "http://localhost:4873/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.9" - resolved "http://localhost:4873/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.4.2: - version "8.9.0" - resolved "http://localhost:4873/ws/-/ws-8.9.0.tgz#2a994bb67144be1b53fe2d23c53c028adeb7f45e" - integrity sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg== - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "http://localhost:4873/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "http://localhost:4873/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xtend@^4.0.2: - version "4.0.2" - resolved "http://localhost:4873/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "http://localhost:4873/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "http://localhost:4873/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "http://localhost:4873/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "http://localhost:4873/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^16.2.0: - version "16.2.0" - resolved "http://localhost:4873/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "http://localhost:4873/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/javascript/examples/vite/.gitignore b/javascript/examples/vite/.gitignore deleted file mode 100644 index 23d67fc1..00000000 --- a/javascript/examples/vite/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -yarn.lock diff --git a/javascript/examples/vite/README.md b/javascript/examples/vite/README.md deleted file mode 100644 index c84594f5..00000000 --- a/javascript/examples/vite/README.md +++ /dev/null @@ -1,54 +0,0 @@ -# Vite + Automerge - -There are three things you need to do to get WASM packaging working with vite: - -1. Install the top level await plugin -2. Install the `vite-plugin-wasm` plugin -3. Exclude `automerge-wasm` from the optimizer - -First, install the packages we need: - -```bash -yarn add vite-plugin-top-level-await -yarn add vite-plugin-wasm -``` - -In `vite.config.js` - -```javascript -import { defineConfig } from "vite" -import wasm from "vite-plugin-wasm" -import topLevelAwait from "vite-plugin-top-level-await" - -export default defineConfig({ - plugins: [topLevelAwait(), wasm()], - - // This is only necessary if you are using `SharedWorker` or `WebWorker`, as - // documented in https://vitejs.dev/guide/features.html#import-with-constructors - worker: { - format: "es", - plugins: [topLevelAwait(), wasm()], - }, - - optimizeDeps: { - // This is necessary because otherwise `vite dev` includes two separate - // versions of the JS wrapper. This causes problems because the JS - // wrapper has a module level variable to track JS side heap - // allocations, initializing this twice causes horrible breakage - exclude: ["@automerge/automerge-wasm"], - }, -}) -``` - -Now start the dev server: - -```bash -yarn vite -``` - -## Running the example - -```bash -yarn install -yarn dev -``` diff --git a/javascript/examples/vite/index.html b/javascript/examples/vite/index.html deleted file mode 100644 index f86e483c..00000000 --- a/javascript/examples/vite/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Vite + TS - - -
- - - diff --git a/javascript/examples/vite/main.ts b/javascript/examples/vite/main.ts deleted file mode 100644 index 0ba18f48..00000000 --- a/javascript/examples/vite/main.ts +++ /dev/null @@ -1,15 +0,0 @@ -import * as Automerge from "/node_modules/.vite/deps/automerge-js.js?v=6e973f28" -console.log(Automerge) -let doc = Automerge.init() -doc = Automerge.change(doc, d => (d.hello = "from automerge-js")) -console.log(doc) -const result = JSON.stringify(doc) -if (typeof document !== "undefined") { - const element = document.createElement("div") - element.innerHTML = JSON.stringify(result) - document.body.appendChild(element) -} else { - console.log("node:", result) -} - -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL2FsZXgvUHJvamVjdHMvYXV0b21lcmdlL2F1dG9tZXJnZS1ycy9hdXRvbWVyZ2UtanMvZXhhbXBsZXMvdml0ZS9zcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBBdXRvbWVyZ2UgZnJvbSBcImF1dG9tZXJnZS1qc1wiXG5cbi8vIGhlbGxvIHdvcmxkIGNvZGUgdGhhdCB3aWxsIHJ1biBjb3JyZWN0bHkgb24gd2ViIG9yIG5vZGVcblxuY29uc29sZS5sb2coQXV0b21lcmdlKVxubGV0IGRvYyA9IEF1dG9tZXJnZS5pbml0KClcbmRvYyA9IEF1dG9tZXJnZS5jaGFuZ2UoZG9jLCAoZDogYW55KSA9PiBkLmhlbGxvID0gXCJmcm9tIGF1dG9tZXJnZS1qc1wiKVxuY29uc29sZS5sb2coZG9jKVxuY29uc3QgcmVzdWx0ID0gSlNPTi5zdHJpbmdpZnkoZG9jKVxuXG5pZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIGJyb3dzZXJcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZWxlbWVudC5pbm5lckhUTUwgPSBKU09OLnN0cmluZ2lmeShyZXN1bHQpXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcbn0gZWxzZSB7XG4gICAgLy8gc2VydmVyXG4gICAgY29uc29sZS5sb2coXCJub2RlOlwiLCByZXN1bHQpXG59XG5cbiJdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxlQUFlO0FBSTNCLFFBQVEsSUFBSSxTQUFTO0FBQ3JCLElBQUksTUFBTSxVQUFVLEtBQUs7QUFDekIsTUFBTSxVQUFVLE9BQU8sS0FBSyxDQUFDLE1BQVcsRUFBRSxRQUFRLG1CQUFtQjtBQUNyRSxRQUFRLElBQUksR0FBRztBQUNmLE1BQU0sU0FBUyxLQUFLLFVBQVUsR0FBRztBQUVqQyxJQUFJLE9BQU8sYUFBYSxhQUFhO0FBRWpDLFFBQU0sVUFBVSxTQUFTLGNBQWMsS0FBSztBQUM1QyxVQUFRLFlBQVksS0FBSyxVQUFVLE1BQU07QUFDekMsV0FBUyxLQUFLLFlBQVksT0FBTztBQUNyQyxPQUFPO0FBRUgsVUFBUSxJQUFJLFNBQVMsTUFBTTtBQUMvQjsiLCJuYW1lcyI6W119 diff --git a/javascript/examples/vite/package.json b/javascript/examples/vite/package.json deleted file mode 100644 index d9a13681..00000000 --- a/javascript/examples/vite/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "autovite", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "tsc && vite build", - "preview": "vite preview" - }, - "dependencies": { - "@automerge/automerge": "2.0.0-alpha.7" - }, - "devDependencies": { - "typescript": "^4.6.4", - "vite": "^3.1.0", - "vite-plugin-top-level-await": "^1.1.1", - "vite-plugin-wasm": "^2.1.0" - } -} diff --git a/javascript/examples/vite/public/vite.svg b/javascript/examples/vite/public/vite.svg deleted file mode 100644 index e7b8dfb1..00000000 --- a/javascript/examples/vite/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/javascript/examples/vite/src/counter.ts b/javascript/examples/vite/src/counter.ts deleted file mode 100644 index 3e516b6d..00000000 --- a/javascript/examples/vite/src/counter.ts +++ /dev/null @@ -1,9 +0,0 @@ -export function setupCounter(element: HTMLButtonElement) { - let counter = 0 - const setCounter = (count: number) => { - counter = count - element.innerHTML = `count is ${counter}` - } - element.addEventListener("click", () => setCounter(++counter)) - setCounter(0) -} diff --git a/javascript/examples/vite/src/main.ts b/javascript/examples/vite/src/main.ts deleted file mode 100644 index 8dc8f92c..00000000 --- a/javascript/examples/vite/src/main.ts +++ /dev/null @@ -1,17 +0,0 @@ -import * as Automerge from "@automerge/automerge" - -// hello world code that will run correctly on web or node - -let doc = Automerge.init() -doc = Automerge.change(doc, (d: any) => (d.hello = "from automerge")) -const result = JSON.stringify(doc) - -if (typeof document !== "undefined") { - // browser - const element = document.createElement("div") - element.innerHTML = JSON.stringify(result) - document.body.appendChild(element) -} else { - // server - console.log("node:", result) -} diff --git a/javascript/examples/vite/src/style.css b/javascript/examples/vite/src/style.css deleted file mode 100644 index ac37d84b..00000000 --- a/javascript/examples/vite/src/style.css +++ /dev/null @@ -1,97 +0,0 @@ -:root { - font-family: Inter, Avenir, Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 24px; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -#app { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.vanilla:hover { - filter: drop-shadow(0 0 2em #3178c6aa); -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} diff --git a/javascript/examples/vite/src/typescript.svg b/javascript/examples/vite/src/typescript.svg deleted file mode 100644 index d91c910c..00000000 --- a/javascript/examples/vite/src/typescript.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/javascript/examples/vite/src/vite-env.d.ts b/javascript/examples/vite/src/vite-env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/javascript/examples/vite/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/javascript/examples/vite/tsconfig.json b/javascript/examples/vite/tsconfig.json deleted file mode 100644 index fbd02253..00000000 --- a/javascript/examples/vite/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ESNext", "DOM"], - "moduleResolution": "Node", - "strict": true, - "sourceMap": true, - "resolveJsonModule": true, - "isolatedModules": true, - "esModuleInterop": true, - "noEmit": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": true, - "skipLibCheck": true - }, - "include": ["src"] -} diff --git a/javascript/examples/vite/vite.config.js b/javascript/examples/vite/vite.config.js deleted file mode 100644 index d80981bf..00000000 --- a/javascript/examples/vite/vite.config.js +++ /dev/null @@ -1,22 +0,0 @@ -import { defineConfig } from "vite" -import wasm from "vite-plugin-wasm" -import topLevelAwait from "vite-plugin-top-level-await" - -export default defineConfig({ - plugins: [topLevelAwait(), wasm()], - - // This is only necessary if you are using `SharedWorker` or `WebWorker`, as - // documented in https://vitejs.dev/guide/features.html#import-with-constructors - worker: { - format: "es", - plugins: [topLevelAwait(), wasm()], - }, - - optimizeDeps: { - // This is necessary because otherwise `vite dev` includes two separate - // versions of the JS wrapper. This causes problems because the JS - // wrapper has a module level variable to track JS side heap - // allocations, initializing this twice causes horrible breakage - exclude: ["@automerge/automerge-wasm"], - }, -}) diff --git a/javascript/examples/webpack/.gitignore b/javascript/examples/webpack/.gitignore deleted file mode 100644 index da9d3ff5..00000000 --- a/javascript/examples/webpack/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -yarn.lock -node_modules -public/*.wasm -public/main.js -dist diff --git a/javascript/examples/webpack/README.md b/javascript/examples/webpack/README.md deleted file mode 100644 index 7563f27d..00000000 --- a/javascript/examples/webpack/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# Webpack + Automerge - -Getting WASM working in webpack 5 is very easy. You just need to enable the -`asyncWebAssembly` -[experiment](https://webpack.js.org/configuration/experiments/). For example: - -```javascript -const path = require("path") - -const clientConfig = { - experiments: { asyncWebAssembly: true }, - target: "web", - entry: "./src/index.js", - output: { - filename: "main.js", - path: path.resolve(__dirname, "public"), - }, - mode: "development", // or production - performance: { - // we dont want the wasm blob to generate warnings - hints: false, - maxEntrypointSize: 512000, - maxAssetSize: 512000, - }, -} - -module.exports = clientConfig -``` - -## Running the example - -```bash -yarn install -yarn start -``` diff --git a/javascript/examples/webpack/package.json b/javascript/examples/webpack/package.json deleted file mode 100644 index 2b63e7cc..00000000 --- a/javascript/examples/webpack/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "webpack-automerge-example", - "version": "0.1.0", - "description": "", - "private": true, - "scripts": { - "build": "webpack", - "start": "serve public", - "test": "node dist/node.js" - }, - "author": "", - "dependencies": { - "@automerge/automerge": "2.0.0-alpha.7" - }, - "devDependencies": { - "serve": "^13.0.2", - "webpack": "^5.72.1", - "webpack-cli": "^4.9.2", - "webpack-dev-server": "^4.11.1", - "webpack-node-externals": "^3.0.0" - } -} diff --git a/javascript/examples/webpack/public/index.html b/javascript/examples/webpack/public/index.html deleted file mode 100644 index 5003393a..00000000 --- a/javascript/examples/webpack/public/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Simple Webpack for automerge-wasm - - - - - diff --git a/javascript/examples/webpack/src/index.js b/javascript/examples/webpack/src/index.js deleted file mode 100644 index 3a9086e4..00000000 --- a/javascript/examples/webpack/src/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import * as Automerge from "@automerge/automerge" - -// hello world code that will run correctly on web or node - -let doc = Automerge.init() -doc = Automerge.change(doc, d => (d.hello = "from automerge")) -const result = JSON.stringify(doc) - -if (typeof document !== "undefined") { - // browser - const element = document.createElement("div") - element.innerHTML = JSON.stringify(result) - document.body.appendChild(element) -} else { - // server - console.log("node:", result) -} diff --git a/javascript/examples/webpack/webpack.config.js b/javascript/examples/webpack/webpack.config.js deleted file mode 100644 index 51fd5127..00000000 --- a/javascript/examples/webpack/webpack.config.js +++ /dev/null @@ -1,37 +0,0 @@ -const path = require("path") -const nodeExternals = require("webpack-node-externals") - -// the most basic webpack config for node or web targets for automerge-wasm - -const serverConfig = { - // basic setup for bundling a node package - target: "node", - externals: [nodeExternals()], - externalsPresets: { node: true }, - - entry: "./src/index.js", - output: { - filename: "node.js", - path: path.resolve(__dirname, "dist"), - }, - mode: "development", // or production -} - -const clientConfig = { - experiments: { asyncWebAssembly: true }, - target: "web", - entry: "./src/index.js", - output: { - filename: "main.js", - path: path.resolve(__dirname, "public"), - }, - mode: "development", // or production - performance: { - // we dont want the wasm blob to generate warnings - hints: false, - maxEntrypointSize: 512000, - maxAssetSize: 512000, - }, -} - -module.exports = [serverConfig, clientConfig] diff --git a/javascript/package.json b/javascript/package.json deleted file mode 100644 index 79309907..00000000 --- a/javascript/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@automerge/automerge", - "collaborators": [ - "Orion Henry ", - "Martin Kleppmann" - ], - "version": "2.0.2", - "description": "Javascript implementation of automerge, backed by @automerge/automerge-wasm", - "homepage": "https://github.com/automerge/automerge-rs/tree/main/wrappers/javascript", - "repository": "github:automerge/automerge-rs", - "files": [ - "README.md", - "LICENSE", - "package.json", - "dist/index.d.ts", - "dist/cjs/**/*.js", - "dist/mjs/**/*.js", - "dist/*.d.ts" - ], - "types": "./dist/index.d.ts", - "module": "./dist/mjs/index.js", - "main": "./dist/cjs/index.js", - "license": "MIT", - "scripts": { - "lint": "eslint src", - "build": "tsc -p config/mjs.json && tsc -p config/cjs.json && tsc -p config/declonly.json --emitDeclarationOnly", - "test": "ts-mocha test/*.ts", - "deno:build": "denoify && node ./scripts/deno-prefixer.mjs", - "deno:test": "deno test ./deno-tests/deno.ts --allow-read --allow-net", - "watch-docs": "typedoc src/index.ts --watch --readme none" - }, - "devDependencies": { - "@types/expect": "^24.3.0", - "@types/mocha": "^10.0.1", - "@types/uuid": "^9.0.0", - "@typescript-eslint/eslint-plugin": "^5.46.0", - "@typescript-eslint/parser": "^5.46.0", - "denoify": "^1.4.5", - "eslint": "^8.29.0", - "fast-sha256": "^1.3.0", - "mocha": "^10.2.0", - "pako": "^2.1.0", - "prettier": "^2.8.1", - "ts-mocha": "^10.0.0", - "ts-node": "^10.9.1", - "typedoc": "^0.23.22", - "typescript": "^4.9.4" - }, - "dependencies": { - "@automerge/automerge-wasm": "0.1.25", - "uuid": "^9.0.0" - } -} diff --git a/javascript/scripts/deno-prefixer.mjs b/javascript/scripts/deno-prefixer.mjs deleted file mode 100644 index 28544102..00000000 --- a/javascript/scripts/deno-prefixer.mjs +++ /dev/null @@ -1,9 +0,0 @@ -import * as fs from "fs" - -const files = ["./deno_dist/proxies.ts"] -for (const filepath of files) { - const data = fs.readFileSync(filepath) - fs.writeFileSync(filepath, "// @ts-nocheck \n" + data) - - console.log('Prepended "// @ts-nocheck" to ' + filepath) -} diff --git a/javascript/scripts/denoify-replacer.mjs b/javascript/scripts/denoify-replacer.mjs deleted file mode 100644 index e183ba0d..00000000 --- a/javascript/scripts/denoify-replacer.mjs +++ /dev/null @@ -1,42 +0,0 @@ -// @denoify-ignore - -import { makeThisModuleAnExecutableReplacer } from "denoify" -// import { assert } from "tsafe"; -// import * as path from "path"; - -makeThisModuleAnExecutableReplacer( - async ({ parsedImportExportStatement, destDirPath, version }) => { - version = process.env.VERSION || version - - switch (parsedImportExportStatement.parsedArgument.nodeModuleName) { - case "@automerge/automerge-wasm": - { - const moduleRoot = - process.env.ROOT_MODULE || - `https://deno.land/x/automerge_wasm@${version}` - /* - *We expect not to run against statements like - *import(..).then(...) - *or - *export * from "..." - *in our code. - */ - if ( - !parsedImportExportStatement.isAsyncImport && - (parsedImportExportStatement.statementType === "import" || - parsedImportExportStatement.statementType === "export") - ) { - if (parsedImportExportStatement.isTypeOnly) { - return `${parsedImportExportStatement.statementType} type ${parsedImportExportStatement.target} from "${moduleRoot}/index.d.ts";` - } else { - return `${parsedImportExportStatement.statementType} ${parsedImportExportStatement.target} from "${moduleRoot}/automerge_wasm.js";` - } - } - } - break - } - - //The replacer should return undefined when we want to let denoify replace the statement - return undefined - } -) diff --git a/javascript/src/conflicts.ts b/javascript/src/conflicts.ts deleted file mode 100644 index 52af23e1..00000000 --- a/javascript/src/conflicts.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { Counter, type AutomergeValue } from "./types" -import { Text } from "./text" -import { type AutomergeValue as UnstableAutomergeValue } from "./unstable_types" -import { type Target, Text1Target, Text2Target } from "./proxies" -import { mapProxy, listProxy, ValueType } from "./proxies" -import type { Prop, ObjID } from "@automerge/automerge-wasm" -import { Automerge } from "@automerge/automerge-wasm" - -export type ConflictsF = { [key: string]: ValueType } -export type Conflicts = ConflictsF -export type UnstableConflicts = ConflictsF - -export function stableConflictAt( - context: Automerge, - objectId: ObjID, - prop: Prop -): Conflicts | undefined { - return conflictAt( - context, - objectId, - prop, - true, - (context: Automerge, conflictId: ObjID): AutomergeValue => { - return new Text(context.text(conflictId)) - } - ) -} - -export function unstableConflictAt( - context: Automerge, - objectId: ObjID, - prop: Prop -): UnstableConflicts | undefined { - return conflictAt( - context, - objectId, - prop, - true, - (context: Automerge, conflictId: ObjID): UnstableAutomergeValue => { - return context.text(conflictId) - } - ) -} - -function conflictAt( - context: Automerge, - objectId: ObjID, - prop: Prop, - textV2: boolean, - handleText: (a: Automerge, conflictId: ObjID) => ValueType -): ConflictsF | undefined { - const values = context.getAll(objectId, prop) - if (values.length <= 1) { - return - } - const result: ConflictsF = {} - for (const fullVal of values) { - switch (fullVal[0]) { - case "map": - result[fullVal[1]] = mapProxy( - context, - fullVal[1], - textV2, - [prop], - true - ) - break - case "list": - result[fullVal[1]] = listProxy( - context, - fullVal[1], - textV2, - [prop], - true - ) - break - case "text": - result[fullVal[1]] = handleText(context, fullVal[1] as ObjID) - break - case "str": - case "uint": - case "int": - case "f64": - case "boolean": - case "bytes": - case "null": - result[fullVal[2]] = fullVal[1] as ValueType - break - case "counter": - result[fullVal[2]] = new Counter(fullVal[1]) as ValueType - break - case "timestamp": - result[fullVal[2]] = new Date(fullVal[1]) as ValueType - break - default: - throw RangeError(`datatype ${fullVal[0]} unimplemented`) - } - } - return result -} diff --git a/javascript/src/constants.ts b/javascript/src/constants.ts deleted file mode 100644 index 7b714772..00000000 --- a/javascript/src/constants.ts +++ /dev/null @@ -1,12 +0,0 @@ -// Properties of the document root object - -export const STATE = Symbol.for("_am_meta") // symbol used to hide application metadata on automerge objects -export const TRACE = Symbol.for("_am_trace") // used for debugging -export const OBJECT_ID = Symbol.for("_am_objectId") // symbol used to hide the object id on automerge objects -export const IS_PROXY = Symbol.for("_am_isProxy") // symbol used to test if the document is a proxy object - -export const UINT = Symbol.for("_am_uint") -export const INT = Symbol.for("_am_int") -export const F64 = Symbol.for("_am_f64") -export const COUNTER = Symbol.for("_am_counter") -export const TEXT = Symbol.for("_am_text") diff --git a/javascript/src/counter.ts b/javascript/src/counter.ts deleted file mode 100644 index 88adb840..00000000 --- a/javascript/src/counter.ts +++ /dev/null @@ -1,107 +0,0 @@ -import { Automerge, type ObjID, type Prop } from "@automerge/automerge-wasm" -import { COUNTER } from "./constants" -/** - * The most basic CRDT: an integer value that can be changed only by - * incrementing and decrementing. Since addition of integers is commutative, - * the value trivially converges. - */ -export class Counter { - value: number - - constructor(value?: number) { - this.value = value || 0 - Reflect.defineProperty(this, COUNTER, { value: true }) - } - - /** - * A peculiar JavaScript language feature from its early days: if the object - * `x` has a `valueOf()` method that returns a number, you can use numerical - * operators on the object `x` directly, such as `x + 1` or `x < 4`. - * This method is also called when coercing a value to a string by - * concatenating it with another string, as in `x + ''`. - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf - */ - valueOf(): number { - return this.value - } - - /** - * Returns the counter value as a decimal string. If `x` is a counter object, - * this method is called e.g. when you do `['value: ', x].join('')` or when - * you use string interpolation: `value: ${x}`. - */ - toString(): string { - return this.valueOf().toString() - } - - /** - * Returns the counter value, so that a JSON serialization of an Automerge - * document represents the counter simply as an integer. - */ - toJSON(): number { - return this.value - } -} - -/** - * An instance of this class is used when a counter is accessed within a change - * callback. - */ -class WriteableCounter extends Counter { - context: Automerge - path: Prop[] - objectId: ObjID - key: Prop - - constructor( - value: number, - context: Automerge, - path: Prop[], - objectId: ObjID, - key: Prop - ) { - super(value) - this.context = context - this.path = path - this.objectId = objectId - this.key = key - } - - /** - * Increases the value of the counter by `delta`. If `delta` is not given, - * increases the value of the counter by 1. - */ - increment(delta: number): number { - delta = typeof delta === "number" ? delta : 1 - this.context.increment(this.objectId, this.key, delta) - this.value += delta - return this.value - } - - /** - * Decreases the value of the counter by `delta`. If `delta` is not given, - * decreases the value of the counter by 1. - */ - decrement(delta: number): number { - return this.increment(typeof delta === "number" ? -delta : -1) - } -} - -/** - * Returns an instance of `WriteableCounter` for use in a change callback. - * `context` is the proxy context that keeps track of the mutations. - * `objectId` is the ID of the object containing the counter, and `key` is - * the property name (key in map, or index in list) where the counter is - * located. - */ -export function getWriteableCounter( - value: number, - context: Automerge, - path: Prop[], - objectId: ObjID, - key: Prop -): WriteableCounter { - return new WriteableCounter(value, context, path, objectId, key) -} - -//module.exports = { Counter, getWriteableCounter } diff --git a/javascript/src/index.ts b/javascript/src/index.ts deleted file mode 100644 index bf84c68d..00000000 --- a/javascript/src/index.ts +++ /dev/null @@ -1,242 +0,0 @@ -/** - * # Automerge - * - * This library provides the core automerge data structure and sync algorithms. - * Other libraries can be built on top of this one which provide IO and - * persistence. - * - * An automerge document can be though of an immutable POJO (plain old javascript - * object) which `automerge` tracks the history of, allowing it to be merged with - * any other automerge document. - * - * ## Creating and modifying a document - * - * You can create a document with {@link init} or {@link from} and then make - * changes to it with {@link change}, you can merge two documents with {@link - * merge}. - * - * ```ts - * import * as automerge from "@automerge/automerge" - * - * type DocType = {ideas: Array} - * - * let doc1 = automerge.init() - * doc1 = automerge.change(doc1, d => { - * d.ideas = [new automerge.Text("an immutable document")] - * }) - * - * let doc2 = automerge.init() - * doc2 = automerge.merge(doc2, automerge.clone(doc1)) - * doc2 = automerge.change(doc2, d => { - * d.ideas.push(new automerge.Text("which records it's history")) - * }) - * - * // Note the `automerge.clone` call, see the "cloning" section of this readme for - * // more detail - * doc1 = automerge.merge(doc1, automerge.clone(doc2)) - * doc1 = automerge.change(doc1, d => { - * d.ideas[0].deleteAt(13, 8) - * d.ideas[0].insertAt(13, "object") - * }) - * - * let doc3 = automerge.merge(doc1, doc2) - * // doc3 is now {ideas: ["an immutable object", "which records it's history"]} - * ``` - * - * ## Applying changes from another document - * - * You can get a representation of the result of the last {@link change} you made - * to a document with {@link getLastLocalChange} and you can apply that change to - * another document using {@link applyChanges}. - * - * If you need to get just the changes which are in one document but not in another - * you can use {@link getHeads} to get the heads of the document without the - * changes and then {@link getMissingDeps}, passing the result of {@link getHeads} - * on the document with the changes. - * - * ## Saving and loading documents - * - * You can {@link save} a document to generate a compresed binary representation of - * the document which can be loaded with {@link load}. If you have a document which - * you have recently made changes to you can generate recent changes with {@link - * saveIncremental}, this will generate all the changes since you last called - * `saveIncremental`, the changes generated can be applied to another document with - * {@link loadIncremental}. - * - * ## Viewing different versions of a document - * - * Occasionally you may wish to explicitly step to a different point in a document - * history. One common reason to do this is if you need to obtain a set of changes - * which take the document from one state to another in order to send those changes - * to another peer (or to save them somewhere). You can use {@link view} to do this. - * - * ```ts - * import * as automerge from "@automerge/automerge" - * import * as assert from "assert" - * - * let doc = automerge.from({ - * key1: "value1", - * }) - * - * // Make a clone of the document at this point, maybe this is actually on another - * // peer. - * let doc2 = automerge.clone < any > doc - * - * let heads = automerge.getHeads(doc) - * - * doc = - * automerge.change < - * any > - * (doc, - * d => { - * d.key2 = "value2" - * }) - * - * doc = - * automerge.change < - * any > - * (doc, - * d => { - * d.key3 = "value3" - * }) - * - * // At this point we've generated two separate changes, now we want to send - * // just those changes to someone else - * - * // view is a cheap reference based copy of a document at a given set of heads - * let before = automerge.view(doc, heads) - * - * // This view doesn't show the last two changes in the document state - * assert.deepEqual(before, { - * key1: "value1", - * }) - * - * // Get the changes to send to doc2 - * let changes = automerge.getChanges(before, doc) - * - * // Apply the changes at doc2 - * doc2 = automerge.applyChanges < any > (doc2, changes)[0] - * assert.deepEqual(doc2, { - * key1: "value1", - * key2: "value2", - * key3: "value3", - * }) - * ``` - * - * If you have a {@link view} of a document which you want to make changes to you - * can {@link clone} the viewed document. - * - * ## Syncing - * - * The sync protocol is stateful. This means that we start by creating a {@link - * SyncState} for each peer we are communicating with using {@link initSyncState}. - * Then we generate a message to send to the peer by calling {@link - * generateSyncMessage}. When we receive a message from the peer we call {@link - * receiveSyncMessage}. Here's a simple example of a loop which just keeps two - * peers in sync. - * - * ```ts - * let sync1 = automerge.initSyncState() - * let msg: Uint8Array | null - * ;[sync1, msg] = automerge.generateSyncMessage(doc1, sync1) - * - * while (true) { - * if (msg != null) { - * network.send(msg) - * } - * let resp: Uint8Array = - * (network.receive()[(doc1, sync1, _ignore)] = - * automerge.receiveSyncMessage(doc1, sync1, resp)[(sync1, msg)] = - * automerge.generateSyncMessage(doc1, sync1)) - * } - * ``` - * - * ## Conflicts - * - * The only time conflicts occur in automerge documents is in concurrent - * assignments to the same key in an object. In this case automerge - * deterministically chooses an arbitrary value to present to the application but - * you can examine the conflicts using {@link getConflicts}. - * - * ``` - * import * as automerge from "@automerge/automerge" - * - * type Profile = { - * pets: Array<{name: string, type: string}> - * } - * - * let doc1 = automerge.init("aaaa") - * doc1 = automerge.change(doc1, d => { - * d.pets = [{name: "Lassie", type: "dog"}] - * }) - * let doc2 = automerge.init("bbbb") - * doc2 = automerge.merge(doc2, automerge.clone(doc1)) - * - * doc2 = automerge.change(doc2, d => { - * d.pets[0].name = "Beethoven" - * }) - * - * doc1 = automerge.change(doc1, d => { - * d.pets[0].name = "Babe" - * }) - * - * const doc3 = automerge.merge(doc1, doc2) - * - * // Note that here we pass `doc3.pets`, not `doc3` - * let conflicts = automerge.getConflicts(doc3.pets[0], "name") - * - * // The two conflicting values are the keys of the conflicts object - * assert.deepEqual(Object.values(conflicts), ["Babe", Beethoven"]) - * ``` - * - * ## Actor IDs - * - * By default automerge will generate a random actor ID for you, but most methods - * for creating a document allow you to set the actor ID. You can get the actor ID - * associated with the document by calling {@link getActorId}. Actor IDs must not - * be used in concurrent threads of executiong - all changes by a given actor ID - * are expected to be sequential. - * - * ## Listening to patches - * - * Sometimes you want to respond to changes made to an automerge document. In this - * case you can use the {@link PatchCallback} type to receive notifications when - * changes have been made. - * - * ## Cloning - * - * Currently you cannot make mutating changes (i.e. call {@link change}) to a - * document which you have two pointers to. For example, in this code: - * - * ```javascript - * let doc1 = automerge.init() - * let doc2 = automerge.change(doc1, d => (d.key = "value")) - * ``` - * - * `doc1` and `doc2` are both pointers to the same state. Any attempt to call - * mutating methods on `doc1` will now result in an error like - * - * Attempting to change an out of date document - * - * If you encounter this you need to clone the original document, the above sample - * would work as: - * - * ```javascript - * let doc1 = automerge.init() - * let doc2 = automerge.change(automerge.clone(doc1), d => (d.key = "value")) - * ``` - * @packageDocumentation - * - * ## The {@link unstable} module - * - * We are working on some changes to automerge which are not yet complete and - * will result in backwards incompatible API changes. Once these changes are - * ready for production use we will release a new major version of automerge. - * However, until that point you can use the {@link unstable} module to try out - * the new features, documents from the {@link unstable} module are - * interoperable with documents from the main module. Please see the docs for - * the {@link unstable} module for more details. - */ -export * from "./stable" -import * as unstable from "./unstable" -export { unstable } diff --git a/javascript/src/internal_state.ts b/javascript/src/internal_state.ts deleted file mode 100644 index f3da49b1..00000000 --- a/javascript/src/internal_state.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { type ObjID, type Heads, Automerge } from "@automerge/automerge-wasm" - -import { STATE, OBJECT_ID, TRACE, IS_PROXY } from "./constants" - -import type { Doc, PatchCallback } from "./types" - -export interface InternalState { - handle: Automerge - heads: Heads | undefined - freeze: boolean - patchCallback?: PatchCallback - textV2: boolean -} - -export function _state(doc: Doc, checkroot = true): InternalState { - if (typeof doc !== "object") { - throw new RangeError("must be the document root") - } - const state = Reflect.get(doc, STATE) as InternalState - if ( - state === undefined || - state == null || - (checkroot && _obj(doc) !== "_root") - ) { - throw new RangeError("must be the document root") - } - return state -} - -export function _trace(doc: Doc): string | undefined { - return Reflect.get(doc, TRACE) as string -} - -export function _obj(doc: Doc): ObjID | null { - if (!(typeof doc === "object") || doc === null) { - return null - } - return Reflect.get(doc, OBJECT_ID) as ObjID -} - -export function _is_proxy(doc: Doc): boolean { - return !!Reflect.get(doc, IS_PROXY) -} diff --git a/javascript/src/low_level.ts b/javascript/src/low_level.ts deleted file mode 100644 index f44f3a32..00000000 --- a/javascript/src/low_level.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { - type API, - Automerge, - type Change, - type DecodedChange, - type Actor, - SyncState, - type SyncMessage, - type JsSyncState, - type DecodedSyncMessage, - type ChangeToEncode, -} from "@automerge/automerge-wasm" -export type { ChangeToEncode } from "@automerge/automerge-wasm" - -export function UseApi(api: API) { - for (const k in api) { - // eslint-disable-next-line @typescript-eslint/no-extra-semi,@typescript-eslint/no-explicit-any - ;(ApiHandler as any)[k] = (api as any)[k] - } -} - -/* eslint-disable */ -export const ApiHandler: API = { - create(textV2: boolean, actor?: Actor): Automerge { - throw new RangeError("Automerge.use() not called") - }, - load(data: Uint8Array, textV2: boolean, actor?: Actor): Automerge { - throw new RangeError("Automerge.use() not called (load)") - }, - encodeChange(change: ChangeToEncode): Change { - throw new RangeError("Automerge.use() not called (encodeChange)") - }, - decodeChange(change: Change): DecodedChange { - throw new RangeError("Automerge.use() not called (decodeChange)") - }, - initSyncState(): SyncState { - throw new RangeError("Automerge.use() not called (initSyncState)") - }, - encodeSyncMessage(message: DecodedSyncMessage): SyncMessage { - throw new RangeError("Automerge.use() not called (encodeSyncMessage)") - }, - decodeSyncMessage(msg: SyncMessage): DecodedSyncMessage { - throw new RangeError("Automerge.use() not called (decodeSyncMessage)") - }, - encodeSyncState(state: SyncState): Uint8Array { - throw new RangeError("Automerge.use() not called (encodeSyncState)") - }, - decodeSyncState(data: Uint8Array): SyncState { - throw new RangeError("Automerge.use() not called (decodeSyncState)") - }, - exportSyncState(state: SyncState): JsSyncState { - throw new RangeError("Automerge.use() not called (exportSyncState)") - }, - importSyncState(state: JsSyncState): SyncState { - throw new RangeError("Automerge.use() not called (importSyncState)") - }, -} -/* eslint-enable */ diff --git a/javascript/src/numbers.ts b/javascript/src/numbers.ts deleted file mode 100644 index 7ad95998..00000000 --- a/javascript/src/numbers.ts +++ /dev/null @@ -1,54 +0,0 @@ -// Convenience classes to allow users to strictly specify the number type they want - -import { INT, UINT, F64 } from "./constants" - -export class Int { - value: number - - constructor(value: number) { - if ( - !( - Number.isInteger(value) && - value <= Number.MAX_SAFE_INTEGER && - value >= Number.MIN_SAFE_INTEGER - ) - ) { - throw new RangeError(`Value ${value} cannot be a uint`) - } - this.value = value - Reflect.defineProperty(this, INT, { value: true }) - Object.freeze(this) - } -} - -export class Uint { - value: number - - constructor(value: number) { - if ( - !( - Number.isInteger(value) && - value <= Number.MAX_SAFE_INTEGER && - value >= 0 - ) - ) { - throw new RangeError(`Value ${value} cannot be a uint`) - } - this.value = value - Reflect.defineProperty(this, UINT, { value: true }) - Object.freeze(this) - } -} - -export class Float64 { - value: number - - constructor(value: number) { - if (typeof value !== "number") { - throw new RangeError(`Value ${value} cannot be a float64`) - } - this.value = value || 0.0 - Reflect.defineProperty(this, F64, { value: true }) - Object.freeze(this) - } -} diff --git a/javascript/src/proxies.ts b/javascript/src/proxies.ts deleted file mode 100644 index 54a8dd71..00000000 --- a/javascript/src/proxies.ts +++ /dev/null @@ -1,1005 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ -import { Text } from "./text" -import { - Automerge, - type Heads, - type ObjID, - type Prop, -} from "@automerge/automerge-wasm" - -import type { AutomergeValue, ScalarValue, MapValue, ListValue } from "./types" -import { - type AutomergeValue as UnstableAutomergeValue, - MapValue as UnstableMapValue, - ListValue as UnstableListValue, -} from "./unstable_types" -import { Counter, getWriteableCounter } from "./counter" -import { - STATE, - TRACE, - IS_PROXY, - OBJECT_ID, - COUNTER, - INT, - UINT, - F64, -} from "./constants" -import { RawString } from "./raw_string" - -type TargetCommon = { - context: Automerge - objectId: ObjID - path: Array - readonly: boolean - heads?: Array - cache: object - trace?: any - frozen: boolean -} - -export type Text2Target = TargetCommon & { textV2: true } -export type Text1Target = TargetCommon & { textV2: false } -export type Target = Text1Target | Text2Target - -export type ValueType = T extends Text2Target - ? UnstableAutomergeValue - : T extends Text1Target - ? AutomergeValue - : never -type MapValueType = T extends Text2Target - ? UnstableMapValue - : T extends Text1Target - ? MapValue - : never -type ListValueType = T extends Text2Target - ? UnstableListValue - : T extends Text1Target - ? ListValue - : never - -function parseListIndex(key: any) { - if (typeof key === "string" && /^[0-9]+$/.test(key)) key = parseInt(key, 10) - if (typeof key !== "number") { - return key - } - if (key < 0 || isNaN(key) || key === Infinity || key === -Infinity) { - throw new RangeError("A list index must be positive, but you passed " + key) - } - return key -} - -function valueAt( - target: T, - prop: Prop -): ValueType | undefined { - const { context, objectId, path, readonly, heads, textV2 } = target - const value = context.getWithType(objectId, prop, heads) - if (value === null) { - return - } - const datatype = value[0] - const val = value[1] - switch (datatype) { - case undefined: - return - case "map": - return mapProxy( - context, - val as ObjID, - textV2, - [...path, prop], - readonly, - heads - ) - case "list": - return listProxy( - context, - val as ObjID, - textV2, - [...path, prop], - readonly, - heads - ) - case "text": - if (textV2) { - return context.text(val as ObjID, heads) as ValueType - } else { - return textProxy( - context, - val as ObjID, - [...path, prop], - readonly, - heads - ) as unknown as ValueType - } - case "str": - return val as ValueType - case "uint": - return val as ValueType - case "int": - return val as ValueType - case "f64": - return val as ValueType - case "boolean": - return val as ValueType - case "null": - return null as ValueType - case "bytes": - return val as ValueType - case "timestamp": - return val as ValueType - case "counter": { - if (readonly) { - return new Counter(val as number) as ValueType - } else { - const counter: Counter = getWriteableCounter( - val as number, - context, - path, - objectId, - prop - ) - return counter as ValueType - } - } - default: - throw RangeError(`datatype ${datatype} unimplemented`) - } -} - -type ImportedValue = - | [null, "null"] - | [number, "uint"] - | [number, "int"] - | [number, "f64"] - | [number, "counter"] - | [number, "timestamp"] - | [string, "str"] - | [Text | string, "text"] - | [Uint8Array, "bytes"] - | [Array, "list"] - | [Record, "map"] - | [boolean, "boolean"] - -function import_value(value: any, textV2: boolean): ImportedValue { - switch (typeof value) { - case "object": - if (value == null) { - return [null, "null"] - } else if (value[UINT]) { - return [value.value, "uint"] - } else if (value[INT]) { - return [value.value, "int"] - } else if (value[F64]) { - return [value.value, "f64"] - } else if (value[COUNTER]) { - return [value.value, "counter"] - } else if (value instanceof Date) { - return [value.getTime(), "timestamp"] - } else if (value instanceof RawString) { - return [value.val, "str"] - } else if (value instanceof Text) { - return [value, "text"] - } else if (value instanceof Uint8Array) { - return [value, "bytes"] - } else if (value instanceof Array) { - return [value, "list"] - } else if (Object.getPrototypeOf(value) === Object.getPrototypeOf({})) { - return [value, "map"] - } else if (value[OBJECT_ID]) { - throw new RangeError( - "Cannot create a reference to an existing document object" - ) - } else { - throw new RangeError(`Cannot assign unknown object: ${value}`) - } - case "boolean": - return [value, "boolean"] - case "number": - if (Number.isInteger(value)) { - return [value, "int"] - } else { - return [value, "f64"] - } - case "string": - if (textV2) { - return [value, "text"] - } else { - return [value, "str"] - } - default: - throw new RangeError(`Unsupported type of value: ${typeof value}`) - } -} - -const MapHandler = { - get( - target: T, - key: any - ): ValueType | ObjID | boolean | { handle: Automerge } { - const { context, objectId, cache } = target - if (key === Symbol.toStringTag) { - return target[Symbol.toStringTag] - } - if (key === OBJECT_ID) return objectId - if (key === IS_PROXY) return true - if (key === TRACE) return target.trace - if (key === STATE) return { handle: context } - if (!cache[key]) { - cache[key] = valueAt(target, key) - } - return cache[key] - }, - - set(target: Target, key: any, val: any) { - const { context, objectId, path, readonly, frozen, textV2 } = target - target.cache = {} // reset cache on set - if (val && val[OBJECT_ID]) { - throw new RangeError( - "Cannot create a reference to an existing document object" - ) - } - if (key === TRACE) { - target.trace = val - return true - } - const [value, datatype] = import_value(val, textV2) - if (frozen) { - throw new RangeError("Attempting to use an outdated Automerge document") - } - if (readonly) { - throw new RangeError(`Object property "${key}" cannot be modified`) - } - switch (datatype) { - case "list": { - const list = context.putObject(objectId, key, []) - const proxyList = listProxy( - context, - list, - textV2, - [...path, key], - readonly - ) - for (let i = 0; i < value.length; i++) { - proxyList[i] = value[i] - } - break - } - case "text": { - if (textV2) { - assertString(value) - context.putObject(objectId, key, value) - } else { - assertText(value) - const text = context.putObject(objectId, key, "") - const proxyText = textProxy(context, text, [...path, key], readonly) - for (let i = 0; i < value.length; i++) { - proxyText[i] = value.get(i) - } - } - break - } - case "map": { - const map = context.putObject(objectId, key, {}) - const proxyMap = mapProxy( - context, - map, - textV2, - [...path, key], - readonly - ) - for (const key in value) { - proxyMap[key] = value[key] - } - break - } - default: - context.put(objectId, key, value, datatype) - } - return true - }, - - deleteProperty(target: Target, key: any) { - const { context, objectId, readonly } = target - target.cache = {} // reset cache on delete - if (readonly) { - throw new RangeError(`Object property "${key}" cannot be modified`) - } - context.delete(objectId, key) - return true - }, - - has(target: Target, key: any) { - const value = this.get(target, key) - return value !== undefined - }, - - getOwnPropertyDescriptor(target: Target, key: any) { - // const { context, objectId } = target - const value = this.get(target, key) - if (typeof value !== "undefined") { - return { - configurable: true, - enumerable: true, - value, - } - } - }, - - ownKeys(target: Target) { - const { context, objectId, heads } = target - // FIXME - this is a tmp workaround until fix the dupe key bug in keys() - const keys = context.keys(objectId, heads) - return [...new Set(keys)] - }, -} - -const ListHandler = { - get( - target: T, - index: any - ): - | ValueType - | boolean - | ObjID - | { handle: Automerge } - | number - | ((_: any) => boolean) { - const { context, objectId, heads } = target - index = parseListIndex(index) - if (index === Symbol.hasInstance) { - return (instance: any) => { - return Array.isArray(instance) - } - } - if (index === Symbol.toStringTag) { - return target[Symbol.toStringTag] - } - if (index === OBJECT_ID) return objectId - if (index === IS_PROXY) return true - if (index === TRACE) return target.trace - if (index === STATE) return { handle: context } - if (index === "length") return context.length(objectId, heads) - if (typeof index === "number") { - return valueAt(target, index) as ValueType - } else { - return listMethods(target)[index] - } - }, - - set(target: Target, index: any, val: any) { - const { context, objectId, path, readonly, frozen, textV2 } = target - index = parseListIndex(index) - if (val && val[OBJECT_ID]) { - throw new RangeError( - "Cannot create a reference to an existing document object" - ) - } - if (index === TRACE) { - target.trace = val - return true - } - if (typeof index == "string") { - throw new RangeError("list index must be a number") - } - const [value, datatype] = import_value(val, textV2) - if (frozen) { - throw new RangeError("Attempting to use an outdated Automerge document") - } - if (readonly) { - throw new RangeError(`Object property "${index}" cannot be modified`) - } - switch (datatype) { - case "list": { - let list: ObjID - if (index >= context.length(objectId)) { - list = context.insertObject(objectId, index, []) - } else { - list = context.putObject(objectId, index, []) - } - const proxyList = listProxy( - context, - list, - textV2, - [...path, index], - readonly - ) - proxyList.splice(0, 0, ...value) - break - } - case "text": { - if (textV2) { - assertString(value) - if (index >= context.length(objectId)) { - context.insertObject(objectId, index, value) - } else { - context.putObject(objectId, index, value) - } - } else { - let text: ObjID - assertText(value) - if (index >= context.length(objectId)) { - text = context.insertObject(objectId, index, "") - } else { - text = context.putObject(objectId, index, "") - } - const proxyText = textProxy(context, text, [...path, index], readonly) - proxyText.splice(0, 0, ...value) - } - break - } - case "map": { - let map: ObjID - if (index >= context.length(objectId)) { - map = context.insertObject(objectId, index, {}) - } else { - map = context.putObject(objectId, index, {}) - } - const proxyMap = mapProxy( - context, - map, - textV2, - [...path, index], - readonly - ) - for (const key in value) { - proxyMap[key] = value[key] - } - break - } - default: - if (index >= context.length(objectId)) { - context.insert(objectId, index, value, datatype) - } else { - context.put(objectId, index, value, datatype) - } - } - return true - }, - - deleteProperty(target: Target, index: any) { - const { context, objectId } = target - index = parseListIndex(index) - const elem = context.get(objectId, index) - if (elem != null && elem[0] == "counter") { - throw new TypeError( - "Unsupported operation: deleting a counter from a list" - ) - } - context.delete(objectId, index) - return true - }, - - has(target: Target, index: any) { - const { context, objectId, heads } = target - index = parseListIndex(index) - if (typeof index === "number") { - return index < context.length(objectId, heads) - } - return index === "length" - }, - - getOwnPropertyDescriptor(target: Target, index: any) { - const { context, objectId, heads } = target - - if (index === "length") - return { writable: true, value: context.length(objectId, heads) } - if (index === OBJECT_ID) - return { configurable: false, enumerable: false, value: objectId } - - index = parseListIndex(index) - - const value = valueAt(target, index) - return { configurable: true, enumerable: true, value } - }, - - getPrototypeOf(target: Target) { - return Object.getPrototypeOf(target) - }, - ownKeys(/*target*/): string[] { - const keys: string[] = [] - // uncommenting this causes assert.deepEqual() to fail when comparing to a pojo array - // but not uncommenting it causes for (i in list) {} to not enumerate values properly - //const {context, objectId, heads } = target - //for (let i = 0; i < target.context.length(objectId, heads); i++) { keys.push(i.toString()) } - keys.push("length") - return keys - }, -} - -const TextHandler = Object.assign({}, ListHandler, { - get(target: Target, index: any) { - const { context, objectId, heads } = target - index = parseListIndex(index) - if (index === Symbol.hasInstance) { - return (instance: any) => { - return Array.isArray(instance) - } - } - if (index === Symbol.toStringTag) { - return target[Symbol.toStringTag] - } - if (index === OBJECT_ID) return objectId - if (index === IS_PROXY) return true - if (index === TRACE) return target.trace - if (index === STATE) return { handle: context } - if (index === "length") return context.length(objectId, heads) - if (typeof index === "number") { - return valueAt(target, index) - } else { - return textMethods(target)[index] || listMethods(target)[index] - } - }, - getPrototypeOf(/*target*/) { - return Object.getPrototypeOf(new Text()) - }, -}) - -export function mapProxy( - context: Automerge, - objectId: ObjID, - textV2: boolean, - path?: Prop[], - readonly?: boolean, - heads?: Heads -): MapValueType { - const target: Target = { - context, - objectId, - path: path || [], - readonly: !!readonly, - frozen: false, - heads, - cache: {}, - textV2, - } - const proxied = {} - Object.assign(proxied, target) - const result = new Proxy(proxied, MapHandler) - // conversion through unknown is necessary because the types are so different - return result as unknown as MapValueType -} - -export function listProxy( - context: Automerge, - objectId: ObjID, - textV2: boolean, - path?: Prop[], - readonly?: boolean, - heads?: Heads -): ListValueType { - const target: Target = { - context, - objectId, - path: path || [], - readonly: !!readonly, - frozen: false, - heads, - cache: {}, - textV2, - } - const proxied = [] - Object.assign(proxied, target) - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - return new Proxy(proxied, ListHandler) as unknown as ListValue -} - -interface TextProxy extends Text { - splice: (index: any, del: any, ...vals: any[]) => void -} - -export function textProxy( - context: Automerge, - objectId: ObjID, - path?: Prop[], - readonly?: boolean, - heads?: Heads -): TextProxy { - const target: Target = { - context, - objectId, - path: path || [], - readonly: !!readonly, - frozen: false, - heads, - cache: {}, - textV2: false, - } - const proxied = {} - Object.assign(proxied, target) - return new Proxy(proxied, TextHandler) as unknown as TextProxy -} - -export function rootProxy( - context: Automerge, - textV2: boolean, - readonly?: boolean -): T { - /* eslint-disable-next-line */ - return mapProxy(context, "_root", textV2, [], !!readonly) -} - -function listMethods(target: T) { - const { context, objectId, path, readonly, frozen, heads, textV2 } = target - const methods = { - deleteAt(index: number, numDelete: number) { - if (typeof numDelete === "number") { - context.splice(objectId, index, numDelete) - } else { - context.delete(objectId, index) - } - return this - }, - - fill(val: ScalarValue, start: number, end: number) { - const [value, datatype] = import_value(val, textV2) - const length = context.length(objectId) - start = parseListIndex(start || 0) - end = parseListIndex(end || length) - for (let i = start; i < Math.min(end, length); i++) { - if (datatype === "list" || datatype === "map") { - context.putObject(objectId, i, value) - } else if (datatype === "text") { - if (textV2) { - assertString(value) - context.putObject(objectId, i, value) - } else { - assertText(value) - const text = context.putObject(objectId, i, "") - const proxyText = textProxy(context, text, [...path, i], readonly) - for (let i = 0; i < value.length; i++) { - proxyText[i] = value.get(i) - } - } - } else { - context.put(objectId, i, value, datatype) - } - } - return this - }, - - indexOf(o: any, start = 0) { - const length = context.length(objectId) - for (let i = start; i < length; i++) { - const value = context.getWithType(objectId, i, heads) - if (value && (value[1] === o[OBJECT_ID] || value[1] === o)) { - return i - } - } - return -1 - }, - - insertAt(index: number, ...values: any[]) { - this.splice(index, 0, ...values) - return this - }, - - pop() { - const length = context.length(objectId) - if (length == 0) { - return undefined - } - const last = valueAt(target, length - 1) - context.delete(objectId, length - 1) - return last - }, - - push(...values: any[]) { - const len = context.length(objectId) - this.splice(len, 0, ...values) - return context.length(objectId) - }, - - shift() { - if (context.length(objectId) == 0) return - const first = valueAt(target, 0) - context.delete(objectId, 0) - return first - }, - - splice(index: any, del: any, ...vals: any[]) { - index = parseListIndex(index) - del = parseListIndex(del) - for (const val of vals) { - if (val && val[OBJECT_ID]) { - throw new RangeError( - "Cannot create a reference to an existing document object" - ) - } - } - if (frozen) { - throw new RangeError("Attempting to use an outdated Automerge document") - } - if (readonly) { - throw new RangeError( - "Sequence object cannot be modified outside of a change block" - ) - } - const result: ValueType[] = [] - for (let i = 0; i < del; i++) { - const value = valueAt(target, index) - if (value !== undefined) { - result.push(value) - } - context.delete(objectId, index) - } - const values = vals.map(val => import_value(val, textV2)) - for (const [value, datatype] of values) { - switch (datatype) { - case "list": { - const list = context.insertObject(objectId, index, []) - const proxyList = listProxy( - context, - list, - textV2, - [...path, index], - readonly - ) - proxyList.splice(0, 0, ...value) - break - } - case "text": { - if (textV2) { - assertString(value) - context.insertObject(objectId, index, value) - } else { - const text = context.insertObject(objectId, index, "") - const proxyText = textProxy( - context, - text, - [...path, index], - readonly - ) - proxyText.splice(0, 0, ...value) - } - break - } - case "map": { - const map = context.insertObject(objectId, index, {}) - const proxyMap = mapProxy( - context, - map, - textV2, - [...path, index], - readonly - ) - for (const key in value) { - proxyMap[key] = value[key] - } - break - } - default: - context.insert(objectId, index, value, datatype) - } - index += 1 - } - return result - }, - - unshift(...values: any) { - this.splice(0, 0, ...values) - return context.length(objectId) - }, - - entries() { - const i = 0 - const iterator = { - next: () => { - const value = valueAt(target, i) - if (value === undefined) { - return { value: undefined, done: true } - } else { - return { value: [i, value], done: false } - } - }, - } - return iterator - }, - - keys() { - let i = 0 - const len = context.length(objectId, heads) - const iterator = { - next: () => { - let value: undefined | number = undefined - if (i < len) { - value = i - i++ - } - return { value, done: true } - }, - } - return iterator - }, - - values() { - const i = 0 - const iterator = { - next: () => { - const value = valueAt(target, i) - if (value === undefined) { - return { value: undefined, done: true } - } else { - return { value, done: false } - } - }, - } - return iterator - }, - - toArray(): ValueType[] { - const list: Array> = [] - let value: ValueType | undefined - do { - value = valueAt(target, list.length) - if (value !== undefined) { - list.push(value) - } - } while (value !== undefined) - - return list - }, - - map(f: (_a: ValueType, _n: number) => U): U[] { - return this.toArray().map(f) - }, - - toString(): string { - return this.toArray().toString() - }, - - toLocaleString(): string { - return this.toArray().toLocaleString() - }, - - forEach(f: (_a: ValueType, _n: number) => undefined) { - return this.toArray().forEach(f) - }, - - // todo: real concat function is different - concat(other: ValueType[]): ValueType[] { - return this.toArray().concat(other) - }, - - every(f: (_a: ValueType, _n: number) => boolean): boolean { - return this.toArray().every(f) - }, - - filter(f: (_a: ValueType, _n: number) => boolean): ValueType[] { - return this.toArray().filter(f) - }, - - find( - f: (_a: ValueType, _n: number) => boolean - ): ValueType | undefined { - let index = 0 - for (const v of this) { - if (f(v, index)) { - return v - } - index += 1 - } - }, - - findIndex(f: (_a: ValueType, _n: number) => boolean): number { - let index = 0 - for (const v of this) { - if (f(v, index)) { - return index - } - index += 1 - } - return -1 - }, - - includes(elem: ValueType): boolean { - return this.find(e => e === elem) !== undefined - }, - - join(sep?: string): string { - return this.toArray().join(sep) - }, - - reduce( - f: (acc: U, currentValue: ValueType) => U, - initialValue: U - ): U | undefined { - return this.toArray().reduce(f, initialValue) - }, - - reduceRight( - f: (acc: U, item: ValueType) => U, - initialValue: U - ): U | undefined { - return this.toArray().reduceRight(f, initialValue) - }, - - lastIndexOf(search: ValueType, fromIndex = +Infinity): number { - // this can be faster - return this.toArray().lastIndexOf(search, fromIndex) - }, - - slice(index?: number, num?: number): ValueType[] { - return this.toArray().slice(index, num) - }, - - some(f: (v: ValueType, i: number) => boolean): boolean { - let index = 0 - for (const v of this) { - if (f(v, index)) { - return true - } - index += 1 - } - return false - }, - - [Symbol.iterator]: function* () { - let i = 0 - let value = valueAt(target, i) - while (value !== undefined) { - yield value - i += 1 - value = valueAt(target, i) - } - }, - } - return methods -} - -function textMethods(target: Target) { - const { context, objectId, heads } = target - const methods = { - set(index: number, value: any) { - return (this[index] = value) - }, - get(index: number): AutomergeValue { - return this[index] - }, - toString(): string { - return context.text(objectId, heads).replace(//g, "") - }, - toSpans(): AutomergeValue[] { - const spans: AutomergeValue[] = [] - let chars = "" - const length = context.length(objectId) - for (let i = 0; i < length; i++) { - const value = this[i] - if (typeof value === "string") { - chars += value - } else { - if (chars.length > 0) { - spans.push(chars) - chars = "" - } - spans.push(value) - } - } - if (chars.length > 0) { - spans.push(chars) - } - return spans - }, - toJSON(): string { - return this.toString() - }, - indexOf(o: any, start = 0) { - const text = context.text(objectId) - return text.indexOf(o, start) - }, - } - return methods -} - -function assertText(value: Text | string): asserts value is Text { - if (!(value instanceof Text)) { - throw new Error("value was not a Text instance") - } -} - -function assertString(value: Text | string): asserts value is string { - if (typeof value !== "string") { - throw new Error("value was not a string") - } -} diff --git a/javascript/src/raw_string.ts b/javascript/src/raw_string.ts deleted file mode 100644 index 7fc02084..00000000 --- a/javascript/src/raw_string.ts +++ /dev/null @@ -1,6 +0,0 @@ -export class RawString { - val: string - constructor(val: string) { - this.val = val - } -} diff --git a/javascript/src/stable.ts b/javascript/src/stable.ts deleted file mode 100644 index e83b127f..00000000 --- a/javascript/src/stable.ts +++ /dev/null @@ -1,944 +0,0 @@ -/** @hidden **/ -export { /** @hidden */ uuid } from "./uuid" - -import { rootProxy } from "./proxies" -import { STATE } from "./constants" - -import { - type AutomergeValue, - Counter, - type Doc, - type PatchCallback, -} from "./types" -export { - type AutomergeValue, - Counter, - type Doc, - Int, - Uint, - Float64, - type Patch, - type PatchCallback, - type ScalarValue, -} from "./types" - -import { Text } from "./text" -export { Text } from "./text" - -import type { - API as WasmAPI, - Actor as ActorId, - Prop, - ObjID, - Change, - DecodedChange, - Heads, - MaterializeValue, - JsSyncState, - SyncMessage, - DecodedSyncMessage, -} from "@automerge/automerge-wasm" -export type { - PutPatch, - DelPatch, - SpliceTextPatch, - InsertPatch, - IncPatch, - SyncMessage, -} from "@automerge/automerge-wasm" - -/** @hidden **/ -type API = WasmAPI - -const SyncStateSymbol = Symbol("_syncstate") - -/** - * An opaque type tracking the state of sync with a remote peer - */ -type SyncState = JsSyncState & { _opaque: typeof SyncStateSymbol } - -import { ApiHandler, type ChangeToEncode, UseApi } from "./low_level" - -import { Automerge } from "@automerge/automerge-wasm" - -import { RawString } from "./raw_string" - -import { _state, _is_proxy, _trace, _obj } from "./internal_state" - -import { stableConflictAt } from "./conflicts" - -/** Options passed to {@link change}, and {@link emptyChange} - * @typeParam T - The type of value contained in the document - */ -export type ChangeOptions = { - /** A message which describes the changes */ - message?: string - /** The unix timestamp of the change (purely advisory, not used in conflict resolution) */ - time?: number - /** A callback which will be called to notify the caller of any changes to the document */ - patchCallback?: PatchCallback -} - -/** Options passed to {@link loadIncremental}, {@link applyChanges}, and {@link receiveSyncMessage} - * @typeParam T - The type of value contained in the document - */ -export type ApplyOptions = { patchCallback?: PatchCallback } - -/** - * A List is an extended Array that adds the two helper methods `deleteAt` and `insertAt`. - */ -export interface List extends Array { - insertAt(index: number, ...args: T[]): List - deleteAt(index: number, numDelete?: number): List -} - -/** - * To extend an arbitrary type, we have to turn any arrays that are part of the type's definition into Lists. - * So we recurse through the properties of T, turning any Arrays we find into Lists. - */ -export type Extend = - // is it an array? make it a list (we recursively extend the type of the array's elements as well) - T extends Array - ? List> - : // is it an object? recursively extend all of its properties - // eslint-disable-next-line @typescript-eslint/ban-types - T extends Object - ? { [P in keyof T]: Extend } - : // otherwise leave the type alone - T - -/** - * Function which is called by {@link change} when making changes to a `Doc` - * @typeParam T - The type of value contained in the document - * - * This function may mutate `doc` - */ -export type ChangeFn = (doc: Extend) => void - -/** @hidden **/ -export interface State { - change: DecodedChange - snapshot: T -} - -/** @hidden **/ -export function use(api: API) { - UseApi(api) -} - -import * as wasm from "@automerge/automerge-wasm" -use(wasm) - -/** - * Options to be passed to {@link init} or {@link load} - * @typeParam T - The type of the value the document contains - */ -export type InitOptions = { - /** The actor ID to use for this document, a random one will be generated if `null` is passed */ - actor?: ActorId - freeze?: boolean - /** A callback which will be called with the initial patch once the document has finished loading */ - patchCallback?: PatchCallback - /** @hidden */ - enableTextV2?: boolean -} - -/** @hidden */ -export function getBackend(doc: Doc): Automerge { - return _state(doc).handle -} - -function importOpts(_actor?: ActorId | InitOptions): InitOptions { - if (typeof _actor === "object") { - return _actor - } else { - return { actor: _actor } - } -} - -/** - * Create a new automerge document - * - * @typeParam T - The type of value contained in the document. This will be the - * type that is passed to the change closure in {@link change} - * @param _opts - Either an actorId or an {@link InitOptions} (which may - * contain an actorId). If this is null the document will be initialised with a - * random actor ID - */ -export function init(_opts?: ActorId | InitOptions): Doc { - const opts = importOpts(_opts) - const freeze = !!opts.freeze - const patchCallback = opts.patchCallback - const handle = ApiHandler.create(opts.enableTextV2 || false, opts.actor) - handle.enablePatches(true) - handle.enableFreeze(!!opts.freeze) - handle.registerDatatype("counter", (n: number) => new Counter(n)) - const textV2 = opts.enableTextV2 || false - if (textV2) { - handle.registerDatatype("str", (n: string) => new RawString(n)) - } else { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - handle.registerDatatype("text", (n: any) => new Text(n)) - } - const doc = handle.materialize("/", undefined, { - handle, - heads: undefined, - freeze, - patchCallback, - textV2, - }) as Doc - return doc -} - -/** - * Make an immutable view of an automerge document as at `heads` - * - * @remarks - * The document returned from this function cannot be passed to {@link change}. - * This is because it shares the same underlying memory as `doc`, but it is - * consequently a very cheap copy. - * - * Note that this function will throw an error if any of the hashes in `heads` - * are not in the document. - * - * @typeParam T - The type of the value contained in the document - * @param doc - The document to create a view of - * @param heads - The hashes of the heads to create a view at - */ -export function view(doc: Doc, heads: Heads): Doc { - const state = _state(doc) - const handle = state.handle - return state.handle.materialize("/", heads, { - ...state, - handle, - heads, - }) as Doc -} - -/** - * Make a full writable copy of an automerge document - * - * @remarks - * Unlike {@link view} this function makes a full copy of the memory backing - * the document and can thus be passed to {@link change}. It also generates a - * new actor ID so that changes made in the new document do not create duplicate - * sequence numbers with respect to the old document. If you need control over - * the actor ID which is generated you can pass the actor ID as the second - * argument - * - * @typeParam T - The type of the value contained in the document - * @param doc - The document to clone - * @param _opts - Either an actor ID to use for the new doc or an {@link InitOptions} - */ -export function clone( - doc: Doc, - _opts?: ActorId | InitOptions -): Doc { - const state = _state(doc) - const heads = state.heads - const opts = importOpts(_opts) - const handle = state.handle.fork(opts.actor, heads) - - // `change` uses the presence of state.heads to determine if we are in a view - // set it to undefined to indicate that this is a full fat document - const { heads: _oldHeads, ...stateSansHeads } = state - return handle.applyPatches(doc, { ...stateSansHeads, handle }) -} - -/** Explicity free the memory backing a document. Note that this is note - * necessary in environments which support - * [`FinalizationRegistry`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry) - */ -export function free(doc: Doc) { - return _state(doc).handle.free() -} - -/** - * Create an automerge document from a POJO - * - * @param initialState - The initial state which will be copied into the document - * @typeParam T - The type of the value passed to `from` _and_ the type the resulting document will contain - * @typeParam actor - The actor ID of the resulting document, if this is null a random actor ID will be used - * - * @example - * ``` - * const doc = automerge.from({ - * tasks: [ - * {description: "feed dogs", done: false} - * ] - * }) - * ``` - */ -export function from>( - initialState: T | Doc, - _opts?: ActorId | InitOptions -): Doc { - return change(init(_opts), d => Object.assign(d, initialState)) -} - -/** - * Update the contents of an automerge document - * @typeParam T - The type of the value contained in the document - * @param doc - The document to update - * @param options - Either a message, an {@link ChangeOptions}, or a {@link ChangeFn} - * @param callback - A `ChangeFn` to be used if `options` was a `string` - * - * Note that if the second argument is a function it will be used as the `ChangeFn` regardless of what the third argument is. - * - * @example A simple change - * ``` - * let doc1 = automerge.init() - * doc1 = automerge.change(doc1, d => { - * d.key = "value" - * }) - * assert.equal(doc1.key, "value") - * ``` - * - * @example A change with a message - * - * ``` - * doc1 = automerge.change(doc1, "add another value", d => { - * d.key2 = "value2" - * }) - * ``` - * - * @example A change with a message and a timestamp - * - * ``` - * doc1 = automerge.change(doc1, {message: "add another value", time: 1640995200}, d => { - * d.key2 = "value2" - * }) - * ``` - * - * @example responding to a patch callback - * ``` - * let patchedPath - * let patchCallback = patch => { - * patchedPath = patch.path - * } - * doc1 = automerge.change(doc1, {message, "add another value", time: 1640995200, patchCallback}, d => { - * d.key2 = "value2" - * }) - * assert.equal(patchedPath, ["key2"]) - * ``` - */ -export function change( - doc: Doc, - options: string | ChangeOptions | ChangeFn, - callback?: ChangeFn -): Doc { - if (typeof options === "function") { - return _change(doc, {}, options) - } else if (typeof callback === "function") { - if (typeof options === "string") { - options = { message: options } - } - return _change(doc, options, callback) - } else { - throw RangeError("Invalid args for change") - } -} - -function progressDocument( - doc: Doc, - heads: Heads | null, - callback?: PatchCallback -): Doc { - if (heads == null) { - return doc - } - const state = _state(doc) - const nextState = { ...state, heads: undefined } - const nextDoc = state.handle.applyPatches(doc, nextState, callback) - state.heads = heads - return nextDoc -} - -function _change( - doc: Doc, - options: ChangeOptions, - callback: ChangeFn -): Doc { - if (typeof callback !== "function") { - throw new RangeError("invalid change function") - } - - const state = _state(doc) - - if (doc === undefined || state === undefined) { - throw new RangeError("must be the document root") - } - if (state.heads) { - throw new RangeError( - "Attempting to change an outdated document. Use Automerge.clone() if you wish to make a writable copy." - ) - } - if (_is_proxy(doc)) { - throw new RangeError("Calls to Automerge.change cannot be nested") - } - const heads = state.handle.getHeads() - try { - state.heads = heads - const root: T = rootProxy(state.handle, state.textV2) - callback(root as Extend) - if (state.handle.pendingOps() === 0) { - state.heads = undefined - return doc - } else { - state.handle.commit(options.message, options.time) - return progressDocument( - doc, - heads, - options.patchCallback || state.patchCallback - ) - } - } catch (e) { - state.heads = undefined - state.handle.rollback() - throw e - } -} - -/** - * Make a change to a document which does not modify the document - * - * @param doc - The doc to add the empty change to - * @param options - Either a message or a {@link ChangeOptions} for the new change - * - * Why would you want to do this? One reason might be that you have merged - * changes from some other peers and you want to generate a change which - * depends on those merged changes so that you can sign the new change with all - * of the merged changes as part of the new change. - */ -export function emptyChange( - doc: Doc, - options: string | ChangeOptions | void -) { - if (options === undefined) { - options = {} - } - if (typeof options === "string") { - options = { message: options } - } - - const state = _state(doc) - - if (state.heads) { - throw new RangeError( - "Attempting to change an outdated document. Use Automerge.clone() if you wish to make a writable copy." - ) - } - if (_is_proxy(doc)) { - throw new RangeError("Calls to Automerge.change cannot be nested") - } - - const heads = state.handle.getHeads() - state.handle.emptyChange(options.message, options.time) - return progressDocument(doc, heads) -} - -/** - * Load an automerge document from a compressed document produce by {@link save} - * - * @typeParam T - The type of the value which is contained in the document. - * Note that no validation is done to make sure this type is in - * fact the type of the contained value so be a bit careful - * @param data - The compressed document - * @param _opts - Either an actor ID or some {@link InitOptions}, if the actor - * ID is null a random actor ID will be created - * - * Note that `load` will throw an error if passed incomplete content (for - * example if you are receiving content over the network and don't know if you - * have the complete document yet). If you need to handle incomplete content use - * {@link init} followed by {@link loadIncremental}. - */ -export function load( - data: Uint8Array, - _opts?: ActorId | InitOptions -): Doc { - const opts = importOpts(_opts) - const actor = opts.actor - const patchCallback = opts.patchCallback - const handle = ApiHandler.load(data, opts.enableTextV2 || false, actor) - handle.enablePatches(true) - handle.enableFreeze(!!opts.freeze) - handle.registerDatatype("counter", (n: number) => new Counter(n)) - const textV2 = opts.enableTextV2 || false - if (textV2) { - handle.registerDatatype("str", (n: string) => new RawString(n)) - } else { - handle.registerDatatype("text", (n: string) => new Text(n)) - } - const doc = handle.materialize("/", undefined, { - handle, - heads: undefined, - patchCallback, - textV2, - }) as Doc - return doc -} - -/** - * Load changes produced by {@link saveIncremental}, or partial changes - * - * @typeParam T - The type of the value which is contained in the document. - * Note that no validation is done to make sure this type is in - * fact the type of the contained value so be a bit careful - * @param data - The compressedchanges - * @param opts - an {@link ApplyOptions} - * - * This function is useful when staying up to date with a connected peer. - * Perhaps the other end sent you a full compresed document which you loaded - * with {@link load} and they're sending you the result of - * {@link getLastLocalChange} every time they make a change. - * - * Note that this function will succesfully load the results of {@link save} as - * well as {@link getLastLocalChange} or any other incremental change. - */ -export function loadIncremental( - doc: Doc, - data: Uint8Array, - opts?: ApplyOptions -): Doc { - if (!opts) { - opts = {} - } - const state = _state(doc) - if (state.heads) { - throw new RangeError( - "Attempting to change an out of date document - set at: " + _trace(doc) - ) - } - if (_is_proxy(doc)) { - throw new RangeError("Calls to Automerge.change cannot be nested") - } - const heads = state.handle.getHeads() - state.handle.loadIncremental(data) - return progressDocument(doc, heads, opts.patchCallback || state.patchCallback) -} - -/** - * Export the contents of a document to a compressed format - * - * @param doc - The doc to save - * - * The returned bytes can be passed to {@link load} or {@link loadIncremental} - */ -export function save(doc: Doc): Uint8Array { - return _state(doc).handle.save() -} - -/** - * Merge `local` into `remote` - * @typeParam T - The type of values contained in each document - * @param local - The document to merge changes into - * @param remote - The document to merge changes from - * - * @returns - The merged document - * - * Often when you are merging documents you will also need to clone them. Both - * arguments to `merge` are frozen after the call so you can no longer call - * mutating methods (such as {@link change}) on them. The symtom of this will be - * an error which says "Attempting to change an out of date document". To - * overcome this call {@link clone} on the argument before passing it to {@link - * merge}. - */ -export function merge(local: Doc, remote: Doc): Doc { - const localState = _state(local) - - if (localState.heads) { - throw new RangeError( - "Attempting to change an out of date document - set at: " + _trace(local) - ) - } - const heads = localState.handle.getHeads() - const remoteState = _state(remote) - const changes = localState.handle.getChangesAdded(remoteState.handle) - localState.handle.applyChanges(changes) - return progressDocument(local, heads, localState.patchCallback) -} - -/** - * Get the actor ID associated with the document - */ -export function getActorId(doc: Doc): ActorId { - const state = _state(doc) - return state.handle.getActorId() -} - -/** - * The type of conflicts for particular key or index - * - * Maps and sequences in automerge can contain conflicting values for a - * particular key or index. In this case {@link getConflicts} can be used to - * obtain a `Conflicts` representing the multiple values present for the property - * - * A `Conflicts` is a map from a unique (per property or index) key to one of - * the possible conflicting values for the given property. - */ -type Conflicts = { [key: string]: AutomergeValue } - -/** - * Get the conflicts associated with a property - * - * The values of properties in a map in automerge can be conflicted if there - * are concurrent "put" operations to the same key. Automerge chooses one value - * arbitrarily (but deterministically, any two nodes who have the same set of - * changes will choose the same value) from the set of conflicting values to - * present as the value of the key. - * - * Sometimes you may want to examine these conflicts, in this case you can use - * {@link getConflicts} to get the conflicts for the key. - * - * @example - * ``` - * import * as automerge from "@automerge/automerge" - * - * type Profile = { - * pets: Array<{name: string, type: string}> - * } - * - * let doc1 = automerge.init("aaaa") - * doc1 = automerge.change(doc1, d => { - * d.pets = [{name: "Lassie", type: "dog"}] - * }) - * let doc2 = automerge.init("bbbb") - * doc2 = automerge.merge(doc2, automerge.clone(doc1)) - * - * doc2 = automerge.change(doc2, d => { - * d.pets[0].name = "Beethoven" - * }) - * - * doc1 = automerge.change(doc1, d => { - * d.pets[0].name = "Babe" - * }) - * - * const doc3 = automerge.merge(doc1, doc2) - * - * // Note that here we pass `doc3.pets`, not `doc3` - * let conflicts = automerge.getConflicts(doc3.pets[0], "name") - * - * // The two conflicting values are the keys of the conflicts object - * assert.deepEqual(Object.values(conflicts), ["Babe", Beethoven"]) - * ``` - */ -export function getConflicts( - doc: Doc, - prop: Prop -): Conflicts | undefined { - const state = _state(doc, false) - if (state.textV2) { - throw new Error("use unstable.getConflicts for an unstable document") - } - const objectId = _obj(doc) - if (objectId != null) { - return stableConflictAt(state.handle, objectId, prop) - } else { - return undefined - } -} - -/** - * Get the binary representation of the last change which was made to this doc - * - * This is most useful when staying in sync with other peers, every time you - * make a change locally via {@link change} you immediately call {@link - * getLastLocalChange} and send the result over the network to other peers. - */ -export function getLastLocalChange(doc: Doc): Change | undefined { - const state = _state(doc) - return state.handle.getLastLocalChange() || undefined -} - -/** - * Return the object ID of an arbitrary javascript value - * - * This is useful to determine if something is actually an automerge document, - * if `doc` is not an automerge document this will return null. - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export function getObjectId(doc: any, prop?: Prop): ObjID | null { - if (prop) { - const state = _state(doc, false) - const objectId = _obj(doc) - if (!state || !objectId) { - return null - } - return state.handle.get(objectId, prop) as ObjID - } else { - return _obj(doc) - } -} - -/** - * Get the changes which are in `newState` but not in `oldState`. The returned - * changes can be loaded in `oldState` via {@link applyChanges}. - * - * Note that this will crash if there are changes in `oldState` which are not in `newState`. - */ -export function getChanges(oldState: Doc, newState: Doc): Change[] { - const n = _state(newState) - return n.handle.getChanges(getHeads(oldState)) -} - -/** - * Get all the changes in a document - * - * This is different to {@link save} because the output is an array of changes - * which can be individually applied via {@link applyChanges}` - * - */ -export function getAllChanges(doc: Doc): Change[] { - const state = _state(doc) - return state.handle.getChanges([]) -} - -/** - * Apply changes received from another document - * - * `doc` will be updated to reflect the `changes`. If there are changes which - * we do not have dependencies for yet those will be stored in the document and - * applied when the depended on changes arrive. - * - * You can use the {@link ApplyOptions} to pass a patchcallback which will be - * informed of any changes which occur as a result of applying the changes - * - */ -export function applyChanges( - doc: Doc, - changes: Change[], - opts?: ApplyOptions -): [Doc] { - const state = _state(doc) - if (!opts) { - opts = {} - } - if (state.heads) { - throw new RangeError( - "Attempting to change an outdated document. Use Automerge.clone() if you wish to make a writable copy." - ) - } - if (_is_proxy(doc)) { - throw new RangeError("Calls to Automerge.change cannot be nested") - } - const heads = state.handle.getHeads() - state.handle.applyChanges(changes) - state.heads = heads - return [ - progressDocument(doc, heads, opts.patchCallback || state.patchCallback), - ] -} - -/** @hidden */ -export function getHistory(doc: Doc): State[] { - const textV2 = _state(doc).textV2 - const history = getAllChanges(doc) - return history.map((change, index) => ({ - get change() { - return decodeChange(change) - }, - get snapshot() { - const [state] = applyChanges( - init({ enableTextV2: textV2 }), - history.slice(0, index + 1) - ) - return state - }, - })) -} - -/** @hidden */ -// FIXME : no tests -// FIXME can we just use deep equals now? -export function equals(val1: unknown, val2: unknown): boolean { - if (!isObject(val1) || !isObject(val2)) return val1 === val2 - const keys1 = Object.keys(val1).sort(), - keys2 = Object.keys(val2).sort() - if (keys1.length !== keys2.length) return false - for (let i = 0; i < keys1.length; i++) { - if (keys1[i] !== keys2[i]) return false - if (!equals(val1[keys1[i]], val2[keys2[i]])) return false - } - return true -} - -/** - * encode a {@link SyncState} into binary to send over the network - * - * @group sync - * */ -export function encodeSyncState(state: SyncState): Uint8Array { - const sync = ApiHandler.importSyncState(state) - const result = ApiHandler.encodeSyncState(sync) - sync.free() - return result -} - -/** - * Decode some binary data into a {@link SyncState} - * - * @group sync - */ -export function decodeSyncState(state: Uint8Array): SyncState { - const sync = ApiHandler.decodeSyncState(state) - const result = ApiHandler.exportSyncState(sync) - sync.free() - return result as SyncState -} - -/** - * Generate a sync message to send to the peer represented by `inState` - * @param doc - The doc to generate messages about - * @param inState - The {@link SyncState} representing the peer we are talking to - * - * @group sync - * - * @returns An array of `[newSyncState, syncMessage | null]` where - * `newSyncState` should replace `inState` and `syncMessage` should be sent to - * the peer if it is not null. If `syncMessage` is null then we are up to date. - */ -export function generateSyncMessage( - doc: Doc, - inState: SyncState -): [SyncState, SyncMessage | null] { - const state = _state(doc) - const syncState = ApiHandler.importSyncState(inState) - const message = state.handle.generateSyncMessage(syncState) - const outState = ApiHandler.exportSyncState(syncState) as SyncState - return [outState, message] -} - -/** - * Update a document and our sync state on receiving a sync message - * - * @group sync - * - * @param doc - The doc the sync message is about - * @param inState - The {@link SyncState} for the peer we are communicating with - * @param message - The message which was received - * @param opts - Any {@link ApplyOption}s, used for passing a - * {@link PatchCallback} which will be informed of any changes - * in `doc` which occur because of the received sync message. - * - * @returns An array of `[newDoc, newSyncState, syncMessage | null]` where - * `newDoc` is the updated state of `doc`, `newSyncState` should replace - * `inState` and `syncMessage` should be sent to the peer if it is not null. If - * `syncMessage` is null then we are up to date. - */ -export function receiveSyncMessage( - doc: Doc, - inState: SyncState, - message: SyncMessage, - opts?: ApplyOptions -): [Doc, SyncState, null] { - const syncState = ApiHandler.importSyncState(inState) - if (!opts) { - opts = {} - } - const state = _state(doc) - if (state.heads) { - throw new RangeError( - "Attempting to change an outdated document. Use Automerge.clone() if you wish to make a writable copy." - ) - } - if (_is_proxy(doc)) { - throw new RangeError("Calls to Automerge.change cannot be nested") - } - const heads = state.handle.getHeads() - state.handle.receiveSyncMessage(syncState, message) - const outSyncState = ApiHandler.exportSyncState(syncState) as SyncState - return [ - progressDocument(doc, heads, opts.patchCallback || state.patchCallback), - outSyncState, - null, - ] -} - -/** - * Create a new, blank {@link SyncState} - * - * When communicating with a peer for the first time use this to generate a new - * {@link SyncState} for them - * - * @group sync - */ -export function initSyncState(): SyncState { - return ApiHandler.exportSyncState(ApiHandler.initSyncState()) as SyncState -} - -/** @hidden */ -export function encodeChange(change: ChangeToEncode): Change { - return ApiHandler.encodeChange(change) -} - -/** @hidden */ -export function decodeChange(data: Change): DecodedChange { - return ApiHandler.decodeChange(data) -} - -/** @hidden */ -export function encodeSyncMessage(message: DecodedSyncMessage): SyncMessage { - return ApiHandler.encodeSyncMessage(message) -} - -/** @hidden */ -export function decodeSyncMessage(message: SyncMessage): DecodedSyncMessage { - return ApiHandler.decodeSyncMessage(message) -} - -/** - * Get any changes in `doc` which are not dependencies of `heads` - */ -export function getMissingDeps(doc: Doc, heads: Heads): Heads { - const state = _state(doc) - return state.handle.getMissingDeps(heads) -} - -/** - * Get the hashes of the heads of this document - */ -export function getHeads(doc: Doc): Heads { - const state = _state(doc) - return state.heads || state.handle.getHeads() -} - -/** @hidden */ -export function dump(doc: Doc) { - const state = _state(doc) - state.handle.dump() -} - -/** @hidden */ -export function toJS(doc: Doc): T { - const state = _state(doc) - const enabled = state.handle.enableFreeze(false) - const result = state.handle.materialize() - state.handle.enableFreeze(enabled) - return result as T -} - -export function isAutomerge(doc: unknown): boolean { - if (typeof doc == "object" && doc !== null) { - return getObjectId(doc) === "_root" && !!Reflect.get(doc, STATE) - } else { - return false - } -} - -function isObject(obj: unknown): obj is Record { - return typeof obj === "object" && obj !== null -} - -export type { - API, - SyncState, - ActorId, - Conflicts, - Prop, - Change, - ObjID, - DecodedChange, - DecodedSyncMessage, - Heads, - MaterializeValue, -} diff --git a/javascript/src/text.ts b/javascript/src/text.ts deleted file mode 100644 index b01bd7db..00000000 --- a/javascript/src/text.ts +++ /dev/null @@ -1,224 +0,0 @@ -import type { Value } from "@automerge/automerge-wasm" -import { TEXT, STATE } from "./constants" -import type { InternalState } from "./internal_state" - -export class Text { - //eslint-disable-next-line @typescript-eslint/no-explicit-any - elems: Array - str: string | undefined - //eslint-disable-next-line @typescript-eslint/no-explicit-any - spans: Array | undefined; - //eslint-disable-next-line @typescript-eslint/no-explicit-any - [STATE]?: InternalState - - constructor(text?: string | string[] | Value[]) { - if (typeof text === "string") { - this.elems = [...text] - } else if (Array.isArray(text)) { - this.elems = text - } else if (text === undefined) { - this.elems = [] - } else { - throw new TypeError(`Unsupported initial value for Text: ${text}`) - } - Reflect.defineProperty(this, TEXT, { value: true }) - } - - get length(): number { - return this.elems.length - } - - //eslint-disable-next-line @typescript-eslint/no-explicit-any - get(index: number): any { - return this.elems[index] - } - - /** - * Iterates over the text elements character by character, including any - * inline objects. - */ - [Symbol.iterator]() { - const elems = this.elems - let index = -1 - return { - next() { - index += 1 - if (index < elems.length) { - return { done: false, value: elems[index] } - } else { - return { done: true } - } - }, - } - } - - /** - * Returns the content of the Text object as a simple string, ignoring any - * non-character elements. - */ - toString(): string { - if (!this.str) { - // Concatting to a string is faster than creating an array and then - // .join()ing for small (<100KB) arrays. - // https://jsperf.com/join-vs-loop-w-type-test - this.str = "" - for (const elem of this.elems) { - if (typeof elem === "string") this.str += elem - else this.str += "\uFFFC" - } - } - return this.str - } - - /** - * Returns the content of the Text object as a sequence of strings, - * interleaved with non-character elements. - * - * For example, the value `['a', 'b', {x: 3}, 'c', 'd']` has spans: - * `=> ['ab', {x: 3}, 'cd']` - */ - toSpans(): Array { - if (!this.spans) { - this.spans = [] - let chars = "" - for (const elem of this.elems) { - if (typeof elem === "string") { - chars += elem - } else { - if (chars.length > 0) { - this.spans.push(chars) - chars = "" - } - this.spans.push(elem) - } - } - if (chars.length > 0) { - this.spans.push(chars) - } - } - return this.spans - } - - /** - * Returns the content of the Text object as a simple string, so that the - * JSON serialization of an Automerge document represents text nicely. - */ - toJSON(): string { - return this.toString() - } - - /** - * Updates the list item at position `index` to a new value `value`. - */ - set(index: number, value: Value) { - if (this[STATE]) { - throw new RangeError( - "object cannot be modified outside of a change block" - ) - } - this.elems[index] = value - } - - /** - * Inserts new list items `values` starting at position `index`. - */ - insertAt(index: number, ...values: Array) { - if (this[STATE]) { - throw new RangeError( - "object cannot be modified outside of a change block" - ) - } - this.elems.splice(index, 0, ...values) - } - - /** - * Deletes `numDelete` list items starting at position `index`. - * if `numDelete` is not given, one item is deleted. - */ - deleteAt(index: number, numDelete = 1) { - if (this[STATE]) { - throw new RangeError( - "object cannot be modified outside of a change block" - ) - } - this.elems.splice(index, numDelete) - } - - map(callback: (e: Value | object) => T) { - this.elems.map(callback) - } - - lastIndexOf(searchElement: Value, fromIndex?: number) { - this.elems.lastIndexOf(searchElement, fromIndex) - } - - concat(other: Text): Text { - return new Text(this.elems.concat(other.elems)) - } - - every(test: (v: Value) => boolean): boolean { - return this.elems.every(test) - } - - filter(test: (v: Value) => boolean): Text { - return new Text(this.elems.filter(test)) - } - - find(test: (v: Value) => boolean): Value | undefined { - return this.elems.find(test) - } - - findIndex(test: (v: Value) => boolean): number | undefined { - return this.elems.findIndex(test) - } - - forEach(f: (v: Value) => undefined) { - this.elems.forEach(f) - } - - includes(elem: Value): boolean { - return this.elems.includes(elem) - } - - indexOf(elem: Value) { - return this.elems.indexOf(elem) - } - - join(sep?: string): string { - return this.elems.join(sep) - } - - reduce( - f: ( - previousValue: Value, - currentValue: Value, - currentIndex: number, - array: Value[] - ) => Value - ) { - this.elems.reduce(f) - } - - reduceRight( - f: ( - previousValue: Value, - currentValue: Value, - currentIndex: number, - array: Value[] - ) => Value - ) { - this.elems.reduceRight(f) - } - - slice(start?: number, end?: number) { - new Text(this.elems.slice(start, end)) - } - - some(test: (arg: Value) => boolean): boolean { - return this.elems.some(test) - } - - toLocaleString() { - this.toString() - } -} diff --git a/javascript/src/types.ts b/javascript/src/types.ts deleted file mode 100644 index beb5cf70..00000000 --- a/javascript/src/types.ts +++ /dev/null @@ -1,46 +0,0 @@ -export { Text } from "./text" -import { Text } from "./text" -export { Counter } from "./counter" -export { Int, Uint, Float64 } from "./numbers" - -import { Counter } from "./counter" -import type { Patch } from "@automerge/automerge-wasm" -export type { Patch } from "@automerge/automerge-wasm" - -export type AutomergeValue = - | ScalarValue - | { [key: string]: AutomergeValue } - | Array - | Text -export type MapValue = { [key: string]: AutomergeValue } -export type ListValue = Array -export type ScalarValue = - | string - | number - | null - | boolean - | Date - | Counter - | Uint8Array - -/** - * An automerge document. - * @typeParam T - The type of the value contained in this document - * - * Note that this provides read only access to the fields of the value. To - * modify the value use {@link change} - */ -export type Doc = { readonly [P in keyof T]: T[P] } - -/** - * Callback which is called by various methods in this library to notify the - * user of what changes have been made. - * @param patch - A description of the changes made - * @param before - The document before the change was made - * @param after - The document after the change was made - */ -export type PatchCallback = ( - patches: Array, - before: Doc, - after: Doc -) => void diff --git a/javascript/src/unstable.ts b/javascript/src/unstable.ts deleted file mode 100644 index 7c73afb9..00000000 --- a/javascript/src/unstable.ts +++ /dev/null @@ -1,294 +0,0 @@ -/** - * # The unstable API - * - * This module contains new features we are working on which are either not yet - * ready for a stable release and/or which will result in backwards incompatible - * API changes. The API of this module may change in arbitrary ways between - * point releases - we will always document what these changes are in the - * [CHANGELOG](#changelog) below, but only depend on this module if you are prepared to deal - * with frequent changes. - * - * ## Differences from stable - * - * In the stable API text objects are represented using the {@link Text} class. - * This means you must decide up front whether your string data might need - * concurrent merges in the future and if you change your mind you have to - * figure out how to migrate your data. In the unstable API the `Text` class is - * gone and all `string`s are represented using the text CRDT, allowing for - * concurrent changes. Modifying a string is done using the {@link splice} - * function. You can still access the old behaviour of strings which do not - * support merging behaviour via the {@link RawString} class. - * - * This leads to the following differences from `stable`: - * - * * There is no `unstable.Text` class, all strings are text objects - * * Reading strings in an `unstable` document is the same as reading any other - * javascript string - * * To modify strings in an `unstable` document use {@link splice} - * * The {@link AutomergeValue} type does not include the {@link Text} - * class but the {@link RawString} class is included in the {@link ScalarValue} - * type - * - * ## CHANGELOG - * * Introduce this module to expose the new API which has no `Text` class - * - * - * @module - */ - -export { - Counter, - type Doc, - Int, - Uint, - Float64, - type Patch, - type PatchCallback, - type AutomergeValue, - type ScalarValue, -} from "./unstable_types" - -import type { PatchCallback } from "./stable" - -import { type UnstableConflicts as Conflicts } from "./conflicts" -import { unstableConflictAt } from "./conflicts" - -export type { - PutPatch, - DelPatch, - SpliceTextPatch, - InsertPatch, - IncPatch, - SyncMessage, -} from "@automerge/automerge-wasm" - -export type { ChangeOptions, ApplyOptions, ChangeFn } from "./stable" -export { - view, - free, - getHeads, - change, - emptyChange, - loadIncremental, - save, - merge, - getActorId, - getLastLocalChange, - getChanges, - getAllChanges, - applyChanges, - getHistory, - equals, - encodeSyncState, - decodeSyncState, - generateSyncMessage, - receiveSyncMessage, - initSyncState, - encodeChange, - decodeChange, - encodeSyncMessage, - decodeSyncMessage, - getMissingDeps, - dump, - toJS, - isAutomerge, - getObjectId, -} from "./stable" - -export type InitOptions = { - /** The actor ID to use for this document, a random one will be generated if `null` is passed */ - actor?: ActorId - freeze?: boolean - /** A callback which will be called with the initial patch once the document has finished loading */ - patchCallback?: PatchCallback -} - -import { ActorId, Doc } from "./stable" -import * as stable from "./stable" -export { RawString } from "./raw_string" - -/** @hidden */ -export const getBackend = stable.getBackend - -import { _is_proxy, _state, _obj } from "./internal_state" - -/** - * Create a new automerge document - * - * @typeParam T - The type of value contained in the document. This will be the - * type that is passed to the change closure in {@link change} - * @param _opts - Either an actorId or an {@link InitOptions} (which may - * contain an actorId). If this is null the document will be initialised with a - * random actor ID - */ -export function init(_opts?: ActorId | InitOptions): Doc { - const opts = importOpts(_opts) - opts.enableTextV2 = true - return stable.init(opts) -} - -/** - * Make a full writable copy of an automerge document - * - * @remarks - * Unlike {@link view} this function makes a full copy of the memory backing - * the document and can thus be passed to {@link change}. It also generates a - * new actor ID so that changes made in the new document do not create duplicate - * sequence numbers with respect to the old document. If you need control over - * the actor ID which is generated you can pass the actor ID as the second - * argument - * - * @typeParam T - The type of the value contained in the document - * @param doc - The document to clone - * @param _opts - Either an actor ID to use for the new doc or an {@link InitOptions} - */ -export function clone( - doc: Doc, - _opts?: ActorId | InitOptions -): Doc { - const opts = importOpts(_opts) - opts.enableTextV2 = true - return stable.clone(doc, opts) -} - -/** - * Create an automerge document from a POJO - * - * @param initialState - The initial state which will be copied into the document - * @typeParam T - The type of the value passed to `from` _and_ the type the resulting document will contain - * @typeParam actor - The actor ID of the resulting document, if this is null a random actor ID will be used - * - * @example - * ``` - * const doc = automerge.from({ - * tasks: [ - * {description: "feed dogs", done: false} - * ] - * }) - * ``` - */ -export function from>( - initialState: T | Doc, - _opts?: ActorId | InitOptions -): Doc { - const opts = importOpts(_opts) - opts.enableTextV2 = true - return stable.from(initialState, opts) -} - -/** - * Load an automerge document from a compressed document produce by {@link save} - * - * @typeParam T - The type of the value which is contained in the document. - * Note that no validation is done to make sure this type is in - * fact the type of the contained value so be a bit careful - * @param data - The compressed document - * @param _opts - Either an actor ID or some {@link InitOptions}, if the actor - * ID is null a random actor ID will be created - * - * Note that `load` will throw an error if passed incomplete content (for - * example if you are receiving content over the network and don't know if you - * have the complete document yet). If you need to handle incomplete content use - * {@link init} followed by {@link loadIncremental}. - */ -export function load( - data: Uint8Array, - _opts?: ActorId | InitOptions -): Doc { - const opts = importOpts(_opts) - opts.enableTextV2 = true - return stable.load(data, opts) -} - -function importOpts( - _actor?: ActorId | InitOptions -): stable.InitOptions { - if (typeof _actor === "object") { - return _actor - } else { - return { actor: _actor } - } -} - -export function splice( - doc: Doc, - prop: stable.Prop, - index: number, - del: number, - newText?: string -) { - if (!_is_proxy(doc)) { - throw new RangeError("object cannot be modified outside of a change block") - } - const state = _state(doc, false) - const objectId = _obj(doc) - if (!objectId) { - throw new RangeError("invalid object for splice") - } - const value = `${objectId}/${prop}` - try { - return state.handle.splice(value, index, del, newText) - } catch (e) { - throw new RangeError(`Cannot splice: ${e}`) - } -} - -/** - * Get the conflicts associated with a property - * - * The values of properties in a map in automerge can be conflicted if there - * are concurrent "put" operations to the same key. Automerge chooses one value - * arbitrarily (but deterministically, any two nodes who have the same set of - * changes will choose the same value) from the set of conflicting values to - * present as the value of the key. - * - * Sometimes you may want to examine these conflicts, in this case you can use - * {@link getConflicts} to get the conflicts for the key. - * - * @example - * ``` - * import * as automerge from "@automerge/automerge" - * - * type Profile = { - * pets: Array<{name: string, type: string}> - * } - * - * let doc1 = automerge.init("aaaa") - * doc1 = automerge.change(doc1, d => { - * d.pets = [{name: "Lassie", type: "dog"}] - * }) - * let doc2 = automerge.init("bbbb") - * doc2 = automerge.merge(doc2, automerge.clone(doc1)) - * - * doc2 = automerge.change(doc2, d => { - * d.pets[0].name = "Beethoven" - * }) - * - * doc1 = automerge.change(doc1, d => { - * d.pets[0].name = "Babe" - * }) - * - * const doc3 = automerge.merge(doc1, doc2) - * - * // Note that here we pass `doc3.pets`, not `doc3` - * let conflicts = automerge.getConflicts(doc3.pets[0], "name") - * - * // The two conflicting values are the keys of the conflicts object - * assert.deepEqual(Object.values(conflicts), ["Babe", Beethoven"]) - * ``` - */ -export function getConflicts( - doc: Doc, - prop: stable.Prop -): Conflicts | undefined { - const state = _state(doc, false) - if (!state.textV2) { - throw new Error("use getConflicts for a stable document") - } - const objectId = _obj(doc) - if (objectId != null) { - return unstableConflictAt(state.handle, objectId, prop) - } else { - return undefined - } -} diff --git a/javascript/src/unstable_types.ts b/javascript/src/unstable_types.ts deleted file mode 100644 index 071e2cc4..00000000 --- a/javascript/src/unstable_types.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Counter } from "./types" - -export { - Counter, - type Doc, - Int, - Uint, - Float64, - type Patch, - type PatchCallback, -} from "./types" - -import { RawString } from "./raw_string" -export { RawString } from "./raw_string" - -export type AutomergeValue = - | ScalarValue - | { [key: string]: AutomergeValue } - | Array -export type MapValue = { [key: string]: AutomergeValue } -export type ListValue = Array -export type ScalarValue = - | string - | number - | null - | boolean - | Date - | Counter - | Uint8Array - | RawString diff --git a/javascript/src/uuid.deno.ts b/javascript/src/uuid.deno.ts deleted file mode 100644 index 04c9b93d..00000000 --- a/javascript/src/uuid.deno.ts +++ /dev/null @@ -1,26 +0,0 @@ -import * as v4 from "https://deno.land/x/uuid@v0.1.2/mod.ts" - -// this file is a deno only port of the uuid module - -function defaultFactory() { - return v4.uuid().replace(/-/g, "") -} - -let factory = defaultFactory - -interface UUIDFactory extends Function { - setFactory(f: typeof factory): void - reset(): void -} - -export const uuid: UUIDFactory = () => { - return factory() -} - -uuid.setFactory = newFactory => { - factory = newFactory -} - -uuid.reset = () => { - factory = defaultFactory -} diff --git a/javascript/src/uuid.ts b/javascript/src/uuid.ts deleted file mode 100644 index 421ddf9d..00000000 --- a/javascript/src/uuid.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { v4 } from "uuid" - -function defaultFactory() { - return v4().replace(/-/g, "") -} - -let factory = defaultFactory - -interface UUIDFactory extends Function { - setFactory(f: typeof factory): void - reset(): void -} - -export const uuid: UUIDFactory = () => { - return factory() -} - -uuid.setFactory = newFactory => { - factory = newFactory -} - -uuid.reset = () => { - factory = defaultFactory -} diff --git a/javascript/test/basic_test.ts b/javascript/test/basic_test.ts deleted file mode 100644 index e34484c4..00000000 --- a/javascript/test/basic_test.ts +++ /dev/null @@ -1,488 +0,0 @@ -import * as assert from "assert" -import { unstable as Automerge } from "../src" -import * as WASM from "@automerge/automerge-wasm" - -describe("Automerge", () => { - describe("basics", () => { - it("should init clone and free", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.clone(doc1) - - // this is only needed if weakrefs are not supported - Automerge.free(doc1) - Automerge.free(doc2) - }) - - it("should be able to make a view with specifc heads", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => (d.value = 1)) - let heads2 = Automerge.getHeads(doc2) - let doc3 = Automerge.change(doc2, d => (d.value = 2)) - let doc2_v2 = Automerge.view(doc3, heads2) - assert.deepEqual(doc2, doc2_v2) - let doc2_v2_clone = Automerge.clone(doc2, "aabbcc") - assert.deepEqual(doc2, doc2_v2_clone) - assert.equal(Automerge.getActorId(doc2_v2_clone), "aabbcc") - }) - - it("should allow you to change a clone of a view", () => { - let doc1 = Automerge.init() - doc1 = Automerge.change(doc1, d => (d.key = "value")) - let heads = Automerge.getHeads(doc1) - doc1 = Automerge.change(doc1, d => (d.key = "value2")) - let fork = Automerge.clone(Automerge.view(doc1, heads)) - assert.deepEqual(fork, { key: "value" }) - fork = Automerge.change(fork, d => (d.key = "value3")) - assert.deepEqual(fork, { key: "value3" }) - }) - - it("handle basic set and read on root object", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => { - d.hello = "world" - d.big = "little" - d.zip = "zop" - d.app = "dap" - assert.deepEqual(d, { - hello: "world", - big: "little", - zip: "zop", - app: "dap", - }) - }) - assert.deepEqual(doc2, { - hello: "world", - big: "little", - zip: "zop", - app: "dap", - }) - }) - - it("should be able to insert and delete a large number of properties", () => { - let doc = Automerge.init() - - doc = Automerge.change(doc, doc => { - doc["k1"] = true - }) - - for (let idx = 1; idx <= 200; idx++) { - doc = Automerge.change(doc, doc => { - delete doc["k" + idx] - doc["k" + (idx + 1)] = true - assert(Object.keys(doc).length == 1) - }) - } - }) - - it("can detect an automerge doc with isAutomerge()", () => { - const doc1 = Automerge.from({ sub: { object: true } }) - assert(Automerge.isAutomerge(doc1)) - assert(!Automerge.isAutomerge(doc1.sub)) - assert(!Automerge.isAutomerge("String")) - assert(!Automerge.isAutomerge({ sub: { object: true } })) - assert(!Automerge.isAutomerge(undefined)) - const jsObj = Automerge.toJS(doc1) - assert(!Automerge.isAutomerge(jsObj)) - assert.deepEqual(jsObj, doc1) - }) - - it("it should recursively freeze the document if requested", () => { - let doc1 = Automerge.init({ freeze: true }) - let doc2 = Automerge.init() - - assert(Object.isFrozen(doc1)) - assert(!Object.isFrozen(doc2)) - - // will also freeze sub objects - doc1 = Automerge.change( - doc1, - doc => (doc.book = { title: "how to win friends" }) - ) - doc2 = Automerge.merge(doc2, doc1) - assert(Object.isFrozen(doc1)) - assert(Object.isFrozen(doc1.book)) - assert(!Object.isFrozen(doc2)) - assert(!Object.isFrozen(doc2.book)) - - // works on from - let doc3 = Automerge.from({ sub: { obj: "inner" } }, { freeze: true }) - assert(Object.isFrozen(doc3)) - assert(Object.isFrozen(doc3.sub)) - - // works on load - let doc4 = Automerge.load(Automerge.save(doc3), { freeze: true }) - assert(Object.isFrozen(doc4)) - assert(Object.isFrozen(doc4.sub)) - - // follows clone - let doc5 = Automerge.clone(doc4) - assert(Object.isFrozen(doc5)) - assert(Object.isFrozen(doc5.sub)) - - // toJS does not freeze - let exported = Automerge.toJS(doc5) - assert(!Object.isFrozen(exported)) - }) - - it("handle basic sets over many changes", () => { - let doc1 = Automerge.init() - let timestamp = new Date() - let counter = new Automerge.Counter(100) - let bytes = new Uint8Array([10, 11, 12]) - let doc2 = Automerge.change(doc1, d => { - d.hello = "world" - }) - let doc3 = Automerge.change(doc2, d => { - d.counter1 = counter - }) - let doc4 = Automerge.change(doc3, d => { - d.timestamp1 = timestamp - }) - let doc5 = Automerge.change(doc4, d => { - d.app = null - }) - let doc6 = Automerge.change(doc5, d => { - d.bytes1 = bytes - }) - let doc7 = Automerge.change(doc6, d => { - d.uint = new Automerge.Uint(1) - d.int = new Automerge.Int(-1) - d.float64 = new Automerge.Float64(5.5) - d.number1 = 100 - d.number2 = -45.67 - d.true = true - d.false = false - }) - - assert.deepEqual(doc7, { - hello: "world", - true: true, - false: false, - int: -1, - uint: 1, - float64: 5.5, - number1: 100, - number2: -45.67, - counter1: counter, - timestamp1: timestamp, - bytes1: bytes, - app: null, - }) - - let changes = Automerge.getAllChanges(doc7) - let t1 = Automerge.init() - let [t2] = Automerge.applyChanges(t1, changes) - assert.deepEqual(doc7, t2) - }) - - it("handle overwrites to values", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => { - d.hello = "world1" - }) - let doc3 = Automerge.change(doc2, d => { - d.hello = "world2" - }) - let doc4 = Automerge.change(doc3, d => { - d.hello = "world3" - }) - let doc5 = Automerge.change(doc4, d => { - d.hello = "world4" - }) - assert.deepEqual(doc5, { hello: "world4" }) - }) - - it("handle set with object value", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => { - d.subobj = { hello: "world", subsubobj: { zip: "zop" } } - }) - assert.deepEqual(doc2, { - subobj: { hello: "world", subsubobj: { zip: "zop" } }, - }) - }) - - it("handle simple list creation", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => (d.list = [])) - assert.deepEqual(doc2, { list: [] }) - }) - - it("handle simple lists", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => { - d.list = [1, 2, 3] - }) - assert.deepEqual(doc2.list.length, 3) - assert.deepEqual(doc2.list[0], 1) - assert.deepEqual(doc2.list[1], 2) - assert.deepEqual(doc2.list[2], 3) - assert.deepEqual(doc2, { list: [1, 2, 3] }) - // assert.deepStrictEqual(Automerge.toJS(doc2), { list: [1,2,3] }) - - let doc3 = Automerge.change(doc2, d => { - d.list[1] = "a" - }) - - assert.deepEqual(doc3.list.length, 3) - assert.deepEqual(doc3.list[0], 1) - assert.deepEqual(doc3.list[1], "a") - assert.deepEqual(doc3.list[2], 3) - assert.deepEqual(doc3, { list: [1, "a", 3] }) - }) - it("handle simple lists", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => { - d.list = [1, 2, 3] - }) - let changes = Automerge.getChanges(doc1, doc2) - let docB1 = Automerge.init() - let [docB2] = Automerge.applyChanges(docB1, changes) - assert.deepEqual(docB2, doc2) - }) - it("handle text", () => { - let doc1 = Automerge.init() - let doc2 = Automerge.change(doc1, d => { - d.list = "hello" - Automerge.splice(d, "list", 2, 0, "Z") - }) - let changes = Automerge.getChanges(doc1, doc2) - let docB1 = Automerge.init() - let [docB2] = Automerge.applyChanges(docB1, changes) - assert.deepEqual(docB2, doc2) - }) - - it("handle non-text strings", () => { - let doc1 = WASM.create(true) - doc1.put("_root", "text", "hello world") - let doc2 = Automerge.load(doc1.save()) - assert.throws(() => { - Automerge.change(doc2, d => { - Automerge.splice(d, "text", 1, 0, "Z") - }) - }, /Cannot splice/) - }) - - it("have many list methods", () => { - let doc1 = Automerge.from({ list: [1, 2, 3] }) - assert.deepEqual(doc1, { list: [1, 2, 3] }) - let doc2 = Automerge.change(doc1, d => { - d.list.splice(1, 1, 9, 10) - }) - assert.deepEqual(doc2, { list: [1, 9, 10, 3] }) - let doc3 = Automerge.change(doc2, d => { - d.list.push(11, 12) - }) - assert.deepEqual(doc3, { list: [1, 9, 10, 3, 11, 12] }) - let doc4 = Automerge.change(doc3, d => { - d.list.unshift(2, 2) - }) - assert.deepEqual(doc4, { list: [2, 2, 1, 9, 10, 3, 11, 12] }) - let doc5 = Automerge.change(doc4, d => { - d.list.shift() - }) - assert.deepEqual(doc5, { list: [2, 1, 9, 10, 3, 11, 12] }) - let doc6 = Automerge.change(doc5, d => { - d.list.insertAt(3, 100, 101) - }) - assert.deepEqual(doc6, { list: [2, 1, 9, 100, 101, 10, 3, 11, 12] }) - }) - - it("allows access to the backend", () => { - let doc = Automerge.init() - assert.deepEqual(Object.keys(Automerge.getBackend(doc)), ["ptr"]) - }) - - it("lists and text have indexof", () => { - let doc = Automerge.from({ - list: [0, 1, 2, 3, 4, 5, 6], - text: "hello world", - }) - assert.deepEqual(doc.list.indexOf(5), 5) - assert.deepEqual(doc.text.indexOf("world"), 6) - }) - }) - - describe("emptyChange", () => { - it("should generate a hash", () => { - let doc = Automerge.init() - doc = Automerge.change(doc, d => { - d.key = "value" - }) - Automerge.save(doc) - let headsBefore = Automerge.getHeads(doc) - headsBefore.sort() - doc = Automerge.emptyChange(doc, "empty change") - let headsAfter = Automerge.getHeads(doc) - headsAfter.sort() - assert.notDeepEqual(headsBefore, headsAfter) - }) - }) - - describe("proxy lists", () => { - it("behave like arrays", () => { - let doc = Automerge.from({ - chars: ["a", "b", "c"], - numbers: [20, 3, 100], - repeats: [20, 20, 3, 3, 3, 3, 100, 100], - }) - let r1: Array = [] - doc = Automerge.change(doc, d => { - assert.deepEqual((d.chars as any[]).concat([1, 2]), [ - "a", - "b", - "c", - 1, - 2, - ]) - assert.deepEqual( - d.chars.map(n => n + "!"), - ["a!", "b!", "c!"] - ) - assert.deepEqual( - d.numbers.map(n => n + 10), - [30, 13, 110] - ) - assert.deepEqual(d.numbers.toString(), "20,3,100") - assert.deepEqual(d.numbers.toLocaleString(), "20,3,100") - assert.deepEqual( - d.numbers.forEach((n: number) => r1.push(n)), - undefined - ) - assert.deepEqual( - d.numbers.every(n => n > 1), - true - ) - assert.deepEqual( - d.numbers.every(n => n > 10), - false - ) - assert.deepEqual( - d.numbers.filter(n => n > 10), - [20, 100] - ) - assert.deepEqual( - d.repeats.find(n => n < 10), - 3 - ) - assert.deepEqual( - d.repeats.find(n => n < 10), - 3 - ) - assert.deepEqual( - d.repeats.find(n => n < 0), - undefined - ) - assert.deepEqual( - d.repeats.findIndex(n => n < 10), - 2 - ) - assert.deepEqual( - d.repeats.findIndex(n => n < 0), - -1 - ) - assert.deepEqual( - d.repeats.findIndex(n => n < 10), - 2 - ) - assert.deepEqual( - d.repeats.findIndex(n => n < 0), - -1 - ) - assert.deepEqual(d.numbers.includes(3), true) - assert.deepEqual(d.numbers.includes(-3), false) - assert.deepEqual(d.numbers.join("|"), "20|3|100") - assert.deepEqual(d.numbers.join(), "20,3,100") - assert.deepEqual( - d.numbers.some(f => f === 3), - true - ) - assert.deepEqual( - d.numbers.some(f => f < 0), - false - ) - assert.deepEqual( - d.numbers.reduce((sum, n) => sum + n, 100), - 223 - ) - assert.deepEqual( - d.repeats.reduce((sum, n) => sum + n, 100), - 352 - ) - assert.deepEqual( - d.chars.reduce((sum, n) => sum + n, "="), - "=abc" - ) - assert.deepEqual( - d.chars.reduceRight((sum, n) => sum + n, "="), - "=cba" - ) - assert.deepEqual( - d.numbers.reduceRight((sum, n) => sum + n, 100), - 223 - ) - assert.deepEqual(d.repeats.lastIndexOf(3), 5) - assert.deepEqual(d.repeats.lastIndexOf(3, 3), 3) - }) - doc = Automerge.change(doc, d => { - assert.deepEqual(d.numbers.fill(-1, 1, 2), [20, -1, 100]) - assert.deepEqual(d.chars.fill("z", 1, 100), ["a", "z", "z"]) - }) - assert.deepEqual(r1, [20, 3, 100]) - assert.deepEqual(doc.numbers, [20, -1, 100]) - assert.deepEqual(doc.chars, ["a", "z", "z"]) - }) - }) - - it("should obtain the same conflicts, regardless of merge order", () => { - let s1 = Automerge.init() - let s2 = Automerge.init() - s1 = Automerge.change(s1, doc => { - doc.x = 1 - doc.y = 2 - }) - s2 = Automerge.change(s2, doc => { - doc.x = 3 - doc.y = 4 - }) - const m1 = Automerge.merge(Automerge.clone(s1), Automerge.clone(s2)) - const m2 = Automerge.merge(Automerge.clone(s2), Automerge.clone(s1)) - assert.deepStrictEqual( - Automerge.getConflicts(m1, "x"), - Automerge.getConflicts(m2, "x") - ) - }) - - describe("getObjectId", () => { - let s1 = Automerge.from({ - string: "string", - number: 1, - null: null, - date: new Date(), - counter: new Automerge.Counter(), - bytes: new Uint8Array(10), - text: "", - list: [], - map: {}, - }) - - it("should return null for scalar values", () => { - assert.equal(Automerge.getObjectId(s1.string), null) - assert.equal(Automerge.getObjectId(s1.number), null) - assert.equal(Automerge.getObjectId(s1.null!), null) - assert.equal(Automerge.getObjectId(s1.date), null) - assert.equal(Automerge.getObjectId(s1.counter), null) - assert.equal(Automerge.getObjectId(s1.bytes), null) - }) - - it("should return _root for the root object", () => { - assert.equal(Automerge.getObjectId(s1), "_root") - }) - - it("should return non-null for map, list, text, and objects", () => { - assert.equal(Automerge.getObjectId(s1.text), null) - assert.notEqual(Automerge.getObjectId(s1.list), null) - assert.notEqual(Automerge.getObjectId(s1.map), null) - }) - }) -}) diff --git a/javascript/test/extra_api_tests.ts b/javascript/test/extra_api_tests.ts deleted file mode 100644 index 84fa4c39..00000000 --- a/javascript/test/extra_api_tests.ts +++ /dev/null @@ -1,28 +0,0 @@ -import * as assert from "assert" -import { unstable as Automerge } from "../src" - -describe("Automerge", () => { - describe("basics", () => { - it("should allow you to load incrementally", () => { - let doc1 = Automerge.from({ foo: "bar" }) - let doc2 = Automerge.init() - doc2 = Automerge.loadIncremental(doc2, Automerge.save(doc1)) - doc1 = Automerge.change(doc1, d => (d.foo2 = "bar2")) - doc2 = Automerge.loadIncremental( - doc2, - Automerge.getBackend(doc1).saveIncremental() - ) - doc1 = Automerge.change(doc1, d => (d.foo = "bar2")) - doc2 = Automerge.loadIncremental( - doc2, - Automerge.getBackend(doc1).saveIncremental() - ) - doc1 = Automerge.change(doc1, d => (d.x = "y")) - doc2 = Automerge.loadIncremental( - doc2, - Automerge.getBackend(doc1).saveIncremental() - ) - assert.deepEqual(doc1, doc2) - }) - }) -}) diff --git a/javascript/test/helpers.ts b/javascript/test/helpers.ts deleted file mode 100644 index df76e558..00000000 --- a/javascript/test/helpers.ts +++ /dev/null @@ -1,36 +0,0 @@ -import * as assert from "assert" -import { Encoder } from "./legacy/encoding" - -// Assertion that succeeds if the first argument deepStrictEquals at least one of the -// subsequent arguments (but we don't care which one) -export function assertEqualsOneOf(actual, ...expected) { - assert(expected.length > 0) - for (let i = 0; i < expected.length; i++) { - try { - assert.deepStrictEqual(actual, expected[i]) - return // if we get here without an exception, that means success - } catch (e) { - if (e instanceof assert.AssertionError) { - if (!e.name.match(/^AssertionError/) || i === expected.length - 1) - throw e - } else { - throw e - } - } - } -} - -/** - * Asserts that the byte array maintained by `encoder` contains the same byte - * sequence as the array `bytes`. - */ -export function checkEncoded(encoder, bytes, detail?) { - const encoded = encoder instanceof Encoder ? encoder.buffer : encoder - const expected = new Uint8Array(bytes) - const message = - (detail ? `${detail}: ` : "") + `${encoded} expected to equal ${expected}` - assert(encoded.byteLength === expected.byteLength, message) - for (let i = 0; i < encoded.byteLength; i++) { - assert(encoded[i] === expected[i], message) - } -} diff --git a/javascript/test/legacy/columnar.js b/javascript/test/legacy/columnar.js deleted file mode 100644 index 6a9b5874..00000000 --- a/javascript/test/legacy/columnar.js +++ /dev/null @@ -1,1315 +0,0 @@ -const pako = require("pako") -const { copyObject, parseOpId, equalBytes } = require("./common") -const { - utf8ToString, - hexStringToBytes, - bytesToHexString, - Encoder, - Decoder, - RLEEncoder, - RLEDecoder, - DeltaEncoder, - DeltaDecoder, - BooleanEncoder, - BooleanDecoder, -} = require("./encoding") - -// Maybe we should be using the platform's built-in hash implementation? -// Node has the crypto module: https://nodejs.org/api/crypto.html and browsers have -// https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest -// However, the WebCrypto API is asynchronous (returns promises), which would -// force all our APIs to become asynchronous as well, which would be annoying. -// -// I think on balance, it's safe enough to use a random library off npm: -// - We only need one hash function (not a full suite of crypto algorithms); -// - SHA256 is quite simple and has fairly few opportunities for subtle bugs -// (compared to asymmetric cryptography anyway); -// - It does not need a secure source of random bits and does not need to be -// constant-time; -// - I have reviewed the source code and it seems pretty reasonable. -const { Hash } = require("fast-sha256") - -// These bytes don't mean anything, they were generated randomly -const MAGIC_BYTES = new Uint8Array([0x85, 0x6f, 0x4a, 0x83]) - -const CHUNK_TYPE_DOCUMENT = 0 -const CHUNK_TYPE_CHANGE = 1 -const CHUNK_TYPE_DEFLATE = 2 // like CHUNK_TYPE_CHANGE but with DEFLATE compression - -// Minimum number of bytes in a value before we enable DEFLATE compression (there is no point -// compressing very short values since compression may actually make them bigger) -const DEFLATE_MIN_SIZE = 256 - -// The least-significant 3 bits of a columnId indicate its datatype -const COLUMN_TYPE = { - GROUP_CARD: 0, - ACTOR_ID: 1, - INT_RLE: 2, - INT_DELTA: 3, - BOOLEAN: 4, - STRING_RLE: 5, - VALUE_LEN: 6, - VALUE_RAW: 7, -} - -// The 4th-least-significant bit of a columnId is set if the column is DEFLATE-compressed -const COLUMN_TYPE_DEFLATE = 8 - -// In the values in a column of type VALUE_LEN, the bottom four bits indicate the type of the value, -// one of the following types in VALUE_TYPE. The higher bits indicate the length of the value in the -// associated VALUE_RAW column (in bytes). -const VALUE_TYPE = { - NULL: 0, - FALSE: 1, - TRUE: 2, - LEB128_UINT: 3, - LEB128_INT: 4, - IEEE754: 5, - UTF8: 6, - BYTES: 7, - COUNTER: 8, - TIMESTAMP: 9, - MIN_UNKNOWN: 10, - MAX_UNKNOWN: 15, -} - -// make* actions must be at even-numbered indexes in this list -const ACTIONS = [ - "makeMap", - "set", - "makeList", - "del", - "makeText", - "inc", - "makeTable", - "link", -] - -const OBJECT_TYPE = { - makeMap: "map", - makeList: "list", - makeText: "text", - makeTable: "table", -} - -const COMMON_COLUMNS = [ - { columnName: "objActor", columnId: (0 << 4) | COLUMN_TYPE.ACTOR_ID }, - { columnName: "objCtr", columnId: (0 << 4) | COLUMN_TYPE.INT_RLE }, - { columnName: "keyActor", columnId: (1 << 4) | COLUMN_TYPE.ACTOR_ID }, - { columnName: "keyCtr", columnId: (1 << 4) | COLUMN_TYPE.INT_DELTA }, - { columnName: "keyStr", columnId: (1 << 4) | COLUMN_TYPE.STRING_RLE }, - { columnName: "idActor", columnId: (2 << 4) | COLUMN_TYPE.ACTOR_ID }, - { columnName: "idCtr", columnId: (2 << 4) | COLUMN_TYPE.INT_DELTA }, - { columnName: "insert", columnId: (3 << 4) | COLUMN_TYPE.BOOLEAN }, - { columnName: "action", columnId: (4 << 4) | COLUMN_TYPE.INT_RLE }, - { columnName: "valLen", columnId: (5 << 4) | COLUMN_TYPE.VALUE_LEN }, - { columnName: "valRaw", columnId: (5 << 4) | COLUMN_TYPE.VALUE_RAW }, - { columnName: "chldActor", columnId: (6 << 4) | COLUMN_TYPE.ACTOR_ID }, - { columnName: "chldCtr", columnId: (6 << 4) | COLUMN_TYPE.INT_DELTA }, -] - -const CHANGE_COLUMNS = COMMON_COLUMNS.concat([ - { columnName: "predNum", columnId: (7 << 4) | COLUMN_TYPE.GROUP_CARD }, - { columnName: "predActor", columnId: (7 << 4) | COLUMN_TYPE.ACTOR_ID }, - { columnName: "predCtr", columnId: (7 << 4) | COLUMN_TYPE.INT_DELTA }, -]) - -const DOC_OPS_COLUMNS = COMMON_COLUMNS.concat([ - { columnName: "succNum", columnId: (8 << 4) | COLUMN_TYPE.GROUP_CARD }, - { columnName: "succActor", columnId: (8 << 4) | COLUMN_TYPE.ACTOR_ID }, - { columnName: "succCtr", columnId: (8 << 4) | COLUMN_TYPE.INT_DELTA }, -]) - -const DOCUMENT_COLUMNS = [ - { columnName: "actor", columnId: (0 << 4) | COLUMN_TYPE.ACTOR_ID }, - { columnName: "seq", columnId: (0 << 4) | COLUMN_TYPE.INT_DELTA }, - { columnName: "maxOp", columnId: (1 << 4) | COLUMN_TYPE.INT_DELTA }, - { columnName: "time", columnId: (2 << 4) | COLUMN_TYPE.INT_DELTA }, - { columnName: "message", columnId: (3 << 4) | COLUMN_TYPE.STRING_RLE }, - { columnName: "depsNum", columnId: (4 << 4) | COLUMN_TYPE.GROUP_CARD }, - { columnName: "depsIndex", columnId: (4 << 4) | COLUMN_TYPE.INT_DELTA }, - { columnName: "extraLen", columnId: (5 << 4) | COLUMN_TYPE.VALUE_LEN }, - { columnName: "extraRaw", columnId: (5 << 4) | COLUMN_TYPE.VALUE_RAW }, -] - -/** - * Maps an opId of the form {counter: 12345, actorId: 'someActorId'} to the form - * {counter: 12345, actorNum: 123, actorId: 'someActorId'}, where the actorNum - * is the index into the `actorIds` array. - */ -function actorIdToActorNum(opId, actorIds) { - if (!opId || !opId.actorId) return opId - const counter = opId.counter - const actorNum = actorIds.indexOf(opId.actorId) - if (actorNum < 0) throw new RangeError("missing actorId") // should not happen - return { counter, actorNum, actorId: opId.actorId } -} - -/** - * Comparison function to pass to Array.sort(), which compares two opIds in the - * form produced by `actorIdToActorNum` so that they are sorted in increasing - * Lamport timestamp order (sorted first by counter, then by actorId). - */ -function compareParsedOpIds(id1, id2) { - if (id1.counter < id2.counter) return -1 - if (id1.counter > id2.counter) return +1 - if (id1.actorId < id2.actorId) return -1 - if (id1.actorId > id2.actorId) return +1 - return 0 -} - -/** - * Takes `changes`, an array of changes (represented as JS objects). Returns an - * object `{changes, actorIds}`, where `changes` is a copy of the argument in - * which all string opIds have been replaced with `{counter, actorNum}` objects, - * and where `actorIds` is a lexicographically sorted array of actor IDs occurring - * in any of the operations. `actorNum` is an index into that array of actorIds. - * If `single` is true, the actorId of the author of the change is moved to the - * beginning of the array of actorIds, so that `actorNum` is zero when referencing - * the author of the change itself. This special-casing is omitted if `single` is - * false. - */ -function parseAllOpIds(changes, single) { - const actors = {}, - newChanges = [] - for (let change of changes) { - change = copyObject(change) - actors[change.actor] = true - change.ops = expandMultiOps(change.ops, change.startOp, change.actor) - change.ops = change.ops.map(op => { - op = copyObject(op) - if (op.obj !== "_root") op.obj = parseOpId(op.obj) - if (op.elemId && op.elemId !== "_head") op.elemId = parseOpId(op.elemId) - if (op.child) op.child = parseOpId(op.child) - if (op.pred) op.pred = op.pred.map(parseOpId) - if (op.obj.actorId) actors[op.obj.actorId] = true - if (op.elemId && op.elemId.actorId) actors[op.elemId.actorId] = true - if (op.child && op.child.actorId) actors[op.child.actorId] = true - for (let pred of op.pred) actors[pred.actorId] = true - return op - }) - newChanges.push(change) - } - - let actorIds = Object.keys(actors).sort() - if (single) { - actorIds = [changes[0].actor].concat( - actorIds.filter(actor => actor !== changes[0].actor) - ) - } - for (let change of newChanges) { - change.actorNum = actorIds.indexOf(change.actor) - for (let i = 0; i < change.ops.length; i++) { - let op = change.ops[i] - op.id = { - counter: change.startOp + i, - actorNum: change.actorNum, - actorId: change.actor, - } - op.obj = actorIdToActorNum(op.obj, actorIds) - op.elemId = actorIdToActorNum(op.elemId, actorIds) - op.child = actorIdToActorNum(op.child, actorIds) - op.pred = op.pred.map(pred => actorIdToActorNum(pred, actorIds)) - } - } - return { changes: newChanges, actorIds } -} - -/** - * Encodes the `obj` property of operation `op` into the two columns - * `objActor` and `objCtr`. - */ -function encodeObjectId(op, columns) { - if (op.obj === "_root") { - columns.objActor.appendValue(null) - columns.objCtr.appendValue(null) - } else if (op.obj.actorNum >= 0 && op.obj.counter > 0) { - columns.objActor.appendValue(op.obj.actorNum) - columns.objCtr.appendValue(op.obj.counter) - } else { - throw new RangeError( - `Unexpected objectId reference: ${JSON.stringify(op.obj)}` - ) - } -} - -/** - * Encodes the `key` and `elemId` properties of operation `op` into the three - * columns `keyActor`, `keyCtr`, and `keyStr`. - */ -function encodeOperationKey(op, columns) { - if (op.key) { - columns.keyActor.appendValue(null) - columns.keyCtr.appendValue(null) - columns.keyStr.appendValue(op.key) - } else if (op.elemId === "_head" && op.insert) { - columns.keyActor.appendValue(null) - columns.keyCtr.appendValue(0) - columns.keyStr.appendValue(null) - } else if (op.elemId && op.elemId.actorNum >= 0 && op.elemId.counter > 0) { - columns.keyActor.appendValue(op.elemId.actorNum) - columns.keyCtr.appendValue(op.elemId.counter) - columns.keyStr.appendValue(null) - } else { - throw new RangeError(`Unexpected operation key: ${JSON.stringify(op)}`) - } -} - -/** - * Encodes the `action` property of operation `op` into the `action` column. - */ -function encodeOperationAction(op, columns) { - const actionCode = ACTIONS.indexOf(op.action) - if (actionCode >= 0) { - columns.action.appendValue(actionCode) - } else if (typeof op.action === "number") { - columns.action.appendValue(op.action) - } else { - throw new RangeError(`Unexpected operation action: ${op.action}`) - } -} - -/** - * Given the datatype for a number, determine the typeTag and the value to encode - * otherwise guess - */ -function getNumberTypeAndValue(op) { - switch (op.datatype) { - case "counter": - return [VALUE_TYPE.COUNTER, op.value] - case "timestamp": - return [VALUE_TYPE.TIMESTAMP, op.value] - case "uint": - return [VALUE_TYPE.LEB128_UINT, op.value] - case "int": - return [VALUE_TYPE.LEB128_INT, op.value] - case "float64": { - const buf64 = new ArrayBuffer(8), - view64 = new DataView(buf64) - view64.setFloat64(0, op.value, true) - return [VALUE_TYPE.IEEE754, new Uint8Array(buf64)] - } - default: - // increment operators get resolved here ... - if ( - Number.isInteger(op.value) && - op.value <= Number.MAX_SAFE_INTEGER && - op.value >= Number.MIN_SAFE_INTEGER - ) { - return [VALUE_TYPE.LEB128_INT, op.value] - } else { - const buf64 = new ArrayBuffer(8), - view64 = new DataView(buf64) - view64.setFloat64(0, op.value, true) - return [VALUE_TYPE.IEEE754, new Uint8Array(buf64)] - } - } -} - -/** - * Encodes the `value` property of operation `op` into the two columns - * `valLen` and `valRaw`. - */ -function encodeValue(op, columns) { - if ((op.action !== "set" && op.action !== "inc") || op.value === null) { - columns.valLen.appendValue(VALUE_TYPE.NULL) - } else if (op.value === false) { - columns.valLen.appendValue(VALUE_TYPE.FALSE) - } else if (op.value === true) { - columns.valLen.appendValue(VALUE_TYPE.TRUE) - } else if (typeof op.value === "string") { - const numBytes = columns.valRaw.appendRawString(op.value) - columns.valLen.appendValue((numBytes << 4) | VALUE_TYPE.UTF8) - } else if (ArrayBuffer.isView(op.value)) { - const numBytes = columns.valRaw.appendRawBytes( - new Uint8Array(op.value.buffer) - ) - columns.valLen.appendValue((numBytes << 4) | VALUE_TYPE.BYTES) - } else if (typeof op.value === "number") { - let [typeTag, value] = getNumberTypeAndValue(op) - let numBytes - if (typeTag === VALUE_TYPE.LEB128_UINT) { - numBytes = columns.valRaw.appendUint53(value) - } else if (typeTag === VALUE_TYPE.IEEE754) { - numBytes = columns.valRaw.appendRawBytes(value) - } else { - numBytes = columns.valRaw.appendInt53(value) - } - columns.valLen.appendValue((numBytes << 4) | typeTag) - } else if ( - typeof op.datatype === "number" && - op.datatype >= VALUE_TYPE.MIN_UNKNOWN && - op.datatype <= VALUE_TYPE.MAX_UNKNOWN && - op.value instanceof Uint8Array - ) { - const numBytes = columns.valRaw.appendRawBytes(op.value) - columns.valLen.appendValue((numBytes << 4) | op.datatype) - } else if (op.datatype) { - throw new RangeError( - `Unknown datatype ${op.datatype} for value ${op.value}` - ) - } else { - throw new RangeError(`Unsupported value in operation: ${op.value}`) - } -} - -/** - * Given `sizeTag` (an unsigned integer read from a VALUE_LEN column) and `bytes` (a Uint8Array - * read from a VALUE_RAW column, with length `sizeTag >> 4`), this function returns an object of the - * form `{value: value, datatype: datatypeTag}` where `value` is a JavaScript primitive datatype - * corresponding to the value, and `datatypeTag` is a datatype annotation such as 'counter'. - */ -function decodeValue(sizeTag, bytes) { - if (sizeTag === VALUE_TYPE.NULL) { - return { value: null } - } else if (sizeTag === VALUE_TYPE.FALSE) { - return { value: false } - } else if (sizeTag === VALUE_TYPE.TRUE) { - return { value: true } - } else if (sizeTag % 16 === VALUE_TYPE.UTF8) { - return { value: utf8ToString(bytes) } - } else { - if (sizeTag % 16 === VALUE_TYPE.LEB128_UINT) { - return { value: new Decoder(bytes).readUint53(), datatype: "uint" } - } else if (sizeTag % 16 === VALUE_TYPE.LEB128_INT) { - return { value: new Decoder(bytes).readInt53(), datatype: "int" } - } else if (sizeTag % 16 === VALUE_TYPE.IEEE754) { - const view = new DataView( - bytes.buffer, - bytes.byteOffset, - bytes.byteLength - ) - if (bytes.byteLength === 8) { - return { value: view.getFloat64(0, true), datatype: "float64" } - } else { - throw new RangeError( - `Invalid length for floating point number: ${bytes.byteLength}` - ) - } - } else if (sizeTag % 16 === VALUE_TYPE.COUNTER) { - return { value: new Decoder(bytes).readInt53(), datatype: "counter" } - } else if (sizeTag % 16 === VALUE_TYPE.TIMESTAMP) { - return { value: new Decoder(bytes).readInt53(), datatype: "timestamp" } - } else { - return { value: bytes, datatype: sizeTag % 16 } - } - } -} - -/** - * Reads one value from the column `columns[colIndex]` and interprets it based - * on the column type. `actorIds` is a list of actors that appear in the change; - * `actorIds[0]` is the actorId of the change's author. Mutates the `result` - * object with the value, and returns the number of columns processed (this is 2 - * in the case of a pair of VALUE_LEN and VALUE_RAW columns, which are processed - * in one go). - */ -function decodeValueColumns(columns, colIndex, actorIds, result) { - const { columnId, columnName, decoder } = columns[colIndex] - if ( - columnId % 8 === COLUMN_TYPE.VALUE_LEN && - colIndex + 1 < columns.length && - columns[colIndex + 1].columnId === columnId + 1 - ) { - const sizeTag = decoder.readValue() - const rawValue = columns[colIndex + 1].decoder.readRawBytes(sizeTag >> 4) - const { value, datatype } = decodeValue(sizeTag, rawValue) - result[columnName] = value - if (datatype) result[columnName + "_datatype"] = datatype - return 2 - } else if (columnId % 8 === COLUMN_TYPE.ACTOR_ID) { - const actorNum = decoder.readValue() - if (actorNum === null) { - result[columnName] = null - } else { - if (!actorIds[actorNum]) - throw new RangeError(`No actor index ${actorNum}`) - result[columnName] = actorIds[actorNum] - } - } else { - result[columnName] = decoder.readValue() - } - return 1 -} - -/** - * Encodes an array of operations in a set of columns. The operations need to - * be parsed with `parseAllOpIds()` beforehand. If `forDocument` is true, we use - * the column structure of a whole document, otherwise we use the column - * structure for an individual change. Returns an array of - * `{columnId, columnName, encoder}` objects. - */ -function encodeOps(ops, forDocument) { - const columns = { - objActor: new RLEEncoder("uint"), - objCtr: new RLEEncoder("uint"), - keyActor: new RLEEncoder("uint"), - keyCtr: new DeltaEncoder(), - keyStr: new RLEEncoder("utf8"), - insert: new BooleanEncoder(), - action: new RLEEncoder("uint"), - valLen: new RLEEncoder("uint"), - valRaw: new Encoder(), - chldActor: new RLEEncoder("uint"), - chldCtr: new DeltaEncoder(), - } - - if (forDocument) { - columns.idActor = new RLEEncoder("uint") - columns.idCtr = new DeltaEncoder() - columns.succNum = new RLEEncoder("uint") - columns.succActor = new RLEEncoder("uint") - columns.succCtr = new DeltaEncoder() - } else { - columns.predNum = new RLEEncoder("uint") - columns.predCtr = new DeltaEncoder() - columns.predActor = new RLEEncoder("uint") - } - - for (let op of ops) { - encodeObjectId(op, columns) - encodeOperationKey(op, columns) - columns.insert.appendValue(!!op.insert) - encodeOperationAction(op, columns) - encodeValue(op, columns) - - if (op.child && op.child.counter) { - columns.chldActor.appendValue(op.child.actorNum) - columns.chldCtr.appendValue(op.child.counter) - } else { - columns.chldActor.appendValue(null) - columns.chldCtr.appendValue(null) - } - - if (forDocument) { - columns.idActor.appendValue(op.id.actorNum) - columns.idCtr.appendValue(op.id.counter) - columns.succNum.appendValue(op.succ.length) - op.succ.sort(compareParsedOpIds) - for (let i = 0; i < op.succ.length; i++) { - columns.succActor.appendValue(op.succ[i].actorNum) - columns.succCtr.appendValue(op.succ[i].counter) - } - } else { - columns.predNum.appendValue(op.pred.length) - op.pred.sort(compareParsedOpIds) - for (let i = 0; i < op.pred.length; i++) { - columns.predActor.appendValue(op.pred[i].actorNum) - columns.predCtr.appendValue(op.pred[i].counter) - } - } - } - - let columnList = [] - for (let { columnName, columnId } of forDocument - ? DOC_OPS_COLUMNS - : CHANGE_COLUMNS) { - if (columns[columnName]) - columnList.push({ columnId, columnName, encoder: columns[columnName] }) - } - return columnList.sort((a, b) => a.columnId - b.columnId) -} - -function validDatatype(value, datatype) { - if (datatype === undefined) { - return ( - typeof value === "string" || typeof value === "boolean" || value === null - ) - } else { - return typeof value === "number" - } -} - -function expandMultiOps(ops, startOp, actor) { - let opNum = startOp - let expandedOps = [] - for (const op of ops) { - if (op.action === "set" && op.values && op.insert) { - if (op.pred.length !== 0) - throw new RangeError("multi-insert pred must be empty") - let lastElemId = op.elemId - const datatype = op.datatype - for (const value of op.values) { - if (!validDatatype(value, datatype)) - throw new RangeError( - `Decode failed: bad value/datatype association (${value},${datatype})` - ) - expandedOps.push({ - action: "set", - obj: op.obj, - elemId: lastElemId, - datatype, - value, - pred: [], - insert: true, - }) - lastElemId = `${opNum}@${actor}` - opNum += 1 - } - } else if (op.action === "del" && op.multiOp > 1) { - if (op.pred.length !== 1) - throw new RangeError("multiOp deletion must have exactly one pred") - const startElemId = parseOpId(op.elemId), - startPred = parseOpId(op.pred[0]) - for (let i = 0; i < op.multiOp; i++) { - const elemId = `${startElemId.counter + i}@${startElemId.actorId}` - const pred = [`${startPred.counter + i}@${startPred.actorId}`] - expandedOps.push({ action: "del", obj: op.obj, elemId, pred }) - opNum += 1 - } - } else { - expandedOps.push(op) - opNum += 1 - } - } - return expandedOps -} - -/** - * Takes a change as decoded by `decodeColumns`, and changes it into the form - * expected by the rest of the backend. If `forDocument` is true, we use the op - * structure of a whole document, otherwise we use the op structure for an - * individual change. - */ -function decodeOps(ops, forDocument) { - const newOps = [] - for (let op of ops) { - const obj = op.objCtr === null ? "_root" : `${op.objCtr}@${op.objActor}` - const elemId = op.keyStr - ? undefined - : op.keyCtr === 0 - ? "_head" - : `${op.keyCtr}@${op.keyActor}` - const action = ACTIONS[op.action] || op.action - const newOp = elemId - ? { obj, elemId, action } - : { obj, key: op.keyStr, action } - newOp.insert = !!op.insert - if (ACTIONS[op.action] === "set" || ACTIONS[op.action] === "inc") { - newOp.value = op.valLen - if (op.valLen_datatype) newOp.datatype = op.valLen_datatype - } - if (!!op.chldCtr !== !!op.chldActor) { - throw new RangeError( - `Mismatched child columns: ${op.chldCtr} and ${op.chldActor}` - ) - } - if (op.chldCtr !== null) newOp.child = `${op.chldCtr}@${op.chldActor}` - if (forDocument) { - newOp.id = `${op.idCtr}@${op.idActor}` - newOp.succ = op.succNum.map(succ => `${succ.succCtr}@${succ.succActor}`) - checkSortedOpIds( - op.succNum.map(succ => ({ - counter: succ.succCtr, - actorId: succ.succActor, - })) - ) - } else { - newOp.pred = op.predNum.map(pred => `${pred.predCtr}@${pred.predActor}`) - checkSortedOpIds( - op.predNum.map(pred => ({ - counter: pred.predCtr, - actorId: pred.predActor, - })) - ) - } - newOps.push(newOp) - } - return newOps -} - -/** - * Throws an exception if the opIds in the given array are not in sorted order. - */ -function checkSortedOpIds(opIds) { - let last = null - for (let opId of opIds) { - if (last && compareParsedOpIds(last, opId) !== -1) { - throw new RangeError("operation IDs are not in ascending order") - } - last = opId - } -} - -function encoderByColumnId(columnId) { - if ((columnId & 7) === COLUMN_TYPE.INT_DELTA) { - return new DeltaEncoder() - } else if ((columnId & 7) === COLUMN_TYPE.BOOLEAN) { - return new BooleanEncoder() - } else if ((columnId & 7) === COLUMN_TYPE.STRING_RLE) { - return new RLEEncoder("utf8") - } else if ((columnId & 7) === COLUMN_TYPE.VALUE_RAW) { - return new Encoder() - } else { - return new RLEEncoder("uint") - } -} - -function decoderByColumnId(columnId, buffer) { - if ((columnId & 7) === COLUMN_TYPE.INT_DELTA) { - return new DeltaDecoder(buffer) - } else if ((columnId & 7) === COLUMN_TYPE.BOOLEAN) { - return new BooleanDecoder(buffer) - } else if ((columnId & 7) === COLUMN_TYPE.STRING_RLE) { - return new RLEDecoder("utf8", buffer) - } else if ((columnId & 7) === COLUMN_TYPE.VALUE_RAW) { - return new Decoder(buffer) - } else { - return new RLEDecoder("uint", buffer) - } -} - -function makeDecoders(columns, columnSpec) { - const emptyBuf = new Uint8Array(0) - let decoders = [], - columnIndex = 0, - specIndex = 0 - - while (columnIndex < columns.length || specIndex < columnSpec.length) { - if ( - columnIndex === columns.length || - (specIndex < columnSpec.length && - columnSpec[specIndex].columnId < columns[columnIndex].columnId) - ) { - const { columnId, columnName } = columnSpec[specIndex] - decoders.push({ - columnId, - columnName, - decoder: decoderByColumnId(columnId, emptyBuf), - }) - specIndex++ - } else if ( - specIndex === columnSpec.length || - columns[columnIndex].columnId < columnSpec[specIndex].columnId - ) { - const { columnId, buffer } = columns[columnIndex] - decoders.push({ columnId, decoder: decoderByColumnId(columnId, buffer) }) - columnIndex++ - } else { - // columns[columnIndex].columnId === columnSpec[specIndex].columnId - const { columnId, buffer } = columns[columnIndex], - { columnName } = columnSpec[specIndex] - decoders.push({ - columnId, - columnName, - decoder: decoderByColumnId(columnId, buffer), - }) - columnIndex++ - specIndex++ - } - } - return decoders -} - -function decodeColumns(columns, actorIds, columnSpec) { - columns = makeDecoders(columns, columnSpec) - let parsedRows = [] - while (columns.some(col => !col.decoder.done)) { - let row = {}, - col = 0 - while (col < columns.length) { - const columnId = columns[col].columnId - let groupId = columnId >> 4, - groupCols = 1 - while ( - col + groupCols < columns.length && - columns[col + groupCols].columnId >> 4 === groupId - ) { - groupCols++ - } - - if (columnId % 8 === COLUMN_TYPE.GROUP_CARD) { - const values = [], - count = columns[col].decoder.readValue() - for (let i = 0; i < count; i++) { - let value = {} - for (let colOffset = 1; colOffset < groupCols; colOffset++) { - decodeValueColumns(columns, col + colOffset, actorIds, value) - } - values.push(value) - } - row[columns[col].columnName] = values - col += groupCols - } else { - col += decodeValueColumns(columns, col, actorIds, row) - } - } - parsedRows.push(row) - } - return parsedRows -} - -function decodeColumnInfo(decoder) { - // A number that is all 1 bits except for the bit that indicates whether a column is - // deflate-compressed. We ignore this bit when checking whether columns are sorted by ID. - const COLUMN_ID_MASK = (-1 ^ COLUMN_TYPE_DEFLATE) >>> 0 - - let lastColumnId = -1, - columns = [], - numColumns = decoder.readUint53() - for (let i = 0; i < numColumns; i++) { - const columnId = decoder.readUint53(), - bufferLen = decoder.readUint53() - if ((columnId & COLUMN_ID_MASK) <= (lastColumnId & COLUMN_ID_MASK)) { - throw new RangeError("Columns must be in ascending order") - } - lastColumnId = columnId - columns.push({ columnId, bufferLen }) - } - return columns -} - -function encodeColumnInfo(encoder, columns) { - const nonEmptyColumns = columns.filter( - column => column.encoder.buffer.byteLength > 0 - ) - encoder.appendUint53(nonEmptyColumns.length) - for (let column of nonEmptyColumns) { - encoder.appendUint53(column.columnId) - encoder.appendUint53(column.encoder.buffer.byteLength) - } -} - -function decodeChangeHeader(decoder) { - const numDeps = decoder.readUint53(), - deps = [] - for (let i = 0; i < numDeps; i++) { - deps.push(bytesToHexString(decoder.readRawBytes(32))) - } - let change = { - actor: decoder.readHexString(), - seq: decoder.readUint53(), - startOp: decoder.readUint53(), - time: decoder.readInt53(), - message: decoder.readPrefixedString(), - deps, - } - const actorIds = [change.actor], - numActorIds = decoder.readUint53() - for (let i = 0; i < numActorIds; i++) actorIds.push(decoder.readHexString()) - change.actorIds = actorIds - return change -} - -/** - * Assembles a chunk of encoded data containing a checksum, headers, and a - * series of encoded columns. Calls `encodeHeaderCallback` with an encoder that - * should be used to add the headers. The columns should be given as `columns`. - */ -function encodeContainer(chunkType, encodeContentsCallback) { - const CHECKSUM_SIZE = 4 // checksum is first 4 bytes of SHA-256 hash of the rest of the data - const HEADER_SPACE = MAGIC_BYTES.byteLength + CHECKSUM_SIZE + 1 + 5 // 1 byte type + 5 bytes length - const body = new Encoder() - // Make space for the header at the beginning of the body buffer. We will - // copy the header in here later. This is cheaper than copying the body since - // the body is likely to be much larger than the header. - body.appendRawBytes(new Uint8Array(HEADER_SPACE)) - encodeContentsCallback(body) - - const bodyBuf = body.buffer - const header = new Encoder() - header.appendByte(chunkType) - header.appendUint53(bodyBuf.byteLength - HEADER_SPACE) - - // Compute the hash over chunkType, length, and body - const headerBuf = header.buffer - const sha256 = new Hash() - sha256.update(headerBuf) - sha256.update(bodyBuf.subarray(HEADER_SPACE)) - const hash = sha256.digest(), - checksum = hash.subarray(0, CHECKSUM_SIZE) - - // Copy header into the body buffer so that they are contiguous - bodyBuf.set( - MAGIC_BYTES, - HEADER_SPACE - headerBuf.byteLength - CHECKSUM_SIZE - MAGIC_BYTES.byteLength - ) - bodyBuf.set(checksum, HEADER_SPACE - headerBuf.byteLength - CHECKSUM_SIZE) - bodyBuf.set(headerBuf, HEADER_SPACE - headerBuf.byteLength) - return { - hash, - bytes: bodyBuf.subarray( - HEADER_SPACE - - headerBuf.byteLength - - CHECKSUM_SIZE - - MAGIC_BYTES.byteLength - ), - } -} - -function decodeContainerHeader(decoder, computeHash) { - if (!equalBytes(decoder.readRawBytes(MAGIC_BYTES.byteLength), MAGIC_BYTES)) { - throw new RangeError("Data does not begin with magic bytes 85 6f 4a 83") - } - const expectedHash = decoder.readRawBytes(4) - const hashStartOffset = decoder.offset - const chunkType = decoder.readByte() - const chunkLength = decoder.readUint53() - const header = { - chunkType, - chunkLength, - chunkData: decoder.readRawBytes(chunkLength), - } - - if (computeHash) { - const sha256 = new Hash() - sha256.update(decoder.buf.subarray(hashStartOffset, decoder.offset)) - const binaryHash = sha256.digest() - if (!equalBytes(binaryHash.subarray(0, 4), expectedHash)) { - throw new RangeError("checksum does not match data") - } - header.hash = bytesToHexString(binaryHash) - } - return header -} - -function encodeChange(changeObj) { - const { changes, actorIds } = parseAllOpIds([changeObj], true) - const change = changes[0] - - const { hash, bytes } = encodeContainer(CHUNK_TYPE_CHANGE, encoder => { - if (!Array.isArray(change.deps)) throw new TypeError("deps is not an array") - encoder.appendUint53(change.deps.length) - for (let hash of change.deps.slice().sort()) { - encoder.appendRawBytes(hexStringToBytes(hash)) - } - encoder.appendHexString(change.actor) - encoder.appendUint53(change.seq) - encoder.appendUint53(change.startOp) - encoder.appendInt53(change.time) - encoder.appendPrefixedString(change.message || "") - encoder.appendUint53(actorIds.length - 1) - for (let actor of actorIds.slice(1)) encoder.appendHexString(actor) - - const columns = encodeOps(change.ops, false) - encodeColumnInfo(encoder, columns) - for (let column of columns) encoder.appendRawBytes(column.encoder.buffer) - if (change.extraBytes) encoder.appendRawBytes(change.extraBytes) - }) - - const hexHash = bytesToHexString(hash) - if (changeObj.hash && changeObj.hash !== hexHash) { - throw new RangeError( - `Change hash does not match encoding: ${changeObj.hash} != ${hexHash}` - ) - } - return bytes.byteLength >= DEFLATE_MIN_SIZE ? deflateChange(bytes) : bytes -} - -function decodeChangeColumns(buffer) { - if (buffer[8] === CHUNK_TYPE_DEFLATE) buffer = inflateChange(buffer) - const decoder = new Decoder(buffer) - const header = decodeContainerHeader(decoder, true) - const chunkDecoder = new Decoder(header.chunkData) - if (!decoder.done) throw new RangeError("Encoded change has trailing data") - if (header.chunkType !== CHUNK_TYPE_CHANGE) - throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - - const change = decodeChangeHeader(chunkDecoder) - const columns = decodeColumnInfo(chunkDecoder) - for (let i = 0; i < columns.length; i++) { - if ((columns[i].columnId & COLUMN_TYPE_DEFLATE) !== 0) { - throw new RangeError("change must not contain deflated columns") - } - columns[i].buffer = chunkDecoder.readRawBytes(columns[i].bufferLen) - } - if (!chunkDecoder.done) { - const restLen = chunkDecoder.buf.byteLength - chunkDecoder.offset - change.extraBytes = chunkDecoder.readRawBytes(restLen) - } - - change.columns = columns - change.hash = header.hash - return change -} - -/** - * Decodes one change in binary format into its JS object representation. - */ -function decodeChange(buffer) { - const change = decodeChangeColumns(buffer) - change.ops = decodeOps( - decodeColumns(change.columns, change.actorIds, CHANGE_COLUMNS), - false - ) - delete change.actorIds - delete change.columns - return change -} - -/** - * Decodes the header fields of a change in binary format, but does not decode - * the operations. Saves work when we only need to inspect the headers. Only - * computes the hash of the change if `computeHash` is true. - */ -function decodeChangeMeta(buffer, computeHash) { - if (buffer[8] === CHUNK_TYPE_DEFLATE) buffer = inflateChange(buffer) - const header = decodeContainerHeader(new Decoder(buffer), computeHash) - if (header.chunkType !== CHUNK_TYPE_CHANGE) { - throw new RangeError("Buffer chunk type is not a change") - } - const meta = decodeChangeHeader(new Decoder(header.chunkData)) - meta.change = buffer - if (computeHash) meta.hash = header.hash - return meta -} - -/** - * Compresses a binary change using DEFLATE. - */ -function deflateChange(buffer) { - const header = decodeContainerHeader(new Decoder(buffer), false) - if (header.chunkType !== CHUNK_TYPE_CHANGE) - throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - const compressed = pako.deflateRaw(header.chunkData) - const encoder = new Encoder() - encoder.appendRawBytes(buffer.subarray(0, 8)) // copy MAGIC_BYTES and checksum - encoder.appendByte(CHUNK_TYPE_DEFLATE) - encoder.appendUint53(compressed.byteLength) - encoder.appendRawBytes(compressed) - return encoder.buffer -} - -/** - * Decompresses a binary change that has been compressed with DEFLATE. - */ -function inflateChange(buffer) { - const header = decodeContainerHeader(new Decoder(buffer), false) - if (header.chunkType !== CHUNK_TYPE_DEFLATE) - throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - const decompressed = pako.inflateRaw(header.chunkData) - const encoder = new Encoder() - encoder.appendRawBytes(buffer.subarray(0, 8)) // copy MAGIC_BYTES and checksum - encoder.appendByte(CHUNK_TYPE_CHANGE) - encoder.appendUint53(decompressed.byteLength) - encoder.appendRawBytes(decompressed) - return encoder.buffer -} - -/** - * Takes an Uint8Array that may contain multiple concatenated changes, and - * returns an array of subarrays, each subarray containing one change. - */ -function splitContainers(buffer) { - let decoder = new Decoder(buffer), - chunks = [], - startOffset = 0 - while (!decoder.done) { - decodeContainerHeader(decoder, false) - chunks.push(buffer.subarray(startOffset, decoder.offset)) - startOffset = decoder.offset - } - return chunks -} - -/** - * Decodes a list of changes from the binary format into JS objects. - * `binaryChanges` is an array of `Uint8Array` objects. - */ -function decodeChanges(binaryChanges) { - let decoded = [] - for (let binaryChange of binaryChanges) { - for (let chunk of splitContainers(binaryChange)) { - if (chunk[8] === CHUNK_TYPE_DOCUMENT) { - decoded = decoded.concat(decodeDocument(chunk)) - } else if ( - chunk[8] === CHUNK_TYPE_CHANGE || - chunk[8] === CHUNK_TYPE_DEFLATE - ) { - decoded.push(decodeChange(chunk)) - } else { - // ignoring chunk of unknown type - } - } - } - return decoded -} - -function sortOpIds(a, b) { - if (a === b) return 0 - if (a === "_root") return -1 - if (b === "_root") return +1 - const a_ = parseOpId(a), - b_ = parseOpId(b) - if (a_.counter < b_.counter) return -1 - if (a_.counter > b_.counter) return +1 - if (a_.actorId < b_.actorId) return -1 - if (a_.actorId > b_.actorId) return +1 - return 0 -} - -/** - * Takes a set of operations `ops` loaded from an encoded document, and - * reconstructs the changes that they originally came from. - * Does not return anything, only mutates `changes`. - */ -function groupChangeOps(changes, ops) { - let changesByActor = {} // map from actorId to array of changes by that actor - for (let change of changes) { - change.ops = [] - if (!changesByActor[change.actor]) changesByActor[change.actor] = [] - if (change.seq !== changesByActor[change.actor].length + 1) { - throw new RangeError( - `Expected seq = ${changesByActor[change.actor].length + 1}, got ${ - change.seq - }` - ) - } - if ( - change.seq > 1 && - changesByActor[change.actor][change.seq - 2].maxOp > change.maxOp - ) { - throw new RangeError("maxOp must increase monotonically per actor") - } - changesByActor[change.actor].push(change) - } - - let opsById = {} - for (let op of ops) { - if (op.action === "del") - throw new RangeError("document should not contain del operations") - op.pred = opsById[op.id] ? opsById[op.id].pred : [] - opsById[op.id] = op - for (let succ of op.succ) { - if (!opsById[succ]) { - if (op.elemId) { - const elemId = op.insert ? op.id : op.elemId - opsById[succ] = { - id: succ, - action: "del", - obj: op.obj, - elemId, - pred: [], - } - } else { - opsById[succ] = { - id: succ, - action: "del", - obj: op.obj, - key: op.key, - pred: [], - } - } - } - opsById[succ].pred.push(op.id) - } - delete op.succ - } - for (let op of Object.values(opsById)) { - if (op.action === "del") ops.push(op) - } - - for (let op of ops) { - const { counter, actorId } = parseOpId(op.id) - const actorChanges = changesByActor[actorId] - // Binary search to find the change that should contain this operation - let left = 0, - right = actorChanges.length - while (left < right) { - const index = Math.floor((left + right) / 2) - if (actorChanges[index].maxOp < counter) { - left = index + 1 - } else { - right = index - } - } - if (left >= actorChanges.length) { - throw new RangeError(`Operation ID ${op.id} outside of allowed range`) - } - actorChanges[left].ops.push(op) - } - - for (let change of changes) { - change.ops.sort((op1, op2) => sortOpIds(op1.id, op2.id)) - change.startOp = change.maxOp - change.ops.length + 1 - delete change.maxOp - for (let i = 0; i < change.ops.length; i++) { - const op = change.ops[i], - expectedId = `${change.startOp + i}@${change.actor}` - if (op.id !== expectedId) { - throw new RangeError(`Expected opId ${expectedId}, got ${op.id}`) - } - delete op.id - } - } -} - -function decodeDocumentChanges(changes, expectedHeads) { - let heads = {} // change hashes that are not a dependency of any other change - for (let i = 0; i < changes.length; i++) { - let change = changes[i] - change.deps = [] - for (let index of change.depsNum.map(d => d.depsIndex)) { - if (!changes[index] || !changes[index].hash) { - throw new RangeError( - `No hash for index ${index} while processing index ${i}` - ) - } - const hash = changes[index].hash - change.deps.push(hash) - if (heads[hash]) delete heads[hash] - } - change.deps.sort() - delete change.depsNum - - if (change.extraLen_datatype !== VALUE_TYPE.BYTES) { - throw new RangeError(`Bad datatype for extra bytes: ${VALUE_TYPE.BYTES}`) - } - change.extraBytes = change.extraLen - delete change.extraLen_datatype - - // Encoding and decoding again to compute the hash of the change - changes[i] = decodeChange(encodeChange(change)) - heads[changes[i].hash] = true - } - - const actualHeads = Object.keys(heads).sort() - let headsEqual = actualHeads.length === expectedHeads.length, - i = 0 - while (headsEqual && i < actualHeads.length) { - headsEqual = actualHeads[i] === expectedHeads[i] - i++ - } - if (!headsEqual) { - throw new RangeError( - `Mismatched heads hashes: expected ${expectedHeads.join( - ", " - )}, got ${actualHeads.join(", ")}` - ) - } -} - -function encodeDocumentHeader(doc) { - const { - changesColumns, - opsColumns, - actorIds, - heads, - headsIndexes, - extraBytes, - } = doc - for (let column of changesColumns) deflateColumn(column) - for (let column of opsColumns) deflateColumn(column) - - return encodeContainer(CHUNK_TYPE_DOCUMENT, encoder => { - encoder.appendUint53(actorIds.length) - for (let actor of actorIds) { - encoder.appendHexString(actor) - } - encoder.appendUint53(heads.length) - for (let head of heads.sort()) { - encoder.appendRawBytes(hexStringToBytes(head)) - } - encodeColumnInfo(encoder, changesColumns) - encodeColumnInfo(encoder, opsColumns) - for (let column of changesColumns) - encoder.appendRawBytes(column.encoder.buffer) - for (let column of opsColumns) encoder.appendRawBytes(column.encoder.buffer) - for (let index of headsIndexes) encoder.appendUint53(index) - if (extraBytes) encoder.appendRawBytes(extraBytes) - }).bytes -} - -function decodeDocumentHeader(buffer) { - const documentDecoder = new Decoder(buffer) - const header = decodeContainerHeader(documentDecoder, true) - const decoder = new Decoder(header.chunkData) - if (!documentDecoder.done) - throw new RangeError("Encoded document has trailing data") - if (header.chunkType !== CHUNK_TYPE_DOCUMENT) - throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - - const actorIds = [], - numActors = decoder.readUint53() - for (let i = 0; i < numActors; i++) { - actorIds.push(decoder.readHexString()) - } - const heads = [], - headsIndexes = [], - numHeads = decoder.readUint53() - for (let i = 0; i < numHeads; i++) { - heads.push(bytesToHexString(decoder.readRawBytes(32))) - } - - const changesColumns = decodeColumnInfo(decoder) - const opsColumns = decodeColumnInfo(decoder) - for (let i = 0; i < changesColumns.length; i++) { - changesColumns[i].buffer = decoder.readRawBytes(changesColumns[i].bufferLen) - inflateColumn(changesColumns[i]) - } - for (let i = 0; i < opsColumns.length; i++) { - opsColumns[i].buffer = decoder.readRawBytes(opsColumns[i].bufferLen) - inflateColumn(opsColumns[i]) - } - if (!decoder.done) { - for (let i = 0; i < numHeads; i++) headsIndexes.push(decoder.readUint53()) - } - - const extraBytes = decoder.readRawBytes( - decoder.buf.byteLength - decoder.offset - ) - return { - changesColumns, - opsColumns, - actorIds, - heads, - headsIndexes, - extraBytes, - } -} - -function decodeDocument(buffer) { - const { changesColumns, opsColumns, actorIds, heads } = - decodeDocumentHeader(buffer) - const changes = decodeColumns(changesColumns, actorIds, DOCUMENT_COLUMNS) - const ops = decodeOps( - decodeColumns(opsColumns, actorIds, DOC_OPS_COLUMNS), - true - ) - groupChangeOps(changes, ops) - decodeDocumentChanges(changes, heads) - return changes -} - -/** - * DEFLATE-compresses the given column if it is large enough to make the compression worthwhile. - */ -function deflateColumn(column) { - if (column.encoder.buffer.byteLength >= DEFLATE_MIN_SIZE) { - column.encoder = { buffer: pako.deflateRaw(column.encoder.buffer) } - column.columnId |= COLUMN_TYPE_DEFLATE - } -} - -/** - * Decompresses the given column if it is DEFLATE-compressed. - */ -function inflateColumn(column) { - if ((column.columnId & COLUMN_TYPE_DEFLATE) !== 0) { - column.buffer = pako.inflateRaw(column.buffer) - column.columnId ^= COLUMN_TYPE_DEFLATE - } -} - -module.exports = { - COLUMN_TYPE, - VALUE_TYPE, - ACTIONS, - OBJECT_TYPE, - DOC_OPS_COLUMNS, - CHANGE_COLUMNS, - DOCUMENT_COLUMNS, - encoderByColumnId, - decoderByColumnId, - makeDecoders, - decodeValue, - splitContainers, - encodeChange, - decodeChangeColumns, - decodeChange, - decodeChangeMeta, - decodeChanges, - encodeDocumentHeader, - decodeDocumentHeader, - decodeDocument, -} diff --git a/javascript/test/legacy/common.js b/javascript/test/legacy/common.js deleted file mode 100644 index 7668e982..00000000 --- a/javascript/test/legacy/common.js +++ /dev/null @@ -1,59 +0,0 @@ -function isObject(obj) { - return typeof obj === "object" && obj !== null -} - -/** - * Returns a shallow copy of the object `obj`. Faster than `Object.assign({}, obj)`. - * https://jsperf.com/cloning-large-objects/1 - */ -function copyObject(obj) { - if (!isObject(obj)) return {} - let copy = {} - for (let key of Object.keys(obj)) { - copy[key] = obj[key] - } - return copy -} - -/** - * Takes a string in the form that is used to identify operations (a counter concatenated - * with an actor ID, separated by an `@` sign) and returns an object `{counter, actorId}`. - */ -function parseOpId(opId) { - const match = /^(\d+)@(.*)$/.exec(opId || "") - if (!match) { - throw new RangeError(`Not a valid opId: ${opId}`) - } - return { counter: parseInt(match[1], 10), actorId: match[2] } -} - -/** - * Returns true if the two byte arrays contain the same data, false if not. - */ -function equalBytes(array1, array2) { - if (!(array1 instanceof Uint8Array) || !(array2 instanceof Uint8Array)) { - throw new TypeError("equalBytes can only compare Uint8Arrays") - } - if (array1.byteLength !== array2.byteLength) return false - for (let i = 0; i < array1.byteLength; i++) { - if (array1[i] !== array2[i]) return false - } - return true -} - -/** - * Creates an array containing the value `null` repeated `length` times. - */ -function createArrayOfNulls(length) { - const array = new Array(length) - for (let i = 0; i < length; i++) array[i] = null - return array -} - -module.exports = { - isObject, - copyObject, - parseOpId, - equalBytes, - createArrayOfNulls, -} diff --git a/javascript/test/legacy/encoding.js b/javascript/test/legacy/encoding.js deleted file mode 100644 index f7650faf..00000000 --- a/javascript/test/legacy/encoding.js +++ /dev/null @@ -1,1321 +0,0 @@ -/** - * UTF-8 decoding and encoding using API that is supported in Node >= 12 and modern browsers: - * https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder/encode - * https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/decode - * If you're running in an environment where it's not available, please use a polyfill, such as: - * https://github.com/anonyco/FastestSmallestTextEncoderDecoder - */ -const utf8encoder = new TextEncoder() -const utf8decoder = new TextDecoder("utf-8") - -function stringToUtf8(string) { - return utf8encoder.encode(string) -} - -function utf8ToString(buffer) { - return utf8decoder.decode(buffer) -} - -/** - * Converts a string consisting of hexadecimal digits into an Uint8Array. - */ -function hexStringToBytes(value) { - if (typeof value !== "string") { - throw new TypeError("value is not a string") - } - if (!/^([0-9a-f][0-9a-f])*$/.test(value)) { - throw new RangeError("value is not hexadecimal") - } - if (value === "") { - return new Uint8Array(0) - } else { - return new Uint8Array(value.match(/../g).map(b => parseInt(b, 16))) - } -} - -const NIBBLE_TO_HEX = [ - "0", - "1", - "2", - "3", - "4", - "5", - "6", - "7", - "8", - "9", - "a", - "b", - "c", - "d", - "e", - "f", -] -const BYTE_TO_HEX = new Array(256) -for (let i = 0; i < 256; i++) { - BYTE_TO_HEX[i] = `${NIBBLE_TO_HEX[(i >>> 4) & 0xf]}${NIBBLE_TO_HEX[i & 0xf]}` -} - -/** - * Converts a Uint8Array into the equivalent hexadecimal string. - */ -function bytesToHexString(bytes) { - let hex = "", - len = bytes.byteLength - for (let i = 0; i < len; i++) { - hex += BYTE_TO_HEX[bytes[i]] - } - return hex -} - -/** - * Wrapper around an Uint8Array that allows values to be appended to the buffer, - * and that automatically grows the buffer when space runs out. - */ -class Encoder { - constructor() { - this.buf = new Uint8Array(16) - this.offset = 0 - } - - /** - * Returns the byte array containing the encoded data. - */ - get buffer() { - this.finish() - return this.buf.subarray(0, this.offset) - } - - /** - * Reallocates the encoder's buffer to be bigger. - */ - grow(minSize = 0) { - let newSize = this.buf.byteLength * 4 - while (newSize < minSize) newSize *= 2 - const newBuf = new Uint8Array(newSize) - newBuf.set(this.buf, 0) - this.buf = newBuf - return this - } - - /** - * Appends one byte (0 to 255) to the buffer. - */ - appendByte(value) { - if (this.offset >= this.buf.byteLength) this.grow() - this.buf[this.offset] = value - this.offset += 1 - } - - /** - * Encodes a 32-bit nonnegative integer in a variable number of bytes using - * the LEB128 encoding scheme (https://en.wikipedia.org/wiki/LEB128) and - * appends it to the buffer. Returns the number of bytes written. - */ - appendUint32(value) { - if (!Number.isInteger(value)) - throw new RangeError("value is not an integer") - if (value < 0 || value > 0xffffffff) - throw new RangeError("number out of range") - - const numBytes = Math.max(1, Math.ceil((32 - Math.clz32(value)) / 7)) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - - for (let i = 0; i < numBytes; i++) { - this.buf[this.offset + i] = - (value & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - value >>>= 7 // zero-filling right shift - } - this.offset += numBytes - return numBytes - } - - /** - * Encodes a 32-bit signed integer in a variable number of bytes using the - * LEB128 encoding scheme (https://en.wikipedia.org/wiki/LEB128) and appends - * it to the buffer. Returns the number of bytes written. - */ - appendInt32(value) { - if (!Number.isInteger(value)) - throw new RangeError("value is not an integer") - if (value < -0x80000000 || value > 0x7fffffff) - throw new RangeError("number out of range") - - const numBytes = Math.ceil( - (33 - Math.clz32(value >= 0 ? value : -value - 1)) / 7 - ) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - - for (let i = 0; i < numBytes; i++) { - this.buf[this.offset + i] = - (value & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - value >>= 7 // sign-propagating right shift - } - this.offset += numBytes - return numBytes - } - - /** - * Encodes a nonnegative integer in a variable number of bytes using the LEB128 - * encoding scheme, up to the maximum size of integers supported by JavaScript - * (53 bits). - */ - appendUint53(value) { - if (!Number.isInteger(value)) - throw new RangeError("value is not an integer") - if (value < 0 || value > Number.MAX_SAFE_INTEGER) { - throw new RangeError("number out of range") - } - const high32 = Math.floor(value / 0x100000000) - const low32 = (value & 0xffffffff) >>> 0 // right shift to interpret as unsigned - return this.appendUint64(high32, low32) - } - - /** - * Encodes a signed integer in a variable number of bytes using the LEB128 - * encoding scheme, up to the maximum size of integers supported by JavaScript - * (53 bits). - */ - appendInt53(value) { - if (!Number.isInteger(value)) - throw new RangeError("value is not an integer") - if (value < Number.MIN_SAFE_INTEGER || value > Number.MAX_SAFE_INTEGER) { - throw new RangeError("number out of range") - } - const high32 = Math.floor(value / 0x100000000) - const low32 = (value & 0xffffffff) >>> 0 // right shift to interpret as unsigned - return this.appendInt64(high32, low32) - } - - /** - * Encodes a 64-bit nonnegative integer in a variable number of bytes using - * the LEB128 encoding scheme, and appends it to the buffer. The number is - * given as two 32-bit halves since JavaScript cannot accurately represent - * integers with more than 53 bits in a single variable. - */ - appendUint64(high32, low32) { - if (!Number.isInteger(high32) || !Number.isInteger(low32)) { - throw new RangeError("value is not an integer") - } - if (high32 < 0 || high32 > 0xffffffff || low32 < 0 || low32 > 0xffffffff) { - throw new RangeError("number out of range") - } - if (high32 === 0) return this.appendUint32(low32) - - const numBytes = Math.ceil((64 - Math.clz32(high32)) / 7) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - for (let i = 0; i < 4; i++) { - this.buf[this.offset + i] = (low32 & 0x7f) | 0x80 - low32 >>>= 7 // zero-filling right shift - } - this.buf[this.offset + 4] = - (low32 & 0x0f) | ((high32 & 0x07) << 4) | (numBytes === 5 ? 0x00 : 0x80) - high32 >>>= 3 - for (let i = 5; i < numBytes; i++) { - this.buf[this.offset + i] = - (high32 & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - high32 >>>= 7 - } - this.offset += numBytes - return numBytes - } - - /** - * Encodes a 64-bit signed integer in a variable number of bytes using the - * LEB128 encoding scheme, and appends it to the buffer. The number is given - * as two 32-bit halves since JavaScript cannot accurately represent integers - * with more than 53 bits in a single variable. The sign of the 64-bit - * number is determined by the sign of the `high32` half; the sign of the - * `low32` half is ignored. - */ - appendInt64(high32, low32) { - if (!Number.isInteger(high32) || !Number.isInteger(low32)) { - throw new RangeError("value is not an integer") - } - if ( - high32 < -0x80000000 || - high32 > 0x7fffffff || - low32 < -0x80000000 || - low32 > 0xffffffff - ) { - throw new RangeError("number out of range") - } - low32 >>>= 0 // interpret as unsigned - if (high32 === 0 && low32 <= 0x7fffffff) return this.appendInt32(low32) - if (high32 === -1 && low32 >= 0x80000000) - return this.appendInt32(low32 - 0x100000000) - - const numBytes = Math.ceil( - (65 - Math.clz32(high32 >= 0 ? high32 : -high32 - 1)) / 7 - ) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - for (let i = 0; i < 4; i++) { - this.buf[this.offset + i] = (low32 & 0x7f) | 0x80 - low32 >>>= 7 // zero-filling right shift - } - this.buf[this.offset + 4] = - (low32 & 0x0f) | ((high32 & 0x07) << 4) | (numBytes === 5 ? 0x00 : 0x80) - high32 >>= 3 // sign-propagating right shift - for (let i = 5; i < numBytes; i++) { - this.buf[this.offset + i] = - (high32 & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - high32 >>= 7 - } - this.offset += numBytes - return numBytes - } - - /** - * Appends the contents of byte buffer `data` to the buffer. Returns the - * number of bytes appended. - */ - appendRawBytes(data) { - if (this.offset + data.byteLength > this.buf.byteLength) { - this.grow(this.offset + data.byteLength) - } - this.buf.set(data, this.offset) - this.offset += data.byteLength - return data.byteLength - } - - /** - * Appends a UTF-8 string to the buffer, without any metadata. Returns the - * number of bytes appended. - */ - appendRawString(value) { - if (typeof value !== "string") throw new TypeError("value is not a string") - return this.appendRawBytes(stringToUtf8(value)) - } - - /** - * Appends the contents of byte buffer `data` to the buffer, prefixed with the - * number of bytes in the buffer (as a LEB128-encoded unsigned integer). - */ - appendPrefixedBytes(data) { - this.appendUint53(data.byteLength) - this.appendRawBytes(data) - return this - } - - /** - * Appends a UTF-8 string to the buffer, prefixed with its length in bytes - * (where the length is encoded as an unsigned LEB128 integer). - */ - appendPrefixedString(value) { - if (typeof value !== "string") throw new TypeError("value is not a string") - this.appendPrefixedBytes(stringToUtf8(value)) - return this - } - - /** - * Takes a value, which must be a string consisting only of hexadecimal - * digits, maps it to a byte array, and appends it to the buffer, prefixed - * with its length in bytes. - */ - appendHexString(value) { - this.appendPrefixedBytes(hexStringToBytes(value)) - return this - } - - /** - * Flushes any unwritten data to the buffer. Call this before reading from - * the buffer constructed by this Encoder. - */ - finish() {} -} - -/** - * Counterpart to Encoder. Wraps a Uint8Array buffer with a cursor indicating - * the current decoding position, and allows values to be incrementally read by - * decoding the bytes at the current position. - */ -class Decoder { - constructor(buffer) { - if (!(buffer instanceof Uint8Array)) { - throw new TypeError(`Not a byte array: ${buffer}`) - } - this.buf = buffer - this.offset = 0 - } - - /** - * Returns false if there is still data to be read at the current decoding - * position, and true if we are at the end of the buffer. - */ - get done() { - return this.offset === this.buf.byteLength - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - } - - /** - * Moves the current decoding position forward by the specified number of - * bytes, without decoding anything. - */ - skip(bytes) { - if (this.offset + bytes > this.buf.byteLength) { - throw new RangeError("cannot skip beyond end of buffer") - } - this.offset += bytes - } - - /** - * Reads one byte (0 to 255) from the buffer. - */ - readByte() { - this.offset += 1 - return this.buf[this.offset - 1] - } - - /** - * Reads a LEB128-encoded unsigned integer from the current position in the buffer. - * Throws an exception if the value doesn't fit in a 32-bit unsigned int. - */ - readUint32() { - let result = 0, - shift = 0 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - if (shift === 28 && (nextByte & 0xf0) !== 0) { - // more than 5 bytes, or value > 0xffffffff - throw new RangeError("number out of range") - } - result = (result | ((nextByte & 0x7f) << shift)) >>> 0 // right shift to interpret value as unsigned - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) return result - } - throw new RangeError("buffer ended with incomplete number") - } - - /** - * Reads a LEB128-encoded signed integer from the current position in the buffer. - * Throws an exception if the value doesn't fit in a 32-bit signed int. - */ - readInt32() { - let result = 0, - shift = 0 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - if ( - (shift === 28 && (nextByte & 0x80) !== 0) || // more than 5 bytes - (shift === 28 && (nextByte & 0x40) === 0 && (nextByte & 0x38) !== 0) || // positive int > 0x7fffffff - (shift === 28 && (nextByte & 0x40) !== 0 && (nextByte & 0x38) !== 0x38) - ) { - // negative int < -0x80000000 - throw new RangeError("number out of range") - } - result |= (nextByte & 0x7f) << shift - shift += 7 - this.offset++ - - if ((nextByte & 0x80) === 0) { - if ((nextByte & 0x40) === 0 || shift > 28) { - return result // positive, or negative value that doesn't need sign-extending - } else { - return result | (-1 << shift) // sign-extend negative integer - } - } - } - throw new RangeError("buffer ended with incomplete number") - } - - /** - * Reads a LEB128-encoded unsigned integer from the current position in the - * buffer. Allows any integer that can be safely represented by JavaScript - * (up to 2^53 - 1), and throws an exception outside of that range. - */ - readUint53() { - const { low32, high32 } = this.readUint64() - if (high32 < 0 || high32 > 0x1fffff) { - throw new RangeError("number out of range") - } - return high32 * 0x100000000 + low32 - } - - /** - * Reads a LEB128-encoded signed integer from the current position in the - * buffer. Allows any integer that can be safely represented by JavaScript - * (between -(2^53 - 1) and 2^53 - 1), throws an exception outside of that range. - */ - readInt53() { - const { low32, high32 } = this.readInt64() - if ( - high32 < -0x200000 || - (high32 === -0x200000 && low32 === 0) || - high32 > 0x1fffff - ) { - throw new RangeError("number out of range") - } - return high32 * 0x100000000 + low32 - } - - /** - * Reads a LEB128-encoded unsigned integer from the current position in the - * buffer. Throws an exception if the value doesn't fit in a 64-bit unsigned - * int. Returns the number in two 32-bit halves, as an object of the form - * `{high32, low32}`. - */ - readUint64() { - let low32 = 0, - high32 = 0, - shift = 0 - while (this.offset < this.buf.byteLength && shift <= 28) { - const nextByte = this.buf[this.offset] - low32 = (low32 | ((nextByte & 0x7f) << shift)) >>> 0 // right shift to interpret value as unsigned - if (shift === 28) { - high32 = (nextByte & 0x70) >>> 4 - } - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) return { high32, low32 } - } - - shift = 3 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - if (shift === 31 && (nextByte & 0xfe) !== 0) { - // more than 10 bytes, or value > 2^64 - 1 - throw new RangeError("number out of range") - } - high32 = (high32 | ((nextByte & 0x7f) << shift)) >>> 0 - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) return { high32, low32 } - } - throw new RangeError("buffer ended with incomplete number") - } - - /** - * Reads a LEB128-encoded signed integer from the current position in the - * buffer. Throws an exception if the value doesn't fit in a 64-bit signed - * int. Returns the number in two 32-bit halves, as an object of the form - * `{high32, low32}`. The `low32` half is always non-negative, and the - * sign of the `high32` half indicates the sign of the 64-bit number. - */ - readInt64() { - let low32 = 0, - high32 = 0, - shift = 0 - while (this.offset < this.buf.byteLength && shift <= 28) { - const nextByte = this.buf[this.offset] - low32 = (low32 | ((nextByte & 0x7f) << shift)) >>> 0 // right shift to interpret value as unsigned - if (shift === 28) { - high32 = (nextByte & 0x70) >>> 4 - } - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) { - if ((nextByte & 0x40) !== 0) { - // sign-extend negative integer - if (shift < 32) low32 = (low32 | (-1 << shift)) >>> 0 - high32 |= -1 << Math.max(shift - 32, 0) - } - return { high32, low32 } - } - } - - shift = 3 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - // On the 10th byte there are only two valid values: all 7 value bits zero - // (if the value is positive) or all 7 bits one (if the value is negative) - if (shift === 31 && nextByte !== 0 && nextByte !== 0x7f) { - throw new RangeError("number out of range") - } - high32 |= (nextByte & 0x7f) << shift - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) { - if ((nextByte & 0x40) !== 0 && shift < 32) { - // sign-extend negative integer - high32 |= -1 << shift - } - return { high32, low32 } - } - } - throw new RangeError("buffer ended with incomplete number") - } - - /** - * Extracts a subarray `length` bytes in size, starting from the current - * position in the buffer, and moves the position forward. - */ - readRawBytes(length) { - const start = this.offset - if (start + length > this.buf.byteLength) { - throw new RangeError("subarray exceeds buffer size") - } - this.offset += length - return this.buf.subarray(start, this.offset) - } - - /** - * Extracts `length` bytes from the buffer, starting from the current position, - * and returns the UTF-8 string decoding of those bytes. - */ - readRawString(length) { - return utf8ToString(this.readRawBytes(length)) - } - - /** - * Extracts a subarray from the current position in the buffer, prefixed with - * its length in bytes (encoded as an unsigned LEB128 integer). - */ - readPrefixedBytes() { - return this.readRawBytes(this.readUint53()) - } - - /** - * Reads a UTF-8 string from the current position in the buffer, prefixed with its - * length in bytes (where the length is encoded as an unsigned LEB128 integer). - */ - readPrefixedString() { - return utf8ToString(this.readPrefixedBytes()) - } - - /** - * Reads a byte array from the current position in the buffer, prefixed with its - * length in bytes. Returns that byte array converted to a hexadecimal string. - */ - readHexString() { - return bytesToHexString(this.readPrefixedBytes()) - } -} - -/** - * An encoder that uses run-length encoding to compress sequences of repeated - * values. The constructor argument specifies the type of values, which may be - * either 'int', 'uint', or 'utf8'. Besides valid values of the selected - * datatype, values may also be null. - * - * The encoded buffer starts with a LEB128-encoded signed integer, the - * repetition count. The interpretation of the following values depends on this - * repetition count: - * - If this number is a positive value n, the next value in the buffer - * (encoded as the specified datatype) is repeated n times in the sequence. - * - If the repetition count is a negative value -n, then the next n values - * (encoded as the specified datatype) in the buffer are treated as a - * literal, i.e. they appear in the sequence without any further - * interpretation or repetition. - * - If the repetition count is zero, then the next value in the buffer is a - * LEB128-encoded unsigned integer indicating the number of null values - * that appear at the current position in the sequence. - * - * After one of these three has completed, the process repeats, starting again - * with a repetition count, until we reach the end of the buffer. - */ -class RLEEncoder extends Encoder { - constructor(type) { - super() - this.type = type - this.state = "empty" - this.lastValue = undefined - this.count = 0 - this.literal = [] - } - - /** - * Appends a new value to the sequence. If `repetitions` is given, the value is repeated - * `repetitions` times. - */ - appendValue(value, repetitions = 1) { - this._appendValue(value, repetitions) - } - - /** - * Like `appendValue()`, but this method is not overridden by `DeltaEncoder`. - */ - _appendValue(value, repetitions = 1) { - if (repetitions <= 0) return - if (this.state === "empty") { - this.state = - value === null - ? "nulls" - : repetitions === 1 - ? "loneValue" - : "repetition" - this.lastValue = value - this.count = repetitions - } else if (this.state === "loneValue") { - if (value === null) { - this.flush() - this.state = "nulls" - this.count = repetitions - } else if (value === this.lastValue) { - this.state = "repetition" - this.count = 1 + repetitions - } else if (repetitions > 1) { - this.flush() - this.state = "repetition" - this.count = repetitions - this.lastValue = value - } else { - this.state = "literal" - this.literal = [this.lastValue] - this.lastValue = value - } - } else if (this.state === "repetition") { - if (value === null) { - this.flush() - this.state = "nulls" - this.count = repetitions - } else if (value === this.lastValue) { - this.count += repetitions - } else if (repetitions > 1) { - this.flush() - this.state = "repetition" - this.count = repetitions - this.lastValue = value - } else { - this.flush() - this.state = "loneValue" - this.lastValue = value - } - } else if (this.state === "literal") { - if (value === null) { - this.literal.push(this.lastValue) - this.flush() - this.state = "nulls" - this.count = repetitions - } else if (value === this.lastValue) { - this.flush() - this.state = "repetition" - this.count = 1 + repetitions - } else if (repetitions > 1) { - this.literal.push(this.lastValue) - this.flush() - this.state = "repetition" - this.count = repetitions - this.lastValue = value - } else { - this.literal.push(this.lastValue) - this.lastValue = value - } - } else if (this.state === "nulls") { - if (value === null) { - this.count += repetitions - } else if (repetitions > 1) { - this.flush() - this.state = "repetition" - this.count = repetitions - this.lastValue = value - } else { - this.flush() - this.state = "loneValue" - this.lastValue = value - } - } - } - - /** - * Copies values from the RLEDecoder `decoder` into this encoder. The `options` object may - * contain the following keys: - * - `count`: The number of values to copy. If not specified, copies all remaining values. - * - `sumValues`: If true, the function computes the sum of all numeric values as they are - * copied (null values are counted as zero), and returns that number. - * - `sumShift`: If set, values are shifted right by `sumShift` bits before adding to the sum. - * - * Returns an object of the form `{nonNullValues, sum}` where `nonNullValues` is the number of - * non-null values copied, and `sum` is the sum (only if the `sumValues` option is set). - */ - copyFrom(decoder, options = {}) { - const { count, sumValues, sumShift } = options - if (!(decoder instanceof RLEDecoder) || decoder.type !== this.type) { - throw new TypeError("incompatible type of decoder") - } - let remaining = typeof count === "number" ? count : Number.MAX_SAFE_INTEGER - let nonNullValues = 0, - sum = 0 - if (count && remaining > 0 && decoder.done) - throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) - return sumValues ? { nonNullValues, sum } : { nonNullValues } - - // Copy a value so that we have a well-defined starting state. NB: when super.copyFrom() is - // called by the DeltaEncoder subclass, the following calls to readValue() and appendValue() - // refer to the overridden methods, while later readRecord(), readRawValue() and _appendValue() - // calls refer to the non-overridden RLEDecoder/RLEEncoder methods. - let firstValue = decoder.readValue() - if (firstValue === null) { - const numNulls = Math.min(decoder.count + 1, remaining) - remaining -= numNulls - decoder.count -= numNulls - 1 - this.appendValue(null, numNulls) - if (count && remaining > 0 && decoder.done) - throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) - return sumValues ? { nonNullValues, sum } : { nonNullValues } - firstValue = decoder.readValue() - if (firstValue === null) - throw new RangeError("null run must be followed by non-null value") - } - this.appendValue(firstValue) - remaining-- - nonNullValues++ - if (sumValues) sum += sumShift ? firstValue >>> sumShift : firstValue - if (count && remaining > 0 && decoder.done) - throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) - return sumValues ? { nonNullValues, sum } : { nonNullValues } - - // Copy data at the record level without expanding repetitions - let firstRun = decoder.count > 0 - while (remaining > 0 && !decoder.done) { - if (!firstRun) decoder.readRecord() - const numValues = Math.min(decoder.count, remaining) - decoder.count -= numValues - - if (decoder.state === "literal") { - nonNullValues += numValues - for (let i = 0; i < numValues; i++) { - if (decoder.done) throw new RangeError("incomplete literal") - const value = decoder.readRawValue() - if (value === decoder.lastValue) - throw new RangeError( - "Repetition of values is not allowed in literal" - ) - decoder.lastValue = value - this._appendValue(value) - if (sumValues) sum += sumShift ? value >>> sumShift : value - } - } else if (decoder.state === "repetition") { - nonNullValues += numValues - if (sumValues) - sum += - numValues * - (sumShift ? decoder.lastValue >>> sumShift : decoder.lastValue) - const value = decoder.lastValue - this._appendValue(value) - if (numValues > 1) { - this._appendValue(value) - if (this.state !== "repetition") - throw new RangeError(`Unexpected state ${this.state}`) - this.count += numValues - 2 - } - } else if (decoder.state === "nulls") { - this._appendValue(null) - if (this.state !== "nulls") - throw new RangeError(`Unexpected state ${this.state}`) - this.count += numValues - 1 - } - - firstRun = false - remaining -= numValues - } - if (count && remaining > 0 && decoder.done) - throw new RangeError(`cannot copy ${count} values`) - return sumValues ? { nonNullValues, sum } : { nonNullValues } - } - - /** - * Private method, do not call from outside the class. - */ - flush() { - if (this.state === "loneValue") { - this.appendInt32(-1) - this.appendRawValue(this.lastValue) - } else if (this.state === "repetition") { - this.appendInt53(this.count) - this.appendRawValue(this.lastValue) - } else if (this.state === "literal") { - this.appendInt53(-this.literal.length) - for (let v of this.literal) this.appendRawValue(v) - } else if (this.state === "nulls") { - this.appendInt32(0) - this.appendUint53(this.count) - } - this.state = "empty" - } - - /** - * Private method, do not call from outside the class. - */ - appendRawValue(value) { - if (this.type === "int") { - this.appendInt53(value) - } else if (this.type === "uint") { - this.appendUint53(value) - } else if (this.type === "utf8") { - this.appendPrefixedString(value) - } else { - throw new RangeError(`Unknown RLEEncoder datatype: ${this.type}`) - } - } - - /** - * Flushes any unwritten data to the buffer. Call this before reading from - * the buffer constructed by this Encoder. - */ - finish() { - if (this.state === "literal") this.literal.push(this.lastValue) - // Don't write anything if the only values we have seen are nulls - if (this.state !== "nulls" || this.offset > 0) this.flush() - } -} - -/** - * Counterpart to RLEEncoder: reads values from an RLE-compressed sequence, - * returning nulls and repeated values as required. - */ -class RLEDecoder extends Decoder { - constructor(type, buffer) { - super(buffer) - this.type = type - this.lastValue = undefined - this.count = 0 - this.state = undefined - } - - /** - * Returns false if there is still data to be read at the current decoding - * position, and true if we are at the end of the buffer. - */ - get done() { - return this.count === 0 && this.offset === this.buf.byteLength - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - this.lastValue = undefined - this.count = 0 - this.state = undefined - } - - /** - * Returns the next value (or null) in the sequence. - */ - readValue() { - if (this.done) return null - if (this.count === 0) this.readRecord() - this.count -= 1 - if (this.state === "literal") { - const value = this.readRawValue() - if (value === this.lastValue) - throw new RangeError("Repetition of values is not allowed in literal") - this.lastValue = value - return value - } else { - return this.lastValue - } - } - - /** - * Discards the next `numSkip` values in the sequence. - */ - skipValues(numSkip) { - while (numSkip > 0 && !this.done) { - if (this.count === 0) { - this.count = this.readInt53() - if (this.count > 0) { - this.lastValue = - this.count <= numSkip ? this.skipRawValues(1) : this.readRawValue() - this.state = "repetition" - } else if (this.count < 0) { - this.count = -this.count - this.state = "literal" - } else { - // this.count == 0 - this.count = this.readUint53() - this.lastValue = null - this.state = "nulls" - } - } - - const consume = Math.min(numSkip, this.count) - if (this.state === "literal") this.skipRawValues(consume) - numSkip -= consume - this.count -= consume - } - } - - /** - * Private method, do not call from outside the class. - * Reads a repetition count from the buffer and sets up the state appropriately. - */ - readRecord() { - this.count = this.readInt53() - if (this.count > 1) { - const value = this.readRawValue() - if ( - (this.state === "repetition" || this.state === "literal") && - this.lastValue === value - ) { - throw new RangeError( - "Successive repetitions with the same value are not allowed" - ) - } - this.state = "repetition" - this.lastValue = value - } else if (this.count === 1) { - throw new RangeError( - "Repetition count of 1 is not allowed, use a literal instead" - ) - } else if (this.count < 0) { - this.count = -this.count - if (this.state === "literal") - throw new RangeError("Successive literals are not allowed") - this.state = "literal" - } else { - // this.count == 0 - if (this.state === "nulls") - throw new RangeError("Successive null runs are not allowed") - this.count = this.readUint53() - if (this.count === 0) - throw new RangeError("Zero-length null runs are not allowed") - this.lastValue = null - this.state = "nulls" - } - } - - /** - * Private method, do not call from outside the class. - * Reads one value of the datatype configured on construction. - */ - readRawValue() { - if (this.type === "int") { - return this.readInt53() - } else if (this.type === "uint") { - return this.readUint53() - } else if (this.type === "utf8") { - return this.readPrefixedString() - } else { - throw new RangeError(`Unknown RLEDecoder datatype: ${this.type}`) - } - } - - /** - * Private method, do not call from outside the class. - * Skips over `num` values of the datatype configured on construction. - */ - skipRawValues(num) { - if (this.type === "utf8") { - for (let i = 0; i < num; i++) this.skip(this.readUint53()) - } else { - while (num > 0 && this.offset < this.buf.byteLength) { - if ((this.buf[this.offset] & 0x80) === 0) num-- - this.offset++ - } - if (num > 0) throw new RangeError("cannot skip beyond end of buffer") - } - } -} - -/** - * A variant of RLEEncoder: rather than storing the actual values passed to - * appendValue(), this version stores only the first value, and for all - * subsequent values it stores the difference to the previous value. This - * encoding is good when values tend to come in sequentially incrementing runs, - * because the delta between successive values is 1, and repeated values of 1 - * are easily compressed with run-length encoding. - * - * Null values are also allowed, as with RLEEncoder. - */ -class DeltaEncoder extends RLEEncoder { - constructor() { - super("int") - this.absoluteValue = 0 - } - - /** - * Appends a new integer value to the sequence. If `repetitions` is given, the value is repeated - * `repetitions` times. - */ - appendValue(value, repetitions = 1) { - if (repetitions <= 0) return - if (typeof value === "number") { - super.appendValue(value - this.absoluteValue, 1) - this.absoluteValue = value - if (repetitions > 1) super.appendValue(0, repetitions - 1) - } else { - super.appendValue(value, repetitions) - } - } - - /** - * Copies values from the DeltaDecoder `decoder` into this encoder. The `options` object may - * contain the key `count`, indicating the number of values to copy. If not specified, copies - * all remaining values in the decoder. - */ - copyFrom(decoder, options = {}) { - if (options.sumValues) { - throw new RangeError("unsupported options for DeltaEncoder.copyFrom()") - } - if (!(decoder instanceof DeltaDecoder)) { - throw new TypeError("incompatible type of decoder") - } - - let remaining = options.count - if (remaining > 0 && decoder.done) - throw new RangeError(`cannot copy ${remaining} values`) - if (remaining === 0 || decoder.done) return - - // Copy any null values, and the first non-null value, so that appendValue() computes the - // difference between the encoder's last value and the decoder's first (absolute) value. - let value = decoder.readValue(), - nulls = 0 - this.appendValue(value) - if (value === null) { - nulls = decoder.count + 1 - if (remaining !== undefined && remaining < nulls) nulls = remaining - decoder.count -= nulls - 1 - this.count += nulls - 1 - if (remaining > nulls && decoder.done) - throw new RangeError(`cannot copy ${remaining} values`) - if (remaining === nulls || decoder.done) return - - // The next value read is certain to be non-null because we're not at the end of the decoder, - // and a run of nulls must be followed by a run of non-nulls. - if (decoder.count === 0) this.appendValue(decoder.readValue()) - } - - // Once we have the first value, the subsequent relative values can be copied verbatim without - // any further processing. Note that the first value copied by super.copyFrom() is an absolute - // value, while subsequent values are relative. Thus, the sum of all of the (non-null) copied - // values must equal the absolute value of the final element copied. - if (remaining !== undefined) remaining -= nulls + 1 - const { nonNullValues, sum } = super.copyFrom(decoder, { - count: remaining, - sumValues: true, - }) - if (nonNullValues > 0) { - this.absoluteValue = sum - decoder.absoluteValue = sum - } - } -} - -/** - * Counterpart to DeltaEncoder: reads values from a delta-compressed sequence of - * numbers (may include null values). - */ -class DeltaDecoder extends RLEDecoder { - constructor(buffer) { - super("int", buffer) - this.absoluteValue = 0 - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - this.lastValue = undefined - this.count = 0 - this.state = undefined - this.absoluteValue = 0 - } - - /** - * Returns the next integer (or null) value in the sequence. - */ - readValue() { - const value = super.readValue() - if (value === null) return null - this.absoluteValue += value - return this.absoluteValue - } - - /** - * Discards the next `numSkip` values in the sequence. - */ - skipValues(numSkip) { - while (numSkip > 0 && !this.done) { - if (this.count === 0) this.readRecord() - const consume = Math.min(numSkip, this.count) - if (this.state === "literal") { - for (let i = 0; i < consume; i++) { - this.lastValue = this.readRawValue() - this.absoluteValue += this.lastValue - } - } else if (this.state === "repetition") { - this.absoluteValue += consume * this.lastValue - } - numSkip -= consume - this.count -= consume - } - } -} - -/** - * Encodes a sequence of boolean values by mapping it to a sequence of integers: - * the number of false values, followed by the number of true values, followed - * by the number of false values, and so on. Each number is encoded as a LEB128 - * unsigned integer. This encoding is a bit like RLEEncoder, except that we - * only encode the repetition count but not the actual value, since the values - * just alternate between false and true (starting with false). - */ -class BooleanEncoder extends Encoder { - constructor() { - super() - this.lastValue = false - this.count = 0 - } - - /** - * Appends a new value to the sequence. If `repetitions` is given, the value is repeated - * `repetitions` times. - */ - appendValue(value, repetitions = 1) { - if (value !== false && value !== true) { - throw new RangeError(`Unsupported value for BooleanEncoder: ${value}`) - } - if (repetitions <= 0) return - if (this.lastValue === value) { - this.count += repetitions - } else { - this.appendUint53(this.count) - this.lastValue = value - this.count = repetitions - } - } - - /** - * Copies values from the BooleanDecoder `decoder` into this encoder. The `options` object may - * contain the key `count`, indicating the number of values to copy. If not specified, copies - * all remaining values in the decoder. - */ - copyFrom(decoder, options = {}) { - if (!(decoder instanceof BooleanDecoder)) { - throw new TypeError("incompatible type of decoder") - } - - const { count } = options - let remaining = typeof count === "number" ? count : Number.MAX_SAFE_INTEGER - if (count && remaining > 0 && decoder.done) - throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) return - - // Copy one value to bring decoder and encoder state into sync, then finish that value's repetitions - this.appendValue(decoder.readValue()) - remaining-- - const firstCopy = Math.min(decoder.count, remaining) - this.count += firstCopy - decoder.count -= firstCopy - remaining -= firstCopy - - while (remaining > 0 && !decoder.done) { - decoder.count = decoder.readUint53() - if (decoder.count === 0) - throw new RangeError("Zero-length runs are not allowed") - decoder.lastValue = !decoder.lastValue - this.appendUint53(this.count) - - const numCopied = Math.min(decoder.count, remaining) - this.count = numCopied - this.lastValue = decoder.lastValue - decoder.count -= numCopied - remaining -= numCopied - } - - if (count && remaining > 0 && decoder.done) - throw new RangeError(`cannot copy ${count} values`) - } - - /** - * Flushes any unwritten data to the buffer. Call this before reading from - * the buffer constructed by this Encoder. - */ - finish() { - if (this.count > 0) { - this.appendUint53(this.count) - this.count = 0 - } - } -} - -/** - * Counterpart to BooleanEncoder: reads boolean values from a runlength-encoded - * sequence. - */ -class BooleanDecoder extends Decoder { - constructor(buffer) { - super(buffer) - this.lastValue = true // is negated the first time we read a count - this.firstRun = true - this.count = 0 - } - - /** - * Returns false if there is still data to be read at the current decoding - * position, and true if we are at the end of the buffer. - */ - get done() { - return this.count === 0 && this.offset === this.buf.byteLength - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - this.lastValue = true - this.firstRun = true - this.count = 0 - } - - /** - * Returns the next value in the sequence. - */ - readValue() { - if (this.done) return false - while (this.count === 0) { - this.count = this.readUint53() - this.lastValue = !this.lastValue - if (this.count === 0 && !this.firstRun) { - throw new RangeError("Zero-length runs are not allowed") - } - this.firstRun = false - } - this.count -= 1 - return this.lastValue - } - - /** - * Discards the next `numSkip` values in the sequence. - */ - skipValues(numSkip) { - while (numSkip > 0 && !this.done) { - if (this.count === 0) { - this.count = this.readUint53() - this.lastValue = !this.lastValue - if (this.count === 0) - throw new RangeError("Zero-length runs are not allowed") - } - if (this.count < numSkip) { - numSkip -= this.count - this.count = 0 - } else { - this.count -= numSkip - numSkip = 0 - } - } - } -} - -module.exports = { - stringToUtf8, - utf8ToString, - hexStringToBytes, - bytesToHexString, - Encoder, - Decoder, - RLEEncoder, - RLEDecoder, - DeltaEncoder, - DeltaDecoder, - BooleanEncoder, - BooleanDecoder, -} diff --git a/javascript/test/legacy/sync.js b/javascript/test/legacy/sync.js deleted file mode 100644 index 233c4292..00000000 --- a/javascript/test/legacy/sync.js +++ /dev/null @@ -1,566 +0,0 @@ -/** - * Implementation of the data synchronisation protocol that brings a local and a remote document - * into the same state. This is typically used when two nodes have been disconnected for some time, - * and need to exchange any changes that happened while they were disconnected. The two nodes that - * are syncing could be client and server, or server and client, or two peers with symmetric roles. - * - * The protocol is based on this paper: Martin Kleppmann and Heidi Howard. Byzantine Eventual - * Consistency and the Fundamental Limits of Peer-to-Peer Databases. https://arxiv.org/abs/2012.00472 - * - * The protocol assumes that every time a node successfully syncs with another node, it remembers - * the current heads (as returned by `Backend.getHeads()`) after the last sync with that node. The - * next time we try to sync with the same node, we start from the assumption that the other node's - * document version is no older than the outcome of the last sync, so we only need to exchange any - * changes that are more recent than the last sync. This assumption may not be true if the other - * node did not correctly persist its state (perhaps it crashed before writing the result of the - * last sync to disk), and we fall back to sending the entire document in this case. - */ - -const Backend = null //require('./backend') -const { - hexStringToBytes, - bytesToHexString, - Encoder, - Decoder, -} = require("./encoding") -const { decodeChangeMeta } = require("./columnar") -const { copyObject } = require("./common") - -const HASH_SIZE = 32 // 256 bits = 32 bytes -const MESSAGE_TYPE_SYNC = 0x42 // first byte of a sync message, for identification -const PEER_STATE_TYPE = 0x43 // first byte of an encoded peer state, for identification - -// These constants correspond to a 1% false positive rate. The values can be changed without -// breaking compatibility of the network protocol, since the parameters used for a particular -// Bloom filter are encoded in the wire format. -const BITS_PER_ENTRY = 10, - NUM_PROBES = 7 - -/** - * A Bloom filter implementation that can be serialised to a byte array for transmission - * over a network. The entries that are added are assumed to already be SHA-256 hashes, - * so this implementation does not perform its own hashing. - */ -class BloomFilter { - constructor(arg) { - if (Array.isArray(arg)) { - // arg is an array of SHA256 hashes in hexadecimal encoding - this.numEntries = arg.length - this.numBitsPerEntry = BITS_PER_ENTRY - this.numProbes = NUM_PROBES - this.bits = new Uint8Array( - Math.ceil((this.numEntries * this.numBitsPerEntry) / 8) - ) - for (let hash of arg) this.addHash(hash) - } else if (arg instanceof Uint8Array) { - if (arg.byteLength === 0) { - this.numEntries = 0 - this.numBitsPerEntry = 0 - this.numProbes = 0 - this.bits = arg - } else { - const decoder = new Decoder(arg) - this.numEntries = decoder.readUint32() - this.numBitsPerEntry = decoder.readUint32() - this.numProbes = decoder.readUint32() - this.bits = decoder.readRawBytes( - Math.ceil((this.numEntries * this.numBitsPerEntry) / 8) - ) - } - } else { - throw new TypeError("invalid argument") - } - } - - /** - * Returns the Bloom filter state, encoded as a byte array. - */ - get bytes() { - if (this.numEntries === 0) return new Uint8Array(0) - const encoder = new Encoder() - encoder.appendUint32(this.numEntries) - encoder.appendUint32(this.numBitsPerEntry) - encoder.appendUint32(this.numProbes) - encoder.appendRawBytes(this.bits) - return encoder.buffer - } - - /** - * Given a SHA-256 hash (as hex string), returns an array of probe indexes indicating which bits - * in the Bloom filter need to be tested or set for this particular entry. We do this by - * interpreting the first 12 bytes of the hash as three little-endian 32-bit unsigned integers, - * and then using triple hashing to compute the probe indexes. The algorithm comes from: - * - * Peter C. Dillinger and Panagiotis Manolios. Bloom Filters in Probabilistic Verification. - * 5th International Conference on Formal Methods in Computer-Aided Design (FMCAD), November 2004. - * http://www.ccis.northeastern.edu/home/pete/pub/bloom-filters-verification.pdf - */ - getProbes(hash) { - const hashBytes = hexStringToBytes(hash), - modulo = 8 * this.bits.byteLength - if (hashBytes.byteLength !== 32) - throw new RangeError(`Not a 256-bit hash: ${hash}`) - // on the next three lines, the right shift means interpret value as unsigned - let x = - ((hashBytes[0] | - (hashBytes[1] << 8) | - (hashBytes[2] << 16) | - (hashBytes[3] << 24)) >>> - 0) % - modulo - let y = - ((hashBytes[4] | - (hashBytes[5] << 8) | - (hashBytes[6] << 16) | - (hashBytes[7] << 24)) >>> - 0) % - modulo - let z = - ((hashBytes[8] | - (hashBytes[9] << 8) | - (hashBytes[10] << 16) | - (hashBytes[11] << 24)) >>> - 0) % - modulo - const probes = [x] - for (let i = 1; i < this.numProbes; i++) { - x = (x + y) % modulo - y = (y + z) % modulo - probes.push(x) - } - return probes - } - - /** - * Sets the Bloom filter bits corresponding to a given SHA-256 hash (given as hex string). - */ - addHash(hash) { - for (let probe of this.getProbes(hash)) { - this.bits[probe >>> 3] |= 1 << (probe & 7) - } - } - - /** - * Tests whether a given SHA-256 hash (given as hex string) is contained in the Bloom filter. - */ - containsHash(hash) { - if (this.numEntries === 0) return false - for (let probe of this.getProbes(hash)) { - if ((this.bits[probe >>> 3] & (1 << (probe & 7))) === 0) { - return false - } - } - return true - } -} - -/** - * Encodes a sorted array of SHA-256 hashes (as hexadecimal strings) into a byte array. - */ -function encodeHashes(encoder, hashes) { - if (!Array.isArray(hashes)) throw new TypeError("hashes must be an array") - encoder.appendUint32(hashes.length) - for (let i = 0; i < hashes.length; i++) { - if (i > 0 && hashes[i - 1] >= hashes[i]) - throw new RangeError("hashes must be sorted") - const bytes = hexStringToBytes(hashes[i]) - if (bytes.byteLength !== HASH_SIZE) - throw new TypeError("heads hashes must be 256 bits") - encoder.appendRawBytes(bytes) - } -} - -/** - * Decodes a byte array in the format returned by encodeHashes(), and returns its content as an - * array of hex strings. - */ -function decodeHashes(decoder) { - let length = decoder.readUint32(), - hashes = [] - for (let i = 0; i < length; i++) { - hashes.push(bytesToHexString(decoder.readRawBytes(HASH_SIZE))) - } - return hashes -} - -/** - * Takes a sync message of the form `{heads, need, have, changes}` and encodes it as a byte array for - * transmission. - */ -function encodeSyncMessage(message) { - const encoder = new Encoder() - encoder.appendByte(MESSAGE_TYPE_SYNC) - encodeHashes(encoder, message.heads) - encodeHashes(encoder, message.need) - encoder.appendUint32(message.have.length) - for (let have of message.have) { - encodeHashes(encoder, have.lastSync) - encoder.appendPrefixedBytes(have.bloom) - } - encoder.appendUint32(message.changes.length) - for (let change of message.changes) { - encoder.appendPrefixedBytes(change) - } - return encoder.buffer -} - -/** - * Takes a binary-encoded sync message and decodes it into the form `{heads, need, have, changes}`. - */ -function decodeSyncMessage(bytes) { - const decoder = new Decoder(bytes) - const messageType = decoder.readByte() - if (messageType !== MESSAGE_TYPE_SYNC) { - throw new RangeError(`Unexpected message type: ${messageType}`) - } - const heads = decodeHashes(decoder) - const need = decodeHashes(decoder) - const haveCount = decoder.readUint32() - let message = { heads, need, have: [], changes: [] } - for (let i = 0; i < haveCount; i++) { - const lastSync = decodeHashes(decoder) - const bloom = decoder.readPrefixedBytes(decoder) - message.have.push({ lastSync, bloom }) - } - const changeCount = decoder.readUint32() - for (let i = 0; i < changeCount; i++) { - const change = decoder.readPrefixedBytes() - message.changes.push(change) - } - // Ignore any trailing bytes -- they can be used for extensions by future versions of the protocol - return message -} - -/** - * Takes a SyncState and encodes as a byte array those parts of the state that should persist across - * an application restart or disconnect and reconnect. The ephemeral parts of the state that should - * be cleared on reconnect are not encoded. - */ -function encodeSyncState(syncState) { - const encoder = new Encoder() - encoder.appendByte(PEER_STATE_TYPE) - encodeHashes(encoder, syncState.sharedHeads) - return encoder.buffer -} - -/** - * Takes a persisted peer state as encoded by `encodeSyncState` and decodes it into a SyncState - * object. The parts of the peer state that were not encoded are initialised with default values. - */ -function decodeSyncState(bytes) { - const decoder = new Decoder(bytes) - const recordType = decoder.readByte() - if (recordType !== PEER_STATE_TYPE) { - throw new RangeError(`Unexpected record type: ${recordType}`) - } - const sharedHeads = decodeHashes(decoder) - return Object.assign(initSyncState(), { sharedHeads }) -} - -/** - * Constructs a Bloom filter containing all changes that are not one of the hashes in - * `lastSync` or its transitive dependencies. In other words, the filter contains those - * changes that have been applied since the version identified by `lastSync`. Returns - * an object of the form `{lastSync, bloom}` as required for the `have` field of a sync - * message. - */ -function makeBloomFilter(backend, lastSync) { - const newChanges = Backend.getChanges(backend, lastSync) - const hashes = newChanges.map(change => decodeChangeMeta(change, true).hash) - return { lastSync, bloom: new BloomFilter(hashes).bytes } -} - -/** - * Call this function when a sync message is received from another node. The `message` argument - * needs to already have been decoded using `decodeSyncMessage()`. This function determines the - * changes that we need to send to the other node in response. Returns an array of changes (as - * byte arrays). - */ -function getChangesToSend(backend, have, need) { - if (have.length === 0) { - return need - .map(hash => Backend.getChangeByHash(backend, hash)) - .filter(change => change !== undefined) - } - - let lastSyncHashes = {}, - bloomFilters = [] - for (let h of have) { - for (let hash of h.lastSync) lastSyncHashes[hash] = true - bloomFilters.push(new BloomFilter(h.bloom)) - } - - // Get all changes that were added since the last sync - const changes = Backend.getChanges(backend, Object.keys(lastSyncHashes)).map( - change => decodeChangeMeta(change, true) - ) - - let changeHashes = {}, - dependents = {}, - hashesToSend = {} - for (let change of changes) { - changeHashes[change.hash] = true - - // For each change, make a list of changes that depend on it - for (let dep of change.deps) { - if (!dependents[dep]) dependents[dep] = [] - dependents[dep].push(change.hash) - } - - // Exclude any change hashes contained in one or more Bloom filters - if (bloomFilters.every(bloom => !bloom.containsHash(change.hash))) { - hashesToSend[change.hash] = true - } - } - - // Include any changes that depend on a Bloom-negative change - let stack = Object.keys(hashesToSend) - while (stack.length > 0) { - const hash = stack.pop() - if (dependents[hash]) { - for (let dep of dependents[hash]) { - if (!hashesToSend[dep]) { - hashesToSend[dep] = true - stack.push(dep) - } - } - } - } - - // Include any explicitly requested changes - let changesToSend = [] - for (let hash of need) { - hashesToSend[hash] = true - if (!changeHashes[hash]) { - // Change is not among those returned by getMissingChanges()? - const change = Backend.getChangeByHash(backend, hash) - if (change) changesToSend.push(change) - } - } - - // Return changes in the order they were returned by getMissingChanges() - for (let change of changes) { - if (hashesToSend[change.hash]) changesToSend.push(change.change) - } - return changesToSend -} - -function initSyncState() { - return { - sharedHeads: [], - lastSentHeads: [], - theirHeads: null, - theirNeed: null, - theirHave: null, - sentHashes: {}, - } -} - -function compareArrays(a, b) { - return a.length === b.length && a.every((v, i) => v === b[i]) -} - -/** - * Given a backend and what we believe to be the state of our peer, generate a message which tells - * them about we have and includes any changes we believe they need - */ -function generateSyncMessage(backend, syncState) { - if (!backend) { - throw new Error("generateSyncMessage called with no Automerge document") - } - if (!syncState) { - throw new Error( - "generateSyncMessage requires a syncState, which can be created with initSyncState()" - ) - } - - let { - sharedHeads, - lastSentHeads, - theirHeads, - theirNeed, - theirHave, - sentHashes, - } = syncState - const ourHeads = Backend.getHeads(backend) - - // Hashes to explicitly request from the remote peer: any missing dependencies of unapplied - // changes, and any of the remote peer's heads that we don't know about - const ourNeed = Backend.getMissingDeps(backend, theirHeads || []) - - // There are two reasons why ourNeed may be nonempty: 1. we might be missing dependencies due to - // Bloom filter false positives; 2. we might be missing heads that the other peer mentioned - // because they (intentionally) only sent us a subset of changes. In case 1, we leave the `have` - // field of the message empty because we just want to fill in the missing dependencies for now. - // In case 2, or if ourNeed is empty, we send a Bloom filter to request any unsent changes. - let ourHave = [] - if (!theirHeads || ourNeed.every(hash => theirHeads.includes(hash))) { - ourHave = [makeBloomFilter(backend, sharedHeads)] - } - - // Fall back to a full re-sync if the sender's last sync state includes hashes - // that we don't know. This could happen if we crashed after the last sync and - // failed to persist changes that the other node already sent us. - if (theirHave && theirHave.length > 0) { - const lastSync = theirHave[0].lastSync - if (!lastSync.every(hash => Backend.getChangeByHash(backend, hash))) { - // we need to queue them to send us a fresh sync message, the one they sent is uninteligible so we don't know what they need - const resetMsg = { - heads: ourHeads, - need: [], - have: [{ lastSync: [], bloom: new Uint8Array(0) }], - changes: [], - } - return [syncState, encodeSyncMessage(resetMsg)] - } - } - - // XXX: we should limit ourselves to only sending a subset of all the messages, probably limited by a total message size - // these changes should ideally be RLE encoded but we haven't implemented that yet. - let changesToSend = - Array.isArray(theirHave) && Array.isArray(theirNeed) - ? getChangesToSend(backend, theirHave, theirNeed) - : [] - - // If the heads are equal, we're in sync and don't need to do anything further - const headsUnchanged = - Array.isArray(lastSentHeads) && compareArrays(ourHeads, lastSentHeads) - const headsEqual = - Array.isArray(theirHeads) && compareArrays(ourHeads, theirHeads) - if (headsUnchanged && headsEqual && changesToSend.length === 0) { - // no need to send a sync message if we know we're synced! - return [syncState, null] - } - - // TODO: this recomputes the SHA-256 hash of each change; we should restructure this to avoid the - // unnecessary recomputation - changesToSend = changesToSend.filter( - change => !sentHashes[decodeChangeMeta(change, true).hash] - ) - - // Regular response to a sync message: send any changes that the other node - // doesn't have. We leave the "have" field empty because the previous message - // generated by `syncStart` already indicated what changes we have. - const syncMessage = { - heads: ourHeads, - have: ourHave, - need: ourNeed, - changes: changesToSend, - } - if (changesToSend.length > 0) { - sentHashes = copyObject(sentHashes) - for (const change of changesToSend) { - sentHashes[decodeChangeMeta(change, true).hash] = true - } - } - - syncState = Object.assign({}, syncState, { - lastSentHeads: ourHeads, - sentHashes, - }) - return [syncState, encodeSyncMessage(syncMessage)] -} - -/** - * Computes the heads that we share with a peer after we have just received some changes from that - * peer and applied them. This may not be sufficient to bring our heads in sync with the other - * peer's heads, since they may have only sent us a subset of their outstanding changes. - * - * `myOldHeads` are the local heads before the most recent changes were applied, `myNewHeads` are - * the local heads after those changes were applied, and `ourOldSharedHeads` is the previous set of - * shared heads. Applying the changes will have replaced some heads with others, but some heads may - * have remained unchanged (because they are for branches on which no changes have been added). Any - * such unchanged heads remain in the sharedHeads. Any sharedHeads that were replaced by applying - * changes are also replaced as sharedHeads. This is safe because if we received some changes from - * another peer, that means that peer had those changes, and therefore we now both know about them. - */ -function advanceHeads(myOldHeads, myNewHeads, ourOldSharedHeads) { - const newHeads = myNewHeads.filter(head => !myOldHeads.includes(head)) - const commonHeads = ourOldSharedHeads.filter(head => - myNewHeads.includes(head) - ) - const advancedHeads = [...new Set([...newHeads, ...commonHeads])].sort() - return advancedHeads -} - -/** - * Given a backend, a message message and the state of our peer, apply any changes, update what - * we believe about the peer, and (if there were applied changes) produce a patch for the frontend - */ -function receiveSyncMessage(backend, oldSyncState, binaryMessage) { - if (!backend) { - throw new Error("generateSyncMessage called with no Automerge document") - } - if (!oldSyncState) { - throw new Error( - "generateSyncMessage requires a syncState, which can be created with initSyncState()" - ) - } - - let { sharedHeads, lastSentHeads, sentHashes } = oldSyncState, - patch = null - const message = decodeSyncMessage(binaryMessage) - const beforeHeads = Backend.getHeads(backend) - - // If we received changes, we try to apply them to the document. There may still be missing - // dependencies due to Bloom filter false positives, in which case the backend will enqueue the - // changes without applying them. The set of changes may also be incomplete if the sender decided - // to break a large set of changes into chunks. - if (message.changes.length > 0) { - ;[backend, patch] = Backend.applyChanges(backend, message.changes) - sharedHeads = advanceHeads( - beforeHeads, - Backend.getHeads(backend), - sharedHeads - ) - } - - // If heads are equal, indicate we don't need to send a response message - if ( - message.changes.length === 0 && - compareArrays(message.heads, beforeHeads) - ) { - lastSentHeads = message.heads - } - - // If all of the remote heads are known to us, that means either our heads are equal, or we are - // ahead of the remote peer. In this case, take the remote heads to be our shared heads. - const knownHeads = message.heads.filter(head => - Backend.getChangeByHash(backend, head) - ) - if (knownHeads.length === message.heads.length) { - sharedHeads = message.heads - // If the remote peer has lost all its data, reset our state to perform a full resync - if (message.heads.length === 0) { - lastSentHeads = [] - sentHashes = [] - } - } else { - // If some remote heads are unknown to us, we add all the remote heads we know to - // sharedHeads, but don't remove anything from sharedHeads. This might cause sharedHeads to - // contain some redundant hashes (where one hash is actually a transitive dependency of - // another), but this will be cleared up as soon as we know all the remote heads. - sharedHeads = [...new Set(knownHeads.concat(sharedHeads))].sort() - } - - const syncState = { - sharedHeads, // what we have in common to generate an efficient bloom filter - lastSentHeads, - theirHave: message.have, // the information we need to calculate the changes they need - theirHeads: message.heads, - theirNeed: message.need, - sentHashes, - } - return [backend, syncState, patch] -} - -module.exports = { - receiveSyncMessage, - generateSyncMessage, - encodeSyncMessage, - decodeSyncMessage, - initSyncState, - encodeSyncState, - decodeSyncState, - BloomFilter, // BloomFilter is a private API, exported only for testing purposes -} diff --git a/javascript/test/legacy_tests.ts b/javascript/test/legacy_tests.ts deleted file mode 100644 index 8c2e552e..00000000 --- a/javascript/test/legacy_tests.ts +++ /dev/null @@ -1,1874 +0,0 @@ -import * as assert from "assert" -import { unstable as Automerge } from "../src" -import { assertEqualsOneOf } from "./helpers" -import { decodeChange } from "./legacy/columnar" - -const UUID_PATTERN = /^[0-9a-f]{32}$/ -const OPID_PATTERN = /^[0-9]+@([0-9a-f][0-9a-f])*$/ - -// CORE FEATURES -// -// TODO - Cursors -// TODO - Tables -// TODO - on-pass load() & reconstruct change from opset -// TODO - micro-patches (needed for fully hydrated object in js) -// TODO - valueAt(heads) / GC -// -// AUTOMERGE UNSUPPORTED -// -// TODO - patchCallback - -describe("Automerge", () => { - describe("initialization ", () => { - it("should initially be an empty map", () => { - const doc = Automerge.init() - assert.deepStrictEqual(doc, {}) - }) - - it("should allow instantiating from an existing object", () => { - const initialState = { birds: { wrens: 3, magpies: 4 } } - const doc = Automerge.from(initialState) - assert.deepStrictEqual(doc, initialState) - }) - - it("should allow merging of an object initialized with `from`", () => { - let doc1 = Automerge.from({ cards: [] }) - let doc2 = Automerge.merge(Automerge.init(), doc1) - assert.deepStrictEqual(doc2, { cards: [] }) - }) - - it("should allow passing an actorId when instantiating from an existing object", () => { - const actorId = "1234" - let doc = Automerge.from({ foo: 1 }, actorId) - assert.strictEqual(Automerge.getActorId(doc), "1234") - }) - - it("accepts an empty object as initial state", () => { - const doc = Automerge.from({}) - assert.deepStrictEqual(doc, {}) - }) - - it("accepts an array as initial state, but converts it to an object", () => { - // @ts-ignore - const doc = Automerge.from(["a", "b", "c"]) - assert.deepStrictEqual(doc, { "0": "a", "1": "b", "2": "c" }) - }) - - it("accepts strings as initial values, but treats them as an array of characters", () => { - // @ts-ignore - const doc = Automerge.from("abc") - assert.deepStrictEqual(doc, { "0": "a", "1": "b", "2": "c" }) - }) - - it("ignores numbers provided as initial values", () => { - // @ts-ignore - const doc = Automerge.from(123) - assert.deepStrictEqual(doc, {}) - }) - - it("ignores booleans provided as initial values", () => { - // @ts-ignore - const doc1 = Automerge.from(false) - assert.deepStrictEqual(doc1, {}) - // @ts-ignore - const doc2 = Automerge.from(true) - assert.deepStrictEqual(doc2, {}) - }) - }) - - describe("sequential use", () => { - let s1: Automerge.Doc, s2: Automerge.Doc - beforeEach(() => { - s1 = Automerge.init("aabbcc") - }) - - it("should not mutate objects", () => { - s2 = Automerge.change(s1, doc => (doc.foo = "bar")) - assert.strictEqual(s1.foo, undefined) - assert.strictEqual(s2.foo, "bar") - }) - - it("changes should be retrievable", () => { - const change1 = Automerge.getLastLocalChange(s1) - s2 = Automerge.change(s1, doc => (doc.foo = "bar")) - const change2 = Automerge.getLastLocalChange(s2) - assert.strictEqual(change1, undefined) - const change = Automerge.decodeChange(change2!) - assert.deepStrictEqual(change, { - actor: change.actor, - deps: [], - seq: 1, - startOp: 1, - hash: change.hash, - message: null, - time: change.time, - ops: [ - { obj: "_root", key: "foo", action: "makeText", pred: [] }, - { - action: "set", - elemId: "_head", - insert: true, - obj: "1@aabbcc", - pred: [], - value: "b", - }, - { - action: "set", - elemId: "2@aabbcc", - insert: true, - obj: "1@aabbcc", - pred: [], - value: "a", - }, - { - action: "set", - elemId: "3@aabbcc", - insert: true, - obj: "1@aabbcc", - pred: [], - value: "r", - }, - ], - }) - }) - - it("should not register any conflicts on repeated assignment", () => { - assert.strictEqual(Automerge.getConflicts(s1, "foo"), undefined) - s1 = Automerge.change(s1, "change", doc => (doc.foo = "one")) - assert.strictEqual(Automerge.getConflicts(s1, "foo"), undefined) - s1 = Automerge.change(s1, "change", doc => (doc.foo = "two")) - assert.strictEqual(Automerge.getConflicts(s1, "foo"), undefined) - }) - - describe("changes", () => { - it("should group several changes", () => { - s2 = Automerge.change(s1, "change message", doc => { - doc.first = "one" - assert.strictEqual(doc.first, "one") - doc.second = "two" - assert.deepStrictEqual(doc, { - first: "one", - second: "two", - }) - }) - assert.deepStrictEqual(s1, {}) - assert.deepStrictEqual(s2, { first: "one", second: "two" }) - }) - - it("should freeze objects if desired", () => { - s1 = Automerge.init({ freeze: true }) - s2 = Automerge.change(s1, doc => (doc.foo = "bar")) - try { - // @ts-ignore - s2.foo = "lemon" - } catch (e) {} - assert.strictEqual(s2.foo, "bar") - - let deleted = false - try { - // @ts-ignore - deleted = delete s2.foo - } catch (e) {} - assert.strictEqual(s2.foo, "bar") - assert.strictEqual(deleted, false) - - Automerge.change(s2, () => { - try { - // @ts-ignore - s2.foo = "lemon" - } catch (e) {} - assert.strictEqual(s2.foo, "bar") - }) - - assert.throws(() => { - Object.assign(s2, { x: 4 }) - }) - assert.strictEqual(s2.x, undefined) - }) - - it("should allow repeated reading and writing of values", () => { - s2 = Automerge.change(s1, "change message", doc => { - doc.value = "a" - assert.strictEqual(doc.value, "a") - doc.value = "b" - doc.value = "c" - assert.strictEqual(doc.value, "c") - }) - assert.deepStrictEqual(s1, {}) - assert.deepStrictEqual(s2, { value: "c" }) - }) - - it("should not record conflicts when writing the same field several times within one change", () => { - s1 = Automerge.change(s1, "change message", doc => { - doc.value = "a" - doc.value = "b" - doc.value = "c" - }) - assert.strictEqual(s1.value, "c") - assert.strictEqual(Automerge.getConflicts(s1, "value"), undefined) - }) - - it("should return the unchanged state object if nothing changed", () => { - s2 = Automerge.change(s1, () => {}) - assert.strictEqual(s2, s1) - }) - - it("should ignore field updates that write the existing value", () => { - s1 = Automerge.change(s1, doc => (doc.field = 123)) - s2 = Automerge.change(s1, doc => (doc.field = 123)) - assert.strictEqual(s2, s1) - }) - - it("should not ignore field updates that resolve a conflict", () => { - s2 = Automerge.merge(Automerge.init(), s1) - s1 = Automerge.change(s1, doc => (doc.field = 123)) - s2 = Automerge.change(s2, doc => (doc.field = 321)) - s1 = Automerge.merge(s1, s2) - assert.strictEqual( - Object.keys(Automerge.getConflicts(s1, "field")!).length, - 2 - ) - const resolved = Automerge.change(s1, doc => (doc.field = s1.field)) - assert.notStrictEqual(resolved, s1) - assert.deepStrictEqual(resolved, { field: s1.field }) - assert.strictEqual(Automerge.getConflicts(resolved, "field"), undefined) - }) - - it("should ignore list element updates that write the existing value", () => { - s1 = Automerge.change(s1, doc => (doc.list = [123])) - s2 = Automerge.change(s1, doc => (doc.list[0] = 123)) - assert.strictEqual(s2, s1) - }) - - it("should not ignore list element updates that resolve a conflict", () => { - s1 = Automerge.change(s1, doc => (doc.list = [1])) - s2 = Automerge.merge(Automerge.init(), s1) - s1 = Automerge.change(s1, doc => (doc.list[0] = 123)) - s2 = Automerge.change(s2, doc => (doc.list[0] = 321)) - s1 = Automerge.merge(s1, s2) - assert.deepStrictEqual(Automerge.getConflicts(s1.list, 0), { - [`3@${Automerge.getActorId(s1)}`]: 123, - [`3@${Automerge.getActorId(s2)}`]: 321, - }) - const resolved = Automerge.change(s1, doc => (doc.list[0] = s1.list[0])) - assert.deepStrictEqual(resolved, s1) - assert.notStrictEqual(resolved, s1) - assert.strictEqual(Automerge.getConflicts(resolved.list, 0), undefined) - }) - - it("should sanity-check arguments", () => { - s1 = Automerge.change(s1, doc => (doc.nested = {})) - assert.throws(() => { - // @ts-ignore - Automerge.change({}, doc => (doc.foo = "bar")) - }, /must be the document root/) - assert.throws(() => { - // @ts-ignore - Automerge.change(s1.nested, doc => (doc.foo = "bar")) - }, /must be the document root/) - }) - - it("should not allow nested change blocks", () => { - assert.throws(() => { - Automerge.change(s1, doc1 => { - Automerge.change(doc1, doc2 => { - // @ts-ignore - doc2.foo = "bar" - }) - }) - }, /Calls to Automerge.change cannot be nested/) - assert.throws(() => { - s1 = Automerge.change(s1, doc1 => { - s2 = Automerge.change(s1, doc2 => (doc2.two = 2)) - doc1.one = 1 - }) - }, /Attempting to change an outdated document/) - }) - - it("should not allow the same base document to be used for multiple changes", () => { - assert.throws(() => { - Automerge.change(s1, doc => (doc.one = 1)) - Automerge.change(s1, doc => (doc.two = 2)) - }, /Attempting to change an outdated document/) - }) - - it("should allow a document to be cloned", () => { - s1 = Automerge.change(s1, doc => (doc.zero = 0)) - s2 = Automerge.clone(s1) - s1 = Automerge.change(s1, doc => (doc.one = 1)) - s2 = Automerge.change(s2, doc => (doc.two = 2)) - assert.deepStrictEqual(s1, { zero: 0, one: 1 }) - assert.deepStrictEqual(s2, { zero: 0, two: 2 }) - Automerge.free(s1) - Automerge.free(s2) - }) - - it("should work with Object.assign merges", () => { - s1 = Automerge.change(s1, doc1 => { - doc1.stuff = { foo: "bar", baz: "blur" } - }) - s1 = Automerge.change(s1, doc1 => { - doc1.stuff = Object.assign({}, doc1.stuff, { baz: "updated!" }) - }) - assert.deepStrictEqual(s1, { stuff: { foo: "bar", baz: "updated!" } }) - }) - - it("should support Date objects in maps", () => { - const now = new Date() - s1 = Automerge.change(s1, doc => (doc.now = now)) - let changes = Automerge.getAllChanges(s1) - ;[s2] = Automerge.applyChanges(Automerge.init(), changes) - assert.strictEqual(s2.now instanceof Date, true) - assert.strictEqual(s2.now.getTime(), now.getTime()) - }) - - it("should support Date objects in lists", () => { - const now = new Date() - s1 = Automerge.change(s1, doc => (doc.list = [now])) - let changes = Automerge.getAllChanges(s1) - ;[s2] = Automerge.applyChanges(Automerge.init(), changes) - assert.strictEqual(s2.list[0] instanceof Date, true) - assert.strictEqual(s2.list[0].getTime(), now.getTime()) - }) - - it("should call patchCallback if supplied", () => { - const callbacks: Array<{ - patches: Array - before: Automerge.Doc - after: Automerge.Doc - }> = [] - const s2 = Automerge.change( - s1, - { - patchCallback: (patches, before, after) => - callbacks.push({ patches, before, after }), - }, - doc => { - doc.birds = ["Goldfinch"] - } - ) - assert.strictEqual(callbacks.length, 1) - assert.deepStrictEqual(callbacks[0].patches[0], { - action: "put", - path: ["birds"], - value: [], - }) - assert.deepStrictEqual(callbacks[0].patches[1], { - action: "insert", - path: ["birds", 0], - values: [""], - }) - assert.deepStrictEqual(callbacks[0].patches[2], { - action: "splice", - path: ["birds", 0, 0], - value: "Goldfinch", - }) - assert.strictEqual(callbacks[0].before, s1) - assert.strictEqual(callbacks[0].after, s2) - }) - - it("should call a patchCallback set up on document initialisation", () => { - const callbacks: Array<{ - patches: Array - before: Automerge.Doc - after: Automerge.Doc - }> = [] - s1 = Automerge.init({ - patchCallback: (patches, before, after) => - callbacks.push({ patches, before, after }), - }) - const s2 = Automerge.change(s1, doc => (doc.bird = "Goldfinch")) - assert.strictEqual(callbacks.length, 1) - assert.deepStrictEqual(callbacks[0].patches[0], { - action: "put", - path: ["bird"], - value: "", - }) - assert.deepStrictEqual(callbacks[0].patches[1], { - action: "splice", - path: ["bird", 0], - value: "Goldfinch", - }) - assert.strictEqual(callbacks[0].before, s1) - assert.strictEqual(callbacks[0].after, s2) - }) - }) - - describe("emptyChange()", () => { - it("should append an empty change to the history", () => { - s1 = Automerge.change(s1, "first change", doc => (doc.field = 123)) - s2 = Automerge.emptyChange(s1, "empty change") - assert.notStrictEqual(s2, s1) - assert.deepStrictEqual(s2, s1) - assert.deepStrictEqual( - Automerge.getHistory(s2).map(state => state.change.message), - ["first change", "empty change"] - ) - }) - - it("should reference dependencies", () => { - s1 = Automerge.change(s1, doc => (doc.field = 123)) - s2 = Automerge.merge(Automerge.init(), s1) - s2 = Automerge.change(s2, doc => (doc.other = "hello")) - s1 = Automerge.emptyChange(Automerge.merge(s1, s2)) - const history = Automerge.getHistory(s1) - const emptyChange = history[2].change - assert.deepStrictEqual( - emptyChange.deps, - [history[0].change.hash, history[1].change.hash].sort() - ) - assert.deepStrictEqual(emptyChange.ops, []) - }) - }) - - describe("root object", () => { - it("should handle single-property assignment", () => { - s1 = Automerge.change(s1, "set bar", doc => (doc.foo = "bar")) - s1 = Automerge.change(s1, "set zap", doc => (doc.zip = "zap")) - assert.strictEqual(s1.foo, "bar") - assert.strictEqual(s1.zip, "zap") - assert.deepStrictEqual(s1, { foo: "bar", zip: "zap" }) - }) - - it("should allow floating-point values", () => { - s1 = Automerge.change(s1, doc => (doc.number = 1589032171.1)) - assert.strictEqual(s1.number, 1589032171.1) - }) - - it("should handle multi-property assignment", () => { - s1 = Automerge.change(s1, "multi-assign", doc => { - Object.assign(doc, { foo: "bar", answer: 42 }) - }) - assert.strictEqual(s1.foo, "bar") - assert.strictEqual(s1.answer, 42) - assert.deepStrictEqual(s1, { foo: "bar", answer: 42 }) - }) - - it("should handle root property deletion", () => { - s1 = Automerge.change(s1, "set foo", doc => { - doc.foo = "bar" - doc.something = null - }) - s1 = Automerge.change(s1, "del foo", doc => { - delete doc.foo - }) - assert.strictEqual(s1.foo, undefined) - assert.strictEqual(s1.something, null) - assert.deepStrictEqual(s1, { something: null }) - }) - - it("should follow JS delete behavior", () => { - s1 = Automerge.change(s1, "set foo", doc => { - doc.foo = "bar" - }) - let deleted: any - s1 = Automerge.change(s1, "del foo", doc => { - deleted = delete doc.foo - }) - assert.strictEqual(deleted, true) - let deleted2: any - assert.doesNotThrow(() => { - s1 = Automerge.change(s1, "del baz", doc => { - deleted2 = delete doc.baz - }) - }) - assert.strictEqual(deleted2, true) - }) - - it("should allow the type of a property to be changed", () => { - s1 = Automerge.change(s1, "set number", doc => (doc.prop = 123)) - assert.strictEqual(s1.prop, 123) - s1 = Automerge.change(s1, "set string", doc => (doc.prop = "123")) - assert.strictEqual(s1.prop, "123") - s1 = Automerge.change(s1, "set null", doc => (doc.prop = null)) - assert.strictEqual(s1.prop, null) - s1 = Automerge.change(s1, "set bool", doc => (doc.prop = true)) - assert.strictEqual(s1.prop, true) - }) - - it("should require property names to be valid", () => { - assert.throws(() => { - Automerge.change(s1, "foo", doc => (doc[""] = "x")) - }, /must not be an empty string/) - }) - - it("should not allow assignment of unsupported datatypes", () => { - Automerge.change(s1, doc => { - assert.throws(() => { - doc.foo = undefined - }, /Unsupported type of value: undefined/) - assert.throws(() => { - doc.foo = { prop: undefined } - }, /Unsupported type of value: undefined/) - assert.throws(() => { - doc.foo = () => {} - }, /Unsupported type of value: function/) - assert.throws(() => { - doc.foo = Symbol("foo") - }, /Unsupported type of value: symbol/) - }) - }) - }) - - describe("nested maps", () => { - it("should assign an objectId to nested maps", () => { - s1 = Automerge.change(s1, doc => { - doc.nested = {} - }) - Automerge.getObjectId(s1.nested) - assert.strictEqual( - OPID_PATTERN.test(Automerge.getObjectId(s1.nested)!), - true - ) - assert.notEqual(Automerge.getObjectId(s1.nested), "_root") - }) - - it("should handle assignment of a nested property", () => { - s1 = Automerge.change(s1, "first change", doc => { - doc.nested = {} - doc.nested.foo = "bar" - }) - s1 = Automerge.change(s1, "second change", doc => { - doc.nested.one = 1 - }) - assert.deepStrictEqual(s1, { nested: { foo: "bar", one: 1 } }) - assert.deepStrictEqual(s1.nested, { foo: "bar", one: 1 }) - assert.strictEqual(s1.nested.foo, "bar") - assert.strictEqual(s1.nested.one, 1) - }) - - it("should handle assignment of an object literal", () => { - s1 = Automerge.change(s1, doc => { - doc.textStyle = { bold: false, fontSize: 12 } - }) - assert.deepStrictEqual(s1, { - textStyle: { bold: false, fontSize: 12 }, - }) - assert.deepStrictEqual(s1.textStyle, { bold: false, fontSize: 12 }) - assert.strictEqual(s1.textStyle.bold, false) - assert.strictEqual(s1.textStyle.fontSize, 12) - }) - - it("should handle assignment of multiple nested properties", () => { - s1 = Automerge.change(s1, doc => { - doc.textStyle = { bold: false, fontSize: 12 } - Object.assign(doc.textStyle, { typeface: "Optima", fontSize: 14 }) - }) - assert.strictEqual(s1.textStyle.typeface, "Optima") - assert.strictEqual(s1.textStyle.bold, false) - assert.strictEqual(s1.textStyle.fontSize, 14) - assert.deepStrictEqual(s1.textStyle, { - typeface: "Optima", - bold: false, - fontSize: 14, - }) - }) - - it("should handle arbitrary-depth nesting", () => { - s1 = Automerge.change(s1, doc => { - doc.a = { b: { c: { d: { e: { f: { g: "h" } } } } } } - }) - s1 = Automerge.change(s1, doc => { - doc.a.b.c.d.e.f.i = "j" - }) - assert.deepStrictEqual(s1, { - a: { b: { c: { d: { e: { f: { g: "h", i: "j" } } } } } }, - }) - assert.strictEqual(s1.a.b.c.d.e.f.g, "h") - assert.strictEqual(s1.a.b.c.d.e.f.i, "j") - }) - - it("should allow an old object to be replaced with a new one", () => { - s1 = Automerge.change(s1, "change 1", doc => { - doc.myPet = { species: "dog", legs: 4, breed: "dachshund" } - }) - let s2 = Automerge.change(s1, "change 2", doc => { - doc.myPet = { - species: "koi", - variety: "紅白", - colors: { red: true, white: true, black: false }, - } - }) - assert.deepStrictEqual(s1.myPet, { - species: "dog", - legs: 4, - breed: "dachshund", - }) - assert.strictEqual(s1.myPet.breed, "dachshund") - assert.deepStrictEqual(s2.myPet, { - species: "koi", - variety: "紅白", - colors: { red: true, white: true, black: false }, - }) - // @ts-ignore - assert.strictEqual(s2.myPet.breed, undefined) - assert.strictEqual(s2.myPet.variety, "紅白") - }) - - it("should allow fields to be changed between primitive and nested map", () => { - s1 = Automerge.change(s1, doc => (doc.color = "#ff7f00")) - assert.strictEqual(s1.color, "#ff7f00") - s1 = Automerge.change( - s1, - doc => (doc.color = { red: 255, green: 127, blue: 0 }) - ) - assert.deepStrictEqual(s1.color, { red: 255, green: 127, blue: 0 }) - s1 = Automerge.change(s1, doc => (doc.color = "#ff7f00")) - assert.strictEqual(s1.color, "#ff7f00") - }) - - it("should not allow several references to the same map object", () => { - s1 = Automerge.change(s1, doc => (doc.object = {})) - assert.throws(() => { - Automerge.change(s1, doc => { - doc.x = doc.object - }) - }, /Cannot create a reference to an existing document object/) - assert.throws(() => { - Automerge.change(s1, doc => { - doc.x = s1.object - }) - }, /Cannot create a reference to an existing document object/) - assert.throws(() => { - Automerge.change(s1, doc => { - doc.x = {} - doc.y = doc.x - }) - }, /Cannot create a reference to an existing document object/) - }) - - it("should not allow object-copying idioms", () => { - s1 = Automerge.change(s1, doc => { - doc.items = [ - { id: "id1", name: "one" }, - { id: "id2", name: "two" }, - ] - }) - // People who have previously worked with immutable state in JavaScript may be tempted - // to use idioms like this, which don't work well with Automerge -- see e.g. - // https://github.com/automerge/automerge/issues/260 - assert.throws(() => { - Automerge.change(s1, doc => { - doc.items = [...doc.items, { id: "id3", name: "three" }] - }) - }, /Cannot create a reference to an existing document object/) - }) - - it("should handle deletion of properties within a map", () => { - s1 = Automerge.change(s1, "set style", doc => { - doc.textStyle = { typeface: "Optima", bold: false, fontSize: 12 } - }) - s1 = Automerge.change(s1, "non-bold", doc => delete doc.textStyle.bold) - assert.strictEqual(s1.textStyle.bold, undefined) - assert.deepStrictEqual(s1.textStyle, { - typeface: "Optima", - fontSize: 12, - }) - }) - - it("should handle deletion of references to a map", () => { - s1 = Automerge.change(s1, "make rich text doc", doc => { - Object.assign(doc, { - title: "Hello", - textStyle: { typeface: "Optima", fontSize: 12 }, - }) - }) - s1 = Automerge.change(s1, doc => delete doc.textStyle) - assert.strictEqual(s1.textStyle, undefined) - assert.deepStrictEqual(s1, { title: "Hello" }) - }) - - it("should validate field names", () => { - s1 = Automerge.change(s1, doc => (doc.nested = {})) - assert.throws(() => { - Automerge.change(s1, doc => (doc.nested[""] = "x")) - }, /must not be an empty string/) - assert.throws(() => { - Automerge.change(s1, doc => (doc.nested = { "": "x" })) - }, /must not be an empty string/) - }) - }) - - describe("lists", () => { - it("should allow elements to be inserted", () => { - s1 = Automerge.change(s1, doc => (doc.noodles = [])) - s1 = Automerge.change(s1, doc => - doc.noodles.insertAt(0, "udon", "soba") - ) - s1 = Automerge.change(s1, doc => doc.noodles.insertAt(1, "ramen")) - assert.deepStrictEqual(s1, { noodles: ["udon", "ramen", "soba"] }) - assert.deepStrictEqual(s1.noodles, ["udon", "ramen", "soba"]) - assert.strictEqual(s1.noodles[0], "udon") - assert.strictEqual(s1.noodles[1], "ramen") - assert.strictEqual(s1.noodles[2], "soba") - assert.strictEqual(s1.noodles.length, 3) - }) - - it("should handle assignment of a list literal", () => { - s1 = Automerge.change( - s1, - doc => (doc.noodles = ["udon", "ramen", "soba"]) - ) - assert.deepStrictEqual(s1, { noodles: ["udon", "ramen", "soba"] }) - assert.deepStrictEqual(s1.noodles, ["udon", "ramen", "soba"]) - assert.strictEqual(s1.noodles[0], "udon") - assert.strictEqual(s1.noodles[1], "ramen") - assert.strictEqual(s1.noodles[2], "soba") - assert.strictEqual(s1.noodles[3], undefined) - assert.strictEqual(s1.noodles.length, 3) - }) - - it("should only allow numeric indexes", () => { - s1 = Automerge.change( - s1, - doc => (doc.noodles = ["udon", "ramen", "soba"]) - ) - s1 = Automerge.change(s1, doc => (doc.noodles[1] = "Ramen!")) - assert.strictEqual(s1.noodles[1], "Ramen!") - s1 = Automerge.change(s1, doc => (doc.noodles["1"] = "RAMEN!!!")) - assert.strictEqual(s1.noodles[1], "RAMEN!!!") - assert.throws(() => { - Automerge.change(s1, doc => (doc.noodles.favourite = "udon")) - }, /list index must be a number/) - assert.throws(() => { - Automerge.change(s1, doc => (doc.noodles[""] = "udon")) - }, /list index must be a number/) - assert.throws(() => { - Automerge.change(s1, doc => (doc.noodles["1e6"] = "udon")) - }, /list index must be a number/) - }) - - it("should handle deletion of list elements", () => { - s1 = Automerge.change( - s1, - doc => (doc.noodles = ["udon", "ramen", "soba"]) - ) - s1 = Automerge.change(s1, doc => delete doc.noodles[1]) - assert.deepStrictEqual(s1.noodles, ["udon", "soba"]) - s1 = Automerge.change(s1, doc => doc.noodles.deleteAt(1)) - assert.deepStrictEqual(s1.noodles, ["udon"]) - assert.strictEqual(s1.noodles[0], "udon") - assert.strictEqual(s1.noodles[1], undefined) - assert.strictEqual(s1.noodles[2], undefined) - assert.strictEqual(s1.noodles.length, 1) - }) - - it("should handle assignment of individual list indexes", () => { - s1 = Automerge.change( - s1, - doc => (doc.japaneseFood = ["udon", "ramen", "soba"]) - ) - s1 = Automerge.change(s1, doc => (doc.japaneseFood[1] = "sushi")) - assert.deepStrictEqual(s1.japaneseFood, ["udon", "sushi", "soba"]) - assert.strictEqual(s1.japaneseFood[0], "udon") - assert.strictEqual(s1.japaneseFood[1], "sushi") - assert.strictEqual(s1.japaneseFood[2], "soba") - assert.strictEqual(s1.japaneseFood[3], undefined) - assert.strictEqual(s1.japaneseFood.length, 3) - }) - - it("concurrent edits insert in reverse actorid order if counters equal", () => { - s1 = Automerge.init("aaaa") - s2 = Automerge.init("bbbb") - s1 = Automerge.change(s1, doc => (doc.list = [])) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.list.splice(0, 0, "2@aaaa")) - s2 = Automerge.change(s2, doc => doc.list.splice(0, 0, "2@bbbb")) - s2 = Automerge.merge(s2, s1) - assert.deepStrictEqual(Automerge.toJS(s2).list, ["2@bbbb", "2@aaaa"]) - }) - - it("concurrent edits insert in reverse counter order if different", () => { - s1 = Automerge.init("aaaa") - s2 = Automerge.init("bbbb") - s1 = Automerge.change(s1, doc => (doc.list = [])) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.list.splice(0, 0, "2@aaaa")) - s2 = Automerge.change(s2, doc => (doc.foo = "2@bbbb")) - s2 = Automerge.change(s2, doc => doc.list.splice(0, 0, "3@bbbb")) - s2 = Automerge.merge(s2, s1) - assert.deepStrictEqual(s2.list, ["3@bbbb", "2@aaaa"]) - }) - - it("should treat out-by-one assignment as insertion", () => { - s1 = Automerge.change(s1, doc => (doc.japaneseFood = ["udon"])) - s1 = Automerge.change(s1, doc => (doc.japaneseFood[1] = "sushi")) - assert.deepStrictEqual(s1.japaneseFood, ["udon", "sushi"]) - assert.strictEqual(s1.japaneseFood[0], "udon") - assert.strictEqual(s1.japaneseFood[1], "sushi") - assert.strictEqual(s1.japaneseFood[2], undefined) - assert.strictEqual(s1.japaneseFood.length, 2) - }) - - it("should not allow out-of-range assignment", () => { - s1 = Automerge.change(s1, doc => (doc.japaneseFood = ["udon"])) - assert.throws(() => { - Automerge.change(s1, doc => (doc.japaneseFood[4] = "ramen")) - }, /is out of bounds/) - }) - - it("should allow bulk assignment of multiple list indexes", () => { - s1 = Automerge.change( - s1, - doc => (doc.noodles = ["udon", "ramen", "soba"]) - ) - s1 = Automerge.change(s1, doc => - Object.assign(doc.noodles, { 0: "うどん", 2: "そば" }) - ) - assert.deepStrictEqual(s1.noodles, ["うどん", "ramen", "そば"]) - assert.strictEqual(s1.noodles[0], "うどん") - assert.strictEqual(s1.noodles[1], "ramen") - assert.strictEqual(s1.noodles[2], "そば") - assert.strictEqual(s1.noodles.length, 3) - }) - - it("should handle nested objects", () => { - s1 = Automerge.change( - s1, - doc => - (doc.noodles = [{ type: "ramen", dishes: ["tonkotsu", "shoyu"] }]) - ) - s1 = Automerge.change(s1, doc => - doc.noodles.push({ type: "udon", dishes: ["tempura udon"] }) - ) - s1 = Automerge.change(s1, doc => doc.noodles[0].dishes.push("miso")) - assert.deepStrictEqual(s1, { - noodles: [ - { type: "ramen", dishes: ["tonkotsu", "shoyu", "miso"] }, - { type: "udon", dishes: ["tempura udon"] }, - ], - }) - assert.deepStrictEqual(s1.noodles[0], { - type: "ramen", - dishes: ["tonkotsu", "shoyu", "miso"], - }) - assert.deepStrictEqual(s1.noodles[1], { - type: "udon", - dishes: ["tempura udon"], - }) - }) - - it("should handle nested lists", () => { - s1 = Automerge.change( - s1, - doc => (doc.noodleMatrix = [["ramen", "tonkotsu", "shoyu"]]) - ) - s1 = Automerge.change(s1, doc => - doc.noodleMatrix.push(["udon", "tempura udon"]) - ) - s1 = Automerge.change(s1, doc => doc.noodleMatrix[0].push("miso")) - assert.deepStrictEqual(s1.noodleMatrix, [ - ["ramen", "tonkotsu", "shoyu", "miso"], - ["udon", "tempura udon"], - ]) - assert.deepStrictEqual(s1.noodleMatrix[0], [ - "ramen", - "tonkotsu", - "shoyu", - "miso", - ]) - assert.deepStrictEqual(s1.noodleMatrix[1], ["udon", "tempura udon"]) - }) - - it("should handle deep nesting", () => { - s1 = Automerge.change( - s1, - doc => - (doc.nesting = { - maps: { m1: { m2: { foo: "bar", baz: {} }, m2a: {} } }, - lists: [ - [1, 2, 3], - [[3, 4, 5, [6]], 7], - ], - mapsinlists: [{ foo: "bar" }, [{ bar: "baz" }]], - listsinmaps: { foo: [1, 2, 3], bar: [[{ baz: "123" }]] }, - }) - ) - s1 = Automerge.change(s1, doc => { - doc.nesting.maps.m1a = "123" - doc.nesting.maps.m1.m2.baz.xxx = "123" - delete doc.nesting.maps.m1.m2a - doc.nesting.lists.shift() - doc.nesting.lists[0][0].pop() - doc.nesting.lists[0][0].push(100) - doc.nesting.mapsinlists[0].foo = "baz" - doc.nesting.mapsinlists[1][0].foo = "bar" - delete doc.nesting.mapsinlists[1] - doc.nesting.listsinmaps.foo.push(4) - doc.nesting.listsinmaps.bar[0][0].baz = "456" - delete doc.nesting.listsinmaps.bar - }) - assert.deepStrictEqual(s1, { - nesting: { - maps: { - m1: { m2: { foo: "bar", baz: { xxx: "123" } } }, - m1a: "123", - }, - lists: [[[3, 4, 5, 100], 7]], - mapsinlists: [{ foo: "baz" }], - listsinmaps: { foo: [1, 2, 3, 4] }, - }, - }) - }) - - it("should handle replacement of the entire list", () => { - s1 = Automerge.change( - s1, - doc => (doc.noodles = ["udon", "soba", "ramen"]) - ) - s1 = Automerge.change( - s1, - doc => (doc.japaneseNoodles = doc.noodles.slice()) - ) - s1 = Automerge.change(s1, doc => (doc.noodles = ["wonton", "pho"])) - assert.deepStrictEqual(s1, { - noodles: ["wonton", "pho"], - japaneseNoodles: ["udon", "soba", "ramen"], - }) - assert.deepStrictEqual(s1.noodles, ["wonton", "pho"]) - assert.strictEqual(s1.noodles[0], "wonton") - assert.strictEqual(s1.noodles[1], "pho") - assert.strictEqual(s1.noodles[2], undefined) - assert.strictEqual(s1.noodles.length, 2) - }) - - it("should allow assignment to change the type of a list element", () => { - s1 = Automerge.change( - s1, - doc => (doc.noodles = ["udon", "soba", "ramen"]) - ) - assert.deepStrictEqual(s1.noodles, ["udon", "soba", "ramen"]) - s1 = Automerge.change( - s1, - doc => (doc.noodles[1] = { type: "soba", options: ["hot", "cold"] }) - ) - assert.deepStrictEqual(s1.noodles, [ - "udon", - { type: "soba", options: ["hot", "cold"] }, - "ramen", - ]) - s1 = Automerge.change( - s1, - doc => (doc.noodles[1] = ["hot soba", "cold soba"]) - ) - assert.deepStrictEqual(s1.noodles, [ - "udon", - ["hot soba", "cold soba"], - "ramen", - ]) - s1 = Automerge.change(s1, doc => (doc.noodles[1] = "soba is the best")) - assert.deepStrictEqual(s1.noodles, [ - "udon", - "soba is the best", - "ramen", - ]) - }) - - it("should allow list creation and assignment in the same change callback", () => { - s1 = Automerge.change(Automerge.init(), doc => { - doc.letters = ["a", "b", "c"] - doc.letters[1] = "d" - }) - assert.strictEqual(s1.letters[1], "d") - }) - - it("should allow adding and removing list elements in the same change callback", () => { - let s1 = Automerge.change( - Automerge.init<{ noodles: Array }>(), - // @ts-ignore - doc => (doc.noodles = []) - ) - s1 = Automerge.change(s1, doc => { - doc.noodles.push("udon") - // @ts-ignore - doc.noodles.deleteAt(0) - }) - assert.deepStrictEqual(s1, { noodles: [] }) - // do the add-remove cycle twice, test for #151 (https://github.com/automerge/automerge/issues/151) - s1 = Automerge.change(s1, doc => { - // @ts-ignore - doc.noodles.push("soba") - // @ts-ignore - doc.noodles.deleteAt(0) - }) - assert.deepStrictEqual(s1, { noodles: [] }) - }) - - it("should handle arbitrary-depth nesting", () => { - s1 = Automerge.change( - s1, - doc => (doc.maze = [[[[[[[["noodles", ["here"]]]]]]]]]) - ) - s1 = Automerge.change(s1, doc => - doc.maze[0][0][0][0][0][0][0][1].unshift("found") - ) - assert.deepStrictEqual(s1.maze, [ - [[[[[[["noodles", ["found", "here"]]]]]]]], - ]) - assert.deepStrictEqual(s1.maze[0][0][0][0][0][0][0][1][1], "here") - s2 = Automerge.load(Automerge.save(s1)) - assert.deepStrictEqual(s1, s2) - }) - - it("should not allow several references to the same list object", () => { - s1 = Automerge.change(s1, doc => (doc.list = [])) - assert.throws(() => { - Automerge.change(s1, doc => { - doc.x = doc.list - }) - }, /Cannot create a reference to an existing document object/) - assert.throws(() => { - Automerge.change(s1, doc => { - doc.x = s1.list - }) - }, /Cannot create a reference to an existing document object/) - assert.throws(() => { - Automerge.change(s1, doc => { - doc.x = [] - doc.y = doc.x - }) - }, /Cannot create a reference to an existing document object/) - }) - }) - - describe("counters", () => { - // counter - it("should allow deleting counters from maps", () => { - const s1 = Automerge.change( - Automerge.init(), - doc => (doc.birds = { wrens: new Automerge.Counter(1) }) - ) - const s2 = Automerge.change(s1, doc => doc.birds.wrens.increment(2)) - const s3 = Automerge.change(s2, doc => delete doc.birds.wrens) - assert.deepStrictEqual(s2, { - birds: { wrens: new Automerge.Counter(3) }, - }) - assert.deepStrictEqual(s3, { birds: {} }) - }) - - // counter - /* - it('should not allow deleting counters from lists', () => { - const s1 = Automerge.change(Automerge.init(), doc => doc.recordings = [new Automerge.Counter(1)]) - const s2 = Automerge.change(s1, doc => doc.recordings[0].increment(2)) - assert.deepStrictEqual(s2, {recordings: [new Automerge.Counter(3)]}) - assert.throws(() => { Automerge.change(s2, doc => doc.recordings.deleteAt(0)) }, /Unsupported operation/) - }) - */ - }) - }) - - describe("concurrent use", () => { - let s1: Automerge.Doc, - s2: Automerge.Doc, - s3: Automerge.Doc, - s4: Automerge.Doc - beforeEach(() => { - s1 = Automerge.init() - s2 = Automerge.init() - s3 = Automerge.init() - s4 = Automerge.init() - }) - - it("should merge concurrent updates of different properties", () => { - s1 = Automerge.change(s1, doc => (doc.foo = "bar")) - s2 = Automerge.change(s2, doc => (doc.hello = "world")) - s3 = Automerge.merge(s1, s2) - assert.strictEqual(s3.foo, "bar") - assert.strictEqual(s3.hello, "world") - assert.deepStrictEqual(s3, { foo: "bar", hello: "world" }) - assert.strictEqual(Automerge.getConflicts(s3, "foo"), undefined) - assert.strictEqual(Automerge.getConflicts(s3, "hello"), undefined) - s4 = Automerge.load(Automerge.save(s3)) - assert.deepEqual(s3, s4) - }) - - it("should add concurrent increments of the same property", () => { - s1 = Automerge.change(s1, doc => (doc.counter = new Automerge.Counter())) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.counter.increment()) - s2 = Automerge.change(s2, doc => doc.counter.increment(2)) - s3 = Automerge.merge(s1, s2) - assert.strictEqual(s1.counter.value, 1) - assert.strictEqual(s2.counter.value, 2) - assert.strictEqual(s3.counter.value, 3) - assert.strictEqual(Automerge.getConflicts(s3, "counter"), undefined) - s4 = Automerge.load(Automerge.save(s3)) - assert.deepEqual(s3, s4) - }) - - it("should add increments only to the values they precede", () => { - s1 = Automerge.change(s1, doc => (doc.counter = new Automerge.Counter(0))) - s1 = Automerge.change(s1, doc => doc.counter.increment()) - s2 = Automerge.change( - s2, - doc => (doc.counter = new Automerge.Counter(100)) - ) - s2 = Automerge.change(s2, doc => doc.counter.increment(3)) - s3 = Automerge.merge(s1, s2) - if (Automerge.getActorId(s1) > Automerge.getActorId(s2)) { - assert.deepStrictEqual(s3, { counter: new Automerge.Counter(1) }) - } else { - assert.deepStrictEqual(s3, { counter: new Automerge.Counter(103) }) - } - assert.deepStrictEqual(Automerge.getConflicts(s3, "counter"), { - [`1@${Automerge.getActorId(s1)}`]: new Automerge.Counter(1), - [`1@${Automerge.getActorId(s2)}`]: new Automerge.Counter(103), - }) - s4 = Automerge.load(Automerge.save(s3)) - assert.deepEqual(s3, s4) - }) - - it("should detect concurrent updates of the same field", () => { - s1 = Automerge.change(s1, doc => (doc.field = "one")) - s2 = Automerge.change(s2, doc => (doc.field = "two")) - s3 = Automerge.merge(s1, s2) - if (Automerge.getActorId(s1) > Automerge.getActorId(s2)) { - assert.deepStrictEqual(s3, { field: "one" }) - } else { - assert.deepStrictEqual(s3, { field: "two" }) - } - assert.deepStrictEqual(Automerge.getConflicts(s3, "field"), { - [`1@${Automerge.getActorId(s1)}`]: "one", - [`1@${Automerge.getActorId(s2)}`]: "two", - }) - }) - - it("should detect concurrent updates of the same list element", () => { - s1 = Automerge.change(s1, doc => (doc.birds = ["finch"])) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => (doc.birds[0] = "greenfinch")) - s2 = Automerge.change(s2, doc => (doc.birds[0] = "goldfinch_")) - s3 = Automerge.merge(s1, s2) - if (Automerge.getActorId(s1) > Automerge.getActorId(s2)) { - assert.deepStrictEqual(s3.birds, ["greenfinch"]) - } else { - assert.deepStrictEqual(s3.birds, ["goldfinch_"]) - } - assert.deepStrictEqual(Automerge.getConflicts(s3.birds, 0), { - [`8@${Automerge.getActorId(s1)}`]: "greenfinch", - [`8@${Automerge.getActorId(s2)}`]: "goldfinch_", - }) - }) - - it("should handle assignment conflicts of different types", () => { - s1 = Automerge.change(s1, doc => (doc.field = "string")) - s2 = Automerge.change(s2, doc => (doc.field = ["list"])) - s3 = Automerge.change(s3, doc => (doc.field = { thing: "map" })) - s1 = Automerge.merge(Automerge.merge(s1, s2), s3) - assertEqualsOneOf(s1.field, "string", ["list"], { thing: "map" }) - assert.deepStrictEqual(Automerge.getConflicts(s1, "field"), { - [`1@${Automerge.getActorId(s1)}`]: "string", - [`1@${Automerge.getActorId(s2)}`]: ["list"], - [`1@${Automerge.getActorId(s3)}`]: { thing: "map" }, - }) - }) - - it("should handle changes within a conflicting map field", () => { - s1 = Automerge.change(s1, doc => (doc.field = "string")) - s2 = Automerge.change(s2, doc => (doc.field = {})) - s2 = Automerge.change(s2, doc => (doc.field.innerKey = 42)) - s3 = Automerge.merge(s1, s2) - assertEqualsOneOf(s3.field, "string", { innerKey: 42 }) - assert.deepStrictEqual(Automerge.getConflicts(s3, "field"), { - [`1@${Automerge.getActorId(s1)}`]: "string", - [`1@${Automerge.getActorId(s2)}`]: { innerKey: 42 }, - }) - }) - - it("should handle changes within a conflicting list element", () => { - s1 = Automerge.change(s1, doc => (doc.list = ["hello"])) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => (doc.list[0] = { map1: true })) - s1 = Automerge.change(s1, doc => (doc.list[0].key = 1)) - s2 = Automerge.change(s2, doc => (doc.list[0] = { map2: true })) - s2 = Automerge.change(s2, doc => (doc.list[0].key = 2)) - s3 = Automerge.merge(s1, s2) - if (Automerge.getActorId(s1) > Automerge.getActorId(s2)) { - assert.deepStrictEqual(s3.list, [{ map1: true, key: 1 }]) - } else { - assert.deepStrictEqual(s3.list, [{ map2: true, key: 2 }]) - } - assert.deepStrictEqual(Automerge.getConflicts(s3.list, 0), { - [`8@${Automerge.getActorId(s1)}`]: { map1: true, key: 1 }, - [`8@${Automerge.getActorId(s2)}`]: { map2: true, key: 2 }, - }) - }) - - it("should not merge concurrently assigned nested maps", () => { - s1 = Automerge.change(s1, doc => (doc.config = { background: "blue" })) - s2 = Automerge.change(s2, doc => (doc.config = { logo_url: "logo.png" })) - s3 = Automerge.merge(s1, s2) - assertEqualsOneOf( - s3.config, - { background: "blue" }, - { logo_url: "logo.png" } - ) - assert.deepStrictEqual(Automerge.getConflicts(s3, "config"), { - [`1@${Automerge.getActorId(s1)}`]: { background: "blue" }, - [`1@${Automerge.getActorId(s2)}`]: { logo_url: "logo.png" }, - }) - }) - - it("should clear conflicts after assigning a new value", () => { - s1 = Automerge.change(s1, doc => (doc.field = "one")) - s2 = Automerge.change(s2, doc => (doc.field = "two")) - s3 = Automerge.merge(s1, s2) - s3 = Automerge.change(s3, doc => (doc.field = "three")) - assert.deepStrictEqual(s3, { field: "three" }) - assert.strictEqual(Automerge.getConflicts(s3, "field"), undefined) - s2 = Automerge.merge(s2, s3) - assert.deepStrictEqual(s2, { field: "three" }) - assert.strictEqual(Automerge.getConflicts(s2, "field"), undefined) - }) - - it("should handle concurrent insertions at different list positions", () => { - s1 = Automerge.change(s1, doc => (doc.list = ["one", "three"])) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.list.splice(1, 0, "two")) - s2 = Automerge.change(s2, doc => doc.list.push("four")) - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s3, { list: ["one", "two", "three", "four"] }) - assert.strictEqual(Automerge.getConflicts(s3, "list"), undefined) - }) - - it("should handle concurrent insertions at the same list position", () => { - s1 = Automerge.change(s1, doc => (doc.birds = ["parakeet"])) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.birds.push("starling")) - s2 = Automerge.change(s2, doc => doc.birds.push("chaffinch")) - s3 = Automerge.merge(s1, s2) - assertEqualsOneOf( - s3.birds, - ["parakeet", "starling", "chaffinch"], - ["parakeet", "chaffinch", "starling"] - ) - s2 = Automerge.merge(s2, s3) - assert.deepStrictEqual(s2, s3) - }) - - it("should handle concurrent assignment and deletion of a map entry", () => { - // Add-wins semantics - s1 = Automerge.change(s1, doc => (doc.bestBird = "robin")) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => delete doc.bestBird) - s2 = Automerge.change(s2, doc => (doc.bestBird = "magpie")) - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s1, {}) - assert.deepStrictEqual(s2, { bestBird: "magpie" }) - assert.deepStrictEqual(s3, { bestBird: "magpie" }) - assert.strictEqual(Automerge.getConflicts(s3, "bestBird"), undefined) - }) - - it("should handle concurrent assignment and deletion of a list element", () => { - // Concurrent assignment ressurects a deleted list element. Perhaps a little - // surprising, but consistent with add-wins semantics of maps (see test above) - s1 = Automerge.change( - s1, - doc => (doc.birds = ["blackbird", "thrush", "goldfinch"]) - ) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => (doc.birds[1] = "starling")) - s2 = Automerge.change(s2, doc => doc.birds.splice(1, 1)) - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s1.birds, ["blackbird", "starling", "goldfinch"]) - assert.deepStrictEqual(s2.birds, ["blackbird", "goldfinch"]) - assert.deepStrictEqual(s3.birds, ["blackbird", "starling", "goldfinch"]) - s4 = Automerge.load(Automerge.save(s3)) - assert.deepStrictEqual(s3, s4) - }) - - it("should handle insertion after a deleted list element", () => { - s1 = Automerge.change( - s1, - doc => (doc.birds = ["blackbird", "thrush", "goldfinch"]) - ) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.birds.splice(1, 2)) - s2 = Automerge.change(s2, doc => doc.birds.splice(2, 0, "starling")) - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s3, { birds: ["blackbird", "starling"] }) - assert.deepStrictEqual(Automerge.merge(s2, s3), { - birds: ["blackbird", "starling"], - }) - }) - - it("should handle concurrent deletion of the same element", () => { - s1 = Automerge.change( - s1, - doc => (doc.birds = ["albatross", "buzzard", "cormorant"]) - ) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.birds.deleteAt(1)) // buzzard - s2 = Automerge.change(s2, doc => doc.birds.deleteAt(1)) // buzzard - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s3.birds, ["albatross", "cormorant"]) - }) - - it("should handle concurrent deletion of different elements", () => { - s1 = Automerge.change( - s1, - doc => (doc.birds = ["albatross", "buzzard", "cormorant"]) - ) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => doc.birds.deleteAt(0)) // albatross - s2 = Automerge.change(s2, doc => doc.birds.deleteAt(1)) // buzzard - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s3.birds, ["cormorant"]) - }) - - it("should handle concurrent updates at different levels of the tree", () => { - // A delete higher up in the tree overrides an update in a subtree - s1 = Automerge.change( - s1, - doc => - (doc.animals = { - birds: { pink: "flamingo", black: "starling" }, - mammals: ["badger"], - }) - ) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => (doc.animals.birds.brown = "sparrow")) - s2 = Automerge.change(s2, doc => delete doc.animals.birds) - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s1.animals, { - birds: { - pink: "flamingo", - brown: "sparrow", - black: "starling", - }, - mammals: ["badger"], - }) - assert.deepStrictEqual(s2.animals, { mammals: ["badger"] }) - assert.deepStrictEqual(s3.animals, { mammals: ["badger"] }) - }) - - it("should handle updates of concurrently deleted objects", () => { - s1 = Automerge.change( - s1, - doc => (doc.birds = { blackbird: { feathers: "black" } }) - ) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => delete doc.birds.blackbird) - s2 = Automerge.change(s2, doc => (doc.birds.blackbird.beak = "orange")) - s3 = Automerge.merge(s1, s2) - assert.deepStrictEqual(s1, { birds: {} }) - }) - - it("should not interleave sequence insertions at the same position", () => { - s1 = Automerge.change(s1, doc => (doc.wisdom = [])) - s2 = Automerge.merge(s2, s1) - s1 = Automerge.change(s1, doc => - doc.wisdom.push("to", "be", "is", "to", "do") - ) - s2 = Automerge.change(s2, doc => - doc.wisdom.push("to", "do", "is", "to", "be") - ) - s3 = Automerge.merge(s1, s2) - assertEqualsOneOf( - s3.wisdom, - ["to", "be", "is", "to", "do", "to", "do", "is", "to", "be"], - ["to", "do", "is", "to", "be", "to", "be", "is", "to", "do"] - ) - // In case you're wondering: http://quoteinvestigator.com/2013/09/16/do-be-do/ - }) - - describe("multiple insertions at the same list position", () => { - it("should handle insertion by greater actor ID", () => { - s1 = Automerge.init("aaaa") - s2 = Automerge.init("bbbb") - s1 = Automerge.change(s1, doc => (doc.list = ["two"])) - s2 = Automerge.merge(s2, s1) - s2 = Automerge.change(s2, doc => doc.list.splice(0, 0, "one")) - assert.deepStrictEqual(s2.list, ["one", "two"]) - }) - - it("should handle insertion by lesser actor ID", () => { - s1 = Automerge.init("bbbb") - s2 = Automerge.init("aaaa") - s1 = Automerge.change(s1, doc => (doc.list = ["two"])) - s2 = Automerge.merge(s2, s1) - s2 = Automerge.change(s2, doc => doc.list.splice(0, 0, "one")) - assert.deepStrictEqual(s2.list, ["one", "two"]) - }) - - it("should handle insertion regardless of actor ID", () => { - s1 = Automerge.change(s1, doc => (doc.list = ["two"])) - s2 = Automerge.merge(s2, s1) - s2 = Automerge.change(s2, doc => doc.list.splice(0, 0, "one")) - assert.deepStrictEqual(s2.list, ["one", "two"]) - }) - - it("should make insertion order consistent with causality", () => { - s1 = Automerge.change(s1, doc => (doc.list = ["four"])) - s2 = Automerge.merge(s2, s1) - s2 = Automerge.change(s2, doc => doc.list.unshift("three")) - s1 = Automerge.merge(s1, s2) - s1 = Automerge.change(s1, doc => doc.list.unshift("two")) - s2 = Automerge.merge(s2, s1) - s2 = Automerge.change(s2, doc => doc.list.unshift("one")) - assert.deepStrictEqual(s2.list, ["one", "two", "three", "four"]) - }) - }) - }) - - describe("saving and loading", () => { - it("should save and restore an empty document", () => { - let s = Automerge.load(Automerge.save(Automerge.init())) - assert.deepStrictEqual(s, {}) - }) - - it("should generate a new random actor ID", () => { - let s1 = Automerge.init() - let s2 = Automerge.load(Automerge.save(s1)) - assert.strictEqual( - UUID_PATTERN.test(Automerge.getActorId(s1).toString()), - true - ) - assert.strictEqual( - UUID_PATTERN.test(Automerge.getActorId(s2).toString()), - true - ) - assert.notEqual(Automerge.getActorId(s1), Automerge.getActorId(s2)) - }) - - it("should allow a custom actor ID to be set", () => { - let s = Automerge.load(Automerge.save(Automerge.init()), "333333") - assert.strictEqual(Automerge.getActorId(s), "333333") - }) - - it("should reconstitute complex datatypes", () => { - let s1 = Automerge.change( - Automerge.init(), - doc => (doc.todos = [{ title: "water plants", done: false }]) - ) - let s2 = Automerge.load(Automerge.save(s1)) - assert.deepStrictEqual(s2, { - todos: [{ title: "water plants", done: false }], - }) - }) - - it("should save and load maps with @ symbols in the keys", () => { - let s1 = Automerge.change( - Automerge.init(), - doc => (doc["123@4567"] = "hello") - ) - let s2 = Automerge.load(Automerge.save(s1)) - assert.deepStrictEqual(s2, { "123@4567": "hello" }) - }) - - it("should reconstitute conflicts", () => { - let s1 = Automerge.change( - Automerge.init("111111"), - doc => (doc.x = 3) - ) - let s2 = Automerge.change( - Automerge.init("222222"), - doc => (doc.x = 5) - ) - s1 = Automerge.merge(s1, s2) - let s3 = Automerge.load(Automerge.save(s1)) - assert.strictEqual(s1.x, 5) - assert.strictEqual(s3.x, 5) - assert.deepStrictEqual(Automerge.getConflicts(s1, "x"), { - "1@111111": 3, - "1@222222": 5, - }) - assert.deepStrictEqual(Automerge.getConflicts(s3, "x"), { - "1@111111": 3, - "1@222222": 5, - }) - }) - - it("should reconstitute element ID counters", () => { - const s1 = Automerge.init("01234567") - const s2 = Automerge.change(s1, doc => (doc.list = ["a"])) - const listId = Automerge.getObjectId(s2.list) - const changes12 = Automerge.getAllChanges(s2).map(Automerge.decodeChange) - assert.deepStrictEqual(changes12, [ - { - hash: changes12[0].hash, - actor: "01234567", - seq: 1, - startOp: 1, - time: changes12[0].time, - message: null, - deps: [], - ops: [ - { obj: "_root", action: "makeList", key: "list", pred: [] }, - { - obj: listId, - action: "makeText", - elemId: "_head", - insert: true, - pred: [], - }, - { - obj: "2@01234567", - action: "set", - elemId: "_head", - insert: true, - value: "a", - pred: [], - }, - ], - }, - ]) - const s3 = Automerge.change(s2, doc => doc.list.deleteAt(0)) - const s4 = Automerge.load(Automerge.save(s3), "01234567") - const s5 = Automerge.change(s4, doc => doc.list.push("b")) - const changes45 = Automerge.getAllChanges(s5).map(Automerge.decodeChange) - assert.deepStrictEqual(s5, { list: ["b"] }) - assert.deepStrictEqual(changes45[2], { - hash: changes45[2].hash, - actor: "01234567", - seq: 3, - startOp: 5, - time: changes45[2].time, - message: null, - deps: [changes45[1].hash], - ops: [ - { - obj: listId, - action: "makeText", - elemId: "_head", - insert: true, - pred: [], - }, - { - obj: "5@01234567", - action: "set", - elemId: "_head", - insert: true, - value: "b", - pred: [], - }, - ], - }) - }) - - it("should allow a reloaded list to be mutated", () => { - let doc = Automerge.change(Automerge.init(), doc => (doc.foo = [])) - doc = Automerge.load(Automerge.save(doc)) - doc = Automerge.change(doc, "add", doc => doc.foo.push(1)) - doc = Automerge.load(Automerge.save(doc)) - assert.deepStrictEqual(doc.foo, [1]) - }) - - it("should reload a document containing deflated columns", () => { - // In this test, the keyCtr column is long enough for deflate compression to kick in, but the - // keyStr column is short. Thus, the deflate bit gets set for keyCtr but not for keyStr. - // When checking whether the columns appear in ascending order, we must ignore the deflate bit. - let doc = Automerge.change(Automerge.init(), doc => { - doc.list = [] - for (let i = 0; i < 200; i++) - doc.list.insertAt(Math.floor(Math.random() * i), "a") - }) - Automerge.load(Automerge.save(doc)) - let expected: Array = [] - for (let i = 0; i < 200; i++) expected.push("a") - assert.deepStrictEqual(doc, { list: expected }) - }) - - it.skip("should call patchCallback if supplied to load", () => { - const s1 = Automerge.change( - Automerge.init(), - doc => (doc.birds = ["Goldfinch"]) - ) - const s2 = Automerge.change(s1, doc => doc.birds.push("Chaffinch")) - const callbacks: Array = [], - actor = Automerge.getActorId(s1) - const reloaded = Automerge.load(Automerge.save(s2), { - patchCallback(patch, before, after) { - callbacks.push({ patch, before, after }) - }, - }) - assert.strictEqual(callbacks.length, 1) - assert.deepStrictEqual(callbacks[0].patch, { - maxOp: 3, - deps: [decodeChange(Automerge.getAllChanges(s2)[1]).hash], - clock: { [actor]: 2 }, - pendingChanges: 0, - diffs: { - objectId: "_root", - type: "map", - props: { - birds: { - [`1@${actor}`]: { - objectId: `1@${actor}`, - type: "list", - edits: [ - { - action: "multi-insert", - index: 0, - elemId: `2@${actor}`, - values: ["Goldfinch", "Chaffinch"], - }, - ], - }, - }, - }, - }, - }) - assert.deepStrictEqual(callbacks[0].before, {}) - assert.strictEqual(callbacks[0].after, reloaded) - assert.strictEqual(callbacks[0].local, false) - }) - }) - - describe("history API", () => { - it("should return an empty history for an empty document", () => { - assert.deepStrictEqual(Automerge.getHistory(Automerge.init()), []) - }) - - it("should make past document states accessible", () => { - let s = Automerge.init() - s = Automerge.change(s, doc => (doc.config = { background: "blue" })) - s = Automerge.change(s, doc => (doc.birds = ["mallard"])) - s = Automerge.change(s, doc => doc.birds.unshift("oystercatcher")) - assert.deepStrictEqual( - Automerge.getHistory(s).map(state => state.snapshot), - [ - { config: { background: "blue" } }, - { config: { background: "blue" }, birds: ["mallard"] }, - { - config: { background: "blue" }, - birds: ["oystercatcher", "mallard"], - }, - ] - ) - }) - - it("should make change messages accessible", () => { - let s = Automerge.init() - s = Automerge.change(s, "Empty Bookshelf", doc => (doc.books = [])) - s = Automerge.change(s, "Add Orwell", doc => - doc.books.push("Nineteen Eighty-Four") - ) - s = Automerge.change(s, "Add Huxley", doc => - doc.books.push("Brave New World") - ) - assert.deepStrictEqual(s.books, [ - "Nineteen Eighty-Four", - "Brave New World", - ]) - assert.deepStrictEqual( - Automerge.getHistory(s).map(state => state.change.message), - ["Empty Bookshelf", "Add Orwell", "Add Huxley"] - ) - }) - }) - - describe("changes API", () => { - it("should return an empty list on an empty document", () => { - let changes = Automerge.getAllChanges(Automerge.init()) - assert.deepStrictEqual(changes, []) - }) - - it("should return an empty list when nothing changed", () => { - let s1 = Automerge.change( - Automerge.init(), - doc => (doc.birds = ["Chaffinch"]) - ) - assert.deepStrictEqual(Automerge.getChanges(s1, s1), []) - }) - - it("should do nothing when applying an empty list of changes", () => { - let s1 = Automerge.change( - Automerge.init(), - doc => (doc.birds = ["Chaffinch"]) - ) - assert.deepStrictEqual(Automerge.applyChanges(s1, [])[0], s1) - }) - - it("should return all changes when compared to an empty document", () => { - let s1 = Automerge.change( - Automerge.init(), - "Add Chaffinch", - doc => (doc.birds = ["Chaffinch"]) - ) - let s2 = Automerge.change(s1, "Add Bullfinch", doc => - doc.birds.push("Bullfinch") - ) - let changes = Automerge.getChanges(Automerge.init(), s2) - assert.strictEqual(changes.length, 2) - }) - - it("should allow a document copy to be reconstructed from scratch", () => { - let s1 = Automerge.change( - Automerge.init(), - "Add Chaffinch", - doc => (doc.birds = ["Chaffinch"]) - ) - let s2 = Automerge.change(s1, "Add Bullfinch", doc => - doc.birds.push("Bullfinch") - ) - let changes = Automerge.getAllChanges(s2) - let [s3] = Automerge.applyChanges(Automerge.init(), changes) - assert.deepStrictEqual(s3.birds, ["Chaffinch", "Bullfinch"]) - }) - - it("should return changes since the last given version", () => { - let s1 = Automerge.change( - Automerge.init(), - "Add Chaffinch", - doc => (doc.birds = ["Chaffinch"]) - ) - let changes1 = Automerge.getAllChanges(s1) - let s2 = Automerge.change(s1, "Add Bullfinch", doc => - doc.birds.push("Bullfinch") - ) - let changes2 = Automerge.getChanges(s1, s2) - assert.strictEqual(changes1.length, 1) // Add Chaffinch - assert.strictEqual(changes2.length, 1) // Add Bullfinch - }) - - it("should incrementally apply changes since the last given version", () => { - let s1 = Automerge.change( - Automerge.init(), - "Add Chaffinch", - doc => (doc.birds = ["Chaffinch"]) - ) - let changes1 = Automerge.getAllChanges(s1) - let s2 = Automerge.change(s1, "Add Bullfinch", doc => - doc.birds.push("Bullfinch") - ) - let changes2 = Automerge.getChanges(s1, s2) - let [s3] = Automerge.applyChanges(Automerge.init(), changes1) - let [s4] = Automerge.applyChanges(s3, changes2) - assert.deepStrictEqual(s3.birds, ["Chaffinch"]) - assert.deepStrictEqual(s4.birds, ["Chaffinch", "Bullfinch"]) - }) - - it("should handle updates to a list element", () => { - let s1 = Automerge.change( - Automerge.init(), - doc => (doc.birds = ["Chaffinch", "Bullfinch"]) - ) - let s2 = Automerge.change(s1, doc => (doc.birds[0] = "Goldfinch")) - let [s3] = Automerge.applyChanges( - Automerge.init(), - Automerge.getAllChanges(s2) - ) - assert.deepStrictEqual(s3.birds, ["Goldfinch", "Bullfinch"]) - assert.strictEqual(Automerge.getConflicts(s3.birds, 0), undefined) - }) - - // TEXT - it("should handle updates to a text object", () => { - let s1 = Automerge.change(Automerge.init(), doc => (doc.text = "ab")) - let s2 = Automerge.change(s1, doc => - Automerge.splice(doc, "text", 0, 1, "A") - ) - let [s3] = Automerge.applyChanges( - Automerge.init(), - Automerge.getAllChanges(s2) - ) - assert.deepStrictEqual([...s3.text], ["A", "b"]) - }) - - /* - it.skip('should report missing dependencies', () => { - let s1 = Automerge.change(Automerge.init(), doc => doc.birds = ['Chaffinch']) - let s2 = Automerge.merge(Automerge.init(), s1) - s2 = Automerge.change(s2, doc => doc.birds.push('Bullfinch')) - let changes = Automerge.getAllChanges(s2) - let [s3, patch] = Automerge.applyChanges(Automerge.init(), [changes[1]]) - assert.deepStrictEqual(s3, {}) - assert.deepStrictEqual(Automerge.Backend.getMissingDeps(Automerge.Frontend.getBackendState(s3)), - decodeChange(changes[1]).deps) - assert.strictEqual(patch.pendingChanges, 1) - ;[s3, patch] = Automerge.applyChanges(s3, [changes[0]]) - assert.deepStrictEqual(s3.birds, ['Chaffinch', 'Bullfinch']) - assert.deepStrictEqual(Automerge.Backend.getMissingDeps(Automerge.Frontend.getBackendState(s3)), []) - assert.strictEqual(patch.pendingChanges, 0) - }) - */ - - it("should report missing dependencies with out-of-order applyChanges", () => { - let s0 = Automerge.init() - let s1 = Automerge.change(s0, doc => (doc.test = ["a"])) - let changes01 = Automerge.getAllChanges(s1) - let s2 = Automerge.change(s1, doc => (doc.test = ["b"])) - let changes12 = Automerge.getChanges(s1, s2) - let s3 = Automerge.change(s2, doc => (doc.test = ["c"])) - let changes23 = Automerge.getChanges(s2, s3) - let s4 = Automerge.init() - let [s5] = Automerge.applyChanges(s4, changes23) - let [s6] = Automerge.applyChanges(s5, changes12) - assert.deepStrictEqual(Automerge.getMissingDeps(s6, []), [ - decodeChange(changes01[0]).hash, - ]) - }) - - it("should call patchCallback if supplied when applying changes", () => { - const s1 = Automerge.change( - Automerge.init(), - doc => (doc.birds = ["Goldfinch"]) - ) - const callbacks: Array = [] - const before = Automerge.init() - const [after] = Automerge.applyChanges( - before, - Automerge.getAllChanges(s1), - { - patchCallback(patch, before, after) { - callbacks.push({ patch, before, after }) - }, - } - ) - assert.strictEqual(callbacks.length, 1) - assert.deepStrictEqual(callbacks[0].patch[0], { - action: "put", - path: ["birds"], - value: [], - }) - assert.deepStrictEqual(callbacks[0].patch[1], { - action: "insert", - path: ["birds", 0], - values: [""], - }) - assert.deepStrictEqual(callbacks[0].patch[2], { - action: "splice", - path: ["birds", 0, 0], - value: "Goldfinch", - }) - assert.strictEqual(callbacks[0].before, before) - assert.strictEqual(callbacks[0].after, after) - }) - - it("should merge multiple applied changes into one patch", () => { - const s1 = Automerge.change( - Automerge.init(), - doc => (doc.birds = ["Goldfinch"]) - ) - const s2 = Automerge.change(s1, doc => doc.birds.push("Chaffinch")) - const patches: Array = [] - Automerge.applyChanges(Automerge.init(), Automerge.getAllChanges(s2), { - patchCallback: p => patches.push(...p), - }) - assert.deepStrictEqual(patches, [ - { action: "put", path: ["birds"], value: [] }, - { action: "insert", path: ["birds", 0], values: ["", ""] }, - { action: "splice", path: ["birds", 0, 0], value: "Goldfinch" }, - { action: "splice", path: ["birds", 1, 0], value: "Chaffinch" }, - ]) - }) - - it("should call a patchCallback registered on doc initialisation", () => { - const s1 = Automerge.change( - Automerge.init(), - doc => (doc.bird = "Goldfinch") - ) - const patches: Array = [] - const before = Automerge.init({ - patchCallback: p => patches.push(...p), - }) - Automerge.applyChanges(before, Automerge.getAllChanges(s1)) - assert.deepStrictEqual(patches, [ - { action: "put", path: ["bird"], value: "" }, - { action: "splice", path: ["bird", 0], value: "Goldfinch" }, - ]) - }) - }) -}) diff --git a/javascript/test/stable_unstable_interop.ts b/javascript/test/stable_unstable_interop.ts deleted file mode 100644 index dc57f338..00000000 --- a/javascript/test/stable_unstable_interop.ts +++ /dev/null @@ -1,99 +0,0 @@ -import * as assert from "assert" -import * as stable from "../src" -import { unstable } from "../src" - -describe("stable/unstable interop", () => { - it("should allow reading Text from stable as strings in unstable", () => { - let stableDoc = stable.from({ - text: new stable.Text("abc"), - }) - let unstableDoc = unstable.init() - unstableDoc = unstable.merge(unstableDoc, stableDoc) - assert.deepStrictEqual(unstableDoc.text, "abc") - }) - - it("should allow string from stable as Text in unstable", () => { - let unstableDoc = unstable.from({ - text: "abc", - }) - let stableDoc = stable.init() - stableDoc = unstable.merge(stableDoc, unstableDoc) - assert.deepStrictEqual(stableDoc.text, new stable.Text("abc")) - }) - - it("should allow reading strings from stable as RawString in unstable", () => { - let stableDoc = stable.from({ - text: "abc", - }) - let unstableDoc = unstable.init() - unstableDoc = unstable.merge(unstableDoc, stableDoc) - assert.deepStrictEqual(unstableDoc.text, new unstable.RawString("abc")) - }) - - it("should allow reading RawString from unstable as string in stable", () => { - let unstableDoc = unstable.from({ - text: new unstable.RawString("abc"), - }) - let stableDoc = stable.init() - stableDoc = unstable.merge(stableDoc, unstableDoc) - assert.deepStrictEqual(stableDoc.text, "abc") - }) - - it("should show conflicts on text objects", () => { - let doc1 = stable.from({ text: new stable.Text("abc") }, "bb") - let doc2 = stable.from({ text: new stable.Text("def") }, "aa") - doc1 = stable.merge(doc1, doc2) - let conflicts = stable.getConflicts(doc1, "text")! - assert.equal(conflicts["1@bb"]!.toString(), "abc") - assert.equal(conflicts["1@aa"]!.toString(), "def") - - let unstableDoc = unstable.init() - unstableDoc = unstable.merge(unstableDoc, doc1) - let conflicts2 = unstable.getConflicts(unstableDoc, "text")! - assert.equal(conflicts2["1@bb"]!.toString(), "abc") - assert.equal(conflicts2["1@aa"]!.toString(), "def") - }) - - it("should allow filling a list with text in stable", () => { - let doc = stable.from<{ list: Array }>({ - list: [null, null, null], - }) - doc = stable.change(doc, doc => { - doc.list.fill(new stable.Text("abc"), 0, 3) - }) - assert.deepStrictEqual(doc.list, [ - new stable.Text("abc"), - new stable.Text("abc"), - new stable.Text("abc"), - ]) - }) - - it("should allow filling a list with text in unstable", () => { - let doc = unstable.from<{ list: Array }>({ - list: [null, null, null], - }) - doc = stable.change(doc, doc => { - doc.list.fill("abc", 0, 3) - }) - assert.deepStrictEqual(doc.list, ["abc", "abc", "abc"]) - }) - - it("should allow splicing text into a list on stable", () => { - let doc = stable.from<{ list: Array }>({ list: [] }) - doc = stable.change(doc, doc => { - doc.list.splice(0, 0, new stable.Text("abc"), new stable.Text("def")) - }) - assert.deepStrictEqual(doc.list, [ - new stable.Text("abc"), - new stable.Text("def"), - ]) - }) - - it("should allow splicing text into a list on unstable", () => { - let doc = unstable.from<{ list: Array }>({ list: [] }) - doc = unstable.change(doc, doc => { - doc.list.splice(0, 0, "abc", "def") - }) - assert.deepStrictEqual(doc.list, ["abc", "def"]) - }) -}) diff --git a/javascript/test/sync_test.ts b/javascript/test/sync_test.ts deleted file mode 100644 index 5724985c..00000000 --- a/javascript/test/sync_test.ts +++ /dev/null @@ -1,1064 +0,0 @@ -import * as assert from "assert" -import * as Automerge from "../src" -import { BloomFilter } from "./legacy/sync" -import { - decodeSyncMessage, - encodeSyncMessage, - decodeSyncState, - encodeSyncState, - initSyncState, -} from "../src" - -function getHeads(doc) { - return Automerge.getHeads(doc) -} - -function getMissingDeps(doc) { - return Automerge.getMissingDeps(doc, []) -} - -function sync( - a, - b, - aSyncState = initSyncState(), - bSyncState = initSyncState() -) { - const MAX_ITER = 10 - let aToBmsg: Automerge.SyncMessage | null = null, - bToAmsg: Automerge.SyncMessage | null = null, - i = 0 - do { - ;[aSyncState, aToBmsg] = Automerge.generateSyncMessage(a, aSyncState) - ;[bSyncState, bToAmsg] = Automerge.generateSyncMessage(b, bSyncState) - - if (aToBmsg) { - ;[b, bSyncState] = Automerge.receiveSyncMessage(b, bSyncState, aToBmsg) - } - if (bToAmsg) { - ;[a, aSyncState] = Automerge.receiveSyncMessage(a, aSyncState, bToAmsg) - } - - if (i++ > MAX_ITER) { - throw new Error( - `Did not synchronize within ${MAX_ITER} iterations. Do you have a bug causing an infinite loop?` - ) - } - } while (aToBmsg || bToAmsg) - - return [a, b, aSyncState, bSyncState] -} - -describe("Data sync protocol", () => { - describe("with docs already in sync", () => { - describe("an empty local doc", () => { - it("should send a sync message implying no local data", () => { - let n1 = Automerge.init() - let s1 = initSyncState() - let m1 - ;[s1, m1] = Automerge.generateSyncMessage(n1, s1) - const message = decodeSyncMessage(m1) - assert.deepStrictEqual(message.heads, []) - assert.deepStrictEqual(message.need, []) - assert.deepStrictEqual(message.have.length, 1) - assert.deepStrictEqual(message.have[0].lastSync, []) - assert.deepStrictEqual(message.have[0].bloom.byteLength, 0) - assert.deepStrictEqual(message.changes, []) - }) - - it("should not reply if we have no data as well", () => { - let n1 = Automerge.init(), - n2 = Automerge.init() - let s1 = initSyncState(), - s2 = initSyncState() - let m1: Automerge.SyncMessage | null = null, - m2: Automerge.SyncMessage | null = null - ;[s1, m1] = Automerge.generateSyncMessage(n1, s1) - if (m1 != null) { - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, m1) - } - ;[s2, m2] = Automerge.generateSyncMessage(n2, s2) - assert.deepStrictEqual(m2, null) - }) - }) - - describe("documents with data", () => { - it("repos with equal heads do not need a reply message", () => { - let n1 = Automerge.init(), - n2 = Automerge.init() - let s1 = initSyncState(), - s2 = initSyncState() - let m1: Automerge.SyncMessage | null = null, - m2: Automerge.SyncMessage | null = null - - // make two nodes with the same changes - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.n = [])) - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => doc.n.push(i)) - ;[n2] = Automerge.applyChanges(n2, Automerge.getAllChanges(n1)) - assert.deepStrictEqual(n1, n2) - - // generate a naive sync message - ;[s1, m1] = Automerge.generateSyncMessage(n1, s1) - assert.deepStrictEqual(s1.lastSentHeads, getHeads(n1)) - - // heads are equal so this message should be null - if (m1 != null) { - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, m1) - } - ;[s2, m2] = Automerge.generateSyncMessage(n2, s2) - assert.strictEqual(m2, null) - }) - - it("n1 should offer all changes to n2 when starting from nothing", () => { - let n1 = Automerge.init(), - n2 = Automerge.init() - - // make changes for n1 that n2 should request - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.n = [])) - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => doc.n.push(i)) - - assert.notDeepStrictEqual(n1, n2) - const [after1, after2] = sync(n1, n2) - assert.deepStrictEqual(after1, after2) - }) - - it("should sync peers where one has commits the other does not", () => { - let n1 = Automerge.init(), - n2 = Automerge.init() - - // make changes for n1 that n2 should request - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.n = [])) - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => doc.n.push(i)) - - assert.notDeepStrictEqual(n1, n2) - ;[n1, n2] = sync(n1, n2) - assert.deepStrictEqual(n1, n2) - }) - - it("should work with prior sync state", () => { - // create & synchronize two nodes - let n1 = Automerge.init(), - n2 = Automerge.init() - let s1 = initSyncState(), - s2 = initSyncState() - - for (let i = 0; i < 5; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2) - - // modify the first node further - for (let i = 5; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - - assert.notDeepStrictEqual(n1, n2) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1, n2) - }) - - it("should not generate messages once synced", () => { - // create & synchronize two nodes - let n1 = Automerge.init("abc123"), - n2 = Automerge.init("def456") - let s1 = initSyncState(), - s2 = initSyncState() - - let message - for (let i = 0; i < 5; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - for (let i = 0; i < 5; i++) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.y = i)) - - // n1 reports what it has - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - - // n2 receives that message and sends changes along with what it has - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, message) - ;[s2, message] = Automerge.generateSyncMessage(n2, s2) - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 5) - //assert.deepStrictEqual(patch, null) // no changes arrived - - // n1 receives the changes and replies with the changes it now knows n2 needs - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, message) - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 5) - //assert.deepStrictEqual(patch.diffs.props, {y: {'5@def456': {type: 'value', value: 4, datatype: 'int'}}}) // changes arrived - - // n2 applies the changes and sends confirmation ending the exchange - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, message) - ;[s2, message] = Automerge.generateSyncMessage(n2, s2) - //assert.deepStrictEqual(patch.diffs.props, {x: {'5@abc123': {type: 'value', value: 4, datatype: 'int'}}}) // changes arrived - - // n1 receives the message and has nothing more to say - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, message) - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - assert.deepStrictEqual(message, null) - //assert.deepStrictEqual(patch, null) // no changes arrived - - // n2 also has nothing left to say - ;[s2, message] = Automerge.generateSyncMessage(n2, s2) - assert.deepStrictEqual(message, null) - }) - - it("should allow simultaneous messages during synchronization", () => { - // create & synchronize two nodes - let n1 = Automerge.init("abc123"), - n2 = Automerge.init("def456") - let s1 = initSyncState(), - s2 = initSyncState() - for (let i = 0; i < 5; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - for (let i = 0; i < 5; i++) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.y = i)) - const head1 = getHeads(n1)[0], - head2 = getHeads(n2)[0] - - // both sides report what they have but have no shared peer state - let msg1to2, msg2to1 - ;[s1, msg1to2] = Automerge.generateSyncMessage(n1, s1) - ;[s2, msg2to1] = Automerge.generateSyncMessage(n2, s2) - assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 0) - assert.deepStrictEqual( - decodeSyncMessage(msg1to2).have[0].lastSync.length, - 0 - ) - assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 0) - assert.deepStrictEqual( - decodeSyncMessage(msg2to1).have[0].lastSync.length, - 0 - ) - - // n1 and n2 receives that message and update sync state but make no patch - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, msg2to1) - //assert.deepStrictEqual(patch1, null) // no changes arrived, so no patch - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, msg1to2) - //assert.deepStrictEqual(patch2, null) // no changes arrived, so no patch - - // now both reply with their local changes the other lacks - // (standard warning that 1% of the time this will result in a "need" message) - ;[s1, msg1to2] = Automerge.generateSyncMessage(n1, s1) - assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 5) - ;[s2, msg2to1] = Automerge.generateSyncMessage(n2, s2) - assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 5) - - // both should now apply the changes and update the frontend - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, msg2to1) - assert.deepStrictEqual(getMissingDeps(n1), []) - //assert.notDeepStrictEqual(patch1, null) - assert.deepStrictEqual(n1, { x: 4, y: 4 }) - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, msg1to2) - assert.deepStrictEqual(getMissingDeps(n2), []) - //assert.notDeepStrictEqual(patch2, null) - assert.deepStrictEqual(n2, { x: 4, y: 4 }) - - // The response acknowledges the changes received, and sends no further changes - ;[s1, msg1to2] = Automerge.generateSyncMessage(n1, s1) - assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 0) - ;[s2, msg2to1] = Automerge.generateSyncMessage(n2, s2) - assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 0) - - // After receiving acknowledgements, their shared heads should be equal - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, msg2to1) - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, msg1to2) - assert.deepStrictEqual(s1.sharedHeads, [head1, head2].sort()) - assert.deepStrictEqual(s2.sharedHeads, [head1, head2].sort()) - //assert.deepStrictEqual(patch1, null) - //assert.deepStrictEqual(patch2, null) - - // We're in sync, no more messages required - ;[s1, msg1to2] = Automerge.generateSyncMessage(n1, s1) - ;[s2, msg2to1] = Automerge.generateSyncMessage(n2, s2) - assert.deepStrictEqual(msg1to2, null) - assert.deepStrictEqual(msg2to1, null) - - // If we make one more change, and start another sync, its lastSync should be updated - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = 5)) - ;[s1, msg1to2] = Automerge.generateSyncMessage(n1, s1) - assert.deepStrictEqual( - decodeSyncMessage(msg1to2).have[0].lastSync, - [head1, head2].sort() - ) - }) - - it("should assume sent changes were recieved until we hear otherwise", () => { - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - message: Automerge.SyncMessage | null = null - - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.items = [])) - ;[n1, n2, s1] = sync(n1, n2) - - n1 = Automerge.change(n1, { time: 0 }, doc => doc.items.push("x")) - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - if (message != null) { - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) - } - - n1 = Automerge.change(n1, { time: 0 }, doc => doc.items.push("y")) - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - if (message != null) { - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) - } - - n1 = Automerge.change(n1, { time: 0 }, doc => doc.items.push("z")) - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - if (message != null) { - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) - } - }) - - it("should work regardless of who initiates the exchange", () => { - // create & synchronize two nodes - let n1 = Automerge.init(), - n2 = Automerge.init() - let s1 = initSyncState(), - s2 = initSyncState() - - for (let i = 0; i < 5; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - - // modify the first node further - for (let i = 5; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - - assert.notDeepStrictEqual(n1, n2) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1, n2) - }) - }) - }) - - describe("with diverged documents", () => { - it("should work without prior sync state", () => { - // Scenario: ,-- c10 <-- c11 <-- c12 <-- c13 <-- c14 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- c15 <-- c16 <-- c17 - // lastSync is undefined. - - // create two peers both with divergent commits - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2] = sync(n1, n2) - - for (let i = 10; i < 15; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - for (let i = 15; i < 18; i++) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.x = i)) - - assert.notDeepStrictEqual(n1, n2) - ;[n1, n2] = sync(n1, n2) - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - assert.deepStrictEqual(n1, n2) - }) - - it("should work with prior sync state", () => { - // Scenario: ,-- c10 <-- c11 <-- c12 <-- c13 <-- c14 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- c15 <-- c16 <-- c17 - // lastSync is c9. - - // create two peers both with divergent commits - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - - for (let i = 10; i < 15; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - for (let i = 15; i < 18; i++) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.x = i)) - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - - assert.notDeepStrictEqual(n1, n2) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - assert.deepStrictEqual(n1, n2) - }) - - it("should ensure non-empty state after sync", () => { - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - - for (let i = 0; i < 3; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - - assert.deepStrictEqual(s1.sharedHeads, getHeads(n1)) - assert.deepStrictEqual(s2.sharedHeads, getHeads(n1)) - }) - - it("should re-sync after one node crashed with data loss", () => { - // Scenario: (r) (n2) (n1) - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 - // n2 has changes {c0, c1, c2}, n1's lastSync is c5, and n2's lastSync is c2. - // we want to successfully sync (n1) with (r), even though (n1) believes it's talking to (n2) - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - - // n1 makes three changes, which we sync to n2 - for (let i = 0; i < 3; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - - // save a copy of n2 as "r" to simulate recovering from crash - let r, rSyncState - ;[r, rSyncState] = [Automerge.clone(n2), s2] - - // sync another few commits - for (let i = 3; i < 6; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - // everyone should be on the same page here - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - assert.deepStrictEqual(n1, n2) - - // now make a few more changes, then attempt to sync the fully-up-to-date n1 with the confused r - for (let i = 6; i < 9; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - s1 = decodeSyncState(encodeSyncState(s1)) - rSyncState = decodeSyncState(encodeSyncState(rSyncState)) - - assert.notDeepStrictEqual(getHeads(n1), getHeads(r)) - assert.notDeepStrictEqual(n1, r) - assert.deepStrictEqual(n1, { x: 8 }) - assert.deepStrictEqual(r, { x: 2 }) - ;[n1, r, s1, rSyncState] = sync(n1, r, s1, rSyncState) - assert.deepStrictEqual(getHeads(n1), getHeads(r)) - assert.deepStrictEqual(n1, r) - }) - - it("should resync after one node experiences data loss without disconnecting", () => { - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - - // n1 makes three changes, which we sync to n2 - for (let i = 0; i < 3; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - assert.deepStrictEqual(n1, n2) - - let n2AfterDataLoss = Automerge.init("89abcdef") - - // "n2" now has no data, but n1 still thinks it does. Note we don't do - // decodeSyncState(encodeSyncState(s1)) in order to simulate data loss without disconnecting - ;[n1, n2, s1, s2] = sync(n1, n2AfterDataLoss, s1, initSyncState()) - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - assert.deepStrictEqual(n1, n2) - }) - - it("should handle changes concurrent to the last sync heads", () => { - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef"), - n3 = Automerge.init("fedcba98") - let s12 = initSyncState(), - s21 = initSyncState(), - s23 = initSyncState(), - s32 = initSyncState() - - // Change 1 is known to all three nodes - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = 1)) - ;[n1, n2, s12, s21] = sync(n1, n2, s12, s21) - ;[n2, n3, s23, s32] = sync(n2, n3, s23, s32) - - // Change 2 is known to n1 and n2 - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = 2)) - ;[n1, n2, s12, s21] = sync(n1, n2, s12, s21) - - // Each of the three nodes makes one change (changes 3, 4, 5) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = 3)) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.x = 4)) - n3 = Automerge.change(n3, { time: 0 }, doc => (doc.x = 5)) - - // Apply n3's latest change to n2. If running in Node, turn the Uint8Array into a Buffer, to - // simulate transmission over a network (see https://github.com/automerge/automerge/pull/362) - let change = Automerge.getLastLocalChange(n3) - if (typeof Buffer === "function" && change != null) - change = Buffer.from(change) - ;[n2] = (change && Automerge.applyChanges(n2, [change])) || [n2] - - // Now sync n1 and n2. n3's change is concurrent to n1 and n2's last sync heads - ;[n1, n2, s12, s21] = sync(n1, n2, s12, s21) - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - assert.deepStrictEqual(n1, n2) - }) - - it("should handle histories with lots of branching and merging", () => { - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef"), - n3 = Automerge.init("fedcba98") - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = 0)) - ;[n2] = Automerge.applyChanges(n2, [Automerge.getLastLocalChange(n1)!]) - ;[n3] = Automerge.applyChanges(n3, [Automerge.getLastLocalChange(n1)!]) - n3 = Automerge.change(n3, { time: 0 }, doc => (doc.x = 1)) - - // - n1c1 <------ n1c2 <------ n1c3 <-- etc. <-- n1c20 <------ n1c21 - // / \/ \/ \/ - // / /\ /\ /\ - // c0 <---- n2c1 <------ n2c2 <------ n2c3 <-- etc. <-- n2c20 <------ n2c21 - // \ / - // ---------------------------------------------- n3c1 <----- - for (let i = 1; i < 20; i++) { - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.n1 = i)) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.n2 = i)) - const change1 = Automerge.getLastLocalChange(n1) - const change2 = Automerge.getLastLocalChange(n2) - ;[n1] = Automerge.applyChanges(n1, [change2!]) - ;[n2] = Automerge.applyChanges(n2, [change1!]) - } - - let s1 = initSyncState(), - s2 = initSyncState() - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - - // Having n3's last change concurrent to the last sync heads forces us into the slower code path - ;[n2] = Automerge.applyChanges(n2, [Automerge.getLastLocalChange(n3)!]) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.n1 = "final")) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.n2 = "final")) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - assert.deepStrictEqual(n1, n2) - }) - }) - - describe("with false positives", () => { - // NOTE: the following tests use brute force to search for Bloom filter false positives. The - // tests make change hashes deterministic by fixing the actorId and change timestamp to be - // constants. The loop that searches for false positives is then initialised such that it finds - // a false positive on its first iteration. However, if anything changes about the encoding of - // changes (causing their hashes to change) or if the Bloom filter configuration is changed, - // then the false positive will no longer be the first loop iteration. The tests should still - // pass because the loop will run until a false positive is found, but they will be slower. - - it("should handle a false-positive head", () => { - // Scenario: ,-- n1 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- n2 - // where n2 is a false positive in the Bloom filter containing {n1}. - // lastSync is c9. - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2) - for (let i = 1; ; i++) { - // search for false positive; see comment above - const n1up = Automerge.change( - Automerge.clone(n1, { actor: "01234567" }), - { time: 0 }, - doc => (doc.x = `${i} @ n1`) - ) - const n2up = Automerge.change( - Automerge.clone(n2, { actor: "89abcdef" }), - { time: 0 }, - doc => (doc.x = `${i} @ n2`) - ) - if (new BloomFilter(getHeads(n1up)).containsHash(getHeads(n2up)[0])) { - n1 = n1up - n2 = n2up - break - } - } - const allHeads = [...getHeads(n1), ...getHeads(n2)].sort() - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(getHeads(n1), allHeads) - assert.deepStrictEqual(getHeads(n2), allHeads) - }) - - describe("with a false-positive dependency", () => { - let n1, n2, s1, s2, n1hash2, n2hash2 - - beforeEach(() => { - // Scenario: ,-- n1c1 <-- n1c2 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- n2c1 <-- n2c2 - // where n2c1 is a false positive in the Bloom filter containing {n1c1, n1c2}. - // lastSync is c9. - n1 = Automerge.init("01234567") - n2 = Automerge.init("89abcdef") - s1 = initSyncState() - s2 = initSyncState() - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, (doc: any) => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2) - - let n1hash1, n2hash1 - for (let i = 29; ; i++) { - // search for false positive; see comment above - const n1us1 = Automerge.change( - Automerge.clone(n1, { actor: "01234567" }), - { time: 0 }, - (doc: any) => (doc.x = `${i} @ n1`) - ) - const n2us1 = Automerge.change( - Automerge.clone(n2, { actor: "89abcdef" }), - { time: 0 }, - (doc: any) => (doc.x = `${i} @ n2`) - ) - n1hash1 = getHeads(n1us1)[0] - n2hash1 = getHeads(n2us1)[0] - const n1us2 = Automerge.change( - n1us1, - { time: 0 }, - (doc: any) => (doc.x = "final @ n1") - ) - const n2us2 = Automerge.change( - n2us1, - { time: 0 }, - (doc: any) => (doc.x = "final @ n2") - ) - n1hash2 = getHeads(n1us2)[0] - n2hash2 = getHeads(n2us2)[0] - if (new BloomFilter([n1hash1, n1hash2]).containsHash(n2hash1)) { - n1 = n1us2 - n2 = n2us2 - break - } - } - }) - - it("should sync two nodes without connection reset", () => { - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(getHeads(n1), [n1hash2, n2hash2].sort()) - assert.deepStrictEqual(getHeads(n2), [n1hash2, n2hash2].sort()) - }) - - // FIXME - this has a periodic failure - it("should sync two nodes with connection reset", () => { - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(getHeads(n1), [n1hash2, n2hash2].sort()) - assert.deepStrictEqual(getHeads(n2), [n1hash2, n2hash2].sort()) - }) - - it.skip("should sync three nodes", () => { - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - - // First n1 and n2 exchange Bloom filters - let m1, m2 - ;[s1, m1] = Automerge.generateSyncMessage(n1, s1) - ;[s2, m2] = Automerge.generateSyncMessage(n2, s2) - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, m2) - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, m1) - - // Then n1 and n2 send each other their changes, except for the false positive - ;[s1, m1] = Automerge.generateSyncMessage(n1, s1) - ;[s2, m2] = Automerge.generateSyncMessage(n2, s2) - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, m2) - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, m1) - assert.strictEqual(decodeSyncMessage(m1).changes.length, 2) // n1c1 and n1c2 - assert.strictEqual(decodeSyncMessage(m2).changes.length, 1) // only n2c2; change n2c1 is not sent - - // n3 is a node that doesn't have the missing change. Nevertheless n1 is going to ask n3 for it - let n3 = Automerge.init("fedcba98"), - s13 = initSyncState(), - s31 = initSyncState() - ;[n1, n3, s13, s31] = sync(n1, n3, s13, s31) - assert.deepStrictEqual(getHeads(n1), [n1hash2]) - assert.deepStrictEqual(getHeads(n3), [n1hash2]) - }) - }) - - it("should not require an additional request when a false-positive depends on a true-negative", () => { - // Scenario: ,-- n1c1 <-- n1c2 <-- n1c3 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-+ - // `-- n2c1 <-- n2c2 <-- n2c3 - // where n2c2 is a false positive in the Bloom filter containing {n1c1, n1c2, n1c3}. - // lastSync is c4. - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - let n1hash3, n2hash3 - - for (let i = 0; i < 5; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2) - for (let i = 86; ; i++) { - // search for false positive; see comment above - const n1us1 = Automerge.change( - Automerge.clone(n1, { actor: "01234567" }), - { time: 0 }, - doc => (doc.x = `${i} @ n1`) - ) - const n2us1 = Automerge.change( - Automerge.clone(n2, { actor: "89abcdef" }), - { time: 0 }, - doc => (doc.x = `${i} @ n2`) - ) - const n1hash1 = getHeads(n1us1)[0] - const n1us2 = Automerge.change( - n1us1, - { time: 0 }, - doc => (doc.x = `${i + 1} @ n1`) - ) - const n2us2 = Automerge.change( - n2us1, - { time: 0 }, - doc => (doc.x = `${i + 1} @ n2`) - ) - const n1hash2 = getHeads(n1us2)[0], - n2hash2 = getHeads(n2us2)[0] - const n1up3 = Automerge.change( - n1us2, - { time: 0 }, - doc => (doc.x = "final @ n1") - ) - const n2up3 = Automerge.change( - n2us2, - { time: 0 }, - doc => (doc.x = "final @ n2") - ) - n1hash3 = getHeads(n1up3)[0] - n2hash3 = getHeads(n2up3)[0] - if ( - new BloomFilter([n1hash1, n1hash2, n1hash3]).containsHash(n2hash2) - ) { - n1 = n1up3 - n2 = n2up3 - break - } - } - const bothHeads = [n1hash3, n2hash3].sort() - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(getHeads(n1), bothHeads) - assert.deepStrictEqual(getHeads(n2), bothHeads) - }) - - it("should handle chains of false-positives", () => { - // Scenario: ,-- c5 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-+ - // `-- n2c1 <-- n2c2 <-- n2c3 - // where n2c1 and n2c2 are both false positives in the Bloom filter containing {c5}. - // lastSync is c4. - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - - for (let i = 0; i < 5; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = 5)) - for (let i = 2; ; i++) { - // search for false positive; see comment above - const n2us1 = Automerge.change( - Automerge.clone(n2, { actor: "89abcdef" }), - { time: 0 }, - doc => (doc.x = `${i} @ n2`) - ) - if (new BloomFilter(getHeads(n1)).containsHash(getHeads(n2us1)[0])) { - n2 = n2us1 - break - } - } - for (let i = 141; ; i++) { - // search for false positive; see comment above - const n2us2 = Automerge.change( - Automerge.clone(n2, { actor: "89abcdef" }), - { time: 0 }, - doc => (doc.x = `${i} again`) - ) - if (new BloomFilter(getHeads(n1)).containsHash(getHeads(n2us2)[0])) { - n2 = n2us2 - break - } - } - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.x = "final @ n2")) - - const allHeads = [...getHeads(n1), ...getHeads(n2)].sort() - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - ;[n1, n2, s1, s2] = sync(n1, n2, s1, s2) - assert.deepStrictEqual(getHeads(n1), allHeads) - assert.deepStrictEqual(getHeads(n2), allHeads) - }) - - it("should allow the false-positive hash to be explicitly requested", () => { - // Scenario: ,-- n1 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- n2 - // where n2 causes a false positive in the Bloom filter containing {n1}. - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - let message - - for (let i = 0; i < 10; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2) - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - - for (let i = 1; ; i++) { - // brute-force search for false positive; see comment above - const n1up = Automerge.change( - Automerge.clone(n1, { actor: "01234567" }), - { time: 0 }, - doc => (doc.x = `${i} @ n1`) - ) - const n2up = Automerge.change( - Automerge.clone(n2, { actor: "89abcdef" }), - { time: 0 }, - doc => (doc.x = `${i} @ n2`) - ) - // check if the bloom filter on n2 will believe n1 already has a particular hash - // this will mean n2 won't offer that data to n2 by receiving a sync message from n1 - if (new BloomFilter(getHeads(n1up)).containsHash(getHeads(n2up)[0])) { - n1 = n1up - n2 = n2up - break - } - } - - // n1 creates a sync message for n2 with an ill-fated bloom - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - assert.strictEqual(decodeSyncMessage(message).changes.length, 0) - - // n2 receives it and DOESN'T send a change back - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, message) - ;[s2, message] = Automerge.generateSyncMessage(n2, s2) - assert.strictEqual(decodeSyncMessage(message).changes.length, 0) - - // n1 should now realize it's missing that change and request it explicitly - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, message) - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - assert.deepStrictEqual(decodeSyncMessage(message).need, getHeads(n2)) - - // n2 should fulfill that request - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, message) - ;[s2, message] = Automerge.generateSyncMessage(n2, s2) - assert.strictEqual(decodeSyncMessage(message).changes.length, 1) - - // n1 should apply the change and the two should now be in sync - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, message) - assert.deepStrictEqual(getHeads(n1), getHeads(n2)) - }) - }) - - describe("protocol features", () => { - it("should allow multiple Bloom filters", () => { - // Scenario: ,-- n1c1 <-- n1c2 <-- n1c3 - // c0 <-- c1 <-- c2 <-+--- n2c1 <-- n2c2 <-- n2c3 - // `-- n3c1 <-- n3c2 <-- n3c3 - // n1 has {c0, c1, c2, n1c1, n1c2, n1c3, n2c1, n2c2}; - // n2 has {c0, c1, c2, n1c1, n1c2, n2c1, n2c2, n2c3}; - // n3 has {c0, c1, c2, n3c1, n3c2, n3c3}. - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef"), - n3 = Automerge.init("76543210") - let s13 = initSyncState() - let s32 = initSyncState(), - s31 = initSyncState(), - s23 = initSyncState() - let message1, message2, message3 - - for (let i = 0; i < 3; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - // sync all 3 nodes - ;[n1, n2, ,] = sync(n1, n2) // eslint-disable-line no-unused-vars -- kept for consistency - ;[n1, n3, s13, s31] = sync(n1, n3) - ;[n3, n2, s32, s23] = sync(n3, n2) - for (let i = 0; i < 2; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = `${i} @ n1`)) - for (let i = 0; i < 2; i++) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.x = `${i} @ n2`)) - ;[n1] = Automerge.applyChanges(n1, Automerge.getAllChanges(n2)) - ;[n2] = Automerge.applyChanges(n2, Automerge.getAllChanges(n1)) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = `3 @ n1`)) - n2 = Automerge.change(n2, { time: 0 }, doc => (doc.x = `3 @ n2`)) - for (let i = 0; i < 3; i++) - n3 = Automerge.change(n3, { time: 0 }, doc => (doc.x = `${i} @ n3`)) - const n1c3 = getHeads(n1)[0], - n2c3 = getHeads(n2)[0], - n3c3 = getHeads(n3)[0] - s13 = decodeSyncState(encodeSyncState(s13)) - s31 = decodeSyncState(encodeSyncState(s31)) - s23 = decodeSyncState(encodeSyncState(s23)) - s32 = decodeSyncState(encodeSyncState(s32)) - - // Now n3 concurrently syncs with n1 and n2. Doing this naively would result in n3 receiving - // changes {n1c1, n1c2, n2c1, n2c2} twice (those are the changes that both n1 and n2 have, but - // that n3 does not have). We want to prevent this duplication. - ;[s13, message1] = Automerge.generateSyncMessage(n1, s13) // message from n1 to n3 - assert.strictEqual(decodeSyncMessage(message1).changes.length, 0) - ;[n3, s31] = Automerge.receiveSyncMessage(n3, s31, message1) - ;[s31, message3] = Automerge.generateSyncMessage(n3, s31) // message from n3 to n1 - assert.strictEqual(decodeSyncMessage(message3).changes.length, 3) // {n3c1, n3c2, n3c3} - ;[n1, s13] = Automerge.receiveSyncMessage(n1, s13, message3) - - // Copy the Bloom filter received from n1 into the message sent from n3 to n2. This Bloom - // filter indicates what changes n3 is going to receive from n1. - ;[s32, message3] = Automerge.generateSyncMessage(n3, s32) // message from n3 to n2 - const modifiedMessage = decodeSyncMessage(message3) - modifiedMessage.have.push(decodeSyncMessage(message1).have[0]) - assert.strictEqual(modifiedMessage.changes.length, 0) - ;[n2, s23] = Automerge.receiveSyncMessage( - n2, - s23, - encodeSyncMessage(modifiedMessage) - ) - - // n2 replies to n3, sending only n2c3 (the one change that n2 has but n1 doesn't) - ;[s23, message2] = Automerge.generateSyncMessage(n2, s23) - assert.strictEqual(decodeSyncMessage(message2).changes.length, 1) // {n2c3} - ;[n3, s32] = Automerge.receiveSyncMessage(n3, s32, message2) - - // n1 replies to n3 - ;[s13, message1] = Automerge.generateSyncMessage(n1, s13) - assert.strictEqual(decodeSyncMessage(message1).changes.length, 5) // {n1c1, n1c2, n1c3, n2c1, n2c2} - ;[n3, s31] = Automerge.receiveSyncMessage(n3, s31, message1) - assert.deepStrictEqual(getHeads(n3), [n1c3, n2c3, n3c3].sort()) - }) - - it("should allow any change to be requested", () => { - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - let message: Automerge.SyncMessage | null = null - - for (let i = 0; i < 3; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - const lastSync = getHeads(n1) - for (let i = 3; i < 6; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n1, n2, s1, s2] = sync(n1, n2) - s1.lastSentHeads = [] // force generateSyncMessage to return a message even though nothing changed - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - const modMsg = decodeSyncMessage(message!) - modMsg.need = lastSync // re-request change 2 - ;[n2, s2] = Automerge.receiveSyncMessage( - n2, - s2, - encodeSyncMessage(modMsg) - ) - ;[s1, message] = Automerge.generateSyncMessage(n2, s2) - assert.strictEqual(decodeSyncMessage(message!).changes.length, 1) - assert.strictEqual( - Automerge.decodeChange(decodeSyncMessage(message!).changes[0]).hash, - lastSync[0] - ) - }) - - it("should ignore requests for a nonexistent change", () => { - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef") - let s1 = initSyncState(), - s2 = initSyncState() - let message: Automerge.SyncMessage | null = null - - for (let i = 0; i < 3; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) - ;[n2] = Automerge.applyChanges(n2, Automerge.getAllChanges(n1)) - ;[s1, message] = Automerge.generateSyncMessage(n1, s1) - const decoded = Automerge.decodeSyncMessage(message!) - decoded.need = [ - "0000000000000000000000000000000000000000000000000000000000000000", - ] - message = Automerge.encodeSyncMessage(decoded) - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, message!) - ;[s2, message] = Automerge.generateSyncMessage(n2, s2) - assert.strictEqual(message, null) - }) - - it("should allow a subset of changes to be sent", () => { - // ,-- c1 <-- c2 - // c0 <-+ - // `-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 - let n1 = Automerge.init("01234567"), - n2 = Automerge.init("89abcdef"), - n3 = Automerge.init("76543210") - let s1 = initSyncState(), - s2 = initSyncState() - let msg, decodedMsg - - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = 0)) - n3 = Automerge.merge(n3, n1) - for (let i = 1; i <= 2; i++) - n1 = Automerge.change(n1, { time: 0 }, doc => (doc.x = i)) // n1 has {c0, c1, c2} - for (let i = 3; i <= 4; i++) - n3 = Automerge.change(n3, { time: 0 }, doc => (doc.x = i)) // n3 has {c0, c3, c4} - const c2 = getHeads(n1)[0], - c4 = getHeads(n3)[0] - n2 = Automerge.merge(n2, n3) // n2 has {c0, c3, c4} - - // Sync n1 and n2, so their shared heads are {c2, c4} - ;[n1, n2, s1, s2] = sync(n1, n2) - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - assert.deepStrictEqual(s1.sharedHeads, [c2, c4].sort()) - assert.deepStrictEqual(s2.sharedHeads, [c2, c4].sort()) - - // n2 and n3 apply {c5, c6, c7, c8} - n3 = Automerge.change(n3, { time: 0 }, doc => (doc.x = 5)) - const change5 = Automerge.getLastLocalChange(n3) - n3 = Automerge.change(n3, { time: 0 }, doc => (doc.x = 6)) - const change6 = Automerge.getLastLocalChange(n3), - c6 = getHeads(n3)[0] - for (let i = 7; i <= 8; i++) - n3 = Automerge.change(n3, { time: 0 }, doc => (doc.x = i)) - const c8 = getHeads(n3)[0] - n2 = Automerge.merge(n2, n3) - - // Now n1 initiates a sync with n2, and n2 replies with {c5, c6}. n2 does not send {c7, c8} - ;[s1, msg] = Automerge.generateSyncMessage(n1, s1) - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, msg) - ;[s2, msg] = Automerge.generateSyncMessage(n2, s2) - decodedMsg = decodeSyncMessage(msg) - decodedMsg.changes = [change5, change6] - msg = encodeSyncMessage(decodedMsg) - const sentHashes = [ - Automerge.decodeChange(change5!).hash, - Automerge.decodeChange(change6!).hash, - ] - s2.sentHashes = sentHashes - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, msg) - assert.deepStrictEqual(s1.sharedHeads, [c2, c6].sort()) - - // n1 replies, confirming the receipt of {c5, c6} and requesting the remaining changes - ;[s1, msg] = Automerge.generateSyncMessage(n1, s1) - ;[n2, s2] = Automerge.receiveSyncMessage(n2, s2, msg) - assert.deepStrictEqual(decodeSyncMessage(msg).need, [c8]) - assert.deepStrictEqual( - decodeSyncMessage(msg).have[0].lastSync, - [c2, c6].sort() - ) - assert.deepStrictEqual(s1.sharedHeads, [c2, c6].sort()) - assert.deepStrictEqual(s2.sharedHeads, [c2, c6].sort()) - - // n2 sends the remaining changes {c7, c8} - ;[s2, msg] = Automerge.generateSyncMessage(n2, s2) - ;[n1, s1] = Automerge.receiveSyncMessage(n1, s1, msg) - assert.strictEqual(decodeSyncMessage(msg).changes.length, 2) - assert.deepStrictEqual(s1.sharedHeads, [c2, c8].sort()) - }) - }) -}) diff --git a/javascript/test/text_test.ts b/javascript/test/text_test.ts deleted file mode 100644 index 518c7d2b..00000000 --- a/javascript/test/text_test.ts +++ /dev/null @@ -1,111 +0,0 @@ -import * as assert from "assert" -import { unstable as Automerge } from "../src" -import { assertEqualsOneOf } from "./helpers" - -type DocType = { - text: string - [key: string]: any -} - -describe("Automerge.Text", () => { - let s1: Automerge.Doc, s2: Automerge.Doc - beforeEach(() => { - s1 = Automerge.change(Automerge.init(), doc => (doc.text = "")) - s2 = Automerge.merge(Automerge.init(), s1) - }) - - it("should support insertion", () => { - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 0, 0, "a")) - assert.strictEqual(s1.text.length, 1) - assert.strictEqual(s1.text[0], "a") - assert.strictEqual(s1.text, "a") - //assert.strictEqual(s1.text.getElemId(0), `2@${Automerge.getActorId(s1)}`) - }) - - it("should support deletion", () => { - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 0, 0, "abc")) - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 1, 1)) - assert.strictEqual(s1.text.length, 2) - assert.strictEqual(s1.text[0], "a") - assert.strictEqual(s1.text[1], "c") - assert.strictEqual(s1.text, "ac") - }) - - it("should support implicit and explicit deletion", () => { - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 0, 0, "abc")) - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 1, 1)) - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 1, 0)) - assert.strictEqual(s1.text.length, 2) - assert.strictEqual(s1.text[0], "a") - assert.strictEqual(s1.text[1], "c") - assert.strictEqual(s1.text, "ac") - }) - - it("should handle concurrent insertion", () => { - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 0, 0, "abc")) - s2 = Automerge.change(s2, doc => Automerge.splice(doc, "text", 0, 0, "xyz")) - s1 = Automerge.merge(s1, s2) - assert.strictEqual(s1.text.length, 6) - assertEqualsOneOf(s1.text, "abcxyz", "xyzabc") - }) - - it("should handle text and other ops in the same change", () => { - s1 = Automerge.change(s1, doc => { - doc.foo = "bar" - Automerge.splice(doc, "text", 0, 0, "a") - }) - assert.strictEqual(s1.foo, "bar") - assert.strictEqual(s1.text, "a") - assert.strictEqual(s1.text, "a") - }) - - it("should serialize to JSON as a simple string", () => { - s1 = Automerge.change(s1, doc => Automerge.splice(doc, "text", 0, 0, 'a"b')) - assert.strictEqual(JSON.stringify(s1), '{"text":"a\\"b"}') - }) - - it("should allow modification after an object is assigned to a document", () => { - s1 = Automerge.change(Automerge.init(), doc => { - doc.text = "" - Automerge.splice(doc, "text", 0, 0, "abcd") - Automerge.splice(doc, "text", 2, 1) - assert.strictEqual(doc.text, "abd") - }) - assert.strictEqual(s1.text, "abd") - }) - - it("should not allow modification outside of a change callback", () => { - assert.throws( - () => Automerge.splice(s1, "text", 0, 0, "a"), - /object cannot be modified outside of a change block/ - ) - }) - - describe("with initial value", () => { - it("should initialize text in Automerge.from()", () => { - let s1 = Automerge.from({ text: "init" }) - assert.strictEqual(s1.text.length, 4) - assert.strictEqual(s1.text[0], "i") - assert.strictEqual(s1.text[1], "n") - assert.strictEqual(s1.text[2], "i") - assert.strictEqual(s1.text[3], "t") - assert.strictEqual(s1.text, "init") - }) - - it("should encode the initial value as a change", () => { - const s1 = Automerge.from({ text: "init" }) - const changes = Automerge.getAllChanges(s1) - assert.strictEqual(changes.length, 1) - const [s2] = Automerge.applyChanges(Automerge.init(), changes) - assert.strictEqual(s2.text, "init") - assert.strictEqual(s2.text, "init") - }) - }) - - it("should support unicode when creating text", () => { - s1 = Automerge.from({ - text: "🐦", - }) - assert.strictEqual(s1.text, "🐦") - }) -}) diff --git a/javascript/test/text_v1.ts b/javascript/test/text_v1.ts deleted file mode 100644 index b111530f..00000000 --- a/javascript/test/text_v1.ts +++ /dev/null @@ -1,281 +0,0 @@ -import * as assert from "assert" -import * as Automerge from "../src" -import { assertEqualsOneOf } from "./helpers" - -type DocType = { text: Automerge.Text; [key: string]: any } - -describe("Automerge.Text", () => { - let s1: Automerge.Doc, s2: Automerge.Doc - beforeEach(() => { - s1 = Automerge.change( - Automerge.init(), - doc => (doc.text = new Automerge.Text()) - ) - s2 = Automerge.merge(Automerge.init(), s1) - }) - - it("should support insertion", () => { - s1 = Automerge.change(s1, doc => doc.text.insertAt(0, "a")) - assert.strictEqual(s1.text.length, 1) - assert.strictEqual(s1.text.get(0), "a") - assert.strictEqual(s1.text.toString(), "a") - //assert.strictEqual(s1.text.getElemId(0), `2@${Automerge.getActorId(s1)}`) - }) - - it("should support deletion", () => { - s1 = Automerge.change(s1, doc => doc.text.insertAt(0, "a", "b", "c")) - s1 = Automerge.change(s1, doc => doc.text.deleteAt(1, 1)) - assert.strictEqual(s1.text.length, 2) - assert.strictEqual(s1.text.get(0), "a") - assert.strictEqual(s1.text.get(1), "c") - assert.strictEqual(s1.text.toString(), "ac") - }) - - it("should support implicit and explicit deletion", () => { - s1 = Automerge.change(s1, doc => doc.text.insertAt(0, "a", "b", "c")) - s1 = Automerge.change(s1, doc => doc.text.deleteAt(1)) - s1 = Automerge.change(s1, doc => doc.text.deleteAt(1, 0)) - assert.strictEqual(s1.text.length, 2) - assert.strictEqual(s1.text.get(0), "a") - assert.strictEqual(s1.text.get(1), "c") - assert.strictEqual(s1.text.toString(), "ac") - }) - - it("should handle concurrent insertion", () => { - s1 = Automerge.change(s1, doc => doc.text.insertAt(0, "a", "b", "c")) - s2 = Automerge.change(s2, doc => doc.text.insertAt(0, "x", "y", "z")) - s1 = Automerge.merge(s1, s2) - assert.strictEqual(s1.text.length, 6) - assertEqualsOneOf(s1.text.toString(), "abcxyz", "xyzabc") - assertEqualsOneOf(s1.text.join(""), "abcxyz", "xyzabc") - }) - - it("should handle text and other ops in the same change", () => { - s1 = Automerge.change(s1, doc => { - doc.foo = "bar" - doc.text.insertAt(0, "a") - }) - assert.strictEqual(s1.foo, "bar") - assert.strictEqual(s1.text.toString(), "a") - assert.strictEqual(s1.text.join(""), "a") - }) - - it("should serialize to JSON as a simple string", () => { - s1 = Automerge.change(s1, doc => doc.text.insertAt(0, "a", '"', "b")) - assert.strictEqual(JSON.stringify(s1), '{"text":"a\\"b"}') - }) - - it("should allow modification before an object is assigned to a document", () => { - s1 = Automerge.change(Automerge.init(), doc => { - const text = new Automerge.Text() - text.insertAt(0, "a", "b", "c", "d") - text.deleteAt(2) - doc.text = text - assert.strictEqual(doc.text.toString(), "abd") - assert.strictEqual(doc.text.join(""), "abd") - }) - assert.strictEqual(s1.text.toString(), "abd") - assert.strictEqual(s1.text.join(""), "abd") - }) - - it("should allow modification after an object is assigned to a document", () => { - s1 = Automerge.change(Automerge.init(), doc => { - const text = new Automerge.Text() - doc.text = text - doc.text.insertAt(0, "a", "b", "c", "d") - doc.text.deleteAt(2) - assert.strictEqual(doc.text.toString(), "abd") - assert.strictEqual(doc.text.join(""), "abd") - }) - assert.strictEqual(s1.text.join(""), "abd") - }) - - it("should not allow modification outside of a change callback", () => { - assert.throws( - () => s1.text.insertAt(0, "a"), - /object cannot be modified outside of a change block/ - ) - }) - - describe("with initial value", () => { - it("should accept a string as initial value", () => { - let s1 = Automerge.change( - Automerge.init(), - doc => (doc.text = new Automerge.Text("init")) - ) - assert.strictEqual(s1.text.length, 4) - assert.strictEqual(s1.text.get(0), "i") - assert.strictEqual(s1.text.get(1), "n") - assert.strictEqual(s1.text.get(2), "i") - assert.strictEqual(s1.text.get(3), "t") - assert.strictEqual(s1.text.toString(), "init") - }) - - it("should accept an array as initial value", () => { - let s1 = Automerge.change( - Automerge.init(), - doc => (doc.text = new Automerge.Text(["i", "n", "i", "t"])) - ) - assert.strictEqual(s1.text.length, 4) - assert.strictEqual(s1.text.get(0), "i") - assert.strictEqual(s1.text.get(1), "n") - assert.strictEqual(s1.text.get(2), "i") - assert.strictEqual(s1.text.get(3), "t") - assert.strictEqual(s1.text.toString(), "init") - }) - - it("should initialize text in Automerge.from()", () => { - let s1 = Automerge.from({ text: new Automerge.Text("init") }) - assert.strictEqual(s1.text.length, 4) - assert.strictEqual(s1.text.get(0), "i") - assert.strictEqual(s1.text.get(1), "n") - assert.strictEqual(s1.text.get(2), "i") - assert.strictEqual(s1.text.get(3), "t") - assert.strictEqual(s1.text.toString(), "init") - }) - - it("should encode the initial value as a change", () => { - const s1 = Automerge.from({ text: new Automerge.Text("init") }) - const changes = Automerge.getAllChanges(s1) - assert.strictEqual(changes.length, 1) - const [s2] = Automerge.applyChanges(Automerge.init(), changes) - assert.strictEqual(s2.text instanceof Automerge.Text, true) - assert.strictEqual(s2.text.toString(), "init") - assert.strictEqual(s2.text.join(""), "init") - }) - - it("should allow immediate access to the value", () => { - Automerge.change(Automerge.init(), doc => { - const text = new Automerge.Text("init") - assert.strictEqual(text.length, 4) - assert.strictEqual(text.get(0), "i") - assert.strictEqual(text.toString(), "init") - doc.text = text - assert.strictEqual(doc.text.length, 4) - assert.strictEqual(doc.text.get(0), "i") - assert.strictEqual(doc.text.toString(), "init") - }) - }) - - it("should allow pre-assignment modification of the initial value", () => { - let s1 = Automerge.change(Automerge.init(), doc => { - const text = new Automerge.Text("init") - text.deleteAt(3) - assert.strictEqual(text.join(""), "ini") - doc.text = text - assert.strictEqual(doc.text.join(""), "ini") - assert.strictEqual(doc.text.toString(), "ini") - }) - assert.strictEqual(s1.text.toString(), "ini") - assert.strictEqual(s1.text.join(""), "ini") - }) - - it("should allow post-assignment modification of the initial value", () => { - let s1 = Automerge.change(Automerge.init(), doc => { - const text = new Automerge.Text("init") - doc.text = text - doc.text.deleteAt(0) - doc.text.insertAt(0, "I") - assert.strictEqual(doc.text.join(""), "Init") - assert.strictEqual(doc.text.toString(), "Init") - }) - assert.strictEqual(s1.text.join(""), "Init") - assert.strictEqual(s1.text.toString(), "Init") - }) - }) - - describe("non-textual control characters", () => { - let s1: Automerge.Doc - beforeEach(() => { - s1 = Automerge.change(Automerge.init(), doc => { - doc.text = new Automerge.Text() - doc.text.insertAt(0, "a") - doc.text.insertAt(1, { attribute: "bold" }) - }) - }) - - it("should allow fetching non-textual characters", () => { - assert.deepEqual(s1.text.get(1), { attribute: "bold" }) - //assert.strictEqual(s1.text.getElemId(1), `3@${Automerge.getActorId(s1)}`) - }) - - it("should include control characters in string length", () => { - assert.strictEqual(s1.text.length, 2) - assert.strictEqual(s1.text.get(0), "a") - }) - - it("should replace control characters from toString()", () => { - assert.strictEqual(s1.text.toString(), "a\uFFFC") - }) - - it("should allow control characters to be updated", () => { - const s2 = Automerge.change( - s1, - doc => (doc.text.get(1)!.attribute = "italic") - ) - const s3 = Automerge.load(Automerge.save(s2)) - assert.strictEqual(s1.text.get(1).attribute, "bold") - assert.strictEqual(s2.text.get(1).attribute, "italic") - assert.strictEqual(s3.text.get(1).attribute, "italic") - }) - - describe("spans interface to Text", () => { - it("should return a simple string as a single span", () => { - let s1 = Automerge.change(Automerge.init(), doc => { - doc.text = new Automerge.Text("hello world") - }) - assert.deepEqual(s1.text.toSpans(), ["hello world"]) - }) - it("should return an empty string as an empty array", () => { - let s1 = Automerge.change(Automerge.init(), doc => { - doc.text = new Automerge.Text() - }) - assert.deepEqual(s1.text.toSpans(), []) - }) - it("should split a span at a control character", () => { - let s1 = Automerge.change(Automerge.init(), doc => { - doc.text = new Automerge.Text("hello world") - doc.text.insertAt(5, { attributes: { bold: true } }) - }) - assert.deepEqual(s1.text.toSpans(), [ - "hello", - { attributes: { bold: true } }, - " world", - ]) - }) - it("should allow consecutive control characters", () => { - let s1 = Automerge.change(Automerge.init(), doc => { - doc.text = new Automerge.Text("hello world") - doc.text.insertAt(5, { attributes: { bold: true } }) - doc.text.insertAt(6, { attributes: { italic: true } }) - }) - assert.deepEqual(s1.text.toSpans(), [ - "hello", - { attributes: { bold: true } }, - { attributes: { italic: true } }, - " world", - ]) - }) - it("should allow non-consecutive control characters", () => { - let s1 = Automerge.change(Automerge.init(), doc => { - doc.text = new Automerge.Text("hello world") - doc.text.insertAt(5, { attributes: { bold: true } }) - doc.text.insertAt(12, { attributes: { italic: true } }) - }) - assert.deepEqual(s1.text.toSpans(), [ - "hello", - { attributes: { bold: true } }, - " world", - { attributes: { italic: true } }, - ]) - }) - }) - }) - - it("should support unicode when creating text", () => { - s1 = Automerge.from({ - text: new Automerge.Text("🐦"), - }) - assert.strictEqual(s1.text.get(0), "🐦") - }) -}) diff --git a/javascript/test/uuid_test.ts b/javascript/test/uuid_test.ts deleted file mode 100644 index f6a0bde4..00000000 --- a/javascript/test/uuid_test.ts +++ /dev/null @@ -1,32 +0,0 @@ -import * as assert from "assert" -import * as Automerge from "../src" - -const uuid = Automerge.uuid - -describe("uuid", () => { - afterEach(() => { - uuid.reset() - }) - - describe("default implementation", () => { - it("generates unique values", () => { - assert.notEqual(uuid(), uuid()) - }) - }) - - describe("custom implementation", () => { - let counter - - function customUuid() { - return `custom-uuid-${counter++}` - } - - before(() => uuid.setFactory(customUuid)) - beforeEach(() => (counter = 0)) - - it("invokes the custom factory", () => { - assert.equal(uuid(), "custom-uuid-0") - assert.equal(uuid(), "custom-uuid-1") - }) - }) -}) diff --git a/javascript/tsconfig.json b/javascript/tsconfig.json deleted file mode 100644 index 628aea8e..00000000 --- a/javascript/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "es2016", - "sourceMap": false, - "declaration": true, - "resolveJsonModule": true, - "module": "commonjs", - "moduleResolution": "node", - "noImplicitAny": false, - "allowSyntheticDefaultImports": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "noFallthroughCasesInSwitch": true, - "skipLibCheck": true, - "outDir": "./dist" - }, - "include": ["src/**/*", "test/**/*"], - "exclude": ["./dist/**/*", "./node_modules", "./src/**/*.deno.ts"] -} diff --git a/javascript/tslint.json b/javascript/tslint.json deleted file mode 100644 index f7bb7a71..00000000 --- a/javascript/tslint.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "tslint:recommended" -} diff --git a/rust/.gitignore b/rust/.gitignore deleted file mode 100644 index f859e0a3..00000000 --- a/rust/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/target -/.direnv -perf.* -/Cargo.lock -build/ -.vim/* diff --git a/rust/Cargo.toml b/rust/Cargo.toml deleted file mode 100644 index 5d29fc9f..00000000 --- a/rust/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[workspace] -members = [ - "automerge", - "automerge-c", - "automerge-cli", - "automerge-test", - "automerge-wasm", - "edit-trace", -] -resolver = "2" - -[profile.release] -lto = true -codegen-units = 1 - -[profile.bench] -debug = true \ No newline at end of file diff --git a/rust/automerge-c/.clang-format b/rust/automerge-c/.clang-format deleted file mode 100644 index dbf16c21..00000000 --- a/rust/automerge-c/.clang-format +++ /dev/null @@ -1,250 +0,0 @@ ---- -Language: Cpp -# BasedOnStyle: Chromium -AccessModifierOffset: -1 -AlignAfterOpenBracket: Align -AlignArrayOfStructures: None -AlignConsecutiveAssignments: - Enabled: false - AcrossEmptyLines: false - AcrossComments: false - AlignCompound: false - PadOperators: true -AlignConsecutiveBitFields: - Enabled: false - AcrossEmptyLines: false - AcrossComments: false - AlignCompound: false - PadOperators: false -AlignConsecutiveDeclarations: - Enabled: false - AcrossEmptyLines: false - AcrossComments: false - AlignCompound: false - PadOperators: false -AlignConsecutiveMacros: - Enabled: false - AcrossEmptyLines: false - AcrossComments: false - AlignCompound: false - PadOperators: false -AlignEscapedNewlines: Left -AlignOperands: Align -AlignTrailingComments: true -AllowAllArgumentsOnNextLine: true -AllowAllParametersOfDeclarationOnNextLine: false -AllowShortEnumsOnASingleLine: true -AllowShortBlocksOnASingleLine: Never -AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: Inline -AllowShortLambdasOnASingleLine: All -AllowShortIfStatementsOnASingleLine: Never -AllowShortLoopsOnASingleLine: false -AlwaysBreakAfterDefinitionReturnType: None -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: true -AlwaysBreakTemplateDeclarations: Yes -AttributeMacros: - - __capability -BinPackArguments: true -BinPackParameters: false -BraceWrapping: - AfterCaseLabel: false - AfterClass: false - AfterControlStatement: Never - AfterEnum: false - AfterFunction: false - AfterNamespace: false - AfterObjCDeclaration: false - AfterStruct: false - AfterUnion: false - AfterExternBlock: false - BeforeCatch: false - BeforeElse: false - BeforeLambdaBody: false - BeforeWhile: false - IndentBraces: false - SplitEmptyFunction: true - SplitEmptyRecord: true - SplitEmptyNamespace: true -BreakBeforeBinaryOperators: None -BreakBeforeConceptDeclarations: Always -BreakBeforeBraces: Attach -BreakBeforeInheritanceComma: false -BreakInheritanceList: BeforeColon -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -BreakConstructorInitializers: BeforeColon -BreakAfterJavaFieldAnnotations: false -BreakStringLiterals: true -ColumnLimit: 120 -CommentPragmas: '^ IWYU pragma:' -QualifierAlignment: Leave -CompactNamespaces: false -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DeriveLineEnding: true -DerivePointerAlignment: false -DisableFormat: false -EmptyLineAfterAccessModifier: Never -EmptyLineBeforeAccessModifier: LogicalBlock -ExperimentalAutoDetectBinPacking: false -PackConstructorInitializers: NextLine -BasedOnStyle: '' -ConstructorInitializerAllOnOneLineOrOnePerLine: false -AllowAllConstructorInitializersOnNextLine: true -FixNamespaceComments: true -ForEachMacros: - - foreach - - Q_FOREACH - - BOOST_FOREACH -IfMacros: - - KJ_IF_MAYBE -IncludeBlocks: Preserve -IncludeCategories: - - Regex: '^' - Priority: 2 - SortPriority: 0 - CaseSensitive: false - - Regex: '^<.*\.h>' - Priority: 1 - SortPriority: 0 - CaseSensitive: false - - Regex: '^<.*' - Priority: 2 - SortPriority: 0 - CaseSensitive: false - - Regex: '.*' - Priority: 3 - SortPriority: 0 - CaseSensitive: false -IncludeIsMainRegex: '([-_](test|unittest))?$' -IncludeIsMainSourceRegex: '' -IndentAccessModifiers: false -IndentCaseLabels: true -IndentCaseBlocks: false -IndentGotoLabels: true -IndentPPDirectives: None -IndentExternBlock: AfterExternBlock -IndentRequiresClause: true -IndentWidth: 4 -IndentWrappedFunctionNames: false -InsertBraces: false -InsertTrailingCommas: None -JavaScriptQuotes: Leave -JavaScriptWrapImports: true -KeepEmptyLinesAtTheStartOfBlocks: false -LambdaBodyIndentation: Signature -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: None -ObjCBinPackProtocolList: Never -ObjCBlockIndentWidth: 2 -ObjCBreakBeforeNestedBlockParam: true -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: true -PenaltyBreakAssignment: 2 -PenaltyBreakBeforeFirstCallParameter: 1 -PenaltyBreakComment: 300 -PenaltyBreakFirstLessLess: 120 -PenaltyBreakOpenParenthesis: 0 -PenaltyBreakString: 1000 -PenaltyBreakTemplateDeclaration: 10 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 200 -PenaltyIndentedWhitespace: 0 -PointerAlignment: Left -PPIndentWidth: -1 -RawStringFormats: - - Language: Cpp - Delimiters: - - cc - - CC - - cpp - - Cpp - - CPP - - 'c++' - - 'C++' - CanonicalDelimiter: '' - BasedOnStyle: google - - Language: TextProto - Delimiters: - - pb - - PB - - proto - - PROTO - EnclosingFunctions: - - EqualsProto - - EquivToProto - - PARSE_PARTIAL_TEXT_PROTO - - PARSE_TEST_PROTO - - PARSE_TEXT_PROTO - - ParseTextOrDie - - ParseTextProtoOrDie - - ParseTestProto - - ParsePartialTestProto - CanonicalDelimiter: pb - BasedOnStyle: google -ReferenceAlignment: Pointer -ReflowComments: true -RemoveBracesLLVM: false -RequiresClausePosition: OwnLine -SeparateDefinitionBlocks: Leave -ShortNamespaceLines: 1 -SortIncludes: CaseSensitive -SortJavaStaticImport: Before -SortUsingDeclarations: true -SpaceAfterCStyleCast: false -SpaceAfterLogicalNot: false -SpaceAfterTemplateKeyword: true -SpaceBeforeAssignmentOperators: true -SpaceBeforeCaseColon: false -SpaceBeforeCpp11BracedList: false -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true -SpaceBeforeParens: ControlStatements -SpaceBeforeParensOptions: - AfterControlStatements: true - AfterForeachMacros: true - AfterFunctionDefinitionName: false - AfterFunctionDeclarationName: false - AfterIfMacros: true - AfterOverloadedOperator: false - AfterRequiresInClause: false - AfterRequiresInExpression: false - BeforeNonEmptyParentheses: false -SpaceAroundPointerQualifiers: Default -SpaceBeforeRangeBasedForLoopColon: true -SpaceInEmptyBlock: false -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 2 -SpacesInAngles: Never -SpacesInConditionalStatement: false -SpacesInContainerLiterals: true -SpacesInCStyleCastParentheses: false -SpacesInLineCommentPrefix: - Minimum: 1 - Maximum: -1 -SpacesInParentheses: false -SpacesInSquareBrackets: false -SpaceBeforeSquareBrackets: false -BitFieldColonSpacing: Both -Standard: Auto -StatementAttributeLikeMacros: - - Q_EMIT -StatementMacros: - - Q_UNUSED - - QT_REQUIRE_VERSION -TabWidth: 8 -UseCRLF: false -UseTab: Never -WhitespaceSensitiveMacros: - - STRINGIZE - - PP_STRINGIZE - - BOOST_PP_STRINGIZE - - NS_SWIFT_NAME - - CF_SWIFT_NAME -... - diff --git a/rust/automerge-c/.gitignore b/rust/automerge-c/.gitignore deleted file mode 100644 index 14d74973..00000000 --- a/rust/automerge-c/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -automerge -automerge.h -automerge.o -build/ -CMakeCache.txt -CMakeFiles -CMakePresets.json -Makefile -DartConfiguration.tcl -out/ diff --git a/rust/automerge-c/CMakeLists.txt b/rust/automerge-c/CMakeLists.txt deleted file mode 100644 index 0c35eebd..00000000 --- a/rust/automerge-c/CMakeLists.txt +++ /dev/null @@ -1,305 +0,0 @@ -cmake_minimum_required(VERSION 3.23 FATAL_ERROR) - -project(automerge-c VERSION 0.1.0 - LANGUAGES C - DESCRIPTION "C bindings for the Automerge Rust library.") - -set(LIBRARY_NAME "automerge") - -set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) - -option(BUILD_SHARED_LIBS "Enable the choice of a shared or static library.") - -include(CTest) - -include(CMakePackageConfigHelpers) - -include(GNUInstallDirs) - -set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") - -string(MAKE_C_IDENTIFIER ${PROJECT_NAME} SYMBOL_PREFIX) - -string(TOUPPER ${SYMBOL_PREFIX} SYMBOL_PREFIX) - -set(CARGO_TARGET_DIR "${CMAKE_BINARY_DIR}/Cargo/target") - -set(CBINDGEN_INCLUDEDIR "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}") - -set(CBINDGEN_TARGET_DIR "${CBINDGEN_INCLUDEDIR}/${PROJECT_NAME}") - -find_program ( - CARGO_CMD - "cargo" - PATHS "$ENV{CARGO_HOME}/bin" - DOC "The Cargo command" -) - -if(NOT CARGO_CMD) - message(FATAL_ERROR "Cargo (Rust package manager) not found! " - "Please install it and/or set the CARGO_HOME " - "environment variable to its path.") -endif() - -string(TOLOWER "${CMAKE_BUILD_TYPE}" BUILD_TYPE_LOWER) - -# In order to build with -Z build-std, we need to pass target explicitly. -# https://doc.rust-lang.org/cargo/reference/unstable.html#build-std -execute_process ( - COMMAND rustc -vV - OUTPUT_VARIABLE RUSTC_VERSION - OUTPUT_STRIP_TRAILING_WHITESPACE -) -string(REGEX REPLACE ".*host: ([^ \n]*).*" "\\1" - CARGO_TARGET - ${RUSTC_VERSION} -) - -if(BUILD_TYPE_LOWER STREQUAL debug) - set(CARGO_BUILD_TYPE "debug") - - set(CARGO_FLAG --target=${CARGO_TARGET}) -else() - set(CARGO_BUILD_TYPE "release") - - if (NOT RUSTC_VERSION MATCHES "nightly") - set(RUSTUP_TOOLCHAIN nightly) - endif() - - set(RUSTFLAGS -C\ panic=abort) - - set(CARGO_FLAG -Z build-std=std,panic_abort --release --target=${CARGO_TARGET}) -endif() - -set(CARGO_FEATURES "") - -set(CARGO_BINARY_DIR "${CARGO_TARGET_DIR}/${CARGO_TARGET}/${CARGO_BUILD_TYPE}") - -set(BINDINGS_NAME "${LIBRARY_NAME}_core") - -configure_file( - ${CMAKE_MODULE_PATH}/Cargo.toml.in - ${CMAKE_SOURCE_DIR}/Cargo.toml - @ONLY - NEWLINE_STYLE LF -) - -set(INCLUDE_GUARD_PREFIX "${SYMBOL_PREFIX}") - -configure_file( - ${CMAKE_MODULE_PATH}/cbindgen.toml.in - ${CMAKE_SOURCE_DIR}/cbindgen.toml - @ONLY - NEWLINE_STYLE LF -) - -set(CARGO_OUTPUT - ${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h - ${CARGO_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${BINDINGS_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX} -) - -# \note cbindgen's naming behavior isn't fully configurable and it ignores -# `const fn` calls (https://github.com/eqrion/cbindgen/issues/252). -add_custom_command( - OUTPUT - ${CARGO_OUTPUT} - COMMAND - # \note cbindgen won't regenerate its output header file after it's been removed but it will after its - # configuration file has been updated. - ${CMAKE_COMMAND} -DCONDITION=NOT_EXISTS -P ${CMAKE_SOURCE_DIR}/cmake/file-touch.cmake -- ${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h ${CMAKE_SOURCE_DIR}/cbindgen.toml - COMMAND - ${CMAKE_COMMAND} -E env CARGO_TARGET_DIR=${CARGO_TARGET_DIR} CBINDGEN_TARGET_DIR=${CBINDGEN_TARGET_DIR} RUSTUP_TOOLCHAIN=${RUSTUP_TOOLCHAIN} RUSTFLAGS=${RUSTFLAGS} ${CARGO_CMD} build ${CARGO_FLAG} ${CARGO_FEATURES} - COMMAND - # Compensate for cbindgen's translation of consecutive uppercase letters to "ScreamingSnakeCase". - ${CMAKE_COMMAND} -DMATCH_REGEX=A_M\([^_]+\)_ -DREPLACE_EXPR=AM_\\1_ -P ${CMAKE_SOURCE_DIR}/cmake/file-regex-replace.cmake -- ${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h - COMMAND - # Compensate for cbindgen ignoring `std:mem::size_of()` calls. - ${CMAKE_COMMAND} -DMATCH_REGEX=USIZE_ -DREPLACE_EXPR=\+${CMAKE_SIZEOF_VOID_P} -P ${CMAKE_SOURCE_DIR}/cmake/file-regex-replace.cmake -- ${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h - MAIN_DEPENDENCY - src/lib.rs - DEPENDS - src/actor_id.rs - src/byte_span.rs - src/change.rs - src/doc.rs - src/doc/list.rs - src/doc/map.rs - src/doc/utils.rs - src/index.rs - src/item.rs - src/items.rs - src/obj.rs - src/result.rs - src/sync.rs - src/sync/have.rs - src/sync/message.rs - src/sync/state.rs - ${CMAKE_SOURCE_DIR}/build.rs - ${CMAKE_MODULE_PATH}/Cargo.toml.in - ${CMAKE_MODULE_PATH}/cbindgen.toml.in - WORKING_DIRECTORY - ${CMAKE_SOURCE_DIR} - COMMENT - "Producing the bindings' artifacts with Cargo..." - VERBATIM -) - -add_custom_target(${BINDINGS_NAME}_artifacts ALL - DEPENDS ${CARGO_OUTPUT} -) - -add_library(${BINDINGS_NAME} STATIC IMPORTED GLOBAL) - -target_include_directories(${BINDINGS_NAME} INTERFACE "${CBINDGEN_INCLUDEDIR}") - -set_target_properties( - ${BINDINGS_NAME} - PROPERTIES - # \note Cargo writes a debug build into a nested directory instead of - # decorating its name. - DEBUG_POSTFIX "" - DEFINE_SYMBOL "" - IMPORTED_IMPLIB "" - IMPORTED_LOCATION "${CARGO_BINARY_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}${BINDINGS_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}" - IMPORTED_NO_SONAME "TRUE" - IMPORTED_SONAME "" - LINKER_LANGUAGE C - PUBLIC_HEADER "${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h" - SOVERSION "${PROJECT_VERSION_MAJOR}" - VERSION "${PROJECT_VERSION}" - # \note Cargo exports all of the symbols automatically. - WINDOWS_EXPORT_ALL_SYMBOLS "TRUE" -) - -target_compile_definitions(${BINDINGS_NAME} INTERFACE $) - -set(UTILS_SUBDIR "utils") - -add_custom_command( - OUTPUT - ${CBINDGEN_TARGET_DIR}/${UTILS_SUBDIR}/enum_string.h - ${CMAKE_BINARY_DIR}/src/${UTILS_SUBDIR}/enum_string.c - COMMAND - ${CMAKE_COMMAND} -DPROJECT_NAME=${PROJECT_NAME} -DLIBRARY_NAME=${LIBRARY_NAME} -DSUBDIR=${UTILS_SUBDIR} -P ${CMAKE_SOURCE_DIR}/cmake/enum-string-functions-gen.cmake -- ${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h ${CBINDGEN_TARGET_DIR}/${UTILS_SUBDIR}/enum_string.h ${CMAKE_BINARY_DIR}/src/${UTILS_SUBDIR}/enum_string.c - MAIN_DEPENDENCY - ${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h - DEPENDS - ${CMAKE_SOURCE_DIR}/cmake/enum-string-functions-gen.cmake - WORKING_DIRECTORY - ${CMAKE_SOURCE_DIR} - COMMENT - "Generating the enum string functions with CMake..." - VERBATIM -) - -add_custom_target(${LIBRARY_NAME}_utilities - DEPENDS ${CBINDGEN_TARGET_DIR}/${UTILS_SUBDIR}/enum_string.h - ${CMAKE_BINARY_DIR}/src/${UTILS_SUBDIR}/enum_string.c -) - -add_library(${LIBRARY_NAME}) - -target_compile_features(${LIBRARY_NAME} PRIVATE c_std_99) - -set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - -set(THREADS_PREFER_PTHREAD_FLAG TRUE) - -find_package(Threads REQUIRED) - -set(LIBRARY_DEPENDENCIES Threads::Threads ${CMAKE_DL_LIBS}) - -if(WIN32) - list(APPEND LIBRARY_DEPENDENCIES Bcrypt userenv ws2_32) -else() - list(APPEND LIBRARY_DEPENDENCIES m) -endif() - -target_link_libraries(${LIBRARY_NAME} - PUBLIC ${BINDINGS_NAME} - ${LIBRARY_DEPENDENCIES} -) - -# \note An imported library's INTERFACE_INCLUDE_DIRECTORIES property can't -# contain a non-existent path so its build-time include directory -# must be specified for all of its dependent targets instead. -target_include_directories(${LIBRARY_NAME} - PUBLIC "$" - "$" -) - -add_dependencies(${LIBRARY_NAME} ${BINDINGS_NAME}_artifacts) - -# Generate the configuration header. -math(EXPR INTEGER_PROJECT_VERSION_MAJOR "${PROJECT_VERSION_MAJOR} * 100000") - -math(EXPR INTEGER_PROJECT_VERSION_MINOR "${PROJECT_VERSION_MINOR} * 100") - -math(EXPR INTEGER_PROJECT_VERSION_PATCH "${PROJECT_VERSION_PATCH}") - -math(EXPR INTEGER_PROJECT_VERSION "${INTEGER_PROJECT_VERSION_MAJOR} + \ - ${INTEGER_PROJECT_VERSION_MINOR} + \ - ${INTEGER_PROJECT_VERSION_PATCH}") - -configure_file( - ${CMAKE_MODULE_PATH}/config.h.in - ${CBINDGEN_TARGET_DIR}/config.h - @ONLY - NEWLINE_STYLE LF -) - -target_sources(${LIBRARY_NAME} - PRIVATE - src/${UTILS_SUBDIR}/result.c - src/${UTILS_SUBDIR}/stack_callback_data.c - src/${UTILS_SUBDIR}/stack.c - src/${UTILS_SUBDIR}/string.c - ${CMAKE_BINARY_DIR}/src/${UTILS_SUBDIR}/enum_string.c - PUBLIC - FILE_SET api TYPE HEADERS - BASE_DIRS - ${CBINDGEN_INCLUDEDIR} - ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR} - FILES - ${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h - ${CBINDGEN_TARGET_DIR}/${UTILS_SUBDIR}/enum_string.h - ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/result.h - ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/stack_callback_data.h - ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/stack.h - ${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/string.h - INTERFACE - FILE_SET config TYPE HEADERS - BASE_DIRS - ${CBINDGEN_INCLUDEDIR} - FILES - ${CBINDGEN_TARGET_DIR}/config.h -) - -install( - TARGETS ${LIBRARY_NAME} - EXPORT ${PROJECT_NAME}-config - FILE_SET api - FILE_SET config -) - -# \note Install the Cargo-built core bindings to enable direct linkage. -install( - FILES $ - DESTINATION ${CMAKE_INSTALL_LIBDIR} -) - -install(EXPORT ${PROJECT_NAME}-config - FILE ${PROJECT_NAME}-config.cmake - NAMESPACE "${PROJECT_NAME}::" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIB} -) - -if(BUILD_TESTING) - add_subdirectory(test EXCLUDE_FROM_ALL) - - enable_testing() -endif() - -add_subdirectory(docs) - -add_subdirectory(examples EXCLUDE_FROM_ALL) diff --git a/rust/automerge-c/Cargo.toml b/rust/automerge-c/Cargo.toml deleted file mode 100644 index 95a3a29c..00000000 --- a/rust/automerge-c/Cargo.toml +++ /dev/null @@ -1,22 +0,0 @@ -[package] -name = "automerge-c" -version = "0.1.0" -authors = ["Orion Henry ", "Jason Kankiewicz "] -edition = "2021" -license = "MIT" -rust-version = "1.57.0" - -[lib] -name = "automerge_core" -crate-type = ["staticlib"] -bench = false -doc = false - -[dependencies] -automerge = { path = "../automerge" } -hex = "^0.4.3" -libc = "^0.2" -smol_str = "^0.1.21" - -[build-dependencies] -cbindgen = "^0.24" diff --git a/rust/automerge-c/README.md b/rust/automerge-c/README.md deleted file mode 100644 index 1fbca3df..00000000 --- a/rust/automerge-c/README.md +++ /dev/null @@ -1,207 +0,0 @@ -# Overview - -automerge-c exposes a C API that can either be used directly or as the basis -for other language bindings that have good support for calling C functions. - -# Installing - -See the main README for instructions on getting your environment set up and then -you can build the automerge-c library and install its constituent files within -a root directory of your choosing (e.g. "/usr/local") like so: -```shell -cmake -E make_directory automerge-c/build -cmake -S automerge-c -B automerge-c/build -cmake --build automerge-c/build -cmake --install automerge-c/build --prefix "/usr/local" -``` -Installation is important because the name, location and structure of CMake's -out-of-source build subdirectory is subject to change based on the platform and -the release version; generated headers like `automerge-c/config.h` and -`automerge-c/utils/enum_string.h` are only sure to be found within their -installed locations. - -It's not obvious because they are versioned but the `Cargo.toml` and -`cbindgen.toml` configuration files are also generated in order to ensure that -the project name, project version and library name that they contain match those -specified within the top-level `CMakeLists.txt` file. - -If you'd like to cross compile the library for different platforms you can do so -using [cross](https://github.com/cross-rs/cross). For example: - -- `cross build --manifest-path rust/automerge-c/Cargo.toml -r --target aarch64-unknown-linux-gnu` - -This will output a shared library in the directory `rust/target/aarch64-unknown-linux-gnu/release/`. - -You can replace `aarch64-unknown-linux-gnu` with any -[cross supported targets](https://github.com/cross-rs/cross#supported-targets). -The targets below are known to work, though other targets are expected to work -too: - -- `x86_64-apple-darwin` -- `aarch64-apple-darwin` -- `x86_64-unknown-linux-gnu` -- `aarch64-unknown-linux-gnu` - -As a caveat, CMake generates the `automerge.h` header file in terms of the -processor architecture of the computer on which it was built so, for example, -don't use a header generated for a 64-bit processor if your target is a 32-bit -processor. - -# Usage - -You can build and view the C API's HTML reference documentation like so: -```shell -cmake -E make_directory automerge-c/build -cmake -S automerge-c -B automerge-c/build -cmake --build automerge-c/build --target automerge_docs -firefox automerge-c/build/src/html/index.html -``` - -To get started quickly, look at the -[examples](https://github.com/automerge/automerge-rs/tree/main/rust/automerge-c/examples). - -Almost all operations in automerge-c act on an Automerge document -(`AMdoc` struct) which is structurally similar to a JSON document. - -You can get a document by calling either `AMcreate()` or `AMload()`. Operations -on a given document are not thread-safe so you must use a mutex or similar to -avoid calling more than one function on the same one concurrently. - -A C API function that could succeed or fail returns a result (`AMresult` struct) -containing a status code (`AMstatus` enum) and either a sequence of at least one -item (`AMitem` struct) or a read-only view onto a UTF-8 error message string -(`AMbyteSpan` struct). -An item contains up to three components: an index within its parent object -(`AMbyteSpan` struct or `size_t`), a unique identifier (`AMobjId` struct) and a -value. -The result of a successful function call that doesn't produce any values will -contain a single item that is void (`AM_VAL_TYPE_VOID`). -A returned result **must** be passed to `AMresultFree()` once the item(s) or -error message it contains is no longer needed in order to avoid a memory leak. -``` -#include -#include -#include -#include - -int main(int argc, char** argv) { - AMresult *docResult = AMcreate(NULL); - - if (AMresultStatus(docResult) != AM_STATUS_OK) { - char* const err_msg = AMstrdup(AMresultError(docResult), NULL); - printf("failed to create doc: %s", err_msg); - free(err_msg); - goto cleanup; - } - - AMdoc *doc; - AMitemToDoc(AMresultItem(docResult), &doc); - - // useful code goes here! - -cleanup: - AMresultFree(docResult); -} -``` - -If you are writing an application in C, the `AMstackItem()`, `AMstackItems()` -and `AMstackResult()` functions enable the lifetimes of anonymous results to be -centrally managed and allow the same validation logic to be reused without -relying upon the `goto` statement (see examples/quickstart.c). - -If you are wrapping automerge-c in another language, particularly one that has a -garbage collector, you can call the `AMresultFree()` function within a finalizer -to ensure that memory is reclaimed when it is no longer needed. - -Automerge documents consist of a mutable root which is always a map from string -keys to values. A value can be one of the following types: - -- A number of type double / int64_t / uint64_t -- An explicit true / false / null -- An immutable UTF-8 string (`AMbyteSpan`). -- An immutable array of arbitrary bytes (`AMbyteSpan`). -- A mutable map from string keys to values. -- A mutable list of values. -- A mutable UTF-8 string. - -If you read from a location in the document with no value, an item with type -`AM_VAL_TYPE_VOID` will be returned, but you cannot write such a value -explicitly. - -Under the hood, automerge references a mutable object by its object identifier -where `AM_ROOT` signifies a document's root map object. - -There are functions to put each type of value into either a map or a list, and -functions to read the current or a historical value from a map or a list. As (in general) collaborators -may edit the document at any time, you cannot guarantee that the type of the -value at a given part of the document will stay the same. As a result, reading -from the document will return an `AMitem` struct that you can inspect to -determine the type of value that it contains. - -Strings in automerge-c are represented using an `AMbyteSpan` which contains a -pointer and a length. Strings must be valid UTF-8 and may contain NUL (`0`) -characters. -For your convenience, you can call `AMstr()` to get the `AMbyteSpan` struct -equivalent of a null-terminated byte string or `AMstrdup()` to get the -representation of an `AMbyteSpan` struct as a null-terminated byte string -wherein its NUL characters have been removed/replaced as you choose. - -Putting all of that together, to read and write from the root of the document -you can do this: - -``` -#include -#include -#include -#include - -int main(int argc, char** argv) { - // ...previous example... - AMdoc *doc; - AMitemToDoc(AMresultItem(docResult), &doc); - - AMresult *putResult = AMmapPutStr(doc, AM_ROOT, AMstr("key"), AMstr("value")); - if (AMresultStatus(putResult) != AM_STATUS_OK) { - char* const err_msg = AMstrdup(AMresultError(putResult), NULL); - printf("failed to put: %s", err_msg); - free(err_msg); - goto cleanup; - } - - AMresult *getResult = AMmapGet(doc, AM_ROOT, AMstr("key"), NULL); - if (AMresultStatus(getResult) != AM_STATUS_OK) { - char* const err_msg = AMstrdup(AMresultError(putResult), NULL); - printf("failed to get: %s", err_msg); - free(err_msg); - goto cleanup; - } - - AMbyteSpan got; - if (AMitemToStr(AMresultItem(getResult), &got)) { - char* const c_str = AMstrdup(got, NULL); - printf("Got %zu-character string \"%s\"", got.count, c_str); - free(c_str); - } else { - printf("expected to read a string!"); - goto cleanup; - } - - -cleanup: - AMresultFree(getResult); - AMresultFree(putResult); - AMresultFree(docResult); -} -``` - -Functions that do not return an `AMresult` (for example `AMitemKey()`) do -not allocate memory but rather reference memory that was previously -allocated. It's therefore important to keep the original `AMresult` alive (in -this case the one returned by `AMmapRange()`) until after you are finished with -the items that it contains. However, the memory for an individual `AMitem` can -be shared with a new `AMresult` by calling `AMitemResult()` on it. In other -words, a select group of items can be filtered out of a collection and only each -one's corresponding `AMresult` must be kept alive from that point forward; the -originating collection's `AMresult` can be safely freed. - -Beyond that, good luck! diff --git a/rust/automerge-c/build.rs b/rust/automerge-c/build.rs deleted file mode 100644 index bf12a105..00000000 --- a/rust/automerge-c/build.rs +++ /dev/null @@ -1,21 +0,0 @@ -extern crate cbindgen; - -use std::{env, path::PathBuf}; - -fn main() { - let crate_dir = PathBuf::from( - env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR env var is not defined"), - ); - - let config = cbindgen::Config::from_file("cbindgen.toml") - .expect("Unable to find cbindgen.toml configuration file"); - - if let Ok(writer) = cbindgen::generate_with_config(crate_dir, config) { - // \note CMake sets this environment variable before invoking Cargo so - // that it can direct the generated header file into its - // out-of-source build directory for post-processing. - if let Ok(target_dir) = env::var("CBINDGEN_TARGET_DIR") { - writer.write_to_file(PathBuf::from(target_dir).join("automerge.h")); - } - } -} diff --git a/rust/automerge-c/cbindgen.toml b/rust/automerge-c/cbindgen.toml deleted file mode 100644 index 21eaaadd..00000000 --- a/rust/automerge-c/cbindgen.toml +++ /dev/null @@ -1,48 +0,0 @@ -after_includes = """\n -/** - * \\defgroup enumerations Public Enumerations - * Symbolic names for integer constants. - */ - -/** - * \\memberof AMdoc - * \\def AM_ROOT - * \\brief The root object of a document. - */ -#define AM_ROOT NULL - -/** - * \\memberof AMdoc - * \\def AM_CHANGE_HASH_SIZE - * \\brief The count of bytes in a change hash. - */ -#define AM_CHANGE_HASH_SIZE 32 -""" -autogen_warning = """ -/** - * \\file - * \\brief All constants, functions and types in the core Automerge C API. - * - * \\warning This file is auto-generated by cbindgen. - */ -""" -documentation = true -documentation_style = "doxy" -include_guard = "AUTOMERGE_C_H" -includes = [] -language = "C" -line_length = 140 -no_includes = true -style = "both" -sys_includes = ["stdbool.h", "stddef.h", "stdint.h", "time.h"] -usize_is_size_t = true - -[enum] -derive_const_casts = true -enum_class = true -must_use = "MUST_USE_ENUM" -prefix_with_name = true -rename_variants = "ScreamingSnakeCase" - -[export] -item_types = ["constants", "enums", "functions", "opaque", "structs", "typedefs"] diff --git a/rust/automerge-c/cmake/Cargo.toml.in b/rust/automerge-c/cmake/Cargo.toml.in deleted file mode 100644 index 781e2fef..00000000 --- a/rust/automerge-c/cmake/Cargo.toml.in +++ /dev/null @@ -1,22 +0,0 @@ -[package] -name = "@PROJECT_NAME@" -version = "@PROJECT_VERSION@" -authors = ["Orion Henry ", "Jason Kankiewicz "] -edition = "2021" -license = "MIT" -rust-version = "1.57.0" - -[lib] -name = "@BINDINGS_NAME@" -crate-type = ["staticlib"] -bench = false -doc = false - -[dependencies] -@LIBRARY_NAME@ = { path = "../@LIBRARY_NAME@" } -hex = "^0.4.3" -libc = "^0.2" -smol_str = "^0.1.21" - -[build-dependencies] -cbindgen = "^0.24" diff --git a/rust/automerge-c/cmake/automerge-c-config.cmake.in b/rust/automerge-c/cmake/automerge-c-config.cmake.in deleted file mode 100644 index fd39aee6..00000000 --- a/rust/automerge-c/cmake/automerge-c-config.cmake.in +++ /dev/null @@ -1,99 +0,0 @@ -@PACKAGE_INIT@ - -include(CMakeFindDependencyMacro) - -set(CMAKE_THREAD_PREFER_PTHREAD TRUE) - -set(THREADS_PREFER_PTHREAD_FLAG TRUE) - -find_dependency(Threads) - -find_library(@SYMBOL_PREFIX@_IMPLIB_DEBUG @LIBRARY_NAME@${CMAKE_DEBUG_POSTFIX} PATHS "${PACKAGE_PREFIX_DIR}/debug/${CMAKE_INSTALL_LIBDIR}" "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_LIBDIR}" NO_DEFAULT_PATH) - -find_library(@SYMBOL_PREFIX@_IMPLIB_RELEASE @LIBRARY_NAME@${CMAKE_RELEASE_POSTFIX} PATHS "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_LIBDIR}" NO_DEFAULT_PATH) - -find_file(@SYMBOL_PREFIX@_LOCATION_DEBUG "${CMAKE_SHARED_LIBRARY_PREFIX}@LIBRARY_NAME@${CMAKE_DEBUG_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}" PATHS "${PACKAGE_PREFIX_DIR}/debug/${CMAKE_INSTALL_BINDIR}" "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_LIBDIR}" NO_DEFAULT_PATH) - -find_file(@SYMBOL_PREFIX@_LOCATION_RELEASE "${CMAKE_SHARED_LIBRARY_PREFIX}@LIBRARY_NAME@${CMAKE_RELEASE_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX}" PATHS "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_BINDIR}" NO_DEFAULT_PATH) - -if(@BUILD_SHARED_LIBS@) - set(@SYMBOL_PREFIX@_DEFINE_SYMBOL "@SYMBOL_PREFIX@_EXPORTS") - - if(WIN32) - set(@SYMBOL_PREFIX@_NO_SONAME_DEBUG "TRUE") - - set(@SYMBOL_PREFIX@_NO_SONAME_RELEASE "TRUE") - - set(@SYMBOL_PREFIX@_SONAME_DEBUG "") - - set(@SYMBOL_PREFIX@_SONAME_RELEASE "") - else() - set(@SYMBOL_PREFIX@_NO_SONAME_DEBUG "FALSE") - - set(@SYMBOL_PREFIX@_NO_SONAME_RELEASE "FALSE") - - get_filename_component(@SYMBOL_PREFIX@_SONAME_DEBUG "${@SYMBOL_PREFIX@_LOCATION_DEBUG}" NAME) - - get_filename_component(@SYMBOL_PREFIX@_SONAME_RELEASE "${@SYMBOL_PREFIX@_LOCATION_RELEASE}" NAME) - endif() - - set(@SYMBOL_PREFIX@_TYPE "SHARED") -else() - set(@SYMBOL_PREFIX@_DEFINE_SYMBOL "") - - set(@SYMBOL_PREFIX@_LOCATION_DEBUG "${@SYMBOL_PREFIX@_IMPLIB_DEBUG}") - - set(@SYMBOL_PREFIX@_IMPLIB_DEBUG "") - - set(@SYMBOL_PREFIX@_LOCATION_RELEASE "${@SYMBOL_PREFIX@_IMPLIB_RELEASE}") - - set(@SYMBOL_PREFIX@_IMPLIB_RELEASE "") - - set(@SYMBOL_PREFIX@_NO_SONAME_DEBUG "TRUE") - - set(@SYMBOL_PREFIX@_NO_SONAME_RELEASE "TRUE") - - set(@SYMBOL_PREFIX@_SONAME_DEBUG "") - - set(@SYMBOL_PREFIX@_SONAME_RELEASE "") - - set(@SYMBOL_PREFIX@_TYPE "STATIC") -endif() - -add_library(@NAMESPACE@@PROJECT_NAME@ ${@SYMBOL_PREFIX@_TYPE} IMPORTED) - -set_target_properties( - @NAMESPACE@@PROJECT_NAME@ - PROPERTIES - # \note Cargo writes a debug build into a nested directory instead of - # decorating its name. - DEBUG_POSTFIX "" - DEFINE_SYMBOL "${@SYMBOL_PREFIX@_DEFINE_SYMBOL}" - IMPORTED_CONFIGURATIONS "RELEASE;DEBUG" - IMPORTED_IMPLIB_DEBUG "${@SYMBOL_PREFIX@_IMPLIB_DEBUG}" - IMPORTED_IMPLIB_RELEASE "${@SYMBOL_PREFIX@_IMPLIB_RELEASE}" - IMPORTED_LOCATION_DEBUG "${@SYMBOL_PREFIX@_LOCATION_DEBUG}" - IMPORTED_LOCATION_RELEASE "${@SYMBOL_PREFIX@_LOCATION_RELEASE}" - IMPORTED_NO_SONAME_DEBUG "${@SYMBOL_PREFIX@_NO_SONAME_DEBUG}" - IMPORTED_NO_SONAME_RELEASE "${@SYMBOL_PREFIX@_NO_SONAME_RELEASE}" - IMPORTED_SONAME_DEBUG "${@SYMBOL_PREFIX@_SONAME_DEBUG}" - IMPORTED_SONAME_RELEASE "${@SYMBOL_PREFIX@_SONAME_RELEASE}" - INTERFACE_INCLUDE_DIRECTORIES "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_INCLUDEDIR}" - LINKER_LANGUAGE C - PUBLIC_HEADER "${PACKAGE_PREFIX_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/@PROJECT_NAME@/@LIBRARY_NAME@.h" - SOVERSION "@PROJECT_VERSION_MAJOR@" - VERSION "@PROJECT_VERSION@" - # \note Cargo exports all of the symbols automatically. - WINDOWS_EXPORT_ALL_SYMBOLS "TRUE" -) - -# Remove the variables that the find_* command calls cached. -unset(@SYMBOL_PREFIX@_IMPLIB_DEBUG CACHE) - -unset(@SYMBOL_PREFIX@_IMPLIB_RELEASE CACHE) - -unset(@SYMBOL_PREFIX@_LOCATION_DEBUG CACHE) - -unset(@SYMBOL_PREFIX@_LOCATION_RELEASE CACHE) - -check_required_components(@PROJECT_NAME@) diff --git a/rust/automerge-c/cmake/cbindgen.toml.in b/rust/automerge-c/cmake/cbindgen.toml.in deleted file mode 100644 index 5122b75c..00000000 --- a/rust/automerge-c/cmake/cbindgen.toml.in +++ /dev/null @@ -1,48 +0,0 @@ -after_includes = """\n -/** - * \\defgroup enumerations Public Enumerations - * Symbolic names for integer constants. - */ - -/** - * \\memberof AMdoc - * \\def AM_ROOT - * \\brief The root object of a document. - */ -#define AM_ROOT NULL - -/** - * \\memberof AMdoc - * \\def AM_CHANGE_HASH_SIZE - * \\brief The count of bytes in a change hash. - */ -#define AM_CHANGE_HASH_SIZE 32 -""" -autogen_warning = """ -/** - * \\file - * \\brief All constants, functions and types in the core Automerge C API. - * - * \\warning This file is auto-generated by cbindgen. - */ -""" -documentation = true -documentation_style = "doxy" -include_guard = "@INCLUDE_GUARD_PREFIX@_H" -includes = [] -language = "C" -line_length = 140 -no_includes = true -style = "both" -sys_includes = ["stdbool.h", "stddef.h", "stdint.h", "time.h"] -usize_is_size_t = true - -[enum] -derive_const_casts = true -enum_class = true -must_use = "MUST_USE_ENUM" -prefix_with_name = true -rename_variants = "ScreamingSnakeCase" - -[export] -item_types = ["constants", "enums", "functions", "opaque", "structs", "typedefs"] diff --git a/rust/automerge-c/cmake/config.h.in b/rust/automerge-c/cmake/config.h.in deleted file mode 100644 index 40482cb9..00000000 --- a/rust/automerge-c/cmake/config.h.in +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef @INCLUDE_GUARD_PREFIX@_CONFIG_H -#define @INCLUDE_GUARD_PREFIX@_CONFIG_H -/** - * \file - * \brief Configuration pararameters defined by the build system. - * - * \warning This file is auto-generated by CMake. - */ - -/** - * \def @SYMBOL_PREFIX@_VERSION - * \brief Denotes a semantic version of the form {MAJOR}{MINOR}{PATCH} as three, - * two-digit decimal numbers without leading zeros (e.g. 100 is 0.1.0). - */ -#define @SYMBOL_PREFIX@_VERSION @INTEGER_PROJECT_VERSION@ - -/** - * \def @SYMBOL_PREFIX@_MAJOR_VERSION - * \brief Denotes a semantic major version as a decimal number. - */ -#define @SYMBOL_PREFIX@_MAJOR_VERSION (@SYMBOL_PREFIX@_VERSION / 100000) - -/** - * \def @SYMBOL_PREFIX@_MINOR_VERSION - * \brief Denotes a semantic minor version as a decimal number. - */ -#define @SYMBOL_PREFIX@_MINOR_VERSION ((@SYMBOL_PREFIX@_VERSION / 100) % 1000) - -/** - * \def @SYMBOL_PREFIX@_PATCH_VERSION - * \brief Denotes a semantic patch version as a decimal number. - */ -#define @SYMBOL_PREFIX@_PATCH_VERSION (@SYMBOL_PREFIX@_VERSION % 100) - -#endif /* @INCLUDE_GUARD_PREFIX@_CONFIG_H */ diff --git a/rust/automerge-c/cmake/enum-string-functions-gen.cmake b/rust/automerge-c/cmake/enum-string-functions-gen.cmake deleted file mode 100644 index 77080e8d..00000000 --- a/rust/automerge-c/cmake/enum-string-functions-gen.cmake +++ /dev/null @@ -1,183 +0,0 @@ -# This CMake script is used to generate a header and a source file for utility -# functions that convert the tags of generated enum types into strings and -# strings into the tags of generated enum types. -cmake_minimum_required(VERSION 3.23 FATAL_ERROR) - -# Seeks the starting line of the source enum's declaration. -macro(seek_enum_mode) - if (line MATCHES "^(typedef[ \t]+)?enum ") - string(REGEX REPLACE "^enum ([0-9a-zA-Z_]+).*$" "\\1" enum_name "${line}") - set(mode "read_tags") - endif() -endmacro() - -# Scans the input for the current enum's tags. -macro(read_tags_mode) - if(line MATCHES "^}") - set(mode "generate") - elseif(line MATCHES "^[A-Z0-9_]+.*$") - string(REGEX REPLACE "^([A-Za-z0-9_]+).*$" "\\1" tmp "${line}") - list(APPEND enum_tags "${tmp}") - endif() -endmacro() - -macro(write_header_file) - # Generate a to-string function declaration. - list(APPEND header_body - "/**\n" - " * \\ingroup enumerations\n" - " * \\brief Gets the string representation of an `${enum_name}` enum tag.\n" - " *\n" - " * \\param[in] tag An `${enum_name}` enum tag.\n" - " * \\return A null-terminated byte string.\n" - " */\n" - "char const* ${enum_name}ToString(${enum_name} const tag)\;\n" - "\n") - # Generate a from-string function declaration. - list(APPEND header_body - "/**\n" - " * \\ingroup enumerations\n" - " * \\brief Gets an `${enum_name}` enum tag from its string representation.\n" - " *\n" - " * \\param[out] dest An `${enum_name}` enum tag pointer.\n" - " * \\param[in] src A null-terminated byte string.\n" - " * \\return `true` if \\p src matches the string representation of an\n" - " * `${enum_name}` enum tag, `false` otherwise.\n" - " */\n" - "bool ${enum_name}FromString(${enum_name}* dest, char const* const src)\;\n" - "\n") -endmacro() - -macro(write_source_file) - # Generate a to-string function implementation. - list(APPEND source_body - "char const* ${enum_name}ToString(${enum_name} const tag) {\n" - " switch (tag) {\n" - " default:\n" - " return \"???\"\;\n") - foreach(label IN LISTS enum_tags) - list(APPEND source_body - " case ${label}:\n" - " return \"${label}\"\;\n") - endforeach() - list(APPEND source_body - " }\n" - "}\n" - "\n") - # Generate a from-string function implementation. - list(APPEND source_body - "bool ${enum_name}FromString(${enum_name}* dest, char const* const src) {\n") - foreach(label IN LISTS enum_tags) - list(APPEND source_body - " if (!strcmp(src, \"${label}\")) {\n" - " *dest = ${label}\;\n" - " return true\;\n" - " }\n") - endforeach() - list(APPEND source_body - " return false\;\n" - "}\n" - "\n") -endmacro() - -function(main) - set(header_body "") - # File header and includes. - list(APPEND header_body - "#ifndef ${include_guard}\n" - "#define ${include_guard}\n" - "/**\n" - " * \\file\n" - " * \\brief Utility functions for converting enum tags into null-terminated\n" - " * byte strings and vice versa.\n" - " *\n" - " * \\warning This file is auto-generated by CMake.\n" - " */\n" - "\n" - "#include \n" - "\n" - "#include <${library_include}>\n" - "\n") - set(source_body "") - # File includes. - list(APPEND source_body - "/** \\warning This file is auto-generated by CMake. */\n" - "\n" - "#include \"stdio.h\"\n" - "#include \"string.h\"\n" - "\n" - "#include <${header_include}>\n" - "\n") - set(enum_name "") - set(enum_tags "") - set(mode "seek_enum") - file(STRINGS "${input_path}" lines) - foreach(line IN LISTS lines) - string(REGEX REPLACE "^(.+)(//.*)?" "\\1" line "${line}") - string(STRIP "${line}" line) - if(mode STREQUAL "seek_enum") - seek_enum_mode() - elseif(mode STREQUAL "read_tags") - read_tags_mode() - else() - # The end of the enum declaration was reached. - if(NOT enum_name) - # The end of the file was reached. - return() - endif() - if(NOT enum_tags) - message(FATAL_ERROR "No tags found for `${enum_name}`.") - endif() - string(TOLOWER "${enum_name}" output_stem_prefix) - string(CONCAT output_stem "${output_stem_prefix}" "_string") - cmake_path(REPLACE_EXTENSION output_stem "h" OUTPUT_VARIABLE output_header_basename) - write_header_file() - write_source_file() - set(enum_name "") - set(enum_tags "") - set(mode "seek_enum") - endif() - endforeach() - # File footer. - list(APPEND header_body - "#endif /* ${include_guard} */\n") - message(STATUS "Generating header file \"${output_header_path}\"...") - file(WRITE "${output_header_path}" ${header_body}) - message(STATUS "Generating source file \"${output_source_path}\"...") - file(WRITE "${output_source_path}" ${source_body}) -endfunction() - -if(NOT DEFINED PROJECT_NAME) - message(FATAL_ERROR "Variable PROJECT_NAME is not defined.") -elseif(NOT DEFINED LIBRARY_NAME) - message(FATAL_ERROR "Variable LIBRARY_NAME is not defined.") -elseif(NOT DEFINED SUBDIR) - message(FATAL_ERROR "Variable SUBDIR is not defined.") -elseif(${CMAKE_ARGC} LESS 9) - message(FATAL_ERROR "Too few arguments.") -elseif(${CMAKE_ARGC} GREATER 10) - message(FATAL_ERROR "Too many arguments.") -elseif(NOT EXISTS ${CMAKE_ARGV5}) - message(FATAL_ERROR "Input header \"${CMAKE_ARGV7}\" not found.") -endif() -cmake_path(CONVERT "${CMAKE_ARGV7}" TO_CMAKE_PATH_LIST input_path NORMALIZE) -cmake_path(CONVERT "${CMAKE_ARGV8}" TO_CMAKE_PATH_LIST output_header_path NORMALIZE) -cmake_path(CONVERT "${CMAKE_ARGV9}" TO_CMAKE_PATH_LIST output_source_path NORMALIZE) -string(TOLOWER "${PROJECT_NAME}" project_root) -cmake_path(CONVERT "${SUBDIR}" TO_CMAKE_PATH_LIST project_subdir NORMALIZE) -string(TOLOWER "${project_subdir}" project_subdir) -string(TOLOWER "${LIBRARY_NAME}" library_stem) -cmake_path(REPLACE_EXTENSION library_stem "h" OUTPUT_VARIABLE library_basename) -string(JOIN "/" library_include "${project_root}" "${library_basename}") -string(TOUPPER "${PROJECT_NAME}" project_name_upper) -string(TOUPPER "${project_subdir}" include_guard_infix) -string(REGEX REPLACE "/" "_" include_guard_infix "${include_guard_infix}") -string(REGEX REPLACE "-" "_" include_guard_prefix "${project_name_upper}") -string(JOIN "_" include_guard_prefix "${include_guard_prefix}" "${include_guard_infix}") -string(JOIN "/" output_header_prefix "${project_root}" "${project_subdir}") -cmake_path(GET output_header_path STEM output_header_stem) -string(TOUPPER "${output_header_stem}" include_guard_stem) -string(JOIN "_" include_guard "${include_guard_prefix}" "${include_guard_stem}" "H") -cmake_path(GET output_header_path FILENAME output_header_basename) -string(JOIN "/" header_include "${output_header_prefix}" "${output_header_basename}") -main() diff --git a/rust/automerge-c/cmake/file-regex-replace.cmake b/rust/automerge-c/cmake/file-regex-replace.cmake deleted file mode 100644 index 09005bc2..00000000 --- a/rust/automerge-c/cmake/file-regex-replace.cmake +++ /dev/null @@ -1,33 +0,0 @@ -# This CMake script is used to perform string substitutions within a generated -# file. -cmake_minimum_required(VERSION 3.23 FATAL_ERROR) - -if(NOT DEFINED MATCH_REGEX) - message(FATAL_ERROR "Variable \"MATCH_REGEX\" is not defined.") -elseif(NOT DEFINED REPLACE_EXPR) - message(FATAL_ERROR "Variable \"REPLACE_EXPR\" is not defined.") -elseif(${CMAKE_ARGC} LESS 7) - message(FATAL_ERROR "Too few arguments.") -elseif(${CMAKE_ARGC} GREATER 8) - message(FATAL_ERROR "Too many arguments.") -elseif(NOT EXISTS ${CMAKE_ARGV6}) - message(FATAL_ERROR "Input file \"${CMAKE_ARGV6}\" not found.") -endif() - -message(STATUS "Replacing \"${MATCH_REGEX}\" with \"${REPLACE_EXPR}\" in \"${CMAKE_ARGV6}\"...") - -file(READ ${CMAKE_ARGV6} INPUT_STRING) - -string(REGEX REPLACE "${MATCH_REGEX}" "${REPLACE_EXPR}" OUTPUT_STRING "${INPUT_STRING}") - -if(DEFINED CMAKE_ARGV7) - set(OUTPUT_FILE "${CMAKE_ARGV7}") -else() - set(OUTPUT_FILE "${CMAKE_ARGV6}") -endif() - -if(NOT "${OUTPUT_STRING}" STREQUAL "${INPUT_STRING}") - file(WRITE ${OUTPUT_FILE} "${OUTPUT_STRING}") - - message(STATUS "Created/updated \"${OUTPUT_FILE}\".") -endif() diff --git a/rust/automerge-c/cmake/file-touch.cmake b/rust/automerge-c/cmake/file-touch.cmake deleted file mode 100644 index 2c196755..00000000 --- a/rust/automerge-c/cmake/file-touch.cmake +++ /dev/null @@ -1,35 +0,0 @@ -# This CMake script is used to force Cargo to regenerate the header file for the -# core bindings after the out-of-source build directory has been cleaned. -cmake_minimum_required(VERSION 3.23 FATAL_ERROR) - -if(NOT DEFINED CONDITION) - message(FATAL_ERROR "Variable \"CONDITION\" is not defined.") -elseif(${CMAKE_ARGC} LESS 7) - message(FATAL_ERROR "Too few arguments.") -elseif(${CMAKE_ARGC} GREATER 7) - message(FATAL_ERROR "Too many arguments.") -elseif(NOT EXISTS ${CMAKE_ARGV6}) - message(FATAL_ERROR "File \"${CMAKE_ARGV6}\" not found.") -elseif(IS_DIRECTORY "${CMAKE_ARG6}") - message(FATAL_ERROR "Directory \"${CMAKE_ARG6}\" can't be touched.") -endif() - -message(STATUS "Touching \"${CMAKE_ARGV6}\" if ${CONDITION} \"${CMAKE_ARGV5}\"...") - -if(CONDITION STREQUAL "EXISTS") - if(EXISTS "${CMAKE_ARGV5}") - set(DO_IT TRUE) - endif() -elseif((CONDITION STREQUAL "NOT_EXISTS") OR (CONDITION STREQUAL "!EXISTS")) - if(NOT EXISTS "${CMAKE_ARGV5}") - set(DO_IT TRUE) - endif() -else() - message(FATAL_ERROR "Unexpected condition \"${CONDITION}\".") -endif() - -if(DO_IT) - file(TOUCH_NOCREATE "${CMAKE_ARGV6}") - - message(STATUS "Touched \"${CMAKE_ARGV6}\".") -endif() diff --git a/rust/automerge-c/docs/CMakeLists.txt b/rust/automerge-c/docs/CMakeLists.txt deleted file mode 100644 index 1d94c872..00000000 --- a/rust/automerge-c/docs/CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ -find_package(Doxygen OPTIONAL_COMPONENTS dot) - -if(DOXYGEN_FOUND) - set(DOXYGEN_ALIASES "installed_headerfile=\\headerfile ${LIBRARY_NAME}.h <${PROJECT_NAME}/${LIBRARY_NAME}.h>") - - set(DOXYGEN_GENERATE_LATEX YES) - - set(DOXYGEN_PDF_HYPERLINKS YES) - - set(DOXYGEN_PROJECT_LOGO "${CMAKE_CURRENT_SOURCE_DIR}/img/brandmark.png") - - set(DOXYGEN_SORT_BRIEF_DOCS YES) - - set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md") - - doxygen_add_docs( - ${LIBRARY_NAME}_docs - "${CBINDGEN_TARGET_DIR}/${LIBRARY_NAME}.h" - "${CBINDGEN_TARGET_DIR}/config.h" - "${CBINDGEN_TARGET_DIR}/${UTILS_SUBDIR}/enum_string.h" - "${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/result.h" - "${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/stack_callback_data.h" - "${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/stack.h" - "${CMAKE_SOURCE_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}/${UTILS_SUBDIR}/string.h" - "${CMAKE_SOURCE_DIR}/README.md" - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - COMMENT "Producing documentation with Doxygen..." - ) - - # \note A Doxygen input file isn't a file-level dependency so the Doxygen - # command must instead depend upon a target that either outputs the - # file or depends upon it also or it will just output an error message - # when it can't be found. - add_dependencies(${LIBRARY_NAME}_docs ${BINDINGS_NAME}_artifacts ${LIBRARY_NAME}_utilities) -endif() diff --git a/rust/automerge-c/docs/img/brandmark.png b/rust/automerge-c/docs/img/brandmark.png deleted file mode 100644 index 56e1c82d..00000000 Binary files a/rust/automerge-c/docs/img/brandmark.png and /dev/null differ diff --git a/rust/automerge-c/examples/CMakeLists.txt b/rust/automerge-c/examples/CMakeLists.txt deleted file mode 100644 index f080237b..00000000 --- a/rust/automerge-c/examples/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -add_executable( - ${LIBRARY_NAME}_quickstart - quickstart.c -) - -set_target_properties(${LIBRARY_NAME}_quickstart PROPERTIES LINKER_LANGUAGE C) - -# \note An imported library's INTERFACE_INCLUDE_DIRECTORIES property can't -# contain a non-existent path so its build-time include directory -# must be specified for all of its dependent targets instead. -target_include_directories( - ${LIBRARY_NAME}_quickstart - PRIVATE "$" -) - -target_link_libraries(${LIBRARY_NAME}_quickstart PRIVATE ${LIBRARY_NAME}) - -add_dependencies(${LIBRARY_NAME}_quickstart ${BINDINGS_NAME}_artifacts) - -if(BUILD_SHARED_LIBS AND WIN32) - add_custom_command( - TARGET ${LIBRARY_NAME}_quickstart - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - ${CARGO_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}${LIBRARY_NAME}${CMAKE_${CMAKE_BUILD_TYPE}_POSTFIX}${CMAKE_SHARED_LIBRARY_SUFFIX} - ${CMAKE_BINARY_DIR} - COMMENT "Copying the DLL built by Cargo into the examples directory..." - VERBATIM - ) -endif() - -add_custom_command( - TARGET ${LIBRARY_NAME}_quickstart - POST_BUILD - COMMAND - ${LIBRARY_NAME}_quickstart - COMMENT - "Running the example quickstart..." - VERBATIM -) diff --git a/rust/automerge-c/examples/README.md b/rust/automerge-c/examples/README.md deleted file mode 100644 index 17e69412..00000000 --- a/rust/automerge-c/examples/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Automerge C examples - -## Quickstart - -```shell -cmake -E make_directory automerge-c/build -cmake -S automerge-c -B automerge-c/build -cmake --build automerge-c/build --target automerge_quickstart -``` diff --git a/rust/automerge-c/examples/quickstart.c b/rust/automerge-c/examples/quickstart.c deleted file mode 100644 index ab6769ef..00000000 --- a/rust/automerge-c/examples/quickstart.c +++ /dev/null @@ -1,129 +0,0 @@ -#include -#include -#include - -#include -#include -#include -#include -#include - -static bool abort_cb(AMstack**, void*); - -/** - * \brief Based on https://automerge.github.io/docs/quickstart - */ -int main(int argc, char** argv) { - AMstack* stack = NULL; - AMdoc* doc1; - AMitemToDoc(AMstackItem(&stack, AMcreate(NULL), abort_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1); - AMobjId const* const cards = - AMitemObjId(AMstackItem(&stack, AMmapPutObject(doc1, AM_ROOT, AMstr("cards"), AM_OBJ_TYPE_LIST), abort_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMobjId const* const card1 = - AMitemObjId(AMstackItem(&stack, AMlistPutObject(doc1, cards, SIZE_MAX, true, AM_OBJ_TYPE_MAP), abort_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMmapPutStr(doc1, card1, AMstr("title"), AMstr("Rewrite everything in Clojure")), abort_cb, - AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutBool(doc1, card1, AMstr("done"), false), abort_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMobjId const* const card2 = - AMitemObjId(AMstackItem(&stack, AMlistPutObject(doc1, cards, SIZE_MAX, true, AM_OBJ_TYPE_MAP), abort_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMmapPutStr(doc1, card2, AMstr("title"), AMstr("Rewrite everything in Haskell")), abort_cb, - AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutBool(doc1, card2, AMstr("done"), false), abort_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc1, AMstr("Add card"), NULL), abort_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMdoc* doc2; - AMitemToDoc(AMstackItem(&stack, AMcreate(NULL), abort_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2); - AMstackItem(NULL, AMmerge(doc2, doc1), abort_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMbyteSpan binary; - AMitemToBytes(AMstackItem(&stack, AMsave(doc1), abort_cb, AMexpect(AM_VAL_TYPE_BYTES)), &binary); - AMitemToDoc(AMstackItem(&stack, AMload(binary.src, binary.count), abort_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2); - - AMstackItem(NULL, AMmapPutBool(doc1, card1, AMstr("done"), true), abort_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc1, AMstr("Mark card as done"), NULL), abort_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMstackItem(NULL, AMlistDelete(doc2, cards, 0), abort_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc2, AMstr("Delete card"), NULL), abort_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMstackItem(NULL, AMmerge(doc1, doc2), abort_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMitems changes = AMstackItems(&stack, AMgetChanges(doc1, NULL), abort_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - AMitem* item = NULL; - while ((item = AMitemsNext(&changes, 1)) != NULL) { - AMchange const* change; - AMitemToChange(item, &change); - AMitems const heads = AMstackItems(&stack, AMitemFromChangeHash(AMchangeHash(change)), abort_cb, - AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - char* const c_msg = AMstrdup(AMchangeMessage(change), NULL); - printf("%s %zu\n", c_msg, AMobjSize(doc1, cards, &heads)); - free(c_msg); - } - AMstackFree(&stack); -} - -/** - * \brief Examines the result at the top of the given stack and, if it's - * invalid, prints an error message to `stderr`, deallocates all results - * in the stack and exits. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \param[in] data A pointer to an owned `AMstackCallbackData` struct or `NULL`. - * \return `true` if the top `AMresult` in \p stack is valid, `false` otherwise. - * \pre \p stack `!= NULL`. - */ -static bool abort_cb(AMstack** stack, void* data) { - static char buffer[512] = {0}; - - char const* suffix = NULL; - if (!stack) { - suffix = "Stack*"; - } else if (!*stack) { - suffix = "Stack"; - } else if (!(*stack)->result) { - suffix = ""; - } - if (suffix) { - fprintf(stderr, "Null `AMresult%s*`.\n", suffix); - AMstackFree(stack); - exit(EXIT_FAILURE); - return false; - } - AMstatus const status = AMresultStatus((*stack)->result); - switch (status) { - case AM_STATUS_ERROR: - strcpy(buffer, "Error"); - break; - case AM_STATUS_INVALID_RESULT: - strcpy(buffer, "Invalid result"); - break; - case AM_STATUS_OK: - break; - default: - sprintf(buffer, "Unknown `AMstatus` tag %d", status); - } - if (buffer[0]) { - char* const c_msg = AMstrdup(AMresultError((*stack)->result), NULL); - fprintf(stderr, "%s; %s.\n", buffer, c_msg); - free(c_msg); - AMstackFree(stack); - exit(EXIT_FAILURE); - return false; - } - if (data) { - AMstackCallbackData* sc_data = (AMstackCallbackData*)data; - AMvalType const tag = AMitemValType(AMresultItem((*stack)->result)); - if (tag != sc_data->bitmask) { - fprintf(stderr, "Unexpected tag `%s` (%d) instead of `%s` at %s:%d.\n", AMvalTypeToString(tag), tag, - AMvalTypeToString(sc_data->bitmask), sc_data->file, sc_data->line); - free(sc_data); - AMstackFree(stack); - exit(EXIT_FAILURE); - return false; - } - } - free(data); - return true; -} diff --git a/rust/automerge-c/include/automerge-c/utils/result.h b/rust/automerge-c/include/automerge-c/utils/result.h deleted file mode 100644 index ab8a2f93..00000000 --- a/rust/automerge-c/include/automerge-c/utils/result.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef AUTOMERGE_C_UTILS_RESULT_H -#define AUTOMERGE_C_UTILS_RESULT_H -/** - * \file - * \brief Utility functions for use with `AMresult` structs. - */ - -#include - -#include - -/** - * \brief Transfers the items within an arbitrary list of results into a - * new result in their order of specification. - * \param[in] count The count of subsequent arguments. - * \param[in] ... A \p count list of arguments, each of which is a pointer to - * an `AMresult` struct whose items will be transferred out of it - * and which is subsequently freed. - * \return A pointer to an `AMresult` struct or `NULL`. - * \pre `∀𝑥 ∈` \p ... `, AMresultStatus(𝑥) == AM_STATUS_OK` - * \post `(∃𝑥 ∈` \p ... `, AMresultStatus(𝑥) != AM_STATUS_OK) -> NULL` - * \attention All `AMresult` struct pointer arguments are passed to - * `AMresultFree()` regardless of success; use `AMresultCat()` - * instead if you wish to pass them to `AMresultFree()` yourself. - * \warning The returned `AMresult` struct pointer must be passed to - * `AMresultFree()` in order to avoid a memory leak. - */ -AMresult* AMresultFrom(int count, ...); - -#endif /* AUTOMERGE_C_UTILS_RESULT_H */ diff --git a/rust/automerge-c/include/automerge-c/utils/stack.h b/rust/automerge-c/include/automerge-c/utils/stack.h deleted file mode 100644 index a8e9fd08..00000000 --- a/rust/automerge-c/include/automerge-c/utils/stack.h +++ /dev/null @@ -1,130 +0,0 @@ -#ifndef AUTOMERGE_C_UTILS_STACK_H -#define AUTOMERGE_C_UTILS_STACK_H -/** - * \file - * \brief Utility data structures and functions for hiding `AMresult` structs, - * managing their lifetimes, and automatically applying custom - * validation logic to the `AMitem` structs that they contain. - * - * \note The `AMstack` struct and its related functions drastically reduce the - * need for boilerplate code and/or `goto` statement usage within a C - * application but a higher-level programming language offers even better - * ways to do the same things. - */ - -#include - -/** - * \struct AMstack - * \brief A node in a singly-linked list of result pointers. - */ -typedef struct AMstack { - /** A result to be deallocated. */ - AMresult* result; - /** The previous node in the singly-linked list or `NULL`. */ - struct AMstack* prev; -} AMstack; - -/** - * \memberof AMstack - * \brief The prototype of a function that examines the result at the top of - * the given stack in terms of some arbitrary data. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \param[in] data A pointer to arbitrary data or `NULL`. - * \return `true` if the top `AMresult` struct in \p stack is valid, `false` - * otherwise. - * \pre \p stack `!= NULL`. - */ -typedef bool (*AMstackCallback)(AMstack** stack, void* data); - -/** - * \memberof AMstack - * \brief Deallocates the storage for a stack of results. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \pre \p stack `!= NULL` - * \post `*stack == NULL` - */ -void AMstackFree(AMstack** stack); - -/** - * \memberof AMstack - * \brief Gets a result from the stack after removing it. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \param[in] result A pointer to the `AMresult` to be popped or `NULL` to - * select the top result in \p stack. - * \return A pointer to an `AMresult` struct or `NULL`. - * \pre \p stack `!= NULL` - * \warning The returned `AMresult` struct pointer must be passed to - * `AMresultFree()` in order to avoid a memory leak. - */ -AMresult* AMstackPop(AMstack** stack, AMresult const* result); - -/** - * \memberof AMstack - * \brief Pushes the given result onto the given stack, calls the given - * callback with the given data to validate it and then either gets the - * result if it's valid or gets `NULL` instead. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \param[in] result A pointer to an `AMresult` struct. - * \param[in] callback A pointer to a function with the same signature as - * `AMstackCallback()` or `NULL`. - * \param[in] data A pointer to arbitrary data or `NULL` which is passed to - * \p callback. - * \return \p result or `NULL`. - * \warning If \p stack `== NULL` then \p result is deallocated in order to - * avoid a memory leak. - */ -AMresult* AMstackResult(AMstack** stack, AMresult* result, AMstackCallback callback, void* data); - -/** - * \memberof AMstack - * \brief Pushes the given result onto the given stack, calls the given - * callback with the given data to validate it and then either gets the - * first item in the sequence of items within that result if it's valid - * or gets `NULL` instead. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \param[in] result A pointer to an `AMresult` struct. - * \param[in] callback A pointer to a function with the same signature as - * `AMstackCallback()` or `NULL`. - * \param[in] data A pointer to arbitrary data or `NULL` which is passed to - * \p callback. - * \return A pointer to an `AMitem` struct or `NULL`. - * \warning If \p stack `== NULL` then \p result is deallocated in order to - * avoid a memory leak. - */ -AMitem* AMstackItem(AMstack** stack, AMresult* result, AMstackCallback callback, void* data); - -/** - * \memberof AMstack - * \brief Pushes the given result onto the given stack, calls the given - * callback with the given data to validate it and then either gets an - * `AMitems` struct over the sequence of items within that result if it's - * valid or gets an empty `AMitems` instead. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \param[in] result A pointer to an `AMresult` struct. - * \param[in] callback A pointer to a function with the same signature as - * `AMstackCallback()` or `NULL`. - * \param[in] data A pointer to arbitrary data or `NULL` which is passed to - * \p callback. - * \return An `AMitems` struct. - * \warning If \p stack `== NULL` then \p result is deallocated immediately - * in order to avoid a memory leak. - */ -AMitems AMstackItems(AMstack** stack, AMresult* result, AMstackCallback callback, void* data); - -/** - * \memberof AMstack - * \brief Gets the count of results that have been pushed onto the stack. - * - * \param[in,out] stack A pointer to an `AMstack` struct. - * \return A 64-bit unsigned integer. - */ -size_t AMstackSize(AMstack const* const stack); - -#endif /* AUTOMERGE_C_UTILS_STACK_H */ diff --git a/rust/automerge-c/include/automerge-c/utils/stack_callback_data.h b/rust/automerge-c/include/automerge-c/utils/stack_callback_data.h deleted file mode 100644 index 6f9f1edb..00000000 --- a/rust/automerge-c/include/automerge-c/utils/stack_callback_data.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef AUTOMERGE_C_UTILS_PUSH_CALLBACK_DATA_H -#define AUTOMERGE_C_UTILS_PUSH_CALLBACK_DATA_H -/** - * \file - * \brief Utility data structures, functions and macros for supplying - * parameters to the custom validation logic applied to `AMitem` - * structs. - */ - -#include - -/** - * \struct AMstackCallbackData - * \brief A data structure for passing the parameters of an item value test - * to an implementation of the `AMstackCallback` function prototype. - */ -typedef struct { - /** A bitmask of `AMvalType` tags. */ - AMvalType bitmask; - /** A null-terminated file path string. */ - char const* file; - /** The ordinal number of a line within a file. */ - int line; -} AMstackCallbackData; - -/** - * \memberof AMstackCallbackData - * \brief Allocates a new `AMstackCallbackData` struct and initializes its - * members from their corresponding arguments. - * - * \param[in] bitmask A bitmask of `AMvalType` tags. - * \param[in] file A null-terminated file path string. - * \param[in] line The ordinal number of a line within a file. - * \return A pointer to a disowned `AMstackCallbackData` struct. - * \warning The returned pointer must be passed to `free()` to avoid a memory - * leak. - */ -AMstackCallbackData* AMstackCallbackDataInit(AMvalType const bitmask, char const* const file, int const line); - -/** - * \memberof AMstackCallbackData - * \def AMexpect - * \brief Allocates a new `AMstackCallbackData` struct and initializes it from - * an `AMvalueType` bitmask. - * - * \param[in] bitmask A bitmask of `AMvalType` tags. - * \return A pointer to a disowned `AMstackCallbackData` struct. - * \warning The returned pointer must be passed to `free()` to avoid a memory - * leak. - */ -#define AMexpect(bitmask) AMstackCallbackDataInit(bitmask, __FILE__, __LINE__) - -#endif /* AUTOMERGE_C_UTILS_PUSH_CALLBACK_DATA_H */ diff --git a/rust/automerge-c/include/automerge-c/utils/string.h b/rust/automerge-c/include/automerge-c/utils/string.h deleted file mode 100644 index 4d61c2e9..00000000 --- a/rust/automerge-c/include/automerge-c/utils/string.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef AUTOMERGE_C_UTILS_STRING_H -#define AUTOMERGE_C_UTILS_STRING_H -/** - * \file - * \brief Utility functions for use with `AMbyteSpan` structs that provide - * UTF-8 string views. - */ - -#include - -/** - * \memberof AMbyteSpan - * \brief Returns a pointer to a null-terminated byte string which is a - * duplicate of the given UTF-8 string view except for the substitution - * of its NUL (0) characters with the specified null-terminated byte - * string. - * - * \param[in] str A UTF-8 string view as an `AMbyteSpan` struct. - * \param[in] nul A null-terminated byte string to substitute for NUL characters - * or `NULL` to substitute `"\\0"` for NUL characters. - * \return A disowned null-terminated byte string. - * \pre \p str.src `!= NULL` - * \pre \p str.count `<= sizeof(`\p str.src `)` - * \warning The returned pointer must be passed to `free()` to avoid a memory - * leak. - */ -char* AMstrdup(AMbyteSpan const str, char const* nul); - -#endif /* AUTOMERGE_C_UTILS_STRING_H */ diff --git a/rust/automerge-c/src/actor_id.rs b/rust/automerge-c/src/actor_id.rs deleted file mode 100644 index 5a28959e..00000000 --- a/rust/automerge-c/src/actor_id.rs +++ /dev/null @@ -1,193 +0,0 @@ -use automerge as am; -use libc::c_int; -use std::cell::RefCell; -use std::cmp::Ordering; -use std::str::FromStr; - -use crate::byte_span::AMbyteSpan; -use crate::result::{to_result, AMresult}; - -macro_rules! to_actor_id { - ($handle:expr) => {{ - let handle = $handle.as_ref(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMactorId*`").into(), - } - }}; -} - -pub(crate) use to_actor_id; - -/// \struct AMactorId -/// \installed_headerfile -/// \brief An actor's unique identifier. -#[derive(Eq, PartialEq)] -pub struct AMactorId { - body: *const am::ActorId, - hex_str: RefCell>>, -} - -impl AMactorId { - pub fn new(actor_id: &am::ActorId) -> Self { - Self { - body: actor_id, - hex_str: Default::default(), - } - } - - pub fn as_hex_str(&self) -> AMbyteSpan { - let mut hex_str = self.hex_str.borrow_mut(); - match hex_str.as_mut() { - None => { - let hex_string = unsafe { (*self.body).to_hex_string() }; - hex_str - .insert(hex_string.into_boxed_str()) - .as_bytes() - .into() - } - Some(hex_str) => hex_str.as_bytes().into(), - } - } -} - -impl AsRef for AMactorId { - fn as_ref(&self) -> &am::ActorId { - unsafe { &*self.body } - } -} - -/// \memberof AMactorId -/// \brief Gets the value of an actor identifier as an array of bytes. -/// -/// \param[in] actor_id A pointer to an `AMactorId` struct. -/// \return An `AMbyteSpan` struct for an array of bytes. -/// \pre \p actor_id `!= NULL` -/// \internal -/// -/// # Safety -/// actor_id must be a valid pointer to an AMactorId -#[no_mangle] -pub unsafe extern "C" fn AMactorIdBytes(actor_id: *const AMactorId) -> AMbyteSpan { - match actor_id.as_ref() { - Some(actor_id) => actor_id.as_ref().into(), - None => Default::default(), - } -} - -/// \memberof AMactorId -/// \brief Compares two actor identifiers. -/// -/// \param[in] actor_id1 A pointer to an `AMactorId` struct. -/// \param[in] actor_id2 A pointer to an `AMactorId` struct. -/// \return `-1` if \p actor_id1 `<` \p actor_id2, `0` if -/// \p actor_id1 `==` \p actor_id2 and `1` if -/// \p actor_id1 `>` \p actor_id2. -/// \pre \p actor_id1 `!= NULL` -/// \pre \p actor_id2 `!= NULL` -/// \internal -/// -/// #Safety -/// actor_id1 must be a valid pointer to an AMactorId -/// actor_id2 must be a valid pointer to an AMactorId -#[no_mangle] -pub unsafe extern "C" fn AMactorIdCmp( - actor_id1: *const AMactorId, - actor_id2: *const AMactorId, -) -> c_int { - match (actor_id1.as_ref(), actor_id2.as_ref()) { - (Some(actor_id1), Some(actor_id2)) => match actor_id1.as_ref().cmp(actor_id2.as_ref()) { - Ordering::Less => -1, - Ordering::Equal => 0, - Ordering::Greater => 1, - }, - (None, Some(_)) => -1, - (None, None) => 0, - (Some(_), None) => 1, - } -} - -/// \memberof AMactorId -/// \brief Allocates a new actor identifier and initializes it from a random -/// UUID value. -/// -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_ACTOR_ID` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMactorIdInit() -> *mut AMresult { - to_result(Ok::(am::ActorId::random())) -} - -/// \memberof AMactorId -/// \brief Allocates a new actor identifier and initializes it from an array of -/// bytes value. -/// -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to copy from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_ACTOR_ID` item. -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// src must be a byte array of length `>= count` -#[no_mangle] -pub unsafe extern "C" fn AMactorIdFromBytes(src: *const u8, count: usize) -> *mut AMresult { - if !src.is_null() { - let value = std::slice::from_raw_parts(src, count); - to_result(Ok::(am::ActorId::from( - value, - ))) - } else { - AMresult::error("Invalid uint8_t*").into() - } -} - -/// \memberof AMactorId -/// \brief Allocates a new actor identifier and initializes it from a -/// hexadecimal UTF-8 string view value. -/// -/// \param[in] value A UTF-8 string view as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_ACTOR_ID` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// hex_str must be a valid pointer to an AMbyteSpan -#[no_mangle] -pub unsafe extern "C" fn AMactorIdFromStr(value: AMbyteSpan) -> *mut AMresult { - use am::AutomergeError::InvalidActorId; - - to_result(match (&value).try_into() { - Ok(s) => match am::ActorId::from_str(s) { - Ok(actor_id) => Ok(actor_id), - Err(_) => Err(InvalidActorId(String::from(s))), - }, - Err(e) => Err(e), - }) -} - -/// \memberof AMactorId -/// \brief Gets the value of an actor identifier as a UTF-8 hexadecimal string -/// view. -/// -/// \param[in] actor_id A pointer to an `AMactorId` struct. -/// \return A UTF-8 string view as an `AMbyteSpan` struct. -/// \pre \p actor_id `!= NULL` -/// \internal -/// -/// # Safety -/// actor_id must be a valid pointer to an AMactorId -#[no_mangle] -pub unsafe extern "C" fn AMactorIdStr(actor_id: *const AMactorId) -> AMbyteSpan { - match actor_id.as_ref() { - Some(actor_id) => actor_id.as_hex_str(), - None => Default::default(), - } -} diff --git a/rust/automerge-c/src/byte_span.rs b/rust/automerge-c/src/byte_span.rs deleted file mode 100644 index 5855cfc7..00000000 --- a/rust/automerge-c/src/byte_span.rs +++ /dev/null @@ -1,223 +0,0 @@ -use automerge as am; -use std::cmp::Ordering; -use std::convert::TryFrom; -use std::os::raw::c_char; - -use libc::{c_int, strlen}; -use smol_str::SmolStr; - -macro_rules! to_str { - ($byte_span:expr) => {{ - let result: Result<&str, am::AutomergeError> = (&$byte_span).try_into(); - match result { - Ok(s) => s, - Err(e) => return AMresult::error(&e.to_string()).into(), - } - }}; -} - -pub(crate) use to_str; - -/// \struct AMbyteSpan -/// \installed_headerfile -/// \brief A view onto an array of bytes. -#[repr(C)] -pub struct AMbyteSpan { - /// A pointer to the first byte of an array of bytes. - /// \warning \p src is only valid until the array of bytes to which it - /// points is freed. - /// \note If the `AMbyteSpan` came from within an `AMitem` struct then - /// \p src will be freed when the pointer to the `AMresult` struct - /// containing the `AMitem` struct is passed to `AMresultFree()`. - pub src: *const u8, - /// The count of bytes in the array. - pub count: usize, -} - -impl AMbyteSpan { - pub fn is_null(&self) -> bool { - self.src.is_null() - } -} - -impl Default for AMbyteSpan { - fn default() -> Self { - Self { - src: std::ptr::null(), - count: 0, - } - } -} - -impl PartialEq for AMbyteSpan { - fn eq(&self, other: &Self) -> bool { - if self.count != other.count { - return false; - } else if self.src == other.src { - return true; - } - <&[u8]>::from(self) == <&[u8]>::from(other) - } -} - -impl Eq for AMbyteSpan {} - -impl From<&am::ActorId> for AMbyteSpan { - fn from(actor: &am::ActorId) -> Self { - let slice = actor.to_bytes(); - Self { - src: slice.as_ptr(), - count: slice.len(), - } - } -} - -impl From<&mut am::ActorId> for AMbyteSpan { - fn from(actor: &mut am::ActorId) -> Self { - actor.as_ref().into() - } -} - -impl From<&am::ChangeHash> for AMbyteSpan { - fn from(change_hash: &am::ChangeHash) -> Self { - Self { - src: change_hash.0.as_ptr(), - count: change_hash.0.len(), - } - } -} - -impl From<*const c_char> for AMbyteSpan { - fn from(cs: *const c_char) -> Self { - if !cs.is_null() { - Self { - src: cs as *const u8, - count: unsafe { strlen(cs) }, - } - } else { - Self::default() - } - } -} - -impl From<&SmolStr> for AMbyteSpan { - fn from(smol_str: &SmolStr) -> Self { - smol_str.as_bytes().into() - } -} - -impl From<&[u8]> for AMbyteSpan { - fn from(slice: &[u8]) -> Self { - Self { - src: slice.as_ptr(), - count: slice.len(), - } - } -} - -impl From<&AMbyteSpan> for &[u8] { - fn from(byte_span: &AMbyteSpan) -> Self { - unsafe { std::slice::from_raw_parts(byte_span.src, byte_span.count) } - } -} - -impl From<&AMbyteSpan> for Vec { - fn from(byte_span: &AMbyteSpan) -> Self { - <&[u8]>::from(byte_span).to_vec() - } -} - -impl TryFrom<&AMbyteSpan> for am::ChangeHash { - type Error = am::AutomergeError; - - fn try_from(byte_span: &AMbyteSpan) -> Result { - use am::AutomergeError::InvalidChangeHashBytes; - - let slice: &[u8] = byte_span.into(); - match slice.try_into() { - Ok(change_hash) => Ok(change_hash), - Err(e) => Err(InvalidChangeHashBytes(e)), - } - } -} - -impl TryFrom<&AMbyteSpan> for &str { - type Error = am::AutomergeError; - - fn try_from(byte_span: &AMbyteSpan) -> Result { - use am::AutomergeError::InvalidCharacter; - - let slice = byte_span.into(); - match std::str::from_utf8(slice) { - Ok(str_) => Ok(str_), - Err(e) => Err(InvalidCharacter(e.valid_up_to())), - } - } -} - -/// \memberof AMbyteSpan -/// \brief Creates a view onto an array of bytes. -/// -/// \param[in] src A pointer to an array of bytes or `NULL`. -/// \param[in] count The count of bytes to view from the array pointed to by -/// \p src. -/// \return An `AMbyteSpan` struct. -/// \pre \p count `<= sizeof(`\p src `)` -/// \post `(`\p src `== NULL) -> (AMbyteSpan){NULL, 0}` -/// \internal -/// -/// #Safety -/// src must be a byte array of length `>= count` or `std::ptr::null()` -#[no_mangle] -pub unsafe extern "C" fn AMbytes(src: *const u8, count: usize) -> AMbyteSpan { - AMbyteSpan { - src, - count: if src.is_null() { 0 } else { count }, - } -} - -/// \memberof AMbyteSpan -/// \brief Creates a view onto a C string. -/// -/// \param[in] c_str A null-terminated byte string or `NULL`. -/// \return An `AMbyteSpan` struct. -/// \pre Each byte in \p c_str encodes one UTF-8 character. -/// \internal -/// -/// #Safety -/// c_str must be a null-terminated array of `std::os::raw::c_char` or `std::ptr::null()`. -#[no_mangle] -pub unsafe extern "C" fn AMstr(c_str: *const c_char) -> AMbyteSpan { - c_str.into() -} - -/// \memberof AMbyteSpan -/// \brief Compares two UTF-8 string views lexicographically. -/// -/// \param[in] lhs A UTF-8 string view as an `AMbyteSpan` struct. -/// \param[in] rhs A UTF-8 string view as an `AMbyteSpan` struct. -/// \return Negative value if \p lhs appears before \p rhs in lexicographical order. -/// Zero if \p lhs and \p rhs compare equal. -/// Positive value if \p lhs appears after \p rhs in lexicographical order. -/// \pre \p lhs.src `!= NULL` -/// \pre \p lhs.count `<= sizeof(`\p lhs.src `)` -/// \pre \p rhs.src `!= NULL` -/// \pre \p rhs.count `<= sizeof(`\p rhs.src `)` -/// \internal -/// -/// #Safety -/// lhs.src must be a byte array of length >= lhs.count -/// rhs.src must be a a byte array of length >= rhs.count -#[no_mangle] -pub unsafe extern "C" fn AMstrCmp(lhs: AMbyteSpan, rhs: AMbyteSpan) -> c_int { - match (<&str>::try_from(&lhs), <&str>::try_from(&rhs)) { - (Ok(lhs), Ok(rhs)) => match lhs.cmp(rhs) { - Ordering::Less => -1, - Ordering::Equal => 0, - Ordering::Greater => 1, - }, - (Err(_), Ok(_)) => -1, - (Err(_), Err(_)) => 0, - (Ok(_), Err(_)) => 1, - } -} diff --git a/rust/automerge-c/src/change.rs b/rust/automerge-c/src/change.rs deleted file mode 100644 index 8529ed94..00000000 --- a/rust/automerge-c/src/change.rs +++ /dev/null @@ -1,356 +0,0 @@ -use automerge as am; -use std::cell::RefCell; - -use crate::byte_span::AMbyteSpan; -use crate::result::{to_result, AMresult}; - -macro_rules! to_change { - ($handle:expr) => {{ - let handle = $handle.as_ref(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMchange*`").into(), - } - }}; -} - -/// \struct AMchange -/// \installed_headerfile -/// \brief A group of operations performed by an actor. -#[derive(Eq, PartialEq)] -pub struct AMchange { - body: *mut am::Change, - change_hash: RefCell>, -} - -impl AMchange { - pub fn new(change: &mut am::Change) -> Self { - Self { - body: change, - change_hash: Default::default(), - } - } - - pub fn message(&self) -> AMbyteSpan { - if let Some(message) = unsafe { (*self.body).message() } { - return message.as_str().as_bytes().into(); - } - Default::default() - } - - pub fn hash(&self) -> AMbyteSpan { - let mut change_hash = self.change_hash.borrow_mut(); - if let Some(change_hash) = change_hash.as_ref() { - change_hash.into() - } else { - let hash = unsafe { (*self.body).hash() }; - let ptr = change_hash.insert(hash); - AMbyteSpan { - src: ptr.0.as_ptr(), - count: hash.as_ref().len(), - } - } - } -} - -impl AsMut for AMchange { - fn as_mut(&mut self) -> &mut am::Change { - unsafe { &mut *self.body } - } -} - -impl AsRef for AMchange { - fn as_ref(&self) -> &am::Change { - unsafe { &*self.body } - } -} - -/// \memberof AMchange -/// \brief Gets the first referenced actor identifier in a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_ACTOR_ID` item. -/// \pre \p change `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeActorId(change: *const AMchange) -> *mut AMresult { - let change = to_change!(change); - to_result(Ok::( - change.as_ref().actor_id().clone(), - )) -} - -/// \memberof AMchange -/// \brief Compresses the raw bytes of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeCompress(change: *mut AMchange) { - if let Some(change) = change.as_mut() { - let _ = change.as_mut().bytes(); - }; -} - -/// \memberof AMchange -/// \brief Gets the dependencies of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p change `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeDeps(change: *const AMchange) -> *mut AMresult { - to_result(match change.as_ref() { - Some(change) => change.as_ref().deps(), - None => Default::default(), - }) -} - -/// \memberof AMchange -/// \brief Gets the extra bytes of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return An `AMbyteSpan` struct. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeExtraBytes(change: *const AMchange) -> AMbyteSpan { - if let Some(change) = change.as_ref() { - change.as_ref().extra_bytes().into() - } else { - Default::default() - } -} - -/// \memberof AMchange -/// \brief Allocates a new change and initializes it from an array of bytes value. -/// -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to load from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_CHANGE` item. -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// src must be a byte array of length `>= count` -#[no_mangle] -pub unsafe extern "C" fn AMchangeFromBytes(src: *const u8, count: usize) -> *mut AMresult { - let data = std::slice::from_raw_parts(src, count); - to_result(am::Change::from_bytes(data.to_vec())) -} - -/// \memberof AMchange -/// \brief Gets the hash of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return An `AMbyteSpan` struct for a change hash. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeHash(change: *const AMchange) -> AMbyteSpan { - match change.as_ref() { - Some(change) => change.hash(), - None => Default::default(), - } -} - -/// \memberof AMchange -/// \brief Tests the emptiness of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return `true` if \p change is empty, `false` otherwise. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeIsEmpty(change: *const AMchange) -> bool { - if let Some(change) = change.as_ref() { - change.as_ref().is_empty() - } else { - true - } -} - -/// \memberof AMchange -/// \brief Loads a document into a sequence of changes. -/// -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to load from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE` items. -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// src must be a byte array of length `>= count` -#[no_mangle] -pub unsafe extern "C" fn AMchangeLoadDocument(src: *const u8, count: usize) -> *mut AMresult { - let data = std::slice::from_raw_parts(src, count); - to_result::, _>>( - am::Automerge::load(data) - .and_then(|d| d.get_changes(&[]).map(|c| c.into_iter().cloned().collect())), - ) -} - -/// \memberof AMchange -/// \brief Gets the maximum operation index of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return A 64-bit unsigned integer. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeMaxOp(change: *const AMchange) -> u64 { - if let Some(change) = change.as_ref() { - change.as_ref().max_op() - } else { - u64::MAX - } -} - -/// \memberof AMchange -/// \brief Gets the message of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return An `AMbyteSpan` struct for a UTF-8 string. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeMessage(change: *const AMchange) -> AMbyteSpan { - if let Some(change) = change.as_ref() { - return change.message(); - }; - Default::default() -} - -/// \memberof AMchange -/// \brief Gets the index of a change in the changes from an actor. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return A 64-bit unsigned integer. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeSeq(change: *const AMchange) -> u64 { - if let Some(change) = change.as_ref() { - change.as_ref().seq() - } else { - u64::MAX - } -} - -/// \memberof AMchange -/// \brief Gets the size of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return A 64-bit unsigned integer. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeSize(change: *const AMchange) -> usize { - if let Some(change) = change.as_ref() { - return change.as_ref().len(); - } - 0 -} - -/// \memberof AMchange -/// \brief Gets the start operation index of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return A 64-bit unsigned integer. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeStartOp(change: *const AMchange) -> u64 { - if let Some(change) = change.as_ref() { - u64::from(change.as_ref().start_op()) - } else { - u64::MAX - } -} - -/// \memberof AMchange -/// \brief Gets the commit time of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return A 64-bit signed integer. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeTime(change: *const AMchange) -> i64 { - if let Some(change) = change.as_ref() { - change.as_ref().timestamp() - } else { - i64::MAX - } -} - -/// \memberof AMchange -/// \brief Gets the raw bytes of a change. -/// -/// \param[in] change A pointer to an `AMchange` struct. -/// \return An `AMbyteSpan` struct for an array of bytes. -/// \pre \p change `!= NULL` -/// \internal -/// -/// # Safety -/// change must be a valid pointer to an AMchange -#[no_mangle] -pub unsafe extern "C" fn AMchangeRawBytes(change: *const AMchange) -> AMbyteSpan { - if let Some(change) = change.as_ref() { - change.as_ref().raw_bytes().into() - } else { - Default::default() - } -} diff --git a/rust/automerge-c/src/doc.rs b/rust/automerge-c/src/doc.rs deleted file mode 100644 index 82f52bf7..00000000 --- a/rust/automerge-c/src/doc.rs +++ /dev/null @@ -1,915 +0,0 @@ -use automerge as am; -use automerge::sync::SyncDoc; -use automerge::transaction::{CommitOptions, Transactable}; -use automerge::ReadDoc; -use std::ops::{Deref, DerefMut}; - -use crate::actor_id::{to_actor_id, AMactorId}; -use crate::byte_span::{to_str, AMbyteSpan}; -use crate::items::AMitems; -use crate::obj::{to_obj_id, AMobjId, AMobjType}; -use crate::result::{to_result, AMresult}; -use crate::sync::{to_sync_message, AMsyncMessage, AMsyncState}; - -pub mod list; -pub mod map; -pub mod utils; - -use crate::doc::utils::{clamp, to_doc, to_doc_mut, to_items}; - -macro_rules! to_sync_state_mut { - ($handle:expr) => {{ - let handle = $handle.as_mut(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMsyncState*`").into(), - } - }}; -} - -/// \struct AMdoc -/// \installed_headerfile -/// \brief A JSON-like CRDT. -#[derive(Clone)] -pub struct AMdoc(am::AutoCommit); - -impl AMdoc { - pub fn new(auto_commit: am::AutoCommit) -> Self { - Self(auto_commit) - } - - pub fn is_equal_to(&mut self, other: &mut Self) -> bool { - self.document().get_heads() == other.document().get_heads() - } -} - -impl AsRef for AMdoc { - fn as_ref(&self) -> &am::AutoCommit { - &self.0 - } -} - -impl Deref for AMdoc { - type Target = am::AutoCommit; - - fn deref(&self) -> &Self::Target { - &self.0 - } -} - -impl DerefMut for AMdoc { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self.0 - } -} - -/// \memberof AMdoc -/// \brief Applies a sequence of changes to a document. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] items A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE` -/// items. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p items `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// items must be a valid pointer to an AMitems. -#[no_mangle] -pub unsafe extern "C" fn AMapplyChanges(doc: *mut AMdoc, items: *const AMitems) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let items = to_items!(items); - match Vec::::try_from(items) { - Ok(changes) => to_result(doc.apply_changes(changes)), - Err(e) => AMresult::error(&e.to_string()).into(), - } -} - -/// \memberof AMdoc -/// \brief Allocates storage for a document and initializes it by duplicating -/// the given document. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_DOC` item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMclone(doc: *const AMdoc) -> *mut AMresult { - let doc = to_doc!(doc); - to_result(doc.as_ref().clone()) -} - -/// \memberof AMdoc -/// \brief Allocates a new document and initializes it with defaults. -/// -/// \param[in] actor_id A pointer to an `AMactorId` struct or `NULL` for a -/// random one. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_DOC` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// actor_id must be a valid pointer to an AMactorId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMcreate(actor_id: *const AMactorId) -> *mut AMresult { - to_result(match actor_id.as_ref() { - Some(actor_id) => am::AutoCommit::new().with_actor(actor_id.as_ref().clone()), - None => am::AutoCommit::new(), - }) -} - -/// \memberof AMdoc -/// \brief Commits the current operations on a document with an optional -/// message and/or *nix timestamp (milliseconds). -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] message A UTF-8 string view as an `AMbyteSpan` struct. -/// \param[in] timestamp A pointer to a 64-bit integer or `NULL`. -/// \return A pointer to an `AMresult` struct with one `AM_VAL_TYPE_CHANGE_HASH` -/// item if there were operations to commit or an `AM_VAL_TYPE_VOID` item -/// if there were no operations to commit. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMcommit( - doc: *mut AMdoc, - message: AMbyteSpan, - timestamp: *const i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let mut options = CommitOptions::default(); - if !message.is_null() { - options.set_message(to_str!(message)); - } - if let Some(timestamp) = timestamp.as_ref() { - options.set_time(*timestamp); - } - to_result(doc.commit_with(options)) -} - -/// \memberof AMdoc -/// \brief Creates an empty change with an optional message and/or *nix -/// timestamp (milliseconds). -/// -/// \details This is useful if you wish to create a "merge commit" which has as -/// its dependents the current heads of the document but you don't have -/// any operations to add to the document. -/// -/// \note If there are outstanding uncommitted changes to the document -/// then two changes will be created: one for creating the outstanding -/// changes and one for the empty change. The empty change will always be -/// the latest change in the document after this call and the returned -/// hash will be the hash of that empty change. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] message A UTF-8 string view as an `AMbyteSpan` struct. -/// \param[in] timestamp A pointer to a 64-bit integer or `NULL`. -/// \return A pointer to an `AMresult` struct with one `AM_VAL_TYPE_CHANGE_HASH` -/// item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMemptyChange( - doc: *mut AMdoc, - message: AMbyteSpan, - timestamp: *const i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let mut options = CommitOptions::default(); - if !message.is_null() { - options.set_message(to_str!(message)); - } - if let Some(timestamp) = timestamp.as_ref() { - options.set_time(*timestamp); - } - to_result(doc.empty_change(options)) -} - -/// \memberof AMdoc -/// \brief Tests the equality of two documents after closing their respective -/// transactions. -/// -/// \param[in] doc1 A pointer to an `AMdoc` struct. -/// \param[in] doc2 A pointer to an `AMdoc` struct. -/// \return `true` if \p doc1 `==` \p doc2 and `false` otherwise. -/// \pre \p doc1 `!= NULL` -/// \pre \p doc2 `!= NULL` -/// \internal -/// -/// #Safety -/// doc1 must be a valid pointer to an AMdoc -/// doc2 must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMequal(doc1: *mut AMdoc, doc2: *mut AMdoc) -> bool { - match (doc1.as_mut(), doc2.as_mut()) { - (Some(doc1), Some(doc2)) => doc1.is_equal_to(doc2), - (None, None) | (None, Some(_)) | (Some(_), None) => false, - } -} - -/// \memberof AMdoc -/// \brief Forks this document at its current or a historical point for use by -/// a different actor. -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select a historical point or `NULL` to select its -/// current point. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMfork(doc: *mut AMdoc, heads: *const AMitems) -> *mut AMresult { - let doc = to_doc_mut!(doc); - match heads.as_ref() { - None => to_result(doc.fork()), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.fork_at(&heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} - -/// \memberof AMdoc -/// \brief Generates a synchronization message for a peer based upon the given -/// synchronization state. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \return A pointer to an `AMresult` struct with either an -/// `AM_VAL_TYPE_SYNC_MESSAGE` or `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p sync_state `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// sync_state must be a valid pointer to an AMsyncState -#[no_mangle] -pub unsafe extern "C" fn AMgenerateSyncMessage( - doc: *mut AMdoc, - sync_state: *mut AMsyncState, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let sync_state = to_sync_state_mut!(sync_state); - to_result(doc.sync().generate_sync_message(sync_state.as_mut())) -} - -/// \memberof AMdoc -/// \brief Gets a document's actor identifier. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_ACTOR_ID` item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMgetActorId(doc: *const AMdoc) -> *mut AMresult { - let doc = to_doc!(doc); - to_result(Ok::( - doc.get_actor().clone(), - )) -} - -/// \memberof AMdoc -/// \brief Gets the change added to a document by its respective hash. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to copy from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_CHANGE` item. -/// \pre \p doc `!= NULL` -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src') >= AM_CHANGE_HASH_SIZE` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// src must be a byte array of length `>= automerge::types::HASH_SIZE` -#[no_mangle] -pub unsafe extern "C" fn AMgetChangeByHash( - doc: *mut AMdoc, - src: *const u8, - count: usize, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let slice = std::slice::from_raw_parts(src, count); - match slice.try_into() { - Ok(change_hash) => to_result(doc.get_change_by_hash(&change_hash)), - Err(e) => AMresult::error(&e.to_string()).into(), - } -} - -/// \memberof AMdoc -/// \brief Gets the changes added to a document by their respective hashes. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] have_deps A pointer to an `AMitems` struct with -/// `AM_VAL_TYPE_CHANGE_HASH` items or `NULL`. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE` items. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMgetChanges(doc: *mut AMdoc, have_deps: *const AMitems) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let have_deps = match have_deps.as_ref() { - Some(have_deps) => match Vec::::try_from(have_deps) { - Ok(change_hashes) => change_hashes, - Err(e) => return AMresult::error(&e.to_string()).into(), - }, - None => Vec::::new(), - }; - to_result(doc.get_changes(&have_deps)) -} - -/// \memberof AMdoc -/// \brief Gets the changes added to a second document that weren't added to -/// a first document. -/// -/// \param[in] doc1 A pointer to an `AMdoc` struct. -/// \param[in] doc2 A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE` items. -/// \pre \p doc1 `!= NULL` -/// \pre \p doc2 `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc1 must be a valid pointer to an AMdoc -/// doc2 must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMgetChangesAdded(doc1: *mut AMdoc, doc2: *mut AMdoc) -> *mut AMresult { - let doc1 = to_doc_mut!(doc1); - let doc2 = to_doc_mut!(doc2); - to_result(doc1.get_changes_added(doc2)) -} - -/// \memberof AMdoc -/// \brief Gets the current heads of a document. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMgetHeads(doc: *mut AMdoc) -> *mut AMresult { - let doc = to_doc_mut!(doc); - to_result(Ok::, am::AutomergeError>( - doc.get_heads(), - )) -} - -/// \memberof AMdoc -/// \brief Gets the hashes of the changes in a document that aren't transitive -/// dependencies of the given hashes of changes. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items or `NULL`. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMgetMissingDeps(doc: *mut AMdoc, heads: *const AMitems) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let heads = match heads.as_ref() { - None => Vec::::new(), - Some(heads) => match >::try_from(heads) { - Ok(heads) => heads, - Err(e) => { - return AMresult::error(&e.to_string()).into(); - } - }, - }; - to_result(doc.get_missing_deps(heads.as_slice())) -} - -/// \memberof AMdoc -/// \brief Gets the last change made to a document. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct containing either an -/// `AM_VAL_TYPE_CHANGE` or `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMgetLastLocalChange(doc: *mut AMdoc) -> *mut AMresult { - let doc = to_doc_mut!(doc); - to_result(doc.get_last_local_change()) -} - -/// \memberof AMdoc -/// \brief Gets the current or historical keys of a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select historical keys or `NULL` to select current -/// keys. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_STR` items. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMkeys( - doc: *const AMdoc, - obj_id: *const AMobjId, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - match heads.as_ref() { - None => to_result(doc.keys(obj_id)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.keys_at(obj_id, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} - -/// \memberof AMdoc -/// \brief Allocates storage for a document and initializes it with the compact -/// form of an incremental save. -/// -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to load from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_DOC` item. -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// src must be a byte array of length `>= count` -#[no_mangle] -pub unsafe extern "C" fn AMload(src: *const u8, count: usize) -> *mut AMresult { - let data = std::slice::from_raw_parts(src, count); - to_result(am::AutoCommit::load(data)) -} - -/// \memberof AMdoc -/// \brief Loads the compact form of an incremental save into a document. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to load from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_UINT` item. -/// \pre \p doc `!= NULL` -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// src must be a byte array of length `>= count` -#[no_mangle] -pub unsafe extern "C" fn AMloadIncremental( - doc: *mut AMdoc, - src: *const u8, - count: usize, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let data = std::slice::from_raw_parts(src, count); - to_result(doc.load_incremental(data)) -} - -/// \memberof AMdoc -/// \brief Applies all of the changes in \p src which are not in \p dest to -/// \p dest. -/// -/// \param[in] dest A pointer to an `AMdoc` struct. -/// \param[in] src A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p dest `!= NULL` -/// \pre \p src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// dest must be a valid pointer to an AMdoc -/// src must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMmerge(dest: *mut AMdoc, src: *mut AMdoc) -> *mut AMresult { - let dest = to_doc_mut!(dest); - to_result(dest.merge(to_doc_mut!(src))) -} - -/// \memberof AMdoc -/// \brief Gets the current or historical size of an object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select a historical size or `NULL` to select its -/// current size. -/// \return The count of items in the object identified by \p obj_id. -/// \pre \p doc `!= NULL` -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMobjSize( - doc: *const AMdoc, - obj_id: *const AMobjId, - heads: *const AMitems, -) -> usize { - if let Some(doc) = doc.as_ref() { - let obj_id = to_obj_id!(obj_id); - match heads.as_ref() { - None => { - return doc.length(obj_id); - } - Some(heads) => { - if let Ok(heads) = >::try_from(heads) { - return doc.length_at(obj_id, &heads); - } - } - } - } - 0 -} - -/// \memberof AMdoc -/// \brief Gets the type of an object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \return An `AMobjType` tag or `0`. -/// \pre \p doc `!= NULL` -/// \pre \p obj_id `!= NULL` -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMobjObjType(doc: *const AMdoc, obj_id: *const AMobjId) -> AMobjType { - if let Some(doc) = doc.as_ref() { - let obj_id = to_obj_id!(obj_id); - if let Ok(obj_type) = doc.object_type(obj_id) { - return (&obj_type).into(); - } - } - Default::default() -} - -/// \memberof AMdoc -/// \brief Gets the current or historical items of an entire object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select its historical items or `NULL` to select -/// its current items. -/// \return A pointer to an `AMresult` struct with an `AMitems` struct. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMobjItems( - doc: *const AMdoc, - obj_id: *const AMobjId, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - match heads.as_ref() { - None => to_result(doc.values(obj_id)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.values_at(obj_id, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} - -/// \memberof AMdoc -/// \brief Gets the number of pending operations added during a document's -/// current transaction. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return The count of pending operations for \p doc. -/// \pre \p doc `!= NULL` -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMpendingOps(doc: *const AMdoc) -> usize { - if let Some(doc) = doc.as_ref() { - return doc.pending_ops(); - } - 0 -} - -/// \memberof AMdoc -/// \brief Receives a synchronization message from a peer based upon a given -/// synchronization state. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \param[in] sync_message A pointer to an `AMsyncMessage` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p sync_state `!= NULL` -/// \pre \p sync_message `!= NULL` -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// sync_state must be a valid pointer to an AMsyncState -/// sync_message must be a valid pointer to an AMsyncMessage -#[no_mangle] -pub unsafe extern "C" fn AMreceiveSyncMessage( - doc: *mut AMdoc, - sync_state: *mut AMsyncState, - sync_message: *const AMsyncMessage, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let sync_state = to_sync_state_mut!(sync_state); - let sync_message = to_sync_message!(sync_message); - to_result( - doc.sync() - .receive_sync_message(sync_state.as_mut(), sync_message.as_ref().clone()), - ) -} - -/// \memberof AMdoc -/// \brief Cancels the pending operations added during a document's current -/// transaction and gets the number of cancellations. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return The count of pending operations for \p doc that were cancelled. -/// \pre \p doc `!= NULL` -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMrollback(doc: *mut AMdoc) -> usize { - if let Some(doc) = doc.as_mut() { - return doc.rollback(); - } - 0 -} - -/// \memberof AMdoc -/// \brief Saves the entirety of a document into a compact form. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_BYTES` item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMsave(doc: *mut AMdoc) -> *mut AMresult { - let doc = to_doc_mut!(doc); - to_result(Ok(doc.save())) -} - -/// \memberof AMdoc -/// \brief Saves the changes to a document since its last save into a compact -/// form. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_BYTES` item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -#[no_mangle] -pub unsafe extern "C" fn AMsaveIncremental(doc: *mut AMdoc) -> *mut AMresult { - let doc = to_doc_mut!(doc); - to_result(Ok(doc.save_incremental())) -} - -/// \memberof AMdoc -/// \brief Puts the actor identifier of a document. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] actor_id A pointer to an `AMactorId` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p actor_id `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// actor_id must be a valid pointer to an AMactorId -#[no_mangle] -pub unsafe extern "C" fn AMsetActorId( - doc: *mut AMdoc, - actor_id: *const AMactorId, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let actor_id = to_actor_id!(actor_id); - doc.set_actor(actor_id.as_ref().clone()); - to_result(Ok(())) -} - -/// \memberof AMdoc -/// \brief Splices values into and/or removes values from the identified object -/// at a given position within it. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos A position in the object identified by \p obj_id or -/// `SIZE_MAX` to indicate one past its end. -/// \param[in] del The number of values to delete or `SIZE_MAX` to indicate -/// all of them. -/// \param[in] values A copy of an `AMitems` struct from which values will be -/// spliced starting at its current position; call -/// `AMitemsRewound()` on a used `AMitems` first to ensure -/// that all of its values are spliced in. Pass `(AMitems){0}` -/// when zero values should be spliced in. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \pre `0 <=` \p del `<= AMobjSize(`\p obj_id `)` or \p del `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// values must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMsplice( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - del: usize, - values: AMitems, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let len = doc.length(obj_id); - let pos = clamp!(pos, len, "pos"); - let del = clamp!(del, len, "del"); - match Vec::::try_from(&values) { - Ok(vals) => to_result(doc.splice(obj_id, pos, del, vals)), - Err(e) => AMresult::error(&e.to_string()).into(), - } -} - -/// \memberof AMdoc -/// \brief Splices characters into and/or removes characters from the -/// identified object at a given position within it. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos A position in the text object identified by \p obj_id or -/// `SIZE_MAX` to indicate one past its end. -/// \param[in] del The number of characters to delete or `SIZE_MAX` to indicate -/// all of them. -/// \param[in] text A UTF-8 string view as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \pre `0 <=` \p del `<= AMobjSize(`\p obj_id `)` or \p del `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMspliceText( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - del: usize, - text: AMbyteSpan, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let len = doc.length(obj_id); - let pos = clamp!(pos, len, "pos"); - let del = clamp!(del, len, "del"); - to_result(doc.splice_text(obj_id, pos, del, to_str!(text))) -} - -/// \memberof AMdoc -/// \brief Gets the current or historical string represented by a text object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] heads A pointer to an `AMitems` struct containing -/// `AM_VAL_TYPE_CHANGE_HASH` items to select a historical string -/// or `NULL` to select the current string. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_STR` item. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMtext( - doc: *const AMdoc, - obj_id: *const AMobjId, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - match heads.as_ref() { - None => to_result(doc.text(obj_id)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.text_at(obj_id, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} diff --git a/rust/automerge-c/src/doc/list.rs b/rust/automerge-c/src/doc/list.rs deleted file mode 100644 index c4503322..00000000 --- a/rust/automerge-c/src/doc/list.rs +++ /dev/null @@ -1,636 +0,0 @@ -use automerge as am; -use automerge::transaction::Transactable; -use automerge::ReadDoc; - -use crate::byte_span::{to_str, AMbyteSpan}; -use crate::doc::{to_doc, to_doc_mut, AMdoc}; -use crate::items::AMitems; -use crate::obj::{to_obj_id, to_obj_type, AMobjId, AMobjType}; -use crate::result::{to_result, AMresult}; - -macro_rules! adjust { - ($pos:expr, $insert:expr, $len:expr) => {{ - // An empty object can only be inserted into. - let insert = $insert || $len == 0; - let end = if insert { $len } else { $len - 1 }; - if $pos > end && $pos != usize::MAX { - return AMresult::error(&format!("Invalid pos {}", $pos)).into(); - } - (std::cmp::min($pos, end), insert) - }}; -} - -macro_rules! to_range { - ($begin:expr, $end:expr) => {{ - if $begin > $end { - return AMresult::error(&format!("Invalid range [{}-{})", $begin, $end)).into(); - }; - ($begin..$end) - }}; -} - -/// \memberof AMdoc -/// \brief Deletes an item from a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistDelete( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, _) = adjust!(pos, false, doc.length(obj_id)); - to_result(doc.delete(obj_id, pos)) -} - -/// \memberof AMdoc -/// \brief Gets a current or historical item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select a historical item at \p pos or `NULL` -/// to select the current item at \p pos. -/// \return A pointer to an `AMresult` struct with an `AMitem` struct. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistGet( - doc: *const AMdoc, - obj_id: *const AMobjId, - pos: usize, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, _) = adjust!(pos, false, doc.length(obj_id)); - match heads.as_ref() { - None => to_result(doc.get(obj_id, pos)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.get_at(obj_id, pos, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} - -/// \memberof AMdoc -/// \brief Gets all of the historical items at a position within a list object -/// until its current one or a specific one. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select a historical last item or `NULL` to select -/// the current last item. -/// \return A pointer to an `AMresult` struct with an `AMitems` struct. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistGetAll( - doc: *const AMdoc, - obj_id: *const AMobjId, - pos: usize, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, _) = adjust!(pos, false, doc.length(obj_id)); - match heads.as_ref() { - None => to_result(doc.get_all(obj_id, pos)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.get_all_at(obj_id, pos, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} - -/// \memberof AMdoc -/// \brief Increments a counter value in an item within a list object by the -/// given value. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistIncrement( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, _) = adjust!(pos, false, doc.length(obj_id)); - to_result(doc.increment(obj_id, pos, value)) -} - -/// \memberof AMdoc -/// \brief Puts a boolean value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A boolean. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutBool( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: bool, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - let value = am::ScalarValue::Boolean(value); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Puts an array of bytes value at a position within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A view onto the array of bytes to copy from as an -/// `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \pre \p value.src `!= NULL` -/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// value.src must be a byte array of length >= value.count -#[no_mangle] -pub unsafe extern "C" fn AMlistPutBytes( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: AMbyteSpan, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - let value: Vec = (&value).into(); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Puts a CRDT counter value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutCounter( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - let value = am::ScalarValue::Counter(value.into()); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Puts a float value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A 64-bit float. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutF64( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: f64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Puts a signed integer value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutInt( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Puts a null value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutNull( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - to_result(if insert { - doc.insert(obj_id, pos, ()) - } else { - doc.put(obj_id, pos, ()) - }) -} - -/// \memberof AMdoc -/// \brief Puts an empty object value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] obj_type An `AMobjIdType` enum tag. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_OBJ_TYPE` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutObject( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - obj_type: AMobjType, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - let obj_type = to_obj_type!(obj_type); - to_result(if insert { - (doc.insert_object(obj_id, pos, obj_type), obj_type) - } else { - (doc.put_object(obj_id, pos, obj_type), obj_type) - }) -} - -/// \memberof AMdoc -/// \brief Puts a UTF-8 string value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A UTF-8 string view as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \pre \p value.src `!= NULL` -/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// value.src must be a byte array of length >= value.count -#[no_mangle] -pub unsafe extern "C" fn AMlistPutStr( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: AMbyteSpan, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - let value = to_str!(value); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Puts a *nix timestamp (milliseconds) value into an item within a -/// list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutTimestamp( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - let value = am::ScalarValue::Timestamp(value); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Puts an unsigned integer value into an item within a list object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] pos The position of an item within the list object identified by -/// \p obj_id or `SIZE_MAX` to indicate its last item if -/// \p insert `== false` or one past its last item if -/// \p insert `== true`. -/// \param[in] insert A flag for inserting a new item for \p value before -/// \p pos instead of putting \p value into the item at -/// \p pos. -/// \param[in] value A 64-bit unsigned integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre `0 <=` \p pos `<= AMobjSize(`\p obj_id `)` or \p pos `== SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistPutUint( - doc: *mut AMdoc, - obj_id: *const AMobjId, - pos: usize, - insert: bool, - value: u64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let obj_id = to_obj_id!(obj_id); - let (pos, insert) = adjust!(pos, insert, doc.length(obj_id)); - to_result(if insert { - doc.insert(obj_id, pos, value) - } else { - doc.put(obj_id, pos, value) - }) -} - -/// \memberof AMdoc -/// \brief Gets the current or historical items in the list object within the -/// given range. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] begin The first pos in a range of indices. -/// \param[in] end At least one past the last pos in a range of indices. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select historical items or `NULL` to select -/// current items. -/// \return A pointer to an `AMresult` struct with an `AMitems` struct. -/// \pre \p doc `!= NULL` -/// \pre \p begin `<=` \p end `<= SIZE_MAX` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMlistRange( - doc: *const AMdoc, - obj_id: *const AMobjId, - begin: usize, - end: usize, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - let range = to_range!(begin, end); - match heads.as_ref() { - None => to_result(doc.list_range(obj_id, range)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.list_range_at(obj_id, range, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} diff --git a/rust/automerge-c/src/doc/map.rs b/rust/automerge-c/src/doc/map.rs deleted file mode 100644 index b2f7db02..00000000 --- a/rust/automerge-c/src/doc/map.rs +++ /dev/null @@ -1,552 +0,0 @@ -use automerge as am; -use automerge::transaction::Transactable; -use automerge::ReadDoc; - -use crate::byte_span::{to_str, AMbyteSpan}; -use crate::doc::{to_doc, to_doc_mut, AMdoc}; -use crate::items::AMitems; -use crate::obj::{to_obj_id, to_obj_type, AMobjId, AMobjType}; -use crate::result::{to_result, AMresult}; - -/// \memberof AMdoc -/// \brief Deletes an item from a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key The UTF-8 string view key of an item within the map object -/// identified by \p obj_id as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapDelete( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.delete(to_obj_id!(obj_id), key)) -} - -/// \memberof AMdoc -/// \brief Gets a current or historical item within a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key The UTF-8 string view key of an item within the map object -/// identified by \p obj_id as an `AMbyteSpan` struct. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select a historical item at \p key or `NULL` -/// to select the current item at \p key. -/// \return A pointer to an `AMresult` struct with an `AMitem` struct. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMmapGet( - doc: *const AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - let key = to_str!(key); - match heads.as_ref() { - None => to_result(doc.get(obj_id, key)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.get_at(obj_id, key, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} - -/// \memberof AMdoc -/// \brief Gets all of the historical items at a key within a map object until -/// its current one or a specific one. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key The UTF-8 string view key of an item within the map object -/// identified by \p obj_id as an `AMbyteSpan` struct. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select a historical last item or `NULL` to -/// select the current last item. -/// \return A pointer to an `AMresult` struct with an `AMItems` struct. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMmapGetAll( - doc: *const AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - let key = to_str!(key); - match heads.as_ref() { - None => to_result(doc.get_all(obj_id, key)), - Some(heads) => match >::try_from(heads) { - Ok(heads) => to_result(doc.get_all_at(obj_id, key, &heads)), - Err(e) => AMresult::error(&e.to_string()).into(), - }, - } -} - -/// \memberof AMdoc -/// \brief Increments a counter at a key in a map object by the given value. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key The UTF-8 string view key of an item within the map object -/// identified by \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapIncrement( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.increment(to_obj_id!(obj_id), key, value)) -} - -/// \memberof AMdoc -/// \brief Puts a boolean as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key The UTF-8 string view key of an item within the map object -/// identified by \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A boolean. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutBool( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: bool, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put(to_obj_id!(obj_id), key, value)) -} - -/// \memberof AMdoc -/// \brief Puts an array of bytes value at a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key The UTF-8 string view key of an item within the map object -/// identified by \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A view onto an array of bytes as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \pre \p value.src `!= NULL` -/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -/// value.src must be a byte array of length >= value.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutBytes( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: AMbyteSpan, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put(to_obj_id!(obj_id), key, Vec::::from(&value))) -} - -/// \memberof AMdoc -/// \brief Puts a CRDT counter as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutCounter( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put( - to_obj_id!(obj_id), - key, - am::ScalarValue::Counter(value.into()), - )) -} - -/// \memberof AMdoc -/// \brief Puts null as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutNull( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put(to_obj_id!(obj_id), key, ())) -} - -/// \memberof AMdoc -/// \brief Puts an empty object as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \param[in] obj_type An `AMobjIdType` enum tag. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_OBJ_TYPE` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutObject( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - obj_type: AMobjType, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - let obj_type = to_obj_type!(obj_type); - to_result((doc.put_object(to_obj_id!(obj_id), key, obj_type), obj_type)) -} - -/// \memberof AMdoc -/// \brief Puts a float as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A 64-bit float. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutF64( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: f64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put(to_obj_id!(obj_id), key, value)) -} - -/// \memberof AMdoc -/// \brief Puts a signed integer as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutInt( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put(to_obj_id!(obj_id), key, value)) -} - -/// \memberof AMdoc -/// \brief Puts a UTF-8 string as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A UTF-8 string view as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutStr( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: AMbyteSpan, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - to_result(doc.put(to_obj_id!(obj_id), to_str!(key), to_str!(value))) -} - -/// \memberof AMdoc -/// \brief Puts a *nix timestamp (milliseconds) as the value of a key in a map -/// object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutTimestamp( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: i64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put(to_obj_id!(obj_id), key, am::ScalarValue::Timestamp(value))) -} - -/// \memberof AMdoc -/// \brief Puts an unsigned integer as the value of a key in a map object. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] key A UTF-8 string view key for the map object identified by -/// \p obj_id as an `AMbyteSpan` struct. -/// \param[in] value A 64-bit unsigned integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_VOID` item. -/// \pre \p doc `!= NULL` -/// \pre \p key.src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// key.src must be a byte array of length >= key.count -#[no_mangle] -pub unsafe extern "C" fn AMmapPutUint( - doc: *mut AMdoc, - obj_id: *const AMobjId, - key: AMbyteSpan, - value: u64, -) -> *mut AMresult { - let doc = to_doc_mut!(doc); - let key = to_str!(key); - to_result(doc.put(to_obj_id!(obj_id), key, value)) -} - -/// \memberof AMdoc -/// \brief Gets the current or historical items of the map object within the -/// given range. -/// -/// \param[in] doc A pointer to an `AMdoc` struct. -/// \param[in] obj_id A pointer to an `AMobjId` struct or `AM_ROOT`. -/// \param[in] begin The first key in a subrange or `AMstr(NULL)` to indicate the -/// absolute first key. -/// \param[in] end The key one past the last key in a subrange or `AMstr(NULL)` -/// to indicate one past the absolute last key. -/// \param[in] heads A pointer to an `AMitems` struct with `AM_VAL_TYPE_CHANGE_HASH` -/// items to select historical items or `NULL` to select -/// current items. -/// \return A pointer to an `AMresult` struct with an `AMitems` struct. -/// \pre \p doc `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// doc must be a valid pointer to an AMdoc -/// obj_id must be a valid pointer to an AMobjId or std::ptr::null() -/// begin.src must be a byte array of length >= begin.count or std::ptr::null() -/// end.src must be a byte array of length >= end.count or std::ptr::null() -/// heads must be a valid pointer to an AMitems or std::ptr::null() -#[no_mangle] -pub unsafe extern "C" fn AMmapRange( - doc: *const AMdoc, - obj_id: *const AMobjId, - begin: AMbyteSpan, - end: AMbyteSpan, - heads: *const AMitems, -) -> *mut AMresult { - let doc = to_doc!(doc); - let obj_id = to_obj_id!(obj_id); - let heads = match heads.as_ref() { - None => None, - Some(heads) => match >::try_from(heads) { - Ok(heads) => Some(heads), - Err(e) => { - return AMresult::error(&e.to_string()).into(); - } - }, - }; - match (begin.is_null(), end.is_null()) { - (false, false) => { - let (begin, end) = (to_str!(begin).to_string(), to_str!(end).to_string()); - if begin > end { - return AMresult::error(&format!("Invalid range [{}-{})", begin, end)).into(); - }; - let bounds = begin..end; - if let Some(heads) = heads { - to_result(doc.map_range_at(obj_id, bounds, &heads)) - } else { - to_result(doc.map_range(obj_id, bounds)) - } - } - (false, true) => { - let bounds = to_str!(begin).to_string()..; - if let Some(heads) = heads { - to_result(doc.map_range_at(obj_id, bounds, &heads)) - } else { - to_result(doc.map_range(obj_id, bounds)) - } - } - (true, false) => { - let bounds = ..to_str!(end).to_string(); - if let Some(heads) = heads { - to_result(doc.map_range_at(obj_id, bounds, &heads)) - } else { - to_result(doc.map_range(obj_id, bounds)) - } - } - (true, true) => { - let bounds = ..; - if let Some(heads) = heads { - to_result(doc.map_range_at(obj_id, bounds, &heads)) - } else { - to_result(doc.map_range(obj_id, bounds)) - } - } - } -} diff --git a/rust/automerge-c/src/doc/utils.rs b/rust/automerge-c/src/doc/utils.rs deleted file mode 100644 index ce465b84..00000000 --- a/rust/automerge-c/src/doc/utils.rs +++ /dev/null @@ -1,46 +0,0 @@ -macro_rules! clamp { - ($index:expr, $len:expr, $param_name:expr) => {{ - if $index > $len && $index != usize::MAX { - return AMresult::error(&format!("Invalid {} {}", $param_name, $index)).into(); - } - std::cmp::min($index, $len) - }}; -} - -pub(crate) use clamp; - -macro_rules! to_doc { - ($handle:expr) => {{ - let handle = $handle.as_ref(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMdoc*`").into(), - } - }}; -} - -pub(crate) use to_doc; - -macro_rules! to_doc_mut { - ($handle:expr) => {{ - let handle = $handle.as_mut(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMdoc*`").into(), - } - }}; -} - -pub(crate) use to_doc_mut; - -macro_rules! to_items { - ($handle:expr) => {{ - let handle = $handle.as_ref(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMitems*`").into(), - } - }}; -} - -pub(crate) use to_items; diff --git a/rust/automerge-c/src/index.rs b/rust/automerge-c/src/index.rs deleted file mode 100644 index f1ea153b..00000000 --- a/rust/automerge-c/src/index.rs +++ /dev/null @@ -1,84 +0,0 @@ -use automerge as am; - -use std::any::type_name; - -use smol_str::SmolStr; - -use crate::byte_span::AMbyteSpan; - -/// \struct AMindex -/// \installed_headerfile -/// \brief An item index. -#[derive(PartialEq)] -pub enum AMindex { - /// A UTF-8 string key variant. - Key(SmolStr), - /// A 64-bit unsigned integer position variant. - Pos(usize), -} - -impl TryFrom<&AMindex> for AMbyteSpan { - type Error = am::AutomergeError; - - fn try_from(item: &AMindex) -> Result { - use am::AutomergeError::InvalidValueType; - use AMindex::*; - - if let Key(key) = item { - return Ok(key.into()); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -impl TryFrom<&AMindex> for usize { - type Error = am::AutomergeError; - - fn try_from(item: &AMindex) -> Result { - use am::AutomergeError::InvalidValueType; - use AMindex::*; - - if let Pos(pos) = item { - return Ok(*pos); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -/// \ingroup enumerations -/// \enum AMidxType -/// \installed_headerfile -/// \brief The type of an item's index. -#[derive(PartialEq, Eq)] -#[repr(u8)] -pub enum AMidxType { - /// The default tag, not a type signifier. - Default = 0, - /// A UTF-8 string view key. - Key, - /// A 64-bit unsigned integer position. - Pos, -} - -impl Default for AMidxType { - fn default() -> Self { - Self::Default - } -} - -impl From<&AMindex> for AMidxType { - fn from(index: &AMindex) -> Self { - use AMindex::*; - - match index { - Key(_) => Self::Key, - Pos(_) => Self::Pos, - } - } -} diff --git a/rust/automerge-c/src/item.rs b/rust/automerge-c/src/item.rs deleted file mode 100644 index 94735464..00000000 --- a/rust/automerge-c/src/item.rs +++ /dev/null @@ -1,1963 +0,0 @@ -use automerge as am; - -use std::any::type_name; -use std::borrow::Cow; -use std::cell::{RefCell, UnsafeCell}; -use std::rc::Rc; - -use crate::actor_id::AMactorId; -use crate::byte_span::{to_str, AMbyteSpan}; -use crate::change::AMchange; -use crate::doc::AMdoc; -use crate::index::{AMidxType, AMindex}; -use crate::obj::AMobjId; -use crate::result::{to_result, AMresult}; -use crate::sync::{AMsyncHave, AMsyncMessage, AMsyncState}; - -/// \struct AMunknownValue -/// \installed_headerfile -/// \brief A value (typically for a `set` operation) whose type is unknown. -#[derive(Default, Eq, PartialEq)] -#[repr(C)] -pub struct AMunknownValue { - /// The value's raw bytes. - bytes: AMbyteSpan, - /// The value's encoded type identifier. - type_code: u8, -} - -pub enum Value { - ActorId(am::ActorId, UnsafeCell>), - Change(Box, UnsafeCell>), - ChangeHash(am::ChangeHash), - Doc(RefCell), - SyncHave(AMsyncHave), - SyncMessage(AMsyncMessage), - SyncState(RefCell), - Value(am::Value<'static>), -} - -impl Value { - pub fn try_into_bytes(&self) -> Result { - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Self::Value(Scalar(scalar)) = &self { - if let Bytes(vector) = scalar.as_ref() { - return Ok(vector.as_slice().into()); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } - - pub fn try_into_change_hash(&self) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Self::ChangeHash(change_hash) = &self { - return Ok(change_hash.into()); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } - - pub fn try_into_counter(&self) -> Result { - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Self::Value(Scalar(scalar)) = &self { - if let Counter(counter) = scalar.as_ref() { - return Ok(counter.into()); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } - - pub fn try_into_int(&self) -> Result { - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Self::Value(Scalar(scalar)) = &self { - if let Int(int) = scalar.as_ref() { - return Ok(*int); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } - - pub fn try_into_str(&self) -> Result { - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Self::Value(Scalar(scalar)) = &self { - if let Str(smol_str) = scalar.as_ref() { - return Ok(smol_str.into()); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } - - pub fn try_into_timestamp(&self) -> Result { - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Self::Value(Scalar(scalar)) = &self { - if let Timestamp(timestamp) = scalar.as_ref() { - return Ok(*timestamp); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -impl From for Value { - fn from(actor_id: am::ActorId) -> Self { - Self::ActorId(actor_id, Default::default()) - } -} - -impl From for Value { - fn from(auto_commit: am::AutoCommit) -> Self { - Self::Doc(RefCell::new(AMdoc::new(auto_commit))) - } -} - -impl From for Value { - fn from(change: am::Change) -> Self { - Self::Change(Box::new(change), Default::default()) - } -} - -impl From for Value { - fn from(change_hash: am::ChangeHash) -> Self { - Self::ChangeHash(change_hash) - } -} - -impl From for Value { - fn from(have: am::sync::Have) -> Self { - Self::SyncHave(AMsyncHave::new(have)) - } -} - -impl From for Value { - fn from(message: am::sync::Message) -> Self { - Self::SyncMessage(AMsyncMessage::new(message)) - } -} - -impl From for Value { - fn from(state: am::sync::State) -> Self { - Self::SyncState(RefCell::new(AMsyncState::new(state))) - } -} - -impl From> for Value { - fn from(value: am::Value<'static>) -> Self { - Self::Value(value) - } -} - -impl From for Value { - fn from(string: String) -> Self { - Self::Value(am::Value::Scalar(Cow::Owned(am::ScalarValue::Str( - string.into(), - )))) - } -} - -impl<'a> TryFrom<&'a Value> for &'a am::Change { - type Error = am::AutomergeError; - - fn try_from(value: &'a Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - Change(change, _) => Ok(change), - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl<'a> TryFrom<&'a Value> for &'a am::ChangeHash { - type Error = am::AutomergeError; - - fn try_from(value: &'a Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - ChangeHash(change_hash) => Ok(change_hash), - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl<'a> TryFrom<&'a Value> for &'a am::ScalarValue { - type Error = am::AutomergeError; - - fn try_from(value: &'a Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - use am::Value::*; - - if let Value(Scalar(scalar)) = value { - return Ok(scalar.as_ref()); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -impl<'a> TryFrom<&'a Value> for &'a AMactorId { - type Error = am::AutomergeError; - - fn try_from(value: &'a Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - ActorId(actor_id, c_actor_id) => unsafe { - Ok((*c_actor_id.get()).get_or_insert(AMactorId::new(actor_id))) - }, - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl<'a> TryFrom<&'a mut Value> for &'a mut AMchange { - type Error = am::AutomergeError; - - fn try_from(value: &'a mut Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - Change(change, c_change) => unsafe { - Ok((*c_change.get()).get_or_insert(AMchange::new(change))) - }, - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl<'a> TryFrom<&'a mut Value> for &'a mut AMdoc { - type Error = am::AutomergeError; - - fn try_from(value: &'a mut Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - Doc(doc) => Ok(doc.get_mut()), - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl<'a> TryFrom<&'a Value> for &'a AMsyncHave { - type Error = am::AutomergeError; - - fn try_from(value: &'a Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - SyncHave(sync_have) => Ok(sync_have), - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl<'a> TryFrom<&'a Value> for &'a AMsyncMessage { - type Error = am::AutomergeError; - - fn try_from(value: &'a Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - SyncMessage(sync_message) => Ok(sync_message), - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl<'a> TryFrom<&'a mut Value> for &'a mut AMsyncState { - type Error = am::AutomergeError; - - fn try_from(value: &'a mut Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - - match value { - SyncState(sync_state) => Ok(sync_state.get_mut()), - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} - -impl TryFrom<&Value> for bool { - type Error = am::AutomergeError; - - fn try_from(value: &Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Value(Scalar(scalar)) = value { - if let Boolean(boolean) = scalar.as_ref() { - return Ok(*boolean); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -impl TryFrom<&Value> for f64 { - type Error = am::AutomergeError; - - fn try_from(value: &Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Value(Scalar(scalar)) = value { - if let F64(float) = scalar.as_ref() { - return Ok(*float); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -impl TryFrom<&Value> for u64 { - type Error = am::AutomergeError; - - fn try_from(value: &Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Value(Scalar(scalar)) = value { - if let Uint(uint) = scalar.as_ref() { - return Ok(*uint); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -impl TryFrom<&Value> for AMunknownValue { - type Error = am::AutomergeError; - - fn try_from(value: &Value) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidValueType; - use am::ScalarValue::*; - use am::Value::*; - - if let Value(Scalar(scalar)) = value { - if let Unknown { bytes, type_code } = scalar.as_ref() { - return Ok(Self { - bytes: bytes.as_slice().into(), - type_code: *type_code, - }); - } - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }) - } -} - -impl PartialEq for Value { - fn eq(&self, other: &Self) -> bool { - use self::Value::*; - - match (self, other) { - (ActorId(lhs, _), ActorId(rhs, _)) => *lhs == *rhs, - (Change(lhs, _), Change(rhs, _)) => lhs == rhs, - (ChangeHash(lhs), ChangeHash(rhs)) => lhs == rhs, - (Doc(lhs), Doc(rhs)) => lhs.as_ptr() == rhs.as_ptr(), - (SyncMessage(lhs), SyncMessage(rhs)) => *lhs == *rhs, - (SyncState(lhs), SyncState(rhs)) => *lhs == *rhs, - (Value(lhs), Value(rhs)) => lhs == rhs, - _ => false, - } - } -} - -#[derive(Default)] -pub struct Item { - /// The item's index. - index: Option, - /// The item's identifier. - obj_id: Option, - /// The item's value. - value: Option, -} - -impl Item { - pub fn try_into_bytes(&self) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &self.value { - return value.try_into_bytes(); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - - pub fn try_into_change_hash(&self) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &self.value { - return value.try_into_change_hash(); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - - pub fn try_into_counter(&self) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &self.value { - return value.try_into_counter(); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - - pub fn try_into_int(&self) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &self.value { - return value.try_into_int(); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - - pub fn try_into_str(&self) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &self.value { - return value.try_into_str(); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - - pub fn try_into_timestamp(&self) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &self.value { - return value.try_into_timestamp(); - } - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } -} - -impl From for Item { - fn from(actor_id: am::ActorId) -> Self { - Value::from(actor_id).into() - } -} - -impl From for Item { - fn from(auto_commit: am::AutoCommit) -> Self { - Value::from(auto_commit).into() - } -} - -impl From for Item { - fn from(change: am::Change) -> Self { - Value::from(change).into() - } -} - -impl From for Item { - fn from(change_hash: am::ChangeHash) -> Self { - Value::from(change_hash).into() - } -} - -impl From<(am::ObjId, am::ObjType)> for Item { - fn from((obj_id, obj_type): (am::ObjId, am::ObjType)) -> Self { - Self { - index: None, - obj_id: Some(AMobjId::new(obj_id)), - value: Some(am::Value::Object(obj_type).into()), - } - } -} - -impl From for Item { - fn from(have: am::sync::Have) -> Self { - Value::from(have).into() - } -} - -impl From for Item { - fn from(message: am::sync::Message) -> Self { - Value::from(message).into() - } -} - -impl From for Item { - fn from(state: am::sync::State) -> Self { - Value::from(state).into() - } -} - -impl From> for Item { - fn from(value: am::Value<'static>) -> Self { - Value::from(value).into() - } -} - -impl From for Item { - fn from(string: String) -> Self { - Value::from(string).into() - } -} - -impl From for Item { - fn from(value: Value) -> Self { - Self { - index: None, - obj_id: None, - value: Some(value), - } - } -} - -impl PartialEq for Item { - fn eq(&self, other: &Self) -> bool { - self.index == other.index && self.obj_id == other.obj_id && self.value == other.value - } -} - -impl<'a> TryFrom<&'a Item> for &'a am::Change { - type Error = am::AutomergeError; - - fn try_from(item: &'a Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl<'a> TryFrom<&'a Item> for &'a am::ChangeHash { - type Error = am::AutomergeError; - - fn try_from(item: &'a Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl<'a> TryFrom<&'a Item> for &'a am::ScalarValue { - type Error = am::AutomergeError; - - fn try_from(item: &'a Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl<'a> TryFrom<&'a Item> for &'a AMactorId { - type Error = am::AutomergeError; - - fn try_from(item: &'a Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl<'a> TryFrom<&'a mut Item> for &'a mut AMchange { - type Error = am::AutomergeError; - - fn try_from(item: &'a mut Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &mut item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl<'a> TryFrom<&'a mut Item> for &'a mut AMdoc { - type Error = am::AutomergeError; - - fn try_from(item: &'a mut Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &mut item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl From<&Item> for AMidxType { - fn from(item: &Item) -> Self { - if let Some(index) = &item.index { - return index.into(); - } - Default::default() - } -} - -impl<'a> TryFrom<&'a Item> for &'a AMsyncHave { - type Error = am::AutomergeError; - - fn try_from(item: &'a Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl<'a> TryFrom<&'a Item> for &'a AMsyncMessage { - type Error = am::AutomergeError; - - fn try_from(item: &'a Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl<'a> TryFrom<&'a mut Item> for &'a mut AMsyncState { - type Error = am::AutomergeError; - - fn try_from(item: &'a mut Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &mut item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl TryFrom<&Item> for bool { - type Error = am::AutomergeError; - - fn try_from(item: &Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl TryFrom<&Item> for f64 { - type Error = am::AutomergeError; - - fn try_from(item: &Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl TryFrom<&Item> for u64 { - type Error = am::AutomergeError; - - fn try_from(item: &Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl TryFrom<&Item> for AMunknownValue { - type Error = am::AutomergeError; - - fn try_from(item: &Item) -> Result { - use am::AutomergeError::InvalidValueType; - - if let Some(value) = &item.value { - value.try_into() - } else { - Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::>().to_string(), - }) - } - } -} - -impl TryFrom<&Item> for (am::Value<'static>, am::ObjId) { - type Error = am::AutomergeError; - - fn try_from(item: &Item) -> Result { - use self::Value::*; - use am::AutomergeError::InvalidObjId; - use am::AutomergeError::InvalidValueType; - - let expected = type_name::().to_string(); - match (&item.obj_id, &item.value) { - (None, None) | (None, Some(_)) => Err(InvalidObjId("".to_string())), - (Some(_), None) => Err(InvalidValueType { - expected, - unexpected: type_name::>().to_string(), - }), - (Some(obj_id), Some(value)) => match value { - ActorId(_, _) => Err(InvalidValueType { - expected, - unexpected: type_name::().to_string(), - }), - ChangeHash(_) => Err(InvalidValueType { - expected, - unexpected: type_name::().to_string(), - }), - Change(_, _) => Err(InvalidValueType { - expected, - unexpected: type_name::().to_string(), - }), - Doc(_) => Err(InvalidValueType { - expected, - unexpected: type_name::().to_string(), - }), - SyncHave(_) => Err(InvalidValueType { - expected, - unexpected: type_name::().to_string(), - }), - SyncMessage(_) => Err(InvalidValueType { - expected, - unexpected: type_name::().to_string(), - }), - SyncState(_) => Err(InvalidValueType { - expected, - unexpected: type_name::().to_string(), - }), - Value(v) => Ok((v.clone(), obj_id.as_ref().clone())), - }, - } - } -} - -/// \struct AMitem -/// \installed_headerfile -/// \brief An item within a result. -#[derive(Clone)] -pub struct AMitem(Rc); - -impl AMitem { - pub fn exact(obj_id: am::ObjId, value: Value) -> Self { - Self(Rc::new(Item { - index: None, - obj_id: Some(AMobjId::new(obj_id)), - value: Some(value), - })) - } - - pub fn indexed(index: AMindex, obj_id: am::ObjId, value: Value) -> Self { - Self(Rc::new(Item { - index: Some(index), - obj_id: Some(AMobjId::new(obj_id)), - value: Some(value), - })) - } -} - -impl AsRef for AMitem { - fn as_ref(&self) -> &Item { - self.0.as_ref() - } -} - -impl Default for AMitem { - fn default() -> Self { - Self(Rc::new(Item { - index: None, - obj_id: None, - value: None, - })) - } -} - -impl From for AMitem { - fn from(actor_id: am::ActorId) -> Self { - Value::from(actor_id).into() - } -} - -impl From for AMitem { - fn from(auto_commit: am::AutoCommit) -> Self { - Value::from(auto_commit).into() - } -} - -impl From for AMitem { - fn from(change: am::Change) -> Self { - Value::from(change).into() - } -} - -impl From for AMitem { - fn from(change_hash: am::ChangeHash) -> Self { - Value::from(change_hash).into() - } -} - -impl From<(am::ObjId, am::ObjType)> for AMitem { - fn from((obj_id, obj_type): (am::ObjId, am::ObjType)) -> Self { - Self(Rc::new(Item::from((obj_id, obj_type)))) - } -} - -impl From for AMitem { - fn from(have: am::sync::Have) -> Self { - Value::from(have).into() - } -} - -impl From for AMitem { - fn from(message: am::sync::Message) -> Self { - Value::from(message).into() - } -} - -impl From for AMitem { - fn from(state: am::sync::State) -> Self { - Value::from(state).into() - } -} - -impl From> for AMitem { - fn from(value: am::Value<'static>) -> Self { - Value::from(value).into() - } -} - -impl From for AMitem { - fn from(string: String) -> Self { - Value::from(string).into() - } -} - -impl From for AMitem { - fn from(value: Value) -> Self { - Self(Rc::new(Item::from(value))) - } -} - -impl PartialEq for AMitem { - fn eq(&self, other: &Self) -> bool { - self.as_ref() == other.as_ref() - } -} - -impl<'a> TryFrom<&'a AMitem> for &'a am::Change { - type Error = am::AutomergeError; - - fn try_from(item: &'a AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl<'a> TryFrom<&'a AMitem> for &'a am::ChangeHash { - type Error = am::AutomergeError; - - fn try_from(item: &'a AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl<'a> TryFrom<&'a AMitem> for &'a am::ScalarValue { - type Error = am::AutomergeError; - - fn try_from(item: &'a AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl<'a> TryFrom<&'a AMitem> for &'a AMactorId { - type Error = am::AutomergeError; - - fn try_from(item: &'a AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl<'a> TryFrom<&'a mut AMitem> for &'a mut AMchange { - type Error = am::AutomergeError; - - fn try_from(item: &'a mut AMitem) -> Result { - if let Some(item) = Rc::get_mut(&mut item.0) { - item.try_into() - } else { - Err(Self::Error::Fail) - } - } -} - -impl<'a> TryFrom<&'a mut AMitem> for &'a mut AMdoc { - type Error = am::AutomergeError; - - fn try_from(item: &'a mut AMitem) -> Result { - if let Some(item) = Rc::get_mut(&mut item.0) { - item.try_into() - } else { - Err(Self::Error::Fail) - } - } -} - -impl<'a> TryFrom<&'a AMitem> for &'a AMsyncHave { - type Error = am::AutomergeError; - - fn try_from(item: &'a AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl<'a> TryFrom<&'a AMitem> for &'a AMsyncMessage { - type Error = am::AutomergeError; - - fn try_from(item: &'a AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl<'a> TryFrom<&'a mut AMitem> for &'a mut AMsyncState { - type Error = am::AutomergeError; - - fn try_from(item: &'a mut AMitem) -> Result { - if let Some(item) = Rc::get_mut(&mut item.0) { - item.try_into() - } else { - Err(Self::Error::Fail) - } - } -} - -impl TryFrom<&AMitem> for bool { - type Error = am::AutomergeError; - - fn try_from(item: &AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl TryFrom<&AMitem> for f64 { - type Error = am::AutomergeError; - - fn try_from(item: &AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl TryFrom<&AMitem> for u64 { - type Error = am::AutomergeError; - - fn try_from(item: &AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl TryFrom<&AMitem> for AMunknownValue { - type Error = am::AutomergeError; - - fn try_from(item: &AMitem) -> Result { - item.as_ref().try_into() - } -} - -impl TryFrom<&AMitem> for (am::Value<'static>, am::ObjId) { - type Error = am::AutomergeError; - - fn try_from(item: &AMitem) -> Result { - item.as_ref().try_into() - } -} - -/// \ingroup enumerations -/// \enum AMvalType -/// \installed_headerfile -/// \brief The type of an item's value. -#[derive(PartialEq, Eq)] -#[repr(u32)] -pub enum AMvalType { - /// An actor identifier value. - ActorId = 1 << 1, - /// A boolean value. - Bool = 1 << 2, - /// A view onto an array of bytes value. - Bytes = 1 << 3, - /// A change value. - Change = 1 << 4, - /// A change hash value. - ChangeHash = 1 << 5, - /// A CRDT counter value. - Counter = 1 << 6, - /// The default tag, not a type signifier. - Default = 0, - /// A document value. - Doc = 1 << 7, - /// A 64-bit float value. - F64 = 1 << 8, - /// A 64-bit signed integer value. - Int = 1 << 9, - /// A null value. - Null = 1 << 10, - /// An object type value. - ObjType = 1 << 11, - /// A UTF-8 string view value. - Str = 1 << 12, - /// A synchronization have value. - SyncHave = 1 << 13, - /// A synchronization message value. - SyncMessage = 1 << 14, - /// A synchronization state value. - SyncState = 1 << 15, - /// A *nix timestamp (milliseconds) value. - Timestamp = 1 << 16, - /// A 64-bit unsigned integer value. - Uint = 1 << 17, - /// An unknown type of value. - Unknown = 1 << 18, - /// A void. - Void = 1 << 0, -} - -impl Default for AMvalType { - fn default() -> Self { - Self::Default - } -} - -impl From<&am::Value<'static>> for AMvalType { - fn from(value: &am::Value<'static>) -> Self { - use am::ScalarValue::*; - use am::Value::*; - - match value { - Object(_) => Self::ObjType, - Scalar(scalar) => match scalar.as_ref() { - Boolean(_) => Self::Bool, - Bytes(_) => Self::Bytes, - Counter(_) => Self::Counter, - F64(_) => Self::F64, - Int(_) => Self::Int, - Null => Self::Null, - Str(_) => Self::Str, - Timestamp(_) => Self::Timestamp, - Uint(_) => Self::Uint, - Unknown { .. } => Self::Unknown, - }, - } - } -} - -impl From<&Value> for AMvalType { - fn from(value: &Value) -> Self { - use self::Value::*; - - match value { - ActorId(_, _) => Self::ActorId, - Change(_, _) => Self::Change, - ChangeHash(_) => Self::ChangeHash, - Doc(_) => Self::Doc, - SyncHave(_) => Self::SyncHave, - SyncMessage(_) => Self::SyncMessage, - SyncState(_) => Self::SyncState, - Value(v) => v.into(), - } - } -} - -impl From<&Item> for AMvalType { - fn from(item: &Item) -> Self { - if let Some(value) = &item.value { - return value.into(); - } - Self::Void - } -} - -/// \memberof AMitem -/// \brief Tests the equality of two items. -/// -/// \param[in] item1 A pointer to an `AMitem` struct. -/// \param[in] item2 A pointer to an `AMitem` struct. -/// \return `true` if \p item1 `==` \p item2 and `false` otherwise. -/// \pre \p item1 `!= NULL` -/// \pre \p item2 `!= NULL` -/// \post `!(`\p item1 `&&` \p item2 `) -> false` -/// \internal -/// -/// #Safety -/// item1 must be a valid AMitem pointer -/// item2 must be a valid AMitem pointer -#[no_mangle] -pub unsafe extern "C" fn AMitemEqual(item1: *const AMitem, item2: *const AMitem) -> bool { - match (item1.as_ref(), item2.as_ref()) { - (Some(item1), Some(item2)) => *item1 == *item2, - (None, None) | (None, Some(_)) | (Some(_), None) => false, - } -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a boolean value. -/// -/// \param[in] value A boolean. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_BOOL` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMitemFromBool(value: bool) -> *mut AMresult { - AMresult::item(am::Value::from(value).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from an array of bytes value. -/// -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to copy from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_BYTES` item. -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// value.src must be a byte array of length >= value.count -#[no_mangle] -pub unsafe extern "C" fn AMitemFromBytes(src: *const u8, count: usize) -> *mut AMresult { - let value = std::slice::from_raw_parts(src, count); - AMresult::item(am::Value::bytes(value.to_vec()).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a change hash value. -/// -/// \param[in] value A change hash as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_CHANGE_HASH` item. -/// \pre \p value.src `!= NULL` -/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// value.src must be a byte array of length >= value.count -#[no_mangle] -pub unsafe extern "C" fn AMitemFromChangeHash(value: AMbyteSpan) -> *mut AMresult { - to_result(am::ChangeHash::try_from(&value)) -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a CRDT counter value. -/// -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_COUNTER` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMitemFromCounter(value: i64) -> *mut AMresult { - AMresult::item(am::Value::counter(value).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a float value. -/// -/// \param[in] value A 64-bit float. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_F64` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMitemFromF64(value: f64) -> *mut AMresult { - AMresult::item(am::Value::f64(value).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a signed integer value. -/// -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_INT` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMitemFromInt(value: i64) -> *mut AMresult { - AMresult::item(am::Value::int(value).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a null value. -/// -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_NULL` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMitemFromNull() -> *mut AMresult { - AMresult::item(am::Value::from(()).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a UTF-8 string value. -/// -/// \param[in] value A UTF-8 string view as an `AMbyteSpan` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_STR` item. -/// \pre \p value.src `!= NULL` -/// \pre `0 <` \p value.count `<= sizeof(`\p value.src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// value.src must be a byte array of length >= value.count -#[no_mangle] -pub unsafe extern "C" fn AMitemFromStr(value: AMbyteSpan) -> *mut AMresult { - AMresult::item(am::Value::str(to_str!(value)).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from a *nix timestamp -/// (milliseconds) value. -/// -/// \param[in] value A 64-bit signed integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_TIMESTAMP` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMitemFromTimestamp(value: i64) -> *mut AMresult { - AMresult::item(am::Value::timestamp(value).into()).into() -} - -/// \memberof AMitem -/// \brief Allocates a new item and initializes it from an unsigned integer value. -/// -/// \param[in] value A 64-bit unsigned integer. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_UINT` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub unsafe extern "C" fn AMitemFromUint(value: u64) -> *mut AMresult { - AMresult::item(am::Value::uint(value).into()).into() -} - -/// \memberof AMitem -/// \brief Gets the type of an item's index. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \return An `AMidxType` enum tag. -/// \pre \p item `!= NULL` -/// \post `(`\p item `== NULL) -> 0` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemIdxType(item: *const AMitem) -> AMidxType { - if let Some(item) = item.as_ref() { - return item.0.as_ref().into(); - } - Default::default() -} - -/// \memberof AMitem -/// \brief Gets the object identifier of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \return A pointer to an `AMobjId` struct. -/// \pre \p item `!= NULL` -/// \post `(`\p item `== NULL) -> NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemObjId(item: *const AMitem) -> *const AMobjId { - if let Some(item) = item.as_ref() { - if let Some(obj_id) = &item.as_ref().obj_id { - return obj_id; - } - } - std::ptr::null() -} - -/// \memberof AMitem -/// \brief Gets the UTF-8 string view key index of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a UTF-8 string view as an `AMbyteSpan` struct. -/// \return `true` if `AMitemIdxType(`\p item `) == AM_IDX_TYPE_KEY` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemKey(item: *const AMitem, value: *mut AMbyteSpan) -> bool { - if let Some(item) = item.as_ref() { - if let Some(index) = &item.as_ref().index { - if let Ok(key) = index.try_into() { - if !value.is_null() { - *value = key; - return true; - } - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the unsigned integer position index of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a `size_t`. -/// \return `true` if `AMitemIdxType(`\p item `) == AM_IDX_TYPE_POS` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemPos(item: *const AMitem, value: *mut usize) -> bool { - if let Some(item) = item.as_ref() { - if let Some(index) = &item.as_ref().index { - if let Ok(pos) = index.try_into() { - if !value.is_null() { - *value = pos; - return true; - } - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the reference count of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \return A 64-bit unsigned integer. -/// \pre \p item `!= NULL` -/// \post `(`\p item `== NULL) -> 0` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemRefCount(item: *const AMitem) -> usize { - if let Some(item) = item.as_ref() { - return Rc::strong_count(&item.0); - } - 0 -} - -/// \memberof AMitem -/// \brief Gets a new result for an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \return A pointer to an `AMresult` struct. -/// \pre \p item `!= NULL` -/// \post `(`\p item `== NULL) -> NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemResult(item: *const AMitem) -> *mut AMresult { - if let Some(item) = item.as_ref() { - return AMresult::item(item.clone()).into(); - } - std::ptr::null_mut() -} - -/// \memberof AMitem -/// \brief Gets the actor identifier value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMactorId` struct pointer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_ACTOR_ID` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToActorId( - item: *const AMitem, - value: *mut *const AMactorId, -) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(actor_id) = <&AMactorId>::try_from(item) { - if !value.is_null() { - *value = actor_id; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the boolean value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a boolean. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_BOOL` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToBool(item: *const AMitem, value: *mut bool) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(boolean) = item.try_into() { - if !value.is_null() { - *value = boolean; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the array of bytes value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMbyteSpan` struct. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_BYTES` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToBytes(item: *const AMitem, value: *mut AMbyteSpan) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(bytes) = item.as_ref().try_into_bytes() { - if !value.is_null() { - *value = bytes; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the change value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMchange` struct pointer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_CHANGE` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToChange(item: *mut AMitem, value: *mut *mut AMchange) -> bool { - if let Some(item) = item.as_mut() { - if let Ok(change) = <&mut AMchange>::try_from(item) { - if !value.is_null() { - *value = change; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the change hash value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMbyteSpan` struct. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_CHANGE_HASH` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToChangeHash(item: *const AMitem, value: *mut AMbyteSpan) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(change_hash) = item.as_ref().try_into_change_hash() { - if !value.is_null() { - *value = change_hash; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the CRDT counter value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a signed 64-bit integer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_COUNTER` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToCounter(item: *const AMitem, value: *mut i64) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(counter) = item.as_ref().try_into_counter() { - if !value.is_null() { - *value = counter; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the document value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMdoc` struct pointer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_DOC` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToDoc(item: *mut AMitem, value: *mut *const AMdoc) -> bool { - if let Some(item) = item.as_mut() { - if let Ok(doc) = <&mut AMdoc>::try_from(item) { - if !value.is_null() { - *value = doc; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the float value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a 64-bit float. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_F64` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToF64(item: *const AMitem, value: *mut f64) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(float) = item.try_into() { - if !value.is_null() { - *value = float; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the integer value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a signed 64-bit integer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_INT` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToInt(item: *const AMitem, value: *mut i64) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(int) = item.as_ref().try_into_int() { - if !value.is_null() { - *value = int; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the UTF-8 string view value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a UTF-8 string view as an `AMbyteSpan` struct. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_STR` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToStr(item: *const AMitem, value: *mut AMbyteSpan) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(str) = item.as_ref().try_into_str() { - if !value.is_null() { - *value = str; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the synchronization have value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMsyncHave` struct pointer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_SYNC_HAVE` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToSyncHave( - item: *const AMitem, - value: *mut *const AMsyncHave, -) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(sync_have) = <&AMsyncHave>::try_from(item) { - if !value.is_null() { - *value = sync_have; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the synchronization message value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMsyncMessage` struct pointer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_SYNC_MESSAGE` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToSyncMessage( - item: *const AMitem, - value: *mut *const AMsyncMessage, -) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(sync_message) = <&AMsyncMessage>::try_from(item) { - if !value.is_null() { - *value = sync_message; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the synchronization state value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMsyncState` struct pointer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_SYNC_STATE` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToSyncState( - item: *mut AMitem, - value: *mut *mut AMsyncState, -) -> bool { - if let Some(item) = item.as_mut() { - if let Ok(sync_state) = <&mut AMsyncState>::try_from(item) { - if !value.is_null() { - *value = sync_state; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the *nix timestamp (milliseconds) value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a signed 64-bit integer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_TIMESTAMP` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToTimestamp(item: *const AMitem, value: *mut i64) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(timestamp) = item.as_ref().try_into_timestamp() { - if !value.is_null() { - *value = timestamp; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the unsigned integer value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to a unsigned 64-bit integer. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_UINT` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToUint(item: *const AMitem, value: *mut u64) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(uint) = item.try_into() { - if !value.is_null() { - *value = uint; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the unknown type of value of an item. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \param[out] value A pointer to an `AMunknownValue` struct. -/// \return `true` if `AMitemValType(`\p item `) == AM_VAL_TYPE_UNKNOWN` and -/// \p *value has been reassigned, `false` otherwise. -/// \pre \p item `!= NULL` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemToUnknown(item: *const AMitem, value: *mut AMunknownValue) -> bool { - if let Some(item) = item.as_ref() { - if let Ok(unknown) = item.try_into() { - if !value.is_null() { - *value = unknown; - return true; - } - } - } - false -} - -/// \memberof AMitem -/// \brief Gets the type of an item's value. -/// -/// \param[in] item A pointer to an `AMitem` struct. -/// \return An `AMvalType` enum tag. -/// \pre \p item `!= NULL` -/// \post `(`\p item `== NULL) -> 0` -/// \internal -/// -/// # Safety -/// item must be a valid pointer to an AMitem -#[no_mangle] -pub unsafe extern "C" fn AMitemValType(item: *const AMitem) -> AMvalType { - if let Some(item) = item.as_ref() { - return item.0.as_ref().into(); - } - Default::default() -} diff --git a/rust/automerge-c/src/items.rs b/rust/automerge-c/src/items.rs deleted file mode 100644 index 361078b3..00000000 --- a/rust/automerge-c/src/items.rs +++ /dev/null @@ -1,401 +0,0 @@ -use automerge as am; - -use std::ffi::c_void; -use std::marker::PhantomData; -use std::mem::size_of; - -use crate::item::AMitem; -use crate::result::AMresult; - -#[repr(C)] -struct Detail { - len: usize, - offset: isize, - ptr: *const c_void, -} - -/// \note cbindgen won't propagate the value of a `std::mem::size_of()` call -/// (https://github.com/eqrion/cbindgen/issues/252) but it will -/// propagate the name of a constant initialized from it so if the -/// constant's name is a symbolic representation of the value it can be -/// converted into a number by post-processing the header it generated. -pub const USIZE_USIZE_USIZE_: usize = size_of::(); - -impl Detail { - fn new(items: &[AMitem], offset: isize) -> Self { - Self { - len: items.len(), - offset, - ptr: items.as_ptr() as *mut c_void, - } - } - - pub fn advance(&mut self, n: isize) { - if n == 0 { - return; - } - let len = self.len as isize; - self.offset = if self.offset < 0 { - // It's reversed. - let unclipped = self.offset.checked_sub(n).unwrap_or(isize::MIN); - if unclipped >= 0 { - // Clip it to the forward stop. - len - } else { - std::cmp::min(std::cmp::max(-(len + 1), unclipped), -1) - } - } else { - let unclipped = self.offset.checked_add(n).unwrap_or(isize::MAX); - if unclipped < 0 { - // Clip it to the reverse stop. - -(len + 1) - } else { - std::cmp::max(0, std::cmp::min(unclipped, len)) - } - } - } - - pub fn get_index(&self) -> usize { - (self.offset - + if self.offset < 0 { - self.len as isize - } else { - 0 - }) as usize - } - - pub fn next(&mut self, n: isize) -> Option<&mut AMitem> { - if self.is_stopped() { - return None; - } - let slice: &mut [AMitem] = - unsafe { std::slice::from_raw_parts_mut(self.ptr as *mut AMitem, self.len) }; - let value = &mut slice[self.get_index()]; - self.advance(n); - Some(value) - } - - pub fn is_stopped(&self) -> bool { - let len = self.len as isize; - self.offset < -len || self.offset == len - } - - pub fn prev(&mut self, n: isize) -> Option<&mut AMitem> { - self.advance(-n); - if self.is_stopped() { - return None; - } - let slice: &mut [AMitem] = - unsafe { std::slice::from_raw_parts_mut(self.ptr as *mut AMitem, self.len) }; - Some(&mut slice[self.get_index()]) - } - - pub fn reversed(&self) -> Self { - Self { - len: self.len, - offset: -(self.offset + 1), - ptr: self.ptr, - } - } - - pub fn rewound(&self) -> Self { - Self { - len: self.len, - offset: if self.offset < 0 { -1 } else { 0 }, - ptr: self.ptr, - } - } -} - -impl From for [u8; USIZE_USIZE_USIZE_] { - fn from(detail: Detail) -> Self { - unsafe { - std::slice::from_raw_parts((&detail as *const Detail) as *const u8, USIZE_USIZE_USIZE_) - .try_into() - .unwrap() - } - } -} - -/// \struct AMitems -/// \installed_headerfile -/// \brief A random-access iterator over a sequence of `AMitem` structs. -#[repr(C)] -#[derive(Eq, PartialEq)] -pub struct AMitems<'a> { - /// An implementation detail that is intentionally opaque. - /// \warning Modifying \p detail will cause undefined behavior. - /// \note The actual size of \p detail will vary by platform, this is just - /// the one for the platform this documentation was built on. - detail: [u8; USIZE_USIZE_USIZE_], - phantom: PhantomData<&'a mut AMresult>, -} - -impl<'a> AMitems<'a> { - pub fn new(items: &[AMitem]) -> Self { - Self { - detail: Detail::new(items, 0).into(), - phantom: PhantomData, - } - } - - pub fn advance(&mut self, n: isize) { - let detail = unsafe { &mut *(self.detail.as_mut_ptr() as *mut Detail) }; - detail.advance(n); - } - - pub fn len(&self) -> usize { - let detail = unsafe { &*(self.detail.as_ptr() as *const Detail) }; - detail.len - } - - pub fn next(&mut self, n: isize) -> Option<&mut AMitem> { - let detail = unsafe { &mut *(self.detail.as_mut_ptr() as *mut Detail) }; - detail.next(n) - } - - pub fn prev(&mut self, n: isize) -> Option<&mut AMitem> { - let detail = unsafe { &mut *(self.detail.as_mut_ptr() as *mut Detail) }; - detail.prev(n) - } - - pub fn reversed(&self) -> Self { - let detail = unsafe { &*(self.detail.as_ptr() as *const Detail) }; - Self { - detail: detail.reversed().into(), - phantom: PhantomData, - } - } - - pub fn rewound(&self) -> Self { - let detail = unsafe { &*(self.detail.as_ptr() as *const Detail) }; - Self { - detail: detail.rewound().into(), - phantom: PhantomData, - } - } -} - -impl<'a> AsRef<[AMitem]> for AMitems<'a> { - fn as_ref(&self) -> &[AMitem] { - let detail = unsafe { &*(self.detail.as_ptr() as *const Detail) }; - unsafe { std::slice::from_raw_parts(detail.ptr as *const AMitem, detail.len) } - } -} - -impl<'a> Default for AMitems<'a> { - fn default() -> Self { - Self { - detail: [0; USIZE_USIZE_USIZE_], - phantom: PhantomData, - } - } -} - -impl TryFrom<&AMitems<'_>> for Vec { - type Error = am::AutomergeError; - - fn try_from(items: &AMitems<'_>) -> Result { - let mut changes = Vec::::with_capacity(items.len()); - for item in items.as_ref().iter() { - match <&am::Change>::try_from(item.as_ref()) { - Ok(change) => { - changes.push(change.clone()); - } - Err(e) => { - return Err(e); - } - } - } - Ok(changes) - } -} - -impl TryFrom<&AMitems<'_>> for Vec { - type Error = am::AutomergeError; - - fn try_from(items: &AMitems<'_>) -> Result { - let mut change_hashes = Vec::::with_capacity(items.len()); - for item in items.as_ref().iter() { - match <&am::ChangeHash>::try_from(item.as_ref()) { - Ok(change_hash) => { - change_hashes.push(*change_hash); - } - Err(e) => { - return Err(e); - } - } - } - Ok(change_hashes) - } -} - -impl TryFrom<&AMitems<'_>> for Vec { - type Error = am::AutomergeError; - - fn try_from(items: &AMitems<'_>) -> Result { - let mut scalars = Vec::::with_capacity(items.len()); - for item in items.as_ref().iter() { - match <&am::ScalarValue>::try_from(item.as_ref()) { - Ok(scalar) => { - scalars.push(scalar.clone()); - } - Err(e) => { - return Err(e); - } - } - } - Ok(scalars) - } -} - -/// \memberof AMitems -/// \brief Advances an iterator over a sequence of object items by at most -/// \p |n| positions where the sign of \p n is relative to the -/// iterator's direction. -/// -/// \param[in] items A pointer to an `AMitems` struct. -/// \param[in] n The direction (\p -n -> opposite, \p n -> same) and maximum -/// number of positions to advance. -/// \pre \p items `!= NULL` -/// \internal -/// -/// #Safety -/// items must be a valid pointer to an AMitems -#[no_mangle] -pub unsafe extern "C" fn AMitemsAdvance(items: *mut AMitems, n: isize) { - if let Some(items) = items.as_mut() { - items.advance(n); - }; -} - -/// \memberof AMitems -/// \brief Tests the equality of two sequences of object items underlying a -/// pair of iterators. -/// -/// \param[in] items1 A pointer to an `AMitems` struct. -/// \param[in] items2 A pointer to an `AMitems` struct. -/// \return `true` if \p items1 `==` \p items2 and `false` otherwise. -/// \pre \p items1 `!= NULL` -/// \pre \p items1 `!= NULL` -/// \post `!(`\p items1 `&&` \p items2 `) -> false` -/// \internal -/// -/// #Safety -/// items1 must be a valid pointer to an AMitems -/// items2 must be a valid pointer to an AMitems -#[no_mangle] -pub unsafe extern "C" fn AMitemsEqual(items1: *const AMitems, items2: *const AMitems) -> bool { - match (items1.as_ref(), items2.as_ref()) { - (Some(items1), Some(items2)) => items1.as_ref() == items2.as_ref(), - (None, None) | (None, Some(_)) | (Some(_), None) => false, - } -} - -/// \memberof AMitems -/// \brief Gets the object item at the current position of an iterator over a -/// sequence of object items and then advances it by at most \p |n| -/// positions where the sign of \p n is relative to the iterator's -/// direction. -/// -/// \param[in] items A pointer to an `AMitems` struct. -/// \param[in] n The direction (\p -n -> opposite, \p n -> same) and maximum -/// number of positions to advance. -/// \return A pointer to an `AMitem` struct that's `NULL` when \p items -/// was previously advanced past its forward/reverse limit. -/// \pre \p items `!= NULL` -/// \internal -/// -/// #Safety -/// items must be a valid pointer to an AMitems -#[no_mangle] -pub unsafe extern "C" fn AMitemsNext(items: *mut AMitems, n: isize) -> *mut AMitem { - if let Some(items) = items.as_mut() { - if let Some(item) = items.next(n) { - return item; - } - } - std::ptr::null_mut() -} - -/// \memberof AMitems -/// \brief Advances an iterator over a sequence of object items by at most -/// \p |n| positions where the sign of \p n is relative to the -/// iterator's direction and then gets the object item at its new -/// position. -/// -/// \param[in] items A pointer to an `AMitems` struct. -/// \param[in] n The direction (\p -n -> opposite, \p n -> same) and maximum -/// number of positions to advance. -/// \return A pointer to an `AMitem` struct that's `NULL` when \p items -/// is presently advanced past its forward/reverse limit. -/// \pre \p items `!= NULL` -/// \internal -/// -/// #Safety -/// items must be a valid pointer to an AMitems -#[no_mangle] -pub unsafe extern "C" fn AMitemsPrev(items: *mut AMitems, n: isize) -> *mut AMitem { - if let Some(items) = items.as_mut() { - if let Some(obj_item) = items.prev(n) { - return obj_item; - } - } - std::ptr::null_mut() -} - -/// \memberof AMitems -/// \brief Gets the size of the sequence underlying an iterator. -/// -/// \param[in] items A pointer to an `AMitems` struct. -/// \return The count of items in \p items. -/// \pre \p items `!= NULL` -/// \internal -/// -/// #Safety -/// items must be a valid pointer to an AMitems -#[no_mangle] -pub unsafe extern "C" fn AMitemsSize(items: *const AMitems) -> usize { - if let Some(items) = items.as_ref() { - return items.len(); - } - 0 -} - -/// \memberof AMitems -/// \brief Creates an iterator over the same sequence of items as the -/// given one but with the opposite position and direction. -/// -/// \param[in] items A pointer to an `AMitems` struct. -/// \return An `AMitems` struct -/// \pre \p items `!= NULL` -/// \internal -/// -/// #Safety -/// items must be a valid pointer to an AMitems -#[no_mangle] -pub unsafe extern "C" fn AMitemsReversed(items: *const AMitems) -> AMitems { - if let Some(items) = items.as_ref() { - return items.reversed(); - } - Default::default() -} - -/// \memberof AMitems -/// \brief Creates an iterator at the starting position over the same sequence -/// of items as the given one. -/// -/// \param[in] items A pointer to an `AMitems` struct. -/// \return An `AMitems` struct -/// \pre \p items `!= NULL` -/// \internal -/// -/// #Safety -/// items must be a valid pointer to an AMitems -#[no_mangle] -pub unsafe extern "C" fn AMitemsRewound(items: *const AMitems) -> AMitems { - if let Some(items) = items.as_ref() { - return items.rewound(); - } - Default::default() -} diff --git a/rust/automerge-c/src/lib.rs b/rust/automerge-c/src/lib.rs deleted file mode 100644 index 1ee1a85d..00000000 --- a/rust/automerge-c/src/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -mod actor_id; -mod byte_span; -mod change; -mod doc; -mod index; -mod item; -mod items; -mod obj; -mod result; -mod sync; - -// include!(concat!(env!("OUT_DIR"), "/enum_string_functions.rs")); diff --git a/rust/automerge-c/src/obj.rs b/rust/automerge-c/src/obj.rs deleted file mode 100644 index 3d52286c..00000000 --- a/rust/automerge-c/src/obj.rs +++ /dev/null @@ -1,216 +0,0 @@ -use automerge as am; -use std::any::type_name; -use std::cell::RefCell; -use std::ops::Deref; - -use crate::actor_id::AMactorId; - -macro_rules! to_obj_id { - ($handle:expr) => {{ - match $handle.as_ref() { - Some(obj_id) => obj_id, - None => &automerge::ROOT, - } - }}; -} - -pub(crate) use to_obj_id; - -macro_rules! to_obj_type { - ($c_obj_type:expr) => {{ - let result: Result = (&$c_obj_type).try_into(); - match result { - Ok(obj_type) => obj_type, - Err(e) => return AMresult::error(&e.to_string()).into(), - } - }}; -} - -pub(crate) use to_obj_type; - -/// \struct AMobjId -/// \installed_headerfile -/// \brief An object's unique identifier. -#[derive(Eq, PartialEq)] -pub struct AMobjId { - body: am::ObjId, - c_actor_id: RefCell>, -} - -impl AMobjId { - pub fn new(obj_id: am::ObjId) -> Self { - Self { - body: obj_id, - c_actor_id: Default::default(), - } - } - - pub fn actor_id(&self) -> *const AMactorId { - let mut c_actor_id = self.c_actor_id.borrow_mut(); - match c_actor_id.as_mut() { - None => { - if let am::ObjId::Id(_, actor_id, _) = &self.body { - return c_actor_id.insert(AMactorId::new(actor_id)); - } - } - Some(value) => { - return value; - } - } - std::ptr::null() - } -} - -impl AsRef for AMobjId { - fn as_ref(&self) -> &am::ObjId { - &self.body - } -} - -impl Deref for AMobjId { - type Target = am::ObjId; - - fn deref(&self) -> &Self::Target { - &self.body - } -} - -/// \memberof AMobjId -/// \brief Gets the actor identifier component of an object identifier. -/// -/// \param[in] obj_id A pointer to an `AMobjId` struct. -/// \return A pointer to an `AMactorId` struct or `NULL`. -/// \pre \p obj_id `!= NULL` -/// \internal -/// -/// # Safety -/// obj_id must be a valid pointer to an AMobjId -#[no_mangle] -pub unsafe extern "C" fn AMobjIdActorId(obj_id: *const AMobjId) -> *const AMactorId { - if let Some(obj_id) = obj_id.as_ref() { - return obj_id.actor_id(); - }; - std::ptr::null() -} - -/// \memberof AMobjId -/// \brief Gets the counter component of an object identifier. -/// -/// \param[in] obj_id A pointer to an `AMobjId` struct. -/// \return A 64-bit unsigned integer. -/// \pre \p obj_id `!= NULL` -/// \internal -/// -/// # Safety -/// obj_id must be a valid pointer to an AMobjId -#[no_mangle] -pub unsafe extern "C" fn AMobjIdCounter(obj_id: *const AMobjId) -> u64 { - if let Some(obj_id) = obj_id.as_ref() { - match obj_id.as_ref() { - am::ObjId::Id(counter, _, _) => *counter, - am::ObjId::Root => 0, - } - } else { - u64::MAX - } -} - -/// \memberof AMobjId -/// \brief Tests the equality of two object identifiers. -/// -/// \param[in] obj_id1 A pointer to an `AMobjId` struct. -/// \param[in] obj_id2 A pointer to an `AMobjId` struct. -/// \return `true` if \p obj_id1 `==` \p obj_id2 and `false` otherwise. -/// \pre \p obj_id1 `!= NULL` -/// \pre \p obj_id1 `!= NULL` -/// \post `!(`\p obj_id1 `&&` \p obj_id2 `) -> false` -/// \internal -/// -/// #Safety -/// obj_id1 must be a valid AMobjId pointer -/// obj_id2 must be a valid AMobjId pointer -#[no_mangle] -pub unsafe extern "C" fn AMobjIdEqual(obj_id1: *const AMobjId, obj_id2: *const AMobjId) -> bool { - match (obj_id1.as_ref(), obj_id2.as_ref()) { - (Some(obj_id1), Some(obj_id2)) => obj_id1 == obj_id2, - (None, None) | (None, Some(_)) | (Some(_), None) => false, - } -} - -/// \memberof AMobjId -/// \brief Gets the index component of an object identifier. -/// -/// \param[in] obj_id A pointer to an `AMobjId` struct. -/// \return A 64-bit unsigned integer. -/// \pre \p obj_id `!= NULL` -/// \internal -/// -/// # Safety -/// obj_id must be a valid pointer to an AMobjId -#[no_mangle] -pub unsafe extern "C" fn AMobjIdIndex(obj_id: *const AMobjId) -> usize { - use am::ObjId::*; - - if let Some(obj_id) = obj_id.as_ref() { - match obj_id.as_ref() { - Id(_, _, index) => *index, - Root => 0, - } - } else { - usize::MAX - } -} - -/// \ingroup enumerations -/// \enum AMobjType -/// \installed_headerfile -/// \brief The type of an object value. -#[derive(PartialEq, Eq)] -#[repr(u8)] -pub enum AMobjType { - /// The default tag, not a type signifier. - Default = 0, - /// A list. - List = 1, - /// A key-value map. - Map, - /// A list of Unicode graphemes. - Text, -} - -impl Default for AMobjType { - fn default() -> Self { - Self::Default - } -} - -impl From<&am::ObjType> for AMobjType { - fn from(o: &am::ObjType) -> Self { - use am::ObjType::*; - - match o { - List => Self::List, - Map | Table => Self::Map, - Text => Self::Text, - } - } -} - -impl TryFrom<&AMobjType> for am::ObjType { - type Error = am::AutomergeError; - - fn try_from(c_obj_type: &AMobjType) -> Result { - use am::AutomergeError::InvalidValueType; - use AMobjType::*; - - match c_obj_type { - List => Ok(Self::List), - Map => Ok(Self::Map), - Text => Ok(Self::Text), - _ => Err(InvalidValueType { - expected: type_name::().to_string(), - unexpected: type_name::().to_string(), - }), - } - } -} diff --git a/rust/automerge-c/src/result.rs b/rust/automerge-c/src/result.rs deleted file mode 100644 index 2975f38b..00000000 --- a/rust/automerge-c/src/result.rs +++ /dev/null @@ -1,660 +0,0 @@ -use automerge as am; - -use std::ops::{Range, RangeFrom, RangeFull, RangeTo}; - -use crate::byte_span::AMbyteSpan; -use crate::index::AMindex; -use crate::item::AMitem; -use crate::items::AMitems; - -/// \struct AMresult -/// \installed_headerfile -/// \brief A discriminated union of result variants. -pub enum AMresult { - Items(Vec), - Error(String), -} - -impl AMresult { - pub(crate) fn error(s: &str) -> Self { - Self::Error(s.to_string()) - } - - pub(crate) fn item(item: AMitem) -> Self { - Self::Items(vec![item]) - } - - pub(crate) fn items(items: Vec) -> Self { - Self::Items(items) - } -} - -impl Default for AMresult { - fn default() -> Self { - Self::Items(vec![]) - } -} - -impl From for AMresult { - fn from(auto_commit: am::AutoCommit) -> Self { - Self::item(AMitem::exact(am::ROOT, auto_commit.into())) - } -} - -impl From for AMresult { - fn from(change: am::Change) -> Self { - Self::item(change.into()) - } -} - -impl From for AMresult { - fn from(change_hash: am::ChangeHash) -> Self { - Self::item(change_hash.into()) - } -} - -impl From> for AMresult { - fn from(maybe: Option) -> Self { - match maybe { - Some(change_hash) => change_hash.into(), - None => Self::item(Default::default()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(change_hash) => change_hash.into(), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From for AMresult { - fn from(state: am::sync::State) -> Self { - Self::item(state.into()) - } -} - -impl From> for AMresult { - fn from(pairs: am::Values<'static>) -> Self { - Self::items(pairs.map(|(v, o)| AMitem::exact(o, v.into())).collect()) - } -} - -impl From for *mut AMresult { - fn from(b: AMresult) -> Self { - Box::into_raw(Box::new(b)) - } -} - -impl From> for AMresult { - fn from(keys: am::Keys<'_, '_>) -> Self { - Self::items(keys.map(|s| s.into()).collect()) - } -} - -impl From> for AMresult { - fn from(keys: am::KeysAt<'_, '_>) -> Self { - Self::items(keys.map(|s| s.into()).collect()) - } -} - -impl From>> for AMresult { - fn from(list_range: am::ListRange<'static, Range>) -> Self { - Self::items( - list_range - .map(|(i, v, o)| AMitem::indexed(AMindex::Pos(i), o, v.into())) - .collect(), - ) - } -} - -impl From>> for AMresult { - fn from(list_range: am::ListRangeAt<'static, Range>) -> Self { - Self::items( - list_range - .map(|(i, v, o)| AMitem::indexed(AMindex::Pos(i), o, v.into())) - .collect(), - ) - } -} - -impl From>> for AMresult { - fn from(map_range: am::MapRange<'static, Range>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From>> for AMresult { - fn from(map_range: am::MapRangeAt<'static, Range>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From>> for AMresult { - fn from(map_range: am::MapRange<'static, RangeFrom>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From>> for AMresult { - fn from(map_range: am::MapRangeAt<'static, RangeFrom>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From> for AMresult { - fn from(map_range: am::MapRange<'static, RangeFull>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From> for AMresult { - fn from(map_range: am::MapRangeAt<'static, RangeFull>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From>> for AMresult { - fn from(map_range: am::MapRange<'static, RangeTo>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From>> for AMresult { - fn from(map_range: am::MapRangeAt<'static, RangeTo>) -> Self { - Self::items( - map_range - .map(|(k, v, o)| AMitem::indexed(AMindex::Key(k.into()), o, v.into())) - .collect(), - ) - } -} - -impl From> for AMresult { - fn from(maybe: Option<&am::Change>) -> Self { - Self::item(match maybe { - Some(change) => change.clone().into(), - None => Default::default(), - }) - } -} - -impl From> for AMresult { - fn from(maybe: Option) -> Self { - Self::item(match maybe { - Some(message) => message.into(), - None => Default::default(), - }) - } -} - -impl From> for AMresult { - fn from(maybe: Result<(), am::AutomergeError>) -> Self { - match maybe { - Ok(()) => Self::item(Default::default()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(actor_id) => Self::item(actor_id.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(actor_id) => Self::item(actor_id.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(auto_commit) => Self::item(auto_commit.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(change) => Self::item(change.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From<(Result, am::ObjType)> for AMresult { - fn from(tuple: (Result, am::ObjType)) -> Self { - match tuple { - (Ok(obj_id), obj_type) => Self::item((obj_id, obj_type).into()), - (Err(e), _) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(message) => Self::item(message.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(state) => Self::item(state.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::AutomergeError>> for AMresult { - fn from(maybe: Result, am::AutomergeError>) -> Self { - match maybe { - Ok(value) => Self::item(value.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::ObjId)>, am::AutomergeError>> for AMresult { - fn from(maybe: Result, am::ObjId)>, am::AutomergeError>) -> Self { - match maybe { - Ok(Some((value, obj_id))) => Self::item(AMitem::exact(obj_id, value.into())), - Ok(None) => Self::item(Default::default()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(string) => Self::item(string.into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From> for AMresult { - fn from(maybe: Result) -> Self { - match maybe { - Ok(size) => Self::item(am::Value::uint(size as u64).into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::AutomergeError>> for AMresult { - fn from(maybe: Result, am::AutomergeError>) -> Self { - match maybe { - Ok(changes) => Self::items(changes.into_iter().map(|change| change.into()).collect()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::AutomergeError>> for AMresult { - fn from(maybe: Result, am::AutomergeError>) -> Self { - match maybe { - Ok(changes) => Self::items( - changes - .into_iter() - .map(|change| change.clone().into()) - .collect(), - ), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::LoadChangeError>> for AMresult { - fn from(maybe: Result, am::LoadChangeError>) -> Self { - match maybe { - Ok(changes) => Self::items(changes.into_iter().map(|change| change.into()).collect()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::AutomergeError>> for AMresult { - fn from(maybe: Result, am::AutomergeError>) -> Self { - match maybe { - Ok(change_hashes) => Self::items( - change_hashes - .into_iter() - .map(|change_hash| change_hash.into()) - .collect(), - ), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::InvalidChangeHashSlice>> for AMresult { - fn from(maybe: Result, am::InvalidChangeHashSlice>) -> Self { - match maybe { - Ok(change_hashes) => Self::items( - change_hashes - .into_iter() - .map(|change_hash| change_hash.into()) - .collect(), - ), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::ObjId)>, am::AutomergeError>> for AMresult { - fn from(maybe: Result, am::ObjId)>, am::AutomergeError>) -> Self { - match maybe { - Ok(pairs) => Self::items( - pairs - .into_iter() - .map(|(v, o)| AMitem::exact(o, v.into())) - .collect(), - ), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From, am::AutomergeError>> for AMresult { - fn from(maybe: Result, am::AutomergeError>) -> Self { - match maybe { - Ok(bytes) => Self::item(am::Value::bytes(bytes).into()), - Err(e) => Self::error(&e.to_string()), - } - } -} - -impl From<&[am::Change]> for AMresult { - fn from(changes: &[am::Change]) -> Self { - Self::items(changes.iter().map(|change| change.clone().into()).collect()) - } -} - -impl From> for AMresult { - fn from(changes: Vec<&am::Change>) -> Self { - Self::items( - changes - .into_iter() - .map(|change| change.clone().into()) - .collect(), - ) - } -} - -impl From<&[am::ChangeHash]> for AMresult { - fn from(change_hashes: &[am::ChangeHash]) -> Self { - Self::items( - change_hashes - .iter() - .map(|change_hash| (*change_hash).into()) - .collect(), - ) - } -} - -impl From<&[am::sync::Have]> for AMresult { - fn from(haves: &[am::sync::Have]) -> Self { - Self::items(haves.iter().map(|have| have.clone().into()).collect()) - } -} - -impl From> for AMresult { - fn from(change_hashes: Vec) -> Self { - Self::items( - change_hashes - .into_iter() - .map(|change_hash| change_hash.into()) - .collect(), - ) - } -} - -impl From> for AMresult { - fn from(haves: Vec) -> Self { - Self::items(haves.into_iter().map(|have| have.into()).collect()) - } -} - -impl From> for AMresult { - fn from(bytes: Vec) -> Self { - Self::item(am::Value::bytes(bytes).into()) - } -} - -pub fn to_result>(r: R) -> *mut AMresult { - (r.into()).into() -} - -/// \ingroup enumerations -/// \enum AMstatus -/// \installed_headerfile -/// \brief The status of an API call. -#[derive(PartialEq, Eq)] -#[repr(u8)] -pub enum AMstatus { - /// Success. - /// \note This tag is unalphabetized so that `0` indicates success. - Ok, - /// Failure due to an error. - Error, - /// Failure due to an invalid result. - InvalidResult, -} - -/// \memberof AMresult -/// \brief Concatenates the items from two results. -/// -/// \param[in] dest A pointer to an `AMresult` struct. -/// \param[in] src A pointer to an `AMresult` struct. -/// \return A pointer to an `AMresult` struct with the items from \p dest in -/// their original order followed by the items from \p src in their -/// original order. -/// \pre \p dest `!= NULL` -/// \pre \p src `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// dest must be a valid pointer to an AMresult -/// src must be a valid pointer to an AMresult -#[no_mangle] -pub unsafe extern "C" fn AMresultCat(dest: *const AMresult, src: *const AMresult) -> *mut AMresult { - use AMresult::*; - - match (dest.as_ref(), src.as_ref()) { - (Some(dest), Some(src)) => match (dest, src) { - (Items(dest_items), Items(src_items)) => { - return AMresult::items( - dest_items - .iter() - .cloned() - .chain(src_items.iter().cloned()) - .collect(), - ) - .into(); - } - (Error(_), Error(_)) | (Error(_), Items(_)) | (Items(_), Error(_)) => { - AMresult::error("Invalid `AMresult`").into() - } - }, - (None, None) | (None, Some(_)) | (Some(_), None) => { - AMresult::error("Invalid `AMresult*`").into() - } - } -} - -/// \memberof AMresult -/// \brief Gets a result's error message string. -/// -/// \param[in] result A pointer to an `AMresult` struct. -/// \return A UTF-8 string view as an `AMbyteSpan` struct. -/// \pre \p result `!= NULL` -/// \internal -/// -/// # Safety -/// result must be a valid pointer to an AMresult -#[no_mangle] -pub unsafe extern "C" fn AMresultError(result: *const AMresult) -> AMbyteSpan { - use AMresult::*; - - if let Some(Error(message)) = result.as_ref() { - return message.as_bytes().into(); - } - Default::default() -} - -/// \memberof AMresult -/// \brief Deallocates the storage for a result. -/// -/// \param[in] result A pointer to an `AMresult` struct. -/// \pre \p result `!= NULL` -/// \internal -/// -/// # Safety -/// result must be a valid pointer to an AMresult -#[no_mangle] -pub unsafe extern "C" fn AMresultFree(result: *mut AMresult) { - if !result.is_null() { - let result: AMresult = *Box::from_raw(result); - drop(result) - } -} - -/// \memberof AMresult -/// \brief Gets a result's first item. -/// -/// \param[in] result A pointer to an `AMresult` struct. -/// \return A pointer to an `AMitem` struct. -/// \pre \p result `!= NULL` -/// \internal -/// -/// # Safety -/// result must be a valid pointer to an AMresult -#[no_mangle] -pub unsafe extern "C" fn AMresultItem(result: *mut AMresult) -> *mut AMitem { - use AMresult::*; - - if let Some(Items(items)) = result.as_mut() { - if !items.is_empty() { - return &mut items[0]; - } - } - std::ptr::null_mut() -} - -/// \memberof AMresult -/// \brief Gets a result's items. -/// -/// \param[in] result A pointer to an `AMresult` struct. -/// \return An `AMitems` struct. -/// \pre \p result `!= NULL` -/// \internal -/// -/// # Safety -/// result must be a valid pointer to an AMresult -#[no_mangle] -pub unsafe extern "C" fn AMresultItems<'a>(result: *mut AMresult) -> AMitems<'a> { - use AMresult::*; - - if let Some(Items(items)) = result.as_mut() { - if !items.is_empty() { - return AMitems::new(items); - } - } - Default::default() -} - -/// \memberof AMresult -/// \brief Gets the size of a result. -/// -/// \param[in] result A pointer to an `AMresult` struct. -/// \return The count of items within \p result. -/// \pre \p result `!= NULL` -/// \internal -/// -/// # Safety -/// result must be a valid pointer to an AMresult -#[no_mangle] -pub unsafe extern "C" fn AMresultSize(result: *const AMresult) -> usize { - use self::AMresult::*; - - if let Some(Items(items)) = result.as_ref() { - return items.len(); - } - 0 -} - -/// \memberof AMresult -/// \brief Gets the status code of a result. -/// -/// \param[in] result A pointer to an `AMresult` struct. -/// \return An `AMstatus` enum tag. -/// \pre \p result `!= NULL` -/// \internal -/// -/// # Safety -/// result must be a valid pointer to an AMresult -#[no_mangle] -pub unsafe extern "C" fn AMresultStatus(result: *const AMresult) -> AMstatus { - use AMresult::*; - - if let Some(result) = result.as_ref() { - match result { - Error(_) => { - return AMstatus::Error; - } - _ => { - return AMstatus::Ok; - } - } - } - AMstatus::InvalidResult -} diff --git a/rust/automerge-c/src/sync.rs b/rust/automerge-c/src/sync.rs deleted file mode 100644 index fe0332a1..00000000 --- a/rust/automerge-c/src/sync.rs +++ /dev/null @@ -1,7 +0,0 @@ -mod have; -mod message; -mod state; - -pub(crate) use have::AMsyncHave; -pub(crate) use message::{to_sync_message, AMsyncMessage}; -pub(crate) use state::AMsyncState; diff --git a/rust/automerge-c/src/sync/have.rs b/rust/automerge-c/src/sync/have.rs deleted file mode 100644 index 37d2031f..00000000 --- a/rust/automerge-c/src/sync/have.rs +++ /dev/null @@ -1,42 +0,0 @@ -use automerge as am; - -use crate::result::{to_result, AMresult}; - -/// \struct AMsyncHave -/// \installed_headerfile -/// \brief A summary of the changes that the sender of a synchronization -/// message already has. -#[derive(Clone, Eq, PartialEq)] -pub struct AMsyncHave(am::sync::Have); - -impl AMsyncHave { - pub fn new(have: am::sync::Have) -> Self { - Self(have) - } -} - -impl AsRef for AMsyncHave { - fn as_ref(&self) -> &am::sync::Have { - &self.0 - } -} - -/// \memberof AMsyncHave -/// \brief Gets the heads of the sender. -/// -/// \param[in] sync_have A pointer to an `AMsyncHave` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p sync_have `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_have must be a valid pointer to an AMsyncHave -#[no_mangle] -pub unsafe extern "C" fn AMsyncHaveLastSync(sync_have: *const AMsyncHave) -> *mut AMresult { - to_result(match sync_have.as_ref() { - Some(sync_have) => sync_have.as_ref().last_sync.as_slice(), - None => Default::default(), - }) -} diff --git a/rust/automerge-c/src/sync/message.rs b/rust/automerge-c/src/sync/message.rs deleted file mode 100644 index bdb1db34..00000000 --- a/rust/automerge-c/src/sync/message.rs +++ /dev/null @@ -1,166 +0,0 @@ -use automerge as am; -use std::cell::RefCell; -use std::collections::BTreeMap; - -use crate::change::AMchange; -use crate::result::{to_result, AMresult}; -use crate::sync::have::AMsyncHave; - -macro_rules! to_sync_message { - ($handle:expr) => {{ - let handle = $handle.as_ref(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMsyncMessage*`").into(), - } - }}; -} - -pub(crate) use to_sync_message; - -/// \struct AMsyncMessage -/// \installed_headerfile -/// \brief A synchronization message for a peer. -#[derive(PartialEq)] -pub struct AMsyncMessage { - body: am::sync::Message, - changes_storage: RefCell>, - haves_storage: RefCell>, -} - -impl AMsyncMessage { - pub fn new(message: am::sync::Message) -> Self { - Self { - body: message, - changes_storage: RefCell::new(BTreeMap::new()), - haves_storage: RefCell::new(BTreeMap::new()), - } - } -} - -impl AsRef for AMsyncMessage { - fn as_ref(&self) -> &am::sync::Message { - &self.body - } -} - -/// \memberof AMsyncMessage -/// \brief Gets the changes for the recipient to apply. -/// -/// \param[in] sync_message A pointer to an `AMsyncMessage` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE` items. -/// \pre \p sync_message `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_message must be a valid pointer to an AMsyncMessage -#[no_mangle] -pub unsafe extern "C" fn AMsyncMessageChanges(sync_message: *const AMsyncMessage) -> *mut AMresult { - to_result(match sync_message.as_ref() { - Some(sync_message) => sync_message.body.changes.as_slice(), - None => Default::default(), - }) -} - -/// \memberof AMsyncMessage -/// \brief Decodes an array of bytes into a synchronization message. -/// -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to decode from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_SYNC_MESSAGE` item. -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// src must be a byte array of length `>= count` -#[no_mangle] -pub unsafe extern "C" fn AMsyncMessageDecode(src: *const u8, count: usize) -> *mut AMresult { - let data = std::slice::from_raw_parts(src, count); - to_result(am::sync::Message::decode(data)) -} - -/// \memberof AMsyncMessage -/// \brief Encodes a synchronization message as an array of bytes. -/// -/// \param[in] sync_message A pointer to an `AMsyncMessage` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_BYTES` item. -/// \pre \p sync_message `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_message must be a valid pointer to an AMsyncMessage -#[no_mangle] -pub unsafe extern "C" fn AMsyncMessageEncode(sync_message: *const AMsyncMessage) -> *mut AMresult { - let sync_message = to_sync_message!(sync_message); - to_result(sync_message.as_ref().clone().encode()) -} - -/// \memberof AMsyncMessage -/// \brief Gets a summary of the changes that the sender already has. -/// -/// \param[in] sync_message A pointer to an `AMsyncMessage` struct. -/// \return A pointer to an `AMresult` struct with `AM_SYNC_HAVE` items. -/// \pre \p sync_message `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_message must be a valid pointer to an AMsyncMessage -#[no_mangle] -pub unsafe extern "C" fn AMsyncMessageHaves(sync_message: *const AMsyncMessage) -> *mut AMresult { - to_result(match sync_message.as_ref() { - Some(sync_message) => sync_message.as_ref().have.as_slice(), - None => Default::default(), - }) -} - -/// \memberof AMsyncMessage -/// \brief Gets the heads of the sender. -/// -/// \param[in] sync_message A pointer to an `AMsyncMessage` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p sync_message `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_message must be a valid pointer to an AMsyncMessage -#[no_mangle] -pub unsafe extern "C" fn AMsyncMessageHeads(sync_message: *const AMsyncMessage) -> *mut AMresult { - to_result(match sync_message.as_ref() { - Some(sync_message) => sync_message.as_ref().heads.as_slice(), - None => Default::default(), - }) -} - -/// \memberof AMsyncMessage -/// \brief Gets the hashes of any changes that are being explicitly requested -/// by the recipient. -/// -/// \param[in] sync_message A pointer to an `AMsyncMessage` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p sync_message `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_message must be a valid pointer to an AMsyncMessage -#[no_mangle] -pub unsafe extern "C" fn AMsyncMessageNeeds(sync_message: *const AMsyncMessage) -> *mut AMresult { - to_result(match sync_message.as_ref() { - Some(sync_message) => sync_message.as_ref().need.as_slice(), - None => Default::default(), - }) -} diff --git a/rust/automerge-c/src/sync/state.rs b/rust/automerge-c/src/sync/state.rs deleted file mode 100644 index 1d85ed98..00000000 --- a/rust/automerge-c/src/sync/state.rs +++ /dev/null @@ -1,262 +0,0 @@ -use automerge as am; -use std::cell::RefCell; -use std::collections::BTreeMap; - -use crate::result::{to_result, AMresult}; -use crate::sync::have::AMsyncHave; - -macro_rules! to_sync_state { - ($handle:expr) => {{ - let handle = $handle.as_ref(); - match handle { - Some(b) => b, - None => return AMresult::error("Invalid `AMsyncState*`").into(), - } - }}; -} - -pub(crate) use to_sync_state; - -/// \struct AMsyncState -/// \installed_headerfile -/// \brief The state of synchronization with a peer. -#[derive(Eq, PartialEq)] -pub struct AMsyncState { - body: am::sync::State, - their_haves_storage: RefCell>, -} - -impl AMsyncState { - pub fn new(state: am::sync::State) -> Self { - Self { - body: state, - their_haves_storage: RefCell::new(BTreeMap::new()), - } - } -} - -impl AsMut for AMsyncState { - fn as_mut(&mut self) -> &mut am::sync::State { - &mut self.body - } -} - -impl AsRef for AMsyncState { - fn as_ref(&self) -> &am::sync::State { - &self.body - } -} - -impl From for *mut AMsyncState { - fn from(b: AMsyncState) -> Self { - Box::into_raw(Box::new(b)) - } -} - -/// \memberof AMsyncState -/// \brief Decodes an array of bytes into a synchronization state. -/// -/// \param[in] src A pointer to an array of bytes. -/// \param[in] count The count of bytes to decode from the array pointed to by -/// \p src. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_SYNC_STATE` item. -/// \pre \p src `!= NULL` -/// \pre `sizeof(`\p src `) > 0` -/// \pre \p count `<= sizeof(`\p src `)` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// src must be a byte array of length `>= count` -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateDecode(src: *const u8, count: usize) -> *mut AMresult { - let data = std::slice::from_raw_parts(src, count); - to_result(am::sync::State::decode(data)) -} - -/// \memberof AMsyncState -/// \brief Encodes a synchronization state as an array of bytes. -/// -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_BYTE_SPAN` item. -/// \pre \p sync_state `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_state must be a valid pointer to an AMsyncState -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateEncode(sync_state: *const AMsyncState) -> *mut AMresult { - let sync_state = to_sync_state!(sync_state); - to_result(sync_state.as_ref().encode()) -} - -/// \memberof AMsyncState -/// \brief Tests the equality of two synchronization states. -/// -/// \param[in] sync_state1 A pointer to an `AMsyncState` struct. -/// \param[in] sync_state2 A pointer to an `AMsyncState` struct. -/// \return `true` if \p sync_state1 `==` \p sync_state2 and `false` otherwise. -/// \pre \p sync_state1 `!= NULL` -/// \pre \p sync_state2 `!= NULL` -/// \post `!(`\p sync_state1 `&&` \p sync_state2 `) -> false` -/// \internal -/// -/// #Safety -/// sync_state1 must be a valid pointer to an AMsyncState -/// sync_state2 must be a valid pointer to an AMsyncState -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateEqual( - sync_state1: *const AMsyncState, - sync_state2: *const AMsyncState, -) -> bool { - match (sync_state1.as_ref(), sync_state2.as_ref()) { - (Some(sync_state1), Some(sync_state2)) => sync_state1.as_ref() == sync_state2.as_ref(), - (None, None) | (None, Some(_)) | (Some(_), None) => false, - } -} - -/// \memberof AMsyncState -/// \brief Allocates a new synchronization state and initializes it from -/// default values. -/// -/// \return A pointer to an `AMresult` struct with an `AM_VAL_TYPE_SYNC_STATE` item. -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -#[no_mangle] -pub extern "C" fn AMsyncStateInit() -> *mut AMresult { - to_result(am::sync::State::new()) -} - -/// \memberof AMsyncState -/// \brief Gets the heads that are shared by both peers. -/// -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p sync_state `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_state must be a valid pointer to an AMsyncState -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateSharedHeads(sync_state: *const AMsyncState) -> *mut AMresult { - let sync_state = to_sync_state!(sync_state); - to_result(sync_state.as_ref().shared_heads.as_slice()) -} - -/// \memberof AMsyncState -/// \brief Gets the heads that were last sent by this peer. -/// -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p sync_state `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_state must be a valid pointer to an AMsyncState -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateLastSentHeads(sync_state: *const AMsyncState) -> *mut AMresult { - let sync_state = to_sync_state!(sync_state); - to_result(sync_state.as_ref().last_sent_heads.as_slice()) -} - -/// \memberof AMsyncState -/// \brief Gets a summary of the changes that the other peer already has. -/// -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \param[out] has_value A pointer to a boolean flag that is set to `true` if -/// the returned `AMitems` struct is relevant, `false` otherwise. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_SYNC_HAVE` items. -/// \pre \p sync_state `!= NULL` -/// \pre \p has_value `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -//// \internal -/// -/// # Safety -/// sync_state must be a valid pointer to an AMsyncState -/// has_value must be a valid pointer to a bool. -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateTheirHaves( - sync_state: *const AMsyncState, - has_value: *mut bool, -) -> *mut AMresult { - if let Some(sync_state) = sync_state.as_ref() { - if let Some(haves) = &sync_state.as_ref().their_have { - *has_value = true; - return to_result(haves.as_slice()); - } - }; - *has_value = false; - to_result(Vec::::new()) -} - -/// \memberof AMsyncState -/// \brief Gets the heads that were sent by the other peer. -/// -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \param[out] has_value A pointer to a boolean flag that is set to `true` if -/// the returned `AMitems` struct is relevant, `false` -/// otherwise. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p sync_state `!= NULL` -/// \pre \p has_value `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_state must be a valid pointer to an AMsyncState -/// has_value must be a valid pointer to a bool -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateTheirHeads( - sync_state: *const AMsyncState, - has_value: *mut bool, -) -> *mut AMresult { - if let Some(sync_state) = sync_state.as_ref() { - if let Some(change_hashes) = &sync_state.as_ref().their_heads { - *has_value = true; - return to_result(change_hashes.as_slice()); - } - }; - *has_value = false; - to_result(Vec::::new()) -} - -/// \memberof AMsyncState -/// \brief Gets the needs that were sent by the other peer. -/// -/// \param[in] sync_state A pointer to an `AMsyncState` struct. -/// \param[out] has_value A pointer to a boolean flag that is set to `true` if -/// the returned `AMitems` struct is relevant, `false` -/// otherwise. -/// \return A pointer to an `AMresult` struct with `AM_VAL_TYPE_CHANGE_HASH` items. -/// \pre \p sync_state `!= NULL` -/// \pre \p has_value `!= NULL` -/// \warning The returned `AMresult` struct pointer must be passed to -/// `AMresultFree()` in order to avoid a memory leak. -/// \internal -/// -/// # Safety -/// sync_state must be a valid pointer to an AMsyncState -/// has_value must be a valid pointer to a bool -#[no_mangle] -pub unsafe extern "C" fn AMsyncStateTheirNeeds( - sync_state: *const AMsyncState, - has_value: *mut bool, -) -> *mut AMresult { - if let Some(sync_state) = sync_state.as_ref() { - if let Some(change_hashes) = &sync_state.as_ref().their_need { - *has_value = true; - return to_result(change_hashes.as_slice()); - } - }; - *has_value = false; - to_result(Vec::::new()) -} diff --git a/rust/automerge-c/src/utils/result.c b/rust/automerge-c/src/utils/result.c deleted file mode 100644 index f922ca31..00000000 --- a/rust/automerge-c/src/utils/result.c +++ /dev/null @@ -1,33 +0,0 @@ -#include - -#include - -AMresult* AMresultFrom(int count, ...) { - AMresult* result = NULL; - bool is_ok = true; - va_list args; - va_start(args, count); - for (int i = 0; i != count; ++i) { - AMresult* src = va_arg(args, AMresult*); - AMresult* dest = result; - is_ok = (AMresultStatus(src) == AM_STATUS_OK); - if (is_ok) { - if (dest) { - result = AMresultCat(dest, src); - is_ok = (AMresultStatus(result) == AM_STATUS_OK); - AMresultFree(dest); - AMresultFree(src); - } else { - result = src; - } - } else { - AMresultFree(src); - } - } - va_end(args); - if (!is_ok) { - AMresultFree(result); - result = NULL; - } - return result; -} diff --git a/rust/automerge-c/src/utils/stack.c b/rust/automerge-c/src/utils/stack.c deleted file mode 100644 index 2cad7c5c..00000000 --- a/rust/automerge-c/src/utils/stack.c +++ /dev/null @@ -1,106 +0,0 @@ -#include -#include - -#include -#include - -void AMstackFree(AMstack** stack) { - if (stack) { - while (*stack) { - AMresultFree(AMstackPop(stack, NULL)); - } - } -} - -AMresult* AMstackPop(AMstack** stack, const AMresult* result) { - if (!stack) { - return NULL; - } - AMstack** prev = stack; - if (result) { - while (*prev && ((*prev)->result != result)) { - *prev = (*prev)->prev; - } - } - if (!*prev) { - return NULL; - } - AMstack* target = *prev; - *prev = target->prev; - AMresult* popped = target->result; - free(target); - return popped; -} - -AMresult* AMstackResult(AMstack** stack, AMresult* result, AMstackCallback callback, void* data) { - if (!stack) { - if (callback) { - /* Create a local stack so that the callback can still examine the - * result. */ - AMstack node = {.result = result, .prev = NULL}; - AMstack* stack = &node; - callback(&stack, data); - } else { - /* \note There is no reason to call this function when both the - * stack and the callback are null. */ - fprintf(stderr, "ERROR: NULL AMstackCallback!\n"); - } - /* \note Nothing can be returned without a stack regardless of - * whether or not the callback validated the result. */ - AMresultFree(result); - return NULL; - } - /* Always push the result onto the stack, even if it's null, so that the - * callback can examine it. */ - AMstack* next = calloc(1, sizeof(AMstack)); - *next = (AMstack){.result = result, .prev = *stack}; - AMstack* top = next; - *stack = top; - if (callback) { - if (!callback(stack, data)) { - /* The result didn't pass the callback's examination. */ - return NULL; - } - } else { - /* Report an obvious error. */ - if (result) { - AMbyteSpan const err_msg = AMresultError(result); - if (err_msg.src && err_msg.count) { - /* \note The callback may be null because the result is supposed - * to be examined externally so return it despite an - * error. */ - char* const cstr = AMstrdup(err_msg, NULL); - fprintf(stderr, "WARNING: %s.\n", cstr); - free(cstr); - } - } else { - /* \note There's no reason to call this function when both the - * result and the callback are null. */ - fprintf(stderr, "ERROR: NULL AMresult*!\n"); - return NULL; - } - } - return result; -} - -AMitem* AMstackItem(AMstack** stack, AMresult* result, AMstackCallback callback, void* data) { - AMitems items = AMstackItems(stack, result, callback, data); - return AMitemsNext(&items, 1); -} - -AMitems AMstackItems(AMstack** stack, AMresult* result, AMstackCallback callback, void* data) { - return (AMstackResult(stack, result, callback, data)) ? AMresultItems(result) : (AMitems){0}; -} - -size_t AMstackSize(AMstack const* const stack) { - if (!stack) { - return 0; - } - size_t count = 0; - AMstack const* prev = stack; - while (prev) { - ++count; - prev = prev->prev; - } - return count; -} \ No newline at end of file diff --git a/rust/automerge-c/src/utils/stack_callback_data.c b/rust/automerge-c/src/utils/stack_callback_data.c deleted file mode 100644 index f1e988d8..00000000 --- a/rust/automerge-c/src/utils/stack_callback_data.c +++ /dev/null @@ -1,9 +0,0 @@ -#include - -#include - -AMstackCallbackData* AMstackCallbackDataInit(AMvalType const bitmask, char const* const file, int const line) { - AMstackCallbackData* data = malloc(sizeof(AMstackCallbackData)); - *data = (AMstackCallbackData){.bitmask = bitmask, .file = file, .line = line}; - return data; -} diff --git a/rust/automerge-c/src/utils/string.c b/rust/automerge-c/src/utils/string.c deleted file mode 100644 index a0d1ebe3..00000000 --- a/rust/automerge-c/src/utils/string.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include - -#include - -char* AMstrdup(AMbyteSpan const str, char const* nul) { - if (!str.src) { - return NULL; - } else if (!str.count) { - return strdup(""); - } - nul = (nul) ? nul : "\\0"; - size_t const nul_len = strlen(nul); - char* dup = NULL; - size_t dup_len = 0; - char const* begin = str.src; - char const* end = begin; - for (size_t i = 0; i != str.count; ++i, ++end) { - if (!*end) { - size_t const len = end - begin; - size_t const alloc_len = dup_len + len + nul_len; - if (dup) { - dup = realloc(dup, alloc_len + 1); - } else { - dup = malloc(alloc_len + 1); - } - memcpy(dup + dup_len, begin, len); - memcpy(dup + dup_len + len, nul, nul_len); - dup[alloc_len] = '\0'; - begin = end + 1; - dup_len = alloc_len; - } - } - if (begin != end) { - size_t const len = end - begin; - size_t const alloc_len = dup_len + len; - if (dup) { - dup = realloc(dup, alloc_len + 1); - } else { - dup = malloc(alloc_len + 1); - } - memcpy(dup + dup_len, begin, len); - dup[alloc_len] = '\0'; - } - return dup; -} diff --git a/rust/automerge-c/test/CMakeLists.txt b/rust/automerge-c/test/CMakeLists.txt deleted file mode 100644 index 1759f140..00000000 --- a/rust/automerge-c/test/CMakeLists.txt +++ /dev/null @@ -1,55 +0,0 @@ -find_package(cmocka CONFIG REQUIRED) - -add_executable( - ${LIBRARY_NAME}_test - actor_id_tests.c - base_state.c - byte_span_tests.c - cmocka_utils.c - enum_string_tests.c - doc_state.c - doc_tests.c - item_tests.c - list_tests.c - macro_utils.c - main.c - map_tests.c - str_utils.c - ported_wasm/basic_tests.c - ported_wasm/suite.c - ported_wasm/sync_tests.c -) - -set_target_properties(${LIBRARY_NAME}_test PROPERTIES LINKER_LANGUAGE C) - -if(WIN32) - set(CMOCKA "cmocka::cmocka") -else() - set(CMOCKA "cmocka") -endif() - -target_link_libraries(${LIBRARY_NAME}_test PRIVATE ${CMOCKA} ${LIBRARY_NAME}) - -add_dependencies(${LIBRARY_NAME}_test ${BINDINGS_NAME}_artifacts) - -if(BUILD_SHARED_LIBS AND WIN32) - add_custom_command( - TARGET ${LIBRARY_NAME}_test - POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different $ $ - COMMENT "Copying the DLL into the tests directory..." - VERBATIM - ) -endif() - -add_test(NAME ${LIBRARY_NAME}_test COMMAND ${LIBRARY_NAME}_test) - -add_custom_command( - TARGET ${LIBRARY_NAME}_test - POST_BUILD - COMMAND - ${CMAKE_CTEST_COMMAND} --config $ --output-on-failure - COMMENT - "Running the test(s)..." - VERBATIM -) diff --git a/rust/automerge-c/test/actor_id_tests.c b/rust/automerge-c/test/actor_id_tests.c deleted file mode 100644 index 918d6213..00000000 --- a/rust/automerge-c/test/actor_id_tests.c +++ /dev/null @@ -1,140 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include "cmocka_utils.h" -#include "str_utils.h" - -/** - * \brief State for a group of cmocka test cases. - */ -typedef struct { - /** An actor ID as an array of bytes. */ - uint8_t* src; - /** The count of bytes in \p src. */ - size_t count; - /** A stack of results. */ - AMstack* stack; - /** An actor ID as a hexadecimal string. */ - AMbyteSpan str; -} DocState; - -static int group_setup(void** state) { - DocState* doc_state = test_calloc(1, sizeof(DocState)); - doc_state->str = AMstr("000102030405060708090a0b0c0d0e0f"); - doc_state->count = doc_state->str.count / 2; - doc_state->src = test_calloc(doc_state->count, sizeof(uint8_t)); - hex_to_bytes(doc_state->str.src, doc_state->src, doc_state->count); - *state = doc_state; - return 0; -} - -static int group_teardown(void** state) { - DocState* doc_state = *state; - test_free(doc_state->src); - AMstackFree(&doc_state->stack); - test_free(doc_state); - return 0; -} - -static void test_AMactorIdFromBytes(void** state) { - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->stack; - /* Non-empty string. */ - AMresult* result = AMstackResult(stack_ptr, AMactorIdFromBytes(doc_state->src, doc_state->count), NULL, NULL); - if (AMresultStatus(result) != AM_STATUS_OK) { - fail_msg_view("%s", AMresultError(result)); - } - assert_int_equal(AMresultSize(result), 1); - AMitem* const item = AMresultItem(result); - assert_int_equal(AMitemValType(item), AM_VAL_TYPE_ACTOR_ID); - AMactorId const* actor_id; - assert_true(AMitemToActorId(item, &actor_id)); - AMbyteSpan const bytes = AMactorIdBytes(actor_id); - assert_int_equal(bytes.count, doc_state->count); - assert_memory_equal(bytes.src, doc_state->src, bytes.count); - /* Empty array. */ - /** \todo Find out if this is intentionally allowed. */ - result = AMstackResult(stack_ptr, AMactorIdFromBytes(doc_state->src, 0), NULL, NULL); - if (AMresultStatus(result) != AM_STATUS_OK) { - fail_msg_view("%s", AMresultError(result)); - } - /* NULL array. */ - result = AMstackResult(stack_ptr, AMactorIdFromBytes(NULL, doc_state->count), NULL, NULL); - if (AMresultStatus(result) == AM_STATUS_OK) { - fail_msg("AMactorId from NULL."); - } -} - -static void test_AMactorIdFromStr(void** state) { - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->stack; - AMresult* result = AMstackResult(stack_ptr, AMactorIdFromStr(doc_state->str), NULL, NULL); - if (AMresultStatus(result) != AM_STATUS_OK) { - fail_msg_view("%s", AMresultError(result)); - } - assert_int_equal(AMresultSize(result), 1); - AMitem* const item = AMresultItem(result); - assert_int_equal(AMitemValType(item), AM_VAL_TYPE_ACTOR_ID); - /* The hexadecimal string should've been decoded as identical bytes. */ - AMactorId const* actor_id; - assert_true(AMitemToActorId(item, &actor_id)); - AMbyteSpan const bytes = AMactorIdBytes(actor_id); - assert_int_equal(bytes.count, doc_state->count); - assert_memory_equal(bytes.src, doc_state->src, bytes.count); - /* The bytes should've been encoded as an identical hexadecimal string. */ - assert_true(AMitemToActorId(item, &actor_id)); - AMbyteSpan const str = AMactorIdStr(actor_id); - assert_int_equal(str.count, doc_state->str.count); - assert_memory_equal(str.src, doc_state->str.src, str.count); -} - -static void test_AMactorIdInit(void** state) { - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->stack; - AMresult* prior_result = NULL; - AMbyteSpan prior_bytes = {NULL, 0}; - AMbyteSpan prior_str = {NULL, 0}; - for (size_t i = 0; i != 11; ++i) { - AMresult* result = AMstackResult(stack_ptr, AMactorIdInit(), NULL, NULL); - if (AMresultStatus(result) != AM_STATUS_OK) { - fail_msg_view("%s", AMresultError(result)); - } - assert_int_equal(AMresultSize(result), 1); - AMitem* const item = AMresultItem(result); - assert_int_equal(AMitemValType(item), AM_VAL_TYPE_ACTOR_ID); - AMactorId const* actor_id; - assert_true(AMitemToActorId(item, &actor_id)); - AMbyteSpan const bytes = AMactorIdBytes(actor_id); - assert_true(AMitemToActorId(item, &actor_id)); - AMbyteSpan const str = AMactorIdStr(actor_id); - if (prior_result) { - size_t const max_byte_count = fmax(bytes.count, prior_bytes.count); - assert_memory_not_equal(bytes.src, prior_bytes.src, max_byte_count); - size_t const max_char_count = fmax(str.count, prior_str.count); - assert_memory_not_equal(str.src, prior_str.src, max_char_count); - } - prior_result = result; - prior_bytes = bytes; - prior_str = str; - } -} - -int run_actor_id_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test(test_AMactorIdFromBytes), - cmocka_unit_test(test_AMactorIdFromStr), - cmocka_unit_test(test_AMactorIdInit), - }; - - return cmocka_run_group_tests(tests, group_setup, group_teardown); -} diff --git a/rust/automerge-c/test/base_state.c b/rust/automerge-c/test/base_state.c deleted file mode 100644 index 53325a99..00000000 --- a/rust/automerge-c/test/base_state.c +++ /dev/null @@ -1,17 +0,0 @@ -#include - -/* local */ -#include "base_state.h" - -int setup_base(void** state) { - BaseState* base_state = calloc(1, sizeof(BaseState)); - *state = base_state; - return 0; -} - -int teardown_base(void** state) { - BaseState* base_state = *state; - AMstackFree(&base_state->stack); - free(base_state); - return 0; -} diff --git a/rust/automerge-c/test/base_state.h b/rust/automerge-c/test/base_state.h deleted file mode 100644 index 3c4ff01b..00000000 --- a/rust/automerge-c/test/base_state.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef TESTS_BASE_STATE_H -#define TESTS_BASE_STATE_H - -#include - -/* local */ -#include -#include - -/** - * \struct BaseState - * \brief The shared state for one or more cmocka test cases. - */ -typedef struct { - /** A stack of results. */ - AMstack* stack; -} BaseState; - -/** - * \memberof BaseState - * \brief Sets up the shared state for one or more cmocka test cases. - * - * \param[in,out] state A pointer to a pointer to a `BaseState` struct. - * \pre \p state `!= NULL`. - * \warning The `BaseState` struct returned through \p state must be - * passed to `teardown_base()` in order to avoid a memory leak. - */ -int setup_base(void** state); - -/** - * \memberof BaseState - * \brief Tears down the shared state for one or more cmocka test cases. - * - * \param[in] state A pointer to a pointer to a `BaseState` struct. - * \pre \p state `!= NULL`. - */ -int teardown_base(void** state); - -#endif /* TESTS_BASE_STATE_H */ diff --git a/rust/automerge-c/test/byte_span_tests.c b/rust/automerge-c/test/byte_span_tests.c deleted file mode 100644 index 0b1c86a1..00000000 --- a/rust/automerge-c/test/byte_span_tests.c +++ /dev/null @@ -1,119 +0,0 @@ -#include -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include - -static void test_AMbytes(void** state) { - static char const DATA[] = {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}; - - AMbyteSpan bytes = AMbytes(DATA, sizeof(DATA)); - assert_int_equal(bytes.count, sizeof(DATA)); - assert_memory_equal(bytes.src, DATA, bytes.count); - assert_ptr_equal(bytes.src, DATA); - /* Empty view */ - bytes = AMbytes(DATA, 0); - assert_int_equal(bytes.count, 0); - assert_ptr_equal(bytes.src, DATA); - /* Invalid array */ - bytes = AMbytes(NULL, SIZE_MAX); - assert_int_not_equal(bytes.count, SIZE_MAX); - assert_int_equal(bytes.count, 0); - assert_ptr_equal(bytes.src, NULL); -} - -static void test_AMstr(void** state) { - AMbyteSpan str = AMstr("abcdefghijkl"); - assert_int_equal(str.count, strlen("abcdefghijkl")); - assert_memory_equal(str.src, "abcdefghijkl", str.count); - /* Empty string */ - static char const* const EMPTY = ""; - - str = AMstr(EMPTY); - assert_int_equal(str.count, 0); - assert_ptr_equal(str.src, EMPTY); - /* Invalid string */ - str = AMstr(NULL); - assert_int_equal(str.count, 0); - assert_ptr_equal(str.src, NULL); -} - -static void test_AMstrCmp(void** state) { - /* Length ordering */ - assert_int_equal(AMstrCmp(AMstr("abcdef"), AMstr("abcdefghijkl")), -1); - assert_int_equal(AMstrCmp(AMstr("abcdefghijkl"), AMstr("abcdefghijkl")), 0); - assert_int_equal(AMstrCmp(AMstr("abcdefghijkl"), AMstr("abcdef")), 1); - /* Lexicographical ordering */ - assert_int_equal(AMstrCmp(AMstr("abcdef"), AMstr("ghijkl")), -1); - assert_int_equal(AMstrCmp(AMstr("ghijkl"), AMstr("abcdef")), 1); - /* Case ordering */ - assert_int_equal(AMstrCmp(AMstr("ABCDEFGHIJKL"), AMstr("abcdefghijkl")), -1); - assert_int_equal(AMstrCmp(AMstr("ABCDEFGHIJKL"), AMstr("ABCDEFGHIJKL")), 0); - assert_int_equal(AMstrCmp(AMstr("abcdefghijkl"), AMstr("ABCDEFGHIJKL")), 1); - assert_int_equal(AMstrCmp(AMstr("ABCDEFGHIJKL"), AMstr("abcdef")), -1); - assert_int_equal(AMstrCmp(AMstr("abcdef"), AMstr("ABCDEFGHIJKL")), 1); - assert_int_equal(AMstrCmp(AMstr("GHIJKL"), AMstr("abcdef")), -1); - assert_int_equal(AMstrCmp(AMstr("abcdef"), AMstr("GHIJKL")), 1); - /* NUL character inclusion */ - static char const SRC[] = {'a', 'b', 'c', 'd', 'e', 'f', '\0', 'g', 'h', 'i', 'j', 'k', 'l'}; - static AMbyteSpan const NUL_STR = {.src = SRC, .count = 13}; - - assert_int_equal(AMstrCmp(AMstr("abcdef"), NUL_STR), -1); - assert_int_equal(AMstrCmp(NUL_STR, NUL_STR), 0); - assert_int_equal(AMstrCmp(NUL_STR, AMstr("abcdef")), 1); - /* Empty string */ - assert_int_equal(AMstrCmp(AMstr(""), AMstr("abcdefghijkl")), -1); - assert_int_equal(AMstrCmp(AMstr(""), AMstr("")), 0); - assert_int_equal(AMstrCmp(AMstr("abcdefghijkl"), AMstr("")), 1); - /* Invalid string */ - assert_int_equal(AMstrCmp(AMstr(NULL), AMstr("abcdefghijkl")), -1); - assert_int_equal(AMstrCmp(AMstr(NULL), AMstr(NULL)), 0); - assert_int_equal(AMstrCmp(AMstr("abcdefghijkl"), AMstr(NULL)), 1); -} - -static void test_AMstrdup(void** state) { - static char const SRC[] = {'a', 'b', 'c', '\0', 'd', 'e', 'f', '\0', 'g', 'h', 'i', '\0', 'j', 'k', 'l'}; - static AMbyteSpan const NUL_STR = {.src = SRC, .count = 15}; - - /* Default substitution ("\\0") for NUL */ - char* dup = AMstrdup(NUL_STR, NULL); - assert_int_equal(strlen(dup), 18); - assert_string_equal(dup, "abc\\0def\\0ghi\\0jkl"); - free(dup); - /* Arbitrary substitution for NUL */ - dup = AMstrdup(NUL_STR, ":-O"); - assert_int_equal(strlen(dup), 21); - assert_string_equal(dup, "abc:-Odef:-Oghi:-Ojkl"); - free(dup); - /* Empty substitution for NUL */ - dup = AMstrdup(NUL_STR, ""); - assert_int_equal(strlen(dup), 12); - assert_string_equal(dup, "abcdefghijkl"); - free(dup); - /* Empty string */ - dup = AMstrdup(AMstr(""), NULL); - assert_int_equal(strlen(dup), 0); - assert_string_equal(dup, ""); - free(dup); - /* Invalid string */ - assert_null(AMstrdup(AMstr(NULL), NULL)); -} - -int run_byte_span_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test(test_AMbytes), - cmocka_unit_test(test_AMstr), - cmocka_unit_test(test_AMstrCmp), - cmocka_unit_test(test_AMstrdup), - }; - - return cmocka_run_group_tests(tests, NULL, NULL); -} diff --git a/rust/automerge-c/test/cmocka_utils.c b/rust/automerge-c/test/cmocka_utils.c deleted file mode 100644 index 37c57fb1..00000000 --- a/rust/automerge-c/test/cmocka_utils.c +++ /dev/null @@ -1,88 +0,0 @@ -#include -#include -#include -#include - -/* third-party */ -#include -#include -#include -#include - -/* local */ -#include "cmocka_utils.h" - -/** - * \brief Assert that the given expression is true and report failure in terms - * of a line number within a file. - * - * \param[in] c An expression. - * \param[in] file A file's full path string. - * \param[in] line A line number. - */ -#define assert_true_where(c, file, line) _assert_true(cast_ptr_to_largest_integral_type(c), #c, file, line) - -/** - * \brief Assert that the given pointer is non-NULL and report failure in terms - * of a line number within a file. - * - * \param[in] c An expression. - * \param[in] file A file's full path string. - * \param[in] line A line number. - */ -#define assert_non_null_where(c, file, line) assert_true_where(c, file, line) - -/** - * \brief Forces the test to fail immediately and quit, printing the reason in - * terms of a line number within a file. - * - * \param[in] msg A message string into which \p str is interpolated. - * \param[in] str An owned string. - * \param[in] file A file's full path string. - * \param[in] line A line number. - */ -#define fail_msg_where(msg, str, file, line) \ - do { \ - print_error("ERROR: " msg "\n", str); \ - _fail(file, line); \ - } while (0) - -/** - * \brief Forces the test to fail immediately and quit, printing the reason in - * terms of a line number within a file. - * - * \param[in] msg A message string into which \p view.src is interpolated. - * \param[in] view A UTF-8 string view as an `AMbyteSpan` struct. - * \param[in] file A file's full path string. - * \param[in] line A line number. - */ -#define fail_msg_view_where(msg, view, file, line) \ - do { \ - char* const str = AMstrdup(view, NULL); \ - print_error("ERROR: " msg "\n", str); \ - free(str); \ - _fail(file, line); \ - } while (0) - -bool cmocka_cb(AMstack** stack, void* data) { - assert_non_null(data); - AMstackCallbackData* const sc_data = (AMstackCallbackData*)data; - assert_non_null_where(stack, sc_data->file, sc_data->line); - assert_non_null_where(*stack, sc_data->file, sc_data->line); - assert_non_null_where((*stack)->result, sc_data->file, sc_data->line); - if (AMresultStatus((*stack)->result) != AM_STATUS_OK) { - fail_msg_view_where("%s", AMresultError((*stack)->result), sc_data->file, sc_data->line); - return false; - } - /* Test that the types of all item values are members of the mask. */ - AMitems items = AMresultItems((*stack)->result); - AMitem* item = NULL; - while ((item = AMitemsNext(&items, 1)) != NULL) { - AMvalType const tag = AMitemValType(item); - if (!(tag & sc_data->bitmask)) { - fail_msg_where("Unexpected value type `%s`.", AMvalTypeToString(tag), sc_data->file, sc_data->line); - return false; - } - } - return true; -} diff --git a/rust/automerge-c/test/cmocka_utils.h b/rust/automerge-c/test/cmocka_utils.h deleted file mode 100644 index b6611bcc..00000000 --- a/rust/automerge-c/test/cmocka_utils.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef TESTS_CMOCKA_UTILS_H -#define TESTS_CMOCKA_UTILS_H - -#include -#include - -/* third-party */ -#include -#include - -/* local */ -#include "base_state.h" - -/** - * \brief Forces the test to fail immediately and quit, printing the reason. - * - * \param[in] msg A message string into which \p view.src is interpolated. - * \param[in] view A UTF-8 string view as an `AMbyteSpan` struct. - */ -#define fail_msg_view(msg, view) \ - do { \ - char* const c_str = AMstrdup(view, NULL); \ - print_error("ERROR: " msg "\n", c_str); \ - free(c_str); \ - fail(); \ - } while (0) - -/** - * \brief Validates the top result in a stack based upon the parameters - * specified within the given data structure and reports violations - * using cmocka assertions. - * - * \param[in,out] stack A pointer to a pointer to an `AMstack` struct. - * \param[in] data A pointer to an owned `AMpushData` struct. - * \return `true` if the top `AMresult` struct in \p stack is valid, `false` - * otherwise. - * \pre \p stack `!= NULL`. - * \pre \p data `!= NULL`. - */ -bool cmocka_cb(AMstack** stack, void* data); - -#endif /* TESTS_CMOCKA_UTILS_H */ diff --git a/rust/automerge-c/test/doc_state.c b/rust/automerge-c/test/doc_state.c deleted file mode 100644 index 3cbece50..00000000 --- a/rust/automerge-c/test/doc_state.c +++ /dev/null @@ -1,27 +0,0 @@ -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include "cmocka_utils.h" -#include "doc_state.h" - -int setup_doc(void** state) { - DocState* doc_state = test_calloc(1, sizeof(DocState)); - setup_base((void**)&doc_state->base_state); - AMitemToDoc(AMstackItem(&doc_state->base_state->stack, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), - &doc_state->doc); - *state = doc_state; - return 0; -} - -int teardown_doc(void** state) { - DocState* doc_state = *state; - teardown_base((void**)&doc_state->base_state); - test_free(doc_state); - return 0; -} diff --git a/rust/automerge-c/test/doc_state.h b/rust/automerge-c/test/doc_state.h deleted file mode 100644 index 525a49fa..00000000 --- a/rust/automerge-c/test/doc_state.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef TESTS_DOC_STATE_H -#define TESTS_DOC_STATE_H - -/* local */ -#include -#include "base_state.h" - -typedef struct { - BaseState* base_state; - AMdoc* doc; -} DocState; - -int setup_doc(void** state); - -int teardown_doc(void** state); - -#endif /* TESTS_DOC_STATE_H */ diff --git a/rust/automerge-c/test/doc_tests.c b/rust/automerge-c/test/doc_tests.c deleted file mode 100644 index c1d21928..00000000 --- a/rust/automerge-c/test/doc_tests.c +++ /dev/null @@ -1,231 +0,0 @@ -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include -#include "base_state.h" -#include "cmocka_utils.h" -#include "doc_state.h" -#include "str_utils.h" - -typedef struct { - DocState* doc_state; - AMbyteSpan actor_id_str; - uint8_t* actor_id_bytes; - size_t actor_id_size; -} TestState; - -static int setup(void** state) { - TestState* test_state = test_calloc(1, sizeof(TestState)); - setup_doc((void**)&test_state->doc_state); - test_state->actor_id_str.src = "000102030405060708090a0b0c0d0e0f"; - test_state->actor_id_str.count = strlen(test_state->actor_id_str.src); - test_state->actor_id_size = test_state->actor_id_str.count / 2; - test_state->actor_id_bytes = test_malloc(test_state->actor_id_size); - hex_to_bytes(test_state->actor_id_str.src, test_state->actor_id_bytes, test_state->actor_id_size); - *state = test_state; - return 0; -} - -static int teardown(void** state) { - TestState* test_state = *state; - teardown_doc((void**)&test_state->doc_state); - test_free(test_state->actor_id_bytes); - test_free(test_state); - return 0; -} - -static void test_AMkeys_empty(void** state) { - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->doc_state->base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMitems forward = AMstackItems(stack_ptr, AMkeys(doc, AM_ROOT, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - assert_int_equal(AMitemsSize(&forward), 0); - AMitems reverse = AMitemsReversed(&forward); - assert_int_equal(AMitemsSize(&reverse), 0); - assert_null(AMitemsNext(&forward, 1)); - assert_null(AMitemsPrev(&forward, 1)); - assert_null(AMitemsNext(&reverse, 1)); - assert_null(AMitemsPrev(&reverse, 1)); -} - -static void test_AMkeys_list(void** state) { - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->doc_state->base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMlistPutInt(doc, list, 0, true, 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutInt(doc, list, 1, true, 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutInt(doc, list, 2, true, 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMitems forward = AMstackItems(stack_ptr, AMkeys(doc, list, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&forward), 3); - AMitems reverse = AMitemsReversed(&forward); - assert_int_equal(AMitemsSize(&reverse), 3); - /* Forward iterator forward. */ - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&forward, 1), &str)); - assert_ptr_equal(strstr(str.src, "2@"), str.src); - assert_true(AMitemToStr(AMitemsNext(&forward, 1), &str)); - assert_ptr_equal(strstr(str.src, "3@"), str.src); - assert_true(AMitemToStr(AMitemsNext(&forward, 1), &str)); - assert_ptr_equal(strstr(str.src, "4@"), str.src); - assert_null(AMitemsNext(&forward, 1)); - // /* Forward iterator reverse. */ - assert_true(AMitemToStr(AMitemsPrev(&forward, 1), &str)); - assert_ptr_equal(strstr(str.src, "4@"), str.src); - assert_true(AMitemToStr(AMitemsPrev(&forward, 1), &str)); - assert_ptr_equal(strstr(str.src, "3@"), str.src); - assert_true(AMitemToStr(AMitemsPrev(&forward, 1), &str)); - assert_ptr_equal(strstr(str.src, "2@"), str.src); - assert_null(AMitemsPrev(&forward, 1)); - /* Reverse iterator forward. */ - assert_true(AMitemToStr(AMitemsNext(&reverse, 1), &str)); - assert_ptr_equal(strstr(str.src, "4@"), str.src); - assert_true(AMitemToStr(AMitemsNext(&reverse, 1), &str)); - assert_ptr_equal(strstr(str.src, "3@"), str.src); - assert_true(AMitemToStr(AMitemsNext(&reverse, 1), &str)); - assert_ptr_equal(strstr(str.src, "2@"), str.src); - assert_null(AMitemsNext(&reverse, 1)); - /* Reverse iterator reverse. */ - assert_true(AMitemToStr(AMitemsPrev(&reverse, 1), &str)); - assert_ptr_equal(strstr(str.src, "2@"), str.src); - assert_true(AMitemToStr(AMitemsPrev(&reverse, 1), &str)); - assert_ptr_equal(strstr(str.src, "3@"), str.src); - assert_true(AMitemToStr(AMitemsPrev(&reverse, 1), &str)); - assert_ptr_equal(strstr(str.src, "4@"), str.src); - assert_null(AMitemsPrev(&reverse, 1)); -} - -static void test_AMkeys_map(void** state) { - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->doc_state->base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("one"), 1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("two"), 2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("three"), 3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMitems forward = AMstackItems(stack_ptr, AMkeys(doc, AM_ROOT, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&forward), 3); - AMitems reverse = AMitemsReversed(&forward); - assert_int_equal(AMitemsSize(&reverse), 3); - /* Forward iterator forward. */ - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&forward, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "one", str.count); - assert_true(AMitemToStr(AMitemsNext(&forward, 1), &str)); - assert_int_equal(str.count, 5); - assert_memory_equal(str.src, "three", str.count); - assert_true(AMitemToStr(AMitemsNext(&forward, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "two", str.count); - assert_null(AMitemsNext(&forward, 1)); - /* Forward iterator reverse. */ - assert_true(AMitemToStr(AMitemsPrev(&forward, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "two", str.count); - assert_true(AMitemToStr(AMitemsPrev(&forward, 1), &str)); - assert_int_equal(str.count, 5); - assert_memory_equal(str.src, "three", str.count); - assert_true(AMitemToStr(AMitemsPrev(&forward, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "one", str.count); - assert_null(AMitemsPrev(&forward, 1)); - /* Reverse iterator forward. */ - assert_true(AMitemToStr(AMitemsNext(&reverse, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "two", str.count); - assert_true(AMitemToStr(AMitemsNext(&reverse, 1), &str)); - assert_int_equal(str.count, 5); - assert_memory_equal(str.src, "three", str.count); - assert_true(AMitemToStr(AMitemsNext(&reverse, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "one", str.count); - assert_null(AMitemsNext(&reverse, 1)); - /* Reverse iterator reverse. */ - assert_true(AMitemToStr(AMitemsPrev(&reverse, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "one", str.count); - assert_true(AMitemToStr(AMitemsPrev(&reverse, 1), &str)); - assert_int_equal(str.count, 5); - assert_memory_equal(str.src, "three", str.count); - assert_true(AMitemToStr(AMitemsPrev(&reverse, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "two", str.count); - assert_null(AMitemsPrev(&reverse, 1)); -} - -static void test_AMputActor_bytes(void** state) { - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->doc_state->base_state->stack; - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromBytes(test_state->actor_id_bytes, test_state->actor_id_size), cmocka_cb, - AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMstackItem(NULL, AMsetActorId(test_state->doc_state->doc, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMgetActorId(test_state->doc_state->doc), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMbyteSpan const bytes = AMactorIdBytes(actor_id); - assert_int_equal(bytes.count, test_state->actor_id_size); - assert_memory_equal(bytes.src, test_state->actor_id_bytes, bytes.count); -} - -static void test_AMputActor_str(void** state) { - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->doc_state->base_state->stack; - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(test_state->actor_id_str), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMstackItem(NULL, AMsetActorId(test_state->doc_state->doc, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMgetActorId(test_state->doc_state->doc), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMbyteSpan const str = AMactorIdStr(actor_id); - assert_int_equal(str.count, test_state->actor_id_str.count); - assert_memory_equal(str.src, test_state->actor_id_str.src, str.count); -} - -static void test_AMspliceText(void** state) { - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->doc_state->base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMobjId const* const text = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("text"), AM_OBJ_TYPE_TEXT), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMspliceText(doc, text, 0, 0, AMstr("one + ")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMspliceText(doc, text, 4, 2, AMstr("two = ")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMspliceText(doc, text, 8, 2, AMstr("three")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMbyteSpan str; - assert_true( - AMitemToStr(AMstackItem(stack_ptr, AMtext(doc, text, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("one two three")); - assert_memory_equal(str.src, "one two three", str.count); -} - -int run_doc_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(test_AMkeys_empty, setup, teardown), - cmocka_unit_test_setup_teardown(test_AMkeys_list, setup, teardown), - cmocka_unit_test_setup_teardown(test_AMkeys_map, setup, teardown), - cmocka_unit_test_setup_teardown(test_AMputActor_bytes, setup, teardown), - cmocka_unit_test_setup_teardown(test_AMputActor_str, setup, teardown), - cmocka_unit_test_setup_teardown(test_AMspliceText, setup, teardown), - }; - - return cmocka_run_group_tests(tests, NULL, NULL); -} diff --git a/rust/automerge-c/test/enum_string_tests.c b/rust/automerge-c/test/enum_string_tests.c deleted file mode 100644 index 11131e43..00000000 --- a/rust/automerge-c/test/enum_string_tests.c +++ /dev/null @@ -1,148 +0,0 @@ -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include - -#define assert_to_string(function, tag) assert_string_equal(function(tag), #tag) - -#define assert_from_string(function, type, tag) \ - do { \ - type out; \ - assert_true(function(&out, #tag)); \ - assert_int_equal(out, tag); \ - } while (0) - -static void test_AMidxTypeToString(void** state) { - assert_to_string(AMidxTypeToString, AM_IDX_TYPE_DEFAULT); - assert_to_string(AMidxTypeToString, AM_IDX_TYPE_KEY); - assert_to_string(AMidxTypeToString, AM_IDX_TYPE_POS); - /* Zero tag */ - assert_string_equal(AMidxTypeToString(0), "AM_IDX_TYPE_DEFAULT"); - /* Invalid tag */ - assert_string_equal(AMidxTypeToString(-1), "???"); -} - -static void test_AMidxTypeFromString(void** state) { - assert_from_string(AMidxTypeFromString, AMidxType, AM_IDX_TYPE_DEFAULT); - assert_from_string(AMidxTypeFromString, AMidxType, AM_IDX_TYPE_KEY); - assert_from_string(AMidxTypeFromString, AMidxType, AM_IDX_TYPE_POS); - /* Invalid tag */ - AMidxType out = -1; - assert_false(AMidxTypeFromString(&out, "???")); - assert_int_equal(out, (AMidxType)-1); -} - -static void test_AMobjTypeToString(void** state) { - assert_to_string(AMobjTypeToString, AM_OBJ_TYPE_DEFAULT); - assert_to_string(AMobjTypeToString, AM_OBJ_TYPE_LIST); - assert_to_string(AMobjTypeToString, AM_OBJ_TYPE_MAP); - assert_to_string(AMobjTypeToString, AM_OBJ_TYPE_TEXT); - /* Zero tag */ - assert_string_equal(AMobjTypeToString(0), "AM_OBJ_TYPE_DEFAULT"); - /* Invalid tag */ - assert_string_equal(AMobjTypeToString(-1), "???"); -} - -static void test_AMobjTypeFromString(void** state) { - assert_from_string(AMobjTypeFromString, AMobjType, AM_OBJ_TYPE_DEFAULT); - assert_from_string(AMobjTypeFromString, AMobjType, AM_OBJ_TYPE_LIST); - assert_from_string(AMobjTypeFromString, AMobjType, AM_OBJ_TYPE_MAP); - assert_from_string(AMobjTypeFromString, AMobjType, AM_OBJ_TYPE_TEXT); - /* Invalid tag */ - AMobjType out = -1; - assert_false(AMobjTypeFromString(&out, "???")); - assert_int_equal(out, (AMobjType)-1); -} - -static void test_AMstatusToString(void** state) { - assert_to_string(AMstatusToString, AM_STATUS_ERROR); - assert_to_string(AMstatusToString, AM_STATUS_INVALID_RESULT); - assert_to_string(AMstatusToString, AM_STATUS_OK); - /* Zero tag */ - assert_string_equal(AMstatusToString(0), "AM_STATUS_OK"); - /* Invalid tag */ - assert_string_equal(AMstatusToString(-1), "???"); -} - -static void test_AMstatusFromString(void** state) { - assert_from_string(AMstatusFromString, AMstatus, AM_STATUS_ERROR); - assert_from_string(AMstatusFromString, AMstatus, AM_STATUS_INVALID_RESULT); - assert_from_string(AMstatusFromString, AMstatus, AM_STATUS_OK); - /* Invalid tag */ - AMstatus out = -1; - assert_false(AMstatusFromString(&out, "???")); - assert_int_equal(out, (AMstatus)-1); -} - -static void test_AMvalTypeToString(void** state) { - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_ACTOR_ID); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_BOOL); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_BYTES); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_CHANGE); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_CHANGE_HASH); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_COUNTER); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_DEFAULT); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_DOC); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_F64); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_INT); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_NULL); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_OBJ_TYPE); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_STR); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_SYNC_HAVE); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_SYNC_MESSAGE); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_SYNC_STATE); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_TIMESTAMP); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_UINT); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_UNKNOWN); - assert_to_string(AMvalTypeToString, AM_VAL_TYPE_VOID); - /* Zero tag */ - assert_string_equal(AMvalTypeToString(0), "AM_VAL_TYPE_DEFAULT"); - /* Invalid tag */ - assert_string_equal(AMvalTypeToString(-1), "???"); -} - -static void test_AMvalTypeFromString(void** state) { - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_ACTOR_ID); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_BOOL); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_BYTES); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_CHANGE); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_CHANGE_HASH); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_COUNTER); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_DEFAULT); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_DOC); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_F64); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_INT); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_NULL); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_OBJ_TYPE); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_STR); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_SYNC_HAVE); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_SYNC_MESSAGE); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_SYNC_STATE); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_TIMESTAMP); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_UINT); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_UNKNOWN); - assert_from_string(AMvalTypeFromString, AMvalType, AM_VAL_TYPE_VOID); - /* Invalid tag */ - AMvalType out = -1; - assert_false(AMvalTypeFromString(&out, "???")); - assert_int_equal(out, (AMvalType)-1); -} - -int run_enum_string_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test(test_AMidxTypeToString), cmocka_unit_test(test_AMidxTypeFromString), - cmocka_unit_test(test_AMobjTypeToString), cmocka_unit_test(test_AMobjTypeFromString), - cmocka_unit_test(test_AMstatusToString), cmocka_unit_test(test_AMstatusFromString), - cmocka_unit_test(test_AMvalTypeToString), cmocka_unit_test(test_AMvalTypeFromString), - }; - - return cmocka_run_group_tests(tests, NULL, NULL); -} diff --git a/rust/automerge-c/test/item_tests.c b/rust/automerge-c/test/item_tests.c deleted file mode 100644 index a30b0556..00000000 --- a/rust/automerge-c/test/item_tests.c +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include -#include "cmocka_utils.h" -#include "doc_state.h" - -static void test_AMitemResult(void** state) { - enum { ITEM_COUNT = 1000 }; - - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->base_state->stack; - /* Append the strings to a list so that they'll be in numerical order. */ - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - for (size_t pos = 0; pos != ITEM_COUNT; ++pos) { - size_t const count = snprintf(NULL, 0, "%zu", pos); - char* const src = test_calloc(count + 1, sizeof(char)); - assert_int_equal(sprintf(src, "%zu", pos), count); - AMstackItem(NULL, AMlistPutStr(doc_state->doc, list, pos, true, AMbytes(src, count)), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - test_free(src); - } - /* Get an item iterator. */ - AMitems items = AMstackItems(stack_ptr, AMlistRange(doc_state->doc, list, 0, SIZE_MAX, NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - /* Get the item iterator's result so that it can be freed later. */ - AMresult const* const items_result = (*stack_ptr)->result; - /* Iterate over all of the items and copy their pointers into an array. */ - AMitem* item_ptrs[ITEM_COUNT] = {NULL}; - AMitem* item = NULL; - for (size_t pos = 0; (item = AMitemsNext(&items, 1)) != NULL; ++pos) { - /* The item's reference count should be 1. */ - assert_int_equal(AMitemRefCount(item), 1); - if (pos & 1) { - /* Create a redundant result for an odd item. */ - AMitem* const new_item = AMstackItem(stack_ptr, AMitemResult(item), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - /* The item's old and new pointers will never match. */ - assert_ptr_not_equal(new_item, item); - /* The item's reference count will have been incremented. */ - assert_int_equal(AMitemRefCount(item), 2); - assert_int_equal(AMitemRefCount(new_item), 2); - /* The item's old and new indices should match. */ - assert_int_equal(AMitemIdxType(item), AMitemIdxType(new_item)); - assert_int_equal(AMitemIdxType(item), AM_IDX_TYPE_POS); - size_t pos, new_pos; - assert_true(AMitemPos(item, &pos)); - assert_true(AMitemPos(new_item, &new_pos)); - assert_int_equal(pos, new_pos); - /* The item's old and new object IDs should match. */ - AMobjId const* const obj_id = AMitemObjId(item); - AMobjId const* const new_obj_id = AMitemObjId(new_item); - assert_true(AMobjIdEqual(obj_id, new_obj_id)); - /* The item's old and new value types should match. */ - assert_int_equal(AMitemValType(item), AMitemValType(new_item)); - /* The item's old and new string values should match. */ - AMbyteSpan str; - assert_true(AMitemToStr(item, &str)); - AMbyteSpan new_str; - assert_true(AMitemToStr(new_item, &new_str)); - assert_int_equal(str.count, new_str.count); - assert_memory_equal(str.src, new_str.src, new_str.count); - /* The item's old and new object IDs are one and the same. */ - assert_ptr_equal(obj_id, new_obj_id); - /* The item's old and new string values are one and the same. */ - assert_ptr_equal(str.src, new_str.src); - /* Save the item's new pointer. */ - item_ptrs[pos] = new_item; - } - } - /* Free the item iterator's result. */ - AMresultFree(AMstackPop(stack_ptr, items_result)); - /* An odd item's reference count should be 1 again. */ - for (size_t pos = 1; pos < ITEM_COUNT; pos += 2) { - assert_int_equal(AMitemRefCount(item_ptrs[pos]), 1); - } -} - -int run_item_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test(test_AMitemResult), - }; - - return cmocka_run_group_tests(tests, setup_doc, teardown_doc); -} diff --git a/rust/automerge-c/test/list_tests.c b/rust/automerge-c/test/list_tests.c deleted file mode 100644 index 723dd038..00000000 --- a/rust/automerge-c/test/list_tests.c +++ /dev/null @@ -1,515 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include -#include "base_state.h" -#include "cmocka_utils.h" -#include "doc_state.h" -#include "macro_utils.h" - -static void test_AMlistIncrement(void** state) { - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->base_state->stack; - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMlistPutCounter(doc_state->doc, list, 0, true, 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - int64_t counter; - assert_true(AMitemToCounter( - AMstackItem(stack_ptr, AMlistGet(doc_state->doc, list, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_COUNTER)), - &counter)); - assert_int_equal(counter, 0); - AMresultFree(AMstackPop(stack_ptr, NULL)); - AMstackItem(NULL, AMlistIncrement(doc_state->doc, list, 0, 3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - assert_true(AMitemToCounter( - AMstackItem(stack_ptr, AMlistGet(doc_state->doc, list, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_COUNTER)), - &counter)); - assert_int_equal(counter, 3); - AMresultFree(AMstackPop(stack_ptr, NULL)); -} - -#define test_AMlistPut(suffix, mode) test_AMlistPut##suffix##_##mode - -#define static_void_test_AMlistPut(suffix, mode, type, scalar_value) \ - static void test_AMlistPut##suffix##_##mode(void** state) { \ - DocState* doc_state = *state; \ - AMstack** stack_ptr = &doc_state->base_state->stack; \ - AMobjId const* const list = AMitemObjId( \ - AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); \ - AMstackItem(NULL, AMlistPut##suffix(doc_state->doc, list, 0, !strcmp(#mode, "insert"), scalar_value), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); \ - type value; \ - assert_true(AMitemTo##suffix(AMstackItem(stack_ptr, AMlistGet(doc_state->doc, list, 0, NULL), cmocka_cb, \ - AMexpect(suffix_to_val_type(#suffix))), \ - &value)); \ - assert_true(value == scalar_value); \ - AMresultFree(AMstackPop(stack_ptr, NULL)); \ - } - -#define test_AMlistPutBytes(mode) test_AMlistPutBytes##_##mode - -#define static_void_test_AMlistPutBytes(mode, bytes_value) \ - static void test_AMlistPutBytes_##mode(void** state) { \ - static size_t const BYTES_SIZE = sizeof(bytes_value) / sizeof(uint8_t); \ - \ - DocState* doc_state = *state; \ - AMstack** stack_ptr = &doc_state->base_state->stack; \ - AMobjId const* const list = AMitemObjId( \ - AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); \ - AMstackItem( \ - NULL, AMlistPutBytes(doc_state->doc, list, 0, !strcmp(#mode, "insert"), AMbytes(bytes_value, BYTES_SIZE)), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); \ - AMbyteSpan bytes; \ - assert_true(AMitemToBytes( \ - AMstackItem(stack_ptr, AMlistGet(doc_state->doc, list, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), \ - &bytes)); \ - assert_int_equal(bytes.count, BYTES_SIZE); \ - assert_memory_equal(bytes.src, bytes_value, BYTES_SIZE); \ - AMresultFree(AMstackPop(stack_ptr, NULL)); \ - } - -#define test_AMlistPutNull(mode) test_AMlistPutNull_##mode - -#define static_void_test_AMlistPutNull(mode) \ - static void test_AMlistPutNull_##mode(void** state) { \ - DocState* doc_state = *state; \ - AMstack** stack_ptr = &doc_state->base_state->stack; \ - AMobjId const* const list = AMitemObjId( \ - AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); \ - AMstackItem(NULL, AMlistPutNull(doc_state->doc, list, 0, !strcmp(#mode, "insert")), cmocka_cb, \ - AMexpect(AM_VAL_TYPE_VOID)); \ - AMresult* result = AMstackResult(stack_ptr, AMlistGet(doc_state->doc, list, 0, NULL), NULL, NULL); \ - if (AMresultStatus(result) != AM_STATUS_OK) { \ - fail_msg_view("%s", AMresultError(result)); \ - } \ - assert_int_equal(AMresultSize(result), 1); \ - assert_int_equal(AMitemValType(AMresultItem(result)), AM_VAL_TYPE_NULL); \ - AMresultFree(AMstackPop(stack_ptr, NULL)); \ - } - -#define test_AMlistPutObject(label, mode) test_AMlistPutObject_##label##_##mode - -#define static_void_test_AMlistPutObject(label, mode) \ - static void test_AMlistPutObject_##label##_##mode(void** state) { \ - DocState* doc_state = *state; \ - AMstack** stack_ptr = &doc_state->base_state->stack; \ - AMobjId const* const list = AMitemObjId( \ - AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); \ - AMobjType const obj_type = suffix_to_obj_type(#label); \ - AMobjId const* const obj_id = AMitemObjId( \ - AMstackItem(stack_ptr, AMlistPutObject(doc_state->doc, list, 0, !strcmp(#mode, "insert"), obj_type), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); \ - assert_non_null(obj_id); \ - assert_int_equal(AMobjObjType(doc_state->doc, obj_id), obj_type); \ - assert_int_equal(AMobjSize(doc_state->doc, obj_id, NULL), 0); \ - AMresultFree(AMstackPop(stack_ptr, NULL)); \ - } - -#define test_AMlistPutStr(mode) test_AMlistPutStr##_##mode - -#define static_void_test_AMlistPutStr(mode, str_value) \ - static void test_AMlistPutStr_##mode(void** state) { \ - DocState* doc_state = *state; \ - AMstack** stack_ptr = &doc_state->base_state->stack; \ - AMobjId const* const list = AMitemObjId( \ - AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); \ - AMstackItem(NULL, AMlistPutStr(doc_state->doc, list, 0, !strcmp(#mode, "insert"), AMstr(str_value)), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); \ - AMbyteSpan str; \ - assert_true(AMitemToStr( \ - AMstackItem(stack_ptr, AMlistGet(doc_state->doc, list, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), \ - &str)); \ - assert_int_equal(str.count, strlen(str_value)); \ - assert_memory_equal(str.src, str_value, str.count); \ - AMresultFree(AMstackPop(stack_ptr, NULL)); \ - } - -static_void_test_AMlistPut(Bool, insert, bool, true); - -static_void_test_AMlistPut(Bool, update, bool, true); - -static uint8_t const BYTES_VALUE[] = {INT8_MIN, INT8_MAX / 2, INT8_MAX}; - -static_void_test_AMlistPutBytes(insert, BYTES_VALUE); - -static_void_test_AMlistPutBytes(update, BYTES_VALUE); - -static_void_test_AMlistPut(Counter, insert, int64_t, INT64_MAX); - -static_void_test_AMlistPut(Counter, update, int64_t, INT64_MAX); - -static_void_test_AMlistPut(F64, insert, double, DBL_MAX); - -static_void_test_AMlistPut(F64, update, double, DBL_MAX); - -static_void_test_AMlistPut(Int, insert, int64_t, INT64_MAX); - -static_void_test_AMlistPut(Int, update, int64_t, INT64_MAX); - -static_void_test_AMlistPutNull(insert); - -static_void_test_AMlistPutNull(update); - -static_void_test_AMlistPutObject(List, insert); - -static_void_test_AMlistPutObject(List, update); - -static_void_test_AMlistPutObject(Map, insert); - -static_void_test_AMlistPutObject(Map, update); - -static_void_test_AMlistPutObject(Text, insert); - -static_void_test_AMlistPutObject(Text, update); - -static_void_test_AMlistPutStr(insert, - "Hello, " - "world!"); - -static_void_test_AMlistPutStr(update, - "Hello," - " world" - "!"); - -static_void_test_AMlistPut(Timestamp, insert, int64_t, INT64_MAX); - -static_void_test_AMlistPut(Timestamp, update, int64_t, INT64_MAX); - -static_void_test_AMlistPut(Uint, insert, uint64_t, UINT64_MAX); - -static_void_test_AMlistPut(Uint, update, uint64_t, UINT64_MAX); - -static void test_get_range_values(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc1, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - - /* Insert elements. */ - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("First")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("Second")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("Third")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("Fourth")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("Fifth")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("Sixth")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("Seventh")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc1, list, 0, true, AMstr("Eighth")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc1, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMitems const v1 = AMstackItems(stack_ptr, AMgetHeads(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMdoc* doc2; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMfork(doc1, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - - AMstackItem(NULL, AMlistPutStr(doc1, list, 2, false, AMstr("Third V2")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc1, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMstackItem(NULL, AMlistPutStr(doc2, list, 2, false, AMstr("Third V3")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc2, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMstackItem(NULL, AMmerge(doc1, doc2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - /* Forward vs. reverse: complete current list range. */ - AMitems range = - AMstackItems(stack_ptr, AMlistRange(doc1, list, 0, SIZE_MAX, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - size_t size = AMitemsSize(&range); - assert_int_equal(size, 8); - AMitems range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - size_t pos; - assert_true(AMitemPos(AMitemsNext(&range, 1), &pos)); - assert_int_equal(pos, 0); - assert_true(AMitemPos(AMitemsNext(&range_back, 1), &pos)); - assert_int_equal(pos, 7); - - AMitem *item1, *item_back1; - size_t count, middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - size_t pos1, pos_back1; - assert_true(AMitemPos(item1, &pos1)); - assert_true(AMitemPos(item_back1, &pos_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(pos1, pos_back1); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(pos1, pos_back1); - } - AMitem* item2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos1, NULL), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos_back1, NULL), NULL, NULL); - /** \note An item returned from an `AM...Get()` call doesn't include the - index used to retrieve it. */ - assert_false(AMitemIdxType(item2)); - assert_false(AMitemIdxType(item_back2)); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item_back1, item_back2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* Forward vs. reverse: partial current list range. */ - range = AMstackItems(stack_ptr, AMlistRange(doc1, list, 1, 6, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - size = AMitemsSize(&range); - assert_int_equal(size, 5); - range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - assert_true(AMitemPos(AMitemsNext(&range, 1), &pos)); - assert_int_equal(pos, 1); - assert_true(AMitemPos(AMitemsNext(&range_back, 1), &pos)); - assert_int_equal(pos, 5); - - middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - size_t pos1, pos_back1; - assert_true(AMitemPos(item1, &pos1)); - assert_true(AMitemPos(item_back1, &pos_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(pos1, pos_back1); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(pos1, pos_back1); - } - AMitem* item2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos1, NULL), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos_back1, NULL), NULL, NULL); - /** \note An item returned from an `AMlistGet()` call doesn't include - the index used to retrieve it. */ - assert_int_equal(AMitemIdxType(item2), 0); - assert_int_equal(AMitemIdxType(item_back2), 0); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item_back1, item_back2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* Forward vs. reverse: complete historical map range. */ - range = AMstackItems(stack_ptr, AMlistRange(doc1, list, 0, SIZE_MAX, &v1), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - size = AMitemsSize(&range); - assert_int_equal(size, 8); - range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - assert_true(AMitemPos(AMitemsNext(&range, 1), &pos)); - assert_int_equal(pos, 0); - assert_true(AMitemPos(AMitemsNext(&range_back, 1), &pos)); - assert_int_equal(pos, 7); - - middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - size_t pos1, pos_back1; - assert_true(AMitemPos(item1, &pos1)); - assert_true(AMitemPos(item_back1, &pos_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(pos1, pos_back1); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(pos1, pos_back1); - } - AMitem* item2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos1, &v1), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos_back1, &v1), NULL, NULL); - /** \note An item returned from an `AM...Get()` call doesn't include the - index used to retrieve it. */ - assert_false(AMitemIdxType(item2)); - assert_false(AMitemIdxType(item_back2)); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item_back1, item_back2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* Forward vs. reverse: partial historical map range. */ - range = AMstackItems(stack_ptr, AMlistRange(doc1, list, 2, 7, &v1), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - size = AMitemsSize(&range); - assert_int_equal(size, 5); - range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - assert_true(AMitemPos(AMitemsNext(&range, 1), &pos)); - assert_int_equal(pos, 2); - assert_true(AMitemPos(AMitemsNext(&range_back, 1), &pos)); - assert_int_equal(pos, 6); - - middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - size_t pos1, pos_back1; - assert_true(AMitemPos(item1, &pos1)); - assert_true(AMitemPos(item_back1, &pos_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(pos1, pos_back1); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(pos1, pos_back1); - } - AMitem* item2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos1, &v1), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMlistGet(doc1, list, pos_back1, &v1), NULL, NULL); - /** \note An item returned from an `AM...Get()` call doesn't include the - index used to retrieve it. */ - assert_false(AMitemIdxType(item2)); - assert_false(AMitemIdxType(item_back2)); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item_back1, item_back2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* List range vs. object range: complete current. */ - range = AMstackItems(stack_ptr, AMlistRange(doc1, list, 0, SIZE_MAX, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMitems obj_items = AMstackItems(stack_ptr, AMobjItems(doc1, list, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&range), AMitemsSize(&obj_items)); - - AMitem *item, *obj_item; - for (item = NULL, obj_item = NULL; item && obj_item; - item = AMitemsNext(&range, 1), obj_item = AMitemsNext(&obj_items, 1)) { - /** \note Object iteration doesn't yield any item indices. */ - assert_true(AMitemIdxType(item)); - assert_false(AMitemIdxType(obj_item)); - assert_true(AMitemEqual(item, obj_item)); - assert_true(AMobjIdEqual(AMitemObjId(item), AMitemObjId(obj_item))); - } - - /* List range vs. object range: complete historical. */ - range = AMstackItems(stack_ptr, AMlistRange(doc1, list, 0, SIZE_MAX, &v1), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - obj_items = AMstackItems(stack_ptr, AMobjItems(doc1, list, &v1), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&range), AMitemsSize(&obj_items)); - - for (item = NULL, obj_item = NULL; item && obj_item; - item = AMitemsNext(&range, 1), obj_item = AMitemsNext(&obj_items, 1)) { - /** \note Object iteration doesn't yield any item indices. */ - assert_true(AMitemIdxType(item)); - assert_false(AMitemIdxType(obj_item)); - assert_true(AMitemEqual(item, obj_item)); - assert_true(AMobjIdEqual(AMitemObjId(item), AMitemObjId(obj_item))); - } -} - -/** - * \brief A JavaScript application can introduce NUL (`\0`) characters into a - * list object's string value which will truncate it in a C application. - */ -static void test_get_NUL_string_value(void** state) { - /* - import * as Automerge from "@automerge/automerge"; - let doc = Automerge.init(); - doc = Automerge.change(doc, doc => { - doc[0] = 'o\0ps'; - }); - const bytes = Automerge.save(doc); - console.log("static uint8_t const SAVED_DOC[] = {" + Array.apply([], - bytes).join(", ") + "};"); - */ - static uint8_t const OOPS_VALUE[] = {'o', '\0', 'p', 's'}; - static size_t const OOPS_SIZE = sizeof(OOPS_VALUE) / sizeof(uint8_t); - - static uint8_t const SAVED_DOC[] = { - 133, 111, 74, 131, 224, 28, 197, 17, 0, 113, 1, 16, 246, 137, 63, 193, 255, 181, 76, 79, 129, - 213, 133, 29, 214, 158, 164, 15, 1, 207, 184, 14, 57, 1, 194, 79, 247, 82, 160, 134, 227, 144, - 5, 241, 136, 205, 238, 250, 251, 54, 34, 250, 210, 96, 204, 132, 153, 203, 110, 109, 6, 6, 1, - 2, 3, 2, 19, 2, 35, 2, 64, 2, 86, 2, 8, 21, 3, 33, 2, 35, 2, 52, 1, 66, - 2, 86, 2, 87, 4, 128, 1, 2, 127, 0, 127, 1, 127, 1, 127, 0, 127, 0, 127, 7, 127, - 1, 48, 127, 0, 127, 1, 1, 127, 1, 127, 70, 111, 0, 112, 115, 127, 0, 0}; - static size_t const SAVED_DOC_SIZE = sizeof(SAVED_DOC) / sizeof(uint8_t); - - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(SAVED_DOC, SAVED_DOC_SIZE), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMbyteSpan str; - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, AM_ROOT, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_not_equal(str.count, strlen(OOPS_VALUE)); - assert_int_equal(str.count, OOPS_SIZE); - assert_memory_equal(str.src, OOPS_VALUE, str.count); -} - -static void test_insert_at_index(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* Insert both at the same index. */ - AMstackItem(NULL, AMlistPutUint(doc, list, 0, true, 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutUint(doc, list, 0, true, 1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - assert_int_equal(AMobjSize(doc, list, NULL), 2); - AMitems const keys = AMstackItems(stack_ptr, AMkeys(doc, list, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&keys), 2); - AMitems const range = - AMstackItems(stack_ptr, AMlistRange(doc, list, 0, SIZE_MAX, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_UINT)); - assert_int_equal(AMitemsSize(&range), 2); -} - -int run_list_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test(test_AMlistIncrement), - cmocka_unit_test(test_AMlistPut(Bool, insert)), - cmocka_unit_test(test_AMlistPut(Bool, update)), - cmocka_unit_test(test_AMlistPutBytes(insert)), - cmocka_unit_test(test_AMlistPutBytes(update)), - cmocka_unit_test(test_AMlistPut(Counter, insert)), - cmocka_unit_test(test_AMlistPut(Counter, update)), - cmocka_unit_test(test_AMlistPut(F64, insert)), - cmocka_unit_test(test_AMlistPut(F64, update)), - cmocka_unit_test(test_AMlistPut(Int, insert)), - cmocka_unit_test(test_AMlistPut(Int, update)), - cmocka_unit_test(test_AMlistPutNull(insert)), - cmocka_unit_test(test_AMlistPutNull(update)), - cmocka_unit_test(test_AMlistPutObject(List, insert)), - cmocka_unit_test(test_AMlistPutObject(List, update)), - cmocka_unit_test(test_AMlistPutObject(Map, insert)), - cmocka_unit_test(test_AMlistPutObject(Map, update)), - cmocka_unit_test(test_AMlistPutObject(Text, insert)), - cmocka_unit_test(test_AMlistPutObject(Text, update)), - cmocka_unit_test(test_AMlistPutStr(insert)), - cmocka_unit_test(test_AMlistPutStr(update)), - cmocka_unit_test(test_AMlistPut(Timestamp, insert)), - cmocka_unit_test(test_AMlistPut(Timestamp, update)), - cmocka_unit_test(test_AMlistPut(Uint, insert)), - cmocka_unit_test(test_AMlistPut(Uint, update)), - cmocka_unit_test_setup_teardown(test_get_range_values, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_get_NUL_string_value, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_insert_at_index, setup_base, teardown_base), - }; - - return cmocka_run_group_tests(tests, setup_doc, teardown_doc); -} diff --git a/rust/automerge-c/test/macro_utils.c b/rust/automerge-c/test/macro_utils.c deleted file mode 100644 index 3a546eb5..00000000 --- a/rust/automerge-c/test/macro_utils.c +++ /dev/null @@ -1,38 +0,0 @@ -#include - -/* local */ -#include "macro_utils.h" - -AMobjType suffix_to_obj_type(char const* obj_type_label) { - if (!strcmp(obj_type_label, "List")) - return AM_OBJ_TYPE_LIST; - else if (!strcmp(obj_type_label, "Map")) - return AM_OBJ_TYPE_MAP; - else if (!strcmp(obj_type_label, "Text")) - return AM_OBJ_TYPE_TEXT; - else - return AM_OBJ_TYPE_DEFAULT; -} - -AMvalType suffix_to_val_type(char const* suffix) { - if (!strcmp(suffix, "Bool")) - return AM_VAL_TYPE_BOOL; - else if (!strcmp(suffix, "Bytes")) - return AM_VAL_TYPE_BYTES; - else if (!strcmp(suffix, "Counter")) - return AM_VAL_TYPE_COUNTER; - else if (!strcmp(suffix, "F64")) - return AM_VAL_TYPE_F64; - else if (!strcmp(suffix, "Int")) - return AM_VAL_TYPE_INT; - else if (!strcmp(suffix, "Null")) - return AM_VAL_TYPE_NULL; - else if (!strcmp(suffix, "Str")) - return AM_VAL_TYPE_STR; - else if (!strcmp(suffix, "Timestamp")) - return AM_VAL_TYPE_TIMESTAMP; - else if (!strcmp(suffix, "Uint")) - return AM_VAL_TYPE_UINT; - else - return AM_VAL_TYPE_DEFAULT; -} diff --git a/rust/automerge-c/test/macro_utils.h b/rust/automerge-c/test/macro_utils.h deleted file mode 100644 index e4c2c5b9..00000000 --- a/rust/automerge-c/test/macro_utils.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef TESTS_MACRO_UTILS_H -#define TESTS_MACRO_UTILS_H - -/* local */ -#include - -/** - * \brief Gets the object type tag corresponding to an object type suffix. - * - * \param[in] suffix An object type suffix string. - * \return An `AMobjType` enum tag. - */ -AMobjType suffix_to_obj_type(char const* suffix); - -/** - * \brief Gets the value type tag corresponding to a value type suffix. - * - * \param[in] suffix A value type suffix string. - * \return An `AMvalType` enum tag. - */ -AMvalType suffix_to_val_type(char const* suffix); - -#endif /* TESTS_MACRO_UTILS_H */ diff --git a/rust/automerge-c/test/main.c b/rust/automerge-c/test/main.c deleted file mode 100644 index 2996c9b3..00000000 --- a/rust/automerge-c/test/main.c +++ /dev/null @@ -1,28 +0,0 @@ -#include -#include -#include -#include - -/* third-party */ -#include - -extern int run_actor_id_tests(void); - -extern int run_byte_span_tests(void); - -extern int run_doc_tests(void); - -extern int run_enum_string_tests(void); - -extern int run_item_tests(void); - -extern int run_list_tests(void); - -extern int run_map_tests(void); - -extern int run_ported_wasm_suite(void); - -int main(void) { - return (run_actor_id_tests() + run_byte_span_tests() + run_doc_tests() + run_enum_string_tests() + - run_item_tests() + run_list_tests() + run_map_tests() + run_ported_wasm_suite()); -} diff --git a/rust/automerge-c/test/map_tests.c b/rust/automerge-c/test/map_tests.c deleted file mode 100644 index 2ee2e69a..00000000 --- a/rust/automerge-c/test/map_tests.c +++ /dev/null @@ -1,1582 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include -#include -#include "base_state.h" -#include "cmocka_utils.h" -#include "doc_state.h" -#include "macro_utils.h" - -static void test_AMmapIncrement(void** state) { - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->base_state->stack; - AMstackItem(NULL, AMmapPutCounter(doc_state->doc, AM_ROOT, AMstr("Counter"), 0), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - int64_t counter; - assert_true(AMitemToCounter(AMstackItem(stack_ptr, AMmapGet(doc_state->doc, AM_ROOT, AMstr("Counter"), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_COUNTER)), - &counter)); - assert_int_equal(counter, 0); - AMresultFree(AMstackPop(stack_ptr, NULL)); - AMstackItem(NULL, AMmapIncrement(doc_state->doc, AM_ROOT, AMstr("Counter"), 3), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - assert_true(AMitemToCounter(AMstackItem(stack_ptr, AMmapGet(doc_state->doc, AM_ROOT, AMstr("Counter"), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_COUNTER)), - &counter)); - assert_int_equal(counter, 3); - AMresultFree(AMstackPop(stack_ptr, NULL)); -} - -#define test_AMmapPut(suffix) test_AMmapPut##suffix - -#define static_void_test_AMmapPut(suffix, type, scalar_value) \ - static void test_AMmapPut##suffix(void** state) { \ - DocState* doc_state = *state; \ - AMstack** stack_ptr = &doc_state->base_state->stack; \ - AMstackItem(NULL, AMmapPut##suffix(doc_state->doc, AM_ROOT, AMstr(#suffix), scalar_value), cmocka_cb, \ - AMexpect(AM_VAL_TYPE_VOID)); \ - type value; \ - assert_true(AMitemTo##suffix(AMstackItem(stack_ptr, AMmapGet(doc_state->doc, AM_ROOT, AMstr(#suffix), NULL), \ - cmocka_cb, AMexpect(suffix_to_val_type(#suffix))), \ - &value)); \ - assert_true(value == scalar_value); \ - AMresultFree(AMstackPop(stack_ptr, NULL)); \ - } - -static void test_AMmapPutBytes(void** state) { - static AMbyteSpan const KEY = {"Bytes", 5}; - static uint8_t const BYTES_VALUE[] = {INT8_MIN, INT8_MAX / 2, INT8_MAX}; - static size_t const BYTES_SIZE = sizeof(BYTES_VALUE) / sizeof(uint8_t); - - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->base_state->stack; - AMstackItem(NULL, AMmapPutBytes(doc_state->doc, AM_ROOT, KEY, AMbytes(BYTES_VALUE, BYTES_SIZE)), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - AMbyteSpan bytes; - assert_true(AMitemToBytes( - AMstackItem(stack_ptr, AMmapGet(doc_state->doc, AM_ROOT, KEY, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), - &bytes)); - assert_int_equal(bytes.count, BYTES_SIZE); - assert_memory_equal(bytes.src, BYTES_VALUE, BYTES_SIZE); - AMresultFree(AMstackPop(stack_ptr, NULL)); -} - -static void test_AMmapPutNull(void** state) { - static AMbyteSpan const KEY = {"Null", 4}; - - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->base_state->stack; - AMstackItem(NULL, AMmapPutNull(doc_state->doc, AM_ROOT, KEY), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMresult* result = AMstackResult(stack_ptr, AMmapGet(doc_state->doc, AM_ROOT, KEY, NULL), NULL, NULL); - if (AMresultStatus(result) != AM_STATUS_OK) { - fail_msg_view("%s", AMresultError(result)); - } - assert_int_equal(AMresultSize(result), 1); - AMitem* item = AMresultItem(result); - assert_int_equal(AMitemValType(item), AM_VAL_TYPE_NULL); -} - -#define test_AMmapPutObject(label) test_AMmapPutObject_##label - -#define static_void_test_AMmapPutObject(label) \ - static void test_AMmapPutObject_##label(void** state) { \ - DocState* doc_state = *state; \ - AMstack** stack_ptr = &doc_state->base_state->stack; \ - AMobjType const obj_type = suffix_to_obj_type(#label); \ - AMobjId const* const obj_id = \ - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc_state->doc, AM_ROOT, AMstr(#label), obj_type), \ - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); \ - assert_non_null(obj_id); \ - assert_int_equal(AMobjObjType(doc_state->doc, obj_id), obj_type); \ - assert_int_equal(AMobjSize(doc_state->doc, obj_id, NULL), 0); \ - AMresultFree(AMstackPop(stack_ptr, NULL)); \ - } - -static void test_AMmapPutStr(void** state) { - DocState* doc_state = *state; - AMstack** stack_ptr = &doc_state->base_state->stack; - AMstackItem(NULL, AMmapPutStr(doc_state->doc, AM_ROOT, AMstr("Str"), AMstr("Hello, world!")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - AMbyteSpan str; - assert_true(AMitemToStr(AMstackItem(stack_ptr, AMmapGet(doc_state->doc, AM_ROOT, AMstr("Str"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)), - &str)); - assert_int_equal(str.count, strlen("Hello, world!")); - assert_memory_equal(str.src, "Hello, world!", str.count); - AMresultFree(AMstackPop(stack_ptr, NULL)); -} - -static_void_test_AMmapPut(Bool, bool, true); - -static_void_test_AMmapPut(Counter, int64_t, INT64_MAX); - -static_void_test_AMmapPut(F64, double, DBL_MAX); - -static_void_test_AMmapPut(Int, int64_t, INT64_MAX); - -static_void_test_AMmapPutObject(List); - -static_void_test_AMmapPutObject(Map); - -static_void_test_AMmapPutObject(Text); - -static_void_test_AMmapPut(Timestamp, int64_t, INT64_MAX); - -static_void_test_AMmapPut(Uint, int64_t, UINT64_MAX); - -/** - * \brief A JavaScript application can introduce NUL (`\0`) characters into - * a map object's key which will truncate it in a C application. - */ -static void test_get_NUL_key(void** state) { - /* - import * as Automerge from "@automerge/automerge"; - let doc = Automerge.init(); - doc = Automerge.change(doc, doc => { - doc['o\0ps'] = 'oops'; - }); - const bytes = Automerge.save(doc); - console.log("static uint8_t const SAVED_DOC[] = {" + Array.apply([], - bytes).join(", ") + "};"); - */ - static uint8_t const OOPS_SRC[] = {'o', '\0', 'p', 's'}; - static AMbyteSpan const OOPS_KEY = {.src = OOPS_SRC, .count = sizeof(OOPS_SRC) / sizeof(uint8_t)}; - - static uint8_t const SAVED_DOC[] = { - 133, 111, 74, 131, 233, 150, 60, 244, 0, 116, 1, 16, 223, 253, 146, 193, 58, 122, 66, 134, 151, - 225, 210, 51, 58, 86, 247, 8, 1, 49, 118, 234, 228, 42, 116, 171, 13, 164, 99, 244, 27, 19, - 150, 44, 201, 136, 222, 219, 90, 246, 226, 123, 77, 120, 157, 155, 55, 182, 2, 178, 64, 6, 1, - 2, 3, 2, 19, 2, 35, 2, 64, 2, 86, 2, 8, 21, 6, 33, 2, 35, 2, 52, 1, 66, - 2, 86, 2, 87, 4, 128, 1, 2, 127, 0, 127, 1, 127, 1, 127, 0, 127, 0, 127, 7, 127, - 4, 111, 0, 112, 115, 127, 0, 127, 1, 1, 127, 1, 127, 70, 111, 111, 112, 115, 127, 0, 0}; - static size_t const SAVED_DOC_SIZE = sizeof(SAVED_DOC) / sizeof(uint8_t); - - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(SAVED_DOC, SAVED_DOC_SIZE), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMbyteSpan str; - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, OOPS_KEY, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_not_equal(OOPS_KEY.count, strlen(OOPS_KEY.src)); - assert_int_equal(str.count, strlen("oops")); - assert_memory_equal(str.src, "oops", str.count); -} - -/** - * \brief A JavaScript application can introduce NUL (`\0`) characters into a - * map object's string value which will truncate it in a C application. - */ -static void test_get_NUL_string_value(void** state) { - /* - import * as Automerge from "@automerge/automerge"; - let doc = Automerge.init(); - doc = Automerge.change(doc, doc => { - doc.oops = 'o\0ps'; - }); - const bytes = Automerge.save(doc); - console.log("static uint8_t const SAVED_DOC[] = {" + Array.apply([], - bytes).join(", ") + "};"); - */ - static uint8_t const OOPS_VALUE[] = {'o', '\0', 'p', 's'}; - static size_t const OOPS_SIZE = sizeof(OOPS_VALUE) / sizeof(uint8_t); - - static uint8_t const SAVED_DOC[] = { - 133, 111, 74, 131, 63, 94, 151, 29, 0, 116, 1, 16, 156, 159, 189, 12, 125, 55, 71, 154, 136, - 104, 237, 186, 45, 224, 32, 22, 1, 36, 163, 164, 222, 81, 42, 1, 247, 231, 156, 54, 222, 76, - 6, 109, 18, 172, 75, 36, 118, 120, 68, 73, 87, 186, 230, 127, 68, 19, 81, 149, 185, 6, 1, - 2, 3, 2, 19, 2, 35, 2, 64, 2, 86, 2, 8, 21, 6, 33, 2, 35, 2, 52, 1, 66, - 2, 86, 2, 87, 4, 128, 1, 2, 127, 0, 127, 1, 127, 1, 127, 0, 127, 0, 127, 7, 127, - 4, 111, 111, 112, 115, 127, 0, 127, 1, 1, 127, 1, 127, 70, 111, 0, 112, 115, 127, 0, 0}; - static size_t const SAVED_DOC_SIZE = sizeof(SAVED_DOC) / sizeof(uint8_t); - - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(SAVED_DOC, SAVED_DOC_SIZE), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMbyteSpan str; - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("oops"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), - &str)); - assert_int_not_equal(str.count, strlen(OOPS_VALUE)); - assert_int_equal(str.count, OOPS_SIZE); - assert_memory_equal(str.src, OOPS_VALUE, str.count); -} - -static void test_range_iter_map(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("a"), 3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("b"), 4), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("c"), 5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("d"), 6), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("a"), 7), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("a"), 8), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("d"), 9), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMactorId const* actor_id; - assert_true(AMitemToActorId(AMstackItem(stack_ptr, AMgetActorId(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMitems map_items = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)); - assert_int_equal(AMitemsSize(&map_items), 4); - - /* ["b"-"d") */ - AMitems range = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr("b"), AMstr("d"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)); - /* First */ - AMitem* next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "b", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - uint64_t uint; - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 4); - AMobjId const* next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Second */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "c", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 5); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - assert_null(AMitemsNext(&range, 1)); - - /* ["b"-) */ - range = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr("b"), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)); - /* First */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "b", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 4); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Second */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "c", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 5); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "d", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 9); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 7); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Fourth */ - assert_null(AMitemsNext(&range, 1)); - - /* [-"d") */ - range = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr("d"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)); - /* First */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "a", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 8); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 6); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Second */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "b", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 4); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "c", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 5); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Fourth */ - assert_null(AMitemsNext(&range, 1)); - - /* ["a"-) */ - range = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr("a"), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)); - /* First */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "a", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 8); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 6); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Second */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "b", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 4); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "c", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 5); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Fourth */ - next = AMitemsNext(&range, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "d", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_UINT); - assert_true(AMitemToUint(next, &uint)); - assert_int_equal(uint, 9); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 7); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Fifth */ - assert_null(AMitemsNext(&range, 1)); -} - -static void test_map_range_back_and_forth_single(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMactorId const* actor_id; - assert_true(AMitemToActorId(AMstackItem(stack_ptr, AMgetActorId(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("1"), AMstr("a")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("2"), AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("3"), AMstr("c")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - /* Forward, back, back. */ - AMitems range_all = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - /* First */ - AMitem* next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - AMbyteSpan str; - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - AMobjId const* next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - AMitems range_back_all = AMitemsReversed(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - AMitem* next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - AMbyteSpan str_back; - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "c", str_back.count); - AMobjId const* next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "b", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - - /* Forward, back, forward. */ - range_all = AMitemsRewound(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "c", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - - /* Forward, forward, forward. */ - range_all = AMitemsRewound(&range_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Forward stop */ - assert_null(AMitemsNext(&range_all, 1)); - - /* Back, back, back. */ - range_back_all = AMitemsRewound(&range_back_all); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "c", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "b", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* First */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "a", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Back stop */ - assert_null(AMitemsNext(&range_back_all, 1)); -} - -static void test_map_range_back_and_forth_double(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - AMactorId const* actor_id1; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromBytes("\0", 1), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id1)); - AMstackItem(NULL, AMsetActorId(doc1, actor_id1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("1"), AMstr("a")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("2"), AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("3"), AMstr("c")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - /* The second actor should win all conflicts here. */ - AMdoc* doc2; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - AMactorId const* actor_id2; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromBytes("\1", 1), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id2)); - AMstackItem(NULL, AMsetActorId(doc2, actor_id2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("1"), AMstr("aa")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("2"), AMstr("bb")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("3"), AMstr("cc")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - AMstackItem(NULL, AMmerge(doc1, doc2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - /* Forward, back, back. */ - AMitems range_all = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - /* First */ - AMitem* next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - AMbyteSpan str; - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "aa", str.count); - AMobjId const* next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Third */ - AMitems range_back_all = AMitemsReversed(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - AMitem* next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - AMbyteSpan str_back; - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "cc", str_back.count); - AMobjId const* next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "bb", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - - /* Forward, back, forward. */ - range_all = AMitemsRewound(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "aa", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "cc", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "bb", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - - /* Forward, forward, forward. */ - range_all = AMitemsRewound(&range_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "aa", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "bb", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Third */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "cc", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Forward stop */ - assert_null(AMitemsNext(&range_all, 1)); - - /* Back, back, back. */ - range_back_all = AMitemsRewound(&range_back_all); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "cc", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "bb", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* First */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "aa", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Back stop */ - assert_null(AMitemsNext(&range_back_all, 1)); -} - -static void test_map_range_at_back_and_forth_single(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - AMactorId const* actor_id; - assert_true(AMitemToActorId(AMstackItem(stack_ptr, AMgetActorId(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("1"), AMstr("a")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("2"), AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("3"), AMstr("c")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - AMitems const heads = AMstackItems(stack_ptr, AMgetHeads(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - /* Forward, back, back. */ - AMitems range_all = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), &heads), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - /* First */ - AMitem* next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - AMbyteSpan str; - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - AMobjId const* next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - AMitems range_back_all = AMitemsReversed(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - AMitem* next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - AMbyteSpan str_back; - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "c", str_back.count); - AMobjId const* next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "b", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - - /* Forward, back, forward. */ - range_all = AMitemsRewound(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "c", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - - /* Forward, forward, forward. */ - range_all = AMitemsRewound(&range_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Third */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 0); - /* Forward stop */ - assert_null(AMitemsNext(&range_all, 1)); - - /* Back, back, back. */ - range_back_all = AMitemsRewound(&range_back_all); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "c", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "b", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* First */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 1); - assert_memory_equal(str_back.src, "a", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 0); - /* Back stop */ - assert_null(AMitemsNext(&range_back_all, 1)); -} - -static void test_map_range_at_back_and_forth_double(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - AMactorId const* actor_id1; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromBytes("\0", 1), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id1)); - AMstackItem(NULL, AMsetActorId(doc1, actor_id1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("1"), AMstr("a")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("2"), AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("3"), AMstr("c")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - /* The second actor should win all conflicts here. */ - AMdoc* doc2; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - AMactorId const* actor_id2; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromBytes("\1", 1), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id2)); - AMstackItem(NULL, AMsetActorId(doc2, actor_id2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("1"), AMstr("aa")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("2"), AMstr("bb")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("3"), AMstr("cc")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - - AMstackItem(NULL, AMmerge(doc1, doc2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems const heads = AMstackItems(stack_ptr, AMgetHeads(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - /* Forward, back, back. */ - AMitems range_all = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr(NULL), AMstr(NULL), &heads), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - /* First */ - AMitem* next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - AMbyteSpan str; - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "aa", str.count); - AMobjId const* next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Third */ - AMitems range_back_all = AMitemsReversed(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - AMitem* next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - AMbyteSpan str_back; - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "cc", str_back.count); - AMobjId const* next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "bb", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - - /* Forward, back, forward. */ - range_all = AMitemsRewound(&range_all); - range_back_all = AMitemsRewound(&range_back_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "aa", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "cc", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "bb", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - - /* Forward, forward, forward. */ - range_all = AMitemsRewound(&range_all); - /* First */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "aa", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Second */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "bb", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Third */ - next = AMitemsNext(&range_all, 1); - assert_non_null(next); - assert_int_equal(AMitemIdxType(next), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next, &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "cc", str.count); - next_obj_id = AMitemObjId(next); - assert_int_equal(AMobjIdCounter(next_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_obj_id), 1); - /* Forward stop */ - assert_null(AMitemsNext(&range_all, 1)); - - /* Back, back, back. */ - range_back_all = AMitemsRewound(&range_back_all); - /* Third */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "3", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "cc", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 3); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Second */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "2", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "bb", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 2); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* First */ - next_back = AMitemsNext(&range_back_all, 1); - assert_non_null(next_back); - assert_int_equal(AMitemIdxType(next_back), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(next_back, &key)); - assert_int_equal(key.count, 1); - assert_memory_equal(key.src, "1", key.count); - assert_int_equal(AMitemValType(next_back), AM_VAL_TYPE_STR); - assert_true(AMitemToStr(next_back, &str_back)); - assert_int_equal(str_back.count, 2); - assert_memory_equal(str_back.src, "aa", str_back.count); - next_back_obj_id = AMitemObjId(next_back); - assert_int_equal(AMobjIdCounter(next_back_obj_id), 1); - assert_int_equal(AMactorIdCmp(AMobjIdActorId(next_back_obj_id), actor_id2), 0); - assert_int_equal(AMobjIdIndex(next_back_obj_id), 1); - /* Back stop */ - assert_null(AMitemsNext(&range_back_all, 1)); -} - -static void test_get_range_values(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("aa"), AMstr("aaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("bb"), AMstr("bbb")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("cc"), AMstr("ccc")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("dd"), AMstr("ddd")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc1, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMitems const v1 = AMstackItems(stack_ptr, AMgetHeads(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMdoc* doc2; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMfork(doc1, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("cc"), AMstr("ccc V2")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc1, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("cc"), AMstr("ccc V3")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(doc2, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - AMstackItem(NULL, AMmerge(doc1, doc2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - - /* Forward vs. reverse: complete current map range. */ - AMitems range = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - size_t size = AMitemsSize(&range); - assert_int_equal(size, 4); - AMitems range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - AMbyteSpan key; - assert_true(AMitemKey(AMitemsNext(&range, 1), &key)); - assert_memory_equal(key.src, "aa", key.count); - assert_true(AMitemKey(AMitemsNext(&range_back, 1), &key)); - assert_memory_equal(key.src, "dd", key.count); - - AMitem *item1, *item_back1; - size_t count, middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - AMbyteSpan key1, key_back1; - assert_true(AMitemKey(item1, &key1)); - assert_true(AMitemKey(item_back1, &key_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(AMstrCmp(key1, key_back1), 0); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(AMstrCmp(key1, key_back1), 0); - } - AMitem* item2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key1, NULL), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key_back1, NULL), NULL, NULL); - /** \note An item returned from an `AM...Get()` call doesn't include the - index used to retrieve it. */ - assert_false(AMitemIdxType(item2)); - assert_false(AMitemIdxType(item_back2)); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* Forward vs. reverse: partial current map range. */ - range = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr("aa"), AMstr("dd"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - size = AMitemsSize(&range); - assert_int_equal(size, 3); - range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - assert_true(AMitemKey(AMitemsNext(&range, 1), &key)); - assert_memory_equal(key.src, "aa", key.count); - assert_true(AMitemKey(AMitemsNext(&range_back, 1), &key)); - assert_memory_equal(key.src, "cc", key.count); - - middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - AMbyteSpan key1, key_back1; - assert_true(AMitemKey(item1, &key1)); - assert_true(AMitemKey(item_back1, &key_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(AMstrCmp(key1, key_back1), 0); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(AMstrCmp(key1, key_back1), 0); - } - AMitem* item2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key1, NULL), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key_back1, NULL), NULL, NULL); - /** \note An item returned from an `AM...Get()` call doesn't include the - index used to retrieve it. */ - assert_false(AMitemIdxType(item2)); - assert_false(AMitemIdxType(item_back2)); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item_back1, item_back2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* Forward vs. reverse: complete historical map range. */ - range = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr(NULL), AMstr(NULL), &v1), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - size = AMitemsSize(&range); - assert_int_equal(size, 4); - range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - assert_true(AMitemKey(AMitemsNext(&range, 1), &key)); - assert_memory_equal(key.src, "aa", key.count); - assert_true(AMitemKey(AMitemsNext(&range_back, 1), &key)); - assert_memory_equal(key.src, "dd", key.count); - - middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - AMbyteSpan key1, key_back1; - assert_true(AMitemKey(item1, &key1)); - assert_true(AMitemKey(item_back1, &key_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(AMstrCmp(key1, key_back1), 0); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(AMstrCmp(key1, key_back1), 0); - } - AMitem* item2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key1, &v1), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key_back1, &v1), NULL, NULL); - /** \note An item returned from an `AM...Get()` call doesn't include the - index used to retrieve it. */ - assert_false(AMitemIdxType(item2)); - assert_false(AMitemIdxType(item_back2)); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item_back1, item_back2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* Forward vs. reverse: partial historical map range. */ - range = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr("bb"), AMstr(NULL), &v1), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - size = AMitemsSize(&range); - assert_int_equal(size, 3); - range_back = AMitemsReversed(&range); - assert_int_equal(AMitemsSize(&range_back), size); - assert_true(AMitemKey(AMitemsNext(&range, 1), &key)); - assert_memory_equal(key.src, "bb", key.count); - assert_true(AMitemKey(AMitemsNext(&range_back, 1), &key)); - assert_memory_equal(key.src, "dd", key.count); - - middle = size / 2; - range = AMitemsRewound(&range); - range_back = AMitemsRewound(&range_back); - for (item1 = NULL, item_back1 = NULL, count = 0; item1 && item_back1; - item1 = AMitemsNext(&range, 1), item_back1 = AMitemsNext(&range_back, 1), ++count) { - AMbyteSpan key1, key_back1; - assert_true(AMitemKey(item1, &key1)); - assert_true(AMitemKey(item_back1, &key_back1)); - if ((count == middle) && (middle & 1)) { - /* The iterators are crossing in the middle. */ - assert_int_equal(AMstrCmp(key1, key_back1), 0); - assert_true(AMitemEqual(item1, item_back1)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item_back1))); - } else { - assert_int_not_equal(AMstrCmp(key1, key_back1), 0); - } - AMitem* item2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key1, &v1), NULL, NULL); - AMitem* item_back2 = AMstackItem(stack_ptr, AMmapGet(doc1, AM_ROOT, key_back1, &v1), NULL, NULL); - /** \note An item returned from an `AM...Get()` call doesn't include the - index used to retrieve it. */ - assert_false(AMitemIdxType(item2)); - assert_false(AMitemIdxType(item_back2)); - assert_true(AMitemEqual(item1, item2)); - assert_true(AMobjIdEqual(AMitemObjId(item1), AMitemObjId(item2))); - assert_true(AMitemEqual(item_back1, item_back2)); - assert_true(AMobjIdEqual(AMitemObjId(item_back1), AMitemObjId(item_back2))); - AMresultFree(AMstackPop(stack_ptr, NULL)); - } - - /* Map range vs. object range: complete current. */ - range = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - AMitems obj_items = AMstackItems(stack_ptr, AMobjItems(doc1, AM_ROOT, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&range), AMitemsSize(&obj_items)); - - AMitem *item, *obj_item; - for (item = NULL, obj_item = NULL; item && obj_item; - item = AMitemsNext(&range, 1), obj_item = AMitemsNext(&obj_items, 1)) { - /** \note Object iteration doesn't yield any item indices. */ - assert_true(AMitemIdxType(item)); - assert_false(AMitemIdxType(obj_item)); - assert_true(AMitemEqual(item, obj_item)); - assert_true(AMobjIdEqual(AMitemObjId(item), AMitemObjId(obj_item))); - } - - /* Map range vs. object range: complete historical. */ - range = AMstackItems(stack_ptr, AMmapRange(doc1, AM_ROOT, AMstr(NULL), AMstr(NULL), &v1), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - obj_items = AMstackItems(stack_ptr, AMobjItems(doc1, AM_ROOT, &v1), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&range), AMitemsSize(&obj_items)); - - for (item = NULL, obj_item = NULL; item && obj_item; - item = AMitemsNext(&range, 1), obj_item = AMitemsNext(&obj_items, 1)) { - /** \note Object iteration doesn't yield any item indices. */ - assert_true(AMitemIdxType(item)); - assert_false(AMitemIdxType(obj_item)); - assert_true(AMitemEqual(item, obj_item)); - assert_true(AMobjIdEqual(AMitemObjId(item), AMitemObjId(obj_item))); - } -} - -int run_map_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test(test_AMmapIncrement), - cmocka_unit_test(test_AMmapPut(Bool)), - cmocka_unit_test(test_AMmapPutBytes), - cmocka_unit_test(test_AMmapPut(Counter)), - cmocka_unit_test(test_AMmapPut(F64)), - cmocka_unit_test(test_AMmapPut(Int)), - cmocka_unit_test(test_AMmapPutNull), - cmocka_unit_test(test_AMmapPutObject(List)), - cmocka_unit_test(test_AMmapPutObject(Map)), - cmocka_unit_test(test_AMmapPutObject(Text)), - cmocka_unit_test(test_AMmapPutStr), - cmocka_unit_test(test_AMmapPut(Timestamp)), - cmocka_unit_test(test_AMmapPut(Uint)), - cmocka_unit_test_setup_teardown(test_get_NUL_key, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_get_NUL_string_value, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_range_iter_map, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_map_range_back_and_forth_single, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_map_range_back_and_forth_double, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_map_range_at_back_and_forth_single, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_map_range_at_back_and_forth_double, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_get_range_values, setup_base, teardown_base), - }; - - return cmocka_run_group_tests(tests, setup_doc, teardown_doc); -} diff --git a/rust/automerge-c/test/ported_wasm/basic_tests.c b/rust/automerge-c/test/ported_wasm/basic_tests.c deleted file mode 100644 index b83ff132..00000000 --- a/rust/automerge-c/test/ported_wasm/basic_tests.c +++ /dev/null @@ -1,1642 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include -#include -#include "../base_state.h" -#include "../cmocka_utils.h" - -/** - * \brief default import init() should return a promise - */ -static void test_default_import_init_should_return_a_promise(void** state); - -/** - * \brief should create, clone and free - */ -static void test_create_clone_and_free(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc1 = create() */ - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - /* const doc2 = doc1.clone() */ - AMdoc* doc2; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMclone(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); -} - -/** - * \brief should be able to start and commit - */ -static void test_start_and_commit(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* doc.commit() */ - AMstackItems(stack_ptr, AMemptyChange(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); -} - -/** - * \brief getting a nonexistent prop does not throw an error - */ -static void test_getting_a_nonexistent_prop_does_not_throw_an_error(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root" */ - /* const result = doc.getWithType(root, "hello") */ - /* assert.deepEqual(result, undefined) */ - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("hello"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); -} - -/** - * \brief should be able to set and get a simple value - */ -static void test_should_be_able_to_set_and_get_a_simple_value(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc: Automerge = create("aabbcc") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aabbcc")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root" */ - /* let result */ - /* */ - /* doc.put(root, "hello", "world") */ - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("hello"), AMstr("world")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "number1", 5, "uint") */ - AMstackItem(NULL, AMmapPutUint(doc, AM_ROOT, AMstr("number1"), 5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "number2", 5) */ - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("number2"), 5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "number3", 5.5) */ - AMstackItem(NULL, AMmapPutF64(doc, AM_ROOT, AMstr("number3"), 5.5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "number4", 5.5, "f64") */ - AMstackItem(NULL, AMmapPutF64(doc, AM_ROOT, AMstr("number4"), 5.5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "number5", 5.5, "int") */ - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("number5"), 5.5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "bool", true) */ - AMstackItem(NULL, AMmapPutBool(doc, AM_ROOT, AMstr("bool"), true), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "time1", 1000, "timestamp") */ - AMstackItem(NULL, AMmapPutTimestamp(doc, AM_ROOT, AMstr("time1"), 1000), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put(root, "time2", new Date(1001)) */ - AMstackItem(NULL, AMmapPutTimestamp(doc, AM_ROOT, AMstr("time2"), 1001), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.putObject(root, "list", []); */ - AMstackItem(NULL, AMmapPutObject(doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - /* doc.put(root, "null", null) */ - AMstackItem(NULL, AMmapPutNull(doc, AM_ROOT, AMstr("null")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* result = doc.getWithType(root, "hello") */ - /* assert.deepEqual(result, ["str", "world"]) */ - /* assert.deepEqual(doc.get("/", "hello"), "world") */ - AMbyteSpan str; - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("hello"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), - &str)); - assert_int_equal(str.count, strlen("world")); - assert_memory_equal(str.src, "world", str.count); - /* assert.deepEqual(doc.get("/", "hello"), "world") */ - /* */ - /* result = doc.getWithType(root, "number1") */ - /* assert.deepEqual(result, ["uint", 5]) */ - uint64_t uint; - assert_true(AMitemToUint( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("number1"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_UINT)), - &uint)); - assert_int_equal(uint, 5); - /* assert.deepEqual(doc.get("/", "number1"), 5) */ - /* */ - /* result = doc.getWithType(root, "number2") */ - /* assert.deepEqual(result, ["int", 5]) */ - int64_t int_; - assert_true(AMitemToInt( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("number2"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_INT)), - &int_)); - assert_int_equal(int_, 5); - /* */ - /* result = doc.getWithType(root, "number3") */ - /* assert.deepEqual(result, ["f64", 5.5]) */ - double f64; - assert_true(AMitemToF64( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("number3"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_F64)), - &f64)); - assert_float_equal(f64, 5.5, DBL_EPSILON); - /* */ - /* result = doc.getWithType(root, "number4") */ - /* assert.deepEqual(result, ["f64", 5.5]) */ - assert_true(AMitemToF64( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("number4"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_F64)), - &f64)); - assert_float_equal(f64, 5.5, DBL_EPSILON); - /* */ - /* result = doc.getWithType(root, "number5") */ - /* assert.deepEqual(result, ["int", 5]) */ - assert_true(AMitemToInt( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("number5"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_INT)), - &int_)); - assert_int_equal(int_, 5); - /* */ - /* result = doc.getWithType(root, "bool") */ - /* assert.deepEqual(result, ["boolean", true]) */ - bool boolean; - assert_true(AMitemToBool( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("bool"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_BOOL)), - &boolean)); - assert_true(boolean); - /* */ - /* doc.put(root, "bool", false, "boolean") */ - AMstackItem(NULL, AMmapPutBool(doc, AM_ROOT, AMstr("bool"), false), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* result = doc.getWithType(root, "bool") */ - /* assert.deepEqual(result, ["boolean", false]) */ - assert_true(AMitemToBool( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("bool"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_BOOL)), - &boolean)); - assert_false(boolean); - /* */ - /* result = doc.getWithType(root, "time1") */ - /* assert.deepEqual(result, ["timestamp", new Date(1000)]) */ - int64_t timestamp; - assert_true(AMitemToTimestamp(AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("time1"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_TIMESTAMP)), - ×tamp)); - assert_int_equal(timestamp, 1000); - /* */ - /* result = doc.getWithType(root, "time2") */ - /* assert.deepEqual(result, ["timestamp", new Date(1001)]) */ - assert_true(AMitemToTimestamp(AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("time2"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_TIMESTAMP)), - ×tamp)); - assert_int_equal(timestamp, 1001); - /* */ - /* result = doc.getWithType(root, "list") */ - /* assert.deepEqual(result, ["list", "10@aabbcc"]); */ - AMobjId const* const list = AMitemObjId( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("list"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - assert_int_equal(AMobjIdCounter(list), 10); - str = AMactorIdStr(AMobjIdActorId(list)); - assert_int_equal(str.count, strlen("aabbcc")); - assert_memory_equal(str.src, "aabbcc", str.count); - /* */ - /* result = doc.getWithType(root, "null") */ - /* assert.deepEqual(result, ["null", null]); */ - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("null"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_NULL)); -} - -/** - * \brief should be able to use bytes - */ -static void test_should_be_able_to_use_bytes(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* doc.put("_root", "data1", new Uint8Array([10, 11, 12])); */ - static uint8_t const DATA1[] = {10, 11, 12}; - AMstackItem(NULL, AMmapPutBytes(doc, AM_ROOT, AMstr("data1"), AMbytes(DATA1, sizeof(DATA1))), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put("_root", "data2", new Uint8Array([13, 14, 15]), "bytes"); */ - static uint8_t const DATA2[] = {13, 14, 15}; - AMstackItem(NULL, AMmapPutBytes(doc, AM_ROOT, AMstr("data2"), AMbytes(DATA2, sizeof(DATA2))), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* const value1 = doc.getWithType("_root", "data1") */ - AMbyteSpan value1; - assert_true(AMitemToBytes( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("data1"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), - &value1)); - /* assert.deepEqual(value1, ["bytes", new Uint8Array([10, 11, 12])]); */ - assert_int_equal(value1.count, sizeof(DATA1)); - assert_memory_equal(value1.src, DATA1, sizeof(DATA1)); - /* const value2 = doc.getWithType("_root", "data2") */ - AMbyteSpan value2; - assert_true(AMitemToBytes( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("data2"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), - &value2)); - /* assert.deepEqual(value2, ["bytes", new Uint8Array([13, 14, 15])]); */ - assert_int_equal(value2.count, sizeof(DATA2)); - assert_memory_equal(value2.src, DATA2, sizeof(DATA2)); -} - -/** - * \brief should be able to make subobjects - */ -static void test_should_be_able_to_make_subobjects(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root" */ - /* let result */ - /* */ - /* const submap = doc.putObject(root, "submap", {}) */ - AMobjId const* const submap = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("submap"), AM_OBJ_TYPE_MAP), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* doc.put(submap, "number", 6, "uint") */ - AMstackItem(NULL, AMmapPutUint(doc, submap, AMstr("number"), 6), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.strictEqual(doc.pendingOps(), 2) */ - assert_int_equal(AMpendingOps(doc), 2); - /* */ - /* result = doc.getWithType(root, "submap") */ - /* assert.deepEqual(result, ["map", submap]) */ - assert_true(AMobjIdEqual(AMitemObjId(AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("submap"), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))), - submap)); - /* */ - /* result = doc.getWithType(submap, "number") */ - /* assert.deepEqual(result, ["uint", 6]) */ - uint64_t uint; - assert_true(AMitemToUint( - AMstackItem(stack_ptr, AMmapGet(doc, submap, AMstr("number"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_UINT)), - &uint)); - assert_int_equal(uint, 6); -} - -/** - * \brief should be able to make lists - */ -static void test_should_be_able_to_make_lists(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root" */ - /* */ - /* const sublist = doc.putObject(root, "numbers", []) */ - AMobjId const* const sublist = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("numbers"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* doc.insert(sublist, 0, "a"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 0, true, AMstr("a")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.insert(sublist, 1, "b"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 1, true, AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.insert(sublist, 2, "c"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 2, true, AMstr("c")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.insert(sublist, 0, "z"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 0, true, AMstr("z")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* assert.deepEqual(doc.getWithType(sublist, 0), ["str", "z"]) */ - AMbyteSpan str; - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, sublist, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "z", str.count); - /* assert.deepEqual(doc.getWithType(sublist, 1), ["str", "a"]) */ - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, sublist, 1, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - /* assert.deepEqual(doc.getWithType(sublist, 2), ["str", "b"]) */ - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, sublist, 2, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - /* assert.deepEqual(doc.getWithType(sublist, 3), ["str", "c"]) */ - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, sublist, 3, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - /* assert.deepEqual(doc.length(sublist), 4) */ - assert_int_equal(AMobjSize(doc, sublist, NULL), 4); - /* */ - /* doc.put(sublist, 2, "b v2"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 2, false, AMstr("b v2")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* assert.deepEqual(doc.getWithType(sublist, 2), ["str", "b v2"]) */ - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, sublist, 2, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "b v2", str.count); - /* assert.deepEqual(doc.length(sublist), 4) */ - assert_int_equal(AMobjSize(doc, sublist, NULL), 4); -} - -/** - * \brief lists have insert, set, splice, and push ops - */ -static void test_lists_have_insert_set_splice_and_push_ops(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root" */ - /* */ - /* const sublist = doc.putObject(root, "letters", []) */ - AMobjId const* const sublist = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("letters"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* doc.insert(sublist, 0, "a"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 0, true, AMstr("a")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.insert(sublist, 0, "b"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 0, true, AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.materialize(), { letters: ["b", "a"] }) */ - AMitem* doc_item = AMstackItem(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("letters")); - assert_memory_equal(key.src, "letters", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(doc_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&list_items), 2); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - assert_null(AMitemsNext(&list_items, 1)); - } - /* doc.push(sublist, "c"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, SIZE_MAX, true, AMstr("c")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const heads = doc.getHeads() */ - AMitems const heads = AMstackItems(stack_ptr, AMgetHeads(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* assert.deepEqual(doc.materialize(), { letters: ["b", "a", "c"] }) */ - doc_item = AMstackItem(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("letters")); - assert_memory_equal(key.src, "letters", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(doc_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&list_items), 3); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - assert_null(AMitemsNext(&list_items, 1)); - } - /* doc.push(sublist, 3, "timestamp"); */ - AMstackItem(NULL, AMlistPutTimestamp(doc, sublist, SIZE_MAX, true, 3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.materialize(), { letters: ["b", "a", "c", new - * Date(3)] } */ - doc_item = AMstackItem(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("letters")); - assert_memory_equal(key.src, "letters", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(doc_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR | AM_VAL_TYPE_TIMESTAMP)); - assert_int_equal(AMitemsSize(&list_items), 4); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - int64_t timestamp; - assert_true(AMitemToTimestamp(AMitemsNext(&list_items, 1), ×tamp)); - assert_int_equal(timestamp, 3); - assert_null(AMitemsNext(&list_items, 1)); - } - /* doc.splice(sublist, 1, 1, ["d", "e", "f"]); */ - AMresult* data = AMstackResult( - stack_ptr, AMresultFrom(3, AMitemFromStr(AMstr("d")), AMitemFromStr(AMstr("e")), AMitemFromStr(AMstr("f"))), - NULL, NULL); - AMstackItem(NULL, AMsplice(doc, sublist, 1, 1, AMresultItems(data)), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.materialize(), { letters: ["b", "d", "e", "f", "c", - * new Date(3)] } */ - doc_item = AMstackItem(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("letters")); - assert_memory_equal(key.src, "letters", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(doc_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR | AM_VAL_TYPE_TIMESTAMP)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "d", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "e", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "f", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - int64_t timestamp; - assert_true(AMitemToTimestamp(AMitemsNext(&list_items, 1), ×tamp)); - assert_int_equal(timestamp, 3); - assert_null(AMitemsNext(&list_items, 1)); - } - /* doc.put(sublist, 0, "z"); */ - AMstackItem(NULL, AMlistPutStr(doc, sublist, 0, false, AMstr("z")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.materialize(), { letters: ["z", "d", "e", "f", "c", - * new Date(3)] } */ - doc_item = AMstackItem(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("letters")); - assert_memory_equal(key.src, "letters", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(doc_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR | AM_VAL_TYPE_TIMESTAMP)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "z", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "d", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "e", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "f", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - int64_t timestamp; - assert_true(AMitemToTimestamp(AMitemsNext(&list_items, 1), ×tamp)); - assert_int_equal(timestamp, 3); - assert_null(AMitemsNext(&list_items, 1)); - } - /* assert.deepEqual(doc.materialize(sublist), ["z", "d", "e", "f", "c", new - * Date(3)] */ - AMitems sublist_items = AMstackItems(stack_ptr, AMlistRange(doc, sublist, 0, SIZE_MAX, NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR | AM_VAL_TYPE_TIMESTAMP)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&sublist_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "z", str.count); - assert_true(AMitemToStr(AMitemsNext(&sublist_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "d", str.count); - assert_true(AMitemToStr(AMitemsNext(&sublist_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "e", str.count); - assert_true(AMitemToStr(AMitemsNext(&sublist_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "f", str.count); - assert_true(AMitemToStr(AMitemsNext(&sublist_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - int64_t timestamp; - assert_true(AMitemToTimestamp(AMitemsNext(&sublist_items, 1), ×tamp)); - assert_int_equal(timestamp, 3); - assert_null(AMitemsNext(&sublist_items, 1)); - /* assert.deepEqual(doc.length(sublist), 6) */ - assert_int_equal(AMobjSize(doc, sublist, NULL), 6); - /* assert.deepEqual(doc.materialize("/", heads), { letters: ["b", "a", "c"] - * } */ - doc_item = AMstackItem(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), &heads), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("letters")); - assert_memory_equal(key.src, "letters", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(doc_item), 0, SIZE_MAX, &heads), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "c", str.count); - assert_null(AMitemsNext(&list_items, 1)); - } -} - -/** - * \brief should be able to delete non-existent props - */ -static void test_should_be_able_to_delete_non_existent_props(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* */ - /* doc.put("_root", "foo", "bar") */ - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("foo"), AMstr("bar")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put("_root", "bip", "bap") */ - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("bip"), AMstr("bap")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const hash1 = doc.commit() */ - AMitems const hash1 = - AMstackItems(stack_ptr, AMcommit(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* assert.deepEqual(doc.keys("_root"), ["bip", "foo"]) */ - AMitems keys = AMstackItems(stack_ptr, AMkeys(doc, AM_ROOT, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&keys, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "bip", str.count); - assert_true(AMitemToStr(AMitemsNext(&keys, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "foo", str.count); - /* */ - /* doc.delete("_root", "foo") */ - AMstackItem(NULL, AMmapDelete(doc, AM_ROOT, AMstr("foo")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.delete("_root", "baz") */ - AMstackItem(NULL, AMmapDelete(doc, AM_ROOT, AMstr("baz")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const hash2 = doc.commit() */ - AMitems const hash2 = - AMstackItems(stack_ptr, AMcommit(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* assert.deepEqual(doc.keys("_root"), ["bip"]) */ - keys = AMstackItems(stack_ptr, AMkeys(doc, AM_ROOT, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_true(AMitemToStr(AMitemsNext(&keys, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "bip", str.count); - /* assert.deepEqual(doc.keys("_root", [hash1]), ["bip", "foo"]) */ - keys = AMstackItems(stack_ptr, AMkeys(doc, AM_ROOT, &hash1), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_true(AMitemToStr(AMitemsNext(&keys, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "bip", str.count); - assert_true(AMitemToStr(AMitemsNext(&keys, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "foo", str.count); - /* assert.deepEqual(doc.keys("_root", [hash2]), ["bip"]) */ - keys = AMstackItems(stack_ptr, AMkeys(doc, AM_ROOT, &hash2), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_true(AMitemToStr(AMitemsNext(&keys, 1), &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "bip", str.count); -} - -/** - * \brief should be able to del - */ -static void test_should_be_able_to_del(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root" */ - /* */ - /* doc.put(root, "xxx", "xxx"); */ - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("xxx"), AMstr("xxx")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.getWithType(root, "xxx"), ["str", "xxx"]) */ - AMbyteSpan str; - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("xxx"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), - &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "xxx", str.count); - /* doc.delete(root, "xxx"); */ - AMstackItem(NULL, AMmapDelete(doc, AM_ROOT, AMstr("xxx")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.getWithType(root, "xxx"), undefined) */ - AMstackItem(NULL, AMmapGet(doc, AM_ROOT, AMstr("xxx"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); -} - -/** - * \brief should be able to use counters - */ -static void test_should_be_able_to_use_counters(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root" */ - /* */ - /* doc.put(root, "counter", 10, "counter"); */ - AMstackItem(NULL, AMmapPutCounter(doc, AM_ROOT, AMstr("counter"), 10), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.getWithType(root, "counter"), ["counter", 10]) */ - int64_t counter; - assert_true(AMitemToCounter(AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("counter"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_COUNTER)), - &counter)); - assert_int_equal(counter, 10); - /* doc.increment(root, "counter", 10); */ - AMstackItem(NULL, AMmapIncrement(doc, AM_ROOT, AMstr("counter"), 10), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.getWithType(root, "counter"), ["counter", 20]) */ - assert_true(AMitemToCounter(AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("counter"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_COUNTER)), - &counter)); - assert_int_equal(counter, 20); - /* doc.increment(root, "counter", -5); */ - AMstackItem(NULL, AMmapIncrement(doc, AM_ROOT, AMstr("counter"), -5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.getWithType(root, "counter"), ["counter", 15]) */ - assert_true(AMitemToCounter(AMstackItem(stack_ptr, AMmapGet(doc, AM_ROOT, AMstr("counter"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_COUNTER)), - &counter)); - assert_int_equal(counter, 15); -} - -/** - * \brief should be able to splice text - */ -static void test_should_be_able_to_splice_text(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const root = "_root"; */ - /* */ - /* const text = doc.putObject(root, "text", ""); */ - AMobjId const* const text = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("text"), AM_OBJ_TYPE_TEXT), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* doc.splice(text, 0, 0, "hello ") */ - AMstackItem(NULL, AMspliceText(doc, text, 0, 0, AMstr("hello ")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.splice(text, 6, 0, "world") */ - AMstackItem(NULL, AMspliceText(doc, text, 6, 0, AMstr("world")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.splice(text, 11, 0, "!?") */ - AMstackItem(NULL, AMspliceText(doc, text, 11, 0, AMstr("!?")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.getWithType(text, 0), ["str", "h"]) */ - AMbyteSpan str; - assert_true( - AMitemToStr(AMstackItem(stack_ptr, AMlistGet(doc, text, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "h", str.count); - /* assert.deepEqual(doc.getWithType(text, 1), ["str", "e"]) */ - assert_true( - AMitemToStr(AMstackItem(stack_ptr, AMlistGet(doc, text, 1, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "e", str.count); - /* assert.deepEqual(doc.getWithType(text, 9), ["str", "l"]) */ - assert_true( - AMitemToStr(AMstackItem(stack_ptr, AMlistGet(doc, text, 9, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "l", str.count); - /* assert.deepEqual(doc.getWithType(text, 10), ["str", "d"]) */ - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, text, 10, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "d", str.count); - /* assert.deepEqual(doc.getWithType(text, 11), ["str", "!"]) */ - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, text, 11, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "!", str.count); - /* assert.deepEqual(doc.getWithType(text, 12), ["str", "?"]) */ - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMlistGet(doc, text, 12, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "?", str.count); -} - -/** - * \brief should be able to save all or incrementally - */ -static void test_should_be_able_to_save_all_or_incrementally(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* */ - /* doc.put("_root", "foo", 1) */ - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("foo"), 1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* const save1 = doc.save() */ - AMbyteSpan save1; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &save1)); - /* */ - /* doc.put("_root", "bar", 2) */ - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("bar"), 2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* const saveMidway = doc.clone().save(); */ - AMdoc* doc_clone; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMclone(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc_clone)); - AMbyteSpan saveMidway; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc_clone), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &saveMidway)); - /* */ - /* const save2 = doc.saveIncremental(); */ - AMbyteSpan save2; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsaveIncremental(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &save2)); - /* */ - /* doc.put("_root", "baz", 3); */ - AMstackItem(NULL, AMmapPutInt(doc, AM_ROOT, AMstr("baz"), 3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* const save3 = doc.saveIncremental(); */ - AMbyteSpan save3; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsaveIncremental(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &save3)); - /* */ - /* const saveA = doc.save(); */ - AMbyteSpan saveA; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &saveA)); - /* const saveB = new Uint8Array([...save1, ...save2, ...save3]); */ - size_t const saveB_count = save1.count + save2.count + save3.count; - uint8_t* const saveB_src = test_malloc(saveB_count); - memcpy(saveB_src, save1.src, save1.count); - memcpy(saveB_src + save1.count, save2.src, save2.count); - memcpy(saveB_src + save1.count + save2.count, save3.src, save3.count); - /* */ - /* assert.notDeepEqual(saveA, saveB); */ - assert_memory_not_equal(saveA.src, saveB_src, saveA.count); - /* */ - /* const docA = load(saveA); */ - AMdoc* docA; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(saveA.src, saveA.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &docA)); - /* const docB = load(saveB); */ - AMdoc* docB; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(saveB_src, saveB_count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &docB)); - test_free(saveB_src); - /* const docC = load(saveMidway) */ - AMdoc* docC; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(saveMidway.src, saveMidway.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &docC)); - /* docC.loadIncremental(save3) */ - AMstackItem(NULL, AMloadIncremental(docC, save3.src, save3.count), cmocka_cb, AMexpect(AM_VAL_TYPE_UINT)); - /* */ - /* assert.deepEqual(docA.keys("_root"), docB.keys("_root")); */ - AMitems const keysA = AMstackItems(stack_ptr, AMkeys(docA, AM_ROOT, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMitems const keysB = AMstackItems(stack_ptr, AMkeys(docB, AM_ROOT, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_true(AMitemsEqual(&keysA, &keysB)); - /* assert.deepEqual(docA.save(), docB.save()); */ - AMbyteSpan docA_save; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsave(docA), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &docA_save)); - AMbyteSpan docB_save; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsave(docB), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &docB_save)); - assert_int_equal(docA_save.count, docB_save.count); - assert_memory_equal(docA_save.src, docB_save.src, docA_save.count); - /* assert.deepEqual(docA.save(), docC.save()); */ - AMbyteSpan docC_save; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsave(docC), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &docC_save)); - assert_int_equal(docA_save.count, docC_save.count); - assert_memory_equal(docA_save.src, docC_save.src, docA_save.count); -} - -/** - * \brief should be able to splice text #2 - */ -static void test_should_be_able_to_splice_text_2(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create() */ - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const text = doc.putObject("_root", "text", ""); */ - AMobjId const* const text = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("text"), AM_OBJ_TYPE_TEXT), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* doc.splice(text, 0, 0, "hello world"); */ - AMstackItem(NULL, AMspliceText(doc, text, 0, 0, AMstr("hello world")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const hash1 = doc.commit(); */ - AMitems const hash1 = - AMstackItems(stack_ptr, AMcommit(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* doc.splice(text, 6, 0, "big bad "); */ - AMstackItem(NULL, AMspliceText(doc, text, 6, 0, AMstr("big bad ")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const hash2 = doc.commit(); */ - AMitems const hash2 = - AMstackItems(stack_ptr, AMcommit(doc, AMstr(NULL), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* assert.strictEqual(doc.text(text), "hello big bad world") */ - AMbyteSpan str; - assert_true( - AMitemToStr(AMstackItem(stack_ptr, AMtext(doc, text, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("hello big bad world")); - assert_memory_equal(str.src, "hello big bad world", str.count); - /* assert.strictEqual(doc.length(text), 19) */ - assert_int_equal(AMobjSize(doc, text, NULL), 19); - /* assert.strictEqual(doc.text(text, [hash1]), "hello world") */ - assert_true( - AMitemToStr(AMstackItem(stack_ptr, AMtext(doc, text, &hash1), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("hello world")); - assert_memory_equal(str.src, "hello world", str.count); - /* assert.strictEqual(doc.length(text, [hash1]), 11) */ - assert_int_equal(AMobjSize(doc, text, &hash1), 11); - /* assert.strictEqual(doc.text(text, [hash2]), "hello big bad world") */ - assert_true( - AMitemToStr(AMstackItem(stack_ptr, AMtext(doc, text, &hash2), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("hello big bad world")); - assert_memory_equal(str.src, "hello big bad world", str.count); - /* assert.strictEqual(doc.length(text, [hash2]), 19) */ - assert_int_equal(AMobjSize(doc, text, &hash2), 19); -} - -/** - * \brief local inc increments all visible counters in a map - */ -static void test_local_inc_increments_all_visible_counters_in_a_map(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc1 = create("aaaa") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aaaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - /* doc1.put("_root", "hello", "world") */ - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("hello"), AMstr("world")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* const doc2 = load(doc1.save(), "bbbb"); */ - AMbyteSpan save; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &save)); - AMdoc* doc2; - assert_true( - AMitemToDoc(AMstackItem(stack_ptr, AMload(save.src, save.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("bbbb")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMstackItem(NULL, AMsetActorId(doc2, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const doc3 = load(doc1.save(), "cccc"); */ - AMdoc* doc3; - assert_true( - AMitemToDoc(AMstackItem(stack_ptr, AMload(save.src, save.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc3)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("cccc")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMstackItem(NULL, AMsetActorId(doc3, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* let heads = doc1.getHeads() */ - AMitems const heads1 = AMstackItems(stack_ptr, AMgetHeads(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* doc1.put("_root", "cnt", 20) */ - AMstackItem(NULL, AMmapPutInt(doc1, AM_ROOT, AMstr("cnt"), 20), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc2.put("_root", "cnt", 0, "counter") */ - AMstackItem(NULL, AMmapPutCounter(doc2, AM_ROOT, AMstr("cnt"), 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc3.put("_root", "cnt", 10, "counter") */ - AMstackItem(NULL, AMmapPutCounter(doc3, AM_ROOT, AMstr("cnt"), 10), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc1.applyChanges(doc2.getChanges(heads)) */ - AMitems const changes2 = - AMstackItems(stack_ptr, AMgetChanges(doc2, &heads1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - AMstackItem(NULL, AMapplyChanges(doc1, &changes2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc1.applyChanges(doc3.getChanges(heads)) */ - AMitems const changes3 = - AMstackItems(stack_ptr, AMgetChanges(doc3, &heads1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - AMstackItem(NULL, AMapplyChanges(doc1, &changes3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* let result = doc1.getAll("_root", "cnt") */ - AMitems result = AMstackItems(stack_ptr, AMmapGetAll(doc1, AM_ROOT, AMstr("cnt"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_COUNTER | AM_VAL_TYPE_INT | AM_VAL_TYPE_STR)); - /* assert.deepEqual(result, [ - ['int', 20, '2@aaaa'], - ['counter', 0, '2@bbbb'], - ['counter', 10, '2@cccc'], - ]) */ - AMitem* result_item = AMitemsNext(&result, 1); - int64_t int_; - assert_true(AMitemToInt(result_item, &int_)); - assert_int_equal(int_, 20); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 2); - AMbyteSpan str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "aaaa", str.count); - result_item = AMitemsNext(&result, 1); - int64_t counter; - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 0); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 2); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "bbbb", str.count); - result_item = AMitemsNext(&result, 1); - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 10); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 2); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "cccc", str.count); - /* doc1.increment("_root", "cnt", 5) */ - AMstackItem(NULL, AMmapIncrement(doc1, AM_ROOT, AMstr("cnt"), 5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* result = doc1.getAll("_root", "cnt") */ - result = AMstackItems(stack_ptr, AMmapGetAll(doc1, AM_ROOT, AMstr("cnt"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_COUNTER)); - /* assert.deepEqual(result, [ - ['counter', 5, '2@bbbb'], - ['counter', 15, '2@cccc'], - ]) */ - result_item = AMitemsNext(&result, 1); - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 5); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 2); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "bbbb", str.count); - result_item = AMitemsNext(&result, 1); - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 15); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 2); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "cccc", str.count); - /* */ - /* const save1 = doc1.save() */ - AMbyteSpan save1; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &save1)); - /* const doc4 = load(save1) */ - AMdoc* doc4; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(save1.src, save1.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc4)); - /* assert.deepEqual(doc4.save(), save1); */ - AMbyteSpan doc4_save; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc4), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &doc4_save)); - assert_int_equal(doc4_save.count, save1.count); - assert_memory_equal(doc4_save.src, save1.src, doc4_save.count); -} - -/** - * \brief local inc increments all visible counters in a sequence - */ -static void test_local_inc_increments_all_visible_counters_in_a_sequence(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc1 = create("aaaa") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aaaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - /* const seq = doc1.putObject("_root", "seq", []) */ - AMobjId const* const seq = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc1, AM_ROOT, AMstr("seq"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* doc1.insert(seq, 0, "hello") */ - AMstackItem(NULL, AMlistPutStr(doc1, seq, 0, true, AMstr("hello")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const doc2 = load(doc1.save(), "bbbb"); */ - AMbyteSpan save1; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &save1)); - AMdoc* doc2; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(save1.src, save1.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("bbbb")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMstackItem(NULL, AMsetActorId(doc2, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const doc3 = load(doc1.save(), "cccc"); */ - AMdoc* doc3; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(save1.src, save1.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc3)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("cccc")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMstackItem(NULL, AMsetActorId(doc3, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* let heads = doc1.getHeads() */ - AMitems const heads1 = AMstackItems(stack_ptr, AMgetHeads(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* doc1.put(seq, 0, 20) */ - AMstackItem(NULL, AMlistPutInt(doc1, seq, 0, false, 20), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc2.put(seq, 0, 0, "counter") */ - AMstackItem(NULL, AMlistPutCounter(doc2, seq, 0, false, 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc3.put(seq, 0, 10, "counter") */ - AMstackItem(NULL, AMlistPutCounter(doc3, seq, 0, false, 10), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc1.applyChanges(doc2.getChanges(heads)) */ - AMitems const changes2 = - AMstackItems(stack_ptr, AMgetChanges(doc2, &heads1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - AMstackItem(NULL, AMapplyChanges(doc1, &changes2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc1.applyChanges(doc3.getChanges(heads)) */ - AMitems const changes3 = - AMstackItems(stack_ptr, AMgetChanges(doc3, &heads1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - AMstackItem(NULL, AMapplyChanges(doc1, &changes3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* let result = doc1.getAll(seq, 0) */ - AMitems result = AMstackItems(stack_ptr, AMlistGetAll(doc1, seq, 0, NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_COUNTER | AM_VAL_TYPE_INT)); - /* assert.deepEqual(result, [ - ['int', 20, '3@aaaa'], - ['counter', 0, '3@bbbb'], - ['counter', 10, '3@cccc'], - ]) */ - AMitem* result_item = AMitemsNext(&result, 1); - int64_t int_; - assert_true(AMitemToInt(result_item, &int_)); - assert_int_equal(int_, 20); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 3); - AMbyteSpan str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "aaaa", str.count); - result_item = AMitemsNext(&result, 1); - int64_t counter; - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 0); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 3); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_memory_equal(str.src, "bbbb", str.count); - result_item = AMitemsNext(&result, 1); - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 10); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 3); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "cccc", str.count); - /* doc1.increment(seq, 0, 5) */ - AMstackItem(NULL, AMlistIncrement(doc1, seq, 0, 5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* result = doc1.getAll(seq, 0) */ - result = AMstackItems(stack_ptr, AMlistGetAll(doc1, seq, 0, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_COUNTER)); - /* assert.deepEqual(result, [ - ['counter', 5, '3@bbbb'], - ['counter', 15, '3@cccc'], - ]) */ - result_item = AMitemsNext(&result, 1); - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 5); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 3); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "bbbb", str.count); - result_item = AMitemsNext(&result, 1); - assert_true(AMitemToCounter(result_item, &counter)); - assert_int_equal(counter, 15); - assert_int_equal(AMobjIdCounter(AMitemObjId(result_item)), 3); - str = AMactorIdStr(AMobjIdActorId(AMitemObjId(result_item))); - assert_memory_equal(str.src, "cccc", str.count); - /* */ - /* const save = doc1.save() */ - AMbyteSpan save; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &save)); - /* const doc4 = load(save) */ - AMdoc* doc4; - assert_true( - AMitemToDoc(AMstackItem(stack_ptr, AMload(save.src, save.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc4)); - /* assert.deepEqual(doc4.save(), save); */ - AMbyteSpan doc4_save; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc4), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &doc4_save)); - assert_int_equal(doc4_save.count, save.count); - assert_memory_equal(doc4_save.src, save.src, doc4_save.count); -} - -/** - * \brief paths can be used instead of objids - */ -static void test_paths_can_be_used_instead_of_objids(void** state); - -/** - * \brief should be able to fetch changes by hash - */ -static void test_should_be_able_to_fetch_changes_by_hash(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc1 = create("aaaa") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aaaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - /* const doc2 = create("bbbb") */ - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("bbbb")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMdoc* doc2; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - /* doc1.put("/", "a", "b") */ - AMstackItem(NULL, AMmapPutStr(doc1, AM_ROOT, AMstr("a"), AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc2.put("/", "b", "c") */ - AMstackItem(NULL, AMmapPutStr(doc2, AM_ROOT, AMstr("b"), AMstr("c")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const head1 = doc1.getHeads() */ - AMitems head1 = AMstackItems(stack_ptr, AMgetHeads(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* const head2 = doc2.getHeads() */ - AMitems head2 = AMstackItems(stack_ptr, AMgetHeads(doc2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* const change1 = doc1.getChangeByHash(head1[0]) - if (change1 === null) { throw new RangeError("change1 should not be - null") */ - AMbyteSpan change_hash1; - assert_true(AMitemToChangeHash(AMitemsNext(&head1, 1), &change_hash1)); - AMchange const* change1; - assert_true(AMitemToChange(AMstackItem(stack_ptr, AMgetChangeByHash(doc1, change_hash1.src, change_hash1.count), - cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)), - &change1)); - /* const change2 = doc1.getChangeByHash(head2[0]) - assert.deepEqual(change2, null) */ - AMbyteSpan change_hash2; - assert_true(AMitemToChangeHash(AMitemsNext(&head2, 1), &change_hash2)); - AMstackItem(NULL, AMgetChangeByHash(doc1, change_hash2.src, change_hash2.count), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(decodeChange(change1).hash, head1[0]) */ - assert_memory_equal(AMchangeHash(change1).src, change_hash1.src, change_hash1.count); -} - -/** - * \brief recursive sets are possible - */ -static void test_recursive_sets_are_possible(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create("aaaa") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aaaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const l1 = doc.putObject("_root", "list", [{ foo: "bar" }, [1, 2, 3]] */ - AMobjId const* const l1 = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - { - AMobjId const* const map = AMitemObjId(AMstackItem( - stack_ptr, AMlistPutObject(doc, l1, 0, true, AM_OBJ_TYPE_MAP), cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMmapPutStr(doc, map, AMstr("foo"), AMstr("bar")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMlistPutObject(doc, l1, SIZE_MAX, true, AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - for (int value = 1; value != 4; ++value) { - AMstackItem(NULL, AMlistPutInt(doc, list, SIZE_MAX, true, value), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - } - } - /* const l2 = doc.insertObject(l1, 0, { zip: ["a", "b"] }) */ - AMobjId const* const l2 = AMitemObjId(AMstackItem(stack_ptr, AMlistPutObject(doc, l1, 0, true, AM_OBJ_TYPE_MAP), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - { - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, l2, AMstr("zip"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMlistPutStr(doc, list, SIZE_MAX, true, AMstr("a")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMlistPutStr(doc, list, SIZE_MAX, true, AMstr("b")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - } - /* const l3 = doc.putObject("_root", "info1", "hello world") // 'text' - * object */ - AMobjId const* const l3 = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("info1"), AM_OBJ_TYPE_TEXT), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMspliceText(doc, l3, 0, 0, AMstr("hello world")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* doc.put("_root", "info2", "hello world") // 'str' */ - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("info2"), AMstr("hello world")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* const l4 = doc.putObject("_root", "info3", "hello world") */ - AMobjId const* const l4 = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("info3"), AM_OBJ_TYPE_TEXT), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - AMstackItem(NULL, AMspliceText(doc, l4, 0, 0, AMstr("hello world")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(doc.materialize(), { - "list": [{ zip: ["a", "b"] }, { foo: "bar" }, [1, 2, 3]], - "info1": "hello world", - "info2": "hello world", - "info3": "hello world", - }) */ - AMitems doc_items = AMstackItems(stack_ptr, AMmapRange(doc, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE | AM_VAL_TYPE_STR)); - AMitem* doc_item = AMitemsNext(&doc_items, 1); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("info1")); - assert_memory_equal(key.src, "info1", key.count); - AMbyteSpan str; - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMtext(doc, AMitemObjId(doc_item), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("hello world")); - assert_memory_equal(str.src, "hello world", str.count); - doc_item = AMitemsNext(&doc_items, 1); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("info2")); - assert_memory_equal(key.src, "info2", key.count); - assert_true(AMitemToStr(doc_item, &str)); - assert_int_equal(str.count, strlen("hello world")); - assert_memory_equal(str.src, "hello world", str.count); - doc_item = AMitemsNext(&doc_items, 1); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("info3")); - assert_memory_equal(key.src, "info3", key.count); - assert_true(AMitemToStr( - AMstackItem(stack_ptr, AMtext(doc, AMitemObjId(doc_item), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("hello world")); - assert_memory_equal(str.src, "hello world", str.count); - doc_item = AMitemsNext(&doc_items, 1); - assert_int_equal(AMitemIdxType(doc_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(doc_item, &key)); - assert_int_equal(key.count, strlen("list")); - assert_memory_equal(key.src, "list", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(doc_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - AMitem const* list_item = AMitemsNext(&list_items, 1); - { - AMitems map_items = - AMstackItems(stack_ptr, AMmapRange(doc, AMitemObjId(list_item), AMstr(NULL), AMstr(NULL), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - AMitem const* map_item = AMitemsNext(&map_items, 1); - assert_int_equal(AMitemIdxType(map_item), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(map_item, &key)); - assert_int_equal(key.count, strlen("zip")); - assert_memory_equal(key.src, "zip", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(map_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE | AM_VAL_TYPE_STR)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - } - } - list_item = AMitemsNext(&list_items, 1); - { - AMitems map_items = - AMstackItems(stack_ptr, AMmapRange(doc, AMitemObjId(list_item), AMstr(NULL), AMstr(NULL), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE | AM_VAL_TYPE_STR)); - AMitem* map_item = AMitemsNext(&map_items, 1); - assert_int_equal(AMitemIdxType(map_item), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(map_item, &key)); - assert_int_equal(key.count, strlen("foo")); - assert_memory_equal(key.src, "foo", key.count); - AMbyteSpan str; - assert_true(AMitemToStr(map_item, &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "bar", str.count); - } - list_item = AMitemsNext(&list_items, 1); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(list_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_INT)); - int64_t int_; - assert_true(AMitemToInt(AMitemsNext(&list_items, 1), &int_)); - assert_int_equal(int_, 1); - assert_true(AMitemToInt(AMitemsNext(&list_items, 1), &int_)); - assert_int_equal(int_, 2); - assert_true(AMitemToInt(AMitemsNext(&list_items, 1), &int_)); - assert_int_equal(int_, 3); - } - } - /* assert.deepEqual(doc.materialize(l2), { zip: ["a", "b"] }) */ - AMitems map_items = AMstackItems(stack_ptr, AMmapRange(doc, l2, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - AMitem const* map_item = AMitemsNext(&map_items, 1); - assert_int_equal(AMitemIdxType(map_item), AM_IDX_TYPE_KEY); - assert_true(AMitemKey(map_item, &key)); - assert_int_equal(key.count, strlen("zip")); - assert_memory_equal(key.src, "zip", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(map_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - } - /* assert.deepEqual(doc.materialize(l1), [{ zip: ["a", "b"] }, { foo: "bar" - * }, [1, 2, 3]] */ - AMitems list_items = - AMstackItems(stack_ptr, AMlistRange(doc, l1, 0, SIZE_MAX, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - AMitem const* list_item = AMitemsNext(&list_items, 1); - { - AMitems map_items = - AMstackItems(stack_ptr, AMmapRange(doc, AMitemObjId(list_item), AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - AMitem const* map_item = AMitemsNext(&map_items, 1); - assert_int_equal(AMitemIdxType(map_item), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(map_item, &key)); - assert_int_equal(key.count, strlen("zip")); - assert_memory_equal(key.src, "zip", key.count); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(map_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "a", str.count); - assert_true(AMitemToStr(AMitemsNext(&list_items, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "b", str.count); - } - } - list_item = AMitemsNext(&list_items, 1); - { - AMitems map_items = - AMstackItems(stack_ptr, AMmapRange(doc, AMitemObjId(list_item), AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - AMitem* map_item = AMitemsNext(&map_items, 1); - assert_int_equal(AMitemIdxType(map_item), AM_IDX_TYPE_KEY); - AMbyteSpan key; - assert_true(AMitemKey(map_item, &key)); - assert_int_equal(key.count, strlen("foo")); - assert_memory_equal(key.src, "foo", key.count); - AMbyteSpan str; - assert_true(AMitemToStr(map_item, &str)); - assert_int_equal(str.count, 3); - assert_memory_equal(str.src, "bar", str.count); - } - list_item = AMitemsNext(&list_items, 1); - { - AMitems list_items = AMstackItems(stack_ptr, AMlistRange(doc, AMitemObjId(list_item), 0, SIZE_MAX, NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_INT)); - int64_t int_; - assert_true(AMitemToInt(AMitemsNext(&list_items, 1), &int_)); - assert_int_equal(int_, 1); - assert_true(AMitemToInt(AMitemsNext(&list_items, 1), &int_)); - assert_int_equal(int_, 2); - assert_true(AMitemToInt(AMitemsNext(&list_items, 1), &int_)); - assert_int_equal(int_, 3); - } - /* assert.deepEqual(doc.materialize(l4), "hello world") */ - assert_true(AMitemToStr(AMstackItem(stack_ptr, AMtext(doc, l4, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("hello world")); - assert_memory_equal(str.src, "hello world", str.count); -} - -/** - * \brief only returns an object id when objects are created - */ -static void test_only_returns_an_object_id_when_objects_are_created(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc = create("aaaa") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aaaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMdoc* doc; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc)); - /* const r1 = doc.put("_root", "foo", "bar") - assert.deepEqual(r1, null); */ - AMstackItem(NULL, AMmapPutStr(doc, AM_ROOT, AMstr("foo"), AMstr("bar")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const r2 = doc.putObject("_root", "list", []) */ - AMobjId const* const r2 = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc, AM_ROOT, AMstr("list"), AM_OBJ_TYPE_LIST), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* const r3 = doc.put("_root", "counter", 10, "counter") - assert.deepEqual(r3, null); */ - AMstackItem(NULL, AMmapPutCounter(doc, AM_ROOT, AMstr("counter"), 10), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const r4 = doc.increment("_root", "counter", 1) - assert.deepEqual(r4, null); */ - AMstackItem(NULL, AMmapIncrement(doc, AM_ROOT, AMstr("counter"), 1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const r5 = doc.delete("_root", "counter") - assert.deepEqual(r5, null); */ - AMstackItem(NULL, AMmapDelete(doc, AM_ROOT, AMstr("counter")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const r6 = doc.insert(r2, 0, 10); - assert.deepEqual(r6, null); */ - AMstackItem(NULL, AMlistPutInt(doc, r2, 0, true, 10), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const r7 = doc.insertObject(r2, 0, {}); */ - AMobjId const* const r7 = AMitemObjId(AMstackItem(stack_ptr, AMlistPutObject(doc, r2, 0, true, AM_OBJ_TYPE_LIST), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* const r8 = doc.splice(r2, 1, 0, ["a", "b", "c"]); */ - AMresult* data = AMstackResult( - stack_ptr, AMresultFrom(3, AMitemFromStr(AMstr("a")), AMitemFromStr(AMstr("b")), AMitemFromStr(AMstr("c"))), - NULL, NULL); - AMstackItem(NULL, AMsplice(doc, r2, 1, 0, AMresultItems(data)), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(r2, "2@aaaa"); */ - assert_int_equal(AMobjIdCounter(r2), 2); - AMbyteSpan str = AMactorIdStr(AMobjIdActorId(r2)); - assert_int_equal(str.count, 4); - assert_memory_equal(str.src, "aaaa", str.count); - /* assert.deepEqual(r7, "7@aaaa"); */ - assert_int_equal(AMobjIdCounter(r7), 7); - str = AMactorIdStr(AMobjIdActorId(r7)); - assert_memory_equal(str.src, "aaaa", str.count); -} - -/** - * \brief objects without properties are preserved - */ -static void test_objects_without_properties_are_preserved(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const doc1 = create("aaaa") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aaaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), &actor_id)); - AMdoc* doc1; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc1)); - /* const a = doc1.putObject("_root", "a", {}); */ - AMobjId const* const a = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc1, AM_ROOT, AMstr("a"), AM_OBJ_TYPE_MAP), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* const b = doc1.putObject("_root", "b", {}); */ - AMobjId const* const b = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc1, AM_ROOT, AMstr("b"), AM_OBJ_TYPE_MAP), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* const c = doc1.putObject("_root", "c", {}); */ - AMobjId const* const c = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(doc1, AM_ROOT, AMstr("c"), AM_OBJ_TYPE_MAP), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* const d = doc1.put(c, "d", "dd"); */ - AMstackItem(NULL, AMmapPutStr(doc1, c, AMstr("d"), AMstr("dd")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const saved = doc1.save(); */ - AMbyteSpan saved; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(doc1), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &saved)); - /* const doc2 = load(saved); */ - AMdoc* doc2; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(saved.src, saved.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &doc2)); - /* assert.deepEqual(doc2.getWithType("_root", "a"), ["map", a]) */ - AMitems doc_items = AMstackItems(stack_ptr, AMmapRange(doc2, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE)); - assert_true(AMobjIdEqual(AMitemObjId(AMitemsNext(&doc_items, 1)), a)); - /* assert.deepEqual(doc2.keys(a), []) */ - AMitems keys = AMstackItems(stack_ptr, AMkeys(doc1, a, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&keys), 0); - /* assert.deepEqual(doc2.getWithType("_root", "b"), ["map", b]) */ - assert_true(AMobjIdEqual(AMitemObjId(AMitemsNext(&doc_items, 1)), b)); - /* assert.deepEqual(doc2.keys(b), []) */ - keys = AMstackItems(stack_ptr, AMkeys(doc1, b, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_int_equal(AMitemsSize(&keys), 0); - /* assert.deepEqual(doc2.getWithType("_root", "c"), ["map", c]) */ - assert_true(AMobjIdEqual(AMitemObjId(AMitemsNext(&doc_items, 1)), c)); - /* assert.deepEqual(doc2.keys(c), ["d"]) */ - keys = AMstackItems(stack_ptr, AMkeys(doc1, c, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMbyteSpan str; - assert_true(AMitemToStr(AMitemsNext(&keys, 1), &str)); - assert_int_equal(str.count, 1); - assert_memory_equal(str.src, "d", str.count); - /* assert.deepEqual(doc2.getWithType(c, "d"), ["str", "dd"]) */ - AMitems obj_items = AMstackItems(stack_ptr, AMobjItems(doc1, c, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - assert_true(AMitemToStr(AMitemsNext(&obj_items, 1), &str)); - assert_int_equal(str.count, 2); - assert_memory_equal(str.src, "dd", str.count); -} - -/** - * \brief should allow you to forkAt a heads - */ -static void test_should_allow_you_to_forkAt_a_heads(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const A = create("aaaaaa") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aaaaaa")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMdoc* A; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &A)); - /* A.put("/", "key1", "val1"); */ - AMstackItem(NULL, AMmapPutStr(A, AM_ROOT, AMstr("key1"), AMstr("val1")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* A.put("/", "key2", "val2"); */ - AMstackItem(NULL, AMmapPutStr(A, AM_ROOT, AMstr("key2"), AMstr("val2")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const heads1 = A.getHeads(); */ - AMitems const heads1 = AMstackItems(stack_ptr, AMgetHeads(A), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* const B = A.fork("bbbbbb") */ - AMdoc* B; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMfork(A, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &B)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("bbbbbb")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMstackItem(NULL, AMsetActorId(B, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* A.put("/", "key3", "val3"); */ - AMstackItem(NULL, AMmapPutStr(A, AM_ROOT, AMstr("key3"), AMstr("val3")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* B.put("/", "key4", "val4"); */ - AMstackItem(NULL, AMmapPutStr(B, AM_ROOT, AMstr("key4"), AMstr("val4")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* A.merge(B) */ - AMstackItem(NULL, AMmerge(A, B), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* const heads2 = A.getHeads(); */ - AMitems const heads2 = AMstackItems(stack_ptr, AMgetHeads(A), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* A.put("/", "key5", "val5"); */ - AMstackItem(NULL, AMmapPutStr(A, AM_ROOT, AMstr("key5"), AMstr("val5")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepEqual(A.forkAt(heads1).materialize("/"), A.materialize("/", - * heads1) */ - AMdoc* A_forkAt1; - assert_true( - AMitemToDoc(AMstackItem(stack_ptr, AMfork(A, &heads1), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &A_forkAt1)); - AMitems AforkAt1_items = AMstackItems(stack_ptr, AMmapRange(A_forkAt1, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMitems A1_items = AMstackItems(stack_ptr, AMmapRange(A, AM_ROOT, AMstr(NULL), AMstr(NULL), &heads1), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - assert_true(AMitemsEqual(&AforkAt1_items, &A1_items)); - /* assert.deepEqual(A.forkAt(heads2).materialize("/"), A.materialize("/", - * heads2) */ - AMdoc* A_forkAt2; - assert_true( - AMitemToDoc(AMstackItem(stack_ptr, AMfork(A, &heads2), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &A_forkAt2)); - AMitems AforkAt2_items = AMstackItems(stack_ptr, AMmapRange(A_forkAt2, AM_ROOT, AMstr(NULL), AMstr(NULL), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)); - AMitems A2_items = AMstackItems(stack_ptr, AMmapRange(A, AM_ROOT, AMstr(NULL), AMstr(NULL), &heads2), cmocka_cb, - AMexpect(AM_VAL_TYPE_STR)); - assert_true(AMitemsEqual(&AforkAt2_items, &A2_items)); -} - -/** - * \brief should handle merging text conflicts then saving & loading - */ -static void test_should_handle_merging_text_conflicts_then_saving_and_loading(void** state) { - BaseState* base_state = *state; - AMstack** stack_ptr = &base_state->stack; - /* const A = create("aabbcc") */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("aabbcc")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMdoc* A; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &A)); - /* const At = A.putObject('_root', 'text', "") */ - AMobjId const* const At = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(A, AM_ROOT, AMstr("text"), AM_OBJ_TYPE_TEXT), cmocka_cb, - AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* A.splice(At, 0, 0, 'hello') */ - AMstackItem(NULL, AMspliceText(A, At, 0, 0, AMstr("hello")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* const B = A.fork() */ - AMdoc* B; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMfork(A, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &B)); - /* */ - /* assert.deepEqual(B.getWithType("_root", "text"), ["text", At]) */ - AMbyteSpan str; - assert_true( - AMitemToStr(AMstackItem(stack_ptr, - AMtext(B, - AMitemObjId(AMstackItem(stack_ptr, AMmapGet(B, AM_ROOT, AMstr("text"), NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))), - NULL), - cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), - &str)); - AMbyteSpan str2; - assert_true(AMitemToStr(AMstackItem(stack_ptr, AMtext(A, At, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str2)); - assert_int_equal(str.count, str2.count); - assert_memory_equal(str.src, str2.src, str.count); - /* */ - /* B.splice(At, 4, 1) */ - AMstackItem(NULL, AMspliceText(B, At, 4, 1, AMstr(NULL)), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* B.splice(At, 4, 0, '!') */ - AMstackItem(NULL, AMspliceText(B, At, 4, 0, AMstr("!")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* B.splice(At, 5, 0, ' ') */ - AMstackItem(NULL, AMspliceText(B, At, 5, 0, AMstr(" ")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* B.splice(At, 6, 0, 'world') */ - AMstackItem(NULL, AMspliceText(B, At, 6, 0, AMstr("world")), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* A.merge(B) */ - AMstackItem(NULL, AMmerge(A, B), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* const binary = A.save() */ - AMbyteSpan binary; - assert_true(AMitemToBytes(AMstackItem(stack_ptr, AMsave(A), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &binary)); - /* */ - /* const C = load(binary) */ - AMdoc* C; - assert_true(AMitemToDoc( - AMstackItem(stack_ptr, AMload(binary.src, binary.count), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &C)); - /* */ - /* assert.deepEqual(C.getWithType('_root', 'text'), ['text', '1@aabbcc'] */ - AMobjId const* const C_text = AMitemObjId( - AMstackItem(stack_ptr, AMmapGet(C, AM_ROOT, AMstr("text"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - assert_int_equal(AMobjIdCounter(C_text), 1); - str = AMactorIdStr(AMobjIdActorId(C_text)); - assert_int_equal(str.count, strlen("aabbcc")); - assert_memory_equal(str.src, "aabbcc", str.count); - /* assert.deepEqual(C.text(At), 'hell! world') */ - assert_true(AMitemToStr(AMstackItem(stack_ptr, AMtext(C, At, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_STR)), &str)); - assert_int_equal(str.count, strlen("hell! world")); - assert_memory_equal(str.src, "hell! world", str.count); -} - -int run_ported_wasm_basic_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(test_create_clone_and_free, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_start_and_commit, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_getting_a_nonexistent_prop_does_not_throw_an_error, setup_base, - teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_set_and_get_a_simple_value, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_use_bytes, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_make_subobjects, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_make_lists, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_lists_have_insert_set_splice_and_push_ops, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_delete_non_existent_props, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_del, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_use_counters, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_splice_text, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_save_all_or_incrementally, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_splice_text_2, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_local_inc_increments_all_visible_counters_in_a_map, setup_base, - teardown_base), - cmocka_unit_test_setup_teardown(test_local_inc_increments_all_visible_counters_in_a_sequence, setup_base, - teardown_base), - cmocka_unit_test_setup_teardown(test_should_be_able_to_fetch_changes_by_hash, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_recursive_sets_are_possible, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_only_returns_an_object_id_when_objects_are_created, setup_base, - teardown_base), - cmocka_unit_test_setup_teardown(test_objects_without_properties_are_preserved, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_allow_you_to_forkAt_a_heads, setup_base, teardown_base), - cmocka_unit_test_setup_teardown(test_should_handle_merging_text_conflicts_then_saving_and_loading, setup_base, - teardown_base)}; - - return cmocka_run_group_tests(tests, NULL, NULL); -} diff --git a/rust/automerge-c/test/ported_wasm/suite.c b/rust/automerge-c/test/ported_wasm/suite.c deleted file mode 100644 index 440ed899..00000000 --- a/rust/automerge-c/test/ported_wasm/suite.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include -#include -#include - -/* third-party */ -#include - -extern int run_ported_wasm_basic_tests(void); - -extern int run_ported_wasm_sync_tests(void); - -int run_ported_wasm_suite(void) { - return (run_ported_wasm_basic_tests() + run_ported_wasm_sync_tests()); -} diff --git a/rust/automerge-c/test/ported_wasm/sync_tests.c b/rust/automerge-c/test/ported_wasm/sync_tests.c deleted file mode 100644 index 099f8dbf..00000000 --- a/rust/automerge-c/test/ported_wasm/sync_tests.c +++ /dev/null @@ -1,1282 +0,0 @@ -#include -#include -#include -#include -#include - -/* third-party */ -#include - -/* local */ -#include -#include -#include "../base_state.h" -#include "../cmocka_utils.h" - -typedef struct { - BaseState* base_state; - AMdoc* n1; - AMdoc* n2; - AMsyncState* s1; - AMsyncState* s2; -} TestState; - -static int setup(void** state) { - TestState* test_state = test_calloc(1, sizeof(TestState)); - setup_base((void**)&test_state->base_state); - AMstack** stack_ptr = &test_state->base_state->stack; - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("01234567")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - assert_true( - AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &test_state->n1)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("89abcdef")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - assert_true( - AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &test_state->n2)); - assert_true(AMitemToSyncState( - AMstackItem(stack_ptr, AMsyncStateInit(), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_STATE)), &test_state->s1)); - assert_true(AMitemToSyncState( - AMstackItem(stack_ptr, AMsyncStateInit(), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_STATE)), &test_state->s2)); - *state = test_state; - return 0; -} - -static int teardown(void** state) { - TestState* test_state = *state; - teardown_base((void**)&test_state->base_state); - test_free(test_state); - return 0; -} - -static void sync(AMdoc* a, AMdoc* b, AMsyncState* a_sync_state, AMsyncState* b_sync_state) { - static size_t const MAX_ITER = 10; - - AMsyncMessage const* a2b_msg = NULL; - AMsyncMessage const* b2a_msg = NULL; - size_t iter = 0; - do { - AMresult* a2b_msg_result = AMgenerateSyncMessage(a, a_sync_state); - AMresult* b2a_msg_result = AMgenerateSyncMessage(b, b_sync_state); - AMitem* item = AMresultItem(a2b_msg_result); - switch (AMitemValType(item)) { - case AM_VAL_TYPE_SYNC_MESSAGE: { - AMitemToSyncMessage(item, &a2b_msg); - AMstackResult(NULL, AMreceiveSyncMessage(b, b_sync_state, a2b_msg), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - } break; - case AM_VAL_TYPE_VOID: - a2b_msg = NULL; - break; - } - item = AMresultItem(b2a_msg_result); - switch (AMitemValType(item)) { - case AM_VAL_TYPE_SYNC_MESSAGE: { - AMitemToSyncMessage(item, &b2a_msg); - AMstackResult(NULL, AMreceiveSyncMessage(a, a_sync_state, b2a_msg), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - } break; - case AM_VAL_TYPE_VOID: - b2a_msg = NULL; - break; - } - if (++iter > MAX_ITER) { - fail_msg( - "Did not synchronize within %d iterations. " - "Do you have a bug causing an infinite loop?", - MAX_ITER); - } - } while (a2b_msg || b2a_msg); -} - -static time_t const TIME_0 = 0; - -/** - * \brief should send a sync message implying no local data - */ -static void test_should_send_a_sync_message_implying_no_local_data(void** state) { - /* const doc = create() - const s1 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* const m1 = doc.generateSyncMessage(s1) - if (m1 === null) { throw new RangeError("message should not be null") } - const message: DecodedSyncMessage = decodeSyncMessage(m1) */ - AMsyncMessage const* m1; - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &m1)); - /* assert.deepStrictEqual(message.heads, []) */ - AMitems heads = AMstackItems(stack_ptr, AMsyncMessageHeads(m1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_int_equal(AMitemsSize(&heads), 0); - /* assert.deepStrictEqual(message.need, []) */ - AMitems needs = AMstackItems(stack_ptr, AMsyncMessageNeeds(m1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_int_equal(AMitemsSize(&needs), 0); - /* assert.deepStrictEqual(message.have.length, 1) */ - AMitems haves = AMstackItems(stack_ptr, AMsyncMessageHaves(m1), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_HAVE)); - assert_int_equal(AMitemsSize(&haves), 1); - /* assert.deepStrictEqual(message.have[0].lastSync, []) */ - AMsyncHave const* have0; - assert_true(AMitemToSyncHave(AMitemsNext(&haves, 1), &have0)); - AMitems last_sync = - AMstackItems(stack_ptr, AMsyncHaveLastSync(have0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_int_equal(AMitemsSize(&last_sync), 0); - /* assert.deepStrictEqual(message.have[0].bloom.byteLength, 0) - assert.deepStrictEqual(message.changes, []) */ - AMitems changes = AMstackItems(stack_ptr, AMsyncMessageChanges(m1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&changes), 0); -} - -/** - * \brief should not reply if we have no data as well - */ -static void test_should_not_reply_if_we_have_no_data_as_well(void** state) { - /* const n1 = create(), n2 = create() - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* const m1 = n1.generateSyncMessage(s1) - if (m1 === null) { throw new RangeError("message should not be null") */ - AMsyncMessage const* m1; - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &m1)); - /* n2.receiveSyncMessage(s2, m1) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n2, test_state->s2, m1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const m2 = n2.generateSyncMessage(s2) - assert.deepStrictEqual(m2, null) */ - AMstackItem(NULL, AMgenerateSyncMessage(test_state->n2, test_state->s2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); -} - -/** - * \brief repos with equal heads do not need a reply message - */ -static void test_repos_with_equal_heads_do_not_need_a_reply_message(void** state) { - /* const n1 = create(), n2 = create() - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* make two nodes with the same changes */ - /* const list = n1.putObject("_root", "n", []) */ - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(test_state->n1, AM_ROOT, AMstr("n"), AM_OBJ_TYPE_LIST), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* for (let i = 0; i < 10; i++) { */ - for (size_t i = 0; i != 10; ++i) { - /* n1.insert(list, i, i) */ - AMstackItem(NULL, AMlistPutUint(test_state->n1, list, i, true, i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* n2.applyChanges(n1.getChanges([])) */ - AMitems const items = - AMstackItems(stack_ptr, AMgetChanges(test_state->n1, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - AMstackItem(NULL, AMapplyChanges(test_state->n2, &items), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); - /* */ - /* generate a naive sync message */ - /* const m1 = n1.generateSyncMessage(s1) - if (m1 === null) { throw new RangeError("message should not be null") */ - AMsyncMessage const* m1; - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &m1)); - /* assert.deepStrictEqual(s1.lastSentHeads, n1.getHeads()) */ - AMitems const last_sent_heads = - AMstackItems(stack_ptr, AMsyncStateLastSentHeads(test_state->s1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems const heads = - AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&last_sent_heads, &heads)); - /* */ - /* heads are equal so this message should be null */ - /* n2.receiveSyncMessage(s2, m1) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n2, test_state->s2, m1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* const m2 = n2.generateSyncMessage(s2) - assert.strictEqual(m2, null) */ - AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n2, test_state->s2), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); -} - -/** - * \brief n1 should offer all changes to n2 when starting from nothing - */ -static void test_n1_should_offer_all_changes_to_n2_when_starting_from_nothing(void** state) { - /* const n1 = create(), n2 = create() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* make changes for n1 that n2 should request */ - /* const list = n1.putObject("_root", "n", []) */ - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(test_state->n1, AM_ROOT, AMstr("n"), AM_OBJ_TYPE_LIST), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* for (let i = 0; i < 10; i++) { */ - for (size_t i = 0; i != 10; ++i) { - /* n1.insert(list, i, i) */ - AMstackItem(NULL, AMlistPutUint(test_state->n1, list, i, true, i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_false(AMequal(test_state->n1, test_state->n2)); - /* sync(n1, n2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should sync peers where one has commits the other does not - */ -static void test_should_sync_peers_where_one_has_commits_the_other_does_not(void** state) { - /* const n1 = create(), n2 = create() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* make changes for n1 that n2 should request */ - /* const list = n1.putObject("_root", "n", []) */ - AMobjId const* const list = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(test_state->n1, AM_ROOT, AMstr("n"), AM_OBJ_TYPE_LIST), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* for (let i = 0; i < 10; i++) { */ - for (size_t i = 0; i != 10; ++i) { - /* n1.insert(list, i, i) */ - AMstackItem(NULL, AMlistPutUint(test_state->n1, list, i, true, i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_false(AMequal(test_state->n1, test_state->n2)); - /* sync(n1, n2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should work with prior sync state - */ -static void test_should_work_with_prior_sync_state(void** state) { - /* create & synchronize two nodes */ - /* const n1 = create(), n2 = create() - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* for (let i = 0; i < 5; i++) { */ - for (size_t i = 0; i != 5; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* modify the first node further */ - /* for (let i = 5; i < 10; i++) { */ - for (size_t i = 5; i != 10; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_false(AMequal(test_state->n1, test_state->n2)); - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should not generate messages once synced - */ -static void test_should_not_generate_messages_once_synced(void** state) { - /* create & synchronize two nodes */ - /* const n1 = create('abc123'), n2 = create('def456') - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("abc123")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMstackItem(NULL, AMsetActorId(test_state->n1, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("def456")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMstackItem(NULL, AMsetActorId(test_state->n2, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* let message, patch - for (let i = 0; i < 5; i++) { */ - for (size_t i = 0; i != 5; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* for (let i = 0; i < 5; i++) { */ - for (size_t i = 0; i != 5; ++i) { - /* n2.put("_root", "y", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n2, AM_ROOT, AMstr("y"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n2.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n2, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* n1 reports what it has */ - /* message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be - null") */ - AMsyncMessage const* message; - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &message)); - /* */ - /* n2 receives that message and sends changes along with what it has */ - /* n2.receiveSyncMessage(s2, message) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n2, test_state->s2, message), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n2, test_state->s2), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &message)); - AMitems message_changes = - AMstackItems(stack_ptr, AMsyncMessageChanges(message), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&message_changes), 5); - /* */ - /* n1 receives the changes and replies with the changes it now knows that - * n2 needs */ - /* n1.receiveSyncMessage(s1, message) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n1, test_state->s1, message), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &message)); - message_changes = AMstackItems(stack_ptr, AMsyncMessageChanges(message), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&message_changes), 5); - /* */ - /* n2 applies the changes and sends confirmation ending the exchange */ - /* n2.receiveSyncMessage(s2, message) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n2, test_state->s2, message), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n2, test_state->s2), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &message)); - /* */ - /* n1 receives the message and has nothing more to say */ - /* n1.receiveSyncMessage(s1, message) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n1, test_state->s1, message), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* message = n1.generateSyncMessage(s1) - assert.deepStrictEqual(message, null) */ - AMstackItem(NULL, AMgenerateSyncMessage(test_state->n1, test_state->s1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* //assert.deepStrictEqual(patch, null) // no changes arrived */ - /* */ - /* n2 also has nothing left to say */ - /* message = n2.generateSyncMessage(s2) - assert.deepStrictEqual(message, null) */ - AMstackItem(NULL, AMgenerateSyncMessage(test_state->n2, test_state->s2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); -} - -/** - * \brief should allow simultaneous messages during synchronization - */ -static void test_should_allow_simultaneous_messages_during_synchronization(void** state) { - /* create & synchronize two nodes */ - /* const n1 = create('abc123'), n2 = create('def456') - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("abc123")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMstackItem(NULL, AMsetActorId(test_state->n1, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("def456")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMstackItem(NULL, AMsetActorId(test_state->n2, actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* for (let i = 0; i < 5; i++) { */ - for (size_t i = 0; i != 5; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* for (let i = 0; i < 5; i++) { */ - for (size_t i = 0; i != 5; ++i) { - /* n2.put("_root", "y", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n2, AM_ROOT, AMstr("y"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n2.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n2, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* const head1 = n1.getHeads()[0], head2 = n2.getHeads()[0] */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMbyteSpan head1; - assert_true(AMitemToChangeHash(AMitemsNext(&heads1, 1), &head1)); - AMitems heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMbyteSpan head2; - assert_true(AMitemToChangeHash(AMitemsNext(&heads2, 1), &head2)); - /* */ - /* both sides report what they have but have no shared peer state */ - /* let msg1to2, msg2to1 - msg1to2 = n1.generateSyncMessage(s1) - if (msg1to2 === null) { throw new RangeError("message should not be - null") */ - AMsyncMessage const* msg1to2; - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &msg1to2)); - /* msg2to1 = n2.generateSyncMessage(s2) - if (msg2to1 === null) { throw new RangeError("message should not be - null") */ - AMsyncMessage const* msg2to1; - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n2, test_state->s2), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &msg2to1)); - /* assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 0) */ - AMitems msg1to2_changes = - AMstackItems(stack_ptr, AMsyncMessageChanges(msg1to2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&msg1to2_changes), 0); - /* assert.deepStrictEqual(decodeSyncMessage(msg1to2).have[0].lastSync.length, - * 0 */ - AMitems msg1to2_haves = - AMstackItems(stack_ptr, AMsyncMessageHaves(msg1to2), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_HAVE)); - AMsyncHave const* msg1to2_have; - assert_true(AMitemToSyncHave(AMitemsNext(&msg1to2_haves, 1), &msg1to2_have)); - AMitems msg1to2_last_sync = - AMstackItems(stack_ptr, AMsyncHaveLastSync(msg1to2_have), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_int_equal(AMitemsSize(&msg1to2_last_sync), 0); - /* assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 0) */ - AMitems msg2to1_changes = - AMstackItems(stack_ptr, AMsyncMessageChanges(msg2to1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&msg2to1_changes), 0); - /* assert.deepStrictEqual(decodeSyncMessage(msg2to1).have[0].lastSync.length, - * 0 */ - AMitems msg2to1_haves = - AMstackItems(stack_ptr, AMsyncMessageHaves(msg2to1), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_HAVE)); - AMsyncHave const* msg2to1_have; - assert_true(AMitemToSyncHave(AMitemsNext(&msg2to1_haves, 1), &msg2to1_have)); - AMitems msg2to1_last_sync = - AMstackItems(stack_ptr, AMsyncHaveLastSync(msg2to1_have), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_int_equal(AMitemsSize(&msg2to1_last_sync), 0); - /* */ - /* n1 and n2 receive that message and update sync state but make no patc */ - /* n1.receiveSyncMessage(s1, msg2to1) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n1, test_state->s1, msg2to1), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* n2.receiveSyncMessage(s2, msg1to2) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n2, test_state->s2, msg1to2), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* now both reply with their local changes that the other lacks - * (standard warning that 1% of the time this will result in a "needs" - * message) */ - /* msg1to2 = n1.generateSyncMessage(s1) - if (msg1to2 === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &msg1to2)); - /* assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 5) */ - msg1to2_changes = AMstackItems(stack_ptr, AMsyncMessageChanges(msg1to2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&msg1to2_changes), 5); - /* msg2to1 = n2.generateSyncMessage(s2) - if (msg2to1 === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n2, test_state->s2), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &msg2to1)); - /* assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 5) */ - msg2to1_changes = AMstackItems(stack_ptr, AMsyncMessageChanges(msg2to1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&msg2to1_changes), 5); - /* */ - /* both should now apply the changes and update the frontend */ - /* n1.receiveSyncMessage(s1, msg2to1) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n1, test_state->s1, msg2to1), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepStrictEqual(n1.getMissingDeps(), []) */ - AMitems missing_deps = - AMstackItems(stack_ptr, AMgetMissingDeps(test_state->n1, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_int_equal(AMitemsSize(&missing_deps), 0); - /* //assert.notDeepStrictEqual(patch1, null) - assert.deepStrictEqual(n1.materialize(), { x: 4, y: 4 }) */ - uint64_t uint; - assert_true(AMitemToUint(AMstackItem(stack_ptr, AMmapGet(test_state->n1, AM_ROOT, AMstr("x"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)), - &uint)); - assert_int_equal(uint, 4); - assert_true(AMitemToUint(AMstackItem(stack_ptr, AMmapGet(test_state->n1, AM_ROOT, AMstr("y"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)), - &uint)); - assert_int_equal(uint, 4); - /* */ - /* n2.receiveSyncMessage(s2, msg1to2) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n2, test_state->s2, msg1to2), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepStrictEqual(n2.getMissingDeps(), []) */ - missing_deps = - AMstackItems(stack_ptr, AMgetMissingDeps(test_state->n2, NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_int_equal(AMitemsSize(&missing_deps), 0); - /* //assert.notDeepStrictEqual(patch2, null) - assert.deepStrictEqual(n2.materialize(), { x: 4, y: 4 }) */ - assert_true(AMitemToUint(AMstackItem(stack_ptr, AMmapGet(test_state->n2, AM_ROOT, AMstr("x"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)), - &uint)); - assert_int_equal(uint, 4); - assert_true(AMitemToUint(AMstackItem(stack_ptr, AMmapGet(test_state->n2, AM_ROOT, AMstr("y"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)), - &uint)); - assert_int_equal(uint, 4); - /* */ - /* The response acknowledges the changes received and sends no further - * changes */ - /* msg1to2 = n1.generateSyncMessage(s1) - if (msg1to2 === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &msg1to2)); - /* assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 0) */ - msg1to2_changes = AMstackItems(stack_ptr, AMsyncMessageChanges(msg1to2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&msg1to2_changes), 0); - /* msg2to1 = n2.generateSyncMessage(s2) - if (msg2to1 === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n2, test_state->s2), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &msg2to1)); - /* assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 0) */ - msg2to1_changes = AMstackItems(stack_ptr, AMsyncMessageChanges(msg2to1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&msg2to1_changes), 0); - /* */ - /* After receiving acknowledgements, their shared heads should be equal */ - /* n1.receiveSyncMessage(s1, msg2to1) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n1, test_state->s1, msg2to1), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* n2.receiveSyncMessage(s2, msg1to2) */ - AMstackItem(NULL, AMreceiveSyncMessage(test_state->n2, test_state->s2, msg1to2), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* assert.deepStrictEqual(s1.sharedHeads, [head1, head2].sort()) */ - AMitems s1_shared_heads = - AMstackItems(stack_ptr, AMsyncStateSharedHeads(test_state->s1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMbyteSpan s1_shared_change_hash; - assert_true(AMitemToChangeHash(AMitemsNext(&s1_shared_heads, 1), &s1_shared_change_hash)); - assert_memory_equal(s1_shared_change_hash.src, head1.src, head1.count); - assert_true(AMitemToChangeHash(AMitemsNext(&s1_shared_heads, 1), &s1_shared_change_hash)); - assert_memory_equal(s1_shared_change_hash.src, head2.src, head2.count); - /* assert.deepStrictEqual(s2.sharedHeads, [head1, head2].sort()) */ - AMitems s2_shared_heads = - AMstackItems(stack_ptr, AMsyncStateSharedHeads(test_state->s2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMbyteSpan s2_shared_change_hash; - assert_true(AMitemToChangeHash(AMitemsNext(&s2_shared_heads, 1), &s2_shared_change_hash)); - assert_memory_equal(s2_shared_change_hash.src, head1.src, head1.count); - assert_true(AMitemToChangeHash(AMitemsNext(&s2_shared_heads, 1), &s2_shared_change_hash)); - assert_memory_equal(s2_shared_change_hash.src, head2.src, head2.count); - /* //assert.deepStrictEqual(patch1, null) - //assert.deepStrictEqual(patch2, null) */ - /* */ - /* We're in sync, no more messages required */ - /* msg1to2 = n1.generateSyncMessage(s1) - assert.deepStrictEqual(msg1to2, null) */ - AMstackItem(NULL, AMgenerateSyncMessage(test_state->n1, test_state->s1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* msg2to1 = n2.generateSyncMessage(s2) - assert.deepStrictEqual(msg2to1, null) */ - AMstackItem(NULL, AMgenerateSyncMessage(test_state->n2, test_state->s2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* If we make one more change and start another sync then its lastSync - * should be updated */ - /* n1.put("_root", "x", 5) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), 5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* msg1to2 = n1.generateSyncMessage(s1) - if (msg1to2 === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &msg1to2)); - /* assert.deepStrictEqual(decodeSyncMessage(msg1to2).have[0].lastSync, - * [head1, head2].sort( */ - msg1to2_haves = AMstackItems(stack_ptr, AMsyncMessageHaves(msg1to2), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_HAVE)); - assert_true(AMitemToSyncHave(AMitemsNext(&msg1to2_haves, 1), &msg1to2_have)); - msg1to2_last_sync = - AMstackItems(stack_ptr, AMsyncHaveLastSync(msg1to2_have), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMbyteSpan msg1to2_last_sync_next; - assert_true(AMitemToChangeHash(AMitemsNext(&msg1to2_last_sync, 1), &msg1to2_last_sync_next)); - assert_int_equal(msg1to2_last_sync_next.count, head1.count); - assert_memory_equal(msg1to2_last_sync_next.src, head1.src, head1.count); - assert_true(AMitemToChangeHash(AMitemsNext(&msg1to2_last_sync, 1), &msg1to2_last_sync_next)); - assert_int_equal(msg1to2_last_sync_next.count, head2.count); - assert_memory_equal(msg1to2_last_sync_next.src, head2.src, head2.count); -} - -/** - * \brief should assume sent changes were received until we hear otherwise - */ -static void test_should_assume_sent_changes_were_received_until_we_hear_otherwise(void** state) { - /* const n1 = create('01234567'), n2 = create('89abcdef') - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* let message = null */ - /* */ - /* const items = n1.putObject("_root", "items", []) */ - AMobjId const* const items = - AMitemObjId(AMstackItem(stack_ptr, AMmapPutObject(test_state->n1, AM_ROOT, AMstr("items"), AM_OBJ_TYPE_LIST), - cmocka_cb, AMexpect(AM_VAL_TYPE_OBJ_TYPE))); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* n1.push(items, "x") */ - AMstackItem(NULL, AMlistPutStr(test_state->n1, items, SIZE_MAX, true, AMstr("x")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") - */ - AMsyncMessage const* message; - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &message)); - /* assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) */ - AMitems message_changes = - AMstackItems(stack_ptr, AMsyncMessageChanges(message), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&message_changes), 1); - /* */ - /* n1.push(items, "y") */ - AMstackItem(NULL, AMlistPutStr(test_state->n1, items, SIZE_MAX, true, AMstr("y")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &message)); - /* assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) */ - message_changes = AMstackItems(stack_ptr, AMsyncMessageChanges(message), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&message_changes), 1); - /* */ - /* n1.push(items, "z") */ - AMstackItem(NULL, AMlistPutStr(test_state->n1, items, SIZE_MAX, true, AMstr("z")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be - null") */ - assert_true(AMitemToSyncMessage(AMstackItem(stack_ptr, AMgenerateSyncMessage(test_state->n1, test_state->s1), - cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_MESSAGE)), - &message)); - /* assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) */ - message_changes = AMstackItems(stack_ptr, AMsyncMessageChanges(message), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - assert_int_equal(AMitemsSize(&message_changes), 1); -} - -/** - * \brief should work regardless of who initiates the exchange - */ -static void test_should_work_regardless_of_who_initiates_the_exchange(void** state) { - /* create & synchronize two nodes */ - /* const n1 = create(), n2 = create() - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* for (let i = 0; i < 5; i++) { */ - for (size_t i = 0; i != 5; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* modify the first node further */ - /* for (let i = 5; i < 10; i++) { */ - for (size_t i = 5; i != 10; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_false(AMequal(test_state->n1, test_state->n2)); - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should work without prior sync state - */ -static void test_should_work_without_prior_sync_state(void** state) { - /* Scenario: ,-- - * c10 <-- c11 <-- c12 <-- c13 <-- c14 c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 - * <-- c6 <-- c7 <-- c8 <-- c9 <-+ - * `-- - * c15 <-- c16 <-- c17 lastSync is undefined. */ - /* */ - /* create two peers both with divergent commits */ - /* const n1 = create('01234567'), n2 = create('89abcdef') - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* for (let i = 0; i < 10; i++) { */ - for (size_t i = 0; i != 10; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* sync(n1, n2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* for (let i = 10; i < 15; i++) { */ - for (size_t i = 10; i != 15; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* for (let i = 15; i < 18; i++) { */ - for (size_t i = 15; i != 18; ++i) { - /* n2.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n2, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n2.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n2, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_false(AMequal(test_state->n1, test_state->n2)); - /* sync(n1, n2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads2)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should work with prior sync state - */ -static void test_should_work_with_prior_sync_state_2(void** state) { - /* Scenario: - * ,-- - * c10 <-- c11 <-- c12 <-- c13 <-- c14 c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 - * <-- c6 <-- c7 <-- c8 <-- c9 <-+ - * `-- - * c15 <-- c16 <-- c17 lastSync is c9. */ - /* */ - /* create two peers both with divergent commits */ - /* const n1 = create('01234567'), n2 = create('89abcdef') - let s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* for (let i = 0; i < 10; i++) { */ - for (size_t i = 0; i != 10; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* for (let i = 10; i < 15; i++) { */ - for (size_t i = 10; i != 15; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* for (let i = 15; i < 18; i++) { */ - for (size_t i = 15; i != 18; ++i) { - /* n2.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n2, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n2.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n2, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* s1 = decodeSyncState(encodeSyncState(s1)) */ - AMbyteSpan encoded; - assert_true(AMitemToBytes( - AMstackItem(stack_ptr, AMsyncStateEncode(test_state->s1), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &encoded)); - AMsyncState* s1; - assert_true(AMitemToSyncState(AMstackItem(stack_ptr, AMsyncStateDecode(encoded.src, encoded.count), cmocka_cb, - AMexpect(AM_VAL_TYPE_SYNC_STATE)), - &s1)); - /* s2 = decodeSyncState(encodeSyncState(s2)) */ - assert_true(AMitemToBytes( - AMstackItem(stack_ptr, AMsyncStateEncode(test_state->s2), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &encoded)); - AMsyncState* s2; - assert_true(AMitemToSyncState(AMstackItem(stack_ptr, AMsyncStateDecode(encoded.src, encoded.count), cmocka_cb, - AMexpect(AM_VAL_TYPE_SYNC_STATE)), - &s2)); - /* */ - /* assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_false(AMequal(test_state->n1, test_state->n2)); - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, s1, s2); - /* assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads2)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should ensure non-empty state after sync - */ -static void test_should_ensure_non_empty_state_after_sync(void** state) { - /* const n1 = create('01234567'), n2 = create('89abcdef') - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* for (let i = 0; i < 3; i++) { */ - for (size_t i = 0; i != 3; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* assert.deepStrictEqual(s1.sharedHeads, n1.getHeads()) */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems shared_heads1 = - AMstackItems(stack_ptr, AMsyncStateSharedHeads(test_state->s1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&shared_heads1, &heads1)); - /* assert.deepStrictEqual(s2.sharedHeads, n1.getHeads()) */ - AMitems shared_heads2 = - AMstackItems(stack_ptr, AMsyncStateSharedHeads(test_state->s2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&shared_heads2, &heads1)); -} - -/** - * \brief should re-sync after one node crashed with data loss - */ -static void test_should_resync_after_one_node_crashed_with_data_loss(void** state) { - /* Scenario: (r) (n2) (n1) - * c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 - * n2 has changes {c0, c1, c2}, n1's lastSync is c5, and n2's lastSync - * is c2 - * we want to successfully sync (n1) with (r), even though (n1) believes - * it's talking to (n2) */ - /* const n1 = create('01234567'), n2 = create('89abcdef') - let s1 = initSyncState() - const s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* n1 makes three changes, which we sync to n2 */ - /* for (let i = 0; i < 3; i++) { */ - for (size_t i = 0; i != 3; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* save a copy of n2 as "r" to simulate recovering from a crash */ - /* let r - let rSyncState - ;[r, rSyncState] = [n2.clone(), s2.clone()] */ - AMdoc* r; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMclone(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &r)); - AMbyteSpan encoded_s2; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsyncStateEncode(test_state->s2), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), - &encoded_s2)); - AMsyncState* sync_state_r; - assert_true(AMitemToSyncState(AMstackItem(stack_ptr, AMsyncStateDecode(encoded_s2.src, encoded_s2.count), cmocka_cb, - AMexpect(AM_VAL_TYPE_SYNC_STATE)), - &sync_state_r)); - /* */ - /* sync another few commits */ - /* for (let i = 3; i < 6; i++) { */ - for (size_t i = 3; i != 6; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* everyone should be on the same page here */ - /* assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads2)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); - /* */ - /* now make a few more changes and then attempt to sync the fully - * up-to-date n1 with with the confused r */ - /* for (let i = 6; i < 9; i++) { */ - for (size_t i = 6; i != 9; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* s1 = decodeSyncState(encodeSyncState(s1)) */ - AMbyteSpan encoded_s1; - assert_true( - AMitemToBytes(AMstackItem(stack_ptr, AMsyncStateEncode(test_state->s1), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), - &encoded_s1)); - AMsyncState* s1; - assert_true(AMitemToSyncState(AMstackItem(stack_ptr, AMsyncStateDecode(encoded_s1.src, encoded_s1.count), cmocka_cb, - AMexpect(AM_VAL_TYPE_SYNC_STATE)), - &s1)); - /* rSyncState = decodeSyncState(encodeSyncState(rSyncState)) */ - AMbyteSpan encoded_r; - assert_true(AMitemToBytes( - AMstackItem(stack_ptr, AMsyncStateEncode(sync_state_r), cmocka_cb, AMexpect(AM_VAL_TYPE_BYTES)), &encoded_r)); - assert_true(AMitemToSyncState(AMstackItem(stack_ptr, AMsyncStateDecode(encoded_r.src, encoded_r.count), cmocka_cb, - AMexpect(AM_VAL_TYPE_SYNC_STATE)), - &sync_state_r)); - /* */ - /* assert.notDeepStrictEqual(n1.getHeads(), r.getHeads()) */ - heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems heads_r = AMstackItems(stack_ptr, AMgetHeads(r), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_false(AMitemsEqual(&heads1, &heads_r)); - /* assert.notDeepStrictEqual(n1.materialize(), r.materialize()) */ - assert_false(AMequal(test_state->n1, r)); - /* assert.deepStrictEqual(n1.materialize(), { x: 8 }) */ - uint64_t uint; - assert_true(AMitemToUint(AMstackItem(stack_ptr, AMmapGet(test_state->n1, AM_ROOT, AMstr("x"), NULL), cmocka_cb, - AMexpect(AM_VAL_TYPE_UINT)), - &uint)); - assert_int_equal(uint, 8); - /* assert.deepStrictEqual(r.materialize(), { x: 2 }) */ - assert_true(AMitemToUint( - AMstackItem(stack_ptr, AMmapGet(r, AM_ROOT, AMstr("x"), NULL), cmocka_cb, AMexpect(AM_VAL_TYPE_UINT)), &uint)); - assert_int_equal(uint, 2); - /* sync(n1, r, s1, rSyncState) */ - sync(test_state->n1, r, test_state->s1, sync_state_r); - /* assert.deepStrictEqual(n1.getHeads(), r.getHeads()) */ - heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - heads_r = AMstackItems(stack_ptr, AMgetHeads(r), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads_r)); - /* assert.deepStrictEqual(n1.materialize(), r.materialize()) */ - assert_true(AMequal(test_state->n1, r)); -} - -/** - * \brief should re-sync after one node experiences data loss without - * disconnecting - */ -static void test_should_resync_after_one_node_experiences_data_loss_without_disconnecting(void** state) { - /* const n1 = create('01234567'), n2 = create('89abcdef') - const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - /* */ - /* n1 makes three changes which we sync to n2 */ - /* for (let i = 0; i < 3; i++) { */ - for (size_t i = 0; i != 3; ++i) { - /* n1.put("_root", "x", i) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.commit("", 0) */ - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* { */ - } - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads2)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); - /* */ - /* const n2AfterDataLoss = create('89abcdef') */ - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("89abcdef")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMdoc* n2_after_data_loss; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), - &n2_after_data_loss)); - /* */ - /* "n2" now has no data, but n1 still thinks it does. Note we don't do - * decodeSyncState(encodeSyncState(s1)) in order to simulate data loss - * without disconnecting */ - /* sync(n1, n2AfterDataLoss, s1, initSyncState()) */ - AMsyncState* s2_after_data_loss; - assert_true(AMitemToSyncState( - AMstackItem(stack_ptr, AMsyncStateInit(), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_STATE)), &s2_after_data_loss)); - sync(test_state->n1, n2_after_data_loss, test_state->s1, s2_after_data_loss); - /* assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) */ - heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads2)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should handle changes concurrent to the last sync heads - */ -static void test_should_handle_changes_concurrrent_to_the_last_sync_heads(void** state) { - /* const n1 = create('01234567'), n2 = create('89abcdef'), n3 = - * create('fedcba98' */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("fedcba98")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMdoc* n3; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &n3)); - /* const s12 = initSyncState(), s21 = initSyncState(), s23 = - * initSyncState(), s32 = initSyncState( */ - AMsyncState* s12 = test_state->s1; - AMsyncState* s21 = test_state->s2; - AMsyncState* s23; - assert_true(AMitemToSyncState( - AMstackItem(stack_ptr, AMsyncStateInit(), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_STATE)), &s23)); - AMsyncState* s32; - assert_true(AMitemToSyncState( - AMstackItem(stack_ptr, AMsyncStateInit(), cmocka_cb, AMexpect(AM_VAL_TYPE_SYNC_STATE)), &s32)); - /* */ - /* Change 1 is known to all three nodes */ - /* //n1 = Automerge.change(n1, {time: 0}, doc => doc.x = 1) */ - /* n1.put("_root", "x", 1); n1.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), 1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* sync(n1, n2, s12, s21) */ - sync(test_state->n1, test_state->n2, s12, s21); - /* sync(n2, n3, s23, s32) */ - sync(test_state->n2, n3, s23, s32); - /* */ - /* Change 2 is known to n1 and n2 */ - /* n1.put("_root", "x", 2); n1.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), 2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* sync(n1, n2, s12, s21) */ - sync(test_state->n1, test_state->n2, s12, s21); - /* */ - /* Each of the three nodes makes one change (changes 3, 4, 5) */ - /* n1.put("_root", "x", 3); n1.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), 3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* n2.put("_root", "x", 4); n2.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(test_state->n2, AM_ROOT, AMstr("x"), 4), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n2, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* n3.put("_root", "x", 5); n3.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(n3, AM_ROOT, AMstr("x"), 5), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(n3, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* Apply n3's latest change to n2. */ - /* let change = n3.getLastLocalChange() - if (change === null) throw new RangeError("no local change") */ - AMitems changes = AMstackItems(stack_ptr, AMgetLastLocalChange(n3), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - /* n2.applyChanges([change]) */ - AMstackItem(NULL, AMapplyChanges(test_state->n2, &changes), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* */ - /* Now sync n1 and n2. n3's change is concurrent to n1 and n2's last sync - * heads */ - /* sync(n1, n2, s12, s21) */ - sync(test_state->n1, test_state->n2, s12, s21); - /* assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads2)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -/** - * \brief should handle histories with lots of branching and merging - */ -static void test_should_handle_histories_with_lots_of_branching_and_merging(void** state) { - /* const n1 = create('01234567'), n2 = create('89abcdef'), n3 = - create('fedcba98') const s1 = initSyncState(), s2 = initSyncState() */ - TestState* test_state = *state; - AMstack** stack_ptr = &test_state->base_state->stack; - AMactorId const* actor_id; - assert_true(AMitemToActorId( - AMstackItem(stack_ptr, AMactorIdFromStr(AMstr("fedcba98")), cmocka_cb, AMexpect(AM_VAL_TYPE_ACTOR_ID)), - &actor_id)); - AMdoc* n3; - assert_true(AMitemToDoc(AMstackItem(stack_ptr, AMcreate(actor_id), cmocka_cb, AMexpect(AM_VAL_TYPE_DOC)), &n3)); - /* n1.put("_root", "x", 0); n1.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("x"), 0), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* let change1 = n1.getLastLocalChange() - if (change1 === null) throw new RangeError("no local change") */ - AMitems change1 = - AMstackItems(stack_ptr, AMgetLastLocalChange(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - /* n2.applyChanges([change1]) */ - AMstackItem(NULL, AMapplyChanges(test_state->n2, &change1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* let change2 = n1.getLastLocalChange() - if (change2 === null) throw new RangeError("no local change") */ - AMitems change2 = - AMstackItems(stack_ptr, AMgetLastLocalChange(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - /* n3.applyChanges([change2]) */ - AMstackItem(NULL, AMapplyChanges(n3, &change2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n3.put("_root", "x", 1); n3.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(n3, AM_ROOT, AMstr("x"), 1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(n3, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* - n1c1 <------ n1c2 <------ n1c3 <-- etc. <-- n1c20 <------ n1c21 - * / \/ \/ \/ - * / /\ /\ /\ - * c0 <---- n2c1 <------ n2c2 <------ n2c3 <-- etc. <-- n2c20 <------ n2c21 - * \ / - * ---------------------------------------------- n3c1 <----- - */ - /* for (let i = 1; i < 20; i++) { */ - for (size_t i = 1; i != 20; ++i) { - /* n1.put("_root", "n1", i); n1.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(test_state->n1, AM_ROOT, AMstr("n1"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* n2.put("_root", "n2", i); n2.commit("", 0) */ - AMstackItem(NULL, AMmapPutUint(test_state->n2, AM_ROOT, AMstr("n2"), i), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n2, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* const change1 = n1.getLastLocalChange() - if (change1 === null) throw new RangeError("no local change") */ - AMitems change1 = - AMstackItems(stack_ptr, AMgetLastLocalChange(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - /* const change2 = n2.getLastLocalChange() - if (change2 === null) throw new RangeError("no local change") */ - AMitems change2 = - AMstackItems(stack_ptr, AMgetLastLocalChange(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - /* n1.applyChanges([change2]) */ - AMstackItem(NULL, AMapplyChanges(test_state->n1, &change2), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n2.applyChanges([change1]) */ - AMstackItem(NULL, AMapplyChanges(test_state->n2, &change1), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* { */ - } - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* */ - /* Having n3's last change concurrent to the last sync heads forces us into - * the slower code path */ - /* const change3 = n2.getLastLocalChange() - if (change3 === null) throw new RangeError("no local change") */ - AMitems change3 = AMstackItems(stack_ptr, AMgetLastLocalChange(n3), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE)); - /* n2.applyChanges([change3]) */ - AMstackItem(NULL, AMapplyChanges(test_state->n2, &change3), cmocka_cb, AMexpect(AM_VAL_TYPE_VOID)); - /* n1.put("_root", "n1", "final"); n1.commit("", 0) */ - AMstackItem(NULL, AMmapPutStr(test_state->n1, AM_ROOT, AMstr("n1"), AMstr("final")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n1, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* n2.put("_root", "n2", "final"); n2.commit("", 0) */ - AMstackItem(NULL, AMmapPutStr(test_state->n2, AM_ROOT, AMstr("n2"), AMstr("final")), cmocka_cb, - AMexpect(AM_VAL_TYPE_VOID)); - AMstackItem(NULL, AMcommit(test_state->n2, AMstr(""), &TIME_0), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - /* */ - /* sync(n1, n2, s1, s2) */ - sync(test_state->n1, test_state->n2, test_state->s1, test_state->s2); - /* assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) */ - AMitems heads1 = AMstackItems(stack_ptr, AMgetHeads(test_state->n1), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - AMitems heads2 = AMstackItems(stack_ptr, AMgetHeads(test_state->n2), cmocka_cb, AMexpect(AM_VAL_TYPE_CHANGE_HASH)); - assert_true(AMitemsEqual(&heads1, &heads2)); - /* assert.deepStrictEqual(n1.materialize(), n2.materialize()) */ - assert_true(AMequal(test_state->n1, test_state->n2)); -} - -int run_ported_wasm_sync_tests(void) { - const struct CMUnitTest tests[] = { - cmocka_unit_test_setup_teardown(test_should_send_a_sync_message_implying_no_local_data, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_not_reply_if_we_have_no_data_as_well, setup, teardown), - cmocka_unit_test_setup_teardown(test_repos_with_equal_heads_do_not_need_a_reply_message, setup, teardown), - cmocka_unit_test_setup_teardown(test_n1_should_offer_all_changes_to_n2_when_starting_from_nothing, setup, - teardown), - cmocka_unit_test_setup_teardown(test_should_sync_peers_where_one_has_commits_the_other_does_not, setup, - teardown), - cmocka_unit_test_setup_teardown(test_should_work_with_prior_sync_state, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_not_generate_messages_once_synced, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_allow_simultaneous_messages_during_synchronization, setup, - teardown), - cmocka_unit_test_setup_teardown(test_should_assume_sent_changes_were_received_until_we_hear_otherwise, setup, - teardown), - cmocka_unit_test_setup_teardown(test_should_work_regardless_of_who_initiates_the_exchange, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_work_without_prior_sync_state, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_work_with_prior_sync_state_2, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_ensure_non_empty_state_after_sync, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_resync_after_one_node_crashed_with_data_loss, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_resync_after_one_node_experiences_data_loss_without_disconnecting, - setup, teardown), - cmocka_unit_test_setup_teardown(test_should_handle_changes_concurrrent_to_the_last_sync_heads, setup, teardown), - cmocka_unit_test_setup_teardown(test_should_handle_histories_with_lots_of_branching_and_merging, setup, - teardown), - }; - - return cmocka_run_group_tests(tests, NULL, NULL); -} diff --git a/rust/automerge-c/test/str_utils.c b/rust/automerge-c/test/str_utils.c deleted file mode 100644 index 2937217a..00000000 --- a/rust/automerge-c/test/str_utils.c +++ /dev/null @@ -1,15 +0,0 @@ -#include -#include - -/* local */ -#include "str_utils.h" - -void hex_to_bytes(char const* hex_str, uint8_t* src, size_t const count) { - unsigned int byte; - char const* next = hex_str; - for (size_t index = 0; *next && index != count; next += 2, ++index) { - if (sscanf(next, "%02x", &byte) == 1) { - src[index] = (uint8_t)byte; - } - } -} diff --git a/rust/automerge-c/test/str_utils.h b/rust/automerge-c/test/str_utils.h deleted file mode 100644 index 14a4af73..00000000 --- a/rust/automerge-c/test/str_utils.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef TESTS_STR_UTILS_H -#define TESTS_STR_UTILS_H - -/** - * \brief Converts a hexadecimal string into an array of bytes. - * - * \param[in] hex_str A hexadecimal string. - * \param[in] src A pointer to an array of bytes. - * \param[in] count The count of bytes to copy into the array pointed to by - * \p src. - * \pre \p src `!= NULL` - * \pre `sizeof(`\p src `) > 0` - * \pre \p count `<= sizeof(`\p src `)` - */ -void hex_to_bytes(char const* hex_str, uint8_t* src, size_t const count); - -#endif /* TESTS_STR_UTILS_H */ diff --git a/rust/automerge-cli/.gitignore b/rust/automerge-cli/.gitignore deleted file mode 100644 index eb5a316c..00000000 --- a/rust/automerge-cli/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target diff --git a/rust/automerge-cli/Cargo.toml b/rust/automerge-cli/Cargo.toml deleted file mode 100644 index 430090a6..00000000 --- a/rust/automerge-cli/Cargo.toml +++ /dev/null @@ -1,30 +0,0 @@ -[package] -name = "automerge-cli" -version = "0.1.0" -authors = ["Alex Good "] -edition = "2018" -license = "MIT" -rust-version = "1.57.0" - -[[bin]] -name = "automerge" -path = "src/main.rs" -bench = false -doc = false - -[dependencies] -clap = {version = "~4", features = ["derive"]} -serde_json = "^1.0" -anyhow = "1.0" -thiserror = "^1.0" -combine = "^4.5" -maplit = "^1.0" -tracing-subscriber = "~0.3" - -automerge = { path = "../automerge" } -is-terminal = "0.4.1" -termcolor = "1.1.3" -serde = "1.0.150" - -[dev-dependencies] -duct = "^0.13" diff --git a/rust/automerge-cli/IDEAS.md b/rust/automerge-cli/IDEAS.md deleted file mode 100644 index d391fa51..00000000 --- a/rust/automerge-cli/IDEAS.md +++ /dev/null @@ -1,58 +0,0 @@ - -### Some ideas of what this could look like - -```bash - $ automege export foo.mpl - { - "name": "bob", - "numbers": [ 1,2,3,4 ] - } - $ automerge export --format toml foo.mpl - name = "bob" - numbers = [ - 1.0, - 2.0, - 3.0, - 4.0 - ] - $ automerge import foo.json --out bar.mpl - $ automerge export foo.mpl | automerge import - > bar.mpl - $ automerge set foo.mpl "birds[3].name" "wren" - $ cat wren.json | automerge set foo.mpl "birds[3]" - $ automerge get foo.mpl "birds[3].name" - $ automerge union foo.mpl bar.mpl --out baz.mpl - $ automerge intersect foo.mpl bar.mpl --out baz.mpl - $ automerge union foo.mpl bar.mpl - > baz.mpl - $ cat foo.mpl bar.mpl | automerge union --out baz.mpl - $ cat foo.mpl bar.mpl | automerge union - > baz.mpl - $ automerge status foo.mpl - 1022 changes, 10942 operations, 47 objects - created: 2:31pm April 4, 2020 - actors: - 1111111: 124 changes, 1:01am April 6, 2020 - 2222222: 457 changes, 8:10pm April 4, 2020 - 3333333: 590 changes, 10:01pm May 2, 2020 - $ automerge log foo.mpl --actor 11111111 - aa88f76 : [ ] : Jan 1, 20202, "first commit" - 87fa8c1 : [ aa88f76, 971651 ] : Jan 2, 20202, "seccond commit" - 776aa5c : [ 87fa8c1 ] : Jan 2, 20202, "third commit" - $ automerge fork 776aa5c foo.mpl --out bar.mpl - $ automerge fork 776aa5c - < foo.mpl > bar.mpl - $ automerge diff foo.mpl bar.mpl - 182 changes in common: - + 87c162 - + 97ac42 - - ffac11 - - 1adaf1 - { - - "name":"bob", - + "name":"joe", - "numbers": [ - - 1, - - 2, - + 3, - 4 - ] - } - -``` diff --git a/rust/automerge-cli/src/change.rs b/rust/automerge-cli/src/change.rs deleted file mode 100644 index eef6aade..00000000 --- a/rust/automerge-cli/src/change.rs +++ /dev/null @@ -1,238 +0,0 @@ -use automerge as am; -use combine::{parser::char as charparser, EasyParser, ParseError, Parser}; -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum ChangeError { - #[error("Invalid change script: {message}")] - InvalidChangeScript { message: String }, - #[error("Error reading changes: {:?}", source)] - ErrReadingChanges { - #[source] - source: std::io::Error, - }, - #[error("Error loading changes: {:?}", source)] - ErrApplyingInitialChanges { - #[source] - source: am::AutomergeError, - }, - #[error("Error writing changes to output file: {:?}", source)] - ErrWritingChanges { - #[source] - source: std::io::Error, - }, -} - -#[derive(Debug)] -enum Op { - Set, - Insert, - Delete, - Increment, -} - -fn case_insensitive_string(s: &'static str) -> impl Parser -where - Input: combine::Stream, - Input::Error: combine::ParseError, -{ - charparser::string_cmp(s, |l, r| l.eq_ignore_ascii_case(&r)).map(|s| s.to_lowercase()) -} - -fn op_parser() -> impl combine::Parser -where - Input: combine::Stream, -{ - combine::choice(( - combine::attempt(case_insensitive_string("set")).map(|_| Op::Set), - combine::attempt(case_insensitive_string("insert")).map(|_| Op::Insert), - combine::attempt(case_insensitive_string("delete")).map(|_| Op::Delete), - combine::attempt(case_insensitive_string("increment")).map(|_| Op::Increment), - )) -} - -fn key_parser() -> impl Parser -where - Input: combine::Stream, -{ - let key_char_parser = combine::choice::(( - charparser::alpha_num(), - charparser::char('-'), - charparser::char('_'), - )); - combine::many1(key_char_parser).map(|chars: Vec| chars.into_iter().collect()) -} - -fn index_parser() -> impl Parser -where - Input: combine::Stream, -{ - combine::many1::, Input, _>(charparser::digit()).map(|digits| { - let num_string: String = digits.iter().collect(); - num_string.parse::().unwrap() - }) -} - -combine::parser! { - fn path_segment_parser[Input](path_so_far: amf::Path)(Input) -> amf::Path - where [Input: combine::Stream] - { - let key_path_so_far = path_so_far.clone(); - let key_segment_parser = charparser::string("[\"") - .with(key_parser()) - .skip(charparser::string("\"]")) - .then(move |key| path_segment_parser(key_path_so_far.clone().key(key))); - - let index_path_so_far = path_so_far.clone(); - let index_segment_parser = charparser::char('[') - .with(index_parser()) - .skip(charparser::char(']')) - .then(move |index| path_segment_parser(index_path_so_far.clone().index(index))); - - combine::choice(( - combine::attempt(key_segment_parser), - combine::attempt(index_segment_parser), - combine::value(path_so_far.clone()) - )) - } -} - -fn value_parser<'a, Input>( -) -> Box + 'a> -where - Input: 'a, - Input: combine::Stream, - Input::Error: combine::ParseError, -{ - combine::parser::combinator::no_partial( - //combine::position().and(combine::many1::, _, _>(combine::any())).and_then( - combine::position().and(combine::many1::, _, _>(combine::any())).flat_map( - |(position, chars): (Input::Position, Vec)| -> Result { - let json_str: String = chars.into_iter().collect(); - let json: serde_json::Value = serde_json::from_str(json_str.as_str()).map_err(|e| { - //let pe = >::StreamError::message::>(combine::error::Format(e.to_string())); - //let pe = >::StreamError::message(e.to_string().into()); - let mut pe = Input::Error::empty(position); - pe.add_message(combine::error::Format(e.to_string())); - //let pe = combine::ParseError:::wmpty(position); - pe - })?; - Ok(amf::Value::from_json(&json)) - }, - ) - ).boxed() -} - -fn change_parser<'a, Input: 'a>() -> impl combine::Parser + 'a -where - Input: 'a, - Input: combine::stream::Stream, - Input::Error: combine::ParseError, -{ - charparser::spaces() - .with( - op_parser() - .skip(charparser::spaces()) - .skip(charparser::string("$")) - .and(path_segment_parser(am::Path::root())), - ) - .skip(charparser::spaces()) - .then(|(operation, path)| { - let onwards: Box< - dyn combine::Parser, - > = match operation { - Op::Set => value_parser::<'a>() - .map(move |value| amf::LocalChange::set(path.clone(), value)) - .boxed(), - Op::Insert => value_parser::<'a>() - .map(move |value| amf::LocalChange::insert(path.clone(), value)) - .boxed(), - Op::Delete => combine::value(amf::LocalChange::delete(path)).boxed(), - Op::Increment => combine::value(amf::LocalChange::increment(path)).boxed(), - }; - onwards - }) -} - -fn parse_change_script(input: &str) -> Result { - let (change, _) = - change_parser() - .easy_parse(input) - .map_err(|e| ChangeError::InvalidChangeScript { - message: e.to_string(), - })?; - Ok(change) -} - -pub fn change( - mut reader: impl std::io::Read, - mut writer: impl std::io::Write, - script: &str, -) -> Result<(), ChangeError> { - let mut buf: Vec = Vec::new(); - reader - .read_to_end(&mut buf) - .map_err(|e| ChangeError::ErrReadingChanges { source: e })?; - let backend = am::Automerge::load(&buf) - .map_err(|e| ChangeError::ErrApplyingInitialChanges { source: e })?; - let local_change = parse_change_script(script)?; - let ((), new_changes) = frontend.change::<_, _, amf::InvalidChangeRequest>(None, |d| { - d.add_change(local_change)?; - Ok(()) - })?; - let change_bytes = backend.save().unwrap(); - writer - .write_all(&change_bytes) - .map_err(|e| ChangeError::ErrWritingChanges { source: e })?; - Ok(()) -} - -#[cfg(test)] -mod tests { - use maplit::hashmap; - - use super::*; - - #[test] - fn test_parse_change_script() { - struct Scenario { - input: &'static str, - expected: amf::LocalChange, - } - let scenarios = vec![ - Scenario { - input: "set $[\"map\"][0] {\"some\": \"value\"}", - expected: amf::LocalChange::set( - amf::Path::root().key("map").index(0), - amf::Value::from(hashmap! {"some" => "value"}), - ), - }, - Scenario { - input: "insert $[\"map\"][0] {\"some\": \"value\"}", - expected: amf::LocalChange::insert( - amf::Path::root().key("map").index(0), - hashmap! {"some" => "value"}.into(), - ), - }, - Scenario { - input: "delete $[\"map\"][0]", - expected: amf::LocalChange::delete(amf::Path::root().key("map").index(0)), - }, - Scenario { - input: "increment $[\"map\"][0]", - expected: amf::LocalChange::increment(amf::Path::root().key("map").index(0)), - }, - ]; - for (index, scenario) in scenarios.into_iter().enumerate() { - let result: Result<(amf::LocalChange, _), _> = - change_parser().easy_parse(scenario.input); - let change = result.unwrap().0; - assert_eq!( - change, - scenario.expected, - "Failed on scenario: {0}", - index + 1, - ); - } - } -} diff --git a/rust/automerge-cli/src/color_json.rs b/rust/automerge-cli/src/color_json.rs deleted file mode 100644 index 9514da22..00000000 --- a/rust/automerge-cli/src/color_json.rs +++ /dev/null @@ -1,370 +0,0 @@ -use std::io::Write; - -use serde::Serialize; -use serde_json::ser::Formatter; -use termcolor::{Buffer, BufferWriter, Color, ColorSpec, WriteColor}; - -struct Style { - /// style of object brackets - object_brackets: ColorSpec, - /// style of array brackets - array_brackets: ColorSpec, - /// style of object - key: ColorSpec, - /// style of string values - string_value: ColorSpec, - /// style of integer values - integer_value: ColorSpec, - /// style of float values - float_value: ColorSpec, - /// style of bool values - bool_value: ColorSpec, - /// style of the `nil` value - nil_value: ColorSpec, - /// should the quotation get the style of the inner string/key? - string_include_quotation: bool, -} - -impl Default for Style { - fn default() -> Self { - Self { - object_brackets: ColorSpec::new().set_bold(true).clone(), - array_brackets: ColorSpec::new().set_bold(true).clone(), - key: ColorSpec::new() - .set_fg(Some(Color::Blue)) - .set_bold(true) - .clone(), - string_value: ColorSpec::new().set_fg(Some(Color::Green)).clone(), - integer_value: ColorSpec::new(), - float_value: ColorSpec::new(), - bool_value: ColorSpec::new(), - nil_value: ColorSpec::new(), - string_include_quotation: true, - } - } -} - -/// Write pretty printed, colored json to stdout -pub(crate) fn print_colored_json(value: &serde_json::Value) -> std::io::Result<()> { - let formatter = ColoredFormatter { - formatter: serde_json::ser::PrettyFormatter::new(), - style: Style::default(), - in_object_key: false, - }; - let mut ignored_writer = Vec::new(); - let mut ser = serde_json::Serializer::with_formatter(&mut ignored_writer, formatter); - value - .serialize(&mut ser) - .map_err(|e| std::io::Error::new(std::io::ErrorKind::Other, e.to_string())) -} - -struct ColoredFormatter { - formatter: F, - style: Style, - in_object_key: bool, -} - -fn write_colored(color: ColorSpec, handler: H) -> std::io::Result<()> -where - H: FnOnce(&mut Buffer) -> std::io::Result<()>, -{ - let buf = BufferWriter::stdout(termcolor::ColorChoice::Auto); - let mut buffer = buf.buffer(); - buffer.set_color(&color)?; - handler(&mut buffer)?; - buffer.reset()?; - buf.print(&buffer)?; - Ok(()) -} - -impl Formatter for ColoredFormatter { - fn write_null(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.nil_value.clone(), |w| { - self.formatter.write_null(w) - }) - } - - fn write_bool(&mut self, _writer: &mut W, value: bool) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.bool_value.clone(), |w| { - self.formatter.write_bool(w, value) - }) - } - - fn write_i8(&mut self, _writer: &mut W, value: i8) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_i8(w, value) - }) - } - - fn write_i16(&mut self, _writer: &mut W, value: i16) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_i16(w, value) - }) - } - - fn write_i32(&mut self, _writer: &mut W, value: i32) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_i32(w, value) - }) - } - - fn write_i64(&mut self, _writer: &mut W, value: i64) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_i64(w, value) - }) - } - - fn write_i128(&mut self, _writer: &mut W, value: i128) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_i128(w, value) - }) - } - - fn write_u8(&mut self, _writer: &mut W, value: u8) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_u8(w, value) - }) - } - - fn write_u16(&mut self, _writer: &mut W, value: u16) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_u16(w, value) - }) - } - - fn write_u32(&mut self, _writer: &mut W, value: u32) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_u32(w, value) - }) - } - - fn write_u64(&mut self, _writer: &mut W, value: u64) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_u64(w, value) - }) - } - - fn write_u128(&mut self, _writer: &mut W, value: u128) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_u128(w, value) - }) - } - - fn write_f32(&mut self, _writer: &mut W, value: f32) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.float_value.clone(), |w| { - self.formatter.write_f32(w, value) - }) - } - - fn write_f64(&mut self, _writer: &mut W, value: f64) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.float_value.clone(), |w| { - self.formatter.write_f64(w, value) - }) - } - - fn write_number_str(&mut self, _writer: &mut W, value: &str) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.integer_value.clone(), |w| { - self.formatter.write_number_str(w, value) - }) - } - - fn begin_string(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - let style = if self.style.string_include_quotation { - if self.in_object_key { - self.style.key.clone() - } else { - self.style.string_value.clone() - } - } else { - ColorSpec::new() - }; - write_colored(style, |w| self.formatter.begin_string(w)) - } - - fn end_string(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - let style = if self.style.string_include_quotation { - if self.in_object_key { - self.style.key.clone() - } else { - self.style.string_value.clone() - } - } else { - ColorSpec::new() - }; - write_colored(style, |w| self.formatter.end_string(w)) - } - - fn write_string_fragment(&mut self, _writer: &mut W, fragment: &str) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - let style = if self.in_object_key { - self.style.key.clone() - } else { - self.style.string_value.clone() - }; - write_colored(style, |w| w.write_all(fragment.as_bytes())) - } - - fn write_char_escape( - &mut self, - _writer: &mut W, - char_escape: serde_json::ser::CharEscape, - ) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - let style = if self.in_object_key { - self.style.key.clone() - } else { - self.style.string_value.clone() - }; - write_colored(style, |w| self.formatter.write_char_escape(w, char_escape)) - } - - fn begin_array(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.array_brackets.clone(), |w| { - self.formatter.begin_array(w) - }) - } - - fn end_array(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.array_brackets.clone(), |w| { - self.formatter.end_array(w) - }) - } - - fn begin_array_value(&mut self, _writer: &mut W, first: bool) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(ColorSpec::new(), |w| { - self.formatter.begin_array_value(w, first) - }) - } - - fn end_array_value(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(ColorSpec::new(), |w| self.formatter.end_array_value(w)) - } - - fn begin_object(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.object_brackets.clone(), |w| { - self.formatter.begin_object(w) - }) - } - - fn end_object(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(self.style.object_brackets.clone(), |w| { - self.formatter.end_object(w) - }) - } - - fn begin_object_key(&mut self, _writer: &mut W, first: bool) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - self.in_object_key = true; - write_colored(ColorSpec::new(), |w| { - self.formatter.begin_object_key(w, first) - }) - } - - fn end_object_key(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - self.in_object_key = false; - write_colored(ColorSpec::new(), |w| self.formatter.end_object_key(w)) - } - - fn begin_object_value(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - self.in_object_key = false; - write_colored(ColorSpec::new(), |w| self.formatter.begin_object_value(w)) - } - - fn end_object_value(&mut self, _writer: &mut W) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - self.in_object_key = false; - write_colored(ColorSpec::new(), |w| self.formatter.end_object_value(w)) - } - - fn write_raw_fragment(&mut self, _writer: &mut W, fragment: &str) -> std::io::Result<()> - where - W: ?Sized + std::io::Write, - { - write_colored(ColorSpec::new(), |w| { - self.formatter.write_raw_fragment(w, fragment) - }) - } -} diff --git a/rust/automerge-cli/src/examine.rs b/rust/automerge-cli/src/examine.rs deleted file mode 100644 index 0ee102fb..00000000 --- a/rust/automerge-cli/src/examine.rs +++ /dev/null @@ -1,55 +0,0 @@ -use automerge as am; -use thiserror::Error; - -use crate::{color_json::print_colored_json, SkipVerifyFlag}; - -#[derive(Error, Debug)] -pub enum ExamineError { - #[error("Error reading change file: {:?}", source)] - ReadingChanges { - #[source] - source: std::io::Error, - }, - #[error("Error loading changes: {:?}", source)] - ApplyingInitialChanges { - #[source] - source: am::AutomergeError, - }, - #[error("Error writing to output: {:?}", source)] - WritingToOutput { - #[source] - source: std::io::Error, - }, -} - -pub(crate) fn examine( - mut input: impl std::io::Read, - mut output: impl std::io::Write, - skip: SkipVerifyFlag, - is_tty: bool, -) -> Result<(), ExamineError> { - let mut buf: Vec = Vec::new(); - input - .read_to_end(&mut buf) - .map_err(|e| ExamineError::ReadingChanges { source: e })?; - let doc = skip - .load(&buf) - .map_err(|e| ExamineError::ApplyingInitialChanges { source: e })?; - let uncompressed_changes: Vec<_> = doc - .get_changes(&[]) - .unwrap() - .iter() - .map(|c| c.decode()) - .collect(); - if is_tty { - let json_changes = serde_json::to_value(uncompressed_changes).unwrap(); - print_colored_json(&json_changes).unwrap(); - writeln!(output).unwrap(); - } else { - let json_changes = serde_json::to_string_pretty(&uncompressed_changes).unwrap(); - output - .write_all(&json_changes.into_bytes()) - .map_err(|e| ExamineError::WritingToOutput { source: e })?; - } - Ok(()) -} diff --git a/rust/automerge-cli/src/examine_sync.rs b/rust/automerge-cli/src/examine_sync.rs deleted file mode 100644 index c0d5df97..00000000 --- a/rust/automerge-cli/src/examine_sync.rs +++ /dev/null @@ -1,38 +0,0 @@ -use automerge::sync::ReadMessageError; - -use crate::color_json::print_colored_json; - -#[derive(Debug, thiserror::Error)] -pub enum ExamineSyncError { - #[error("Error reading message: {0}")] - ReadMessage(#[source] std::io::Error), - - #[error("error writing message: {0}")] - WriteMessage(#[source] std::io::Error), - - #[error("error writing json to output: {0}")] - WriteJson(#[source] serde_json::Error), - - #[error("Error parsing message: {0}")] - ParseMessage(#[from] ReadMessageError), -} - -pub(crate) fn examine_sync( - mut input: Box, - output: W, - is_tty: bool, -) -> Result<(), ExamineSyncError> { - let mut buf: Vec = Vec::new(); - input - .read_to_end(&mut buf) - .map_err(ExamineSyncError::ReadMessage)?; - - let message = automerge::sync::Message::decode(&buf)?; - let json = serde_json::to_value(message).unwrap(); - if is_tty { - print_colored_json(&json).map_err(ExamineSyncError::WriteMessage)?; - } else { - serde_json::to_writer(output, &json).map_err(ExamineSyncError::WriteJson)?; - } - Ok(()) -} diff --git a/rust/automerge-cli/src/export.rs b/rust/automerge-cli/src/export.rs deleted file mode 100644 index 45f39101..00000000 --- a/rust/automerge-cli/src/export.rs +++ /dev/null @@ -1,163 +0,0 @@ -use anyhow::Result; -use automerge as am; -use automerge::ReadDoc; - -use crate::{color_json::print_colored_json, SkipVerifyFlag}; - -pub(crate) fn map_to_json(doc: &am::Automerge, obj: &am::ObjId) -> serde_json::Value { - let keys = doc.keys(obj); - let mut map = serde_json::Map::new(); - for k in keys { - let val = doc.get(obj, &k); - match val { - Ok(Some((am::Value::Object(o), exid))) - if o == am::ObjType::Map || o == am::ObjType::Table => - { - map.insert(k.to_owned(), map_to_json(doc, &exid)); - } - Ok(Some((am::Value::Object(_), exid))) => { - map.insert(k.to_owned(), list_to_json(doc, &exid)); - } - Ok(Some((am::Value::Scalar(v), _))) => { - map.insert(k.to_owned(), scalar_to_json(&v)); - } - _ => (), - }; - } - serde_json::Value::Object(map) -} - -fn list_to_json(doc: &am::Automerge, obj: &am::ObjId) -> serde_json::Value { - let len = doc.length(obj); - let mut array = Vec::new(); - for i in 0..len { - let val = doc.get(obj, i); - match val { - Ok(Some((am::Value::Object(o), exid))) - if o == am::ObjType::Map || o == am::ObjType::Table => - { - array.push(map_to_json(doc, &exid)); - } - Ok(Some((am::Value::Object(_), exid))) => { - array.push(list_to_json(doc, &exid)); - } - Ok(Some((am::Value::Scalar(v), _))) => { - array.push(scalar_to_json(&v)); - } - _ => (), - }; - } - serde_json::Value::Array(array) -} - -fn scalar_to_json(val: &am::ScalarValue) -> serde_json::Value { - match val { - am::ScalarValue::Str(s) => serde_json::Value::String(s.to_string()), - am::ScalarValue::Bytes(b) | am::ScalarValue::Unknown { bytes: b, .. } => { - serde_json::Value::Array( - b.iter() - .map(|byte| serde_json::Value::Number((*byte).into())) - .collect(), - ) - } - am::ScalarValue::Int(n) => serde_json::Value::Number((*n).into()), - am::ScalarValue::Uint(n) => serde_json::Value::Number((*n).into()), - am::ScalarValue::F64(n) => serde_json::Number::from_f64(*n) - .unwrap_or_else(|| 0_i64.into()) - .into(), - am::ScalarValue::Counter(c) => serde_json::Value::Number(i64::from(c).into()), - am::ScalarValue::Timestamp(n) => serde_json::Value::Number((*n).into()), - am::ScalarValue::Boolean(b) => serde_json::Value::Bool(*b), - am::ScalarValue::Null => serde_json::Value::Null, - } -} - -fn get_state_json(input_data: Vec, skip: SkipVerifyFlag) -> Result { - let doc = skip.load(&input_data).unwrap(); // FIXME - Ok(map_to_json(&doc, &am::ObjId::Root)) -} - -pub(crate) fn export_json( - mut changes_reader: impl std::io::Read, - mut writer: impl std::io::Write, - skip: SkipVerifyFlag, - is_tty: bool, -) -> Result<()> { - let mut input_data = vec![]; - changes_reader.read_to_end(&mut input_data)?; - - let state_json = get_state_json(input_data, skip)?; - if is_tty { - print_colored_json(&state_json).unwrap(); - writeln!(writer).unwrap(); - } else { - writeln!( - writer, - "{}", - serde_json::to_string_pretty(&state_json).unwrap() - )?; - } - Ok(()) -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::import::initialize_from_json; - - #[test] - fn cli_export_with_empty_input() { - assert_eq!( - get_state_json(vec![], Default::default()).unwrap(), - serde_json::json!({}) - ) - } - - #[test] - fn cli_export_with_flat_map() { - let initial_state_json: serde_json::Value = - serde_json::from_str(r#"{"sparrows": 15.0}"#).unwrap(); - //let value: am::Value = am::Value::from_json(&initial_state_json); - //let (_, initial_change) = am::Frontend::new_with_initial_state(value).unwrap(); - //let mut backend = am::Automerge::new(); - //backend.apply_local_change(initial_change).unwrap(); - let mut backend = initialize_from_json(&initial_state_json).unwrap(); - let change_bytes = backend.save(); - assert_eq!( - get_state_json(change_bytes, Default::default()).unwrap(), - serde_json::json!({"sparrows": 15.0}) - ) - } - - #[test] - fn cli_export_with_nested_map() { - let initial_state_json: serde_json::Value = serde_json::from_str( - r#"{ - "birds": { - "wrens": 3.0, - "sparrows": 15.0 - } -}"#, - ) - .unwrap(); - let mut backend = initialize_from_json(&initial_state_json).unwrap(); - /* - let value: am::Value = am::Value::from_json(&initial_state_json); - - //let (_, initial_change) = am::Frontend::new_with_initial_state(value).unwrap(); - let mut backend = am::Automerge::new(); - //backend.apply_local_change(initial_change).unwrap(); - - */ - let change_bytes = backend.save(); - assert_eq!( - get_state_json(change_bytes, Default::default()).unwrap(), - serde_json::json!({ - "birds": { - "wrens": 3.0, - "sparrows": 15.0 - } - }) - ) - } -} diff --git a/rust/automerge-cli/src/import.rs b/rust/automerge-cli/src/import.rs deleted file mode 100644 index a9556071..00000000 --- a/rust/automerge-cli/src/import.rs +++ /dev/null @@ -1,108 +0,0 @@ -use automerge as am; -use automerge::transaction::Transactable; - -pub(crate) fn initialize_from_json( - json_value: &serde_json::Value, -) -> anyhow::Result { - let mut doc = am::AutoCommit::new(); - match json_value { - serde_json::Value::Object(m) => { - import_map(&mut doc, &am::ObjId::Root, m)?; - Ok(doc) - } - _ => anyhow::bail!("expected an object"), - } -} - -fn import_map( - doc: &mut am::AutoCommit, - obj: &am::ObjId, - map: &serde_json::Map, -) -> anyhow::Result<()> { - for (key, value) in map { - match value { - serde_json::Value::Null => { - doc.put(obj, key, ())?; - } - serde_json::Value::Bool(b) => { - doc.put(obj, key, *b)?; - } - serde_json::Value::String(s) => { - doc.put(obj, key, s)?; - } - serde_json::Value::Array(vec) => { - let id = doc.put_object(obj, key, am::ObjType::List)?; - import_list(doc, &id, vec)?; - } - serde_json::Value::Number(n) => { - if let Some(m) = n.as_i64() { - doc.put(obj, key, m)?; - } else if let Some(m) = n.as_u64() { - doc.put(obj, key, m)?; - } else if let Some(m) = n.as_f64() { - doc.put(obj, key, m)?; - } else { - anyhow::bail!("not a number"); - } - } - serde_json::Value::Object(map) => { - let id = doc.put_object(obj, key, am::ObjType::Map)?; - import_map(doc, &id, map)?; - } - } - } - Ok(()) -} - -fn import_list( - doc: &mut am::AutoCommit, - obj: &am::ObjId, - list: &[serde_json::Value], -) -> anyhow::Result<()> { - for (i, value) in list.iter().enumerate() { - match value { - serde_json::Value::Null => { - doc.insert(obj, i, ())?; - } - serde_json::Value::Bool(b) => { - doc.insert(obj, i, *b)?; - } - serde_json::Value::String(s) => { - doc.insert(obj, i, s)?; - } - serde_json::Value::Array(vec) => { - let id = doc.insert_object(obj, i, am::ObjType::List)?; - import_list(doc, &id, vec)?; - } - serde_json::Value::Number(n) => { - if let Some(m) = n.as_i64() { - doc.insert(obj, i, m)?; - } else if let Some(m) = n.as_u64() { - doc.insert(obj, i, m)?; - } else if let Some(m) = n.as_f64() { - doc.insert(obj, i, m)?; - } else { - anyhow::bail!("not a number"); - } - } - serde_json::Value::Object(map) => { - let id = doc.insert_object(obj, i, am::ObjType::Map)?; - import_map(doc, &id, map)?; - } - } - } - Ok(()) -} - -pub fn import_json( - mut reader: impl std::io::Read, - mut writer: impl std::io::Write, -) -> anyhow::Result<()> { - let mut buffer = String::new(); - reader.read_to_string(&mut buffer)?; - - let json_value: serde_json::Value = serde_json::from_str(&buffer)?; - let mut doc = initialize_from_json(&json_value)?; - writer.write_all(&doc.save())?; - Ok(()) -} diff --git a/rust/automerge-cli/src/main.rs b/rust/automerge-cli/src/main.rs deleted file mode 100644 index 8f3f816d..00000000 --- a/rust/automerge-cli/src/main.rs +++ /dev/null @@ -1,240 +0,0 @@ -use std::{fs::File, path::PathBuf, str::FromStr}; - -use anyhow::{anyhow, Result}; -use clap::{ - builder::{BoolishValueParser, TypedValueParser, ValueParserFactory}, - Parser, -}; -use is_terminal::IsTerminal; - -mod color_json; -mod examine; -mod examine_sync; -mod export; -mod import; -mod merge; - -#[derive(Parser, Debug)] -#[clap(about = "Automerge CLI")] -struct Opts { - #[clap(subcommand)] - cmd: Command, -} - -#[derive(clap::ValueEnum, Clone, Debug)] -enum ExportFormat { - Json, - Toml, -} - -#[derive(Copy, Clone, Default, Debug)] -pub(crate) struct SkipVerifyFlag(bool); - -impl SkipVerifyFlag { - fn load(&self, buf: &[u8]) -> Result { - if self.0 { - automerge::Automerge::load(buf) - } else { - automerge::Automerge::load_unverified_heads(buf) - } - } -} - -#[derive(Clone)] -struct SkipVerifyFlagParser; -impl ValueParserFactory for SkipVerifyFlag { - type Parser = SkipVerifyFlagParser; - - fn value_parser() -> Self::Parser { - SkipVerifyFlagParser - } -} - -impl TypedValueParser for SkipVerifyFlagParser { - type Value = SkipVerifyFlag; - - fn parse_ref( - &self, - cmd: &clap::Command, - arg: Option<&clap::Arg>, - value: &std::ffi::OsStr, - ) -> Result { - BoolishValueParser::new() - .parse_ref(cmd, arg, value) - .map(SkipVerifyFlag) - } -} - -impl FromStr for ExportFormat { - type Err = anyhow::Error; - - fn from_str(input: &str) -> Result { - match input { - "json" => Ok(ExportFormat::Json), - "toml" => Ok(ExportFormat::Toml), - _ => Err(anyhow!("Invalid export format: {}", input)), - } - } -} - -#[derive(Debug, Parser)] -enum Command { - /// Output current state of an Automerge document in a specified format - Export { - /// Format for output: json, toml - #[clap(long, short, default_value = "json")] - format: ExportFormat, - - /// Path that contains Automerge changes - changes_file: Option, - - /// The file to write to. If omitted assumes stdout - #[clap(long("out"), short('o'))] - output_file: Option, - - /// Whether to verify the head hashes of a compressed document - #[clap(long, action = clap::ArgAction::SetFalse)] - skip_verifying_heads: SkipVerifyFlag, - }, - - Import { - /// Format for input: json, toml - #[clap(long, short, default_value = "json")] - format: ExportFormat, - - input_file: Option, - - /// Path to write Automerge changes to - #[clap(long("out"), short('o'))] - changes_file: Option, - }, - - /// Read an automerge document and print a JSON representation of the changes in it to stdout - Examine { - input_file: Option, - skip_verifying_heads: SkipVerifyFlag, - }, - - /// Read an automerge sync messaage and print a JSON representation of it - ExamineSync { input_file: Option }, - - /// Read one or more automerge documents and output a merged, compacted version of them - Merge { - /// The file to write to. If omitted assumes stdout - #[clap(long("out"), short('o'))] - output_file: Option, - - /// The file(s) to compact. If empty assumes stdin - input: Vec, - }, -} - -fn open_file_or_stdin(maybe_path: Option) -> Result> { - if std::io::stdin().is_terminal() { - if let Some(path) = maybe_path { - Ok(Box::new(File::open(path).unwrap())) - } else { - Err(anyhow!( - "Must provide file path if not providing input via stdin" - )) - } - } else { - Ok(Box::new(std::io::stdin())) - } -} - -fn create_file_or_stdout(maybe_path: Option) -> Result> { - if std::io::stdout().is_terminal() { - if let Some(path) = maybe_path { - Ok(Box::new(File::create(path).unwrap())) - } else { - Err(anyhow!("Must provide file path if not piping to stdout")) - } - } else { - Ok(Box::new(std::io::stdout())) - } -} - -fn main() -> Result<()> { - tracing_subscriber::fmt::init(); - let opts = Opts::parse(); - match opts.cmd { - Command::Export { - changes_file, - format, - output_file, - skip_verifying_heads, - } => { - let output: Box = if let Some(output_file) = output_file { - Box::new(File::create(output_file)?) - } else { - Box::new(std::io::stdout()) - }; - match format { - ExportFormat::Json => { - let mut in_buffer = open_file_or_stdin(changes_file)?; - export::export_json( - &mut in_buffer, - output, - skip_verifying_heads, - std::io::stdout().is_terminal(), - ) - } - ExportFormat::Toml => unimplemented!(), - } - } - Command::Import { - format, - input_file, - changes_file, - } => match format { - ExportFormat::Json => { - let mut out_buffer = create_file_or_stdout(changes_file)?; - let mut in_buffer = open_file_or_stdin(input_file)?; - import::import_json(&mut in_buffer, &mut out_buffer) - } - ExportFormat::Toml => unimplemented!(), - }, - Command::Examine { - input_file, - skip_verifying_heads, - } => { - let in_buffer = open_file_or_stdin(input_file)?; - let out_buffer = std::io::stdout(); - match examine::examine( - in_buffer, - out_buffer, - skip_verifying_heads, - std::io::stdout().is_terminal(), - ) { - Ok(()) => {} - Err(e) => { - eprintln!("Error: {:?}", e); - } - } - Ok(()) - } - Command::ExamineSync { input_file } => { - let in_buffer = open_file_or_stdin(input_file)?; - let out_buffer = std::io::stdout(); - match examine_sync::examine_sync(in_buffer, out_buffer, std::io::stdout().is_terminal()) - { - Ok(()) => {} - Err(e) => { - eprintln!("Error: {:?}", e); - } - } - Ok(()) - } - Command::Merge { input, output_file } => { - let out_buffer = create_file_or_stdout(output_file)?; - match merge::merge(input.into(), out_buffer) { - Ok(()) => {} - Err(e) => { - eprintln!("Failed to merge: {}", e); - } - }; - Ok(()) - } - } -} diff --git a/rust/automerge-cli/src/merge.rs b/rust/automerge-cli/src/merge.rs deleted file mode 100644 index 936af246..00000000 --- a/rust/automerge-cli/src/merge.rs +++ /dev/null @@ -1,58 +0,0 @@ -use automerge as am; -use std::{ - io::Read, - path::{Path, PathBuf}, -}; - -pub(super) enum Inputs { - Stdin, - Paths(Vec), -} - -impl From> for Inputs { - fn from(i: Vec) -> Self { - if i.is_empty() { - Inputs::Stdin - } else { - Inputs::Paths(i) - } - } -} - -#[derive(Debug, thiserror::Error)] -pub(super) enum MergeError { - #[error(transparent)] - Io(#[from] std::io::Error), - #[error("failed to load {path}: {error}")] - FailedToLoad { - path: PathBuf, - error: Box, - }, - #[error(transparent)] - Automerge(#[from] am::AutomergeError), -} - -pub(super) fn merge(inputs: Inputs, mut output: W) -> Result<(), MergeError> { - let mut backend = am::Automerge::new(); - match inputs { - Inputs::Stdin => { - let mut input = Vec::new(); - std::io::stdin().read_to_end(&mut input)?; - backend.load_incremental(&input)?; - } - Inputs::Paths(paths) => { - for path in paths { - load_path(&mut backend, &path) - .map_err(|error| MergeError::FailedToLoad { path, error })?; - } - } - } - output.write_all(&backend.save())?; - Ok(()) -} - -fn load_path(backend: &mut am::Automerge, path: &Path) -> Result<(), Box> { - let input = std::fs::read(path).map_err(Box::new)?; - backend.load_incremental(&input).map_err(Box::new)?; - Ok(()) -} diff --git a/rust/automerge-cli/tests/integration.rs b/rust/automerge-cli/tests/integration.rs deleted file mode 100644 index 87e30db7..00000000 --- a/rust/automerge-cli/tests/integration.rs +++ /dev/null @@ -1,93 +0,0 @@ -use std::env; - -use duct::cmd; - -// #[test] -// fn import_stdin() { -// let bin = env!("CARGO_BIN_EXE_automerge"); -// let initial_state_json = serde_json::json!({ -// "birds": { -// "wrens": 3.0, -// "sparrows": 15.0 -// } -// }); -// let json_bytes = serde_json::to_string_pretty(&initial_state_json).unwrap(); - -// let no_pipe_no_file = cmd!(bin, "import").stdin_bytes(json_bytes.clone()).run(); - -// assert!(no_pipe_no_file.is_err()); - -// let pipe_no_file = cmd!(bin, "import") -// .stdin_bytes(json_bytes.clone()) -// .stdout_capture() -// .run(); - -// assert!(pipe_no_file.is_ok()); - -// let mut temp_file = std::env::temp_dir(); -// temp_file.push("import_test.mpl"); -// let no_pipe_file = cmd!(bin, "import", "--out", &temp_file) -// .stdin_bytes(json_bytes) -// .run(); - -// assert!(no_pipe_file.is_ok()); -// std::fs::remove_file(temp_file).unwrap(); -// } - -// #[test] -// fn export_stdout() { -// let bin = env!("CARGO_BIN_EXE_automerge"); -// let no_pipe_no_file = cmd!(bin, "export").stdout_capture().run(); - -// assert!(no_pipe_no_file.is_err()); -// } - -#[test] -fn import_export_isomorphic() { - let bin = env!("CARGO_BIN_EXE_automerge"); - let initial_state_json = serde_json::json!({ - "birds": { - "wrens": 3.0, - "sparrows": 15.0 - } - }); - let json_bytes = serde_json::to_string_pretty(&initial_state_json).unwrap(); - - let stdout = cmd!(bin, "import") - .stdin_bytes(json_bytes.clone()) - .pipe(cmd!(bin, "export")) - .read() - .unwrap(); - assert_eq!(stdout, json_bytes); -} - -/* -#[test] -fn import_change_export() { - let bin = env!("CARGO_BIN_EXE_automerge"); - let initial_state_json = serde_json::json!({ - "birds": { - "wrens": 3.0, - "sparrows": 15.0 - } - }); - let json_bytes = serde_json::to_string_pretty(&initial_state_json).unwrap(); - - let stdout = cmd!(bin, "import") - .stdin_bytes(json_bytes.clone()) - .pipe(cmd!(bin, "change", "set $[\"birds\"][\"owls\"] 12.0")) - .stdin_bytes(json_bytes) - .pipe(cmd!(bin, "export")) - .read() - .unwrap(); - let result: serde_json::Value = serde_json::from_str(stdout.as_str()).unwrap(); - let expected = serde_json::json!({ - "birds": { - "wrens": 3.0, - "sparrows": 15.0, - "owls": 12.0, - } - }); - assert_eq!(result, expected); -} -*/ diff --git a/rust/automerge-test/Cargo.toml b/rust/automerge-test/Cargo.toml deleted file mode 100644 index 9290d7ac..00000000 --- a/rust/automerge-test/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "automerge-test" -version = "0.2.0" -edition = "2021" -license = "MIT" -repository = "https://github.com/automerge/automerge-rs" -rust-version = "1.57.0" -description = "Utilities for testing automerge libraries" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -automerge = { version = "^0.3", path = "../automerge" } -smol_str = { version = "^0.1.21", features=["serde"] } -serde = { version = "^1.0", features=["derive"] } -decorum = "0.3.1" -serde_json = { version = "^1.0.73", features=["float_roundtrip"], default-features=true } diff --git a/rust/automerge-test/README.md b/rust/automerge-test/README.md deleted file mode 100644 index 2cadabbb..00000000 --- a/rust/automerge-test/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# `automerge-test` - -Utilities for making assertions about automerge documents diff --git a/rust/automerge-test/src/lib.rs b/rust/automerge-test/src/lib.rs deleted file mode 100644 index a1d4ea89..00000000 --- a/rust/automerge-test/src/lib.rs +++ /dev/null @@ -1,496 +0,0 @@ -use std::{ - collections::{BTreeMap, BTreeSet}, - convert::TryInto, - hash::Hash, -}; - -use automerge::ReadDoc; - -use serde::ser::{SerializeMap, SerializeSeq}; - -pub fn new_doc() -> automerge::AutoCommit { - let mut d = automerge::AutoCommit::new(); - d.set_actor(automerge::ActorId::random()); - d -} - -pub fn new_doc_with_actor(actor: automerge::ActorId) -> automerge::AutoCommit { - let mut d = automerge::AutoCommit::new(); - d.set_actor(actor); - d -} - -/// Returns two actor IDs, the first considered to be ordered before the second -pub fn sorted_actors() -> (automerge::ActorId, automerge::ActorId) { - let a = automerge::ActorId::random(); - let b = automerge::ActorId::random(); - if a > b { - (b, a) - } else { - (a, b) - } -} - -/// This macro makes it easy to make assertions about a document. It is called with two arguments, -/// the first is a reference to an `automerge::Automerge`, the second is an instance of -/// `RealizedObject`. -/// -/// What - I hear you ask - is a `RealizedObject`? It's a fully hydrated version of the contents of -/// an automerge document. You don't need to think about this too much though because you can -/// easily construct one with the `map!` and `list!` macros. Here's an example: -/// -/// ## Constructing documents -/// -/// ```rust -/// # use automerge::transaction::Transactable; -/// # use automerge_test::{assert_doc, map, list}; -/// let mut doc = automerge::AutoCommit::new(); -/// let todos = doc.put_object(automerge::ROOT, "todos", automerge::ObjType::List).unwrap(); -/// let todo = doc.insert_object(todos, 0, automerge::ObjType::Map).unwrap(); -/// let title = doc.put(todo, "title", "water plants").unwrap(); -/// -/// assert_doc!( -/// &doc, -/// map!{ -/// "todos" => { -/// list![ -/// { map!{ "title" => { "water plants" } } } -/// ] -/// } -/// } -/// ); -/// -/// ``` -/// -/// This might look more complicated than you were expecting. Why is the first element in the list -/// wrapped in braces? Because every property in an automerge document can have multiple -/// conflicting values we must capture all of these. -/// -/// ```rust -/// # use automerge_test::{assert_doc, map}; -/// # use automerge::transaction::Transactable; -/// # use automerge::ReadDoc; -/// -/// let mut doc1 = automerge::AutoCommit::new(); -/// let mut doc2 = automerge::AutoCommit::new(); -/// doc1.put(automerge::ROOT, "field", "one").unwrap(); -/// doc2.put(automerge::ROOT, "field", "two").unwrap(); -/// doc1.merge(&mut doc2); -/// assert_doc!( -/// doc1.document(), -/// map!{ -/// "field" => { -/// "one", -/// "two" -/// } -/// } -/// ); -/// ``` -#[macro_export] -macro_rules! assert_doc { - ($doc: expr, $expected: expr) => {{ - use $crate::realize; - let realized = realize($doc); - let expected_obj = $expected.into(); - if realized != expected_obj { - $crate::pretty_panic(expected_obj, realized) - } - }}; -} - -/// Like `assert_doc` except that you can specify an object ID and property to select subsections -/// of the document. -#[macro_export] -macro_rules! assert_obj { - ($doc: expr, $obj_id: expr, $prop: expr, $expected: expr) => {{ - use $crate::realize_prop; - let realized = realize_prop($doc, $obj_id, $prop); - let expected_obj = $expected.into(); - if realized != expected_obj { - $crate::pretty_panic(expected_obj, realized) - } - }}; -} - -/// Construct `RealizedObject::Map`. This macro takes a nested set of curl braces. The outer set is -/// the keys of the map, the inner set is the set of values for that key: -/// -/// ``` -/// # use automerge_test::map; -/// map!{ -/// "key" => { -/// "value1", -/// "value2", -/// } -/// }; -/// ``` -/// -/// The map above would represent a map with a conflict on the "key" property. The values can be -/// anything which implements `Into`. Including nested calls to `map!` or `list!`. -#[macro_export] -macro_rules! map { - (@inner { $($value:expr,)+ }) => { map!(@inner { $($value),+ }) }; - (@inner { $($value:expr),* }) => { - { - use std::collections::BTreeSet; - use $crate::RealizedObject; - let mut inner: BTreeSet = BTreeSet::new(); - $( - let _ = inner.insert($value.into()); - )* - inner - } - }; - ($($key:expr => $inner:tt,)+) => { map!($($key => $inner),+) }; - ($($key:expr => $inner:tt),*) => { - { - use std::collections::{BTreeMap, BTreeSet}; - use $crate::RealizedObject; - let mut _map: BTreeMap> = ::std::collections::BTreeMap::new(); - $( - let inner = map!(@inner $inner); - let _ = _map.insert($key.to_string(), inner); - )* - RealizedObject::Map(_map) - } - } -} - -/// Construct `RealizedObject::Sequence`. This macro represents a sequence of values -/// -/// ``` -/// # use automerge_test::{list, RealizedObject}; -/// list![ -/// { -/// "value1", -/// "value2", -/// } -/// ]; -/// ``` -/// -/// The list above would represent a list with a conflict on the 0 index. The values can be -/// anything which implements `Into` including nested calls to -/// `map!` or `list!`. -#[macro_export] -macro_rules! list { - (@single $($x:tt)*) => (()); - (@count $($rest:tt),*) => (<[()]>::len(&[$(list!(@single $rest)),*])); - - (@inner { $($value:expr,)+ }) => { list!(@inner { $($value),+ }) }; - (@inner { $($value:expr),* }) => { - { - use std::collections::BTreeSet; - use $crate::RealizedObject; - let mut inner: BTreeSet = BTreeSet::new(); - $( - let _ = inner.insert($value.into()); - )* - inner - } - }; - ($($inner:tt,)+) => { list!($($inner),+) }; - ($($inner:tt),*) => { - { - use std::collections::BTreeSet; - let _cap = list!(@count $($inner),*); - let mut _list: Vec> = Vec::new(); - $( - let inner = list!(@inner $inner); - let _ = _list.push(inner); - )* - RealizedObject::Sequence(_list) - } - } -} - -pub fn mk_counter(value: i64) -> automerge::ScalarValue { - automerge::ScalarValue::counter(value) -} - -#[derive(Eq, Hash, PartialEq, Debug)] -pub struct ExportedOpId(String); - -impl std::fmt::Display for ExportedOpId { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", self.0) - } -} - -/// A `RealizedObject` is a representation of all the current values in a document - including -/// conflicts. -#[derive(PartialEq, PartialOrd, Ord, Eq, Hash, Debug)] -pub enum RealizedObject { - Map(BTreeMap>), - Sequence(Vec>), - Value(OrdScalarValue), -} - -// A copy of automerge::ScalarValue which uses decorum::Total for floating point values. This makes the type -// orderable, which is useful when we want to compare conflicting values of a register in an -// automerge document. -#[derive(PartialEq, Eq, PartialOrd, Ord, Debug, Hash)] -pub enum OrdScalarValue { - Bytes(Vec), - Str(smol_str::SmolStr), - Int(i64), - Uint(u64), - F64(decorum::Total), - Counter(i64), - Timestamp(i64), - Boolean(bool), - Null, - Unknown { type_code: u8, bytes: Vec }, -} - -impl From for OrdScalarValue { - fn from(v: automerge::ScalarValue) -> Self { - match v { - automerge::ScalarValue::Bytes(v) => OrdScalarValue::Bytes(v), - automerge::ScalarValue::Str(v) => OrdScalarValue::Str(v), - automerge::ScalarValue::Int(v) => OrdScalarValue::Int(v), - automerge::ScalarValue::Uint(v) => OrdScalarValue::Uint(v), - automerge::ScalarValue::F64(v) => OrdScalarValue::F64(decorum::Total::from(v)), - automerge::ScalarValue::Counter(c) => OrdScalarValue::Counter(c.into()), - automerge::ScalarValue::Timestamp(v) => OrdScalarValue::Timestamp(v), - automerge::ScalarValue::Boolean(v) => OrdScalarValue::Boolean(v), - automerge::ScalarValue::Null => OrdScalarValue::Null, - automerge::ScalarValue::Unknown { type_code, bytes } => { - OrdScalarValue::Unknown { type_code, bytes } - } - } - } -} - -impl From<&OrdScalarValue> for automerge::ScalarValue { - fn from(v: &OrdScalarValue) -> Self { - match v { - OrdScalarValue::Bytes(v) => automerge::ScalarValue::Bytes(v.clone()), - OrdScalarValue::Str(v) => automerge::ScalarValue::Str(v.clone()), - OrdScalarValue::Int(v) => automerge::ScalarValue::Int(*v), - OrdScalarValue::Uint(v) => automerge::ScalarValue::Uint(*v), - OrdScalarValue::F64(v) => automerge::ScalarValue::F64(v.into_inner()), - OrdScalarValue::Counter(v) => automerge::ScalarValue::counter(*v), - OrdScalarValue::Timestamp(v) => automerge::ScalarValue::Timestamp(*v), - OrdScalarValue::Boolean(v) => automerge::ScalarValue::Boolean(*v), - OrdScalarValue::Null => automerge::ScalarValue::Null, - OrdScalarValue::Unknown { type_code, bytes } => automerge::ScalarValue::Unknown { - type_code: *type_code, - bytes: bytes.to_vec(), - }, - } - } -} - -impl serde::Serialize for OrdScalarValue { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - match self { - OrdScalarValue::Bytes(v) => serializer.serialize_bytes(v), - OrdScalarValue::Str(v) => serializer.serialize_str(v.as_str()), - OrdScalarValue::Int(v) => serializer.serialize_i64(*v), - OrdScalarValue::Uint(v) => serializer.serialize_u64(*v), - OrdScalarValue::F64(v) => serializer.serialize_f64(v.into_inner()), - OrdScalarValue::Counter(v) => { - serializer.serialize_str(format!("Counter({})", v).as_str()) - } - OrdScalarValue::Timestamp(v) => { - serializer.serialize_str(format!("Timestamp({})", v).as_str()) - } - OrdScalarValue::Boolean(v) => serializer.serialize_bool(*v), - OrdScalarValue::Null => serializer.serialize_none(), - OrdScalarValue::Unknown { type_code, .. } => serializer - .serialize_str(format!("An unknown type with code {}", type_code).as_str()), - } - } -} - -impl serde::Serialize for RealizedObject { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - match self { - Self::Map(kvs) => { - let mut map_ser = serializer.serialize_map(Some(kvs.len()))?; - for (k, vs) in kvs { - let vs_serded = vs.iter().collect::>(); - map_ser.serialize_entry(k, &vs_serded)?; - } - map_ser.end() - } - Self::Sequence(elems) => { - let mut list_ser = serializer.serialize_seq(Some(elems.len()))?; - for elem in elems { - let vs_serded = elem.iter().collect::>(); - list_ser.serialize_element(&vs_serded)?; - } - list_ser.end() - } - Self::Value(v) => v.serialize(serializer), - } - } -} - -pub fn realize(doc: &R) -> RealizedObject { - realize_obj(doc, &automerge::ROOT, automerge::ObjType::Map) -} - -pub fn realize_prop>( - doc: &R, - obj_id: &automerge::ObjId, - prop: P, -) -> RealizedObject { - let (val, obj_id) = doc.get(obj_id, prop).unwrap().unwrap(); - match val { - automerge::Value::Object(obj_type) => realize_obj(doc, &obj_id, obj_type), - automerge::Value::Scalar(v) => RealizedObject::Value(OrdScalarValue::from(v.into_owned())), - } -} - -pub fn realize_obj( - doc: &R, - obj_id: &automerge::ObjId, - objtype: automerge::ObjType, -) -> RealizedObject { - match objtype { - automerge::ObjType::Map | automerge::ObjType::Table => { - let mut result = BTreeMap::new(); - for key in doc.keys(obj_id) { - result.insert(key.clone(), realize_values(doc, obj_id, key)); - } - RealizedObject::Map(result) - } - automerge::ObjType::List | automerge::ObjType::Text => { - let length = doc.length(obj_id); - let mut result = Vec::with_capacity(length); - for i in 0..length { - result.push(realize_values(doc, obj_id, i)); - } - RealizedObject::Sequence(result) - } - } -} - -fn realize_values>( - doc: &R, - obj_id: &automerge::ObjId, - key: K, -) -> BTreeSet { - let mut values = BTreeSet::new(); - for (value, objid) in doc.get_all(obj_id, key).unwrap() { - let realized = match value { - automerge::Value::Object(objtype) => realize_obj(doc, &objid, objtype), - automerge::Value::Scalar(v) => { - RealizedObject::Value(OrdScalarValue::from(v.into_owned())) - } - }; - values.insert(realized); - } - values -} - -impl> From>> for RealizedObject { - fn from(values: BTreeMap<&str, BTreeSet>) -> Self { - let intoed = values - .into_iter() - .map(|(k, v)| (k.to_string(), v.into_iter().map(|v| v.into()).collect())) - .collect(); - RealizedObject::Map(intoed) - } -} - -impl> From>> for RealizedObject { - fn from(values: Vec>) -> Self { - RealizedObject::Sequence( - values - .into_iter() - .map(|v| v.into_iter().map(|v| v.into()).collect()) - .collect(), - ) - } -} - -impl From for RealizedObject { - fn from(b: bool) -> Self { - RealizedObject::Value(OrdScalarValue::Boolean(b)) - } -} - -impl From for RealizedObject { - fn from(u: usize) -> Self { - let v = u.try_into().unwrap(); - RealizedObject::Value(OrdScalarValue::Int(v)) - } -} - -impl From for RealizedObject { - fn from(v: u64) -> Self { - RealizedObject::Value(OrdScalarValue::Uint(v)) - } -} - -impl From for RealizedObject { - fn from(v: u32) -> Self { - RealizedObject::Value(OrdScalarValue::Uint(v.into())) - } -} - -impl From for RealizedObject { - fn from(v: i64) -> Self { - RealizedObject::Value(OrdScalarValue::Int(v)) - } -} - -impl From for RealizedObject { - fn from(v: i32) -> Self { - RealizedObject::Value(OrdScalarValue::Int(v.into())) - } -} - -impl From for RealizedObject { - fn from(s: automerge::ScalarValue) -> Self { - RealizedObject::Value(OrdScalarValue::from(s)) - } -} - -impl From<&str> for RealizedObject { - fn from(s: &str) -> Self { - RealizedObject::Value(OrdScalarValue::Str(smol_str::SmolStr::from(s))) - } -} - -impl From for RealizedObject { - fn from(f: f64) -> Self { - RealizedObject::Value(OrdScalarValue::F64(f.into())) - } -} - -impl From> for RealizedObject { - fn from(vals: Vec) -> Self { - RealizedObject::Sequence( - vals.into_iter() - .map(|i| { - let mut set = BTreeSet::new(); - set.insert(i.into()); - set - }) - .collect(), - ) - } -} - -/// Pretty print the contents of a document -pub fn pretty_print(doc: &automerge::Automerge) { - println!("{}", serde_json::to_string_pretty(&realize(doc)).unwrap()) -} - -pub fn pretty_panic(expected_obj: RealizedObject, realized: RealizedObject) { - let serde_right = serde_json::to_string_pretty(&realized).unwrap(); - let serde_left = serde_json::to_string_pretty(&expected_obj).unwrap(); - panic!( - "documents didn't match\n expected\n{}\n got\n{}", - &serde_left, &serde_right - ); -} diff --git a/rust/automerge-wasm/.eslintignore b/rust/automerge-wasm/.eslintignore deleted file mode 100644 index 7cd573e3..00000000 --- a/rust/automerge-wasm/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -web -nodejs -examples diff --git a/rust/automerge-wasm/.eslintrc.cjs b/rust/automerge-wasm/.eslintrc.cjs deleted file mode 100644 index 80e08d55..00000000 --- a/rust/automerge-wasm/.eslintrc.cjs +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - plugins: [ - '@typescript-eslint', - ], - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - ], -}; diff --git a/rust/automerge-wasm/.gitignore b/rust/automerge-wasm/.gitignore deleted file mode 100644 index 77c11e08..00000000 --- a/rust/automerge-wasm/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/node_modules -/bundler -/nodejs -/deno -Cargo.lock -yarn.lock diff --git a/rust/automerge-wasm/Cargo.toml b/rust/automerge-wasm/Cargo.toml deleted file mode 100644 index b6055a7d..00000000 --- a/rust/automerge-wasm/Cargo.toml +++ /dev/null @@ -1,62 +0,0 @@ -# You must change these to your own details. -[package] -name = "automerge-wasm" -description = "An js/wasm wrapper for the rust implementation of automerge-backend" -repository = "https://github.com/automerge/automerge-rs" -version = "0.1.0" -authors = ["Alex Good ","Orion Henry ", "Martin Kleppmann"] -categories = ["wasm"] -readme = "README.md" -edition = "2021" -license = "MIT" -rust-version = "1.57.0" - -[lib] -crate-type = ["cdylib","rlib"] -bench = false - -[features] -# default = ["console_error_panic_hook", "wee_alloc"] -default = ["console_error_panic_hook"] - -[dependencies] -console_error_panic_hook = { version = "^0.1", optional = true } -# wee_alloc = { version = "^0.4", optional = true } -automerge = { path = "../automerge", features=["wasm"] } -js-sys = "^0.3" -serde = "^1.0" -serde_json = "^1.0" -rand = { version = "^0.8.4" } -getrandom = { version = "^0.2.2", features=["js"] } -uuid = { version = "^1.2.1", features=["v4", "js", "serde"] } -serde-wasm-bindgen = "0.4.3" -serde_bytes = "0.11.5" -hex = "^0.4.3" -regex = "^1.5" -itertools = "^0.10.3" -thiserror = "^1.0.16" - -[dependencies.wasm-bindgen] -version = "^0.2.83" -#features = ["std"] -features = ["serde-serialize", "std"] - -[package.metadata.wasm-pack.profile.release] -# wasm-opt = false - -[package.metadata.wasm-pack.profile.profiling] -wasm-opt = false - -# The `web-sys` crate allows you to interact with the various browser APIs, -# like the DOM. -[dependencies.web-sys] -version = "0.3.22" -features = ["console"] - - - -[dev-dependencies] -futures = "^0.1" -proptest = { version = "^1.0.0", default-features = false, features = ["std"] } -wasm-bindgen-futures = "^0.4" -wasm-bindgen-test = "^0.3" diff --git a/rust/automerge-wasm/LICENSE b/rust/automerge-wasm/LICENSE deleted file mode 100644 index 63b21502..00000000 --- a/rust/automerge-wasm/LICENSE +++ /dev/null @@ -1,10 +0,0 @@ -MIT License - -Copyright 2022, Ink & Switch LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/rust/automerge-wasm/README.md b/rust/automerge-wasm/README.md deleted file mode 100644 index 20256313..00000000 --- a/rust/automerge-wasm/README.md +++ /dev/null @@ -1,469 +0,0 @@ -## Automerge WASM Low Level Interface - -This package is a low level interface to the [automerge rust](https://github.com/automerge/automerge-rs/tree/experiment) CRDT. The api is intended to be as "close to the metal" as possible with only a few ease of use accommodations. This library is used as the underpinnings for the [Automerge JS wrapper](https://github.com/automerge/automerge-rs/tree/experiment/automerge-js) and can be used as is or as a basis for another higher level expression of a CRDT. - -All example code can be found in `test/readme.ts` - -### Why CRDT? - -CRDT stands for Conflict Free Replicated Data Type. It is a data structure that offers eventual consistency where multiple actors can write to the document independently and then these edits can be automatically merged together into a coherent document that, as much as possible, preserves the intent of the different writers. This allows for novel masterless application design where different components need not have a central coordinating server when altering application state. - -### Terminology - -The term Actor, Object Id and Heads are used through this documentation. Detailed explanations are in the glossary at the end of this readme. But the most basic definition would be... - -An Actor is a unique id that distinguishes a single writer to a document. It can be any hex string. - -An Object id uniquely identifies a Map, List or Text object within a document. It can be treated as an opaque string and can be used across documents. This id comes as a string in the form of `{number}@{actor}` - so `"10@aabbcc"` for example. The string `"_root"` or `"/"` can also be used to refer to the document root. These strings are durable and can be used on any descendant or copy of the document that generated them. - -Heads refers to a set of hashes that uniquely identifies a point in time in a document's history. Heads are useful for comparing documents state or retrieving past states from the document. - -### Automerge Scalar Types - -Automerge has many scalar types. Methods like `put()` and `insert()` take an optional data type parameter. Normally the type can be inferred but in some cases, such as telling the difference between int, uint and a counter, it cannot. - -These are puts without a data type - -```javascript - import { create } from "@automerge/automerge-wasm" - - let doc = create() - doc.put("/", "prop1", 100) // int - doc.put("/", "prop2", 3.14) // f64 - doc.put("/", "prop3", "hello world") - doc.put("/", "prop4", new Date()) - doc.put("/", "prop5", new Uint8Array([1,2,3])) - doc.put("/", "prop6", true) - doc.put("/", "prop7", null) -``` - -Put's with a data type and examples of all the supported data types. - -While int vs uint vs f64 matters little in javascript, Automerge is a cross platform library where these distinctions matter. - -```javascript - import { create } from "@automerge/automerge-wasm" - - let doc = create() - doc.put("/", "prop1", 100, "int") - doc.put("/", "prop2", 100, "uint") - doc.put("/", "prop3", 100.5, "f64") - doc.put("/", "prop4", 100, "counter") - doc.put("/", "prop5", 1647531707301, "timestamp") - doc.put("/", "prop6", new Date(), "timestamp") - doc.put("/", "prop7", "hello world", "str") - doc.put("/", "prop8", new Uint8Array([1,2,3]), "bytes") - doc.put("/", "prop9", true, "boolean") - doc.put("/", "prop10", null, "null") -``` - -### Automerge Object Types - -Automerge WASM supports 3 object types. Maps, lists, and text. Maps are key value stores where the values can be any scalar type or any object type. Lists are numerically indexed sets of data that can hold any scalar or any object type. - -```javascript - import { create } from "@automerge/automerge-wasm" - - let doc = create() - - // you can create an object by passing in the inital state - if blank pass in `{}` - // the return value is the Object Id - // these functions all return an object id - - let config = doc.putObject("/", "config", { align: "left", archived: false, cycles: [10, 19, 21] }) - let token = doc.putObject("/", "tokens", {}) - - // lists can be made with javascript arrays - - let birds = doc.putObject("/", "birds", ["bluejay", "penguin", "puffin"]) - let bots = doc.putObject("/", "bots", []) - - // text is initialized with a string - - let notes = doc.putObject("/", "notes", "Hello world!") -``` - -You can access objects by passing the object id as the first parameter for a call. - -```javascript - import { create } from "@automerge/automerge-wasm" - - let doc = create() - - let config = doc.putObject("/", "config", { align: "left", archived: false, cycles: [10, 19, 21] }) - - doc.put(config, "align", "right") - - // Anywhere Object Ids are being used a path can also be used. - // The following two statements are equivalent: - - // get the id then use it - - // get returns a single simple javascript value or undefined - // getWithType returns an Array of the datatype plus basic type or null - - let id = doc.getWithType("/", "config") - if (id && id[0] === 'map') { - doc.put(id[1], "align", "right") - } - - // use a path instead - - doc.put("/config", "align", "right") -``` - -Using the id directly is always faster (as it prevents the path to id conversion internally) so it is preferred for performance critical code. - -### Maps - -Maps are key/value stores. The root object is always a map. The keys are always strings. The values can be any scalar type or any object. - -```javascript - let doc = create() - let mymap = doc.putObject("_root", "mymap", { foo: "bar"}) - // make a new map with the foo key - - doc.put(mymap, "bytes", new Uint8Array([1,2,3])) - // assign a byte array to key `bytes` of the mymap object - - let submap = doc.putObject(mymap, "sub", {}) - // make a new empty object and assign it to the key `sub` of mymap - - doc.keys(mymap) // returns ["bytes","foo","sub"] - doc.materialize("_root") // returns { mymap: { bytes: new Uint8Array([1,2,3]), foo: "bar", sub: {}}} -``` - -### Lists - -Lists are index addressable sets of values. These values can be any scalar or object type. You can manipulate lists with `insert()`, `put()`, `insertObject()`, `putObject()`, `push()`, `pushObject()`, `splice()`, and `delete()`. - -```javascript - let doc = create() - let items = doc.putObject("_root", "items", [10,"box"]) - // init a new list with two elements - doc.push(items, true) // push `true` to the end of the list - doc.putObject(items, 0, { hello: "world" }) // overwrite the value 10 with an object with a key and value - doc.delete(items, 1) // delete "box" - doc.splice(items, 2, 0, ["bag", "brick"]) // splice in "bag" and "brick" at position 2 - doc.insert(items, 0, "bat") // insert "bat" to the beginning of the list - doc.insertObject(items, 1, [1,2]) // insert a list with 2 values at pos 1 - - doc.materialize(items) // returns [ "bat", [1,2], { hello : "world" }, true, "bag", "brick"] - doc.length(items) // returns 6 -``` - -### Text - -Text is a specialized list type intended for modifying a text document. The primary way to interact with a text document is via the `splice()` method. Spliced strings will be indexable by character (important to note for platforms that index by graphmeme cluster). - -```javascript - let doc = create("aaaaaa") - let notes = doc.putObject("_root", "notes", "Hello world") - doc.splice(notes, 6, 5, "everyone") - - doc.text(notes) // returns "Hello everyone" -``` - -### Tables - -Automerge's Table type is currently not implemented. - -### Querying Data - -When querying maps use the `get()` method with the object in question and the property to query. This method returns a tuple with the data type and the data. The `keys()` method will return all the keys on the object. If you are interested in conflicted values from a merge use `getAll()` instead which returns an array of values instead of just the winner. - -```javascript - let doc1 = create("aabbcc") - doc1.put("_root", "key1", "val1") - let key2 = doc1.putObject("_root", "key2", []) - - doc1.get("_root", "key1") // returns "val1" - doc1.getWithType("_root", "key2") // returns ["list", "2@aabbcc"] - doc1.keys("_root") // returns ["key1", "key2"] - - let doc2 = doc1.fork("ffaaff") - - // put a value concurrently - doc1.put("_root","key3","doc1val") - doc2.put("_root","key3","doc2val") - - doc1.merge(doc2) - - doc1.get("_root","key3") // returns "doc2val" - doc1.getAll("_root","key3") // returns [[ "str", "doc1val"], ["str", "doc2val"]] -``` - -### Counters - -Counters are 64 bit ints that support the increment operation. Frequently different actors will want to increment or decrement a number and have all these coalesse into a merged value. - -```javascript - let doc1 = create("aaaaaa") - doc1.put("_root", "number", 0) - doc1.put("_root", "total", 0, "counter") - - let doc2 = doc1.fork("bbbbbb") - doc2.put("_root", "number", 10) - doc2.increment("_root", "total", 11) - - doc1.put("_root", "number", 20) - doc1.increment("_root", "total", 22) - - doc1.merge(doc2) - - doc1.materialize("_root") // returns { number: 10, total: 33 } -``` - -### Transactions - -Generally speaking you don't need to think about transactions when using Automerge. Normal edits queue up into an in-progress transaction. You can query the number of ops in the current transaction with `pendingOps()`. The transaction will commit automatically on certains calls such as `save()`, `saveIncremental()`, `fork()`, `merge()`, `getHeads()`, `applyChanges()`, `generateSyncMessage()`, and `receiveSyncMessage()`. When the transaction commits the heads of the document change. If you want to roll back all the in progress ops you can call `doc.rollback()`. If you want to manually commit a transaction in progress you can call `doc.commit()` with an optional commit message and timestamp. - -```javascript - let doc = create() - - doc.put("_root", "key", "val1") - - doc.get("_root", "key") // returns "val1" - doc.pendingOps() // returns 1 - - doc.rollback() - - doc.get("_root", "key") // returns null - doc.pendingOps() // returns 0 - - doc.put("_root", "key", "val2") - - doc.pendingOps() // returns 1 - - doc.commit("test commit 1") - - doc.get("_root", "key") // returns "val2" - doc.pendingOps() // returns 0 -``` - -### Viewing Old Versions of the Document - -All query functions can take an optional argument of `heads` which allow you to query a prior document state. Heads are a set of change hashes that uniquely identify a point in the document history. The `getHeads()` method can retrieve these at any point. - -```javascript - let doc = create() - - doc.put("_root", "key", "val1") - let heads1 = doc.getHeads() - - doc.put("_root", "key", "val2") - let heads2 = doc.getHeads() - - doc.put("_root", "key", "val3") - - doc.get("_root","key") // returns "val3" - doc.get("_root","key",heads2) // returns "val2" - doc.get("_root","key",heads1) // returns "val1" - doc.get("_root","key",[]) // returns undefined -``` - -This works for `get()`, `getAll()`, `keys()`, `length()`, `text()`, and `materialize()` - -Queries of old document states are not indexed internally and will be slower than normal access. If you need a fast indexed version of a document at a previous point in time you can create one with `doc.forkAt(heads, actor?)` - -### Forking and Merging - -You can `fork()` a document which makes an exact copy of it. This assigns a new actor so changes made to the fork can be merged back in with the original. The `forkAt()` takes a Heads, allowing you to fork off a document from a previous point in its history. These documents allocate new memory in WASM and need to be freed. - -The `merge()` command applies all changes in the argument doc into the calling doc. Therefore if doc a has 1000 changes that doc b lacks and doc b has only 10 changes that doc a lacks, `a.merge(b)` will be much faster than `b.merge(a)`. - -```javascript - let doc1 = create() - doc1.put("_root", "key1", "val1") - - let doc2 = doc1.fork() - - doc1.put("_root", "key2", "val2") - doc2.put("_root", "key3", "val3") - - doc1.merge(doc2) - - doc1.materialize("_root") // returns { key1: "val1", key2: "val2", key3: "val3" } - doc2.materialize("_root") // returns { key1: "val1", key3: "val3" } -``` - -Note that calling `a.merge(a)` will produce an unrecoverable error from the wasm-bindgen layer which (as of this writing) there is no workaround for. - -### Saving and Loading - -Calling `save()` converts the document to a compressed `Uint8Array()` that can be saved to durable storage. This format uses a columnar storage format that compresses away most of the Automerge metadata needed to manage the CRDT state, but does include all of the change history. - -If you wish to incrementally update a saved Automerge doc you can call `saveIncremental()` to get a `Uint8Array()` of bytes that can be appended to the file with all the new changes(). Note that the `saveIncremental()` bytes are not as compressed as the whole document save as each chunk has metadata information needed to parse it. It may make sense to periodically perform a new `save()` to get the smallest possible file footprint. - -The `load()` function takes a `Uint8Array()` of bytes produced in this way and constitutes a new document. The `loadIncremental()` method is available if you wish to consume the result of a `saveIncremental()` with an already instanciated document. - -```javascript - import { create, load } from "@automerge/automerge-wasm" - - let doc1 = create() - - doc1.put("_root", "key1", "value1") - - let save1 = doc1.save() - - let doc2 = load(save1) - - doc2.materialize("_root") // returns { key1: "value1" } - - doc1.put("_root", "key2", "value2") - - let saveIncremental = doc1.saveIncremental() - - let save2 = doc1.save() - - let save3 = new Uint8Array([... save1, ... saveIncremental]) - - // save2 has fewer bytes than save3 but contains the same ops - - doc2.loadIncremental(saveIncremental) - - let doc3 = load(save2) - - let doc4 = load(save3) - - doc1.materialize("_root") // returns { key1: "value1", key2: "value2" } - doc2.materialize("_root") // returns { key1: "value1", key2: "value2" } - doc3.materialize("_root") // returns { key1: "value1", key2: "value2" } - doc4.materialize("_root") // returns { key1: "value1", key2: "value2" } -``` - -One interesting feature of automerge binary saves is that they can be concatenated together in any order and can still be loaded into a coherent merged document. - -```javascript -import { load } from "@automerge/automerge-wasm" -import * as fs from "fs" - -let file1 = fs.readFileSync("automerge_save_1"); -let file2 = fs.readFileSync("automerge_save_2"); - -let docA = load(file1).merge(load(file2)) -let docB = load(Buffer.concat([ file1, file2 ])) - -assert.deepEqual(docA.materialize("/"), docB.materialize("/")) -assert.equal(docA.save(), docB.save()) -``` - -### Syncing - -When syncing a document the `generateSyncMessage()` and `receiveSyncMessage()` methods will produce and consume sync messages. A sync state object will need to be managed for the duration of the connection (created by the function `initSyncState()` and can be serialized to a Uint8Array() to preserve sync state with the `encodeSyncState()` and `decodeSyncState()` functions. - -A very simple sync implementation might look like this. - -```javascript - import { encodeSyncState, decodeSyncState, initSyncState } from "@automerge/automerge-wasm" - - let states = {} - - function receiveMessageFromPeer(doc, peer_id, message) { - let syncState = states[peer_id] - doc.receiveMessage(syncState, message) - let reply = doc.generateSyncMessage(syncState) - if (reply) { - sendMessage(peer_id, reply) - } - } - - function notifyPeerAboutUpdates(doc, peer_id) { - let syncState = states[peer_id] - let message = doc.generateSyncMessage(syncState) - if (message) { - sendMessage(peer_id, message) - } - } - - function onDisconnect(peer_id) { - let state = states[peer_id] - if (state) { - saveSyncToStorage(peer_id, encodeSyncState(state)) - } - delete states[peer_id] - } - - function onConnect(peer_id) { - let state = loadSyncFromStorage(peer_id) - if (state) { - states[peer_id] = decodeSyncState(state) - } else { - states[peer_id] = initSyncState() - } - } -``` - -### Glossary: Actors - -Some basic concepts you will need to know to better understand the api are Actors and Object Ids. - -Actors are ids that need to be unique to each process writing to a document. This is normally one actor per device. Or for a web app one actor per tab per browser would be needed. It can be a uuid, or a public key, or a certificate, as your application demands. All that matters is that its bytes are unique. Actors are always expressed in this api as a hex string. - -Methods that create new documents will generate random actors automatically - if you wish to supply your own it is always taken as an optional argument. This is true for the following functions. - -```javascript - import { create, load } from "@automerge/automerge-wasm" - - let doc1 = create() // random actorid - let doc2 = create("aabbccdd") - let doc3 = doc1.fork() // random actorid - let doc4 = doc2.fork("ccdd0011") - let doc5 = load(doc3.save()) // random actorid - let doc6 = load(doc4.save(), "00aabb11") - - let actor = doc1.getActor() -``` - -### Glossary: Object Id's - -Object Ids uniquely identify an object within a document. They are represented as strings in the format of `{counter}@{actor}`. The root object is a special case and can be referred to as `_root`. The counter is an ever increasing integer, starting at 1, that is always one higher than the highest counter seen in the document thus far. Object Id's do not change when the object is modified but they do if it is overwritten with a new object. - -```javascript - let doc = create("aabbcc") - let o1 = doc.putObject("_root", "o1", {}) - let o2 = doc.putObject("_root", "o2", {}) - doc.put(o1, "hello", "world") - - assert.deepEqual(doc.materialize("_root"), { "o1": { hello: "world" }, "o2": {} }) - assert.equal(o1, "1@aabbcc") - assert.equal(o2, "2@aabbcc") - - let o1v2 = doc.putObject("_root", "o1", {}) - - doc.put(o1, "a", "b") // modifying an overwritten object - does nothing - doc.put(o1v2, "x", "y") // modifying the new "o1" object - - assert.deepEqual(doc.materialize("_root"), { "o1": { x: "y" }, "o2": {} }) -``` - -### Appendix: Building - - The following steps should allow you to build the package - - ``` - $ rustup target add wasm32-unknown-unknown - $ cargo install wasm-bindgen-cli - $ cargo install wasm-opt - $ yarn - $ yarn release - $ yarn pack - ``` - -### Appendix: WASM and Memory Allocation - -Allocated memory in rust will be freed automatically on platforms that support `FinalizationRegistry`. - -This is currently supported in [all major browsers and nodejs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry). - -On unsupported platforms you can free memory explicitly. - -```javascript - import { create, initSyncState } from "@automerge/automerge-wasm" - - let doc = create() - let sync = initSyncState() - - doc.free() - sync.free() -``` diff --git a/rust/automerge-wasm/deno-tests/deno.ts b/rust/automerge-wasm/deno-tests/deno.ts deleted file mode 100644 index b346435a..00000000 --- a/rust/automerge-wasm/deno-tests/deno.ts +++ /dev/null @@ -1,8 +0,0 @@ -// @deno-types="../index.d.ts" -import { create } from '../deno/automerge_wasm.js' - -Deno.test("It should create, clone and free", () => { - const doc1 = create(false) - const doc2 = doc1.clone() - doc2.free() -}); diff --git a/rust/automerge-wasm/examples/cra/.gitignore b/rust/automerge-wasm/examples/cra/.gitignore deleted file mode 100644 index d5f19d89..00000000 --- a/rust/automerge-wasm/examples/cra/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -package-lock.json diff --git a/rust/automerge-wasm/examples/cra/README.md b/rust/automerge-wasm/examples/cra/README.md deleted file mode 100644 index 0b1e4ca5..00000000 --- a/rust/automerge-wasm/examples/cra/README.md +++ /dev/null @@ -1,22 +0,0 @@ -## Example CRA App using AutomergeWASM - -### Creating this example app - -```bash - $ cd automerge-wasm && yarn pkg # this builds the npm package - $ cd ../examples - $ npx create-react-app cra --template typescript - $ cd cra - $ npm install ../../automerge-wasm/automerge-wasm-v0.1.0.tgz -``` - -Then I just needed to add the import "automerge-wasm" and `{ useEffect, useState }` code to `./src/App.tsx` - -```bash - $ npm start -``` - -### Open Issues - -The example app currently doesn't do anything useful. Perhaps someone with some react experience and figure out the right way to wire everything up for an actual demo. - diff --git a/rust/automerge-wasm/examples/cra/package.json b/rust/automerge-wasm/examples/cra/package.json deleted file mode 100644 index 0b465b94..00000000 --- a/rust/automerge-wasm/examples/cra/package.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "name": "cra", - "version": "0.1.0", - "private": true, - "dependencies": { - "@testing-library/jest-dom": "^5.16.1", - "@testing-library/react": "^12.1.2", - "@testing-library/user-event": "^13.5.0", - "@types/jest": "^27.4.0", - "@types/node": "^16.11.21", - "@types/react": "^17.0.38", - "@types/react-dom": "^17.0.11", - "automerge-wasm": "file:../../automerge-wasm/automerge-wasm-0.0.24.tgz", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "react-scripts": "5.0.0", - "typescript": "^4.5.5", - "web-vitals": "^2.1.4" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - } -} diff --git a/rust/automerge-wasm/examples/cra/public/favicon.ico b/rust/automerge-wasm/examples/cra/public/favicon.ico deleted file mode 100644 index a11777cc..00000000 Binary files a/rust/automerge-wasm/examples/cra/public/favicon.ico and /dev/null differ diff --git a/rust/automerge-wasm/examples/cra/public/index.html b/rust/automerge-wasm/examples/cra/public/index.html deleted file mode 100644 index aa069f27..00000000 --- a/rust/automerge-wasm/examples/cra/public/index.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - React App - - - -
- - - diff --git a/rust/automerge-wasm/examples/cra/public/logo192.png b/rust/automerge-wasm/examples/cra/public/logo192.png deleted file mode 100644 index fc44b0a3..00000000 Binary files a/rust/automerge-wasm/examples/cra/public/logo192.png and /dev/null differ diff --git a/rust/automerge-wasm/examples/cra/public/logo512.png b/rust/automerge-wasm/examples/cra/public/logo512.png deleted file mode 100644 index a4e47a65..00000000 Binary files a/rust/automerge-wasm/examples/cra/public/logo512.png and /dev/null differ diff --git a/rust/automerge-wasm/examples/cra/public/manifest.json b/rust/automerge-wasm/examples/cra/public/manifest.json deleted file mode 100644 index 080d6c77..00000000 --- a/rust/automerge-wasm/examples/cra/public/manifest.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "short_name": "React App", - "name": "Create React App Sample", - "icons": [ - { - "src": "favicon.ico", - "sizes": "64x64 32x32 24x24 16x16", - "type": "image/x-icon" - }, - { - "src": "logo192.png", - "type": "image/png", - "sizes": "192x192" - }, - { - "src": "logo512.png", - "type": "image/png", - "sizes": "512x512" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff" -} diff --git a/rust/automerge-wasm/examples/cra/public/robots.txt b/rust/automerge-wasm/examples/cra/public/robots.txt deleted file mode 100644 index e9e57dc4..00000000 --- a/rust/automerge-wasm/examples/cra/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -# https://www.robotstxt.org/robotstxt.html -User-agent: * -Disallow: diff --git a/rust/automerge-wasm/examples/cra/src/App.css b/rust/automerge-wasm/examples/cra/src/App.css deleted file mode 100644 index 74b5e053..00000000 --- a/rust/automerge-wasm/examples/cra/src/App.css +++ /dev/null @@ -1,38 +0,0 @@ -.App { - text-align: center; -} - -.App-logo { - height: 40vmin; - pointer-events: none; -} - -@media (prefers-reduced-motion: no-preference) { - .App-logo { - animation: App-logo-spin infinite 20s linear; - } -} - -.App-header { - background-color: #282c34; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - font-size: calc(10px + 2vmin); - color: white; -} - -.App-link { - color: #61dafb; -} - -@keyframes App-logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} diff --git a/rust/automerge-wasm/examples/cra/src/App.test.tsx b/rust/automerge-wasm/examples/cra/src/App.test.tsx deleted file mode 100644 index 2a68616d..00000000 --- a/rust/automerge-wasm/examples/cra/src/App.test.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react'; -import { render, screen } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/rust/automerge-wasm/examples/cra/src/App.tsx b/rust/automerge-wasm/examples/cra/src/App.tsx deleted file mode 100644 index 177f50bd..00000000 --- a/rust/automerge-wasm/examples/cra/src/App.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import './App.css'; -import * as Automerge from "automerge-wasm" - - -function App() { - const [ doc, ] = useState(Automerge.create()) - const [ edits, ] = useState(doc.putObject("_root", "edits", "")) - const [ val, setVal ] = useState(""); - useEffect(() => { - doc.splice(edits, 0, 0, "the quick fox jumps over the lazy dog") - let doc2 = Automerge.load(doc.save()); - console.log("LOAD",Automerge.load) - console.log("DOC",doc.materialize("/")) - console.log("DOC2",doc2.materialize("/")) - let result = doc.text(edits) - setVal(result) - }, []) - - function updateTextarea(e: any) { - e.preventDefault() - let event: InputEvent = e.nativeEvent - console.log(edits, e.target.selectionEnd) - switch (event.inputType) { - case 'insertText': - //@ts-ignore - doc.splice(edits, e.target.selectionEnd - 1, 0, e.nativeEvent.data) - break; - case 'deleteContentBackward': - //@ts-ignore - doc.splice(edits, e.target.selectionEnd, 1) - break; - case 'insertLineBreak': - //@ts-ignore - doc.splice(edits, e.target.selectionEnd - 1, '\n') - break; - } - setVal(doc.text(edits)) - } - return ( -
-
- -
-
- ); -} - -export default App; diff --git a/rust/automerge-wasm/examples/cra/src/index.css b/rust/automerge-wasm/examples/cra/src/index.css deleted file mode 100644 index ec2585e8..00000000 --- a/rust/automerge-wasm/examples/cra/src/index.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; -} diff --git a/rust/automerge-wasm/examples/cra/src/index.tsx b/rust/automerge-wasm/examples/cra/src/index.tsx deleted file mode 100644 index d84251d4..00000000 --- a/rust/automerge-wasm/examples/cra/src/index.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; -import reportWebVitals from './reportWebVitals'; -import init from "automerge-wasm" - -init().then(_ => { - ReactDOM.render( - - - , - document.getElementById('root') - ); -}) - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/rust/automerge-wasm/examples/cra/src/logo.svg b/rust/automerge-wasm/examples/cra/src/logo.svg deleted file mode 100644 index 9dfc1c05..00000000 --- a/rust/automerge-wasm/examples/cra/src/logo.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/rust/automerge-wasm/examples/cra/src/react-app-env.d.ts b/rust/automerge-wasm/examples/cra/src/react-app-env.d.ts deleted file mode 100644 index 6431bc5f..00000000 --- a/rust/automerge-wasm/examples/cra/src/react-app-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/rust/automerge-wasm/examples/cra/src/reportWebVitals.ts b/rust/automerge-wasm/examples/cra/src/reportWebVitals.ts deleted file mode 100644 index 49a2a16e..00000000 --- a/rust/automerge-wasm/examples/cra/src/reportWebVitals.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ReportHandler } from 'web-vitals'; - -const reportWebVitals = (onPerfEntry?: ReportHandler) => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/rust/automerge-wasm/examples/cra/src/setupTests.ts b/rust/automerge-wasm/examples/cra/src/setupTests.ts deleted file mode 100644 index 8f2609b7..00000000 --- a/rust/automerge-wasm/examples/cra/src/setupTests.ts +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; diff --git a/rust/automerge-wasm/examples/cra/tsconfig.json b/rust/automerge-wasm/examples/cra/tsconfig.json deleted file mode 100644 index a273b0cf..00000000 --- a/rust/automerge-wasm/examples/cra/tsconfig.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "target": "es5", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx" - }, - "include": [ - "src" - ] -} diff --git a/rust/automerge-wasm/examples/webpack/.gitignore b/rust/automerge-wasm/examples/webpack/.gitignore deleted file mode 100644 index da9d3ff5..00000000 --- a/rust/automerge-wasm/examples/webpack/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -yarn.lock -node_modules -public/*.wasm -public/main.js -dist diff --git a/rust/automerge-wasm/examples/webpack/package.json b/rust/automerge-wasm/examples/webpack/package.json deleted file mode 100644 index 4abcd1c6..00000000 --- a/rust/automerge-wasm/examples/webpack/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "webpack-automerge-example", - "version": "0.1.0", - "description": "", - "private": true, - "scripts": { - "build": "webpack", - "start": "serve public", - "test": "node dist/node.js" - }, - "author": "", - "dependencies": { - "automerge-wasm": "file:automerge-wasm-0.1.4.tgz" - }, - "devDependencies": { - "serve": "^13.0.2", - "webpack": "^5.72.1", - "webpack-cli": "^4.9.2", - "webpack-node-externals": "^3.0.0" - } -} diff --git a/rust/automerge-wasm/examples/webpack/public/index.html b/rust/automerge-wasm/examples/webpack/public/index.html deleted file mode 100644 index 5003393a..00000000 --- a/rust/automerge-wasm/examples/webpack/public/index.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Simple Webpack for automerge-wasm - - - - - diff --git a/rust/automerge-wasm/examples/webpack/src/index.js b/rust/automerge-wasm/examples/webpack/src/index.js deleted file mode 100644 index bab417f5..00000000 --- a/rust/automerge-wasm/examples/webpack/src/index.js +++ /dev/null @@ -1,23 +0,0 @@ -import init, { create } from "automerge-wasm" - -// hello world code that will run correctly on web or node - -init().then((Automerge) => { - console.log("Automerge=", Automerge) - console.log("create=", create) - const doc = Automerge.create() - doc.put("/", "hello", "world") - const result = doc.materialize("/") - //const result = xxx - - if (typeof document !== 'undefined') { - // browser - const element = document.createElement('div'); - element.innerHTML = JSON.stringify(result) - document.body.appendChild(element); - } else { - // server - console.log("node:", result) - } -}) - diff --git a/rust/automerge-wasm/examples/webpack/webpack.config.js b/rust/automerge-wasm/examples/webpack/webpack.config.js deleted file mode 100644 index 3ab0e798..00000000 --- a/rust/automerge-wasm/examples/webpack/webpack.config.js +++ /dev/null @@ -1,35 +0,0 @@ -const path = require('path'); -const nodeExternals = require('webpack-node-externals'); - -// the most basic webpack config for node or web targets for automerge-wasm - -const serverConfig = { - // basic setup for bundling a node package - target: 'node', - externals: [nodeExternals()], - externalsPresets: { node: true }, - - entry: './src/index.js', - output: { - filename: 'node.js', - path: path.resolve(__dirname, 'dist'), - }, - mode: "development", // or production -}; - -const clientConfig = { - target: 'web', - entry: './src/index.js', - output: { - filename: 'main.js', - path: path.resolve(__dirname, 'public'), - }, - mode: "development", // or production - performance: { // we dont want the wasm blob to generate warnings - hints: false, - maxEntrypointSize: 512000, - maxAssetSize: 512000 - } -}; - -module.exports = [serverConfig, clientConfig]; diff --git a/rust/automerge-wasm/index.d.ts b/rust/automerge-wasm/index.d.ts deleted file mode 100644 index be12e4c1..00000000 --- a/rust/automerge-wasm/index.d.ts +++ /dev/null @@ -1,238 +0,0 @@ -export type Actor = string; -export type ObjID = string; -export type Change = Uint8Array; -export type SyncMessage = Uint8Array; -export type Prop = string | number; -export type Hash = string; -export type Heads = Hash[]; -export type Value = string | number | boolean | null | Date | Uint8Array -export type MaterializeValue = { [key:string]: MaterializeValue } | Array | Value -export type ObjType = string | Array | { [key: string]: ObjType | Value } -export type FullValue = - ["str", string] | - ["int", number] | - ["uint", number] | - ["f64", number] | - ["boolean", boolean] | - ["timestamp", Date] | - ["counter", number] | - ["bytes", Uint8Array] | - ["null", null] | - ["map", ObjID] | - ["list", ObjID] | - ["text", ObjID] | - ["table", ObjID] - -export type FullValueWithId = - ["str", string, ObjID ] | - ["int", number, ObjID ] | - ["uint", number, ObjID ] | - ["f64", number, ObjID ] | - ["boolean", boolean, ObjID ] | - ["timestamp", Date, ObjID ] | - ["counter", number, ObjID ] | - ["bytes", Uint8Array, ObjID ] | - ["null", null, ObjID ] | - ["map", ObjID ] | - ["list", ObjID] | - ["text", ObjID] | - ["table", ObjID] - -export enum ObjTypeName { - list = "list", - map = "map", - table = "table", - text = "text", -} - -export type Datatype = - "boolean" | - "str" | - "int" | - "uint" | - "f64" | - "null" | - "timestamp" | - "counter" | - "bytes" | - "map" | - "text" | - "list"; - -export type SyncHave = { - lastSync: Heads, - bloom: Uint8Array, -} - -export type DecodedSyncMessage = { - heads: Heads, - need: Heads, - have: SyncHave[] - changes: Change[] -} - -export type DecodedChange = { - actor: Actor, - seq: number - startOp: number, - time: number, - message: string | null, - deps: Heads, - hash: Hash, - ops: Op[] -} - -type PartialBy = Omit & Partial> -export type ChangeToEncode = PartialBy - -export type Op = { - action: string, - obj: ObjID, - key: string, - value?: string | number | boolean, - datatype?: string, - pred: string[], -} - -export type Patch = PutPatch | DelPatch | SpliceTextPatch | IncPatch | InsertPatch; - -export type PutPatch = { - action: 'put' - path: Prop[], - value: Value - conflict: boolean -} - -export type IncPatch = { - action: 'inc' - path: Prop[], - value: number -} - -export type DelPatch = { - action: 'del' - path: Prop[], - length?: number, -} - -export type SpliceTextPatch = { - action: 'splice' - path: Prop[], - value: string, -} - -export type InsertPatch = { - action: 'insert' - path: Prop[], - values: Value[], -} - -export function encodeChange(change: ChangeToEncode): Change; -export function create(text_v2: boolean, actor?: Actor): Automerge; -export function load(data: Uint8Array, text_v2: boolean, actor?: Actor): Automerge; -export function decodeChange(change: Change): DecodedChange; -export function initSyncState(): SyncState; -export function encodeSyncMessage(message: DecodedSyncMessage): SyncMessage; -export function decodeSyncMessage(msg: SyncMessage): DecodedSyncMessage; -export function encodeSyncState(state: SyncState): Uint8Array; -export function decodeSyncState(data: Uint8Array): SyncState; -export function exportSyncState(state: SyncState): JsSyncState; -export function importSyncState(state: JsSyncState): SyncState; - -export interface API { - create(text_v2: boolean, actor?: Actor): Automerge; - load(data: Uint8Array, text_v2: boolean, actor?: Actor): Automerge; - encodeChange(change: ChangeToEncode): Change; - decodeChange(change: Change): DecodedChange; - initSyncState(): SyncState; - encodeSyncMessage(message: DecodedSyncMessage): SyncMessage; - decodeSyncMessage(msg: SyncMessage): DecodedSyncMessage; - encodeSyncState(state: SyncState): Uint8Array; - decodeSyncState(data: Uint8Array): SyncState; - exportSyncState(state: SyncState): JsSyncState; - importSyncState(state: JsSyncState): SyncState; -} - -export class Automerge { - // change state - put(obj: ObjID, prop: Prop, value: Value, datatype?: Datatype): void; - putObject(obj: ObjID, prop: Prop, value: ObjType): ObjID; - insert(obj: ObjID, index: number, value: Value, datatype?: Datatype): void; - insertObject(obj: ObjID, index: number, value: ObjType): ObjID; - push(obj: ObjID, value: Value, datatype?: Datatype): void; - pushObject(obj: ObjID, value: ObjType): ObjID; - splice(obj: ObjID, start: number, delete_count: number, text?: string | Array): ObjID[] | undefined; - increment(obj: ObjID, prop: Prop, value: number): void; - delete(obj: ObjID, prop: Prop): void; - - // returns a single value - if there is a conflict return the winner - get(obj: ObjID, prop: Prop, heads?: Heads): Value | undefined; - getWithType(obj: ObjID, prop: Prop, heads?: Heads): FullValue | null; - // return all values in case of a conflict - getAll(obj: ObjID, arg: Prop, heads?: Heads): FullValueWithId[]; - keys(obj: ObjID, heads?: Heads): string[]; - text(obj: ObjID, heads?: Heads): string; - length(obj: ObjID, heads?: Heads): number; - materialize(obj?: ObjID, heads?: Heads, metadata?: unknown): MaterializeValue; - toJS(): MaterializeValue; - - // transactions - commit(message?: string, time?: number): Hash | null; - emptyChange(message?: string, time?: number): Hash; - merge(other: Automerge): Heads; - getActorId(): Actor; - pendingOps(): number; - rollback(): number; - - // patches - enablePatches(enable: boolean): boolean; - enableFreeze(enable: boolean): boolean; - registerDatatype(datatype: string, callback: Function): void; - popPatches(): Patch[]; - - // save and load to local store - save(): Uint8Array; - saveIncremental(): Uint8Array; - loadIncremental(data: Uint8Array): number; - - // sync over network - receiveSyncMessage(state: SyncState, message: SyncMessage): void; - generateSyncMessage(state: SyncState): SyncMessage | null; - - // low level change functions - applyChanges(changes: Change[]): void; - getChanges(have_deps: Heads): Change[]; - getChangeByHash(hash: Hash): Change | null; - getChangesAdded(other: Automerge): Change[]; - getHeads(): Heads; - getLastLocalChange(): Change | null; - getMissingDeps(heads?: Heads): Heads; - - // memory management - free(): void; // only needed if weak-refs are unsupported - clone(actor?: string): Automerge; // TODO - remove, this is dangerous - fork(actor?: string, heads?: Heads): Automerge; - - // dump internal state to console.log - for debugging - dump(): void; - - // experimental api can go here - applyPatches(obj: Doc, meta?: unknown, callback?: (patch: Array, before: Doc, after: Doc) => void): Doc; -} - -export interface JsSyncState { - sharedHeads: Heads; - lastSentHeads: Heads; - theirHeads: Heads | undefined; - theirHeed: Heads | undefined; - theirHave: SyncHave[] | undefined; - sentHashes: Heads; -} - -export class SyncState { - free(): void; - clone(): SyncState; - lastSentHeads: Heads; - sentHashes: Heads; - readonly sharedHeads: Heads; -} diff --git a/rust/automerge-wasm/package.json b/rust/automerge-wasm/package.json deleted file mode 100644 index 80b39fd4..00000000 --- a/rust/automerge-wasm/package.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "collaborators": [ - "Orion Henry ", - "Alex Good ", - "Martin Kleppmann" - ], - "name": "@automerge/automerge-wasm", - "description": "wasm-bindgen bindings to the automerge rust implementation", - "homepage": "https://github.com/automerge/automerge-rs/tree/main/automerge-wasm", - "repository": "github:automerge/automerge-rs", - "version": "0.1.25", - "license": "MIT", - "files": [ - "README.md", - "LICENSE", - "package.json", - "index.d.ts", - "nodejs/automerge_wasm.js", - "nodejs/automerge_wasm_bg.wasm", - "deno/automerge_wasm.js", - "deno/automerge_wasm_bg.wasm", - "bundler/automerge_wasm.js", - "bundler/automerge_wasm_bg.js", - "bundler/automerge_wasm_bg.wasm" - ], - "private": false, - "types": "index.d.ts", - "module": "./bundler/automerge_wasm.js", - "main": "./nodejs/automerge_wasm.js", - "scripts": { - "lint": "eslint test/*.ts index.d.ts", - "debug": "cross-env PROFILE=dev TARGET_DIR=debug yarn buildall", - "build": "cross-env PROFILE=dev TARGET_DIR=debug FEATURES='' yarn buildall", - "release": "cross-env PROFILE=release TARGET_DIR=release yarn buildall", - "buildall": "cross-env TARGET=nodejs yarn target && cross-env TARGET=bundler yarn target && cross-env TARGET=deno yarn target", - "target": "rimraf ./$TARGET && yarn compile && yarn bindgen && yarn opt", - "compile": "cargo build --target wasm32-unknown-unknown --profile $PROFILE", - "bindgen": "wasm-bindgen --no-typescript --weak-refs --target $TARGET --out-dir $TARGET ../target/wasm32-unknown-unknown/$TARGET_DIR/automerge_wasm.wasm", - "opt": "wasm-opt -O4 $TARGET/automerge_wasm_bg.wasm -o $TARGET/automerge_wasm_bg.wasm", - "test": "ts-mocha -p tsconfig.json --type-check --bail --full-trace test/*.ts" - }, - "devDependencies": { - "@types/mocha": "^10.0.1", - "@types/node": "^18.11.13", - "@typescript-eslint/eslint-plugin": "^5.46.0", - "@typescript-eslint/parser": "^5.46.0", - "cross-env": "^7.0.3", - "eslint": "^8.29.0", - "fast-sha256": "^1.3.0", - "mocha": "^10.2.0", - "pako": "^2.1.0", - "rimraf": "^3.0.2", - "ts-mocha": "^10.0.0", - "typescript": "^4.9.4" - }, - "exports": { - "browser": "./bundler/automerge_wasm.js", - "require": "./nodejs/automerge_wasm.js" - } -} diff --git a/rust/automerge-wasm/src/interop.rs b/rust/automerge-wasm/src/interop.rs deleted file mode 100644 index 1546ff10..00000000 --- a/rust/automerge-wasm/src/interop.rs +++ /dev/null @@ -1,1478 +0,0 @@ -use crate::error::InsertObject; -use crate::value::Datatype; -use crate::{Automerge, TextRepresentation}; -use automerge as am; -use automerge::ReadDoc; -use automerge::ROOT; -use automerge::{Change, ChangeHash, ObjType, Prop}; -use js_sys::{Array, Function, JsString, Object, Reflect, Symbol, Uint8Array}; -use std::borrow::Cow; -use std::collections::{BTreeSet, HashSet}; -use std::fmt::Display; -use wasm_bindgen::prelude::*; -use wasm_bindgen::JsCast; - -use crate::{observer::Patch, ObjId, Value}; - -const RAW_DATA_SYMBOL: &str = "_am_raw_value_"; -const DATATYPE_SYMBOL: &str = "_am_datatype_"; -const RAW_OBJECT_SYMBOL: &str = "_am_objectId"; -const META_SYMBOL: &str = "_am_meta"; - -pub(crate) struct JS(pub(crate) JsValue); -pub(crate) struct AR(pub(crate) Array); - -impl From for JsValue { - fn from(ar: AR) -> Self { - ar.0.into() - } -} - -impl From for JsValue { - fn from(js: JS) -> Self { - js.0 - } -} - -impl From for JS { - fn from(state: am::sync::State) -> Self { - let shared_heads: JS = state.shared_heads.into(); - let last_sent_heads: JS = state.last_sent_heads.into(); - let their_heads: JS = state.their_heads.into(); - let their_need: JS = state.their_need.into(); - let sent_hashes: JS = state.sent_hashes.into(); - let their_have = if let Some(have) = &state.their_have { - JsValue::from(AR::from(have.as_slice()).0) - } else { - JsValue::null() - }; - let result: JsValue = Object::new().into(); - // we can unwrap here b/c we made the object and know its not frozen - Reflect::set(&result, &"sharedHeads".into(), &shared_heads.0).unwrap(); - Reflect::set(&result, &"lastSentHeads".into(), &last_sent_heads.0).unwrap(); - Reflect::set(&result, &"theirHeads".into(), &their_heads.0).unwrap(); - Reflect::set(&result, &"theirNeed".into(), &their_need.0).unwrap(); - Reflect::set(&result, &"theirHave".into(), &their_have).unwrap(); - Reflect::set(&result, &"sentHashes".into(), &sent_hashes.0).unwrap(); - Reflect::set(&result, &"inFlight".into(), &state.in_flight.into()).unwrap(); - JS(result) - } -} - -impl From> for JS { - fn from(heads: Vec) -> Self { - JS(heads - .iter() - .map(|h| JsValue::from_str(&h.to_string())) - .collect::() - .into()) - } -} - -impl From> for JS { - fn from(heads: HashSet) -> Self { - let result: JsValue = Object::new().into(); - for key in &heads { - Reflect::set(&result, &key.to_string().into(), &true.into()).unwrap(); - } - JS(result) - } -} - -impl From> for JS { - fn from(heads: BTreeSet) -> Self { - let result: JsValue = Object::new().into(); - for key in &heads { - Reflect::set(&result, &key.to_string().into(), &true.into()).unwrap(); - } - JS(result) - } -} - -impl From>> for JS { - fn from(heads: Option>) -> Self { - if let Some(v) = heads { - let v: Array = v - .iter() - .map(|h| JsValue::from_str(&h.to_string())) - .collect(); - JS(v.into()) - } else { - JS(JsValue::null()) - } - } -} - -impl TryFrom for HashSet { - type Error = error::BadChangeHashSet; - - fn try_from(value: JS) -> Result { - let result = HashSet::new(); - fold_hash_set(result, &value.0, |mut set, hash| { - set.insert(hash); - set - }) - } -} - -impl TryFrom for BTreeSet { - type Error = error::BadChangeHashSet; - - fn try_from(value: JS) -> Result { - let result = BTreeSet::new(); - fold_hash_set(result, &value.0, |mut set, hash| { - set.insert(hash); - set - }) - } -} - -fn fold_hash_set(init: O, val: &JsValue, f: F) -> Result -where - F: Fn(O, ChangeHash) -> O, -{ - let mut result = init; - for key in Reflect::own_keys(val) - .map_err(|_| error::BadChangeHashSet::ListProp)? - .iter() - { - if let Some(true) = js_get(val, &key)?.0.as_bool() { - let hash = ChangeHash::try_from(JS(key.clone())) - .map_err(|e| error::BadChangeHashSet::BadHash(key, e))?; - result = f(result, hash); - } - } - Ok(result) -} - -impl TryFrom for ChangeHash { - type Error = error::BadChangeHash; - - fn try_from(value: JS) -> Result { - if let Some(s) = value.0.as_string() { - Ok(s.parse()?) - } else { - Err(error::BadChangeHash::NotString) - } - } -} - -impl TryFrom for Option> { - type Error = error::BadChangeHashes; - - fn try_from(value: JS) -> Result { - if value.0.is_null() { - Ok(None) - } else { - Vec::::try_from(value).map(Some) - } - } -} - -impl TryFrom for Vec { - type Error = error::BadChangeHashes; - - fn try_from(value: JS) -> Result { - let value = value - .0 - .dyn_into::() - .map_err(|_| error::BadChangeHashes::NotArray)?; - let value = value - .iter() - .enumerate() - .map(|(i, v)| { - ChangeHash::try_from(JS(v)).map_err(|e| error::BadChangeHashes::BadElem(i, e)) - }) - .collect::, _>>()?; - Ok(value) - } -} - -impl TryFrom for Vec { - type Error = error::BadJSChanges; - - fn try_from(value: JS) -> Result { - let value = value - .0 - .dyn_into::() - .map_err(|_| error::BadJSChanges::ChangesNotArray)?; - let changes = value - .iter() - .enumerate() - .map(|(i, j)| { - j.dyn_into().map_err::(|_| { - error::BadJSChanges::ElemNotUint8Array(i) - }) - }) - .collect::, _>>()?; - let changes = changes - .iter() - .enumerate() - .map(|(i, arr)| { - automerge::Change::try_from(arr.to_vec().as_slice()) - .map_err(|e| error::BadJSChanges::BadChange(i, e)) - }) - .collect::, _>>()?; - Ok(changes) - } -} - -impl TryFrom for am::sync::State { - type Error = error::BadSyncState; - - fn try_from(value: JS) -> Result { - let value = value.0; - let shared_heads = js_get(&value, "sharedHeads")? - .try_into() - .map_err(error::BadSyncState::BadSharedHeads)?; - let last_sent_heads = js_get(&value, "lastSentHeads")? - .try_into() - .map_err(error::BadSyncState::BadLastSentHeads)?; - let their_heads = js_get(&value, "theirHeads")? - .try_into() - .map_err(error::BadSyncState::BadTheirHeads)?; - let their_need = js_get(&value, "theirNeed")? - .try_into() - .map_err(error::BadSyncState::BadTheirNeed)?; - let their_have = js_get(&value, "theirHave")? - .try_into() - .map_err(error::BadSyncState::BadTheirHave)?; - let sent_hashes = js_get(&value, "sentHashes")? - .try_into() - .map_err(error::BadSyncState::BadSentHashes)?; - let in_flight = js_get(&value, "inFlight")? - .0 - .as_bool() - .ok_or(error::BadSyncState::InFlightNotBoolean)?; - Ok(am::sync::State { - shared_heads, - last_sent_heads, - their_heads, - their_need, - their_have, - sent_hashes, - in_flight, - }) - } -} - -impl TryFrom for am::sync::Have { - type Error = error::BadHave; - - fn try_from(value: JS) -> Result { - let last_sync = js_get(&value.0, "lastSync")? - .try_into() - .map_err(error::BadHave::BadLastSync)?; - let bloom = js_get(&value.0, "bloom")? - .try_into() - .map_err(error::BadHave::BadBloom)?; - Ok(am::sync::Have { last_sync, bloom }) - } -} - -impl TryFrom for Option> { - type Error = error::BadHaves; - - fn try_from(value: JS) -> Result { - if value.0.is_null() { - Ok(None) - } else { - Ok(Some(value.try_into()?)) - } - } -} - -impl TryFrom for Vec { - type Error = error::BadHaves; - - fn try_from(value: JS) -> Result { - let value = value - .0 - .dyn_into::() - .map_err(|_| error::BadHaves::NotArray)?; - let have = value - .iter() - .enumerate() - .map(|(i, s)| JS(s).try_into().map_err(|e| error::BadHaves::BadElem(i, e))) - .collect::, _>>()?; - Ok(have) - } -} - -impl TryFrom for am::sync::BloomFilter { - type Error = error::BadBloom; - - fn try_from(value: JS) -> Result { - let value: Uint8Array = value - .0 - .dyn_into() - .map_err(|_| error::BadBloom::NotU8Array)?; - let value = value.to_vec(); - let value = value.as_slice().try_into()?; - Ok(value) - } -} - -impl TryFrom for am::sync::Message { - type Error = error::BadSyncMessage; - - fn try_from(value: JS) -> Result { - let heads = js_get(&value.0, "heads")? - .try_into() - .map_err(error::BadSyncMessage::BadHeads)?; - let need = js_get(&value.0, "need")? - .try_into() - .map_err(error::BadSyncMessage::BadNeed)?; - let changes = js_get(&value.0, "changes")?.try_into()?; - let have = js_get(&value.0, "have")?.try_into()?; - Ok(am::sync::Message { - heads, - need, - have, - changes, - }) - } -} - -impl From<&[ChangeHash]> for AR { - fn from(value: &[ChangeHash]) -> Self { - AR(value - .iter() - .map(|h| JsValue::from_str(&hex::encode(h.0))) - .collect()) - } -} - -impl From<&[Change]> for AR { - fn from(value: &[Change]) -> Self { - let changes: Array = value - .iter() - .map(|c| Uint8Array::from(c.raw_bytes())) - .collect(); - AR(changes) - } -} - -impl From<&[am::sync::Have]> for AR { - fn from(value: &[am::sync::Have]) -> Self { - AR(value - .iter() - .map(|have| { - let last_sync: Array = have - .last_sync - .iter() - .map(|h| JsValue::from_str(&hex::encode(h.0))) - .collect(); - // FIXME - the clone and the unwrap here shouldnt be needed - look at into_bytes() - let bloom = Uint8Array::from(have.bloom.to_bytes().as_slice()); - let obj: JsValue = Object::new().into(); - // we can unwrap here b/c we created the object and know its not frozen - Reflect::set(&obj, &"lastSync".into(), &last_sync.into()).unwrap(); - Reflect::set(&obj, &"bloom".into(), &bloom.into()).unwrap(); - obj - }) - .collect()) - } -} - -pub(crate) fn to_js_err(err: T) -> JsValue { - js_sys::Error::new(&std::format!("{}", err)).into() -} - -pub(crate) fn js_get, S: std::fmt::Debug + Into>( - obj: J, - prop: S, -) -> Result { - let prop = prop.into(); - Ok(JS(Reflect::get(&obj.into(), &prop).map_err(|e| { - error::GetProp { - property: format!("{:?}", prop), - error: e, - } - })?)) -} - -pub(crate) fn js_set, S: std::fmt::Debug + Into>( - obj: &JsValue, - prop: S, - val: V, -) -> Result { - let prop = prop.into(); - Reflect::set(obj, &prop, &val.into()).map_err(|e| error::SetProp { - property: prop, - error: e, - }) -} - -pub(crate) fn js_get_symbol>(obj: J, prop: &Symbol) -> Result { - Ok(JS(Reflect::get(&obj.into(), &prop.into()).map_err( - |e| error::GetProp { - property: format!("{}", prop.to_string()), - error: e, - }, - )?)) -} - -pub(crate) fn to_prop(p: JsValue) -> Result { - if let Some(s) = p.as_string() { - Ok(Prop::Map(s)) - } else if let Some(n) = p.as_f64() { - Ok(Prop::Seq(n as usize)) - } else { - Err(error::InvalidProp) - } -} - -pub(crate) enum JsObjType { - Text(String), - Map(Vec<(Prop, JsValue)>), - List(Vec<(Prop, JsValue)>), -} - -impl JsObjType { - pub(crate) fn objtype(&self) -> ObjType { - match self { - Self::Text(_) => ObjType::Text, - Self::Map(_) => ObjType::Map, - Self::List(_) => ObjType::List, - } - } - - pub(crate) fn text(&self) -> Option<&str> { - match self { - Self::Text(s) => Some(s.as_ref()), - Self::Map(_) => None, - Self::List(_) => None, - } - } - - pub(crate) fn subvals(&self) -> impl Iterator, JsValue)> + '_ + Clone { - match self { - Self::Text(s) => SubValIter::Str(s.chars().enumerate()), - Self::Map(sub) => SubValIter::Slice(sub.as_slice().iter()), - Self::List(sub) => SubValIter::Slice(sub.as_slice().iter()), - } - } -} - -#[derive(Debug, Clone)] -pub(crate) enum SubValIter<'a> { - Slice(std::slice::Iter<'a, (Prop, JsValue)>), - Str(std::iter::Enumerate>), -} - -impl<'a> Iterator for SubValIter<'a> { - type Item = (std::borrow::Cow<'a, Prop>, JsValue); - - fn next(&mut self) -> Option { - match self { - Self::Slice(i) => i - .next() - .map(|(p, v)| (std::borrow::Cow::Borrowed(p), v.clone())), - Self::Str(i) => i - .next() - .map(|(n, c)| (std::borrow::Cow::Owned(Prop::Seq(n)), c.to_string().into())), - } - } -} - -pub(crate) fn import_obj( - value: &JsValue, - datatype: &Option, -) -> Result { - match datatype.as_deref() { - Some("map") => { - let map = value - .clone() - .dyn_into::() - .map_err(|_| InsertObject::ValueNotObject)?; - let map = js_sys::Object::keys(&map) - .iter() - .zip(js_sys::Object::values(&map).iter()) - .map(|(key, val)| (key.as_string().unwrap().into(), val)) - .collect(); - Ok(JsObjType::Map(map)) - } - Some("list") => { - let list = value - .clone() - .dyn_into::() - .map_err(|_| InsertObject::ValueNotObject)?; - let list = list - .iter() - .enumerate() - .map(|(i, e)| (i.into(), e)) - .collect(); - Ok(JsObjType::List(list)) - } - Some("text") => { - let text = value.as_string().ok_or(InsertObject::ValueNotObject)?; - Ok(JsObjType::Text(text)) - } - Some(_) => Err(InsertObject::ValueNotObject), - None => { - if let Ok(list) = value.clone().dyn_into::() { - let list = list - .iter() - .enumerate() - .map(|(i, e)| (i.into(), e)) - .collect(); - Ok(JsObjType::List(list)) - } else if let Ok(map) = value.clone().dyn_into::() { - let map = js_sys::Object::keys(&map) - .iter() - .zip(js_sys::Object::values(&map).iter()) - .map(|(key, val)| (key.as_string().unwrap().into(), val)) - .collect(); - Ok(JsObjType::Map(map)) - } else if let Some(s) = value.as_string() { - Ok(JsObjType::Text(s)) - } else { - Err(InsertObject::ValueNotObject) - } - } - } -} - -pub(crate) fn get_heads( - heads: Option, -) -> Result>, error::BadChangeHashes> { - heads - .map(|h| { - h.iter() - .enumerate() - .map(|(i, v)| { - ChangeHash::try_from(JS(v)).map_err(|e| error::BadChangeHashes::BadElem(i, e)) - }) - .collect() - }) - .transpose() -} - -impl Automerge { - pub(crate) fn export_object( - &self, - obj: &ObjId, - datatype: Datatype, - heads: Option<&Vec>, - meta: &JsValue, - ) -> Result { - let result = match datatype { - Datatype::Text => match self.text_rep { - TextRepresentation::String => { - if let Some(heads) = heads { - self.doc.text_at(obj, heads)?.into() - } else { - self.doc.text(obj)?.into() - } - } - TextRepresentation::Array => self - .wrap_object(self.export_list(obj, heads, meta)?, datatype, obj, meta)? - .into(), - }, - Datatype::List => self - .wrap_object(self.export_list(obj, heads, meta)?, datatype, obj, meta)? - .into(), - _ => self - .wrap_object(self.export_map(obj, heads, meta)?, datatype, obj, meta)? - .into(), - }; - Ok(result) - } - - pub(crate) fn export_map( - &self, - obj: &ObjId, - heads: Option<&Vec>, - meta: &JsValue, - ) -> Result { - let keys = self.doc.keys(obj); - let map = Object::new(); - for k in keys { - let val_and_id = if let Some(heads) = heads { - self.doc.get_at(obj, &k, heads) - } else { - self.doc.get(obj, &k) - }; - if let Ok(Some((val, id))) = val_and_id { - let subval = match val { - Value::Object(o) => self.export_object(&id, o.into(), heads, meta)?, - Value::Scalar(_) => self.export_value(alloc(&val, self.text_rep))?, - }; - js_set(&map, &k, &subval)?; - }; - } - - Ok(map) - } - - pub(crate) fn export_list( - &self, - obj: &ObjId, - heads: Option<&Vec>, - meta: &JsValue, - ) -> Result { - let len = self.doc.length(obj); - let array = Array::new(); - for i in 0..len { - let val_and_id = if let Some(heads) = heads { - self.doc.get_at(obj, i, heads) - } else { - self.doc.get(obj, i) - }; - if let Ok(Some((val, id))) = val_and_id { - let subval = match val { - Value::Object(o) => self.export_object(&id, o.into(), heads, meta)?, - Value::Scalar(_) => self.export_value(alloc(&val, self.text_rep))?, - }; - array.push(&subval); - }; - } - - Ok(array.into()) - } - - pub(crate) fn export_value( - &self, - (datatype, raw_value): (Datatype, JsValue), - ) -> Result { - if let Some(function) = self.external_types.get(&datatype) { - let wrapped_value = function - .call1(&JsValue::undefined(), &raw_value) - .map_err(|e| error::Export::CallDataHandler(datatype.to_string(), e))?; - if let Ok(o) = wrapped_value.dyn_into::() { - let key = Symbol::for_(RAW_DATA_SYMBOL); - set_hidden_value(&o, &key, &raw_value)?; - let key = Symbol::for_(DATATYPE_SYMBOL); - set_hidden_value(&o, &key, datatype)?; - Ok(o.into()) - } else { - Err(error::Export::InvalidDataHandler(datatype.to_string())) - } - } else { - Ok(raw_value) - } - } - - pub(crate) fn unwrap_object( - &self, - ext_val: &Object, - ) -> Result<(Object, Datatype, ObjId), error::Export> { - let inner = js_get_symbol(ext_val, &Symbol::for_(RAW_DATA_SYMBOL))?.0; - - let datatype = js_get_symbol(ext_val, &Symbol::for_(DATATYPE_SYMBOL))? - .0 - .try_into(); - - let id_val = js_get_symbol(ext_val, &Symbol::for_(RAW_OBJECT_SYMBOL))?.0; - let id = if id_val.is_undefined() { - am::ROOT - } else { - self.doc.import(&id_val.as_string().unwrap_or_default())?.0 - }; - - let inner = inner - .dyn_into::() - .unwrap_or_else(|_| ext_val.clone()); - let datatype = datatype.unwrap_or_else(|_| { - if Array::is_array(&inner) { - Datatype::List - } else { - Datatype::Map - } - }); - Ok((inner, datatype, id)) - } - - pub(crate) fn unwrap_scalar(&self, ext_val: JsValue) -> Result { - let inner = js_get_symbol(&ext_val, &Symbol::for_(RAW_DATA_SYMBOL))?.0; - if !inner.is_undefined() { - Ok(inner) - } else { - Ok(ext_val) - } - } - - fn maybe_wrap_object( - &self, - (datatype, raw_value): (Datatype, JsValue), - id: &ObjId, - meta: &JsValue, - ) -> Result { - if let Ok(obj) = raw_value.clone().dyn_into::() { - let result = self.wrap_object(obj, datatype, id, meta)?; - Ok(result.into()) - } else { - self.export_value((datatype, raw_value)) - } - } - - pub(crate) fn wrap_object( - &self, - value: Object, - datatype: Datatype, - id: &ObjId, - meta: &JsValue, - ) -> Result { - let value = if let Some(function) = self.external_types.get(&datatype) { - let wrapped_value = function - .call1(&JsValue::undefined(), &value) - .map_err(|e| error::Export::CallDataHandler(datatype.to_string(), e))?; - let wrapped_object = wrapped_value - .dyn_into::() - .map_err(|_| error::Export::InvalidDataHandler(datatype.to_string()))?; - set_hidden_value(&wrapped_object, &Symbol::for_(RAW_DATA_SYMBOL), value)?; - wrapped_object - } else { - value - }; - if matches!(datatype, Datatype::Map | Datatype::List) - || (datatype == Datatype::Text && self.text_rep == TextRepresentation::Array) - { - set_hidden_value( - &value, - &Symbol::for_(RAW_OBJECT_SYMBOL), - &JsValue::from(&id.to_string()), - )?; - } - set_hidden_value(&value, &Symbol::for_(DATATYPE_SYMBOL), datatype)?; - set_hidden_value(&value, &Symbol::for_(META_SYMBOL), meta)?; - if self.freeze { - Object::freeze(&value); - } - Ok(value) - } - - pub(crate) fn apply_patch_to_array( - &self, - array: &Object, - patch: &Patch, - meta: &JsValue, - exposed: &mut HashSet, - ) -> Result { - let result = Array::from(array); // shallow copy - match patch { - Patch::PutSeq { - index, - value, - expose, - .. - } => { - if *expose && value.0.is_object() { - exposed.insert(value.1.clone()); - js_set(&result, *index as f64, &JsValue::null())?; - } else { - let sub_val = - self.maybe_wrap_object(alloc(&value.0, self.text_rep), &value.1, meta)?; - js_set(&result, *index as f64, &sub_val)?; - } - Ok(result.into()) - } - Patch::DeleteSeq { index, length, .. } => { - Ok(self.sub_splice(result, *index, *length, vec![], meta)?) - } - Patch::Insert { index, values, .. } => { - Ok(self.sub_splice(result, *index, 0, values, meta)?) - } - Patch::Increment { prop, value, .. } => { - if let Prop::Seq(index) = prop { - let index = *index as f64; - let old_val = js_get(&result, index)?.0; - let old_val = self.unwrap_scalar(old_val)?; - if let Some(old) = old_val.as_f64() { - let new_value: Value<'_> = - am::ScalarValue::counter(old as i64 + *value).into(); - js_set( - &result, - index, - &self.export_value(alloc(&new_value, self.text_rep))?, - )?; - Ok(result.into()) - } else { - Err(error::ApplyPatch::IncrementNonNumeric) - } - } else { - Err(error::ApplyPatch::IncrementKeyInSeq) - } - } - Patch::DeleteMap { .. } => Err(error::ApplyPatch::DeleteKeyFromSeq), - Patch::PutMap { .. } => Err(error::ApplyPatch::PutKeyInSeq), - Patch::SpliceText { index, value, .. } => { - match self.text_rep { - TextRepresentation::String => Err(error::ApplyPatch::SpliceTextInSeq), - TextRepresentation::Array => { - let bytes: Vec = value.iter().cloned().collect(); - let val = String::from_utf16_lossy(bytes.as_slice()); - let elems = val - .chars() - .map(|c| { - ( - Value::Scalar(std::borrow::Cow::Owned(am::ScalarValue::Str( - c.to_string().into(), - ))), - ObjId::Root, // Using ROOT is okay because this ID is never used as - // we're producing ScalarValue::Str - ) - }) - .collect::>(); - Ok(self.sub_splice(result, *index, 0, &elems, meta)?) - } - } - } - } - } - - pub(crate) fn apply_patch_to_map( - &self, - map: &Object, - patch: &Patch, - meta: &JsValue, - exposed: &mut HashSet, - ) -> Result { - let result = Object::assign(&Object::new(), map); // shallow copy - match patch { - Patch::PutMap { - key, value, expose, .. - } => { - if *expose && value.0.is_object() { - exposed.insert(value.1.clone()); - js_set(&result, key, &JsValue::null())?; - } else { - let sub_val = - self.maybe_wrap_object(alloc(&value.0, self.text_rep), &value.1, meta)?; - js_set(&result, key, &sub_val)?; - } - Ok(result) - } - Patch::DeleteMap { key, .. } => { - Reflect::delete_property(&result, &key.into()).map_err(|e| { - error::Export::Delete { - prop: key.to_string(), - err: e, - } - })?; - Ok(result) - } - Patch::Increment { prop, value, .. } => { - if let Prop::Map(key) = prop { - let old_val = js_get(&result, key)?.0; - let old_val = self.unwrap_scalar(old_val)?; - if let Some(old) = old_val.as_f64() { - let new_value: Value<'_> = - am::ScalarValue::counter(old as i64 + *value).into(); - js_set( - &result, - key, - &self.export_value(alloc(&new_value, self.text_rep))?, - )?; - Ok(result) - } else { - Err(error::ApplyPatch::IncrementNonNumeric) - } - } else { - Err(error::ApplyPatch::IncrementIndexInMap) - } - } - Patch::Insert { .. } => Err(error::ApplyPatch::InsertInMap), - Patch::DeleteSeq { .. } => Err(error::ApplyPatch::SpliceInMap), - //Patch::SpliceText { .. } => Err(to_js_err("cannot Splice into map")), - Patch::SpliceText { .. } => Err(error::ApplyPatch::SpliceTextInMap), - Patch::PutSeq { .. } => Err(error::ApplyPatch::PutIdxInMap), - } - } - - pub(crate) fn apply_patch( - &self, - obj: Object, - patch: &Patch, - depth: usize, - meta: &JsValue, - exposed: &mut HashSet, - ) -> Result { - let (inner, datatype, id) = self.unwrap_object(&obj)?; - let prop = patch.path().get(depth).map(|p| prop_to_js(&p.1)); - let result = if let Some(prop) = prop { - let subval = js_get(&inner, &prop)?.0; - if subval.is_string() && patch.path().len() - 1 == depth { - if let Ok(s) = subval.dyn_into::() { - let new_value = self.apply_patch_to_text(&s, patch)?; - let result = shallow_copy(&inner); - js_set(&result, &prop, &new_value)?; - Ok(result) - } else { - // bad patch - short circuit - Ok(obj) - } - } else if let Ok(sub_obj) = js_get(&inner, &prop)?.0.dyn_into::() { - let new_value = self.apply_patch(sub_obj, patch, depth + 1, meta, exposed)?; - let result = shallow_copy(&inner); - js_set(&result, &prop, &new_value)?; - Ok(result) - } else { - // if a patch is trying to access a deleted object make no change - // short circuit the wrap process - return Ok(obj); - } - } else if Array::is_array(&inner) { - if &id == patch.obj() { - self.apply_patch_to_array(&inner, patch, meta, exposed) - } else { - Ok(Array::from(&inner).into()) - } - } else if &id == patch.obj() { - self.apply_patch_to_map(&inner, patch, meta, exposed) - } else { - Ok(Object::assign(&Object::new(), &inner)) - }?; - - self.wrap_object(result, datatype, &id, meta) - .map_err(|e| e.into()) - } - - fn apply_patch_to_text( - &self, - string: &JsString, - patch: &Patch, - ) -> Result { - match patch { - Patch::DeleteSeq { index, length, .. } => { - let index = *index as u32; - let before = string.slice(0, index); - let after = string.slice(index + *length as u32, string.length()); - let result = before.concat(&after); - Ok(result.into()) - } - Patch::SpliceText { index, value, .. } => { - let index = *index as u32; - let length = string.length(); - let before = string.slice(0, index); - let after = string.slice(index, length); - let bytes: Vec = value.iter().cloned().collect(); - let result = before - .concat(&String::from_utf16_lossy(bytes.as_slice()).into()) - .concat(&after); - Ok(result.into()) - } - _ => Ok(string.into()), - } - } - - fn sub_splice<'a, I: IntoIterator, ObjId)>>( - &self, - o: Array, - index: usize, - num_del: usize, - values: I, - meta: &JsValue, - ) -> Result { - let args: Array = values - .into_iter() - .map(|v| self.maybe_wrap_object(alloc(&v.0, self.text_rep), &v.1, meta)) - .collect::>()?; - args.unshift(&(num_del as u32).into()); - args.unshift(&(index as u32).into()); - let method = js_get(&o, "splice")? - .0 - .dyn_into::() - .map_err(error::Export::GetSplice)?; - Reflect::apply(&method, &o, &args).map_err(error::Export::CallSplice)?; - Ok(o.into()) - } - - pub(crate) fn import(&self, id: JsValue) -> Result<(ObjId, am::ObjType), error::ImportObj> { - if let Some(s) = id.as_string() { - // valid formats are - // 123@aabbcc - // 123@aabccc/prop1/prop2/prop3 - // /prop1/prop2/prop3 - let mut components = s.split('/'); - let obj = components.next(); - let (id, obj_type) = if obj == Some("") { - (ROOT, am::ObjType::Map) - } else { - self.doc - .import(obj.unwrap_or_default()) - .map_err(error::ImportObj::BadImport)? - }; - self.import_path(id, obj_type, components) - .map_err(|e| error::ImportObj::InvalidPath(s.to_string(), e)) - } else { - Err(error::ImportObj::NotString) - } - } - - fn import_path<'a, I: Iterator>( - &self, - mut obj: ObjId, - mut obj_type: am::ObjType, - components: I, - ) -> Result<(ObjId, am::ObjType), error::ImportPath> { - for (i, prop) in components.enumerate() { - if prop.is_empty() { - break; - } - let is_map = matches!(obj_type, am::ObjType::Map | am::ObjType::Table); - let val = if is_map { - self.doc.get(obj, prop)? - } else { - let idx = prop - .parse() - .map_err(|_| error::ImportPath::IndexNotInteger(i, prop.to_string()))?; - self.doc.get(obj, am::Prop::Seq(idx))? - }; - match val { - Some((am::Value::Object(am::ObjType::Map), id)) => { - obj_type = am::ObjType::Map; - obj = id; - } - Some((am::Value::Object(am::ObjType::Table), id)) => { - obj_type = am::ObjType::Table; - obj = id; - } - Some((am::Value::Object(am::ObjType::List), id)) => { - obj_type = am::ObjType::List; - obj = id; - } - Some((am::Value::Object(am::ObjType::Text), id)) => { - obj_type = am::ObjType::Text; - obj = id; - } - None => return Err(error::ImportPath::NonExistentObject(i, prop.to_string())), - _ => return Err(error::ImportPath::NotAnObject), - }; - } - Ok((obj, obj_type)) - } - - pub(crate) fn import_prop(&self, prop: JsValue) -> Result { - if let Some(s) = prop.as_string() { - Ok(s.into()) - } else if let Some(n) = prop.as_f64() { - Ok((n as usize).into()) - } else { - Err(error::InvalidProp) - } - } - - pub(crate) fn import_scalar( - &self, - value: &JsValue, - datatype: &Option, - ) -> Option { - match datatype.as_deref() { - Some("boolean") => value.as_bool().map(am::ScalarValue::Boolean), - Some("int") => value.as_f64().map(|v| am::ScalarValue::Int(v as i64)), - Some("uint") => value.as_f64().map(|v| am::ScalarValue::Uint(v as u64)), - Some("str") => value.as_string().map(|v| am::ScalarValue::Str(v.into())), - Some("f64") => value.as_f64().map(am::ScalarValue::F64), - Some("bytes") => Some(am::ScalarValue::Bytes( - value.clone().dyn_into::().unwrap().to_vec(), - )), - Some("counter") => value.as_f64().map(|v| am::ScalarValue::counter(v as i64)), - Some("timestamp") => { - if let Some(v) = value.as_f64() { - Some(am::ScalarValue::Timestamp(v as i64)) - } else if let Ok(d) = value.clone().dyn_into::() { - Some(am::ScalarValue::Timestamp(d.get_time() as i64)) - } else { - None - } - } - Some("null") => Some(am::ScalarValue::Null), - Some(_) => None, - None => { - if value.is_null() { - Some(am::ScalarValue::Null) - } else if let Some(b) = value.as_bool() { - Some(am::ScalarValue::Boolean(b)) - } else if let Some(s) = value.as_string() { - Some(am::ScalarValue::Str(s.into())) - } else if let Some(n) = value.as_f64() { - if (n.round() - n).abs() < f64::EPSILON { - Some(am::ScalarValue::Int(n as i64)) - } else { - Some(am::ScalarValue::F64(n)) - } - } else if let Ok(d) = value.clone().dyn_into::() { - Some(am::ScalarValue::Timestamp(d.get_time() as i64)) - } else if let Ok(o) = &value.clone().dyn_into::() { - Some(am::ScalarValue::Bytes(o.to_vec())) - } else { - None - } - } - } - } - - pub(crate) fn import_value( - &self, - value: &JsValue, - datatype: Option, - ) -> Result<(Value<'static>, Vec<(Prop, JsValue)>), error::InvalidValue> { - match self.import_scalar(value, &datatype) { - Some(val) => Ok((val.into(), vec![])), - None => { - if let Ok(js_obj) = import_obj(value, &datatype) { - Ok(( - js_obj.objtype().into(), - js_obj - .subvals() - .map(|(p, v)| (p.into_owned(), v)) - .collect::>(), - )) - } else { - web_sys::console::log_2(&"Invalid value".into(), value); - Err(error::InvalidValue) - } - } - } - } - - pub(crate) fn finalize_exposed( - &self, - object: &JsValue, - exposed: HashSet, - meta: &JsValue, - ) -> Result<(), error::ApplyPatch> { - for obj in exposed { - let mut pointer = object.clone(); - if let Ok(obj_type) = self.doc.object_type(&obj) { - // only valid obj's should make it to this point ... - let path: Vec<_> = self - .doc - .path_to_object(&obj)? - .iter() - .map(|p| prop_to_js(&p.1)) - .collect(); - let value = self.export_object(&obj, obj_type.into(), None, meta)?; - for (i, prop) in path.iter().enumerate() { - if i + 1 < path.len() { - pointer = js_get(&pointer, prop)?.0; - } else { - js_set(&pointer, prop, &value)?; - } - } - } - } - Ok(()) - } -} - -pub(crate) fn alloc(value: &Value<'_>, text_rep: TextRepresentation) -> (Datatype, JsValue) { - match value { - am::Value::Object(o) => match o { - ObjType::Map => (Datatype::Map, Object::new().into()), - ObjType::Table => (Datatype::Table, Object::new().into()), - ObjType::List => (Datatype::List, Array::new().into()), - ObjType::Text => match text_rep { - TextRepresentation::String => (Datatype::Text, "".into()), - TextRepresentation::Array => (Datatype::Text, Array::new().into()), - }, - }, - am::Value::Scalar(s) => match s.as_ref() { - am::ScalarValue::Bytes(v) => (Datatype::Bytes, Uint8Array::from(v.as_slice()).into()), - am::ScalarValue::Str(v) => (Datatype::Str, v.to_string().into()), - am::ScalarValue::Int(v) => (Datatype::Int, (*v as f64).into()), - am::ScalarValue::Uint(v) => (Datatype::Uint, (*v as f64).into()), - am::ScalarValue::F64(v) => (Datatype::F64, (*v).into()), - am::ScalarValue::Counter(v) => (Datatype::Counter, (f64::from(v)).into()), - am::ScalarValue::Timestamp(v) => ( - Datatype::Timestamp, - js_sys::Date::new(&(*v as f64).into()).into(), - ), - am::ScalarValue::Boolean(v) => (Datatype::Boolean, (*v).into()), - am::ScalarValue::Null => (Datatype::Null, JsValue::null()), - am::ScalarValue::Unknown { bytes, type_code } => ( - Datatype::Unknown(*type_code), - Uint8Array::from(bytes.as_slice()).into(), - ), - }, - } -} - -fn set_hidden_value>( - o: &Object, - key: &Symbol, - value: V, -) -> Result<(), error::Export> { - let definition = Object::new(); - js_set(&definition, "value", &value.into()).map_err(|_| error::Export::SetHidden("value"))?; - js_set(&definition, "writable", false).map_err(|_| error::Export::SetHidden("writable"))?; - js_set(&definition, "enumerable", false).map_err(|_| error::Export::SetHidden("enumerable"))?; - js_set(&definition, "configurable", false) - .map_err(|_| error::Export::SetHidden("configurable"))?; - Object::define_property(o, &key.into(), &definition); - Ok(()) -} - -fn shallow_copy(obj: &Object) -> Object { - if Array::is_array(obj) { - Array::from(obj).into() - } else { - Object::assign(&Object::new(), obj) - } -} - -fn prop_to_js(prop: &Prop) -> JsValue { - match prop { - Prop::Map(key) => key.into(), - Prop::Seq(index) => (*index as f64).into(), - } -} - -pub(crate) mod error { - use automerge::{AutomergeError, LoadChangeError}; - use wasm_bindgen::JsValue; - - #[derive(Debug, thiserror::Error)] - pub enum BadJSChanges { - #[error("the changes were not an array of Uint8Array")] - ChangesNotArray, - #[error("change {0} was not a Uint8Array")] - ElemNotUint8Array(usize), - #[error("error loading change {0}: {1}")] - BadChange(usize, LoadChangeError), - } - - #[derive(Debug, thiserror::Error)] - pub enum BadChangeHashes { - #[error("the change hashes were not an array of strings")] - NotArray, - #[error("could not decode hash {0}: {1}")] - BadElem(usize, BadChangeHash), - } - - impl From for JsValue { - fn from(e: BadChangeHashes) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum BadChangeHashSet { - #[error("not an object")] - NotObject, - #[error(transparent)] - GetProp(#[from] GetProp), - #[error("unable to getOwnProperties")] - ListProp, - #[error("unable to parse hash from {0:?}: {1}")] - BadHash(wasm_bindgen::JsValue, BadChangeHash), - } - - #[derive(Debug, thiserror::Error)] - pub enum BadChangeHash { - #[error("change hash was not a string")] - NotString, - #[error(transparent)] - Parse(#[from] automerge::ParseChangeHashError), - } - - impl From for JsValue { - fn from(e: BadChangeHash) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum BadSyncState { - #[error(transparent)] - GetProp(#[from] GetProp), - #[error("bad sharedHeads: {0}")] - BadSharedHeads(BadChangeHashes), - #[error("bad lastSentHeads: {0}")] - BadLastSentHeads(BadChangeHashes), - #[error("bad theirHeads: {0}")] - BadTheirHeads(BadChangeHashes), - #[error("bad theirNeed: {0}")] - BadTheirNeed(BadChangeHashes), - #[error("bad theirHave: {0}")] - BadTheirHave(BadHaves), - #[error("bad sentHashes: {0}")] - BadSentHashes(BadChangeHashSet), - #[error("inFlight not a boolean")] - InFlightNotBoolean, - } - - impl From for JsValue { - fn from(e: BadSyncState) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - #[error("unable to get property {property}: {error:?}")] - pub struct GetProp { - pub(super) property: String, - pub(super) error: wasm_bindgen::JsValue, - } - - impl From for JsValue { - fn from(e: GetProp) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - #[error("error setting property {property:?} on JS value: {error:?}")] - pub struct SetProp { - pub(super) property: JsValue, - pub(super) error: JsValue, - } - - impl From for JsValue { - fn from(e: SetProp) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum BadHave { - #[error("bad lastSync: {0}")] - BadLastSync(BadChangeHashes), - #[error("bad bloom: {0}")] - BadBloom(BadBloom), - #[error(transparent)] - GetHaveProp(#[from] GetProp), - } - - #[derive(Debug, thiserror::Error)] - pub enum BadHaves { - #[error("value was not an array")] - NotArray, - #[error("error loading have at index {0}: {1}")] - BadElem(usize, BadHave), - } - - #[derive(Debug, thiserror::Error)] - pub enum BadBloom { - #[error("the value was not a Uint8Array")] - NotU8Array, - #[error("unable to decode: {0}")] - Decode(#[from] automerge::sync::DecodeBloomError), - } - - #[derive(Debug, thiserror::Error)] - pub enum Export { - #[error(transparent)] - Set(#[from] SetProp), - #[error("unable to delete prop {prop}: {err:?}")] - Delete { prop: String, err: JsValue }, - #[error("unable to set hidden property {0}")] - SetHidden(&'static str), - #[error("data handler for type {0} did not return a valid object")] - InvalidDataHandler(String), - #[error("error calling data handler for type {0}: {1:?}")] - CallDataHandler(String, JsValue), - #[error(transparent)] - GetProp(#[from] GetProp), - #[error(transparent)] - InvalidDatatype(#[from] crate::value::InvalidDatatype), - #[error("unable to get the splice function: {0:?}")] - GetSplice(JsValue), - #[error("error calling splice: {0:?}")] - CallSplice(JsValue), - #[error(transparent)] - Automerge(#[from] AutomergeError), - } - - impl From for JsValue { - fn from(e: Export) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum ApplyPatch { - #[error(transparent)] - Export(#[from] Export), - #[error("cannot delete from a seq")] - DeleteKeyFromSeq, - #[error("cannot put key in seq")] - PutKeyInSeq, - #[error("cannot increment a non-numeric value")] - IncrementNonNumeric, - #[error("cannot increment a key in a seq")] - IncrementKeyInSeq, - #[error("cannot increment index in a map")] - IncrementIndexInMap, - #[error("cannot insert into a map")] - InsertInMap, - #[error("cannot splice into a map")] - SpliceInMap, - #[error("cannot splice text into a seq")] - SpliceTextInSeq, - #[error("cannot splice text into a map")] - SpliceTextInMap, - #[error("cannot put a seq index in a map")] - PutIdxInMap, - #[error(transparent)] - GetProp(#[from] GetProp), - #[error(transparent)] - SetProp(#[from] SetProp), - #[error(transparent)] - Automerge(#[from] AutomergeError), - } - - impl From for JsValue { - fn from(e: ApplyPatch) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum BadSyncMessage { - #[error(transparent)] - GetProp(#[from] GetProp), - #[error("unable to read haves: {0}")] - BadHaves(#[from] BadHaves), - #[error("could not read changes: {0}")] - BadJSChanges(#[from] BadJSChanges), - #[error("could not read heads: {0}")] - BadHeads(BadChangeHashes), - #[error("could not read need: {0}")] - BadNeed(BadChangeHashes), - } - - impl From for JsValue { - fn from(e: BadSyncMessage) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum ImportObj { - #[error("obj id was not a string")] - NotString, - #[error("invalid path {0}: {1}")] - InvalidPath(String, ImportPath), - #[error("unable to import object id: {0}")] - BadImport(AutomergeError), - } - - impl From for JsValue { - fn from(e: ImportObj) -> Self { - JsValue::from(format!("invalid object ID: {}", e)) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum ImportPath { - #[error(transparent)] - Automerge(#[from] AutomergeError), - #[error("path component {0} ({1}) should be an integer to index a sequence")] - IndexNotInteger(usize, String), - #[error("path component {0} ({1}) referenced a nonexistent object")] - NonExistentObject(usize, String), - #[error("path did not refer to an object")] - NotAnObject, - } - - #[derive(Debug, thiserror::Error)] - #[error("given property was not a string or integer")] - pub struct InvalidProp; - - #[derive(Debug, thiserror::Error)] - #[error("given property was not a string or integer")] - pub struct InvalidValue; -} diff --git a/rust/automerge-wasm/src/lib.rs b/rust/automerge-wasm/src/lib.rs deleted file mode 100644 index 09072ca7..00000000 --- a/rust/automerge-wasm/src/lib.rs +++ /dev/null @@ -1,1155 +0,0 @@ -#![doc( - html_logo_url = "https://raw.githubusercontent.com/automerge/automerge-rs/main/img/brandmark.svg", - html_favicon_url = "https:///raw.githubusercontent.com/automerge/automerge-rs/main/img/favicon.ico" -)] -#![warn( - missing_debug_implementations, - // missing_docs, // TODO: add documentation! - rust_2021_compatibility, - rust_2018_idioms, - unreachable_pub, - bad_style, - dead_code, - improper_ctypes, - non_shorthand_field_patterns, - no_mangle_generic_items, - overflowing_literals, - path_statements, - patterns_in_fns_without_body, - private_in_public, - unconditional_recursion, - unused, - unused_allocation, - unused_comparisons, - unused_parens, - while_true -)] -#![allow(clippy::unused_unit)] -use am::transaction::CommitOptions; -use am::transaction::{Observed, Transactable, UnObserved}; -use am::ScalarValue; -use automerge as am; -use automerge::{sync::SyncDoc, Change, ObjId, Prop, ReadDoc, TextEncoding, Value, ROOT}; -use js_sys::{Array, Function, Object, Uint8Array}; -use serde::ser::Serialize; -use std::borrow::Cow; -use std::collections::HashMap; -use std::collections::HashSet; -use std::convert::TryInto; -use wasm_bindgen::prelude::*; -use wasm_bindgen::JsCast; - -mod interop; -mod observer; -mod sequence_tree; -mod sync; -mod value; - -use observer::Observer; - -use interop::{alloc, get_heads, import_obj, js_set, to_js_err, to_prop, AR, JS}; -use sync::SyncState; -use value::Datatype; - -use crate::interop::SubValIter; - -#[allow(unused_macros)] -macro_rules! log { - ( $( $t:tt )* ) => { - web_sys::console::log_1(&format!( $( $t )* ).into()); - }; -} - -type AutoCommit = am::AutoCommitWithObs>; - -#[cfg(feature = "wee_alloc")] -#[global_allocator] -static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT; - -/// How text is represented in materialized objects on the JS side -#[derive(Debug, Eq, PartialEq, Clone, Copy)] -#[wasm_bindgen] -pub enum TextRepresentation { - /// As an array of characters and objects - Array, - /// As a single JS string - String, -} - -impl std::default::Default for TextRepresentation { - fn default() -> Self { - TextRepresentation::Array - } -} - -#[wasm_bindgen] -#[derive(Debug)] -pub struct Automerge { - doc: AutoCommit, - freeze: bool, - external_types: HashMap, - text_rep: TextRepresentation, -} - -#[wasm_bindgen] -impl Automerge { - pub fn new( - actor: Option, - text_rep: TextRepresentation, - ) -> Result { - let mut doc = AutoCommit::default().with_encoding(TextEncoding::Utf16); - if let Some(a) = actor { - let a = automerge::ActorId::from(hex::decode(a)?.to_vec()); - doc.set_actor(a); - } - Ok(Automerge { - doc, - freeze: false, - external_types: HashMap::default(), - text_rep, - }) - } - - #[allow(clippy::should_implement_trait)] - pub fn clone(&mut self, actor: Option) -> Result { - let mut automerge = Automerge { - doc: self.doc.clone(), - freeze: self.freeze, - external_types: self.external_types.clone(), - text_rep: self.text_rep, - }; - if let Some(s) = actor { - let actor = automerge::ActorId::from(hex::decode(s)?.to_vec()); - automerge.doc.set_actor(actor); - } - Ok(automerge) - } - - pub fn fork( - &mut self, - actor: Option, - heads: JsValue, - ) -> Result { - let heads: Result, _> = JS(heads).try_into(); - let doc = if let Ok(heads) = heads { - self.doc.fork_at(&heads)? - } else { - self.doc.fork() - }; - let mut automerge = Automerge { - doc, - freeze: self.freeze, - external_types: self.external_types.clone(), - text_rep: self.text_rep, - }; - if let Some(s) = actor { - let actor = - automerge::ActorId::from(hex::decode(s).map_err(error::BadActorId::from)?.to_vec()); - automerge.doc.set_actor(actor); - } - Ok(automerge) - } - - #[wasm_bindgen(js_name = pendingOps)] - pub fn pending_ops(&self) -> JsValue { - (self.doc.pending_ops() as u32).into() - } - - pub fn commit(&mut self, message: Option, time: Option) -> JsValue { - let mut commit_opts = CommitOptions::default(); - if let Some(message) = message { - commit_opts.set_message(message); - } - if let Some(time) = time { - commit_opts.set_time(time as i64); - } - let hash = self.doc.commit_with(commit_opts); - match hash { - Some(h) => JsValue::from_str(&hex::encode(h.0)), - None => JsValue::NULL, - } - } - - pub fn merge(&mut self, other: &mut Automerge) -> Result { - let heads = self.doc.merge(&mut other.doc)?; - let heads: Array = heads - .iter() - .map(|h| JsValue::from_str(&hex::encode(h.0))) - .collect(); - Ok(heads) - } - - pub fn rollback(&mut self) -> f64 { - self.doc.rollback() as f64 - } - - pub fn keys(&self, obj: JsValue, heads: Option) -> Result { - let (obj, _) = self.import(obj)?; - let result = if let Some(heads) = get_heads(heads)? { - self.doc - .keys_at(&obj, &heads) - .map(|s| JsValue::from_str(&s)) - .collect() - } else { - self.doc.keys(&obj).map(|s| JsValue::from_str(&s)).collect() - }; - Ok(result) - } - - pub fn text(&self, obj: JsValue, heads: Option) -> Result { - let (obj, _) = self.import(obj)?; - if let Some(heads) = get_heads(heads)? { - Ok(self.doc.text_at(&obj, &heads)?) - } else { - Ok(self.doc.text(&obj)?) - } - } - - pub fn splice( - &mut self, - obj: JsValue, - start: f64, - delete_count: f64, - text: JsValue, - ) -> Result<(), error::Splice> { - let (obj, obj_type) = self.import(obj)?; - let start = start as usize; - let delete_count = delete_count as usize; - let vals = if let Some(t) = text.as_string() { - if obj_type == am::ObjType::Text && self.text_rep == TextRepresentation::String { - self.doc.splice_text(&obj, start, delete_count, &t)?; - return Ok(()); - } else { - t.chars() - .map(|c| ScalarValue::Str(c.to_string().into())) - .collect::>() - } - } else { - let mut vals = vec![]; - if let Ok(array) = text.dyn_into::() { - for (index, i) in array.iter().enumerate() { - let value = self - .import_scalar(&i, &None) - .ok_or(error::Splice::ValueNotPrimitive(index))?; - vals.push(value); - } - } - vals - }; - if !vals.is_empty() { - self.doc.splice(&obj, start, delete_count, vals)?; - } else { - // no vals given but we still need to call the text vs splice - // bc utf16 - match obj_type { - am::ObjType::List => { - self.doc.splice(&obj, start, delete_count, vals)?; - } - am::ObjType::Text => match self.text_rep { - TextRepresentation::String => { - self.doc.splice_text(&obj, start, delete_count, "")?; - } - TextRepresentation::Array => { - self.doc.splice(&obj, start, delete_count, vals)?; - } - }, - _ => {} - } - } - Ok(()) - } - - pub fn push( - &mut self, - obj: JsValue, - value: JsValue, - datatype: JsValue, - ) -> Result<(), error::Insert> { - let (obj, _) = self.import(obj)?; - let value = self - .import_scalar(&value, &datatype.as_string()) - .ok_or(error::Insert::ValueNotPrimitive)?; - let index = self.doc.length(&obj); - self.doc.insert(&obj, index, value)?; - Ok(()) - } - - #[wasm_bindgen(js_name = pushObject)] - pub fn push_object( - &mut self, - obj: JsValue, - value: JsValue, - ) -> Result, error::InsertObject> { - let (obj, _) = self.import(obj)?; - let imported_obj = import_obj(&value, &None)?; - let index = self.doc.length(&obj); - let opid = self - .doc - .insert_object(&obj, index, imported_obj.objtype())?; - if let Some(s) = imported_obj.text() { - match self.text_rep { - TextRepresentation::String => { - self.doc.splice_text(&opid, 0, 0, s)?; - } - TextRepresentation::Array => { - self.subset::(&opid, imported_obj.subvals())?; - } - } - } else { - self.subset::(&opid, imported_obj.subvals())?; - } - Ok(opid.to_string().into()) - } - - pub fn insert( - &mut self, - obj: JsValue, - index: f64, - value: JsValue, - datatype: JsValue, - ) -> Result<(), error::Insert> { - let (obj, _) = self.import(obj)?; - let value = self - .import_scalar(&value, &datatype.as_string()) - .ok_or(error::Insert::ValueNotPrimitive)?; - self.doc.insert(&obj, index as usize, value)?; - Ok(()) - } - - #[wasm_bindgen(js_name = insertObject)] - pub fn insert_object( - &mut self, - obj: JsValue, - index: f64, - value: JsValue, - ) -> Result, error::InsertObject> { - let (obj, _) = self.import(obj)?; - let imported_obj = import_obj(&value, &None)?; - let opid = self - .doc - .insert_object(&obj, index as usize, imported_obj.objtype())?; - if let Some(s) = imported_obj.text() { - match self.text_rep { - TextRepresentation::String => { - self.doc.splice_text(&opid, 0, 0, s)?; - } - TextRepresentation::Array => { - self.subset::(&opid, imported_obj.subvals())?; - } - } - } else { - self.subset::(&opid, imported_obj.subvals())?; - } - Ok(opid.to_string().into()) - } - - pub fn put( - &mut self, - obj: JsValue, - prop: JsValue, - value: JsValue, - datatype: JsValue, - ) -> Result<(), error::Insert> { - let (obj, _) = self.import(obj)?; - let prop = self.import_prop(prop)?; - let value = self - .import_scalar(&value, &datatype.as_string()) - .ok_or(error::Insert::ValueNotPrimitive)?; - self.doc.put(&obj, prop, value)?; - Ok(()) - } - - #[wasm_bindgen(js_name = putObject)] - pub fn put_object( - &mut self, - obj: JsValue, - prop: JsValue, - value: JsValue, - ) -> Result { - let (obj, _) = self.import(obj)?; - let prop = self.import_prop(prop)?; - let imported_obj = import_obj(&value, &None)?; - let opid = self.doc.put_object(&obj, prop, imported_obj.objtype())?; - if let Some(s) = imported_obj.text() { - match self.text_rep { - TextRepresentation::String => { - self.doc.splice_text(&opid, 0, 0, s)?; - } - TextRepresentation::Array => { - self.subset::(&opid, imported_obj.subvals())?; - } - } - } else { - self.subset::(&opid, imported_obj.subvals())?; - } - Ok(opid.to_string().into()) - } - - fn subset<'a, E, I>(&mut self, obj: &am::ObjId, vals: I) -> Result<(), E> - where - I: IntoIterator, JsValue)>, - E: From - + From - + From, - { - for (p, v) in vals { - let (value, subvals) = self.import_value(v.as_ref(), None)?; - //let opid = self.0.set(id, p, value)?; - let opid = match (p.as_ref(), value) { - (Prop::Map(s), Value::Object(objtype)) => { - Some(self.doc.put_object(obj, s, objtype)?) - } - (Prop::Map(s), Value::Scalar(scalar)) => { - self.doc.put(obj, s, scalar.into_owned())?; - None - } - (Prop::Seq(i), Value::Object(objtype)) => { - Some(self.doc.insert_object(obj, *i, objtype)?) - } - (Prop::Seq(i), Value::Scalar(scalar)) => { - self.doc.insert(obj, *i, scalar.into_owned())?; - None - } - }; - if let Some(opid) = opid { - self.subset::(&opid, SubValIter::Slice(subvals.as_slice().iter()))?; - } - } - Ok(()) - } - - pub fn increment( - &mut self, - obj: JsValue, - prop: JsValue, - value: JsValue, - ) -> Result<(), error::Increment> { - let (obj, _) = self.import(obj)?; - let prop = self.import_prop(prop)?; - let value: f64 = value.as_f64().ok_or(error::Increment::ValueNotNumeric)?; - self.doc.increment(&obj, prop, value as i64)?; - Ok(()) - } - - #[wasm_bindgen(js_name = get)] - pub fn get( - &self, - obj: JsValue, - prop: JsValue, - heads: Option, - ) -> Result { - let (obj, _) = self.import(obj)?; - let prop = to_prop(prop); - let heads = get_heads(heads)?; - if let Ok(prop) = prop { - let value = if let Some(h) = heads { - self.doc.get_at(&obj, prop, &h)? - } else { - self.doc.get(&obj, prop)? - }; - if let Some((value, id)) = value { - match alloc(&value, self.text_rep) { - (datatype, js_value) if datatype.is_scalar() => Ok(js_value), - _ => Ok(id.to_string().into()), - } - } else { - Ok(JsValue::undefined()) - } - } else { - Ok(JsValue::undefined()) - } - } - - #[wasm_bindgen(js_name = getWithType)] - pub fn get_with_type( - &self, - obj: JsValue, - prop: JsValue, - heads: Option, - ) -> Result { - let (obj, _) = self.import(obj)?; - let prop = to_prop(prop); - let heads = get_heads(heads)?; - if let Ok(prop) = prop { - let value = if let Some(h) = heads { - self.doc.get_at(&obj, prop, &h)? - } else { - self.doc.get(&obj, prop)? - }; - if let Some(value) = value { - match &value { - (Value::Object(obj_type), obj_id) => { - let result = Array::new(); - result.push(&obj_type.to_string().into()); - result.push(&obj_id.to_string().into()); - Ok(result.into()) - } - (Value::Scalar(_), _) => { - let result = Array::new(); - let (datatype, value) = alloc(&value.0, self.text_rep); - result.push(&datatype.into()); - result.push(&value); - Ok(result.into()) - } - } - } else { - Ok(JsValue::null()) - } - } else { - Ok(JsValue::null()) - } - } - - #[wasm_bindgen(js_name = getAll)] - pub fn get_all( - &self, - obj: JsValue, - arg: JsValue, - heads: Option, - ) -> Result { - let (obj, _) = self.import(obj)?; - let result = Array::new(); - let prop = to_prop(arg); - if let Ok(prop) = prop { - let values = if let Some(heads) = get_heads(heads)? { - self.doc.get_all_at(&obj, prop, &heads) - } else { - self.doc.get_all(&obj, prop) - }?; - for (value, id) in values { - let sub = Array::new(); - let (datatype, js_value) = alloc(&value, self.text_rep); - sub.push(&datatype.into()); - if value.is_scalar() { - sub.push(&js_value); - } - sub.push(&id.to_string().into()); - result.push(&JsValue::from(&sub)); - } - } - Ok(result) - } - - #[wasm_bindgen(js_name = enableFreeze)] - pub fn enable_freeze(&mut self, enable: JsValue) -> Result { - let enable = enable - .as_bool() - .ok_or_else(|| to_js_err("must pass a bool to enableFreeze"))?; - let old_freeze = self.freeze; - self.freeze = enable; - Ok(old_freeze.into()) - } - - #[wasm_bindgen(js_name = enablePatches)] - pub fn enable_patches(&mut self, enable: JsValue) -> Result { - let enable = enable - .as_bool() - .ok_or_else(|| to_js_err("must pass a bool to enablePatches"))?; - let old_enabled = self.doc.observer().enable(enable); - self.doc.observer().set_text_rep(self.text_rep); - Ok(old_enabled.into()) - } - - #[wasm_bindgen(js_name = registerDatatype)] - pub fn register_datatype( - &mut self, - datatype: JsValue, - function: JsValue, - ) -> Result<(), value::InvalidDatatype> { - let datatype = Datatype::try_from(datatype)?; - if let Ok(function) = function.dyn_into::() { - self.external_types.insert(datatype, function); - } else { - self.external_types.remove(&datatype); - } - Ok(()) - } - - #[wasm_bindgen(js_name = applyPatches)] - pub fn apply_patches( - &mut self, - object: JsValue, - meta: JsValue, - callback: JsValue, - ) -> Result { - let mut object = object - .dyn_into::() - .map_err(|_| error::ApplyPatch::NotObjectd)?; - let patches = self.doc.observer().take_patches(); - let callback = callback.dyn_into::().ok(); - - // even if there are no patches we may need to update the meta object - // which requires that we update the object too - if patches.is_empty() && !meta.is_undefined() { - let (obj, datatype, id) = self.unwrap_object(&object)?; - object = Object::assign(&Object::new(), &obj); - object = self.wrap_object(object, datatype, &id, &meta)?; - } - - let mut exposed = HashSet::default(); - - let before = object.clone(); - - for p in &patches { - object = self.apply_patch(object, p, 0, &meta, &mut exposed)?; - } - - if let Some(c) = &callback { - if !patches.is_empty() { - let patches: Array = patches - .into_iter() - .map(JsValue::try_from) - .collect::>()?; - c.call3(&JsValue::undefined(), &patches.into(), &before, &object) - .map_err(error::ApplyPatch::PatchCallback)?; - } - } - - self.finalize_exposed(&object, exposed, &meta)?; - - Ok(object.into()) - } - - #[wasm_bindgen(js_name = popPatches)] - pub fn pop_patches(&mut self) -> Result { - // transactions send out observer updates as they occur, not waiting for them to be - // committed. - // If we pop the patches then we won't be able to revert them. - - let patches = self.doc.observer().take_patches(); - let result = Array::new(); - for p in patches { - result.push(&p.try_into()?); - } - Ok(result) - } - - pub fn length(&self, obj: JsValue, heads: Option) -> Result { - let (obj, _) = self.import(obj)?; - if let Some(heads) = get_heads(heads)? { - Ok(self.doc.length_at(&obj, &heads) as f64) - } else { - Ok(self.doc.length(&obj) as f64) - } - } - - pub fn delete(&mut self, obj: JsValue, prop: JsValue) -> Result<(), error::Get> { - let (obj, _) = self.import(obj)?; - let prop = to_prop(prop)?; - self.doc.delete(&obj, prop)?; - Ok(()) - } - - pub fn save(&mut self) -> Uint8Array { - Uint8Array::from(self.doc.save().as_slice()) - } - - #[wasm_bindgen(js_name = saveIncremental)] - pub fn save_incremental(&mut self) -> Uint8Array { - let bytes = self.doc.save_incremental(); - Uint8Array::from(bytes.as_slice()) - } - - #[wasm_bindgen(js_name = loadIncremental)] - pub fn load_incremental(&mut self, data: Uint8Array) -> Result { - let data = data.to_vec(); - let len = self.doc.load_incremental(&data)?; - Ok(len as f64) - } - - #[wasm_bindgen(js_name = applyChanges)] - pub fn apply_changes(&mut self, changes: JsValue) -> Result<(), error::ApplyChangesError> { - let changes: Vec<_> = JS(changes).try_into()?; - self.doc.apply_changes(changes)?; - Ok(()) - } - - #[wasm_bindgen(js_name = getChanges)] - pub fn get_changes(&mut self, have_deps: JsValue) -> Result { - let deps: Vec<_> = JS(have_deps).try_into()?; - let changes = self.doc.get_changes(&deps)?; - let changes: Array = changes - .iter() - .map(|c| Uint8Array::from(c.raw_bytes())) - .collect(); - Ok(changes) - } - - #[wasm_bindgen(js_name = getChangeByHash)] - pub fn get_change_by_hash( - &mut self, - hash: JsValue, - ) -> Result { - let hash = JS(hash).try_into()?; - let change = self.doc.get_change_by_hash(&hash); - if let Some(c) = change { - Ok(Uint8Array::from(c.raw_bytes()).into()) - } else { - Ok(JsValue::null()) - } - } - - #[wasm_bindgen(js_name = getChangesAdded)] - pub fn get_changes_added(&mut self, other: &mut Automerge) -> Array { - let changes = self.doc.get_changes_added(&mut other.doc); - let changes: Array = changes - .iter() - .map(|c| Uint8Array::from(c.raw_bytes())) - .collect(); - changes - } - - #[wasm_bindgen(js_name = getHeads)] - pub fn get_heads(&mut self) -> Array { - let heads = self.doc.get_heads(); - let heads: Array = heads - .iter() - .map(|h| JsValue::from_str(&hex::encode(h.0))) - .collect(); - heads - } - - #[wasm_bindgen(js_name = getActorId)] - pub fn get_actor_id(&self) -> String { - let actor = self.doc.get_actor(); - actor.to_string() - } - - #[wasm_bindgen(js_name = getLastLocalChange)] - pub fn get_last_local_change(&mut self) -> JsValue { - if let Some(change) = self.doc.get_last_local_change() { - Uint8Array::from(change.raw_bytes()).into() - } else { - JsValue::null() - } - } - - pub fn dump(&mut self) { - self.doc.dump() - } - - #[wasm_bindgen(js_name = getMissingDeps)] - pub fn get_missing_deps(&mut self, heads: Option) -> Result { - let heads = get_heads(heads)?.unwrap_or_default(); - let deps = self.doc.get_missing_deps(&heads); - let deps: Array = deps - .iter() - .map(|h| JsValue::from_str(&hex::encode(h.0))) - .collect(); - Ok(deps) - } - - #[wasm_bindgen(js_name = receiveSyncMessage)] - pub fn receive_sync_message( - &mut self, - state: &mut SyncState, - message: Uint8Array, - ) -> Result<(), error::ReceiveSyncMessage> { - let message = message.to_vec(); - let message = am::sync::Message::decode(message.as_slice())?; - self.doc - .sync() - .receive_sync_message(&mut state.0, message)?; - Ok(()) - } - - #[wasm_bindgen(js_name = generateSyncMessage)] - pub fn generate_sync_message(&mut self, state: &mut SyncState) -> JsValue { - if let Some(message) = self.doc.sync().generate_sync_message(&mut state.0) { - Uint8Array::from(message.encode().as_slice()).into() - } else { - JsValue::null() - } - } - - #[wasm_bindgen(js_name = toJS)] - pub fn to_js(&mut self, meta: JsValue) -> Result { - self.export_object(&ROOT, Datatype::Map, None, &meta) - } - - pub fn materialize( - &mut self, - obj: JsValue, - heads: Option, - meta: JsValue, - ) -> Result { - let (obj, obj_type) = self.import(obj).unwrap_or((ROOT, am::ObjType::Map)); - let heads = get_heads(heads)?; - let _patches = self.doc.observer().take_patches(); // throw away patches - Ok(self.export_object(&obj, obj_type.into(), heads.as_ref(), &meta)?) - } - - #[wasm_bindgen(js_name = emptyChange)] - pub fn empty_change(&mut self, message: Option, time: Option) -> JsValue { - let time = time.map(|f| f as i64); - let options = CommitOptions { message, time }; - let hash = self.doc.empty_change(options); - JsValue::from_str(&hex::encode(hash)) - } -} - -#[wasm_bindgen(js_name = create)] -pub fn init(text_v2: bool, actor: Option) -> Result { - console_error_panic_hook::set_once(); - let text_rep = if text_v2 { - TextRepresentation::String - } else { - TextRepresentation::Array - }; - Automerge::new(actor, text_rep) -} - -#[wasm_bindgen(js_name = load)] -pub fn load( - data: Uint8Array, - text_v2: bool, - actor: Option, -) -> Result { - let data = data.to_vec(); - let text_rep = if text_v2 { - TextRepresentation::String - } else { - TextRepresentation::Array - }; - let mut doc = am::AutoCommitWithObs::::load(&data)? - .with_observer(Observer::default().with_text_rep(text_rep)) - .with_encoding(TextEncoding::Utf16); - if let Some(s) = actor { - let actor = - automerge::ActorId::from(hex::decode(s).map_err(error::BadActorId::from)?.to_vec()); - doc.set_actor(actor); - } - Ok(Automerge { - doc, - freeze: false, - external_types: HashMap::default(), - text_rep, - }) -} - -#[wasm_bindgen(js_name = encodeChange)] -pub fn encode_change(change: JsValue) -> Result { - // Alex: Technically we should be using serde_wasm_bindgen::from_value instead of into_serde. - // Unfortunately serde_wasm_bindgen::from_value fails for some inscrutable reason, so instead - // we use into_serde (sorry to future me). - #[allow(deprecated)] - let change: am::ExpandedChange = change.into_serde()?; - let change: Change = change.into(); - Ok(Uint8Array::from(change.raw_bytes())) -} - -#[wasm_bindgen(js_name = decodeChange)] -pub fn decode_change(change: Uint8Array) -> Result { - let change = Change::from_bytes(change.to_vec())?; - let change: am::ExpandedChange = change.decode(); - let serializer = serde_wasm_bindgen::Serializer::json_compatible(); - Ok(change.serialize(&serializer)?) -} - -#[wasm_bindgen(js_name = initSyncState)] -pub fn init_sync_state() -> SyncState { - SyncState(am::sync::State::new()) -} - -// this is needed to be compatible with the automerge-js api -#[wasm_bindgen(js_name = importSyncState)] -pub fn import_sync_state(state: JsValue) -> Result { - Ok(SyncState(JS(state).try_into()?)) -} - -// this is needed to be compatible with the automerge-js api -#[wasm_bindgen(js_name = exportSyncState)] -pub fn export_sync_state(state: &SyncState) -> JsValue { - JS::from(state.0.clone()).into() -} - -#[wasm_bindgen(js_name = encodeSyncMessage)] -pub fn encode_sync_message(message: JsValue) -> Result { - let message: am::sync::Message = JS(message).try_into()?; - Ok(Uint8Array::from(message.encode().as_slice())) -} - -#[wasm_bindgen(js_name = decodeSyncMessage)] -pub fn decode_sync_message(msg: Uint8Array) -> Result { - let data = msg.to_vec(); - let msg = am::sync::Message::decode(&data)?; - let heads = AR::from(msg.heads.as_slice()); - let need = AR::from(msg.need.as_slice()); - let changes = AR::from(msg.changes.as_slice()); - let have = AR::from(msg.have.as_slice()); - let obj = Object::new().into(); - // SAFETY: we just created this object - js_set(&obj, "heads", heads).unwrap(); - js_set(&obj, "need", need).unwrap(); - js_set(&obj, "have", have).unwrap(); - js_set(&obj, "changes", changes).unwrap(); - Ok(obj) -} - -#[wasm_bindgen(js_name = encodeSyncState)] -pub fn encode_sync_state(state: &SyncState) -> Uint8Array { - Uint8Array::from(state.0.encode().as_slice()) -} - -#[wasm_bindgen(js_name = decodeSyncState)] -pub fn decode_sync_state(data: Uint8Array) -> Result { - SyncState::decode(data) -} - -pub mod error { - use automerge::AutomergeError; - use wasm_bindgen::JsValue; - - use crate::interop::{ - self, - error::{BadChangeHashes, BadJSChanges}, - }; - - #[derive(Debug, thiserror::Error)] - #[error("could not parse Actor ID as a hex string: {0}")] - pub struct BadActorId(#[from] hex::FromHexError); - - impl From for JsValue { - fn from(s: BadActorId) -> Self { - JsValue::from(s.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum ApplyChangesError { - #[error(transparent)] - DecodeChanges(#[from] BadJSChanges), - #[error("error applying changes: {0}")] - Apply(#[from] AutomergeError), - } - - impl From for JsValue { - fn from(e: ApplyChangesError) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum Fork { - #[error(transparent)] - BadActor(#[from] BadActorId), - #[error(transparent)] - Automerge(#[from] AutomergeError), - #[error(transparent)] - BadChangeHashes(#[from] BadChangeHashes), - } - - impl From for JsValue { - fn from(f: Fork) -> Self { - JsValue::from(f.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - #[error(transparent)] - pub struct Merge(#[from] AutomergeError); - - impl From for JsValue { - fn from(e: Merge) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum Get { - #[error("invalid object ID: {0}")] - ImportObj(#[from] interop::error::ImportObj), - #[error(transparent)] - Automerge(#[from] AutomergeError), - #[error("bad heads: {0}")] - BadHeads(#[from] interop::error::BadChangeHashes), - #[error(transparent)] - InvalidProp(#[from] interop::error::InvalidProp), - } - - impl From for JsValue { - fn from(e: Get) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum Splice { - #[error("invalid object ID: {0}")] - ImportObj(#[from] interop::error::ImportObj), - #[error(transparent)] - Automerge(#[from] AutomergeError), - #[error("value at {0} in values to insert was not a primitive")] - ValueNotPrimitive(usize), - } - - impl From for JsValue { - fn from(e: Splice) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum Insert { - #[error("invalid object id: {0}")] - ImportObj(#[from] interop::error::ImportObj), - #[error("the value to insert was not a primitive")] - ValueNotPrimitive, - #[error(transparent)] - Automerge(#[from] AutomergeError), - #[error(transparent)] - InvalidProp(#[from] interop::error::InvalidProp), - #[error(transparent)] - InvalidValue(#[from] interop::error::InvalidValue), - } - - impl From for JsValue { - fn from(e: Insert) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum InsertObject { - #[error("invalid object id: {0}")] - ImportObj(#[from] interop::error::ImportObj), - #[error("the value to insert must be an object")] - ValueNotObject, - #[error(transparent)] - Automerge(#[from] AutomergeError), - #[error(transparent)] - InvalidProp(#[from] interop::error::InvalidProp), - #[error(transparent)] - InvalidValue(#[from] interop::error::InvalidValue), - } - - impl From for JsValue { - fn from(e: InsertObject) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum Increment { - #[error("invalid object id: {0}")] - ImportObj(#[from] interop::error::ImportObj), - #[error(transparent)] - InvalidProp(#[from] interop::error::InvalidProp), - #[error("value was not numeric")] - ValueNotNumeric, - #[error(transparent)] - Automerge(#[from] AutomergeError), - } - - impl From for JsValue { - fn from(e: Increment) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum BadSyncMessage { - #[error("could not decode sync message: {0}")] - ReadMessage(#[from] automerge::sync::ReadMessageError), - } - - impl From for JsValue { - fn from(e: BadSyncMessage) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum ApplyPatch { - #[error(transparent)] - Interop(#[from] interop::error::ApplyPatch), - #[error(transparent)] - Export(#[from] interop::error::Export), - #[error("patch was not an object")] - NotObjectd, - #[error("error calling patch callback: {0:?}")] - PatchCallback(JsValue), - } - - impl From for JsValue { - fn from(e: ApplyPatch) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - #[error("unable to build patches: {0}")] - pub struct PopPatches(#[from] interop::error::Export); - - impl From for JsValue { - fn from(e: PopPatches) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum Materialize { - #[error(transparent)] - Export(#[from] interop::error::Export), - #[error("bad heads: {0}")] - Heads(#[from] interop::error::BadChangeHashes), - } - - impl From for JsValue { - fn from(e: Materialize) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum ReceiveSyncMessage { - #[error(transparent)] - Decode(#[from] automerge::sync::ReadMessageError), - #[error(transparent)] - Automerge(#[from] AutomergeError), - } - - impl From for JsValue { - fn from(e: ReceiveSyncMessage) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum Load { - #[error(transparent)] - Automerge(#[from] AutomergeError), - #[error(transparent)] - BadActor(#[from] BadActorId), - } - - impl From for JsValue { - fn from(e: Load) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - #[error("Unable to read JS change: {0}")] - pub struct EncodeChange(#[from] serde_json::Error); - - impl From for JsValue { - fn from(e: EncodeChange) -> Self { - JsValue::from(e.to_string()) - } - } - - #[derive(Debug, thiserror::Error)] - pub enum DecodeChange { - #[error(transparent)] - Load(#[from] automerge::LoadChangeError), - #[error(transparent)] - Serialize(#[from] serde_wasm_bindgen::Error), - } - - impl From for JsValue { - fn from(e: DecodeChange) -> Self { - JsValue::from(e.to_string()) - } - } -} diff --git a/rust/automerge-wasm/src/observer.rs b/rust/automerge-wasm/src/observer.rs deleted file mode 100644 index 2351c762..00000000 --- a/rust/automerge-wasm/src/observer.rs +++ /dev/null @@ -1,518 +0,0 @@ -#![allow(dead_code)] - -use std::borrow::Cow; - -use crate::{ - interop::{self, alloc, js_set}, - TextRepresentation, -}; -use automerge::{ObjId, OpObserver, Prop, ReadDoc, ScalarValue, Value}; -use js_sys::{Array, Object}; -use wasm_bindgen::prelude::*; - -use crate::sequence_tree::SequenceTree; - -#[derive(Debug, Clone, Default)] -pub(crate) struct Observer { - enabled: bool, - patches: Vec, - text_rep: TextRepresentation, -} - -impl Observer { - pub(crate) fn take_patches(&mut self) -> Vec { - std::mem::take(&mut self.patches) - } - pub(crate) fn enable(&mut self, enable: bool) -> bool { - if self.enabled && !enable { - self.patches.truncate(0) - } - let old_enabled = self.enabled; - self.enabled = enable; - old_enabled - } - - fn get_path(&mut self, doc: &R, obj: &ObjId) -> Option> { - match doc.parents(obj) { - Ok(parents) => parents.visible_path(), - Err(e) => { - automerge::log!("error generating patch : {:?}", e); - None - } - } - } - - pub(crate) fn with_text_rep(mut self, text_rep: TextRepresentation) -> Self { - self.text_rep = text_rep; - self - } - - pub(crate) fn set_text_rep(&mut self, text_rep: TextRepresentation) { - self.text_rep = text_rep; - } -} - -#[derive(Debug, Clone)] -pub(crate) enum Patch { - PutMap { - obj: ObjId, - path: Vec<(ObjId, Prop)>, - key: String, - value: (Value<'static>, ObjId), - expose: bool, - }, - PutSeq { - obj: ObjId, - path: Vec<(ObjId, Prop)>, - index: usize, - value: (Value<'static>, ObjId), - expose: bool, - }, - Insert { - obj: ObjId, - path: Vec<(ObjId, Prop)>, - index: usize, - values: SequenceTree<(Value<'static>, ObjId)>, - }, - SpliceText { - obj: ObjId, - path: Vec<(ObjId, Prop)>, - index: usize, - value: SequenceTree, - }, - Increment { - obj: ObjId, - path: Vec<(ObjId, Prop)>, - prop: Prop, - value: i64, - }, - DeleteMap { - obj: ObjId, - path: Vec<(ObjId, Prop)>, - key: String, - }, - DeleteSeq { - obj: ObjId, - path: Vec<(ObjId, Prop)>, - index: usize, - length: usize, - }, -} - -impl OpObserver for Observer { - fn insert( - &mut self, - doc: &R, - obj: ObjId, - index: usize, - tagged_value: (Value<'_>, ObjId), - ) { - if self.enabled { - let value = (tagged_value.0.to_owned(), tagged_value.1); - if let Some(Patch::Insert { - obj: tail_obj, - index: tail_index, - values, - .. - }) = self.patches.last_mut() - { - let range = *tail_index..=*tail_index + values.len(); - if tail_obj == &obj && range.contains(&index) { - values.insert(index - *tail_index, value); - return; - } - } - if let Some(path) = self.get_path(doc, &obj) { - let mut values = SequenceTree::new(); - values.push(value); - let patch = Patch::Insert { - path, - obj, - index, - values, - }; - self.patches.push(patch); - } - } - } - - fn splice_text(&mut self, doc: &R, obj: ObjId, index: usize, value: &str) { - if self.enabled { - if self.text_rep == TextRepresentation::Array { - for (i, c) in value.chars().enumerate() { - self.insert( - doc, - obj.clone(), - index + i, - ( - Value::Scalar(Cow::Owned(ScalarValue::Str(c.to_string().into()))), - ObjId::Root, // We hope this is okay - ), - ); - } - return; - } - if let Some(Patch::SpliceText { - obj: tail_obj, - index: tail_index, - value: prev_value, - .. - }) = self.patches.last_mut() - { - let range = *tail_index..=*tail_index + prev_value.len(); - if tail_obj == &obj && range.contains(&index) { - let i = index - *tail_index; - for (n, ch) in value.encode_utf16().enumerate() { - prev_value.insert(i + n, ch) - } - return; - } - } - if let Some(path) = self.get_path(doc, &obj) { - let mut v = SequenceTree::new(); - for ch in value.encode_utf16() { - v.push(ch) - } - let patch = Patch::SpliceText { - path, - obj, - index, - value: v, - }; - self.patches.push(patch); - } - } - } - - fn delete_seq(&mut self, doc: &R, obj: ObjId, index: usize, length: usize) { - if self.enabled { - match self.patches.last_mut() { - Some(Patch::SpliceText { - obj: tail_obj, - index: tail_index, - value, - .. - }) => { - let range = *tail_index..*tail_index + value.len(); - if tail_obj == &obj - && range.contains(&index) - && range.contains(&(index + length - 1)) - { - for _ in 0..length { - value.remove(index - *tail_index); - } - return; - } - } - Some(Patch::Insert { - obj: tail_obj, - index: tail_index, - values, - .. - }) => { - let range = *tail_index..*tail_index + values.len(); - if tail_obj == &obj - && range.contains(&index) - && range.contains(&(index + length - 1)) - { - for _ in 0..length { - values.remove(index - *tail_index); - } - return; - } - } - Some(Patch::DeleteSeq { - obj: tail_obj, - index: tail_index, - length: tail_length, - .. - }) => { - if tail_obj == &obj && index == *tail_index { - *tail_length += length; - return; - } - } - _ => {} - } - if let Some(path) = self.get_path(doc, &obj) { - let patch = Patch::DeleteSeq { - path, - obj, - index, - length, - }; - self.patches.push(patch) - } - } - } - - fn delete_map(&mut self, doc: &R, obj: ObjId, key: &str) { - if self.enabled { - if let Some(path) = self.get_path(doc, &obj) { - let patch = Patch::DeleteMap { - path, - obj, - key: key.to_owned(), - }; - self.patches.push(patch) - } - } - } - - fn put( - &mut self, - doc: &R, - obj: ObjId, - prop: Prop, - tagged_value: (Value<'_>, ObjId), - _conflict: bool, - ) { - if self.enabled { - let expose = false; - if let Some(path) = self.get_path(doc, &obj) { - let value = (tagged_value.0.to_owned(), tagged_value.1); - let patch = match prop { - Prop::Map(key) => Patch::PutMap { - path, - obj, - key, - value, - expose, - }, - Prop::Seq(index) => Patch::PutSeq { - path, - obj, - index, - value, - expose, - }, - }; - self.patches.push(patch); - } - } - } - - fn expose( - &mut self, - doc: &R, - obj: ObjId, - prop: Prop, - tagged_value: (Value<'_>, ObjId), - _conflict: bool, - ) { - if self.enabled { - let expose = true; - if let Some(path) = self.get_path(doc, &obj) { - let value = (tagged_value.0.to_owned(), tagged_value.1); - let patch = match prop { - Prop::Map(key) => Patch::PutMap { - path, - obj, - key, - value, - expose, - }, - Prop::Seq(index) => Patch::PutSeq { - path, - obj, - index, - value, - expose, - }, - }; - self.patches.push(patch); - } - } - } - - fn increment( - &mut self, - doc: &R, - obj: ObjId, - prop: Prop, - tagged_value: (i64, ObjId), - ) { - if self.enabled { - if let Some(path) = self.get_path(doc, &obj) { - let value = tagged_value.0; - self.patches.push(Patch::Increment { - path, - obj, - prop, - value, - }) - } - } - } - - fn text_as_seq(&self) -> bool { - self.text_rep == TextRepresentation::Array - } -} - -impl automerge::op_observer::BranchableObserver for Observer { - fn merge(&mut self, other: &Self) { - self.patches.extend_from_slice(other.patches.as_slice()) - } - - fn branch(&self) -> Self { - Observer { - patches: vec![], - enabled: self.enabled, - text_rep: self.text_rep, - } - } -} - -fn prop_to_js(p: &Prop) -> JsValue { - match p { - Prop::Map(key) => JsValue::from_str(key), - Prop::Seq(index) => JsValue::from_f64(*index as f64), - } -} - -fn export_path(path: &[(ObjId, Prop)], end: &Prop) -> Array { - let result = Array::new(); - for p in path { - result.push(&prop_to_js(&p.1)); - } - result.push(&prop_to_js(end)); - result -} - -impl Patch { - pub(crate) fn path(&self) -> &[(ObjId, Prop)] { - match &self { - Self::PutMap { path, .. } => path.as_slice(), - Self::PutSeq { path, .. } => path.as_slice(), - Self::Increment { path, .. } => path.as_slice(), - Self::Insert { path, .. } => path.as_slice(), - Self::SpliceText { path, .. } => path.as_slice(), - Self::DeleteMap { path, .. } => path.as_slice(), - Self::DeleteSeq { path, .. } => path.as_slice(), - } - } - - pub(crate) fn obj(&self) -> &ObjId { - match &self { - Self::PutMap { obj, .. } => obj, - Self::PutSeq { obj, .. } => obj, - Self::Increment { obj, .. } => obj, - Self::Insert { obj, .. } => obj, - Self::SpliceText { obj, .. } => obj, - Self::DeleteMap { obj, .. } => obj, - Self::DeleteSeq { obj, .. } => obj, - } - } -} - -impl TryFrom for JsValue { - type Error = interop::error::Export; - - fn try_from(p: Patch) -> Result { - let result = Object::new(); - match p { - Patch::PutMap { - path, key, value, .. - } => { - js_set(&result, "action", "put")?; - js_set( - &result, - "path", - export_path(path.as_slice(), &Prop::Map(key)), - )?; - js_set( - &result, - "value", - alloc(&value.0, TextRepresentation::String).1, - )?; - Ok(result.into()) - } - Patch::PutSeq { - path, index, value, .. - } => { - js_set(&result, "action", "put")?; - js_set( - &result, - "path", - export_path(path.as_slice(), &Prop::Seq(index)), - )?; - js_set( - &result, - "value", - alloc(&value.0, TextRepresentation::String).1, - )?; - Ok(result.into()) - } - Patch::Insert { - path, - index, - values, - .. - } => { - js_set(&result, "action", "insert")?; - js_set( - &result, - "path", - export_path(path.as_slice(), &Prop::Seq(index)), - )?; - js_set( - &result, - "values", - values - .iter() - .map(|v| alloc(&v.0, TextRepresentation::String).1) - .collect::(), - )?; - Ok(result.into()) - } - Patch::SpliceText { - path, index, value, .. - } => { - js_set(&result, "action", "splice")?; - js_set( - &result, - "path", - export_path(path.as_slice(), &Prop::Seq(index)), - )?; - let bytes: Vec = value.iter().cloned().collect(); - js_set(&result, "value", String::from_utf16_lossy(bytes.as_slice()))?; - Ok(result.into()) - } - Patch::Increment { - path, prop, value, .. - } => { - js_set(&result, "action", "inc")?; - js_set(&result, "path", export_path(path.as_slice(), &prop))?; - js_set(&result, "value", &JsValue::from_f64(value as f64))?; - Ok(result.into()) - } - Patch::DeleteMap { path, key, .. } => { - js_set(&result, "action", "del")?; - js_set( - &result, - "path", - export_path(path.as_slice(), &Prop::Map(key)), - )?; - Ok(result.into()) - } - Patch::DeleteSeq { - path, - index, - length, - .. - } => { - js_set(&result, "action", "del")?; - js_set( - &result, - "path", - export_path(path.as_slice(), &Prop::Seq(index)), - )?; - if length > 1 { - js_set(&result, "length", length)?; - } - Ok(result.into()) - } - } - } -} diff --git a/rust/automerge-wasm/src/sequence_tree.rs b/rust/automerge-wasm/src/sequence_tree.rs deleted file mode 100644 index 91b183a2..00000000 --- a/rust/automerge-wasm/src/sequence_tree.rs +++ /dev/null @@ -1,617 +0,0 @@ -use std::{ - cmp::{min, Ordering}, - fmt::Debug, - mem, -}; - -pub(crate) const B: usize = 16; -pub(crate) type SequenceTree = SequenceTreeInternal; - -#[derive(Clone, Debug)] -pub(crate) struct SequenceTreeInternal { - root_node: Option>, -} - -#[derive(Clone, Debug, PartialEq)] -struct SequenceTreeNode { - elements: Vec, - children: Vec>, - length: usize, -} - -impl SequenceTreeInternal -where - T: Clone + Debug, -{ - /// Construct a new, empty, sequence. - pub(crate) fn new() -> Self { - Self { root_node: None } - } - - /// Get the length of the sequence. - pub(crate) fn len(&self) -> usize { - self.root_node.as_ref().map_or(0, |n| n.len()) - } - - /// Create an iterator through the sequence. - pub(crate) fn iter(&self) -> Iter<'_, T> { - Iter { - inner: self, - index: 0, - } - } - - /// Insert the `element` into the sequence at `index`. - /// - /// # Panics - /// - /// Panics if `index > len`. - pub(crate) fn insert(&mut self, index: usize, element: T) { - let old_len = self.len(); - if let Some(root) = self.root_node.as_mut() { - #[cfg(debug_assertions)] - root.check(); - - if root.is_full() { - let original_len = root.len(); - let new_root = SequenceTreeNode::new(); - - // move new_root to root position - let old_root = mem::replace(root, new_root); - - root.length += old_root.len(); - root.children.push(old_root); - root.split_child(0); - - assert_eq!(original_len, root.len()); - - // after splitting the root has one element and two children, find which child the - // index is in - let first_child_len = root.children[0].len(); - let (child, insertion_index) = if first_child_len < index { - (&mut root.children[1], index - (first_child_len + 1)) - } else { - (&mut root.children[0], index) - }; - root.length += 1; - child.insert_into_non_full_node(insertion_index, element) - } else { - root.insert_into_non_full_node(index, element) - } - } else { - self.root_node = Some(SequenceTreeNode { - elements: vec![element], - children: Vec::new(), - length: 1, - }) - } - assert_eq!(self.len(), old_len + 1, "{:#?}", self); - } - - /// Push the `element` onto the back of the sequence. - pub(crate) fn push(&mut self, element: T) { - let l = self.len(); - self.insert(l, element) - } - - /// Get the `element` at `index` in the sequence. - pub(crate) fn get(&self, index: usize) -> Option<&T> { - self.root_node.as_ref().and_then(|n| n.get(index)) - } - - /// Removes the element at `index` from the sequence. - /// - /// # Panics - /// - /// Panics if `index` is out of bounds. - pub(crate) fn remove(&mut self, index: usize) -> T { - if let Some(root) = self.root_node.as_mut() { - #[cfg(debug_assertions)] - let len = root.check(); - let old = root.remove(index); - - if root.elements.is_empty() { - if root.is_leaf() { - self.root_node = None; - } else { - self.root_node = Some(root.children.remove(0)); - } - } - - #[cfg(debug_assertions)] - debug_assert_eq!(len, self.root_node.as_ref().map_or(0, |r| r.check()) + 1); - old - } else { - panic!("remove from empty tree") - } - } -} - -impl SequenceTreeNode -where - T: Clone + Debug, -{ - fn new() -> Self { - Self { - elements: Vec::new(), - children: Vec::new(), - length: 0, - } - } - - pub(crate) fn len(&self) -> usize { - self.length - } - - fn is_leaf(&self) -> bool { - self.children.is_empty() - } - - fn is_full(&self) -> bool { - self.elements.len() >= 2 * B - 1 - } - - /// Returns the child index and the given index adjusted for the cumulative index before that - /// child. - fn find_child_index(&self, index: usize) -> (usize, usize) { - let mut cumulative_len = 0; - for (child_index, child) in self.children.iter().enumerate() { - if cumulative_len + child.len() >= index { - return (child_index, index - cumulative_len); - } else { - cumulative_len += child.len() + 1; - } - } - panic!("index not found in node") - } - - fn insert_into_non_full_node(&mut self, index: usize, element: T) { - assert!(!self.is_full()); - if self.is_leaf() { - self.length += 1; - self.elements.insert(index, element); - } else { - let (child_index, sub_index) = self.find_child_index(index); - let child = &mut self.children[child_index]; - - if child.is_full() { - self.split_child(child_index); - - // child structure has changed so we need to find the index again - let (child_index, sub_index) = self.find_child_index(index); - let child = &mut self.children[child_index]; - child.insert_into_non_full_node(sub_index, element); - } else { - child.insert_into_non_full_node(sub_index, element); - } - self.length += 1; - } - } - - // A utility function to split the child `full_child_index` of this node - // Note that `full_child_index` must be full when this function is called. - fn split_child(&mut self, full_child_index: usize) { - let original_len_self = self.len(); - - // Create a new node which is going to store (B-1) keys - // of the full child. - let mut successor_sibling = SequenceTreeNode::new(); - - let full_child = &mut self.children[full_child_index]; - let original_len = full_child.len(); - assert!(full_child.is_full()); - - successor_sibling.elements = full_child.elements.split_off(B); - - if !full_child.is_leaf() { - successor_sibling.children = full_child.children.split_off(B); - } - - let middle = full_child.elements.pop().unwrap(); - - full_child.length = - full_child.elements.len() + full_child.children.iter().map(|c| c.len()).sum::(); - - successor_sibling.length = successor_sibling.elements.len() - + successor_sibling - .children - .iter() - .map(|c| c.len()) - .sum::(); - - let z_len = successor_sibling.len(); - - let full_child_len = full_child.len(); - - self.children - .insert(full_child_index + 1, successor_sibling); - - self.elements.insert(full_child_index, middle); - - assert_eq!(full_child_len + z_len + 1, original_len, "{:#?}", self); - - assert_eq!(original_len_self, self.len()); - } - - fn remove_from_leaf(&mut self, index: usize) -> T { - self.length -= 1; - self.elements.remove(index) - } - - fn remove_element_from_non_leaf(&mut self, index: usize, element_index: usize) -> T { - self.length -= 1; - if self.children[element_index].elements.len() >= B { - let total_index = self.cumulative_index(element_index); - // recursively delete index - 1 in predecessor_node - let predecessor = self.children[element_index].remove(index - 1 - total_index); - // replace element with that one - mem::replace(&mut self.elements[element_index], predecessor) - } else if self.children[element_index + 1].elements.len() >= B { - // recursively delete index + 1 in successor_node - let total_index = self.cumulative_index(element_index + 1); - let successor = self.children[element_index + 1].remove(index + 1 - total_index); - // replace element with that one - mem::replace(&mut self.elements[element_index], successor) - } else { - let middle_element = self.elements.remove(element_index); - let successor_child = self.children.remove(element_index + 1); - self.children[element_index].merge(middle_element, successor_child); - - let total_index = self.cumulative_index(element_index); - self.children[element_index].remove(index - total_index) - } - } - - fn cumulative_index(&self, child_index: usize) -> usize { - self.children[0..child_index] - .iter() - .map(|c| c.len() + 1) - .sum() - } - - fn remove_from_internal_child(&mut self, index: usize, mut child_index: usize) -> T { - if self.children[child_index].elements.len() < B - && if child_index > 0 { - self.children[child_index - 1].elements.len() < B - } else { - true - } - && if child_index + 1 < self.children.len() { - self.children[child_index + 1].elements.len() < B - } else { - true - } - { - // if the child and its immediate siblings have B-1 elements merge the child - // with one sibling, moving an element from this node into the new merged node - // to be the median - - if child_index > 0 { - let middle = self.elements.remove(child_index - 1); - - // use the predessor sibling - let successor = self.children.remove(child_index); - child_index -= 1; - - self.children[child_index].merge(middle, successor); - } else { - let middle = self.elements.remove(child_index); - - // use the sucessor sibling - let successor = self.children.remove(child_index + 1); - - self.children[child_index].merge(middle, successor); - } - } else if self.children[child_index].elements.len() < B { - if child_index > 0 - && self - .children - .get(child_index - 1) - .map_or(false, |c| c.elements.len() >= B) - { - let last_element = self.children[child_index - 1].elements.pop().unwrap(); - assert!(!self.children[child_index - 1].elements.is_empty()); - self.children[child_index - 1].length -= 1; - - let parent_element = - mem::replace(&mut self.elements[child_index - 1], last_element); - - self.children[child_index] - .elements - .insert(0, parent_element); - self.children[child_index].length += 1; - - if let Some(last_child) = self.children[child_index - 1].children.pop() { - self.children[child_index - 1].length -= last_child.len(); - self.children[child_index].length += last_child.len(); - self.children[child_index].children.insert(0, last_child); - } - } else if self - .children - .get(child_index + 1) - .map_or(false, |c| c.elements.len() >= B) - { - let first_element = self.children[child_index + 1].elements.remove(0); - self.children[child_index + 1].length -= 1; - - assert!(!self.children[child_index + 1].elements.is_empty()); - - let parent_element = mem::replace(&mut self.elements[child_index], first_element); - - self.children[child_index].length += 1; - self.children[child_index].elements.push(parent_element); - - if !self.children[child_index + 1].is_leaf() { - let first_child = self.children[child_index + 1].children.remove(0); - self.children[child_index + 1].length -= first_child.len(); - self.children[child_index].length += first_child.len(); - - self.children[child_index].children.push(first_child); - } - } - } - self.length -= 1; - let total_index = self.cumulative_index(child_index); - self.children[child_index].remove(index - total_index) - } - - fn check(&self) -> usize { - let l = self.elements.len() + self.children.iter().map(|c| c.check()).sum::(); - assert_eq!(self.len(), l, "{:#?}", self); - - l - } - - pub(crate) fn remove(&mut self, index: usize) -> T { - let original_len = self.len(); - if self.is_leaf() { - let v = self.remove_from_leaf(index); - assert_eq!(original_len, self.len() + 1); - debug_assert_eq!(self.check(), self.len()); - v - } else { - let mut total_index = 0; - for (child_index, child) in self.children.iter().enumerate() { - match (total_index + child.len()).cmp(&index) { - Ordering::Less => { - // should be later on in the loop - total_index += child.len() + 1; - continue; - } - Ordering::Equal => { - let v = self.remove_element_from_non_leaf( - index, - min(child_index, self.elements.len() - 1), - ); - assert_eq!(original_len, self.len() + 1); - debug_assert_eq!(self.check(), self.len()); - return v; - } - Ordering::Greater => { - let v = self.remove_from_internal_child(index, child_index); - assert_eq!(original_len, self.len() + 1); - debug_assert_eq!(self.check(), self.len()); - return v; - } - } - } - panic!( - "index not found to remove {} {} {} {}", - index, - total_index, - self.len(), - self.check() - ); - } - } - - fn merge(&mut self, middle: T, successor_sibling: SequenceTreeNode) { - self.elements.push(middle); - self.elements.extend(successor_sibling.elements); - self.children.extend(successor_sibling.children); - self.length += successor_sibling.length + 1; - assert!(self.is_full()); - } - - pub(crate) fn get(&self, index: usize) -> Option<&T> { - if self.is_leaf() { - return self.elements.get(index); - } else { - let mut cumulative_len = 0; - for (child_index, child) in self.children.iter().enumerate() { - match (cumulative_len + child.len()).cmp(&index) { - Ordering::Less => { - cumulative_len += child.len() + 1; - } - Ordering::Equal => return self.elements.get(child_index), - Ordering::Greater => { - return child.get(index - cumulative_len); - } - } - } - } - None - } -} - -impl Default for SequenceTreeInternal -where - T: Clone + Debug, -{ - fn default() -> Self { - Self::new() - } -} - -impl PartialEq for SequenceTreeInternal -where - T: Clone + Debug + PartialEq, -{ - fn eq(&self, other: &Self) -> bool { - self.len() == other.len() && self.iter().zip(other.iter()).all(|(a, b)| a == b) - } -} - -impl<'a, T> IntoIterator for &'a SequenceTreeInternal -where - T: Clone + Debug, -{ - type Item = &'a T; - - type IntoIter = Iter<'a, T>; - - fn into_iter(self) -> Self::IntoIter { - Iter { - inner: self, - index: 0, - } - } -} - -#[derive(Debug)] -pub struct Iter<'a, T> { - inner: &'a SequenceTreeInternal, - index: usize, -} - -impl<'a, T> Iterator for Iter<'a, T> -where - T: Clone + Debug, -{ - type Item = &'a T; - - fn next(&mut self) -> Option { - self.index += 1; - self.inner.get(self.index - 1) - } - - fn nth(&mut self, n: usize) -> Option { - self.index += n + 1; - self.inner.get(self.index - 1) - } -} - -#[cfg(test)] -mod tests { - use proptest::prelude::*; - - use super::*; - - #[test] - fn push_back() { - let mut t = SequenceTree::new(); - - t.push(1); - t.push(2); - t.push(3); - t.push(4); - t.push(5); - t.push(6); - t.push(8); - t.push(100); - } - - #[test] - fn insert() { - let mut t = SequenceTree::new(); - - t.insert(0, 1); - t.insert(1, 1); - t.insert(0, 1); - t.insert(0, 1); - t.insert(0, 1); - t.insert(3, 1); - t.insert(4, 1); - } - - #[test] - fn insert_book() { - let mut t = SequenceTree::new(); - - for i in 0..100 { - t.insert(i % 2, ()); - } - } - - #[test] - fn insert_book_vec() { - let mut t = SequenceTree::new(); - let mut v = Vec::new(); - - for i in 0..100 { - t.insert(i % 3, ()); - v.insert(i % 3, ()); - - assert_eq!(v, t.iter().copied().collect::>()) - } - } - - fn arb_indices() -> impl Strategy> { - proptest::collection::vec(any::(), 0..1000).prop_map(|v| { - let mut len = 0; - v.into_iter() - .map(|i| { - len += 1; - i % len - }) - .collect::>() - }) - } - - proptest! { - - #[test] - fn proptest_insert(indices in arb_indices()) { - let mut t = SequenceTreeInternal::::new(); - let mut v = Vec::new(); - - for i in indices{ - if i <= v.len() { - t.insert(i % 3, i); - v.insert(i % 3, i); - } else { - return Err(proptest::test_runner::TestCaseError::reject("index out of bounds")) - } - - assert_eq!(v, t.iter().copied().collect::>()) - } - } - - } - - proptest! { - - // This is a really slow test due to all the copying of the Vecs (i.e. not due to the - // sequencetree) so we only do a few runs - #![proptest_config(ProptestConfig::with_cases(20))] - #[test] - fn proptest_remove(inserts in arb_indices(), removes in arb_indices()) { - let mut t = SequenceTreeInternal::::new(); - let mut v = Vec::new(); - - for i in inserts { - if i <= v.len() { - t.insert(i , i); - v.insert(i , i); - } else { - return Err(proptest::test_runner::TestCaseError::reject("index out of bounds")) - } - - assert_eq!(v, t.iter().copied().collect::>()) - } - - for i in removes { - if i < v.len() { - let tr = t.remove(i); - let vr = v.remove(i); - assert_eq!(tr, vr); - } else { - return Err(proptest::test_runner::TestCaseError::reject("index out of bounds")) - } - - assert_eq!(v, t.iter().copied().collect::>()) - } - } - - } -} diff --git a/rust/automerge-wasm/src/sync.rs b/rust/automerge-wasm/src/sync.rs deleted file mode 100644 index c4fd4a86..00000000 --- a/rust/automerge-wasm/src/sync.rs +++ /dev/null @@ -1,65 +0,0 @@ -use automerge as am; -use automerge::ChangeHash; -use js_sys::Uint8Array; -use std::collections::{BTreeSet, HashMap}; -use std::convert::TryInto; -use wasm_bindgen::prelude::*; - -use crate::interop::{self, to_js_err, AR, JS}; - -#[wasm_bindgen] -#[derive(Debug)] -pub struct SyncState(pub(crate) am::sync::State); - -#[wasm_bindgen] -impl SyncState { - #[wasm_bindgen(getter, js_name = sharedHeads)] - pub fn shared_heads(&self) -> JsValue { - AR::from(self.0.shared_heads.as_slice()).into() - } - - #[wasm_bindgen(getter, js_name = lastSentHeads)] - pub fn last_sent_heads(&self) -> JsValue { - AR::from(self.0.last_sent_heads.as_slice()).into() - } - - #[wasm_bindgen(setter, js_name = lastSentHeads)] - pub fn set_last_sent_heads( - &mut self, - heads: JsValue, - ) -> Result<(), interop::error::BadChangeHashes> { - let heads: Vec = JS(heads).try_into()?; - self.0.last_sent_heads = heads; - Ok(()) - } - - #[wasm_bindgen(setter, js_name = sentHashes)] - pub fn set_sent_hashes(&mut self, hashes: JsValue) -> Result<(), JsValue> { - let hashes_map: HashMap = - serde_wasm_bindgen::from_value(hashes).map_err(to_js_err)?; - let hashes_set: BTreeSet = hashes_map.keys().cloned().collect(); - self.0.sent_hashes = hashes_set; - Ok(()) - } - - #[allow(clippy::should_implement_trait)] - pub fn clone(&self) -> Self { - SyncState(self.0.clone()) - } - - pub(crate) fn decode(data: Uint8Array) -> Result { - let data = data.to_vec(); - let s = am::sync::State::decode(&data)?; - Ok(SyncState(s)) - } -} - -#[derive(Debug, thiserror::Error)] -#[error(transparent)] -pub struct DecodeSyncStateErr(#[from] automerge::sync::DecodeStateError); - -impl From for JsValue { - fn from(e: DecodeSyncStateErr) -> Self { - JsValue::from(e.to_string()) - } -} diff --git a/rust/automerge-wasm/src/value.rs b/rust/automerge-wasm/src/value.rs deleted file mode 100644 index 643e2881..00000000 --- a/rust/automerge-wasm/src/value.rs +++ /dev/null @@ -1,161 +0,0 @@ -use automerge::{ObjType, ScalarValue, Value}; -use wasm_bindgen::prelude::*; - -#[derive(Debug, Clone, Hash, Eq, PartialEq)] -pub(crate) enum Datatype { - Map, - Table, - List, - Text, - Bytes, - Str, - Int, - Uint, - F64, - Counter, - Timestamp, - Boolean, - Null, - Unknown(u8), -} - -impl Datatype { - pub(crate) fn is_scalar(&self) -> bool { - !matches!(self, Self::Map | Self::Table | Self::List | Self::Text) - } -} - -impl From<&ObjType> for Datatype { - fn from(o: &ObjType) -> Self { - (*o).into() - } -} - -impl From for Datatype { - fn from(o: ObjType) -> Self { - match o { - ObjType::Map => Self::Map, - ObjType::List => Self::List, - ObjType::Table => Self::Table, - ObjType::Text => Self::Text, - } - } -} - -impl std::fmt::Display for Datatype { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> { - write!(f, "{}", String::from(self.clone())) - } -} - -impl From<&ScalarValue> for Datatype { - fn from(s: &ScalarValue) -> Self { - match s { - ScalarValue::Bytes(_) => Self::Bytes, - ScalarValue::Str(_) => Self::Str, - ScalarValue::Int(_) => Self::Int, - ScalarValue::Uint(_) => Self::Uint, - ScalarValue::F64(_) => Self::F64, - ScalarValue::Counter(_) => Self::Counter, - ScalarValue::Timestamp(_) => Self::Timestamp, - ScalarValue::Boolean(_) => Self::Boolean, - ScalarValue::Null => Self::Null, - ScalarValue::Unknown { type_code, .. } => Self::Unknown(*type_code), - } - } -} - -impl From<&Value<'_>> for Datatype { - fn from(v: &Value<'_>) -> Self { - match v { - Value::Object(o) => o.into(), - Value::Scalar(s) => s.as_ref().into(), - /* - ScalarValue::Bytes(_) => Self::Bytes, - ScalarValue::Str(_) => Self::Str, - ScalarValue::Int(_) => Self::Int, - ScalarValue::Uint(_) => Self::Uint, - ScalarValue::F64(_) => Self::F64, - ScalarValue::Counter(_) => Self::Counter, - ScalarValue::Timestamp(_) => Self::Timestamp, - ScalarValue::Boolean(_) => Self::Boolean, - ScalarValue::Null => Self::Null, - ScalarValue::Unknown { type_code, .. } => Self::Unknown(*type_code), - */ - } - } -} - -impl From for String { - fn from(d: Datatype) -> Self { - match d { - Datatype::Map => "map".into(), - Datatype::Table => "table".into(), - Datatype::List => "list".into(), - Datatype::Text => "text".into(), - Datatype::Bytes => "bytes".into(), - Datatype::Str => "str".into(), - Datatype::Int => "int".into(), - Datatype::Uint => "uint".into(), - Datatype::F64 => "f64".into(), - Datatype::Counter => "counter".into(), - Datatype::Timestamp => "timestamp".into(), - Datatype::Boolean => "boolean".into(), - Datatype::Null => "null".into(), - Datatype::Unknown(type_code) => format!("unknown{}", type_code), - } - } -} - -impl TryFrom for Datatype { - type Error = InvalidDatatype; - - fn try_from(datatype: JsValue) -> Result { - let datatype = datatype.as_string().ok_or(InvalidDatatype::NotString)?; - match datatype.as_str() { - "map" => Ok(Datatype::Map), - "table" => Ok(Datatype::Table), - "list" => Ok(Datatype::List), - "text" => Ok(Datatype::Text), - "bytes" => Ok(Datatype::Bytes), - "str" => Ok(Datatype::Str), - "int" => Ok(Datatype::Int), - "uint" => Ok(Datatype::Uint), - "f64" => Ok(Datatype::F64), - "counter" => Ok(Datatype::Counter), - "timestamp" => Ok(Datatype::Timestamp), - "boolean" => Ok(Datatype::Boolean), - "null" => Ok(Datatype::Null), - d => { - if d.starts_with("unknown") { - // TODO: handle "unknown{}", - Err(InvalidDatatype::UnknownNotImplemented) - } else { - Err(InvalidDatatype::Unknown(d.to_string())) - } - } - } - } -} - -impl From for JsValue { - fn from(d: Datatype) -> Self { - String::from(d).into() - } -} - -#[derive(Debug, thiserror::Error)] -pub enum InvalidDatatype { - #[error("unknown datatype")] - Unknown(String), - #[error("datatype is not a string")] - NotString, - #[error("cannot handle unknown datatype")] - UnknownNotImplemented, -} - -impl From for JsValue { - fn from(e: InvalidDatatype) -> Self { - JsValue::from(e.to_string()) - } -} diff --git a/rust/automerge-wasm/test/apply.ts b/rust/automerge-wasm/test/apply.ts deleted file mode 100644 index 453b4c26..00000000 --- a/rust/automerge-wasm/test/apply.ts +++ /dev/null @@ -1,229 +0,0 @@ - -import { describe, it } from 'mocha'; -import assert from 'assert' -import { create, Value } from '..' - -export const OBJECT_ID = Symbol.for('_am_objectId') // object containing metadata about current - -// @ts-ignore -function _obj(doc: any) : any { - if (typeof doc === 'object' && doc !== null) { - return doc[OBJECT_ID] - } -} - -// sample classes for testing -class Counter { - value: number; - constructor(n: number) { - this.value = n - } -} - -describe('Automerge', () => { - describe('Patch Apply', () => { - it('apply nested sets on maps', () => { - const start = { hello: { mellow: { yellow: "world", x: 1 }, y : 2 } } - const doc1 = create(true) - doc1.putObject("/", "hello", start.hello); - let mat = doc1.materialize("/") - const doc2 = create(true) - doc2.enablePatches(true) - doc2.merge(doc1) - - let base = doc2.applyPatches({}) - assert.deepEqual(mat, start) - assert.deepEqual(base, start) - - doc2.delete("/hello/mellow", "yellow"); - // @ts-ignore - delete start.hello.mellow.yellow; - base = doc2.applyPatches(base) - mat = doc2.materialize("/") - - assert.deepEqual(mat, start) - assert.deepEqual(base, start) - }) - - it('apply patches on lists', () => { - const start = { list: [1,2,3,4] } - const doc1 = create(true) - doc1.putObject("/", "list", start.list); - let mat = doc1.materialize("/") - const doc2 = create(true) - doc2.enablePatches(true) - doc2.merge(doc1) - mat = doc1.materialize("/") - let base = doc2.applyPatches({}) - assert.deepEqual(mat, start) - assert.deepEqual(base, start) - - doc2.delete("/list", 3); - start.list.splice(3,1) - base = doc2.applyPatches(base) - - assert.deepEqual(base, start) - }) - - it('apply patches on lists of lists of lists', () => { - const start = { list: - [ - [ - [ 1, 2, 3, 4, 5, 6], - [ 7, 8, 9,10,11,12], - ], - [ - [ 7, 8, 9,10,11,12], - [ 1, 2, 3, 4, 5, 6], - ] - ] - } - const doc1 = create(true) - doc1.enablePatches(true) - doc1.putObject("/", "list", start.list); - let base = doc1.applyPatches({}) - let mat = doc1.clone().materialize("/") - assert.deepEqual(mat, start) - assert.deepEqual(base, start) - - doc1.delete("/list/0/1", 3) - start.list[0][1].splice(3,1) - - doc1.delete("/list/0", 0) - start.list[0].splice(0,1) - - mat = doc1.clone().materialize("/") - base = doc1.applyPatches(base) - assert.deepEqual(mat, start) - assert.deepEqual(base, start) - }) - - it('large inserts should make one splice patch', () => { - const doc1 = create(true) - doc1.enablePatches(true) - doc1.putObject("/", "list", "abc"); - const patches = doc1.popPatches() - assert.deepEqual( patches, [ - { action: 'put', path: [ 'list' ], value: "" }, - { action: 'splice', path: [ 'list', 0 ], value: 'abc' }]) - }) - - it('it should allow registering type wrappers', () => { - const doc1 = create(true) - doc1.enablePatches(true) - doc1.registerDatatype("counter", (n: number) => new Counter(n)) - const doc2 = doc1.fork() - doc1.put("/", "n", 10, "counter") - doc1.put("/", "m", 10, "int") - - let mat = doc1.materialize("/") - assert.deepEqual( mat, { n: new Counter(10), m: 10 } ) - - doc2.merge(doc1) - let apply = doc2.applyPatches({}) - assert.deepEqual( apply, { n: new Counter(10), m: 10 } ) - - doc1.increment("/","n", 5) - mat = doc1.materialize("/") - assert.deepEqual( mat, { n: new Counter(15), m: 10 } ) - - doc2.merge(doc1) - apply = doc2.applyPatches(apply) - assert.deepEqual( apply, { n: new Counter(15), m: 10 } ) - }) - - it('text can be managed as an array or a string', () => { - const doc1 = create(true, "aaaa") - doc1.enablePatches(true) - - doc1.putObject("/", "notes", "hello world") - - let mat = doc1.materialize("/") - - assert.deepEqual( mat, { notes: "hello world" } ) - - const doc2 = create(true) - let apply : any = doc2.materialize("/") - doc2.enablePatches(true) - apply = doc2.applyPatches(apply) - - doc2.merge(doc1); - apply = doc2.applyPatches(apply) - assert.deepEqual(_obj(apply), "_root") - assert.deepEqual( apply, { notes: "hello world" } ) - - doc2.splice("/notes", 6, 5, "everyone"); - apply = doc2.applyPatches(apply) - assert.deepEqual( apply, { notes: "hello everyone" } ) - - mat = doc2.materialize("/") - assert.deepEqual(_obj(mat), "_root") - // @ts-ignore - assert.deepEqual( mat, { notes: "hello everyone" } ) - }) - - it('should set the OBJECT_ID property on lists, maps, and text objects and not on scalars', () => { - const doc1 = create(true, 'aaaa') - const mat: any = doc1.materialize("/") - doc1.enablePatches(true) - doc1.registerDatatype("counter", (n: number) => new Counter(n)) - doc1.put("/", "string", "string", "str") - doc1.put("/", "uint", 2, "uint") - doc1.put("/", "int", 2, "int") - doc1.put("/", "float", 2.3, "f64") - doc1.put("/", "bytes", new Uint8Array(), "bytes") - doc1.put("/", "counter", 1, "counter") - doc1.put("/", "date", new Date(), "timestamp") - doc1.putObject("/", "text", "text") - doc1.putObject("/", "list", []) - doc1.putObject("/", "map", {}) - const applied = doc1.applyPatches(mat) - - assert.equal(_obj(applied.string), null) - assert.equal(_obj(applied.uint), null) - assert.equal(_obj(applied.int), null) - assert.equal(_obj(applied.float), null) - assert.equal(_obj(applied.bytes), null) - assert.equal(_obj(applied.counter), null) - assert.equal(_obj(applied.date), null) - assert.equal(_obj(applied.text), null) - - assert.notEqual(_obj(applied.list), null) - assert.notEqual(_obj(applied.map), null) - }) - - it('should set the root OBJECT_ID to "_root"', () => { - const doc1 = create(true, 'aaaa') - const mat: any = doc1.materialize("/") - assert.equal(_obj(mat), "_root") - doc1.enablePatches(true) - doc1.put("/", "key", "value") - const applied = doc1.applyPatches(mat) - assert.equal(_obj(applied), "_root") - }) - - it.skip('it can patch quickly', () => { -/* - console.time("init") - let doc1 = create() - doc1.enablePatches(true) - doc1.putObject("/", "notes", ""); - let mat = doc1.materialize("/") - let doc2 = doc1.fork() - let testData = new Array( 100000 ).join("x") - console.timeEnd("init") - console.time("splice") - doc2.splice("/notes", 0, 0, testData); - console.timeEnd("splice") - console.time("merge") - doc1.merge(doc2) - console.timeEnd("merge") - console.time("patch") - mat = doc1.applyPatches(mat) - console.timeEnd("patch") -*/ - }) - }) -}) - -// TODO: squash puts & deletes diff --git a/rust/automerge-wasm/test/helpers/columnar.js b/rust/automerge-wasm/test/helpers/columnar.js deleted file mode 100644 index 8d266f5b..00000000 --- a/rust/automerge-wasm/test/helpers/columnar.js +++ /dev/null @@ -1,1415 +0,0 @@ -const pako = require('pako') -const { copyObject, parseOpId, equalBytes } = require('./common') -const { - utf8ToString, hexStringToBytes, bytesToHexString, - Encoder, Decoder, RLEEncoder, RLEDecoder, DeltaEncoder, DeltaDecoder, BooleanEncoder, BooleanDecoder -} = require('./encoding') - -// Maybe we should be using the platform's built-in hash implementation? -// Node has the crypto module: https://nodejs.org/api/crypto.html and browsers have -// https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest -// However, the WebCrypto API is asynchronous (returns promises), which would -// force all our APIs to become asynchronous as well, which would be annoying. -// -// I think on balance, it's safe enough to use a random library off npm: -// - We only need one hash function (not a full suite of crypto algorithms); -// - SHA256 is quite simple and has fairly few opportunities for subtle bugs -// (compared to asymmetric cryptography anyway); -// - It does not need a secure source of random bits and does not need to be -// constant-time; -// - I have reviewed the source code and it seems pretty reasonable. -const { Hash } = require('fast-sha256') - -// These bytes don't mean anything, they were generated randomly -const MAGIC_BYTES = new Uint8Array([0x85, 0x6f, 0x4a, 0x83]) - -const CHUNK_TYPE_DOCUMENT = 0 -const CHUNK_TYPE_CHANGE = 1 -const CHUNK_TYPE_DEFLATE = 2 // like CHUNK_TYPE_CHANGE but with DEFLATE compression - -// Minimum number of bytes in a value before we enable DEFLATE compression (there is no point -// compressing very short values since compression may actually make them bigger) -const DEFLATE_MIN_SIZE = 256 - -// The least-significant 3 bits of a columnId indicate its datatype -const COLUMN_TYPE = { - GROUP_CARD: 0, ACTOR_ID: 1, INT_RLE: 2, INT_DELTA: 3, BOOLEAN: 4, - STRING_RLE: 5, VALUE_LEN: 6, VALUE_RAW: 7 -} - -// The 4th-least-significant bit of a columnId is set if the column is DEFLATE-compressed -const COLUMN_TYPE_DEFLATE = 8 - -// In the values in a column of type VALUE_LEN, the bottom four bits indicate the type of the value, -// one of the following types in VALUE_TYPE. The higher bits indicate the length of the value in the -// associated VALUE_RAW column (in bytes). -const VALUE_TYPE = { - NULL: 0, FALSE: 1, TRUE: 2, LEB128_UINT: 3, LEB128_INT: 4, IEEE754: 5, - UTF8: 6, BYTES: 7, COUNTER: 8, TIMESTAMP: 9, MIN_UNKNOWN: 10, MAX_UNKNOWN: 15 -} - -// make* actions must be at even-numbered indexes in this list -const ACTIONS = ['makeMap', 'set', 'makeList', 'del', 'makeText', 'inc', 'makeTable', 'link'] - -const OBJECT_TYPE = {makeMap: 'map', makeList: 'list', makeText: 'text', makeTable: 'table'} - -const COMMON_COLUMNS = [ - {columnName: 'objActor', columnId: 0 << 4 | COLUMN_TYPE.ACTOR_ID}, - {columnName: 'objCtr', columnId: 0 << 4 | COLUMN_TYPE.INT_RLE}, - {columnName: 'keyActor', columnId: 1 << 4 | COLUMN_TYPE.ACTOR_ID}, - {columnName: 'keyCtr', columnId: 1 << 4 | COLUMN_TYPE.INT_DELTA}, - {columnName: 'keyStr', columnId: 1 << 4 | COLUMN_TYPE.STRING_RLE}, - {columnName: 'idActor', columnId: 2 << 4 | COLUMN_TYPE.ACTOR_ID}, - {columnName: 'idCtr', columnId: 2 << 4 | COLUMN_TYPE.INT_DELTA}, - {columnName: 'insert', columnId: 3 << 4 | COLUMN_TYPE.BOOLEAN}, - {columnName: 'action', columnId: 4 << 4 | COLUMN_TYPE.INT_RLE}, - {columnName: 'valLen', columnId: 5 << 4 | COLUMN_TYPE.VALUE_LEN}, - {columnName: 'valRaw', columnId: 5 << 4 | COLUMN_TYPE.VALUE_RAW}, - {columnName: 'chldActor', columnId: 6 << 4 | COLUMN_TYPE.ACTOR_ID}, - {columnName: 'chldCtr', columnId: 6 << 4 | COLUMN_TYPE.INT_DELTA} -] - -const CHANGE_COLUMNS = COMMON_COLUMNS.concat([ - {columnName: 'predNum', columnId: 7 << 4 | COLUMN_TYPE.GROUP_CARD}, - {columnName: 'predActor', columnId: 7 << 4 | COLUMN_TYPE.ACTOR_ID}, - {columnName: 'predCtr', columnId: 7 << 4 | COLUMN_TYPE.INT_DELTA} -]) - -const DOC_OPS_COLUMNS = COMMON_COLUMNS.concat([ - {columnName: 'succNum', columnId: 8 << 4 | COLUMN_TYPE.GROUP_CARD}, - {columnName: 'succActor', columnId: 8 << 4 | COLUMN_TYPE.ACTOR_ID}, - {columnName: 'succCtr', columnId: 8 << 4 | COLUMN_TYPE.INT_DELTA} -]) - -const DOCUMENT_COLUMNS = [ - {columnName: 'actor', columnId: 0 << 4 | COLUMN_TYPE.ACTOR_ID}, - {columnName: 'seq', columnId: 0 << 4 | COLUMN_TYPE.INT_DELTA}, - {columnName: 'maxOp', columnId: 1 << 4 | COLUMN_TYPE.INT_DELTA}, - {columnName: 'time', columnId: 2 << 4 | COLUMN_TYPE.INT_DELTA}, - {columnName: 'message', columnId: 3 << 4 | COLUMN_TYPE.STRING_RLE}, - {columnName: 'depsNum', columnId: 4 << 4 | COLUMN_TYPE.GROUP_CARD}, - {columnName: 'depsIndex', columnId: 4 << 4 | COLUMN_TYPE.INT_DELTA}, - {columnName: 'extraLen', columnId: 5 << 4 | COLUMN_TYPE.VALUE_LEN}, - {columnName: 'extraRaw', columnId: 5 << 4 | COLUMN_TYPE.VALUE_RAW} -] - -/** - * Maps an opId of the form {counter: 12345, actorId: 'someActorId'} to the form - * {counter: 12345, actorNum: 123, actorId: 'someActorId'}, where the actorNum - * is the index into the `actorIds` array. - */ -function actorIdToActorNum(opId, actorIds) { - if (!opId || !opId.actorId) return opId - const counter = opId.counter - const actorNum = actorIds.indexOf(opId.actorId) - if (actorNum < 0) throw new RangeError('missing actorId') // should not happen - return {counter, actorNum, actorId: opId.actorId} -} - -/** - * Comparison function to pass to Array.sort(), which compares two opIds in the - * form produced by `actorIdToActorNum` so that they are sorted in increasing - * Lamport timestamp order (sorted first by counter, then by actorId). - */ -function compareParsedOpIds(id1, id2) { - if (id1.counter < id2.counter) return -1 - if (id1.counter > id2.counter) return +1 - if (id1.actorId < id2.actorId) return -1 - if (id1.actorId > id2.actorId) return +1 - return 0 -} - -/** - * Takes `changes`, an array of changes (represented as JS objects). Returns an - * object `{changes, actorIds}`, where `changes` is a copy of the argument in - * which all string opIds have been replaced with `{counter, actorNum}` objects, - * and where `actorIds` is a lexicographically sorted array of actor IDs occurring - * in any of the operations. `actorNum` is an index into that array of actorIds. - * If `single` is true, the actorId of the author of the change is moved to the - * beginning of the array of actorIds, so that `actorNum` is zero when referencing - * the author of the change itself. This special-casing is omitted if `single` is - * false. - */ -function parseAllOpIds(changes, single) { - const actors = {}, newChanges = [] - for (let change of changes) { - change = copyObject(change) - actors[change.actor] = true - change.ops = expandMultiOps(change.ops, change.startOp, change.actor) - change.ops = change.ops.map(op => { - op = copyObject(op) - if (op.obj !== '_root') op.obj = parseOpId(op.obj) - if (op.elemId && op.elemId !== '_head') op.elemId = parseOpId(op.elemId) - if (op.child) op.child = parseOpId(op.child) - if (op.pred) op.pred = op.pred.map(parseOpId) - if (op.obj.actorId) actors[op.obj.actorId] = true - if (op.elemId && op.elemId.actorId) actors[op.elemId.actorId] = true - if (op.child && op.child.actorId) actors[op.child.actorId] = true - for (let pred of op.pred) actors[pred.actorId] = true - return op - }) - newChanges.push(change) - } - - let actorIds = Object.keys(actors).sort() - if (single) { - actorIds = [changes[0].actor].concat(actorIds.filter(actor => actor !== changes[0].actor)) - } - for (let change of newChanges) { - change.actorNum = actorIds.indexOf(change.actor) - for (let i = 0; i < change.ops.length; i++) { - let op = change.ops[i] - op.id = {counter: change.startOp + i, actorNum: change.actorNum, actorId: change.actor} - op.obj = actorIdToActorNum(op.obj, actorIds) - op.elemId = actorIdToActorNum(op.elemId, actorIds) - op.child = actorIdToActorNum(op.child, actorIds) - op.pred = op.pred.map(pred => actorIdToActorNum(pred, actorIds)) - } - } - return {changes: newChanges, actorIds} -} - -/** - * Encodes the `obj` property of operation `op` into the two columns - * `objActor` and `objCtr`. - */ -function encodeObjectId(op, columns) { - if (op.obj === '_root') { - columns.objActor.appendValue(null) - columns.objCtr.appendValue(null) - } else if (op.obj.actorNum >= 0 && op.obj.counter > 0) { - columns.objActor.appendValue(op.obj.actorNum) - columns.objCtr.appendValue(op.obj.counter) - } else { - throw new RangeError(`Unexpected objectId reference: ${JSON.stringify(op.obj)}`) - } -} - -/** - * Encodes the `key` and `elemId` properties of operation `op` into the three - * columns `keyActor`, `keyCtr`, and `keyStr`. - */ -function encodeOperationKey(op, columns) { - if (op.key) { - columns.keyActor.appendValue(null) - columns.keyCtr.appendValue(null) - columns.keyStr.appendValue(op.key) - } else if (op.elemId === '_head' && op.insert) { - columns.keyActor.appendValue(null) - columns.keyCtr.appendValue(0) - columns.keyStr.appendValue(null) - } else if (op.elemId && op.elemId.actorNum >= 0 && op.elemId.counter > 0) { - columns.keyActor.appendValue(op.elemId.actorNum) - columns.keyCtr.appendValue(op.elemId.counter) - columns.keyStr.appendValue(null) - } else { - throw new RangeError(`Unexpected operation key: ${JSON.stringify(op)}`) - } -} - -/** - * Encodes the `action` property of operation `op` into the `action` column. - */ -function encodeOperationAction(op, columns) { - const actionCode = ACTIONS.indexOf(op.action) - if (actionCode >= 0) { - columns.action.appendValue(actionCode) - } else if (typeof op.action === 'number') { - columns.action.appendValue(op.action) - } else { - throw new RangeError(`Unexpected operation action: ${op.action}`) - } -} - -/** - * Encodes the integer `value` into the two columns `valLen` and `valRaw`, - * with the datatype tag set to `typeTag`. If `typeTag` is zero, it is set - * automatically to signed or unsigned depending on the sign of the value. - * Values with non-zero type tags are always encoded as signed integers. - */ -function encodeInteger(value, typeTag, columns) { - let numBytes - if (value < 0 || typeTag > 0) { - numBytes = columns.valRaw.appendInt53(value) - if (!typeTag) typeTag = VALUE_TYPE.LEB128_INT - } else { - numBytes = columns.valRaw.appendUint53(value) - typeTag = VALUE_TYPE.LEB128_UINT - } - columns.valLen.appendValue(numBytes << 4 | typeTag) -} - -/** - * Encodes the `value` property of operation `op` into the two columns - * `valLen` and `valRaw`. - */ -function encodeValue(op, columns) { - if ((op.action !== 'set' && op.action !== 'inc') || op.value === null) { - columns.valLen.appendValue(VALUE_TYPE.NULL) - } else if (op.value === false) { - columns.valLen.appendValue(VALUE_TYPE.FALSE) - } else if (op.value === true) { - columns.valLen.appendValue(VALUE_TYPE.TRUE) - } else if (typeof op.value === 'string') { - const numBytes = columns.valRaw.appendRawString(op.value) - columns.valLen.appendValue(numBytes << 4 | VALUE_TYPE.UTF8) - } else if (ArrayBuffer.isView(op.value)) { - const numBytes = columns.valRaw.appendRawBytes(new Uint8Array(op.value.buffer)) - columns.valLen.appendValue(numBytes << 4 | VALUE_TYPE.BYTES) - } else if (op.datatype === 'counter' && typeof op.value === 'number') { - encodeInteger(op.value, VALUE_TYPE.COUNTER, columns) - } else if (op.datatype === 'timestamp' && typeof op.value === 'number') { - encodeInteger(op.value, VALUE_TYPE.TIMESTAMP, columns) - } else if (typeof op.datatype === 'number' && op.datatype >= VALUE_TYPE.MIN_UNKNOWN && - op.datatype <= VALUE_TYPE.MAX_UNKNOWN && op.value instanceof Uint8Array) { - const numBytes = columns.valRaw.appendRawBytes(op.value) - columns.valLen.appendValue(numBytes << 4 | op.datatype) - } else if (op.datatype) { - throw new RangeError(`Unknown datatype ${op.datatype} for value ${op.value}`) - } else if (typeof op.value === 'number') { - if (Number.isInteger(op.value) && op.value <= Number.MAX_SAFE_INTEGER && op.value >= Number.MIN_SAFE_INTEGER) { - encodeInteger(op.value, 0, columns) - } else { - // Encode number in 32-bit float if this can be done without loss of precision - const buf32 = new ArrayBuffer(4), view32 = new DataView(buf32) - view32.setFloat32(0, op.value, true) // true means little-endian - if (view32.getFloat32(0, true) === op.value) { - columns.valRaw.appendRawBytes(new Uint8Array(buf32)) - columns.valLen.appendValue(4 << 4 | VALUE_TYPE.IEEE754) - } else { - const buf64 = new ArrayBuffer(8), view64 = new DataView(buf64) - view64.setFloat64(0, op.value, true) // true means little-endian - columns.valRaw.appendRawBytes(new Uint8Array(buf64)) - columns.valLen.appendValue(8 << 4 | VALUE_TYPE.IEEE754) - } - } - } else { - throw new RangeError(`Unsupported value in operation: ${op.value}`) - } -} - -/** - * Given `sizeTag` (an unsigned integer read from a VALUE_LEN column) and `bytes` (a Uint8Array - * read from a VALUE_RAW column, with length `sizeTag >> 4`), this function returns an object of the - * form `{value: value, datatype: datatypeTag}` where `value` is a JavaScript primitive datatype - * corresponding to the value, and `datatypeTag` is a datatype annotation such as 'counter'. - */ -function decodeValue(sizeTag, bytes) { - if (sizeTag === VALUE_TYPE.NULL) { - return {value: null} - } else if (sizeTag === VALUE_TYPE.FALSE) { - return {value: false} - } else if (sizeTag === VALUE_TYPE.TRUE) { - return {value: true} - } else if (sizeTag % 16 === VALUE_TYPE.UTF8) { - return {value: utf8ToString(bytes)} - } else { - if (sizeTag % 16 === VALUE_TYPE.LEB128_UINT) { - return {value: new Decoder(bytes).readUint53()} - } else if (sizeTag % 16 === VALUE_TYPE.LEB128_INT) { - return {value: new Decoder(bytes).readInt53()} - } else if (sizeTag % 16 === VALUE_TYPE.IEEE754) { - const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength) - if (bytes.byteLength === 4) { - return {value: view.getFloat32(0, true)} // true means little-endian - } else if (bytes.byteLength === 8) { - return {value: view.getFloat64(0, true)} - } else { - throw new RangeError(`Invalid length for floating point number: ${bytes.byteLength}`) - } - } else if (sizeTag % 16 === VALUE_TYPE.COUNTER) { - return {value: new Decoder(bytes).readInt53(), datatype: 'counter'} - } else if (sizeTag % 16 === VALUE_TYPE.TIMESTAMP) { - return {value: new Decoder(bytes).readInt53(), datatype: 'timestamp'} - } else { - return {value: bytes, datatype: sizeTag % 16} - } - } -} - -/** - * Reads one value from the column `columns[colIndex]` and interprets it based - * on the column type. `actorIds` is a list of actors that appear in the change; - * `actorIds[0]` is the actorId of the change's author. Mutates the `result` - * object with the value, and returns the number of columns processed (this is 2 - * in the case of a pair of VALUE_LEN and VALUE_RAW columns, which are processed - * in one go). - */ -function decodeValueColumns(columns, colIndex, actorIds, result) { - const { columnId, columnName, decoder } = columns[colIndex] - if (columnId % 8 === COLUMN_TYPE.VALUE_LEN && colIndex + 1 < columns.length && - columns[colIndex + 1].columnId === columnId + 1) { - const sizeTag = decoder.readValue() - const rawValue = columns[colIndex + 1].decoder.readRawBytes(sizeTag >> 4) - const { value, datatype } = decodeValue(sizeTag, rawValue) - result[columnName] = value - if (datatype) result[columnName + '_datatype'] = datatype - return 2 - } else if (columnId % 8 === COLUMN_TYPE.ACTOR_ID) { - const actorNum = decoder.readValue() - if (actorNum === null) { - result[columnName] = null - } else { - if (!actorIds[actorNum]) throw new RangeError(`No actor index ${actorNum}`) - result[columnName] = actorIds[actorNum] - } - } else { - result[columnName] = decoder.readValue() - } - return 1 -} - -/** - * Encodes an array of operations in a set of columns. The operations need to - * be parsed with `parseAllOpIds()` beforehand. If `forDocument` is true, we use - * the column structure of a whole document, otherwise we use the column - * structure for an individual change. Returns an array of `{id, name, encoder}` - * objects. - */ -function encodeOps(ops, forDocument) { - const columns = { - objActor : new RLEEncoder('uint'), - objCtr : new RLEEncoder('uint'), - keyActor : new RLEEncoder('uint'), - keyCtr : new DeltaEncoder(), - keyStr : new RLEEncoder('utf8'), - insert : new BooleanEncoder(), - action : new RLEEncoder('uint'), - valLen : new RLEEncoder('uint'), - valRaw : new Encoder(), - chldActor : new RLEEncoder('uint'), - chldCtr : new DeltaEncoder() - } - - if (forDocument) { - columns.idActor = new RLEEncoder('uint') - columns.idCtr = new DeltaEncoder() - columns.succNum = new RLEEncoder('uint') - columns.succActor = new RLEEncoder('uint') - columns.succCtr = new DeltaEncoder() - } else { - columns.predNum = new RLEEncoder('uint') - columns.predCtr = new DeltaEncoder() - columns.predActor = new RLEEncoder('uint') - } - - for (let op of ops) { - encodeObjectId(op, columns) - encodeOperationKey(op, columns) - columns.insert.appendValue(!!op.insert) - encodeOperationAction(op, columns) - encodeValue(op, columns) - - if (op.child && op.child.counter) { - columns.chldActor.appendValue(op.child.actorNum) - columns.chldCtr.appendValue(op.child.counter) - } else { - columns.chldActor.appendValue(null) - columns.chldCtr.appendValue(null) - } - - if (forDocument) { - columns.idActor.appendValue(op.id.actorNum) - columns.idCtr.appendValue(op.id.counter) - columns.succNum.appendValue(op.succ.length) - op.succ.sort(compareParsedOpIds) - for (let i = 0; i < op.succ.length; i++) { - columns.succActor.appendValue(op.succ[i].actorNum) - columns.succCtr.appendValue(op.succ[i].counter) - } - } else { - columns.predNum.appendValue(op.pred.length) - op.pred.sort(compareParsedOpIds) - for (let i = 0; i < op.pred.length; i++) { - columns.predActor.appendValue(op.pred[i].actorNum) - columns.predCtr.appendValue(op.pred[i].counter) - } - } - } - - let columnList = [] - for (let {columnName, columnId} of forDocument ? DOC_OPS_COLUMNS : CHANGE_COLUMNS) { - if (columns[columnName]) columnList.push({id: columnId, name: columnName, encoder: columns[columnName]}) - } - return columnList.sort((a, b) => a.id - b.id) -} - -function expandMultiOps(ops, startOp, actor) { - let opNum = startOp - let expandedOps = [] - for (const op of ops) { - if (op.action === 'set' && op.values && op.insert) { - if (op.pred.length !== 0) throw new RangeError('multi-insert pred must be empty') - let lastElemId = op.elemId - for (const value of op.values) { - expandedOps.push({action: 'set', obj: op.obj, elemId: lastElemId, value, pred: [], insert: true}) - lastElemId = `${opNum}@${actor}` - opNum += 1 - } - } else if (op.action === 'del' && op.multiOp > 1) { - if (op.pred.length !== 1) throw new RangeError('multiOp deletion must have exactly one pred') - const startElemId = parseOpId(op.elemId), startPred = parseOpId(op.pred[0]) - for (let i = 0; i < op.multiOp; i++) { - const elemId = `${startElemId.counter + i}@${startElemId.actorId}` - const pred = [`${startPred.counter + i}@${startPred.actorId}`] - expandedOps.push({action: 'del', obj: op.obj, elemId, pred}) - opNum += 1 - } - } else { - expandedOps.push(op) - opNum += 1 - } - } - return expandedOps -} - -/** - * Takes a change as decoded by `decodeColumns`, and changes it into the form - * expected by the rest of the backend. If `forDocument` is true, we use the op - * structure of a whole document, otherwise we use the op structure for an - * individual change. - */ -function decodeOps(ops, forDocument) { - const newOps = [] - for (let op of ops) { - const obj = (op.objCtr === null) ? '_root' : `${op.objCtr}@${op.objActor}` - const elemId = op.keyStr ? undefined : (op.keyCtr === 0 ? '_head' : `${op.keyCtr}@${op.keyActor}`) - const action = ACTIONS[op.action] || op.action - const newOp = elemId ? {obj, elemId, action} : {obj, key: op.keyStr, action} - newOp.insert = !!op.insert - if (ACTIONS[op.action] === 'set' || ACTIONS[op.action] === 'inc') { - newOp.value = op.valLen - if (op.valLen_datatype) newOp.datatype = op.valLen_datatype - } - if (!!op.chldCtr !== !!op.chldActor) { - throw new RangeError(`Mismatched child columns: ${op.chldCtr} and ${op.chldActor}`) - } - if (op.chldCtr !== null) newOp.child = `${op.chldCtr}@${op.chldActor}` - if (forDocument) { - newOp.id = `${op.idCtr}@${op.idActor}` - newOp.succ = op.succNum.map(succ => `${succ.succCtr}@${succ.succActor}`) - checkSortedOpIds(op.succNum.map(succ => ({counter: succ.succCtr, actorId: succ.succActor}))) - } else { - newOp.pred = op.predNum.map(pred => `${pred.predCtr}@${pred.predActor}`) - checkSortedOpIds(op.predNum.map(pred => ({counter: pred.predCtr, actorId: pred.predActor}))) - } - newOps.push(newOp) - } - return newOps -} - -/** - * Throws an exception if the opIds in the given array are not in sorted order. - */ -function checkSortedOpIds(opIds) { - let last = null - for (let opId of opIds) { - if (last && compareParsedOpIds(last, opId) !== -1) { - throw new RangeError('operation IDs are not in ascending order') - } - last = opId - } -} - -function encoderByColumnId(columnId) { - if ((columnId & 7) === COLUMN_TYPE.INT_DELTA) { - return new DeltaEncoder() - } else if ((columnId & 7) === COLUMN_TYPE.BOOLEAN) { - return new BooleanEncoder() - } else if ((columnId & 7) === COLUMN_TYPE.STRING_RLE) { - return new RLEEncoder('utf8') - } else if ((columnId & 7) === COLUMN_TYPE.VALUE_RAW) { - return new Encoder() - } else { - return new RLEEncoder('uint') - } -} - -function decoderByColumnId(columnId, buffer) { - if ((columnId & 7) === COLUMN_TYPE.INT_DELTA) { - return new DeltaDecoder(buffer) - } else if ((columnId & 7) === COLUMN_TYPE.BOOLEAN) { - return new BooleanDecoder(buffer) - } else if ((columnId & 7) === COLUMN_TYPE.STRING_RLE) { - return new RLEDecoder('utf8', buffer) - } else if ((columnId & 7) === COLUMN_TYPE.VALUE_RAW) { - return new Decoder(buffer) - } else { - return new RLEDecoder('uint', buffer) - } -} - -function makeDecoders(columns, columnSpec) { - const emptyBuf = new Uint8Array(0) - let decoders = [], columnIndex = 0, specIndex = 0 - - while (columnIndex < columns.length || specIndex < columnSpec.length) { - if (columnIndex === columns.length || - (specIndex < columnSpec.length && columnSpec[specIndex].columnId < columns[columnIndex].columnId)) { - const {columnId, columnName} = columnSpec[specIndex] - decoders.push({columnId, columnName, decoder: decoderByColumnId(columnId, emptyBuf)}) - specIndex++ - } else if (specIndex === columnSpec.length || columns[columnIndex].columnId < columnSpec[specIndex].columnId) { - const {columnId, buffer} = columns[columnIndex] - decoders.push({columnId, decoder: decoderByColumnId(columnId, buffer)}) - columnIndex++ - } else { // columns[columnIndex].columnId === columnSpec[specIndex].columnId - const {columnId, buffer} = columns[columnIndex], {columnName} = columnSpec[specIndex] - decoders.push({columnId, columnName, decoder: decoderByColumnId(columnId, buffer)}) - columnIndex++ - specIndex++ - } - } - return decoders -} - -function decodeColumns(columns, actorIds, columnSpec) { - columns = makeDecoders(columns, columnSpec) - let parsedRows = [] - while (columns.some(col => !col.decoder.done)) { - let row = {}, col = 0 - while (col < columns.length) { - const columnId = columns[col].columnId - let groupId = columnId >> 4, groupCols = 1 - while (col + groupCols < columns.length && columns[col + groupCols].columnId >> 4 === groupId) { - groupCols++ - } - - if (columnId % 8 === COLUMN_TYPE.GROUP_CARD) { - const values = [], count = columns[col].decoder.readValue() - for (let i = 0; i < count; i++) { - let value = {} - for (let colOffset = 1; colOffset < groupCols; colOffset++) { - decodeValueColumns(columns, col + colOffset, actorIds, value) - } - values.push(value) - } - row[columns[col].columnName] = values - col += groupCols - } else { - col += decodeValueColumns(columns, col, actorIds, row) - } - } - parsedRows.push(row) - } - return parsedRows -} - -function decodeColumnInfo(decoder) { - // A number that is all 1 bits except for the bit that indicates whether a column is - // deflate-compressed. We ignore this bit when checking whether columns are sorted by ID. - const COLUMN_ID_MASK = (-1 ^ COLUMN_TYPE_DEFLATE) >>> 0 - - let lastColumnId = -1, columns = [], numColumns = decoder.readUint53() - for (let i = 0; i < numColumns; i++) { - const columnId = decoder.readUint53(), bufferLen = decoder.readUint53() - if ((columnId & COLUMN_ID_MASK) <= (lastColumnId & COLUMN_ID_MASK)) { - throw new RangeError('Columns must be in ascending order') - } - lastColumnId = columnId - columns.push({columnId, bufferLen}) - } - return columns -} - -function encodeColumnInfo(encoder, columns) { - const nonEmptyColumns = columns.filter(column => column.encoder.buffer.byteLength > 0) - encoder.appendUint53(nonEmptyColumns.length) - for (let column of nonEmptyColumns) { - encoder.appendUint53(column.id) - encoder.appendUint53(column.encoder.buffer.byteLength) - } -} - -function decodeChangeHeader(decoder) { - const numDeps = decoder.readUint53(), deps = [] - for (let i = 0; i < numDeps; i++) { - deps.push(bytesToHexString(decoder.readRawBytes(32))) - } - let change = { - actor: decoder.readHexString(), - seq: decoder.readUint53(), - startOp: decoder.readUint53(), - time: decoder.readInt53(), - message: decoder.readPrefixedString(), - deps - } - const actorIds = [change.actor], numActorIds = decoder.readUint53() - for (let i = 0; i < numActorIds; i++) actorIds.push(decoder.readHexString()) - change.actorIds = actorIds - return change -} - -/** - * Assembles a chunk of encoded data containing a checksum, headers, and a - * series of encoded columns. Calls `encodeHeaderCallback` with an encoder that - * should be used to add the headers. The columns should be given as `columns`. - */ -function encodeContainer(chunkType, encodeContentsCallback) { - const CHECKSUM_SIZE = 4 // checksum is first 4 bytes of SHA-256 hash of the rest of the data - const HEADER_SPACE = MAGIC_BYTES.byteLength + CHECKSUM_SIZE + 1 + 5 // 1 byte type + 5 bytes length - const body = new Encoder() - // Make space for the header at the beginning of the body buffer. We will - // copy the header in here later. This is cheaper than copying the body since - // the body is likely to be much larger than the header. - body.appendRawBytes(new Uint8Array(HEADER_SPACE)) - encodeContentsCallback(body) - - const bodyBuf = body.buffer - const header = new Encoder() - header.appendByte(chunkType) - header.appendUint53(bodyBuf.byteLength - HEADER_SPACE) - - // Compute the hash over chunkType, length, and body - const headerBuf = header.buffer - const sha256 = new Hash() - sha256.update(headerBuf) - sha256.update(bodyBuf.subarray(HEADER_SPACE)) - const hash = sha256.digest(), checksum = hash.subarray(0, CHECKSUM_SIZE) - - // Copy header into the body buffer so that they are contiguous - bodyBuf.set(MAGIC_BYTES, HEADER_SPACE - headerBuf.byteLength - CHECKSUM_SIZE - MAGIC_BYTES.byteLength) - bodyBuf.set(checksum, HEADER_SPACE - headerBuf.byteLength - CHECKSUM_SIZE) - bodyBuf.set(headerBuf, HEADER_SPACE - headerBuf.byteLength) - return {hash, bytes: bodyBuf.subarray(HEADER_SPACE - headerBuf.byteLength - CHECKSUM_SIZE - MAGIC_BYTES.byteLength)} -} - -function decodeContainerHeader(decoder, computeHash) { - if (!equalBytes(decoder.readRawBytes(MAGIC_BYTES.byteLength), MAGIC_BYTES)) { - throw new RangeError('Data does not begin with magic bytes 85 6f 4a 83') - } - const expectedHash = decoder.readRawBytes(4) - const hashStartOffset = decoder.offset - const chunkType = decoder.readByte() - const chunkLength = decoder.readUint53() - const header = {chunkType, chunkLength, chunkData: decoder.readRawBytes(chunkLength)} - - if (computeHash) { - const sha256 = new Hash() - sha256.update(decoder.buf.subarray(hashStartOffset, decoder.offset)) - const binaryHash = sha256.digest() - if (!equalBytes(binaryHash.subarray(0, 4), expectedHash)) { - throw new RangeError('checksum does not match data') - } - header.hash = bytesToHexString(binaryHash) - } - return header -} - -/** - * Returns the checksum of a change (bytes 4 to 7) as a 32-bit unsigned integer. - */ -function getChangeChecksum(change) { - if (change[0] !== MAGIC_BYTES[0] || change[1] !== MAGIC_BYTES[1] || - change[2] !== MAGIC_BYTES[2] || change[3] !== MAGIC_BYTES[3]) { - throw new RangeError('Data does not begin with magic bytes 85 6f 4a 83') - } - return ((change[4] << 24) | (change[5] << 16) | (change[6] << 8) | change[7]) >>> 0 -} - -function encodeChange(changeObj) { - const { changes, actorIds } = parseAllOpIds([changeObj], true) - const change = changes[0] - - const { hash, bytes } = encodeContainer(CHUNK_TYPE_CHANGE, encoder => { - if (!Array.isArray(change.deps)) throw new TypeError('deps is not an array') - encoder.appendUint53(change.deps.length) - for (let hash of change.deps.slice().sort()) { - encoder.appendRawBytes(hexStringToBytes(hash)) - } - encoder.appendHexString(change.actor) - encoder.appendUint53(change.seq) - encoder.appendUint53(change.startOp) - encoder.appendInt53(change.time) - encoder.appendPrefixedString(change.message || '') - encoder.appendUint53(actorIds.length - 1) - for (let actor of actorIds.slice(1)) encoder.appendHexString(actor) - - const columns = encodeOps(change.ops, false) - encodeColumnInfo(encoder, columns) - for (let column of columns) encoder.appendRawBytes(column.encoder.buffer) - if (change.extraBytes) encoder.appendRawBytes(change.extraBytes) - }) - - const hexHash = bytesToHexString(hash) - if (changeObj.hash && changeObj.hash !== hexHash) { - throw new RangeError(`Change hash does not match encoding: ${changeObj.hash} != ${hexHash}`) - } - return (bytes.byteLength >= DEFLATE_MIN_SIZE) ? deflateChange(bytes) : bytes -} - -function decodeChangeColumns(buffer) { - if (buffer[8] === CHUNK_TYPE_DEFLATE) buffer = inflateChange(buffer) - const decoder = new Decoder(buffer) - const header = decodeContainerHeader(decoder, true) - const chunkDecoder = new Decoder(header.chunkData) - if (!decoder.done) throw new RangeError('Encoded change has trailing data') - if (header.chunkType !== CHUNK_TYPE_CHANGE) throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - - const change = decodeChangeHeader(chunkDecoder) - const columns = decodeColumnInfo(chunkDecoder) - for (let i = 0; i < columns.length; i++) { - if ((columns[i].columnId & COLUMN_TYPE_DEFLATE) !== 0) { - throw new RangeError('change must not contain deflated columns') - } - columns[i].buffer = chunkDecoder.readRawBytes(columns[i].bufferLen) - } - if (!chunkDecoder.done) { - const restLen = chunkDecoder.buf.byteLength - chunkDecoder.offset - change.extraBytes = chunkDecoder.readRawBytes(restLen) - } - - change.columns = columns - change.hash = header.hash - return change -} - -/** - * Decodes one change in binary format into its JS object representation. - */ -function decodeChange(buffer) { - const change = decodeChangeColumns(buffer) - change.ops = decodeOps(decodeColumns(change.columns, change.actorIds, CHANGE_COLUMNS), false) - delete change.actorIds - delete change.columns - return change -} - -/** - * Decodes the header fields of a change in binary format, but does not decode - * the operations. Saves work when we only need to inspect the headers. Only - * computes the hash of the change if `computeHash` is true. - */ -function decodeChangeMeta(buffer, computeHash) { - if (buffer[8] === CHUNK_TYPE_DEFLATE) buffer = inflateChange(buffer) - const header = decodeContainerHeader(new Decoder(buffer), computeHash) - if (header.chunkType !== CHUNK_TYPE_CHANGE) { - throw new RangeError('Buffer chunk type is not a change') - } - const meta = decodeChangeHeader(new Decoder(header.chunkData)) - meta.change = buffer - if (computeHash) meta.hash = header.hash - return meta -} - -/** - * Compresses a binary change using DEFLATE. - */ -function deflateChange(buffer) { - const header = decodeContainerHeader(new Decoder(buffer), false) - if (header.chunkType !== CHUNK_TYPE_CHANGE) throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - const compressed = pako.deflateRaw(header.chunkData) - const encoder = new Encoder() - encoder.appendRawBytes(buffer.subarray(0, 8)) // copy MAGIC_BYTES and checksum - encoder.appendByte(CHUNK_TYPE_DEFLATE) - encoder.appendUint53(compressed.byteLength) - encoder.appendRawBytes(compressed) - return encoder.buffer -} - -/** - * Decompresses a binary change that has been compressed with DEFLATE. - */ -function inflateChange(buffer) { - const header = decodeContainerHeader(new Decoder(buffer), false) - if (header.chunkType !== CHUNK_TYPE_DEFLATE) throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - const decompressed = pako.inflateRaw(header.chunkData) - const encoder = new Encoder() - encoder.appendRawBytes(buffer.subarray(0, 8)) // copy MAGIC_BYTES and checksum - encoder.appendByte(CHUNK_TYPE_CHANGE) - encoder.appendUint53(decompressed.byteLength) - encoder.appendRawBytes(decompressed) - return encoder.buffer -} - -/** - * Takes an Uint8Array that may contain multiple concatenated changes, and - * returns an array of subarrays, each subarray containing one change. - */ -function splitContainers(buffer) { - let decoder = new Decoder(buffer), chunks = [], startOffset = 0 - while (!decoder.done) { - decodeContainerHeader(decoder, false) - chunks.push(buffer.subarray(startOffset, decoder.offset)) - startOffset = decoder.offset - } - return chunks -} - -/** - * Decodes a list of changes from the binary format into JS objects. - * `binaryChanges` is an array of `Uint8Array` objects. - */ -function decodeChanges(binaryChanges) { - let decoded = [] - for (let binaryChange of binaryChanges) { - for (let chunk of splitContainers(binaryChange)) { - if (chunk[8] === CHUNK_TYPE_DOCUMENT) { - decoded = decoded.concat(decodeDocument(chunk)) - } else if (chunk[8] === CHUNK_TYPE_CHANGE || chunk[8] === CHUNK_TYPE_DEFLATE) { - decoded.push(decodeChange(chunk)) - } else { - // ignoring chunk of unknown type - } - } - } - return decoded -} - -function sortOpIds(a, b) { - if (a === b) return 0 - if (a === '_root') return -1 - if (b === '_root') return +1 - const a_ = parseOpId(a), b_ = parseOpId(b) - if (a_.counter < b_.counter) return -1 - if (a_.counter > b_.counter) return +1 - if (a_.actorId < b_.actorId) return -1 - if (a_.actorId > b_.actorId) return +1 - return 0 -} - -function groupDocumentOps(changes) { - let byObjectId = {}, byReference = {}, objectType = {} - for (let change of changes) { - for (let i = 0; i < change.ops.length; i++) { - const op = change.ops[i], opId = `${op.id.counter}@${op.id.actorId}` - const objectId = (op.obj === '_root') ? '_root' : `${op.obj.counter}@${op.obj.actorId}` - if (op.action.startsWith('make')) { - objectType[opId] = op.action - if (op.action === 'makeList' || op.action === 'makeText') { - byReference[opId] = {'_head': []} - } - } - - let key - if (objectId === '_root' || objectType[objectId] === 'makeMap' || objectType[objectId] === 'makeTable') { - key = op.key - } else if (objectType[objectId] === 'makeList' || objectType[objectId] === 'makeText') { - if (op.insert) { - key = opId - const ref = (op.elemId === '_head') ? '_head' : `${op.elemId.counter}@${op.elemId.actorId}` - byReference[objectId][ref].push(opId) - byReference[objectId][opId] = [] - } else { - key = `${op.elemId.counter}@${op.elemId.actorId}` - } - } else { - throw new RangeError(`Unknown object type for object ${objectId}`) - } - - if (!byObjectId[objectId]) byObjectId[objectId] = {} - if (!byObjectId[objectId][key]) byObjectId[objectId][key] = {} - byObjectId[objectId][key][opId] = op - op.succ = [] - - for (let pred of op.pred) { - const predId = `${pred.counter}@${pred.actorId}` - if (!byObjectId[objectId][key][predId]) { - throw new RangeError(`No predecessor operation ${predId}`) - } - byObjectId[objectId][key][predId].succ.push(op.id) - } - } - } - - let ops = [] - for (let objectId of Object.keys(byObjectId).sort(sortOpIds)) { - let keys = [] - if (objectType[objectId] === 'makeList' || objectType[objectId] === 'makeText') { - let stack = ['_head'] - while (stack.length > 0) { - const key = stack.pop() - if (key !== '_head') keys.push(key) - for (let opId of byReference[objectId][key].sort(sortOpIds)) stack.push(opId) - } - } else { - // FIXME JavaScript sorts based on UTF-16 encoding. We should change this to use the UTF-8 - // encoding instead (the sort order will be different beyond the basic multilingual plane) - keys = Object.keys(byObjectId[objectId]).sort() - } - - for (let key of keys) { - for (let opId of Object.keys(byObjectId[objectId][key]).sort(sortOpIds)) { - const op = byObjectId[objectId][key][opId] - if (op.action !== 'del') ops.push(op) - } - } - } - return ops -} - -/** - * Takes a set of operations `ops` loaded from an encoded document, and - * reconstructs the changes that they originally came from. - * Does not return anything, only mutates `changes`. - */ -function groupChangeOps(changes, ops) { - let changesByActor = {} // map from actorId to array of changes by that actor - for (let change of changes) { - change.ops = [] - if (!changesByActor[change.actor]) changesByActor[change.actor] = [] - if (change.seq !== changesByActor[change.actor].length + 1) { - throw new RangeError(`Expected seq = ${changesByActor[change.actor].length + 1}, got ${change.seq}`) - } - if (change.seq > 1 && changesByActor[change.actor][change.seq - 2].maxOp > change.maxOp) { - throw new RangeError('maxOp must increase monotonically per actor') - } - changesByActor[change.actor].push(change) - } - - let opsById = {} - for (let op of ops) { - if (op.action === 'del') throw new RangeError('document should not contain del operations') - op.pred = opsById[op.id] ? opsById[op.id].pred : [] - opsById[op.id] = op - for (let succ of op.succ) { - if (!opsById[succ]) { - if (op.elemId) { - const elemId = op.insert ? op.id : op.elemId - opsById[succ] = {id: succ, action: 'del', obj: op.obj, elemId, pred: []} - } else { - opsById[succ] = {id: succ, action: 'del', obj: op.obj, key: op.key, pred: []} - } - } - opsById[succ].pred.push(op.id) - } - delete op.succ - } - for (let op of Object.values(opsById)) { - if (op.action === 'del') ops.push(op) - } - - for (let op of ops) { - const { counter, actorId } = parseOpId(op.id) - const actorChanges = changesByActor[actorId] - // Binary search to find the change that should contain this operation - let left = 0, right = actorChanges.length - while (left < right) { - const index = Math.floor((left + right) / 2) - if (actorChanges[index].maxOp < counter) { - left = index + 1 - } else { - right = index - } - } - if (left >= actorChanges.length) { - throw new RangeError(`Operation ID ${op.id} outside of allowed range`) - } - actorChanges[left].ops.push(op) - } - - for (let change of changes) { - change.ops.sort((op1, op2) => sortOpIds(op1.id, op2.id)) - change.startOp = change.maxOp - change.ops.length + 1 - delete change.maxOp - for (let i = 0; i < change.ops.length; i++) { - const op = change.ops[i], expectedId = `${change.startOp + i}@${change.actor}` - if (op.id !== expectedId) { - throw new RangeError(`Expected opId ${expectedId}, got ${op.id}`) - } - delete op.id - } - } -} - -function encodeDocumentChanges(changes) { - const columns = { // see DOCUMENT_COLUMNS - actor : new RLEEncoder('uint'), - seq : new DeltaEncoder(), - maxOp : new DeltaEncoder(), - time : new DeltaEncoder(), - message : new RLEEncoder('utf8'), - depsNum : new RLEEncoder('uint'), - depsIndex : new DeltaEncoder(), - extraLen : new RLEEncoder('uint'), - extraRaw : new Encoder() - } - let indexByHash = {} // map from change hash to its index in the changes array - let heads = {} // change hashes that are not a dependency of any other change - - for (let i = 0; i < changes.length; i++) { - const change = changes[i] - indexByHash[change.hash] = i - heads[change.hash] = true - - columns.actor.appendValue(change.actorNum) - columns.seq.appendValue(change.seq) - columns.maxOp.appendValue(change.startOp + change.ops.length - 1) - columns.time.appendValue(change.time) - columns.message.appendValue(change.message) - columns.depsNum.appendValue(change.deps.length) - - for (let dep of change.deps) { - if (typeof indexByHash[dep] !== 'number') { - throw new RangeError(`Unknown dependency hash: ${dep}`) - } - columns.depsIndex.appendValue(indexByHash[dep]) - if (heads[dep]) delete heads[dep] - } - - if (change.extraBytes) { - columns.extraLen.appendValue(change.extraBytes.byteLength << 4 | VALUE_TYPE.BYTES) - columns.extraRaw.appendRawBytes(change.extraBytes) - } else { - columns.extraLen.appendValue(VALUE_TYPE.BYTES) // zero-length byte array - } - } - - let changesColumns = [] - for (let {columnName, columnId} of DOCUMENT_COLUMNS) { - changesColumns.push({id: columnId, name: columnName, encoder: columns[columnName]}) - } - changesColumns.sort((a, b) => a.id - b.id) - return { changesColumns, heads: Object.keys(heads).sort() } -} - -function decodeDocumentChanges(changes, expectedHeads) { - let heads = {} // change hashes that are not a dependency of any other change - for (let i = 0; i < changes.length; i++) { - let change = changes[i] - change.deps = [] - for (let index of change.depsNum.map(d => d.depsIndex)) { - if (!changes[index] || !changes[index].hash) { - throw new RangeError(`No hash for index ${index} while processing index ${i}`) - } - const hash = changes[index].hash - change.deps.push(hash) - if (heads[hash]) delete heads[hash] - } - change.deps.sort() - delete change.depsNum - - if (change.extraLen_datatype !== VALUE_TYPE.BYTES) { - throw new RangeError(`Bad datatype for extra bytes: ${VALUE_TYPE.BYTES}`) - } - change.extraBytes = change.extraLen - delete change.extraLen_datatype - - // Encoding and decoding again to compute the hash of the change - changes[i] = decodeChange(encodeChange(change)) - heads[changes[i].hash] = true - } - - const actualHeads = Object.keys(heads).sort() - let headsEqual = (actualHeads.length === expectedHeads.length), i = 0 - while (headsEqual && i < actualHeads.length) { - headsEqual = (actualHeads[i] === expectedHeads[i]) - i++ - } - if (!headsEqual) { - throw new RangeError(`Mismatched heads hashes: expected ${expectedHeads.join(', ')}, got ${actualHeads.join(', ')}`) - } -} - -/** - * Transforms a list of changes into a binary representation of the document state. - */ -function encodeDocument(binaryChanges) { - const { changes, actorIds } = parseAllOpIds(decodeChanges(binaryChanges), false) - const { changesColumns, heads } = encodeDocumentChanges(changes) - const opsColumns = encodeOps(groupDocumentOps(changes), true) - for (let column of changesColumns) deflateColumn(column) - for (let column of opsColumns) deflateColumn(column) - - return encodeContainer(CHUNK_TYPE_DOCUMENT, encoder => { - encoder.appendUint53(actorIds.length) - for (let actor of actorIds) { - encoder.appendHexString(actor) - } - encoder.appendUint53(heads.length) - for (let head of heads.sort()) { - encoder.appendRawBytes(hexStringToBytes(head)) - } - encodeColumnInfo(encoder, changesColumns) - encodeColumnInfo(encoder, opsColumns) - for (let column of changesColumns) encoder.appendRawBytes(column.encoder.buffer) - for (let column of opsColumns) encoder.appendRawBytes(column.encoder.buffer) - }).bytes -} - -function decodeDocumentHeader(buffer) { - const documentDecoder = new Decoder(buffer) - const header = decodeContainerHeader(documentDecoder, true) - const decoder = new Decoder(header.chunkData) - if (!documentDecoder.done) throw new RangeError('Encoded document has trailing data') - if (header.chunkType !== CHUNK_TYPE_DOCUMENT) throw new RangeError(`Unexpected chunk type: ${header.chunkType}`) - - const actorIds = [], numActors = decoder.readUint53() - for (let i = 0; i < numActors; i++) { - actorIds.push(decoder.readHexString()) - } - const heads = [], numHeads = decoder.readUint53() - for (let i = 0; i < numHeads; i++) { - heads.push(bytesToHexString(decoder.readRawBytes(32))) - } - - const changesColumns = decodeColumnInfo(decoder) - const opsColumns = decodeColumnInfo(decoder) - for (let i = 0; i < changesColumns.length; i++) { - changesColumns[i].buffer = decoder.readRawBytes(changesColumns[i].bufferLen) - inflateColumn(changesColumns[i]) - } - for (let i = 0; i < opsColumns.length; i++) { - opsColumns[i].buffer = decoder.readRawBytes(opsColumns[i].bufferLen) - inflateColumn(opsColumns[i]) - } - - const extraBytes = decoder.readRawBytes(decoder.buf.byteLength - decoder.offset) - return { changesColumns, opsColumns, actorIds, heads, extraBytes } -} - -function decodeDocument(buffer) { - const { changesColumns, opsColumns, actorIds, heads } = decodeDocumentHeader(buffer) - const changes = decodeColumns(changesColumns, actorIds, DOCUMENT_COLUMNS) - const ops = decodeOps(decodeColumns(opsColumns, actorIds, DOC_OPS_COLUMNS), true) - groupChangeOps(changes, ops) - decodeDocumentChanges(changes, heads) - return changes -} - -/** - * DEFLATE-compresses the given column if it is large enough to make the compression worthwhile. - */ -function deflateColumn(column) { - if (column.encoder.buffer.byteLength >= DEFLATE_MIN_SIZE) { - column.encoder = {buffer: pako.deflateRaw(column.encoder.buffer)} - column.id |= COLUMN_TYPE_DEFLATE - } -} - -/** - * Decompresses the given column if it is DEFLATE-compressed. - */ -function inflateColumn(column) { - if ((column.columnId & COLUMN_TYPE_DEFLATE) !== 0) { - column.buffer = pako.inflateRaw(column.buffer) - column.columnId ^= COLUMN_TYPE_DEFLATE - } -} - -/** - * Takes all the operations for the same property (i.e. the same key in a map, or the same list - * element) and mutates the object patch to reflect the current value(s) of that property. There - * might be multiple values in the case of a conflict. `objects` is a map from objectId to the - * patch for that object. `property` contains `objId`, `key`, a list of `ops`, and `index` (the - * current list index if the object is a list). Returns true if one or more values are present, - * or false if the property has been deleted. - */ -function addPatchProperty(objects, property) { - let values = {}, counter = null - for (let op of property.ops) { - // Apply counters and their increments regardless of the number of successor operations - if (op.actionName === 'set' && op.value.datatype === 'counter') { - if (!counter) counter = {opId: op.opId, value: 0, succ: {}} - counter.value += op.value.value - for (let succId of op.succ) counter.succ[succId] = true - } else if (op.actionName === 'inc') { - if (!counter) throw new RangeError(`inc operation ${op.opId} without a counter`) - counter.value += op.value.value - delete counter.succ[op.opId] - for (let succId of op.succ) counter.succ[succId] = true - - } else if (op.succ.length === 0) { // Ignore any ops that have been overwritten - if (op.actionName.startsWith('make')) { - values[op.opId] = objects[op.opId] - } else if (op.actionName === 'set') { - values[op.opId] = {value: op.value.value, type: 'value'} - if (op.value.datatype) { - values[op.opId].datatype = op.value.datatype - } - } else if (op.actionName === 'link') { - // NB. This assumes that the ID of the child object is greater than the ID of the current - // object. This is true as long as link operations are only used to redo undone make* - // operations, but it will cease to be true once subtree moves are allowed. - if (!op.childId) throw new RangeError(`link operation ${op.opId} without a childId`) - values[op.opId] = objects[op.childId] - } else { - throw new RangeError(`Unexpected action type: ${op.actionName}`) - } - } - } - - // If the counter had any successor operation that was not an increment, that means the counter - // must have been deleted, so we omit it from the patch. - if (counter && Object.keys(counter.succ).length === 0) { - values[counter.opId] = {type: 'value', value: counter.value, datatype: 'counter'} - } - - if (Object.keys(values).length > 0) { - let obj = objects[property.objId] - if (obj.type === 'map' || obj.type === 'table') { - obj.props[property.key] = values - } else if (obj.type === 'list' || obj.type === 'text') { - makeListEdits(obj, values, property.key, property.index) - } - return true - } else { - return false - } -} - -/** - * When constructing a patch to instantiate a loaded document, this function adds the edits to - * insert one list element. Usually there is one value, but in the case of a conflict there may be - * several values. `elemId` is the ID of the list element, and `index` is the list index at which - * the value(s) should be placed. - */ -function makeListEdits(list, values, elemId, index) { - let firstValue = true - const opIds = Object.keys(values).sort((id1, id2) => compareParsedOpIds(parseOpId(id1), parseOpId(id2))) - for (const opId of opIds) { - if (firstValue) { - list.edits.push({action: 'insert', value: values[opId], elemId, opId, index}) - } else { - list.edits.push({action: 'update', value: values[opId], opId, index}) - } - firstValue = false - } -} - -/** - * Recursively walks the patch tree, calling appendEdit on every list edit in order to consense - * consecutive sequences of insertions into multi-inserts. - */ -function condenseEdits(diff) { - if (diff.type === 'list' || diff.type === 'text') { - diff.edits.forEach(e => condenseEdits(e.value)) - let newEdits = diff.edits - diff.edits = [] - for (const edit of newEdits) appendEdit(diff.edits, edit) - } else if (diff.type === 'map' || diff.type === 'table') { - for (const prop of Object.keys(diff.props)) { - for (const opId of Object.keys(diff.props[prop])) { - condenseEdits(diff.props[prop][opId]) - } - } - } -} - -/** - * Appends a list edit operation (insert, update, remove) to an array of existing operations. If the - * last existing operation can be extended (as a multi-op), we do that. - */ -function appendEdit(existingEdits, nextEdit) { - if (existingEdits.length === 0) { - existingEdits.push(nextEdit) - return - } - - let lastEdit = existingEdits[existingEdits.length - 1] - if (lastEdit.action === 'insert' && nextEdit.action === 'insert' && - lastEdit.index === nextEdit.index - 1 && - lastEdit.value.type === 'value' && nextEdit.value.type === 'value' && - lastEdit.elemId === lastEdit.opId && nextEdit.elemId === nextEdit.opId && - opIdDelta(lastEdit.elemId, nextEdit.elemId, 1)) { - lastEdit.action = 'multi-insert' - lastEdit.values = [lastEdit.value.value, nextEdit.value.value] - delete lastEdit.value - delete lastEdit.opId - - } else if (lastEdit.action === 'multi-insert' && nextEdit.action === 'insert' && - lastEdit.index + lastEdit.values.length === nextEdit.index && - nextEdit.value.type === 'value' && nextEdit.elemId === nextEdit.opId && - opIdDelta(lastEdit.elemId, nextEdit.elemId, lastEdit.values.length)) { - lastEdit.values.push(nextEdit.value.value) - - } else if (lastEdit.action === 'remove' && nextEdit.action === 'remove' && - lastEdit.index === nextEdit.index) { - lastEdit.count += nextEdit.count - - } else { - existingEdits.push(nextEdit) - } -} - -/** - * Returns true if the two given operation IDs have the same actor ID, and the counter of `id2` is - * exactly `delta` greater than the counter of `id1`. - */ -function opIdDelta(id1, id2, delta = 1) { - const parsed1 = parseOpId(id1), parsed2 = parseOpId(id2) - return parsed1.actorId === parsed2.actorId && parsed1.counter + delta === parsed2.counter -} - -/** - * Parses the document (in compressed binary format) given as `documentBuffer` - * and returns a patch that can be sent to the frontend to instantiate the - * current state of that document. - */ -function constructPatch(documentBuffer) { - const { opsColumns, actorIds } = decodeDocumentHeader(documentBuffer) - const col = makeDecoders(opsColumns, DOC_OPS_COLUMNS).reduce( - (acc, col) => Object.assign(acc, {[col.columnName]: col.decoder}), {}) - - let objects = {_root: {objectId: '_root', type: 'map', props: {}}} - let property = null - - while (!col.idActor.done) { - const opId = `${col.idCtr.readValue()}@${actorIds[col.idActor.readValue()]}` - const action = col.action.readValue(), actionName = ACTIONS[action] - if (action % 2 === 0) { // even-numbered actions are object creation - const type = OBJECT_TYPE[actionName] || 'unknown' - if (type === 'list' || type === 'text') { - objects[opId] = {objectId: opId, type, edits: []} - } else { - objects[opId] = {objectId: opId, type, props: {}} - } - } - - const objActor = col.objActor.readValue(), objCtr = col.objCtr.readValue() - const objId = objActor === null ? '_root' : `${objCtr}@${actorIds[objActor]}` - let obj = objects[objId] - if (!obj) throw new RangeError(`Operation for nonexistent object: ${objId}`) - - const keyActor = col.keyActor.readValue(), keyCtr = col.keyCtr.readValue() - const keyStr = col.keyStr.readValue(), insert = !!col.insert.readValue() - const chldActor = col.chldActor.readValue(), chldCtr = col.chldCtr.readValue() - const childId = chldActor === null ? null : `${chldCtr}@${actorIds[chldActor]}` - const sizeTag = col.valLen.readValue() - const rawValue = col.valRaw.readRawBytes(sizeTag >> 4) - const value = decodeValue(sizeTag, rawValue) - const succNum = col.succNum.readValue() - let succ = [] - for (let i = 0; i < succNum; i++) { - succ.push(`${col.succCtr.readValue()}@${actorIds[col.succActor.readValue()]}`) - } - - if (!actionName || obj.type === 'unknown') continue - - let key - if (obj.type === 'list' || obj.type === 'text') { - if (keyCtr === null || (keyCtr === 0 && !insert)) { - throw new RangeError(`Operation ${opId} on ${obj.type} object has no key`) - } - key = insert ? opId : `${keyCtr}@${actorIds[keyActor]}` - } else { - if (keyStr === null) { - throw new RangeError(`Operation ${opId} on ${obj.type} object has no key`) - } - key = keyStr - } - - if (!property || property.objId !== objId || property.key !== key) { - let index = 0 - if (property) { - index = property.index - if (addPatchProperty(objects, property)) index += 1 - if (property.objId !== objId) index = 0 - } - property = {objId, key, index, ops: []} - } - property.ops.push({opId, actionName, value, childId, succ}) - } - - if (property) addPatchProperty(objects, property) - condenseEdits(objects._root) - return objects._root -} - -module.exports = { - COLUMN_TYPE, VALUE_TYPE, ACTIONS, OBJECT_TYPE, DOC_OPS_COLUMNS, CHANGE_COLUMNS, - encoderByColumnId, decoderByColumnId, makeDecoders, decodeValue, - splitContainers, encodeChange, decodeChangeColumns, decodeChange, decodeChangeMeta, decodeChanges, - decodeDocumentHeader, encodeDocument, decodeDocument, - getChangeChecksum, appendEdit, constructPatch -} diff --git a/rust/automerge-wasm/test/helpers/common.js b/rust/automerge-wasm/test/helpers/common.js deleted file mode 100644 index b41cadc8..00000000 --- a/rust/automerge-wasm/test/helpers/common.js +++ /dev/null @@ -1,46 +0,0 @@ -function isObject(obj) { - return typeof obj === 'object' && obj !== null -} - -/** - * Returns a shallow copy of the object `obj`. Faster than `Object.assign({}, obj)`. - * https://jsperf.com/cloning-large-objects/1 - */ -function copyObject(obj) { - if (!isObject(obj)) return {} - let copy = {} - for (let key of Object.keys(obj)) { - copy[key] = obj[key] - } - return copy -} - -/** - * Takes a string in the form that is used to identify operations (a counter concatenated - * with an actor ID, separated by an `@` sign) and returns an object `{counter, actorId}`. - */ -function parseOpId(opId) { - const match = /^(\d+)@(.*)$/.exec(opId || '') - if (!match) { - throw new RangeError(`Not a valid opId: ${opId}`) - } - return {counter: parseInt(match[1], 10), actorId: match[2]} -} - -/** - * Returns true if the two byte arrays contain the same data, false if not. - */ -function equalBytes(array1, array2) { - if (!(array1 instanceof Uint8Array) || !(array2 instanceof Uint8Array)) { - throw new TypeError('equalBytes can only compare Uint8Arrays') - } - if (array1.byteLength !== array2.byteLength) return false - for (let i = 0; i < array1.byteLength; i++) { - if (array1[i] !== array2[i]) return false - } - return true -} - -module.exports = { - isObject, copyObject, parseOpId, equalBytes -} diff --git a/rust/automerge-wasm/test/helpers/encoding.js b/rust/automerge-wasm/test/helpers/encoding.js deleted file mode 100644 index 92b62df6..00000000 --- a/rust/automerge-wasm/test/helpers/encoding.js +++ /dev/null @@ -1,1209 +0,0 @@ -/** - * UTF-8 decoding and encoding using API that is supported in Node >= 12 and modern browsers: - * https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder/encode - * https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder/decode - * If you're running in an environment where it's not available, please use a polyfill, such as: - * https://github.com/anonyco/FastestSmallestTextEncoderDecoder - */ -const utf8encoder = new TextEncoder() -const utf8decoder = new TextDecoder('utf-8') - -function stringToUtf8(string) { - return utf8encoder.encode(string) -} - -function utf8ToString(buffer) { - return utf8decoder.decode(buffer) -} - -/** - * Converts a string consisting of hexadecimal digits into an Uint8Array. - */ -function hexStringToBytes(value) { - if (typeof value !== 'string') { - throw new TypeError('value is not a string') - } - if (!/^([0-9a-f][0-9a-f])*$/.test(value)) { - throw new RangeError('value is not hexadecimal') - } - if (value === '') { - return new Uint8Array(0) - } else { - return new Uint8Array(value.match(/../g).map(b => parseInt(b, 16))) - } -} - -const NIBBLE_TO_HEX = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'] -const BYTE_TO_HEX = new Array(256) -for (let i = 0; i < 256; i++) { - BYTE_TO_HEX[i] = `${NIBBLE_TO_HEX[(i >>> 4) & 0xf]}${NIBBLE_TO_HEX[i & 0xf]}`; -} - -/** - * Converts a Uint8Array into the equivalent hexadecimal string. - */ -function bytesToHexString(bytes) { - let hex = '', len = bytes.byteLength - for (let i = 0; i < len; i++) { - hex += BYTE_TO_HEX[bytes[i]] - } - return hex -} - -/** - * Wrapper around an Uint8Array that allows values to be appended to the buffer, - * and that automatically grows the buffer when space runs out. - */ -class Encoder { - constructor() { - this.buf = new Uint8Array(16) - this.offset = 0 - } - - /** - * Returns the byte array containing the encoded data. - */ - get buffer() { - this.finish() - return this.buf.subarray(0, this.offset) - } - - /** - * Reallocates the encoder's buffer to be bigger. - */ - grow(minSize = 0) { - let newSize = this.buf.byteLength * 4 - while (newSize < minSize) newSize *= 2 - const newBuf = new Uint8Array(newSize) - newBuf.set(this.buf, 0) - this.buf = newBuf - return this - } - - /** - * Appends one byte (0 to 255) to the buffer. - */ - appendByte(value) { - if (this.offset >= this.buf.byteLength) this.grow() - this.buf[this.offset] = value - this.offset += 1 - } - - /** - * Encodes a 32-bit nonnegative integer in a variable number of bytes using - * the LEB128 encoding scheme (https://en.wikipedia.org/wiki/LEB128) and - * appends it to the buffer. Returns the number of bytes written. - */ - appendUint32(value) { - if (!Number.isInteger(value)) throw new RangeError('value is not an integer') - if (value < 0 || value > 0xffffffff) throw new RangeError('number out of range') - - const numBytes = Math.max(1, Math.ceil((32 - Math.clz32(value)) / 7)) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - - for (let i = 0; i < numBytes; i++) { - this.buf[this.offset + i] = (value & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - value >>>= 7 // zero-filling right shift - } - this.offset += numBytes - return numBytes - } - - /** - * Encodes a 32-bit signed integer in a variable number of bytes using the - * LEB128 encoding scheme (https://en.wikipedia.org/wiki/LEB128) and appends - * it to the buffer. Returns the number of bytes written. - */ - appendInt32(value) { - if (!Number.isInteger(value)) throw new RangeError('value is not an integer') - if (value < -0x80000000 || value > 0x7fffffff) throw new RangeError('number out of range') - - const numBytes = Math.ceil((33 - Math.clz32(value >= 0 ? value : -value - 1)) / 7) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - - for (let i = 0; i < numBytes; i++) { - this.buf[this.offset + i] = (value & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - value >>= 7 // sign-propagating right shift - } - this.offset += numBytes - return numBytes - } - - /** - * Encodes a nonnegative integer in a variable number of bytes using the LEB128 - * encoding scheme, up to the maximum size of integers supported by JavaScript - * (53 bits). - */ - appendUint53(value) { - if (!Number.isInteger(value)) throw new RangeError('value is not an integer') - if (value < 0 || value > Number.MAX_SAFE_INTEGER) { - throw new RangeError('number out of range') - } - const high32 = Math.floor(value / 0x100000000) - const low32 = (value & 0xffffffff) >>> 0 // right shift to interpret as unsigned - return this.appendUint64(high32, low32) - } - - /** - * Encodes a signed integer in a variable number of bytes using the LEB128 - * encoding scheme, up to the maximum size of integers supported by JavaScript - * (53 bits). - */ - appendInt53(value) { - if (!Number.isInteger(value)) throw new RangeError('value is not an integer') - if (value < Number.MIN_SAFE_INTEGER || value > Number.MAX_SAFE_INTEGER) { - throw new RangeError('number out of range') - } - const high32 = Math.floor(value / 0x100000000) - const low32 = (value & 0xffffffff) >>> 0 // right shift to interpret as unsigned - return this.appendInt64(high32, low32) - } - - /** - * Encodes a 64-bit nonnegative integer in a variable number of bytes using - * the LEB128 encoding scheme, and appends it to the buffer. The number is - * given as two 32-bit halves since JavaScript cannot accurately represent - * integers with more than 53 bits in a single variable. - */ - appendUint64(high32, low32) { - if (!Number.isInteger(high32) || !Number.isInteger(low32)) { - throw new RangeError('value is not an integer') - } - if (high32 < 0 || high32 > 0xffffffff || low32 < 0 || low32 > 0xffffffff) { - throw new RangeError('number out of range') - } - if (high32 === 0) return this.appendUint32(low32) - - const numBytes = Math.ceil((64 - Math.clz32(high32)) / 7) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - for (let i = 0; i < 4; i++) { - this.buf[this.offset + i] = (low32 & 0x7f) | 0x80 - low32 >>>= 7 // zero-filling right shift - } - this.buf[this.offset + 4] = (low32 & 0x0f) | ((high32 & 0x07) << 4) | (numBytes === 5 ? 0x00 : 0x80) - high32 >>>= 3 - for (let i = 5; i < numBytes; i++) { - this.buf[this.offset + i] = (high32 & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - high32 >>>= 7 - } - this.offset += numBytes - return numBytes - } - - /** - * Encodes a 64-bit signed integer in a variable number of bytes using the - * LEB128 encoding scheme, and appends it to the buffer. The number is given - * as two 32-bit halves since JavaScript cannot accurately represent integers - * with more than 53 bits in a single variable. The sign of the 64-bit - * number is determined by the sign of the `high32` half; the sign of the - * `low32` half is ignored. - */ - appendInt64(high32, low32) { - if (!Number.isInteger(high32) || !Number.isInteger(low32)) { - throw new RangeError('value is not an integer') - } - if (high32 < -0x80000000 || high32 > 0x7fffffff || low32 < -0x80000000 || low32 > 0xffffffff) { - throw new RangeError('number out of range') - } - low32 >>>= 0 // interpret as unsigned - if (high32 === 0 && low32 <= 0x7fffffff) return this.appendInt32(low32) - if (high32 === -1 && low32 >= 0x80000000) return this.appendInt32(low32 - 0x100000000) - - const numBytes = Math.ceil((65 - Math.clz32(high32 >= 0 ? high32 : -high32 - 1)) / 7) - if (this.offset + numBytes > this.buf.byteLength) this.grow() - for (let i = 0; i < 4; i++) { - this.buf[this.offset + i] = (low32 & 0x7f) | 0x80 - low32 >>>= 7 // zero-filling right shift - } - this.buf[this.offset + 4] = (low32 & 0x0f) | ((high32 & 0x07) << 4) | (numBytes === 5 ? 0x00 : 0x80) - high32 >>= 3 // sign-propagating right shift - for (let i = 5; i < numBytes; i++) { - this.buf[this.offset + i] = (high32 & 0x7f) | (i === numBytes - 1 ? 0x00 : 0x80) - high32 >>= 7 - } - this.offset += numBytes - return numBytes - } - - /** - * Appends the contents of byte buffer `data` to the buffer. Returns the - * number of bytes appended. - */ - appendRawBytes(data) { - if (this.offset + data.byteLength > this.buf.byteLength) { - this.grow(this.offset + data.byteLength) - } - this.buf.set(data, this.offset) - this.offset += data.byteLength - return data.byteLength - } - - /** - * Appends a UTF-8 string to the buffer, without any metadata. Returns the - * number of bytes appended. - */ - appendRawString(value) { - if (typeof value !== 'string') throw new TypeError('value is not a string') - return this.appendRawBytes(stringToUtf8(value)) - } - - /** - * Appends the contents of byte buffer `data` to the buffer, prefixed with the - * number of bytes in the buffer (as a LEB128-encoded unsigned integer). - */ - appendPrefixedBytes(data) { - this.appendUint53(data.byteLength) - this.appendRawBytes(data) - return this - } - - /** - * Appends a UTF-8 string to the buffer, prefixed with its length in bytes - * (where the length is encoded as an unsigned LEB128 integer). - */ - appendPrefixedString(value) { - if (typeof value !== 'string') throw new TypeError('value is not a string') - this.appendPrefixedBytes(stringToUtf8(value)) - return this - } - - /** - * Takes a value, which must be a string consisting only of hexadecimal - * digits, maps it to a byte array, and appends it to the buffer, prefixed - * with its length in bytes. - */ - appendHexString(value) { - this.appendPrefixedBytes(hexStringToBytes(value)) - return this - } - - /** - * Flushes any unwritten data to the buffer. Call this before reading from - * the buffer constructed by this Encoder. - */ - finish() { - } -} - -/** - * Counterpart to Encoder. Wraps a Uint8Array buffer with a cursor indicating - * the current decoding position, and allows values to be incrementally read by - * decoding the bytes at the current position. - */ -class Decoder { - constructor(buffer) { - if (!(buffer instanceof Uint8Array)) { - throw new TypeError(`Not a byte array: ${buffer}`) - } - this.buf = buffer - this.offset = 0 - } - - /** - * Returns false if there is still data to be read at the current decoding - * position, and true if we are at the end of the buffer. - */ - get done() { - return this.offset === this.buf.byteLength - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - } - - /** - * Moves the current decoding position forward by the specified number of - * bytes, without decoding anything. - */ - skip(bytes) { - if (this.offset + bytes > this.buf.byteLength) { - throw new RangeError('cannot skip beyond end of buffer') - } - this.offset += bytes - } - - /** - * Reads one byte (0 to 255) from the buffer. - */ - readByte() { - this.offset += 1 - return this.buf[this.offset - 1] - } - - /** - * Reads a LEB128-encoded unsigned integer from the current position in the buffer. - * Throws an exception if the value doesn't fit in a 32-bit unsigned int. - */ - readUint32() { - let result = 0, shift = 0 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - if (shift === 28 && (nextByte & 0xf0) !== 0) { // more than 5 bytes, or value > 0xffffffff - throw new RangeError('number out of range') - } - result = (result | (nextByte & 0x7f) << shift) >>> 0 // right shift to interpret value as unsigned - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) return result - } - throw new RangeError('buffer ended with incomplete number') - } - - /** - * Reads a LEB128-encoded signed integer from the current position in the buffer. - * Throws an exception if the value doesn't fit in a 32-bit signed int. - */ - readInt32() { - let result = 0, shift = 0 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - if ((shift === 28 && (nextByte & 0x80) !== 0) || // more than 5 bytes - (shift === 28 && (nextByte & 0x40) === 0 && (nextByte & 0x38) !== 0) || // positive int > 0x7fffffff - (shift === 28 && (nextByte & 0x40) !== 0 && (nextByte & 0x38) !== 0x38)) { // negative int < -0x80000000 - throw new RangeError('number out of range') - } - result |= (nextByte & 0x7f) << shift - shift += 7 - this.offset++ - - if ((nextByte & 0x80) === 0) { - if ((nextByte & 0x40) === 0 || shift > 28) { - return result // positive, or negative value that doesn't need sign-extending - } else { - return result | (-1 << shift) // sign-extend negative integer - } - } - } - throw new RangeError('buffer ended with incomplete number') - } - - /** - * Reads a LEB128-encoded unsigned integer from the current position in the - * buffer. Allows any integer that can be safely represented by JavaScript - * (up to 2^53 - 1), and throws an exception outside of that range. - */ - readUint53() { - const { low32, high32 } = this.readUint64() - if (high32 < 0 || high32 > 0x1fffff) { - throw new RangeError('number out of range') - } - return high32 * 0x100000000 + low32 - } - - /** - * Reads a LEB128-encoded signed integer from the current position in the - * buffer. Allows any integer that can be safely represented by JavaScript - * (between -(2^53 - 1) and 2^53 - 1), throws an exception outside of that range. - */ - readInt53() { - const { low32, high32 } = this.readInt64() - if (high32 < -0x200000 || (high32 === -0x200000 && low32 === 0) || high32 > 0x1fffff) { - throw new RangeError('number out of range') - } - return high32 * 0x100000000 + low32 - } - - /** - * Reads a LEB128-encoded unsigned integer from the current position in the - * buffer. Throws an exception if the value doesn't fit in a 64-bit unsigned - * int. Returns the number in two 32-bit halves, as an object of the form - * `{high32, low32}`. - */ - readUint64() { - let low32 = 0, high32 = 0, shift = 0 - while (this.offset < this.buf.byteLength && shift <= 28) { - const nextByte = this.buf[this.offset] - low32 = (low32 | (nextByte & 0x7f) << shift) >>> 0 // right shift to interpret value as unsigned - if (shift === 28) { - high32 = (nextByte & 0x70) >>> 4 - } - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) return { high32, low32 } - } - - shift = 3 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - if (shift === 31 && (nextByte & 0xfe) !== 0) { // more than 10 bytes, or value > 2^64 - 1 - throw new RangeError('number out of range') - } - high32 = (high32 | (nextByte & 0x7f) << shift) >>> 0 - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) return { high32, low32 } - } - throw new RangeError('buffer ended with incomplete number') - } - - /** - * Reads a LEB128-encoded signed integer from the current position in the - * buffer. Throws an exception if the value doesn't fit in a 64-bit signed - * int. Returns the number in two 32-bit halves, as an object of the form - * `{high32, low32}`. The `low32` half is always non-negative, and the - * sign of the `high32` half indicates the sign of the 64-bit number. - */ - readInt64() { - let low32 = 0, high32 = 0, shift = 0 - while (this.offset < this.buf.byteLength && shift <= 28) { - const nextByte = this.buf[this.offset] - low32 = (low32 | (nextByte & 0x7f) << shift) >>> 0 // right shift to interpret value as unsigned - if (shift === 28) { - high32 = (nextByte & 0x70) >>> 4 - } - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) { - if ((nextByte & 0x40) !== 0) { // sign-extend negative integer - if (shift < 32) low32 = (low32 | (-1 << shift)) >>> 0 - high32 |= -1 << Math.max(shift - 32, 0) - } - return { high32, low32 } - } - } - - shift = 3 - while (this.offset < this.buf.byteLength) { - const nextByte = this.buf[this.offset] - // On the 10th byte there are only two valid values: all 7 value bits zero - // (if the value is positive) or all 7 bits one (if the value is negative) - if (shift === 31 && nextByte !== 0 && nextByte !== 0x7f) { - throw new RangeError('number out of range') - } - high32 |= (nextByte & 0x7f) << shift - shift += 7 - this.offset++ - if ((nextByte & 0x80) === 0) { - if ((nextByte & 0x40) !== 0 && shift < 32) { // sign-extend negative integer - high32 |= -1 << shift - } - return { high32, low32 } - } - } - throw new RangeError('buffer ended with incomplete number') - } - - /** - * Extracts a subarray `length` bytes in size, starting from the current - * position in the buffer, and moves the position forward. - */ - readRawBytes(length) { - const start = this.offset - if (start + length > this.buf.byteLength) { - throw new RangeError('subarray exceeds buffer size') - } - this.offset += length - return this.buf.subarray(start, this.offset) - } - - /** - * Extracts `length` bytes from the buffer, starting from the current position, - * and returns the UTF-8 string decoding of those bytes. - */ - readRawString(length) { - return utf8ToString(this.readRawBytes(length)) - } - - /** - * Extracts a subarray from the current position in the buffer, prefixed with - * its length in bytes (encoded as an unsigned LEB128 integer). - */ - readPrefixedBytes() { - return this.readRawBytes(this.readUint53()) - } - - /** - * Reads a UTF-8 string from the current position in the buffer, prefixed with its - * length in bytes (where the length is encoded as an unsigned LEB128 integer). - */ - readPrefixedString() { - return utf8ToString(this.readPrefixedBytes()) - } - - /** - * Reads a byte array from the current position in the buffer, prefixed with its - * length in bytes. Returns that byte array converted to a hexadecimal string. - */ - readHexString() { - return bytesToHexString(this.readPrefixedBytes()) - } -} - -/** - * An encoder that uses run-length encoding to compress sequences of repeated - * values. The constructor argument specifies the type of values, which may be - * either 'int', 'uint', or 'utf8'. Besides valid values of the selected - * datatype, values may also be null. - * - * The encoded buffer starts with a LEB128-encoded signed integer, the - * repetition count. The interpretation of the following values depends on this - * repetition count: - * - If this number is a positive value n, the next value in the buffer - * (encoded as the specified datatype) is repeated n times in the sequence. - * - If the repetition count is a negative value -n, then the next n values - * (encoded as the specified datatype) in the buffer are treated as a - * literal, i.e. they appear in the sequence without any further - * interpretation or repetition. - * - If the repetition count is zero, then the next value in the buffer is a - * LEB128-encoded unsigned integer indicating the number of null values - * that appear at the current position in the sequence. - * - * After one of these three has completed, the process repeats, starting again - * with a repetition count, until we reach the end of the buffer. - */ -class RLEEncoder extends Encoder { - constructor(type) { - super() - this.type = type - this.state = 'empty' - this.lastValue = undefined - this.count = 0 - this.literal = [] - } - - /** - * Appends a new value to the sequence. If `repetitions` is given, the value is repeated - * `repetitions` times. - */ - appendValue(value, repetitions = 1) { - this._appendValue(value, repetitions) - } - - /** - * Like `appendValue()`, but this method is not overridden by `DeltaEncoder`. - */ - _appendValue(value, repetitions = 1) { - if (repetitions <= 0) return - if (this.state === 'empty') { - this.state = (value === null ? 'nulls' : (repetitions === 1 ? 'loneValue' : 'repetition')) - this.lastValue = value - this.count = repetitions - } else if (this.state === 'loneValue') { - if (value === null) { - this.flush() - this.state = 'nulls' - this.count = repetitions - } else if (value === this.lastValue) { - this.state = 'repetition' - this.count = 1 + repetitions - } else if (repetitions > 1) { - this.flush() - this.state = 'repetition' - this.count = repetitions - this.lastValue = value - } else { - this.state = 'literal' - this.literal = [this.lastValue] - this.lastValue = value - } - } else if (this.state === 'repetition') { - if (value === null) { - this.flush() - this.state = 'nulls' - this.count = repetitions - } else if (value === this.lastValue) { - this.count += repetitions - } else if (repetitions > 1) { - this.flush() - this.state = 'repetition' - this.count = repetitions - this.lastValue = value - } else { - this.flush() - this.state = 'loneValue' - this.lastValue = value - } - } else if (this.state === 'literal') { - if (value === null) { - this.literal.push(this.lastValue) - this.flush() - this.state = 'nulls' - this.count = repetitions - } else if (value === this.lastValue) { - this.flush() - this.state = 'repetition' - this.count = 1 + repetitions - } else if (repetitions > 1) { - this.literal.push(this.lastValue) - this.flush() - this.state = 'repetition' - this.count = repetitions - this.lastValue = value - } else { - this.literal.push(this.lastValue) - this.lastValue = value - } - } else if (this.state === 'nulls') { - if (value === null) { - this.count += repetitions - } else if (repetitions > 1) { - this.flush() - this.state = 'repetition' - this.count = repetitions - this.lastValue = value - } else { - this.flush() - this.state = 'loneValue' - this.lastValue = value - } - } - } - - /** - * Copies values from the RLEDecoder `decoder` into this encoder. The `options` object may - * contain the following keys: - * - `count`: The number of values to copy. If not specified, copies all remaining values. - * - `sumValues`: If true, the function computes the sum of all numeric values as they are - * copied (null values are counted as zero), and returns that number. - * - `sumShift`: If set, values are shifted right by `sumShift` bits before adding to the sum. - * - * Returns an object of the form `{nonNullValues, sum}` where `nonNullValues` is the number of - * non-null values copied, and `sum` is the sum (only if the `sumValues` option is set). - */ - copyFrom(decoder, options = {}) { - const { count, sumValues, sumShift } = options - if (!(decoder instanceof RLEDecoder) || (decoder.type !== this.type)) { - throw new TypeError('incompatible type of decoder') - } - let remaining = (typeof count === 'number' ? count : Number.MAX_SAFE_INTEGER) - let nonNullValues = 0, sum = 0 - if (count && remaining > 0 && decoder.done) throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) return sumValues ? {nonNullValues, sum} : {nonNullValues} - - // Copy a value so that we have a well-defined starting state. NB: when super.copyFrom() is - // called by the DeltaEncoder subclass, the following calls to readValue() and appendValue() - // refer to the overridden methods, while later readRecord(), readRawValue() and _appendValue() - // calls refer to the non-overridden RLEDecoder/RLEEncoder methods. - let firstValue = decoder.readValue() - if (firstValue === null) { - const numNulls = Math.min(decoder.count + 1, remaining) - remaining -= numNulls - decoder.count -= numNulls - 1 - this.appendValue(null, numNulls) - if (count && remaining > 0 && decoder.done) throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) return sumValues ? {nonNullValues, sum} : {nonNullValues} - firstValue = decoder.readValue() - if (firstValue === null) throw new RangeError('null run must be followed by non-null value') - } - this.appendValue(firstValue) - remaining-- - nonNullValues++ - if (sumValues) sum += (sumShift ? (firstValue >>> sumShift) : firstValue) - if (count && remaining > 0 && decoder.done) throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) return sumValues ? {nonNullValues, sum} : {nonNullValues} - - // Copy data at the record level without expanding repetitions - let firstRun = (decoder.count > 0) - while (remaining > 0 && !decoder.done) { - if (!firstRun) decoder.readRecord() - const numValues = Math.min(decoder.count, remaining) - decoder.count -= numValues - - if (decoder.state === 'literal') { - nonNullValues += numValues - for (let i = 0; i < numValues; i++) { - if (decoder.done) throw new RangeError('incomplete literal') - const value = decoder.readRawValue() - if (value === decoder.lastValue) throw new RangeError('Repetition of values is not allowed in literal') - decoder.lastValue = value - this._appendValue(value) - if (sumValues) sum += (sumShift ? (value >>> sumShift) : value) - } - } else if (decoder.state === 'repetition') { - nonNullValues += numValues - if (sumValues) sum += numValues * (sumShift ? (decoder.lastValue >>> sumShift) : decoder.lastValue) - const value = decoder.lastValue - this._appendValue(value) - if (numValues > 1) { - this._appendValue(value) - if (this.state !== 'repetition') throw new RangeError(`Unexpected state ${this.state}`) - this.count += numValues - 2 - } - } else if (decoder.state === 'nulls') { - this._appendValue(null) - if (this.state !== 'nulls') throw new RangeError(`Unexpected state ${this.state}`) - this.count += numValues - 1 - } - - firstRun = false - remaining -= numValues - } - if (count && remaining > 0 && decoder.done) throw new RangeError(`cannot copy ${count} values`) - return sumValues ? {nonNullValues, sum} : {nonNullValues} - } - - /** - * Private method, do not call from outside the class. - */ - flush() { - if (this.state === 'loneValue') { - this.appendInt32(-1) - this.appendRawValue(this.lastValue) - } else if (this.state === 'repetition') { - this.appendInt53(this.count) - this.appendRawValue(this.lastValue) - } else if (this.state === 'literal') { - this.appendInt53(-this.literal.length) - for (let v of this.literal) this.appendRawValue(v) - } else if (this.state === 'nulls') { - this.appendInt32(0) - this.appendUint53(this.count) - } - this.state = 'empty' - } - - /** - * Private method, do not call from outside the class. - */ - appendRawValue(value) { - if (this.type === 'int') { - this.appendInt53(value) - } else if (this.type === 'uint') { - this.appendUint53(value) - } else if (this.type === 'utf8') { - this.appendPrefixedString(value) - } else { - throw new RangeError(`Unknown RLEEncoder datatype: ${this.type}`) - } - } - - /** - * Flushes any unwritten data to the buffer. Call this before reading from - * the buffer constructed by this Encoder. - */ - finish() { - if (this.state === 'literal') this.literal.push(this.lastValue) - // Don't write anything if the only values we have seen are nulls - if (this.state !== 'nulls' || this.offset > 0) this.flush() - } -} - -/** - * Counterpart to RLEEncoder: reads values from an RLE-compressed sequence, - * returning nulls and repeated values as required. - */ -class RLEDecoder extends Decoder { - constructor(type, buffer) { - super(buffer) - this.type = type - this.lastValue = undefined - this.count = 0 - this.state = undefined - } - - /** - * Returns false if there is still data to be read at the current decoding - * position, and true if we are at the end of the buffer. - */ - get done() { - return (this.count === 0) && (this.offset === this.buf.byteLength) - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - this.lastValue = undefined - this.count = 0 - this.state = undefined - } - - /** - * Returns the next value (or null) in the sequence. - */ - readValue() { - if (this.done) return null - if (this.count === 0) this.readRecord() - this.count -= 1 - if (this.state === 'literal') { - const value = this.readRawValue() - if (value === this.lastValue) throw new RangeError('Repetition of values is not allowed in literal') - this.lastValue = value - return value - } else { - return this.lastValue - } - } - - /** - * Discards the next `numSkip` values in the sequence. - */ - skipValues(numSkip) { - while (numSkip > 0 && !this.done) { - if (this.count === 0) { - this.count = this.readInt53() - if (this.count > 0) { - this.lastValue = (this.count <= numSkip) ? this.skipRawValues(1) : this.readRawValue() - this.state = 'repetition' - } else if (this.count < 0) { - this.count = -this.count - this.state = 'literal' - } else { // this.count == 0 - this.count = this.readUint53() - this.lastValue = null - this.state = 'nulls' - } - } - - const consume = Math.min(numSkip, this.count) - if (this.state === 'literal') this.skipRawValues(consume) - numSkip -= consume - this.count -= consume - } - } - - /** - * Private method, do not call from outside the class. - * Reads a repetition count from the buffer and sets up the state appropriately. - */ - readRecord() { - this.count = this.readInt53() - if (this.count > 1) { - const value = this.readRawValue() - if ((this.state === 'repetition' || this.state === 'literal') && this.lastValue === value) { - throw new RangeError('Successive repetitions with the same value are not allowed') - } - this.state = 'repetition' - this.lastValue = value - } else if (this.count === 1) { - throw new RangeError('Repetition count of 1 is not allowed, use a literal instead') - } else if (this.count < 0) { - this.count = -this.count - if (this.state === 'literal') throw new RangeError('Successive literals are not allowed') - this.state = 'literal' - } else { // this.count == 0 - if (this.state === 'nulls') throw new RangeError('Successive null runs are not allowed') - this.count = this.readUint53() - if (this.count === 0) throw new RangeError('Zero-length null runs are not allowed') - this.lastValue = null - this.state = 'nulls' - } - } - - /** - * Private method, do not call from outside the class. - * Reads one value of the datatype configured on construction. - */ - readRawValue() { - if (this.type === 'int') { - return this.readInt53() - } else if (this.type === 'uint') { - return this.readUint53() - } else if (this.type === 'utf8') { - return this.readPrefixedString() - } else { - throw new RangeError(`Unknown RLEDecoder datatype: ${this.type}`) - } - } - - /** - * Private method, do not call from outside the class. - * Skips over `num` values of the datatype configured on construction. - */ - skipRawValues(num) { - if (this.type === 'utf8') { - for (let i = 0; i < num; i++) this.skip(this.readUint53()) - } else { - while (num > 0 && this.offset < this.buf.byteLength) { - if ((this.buf[this.offset] & 0x80) === 0) num-- - this.offset++ - } - if (num > 0) throw new RangeError('cannot skip beyond end of buffer') - } - } -} - -/** - * A variant of RLEEncoder: rather than storing the actual values passed to - * appendValue(), this version stores only the first value, and for all - * subsequent values it stores the difference to the previous value. This - * encoding is good when values tend to come in sequentially incrementing runs, - * because the delta between successive values is 1, and repeated values of 1 - * are easily compressed with run-length encoding. - * - * Null values are also allowed, as with RLEEncoder. - */ -class DeltaEncoder extends RLEEncoder { - constructor() { - super('int') - this.absoluteValue = 0 - } - - /** - * Appends a new integer value to the sequence. If `repetitions` is given, the value is repeated - * `repetitions` times. - */ - appendValue(value, repetitions = 1) { - if (repetitions <= 0) return - if (typeof value === 'number') { - super.appendValue(value - this.absoluteValue, 1) - this.absoluteValue = value - if (repetitions > 1) super.appendValue(0, repetitions - 1) - } else { - super.appendValue(value, repetitions) - } - } - - /** - * Copies values from the DeltaDecoder `decoder` into this encoder. The `options` object may - * contain the key `count`, indicating the number of values to copy. If not specified, copies - * all remaining values in the decoder. - */ - copyFrom(decoder, options = {}) { - if (options.sumValues) { - throw new RangeError('unsupported options for DeltaEncoder.copyFrom()') - } - if (!(decoder instanceof DeltaDecoder)) { - throw new TypeError('incompatible type of decoder') - } - - let remaining = options.count - if (remaining > 0 && decoder.done) throw new RangeError(`cannot copy ${remaining} values`) - if (remaining === 0 || decoder.done) return - - // Copy any null values, and the first non-null value, so that appendValue() computes the - // difference between the encoder's last value and the decoder's first (absolute) value. - let value = decoder.readValue(), nulls = 0 - this.appendValue(value) - if (value === null) { - nulls = decoder.count + 1 - if (remaining !== undefined && remaining < nulls) nulls = remaining - decoder.count -= nulls - 1 - this.count += nulls - 1 - if (remaining > nulls && decoder.done) throw new RangeError(`cannot copy ${remaining} values`) - if (remaining === nulls || decoder.done) return - - // The next value read is certain to be non-null because we're not at the end of the decoder, - // and a run of nulls must be followed by a run of non-nulls. - if (decoder.count === 0) this.appendValue(decoder.readValue()) - } - - // Once we have the first value, the subsequent relative values can be copied verbatim without - // any further processing. Note that the first value copied by super.copyFrom() is an absolute - // value, while subsequent values are relative. Thus, the sum of all of the (non-null) copied - // values must equal the absolute value of the final element copied. - if (remaining !== undefined) remaining -= nulls + 1 - const { nonNullValues, sum } = super.copyFrom(decoder, {count: remaining, sumValues: true}) - if (nonNullValues > 0) { - this.absoluteValue = sum - decoder.absoluteValue = sum - } - } -} - -/** - * Counterpart to DeltaEncoder: reads values from a delta-compressed sequence of - * numbers (may include null values). - */ -class DeltaDecoder extends RLEDecoder { - constructor(buffer) { - super('int', buffer) - this.absoluteValue = 0 - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - this.lastValue = undefined - this.count = 0 - this.state = undefined - this.absoluteValue = 0 - } - - /** - * Returns the next integer (or null) value in the sequence. - */ - readValue() { - const value = super.readValue() - if (value === null) return null - this.absoluteValue += value - return this.absoluteValue - } - - /** - * Discards the next `numSkip` values in the sequence. - */ - skipValues(numSkip) { - while (numSkip > 0 && !this.done) { - if (this.count === 0) this.readRecord() - const consume = Math.min(numSkip, this.count) - if (this.state === 'literal') { - for (let i = 0; i < consume; i++) { - this.lastValue = this.readRawValue() - this.absoluteValue += this.lastValue - } - } else if (this.state === 'repetition') { - this.absoluteValue += consume * this.lastValue - } - numSkip -= consume - this.count -= consume - } - } -} - -/** - * Encodes a sequence of boolean values by mapping it to a sequence of integers: - * the number of false values, followed by the number of true values, followed - * by the number of false values, and so on. Each number is encoded as a LEB128 - * unsigned integer. This encoding is a bit like RLEEncoder, except that we - * only encode the repetition count but not the actual value, since the values - * just alternate between false and true (starting with false). - */ -class BooleanEncoder extends Encoder { - constructor() { - super() - this.lastValue = false - this.count = 0 - } - - /** - * Appends a new value to the sequence. If `repetitions` is given, the value is repeated - * `repetitions` times. - */ - appendValue(value, repetitions = 1) { - if (value !== false && value !== true) { - throw new RangeError(`Unsupported value for BooleanEncoder: ${value}`) - } - if (repetitions <= 0) return - if (this.lastValue === value) { - this.count += repetitions - } else { - this.appendUint53(this.count) - this.lastValue = value - this.count = repetitions - } - } - - /** - * Copies values from the BooleanDecoder `decoder` into this encoder. The `options` object may - * contain the key `count`, indicating the number of values to copy. If not specified, copies - * all remaining values in the decoder. - */ - copyFrom(decoder, options = {}) { - if (!(decoder instanceof BooleanDecoder)) { - throw new TypeError('incompatible type of decoder') - } - - const { count } = options - let remaining = (typeof count === 'number' ? count : Number.MAX_SAFE_INTEGER) - if (count && remaining > 0 && decoder.done) throw new RangeError(`cannot copy ${count} values`) - if (remaining === 0 || decoder.done) return - - // Copy one value to bring decoder and encoder state into sync, then finish that value's repetitions - this.appendValue(decoder.readValue()) - remaining-- - const firstCopy = Math.min(decoder.count, remaining) - this.count += firstCopy - decoder.count -= firstCopy - remaining -= firstCopy - - while (remaining > 0 && !decoder.done) { - decoder.count = decoder.readUint53() - if (decoder.count === 0) throw new RangeError('Zero-length runs are not allowed') - decoder.lastValue = !decoder.lastValue - this.appendUint53(this.count) - - const numCopied = Math.min(decoder.count, remaining) - this.count = numCopied - this.lastValue = decoder.lastValue - decoder.count -= numCopied - remaining -= numCopied - } - - if (count && remaining > 0 && decoder.done) throw new RangeError(`cannot copy ${count} values`) - } - - /** - * Flushes any unwritten data to the buffer. Call this before reading from - * the buffer constructed by this Encoder. - */ - finish() { - if (this.count > 0) { - this.appendUint53(this.count) - this.count = 0 - } - } -} - -/** - * Counterpart to BooleanEncoder: reads boolean values from a runlength-encoded - * sequence. - */ -class BooleanDecoder extends Decoder { - constructor(buffer) { - super(buffer) - this.lastValue = true // is negated the first time we read a count - this.firstRun = true - this.count = 0 - } - - /** - * Returns false if there is still data to be read at the current decoding - * position, and true if we are at the end of the buffer. - */ - get done() { - return (this.count === 0) && (this.offset === this.buf.byteLength) - } - - /** - * Resets the cursor position, so that the next read goes back to the - * beginning of the buffer. - */ - reset() { - this.offset = 0 - this.lastValue = true - this.firstRun = true - this.count = 0 - } - - /** - * Returns the next value in the sequence. - */ - readValue() { - if (this.done) return false - while (this.count === 0) { - this.count = this.readUint53() - this.lastValue = !this.lastValue - if (this.count === 0 && !this.firstRun) { - throw new RangeError('Zero-length runs are not allowed') - } - this.firstRun = false - } - this.count -= 1 - return this.lastValue - } - - /** - * Discards the next `numSkip` values in the sequence. - */ - skipValues(numSkip) { - while (numSkip > 0 && !this.done) { - if (this.count === 0) { - this.count = this.readUint53() - this.lastValue = !this.lastValue - if (this.count === 0) throw new RangeError('Zero-length runs are not allowed') - } - if (this.count < numSkip) { - numSkip -= this.count - this.count = 0 - } else { - this.count -= numSkip - numSkip = 0 - } - } - } -} - -module.exports = { - stringToUtf8, utf8ToString, hexStringToBytes, bytesToHexString, - Encoder, Decoder, RLEEncoder, RLEDecoder, DeltaEncoder, DeltaDecoder, BooleanEncoder, BooleanDecoder -} diff --git a/rust/automerge-wasm/test/helpers/sync.js b/rust/automerge-wasm/test/helpers/sync.js deleted file mode 100644 index ce265ef4..00000000 --- a/rust/automerge-wasm/test/helpers/sync.js +++ /dev/null @@ -1,481 +0,0 @@ -/** - * Implementation of the data synchronisation protocol that brings a local and a remote document - * into the same state. This is typically used when two nodes have been disconnected for some time, - * and need to exchange any changes that happened while they were disconnected. The two nodes that - * are syncing could be client and server, or server and client, or two peers with symmetric roles. - * - * The protocol is based on this paper: Martin Kleppmann and Heidi Howard. Byzantine Eventual - * Consistency and the Fundamental Limits of Peer-to-Peer Databases. https://arxiv.org/abs/2012.00472 - * - * The protocol assumes that every time a node successfully syncs with another node, it remembers - * the current heads (as returned by `Backend.getHeads()`) after the last sync with that node. The - * next time we try to sync with the same node, we start from the assumption that the other node's - * document version is no older than the outcome of the last sync, so we only need to exchange any - * changes that are more recent than the last sync. This assumption may not be true if the other - * node did not correctly persist its state (perhaps it crashed before writing the result of the - * last sync to disk), and we fall back to sending the entire document in this case. - */ - -//const Backend = require('./backend') -const Backend = {} //require('./backend') -const { hexStringToBytes, bytesToHexString, Encoder, Decoder } = require('./encoding') -const { decodeChangeMeta } = require('./columnar') -const { copyObject } = require('./common') - -const HASH_SIZE = 32 // 256 bits = 32 bytes -const MESSAGE_TYPE_SYNC = 0x42 // first byte of a sync message, for identification -const PEER_STATE_TYPE = 0x43 // first byte of an encoded peer state, for identification - -// These constants correspond to a 1% false positive rate. The values can be changed without -// breaking compatibility of the network protocol, since the parameters used for a particular -// Bloom filter are encoded in the wire format. -const BITS_PER_ENTRY = 10, NUM_PROBES = 7 - -/** - * A Bloom filter implementation that can be serialised to a byte array for transmission - * over a network. The entries that are added are assumed to already be SHA-256 hashes, - * so this implementation does not perform its own hashing. - */ -class BloomFilter { - constructor (arg) { - if (Array.isArray(arg)) { - // arg is an array of SHA256 hashes in hexadecimal encoding - this.numEntries = arg.length - this.numBitsPerEntry = BITS_PER_ENTRY - this.numProbes = NUM_PROBES - this.bits = new Uint8Array(Math.ceil(this.numEntries * this.numBitsPerEntry / 8)) - for (let hash of arg) this.addHash(hash) - } else if (arg instanceof Uint8Array) { - if (arg.byteLength === 0) { - this.numEntries = 0 - this.numBitsPerEntry = 0 - this.numProbes = 0 - this.bits = arg - } else { - const decoder = new Decoder(arg) - this.numEntries = decoder.readUint32() - this.numBitsPerEntry = decoder.readUint32() - this.numProbes = decoder.readUint32() - this.bits = decoder.readRawBytes(Math.ceil(this.numEntries * this.numBitsPerEntry / 8)) - } - } else { - throw new TypeError('invalid argument') - } - } - - /** - * Returns the Bloom filter state, encoded as a byte array. - */ - get bytes() { - if (this.numEntries === 0) return new Uint8Array(0) - const encoder = new Encoder() - encoder.appendUint32(this.numEntries) - encoder.appendUint32(this.numBitsPerEntry) - encoder.appendUint32(this.numProbes) - encoder.appendRawBytes(this.bits) - return encoder.buffer - } - - /** - * Given a SHA-256 hash (as hex string), returns an array of probe indexes indicating which bits - * in the Bloom filter need to be tested or set for this particular entry. We do this by - * interpreting the first 12 bytes of the hash as three little-endian 32-bit unsigned integers, - * and then using triple hashing to compute the probe indexes. The algorithm comes from: - * - * Peter C. Dillinger and Panagiotis Manolios. Bloom Filters in Probabilistic Verification. - * 5th International Conference on Formal Methods in Computer-Aided Design (FMCAD), November 2004. - * http://www.ccis.northeastern.edu/home/pete/pub/bloom-filters-verification.pdf - */ - getProbes(hash) { - const hashBytes = hexStringToBytes(hash), modulo = 8 * this.bits.byteLength - if (hashBytes.byteLength !== 32) throw new RangeError(`Not a 256-bit hash: ${hash}`) - // on the next three lines, the right shift means interpret value as unsigned - let x = ((hashBytes[0] | hashBytes[1] << 8 | hashBytes[2] << 16 | hashBytes[3] << 24) >>> 0) % modulo - let y = ((hashBytes[4] | hashBytes[5] << 8 | hashBytes[6] << 16 | hashBytes[7] << 24) >>> 0) % modulo - let z = ((hashBytes[8] | hashBytes[9] << 8 | hashBytes[10] << 16 | hashBytes[11] << 24) >>> 0) % modulo - const probes = [x] - for (let i = 1; i < this.numProbes; i++) { - x = (x + y) % modulo - y = (y + z) % modulo - probes.push(x) - } - return probes - } - - /** - * Sets the Bloom filter bits corresponding to a given SHA-256 hash (given as hex string). - */ - addHash(hash) { - for (let probe of this.getProbes(hash)) { - this.bits[probe >>> 3] |= 1 << (probe & 7) - } - } - - /** - * Tests whether a given SHA-256 hash (given as hex string) is contained in the Bloom filter. - */ - containsHash(hash) { - if (this.numEntries === 0) return false - for (let probe of this.getProbes(hash)) { - if ((this.bits[probe >>> 3] & (1 << (probe & 7))) === 0) { - return false - } - } - return true - } -} - -/** - * Encodes a sorted array of SHA-256 hashes (as hexadecimal strings) into a byte array. - */ -function encodeHashes(encoder, hashes) { - if (!Array.isArray(hashes)) throw new TypeError('hashes must be an array') - encoder.appendUint32(hashes.length) - for (let i = 0; i < hashes.length; i++) { - if (i > 0 && hashes[i - 1] >= hashes[i]) throw new RangeError('hashes must be sorted') - const bytes = hexStringToBytes(hashes[i]) - if (bytes.byteLength !== HASH_SIZE) throw new TypeError('heads hashes must be 256 bits') - encoder.appendRawBytes(bytes) - } -} - -/** - * Decodes a byte array in the format returned by encodeHashes(), and returns its content as an - * array of hex strings. - */ -function decodeHashes(decoder) { - let length = decoder.readUint32(), hashes = [] - for (let i = 0; i < length; i++) { - hashes.push(bytesToHexString(decoder.readRawBytes(HASH_SIZE))) - } - return hashes -} - -/** - * Takes a sync message of the form `{heads, need, have, changes}` and encodes it as a byte array for - * transmission. - */ -function encodeSyncMessage(message) { - const encoder = new Encoder() - encoder.appendByte(MESSAGE_TYPE_SYNC) - encodeHashes(encoder, message.heads) - encodeHashes(encoder, message.need) - encoder.appendUint32(message.have.length) - for (let have of message.have) { - encodeHashes(encoder, have.lastSync) - encoder.appendPrefixedBytes(have.bloom) - } - encoder.appendUint32(message.changes.length) - for (let change of message.changes) { - encoder.appendPrefixedBytes(change) - } - return encoder.buffer -} - -/** - * Takes a binary-encoded sync message and decodes it into the form `{heads, need, have, changes}`. - */ -function decodeSyncMessage(bytes) { - const decoder = new Decoder(bytes) - const messageType = decoder.readByte() - if (messageType !== MESSAGE_TYPE_SYNC) { - throw new RangeError(`Unexpected message type: ${messageType}`) - } - const heads = decodeHashes(decoder) - const need = decodeHashes(decoder) - const haveCount = decoder.readUint32() - let message = {heads, need, have: [], changes: []} - for (let i = 0; i < haveCount; i++) { - const lastSync = decodeHashes(decoder) - const bloom = decoder.readPrefixedBytes(decoder) - message.have.push({lastSync, bloom}) - } - const changeCount = decoder.readUint32() - for (let i = 0; i < changeCount; i++) { - const change = decoder.readPrefixedBytes() - message.changes.push(change) - } - // Ignore any trailing bytes -- they can be used for extensions by future versions of the protocol - return message -} - -/** - * Takes a SyncState and encodes as a byte array those parts of the state that should persist across - * an application restart or disconnect and reconnect. The ephemeral parts of the state that should - * be cleared on reconnect are not encoded. - */ -function encodeSyncState(syncState) { - const encoder = new Encoder() - encoder.appendByte(PEER_STATE_TYPE) - encodeHashes(encoder, syncState.sharedHeads) - return encoder.buffer -} - -/** - * Takes a persisted peer state as encoded by `encodeSyncState` and decodes it into a SyncState - * object. The parts of the peer state that were not encoded are initialised with default values. - */ -function decodeSyncState(bytes) { - const decoder = new Decoder(bytes) - const recordType = decoder.readByte() - if (recordType !== PEER_STATE_TYPE) { - throw new RangeError(`Unexpected record type: ${recordType}`) - } - const sharedHeads = decodeHashes(decoder) - return Object.assign(initSyncState(), { sharedHeads }) -} - -/** - * Constructs a Bloom filter containing all changes that are not one of the hashes in - * `lastSync` or its transitive dependencies. In other words, the filter contains those - * changes that have been applied since the version identified by `lastSync`. Returns - * an object of the form `{lastSync, bloom}` as required for the `have` field of a sync - * message. - */ -function makeBloomFilter(backend, lastSync) { - const newChanges = Backend.getChanges(backend, lastSync) - const hashes = newChanges.map(change => decodeChangeMeta(change, true).hash) - return {lastSync, bloom: new BloomFilter(hashes).bytes} -} - -/** - * Call this function when a sync message is received from another node. The `message` argument - * needs to already have been decoded using `decodeSyncMessage()`. This function determines the - * changes that we need to send to the other node in response. Returns an array of changes (as - * byte arrays). - */ -function getChangesToSend(backend, have, need) { - if (have.length === 0) { - return need.map(hash => Backend.getChangeByHash(backend, hash)).filter(change => change !== undefined) - } - - let lastSyncHashes = {}, bloomFilters = [] - for (let h of have) { - for (let hash of h.lastSync) lastSyncHashes[hash] = true - bloomFilters.push(new BloomFilter(h.bloom)) - } - - // Get all changes that were added since the last sync - const changes = Backend.getChanges(backend, Object.keys(lastSyncHashes)) - .map(change => decodeChangeMeta(change, true)) - - let changeHashes = {}, dependents = {}, hashesToSend = {} - for (let change of changes) { - changeHashes[change.hash] = true - - // For each change, make a list of changes that depend on it - for (let dep of change.deps) { - if (!dependents[dep]) dependents[dep] = [] - dependents[dep].push(change.hash) - } - - // Exclude any change hashes contained in one or more Bloom filters - if (bloomFilters.every(bloom => !bloom.containsHash(change.hash))) { - hashesToSend[change.hash] = true - } - } - - // Include any changes that depend on a Bloom-negative change - let stack = Object.keys(hashesToSend) - while (stack.length > 0) { - const hash = stack.pop() - if (dependents[hash]) { - for (let dep of dependents[hash]) { - if (!hashesToSend[dep]) { - hashesToSend[dep] = true - stack.push(dep) - } - } - } - } - - // Include any explicitly requested changes - let changesToSend = [] - for (let hash of need) { - hashesToSend[hash] = true - if (!changeHashes[hash]) { // Change is not among those returned by getMissingChanges()? - const change = Backend.getChangeByHash(backend, hash) - if (change) changesToSend.push(change) - } - } - - // Return changes in the order they were returned by getMissingChanges() - for (let change of changes) { - if (hashesToSend[change.hash]) changesToSend.push(change.change) - } - return changesToSend -} - -function initSyncState() { - return { - sharedHeads: [], - lastSentHeads: [], - theirHeads: null, - theirNeed: null, - theirHave: null, - sentHashes: {}, - } -} - -function compareArrays(a, b) { - return (a.length === b.length) && a.every((v, i) => v === b[i]) -} - -/** - * Given a backend and what we believe to be the state of our peer, generate a message which tells - * them about we have and includes any changes we believe they need - */ -function generateSyncMessage(backend, syncState) { - if (!backend) { - throw new Error("generateSyncMessage called with no Automerge document") - } - if (!syncState) { - throw new Error("generateSyncMessage requires a syncState, which can be created with initSyncState()") - } - - let { sharedHeads, lastSentHeads, theirHeads, theirNeed, theirHave, sentHashes } = syncState - const ourHeads = Backend.getHeads(backend) - - // Hashes to explicitly request from the remote peer: any missing dependencies of unapplied - // changes, and any of the remote peer's heads that we don't know about - const ourNeed = Backend.getMissingDeps(backend, theirHeads || []) - - // There are two reasons why ourNeed may be nonempty: 1. we might be missing dependencies due to - // Bloom filter false positives; 2. we might be missing heads that the other peer mentioned - // because they (intentionally) only sent us a subset of changes. In case 1, we leave the `have` - // field of the message empty because we just want to fill in the missing dependencies for now. - // In case 2, or if ourNeed is empty, we send a Bloom filter to request any unsent changes. - let ourHave = [] - if (!theirHeads || ourNeed.every(hash => theirHeads.includes(hash))) { - ourHave = [makeBloomFilter(backend, sharedHeads)] - } - - // Fall back to a full re-sync if the sender's last sync state includes hashes - // that we don't know. This could happen if we crashed after the last sync and - // failed to persist changes that the other node already sent us. - if (theirHave && theirHave.length > 0) { - const lastSync = theirHave[0].lastSync - if (!lastSync.every(hash => Backend.getChangeByHash(backend, hash))) { - // we need to queue them to send us a fresh sync message, the one they sent is uninteligible so we don't know what they need - const resetMsg = {heads: ourHeads, need: [], have: [{ lastSync: [], bloom: new Uint8Array(0) }], changes: []} - return [syncState, encodeSyncMessage(resetMsg)] - } - } - - // XXX: we should limit ourselves to only sending a subset of all the messages, probably limited by a total message size - // these changes should ideally be RLE encoded but we haven't implemented that yet. - let changesToSend = Array.isArray(theirHave) && Array.isArray(theirNeed) ? getChangesToSend(backend, theirHave, theirNeed) : [] - - // If the heads are equal, we're in sync and don't need to do anything further - const headsUnchanged = Array.isArray(lastSentHeads) && compareArrays(ourHeads, lastSentHeads) - const headsEqual = Array.isArray(theirHeads) && compareArrays(ourHeads, theirHeads) - if (headsUnchanged && headsEqual && changesToSend.length === 0) { - // no need to send a sync message if we know we're synced! - return [syncState, null] - } - - // TODO: this recomputes the SHA-256 hash of each change; we should restructure this to avoid the - // unnecessary recomputation - changesToSend = changesToSend.filter(change => !sentHashes[decodeChangeMeta(change, true).hash]) - - // Regular response to a sync message: send any changes that the other node - // doesn't have. We leave the "have" field empty because the previous message - // generated by `syncStart` already indicated what changes we have. - const syncMessage = {heads: ourHeads, have: ourHave, need: ourNeed, changes: changesToSend} - if (changesToSend.length > 0) { - sentHashes = copyObject(sentHashes) - for (const change of changesToSend) { - sentHashes[decodeChangeMeta(change, true).hash] = true - } - } - - syncState = Object.assign({}, syncState, {lastSentHeads: ourHeads, sentHashes}) - return [syncState, encodeSyncMessage(syncMessage)] -} - -/** - * Computes the heads that we share with a peer after we have just received some changes from that - * peer and applied them. This may not be sufficient to bring our heads in sync with the other - * peer's heads, since they may have only sent us a subset of their outstanding changes. - * - * `myOldHeads` are the local heads before the most recent changes were applied, `myNewHeads` are - * the local heads after those changes were applied, and `ourOldSharedHeads` is the previous set of - * shared heads. Applying the changes will have replaced some heads with others, but some heads may - * have remained unchanged (because they are for branches on which no changes have been added). Any - * such unchanged heads remain in the sharedHeads. Any sharedHeads that were replaced by applying - * changes are also replaced as sharedHeads. This is safe because if we received some changes from - * another peer, that means that peer had those changes, and therefore we now both know about them. - */ -function advanceHeads(myOldHeads, myNewHeads, ourOldSharedHeads) { - const newHeads = myNewHeads.filter((head) => !myOldHeads.includes(head)) - const commonHeads = ourOldSharedHeads.filter((head) => myNewHeads.includes(head)) - const advancedHeads = [...new Set([...newHeads, ...commonHeads])].sort() - return advancedHeads -} - - -/** - * Given a backend, a message message and the state of our peer, apply any changes, update what - * we believe about the peer, and (if there were applied changes) produce a patch for the frontend - */ -function receiveSyncMessage(backend, oldSyncState, binaryMessage) { - if (!backend) { - throw new Error("generateSyncMessage called with no Automerge document") - } - if (!oldSyncState) { - throw new Error("generateSyncMessage requires a syncState, which can be created with initSyncState()") - } - - let { sharedHeads, lastSentHeads, sentHashes } = oldSyncState, patch = null - const message = decodeSyncMessage(binaryMessage) - const beforeHeads = Backend.getHeads(backend) - - // If we received changes, we try to apply them to the document. There may still be missing - // dependencies due to Bloom filter false positives, in which case the backend will enqueue the - // changes without applying them. The set of changes may also be incomplete if the sender decided - // to break a large set of changes into chunks. - if (message.changes.length > 0) { - [backend, patch] = Backend.applyChanges(backend, message.changes) - sharedHeads = advanceHeads(beforeHeads, Backend.getHeads(backend), sharedHeads) - } - - // If heads are equal, indicate we don't need to send a response message - if (message.changes.length === 0 && compareArrays(message.heads, beforeHeads)) { - lastSentHeads = message.heads - } - - // If all of the remote heads are known to us, that means either our heads are equal, or we are - // ahead of the remote peer. In this case, take the remote heads to be our shared heads. - const knownHeads = message.heads.filter(head => Backend.getChangeByHash(backend, head)) - if (knownHeads.length === message.heads.length) { - sharedHeads = message.heads - // If the remote peer has lost all its data, reset our state to perform a full resync - if (message.heads.length === 0) { - lastSentHeads = [] - sentHashes = [] - } - } else { - // If some remote heads are unknown to us, we add all the remote heads we know to - // sharedHeads, but don't remove anything from sharedHeads. This might cause sharedHeads to - // contain some redundant hashes (where one hash is actually a transitive dependency of - // another), but this will be cleared up as soon as we know all the remote heads. - sharedHeads = [...new Set(knownHeads.concat(sharedHeads))].sort() - } - - const syncState = { - sharedHeads, // what we have in common to generate an efficient bloom filter - lastSentHeads, - theirHave: message.have, // the information we need to calculate the changes they need - theirHeads: message.heads, - theirNeed: message.need, - sentHashes - } - return [backend, syncState, patch] -} - -module.exports = { - receiveSyncMessage, generateSyncMessage, - encodeSyncMessage, decodeSyncMessage, - initSyncState, encodeSyncState, decodeSyncState, - BloomFilter // BloomFilter is a private API, exported only for testing purposes -} diff --git a/rust/automerge-wasm/test/readme.ts b/rust/automerge-wasm/test/readme.ts deleted file mode 100644 index e5823556..00000000 --- a/rust/automerge-wasm/test/readme.ts +++ /dev/null @@ -1,244 +0,0 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ -import { describe, it } from 'mocha'; -import * as assert from 'assert' -import { create, load, initSyncState } from '..' - -describe('Automerge', () => { - describe('Readme Examples', () => { - it('Using the Library and Creating a Document', () => { - const doc = create(true) - const sync = initSyncState() - doc.free() - sync.free() - }) - it('Automerge Scalar Types (1)', () => { - const doc = create(true) - doc.put("/", "prop1", 100) // int - doc.put("/", "prop2", 3.14) // f64 - doc.put("/", "prop3", "hello world") - doc.put("/", "prop4", new Date(0)) - doc.put("/", "prop5", new Uint8Array([1,2,3])) - doc.put("/", "prop6", true) - doc.put("/", "prop7", null) - - assert.deepEqual(doc.materialize("/"), { - prop1: 100, - prop2: 3.14, - prop3: "hello world", - prop4: new Date(0), - prop5: new Uint8Array([1,2,3]), - prop6: true, - prop7: null - }) - }) - it('Automerge Scalar Types (2)', () => { - const doc = create(true) - doc.put("/", "prop1", 100, "int") - doc.put("/", "prop2", 100, "uint") - doc.put("/", "prop3", 100.5, "f64") - doc.put("/", "prop4", 100, "counter") - doc.put("/", "prop5", 1647531707301, "timestamp") - doc.put("/", "prop6", new Date(), "timestamp") - doc.put("/", "prop7", "hello world", "str") - doc.put("/", "prop8", new Uint8Array([1,2,3]), "bytes") - doc.put("/", "prop9", true, "boolean") - doc.put("/", "prop10", null, "null") - }) - it('Automerge Object Types (1)', () => { - const doc = create(true) - - // you can create an object by passing in the inital state - if blank pass in `{}` - // the return value is the Object Id - // these functions all return an object id - - const config = doc.putObject("/", "config", { align: "left", archived: false, cycles: [10, 19, 21] }) - const token = doc.putObject("/", "tokens", {}) - - // lists can be made with javascript arrays - - const birds = doc.putObject("/", "birds", ["bluejay", "penguin", "puffin"]) - const bots = doc.putObject("/", "bots", []) - - // text is initialized with a string - - const notes = doc.putObject("/", "notes", "Hello world!") - }) - it('Automerge Object Types (2)', () => { - const doc = create(true) - - const config = doc.putObject("/", "config", { align: "left", archived: false, cycles: [10, 19, 21] }) - - doc.put(config, "align", "right") - - // Anywhere Object Ids are being used a path can also be used. - // The following two statements are equivalent: - - const id = doc.getWithType("/", "config") - if (id && id[0] === 'map') { - doc.put(id[1], "align", "right") - } - - doc.put("/config", "align", "right") - - assert.deepEqual(doc.materialize("/"), { - config: { align: "right", archived: false, cycles: [ 10, 19, 21 ] } - }) - }) - it('Maps (1)', () => { - const doc = create(true) - const mymap = doc.putObject("_root", "mymap", { foo: "bar"}) - // make a new map with the foo key - - doc.put(mymap, "bytes", new Uint8Array([1,2,3])) - // assign a byte array to key `bytes` of the mymap object - - const submap = doc.putObject(mymap, "sub", {}) - // make a new empty object and assign it to the key `sub` of mymap - - assert.deepEqual(doc.keys(mymap),["bytes","foo","sub"]) - assert.deepEqual(doc.materialize("_root"), { mymap: { bytes: new Uint8Array([1,2,3]), foo: "bar", sub: {} }}) - }) - it('Lists (1)', () => { - const doc = create(true) - const items = doc.putObject("_root", "items", [10,"box"]) - // init a new list with two elements - doc.push(items, true) // push `true` to the end of the list - doc.putObject(items, 0, { hello: "world" }) // overwrite the value 10 with an object with a key and value - doc.delete(items, 1) // delete "box" - doc.splice(items, 2, 0, ["bag", "brick"]) // splice in "bag" and "brick" at position 2 - doc.insert(items, 0, "bat") // insert "bat" to the beginning of the list - doc.insertObject(items, 1, [ 1, 2 ]) // insert a list with 2 values at pos 1 - - assert.deepEqual(doc.materialize(items),[ "bat", [ 1 ,2 ], { hello : "world" }, true, "bag", "brick" ]) - assert.deepEqual(doc.length(items),6) - }) - it('Text (1)', () => { - const doc = create(true, "aaaaaa") - const notes = doc.putObject("_root", "notes", "Hello world") - doc.splice(notes, 6, 5, "everyone") - - assert.deepEqual(doc.text(notes), "Hello everyone") - }) - it('Querying Data (1)', () => { - const doc1 = create(true, "aabbcc") - doc1.put("_root", "key1", "val1") - const key2 = doc1.putObject("_root", "key2", []) - - assert.deepEqual(doc1.get("_root", "key1"), "val1") - assert.deepEqual(doc1.getWithType("_root", "key2"), ["list", "2@aabbcc"]) - assert.deepEqual(doc1.keys("_root"), ["key1", "key2"]) - - const doc2 = doc1.fork("ffaaff") - - // set a value concurrently - doc1.put("_root","key3","doc1val") - doc2.put("_root","key3","doc2val") - - doc1.merge(doc2) - - assert.deepEqual(doc1.get("_root","key3"), "doc2val") - assert.deepEqual(doc1.getAll("_root","key3"),[[ "str", "doc1val", "3@aabbcc"], ["str", "doc2val", "3@ffaaff"]]) - }) - it('Counters (1)', () => { - const doc1 = create(true, "aaaaaa") - doc1.put("_root", "number", 0) - doc1.put("_root", "total", 0, "counter") - - const doc2 = doc1.fork("bbbbbb") - doc2.put("_root", "number", 10) - doc2.increment("_root", "total", 11) - - doc1.put("_root", "number", 20) - doc1.increment("_root", "total", 22) - - doc1.merge(doc2) - - assert.deepEqual(doc1.materialize("_root"), { number: 10, total: 33 }) - }) - it('Transactions (1)', () => { - const doc = create(true) - - doc.put("_root", "key", "val1") - - assert.deepEqual(doc.get("_root", "key"),"val1") - assert.deepEqual(doc.pendingOps(),1) - - doc.rollback() - - assert.deepEqual(doc.get("_root", "key"),undefined) - assert.deepEqual(doc.pendingOps(),0) - - doc.put("_root", "key", "val2") - - assert.deepEqual(doc.pendingOps(),1) - - doc.commit("test commit 1") - - assert.deepEqual(doc.get("_root", "key"),"val2") - assert.deepEqual(doc.pendingOps(),0) - }) - it('Viewing Old Versions of the Document (1)', () => { - const doc = create(true) - - doc.put("_root", "key", "val1") - const heads1 = doc.getHeads() - - doc.put("_root", "key", "val2") - const heads2 = doc.getHeads() - - doc.put("_root", "key", "val3") - - assert.deepEqual(doc.get("_root","key"), "val3") - assert.deepEqual(doc.get("_root","key",heads2), "val2") - assert.deepEqual(doc.get("_root","key",heads1), "val1") - assert.deepEqual(doc.get("_root","key",[]), undefined) - }) - it('Forking And Merging (1)', () => { - const doc1 = create(true) - doc1.put("_root", "key1", "val1") - - const doc2 = doc1.fork() - - doc1.put("_root", "key2", "val2") - doc2.put("_root", "key3", "val3") - - doc1.merge(doc2) - - assert.deepEqual(doc1.materialize("_root"), { key1: "val1", key2: "val2", key3: "val3" }) - assert.deepEqual(doc2.materialize("_root"), { key1: "val1", key3: "val3" }) - }) - it('Saving And Loading (1)', () => { - const doc1 = create(true) - - doc1.put("_root", "key1", "value1") - - const save1 = doc1.save() - - const doc2 = load(save1, true) - - doc2.materialize("_root") // returns { key1: "value1" } - - doc1.put("_root", "key2", "value2") - - const saveIncremental = doc1.saveIncremental() - - const save2 = doc1.save() - - const save3 = new Uint8Array([... save1, ... saveIncremental]) - - // save2 has fewer bytes than save3 but contains the same ops - - doc2.loadIncremental(saveIncremental) - - const doc3 = load(save2, true) - - const doc4 = load(save3, true) - - assert.deepEqual(doc1.materialize("_root"), { key1: "value1", key2: "value2" }) - assert.deepEqual(doc2.materialize("_root"), { key1: "value1", key2: "value2" }) - assert.deepEqual(doc3.materialize("_root"), { key1: "value1", key2: "value2" }) - assert.deepEqual(doc4.materialize("_root"), { key1: "value1", key2: "value2" }) - }) - //it.skip('Syncing (1)', () => { }) - }) -}) diff --git a/rust/automerge-wasm/test/test.ts b/rust/automerge-wasm/test/test.ts deleted file mode 100644 index bb4f71e3..00000000 --- a/rust/automerge-wasm/test/test.ts +++ /dev/null @@ -1,2173 +0,0 @@ -import { describe, it } from 'mocha'; -import assert from 'assert' -// @ts-ignore -import { BloomFilter } from './helpers/sync' -import { create, load, SyncState, Automerge, encodeChange, decodeChange, initSyncState, decodeSyncMessage, decodeSyncState, encodeSyncState, encodeSyncMessage } from '..' -import { Value, DecodedSyncMessage, Hash } from '..'; -import {kill} from 'process'; - -function sync(a: Automerge, b: Automerge, aSyncState = initSyncState(), bSyncState = initSyncState()) { - const MAX_ITER = 10 - let aToBmsg = null, bToAmsg = null, i = 0 - do { - aToBmsg = a.generateSyncMessage(aSyncState) - bToAmsg = b.generateSyncMessage(bSyncState) - - if (aToBmsg) { - b.receiveSyncMessage(bSyncState, aToBmsg) - } - if (bToAmsg) { - a.receiveSyncMessage(aSyncState, bToAmsg) - } - - if (i++ > MAX_ITER) { - throw new Error(`Did not synchronize within ${MAX_ITER} iterations`) - } - } while (aToBmsg || bToAmsg) -} - -describe('Automerge', () => { - describe('basics', () => { - - it('should create, clone and free', () => { - const doc1 = create(true) - const doc2 = doc1.clone() - doc2.free() - }) - - it('should be able to start and commit', () => { - const doc = create(true) - doc.commit() - }) - - it('getting a nonexistent prop does not throw an error', () => { - const doc = create(true) - const root = "_root" - const result = doc.getWithType(root, "hello") - assert.deepEqual(result, undefined) - }) - - it('should be able to set and get a simple value', () => { - const doc: Automerge = create(true, "aabbcc") - const root = "_root" - let result - - doc.put(root, "hello", "world") - doc.put(root, "number1", 5, "uint") - doc.put(root, "number2", 5) - doc.put(root, "number3", 5.5) - doc.put(root, "number4", 5.5, "f64") - doc.put(root, "number5", 5.5, "int") - doc.put(root, "bool", true) - doc.put(root, "time1", 1000, "timestamp") - doc.put(root, "time2", new Date(1001)) - doc.putObject(root, "list", []); - doc.put(root, "null", null) - - result = doc.getWithType(root, "hello") - assert.deepEqual(result, ["str", "world"]) - assert.deepEqual(doc.get("/", "hello"), "world") - - result = doc.getWithType(root, "number1") - assert.deepEqual(result, ["uint", 5]) - assert.deepEqual(doc.get("/", "number1"), 5) - - result = doc.getWithType(root, "number2") - assert.deepEqual(result, ["int", 5]) - - result = doc.getWithType(root, "number3") - assert.deepEqual(result, ["f64", 5.5]) - - result = doc.getWithType(root, "number4") - assert.deepEqual(result, ["f64", 5.5]) - - result = doc.getWithType(root, "number5") - assert.deepEqual(result, ["int", 5]) - - result = doc.getWithType(root, "bool") - assert.deepEqual(result, ["boolean", true]) - - doc.put(root, "bool", false, "boolean") - - result = doc.getWithType(root, "bool") - assert.deepEqual(result, ["boolean", false]) - - result = doc.getWithType(root, "time1") - assert.deepEqual(result, ["timestamp", new Date(1000)]) - - result = doc.getWithType(root, "time2") - assert.deepEqual(result, ["timestamp", new Date(1001)]) - - result = doc.getWithType(root, "list") - assert.deepEqual(result, ["list", "10@aabbcc"]); - - result = doc.getWithType(root, "null") - assert.deepEqual(result, ["null", null]); - }) - - it('should be able to use bytes', () => { - const doc = create(true) - doc.put("_root", "data1", new Uint8Array([10, 11, 12])); - doc.put("_root", "data2", new Uint8Array([13, 14, 15]), "bytes"); - const value1 = doc.getWithType("_root", "data1") - assert.deepEqual(value1, ["bytes", new Uint8Array([10, 11, 12])]); - const value2 = doc.getWithType("_root", "data2") - assert.deepEqual(value2, ["bytes", new Uint8Array([13, 14, 15])]); - }) - - it('should be able to make subobjects', () => { - const doc = create(true) - const root = "_root" - let result - - const submap = doc.putObject(root, "submap", {}) - doc.put(submap, "number", 6, "uint") - assert.strictEqual(doc.pendingOps(), 2) - - result = doc.getWithType(root, "submap") - assert.deepEqual(result, ["map", submap]) - - result = doc.getWithType(submap, "number") - assert.deepEqual(result, ["uint", 6]) - }) - - it('should be able to make lists', () => { - const doc = create(true) - const root = "_root" - - const sublist = doc.putObject(root, "numbers", []) - doc.insert(sublist, 0, "a"); - doc.insert(sublist, 1, "b"); - doc.insert(sublist, 2, "c"); - doc.insert(sublist, 0, "z"); - - assert.deepEqual(doc.getWithType(sublist, 0), ["str", "z"]) - assert.deepEqual(doc.getWithType(sublist, 1), ["str", "a"]) - assert.deepEqual(doc.getWithType(sublist, 2), ["str", "b"]) - assert.deepEqual(doc.getWithType(sublist, 3), ["str", "c"]) - assert.deepEqual(doc.length(sublist), 4) - - doc.put(sublist, 2, "b v2"); - - assert.deepEqual(doc.getWithType(sublist, 2), ["str", "b v2"]) - assert.deepEqual(doc.length(sublist), 4) - }) - - it('lists have insert, set, splice, and push ops', () => { - const doc = create(true) - const root = "_root" - - const sublist = doc.putObject(root, "letters", []) - doc.insert(sublist, 0, "a"); - doc.insert(sublist, 0, "b"); - assert.deepEqual(doc.materialize(), { letters: ["b", "a"] }) - doc.push(sublist, "c"); - const heads = doc.getHeads() - assert.deepEqual(doc.materialize(), { letters: ["b", "a", "c"] }) - doc.push(sublist, 3, "timestamp"); - assert.deepEqual(doc.materialize(), { letters: ["b", "a", "c", new Date(3)] }) - doc.splice(sublist, 1, 1, ["d", "e", "f"]); - assert.deepEqual(doc.materialize(), { letters: ["b", "d", "e", "f", "c", new Date(3)] }) - doc.put(sublist, 0, "z"); - assert.deepEqual(doc.materialize(), { letters: ["z", "d", "e", "f", "c", new Date(3)] }) - assert.deepEqual(doc.materialize(sublist), ["z", "d", "e", "f", "c", new Date(3)]) - assert.deepEqual(doc.length(sublist), 6) - assert.deepEqual(doc.materialize("/", heads), { letters: ["b", "a", "c"] }) - }) - - it('should be able delete non-existent props', () => { - const doc = create(true) - - doc.put("_root", "foo", "bar") - doc.put("_root", "bip", "bap") - const hash1 = doc.commit() - - assert.deepEqual(doc.keys("_root"), ["bip", "foo"]) - - doc.delete("_root", "foo") - doc.delete("_root", "baz") - const hash2 = doc.commit() - - assert.deepEqual(doc.keys("_root"), ["bip"]) - assert.ok(hash1) - assert.deepEqual(doc.keys("_root", [hash1]), ["bip", "foo"]) - assert.ok(hash2) - assert.deepEqual(doc.keys("_root", [hash2]), ["bip"]) - }) - - it('should be able to del', () => { - const doc = create(true) - const root = "_root" - - doc.put(root, "xxx", "xxx"); - assert.deepEqual(doc.getWithType(root, "xxx"), ["str", "xxx"]) - doc.delete(root, "xxx"); - assert.deepEqual(doc.getWithType(root, "xxx"), undefined) - }) - - it('should be able to use counters', () => { - const doc = create(true) - const root = "_root" - - doc.put(root, "counter", 10, "counter"); - assert.deepEqual(doc.getWithType(root, "counter"), ["counter", 10]) - doc.increment(root, "counter", 10); - assert.deepEqual(doc.getWithType(root, "counter"), ["counter", 20]) - doc.increment(root, "counter", -5); - assert.deepEqual(doc.getWithType(root, "counter"), ["counter", 15]) - }) - - it('should be able to splice text', () => { - const doc = create(true) - const root = "_root"; - - const text = doc.putObject(root, "text", ""); - doc.splice(text, 0, 0, "hello ") - doc.splice(text, 6, 0, "world") - doc.splice(text, 11, 0, "!?") - assert.deepEqual(doc.getWithType(text, 0), ["str", "h"]) - assert.deepEqual(doc.getWithType(text, 1), ["str", "e"]) - assert.deepEqual(doc.getWithType(text, 9), ["str", "l"]) - assert.deepEqual(doc.getWithType(text, 10), ["str", "d"]) - assert.deepEqual(doc.getWithType(text, 11), ["str", "!"]) - assert.deepEqual(doc.getWithType(text, 12), ["str", "?"]) - }) - - it.skip('should NOT be able to insert objects into text', () => { - const doc = create(true) - const text = doc.putObject("/", "text", "Hello world"); - assert.throws(() => { - doc.insertObject(text, 6, { hello: "world" }); - }) - }) - - it('should be able save all or incrementally', () => { - const doc = create(true) - - doc.put("_root", "foo", 1) - - const save1 = doc.save() - - doc.put("_root", "bar", 2) - - const saveMidway = doc.clone().save(); - - const save2 = doc.saveIncremental(); - - doc.put("_root", "baz", 3); - - const save3 = doc.saveIncremental(); - - const saveA = doc.save(); - const saveB = new Uint8Array([...save1, ...save2, ...save3]); - - assert.notDeepEqual(saveA, saveB); - - const docA = load(saveA, true); - const docB = load(saveB, true); - const docC = load(saveMidway, true) - docC.loadIncremental(save3) - - assert.deepEqual(docA.keys("_root"), docB.keys("_root")); - assert.deepEqual(docA.save(), docB.save()); - assert.deepEqual(docA.save(), docC.save()); - }) - - it('should be able to splice text', () => { - const doc = create(true) - const text = doc.putObject("_root", "text", ""); - doc.splice(text, 0, 0, "hello world"); - const hash1 = doc.commit(); - doc.splice(text, 6, 0, "big bad "); - const hash2 = doc.commit(); - assert.strictEqual(doc.text(text), "hello big bad world") - assert.strictEqual(doc.length(text), 19) - assert.ok(hash1) - assert.strictEqual(doc.text(text, [hash1]), "hello world") - assert.strictEqual(doc.length(text, [hash1]), 11) - assert.ok(hash2) - assert.strictEqual(doc.text(text, [hash2]), "hello big bad world") - assert.ok(hash2) - assert.strictEqual(doc.length(text, [hash2]), 19) - }) - - it('local inc increments all visible counters in a map', () => { - const doc1 = create(true, "aaaa") - doc1.put("_root", "hello", "world") - const doc2 = load(doc1.save(), true, "bbbb"); - const doc3 = load(doc1.save(), true, "cccc"); - const heads = doc1.getHeads() - doc1.put("_root", "cnt", 20) - doc2.put("_root", "cnt", 0, "counter") - doc3.put("_root", "cnt", 10, "counter") - doc1.applyChanges(doc2.getChanges(heads)) - doc1.applyChanges(doc3.getChanges(heads)) - let result = doc1.getAll("_root", "cnt") - assert.deepEqual(result, [ - ['int', 20, '2@aaaa'], - ['counter', 0, '2@bbbb'], - ['counter', 10, '2@cccc'], - ]) - doc1.increment("_root", "cnt", 5) - result = doc1.getAll("_root", "cnt") - assert.deepEqual(result, [ - ['counter', 5, '2@bbbb'], - ['counter', 15, '2@cccc'], - ]) - - const save1 = doc1.save() - const doc4 = load(save1, true) - assert.deepEqual(doc4.save(), save1); - }) - - it('local inc increments all visible counters in a sequence', () => { - const doc1 = create(true, "aaaa") - const seq = doc1.putObject("_root", "seq", []) - doc1.insert(seq, 0, "hello") - const doc2 = load(doc1.save(), true, "bbbb"); - const doc3 = load(doc1.save(), true, "cccc"); - const heads = doc1.getHeads() - doc1.put(seq, 0, 20) - doc2.put(seq, 0, 0, "counter") - doc3.put(seq, 0, 10, "counter") - doc1.applyChanges(doc2.getChanges(heads)) - doc1.applyChanges(doc3.getChanges(heads)) - let result = doc1.getAll(seq, 0) - assert.deepEqual(result, [ - ['int', 20, '3@aaaa'], - ['counter', 0, '3@bbbb'], - ['counter', 10, '3@cccc'], - ]) - doc1.increment(seq, 0, 5) - result = doc1.getAll(seq, 0) - assert.deepEqual(result, [ - ['counter', 5, '3@bbbb'], - ['counter', 15, '3@cccc'], - ]) - - const save = doc1.save() - const doc4 = load(save, true) - assert.deepEqual(doc4.save(), save); - }) - - it('paths can be used instead of objids', () => { - const doc = create(true, "aaaa") - doc.putObject("_root", "list", [{ foo: "bar" }, [1, 2, 3]]) - assert.deepEqual(doc.materialize("/"), { list: [{ foo: "bar" }, [1, 2, 3]] }) - assert.deepEqual(doc.materialize("/list"), [{ foo: "bar" }, [1, 2, 3]]) - assert.deepEqual(doc.materialize("/list/0"), { foo: "bar" }) - }) - - it('should be able to fetch changes by hash', () => { - const doc1 = create(true, "aaaa") - const doc2 = create(true, "bbbb") - doc1.put("/", "a", "b") - doc2.put("/", "b", "c") - const head1 = doc1.getHeads() - const head2 = doc2.getHeads() - const change1 = doc1.getChangeByHash(head1[0]) - const change2 = doc1.getChangeByHash(head2[0]) - assert.deepEqual(change2, null) - if (change1 === null) { throw new RangeError("change1 should not be null") } - assert.deepEqual(decodeChange(change1).hash, head1[0]) - }) - - it('recursive sets are possible', () => { - const doc = create(true, "aaaa") - const l1 = doc.putObject("_root", "list", [{ foo: "bar" }, [1, 2, 3]]) - const l2 = doc.insertObject(l1, 0, { zip: ["a", "b"] }) - doc.putObject("_root", "info1", "hello world") // 'text' object - doc.put("_root", "info2", "hello world") // 'str' - const l4 = doc.putObject("_root", "info3", "hello world") - assert.deepEqual(doc.materialize(), { - "list": [{ zip: ["a", "b"] }, { foo: "bar" }, [1, 2, 3]], - "info1": "hello world", - "info2": "hello world", - "info3": "hello world", - }) - assert.deepEqual(doc.materialize(l2), { zip: ["a", "b"] }) - assert.deepEqual(doc.materialize(l1), [{ zip: ["a", "b"] }, { foo: "bar" }, [1, 2, 3]]) - assert.deepEqual(doc.materialize(l4), "hello world") - }) - - it('only returns an object id when objects are created', () => { - const doc = create(true, "aaaa") - const r1 = doc.put("_root", "foo", "bar") - const r2 = doc.putObject("_root", "list", []) - const r3 = doc.put("_root", "counter", 10, "counter") - const r4 = doc.increment("_root", "counter", 1) - const r5 = doc.delete("_root", "counter") - const r6 = doc.insert(r2, 0, 10); - const r7 = doc.insertObject(r2, 0, {}); - const r8 = doc.splice(r2, 1, 0, ["a", "b", "c"]); - //let r9 = doc.splice(r2,1,0,["a",[],{},"d"]); - assert.deepEqual(r1, null); - assert.deepEqual(r2, "2@aaaa"); - assert.deepEqual(r3, null); - assert.deepEqual(r4, null); - assert.deepEqual(r5, null); - assert.deepEqual(r6, null); - assert.deepEqual(r7, "7@aaaa"); - assert.deepEqual(r8, null); - //assert.deepEqual(r9,["12@aaaa","13@aaaa"]); - }) - - it('objects without properties are preserved', () => { - const doc1 = create(true, "aaaa") - const a = doc1.putObject("_root", "a", {}); - const b = doc1.putObject("_root", "b", {}); - const c = doc1.putObject("_root", "c", {}); - doc1.put(c, "d", "dd"); - const saved = doc1.save(); - const doc2 = load(saved, true); - assert.deepEqual(doc2.getWithType("_root", "a"), ["map", a]) - assert.deepEqual(doc2.keys(a), []) - assert.deepEqual(doc2.getWithType("_root", "b"), ["map", b]) - assert.deepEqual(doc2.keys(b), []) - assert.deepEqual(doc2.getWithType("_root", "c"), ["map", c]) - assert.deepEqual(doc2.keys(c), ["d"]) - assert.deepEqual(doc2.getWithType(c, "d"), ["str", "dd"]) - }) - - it('should allow you to fork at a heads', () => { - const A = create(true, "aaaaaa") - A.put("/", "key1", "val1"); - A.put("/", "key2", "val2"); - const heads1 = A.getHeads(); - const B = A.fork("bbbbbb") - A.put("/", "key3", "val3"); - B.put("/", "key4", "val4"); - A.merge(B) - const heads2 = A.getHeads(); - A.put("/", "key5", "val5"); - assert.deepEqual(A.fork(undefined, heads1).materialize("/"), A.materialize("/", heads1)) - assert.deepEqual(A.fork(undefined, heads2).materialize("/"), A.materialize("/", heads2)) - }) - - it('should handle merging text conflicts then saving & loading', () => { - const A = create(true, "aabbcc") - const At = A.putObject('_root', 'text', "") - A.splice(At, 0, 0, 'hello') - - const B = A.fork() - - assert.deepEqual(B.getWithType("_root", "text"), ["text", At]) - - B.splice(At, 4, 1) - B.splice(At, 4, 0, '!') - B.splice(At, 5, 0, ' ') - B.splice(At, 6, 0, 'world') - - A.merge(B) - - const binary = A.save() - - const C = load(binary, true) - - assert.deepEqual(C.getWithType('_root', 'text'), ['text', '1@aabbcc']) - assert.deepEqual(C.text(At), 'hell! world') - }) - }) - - describe('patch generation', () => { - it('should include root object key updates', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.put('_root', 'hello', 'world') - doc2.enablePatches(true) - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: ['hello'], value: 'world' } - ]) - }) - - it('should include nested object creation', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.putObject('_root', 'birds', { friday: { robins: 3 } }) - doc2.enablePatches(true) - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: [ 'birds' ], value: {} }, - { action: 'put', path: [ 'birds', 'friday' ], value: {} }, - { action: 'put', path: [ 'birds', 'friday', 'robins' ], value: 3}, - ]) - }) - - it('should delete map keys', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.put('_root', 'favouriteBird', 'Robin') - doc2.enablePatches(true) - doc2.loadIncremental(doc1.saveIncremental()) - doc1.delete('_root', 'favouriteBird') - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: [ 'favouriteBird' ], value: 'Robin' }, - { action: 'del', path: [ 'favouriteBird' ] } - ]) - }) - - it('should include list element insertion', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.putObject('_root', 'birds', ['Goldfinch', 'Chaffinch']) - doc2.enablePatches(true) - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: [ 'birds' ], value: [] }, - { action: 'insert', path: [ 'birds', 0 ], values: ['Goldfinch', 'Chaffinch'] }, - ]) - }) - - it('should insert nested maps into a list', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.putObject('_root', 'birds', []) - doc2.loadIncremental(doc1.saveIncremental()) - doc1.insertObject('1@aaaa', 0, { species: 'Goldfinch', count: 3 }) - doc2.enablePatches(true) - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc2.popPatches(), [ - { action: 'insert', path: [ 'birds', 0 ], values: [{}] }, - { action: 'put', path: [ 'birds', 0, 'species' ], value: 'Goldfinch' }, - { action: 'put', path: [ 'birds', 0, 'count', ], value: 3 } - ]) - }) - - it('should calculate list indexes based on visible elements', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.putObject('_root', 'birds', ['Goldfinch', 'Chaffinch']) - doc2.loadIncremental(doc1.saveIncremental()) - doc1.delete('1@aaaa', 0) - doc1.insert('1@aaaa', 1, 'Greenfinch') - doc2.enablePatches(true) - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc1.getWithType('1@aaaa', 0), ['str', 'Chaffinch']) - assert.deepEqual(doc1.getWithType('1@aaaa', 1), ['str', 'Greenfinch']) - assert.deepEqual(doc2.popPatches(), [ - { action: 'del', path: ['birds', 0] }, - { action: 'insert', path: ['birds', 1], values: ['Greenfinch'] } - ]) - }) - - it('should handle concurrent insertions at the head of a list', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc'), doc4 = create(true, 'dddd') - doc1.putObject('_root', 'values', []) - const change1 = doc1.saveIncremental() - doc2.loadIncremental(change1) - doc3.loadIncremental(change1) - doc4.loadIncremental(change1) - doc1.insert('1@aaaa', 0, 'c') - doc1.insert('1@aaaa', 1, 'd') - doc2.insert('1@aaaa', 0, 'a') - doc2.insert('1@aaaa', 1, 'b') - const change2 = doc1.saveIncremental(), change3 = doc2.saveIncremental() - doc3.enablePatches(true) - doc4.enablePatches(true) - doc3.loadIncremental(change2); doc3.loadIncremental(change3) - doc4.loadIncremental(change3); doc4.loadIncremental(change2) - assert.deepEqual([0, 1, 2, 3].map(i => (doc3.getWithType('1@aaaa', i) || [])[1]), ['a', 'b', 'c', 'd']) - assert.deepEqual([0, 1, 2, 3].map(i => (doc4.getWithType('1@aaaa', i) || [])[1]), ['a', 'b', 'c', 'd']) - assert.deepEqual(doc3.popPatches(), [ - { action: 'insert', path: ['values', 0], values:['a','b','c','d'] }, - ]) - assert.deepEqual(doc4.popPatches(), [ - { action: 'insert', path: ['values',0], values:['a','b','c','d'] }, - ]) - }) - - it('should handle concurrent insertions beyond the head', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc'), doc4 = create(true, 'dddd') - doc1.putObject('_root', 'values', ['a', 'b']) - const change1 = doc1.saveIncremental() - doc2.loadIncremental(change1) - doc3.loadIncremental(change1) - doc4.loadIncremental(change1) - doc1.insert('1@aaaa', 2, 'e') - doc1.insert('1@aaaa', 3, 'f') - doc2.insert('1@aaaa', 2, 'c') - doc2.insert('1@aaaa', 3, 'd') - const change2 = doc1.saveIncremental(), change3 = doc2.saveIncremental() - doc3.enablePatches(true) - doc4.enablePatches(true) - doc3.loadIncremental(change2); doc3.loadIncremental(change3) - doc4.loadIncremental(change3); doc4.loadIncremental(change2) - assert.deepEqual([0, 1, 2, 3, 4, 5].map(i => (doc3.getWithType('1@aaaa', i) || [])[1]), ['a', 'b', 'c', 'd', 'e', 'f']) - assert.deepEqual([0, 1, 2, 3, 4, 5].map(i => (doc4.getWithType('1@aaaa', i) || [])[1]), ['a', 'b', 'c', 'd', 'e', 'f']) - assert.deepEqual(doc3.popPatches(), [ - { action: 'insert', path: ['values', 2], values: ['c','d','e','f'] }, - ]) - assert.deepEqual(doc4.popPatches(), [ - { action: 'insert', path: ['values', 2], values: ['c','d','e','f'] }, - ]) - }) - - it('should handle conflicts on root object keys', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc'), doc4 = create(true, 'dddd') - doc1.put('_root', 'bird', 'Greenfinch') - doc2.put('_root', 'bird', 'Goldfinch') - const change1 = doc1.saveIncremental(), change2 = doc2.saveIncremental() - doc3.enablePatches(true) - doc4.enablePatches(true) - doc3.loadIncremental(change1); doc3.loadIncremental(change2) - doc4.loadIncremental(change2); doc4.loadIncremental(change1) - assert.deepEqual(doc3.getWithType('_root', 'bird'), ['str', 'Goldfinch']) - assert.deepEqual(doc3.getAll('_root', 'bird'), [['str', 'Greenfinch', '1@aaaa'], ['str', 'Goldfinch', '1@bbbb']]) - assert.deepEqual(doc4.getWithType('_root', 'bird'), ['str', 'Goldfinch']) - assert.deepEqual(doc4.getAll('_root', 'bird'), [['str', 'Greenfinch', '1@aaaa'], ['str', 'Goldfinch', '1@bbbb']]) - assert.deepEqual(doc3.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Greenfinch' }, - { action: 'put', path: ['bird'], value: 'Goldfinch' }, - ]) - assert.deepEqual(doc4.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Goldfinch' }, - ]) - }) - - it('should handle three-way conflicts', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc') - doc1.put('_root', 'bird', 'Greenfinch') - doc2.put('_root', 'bird', 'Chaffinch') - doc3.put('_root', 'bird', 'Goldfinch') - const change1 = doc1.saveIncremental(), change2 = doc2.saveIncremental(), change3 = doc3.saveIncremental() - doc1.enablePatches(true) - doc2.enablePatches(true) - doc3.enablePatches(true) - doc1.loadIncremental(change2); doc1.loadIncremental(change3) - doc2.loadIncremental(change3); doc2.loadIncremental(change1) - doc3.loadIncremental(change1); doc3.loadIncremental(change2) - assert.deepEqual(doc1.getWithType('_root', 'bird'), ['str', 'Goldfinch']) - assert.deepEqual(doc1.getAll('_root', 'bird'), [ - ['str', 'Greenfinch', '1@aaaa'], ['str', 'Chaffinch', '1@bbbb'], ['str', 'Goldfinch', '1@cccc'] - ]) - assert.deepEqual(doc2.getWithType('_root', 'bird'), ['str', 'Goldfinch']) - assert.deepEqual(doc2.getAll('_root', 'bird'), [ - ['str', 'Greenfinch', '1@aaaa'], ['str', 'Chaffinch', '1@bbbb'], ['str', 'Goldfinch', '1@cccc'] - ]) - assert.deepEqual(doc3.getWithType('_root', 'bird'), ['str', 'Goldfinch']) - assert.deepEqual(doc3.getAll('_root', 'bird'), [ - ['str', 'Greenfinch', '1@aaaa'], ['str', 'Chaffinch', '1@bbbb'], ['str', 'Goldfinch', '1@cccc'] - ]) - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Chaffinch' }, - { action: 'put', path: ['bird'], value: 'Goldfinch' } - ]) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Goldfinch' }, - ]) - assert.deepEqual(doc3.popPatches(), [ ]) - }) - - it('should allow a conflict to be resolved', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc') - doc1.put('_root', 'bird', 'Greenfinch') - doc2.put('_root', 'bird', 'Chaffinch') - doc3.enablePatches(true) - const change1 = doc1.saveIncremental(), change2 = doc2.saveIncremental() - doc1.loadIncremental(change2); doc3.loadIncremental(change1) - doc2.loadIncremental(change1); doc3.loadIncremental(change2) - doc1.put('_root', 'bird', 'Goldfinch') - doc3.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc3.getAll('_root', 'bird'), [['str', 'Goldfinch', '2@aaaa']]) - assert.deepEqual(doc3.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Greenfinch' }, - { action: 'put', path: ['bird'], value: 'Chaffinch' }, - { action: 'put', path: ['bird'], value: 'Goldfinch' } - ]) - }) - - it('should handle a concurrent map key overwrite and delete', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.put('_root', 'bird', 'Greenfinch') - doc2.loadIncremental(doc1.saveIncremental()) - doc1.put('_root', 'bird', 'Goldfinch') - doc2.delete('_root', 'bird') - const change1 = doc1.saveIncremental(), change2 = doc2.saveIncremental() - doc1.enablePatches(true) - doc2.enablePatches(true) - doc1.loadIncremental(change2) - doc2.loadIncremental(change1) - assert.deepEqual(doc1.getWithType('_root', 'bird'), ['str', 'Goldfinch']) - assert.deepEqual(doc1.getAll('_root', 'bird'), [['str', 'Goldfinch', '2@aaaa']]) - assert.deepEqual(doc2.getWithType('_root', 'bird'), ['str', 'Goldfinch']) - assert.deepEqual(doc2.getAll('_root', 'bird'), [['str', 'Goldfinch', '2@aaaa']]) - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Goldfinch' } - ]) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Goldfinch' } - ]) - }) - - it('should handle a conflict on a list element', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc'), doc4 = create(true, 'dddd') - doc1.putObject('_root', 'birds', ['Thrush', 'Magpie']) - const change1 = doc1.saveIncremental() - doc2.loadIncremental(change1) - doc3.loadIncremental(change1) - doc4.loadIncremental(change1) - doc1.put('1@aaaa', 0, 'Song Thrush') - doc2.put('1@aaaa', 0, 'Redwing') - const change2 = doc1.saveIncremental(), change3 = doc2.saveIncremental() - doc3.enablePatches(true) - doc4.enablePatches(true) - doc3.loadIncremental(change2); doc3.loadIncremental(change3) - doc4.loadIncremental(change3); doc4.loadIncremental(change2) - assert.deepEqual(doc3.getWithType('1@aaaa', 0), ['str', 'Redwing']) - assert.deepEqual(doc3.getAll('1@aaaa', 0), [['str', 'Song Thrush', '4@aaaa'], ['str', 'Redwing', '4@bbbb']]) - assert.deepEqual(doc4.getWithType('1@aaaa', 0), ['str', 'Redwing']) - assert.deepEqual(doc4.getAll('1@aaaa', 0), [['str', 'Song Thrush', '4@aaaa'], ['str', 'Redwing', '4@bbbb']]) - assert.deepEqual(doc3.popPatches(), [ - { action: 'put', path: ['birds',0], value: 'Song Thrush' }, - { action: 'put', path: ['birds',0], value: 'Redwing' } - ]) - assert.deepEqual(doc4.popPatches(), [ - { action: 'put', path: ['birds',0], value: 'Redwing' }, - ]) - }) - - it('should handle a concurrent list element overwrite and delete', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc'), doc4 = create(true, 'dddd') - doc1.putObject('_root', 'birds', ['Parakeet', 'Magpie', 'Thrush']) - const change1 = doc1.saveIncremental() - doc2.loadIncremental(change1) - doc3.loadIncremental(change1) - doc4.loadIncremental(change1) - doc1.delete('1@aaaa', 0) - doc1.put('1@aaaa', 1, 'Song Thrush') - doc2.put('1@aaaa', 0, 'Ring-necked parakeet') - doc2.put('1@aaaa', 2, 'Redwing') - const change2 = doc1.saveIncremental(), change3 = doc2.saveIncremental() - doc3.enablePatches(true) - doc4.enablePatches(true) - doc3.loadIncremental(change2); doc3.loadIncremental(change3) - doc4.loadIncremental(change3); doc4.loadIncremental(change2) - assert.deepEqual(doc3.getAll('1@aaaa', 0), [['str', 'Ring-necked parakeet', '5@bbbb']]) - assert.deepEqual(doc3.getAll('1@aaaa', 2), [['str', 'Song Thrush', '6@aaaa'], ['str', 'Redwing', '6@bbbb']]) - assert.deepEqual(doc4.getAll('1@aaaa', 0), [['str', 'Ring-necked parakeet', '5@bbbb']]) - assert.deepEqual(doc4.getAll('1@aaaa', 2), [['str', 'Song Thrush', '6@aaaa'], ['str', 'Redwing', '6@bbbb']]) - assert.deepEqual(doc3.popPatches(), [ - { action: 'del', path: ['birds',0], }, - { action: 'put', path: ['birds',1], value: 'Song Thrush' }, - { action: 'insert', path: ['birds',0], values: ['Ring-necked parakeet'] }, - { action: 'put', path: ['birds',2], value: 'Redwing' } - ]) - assert.deepEqual(doc4.popPatches(), [ - { action: 'put', path: ['birds',0], value: 'Ring-necked parakeet' }, - { action: 'put', path: ['birds',2], value: 'Redwing' }, - { action: 'put', path: ['birds',0], value: 'Ring-necked parakeet' }, - ]) - }) - - it('should handle deletion of a conflict value', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), doc3 = create(true, 'cccc') - doc1.put('_root', 'bird', 'Robin') - doc2.put('_root', 'bird', 'Wren') - const change1 = doc1.saveIncremental(), change2 = doc2.saveIncremental() - doc2.delete('_root', 'bird') - const change3 = doc2.saveIncremental() - doc3.enablePatches(true) - doc3.loadIncremental(change1) - doc3.loadIncremental(change2) - assert.deepEqual(doc3.getAll('_root', 'bird'), [['str', 'Robin', '1@aaaa'], ['str', 'Wren', '1@bbbb']]) - assert.deepEqual(doc3.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Robin' }, - { action: 'put', path: ['bird'], value: 'Wren' } - ]) - doc3.loadIncremental(change3) - assert.deepEqual(doc3.getWithType('_root', 'bird'), ['str', 'Robin']) - assert.deepEqual(doc3.getAll('_root', 'bird'), [['str', 'Robin', '1@aaaa']]) - assert.deepEqual(doc3.popPatches(), [ - { action: 'put', path: ['bird'], value: 'Robin' } - ]) - }) - - it('should handle conflicting nested objects', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc1.putObject('_root', 'birds', ['Parakeet']) - doc2.putObject('_root', 'birds', { 'Sparrowhawk': 1 }) - const change1 = doc1.saveIncremental(), change2 = doc2.saveIncremental() - doc1.enablePatches(true) - doc2.enablePatches(true) - doc1.loadIncremental(change2) - doc2.loadIncremental(change1) - assert.deepEqual(doc1.getAll('_root', 'birds'), [['list', '1@aaaa'], ['map', '1@bbbb']]) - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['birds'], value: {} }, - { action: 'put', path: ['birds', 'Sparrowhawk'], value: 1 } - ]) - assert.deepEqual(doc2.getAll('_root', 'birds'), [['list', '1@aaaa'], ['map', '1@bbbb']]) - assert.deepEqual(doc2.popPatches(), []) - }) - - it('should support date objects', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb'), now = new Date() - doc1.put('_root', 'createdAt', now) - doc2.enablePatches(true) - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc2.getWithType('_root', 'createdAt'), ['timestamp', now]) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: ['createdAt'], value: now } - ]) - }) - - it('should capture local put ops', () => { - const doc1 = create(true, 'aaaa') - doc1.enablePatches(true) - doc1.put('_root', 'key1', 1) - doc1.put('_root', 'key1', 2) - doc1.put('_root', 'key2', 3) - doc1.putObject('_root', 'map', {}) - doc1.putObject('_root', 'list', []) - - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['key1'], value: 1 }, - { action: 'put', path: ['key1'], value: 2 }, - { action: 'put', path: ['key2'], value: 3 }, - { action: 'put', path: ['map'], value: {} }, - { action: 'put', path: ['list'], value: [] }, - ]) - }) - - it('should capture local insert ops', () => { - const doc1 = create(true, 'aaaa') - doc1.enablePatches(true) - const list = doc1.putObject('_root', 'list', []) - doc1.insert(list, 0, 1) - doc1.insert(list, 0, 2) - doc1.insert(list, 2, 3) - doc1.insertObject(list, 2, {}) - doc1.insertObject(list, 2, []) - - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['list'], value: [] }, - { action: 'insert', path: ['list', 0], values: [2,1,[],{},3] }, - ]) - }) - - it('should capture local push ops', () => { - const doc1 = create(true, 'aaaa') - doc1.enablePatches(true) - const list = doc1.putObject('_root', 'list', []) - doc1.push(list, 1) - doc1.pushObject(list, {}) - doc1.pushObject(list, []) - - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['list'], value: [] }, - { action: 'insert', path: ['list',0], values: [1,{},[]] }, - ]) - }) - - it('should capture local splice ops', () => { - const doc1 = create(true, 'aaaa') - doc1.enablePatches(true) - const list = doc1.putObject('_root', 'list', []) - doc1.splice(list, 0, 0, [1, 2, 3, 4]) - doc1.splice(list, 1, 2) - - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['list'], value: [] }, - { action: 'insert', path: ['list',0], values: [1,4] }, - ]) - }) - - it('should capture local increment ops', () => { - const doc1 = create(true, 'aaaa') - doc1.enablePatches(true) - doc1.put('_root', 'counter', 2, 'counter') - doc1.increment('_root', 'counter', 4) - - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['counter'], value: 2 }, - { action: 'inc', path: ['counter'], value: 4 }, - ]) - }) - - - it('should capture local delete ops', () => { - const doc1 = create(true, 'aaaa') - doc1.enablePatches(true) - doc1.put('_root', 'key1', 1) - doc1.put('_root', 'key2', 2) - doc1.delete('_root', 'key1') - doc1.delete('_root', 'key2') - assert.deepEqual(doc1.popPatches(), [ - { action: 'put', path: ['key1'], value: 1 }, - { action: 'put', path: ['key2'], value: 2 }, - { action: 'del', path: ['key1'], }, - { action: 'del', path: ['key2'], }, - ]) - }) - - it('should support counters in a map', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc2.enablePatches(true) - doc1.put('_root', 'starlings', 2, 'counter') - doc2.loadIncremental(doc1.saveIncremental()) - doc1.increment('_root', 'starlings', 1) - doc2.loadIncremental(doc1.saveIncremental()) - assert.deepEqual(doc2.getWithType('_root', 'starlings'), ['counter', 3]) - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: ['starlings'], value: 2 }, - { action: 'inc', path: ['starlings'], value: 1 } - ]) - }) - - it('should support counters in a list', () => { - const doc1 = create(true, 'aaaa'), doc2 = create(true, 'bbbb') - doc2.enablePatches(true) - const list = doc1.putObject('_root', 'list', []) - doc2.loadIncremental(doc1.saveIncremental()) - doc1.insert(list, 0, 1, 'counter') - doc2.loadIncremental(doc1.saveIncremental()) - doc1.increment(list, 0, 2) - doc2.loadIncremental(doc1.saveIncremental()) - doc1.increment(list, 0, -5) - doc2.loadIncremental(doc1.saveIncremental()) - - assert.deepEqual(doc2.popPatches(), [ - { action: 'put', path: ['list'], value: [] }, - { action: 'insert', path: ['list',0], values: [1] }, - { action: 'inc', path: ['list',0], value: 2 }, - { action: 'inc', path: ['list',0], value: -5 }, - ]) - }) - - it('should delete a counter from a map') // TODO - }) - - describe('sync', () => { - it('should send a sync message implying no local data', () => { - const doc = create(true) - const s1 = initSyncState() - const m1 = doc.generateSyncMessage(s1) - if (m1 === null) { throw new RangeError("message should not be null") } - const message: DecodedSyncMessage = decodeSyncMessage(m1) - assert.deepStrictEqual(message.heads, []) - assert.deepStrictEqual(message.need, []) - assert.deepStrictEqual(message.have.length, 1) - assert.deepStrictEqual(message.have[0].lastSync, []) - assert.deepStrictEqual(message.have[0].bloom.byteLength, 0) - assert.deepStrictEqual(message.changes, []) - }) - - it('should not reply if we have no data as well', () => { - const n1 = create(true), n2 = create(true) - const s1 = initSyncState(), s2 = initSyncState() - const m1 = n1.generateSyncMessage(s1) - if (m1 === null) { throw new RangeError("message should not be null") } - n2.receiveSyncMessage(s2, m1) - const m2 = n2.generateSyncMessage(s2) - assert.deepStrictEqual(m2, null) - }) - - it('repos with equal heads do not need a reply message', () => { - const n1 = create(true), n2 = create(true) - const s1 = initSyncState(), s2 = initSyncState() - - // make two nodes with the same changes - const list = n1.putObject("_root", "n", []) - n1.commit("", 0) - for (let i = 0; i < 10; i++) { - n1.insert(list, i, i) - n1.commit("", 0) - } - n2.applyChanges(n1.getChanges([])) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - - // generate a naive sync message - const m1 = n1.generateSyncMessage(s1) - if (m1 === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(s1.lastSentHeads, n1.getHeads()) - - // heads are equal so this message should be null - n2.receiveSyncMessage(s2, m1) - const m2 = n2.generateSyncMessage(s2) - assert.strictEqual(m2, null) - }) - - it('n1 should offer all changes to n2 when starting from nothing', () => { - const n1 = create(true), n2 = create(true) - - // make changes for n1 that n2 should request - const list = n1.putObject("_root", "n", []) - n1.commit("", 0) - for (let i = 0; i < 10; i++) { - n1.insert(list, i, i) - n1.commit("", 0) - } - - assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) - sync(n1, n2) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should sync peers where one has commits the other does not', () => { - const n1 = create(true), n2 = create(true) - - // make changes for n1 that n2 should request - const list = n1.putObject("_root", "n", []) - n1.commit("", 0) - for (let i = 0; i < 10; i++) { - n1.insert(list, i, i) - n1.commit("", 0) - } - - assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) - sync(n1, n2) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should work with prior sync state', () => { - // create & synchronize two nodes - const n1 = create(true), n2 = create(true) - const s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 5; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - // modify the first node further - for (let i = 5; i < 10; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should not generate messages once synced', () => { - // create & synchronize two nodes - const n1 = create(true, 'abc123'), n2 = create(true, 'def456') - const s1 = initSyncState(), s2 = initSyncState() - - let message - for (let i = 0; i < 5; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - for (let i = 0; i < 5; i++) { - n2.put("_root", "y", i) - n2.commit("", 0) - } - - // n1 reports what it has - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - - // n2 receives that message and sends changes along with what it has - n2.receiveSyncMessage(s2, message) - message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 5) - //assert.deepStrictEqual(patch, null) // no changes arrived - - // n1 receives the changes and replies with the changes it now knows that n2 needs - n1.receiveSyncMessage(s1, message) - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 5) - - // n2 applies the changes and sends confirmation ending the exchange - n2.receiveSyncMessage(s2, message) - message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be null") } - - // n1 receives the message and has nothing more to say - n1.receiveSyncMessage(s1, message) - message = n1.generateSyncMessage(s1) - assert.deepStrictEqual(message, null) - //assert.deepStrictEqual(patch, null) // no changes arrived - - // n2 also has nothing left to say - message = n2.generateSyncMessage(s2) - assert.deepStrictEqual(message, null) - }) - - it('should allow simultaneous messages during synchronization', () => { - // create & synchronize two nodes - const n1 = create(true, 'abc123'), n2 = create(true, 'def456') - const s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 5; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - for (let i = 0; i < 5; i++) { - n2.put("_root", "y", i) - n2.commit("", 0) - } - - const head1 = n1.getHeads()[0], head2 = n2.getHeads()[0] - - // both sides report what they have but have no shared peer state - let msg1to2, msg2to1 - msg1to2 = n1.generateSyncMessage(s1) - msg2to1 = n2.generateSyncMessage(s2) - if (msg1to2 === null) { throw new RangeError("message should not be null") } - if (msg2to1 === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 0) - assert.deepStrictEqual(decodeSyncMessage(msg1to2).have[0].lastSync.length, 0) - assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 0) - assert.deepStrictEqual(decodeSyncMessage(msg2to1).have[0].lastSync.length, 0) - - // n1 and n2 receive that message and update sync state but make no patch - n1.receiveSyncMessage(s1, msg2to1) - n2.receiveSyncMessage(s2, msg1to2) - - // now both reply with their local changes the other lacks - // (standard warning that 1% of the time this will result in a "need" message) - msg1to2 = n1.generateSyncMessage(s1) - if (msg1to2 === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 5) - msg2to1 = n2.generateSyncMessage(s2) - if (msg2to1 === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 5) - - // both should now apply the changes and update the frontend - n1.receiveSyncMessage(s1, msg2to1) - assert.deepStrictEqual(n1.getMissingDeps(), []) - //assert.notDeepStrictEqual(patch1, null) - assert.deepStrictEqual(n1.materialize(), { x: 4, y: 4 }) - - n2.receiveSyncMessage(s2, msg1to2) - assert.deepStrictEqual(n2.getMissingDeps(), []) - //assert.notDeepStrictEqual(patch2, null) - assert.deepStrictEqual(n2.materialize(), { x: 4, y: 4 }) - - // The response acknowledges the changes received and sends no further changes - msg1to2 = n1.generateSyncMessage(s1) - if (msg1to2 === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(msg1to2).changes.length, 0) - msg2to1 = n2.generateSyncMessage(s2) - if (msg2to1 === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(msg2to1).changes.length, 0) - - // After receiving acknowledgements, their shared heads should be equal - n1.receiveSyncMessage(s1, msg2to1) - n2.receiveSyncMessage(s2, msg1to2) - assert.deepStrictEqual(s1.sharedHeads, [head1, head2].sort()) - assert.deepStrictEqual(s2.sharedHeads, [head1, head2].sort()) - //assert.deepStrictEqual(patch1, null) - //assert.deepStrictEqual(patch2, null) - - // We're in sync, no more messages required - msg1to2 = n1.generateSyncMessage(s1) - msg2to1 = n2.generateSyncMessage(s2) - assert.deepStrictEqual(msg1to2, null) - assert.deepStrictEqual(msg2to1, null) - - // If we make one more change and start another sync then its lastSync should be updated - n1.put("_root", "x", 5) - msg1to2 = n1.generateSyncMessage(s1) - if (msg1to2 === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(msg1to2).have[0].lastSync, [head1, head2].sort()) - }) - - it('should assume sent changes were received until we hear otherwise', () => { - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - const s1 = initSyncState(), s2 = initSyncState() - let message = null - - const items = n1.putObject("_root", "items", []) - n1.commit("", 0) - - sync(n1, n2, s1, s2) - - n1.push(items, "x") - n1.commit("", 0) - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) - - n1.push(items, "y") - n1.commit("", 0) - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) - - n1.push(items, "z") - n1.commit("", 0) - - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(message).changes.length, 1) - }) - - it('should work regardless of who initiates the exchange', () => { - // create & synchronize two nodes - const n1 = create(true), n2 = create(true) - const s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 5; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - // modify the first node further - for (let i = 5; i < 10; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should work without prior sync state', () => { - // Scenario: ,-- c10 <-- c11 <-- c12 <-- c13 <-- c14 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- c15 <-- c16 <-- c17 - // lastSync is undefined. - - // create two peers both with divergent commits - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - //const s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 10; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2) - - for (let i = 10; i < 15; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - for (let i = 15; i < 18; i++) { - n2.put("_root", "x", i) - n2.commit("", 0) - } - - assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) - sync(n1, n2) - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should work with prior sync state', () => { - // Scenario: ,-- c10 <-- c11 <-- c12 <-- c13 <-- c14 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- c15 <-- c16 <-- c17 - // lastSync is c9. - - // create two peers both with divergent commits - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - let s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 10; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - for (let i = 10; i < 15; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - for (let i = 15; i < 18; i++) { - n2.put("_root", "x", i) - n2.commit("", 0) - } - - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - - assert.notDeepStrictEqual(n1.materialize(), n2.materialize()) - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should ensure non-empty state after sync', () => { - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - const s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 3; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - assert.deepStrictEqual(s1.sharedHeads, n1.getHeads()) - assert.deepStrictEqual(s2.sharedHeads, n1.getHeads()) - }) - - it('should re-sync after one node crashed with data loss', () => { - // Scenario: (r) (n2) (n1) - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 - // n2 has changes {c0, c1, c2}, n1's lastSync is c5, and n2's lastSync is c2. - // we want to successfully sync (n1) with (r), even though (n1) believes it's talking to (n2) - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - let s1 = initSyncState() - const s2 = initSyncState() - - // n1 makes three changes, which we sync to n2 - for (let i = 0; i < 3; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - // save a copy of n2 as "r" to simulate recovering from a crash - let r - let rSyncState - ;[r, rSyncState] = [n2.clone(), s2.clone()] - - // sync another few commits - for (let i = 3; i < 6; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - // everyone should be on the same page here - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - - // now make a few more changes and then attempt to sync the fully-up-to-date n1 with the confused r - for (let i = 6; i < 9; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - s1 = decodeSyncState(encodeSyncState(s1)) - rSyncState = decodeSyncState(encodeSyncState(rSyncState)) - - assert.notDeepStrictEqual(n1.getHeads(), r.getHeads()) - assert.notDeepStrictEqual(n1.materialize(), r.materialize()) - assert.deepStrictEqual(n1.materialize(), { x: 8 }) - assert.deepStrictEqual(r.materialize(), { x: 2 }) - sync(n1, r, s1, rSyncState) - assert.deepStrictEqual(n1.getHeads(), r.getHeads()) - assert.deepStrictEqual(n1.materialize(), r.materialize()) - r = null - }) - - it('should re-sync after one node experiences data loss without disconnecting', () => { - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - const s1 = initSyncState(), s2 = initSyncState() - - // n1 makes three changes, which we sync to n2 - for (let i = 0; i < 3; i++) { - n1.put("_root", "x", i) - n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - - const n2AfterDataLoss = create(true, '89abcdef') - - // "n2" now has no data, but n1 still thinks it does. Note we don't do - // decodeSyncState(encodeSyncState(s1)) in order to simulate data loss without disconnecting - sync(n1, n2AfterDataLoss, s1, initSyncState()) - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should handle changes concurrent to the last sync heads', () => { - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef'), n3 = create(true, 'fedcba98') - const s12 = initSyncState(), s21 = initSyncState(), s23 = initSyncState(), s32 = initSyncState() - - // Change 1 is known to all three nodes - //n1 = Automerge.change(n1, {time: 0}, doc => doc.x = 1) - n1.put("_root", "x", 1); n1.commit("", 0) - - sync(n1, n2, s12, s21) - sync(n2, n3, s23, s32) - - // Change 2 is known to n1 and n2 - n1.put("_root", "x", 2); n1.commit("", 0) - - sync(n1, n2, s12, s21) - - // Each of the three nodes makes one change (changes 3, 4, 5) - n1.put("_root", "x", 3); n1.commit("", 0) - n2.put("_root", "x", 4); n2.commit("", 0) - n3.put("_root", "x", 5); n3.commit("", 0) - - // Apply n3's latest change to n2. If running in Node, turn the Uint8Array into a Buffer, to - // simulate transmission over a network (see https://github.com/automerge/automerge/pull/362) - let change = n3.getLastLocalChange() - if (change === null) throw new RangeError("no local change") - //ts-ignore - if (typeof Buffer === 'function') change = Buffer.from(change) - if (change === undefined) { throw new RangeError("last local change failed") } - n2.applyChanges([change]) - - // Now sync n1 and n2. n3's change is concurrent to n1 and n2's last sync heads - sync(n1, n2, s12, s21) - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should handle histories with lots of branching and merging', () => { - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef'), n3 = create(true, 'fedcba98') - n1.put("_root", "x", 0); n1.commit("", 0) - const change1 = n1.getLastLocalChange() - if (change1 === null) throw new RangeError("no local change") - n2.applyChanges([change1]) - const change2 = n1.getLastLocalChange() - if (change2 === null) throw new RangeError("no local change") - n3.applyChanges([change2]) - n3.put("_root", "x", 1); n3.commit("", 0) - - // - n1c1 <------ n1c2 <------ n1c3 <-- etc. <-- n1c20 <------ n1c21 - // / \/ \/ \/ - // / /\ /\ /\ - // c0 <---- n2c1 <------ n2c2 <------ n2c3 <-- etc. <-- n2c20 <------ n2c21 - // \ / - // ---------------------------------------------- n3c1 <----- - for (let i = 1; i < 20; i++) { - n1.put("_root", "n1", i); n1.commit("", 0) - n2.put("_root", "n2", i); n2.commit("", 0) - const change1 = n1.getLastLocalChange() - if (change1 === null) throw new RangeError("no local change") - const change2 = n2.getLastLocalChange() - if (change2 === null) throw new RangeError("no local change") - n1.applyChanges([change2]) - n2.applyChanges([change1]) - } - - const s1 = initSyncState(), s2 = initSyncState() - sync(n1, n2, s1, s2) - - // Having n3's last change concurrent to the last sync heads forces us into the slower code path - const change3 = n3.getLastLocalChange() - if (change3 === null) throw new RangeError("no local change") - n2.applyChanges([change3]) - n1.put("_root", "n1", "final"); n1.commit("", 0) - n2.put("_root", "n2", "final"); n2.commit("", 0) - - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - assert.deepStrictEqual(n1.materialize(), n2.materialize()) - }) - - it('should handle a false-positive head', () => { - // Scenario: ,-- n1 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- n2 - // where n2 is a false positive in the Bloom filter containing {n1}. - // lastSync is c9. - let n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - let s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 10; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - for (let i = 1; ; i++) { // search for false positive; see comment above - const n1up = n1.clone('01234567'); - n1up.put("_root", "x", `${i} @ n1`); n1up.commit("", 0) - const n2up = n2.clone('89abcdef'); - n2up.put("_root", "x", `${i} @ n2`); n2up.commit("", 0) - if (new BloomFilter(n1up.getHeads()).containsHash(n2up.getHeads()[0])) { - n1 = n1up; n2 = n2up; break - } - } - const allHeads = [...n1.getHeads(), ...n2.getHeads()].sort() - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.getHeads(), allHeads) - assert.deepStrictEqual(n2.getHeads(), allHeads) - }) - - - describe('with a false-positive dependency', () => { - let n1: Automerge, n2: Automerge, s1: SyncState, s2: SyncState, n1hash2: Hash, n2hash2: Hash - - beforeEach(() => { - // Scenario: ,-- n1c1 <-- n1c2 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- n2c1 <-- n2c2 - // where n2c1 is a false positive in the Bloom filter containing {n1c1, n1c2}. - // lastSync is c9. - n1 = create(true, '01234567') - n2 = create(true, '89abcdef') - s1 = initSyncState() - s2 = initSyncState() - for (let i = 0; i < 10; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - sync(n1, n2, s1, s2) - - let n1hash1, n2hash1 - for (let i = 29; ; i++) { // search for false positive; see comment above - const n1us1 = n1.clone('01234567') - n1us1.put("_root", "x", `${i} @ n1`); n1us1.commit("", 0) - - const n2us1 = n2.clone('89abcdef') - n2us1.put("_root", "x", `${i} @ n1`); n2us1.commit("", 0) - - n1hash1 = n1us1.getHeads()[0]; n2hash1 = n2us1.getHeads()[0] - - const n1us2 = n1us1.clone(); - n1us2.put("_root", "x", `final @ n1`); n1us2.commit("", 0) - - const n2us2 = n2us1.clone(); - n2us2.put("_root", "x", `final @ n2`); n2us2.commit("", 0) - - n1hash2 = n1us2.getHeads()[0]; n2hash2 = n2us2.getHeads()[0] - if (new BloomFilter([n1hash1, n1hash2]).containsHash(n2hash1)) { - n1 = n1us2; n2 = n2us2; break - } - } - }) - - it('should sync two nodes without connection reset', () => { - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.getHeads(), [n1hash2, n2hash2].sort()) - assert.deepStrictEqual(n2.getHeads(), [n1hash2, n2hash2].sort()) - }) - - it('should sync two nodes with connection reset', () => { - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.getHeads(), [n1hash2, n2hash2].sort()) - assert.deepStrictEqual(n2.getHeads(), [n1hash2, n2hash2].sort()) - }) - - it('should sync three nodes', () => { - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - - // First n1 and n2 exchange Bloom filters - let m1, m2 - m1 = n1.generateSyncMessage(s1) - m2 = n2.generateSyncMessage(s2) - if (m1 === null) { throw new RangeError("message should not be null") } - if (m2 === null) { throw new RangeError("message should not be null") } - n1.receiveSyncMessage(s1, m2) - n2.receiveSyncMessage(s2, m1) - - // Then n1 and n2 send each other their changes, except for the false positive - m1 = n1.generateSyncMessage(s1) - m2 = n2.generateSyncMessage(s2) - if (m1 === null) { throw new RangeError("message should not be null") } - if (m2 === null) { throw new RangeError("message should not be null") } - n1.receiveSyncMessage(s1, m2) - n2.receiveSyncMessage(s2, m1) - assert.strictEqual(decodeSyncMessage(m1).changes.length, 2) // n1c1 and n1c2 - assert.strictEqual(decodeSyncMessage(m2).changes.length, 1) // only n2c2; change n2c1 is not sent - - // n3 is a node that doesn't have the missing change. Nevertheless n1 is going to ask n3 for it - const n3 = create(true, 'fedcba98'), s13 = initSyncState(), s31 = initSyncState() - sync(n1, n3, s13, s31) - assert.deepStrictEqual(n1.getHeads(), [n1hash2]) - assert.deepStrictEqual(n3.getHeads(), [n1hash2]) - }) - }) - - it('should not require an additional request when a false-positive depends on a true-negative', () => { - // Scenario: ,-- n1c1 <-- n1c2 <-- n1c3 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-+ - // `-- n2c1 <-- n2c2 <-- n2c3 - // where n2c2 is a false positive in the Bloom filter containing {n1c1, n1c2, n1c3}. - // lastSync is c4. - let n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - let s1 = initSyncState(), s2 = initSyncState() - let n1hash3, n2hash3 - - for (let i = 0; i < 5; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - sync(n1, n2, s1, s2) - for (let i = 86; ; i++) { // search for false positive; see comment above - const n1us1 = n1.clone('01234567') - n1us1.put("_root", "x", `${i} @ n1`); n1us1.commit("", 0) - - const n2us1 = n2.clone('89abcdef') - n2us1.put("_root", "x", `${i} @ n2`); n2us1.commit("", 0) - - //const n1us1 = Automerge.change(Automerge.clone(n1, {actorId: '01234567'}), {time: 0}, doc => doc.x = `${i} @ n1`) - //const n2us1 = Automerge.change(Automerge.clone(n2, {actorId: '89abcdef'}), {time: 0}, doc => doc.x = `${i} @ n2`) - const n1hash1 = n1us1.getHeads()[0] - - const n1us2 = n1us1.clone() - n1us2.put("_root", "x", `${i + 1} @ n1`); n1us2.commit("", 0) - - const n2us2 = n2us1.clone() - n2us2.put("_root", "x", `${i + 1} @ n2`); n2us2.commit("", 0) - - const n1hash2 = n1us2.getHeads()[0], n2hash2 = n2us2.getHeads()[0] - - const n1us3 = n1us2.clone() - n1us3.put("_root", "x", `final @ n1`); n1us3.commit("", 0) - - const n2us3 = n2us2.clone() - n2us3.put("_root", "x", `final @ n2`); n2us3.commit("", 0) - - n1hash3 = n1us3.getHeads()[0]; n2hash3 = n2us3.getHeads()[0] - - if (new BloomFilter([n1hash1, n1hash2, n1hash3]).containsHash(n2hash2)) { - n1 = n1us3; n2 = n2us3; break - } - } - const bothHeads = [n1hash3, n2hash3].sort() - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.getHeads(), bothHeads) - assert.deepStrictEqual(n2.getHeads(), bothHeads) - }) - - it('should handle chains of false-positives', () => { - // Scenario: ,-- c5 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-+ - // `-- n2c1 <-- n2c2 <-- n2c3 - // where n2c1 and n2c2 are both false positives in the Bloom filter containing {c5}. - // lastSync is c4. - const n1 = create(true, '01234567') - let n2 = create(true, '89abcdef') - let s1 = initSyncState(), s2 = initSyncState() - - for (let i = 0; i < 5; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - n1.put("_root", "x", 5); n1.commit("", 0) - - for (let i = 2; ; i++) { // search for false positive; see comment above - const n2us1 = n2.clone('89abcdef') - n2us1.put("_root", "x", `${i} @ n2`); n2us1.commit("", 0) - if (new BloomFilter(n1.getHeads()).containsHash(n2us1.getHeads()[0])) { - n2 = n2us1; break - } - } - for (let i = 141; ; i++) { // search for false positive; see comment above - const n2us2 = n2.clone('89abcdef') - n2us2.put("_root", "x", `${i} again`); n2us2.commit("", 0) - if (new BloomFilter(n1.getHeads()).containsHash(n2us2.getHeads()[0])) { - n2 = n2us2; break - } - } - n2.put("_root", "x", `final @ n2`); n2.commit("", 0) - - const allHeads = [...n1.getHeads(), ...n2.getHeads()].sort() - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - sync(n1, n2, s1, s2) - assert.deepStrictEqual(n1.getHeads(), allHeads) - assert.deepStrictEqual(n2.getHeads(), allHeads) - }) - - it('should allow the false-positive hash to be explicitly requested', () => { - // Scenario: ,-- n1 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- n2 - // where n2 causes a false positive in the Bloom filter containing {n1}. - let n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - let s1 = initSyncState(), s2 = initSyncState() - let message - - for (let i = 0; i < 10; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - - for (let i = 1; ; i++) { // brute-force search for false positive; see comment above - const n1up = n1.clone('01234567'); n1up.put("_root", "x", `${i} @ n1`); n1up.commit("", 0) - const n2up = n1.clone('89abcdef'); n2up.put("_root", "x", `${i} @ n2`); n2up.commit("", 0) - - // check if the bloom filter on n2 will believe n1 already has a particular hash - // this will mean n2 won't offer that data to n2 by receiving a sync message from n1 - if (new BloomFilter(n1up.getHeads()).containsHash(n2up.getHeads()[0])) { - n1 = n1up; n2 = n2up; break - } - } - - // n1 creates a sync message for n2 with an ill-fated bloom - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message).changes.length, 0) - - // n2 receives it and DOESN'T send a change back - n2.receiveSyncMessage(s2, message) - message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message).changes.length, 0) - - // n1 should now realize it's missing that change and request it explicitly - n1.receiveSyncMessage(s1, message) - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - assert.deepStrictEqual(decodeSyncMessage(message).need, n2.getHeads()) - - // n2 should fulfill that request - n2.receiveSyncMessage(s2, message) - message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message).changes.length, 1) - - // n1 should apply the change and the two should now be in sync - n1.receiveSyncMessage(s1, message) - assert.deepStrictEqual(n1.getHeads(), n2.getHeads()) - }) - - describe('protocol features', () => { - it('should allow multiple Bloom filters', () => { - // Scenario: ,-- n1c1 <-- n1c2 <-- n1c3 - // c0 <-- c1 <-- c2 <-+--- n2c1 <-- n2c2 <-- n2c3 - // `-- n3c1 <-- n3c2 <-- n3c3 - // n1 has {c0, c1, c2, n1c1, n1c2, n1c3, n2c1, n2c2}; - // n2 has {c0, c1, c2, n1c1, n1c2, n2c1, n2c2, n2c3}; - // n3 has {c0, c1, c2, n3c1, n3c2, n3c3}. - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef'), n3 = create(true, '76543210') - let s13 = initSyncState() - const s12 = initSyncState() - const s21 = initSyncState() - let s32 = initSyncState(), s31 = initSyncState(), s23 = initSyncState() - let message1, message3 - - for (let i = 0; i < 3; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - - // sync all 3 nodes - sync(n1, n2, s12, s21) // eslint-disable-line no-unused-vars -- kept for consistency - sync(n1, n3, s13, s31) - sync(n3, n2, s32, s23) - for (let i = 0; i < 2; i++) { - n1.put("_root", "x", `${i} @ n1`); n1.commit("", 0) - } - for (let i = 0; i < 2; i++) { - n2.put("_root", "x", `${i} @ n2`); n2.commit("", 0) - } - n1.applyChanges(n2.getChanges([])) - n2.applyChanges(n1.getChanges([])) - n1.put("_root", "x", `3 @ n1`); n1.commit("", 0) - n2.put("_root", "x", `3 @ n2`); n2.commit("", 0) - - for (let i = 0; i < 3; i++) { - n3.put("_root", "x", `${i} @ n3`); n3.commit("", 0) - } - const n1c3 = n1.getHeads()[0], n2c3 = n2.getHeads()[0], n3c3 = n3.getHeads()[0] - s13 = decodeSyncState(encodeSyncState(s13)) - s31 = decodeSyncState(encodeSyncState(s31)) - s23 = decodeSyncState(encodeSyncState(s23)) - s32 = decodeSyncState(encodeSyncState(s32)) - - - // Now n3 concurrently syncs with n1 and n2. Doing this naively would result in n3 receiving - // changes {n1c1, n1c2, n2c1, n2c2} twice (those are the changes that both n1 and n2 have, but - // that n3 does not have). We want to prevent this duplication. - message1 = n1.generateSyncMessage(s13) // message from n1 to n3 - if (message1 === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message1).changes.length, 0) - n3.receiveSyncMessage(s31, message1) - message3 = n3.generateSyncMessage(s31) // message from n3 to n1 - if (message3 === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message3).changes.length, 3) // {n3c1, n3c2, n3c3} - n1.receiveSyncMessage(s13, message3) - - // Copy the Bloom filter received from n1 into the message sent from n3 to n2. This Bloom - // filter indicates what changes n3 is going to receive from n1. - message3 = n3.generateSyncMessage(s32) // message from n3 to n2 - if (message3 === null) { throw new RangeError("message should not be null") } - const modifiedMessage = decodeSyncMessage(message3) - modifiedMessage.have.push(decodeSyncMessage(message1).have[0]) - assert.strictEqual(modifiedMessage.changes.length, 0) - n2.receiveSyncMessage(s23, encodeSyncMessage(modifiedMessage)) - - // n2 replies to n3, sending only n2c3 (the one change that n2 has but n1 doesn't) - const message2 = n2.generateSyncMessage(s23) - if (message2 === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message2).changes.length, 1) // {n2c3} - n3.receiveSyncMessage(s32, message2) - - // n1 replies to n3 - message1 = n1.generateSyncMessage(s13) - if (message1 === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message1).changes.length, 5) // {n1c1, n1c2, n1c3, n2c1, n2c2} - n3.receiveSyncMessage(s31, message1) - assert.deepStrictEqual(n3.getHeads(), [n1c3, n2c3, n3c3].sort()) - }) - - it('should allow any change to be requested', () => { - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - const s1 = initSyncState(), s2 = initSyncState() - let message = null - - for (let i = 0; i < 3; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - - const lastSync = n1.getHeads() - - for (let i = 3; i < 6; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - - sync(n1, n2, s1, s2) - s1.lastSentHeads = [] // force generateSyncMessage to return a message even though nothing changed - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - const modMsg = decodeSyncMessage(message) - modMsg.need = lastSync // re-request change 2 - n2.receiveSyncMessage(s2, encodeSyncMessage(modMsg)) - message = n2.generateSyncMessage(s2) - if (message === null) { throw new RangeError("message should not be null") } - assert.strictEqual(decodeSyncMessage(message).changes.length, 1) - assert.strictEqual(decodeChange(decodeSyncMessage(message).changes[0]).hash, lastSync[0]) - }) - - it('should ignore requests for a nonexistent change', () => { - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef') - const s1 = initSyncState(), s2 = initSyncState() - let message = null - - for (let i = 0; i < 3; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - - n2.applyChanges(n1.getChanges([])) - message = n1.generateSyncMessage(s1) - if (message === null) { throw new RangeError("message should not be null") } - message = decodeSyncMessage(message) - message.need = ['0000000000000000000000000000000000000000000000000000000000000000'] - message = encodeSyncMessage(message) - n2.receiveSyncMessage(s2, message) - message = n2.generateSyncMessage(s2) - assert.strictEqual(message, null) - }) - - it('should allow a subset of changes to be sent', () => { - // ,-- c1 <-- c2 - // c0 <-+ - // `-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 - const n1 = create(true, '01234567'), n2 = create(true, '89abcdef'), n3 = create(true, '76543210') - let s1 = initSyncState(), s2 = initSyncState() - let msg - - n1.put("_root", "x", 0); n1.commit("", 0) - n3.applyChanges(n3.getChangesAdded(n1)) // merge() - for (let i = 1; i <= 2; i++) { - n1.put("_root", "x", i); n1.commit("", 0) - } - for (let i = 3; i <= 4; i++) { - n3.put("_root", "x", i); n3.commit("", 0) - } - const c2 = n1.getHeads()[0], c4 = n3.getHeads()[0] - n2.applyChanges(n2.getChangesAdded(n3)) // merge() - - // Sync n1 and n2, so their shared heads are {c2, c4} - sync(n1, n2, s1, s2) - s1 = decodeSyncState(encodeSyncState(s1)) - s2 = decodeSyncState(encodeSyncState(s2)) - assert.deepStrictEqual(s1.sharedHeads, [c2, c4].sort()) - assert.deepStrictEqual(s2.sharedHeads, [c2, c4].sort()) - - // n2 and n3 apply {c5, c6, c7, c8} - n3.put("_root", "x", 5); n3.commit("", 0) - const change5 = n3.getLastLocalChange() - if (change5 === null) throw new RangeError("no local change") - n3.put("_root", "x", 6); n3.commit("", 0) - const change6 = n3.getLastLocalChange(), c6 = n3.getHeads()[0] - if (change6 === null) throw new RangeError("no local change") - for (let i = 7; i <= 8; i++) { - n3.put("_root", "x", i); n3.commit("", 0) - } - const c8 = n3.getHeads()[0] - n2.applyChanges(n2.getChangesAdded(n3)) // merge() - - // Now n1 initiates a sync with n2, and n2 replies with {c5, c6}. n2 does not send {c7, c8} - msg = n1.generateSyncMessage(s1) - if (msg === null) { throw new RangeError("message should not be null") } - n2.receiveSyncMessage(s2, msg) - msg = n2.generateSyncMessage(s2) - if (msg === null) { throw new RangeError("message should not be null") } - const decodedMsg = decodeSyncMessage(msg) - decodedMsg.changes = [change5, change6] - msg = encodeSyncMessage(decodedMsg) - const sentHashes: any = {} - - sentHashes[decodeChange(change5).hash] = true - sentHashes[decodeChange(change6).hash] = true - - s2.sentHashes = sentHashes - n1.receiveSyncMessage(s1, msg) - assert.deepStrictEqual(s1.sharedHeads, [c2, c6].sort()) - - // n1 replies, confirming the receipt of {c5, c6} and requesting the remaining changes - msg = n1.generateSyncMessage(s1) - if (msg === null) { throw new RangeError("message should not be null") } - n2.receiveSyncMessage(s2, msg) - assert.deepStrictEqual(decodeSyncMessage(msg).need, [c8]) - assert.deepStrictEqual(decodeSyncMessage(msg).have[0].lastSync, [c2, c6].sort()) - assert.deepStrictEqual(s1.sharedHeads, [c2, c6].sort()) - assert.deepStrictEqual(s2.sharedHeads, [c2, c6].sort()) - - // n2 sends the remaining changes {c7, c8} - msg = n2.generateSyncMessage(s2) - if (msg === null) { throw new RangeError("message should not be null") } - n1.receiveSyncMessage(s1, msg) - assert.strictEqual(decodeSyncMessage(msg).changes.length, 2) - assert.deepStrictEqual(s1.sharedHeads, [c2, c8].sort()) - }) - }) - - it('can handle overlappying splices', () => { - const doc = create(true) - doc.enablePatches(true) - let mat : any = doc.materialize("/") - doc.putObject("/", "text", "abcdefghij") - doc.splice("/text", 2, 2, "00") - doc.splice("/text", 3, 5, "11") - mat = doc.applyPatches(mat) - assert.deepEqual(mat.text, "ab011ij") - }) - - it('can handle utf16 text', () => { - const doc = create(true) - doc.enablePatches(true) - let mat : any = doc.materialize("/") - - doc.putObject("/", "width1", "AAAAAA") - doc.putObject("/", "width2", "🐻🐻🐻🐻🐻🐻") - doc.putObject("/", "mixed", "A🐻A🐻A🐻") - - assert.deepEqual(doc.length("/width1"), 6); - assert.deepEqual(doc.length("/width2"), 12); - assert.deepEqual(doc.length("/mixed"), 9); - - const heads1 = doc.getHeads(); - - mat = doc.applyPatches(mat) - - const remote = load(doc.save(), true) - remote.enablePatches(true) - let r_mat : any = remote.materialize("/") - - assert.deepEqual(mat, { width1: "AAAAAA", width2: "🐻🐻🐻🐻🐻🐻", mixed: "A🐻A🐻A🐻" }) - assert.deepEqual(mat.width1.slice(2,4), "AA") - assert.deepEqual(mat.width2.slice(2,4), "🐻") - assert.deepEqual(mat.mixed.slice(1,4), "🐻A") - - assert.deepEqual(r_mat, { width1: "AAAAAA", width2: "🐻🐻🐻🐻🐻🐻", mixed: "A🐻A🐻A🐻" }) - assert.deepEqual(r_mat.width1.slice(2,4), "AA") - assert.deepEqual(r_mat.width2.slice(2,4), "🐻") - assert.deepEqual(r_mat.mixed.slice(1,4), "🐻A") - - doc.splice("/width1", 2, 2, "🐻") - doc.splice("/width2", 2, 2, "A🐻A") - doc.splice("/mixed", 3, 3, "X") - - mat = doc.applyPatches(mat) - remote.loadIncremental(doc.saveIncremental()); - r_mat = remote.applyPatches(r_mat) - - assert.deepEqual(mat.width1, "AA🐻AA") - assert.deepEqual(mat.width2, "🐻A🐻A🐻🐻🐻🐻") - assert.deepEqual(mat.mixed, "A🐻XA🐻") - - assert.deepEqual(r_mat.width1, "AA🐻AA") - assert.deepEqual(r_mat.width2, "🐻A🐻A🐻🐻🐻🐻") - assert.deepEqual(r_mat.mixed, "A🐻XA🐻") - assert.deepEqual(remote.length("/width1"), 6); - assert.deepEqual(remote.length("/width2"), 14); - assert.deepEqual(remote.length("/mixed"), 7); - - // when indexing in the middle of a multibyte char it indexes at the char before - doc.splice("/width2", 4, 1, "X") - mat = doc.applyPatches(mat) - remote.loadIncremental(doc.saveIncremental()); - r_mat = remote.applyPatches(r_mat) - - assert.deepEqual(mat.width2, "🐻AXA🐻🐻🐻🐻") - - assert.deepEqual(doc.length("/width1", heads1), 6); - assert.deepEqual(doc.length("/width2", heads1), 12); - assert.deepEqual(doc.length("/mixed", heads1), 9); - - assert.deepEqual(doc.get("/mixed", 0), 'A'); - assert.deepEqual(doc.get("/mixed", 1), '🐻'); - assert.deepEqual(doc.get("/mixed", 2), '🐻'); - assert.deepEqual(doc.get("/mixed", 3), 'X'); - assert.deepEqual(doc.get("/mixed", 1, heads1), '🐻'); - assert.deepEqual(doc.get("/mixed", 2, heads1), '🐻'); - assert.deepEqual(doc.get("/mixed", 3, heads1), 'A'); - assert.deepEqual(doc.get("/mixed", 4, heads1), '🐻'); - }) - - it('can handle non-characters embedded in text', () => { - const change : any = { - ops: [ - { action: 'makeText', obj: '_root', key: 'bad_text', pred: [] }, - { action: 'set', obj: '1@aaaa', elemId: '_head', insert: true, value: 'A', pred: [] }, - { action: 'set', obj: '1@aaaa', elemId: '2@aaaa', insert: true, value: 'BBBBB', pred: [] }, - { action: 'makeMap', obj: '1@aaaa', elemId: '3@aaaa', insert: true, pred: [] }, - { action: 'set', obj: '1@aaaa', elemId: '4@aaaa', insert: true, value: 'C', pred: [] } - ], - actor: 'aaaa', - seq: 1, - startOp: 1, - time: 0, - message: null, - deps: [] - } - const doc = load(encodeChange(change), true); - doc.enablePatches(true) - const mat : any = doc.materialize("/") - - // multi - char strings appear as a span of strings - // non strings appear as an object replacement unicode char - assert.deepEqual(mat.bad_text, 'ABBBBBC') - assert.deepEqual(doc.text("/bad_text"), 'ABBBBBC') - assert.deepEqual(doc.materialize("/bad_text"), 'ABBBBBC') - - // deleting in the middle of a multi-byte character will delete the whole thing - const doc1 = doc.fork() - doc1.splice("/bad_text", 3, 3, "X"); - assert.deepEqual(doc1.text("/bad_text"), 'AXC') - - // deleting in the middle of a multi-byte character will delete the whole thing - // and characters past its end - const doc2 = doc.fork() - doc2.splice("/bad_text", 3, 4, "X"); - assert.deepEqual(doc2.text("/bad_text"), 'AXC') - - const doc3 = doc.fork() - doc3.splice("/bad_text", 3, 5, "X"); - assert.deepEqual(doc3.text("/bad_text"), 'AX') - - // inserting in the middle of a mutli-bytes span inserts after - const doc4 = doc.fork() - doc4.splice("/bad_text", 3, 0, "X"); - assert.deepEqual(doc4.text("/bad_text"), 'ABBBBBXC') - - // deleting into the middle of a multi-byte span deletes the whole thing - const doc5 = doc.fork() - doc5.splice("/bad_text", 0, 2, "X"); - assert.deepEqual(doc5.text("/bad_text"), 'XC') - - // you can access elements in the text by text index - assert.deepEqual(doc5.getAll("/bad_text", 1), [['map', '4@aaaa' ]]) - assert.deepEqual(doc5.getAll("/bad_text", 2, doc.getHeads()), [['str', 'BBBBB', '3@aaaa' ]]) - }) - }) - - describe("the legacy text implementation", () => { - const root = "_root" - class FakeText { - elems: Array - constructor(elems: string | Array) { - if (typeof elems === "string") { - this.elems = Array.from(elems) - } else { - this.elems = elems - } - } - } - it("should materialize old style text", () => { - let doc = create(false); - doc.registerDatatype("text", (e: any) => new FakeText(e)) - doc.enablePatches(true) - let txt = doc.putObject(root, "text", "") - doc.splice(txt, 0, 0, "hello") - let mat: any = doc.materialize() - assert.deepEqual(mat.text, new FakeText("hello")) - }) - - it("should apply patches to old style text", () => { - let doc = create(false); - doc.registerDatatype("text", (e: any) => new FakeText(e)) - doc.enablePatches(true) - let mat : any = doc.materialize("/") - doc.putObject("/", "text", "abcdefghij") - doc.splice("/text", 2, 2, "00") - doc.splice("/text", 3, 5, "11") - mat = doc.applyPatches(mat) - assert.deepEqual(mat.text, new FakeText("ab011ij")) - }) - - it("should apply list patches to old style text", () => { - let doc = create(false); - doc.registerDatatype("text", (e: any) => new FakeText(e)) - doc.enablePatches(true) - let mat : any = doc.materialize("/") - doc.putObject("/", "text", "abc") - doc.insert("/text", 0, "0") - doc.insert("/text", 1, "1") - mat = doc.applyPatches(mat) - assert.deepEqual(mat.text, new FakeText("01abc")) - }) - - it("should allow inserting using list methods", () => { - let doc = create(false); - doc.registerDatatype("text", (e: any) => new FakeText(e)) - doc.enablePatches(true) - let mat : any = doc.materialize("/") - const txt = doc.putObject("/", "text", "abc") - doc.insert(txt, 3, "d") - doc.insert(txt, 0, "0") - mat = doc.applyPatches(mat) - assert.deepEqual(mat.text, new FakeText("0abcd")) - }) - - it("should allow inserting objects in old style text", () => { - let doc = create(false); - doc.registerDatatype("text", (e: any) => new FakeText(e)) - doc.enablePatches(true) - let mat : any = doc.materialize("/") - const txt = doc.putObject("/", "text", "abc") - doc.insertObject(txt, 0, {"key": "value"}) - doc.insertObject(txt, 2, ["elem"]) - doc.insert(txt, 2, "m") - mat = doc.applyPatches(mat) - assert.deepEqual(mat.text, new FakeText([ - {"key": "value"}, "a", "m", ["elem"], "b", "c" - ])) - }) - - class RawString { - val: string; - constructor(s: string) { - this.val = s - } - } - - it("should allow registering a different type for strings", () => { - let doc = create(false); - doc.registerDatatype("str", (e: any) => new RawString(e)) - doc.enablePatches(true) - doc.put("/", "key", "value") - let mat: any = doc.materialize() - assert.deepStrictEqual(mat.key, new RawString("value")) - }) - - it("should generate patches correctly for raw strings", () => { - let doc = create(false); - doc.registerDatatype("str", (e: any) => new RawString(e)) - doc.enablePatches(true) - let mat: any = doc.materialize() - doc.put("/", "key", "value") - mat = doc.applyPatches(mat) - assert.deepStrictEqual(mat.key, new RawString("value")) - }) - - }) -}) diff --git a/rust/automerge-wasm/tsconfig.json b/rust/automerge-wasm/tsconfig.json deleted file mode 100644 index 339eab93..00000000 --- a/rust/automerge-wasm/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "noImplicitAny": true, - "strict": true, - "allowJs": false, - "baseUrl": ".", - "esModuleInterop": true, - "lib": ["dom", "esnext.asynciterable", "es2017", "es2016", "es2015"], - "module": "commonjs", - "moduleResolution": "node", - "paths": { "dev": ["*"]}, - "rootDir": "", - "target": "es2016", - "types": ["mocha", "node"], - "typeRoots": ["./index.d.ts"] - }, - "include": ["test/**/*.ts"], - "exclude": ["dist/**/*", "examples/**/*"] -} diff --git a/rust/automerge/.gitignore b/rust/automerge/.gitignore deleted file mode 100644 index 96ef6c0b..00000000 --- a/rust/automerge/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/target -Cargo.lock diff --git a/rust/automerge/Cargo.toml b/rust/automerge/Cargo.toml deleted file mode 100644 index 0c10cc2b..00000000 --- a/rust/automerge/Cargo.toml +++ /dev/null @@ -1,62 +0,0 @@ -[package] -name = "automerge" -version = "0.3.0" -edition = "2021" -license = "MIT" -repository = "https://github.com/automerge/automerge-rs" -documentation = "https://automerge.org/automerge-rs/automerge/" -rust-version = "1.57.0" -description = "A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically" -readme = "./README.md" - -[features] -optree-visualisation = ["dot", "rand"] -wasm = ["js-sys", "wasm-bindgen", "web-sys", "uuid/js"] - -[dependencies] -hex = "^0.4.3" -leb128 = "^0.2.5" -sha2 = "^0.10.0" -thiserror = "^1.0.16" -itertools = "^0.10.3" -flate2 = "^1.0.22" -uuid = { version = "^1.2.1", features=["v4", "serde"] } -smol_str = { version = "^0.1.21", features=["serde"] } -tracing = { version = "^0.1.29" } -fxhash = "^0.2.1" -tinyvec = { version = "^1.5.1", features = ["alloc"] } -serde = { version = "^1.0", features=["derive"] } - -# optional deps -dot = { version = "0.1.4", optional = true } -js-sys = { version = "^0.3", optional = true } -wasm-bindgen = { version = "^0.2", optional = true } -rand = { version = "^0.8.4", optional = true } - -[dependencies.web-sys] -version = "^0.3.55" -features = ["console"] -optional = true - -[dev-dependencies] -pretty_assertions = "1.0.0" -proptest = { version = "^1.0.0", default-features = false, features = ["std"] } -serde_json = { version = "^1.0.73", features=["float_roundtrip"], default-features=true } -maplit = { version = "^1.0" } -criterion = "0.4.0" -test-log = { version = "0.2.10", features=["trace"], default-features = false} -tracing-subscriber = {version = "0.3.9", features = ["fmt", "env-filter"] } -automerge-test = { path = "../automerge-test" } -prettytable = "0.10.0" - -[[bench]] -name = "range" -harness = false - -[[bench]] -name = "map" -harness = false - -[[bench]] -name = "sync" -harness = false diff --git a/rust/automerge/README.md b/rust/automerge/README.md deleted file mode 100644 index 97dbe4f8..00000000 --- a/rust/automerge/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Automerge - -Automerge is a library of data structures for building collaborative -[local-first](https://www.inkandswitch.com/local-first/) applications. This is -the Rust implementation. See [automerge.org](https://automerge.org/) diff --git a/rust/automerge/benches/map.rs b/rust/automerge/benches/map.rs deleted file mode 100644 index fcf3bfa3..00000000 --- a/rust/automerge/benches/map.rs +++ /dev/null @@ -1,268 +0,0 @@ -use automerge::{transaction::Transactable, Automerge, ScalarValue, ROOT}; -use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; - -fn repeated_increment(n: u64) -> Automerge { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - tx.put(ROOT, "counter", ScalarValue::counter(0)).unwrap(); - for _ in 0..n { - tx.increment(ROOT, "counter", 1).unwrap(); - } - tx.commit(); - doc -} - -fn repeated_put(n: u64) -> Automerge { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - for i in 0..n { - tx.put(ROOT, "0", i).unwrap(); - } - tx.commit(); - doc -} - -fn increasing_put(n: u64) -> Automerge { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - for i in 0..n { - tx.put(ROOT, i.to_string(), i).unwrap(); - } - tx.commit(); - doc -} - -fn decreasing_put(n: u64) -> Automerge { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - for i in (0..n).rev() { - tx.put(ROOT, i.to_string(), i).unwrap(); - } - tx.commit(); - doc -} - -fn criterion_benchmark(c: &mut Criterion) { - let sizes = [100, 1_000, 10_000]; - - let mut group = c.benchmark_group("map"); - for size in &sizes { - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input(BenchmarkId::new("repeated put", size), size, |b, &size| { - b.iter(|| repeated_put(size)) - }); - group.bench_with_input( - BenchmarkId::new("repeated increment", size), - size, - |b, &size| b.iter(|| repeated_increment(size)), - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("increasing put", size), - size, - |b, &size| b.iter(|| increasing_put(size)), - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("decreasing put", size), - size, - |b, &size| b.iter(|| decreasing_put(size)), - ); - } - group.finish(); - - let mut group = c.benchmark_group("map save"); - for size in &sizes { - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input(BenchmarkId::new("repeated put", size), size, |b, &size| { - b.iter_batched( - || repeated_put(size), - |mut doc| doc.save(), - criterion::BatchSize::LargeInput, - ) - }); - group.bench_with_input( - BenchmarkId::new("repeated increment", size), - size, - |b, &size| { - b.iter_batched( - || repeated_increment(size), - |mut doc| doc.save(), - criterion::BatchSize::LargeInput, - ) - }, - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("increasing put", size), - size, - |b, &size| { - b.iter_batched( - || increasing_put(size), - |mut doc| doc.save(), - criterion::BatchSize::LargeInput, - ) - }, - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("decreasing put", size), - size, - |b, &size| { - b.iter_batched( - || decreasing_put(size), - |mut doc| doc.save(), - criterion::BatchSize::LargeInput, - ) - }, - ); - } - group.finish(); - - let mut group = c.benchmark_group("map load"); - for size in &sizes { - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input(BenchmarkId::new("repeated put", size), size, |b, &size| { - b.iter_batched( - || repeated_put(size).save(), - |bytes| Automerge::load(&bytes).unwrap(), - criterion::BatchSize::LargeInput, - ) - }); - group.bench_with_input( - BenchmarkId::new("repeated increment", size), - size, - |b, &size| { - b.iter_batched( - || repeated_increment(size).save(), - |bytes| Automerge::load(&bytes).unwrap(), - criterion::BatchSize::LargeInput, - ) - }, - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("increasing put", size), - size, - |b, &size| { - b.iter_batched( - || increasing_put(size).save(), - |bytes| Automerge::load(&bytes).unwrap(), - criterion::BatchSize::LargeInput, - ) - }, - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("decreasing put", size), - size, - |b, &size| { - b.iter_batched( - || decreasing_put(size).save(), - |bytes| Automerge::load(&bytes).unwrap(), - criterion::BatchSize::LargeInput, - ) - }, - ); - } - group.finish(); - - let mut group = c.benchmark_group("map apply"); - for size in &sizes { - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input(BenchmarkId::new("repeated put", size), size, |b, &size| { - b.iter_batched( - || { - repeated_put(size) - .get_changes(&[]) - .unwrap() - .into_iter() - .cloned() - .collect::>() - }, - |changes| { - let mut doc = Automerge::new(); - doc.apply_changes(changes) - }, - criterion::BatchSize::LargeInput, - ) - }); - group.bench_with_input( - BenchmarkId::new("repeated increment", size), - size, - |b, &size| { - b.iter_batched( - || { - repeated_increment(size) - .get_changes(&[]) - .unwrap() - .into_iter() - .cloned() - .collect::>() - }, - |changes| { - let mut doc = Automerge::new(); - doc.apply_changes(changes) - }, - criterion::BatchSize::LargeInput, - ) - }, - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("increasing put", size), - size, - |b, &size| { - b.iter_batched( - || { - increasing_put(size) - .get_changes(&[]) - .unwrap() - .into_iter() - .cloned() - .collect::>() - }, - |changes| { - let mut doc = Automerge::new(); - doc.apply_changes(changes) - }, - criterion::BatchSize::LargeInput, - ) - }, - ); - - group.throughput(criterion::Throughput::Elements(*size)); - group.bench_with_input( - BenchmarkId::new("decreasing put", size), - size, - |b, &size| { - b.iter_batched( - || { - decreasing_put(size) - .get_changes(&[]) - .unwrap() - .into_iter() - .cloned() - .collect::>() - }, - |changes| { - let mut doc = Automerge::new(); - doc.apply_changes(changes) - }, - criterion::BatchSize::LargeInput, - ) - }, - ); - } - group.finish(); -} - -criterion_group!(benches, criterion_benchmark); -criterion_main!(benches); diff --git a/rust/automerge/benches/range.rs b/rust/automerge/benches/range.rs deleted file mode 100644 index 008ae159..00000000 --- a/rust/automerge/benches/range.rs +++ /dev/null @@ -1,36 +0,0 @@ -use automerge::{transaction::Transactable, Automerge, ReadDoc, ROOT}; -use criterion::{black_box, criterion_group, criterion_main, Criterion}; - -fn doc(n: u64) -> Automerge { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - for i in 0..n { - tx.put(ROOT, i.to_string(), i.to_string()).unwrap(); - } - tx.commit(); - doc -} - -fn range(doc: &Automerge) { - let range = doc.values(ROOT); - range.for_each(drop); -} - -fn range_at(doc: &Automerge) { - let range = doc.values_at(ROOT, &doc.get_heads()); - range.for_each(drop); -} - -fn criterion_benchmark(c: &mut Criterion) { - let n = 100_000; - let doc = doc(n); - c.bench_function(&format!("range {}", n), |b| { - b.iter(|| range(black_box(&doc))) - }); - c.bench_function(&format!("range_at {}", n), |b| { - b.iter(|| range_at(black_box(&doc))) - }); -} - -criterion_group!(benches, criterion_benchmark); -criterion_main!(benches); diff --git a/rust/automerge/benches/sync.rs b/rust/automerge/benches/sync.rs deleted file mode 100644 index 13965792..00000000 --- a/rust/automerge/benches/sync.rs +++ /dev/null @@ -1,95 +0,0 @@ -use automerge::{ - sync::{self, SyncDoc}, - transaction::Transactable, - Automerge, ROOT, -}; -use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion}; - -#[derive(Default)] -struct DocWithSync { - doc: Automerge, - peer_state: sync::State, -} - -impl From for DocWithSync { - fn from(doc: Automerge) -> Self { - Self { - doc, - peer_state: sync::State::default(), - } - } -} - -fn increasing_put(n: u64) -> Automerge { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - for i in 0..n { - tx.put(ROOT, i.to_string(), i).unwrap(); - } - tx.commit(); - doc -} - -// keep syncing until doc1 no longer generates a sync message for doc2. -fn sync(doc1: &mut DocWithSync, doc2: &mut DocWithSync) { - while let Some(message1) = doc1.doc.generate_sync_message(&mut doc1.peer_state) { - doc2.doc - .receive_sync_message(&mut doc2.peer_state, message1) - .unwrap(); - - if let Some(message2) = doc2.doc.generate_sync_message(&mut doc2.peer_state) { - doc1.doc - .receive_sync_message(&mut doc1.peer_state, message2) - .unwrap() - } - } -} - -fn criterion_benchmark(c: &mut Criterion) { - let sizes = [100, 1_000, 10_000]; - - let mut group = c.benchmark_group("sync unidirectional"); - for size in &sizes { - group.throughput(criterion::Throughput::Elements(*size)); - - group.bench_with_input( - BenchmarkId::new("increasing put", size), - size, - |b, &size| { - b.iter_batched( - || (increasing_put(size), DocWithSync::default()), - |(doc1, mut doc2)| sync(&mut doc1.into(), &mut doc2), - criterion::BatchSize::LargeInput, - ) - }, - ); - } - group.finish(); - - let mut group = c.benchmark_group("sync unidirectional every change"); - for size in &sizes { - group.throughput(criterion::Throughput::Elements(*size)); - - group.bench_with_input( - BenchmarkId::new("increasing put", size), - size, - |b, &size| { - b.iter(|| { - let mut doc1 = DocWithSync::default(); - let mut doc2 = DocWithSync::default(); - - for i in 0..size { - let mut tx = doc1.doc.transaction(); - tx.put(ROOT, i.to_string(), i).unwrap(); - tx.commit(); - sync(&mut doc1, &mut doc2); - } - }) - }, - ); - } - group.finish(); -} - -criterion_group!(benches, criterion_benchmark); -criterion_main!(benches); diff --git a/rust/automerge/examples/README.md b/rust/automerge/examples/README.md deleted file mode 100644 index c9a9630e..00000000 --- a/rust/automerge/examples/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Automerge examples - -## Quickstart - -```shell -cargo run --example quickstart -``` diff --git a/rust/automerge/examples/quickstart.rs b/rust/automerge/examples/quickstart.rs deleted file mode 100644 index fcb23d5e..00000000 --- a/rust/automerge/examples/quickstart.rs +++ /dev/null @@ -1,57 +0,0 @@ -use automerge::transaction::CommitOptions; -use automerge::transaction::Transactable; -use automerge::AutomergeError; -use automerge::ObjType; -use automerge::{Automerge, ReadDoc, ROOT}; - -// Based on https://automerge.github.io/docs/quickstart -fn main() { - let mut doc1 = Automerge::new(); - let (cards, card1) = doc1 - .transact_with::<_, _, AutomergeError, _>( - |_| CommitOptions::default().with_message("Add card".to_owned()), - |tx| { - let cards = tx.put_object(ROOT, "cards", ObjType::List).unwrap(); - let card1 = tx.insert_object(&cards, 0, ObjType::Map)?; - tx.put(&card1, "title", "Rewrite everything in Clojure")?; - tx.put(&card1, "done", false)?; - let card2 = tx.insert_object(&cards, 0, ObjType::Map)?; - tx.put(&card2, "title", "Rewrite everything in Haskell")?; - tx.put(&card2, "done", false)?; - Ok((cards, card1)) - }, - ) - .unwrap() - .result; - - let mut doc2 = Automerge::new(); - doc2.merge(&mut doc1).unwrap(); - - let binary = doc1.save(); - let mut doc2 = Automerge::load(&binary).unwrap(); - - doc1.transact_with::<_, _, AutomergeError, _>( - |_| CommitOptions::default().with_message("Mark card as done".to_owned()), - |tx| { - tx.put(&card1, "done", true)?; - Ok(()) - }, - ) - .unwrap(); - - doc2.transact_with::<_, _, AutomergeError, _>( - |_| CommitOptions::default().with_message("Delete card".to_owned()), - |tx| { - tx.delete(&cards, 0)?; - Ok(()) - }, - ) - .unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - for change in doc1.get_changes(&[]).unwrap() { - let length = doc1.length_at(&cards, &[change.hash()]); - println!("{} {}", change.message().unwrap(), length); - } -} diff --git a/rust/automerge/examples/watch.rs b/rust/automerge/examples/watch.rs deleted file mode 100644 index 4cd8f4ea..00000000 --- a/rust/automerge/examples/watch.rs +++ /dev/null @@ -1,106 +0,0 @@ -use automerge::transaction::CommitOptions; -use automerge::transaction::Transactable; -use automerge::Automerge; -use automerge::AutomergeError; -use automerge::Patch; -use automerge::ReadDoc; -use automerge::VecOpObserver; -use automerge::ROOT; - -fn main() { - let mut doc = Automerge::new(); - - // a simple scalar change in the root object - let mut result = doc - .transact_observed_with::<_, _, AutomergeError, _, VecOpObserver>( - |_result| CommitOptions::default(), - |tx| { - tx.put(ROOT, "hello", "world").unwrap(); - Ok(()) - }, - ) - .unwrap(); - get_changes(&doc, result.op_observer.take_patches()); - - let mut tx = doc.transaction_with_observer(VecOpObserver::default()); - let map = tx - .put_object(ROOT, "my new map", automerge::ObjType::Map) - .unwrap(); - tx.put(&map, "blah", 1).unwrap(); - tx.put(&map, "blah2", 1).unwrap(); - let list = tx - .put_object(&map, "my list", automerge::ObjType::List) - .unwrap(); - tx.insert(&list, 0, "yay").unwrap(); - let m = tx.insert_object(&list, 0, automerge::ObjType::Map).unwrap(); - tx.put(&m, "hi", 2).unwrap(); - tx.insert(&list, 1, "woo").unwrap(); - let m = tx.insert_object(&list, 2, automerge::ObjType::Map).unwrap(); - tx.put(&m, "hi", 2).unwrap(); - let patches = tx.observer().take_patches(); - let _heads3 = tx.commit_with(CommitOptions::default()); - get_changes(&doc, patches); -} - -fn get_changes(doc: &Automerge, patches: Vec) { - for patch in patches { - match patch { - Patch::Put { - obj, prop, value, .. - } => { - println!( - "put {:?} at {:?} in obj {:?}, object path {:?}", - value, - prop, - obj, - doc.path_to_object(&obj) - ) - } - Patch::Insert { - obj, index, value, .. - } => { - println!( - "insert {:?} at {:?} in obj {:?}, object path {:?}", - value, - index, - obj, - doc.path_to_object(&obj) - ) - } - Patch::Splice { - obj, index, value, .. - } => { - println!( - "splice '{:?}' at {:?} in obj {:?}, object path {:?}", - value, - index, - obj, - doc.path_to_object(&obj) - ) - } - Patch::Increment { - obj, prop, value, .. - } => { - println!( - "increment {:?} in obj {:?} by {:?}, object path {:?}", - prop, - obj, - value, - doc.path_to_object(&obj) - ) - } - Patch::Delete { obj, prop, .. } => println!( - "delete {:?} in obj {:?}, object path {:?}", - prop, - obj, - doc.path_to_object(&obj) - ), - Patch::Expose { obj, prop, .. } => println!( - "expose {:?} in obj {:?}, object path {:?}", - prop, - obj, - doc.path_to_object(&obj) - ), - } - } -} diff --git a/rust/automerge/fuzz/.gitignore b/rust/automerge/fuzz/.gitignore deleted file mode 100644 index 2eb15f8e..00000000 --- a/rust/automerge/fuzz/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -target -corpus -coverage diff --git a/rust/automerge/fuzz/Cargo.toml b/rust/automerge/fuzz/Cargo.toml deleted file mode 100644 index 3461e9f3..00000000 --- a/rust/automerge/fuzz/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -[package] -name = "automerge-fuzz" -version = "0.0.0" -publish = false -edition = "2021" - -[package.metadata] -cargo-fuzz = true - -[dependencies] -libfuzzer-sys = "0.4" -leb128 = "^0.2.5" -sha2 = "^0.10.0" - -[dependencies.automerge] -path = ".." - -# Prevent this from interfering with workspaces -[workspace] -members = ["."] - -[profile.release] -debug = 1 - -[[bin]] -name = "load" -path = "fuzz_targets/load.rs" -test = false -doc = false \ No newline at end of file diff --git a/rust/automerge/fuzz/fuzz_targets/load.rs b/rust/automerge/fuzz/fuzz_targets/load.rs deleted file mode 100644 index 0dea2624..00000000 --- a/rust/automerge/fuzz/fuzz_targets/load.rs +++ /dev/null @@ -1,37 +0,0 @@ -#![no_main] - -use sha2::{Sha256, Digest}; -use automerge::{Automerge}; -use libfuzzer_sys::arbitrary::{Arbitrary, Result, Unstructured}; -use libfuzzer_sys::fuzz_target; - -#[derive(Debug)] -struct DocumentChunk { - bytes: Vec, -} - -fn add_header(typ: u8, data: &[u8]) -> Vec { - let mut input = vec![u8::from(typ)]; - leb128::write::unsigned(&mut input, data.len() as u64).unwrap(); - input.extend(data.as_ref()); - let hash_result = Sha256::digest(input.clone()); - let array: [u8; 32] = hash_result.into(); - - let mut out = vec![133, 111, 74, 131, array[0], array[1], array[2], array[3]]; - out.extend(input); - out -} - -impl<'a> Arbitrary<'a> for DocumentChunk -{ - fn arbitrary(u: &mut Unstructured<'a>) -> Result { - let input = u.bytes(u.len())?; - let contents = add_header(0, input); - - return Ok(DocumentChunk{bytes: contents}) - } -} - -fuzz_target!(|doc: DocumentChunk| { - Automerge::load(&doc.bytes); -}); diff --git a/rust/automerge/src/autocommit.rs b/rust/automerge/src/autocommit.rs deleted file mode 100644 index ae28596e..00000000 --- a/rust/automerge/src/autocommit.rs +++ /dev/null @@ -1,672 +0,0 @@ -use std::ops::RangeBounds; - -use crate::exid::ExId; -use crate::op_observer::{BranchableObserver, OpObserver}; -use crate::sync::SyncDoc; -use crate::transaction::{CommitOptions, Transactable}; -use crate::{ - sync, Keys, KeysAt, ListRange, ListRangeAt, MapRange, MapRangeAt, ObjType, Parents, ReadDoc, - ScalarValue, -}; -use crate::{ - transaction::{Observation, Observed, TransactionInner, UnObserved}, - ActorId, Automerge, AutomergeError, Change, ChangeHash, Prop, TextEncoding, Value, Values, -}; - -/// An automerge document that automatically manages transactions. -/// -/// An `AutoCommit` can optionally manage an [`OpObserver`]. This observer will be notified of all -/// changes made by both remote and local changes. The type parameter `O` tracks whether this -/// document is observed or not. -/// -/// ## Creating, loading, merging and forking documents -/// -/// A new document can be created with [`Self::new`], which will create a document with a random -/// [`ActorId`]. Existing documents can be loaded with [`Self::load`]. -/// -/// If you have two documents and you want to merge the changes from one into the other you can use -/// [`Self::merge`]. -/// -/// If you have a document you want to split into two concurrent threads of execution you can use -/// [`Self::fork`]. If you want to split a document from ealier in its history you can use -/// [`Self::fork_at`]. -/// -/// ## Reading values -/// -/// [`Self`] implements [`ReadDoc`], which provides methods for reading values from the document. -/// -/// ## Modifying a document -/// -/// This type implements [`Transactable`] directly, so you can modify it using methods from [`Transactable`]. -/// -/// ## Synchronization -/// -/// To synchronise call [`Self::sync`] which returns an implementation of [`SyncDoc`] -/// -/// ## Observers -/// -/// An `AutoCommit` can optionally manage an [`OpObserver`]. [`Self::new`] will return a document -/// with no observer but you can set an observer using [`Self::with_observer`]. The observer must -/// implement both [`OpObserver`] and [`BranchableObserver`]. If you have an observed autocommit -/// then you can obtain a mutable reference to the observer with [`Self::observer`] -#[derive(Debug, Clone)] -pub struct AutoCommitWithObs { - doc: Automerge, - transaction: Option<(Obs, TransactionInner)>, - observation: Obs, -} - -/// An autocommit document with no observer -/// -/// See [`AutoCommitWithObs`] -pub type AutoCommit = AutoCommitWithObs; - -impl Default for AutoCommitWithObs> { - fn default() -> Self { - let op_observer = O::default(); - AutoCommitWithObs { - doc: Automerge::new(), - transaction: None, - observation: Observed::new(op_observer), - } - } -} - -impl AutoCommit { - pub fn new() -> AutoCommit { - AutoCommitWithObs { - doc: Automerge::new(), - transaction: None, - observation: UnObserved, - } - } - - pub fn load(data: &[u8]) -> Result { - let doc = Automerge::load(data)?; - Ok(Self { - doc, - transaction: None, - observation: UnObserved, - }) - } -} - -impl AutoCommitWithObs> { - pub fn observer(&mut self) -> &mut Obs { - self.ensure_transaction_closed(); - self.observation.observer() - } -} - -impl AutoCommitWithObs { - pub fn fork(&mut self) -> Self { - self.ensure_transaction_closed(); - Self { - doc: self.doc.fork(), - transaction: self.transaction.clone(), - observation: self.observation.clone(), - } - } - - pub fn fork_at(&mut self, heads: &[ChangeHash]) -> Result { - self.ensure_transaction_closed(); - Ok(Self { - doc: self.doc.fork_at(heads)?, - transaction: self.transaction.clone(), - observation: self.observation.clone(), - }) - } -} - -impl AutoCommitWithObs { - pub fn with_observer( - self, - op_observer: Obs2, - ) -> AutoCommitWithObs> { - AutoCommitWithObs { - doc: self.doc, - transaction: self - .transaction - .map(|(_, t)| (Observed::new(op_observer.branch()), t)), - observation: Observed::new(op_observer), - } - } - - /// Get the inner document. - #[doc(hidden)] - pub fn document(&mut self) -> &Automerge { - self.ensure_transaction_closed(); - &self.doc - } - - pub fn with_actor(mut self, actor: ActorId) -> Self { - self.ensure_transaction_closed(); - self.doc.set_actor(actor); - self - } - - pub fn set_actor(&mut self, actor: ActorId) -> &mut Self { - self.ensure_transaction_closed(); - self.doc.set_actor(actor); - self - } - - pub fn get_actor(&self) -> &ActorId { - self.doc.get_actor() - } - - /// Change the text encoding of this view of the document - /// - /// This is a cheap operation, it just changes the way indexes are calculated - pub fn with_encoding(mut self, encoding: TextEncoding) -> Self { - self.doc = self.doc.with_encoding(encoding); - self - } - - fn ensure_transaction_open(&mut self) { - if self.transaction.is_none() { - let args = self.doc.transaction_args(); - let inner = TransactionInner::new(args); - self.transaction = Some((self.observation.branch(), inner)) - } - } - - fn ensure_transaction_closed(&mut self) { - if let Some((current, tx)) = self.transaction.take() { - self.observation.merge(¤t); - tx.commit(&mut self.doc, None, None); - } - } - - /// Load an incremental save of a document. - /// - /// Unlike `load` this imports changes into an existing document. It will work with both the - /// output of [`Self::save`] and [`Self::save_incremental`] - /// - /// The return value is the number of ops which were applied, this is not useful and will - /// change in future. - pub fn load_incremental(&mut self, data: &[u8]) -> Result { - self.ensure_transaction_closed(); - // TODO - would be nice to pass None here instead of &mut () - if let Some(observer) = self.observation.observer() { - self.doc.load_incremental_with(data, Some(observer)) - } else { - self.doc.load_incremental(data) - } - } - - pub fn apply_changes( - &mut self, - changes: impl IntoIterator, - ) -> Result<(), AutomergeError> { - self.ensure_transaction_closed(); - if let Some(observer) = self.observation.observer() { - self.doc.apply_changes_with(changes, Some(observer)) - } else { - self.doc.apply_changes(changes) - } - } - - /// Takes all the changes in `other` which are not in `self` and applies them - pub fn merge( - &mut self, - other: &mut AutoCommitWithObs, - ) -> Result, AutomergeError> { - self.ensure_transaction_closed(); - other.ensure_transaction_closed(); - if let Some(observer) = self.observation.observer() { - self.doc.merge_with(&mut other.doc, Some(observer)) - } else { - self.doc.merge(&mut other.doc) - } - } - - /// Save the entirety of this document in a compact form. - pub fn save(&mut self) -> Vec { - self.ensure_transaction_closed(); - self.doc.save() - } - - /// Save this document, but don't run it through DEFLATE afterwards - pub fn save_nocompress(&mut self) -> Vec { - self.ensure_transaction_closed(); - self.doc.save_nocompress() - } - - /// Save the changes since the last call to [Self::save`] - /// - /// The output of this will not be a compressed document format, but a series of individual - /// changes. This is useful if you know you have only made a small change since the last `save` - /// and you want to immediately send it somewhere (e.g. you've inserted a single character in a - /// text object). - pub fn save_incremental(&mut self) -> Vec { - self.ensure_transaction_closed(); - self.doc.save_incremental() - } - - pub fn get_missing_deps(&mut self, heads: &[ChangeHash]) -> Vec { - self.ensure_transaction_closed(); - self.doc.get_missing_deps(heads) - } - - /// Get the last change made by this documents actor ID - pub fn get_last_local_change(&mut self) -> Option<&Change> { - self.ensure_transaction_closed(); - self.doc.get_last_local_change() - } - - pub fn get_changes( - &mut self, - have_deps: &[ChangeHash], - ) -> Result, AutomergeError> { - self.ensure_transaction_closed(); - self.doc.get_changes(have_deps) - } - - pub fn get_change_by_hash(&mut self, hash: &ChangeHash) -> Option<&Change> { - self.ensure_transaction_closed(); - self.doc.get_change_by_hash(hash) - } - - /// Get changes in `other` that are not in `self - pub fn get_changes_added<'a>(&mut self, other: &'a mut Self) -> Vec<&'a Change> { - self.ensure_transaction_closed(); - other.ensure_transaction_closed(); - self.doc.get_changes_added(&other.doc) - } - - #[doc(hidden)] - pub fn import(&self, s: &str) -> Result<(ExId, ObjType), AutomergeError> { - self.doc.import(s) - } - - #[doc(hidden)] - pub fn dump(&mut self) { - self.ensure_transaction_closed(); - self.doc.dump() - } - - /// Return a graphviz representation of the opset. - /// - /// # Arguments - /// - /// * objects: An optional list of object IDs to display, if not specified all objects are - /// visualised - #[cfg(feature = "optree-visualisation")] - pub fn visualise_optree(&self, objects: Option>) -> String { - self.doc.visualise_optree(objects) - } - - /// Get the current heads of the document. - /// - /// This closes the transaction first, if one is in progress. - pub fn get_heads(&mut self) -> Vec { - self.ensure_transaction_closed(); - self.doc.get_heads() - } - - /// Commit any uncommitted changes - /// - /// Returns `None` if there were no operations to commit - pub fn commit(&mut self) -> Option { - self.commit_with(CommitOptions::default()) - } - - /// Commit the current operations with some options. - /// - /// Returns `None` if there were no operations to commit - /// - /// ``` - /// # use automerge::transaction::CommitOptions; - /// # use automerge::transaction::Transactable; - /// # use automerge::ROOT; - /// # use automerge::AutoCommit; - /// # use automerge::ObjType; - /// # use std::time::SystemTime; - /// let mut doc = AutoCommit::new(); - /// doc.put_object(&ROOT, "todos", ObjType::List).unwrap(); - /// let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs() as - /// i64; - /// doc.commit_with(CommitOptions::default().with_message("Create todos list").with_time(now)); - /// ``` - pub fn commit_with(&mut self, options: CommitOptions) -> Option { - // ensure that even no changes triggers a change - self.ensure_transaction_open(); - let (current, tx) = self.transaction.take().unwrap(); - self.observation.merge(¤t); - tx.commit(&mut self.doc, options.message, options.time) - } - - /// Remove any changes that have been made in the current transaction from the document - pub fn rollback(&mut self) -> usize { - self.transaction - .take() - .map(|(_, tx)| tx.rollback(&mut self.doc)) - .unwrap_or(0) - } - - /// Generate an empty change - /// - /// The main reason to do this is if you wish to create a "merge commit" which has all the - /// current heads of the documents as dependencies but you have no new operations to create. - /// - /// Because this structure is an "autocommit" there may actually be outstanding operations to - /// submit. If this is the case this function will create two changes, one with the outstanding - /// operations and a new one with no operations. The returned `ChangeHash` will always be the - /// hash of the empty change. - pub fn empty_change(&mut self, options: CommitOptions) -> ChangeHash { - self.ensure_transaction_closed(); - let args = self.doc.transaction_args(); - TransactionInner::empty(&mut self.doc, args, options.message, options.time) - } - - /// An implementation of [`crate::sync::SyncDoc`] for this autocommit - /// - /// This ensures that any outstanding transactions for this document are committed before - /// taking part in the sync protocol - pub fn sync(&mut self) -> impl SyncDoc + '_ { - self.ensure_transaction_closed(); - SyncWrapper { inner: self } - } -} - -impl ReadDoc for AutoCommitWithObs { - fn parents>(&self, obj: O) -> Result, AutomergeError> { - self.doc.parents(obj) - } - - fn path_to_object>(&self, obj: O) -> Result, AutomergeError> { - self.doc.path_to_object(obj) - } - - fn keys>(&self, obj: O) -> Keys<'_, '_> { - self.doc.keys(obj) - } - - fn keys_at>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_> { - self.doc.keys_at(obj, heads) - } - - fn map_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> MapRange<'_, R> { - self.doc.map_range(obj, range) - } - - fn map_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> MapRangeAt<'_, R> { - self.doc.map_range_at(obj, range, heads) - } - - fn list_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> ListRange<'_, R> { - self.doc.list_range(obj, range) - } - - fn list_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> ListRangeAt<'_, R> { - self.doc.list_range_at(obj, range, heads) - } - - fn values>(&self, obj: O) -> Values<'_> { - self.doc.values(obj) - } - - fn values_at>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_> { - self.doc.values_at(obj, heads) - } - - fn length>(&self, obj: O) -> usize { - self.doc.length(obj) - } - - fn length_at>(&self, obj: O, heads: &[ChangeHash]) -> usize { - self.doc.length_at(obj, heads) - } - - fn object_type>(&self, obj: O) -> Result { - self.doc.object_type(obj) - } - - fn text>(&self, obj: O) -> Result { - self.doc.text(obj) - } - - fn text_at>( - &self, - obj: O, - heads: &[ChangeHash], - ) -> Result { - self.doc.text_at(obj, heads) - } - - fn get, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError> { - self.doc.get(obj, prop) - } - - fn get_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError> { - self.doc.get_at(obj, prop, heads) - } - - fn get_all, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError> { - self.doc.get_all(obj, prop) - } - - fn get_all_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError> { - self.doc.get_all_at(obj, prop, heads) - } - - fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec { - self.doc.get_missing_deps(heads) - } - - fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&Change> { - self.doc.get_change_by_hash(hash) - } -} - -impl Transactable for AutoCommitWithObs { - fn pending_ops(&self) -> usize { - self.transaction - .as_ref() - .map(|(_, t)| t.pending_ops()) - .unwrap_or(0) - } - - fn put, P: Into, V: Into>( - &mut self, - obj: O, - prop: P, - value: V, - ) -> Result<(), AutomergeError> { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.put(&mut self.doc, current.observer(), obj.as_ref(), prop, value) - } - - fn put_object, P: Into>( - &mut self, - obj: O, - prop: P, - value: ObjType, - ) -> Result { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.put_object(&mut self.doc, current.observer(), obj.as_ref(), prop, value) - } - - fn insert, V: Into>( - &mut self, - obj: O, - index: usize, - value: V, - ) -> Result<(), AutomergeError> { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.insert( - &mut self.doc, - current.observer(), - obj.as_ref(), - index, - value, - ) - } - - fn insert_object>( - &mut self, - obj: O, - index: usize, - value: ObjType, - ) -> Result { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.insert_object( - &mut self.doc, - current.observer(), - obj.as_ref(), - index, - value, - ) - } - - fn increment, P: Into>( - &mut self, - obj: O, - prop: P, - value: i64, - ) -> Result<(), AutomergeError> { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.increment(&mut self.doc, current.observer(), obj.as_ref(), prop, value) - } - - fn delete, P: Into>( - &mut self, - obj: O, - prop: P, - ) -> Result<(), AutomergeError> { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.delete(&mut self.doc, current.observer(), obj.as_ref(), prop) - } - - /// Splice new elements into the given sequence. Returns a vector of the OpIds used to insert - /// the new elements - fn splice, V: IntoIterator>( - &mut self, - obj: O, - pos: usize, - del: usize, - vals: V, - ) -> Result<(), AutomergeError> { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.splice( - &mut self.doc, - current.observer(), - obj.as_ref(), - pos, - del, - vals, - ) - } - - fn splice_text>( - &mut self, - obj: O, - pos: usize, - del: usize, - text: &str, - ) -> Result<(), AutomergeError> { - self.ensure_transaction_open(); - let (current, tx) = self.transaction.as_mut().unwrap(); - tx.splice_text( - &mut self.doc, - current.observer(), - obj.as_ref(), - pos, - del, - text, - ) - } - - fn base_heads(&self) -> Vec { - self.doc.get_heads() - } -} - -// A wrapper we return from `AutoCommit::sync` to ensure that transactions are closed before we -// start syncing -struct SyncWrapper<'a, Obs: Observation> { - inner: &'a mut AutoCommitWithObs, -} - -impl<'a, Obs: Observation> SyncDoc for SyncWrapper<'a, Obs> { - fn generate_sync_message(&self, sync_state: &mut sync::State) -> Option { - self.inner.doc.generate_sync_message(sync_state) - } - - fn receive_sync_message( - &mut self, - sync_state: &mut sync::State, - message: sync::Message, - ) -> Result<(), AutomergeError> { - self.inner.ensure_transaction_closed(); - if let Some(observer) = self.inner.observation.observer() { - self.inner - .doc - .receive_sync_message_with(sync_state, message, observer) - } else { - self.inner.doc.receive_sync_message(sync_state, message) - } - } - - fn receive_sync_message_with( - &mut self, - sync_state: &mut sync::State, - message: sync::Message, - op_observer: &mut Obs2, - ) -> Result<(), AutomergeError> { - if let Some(our_observer) = self.inner.observation.observer() { - let mut composed = crate::op_observer::compose(our_observer, op_observer); - self.inner - .doc - .receive_sync_message_with(sync_state, message, &mut composed) - } else { - self.inner - .doc - .receive_sync_message_with(sync_state, message, op_observer) - } - } -} diff --git a/rust/automerge/src/automerge.rs b/rust/automerge/src/automerge.rs deleted file mode 100644 index 0dd82253..00000000 --- a/rust/automerge/src/automerge.rs +++ /dev/null @@ -1,1452 +0,0 @@ -use std::cmp::Ordering; -use std::collections::{BTreeSet, HashMap, HashSet}; -use std::fmt::Debug; -use std::num::NonZeroU64; -use std::ops::RangeBounds; - -use crate::change_graph::ChangeGraph; -use crate::columnar::Key as EncodedKey; -use crate::exid::ExId; -use crate::keys::Keys; -use crate::op_observer::{BranchableObserver, OpObserver}; -use crate::op_set::OpSet; -use crate::parents::Parents; -use crate::storage::{self, load, CompressConfig, VerificationMode}; -use crate::transaction::{ - self, CommitOptions, Failure, Observed, Success, Transaction, TransactionArgs, UnObserved, -}; -use crate::types::{ - ActorId, ChangeHash, Clock, ElemId, Export, Exportable, Key, ListEncoding, ObjId, Op, OpId, - OpType, ScalarValue, TextEncoding, Value, -}; -use crate::{ - query, AutomergeError, Change, KeysAt, ListRange, ListRangeAt, MapRange, MapRangeAt, ObjType, - Prop, ReadDoc, Values, -}; -use serde::Serialize; - -mod current_state; - -#[cfg(test)] -mod tests; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) enum Actor { - Unused(ActorId), - Cached(usize), -} - -/// What to do when loading a document partially succeeds -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum OnPartialLoad { - /// Ignore the error and return the loaded changes - Ignore, - /// Fail the entire load - Error, -} - -/// An automerge document which does not manage transactions for you. -/// -/// ## Creating, loading, merging and forking documents -/// -/// A new document can be created with [`Self::new`], which will create a document with a random -/// [`ActorId`]. Existing documents can be loaded with [`Self::load`], or [`Self::load_with`]. -/// -/// If you have two documents and you want to merge the changes from one into the other you can use -/// [`Self::merge`] or [`Self::merge_with`]. -/// -/// If you have a document you want to split into two concurrent threads of execution you can use -/// [`Self::fork`]. If you want to split a document from ealier in its history you can use -/// [`Self::fork_at`]. -/// -/// ## Reading values -/// -/// [`Self`] implements [`ReadDoc`], which provides methods for reading values from the document. -/// -/// ## Modifying a document (Transactions) -/// -/// [`Automerge`] provides an interface for viewing and modifying automerge documents which does -/// not manage transactions for you. To create changes you use either [`Automerge::transaction`] or -/// [`Automerge::transact`] (or the `_with` variants). -/// -/// ## Sync -/// -/// This type implements [`crate::sync::SyncDoc`] -/// -/// ## Observers -/// -/// Many of the methods on this type have an `_with` or `_observed` variant -/// which allow you to pass in an [`OpObserver`] to observe any changes which -/// occur. -#[derive(Debug, Clone)] -pub struct Automerge { - /// The list of unapplied changes that are not causally ready. - queue: Vec, - /// The history of changes that form this document, topologically sorted too. - history: Vec, - /// Mapping from change hash to index into the history list. - history_index: HashMap, - /// Graph of changes - change_graph: ChangeGraph, - /// Mapping from actor index to list of seqs seen for them. - states: HashMap>, - /// Current dependencies of this document (heads hashes). - deps: HashSet, - /// Heads at the last save. - saved: Vec, - /// The set of operations that form this document. - ops: OpSet, - /// The current actor. - actor: Actor, - /// The maximum operation counter this document has seen. - max_op: u64, - text_encoding: TextEncoding, -} - -impl Automerge { - /// Create a new document with a random actor id. - pub fn new() -> Self { - Automerge { - queue: vec![], - history: vec![], - history_index: HashMap::new(), - change_graph: ChangeGraph::new(), - states: HashMap::new(), - ops: Default::default(), - deps: Default::default(), - saved: Default::default(), - actor: Actor::Unused(ActorId::random()), - max_op: 0, - text_encoding: Default::default(), - } - } - - pub(crate) fn ops_mut(&mut self) -> &mut OpSet { - &mut self.ops - } - - pub(crate) fn ops(&self) -> &OpSet { - &self.ops - } - - /// Whether this document has any operations - pub fn is_empty(&self) -> bool { - self.history.is_empty() && self.queue.is_empty() - } - - pub(crate) fn actor_id(&self) -> ActorId { - match &self.actor { - Actor::Unused(id) => id.clone(), - Actor::Cached(idx) => self.ops.m.actors[*idx].clone(), - } - } - - /// Remove the current actor from the opset if it has no ops - /// - /// If the current actor ID has no ops in the opset then remove it from the cache of actor IDs. - /// This us used when rolling back a transaction. If the rolled back ops are the only ops for - /// the current actor then we want to remove that actor from the opset so it doesn't end up in - /// any saved version of the document. - /// - /// # Panics - /// - /// If the last actor in the OpSet is not the actor ID of this document - pub(crate) fn rollback_last_actor(&mut self) { - if let Actor::Cached(actor_idx) = self.actor { - if self.states.get(&actor_idx).is_none() && self.ops.m.actors.len() > 0 { - assert!(self.ops.m.actors.len() == actor_idx + 1); - let actor = self.ops.m.actors.remove_last(); - self.actor = Actor::Unused(actor); - } - } - } - - pub(crate) fn text_encoding(&self) -> TextEncoding { - self.text_encoding - } - - /// Change the text encoding of this view of the document - /// - /// This is a cheap operation, it just changes the way indexes are calculated - pub fn with_encoding(mut self, encoding: TextEncoding) -> Self { - self.text_encoding = encoding; - self - } - - /// Set the actor id for this document. - pub fn with_actor(mut self, actor: ActorId) -> Self { - self.actor = Actor::Unused(actor); - self - } - - /// Set the actor id for this document. - pub fn set_actor(&mut self, actor: ActorId) -> &mut Self { - self.actor = Actor::Unused(actor); - self - } - - /// Get the current actor id of this document. - pub fn get_actor(&self) -> &ActorId { - match &self.actor { - Actor::Unused(actor) => actor, - Actor::Cached(index) => self.ops.m.actors.get(*index), - } - } - - pub(crate) fn get_actor_index(&mut self) -> usize { - match &mut self.actor { - Actor::Unused(actor) => { - let index = self - .ops - .m - .actors - .cache(std::mem::replace(actor, ActorId::from(&[][..]))); - self.actor = Actor::Cached(index); - index - } - Actor::Cached(index) => *index, - } - } - - /// Start a transaction. - pub fn transaction(&mut self) -> Transaction<'_, UnObserved> { - let args = self.transaction_args(); - Transaction::new(self, args, UnObserved) - } - - /// Start a transaction with an observer - pub fn transaction_with_observer( - &mut self, - op_observer: Obs, - ) -> Transaction<'_, Observed> { - let args = self.transaction_args(); - Transaction::new(self, args, Observed::new(op_observer)) - } - - pub(crate) fn transaction_args(&mut self) -> TransactionArgs { - let actor = self.get_actor_index(); - let seq = self.states.get(&actor).map_or(0, |v| v.len()) as u64 + 1; - let mut deps = self.get_heads(); - if seq > 1 { - let last_hash = self.get_hash(actor, seq - 1).unwrap(); - if !deps.contains(&last_hash) { - deps.push(last_hash); - } - } - // SAFETY: this unwrap is safe as we always add 1 - let start_op = NonZeroU64::new(self.max_op + 1).unwrap(); - - TransactionArgs { - actor_index: actor, - seq, - start_op, - deps, - } - } - - /// Run a transaction on this document in a closure, automatically handling commit or rollback - /// afterwards. - pub fn transact(&mut self, f: F) -> transaction::Result - where - F: FnOnce(&mut Transaction<'_, UnObserved>) -> Result, - { - self.transact_with_impl(None::<&dyn Fn(&O) -> CommitOptions>, f) - } - - /// Like [`Self::transact`] but with a function for generating the commit options. - pub fn transact_with(&mut self, c: C, f: F) -> transaction::Result - where - F: FnOnce(&mut Transaction<'_, UnObserved>) -> Result, - C: FnOnce(&O) -> CommitOptions, - { - self.transact_with_impl(Some(c), f) - } - - fn transact_with_impl( - &mut self, - c: Option, - f: F, - ) -> transaction::Result - where - F: FnOnce(&mut Transaction<'_, UnObserved>) -> Result, - C: FnOnce(&O) -> CommitOptions, - { - let mut tx = self.transaction(); - let result = f(&mut tx); - match result { - Ok(result) => { - let hash = if let Some(c) = c { - let commit_options = c(&result); - tx.commit_with(commit_options) - } else { - tx.commit() - }; - Ok(Success { - result, - hash, - op_observer: (), - }) - } - Err(error) => Err(Failure { - error, - cancelled: tx.rollback(), - }), - } - } - - /// Run a transaction on this document in a closure, observing ops with `Obs`, automatically handling commit or rollback - /// afterwards. - pub fn transact_observed(&mut self, f: F) -> transaction::Result - where - F: FnOnce(&mut Transaction<'_, Observed>) -> Result, - Obs: OpObserver + BranchableObserver + Default, - { - self.transact_observed_with_impl(None::<&dyn Fn(&O) -> CommitOptions>, f) - } - - /// Like [`Self::transact_observed`] but with a function for generating the commit options - pub fn transact_observed_with( - &mut self, - c: C, - f: F, - ) -> transaction::Result - where - F: FnOnce(&mut Transaction<'_, Observed>) -> Result, - C: FnOnce(&O) -> CommitOptions, - Obs: OpObserver + BranchableObserver + Default, - { - self.transact_observed_with_impl(Some(c), f) - } - - fn transact_observed_with_impl( - &mut self, - c: Option, - f: F, - ) -> transaction::Result - where - F: FnOnce(&mut Transaction<'_, Observed>) -> Result, - C: FnOnce(&O) -> CommitOptions, - Obs: OpObserver + BranchableObserver + Default, - { - let observer = Obs::default(); - let mut tx = self.transaction_with_observer(observer); - let result = f(&mut tx); - match result { - Ok(result) => { - let (obs, hash) = if let Some(c) = c { - let commit_options = c(&result); - tx.commit_with(commit_options) - } else { - tx.commit() - }; - Ok(Success { - result, - hash, - op_observer: obs, - }) - } - Err(error) => Err(Failure { - error, - cancelled: tx.rollback(), - }), - } - } - - /// Generate an empty change - /// - /// The main reason to do this is if you want to create a "merge commit", which is a change - /// that has all the current heads of the document as dependencies. - pub fn empty_commit(&mut self, opts: CommitOptions) -> ChangeHash { - let args = self.transaction_args(); - Transaction::empty(self, args, opts) - } - - /// Fork this document at the current point for use by a different actor. - /// - /// This will create a new actor ID for the forked document - pub fn fork(&self) -> Self { - let mut f = self.clone(); - f.set_actor(ActorId::random()); - f - } - - /// Fork this document at the given heads - /// - /// This will create a new actor ID for the forked document - pub fn fork_at(&self, heads: &[ChangeHash]) -> Result { - let mut seen = heads.iter().cloned().collect::>(); - let mut heads = heads.to_vec(); - let mut changes = vec![]; - while let Some(hash) = heads.pop() { - if let Some(idx) = self.history_index.get(&hash) { - let change = &self.history[*idx]; - for dep in change.deps() { - if !seen.contains(dep) { - heads.push(*dep); - } - } - changes.push(change); - seen.insert(hash); - } else { - return Err(AutomergeError::InvalidHash(hash)); - } - } - let mut f = Self::new(); - f.set_actor(ActorId::random()); - f.apply_changes(changes.into_iter().rev().cloned())?; - Ok(f) - } - - pub(crate) fn exid_to_obj(&self, id: &ExId) -> Result<(ObjId, ObjType), AutomergeError> { - match id { - ExId::Root => Ok((ObjId::root(), ObjType::Map)), - ExId::Id(ctr, actor, idx) => { - // do a direct get here b/c this could be foriegn and not be within the array - // bounds - let obj = if self.ops.m.actors.cache.get(*idx) == Some(actor) { - ObjId(OpId::new(*ctr, *idx)) - } else { - // FIXME - make a real error - let idx = self - .ops - .m - .actors - .lookup(actor) - .ok_or(AutomergeError::Fail)?; - ObjId(OpId::new(*ctr, idx)) - }; - if let Some(obj_type) = self.ops.object_type(&obj) { - Ok((obj, obj_type)) - } else { - Err(AutomergeError::NotAnObject) - } - } - } - } - - pub(crate) fn id_to_exid(&self, id: OpId) -> ExId { - self.ops.id_to_exid(id) - } - - /// Load a document. - pub fn load(data: &[u8]) -> Result { - Self::load_with::<()>(data, OnPartialLoad::Error, VerificationMode::Check, None) - } - - /// Load a document without verifying the head hashes - /// - /// This is useful for debugging as it allows you to examine a corrupted document. - pub fn load_unverified_heads(data: &[u8]) -> Result { - Self::load_with::<()>( - data, - OnPartialLoad::Error, - VerificationMode::DontCheck, - None, - ) - } - - /// Load a document with an observer - #[tracing::instrument(skip(data, observer), err)] - pub fn load_with( - data: &[u8], - on_error: OnPartialLoad, - mode: VerificationMode, - mut observer: Option<&mut Obs>, - ) -> Result { - if data.is_empty() { - tracing::trace!("no data, initializing empty document"); - return Ok(Self::new()); - } - tracing::trace!("loading first chunk"); - let (remaining, first_chunk) = storage::Chunk::parse(storage::parse::Input::new(data)) - .map_err(|e| load::Error::Parse(Box::new(e)))?; - if !first_chunk.checksum_valid() { - return Err(load::Error::BadChecksum.into()); - } - - let mut change: Option = None; - let mut am = match first_chunk { - storage::Chunk::Document(d) => { - tracing::trace!("first chunk is document chunk, inflating"); - let storage::load::Reconstructed { - max_op, - result: op_set, - changes, - heads, - } = storage::load::reconstruct_document(&d, mode, OpSet::builder()) - .map_err(|e| load::Error::InflateDocument(Box::new(e)))?; - let mut hashes_by_index = HashMap::new(); - let mut actor_to_history: HashMap> = HashMap::new(); - let mut change_graph = ChangeGraph::new(); - for (index, change) in changes.iter().enumerate() { - // SAFETY: This should be fine because we just constructed an opset containing - // all the changes - let actor_index = op_set.m.actors.lookup(change.actor_id()).unwrap(); - actor_to_history.entry(actor_index).or_default().push(index); - hashes_by_index.insert(index, change.hash()); - change_graph.add_change(change, actor_index)?; - } - let history_index = hashes_by_index.into_iter().map(|(k, v)| (v, k)).collect(); - Self { - queue: vec![], - history: changes, - history_index, - states: actor_to_history, - change_graph, - ops: op_set, - deps: heads.into_iter().collect(), - saved: Default::default(), - actor: Actor::Unused(ActorId::random()), - max_op, - text_encoding: Default::default(), - } - } - storage::Chunk::Change(stored_change) => { - tracing::trace!("first chunk is change chunk"); - change = Some( - Change::new_from_unverified(stored_change.into_owned(), None) - .map_err(|e| load::Error::InvalidChangeColumns(Box::new(e)))?, - ); - Self::new() - } - storage::Chunk::CompressedChange(stored_change, compressed) => { - tracing::trace!("first chunk is compressed change"); - change = Some( - Change::new_from_unverified( - stored_change.into_owned(), - Some(compressed.into_owned()), - ) - .map_err(|e| load::Error::InvalidChangeColumns(Box::new(e)))?, - ); - Self::new() - } - }; - tracing::trace!("loading change chunks"); - match load::load_changes(remaining.reset()) { - load::LoadedChanges::Complete(c) => { - am.apply_changes(change.into_iter().chain(c))?; - if !am.queue.is_empty() { - return Err(AutomergeError::MissingDeps); - } - } - load::LoadedChanges::Partial { error, .. } => { - if on_error == OnPartialLoad::Error { - return Err(error.into()); - } - } - } - if let Some(observer) = &mut observer { - current_state::observe_current_state(&am, *observer); - } - Ok(am) - } - - /// Load an incremental save of a document. - /// - /// Unlike `load` this imports changes into an existing document. It will work with both the - /// output of [`Self::save`] and [`Self::save_incremental`] - /// - /// The return value is the number of ops which were applied, this is not useful and will - /// change in future. - pub fn load_incremental(&mut self, data: &[u8]) -> Result { - self.load_incremental_with::<()>(data, None) - } - - /// Like [`Self::load_incremental`] but with an observer - pub fn load_incremental_with( - &mut self, - data: &[u8], - op_observer: Option<&mut Obs>, - ) -> Result { - if self.is_empty() { - let mut doc = - Self::load_with::<()>(data, OnPartialLoad::Ignore, VerificationMode::Check, None)?; - doc = doc - .with_encoding(self.text_encoding) - .with_actor(self.actor_id()); - if let Some(obs) = op_observer { - current_state::observe_current_state(&doc, obs); - } - *self = doc; - return Ok(self.ops.len()); - } - let changes = match load::load_changes(storage::parse::Input::new(data)) { - load::LoadedChanges::Complete(c) => c, - load::LoadedChanges::Partial { error, loaded, .. } => { - tracing::warn!(successful_chunks=loaded.len(), err=?error, "partial load"); - loaded - } - }; - let start = self.ops.len(); - self.apply_changes_with(changes, op_observer)?; - let delta = self.ops.len() - start; - Ok(delta) - } - - fn duplicate_seq(&self, change: &Change) -> bool { - let mut dup = false; - if let Some(actor_index) = self.ops.m.actors.lookup(change.actor_id()) { - if let Some(s) = self.states.get(&actor_index) { - dup = s.len() >= change.seq() as usize; - } - } - dup - } - - /// Apply changes to this document. - /// - /// This is idemptotent in the sense that if a change has already been applied it will be - /// ignored. - pub fn apply_changes( - &mut self, - changes: impl IntoIterator, - ) -> Result<(), AutomergeError> { - self.apply_changes_with::<_, ()>(changes, None) - } - - /// Like [`Self::apply_changes`] but with an observer - pub fn apply_changes_with, Obs: OpObserver>( - &mut self, - changes: I, - mut op_observer: Option<&mut Obs>, - ) -> Result<(), AutomergeError> { - // Record this so we can avoid observing each individual change and instead just observe - // the final state after all the changes have been applied. We can only do this for an - // empty document right now, once we have logic to produce the diffs between arbitrary - // states of the OpSet we can make this cleaner. - let empty_at_start = self.is_empty(); - for c in changes { - if !self.history_index.contains_key(&c.hash()) { - if self.duplicate_seq(&c) { - return Err(AutomergeError::DuplicateSeqNumber( - c.seq(), - c.actor_id().clone(), - )); - } - if self.is_causally_ready(&c) { - if empty_at_start { - self.apply_change::<()>(c, &mut None); - } else { - self.apply_change(c, &mut op_observer); - } - } else { - self.queue.push(c); - } - } - } - while let Some(c) = self.pop_next_causally_ready_change() { - if !self.history_index.contains_key(&c.hash()) { - if empty_at_start { - self.apply_change::<()>(c, &mut None); - } else { - self.apply_change(c, &mut op_observer); - } - } - } - if empty_at_start { - if let Some(observer) = &mut op_observer { - current_state::observe_current_state(self, *observer); - } - } - Ok(()) - } - - fn apply_change(&mut self, change: Change, observer: &mut Option<&mut Obs>) { - let ops = self.import_ops(&change); - self.update_history(change, ops.len()); - if let Some(observer) = observer { - for (obj, op) in ops { - self.insert_op_with_observer(&obj, op, *observer); - } - } else { - for (obj, op) in ops { - self.insert_op(&obj, op); - } - } - } - - fn is_causally_ready(&self, change: &Change) -> bool { - change - .deps() - .iter() - .all(|d| self.history_index.contains_key(d)) - } - - fn pop_next_causally_ready_change(&mut self) -> Option { - let mut index = 0; - while index < self.queue.len() { - if self.is_causally_ready(&self.queue[index]) { - return Some(self.queue.swap_remove(index)); - } - index += 1; - } - None - } - - fn import_ops(&mut self, change: &Change) -> Vec<(ObjId, Op)> { - let actor = self.ops.m.actors.cache(change.actor_id().clone()); - let mut actors = Vec::with_capacity(change.other_actor_ids().len() + 1); - actors.push(actor); - actors.extend( - change - .other_actor_ids() - .iter() - .map(|a| self.ops.m.actors.cache(a.clone())) - .collect::>(), - ); - change - .iter_ops() - .enumerate() - .map(|(i, c)| { - let id = OpId::new(change.start_op().get() + i as u64, actor); - let key = match &c.key { - EncodedKey::Prop(n) => Key::Map(self.ops.m.props.cache(n.to_string())), - EncodedKey::Elem(e) if e.is_head() => Key::Seq(ElemId::head()), - EncodedKey::Elem(ElemId(o)) => { - Key::Seq(ElemId(OpId::new(o.counter(), actors[o.actor()]))) - } - }; - let obj = if c.obj.is_root() { - ObjId::root() - } else { - ObjId(OpId::new( - c.obj.opid().counter(), - actors[c.obj.opid().actor()], - )) - }; - let pred = c - .pred - .iter() - .map(|p| OpId::new(p.counter(), actors[p.actor()])); - let pred = self.ops.m.sorted_opids(pred); - ( - obj, - Op { - id, - action: OpType::from_action_and_value(c.action, c.val), - key, - succ: Default::default(), - pred, - insert: c.insert, - }, - ) - }) - .collect() - } - - /// Takes all the changes in `other` which are not in `self` and applies them - pub fn merge(&mut self, other: &mut Self) -> Result, AutomergeError> { - self.merge_with::<()>(other, None) - } - - /// Takes all the changes in `other` which are not in `self` and applies them - pub fn merge_with( - &mut self, - other: &mut Self, - op_observer: Option<&mut Obs>, - ) -> Result, AutomergeError> { - // TODO: Make this fallible and figure out how to do this transactionally - let changes = self - .get_changes_added(other) - .into_iter() - .cloned() - .collect::>(); - tracing::trace!(changes=?changes.iter().map(|c| c.hash()).collect::>(), "merging new changes"); - self.apply_changes_with(changes, op_observer)?; - Ok(self.get_heads()) - } - - /// Save the entirety of this document in a compact form. - /// - /// This takes a mutable reference to self because it saves the heads of the last save so that - /// `save_incremental` can be used to produce only the changes since the last `save`. This API - /// will be changing in future. - pub fn save(&mut self) -> Vec { - let heads = self.get_heads(); - let c = self.history.iter(); - let bytes = crate::storage::save::save_document( - c, - self.ops.iter().map(|(objid, _, op)| (objid, op)), - &self.ops.m.actors, - &self.ops.m.props, - &heads, - None, - ); - self.saved = self.get_heads(); - bytes - } - - /// Save this document, but don't run it through DEFLATE afterwards - pub fn save_nocompress(&mut self) -> Vec { - let heads = self.get_heads(); - let c = self.history.iter(); - let bytes = crate::storage::save::save_document( - c, - self.ops.iter().map(|(objid, _, op)| (objid, op)), - &self.ops.m.actors, - &self.ops.m.props, - &heads, - Some(CompressConfig::None), - ); - self.saved = self.get_heads(); - bytes - } - - /// Save the changes since the last call to [Self::save`] - /// - /// The output of this will not be a compressed document format, but a series of individual - /// changes. This is useful if you know you have only made a small change since the last `save` - /// and you want to immediately send it somewhere (e.g. you've inserted a single character in a - /// text object). - pub fn save_incremental(&mut self) -> Vec { - let changes = self - .get_changes(self.saved.as_slice()) - .expect("Should only be getting changes using previously saved heads"); - let mut bytes = vec![]; - for c in changes { - bytes.extend(c.raw_bytes()); - } - if !bytes.is_empty() { - self.saved = self.get_heads() - } - bytes - } - - /// Filter the changes down to those that are not transitive dependencies of the heads. - /// - /// Thus a graph with these heads has not seen the remaining changes. - pub(crate) fn filter_changes( - &self, - heads: &[ChangeHash], - changes: &mut BTreeSet, - ) -> Result<(), AutomergeError> { - let heads = heads - .iter() - .filter(|hash| self.history_index.contains_key(hash)) - .copied() - .collect::>(); - - self.change_graph.remove_ancestors(changes, &heads); - - Ok(()) - } - - /// Get the changes since `have_deps` in this document using a clock internally. - fn get_changes_clock(&self, have_deps: &[ChangeHash]) -> Result, AutomergeError> { - // get the clock for the given deps - let clock = self.clock_at(have_deps); - - // get the documents current clock - - let mut change_indexes: Vec = Vec::new(); - // walk the state from the given deps clock and add them into the vec - for (actor_index, actor_changes) in &self.states { - if let Some(clock_data) = clock.get_for_actor(actor_index) { - // find the change in this actors sequence of changes that corresponds to the max_op - // recorded for them in the clock - change_indexes.extend(&actor_changes[clock_data.seq as usize..]); - } else { - change_indexes.extend(&actor_changes[..]); - } - } - - // ensure the changes are still in sorted order - change_indexes.sort_unstable(); - - Ok(change_indexes - .into_iter() - .map(|i| &self.history[i]) - .collect()) - } - - /// Get the last change this actor made to the document. - pub fn get_last_local_change(&self) -> Option<&Change> { - return self - .history - .iter() - .rev() - .find(|c| c.actor_id() == self.get_actor()); - } - - fn clock_at(&self, heads: &[ChangeHash]) -> Clock { - self.change_graph.clock_for_heads(heads) - } - - fn get_hash(&self, actor: usize, seq: u64) -> Result { - self.states - .get(&actor) - .and_then(|v| v.get(seq as usize - 1)) - .and_then(|&i| self.history.get(i)) - .map(|c| c.hash()) - .ok_or(AutomergeError::InvalidSeq(seq)) - } - - pub(crate) fn update_history(&mut self, change: Change, num_ops: usize) -> usize { - self.max_op = std::cmp::max(self.max_op, change.start_op().get() + num_ops as u64 - 1); - - self.update_deps(&change); - - let history_index = self.history.len(); - - let actor_index = self.ops.m.actors.cache(change.actor_id().clone()); - self.states - .entry(actor_index) - .or_default() - .push(history_index); - - self.history_index.insert(change.hash(), history_index); - self.change_graph - .add_change(&change, actor_index) - .expect("Change's deps should already be in the document"); - - self.history.push(change); - - history_index - } - - fn update_deps(&mut self, change: &Change) { - for d in change.deps() { - self.deps.remove(d); - } - self.deps.insert(change.hash()); - } - - #[doc(hidden)] - pub fn import(&self, s: &str) -> Result<(ExId, ObjType), AutomergeError> { - if s == "_root" { - Ok((ExId::Root, ObjType::Map)) - } else { - let n = s - .find('@') - .ok_or_else(|| AutomergeError::InvalidObjIdFormat(s.to_owned()))?; - let counter = s[0..n] - .parse() - .map_err(|_| AutomergeError::InvalidObjIdFormat(s.to_owned()))?; - let actor = ActorId::from(hex::decode(&s[(n + 1)..]).unwrap()); - let actor = self - .ops - .m - .actors - .lookup(&actor) - .ok_or_else(|| AutomergeError::InvalidObjId(s.to_owned()))?; - let obj = ExId::Id(counter, self.ops.m.actors.cache[actor].clone(), actor); - let obj_type = self - .object_type(&obj) - .map_err(|_| AutomergeError::InvalidObjId(s.to_owned()))?; - Ok((obj, obj_type)) - } - } - - pub(crate) fn to_string(&self, id: E) -> String { - match id.export() { - Export::Id(id) => format!("{}@{}", id.counter(), self.ops.m.actors[id.actor()]), - Export::Prop(index) => self.ops.m.props[index].clone(), - Export::Special(s) => s, - } - } - - pub fn dump(&self) { - log!( - " {:12} {:12} {:12} {:12} {:12} {:12}", - "id", - "obj", - "key", - "value", - "pred", - "succ" - ); - for (obj, _, op) in self.ops.iter() { - let id = self.to_string(op.id); - let obj = self.to_string(obj); - let key = match op.key { - Key::Map(n) => self.ops.m.props[n].clone(), - Key::Seq(n) => self.to_string(n), - }; - let value: String = match &op.action { - OpType::Put(value) => format!("{}", value), - OpType::Make(obj) => format!("make({})", obj), - OpType::Increment(obj) => format!("inc({})", obj), - OpType::Delete => format!("del{}", 0), - }; - let pred: Vec<_> = op.pred.iter().map(|id| self.to_string(*id)).collect(); - let succ: Vec<_> = op.succ.into_iter().map(|id| self.to_string(*id)).collect(); - log!( - " {:12} {:12} {:12} {:12} {:12?} {:12?}", - id, - obj, - key, - value, - pred, - succ - ); - } - } - - /// Return a graphviz representation of the opset. - /// - /// # Arguments - /// - /// * objects: An optional list of object IDs to display, if not specified all objects are - /// visualised - #[cfg(feature = "optree-visualisation")] - pub fn visualise_optree(&self, objects: Option>) -> String { - let objects = objects.map(|os| { - os.iter() - .filter_map(|o| self.exid_to_obj(o).ok()) - .map(|o| o.0) - .collect() - }); - self.ops.visualise(objects) - } - - pub(crate) fn insert_op(&mut self, obj: &ObjId, op: Op) -> Op { - let q = self.ops.search(obj, query::SeekOp::new(&op)); - - let succ = q.succ; - let pos = q.pos; - - self.ops.add_succ(obj, &succ, &op); - - if !op.is_delete() { - self.ops.insert(pos, obj, op.clone()); - } - op - } - - pub(crate) fn insert_op_with_observer( - &mut self, - obj: &ObjId, - op: Op, - observer: &mut Obs, - ) -> Op { - let obj_type = self.ops.object_type(obj); - let encoding = obj_type - .map(|o| ListEncoding::new(o, self.text_encoding)) - .unwrap_or_default(); - let q = self - .ops - .search(obj, query::SeekOpWithPatch::new(&op, encoding)); - - let query::SeekOpWithPatch { - pos, - succ, - seen, - last_width, - values, - had_value_before, - .. - } = q; - - let ex_obj = self.ops.id_to_exid(obj.0); - - let key = match op.key { - Key::Map(index) => self.ops.m.props[index].clone().into(), - Key::Seq(_) => seen.into(), - }; - - if op.insert { - if obj_type == Some(ObjType::Text) { - observer.splice_text(self, ex_obj, seen, op.to_str()); - } else { - let value = (op.value(), self.ops.id_to_exid(op.id)); - observer.insert(self, ex_obj, seen, value); - } - } else if op.is_delete() { - if let Some(winner) = &values.last() { - let value = (winner.value(), self.ops.id_to_exid(winner.id)); - let conflict = values.len() > 1; - observer.expose(self, ex_obj, key, value, conflict); - } else if had_value_before { - match key { - Prop::Map(k) => observer.delete_map(self, ex_obj, &k), - Prop::Seq(index) => observer.delete_seq(self, ex_obj, index, last_width), - } - } - } else if let Some(value) = op.get_increment_value() { - // only observe this increment if the counter is visible, i.e. the counter's - // create op is in the values - //if values.iter().any(|value| op.pred.contains(&value.id)) { - if values - .last() - .map(|value| op.pred.contains(&value.id)) - .unwrap_or_default() - { - // we have observed the value - observer.increment(self, ex_obj, key, (value, self.ops.id_to_exid(op.id))); - } - } else { - let just_conflict = values - .last() - .map(|value| self.ops.m.lamport_cmp(op.id, value.id) != Ordering::Greater) - .unwrap_or(false); - let value = (op.value(), self.ops.id_to_exid(op.id)); - if op.is_list_op() && !had_value_before { - observer.insert(self, ex_obj, seen, value); - } else if just_conflict { - observer.flag_conflict(self, ex_obj, key); - } else { - let conflict = !values.is_empty(); - observer.put(self, ex_obj, key, value, conflict); - } - } - - self.ops.add_succ(obj, &succ, &op); - - if !op.is_delete() { - self.ops.insert(pos, obj, op.clone()); - } - - op - } - - /// Get the heads of this document. - pub fn get_heads(&self) -> Vec { - let mut deps: Vec<_> = self.deps.iter().copied().collect(); - deps.sort_unstable(); - deps - } - - pub fn get_changes(&self, have_deps: &[ChangeHash]) -> Result, AutomergeError> { - self.get_changes_clock(have_deps) - } - - /// Get changes in `other` that are not in `self - pub fn get_changes_added<'a>(&self, other: &'a Self) -> Vec<&'a Change> { - // Depth-first traversal from the heads through the dependency graph, - // until we reach a change that is already present in other - let mut stack: Vec<_> = other.get_heads(); - tracing::trace!(their_heads=?stack, "finding changes to merge"); - let mut seen_hashes = HashSet::new(); - let mut added_change_hashes = Vec::new(); - while let Some(hash) = stack.pop() { - if !seen_hashes.contains(&hash) && self.get_change_by_hash(&hash).is_none() { - seen_hashes.insert(hash); - added_change_hashes.push(hash); - if let Some(change) = other.get_change_by_hash(&hash) { - stack.extend(change.deps()); - } - } - } - // Return those changes in the reverse of the order in which the depth-first search - // found them. This is not necessarily a topological sort, but should usually be close. - added_change_hashes.reverse(); - added_change_hashes - .into_iter() - .filter_map(|h| other.get_change_by_hash(&h)) - .collect() - } -} - -impl ReadDoc for Automerge { - fn parents>(&self, obj: O) -> Result, AutomergeError> { - let (obj_id, _) = self.exid_to_obj(obj.as_ref())?; - Ok(self.ops.parents(obj_id)) - } - - fn path_to_object>(&self, obj: O) -> Result, AutomergeError> { - Ok(self.parents(obj.as_ref().clone())?.path()) - } - - fn keys>(&self, obj: O) -> Keys<'_, '_> { - if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) { - let iter_keys = self.ops.keys(obj); - Keys::new(self, iter_keys) - } else { - Keys::new(self, None) - } - } - - fn keys_at>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_> { - if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) { - let clock = self.clock_at(heads); - return KeysAt::new(self, self.ops.keys_at(obj, clock)); - } - KeysAt::new(self, None) - } - - fn map_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> MapRange<'_, R> { - if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) { - MapRange::new(self, self.ops.map_range(obj, range)) - } else { - MapRange::new(self, None) - } - } - - fn map_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> MapRangeAt<'_, R> { - if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) { - let clock = self.clock_at(heads); - let iter_range = self.ops.map_range_at(obj, range, clock); - return MapRangeAt::new(self, iter_range); - } - MapRangeAt::new(self, None) - } - - fn list_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> ListRange<'_, R> { - if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) { - ListRange::new(self, self.ops.list_range(obj, range)) - } else { - ListRange::new(self, None) - } - } - - fn list_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> ListRangeAt<'_, R> { - if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) { - let clock = self.clock_at(heads); - let iter_range = self.ops.list_range_at(obj, range, clock); - return ListRangeAt::new(self, iter_range); - } - ListRangeAt::new(self, None) - } - - fn values>(&self, obj: O) -> Values<'_> { - if let Ok((obj, obj_type)) = self.exid_to_obj(obj.as_ref()) { - if obj_type.is_sequence() { - Values::new(self, self.ops.list_range(obj, ..)) - } else { - Values::new(self, self.ops.map_range(obj, ..)) - } - } else { - Values::empty(self) - } - } - - fn values_at>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_> { - if let Ok((obj, obj_type)) = self.exid_to_obj(obj.as_ref()) { - let clock = self.clock_at(heads); - match obj_type { - ObjType::Map | ObjType::Table => { - let iter_range = self.ops.map_range_at(obj, .., clock); - Values::new(self, iter_range) - } - ObjType::List | ObjType::Text => { - let iter_range = self.ops.list_range_at(obj, .., clock); - Values::new(self, iter_range) - } - } - } else { - Values::empty(self) - } - } - - fn length>(&self, obj: O) -> usize { - if let Ok((inner_obj, obj_type)) = self.exid_to_obj(obj.as_ref()) { - if obj_type == ObjType::Map || obj_type == ObjType::Table { - self.keys(obj).count() - } else { - let encoding = ListEncoding::new(obj_type, self.text_encoding); - self.ops.search(&inner_obj, query::Len::new(encoding)).len - } - } else { - 0 - } - } - - fn length_at>(&self, obj: O, heads: &[ChangeHash]) -> usize { - if let Ok((inner_obj, obj_type)) = self.exid_to_obj(obj.as_ref()) { - let clock = self.clock_at(heads); - if obj_type == ObjType::Map || obj_type == ObjType::Table { - self.keys_at(obj, heads).count() - } else { - let encoding = ListEncoding::new(obj_type, self.text_encoding); - self.ops - .search(&inner_obj, query::LenAt::new(clock, encoding)) - .len - } - } else { - 0 - } - } - - fn object_type>(&self, obj: O) -> Result { - let (_, obj_type) = self.exid_to_obj(obj.as_ref())?; - Ok(obj_type) - } - - fn text>(&self, obj: O) -> Result { - let obj = self.exid_to_obj(obj.as_ref())?.0; - let query = self.ops.search(&obj, query::ListVals::new()); - let mut buffer = String::new(); - for q in &query.ops { - buffer.push_str(q.to_str()); - } - Ok(buffer) - } - - fn text_at>( - &self, - obj: O, - heads: &[ChangeHash], - ) -> Result { - let obj = self.exid_to_obj(obj.as_ref())?.0; - let clock = self.clock_at(heads); - let query = self.ops.search(&obj, query::ListValsAt::new(clock)); - let mut buffer = String::new(); - for q in &query.ops { - if let OpType::Put(ScalarValue::Str(s)) = &q.action { - buffer.push_str(s); - } else { - buffer.push('\u{fffc}'); - } - } - Ok(buffer) - } - - fn get, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError> { - Ok(self.get_all(obj, prop.into())?.last().cloned()) - } - - fn get_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError> { - Ok(self.get_all_at(obj, prop, heads)?.last().cloned()) - } - - fn get_all, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError> { - let obj = self.exid_to_obj(obj.as_ref())?.0; - let mut result = match prop.into() { - Prop::Map(p) => { - let prop = self.ops.m.props.lookup(&p); - if let Some(p) = prop { - self.ops - .search(&obj, query::Prop::new(p)) - .ops - .into_iter() - .map(|o| (o.value(), self.id_to_exid(o.id))) - .collect() - } else { - vec![] - } - } - Prop::Seq(n) => { - let obj_type = self.ops.object_type(&obj); - let encoding = obj_type - .map(|o| ListEncoding::new(o, self.text_encoding)) - .unwrap_or_default(); - self.ops - .search(&obj, query::Nth::new(n, encoding)) - .ops - .into_iter() - .map(|o| (o.value(), self.id_to_exid(o.id))) - .collect() - } - }; - result.sort_by(|a, b| b.1.cmp(&a.1)); - Ok(result) - } - - fn get_all_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError> { - let prop = prop.into(); - let obj = self.exid_to_obj(obj.as_ref())?.0; - let clock = self.clock_at(heads); - let result = match prop { - Prop::Map(p) => { - let prop = self.ops.m.props.lookup(&p); - if let Some(p) = prop { - self.ops - .search(&obj, query::PropAt::new(p, clock)) - .ops - .into_iter() - .map(|o| (o.clone_value(), self.id_to_exid(o.id))) - .collect() - } else { - vec![] - } - } - Prop::Seq(n) => { - let obj_type = self.ops.object_type(&obj); - let encoding = obj_type - .map(|o| ListEncoding::new(o, self.text_encoding)) - .unwrap_or_default(); - self.ops - .search(&obj, query::NthAt::new(n, clock, encoding)) - .ops - .into_iter() - .map(|o| (o.clone_value(), self.id_to_exid(o.id))) - .collect() - } - }; - Ok(result) - } - - fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec { - let in_queue: HashSet<_> = self.queue.iter().map(|change| change.hash()).collect(); - let mut missing = HashSet::new(); - - for head in self.queue.iter().flat_map(|change| change.deps()) { - if !self.history_index.contains_key(head) { - missing.insert(head); - } - } - - for head in heads { - if !self.history_index.contains_key(head) { - missing.insert(head); - } - } - - let mut missing = missing - .into_iter() - .filter(|hash| !in_queue.contains(hash)) - .copied() - .collect::>(); - missing.sort(); - missing - } - - fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&Change> { - self.history_index - .get(hash) - .and_then(|index| self.history.get(*index)) - } -} - -impl Default for Automerge { - fn default() -> Self { - Self::new() - } -} - -#[derive(Serialize, Debug, Clone, PartialEq)] -pub(crate) struct SpanInfo { - pub(crate) id: ExId, - pub(crate) time: i64, - pub(crate) start: usize, - pub(crate) end: usize, - #[serde(rename = "type")] - pub(crate) span_type: String, - pub(crate) value: ScalarValue, -} diff --git a/rust/automerge/src/automerge/current_state.rs b/rust/automerge/src/automerge/current_state.rs deleted file mode 100644 index 3f7f4afc..00000000 --- a/rust/automerge/src/automerge/current_state.rs +++ /dev/null @@ -1,915 +0,0 @@ -use std::{borrow::Cow, collections::HashSet, iter::Peekable}; - -use itertools::Itertools; - -use crate::{ - types::{ElemId, Key, ListEncoding, ObjId, Op, OpId}, - ObjType, OpObserver, OpType, ScalarValue, Value, -}; - -/// Traverse the "current" state of the document, notifying `observer` -/// -/// The "current" state of the document is the set of visible operations. This function will -/// traverse that set of operations and call the corresponding methods on the `observer` as it -/// encounters values. The `observer` methods will be called in the order in which they appear in -/// the document. That is to say that the observer will be notified of parent objects before the -/// objects they contain and elements of a sequence will be notified in the order they occur. -/// -/// Due to only notifying of visible operations the observer will only be called with `put`, -/// `insert`, and `splice`, operations. -pub(super) fn observe_current_state(doc: &crate::Automerge, observer: &mut O) { - // The OpSet already exposes operations in the order they appear in the document. - // `OpSet::iter_objs` iterates over the objects in causal order, this means that parent objects - // will always appear before their children. Furthermore, the operations within each object are - // ordered by key (which means by their position in a sequence for sequences). - // - // Effectively then we iterate over each object, then we group the operations in the object by - // key and for each key find the visible operations for that key. Then we notify the observer - // for each of those visible operations. - let mut visible_objs = HashSet::new(); - visible_objs.insert(ObjId::root()); - for (obj, typ, ops) in doc.ops().iter_objs() { - if !visible_objs.contains(obj) { - continue; - } - let ops_by_key = ops.group_by(|o| o.key); - let actions = ops_by_key - .into_iter() - .flat_map(|(key, key_ops)| key_actions(key, key_ops)); - if typ == ObjType::Text && !observer.text_as_seq() { - track_new_objs_and_notify( - &mut visible_objs, - doc, - obj, - typ, - observer, - text_actions(actions), - ) - } else if typ == ObjType::List { - track_new_objs_and_notify( - &mut visible_objs, - doc, - obj, - typ, - observer, - list_actions(actions), - ) - } else { - track_new_objs_and_notify(&mut visible_objs, doc, obj, typ, observer, actions) - } - } -} - -fn track_new_objs_and_notify, O: OpObserver>( - visible_objs: &mut HashSet, - doc: &crate::Automerge, - obj: &ObjId, - typ: ObjType, - observer: &mut O, - actions: I, -) { - let exid = doc.id_to_exid(obj.0); - for action in actions { - if let Some(obj) = action.made_object() { - visible_objs.insert(obj); - } - action.notify_observer(doc, &exid, obj, typ, observer); - } -} - -trait Action { - /// Notify an observer of whatever this action does - fn notify_observer( - self, - doc: &crate::Automerge, - exid: &crate::ObjId, - obj: &ObjId, - typ: ObjType, - observer: &mut O, - ); - - /// If this action created an object, return the ID of that object - fn made_object(&self) -> Option; -} - -fn key_actions<'a, I: Iterator>( - key: Key, - key_ops: I, -) -> impl Iterator> { - #[derive(Clone)] - enum CurrentOp<'a> { - Put { - value: Value<'a>, - id: OpId, - conflicted: bool, - }, - Insert(Value<'a>, OpId), - } - let current_ops = key_ops - .filter(|o| o.visible()) - .filter_map(|o| match o.action { - OpType::Make(obj_type) => { - let value = Value::Object(obj_type); - if o.insert { - Some(CurrentOp::Insert(value, o.id)) - } else { - Some(CurrentOp::Put { - value, - id: o.id, - conflicted: false, - }) - } - } - OpType::Put(ref value) => { - let value = Value::Scalar(Cow::Borrowed(value)); - if o.insert { - Some(CurrentOp::Insert(value, o.id)) - } else { - Some(CurrentOp::Put { - value, - id: o.id, - conflicted: false, - }) - } - } - _ => None, - }); - current_ops - .coalesce(|previous, current| match (previous, current) { - (CurrentOp::Put { .. }, CurrentOp::Put { value, id, .. }) => Ok(CurrentOp::Put { - value, - id, - conflicted: true, - }), - (previous, current) => Err((previous, current)), - }) - .map(move |op| match op { - CurrentOp::Put { - value, - id, - conflicted, - } => SimpleAction::Put { - prop: key, - tagged_value: (value, id), - conflict: conflicted, - }, - CurrentOp::Insert(val, id) => SimpleAction::Insert { - elem_id: ElemId(id), - tagged_value: (val, id), - }, - }) -} - -/// Either a "put" or "insert" action. i.e. not splicing for text values -enum SimpleAction<'a> { - Put { - prop: Key, - tagged_value: (Value<'a>, OpId), - conflict: bool, - }, - Insert { - elem_id: ElemId, - tagged_value: (Value<'a>, OpId), - }, -} - -impl<'a> Action for SimpleAction<'a> { - fn notify_observer( - self, - doc: &crate::Automerge, - exid: &crate::ObjId, - obj: &ObjId, - typ: ObjType, - observer: &mut O, - ) { - let encoding = match typ { - ObjType::Text => ListEncoding::Text(doc.text_encoding()), - _ => ListEncoding::List, - }; - match self { - Self::Put { - prop, - tagged_value, - conflict, - } => { - let tagged_value = (tagged_value.0, doc.id_to_exid(tagged_value.1)); - let prop = doc.ops().export_key(*obj, prop, encoding).unwrap(); - observer.put(doc, exid.clone(), prop, tagged_value, conflict); - } - Self::Insert { - elem_id, - tagged_value: (value, opid), - } => { - let index = doc - .ops() - .search(obj, crate::query::ElemIdPos::new(elem_id, encoding)) - .index() - .unwrap(); - let tagged_value = (value, doc.id_to_exid(opid)); - observer.insert(doc, doc.id_to_exid(obj.0), index, tagged_value); - } - } - } - - fn made_object(&self) -> Option { - match self { - Self::Put { - tagged_value: (Value::Object(_), id), - .. - } => Some((*id).into()), - Self::Insert { - tagged_value: (Value::Object(_), id), - .. - } => Some((*id).into()), - _ => None, - } - } -} - -/// An `Action` which splices for text values -enum TextAction<'a> { - Action(SimpleAction<'a>), - Splice { start: ElemId, chars: String }, -} - -impl<'a> Action for TextAction<'a> { - fn notify_observer( - self, - doc: &crate::Automerge, - exid: &crate::ObjId, - obj: &ObjId, - typ: ObjType, - observer: &mut O, - ) { - match self { - Self::Action(action) => action.notify_observer(doc, exid, obj, typ, observer), - Self::Splice { start, chars } => { - let index = doc - .ops() - .search( - obj, - crate::query::ElemIdPos::new( - start, - ListEncoding::Text(doc.text_encoding()), - ), - ) - .index() - .unwrap(); - observer.splice_text(doc, doc.id_to_exid(obj.0), index, chars.as_str()); - } - } - } - - fn made_object(&self) -> Option { - match self { - Self::Action(action) => action.made_object(), - _ => None, - } - } -} - -fn list_actions<'a, I: Iterator>>( - actions: I, -) -> impl Iterator> { - actions.map(|a| match a { - SimpleAction::Put { - prop: Key::Seq(elem_id), - tagged_value, - .. - } => SimpleAction::Insert { - elem_id, - tagged_value, - }, - a => a, - }) -} - -/// Condense consecutive `SimpleAction::Insert` actions into one `TextAction::Splice` -fn text_actions<'a, I>(actions: I) -> impl Iterator> -where - I: Iterator>, -{ - TextActions { - ops: actions.peekable(), - } -} - -struct TextActions<'a, I: Iterator>> { - ops: Peekable, -} - -impl<'a, I: Iterator>> Iterator for TextActions<'a, I> { - type Item = TextAction<'a>; - - fn next(&mut self) -> Option { - if let Some(SimpleAction::Insert { .. }) = self.ops.peek() { - let (start, value) = match self.ops.next() { - Some(SimpleAction::Insert { - tagged_value: (value, opid), - .. - }) => (opid, value), - _ => unreachable!(), - }; - let mut chars = match value { - Value::Scalar(Cow::Borrowed(ScalarValue::Str(s))) => s.to_string(), - _ => "\u{fffc}".to_string(), - }; - while let Some(SimpleAction::Insert { .. }) = self.ops.peek() { - if let Some(SimpleAction::Insert { - tagged_value: (value, _), - .. - }) = self.ops.next() - { - match value { - Value::Scalar(Cow::Borrowed(ScalarValue::Str(s))) => chars.push_str(s), - _ => chars.push('\u{fffc}'), - } - } - } - Some(TextAction::Splice { - start: ElemId(start), - chars, - }) - } else { - self.ops.next().map(TextAction::Action) - } - } -} - -#[cfg(test)] -mod tests { - use std::{borrow::Cow, fs}; - - use crate::{transaction::Transactable, Automerge, ObjType, OpObserver, Prop, ReadDoc, Value}; - - // Observer ops often carry a "tagged value", which is a value and the OpID of the op which - // created that value. For a lot of values (i.e. any scalar value) we don't care about the - // opid. This type implements `PartialEq` for the `Untagged` variant by ignoring the tag, which - // allows us to express tests which don't care about the tag. - #[derive(Clone, Debug)] - enum ObservedValue { - Tagged(crate::Value<'static>, crate::ObjId), - Untagged(crate::Value<'static>), - } - - impl<'a> From<(Value<'a>, crate::ObjId)> for ObservedValue { - fn from(value: (Value<'a>, crate::ObjId)) -> Self { - Self::Tagged(value.0.into_owned(), value.1) - } - } - - impl PartialEq for ObservedValue { - fn eq(&self, other: &ObservedValue) -> bool { - match (self, other) { - (Self::Tagged(v1, o1), Self::Tagged(v2, o2)) => equal_vals(v1, v2) && o1 == o2, - (Self::Untagged(v1), Self::Untagged(v2)) => equal_vals(v1, v2), - (Self::Tagged(v1, _), Self::Untagged(v2)) => equal_vals(v1, v2), - (Self::Untagged(v1), Self::Tagged(v2, _)) => equal_vals(v1, v2), - } - } - } - - /// Consider counters equal if they have the same current value - fn equal_vals(v1: &Value<'_>, v2: &Value<'_>) -> bool { - match (v1, v2) { - (Value::Scalar(v1), Value::Scalar(v2)) => match (v1.as_ref(), v2.as_ref()) { - (crate::ScalarValue::Counter(c1), crate::ScalarValue::Counter(c2)) => { - c1.current == c2.current - } - _ => v1 == v2, - }, - _ => v1 == v2, - } - } - - #[derive(Debug, Clone, PartialEq)] - enum ObserverCall { - Put { - obj: crate::ObjId, - prop: Prop, - value: ObservedValue, - conflict: bool, - }, - Insert { - obj: crate::ObjId, - index: usize, - value: ObservedValue, - }, - SpliceText { - obj: crate::ObjId, - index: usize, - chars: String, - }, - } - - // A Vec is pretty hard to look at in a test failure. This wrapper prints the - // calls out in a nice table so it's easier to see what's different - #[derive(Clone, PartialEq)] - struct Calls(Vec); - - impl std::fmt::Debug for Calls { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let mut table = prettytable::Table::new(); - table.set_format(*prettytable::format::consts::FORMAT_NO_BORDER_LINE_SEPARATOR); - table.set_titles(prettytable::row![ - "Op", "Object", "Property", "Value", "Conflict" - ]); - for call in &self.0 { - match call { - ObserverCall::Put { - obj, - prop, - value, - conflict, - } => { - table.add_row(prettytable::row![ - "Put", - format!("{}", obj), - prop, - match value { - ObservedValue::Tagged(v, o) => format!("{} ({})", v, o), - ObservedValue::Untagged(v) => format!("{}", v), - }, - conflict - ]); - } - ObserverCall::Insert { obj, index, value } => { - table.add_row(prettytable::row![ - "Insert", - format!("{}", obj), - index, - match value { - ObservedValue::Tagged(v, o) => format!("{} ({})", v, o), - ObservedValue::Untagged(v) => format!("{}", v), - }, - "" - ]); - } - ObserverCall::SpliceText { obj, index, chars } => { - table.add_row(prettytable::row![ - "SpliceText", - format!("{}", obj), - index, - chars, - "" - ]); - } - } - } - let mut out = Vec::new(); - table.print(&mut out).unwrap(); - write!(f, "\n{}\n", String::from_utf8(out).unwrap()) - } - } - - struct ObserverStub { - ops: Vec, - text_as_seq: bool, - } - - impl ObserverStub { - fn new() -> Self { - Self { - ops: Vec::new(), - text_as_seq: true, - } - } - - fn new_text_v2() -> Self { - Self { - ops: Vec::new(), - text_as_seq: false, - } - } - } - - impl OpObserver for ObserverStub { - fn insert( - &mut self, - _doc: &R, - objid: crate::ObjId, - index: usize, - tagged_value: (crate::Value<'_>, crate::ObjId), - ) { - self.ops.push(ObserverCall::Insert { - obj: objid, - index, - value: tagged_value.into(), - }); - } - - fn splice_text( - &mut self, - _doc: &R, - objid: crate::ObjId, - index: usize, - value: &str, - ) { - self.ops.push(ObserverCall::SpliceText { - obj: objid, - index, - chars: value.to_string(), - }); - } - - fn put( - &mut self, - _doc: &R, - objid: crate::ObjId, - prop: crate::Prop, - tagged_value: (crate::Value<'_>, crate::ObjId), - conflict: bool, - ) { - self.ops.push(ObserverCall::Put { - obj: objid, - prop, - value: tagged_value.into(), - conflict, - }); - } - - fn expose( - &mut self, - _doc: &R, - _objid: crate::ObjId, - _prop: crate::Prop, - _tagged_value: (crate::Value<'_>, crate::ObjId), - _conflict: bool, - ) { - panic!("expose not expected"); - } - - fn increment( - &mut self, - _doc: &R, - _objid: crate::ObjId, - _prop: crate::Prop, - _tagged_value: (i64, crate::ObjId), - ) { - panic!("increment not expected"); - } - - fn delete_map(&mut self, _doc: &R, _objid: crate::ObjId, _key: &str) { - panic!("delete not expected"); - } - - fn delete_seq( - &mut self, - _doc: &R, - _objid: crate::ObjId, - _index: usize, - _num: usize, - ) { - panic!("delete not expected"); - } - - fn text_as_seq(&self) -> bool { - self.text_as_seq - } - } - - #[test] - fn basic_test() { - let mut doc = crate::AutoCommit::new(); - doc.put(crate::ROOT, "key", "value").unwrap(); - let map = doc.put_object(crate::ROOT, "map", ObjType::Map).unwrap(); - doc.put(&map, "nested_key", "value").unwrap(); - let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap(); - doc.insert(&list, 0, "value").unwrap(); - let text = doc.put_object(crate::ROOT, "text", ObjType::Text).unwrap(); - doc.insert(&text, 0, "a").unwrap(); - - let mut obs = ObserverStub::new(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ - ObserverCall::Put { - obj: crate::ROOT, - prop: "key".into(), - value: ObservedValue::Untagged("value".into()), - conflict: false, - }, - ObserverCall::Put { - obj: crate::ROOT, - prop: "list".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()), - conflict: false, - }, - ObserverCall::Put { - obj: crate::ROOT, - prop: "map".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::Map), map.clone()), - conflict: false, - }, - ObserverCall::Put { - obj: crate::ROOT, - prop: "text".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::Text), text.clone()), - conflict: false, - }, - ObserverCall::Put { - obj: map.clone(), - prop: "nested_key".into(), - value: ObservedValue::Untagged("value".into()), - conflict: false, - }, - ObserverCall::Insert { - obj: list, - index: 0, - value: ObservedValue::Untagged("value".into()), - }, - ObserverCall::Insert { - obj: text, - index: 0, - value: ObservedValue::Untagged("a".into()), - }, - ]) - ); - } - - #[test] - fn test_deleted_ops_omitted() { - let mut doc = crate::AutoCommit::new(); - doc.put(crate::ROOT, "key", "value").unwrap(); - doc.delete(crate::ROOT, "key").unwrap(); - let map = doc.put_object(crate::ROOT, "map", ObjType::Map).unwrap(); - doc.put(&map, "nested_key", "value").unwrap(); - doc.delete(&map, "nested_key").unwrap(); - let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap(); - doc.insert(&list, 0, "value").unwrap(); - doc.delete(&list, 0).unwrap(); - let text = doc.put_object(crate::ROOT, "text", ObjType::Text).unwrap(); - doc.insert(&text, 0, "a").unwrap(); - doc.delete(&text, 0).unwrap(); - - doc.put_object(crate::ROOT, "deleted_map", ObjType::Map) - .unwrap(); - doc.delete(crate::ROOT, "deleted_map").unwrap(); - doc.put_object(crate::ROOT, "deleted_list", ObjType::List) - .unwrap(); - doc.delete(crate::ROOT, "deleted_list").unwrap(); - doc.put_object(crate::ROOT, "deleted_text", ObjType::Text) - .unwrap(); - doc.delete(crate::ROOT, "deleted_text").unwrap(); - - let mut obs = ObserverStub::new(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ - ObserverCall::Put { - obj: crate::ROOT, - prop: "list".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()), - conflict: false, - }, - ObserverCall::Put { - obj: crate::ROOT, - prop: "map".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::Map), map.clone()), - conflict: false, - }, - ObserverCall::Put { - obj: crate::ROOT, - prop: "text".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::Text), text.clone()), - conflict: false, - }, - ]) - ); - } - - #[test] - fn test_text_spliced() { - let mut doc = crate::AutoCommit::new(); - let text = doc.put_object(crate::ROOT, "text", ObjType::Text).unwrap(); - doc.insert(&text, 0, "a").unwrap(); - doc.splice_text(&text, 1, 0, "bcdef").unwrap(); - doc.splice_text(&text, 2, 2, "g").unwrap(); - - let mut obs = ObserverStub::new_text_v2(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ - ObserverCall::Put { - obj: crate::ROOT, - prop: "text".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::Text), text.clone()), - conflict: false, - }, - ObserverCall::SpliceText { - obj: text, - index: 0, - chars: "abgef".to_string() - } - ]) - ); - } - - #[test] - fn test_counters() { - let actor1 = crate::ActorId::from("aa".as_bytes()); - let actor2 = crate::ActorId::from("bb".as_bytes()); - let mut doc = crate::AutoCommit::new().with_actor(actor2); - - let mut doc2 = doc.fork().with_actor(actor1); - doc2.put(crate::ROOT, "key", "someval").unwrap(); - - doc.put(crate::ROOT, "key", crate::ScalarValue::Counter(1.into())) - .unwrap(); - doc.increment(crate::ROOT, "key", 2).unwrap(); - doc.increment(crate::ROOT, "key", 3).unwrap(); - - doc.merge(&mut doc2).unwrap(); - - let mut obs = ObserverStub::new_text_v2(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ObserverCall::Put { - obj: crate::ROOT, - prop: "key".into(), - value: ObservedValue::Untagged(Value::Scalar(Cow::Owned( - crate::ScalarValue::Counter(6.into()) - ))), - conflict: true, - },]) - ); - } - - #[test] - fn test_multiple_list_insertions() { - let mut doc = crate::AutoCommit::new(); - - let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap(); - doc.insert(&list, 0, 1).unwrap(); - doc.insert(&list, 1, 2).unwrap(); - - let mut obs = ObserverStub::new_text_v2(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ - ObserverCall::Put { - obj: crate::ROOT, - prop: "list".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()), - conflict: false, - }, - ObserverCall::Insert { - obj: list.clone(), - index: 0, - value: ObservedValue::Untagged(1.into()), - }, - ObserverCall::Insert { - obj: list, - index: 1, - value: ObservedValue::Untagged(2.into()), - }, - ]) - ); - } - - #[test] - fn test_concurrent_insertions_at_same_index() { - let mut doc = crate::AutoCommit::new().with_actor(crate::ActorId::from("aa".as_bytes())); - - let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap(); - - let mut doc2 = doc.fork().with_actor(crate::ActorId::from("bb".as_bytes())); - - doc.insert(&list, 0, 1).unwrap(); - doc2.insert(&list, 0, 2).unwrap(); - doc.merge(&mut doc2).unwrap(); - - let mut obs = ObserverStub::new_text_v2(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ - ObserverCall::Put { - obj: crate::ROOT, - prop: "list".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()), - conflict: false, - }, - ObserverCall::Insert { - obj: list.clone(), - index: 0, - value: ObservedValue::Untagged(2.into()), - }, - ObserverCall::Insert { - obj: list, - index: 1, - value: ObservedValue::Untagged(1.into()), - }, - ]) - ); - } - - #[test] - fn test_insert_objects() { - let mut doc = crate::AutoCommit::new().with_actor(crate::ActorId::from("aa".as_bytes())); - - let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap(); - - let map = doc.insert_object(&list, 0, ObjType::Map).unwrap(); - doc.put(&map, "key", "value").unwrap(); - - let mut obs = ObserverStub::new_text_v2(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ - ObserverCall::Put { - obj: crate::ROOT, - prop: "list".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()), - conflict: false, - }, - ObserverCall::Insert { - obj: list.clone(), - index: 0, - value: ObservedValue::Tagged(Value::Object(ObjType::Map), map.clone()), - }, - ObserverCall::Put { - obj: map, - prop: "key".into(), - value: ObservedValue::Untagged("value".into()), - conflict: false - }, - ]) - ); - } - - #[test] - fn test_insert_and_update() { - let mut doc = crate::AutoCommit::new(); - - let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap(); - - doc.insert(&list, 0, "one").unwrap(); - doc.insert(&list, 1, "two").unwrap(); - doc.put(&list, 0, "three").unwrap(); - doc.put(&list, 1, "four").unwrap(); - - let mut obs = ObserverStub::new_text_v2(); - super::observe_current_state(doc.document(), &mut obs); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ - ObserverCall::Put { - obj: crate::ROOT, - prop: "list".into(), - value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()), - conflict: false, - }, - ObserverCall::Insert { - obj: list.clone(), - index: 0, - value: ObservedValue::Untagged("three".into()), - }, - ObserverCall::Insert { - obj: list.clone(), - index: 1, - value: ObservedValue::Untagged("four".into()), - }, - ]) - ); - } - - #[test] - fn test_load_changes() { - fn fixture(name: &str) -> Vec { - fs::read("./tests/fixtures/".to_owned() + name).unwrap() - } - - let mut obs = ObserverStub::new(); - let _doc = Automerge::load_with( - &fixture("counter_value_is_ok.automerge"), - crate::OnPartialLoad::Error, - crate::storage::VerificationMode::Check, - Some(&mut obs), - ); - - assert_eq!( - Calls(obs.ops), - Calls(vec![ObserverCall::Put { - obj: crate::ROOT, - prop: "a".into(), - value: ObservedValue::Untagged(crate::ScalarValue::Counter(2000.into()).into()), - conflict: false, - },]) - ); - } -} diff --git a/rust/automerge/src/automerge/tests.rs b/rust/automerge/src/automerge/tests.rs deleted file mode 100644 index 3511c4ed..00000000 --- a/rust/automerge/src/automerge/tests.rs +++ /dev/null @@ -1,1554 +0,0 @@ -use itertools::Itertools; -use pretty_assertions::assert_eq; - -use super::*; -use crate::op_tree::B; -use crate::transaction::Transactable; -use crate::*; -use std::convert::TryInto; - -#[test] -fn insert_op() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - doc.set_actor(ActorId::random()); - let mut tx = doc.transaction(); - tx.put(ROOT, "hello", "world")?; - tx.get(ROOT, "hello")?; - tx.commit(); - Ok(()) -} - -#[test] -fn test_set() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - // setting a scalar value shouldn't return an opid as no object was created. - tx.put(ROOT, "a", 1)?; - - // setting the same value shouldn't return an opid as there is no change. - tx.put(ROOT, "a", 1)?; - - assert_eq!(tx.pending_ops(), 1); - - let map = tx.put_object(ROOT, "b", ObjType::Map)?; - // object already exists at b but setting a map again overwrites it so we get an opid. - tx.put(map, "a", 2)?; - - tx.put_object(ROOT, "b", ObjType::Map)?; - - assert_eq!(tx.pending_ops(), 4); - let map = tx.get(ROOT, "b").unwrap().unwrap().1; - assert_eq!(tx.get(&map, "a")?, None); - - tx.commit(); - Ok(()) -} - -#[test] -fn test_list() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - doc.set_actor(ActorId::random()); - let mut tx = doc.transaction(); - let list_id = tx.put_object(ROOT, "items", ObjType::List)?; - tx.put(ROOT, "zzz", "zzzval")?; - assert!(tx.get(ROOT, "items")?.unwrap().1 == list_id); - tx.insert(&list_id, 0, "a")?; - tx.insert(&list_id, 0, "b")?; - tx.insert(&list_id, 2, "c")?; - tx.insert(&list_id, 1, "d")?; - assert!(tx.get(&list_id, 0)?.unwrap().0 == "b".into()); - assert!(tx.get(&list_id, 1)?.unwrap().0 == "d".into()); - assert!(tx.get(&list_id, 2)?.unwrap().0 == "a".into()); - assert!(tx.get(&list_id, 3)?.unwrap().0 == "c".into()); - assert!(tx.length(&list_id) == 4); - tx.commit(); - doc.save(); - Ok(()) -} - -#[test] -fn test_del() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - doc.set_actor(ActorId::random()); - let mut tx = doc.transaction(); - tx.put(ROOT, "xxx", "xxx")?; - assert!(tx.get(ROOT, "xxx")?.is_some()); - tx.delete(ROOT, "xxx")?; - assert!(tx.get(ROOT, "xxx")?.is_none()); - tx.commit(); - Ok(()) -} - -#[test] -fn test_inc() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - tx.put(ROOT, "counter", ScalarValue::counter(10))?; - assert!(tx.get(ROOT, "counter")?.unwrap().0 == Value::counter(10)); - tx.increment(ROOT, "counter", 10)?; - assert!(tx.get(ROOT, "counter")?.unwrap().0 == Value::counter(20)); - tx.increment(ROOT, "counter", -5)?; - assert!(tx.get(ROOT, "counter")?.unwrap().0 == Value::counter(15)); - tx.commit(); - Ok(()) -} - -#[test] -fn test_save_incremental() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - - let mut tx = doc.transaction(); - tx.put(ROOT, "foo", 1)?; - tx.commit(); - - let save1 = doc.save(); - - let mut tx = doc.transaction(); - tx.put(ROOT, "bar", 2)?; - tx.commit(); - - let save2 = doc.save_incremental(); - - let mut tx = doc.transaction(); - tx.put(ROOT, "baz", 3)?; - tx.commit(); - - let save3 = doc.save_incremental(); - - let mut save_a: Vec = vec![]; - save_a.extend(&save1); - save_a.extend(&save2); - save_a.extend(&save3); - - assert!(doc.save_incremental().is_empty()); - - let save_b = doc.save(); - - assert!(save_b.len() < save_a.len()); - - let mut doc_a = Automerge::load(&save_a)?; - let mut doc_b = Automerge::load(&save_b)?; - - assert!(doc_a.get_all(ROOT, "baz")? == doc_b.get_all(ROOT, "baz")?); - - assert!(doc_a.save() == doc_b.save()); - - Ok(()) -} - -#[test] -fn test_save_text() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let text = tx.put_object(ROOT, "text", ObjType::Text)?; - tx.commit(); - let heads1 = doc.get_heads(); - let mut tx = doc.transaction(); - tx.splice_text(&text, 0, 0, "hello world")?; - tx.commit(); - let heads2 = doc.get_heads(); - let mut tx = doc.transaction(); - tx.splice_text(&text, 6, 0, "big bad ")?; - tx.commit(); - let heads3 = doc.get_heads(); - - assert!(&doc.text(&text)? == "hello big bad world"); - assert!(&doc.text_at(&text, &heads1)?.is_empty()); - assert!(&doc.text_at(&text, &heads2)? == "hello world"); - assert!(&doc.text_at(&text, &heads3)? == "hello big bad world"); - - Ok(()) -} - -#[test] -fn test_props_vals_at() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - doc.set_actor("aaaa".try_into().unwrap()); - let mut tx = doc.transaction(); - tx.put(ROOT, "prop1", "val1")?; - tx.commit(); - doc.get_heads(); - let heads1 = doc.get_heads(); - let mut tx = doc.transaction(); - tx.put(ROOT, "prop1", "val2")?; - tx.commit(); - doc.get_heads(); - let heads2 = doc.get_heads(); - let mut tx = doc.transaction(); - tx.put(ROOT, "prop2", "val3")?; - tx.commit(); - doc.get_heads(); - let heads3 = doc.get_heads(); - let mut tx = doc.transaction(); - tx.delete(ROOT, "prop1")?; - tx.commit(); - doc.get_heads(); - let heads4 = doc.get_heads(); - let mut tx = doc.transaction(); - tx.put(ROOT, "prop3", "val4")?; - tx.commit(); - doc.get_heads(); - let heads5 = doc.get_heads(); - assert!(doc.keys_at(ROOT, &heads1).collect_vec() == vec!["prop1".to_owned()]); - assert_eq!(doc.length_at(ROOT, &heads1), 1); - assert!(doc.get_at(ROOT, "prop1", &heads1)?.unwrap().0 == Value::str("val1")); - assert!(doc.get_at(ROOT, "prop2", &heads1)?.is_none()); - assert!(doc.get_at(ROOT, "prop3", &heads1)?.is_none()); - - assert!(doc.keys_at(ROOT, &heads2).collect_vec() == vec!["prop1".to_owned()]); - assert_eq!(doc.length_at(ROOT, &heads2), 1); - assert!(doc.get_at(ROOT, "prop1", &heads2)?.unwrap().0 == Value::str("val2")); - assert!(doc.get_at(ROOT, "prop2", &heads2)?.is_none()); - assert!(doc.get_at(ROOT, "prop3", &heads2)?.is_none()); - - assert!( - doc.keys_at(ROOT, &heads3).collect_vec() == vec!["prop1".to_owned(), "prop2".to_owned()] - ); - assert_eq!(doc.length_at(ROOT, &heads3), 2); - assert!(doc.get_at(ROOT, "prop1", &heads3)?.unwrap().0 == Value::str("val2")); - assert!(doc.get_at(ROOT, "prop2", &heads3)?.unwrap().0 == Value::str("val3")); - assert!(doc.get_at(ROOT, "prop3", &heads3)?.is_none()); - - assert!(doc.keys_at(ROOT, &heads4).collect_vec() == vec!["prop2".to_owned()]); - assert_eq!(doc.length_at(ROOT, &heads4), 1); - assert!(doc.get_at(ROOT, "prop1", &heads4)?.is_none()); - assert!(doc.get_at(ROOT, "prop2", &heads4)?.unwrap().0 == Value::str("val3")); - assert!(doc.get_at(ROOT, "prop3", &heads4)?.is_none()); - - assert!( - doc.keys_at(ROOT, &heads5).collect_vec() == vec!["prop2".to_owned(), "prop3".to_owned()] - ); - assert_eq!(doc.length_at(ROOT, &heads5), 2); - assert_eq!(doc.length(ROOT), 2); - assert!(doc.get_at(ROOT, "prop1", &heads5)?.is_none()); - assert!(doc.get_at(ROOT, "prop2", &heads5)?.unwrap().0 == Value::str("val3")); - assert!(doc.get_at(ROOT, "prop3", &heads5)?.unwrap().0 == Value::str("val4")); - - assert_eq!(doc.keys_at(ROOT, &[]).count(), 0); - assert_eq!(doc.length_at(ROOT, &[]), 0); - assert!(doc.get_at(ROOT, "prop1", &[])?.is_none()); - assert!(doc.get_at(ROOT, "prop2", &[])?.is_none()); - assert!(doc.get_at(ROOT, "prop3", &[])?.is_none()); - Ok(()) -} - -#[test] -fn test_len_at() -> Result<(), AutomergeError> { - let mut doc = Automerge::new(); - doc.set_actor("aaaa".try_into().unwrap()); - - let mut tx = doc.transaction(); - let list = tx.put_object(ROOT, "list", ObjType::List)?; - tx.commit(); - let heads1 = doc.get_heads(); - - let mut tx = doc.transaction(); - tx.insert(&list, 0, 10)?; - tx.commit(); - let heads2 = doc.get_heads(); - - let mut tx = doc.transaction(); - tx.put(&list, 0, 20)?; - tx.insert(&list, 0, 30)?; - tx.commit(); - let heads3 = doc.get_heads(); - - let mut tx = doc.transaction(); - tx.put(&list, 1, 40)?; - tx.insert(&list, 1, 50)?; - tx.commit(); - let heads4 = doc.get_heads(); - - let mut tx = doc.transaction(); - tx.delete(&list, 2)?; - tx.commit(); - let heads5 = doc.get_heads(); - - let mut tx = doc.transaction(); - tx.delete(&list, 0)?; - tx.commit(); - let heads6 = doc.get_heads(); - - assert!(doc.length_at(&list, &heads1) == 0); - assert!(doc.get_at(&list, 0, &heads1)?.is_none()); - - assert!(doc.length_at(&list, &heads2) == 1); - assert!(doc.get_at(&list, 0, &heads2)?.unwrap().0 == Value::int(10)); - - assert!(doc.length_at(&list, &heads3) == 2); - assert!(doc.get_at(&list, 0, &heads3)?.unwrap().0 == Value::int(30)); - assert!(doc.get_at(&list, 1, &heads3)?.unwrap().0 == Value::int(20)); - - assert!(doc.length_at(&list, &heads4) == 3); - assert!(doc.get_at(&list, 0, &heads4)?.unwrap().0 == Value::int(30)); - assert!(doc.get_at(&list, 1, &heads4)?.unwrap().0 == Value::int(50)); - assert!(doc.get_at(&list, 2, &heads4)?.unwrap().0 == Value::int(40)); - - assert!(doc.length_at(&list, &heads5) == 2); - assert!(doc.get_at(&list, 0, &heads5)?.unwrap().0 == Value::int(30)); - assert!(doc.get_at(&list, 1, &heads5)?.unwrap().0 == Value::int(50)); - - assert!(doc.length_at(&list, &heads6) == 1); - assert!(doc.length(&list) == 1); - assert!(doc.get_at(&list, 0, &heads6)?.unwrap().0 == Value::int(50)); - - Ok(()) -} - -#[test] -fn keys_iter_map() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 3).unwrap(); - tx.put(ROOT, "b", 4).unwrap(); - tx.put(ROOT, "c", 5).unwrap(); - tx.put(ROOT, "d", 6).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 7).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 8).unwrap(); - tx.put(ROOT, "d", 9).unwrap(); - tx.commit(); - assert_eq!(doc.keys(ROOT).count(), 4); - - let mut keys = doc.keys(ROOT); - assert_eq!(keys.next(), Some("a".into())); - assert_eq!(keys.next(), Some("b".into())); - assert_eq!(keys.next(), Some("c".into())); - assert_eq!(keys.next(), Some("d".into())); - assert_eq!(keys.next(), None); - - let mut keys = doc.keys(ROOT); - assert_eq!(keys.next_back(), Some("d".into())); - assert_eq!(keys.next_back(), Some("c".into())); - assert_eq!(keys.next_back(), Some("b".into())); - assert_eq!(keys.next_back(), Some("a".into())); - assert_eq!(keys.next_back(), None); - - let mut keys = doc.keys(ROOT); - assert_eq!(keys.next(), Some("a".into())); - assert_eq!(keys.next_back(), Some("d".into())); - assert_eq!(keys.next_back(), Some("c".into())); - assert_eq!(keys.next_back(), Some("b".into())); - assert_eq!(keys.next_back(), None); - - let mut keys = doc.keys(ROOT); - assert_eq!(keys.next_back(), Some("d".into())); - assert_eq!(keys.next(), Some("a".into())); - assert_eq!(keys.next(), Some("b".into())); - assert_eq!(keys.next(), Some("c".into())); - assert_eq!(keys.next(), None); - let keys = doc.keys(ROOT); - assert_eq!(keys.collect::>(), vec!["a", "b", "c", "d"]); -} - -#[test] -fn keys_iter_seq() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let list = tx.put_object(ROOT, "list", ObjType::List).unwrap(); - tx.insert(&list, 0, 3).unwrap(); - tx.insert(&list, 1, 4).unwrap(); - tx.insert(&list, 2, 5).unwrap(); - tx.insert(&list, 3, 6).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(&list, 0, 7).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(&list, 0, 8).unwrap(); - tx.put(&list, 3, 9).unwrap(); - tx.commit(); - let actor = doc.get_actor(); - assert_eq!(doc.keys(&list).count(), 4); - - let mut keys = doc.keys(&list); - assert_eq!(keys.next(), Some(format!("2@{}", actor))); - assert_eq!(keys.next(), Some(format!("3@{}", actor))); - assert_eq!(keys.next(), Some(format!("4@{}", actor))); - assert_eq!(keys.next(), Some(format!("5@{}", actor))); - assert_eq!(keys.next(), None); - - let mut keys = doc.keys(&list); - assert_eq!(keys.next_back(), Some(format!("5@{}", actor))); - assert_eq!(keys.next_back(), Some(format!("4@{}", actor))); - assert_eq!(keys.next_back(), Some(format!("3@{}", actor))); - assert_eq!(keys.next_back(), Some(format!("2@{}", actor))); - assert_eq!(keys.next_back(), None); - - let mut keys = doc.keys(&list); - assert_eq!(keys.next(), Some(format!("2@{}", actor))); - assert_eq!(keys.next_back(), Some(format!("5@{}", actor))); - assert_eq!(keys.next_back(), Some(format!("4@{}", actor))); - assert_eq!(keys.next_back(), Some(format!("3@{}", actor))); - assert_eq!(keys.next_back(), None); - - let mut keys = doc.keys(&list); - assert_eq!(keys.next_back(), Some(format!("5@{}", actor))); - assert_eq!(keys.next(), Some(format!("2@{}", actor))); - assert_eq!(keys.next(), Some(format!("3@{}", actor))); - assert_eq!(keys.next(), Some(format!("4@{}", actor))); - assert_eq!(keys.next(), None); - - let keys = doc.keys(&list); - assert_eq!( - keys.collect::>(), - vec![ - format!("2@{}", actor), - format!("3@{}", actor), - format!("4@{}", actor), - format!("5@{}", actor) - ] - ); -} - -#[test] -fn range_iter_map() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 3).unwrap(); - tx.put(ROOT, "b", 4).unwrap(); - tx.put(ROOT, "c", 5).unwrap(); - tx.put(ROOT, "d", 6).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 7).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 8).unwrap(); - tx.put(ROOT, "d", 9).unwrap(); - tx.commit(); - let actor = doc.get_actor(); - assert_eq!(doc.map_range(ROOT, ..).count(), 4); - - let mut range = doc.map_range(ROOT, "b".to_owned().."d".into()); - assert_eq!( - range.next(), - Some(("b", 4.into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("c", 5.into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!(range.next(), None); - - let mut range = doc.map_range(ROOT, "b".to_owned()..="d".into()); - assert_eq!( - range.next(), - Some(("b", 4.into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("c", 5.into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("d", 9.into(), ExId::Id(7, actor.clone(), 0))) - ); - assert_eq!(range.next(), None); - - let mut range = doc.map_range(ROOT, ..="c".to_owned()); - assert_eq!( - range.next(), - Some(("a", 8.into(), ExId::Id(6, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("b", 4.into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("c", 5.into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!(range.next(), None); - - let range = doc.map_range(ROOT, "a".to_owned()..); - assert_eq!( - range.collect::>(), - vec![ - ("a", 8.into(), ExId::Id(6, actor.clone(), 0)), - ("b", 4.into(), ExId::Id(2, actor.clone(), 0)), - ("c", 5.into(), ExId::Id(3, actor.clone(), 0)), - ("d", 9.into(), ExId::Id(7, actor.clone(), 0)), - ] - ); -} - -#[test] -fn map_range_back_and_forth_single() { - let mut doc = AutoCommit::new(); - let actor = doc.get_actor().clone(); - - doc.put(ROOT, "1", "a").unwrap(); - doc.put(ROOT, "2", "b").unwrap(); - doc.put(ROOT, "3", "c").unwrap(); - - let mut range_all = doc.map_range(ROOT, ..); - assert_eq!( - range_all.next(), - Some(("1", "a".into(), ExId::Id(1, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "b".into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc.map_range(ROOT, ..); - assert_eq!( - range_all.next(), - Some(("1", "a".into(), ExId::Id(1, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range_all.next(), - Some(("2", Value::str("b"), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc.map_range(ROOT, ..); - assert_eq!( - range_all.next(), - Some(("1", "a".into(), ExId::Id(1, actor.clone(), 0))) - ); - assert_eq!( - range_all.next(), - Some(("2", "b".into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range_all.next(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc.map_range(ROOT, ..); - assert_eq!( - range_all.next_back(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "b".into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("1", "a".into(), ExId::Id(1, actor, 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); -} - -#[test] -fn map_range_back_and_forth_double() { - let mut doc1 = AutoCommit::new(); - doc1.set_actor(ActorId::from([0])); - - doc1.put(ROOT, "1", "a").unwrap(); - doc1.put(ROOT, "2", "b").unwrap(); - doc1.put(ROOT, "3", "c").unwrap(); - - // actor 2 should win in all conflicts here - let mut doc2 = AutoCommit::new(); - doc1.set_actor(ActorId::from([1])); - let actor2 = doc2.get_actor().clone(); - doc2.put(ROOT, "1", "aa").unwrap(); - doc2.put(ROOT, "2", "bb").unwrap(); - doc2.put(ROOT, "3", "cc").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - let mut range_all = doc1.map_range(ROOT, ..); - assert_eq!( - range_all.next(), - Some(("1", "aa".into(), ExId::Id(1, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc1.map_range(ROOT, ..); - assert_eq!( - range_all.next(), - Some(("1", "aa".into(), ExId::Id(1, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc1.map_range(ROOT, ..); - assert_eq!( - range_all.next(), - Some(("1", "aa".into(), ExId::Id(1, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc1.map_range(ROOT, ..); - assert_eq!( - range_all.next_back(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("1", "aa".into(), ExId::Id(1, actor2, 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); -} - -#[test] -fn map_range_at_back_and_forth_single() { - let mut doc = AutoCommit::new(); - let actor = doc.get_actor().clone(); - - doc.put(ROOT, "1", "a").unwrap(); - doc.put(ROOT, "2", "b").unwrap(); - doc.put(ROOT, "3", "c").unwrap(); - - let heads = doc.get_heads(); - - let mut range_all = doc.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next(), - Some(("1", "a".into(), ExId::Id(1, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "b".into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next(), - Some(("1", "a".into(), ExId::Id(1, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range_all.next(), - Some(("2", Value::str("b"), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next(), - Some(("1", "a".into(), ExId::Id(1, actor.clone(), 0))) - ); - assert_eq!( - range_all.next(), - Some(("2", "b".into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range_all.next(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next_back(), - Some(("3", "c".into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "b".into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range_all.next_back(), - Some(("1", "a".into(), ExId::Id(1, actor, 0))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); -} - -#[test] -fn map_range_at_back_and_forth_double() { - let mut doc1 = AutoCommit::new(); - doc1.set_actor(ActorId::from([0])); - - doc1.put(ROOT, "1", "a").unwrap(); - doc1.put(ROOT, "2", "b").unwrap(); - doc1.put(ROOT, "3", "c").unwrap(); - - // actor 2 should win in all conflicts here - let mut doc2 = AutoCommit::new(); - doc1.set_actor(ActorId::from([1])); - let actor2 = doc2.get_actor().clone(); - doc2.put(ROOT, "1", "aa").unwrap(); - doc2.put(ROOT, "2", "bb").unwrap(); - doc2.put(ROOT, "3", "cc").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - let heads = doc1.get_heads(); - - let mut range_all = doc1.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next(), - Some(("1", "aa".into(), ExId::Id(1, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc1.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next(), - Some(("1", "aa".into(), ExId::Id(1, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc1.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next(), - Some(("1", "aa".into(), ExId::Id(1, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); - - let mut range_all = doc1.map_range_at(ROOT, .., &heads); - assert_eq!( - range_all.next_back(), - Some(("3", "cc".into(), ExId::Id(3, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("2", "bb".into(), ExId::Id(2, actor2.clone(), 1))) - ); - assert_eq!( - range_all.next_back(), - Some(("1", "aa".into(), ExId::Id(1, actor2, 1))) - ); - assert_eq!(range_all.next_back(), None); - assert_eq!(range_all.next(), None); -} - -#[test] -fn insert_at_index() { - let mut doc = AutoCommit::new(); - - let list = &doc.put_object(ROOT, "list", ObjType::List).unwrap(); - doc.insert(list, 0, 0).unwrap(); - doc.insert(list, 0, 1).unwrap(); // both inserts at the same index - - assert_eq!(doc.length(list), 2); - assert_eq!(doc.keys(list).count(), 2); - assert_eq!(doc.list_range(list, ..).count(), 2); -} - -#[test] -fn get_list_values() -> Result<(), AutomergeError> { - let mut doc1 = Automerge::new(); - let mut tx = doc1.transaction(); - let list = tx.put_object(ROOT, "list", ObjType::List)?; - - // insert elements - tx.insert(&list, 0, "First")?; - tx.insert(&list, 1, "Second")?; - tx.insert(&list, 2, "Third")?; - tx.insert(&list, 3, "Forth")?; - tx.insert(&list, 4, "Fith")?; - tx.insert(&list, 5, "Sixth")?; - tx.insert(&list, 6, "Seventh")?; - tx.insert(&list, 7, "Eights")?; - tx.commit(); - - let v1 = doc1.get_heads(); - let mut doc2 = doc1.fork(); - - let mut tx = doc1.transaction(); - tx.put(&list, 2, "Third V2")?; - tx.commit(); - - let mut tx = doc2.transaction(); - tx.put(&list, 2, "Third V3")?; - tx.commit(); - - doc1.merge(&mut doc2)?; - - assert_eq!(doc1.list_range(&list, ..).count(), 8); - - for (i, val1, id) in doc1.list_range(&list, ..) { - let val2 = doc1.get(&list, i)?; - assert_eq!(Some((val1, id)), val2); - } - - assert_eq!(doc1.list_range(&list, 3..6).count(), 3); - assert_eq!(doc1.list_range(&list, 3..6).next().unwrap().0, 3); - assert_eq!(doc1.list_range(&list, 3..6).last().unwrap().0, 5); - - for (i, val1, id) in doc1.list_range(&list, 3..6) { - let val2 = doc1.get(&list, i)?; - assert_eq!(Some((val1, id)), val2); - } - - assert_eq!(doc1.list_range_at(&list, .., &v1).count(), 8); - for (i, val1, id) in doc1.list_range_at(&list, .., &v1) { - let val2 = doc1.get_at(&list, i, &v1)?; - assert_eq!(Some((val1, id)), val2); - } - - assert_eq!(doc1.list_range_at(&list, 3..6, &v1).count(), 3); - assert_eq!(doc1.list_range_at(&list, 3..6, &v1).next().unwrap().0, 3); - assert_eq!(doc1.list_range_at(&list, 3..6, &v1).last().unwrap().0, 5); - - for (i, val1, id) in doc1.list_range_at(&list, 3..6, &v1) { - let val2 = doc1.get_at(&list, i, &v1)?; - assert_eq!(Some((val1, id)), val2); - } - - let range: Vec<_> = doc1 - .list_range(&list, ..) - .map(|(_, val, id)| (val, id)) - .collect(); - let values = doc1.values(&list); - let values: Vec<_> = values.collect(); - assert_eq!(range, values); - - let range: Vec<_> = doc1 - .list_range_at(&list, .., &v1) - .map(|(_, val, id)| (val, id)) - .collect(); - let values: Vec<_> = doc1.values_at(&list, &v1).collect(); - assert_eq!(range, values); - - Ok(()) -} - -#[test] -fn get_range_values() -> Result<(), AutomergeError> { - let mut doc1 = Automerge::new(); - let mut tx = doc1.transaction(); - tx.put(ROOT, "aa", "aaa")?; - tx.put(ROOT, "bb", "bbb")?; - tx.put(ROOT, "cc", "ccc")?; - tx.put(ROOT, "dd", "ddd")?; - tx.commit(); - - let v1 = doc1.get_heads(); - let mut doc2 = doc1.fork(); - - let mut tx = doc1.transaction(); - tx.put(ROOT, "cc", "ccc V2")?; - tx.commit(); - - let mut tx = doc2.transaction(); - tx.put(ROOT, "cc", "ccc V3")?; - tx.commit(); - - doc1.merge(&mut doc2)?; - - let range = "b".to_string().."d".to_string(); - - assert_eq!(doc1.map_range(ROOT, range.clone()).count(), 2); - - for (key, val1, id) in doc1.map_range(ROOT, range.clone()) { - let val2 = doc1.get(ROOT, key)?; - assert_eq!(Some((val1, id)), val2); - } - - assert_eq!(doc1.map_range(ROOT, range.clone()).rev().count(), 2); - - for (key, val1, id) in doc1.map_range(ROOT, range.clone()).rev() { - let val2 = doc1.get(ROOT, key)?; - assert_eq!(Some((val1, id)), val2); - } - - assert_eq!(doc1.map_range_at(ROOT, range.clone(), &v1).count(), 2); - - for (key, val1, id) in doc1.map_range_at(ROOT, range.clone(), &v1) { - let val2 = doc1.get_at(ROOT, key, &v1)?; - assert_eq!(Some((val1, id)), val2); - } - - assert_eq!(doc1.map_range_at(ROOT, range.clone(), &v1).rev().count(), 2); - - for (key, val1, id) in doc1.map_range_at(ROOT, range, &v1).rev() { - let val2 = doc1.get_at(ROOT, key, &v1)?; - assert_eq!(Some((val1, id)), val2); - } - - let range: Vec<_> = doc1 - .map_range(ROOT, ..) - .map(|(_, val, id)| (val, id)) - .collect(); - let values: Vec<_> = doc1.values(ROOT).collect(); - assert_eq!(range, values); - - let range: Vec<_> = doc1 - .map_range_at(ROOT, .., &v1) - .map(|(_, val, id)| (val, id)) - .collect(); - let values: Vec<_> = doc1.values_at(ROOT, &v1).collect(); - assert_eq!(range, values); - - Ok(()) -} - -#[test] -fn range_iter_map_rev() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 3).unwrap(); - tx.put(ROOT, "b", 4).unwrap(); - tx.put(ROOT, "c", 5).unwrap(); - tx.put(ROOT, "d", 6).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 7).unwrap(); - tx.commit(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 8).unwrap(); - tx.put(ROOT, "d", 9).unwrap(); - tx.commit(); - let actor = doc.get_actor(); - assert_eq!(doc.map_range(ROOT, ..).rev().count(), 4); - - let mut range = doc.map_range(ROOT, "b".to_owned().."d".into()).rev(); - assert_eq!( - range.next(), - Some(("c", 5.into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("b", 4.into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!(range.next(), None); - - let mut range = doc.map_range(ROOT, "b".to_owned()..="d".into()).rev(); - assert_eq!( - range.next(), - Some(("d", 9.into(), ExId::Id(7, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("c", 5.into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("b", 4.into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!(range.next(), None); - - let mut range = doc.map_range(ROOT, ..="c".to_owned()).rev(); - assert_eq!( - range.next(), - Some(("c", 5.into(), ExId::Id(3, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("b", 4.into(), ExId::Id(2, actor.clone(), 0))) - ); - assert_eq!( - range.next(), - Some(("a", 8.into(), ExId::Id(6, actor.clone(), 0))) - ); - assert_eq!(range.next(), None); - - let range = doc.map_range(ROOT, "a".to_owned()..).rev(); - assert_eq!( - range.collect::>(), - vec![ - ("d", 9.into(), ExId::Id(7, actor.clone(), 0)), - ("c", 5.into(), ExId::Id(3, actor.clone(), 0)), - ("b", 4.into(), ExId::Id(2, actor.clone(), 0)), - ("a", 8.into(), ExId::Id(6, actor.clone(), 0)), - ] - ); -} - -#[test] -fn rolling_back_transaction_has_no_effect() { - let mut doc = Automerge::new(); - let old_states = doc.states.clone(); - let bytes = doc.save(); - let tx = doc.transaction(); - tx.rollback(); - let new_states = doc.states.clone(); - assert_eq!(old_states, new_states); - let new_bytes = doc.save(); - assert_eq!(bytes, new_bytes); -} - -#[test] -fn mutate_old_objects() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - // create a map - let map1 = tx.put_object(ROOT, "a", ObjType::Map).unwrap(); - tx.put(&map1, "b", 1).unwrap(); - // overwrite the first map with a new one - let map2 = tx.put_object(ROOT, "a", ObjType::Map).unwrap(); - tx.put(&map2, "c", 2).unwrap(); - tx.commit(); - - // we can get the new map by traversing the tree - let map = doc.get(&ROOT, "a").unwrap().unwrap().1; - assert_eq!(doc.get(&map, "b").unwrap(), None); - // and get values from it - assert_eq!( - doc.get(&map, "c").unwrap().map(|s| s.0), - Some(ScalarValue::Int(2).into()) - ); - - // but we can still access the old one if we know the ID! - assert_eq!(doc.get(&map1, "b").unwrap().unwrap().0, Value::int(1)); - // and even set new things in it! - let mut tx = doc.transaction(); - tx.put(&map1, "c", 3).unwrap(); - tx.commit(); - - assert_eq!(doc.get(&map1, "c").unwrap().unwrap().0, Value::int(3)); -} - -#[test] -fn delete_nothing_in_map_is_noop() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - // deleting a missing key in a map should just be a noop - assert!(tx.delete(ROOT, "a",).is_ok()); - tx.commit(); - let last_change = doc.get_last_local_change(); - assert!(last_change.is_none()); - - let bytes = doc.save(); - assert!(Automerge::load(&bytes,).is_ok()); - - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 1).unwrap(); - tx.commit(); - let last_change = doc.get_last_local_change().unwrap(); - assert_eq!(last_change.len(), 1); - - let mut tx = doc.transaction(); - // a real op - tx.delete(ROOT, "a").unwrap(); - // a no-op - tx.delete(ROOT, "a").unwrap(); - tx.commit(); - let last_change = doc.get_last_local_change().unwrap(); - assert_eq!(last_change.len(), 1); -} - -#[test] -fn delete_nothing_in_list_returns_error() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - // deleting an element in a list that does not exist is an error - assert!(tx.delete(ROOT, 0,).is_err()); -} - -#[test] -fn loaded_doc_changes_have_hash() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - tx.put(ROOT, "a", 1_u64).unwrap(); - tx.commit(); - let hash = doc.get_last_local_change().unwrap().hash(); - let bytes = doc.save(); - let doc = Automerge::load(&bytes).unwrap(); - assert_eq!(doc.get_change_by_hash(&hash).unwrap().hash(), hash); -} - -#[test] -fn load_change_with_zero_start_op() { - let bytes = &[ - 133, 111, 74, 131, 202, 50, 52, 158, 2, 96, 163, 163, 83, 255, 255, 255, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 255, 255, 245, 53, 1, 0, 0, 0, 0, 0, 0, 4, 233, - 245, 239, 255, 1, 0, 0, 0, 133, 111, 74, 131, 163, 96, 0, 0, 2, 10, 202, 144, 125, 19, 48, - 89, 133, 49, 10, 10, 67, 91, 111, 10, 74, 131, 96, 0, 163, 131, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 1, 153, 0, 0, 246, 255, 255, 255, 157, 157, 157, 157, 157, 157, 157, - 157, 157, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 48, 254, 208, - ]; - let _ = Automerge::load(bytes); -} - -#[test] -fn load_broken_list() { - enum Action { - InsertText(usize, char), - DelText(usize), - } - use Action::*; - let actions = [ - InsertText(0, 'a'), - InsertText(0, 'b'), - DelText(1), - InsertText(0, 'c'), - DelText(1), - DelText(0), - InsertText(0, 'd'), - InsertText(0, 'e'), - InsertText(1, 'f'), - DelText(2), - DelText(1), - InsertText(0, 'g'), - DelText(1), - DelText(0), - InsertText(0, 'h'), - InsertText(1, 'i'), - DelText(1), - DelText(0), - InsertText(0, 'j'), - InsertText(0, 'k'), - DelText(1), - DelText(0), - InsertText(0, 'l'), - DelText(0), - InsertText(0, 'm'), - InsertText(0, 'n'), - DelText(1), - DelText(0), - InsertText(0, 'o'), - DelText(0), - InsertText(0, 'p'), - InsertText(1, 'q'), - InsertText(1, 'r'), - InsertText(1, 's'), - InsertText(3, 't'), - InsertText(5, 'u'), - InsertText(0, 'v'), - InsertText(3, 'w'), - InsertText(4, 'x'), - InsertText(0, 'y'), - InsertText(6, 'z'), - InsertText(11, '1'), - InsertText(0, '2'), - InsertText(0, '3'), - InsertText(0, '4'), - InsertText(13, '5'), - InsertText(11, '6'), - InsertText(17, '7'), - ]; - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let list = tx.put_object(ROOT, "list", ObjType::List).unwrap(); - for action in actions { - match action { - Action::InsertText(index, c) => { - tx.insert(&list, index, c).unwrap(); - } - Action::DelText(index) => { - tx.delete(&list, index).unwrap(); - } - } - } - tx.commit(); - let bytes = doc.save(); - let mut doc2 = Automerge::load(&bytes).unwrap(); - let bytes2 = doc2.save(); - assert_eq!(doc.text(&list).unwrap(), doc2.text(&list).unwrap()); - - assert_eq!(doc.queue, doc2.queue); - assert_eq!(doc.history, doc2.history); - assert_eq!(doc.history_index, doc2.history_index); - assert_eq!(doc.states, doc2.states); - assert_eq!(doc.deps, doc2.deps); - assert_eq!(doc.saved, doc2.saved); - assert_eq!(doc.ops, doc2.ops); - assert_eq!(doc.max_op, doc2.max_op); - - assert_eq!(bytes, bytes2); -} - -#[test] -fn load_broken_list_short() { - // breaks when the B constant in OpSet is 3 - enum Action { - InsertText(usize, char), - DelText(usize), - } - use Action::*; - let actions = [ - InsertText(0, 'a'), - InsertText(1, 'b'), - DelText(1), - InsertText(1, 'c'), - InsertText(2, 'd'), - InsertText(2, 'e'), - InsertText(0, 'f'), - DelText(4), - InsertText(4, 'g'), - ]; - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let list = tx.put_object(ROOT, "list", ObjType::List).unwrap(); - for action in actions { - match action { - Action::InsertText(index, c) => { - tx.insert(&list, index, c).unwrap(); - } - Action::DelText(index) => { - tx.delete(&list, index).unwrap(); - } - } - } - tx.commit(); - let bytes = doc.save(); - let mut doc2 = Automerge::load(&bytes).unwrap(); - let bytes2 = doc2.save(); - assert_eq!(doc.text(&list).unwrap(), doc2.text(&list).unwrap()); - - assert_eq!(doc.queue, doc2.queue); - assert_eq!(doc.history, doc2.history); - assert_eq!(doc.history_index, doc2.history_index); - assert_eq!(doc.states, doc2.states); - assert_eq!(doc.deps, doc2.deps); - assert_eq!(doc.saved, doc2.saved); - assert_eq!(doc.ops, doc2.ops); - assert_eq!(doc.max_op, doc2.max_op); - - assert_eq!(bytes, bytes2); -} - -#[test] -fn compute_list_indexes_correctly_when_list_element_is_split_across_tree_nodes() { - let max = B as u64 * 2; - let actor1 = ActorId::from(b"aaaa"); - let mut doc1 = AutoCommit::new().with_actor(actor1.clone()); - let actor2 = ActorId::from(b"bbbb"); - let mut doc2 = AutoCommit::new().with_actor(actor2.clone()); - let list = doc1.put_object(ROOT, "list", ObjType::List).unwrap(); - doc1.insert(&list, 0, 0).unwrap(); - doc2.load_incremental(&doc1.save_incremental()).unwrap(); - for i in 1..=max { - doc1.put(&list, 0, i).unwrap() - } - for i in 1..=max { - doc2.put(&list, 0, i).unwrap() - } - let change1 = doc1.save_incremental(); - let change2 = doc2.save_incremental(); - doc2.load_incremental(&change1).unwrap(); - doc1.load_incremental(&change2).unwrap(); - assert_eq!(doc1.length(&list), 1); - assert_eq!(doc2.length(&list), 1); - assert_eq!( - doc1.get_all(&list, 0).unwrap(), - vec![ - (max.into(), ExId::Id(max + 2, actor1.clone(), 0)), - (max.into(), ExId::Id(max + 2, actor2.clone(), 1)) - ] - ); - assert_eq!( - doc2.get_all(&list, 0).unwrap(), - vec![ - (max.into(), ExId::Id(max + 2, actor1, 0)), - (max.into(), ExId::Id(max + 2, actor2, 1)) - ] - ); - assert!(doc1.get(&list, 1).unwrap().is_none()); - assert!(doc2.get(&list, 1).unwrap().is_none()); -} - -#[test] -fn get_parent_objects() { - let mut doc = AutoCommit::new(); - let map = doc.put_object(ROOT, "a", ObjType::Map).unwrap(); - let list = doc.put_object(&map, "b", ObjType::List).unwrap(); - doc.insert(&list, 0, 2).unwrap(); - let text = doc.put_object(&list, 0, ObjType::Text).unwrap(); - - assert_eq!( - doc.parents(&map).unwrap().next(), - Some(Parent { - obj: ROOT, - prop: Prop::Map("a".into()), - visible: true - }) - ); - assert_eq!( - doc.parents(&list).unwrap().next(), - Some(Parent { - obj: map, - prop: Prop::Map("b".into()), - visible: true - }) - ); - assert_eq!( - doc.parents(&text).unwrap().next(), - Some(Parent { - obj: list, - prop: Prop::Seq(0), - visible: true - }) - ); -} - -#[test] -fn get_path_to_object() { - let mut doc = AutoCommit::new(); - let map = doc.put_object(ROOT, "a", ObjType::Map).unwrap(); - let list = doc.put_object(&map, "b", ObjType::List).unwrap(); - doc.insert(&list, 0, 2).unwrap(); - let text = doc.put_object(&list, 0, ObjType::Text).unwrap(); - - assert_eq!( - doc.path_to_object(&map).unwrap(), - vec![(ROOT, Prop::Map("a".into()))] - ); - assert_eq!( - doc.path_to_object(&list).unwrap(), - vec![ - (ROOT, Prop::Map("a".into())), - (map.clone(), Prop::Map("b".into())), - ] - ); - assert_eq!( - doc.path_to_object(text).unwrap(), - vec![ - (ROOT, Prop::Map("a".into())), - (map, Prop::Map("b".into())), - (list, Prop::Seq(0)), - ] - ); -} - -#[test] -fn parents_iterator() { - let mut doc = AutoCommit::new(); - let map = doc.put_object(ROOT, "a", ObjType::Map).unwrap(); - let list = doc.put_object(&map, "b", ObjType::List).unwrap(); - doc.insert(&list, 0, 2).unwrap(); - let text = doc.put_object(&list, 0, ObjType::Text).unwrap(); - - let mut parents = doc.parents(text).unwrap(); - assert_eq!( - parents.next(), - Some(Parent { - obj: list, - prop: Prop::Seq(0), - visible: true - }) - ); - assert_eq!( - parents.next(), - Some(Parent { - obj: map, - prop: Prop::Map("b".into()), - visible: true - }) - ); - assert_eq!( - parents.next(), - Some(Parent { - obj: ROOT, - prop: Prop::Map("a".into()), - visible: true - }) - ); - assert_eq!(parents.next(), None); -} - -#[test] -fn can_insert_a_grapheme_into_text() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let text = tx.put_object(ROOT, "text", ObjType::Text).unwrap(); - let polar_bear = "🐻‍❄️"; - tx.splice_text(&text, 0, 0, polar_bear).unwrap(); - tx.commit(); - let s = doc.text(&text).unwrap(); - assert_eq!(s, polar_bear); - let len = doc.length(&text); - assert_eq!(len, 4); // 4 utf8 chars -} - -#[test] -fn long_strings_spliced_into_text_get_segmented_by_utf8_chars() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let text = tx.put_object(ROOT, "text", ObjType::Text).unwrap(); - let polar_bear = "🐻‍❄️"; - let polar_bear_army = polar_bear.repeat(100); - tx.splice_text(&text, 0, 0, &polar_bear_army).unwrap(); - tx.commit(); - let s = doc.text(&text).unwrap(); - assert_eq!(s, polar_bear_army); - let len = doc.length(&text); - assert_eq!(len, polar_bear.chars().count() * 100); - assert_eq!(len, 400); -} - -#[test] -fn splice_text_uses_unicode_scalars() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let text = tx.put_object(ROOT, "text", ObjType::Text).unwrap(); - let polar_bear = "🐻‍❄️"; - tx.splice_text(&text, 0, 0, polar_bear).unwrap(); - tx.commit(); - let s = doc.text(&text).unwrap(); - assert_eq!(s, polar_bear); - let len = doc.length(&text); - assert_eq!(len, 4); // 4 chars -} - -#[test] -fn observe_counter_change_application_overwrite() { - let mut doc1 = AutoCommit::new(); - doc1.set_actor(ActorId::from([1])); - doc1.put(ROOT, "counter", ScalarValue::counter(1)).unwrap(); - doc1.commit(); - - let mut doc2 = doc1.fork(); - doc2.set_actor(ActorId::from([2])); - doc2.put(ROOT, "counter", "mystring").unwrap(); - doc2.commit(); - - doc1.increment(ROOT, "counter", 2).unwrap(); - doc1.commit(); - doc1.increment(ROOT, "counter", 5).unwrap(); - doc1.commit(); - - let mut doc3 = doc1.fork().with_observer(VecOpObserver::default()); - doc3.merge(&mut doc2).unwrap(); - - assert_eq!( - doc3.observer().take_patches(), - vec![Patch::Put { - obj: ExId::Root, - path: vec![], - prop: Prop::Map("counter".into()), - value: ( - ScalarValue::Str("mystring".into()).into(), - ExId::Id(2, doc2.get_actor().clone(), 1) - ), - conflict: false - }] - ); - - let mut doc4 = doc2.clone().with_observer(VecOpObserver::default()); - doc4.merge(&mut doc1).unwrap(); - - // no patches as the increments operate on an invisible counter - assert_eq!(doc4.observer().take_patches(), vec![]); -} - -#[test] -fn observe_counter_change_application() { - let mut doc = AutoCommit::new(); - doc.put(ROOT, "counter", ScalarValue::counter(1)).unwrap(); - doc.increment(ROOT, "counter", 2).unwrap(); - doc.increment(ROOT, "counter", 5).unwrap(); - let changes = doc.get_changes(&[]).unwrap().into_iter().cloned(); - - let mut new_doc = AutoCommit::new().with_observer(VecOpObserver::default()); - // make a new change to the doc to stop the empty doc logic from skipping the intermediate - // patches. The is probably not really necessary, we could update this test to just test that - // the correct final state is emitted. For now though, we leave it as is. - new_doc.put(ROOT, "foo", "bar").unwrap(); - new_doc.observer().take_patches(); - new_doc.apply_changes(changes).unwrap(); - assert_eq!( - new_doc.observer().take_patches(), - vec![ - Patch::Put { - obj: ExId::Root, - path: vec![], - prop: Prop::Map("counter".into()), - value: ( - ScalarValue::counter(1).into(), - ExId::Id(1, doc.get_actor().clone(), 0) - ), - conflict: false - }, - Patch::Increment { - obj: ExId::Root, - path: vec![], - prop: Prop::Map("counter".into()), - value: (2, ExId::Id(2, doc.get_actor().clone(), 0)), - }, - Patch::Increment { - obj: ExId::Root, - path: vec![], - prop: Prop::Map("counter".into()), - value: (5, ExId::Id(3, doc.get_actor().clone(), 0)), - } - ] - ); -} - -#[test] -fn get_changes_heads_empty() { - let mut doc = AutoCommit::new(); - doc.put(ROOT, "key1", 1).unwrap(); - doc.commit(); - doc.put(ROOT, "key2", 1).unwrap(); - doc.commit(); - let heads = doc.get_heads(); - assert_eq!(doc.get_changes(&heads).unwrap(), Vec::<&Change>::new()); -} diff --git a/rust/automerge/src/autoserde.rs b/rust/automerge/src/autoserde.rs deleted file mode 100644 index ccfc6ae6..00000000 --- a/rust/automerge/src/autoserde.rs +++ /dev/null @@ -1,124 +0,0 @@ -use serde::ser::{SerializeMap, SerializeSeq}; - -use crate::{ObjId, ObjType, ReadDoc, Value}; - -/// A wrapper type which implements [`serde::Serialize`] for a [`ReadDoc`]. -/// -/// # Example -/// -/// ``` -/// # fn main() -> Result<(), Box> { -/// use automerge::{AutoCommit, AutomergeError, Value, transaction::Transactable}; -/// let mut doc = AutoCommit::new(); -/// doc.put(automerge::ROOT, "key", "value")?; -/// -/// let serialized = serde_json::to_string(&automerge::AutoSerde::from(&doc)).unwrap(); -/// -/// assert_eq!(serialized, r#"{"key":"value"}"#); -/// # Ok(()) -/// # } -/// ``` -#[derive(Debug)] -pub struct AutoSerde<'a, R: crate::ReadDoc>(&'a R); - -impl<'a, R: ReadDoc> From<&'a R> for AutoSerde<'a, R> { - fn from(a: &'a R) -> Self { - AutoSerde(a) - } -} - -impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerde<'a, R> { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - AutoSerdeMap { - doc: self.0, - obj: ObjId::Root, - } - .serialize(serializer) - } -} - -struct AutoSerdeMap<'a, R> { - doc: &'a R, - obj: ObjId, -} - -impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerdeMap<'a, R> { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - let mut map_ser = serializer.serialize_map(Some(self.doc.length(&ObjId::Root)))?; - for key in self.doc.keys(&self.obj) { - // SAFETY: This only errors if the object ID is unknown, but we construct this type - // with a known real object ID - let (val, obj) = self.doc.get(&self.obj, &key).unwrap().unwrap(); - let serdeval = AutoSerdeVal { - doc: self.doc, - val, - obj, - }; - map_ser.serialize_entry(&key, &serdeval)?; - } - map_ser.end() - } -} - -struct AutoSerdeSeq<'a, R> { - doc: &'a R, - obj: ObjId, -} - -impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerdeSeq<'a, R> { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - let mut seq_ser = serializer.serialize_seq(None)?; - for i in 0..self.doc.length(&self.obj) { - // SAFETY: This only errors if the object ID is unknown, but we construct this type - // with a known real object ID - let (val, obj) = self.doc.get(&self.obj, i).unwrap().unwrap(); - let serdeval = AutoSerdeVal { - doc: self.doc, - val, - obj, - }; - seq_ser.serialize_element(&serdeval)?; - } - seq_ser.end() - } -} - -struct AutoSerdeVal<'a, R> { - doc: &'a R, - val: Value<'a>, - obj: ObjId, -} - -impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerdeVal<'a, R> { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - match &self.val { - Value::Object(ObjType::Map | ObjType::Table) => { - let map = AutoSerdeMap { - doc: self.doc, - obj: self.obj.clone(), - }; - map.serialize(serializer) - } - Value::Object(ObjType::List | ObjType::Text) => { - let seq = AutoSerdeSeq { - doc: self.doc, - obj: self.obj.clone(), - }; - seq.serialize(serializer) - } - Value::Scalar(v) => v.serialize(serializer), - } - } -} diff --git a/rust/automerge/src/change.rs b/rust/automerge/src/change.rs deleted file mode 100644 index be467a84..00000000 --- a/rust/automerge/src/change.rs +++ /dev/null @@ -1,402 +0,0 @@ -use std::{borrow::Cow, num::NonZeroU64}; - -use crate::{ - columnar::Key as StoredKey, - storage::{ - change::{Unverified, Verified}, - parse, Change as StoredChange, ChangeOp, Chunk, Compressed, ReadChangeOpError, - }, - types::{ActorId, ChangeHash, ElemId}, -}; - -#[derive(Clone, Debug, PartialEq)] -pub struct Change { - stored: StoredChange<'static, Verified>, - compression: CompressionState, - len: usize, -} - -impl Change { - pub(crate) fn new(stored: StoredChange<'static, Verified>) -> Self { - let len = stored.iter_ops().count(); - Self { - stored, - len, - compression: CompressionState::NotCompressed, - } - } - - pub(crate) fn new_from_unverified( - stored: StoredChange<'static, Unverified>, - compressed: Option>, - ) -> Result { - let mut len = 0; - let stored = stored.verify_ops(|_| len += 1)?; - let compression = if let Some(c) = compressed { - CompressionState::Compressed(c) - } else { - CompressionState::NotCompressed - }; - Ok(Self { - stored, - len, - compression, - }) - } - - pub fn actor_id(&self) -> &ActorId { - self.stored.actor() - } - - pub fn other_actor_ids(&self) -> &[ActorId] { - self.stored.other_actors() - } - - pub fn len(&self) -> usize { - self.len - } - - pub fn is_empty(&self) -> bool { - self.len == 0 - } - - pub fn max_op(&self) -> u64 { - self.stored.start_op().get() + (self.len as u64) - 1 - } - - pub fn start_op(&self) -> NonZeroU64 { - self.stored.start_op() - } - - pub fn message(&self) -> Option<&String> { - self.stored.message().as_ref() - } - - pub fn deps(&self) -> &[ChangeHash] { - self.stored.dependencies() - } - - pub fn hash(&self) -> ChangeHash { - self.stored.hash() - } - - pub fn seq(&self) -> u64 { - self.stored.seq() - } - - pub fn timestamp(&self) -> i64 { - self.stored.timestamp() - } - - pub fn bytes(&mut self) -> Cow<'_, [u8]> { - if let CompressionState::NotCompressed = self.compression { - if let Some(compressed) = self.stored.compress() { - self.compression = CompressionState::Compressed(compressed); - } else { - self.compression = CompressionState::TooSmallToCompress; - } - }; - match &self.compression { - // SAFETY: We just checked this case above - CompressionState::NotCompressed => unreachable!(), - CompressionState::TooSmallToCompress => Cow::Borrowed(self.stored.bytes()), - CompressionState::Compressed(c) => c.bytes(), - } - } - - pub fn raw_bytes(&self) -> &[u8] { - self.stored.bytes() - } - - pub(crate) fn iter_ops(&self) -> impl Iterator + '_ { - self.stored.iter_ops() - } - - pub fn extra_bytes(&self) -> &[u8] { - self.stored.extra_bytes() - } - - // TODO replace all uses of this with TryFrom<&[u8]> - pub fn from_bytes(bytes: Vec) -> Result { - Self::try_from(&bytes[..]) - } - - pub fn decode(&self) -> crate::ExpandedChange { - crate::ExpandedChange::from(self) - } -} - -#[derive(Clone, Debug, PartialEq)] -enum CompressionState { - /// We haven't tried to compress this change - NotCompressed, - /// We have compressed this change - Compressed(Compressed<'static>), - /// We tried to compress this change but it wasn't big enough to be worth it - TooSmallToCompress, -} - -impl AsRef> for Change { - fn as_ref(&self) -> &StoredChange<'static, Verified> { - &self.stored - } -} - -impl From for StoredChange<'static, Verified> { - fn from(c: Change) -> Self { - c.stored - } -} - -#[derive(thiserror::Error, Debug)] -pub enum LoadError { - #[error("unable to parse change: {0}")] - Parse(Box), - #[error("leftover data after parsing")] - LeftoverData, - #[error("wrong chunk type")] - WrongChunkType, -} - -impl<'a> TryFrom<&'a [u8]> for Change { - type Error = LoadError; - - fn try_from(value: &'a [u8]) -> Result { - let input = parse::Input::new(value); - let (remaining, chunk) = Chunk::parse(input).map_err(|e| LoadError::Parse(Box::new(e)))?; - if !remaining.is_empty() { - return Err(LoadError::LeftoverData); - } - match chunk { - Chunk::Change(c) => Self::new_from_unverified(c.into_owned(), None) - .map_err(|e| LoadError::Parse(Box::new(e))), - Chunk::CompressedChange(c, compressed) => { - Self::new_from_unverified(c.into_owned(), Some(compressed.into_owned())) - .map_err(|e| LoadError::Parse(Box::new(e))) - } - _ => Err(LoadError::WrongChunkType), - } - } -} - -impl<'a> TryFrom> for Change { - type Error = ReadChangeOpError; - - fn try_from(c: StoredChange<'a, Unverified>) -> Result { - Self::new_from_unverified(c.into_owned(), None) - } -} - -impl From for Change { - fn from(e: crate::ExpandedChange) -> Self { - let stored = StoredChange::builder() - .with_actor(e.actor_id) - .with_extra_bytes(e.extra_bytes) - .with_seq(e.seq) - .with_dependencies(e.deps) - .with_timestamp(e.time) - .with_start_op(e.start_op) - .with_message(e.message) - .build(e.operations.iter()); - match stored { - Ok(c) => Change::new(c), - Err(crate::storage::change::PredOutOfOrder) => { - // Should never happen because we use `SortedVec` in legacy::Op::pred - panic!("preds out of order"); - } - } - } -} - -mod convert_expanded { - use std::borrow::Cow; - - use crate::{convert, legacy, storage::AsChangeOp, types::ActorId, ScalarValue}; - - impl<'a> AsChangeOp<'a> for &'a legacy::Op { - type ActorId = &'a ActorId; - type OpId = &'a legacy::OpId; - type PredIter = std::slice::Iter<'a, legacy::OpId>; - - fn action(&self) -> u64 { - self.action.action_index() - } - - fn insert(&self) -> bool { - self.insert - } - - fn pred(&self) -> Self::PredIter { - self.pred.iter() - } - - fn key(&self) -> convert::Key<'a, Self::OpId> { - match &self.key { - legacy::Key::Map(s) => convert::Key::Prop(Cow::Borrowed(s)), - legacy::Key::Seq(legacy::ElementId::Head) => { - convert::Key::Elem(convert::ElemId::Head) - } - legacy::Key::Seq(legacy::ElementId::Id(o)) => { - convert::Key::Elem(convert::ElemId::Op(o)) - } - } - } - - fn obj(&self) -> convert::ObjId { - match &self.obj { - legacy::ObjectId::Root => convert::ObjId::Root, - legacy::ObjectId::Id(o) => convert::ObjId::Op(o), - } - } - - fn val(&self) -> Cow<'a, crate::ScalarValue> { - match self.primitive_value() { - Some(v) => Cow::Owned(v), - None => Cow::Owned(ScalarValue::Null), - } - } - } - - impl<'a> convert::OpId<&'a ActorId> for &'a legacy::OpId { - fn counter(&self) -> u64 { - legacy::OpId::counter(self) - } - - fn actor(&self) -> &'a ActorId { - &self.1 - } - } -} - -impl From<&Change> for crate::ExpandedChange { - fn from(c: &Change) -> Self { - let actors = std::iter::once(c.actor_id()) - .chain(c.other_actor_ids().iter()) - .cloned() - .enumerate() - .collect::>(); - let operations = c - .iter_ops() - .map(|o| crate::legacy::Op { - action: crate::types::OpType::from_action_and_value(o.action, o.val), - insert: o.insert, - key: match o.key { - StoredKey::Elem(e) if e.is_head() => { - crate::legacy::Key::Seq(crate::legacy::ElementId::Head) - } - StoredKey::Elem(ElemId(o)) => { - crate::legacy::Key::Seq(crate::legacy::ElementId::Id( - crate::legacy::OpId::new(o.counter(), actors.get(&o.actor()).unwrap()), - )) - } - StoredKey::Prop(p) => crate::legacy::Key::Map(p), - }, - obj: if o.obj.is_root() { - crate::legacy::ObjectId::Root - } else { - crate::legacy::ObjectId::Id(crate::legacy::OpId::new( - o.obj.opid().counter(), - actors.get(&o.obj.opid().actor()).unwrap(), - )) - }, - pred: o - .pred - .into_iter() - .map(|p| crate::legacy::OpId::new(p.counter(), actors.get(&p.actor()).unwrap())) - .collect(), - }) - .collect::>(); - crate::ExpandedChange { - operations, - actor_id: actors.get(&0).unwrap().clone(), - hash: Some(c.hash()), - time: c.timestamp(), - deps: c.deps().to_vec(), - seq: c.seq(), - start_op: c.start_op(), - extra_bytes: c.extra_bytes().to_vec(), - message: c.message().cloned(), - } - } -} - -#[cfg(test)] -pub(crate) mod gen { - use super::Change; - use crate::{ - op_tree::OpSetMetadata, - storage::{change::ChangeBuilder, convert::op_as_actor_id}, - types::{ - gen::{gen_hash, gen_op}, - ObjId, Op, OpId, - }, - ActorId, - }; - use proptest::prelude::*; - - fn gen_actor() -> impl Strategy { - proptest::array::uniform32(proptest::bits::u8::ANY).prop_map(ActorId::from) - } - - prop_compose! { - fn gen_actors()(this_actor in gen_actor(), other_actors in proptest::collection::vec(gen_actor(), 0..10)) -> (ActorId, Vec) { - (this_actor, other_actors) - } - } - - fn gen_ops( - this_actor: ActorId, - other_actors: Vec, - ) -> impl Strategy, OpSetMetadata)> { - let mut all_actors = vec![this_actor]; - all_actors.extend(other_actors); - let mut m = OpSetMetadata::from_actors(all_actors); - m.props.cache("someprop".to_string()); - let root_id = ObjId::root(); - (0_u64..10) - .prop_map(|num_ops| { - (0..num_ops) - .map(|counter| OpId::new(counter, 0)) - .collect::>() - }) - .prop_flat_map(move |opids| { - let mut strat = Just(Vec::new()).boxed(); - for opid in opids { - strat = (gen_op(opid, vec![0]), strat) - .prop_map(move |(op, ops)| { - let mut result = Vec::with_capacity(ops.len() + 1); - result.extend(ops); - result.push((root_id, op)); - result - }) - .boxed(); - } - strat - }) - .prop_map(move |ops| (ops, m.clone())) - } - - prop_compose! { - pub(crate) fn gen_change()((this_actor, other_actors) in gen_actors())( - (ops, metadata) in gen_ops(this_actor.clone(), other_actors), - start_op in 1_u64..200000, - seq in 0_u64..200000, - timestamp in 0..i64::MAX, - deps in proptest::collection::vec(gen_hash(), 0..100), - message in proptest::option::of("[a-z]{200}"), - this_actor in Just(this_actor), - ) -> Change { - let ops = ops.iter().map(|(obj, op)| op_as_actor_id(obj, op, &metadata)); - Change::new(ChangeBuilder::new() - .with_dependencies(deps) - .with_start_op(start_op.try_into().unwrap()) - .with_message(message) - .with_actor(this_actor) - .with_seq(seq) - .with_timestamp(timestamp) - .build(ops.into_iter()) - .unwrap()) - } - - } -} diff --git a/rust/automerge/src/change_graph.rs b/rust/automerge/src/change_graph.rs deleted file mode 100644 index 01d269d8..00000000 --- a/rust/automerge/src/change_graph.rs +++ /dev/null @@ -1,344 +0,0 @@ -use std::collections::{BTreeMap, BTreeSet}; - -use crate::{ - clock::{Clock, ClockData}, - Change, ChangeHash, -}; - -/// The graph of changes -/// -/// This is a sort of adjacency list based representation, except that instead of using linked -/// lists, we keep all the edges and nodes in two vecs and reference them by index which plays nice -/// with the cache -#[derive(Debug, Clone)] -pub(crate) struct ChangeGraph { - nodes: Vec, - edges: Vec, - hashes: Vec, - nodes_by_hash: BTreeMap, -} - -#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] -struct NodeIdx(u32); - -#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] -struct EdgeIdx(u32); - -#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] -struct HashIdx(u32); - -#[derive(Debug, Clone)] -struct Edge { - // Edges are always child -> parent so we only store the target, the child is implicit - // as you get the edge from the child - target: NodeIdx, - next: Option, -} - -#[derive(Debug, Clone)] -struct ChangeNode { - hash_idx: HashIdx, - actor_index: usize, - seq: u64, - max_op: u64, - parents: Option, -} - -impl ChangeGraph { - pub(crate) fn new() -> Self { - Self { - nodes: Vec::new(), - edges: Vec::new(), - nodes_by_hash: BTreeMap::new(), - hashes: Vec::new(), - } - } - - pub(crate) fn add_change( - &mut self, - change: &Change, - actor_idx: usize, - ) -> Result<(), MissingDep> { - let hash = change.hash(); - if self.nodes_by_hash.contains_key(&hash) { - return Ok(()); - } - let parent_indices = change - .deps() - .iter() - .map(|h| self.nodes_by_hash.get(h).copied().ok_or(MissingDep(*h))) - .collect::, _>>()?; - let node_idx = self.add_node(actor_idx, change); - self.nodes_by_hash.insert(hash, node_idx); - for parent_idx in parent_indices { - self.add_parent(node_idx, parent_idx); - } - Ok(()) - } - - fn add_node(&mut self, actor_index: usize, change: &Change) -> NodeIdx { - let idx = NodeIdx(self.nodes.len() as u32); - let hash_idx = self.add_hash(change.hash()); - self.nodes.push(ChangeNode { - hash_idx, - actor_index, - seq: change.seq(), - max_op: change.max_op(), - parents: None, - }); - idx - } - - fn add_hash(&mut self, hash: ChangeHash) -> HashIdx { - let idx = HashIdx(self.hashes.len() as u32); - self.hashes.push(hash); - idx - } - - fn add_parent(&mut self, child_idx: NodeIdx, parent_idx: NodeIdx) { - let new_edge_idx = EdgeIdx(self.edges.len() as u32); - let new_edge = Edge { - target: parent_idx, - next: None, - }; - self.edges.push(new_edge); - - let child = &mut self.nodes[child_idx.0 as usize]; - if let Some(edge_idx) = child.parents { - let mut edge = &mut self.edges[edge_idx.0 as usize]; - while let Some(next) = edge.next { - edge = &mut self.edges[next.0 as usize]; - } - edge.next = Some(new_edge_idx); - } else { - child.parents = Some(new_edge_idx); - } - } - - fn parents(&self, node_idx: NodeIdx) -> impl Iterator + '_ { - let mut edge_idx = self.nodes[node_idx.0 as usize].parents; - std::iter::from_fn(move || { - let this_edge_idx = edge_idx?; - let edge = &self.edges[this_edge_idx.0 as usize]; - edge_idx = edge.next; - Some(edge.target) - }) - } - - pub(crate) fn clock_for_heads(&self, heads: &[ChangeHash]) -> Clock { - let mut clock = Clock::new(); - - self.traverse_ancestors(heads, |node, _hash| { - clock.include( - node.actor_index, - ClockData { - max_op: node.max_op, - seq: node.seq, - }, - ); - }); - - clock - } - - pub(crate) fn remove_ancestors( - &self, - changes: &mut BTreeSet, - heads: &[ChangeHash], - ) { - self.traverse_ancestors(heads, |_node, hash| { - changes.remove(hash); - }); - } - - /// Call `f` for each (node, hash) in the graph, starting from the given heads - /// - /// No guarantees are made about the order of traversal but each node will only be visited - /// once. - fn traverse_ancestors( - &self, - heads: &[ChangeHash], - mut f: F, - ) { - let mut to_visit = heads - .iter() - .filter_map(|h| self.nodes_by_hash.get(h)) - .copied() - .collect::>(); - - let mut visited = BTreeSet::new(); - - while let Some(idx) = to_visit.pop() { - if visited.contains(&idx) { - continue; - } else { - visited.insert(idx); - } - let node = &self.nodes[idx.0 as usize]; - let hash = &self.hashes[node.hash_idx.0 as usize]; - f(node, hash); - to_visit.extend(self.parents(idx)); - } - } -} - -#[derive(Debug, thiserror::Error)] -#[error("attempted to derive a clock for a change with dependencies we don't have")] -pub struct MissingDep(ChangeHash); - -#[cfg(test)] -mod tests { - use std::{ - num::NonZeroU64, - time::{SystemTime, UNIX_EPOCH}, - }; - - use crate::{ - clock::ClockData, - op_tree::OpSetMetadata, - storage::{change::ChangeBuilder, convert::op_as_actor_id}, - types::{Key, ObjId, Op, OpId, OpIds}, - ActorId, - }; - - use super::*; - - #[test] - fn clock_by_heads() { - let mut builder = TestGraphBuilder::new(); - let actor1 = builder.actor(); - let actor2 = builder.actor(); - let actor3 = builder.actor(); - let change1 = builder.change(&actor1, 10, &[]); - let change2 = builder.change(&actor2, 20, &[change1]); - let change3 = builder.change(&actor3, 30, &[change1]); - let change4 = builder.change(&actor1, 10, &[change2, change3]); - let graph = builder.build(); - - let mut expected_clock = Clock::new(); - expected_clock.include(builder.index(&actor1), ClockData { max_op: 50, seq: 2 }); - expected_clock.include(builder.index(&actor2), ClockData { max_op: 30, seq: 1 }); - expected_clock.include(builder.index(&actor3), ClockData { max_op: 40, seq: 1 }); - - let clock = graph.clock_for_heads(&[change4]); - assert_eq!(clock, expected_clock); - } - - #[test] - fn remove_ancestors() { - let mut builder = TestGraphBuilder::new(); - let actor1 = builder.actor(); - let actor2 = builder.actor(); - let actor3 = builder.actor(); - let change1 = builder.change(&actor1, 10, &[]); - let change2 = builder.change(&actor2, 20, &[change1]); - let change3 = builder.change(&actor3, 30, &[change1]); - let change4 = builder.change(&actor1, 10, &[change2, change3]); - let graph = builder.build(); - - let mut changes = vec![change1, change2, change3, change4] - .into_iter() - .collect::>(); - let heads = vec![change2]; - graph.remove_ancestors(&mut changes, &heads); - - let expected_changes = vec![change3, change4].into_iter().collect::>(); - - assert_eq!(changes, expected_changes); - } - - struct TestGraphBuilder { - actors: Vec, - changes: Vec, - seqs_by_actor: BTreeMap, - } - - impl TestGraphBuilder { - fn new() -> Self { - TestGraphBuilder { - actors: Vec::new(), - changes: Vec::new(), - seqs_by_actor: BTreeMap::new(), - } - } - - fn actor(&mut self) -> ActorId { - let actor = ActorId::random(); - self.actors.push(actor.clone()); - actor - } - - fn index(&self, actor: &ActorId) -> usize { - self.actors.iter().position(|a| a == actor).unwrap() - } - - /// Create a change with `num_new_ops` and `parents` for `actor` - /// - /// The `start_op` and `seq` of the change will be computed from the - /// previous changes for the same actor. - fn change( - &mut self, - actor: &ActorId, - num_new_ops: usize, - parents: &[ChangeHash], - ) -> ChangeHash { - let mut meta = OpSetMetadata::from_actors(self.actors.clone()); - let key = meta.props.cache("key".to_string()); - - let start_op = parents - .iter() - .map(|c| { - self.changes - .iter() - .find(|change| change.hash() == *c) - .unwrap() - .max_op() - }) - .max() - .unwrap_or(0) - + 1; - - let actor_idx = self.index(actor); - let ops = (0..num_new_ops) - .map(|opnum| Op { - id: OpId::new(start_op + opnum as u64, actor_idx), - action: crate::OpType::Put("value".into()), - key: Key::Map(key), - succ: OpIds::empty(), - pred: OpIds::empty(), - insert: false, - }) - .collect::>(); - - let root = ObjId::root(); - let timestamp = SystemTime::now() - .duration_since(UNIX_EPOCH) - .unwrap() - .as_millis() as i64; - let seq = self.seqs_by_actor.entry(actor.clone()).or_insert(1); - let change = Change::new( - ChangeBuilder::new() - .with_dependencies(parents.to_vec()) - .with_start_op(NonZeroU64::new(start_op).unwrap()) - .with_actor(actor.clone()) - .with_seq(*seq) - .with_timestamp(timestamp) - .build(ops.iter().map(|op| op_as_actor_id(&root, op, &meta))) - .unwrap(), - ); - *seq = seq.checked_add(1).unwrap(); - let hash = change.hash(); - self.changes.push(change); - hash - } - - fn build(&self) -> ChangeGraph { - let mut graph = ChangeGraph::new(); - for change in &self.changes { - let actor_idx = self.index(change.actor_id()); - graph.add_change(change, actor_idx).unwrap(); - } - graph - } - } -} diff --git a/rust/automerge/src/clock.rs b/rust/automerge/src/clock.rs deleted file mode 100644 index 64d00fcf..00000000 --- a/rust/automerge/src/clock.rs +++ /dev/null @@ -1,161 +0,0 @@ -use crate::types::OpId; -use fxhash::FxBuildHasher; -use std::{cmp::Ordering, collections::HashMap}; - -#[derive(Default, Debug, Clone, Copy, PartialEq)] -pub(crate) struct ClockData { - /// Maximum operation counter of the actor at the point in time. - pub(crate) max_op: u64, - /// Sequence number of the change from this actor. - pub(crate) seq: u64, -} - -// a clock for the same actor is ahead of another if it has a higher max_op -impl PartialOrd for ClockData { - fn partial_cmp(&self, other: &Self) -> Option { - self.max_op.partial_cmp(&other.max_op) - } -} - -/// Vector clock mapping actor indices to the max op counter of the changes created by that actor. -#[derive(Default, Debug, Clone, PartialEq)] -pub(crate) struct Clock(HashMap); - -// A general clock is greater if it has one element the other does not or has a counter higher than -// the other for a given actor. -// -// It is equal with another clock if it has the same entries everywhere. -// -// It is less than another clock otherwise. -impl PartialOrd for Clock { - fn partial_cmp(&self, other: &Self) -> Option { - if self.0 == other.0 { - Some(Ordering::Equal) - } else if self.is_greater(other) { - Some(Ordering::Greater) - } else if other.is_greater(self) { - Some(Ordering::Less) - } else { - // concurrent - None - } - } -} - -impl Clock { - pub(crate) fn new() -> Self { - Clock(Default::default()) - } - - pub(crate) fn include(&mut self, actor_index: usize, data: ClockData) { - self.0 - .entry(actor_index) - .and_modify(|d| { - if data.max_op > d.max_op { - *d = data; - } - }) - .or_insert(data); - } - - pub(crate) fn covers(&self, id: &OpId) -> bool { - if let Some(data) = self.0.get(&id.actor()) { - data.max_op >= id.counter() - } else { - false - } - } - - /// Get the max_op counter recorded in this clock for the actor. - pub(crate) fn get_for_actor(&self, actor_index: &usize) -> Option<&ClockData> { - self.0.get(actor_index) - } - - fn is_greater(&self, other: &Self) -> bool { - let mut has_greater = false; - - let mut others_found = 0; - - for (actor, data) in &self.0 { - if let Some(other_data) = other.0.get(actor) { - if data < other_data { - // may be concurrent or less - return false; - } else if data > other_data { - has_greater = true; - } - others_found += 1; - } else { - // other doesn't have this so effectively has a greater element - has_greater = true; - } - } - - if has_greater { - // if they are equal then we have seen every key in the other clock and have at least - // one greater element so our clock is greater - // - // If they aren't the same then we haven't seen every key but have a greater element - // anyway so are concurrent - others_found == other.0.len() - } else { - // our clock doesn't have anything greater than the other clock so can't be greater but - // could still be concurrent - false - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn covers() { - let mut clock = Clock::new(); - - clock.include(1, ClockData { max_op: 20, seq: 1 }); - clock.include(2, ClockData { max_op: 10, seq: 2 }); - - assert!(clock.covers(&OpId::new(10, 1))); - assert!(clock.covers(&OpId::new(20, 1))); - assert!(!clock.covers(&OpId::new(30, 1))); - - assert!(clock.covers(&OpId::new(5, 2))); - assert!(clock.covers(&OpId::new(10, 2))); - assert!(!clock.covers(&OpId::new(15, 2))); - - assert!(!clock.covers(&OpId::new(1, 3))); - assert!(!clock.covers(&OpId::new(100, 3))); - } - - #[test] - fn comparison() { - let mut base_clock = Clock::new(); - base_clock.include(1, ClockData { max_op: 1, seq: 1 }); - base_clock.include(2, ClockData { max_op: 1, seq: 1 }); - - let mut after_clock = base_clock.clone(); - after_clock.include(1, ClockData { max_op: 2, seq: 2 }); - - assert!(after_clock > base_clock); - assert!(base_clock < after_clock); - - assert!(base_clock == base_clock); - - let mut new_actor_clock = base_clock.clone(); - new_actor_clock.include(3, ClockData { max_op: 1, seq: 1 }); - - assert_eq!( - base_clock.partial_cmp(&new_actor_clock), - Some(Ordering::Less) - ); - assert_eq!( - new_actor_clock.partial_cmp(&base_clock), - Some(Ordering::Greater) - ); - - assert_eq!(after_clock.partial_cmp(&new_actor_clock), None); - assert_eq!(new_actor_clock.partial_cmp(&after_clock), None); - } -} diff --git a/rust/automerge/src/columnar.rs b/rust/automerge/src/columnar.rs deleted file mode 100644 index bb727626..00000000 --- a/rust/automerge/src/columnar.rs +++ /dev/null @@ -1,14 +0,0 @@ -//! Types for reading data which is stored in a columnar storage format -//! -//! The details of how values are encoded in `encoding`, which exposes a set of "decoder" and -//! "encoder" types. -//! -//! The `column_range` module exposes a set of types - most of which are newtypes over -//! `Range` - which have useful instance methods such as `encode()` to create a new range and -//! `decoder()` to return an iterator of the correct type. -pub(crate) mod column_range; -pub(crate) use column_range::Key; -pub(crate) mod encoding; - -mod splice_error; -pub(crate) use splice_error::SpliceError; diff --git a/rust/automerge/src/columnar/column_range.rs b/rust/automerge/src/columnar/column_range.rs deleted file mode 100644 index 5762ed14..00000000 --- a/rust/automerge/src/columnar/column_range.rs +++ /dev/null @@ -1,21 +0,0 @@ -mod rle; -pub(crate) use rle::RleRange; -mod delta; -pub(crate) use delta::DeltaRange; -mod boolean; -pub(crate) use boolean::BooleanRange; -mod raw; -pub(crate) use raw::RawRange; -mod opid; -pub(crate) use opid::{OpIdEncoder, OpIdIter, OpIdRange}; -mod opid_list; -pub(crate) use opid_list::{OpIdListEncoder, OpIdListIter, OpIdListRange}; -mod deps; -pub(crate) use deps::{DepsIter, DepsRange}; -mod value; -pub(crate) use value::{ValueEncoder, ValueIter, ValueRange}; -pub(crate) mod generic; -mod key; -pub(crate) use key::{Key, KeyEncoder, KeyIter, KeyRange}; -mod obj_id; -pub(crate) use obj_id::{ObjIdEncoder, ObjIdIter, ObjIdRange}; diff --git a/rust/automerge/src/columnar/column_range/boolean.rs b/rust/automerge/src/columnar/column_range/boolean.rs deleted file mode 100644 index 3cefaf0d..00000000 --- a/rust/automerge/src/columnar/column_range/boolean.rs +++ /dev/null @@ -1,40 +0,0 @@ -use std::{borrow::Cow, ops::Range}; - -use crate::columnar::encoding::{BooleanDecoder, BooleanEncoder}; - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct BooleanRange(Range); - -impl BooleanRange { - pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> BooleanDecoder<'a> { - BooleanDecoder::from(Cow::Borrowed(&data[self.0.clone()])) - } - - pub(crate) fn encode>(items: I, out: &mut Vec) -> Self { - let start = out.len(); - let mut encoder = BooleanEncoder::from(out); - for i in items { - encoder.append(i); - } - let (_, len) = encoder.finish(); - (start..(start + len)).into() - } -} - -impl AsRef> for BooleanRange { - fn as_ref(&self) -> &Range { - &self.0 - } -} - -impl From> for BooleanRange { - fn from(r: Range) -> BooleanRange { - BooleanRange(r) - } -} - -impl From for Range { - fn from(r: BooleanRange) -> Range { - r.0 - } -} diff --git a/rust/automerge/src/columnar/column_range/delta.rs b/rust/automerge/src/columnar/column_range/delta.rs deleted file mode 100644 index 9dae43b8..00000000 --- a/rust/automerge/src/columnar/column_range/delta.rs +++ /dev/null @@ -1,152 +0,0 @@ -use std::{borrow::Cow, convert::Infallible, ops::Range}; - -use crate::columnar::{ - encoding::{raw, DeltaDecoder, DeltaEncoder, Sink}, - SpliceError, -}; - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct DeltaRange(Range); - -impl DeltaRange { - pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> DeltaDecoder<'a> { - DeltaDecoder::from(Cow::Borrowed(&data[self.0.clone()])) - } - - pub(crate) fn encoder(&self, output: S) -> DeltaEncoder { - DeltaEncoder::from(output) - } - - pub(crate) fn len(&self) -> usize { - self.0.len() - } - - pub(crate) fn encode>>(items: I, out: &mut Vec) -> Self { - // SAFETY: The incoming iterator is infallible and there are no existing items - Self::from(0..0) - .splice::(&[], 0..0, items.map(Ok), out) - .unwrap() - } - - pub(crate) fn splice, E>>>( - &self, - data: &[u8], - replace: Range, - mut replace_with: I, - out: &mut Vec, - ) -> Result> { - let start = out.len(); - let mut decoder = self.decoder(data); - let mut encoder = self.encoder(out); - let mut idx = 0; - while idx < replace.start { - match decoder - .next() - .transpose() - .map_err(SpliceError::ReadExisting)? - { - Some(elem) => encoder.append(elem), - None => panic!("out of bounds"), - } - idx += 1; - } - for _ in 0..replace.len() { - decoder - .next() - .transpose() - .map_err(SpliceError::ReadExisting)?; - if let Some(next) = replace_with - .next() - .transpose() - .map_err(SpliceError::ReadReplace)? - { - encoder.append(next); - } - } - for next in replace_with { - let next = next.map_err(SpliceError::ReadReplace)?; - encoder.append(next); - } - for next in decoder { - let next = next.map_err(SpliceError::ReadExisting)?; - encoder.append(next); - } - let (_, len) = encoder.finish(); - Ok((start..(start + len)).into()) - } -} - -impl AsRef> for DeltaRange { - fn as_ref(&self) -> &Range { - &self.0 - } -} - -impl From> for DeltaRange { - fn from(r: Range) -> DeltaRange { - DeltaRange(r) - } -} - -impl From for Range { - fn from(r: DeltaRange) -> Range { - r.0 - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::columnar::encoding::properties::option_splice_scenario; - use proptest::prelude::*; - - fn encode>>(vals: I) -> (DeltaRange, Vec) { - let mut buf = Vec::::new(); - let range = DeltaRange::encode(vals, &mut buf); - (range, buf) - } - - fn decode(range: DeltaRange, buf: &[u8]) -> Vec> { - range.decoder(buf).collect::, _>>().unwrap() - } - - fn encodable_int() -> impl Strategy + Clone { - 0..(i64::MAX / 2) - } - - proptest! { - #[test] - fn encode_decode_delta(vals in proptest::collection::vec(proptest::option::of(encodable_int()), 0..100)) { - let (r, encoded) = encode(vals.iter().copied()); - if vals.iter().all(|v| v.is_none()) { - assert_eq!(encoded.len(), 0); - let decoded = decode(r, &encoded); - assert_eq!(Vec::>::new(), decoded) - } else { - let decoded = decode(r, &encoded); - assert_eq!(vals, decoded) - } - } - - #[test] - fn splice_delta(scenario in option_splice_scenario(proptest::option::of(encodable_int()))) { - let (range, encoded) = encode(scenario.initial_values.iter().copied()); - let mut out = Vec::new(); - let replacements: Vec, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect(); - let new_range = range.splice(&encoded, scenario.replace_range.clone(), replacements.into_iter(), &mut out).unwrap(); - let decoded = decode(new_range, &out); - scenario.check_optional(decoded); - } - } - - #[test] - fn bugbug() { - let vals: Vec = vec![6, 5, 8, 9, 10, 11, 12, 13]; - let (r, encoded) = encode(vals.iter().copied().map(Some)); - let decoded = decode(r, &encoded) - .into_iter() - .map(Option::unwrap) - .collect::>(); - assert_eq!(decoded, vals); - } -} diff --git a/rust/automerge/src/columnar/column_range/deps.rs b/rust/automerge/src/columnar/column_range/deps.rs deleted file mode 100644 index 1956acd1..00000000 --- a/rust/automerge/src/columnar/column_range/deps.rs +++ /dev/null @@ -1,123 +0,0 @@ -use super::{DeltaRange, RleRange}; -use crate::columnar::encoding::{DecodeColumnError, DeltaDecoder, RleDecoder}; - -/// A grouped column containing lists of u64s -#[derive(Clone, Debug)] -pub(crate) struct DepsRange { - num: RleRange, - deps: DeltaRange, -} - -impl DepsRange { - pub(crate) fn new(num: RleRange, deps: DeltaRange) -> Self { - Self { num, deps } - } - - pub(crate) fn num_range(&self) -> &RleRange { - &self.num - } - - pub(crate) fn deps_range(&self) -> &DeltaRange { - &self.deps - } - - pub(crate) fn encode(deps: I, out: &mut Vec) -> DepsRange - where - I: Iterator + Clone, - II: IntoIterator + ExactSizeIterator, - { - let num = RleRange::encode(deps.clone().map(|d| Some(d.len() as u64)), out); - let deps = DeltaRange::encode( - deps.flat_map(|d| d.into_iter().map(|d| Some(d as i64))), - out, - ); - DepsRange { num, deps } - } - - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> DepsIter<'a> { - DepsIter { - num: self.num.decoder(data), - deps: self.deps.decoder(data), - } - } -} - -#[derive(Clone)] -pub(crate) struct DepsIter<'a> { - num: RleDecoder<'a, u64>, - deps: DeltaDecoder<'a>, -} - -impl<'a> DepsIter<'a> { - fn try_next(&mut self) -> Result>, DecodeColumnError> { - let num = match self - .num - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("num", e))? - { - Some(Some(n)) => n as usize, - Some(None) => { - return Err(DecodeColumnError::unexpected_null("group")); - } - None => return Ok(None), - }; - // We cannot trust `num` because it is provided over the network, - // but in the common case it will be correct and small (so we - // use with_capacity to make sure the vector is precisely the right - // size). - let mut result = Vec::with_capacity(std::cmp::min(num, 100)); - while result.len() < num { - match self - .deps - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("deps", e))? - { - Some(Some(elem)) => { - let elem = match u64::try_from(elem) { - Ok(e) => e, - Err(e) => { - tracing::error!(err=?e, dep=elem, "error converting dep index to u64"); - return Err(DecodeColumnError::invalid_value( - "deps", - "error converting dep index to u64", - )); - } - }; - result.push(elem); - } - _ => return Err(DecodeColumnError::unexpected_null("deps")), - } - } - Ok(Some(result)) - } -} - -impl<'a> Iterator for DepsIter<'a> { - type Item = Result, DecodeColumnError>; - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} - -#[cfg(test)] -mod tests { - use super::*; - use proptest::collection::vec as propvec; - use proptest::prelude::*; - - fn encodable_u64() -> impl Strategy + Clone { - 0_u64..((i64::MAX / 2) as u64) - } - - proptest! { - #[test] - fn encode_decode_deps(deps in propvec(propvec(encodable_u64(), 0..100), 0..100)) { - let mut out = Vec::new(); - let range = DepsRange::encode(deps.iter().cloned().map(|d| d.into_iter()), &mut out); - let decoded = range.iter(&out).collect::, _>>().unwrap(); - assert_eq!(deps, decoded); - } - } -} diff --git a/rust/automerge/src/columnar/column_range/generic.rs b/rust/automerge/src/columnar/column_range/generic.rs deleted file mode 100644 index 03a0e362..00000000 --- a/rust/automerge/src/columnar/column_range/generic.rs +++ /dev/null @@ -1,91 +0,0 @@ -use std::ops::Range; - -use crate::{columnar::encoding::DecodeColumnError, ScalarValue}; - -use super::{ValueIter, ValueRange}; -mod simple; -use simple::SimpleColIter; -pub(crate) use simple::SimpleColRange; -mod group; -use group::GroupIter; -pub(crate) use group::{GroupRange, GroupedColumnRange}; - -/// A range which can represent any column which is valid with respect to the data model of the -/// column oriented storage format. This is primarily intended to be used in two cases: -/// -/// 1. As an intermediate step when parsing binary storage. We parse the column metadata into -/// GenericColumnRange, then from there into more specific range types. -/// 2. when we encounter a column which we don't expect but which we still need to retain and -/// re-encode when writing new changes. -/// -/// The generic data model is represented by `CellValue`, an iterator over a generic column will -/// produce a `CellValue` for each row in the column. -#[derive(Debug, Clone)] -pub(crate) enum GenericColumnRange { - /// A "simple" column is one which directly corresponds to a single column in the raw format - Simple(SimpleColRange), - /// A value range consists of two columns and produces `ScalarValue`s - Value(ValueRange), - /// A "group" range consists of zero or more grouped columns and produces `CellValue::Group`s - Group(GroupRange), -} - -impl GenericColumnRange { - pub(crate) fn range(&self) -> Range { - match self { - Self::Simple(sc) => sc.range(), - Self::Value(v) => v.range(), - Self::Group(g) => g.range(), - } - } -} - -/// The type of values which can be stored in a generic column -pub(crate) enum CellValue { - /// The contents of a simple column - Simple(SimpleValue), - /// The values in a set of grouped columns - Group(Vec>), -} - -pub(crate) enum SimpleValue { - Uint(Option), - Int(Option), - String(Option), - Bool(bool), - /// The contents of a value metadata and value raw column - Value(ScalarValue), -} - -#[derive(Debug, Clone)] -#[allow(dead_code)] -pub(crate) enum GenericColIter<'a> { - Simple(SimpleColIter<'a>), - Value(ValueIter<'a>), - Group(GroupIter<'a>), -} - -impl<'a> GenericColIter<'a> { - fn try_next(&mut self) -> Result, DecodeColumnError> { - match self { - Self::Simple(s) => s - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("a simple column", e)) - .map(|v| v.map(CellValue::Simple)), - Self::Value(v) => v - .next() - .transpose() - .map(|v| v.map(|v| CellValue::Simple(SimpleValue::Value(v)))), - Self::Group(g) => g.next().transpose(), - } - } -} - -impl<'a> Iterator for GenericColIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} diff --git a/rust/automerge/src/columnar/column_range/generic/group.rs b/rust/automerge/src/columnar/column_range/generic/group.rs deleted file mode 100644 index b1392428..00000000 --- a/rust/automerge/src/columnar/column_range/generic/group.rs +++ /dev/null @@ -1,138 +0,0 @@ -use std::ops::Range; - -use super::{CellValue, SimpleColIter, SimpleColRange, SimpleValue}; -use crate::columnar::{ - column_range::{RleRange, ValueIter, ValueRange}, - encoding::{col_error::DecodeColumnError, RleDecoder}, -}; - -/// A group column range is one with a "num" column and zero or more "grouped" columns. The "num" -/// column contains RLE encoded u64s, each `u64` represents the number of values to read from each -/// of the grouped columns in order to produce a `CellValue::Group` for the current row. -#[derive(Debug, Clone)] -pub(crate) struct GroupRange { - pub(crate) num: RleRange, - pub(crate) values: Vec, -} - -impl GroupRange { - pub(crate) fn new(num: RleRange, values: Vec) -> Self { - Self { num, values } - } - - #[allow(dead_code)] - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> GroupIter<'a> { - GroupIter { - num: self.num.decoder(data), - values: self.values.iter().map(|v| v.iter(data)).collect(), - } - } - - pub(crate) fn range(&self) -> Range { - let start = self.num.start(); - let end = self - .values - .last() - .map(|v| v.range().end) - .unwrap_or_else(|| self.num.end()); - start..end - } -} - -/// The type of ranges which can be the "grouped" columns in a `GroupRange` -#[derive(Debug, Clone)] -pub(crate) enum GroupedColumnRange { - Value(ValueRange), - Simple(SimpleColRange), -} - -impl GroupedColumnRange { - fn iter<'a>(&self, data: &'a [u8]) -> GroupedColIter<'a> { - match self { - Self::Value(vr) => GroupedColIter::Value(vr.iter(data)), - Self::Simple(sc) => GroupedColIter::Simple(sc.iter(data)), - } - } - - pub(crate) fn range(&self) -> Range { - match self { - Self::Value(vr) => vr.range(), - Self::Simple(s) => s.range(), - } - } -} - -#[derive(Debug, Clone)] -pub(crate) struct GroupIter<'a> { - num: RleDecoder<'a, u64>, - values: Vec>, -} - -impl<'a> GroupIter<'a> { - fn try_next(&mut self) -> Result, DecodeColumnError> { - let num = self - .num - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("num", e))?; - match num { - None => Ok(None), - Some(None) => Err(DecodeColumnError::unexpected_null("num")), - Some(Some(num)) => { - let mut row = Vec::new(); - for _ in 0..num { - let mut inner_row = Vec::new(); - for (index, value_col) in self.values.iter_mut().enumerate() { - match value_col.next().transpose()? { - None => { - return Err(DecodeColumnError::unexpected_null(format!( - "col {}", - index - ))) - } - Some(v) => { - inner_row.push(v); - } - } - } - row.push(inner_row); - } - Ok(Some(CellValue::Group(row))) - } - } - } -} - -impl<'a> Iterator for GroupIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} - -#[derive(Debug, Clone)] -enum GroupedColIter<'a> { - Value(ValueIter<'a>), - Simple(SimpleColIter<'a>), -} - -impl<'a> GroupedColIter<'a> { - fn try_next(&mut self) -> Result, DecodeColumnError> { - match self { - Self::Value(viter) => Ok(viter.next().transpose()?.map(SimpleValue::Value)), - Self::Simple(siter) => siter - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("a simple column", e)), - } - } -} - -impl<'a> Iterator for GroupedColIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} diff --git a/rust/automerge/src/columnar/column_range/generic/simple.rs b/rust/automerge/src/columnar/column_range/generic/simple.rs deleted file mode 100644 index 9eb3c177..00000000 --- a/rust/automerge/src/columnar/column_range/generic/simple.rs +++ /dev/null @@ -1,76 +0,0 @@ -use std::ops::Range; - -use crate::columnar::{ - column_range::{BooleanRange, DeltaRange, RleRange}, - encoding::{raw, BooleanDecoder, DeltaDecoder, RleDecoder}, -}; - -use super::SimpleValue; - -/// The four types of "simple" column defined in the raw format -#[derive(Debug, Clone)] -pub(crate) enum SimpleColRange { - /// A column containing RLE encoded u64's - RleInt(RleRange), - /// A column containing RLE encoded strings - RleString(RleRange), - /// A column containing delta -> RLE encoded i64s - Delta(DeltaRange), - /// A column containing boolean values - Boolean(BooleanRange), -} - -impl SimpleColRange { - pub(super) fn iter<'a>(&self, data: &'a [u8]) -> SimpleColIter<'a> { - match self { - Self::RleInt(r) => SimpleColIter::RleInt(r.decoder(data)), - Self::RleString(r) => SimpleColIter::RleString(r.decoder(data)), - Self::Delta(r) => SimpleColIter::Delta(r.decoder(data)), - Self::Boolean(r) => SimpleColIter::Boolean(r.decoder(data)), - } - } - - pub(crate) fn range(&self) -> Range { - match self { - Self::RleInt(r) => r.clone().into(), - Self::RleString(r) => r.clone().into(), - Self::Delta(r) => r.clone().into(), - Self::Boolean(r) => r.clone().into(), - } - } -} - -#[derive(Debug, Clone)] -pub(crate) enum SimpleColIter<'a> { - RleInt(RleDecoder<'a, u64>), - RleString(RleDecoder<'a, smol_str::SmolStr>), - Delta(DeltaDecoder<'a>), - Boolean(BooleanDecoder<'a>), -} - -impl<'a> SimpleColIter<'a> { - fn try_next(&mut self) -> Result, raw::Error> { - match self { - Self::RleInt(d) => read_col(d, SimpleValue::Uint), - Self::RleString(d) => read_col(d, SimpleValue::String), - Self::Delta(d) => read_col(d, SimpleValue::Int), - Self::Boolean(d) => Ok(d.next().transpose()?.map(SimpleValue::Bool)), - } - } -} - -fn read_col(mut col: C, f: F) -> Result, raw::Error> -where - C: Iterator, raw::Error>>, - F: Fn(Option) -> U, -{ - col.next().transpose().map(|v| v.map(f)) -} - -impl<'a> Iterator for SimpleColIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} diff --git a/rust/automerge/src/columnar/column_range/key.rs b/rust/automerge/src/columnar/column_range/key.rs deleted file mode 100644 index 70ea8e1e..00000000 --- a/rust/automerge/src/columnar/column_range/key.rs +++ /dev/null @@ -1,258 +0,0 @@ -use std::{convert::Infallible, ops::Range}; - -use super::{DeltaRange, RleRange}; -use crate::{ - columnar::{ - encoding::{ - raw, DecodeColumnError, DeltaDecoder, DeltaEncoder, RleDecoder, RleEncoder, Sink, - }, - SpliceError, - }, - convert, - types::{ElemId, OpId}, -}; - -#[derive(Clone, Debug, PartialEq)] -pub(crate) enum Key { - Prop(smol_str::SmolStr), - Elem(ElemId), -} - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct KeyRange { - actor: RleRange, - counter: DeltaRange, - string: RleRange, -} - -impl KeyRange { - pub(crate) fn new( - actor: RleRange, - counter: DeltaRange, - string: RleRange, - ) -> Self { - Self { - actor, - counter, - string, - } - } - - pub(crate) fn actor_range(&self) -> &RleRange { - &self.actor - } - - pub(crate) fn counter_range(&self) -> &DeltaRange { - &self.counter - } - - pub(crate) fn string_range(&self) -> &RleRange { - &self.string - } - - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> KeyIter<'a> { - KeyIter { - actor: self.actor.decoder(data), - counter: self.counter.decoder(data), - string: self.string.decoder(data), - } - } - - pub(crate) fn encode<'b, O, I: Iterator> + Clone>( - items: I, - out: &mut Vec, - ) -> Self - where - O: convert::OpId, - { - // SAFETY: The incoming iterator is infallible and there are no existing items - Self { - actor: (0..0).into(), - counter: (0..0).into(), - string: (0..0).into(), - } - .splice::<_, Infallible, _>(&[], 0..0, items.map(Ok), out) - .unwrap() - } - - /// Splice new keys into this set of keys, encoding the resulting actor, counter, and str - /// columns in `out`. - pub(crate) fn splice<'b, O, E, I>( - &mut self, - data: &[u8], - replace: Range, - replace_with: I, - out: &mut Vec, - ) -> Result> - where - O: convert::OpId, - E: std::error::Error, - I: Iterator, E>> + Clone, - { - let actor = self.actor.splice( - data, - replace.clone(), - replace_with.clone().map(|k| { - k.map(|k| match k { - convert::Key::Prop(_) => None, - convert::Key::Elem(convert::ElemId::Head) => None, - convert::Key::Elem(convert::ElemId::Op(o)) => Some(o.actor() as u64), - }) - }), - out, - )?; - - let counter = self.counter.splice( - data, - replace.clone(), - replace_with.clone().map(|k| { - k.map(|k| match k { - convert::Key::Prop(_) => None, - convert::Key::Elem(convert::ElemId::Head) => Some(0), - convert::Key::Elem(convert::ElemId::Op(o)) => Some(o.counter() as i64), - }) - }), - out, - )?; - - let string = self.string.splice( - data, - replace, - replace_with.map(|k| { - k.map(|k| match k { - convert::Key::Prop(s) => Some(s), - convert::Key::Elem(_) => None, - }) - }), - out, - )?; - - Ok(Self { - actor, - counter, - string, - }) - } -} - -#[derive(Clone, Debug)] -pub(crate) struct KeyIter<'a> { - actor: RleDecoder<'a, u64>, - counter: DeltaDecoder<'a>, - string: RleDecoder<'a, smol_str::SmolStr>, -} - -impl<'a> KeyIter<'a> { - fn try_next(&mut self) -> Result, DecodeColumnError> { - let actor = self - .actor - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("actor", e))?; - let counter = self - .counter - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("counter", e))?; - let string = self - .string - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("string", e))?; - match (actor, counter, string) { - (Some(Some(_)), Some(Some(_)), Some(Some(_))) => { - Err(DecodeColumnError::invalid_value("key", "too many values")) - } - (Some(None) | None, Some(None) | None, Some(Some(string))) => { - Ok(Some(Key::Prop(string))) - } - (Some(None) | None, Some(Some(0)), Some(None) | None) => { - Ok(Some(Key::Elem(ElemId(OpId::new(0, 0))))) - } - (Some(Some(actor)), Some(Some(ctr)), Some(None) | None) => match ctr.try_into() { - //Ok(ctr) => Some(Ok(Key::Elem(ElemId(OpId(ctr, actor as usize))))), - Ok(ctr) => Ok(Some(Key::Elem(ElemId(OpId::new(ctr, actor as usize))))), - Err(_) => Err(DecodeColumnError::invalid_value( - "counter", - "negative value for counter", - )), - }, - (None | Some(None), None | Some(None), None | Some(None)) => Ok(None), - (None | Some(None), k, _) => { - tracing::error!(key=?k, "unexpected null actor"); - Err(DecodeColumnError::unexpected_null("actor")) - } - (_, None | Some(None), _) => Err(DecodeColumnError::unexpected_null("counter")), - } - } -} - -impl<'a> Iterator for KeyIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} - -pub(crate) struct KeyEncoder { - actor: RleEncoder, - counter: DeltaEncoder, - string: RleEncoder, -} - -impl KeyEncoder> { - pub(crate) fn new() -> KeyEncoder> { - KeyEncoder { - actor: RleEncoder::new(Vec::new()), - counter: DeltaEncoder::new(Vec::new()), - string: RleEncoder::new(Vec::new()), - } - } - - pub(crate) fn finish(self, out: &mut Vec) -> KeyRange { - let actor_start = out.len(); - let (actor, _) = self.actor.finish(); - out.extend(actor); - let actor_end = out.len(); - - let (counter, _) = self.counter.finish(); - out.extend(counter); - let counter_end = out.len(); - - let (string, _) = self.string.finish(); - out.extend(string); - let string_end = out.len(); - - KeyRange { - actor: (actor_start..actor_end).into(), - counter: (actor_end..counter_end).into(), - string: (counter_end..string_end).into(), - } - } -} - -impl KeyEncoder { - pub(crate) fn append(&mut self, key: convert::Key<'_, O>) - where - O: convert::OpId, - { - match key { - convert::Key::Prop(p) => { - self.string.append_value(p.clone()); - self.actor.append_null(); - self.counter.append_null(); - } - convert::Key::Elem(convert::ElemId::Head) => { - self.string.append_null(); - self.actor.append_null(); - self.counter.append_value(0); - } - convert::Key::Elem(convert::ElemId::Op(o)) => { - self.string.append_null(); - self.actor.append_value(o.actor() as u64); - self.counter.append_value(o.counter() as i64); - } - } - } -} diff --git a/rust/automerge/src/columnar/column_range/obj_id.rs b/rust/automerge/src/columnar/column_range/obj_id.rs deleted file mode 100644 index d282563e..00000000 --- a/rust/automerge/src/columnar/column_range/obj_id.rs +++ /dev/null @@ -1,202 +0,0 @@ -use std::{convert::Infallible, ops::Range}; - -use crate::{ - columnar::{ - encoding::{raw, DecodeColumnError, RleDecoder, RleEncoder, Sink}, - SpliceError, - }, - convert, - types::{ObjId, OpId}, -}; - -use super::RleRange; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct ObjIdRange { - actor: RleRange, - counter: RleRange, -} - -impl ObjIdRange { - pub(crate) fn new(actor: RleRange, counter: RleRange) -> Option { - if actor.is_empty() || counter.is_empty() { - None - } else { - Some(Self { actor, counter }) - } - } - - pub(crate) fn actor_range(&self) -> &RleRange { - &self.actor - } - - pub(crate) fn counter_range(&self) -> &RleRange { - &self.counter - } - - pub(crate) fn encode> + Clone>( - ids: I, - out: &mut Vec, - ) -> Option - where - O: convert::OpId, - { - // SAFETY: the incoming iterator is infallible and there are no existing elements - Self { - actor: (0..0).into(), - counter: (0..0).into(), - } - .splice::<_, Infallible, _>(&[], 0..0, ids.map(Ok), out) - .unwrap() - } - - /// Given some existing columns of object IDs splice a new set of object IDs in with the - /// existing ones - /// - /// Note that this returns `None` if the resulting range is empty (which will only occur if the - /// replace range is larger than the input iterator and `ids` is an empty iterator). - pub(crate) fn splice< - O, - E: std::error::Error, - I: Iterator, E>> + Clone, - >( - &self, - data: &[u8], - replace: Range, - ids: I, - out: &mut Vec, - ) -> Result, SpliceError> - where - O: convert::OpId, - { - let actor = self.actor.splice( - data, - replace.clone(), - ids.clone().map(|id| id.map(encoded_actor)), - out, - )?; - - if actor.is_empty() { - return Ok(None); - } - - let counter = self.counter.splice( - data, - replace, - ids.map(|i| { - i.map(|i| match i { - convert::ObjId::Root => None, - convert::ObjId::Op(o) => Some(o.counter()), - }) - }), - out, - )?; - - Ok(Some(Self { actor, counter })) - } - - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> ObjIdIter<'a> { - ObjIdIter { - actor: self.actor.decoder(data), - counter: self.counter.decoder(data), - } - } -} - -fn encoded_actor(id: convert::ObjId) -> Option -where - O: convert::OpId, -{ - match id { - convert::ObjId::Root => None, - convert::ObjId::Op(o) => Some(o.actor() as u64), - } -} - -#[derive(Clone)] -pub(crate) struct ObjIdIter<'a> { - actor: RleDecoder<'a, u64>, - counter: RleDecoder<'a, u64>, -} - -impl<'a> ObjIdIter<'a> { - fn try_next(&mut self) -> Result, DecodeColumnError> { - let actor = self - .actor - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("actor", e))?; - let counter = self - .counter - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("counter", e))?; - match (actor, counter) { - (None | Some(None), None | Some(None)) => Ok(Some(ObjId::root())), - (Some(Some(a)), Some(Some(c))) => Ok(Some(ObjId(OpId::new(c, a as usize)))), - (_, Some(Some(0))) => Ok(Some(ObjId::root())), - (Some(None) | None, _) => Err(DecodeColumnError::unexpected_null("actor")), - (_, Some(None) | None) => Err(DecodeColumnError::unexpected_null("counter")), - } - } -} - -impl<'a> Iterator for ObjIdIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} - -pub(crate) struct ObjIdEncoder { - actor: RleEncoder, - counter: RleEncoder, -} - -impl ObjIdEncoder { - pub(crate) fn append(&mut self, id: convert::ObjId) - where - O: convert::OpId, - { - match id { - convert::ObjId::Root => { - self.actor.append_null(); - self.counter.append_null(); - } - convert::ObjId::Op(o) => { - self.actor.append_value(o.actor() as u64); - self.counter.append_value(o.counter()); - } - } - } -} - -impl ObjIdEncoder> { - pub(crate) fn new() -> Self { - Self { - actor: RleEncoder::from(Vec::new()), - counter: RleEncoder::from(Vec::new()), - } - } - - pub(crate) fn finish(self, out: &mut Vec) -> Option { - let start = out.len(); - let (actor, _) = self.actor.finish(); - out.extend(actor); - let actor_end = out.len(); - - let (counter, _) = self.counter.finish(); - out.extend(counter); - let counter_end = out.len(); - - if start == counter_end { - None - } else { - Some(ObjIdRange { - actor: (start..actor_end).into(), - counter: (actor_end..counter_end).into(), - }) - } - } -} diff --git a/rust/automerge/src/columnar/column_range/opid.rs b/rust/automerge/src/columnar/column_range/opid.rs deleted file mode 100644 index d2cdce79..00000000 --- a/rust/automerge/src/columnar/column_range/opid.rs +++ /dev/null @@ -1,210 +0,0 @@ -use std::ops::Range; - -use super::{DeltaRange, RleRange}; -use crate::{ - columnar::{ - encoding::{ - raw, DecodeColumnError, DeltaDecoder, DeltaEncoder, RleDecoder, RleEncoder, Sink, - }, - SpliceError, - }, - convert, - types::OpId, -}; - -#[derive(Debug, Clone)] -pub(crate) struct OpIdRange { - actor: RleRange, - counter: DeltaRange, -} - -impl OpIdRange { - pub(crate) fn new(actor: RleRange, counter: DeltaRange) -> Self { - Self { actor, counter } - } - - pub(crate) fn actor_range(&self) -> &RleRange { - &self.actor - } - - pub(crate) fn counter_range(&self) -> &DeltaRange { - &self.counter - } - - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> OpIdIter<'a> { - OpIdIter { - actor: self.actor.decoder(data), - counter: self.counter.decoder(data), - } - } - - pub(crate) fn encode(opids: I, out: &mut Vec) -> Self - where - O: convert::OpId, - I: Iterator + Clone, - { - let actor = RleRange::encode(opids.clone().map(|o| Some(o.actor() as u64)), out); - let counter = DeltaRange::encode(opids.map(|o| Some(o.counter() as i64)), out); - Self { actor, counter } - } - - #[allow(dead_code)] - pub(crate) fn splice( - &self, - data: &[u8], - replace: Range, - replace_with: I, - out: &mut Vec, - ) -> Result> - where - O: convert::OpId, - E: std::error::Error, - I: Iterator> + Clone, - { - let actor = self.actor.splice( - data, - replace.clone(), - replace_with - .clone() - .map(|i| i.map(|i| Some(i.actor() as u64))), - out, - )?; - let counter = self.counter.splice( - data, - replace, - replace_with.map(|i| i.map(|i| Some(i.counter() as i64))), - out, - )?; - Ok(Self { actor, counter }) - } -} - -#[derive(Clone)] -pub(crate) struct OpIdIter<'a> { - actor: RleDecoder<'a, u64>, - counter: DeltaDecoder<'a>, -} - -impl<'a> OpIdIter<'a> { - pub(crate) fn done(&self) -> bool { - self.counter.done() - } -} - -impl<'a> OpIdIter<'a> { - fn try_next(&mut self) -> Result, DecodeColumnError> { - let actor = self - .actor - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("actor", e))?; - let counter = self - .counter - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("counter", e))?; - match (actor, counter) { - (Some(Some(a)), Some(Some(c))) => match u32::try_from(c) { - Ok(c) => Ok(Some(OpId::new(c as u64, a as usize))), - Err(_) => Err(DecodeColumnError::invalid_value( - "counter", - "negative or large value encountered", - )), - }, - (Some(None), _) => Err(DecodeColumnError::unexpected_null("actor")), - (_, Some(None)) => Err(DecodeColumnError::unexpected_null("actor")), - (Some(_), None) => Err(DecodeColumnError::unexpected_null("ctr")), - (None, Some(_)) => Err(DecodeColumnError::unexpected_null("actor")), - (None, None) => Ok(None), - } - } -} - -impl<'a> Iterator for OpIdIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} - -pub(crate) struct OpIdEncoder { - actor: RleEncoder, - counter: DeltaEncoder, -} - -impl OpIdEncoder { - pub(crate) fn append>(&mut self, opid: O) { - self.actor.append_value(opid.actor() as u64); - self.counter.append_value(opid.counter() as i64); - } -} - -impl OpIdEncoder> { - pub(crate) fn new() -> Self { - Self { - actor: RleEncoder::from(Vec::new()), - counter: DeltaEncoder::from(Vec::new()), - } - } - - pub(crate) fn finish(self, out: &mut Vec) -> OpIdRange { - let start = out.len(); - let (actor, _) = self.actor.finish(); - out.extend(actor); - let actor_end = out.len(); - - let (counter, _) = self.counter.finish(); - out.extend(counter); - let counter_end = out.len(); - - OpIdRange { - actor: (start..actor_end).into(), - counter: (actor_end..counter_end).into(), - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::{ - columnar::encoding::properties::{opid, splice_scenario}, - types::OpId, - }; - use proptest::prelude::*; - use std::convert::Infallible; - - fn encode(vals: &[OpId]) -> (Vec, OpIdRange) { - let mut out = Vec::new(); - let r = OpIdRange::encode(vals.iter().copied(), &mut out); - (out, r) - } - - fn decode(buf: &[u8], range: OpIdRange) -> Vec { - range.iter(buf).map(|c| c.unwrap()).collect() - } - - proptest! { - #[test] - fn encode_decode_opid(opids in proptest::collection::vec(opid(), 0..100)) { - let (encoded, range) = encode(&opids); - assert_eq!(opids, decode(&encoded[..], range)); - } - - #[test] - fn splice_opids(scenario in splice_scenario(opid())) { - let (encoded, range) = encode(&scenario.initial_values); - let mut out = Vec::new(); - let replacements: Vec> = scenario.replacements.iter().cloned().map(Ok).collect(); - let new_range = range.splice( - &encoded, - scenario.replace_range.clone(), - replacements.into_iter(), - &mut out - ).unwrap(); - let result = decode(&out[..], new_range); - scenario.check(result); - } - } -} diff --git a/rust/automerge/src/columnar/column_range/opid_list.rs b/rust/automerge/src/columnar/column_range/opid_list.rs deleted file mode 100644 index 6a9c8a38..00000000 --- a/rust/automerge/src/columnar/column_range/opid_list.rs +++ /dev/null @@ -1,329 +0,0 @@ -use std::{convert::Infallible, ops::Range}; - -use super::{DeltaRange, RleRange}; -use crate::{ - columnar::{ - encoding::{ - raw, DecodeColumnError, DeltaDecoder, DeltaEncoder, RleDecoder, RleEncoder, Sink, - }, - SpliceError, - }, - convert, - types::OpId, -}; - -/// A collection of ranges which decode to lists of OpIds -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct OpIdListRange { - num: RleRange, - actor: RleRange, - counter: DeltaRange, -} - -impl OpIdListRange { - pub(crate) fn new(num: RleRange, actor: RleRange, counter: DeltaRange) -> Self { - Self { - num, - actor, - counter, - } - } - - pub(crate) fn group_range(&self) -> &RleRange { - &self.num - } - - pub(crate) fn actor_range(&self) -> &RleRange { - &self.actor - } - - pub(crate) fn counter_range(&self) -> &DeltaRange { - &self.counter - } - - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> OpIdListIter<'a> { - OpIdListIter { - num: self.num.decoder(data), - actor: self.actor.decoder(data), - counter: self.counter.decoder(data), - } - } - - pub(crate) fn encode(opids: I, out: &mut Vec) -> Self - where - O: convert::OpId, - II: IntoIterator, - IE: Iterator + ExactSizeIterator, - I: Iterator + Clone, - { - let num = RleRange::encode( - opids.clone().map(|os| Some(os.into_iter().len() as u64)), - out, - ); - let actor = RleRange::encode( - opids - .clone() - .flat_map(|os| os.into_iter().map(|o| Some(o.actor() as u64))), - out, - ); - let counter = DeltaRange::encode( - opids.flat_map(|os| os.into_iter().map(|o| Some(o.counter() as i64))), - out, - ); - Self { - num, - actor, - counter, - } - } - - #[allow(dead_code)] - pub(crate) fn splice( - &self, - data: &[u8], - replace: Range, - replace_with: I, - out: &mut Vec, - ) -> Result> - where - R: std::error::Error + Clone, - II: IntoIterator, - IE: Iterator + ExactSizeIterator, - I: Iterator> + Clone, - { - let group_replace = group_replace_range(replace.clone(), self.num.decoder(data)) - .map_err(|e| e.existing())?; - let num = self.num.splice( - data, - replace, - replace_with - .clone() - .map(|elems| elems.map(|elems| Some(elems.into_iter().len() as u64))), - out, - )?; - let actor = self.actor.splice( - data, - group_replace.clone(), - replace_with.clone().flat_map(|elem| match elem { - Err(e) => SplicingIter::Failed(e), - Ok(i) => SplicingIter::Iter(i.into_iter(), |oid: OpId| oid.actor() as u64), - }), - out, - )?; - let counter = self.counter.splice( - data, - group_replace, - replace_with.flat_map(|elem| match elem { - Err(e) => SplicingIter::Failed(e), - Ok(i) => SplicingIter::Iter(i.into_iter(), |oid: OpId| oid.counter() as i64), - }), - out, - )?; - Ok(Self { - num, - actor, - counter, - }) - } -} - -enum SplicingIter { - Failed(E), - Iter(I, F), -} - -impl Iterator for SplicingIter -where - E: std::error::Error + Clone, - I: Iterator, - F: Fn(OpId) -> U, -{ - type Item = Result, E>; - - fn next(&mut self) -> Option { - match self { - Self::Failed(e) => Some(Err(e.clone())), - Self::Iter(i, f) => i.next().map(|oid| Ok(Some(f(oid)))), - } - } -} - -/// Find the replace range for the grouped columns. -fn group_replace_range( - replace: Range, - mut num: RleDecoder<'_, u64>, -) -> Result, SpliceError> { - let mut idx = 0; - let mut grouped_replace_start: usize = 0; - let mut grouped_replace_len: usize = 0; - while idx < replace.start { - if let Some(Some(count)) = num.next().transpose().map_err(SpliceError::ReadExisting)? { - grouped_replace_start += count as usize; - } - idx += 1; - } - for _ in 0..replace.len() { - if let Some(Some(count)) = num.next().transpose().map_err(SpliceError::ReadExisting)? { - grouped_replace_len += count as usize; - } - } - Ok(grouped_replace_start..(grouped_replace_start + grouped_replace_len)) -} - -#[derive(Clone)] -pub(crate) struct OpIdListIter<'a> { - num: RleDecoder<'a, u64>, - actor: RleDecoder<'a, u64>, - counter: DeltaDecoder<'a>, -} - -impl<'a> OpIdListIter<'a> { - fn try_next(&mut self) -> Result>, DecodeColumnError> { - let num = match self - .num - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("num", e))? - { - Some(Some(n)) => n, - Some(None) => return Err(DecodeColumnError::unexpected_null("num")), - None => return Ok(None), - }; - - // We cannot trust `num` because it is provided over the network, - // but in the common case it will be correct and small (so we - // use with_capacity to make sure the vector is precisely the right - // size). - let mut p = Vec::with_capacity(std::cmp::min(num, 100) as usize); - for _ in 0..num { - let actor = self - .actor - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("actor", e))?; - let counter = self - .counter - .next() - .transpose() - .map_err(|e| DecodeColumnError::decode_raw("counter", e))?; - match (actor, counter) { - (Some(Some(a)), Some(Some(ctr))) => match ctr.try_into() { - Ok(ctr) => p.push(OpId::new(ctr, a as usize)), - Err(_e) => { - return Err(DecodeColumnError::invalid_value( - "counter", - "negative value for counter", - )) - } - }, - (Some(None) | None, _) => return Err(DecodeColumnError::unexpected_null("actor")), - (_, Some(None) | None) => { - return Err(DecodeColumnError::unexpected_null("counter")) - } - } - } - Ok(Some(p)) - } -} - -impl<'a> Iterator for OpIdListIter<'a> { - type Item = Result, DecodeColumnError>; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} - -pub(crate) struct OpIdListEncoder { - num: RleEncoder, - actor: RleEncoder, - counter: DeltaEncoder, -} - -impl OpIdListEncoder { - pub(crate) fn append(&mut self, ids: I) - where - I: Iterator + ExactSizeIterator, - O: convert::OpId, - { - self.num.append_value(ids.len() as u64); - for id in ids { - self.actor.append_value(id.actor() as u64); - self.counter.append_value(id.counter() as i64); - } - } -} - -impl OpIdListEncoder> { - pub(crate) fn new() -> Self { - Self { - num: RleEncoder::from(Vec::new()), - actor: RleEncoder::from(Vec::new()), - counter: DeltaEncoder::from(Vec::new()), - } - } - - pub(crate) fn finish(self, out: &mut Vec) -> OpIdListRange { - let start = out.len(); - let (num, _) = self.num.finish(); - out.extend(num); - let num_end = out.len(); - - let (actor, _) = self.actor.finish(); - out.extend(actor); - let actor_end = out.len(); - - let (counter, _) = self.counter.finish(); - out.extend(counter); - let counter_end = out.len(); - - OpIdListRange { - num: (start..num_end).into(), - actor: (num_end..actor_end).into(), - counter: (actor_end..counter_end).into(), - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - use proptest::collection::vec as propvec; - use proptest::prelude::*; - - use crate::columnar::encoding::properties::{opid, splice_scenario}; - - fn encode(opids: Vec>) -> (OpIdListRange, Vec) { - let mut out = Vec::new(); - let range = OpIdListRange::encode(opids.iter(), &mut out); - (range, out) - } - - fn decode(range: OpIdListRange, buf: &[u8]) -> Vec> { - range.iter(buf).map(|c| c.unwrap()).collect() - } - - proptest! { - #[test] - fn encode_decode_opid_list(opids in propvec(propvec(opid(), 0..100), 0..100)){ - let (range, encoded) = encode(opids.clone()); - let result = decode(range, &encoded); - assert_eq!(opids, result) - } - - #[test] - fn splice_opid_list(scenario in splice_scenario(propvec(opid(), 0..100))) { - let (range, encoded) = encode(scenario.initial_values.clone()); - let mut out = Vec::new(); - let replacements: Vec, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect(); - let new_range = range.splice( - &encoded, - scenario.replace_range.clone(), - replacements.into_iter(), - &mut out - ).unwrap(); - let result = decode(new_range, &out[..]); - scenario.check(result); - } - } -} diff --git a/rust/automerge/src/columnar/column_range/raw.rs b/rust/automerge/src/columnar/column_range/raw.rs deleted file mode 100644 index 3520a89a..00000000 --- a/rust/automerge/src/columnar/column_range/raw.rs +++ /dev/null @@ -1,38 +0,0 @@ -use std::{borrow::Cow, ops::Range}; - -use crate::columnar::encoding::RawDecoder; - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct RawRange(Range); - -impl RawRange { - pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> RawDecoder<'a> { - RawDecoder::from(Cow::Borrowed(&data[self.0.clone()])) - } - - pub(crate) fn is_empty(&self) -> bool { - self.0.is_empty() - } - - pub(crate) fn end(&self) -> usize { - self.0.end - } -} - -impl AsRef> for RawRange { - fn as_ref(&self) -> &Range { - &self.0 - } -} - -impl From> for RawRange { - fn from(r: Range) -> RawRange { - RawRange(r) - } -} - -impl From for Range { - fn from(r: RawRange) -> Range { - r.0 - } -} diff --git a/rust/automerge/src/columnar/column_range/rle.rs b/rust/automerge/src/columnar/column_range/rle.rs deleted file mode 100644 index c500a7f4..00000000 --- a/rust/automerge/src/columnar/column_range/rle.rs +++ /dev/null @@ -1,216 +0,0 @@ -use std::{ - borrow::{Borrow, Cow}, - fmt::Debug, - marker::PhantomData, - ops::Range, -}; - -use crate::columnar::{ - encoding::{raw, Decodable, Encodable, RleDecoder, RleEncoder, Sink}, - SpliceError, -}; - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct RleRange { - range: Range, - _phantom: PhantomData, -} - -impl RleRange { - pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> RleDecoder<'a, T> { - RleDecoder::from(Cow::Borrowed(&data[self.range.clone()])) - } - - pub(crate) fn is_empty(&self) -> bool { - self.range.is_empty() - } - - pub(crate) fn start(&self) -> usize { - self.range.start - } - - pub(crate) fn end(&self) -> usize { - self.range.end - } -} - -impl RleRange { - /// The semantics of this are similar to `Vec::splice` - /// - /// # Arguments - /// - /// * `data` - The buffer containing the original rows - /// * `replace` - The range of elements in the original collection to replace - /// * `replace_with` - An iterator to insert in place of the original elements. - /// * `out` - The buffer to encode the resulting collection into - pub(crate) fn splice< - 'a, - I: Iterator, E>>, - TB: Borrow + 'a, - E: std::error::Error, - >( - &self, - data: &[u8], - replace: Range, - mut replace_with: I, - out: &mut Vec, - ) -> Result> { - let start = out.len(); - let mut encoder = self.encoder(out); - let mut decoder = self.decoder(data); - let mut idx = 0; - while idx < replace.start { - match decoder - .next() - .transpose() - .map_err(SpliceError::ReadExisting)? - { - Some(elem) => encoder.append(elem.as_ref()), - None => panic!("out of bounds"), - } - idx += 1; - } - for _ in 0..replace.len() { - decoder.next(); - if let Some(next) = replace_with - .next() - .transpose() - .map_err(SpliceError::ReadReplace)? - { - encoder.append(next.as_ref().map(|n| n.borrow())); - } - } - for next in replace_with { - let next = next.map_err(SpliceError::ReadReplace)?; - encoder.append(next.as_ref().map(|n| n.borrow())); - } - for next in decoder { - let next = next.map_err(SpliceError::ReadExisting)?; - encoder.append(next.as_ref()); - } - let (_, len) = encoder.finish(); - let range = start..(start + len); - Ok(range.into()) - } -} - -impl<'a, T: Encodable + Clone + PartialEq + 'a> RleRange { - pub(crate) fn encoder(&self, output: S) -> RleEncoder { - RleEncoder::from(output) - } - - pub(crate) fn encode, I: Iterator>>( - items: I, - out: &mut Vec, - ) -> Self { - let start = out.len(); - let mut encoder = RleEncoder::new(out); - for item in items { - encoder.append(item); - } - let (_, len) = encoder.finish(); - (start..(start + len)).into() - } -} - -impl AsRef> for RleRange { - fn as_ref(&self) -> &Range { - &self.range - } -} - -impl From> for RleRange { - fn from(r: Range) -> RleRange { - RleRange { - range: r, - _phantom: PhantomData, - } - } -} - -impl From> for Range { - fn from(r: RleRange) -> Range { - r.range - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::columnar::encoding::properties::option_splice_scenario; - use proptest::prelude::*; - use std::{borrow::Cow, convert::Infallible}; - - #[test] - fn rle_int_round_trip() { - let vals = [1, 1, 2, 2, 3, 2, 3, 1, 3]; - let mut buf = Vec::with_capacity(vals.len() * 3); - let mut encoder: RleEncoder<_, u64> = RleEncoder::new(&mut buf); - for val in vals { - encoder.append_value(val) - } - let (_, total_slice_len) = encoder.finish(); - let mut decoder: RleDecoder<'_, u64> = - RleDecoder::from(Cow::Borrowed(&buf[0..total_slice_len])); - let mut result = Vec::new(); - while let Some(Some(val)) = decoder.next().transpose().unwrap() { - result.push(val); - } - assert_eq!(result, vals); - } - - #[test] - fn rle_int_insert() { - let vals = [1, 1, 2, 2, 3, 2, 3, 1, 3]; - let mut buf = Vec::with_capacity(vals.len() * 3); - let mut encoder: RleEncoder<_, u64> = RleEncoder::new(&mut buf); - for val in vals.iter().take(4) { - encoder.append_value(val) - } - encoder.append_value(5); - for val in vals.iter().skip(4) { - encoder.append_value(val); - } - let (_, total_slice_len) = encoder.finish(); - let mut decoder: RleDecoder<'_, u64> = - RleDecoder::from(Cow::Borrowed(&buf[0..total_slice_len])); - let mut result = Vec::new(); - while let Some(Some(val)) = decoder.next().transpose().unwrap() { - result.push(val); - } - let expected = [1, 1, 2, 2, 5, 3, 2, 3, 1, 3]; - assert_eq!(result, expected); - } - - fn encode(vals: &[Option]) -> (RleRange, Vec) { - let mut buf = Vec::with_capacity(vals.len() * 3); - let range = RleRange::::encode(vals.iter().map(|v| v.as_ref()), &mut buf); - (range, buf) - } - - fn decode(range: RleRange, buf: &[u8]) -> Vec> { - range.decoder(buf).collect::, _>>().unwrap() - } - - proptest! { - #[test] - fn splice_ints(scenario in option_splice_scenario(any::>())) { - let (range, buf) = encode(&scenario.initial_values); - let mut out = Vec::new(); - let replacements: Vec, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect(); - let new_range = range.splice(&buf, scenario.replace_range.clone(), replacements.into_iter(), &mut out).unwrap(); - let result = decode::(new_range, &out); - scenario.check_optional(result) - } - - #[test] - fn splice_strings(scenario in option_splice_scenario(any::>())) { - let (range, buf) = encode(&scenario.initial_values); - let mut out = Vec::new(); - let replacements: Vec, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect(); - let new_range = range.splice(&buf, scenario.replace_range.clone(), replacements.into_iter(), &mut out).unwrap(); - let result = decode::(new_range, &out); - scenario.check_optional(result) - } - } -} diff --git a/rust/automerge/src/columnar/column_range/value.rs b/rust/automerge/src/columnar/column_range/value.rs deleted file mode 100644 index 03a5aa60..00000000 --- a/rust/automerge/src/columnar/column_range/value.rs +++ /dev/null @@ -1,547 +0,0 @@ -use std::{borrow::Cow, ops::Range}; - -use crate::{ - columnar::{ - encoding::{ - leb128::{lebsize, ulebsize}, - raw, DecodeColumnError, DecodeError, RawBytes, RawDecoder, RawEncoder, RleDecoder, - RleEncoder, Sink, - }, - SpliceError, - }, - storage::parse::{ - leb128::{leb128_i64, leb128_u64}, - Input, ParseResult, - }, - ScalarValue, -}; - -use super::{RawRange, RleRange}; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct ValueRange { - meta: RleRange, - raw: RawRange, -} - -impl ValueRange { - pub(crate) fn new(meta: RleRange, raw: RawRange) -> Self { - Self { meta, raw } - } - - pub(crate) fn range(&self) -> Range { - // This is a hack, instead `raw` should be `Option` - if self.raw.is_empty() { - self.meta.clone().into() - } else { - self.meta.start()..self.raw.end() - } - } - - pub(crate) fn meta_range(&self) -> &RleRange { - &self.meta - } - - pub(crate) fn raw_range(&self) -> &RawRange { - &self.raw - } - - pub(crate) fn encode<'a, 'b, I>(items: I, out: &'b mut Vec) -> Self - where - I: Iterator> + Clone + 'a, - { - Self { - meta: (0..0).into(), - raw: (0..0).into(), - } - .splice(&[], 0..0, items, out) - } - - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> ValueIter<'a> { - ValueIter { - meta: self.meta.decoder(data), - raw: self.raw.decoder(data), - } - } - - pub(crate) fn splice<'b, I>( - &self, - data: &[u8], - replace: Range, - replace_with: I, - out: &mut Vec, - ) -> Self - where - I: Iterator> + Clone, - { - // SAFETY: try_splice fails if either the iterator of replacements fails, or the iterator - // of existing elements fails. But the replacement iterator is infallible and there - // are no existing elements - self.try_splice::<_, ()>(data, replace, replace_with.map(Ok), out) - .unwrap() - } - - pub(crate) fn try_splice<'b, I, E>( - &self, - data: &[u8], - replace: Range, - mut replace_with: I, - out: &mut Vec, - ) -> Result> - where - I: Iterator, E>> + Clone, - { - // Our semantics here are similar to those of Vec::splice. We can describe this - // imperatively like this: - // - // * First copy everything up to the start of `replace` into the output - // * For every index in `replace` skip that index from ourselves and if `replace_with` - // returns `Some` then copy that value to the output - // * Once we have iterated past `replace.end` we continue to call `replace_with` until it - // returns None, copying the results to the output - // * Finally we copy the remainder of our data into the output - // - // However, things are complicated by the fact that our data is stored in two columns. This - // means that we do this in two passes. First we execute the above logic for the metadata - // column. Then we do it all over again for the value column. - - // First pass - metadata - // - // Copy the metadata decoder so we can iterate over it again when we read the values in the - // second pass - let start = out.len(); - let mut meta_copy = self.meta.decoder(data); - let mut meta_out = RleEncoder::<_, u64>::from(&mut *out); - let mut idx = 0; - // Copy everything up to replace.start to the output - while idx < replace.start { - let val = meta_copy - .next() - .transpose() - .map_err(SpliceError::ReadExisting)? - .unwrap_or(None); - meta_out.append(val.as_ref()); - idx += 1; - } - // Now step through replace, skipping our data and inserting the replacement data (if there - // is any) - let mut meta_replace_with = replace_with.clone(); - for _ in 0..replace.len() { - meta_copy.next(); - if let Some(val) = meta_replace_with.next() { - let val = val.map_err(SpliceError::ReadReplace)?; - // Note that we are just constructing metadata values here. - let meta_val = &u64::from(ValueMeta::from(val.as_ref())); - meta_out.append(Some(meta_val)); - } - idx += 1; - } - // Copy any remaining input from the replacments to the output - for val in meta_replace_with { - let val = val.map_err(SpliceError::ReadReplace)?; - let meta_val = &u64::from(ValueMeta::from(val.as_ref())); - meta_out.append(Some(meta_val)); - idx += 1; - } - // Now copy any remaining data we have to the output - while !meta_copy.done() { - let val = meta_copy - .next() - .transpose() - .map_err(SpliceError::ReadExisting)? - .unwrap_or(None); - meta_out.append(val.as_ref()); - } - let (_, meta_len) = meta_out.finish(); - let meta_range = start..(start + meta_len); - - // Second pass, copying the values. For this pass we iterate over ourselves. - // - // - let mut value_range_len = 0; - let mut raw_encoder = RawEncoder::from(out); - let mut iter = self.iter(data); - idx = 0; - // Copy everything up to replace.start to the output - while idx < replace.start { - let val = iter.next().unwrap().unwrap_or(ScalarValue::Null); - value_range_len += encode_val(&mut raw_encoder, &val); - idx += 1; - } - - // Now step through replace, skipping our data and inserting the replacement data (if there - // is any) - for _ in 0..replace.len() { - iter.next(); - if let Some(val) = replace_with.next() { - let val = val.map_err(SpliceError::ReadReplace)?; - value_range_len += encode_val(&mut raw_encoder, val.as_ref()); - } - idx += 1; - } - // Copy any remaining input from the replacments to the output - for val in replace_with { - let val = val.map_err(SpliceError::ReadReplace)?; - value_range_len += encode_val(&mut raw_encoder, val.as_ref()); - idx += 1; - } - // Now copy any remaining data we have to the output - while !iter.done() { - let val = iter.next().unwrap().unwrap_or(ScalarValue::Null); - value_range_len += encode_val(&mut raw_encoder, &val); - } - - let value_range = meta_range.end..(meta_range.end + value_range_len); - - Ok(Self { - meta: meta_range.into(), - raw: value_range.into(), - }) - } -} - -#[derive(Debug, Clone)] -pub(crate) struct ValueIter<'a> { - meta: RleDecoder<'a, u64>, - raw: RawDecoder<'a>, -} - -impl<'a> Iterator for ValueIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - let next = match self.meta.next().transpose() { - Ok(n) => n, - Err(e) => return Some(Err(DecodeColumnError::decode_raw("meta", e))), - }; - match next { - Some(Some(next)) => { - let val_meta = ValueMeta::from(next); - #[allow(clippy::redundant_slicing)] - match val_meta.type_code() { - ValueType::Null => Some(Ok(ScalarValue::Null)), - ValueType::True => Some(Ok(ScalarValue::Boolean(true))), - ValueType::False => Some(Ok(ScalarValue::Boolean(false))), - ValueType::Uleb => self.parse_input(val_meta, leb128_u64), - ValueType::Leb => self.parse_input(val_meta, leb128_i64), - ValueType::String => self.parse_raw(val_meta, |bytes| { - let val = std::str::from_utf8(bytes) - .map_err(|e| DecodeColumnError::invalid_value("value", e.to_string()))? - .into(); - Ok(ScalarValue::Str(val)) - }), - ValueType::Float => self.parse_raw(val_meta, |bytes| { - if val_meta.length() != 8 { - return Err(DecodeColumnError::invalid_value( - "value", - format!("float should have length 8, had {0}", val_meta.length()), - )); - } - let raw: [u8; 8] = bytes - .try_into() - // SAFETY: parse_raw() calls read_bytes(val_meta.length()) and we have - // checked that val_meta.length() == 8 - .unwrap(); - let val = f64::from_le_bytes(raw); - Ok(ScalarValue::F64(val)) - }), - ValueType::Counter => self.parse_input(val_meta, |input| { - leb128_i64(input).map(|(i, n)| (i, ScalarValue::Counter(n.into()))) - }), - ValueType::Timestamp => self.parse_input(val_meta, |input| { - leb128_i64(input).map(|(i, n)| (i, ScalarValue::Timestamp(n))) - }), - ValueType::Unknown(code) => self.parse_raw(val_meta, |bytes| { - Ok(ScalarValue::Unknown { - type_code: code, - bytes: bytes.to_vec(), - }) - }), - ValueType::Bytes => match self.raw.read_bytes(val_meta.length()) { - Err(e) => Some(Err(DecodeColumnError::invalid_value( - "value", - e.to_string(), - ))), - Ok(bytes) => Some(Ok(ScalarValue::Bytes(bytes.to_vec()))), - }, - } - } - Some(None) => Some(Err(DecodeColumnError::unexpected_null("meta"))), - None => None, - } - } -} - -impl<'a> ValueIter<'a> { - fn parse_raw<'b, R, F: Fn(&'b [u8]) -> Result>( - &'b mut self, - meta: ValueMeta, - f: F, - ) -> Option> { - let raw = match self.raw.read_bytes(meta.length()) { - Err(e) => { - return Some(Err(DecodeColumnError::invalid_value( - "value", - e.to_string(), - ))) - } - Ok(bytes) => bytes, - }; - Some(f(raw)) - } - - fn parse_input<'b, R, F: Fn(Input<'b>) -> ParseResult<'b, R, DecodeError>>( - &'b mut self, - meta: ValueMeta, - f: F, - ) -> Option> - where - R: Into, - { - self.parse_raw(meta, |raw| match f(Input::new(raw)) { - Err(e) => Err(DecodeColumnError::invalid_value("value", e.to_string())), - Ok((i, _)) if !i.is_empty() => { - Err(DecodeColumnError::invalid_value("value", "extra bytes")) - } - Ok((_, v)) => Ok(v.into()), - }) - } - - pub(crate) fn done(&self) -> bool { - self.meta.done() - } -} - -/// Appends values row-wise. That is to say, this struct manages two separate chunks of memory, one -/// for the value metadata and one for the raw values. To use it, create a new encoder using -/// `ValueEncoder::new`, sequentially append values using `ValueEncoder::append`, and finallly -/// concatenate the two columns and append them to a buffer returning the range within the output -/// buffer which contains the concatenated columns using `ValueEncoder::finish`. -pub(crate) struct ValueEncoder { - meta: RleEncoder, - raw: RawEncoder, -} - -impl ValueEncoder { - pub(crate) fn append(&mut self, value: &ScalarValue) { - let meta_val = &u64::from(ValueMeta::from(value)); - self.meta.append_value(meta_val); - encode_val(&mut self.raw, value); - } -} - -impl ValueEncoder> { - pub(crate) fn new() -> Self { - Self { - meta: RleEncoder::new(Vec::new()), - raw: RawEncoder::from(Vec::new()), - } - } - pub(crate) fn finish(self, out: &mut Vec) -> ValueRange { - let meta_start = out.len(); - let (meta, _) = self.meta.finish(); - out.extend(meta); - let meta_end = out.len(); - - let (val, _) = self.raw.finish(); - out.extend(val); - let val_end = out.len(); - ValueRange { - meta: (meta_start..meta_end).into(), - raw: (meta_end..val_end).into(), - } - } -} - -fn encode_val(out: &mut RawEncoder, val: &ScalarValue) -> usize { - match val { - ScalarValue::Uint(i) => out.append(*i), - ScalarValue::Int(i) => out.append(*i), - ScalarValue::Null => 0, - ScalarValue::Boolean(_) => 0, - ScalarValue::Timestamp(i) => out.append(*i), - ScalarValue::F64(f) => out.append(*f), - ScalarValue::Counter(i) => out.append(i.start), - ScalarValue::Str(s) => out.append(RawBytes::from(s.as_bytes())), - ScalarValue::Bytes(b) => out.append(RawBytes::from(&b[..])), - ScalarValue::Unknown { bytes, .. } => out.append(RawBytes::from(&bytes[..])), - } -} - -#[derive(Debug)] -enum ValueType { - Null, - False, - True, - Uleb, - Leb, - Float, - String, - Bytes, - Counter, - Timestamp, - Unknown(u8), -} - -#[derive(Copy, Clone)] -struct ValueMeta(u64); - -impl ValueMeta { - fn type_code(&self) -> ValueType { - let low_byte = (self.0 as u8) & 0b00001111; - match low_byte { - 0 => ValueType::Null, - 1 => ValueType::False, - 2 => ValueType::True, - 3 => ValueType::Uleb, - 4 => ValueType::Leb, - 5 => ValueType::Float, - 6 => ValueType::String, - 7 => ValueType::Bytes, - 8 => ValueType::Counter, - 9 => ValueType::Timestamp, - other => ValueType::Unknown(other), - } - } - - fn length(&self) -> usize { - (self.0 >> 4) as usize - } -} - -impl From<&ScalarValue> for ValueMeta { - fn from(p: &ScalarValue) -> Self { - match p { - ScalarValue::Uint(i) => Self((ulebsize(*i) << 4) | 3), - ScalarValue::Int(i) => Self((lebsize(*i) << 4) | 4), - ScalarValue::Null => Self(0), - ScalarValue::Boolean(b) => Self(match b { - false => 1, - true => 2, - }), - ScalarValue::Timestamp(i) => Self((lebsize(*i) << 4) | 9), - ScalarValue::F64(_) => Self((8 << 4) | 5), - ScalarValue::Counter(i) => Self((lebsize(i.start) << 4) | 8), - ScalarValue::Str(s) => Self(((s.as_bytes().len() as u64) << 4) | 6), - ScalarValue::Bytes(b) => Self(((b.len() as u64) << 4) | 7), - ScalarValue::Unknown { type_code, bytes } => { - Self(((bytes.len() as u64) << 4) | (*type_code as u64)) - } - } - } -} - -impl From for ValueMeta { - fn from(raw: u64) -> Self { - ValueMeta(raw) - } -} - -impl From for u64 { - fn from(v: ValueMeta) -> Self { - v.0 - } -} - -impl From<&ScalarValue> for ValueType { - fn from(p: &ScalarValue) -> Self { - match p { - ScalarValue::Uint(_) => ValueType::Uleb, - ScalarValue::Int(_) => ValueType::Leb, - ScalarValue::Null => ValueType::Null, - ScalarValue::Boolean(b) => match b { - true => ValueType::True, - false => ValueType::False, - }, - ScalarValue::Timestamp(_) => ValueType::Timestamp, - ScalarValue::F64(_) => ValueType::Float, - ScalarValue::Counter(_) => ValueType::Counter, - ScalarValue::Str(_) => ValueType::String, - ScalarValue::Bytes(_) => ValueType::Bytes, - ScalarValue::Unknown { type_code, .. } => ValueType::Unknown(*type_code), - } - } -} - -impl From for u64 { - fn from(v: ValueType) -> Self { - match v { - ValueType::Null => 0, - ValueType::False => 1, - ValueType::True => 2, - ValueType::Uleb => 3, - ValueType::Leb => 4, - ValueType::Float => 5, - ValueType::String => 6, - ValueType::Bytes => 7, - ValueType::Counter => 8, - ValueType::Timestamp => 9, - ValueType::Unknown(other) => other as u64, - } - } -} -#[cfg(test)] -mod tests { - use super::*; - use crate::columnar::encoding::properties::{scalar_value, splice_scenario}; - use proptest::prelude::*; - use std::borrow::Cow; - - fn encode_values(vals: &[ScalarValue]) -> (Vec, ValueRange) { - let mut out = Vec::new(); - let range = ValueRange::encode(vals.iter().cloned().map(Cow::Owned), &mut out); - (out, range) - } - - fn encode_rowwise(vals: &[ScalarValue]) -> (Vec, ValueRange) { - let mut out = Vec::new(); - let mut encoder = ValueEncoder::new(); - for val in vals { - encoder.append(val); - } - let range = encoder.finish(&mut out); - (out, range) - } - - proptest! { - #[test] - fn test_initialize_splice(values in proptest::collection::vec(scalar_value(), 0..100)) { - let (out, range) = encode_values(&values[..]); - let testvals = range.iter(&out).collect::, _>>().unwrap(); - assert_eq!(values, testvals); - } - - #[test] - fn test_splice_values(scenario in splice_scenario(scalar_value())){ - let (out, range) = encode_values(&scenario.initial_values); - let mut spliced = Vec::new(); - let new_range = range - .splice( - &out, - scenario.replace_range.clone(), - scenario.replacements.clone().into_iter().map(Cow::Owned), - &mut spliced, - ); - let result_values = new_range.iter(&spliced).collect::, _>>().unwrap(); - let mut expected: Vec<_> = scenario.initial_values.clone(); - expected.splice(scenario.replace_range, scenario.replacements); - assert_eq!(result_values, expected); - } - - #[test] - fn encode_row_wise_and_columnwise_equal(values in proptest::collection::vec(scalar_value(), 0..50)) { - let (colwise, col_range) = encode_values(&values[..]); - let (rowwise, row_range) = encode_rowwise(&values[..]); - assert_eq!(colwise, rowwise); - assert_eq!(col_range, row_range); - } - } - - #[test] - fn test_value_uleb() { - let vals = [ScalarValue::Uint(127), ScalarValue::Uint(183)]; - let (out, range) = encode_values(&vals); - let result = range.iter(&out).collect::, _>>().unwrap(); - assert_eq!(result, vals); - } -} diff --git a/rust/automerge/src/columnar/encoding.rs b/rust/automerge/src/columnar/encoding.rs deleted file mode 100644 index c9435448..00000000 --- a/rust/automerge/src/columnar/encoding.rs +++ /dev/null @@ -1,65 +0,0 @@ -pub(crate) mod raw; - -pub(crate) use raw::{RawDecoder, RawEncoder}; -mod rle; -pub(crate) use rle::{RleDecoder, RleEncoder}; -mod boolean; -pub(crate) use boolean::{BooleanDecoder, BooleanEncoder}; -mod delta; -pub(crate) use delta::{DeltaDecoder, DeltaEncoder}; -pub(crate) mod leb128; - -pub(crate) mod column_decoder; -pub(crate) use column_decoder::ColumnDecoder; - -#[cfg(test)] -pub(crate) mod properties; - -pub(crate) trait Sink { - fn append(&mut self, bytes: &[u8]); -} - -impl<'a> Sink for &'a mut Vec { - fn append(&mut self, bytes: &[u8]) { - self.extend(bytes) - } -} - -impl Sink for Vec { - fn append(&mut self, bytes: &[u8]) { - self.extend(bytes) - } -} - -pub(crate) trait Encodable { - fn encode(&self, out: &mut S) -> usize; -} - -mod encodable_impls; -pub(crate) use encodable_impls::RawBytes; - -#[derive(thiserror::Error, Debug)] -pub(crate) enum DecodeError { - #[error(transparent)] - Io(#[from] std::io::Error), - #[error("invalid integer")] - FromInt(#[from] std::num::TryFromIntError), - #[error("bad leb128")] - BadLeb(#[from] ::leb128::read::Error), - #[error(transparent)] - BadLeb128(#[from] crate::storage::parse::leb128::Error), - #[error("attempted to allocate {attempted} which is larger than the maximum of {maximum}")] - OverlargeAllocation { attempted: usize, maximum: usize }, - #[error("invalid string encoding")] - BadString, -} - -pub(crate) trait Decodable: Sized { - fn decode(bytes: &mut R) -> Result - where - R: std::io::Read; -} -mod decodable_impls; - -pub(crate) mod col_error; -pub(crate) use col_error::DecodeColumnError; diff --git a/rust/automerge/src/columnar/encoding/boolean.rs b/rust/automerge/src/columnar/encoding/boolean.rs deleted file mode 100644 index 26cb1838..00000000 --- a/rust/automerge/src/columnar/encoding/boolean.rs +++ /dev/null @@ -1,131 +0,0 @@ -use std::borrow::Cow; - -use super::{raw, Encodable, RawDecoder, Sink}; - -/// Encodes booleans by storing the count of the same value. -/// -/// The sequence of numbers describes the count of false values on even indices (0-indexed) and the -/// count of true values on odd indices (0-indexed). -/// -/// Counts are encoded as usize. -pub(crate) struct BooleanEncoder { - written: usize, - //buf: &'a mut Vec, - buf: S, - last: bool, - count: usize, -} - -impl BooleanEncoder> { - pub(crate) fn new() -> BooleanEncoder> { - BooleanEncoder::from_sink(Vec::new()) - } -} - -impl BooleanEncoder { - pub(crate) fn from_sink(sink: S) -> Self { - BooleanEncoder { - written: 0, - buf: sink, - last: false, - count: 0, - } - } - - pub(crate) fn append(&mut self, value: bool) { - if value == self.last { - self.count += 1; - } else { - self.written += self.count.encode(&mut self.buf); - self.last = value; - self.count = 1; - } - } - - pub(crate) fn finish(mut self) -> (S, usize) { - if self.count > 0 { - self.written += self.count.encode(&mut self.buf); - } - (self.buf, self.written) - } -} - -impl From for BooleanEncoder { - fn from(output: S) -> Self { - BooleanEncoder::from_sink(output) - } -} - -/// See the discussion of [`BooleanEncoder`] for details on this encoding -#[derive(Clone, Debug)] -pub(crate) struct BooleanDecoder<'a> { - decoder: RawDecoder<'a>, - last_value: bool, - count: usize, -} - -impl<'a> From> for BooleanDecoder<'a> { - fn from(bytes: Cow<'a, [u8]>) -> Self { - BooleanDecoder { - decoder: RawDecoder::from(bytes), - last_value: true, - count: 0, - } - } -} - -impl<'a> From<&'a [u8]> for BooleanDecoder<'a> { - fn from(d: &'a [u8]) -> Self { - Cow::Borrowed(d).into() - } -} - -// this is an endless iterator that returns false after input is exhausted -impl<'a> Iterator for BooleanDecoder<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - while self.count == 0 { - if self.decoder.done() && self.count == 0 { - return None; - } - self.count = match self.decoder.read() { - Ok(c) => c, - Err(e) => return Some(Err(e)), - }; - self.last_value = !self.last_value; - } - self.count -= 1; - Some(Ok(self.last_value)) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - use proptest::prelude::*; - - fn encode(vals: &[bool]) -> Vec { - let mut buf = Vec::new(); - let mut encoder = BooleanEncoder::from_sink(&mut buf); - for val in vals { - encoder.append(*val); - } - encoder.finish(); - buf - } - - fn decode(buf: &[u8]) -> Vec { - BooleanDecoder::from(buf) - .collect::, _>>() - .unwrap() - } - - proptest! { - #[test] - fn encode_decode_bools(vals in proptest::collection::vec(any::(), 0..100)) { - assert_eq!(vals, decode(&encode(&vals))) - } - } -} diff --git a/rust/automerge/src/columnar/encoding/col_error.rs b/rust/automerge/src/columnar/encoding/col_error.rs deleted file mode 100644 index 089556b6..00000000 --- a/rust/automerge/src/columnar/encoding/col_error.rs +++ /dev/null @@ -1,88 +0,0 @@ -#[derive(Clone, Debug)] -pub struct DecodeColumnError { - path: Path, - error: DecodeColErrorKind, -} - -impl std::error::Error for DecodeColumnError {} - -impl std::fmt::Display for DecodeColumnError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match &self.error { - DecodeColErrorKind::UnexpectedNull => { - write!(f, "unexpected null in column {}", self.path) - } - DecodeColErrorKind::InvalidValue { reason } => { - write!(f, "invalid value in column {}: {}", self.path, reason) - } - } - } -} - -#[derive(Clone, Debug)] -struct Path(Vec); - -impl std::fmt::Display for Path { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - for (index, elem) in self.0.iter().rev().enumerate() { - if index != 0 { - write!(f, ":")?; - } - write!(f, "{}", elem)?; - } - Ok(()) - } -} - -impl Path { - fn push>(&mut self, col: S) { - self.0.push(col.as_ref().to_string()) - } -} - -impl> From for Path { - fn from(p: S) -> Self { - Self(vec![p.as_ref().to_string()]) - } -} - -#[derive(Clone, Debug)] -enum DecodeColErrorKind { - UnexpectedNull, - InvalidValue { reason: String }, -} - -impl DecodeColumnError { - pub(crate) fn decode_raw>(col: S, raw_err: super::raw::Error) -> Self { - Self { - path: col.into(), - error: DecodeColErrorKind::InvalidValue { - reason: raw_err.to_string(), - }, - } - } - - pub(crate) fn unexpected_null>(col: S) -> DecodeColumnError { - Self { - path: col.into(), - error: DecodeColErrorKind::UnexpectedNull, - } - } - - pub(crate) fn invalid_value, R: AsRef>( - col: S, - reason: R, - ) -> DecodeColumnError { - Self { - path: col.into(), - error: DecodeColErrorKind::InvalidValue { - reason: reason.as_ref().to_string(), - }, - } - } - - pub(crate) fn in_column>(mut self, col: S) -> DecodeColumnError { - self.path.push(col.as_ref()); - self - } -} diff --git a/rust/automerge/src/columnar/encoding/column_decoder.rs b/rust/automerge/src/columnar/encoding/column_decoder.rs deleted file mode 100644 index 8e3237fb..00000000 --- a/rust/automerge/src/columnar/encoding/column_decoder.rs +++ /dev/null @@ -1,157 +0,0 @@ -use crate::{ - columnar::{ - column_range::{DepsIter, KeyIter, ObjIdIter, OpIdIter, OpIdListIter, ValueIter}, - encoding, Key, - }, - types::{ObjId, OpId}, - ScalarValue, -}; - -pub(crate) trait IntoColError: std::error::Error { - fn into_col_error>(self, col_name: S) -> encoding::DecodeColumnError; -} - -impl IntoColError for encoding::raw::Error { - fn into_col_error>(self, col_name: S) -> encoding::DecodeColumnError { - encoding::DecodeColumnError::decode_raw(col_name, self) - } -} - -impl IntoColError for encoding::DecodeColumnError { - fn into_col_error>(self, col_name: S) -> encoding::DecodeColumnError { - self.in_column(col_name) - } -} - -/// A helper trait which allows users to annotate decoders with errors containing a column name -/// -/// Frequently we have an iterator which decodes values from some underlying column storage, e.g. -/// we might have a `BooleanDecoder` which decodes items from an `insert` column. In the context -/// where we are reading from this column we would like to produce errors which describe which -/// column the error occurred in - to this end we require that the error produced by the underlying -/// decoder implement `IntoColError` and we provide the `next_in_col` method to call -/// `into_col_error` on any errors produced by the decoder. -pub(crate) trait ColumnDecoder: Iterator> { - type Error: IntoColError; - type Value; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError>; - - /// Decode the next value from this decoder, annotating any error with the `col_name` - fn next_in_col>( - &mut self, - col_name: S, - ) -> Result { - self.maybe_next_in_col(&col_name)? - .ok_or_else(|| encoding::DecodeColumnError::unexpected_null(col_name)) - } -} - -impl<'a> ColumnDecoder for encoding::BooleanDecoder<'a> { - type Error = encoding::raw::Error; - type Value = bool; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError> { - self.next() - .transpose() - .map_err(|e| e.into_col_error(col_name)) - } -} - -impl ColumnDecoder> for I -where - I: Iterator, E>>, - E: IntoColError, -{ - type Error = E; - type Value = T; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError> { - Ok(self - .next() - .transpose() - .map_err(|e| e.into_col_error(col_name))? - .flatten()) - } -} - -impl<'a> ColumnDecoder> for OpIdListIter<'a> { - type Error = encoding::DecodeColumnError; - type Value = Vec; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result>, encoding::DecodeColumnError> { - self.next().transpose().map_err(|e| e.in_column(col_name)) - } -} - -impl<'a> ColumnDecoder for ValueIter<'a> { - type Error = encoding::DecodeColumnError; - type Value = ScalarValue; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError> { - self.next().transpose().map_err(|e| e.in_column(col_name)) - } -} - -impl<'a> ColumnDecoder for KeyIter<'a> { - type Error = encoding::DecodeColumnError; - type Value = Key; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError> { - self.next().transpose().map_err(|e| e.in_column(col_name)) - } -} - -impl<'a> ColumnDecoder for ObjIdIter<'a> { - type Value = ObjId; - type Error = encoding::DecodeColumnError; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError> { - self.next().transpose().map_err(|e| e.in_column(col_name)) - } -} - -impl<'a> ColumnDecoder for OpIdIter<'a> { - type Value = OpId; - type Error = encoding::DecodeColumnError; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError> { - self.next().transpose().map_err(|e| e.in_column(col_name)) - } -} - -impl<'a> ColumnDecoder> for DepsIter<'a> { - type Value = Vec; - type Error = encoding::DecodeColumnError; - - fn maybe_next_in_col>( - &mut self, - col_name: S, - ) -> Result, encoding::DecodeColumnError> { - self.next().transpose().map_err(|e| e.in_column(col_name)) - } -} diff --git a/rust/automerge/src/columnar/encoding/decodable_impls.rs b/rust/automerge/src/columnar/encoding/decodable_impls.rs deleted file mode 100644 index 26425f15..00000000 --- a/rust/automerge/src/columnar/encoding/decodable_impls.rs +++ /dev/null @@ -1,175 +0,0 @@ -use smol_str::SmolStr; -use std::{borrow::Cow, convert::TryFrom, io::Read, str}; - -use super::{Decodable, DecodeError}; -use crate::ActorId; - -// We don't allow decoding items which are larger than this. Almost nothing should be this large -// so this is really guarding against bad encodings which accidentally grab loads of memory -const MAX_ALLOCATION: usize = 1000000000; - -impl Decodable for u8 { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let mut buffer = [0; 1]; - bytes.read_exact(&mut buffer)?; - Ok(buffer[0]) - } -} - -impl Decodable for u32 { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - u64::decode::(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from)) - } -} - -impl Decodable for usize { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - u64::decode::(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from)) - } -} - -impl Decodable for isize { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - i64::decode::(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from)) - } -} - -impl Decodable for i32 { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - i64::decode::(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from)) - } -} - -impl Decodable for i64 { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - leb128::read::signed(bytes).map_err(DecodeError::from) - } -} - -impl Decodable for f64 { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let mut buffer = [0; 8]; - bytes.read_exact(&mut buffer)?; - Ok(Self::from_le_bytes(buffer)) - } -} - -impl Decodable for f32 { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let mut buffer = [0; 4]; - bytes.read_exact(&mut buffer)?; - Ok(Self::from_le_bytes(buffer)) - } -} - -impl Decodable for u64 { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - leb128::read::unsigned(bytes).map_err(DecodeError::from) - } -} - -impl Decodable for Vec { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let len = usize::decode::(bytes)?; - if len == 0 { - return Ok(vec![]); - } - if len > MAX_ALLOCATION { - return Err(DecodeError::OverlargeAllocation { - attempted: len, - maximum: MAX_ALLOCATION, - }); - } - let mut buffer = vec![0; len]; - bytes.read_exact(buffer.as_mut_slice())?; - Ok(buffer) - } -} - -impl Decodable for SmolStr { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - str::from_utf8(&buffer) - .map(|t| t.into()) - .map_err(|_| DecodeError::BadString) - } -} - -impl Decodable for Cow<'static, SmolStr> { - fn decode(bytes: &mut R) -> Result - where - R: std::io::Read, - { - SmolStr::decode(bytes).map(Cow::Owned) - } -} - -impl Decodable for String { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - str::from_utf8(&buffer) - .map(|t| t.into()) - .map_err(|_| DecodeError::BadString) - } -} - -impl Decodable for Option { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - if buffer.is_empty() { - return Ok(None); - } - str::from_utf8(&buffer) - .map(|t| Some(t.into())) - .map_err(|_| DecodeError::BadString) - } -} - -impl Decodable for ActorId { - fn decode(bytes: &mut R) -> Result - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - Ok(buffer.into()) - } -} diff --git a/rust/automerge/src/columnar/encoding/delta.rs b/rust/automerge/src/columnar/encoding/delta.rs deleted file mode 100644 index 6234875b..00000000 --- a/rust/automerge/src/columnar/encoding/delta.rs +++ /dev/null @@ -1,95 +0,0 @@ -use std::borrow::Cow; - -use super::{raw, RleDecoder, RleEncoder, Sink}; - -/// Encodes integers as the change since the previous value. -/// -/// The initial value is 0 encoded as u64. Deltas are encoded as i64. -/// -/// Run length encoding is then applied to the resulting sequence. -pub(crate) struct DeltaEncoder { - rle: RleEncoder, - absolute_value: i64, -} - -impl DeltaEncoder { - pub(crate) fn new(output: S) -> DeltaEncoder { - DeltaEncoder { - rle: RleEncoder::new(output), - absolute_value: 0, - } - } - - pub(crate) fn append_value(&mut self, value: i64) { - self.rle - .append_value(value.saturating_sub(self.absolute_value)); - self.absolute_value = value; - } - - pub(crate) fn append_null(&mut self) { - self.rle.append_null(); - } - - pub(crate) fn append(&mut self, val: Option) { - match val { - Some(v) => self.append_value(v), - None => self.append_null(), - } - } - - pub(crate) fn finish(self) -> (S, usize) { - self.rle.finish() - } -} - -impl From for DeltaEncoder { - fn from(output: S) -> Self { - DeltaEncoder::new(output) - } -} - -/// See discussion on [`DeltaEncoder`] for the format data is stored in. -#[derive(Debug, Clone)] -pub(crate) struct DeltaDecoder<'a> { - rle: RleDecoder<'a, i64>, - absolute_val: i64, -} - -impl<'a> DeltaDecoder<'a> { - pub(crate) fn done(&self) -> bool { - self.rle.done() - } -} - -impl<'a> From> for DeltaDecoder<'a> { - fn from(bytes: Cow<'a, [u8]>) -> Self { - DeltaDecoder { - rle: RleDecoder::from(bytes), - absolute_val: 0, - } - } -} - -impl<'a> From<&'a [u8]> for DeltaDecoder<'a> { - fn from(d: &'a [u8]) -> Self { - Cow::Borrowed(d).into() - } -} - -impl<'a> Iterator for DeltaDecoder<'a> { - type Item = Result, raw::Error>; - - fn next(&mut self) -> Option { - match self.rle.next() { - Some(Ok(next)) => match next { - Some(delta) => { - self.absolute_val = self.absolute_val.saturating_add(delta); - Some(Ok(Some(self.absolute_val))) - } - None => Some(Ok(None)), - }, - Some(Err(e)) => Some(Err(e)), - None => None, - } - } -} diff --git a/rust/automerge/src/columnar/encoding/encodable_impls.rs b/rust/automerge/src/columnar/encoding/encodable_impls.rs deleted file mode 100644 index a1b5d8ce..00000000 --- a/rust/automerge/src/columnar/encoding/encodable_impls.rs +++ /dev/null @@ -1,200 +0,0 @@ -use super::{Encodable, Sink}; - -use std::borrow::Cow; - -use smol_str::SmolStr; - -/// Encodes bytes without a length prefix -pub(crate) struct RawBytes<'a>(Cow<'a, [u8]>); - -impl<'a> From<&'a [u8]> for RawBytes<'a> { - fn from(r: &'a [u8]) -> Self { - RawBytes(r.into()) - } -} - -impl<'a> From> for RawBytes<'a> { - fn from(c: Cow<'a, [u8]>) -> Self { - RawBytes(c) - } -} - -impl<'a> Encodable for RawBytes<'a> { - fn encode(&self, out: &mut S) -> usize { - out.append(&self.0); - self.0.len() - } -} - -impl Encodable for SmolStr { - fn encode(&self, buf: &mut S) -> usize { - let bytes = self.as_bytes(); - let len_encoded = bytes.len().encode(buf); - let data_len = bytes.encode(buf); - len_encoded + data_len - } -} - -impl<'a> Encodable for Cow<'a, SmolStr> { - fn encode(&self, buf: &mut S) -> usize { - self.as_ref().encode(buf) - } -} - -impl Encodable for String { - fn encode(&self, buf: &mut S) -> usize { - let bytes = self.as_bytes(); - let len_encoded = bytes.len().encode(buf); - let data_len = bytes.encode(buf); - len_encoded + data_len - } -} - -impl Encodable for Option { - fn encode(&self, buf: &mut S) -> usize { - if let Some(s) = self { - s.encode(buf) - } else { - 0.encode(buf) - } - } -} - -impl<'a> Encodable for Option> { - fn encode(&self, out: &mut S) -> usize { - if let Some(s) = self { - SmolStr::encode(s, out) - } else { - 0.encode(out) - } - } -} - -impl Encodable for f64 { - fn encode(&self, buf: &mut S) -> usize { - let bytes = self.to_le_bytes(); - buf.append(&bytes); - bytes.len() - } -} - -impl Encodable for f32 { - fn encode(&self, buf: &mut S) -> usize { - let bytes = self.to_le_bytes(); - buf.append(&bytes); - bytes.len() - } -} - -impl Encodable for usize { - fn encode(&self, buf: &mut S) -> usize { - (*self as u64).encode(buf) - } -} - -impl Encodable for u32 { - fn encode(&self, buf: &mut S) -> usize { - u64::from(*self).encode(buf) - } -} - -impl Encodable for i32 { - fn encode(&self, buf: &mut S) -> usize { - i64::from(*self).encode(buf) - } -} - -impl Encodable for [u8] { - fn encode(&self, out: &mut S) -> usize { - out.append(self); - self.len() - } -} - -impl Encodable for &[u8] { - fn encode(&self, out: &mut S) -> usize { - out.append(self); - self.len() - } -} - -impl<'a> Encodable for Cow<'a, [u8]> { - fn encode(&self, out: &mut S) -> usize { - out.append(self); - self.len() - } -} - -impl Encodable for Vec { - fn encode(&self, out: &mut S) -> usize { - Encodable::encode(&self[..], out) - } -} - -mod leb128_things { - use super::{Encodable, Sink}; - - impl Encodable for u64 { - fn encode(&self, buf: &mut S) -> usize { - let mut val = *self; - let mut bytes_written = 0; - loop { - let mut byte = low_bits_of_u64(val); - val >>= 7; - if val != 0 { - // More bytes to come, so set the continuation bit. - byte |= CONTINUATION_BIT; - } - - buf.append(&[byte]); - bytes_written += 1; - - if val == 0 { - return bytes_written; - } - } - } - } - - impl Encodable for i64 { - fn encode(&self, buf: &mut S) -> usize { - let mut val = *self; - let mut bytes_written = 0; - loop { - let mut byte = val as u8; - // Keep the sign bit for testing - val >>= 6; - let done = val == 0 || val == -1; - if done { - byte &= !CONTINUATION_BIT; - } else { - // Remove the sign bit - val >>= 1; - // More bytes to come, so set the continuation bit. - byte |= CONTINUATION_BIT; - } - - buf.append(&[byte]); - bytes_written += 1; - - if done { - return bytes_written; - } - } - } - } - - #[doc(hidden)] - const CONTINUATION_BIT: u8 = 1 << 7; - - #[inline] - fn low_bits_of_byte(byte: u8) -> u8 { - byte & !CONTINUATION_BIT - } - - #[inline] - fn low_bits_of_u64(val: u64) -> u8 { - let byte = val & (std::u8::MAX as u64); - low_bits_of_byte(byte as u8) - } -} diff --git a/rust/automerge/src/columnar/encoding/leb128.rs b/rust/automerge/src/columnar/encoding/leb128.rs deleted file mode 100644 index cbb82c31..00000000 --- a/rust/automerge/src/columnar/encoding/leb128.rs +++ /dev/null @@ -1,82 +0,0 @@ -/// The number of bytes required to encode `val` as a LEB128 integer -pub(crate) fn lebsize(mut val: i64) -> u64 { - if val < 0 { - val = !val - } - // 1 extra for the sign bit - leb_bytes(1 + 64 - val.leading_zeros() as u64) -} - -/// The number of bytes required to encode `val` as a uLEB128 integer -pub(crate) fn ulebsize(val: u64) -> u64 { - if val == 0 { - return 1; - } - leb_bytes(64 - val.leading_zeros() as u64) -} - -fn leb_bytes(bits: u64) -> u64 { - (bits + 6) / 7 -} - -#[cfg(test)] -mod tests { - use super::*; - use proptest::prelude::*; - - proptest! { - #[test] - fn test_ulebsize(val in 0..u64::MAX) { - let mut out = Vec::new(); - leb128::write::unsigned(&mut out, val).unwrap(); - let expected = out.len() as u64; - assert_eq!(expected, ulebsize(val)) - } - - #[test] - fn test_lebsize(val in i64::MIN..i64::MAX) { - let mut out = Vec::new(); - leb128::write::signed(&mut out, val).unwrap(); - let expected = out.len() as u64; - assert_eq!(expected, lebsize(val)) - } - } - - #[test] - fn ulebsize_examples() { - let scenarios = vec![0, 1, 127, 128, 129, 169, u64::MAX]; - for val in scenarios { - let mut out = Vec::new(); - leb128::write::unsigned(&mut out, val).unwrap(); - let expected = out.len() as u64; - assert_eq!(ulebsize(val), expected, "value: {}", val) - } - } - - #[test] - fn lebsize_examples() { - let scenarios = vec![ - 0, - 1, - -1, - 63, - 64, - -64, - -65, - 127, - 128, - -127, - -128, - -2097152, - 169, - i64::MIN, - i64::MAX, - ]; - for val in scenarios { - let mut out = Vec::new(); - leb128::write::signed(&mut out, val).unwrap(); - let expected = out.len() as u64; - assert_eq!(lebsize(val), expected, "value: {}", val) - } - } -} diff --git a/rust/automerge/src/columnar/encoding/properties.rs b/rust/automerge/src/columnar/encoding/properties.rs deleted file mode 100644 index 30f1169d..00000000 --- a/rust/automerge/src/columnar/encoding/properties.rs +++ /dev/null @@ -1,178 +0,0 @@ -//! Helpers for property tests. - -use std::{fmt::Debug, ops::Range}; - -use proptest::prelude::*; -use smol_str::SmolStr; - -use crate::{ - columnar::Key, - types::{ElemId, OpId, ScalarValue}, -}; - -#[derive(Clone, Debug)] -pub(crate) struct SpliceScenario { - pub(crate) initial_values: Vec, - pub(crate) replace_range: Range, - pub(crate) replacements: Vec, -} - -impl SpliceScenario { - pub(crate) fn check(&self, results: Vec) { - let mut expected = self.initial_values.clone(); - expected.splice(self.replace_range.clone(), self.replacements.clone()); - assert_eq!(expected, results) - } -} - -impl SpliceScenario> { - /// Checks that `results` are the same as `SpliceScenario::initial_values.splice(replace_range, - /// replacements)`, with two slight changes: - /// - /// * If all of `initial_values` are `None` then this returns true if the output is just - /// `replacements` - /// * If the result of `Vec::splice` would return a vector of all `None` then this checks the - /// result is actually an empty vector - /// - /// This is to accomodate the fact that the RLE encoder can encode a sequence of all `None` as - /// an empty sequence, in which case we decode it as an empty sequence. - pub(crate) fn check_optional(&self, results: Vec>) { - if self.initial_values.iter().all(|v| v.is_none()) { - if self.replacements.iter().all(|v| v.is_none()) { - assert!(results.is_empty()); - } else { - assert_eq!(results, self.replacements); - } - } else { - let mut expected = self.initial_values.clone(); - expected.splice(self.replace_range.clone(), self.replacements.clone()); - if expected.iter().all(|e| e.is_none()) { - assert!(results.is_empty()) - } else { - assert_eq!(expected, results) - } - } - } -} - -pub(crate) fn splice_scenario + Clone, T: Debug + Clone + 'static>( - item_strat: S, -) -> impl Strategy> { - ( - proptest::collection::vec(item_strat.clone(), 0..100), - proptest::collection::vec(item_strat, 0..10), - ) - .prop_flat_map(move |(values, to_splice)| { - if values.is_empty() { - Just(SpliceScenario { - initial_values: values, - replace_range: 0..0, - replacements: to_splice, - }) - .boxed() - } else { - // This is somewhat awkward to write because we have to carry the `values` and - // `to_splice` through as `Just(..)` to please the borrow checker. - (0..values.len(), Just(values), Just(to_splice)) - .prop_flat_map(move |(replace_range_start, values, to_splice)| { - ( - 0..(values.len() - replace_range_start), - Just(values), - Just(to_splice), - ) - .prop_map( - move |(replace_range_len, values, to_splice)| SpliceScenario { - initial_values: values, - replace_range: replace_range_start - ..(replace_range_start + replace_range_len), - replacements: to_splice, - }, - ) - }) - .boxed() - } - }) -} - -/// Like splice scenario except that if the initial values we generate are all `None` then the -/// replace range is 0..0. -pub(crate) fn option_splice_scenario< - S: Strategy> + Clone, - T: Debug + Clone + 'static, ->( - item_strat: S, -) -> impl Strategy>> { - ( - proptest::collection::vec(item_strat.clone(), 0..100), - proptest::collection::vec(item_strat, 0..10), - ) - .prop_flat_map(move |(values, to_splice)| { - if values.is_empty() || values.iter().all(|v| v.is_none()) { - Just(SpliceScenario { - initial_values: values, - replace_range: 0..0, - replacements: to_splice, - }) - .boxed() - } else { - // This is somewhat awkward to write because we have to carry the `values` and - // `to_splice` through as `Just(..)` to please the borrow checker. - (0..values.len(), Just(values), Just(to_splice)) - .prop_flat_map(move |(replace_range_start, values, to_splice)| { - ( - 0..(values.len() - replace_range_start), - Just(values), - Just(to_splice), - ) - .prop_map( - move |(replace_range_len, values, to_splice)| SpliceScenario { - initial_values: values, - replace_range: replace_range_start - ..(replace_range_start + replace_range_len), - replacements: to_splice, - }, - ) - }) - .boxed() - } - }) -} - -pub(crate) fn opid() -> impl Strategy + Clone { - (0..(u32::MAX as usize), 0..(u32::MAX as u64)).prop_map(|(actor, ctr)| OpId::new(ctr, actor)) -} - -pub(crate) fn elemid() -> impl Strategy + Clone { - opid().prop_map(ElemId) -} - -pub(crate) fn key() -> impl Strategy + Clone { - prop_oneof! { - elemid().prop_map(Key::Elem), - any::().prop_map(|s| Key::Prop(s.into())), - } -} - -pub(crate) fn encodable_int() -> impl Strategy + Clone { - let bounds = i64::MAX / 2; - -bounds..bounds -} - -pub(crate) fn scalar_value() -> impl Strategy + Clone { - prop_oneof! { - Just(ScalarValue::Null), - any::().prop_map(ScalarValue::Boolean), - any::().prop_map(ScalarValue::Uint), - encodable_int().prop_map(ScalarValue::Int), - any::().prop_map(ScalarValue::F64), - smol_str().prop_map(ScalarValue::Str), - any::>().prop_map(ScalarValue::Bytes), - encodable_int().prop_map(|i| ScalarValue::Counter(i.into())), - encodable_int().prop_map(ScalarValue::Timestamp), - (10..15_u8, any::>()).prop_map(|(c, b)| ScalarValue::Unknown { type_code: c, bytes: b }), - } -} - -fn smol_str() -> impl Strategy + Clone { - any::().prop_map(SmolStr::from) -} diff --git a/rust/automerge/src/columnar/encoding/raw.rs b/rust/automerge/src/columnar/encoding/raw.rs deleted file mode 100644 index b86443e5..00000000 --- a/rust/automerge/src/columnar/encoding/raw.rs +++ /dev/null @@ -1,97 +0,0 @@ -use std::{ - borrow::{Borrow, Cow}, - fmt::Debug, -}; - -use super::{Decodable, DecodeError, Encodable, Sink}; - -#[derive(Clone, Debug)] -pub(crate) struct RawDecoder<'a> { - offset: usize, - last_read: usize, - data: Cow<'a, [u8]>, -} - -#[derive(thiserror::Error, Debug)] -pub(crate) enum Error { - #[error("buffer size did not change")] - BufferSizeDidNotChange, - #[error("trying to read past end")] - TryingToReadPastEnd, - #[error(transparent)] - Decode(#[from] DecodeError), -} - -impl<'a> RawDecoder<'a> { - pub(crate) fn new(data: Cow<'a, [u8]>) -> Self { - RawDecoder { - offset: 0, - last_read: 0, - data, - } - } - - pub(crate) fn read(&mut self) -> Result { - let mut buf = &self.data[self.offset..]; - let init_len = buf.len(); - let val = T::decode::<&[u8]>(&mut buf)?; - let delta = init_len - buf.len(); - if delta == 0 { - Err(Error::BufferSizeDidNotChange) - } else { - self.last_read = delta; - self.offset += delta; - Ok(val) - } - } - - pub(crate) fn read_bytes(&mut self, index: usize) -> Result<&[u8], Error> { - if self.offset + index > self.data.len() { - Err(Error::TryingToReadPastEnd) - } else { - let head = &self.data[self.offset..self.offset + index]; - self.last_read = index; - self.offset += index; - Ok(head) - } - } - - pub(crate) fn done(&self) -> bool { - self.offset >= self.data.len() - } -} - -impl<'a> From<&'a [u8]> for RawDecoder<'a> { - fn from(d: &'a [u8]) -> Self { - Cow::Borrowed(d).into() - } -} - -impl<'a> From> for RawDecoder<'a> { - fn from(d: Cow<'a, [u8]>) -> Self { - RawDecoder::new(d) - } -} - -pub(crate) struct RawEncoder { - written: usize, - output: S, -} - -impl RawEncoder { - pub(crate) fn append, I: Encodable>(&mut self, value: B) -> usize { - let written = value.borrow().encode(&mut self.output); - self.written += written; - written - } - - pub(crate) fn finish(self) -> (S, usize) { - (self.output, self.written) - } -} - -impl From for RawEncoder { - fn from(output: S) -> Self { - RawEncoder { written: 0, output } - } -} diff --git a/rust/automerge/src/columnar/encoding/rle.rs b/rust/automerge/src/columnar/encoding/rle.rs deleted file mode 100644 index 26a16899..00000000 --- a/rust/automerge/src/columnar/encoding/rle.rs +++ /dev/null @@ -1,239 +0,0 @@ -use std::{ - borrow::{Borrow, Cow}, - fmt::Debug, -}; - -use super::{raw, Decodable, Encodable, RawDecoder, Sink}; - -pub(crate) struct RleEncoder -where - T: Encodable + PartialEq + Clone, -{ - buf: S, - written: usize, - state: RleState, -} - -impl RleEncoder -where - S: Sink, - T: Encodable + PartialEq + Clone, -{ - pub(crate) fn new(output_buf: S) -> RleEncoder { - RleEncoder { - buf: output_buf, - written: 0, - state: RleState::Empty, - } - } - - /// Flush the encoded values and return the output buffer and the number of bytes written - pub(crate) fn finish(mut self) -> (S, usize) { - match self.take_state() { - RleState::InitialNullRun(_size) => {} - RleState::NullRun(size) => { - self.flush_null_run(size); - } - RleState::LoneVal(value) => self.flush_lit_run(vec![value]), - RleState::Run(value, len) => self.flush_run(&value, len), - RleState::LiteralRun(last, mut run) => { - run.push(last); - self.flush_lit_run(run); - } - RleState::Empty => {} - } - (self.buf, self.written) - } - - fn flush_run(&mut self, val: &T, len: usize) { - self.encode(&(len as i64)); - self.encode(val); - } - - fn flush_null_run(&mut self, len: usize) { - self.encode::(&0); - self.encode(&len); - } - - fn flush_lit_run(&mut self, run: Vec) { - self.encode(&-(run.len() as i64)); - for val in run { - self.encode(&val); - } - } - - fn take_state(&mut self) -> RleState { - let mut state = RleState::Empty; - std::mem::swap(&mut self.state, &mut state); - state - } - - pub(crate) fn append_null(&mut self) { - self.state = match self.take_state() { - RleState::Empty => RleState::InitialNullRun(1), - RleState::InitialNullRun(size) => RleState::InitialNullRun(size + 1), - RleState::NullRun(size) => RleState::NullRun(size + 1), - RleState::LoneVal(other) => { - self.flush_lit_run(vec![other]); - RleState::NullRun(1) - } - RleState::Run(other, len) => { - self.flush_run(&other, len); - RleState::NullRun(1) - } - RleState::LiteralRun(last, mut run) => { - run.push(last); - self.flush_lit_run(run); - RleState::NullRun(1) - } - } - } - - pub(crate) fn append_value>(&mut self, value: BT) { - self.state = match self.take_state() { - RleState::Empty => RleState::LoneVal(value.borrow().clone()), - RleState::LoneVal(other) => { - if &other == value.borrow() { - RleState::Run(value.borrow().clone(), 2) - } else { - let mut v = Vec::with_capacity(2); - v.push(other); - RleState::LiteralRun(value.borrow().clone(), v) - } - } - RleState::Run(other, len) => { - if &other == value.borrow() { - RleState::Run(other, len + 1) - } else { - self.flush_run(&other, len); - RleState::LoneVal(value.borrow().clone()) - } - } - RleState::LiteralRun(last, mut run) => { - if &last == value.borrow() { - self.flush_lit_run(run); - RleState::Run(value.borrow().clone(), 2) - } else { - run.push(last); - RleState::LiteralRun(value.borrow().clone(), run) - } - } - RleState::NullRun(size) | RleState::InitialNullRun(size) => { - self.flush_null_run(size); - RleState::LoneVal(value.borrow().clone()) - } - } - } - - pub(crate) fn append>(&mut self, value: Option) { - match value { - Some(t) => self.append_value(t), - None => self.append_null(), - } - } - - fn encode(&mut self, val: &V) - where - V: Encodable, - { - self.written += val.encode(&mut self.buf); - } -} - -enum RleState { - Empty, - // Note that this is different to a `NullRun` because if every element of a column is null - // (i.e. the state when we call `finish` is `InitialNullRun`) then we don't output anything at - // all for the column - InitialNullRun(usize), - NullRun(usize), - LiteralRun(T, Vec), - LoneVal(T), - Run(T, usize), -} - -impl From for RleEncoder { - fn from(output: S) -> Self { - Self::new(output) - } -} - -/// See discussion on [`RleEncoder`] for the format data is stored in. -#[derive(Clone, Debug)] -pub(crate) struct RleDecoder<'a, T> { - decoder: RawDecoder<'a>, - last_value: Option, - count: isize, - literal: bool, -} - -impl<'a, T> RleDecoder<'a, T> { - pub(crate) fn done(&self) -> bool { - self.decoder.done() && self.count == 0 - } - - fn try_next(&mut self) -> Result>, raw::Error> - where - T: Decodable + Clone + Debug, - { - while self.count == 0 { - if self.decoder.done() { - return Ok(None); - } - match self.decoder.read::()? { - count if count > 0 => { - // normal run - self.count = count as isize; - self.last_value = Some(self.decoder.read()?); - self.literal = false; - } - count if count < 0 => { - // literal run - self.count = count.abs() as isize; - self.literal = true; - } - _ => { - // null run - // FIXME(jeffa5): handle usize > i64 here somehow - self.count = self.decoder.read::()? as isize; - self.last_value = None; - self.literal = false; - } - } - } - self.count -= 1; - if self.literal { - Ok(Some(Some(self.decoder.read()?))) - } else { - Ok(Some(self.last_value.clone())) - } - } -} - -impl<'a, T> From> for RleDecoder<'a, T> { - fn from(bytes: Cow<'a, [u8]>) -> Self { - RleDecoder { - decoder: RawDecoder::from(bytes), - last_value: None, - count: 0, - literal: false, - } - } -} - -impl<'a, T> From<&'a [u8]> for RleDecoder<'a, T> { - fn from(d: &'a [u8]) -> Self { - Cow::Borrowed(d).into() - } -} - -impl<'a, T> Iterator for RleDecoder<'a, T> -where - T: Clone + Debug + Decodable, -{ - type Item = Result, raw::Error>; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} diff --git a/rust/automerge/src/columnar/splice_error.rs b/rust/automerge/src/columnar/splice_error.rs deleted file mode 100644 index 54d5f478..00000000 --- a/rust/automerge/src/columnar/splice_error.rs +++ /dev/null @@ -1,47 +0,0 @@ -use std::convert::Infallible; - -/// Represents an error which occurred when splicing. -/// -/// When splicing values into existing column storage there are two kinds of errors which can -/// occur, those caused by iterating over the existing items, and those caused by iterating over -/// the replacement items. -#[derive(Debug)] -pub(crate) enum SpliceError { - /// There was an error reading from the existing column storage - ReadExisting(E), - /// There was an error reading from the iterator of new rows - ReadReplace(R), -} - -impl SpliceError { - /// Map a spliceerror which is infallible in it's `Replace` error type into a different error. - /// - /// This is used when you have performed a splice with a `replace` iterator which is - /// infallible and need to return a more general `SpliceError` - pub(crate) fn existing(self) -> SpliceError { - match self { - SpliceError::ReadExisting(e) => SpliceError::ReadExisting(e), - SpliceError::ReadReplace(_) => unreachable!("absurd"), - } - } -} - -impl std::error::Error for SpliceError -where - E: std::error::Error, - R: std::error::Error, -{ -} - -impl std::fmt::Display for SpliceError -where - E: std::fmt::Display, - R: std::fmt::Display, -{ - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::ReadExisting(e) => write!(f, "error reading from existing rows: {}", e), - Self::ReadReplace(e) => write!(f, "error reading from replacement rows: {}", e), - } - } -} diff --git a/rust/automerge/src/convert.rs b/rust/automerge/src/convert.rs deleted file mode 100644 index a99f96a1..00000000 --- a/rust/automerge/src/convert.rs +++ /dev/null @@ -1,102 +0,0 @@ -//! Types for converting between different OpId representations -//! -//! In various places throughout the codebase we refer to operation IDs. The canonical type for -//! representing an operation ID is [`crate::types::OpId`]. This type holds the counter of the operation -//! ID but it does not store the actor ID, instead storing an index into an array of actor IDs -//! stored elsewhere. This makes using OpIds very memory efficient. We also store operation IDs on -//! disc. Here again we use a representation where the actor ID is stored as an offset into an -//! array which is held elsewhere. We occasionally do need to refer to an operation ID which -//! contains the full actor ID - typically when exporting to other processes or to the user. -//! -//! This is problematic when we want to write code which is generic over all these representations, -//! or which needs to convert between them. This module hopes to solve that problem. The basic -//! approach is to define the trait `OpId`, which is generic over the type of its `actor`. Using a -//! trait means that there is no need to allocate intermediate collections of operation IDs when -//! converting (for example when encoding a bunch of OpSet operation IDs into a change, where we -//! have to translate the indices). -//! -//! Having defined the `OpId` trait we then define a bunch of enums representing each of the -//! entities in the automerge data model which contain an `OpId`, namely `ObjId`, `Key`, and -//! `ElemId`. Each of these enums implements a `map` method, which allows you to convert the actor -//! ID of any contained operation using a mappping function. - -use std::borrow::Cow; - -pub(crate) trait OpId { - fn actor(&self) -> ActorId; - fn counter(&self) -> u64; -} - -#[derive(Clone, Debug)] -pub(crate) enum ObjId { - Root, - Op(O), -} - -impl ObjId { - pub(crate) fn map(self, f: F) -> ObjId

- where - F: Fn(O) -> P, - { - match self { - ObjId::Root => ObjId::Root, - ObjId::Op(o) => ObjId::Op(f(o)), - } - } -} - -#[derive(Clone)] -pub(crate) enum ElemId { - Head, - Op(O), -} - -impl ElemId { - pub(crate) fn map(self, f: F) -> ElemId

- where - F: Fn(O) -> P, - { - match self { - ElemId::Head => ElemId::Head, - ElemId::Op(o) => ElemId::Op(f(o)), - } - } -} - -#[derive(Clone)] -pub(crate) enum Key<'a, O> { - Prop(Cow<'a, smol_str::SmolStr>), - Elem(ElemId), -} - -impl<'a, O> Key<'a, O> { - pub(crate) fn map(self, f: F) -> Key<'a, P> - where - F: Fn(O) -> P, - { - match self { - Key::Prop(p) => Key::Prop(p), - Key::Elem(e) => Key::Elem(e.map(f)), - } - } -} - -impl OpId for crate::types::OpId { - fn counter(&self) -> u64 { - self.counter() - } - - fn actor(&self) -> usize { - self.actor() - } -} - -impl<'a> OpId for &'a crate::types::OpId { - fn counter(&self) -> u64 { - crate::types::OpId::counter(self) - } - - fn actor(&self) -> usize { - crate::types::OpId::actor(self) - } -} diff --git a/rust/automerge/src/decoding.rs b/rust/automerge/src/decoding.rs deleted file mode 100644 index cd938a3c..00000000 --- a/rust/automerge/src/decoding.rs +++ /dev/null @@ -1,475 +0,0 @@ -use core::fmt::Debug; -use std::num::NonZeroU64; -use std::{borrow::Cow, io, io::Read, str}; - -use crate::error; -use crate::legacy as amp; -use crate::ActorId; -use smol_str::SmolStr; - -/// The error type for decoding operations. -#[derive(Debug, thiserror::Error)] -pub enum Error { - #[error( - "Expected the buffer size to change due to having something written to it but it did not" - )] - BufferSizeDidNotChange, - #[error("Decode operation did not return a value")] - NoDecodedValue, - #[error("Trying to read past the end of the buffer")] - TryingToReadPastEnd, - #[error( - "Found wrong of data while decoding, expected one of {expected_one_of:?} but found {found}" - )] - WrongType { expected_one_of: Vec, found: u8 }, - #[error("Bad change format: {0}")] - BadChangeFormat(#[source] error::InvalidChangeHashSlice), - #[error("Not enough bytes")] - NotEnoughBytes, - #[error("Found the wrong magic bytes in the document")] - WrongMagicBytes, - #[error("Bytes had wrong length, expected {expected} but found {found}")] - WrongByteLength { expected: usize, found: usize }, - #[error("Columns were not in ascending order, last was {last} but found {found}")] - ColumnsNotInAscendingOrder { last: u32, found: u32 }, - #[error("A change contained compressed columns, which is not supported")] - ChangeContainedCompressedColumns, - #[error("Found mismatching checksum values, calculated {calculated:?} but found {found:?}")] - InvalidChecksum { found: [u8; 4], calculated: [u8; 4] }, - #[error("Invalid change: {0}")] - InvalidChange(#[from] InvalidChangeError), - #[error("Change decompression error: {0}")] - ChangeDecompressFailed(String), - #[error("No doc changes found")] - NoDocChanges, - #[error("An overflow would have occurred, the data may be corrupt")] - Overflow, - #[error("Calculated heads differed from actual heads")] - MismatchedHeads, - #[error("Failed to read leb128 number {0}")] - Leb128(#[from] leb128::read::Error), - #[error(transparent)] - Io(#[from] io::Error), -} - -impl PartialEq for Error { - fn eq(&self, other: &Error) -> bool { - match (self, other) { - ( - Self::WrongType { - expected_one_of: l_expected_one_of, - found: l_found, - }, - Self::WrongType { - expected_one_of: r_expected_one_of, - found: r_found, - }, - ) => l_expected_one_of == r_expected_one_of && l_found == r_found, - (Self::BadChangeFormat(l0), Self::BadChangeFormat(r0)) => l0 == r0, - ( - Self::WrongByteLength { - expected: l_expected, - found: l_found, - }, - Self::WrongByteLength { - expected: r_expected, - found: r_found, - }, - ) => l_expected == r_expected && l_found == r_found, - ( - Self::ColumnsNotInAscendingOrder { - last: l_last, - found: l_found, - }, - Self::ColumnsNotInAscendingOrder { - last: r_last, - found: r_found, - }, - ) => l_last == r_last && l_found == r_found, - ( - Self::InvalidChecksum { - found: l_found, - calculated: l_calculated, - }, - Self::InvalidChecksum { - found: r_found, - calculated: r_calculated, - }, - ) => l_found == r_found && l_calculated == r_calculated, - (Self::InvalidChange(l0), Self::InvalidChange(r0)) => l0 == r0, - (Self::ChangeDecompressFailed(l0), Self::ChangeDecompressFailed(r0)) => l0 == r0, - (Self::Leb128(_l0), Self::Leb128(_r0)) => true, - (Self::Io(l0), Self::Io(r0)) => l0.kind() == r0.kind(), - _ => core::mem::discriminant(self) == core::mem::discriminant(other), - } - } -} - -#[derive(thiserror::Error, PartialEq, Debug)] -pub enum InvalidChangeError { - #[error("Change contained an operation with action 'set' which did not have a 'value'")] - SetOpWithoutValue, - #[error("Received an inc operation which had an invalid value, value was: {op_value:?}")] - IncOperationWithInvalidValue { op_value: Option }, - #[error("Change contained an invalid object id: {}", source.0)] - InvalidObjectId { - #[from] - source: error::InvalidObjectId, - }, - #[error("Change contained an invalid hash: {:?}", source.0)] - InvalidChangeHash { - #[from] - source: error::InvalidChangeHashSlice, - }, -} - -#[derive(Clone, Debug)] -pub(crate) struct Decoder<'a> { - pub(crate) offset: usize, - pub(crate) last_read: usize, - data: Cow<'a, [u8]>, -} - -impl<'a> Decoder<'a> { - pub(crate) fn new(data: Cow<'a, [u8]>) -> Self { - Decoder { - offset: 0, - last_read: 0, - data, - } - } - - pub(crate) fn read(&mut self) -> Result { - let mut buf = &self.data[self.offset..]; - let init_len = buf.len(); - let val = T::decode::<&[u8]>(&mut buf).ok_or(Error::NoDecodedValue)?; - let delta = init_len - buf.len(); - if delta == 0 { - Err(Error::BufferSizeDidNotChange) - } else { - self.last_read = delta; - self.offset += delta; - Ok(val) - } - } - - pub(crate) fn read_bytes(&mut self, index: usize) -> Result<&[u8], Error> { - if self.offset + index > self.data.len() { - Err(Error::TryingToReadPastEnd) - } else { - let head = &self.data[self.offset..self.offset + index]; - self.last_read = index; - self.offset += index; - Ok(head) - } - } - - pub(crate) fn done(&self) -> bool { - self.offset >= self.data.len() - } -} - -/// See discussion on [`crate::encoding::BooleanEncoder`] for the format data is stored in. -pub(crate) struct BooleanDecoder<'a> { - decoder: Decoder<'a>, - last_value: bool, - count: usize, -} - -impl<'a> From> for Decoder<'a> { - fn from(bytes: Cow<'a, [u8]>) -> Decoder<'a> { - Decoder::new(bytes) - } -} - -impl<'a> From> for BooleanDecoder<'a> { - fn from(bytes: Cow<'a, [u8]>) -> Self { - BooleanDecoder { - decoder: Decoder::from(bytes), - last_value: true, - count: 0, - } - } -} - -// this is an endless iterator that returns false after input is exhausted -impl<'a> Iterator for BooleanDecoder<'a> { - type Item = bool; - - fn next(&mut self) -> Option { - while self.count == 0 { - if self.decoder.done() && self.count == 0 { - return Some(false); - } - self.count = self.decoder.read().unwrap_or_default(); - self.last_value = !self.last_value; - } - self.count -= 1; - Some(self.last_value) - } -} - -/// See discussion on [`crate::encoding::RleEncoder`] for the format data is stored in. -#[derive(Debug)] -pub(crate) struct RleDecoder<'a, T> { - pub(crate) decoder: Decoder<'a>, - last_value: Option, - count: isize, - literal: bool, -} - -impl<'a, T> From> for RleDecoder<'a, T> { - fn from(bytes: Cow<'a, [u8]>) -> Self { - RleDecoder { - decoder: Decoder::from(bytes), - last_value: None, - count: 0, - literal: false, - } - } -} - -// this decoder needs to be able to send type T or 'null' -// it is an endless iterator that will return all 'null's -// once input is exhausted -impl<'a, T> Iterator for RleDecoder<'a, T> -where - T: Clone + Debug + Decodable, -{ - type Item = Option; - - fn next(&mut self) -> Option> { - while self.count == 0 { - if self.decoder.done() { - return Some(None); - } - match self.decoder.read::() { - Ok(count) if count > 0 => { - // normal run - self.count = count as isize; - self.last_value = self.decoder.read().ok(); - self.literal = false; - } - Ok(count) if count < 0 => { - // literal run - self.count = count.abs() as isize; - self.literal = true; - } - Ok(_) => { - // null run - // FIXME(jeffa5): handle usize > i64 here somehow - self.count = self.decoder.read::().unwrap() as isize; - self.last_value = None; - self.literal = false; - } - Err(e) => { - tracing::warn!(error=?e, "error during rle decoding"); - return None; - } - } - } - self.count -= 1; - if self.literal { - Some(self.decoder.read().ok()) - } else { - Some(self.last_value.clone()) - } - } -} - -/// See discussion on [`crate::encoding::DeltaEncoder`] for the format data is stored in. -pub(crate) struct DeltaDecoder<'a> { - rle: RleDecoder<'a, i64>, - absolute_val: u64, -} - -impl<'a> From> for DeltaDecoder<'a> { - fn from(bytes: Cow<'a, [u8]>) -> Self { - DeltaDecoder { - rle: RleDecoder { - decoder: Decoder::from(bytes), - last_value: None, - count: 0, - literal: false, - }, - absolute_val: 0, - } - } -} - -impl<'a> Iterator for DeltaDecoder<'a> { - type Item = Option; - - fn next(&mut self) -> Option> { - if let Some(delta) = self.rle.next()? { - if delta < 0 { - self.absolute_val -= delta.abs() as u64; - } else { - self.absolute_val += delta as u64; - } - Some(Some(self.absolute_val)) - } else { - Some(None) - } - } -} - -pub(crate) trait Decodable: Sized { - fn decode(bytes: &mut R) -> Option - where - R: Read; -} - -impl Decodable for u8 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let mut buffer = [0; 1]; - bytes.read_exact(&mut buffer).ok()?; - Some(buffer[0]) - } -} - -impl Decodable for u32 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - u64::decode::(bytes).and_then(|val| Self::try_from(val).ok()) - } -} - -impl Decodable for usize { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - u64::decode::(bytes).and_then(|val| Self::try_from(val).ok()) - } -} - -impl Decodable for isize { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - i64::decode::(bytes).and_then(|val| Self::try_from(val).ok()) - } -} - -impl Decodable for i32 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - i64::decode::(bytes).and_then(|val| Self::try_from(val).ok()) - } -} - -impl Decodable for i64 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - leb128::read::signed(bytes).ok() - } -} - -impl Decodable for f64 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let mut buffer = [0; 8]; - bytes.read_exact(&mut buffer).ok()?; - Some(Self::from_le_bytes(buffer)) - } -} - -impl Decodable for f32 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let mut buffer = [0; 4]; - bytes.read_exact(&mut buffer).ok()?; - Some(Self::from_le_bytes(buffer)) - } -} - -impl Decodable for u64 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - leb128::read::unsigned(bytes).ok() - } -} - -impl Decodable for NonZeroU64 { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - NonZeroU64::new(leb128::read::unsigned(bytes).ok()?) - } -} - -impl Decodable for Vec { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let len = usize::decode::(bytes)?; - if len == 0 { - return Some(vec![]); - } - let mut buffer = vec![0; len]; - bytes.read_exact(buffer.as_mut_slice()).ok()?; - Some(buffer) - } -} - -impl Decodable for SmolStr { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - str::from_utf8(&buffer).map(|t| t.into()).ok() - } -} - -impl Decodable for String { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - str::from_utf8(&buffer).map(|t| t.into()).ok() - } -} - -impl Decodable for Option { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - if buffer.is_empty() { - return Some(None); - } - Some(str::from_utf8(&buffer).map(|t| t.into()).ok()) - } -} - -impl Decodable for ActorId { - fn decode(bytes: &mut R) -> Option - where - R: Read, - { - let buffer = Vec::decode(bytes)?; - Some(buffer.into()) - } -} diff --git a/rust/automerge/src/error.rs b/rust/automerge/src/error.rs deleted file mode 100644 index 62a7b72f..00000000 --- a/rust/automerge/src/error.rs +++ /dev/null @@ -1,107 +0,0 @@ -use crate::change::LoadError as LoadChangeError; -use crate::storage::load::Error as LoadError; -use crate::types::{ActorId, ScalarValue}; -use crate::value::DataType; -use crate::{ChangeHash, ObjType}; -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum AutomergeError { - #[error(transparent)] - ChangeGraph(#[from] crate::change_graph::MissingDep), - #[error("failed to load compressed data: {0}")] - Deflate(#[source] std::io::Error), - #[error("duplicate seq {0} found for actor {1}")] - DuplicateSeqNumber(u64, ActorId), - #[error("key must not be an empty string")] - EmptyStringKey, - #[error("general failure")] - Fail, - #[error("invalid actor ID `{0}`")] - InvalidActorId(String), - #[error(transparent)] - InvalidChangeHashBytes(#[from] InvalidChangeHashSlice), - #[error("invalid UTF-8 character at {0}")] - InvalidCharacter(usize), - #[error("invalid hash {0}")] - InvalidHash(ChangeHash), - #[error("index {0} is out of bounds")] - InvalidIndex(usize), - #[error("invalid obj id `{0}`")] - InvalidObjId(String), - #[error("invalid obj id format `{0}`")] - InvalidObjIdFormat(String), - #[error("invalid op for object of type `{0}`")] - InvalidOp(ObjType), - #[error("seq {0} is out of bounds")] - InvalidSeq(u64), - #[error("invalid type of value, expected `{expected}` but received `{unexpected}`")] - InvalidValueType { - expected: String, - unexpected: String, - }, - #[error(transparent)] - Load(#[from] LoadError), - #[error(transparent)] - LoadChangeError(#[from] LoadChangeError), - #[error("increment operations must be against a counter value")] - MissingCounter, - #[error("hash {0} does not correspond to a change in this document")] - MissingHash(ChangeHash), - #[error("change's deps should already be in the document")] - MissingDeps, - #[error("compressed chunk was not a change")] - NonChangeCompressed, - #[error("id was not an object id")] - NotAnObject, -} - -impl PartialEq for AutomergeError { - fn eq(&self, other: &Self) -> bool { - std::mem::discriminant(self) == std::mem::discriminant(other) - } -} - -#[cfg(feature = "wasm")] -impl From for wasm_bindgen::JsValue { - fn from(err: AutomergeError) -> Self { - js_sys::Error::new(&std::format!("{}", err)).into() - } -} - -#[derive(Error, Debug)] -#[error("Invalid actor ID: {0}")] -pub struct InvalidActorId(pub String); - -#[derive(Error, Debug, PartialEq)] -#[error("Invalid scalar value, expected {expected} but received {unexpected}")] -pub(crate) struct InvalidScalarValue { - pub(crate) raw_value: ScalarValue, - pub(crate) datatype: DataType, - pub(crate) unexpected: String, - pub(crate) expected: String, -} - -#[derive(Error, Debug, Eq, PartialEq)] -#[error("Invalid change hash slice: {0:?}")] -pub struct InvalidChangeHashSlice(pub Vec); - -#[derive(Error, Debug, Eq, PartialEq)] -#[error("Invalid object ID: {0}")] -pub struct InvalidObjectId(pub String); - -#[derive(Error, Debug)] -#[error("Invalid element ID: {0}")] -pub struct InvalidElementId(pub String); - -#[derive(Error, Debug)] -#[error("Invalid OpID: {0}")] -pub struct InvalidOpId(pub String); - -#[derive(Error, Debug)] -pub enum InvalidOpType { - #[error("unrecognized action index {0}")] - UnknownAction(u64), - #[error("non numeric argument for inc op")] - NonNumericInc, -} diff --git a/rust/automerge/src/exid.rs b/rust/automerge/src/exid.rs deleted file mode 100644 index 3a5a2ca2..00000000 --- a/rust/automerge/src/exid.rs +++ /dev/null @@ -1,224 +0,0 @@ -use crate::storage::parse; -use crate::ActorId; -use serde::Serialize; -use serde::Serializer; -use std::cmp::{Ord, Ordering}; -use std::fmt; -use std::hash::{Hash, Hasher}; - -/// An identifier for an object in a document -/// -/// This can be persisted using `to_bytes` and `TryFrom<&[u8]>` breaking changes to the -/// serialization format will be considered breaking changes for this library version. -#[derive(Debug, Clone)] -pub enum ExId { - Root, - Id(u64, ActorId, usize), -} - -const SERIALIZATION_VERSION_TAG: u8 = 0; -const TYPE_ROOT: u8 = 0; -const TYPE_ID: u8 = 1; - -impl ExId { - /// Serialize this object ID to a byte array. - /// - /// This serialization format is versioned and incompatible changes to it will be considered a - /// breaking change for the version of this library. - pub fn to_bytes(&self) -> Vec { - // The serialized format is - // - // .--------------------------------. - // | version | type | data | - // +--------------------------------+ - // | 4 bytes |4 bytes | variable | - // '--------------------------------' - // - // Version is currently always `0` - // - // `data` depends on the type - // - // * If the type is `TYPE_ROOT` (0) then there is no data - // * If the type is `TYPE_ID` (1) then the data is - // - // .-------------------------------------------------------. - // | actor ID len | actor ID bytes | counter | actor index | - // '-------------------------------------------------------' - // - // Where the actor ID len, counter, and actor index are all uLEB encoded - // integers. The actor ID bytes is just an array of bytes. - // - match self { - ExId::Root => { - let val: u8 = SERIALIZATION_VERSION_TAG | (TYPE_ROOT << 4); - vec![val] - } - ExId::Id(id, actor, counter) => { - let actor_bytes = actor.to_bytes(); - let mut bytes = Vec::with_capacity(actor_bytes.len() + 4 + 4); - let tag = SERIALIZATION_VERSION_TAG | (TYPE_ID << 4); - bytes.push(tag); - leb128::write::unsigned(&mut bytes, actor_bytes.len() as u64).unwrap(); - bytes.extend_from_slice(actor_bytes); - leb128::write::unsigned(&mut bytes, *counter as u64).unwrap(); - leb128::write::unsigned(&mut bytes, *id).unwrap(); - bytes - } - } - } -} - -#[derive(Debug, thiserror::Error)] -pub enum ObjIdFromBytesError { - #[error("no version tag")] - NoVersion, - #[error("invalid version tag")] - InvalidVersion(u8), - #[error("invalid type tag")] - InvalidType(u8), - #[error("invalid Actor ID length: {0}")] - ParseActorLen(String), - #[error("Not enough bytes in actor ID")] - ParseActor, - #[error("invalid counter: {0}")] - ParseCounter(String), - #[error("invalid actor index hint: {0}")] - ParseActorIdxHint(String), -} - -impl<'a> TryFrom<&'a [u8]> for ExId { - type Error = ObjIdFromBytesError; - - fn try_from(value: &'a [u8]) -> Result { - let i = parse::Input::new(value); - let (i, tag) = parse::take1::<()>(i).map_err(|_| ObjIdFromBytesError::NoVersion)?; - let version = tag & 0b1111; - if version != SERIALIZATION_VERSION_TAG { - return Err(ObjIdFromBytesError::InvalidVersion(version)); - } - let type_tag = tag >> 4; - match type_tag { - TYPE_ROOT => Ok(ExId::Root), - TYPE_ID => { - let (i, len) = parse::leb128_u64::(i) - .map_err(|e| ObjIdFromBytesError::ParseActorLen(e.to_string()))?; - let (i, actor) = parse::take_n::<()>(len as usize, i) - .map_err(|_| ObjIdFromBytesError::ParseActor)?; - let (i, counter) = parse::leb128_u64::(i) - .map_err(|e| ObjIdFromBytesError::ParseCounter(e.to_string()))?; - let (_i, actor_idx_hint) = parse::leb128_u64::(i) - .map_err(|e| ObjIdFromBytesError::ParseActorIdxHint(e.to_string()))?; - Ok(Self::Id(actor_idx_hint, actor.into(), counter as usize)) - } - other => Err(ObjIdFromBytesError::InvalidType(other)), - } - } -} - -impl PartialEq for ExId { - fn eq(&self, other: &Self) -> bool { - match (self, other) { - (ExId::Root, ExId::Root) => true, - (ExId::Id(ctr1, actor1, _), ExId::Id(ctr2, actor2, _)) - if ctr1 == ctr2 && actor1 == actor2 => - { - true - } - _ => false, - } - } -} - -impl Eq for ExId {} - -impl fmt::Display for ExId { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - ExId::Root => write!(f, "_root"), - ExId::Id(ctr, actor, _) => write!(f, "{}@{}", ctr, actor), - } - } -} - -impl Hash for ExId { - fn hash(&self, state: &mut H) { - match self { - ExId::Root => 0.hash(state), - ExId::Id(ctr, actor, _) => { - ctr.hash(state); - actor.hash(state); - } - } - } -} - -impl Ord for ExId { - fn cmp(&self, other: &Self) -> Ordering { - match (self, other) { - (ExId::Root, ExId::Root) => Ordering::Equal, - (ExId::Root, _) => Ordering::Less, - (_, ExId::Root) => Ordering::Greater, - (ExId::Id(c1, a1, _), ExId::Id(c2, a2, _)) if c1 == c2 => a2.cmp(a1), - (ExId::Id(c1, _, _), ExId::Id(c2, _, _)) => c1.cmp(c2), - } - } -} - -impl PartialOrd for ExId { - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } -} - -impl Serialize for ExId { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_str(self.to_string().as_str()) - } -} - -impl AsRef for ExId { - fn as_ref(&self) -> &ExId { - self - } -} - -#[cfg(test)] -mod tests { - use super::ExId; - use proptest::prelude::*; - - use crate::ActorId; - - fn gen_actorid() -> impl Strategy { - proptest::collection::vec(any::(), 0..100).prop_map(ActorId::from) - } - - prop_compose! { - fn gen_non_root_objid()(actor in gen_actorid(), counter in any::(), idx in any::()) -> ExId { - ExId::Id(idx as u64, actor, counter) - } - } - - fn gen_obji() -> impl Strategy { - prop_oneof![Just(ExId::Root), gen_non_root_objid()] - } - - proptest! { - #[test] - fn objid_roundtrip(objid in gen_obji()) { - let bytes = objid.to_bytes(); - let objid2 = ExId::try_from(&bytes[..]).unwrap(); - assert_eq!(objid, objid2); - } - } - - #[test] - fn test_root_roundtrip() { - let bytes = ExId::Root.to_bytes(); - let objid2 = ExId::try_from(&bytes[..]).unwrap(); - assert_eq!(ExId::Root, objid2); - } -} diff --git a/rust/automerge/src/indexed_cache.rs b/rust/automerge/src/indexed_cache.rs deleted file mode 100644 index b907a6f1..00000000 --- a/rust/automerge/src/indexed_cache.rs +++ /dev/null @@ -1,137 +0,0 @@ -use itertools::Itertools; -use std::collections::HashMap; -use std::hash::Hash; -use std::ops::Index; - -#[derive(Debug, Clone)] -pub(crate) struct IndexedCache { - pub(crate) cache: Vec, - lookup: HashMap, -} - -impl PartialEq for IndexedCache -where - T: PartialEq, -{ - fn eq(&self, other: &Self) -> bool { - self.cache == other.cache - } -} - -impl IndexedCache -where - T: Clone + Eq + Hash + Ord, -{ - pub(crate) fn new() -> Self { - IndexedCache { - cache: Default::default(), - lookup: Default::default(), - } - } - - pub(crate) fn cache(&mut self, item: T) -> usize { - if let Some(n) = self.lookup.get(&item) { - *n - } else { - let n = self.cache.len(); - self.cache.push(item.clone()); - self.lookup.insert(item, n); - n - } - } - - pub(crate) fn lookup(&self, item: &T) -> Option { - self.lookup.get(item).cloned() - } - - #[allow(dead_code)] - pub(crate) fn len(&self) -> usize { - self.cache.len() - } - - pub(crate) fn get(&self, index: usize) -> &T { - &self.cache[index] - } - - pub(crate) fn safe_get(&self, index: usize) -> Option<&T> { - self.cache.get(index) - } - - /// Remove the last inserted entry into this cache. - /// This is safe to do as it does not require reshuffling other entries. - /// - /// # Panics - /// - /// Panics on an empty cache. - pub(crate) fn remove_last(&mut self) -> T { - let last = self.cache.len() - 1; - let t = self.cache.remove(last); - self.lookup.remove(&t); - t - } - - pub(crate) fn sorted(&self) -> IndexedCache { - let mut sorted = Self::new(); - self.cache.iter().sorted().cloned().for_each(|item| { - let n = sorted.cache.len(); - sorted.cache.push(item.clone()); - sorted.lookup.insert(item, n); - }); - sorted - } - - /// Create a vector from positions in this index to positions in an equivalent sorted index - /// - /// This is useful primarily when encoding an `IndexedCache` in the document format. - /// In this case we encode the actors in sorted order in the document and all ops reference the - /// offset into this sorted actor array. But the `IndexedCache` we have in the - /// application does not contain actors in sorted order because we add them as we encounter - /// them, so we must map from the actor IDs in the application to the actor IDs in the document - /// format - /// - /// # Examples - /// - /// ```rust,ignore - /// let idx: IndexedCache = IndexedCache::new(); - /// let first_idx = idx.cache("b"); // first_idx is `0` - /// let second_idx = idx.cache("a"); // second_idx i `1` - /// let encoded = idx.encode_index(); - /// // first_idx (0) maps to `1` whilst second_idx (1) maps to `0` because "a" < "b" - /// assert_eq!(encoded, vec![1,0]) - /// ``` - pub(crate) fn encode_index(&self) -> Vec { - let sorted: Vec<_> = self.cache.iter().sorted().cloned().collect(); - self.cache - .iter() - .map(|a| sorted.iter().position(|r| r == a).unwrap()) - .collect() - } -} - -impl IntoIterator for IndexedCache { - type Item = T; - type IntoIter = std::vec::IntoIter; - - fn into_iter(self) -> Self::IntoIter { - self.cache.into_iter() - } -} - -impl Index for IndexedCache { - type Output = T; - fn index(&self, i: usize) -> &T { - &self.cache[i] - } -} - -impl FromIterator for IndexedCache { - fn from_iter>(iter: T) -> Self { - let mut cache = Vec::new(); - let mut lookup = HashMap::new(); - for (index, elem) in iter.into_iter().enumerate() { - cache.push(elem.clone()); - lookup.insert(elem, index); - } - Self { cache, lookup } - } -} diff --git a/rust/automerge/src/keys.rs b/rust/automerge/src/keys.rs deleted file mode 100644 index 838015ef..00000000 --- a/rust/automerge/src/keys.rs +++ /dev/null @@ -1,37 +0,0 @@ -use crate::{query, Automerge}; - -/// An iterator over the keys of an object -/// -/// This is returned by [`crate::ReadDoc::keys`] and method. The returned item is either -/// the keys of a map, or the encoded element IDs of a sequence. -#[derive(Debug)] -pub struct Keys<'a, 'k> { - keys: Option>, - doc: &'a Automerge, -} - -impl<'a, 'k> Keys<'a, 'k> { - pub(crate) fn new(doc: &'a Automerge, keys: Option>) -> Self { - Self { keys, doc } - } -} - -impl<'a, 'k> Iterator for Keys<'a, 'k> { - type Item = String; - - fn next(&mut self) -> Option { - self.keys - .as_mut()? - .next() - .map(|key| self.doc.to_string(key)) - } -} - -impl<'a, 'k> DoubleEndedIterator for Keys<'a, 'k> { - fn next_back(&mut self) -> Option { - self.keys - .as_mut()? - .next_back() - .map(|key| self.doc.to_string(key)) - } -} diff --git a/rust/automerge/src/keys_at.rs b/rust/automerge/src/keys_at.rs deleted file mode 100644 index fd747bbc..00000000 --- a/rust/automerge/src/keys_at.rs +++ /dev/null @@ -1,37 +0,0 @@ -use crate::{query, Automerge}; - -/// An iterator over the keys of an object at a particular point in history -/// -/// This is returned by [`crate::ReadDoc::keys_at`] method. The returned item is either the keys of a map, -/// or the encoded element IDs of a sequence. -#[derive(Debug)] -pub struct KeysAt<'a, 'k> { - keys: Option>, - doc: &'a Automerge, -} - -impl<'a, 'k> KeysAt<'a, 'k> { - pub(crate) fn new(doc: &'a Automerge, keys: Option>) -> Self { - Self { keys, doc } - } -} - -impl<'a, 'k> Iterator for KeysAt<'a, 'k> { - type Item = String; - - fn next(&mut self) -> Option { - self.keys - .as_mut()? - .next() - .map(|key| self.doc.to_string(key)) - } -} - -impl<'a, 'k> DoubleEndedIterator for KeysAt<'a, 'k> { - fn next_back(&mut self) -> Option { - self.keys - .as_mut()? - .next() - .map(|key| self.doc.to_string(key)) - } -} diff --git a/rust/automerge/src/legacy/mod.rs b/rust/automerge/src/legacy/mod.rs deleted file mode 100644 index 6e6acec5..00000000 --- a/rust/automerge/src/legacy/mod.rs +++ /dev/null @@ -1,276 +0,0 @@ -mod serde_impls; -mod utility_impls; - -use std::num::NonZeroU64; - -pub(crate) use crate::types::{ActorId, ChangeHash, ObjType, OpType, ScalarValue}; -pub(crate) use crate::value::DataType; - -use serde::{Deserialize, Serialize}; -use smol_str::SmolStr; - -#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Copy, Hash)] -#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))] -#[serde(rename_all = "camelCase")] -pub(crate) enum MapType { - Map, - Table, -} - -#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Copy, Hash)] -#[serde(rename_all = "camelCase")] -pub(crate) enum SequenceType { - List, - Text, -} - -#[derive(Eq, PartialEq, Hash, Clone)] -#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))] -pub struct OpId(pub u64, pub ActorId); - -impl OpId { - pub fn new(seq: u64, actor: &ActorId) -> OpId { - OpId(seq, actor.clone()) - } - - pub fn actor(&self) -> &ActorId { - &self.1 - } - - pub fn counter(&self) -> u64 { - self.0 - } - - pub fn increment_by(&self, by: u64) -> OpId { - OpId(self.0 + by, self.1.clone()) - } - - /// Returns true if `other` has the same actor ID, and their counter is `delta` greater than - /// ours. - pub fn delta(&self, other: &Self, delta: u64) -> bool { - self.1 == other.1 && self.0 + delta == other.0 - } -} - -#[derive(Eq, PartialEq, Debug, Hash, Clone)] -#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))] -pub enum ObjectId { - Id(OpId), - Root, -} - -#[derive(PartialEq, Eq, Debug, Hash, Clone)] -pub enum ElementId { - Head, - Id(OpId), -} - -impl ElementId { - pub fn as_opid(&self) -> Option<&OpId> { - match self { - ElementId::Head => None, - ElementId::Id(opid) => Some(opid), - } - } - - pub fn into_key(self) -> Key { - Key::Seq(self) - } - - pub fn not_head(&self) -> bool { - match self { - ElementId::Head => false, - ElementId::Id(_) => true, - } - } - - pub fn increment_by(&self, by: u64) -> Option { - match self { - ElementId::Head => None, - ElementId::Id(id) => Some(ElementId::Id(id.increment_by(by))), - } - } -} - -#[derive(Serialize, PartialEq, Eq, Debug, Hash, Clone)] -#[serde(untagged)] -pub enum Key { - Map(SmolStr), - Seq(ElementId), -} - -impl Key { - pub fn head() -> Key { - Key::Seq(ElementId::Head) - } - - pub fn is_map_key(&self) -> bool { - match self { - Key::Map(_) => true, - Key::Seq(_) => false, - } - } - - pub fn as_element_id(&self) -> Option { - match self { - Key::Map(_) => None, - Key::Seq(eid) => Some(eid.clone()), - } - } - - pub fn to_opid(&self) -> Option { - match self.as_element_id()? { - ElementId::Id(id) => Some(id), - ElementId::Head => None, - } - } - pub fn increment_by(&self, by: u64) -> Option { - match self { - Key::Map(_) => None, - Key::Seq(eid) => eid.increment_by(by).map(Key::Seq), - } - } -} - -#[derive(Debug, Default, Clone, Eq, PartialEq, Serialize)] -#[serde(transparent)] -pub struct SortedVec(Vec); - -impl SortedVec { - pub fn new() -> Self { - Self(Vec::new()) - } - - pub fn len(&self) -> usize { - self.0.len() - } - - pub fn is_empty(&self) -> bool { - self.len() == 0 - } - - pub fn get(&self, index: usize) -> Option<&T> { - self.0.get(index) - } - - pub fn get_mut(&mut self, index: usize) -> Option<&mut T> { - self.0.get_mut(index) - } - - pub fn iter(&self) -> std::slice::Iter<'_, T> { - self.0.iter() - } -} - -impl From> for SortedVec { - fn from(mut other: Vec) -> Self { - other.sort_unstable(); - Self(other) - } -} - -impl FromIterator for SortedVec { - fn from_iter(iter: I) -> Self - where - I: std::iter::IntoIterator, - { - let mut inner: Vec = iter.into_iter().collect(); - inner.sort_unstable(); - Self(inner) - } -} - -impl IntoIterator for SortedVec { - type Item = T; - - type IntoIter = as IntoIterator>::IntoIter; - - fn into_iter(self) -> Self::IntoIter { - self.0.into_iter() - } -} - -impl<'de, T> serde::Deserialize<'de> for SortedVec -where - T: serde::Deserialize<'de> + Ord, -{ - fn deserialize(deserializer: D) -> Result - where - D: serde::Deserializer<'de>, - { - let mut v = Vec::deserialize(deserializer)?; - v.sort_unstable(); - Ok(Self(v)) - } -} - -#[derive(PartialEq, Debug, Clone)] -pub struct Op { - pub action: OpType, - pub obj: ObjectId, - pub key: Key, - pub pred: SortedVec, - pub insert: bool, -} - -impl Op { - pub fn primitive_value(&self) -> Option { - match &self.action { - OpType::Put(v) => Some(v.clone()), - OpType::Increment(i) => Some(ScalarValue::Int(*i)), - _ => None, - } - } - - pub fn obj_type(&self) -> Option { - match self.action { - OpType::Make(o) => Some(o), - _ => None, - } - } - - pub fn to_i64(&self) -> Option { - self.primitive_value().as_ref().and_then(|v| v.to_i64()) - } -} - -/// A change represents a group of operations performed by an actor. -#[derive(Deserialize, Serialize, Debug, Clone)] -pub struct Change { - /// The operations performed in this change. - #[serde(rename = "ops")] - pub operations: Vec, - /// The actor that performed this change. - #[serde(rename = "actor")] - pub actor_id: ActorId, - /// The hash of this change. - #[serde(skip_serializing_if = "Option::is_none", default)] - pub hash: Option, - /// The index of this change in the changes from this actor. - pub seq: u64, - /// The start operation index. Starts at 1. - #[serde(rename = "startOp")] - pub start_op: NonZeroU64, - /// The time that this change was committed. - pub time: i64, - /// The message of this change. - pub message: Option, - /// The dependencies of this change. - pub deps: Vec, - #[serde(skip_serializing_if = "Vec::is_empty", default = "Default::default")] - pub extra_bytes: Vec, -} - -impl PartialEq for Change { - // everything but hash (its computed and not always present) - fn eq(&self, other: &Self) -> bool { - self.operations == other.operations - && self.actor_id == other.actor_id - && self.seq == other.seq - && self.start_op == other.start_op - && self.time == other.time - && self.message == other.message - && self.deps == other.deps - && self.extra_bytes == other.extra_bytes - } -} diff --git a/rust/automerge/src/legacy/serde_impls/actor_id.rs b/rust/automerge/src/legacy/serde_impls/actor_id.rs deleted file mode 100644 index 21908b71..00000000 --- a/rust/automerge/src/legacy/serde_impls/actor_id.rs +++ /dev/null @@ -1,25 +0,0 @@ -use std::str::FromStr; - -use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; - -use crate::ActorId; - -impl<'de> Deserialize<'de> for ActorId { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let s = String::deserialize(deserializer)?; - ActorId::from_str(&s) - .map_err(|_| de::Error::invalid_value(de::Unexpected::Str(&s), &"A valid ActorID")) - } -} - -impl Serialize for ActorId { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_str(self.to_hex_string().as_str()) - } -} diff --git a/rust/automerge/src/legacy/serde_impls/change_hash.rs b/rust/automerge/src/legacy/serde_impls/change_hash.rs deleted file mode 100644 index 04b876af..00000000 --- a/rust/automerge/src/legacy/serde_impls/change_hash.rs +++ /dev/null @@ -1,29 +0,0 @@ -use std::convert::TryInto; - -use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; - -use crate::ChangeHash; - -impl Serialize for ChangeHash { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - hex::encode(self.0).serialize(serializer) - } -} - -impl<'de> Deserialize<'de> for ChangeHash { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let s = String::deserialize(deserializer)?; - let vec = hex::decode(&s).map_err(|_| { - de::Error::invalid_value(de::Unexpected::Str(&s), &"A valid hex string") - })?; - vec.as_slice().try_into().map_err(|_| { - de::Error::invalid_value(de::Unexpected::Str(&s), &"A 32 byte hex encoded string") - }) - } -} diff --git a/rust/automerge/src/legacy/serde_impls/element_id.rs b/rust/automerge/src/legacy/serde_impls/element_id.rs deleted file mode 100644 index abc1f964..00000000 --- a/rust/automerge/src/legacy/serde_impls/element_id.rs +++ /dev/null @@ -1,27 +0,0 @@ -use std::str::FromStr; - -use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; - -use crate::legacy::ElementId; - -impl Serialize for ElementId { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match self { - ElementId::Id(id) => id.serialize(serializer), - ElementId::Head => serializer.serialize_str("_head"), - } - } -} - -impl<'de> Deserialize<'de> for ElementId { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let s = String::deserialize(deserializer)?; - ElementId::from_str(&s).map_err(|_| de::Error::custom("invalid element ID")) - } -} diff --git a/rust/automerge/src/legacy/serde_impls/mod.rs b/rust/automerge/src/legacy/serde_impls/mod.rs deleted file mode 100644 index 11915020..00000000 --- a/rust/automerge/src/legacy/serde_impls/mod.rs +++ /dev/null @@ -1,31 +0,0 @@ -use serde::{ - de::{Error, MapAccess}, - Deserialize, -}; - -mod actor_id; -mod change_hash; -mod element_id; -mod object_id; -mod op; -mod op_type; -mod opid; -mod scalar_value; - -// Helper method for use in custom deserialize impls -pub(crate) fn read_field<'de, T, M>( - name: &'static str, - data: &mut Option, - map: &mut M, -) -> Result<(), M::Error> -where - M: MapAccess<'de>, - T: Deserialize<'de>, -{ - if data.is_some() { - Err(Error::duplicate_field(name)) - } else { - data.replace(map.next_value()?); - Ok(()) - } -} diff --git a/rust/automerge/src/legacy/serde_impls/object_id.rs b/rust/automerge/src/legacy/serde_impls/object_id.rs deleted file mode 100644 index ba989eb7..00000000 --- a/rust/automerge/src/legacy/serde_impls/object_id.rs +++ /dev/null @@ -1,36 +0,0 @@ -use std::str::FromStr; - -use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; - -use crate::legacy::{ObjectId, OpId}; - -impl Serialize for ObjectId { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match self { - ObjectId::Id(id) => id.serialize(serializer), - ObjectId::Root => serializer.serialize_str("_root"), - } - } -} - -impl<'de> Deserialize<'de> for ObjectId { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let s = String::deserialize(deserializer)?; - if s == "_root" { - Ok(ObjectId::Root) - } else if let Ok(id) = OpId::from_str(&s) { - Ok(ObjectId::Id(id)) - } else { - Err(de::Error::invalid_value( - de::Unexpected::Str(&s), - &"A valid ObjectID", - )) - } - } -} diff --git a/rust/automerge/src/legacy/serde_impls/op.rs b/rust/automerge/src/legacy/serde_impls/op.rs deleted file mode 100644 index a3719fd6..00000000 --- a/rust/automerge/src/legacy/serde_impls/op.rs +++ /dev/null @@ -1,634 +0,0 @@ -use serde::{ - de::{Error, MapAccess, Unexpected, Visitor}, - ser::SerializeStruct, - Deserialize, Deserializer, Serialize, Serializer, -}; - -use super::read_field; -use crate::legacy::{DataType, Key, ObjType, ObjectId, Op, OpId, OpType, ScalarValue, SortedVec}; - -impl Serialize for Op { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let mut fields = 4; - - if self.insert { - fields += 1 - } - - let numerical_datatype = match &self.action { - OpType::Put(value) => value.as_numerical_datatype(), - _ => None, - }; - - if numerical_datatype.is_some() { - fields += 2 - } else if !matches!(&self.action, OpType::Make(..)) { - fields += 1 - }; - - let mut op = serializer.serialize_struct("Operation", fields)?; - op.serialize_field("action", &self.action)?; - op.serialize_field("obj", &self.obj)?; - op.serialize_field( - if self.key.is_map_key() { - "key" - } else { - "elemId" - }, - &self.key, - )?; - if self.insert { - op.serialize_field("insert", &self.insert)?; - } - if let Some(datatype) = numerical_datatype { - op.serialize_field("datatype", &datatype)?; - } - match &self.action { - OpType::Increment(n) => op.serialize_field("value", &n)?, - OpType::Put(ScalarValue::Counter(c)) => op.serialize_field("value", &c.start)?, - OpType::Put(value) => op.serialize_field("value", &value)?, - _ => {} - } - op.serialize_field("pred", &self.pred)?; - op.end() - } -} - -// We need to manually implement deserialization for `RawOpType` -// b/c by default rmp-serde (serde msgpack integration) serializes enums as maps with a -// single KV pair where the key is an integer representing the enum variant & the value -// is the associated data -// But we serialize `RawOpType` as a string, causing rmp-serde to choke on deserialization -#[derive(PartialEq, Debug, Clone, Copy)] -pub(crate) enum RawOpType { - MakeMap, - MakeTable, - MakeList, - MakeText, - Del, - Inc, - Set, -} - -impl Serialize for RawOpType { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let s = match self { - RawOpType::MakeMap => "makeMap", - RawOpType::MakeTable => "makeTable", - RawOpType::MakeList => "makeList", - RawOpType::MakeText => "makeText", - RawOpType::Del => "del", - RawOpType::Inc => "inc", - RawOpType::Set => "set", - }; - serializer.serialize_str(s) - } -} - -impl<'de> Deserialize<'de> for RawOpType { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - const VARIANTS: &[&str] = &[ - "makeMap", - "makeTable", - "makeList", - "makeText", - "del", - "inc", - "set", - "mark", - "unmark", - ]; - // TODO: Probably more efficient to deserialize to a `&str` - let raw_type = String::deserialize(deserializer)?; - match raw_type.as_str() { - "makeMap" => Ok(RawOpType::MakeMap), - "makeTable" => Ok(RawOpType::MakeTable), - "makeList" => Ok(RawOpType::MakeList), - "makeText" => Ok(RawOpType::MakeText), - "del" => Ok(RawOpType::Del), - "inc" => Ok(RawOpType::Inc), - "set" => Ok(RawOpType::Set), - other => Err(Error::unknown_variant(other, VARIANTS)), - } - } -} - -impl<'de> Deserialize<'de> for Op { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - const FIELDS: &[&str] = &["ops", "deps", "message", "seq", "actor", "requestType"]; - struct OperationVisitor; - impl<'de> Visitor<'de> for OperationVisitor { - type Value = Op; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("An operation object") - } - - fn visit_map(self, mut map: V) -> Result - where - V: MapAccess<'de>, - { - let mut action: Option = None; - let mut obj: Option = None; - let mut key: Option = None; - let mut pred: Option> = None; - let mut insert: Option = None; - let mut datatype: Option = None; - let mut value: Option> = None; - let mut name: Option = None; - let mut expand: Option = None; - let mut ref_id: Option = None; - while let Some(field) = map.next_key::()? { - match field.as_ref() { - "action" => read_field("action", &mut action, &mut map)?, - "obj" => read_field("obj", &mut obj, &mut map)?, - "key" => { - if key.is_some() { - return Err(Error::duplicate_field("key")); - } else { - key = Some(Key::Map(map.next_value()?)); - } - } - "elemId" => { - if key.is_some() { - return Err(Error::duplicate_field("elemId")); - } else { - key = Some(Key::Seq(map.next_value()?)) - } - } - "pred" => read_field("pred", &mut pred, &mut map)?, - "insert" => read_field("insert", &mut insert, &mut map)?, - "datatype" => read_field("datatype", &mut datatype, &mut map)?, - "value" => read_field("value", &mut value, &mut map)?, - "name" => read_field("name", &mut name, &mut map)?, - "expand" => read_field("expand", &mut expand, &mut map)?, - "ref" => read_field("ref", &mut ref_id, &mut map)?, - _ => return Err(Error::unknown_field(&field, FIELDS)), - } - } - let action = action.ok_or_else(|| Error::missing_field("action"))?; - let obj = obj.ok_or_else(|| Error::missing_field("obj"))?; - let key = key.ok_or_else(|| Error::missing_field("key"))?; - let pred = pred.ok_or_else(|| Error::missing_field("pred"))?; - let insert = insert.unwrap_or(false); - let action = match action { - RawOpType::MakeMap => OpType::Make(ObjType::Map), - RawOpType::MakeTable => OpType::Make(ObjType::Table), - RawOpType::MakeList => OpType::Make(ObjType::List), - RawOpType::MakeText => OpType::Make(ObjType::Text), - RawOpType::Del => OpType::Delete, - RawOpType::Set => { - let value = if let Some(datatype) = datatype { - let raw_value = value - .ok_or_else(|| Error::missing_field("value"))? - .unwrap_or(ScalarValue::Null); - raw_value.as_datatype(datatype).map_err(|e| { - Error::invalid_value( - Unexpected::Other(e.unexpected.as_str()), - &e.expected.as_str(), - ) - })? - } else { - value - .ok_or_else(|| Error::missing_field("value"))? - .unwrap_or(ScalarValue::Null) - }; - OpType::Put(value) - } - RawOpType::Inc => match value.flatten() { - Some(ScalarValue::Int(n)) => Ok(OpType::Increment(n)), - Some(ScalarValue::Uint(n)) => Ok(OpType::Increment(n as i64)), - Some(ScalarValue::F64(n)) => Ok(OpType::Increment(n as i64)), - Some(ScalarValue::Counter(n)) => Ok(OpType::Increment(n.into())), - Some(ScalarValue::Timestamp(n)) => Ok(OpType::Increment(n)), - Some(ScalarValue::Bytes(s)) => { - Err(Error::invalid_value(Unexpected::Bytes(&s), &"a number")) - } - Some(ScalarValue::Unknown { bytes, .. }) => { - Err(Error::invalid_value(Unexpected::Bytes(&bytes), &"a number")) - } - Some(ScalarValue::Str(s)) => { - Err(Error::invalid_value(Unexpected::Str(&s), &"a number")) - } - Some(ScalarValue::Boolean(b)) => { - Err(Error::invalid_value(Unexpected::Bool(b), &"a number")) - } - Some(ScalarValue::Null) => { - Err(Error::invalid_value(Unexpected::Other("null"), &"a number")) - } - None => Err(Error::missing_field("value")), - }?, - }; - Ok(Op { - action, - obj, - key, - pred, - insert, - }) - } - } - deserializer.deserialize_struct("Operation", FIELDS, OperationVisitor) - } -} - -#[cfg(test)] -mod tests { - use std::str::FromStr; - - use super::*; - use crate::legacy as amp; - - #[test] - fn test_deserialize_action() { - struct Scenario { - name: &'static str, - json: serde_json::Value, - expected: Result, - } - let scenarios: Vec = vec![ - Scenario { - name: "Set with Uint", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "datatype": "uint", - "value": 123, - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::Uint(123)), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Set with Int", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": -123, - "datatype": "int", - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::Int(-123)), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Set with F64", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": -123, - "datatype": "float64", - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::F64(-123.0)), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: Vec::new().into(), - }), - }, - Scenario { - name: "Set with string", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": "somestring", - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::Str("somestring".into())), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Set with f64", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": 1.23, - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::F64(1.23)), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Set with boolean", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": true, - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::Boolean(true)), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Set without value", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "datatype": "counter", - "pred": [] - }), - expected: Err(serde_json::Error::missing_field("value")), - }, - Scenario { - name: "Set with counter", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": 123, - "datatype": "counter", - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::Counter(123.into())), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Set with counter datatype and string value", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": "somestring", - "datatype": "counter", - "pred": [] - }), - expected: Err(serde_json::Error::invalid_value( - Unexpected::Other("\"somestring\""), - &"an integer", - )), - }, - Scenario { - name: "Set with timestamp datatype and string value", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": "somestring", - "datatype": "timestamp", - "pred": [] - }), - expected: Err(serde_json::Error::invalid_value( - Unexpected::Other("\"somestring\""), - &"an integer", - )), - }, - Scenario { - name: "Inc with counter", - json: serde_json::json!({ - "action": "inc", - "obj": "_root", - "key": "somekey", - "value": 12, - "datatype": "counter", - "pred": [] - }), - expected: Ok(Op { - action: OpType::Increment(12), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Inc without counter", - json: serde_json::json!({ - "action": "inc", - "obj": "_root", - "key": "somekey", - "value": 12, - "pred": [] - }), - expected: Ok(Op { - action: OpType::Increment(12), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - Scenario { - name: "Inc without value", - json: serde_json::json!({ - "action": "inc", - "obj": "_root", - "key": "somekey", - "pred": [] - }), - expected: Err(serde_json::Error::missing_field("value")), - }, - Scenario { - name: "Set with null", - json: serde_json::json!({ - "action": "set", - "obj": "_root", - "key": "somekey", - "value": null, - "pred": [] - }), - expected: Ok(Op { - action: OpType::Put(ScalarValue::Null), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }), - }, - ]; - - for scenario in scenarios.into_iter() { - let result: serde_json::Result = serde_json::from_value(scenario.json); - match (result, scenario.expected) { - (Ok(result_op), Ok(expected_op)) => assert_eq!( - result_op, expected_op, - "Scenario {}: Expected Ok({:?}) but got Ok({:?})", - scenario.name, expected_op, result_op - ), - (Ok(result_op), Err(e)) => panic!( - "Scenario {}: expected Err({:?}) but got Ok({:?})", - scenario.name, e, result_op - ), - (Err(result_e), Err(expected_e)) => assert_eq!( - result_e.to_string(), - expected_e.to_string(), - "Scenario {}: expected Err({:?}) but got Err({:?})", - scenario.name, - expected_e, - result_e - ), - (Err(result_e), Ok(expected)) => panic!( - "Scenario {}: expected Ok({:?}) but got Err({:?})", - scenario.name, expected, result_e - ), - } - } - } - - #[test] - fn test_deserialize_obj() { - let root: Op = serde_json::from_value(serde_json::json!({ - "action": "inc", - "obj": "_root", - "key": "somekey", - "value": 1, - "pred": [] - })) - .unwrap(); - assert_eq!(root.obj, amp::ObjectId::Root); - - let opid: Op = serde_json::from_value(serde_json::json!({ - "action": "inc", - "obj": "1@7ef48769b04d47e9a88e98a134d62716", - "key": "somekey", - "value": 1, - "pred": [] - })) - .unwrap(); - assert_eq!( - opid.obj, - amp::ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap() - ); - - let invalid: Result = serde_json::from_value(serde_json::json!({ - "action": "inc", - "obj": "notanobject", - "key": "somekey", - "value": 1, - "pred": [] - })); - match invalid { - Ok(_) => panic!("Parsing an invalid object id should fail"), - Err(e) => assert!(e.to_string().contains("A valid ObjectID")), - } - } - - #[test] - fn test_serialize_key() { - let map_key = Op { - action: OpType::Increment(12), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }; - let json = serde_json::to_value(map_key).unwrap(); - let expected: serde_json::Value = "somekey".into(); - assert_eq!(json.as_object().unwrap().get("key"), Some(&expected)); - - let elemid_key = Op { - action: OpType::Increment(12), - obj: ObjectId::Root, - key: OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716") - .unwrap() - .into(), - insert: false, - pred: SortedVec::new(), - }; - let json = serde_json::to_value(elemid_key).unwrap(); - let expected: serde_json::Value = "1@7ef48769b04d47e9a88e98a134d62716".into(); - assert_eq!(json.as_object().unwrap().get("elemId"), Some(&expected)); - } - - #[test] - fn test_round_trips() { - let testcases = vec![ - Op { - action: OpType::Put(ScalarValue::Uint(12)), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }, - Op { - action: OpType::Increment(12), - obj: ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap(), - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }, - Op { - action: OpType::Put(ScalarValue::Uint(12)), - obj: ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap(), - key: "somekey".into(), - insert: false, - pred: vec![OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap()].into(), - }, - Op { - action: OpType::Increment(12), - obj: ObjectId::Root, - key: "somekey".into(), - insert: false, - pred: SortedVec::new(), - }, - Op { - action: OpType::Put("seomthing".into()), - obj: ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap(), - key: OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716") - .unwrap() - .into(), - insert: false, - pred: vec![OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap()].into(), - }, - ]; - for (testcase_num, testcase) in testcases.iter().enumerate() { - #[allow(clippy::expect_fun_call)] - let serialized = serde_json::to_string(testcase) - .expect(format!("Failed to serialize testcase {}", testcase_num).as_str()); - #[allow(clippy::expect_fun_call)] - let deserialized: Op = serde_json::from_str(&serialized) - .expect(format!("Failed to deserialize testcase {}", testcase_num).as_str()); - assert_eq!(testcase, &deserialized, "Testcase {} failed", testcase_num); - } - } -} diff --git a/rust/automerge/src/legacy/serde_impls/op_type.rs b/rust/automerge/src/legacy/serde_impls/op_type.rs deleted file mode 100644 index b054bad7..00000000 --- a/rust/automerge/src/legacy/serde_impls/op_type.rs +++ /dev/null @@ -1,24 +0,0 @@ -use serde::{Serialize, Serializer}; - -use super::op::RawOpType; -use crate::{ObjType, OpType}; - -impl Serialize for OpType { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - // We convert to a `RawOpType` b/c here we only want to serialize the type of the `OpType` - // and not its associated data, since in JSON the associated data is under a different key. - let raw_type = match self { - OpType::Make(ObjType::Map) => RawOpType::MakeMap, - OpType::Make(ObjType::Table) => RawOpType::MakeTable, - OpType::Make(ObjType::List) => RawOpType::MakeList, - OpType::Make(ObjType::Text) => RawOpType::MakeText, - OpType::Delete => RawOpType::Del, - OpType::Increment(_) => RawOpType::Inc, - OpType::Put(_) => RawOpType::Set, - }; - raw_type.serialize(serializer) - } -} diff --git a/rust/automerge/src/legacy/serde_impls/opid.rs b/rust/automerge/src/legacy/serde_impls/opid.rs deleted file mode 100644 index 06792cd4..00000000 --- a/rust/automerge/src/legacy/serde_impls/opid.rs +++ /dev/null @@ -1,25 +0,0 @@ -use std::str::FromStr; - -use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; - -use crate::legacy::OpId; - -impl<'de> Deserialize<'de> for OpId { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - let s = String::deserialize(deserializer)?; - OpId::from_str(&s) - .map_err(|_| de::Error::invalid_value(de::Unexpected::Str(&s), &"A valid OpID")) - } -} - -impl Serialize for OpId { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_str(self.to_string().as_str()) - } -} diff --git a/rust/automerge/src/legacy/serde_impls/scalar_value.rs b/rust/automerge/src/legacy/serde_impls/scalar_value.rs deleted file mode 100644 index b2a559ea..00000000 --- a/rust/automerge/src/legacy/serde_impls/scalar_value.rs +++ /dev/null @@ -1,63 +0,0 @@ -use serde::{de, Deserialize, Deserializer}; -use smol_str::SmolStr; - -use crate::types::ScalarValue; - -impl<'de> Deserialize<'de> for ScalarValue { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct ValueVisitor; - impl<'de> de::Visitor<'de> for ValueVisitor { - type Value = ScalarValue; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("a number, string, bool, or null") - } - - fn visit_bool(self, value: bool) -> Result - where - E: de::Error, - { - Ok(ScalarValue::Boolean(value)) - } - - fn visit_u64(self, value: u64) -> Result - where - E: de::Error, - { - Ok(ScalarValue::Uint(value)) - } - - fn visit_i64(self, value: i64) -> Result - where - E: de::Error, - { - Ok(ScalarValue::Int(value)) - } - - fn visit_f64(self, value: f64) -> Result - where - E: de::Error, - { - Ok(ScalarValue::F64(value)) - } - - fn visit_str(self, value: &str) -> Result - where - E: de::Error, - { - Ok(ScalarValue::Str(SmolStr::new(value))) - } - - fn visit_none(self) -> Result - where - E: de::Error, - { - Ok(ScalarValue::Null) - } - } - deserializer.deserialize_any(ValueVisitor) - } -} diff --git a/rust/automerge/src/legacy/utility_impls/element_id.rs b/rust/automerge/src/legacy/utility_impls/element_id.rs deleted file mode 100644 index 623234f5..00000000 --- a/rust/automerge/src/legacy/utility_impls/element_id.rs +++ /dev/null @@ -1,66 +0,0 @@ -use std::{ - cmp::{Ordering, PartialOrd}, - str::FromStr, -}; - -use crate::error::InvalidElementId; -use crate::legacy::{ElementId, OpId}; - -impl PartialOrd for ElementId { - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for ElementId { - fn cmp(&self, other: &Self) -> Ordering { - match (self, other) { - (ElementId::Id(a), ElementId::Id(b)) => a.cmp(b), - (ElementId::Head, ElementId::Head) => Ordering::Equal, - (ElementId::Head, _) => Ordering::Less, - (_, ElementId::Head) => Ordering::Greater, - } - } -} - -impl From for ElementId { - fn from(o: OpId) -> Self { - ElementId::Id(o) - } -} - -impl From<&OpId> for ElementId { - fn from(o: &OpId) -> Self { - ElementId::Id(o.clone()) - } -} - -impl FromStr for ElementId { - type Err = InvalidElementId; - - fn from_str(s: &str) -> Result { - match s { - "_head" => Ok(ElementId::Head), - id => Ok(ElementId::Id( - OpId::from_str(id).map_err(|_| InvalidElementId(id.to_string()))?, - )), - } - } -} - -impl TryFrom<&str> for ElementId { - type Error = InvalidElementId; - - fn try_from(value: &str) -> Result { - ElementId::from_str(value) - } -} - -impl std::fmt::Display for ElementId { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - ElementId::Head => write!(f, "_head"), - ElementId::Id(id) => write!(f, "{}", id), - } - } -} diff --git a/rust/automerge/src/legacy/utility_impls/key.rs b/rust/automerge/src/legacy/utility_impls/key.rs deleted file mode 100644 index ab9769f1..00000000 --- a/rust/automerge/src/legacy/utility_impls/key.rs +++ /dev/null @@ -1,49 +0,0 @@ -use std::cmp::{Ordering, PartialOrd}; - -use smol_str::SmolStr; - -use crate::legacy::{ElementId, Key, OpId}; - -impl PartialOrd for Key { - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for Key { - fn cmp(&self, other: &Self) -> Ordering { - match (self, other) { - (Key::Map(a), Key::Map(b)) => a.cmp(b), - (Key::Seq(a), Key::Seq(b)) => a.cmp(b), - (Key::Map(_), _) => Ordering::Less, - (_, Key::Map(_)) => Ordering::Greater, - } - } -} - -impl From for Key { - fn from(id: OpId) -> Self { - Key::Seq(ElementId::Id(id)) - } -} - -impl From<&OpId> for Key { - fn from(id: &OpId) -> Self { - Key::Seq(ElementId::Id(id.clone())) - } -} - -impl From for Key { - fn from(id: ElementId) -> Self { - Key::Seq(id) - } -} - -impl From for Key -where - S: AsRef, -{ - fn from(s: S) -> Self { - Key::Map(SmolStr::new(s)) - } -} diff --git a/rust/automerge/src/legacy/utility_impls/mod.rs b/rust/automerge/src/legacy/utility_impls/mod.rs deleted file mode 100644 index 99fa1750..00000000 --- a/rust/automerge/src/legacy/utility_impls/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -mod element_id; -mod key; -mod object_id; -mod opid; diff --git a/rust/automerge/src/legacy/utility_impls/object_id.rs b/rust/automerge/src/legacy/utility_impls/object_id.rs deleted file mode 100644 index c4f20f8c..00000000 --- a/rust/automerge/src/legacy/utility_impls/object_id.rs +++ /dev/null @@ -1,74 +0,0 @@ -use std::{ - cmp::{Ordering, PartialOrd}, - fmt, - str::FromStr, -}; - -use crate::error::InvalidObjectId; -use crate::legacy::{ObjectId, OpId}; - -impl PartialOrd for ObjectId { - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } -} - -impl Ord for ObjectId { - fn cmp(&self, other: &Self) -> Ordering { - match (self, other) { - (ObjectId::Root, ObjectId::Root) => Ordering::Equal, - (ObjectId::Root, _) => Ordering::Less, - (_, ObjectId::Root) => Ordering::Greater, - (ObjectId::Id(a), ObjectId::Id(b)) => a.cmp(b), - } - } -} - -impl From<&OpId> for ObjectId { - fn from(o: &OpId) -> Self { - ObjectId::Id(o.clone()) - } -} - -impl From<&ObjectId> for ObjectId { - fn from(o: &ObjectId) -> Self { - o.clone() - } -} - -impl FromStr for ObjectId { - type Err = InvalidObjectId; - - fn from_str(s: &str) -> Result { - if s == "_root" { - Ok(ObjectId::Root) - } else if let Ok(id) = OpId::from_str(s) { - Ok(ObjectId::Id(id)) - } else { - Err(InvalidObjectId(s.to_string())) - } - } -} - -impl From for ObjectId { - fn from(id: OpId) -> Self { - ObjectId::Id(id) - } -} - -impl fmt::Display for ObjectId { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - ObjectId::Root => write!(f, "_root"), - ObjectId::Id(oid) => write!(f, "{}", oid), - } - } -} - -impl TryFrom<&str> for ObjectId { - type Error = InvalidObjectId; - - fn try_from(value: &str) -> Result { - ObjectId::from_str(value) - } -} diff --git a/rust/automerge/src/legacy/utility_impls/opid.rs b/rust/automerge/src/legacy/utility_impls/opid.rs deleted file mode 100644 index aabdc67c..00000000 --- a/rust/automerge/src/legacy/utility_impls/opid.rs +++ /dev/null @@ -1,68 +0,0 @@ -use core::fmt; -use std::{ - cmp::{Ordering, PartialOrd}, - str::FromStr, -}; - -use crate::error::InvalidOpId; -use crate::legacy::{ActorId, OpId}; - -impl Ord for OpId { - fn cmp(&self, other: &Self) -> Ordering { - if self.0 != other.0 { - self.0.cmp(&other.0) - } else { - self.1.cmp(&other.1) - } - } -} - -impl fmt::Debug for OpId { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.write_str(self.to_string().as_str()) - } -} - -impl fmt::Display for OpId { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - OpId(seq, actor) => write!(f, "{}@{}", seq, actor), - } - } -} - -impl PartialOrd for OpId { - fn partial_cmp(&self, other: &Self) -> Option { - Some(self.cmp(other)) - } -} - -impl FromStr for OpId { - type Err = InvalidOpId; - - fn from_str(s: &str) -> Result { - let mut i = s.split('@'); - match (i.next(), i.next(), i.next()) { - (Some(counter_str), Some(actor_str), None) => { - match (counter_str.parse(), ActorId::from_str(actor_str)) { - (Ok(counter), Ok(actor)) => Ok(OpId(counter, actor)), - _ => Err(InvalidOpId(s.to_string())), - } - } - _ => Err(InvalidOpId(s.to_string())), - } - } -} - -impl TryFrom<&str> for OpId { - type Error = InvalidOpId; - fn try_from(s: &str) -> Result { - OpId::from_str(s) - } -} - -impl From<&OpId> for String { - fn from(id: &OpId) -> Self { - id.to_string() - } -} diff --git a/rust/automerge/src/lib.rs b/rust/automerge/src/lib.rs deleted file mode 100644 index cbb535af..00000000 --- a/rust/automerge/src/lib.rs +++ /dev/null @@ -1,301 +0,0 @@ -//! # Automerge -//! -//! Automerge is a library of data structures for building collaborative, -//! [local-first](https://www.inkandswitch.com/local-first/) applications. The -//! idea of automerge is to provide a data structure which is quite general, -//! \- consisting of nested key/value maps and/or lists - which can be modified -//! entirely locally but which can at any time be merged with other instances of -//! the same data structure. -//! -//! In addition to the core data structure (which we generally refer to as a -//! "document"), we also provide an implementation of a sync protocol (in -//! [`crate::sync`]) which can be used over any reliable in-order transport; and -//! an efficient binary storage format. -//! -//! This crate is organised around two representations of a document - -//! [`Automerge`] and [`AutoCommit`]. The difference between the two is that -//! [`AutoCommit`] manages transactions for you. Both of these representations -//! implement [`ReadDoc`] for reading values from a document and -//! [`sync::SyncDoc`] for taking part in the sync protocol. [`AutoCommit`] -//! directly implements [`transaction::Transactable`] for making changes to a -//! document, whilst [`Automerge`] requires you to explicitly create a -//! [`transaction::Transaction`]. -//! -//! NOTE: The API this library provides for modifying data is quite low level -//! (somewhat analogous to directly creating JSON values rather than using -//! `serde` derive macros or equivalent). If you're writing a Rust application which uses automerge -//! you may want to look at [autosurgeon](https://github.com/automerge/autosurgeon). -//! -//! ## Data Model -//! -//! An automerge document is a map from strings to values -//! ([`Value`]) where values can be either -//! -//! * A nested composite value which is either -//! * A map from strings to values ([`ObjType::Map`]) -//! * A list of values ([`ObjType::List`]) -//! * A text object (a sequence of unicode characters) ([`ObjType::Text`]) -//! * A primitive value ([`ScalarValue`]) which is one of -//! * A string -//! * A 64 bit floating point number -//! * A signed 64 bit integer -//! * An unsigned 64 bit integer -//! * A boolean -//! * A counter object (a 64 bit integer which merges by addition) -//! ([`ScalarValue::Counter`]) -//! * A timestamp (a 64 bit integer which is milliseconds since the unix epoch) -//! -//! All composite values have an ID ([`ObjId`]) which is created when the value -//! is inserted into the document or is the root object ID [`ROOT`]. Values in -//! the document are then referred to by the pair (`object ID`, `key`). The -//! `key` is represented by the [`Prop`] type and is either a string for a maps, -//! or an index for sequences. -//! -//! ### Conflicts -//! -//! There are some things automerge cannot merge sensibly. For example, two -//! actors concurrently setting the key "name" to different values. In this case -//! automerge will pick a winning value in a random but deterministic way, but -//! the conflicting value is still available via the [`ReadDoc::get_all`] method. -//! -//! ### Change hashes and historical values -//! -//! Like git, points in the history of a document are identified by hash. Unlike -//! git there can be multiple hashes representing a particular point (because -//! automerge supports concurrent changes). These hashes can be obtained using -//! either [`Automerge::get_heads`] or [`AutoCommit::get_heads`] (note these -//! methods are not part of [`ReadDoc`] because in the case of [`AutoCommit`] it -//! requires a mutable reference to the document). -//! -//! These hashes can be used to read values from the document at a particular -//! point in history using the various `*_at` methods on [`ReadDoc`] which take a -//! slice of [`ChangeHash`] as an argument. -//! -//! ### Actor IDs -//! -//! Any change to an automerge document is made by an actor, represented by an -//! [`ActorId`]. An actor ID is any random sequence of bytes but each change by -//! the same actor ID must be sequential. This often means you will want to -//! maintain at least one actor ID per device. It is fine to generate a new -//! actor ID for each change, but be aware that each actor ID takes up space in -//! a document so if you expect a document to be long lived and/or to have many -//! changes then you should try to reuse actor IDs where possible. -//! -//! ### Text Encoding -//! -//! Both [`Automerge`] and [`AutoCommit`] provide a `with_encoding` method which -//! allows you to specify the [`crate::TextEncoding`] which is used for -//! interpreting the indexes passed to methods like [`ReadDoc::list_range`] or -//! [`transaction::Transactable::splice`]. The default encoding is UTF-8, but -//! you can switch to UTF-16. -//! -//! ## Sync Protocol -//! -//! See the [`sync`] module. -//! -//! ## Serde serialization -//! -//! Sometimes you just want to get the JSON value of an automerge document. For -//! this you can use [`AutoSerde`], which implements `serde::Serialize` for an -//! automerge document. -//! -//! ## Example -//! -//! Let's create a document representing an address book. -//! -//! ``` -//! use automerge::{ObjType, AutoCommit, transaction::Transactable, ReadDoc}; -//! -//! # fn main() -> Result<(), Box> { -//! let mut doc = AutoCommit::new(); -//! -//! // `put_object` creates a nested object in the root key/value map and -//! // returns the ID of the new object, in this case a list. -//! let contacts = doc.put_object(automerge::ROOT, "contacts", ObjType::List)?; -//! -//! // Now we can insert objects into the list -//! let alice = doc.insert_object(&contacts, 0, ObjType::Map)?; -//! -//! // Finally we can set keys in the "alice" map -//! doc.put(&alice, "name", "Alice")?; -//! doc.put(&alice, "email", "alice@example.com")?; -//! -//! // Create another contact -//! let bob = doc.insert_object(&contacts, 1, ObjType::Map)?; -//! doc.put(&bob, "name", "Bob")?; -//! doc.put(&bob, "email", "bob@example.com")?; -//! -//! // Now we save the address book, we can put this in a file -//! let data: Vec = doc.save(); -//! # Ok(()) -//! # } -//! ``` -//! -//! Now modify this document on two separate devices and merge the modifications. -//! -//! ``` -//! use std::borrow::Cow; -//! use automerge::{ObjType, AutoCommit, transaction::Transactable, ReadDoc}; -//! -//! # fn main() -> Result<(), Box> { -//! # let mut doc = AutoCommit::new(); -//! # let contacts = doc.put_object(automerge::ROOT, "contacts", ObjType::List)?; -//! # let alice = doc.insert_object(&contacts, 0, ObjType::Map)?; -//! # doc.put(&alice, "name", "Alice")?; -//! # doc.put(&alice, "email", "alice@example.com")?; -//! # let bob = doc.insert_object(&contacts, 1, ObjType::Map)?; -//! # doc.put(&bob, "name", "Bob")?; -//! # doc.put(&bob, "email", "bob@example.com")?; -//! # let saved: Vec = doc.save(); -//! -//! // Load the document on the first device and change alices email -//! let mut doc1 = AutoCommit::load(&saved)?; -//! let contacts = match doc1.get(automerge::ROOT, "contacts")? { -//! Some((automerge::Value::Object(ObjType::List), contacts)) => contacts, -//! _ => panic!("contacts should be a list"), -//! }; -//! let alice = match doc1.get(&contacts, 0)? { -//! Some((automerge::Value::Object(ObjType::Map), alice)) => alice, -//! _ => panic!("alice should be a map"), -//! }; -//! doc1.put(&alice, "email", "alicesnewemail@example.com")?; -//! -//! -//! // Load the document on the second device and change bobs name -//! let mut doc2 = AutoCommit::load(&saved)?; -//! let contacts = match doc2.get(automerge::ROOT, "contacts")? { -//! Some((automerge::Value::Object(ObjType::List), contacts)) => contacts, -//! _ => panic!("contacts should be a list"), -//! }; -//! let bob = match doc2.get(&contacts, 1)? { -//! Some((automerge::Value::Object(ObjType::Map), bob)) => bob, -//! _ => panic!("bob should be a map"), -//! }; -//! doc2.put(&bob, "name", "Robert")?; -//! -//! // Finally, we can merge the changes from the two devices -//! doc1.merge(&mut doc2)?; -//! let bobsname: Option = doc1.get(&bob, "name")?.map(|(v, _)| v); -//! assert_eq!(bobsname, Some(automerge::Value::Scalar(Cow::Owned("Robert".into())))); -//! -//! let alices_email: Option = doc1.get(&alice, "email")?.map(|(v, _)| v); -//! assert_eq!(alices_email, Some(automerge::Value::Scalar(Cow::Owned("alicesnewemail@example.com".into())))); -//! # Ok(()) -//! # } -//! ``` -//! - -#![doc( - html_logo_url = "https://raw.githubusercontent.com/automerge/automerge-rs/main/img/brandmark.svg", - html_favicon_url = "https:///raw.githubusercontent.com/automerge/automerge-rs/main/img/favicon.ico" -)] -#![warn( - missing_debug_implementations, - // missing_docs, // TODO: add documentation! - rust_2018_idioms, - unreachable_pub, - bad_style, - dead_code, - improper_ctypes, - non_shorthand_field_patterns, - no_mangle_generic_items, - overflowing_literals, - path_statements, - patterns_in_fns_without_body, - private_in_public, - unconditional_recursion, - unused, - unused_allocation, - unused_comparisons, - unused_parens, - while_true -)] - -#[doc(hidden)] -#[macro_export] -macro_rules! log { - ( $( $t:tt )* ) => { - { - use $crate::__log; - __log!( $( $t )* ); - } - } - } - -#[cfg(all(feature = "wasm", target_family = "wasm"))] -#[doc(hidden)] -#[macro_export] -macro_rules! __log { - ( $( $t:tt )* ) => { - web_sys::console::log_1(&format!( $( $t )* ).into()); - } - } - -#[cfg(not(all(feature = "wasm", target_family = "wasm")))] -#[doc(hidden)] -#[macro_export] -macro_rules! __log { - ( $( $t:tt )* ) => { - println!( $( $t )* ); - } - } - -mod autocommit; -mod automerge; -mod autoserde; -mod change; -mod change_graph; -mod clock; -mod columnar; -mod convert; -mod error; -mod exid; -mod indexed_cache; -mod keys; -mod keys_at; -mod legacy; -mod list_range; -mod list_range_at; -mod map_range; -mod map_range_at; -pub mod op_observer; -mod op_set; -mod op_tree; -mod parents; -mod query; -mod read; -mod storage; -pub mod sync; -pub mod transaction; -mod types; -mod value; -mod values; -#[cfg(feature = "optree-visualisation")] -mod visualisation; - -pub use crate::automerge::{Automerge, OnPartialLoad}; -pub use autocommit::{AutoCommit, AutoCommitWithObs}; -pub use autoserde::AutoSerde; -pub use change::{Change, LoadError as LoadChangeError}; -pub use error::AutomergeError; -pub use error::InvalidActorId; -pub use error::InvalidChangeHashSlice; -pub use exid::{ExId as ObjId, ObjIdFromBytesError}; -pub use keys::Keys; -pub use keys_at::KeysAt; -pub use legacy::Change as ExpandedChange; -pub use list_range::ListRange; -pub use list_range_at::ListRangeAt; -pub use map_range::MapRange; -pub use map_range_at::MapRangeAt; -pub use op_observer::OpObserver; -pub use op_observer::Patch; -pub use op_observer::VecOpObserver; -pub use parents::{Parent, Parents}; -pub use read::ReadDoc; -pub use types::{ActorId, ChangeHash, ObjType, OpType, ParseChangeHashError, Prop, TextEncoding}; -pub use value::{ScalarValue, Value}; -pub use values::Values; - -/// The object ID for the root map of a document -pub const ROOT: ObjId = ObjId::Root; diff --git a/rust/automerge/src/list_range.rs b/rust/automerge/src/list_range.rs deleted file mode 100644 index a043da72..00000000 --- a/rust/automerge/src/list_range.rs +++ /dev/null @@ -1,30 +0,0 @@ -use crate::{exid::ExId, Value}; - -use crate::{query, Automerge}; -use std::ops::RangeBounds; - -/// An iterator over the elements of a list object -/// -/// This is returned by the [`crate::ReadDoc::list_range`] method -#[derive(Debug)] -pub struct ListRange<'a, R: RangeBounds> { - range: Option>, - doc: &'a Automerge, -} - -impl<'a, R: RangeBounds> ListRange<'a, R> { - pub(crate) fn new(doc: &'a Automerge, range: Option>) -> Self { - Self { range, doc } - } -} - -impl<'a, R: RangeBounds> Iterator for ListRange<'a, R> { - type Item = (usize, Value<'a>, ExId); - - fn next(&mut self) -> Option { - self.range - .as_mut()? - .next() - .map(|(idx, value, id)| (idx, value, self.doc.id_to_exid(id))) - } -} diff --git a/rust/automerge/src/list_range_at.rs b/rust/automerge/src/list_range_at.rs deleted file mode 100644 index ce8f5a46..00000000 --- a/rust/automerge/src/list_range_at.rs +++ /dev/null @@ -1,30 +0,0 @@ -use crate::{exid::ExId, Value}; -use std::ops::RangeBounds; - -use crate::{query, Automerge}; - -/// An iterator over the elements of a list object at a particular set of heads -/// -/// This is returned by the [`crate::ReadDoc::list_range_at`] method -#[derive(Debug)] -pub struct ListRangeAt<'a, R: RangeBounds> { - range: Option>, - doc: &'a Automerge, -} - -impl<'a, R: RangeBounds> ListRangeAt<'a, R> { - pub(crate) fn new(doc: &'a Automerge, range: Option>) -> Self { - Self { range, doc } - } -} - -impl<'a, R: RangeBounds> Iterator for ListRangeAt<'a, R> { - type Item = (usize, Value<'a>, ExId); - - fn next(&mut self) -> Option { - self.range - .as_mut()? - .next() - .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id))) - } -} diff --git a/rust/automerge/src/map_range.rs b/rust/automerge/src/map_range.rs deleted file mode 100644 index ad33ebf5..00000000 --- a/rust/automerge/src/map_range.rs +++ /dev/null @@ -1,39 +0,0 @@ -use crate::{exid::ExId, Value}; -use std::ops::RangeBounds; - -use crate::{query, Automerge}; - -/// An iterator over the keys and values of a map object -/// -/// This is returned by the [`crate::ReadDoc::map_range`] method -#[derive(Debug)] -pub struct MapRange<'a, R: RangeBounds> { - range: Option>, - doc: &'a Automerge, -} - -impl<'a, R: RangeBounds> MapRange<'a, R> { - pub(crate) fn new(doc: &'a Automerge, range: Option>) -> Self { - Self { range, doc } - } -} - -impl<'a, R: RangeBounds> Iterator for MapRange<'a, R> { - type Item = (&'a str, Value<'a>, ExId); - - fn next(&mut self) -> Option { - self.range - .as_mut()? - .next() - .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id))) - } -} - -impl<'a, R: RangeBounds> DoubleEndedIterator for MapRange<'a, R> { - fn next_back(&mut self) -> Option { - self.range - .as_mut()? - .next_back() - .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id))) - } -} diff --git a/rust/automerge/src/map_range_at.rs b/rust/automerge/src/map_range_at.rs deleted file mode 100644 index 8d008e89..00000000 --- a/rust/automerge/src/map_range_at.rs +++ /dev/null @@ -1,39 +0,0 @@ -use crate::{exid::ExId, Value}; -use std::ops::RangeBounds; - -use crate::{query, Automerge}; - -/// An iterator over the keys and values of a map object as at a particuar heads -/// -/// This is returned by the [`crate::ReadDoc::map_range_at`] method -#[derive(Debug)] -pub struct MapRangeAt<'a, R: RangeBounds> { - range: Option>, - doc: &'a Automerge, -} - -impl<'a, R: RangeBounds> MapRangeAt<'a, R> { - pub(crate) fn new(doc: &'a Automerge, range: Option>) -> Self { - Self { range, doc } - } -} - -impl<'a, R: RangeBounds> Iterator for MapRangeAt<'a, R> { - type Item = (&'a str, Value<'a>, ExId); - - fn next(&mut self) -> Option { - self.range - .as_mut()? - .next() - .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id))) - } -} - -impl<'a, R: RangeBounds> DoubleEndedIterator for MapRangeAt<'a, R> { - fn next_back(&mut self) -> Option { - self.range - .as_mut()? - .next_back() - .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id))) - } -} diff --git a/rust/automerge/src/op_observer.rs b/rust/automerge/src/op_observer.rs deleted file mode 100644 index 5b33c21f..00000000 --- a/rust/automerge/src/op_observer.rs +++ /dev/null @@ -1,392 +0,0 @@ -use crate::exid::ExId; -use crate::Prop; -use crate::ReadDoc; -use crate::Value; - -mod compose; -pub use compose::compose; - -/// An observer of operations applied to the document. -pub trait OpObserver { - /// A new value has been inserted into the given object. - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that has been inserted into. - /// - `index`: the index the new value has been inserted at. - /// - `tagged_value`: the value that has been inserted and the id of the operation that did the - /// insert. - fn insert( - &mut self, - doc: &R, - objid: ExId, - index: usize, - tagged_value: (Value<'_>, ExId), - ); - - /// Some text has been spliced into a text object - fn splice_text(&mut self, _doc: &R, _objid: ExId, _index: usize, _value: &str); - - /// A new value has been put into the given object. - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that has been put into. - /// - `prop`: the prop that the value as been put at. - /// - `tagged_value`: the value that has been put into the object and the id of the operation - /// that did the put. - /// - `conflict`: whether this put conflicts with other operations. - fn put( - &mut self, - doc: &R, - objid: ExId, - prop: Prop, - tagged_value: (Value<'_>, ExId), - conflict: bool, - ); - - /// When a delete op exposes a previously conflicted value - /// Similar to a put op - except for maps, lists and text, edits - /// may already exist and need to be queried - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that has been put into. - /// - `prop`: the prop that the value as been put at. - /// - `tagged_value`: the value that has been put into the object and the id of the operation - /// that did the put. - /// - `conflict`: whether this put conflicts with other operations. - fn expose( - &mut self, - doc: &R, - objid: ExId, - prop: Prop, - tagged_value: (Value<'_>, ExId), - conflict: bool, - ); - - /// Flag a new conflict on a value without changing it - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that has been put into. - /// - `prop`: the prop that the value as been put at. - fn flag_conflict(&mut self, _doc: &R, _objid: ExId, _prop: Prop) {} - - /// A counter has been incremented. - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that contains the counter. - /// - `prop`: they prop that the chounter is at. - /// - `tagged_value`: the amount the counter has been incremented by, and the the id of the - /// increment operation. - fn increment( - &mut self, - doc: &R, - objid: ExId, - prop: Prop, - tagged_value: (i64, ExId), - ); - - /// A map value has beeen deleted. - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that has been deleted in. - /// - `prop`: the prop to be deleted - fn delete(&mut self, doc: &R, objid: ExId, prop: Prop) { - match prop { - Prop::Map(k) => self.delete_map(doc, objid, &k), - Prop::Seq(i) => self.delete_seq(doc, objid, i, 1), - } - } - - /// A map value has beeen deleted. - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that has been deleted in. - /// - `key`: the map key to be deleted - fn delete_map(&mut self, doc: &R, objid: ExId, key: &str); - - /// A one or more list values have beeen deleted. - /// - /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information - /// - `objid`: the object that has been deleted in. - /// - `index`: the index of the deletion - /// - `num`: the number of sequential elements deleted - fn delete_seq(&mut self, doc: &R, objid: ExId, index: usize, num: usize); - - /// Whether to call sequence methods or `splice_text` when encountering changes in text - /// - /// Returns `false` by default - fn text_as_seq(&self) -> bool { - false - } -} - -/// An observer which can be branched -/// -/// This is used when observing operations in a transaction. In this case `branch` will be called -/// at the beginning of the transaction to return a new observer and then `merge` will be called -/// with the branched observer as `other` when the transaction is comitted. -pub trait BranchableObserver { - /// Branch of a new op_observer later to be merged - /// - /// Called when creating a new transaction. Observer branch will be merged on `commit()` or - /// thrown away on `rollback()` - fn branch(&self) -> Self; - - /// Merge observed information from a transaction. - /// - /// Called by AutoCommit on `commit()` - /// - /// - `other`: Another Op Observer of the same type - fn merge(&mut self, other: &Self); -} - -impl OpObserver for () { - fn insert( - &mut self, - _doc: &R, - _objid: ExId, - _index: usize, - _tagged_value: (Value<'_>, ExId), - ) { - } - - fn splice_text(&mut self, _doc: &R, _objid: ExId, _index: usize, _value: &str) {} - - fn put( - &mut self, - _doc: &R, - _objid: ExId, - _prop: Prop, - _tagged_value: (Value<'_>, ExId), - _conflict: bool, - ) { - } - - fn expose( - &mut self, - _doc: &R, - _objid: ExId, - _prop: Prop, - _tagged_value: (Value<'_>, ExId), - _conflict: bool, - ) { - } - - fn increment( - &mut self, - _doc: &R, - _objid: ExId, - _prop: Prop, - _tagged_value: (i64, ExId), - ) { - } - - fn delete_map(&mut self, _doc: &R, _objid: ExId, _key: &str) {} - - fn delete_seq(&mut self, _doc: &R, _objid: ExId, _index: usize, _num: usize) {} -} - -impl BranchableObserver for () { - fn merge(&mut self, _other: &Self) {} - fn branch(&self) -> Self {} -} - -/// Capture operations into a [`Vec`] and store them as patches. -#[derive(Default, Debug, Clone)] -pub struct VecOpObserver { - patches: Vec, -} - -impl VecOpObserver { - /// Take the current list of patches, leaving the internal list empty and ready for new - /// patches. - pub fn take_patches(&mut self) -> Vec { - std::mem::take(&mut self.patches) - } -} - -impl OpObserver for VecOpObserver { - fn insert( - &mut self, - doc: &R, - obj: ExId, - index: usize, - (value, id): (Value<'_>, ExId), - ) { - if let Ok(p) = doc.parents(&obj) { - self.patches.push(Patch::Insert { - obj, - path: p.path(), - index, - value: (value.into_owned(), id), - }); - } - } - - fn splice_text(&mut self, doc: &R, obj: ExId, index: usize, value: &str) { - if let Ok(p) = doc.parents(&obj) { - self.patches.push(Patch::Splice { - obj, - path: p.path(), - index, - value: value.to_string(), - }) - } - } - - fn put( - &mut self, - doc: &R, - obj: ExId, - prop: Prop, - (value, id): (Value<'_>, ExId), - conflict: bool, - ) { - if let Ok(p) = doc.parents(&obj) { - self.patches.push(Patch::Put { - obj, - path: p.path(), - prop, - value: (value.into_owned(), id), - conflict, - }); - } - } - - fn expose( - &mut self, - doc: &R, - obj: ExId, - prop: Prop, - (value, id): (Value<'_>, ExId), - conflict: bool, - ) { - if let Ok(p) = doc.parents(&obj) { - self.patches.push(Patch::Expose { - obj, - path: p.path(), - prop, - value: (value.into_owned(), id), - conflict, - }); - } - } - - fn increment(&mut self, doc: &R, obj: ExId, prop: Prop, tagged_value: (i64, ExId)) { - if let Ok(p) = doc.parents(&obj) { - self.patches.push(Patch::Increment { - obj, - path: p.path(), - prop, - value: tagged_value, - }); - } - } - - fn delete_map(&mut self, doc: &R, obj: ExId, key: &str) { - if let Ok(p) = doc.parents(&obj) { - self.patches.push(Patch::Delete { - obj, - path: p.path(), - prop: Prop::Map(key.to_owned()), - num: 1, - }) - } - } - - fn delete_seq(&mut self, doc: &R, obj: ExId, index: usize, num: usize) { - if let Ok(p) = doc.parents(&obj) { - self.patches.push(Patch::Delete { - obj, - path: p.path(), - prop: Prop::Seq(index), - num, - }) - } - } -} - -impl BranchableObserver for VecOpObserver { - fn merge(&mut self, other: &Self) { - self.patches.extend_from_slice(other.patches.as_slice()) - } - - fn branch(&self) -> Self { - Self::default() - } -} - -/// A notification to the application that something has changed in a document. -#[derive(Debug, Clone, PartialEq)] -pub enum Patch { - /// Associating a new value with a prop in a map, or an existing list element - Put { - /// path to the object - path: Vec<(ExId, Prop)>, - /// The object that was put into. - obj: ExId, - /// The prop that the new value was put at. - prop: Prop, - /// The value that was put, and the id of the operation that put it there. - value: (Value<'static>, ExId), - /// Whether this put conflicts with another. - conflict: bool, - }, - /// Exposing (via delete) an old but conflicted value with a prop in a map, or a list element - Expose { - /// path to the object - path: Vec<(ExId, Prop)>, - /// The object that was put into. - obj: ExId, - /// The prop that the new value was put at. - prop: Prop, - /// The value that was put, and the id of the operation that put it there. - value: (Value<'static>, ExId), - /// Whether this put conflicts with another. - conflict: bool, - }, - /// Inserting a new element into a list - Insert { - /// path to the object - path: Vec<(ExId, Prop)>, - /// The object that was inserted into. - obj: ExId, - /// The index that the new value was inserted at. - index: usize, - /// The value that was inserted, and the id of the operation that inserted it there. - value: (Value<'static>, ExId), - }, - /// Splicing a text object - Splice { - /// path to the object - path: Vec<(ExId, Prop)>, - /// The object that was inserted into. - obj: ExId, - /// The index that the new value was inserted at. - index: usize, - /// The value that was spliced - value: String, - }, - /// Incrementing a counter. - Increment { - /// path to the object - path: Vec<(ExId, Prop)>, - /// The object that was incremented in. - obj: ExId, - /// The prop that was incremented. - prop: Prop, - /// The amount that the counter was incremented by, and the id of the operation that - /// did the increment. - value: (i64, ExId), - }, - /// Deleting an element from a list/text - Delete { - /// path to the object - path: Vec<(ExId, Prop)>, - /// The object that was deleted from. - obj: ExId, - /// The prop that was deleted. - prop: Prop, - /// number of items deleted (for seq) - num: usize, - }, -} diff --git a/rust/automerge/src/op_observer/compose.rs b/rust/automerge/src/op_observer/compose.rs deleted file mode 100644 index 92fe3b1e..00000000 --- a/rust/automerge/src/op_observer/compose.rs +++ /dev/null @@ -1,102 +0,0 @@ -use super::OpObserver; - -pub fn compose<'a, O1: OpObserver, O2: OpObserver>( - obs1: &'a mut O1, - obs2: &'a mut O2, -) -> impl OpObserver + 'a { - ComposeObservers { obs1, obs2 } -} - -struct ComposeObservers<'a, O1: OpObserver, O2: OpObserver> { - obs1: &'a mut O1, - obs2: &'a mut O2, -} - -impl<'a, O1: OpObserver, O2: OpObserver> OpObserver for ComposeObservers<'a, O1, O2> { - fn insert( - &mut self, - doc: &R, - objid: crate::ObjId, - index: usize, - tagged_value: (crate::Value<'_>, crate::ObjId), - ) { - self.obs1 - .insert(doc, objid.clone(), index, tagged_value.clone()); - self.obs2.insert(doc, objid, index, tagged_value); - } - - fn splice_text( - &mut self, - doc: &R, - objid: crate::ObjId, - index: usize, - value: &str, - ) { - self.obs1.splice_text(doc, objid.clone(), index, value); - self.obs2.splice_text(doc, objid, index, value); - } - - fn put( - &mut self, - doc: &R, - objid: crate::ObjId, - prop: crate::Prop, - tagged_value: (crate::Value<'_>, crate::ObjId), - conflict: bool, - ) { - self.obs1.put( - doc, - objid.clone(), - prop.clone(), - tagged_value.clone(), - conflict, - ); - self.obs2.put(doc, objid, prop, tagged_value, conflict); - } - - fn expose( - &mut self, - doc: &R, - objid: crate::ObjId, - prop: crate::Prop, - tagged_value: (crate::Value<'_>, crate::ObjId), - conflict: bool, - ) { - self.obs1.expose( - doc, - objid.clone(), - prop.clone(), - tagged_value.clone(), - conflict, - ); - self.obs2.expose(doc, objid, prop, tagged_value, conflict); - } - - fn increment( - &mut self, - doc: &R, - objid: crate::ObjId, - prop: crate::Prop, - tagged_value: (i64, crate::ObjId), - ) { - self.obs1 - .increment(doc, objid.clone(), prop.clone(), tagged_value.clone()); - self.obs2.increment(doc, objid, prop, tagged_value); - } - - fn delete_map(&mut self, doc: &R, objid: crate::ObjId, key: &str) { - self.obs1.delete_map(doc, objid.clone(), key); - self.obs2.delete_map(doc, objid, key); - } - - fn delete_seq( - &mut self, - doc: &R, - objid: crate::ObjId, - index: usize, - num: usize, - ) { - self.obs2.delete_seq(doc, objid.clone(), index, num); - self.obs2.delete_seq(doc, objid, index, num); - } -} diff --git a/rust/automerge/src/op_set.rs b/rust/automerge/src/op_set.rs deleted file mode 100644 index aab8ce74..00000000 --- a/rust/automerge/src/op_set.rs +++ /dev/null @@ -1,405 +0,0 @@ -use crate::clock::Clock; -use crate::exid::ExId; -use crate::indexed_cache::IndexedCache; -use crate::op_tree::{self, OpTree}; -use crate::parents::Parents; -use crate::query::{self, OpIdVisSearch, TreeQuery}; -use crate::types::{self, ActorId, Key, ListEncoding, ObjId, Op, OpId, OpIds, OpType, Prop}; -use crate::ObjType; -use fxhash::FxBuildHasher; -use std::borrow::Borrow; -use std::cmp::Ordering; -use std::collections::HashMap; -use std::ops::RangeBounds; - -mod load; -pub(crate) use load::OpSetBuilder; - -pub(crate) type OpSet = OpSetInternal; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct OpSetInternal { - /// The map of objects to their type and ops. - trees: HashMap, - /// The number of operations in the opset. - length: usize, - /// Metadata about the operations in this opset. - pub(crate) m: OpSetMetadata, -} - -impl OpSetInternal { - pub(crate) fn builder() -> OpSetBuilder { - OpSetBuilder::new() - } - - pub(crate) fn new() -> Self { - let mut trees: HashMap<_, _, _> = Default::default(); - trees.insert(ObjId::root(), OpTree::new()); - OpSetInternal { - trees, - length: 0, - m: OpSetMetadata { - actors: IndexedCache::new(), - props: IndexedCache::new(), - }, - } - } - - pub(crate) fn id_to_exid(&self, id: OpId) -> ExId { - if id == types::ROOT { - ExId::Root - } else { - ExId::Id( - id.counter(), - self.m.actors.cache[id.actor()].clone(), - id.actor(), - ) - } - } - - pub(crate) fn iter(&self) -> Iter<'_> { - let mut objs: Vec<_> = self.trees.iter().map(|t| (t.0, t.1.objtype, t.1)).collect(); - objs.sort_by(|a, b| self.m.lamport_cmp((a.0).0, (b.0).0)); - Iter { - opset: self, - trees: objs.into_iter(), - current: None, - } - } - - /// Iterate over objects in the opset in causal order - pub(crate) fn iter_objs( - &self, - ) -> impl Iterator)> + '_ { - let mut objs: Vec<_> = self.trees.iter().map(|t| (t.0, t.1.objtype, t.1)).collect(); - objs.sort_by(|a, b| self.m.lamport_cmp((a.0).0, (b.0).0)); - IterObjs { - trees: objs.into_iter(), - } - } - - pub(crate) fn parents(&self, obj: ObjId) -> Parents<'_> { - Parents { obj, ops: self } - } - - pub(crate) fn parent_object(&self, obj: &ObjId) -> Option { - let parent = self.trees.get(obj)?.parent?; - let query = self.search(&parent, OpIdVisSearch::new(obj.0)); - let key = query.key().unwrap(); - let visible = query.visible; - Some(Parent { - obj: parent, - key, - visible, - }) - } - - pub(crate) fn export_key(&self, obj: ObjId, key: Key, encoding: ListEncoding) -> Option { - match key { - Key::Map(m) => self.m.props.safe_get(m).map(|s| Prop::Map(s.to_string())), - Key::Seq(opid) => { - if opid.is_head() { - Some(Prop::Seq(0)) - } else { - self.search(&obj, query::ElemIdPos::new(opid, encoding)) - .index() - .map(Prop::Seq) - } - } - } - } - - pub(crate) fn keys(&self, obj: ObjId) -> Option> { - if let Some(tree) = self.trees.get(&obj) { - tree.internal.keys() - } else { - None - } - } - - pub(crate) fn keys_at(&self, obj: ObjId, clock: Clock) -> Option> { - if let Some(tree) = self.trees.get(&obj) { - tree.internal.keys_at(clock) - } else { - None - } - } - - pub(crate) fn map_range>( - &self, - obj: ObjId, - range: R, - ) -> Option> { - if let Some(tree) = self.trees.get(&obj) { - tree.internal.map_range(range, &self.m) - } else { - None - } - } - - pub(crate) fn map_range_at>( - &self, - obj: ObjId, - range: R, - clock: Clock, - ) -> Option> { - if let Some(tree) = self.trees.get(&obj) { - tree.internal.map_range_at(range, &self.m, clock) - } else { - None - } - } - - pub(crate) fn list_range>( - &self, - obj: ObjId, - range: R, - ) -> Option> { - if let Some(tree) = self.trees.get(&obj) { - tree.internal.list_range(range) - } else { - None - } - } - - pub(crate) fn list_range_at>( - &self, - obj: ObjId, - range: R, - clock: Clock, - ) -> Option> { - if let Some(tree) = self.trees.get(&obj) { - tree.internal.list_range_at(range, clock) - } else { - None - } - } - - pub(crate) fn search<'a, 'b: 'a, Q>(&'b self, obj: &ObjId, mut query: Q) -> Q - where - Q: TreeQuery<'a>, - { - if let Some(tree) = self.trees.get(obj) { - if query.can_shortcut_search(tree) { - query - } else { - tree.internal.search(query, &self.m) - } - } else { - query - } - } - - pub(crate) fn change_vis(&mut self, obj: &ObjId, index: usize, f: F) - where - F: Fn(&mut Op), - { - if let Some(tree) = self.trees.get_mut(obj) { - tree.last_insert = None; - tree.internal.update(index, f) - } - } - - /// Add `op` as a successor to each op at `op_indices` in `obj` - pub(crate) fn add_succ(&mut self, obj: &ObjId, op_indices: &[usize], op: &Op) { - if let Some(tree) = self.trees.get_mut(obj) { - tree.last_insert = None; - for i in op_indices { - tree.internal.update(*i, |old_op| { - old_op.add_succ(op, |left, right| self.m.lamport_cmp(*left, *right)) - }); - } - } - } - - pub(crate) fn remove(&mut self, obj: &ObjId, index: usize) -> Op { - // this happens on rollback - be sure to go back to the old state - let tree = self.trees.get_mut(obj).unwrap(); - self.length -= 1; - tree.last_insert = None; - let op = tree.internal.remove(index); - if let OpType::Make(_) = &op.action { - self.trees.remove(&op.id.into()); - } - op - } - - pub(crate) fn len(&self) -> usize { - self.length - } - - pub(crate) fn hint(&mut self, obj: &ObjId, index: usize, pos: usize) { - if let Some(tree) = self.trees.get_mut(obj) { - tree.last_insert = Some((index, pos)) - } - } - - #[tracing::instrument(skip(self, index))] - pub(crate) fn insert(&mut self, index: usize, obj: &ObjId, element: Op) { - if let OpType::Make(typ) = element.action { - self.trees.insert( - element.id.into(), - OpTree { - internal: Default::default(), - objtype: typ, - last_insert: None, - parent: Some(*obj), - }, - ); - } - - if let Some(tree) = self.trees.get_mut(obj) { - tree.last_insert = None; - tree.internal.insert(index, element); - self.length += 1; - } else { - tracing::warn!("attempting to insert op for unknown object"); - } - } - - pub(crate) fn object_type(&self, id: &ObjId) -> Option { - self.trees.get(id).map(|tree| tree.objtype) - } - - /// Return a graphviz representation of the opset. - /// - /// # Arguments - /// - /// * objects: An optional list of object IDs to display, if not specified all objects are - /// visualised - #[cfg(feature = "optree-visualisation")] - pub(crate) fn visualise(&self, objects: Option>) -> String { - use std::borrow::Cow; - let mut out = Vec::new(); - let trees = if let Some(objects) = objects { - let mut filtered = self.trees.clone(); - filtered.retain(|k, _| objects.contains(k)); - Cow::Owned(filtered) - } else { - Cow::Borrowed(&self.trees) - }; - let graph = super::visualisation::GraphVisualisation::construct(&trees, &self.m); - dot::render(&graph, &mut out).unwrap(); - String::from_utf8_lossy(&out[..]).to_string() - } -} - -impl Default for OpSetInternal { - fn default() -> Self { - Self::new() - } -} - -impl<'a> IntoIterator for &'a OpSetInternal { - type Item = (&'a ObjId, ObjType, &'a Op); - - type IntoIter = Iter<'a>; - - fn into_iter(self) -> Self::IntoIter { - self.iter() - } -} - -pub(crate) struct IterObjs<'a> { - trees: std::vec::IntoIter<(&'a ObjId, ObjType, &'a op_tree::OpTree)>, -} - -impl<'a> Iterator for IterObjs<'a> { - type Item = (&'a ObjId, ObjType, op_tree::OpTreeIter<'a>); - - fn next(&mut self) -> Option { - self.trees - .next() - .map(|(id, typ, tree)| (id, typ, tree.iter())) - } -} - -#[derive(Clone)] -pub(crate) struct Iter<'a> { - opset: &'a OpSet, - trees: std::vec::IntoIter<(&'a ObjId, ObjType, &'a op_tree::OpTree)>, - current: Option<(&'a ObjId, ObjType, op_tree::OpTreeIter<'a>)>, -} -impl<'a> Iterator for Iter<'a> { - type Item = (&'a ObjId, ObjType, &'a Op); - - fn next(&mut self) -> Option { - if let Some((id, typ, tree)) = &mut self.current { - if let Some(next) = tree.next() { - return Some((id, *typ, next)); - } - } - - loop { - self.current = self.trees.next().map(|o| (o.0, o.1, o.2.iter())); - if let Some((obj, typ, tree)) = &mut self.current { - if let Some(next) = tree.next() { - return Some((obj, *typ, next)); - } - } else { - return None; - } - } - } -} - -impl<'a> ExactSizeIterator for Iter<'a> { - fn len(&self) -> usize { - self.opset.len() - } -} - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct OpSetMetadata { - pub(crate) actors: IndexedCache, - pub(crate) props: IndexedCache, -} - -impl Default for OpSetMetadata { - fn default() -> Self { - Self { - actors: IndexedCache::new(), - props: IndexedCache::new(), - } - } -} - -impl OpSetMetadata { - pub(crate) fn from_actors(actors: Vec) -> Self { - Self { - props: IndexedCache::new(), - actors: actors.into_iter().collect(), - } - } - - pub(crate) fn key_cmp(&self, left: &Key, right: &Key) -> Ordering { - match (left, right) { - (Key::Map(a), Key::Map(b)) => self.props[*a].cmp(&self.props[*b]), - _ => panic!("can only compare map keys"), - } - } - - pub(crate) fn lamport_cmp(&self, left: OpId, right: OpId) -> Ordering { - left.lamport_cmp(&right, &self.actors.cache) - } - - pub(crate) fn sorted_opids>(&self, opids: I) -> OpIds { - OpIds::new(opids, |left, right| self.lamport_cmp(*left, *right)) - } - - /// If `opids` are in ascending lamport timestamp order with respect to the actor IDs in - /// this `OpSetMetadata` then this returns `Some(OpIds)`, otherwise returns `None`. - pub(crate) fn try_sorted_opids(&self, opids: Vec) -> Option { - OpIds::new_if_sorted(opids, |a, b| self.lamport_cmp(*a, *b)) - } - - pub(crate) fn import_prop>(&mut self, key: S) -> usize { - self.props.cache(key.borrow().to_string()) - } -} - -pub(crate) struct Parent { - pub(crate) obj: ObjId, - pub(crate) key: Key, - pub(crate) visible: bool, -} diff --git a/rust/automerge/src/op_set/load.rs b/rust/automerge/src/op_set/load.rs deleted file mode 100644 index e14f46b7..00000000 --- a/rust/automerge/src/op_set/load.rs +++ /dev/null @@ -1,52 +0,0 @@ -use std::collections::HashMap; - -use fxhash::FxBuildHasher; - -use super::{OpSet, OpTree}; -use crate::{ - op_tree::OpTreeInternal, - storage::load::{DocObserver, LoadedObject}, - types::ObjId, -}; - -/// An opset builder which creates an optree for each object as it finishes loading, inserting the -/// ops using `OpTreeInternal::insert`. This should be faster than using `OpSet::insert_*` but only -/// works because the ops in the document format are in the same order as in the optrees. -pub(crate) struct OpSetBuilder { - completed_objects: HashMap, -} - -impl OpSetBuilder { - pub(crate) fn new() -> OpSetBuilder { - Self { - completed_objects: HashMap::default(), - } - } -} - -impl DocObserver for OpSetBuilder { - type Output = OpSet; - - fn object_loaded(&mut self, loaded: LoadedObject) { - let mut internal = OpTreeInternal::new(); - for (index, op) in loaded.ops.into_iter().enumerate() { - internal.insert(index, op); - } - let tree = OpTree { - internal, - objtype: loaded.obj_type, - parent: loaded.parent, - last_insert: None, - }; - self.completed_objects.insert(loaded.id, tree); - } - - fn finish(self, metadata: super::OpSetMetadata) -> Self::Output { - let len = self.completed_objects.values().map(|t| t.len()).sum(); - OpSet { - trees: self.completed_objects, - length: len, - m: metadata, - } - } -} diff --git a/rust/automerge/src/op_tree.rs b/rust/automerge/src/op_tree.rs deleted file mode 100644 index 7de00dc3..00000000 --- a/rust/automerge/src/op_tree.rs +++ /dev/null @@ -1,373 +0,0 @@ -use std::{fmt::Debug, mem, ops::RangeBounds}; - -pub(crate) use crate::op_set::OpSetMetadata; -use crate::{ - clock::Clock, - query::{self, ChangeVisibility, QueryResult, TreeQuery}, -}; -use crate::{ - types::{ObjId, Op, OpId}, - ObjType, -}; -use std::collections::HashSet; - -mod iter; -mod node; - -pub(crate) use iter::OpTreeIter; -#[allow(unused)] -pub(crate) use node::{OpTreeNode, B}; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct OpTree { - pub(crate) internal: OpTreeInternal, - pub(crate) objtype: ObjType, - /// The id of the parent object, root has no parent. - pub(crate) parent: Option, - /// record the last list index and tree position - /// inserted into the op_set - this allows us to - /// short circuit the query if the follow op is another - /// insert or delete at the same spot - pub(crate) last_insert: Option<(usize, usize)>, -} - -impl OpTree { - pub(crate) fn new() -> Self { - Self { - internal: Default::default(), - objtype: ObjType::Map, - parent: None, - last_insert: None, - } - } - - pub(crate) fn iter(&self) -> OpTreeIter<'_> { - self.internal.iter() - } - - pub(crate) fn len(&self) -> usize { - self.internal.len() - } -} - -#[derive(Clone, Debug)] -pub(crate) struct OpTreeInternal { - pub(crate) root_node: Option, - pub(crate) ops: Vec, -} - -impl OpTreeInternal { - /// Construct a new, empty, sequence. - pub(crate) fn new() -> Self { - Self { - root_node: None, - ops: vec![], - } - } - - /// Get the length of the sequence. - pub(crate) fn len(&self) -> usize { - self.root_node.as_ref().map_or(0, |n| n.len()) - } - - pub(crate) fn keys(&self) -> Option> { - if self.root_node.is_some() { - Some(query::Keys::new(self)) - } else { - None - } - } - - pub(crate) fn keys_at(&self, clock: Clock) -> Option> { - if self.root_node.is_some() { - Some(query::KeysAt::new(self, clock)) - } else { - None - } - } - - pub(crate) fn map_range<'a, R: RangeBounds>( - &'a self, - range: R, - meta: &'a OpSetMetadata, - ) -> Option> { - if self.root_node.is_some() { - Some(query::MapRange::new(range, self, meta)) - } else { - None - } - } - - pub(crate) fn map_range_at<'a, R: RangeBounds>( - &'a self, - range: R, - meta: &'a OpSetMetadata, - clock: Clock, - ) -> Option> { - if self.root_node.is_some() { - Some(query::MapRangeAt::new(range, self, meta, clock)) - } else { - None - } - } - - pub(crate) fn list_range>( - &self, - range: R, - ) -> Option> { - if self.root_node.is_some() { - Some(query::ListRange::new(range, self)) - } else { - None - } - } - - pub(crate) fn list_range_at>( - &self, - range: R, - clock: Clock, - ) -> Option> { - if self.root_node.is_some() { - Some(query::ListRangeAt::new(range, clock, self)) - } else { - None - } - } - - pub(crate) fn search<'a, 'b: 'a, Q>(&'b self, mut query: Q, m: &OpSetMetadata) -> Q - where - Q: TreeQuery<'a>, - { - self.root_node.as_ref().map(|root| { - match query.query_node_with_metadata(root, m, &self.ops) { - QueryResult::Descend => root.search(&mut query, m, &self.ops, None), - QueryResult::Skip(skip) => root.search(&mut query, m, &self.ops, Some(skip)), - _ => true, - } - }); - query - } - - /// Create an iterator through the sequence. - pub(crate) fn iter(&self) -> OpTreeIter<'_> { - iter::OpTreeIter::new(self) - } - - /// Insert the `element` into the sequence at `index`. - /// - /// # Panics - /// - /// Panics if `index > len`. - pub(crate) fn insert(&mut self, index: usize, op: Op) { - assert!( - index <= self.len(), - "tried to insert at {} but len is {}", - index, - self.len() - ); - - let element = self.ops.len(); - self.ops.push(op); - - let old_len = self.len(); - if let Some(root) = self.root_node.as_mut() { - #[cfg(debug_assertions)] - root.check(); - - if root.is_full() { - let original_len = root.len(); - let new_root = OpTreeNode::new(); - - // move new_root to root position - let old_root = mem::replace(root, new_root); - - root.length += old_root.len(); - root.index = old_root.index.clone(); - root.children.push(old_root); - root.split_child(0, &self.ops); - - assert_eq!(original_len, root.len()); - - // after splitting the root has one element and two children, find which child the - // index is in - let first_child_len = root.children[0].len(); - let (child, insertion_index) = if first_child_len < index { - (&mut root.children[1], index - (first_child_len + 1)) - } else { - (&mut root.children[0], index) - }; - root.length += 1; - root.index.insert(&self.ops[element]); - child.insert_into_non_full_node(insertion_index, element, &self.ops) - } else { - root.insert_into_non_full_node(index, element, &self.ops) - } - } else { - let mut root = OpTreeNode::new(); - root.insert_into_non_full_node(index, element, &self.ops); - self.root_node = Some(root) - } - assert_eq!(self.len(), old_len + 1, "{:#?}", self); - } - - /// Get the `element` at `index` in the sequence. - pub(crate) fn get(&self, index: usize) -> Option<&Op> { - self.root_node - .as_ref() - .and_then(|n| n.get(index)) - .map(|n| &self.ops[n]) - } - - // this replaces get_mut() because it allows the indexes to update correctly - pub(crate) fn update(&mut self, index: usize, f: F) - where - F: FnOnce(&mut Op), - { - if self.len() > index { - let n = self.root_node.as_ref().unwrap().get(index).unwrap(); - let new_element = self.ops.get_mut(n).unwrap(); - let old_vis = new_element.visible(); - f(new_element); - let vis = ChangeVisibility { - old_vis, - new_vis: new_element.visible(), - op: new_element, - }; - self.root_node.as_mut().unwrap().update(index, vis); - } - } - - /// Removes the element at `index` from the sequence. - /// - /// # Panics - /// - /// Panics if `index` is out of bounds. - pub(crate) fn remove(&mut self, index: usize) -> Op { - if let Some(root) = self.root_node.as_mut() { - #[cfg(debug_assertions)] - let len = root.check(); - let old = root.remove(index, &self.ops); - - if root.elements.is_empty() { - if root.is_leaf() { - self.root_node = None; - } else { - self.root_node = Some(root.children.remove(0)); - } - } - - #[cfg(debug_assertions)] - debug_assert_eq!(len, self.root_node.as_ref().map_or(0, |r| r.check()) + 1); - self.ops[old].clone() - } else { - panic!("remove from empty tree") - } - } -} - -impl Default for OpTreeInternal { - fn default() -> Self { - Self::new() - } -} - -impl PartialEq for OpTreeInternal { - fn eq(&self, other: &Self) -> bool { - self.len() == other.len() && self.iter().zip(other.iter()).all(|(a, b)| a == b) - } -} - -impl<'a> IntoIterator for &'a OpTreeInternal { - type Item = &'a Op; - - type IntoIter = Iter<'a>; - - fn into_iter(self) -> Self::IntoIter { - Iter { - inner: self, - index: 0, - } - } -} - -pub(crate) struct Iter<'a> { - inner: &'a OpTreeInternal, - index: usize, -} - -impl<'a> Iterator for Iter<'a> { - type Item = &'a Op; - - fn next(&mut self) -> Option { - self.index += 1; - self.inner.get(self.index - 1) - } - - fn nth(&mut self, n: usize) -> Option { - self.index += n + 1; - self.inner.get(self.index - 1) - } -} - -#[derive(Debug, Clone, PartialEq)] -struct CounterData { - pos: usize, - val: i64, - succ: HashSet, - op: Op, -} - -#[cfg(test)] -mod tests { - use crate::legacy as amp; - use crate::types::{Op, OpId}; - - use super::*; - - fn op() -> Op { - let zero = OpId::new(0, 0); - Op { - id: zero, - action: amp::OpType::Put(0.into()), - key: zero.into(), - succ: Default::default(), - pred: Default::default(), - insert: false, - } - } - - #[test] - fn insert() { - let mut t: OpTree = OpTree::new(); - - t.internal.insert(0, op()); - t.internal.insert(1, op()); - t.internal.insert(0, op()); - t.internal.insert(0, op()); - t.internal.insert(0, op()); - t.internal.insert(3, op()); - t.internal.insert(4, op()); - } - - #[test] - fn insert_book() { - let mut t: OpTree = OpTree::new(); - - for i in 0..100 { - t.internal.insert(i % 2, op()); - } - } - - #[test] - fn insert_book_vec() { - let mut t: OpTree = OpTree::new(); - let mut v = Vec::new(); - - for i in 0..100 { - t.internal.insert(i % 3, op()); - v.insert(i % 3, op()); - - assert_eq!(v, t.internal.iter().cloned().collect::>()) - } - } -} diff --git a/rust/automerge/src/op_tree/iter.rs b/rust/automerge/src/op_tree/iter.rs deleted file mode 100644 index 0b19f359..00000000 --- a/rust/automerge/src/op_tree/iter.rs +++ /dev/null @@ -1,442 +0,0 @@ -use std::cmp::Ordering; - -use crate::types::Op; - -use super::{OpTreeInternal, OpTreeNode}; - -#[derive(Clone)] -pub(crate) struct OpTreeIter<'a>(Inner<'a>); - -impl<'a> OpTreeIter<'a> { - pub(crate) fn new(tree: &'a OpTreeInternal) -> OpTreeIter<'a> { - Self( - tree.root_node - .as_ref() - .map(|root| Inner::NonEmpty { - // This is a guess at the average depth of an OpTree - ancestors: Vec::with_capacity(6), - current: NodeIter { - node: root, - index: 0, - }, - cumulative_index: 0, - root_node: root, - ops: &tree.ops, - }) - .unwrap_or(Inner::Empty), - ) - } -} - -impl<'a> Iterator for OpTreeIter<'a> { - type Item = &'a Op; - - fn next(&mut self) -> Option { - self.0.next() - } - - fn nth(&mut self, n: usize) -> Option { - self.0.nth(n) - } -} - -#[derive(Clone)] -enum Inner<'a> { - Empty, - NonEmpty { - // A stack of nodes in the optree which we have descended in to to get to the current - // element. - ancestors: Vec>, - current: NodeIter<'a>, - // How far through the whole optree we are - cumulative_index: usize, - root_node: &'a OpTreeNode, - ops: &'a [Op], - }, -} - -/// A node in the op tree which we are iterating over -#[derive(Clone)] -struct NodeIter<'a> { - /// The node itself - node: &'a OpTreeNode, - /// The index of the next element we will pull from the node. This means something different - /// depending on whether the node is a leaf node or not. If the node is a leaf node then this - /// index is the index in `node.elements` which will be returned on the next call to `next()`. - /// If the node is not an internal node then this index is the index of `children` which we are - /// currently iterating as well as being the index of the next element of `elements` which we - /// will return once we have finished iterating over the child node. - index: usize, -} - -impl<'a> Iterator for Inner<'a> { - type Item = &'a Op; - - fn next(&mut self) -> Option { - match self { - Inner::Empty => None, - Inner::NonEmpty { - ancestors, - ops, - current, - cumulative_index, - .. - } => { - if current.node.is_leaf() { - // If we're in a leaf node and we haven't exhausted it yet we just return the elements - // of the leaf node - if current.index < current.node.len() { - let result = current.node.elements[current.index]; - current.index += 1; - *cumulative_index += 1; - Some(&ops[result]) - } else { - // We've exhausted the leaf node, we must find the nearest non-exhausted parent (lol) - let node_iter = loop { - if let Some( - node_iter @ NodeIter { - node: parent, - index: parent_index, - }, - ) = ancestors.pop() - { - // We've exhausted this parent - if parent_index >= parent.elements.len() { - continue; - } else { - // This parent still has elements to process, let's use it! - break node_iter; - } - } else { - // No parents left, we're done - return None; - } - }; - // if we've finished the elements in a leaf node and there's a parent node then we - // return the element from the parent node which is one after the index at which we - // descended into the child - *current = node_iter; - let result = current.node.elements[current.index]; - current.index += 1; - *cumulative_index += 1; - Some(&ops[result]) - } - } else { - // If we're in a non-leaf node then the last iteration returned an element from the - // current nodes `elements`, so we must now descend into a leaf child - ancestors.push(current.clone()); - loop { - let child = ¤t.node.children[current.index]; - current.index = 0; - if !child.is_leaf() { - ancestors.push(NodeIter { - node: child, - index: 0, - }); - current.node = child - } else { - current.node = child; - break; - } - } - self.next() - } - } - } - } - - fn nth(&mut self, n: usize) -> Option { - match self { - Self::Empty => None, - Self::NonEmpty { - root_node, - ops, - cumulative_index, - current, - ancestors, - .. - } => { - // Make sure that we don't rewind when calling nth more than once - if n < *cumulative_index { - None - } else if n >= root_node.len() { - *cumulative_index = root_node.len() - 1; - None - } else { - // rather than trying to go back up through the ancestors to find the right - // node we just start at the root. - *current = NodeIter { - node: root_node, - index: n, - }; - *cumulative_index = 0; - ancestors.clear(); - while !current.node.is_leaf() { - for (child_index, child) in current.node.children.iter().enumerate() { - match (*cumulative_index + child.len()).cmp(&n) { - Ordering::Less => { - *cumulative_index += child.len() + 1; - current.index = child_index + 1; - } - Ordering::Equal => { - *cumulative_index += child.len() + 1; - current.index = child_index + 1; - return Some(&ops[current.node.elements[child_index]]); - } - Ordering::Greater => { - current.index = child_index; - let old = std::mem::replace( - current, - NodeIter { - node: child, - index: 0, - }, - ); - ancestors.push(old); - break; - } - } - } - } - // we're in a leaf node and we kept track of the cumulative index as we went, - let index_in_this_node = n.saturating_sub(*cumulative_index); - current.index = index_in_this_node + 1; - Some(&ops[current.node.elements[index_in_this_node]]) - } - } - } - } -} - -#[cfg(test)] -mod tests { - use super::super::OpTreeInternal; - use crate::types::{Key, Op, OpId, OpType, ScalarValue}; - use proptest::prelude::*; - - #[derive(Clone)] - enum Action { - Insert(usize, Op), - Delete(usize), - } - - impl std::fmt::Debug for Action { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::Insert(index, ..) => write!(f, "Insert({})", index), - Self::Delete(index) => write!(f, "Delete({})", index), - } - } - } - - // A struct which impls Debug by only printing the counters of the IDs of the ops it wraps. - // This is useful because the only difference between the ops that we generate is the counter - // of their IDs. Wrapping a Vec in DebugOps will result in output from assert! etc. which - // only shows the counters. For example, the output of a failing assert_eq! like this - // - // assert_eq!(DebugOps(&ops1), DebugOps(&ops2)) - // - // Might look like this - // - // left: `[0,1,2,3] - // right: `[0,1,2,3,4] - // - // i.e. all the other details of the ops are elided - #[derive(PartialEq)] - struct DebugOps<'a>(&'a [Op]); - - impl<'a> std::fmt::Debug for DebugOps<'a> { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "[")?; - for (index, op) in self.0.iter().enumerate() { - if index < self.0.len() - 1 { - write!(f, "{},", op.id.counter())?; - } else { - write!(f, "{}]", op.id.counter())? - } - } - Ok(()) - } - } - - fn op(counter: u64) -> Op { - Op { - action: OpType::Put(ScalarValue::Uint(counter)), - id: OpId::new(counter, 0), - key: Key::Map(0), - succ: Default::default(), - pred: Default::default(), - insert: false, - } - } - - /// A model for a property based test of the OpTreeIter. We generate a set of actions, each - /// action pertaining to a `model` - which is just a `Vec`. As we generate each action we - /// apply it to the model and record the action we took. In the property test we replay the - /// same actions against an `OpTree` and check that the iterator returns the same result as the - /// `model`. - #[derive(Clone)] - struct Model { - actions: Vec, - model: Vec, - } - - impl std::fmt::Debug for Model { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("Model") - .field("actions", &self.actions) - .field("model", &DebugOps(&self.model)) - .finish() - } - } - - impl Model { - fn insert(&self, index: usize, next_op_counter: u64) -> Self { - let mut actions = self.actions.clone(); - let op = op(next_op_counter); - actions.push(Action::Insert(index, op.clone())); - let mut model = self.model.clone(); - model.insert(index, op); - Self { actions, model } - } - - fn delete(&self, index: usize) -> Self { - let mut actions = self.actions.clone(); - actions.push(Action::Delete(index)); - let mut model = self.model.clone(); - model.remove(index); - Self { actions, model } - } - - fn next(self, next_op_counter: u64) -> impl Strategy { - if self.model.is_empty() { - Just(self.insert(0, next_op_counter)).boxed() - } else { - // Note that we have to feed `self` through the `prop_flat_map` using `Just` to - // appease the borrow checker, this is annoying because it does obscure the meaning - // of the code heere which is basically "decide whether the next action should be - // insert, if it is insert choose an index between 0..model.len() + 1 and generate - // an op to insert, otherwise choose an index between 0..model.len() and generate a - // delete action". - // - // 95% chance of inserting to make sure we deal with large lists - (proptest::bool::weighted(0.95), Just(self)) - .prop_flat_map(move |(insert, model)| { - if insert { - (0..model.model.len() + 1, Just(model)) - .prop_map(move |(index, model)| { - model.insert(index, next_op_counter) - }) - .boxed() - } else { - ((0..model.model.len()), Just(model)) - .prop_map(move |(index, model)| model.delete(index)) - .boxed() - } - }) - .boxed() - } - } - } - - fn model() -> impl Strategy { - (0_u64..150).prop_flat_map(|num_steps| { - let mut strat = Just(( - 0, - Model { - actions: Vec::new(), - model: Vec::new(), - }, - )) - .boxed(); - for _ in 0..num_steps { - strat = strat - // Note the counter, which we feed through each `prop_flat_map`, incrementing - // it by one each time. This mean that the generated ops have ascending (but - // not necessarily consecutive because not every `Action` is an `Insert`) - // counters. This makes it easier to debug failures - if we just used a random - // counter it would be much harder to see where things are out of order. - .prop_flat_map(|(counter, model)| { - let next_counter = counter + 1; - model.next(counter).prop_map(move |m| (next_counter, m)) - }) - .boxed(); - } - strat.prop_map(|(_, model)| model) - }) - } - - fn make_optree(actions: &[Action]) -> super::OpTreeInternal { - let mut optree = OpTreeInternal::new(); - for action in actions { - match action { - Action::Insert(index, op) => optree.insert(*index, op.clone()), - Action::Delete(index) => { - optree.remove(*index); - } - } - } - optree - } - - /// A model for calls to `nth`. `NthModel::n` is guarnateed to be in `(0..model.len())` - #[derive(Clone)] - struct NthModel { - model: Vec, - actions: Vec, - n: usize, - } - - impl std::fmt::Debug for NthModel { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("Model") - .field("actions", &self.actions) - .field("model", &DebugOps(&self.model)) - .field("n", &self.n) - .finish() - } - } - - fn nth_model() -> impl Strategy { - model().prop_flat_map(|model| { - if model.model.is_empty() { - Just(NthModel { - model: model.model, - actions: model.actions, - n: 0, - }) - .boxed() - } else { - (0..model.model.len(), Just(model)) - .prop_map(|(index, model)| NthModel { - model: model.model, - actions: model.actions, - n: index, - }) - .boxed() - } - }) - } - - proptest! { - #[test] - fn optree_iter_proptest(model in model()) { - let optree = make_optree(&model.actions); - let iter = super::OpTreeIter::new(&optree); - let iterated = iter.cloned().collect::>(); - assert_eq!(DebugOps(&model.model), DebugOps(&iterated)) - } - - #[test] - fn optree_iter_nth(model in nth_model()) { - let optree = make_optree(&model.actions); - let mut iter = super::OpTreeIter::new(&optree); - let mut model_iter = model.model.iter(); - assert_eq!(model_iter.nth(model.n), iter.nth(model.n)); - - let tail = iter.cloned().collect::>(); - let expected_tail = model_iter.cloned().collect::>(); - assert_eq!(DebugOps(tail.as_slice()), DebugOps(expected_tail.as_slice())); - } - } -} diff --git a/rust/automerge/src/op_tree/node.rs b/rust/automerge/src/op_tree/node.rs deleted file mode 100644 index ed1b7646..00000000 --- a/rust/automerge/src/op_tree/node.rs +++ /dev/null @@ -1,492 +0,0 @@ -use std::{ - cmp::{min, Ordering}, - fmt::Debug, - mem, -}; - -pub(crate) use crate::op_set::OpSetMetadata; -use crate::query::{ChangeVisibility, Index, QueryResult, TreeQuery}; -use crate::types::Op; -pub(crate) const B: usize = 16; - -#[derive(Clone, Debug)] -pub(crate) struct OpTreeNode { - pub(crate) children: Vec, - pub(crate) elements: Vec, - pub(crate) index: Index, - pub(crate) length: usize, -} - -impl OpTreeNode { - pub(crate) fn new() -> Self { - Self { - elements: Vec::new(), - children: Vec::new(), - index: Default::default(), - length: 0, - } - } - - fn search_element<'a, 'b: 'a, Q>( - &'b self, - query: &mut Q, - m: &OpSetMetadata, - ops: &'a [Op], - index: usize, - ) -> bool - where - Q: TreeQuery<'a>, - { - if let Some(e) = self.elements.get(index) { - if query.query_element_with_metadata(&ops[*e], m) == QueryResult::Finish { - return true; - } - } - false - } - - pub(crate) fn search<'a, 'b: 'a, Q>( - &'b self, - query: &mut Q, - m: &OpSetMetadata, - ops: &'a [Op], - mut skip: Option, - ) -> bool - where - Q: TreeQuery<'a>, - { - if self.is_leaf() { - for e in self.elements.iter().skip(skip.unwrap_or(0)) { - if query.query_element_with_metadata(&ops[*e], m) == QueryResult::Finish { - return true; - } - } - false - } else { - for (child_index, child) in self.children.iter().enumerate() { - match skip { - Some(n) if n > child.len() => { - skip = Some(n - child.len() - 1); - } - Some(n) if n == child.len() => { - skip = Some(0); // important to not be None so we never call query_node again - if self.search_element(query, m, ops, child_index) { - return true; - } - } - Some(n) => { - if child.search(query, m, ops, Some(n)) { - return true; - } - skip = Some(0); // important to not be None so we never call query_node again - if self.search_element(query, m, ops, child_index) { - return true; - } - } - None => { - // descend and try find it - match query.query_node_with_metadata(child, m, ops) { - QueryResult::Descend => { - if child.search(query, m, ops, None) { - return true; - } - } - QueryResult::Finish => return true, - QueryResult::Next => (), - QueryResult::Skip(_) => panic!("had skip from non-root node"), - } - if self.search_element(query, m, ops, child_index) { - return true; - } - } - } - } - false - } - } - - pub(crate) fn len(&self) -> usize { - self.length - } - - fn reindex(&mut self, ops: &[Op]) { - let mut index = Index::new(); - for c in &self.children { - index.merge(&c.index); - } - for i in &self.elements { - index.insert(&ops[*i]); - } - self.index = index - } - - pub(crate) fn is_leaf(&self) -> bool { - self.children.is_empty() - } - - pub(crate) fn is_full(&self) -> bool { - self.elements.len() >= 2 * B - 1 - } - - /// Returns the child index and the given index adjusted for the cumulative index before that - /// child. - fn find_child_index(&self, index: usize) -> (usize, usize) { - let mut cumulative_len = 0; - for (child_index, child) in self.children.iter().enumerate() { - if cumulative_len + child.len() >= index { - return (child_index, index - cumulative_len); - } else { - cumulative_len += child.len() + 1; - } - } - panic!("index {} not found in node with len {}", index, self.len()) - } - - pub(crate) fn insert_into_non_full_node(&mut self, index: usize, element: usize, ops: &[Op]) { - assert!(!self.is_full()); - - self.index.insert(&ops[element]); - - if self.is_leaf() { - self.length += 1; - self.elements.insert(index, element); - } else { - let (child_index, sub_index) = self.find_child_index(index); - let child = &mut self.children[child_index]; - - if child.is_full() { - self.split_child(child_index, ops); - - // child structure has changed so we need to find the index again - let (child_index, sub_index) = self.find_child_index(index); - let child = &mut self.children[child_index]; - child.insert_into_non_full_node(sub_index, element, ops); - } else { - child.insert_into_non_full_node(sub_index, element, ops); - } - self.length += 1; - } - } - - // A utility function to split the child `full_child_index` of this node - // Note that `full_child_index` must be full when this function is called. - pub(crate) fn split_child(&mut self, full_child_index: usize, ops: &[Op]) { - let original_len_self = self.len(); - - let full_child = &mut self.children[full_child_index]; - - // Create a new node which is going to store (B-1) keys - // of the full child. - let mut successor_sibling = OpTreeNode::new(); - - let original_len = full_child.len(); - assert!(full_child.is_full()); - - successor_sibling.elements = full_child.elements.split_off(B); - - if !full_child.is_leaf() { - successor_sibling.children = full_child.children.split_off(B); - } - - let middle = full_child.elements.pop().unwrap(); - - full_child.length = - full_child.elements.len() + full_child.children.iter().map(|c| c.len()).sum::(); - - successor_sibling.length = successor_sibling.elements.len() - + successor_sibling - .children - .iter() - .map(|c| c.len()) - .sum::(); - - let z_len = successor_sibling.len(); - - let full_child_len = full_child.len(); - - full_child.reindex(ops); - successor_sibling.reindex(ops); - - self.children - .insert(full_child_index + 1, successor_sibling); - - self.elements.insert(full_child_index, middle); - - assert_eq!(full_child_len + z_len + 1, original_len, "{:#?}", self); - - assert_eq!(original_len_self, self.len()); - } - - fn remove_from_leaf(&mut self, index: usize) -> usize { - self.length -= 1; - self.elements.remove(index) - } - - fn remove_element_from_non_leaf( - &mut self, - index: usize, - element_index: usize, - ops: &[Op], - ) -> usize { - self.length -= 1; - if self.children[element_index].elements.len() >= B { - let total_index = self.cumulative_index(element_index); - // recursively delete index - 1 in predecessor_node - let predecessor = self.children[element_index].remove(index - 1 - total_index, ops); - // replace element with that one - mem::replace(&mut self.elements[element_index], predecessor) - } else if self.children[element_index + 1].elements.len() >= B { - // recursively delete index + 1 in successor_node - let total_index = self.cumulative_index(element_index + 1); - let successor = self.children[element_index + 1].remove(index + 1 - total_index, ops); - // replace element with that one - mem::replace(&mut self.elements[element_index], successor) - } else { - let middle_element = self.elements.remove(element_index); - let successor_child = self.children.remove(element_index + 1); - self.children[element_index].merge(middle_element, successor_child, ops); - - let total_index = self.cumulative_index(element_index); - self.children[element_index].remove(index - total_index, ops) - } - } - - fn cumulative_index(&self, child_index: usize) -> usize { - self.children[0..child_index] - .iter() - .map(|c| c.len() + 1) - .sum() - } - - fn remove_from_internal_child( - &mut self, - index: usize, - mut child_index: usize, - ops: &[Op], - ) -> usize { - if self.children[child_index].elements.len() < B - && if child_index > 0 { - self.children[child_index - 1].elements.len() < B - } else { - true - } - && if child_index + 1 < self.children.len() { - self.children[child_index + 1].elements.len() < B - } else { - true - } - { - // if the child and its immediate siblings have B-1 elements merge the child - // with one sibling, moving an element from this node into the new merged node - // to be the median - - if child_index > 0 { - let middle = self.elements.remove(child_index - 1); - - // use the predessor sibling - let successor = self.children.remove(child_index); - child_index -= 1; - - self.children[child_index].merge(middle, successor, ops); - } else { - let middle = self.elements.remove(child_index); - - // use the sucessor sibling - let successor = self.children.remove(child_index + 1); - - self.children[child_index].merge(middle, successor, ops); - } - } else if self.children[child_index].elements.len() < B { - if child_index > 0 - && self - .children - .get(child_index - 1) - .map_or(false, |c| c.elements.len() >= B) - { - let last_element = self.children[child_index - 1].elements.pop().unwrap(); - assert!(!self.children[child_index - 1].elements.is_empty()); - self.children[child_index - 1].length -= 1; - self.children[child_index - 1] - .index - .remove(&ops[last_element]); - - let parent_element = - mem::replace(&mut self.elements[child_index - 1], last_element); - - self.children[child_index] - .index - .insert(&ops[parent_element]); - self.children[child_index] - .elements - .insert(0, parent_element); - self.children[child_index].length += 1; - - if let Some(last_child) = self.children[child_index - 1].children.pop() { - self.children[child_index - 1].length -= last_child.len(); - self.children[child_index - 1].reindex(ops); - self.children[child_index].length += last_child.len(); - self.children[child_index].children.insert(0, last_child); - self.children[child_index].reindex(ops); - } - } else if self - .children - .get(child_index + 1) - .map_or(false, |c| c.elements.len() >= B) - { - let first_element = self.children[child_index + 1].elements.remove(0); - self.children[child_index + 1] - .index - .remove(&ops[first_element]); - self.children[child_index + 1].length -= 1; - - assert!(!self.children[child_index + 1].elements.is_empty()); - - let parent_element = mem::replace(&mut self.elements[child_index], first_element); - - self.children[child_index].length += 1; - self.children[child_index] - .index - .insert(&ops[parent_element]); - self.children[child_index].elements.push(parent_element); - - if !self.children[child_index + 1].is_leaf() { - let first_child = self.children[child_index + 1].children.remove(0); - self.children[child_index + 1].length -= first_child.len(); - self.children[child_index + 1].reindex(ops); - self.children[child_index].length += first_child.len(); - - self.children[child_index].children.push(first_child); - self.children[child_index].reindex(ops); - } - } - } - self.length -= 1; - let total_index = self.cumulative_index(child_index); - self.children[child_index].remove(index - total_index, ops) - } - - pub(crate) fn check(&self) -> usize { - let l = self.elements.len() + self.children.iter().map(|c| c.check()).sum::(); - assert_eq!(self.len(), l, "{:#?}", self); - - l - } - - pub(crate) fn remove(&mut self, index: usize, ops: &[Op]) -> usize { - let original_len = self.len(); - if self.is_leaf() { - let v = self.remove_from_leaf(index); - self.index.remove(&ops[v]); - assert_eq!(original_len, self.len() + 1); - debug_assert_eq!(self.check(), self.len()); - v - } else { - let mut total_index = 0; - for (child_index, child) in self.children.iter().enumerate() { - match (total_index + child.len()).cmp(&index) { - Ordering::Less => { - // should be later on in the loop - total_index += child.len() + 1; - continue; - } - Ordering::Equal => { - let v = self.remove_element_from_non_leaf( - index, - min(child_index, self.elements.len() - 1), - ops, - ); - self.index.remove(&ops[v]); - assert_eq!(original_len, self.len() + 1); - debug_assert_eq!(self.check(), self.len()); - return v; - } - Ordering::Greater => { - let v = self.remove_from_internal_child(index, child_index, ops); - self.index.remove(&ops[v]); - assert_eq!(original_len, self.len() + 1); - debug_assert_eq!(self.check(), self.len()); - return v; - } - } - } - panic!( - "index not found to remove {} {} {} {}", - index, - total_index, - self.len(), - self.check() - ); - } - } - - fn merge(&mut self, middle: usize, successor_sibling: OpTreeNode, ops: &[Op]) { - self.index.insert(&ops[middle]); - self.index.merge(&successor_sibling.index); - self.elements.push(middle); - self.elements.extend(successor_sibling.elements); - self.children.extend(successor_sibling.children); - self.length += successor_sibling.length + 1; - assert!(self.is_full()); - } - - /// Update the operation at the given index using the provided function. - /// - /// This handles updating the indices after the update. - pub(crate) fn update<'a>( - &mut self, - index: usize, - vis: ChangeVisibility<'a>, - ) -> ChangeVisibility<'a> { - if self.is_leaf() { - self.index.change_vis(vis) - } else { - let mut cumulative_len = 0; - let len = self.len(); - for (_child_index, child) in self.children.iter_mut().enumerate() { - match (cumulative_len + child.len()).cmp(&index) { - Ordering::Less => { - cumulative_len += child.len() + 1; - } - Ordering::Equal => { - return self.index.change_vis(vis); - } - Ordering::Greater => { - let vis = child.update(index - cumulative_len, vis); - return self.index.change_vis(vis); - } - } - } - panic!("Invalid index to set: {} but len was {}", index, len) - } - } - - pub(crate) fn last(&self) -> usize { - if self.is_leaf() { - // node is never empty so this is safe - *self.elements.last().unwrap() - } else { - // if not a leaf then there is always at least one child - self.children.last().unwrap().last() - } - } - - pub(crate) fn get(&self, index: usize) -> Option { - if self.is_leaf() { - return self.elements.get(index).copied(); - } else { - let mut cumulative_len = 0; - for (child_index, child) in self.children.iter().enumerate() { - match (cumulative_len + child.len()).cmp(&index) { - Ordering::Less => { - cumulative_len += child.len() + 1; - } - Ordering::Equal => return self.elements.get(child_index).copied(), - Ordering::Greater => { - return child.get(index - cumulative_len); - } - } - } - } - None - } -} diff --git a/rust/automerge/src/parents.rs b/rust/automerge/src/parents.rs deleted file mode 100644 index e1c5cc66..00000000 --- a/rust/automerge/src/parents.rs +++ /dev/null @@ -1,121 +0,0 @@ -use crate::op_set; -use crate::op_set::OpSet; -use crate::types::{ListEncoding, ObjId}; -use crate::{exid::ExId, Prop}; - -/// An iterator over the "parents" of an object -/// -/// The "parent" of an object in this context is the ([`ExId`], [`Prop`]) pair which specifies the -/// location of this object in the composite object which contains it. Each element in the iterator -/// is a [`Parent`], yielded in reverse order. This means that once the iterator returns `None` you -/// have reached the root of the document. -/// -/// This is returned by [`crate::ReadDoc::parents`] -#[derive(Debug)] -pub struct Parents<'a> { - pub(crate) obj: ObjId, - pub(crate) ops: &'a OpSet, -} - -impl<'a> Parents<'a> { - /// Return the path this `Parents` represents - /// - /// This is _not_ in reverse order. - pub fn path(self) -> Vec<(ExId, Prop)> { - let mut path = self - .map(|Parent { obj, prop, .. }| (obj, prop)) - .collect::>(); - path.reverse(); - path - } - - /// Like `path` but returns `None` if the target is not visible - pub fn visible_path(self) -> Option> { - let mut path = Vec::new(); - for Parent { obj, prop, visible } in self { - if !visible { - return None; - } - path.push((obj, prop)) - } - path.reverse(); - Some(path) - } -} - -impl<'a> Iterator for Parents<'a> { - type Item = Parent; - - fn next(&mut self) -> Option { - if self.obj.is_root() { - None - } else if let Some(op_set::Parent { obj, key, visible }) = self.ops.parent_object(&self.obj) - { - self.obj = obj; - Some(Parent { - obj: self.ops.id_to_exid(self.obj.0), - prop: self - .ops - .export_key(self.obj, key, ListEncoding::List) - .unwrap(), - visible, - }) - } else { - None - } - } -} - -/// A component of a path to an object -#[derive(Debug, PartialEq, Eq)] -pub struct Parent { - /// The object ID this component refers to - pub obj: ExId, - /// The property within `obj` this component refers to - pub prop: Prop, - /// Whether this component is "visible" - /// - /// An "invisible" component is one where the property is hidden, either because it has been - /// deleted or because there is a conflict on this (object, property) pair and this value does - /// not win the conflict. - pub visible: bool, -} - -#[cfg(test)] -mod tests { - use super::Parent; - use crate::{transaction::Transactable, Prop, ReadDoc}; - - #[test] - fn test_invisible_parents() { - // Create a document with a list of objects, then delete one of the objects, then generate - // a path to the deleted object. - - let mut doc = crate::AutoCommit::new(); - let list = doc - .put_object(crate::ROOT, "list", crate::ObjType::List) - .unwrap(); - let obj1 = doc.insert_object(&list, 0, crate::ObjType::Map).unwrap(); - let _obj2 = doc.insert_object(&list, 1, crate::ObjType::Map).unwrap(); - doc.put(&obj1, "key", "value").unwrap(); - doc.delete(&list, 0).unwrap(); - - let mut parents = doc.parents(&obj1).unwrap().collect::>(); - parents.reverse(); - assert_eq!( - parents, - vec![ - Parent { - obj: crate::ROOT, - prop: Prop::Map("list".to_string()), - visible: true, - }, - Parent { - obj: list, - prop: Prop::Seq(0), - visible: false, - }, - ] - ); - } -} diff --git a/rust/automerge/src/query.rs b/rust/automerge/src/query.rs deleted file mode 100644 index 640ecf8d..00000000 --- a/rust/automerge/src/query.rs +++ /dev/null @@ -1,362 +0,0 @@ -use crate::op_tree::{OpSetMetadata, OpTree, OpTreeNode}; -use crate::types::{ - Clock, Counter, Key, ListEncoding, Op, OpId, OpType, ScalarValue, TextEncoding, -}; -use fxhash::FxBuildHasher; -use std::cmp::Ordering; -use std::collections::{HashMap, HashSet}; -use std::fmt::Debug; - -mod elem_id_pos; -mod insert; -mod keys; -mod keys_at; -mod len; -mod len_at; -mod list_range; -mod list_range_at; -mod list_vals; -mod list_vals_at; -mod map_range; -mod map_range_at; -mod nth; -mod nth_at; -mod opid; -mod opid_vis; -mod prop; -mod prop_at; -mod seek_op; -mod seek_op_with_patch; - -pub(crate) use elem_id_pos::ElemIdPos; -pub(crate) use insert::InsertNth; -pub(crate) use keys::Keys; -pub(crate) use keys_at::KeysAt; -pub(crate) use len::Len; -pub(crate) use len_at::LenAt; -pub(crate) use list_range::ListRange; -pub(crate) use list_range_at::ListRangeAt; -pub(crate) use list_vals::ListVals; -pub(crate) use list_vals_at::ListValsAt; -pub(crate) use map_range::MapRange; -pub(crate) use map_range_at::MapRangeAt; -pub(crate) use nth::Nth; -pub(crate) use nth_at::NthAt; -pub(crate) use opid::OpIdSearch; -pub(crate) use opid_vis::OpIdVisSearch; -pub(crate) use prop::Prop; -pub(crate) use prop_at::PropAt; -pub(crate) use seek_op::SeekOp; -pub(crate) use seek_op_with_patch::SeekOpWithPatch; - -// use a struct for the args for clarity as they are passed up the update chain in the optree -#[derive(Debug, Clone)] -pub(crate) struct ChangeVisibility<'a> { - pub(crate) old_vis: bool, - pub(crate) new_vis: bool, - pub(crate) op: &'a Op, -} - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct CounterData { - pos: usize, - val: i64, - succ: HashSet, - op: Op, -} - -pub(crate) trait TreeQuery<'a>: Clone + Debug { - fn equiv(&mut self, _other: &Self) -> bool { - false - } - - fn can_shortcut_search(&mut self, _tree: &'a OpTree) -> bool { - false - } - - #[inline(always)] - fn query_node_with_metadata( - &mut self, - child: &'a OpTreeNode, - _m: &OpSetMetadata, - ops: &[Op], - ) -> QueryResult { - self.query_node(child, ops) - } - - fn query_node(&mut self, _child: &'a OpTreeNode, _ops: &[Op]) -> QueryResult { - QueryResult::Descend - } - - #[inline(always)] - fn query_element_with_metadata(&mut self, element: &'a Op, _m: &OpSetMetadata) -> QueryResult { - self.query_element(element) - } - - fn query_element(&mut self, _element: &'a Op) -> QueryResult { - panic!("invalid element query") - } -} - -#[derive(Debug, Clone, PartialEq)] -pub(crate) enum QueryResult { - Next, - /// Skip this many elements, only allowed from the root node. - Skip(usize), - Descend, - Finish, -} - -#[derive(Clone, Debug, PartialEq)] -struct TextWidth { - utf8: usize, - utf16: usize, -} - -impl TextWidth { - fn add_op(&mut self, op: &Op) { - self.utf8 += op.width(ListEncoding::Text(TextEncoding::Utf8)); - self.utf16 += op.width(ListEncoding::Text(TextEncoding::Utf16)); - } - - fn remove_op(&mut self, op: &Op) { - // Why are we using saturating_sub here? Shouldn't this always be greater than 0? - // - // In the case of objects which are _not_ `Text` we may end up subtracting more than the - // current width. This can happen if the elements in a list are `ScalarValue::str` and - // there are conflicting elements for the same index in the list. Like so: - // - // ```notrust - // [ - // "element", - // ["conflict1", "conflict2_longer"], - // "element" - // ] - // ``` - // - // Where there are two conflicted elements at index 1 - // - // in `Index::insert` and `Index::change_visibility` we add the width of the inserted op in - // utf8 and utf16 to the current width, but only if there was not a previous element for - // that index. Imagine that we encounter the "conflict1" op first, then we will add the - // length of 'conflict1' to the text widths. When 'conflict2_longer' is added we don't do - // anything because we've already seen an op for this index. Imagine that later we remove - // the `conflict2_longer` op, then we will end up subtracting the length of - // 'conflict2_longer' from the text widths, hence, `saturating_sub`. This isn't a problem - // because for non text objects we don't need the text widths to be accurate anyway. - // - // Really this is a sign that we should be tracking the type of the Index (List or Text) at - // the type level, but for now we just look the other way. - self.utf8 = self - .utf8 - .saturating_sub(op.width(ListEncoding::Text(TextEncoding::Utf8))); - self.utf16 = self - .utf16 - .saturating_sub(op.width(ListEncoding::Text(TextEncoding::Utf16))); - } - - fn merge(&mut self, other: &TextWidth) { - self.utf8 += other.utf8; - self.utf16 += other.utf16; - } -} - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct Index { - /// The map of visible keys to the number of visible operations for that key. - visible: HashMap, - visible_text: TextWidth, - /// Set of opids found in this node and below. - ops: HashSet, -} - -impl Index { - pub(crate) fn new() -> Self { - Index { - visible: Default::default(), - visible_text: TextWidth { utf8: 0, utf16: 0 }, - ops: Default::default(), - } - } - - /// Get the number of visible elements in this index. - pub(crate) fn visible_len(&self, encoding: ListEncoding) -> usize { - match encoding { - ListEncoding::List => self.visible.len(), - ListEncoding::Text(TextEncoding::Utf8) => self.visible_text.utf8, - ListEncoding::Text(TextEncoding::Utf16) => self.visible_text.utf16, - } - } - - pub(crate) fn has_visible(&self, seen: &Key) -> bool { - self.visible.contains_key(seen) - } - - /// Whether `opid` is in this node or any below it - pub(crate) fn has_op(&self, opid: &OpId) -> bool { - self.ops.contains(opid) - } - - pub(crate) fn change_vis<'a>( - &mut self, - change_vis: ChangeVisibility<'a>, - ) -> ChangeVisibility<'a> { - let ChangeVisibility { - old_vis, - new_vis, - op, - } = &change_vis; - let key = op.elemid_or_key(); - match (old_vis, new_vis) { - (true, false) => match self.visible.get(&key).copied() { - Some(n) if n == 1 => { - self.visible.remove(&key); - self.visible_text.remove_op(op); - } - Some(n) => { - self.visible.insert(key, n - 1); - } - None => panic!("remove overun in index"), - }, - (false, true) => { - if let Some(n) = self.visible.get(&key) { - self.visible.insert(key, n + 1); - } else { - self.visible.insert(key, 1); - self.visible_text.add_op(op); - } - } - _ => {} - } - change_vis - } - - pub(crate) fn insert(&mut self, op: &Op) { - self.ops.insert(op.id); - if op.visible() { - let key = op.elemid_or_key(); - if let Some(n) = self.visible.get(&key) { - self.visible.insert(key, n + 1); - } else { - self.visible.insert(key, 1); - self.visible_text.add_op(op); - } - } - } - - pub(crate) fn remove(&mut self, op: &Op) { - self.ops.remove(&op.id); - if op.visible() { - let key = op.elemid_or_key(); - match self.visible.get(&key).copied() { - Some(n) if n == 1 => { - self.visible.remove(&key); - self.visible_text.remove_op(op); - } - Some(n) => { - self.visible.insert(key, n - 1); - } - None => panic!("remove overun in index"), - } - } - } - - pub(crate) fn merge(&mut self, other: &Index) { - for id in &other.ops { - self.ops.insert(*id); - } - for (elem, other_len) in other.visible.iter() { - self.visible - .entry(*elem) - .and_modify(|len| *len += *other_len) - .or_insert(*other_len); - } - self.visible_text.merge(&other.visible_text); - } -} - -impl Default for Index { - fn default() -> Self { - Self::new() - } -} - -#[derive(Debug, Clone, PartialEq, Default)] -pub(crate) struct VisWindow { - counters: HashMap, -} - -impl VisWindow { - fn visible_at(&mut self, op: &Op, pos: usize, clock: &Clock) -> bool { - if !clock.covers(&op.id) { - return false; - } - - let mut visible = false; - match op.action { - OpType::Put(ScalarValue::Counter(Counter { start, .. })) => { - self.counters.insert( - op.id, - CounterData { - pos, - val: start, - succ: op.succ.into_iter().cloned().collect(), - op: op.clone(), - }, - ); - if !op.succ.into_iter().any(|i| clock.covers(i)) { - visible = true; - } - } - OpType::Increment(inc_val) => { - for id in &op.pred { - // pred is always before op.id so we can see them - if let Some(mut entry) = self.counters.get_mut(id) { - entry.succ.remove(&op.id); - entry.val += inc_val; - entry.op.action = OpType::Put(ScalarValue::counter(entry.val)); - if !entry.succ.iter().any(|i| clock.covers(i)) { - visible = true; - } - } - } - } - _ => { - if !op.succ.into_iter().any(|i| clock.covers(i)) { - visible = true; - } - } - }; - visible - } - - pub(crate) fn seen_op(&self, op: &Op, pos: usize) -> Vec<(usize, Op)> { - let mut result = vec![]; - for pred in &op.pred { - if let Some(entry) = self.counters.get(pred) { - result.push((entry.pos, entry.op.clone())); - } - } - if result.is_empty() { - result.push((pos, op.clone())); - } - result - } -} - -pub(crate) fn binary_search_by(node: &OpTreeNode, ops: &[Op], f: F) -> usize -where - F: Fn(&Op) -> Ordering, -{ - let mut right = node.len(); - let mut left = 0; - while left < right { - let seq = (left + right) / 2; - if f(&ops[node.get(seq).unwrap()]) == Ordering::Less { - left = seq + 1; - } else { - right = seq; - } - } - left -} diff --git a/rust/automerge/src/query/elem_id_pos.rs b/rust/automerge/src/query/elem_id_pos.rs deleted file mode 100644 index cb559216..00000000 --- a/rust/automerge/src/query/elem_id_pos.rs +++ /dev/null @@ -1,74 +0,0 @@ -use crate::{ - op_tree::OpTreeNode, - types::{ElemId, ListEncoding, Op, OpId}, -}; - -use super::{QueryResult, TreeQuery}; - -/// Lookup the index in the list that this elemid occupies, includes hidden elements. -#[derive(Clone, Debug)] -pub(crate) struct ElemIdPos { - elem_opid: OpId, - pos: usize, - found: bool, - encoding: ListEncoding, -} - -impl ElemIdPos { - pub(crate) fn new(elemid: ElemId, encoding: ListEncoding) -> Self { - if elemid.is_head() { - Self { - elem_opid: elemid.0, - pos: 0, - found: true, - encoding, - } - } else { - Self { - elem_opid: elemid.0, - pos: 0, - found: false, - encoding, - } - } - } - - pub(crate) fn index(&self) -> Option { - if self.found { - Some(self.pos) - } else { - None - } - } -} - -impl<'a> TreeQuery<'a> for ElemIdPos { - fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult { - if self.found { - return QueryResult::Finish; - } - // if index has our element then we can continue - if child.index.has_op(&self.elem_opid) { - // element is in this node somewhere - QueryResult::Descend - } else { - // not in this node, try the next one - self.pos += child.index.visible_len(self.encoding); - QueryResult::Next - } - } - - fn query_element(&mut self, element: &crate::types::Op) -> QueryResult { - if self.found { - return QueryResult::Finish; - } - if element.elemid() == Some(ElemId(self.elem_opid)) { - // this is it - self.found = true; - return QueryResult::Finish; - } else if element.visible() { - self.pos += element.width(self.encoding); - } - QueryResult::Next - } -} diff --git a/rust/automerge/src/query/insert.rs b/rust/automerge/src/query/insert.rs deleted file mode 100644 index 0dc0e98d..00000000 --- a/rust/automerge/src/query/insert.rs +++ /dev/null @@ -1,125 +0,0 @@ -use crate::error::AutomergeError; -use crate::op_tree::OpTreeNode; -use crate::query::{OpTree, QueryResult, TreeQuery}; -use crate::types::{ElemId, Key, ListEncoding, Op, HEAD}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct InsertNth { - /// the index in the realised list that we want to insert at - target: usize, - /// the number of visible operations seen - seen: usize, - last_width: usize, - encoding: ListEncoding, - //pub pos: usize, - /// the number of operations (including non-visible) that we have seen - n: usize, - valid: Option, - /// last_seen is the target elemid of the last `seen` operation. - /// It is used to avoid double counting visible elements (which arise through conflicts) that are split across nodes. - last_seen: Option, - last_insert: Option, - last_valid_insert: Option, -} - -impl InsertNth { - pub(crate) fn new(target: usize, encoding: ListEncoding) -> Self { - let (valid, last_valid_insert) = if target == 0 { - (Some(0), Some(Key::Seq(HEAD))) - } else { - (None, None) - }; - InsertNth { - target, - seen: 0, - last_width: 0, - encoding, - n: 0, - valid, - last_seen: None, - last_insert: None, - last_valid_insert, - } - } - - pub(crate) fn pos(&self) -> usize { - self.valid.unwrap_or(self.n) - } - - pub(crate) fn key(&self) -> Result { - self.last_valid_insert - .ok_or(AutomergeError::InvalidIndex(self.target)) - } -} - -impl<'a> TreeQuery<'a> for InsertNth { - fn equiv(&mut self, other: &Self) -> bool { - self.pos() == other.pos() && self.key() == other.key() - } - - fn can_shortcut_search(&mut self, tree: &'a OpTree) -> bool { - if let Some((index, pos)) = &tree.last_insert { - if let Some(op) = tree.internal.get(*pos) { - if *index + op.width(self.encoding) == self.target { - self.valid = Some(*pos + 1); - self.last_valid_insert = Some(op.elemid_or_key()); - return true; - } - } - } - false - } - - fn query_node(&mut self, child: &OpTreeNode, ops: &[Op]) -> QueryResult { - // if this node has some visible elements then we may find our target within - let mut num_vis = child.index.visible_len(self.encoding); - if let Some(last_seen) = self.last_seen { - if child.index.has_visible(&last_seen) { - num_vis -= 1; - } - } - - if self.seen + num_vis >= self.target { - // our target is within this node - QueryResult::Descend - } else { - // our target is not in this node so try the next one - self.n += child.len(); - self.seen += num_vis; - - // We have updated seen by the number of visible elements in this index, before we skip it. - // We also need to keep track of the last elemid that we have seen (and counted as seen). - // We can just use the elemid of the last op in this node as either: - // - the insert was at a previous node and this is a long run of overwrites so last_seen should already be set correctly - // - the visible op is in this node and the elemid references it so it can be set here - // - the visible op is in a future node and so it will be counted as seen there - let last_elemid = ops[child.last()].elemid_or_key(); - if child.index.has_visible(&last_elemid) { - self.last_seen = Some(last_elemid); - } - QueryResult::Next - } - } - - fn query_element(&mut self, element: &Op) -> QueryResult { - if element.insert { - if self.valid.is_none() && self.seen >= self.target { - self.valid = Some(self.n); - } - self.last_seen = None; - self.last_insert = element.elemid(); - } - if self.last_seen.is_none() && element.visible() { - if self.seen >= self.target { - return QueryResult::Finish; - } - self.last_width = element.width(self.encoding); - self.seen += self.last_width; - self.last_seen = Some(element.elemid_or_key()); - self.last_valid_insert = self.last_seen - } - self.n += 1; - QueryResult::Next - } -} diff --git a/rust/automerge/src/query/keys.rs b/rust/automerge/src/query/keys.rs deleted file mode 100644 index edda4fe9..00000000 --- a/rust/automerge/src/query/keys.rs +++ /dev/null @@ -1,54 +0,0 @@ -use crate::op_tree::OpTreeInternal; -use crate::types::Key; -use std::fmt::Debug; - -#[derive(Debug)] -pub(crate) struct Keys<'a> { - index: usize, - last_key: Option, - index_back: usize, - last_key_back: Option, - op_tree: &'a OpTreeInternal, -} - -impl<'a> Keys<'a> { - pub(crate) fn new(op_tree: &'a OpTreeInternal) -> Self { - Self { - index: 0, - last_key: None, - index_back: op_tree.len(), - last_key_back: None, - op_tree, - } - } -} - -impl<'a> Iterator for Keys<'a> { - type Item = Key; - - fn next(&mut self) -> Option { - for i in self.index..self.index_back { - let op = self.op_tree.get(i)?; - self.index += 1; - if Some(op.elemid_or_key()) != self.last_key && op.visible() { - self.last_key = Some(op.elemid_or_key()); - return Some(op.elemid_or_key()); - } - } - None - } -} - -impl<'a> DoubleEndedIterator for Keys<'a> { - fn next_back(&mut self) -> Option { - for i in (self.index..self.index_back).rev() { - let op = self.op_tree.get(i)?; - self.index_back -= 1; - if Some(op.elemid_or_key()) != self.last_key_back && op.visible() { - self.last_key_back = Some(op.elemid_or_key()); - return Some(op.elemid_or_key()); - } - } - None - } -} diff --git a/rust/automerge/src/query/keys_at.rs b/rust/automerge/src/query/keys_at.rs deleted file mode 100644 index bf5b5e0e..00000000 --- a/rust/automerge/src/query/keys_at.rs +++ /dev/null @@ -1,61 +0,0 @@ -use crate::op_tree::OpTreeInternal; -use crate::query::VisWindow; -use crate::types::{Clock, Key}; -use std::fmt::Debug; - -#[derive(Debug)] -pub(crate) struct KeysAt<'a> { - clock: Clock, - window: VisWindow, - index: usize, - last_key: Option, - index_back: usize, - last_key_back: Option, - op_tree: &'a OpTreeInternal, -} - -impl<'a> KeysAt<'a> { - pub(crate) fn new(op_tree: &'a OpTreeInternal, clock: Clock) -> Self { - Self { - clock, - window: VisWindow::default(), - index: 0, - last_key: None, - index_back: op_tree.len(), - last_key_back: None, - op_tree, - } - } -} - -impl<'a> Iterator for KeysAt<'a> { - type Item = Key; - - fn next(&mut self) -> Option { - for i in self.index..self.index_back { - let op = self.op_tree.get(i)?; - let visible = self.window.visible_at(op, i, &self.clock); - self.index += 1; - if Some(op.elemid_or_key()) != self.last_key && visible { - self.last_key = Some(op.elemid_or_key()); - return Some(op.elemid_or_key()); - } - } - None - } -} - -impl<'a> DoubleEndedIterator for KeysAt<'a> { - fn next_back(&mut self) -> Option { - for i in self.index..self.index_back { - let op = self.op_tree.get(i)?; - let visible = self.window.visible_at(op, i, &self.clock); - self.index_back -= 1; - if Some(op.elemid_or_key()) != self.last_key_back && visible { - self.last_key_back = Some(op.elemid_or_key()); - return Some(op.elemid_or_key()); - } - } - None - } -} diff --git a/rust/automerge/src/query/len.rs b/rust/automerge/src/query/len.rs deleted file mode 100644 index 9134b11f..00000000 --- a/rust/automerge/src/query/len.rs +++ /dev/null @@ -1,23 +0,0 @@ -use crate::op_tree::OpTreeNode; -use crate::query::{QueryResult, TreeQuery}; -use crate::types::{ListEncoding, Op}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct Len { - pub(crate) len: usize, - encoding: ListEncoding, -} - -impl Len { - pub(crate) fn new(encoding: ListEncoding) -> Self { - Len { len: 0, encoding } - } -} - -impl<'a> TreeQuery<'a> for Len { - fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult { - self.len = child.index.visible_len(self.encoding); - QueryResult::Finish - } -} diff --git a/rust/automerge/src/query/len_at.rs b/rust/automerge/src/query/len_at.rs deleted file mode 100644 index 9380501e..00000000 --- a/rust/automerge/src/query/len_at.rs +++ /dev/null @@ -1,42 +0,0 @@ -use crate::query::{QueryResult, TreeQuery, VisWindow}; -use crate::types::{Clock, ElemId, ListEncoding, Op}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct LenAt { - pub(crate) len: usize, - clock: Clock, - pos: usize, - encoding: ListEncoding, - last: Option, - window: VisWindow, -} - -impl LenAt { - pub(crate) fn new(clock: Clock, encoding: ListEncoding) -> Self { - LenAt { - clock, - pos: 0, - len: 0, - encoding, - last: None, - window: Default::default(), - } - } -} - -impl<'a> TreeQuery<'a> for LenAt { - fn query_element(&mut self, op: &'a Op) -> QueryResult { - if op.insert { - self.last = None; - } - let elem = op.elemid(); - let visible = self.window.visible_at(op, self.pos, &self.clock); - if elem != self.last && visible { - self.len += op.width(self.encoding); - self.last = elem; - } - self.pos += 1; - QueryResult::Next - } -} diff --git a/rust/automerge/src/query/list_range.rs b/rust/automerge/src/query/list_range.rs deleted file mode 100644 index d01082ab..00000000 --- a/rust/automerge/src/query/list_range.rs +++ /dev/null @@ -1,67 +0,0 @@ -use crate::exid::ExId; -use crate::op_tree::OpTreeInternal; -use crate::types::{ElemId, OpId}; -use crate::values::ValueIter; -use crate::{Automerge, Value}; -use std::fmt::Debug; -use std::ops::RangeBounds; - -#[derive(Debug)] -pub(crate) struct ListRange<'a, R: RangeBounds> { - range: R, - index: usize, - pos: usize, - last_elemid: Option, - next_result: Option<(usize, Value<'a>, OpId)>, - index_back: usize, - op_tree: &'a OpTreeInternal, -} - -impl<'a, R: RangeBounds> ListRange<'a, R> { - pub(crate) fn new(range: R, op_tree: &'a OpTreeInternal) -> Self { - Self { - range, - index: 0, // FIXME root_child.seek_to_pos(range.start) - pos: 0, // FIXME range.start - last_elemid: None, - next_result: None, - index_back: op_tree.len(), - op_tree, - } - } -} - -impl<'a, R: RangeBounds> ValueIter<'a> for ListRange<'a, R> { - fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> { - self.next().map(|(_, val, id)| (val, doc.id_to_exid(id))) - } -} - -impl<'a, R: RangeBounds> Iterator for ListRange<'a, R> { - type Item = (usize, Value<'a>, OpId); - - // FIXME: this is fine if we're scanning everything (see values()) but could be much more efficient - // if we're scanning a narrow range on a large sequence ... we should be able to seek to the starting - // point and stop at the end point and not needless scan all the ops before and after the range - fn next(&mut self) -> Option { - for i in self.index..self.index_back { - let op = self.op_tree.get(i)?; - self.index += 1; - if op.visible() { - if op.elemid() != self.last_elemid { - self.last_elemid = op.elemid(); - self.pos += 1; - if self.range.contains(&(self.pos - 1)) { - let result = self.next_result.replace((self.pos - 1, op.value(), op.id)); - if result.is_some() { - return result; - } - } - } else if self.pos > 0 && self.range.contains(&(self.pos - 1)) { - self.next_result = Some((self.pos - 1, op.value(), op.id)); - } - } - } - self.next_result.take() - } -} diff --git a/rust/automerge/src/query/list_range_at.rs b/rust/automerge/src/query/list_range_at.rs deleted file mode 100644 index 33cdf548..00000000 --- a/rust/automerge/src/query/list_range_at.rs +++ /dev/null @@ -1,70 +0,0 @@ -use super::VisWindow; -use crate::exid::ExId; -use crate::op_tree::OpTreeInternal; -use crate::types::{Clock, ElemId, OpId}; -use crate::values::ValueIter; -use crate::{Automerge, Value}; -use std::fmt::Debug; -use std::ops::RangeBounds; - -#[derive(Debug)] -pub(crate) struct ListRangeAt<'a, R: RangeBounds> { - range: R, - index: usize, - pos: usize, - last_elemid: Option, - next_result: Option<(usize, Value<'a>, OpId)>, - index_back: usize, - op_tree: &'a OpTreeInternal, - clock: Clock, - window: VisWindow, -} - -impl<'a, R: RangeBounds> ValueIter<'a> for ListRangeAt<'a, R> { - fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> { - self.next().map(|(_, val, id)| (val, doc.id_to_exid(id))) - } -} - -impl<'a, R: RangeBounds> ListRangeAt<'a, R> { - pub(crate) fn new(range: R, clock: Clock, op_tree: &'a OpTreeInternal) -> Self { - Self { - range, - index: 0, // FIXME root_child.seek_to_pos(range.start) - pos: 0, // FIXME range.start - last_elemid: None, - next_result: None, - index_back: op_tree.len(), - op_tree, - clock, - window: VisWindow::default(), - } - } -} - -impl<'a, R: RangeBounds> Iterator for ListRangeAt<'a, R> { - type Item = (usize, Value<'a>, OpId); - - fn next(&mut self) -> Option { - for i in self.index..self.index_back { - let op = self.op_tree.get(i)?; - let visible = self.window.visible_at(op, i, &self.clock); - self.index += 1; - if visible { - if op.elemid() != self.last_elemid { - self.last_elemid = op.elemid(); - self.pos += 1; - if self.range.contains(&(self.pos - 1)) { - let result = self.next_result.replace((self.pos - 1, op.value(), op.id)); - if result.is_some() { - return result; - } - } - } else if self.pos > 0 && self.range.contains(&(self.pos - 1)) { - self.next_result = Some((self.pos - 1, op.value(), op.id)); - } - } - } - self.next_result.take() - } -} diff --git a/rust/automerge/src/query/list_vals.rs b/rust/automerge/src/query/list_vals.rs deleted file mode 100644 index 6c056621..00000000 --- a/rust/automerge/src/query/list_vals.rs +++ /dev/null @@ -1,36 +0,0 @@ -use crate::op_tree::OpTreeNode; -use crate::query::{QueryResult, TreeQuery}; -use crate::types::{ElemId, Op}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct ListVals { - last_elem: Option, - pub(crate) ops: Vec, -} - -impl ListVals { - pub(crate) fn new() -> Self { - ListVals { - last_elem: None, - ops: vec![], - } - } -} - -impl<'a> TreeQuery<'a> for ListVals { - fn query_node(&mut self, child: &OpTreeNode, ops: &[Op]) -> QueryResult { - let start = 0; - for pos in start..child.len() { - let op = &ops[child.get(pos).unwrap()]; - if op.insert { - self.last_elem = None; - } - if self.last_elem.is_none() && op.visible() { - self.last_elem = op.elemid(); - self.ops.push(op.clone()); - } - } - QueryResult::Finish - } -} diff --git a/rust/automerge/src/query/list_vals_at.rs b/rust/automerge/src/query/list_vals_at.rs deleted file mode 100644 index 57c7596b..00000000 --- a/rust/automerge/src/query/list_vals_at.rs +++ /dev/null @@ -1,49 +0,0 @@ -use crate::query::{OpSetMetadata, QueryResult, TreeQuery, VisWindow}; -use crate::types::{Clock, ElemId, Op}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct ListValsAt { - clock: Clock, - last_elem: Option, - pub(crate) ops: Vec, - window: VisWindow, - pos: usize, -} - -impl ListValsAt { - pub(crate) fn new(clock: Clock) -> Self { - ListValsAt { - clock, - last_elem: None, - ops: vec![], - window: Default::default(), - pos: 0, - } - } -} - -impl<'a> TreeQuery<'a> for ListValsAt { - fn query_element_with_metadata(&mut self, op: &'a Op, m: &OpSetMetadata) -> QueryResult { - if op.insert { - self.last_elem = None; - } - if self.last_elem.is_none() && self.window.visible_at(op, self.pos, &self.clock) { - for (_, vop) in self.window.seen_op(op, self.pos) { - self.last_elem = vop.elemid(); - if vop.is_counter() { - // this could be out of order - because of inc's - insert in the right place - let pos = self - .ops - .binary_search_by(|probe| m.lamport_cmp(probe.id, op.id)) - .unwrap_err(); - self.ops.insert(pos, vop); - } else { - self.ops.push(vop); - } - } - } - self.pos += 1; - QueryResult::Next - } -} diff --git a/rust/automerge/src/query/map_range.rs b/rust/automerge/src/query/map_range.rs deleted file mode 100644 index 909312db..00000000 --- a/rust/automerge/src/query/map_range.rs +++ /dev/null @@ -1,106 +0,0 @@ -use crate::exid::ExId; -use crate::op_tree::{OpSetMetadata, OpTreeInternal}; -use crate::types::{Key, OpId}; -use crate::values::ValueIter; -use crate::{Automerge, Value}; -use std::fmt::Debug; -use std::ops::RangeBounds; - -#[derive(Debug)] -pub(crate) struct MapRange<'a, R: RangeBounds> { - range: R, - index: usize, - last_key: Option, - next_result: Option<(&'a str, Value<'a>, OpId)>, - index_back: usize, - last_key_back: Option, - op_tree: &'a OpTreeInternal, - meta: &'a OpSetMetadata, -} - -impl<'a, R: RangeBounds> ValueIter<'a> for MapRange<'a, R> { - fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> { - self.next().map(|(_, val, id)| (val, doc.id_to_exid(id))) - } -} - -impl<'a, R: RangeBounds> MapRange<'a, R> { - pub(crate) fn new(range: R, op_tree: &'a OpTreeInternal, meta: &'a OpSetMetadata) -> Self { - Self { - range, - index: 0, - last_key: None, - next_result: None, - index_back: op_tree.len(), - last_key_back: None, - op_tree, - meta, - } - } -} - -impl<'a, R: RangeBounds> Iterator for MapRange<'a, R> { - type Item = (&'a str, Value<'a>, OpId); - - // FIXME: this is fine if we're scanning everything (see values()) but could be much more efficient - // if we're scanning a narrow range on a map with many keys... we should be able to seek to the starting - // point and stop at the end point and not needless scan all the ops before and after the range - fn next(&mut self) -> Option { - for i in self.index..self.index_back { - let op = self.op_tree.get(i)?; - self.index += 1; - if op.visible() { - let prop = match op.key { - Key::Map(m) => self.meta.props.get(m), - Key::Seq(_) => return None, // this is a list - }; - if self.range.contains(prop) { - let result = self.next_result.replace((prop, op.value(), op.id)); - if Some(op.key) != self.last_key { - self.last_key = Some(op.key); - if result.is_some() { - return result; - } - } - } - } - } - self.next_result.take() - } -} - -impl<'a, R: RangeBounds> DoubleEndedIterator for MapRange<'a, R> { - fn next_back(&mut self) -> Option { - for i in (self.index..self.index_back).rev() { - let op = self.op_tree.get(i)?; - self.index_back -= 1; - - if Some(op.key) != self.last_key_back && op.visible() { - self.last_key_back = Some(op.key); - let prop = match op.key { - Key::Map(m) => self.meta.props.get(m), - Key::Seq(_) => return None, // this is a list - }; - if self.range.contains(prop) { - return Some((prop, op.value(), op.id)); - } - } - } - - // we're now overlapping the index and index_back so try and take the result from the next query - if let Some((prop, a, b)) = self.next_result.take() { - let last_prop = match self.last_key_back { - None => None, - Some(Key::Map(u)) => Some(self.meta.props.get(u).as_str()), - Some(Key::Seq(_)) => None, - }; - - // we can only use this result if we haven't ended in the prop's state (to account for - // conflicts). - if Some(prop) != last_prop { - return Some((prop, a, b)); - } - } - None - } -} diff --git a/rust/automerge/src/query/map_range_at.rs b/rust/automerge/src/query/map_range_at.rs deleted file mode 100644 index c5c5af06..00000000 --- a/rust/automerge/src/query/map_range_at.rs +++ /dev/null @@ -1,119 +0,0 @@ -use crate::clock::Clock; -use crate::exid::ExId; -use crate::op_tree::{OpSetMetadata, OpTreeInternal}; -use crate::types::{Key, OpId}; -use crate::values::ValueIter; -use crate::{Automerge, Value}; -use std::fmt::Debug; -use std::ops::RangeBounds; - -use super::VisWindow; - -#[derive(Debug)] -pub(crate) struct MapRangeAt<'a, R: RangeBounds> { - clock: Clock, - window: VisWindow, - - range: R, - index: usize, - last_key: Option, - next_result: Option<(&'a str, Value<'a>, OpId)>, - - index_back: usize, - last_key_back: Option, - - op_tree: &'a OpTreeInternal, - meta: &'a OpSetMetadata, -} - -impl<'a, R: RangeBounds> ValueIter<'a> for MapRangeAt<'a, R> { - fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> { - self.next().map(|(_, val, id)| (val, doc.id_to_exid(id))) - } -} - -impl<'a, R: RangeBounds> MapRangeAt<'a, R> { - pub(crate) fn new( - range: R, - op_tree: &'a OpTreeInternal, - meta: &'a OpSetMetadata, - clock: Clock, - ) -> Self { - Self { - clock, - window: VisWindow::default(), - range, - index: 0, - last_key: None, - next_result: None, - index_back: op_tree.len(), - last_key_back: None, - op_tree, - meta, - } - } -} - -impl<'a, R: RangeBounds> Iterator for MapRangeAt<'a, R> { - type Item = (&'a str, Value<'a>, OpId); - - fn next(&mut self) -> Option { - for i in self.index..self.index_back { - let op = self.op_tree.get(i)?; - let visible = self.window.visible_at(op, i, &self.clock); - self.index += 1; - if visible { - let prop = match op.key { - Key::Map(m) => self.meta.props.get(m), - Key::Seq(_) => return None, // this is a list - }; - if self.range.contains(prop) { - let result = self.next_result.replace((prop, op.value(), op.id)); - if Some(op.key) != self.last_key { - self.last_key = Some(op.key); - if result.is_some() { - return result; - } - } - } - } - } - self.next_result.take() - } -} - -impl<'a, R: RangeBounds> DoubleEndedIterator for MapRangeAt<'a, R> { - fn next_back(&mut self) -> Option { - for i in (self.index..self.index_back).rev() { - let op = self.op_tree.get(i)?; - let visible = self.window.visible_at(op, i, &self.clock); - self.index_back -= 1; - if Some(op.key) != self.last_key_back && visible { - self.last_key_back = Some(op.key); - let prop = match op.key { - Key::Map(m) => self.meta.props.get(m), - Key::Seq(_) => return None, // this is a list - }; - if self.range.contains(prop) { - return Some((prop, op.value(), op.id)); - } - } - } - - // we're now overlapping the index and index_back so try and take the result from the next query - if let Some((prop, a, b)) = self.next_result.take() { - let last_prop = match self.last_key_back { - None => None, - Some(Key::Map(u)) => Some(self.meta.props.get(u).as_str()), - Some(Key::Seq(_)) => None, - }; - - // we can only use this result if we haven't ended in the prop's state (to account for - // conflicts). - if Some(prop) != last_prop { - return Some((prop, a, b)); - } - } - None - } -} diff --git a/rust/automerge/src/query/nth.rs b/rust/automerge/src/query/nth.rs deleted file mode 100644 index ed374b9b..00000000 --- a/rust/automerge/src/query/nth.rs +++ /dev/null @@ -1,127 +0,0 @@ -use crate::error::AutomergeError; -use crate::op_set::OpSet; -use crate::op_tree::{OpTree, OpTreeNode}; -use crate::query::{QueryResult, TreeQuery}; -use crate::types::{Key, ListEncoding, Op, OpIds}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct Nth<'a> { - target: usize, - seen: usize, - encoding: ListEncoding, - last_width: usize, - /// last_seen is the target elemid of the last `seen` operation. - /// It is used to avoid double counting visible elements (which arise through conflicts) that are split across nodes. - last_seen: Option, - pub(crate) ops: Vec<&'a Op>, - pub(crate) ops_pos: Vec, - pub(crate) pos: usize, -} - -impl<'a> Nth<'a> { - pub(crate) fn new(target: usize, encoding: ListEncoding) -> Self { - Nth { - target, - seen: 0, - last_width: 1, - encoding, - last_seen: None, - ops: vec![], - ops_pos: vec![], - pos: 0, - } - } - - pub(crate) fn pred(&self, ops: &OpSet) -> OpIds { - ops.m.sorted_opids(self.ops.iter().map(|o| o.id)) - } - - /// Get the key - pub(crate) fn key(&self) -> Result { - // the query collects the ops so we can use that to get the key they all use - if let Some(e) = self.ops.first().and_then(|op| op.elemid()) { - Ok(Key::Seq(e)) - } else { - Err(AutomergeError::InvalidIndex(self.target)) - } - } - - pub(crate) fn index(&self) -> usize { - self.seen - self.last_width - } -} - -impl<'a> TreeQuery<'a> for Nth<'a> { - fn equiv(&mut self, other: &Self) -> bool { - self.index() == other.index() && self.key() == other.key() - } - - fn can_shortcut_search(&mut self, tree: &'a OpTree) -> bool { - if let Some((index, pos)) = &tree.last_insert { - if *index == self.target { - if let Some(op) = tree.internal.get(*pos) { - self.last_width = op.width(self.encoding); - self.seen = *index + self.last_width; - self.ops.push(op); - self.ops_pos.push(*pos); - self.pos = *pos + 1; - return true; - } - } - } - false - } - - fn query_node(&mut self, child: &OpTreeNode, ops: &[Op]) -> QueryResult { - let mut num_vis = child.index.visible_len(self.encoding); - if let Some(last_seen) = self.last_seen { - if child.index.has_visible(&last_seen) { - num_vis -= 1; - } - } - - if self.seen + num_vis > self.target { - QueryResult::Descend - } else { - // skip this node as no useful ops in it - self.pos += child.len(); - self.seen += num_vis; - - // We have updated seen by the number of visible elements in this index, before we skip it. - // We also need to keep track of the last elemid that we have seen (and counted as seen). - // We can just use the elemid of the last op in this node as either: - // - the insert was at a previous node and this is a long run of overwrites so last_seen should already be set correctly - // - the visible op is in this node and the elemid references it so it can be set here - // - the visible op is in a future node and so it will be counted as seen there - let last_elemid = ops[child.last()].elemid_or_key(); - if child.index.has_visible(&last_elemid) { - self.last_seen = Some(last_elemid); - } - QueryResult::Next - } - } - - fn query_element(&mut self, element: &'a Op) -> QueryResult { - if element.insert { - if self.seen > self.target { - return QueryResult::Finish; - } - // we have a new potentially visible element so reset last_seen - self.last_seen = None - } - let visible = element.visible(); - if visible && self.last_seen.is_none() { - self.last_width = element.width(self.encoding); - self.seen += self.last_width; - // we have a new visible element - self.last_seen = Some(element.elemid_or_key()) - } - if self.seen > self.target && visible { - self.ops.push(element); - self.ops_pos.push(self.pos); - } - self.pos += 1; - QueryResult::Next - } -} diff --git a/rust/automerge/src/query/nth_at.rs b/rust/automerge/src/query/nth_at.rs deleted file mode 100644 index e193ca03..00000000 --- a/rust/automerge/src/query/nth_at.rs +++ /dev/null @@ -1,67 +0,0 @@ -use crate::query::{QueryResult, TreeQuery, VisWindow}; -use crate::types::{Clock, ElemId, ListEncoding, Op}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct NthAt { - clock: Clock, - target: usize, - seen: usize, - encoding: ListEncoding, - last_seen: Option, - window: VisWindow, - pub(crate) ops: Vec, - pub(crate) ops_pos: Vec, - pub(crate) pos: usize, -} - -impl NthAt { - pub(crate) fn new(target: usize, clock: Clock, encoding: ListEncoding) -> Self { - NthAt { - clock, - target, - seen: 0, - encoding, - last_seen: None, - ops: vec![], - ops_pos: vec![], - pos: 0, - window: Default::default(), - } - } -} - -impl<'a> TreeQuery<'a> for NthAt { - fn query_element(&mut self, element: &'a Op) -> QueryResult { - if element.insert { - if self.seen > self.target { - return QueryResult::Finish; - }; - self.last_seen = None - } - let visible = self.window.visible_at(element, self.pos, &self.clock); - if visible && self.last_seen.is_none() { - self.seen += element.width(self.encoding); - self.last_seen = element.elemid() - } - if self.seen > self.target && visible { - for (vpos, vop) in self.window.seen_op(element, self.pos) { - if vop.is_counter() { - // this could be out of order because of inc's - we can find the right place - // since pos will always be in order - let pos = self - .ops_pos - .binary_search_by(|probe| probe.cmp(&vpos)) - .unwrap_err(); - self.ops.insert(pos, vop); - self.ops_pos.insert(pos, vpos); - } else { - self.ops.push(vop); - self.ops_pos.push(vpos); - } - } - } - self.pos += 1; - QueryResult::Next - } -} diff --git a/rust/automerge/src/query/opid.rs b/rust/automerge/src/query/opid.rs deleted file mode 100644 index 3d4c8b24..00000000 --- a/rust/automerge/src/query/opid.rs +++ /dev/null @@ -1,54 +0,0 @@ -use crate::op_tree::OpTreeNode; -use crate::query::{QueryResult, TreeQuery}; -use crate::types::{Key, Op, OpId}; - -/// Search for an OpId in a tree. -/// Returns the index of the operation in the tree. -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct OpIdSearch { - target: OpId, - pos: usize, - found: bool, - key: Option, -} - -impl OpIdSearch { - pub(crate) fn new(target: OpId) -> Self { - OpIdSearch { - target, - pos: 0, - found: false, - key: None, - } - } - - /// Get the index of the operation, if found. - pub(crate) fn index(&self) -> Option { - if self.found { - Some(self.pos) - } else { - None - } - } -} - -impl<'a> TreeQuery<'a> for OpIdSearch { - fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult { - if child.index.ops.contains(&self.target) { - QueryResult::Descend - } else { - self.pos += child.len(); - QueryResult::Next - } - } - - fn query_element(&mut self, element: &Op) -> QueryResult { - if element.id == self.target { - self.found = true; - QueryResult::Finish - } else { - self.pos += 1; - QueryResult::Next - } - } -} diff --git a/rust/automerge/src/query/opid_vis.rs b/rust/automerge/src/query/opid_vis.rs deleted file mode 100644 index c0d2cc89..00000000 --- a/rust/automerge/src/query/opid_vis.rs +++ /dev/null @@ -1,62 +0,0 @@ -use crate::op_tree::OpTreeNode; -use crate::query::{QueryResult, TreeQuery}; -use crate::types::{Key, Op, OpId}; - -/// Search for an OpId in a tree. -/// Returns the index of the operation in the tree. -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct OpIdVisSearch { - target: OpId, - found: bool, - pub(crate) visible: bool, - key: Option, -} - -impl OpIdVisSearch { - pub(crate) fn new(target: OpId) -> Self { - OpIdVisSearch { - target, - found: false, - visible: true, - key: None, - } - } - - pub(crate) fn key(&self) -> &Option { - &self.key - } -} - -impl<'a> TreeQuery<'a> for OpIdVisSearch { - fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult { - if child.index.ops.contains(&self.target) { - QueryResult::Descend - } else { - QueryResult::Next - } - } - - fn query_element(&mut self, element: &Op) -> QueryResult { - if element.id == self.target { - self.found = true; - self.key = Some(element.elemid_or_key()); - if element.visible() { - QueryResult::Next - } else { - self.visible = false; - QueryResult::Finish - } - } else if self.found { - if self.key != Some(element.elemid_or_key()) { - QueryResult::Finish - } else if element.visible() { - self.visible = false; - QueryResult::Finish - } else { - QueryResult::Next - } - } else { - QueryResult::Next - } - } -} diff --git a/rust/automerge/src/query/prop.rs b/rust/automerge/src/query/prop.rs deleted file mode 100644 index d2a11361..00000000 --- a/rust/automerge/src/query/prop.rs +++ /dev/null @@ -1,49 +0,0 @@ -use crate::op_tree::{OpSetMetadata, OpTreeNode}; -use crate::query::{binary_search_by, QueryResult, TreeQuery}; -use crate::types::{Key, Op}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct Prop<'a> { - key: Key, - pub(crate) ops: Vec<&'a Op>, - pub(crate) ops_pos: Vec, - pub(crate) pos: usize, -} - -impl<'a> Prop<'a> { - pub(crate) fn new(prop: usize) -> Self { - Prop { - key: Key::Map(prop), - ops: vec![], - ops_pos: vec![], - pos: 0, - } - } -} - -impl<'a> TreeQuery<'a> for Prop<'a> { - fn query_node_with_metadata( - &mut self, - child: &'a OpTreeNode, - m: &OpSetMetadata, - ops: &[Op], - ) -> QueryResult { - let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.key)); - self.pos = start; - QueryResult::Skip(start) - } - - fn query_element(&mut self, op: &'a Op) -> QueryResult { - // don't bother looking at things past our key - if op.key != self.key { - return QueryResult::Finish; - } - if op.visible() { - self.ops.push(op); - self.ops_pos.push(self.pos); - } - self.pos += 1; - QueryResult::Next - } -} diff --git a/rust/automerge/src/query/prop_at.rs b/rust/automerge/src/query/prop_at.rs deleted file mode 100644 index f0c2eedc..00000000 --- a/rust/automerge/src/query/prop_at.rs +++ /dev/null @@ -1,63 +0,0 @@ -use crate::op_tree::{OpSetMetadata, OpTreeNode}; -use crate::query::{binary_search_by, QueryResult, TreeQuery, VisWindow}; -use crate::types::{Clock, Key, Op}; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct PropAt { - clock: Clock, - key: Key, - pub(crate) ops: Vec, - pub(crate) ops_pos: Vec, - pub(crate) pos: usize, -} - -impl PropAt { - pub(crate) fn new(prop: usize, clock: Clock) -> Self { - PropAt { - clock, - key: Key::Map(prop), - ops: vec![], - ops_pos: vec![], - pos: 0, - } - } -} - -impl<'a> TreeQuery<'a> for PropAt { - fn query_node_with_metadata( - &mut self, - child: &'a OpTreeNode, - m: &OpSetMetadata, - ops: &[Op], - ) -> QueryResult { - let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.key)); - let mut window: VisWindow = Default::default(); - self.pos = start; - for pos in start..child.len() { - let op = &ops[child.get(pos).unwrap()]; - if op.key != self.key { - break; - } - if window.visible_at(op, pos, &self.clock) { - for (vpos, vop) in window.seen_op(op, pos) { - if vop.is_counter() { - // this could be out of order because of inc's - we can find the right place - // since pos will always be in order - let pos = self - .ops_pos - .binary_search_by(|probe| probe.cmp(&vpos)) - .unwrap_err(); - self.ops.insert(pos, vop); - self.ops_pos.insert(pos, vpos); - } else { - self.ops.push(vop); - self.ops_pos.push(vpos); - } - } - } - self.pos += 1; - } - QueryResult::Finish - } -} diff --git a/rust/automerge/src/query/seek_op.rs b/rust/automerge/src/query/seek_op.rs deleted file mode 100644 index 2ed875d2..00000000 --- a/rust/automerge/src/query/seek_op.rs +++ /dev/null @@ -1,247 +0,0 @@ -use crate::op_tree::{OpSetMetadata, OpTreeNode}; -use crate::query::{binary_search_by, QueryResult, TreeQuery}; -use crate::types::{Key, Op, HEAD}; -use std::cmp::Ordering; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct SeekOp<'a> { - /// the op we are looking for - op: &'a Op, - /// The position to insert at - pub(crate) pos: usize, - /// The indices of ops that this op overwrites - pub(crate) succ: Vec, - /// whether a position has been found - found: bool, -} - -impl<'a> SeekOp<'a> { - pub(crate) fn new(op: &'a Op) -> Self { - SeekOp { - op, - succ: vec![], - pos: 0, - found: false, - } - } - - fn lesser_insert(&self, op: &Op, m: &OpSetMetadata) -> bool { - op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less - } - - fn greater_opid(&self, op: &Op, m: &OpSetMetadata) -> bool { - m.lamport_cmp(op.id, self.op.id) == Ordering::Greater - } - - fn is_target_insert(&self, op: &Op) -> bool { - op.insert && op.elemid() == self.op.key.elemid() - } -} - -impl<'a> TreeQuery<'a> for SeekOp<'a> { - fn query_node_with_metadata( - &mut self, - child: &OpTreeNode, - m: &OpSetMetadata, - ops: &[Op], - ) -> QueryResult { - if self.found { - return QueryResult::Descend; - } - match self.op.key { - Key::Seq(HEAD) => { - while self.pos < child.len() { - let op = &ops[child.get(self.pos).unwrap()]; - if op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less { - break; - } - self.pos += 1; - } - QueryResult::Finish - } - Key::Seq(e) => { - if child.index.ops.contains(&e.0) { - QueryResult::Descend - } else { - self.pos += child.len(); - QueryResult::Next - } - } - Key::Map(_) => { - let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.op.key)); - self.pos = start; - QueryResult::Skip(start) - } - } - } - - fn query_element_with_metadata(&mut self, e: &Op, m: &OpSetMetadata) -> QueryResult { - match self.op.key { - Key::Map(_) => { - // don't bother looking at things past our key - if e.key != self.op.key { - return QueryResult::Finish; - } - - if self.op.overwrites(e) { - self.succ.push(self.pos); - } - - if m.lamport_cmp(e.id, self.op.id) == Ordering::Greater { - return QueryResult::Finish; - } - - self.pos += 1; - QueryResult::Next - } - Key::Seq(_) => { - if !self.found { - if self.is_target_insert(e) { - self.found = true; - if self.op.overwrites(e) { - self.succ.push(self.pos); - } - } - self.pos += 1; - QueryResult::Next - } else { - // we have already found the target - if self.op.overwrites(e) { - self.succ.push(self.pos); - } - if self.op.insert { - if self.lesser_insert(e, m) { - QueryResult::Finish - } else { - self.pos += 1; - QueryResult::Next - } - } else if e.insert || self.greater_opid(e, m) { - QueryResult::Finish - } else { - self.pos += 1; - QueryResult::Next - } - } - } - } - } -} - -#[cfg(test)] -pub(crate) mod tests { - use crate::{ - op_set::OpSet, - op_tree::B, - query::SeekOp, - types::{Key, ObjId, Op, OpId}, - ActorId, ScalarValue, - }; - - /// Create an optree in which the only visible ops are on the boundaries of the nodes, - /// i.e. the visible elements are in the internal nodes. Like so - /// - /// ```notrust - /// - /// .----------------------. - /// | id | key | succ | - /// | B | "a" | | - /// | 2B | "b" | | - /// '----------------------' - /// / | \ - /// ;------------------------. | `------------------------------------. - /// | id | op | succ | | | id | op | succ | - /// | 0 |set "a" | 1 | | | 2B + 1 |set "c" | 2B + 2 | - /// | 1 |set "a" | 2 | | | 2B + 2 |set "c" | 2B + 3 | - /// | 2 |set "a" | 3 | | ... - /// ... | | 3B |set "c" | | - /// | B - 1 |set "a" | B | | '------------------------------------' - /// '--------'--------'------' | - /// | - /// .-----------------------------. - /// | id | key | succ | - /// | B + 1 | "b" | B + 2 | - /// | B + 2 | "b" | B + 3 | - /// .... - /// | B + (B - 1 | "b" | 2B | - /// '-----------------------------' - /// ``` - /// - /// The important point here is that the leaf nodes contain no visible ops for keys "a" and - /// "b". - /// - /// # Returns - /// - /// The opset in question and an op which should be inserted at the next position after the - /// internally visible ops. - pub(crate) fn optree_with_only_internally_visible_ops() -> (OpSet, Op) { - let mut set = OpSet::new(); - let actor = set.m.actors.cache(ActorId::random()); - let a = set.m.props.cache("a".to_string()); - let b = set.m.props.cache("b".to_string()); - let c = set.m.props.cache("c".to_string()); - - let mut counter = 0; - // For each key insert `B` operations with the `pred` and `succ` setup such that the final - // operation for each key is the only visible op. - for key in [a, b, c] { - for iteration in 0..B { - // Generate a value to insert - let keystr = set.m.props.get(key); - let val = keystr.repeat(iteration + 1); - - // Only the last op is visible - let pred = if iteration == 0 { - Default::default() - } else { - set.m - .sorted_opids(vec![OpId::new(counter - 1, actor)].into_iter()) - }; - - // only the last op is visible - let succ = if iteration == B - 1 { - Default::default() - } else { - set.m - .sorted_opids(vec![OpId::new(counter, actor)].into_iter()) - }; - - let op = Op { - id: OpId::new(counter, actor), - action: crate::OpType::Put(ScalarValue::Str(val.into())), - key: Key::Map(key), - succ, - pred, - insert: false, - }; - set.insert(counter as usize, &ObjId::root(), op); - counter += 1; - } - } - - // Now try and create an op which inserts at the next index of 'a' - let new_op = Op { - id: OpId::new(counter, actor), - action: crate::OpType::Put(ScalarValue::Str("test".into())), - key: Key::Map(a), - succ: Default::default(), - pred: set - .m - .sorted_opids(std::iter::once(OpId::new(B as u64 - 1, actor))), - insert: false, - }; - (set, new_op) - } - - #[test] - fn seek_on_page_boundary() { - let (set, new_op) = optree_with_only_internally_visible_ops(); - - let q = SeekOp::new(&new_op); - let q = set.search(&ObjId::root(), q); - - // we've inserted `B - 1` elements for "a", so the index should be `B` - assert_eq!(q.pos, B); - } -} diff --git a/rust/automerge/src/query/seek_op_with_patch.rs b/rust/automerge/src/query/seek_op_with_patch.rs deleted file mode 100644 index cd30f5bb..00000000 --- a/rust/automerge/src/query/seek_op_with_patch.rs +++ /dev/null @@ -1,291 +0,0 @@ -use crate::op_tree::{OpSetMetadata, OpTreeNode}; -use crate::query::{binary_search_by, QueryResult, TreeQuery}; -use crate::types::{Key, ListEncoding, Op, HEAD}; -use std::cmp::Ordering; -use std::fmt::Debug; - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct SeekOpWithPatch<'a> { - op: Op, - pub(crate) pos: usize, - pub(crate) succ: Vec, - found: bool, - encoding: ListEncoding, - pub(crate) seen: usize, - pub(crate) last_width: usize, - last_seen: Option, - pub(crate) values: Vec<&'a Op>, - pub(crate) had_value_before: bool, -} - -impl<'a> SeekOpWithPatch<'a> { - pub(crate) fn new(op: &Op, encoding: ListEncoding) -> Self { - SeekOpWithPatch { - op: op.clone(), - succ: vec![], - pos: 0, - found: false, - encoding, - seen: 0, - last_width: 0, - last_seen: None, - values: vec![], - had_value_before: false, - } - } - - fn lesser_insert(&self, op: &Op, m: &OpSetMetadata) -> bool { - op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less - } - - fn greater_opid(&self, op: &Op, m: &OpSetMetadata) -> bool { - m.lamport_cmp(op.id, self.op.id) == Ordering::Greater - } - - fn is_target_insert(&self, op: &Op) -> bool { - op.insert && op.elemid() == self.op.key.elemid() - } - - /// Keeps track of the number of visible list elements we have seen. Increments `self.seen` if - /// operation `e` associates a visible value with a list element, and if we have not already - /// counted that list element (this ensures that if a list element has several values, i.e. - /// a conflict, then it is still only counted once). - fn count_visible(&mut self, e: &Op) { - if e.elemid() == self.op.elemid() { - return; - } - if e.insert { - self.last_seen = None - } - if e.visible() && self.last_seen.is_none() { - self.seen += e.width(self.encoding); - self.last_seen = Some(e.elemid_or_key()) - } - } -} - -impl<'a> TreeQuery<'a> for SeekOpWithPatch<'a> { - fn query_node_with_metadata( - &mut self, - child: &'a OpTreeNode, - m: &OpSetMetadata, - ops: &[Op], - ) -> QueryResult { - if self.found { - return QueryResult::Descend; - } - match self.op.key { - // Special case for insertion at the head of the list (`e == HEAD` is only possible for - // an insertion operation). Skip over any list elements whose elemId is greater than - // the opId of the operation being inserted. - Key::Seq(e) if e == HEAD => { - while self.pos < child.len() { - let op = &ops[child.get(self.pos).unwrap()]; - if op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less { - break; - } - self.count_visible(op); - self.pos += 1; - } - QueryResult::Finish - } - - // Updating a list: search for the tree node that contains the new operation's - // reference element (i.e. the element we're updating or inserting after) - Key::Seq(e) => { - if self.found || child.index.ops.contains(&e.0) { - QueryResult::Descend - } else { - self.pos += child.len(); - - // When we skip over a subtree, we need to count the number of visible list - // elements we're skipping over. Each node stores the number of visible - // elements it contains. However, it could happen that a visible element is - // split across two tree nodes. To avoid double-counting in this situation, we - // subtract one if the last visible element also appears in this tree node. - let mut num_vis = child.index.visible_len(self.encoding); - if num_vis > 0 { - // FIXME: I think this is wrong: we should subtract one only if this - // subtree contains a *visible* (i.e. empty succs) operation for the list - // element with elemId `last_seen`; this will subtract one even if all - // values for this list element have been deleted in this subtree. - if let Some(last_seen) = self.last_seen { - if child.index.has_visible(&last_seen) { - num_vis -= 1; - } - } - self.seen += num_vis; - - // FIXME: this is also wrong: `last_seen` needs to be the elemId of the - // last *visible* list element in this subtree, but I think this returns - // the last operation's elemId regardless of whether it's visible or not. - // This will lead to incorrect counting if `last_seen` is not visible: it's - // not counted towards `num_vis`, so we shouldn't be subtracting 1. - self.last_seen = Some(ops[child.last()].elemid_or_key()); - } - QueryResult::Next - } - } - - // Updating a map: operations appear in sorted order by key - Key::Map(_) => { - let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.op.key)); - self.pos = start; - QueryResult::Skip(start) - } - } - } - - // Only called when operating on a sequence (list/text) object, since updates of a map are - // handled in `query_node_with_metadata`. - fn query_element_with_metadata(&mut self, e: &'a Op, m: &OpSetMetadata) -> QueryResult { - match self.op.key { - Key::Map(_) => { - if !self.found { - // Iterate over any existing operations for the same key; stop when we reach an - // operation with a different key - if e.key != self.op.key { - return QueryResult::Finish; - } - - // Keep track of any ops we're overwriting and any conflicts on this key - if self.op.overwrites(e) { - // when we encounter an increment op we also want to find the counter for - // it. - if self.op.is_inc() && e.is_counter() && e.visible() { - self.values.push(e); - } - self.succ.push(self.pos); - self.last_width = e.width(self.encoding); - - if e.visible() { - self.had_value_before = true; - } - } else if e.visible() { - self.values.push(e); - } - - // Ops for the same key should be in ascending order of opId, so we break when - // we reach an op with an opId greater than that of the new operation - if m.lamport_cmp(e.id, self.op.id) == Ordering::Greater { - self.found = true; - return QueryResult::Next; - } - - self.pos += 1; - } else { - // For the purpose of reporting conflicts, we also need to take into account any - // ops for the same key that appear after the new operation - - if e.key != self.op.key { - return QueryResult::Finish; - } - // No need to check if `self.op.overwrites(op)` because an operation's `preds` - // must always have lower Lamport timestamps than that op itself, and the ops - // here all have greater opIds than the new op - if e.visible() { - self.values.push(e); - } - } - QueryResult::Next - } - Key::Seq(_) => { - let result = if !self.found { - // First search for the referenced list element (i.e. the element we're updating, or - // after which we're inserting) - if self.is_target_insert(e) { - self.found = true; - if self.op.overwrites(e) { - // when we encounter an increment op we also want to find the counter for - // it. - if self.op.is_inc() && e.is_counter() && e.visible() { - self.values.push(e); - } - self.succ.push(self.pos); - self.last_width = e.width(self.encoding); - } - if e.visible() { - self.had_value_before = true; - } - } - self.pos += 1; - QueryResult::Next - } else { - // Once we've found the reference element, keep track of any ops that we're overwriting - let overwritten = self.op.overwrites(e); - if overwritten { - // when we encounter an increment op we also want to find the counter for - // it. - if self.op.is_inc() && e.is_counter() && e.visible() { - self.values.push(e); - } - self.succ.push(self.pos); - self.last_width = e.width(self.encoding); - } - - // If the new op is an insertion, skip over any existing list elements whose elemId is - // greater than the ID of the new insertion - if self.op.insert { - if self.lesser_insert(e, m) { - // Insert before the first existing list element whose elemId is less than that - // of the new insertion - QueryResult::Finish - } else { - self.pos += 1; - QueryResult::Next - } - } else if e.insert { - // If the new op is an update of an existing list element, the first insertion op - // we encounter after the reference element indicates the end of the reference elem - QueryResult::Finish - } else { - // When updating an existing list element, keep track of any conflicts on this list - // element. We also need to remember if the list element had any visible elements - // prior to applying the new operation: if not, the new operation is resurrecting - // a deleted list element, so it looks like an insertion in the patch. - if e.visible() { - self.had_value_before = true; - if !overwritten { - self.values.push(e); - } - } - - // We now need to put the ops for the same list element into ascending order, so we - // skip over any ops whose ID is less than that of the new operation. - if !self.greater_opid(e, m) { - self.pos += 1; - } - QueryResult::Next - } - }; - - // The patch needs to know the list index of each operation, so we count the number of - // visible list elements up to the insertion position of the new operation - if result == QueryResult::Next { - self.count_visible(e); - } - result - } - } - } -} - -#[cfg(test)] -mod tests { - use super::{super::seek_op::tests::optree_with_only_internally_visible_ops, SeekOpWithPatch}; - use crate::{ - op_tree::B, - types::{ListEncoding, ObjId}, - }; - - #[test] - fn test_insert_on_internal_only_nodes() { - let (set, new_op) = optree_with_only_internally_visible_ops(); - - let q = SeekOpWithPatch::new(&new_op, ListEncoding::List); - let q = set.search(&ObjId::root(), q); - - // we've inserted `B - 1` elements for "a", so the index should be `B` - assert_eq!(q.pos, B); - } -} diff --git a/rust/automerge/src/read.rs b/rust/automerge/src/read.rs deleted file mode 100644 index 6d479718..00000000 --- a/rust/automerge/src/read.rs +++ /dev/null @@ -1,199 +0,0 @@ -use crate::{ - error::AutomergeError, exid::ExId, keys::Keys, keys_at::KeysAt, list_range::ListRange, - list_range_at::ListRangeAt, map_range::MapRange, map_range_at::MapRangeAt, parents::Parents, - values::Values, Change, ChangeHash, ObjType, Prop, Value, -}; - -use std::ops::RangeBounds; - -/// Methods for reading values from an automerge document -/// -/// Many of the methods on this trait have an alternate `*_at` version which -/// takes an additional argument of `&[ChangeHash]`. This allows you to retrieve -/// the value at a particular point in the document history identified by the -/// given change hashes. -pub trait ReadDoc { - /// Get the parents of an object in the document tree. - /// - /// See the documentation for [`Parents`] for more details. - /// - /// ### Errors - /// - /// Returns an error when the id given is not the id of an object in this document. - /// This function does not get the parents of scalar values contained within objects. - /// - /// ### Experimental - /// - /// This function may in future be changed to allow getting the parents from the id of a scalar - /// value. - fn parents>(&self, obj: O) -> Result, AutomergeError>; - - /// Get the path to an object - /// - /// "path" here means the sequence of `(object Id, key)` pairs which leads - /// to the object in question. - /// - /// ### Errors - /// - /// * If the object ID `obj` is not in the document - fn path_to_object>(&self, obj: O) -> Result, AutomergeError>; - - /// Get the keys of the object `obj`. - /// - /// For a map this returns the keys of the map. - /// For a list this returns the element ids (opids) encoded as strings. - fn keys>(&self, obj: O) -> Keys<'_, '_>; - - /// Get the keys of the object `obj` as at `heads` - /// - /// See [`Self::keys`] - fn keys_at>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_>; - - /// Iterate over the keys and values of the map `obj` in the given range. - /// - /// If the object correspoding to `obj` is a list then this will return an empty iterator - /// - /// The returned iterator yields `(key, value, exid)` tuples, where the - /// third element is the ID of the operation which created the value. - fn map_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> MapRange<'_, R>; - - /// Iterate over the keys and values of the map `obj` in the given range as - /// at `heads` - /// - /// If the object correspoding to `obj` is a list then this will return an empty iterator - /// - /// The returned iterator yields `(key, value, exid)` tuples, where the - /// third element is the ID of the operation which created the value. - /// - /// See [`Self::map_range`] - fn map_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> MapRangeAt<'_, R>; - - /// Iterate over the indexes and values of the list or text `obj` in the given range. - /// - /// The reuturned iterator yields `(index, value, exid)` tuples, where the third - /// element is the ID of the operation which created the value. - fn list_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> ListRange<'_, R>; - - /// Iterate over the indexes and values of the list or text `obj` in the given range as at `heads` - /// - /// The returned iterator yields `(index, value, exid)` tuples, where the third - /// element is the ID of the operation which created the value. - /// - /// See [`Self::list_range`] - fn list_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> ListRangeAt<'_, R>; - - /// Iterate over the values in a map, list, or text object - /// - /// The returned iterator yields `(value, exid)` tuples, where the second element - /// is the ID of the operation which created the value. - fn values>(&self, obj: O) -> Values<'_>; - - /// Iterate over the values in a map, list, or text object as at `heads` - /// - /// The returned iterator yields `(value, exid)` tuples, where the second element - /// is the ID of the operation which created the value. - /// - /// See [`Self::values`] - fn values_at>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_>; - - /// Get the length of the given object. - /// - /// If the given object is not in this document this method will return `0` - fn length>(&self, obj: O) -> usize; - - /// Get the length of the given object as at `heads` - /// - /// If the given object is not in this document this method will return `0` - /// - /// See [`Self::length`] - fn length_at>(&self, obj: O, heads: &[ChangeHash]) -> usize; - - /// Get the type of this object, if it is an object. - fn object_type>(&self, obj: O) -> Result; - - /// Get the string represented by the given text object. - fn text>(&self, obj: O) -> Result; - - /// Get the string represented by the given text object as at `heads`, see - /// [`Self::text`] - fn text_at>( - &self, - obj: O, - heads: &[ChangeHash], - ) -> Result; - - /// Get a value out of the document. - /// - /// This returns a tuple of `(value, object ID)`. This is for two reasons: - /// - /// 1. If `value` is an object (represented by `Value::Object`) then the ID - /// is the ID of that object. This can then be used to retrieve nested - /// values from the document. - /// 2. Even if `value` is a scalar, the ID represents the operation which - /// created the value. This is useful if there are conflicting values for - /// this key as each value is tagged with the ID. - /// - /// In the case of a key which has conflicting values, this method will - /// return a single arbitrarily chosen value. This value will be chosen - /// deterministically on all nodes. If you want to get all the values for a - /// key use [`Self::get_all`]. - fn get, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError>; - - /// Get the value of the given key as at `heads`, see `[Self::get]` - fn get_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError>; - - /// Get all conflicting values out of the document at this prop that conflict. - /// - /// If there are multiple conflicting values for a given key this method - /// will return all of them, with each value tagged by the ID of the - /// operation which created it. - fn get_all, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError>; - - /// Get all possibly conflicting values for a key as at `heads` - /// - /// See `[Self::get_all]` - fn get_all_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError>; - - /// Get the hashes of the changes in this document that aren't transitive dependencies of the - /// given `heads`. - fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec; - - /// Get a change by its hash. - fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&Change>; -} diff --git a/rust/automerge/src/storage.rs b/rust/automerge/src/storage.rs deleted file mode 100644 index 5b3d03a7..00000000 --- a/rust/automerge/src/storage.rs +++ /dev/null @@ -1,24 +0,0 @@ -use std::ops::Range; - -pub(crate) mod change; -mod chunk; -mod columns; -pub(crate) mod convert; -mod document; -pub(crate) mod load; -pub(crate) mod parse; -pub(crate) mod save; - -pub(crate) use { - change::{AsChangeOp, Change, ChangeOp, Compressed, ReadChangeOpError}, - chunk::{CheckSum, Chunk, ChunkType, Header}, - columns::{Columns, MismatchingColumn, RawColumn, RawColumns}, - document::{AsChangeMeta, AsDocOp, ChangeMetadata, CompressConfig, DocOp, Document}, - load::VerificationMode, -}; - -fn shift_range(range: Range, by: usize) -> Range { - range.start + by..range.end + by -} - -pub(crate) const MAGIC_BYTES: [u8; 4] = [0x85, 0x6f, 0x4a, 0x83]; diff --git a/rust/automerge/src/storage/change.rs b/rust/automerge/src/storage/change.rs deleted file mode 100644 index 61db0b00..00000000 --- a/rust/automerge/src/storage/change.rs +++ /dev/null @@ -1,511 +0,0 @@ -use std::{borrow::Cow, io::Write, marker::PhantomData, num::NonZeroU64, ops::Range}; - -use crate::{convert, ActorId, ChangeHash, ScalarValue}; - -use super::{parse, shift_range, CheckSum, ChunkType, Columns, Header, RawColumns}; - -mod change_op_columns; -use change_op_columns::ChangeOpsColumns; -pub(crate) use change_op_columns::{ChangeOp, ReadChangeOpError}; - -mod change_actors; -pub(crate) use change_actors::PredOutOfOrder; -mod compressed; -mod op_with_change_actors; -pub(crate) use compressed::Compressed; - -pub(crate) const DEFLATE_MIN_SIZE: usize = 256; - -/// Changes present an iterator over the operations encoded in them. Before we have read these -/// changes we don't know if they are valid, so we expose an iterator with items which are -/// `Result`s. However, frequently we know that the changes are valid, this trait is used as a -/// witness that we have verified the operations in a change so we can expose an iterator which -/// does not return `Results` -pub(crate) trait OpReadState {} -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct Verified; -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct Unverified; -impl OpReadState for Verified {} -impl OpReadState for Unverified {} - -/// A `Change` is the result of parsing a change chunk as specified in [1] -/// -/// The type parameter to this type represents whether or not operation have been "verified". -/// Operations in a change chunk are stored in a compressed column oriented storage format. In -/// general there is no guarantee that this storage is valid. Therefore we use the `OpReadState` -/// type parameter to distinguish between contexts where we know that the ops are valid and those -/// where we don't. The `Change::verify_ops` method can be used to obtain a verified `Change` which -/// can provide an iterator over `ChangeOp`s directly, rather than over `Result`. -/// -/// [1]: https://alexjg.github.io/automerge-storage-docs/#change-chunks -#[derive(Clone, Debug)] -pub(crate) struct Change<'a, O: OpReadState> { - /// The raw bytes of the entire chunk containing this change, including the header. - bytes: Cow<'a, [u8]>, - header: Header, - dependencies: Vec, - actor: ActorId, - other_actors: Vec, - seq: u64, - start_op: NonZeroU64, - timestamp: i64, - message: Option, - ops_meta: ChangeOpsColumns, - /// The range in `Self::bytes` where the ops column data is - ops_data: Range, - extra_bytes: Range, - _phantom: PhantomData, -} - -impl<'a, O: OpReadState> PartialEq for Change<'a, O> { - fn eq(&self, other: &Self) -> bool { - self.bytes == other.bytes - } -} - -#[derive(thiserror::Error, Debug)] -pub(crate) enum ParseError { - #[error(transparent)] - Leb128(#[from] parse::leb128::Error), - #[error(transparent)] - InvalidUtf8(#[from] parse::InvalidUtf8), - #[error("failed to parse change columns: {0}")] - RawColumns(#[from] crate::storage::columns::raw_column::ParseError), - #[error("failed to parse header: {0}")] - Header(#[from] super::chunk::error::Header), - #[error("change contained compressed columns")] - CompressedChangeCols, - #[error("invalid change cols: {0}")] - InvalidColumns(Box), -} - -impl<'a> Change<'a, Unverified> { - pub(crate) fn parse( - input: parse::Input<'a>, - ) -> parse::ParseResult<'a, Change<'a, Unverified>, ParseError> { - // TODO(alex): check chunk type - let (i, header) = Header::parse(input)?; - let parse::Split { - first: chunk_input, - remaining, - } = i.split(header.data_bytes().len()); - let (_, change) = Self::parse_following_header(chunk_input, header)?; - Ok((remaining, change)) - } - - /// Parse a change chunk. `input` should be the entire chunk, including the header bytes. - pub(crate) fn parse_following_header( - input: parse::Input<'a>, - header: Header, - ) -> parse::ParseResult<'_, Change<'a, Unverified>, ParseError> { - let (i, deps) = parse::length_prefixed(parse::change_hash)(input)?; - let (i, actor) = parse::actor_id(i)?; - let (i, seq) = parse::leb128_u64(i)?; - let (i, start_op) = parse::nonzero_leb128_u64(i)?; - let (i, timestamp) = parse::leb128_i64(i)?; - let (i, message_len) = parse::leb128_u64(i)?; - let (i, message) = parse::utf_8(message_len as usize, i)?; - let (i, other_actors) = parse::length_prefixed(parse::actor_id)(i)?; - let (i, ops_meta) = RawColumns::parse(i)?; - let ( - i, - parse::RangeOf { - range: ops_data, .. - }, - ) = parse::range_of(|i| parse::take_n(ops_meta.total_column_len(), i), i)?; - - let ( - _i, - parse::RangeOf { - range: extra_bytes, .. - }, - ) = parse::range_of(parse::take_rest, i)?; - - let ops_meta = ops_meta - .uncompressed() - .ok_or(parse::ParseError::Error(ParseError::CompressedChangeCols))?; - let col_layout = Columns::parse(ops_data.len(), ops_meta.iter()) - .map_err(|e| parse::ParseError::Error(ParseError::InvalidColumns(Box::new(e))))?; - let ops_meta = ChangeOpsColumns::try_from(col_layout) - .map_err(|e| parse::ParseError::Error(ParseError::InvalidColumns(Box::new(e))))?; - - Ok(( - parse::Input::empty(), - Change { - bytes: input.bytes().into(), - header, - dependencies: deps, - actor, - other_actors, - seq, - start_op, - timestamp, - message: if message.is_empty() { - None - } else { - Some(message) - }, - ops_meta, - ops_data, - extra_bytes, - _phantom: PhantomData, - }, - )) - } - - /// Iterate over the ops in this chunk. The iterator will return an error if any of the ops are - /// malformed. - pub(crate) fn iter_ops( - &'a self, - ) -> impl Iterator> + Clone + 'a { - self.ops_meta.iter(self.ops_data()) - } - - /// Verify all the ops in this change executing `f` for each one - /// - /// `f` will be called for each op in this change, allowing callers to collect additional - /// information about the ops (e.g. all the actor IDs in the change, or the number of ops) - /// - /// # Errors - /// * If there is an error reading an operation - pub(crate) fn verify_ops( - self, - mut f: F, - ) -> Result, ReadChangeOpError> { - for op in self.iter_ops() { - f(op?); - } - if u32::try_from(u64::from(self.start_op)).is_err() { - return Err(ReadChangeOpError::CounterTooLarge); - } - Ok(Change { - bytes: self.bytes, - header: self.header, - dependencies: self.dependencies, - actor: self.actor, - other_actors: self.other_actors, - seq: self.seq, - start_op: self.start_op, - timestamp: self.timestamp, - message: self.message, - ops_meta: self.ops_meta, - ops_data: self.ops_data, - extra_bytes: self.extra_bytes, - _phantom: PhantomData, - }) - } -} - -impl<'a> Change<'a, Verified> { - pub(crate) fn builder() -> ChangeBuilder { - ChangeBuilder::new() - } - - pub(crate) fn iter_ops(&'a self) -> impl Iterator + Clone + 'a { - // SAFETY: This unwrap is okay because a `Change<'_, Verified>` can only be constructed - // using either `verify_ops` or `Builder::build`, so we know the ops columns are valid. - self.ops_meta.iter(self.ops_data()).map(|o| o.unwrap()) - } -} - -impl<'a, O: OpReadState> Change<'a, O> { - pub(crate) fn checksum(&self) -> CheckSum { - self.header.checksum() - } - - pub(crate) fn actor(&self) -> &ActorId { - &self.actor - } - pub(crate) fn other_actors(&self) -> &[ActorId] { - &self.other_actors - } - - pub(crate) fn start_op(&self) -> NonZeroU64 { - self.start_op - } - - pub(crate) fn message(&self) -> &Option { - &self.message - } - - pub(crate) fn dependencies(&self) -> &[ChangeHash] { - &self.dependencies - } - - pub(crate) fn seq(&self) -> u64 { - self.seq - } - - pub(crate) fn timestamp(&self) -> i64 { - self.timestamp - } - - pub(crate) fn extra_bytes(&self) -> &[u8] { - &self.bytes[self.extra_bytes.clone()] - } - - pub(crate) fn checksum_valid(&self) -> bool { - self.header.checksum_valid() - } - - pub(crate) fn body_bytes(&self) -> &[u8] { - &self.bytes[self.header.len()..] - } - - pub(crate) fn bytes(&self) -> &[u8] { - &self.bytes - } - - pub(crate) fn hash(&self) -> ChangeHash { - self.header.hash() - } - - pub(crate) fn ops_data(&self) -> &[u8] { - &self.bytes[self.ops_data.clone()] - } - - pub(crate) fn into_owned(self) -> Change<'static, O> { - Change { - dependencies: self.dependencies, - bytes: Cow::Owned(self.bytes.into_owned()), - header: self.header, - actor: self.actor, - other_actors: self.other_actors, - seq: self.seq, - start_op: self.start_op, - timestamp: self.timestamp, - message: self.message, - ops_meta: self.ops_meta, - ops_data: self.ops_data, - extra_bytes: self.extra_bytes, - _phantom: PhantomData, - } - } - - pub(crate) fn compress(&self) -> Option> { - if self.bytes.len() > DEFLATE_MIN_SIZE { - Some(Compressed::compress(self)) - } else { - None - } - } -} - -fn length_prefixed_bytes>(b: B, out: &mut Vec) -> usize { - let prefix_len = leb128::write::unsigned(out, b.as_ref().len() as u64).unwrap(); - out.write_all(b.as_ref()).unwrap(); - prefix_len + b.as_ref().len() -} - -// Bunch of type safe builder boilerplate -pub(crate) struct Unset; -pub(crate) struct Set { - value: T, -} - -#[allow(non_camel_case_types)] -pub(crate) struct ChangeBuilder { - dependencies: Vec, - actor: ACTOR, - seq: SEQ, - start_op: START_OP, - timestamp: TIME, - message: Option, - extra_bytes: Option>, -} - -impl ChangeBuilder { - pub(crate) fn new() -> Self { - Self { - dependencies: vec![], - actor: Unset, - seq: Unset, - start_op: Unset, - timestamp: Unset, - message: None, - extra_bytes: None, - } - } -} - -#[allow(non_camel_case_types)] -impl ChangeBuilder { - pub(crate) fn with_dependencies(self, mut dependencies: Vec) -> Self { - dependencies.sort_unstable(); - Self { - dependencies, - ..self - } - } - - pub(crate) fn with_message(self, message: Option) -> Self { - Self { message, ..self } - } - - pub(crate) fn with_extra_bytes(self, extra_bytes: Vec) -> Self { - Self { - extra_bytes: Some(extra_bytes), - ..self - } - } -} - -#[allow(non_camel_case_types)] -impl ChangeBuilder { - pub(crate) fn with_seq(self, seq: u64) -> ChangeBuilder, TIME> { - ChangeBuilder { - dependencies: self.dependencies, - actor: self.actor, - seq: Set { value: seq }, - start_op: self.start_op, - timestamp: self.timestamp, - message: self.message, - extra_bytes: self.extra_bytes, - } - } -} - -#[allow(non_camel_case_types)] -impl ChangeBuilder { - pub(crate) fn with_actor( - self, - actor: ActorId, - ) -> ChangeBuilder, SEQ, TIME> { - ChangeBuilder { - dependencies: self.dependencies, - actor: Set { value: actor }, - seq: self.seq, - start_op: self.start_op, - timestamp: self.timestamp, - message: self.message, - extra_bytes: self.extra_bytes, - } - } -} - -impl ChangeBuilder { - pub(crate) fn with_start_op( - self, - start_op: NonZeroU64, - ) -> ChangeBuilder, ACTOR, SEQ, TIME> { - ChangeBuilder { - dependencies: self.dependencies, - actor: self.actor, - seq: self.seq, - start_op: Set { value: start_op }, - timestamp: self.timestamp, - message: self.message, - extra_bytes: self.extra_bytes, - } - } -} - -#[allow(non_camel_case_types)] -impl ChangeBuilder { - pub(crate) fn with_timestamp(self, time: i64) -> ChangeBuilder> { - ChangeBuilder { - dependencies: self.dependencies, - actor: self.actor, - seq: self.seq, - start_op: self.start_op, - timestamp: Set { value: time }, - message: self.message, - extra_bytes: self.extra_bytes, - } - } -} - -/// A row to be encoded as a change op -/// -/// The lifetime `'a` is the lifetime of the value and key data types. For types which cannot -/// provide a reference (e.g. because they are decoding from some columnar storage on each -/// iteration) this should be `'static`. -pub(crate) trait AsChangeOp<'a> { - /// The type of the Actor ID component of the op IDs for this impl. This is typically either - /// `&'a ActorID` or `usize` - type ActorId; - /// The type of the op IDs this impl produces. - type OpId: convert::OpId; - /// The type of the predecessor iterator returned by `Self::pred`. This can often be omitted - type PredIter: Iterator + ExactSizeIterator; - - fn obj(&self) -> convert::ObjId; - fn key(&self) -> convert::Key<'a, Self::OpId>; - fn insert(&self) -> bool; - fn action(&self) -> u64; - fn val(&self) -> Cow<'a, ScalarValue>; - fn pred(&self) -> Self::PredIter; -} - -impl ChangeBuilder, Set, Set, Set> { - pub(crate) fn build<'a, A, I, O>( - self, - ops: I, - ) -> Result, PredOutOfOrder> - where - A: AsChangeOp<'a, OpId = O> + 'a, - O: convert::OpId<&'a ActorId> + 'a, - I: Iterator + Clone + 'a, - { - let mut col_data = Vec::new(); - let actors = change_actors::ChangeActors::new(self.actor.value, ops)?; - let cols = ChangeOpsColumns::encode(actors.iter(), &mut col_data); - - let (actor, other_actors) = actors.done(); - - let mut data = Vec::with_capacity(col_data.len()); - leb128::write::unsigned(&mut data, self.dependencies.len() as u64).unwrap(); - for dep in &self.dependencies { - data.write_all(dep.as_bytes()).unwrap(); - } - length_prefixed_bytes(&actor, &mut data); - leb128::write::unsigned(&mut data, self.seq.value).unwrap(); - leb128::write::unsigned(&mut data, self.start_op.value.into()).unwrap(); - leb128::write::signed(&mut data, self.timestamp.value).unwrap(); - length_prefixed_bytes( - self.message.as_ref().map(|m| m.as_bytes()).unwrap_or(&[]), - &mut data, - ); - leb128::write::unsigned(&mut data, other_actors.len() as u64).unwrap(); - for actor in other_actors.iter() { - length_prefixed_bytes(actor, &mut data); - } - cols.raw_columns().write(&mut data); - let ops_data_start = data.len(); - let ops_data = ops_data_start..(ops_data_start + col_data.len()); - - data.extend(col_data); - let extra_bytes = - data.len()..(data.len() + self.extra_bytes.as_ref().map(|e| e.len()).unwrap_or(0)); - if let Some(extra) = self.extra_bytes { - data.extend(extra); - } - - let header = Header::new(ChunkType::Change, &data); - - let mut bytes = Vec::with_capacity(header.len() + data.len()); - header.write(&mut bytes); - bytes.extend(data); - - let ops_data = shift_range(ops_data, header.len()); - let extra_bytes = shift_range(extra_bytes, header.len()); - - Ok(Change { - bytes: Cow::Owned(bytes), - header, - dependencies: self.dependencies, - actor, - other_actors, - seq: self.seq.value, - start_op: self.start_op.value, - timestamp: self.timestamp.value, - message: self.message, - ops_meta: cols, - ops_data, - extra_bytes, - _phantom: PhantomData, - }) - } -} diff --git a/rust/automerge/src/storage/change/change_actors.rs b/rust/automerge/src/storage/change/change_actors.rs deleted file mode 100644 index 61f1221d..00000000 --- a/rust/automerge/src/storage/change/change_actors.rs +++ /dev/null @@ -1,304 +0,0 @@ -use std::collections::{BTreeMap, BTreeSet}; - -use crate::convert; - -use super::AsChangeOp; - -/// This struct represents the ordering of actor indices in a change chunk. Operations in a change -/// chunk are encoded with the actor ID represented as an offset into an array of actors which are -/// encoded at the start of the chunk. This array is in a specific order: the author of the change -/// is always the first actor, then all other actors referenced in a change are encoded in -/// lexicographic order. -/// -/// The intended usage is to construct a `ChangeActors` from an iterator over `AsChangeOp` where -/// the `ActorId` of the `AsChangeOp` implementation is the original actor ID. The resulting -/// `ChangeActors` implements `Iterator` where the `item` implements -/// `AsChangeOp>`, which can be passed to `ChangeOpColumns::encode`. -/// -/// Once encoding is complete you can use `ChangeActors::done` to retrieve the original actor and the -/// other actors in the change. -/// -/// # Note on type parameters -/// -/// The type paramters are annoying, they basically exist because we can't have generic associated -/// types, so we have to feed the concrete types of the associated types of the `AsChangeOp` -/// implementation through here. Here's what they all refer to: -/// -/// * A - The type of the actor ID used in the operation IDs of the incoming changes -/// * I - The type of the iterator over the `AsChangeOp` implementation of the incoming changes -/// * O - The concrete type of the operation ID which implementas `convert::OpId` -/// * C - The concrete type (which implements `AsChangeOp`) of the incoming changes -/// * 'a - The lifetime bound for the AsChangeOp trait and it's associated types -/// -/// Maybe when GATs land we can make this simpler. -pub(crate) struct ChangeActors<'a, ActorId, I, O, C> { - actor: ActorId, - other_actors: Vec, - index: BTreeMap, - wrapped: I, - num_ops: usize, - _phantom: std::marker::PhantomData<(&'a O, C)>, -} - -#[derive(thiserror::Error, Debug)] -#[error("actor index {0} referenced by an operation was not found in the changes")] -pub(crate) struct MissingActor(usize); - -#[derive(Debug, thiserror::Error)] -#[error("pred OpIds out of order")] -pub(crate) struct PredOutOfOrder; - -impl<'a, A, I, O, C> ChangeActors<'a, A, I, O, C> -where - A: PartialEq + Ord + Clone + std::hash::Hash + 'static, - O: convert::OpId<&'a A> + 'a, - C: AsChangeOp<'a, OpId = O> + 'a, - I: Iterator + Clone + 'a, -{ - /// Create a new change actor mapping - /// - /// # Arguments - /// * actor - the actor ID of the actor who authored this change - /// * ops - an iterator containing the operations which will be encoded into the change - /// - /// # Errors - /// * If one of the ops herein contains a `pred` with ops which are not in lamport timestamp - /// order - pub(crate) fn new(actor: A, ops: I) -> Result, PredOutOfOrder> { - // Change actors indices are encoded with the 0th element being the actor who authored the - // change and all other actors referenced in the chain following the author in - // lexicographic order. Here we collect all the actors referenced by operations in `ops` - let (num_ops, mut other_actors) = - ops.clone() - .try_fold((0, BTreeSet::new()), |(count, mut acc), op| { - if let convert::Key::Elem(convert::ElemId::Op(o)) = op.key() { - if o.actor() != &actor { - acc.insert(o.actor()); - } - } - - if !are_sorted(op.pred()) { - return Err(PredOutOfOrder); - } - for pred in op.pred() { - if pred.actor() != &actor { - acc.insert(pred.actor()); - } - } - if let convert::ObjId::Op(o) = op.obj() { - if o.actor() != &actor { - acc.insert(o.actor()); - } - } - Ok((count + 1, acc)) - })?; - // This shouldn't be necessary but just in case - other_actors.remove(&actor); - let mut other_actors = other_actors.into_iter().cloned().collect::>(); - other_actors.sort(); - let index = std::iter::once(actor.clone()) - .chain(other_actors.clone().into_iter()) - .enumerate() - .map(|(idx, actor)| (actor, idx)) - .collect(); - Ok(ChangeActors { - actor, - other_actors, - index, - wrapped: ops, - num_ops, - _phantom: std::marker::PhantomData, - }) - } - - /// Translate an OpID from the OpSet index to the change index - fn translate_opid(&self, opid: &O) -> ChangeOpId { - ChangeOpId { - actor: *self.index.get(opid.actor()).unwrap(), - counter: opid.counter(), - } - } - - /// Returns a clonable iterator over the converted operations. The item of the iterator is an - /// implementation of `AsChangeOp` which uses the index of the actor of each operation into the - /// actors as encoded in a change. This is suitable for passing to `ChangeOpColumns::encode` - pub(crate) fn iter<'b>(&'b self) -> WithChangeActorsOpIter<'b, 'a, A, I, O, C> { - WithChangeActorsOpIter { - change_actors: self, - inner: self.wrapped.clone(), - } - } - - pub(crate) fn done(self) -> (A, Vec) { - (self.actor, self.other_actors) - } -} - -/// The actual implementation of the converted iterator -pub(crate) struct WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C> { - change_actors: &'actors ChangeActors<'aschangeop, A, I, O, C>, - inner: I, -} - -impl<'actors, 'aschangeop, A: 'aschangeop, I, O, C> Clone - for WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C> -where - I: Clone, -{ - fn clone(&self) -> Self { - Self { - change_actors: self.change_actors, - inner: self.inner.clone(), - } - } -} - -impl<'actors, 'aschangeop, A: 'aschangeop, I, O, C> Iterator - for WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C> -where - C: AsChangeOp<'aschangeop, OpId = O>, - O: convert::OpId<&'aschangeop A>, - I: Iterator + Clone, -{ - type Item = WithChangeActors<'actors, 'aschangeop, A, I, O, C>; - - fn next(&mut self) -> Option { - self.inner.next().map(|o| WithChangeActors { - op: o, - actors: self.change_actors, - }) - } -} - -impl<'actors, 'aschangeop, A: 'aschangeop, I, O, C> ExactSizeIterator - for WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C> -where - C: AsChangeOp<'aschangeop, OpId = O>, - O: convert::OpId<&'aschangeop A>, - I: Iterator + Clone, -{ - fn len(&self) -> usize { - self.change_actors.num_ops - } -} - -pub(crate) struct ChangeOpId { - actor: usize, - counter: u64, -} - -impl convert::OpId for ChangeOpId { - fn actor(&self) -> usize { - self.actor - } - - fn counter(&self) -> u64 { - self.counter - } -} - -/// A struct which implements `AsChangeOp` by translating the actor IDs in the incoming operations -/// into the index into the actors in the `ChangeActors`. -pub(crate) struct WithChangeActors<'actors, 'aschangeop, A, I, O, C> { - op: C, - actors: &'actors ChangeActors<'aschangeop, A, I, O, C>, -} - -impl<'actors, 'aschangeop, A, I, O, P, C> AsChangeOp<'aschangeop> - for WithChangeActors<'actors, 'aschangeop, A, I, O, C> -where - A: PartialEq + Ord + Clone + std::hash::Hash + 'static, - O: convert::OpId<&'aschangeop A>, - P: Iterator + ExactSizeIterator + 'aschangeop, - C: AsChangeOp<'aschangeop, PredIter = P, OpId = O> + 'aschangeop, - I: Iterator + Clone + 'aschangeop, -{ - type ActorId = usize; - type OpId = ChangeOpId; - type PredIter = WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P>; - - fn action(&self) -> u64 { - self.op.action() - } - - fn insert(&self) -> bool { - self.op.insert() - } - - fn pred(&self) -> Self::PredIter { - WithChangeActorsPredIter { - wrapped: self.op.pred(), - actors: self.actors, - _phantom: std::marker::PhantomData, - } - } - - fn key(&self) -> convert::Key<'aschangeop, Self::OpId> { - self.op.key().map(|o| self.actors.translate_opid(&o)) - } - - fn obj(&self) -> convert::ObjId { - self.op.obj().map(|o| self.actors.translate_opid(&o)) - } - - fn val(&self) -> std::borrow::Cow<'aschangeop, crate::ScalarValue> { - self.op.val() - } -} - -pub(crate) struct WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P> { - wrapped: P, - actors: &'actors ChangeActors<'aschangeop, A, I, O, C>, - _phantom: std::marker::PhantomData, -} - -impl<'actors, 'aschangeop, A, I, O, C, P> ExactSizeIterator - for WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P> -where - A: PartialEq + Ord + Clone + std::hash::Hash + 'static, - O: convert::OpId<&'aschangeop A>, - P: Iterator + ExactSizeIterator + 'aschangeop, - C: AsChangeOp<'aschangeop, OpId = O> + 'aschangeop, - I: Iterator + Clone + 'aschangeop, -{ - fn len(&self) -> usize { - self.wrapped.len() - } -} - -impl<'actors, 'aschangeop, A, I, O, C, P> Iterator - for WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P> -where - A: PartialEq + Ord + Clone + std::hash::Hash + 'static, - O: convert::OpId<&'aschangeop A>, - P: Iterator + 'aschangeop, - C: AsChangeOp<'aschangeop, OpId = O> + 'aschangeop, - I: Iterator + Clone + 'aschangeop, -{ - type Item = ChangeOpId; - - fn next(&mut self) -> Option { - self.wrapped.next().map(|o| self.actors.translate_opid(&o)) - } -} - -fn are_sorted(mut opids: I) -> bool -where - A: PartialEq + Ord + Clone, - O: convert::OpId, - I: Iterator, -{ - if let Some(first) = opids.next() { - let mut prev = first; - for opid in opids { - if opid.counter() < prev.counter() { - return false; - } - if opid.counter() == prev.counter() && opid.actor() < prev.actor() { - return false; - } - prev = opid; - } - } - true -} diff --git a/rust/automerge/src/storage/change/change_op_columns.rs b/rust/automerge/src/storage/change/change_op_columns.rs deleted file mode 100644 index 86ec59c2..00000000 --- a/rust/automerge/src/storage/change/change_op_columns.rs +++ /dev/null @@ -1,499 +0,0 @@ -use std::{convert::TryFrom, ops::Range}; - -use crate::{ - columnar::{ - column_range::{ - generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange}, - BooleanRange, DeltaRange, Key, KeyEncoder, KeyIter, KeyRange, ObjIdEncoder, ObjIdIter, - ObjIdRange, OpIdListEncoder, OpIdListIter, OpIdListRange, RleRange, ValueEncoder, - ValueIter, ValueRange, - }, - encoding::{ - BooleanDecoder, BooleanEncoder, ColumnDecoder, DecodeColumnError, RleDecoder, - RleEncoder, - }, - }, - convert, - error::InvalidOpType, - storage::{ - change::AsChangeOp, - columns::{ - compression, ColumnId, ColumnSpec, ColumnType, Columns, MismatchingColumn, RawColumn, - }, - RawColumns, - }, - types::{ElemId, ObjId, OpId, ScalarValue}, - OpType, -}; - -const OBJ_COL_ID: ColumnId = ColumnId::new(0); -const KEY_COL_ID: ColumnId = ColumnId::new(1); -const INSERT_COL_ID: ColumnId = ColumnId::new(3); -const ACTION_COL_ID: ColumnId = ColumnId::new(4); -const VAL_COL_ID: ColumnId = ColumnId::new(5); -const PRED_COL_ID: ColumnId = ColumnId::new(7); - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct ChangeOp { - pub(crate) key: Key, - pub(crate) insert: bool, - pub(crate) val: ScalarValue, - pub(crate) pred: Vec, - pub(crate) action: u64, - pub(crate) obj: ObjId, -} - -impl<'a, A: AsChangeOp<'a, ActorId = usize, OpId = OpId>> From for ChangeOp { - fn from(a: A) -> Self { - ChangeOp { - key: match a.key() { - convert::Key::Prop(s) => Key::Prop(s.into_owned()), - convert::Key::Elem(convert::ElemId::Head) => Key::Elem(ElemId::head()), - convert::Key::Elem(convert::ElemId::Op(o)) => Key::Elem(ElemId(o)), - }, - obj: match a.obj() { - convert::ObjId::Root => ObjId::root(), - convert::ObjId::Op(o) => ObjId(o), - }, - val: a.val().into_owned(), - pred: a.pred().collect(), - insert: a.insert(), - action: a.action(), - } - } -} - -impl<'a> AsChangeOp<'a> for &'a ChangeOp { - type OpId = &'a crate::types::OpId; - type ActorId = usize; - type PredIter = std::slice::Iter<'a, crate::types::OpId>; - - fn obj(&self) -> convert::ObjId { - if self.obj.is_root() { - convert::ObjId::Root - } else { - convert::ObjId::Op(self.obj.opid()) - } - } - - fn key(&self) -> convert::Key<'a, Self::OpId> { - match &self.key { - Key::Prop(s) => convert::Key::Prop(std::borrow::Cow::Borrowed(s)), - Key::Elem(e) if e.is_head() => convert::Key::Elem(convert::ElemId::Head), - Key::Elem(e) => convert::Key::Elem(convert::ElemId::Op(&e.0)), - } - } - - fn val(&self) -> std::borrow::Cow<'a, ScalarValue> { - std::borrow::Cow::Borrowed(&self.val) - } - - fn pred(&self) -> Self::PredIter { - self.pred.iter() - } - - fn insert(&self) -> bool { - self.insert - } - - fn action(&self) -> u64 { - self.action - } -} - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct ChangeOpsColumns { - obj: Option, - key: KeyRange, - insert: BooleanRange, - action: RleRange, - val: ValueRange, - pred: OpIdListRange, -} - -impl ChangeOpsColumns { - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> ChangeOpsIter<'a> { - ChangeOpsIter { - failed: false, - obj: self.obj.as_ref().map(|o| o.iter(data)), - key: self.key.iter(data), - insert: self.insert.decoder(data), - action: self.action.decoder(data), - val: self.val.iter(data), - pred: self.pred.iter(data), - } - } - - #[tracing::instrument(skip(ops, out))] - pub(crate) fn encode<'a, 'b, 'c, I, C, Op>(ops: I, out: &'b mut Vec) -> ChangeOpsColumns - where - I: Iterator + Clone + ExactSizeIterator + 'a, - Op: convert::OpId + 'a, - C: AsChangeOp<'c, OpId = Op> + 'a, - { - if ops.len() > 10000 { - Self::encode_rowwise(ops, out) - } else { - Self::encode_columnwise(ops, out) - } - } - - pub(crate) fn encode_columnwise<'a, 'b, 'c, I, C, Op>( - ops: I, - out: &'b mut Vec, - ) -> ChangeOpsColumns - where - I: Iterator + Clone + 'a, - Op: convert::OpId + 'a, - C: AsChangeOp<'c, OpId = Op> + 'a, - { - let obj = ObjIdRange::encode(ops.clone().map(|o| o.obj()), out); - let key = KeyRange::encode(ops.clone().map(|o| o.key()), out); - let insert = BooleanRange::encode(ops.clone().map(|o| o.insert()), out); - let action = RleRange::encode(ops.clone().map(|o| Some(o.action())), out); - let val = ValueRange::encode(ops.clone().map(|o| o.val()), out); - let pred = OpIdListRange::encode(ops.map(|o| o.pred()), out); - Self { - obj, - key, - insert, - action, - val, - pred, - } - } - - fn encode_rowwise<'a, 'b, 'c, I, C, Op>(ops: I, out: &'b mut Vec) -> ChangeOpsColumns - where - I: Iterator + Clone + 'a, - Op: convert::OpId + 'a, - C: AsChangeOp<'c, OpId = Op> + 'a, - { - let mut obj = ObjIdEncoder::new(); - let mut key = KeyEncoder::new(); - let mut insert = BooleanEncoder::new(); - let mut action = RleEncoder::<_, u64>::from(Vec::new()); - let mut val = ValueEncoder::new(); - let mut pred = OpIdListEncoder::new(); - for op in ops { - obj.append(op.obj()); - key.append(op.key()); - insert.append(op.insert()); - action.append_value(op.action()); - val.append(&op.val()); - pred.append(op.pred()); - } - let obj = obj.finish(out); - let key = key.finish(out); - - let insert_start = out.len(); - let (insert, _) = insert.finish(); - out.extend(insert); - let insert = BooleanRange::from(insert_start..out.len()); - - let action_start = out.len(); - let (action, _) = action.finish(); - out.extend(action); - let action = RleRange::from(action_start..out.len()); - - let val = val.finish(out); - let pred = pred.finish(out); - - Self { - obj, - key, - insert, - action, - val, - pred, - } - } - - pub(crate) fn raw_columns(&self) -> RawColumns { - let mut cols = vec![ - RawColumn::new( - ColumnSpec::new(OBJ_COL_ID, ColumnType::Actor, false), - self.obj - .as_ref() - .map(|o| o.actor_range().clone().into()) - .unwrap_or(0..0), - ), - RawColumn::new( - ColumnSpec::new(OBJ_COL_ID, ColumnType::Integer, false), - self.obj - .as_ref() - .map(|o| o.counter_range().clone().into()) - .unwrap_or(0..0), - ), - RawColumn::new( - ColumnSpec::new(KEY_COL_ID, ColumnType::Actor, false), - self.key.actor_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(KEY_COL_ID, ColumnType::DeltaInteger, false), - self.key.counter_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(KEY_COL_ID, ColumnType::String, false), - self.key.string_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(INSERT_COL_ID, ColumnType::Boolean, false), - self.insert.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(ACTION_COL_ID, ColumnType::Integer, false), - self.action.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(VAL_COL_ID, ColumnType::ValueMetadata, false), - self.val.meta_range().clone().into(), - ), - ]; - if !self.val.raw_range().is_empty() { - cols.push(RawColumn::new( - ColumnSpec::new(VAL_COL_ID, ColumnType::Value, false), - self.val.raw_range().clone().into(), - )); - } - cols.push(RawColumn::new( - ColumnSpec::new(PRED_COL_ID, ColumnType::Group, false), - self.pred.group_range().clone().into(), - )); - if !self.pred.actor_range().is_empty() { - cols.extend([ - RawColumn::new( - ColumnSpec::new(PRED_COL_ID, ColumnType::Actor, false), - self.pred.actor_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(PRED_COL_ID, ColumnType::DeltaInteger, false), - self.pred.counter_range().clone().into(), - ), - ]); - } - cols.into_iter().collect() - } -} - -#[derive(thiserror::Error, Debug)] -#[error(transparent)] -pub enum ReadChangeOpError { - #[error(transparent)] - DecodeError(#[from] DecodeColumnError), - #[error(transparent)] - InvalidOpType(#[from] InvalidOpType), - #[error("counter too large")] - CounterTooLarge, -} - -#[derive(Clone)] -pub(crate) struct ChangeOpsIter<'a> { - failed: bool, - obj: Option>, - key: KeyIter<'a>, - insert: BooleanDecoder<'a>, - action: RleDecoder<'a, u64>, - val: ValueIter<'a>, - pred: OpIdListIter<'a>, -} - -impl<'a> ChangeOpsIter<'a> { - fn done(&self) -> bool { - self.action.done() - } - - fn try_next(&mut self) -> Result, ReadChangeOpError> { - if self.failed || self.done() { - Ok(None) - } else { - let obj = if let Some(ref mut objs) = self.obj { - objs.next_in_col("obj")? - } else { - ObjId::root() - }; - let key = self.key.next_in_col("key")?; - let insert = self.insert.next_in_col("insert")?; - let action = self.action.next_in_col("action")?; - let val = self.val.next_in_col("value")?; - let pred = self.pred.next_in_col("pred")?; - - // This check is necessary to ensure that OpType::from_action_and_value - // cannot panic later in the process. - OpType::validate_action_and_value(action, &val)?; - - Ok(Some(ChangeOp { - obj, - key, - insert, - action, - val, - pred, - })) - } - } -} - -impl<'a> Iterator for ChangeOpsIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - match self.try_next() { - Ok(v) => v.map(Ok), - Err(e) => { - self.failed = true; - Some(Err(e)) - } - } - } -} - -#[derive(thiserror::Error, Debug)] -pub(crate) enum ParseChangeColumnsError { - #[error("mismatching column at {index}.")] - MismatchingColumn { index: usize }, -} - -impl From for ParseChangeColumnsError { - fn from(m: MismatchingColumn) -> Self { - Self::MismatchingColumn { index: m.index } - } -} - -impl TryFrom for ChangeOpsColumns { - type Error = ParseChangeColumnsError; - - fn try_from(columns: Columns) -> Result { - let mut obj_actor: Option> = None; - let mut obj_ctr: Option> = None; - let mut key_actor: Option> = None; - let mut key_ctr: Option = None; - let mut key_str: Option> = None; - let mut insert: Option> = None; - let mut action: Option> = None; - let mut val: Option = None; - let mut pred_group: Option> = None; - let mut pred_actor: Option> = None; - let mut pred_ctr: Option = None; - let mut other = Columns::empty(); - - for (index, col) in columns.into_iter().enumerate() { - match (col.id(), col.col_type()) { - (OBJ_COL_ID, ColumnType::Actor) => obj_actor = Some(col.range().into()), - (OBJ_COL_ID, ColumnType::Integer) => obj_ctr = Some(col.range().into()), - (KEY_COL_ID, ColumnType::Actor) => key_actor = Some(col.range().into()), - (KEY_COL_ID, ColumnType::DeltaInteger) => key_ctr = Some(col.range().into()), - (KEY_COL_ID, ColumnType::String) => key_str = Some(col.range().into()), - (INSERT_COL_ID, ColumnType::Boolean) => insert = Some(col.range()), - (ACTION_COL_ID, ColumnType::Integer) => action = Some(col.range()), - (VAL_COL_ID, ColumnType::ValueMetadata) => match col.into_ranges() { - GenericColumnRange::Value(v) => { - val = Some(v); - } - _ => return Err(ParseChangeColumnsError::MismatchingColumn { index }), - }, - (PRED_COL_ID, ColumnType::Group) => match col.into_ranges() { - GenericColumnRange::Group(GroupRange { num, values }) => { - let mut cols = values.into_iter(); - pred_group = Some(num); - // If there was no data in the group at all then the columns won't be - // present - if cols.len() == 0 { - pred_actor = Some((0..0).into()); - pred_ctr = Some((0..0).into()); - } else { - let first = cols.next(); - let second = cols.next(); - match (first, second) { - ( - Some(GroupedColumnRange::Simple(SimpleColRange::RleInt( - actor_range, - ))), - Some(GroupedColumnRange::Simple(SimpleColRange::Delta( - ctr_range, - ))), - ) => { - pred_actor = Some(actor_range); - pred_ctr = Some(ctr_range); - } - _ => { - return Err(ParseChangeColumnsError::MismatchingColumn { - index, - }) - } - } - } - if cols.next().is_some() { - return Err(ParseChangeColumnsError::MismatchingColumn { index }); - } - } - _ => return Err(ParseChangeColumnsError::MismatchingColumn { index }), - }, - (other_type, other_col) => { - tracing::warn!(typ=?other_type, id=?other_col, "unknown column"); - other.append(col); - } - } - } - let pred = OpIdListRange::new( - pred_group.unwrap_or_else(|| (0..0).into()), - pred_actor.unwrap_or_else(|| (0..0).into()), - pred_ctr.unwrap_or_else(|| (0..0).into()), - ); - Ok(ChangeOpsColumns { - obj: ObjIdRange::new( - obj_actor.unwrap_or_else(|| (0..0).into()), - obj_ctr.unwrap_or_else(|| (0..0).into()), - ), - key: KeyRange::new( - key_actor.unwrap_or_else(|| (0..0).into()), - key_ctr.unwrap_or_else(|| (0..0).into()), - key_str.unwrap_or_else(|| (0..0).into()), - ), - insert: insert.unwrap_or(0..0).into(), - action: action.unwrap_or(0..0).into(), - val: val.unwrap_or_else(|| ValueRange::new((0..0).into(), (0..0).into())), - pred, - }) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::columnar::encoding::properties::{key, opid, scalar_value}; - use proptest::prelude::*; - - prop_compose! { - fn change_op() - (key in key(), - value in scalar_value(), - pred in proptest::collection::vec(opid(), 0..20), - action in 0_u64..6, - obj in opid(), - insert in any::()) -> ChangeOp { - - let val = if action == 5 && !(value.is_int() || value.is_uint()) { - ScalarValue::Uint(0) - } else { value }; - ChangeOp { - obj: obj.into(), - key, - val, - pred, - action, - insert, - } - } - } - - proptest! { - #[test] - fn test_encode_decode_change_ops(ops in proptest::collection::vec(change_op(), 0..100)) { - let mut out = Vec::new(); - let cols2 = ChangeOpsColumns::encode(ops.iter(), &mut out); - let decoded = cols2.iter(&out[..]).collect::, _>>().unwrap(); - assert_eq!(ops, decoded); - } - } -} diff --git a/rust/automerge/src/storage/change/compressed.rs b/rust/automerge/src/storage/change/compressed.rs deleted file mode 100644 index 55d56ffb..00000000 --- a/rust/automerge/src/storage/change/compressed.rs +++ /dev/null @@ -1,51 +0,0 @@ -use std::{borrow::Cow, io::Read}; - -use crate::storage::{Change, CheckSum, ChunkType, MAGIC_BYTES}; - -use super::OpReadState; - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct Compressed<'a> { - checksum: CheckSum, - bytes: Cow<'a, [u8]>, -} - -impl<'a> Compressed<'a> { - pub(crate) fn new(checksum: CheckSum, bytes: Cow<'a, [u8]>) -> Self { - Self { checksum, bytes } - } - - pub(crate) fn compress<'b, O: OpReadState>(change: &'b Change<'b, O>) -> Compressed<'static> { - let mut result = Vec::with_capacity(change.bytes().len()); - result.extend(MAGIC_BYTES); - result.extend(change.checksum().bytes()); - result.push(u8::from(ChunkType::Compressed)); - let mut deflater = flate2::bufread::DeflateEncoder::new( - change.body_bytes(), - flate2::Compression::default(), - ); - let mut deflated = Vec::new(); - let deflated_len = deflater.read_to_end(&mut deflated).unwrap(); - leb128::write::unsigned(&mut result, deflated_len as u64).unwrap(); - result.extend(&deflated[..]); - Compressed { - checksum: change.checksum(), - bytes: Cow::Owned(result), - } - } - - pub(crate) fn bytes(&self) -> Cow<'a, [u8]> { - self.bytes.clone() - } - - pub(crate) fn checksum(&self) -> CheckSum { - self.checksum - } - - pub(crate) fn into_owned(self) -> Compressed<'static> { - Compressed { - checksum: self.checksum, - bytes: Cow::Owned(self.bytes.into_owned()), - } - } -} diff --git a/rust/automerge/src/storage/change/op_with_change_actors.rs b/rust/automerge/src/storage/change/op_with_change_actors.rs deleted file mode 100644 index 8b137891..00000000 --- a/rust/automerge/src/storage/change/op_with_change_actors.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/rust/automerge/src/storage/chunk.rs b/rust/automerge/src/storage/chunk.rs deleted file mode 100644 index d0048528..00000000 --- a/rust/automerge/src/storage/chunk.rs +++ /dev/null @@ -1,293 +0,0 @@ -use std::{ - borrow::Cow, - convert::{TryFrom, TryInto}, - io::Read, - ops::Range, -}; - -use sha2::{Digest, Sha256}; - -use super::{change::Unverified, parse, Change, Compressed, Document, MAGIC_BYTES}; -use crate::{columnar::encoding::leb128::ulebsize, ChangeHash}; - -pub(crate) enum Chunk<'a> { - Document(Document<'a>), - Change(Change<'a, Unverified>), - CompressedChange(Change<'static, Unverified>, Compressed<'a>), -} - -pub(crate) mod error { - use super::parse; - use crate::storage::{change, document}; - - #[derive(thiserror::Error, Debug)] - pub(crate) enum Chunk { - #[error("there was data in a chunk leftover after parsing")] - LeftoverData, - #[error(transparent)] - Leb128(#[from] parse::leb128::Error), - #[error("failed to parse header: {0}")] - Header(#[from] Header), - #[error("bad change chunk: {0}")] - Change(#[from] change::ParseError), - #[error("bad document chunk: {0}")] - Document(#[from] document::ParseError), - #[error("unable to decompresse compressed chunk")] - Deflate, - } - - #[derive(thiserror::Error, Debug)] - pub(crate) enum Header { - #[error(transparent)] - Leb128(#[from] parse::leb128::Error), - #[error("unknown chunk type: {0}")] - UnknownChunkType(u8), - #[error("Invalid magic bytes")] - InvalidMagicBytes, - } -} - -impl<'a> Chunk<'a> { - pub(crate) fn parse( - input: parse::Input<'a>, - ) -> parse::ParseResult<'a, Chunk<'a>, error::Chunk> { - let (i, header) = Header::parse::(input)?; - let parse::Split { - first: chunk_input, - remaining, - } = i.split(header.data_bytes().len()); - tracing::trace!(?header, "parsed chunk header"); - let chunk = match header.chunk_type { - ChunkType::Change => { - let (remaining, change) = - Change::parse_following_header(chunk_input, header).map_err(|e| e.lift())?; - if !remaining.is_empty() { - return Err(parse::ParseError::Error(error::Chunk::LeftoverData)); - } - Chunk::Change(change) - } - ChunkType::Document => { - let (remaining, doc) = - Document::parse(chunk_input, header).map_err(|e| e.lift())?; - if !remaining.is_empty() { - return Err(parse::ParseError::Error(error::Chunk::LeftoverData)); - } - Chunk::Document(doc) - } - ChunkType::Compressed => { - let compressed = &input.unconsumed_bytes()[header.data_bytes()]; - let mut decoder = flate2::bufread::DeflateDecoder::new(compressed); - let mut decompressed = Vec::new(); - decoder - .read_to_end(&mut decompressed) - .map_err(|_| parse::ParseError::Error(error::Chunk::Deflate))?; - let inner_header = header.with_data(ChunkType::Change, &decompressed); - let mut inner_chunk = Vec::with_capacity(inner_header.len() + decompressed.len()); - inner_header.write(&mut inner_chunk); - inner_chunk.extend(&decompressed); - let (remaining, change) = - Change::parse(parse::Input::new(&inner_chunk)).map_err(|e| e.lift())?; - if !remaining.is_empty() { - return Err(parse::ParseError::Error(error::Chunk::LeftoverData)); - } - Chunk::CompressedChange( - change.into_owned(), - Compressed::new(header.checksum, Cow::Borrowed(chunk_input.bytes())), - ) - } - }; - Ok((remaining, chunk)) - } - - pub(crate) fn checksum_valid(&self) -> bool { - match self { - Self::Document(d) => d.checksum_valid(), - Self::Change(c) => c.checksum_valid(), - Self::CompressedChange(change, compressed) => { - compressed.checksum() == change.checksum() && change.checksum_valid() - } - } - } -} - -#[derive(Clone, Copy, Debug, PartialEq)] -pub(crate) enum ChunkType { - Document, - Change, - Compressed, -} - -impl TryFrom for ChunkType { - type Error = u8; - - fn try_from(value: u8) -> Result { - match value { - 0 => Ok(Self::Document), - 1 => Ok(Self::Change), - 2 => Ok(Self::Compressed), - other => Err(other), - } - } -} - -impl From for u8 { - fn from(ct: ChunkType) -> Self { - match ct { - ChunkType::Document => 0, - ChunkType::Change => 1, - ChunkType::Compressed => 2, - } - } -} - -#[derive(Clone, Copy, Debug, PartialEq)] -pub(crate) struct CheckSum([u8; 4]); - -impl CheckSum { - pub(crate) fn bytes(&self) -> [u8; 4] { - self.0 - } -} - -impl From<[u8; 4]> for CheckSum { - fn from(raw: [u8; 4]) -> Self { - CheckSum(raw) - } -} - -impl AsRef<[u8]> for CheckSum { - fn as_ref(&self) -> &[u8] { - &self.0 - } -} - -impl From for CheckSum { - fn from(h: ChangeHash) -> Self { - let bytes = h.as_bytes(); - [bytes[0], bytes[1], bytes[2], bytes[3]].into() - } -} - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct Header { - checksum: CheckSum, - chunk_type: ChunkType, - data_len: usize, - header_size: usize, - hash: ChangeHash, -} - -impl Header { - pub(crate) fn new(chunk_type: ChunkType, data: &[u8]) -> Self { - let hash = hash(chunk_type, data); - Self { - hash, - checksum: hash.checksum().into(), - data_len: data.len(), - header_size: MAGIC_BYTES.len() - + 4 // checksum - + 1 // chunk type - + (ulebsize(data.len() as u64) as usize), - chunk_type, - } - } - - /// Returns a header with the same checksum but with a different chunk type and data length. - /// This is primarily useful when processing compressed chunks, where the checksum is actually - /// derived from the uncompressed data. - pub(crate) fn with_data(&self, chunk_type: ChunkType, data: &[u8]) -> Header { - let hash = hash(chunk_type, data); - Self { - hash, - checksum: self.checksum, - data_len: data.len(), - header_size: MAGIC_BYTES.len() - + 4 // checksum - + 1 // chunk type - + (ulebsize(data.len() as u64) as usize), - chunk_type, - } - } - - pub(crate) fn len(&self) -> usize { - self.header_size - } - - pub(crate) fn write(&self, out: &mut Vec) { - out.extend(MAGIC_BYTES); - out.extend(self.checksum.bytes()); - out.push(u8::from(self.chunk_type)); - leb128::write::unsigned(out, self.data_len as u64).unwrap(); - } - - pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Header, E> - where - E: From, - { - let ( - i, - parse::RangeOf { - range: header, - value: (checksum_bytes, chunk_type, chunk_len), - }, - ) = parse::range_of( - |i| { - let (i, magic) = parse::take4(i)?; - if magic != MAGIC_BYTES { - return Err(parse::ParseError::Error(E::from( - error::Header::InvalidMagicBytes, - ))); - } - let (i, checksum_bytes) = parse::take4(i)?; - let (i, raw_chunk_type) = parse::take1(i)?; - let chunk_type: ChunkType = raw_chunk_type.try_into().map_err(|_| { - parse::ParseError::Error(E::from(error::Header::UnknownChunkType( - raw_chunk_type, - ))) - })?; - let (i, chunk_len) = parse::leb128_u64(i).map_err(|e| e.lift())?; - Ok((i, (checksum_bytes, chunk_type, chunk_len))) - }, - input, - )?; - - let (_, data) = parse::take_n(chunk_len as usize, i)?; - let hash = hash(chunk_type, data); - Ok(( - i, - Header { - checksum: checksum_bytes.into(), - chunk_type, - data_len: data.len(), - header_size: header.len(), - hash, - }, - )) - } - - /// The range of the input which corresponds to the data specified by this header - pub(crate) fn data_bytes(&self) -> Range { - self.header_size..(self.header_size + self.data_len) - } - - pub(crate) fn hash(&self) -> ChangeHash { - self.hash - } - - pub(crate) fn checksum_valid(&self) -> bool { - CheckSum(self.hash.checksum()) == self.checksum - } - - pub(crate) fn checksum(&self) -> CheckSum { - self.checksum - } -} - -fn hash(typ: ChunkType, data: &[u8]) -> ChangeHash { - let mut out = vec![u8::from(typ)]; - leb128::write::unsigned(&mut out, data.len() as u64).unwrap(); - out.extend(data); - let hash_result = Sha256::digest(out); - let array: [u8; 32] = hash_result.into(); - ChangeHash(array) -} diff --git a/rust/automerge/src/storage/columns.rs b/rust/automerge/src/storage/columns.rs deleted file mode 100644 index 2ff6fa1f..00000000 --- a/rust/automerge/src/storage/columns.rs +++ /dev/null @@ -1,355 +0,0 @@ -/// This module contains types which represent the column metadata which is encoded in the columnar -/// storage format specified in [1]. In this format metadata about each column is packed into a 32 -/// bit integer, which is represented by the types in `column_specification`. The column data in -/// the format is a sequence of (`ColumnSpecification`, `usize`) pairs where each pair represents -/// the type of the column and the length of the column in the data which follows, these pairs are -/// represented by `RawColumn` and `RawColumns`. Some columns are actually composites of several -/// underlying columns and so not every `RawColumns` is valid. The types in `column` and -/// `column_builder` take a `RawColumns` and produce a `Columns` - which is a valid set of possibly -/// composite column metadata. -/// -/// There are two typical workflows: -/// -/// ## Reading -/// * First parse a `RawColumns` from the underlying data using `RawColumns::parse` -/// * Ensure that the columns are decompressed using `RawColumns::decompress` (checking first if -/// you can avoid this using `RawColumns::uncompressed`) -/// * Parse the `RawColumns` into a `Columns` using `Columns::parse` -/// -/// ## Writing -/// * Construct a `RawColumns` -/// * Compress using `RawColumns::compress` -/// * Write to output using `RawColumns::write` -/// -/// [1]: https://alexjg.github.io/automerge-storage-docs/#_columnar_storage_format -use std::ops::Range; - -mod column_specification; -pub(crate) use column_specification::{ColumnId, ColumnSpec, ColumnType}; -mod column; -pub(crate) use column::Column; -mod column_builder; -pub(crate) use column_builder::{ - AwaitingRawColumnValueBuilder, ColumnBuilder, GroupAwaitingValue, GroupBuilder, -}; - -pub(crate) mod raw_column; -pub(crate) use raw_column::{RawColumn, RawColumns}; - -#[derive(Debug, thiserror::Error)] -#[error("mismatching column at {index}.")] -pub(crate) struct MismatchingColumn { - pub(crate) index: usize, -} - -pub(crate) mod compression { - #[derive(Clone, Debug)] - pub(crate) struct Unknown; - #[derive(Clone, Debug)] - pub(crate) struct Uncompressed; - - /// A witness for what we know about whether or not a column is compressed - pub(crate) trait ColumnCompression {} - impl ColumnCompression for Unknown {} - impl ColumnCompression for Uncompressed {} -} - -/// `Columns` represents a sequence of "logical" columns. "Logical" in this sense means that -/// each column produces one value, but may be composed of multiple [`RawColumn`]s. For example, in a -/// logical column containing values there are two `RawColumn`s, one for the metadata about the -/// values, and one for the values themselves. -#[derive(Clone, Debug)] -pub(crate) struct Columns { - columns: Vec, -} - -impl Columns { - pub(crate) fn empty() -> Self { - Self { - columns: Vec::new(), - } - } - - pub(crate) fn append(&mut self, col: Column) { - self.columns.push(col) - } - - pub(crate) fn parse<'a, I: Iterator>>( - data_size: usize, - cols: I, - ) -> Result { - let mut parser = ColumnLayoutParser::new(data_size, None); - for raw_col in cols { - parser.add_column(raw_col.spec(), raw_col.data())?; - } - parser.build() - } -} - -impl FromIterator for Result { - fn from_iter>(iter: T) -> Self { - let iter = iter.into_iter(); - let mut result = Vec::with_capacity(iter.size_hint().1.unwrap_or(0)); - let mut last_column: Option = None; - for col in iter { - if let Some(last_col) = last_column { - if col.spec().normalize() < last_col.normalize() { - return Err(BadColumnLayout::OutOfOrder); - } - } - last_column = Some(col.spec()); - result.push(col); - } - Ok(Columns { columns: result }) - } -} - -impl IntoIterator for Columns { - type Item = Column; - type IntoIter = std::vec::IntoIter; - - fn into_iter(self) -> Self::IntoIter { - self.columns.into_iter() - } -} - -#[derive(Debug, thiserror::Error)] -pub(crate) enum BadColumnLayout { - #[error("duplicate column specifications: {0}")] - DuplicateColumnSpecs(u32), - #[error("out of order columns")] - OutOfOrder, - #[error("nested group")] - NestedGroup, - #[error("raw value column without metadata column")] - LoneRawValueColumn, - #[error("value metadata followed by value column with different column ID")] - MismatchingValueMetadataId, - #[error("non contiguous columns")] - NonContiguousColumns, - #[error("data out of range")] - DataOutOfRange, -} - -struct ColumnLayoutParser { - columns: Vec, - last_spec: Option, - state: LayoutParserState, - total_data_size: usize, -} - -enum LayoutParserState { - Ready, - InValue(AwaitingRawColumnValueBuilder), - InGroup(ColumnId, GroupParseState), -} - -#[derive(Debug)] -enum GroupParseState { - Ready(GroupBuilder), - InValue(GroupAwaitingValue), -} - -impl ColumnLayoutParser { - fn new(data_size: usize, size_hint: Option) -> Self { - ColumnLayoutParser { - columns: Vec::with_capacity(size_hint.unwrap_or(0)), - last_spec: None, - state: LayoutParserState::Ready, - total_data_size: data_size, - } - } - - fn build(mut self) -> Result { - let columns = match self.state { - LayoutParserState::Ready => self.columns, - LayoutParserState::InValue(mut builder) => { - self.columns.push(builder.build((0..0).into())); - self.columns - } - LayoutParserState::InGroup(_, groupstate) => { - match groupstate { - GroupParseState::InValue(mut builder) => { - self.columns.push(builder.finish_empty().finish()); - } - GroupParseState::Ready(mut builder) => { - self.columns.push(builder.finish()); - } - }; - self.columns - } - }; - Ok(Columns { columns }) - } - - #[tracing::instrument(skip(self), err)] - fn add_column( - &mut self, - column: ColumnSpec, - range: Range, - ) -> Result<(), BadColumnLayout> { - self.check_contiguous(&range)?; - self.check_bounds(&range)?; - if let Some(last_spec) = self.last_spec { - if last_spec.normalize() > column.normalize() { - return Err(BadColumnLayout::OutOfOrder); - } else if last_spec == column { - return Err(BadColumnLayout::DuplicateColumnSpecs(column.into())); - } - } - match &mut self.state { - LayoutParserState::Ready => match column.col_type() { - ColumnType::Group => { - self.state = LayoutParserState::InGroup( - column.id(), - GroupParseState::Ready(ColumnBuilder::start_group(column, range.into())), - ); - Ok(()) - } - ColumnType::ValueMetadata => { - self.state = LayoutParserState::InValue(ColumnBuilder::start_value( - column, - range.into(), - )); - Ok(()) - } - ColumnType::Value => Err(BadColumnLayout::LoneRawValueColumn), - ColumnType::Actor => { - self.columns - .push(ColumnBuilder::build_actor(column, range.into())); - Ok(()) - } - ColumnType::String => { - self.columns - .push(ColumnBuilder::build_string(column, range.into())); - Ok(()) - } - ColumnType::Integer => { - self.columns - .push(ColumnBuilder::build_integer(column, range.into())); - Ok(()) - } - ColumnType::DeltaInteger => { - self.columns - .push(ColumnBuilder::build_delta_integer(column, range.into())); - Ok(()) - } - ColumnType::Boolean => { - self.columns - .push(ColumnBuilder::build_boolean(column, range.into())); - Ok(()) - } - }, - LayoutParserState::InValue(builder) => match column.col_type() { - ColumnType::Value => { - if builder.id() != column.id() { - return Err(BadColumnLayout::MismatchingValueMetadataId); - } - self.columns.push(builder.build(range.into())); - self.state = LayoutParserState::Ready; - Ok(()) - } - _ => { - self.columns.push(builder.build((0..0).into())); - self.state = LayoutParserState::Ready; - self.add_column(column, range) - } - }, - LayoutParserState::InGroup(id, group_state) => { - if *id != column.id() { - match group_state { - GroupParseState::Ready(b) => self.columns.push(b.finish()), - GroupParseState::InValue(b) => self.columns.push(b.finish_empty().finish()), - }; - std::mem::swap(&mut self.state, &mut LayoutParserState::Ready); - self.add_column(column, range) - } else { - match group_state { - GroupParseState::Ready(builder) => match column.col_type() { - ColumnType::Group => Err(BadColumnLayout::NestedGroup), - ColumnType::Value => Err(BadColumnLayout::LoneRawValueColumn), - ColumnType::ValueMetadata => { - *group_state = - GroupParseState::InValue(builder.start_value(column, range)); - Ok(()) - } - ColumnType::Actor => { - builder.add_actor(column, range); - Ok(()) - } - ColumnType::Boolean => { - builder.add_boolean(column, range); - Ok(()) - } - ColumnType::DeltaInteger => { - builder.add_delta_integer(column, range); - Ok(()) - } - ColumnType::Integer => { - builder.add_integer(column, range); - Ok(()) - } - ColumnType::String => { - builder.add_string(column, range); - Ok(()) - } - }, - GroupParseState::InValue(builder) => match column.col_type() { - ColumnType::Value => { - *group_state = GroupParseState::Ready(builder.finish_value(range)); - Ok(()) - } - _ => { - *group_state = GroupParseState::Ready(builder.finish_empty()); - self.add_column(column, range) - } - }, - } - } - } - } - } - - fn check_contiguous(&self, next_range: &Range) -> Result<(), BadColumnLayout> { - match &self.state { - LayoutParserState::Ready => { - if let Some(prev) = self.columns.last() { - if prev.range().end != next_range.start { - tracing::error!(prev=?prev.range(), next=?next_range, "it's here"); - Err(BadColumnLayout::NonContiguousColumns) - } else { - Ok(()) - } - } else { - Ok(()) - } - } - LayoutParserState::InValue(builder) => { - if builder.meta_range().end() != next_range.start { - Err(BadColumnLayout::NonContiguousColumns) - } else { - Ok(()) - } - } - LayoutParserState::InGroup(_, group_state) => { - let end = match group_state { - GroupParseState::InValue(b) => b.range().end, - GroupParseState::Ready(b) => b.range().end, - }; - if end != next_range.start { - Err(BadColumnLayout::NonContiguousColumns) - } else { - Ok(()) - } - } - } - } - - fn check_bounds(&self, next_range: &Range) -> Result<(), BadColumnLayout> { - if next_range.end > self.total_data_size { - Err(BadColumnLayout::DataOutOfRange) - } else { - Ok(()) - } - } -} diff --git a/rust/automerge/src/storage/columns/column.rs b/rust/automerge/src/storage/columns/column.rs deleted file mode 100644 index 6f834439..00000000 --- a/rust/automerge/src/storage/columns/column.rs +++ /dev/null @@ -1,42 +0,0 @@ -use std::ops::Range; - -use crate::columnar::column_range::generic::GenericColumnRange; - -use super::{ColumnId, ColumnSpec, ColumnType}; - -/// A combination of a column specification and the range of data associated with it. Note that -/// multiple (adjacent) ranges can be associated with one column as some columns are composite. -/// This is encapsulated in the `GenericColumnRange` type. -#[derive(Clone, Debug)] -pub(crate) struct Column { - spec: ColumnSpec, - range: GenericColumnRange, -} - -impl Column { - pub(crate) fn new(spec: ColumnSpec, range: GenericColumnRange) -> Column { - Self { spec, range } - } -} - -impl Column { - pub(crate) fn range(&self) -> Range { - self.range.range() - } - - pub(crate) fn into_ranges(self) -> GenericColumnRange { - self.range - } - - pub(crate) fn col_type(&self) -> ColumnType { - self.spec.col_type() - } - - pub(crate) fn id(&self) -> ColumnId { - self.spec.id() - } - - pub(crate) fn spec(&self) -> ColumnSpec { - self.spec - } -} diff --git a/rust/automerge/src/storage/columns/column_builder.rs b/rust/automerge/src/storage/columns/column_builder.rs deleted file mode 100644 index 5cc41a21..00000000 --- a/rust/automerge/src/storage/columns/column_builder.rs +++ /dev/null @@ -1,199 +0,0 @@ -use std::ops::Range; - -use crate::columnar::column_range::{ - generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange}, - BooleanRange, DeltaRange, RawRange, RleRange, ValueRange, -}; - -use super::{Column, ColumnId, ColumnSpec}; - -pub(crate) struct ColumnBuilder; - -impl ColumnBuilder { - pub(crate) fn build_actor(spec: ColumnSpec, range: RleRange) -> Column { - Column::new( - spec, - GenericColumnRange::Simple(SimpleColRange::RleInt(range)), - ) - } - - pub(crate) fn build_string(spec: ColumnSpec, range: RleRange) -> Column { - Column::new( - spec, - GenericColumnRange::Simple(SimpleColRange::RleString(range)), - ) - } - - pub(crate) fn build_integer(spec: ColumnSpec, range: RleRange) -> Column { - Column::new( - spec, - GenericColumnRange::Simple(SimpleColRange::RleInt(range)), - ) - } - - pub(crate) fn build_delta_integer(spec: ColumnSpec, range: DeltaRange) -> Column { - Column::new( - spec, - GenericColumnRange::Simple(SimpleColRange::Delta(range)), - ) - } - - pub(crate) fn build_boolean(spec: ColumnSpec, range: BooleanRange) -> Column { - Column::new( - spec, - GenericColumnRange::Simple(SimpleColRange::Boolean(range)), - ) - } - - pub(crate) fn start_value( - spec: ColumnSpec, - meta: RleRange, - ) -> AwaitingRawColumnValueBuilder { - AwaitingRawColumnValueBuilder { spec, meta } - } - - pub(crate) fn start_group(spec: ColumnSpec, num: RleRange) -> GroupBuilder { - GroupBuilder { - spec, - num_range: num, - columns: Vec::new(), - } - } -} - -pub(crate) struct AwaitingRawColumnValueBuilder { - spec: ColumnSpec, - meta: RleRange, -} - -impl AwaitingRawColumnValueBuilder { - pub(crate) fn id(&self) -> ColumnId { - self.spec.id() - } - - pub(crate) fn meta_range(&self) -> &RleRange { - &self.meta - } - - pub(crate) fn build(&mut self, raw: RawRange) -> Column { - Column::new( - self.spec, - GenericColumnRange::Value(ValueRange::new(self.meta.clone(), raw)), - ) - } -} - -#[derive(Debug)] -pub(crate) struct GroupBuilder { - spec: ColumnSpec, - num_range: RleRange, - columns: Vec, -} - -impl GroupBuilder { - pub(crate) fn range(&self) -> Range { - let start = self.num_range.start(); - let end = self - .columns - .last() - .map(|c| c.range().end) - .unwrap_or_else(|| self.num_range.end()); - start..end - } - - pub(crate) fn add_actor(&mut self, _spec: ColumnSpec, range: Range) { - self.columns - .push(GroupedColumnRange::Simple(SimpleColRange::RleInt( - range.into(), - ))); - } - - pub(crate) fn add_string(&mut self, _spec: ColumnSpec, range: Range) { - self.columns - .push(GroupedColumnRange::Simple(SimpleColRange::RleString( - range.into(), - ))); - } - - pub(crate) fn add_integer(&mut self, _spec: ColumnSpec, range: Range) { - self.columns - .push(GroupedColumnRange::Simple(SimpleColRange::RleInt( - range.into(), - ))); - } - - pub(crate) fn add_delta_integer(&mut self, _spec: ColumnSpec, range: Range) { - self.columns - .push(GroupedColumnRange::Simple(SimpleColRange::Delta( - range.into(), - ))); - } - - pub(crate) fn add_boolean(&mut self, _spec: ColumnSpec, range: Range) { - self.columns - .push(GroupedColumnRange::Simple(SimpleColRange::Boolean( - range.into(), - ))); - } - - pub(crate) fn start_value( - &mut self, - _spec: ColumnSpec, - meta: Range, - ) -> GroupAwaitingValue { - GroupAwaitingValue { - spec: self.spec, - num_range: self.num_range.clone(), - columns: std::mem::take(&mut self.columns), - val_meta: meta.into(), - } - } - - pub(crate) fn finish(&mut self) -> Column { - Column::new( - self.spec, - GenericColumnRange::Group(GroupRange::new( - self.num_range.clone(), - std::mem::take(&mut self.columns), - )), - ) - } -} - -#[derive(Debug)] -pub(crate) struct GroupAwaitingValue { - spec: ColumnSpec, - num_range: RleRange, - columns: Vec, - val_meta: RleRange, -} - -impl GroupAwaitingValue { - pub(crate) fn finish_empty(&mut self) -> GroupBuilder { - self.columns.push(GroupedColumnRange::Value(ValueRange::new( - self.val_meta.clone(), - (0..0).into(), - ))); - GroupBuilder { - spec: self.spec, - num_range: self.num_range.clone(), - columns: std::mem::take(&mut self.columns), - } - } - - pub(crate) fn finish_value(&mut self, raw: Range) -> GroupBuilder { - self.columns.push(GroupedColumnRange::Value(ValueRange::new( - self.val_meta.clone(), - raw.into(), - ))); - GroupBuilder { - spec: self.spec, - num_range: self.num_range.clone(), - columns: std::mem::take(&mut self.columns), - } - } - - pub(crate) fn range(&self) -> Range { - self.num_range.start()..self.val_meta.end() - } -} diff --git a/rust/automerge/src/storage/columns/column_specification.rs b/rust/automerge/src/storage/columns/column_specification.rs deleted file mode 100644 index 5bde0e7a..00000000 --- a/rust/automerge/src/storage/columns/column_specification.rs +++ /dev/null @@ -1,285 +0,0 @@ -/// An implementation of column specifications as specified in [1] -/// -/// [1]: https://alexjg.github.io/automerge-storage-docs/#column-specifications -#[derive(Eq, PartialEq, Clone, Copy)] -pub(crate) struct ColumnSpec(u32); - -impl ColumnSpec { - pub(crate) fn new(id: ColumnId, col_type: ColumnType, deflate: bool) -> Self { - let mut raw = id.0 << 4; - raw |= u8::from(col_type) as u32; - if deflate { - raw |= 0b00001000; - } else { - raw &= 0b11110111; - } - ColumnSpec(raw) - } - - pub(crate) fn col_type(&self) -> ColumnType { - self.0.to_be_bytes()[3].into() - } - - pub(crate) fn id(&self) -> ColumnId { - ColumnId(self.0 >> 4) - } - - pub(crate) fn deflate(&self) -> bool { - self.0 & 0b00001000 > 0 - } - - pub(crate) fn deflated(&self) -> Self { - Self::new(self.id(), self.col_type(), true) - } - - pub(crate) fn inflated(&self) -> Self { - Self::new(self.id(), self.col_type(), false) - } - - pub(crate) fn normalize(&self) -> Normalized { - Normalized(self.0 & 0b11110111) - } -} - -#[derive(PartialEq, PartialOrd)] -pub(crate) struct Normalized(u32); - -impl std::fmt::Debug for ColumnSpec { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!( - f, - "ColumnSpec(id: {:?}, type: {}, deflate: {})", - self.id(), - self.col_type(), - self.deflate() - ) - } -} - -#[derive(Eq, PartialEq, Clone, Copy)] -pub(crate) struct ColumnId(u32); - -impl ColumnId { - pub(crate) const fn new(raw: u32) -> Self { - ColumnId(raw) - } -} - -impl From for ColumnId { - fn from(raw: u32) -> Self { - Self(raw) - } -} - -impl std::fmt::Debug for ColumnId { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - self.0.fmt(f) - } -} - -/// The differente possible column types, as specified in [1] -/// -/// [1]: https://alexjg.github.io/automerge-storage-docs/#column-specifications -#[derive(Eq, PartialEq, Clone, Copy, Debug)] -pub(crate) enum ColumnType { - Group, - Actor, - Integer, - DeltaInteger, - Boolean, - String, - ValueMetadata, - Value, -} - -impl std::fmt::Display for ColumnType { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::Group => write!(f, "Group"), - Self::Actor => write!(f, "Actor"), - Self::Integer => write!(f, "Integer"), - Self::DeltaInteger => write!(f, "DeltaInteger"), - Self::Boolean => write!(f, "Boolean"), - Self::String => write!(f, "String"), - Self::ValueMetadata => write!(f, "ValueMetadata"), - Self::Value => write!(f, "Value"), - } - } -} - -impl From for ColumnType { - fn from(v: u8) -> Self { - let type_bits = v & 0b00000111; - match type_bits { - 0 => Self::Group, - 1 => Self::Actor, - 2 => Self::Integer, - 3 => Self::DeltaInteger, - 4 => Self::Boolean, - 5 => Self::String, - 6 => Self::ValueMetadata, - 7 => Self::Value, - _ => unreachable!(), - } - } -} - -impl From for u8 { - fn from(ct: ColumnType) -> Self { - match ct { - ColumnType::Group => 0, - ColumnType::Actor => 1, - ColumnType::Integer => 2, - ColumnType::DeltaInteger => 3, - ColumnType::Boolean => 4, - ColumnType::String => 5, - ColumnType::ValueMetadata => 6, - ColumnType::Value => 7, - } - } -} - -impl From for ColumnSpec { - fn from(raw: u32) -> Self { - ColumnSpec(raw) - } -} - -impl From for u32 { - fn from(spec: ColumnSpec) -> Self { - spec.0 - } -} - -impl From<[u8; 4]> for ColumnSpec { - fn from(raw: [u8; 4]) -> Self { - u32::from_be_bytes(raw).into() - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn column_spec_encoding() { - struct Scenario { - id: ColumnId, - col_type: ColumnType, - int_val: u32, - } - - let scenarios = vec![ - Scenario { - id: ColumnId(7), - col_type: ColumnType::Group, - int_val: 112, - }, - Scenario { - id: ColumnId(0), - col_type: ColumnType::Actor, - int_val: 1, - }, - Scenario { - id: ColumnId(0), - col_type: ColumnType::Integer, - int_val: 2, - }, - Scenario { - id: ColumnId(1), - col_type: ColumnType::DeltaInteger, - int_val: 19, - }, - Scenario { - id: ColumnId(3), - col_type: ColumnType::Boolean, - int_val: 52, - }, - Scenario { - id: ColumnId(1), - col_type: ColumnType::String, - int_val: 21, - }, - Scenario { - id: ColumnId(5), - col_type: ColumnType::ValueMetadata, - int_val: 86, - }, - Scenario { - id: ColumnId(5), - col_type: ColumnType::Value, - int_val: 87, - }, - ]; - - for (index, scenario) in scenarios.into_iter().enumerate() { - let spec = ColumnSpec::new(scenario.id, scenario.col_type, false); - - let encoded_val = u32::from(spec); - if encoded_val != scenario.int_val { - panic!( - "Scenario {} failed encoding: expected {} but got {}", - index + 1, - scenario.int_val, - encoded_val - ); - } - - if spec.col_type() != scenario.col_type { - panic!( - "Scenario {} failed col type: expected {:?} but got {:?}", - index + 1, - scenario.col_type, - spec.col_type() - ); - } - - if spec.deflate() { - panic!( - "Scenario {} failed: spec returned true for deflate, should have been false", - index + 1 - ); - } - - if spec.id() != scenario.id { - panic!( - "Scenario {} failed id: expected {:?} but got {:?}", - index + 1, - scenario.id, - spec.id() - ); - } - - let deflated = ColumnSpec::new(scenario.id, scenario.col_type, true); - - if deflated.id() != spec.id() { - panic!("Scenario {} failed deflate id test", index + 1); - } - - if deflated.col_type() != spec.col_type() { - panic!("Scenario {} failed col type test", index + 1); - } - - if !deflated.deflate() { - panic!( - "Scenario {} failed: when deflate bit set deflate returned false", - index + 1 - ); - } - - let expected = scenario.int_val | 0b00001000; - if expected != u32::from(deflated) { - panic!( - "Scenario {} failed deflate bit test, expected {} got {}", - index + 1, - expected, - u32::from(deflated) - ); - } - - if deflated.normalize() != spec.normalize() { - panic!("Scenario {} failed normalize test", index + 1); - } - } - } -} diff --git a/rust/automerge/src/storage/columns/raw_column.rs b/rust/automerge/src/storage/columns/raw_column.rs deleted file mode 100644 index ac9a5759..00000000 --- a/rust/automerge/src/storage/columns/raw_column.rs +++ /dev/null @@ -1,272 +0,0 @@ -use std::{io::Read, marker::PhantomData, ops::Range}; - -use crate::storage::parse; - -use super::{compression, ColumnSpec}; - -/// This is a "raw" column in the sense that it is just the column specification[1] and range. This -/// is in contrast to [`super::Column`] which is aware of composite columns such as value columns[2] and -/// group columns[3]. -/// -/// `RawColumn` is generally an intermediary object which is parsed into a [`super::Column`]. -/// -/// The type parameter `T` is a witness to whether this column is compressed. If `T: -/// compression::Uncompressed` then we have proved that this column is not compressed, otherwise it -/// may be compressed. -/// -/// [1]: https://alexjg.github.io/automerge-storage-docs/#column-specifications -/// [2]: https://alexjg.github.io/automerge-storage-docs/#raw-value-columns -/// [3]: https://alexjg.github.io/automerge-storage-docs/#group-columns -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct RawColumn { - spec: ColumnSpec, - /// The location of the data in the column data block. Note that this range starts at the - /// beginning of the column data block - i.e. the `data` attribute of the first column in the - /// column data block will be 0 - not at the start of the chunk. - data: Range, - _phantom: PhantomData, -} - -impl RawColumn { - pub(crate) fn new(spec: ColumnSpec, data: Range) -> Self { - Self { - spec: ColumnSpec::new(spec.id(), spec.col_type(), false), - data, - _phantom: PhantomData, - } - } -} - -impl RawColumn { - pub(crate) fn spec(&self) -> ColumnSpec { - self.spec - } - - pub(crate) fn data(&self) -> Range { - self.data.clone() - } - - fn compress(&self, input: &[u8], out: &mut Vec, threshold: usize) -> (ColumnSpec, usize) { - let (spec, len) = if self.data.len() < threshold || self.spec.deflate() { - out.extend(&input[self.data.clone()]); - (self.spec, self.data.len()) - } else { - let mut deflater = flate2::bufread::DeflateEncoder::new( - &input[self.data.clone()], - flate2::Compression::default(), - ); - //This unwrap should be okay as we're reading and writing to in memory buffers - (self.spec.deflated(), deflater.read_to_end(out).unwrap()) - }; - (spec, len) - } - - pub(crate) fn uncompressed(&self) -> Option> { - if self.spec.deflate() { - None - } else { - Some(RawColumn { - spec: self.spec, - data: self.data.clone(), - _phantom: PhantomData, - }) - } - } - - fn decompress( - &self, - input: &[u8], - out: &mut Vec, - ) -> Result<(ColumnSpec, usize), ParseError> { - let len = if self.spec.deflate() { - let mut inflater = flate2::bufread::DeflateDecoder::new(&input[self.data.clone()]); - inflater.read_to_end(out).map_err(ParseError::Deflate)? - } else { - out.extend(&input[self.data.clone()]); - self.data.len() - }; - Ok((self.spec.inflated(), len)) - } -} - -#[derive(Clone, Debug, PartialEq)] -pub(crate) struct RawColumns(Vec>); - -impl RawColumns { - /// Returns `Some` if no column in this set of columns is marked as compressed - pub(crate) fn uncompressed(&self) -> Option> { - let mut result = Vec::with_capacity(self.0.len()); - for col in &self.0 { - if let Some(uncomp) = col.uncompressed() { - result.push(uncomp); - } else { - return None; - } - } - Some(RawColumns(result)) - } - - /// Write each column in `input` represented by `self` into `out`, possibly compressing. - /// - /// # Returns - /// The `RawColumns` corresponding to the data written to `out` - /// - /// # Panics - /// * If any of the ranges in `self` is outside the bounds of `input` - pub(crate) fn compress( - &self, - input: &[u8], - out: &mut Vec, - threshold: usize, - ) -> RawColumns { - let mut result = Vec::with_capacity(self.0.len()); - let mut start = 0; - for col in &self.0 { - let (spec, len) = col.compress(input, out, threshold); - result.push(RawColumn { - spec, - data: start..(start + len), - _phantom: PhantomData::, - }); - start += len; - } - RawColumns(result) - } - - /// Read each column from `input` and write to `out`, decompressing any compressed columns - /// - /// # Returns - /// The `RawColumns` corresponding to the data written to `out` - /// - /// # Panics - /// * If any of the ranges in `self` is outside the bounds of `input` - pub(crate) fn uncompress( - &self, - input: &[u8], - out: &mut Vec, - ) -> Result, ParseError> { - let mut result = Vec::with_capacity(self.0.len()); - let mut start = 0; - for col in &self.0 { - let (spec, len) = if let Some(decomp) = col.uncompressed() { - out.extend(&input[decomp.data.clone()]); - (decomp.spec, decomp.data.len()) - } else { - col.decompress(input, out)? - }; - result.push(RawColumn { - spec, - data: start..(start + len), - _phantom: PhantomData::, - }); - start += len; - } - Ok(RawColumns(result)) - } -} - -impl FromIterator> for RawColumns { - fn from_iter>>(iter: U) -> Self { - Self(iter.into_iter().filter(|c| !c.data.is_empty()).collect()) - } -} - -impl FromIterator<(ColumnSpec, Range)> for RawColumns { - fn from_iter)>>(iter: T) -> Self { - Self( - iter.into_iter() - .filter_map(|(spec, data)| { - if data.is_empty() { - None - } else { - Some(RawColumn { - spec, - data, - _phantom: PhantomData, - }) - } - }) - .collect(), - ) - } -} - -#[derive(Debug, thiserror::Error)] -pub(crate) enum ParseError { - #[error("columns were not in normalized order")] - NotInNormalOrder, - #[error(transparent)] - Leb128(#[from] parse::leb128::Error), - #[error(transparent)] - Deflate(#[from] std::io::Error), -} - -impl RawColumns { - pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, E> - where - E: From, - { - let i = input; - let (i, num_columns) = parse::leb128_u64(i).map_err(|e| e.lift())?; - let (i, specs_and_lens) = parse::apply_n( - num_columns as usize, - parse::tuple2( - parse::map(parse::leb128_u32, ColumnSpec::from), - parse::leb128_u64, - ), - )(i) - .map_err(|e| e.lift())?; - let columns: Vec> = specs_and_lens - .into_iter() - .scan(0_usize, |offset, (spec, len)| { - // Note: we use a saturating add here as len was passed over the network - // and so could be anything. If the addition does every saturate we would - // expect parsing to fail later (but at least it won't panic!). - let end = offset.saturating_add(len as usize); - let data = *offset..end; - *offset = end; - Some(RawColumn { - spec, - data, - _phantom: PhantomData, - }) - }) - .collect::>(); - if !are_normal_sorted(&columns) { - return Err(parse::ParseError::Error( - ParseError::NotInNormalOrder.into(), - )); - } - Ok((i, RawColumns(columns))) - } -} - -impl RawColumns { - pub(crate) fn write(&self, out: &mut Vec) -> usize { - let mut written = leb128::write::unsigned(out, self.0.len() as u64).unwrap(); - for col in &self.0 { - written += leb128::write::unsigned(out, u32::from(col.spec) as u64).unwrap(); - written += leb128::write::unsigned(out, col.data.len() as u64).unwrap(); - } - written - } - - pub(crate) fn total_column_len(&self) -> usize { - self.0.iter().map(|c| c.data.len()).sum() - } - - pub(crate) fn iter(&self) -> impl Iterator> + '_ { - self.0.iter() - } -} - -fn are_normal_sorted(cols: &[RawColumn]) -> bool { - if cols.len() > 1 { - for (i, col) in cols[1..].iter().enumerate() { - if col.spec.normalize() < cols[i].spec.normalize() { - return false; - } - } - } - true -} diff --git a/rust/automerge/src/storage/convert.rs b/rust/automerge/src/storage/convert.rs deleted file mode 100644 index 48f83d03..00000000 --- a/rust/automerge/src/storage/convert.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod op_as_changeop; -pub(crate) use op_as_changeop::op_as_actor_id; - -mod op_as_docop; -pub(crate) use op_as_docop::op_as_docop; diff --git a/rust/automerge/src/storage/convert/op_as_changeop.rs b/rust/automerge/src/storage/convert/op_as_changeop.rs deleted file mode 100644 index 00b5e940..00000000 --- a/rust/automerge/src/storage/convert/op_as_changeop.rs +++ /dev/null @@ -1,128 +0,0 @@ -/// Types for converting an OpTree op into a `ChangeOp` or a `DocOp` -use std::borrow::Cow; - -use crate::{ - convert, - op_set::OpSetMetadata, - storage::AsChangeOp, - types::{ActorId, Key, ObjId, Op, OpId, OpType, ScalarValue}, -}; - -/// Wrap an op in an implementation of `AsChangeOp` which represents actor IDs using a reference to -/// the actor ID stored in the metadata. -/// -/// Note that the methods of `AsChangeOp` will panic if the actor is missing from the metadata -pub(crate) fn op_as_actor_id<'a>( - obj: &'a ObjId, - op: &'a Op, - metadata: &'a OpSetMetadata, -) -> OpWithMetadata<'a> { - OpWithMetadata { obj, op, metadata } -} - -pub(crate) struct OpWithMetadata<'a> { - obj: &'a ObjId, - op: &'a Op, - metadata: &'a OpSetMetadata, -} - -impl<'a> OpWithMetadata<'a> { - fn wrap(&self, opid: &'a OpId) -> OpIdWithMetadata<'a> { - OpIdWithMetadata { - opid, - metadata: self.metadata, - } - } -} - -pub(crate) struct OpIdWithMetadata<'a> { - opid: &'a OpId, - metadata: &'a OpSetMetadata, -} - -impl<'a> convert::OpId<&'a ActorId> for OpIdWithMetadata<'a> { - fn counter(&self) -> u64 { - self.opid.counter() - } - - fn actor(&self) -> &'a ActorId { - self.metadata.actors.get(self.opid.actor()) - } -} - -pub(crate) struct PredWithMetadata<'a> { - op: &'a Op, - offset: usize, - metadata: &'a OpSetMetadata, -} - -impl<'a> ExactSizeIterator for PredWithMetadata<'a> { - fn len(&self) -> usize { - self.op.pred.len() - } -} - -impl<'a> Iterator for PredWithMetadata<'a> { - type Item = OpIdWithMetadata<'a>; - - fn next(&mut self) -> Option { - if let Some(op) = self.op.pred.get(self.offset) { - self.offset += 1; - Some(OpIdWithMetadata { - opid: op, - metadata: self.metadata, - }) - } else { - None - } - } -} - -impl<'a> AsChangeOp<'a> for OpWithMetadata<'a> { - type ActorId = &'a ActorId; - type OpId = OpIdWithMetadata<'a>; - type PredIter = PredWithMetadata<'a>; - - fn action(&self) -> u64 { - self.op.action.action_index() - } - - fn insert(&self) -> bool { - self.op.insert - } - - fn val(&self) -> Cow<'a, ScalarValue> { - match &self.op.action { - OpType::Make(..) | OpType::Delete => Cow::Owned(ScalarValue::Null), - OpType::Increment(i) => Cow::Owned(ScalarValue::Int(*i)), - OpType::Put(s) => Cow::Borrowed(s), - } - } - - fn obj(&self) -> convert::ObjId { - if self.obj.is_root() { - convert::ObjId::Root - } else { - convert::ObjId::Op(OpIdWithMetadata { - opid: self.obj.opid(), - metadata: self.metadata, - }) - } - } - - fn pred(&self) -> Self::PredIter { - PredWithMetadata { - op: self.op, - offset: 0, - metadata: self.metadata, - } - } - - fn key(&self) -> convert::Key<'a, Self::OpId> { - match &self.op.key { - Key::Map(idx) => convert::Key::Prop(Cow::Owned(self.metadata.props.get(*idx).into())), - Key::Seq(e) if e.is_head() => convert::Key::Elem(convert::ElemId::Head), - Key::Seq(e) => convert::Key::Elem(convert::ElemId::Op(self.wrap(&e.0))), - } - } -} diff --git a/rust/automerge/src/storage/convert/op_as_docop.rs b/rust/automerge/src/storage/convert/op_as_docop.rs deleted file mode 100644 index 8d237354..00000000 --- a/rust/automerge/src/storage/convert/op_as_docop.rs +++ /dev/null @@ -1,145 +0,0 @@ -use std::borrow::Cow; - -use crate::{ - convert, - indexed_cache::IndexedCache, - storage::AsDocOp, - types::{ElemId, Key, ObjId, Op, OpId, OpType, ScalarValue}, -}; - -/// Create an [`AsDocOp`] implementation for a [`crate::types::Op`] -/// -/// # Arguments -/// * actors - A vector where the i'th element is the actor index of the document encoding of actor -/// i, as returned by [`OpSetMetadata.actors.encode_index`] -/// * props - An indexed cache containing the properties in this op_as_docop -/// * obj - The object ID this op refers too -/// * op - The op itself -/// -/// # Panics -/// -/// The methods of the resulting `AsDocOp` implementation will panic if any actor ID in the op -/// references an index not in `actors` or a property not in `props` -pub(crate) fn op_as_docop<'a>( - actors: &'a [usize], - props: &'a IndexedCache, - obj: &'a ObjId, - op: &'a Op, -) -> OpAsDocOp<'a> { - OpAsDocOp { - op, - obj, - actor_lookup: actors, - props, - } -} - -pub(crate) struct OpAsDocOp<'a> { - op: &'a Op, - obj: &'a ObjId, - actor_lookup: &'a [usize], - props: &'a IndexedCache, -} - -#[derive(Debug)] -pub(crate) struct DocOpId { - actor: usize, - counter: u64, -} - -impl convert::OpId for DocOpId { - fn actor(&self) -> usize { - self.actor - } - - fn counter(&self) -> u64 { - self.counter - } -} - -impl<'a> OpAsDocOp<'a> {} - -impl<'a> AsDocOp<'a> for OpAsDocOp<'a> { - type ActorId = usize; - type OpId = DocOpId; - type SuccIter = OpAsDocOpSuccIter<'a>; - - fn id(&self) -> Self::OpId { - translate(self.actor_lookup, &self.op.id) - } - - fn obj(&self) -> convert::ObjId { - if self.obj.is_root() { - convert::ObjId::Root - } else { - convert::ObjId::Op(translate(self.actor_lookup, self.obj.opid())) - } - } - - fn key(&self) -> convert::Key<'a, Self::OpId> { - match self.op.key { - Key::Map(idx) => convert::Key::Prop(Cow::Owned(self.props.get(idx).into())), - Key::Seq(e) if e.is_head() => convert::Key::Elem(convert::ElemId::Head), - Key::Seq(ElemId(o)) => { - convert::Key::Elem(convert::ElemId::Op(translate(self.actor_lookup, &o))) - } - } - } - - fn val(&self) -> Cow<'a, crate::ScalarValue> { - match &self.op.action { - OpType::Put(v) => Cow::Borrowed(v), - OpType::Increment(i) => Cow::Owned(ScalarValue::Int(*i)), - _ => Cow::Owned(ScalarValue::Null), - } - } - - fn succ(&self) -> Self::SuccIter { - OpAsDocOpSuccIter { - op: self.op, - offset: 0, - actor_index: self.actor_lookup, - } - } - - fn insert(&self) -> bool { - self.op.insert - } - - fn action(&self) -> u64 { - self.op.action.action_index() - } -} - -pub(crate) struct OpAsDocOpSuccIter<'a> { - op: &'a Op, - offset: usize, - actor_index: &'a [usize], -} - -impl<'a> Iterator for OpAsDocOpSuccIter<'a> { - type Item = DocOpId; - - fn next(&mut self) -> Option { - if let Some(s) = self.op.succ.get(self.offset) { - self.offset += 1; - Some(translate(self.actor_index, s)) - } else { - None - } - } -} - -impl<'a> ExactSizeIterator for OpAsDocOpSuccIter<'a> { - fn len(&self) -> usize { - self.op.succ.len() - } -} - -fn translate<'a>(actor_lookup: &'a [usize], op: &'a OpId) -> DocOpId { - let index = actor_lookup[op.actor()]; - DocOpId { - actor: index, - counter: op.counter(), - } -} diff --git a/rust/automerge/src/storage/document.rs b/rust/automerge/src/storage/document.rs deleted file mode 100644 index ecef0bfd..00000000 --- a/rust/automerge/src/storage/document.rs +++ /dev/null @@ -1,343 +0,0 @@ -use std::{borrow::Cow, ops::Range}; - -use super::{parse, shift_range, ChunkType, Columns, Header, RawColumns}; - -use crate::{convert, ActorId, ChangeHash}; - -mod doc_op_columns; -use doc_op_columns::DocOpColumns; -pub(crate) use doc_op_columns::{AsDocOp, DocOp, ReadDocOpError}; -mod doc_change_columns; -use doc_change_columns::DocChangeColumns; -pub(crate) use doc_change_columns::{AsChangeMeta, ChangeMetadata, ReadChangeError}; -mod compression; - -#[allow(dead_code)] -pub(crate) enum CompressConfig { - None, - Threshold(usize), -} - -#[derive(Debug)] -pub(crate) struct Document<'a> { - bytes: Cow<'a, [u8]>, - #[allow(dead_code)] - compressed_bytes: Option>, - header: Header, - actors: Vec, - heads: Vec, - op_metadata: DocOpColumns, - op_bytes: Range, - change_metadata: DocChangeColumns, - change_bytes: Range, - #[allow(dead_code)] - head_indices: Vec, -} - -#[derive(thiserror::Error, Debug)] -pub(crate) enum ParseError { - #[error(transparent)] - Leb128(#[from] parse::leb128::Error), - #[error(transparent)] - RawColumns(#[from] crate::storage::columns::raw_column::ParseError), - #[error("bad column layout for {column_type}s: {error}")] - BadColumnLayout { - column_type: &'static str, - error: super::columns::BadColumnLayout, - }, - #[error(transparent)] - BadDocOps(#[from] doc_op_columns::Error), - #[error(transparent)] - BadDocChanges(#[from] doc_change_columns::ReadChangeError), -} - -impl<'a> Document<'a> { - /// Parse a document chunk. Input must be the entire chunk including the header and magic - /// bytes but the header must already have been parsed. That is to say, this is expected to be - /// used like so: - /// - /// ```rust,ignore - /// # use automerge::storage::{parse::{ParseResult, Input}, Document, Header}; - /// # fn main() -> ParseResult<(), ()> { - /// let chunkbytes: &[u8] = todo!(); - /// let input = Input::new(chunkbytes); - /// let (i, header) = Header::parse(input)?; - /// let (i, doc) = Document::parse(i, header)?; - /// # } - /// ``` - pub(crate) fn parse( - input: parse::Input<'a>, - header: Header, - ) -> parse::ParseResult<'a, Document<'a>, ParseError> { - let i = input; - - // Because some columns in a document may be compressed we do some funky stuff when - // parsing. As we're parsing the chunk we split the data into four parts: - // - // .----------------. - // | Prefix | - // |.--------------.| - // || Actors || - // || Heads || - // || Change Meta || - // || Ops Meta || - // |'--------------'| - // +----------------+ - // | Change data | - // +----------------+ - // | Ops data | - // +----------------+ - // | Suffix | - // |.--------------.| - // || Head indices || - // |'--------------'| - // '----------------' - // - // We record the range of each of these sections using `parse::range_of`. Later, we check - // if any of the column definitions in change meta or ops meta specify that their columns - // are compressed. If there are compressed columns then we copy the uncompressed parts of the - // input data to a new output vec, then decompress the compressed parts. Specifically we do - // the following: - // - // * Copy everything in prefix to the output buffer - // * If any of change columns are compressed, copy all of change data to the output buffer - // decompressing each compressed column - // * Likewise if any of ops columns are compressed copy the data decompressing as required - // * Finally copy the suffix - // - // The reason for all this work is that we end up keeping all of the data behind the - // document chunk in a single Vec, which plays nicely with the cache and makes dumping the - // document to disk or network straightforward. - - // parse everything in the prefix - let ( - i, - parse::RangeOf { - range: prefix, - value: (actors, heads, change_meta, ops_meta), - }, - ) = parse::range_of( - |i| -> parse::ParseResult<'_, _, ParseError> { - let (i, actors) = parse::length_prefixed(parse::actor_id)(i)?; - let (i, heads) = parse::length_prefixed(parse::change_hash)(i)?; - let (i, change_meta) = RawColumns::parse::(i)?; - let (i, ops_meta) = RawColumns::parse::(i)?; - Ok((i, (actors, heads, change_meta, ops_meta))) - }, - i, - )?; - - // parse the change data - let (i, parse::RangeOf { range: changes, .. }) = - parse::range_of(|i| parse::take_n(change_meta.total_column_len(), i), i)?; - - // parse the ops data - let (i, parse::RangeOf { range: ops, .. }) = - parse::range_of(|i| parse::take_n(ops_meta.total_column_len(), i), i)?; - - // parse the suffix, which may be empty if this document was produced by an older version - // of the JS automerge implementation - let (i, suffix, head_indices) = if i.is_empty() { - (i, 0..0, Vec::new()) - } else { - let ( - i, - parse::RangeOf { - range: suffix, - value: head_indices, - }, - ) = parse::range_of( - |i| parse::apply_n(heads.len(), parse::leb128_u64::)(i), - i, - )?; - (i, suffix, head_indices) - }; - - let compression::Decompressed { - change_bytes, - op_bytes, - uncompressed, - compressed, - changes, - ops, - } = compression::decompress(compression::Args { - prefix: prefix.start, - suffix: suffix.start, - original: Cow::Borrowed(input.bytes()), - changes: compression::Cols { - data: changes, - raw_columns: change_meta, - }, - ops: compression::Cols { - data: ops, - raw_columns: ops_meta, - }, - extra_args: (), - }) - .map_err(|e| parse::ParseError::Error(ParseError::RawColumns(e)))?; - - let ops_layout = Columns::parse(op_bytes.len(), ops.iter()).map_err(|e| { - parse::ParseError::Error(ParseError::BadColumnLayout { - column_type: "ops", - error: e, - }) - })?; - let ops_cols = - DocOpColumns::try_from(ops_layout).map_err(|e| parse::ParseError::Error(e.into()))?; - - let change_layout = Columns::parse(change_bytes.len(), changes.iter()).map_err(|e| { - parse::ParseError::Error(ParseError::BadColumnLayout { - column_type: "changes", - error: e, - }) - })?; - let change_cols = DocChangeColumns::try_from(change_layout) - .map_err(|e| parse::ParseError::Error(e.into()))?; - - Ok(( - i, - Document { - bytes: uncompressed, - compressed_bytes: compressed, - header, - actors, - heads, - op_metadata: ops_cols, - op_bytes, - change_metadata: change_cols, - change_bytes, - head_indices, - }, - )) - } - - pub(crate) fn new<'b, I, C, IC, D, O>( - mut actors: Vec, - heads_with_indices: Vec<(ChangeHash, usize)>, - ops: I, - changes: IC, - compress: CompressConfig, - ) -> Document<'static> - where - I: Iterator + Clone + ExactSizeIterator, - O: convert::OpId, - D: AsDocOp<'b, OpId = O>, - C: AsChangeMeta<'b>, - IC: Iterator + Clone, - { - let mut ops_out = Vec::new(); - let ops_meta = DocOpColumns::encode(ops, &mut ops_out); - - let mut change_out = Vec::new(); - let change_meta = DocChangeColumns::encode(changes, &mut change_out); - actors.sort_unstable(); - - let mut data = Vec::with_capacity(ops_out.len() + change_out.len()); - leb128::write::unsigned(&mut data, actors.len() as u64).unwrap(); - for actor in &actors { - leb128::write::unsigned(&mut data, actor.to_bytes().len() as u64).unwrap(); - data.extend(actor.to_bytes()); - } - leb128::write::unsigned(&mut data, heads_with_indices.len() as u64).unwrap(); - for (head, _) in &heads_with_indices { - data.extend(head.as_bytes()); - } - let prefix_len = data.len(); - - change_meta.raw_columns().write(&mut data); - ops_meta.raw_columns().write(&mut data); - let change_start = data.len(); - let change_end = change_start + change_out.len(); - data.extend(change_out); - let ops_start = data.len(); - let ops_end = ops_start + ops_out.len(); - data.extend(ops_out); - let suffix_start = data.len(); - - let head_indices = heads_with_indices - .iter() - .map(|(_, i)| *i as u64) - .collect::>(); - for index in &head_indices { - leb128::write::unsigned(&mut data, *index).unwrap(); - } - - let header = Header::new(ChunkType::Document, &data); - let mut bytes = Vec::with_capacity(data.len() + header.len()); - header.write(&mut bytes); - let header_len = bytes.len(); - bytes.extend(&data); - - let op_bytes = shift_range(ops_start..ops_end, header.len()); - let change_bytes = shift_range(change_start..change_end, header.len()); - - let compressed_bytes = if let CompressConfig::Threshold(threshold) = compress { - let compressed = Cow::Owned(compression::compress(compression::Args { - prefix: prefix_len + header.len(), - suffix: suffix_start + header.len(), - ops: compression::Cols { - raw_columns: ops_meta.raw_columns(), - data: op_bytes.clone(), - }, - changes: compression::Cols { - raw_columns: change_meta.raw_columns(), - data: change_bytes.clone(), - }, - original: Cow::Borrowed(&bytes), - extra_args: compression::CompressArgs { - threshold, - original_header_len: header_len, - }, - })); - Some(compressed) - } else { - None - }; - - Document { - actors, - bytes: Cow::Owned(bytes), - compressed_bytes, - header, - heads: heads_with_indices.into_iter().map(|(h, _)| h).collect(), - op_metadata: ops_meta, - op_bytes, - change_metadata: change_meta, - change_bytes, - head_indices, - } - } - - pub(crate) fn iter_ops( - &'a self, - ) -> impl Iterator> + Clone + 'a { - self.op_metadata.iter(&self.bytes[self.op_bytes.clone()]) - } - - pub(crate) fn iter_changes( - &'a self, - ) -> impl Iterator, ReadChangeError>> + Clone + 'a { - self.change_metadata - .iter(&self.bytes[self.change_bytes.clone()]) - } - - pub(crate) fn into_bytes(self) -> Vec { - if let Some(compressed) = self.compressed_bytes { - compressed.into_owned() - } else { - self.bytes.into_owned() - } - } - - pub(crate) fn checksum_valid(&self) -> bool { - self.header.checksum_valid() - } - - pub(crate) fn actors(&self) -> &[ActorId] { - &self.actors - } - - pub(crate) fn heads(&self) -> &[ChangeHash] { - &self.heads - } -} diff --git a/rust/automerge/src/storage/document/compression.rs b/rust/automerge/src/storage/document/compression.rs deleted file mode 100644 index 2f0e96ce..00000000 --- a/rust/automerge/src/storage/document/compression.rs +++ /dev/null @@ -1,356 +0,0 @@ -use std::{borrow::Cow, convert::Infallible, ops::Range}; - -use crate::storage::{ - columns::{compression, raw_column}, - shift_range, ChunkType, Header, RawColumns, -}; - -pub(super) struct Args<'a, T: compression::ColumnCompression, DirArgs> { - /// The original data of the entire document chunk (compressed or uncompressed) - pub(super) original: Cow<'a, [u8]>, - /// The number of bytes in the original before the beginning of the change column metadata - pub(super) prefix: usize, - /// The offset in the original after the end of the ops column data - pub(super) suffix: usize, - /// The column data for the changes - pub(super) changes: Cols, - /// The column data for the ops - pub(super) ops: Cols, - /// Additional arguments specific to the direction (compression or uncompression) - pub(super) extra_args: DirArgs, -} - -pub(super) struct CompressArgs { - pub(super) threshold: usize, - pub(super) original_header_len: usize, -} - -/// Compress a document chunk returning the compressed bytes -pub(super) fn compress(args: Args<'_, compression::Uncompressed, CompressArgs>) -> Vec { - let header_len = args.extra_args.original_header_len; - let threshold = args.extra_args.threshold; - // Wrap in a closure so we can use `?` in the construction but still force the compiler - // to check that the error type is `Infallible` - let result: Result<_, Infallible> = (|| { - Ok(Compression::::new( - args, - Compressing { - threshold, - header_len, - }, - ) - .changes()? - .ops()? - .write_data() - .finish()) - })(); - // We just checked the error is `Infallible` so unwrap is fine - result.unwrap() -} - -pub(super) fn decompress<'a>( - args: Args<'a, compression::Unknown, ()>, -) -> Result, raw_column::ParseError> { - match ( - args.changes.raw_columns.uncompressed(), - args.ops.raw_columns.uncompressed(), - ) { - (Some(changes), Some(ops)) => Ok(Decompressed { - changes, - ops, - compressed: None, - uncompressed: args.original, - change_bytes: args.changes.data, - op_bytes: args.ops.data, - }), - _ => Ok( - Compression::<'a, Decompressing, _>::new(args, Decompressing) - .changes()? - .ops()? - .write_data() - .finish(), - ), - } -} - -pub(super) struct Decompressed<'a> { - /// The original compressed data, if there was any - pub(super) compressed: Option>, - /// The final uncompressed data - pub(super) uncompressed: Cow<'a, [u8]>, - /// The ops column metadata - pub(super) ops: RawColumns, - /// The change column metadata - pub(super) changes: RawColumns, - /// The location of the change column data in the uncompressed data - pub(super) change_bytes: Range, - /// The location of the op column data in the uncompressed data - pub(super) op_bytes: Range, -} - -struct Compression<'a, D: Direction, S: CompressionState> { - args: Args<'a, D::In, D::Args>, - state: S, - direction: D, -} - -/// Some columns in the original data -pub(super) struct Cols { - /// The metadata for these columns - pub(super) raw_columns: RawColumns, - /// The location in the original chunk of the data for these columns - pub(super) data: Range, -} - -// Compression and decompression involve almost the same steps in either direction. This trait -// encapsulates that. -trait Direction: std::fmt::Debug { - type Out: compression::ColumnCompression; - type In: compression::ColumnCompression; - type Error; - type Args; - - /// This method represents the (de)compression process for a direction. The arguments are: - /// - /// * cols - The columns we are processing - /// * input - the entire document chunk - /// * out - the vector to place the processed columns in - /// * meta_out - the vector to place processed column metadata in - fn process( - &self, - cols: &Cols, - input: &[u8], - out: &mut Vec, - meta_out: &mut Vec, - ) -> Result, Self::Error>; -} -#[derive(Debug)] -struct Compressing { - threshold: usize, - header_len: usize, -} - -impl Direction for Compressing { - type Error = Infallible; - type Out = compression::Unknown; - type In = compression::Uncompressed; - type Args = CompressArgs; - - fn process( - &self, - cols: &Cols, - input: &[u8], - out: &mut Vec, - meta_out: &mut Vec, - ) -> Result, Self::Error> { - let start = out.len(); - let raw_columns = cols - .raw_columns - .compress(&input[cols.data.clone()], out, self.threshold); - raw_columns.write(meta_out); - Ok(Cols { - data: start..out.len(), - raw_columns, - }) - } -} - -#[derive(Debug)] -struct Decompressing; - -impl Direction for Decompressing { - type Error = raw_column::ParseError; - type Out = compression::Uncompressed; - type In = compression::Unknown; - type Args = (); - - fn process( - &self, - cols: &Cols, - input: &[u8], - out: &mut Vec, - meta_out: &mut Vec, - ) -> Result, raw_column::ParseError> { - let start = out.len(); - let raw_columns = cols - .raw_columns - .uncompress(&input[cols.data.clone()], out)?; - raw_columns.write(meta_out); - Ok(Cols { - data: start..out.len(), - raw_columns, - }) - } -} - -// Somewhat absurdly I (alex) kept getting the order of writing ops and changes wrong as well as -// the order that column metadata vs data should be written in. This is a type state to get the -// compiler to enforce that things are done in the right order. -trait CompressionState {} -impl CompressionState for Starting {} -impl CompressionState for Changes {} -impl CompressionState for ChangesAndOps {} -impl CompressionState for Finished {} - -/// We haven't done any processing yet -struct Starting { - /// The vector to write column data to - data_out: Vec, - /// The vector to write column metadata to - meta_out: Vec, -} - -/// We've processed the changes columns -struct Changes { - /// The `Cols` for the processed change columns - change_cols: Cols, - /// The vector to write column metadata to - meta_out: Vec, - /// The vector to write column data to - data_out: Vec, -} - -/// We've processed the ops columns -struct ChangesAndOps { - /// The `Cols` for the processed change columns - change_cols: Cols, - /// The `Cols` for the processed op columns - ops_cols: Cols, - /// The vector to write column metadata to - meta_out: Vec, - /// The vector to write column data to - data_out: Vec, -} - -/// We've written the column metadata and the op metadata for changes and ops to the output buffer -/// and added the prefix and suffix from the args. -struct Finished { - /// The `Cols` for the processed change columns - change_cols: Cols, - /// The `Cols` for the processed op columns - ops_cols: Cols, - /// The start of the change column metadata in the processed chunk - data_start: usize, - /// The processed chunk - out: Vec, -} - -impl<'a, D: Direction> Compression<'a, D, Starting> { - fn new(args: Args<'a, D::In, D::Args>, direction: D) -> Compression<'a, D, Starting> { - let mut meta_out = Vec::with_capacity(args.original.len() * 2); - meta_out.extend(&args.original[..args.prefix]); - Compression { - args, - direction, - state: Starting { - meta_out, - data_out: Vec::new(), - }, - } - } -} - -impl<'a, D: Direction> Compression<'a, D, Starting> { - fn changes(self) -> Result>, D::Error> { - let Starting { - mut data_out, - mut meta_out, - } = self.state; - let change_cols = self.direction.process( - &self.args.changes, - &self.args.original, - &mut data_out, - &mut meta_out, - )?; - Ok(Compression { - args: self.args, - direction: self.direction, - state: Changes { - change_cols, - meta_out, - data_out, - }, - }) - } -} - -impl<'a, D: Direction> Compression<'a, D, Changes> { - fn ops(self) -> Result>, D::Error> { - let Changes { - change_cols, - mut meta_out, - mut data_out, - } = self.state; - let ops_cols = self.direction.process( - &self.args.ops, - &self.args.original, - &mut data_out, - &mut meta_out, - )?; - Ok(Compression { - args: self.args, - direction: self.direction, - state: ChangesAndOps { - change_cols, - ops_cols, - meta_out, - data_out, - }, - }) - } -} - -impl<'a, D: Direction> Compression<'a, D, ChangesAndOps> { - fn write_data(self) -> Compression<'a, D, Finished> { - let ChangesAndOps { - data_out, - mut meta_out, - change_cols, - ops_cols, - } = self.state; - let data_start = meta_out.len(); - meta_out.extend(&data_out); - meta_out.extend(&self.args.original[self.args.suffix..]); - Compression { - args: self.args, - direction: self.direction, - state: Finished { - ops_cols, - change_cols, - out: meta_out, - data_start, - }, - } - } -} - -impl<'a> Compression<'a, Decompressing, Finished> { - fn finish(self) -> Decompressed<'a> { - let Finished { - change_cols, - ops_cols, - data_start, - out, - } = self.state; - Decompressed { - ops: ops_cols.raw_columns, - changes: change_cols.raw_columns, - uncompressed: Cow::Owned(out), - compressed: Some(self.args.original), - change_bytes: shift_range(change_cols.data, data_start), - op_bytes: shift_range(ops_cols.data, data_start), - } - } -} - -impl<'a> Compression<'a, Compressing, Finished> { - fn finish(self) -> Vec { - let Finished { out, .. } = self.state; - let headerless = &out[self.direction.header_len..]; - let header = Header::new(ChunkType::Document, headerless); - let mut result = Vec::with_capacity(header.len() + out.len()); - header.write(&mut result); - result.extend(headerless); - result - } -} diff --git a/rust/automerge/src/storage/document/doc_change_columns.rs b/rust/automerge/src/storage/document/doc_change_columns.rs deleted file mode 100644 index 93fa28e3..00000000 --- a/rust/automerge/src/storage/document/doc_change_columns.rs +++ /dev/null @@ -1,339 +0,0 @@ -use std::{borrow::Cow, convert::TryFrom}; - -use crate::{ - columnar::{ - column_range::{ - generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange}, - DeltaRange, DepsIter, DepsRange, RleRange, ValueIter, ValueRange, - }, - encoding::{ColumnDecoder, DecodeColumnError, DeltaDecoder, RleDecoder}, - }, - storage::{ - columns::{compression, ColumnId, ColumnSpec, ColumnType}, - Columns, MismatchingColumn, RawColumn, RawColumns, - }, - types::ScalarValue, -}; - -const ACTOR_COL_ID: ColumnId = ColumnId::new(0); -const SEQ_COL_ID: ColumnId = ColumnId::new(0); -const MAX_OP_COL_ID: ColumnId = ColumnId::new(1); -const TIME_COL_ID: ColumnId = ColumnId::new(2); -const MESSAGE_COL_ID: ColumnId = ColumnId::new(3); -const DEPS_COL_ID: ColumnId = ColumnId::new(4); -const EXTRA_COL_ID: ColumnId = ColumnId::new(5); - -#[derive(Debug)] -pub(crate) struct ChangeMetadata<'a> { - pub(crate) actor: usize, - pub(crate) seq: u64, - pub(crate) max_op: u64, - pub(crate) timestamp: i64, - pub(crate) message: Option, - pub(crate) deps: Vec, - pub(crate) extra: Cow<'a, [u8]>, -} - -/// A row to be encoded as change metadata in the document format -/// -/// The lifetime `'a` is the lifetime of the extra bytes Cow. For types which cannot -/// provide a reference (e.g. because they are decoding from some columnar storage on each -/// iteration) this should be `'static`. -pub(crate) trait AsChangeMeta<'a> { - /// The type of the iterator over dependency indices - type DepsIter: Iterator + ExactSizeIterator; - - fn actor(&self) -> u64; - fn seq(&self) -> u64; - fn max_op(&self) -> u64; - fn timestamp(&self) -> i64; - fn message(&self) -> Option>; - fn deps(&self) -> Self::DepsIter; - fn extra(&self) -> Cow<'a, [u8]>; -} - -#[derive(Debug, Clone)] -pub(crate) struct DocChangeColumns { - actor: RleRange, - seq: DeltaRange, - max_op: DeltaRange, - time: DeltaRange, - message: RleRange, - deps: DepsRange, - extra: ValueRange, - #[allow(dead_code)] - other: Columns, -} - -impl DocChangeColumns { - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> DocChangeColumnIter<'a> { - DocChangeColumnIter { - actors: self.actor.decoder(data), - seq: self.seq.decoder(data), - max_op: self.max_op.decoder(data), - time: self.time.decoder(data), - message: if self.message.is_empty() { - None - } else { - Some(self.message.decoder(data)) - }, - deps: self.deps.iter(data), - extra: ExtraDecoder { - val: self.extra.iter(data), - }, - } - } - - pub(crate) fn encode<'a, I, C>(changes: I, out: &mut Vec) -> DocChangeColumns - where - C: AsChangeMeta<'a>, - I: Iterator + Clone, - { - let actor = RleRange::::encode( - // TODO: make this fallible once iterators have a try_splice - changes.clone().map(|c| Some(c.actor())), - out, - ); - let seq = DeltaRange::encode(changes.clone().map(|c| Some(c.seq() as i64)), out); - let max_op = DeltaRange::encode(changes.clone().map(|c| Some(c.max_op() as i64)), out); - let time = DeltaRange::encode(changes.clone().map(|c| Some(c.timestamp())), out); - let message = RleRange::encode(changes.clone().map(|c| c.message()), out); - let deps = DepsRange::encode(changes.clone().map(|c| c.deps()), out); - let extra = ValueRange::encode( - changes.map(|c| Cow::Owned(ScalarValue::Bytes(c.extra().to_vec()))), - out, - ); - DocChangeColumns { - actor, - seq, - max_op, - time, - message, - deps, - extra, - other: Columns::empty(), - } - } - - pub(crate) fn raw_columns(&self) -> RawColumns { - let mut cols = vec![ - RawColumn::new( - ColumnSpec::new(ACTOR_COL_ID, ColumnType::Actor, false), - self.actor.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(SEQ_COL_ID, ColumnType::DeltaInteger, false), - self.seq.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(MAX_OP_COL_ID, ColumnType::DeltaInteger, false), - self.max_op.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(TIME_COL_ID, ColumnType::DeltaInteger, false), - self.time.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(MESSAGE_COL_ID, ColumnType::String, false), - self.message.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(DEPS_COL_ID, ColumnType::Group, false), - self.deps.num_range().clone().into(), - ), - ]; - if self.deps.deps_range().len() > 0 { - cols.push(RawColumn::new( - ColumnSpec::new(DEPS_COL_ID, ColumnType::DeltaInteger, false), - self.deps.deps_range().clone().into(), - )) - } - cols.push(RawColumn::new( - ColumnSpec::new(EXTRA_COL_ID, ColumnType::ValueMetadata, false), - self.extra.meta_range().clone().into(), - )); - if !self.extra.raw_range().is_empty() { - cols.push(RawColumn::new( - ColumnSpec::new(EXTRA_COL_ID, ColumnType::Value, false), - self.extra.raw_range().clone().into(), - )) - } - cols.into_iter().collect() - } -} - -#[derive(Debug, thiserror::Error)] -pub(crate) enum ReadChangeError { - #[error("unexpected null value for {0}")] - UnexpectedNull(String), - #[error("mismatching column types for column {index}")] - MismatchingColumn { index: usize }, - #[error("incorrect value in extra bytes column")] - InvalidExtraBytes, - #[error(transparent)] - ReadColumn(#[from] DecodeColumnError), -} - -impl From for ReadChangeError { - fn from(m: MismatchingColumn) -> Self { - Self::MismatchingColumn { index: m.index } - } -} - -#[derive(Clone)] -pub(crate) struct DocChangeColumnIter<'a> { - actors: RleDecoder<'a, u64>, - seq: DeltaDecoder<'a>, - max_op: DeltaDecoder<'a>, - time: DeltaDecoder<'a>, - message: Option>, - deps: DepsIter<'a>, - extra: ExtraDecoder<'a>, -} - -impl<'a> DocChangeColumnIter<'a> { - fn try_next(&mut self) -> Result>, ReadChangeError> { - let actor = match self.actors.maybe_next_in_col("actor")? { - Some(actor) => actor as usize, - None => { - // The actor column should always have a value so if the actor iterator returns None that - // means we should be done, we check by asserting that all the other iterators - // return none (which is what Self::check_done does). - if self.check_done() { - return Ok(None); - } else { - return Err(ReadChangeError::UnexpectedNull("actor".to_string())); - } - } - }; - let seq = self.seq.next_in_col("seq").and_then(|seq| { - u64::try_from(seq).map_err(|e| DecodeColumnError::invalid_value("seq", e.to_string())) - })?; - let max_op = self.max_op.next_in_col("max_op").and_then(|seq| { - u64::try_from(seq).map_err(|e| DecodeColumnError::invalid_value("seq", e.to_string())) - })?; - let time = self.time.next_in_col("time")?; - let message = if let Some(ref mut message) = self.message { - message.maybe_next_in_col("message")? - } else { - None - }; - let deps = self.deps.next_in_col("deps")?; - let extra = self.extra.next().transpose()?.unwrap_or(Cow::Borrowed(&[])); - Ok(Some(ChangeMetadata { - actor, - seq, - max_op, - timestamp: time, - message, - deps, - extra, - })) - } -} - -impl<'a> Iterator for DocChangeColumnIter<'a> { - type Item = Result, ReadChangeError>; - - fn next(&mut self) -> Option { - self.try_next().transpose() - } -} - -impl<'a> DocChangeColumnIter<'a> { - fn check_done(&mut self) -> bool { - let other_cols = [ - self.seq.next().is_none(), - self.max_op.next().is_none(), - self.time.next().is_none(), - self.deps.next().is_none(), - ]; - other_cols.iter().any(|f| *f) - } -} - -#[derive(Clone)] -struct ExtraDecoder<'a> { - val: ValueIter<'a>, -} - -impl<'a> Iterator for ExtraDecoder<'a> { - type Item = Result, ReadChangeError>; - fn next(&mut self) -> Option { - match self.val.next() { - Some(Ok(ScalarValue::Bytes(b))) => Some(Ok(Cow::Owned(b))), - Some(Ok(_)) => Some(Err(ReadChangeError::InvalidExtraBytes)), - Some(Err(e)) => Some(Err(e.into())), - None => None, - } - } -} - -impl TryFrom for DocChangeColumns { - type Error = ReadChangeError; - - fn try_from(columns: Columns) -> Result { - let mut actor: Option> = None; - let mut seq: Option = None; - let mut max_op: Option = None; - let mut time: Option = None; - let mut message: Option> = None; - let mut deps: Option = None; - let mut extra: Option = None; - let mut other = Columns::empty(); - - for (index, col) in columns.into_iter().enumerate() { - match (col.id(), col.col_type()) { - (ACTOR_COL_ID, ColumnType::Actor) => actor = Some(col.range().into()), - (SEQ_COL_ID, ColumnType::DeltaInteger) => seq = Some(col.range().into()), - (MAX_OP_COL_ID, ColumnType::DeltaInteger) => max_op = Some(col.range().into()), - (TIME_COL_ID, ColumnType::DeltaInteger) => time = Some(col.range().into()), - (MESSAGE_COL_ID, ColumnType::String) => message = Some(col.range().into()), - (DEPS_COL_ID, ColumnType::Group) => match col.into_ranges() { - GenericColumnRange::Group(GroupRange { num, values }) => { - let mut cols = values.into_iter(); - let deps_group = num; - let first = cols.next(); - let deps_index = match first { - Some(GroupedColumnRange::Simple(SimpleColRange::Delta( - index_range, - ))) => index_range, - Some(_) => { - tracing::error!( - "deps column contained more than one grouped column" - ); - return Err(ReadChangeError::MismatchingColumn { index: 5 }); - } - None => (0..0).into(), - }; - if cols.next().is_some() { - return Err(ReadChangeError::MismatchingColumn { index }); - } - deps = Some(DepsRange::new(deps_group, deps_index)); - } - _ => return Err(ReadChangeError::MismatchingColumn { index }), - }, - (EXTRA_COL_ID, ColumnType::ValueMetadata) => match col.into_ranges() { - GenericColumnRange::Value(val) => { - extra = Some(val); - } - _ => return Err(ReadChangeError::MismatchingColumn { index }), - }, - (other_id, other_type) => { - tracing::warn!(id=?other_id, typ=?other_type, "unknown column"); - other.append(col); - } - } - } - Ok(DocChangeColumns { - actor: actor.unwrap_or_else(|| (0..0).into()), - seq: seq.unwrap_or_else(|| (0..0).into()), - max_op: max_op.unwrap_or_else(|| (0..0).into()), - time: time.unwrap_or_else(|| (0..0).into()), - message: message.unwrap_or_else(|| (0..0).into()), - deps: deps.unwrap_or_else(|| DepsRange::new((0..0).into(), (0..0).into())), - extra: extra.unwrap_or_else(|| ValueRange::new((0..0).into(), (0..0).into())), - other, - }) - } -} diff --git a/rust/automerge/src/storage/document/doc_op_columns.rs b/rust/automerge/src/storage/document/doc_op_columns.rs deleted file mode 100644 index 82de17eb..00000000 --- a/rust/automerge/src/storage/document/doc_op_columns.rs +++ /dev/null @@ -1,450 +0,0 @@ -use std::{borrow::Cow, convert::TryFrom}; - -use crate::{ - columnar::{ - column_range::{ - generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange}, - BooleanRange, DeltaRange, Key, KeyEncoder, KeyIter, KeyRange, ObjIdEncoder, ObjIdIter, - ObjIdRange, OpIdEncoder, OpIdIter, OpIdListEncoder, OpIdListIter, OpIdListRange, - OpIdRange, RleRange, ValueEncoder, ValueIter, ValueRange, - }, - encoding::{ - BooleanDecoder, BooleanEncoder, ColumnDecoder, DecodeColumnError, RleDecoder, - RleEncoder, - }, - }, - convert, - storage::{ - columns::{compression, ColumnId, ColumnSpec, ColumnType}, - Columns, MismatchingColumn, RawColumn, RawColumns, - }, - types::{ObjId, OpId, ScalarValue}, -}; - -const OBJ_COL_ID: ColumnId = ColumnId::new(0); -const KEY_COL_ID: ColumnId = ColumnId::new(1); -const ID_COL_ID: ColumnId = ColumnId::new(2); -const INSERT_COL_ID: ColumnId = ColumnId::new(3); -const ACTION_COL_ID: ColumnId = ColumnId::new(4); -const VAL_COL_ID: ColumnId = ColumnId::new(5); -const SUCC_COL_ID: ColumnId = ColumnId::new(8); - -/// The form operations take in the compressed document format. -#[derive(Debug)] -pub(crate) struct DocOp { - pub(crate) id: OpId, - pub(crate) object: ObjId, - pub(crate) key: Key, - pub(crate) insert: bool, - pub(crate) action: usize, - pub(crate) value: ScalarValue, - pub(crate) succ: Vec, -} - -#[derive(Debug, Clone)] -pub(crate) struct DocOpColumns { - obj: Option, - key: KeyRange, - id: OpIdRange, - insert: BooleanRange, - action: RleRange, - val: ValueRange, - succ: OpIdListRange, - #[allow(dead_code)] - other: Columns, -} - -struct DocId { - actor: usize, - counter: u64, -} - -impl convert::OpId for DocId { - fn actor(&self) -> usize { - self.actor - } - - fn counter(&self) -> u64 { - self.counter - } -} - -/// A row to be encoded as an op in the document format -/// -/// The lifetime `'a` is the lifetime of the value and key data types. For types which cannot -/// provide a reference (e.g. because they are decoding from some columnar storage on each -/// iteration) this should be `'static`. -pub(crate) trait AsDocOp<'a> { - /// The type of the Actor ID component of the op IDs for this impl. This is typically either - /// `&'a ActorID` or `usize` - type ActorId; - /// The type of the op IDs this impl produces. - type OpId: convert::OpId; - /// The type of the successor iterator returned by `Self::pred`. This can often be omitted - type SuccIter: Iterator + ExactSizeIterator; - - fn obj(&self) -> convert::ObjId; - fn id(&self) -> Self::OpId; - fn key(&self) -> convert::Key<'a, Self::OpId>; - fn insert(&self) -> bool; - fn action(&self) -> u64; - fn val(&self) -> Cow<'a, ScalarValue>; - fn succ(&self) -> Self::SuccIter; -} - -impl DocOpColumns { - pub(crate) fn encode<'a, I, C, O>(ops: I, out: &mut Vec) -> DocOpColumns - where - I: Iterator + Clone + ExactSizeIterator, - O: convert::OpId, - C: AsDocOp<'a, OpId = O>, - { - if ops.len() > 30000 { - Self::encode_rowwise(ops, out) - } else { - Self::encode_columnwise(ops, out) - } - } - - fn encode_columnwise<'a, I, O, C>(ops: I, out: &mut Vec) -> DocOpColumns - where - I: Iterator + Clone, - O: convert::OpId, - C: AsDocOp<'a, OpId = O>, - { - let obj = ObjIdRange::encode(ops.clone().map(|o| o.obj()), out); - let key = KeyRange::encode(ops.clone().map(|o| o.key()), out); - let id = OpIdRange::encode(ops.clone().map(|o| o.id()), out); - let insert = BooleanRange::encode(ops.clone().map(|o| o.insert()), out); - let action = RleRange::encode(ops.clone().map(|o| Some(o.action())), out); - let val = ValueRange::encode(ops.clone().map(|o| o.val()), out); - let succ = OpIdListRange::encode(ops.map(|o| o.succ()), out); - Self { - obj, - key, - id, - insert, - action, - val, - succ, - other: Columns::empty(), - } - } - - fn encode_rowwise<'a, I, O, C>(ops: I, out: &mut Vec) -> DocOpColumns - where - I: Iterator, - O: convert::OpId, - C: AsDocOp<'a, OpId = O>, - { - let mut obj = ObjIdEncoder::new(); - let mut key = KeyEncoder::new(); - let mut id = OpIdEncoder::new(); - let mut insert = BooleanEncoder::new(); - let mut action = RleEncoder::<_, u64>::from(Vec::new()); - let mut val = ValueEncoder::new(); - let mut succ = OpIdListEncoder::new(); - for op in ops { - obj.append(op.obj()); - key.append(op.key()); - id.append(op.id()); - insert.append(op.insert()); - action.append(Some(op.action())); - val.append(&op.val()); - succ.append(op.succ()); - } - let obj = obj.finish(out); - let key = key.finish(out); - let id = id.finish(out); - - let insert_start = out.len(); - let (insert_out, _) = insert.finish(); - out.extend(insert_out); - let insert = BooleanRange::from(insert_start..out.len()); - - let action_start = out.len(); - let (action_out, _) = action.finish(); - out.extend(action_out); - let action = RleRange::from(action_start..out.len()); - - let val = val.finish(out); - let succ = succ.finish(out); - DocOpColumns { - obj, - key, - id, - insert, - action, - val, - succ, - other: Columns::empty(), - } - } - - pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> DocOpColumnIter<'a> { - DocOpColumnIter { - id: self.id.iter(data), - action: self.action.decoder(data), - objs: self.obj.as_ref().map(|o| o.iter(data)), - keys: self.key.iter(data), - insert: self.insert.decoder(data), - value: self.val.iter(data), - succ: self.succ.iter(data), - } - } - - pub(crate) fn raw_columns(&self) -> RawColumns { - let mut cols = vec![ - RawColumn::new( - ColumnSpec::new(OBJ_COL_ID, ColumnType::Actor, false), - self.obj - .as_ref() - .map(|o| o.actor_range().clone().into()) - .unwrap_or(0..0), - ), - RawColumn::new( - ColumnSpec::new(OBJ_COL_ID, ColumnType::Integer, false), - self.obj - .as_ref() - .map(|o| o.counter_range().clone().into()) - .unwrap_or(0..0), - ), - RawColumn::new( - ColumnSpec::new(KEY_COL_ID, ColumnType::Actor, false), - self.key.actor_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(KEY_COL_ID, ColumnType::DeltaInteger, false), - self.key.counter_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(KEY_COL_ID, ColumnType::String, false), - self.key.string_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(ID_COL_ID, ColumnType::Actor, false), - self.id.actor_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(ID_COL_ID, ColumnType::DeltaInteger, false), - self.id.counter_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(INSERT_COL_ID, ColumnType::Boolean, false), - self.insert.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(ACTION_COL_ID, ColumnType::Integer, false), - self.action.clone().into(), - ), - RawColumn::new( - ColumnSpec::new(VAL_COL_ID, ColumnType::ValueMetadata, false), - self.val.meta_range().clone().into(), - ), - ]; - if !self.val.raw_range().is_empty() { - cols.push(RawColumn::new( - ColumnSpec::new(VAL_COL_ID, ColumnType::Value, false), - self.val.raw_range().clone().into(), - )); - } - cols.push(RawColumn::new( - ColumnSpec::new(SUCC_COL_ID, ColumnType::Group, false), - self.succ.group_range().clone().into(), - )); - if !self.succ.actor_range().is_empty() { - cols.extend([ - RawColumn::new( - ColumnSpec::new(SUCC_COL_ID, ColumnType::Actor, false), - self.succ.actor_range().clone().into(), - ), - RawColumn::new( - ColumnSpec::new(SUCC_COL_ID, ColumnType::DeltaInteger, false), - self.succ.counter_range().clone().into(), - ), - ]); - } - cols.into_iter().collect() - } -} - -#[derive(Clone)] -pub(crate) struct DocOpColumnIter<'a> { - id: OpIdIter<'a>, - action: RleDecoder<'a, u64>, - objs: Option>, - keys: KeyIter<'a>, - insert: BooleanDecoder<'a>, - value: ValueIter<'a>, - succ: OpIdListIter<'a>, -} - -impl<'a> DocOpColumnIter<'a> { - fn done(&self) -> bool { - self.id.done() - } -} - -#[derive(Debug, thiserror::Error)] -#[error(transparent)] -pub(crate) struct ReadDocOpError(#[from] DecodeColumnError); - -impl<'a> Iterator for DocOpColumnIter<'a> { - type Item = Result; - - fn next(&mut self) -> Option { - if self.done() { - None - } else { - match self.try_next() { - Ok(Some(op)) => Some(Ok(op)), - Ok(None) => None, - Err(e) => Some(Err(e.into())), - } - } - } -} - -impl<'a> DocOpColumnIter<'a> { - fn try_next(&mut self) -> Result, DecodeColumnError> { - if self.done() { - Ok(None) - } else { - let id = self.id.next_in_col("id")?; - let action = self.action.next_in_col("action")?; - let obj = if let Some(ref mut objs) = self.objs { - objs.next_in_col("obj")? - } else { - ObjId::root() - }; - let key = self.keys.next_in_col("key")?; - let value = self.value.next_in_col("value")?; - let succ = self.succ.next_in_col("succ")?; - let insert = self.insert.next_in_col("insert")?; - Ok(Some(DocOp { - id, - value, - action: action as usize, - object: obj, - key, - succ, - insert, - })) - } - } -} - -#[derive(Debug, thiserror::Error)] -pub(crate) enum Error { - #[error("mismatching column at {index}.")] - MismatchingColumn { index: usize }, -} - -impl From for Error { - fn from(m: MismatchingColumn) -> Self { - Error::MismatchingColumn { index: m.index } - } -} - -impl TryFrom for DocOpColumns { - type Error = Error; - - fn try_from(columns: Columns) -> Result { - let mut obj_actor: Option> = None; - let mut obj_ctr: Option> = None; - let mut key_actor: Option> = None; - let mut key_ctr: Option = None; - let mut key_str: Option> = None; - let mut id_actor: Option> = None; - let mut id_ctr: Option = None; - let mut insert: Option = None; - let mut action: Option> = None; - let mut val: Option = None; - let mut succ_group: Option> = None; - let mut succ_actor: Option> = None; - let mut succ_ctr: Option = None; - let mut other = Columns::empty(); - - for (index, col) in columns.into_iter().enumerate() { - match (col.id(), col.col_type()) { - (ID_COL_ID, ColumnType::Actor) => id_actor = Some(col.range().into()), - (ID_COL_ID, ColumnType::DeltaInteger) => id_ctr = Some(col.range().into()), - (OBJ_COL_ID, ColumnType::Actor) => obj_actor = Some(col.range().into()), - (OBJ_COL_ID, ColumnType::Integer) => obj_ctr = Some(col.range().into()), - (KEY_COL_ID, ColumnType::Actor) => key_actor = Some(col.range().into()), - (KEY_COL_ID, ColumnType::DeltaInteger) => key_ctr = Some(col.range().into()), - (KEY_COL_ID, ColumnType::String) => key_str = Some(col.range().into()), - (INSERT_COL_ID, ColumnType::Boolean) => insert = Some(col.range().into()), - (ACTION_COL_ID, ColumnType::Integer) => action = Some(col.range().into()), - (VAL_COL_ID, ColumnType::ValueMetadata) => match col.into_ranges() { - GenericColumnRange::Value(v) => val = Some(v), - _ => { - tracing::error!("col 9 should be a value column"); - return Err(Error::MismatchingColumn { index }); - } - }, - (SUCC_COL_ID, ColumnType::Group) => match col.into_ranges() { - GenericColumnRange::Group(GroupRange { num, values }) => { - let mut cols = values.into_iter(); - let first = cols.next(); - let second = cols.next(); - succ_group = Some(num); - match (first, second) { - ( - Some(GroupedColumnRange::Simple(SimpleColRange::RleInt( - actor_range, - ))), - Some(GroupedColumnRange::Simple(SimpleColRange::Delta(ctr_range))), - ) => { - succ_actor = Some(actor_range); - succ_ctr = Some(ctr_range); - } - (None, None) => { - succ_actor = Some((0..0).into()); - succ_ctr = Some((0..0).into()); - } - _ => { - tracing::error!( - "expected a two column group of (actor, rle int) for index 10" - ); - return Err(Error::MismatchingColumn { index }); - } - }; - if cols.next().is_some() { - return Err(Error::MismatchingColumn { index }); - } - } - _ => return Err(Error::MismatchingColumn { index }), - }, - (other_col, other_type) => { - tracing::warn!(id=?other_col, typ=?other_type, "unknown column type"); - other.append(col) - } - } - } - Ok(DocOpColumns { - obj: ObjIdRange::new( - obj_actor.unwrap_or_else(|| (0..0).into()), - obj_ctr.unwrap_or_else(|| (0..0).into()), - ), - key: KeyRange::new( - key_actor.unwrap_or_else(|| (0..0).into()), - key_ctr.unwrap_or_else(|| (0..0).into()), - key_str.unwrap_or_else(|| (0..0).into()), - ), - id: OpIdRange::new( - id_actor.unwrap_or_else(|| (0..0).into()), - id_ctr.unwrap_or_else(|| (0..0).into()), - ), - insert: insert.unwrap_or_else(|| (0..0).into()), - action: action.unwrap_or_else(|| (0..0).into()), - val: val.unwrap_or_else(|| ValueRange::new((0..0).into(), (0..0).into())), - succ: OpIdListRange::new( - succ_group.unwrap_or_else(|| (0..0).into()), - succ_actor.unwrap_or_else(|| (0..0).into()), - succ_ctr.unwrap_or_else(|| (0..0).into()), - ), - other, - }) - } -} diff --git a/rust/automerge/src/storage/load.rs b/rust/automerge/src/storage/load.rs deleted file mode 100644 index 80ab3d82..00000000 --- a/rust/automerge/src/storage/load.rs +++ /dev/null @@ -1,120 +0,0 @@ -use tracing::instrument; - -use crate::{ - change::Change, - storage::{self, parse}, -}; - -mod change_collector; -mod reconstruct_document; -pub(crate) use reconstruct_document::{ - reconstruct_document, DocObserver, LoadedObject, Reconstructed, VerificationMode, -}; - -#[derive(Debug, thiserror::Error)] -#[allow(unreachable_pub)] -pub enum Error { - #[error("unable to parse chunk: {0}")] - Parse(Box), - #[error("invalid change columns: {0}")] - InvalidChangeColumns(Box), - #[error("invalid ops columns: {0}")] - InvalidOpsColumns(Box), - #[error("a chunk contained leftover data")] - LeftoverData, - #[error("error inflating document chunk ops: {0}")] - InflateDocument(Box), - #[error("bad checksum")] - BadChecksum, -} - -pub(crate) enum LoadedChanges<'a> { - /// All the data was succesfully loaded into a list of changes - Complete(Vec), - /// We only managed to load _some_ changes. - Partial { - /// The succesfully loaded changes - loaded: Vec, - /// The data which we were unable to parse - #[allow(dead_code)] - remaining: parse::Input<'a>, - /// The error encountered whilst trying to parse `remaining` - error: Error, - }, -} - -/// Attempt to Load all the chunks in `data`. -/// -/// # Partial Loads -/// -/// Automerge documents are encoded as one or more concatenated chunks. Each chunk containing one -/// or more changes. This means it is possible to partially load corrupted data if the first `n` -/// chunks are valid. This function returns a `LoadedChanges` which you can examine to determine if -/// this is the case. -#[instrument(skip(data))] -pub(crate) fn load_changes<'a>(mut data: parse::Input<'a>) -> LoadedChanges<'a> { - let mut changes = Vec::new(); - while !data.is_empty() { - let remaining = match load_next_change(data, &mut changes) { - Ok(d) => d, - Err(e) => { - return LoadedChanges::Partial { - loaded: changes, - remaining: data, - error: e, - }; - } - }; - data = remaining.reset(); - } - LoadedChanges::Complete(changes) -} - -fn load_next_change<'a>( - data: parse::Input<'a>, - changes: &mut Vec, -) -> Result, Error> { - let (remaining, chunk) = storage::Chunk::parse(data).map_err(|e| Error::Parse(Box::new(e)))?; - if !chunk.checksum_valid() { - return Err(Error::BadChecksum); - } - match chunk { - storage::Chunk::Document(d) => { - tracing::trace!("loading document chunk"); - let Reconstructed { - changes: new_changes, - .. - } = reconstruct_document(&d, VerificationMode::DontCheck, NullObserver) - .map_err(|e| Error::InflateDocument(Box::new(e)))?; - changes.extend(new_changes); - } - storage::Chunk::Change(change) => { - tracing::trace!("loading change chunk"); - let change = Change::new_from_unverified(change.into_owned(), None) - .map_err(|e| Error::InvalidChangeColumns(Box::new(e)))?; - #[cfg(debug_assertions)] - { - let loaded_ops = change.iter_ops().collect::>(); - tracing::trace!(actor=?change.actor_id(), num_ops=change.len(), ops=?loaded_ops, "loaded change"); - } - #[cfg(not(debug_assertions))] - tracing::trace!(actor=?change.actor_id(), num_ops=change.len(), "loaded change"); - changes.push(change); - } - storage::Chunk::CompressedChange(change, compressed) => { - tracing::trace!("loading compressed change chunk"); - let change = - Change::new_from_unverified(change.into_owned(), Some(compressed.into_owned())) - .map_err(|e| Error::InvalidChangeColumns(Box::new(e)))?; - changes.push(change); - } - }; - Ok(remaining) -} - -struct NullObserver; -impl DocObserver for NullObserver { - type Output = (); - fn finish(self, _metadata: crate::op_tree::OpSetMetadata) -> Self::Output {} - fn object_loaded(&mut self, _object: LoadedObject) {} -} diff --git a/rust/automerge/src/storage/load/change_collector.rs b/rust/automerge/src/storage/load/change_collector.rs deleted file mode 100644 index d05367a9..00000000 --- a/rust/automerge/src/storage/load/change_collector.rs +++ /dev/null @@ -1,222 +0,0 @@ -use std::{ - borrow::Cow, - collections::{BTreeSet, HashMap}, - num::NonZeroU64, -}; - -use tracing::instrument; - -use crate::{ - op_tree::OpSetMetadata, - storage::{ - change::{PredOutOfOrder, Verified}, - convert::op_as_actor_id, - Change as StoredChange, ChangeMetadata, - }, - types::{ChangeHash, ObjId, Op}, -}; - -#[derive(Debug, thiserror::Error)] -pub(crate) enum Error { - #[error("a change referenced an actor index we couldn't find")] - MissingActor, - #[error("changes out of order")] - ChangesOutOfOrder, - #[error("missing change")] - MissingChange, - #[error("unable to read change metadata: {0}")] - ReadChange(Box), - #[error("incorrect max op")] - IncorrectMaxOp, - #[error("missing ops")] - MissingOps, -} - -pub(crate) struct ChangeCollector<'a> { - changes_by_actor: HashMap>>, -} - -pub(crate) struct CollectedChanges<'a> { - pub(crate) history: Vec>, - pub(crate) heads: BTreeSet, -} - -impl<'a> ChangeCollector<'a> { - pub(crate) fn new( - changes: I, - ) -> Result, Error> - where - I: IntoIterator, E>>, - { - let mut changes_by_actor: HashMap>> = HashMap::new(); - for (index, change) in changes.into_iter().enumerate() { - tracing::trace!(?change, "importing change metadata"); - let change = change.map_err(|e| Error::ReadChange(Box::new(e)))?; - let actor_changes = changes_by_actor.entry(change.actor).or_default(); - if let Some(prev) = actor_changes.last() { - // Note that we allow max_op to be equal to the previous max_op in case the - // previous change had no ops (which is permitted) - if prev.max_op > change.max_op { - return Err(Error::ChangesOutOfOrder); - } - } - actor_changes.push(PartialChange { - index, - deps: change.deps, - actor: change.actor, - seq: change.seq, - timestamp: change.timestamp, - max_op: change.max_op, - message: change.message, - extra_bytes: change.extra, - ops: Vec::new(), - }) - } - let num_changes: usize = changes_by_actor.values().map(|v| v.len()).sum(); - tracing::trace!(num_changes, "change collection context created"); - Ok(ChangeCollector { changes_by_actor }) - } - - #[instrument(skip(self))] - pub(crate) fn collect(&mut self, obj: ObjId, op: Op) -> Result<(), Error> { - let actor_changes = self - .changes_by_actor - .get_mut(&op.id.actor()) - .ok_or_else(|| { - tracing::error!(missing_actor = op.id.actor(), "missing actor for op"); - Error::MissingActor - })?; - let change_index = actor_changes.partition_point(|c| c.max_op < op.id.counter()); - let change = actor_changes.get_mut(change_index).ok_or_else(|| { - tracing::error!(missing_change_index = change_index, "missing change for op"); - Error::MissingChange - })?; - change.ops.push((obj, op)); - Ok(()) - } - - #[instrument(skip(self, metadata))] - pub(crate) fn finish( - self, - metadata: &OpSetMetadata, - ) -> Result, Error> { - let mut changes_in_order = - Vec::with_capacity(self.changes_by_actor.values().map(|c| c.len()).sum()); - for (_, changes) in self.changes_by_actor { - let mut seq = None; - for change in changes { - if let Some(seq) = seq { - if seq != change.seq - 1 { - return Err(Error::ChangesOutOfOrder); - } - } else if change.seq != 1 { - return Err(Error::ChangesOutOfOrder); - } - seq = Some(change.seq); - changes_in_order.push(change); - } - } - changes_in_order.sort_by_key(|c| c.index); - - let mut hashes_by_index = HashMap::new(); - let mut history = Vec::new(); - let mut heads = BTreeSet::new(); - for (index, change) in changes_in_order.into_iter().enumerate() { - let finished = change.finish(&hashes_by_index, metadata)?; - let hash = finished.hash(); - hashes_by_index.insert(index, hash); - for dep in finished.dependencies() { - heads.remove(dep); - } - heads.insert(hash); - history.push(finished.into_owned()); - } - - Ok(CollectedChanges { history, heads }) - } -} - -#[derive(Debug)] -struct PartialChange<'a> { - index: usize, - deps: Vec, - actor: usize, - seq: u64, - max_op: u64, - timestamp: i64, - message: Option, - extra_bytes: Cow<'a, [u8]>, - ops: Vec<(ObjId, Op)>, -} - -impl<'a> PartialChange<'a> { - /// # Panics - /// - /// * If any op references a property index which is not in `props` - /// * If any op references an actor index which is not in `actors` - #[instrument(skip(self, known_changes, metadata))] - fn finish( - mut self, - known_changes: &HashMap, - metadata: &OpSetMetadata, - ) -> Result, Error> { - let deps_len = self.deps.len(); - let mut deps = self.deps.into_iter().try_fold::<_, _, Result<_, Error>>( - Vec::with_capacity(deps_len), - |mut acc, dep| { - acc.push(known_changes.get(&(dep as usize)).cloned().ok_or_else(|| { - tracing::error!( - dependent_index = self.index, - dep_index = dep, - "could not find dependency" - ); - Error::MissingChange - })?); - Ok(acc) - }, - )?; - deps.sort(); - let num_ops = self.ops.len() as u64; - self.ops.sort_by_key(|o| o.1.id); - let converted_ops = self - .ops - .iter() - .map(|(obj, op)| op_as_actor_id(obj, op, metadata)); - let actor = metadata - .actors - .safe_get(self.actor) - .ok_or_else(|| { - tracing::error!(actor_index = self.actor, "actor out of bounds"); - Error::MissingActor - })? - .clone(); - - if num_ops > self.max_op { - return Err(Error::IncorrectMaxOp); - } - - let change = match StoredChange::builder() - .with_dependencies(deps) - .with_actor(actor) - .with_seq(self.seq) - .with_start_op(NonZeroU64::new(self.max_op - num_ops + 1).ok_or(Error::MissingOps)?) - .with_timestamp(self.timestamp) - .with_message(self.message.map(|s| s.to_string())) - .with_extra_bytes(self.extra_bytes.into_owned()) - .build(converted_ops) - { - Ok(s) => s, - Err(PredOutOfOrder) => { - // SAFETY: types::Op::preds is `types::OpIds` which ensures ops are always sorted - panic!("preds out of order"); - } - }; - #[cfg(not(debug_assertions))] - tracing::trace!(?change, hash=?change.hash(), "collected change"); - #[cfg(debug_assertions)] - { - tracing::trace!(?change, ops=?self.ops, hash=?change.hash(), "collected change"); - } - Ok(change) - } -} diff --git a/rust/automerge/src/storage/load/reconstruct_document.rs b/rust/automerge/src/storage/load/reconstruct_document.rs deleted file mode 100644 index 44ace72a..00000000 --- a/rust/automerge/src/storage/load/reconstruct_document.rs +++ /dev/null @@ -1,391 +0,0 @@ -use super::change_collector::ChangeCollector; -use std::collections::{BTreeSet, HashMap}; -use tracing::instrument; - -use crate::{ - change::Change, - columnar::Key as DocOpKey, - op_tree::OpSetMetadata, - storage::{change::Verified, Change as StoredChange, DocOp, Document}, - types::{ChangeHash, ElemId, Key, ObjId, ObjType, Op, OpId, OpIds, OpType}, - ScalarValue, -}; - -#[derive(Debug, thiserror::Error)] -pub(crate) enum Error { - #[error("the document contained ops which were out of order")] - OpsOutOfOrder, - #[error("error reading operation: {0:?}")] - ReadOp(Box), - #[error("an operation contained an invalid action")] - InvalidAction, - #[error("an operation referenced a missing actor id")] - MissingActor, - #[error("invalid changes: {0}")] - InvalidChanges(#[from] super::change_collector::Error), - #[error("mismatching heads")] - MismatchingHeads(MismatchedHeads), - #[error("missing operations")] - MissingOps, - #[error("succ out of order")] - SuccOutOfOrder, -} - -pub(crate) struct MismatchedHeads { - changes: Vec>, - expected_heads: BTreeSet, - derived_heads: BTreeSet, -} - -impl std::fmt::Debug for MismatchedHeads { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.debug_struct("MismatchedHeads") - .field("changes", &self.changes.len()) - .field("expected_heads", &self.expected_heads) - .field("derived_heads", &self.derived_heads) - .finish() - } -} - -/// All the operations loaded from an object in the document format -pub(crate) struct LoadedObject { - /// The id of the object - pub(crate) id: ObjId, - /// The id of the parent object, if any - pub(crate) parent: Option, - /// The operations for this object - pub(crate) ops: Vec, - /// The type of the object - pub(crate) obj_type: ObjType, -} - -/// An observer which will be notified of each object as it completes and which can produce a -/// result once all the operations are loaded and the change graph is verified. -pub(crate) trait DocObserver { - type Output; - - /// The operations for an object have been loaded - fn object_loaded(&mut self, object: LoadedObject); - /// The document has finished loading. The `metadata` is the `OpSetMetadata` which was used to - /// create the indices in the operations which were passed to `object_loaded` - fn finish(self, metadata: OpSetMetadata) -> Self::Output; -} - -/// The result of reconstructing the change history from a document -pub(crate) struct Reconstructed { - /// The maximum op counter that was found in the document - pub(crate) max_op: u64, - /// The changes in the document, in the order they were encoded in the document - pub(crate) changes: Vec, - /// The result produced by the `DocObserver` which was watching the reconstruction - pub(crate) result: Output, - /// The heads of the document - pub(crate) heads: BTreeSet, -} - -#[derive(Debug)] -pub enum VerificationMode { - Check, - DontCheck, -} - -#[instrument(skip(doc, observer))] -pub(crate) fn reconstruct_document<'a, O: DocObserver>( - doc: &'a Document<'a>, - mode: VerificationMode, - mut observer: O, -) -> Result, Error> { - // The document format does not contain the bytes of the changes which are encoded in it - // directly. Instead the metadata about the changes (the actor, the start op, etc.) are all - // encoded separately to all the ops in the document. We need to reconstruct the changes in - // order to verify the heads of the document. To do this we iterate over the document - // operations adding each operation to a `ChangeCollector`. Once we've collected all the - // changes, the `ChangeCollector` knows how to group all the operations together to produce the - // change graph. - // - // Some of the work involved in reconstructing the changes could in principle be quite costly. - // For example, delete operations dont appear in the document at all, instead the delete - // operations are recorded as `succ` operations on the operations which they delete. This means - // that to reconstruct delete operations we have to first collect all the operations, then look - // for succ operations which we have not seen a concrete operation for. Happily we can take - // advantage of the fact that operations are encoded in the order of the object they apply to. - // This is the purpose of `LoadingObject`. - // - // Finally, when constructing an OpSet from this data we want to process the operations in the - // order they appear in the document, this allows us to create the OpSet more efficiently than - // if we were directly applying the reconstructed change graph. This is the purpose of the - // `DocObserver`, which we pass operations to as we complete the processing of each object. - - // The metadata which we create from the doc and which we will pass to the observer - let mut metadata = OpSetMetadata::from_actors(doc.actors().to_vec()); - // The object we are currently loading, starts with the root - let mut current_object = LoadingObject::root(); - // The changes we are collecting to later construct the change graph from - let mut collector = ChangeCollector::new(doc.iter_changes())?; - // A map where we record the create operations so that when the object ID the incoming - // operations refer to switches we can lookup the object type for the new object. We also - // need it so we can pass the parent object ID to the observer - let mut create_ops = HashMap::new(); - // The max op we've seen - let mut max_op = 0; - // The objects we have finished loaded - let mut objs_loaded = BTreeSet::new(); - - for op_res in doc.iter_ops() { - let doc_op = op_res.map_err(|e| Error::ReadOp(Box::new(e)))?; - max_op = std::cmp::max(max_op, doc_op.id.counter()); - - // Delete ops only appear as succ values in the document operations, so if a delete - // operation is the max op we will only see it here. Therefore we step through the document - // operations succs checking for max op - for succ in &doc_op.succ { - max_op = std::cmp::max(max_op, succ.counter()); - } - - let obj = doc_op.object; - check_opid(&metadata, *obj.opid())?; - let op = import_op(&mut metadata, doc_op)?; - tracing::trace!(?op, ?obj, "loading document op"); - - if let OpType::Make(obj_type) = op.action { - create_ops.insert( - ObjId::from(op.id), - CreateOp { - obj_type, - parent_id: obj, - }, - ); - }; - if obj == current_object.id { - current_object.append_op(op.clone())?; - } else { - let create_op = match create_ops.get(&obj) { - Some(t) => Ok(t), - None => { - tracing::error!( - ?op, - "operation referenced an object which we haven't seen a create op for yet" - ); - Err(Error::OpsOutOfOrder) - } - }?; - if obj < current_object.id { - tracing::error!(?op, previous_obj=?current_object.id, "op referenced an object ID which was smaller than the previous object ID"); - return Err(Error::OpsOutOfOrder); - } else { - let loaded = current_object.finish(&mut collector, &metadata)?; - objs_loaded.insert(loaded.id); - observer.object_loaded(loaded); - current_object = - LoadingObject::new(obj, Some(create_op.parent_id), create_op.obj_type); - current_object.append_op(op.clone())?; - } - } - } - let loaded = current_object.finish(&mut collector, &metadata)?; - objs_loaded.insert(loaded.id); - observer.object_loaded(loaded); - - // If an op created an object but no operation targeting that object was ever made then the - // object will only exist in the create_ops map. We collect all such objects here. - for ( - obj_id, - CreateOp { - parent_id, - obj_type, - }, - ) in create_ops.into_iter() - { - if !objs_loaded.contains(&obj_id) { - observer.object_loaded(LoadedObject { - parent: Some(parent_id), - id: obj_id, - ops: Vec::new(), - obj_type, - }) - } - } - - let super::change_collector::CollectedChanges { history, heads } = - collector.finish(&metadata)?; - if matches!(mode, VerificationMode::Check) { - let expected_heads: BTreeSet<_> = doc.heads().iter().cloned().collect(); - if expected_heads != heads { - tracing::error!(?expected_heads, ?heads, "mismatching heads"); - return Err(Error::MismatchingHeads(MismatchedHeads { - changes: history, - expected_heads, - derived_heads: heads, - })); - } - } - let result = observer.finish(metadata); - - Ok(Reconstructed { - result, - changes: history.into_iter().map(Change::new).collect(), - heads, - max_op, - }) -} - -struct CreateOp { - parent_id: ObjId, - obj_type: ObjType, -} -struct LoadingObject { - id: ObjId, - parent_id: Option, - ops: Vec, - obj_type: ObjType, - preds: HashMap>, - /// Operations which set a value, stored to later lookup keys when reconstructing delete events - set_ops: HashMap, - /// To correctly load the values of the `Counter` struct in the value of op IDs we need to - /// lookup the various increment operations which have been applied by the succesors of the - /// initial operation which creates the counter. - inc_ops: HashMap, -} - -impl LoadingObject { - fn root() -> Self { - Self::new(ObjId::root(), None, ObjType::Map) - } - - fn new(id: ObjId, parent_id: Option, obj_type: ObjType) -> Self { - LoadingObject { - id, - parent_id, - ops: Vec::new(), - obj_type, - preds: HashMap::new(), - set_ops: HashMap::new(), - inc_ops: HashMap::new(), - } - } - - fn append_op(&mut self, op: Op) -> Result<(), Error> { - // Collect set and make operations so we can find the keys which delete operations refer to - // in `finish` - if matches!(op.action, OpType::Put(_) | OpType::Make(_)) { - match op.key { - Key::Map(_) => { - self.set_ops.insert(op.id, op.key); - } - Key::Seq(ElemId(o)) => { - let elem_opid = if op.insert { op.id } else { o }; - self.set_ops.insert(op.id, Key::Seq(ElemId(elem_opid))); - } - }; - } - // Collect increment operations so we can reconstruct counters properly in `finish` - if let OpType::Increment(inc) = op.action { - self.inc_ops.insert(op.id, inc); - } - for succ in &op.succ { - self.preds.entry(*succ).or_default().push(op.id); - } - self.ops.push(op); - Ok(()) - } - - fn finish( - mut self, - collector: &mut ChangeCollector<'_>, - meta: &OpSetMetadata, - ) -> Result { - let mut ops = Vec::new(); - for mut op in self.ops.into_iter() { - if let Some(preds) = self.preds.remove(&op.id) { - op.pred = meta.sorted_opids(preds.into_iter()); - } - if let OpType::Put(ScalarValue::Counter(c)) = &mut op.action { - let inc_ops = op.succ.iter().filter_map(|s| self.inc_ops.get(s).copied()); - c.increment(inc_ops); - } - collector.collect(self.id, op.clone())?; - ops.push(op) - } - // Any remaining pred ops must be delete operations - // TODO (alex): Figure out what index these should be inserted at. Does it even matter? - for (opid, preds) in self.preds.into_iter() { - let key = self.set_ops.get(&preds[0]).ok_or_else(|| { - tracing::error!(?opid, ?preds, "no delete operation found"); - Error::MissingOps - })?; - collector.collect( - self.id, - Op { - id: opid, - pred: meta.sorted_opids(preds.into_iter()), - insert: false, - succ: OpIds::empty(), - key: *key, - action: OpType::Delete, - }, - )?; - } - Ok(LoadedObject { - id: self.id, - parent: self.parent_id, - ops, - obj_type: self.obj_type, - }) - } -} - -fn import_op(m: &mut OpSetMetadata, op: DocOp) -> Result { - let key = match op.key { - DocOpKey::Prop(s) => Key::Map(m.import_prop(s)), - DocOpKey::Elem(ElemId(op)) => Key::Seq(ElemId(check_opid(m, op)?)), - }; - for opid in &op.succ { - if m.actors.safe_get(opid.actor()).is_none() { - tracing::error!(?opid, "missing actor"); - return Err(Error::MissingActor); - } - } - Ok(Op { - id: check_opid(m, op.id)?, - action: parse_optype(op.action, op.value)?, - key, - succ: m.try_sorted_opids(op.succ).ok_or(Error::SuccOutOfOrder)?, - pred: OpIds::empty(), - insert: op.insert, - }) -} - -/// We construct the OpSetMetadata directly from the vector of actors which are encoded in the -/// start of the document. Therefore we need to check for each opid in the docuemnt that the actor -/// ID which it references actually exists in the metadata. -fn check_opid(m: &OpSetMetadata, opid: OpId) -> Result { - match m.actors.safe_get(opid.actor()) { - Some(_) => Ok(opid), - None => { - tracing::error!("missing actor"); - Err(Error::MissingActor) - } - } -} - -fn parse_optype(action_index: usize, value: ScalarValue) -> Result { - match action_index { - 0 => Ok(OpType::Make(ObjType::Map)), - 1 => Ok(OpType::Put(value)), - 2 => Ok(OpType::Make(ObjType::List)), - 3 => Ok(OpType::Delete), - 4 => Ok(OpType::Make(ObjType::Text)), - 5 => match value { - ScalarValue::Int(i) => Ok(OpType::Increment(i)), - _ => { - tracing::error!(?value, "invalid value for counter op"); - Err(Error::InvalidAction) - } - }, - 6 => Ok(OpType::Make(ObjType::Table)), - other => { - tracing::error!(action = other, "unknown action type"); - Err(Error::InvalidAction) - } - } -} diff --git a/rust/automerge/src/storage/parse.rs b/rust/automerge/src/storage/parse.rs deleted file mode 100644 index 6751afb4..00000000 --- a/rust/automerge/src/storage/parse.rs +++ /dev/null @@ -1,595 +0,0 @@ -//! A small parser combinator library inspired by [`nom`](https://docs.rs/crate/nom/5.0.0). -//! -//! The primary reason for using this rather than `nom` is that this is only a few hundred lines of -//! code because we don't need a fully fledged combinator library - automerge is a low level -//! library so it's good to avoid dependencies where we can. -//! -//! # Basic Usage -//! -//! The basic components of this library are [`Parser`]s, which parse [`Input`]s and produce -//! [`ParseResult`]s. `Input` is a combination of an `&[u8]` which is the incoming data along with -//! the position it has read up to in the data. `Parser` is a trait but has a blanket `impl` for -//! `FnMut(Input<'a>) -> ParseResult<'a, O, E>` so in practice you can think of parsers as a -//! function which takes some input and returns a result plus any remaining input. This final part -//! is encapsulated by the `ParseResult` which is a type alias for a `Result`. This means that -//! typical usage will look something like this: -//! -//! ```rust,ignore -//! use automerge::storage::parse::{ParseResult, take_1}; -//! fn do_something<'a>(input: Input<'a>) -> ParseResult<'a, [u8; 3], ()> { -//! let (i, a) = take_1::<()>(input)?; -//! let (i, b) = take_1::<()>(i)?; -//! let (i, c) = take_1::<()>(i)?; -//! let result = [a, b, c]; -//! Ok((i, result)) -//! } -//! -//! let input = Input::new(&[b"12345"]); -//! let result = do_something(input); -//! if let Ok((_, result)) = result { -//! assert_eq!(&result, &['1', '2', '3']); -//! } else { -//! panic!(); -//! } -//! ``` -//! -//! Three things to note here: -//! -//! 1. The rebinding of the input (in `i`) after each call to `take_1`, this is how parser state is passed from -//! one call to the next -//! 2. We return a tuple containing the remaining input plus the result -//! 3. `take_1` has a type parameter we must pass to it representing the error type. Generally you -//! don't need to do that as type inference is often good enough. -//! -//! # Errors -//! -//! The error branch of `ParseError` is an enum containing either `ParseError::Incomplete` -//! indicating that with more input we might be able to succeed, or a `ParseError::Error`. The -//! latter branch is where parser specific errors (e.g. "this u8 is not a valid chunk type") are -//! passed. This has implications for returning and handling errors. -//! -//! ## Returning Errors -//! -//! If you want to return an error from a parser you will need to wrap the error in -//! `ParseError::Error`. -//! -//! ```rust,ignore -//! struct MyError; -//! fn my_bad_parser() -> ParseResult<(), MyError> { -//! Err(ParseError::Error(MyError)) -//! } -//! ``` -//! -//! ## Handling Errors -//! -//! Handling errors is generally important when you want to compose parsers with different error -//! types. In this case you will often have an error type you want to map each of the underlying -//! errors into. For this purpose you can use `ParseError::lift` -//! -//! ```rust,ignore -//! # use automerge::parse::{ParseResult, Input}; -//! #[derive(thiserror::Error, Debug)] -//! #[error("this is a bad string")] -//! struct BadString; -//! -//! #[derive(thiserror::Error, Debug)] -//! #[error("this is a bad number")] -//! struct BadNumber; -//! -//! fn parse_string<'a>(input: Input<'a>) -> ParseResult<'a, String, BadString> { -//! Err(ParseError::Error(BadString)) -//! } -//! -//! fn parse_number<'a>(input: Input<'a>) -> ParseResult<'a, u32, BadNumber> { -//! Err(ParseError::Error(BadNumber)) -//! } -//! -//! #[derive(thiserror::Error, Debug)] -//! struct CombinedError{ -//! #[error(transparent)] -//! String(#[from] BadString), -//! #[error(transparent)] -//! Number(#[from] BadNumber), -//! } -//! -//! fn parse_string_then_number<'a>(input: Input<'a>) -> ParseResult<'a, (String, u32), CombinedError> { -//! // Note the `e.lift()` here, this works because of the `From` impl generated by -//! // `thiserror::Error` -//! let (i, thestring) = parse_string(input).map_err(|e| e.lift())?; -//! let (i, thenumber) = parse_number(i).map_err(|e| e.lift())?; -//! Ok((i, (thestring, thenumber))) -//! } -//! ``` - -use core::num::NonZeroUsize; -use std::convert::TryInto; - -pub(crate) mod leb128; -use crate::{ActorId, ChangeHash}; - -const HASH_SIZE: usize = 32; // 256 bits = 32 bytes - -#[allow(unused_imports)] -pub(crate) use self::leb128::{leb128_i64, leb128_u32, leb128_u64, nonzero_leb128_u64}; - -pub(crate) type ParseResult<'a, O, E> = Result<(Input<'a>, O), ParseError>; - -/// The input to be parsed. This is a combination of an underlying slice, plus an offset into that -/// slice. Consequently it is very cheap to copy. -#[derive(PartialEq, Clone, Copy)] -pub(crate) struct Input<'a> { - bytes: &'a [u8], - position: usize, - original: &'a [u8], -} - -impl<'a> std::fmt::Debug for Input<'a> { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!( - f, - "Input(len: {}, position: {}, original_len: {})", - self.bytes.len(), - self.position, - self.original.len() - ) - } -} - -impl<'a> Input<'a> { - pub(crate) fn new(bytes: &'a [u8]) -> Self { - Self { - bytes, - position: 0, - original: bytes, - } - } - - #[cfg(test)] - pub(in crate::storage::parse) fn with_position(bytes: &'a [u8], position: usize) -> Input<'a> { - let remaining = &bytes[position..]; - Self { - bytes: remaining, - position, - original: bytes, - } - } - - pub(crate) fn empty() -> Self { - Self { - bytes: &[], - position: 0, - original: &[], - } - } - - fn take_1(&self) -> ParseResult<'a, u8, E> { - if let Some(need) = NonZeroUsize::new(1_usize.saturating_sub(self.bytes.len())) { - Err(ParseError::Incomplete(Needed::Size(need))) - } else { - let (result, remaining) = self.bytes.split_at(1); - let new_input = Input { - bytes: remaining, - original: self.original, - position: self.position + 1, - }; - Ok((new_input, result[0])) - } - } - - fn take_n(&self, n: usize) -> ParseResult<'a, &'a [u8], E> { - if let Some(need) = NonZeroUsize::new(n.saturating_sub(self.bytes.len())) { - Err(ParseError::Incomplete(Needed::Size(need))) - } else { - let (result, remaining) = self.bytes.split_at(n); - let new_input = Input { - bytes: remaining, - original: self.original, - position: self.position + n, - }; - Ok((new_input, result)) - } - } - - fn take_4(&self) -> ParseResult<'a, [u8; 4], E> { - if let Some(need) = NonZeroUsize::new(4_usize.saturating_sub(self.bytes.len())) { - Err(ParseError::Incomplete(Needed::Size(need))) - } else { - let (result, remaining) = self.bytes.split_at(4); - let new_input = Input { - bytes: remaining, - original: self.original, - position: self.position + 4, - }; - Ok((new_input, result.try_into().expect("we checked the length"))) - } - } - - fn range_of(&self, mut parser: P) -> ParseResult<'a, RangeOf, E> - where - P: Parser<'a, R, E>, - { - let (new_input, value) = parser.parse(*self)?; - let range = self.position..new_input.position; - Ok((new_input, RangeOf { range, value })) - } - - fn rest(&self) -> ParseResult<'a, &'a [u8], E> { - let position = self.position + self.bytes.len(); - let new_input = Self { - position, - original: self.original, - bytes: &[], - }; - Ok((new_input, self.bytes)) - } - - fn truncate(&self, length: usize) -> Input<'a> { - let length = if length > self.bytes.len() { - self.bytes.len() - } else { - length - }; - Input { - bytes: &self.bytes[..length], - position: self.position, - original: &self.original[..(self.position + length)], - } - } - - fn skip(&self, length: usize) -> Input<'a> { - if length > self.bytes.len() { - Input { - bytes: &[], - position: self.bytes.len(), - original: self.original, - } - } else { - Input { - bytes: &self.bytes[length..], - position: self.position + length, - original: &self.original[(self.position + length)..], - } - } - } - - /// Split this input into two separate inputs, the first is the same as the current input but - /// with the remaining unconsumed_bytes set to at most length. The remaining `Input` is the bytes - /// after `length`. - /// - /// This is useful if you are parsing input which contains length delimited chunks. In this - /// case you may have a single input where you parse a header, then you want to parse the - /// current input up until the length and then parse the next chunk from the remainign input. - /// For example: - /// - /// ```rust,ignore - /// # use automerge::storage::parse::{Input, ParseResult}; - /// - /// fn parse_chunk(input: Input<'_>) -> ParseResult<(), ()> { - /// Ok(()) - /// } - /// - /// # fn main() -> ParseResult<(), ()> { - /// let incoming_bytes: &[u8] = todo!(); - /// let mut input = Input::new(incoming_bytes); - /// let mut chunks = Vec::new(); - /// while !input.is_empty() { - /// let (i, chunk_len) = leb128_u64(input)?; - /// let Split{first: i, remaining} = i.split(chunk_len); - /// // Note that here, the `i` we pass into `parse_chunk` has already parsed the header, - /// // so the logic of the `parse_chunk` function doesn't need to reimplement the header - /// // parsing - /// let (i, chunk) = parse_chunk(i)?; - /// let input = remaining; - /// } - /// parse_chunk(i); - /// # } - /// ``` - pub(crate) fn split(&self, length: usize) -> Split<'a> { - Split { - first: self.truncate(length), - remaining: self.skip(length), - } - } - - /// Return a new `Input` which forgets about the consumed input. The new `Input` will have it's - /// position set to 0. This is equivalent to `Input::new(self.bytes())` - pub(crate) fn reset(&self) -> Input<'a> { - Input::new(self.bytes) - } - - /// Check if there are any more bytes left to consume - pub(crate) fn is_empty(&self) -> bool { - self.bytes.is_empty() - } - - /// The bytes which have not yet been consumed - pub(crate) fn unconsumed_bytes(&self) -> &'a [u8] { - self.bytes - } - - /// The bytes behind this input - including bytes which have been consumed - #[allow(clippy::misnamed_getters)] - pub(crate) fn bytes(&self) -> &'a [u8] { - self.original - } -} - -/// Returned by [`Input::split`] -pub(crate) struct Split<'a> { - /// The input up to the length passed to `split`. This is identical to the original input - /// except that [`Input::bytes`] and [`Input::unconsumed_bytes`] will only return the original - /// input up to `length` bytes from the point at which `split` was called. - pub(crate) first: Input<'a>, - /// The remaining input after the length passed to `split`. This is equivalent to - /// - /// ```rust,ignore - /// # use automerge::storage::parse::Input; - /// # let split_length = 1; - /// let original_input = todo!(); - /// Input::new(original_input.bytes()[split_length..]) - /// ``` - pub(crate) remaining: Input<'a>, -} - -pub(crate) trait Parser<'a, O, E> { - fn parse(&mut self, input: Input<'a>) -> ParseResult<'a, O, E>; -} - -impl<'a, O, F, E> Parser<'a, O, E> for F -where - F: FnMut(Input<'a>) -> ParseResult<'a, O, E>, -{ - fn parse(&mut self, input: Input<'a>) -> ParseResult<'a, O, E> { - (self)(input) - } -} - -#[derive(Clone, Debug, PartialEq)] -pub(crate) enum ParseError { - /// Some application specific error occurred - Error(E), - /// A combinator requested more data than we have available - Incomplete(Needed), -} - -impl ParseError { - /// Convert any underlying `E` into `F`. This is useful when you are composing parsers - pub(crate) fn lift(self) -> ParseError - where - F: From, - { - match self { - Self::Error(e) => ParseError::Error(F::from(e)), - Self::Incomplete(n) => ParseError::Incomplete(n), - } - } -} - -impl std::fmt::Display for ParseError { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - match self { - Self::Error(e) => write!(f, "{}", e), - Self::Incomplete(_) => write!(f, "not enough data"), - } - } -} - -impl std::error::Error for ParseError {} - -/// How much more input we need -#[derive(Clone, Debug, PartialEq)] -pub(crate) enum Needed { - /// We don't know how much more - #[allow(dead_code)] - Unknown, - /// We need _at least_ this much more - Size(NonZeroUsize), -} - -/// Map the function `f` over the result of `parser` returning a new parser -pub(crate) fn map<'a, O1, O2, F, G, Er>( - mut parser: F, - mut f: G, -) -> impl FnMut(Input<'a>) -> ParseResult<'a, O2, Er> -where - F: Parser<'a, O1, Er>, - G: FnMut(O1) -> O2, -{ - move |input: Input<'a>| { - let (input, o1) = parser.parse(input)?; - Ok((input, f(o1))) - } -} - -/// Pull one byte from the input -pub(crate) fn take1(input: Input<'_>) -> ParseResult<'_, u8, E> { - input.take_1() -} - -/// Parse an array of four bytes from the input -pub(crate) fn take4(input: Input<'_>) -> ParseResult<'_, [u8; 4], E> { - input.take_4() -} - -/// Parse a slice of length `n` from `input` -pub(crate) fn take_n(n: usize, input: Input<'_>) -> ParseResult<'_, &[u8], E> { - input.take_n(n) -} - -/// Parse a length prefixed collection of `g` -/// -/// This first parses a LEB128 encoded `u64` from the input, then applies the parser `g` this many -/// times, returning the result in a `Vec`. -pub(crate) fn length_prefixed<'a, G, O, Er>( - mut g: G, -) -> impl FnMut(Input<'a>) -> ParseResult<'a, Vec, Er> -where - G: Parser<'a, O, Er>, - Er: From, -{ - move |input: Input<'a>| { - let (i, count) = leb128_u64(input).map_err(|e| e.lift())?; - let mut res = Vec::new(); - let mut input = i; - for _ in 0..count { - match g.parse(input) { - Ok((i, e)) => { - input = i; - res.push(e); - } - Err(e) => { - return Err(e); - } - } - } - Ok((input, res)) - } -} - -/// Parse a length prefixed array of bytes from the input -/// -/// This first parses a LEB128 encoded `u64` from the input, then parses this many bytes from the -/// underlying input. -pub(crate) fn length_prefixed_bytes(input: Input<'_>) -> ParseResult<'_, &[u8], E> -where - E: From, -{ - let (i, len) = leb128_u64(input).map_err(|e| e.lift())?; - take_n(len as usize, i) -} - -/// Apply two parsers, returning the result in a 2 tuple -/// -/// This first applies `f`, then `g` and returns the result as `(f, g)`. -pub(super) fn tuple2<'a, F, E, G, H, Er>( - mut f: F, - mut g: G, -) -> impl FnMut(Input<'a>) -> ParseResult<'_, (E, H), Er> -where - F: Parser<'a, E, Er>, - G: Parser<'a, H, Er>, -{ - move |input: Input<'a>| { - let (i, one) = f.parse(input)?; - let (i, two) = g.parse(i)?; - Ok((i, (one, two))) - } -} - -/// Apply the parser `f` `n` times and reutrn the result in a `Vec` -pub(super) fn apply_n<'a, F, E, Er>( - n: usize, - mut f: F, -) -> impl FnMut(Input<'a>) -> ParseResult<'_, Vec, Er> -where - F: Parser<'a, E, Er>, -{ - move |input: Input<'a>| { - let mut i = input; - let mut result = Vec::new(); - for _ in 0..n { - let (new_i, e) = f.parse(i)?; - result.push(e); - i = new_i; - } - Ok((i, result)) - } -} - -/// Parse a length prefixed actor ID -/// -/// This first parses a LEB128 encoded u64 from the input, then the corresponding number of bytes -/// which are returned wrapped in an `ActorId` -pub(crate) fn actor_id(input: Input<'_>) -> ParseResult<'_, ActorId, E> -where - E: From, -{ - let (i, length) = leb128_u64(input).map_err(|e| e.lift())?; - let (i, bytes) = take_n(length as usize, i)?; - Ok((i, bytes.into())) -} - -/// Parse a change hash. -/// -/// This is just a nice wrapper around `take_4` -pub(crate) fn change_hash(input: Input<'_>) -> ParseResult<'_, ChangeHash, E> { - let (i, bytes) = take_n(HASH_SIZE, input)?; - let byte_arr: ChangeHash = bytes.try_into().expect("we checked the length above"); - Ok((i, byte_arr)) -} - -#[derive(thiserror::Error, Debug)] -#[error("invalid UTF-8")] -pub(crate) struct InvalidUtf8; - -/// Parse a length prefixed UTF-8 string -/// -/// This first parses a LEB128 encode `u64` from the input, then parses this many bytes from the -/// input before attempting to convert these bytes into a `String`, returning -/// `ParseError::Error(InvalidUtf8)` if that fails. -pub(crate) fn utf_8(len: usize, input: Input<'_>) -> ParseResult<'_, String, E> -where - E: From, -{ - let (i, bytes) = take_n(len, input)?; - let result = String::from_utf8(bytes.to_vec()) - .map_err(|_| ParseError::Error(InvalidUtf8)) - .map_err(|e| e.lift())?; - Ok((i, result)) -} - -/// Returned from `range_of` -pub(crate) struct RangeOf { - /// The range in the input where we parsed from - pub(crate) range: std::ops::Range, - /// The value we parsed - pub(crate) value: T, -} - -/// Evaluate `parser` and then return the value parsed, as well as the range in the input which we -/// just parsed. -/// -/// This is useful when you want to parse some data from an input in order to check that is valid, -/// but you will also be holding on to the input data and want to know where in the input data the -/// valid data was parsed from. -/// -/// # Example -/// -/// Imagine that we are parsing records of some kind from a file, as well as parsing the record we -/// want to record the offset in the file where the record is so we can update it in place. -/// -/// ```rust,ignore -/// # use automerge::storage::parse::{ParseResult, Input}; -/// struct Message; -/// struct Record { -/// message: Message, -/// location: std::ops::Range -/// } -/// -/// fn parse_message<'a>(input: Input<'a>) -> ParseResult<'a, Message, ()> { -/// unimplemented!() -/// } -/// -/// fn parse_record<'a>(input: Input<'a>) -> ParseResult<'a, Record, ()> { -/// let (i, RangeOf{range: location, value: message}) = range_of(|i| parse_message(i), i)?; -/// Ok((i, Record { -/// location, // <- this is the location in the input where the message was parsed from -/// message, -/// })) -/// } -/// -/// let file_contents: Vec = unimplemented!(); -/// let input = Input::new(&file_contents); -/// let record = parse_record(input).unwrap().1; -/// ``` -pub(crate) fn range_of<'a, P, R, E>(parser: P, input: Input<'a>) -> ParseResult<'a, RangeOf, E> -where - P: Parser<'a, R, E>, -{ - input.range_of(parser) -} - -/// Parse all the remaining input from the parser. This can never fail -pub(crate) fn take_rest(input: Input<'_>) -> ParseResult<'_, &'_ [u8], E> { - input.rest() -} diff --git a/rust/automerge/src/storage/parse/leb128.rs b/rust/automerge/src/storage/parse/leb128.rs deleted file mode 100644 index 9f5e72a2..00000000 --- a/rust/automerge/src/storage/parse/leb128.rs +++ /dev/null @@ -1,302 +0,0 @@ -use std::num::NonZeroU64; - -use super::{take1, Input, ParseError, ParseResult}; - -#[derive(PartialEq, thiserror::Error, Debug, Clone)] -pub(crate) enum Error { - #[error("leb128 was too large for the destination type")] - Leb128TooLarge, - #[error("leb128 was improperly encoded")] - Leb128Overlong, - #[error("leb128 was zero when it was expected to be nonzero")] - UnexpectedZero, -} - -pub(crate) fn leb128_u64(input: Input<'_>) -> ParseResult<'_, u64, E> -where - E: From, -{ - let mut res = 0; - let mut shift = 0; - let mut input = input; - - loop { - let (i, byte) = take1(input)?; - input = i; - res |= ((byte & 0x7F) as u64) << shift; - shift += 7; - - if (byte & 0x80) == 0 { - if shift > 64 && byte > 1 { - return Err(ParseError::Error(Error::Leb128TooLarge.into())); - } else if shift > 7 && byte == 0 { - return Err(ParseError::Error(Error::Leb128Overlong.into())); - } - return Ok((input, res)); - } else if shift > 64 { - return Err(ParseError::Error(Error::Leb128TooLarge.into())); - } - } -} - -pub(crate) fn leb128_i64(input: Input<'_>) -> ParseResult<'_, i64, E> -where - E: From, -{ - let mut res = 0; - let mut shift = 0; - - let mut input = input; - let mut prev = 0; - loop { - let (i, byte) = take1(input)?; - input = i; - res |= ((byte & 0x7F) as i64) << shift; - shift += 7; - - if (byte & 0x80) == 0 { - if shift > 64 && byte != 0 && byte != 0x7f { - // the 10th byte (if present) must contain only the sign-extended sign bit - return Err(ParseError::Error(Error::Leb128TooLarge.into())); - } else if shift > 7 - && ((byte == 0 && prev & 0x40 == 0) || (byte == 0x7f && prev & 0x40 > 0)) - { - // overlong if the sign bit of penultimate byte has been extended - return Err(ParseError::Error(Error::Leb128Overlong.into())); - } else if shift < 64 && byte & 0x40 > 0 { - // sign extend negative numbers - res |= -1 << shift; - } - return Ok((input, res)); - } else if shift > 64 { - return Err(ParseError::Error(Error::Leb128TooLarge.into())); - } - prev = byte; - } -} - -pub(crate) fn leb128_u32(input: Input<'_>) -> ParseResult<'_, u32, E> -where - E: From, -{ - let (i, num) = leb128_u64(input)?; - let result = u32::try_from(num).map_err(|_| ParseError::Error(Error::Leb128TooLarge.into()))?; - Ok((i, result)) -} - -/// Parse a LEB128 encoded u64 from the input, throwing an error if it is `0` -pub(crate) fn nonzero_leb128_u64(input: Input<'_>) -> ParseResult<'_, NonZeroU64, E> -where - E: From, -{ - let (input, num) = leb128_u64(input)?; - let result = - NonZeroU64::new(num).ok_or_else(|| ParseError::Error(Error::UnexpectedZero.into()))?; - Ok((input, result)) -} - -#[cfg(test)] -mod tests { - use super::super::Needed; - use super::*; - use std::num::NonZeroUsize; - - const NEED_ONE: Needed = Needed::Size(unsafe { NonZeroUsize::new_unchecked(1) }); - - #[test] - fn leb_128_u64() { - let one = &[0b00000001_u8]; - let one_two_nine = &[0b10000001, 0b00000001]; - let one_and_more = &[0b00000001, 0b00000011]; - - let scenarios: Vec<(&'static [u8], ParseResult<'_, u64, Error>)> = vec![ - (one, Ok((Input::with_position(one, 1), 1))), - ( - one_two_nine, - Ok((Input::with_position(one_two_nine, 2), 129)), - ), - (one_and_more, Ok((Input::with_position(one_and_more, 1), 1))), - ]; - for (index, (input, expected)) in scenarios.clone().into_iter().enumerate() { - let result = leb128_u64(Input::new(input)); - if result != expected { - panic!( - "Scenario {} failed for u64: expected {:?} got {:?}", - index + 1, - expected, - result - ); - } - } - - let error_cases: Vec<(&'static str, &'static [u8], ParseError<_>)> = vec![ - ( - "too many bytes", - &[129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129], - ParseError::Error(Error::Leb128TooLarge), - ), - ( - "too many bits", - &[129, 129, 129, 129, 129, 129, 129, 129, 129, 2], - ParseError::Error(Error::Leb128TooLarge), - ), - ( - "overlong encoding", - &[129, 0], - ParseError::Error(Error::Leb128Overlong), - ), - ("missing data", &[255], ParseError::Incomplete(NEED_ONE)), - ]; - error_cases.into_iter().for_each(|(desc, input, expected)| { - match leb128_u64::(Input::new(input)) { - Ok((_, x)) => panic!("leb128_u64 should fail with {}, got {}", desc, x), - Err(error) => { - if error != expected { - panic!("leb128_u64 should fail with {}, got {}", expected, error) - } - } - } - }); - - let success_cases: Vec<(&'static [u8], u64)> = vec![ - (&[0], 0), - (&[0x7f], 127), - (&[0x80, 0x01], 128), - (&[0xff, 0x7f], 16383), - ( - &[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1], - u64::MAX, - ), - ]; - success_cases.into_iter().for_each(|(input, expected)| { - match leb128_u64::(Input::new(input)) { - Ok((_, x)) => { - if x != expected { - panic!("leb128_u64 should succeed with {}, got {}", expected, x) - } - } - Err(error) => panic!("leb128_u64 should succeed with {}, got {}", expected, error), - } - }); - } - - #[test] - fn leb_128_u32() { - let error_cases: Vec<(&'static str, &'static [u8], ParseError<_>)> = vec![ - ( - "too many bytes", - &[129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129], - ParseError::Error(Error::Leb128TooLarge), - ), - ( - "too many bits", - &[0xff, 0xff, 0xff, 0xff, 0x1f], - ParseError::Error(Error::Leb128TooLarge), - ), - ( - "overlong encoding", - &[129, 0], - ParseError::Error(Error::Leb128Overlong), - ), - ("missing data", &[0xaa], ParseError::Incomplete(NEED_ONE)), - ]; - error_cases.into_iter().for_each(|(desc, input, expected)| { - match leb128_u32::(Input::new(input)) { - Ok((_, x)) => panic!("leb128_u32 should fail with {}, got {}", desc, x), - Err(error) => { - if error != expected { - panic!("leb128_u32 should fail with {}, got {}", expected, error) - } - } - } - }); - - let success_cases: Vec<(&'static [u8], u32)> = vec![ - (&[0], 0), - (&[0x7f], 127), - (&[0x80, 0x01], 128), - (&[0xff, 0x7f], 16383), - (&[0xff, 0xff, 0xff, 0xff, 0x0f], u32::MAX), - ]; - success_cases.into_iter().for_each(|(input, expected)| { - match leb128_u32::(Input::new(input)) { - Ok((_, x)) => { - if x != expected { - panic!("leb128_u32 should succeed with {}, got {}", expected, x) - } - } - Err(error) => panic!("leb128_u64 should succeed with {}, got {}", expected, error), - } - }); - } - - #[test] - fn leb_128_i64() { - let error_cases: Vec<(&'static str, &'static [u8], ParseError<_>)> = vec![ - ( - "too many bytes", - &[129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129], - ParseError::Error(Error::Leb128TooLarge), - ), - ( - "too many positive bits", - &[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01], - ParseError::Error(Error::Leb128TooLarge), - ), - ( - "too many negative bits", - &[0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e], - ParseError::Error(Error::Leb128TooLarge), - ), - ( - "overlong positive encoding", - &[0xbf, 0], - ParseError::Error(Error::Leb128Overlong), - ), - ( - "overlong negative encoding", - &[0x81, 0xff, 0x7f], - ParseError::Error(Error::Leb128Overlong), - ), - ("missing data", &[0x90], ParseError::Incomplete(NEED_ONE)), - ]; - error_cases.into_iter().for_each(|(desc, input, expected)| { - match leb128_i64::(Input::new(input)) { - Ok((_, x)) => panic!("leb128_i64 should fail with {}, got {}", desc, x), - Err(error) => { - if error != expected { - panic!("leb128_i64 should fail with {}, got {}", expected, error) - } - } - } - }); - - let success_cases: Vec<(&'static [u8], i64)> = vec![ - (&[0], 0), - (&[0x7f], -1), - (&[0x3f], 63), - (&[0x40], -64), - (&[0x80, 0x01], 128), - (&[0xff, 0x3f], 8191), - (&[0x80, 0x40], -8192), - ( - &[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0], - i64::MAX, - ), - ( - &[0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f], - i64::MIN, - ), - ]; - success_cases.into_iter().for_each(|(input, expected)| { - match leb128_i64::(Input::new(input)) { - Ok((_, x)) => { - if x != expected { - panic!("leb128_i64 should succeed with {}, got {}", expected, x) - } - } - Err(error) => panic!("leb128_u64 should succeed with {}, got {}", expected, error), - } - }); - } -} diff --git a/rust/automerge/src/storage/save.rs b/rust/automerge/src/storage/save.rs deleted file mode 100644 index 4921bd35..00000000 --- a/rust/automerge/src/storage/save.rs +++ /dev/null @@ -1,2 +0,0 @@ -mod document; -pub(crate) use document::save_document; diff --git a/rust/automerge/src/storage/save/document.rs b/rust/automerge/src/storage/save/document.rs deleted file mode 100644 index f27d920d..00000000 --- a/rust/automerge/src/storage/save/document.rs +++ /dev/null @@ -1,146 +0,0 @@ -use std::{borrow::Cow, collections::BTreeMap, iter::Iterator}; - -use crate::{ - indexed_cache::IndexedCache, - storage::{ - change::DEFLATE_MIN_SIZE, convert::op_as_docop, AsChangeMeta, CompressConfig, Document, - }, - types::{ActorId, ObjId, Op}, - Change, ChangeHash, -}; - -/// # Panics -/// -/// * If any of the `heads` are not in `changes` -/// * If any of ops in `ops` reference an actor which is not in `actors` -/// * If any of ops in `ops` reference a property which is not in `props` -/// * If any of the changes reference a dependency index which is not in `changes` -#[tracing::instrument(skip(changes, ops, actors, props, config))] -pub(crate) fn save_document<'a, I, O>( - changes: I, - ops: O, - actors: &'a IndexedCache, - props: &IndexedCache, - heads: &[ChangeHash], - config: Option, -) -> Vec -where - I: Iterator + Clone + 'a, - O: Iterator + Clone + ExactSizeIterator, -{ - let actor_lookup = actors.encode_index(); - let doc_ops = ops.map(|(obj, op)| op_as_docop(&actor_lookup, props, obj, op)); - - let hash_graph = HashGraph::new(changes.clone()); - let changes = changes.map(|c| ChangeWithGraph { - actors, - actor_lookup: &actor_lookup, - change: c, - graph: &hash_graph, - }); - - let doc = Document::new( - actors.sorted().cache, - hash_graph.heads_with_indices(heads.to_vec()), - doc_ops, - changes, - config.unwrap_or(CompressConfig::Threshold(DEFLATE_MIN_SIZE)), - ); - doc.into_bytes() -} - -struct HashGraph { - index_by_hash: BTreeMap, -} - -impl HashGraph { - fn new<'a, I>(changes: I) -> Self - where - I: Iterator, - { - let mut index_by_hash = BTreeMap::new(); - for (index, change) in changes.enumerate() { - index_by_hash.insert(change.hash(), index); - } - Self { index_by_hash } - } - - fn change_index(&self, hash: &ChangeHash) -> usize { - self.index_by_hash[hash] - } - - fn heads_with_indices(&self, heads: Vec) -> Vec<(ChangeHash, usize)> { - heads - .into_iter() - .map(|h| (h, self.index_by_hash[&h])) - .collect() - } -} - -struct ChangeWithGraph<'a> { - change: &'a Change, - graph: &'a HashGraph, - actor_lookup: &'a [usize], - actors: &'a IndexedCache, -} - -impl<'a> AsChangeMeta<'a> for ChangeWithGraph<'a> { - type DepsIter = ChangeDepsIter<'a>; - - fn actor(&self) -> u64 { - self.actor_lookup[self.actors.lookup(self.change.actor_id()).unwrap()] as u64 - } - - fn seq(&self) -> u64 { - self.change.seq() - } - - fn deps(&self) -> Self::DepsIter { - ChangeDepsIter { - change: self.change, - graph: self.graph, - offset: 0, - } - } - - fn extra(&self) -> Cow<'a, [u8]> { - self.change.extra_bytes().into() - } - - fn max_op(&self) -> u64 { - self.change.max_op() - } - - fn message(&self) -> Option> { - self.change.message().map(|m| Cow::Owned(m.into())) - } - - fn timestamp(&self) -> i64 { - self.change.timestamp() - } -} - -struct ChangeDepsIter<'a> { - change: &'a Change, - graph: &'a HashGraph, - offset: usize, -} - -impl<'a> ExactSizeIterator for ChangeDepsIter<'a> { - fn len(&self) -> usize { - self.change.deps().len() - } -} - -impl<'a> Iterator for ChangeDepsIter<'a> { - type Item = u64; - - fn next(&mut self) -> Option { - if let Some(dep) = self.change.deps().get(self.offset) { - self.offset += 1; - Some(self.graph.change_index(dep) as u64) - } else { - None - } - } -} diff --git a/rust/automerge/src/sync.rs b/rust/automerge/src/sync.rs deleted file mode 100644 index d6dc2580..00000000 --- a/rust/automerge/src/sync.rs +++ /dev/null @@ -1,963 +0,0 @@ -//! # Sync Protocol -//! -//! The sync protocol is based on this paper: -//! , it assumes a reliable in-order stream -//! between two peers who are synchronizing a document. -//! -//! Each peer maintains a [`State`] for each peer they are synchronizing with. -//! This state tracks things like what the heads of the other peer are and -//! whether there are in-flight messages. Anything which implements [`SyncDoc`] -//! can take part in the sync protocol. The flow goes something like this: -//! -//! * The initiating peer creates an empty [`State`] and then calls -//! [`SyncDoc::generate_sync_message`] to generate new sync message and sends -//! it to the receiving peer. -//! * The receiving peer receives a message from the initiator, creates a new -//! [`State`], and calls [`SyncDoc::receive_sync_message`] on it's view of the -//! document -//! * The receiving peer then calls [`SyncDoc::generate_sync_message`] to generate -//! a new sync message and send it back to the initiator -//! * From this point on each peer operates in a loop, receiving a sync message -//! from the other peer and then generating a new message to send back. -//! -//! ## Example -//! -//! ``` -//! use automerge::{transaction::Transactable, sync::{self, SyncDoc}, ReadDoc}; -//! # fn main() -> Result<(), automerge::AutomergeError> { -//! // Create a document on peer1 -//! let mut peer1 = automerge::AutoCommit::new(); -//! peer1.put(automerge::ROOT, "key", "value")?; -//! -//! // Create a state to track our sync with peer2 -//! let mut peer1_state = sync::State::new(); -//! // Generate the initial message to send to peer2, unwrap for brevity -//! let message1to2 = peer1.sync().generate_sync_message(&mut peer1_state).unwrap(); -//! -//! // We receive the message on peer2. We don't have a document at all yet -//! // so we create one -//! let mut peer2 = automerge::AutoCommit::new(); -//! // We don't have a state for peer1 (it's a new connection), so we create one -//! let mut peer2_state = sync::State::new(); -//! // Now receive the message from peer 1 -//! peer2.sync().receive_sync_message(&mut peer2_state, message1to2)?; -//! -//! // Now we loop, sending messages from one to two and two to one until -//! // neither has anything new to send -//! -//! loop { -//! let two_to_one = peer2.sync().generate_sync_message(&mut peer2_state); -//! if let Some(message) = two_to_one.as_ref() { -//! println!("two to one"); -//! peer1.sync().receive_sync_message(&mut peer1_state, message.clone())?; -//! } -//! let one_to_two = peer1.sync().generate_sync_message(&mut peer1_state); -//! if let Some(message) = one_to_two.as_ref() { -//! println!("one to two"); -//! peer2.sync().receive_sync_message(&mut peer2_state, message.clone())?; -//! } -//! if two_to_one.is_none() && one_to_two.is_none() { -//! break; -//! } -//! } -//! -//! assert_eq!(peer2.get(automerge::ROOT, "key")?.unwrap().0.to_str(), Some("value")); -//! -//! # Ok(()) -//! # } -//! ``` - -use itertools::Itertools; -use serde::ser::SerializeMap; -use std::collections::{HashMap, HashSet}; - -use crate::{ - storage::{parse, Change as StoredChange, ReadChangeOpError}, - Automerge, AutomergeError, Change, ChangeHash, OpObserver, ReadDoc, -}; - -mod bloom; -mod state; - -pub use bloom::{BloomFilter, DecodeError as DecodeBloomError}; -pub use state::DecodeError as DecodeStateError; -pub use state::{Have, State}; - -/// A document which can take part in the sync protocol -/// -/// See the [module level documentation](crate::sync) for more details. -pub trait SyncDoc { - /// Generate a sync message for the remote peer represented by `sync_state` - /// - /// If this returns `None` then there are no new messages to send, either because we are - /// waiting for an acknolwedgement of an in-flight message, or because the remote is up to - /// date. - fn generate_sync_message(&self, sync_state: &mut State) -> Option; - - /// Apply a received sync message to this document and `sync_state` - fn receive_sync_message( - &mut self, - sync_state: &mut State, - message: Message, - ) -> Result<(), AutomergeError>; - - /// Apply a received sync message to this document and `sync_state`, observing any changes with - /// `op_observer` - fn receive_sync_message_with( - &mut self, - sync_state: &mut State, - message: Message, - op_observer: &mut Obs, - ) -> Result<(), AutomergeError>; -} - -const MESSAGE_TYPE_SYNC: u8 = 0x42; // first byte of a sync message, for identification - -impl SyncDoc for Automerge { - fn generate_sync_message(&self, sync_state: &mut State) -> Option { - let our_heads = self.get_heads(); - - let our_need = self.get_missing_deps(sync_state.their_heads.as_ref().unwrap_or(&vec![])); - - let their_heads_set = if let Some(ref heads) = sync_state.their_heads { - heads.iter().collect::>() - } else { - HashSet::new() - }; - let our_have = if our_need.iter().all(|hash| their_heads_set.contains(hash)) { - vec![self.make_bloom_filter(sync_state.shared_heads.clone())] - } else { - Vec::new() - }; - - if let Some(ref their_have) = sync_state.their_have { - if let Some(first_have) = their_have.first().as_ref() { - if !first_have - .last_sync - .iter() - .all(|hash| self.get_change_by_hash(hash).is_some()) - { - let reset_msg = Message { - heads: our_heads, - need: Vec::new(), - have: vec![Have::default()], - changes: Vec::new(), - }; - return Some(reset_msg); - } - } - } - - let changes_to_send = if let (Some(their_have), Some(their_need)) = ( - sync_state.their_have.as_ref(), - sync_state.their_need.as_ref(), - ) { - self.get_changes_to_send(their_have, their_need) - .expect("Should have only used hashes that are in the document") - } else { - Vec::new() - }; - - let heads_unchanged = sync_state.last_sent_heads == our_heads; - - let heads_equal = if let Some(their_heads) = sync_state.their_heads.as_ref() { - their_heads == &our_heads - } else { - false - }; - - // deduplicate the changes to send with those we have already sent and clone it now - let changes_to_send = changes_to_send - .into_iter() - .filter_map(|change| { - if !sync_state.sent_hashes.contains(&change.hash()) { - Some(change.clone()) - } else { - None - } - }) - .collect::>(); - - if heads_unchanged { - if heads_equal && changes_to_send.is_empty() { - return None; - } - if sync_state.in_flight { - return None; - } - } - - sync_state.last_sent_heads = our_heads.clone(); - sync_state - .sent_hashes - .extend(changes_to_send.iter().map(|c| c.hash())); - - let sync_message = Message { - heads: our_heads, - have: our_have, - need: our_need, - changes: changes_to_send, - }; - - sync_state.in_flight = true; - Some(sync_message) - } - - fn receive_sync_message( - &mut self, - sync_state: &mut State, - message: Message, - ) -> Result<(), AutomergeError> { - self.do_receive_sync_message::<()>(sync_state, message, None) - } - - fn receive_sync_message_with( - &mut self, - sync_state: &mut State, - message: Message, - op_observer: &mut Obs, - ) -> Result<(), AutomergeError> { - self.do_receive_sync_message(sync_state, message, Some(op_observer)) - } -} - -impl Automerge { - fn make_bloom_filter(&self, last_sync: Vec) -> Have { - let new_changes = self - .get_changes(&last_sync) - .expect("Should have only used hashes that are in the document"); - let hashes = new_changes.iter().map(|change| change.hash()); - Have { - last_sync, - bloom: BloomFilter::from_hashes(hashes), - } - } - - fn get_changes_to_send( - &self, - have: &[Have], - need: &[ChangeHash], - ) -> Result, AutomergeError> { - if have.is_empty() { - Ok(need - .iter() - .filter_map(|hash| self.get_change_by_hash(hash)) - .collect()) - } else { - let mut last_sync_hashes = HashSet::new(); - let mut bloom_filters = Vec::with_capacity(have.len()); - - for h in have { - let Have { last_sync, bloom } = h; - last_sync_hashes.extend(last_sync); - bloom_filters.push(bloom); - } - let last_sync_hashes = last_sync_hashes.into_iter().copied().collect::>(); - - let changes = self.get_changes(&last_sync_hashes)?; - - let mut change_hashes = HashSet::with_capacity(changes.len()); - let mut dependents: HashMap> = HashMap::new(); - let mut hashes_to_send = HashSet::new(); - - for change in &changes { - change_hashes.insert(change.hash()); - - for dep in change.deps() { - dependents.entry(*dep).or_default().push(change.hash()); - } - - if bloom_filters - .iter() - .all(|bloom| !bloom.contains_hash(&change.hash())) - { - hashes_to_send.insert(change.hash()); - } - } - - let mut stack = hashes_to_send.iter().copied().collect::>(); - while let Some(hash) = stack.pop() { - if let Some(deps) = dependents.get(&hash) { - for dep in deps { - if hashes_to_send.insert(*dep) { - stack.push(*dep); - } - } - } - } - - let mut changes_to_send = Vec::new(); - for hash in need { - if !hashes_to_send.contains(hash) { - if let Some(change) = self.get_change_by_hash(hash) { - changes_to_send.push(change); - } - } - } - - for change in changes { - if hashes_to_send.contains(&change.hash()) { - changes_to_send.push(change); - } - } - Ok(changes_to_send) - } - } - - fn do_receive_sync_message( - &mut self, - sync_state: &mut State, - message: Message, - op_observer: Option<&mut Obs>, - ) -> Result<(), AutomergeError> { - let before_heads = self.get_heads(); - - let Message { - heads: message_heads, - changes: message_changes, - need: message_need, - have: message_have, - } = message; - - let changes_is_empty = message_changes.is_empty(); - if !changes_is_empty { - self.apply_changes_with(message_changes, op_observer)?; - sync_state.shared_heads = advance_heads( - &before_heads.iter().collect(), - &self.get_heads().into_iter().collect(), - &sync_state.shared_heads, - ); - } - - // trim down the sent hashes to those that we know they haven't seen - self.filter_changes(&message_heads, &mut sync_state.sent_hashes)?; - - if changes_is_empty && message_heads == before_heads { - sync_state.last_sent_heads = message_heads.clone(); - } - - if sync_state.sent_hashes.is_empty() { - sync_state.in_flight = false; - } - - let known_heads = message_heads - .iter() - .filter(|head| self.get_change_by_hash(head).is_some()) - .collect::>(); - if known_heads.len() == message_heads.len() { - sync_state.shared_heads = message_heads.clone(); - sync_state.in_flight = false; - // If the remote peer has lost all its data, reset our state to perform a full resync - if message_heads.is_empty() { - sync_state.last_sent_heads = Default::default(); - sync_state.sent_hashes = Default::default(); - } - } else { - sync_state.shared_heads = sync_state - .shared_heads - .iter() - .chain(known_heads) - .copied() - .unique() - .sorted() - .collect::>(); - } - - sync_state.their_have = Some(message_have); - sync_state.their_heads = Some(message_heads); - sync_state.their_need = Some(message_need); - - Ok(()) - } -} - -#[derive(Debug, thiserror::Error)] -pub enum ReadMessageError { - #[error("expected {expected_one_of:?} but found {found}")] - WrongType { expected_one_of: Vec, found: u8 }, - #[error("{0}")] - Parse(String), - #[error(transparent)] - ReadChangeOps(#[from] ReadChangeOpError), - #[error("not enough input")] - NotEnoughInput, -} - -impl From for ReadMessageError { - fn from(e: parse::leb128::Error) -> Self { - ReadMessageError::Parse(e.to_string()) - } -} - -impl From for ReadMessageError { - fn from(e: bloom::ParseError) -> Self { - ReadMessageError::Parse(e.to_string()) - } -} - -impl From for ReadMessageError { - fn from(e: crate::storage::change::ParseError) -> Self { - ReadMessageError::Parse(format!("error parsing changes: {}", e)) - } -} - -impl From for parse::ParseError { - fn from(e: ReadMessageError) -> Self { - parse::ParseError::Error(e) - } -} - -impl From> for ReadMessageError { - fn from(p: parse::ParseError) -> Self { - match p { - parse::ParseError::Error(e) => e, - parse::ParseError::Incomplete(..) => Self::NotEnoughInput, - } - } -} - -/// The sync message to be sent. -#[derive(Clone, Debug, PartialEq)] -pub struct Message { - /// The heads of the sender. - pub heads: Vec, - /// The hashes of any changes that are being explicitly requested from the recipient. - pub need: Vec, - /// A summary of the changes that the sender already has. - pub have: Vec, - /// The changes for the recipient to apply. - pub changes: Vec, -} - -impl serde::Serialize for Message { - fn serialize(&self, serializer: S) -> Result - where - S: serde::Serializer, - { - let mut map = serializer.serialize_map(Some(4))?; - map.serialize_entry("heads", &self.heads)?; - map.serialize_entry("need", &self.need)?; - map.serialize_entry("have", &self.have)?; - map.serialize_entry( - "changes", - &self - .changes - .iter() - .map(crate::ExpandedChange::from) - .collect::>(), - )?; - map.end() - } -} - -fn parse_have(input: parse::Input<'_>) -> parse::ParseResult<'_, Have, ReadMessageError> { - let (i, last_sync) = parse::length_prefixed(parse::change_hash)(input)?; - let (i, bloom_bytes) = parse::length_prefixed_bytes(i)?; - let (_, bloom) = BloomFilter::parse(parse::Input::new(bloom_bytes)).map_err(|e| e.lift())?; - Ok((i, Have { last_sync, bloom })) -} - -impl Message { - pub fn decode(input: &[u8]) -> Result { - let input = parse::Input::new(input); - match Self::parse(input) { - Ok((_, msg)) => Ok(msg), - Err(parse::ParseError::Error(e)) => Err(e), - Err(parse::ParseError::Incomplete(_)) => Err(ReadMessageError::NotEnoughInput), - } - } - - pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, ReadMessageError> { - let (i, message_type) = parse::take1(input)?; - if message_type != MESSAGE_TYPE_SYNC { - return Err(parse::ParseError::Error(ReadMessageError::WrongType { - expected_one_of: vec![MESSAGE_TYPE_SYNC], - found: message_type, - })); - } - - let (i, heads) = parse::length_prefixed(parse::change_hash)(i)?; - let (i, need) = parse::length_prefixed(parse::change_hash)(i)?; - let (i, have) = parse::length_prefixed(parse_have)(i)?; - - let change_parser = |i| { - let (i, bytes) = parse::length_prefixed_bytes(i)?; - let (_, change) = - StoredChange::parse(parse::Input::new(bytes)).map_err(|e| e.lift())?; - Ok((i, change)) - }; - let (i, stored_changes) = parse::length_prefixed(change_parser)(i)?; - let changes_len = stored_changes.len(); - let changes: Vec = stored_changes - .into_iter() - .try_fold::<_, _, Result<_, ReadMessageError>>( - Vec::with_capacity(changes_len), - |mut acc, stored| { - let change = Change::new_from_unverified(stored.into_owned(), None) - .map_err(ReadMessageError::ReadChangeOps)?; - acc.push(change); - Ok(acc) - }, - )?; - - Ok(( - i, - Message { - heads, - need, - have, - changes, - }, - )) - } - - pub fn encode(mut self) -> Vec { - let mut buf = vec![MESSAGE_TYPE_SYNC]; - - encode_hashes(&mut buf, &self.heads); - encode_hashes(&mut buf, &self.need); - encode_many(&mut buf, self.have.iter(), |buf, h| { - encode_hashes(buf, &h.last_sync); - leb128::write::unsigned(buf, h.bloom.to_bytes().len() as u64).unwrap(); - buf.extend(h.bloom.to_bytes()); - }); - - encode_many(&mut buf, self.changes.iter_mut(), |buf, change| { - leb128::write::unsigned(buf, change.raw_bytes().len() as u64).unwrap(); - buf.extend::<&[u8]>(change.raw_bytes().as_ref()) - }); - - buf - } -} - -fn encode_many<'a, I, It, F>(out: &mut Vec, data: I, f: F) -where - I: Iterator + ExactSizeIterator + 'a, - F: Fn(&mut Vec, It), -{ - leb128::write::unsigned(out, data.len() as u64).unwrap(); - for datum in data { - f(out, datum) - } -} - -fn encode_hashes(buf: &mut Vec, hashes: &[ChangeHash]) { - debug_assert!( - hashes.windows(2).all(|h| h[0] <= h[1]), - "hashes were not sorted" - ); - encode_many(buf, hashes.iter(), |buf, hash| buf.extend(hash.as_bytes())) -} - -fn advance_heads( - my_old_heads: &HashSet<&ChangeHash>, - my_new_heads: &HashSet, - our_old_shared_heads: &[ChangeHash], -) -> Vec { - let new_heads = my_new_heads - .iter() - .filter(|head| !my_old_heads.contains(head)) - .copied() - .collect::>(); - - let common_heads = our_old_shared_heads - .iter() - .filter(|head| my_new_heads.contains(head)) - .copied() - .collect::>(); - - let mut advanced_heads = HashSet::with_capacity(new_heads.len() + common_heads.len()); - for head in new_heads.into_iter().chain(common_heads) { - advanced_heads.insert(head); - } - let mut advanced_heads = advanced_heads.into_iter().collect::>(); - advanced_heads.sort(); - advanced_heads -} - -#[cfg(test)] -mod tests { - use super::*; - use crate::change::gen::gen_change; - use crate::storage::parse::Input; - use crate::transaction::Transactable; - use crate::types::gen::gen_hash; - use crate::ActorId; - use proptest::prelude::*; - - prop_compose! { - fn gen_bloom()(hashes in gen_sorted_hashes(0..10)) -> BloomFilter { - BloomFilter::from_hashes(hashes.into_iter()) - } - } - - prop_compose! { - fn gen_have()(bloom in gen_bloom(), last_sync in gen_sorted_hashes(0..10)) -> Have { - Have { - bloom, - last_sync, - } - } - } - - fn gen_sorted_hashes(size: std::ops::Range) -> impl Strategy> { - proptest::collection::vec(gen_hash(), size).prop_map(|mut h| { - h.sort(); - h - }) - } - - prop_compose! { - fn gen_sync_message()( - heads in gen_sorted_hashes(0..10), - need in gen_sorted_hashes(0..10), - have in proptest::collection::vec(gen_have(), 0..10), - changes in proptest::collection::vec(gen_change(), 0..10), - ) -> Message { - Message { - heads, - need, - have, - changes, - } - } - - } - - #[test] - fn encode_decode_empty_message() { - let msg = Message { - heads: vec![], - need: vec![], - have: vec![], - changes: vec![], - }; - let encoded = msg.encode(); - Message::parse(Input::new(&encoded)).unwrap(); - } - - proptest! { - #[test] - fn encode_decode_message(msg in gen_sync_message()) { - let encoded = msg.clone().encode(); - let (i, decoded) = Message::parse(Input::new(&encoded)).unwrap(); - assert!(i.is_empty()); - assert_eq!(msg, decoded); - } - } - - #[test] - fn generate_sync_message_twice_does_nothing() { - let mut doc = crate::AutoCommit::new(); - doc.put(crate::ROOT, "key", "value").unwrap(); - let mut sync_state = State::new(); - - assert!(doc.sync().generate_sync_message(&mut sync_state).is_some()); - assert!(doc.sync().generate_sync_message(&mut sync_state).is_none()); - } - - #[test] - fn should_not_reply_if_we_have_no_data() { - let mut doc1 = crate::AutoCommit::new(); - let mut doc2 = crate::AutoCommit::new(); - let mut s1 = State::new(); - let mut s2 = State::new(); - let m1 = doc1 - .sync() - .generate_sync_message(&mut s1) - .expect("message was none"); - - doc2.sync().receive_sync_message(&mut s2, m1).unwrap(); - let m2 = doc2.sync().generate_sync_message(&mut s2); - assert!(m2.is_none()); - } - - #[test] - fn should_allow_simultaneous_messages_during_synchronisation() { - // create & synchronize two nodes - let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("abc123").unwrap()); - let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("def456").unwrap()); - let mut s1 = State::new(); - let mut s2 = State::new(); - - for i in 0..5 { - doc1.put(&crate::ROOT, "x", i).unwrap(); - doc1.commit(); - doc2.put(&crate::ROOT, "y", i).unwrap(); - doc2.commit(); - } - - let head1 = doc1.get_heads()[0]; - let head2 = doc2.get_heads()[0]; - - //// both sides report what they have but have no shared peer state - let msg1to2 = doc1 - .sync() - .generate_sync_message(&mut s1) - .expect("initial sync from 1 to 2 was None"); - let msg2to1 = doc2 - .sync() - .generate_sync_message(&mut s2) - .expect("initial sync message from 2 to 1 was None"); - assert_eq!(msg1to2.changes.len(), 0); - assert_eq!(msg1to2.have[0].last_sync.len(), 0); - assert_eq!(msg2to1.changes.len(), 0); - assert_eq!(msg2to1.have[0].last_sync.len(), 0); - - //// doc1 and doc2 receive that message and update sync state - doc1.sync().receive_sync_message(&mut s1, msg2to1).unwrap(); - doc2.sync().receive_sync_message(&mut s2, msg1to2).unwrap(); - - //// now both reply with their local changes the other lacks - //// (standard warning that 1% of the time this will result in a "need" message) - let msg1to2 = doc1 - .sync() - .generate_sync_message(&mut s1) - .expect("first reply from 1 to 2 was None"); - assert_eq!(msg1to2.changes.len(), 5); - - let msg2to1 = doc2 - .sync() - .generate_sync_message(&mut s2) - .expect("first reply from 2 to 1 was None"); - assert_eq!(msg2to1.changes.len(), 5); - - //// both should now apply the changes - doc1.sync().receive_sync_message(&mut s1, msg2to1).unwrap(); - assert_eq!(doc1.get_missing_deps(&[]), Vec::new()); - - doc2.sync().receive_sync_message(&mut s2, msg1to2).unwrap(); - assert_eq!(doc2.get_missing_deps(&[]), Vec::new()); - - //// The response acknowledges the changes received and sends no further changes - let msg1to2 = doc1 - .sync() - .generate_sync_message(&mut s1) - .expect("second reply from 1 to 2 was None"); - assert_eq!(msg1to2.changes.len(), 0); - let msg2to1 = doc2 - .sync() - .generate_sync_message(&mut s2) - .expect("second reply from 2 to 1 was None"); - assert_eq!(msg2to1.changes.len(), 0); - - //// After receiving acknowledgements, their shared heads should be equal - doc1.sync().receive_sync_message(&mut s1, msg2to1).unwrap(); - doc2.sync().receive_sync_message(&mut s2, msg1to2).unwrap(); - - assert_eq!(s1.shared_heads, s2.shared_heads); - - //// We're in sync, no more messages required - assert!(doc1.sync().generate_sync_message(&mut s1).is_none()); - assert!(doc2.sync().generate_sync_message(&mut s2).is_none()); - - //// If we make one more change and start another sync then its lastSync should be updated - doc1.put(crate::ROOT, "x", 5).unwrap(); - doc1.commit(); - let msg1to2 = doc1 - .sync() - .generate_sync_message(&mut s1) - .expect("third reply from 1 to 2 was None"); - let mut expected_heads = vec![head1, head2]; - expected_heads.sort(); - let mut actual_heads = msg1to2.have[0].last_sync.clone(); - actual_heads.sort(); - assert_eq!(actual_heads, expected_heads); - } - - #[test] - fn should_handle_false_positive_head() { - // Scenario: ,-- n1 - // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+ - // `-- n2 - // where n2 is a false positive in the Bloom filter containing {n1}. - // lastSync is c9. - - let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("abc123").unwrap()); - let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("def456").unwrap()); - let mut s1 = State::new(); - let mut s2 = State::new(); - - for i in 0..10 { - doc1.put(crate::ROOT, "x", i).unwrap(); - doc1.commit(); - } - - sync(&mut doc1, &mut doc2, &mut s1, &mut s2); - - // search for false positive; see comment above - let mut i = 0; - let (mut doc1, mut doc2) = loop { - let mut doc1copy = doc1 - .clone() - .with_actor(ActorId::try_from("01234567").unwrap()); - let val1 = format!("{} @ n1", i); - doc1copy.put(crate::ROOT, "x", val1).unwrap(); - doc1copy.commit(); - - let mut doc2copy = doc1 - .clone() - .with_actor(ActorId::try_from("89abcdef").unwrap()); - let val2 = format!("{} @ n2", i); - doc2copy.put(crate::ROOT, "x", val2).unwrap(); - doc2copy.commit(); - - let n1_bloom = BloomFilter::from_hashes(doc1copy.get_heads().into_iter()); - if n1_bloom.contains_hash(&doc2copy.get_heads()[0]) { - break (doc1copy, doc2copy); - } - i += 1; - }; - - let mut all_heads = doc1.get_heads(); - all_heads.extend(doc2.get_heads()); - all_heads.sort(); - - // reset sync states - let (_, mut s1) = State::parse(Input::new(s1.encode().as_slice())).unwrap(); - let (_, mut s2) = State::parse(Input::new(s2.encode().as_slice())).unwrap(); - sync(&mut doc1, &mut doc2, &mut s1, &mut s2); - assert_eq!(doc1.get_heads(), all_heads); - assert_eq!(doc2.get_heads(), all_heads); - } - - #[test] - fn should_handle_chains_of_false_positives() { - //// Scenario: ,-- c5 - //// c0 <-- c1 <-- c2 <-- c3 <-- c4 <-+ - //// `-- n2c1 <-- n2c2 <-- n2c3 - //// where n2c1 and n2c2 are both false positives in the Bloom filter containing {c5}. - //// lastSync is c4. - let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("abc123").unwrap()); - let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("def456").unwrap()); - let mut s1 = State::new(); - let mut s2 = State::new(); - - for i in 0..10 { - doc1.put(crate::ROOT, "x", i).unwrap(); - doc1.commit(); - } - - sync(&mut doc1, &mut doc2, &mut s1, &mut s2); - - doc1.put(crate::ROOT, "x", 5).unwrap(); - doc1.commit(); - let bloom = BloomFilter::from_hashes(doc1.get_heads().into_iter()); - - // search for false positive; see comment above - let mut i = 0; - let mut doc2 = loop { - let mut doc = doc2 - .fork() - .with_actor(ActorId::try_from("89abcdef").unwrap()); - doc.put(crate::ROOT, "x", format!("{} at 89abdef", i)) - .unwrap(); - doc.commit(); - if bloom.contains_hash(&doc.get_heads()[0]) { - break doc; - } - i += 1; - }; - - // find another false positive building on the first - i = 0; - let mut doc2 = loop { - let mut doc = doc2 - .fork() - .with_actor(ActorId::try_from("89abcdef").unwrap()); - doc.put(crate::ROOT, "x", format!("{} again", i)).unwrap(); - doc.commit(); - if bloom.contains_hash(&doc.get_heads()[0]) { - break doc; - } - i += 1; - }; - - doc2.put(crate::ROOT, "x", "final @ 89abcdef").unwrap(); - - let mut all_heads = doc1.get_heads(); - all_heads.extend(doc2.get_heads()); - all_heads.sort(); - - let (_, mut s1) = State::parse(Input::new(s1.encode().as_slice())).unwrap(); - let (_, mut s2) = State::parse(Input::new(s2.encode().as_slice())).unwrap(); - sync(&mut doc1, &mut doc2, &mut s1, &mut s2); - assert_eq!(doc1.get_heads(), all_heads); - assert_eq!(doc2.get_heads(), all_heads); - } - - #[test] - fn should_handle_lots_of_branching_and_merging() { - let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("01234567").unwrap()); - let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("89abcdef").unwrap()); - let mut doc3 = crate::AutoCommit::new().with_actor(ActorId::try_from("fedcba98").unwrap()); - let mut s1 = State::new(); - let mut s2 = State::new(); - - doc1.put(crate::ROOT, "x", 0).unwrap(); - let change1 = doc1.get_last_local_change().unwrap().clone(); - - doc2.apply_changes([change1.clone()]).unwrap(); - doc3.apply_changes([change1]).unwrap(); - - doc3.put(crate::ROOT, "x", 1).unwrap(); - - //// - n1c1 <------ n1c2 <------ n1c3 <-- etc. <-- n1c20 <------ n1c21 - //// / \/ \/ \/ - //// / /\ /\ /\ - //// c0 <---- n2c1 <------ n2c2 <------ n2c3 <-- etc. <-- n2c20 <------ n2c21 - //// \ / - //// ---------------------------------------------- n3c1 <----- - for i in 1..20 { - doc1.put(crate::ROOT, "n1", i).unwrap(); - doc2.put(crate::ROOT, "n2", i).unwrap(); - let change1 = doc1.get_last_local_change().unwrap().clone(); - let change2 = doc2.get_last_local_change().unwrap().clone(); - doc1.apply_changes([change2.clone()]).unwrap(); - doc2.apply_changes([change1]).unwrap(); - } - - sync(&mut doc1, &mut doc2, &mut s1, &mut s2); - - //// Having n3's last change concurrent to the last sync heads forces us into the slower code path - let change3 = doc3.get_last_local_change().unwrap().clone(); - doc2.apply_changes([change3]).unwrap(); - - doc1.put(crate::ROOT, "n1", "final").unwrap(); - doc2.put(crate::ROOT, "n1", "final").unwrap(); - - sync(&mut doc1, &mut doc2, &mut s1, &mut s2); - - assert_eq!(doc1.get_heads(), doc2.get_heads()); - } - - fn sync( - a: &mut crate::AutoCommit, - b: &mut crate::AutoCommit, - a_sync_state: &mut State, - b_sync_state: &mut State, - ) { - //function sync(a: Automerge, b: Automerge, aSyncState = initSyncState(), bSyncState = initSyncState()) { - const MAX_ITER: usize = 10; - let mut iterations = 0; - - loop { - let a_to_b = a.sync().generate_sync_message(a_sync_state); - let b_to_a = b.sync().generate_sync_message(b_sync_state); - if a_to_b.is_none() && b_to_a.is_none() { - break; - } - if iterations > MAX_ITER { - panic!("failed to sync in {} iterations", MAX_ITER); - } - if let Some(msg) = a_to_b { - b.sync().receive_sync_message(b_sync_state, msg).unwrap() - } - if let Some(msg) = b_to_a { - a.sync().receive_sync_message(a_sync_state, msg).unwrap() - } - iterations += 1; - } - } -} diff --git a/rust/automerge/src/sync/bloom.rs b/rust/automerge/src/sync/bloom.rs deleted file mode 100644 index 8523061e..00000000 --- a/rust/automerge/src/sync/bloom.rs +++ /dev/null @@ -1,160 +0,0 @@ -use std::borrow::Borrow; - -use crate::storage::parse; -use crate::ChangeHash; - -// These constants correspond to a 1% false positive rate. The values can be changed without -// breaking compatibility of the network protocol, since the parameters used for a particular -// Bloom filter are encoded in the wire format. -const BITS_PER_ENTRY: u32 = 10; -const NUM_PROBES: u32 = 7; - -#[derive(Debug, Clone, PartialEq, Eq, Hash, serde::Serialize)] -pub struct BloomFilter { - num_entries: u32, - num_bits_per_entry: u32, - num_probes: u32, - bits: Vec, -} - -impl Default for BloomFilter { - fn default() -> Self { - BloomFilter { - num_entries: 0, - num_bits_per_entry: BITS_PER_ENTRY, - num_probes: NUM_PROBES, - bits: Vec::new(), - } - } -} - -#[derive(Debug, thiserror::Error)] -pub(crate) enum ParseError { - #[error(transparent)] - Leb128(#[from] parse::leb128::Error), -} - -impl BloomFilter { - pub fn to_bytes(&self) -> Vec { - let mut buf = Vec::new(); - if self.num_entries != 0 { - leb128::write::unsigned(&mut buf, self.num_entries as u64).unwrap(); - leb128::write::unsigned(&mut buf, self.num_bits_per_entry as u64).unwrap(); - leb128::write::unsigned(&mut buf, self.num_probes as u64).unwrap(); - buf.extend(&self.bits); - } - buf - } - - pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, ParseError> { - if input.is_empty() { - Ok((input, Self::default())) - } else { - let (i, num_entries) = parse::leb128_u32(input)?; - let (i, num_bits_per_entry) = parse::leb128_u32(i)?; - let (i, num_probes) = parse::leb128_u32(i)?; - let (i, bits) = parse::take_n(bits_capacity(num_entries, num_bits_per_entry), i)?; - Ok(( - i, - Self { - num_entries, - num_bits_per_entry, - num_probes, - bits: bits.to_vec(), - }, - )) - } - } - - fn get_probes(&self, hash: &ChangeHash) -> Vec { - let hash_bytes = hash.0; - let modulo = 8 * self.bits.len() as u32; - - let mut x = - u32::from_le_bytes([hash_bytes[0], hash_bytes[1], hash_bytes[2], hash_bytes[3]]) - % modulo; - let mut y = - u32::from_le_bytes([hash_bytes[4], hash_bytes[5], hash_bytes[6], hash_bytes[7]]) - % modulo; - let z = u32::from_le_bytes([hash_bytes[8], hash_bytes[9], hash_bytes[10], hash_bytes[11]]) - % modulo; - - let mut probes = Vec::with_capacity(self.num_probes as usize); - probes.push(x); - for _ in 1..self.num_probes { - x = (x + y) % modulo; - y = (y + z) % modulo; - probes.push(x); - } - probes - } - - fn add_hash(&mut self, hash: &ChangeHash) { - for probe in self.get_probes(hash) { - self.set_bit(probe as usize); - } - } - - fn set_bit(&mut self, probe: usize) { - if let Some(byte) = self.bits.get_mut(probe >> 3) { - *byte |= 1 << (probe & 7); - } - } - - fn get_bit(&self, probe: usize) -> Option { - self.bits - .get(probe >> 3) - .map(|byte| byte & (1 << (probe & 7))) - } - - pub fn contains_hash(&self, hash: &ChangeHash) -> bool { - if self.num_entries == 0 { - false - } else { - for probe in self.get_probes(hash) { - if let Some(bit) = self.get_bit(probe as usize) { - if bit == 0 { - return false; - } - } - } - true - } - } - - pub fn from_hashes>(hashes: impl ExactSizeIterator) -> Self { - let num_entries = hashes.len() as u32; - let num_bits_per_entry = BITS_PER_ENTRY; - let num_probes = NUM_PROBES; - let bits = vec![0; bits_capacity(num_entries, num_bits_per_entry)]; - let mut filter = Self { - num_entries, - num_bits_per_entry, - num_probes, - bits, - }; - for hash in hashes { - filter.add_hash(hash.borrow()); - } - filter - } -} - -fn bits_capacity(num_entries: u32, num_bits_per_entry: u32) -> usize { - let f = ((f64::from(num_entries) * f64::from(num_bits_per_entry)) / 8_f64).ceil(); - f as usize -} - -#[derive(thiserror::Error, Debug)] -#[error("{0}")] -pub struct DecodeError(String); - -impl TryFrom<&[u8]> for BloomFilter { - type Error = DecodeError; - - fn try_from(bytes: &[u8]) -> Result { - Self::parse(parse::Input::new(bytes)) - .map(|(_, b)| b) - .map_err(|e| DecodeError(e.to_string())) - } -} diff --git a/rust/automerge/src/sync/state.rs b/rust/automerge/src/sync/state.rs deleted file mode 100644 index 354c605f..00000000 --- a/rust/automerge/src/sync/state.rs +++ /dev/null @@ -1,110 +0,0 @@ -use std::collections::BTreeSet; - -use super::{encode_hashes, BloomFilter}; -use crate::storage::parse; -use crate::ChangeHash; - -const SYNC_STATE_TYPE: u8 = 0x43; // first byte of an encoded sync state, for identification - -#[derive(Debug, thiserror::Error)] -pub enum DecodeError { - #[error("{0:?}")] - Parse(String), - #[error("wrong type: expected one of {expected_one_of:?} but found {found}")] - WrongType { expected_one_of: Vec, found: u8 }, - #[error("not enough input")] - NotEnoughInput, -} - -impl From for DecodeError { - fn from(_: parse::leb128::Error) -> Self { - Self::Parse("bad leb128 encoding".to_string()) - } -} - -/// The state of synchronisation with a peer. -/// -/// This should be persisted using [`Self::encode`] when you know you will be interacting with the -/// same peer in multiple sessions. [`Self::encode`] only encodes state which should be reused -/// across connections. -#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)] -pub struct State { - /// The hashes which we know both peers have - pub shared_heads: Vec, - /// The heads we last sent - pub last_sent_heads: Vec, - /// The heads we last received from them - pub their_heads: Option>, - /// Any specific changes they last said they needed - pub their_need: Option>, - /// The bloom filters summarising what they said they have - pub their_have: Option>, - /// The hashes we have sent in this session - pub sent_hashes: BTreeSet, - - /// `generate_sync_message` should return `None` if there are no new changes to send. In - /// particular, if there are changes in flight which the other end has not yet acknowledged we - /// do not wish to generate duplicate sync messages. This field tracks whether the changes we - /// expect to send to the peer based on this sync state have been sent or not. If - /// `in_flight` is `false` then `generate_sync_message` will return a new message (provided - /// there are in fact changes to send). If it is `true` then we don't. This flag is cleared - /// in `receive_sync_message`. - pub in_flight: bool, -} - -/// A summary of the changes that the sender of the message already has. -/// This is implicitly a request to the recipient to send all changes that the -/// sender does not already have. -#[derive(Debug, Clone, Default, PartialEq, Eq, Hash, serde::Serialize)] -pub struct Have { - /// The heads at the time of the last successful sync with this recipient. - pub last_sync: Vec, - /// A bloom filter summarising all of the changes that the sender of the message has added - /// since the last sync. - pub bloom: BloomFilter, -} - -impl State { - pub fn new() -> Self { - Default::default() - } - - pub fn encode(&self) -> Vec { - let mut buf = vec![SYNC_STATE_TYPE]; - encode_hashes(&mut buf, &self.shared_heads); - buf - } - - pub fn decode(input: &[u8]) -> Result { - let input = parse::Input::new(input); - match Self::parse(input) { - Ok((_, state)) => Ok(state), - Err(parse::ParseError::Incomplete(_)) => Err(DecodeError::NotEnoughInput), - Err(parse::ParseError::Error(e)) => Err(e), - } - } - - pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, DecodeError> { - let (i, record_type) = parse::take1(input)?; - if record_type != SYNC_STATE_TYPE { - return Err(parse::ParseError::Error(DecodeError::WrongType { - expected_one_of: vec![SYNC_STATE_TYPE], - found: record_type, - })); - } - - let (i, shared_heads) = parse::length_prefixed(parse::change_hash)(i)?; - Ok(( - i, - Self { - shared_heads, - last_sent_heads: Vec::new(), - their_heads: None, - their_need: None, - their_have: Some(Vec::new()), - sent_hashes: BTreeSet::new(), - in_flight: false, - }, - )) - } -} diff --git a/rust/automerge/src/transaction.rs b/rust/automerge/src/transaction.rs deleted file mode 100644 index b513bc63..00000000 --- a/rust/automerge/src/transaction.rs +++ /dev/null @@ -1,16 +0,0 @@ -mod commit; -mod inner; -mod manual_transaction; -pub(crate) mod observation; -mod result; -mod transactable; - -pub use self::commit::CommitOptions; -pub use self::transactable::Transactable; -pub(crate) use inner::{TransactionArgs, TransactionInner}; -pub use manual_transaction::Transaction; -pub use observation::{Observation, Observed, UnObserved}; -pub use result::Failure; -pub use result::Success; - -pub type Result = std::result::Result, Failure>; diff --git a/rust/automerge/src/transaction/commit.rs b/rust/automerge/src/transaction/commit.rs deleted file mode 100644 index d2873af3..00000000 --- a/rust/automerge/src/transaction/commit.rs +++ /dev/null @@ -1,32 +0,0 @@ -/// Optional metadata for a commit. -#[derive(Debug, Default)] -pub struct CommitOptions { - pub message: Option, - pub time: Option, -} - -impl CommitOptions { - /// Add a message to the commit. - pub fn with_message>(mut self, message: S) -> Self { - self.message = Some(message.into()); - self - } - - /// Add a message to the commit. - pub fn set_message>(&mut self, message: S) -> &mut Self { - self.message = Some(message.into()); - self - } - - /// Add a timestamp to the commit. - pub fn with_time(mut self, time: i64) -> Self { - self.time = Some(time); - self - } - - /// Add a timestamp to the commit. - pub fn set_time(&mut self, time: i64) -> &mut Self { - self.time = Some(time); - self - } -} diff --git a/rust/automerge/src/transaction/inner.rs b/rust/automerge/src/transaction/inner.rs deleted file mode 100644 index 0fe735d5..00000000 --- a/rust/automerge/src/transaction/inner.rs +++ /dev/null @@ -1,731 +0,0 @@ -use std::num::NonZeroU64; - -use crate::exid::ExId; -use crate::query::{self, OpIdSearch}; -use crate::storage::Change as StoredChange; -use crate::types::{Key, ListEncoding, ObjId, OpId, OpIds, TextEncoding}; -use crate::{op_tree::OpSetMetadata, types::Op, Automerge, Change, ChangeHash, OpObserver, Prop}; -use crate::{AutomergeError, ObjType, OpType, ScalarValue}; - -#[derive(Debug, Clone)] -pub(crate) struct TransactionInner { - actor: usize, - seq: u64, - start_op: NonZeroU64, - time: i64, - message: Option, - deps: Vec, - operations: Vec<(ObjId, Op)>, -} - -/// Arguments required to create a new transaction -pub(crate) struct TransactionArgs { - /// The index of the actor ID this transaction will create ops for in the - /// [`OpSetMetadata::actors`] - pub(crate) actor_index: usize, - /// The sequence number of the change this transaction will create - pub(crate) seq: u64, - /// The start op of the change this transaction will create - pub(crate) start_op: NonZeroU64, - /// The dependencies of the change this transaction will create - pub(crate) deps: Vec, -} - -impl TransactionInner { - pub(crate) fn new( - TransactionArgs { - actor_index: actor, - seq, - start_op, - deps, - }: TransactionArgs, - ) -> Self { - TransactionInner { - actor, - seq, - start_op, - time: 0, - message: None, - operations: vec![], - deps, - } - } - - /// Create an empty change - pub(crate) fn empty( - doc: &mut Automerge, - args: TransactionArgs, - message: Option, - time: Option, - ) -> ChangeHash { - Self::new(args).commit_impl(doc, message, time) - } - - pub(crate) fn pending_ops(&self) -> usize { - self.operations.len() - } - - /// Commit the operations performed in this transaction, returning the hashes corresponding to - /// the new heads. - /// - /// Returns `None` if there were no operations to commit - #[tracing::instrument(skip(self, doc))] - pub(crate) fn commit( - self, - doc: &mut Automerge, - message: Option, - time: Option, - ) -> Option { - if self.pending_ops() == 0 { - return None; - } - Some(self.commit_impl(doc, message, time)) - } - - pub(crate) fn commit_impl( - mut self, - doc: &mut Automerge, - message: Option, - time: Option, - ) -> ChangeHash { - if message.is_some() { - self.message = message; - } - - if let Some(t) = time { - self.time = t; - } - - let num_ops = self.pending_ops(); - let change = self.export(&doc.ops().m); - let hash = change.hash(); - #[cfg(not(debug_assertions))] - tracing::trace!(commit=?hash, deps=?change.deps(), "committing transaction"); - #[cfg(debug_assertions)] - { - let ops = change.iter_ops().collect::>(); - tracing::trace!(commit=?hash, ?ops, deps=?change.deps(), "committing transaction"); - } - doc.update_history(change, num_ops); - debug_assert_eq!(doc.get_heads(), vec![hash]); - hash - } - - #[tracing::instrument(skip(self, metadata))] - pub(crate) fn export(self, metadata: &OpSetMetadata) -> Change { - use crate::storage::{change::PredOutOfOrder, convert::op_as_actor_id}; - - let actor = metadata.actors.get(self.actor).clone(); - let deps = self.deps.clone(); - let stored = match StoredChange::builder() - .with_actor(actor) - .with_seq(self.seq) - .with_start_op(self.start_op) - .with_message(self.message.clone()) - .with_dependencies(deps) - .with_timestamp(self.time) - .build( - self.operations - .iter() - .map(|(obj, op)| op_as_actor_id(obj, op, metadata)), - ) { - Ok(s) => s, - Err(PredOutOfOrder) => { - // SAFETY: types::Op::preds is `types::OpIds` which ensures ops are always sorted - panic!("preds out of order"); - } - }; - #[cfg(debug_assertions)] - { - let realized_ops = self.operations.iter().collect::>(); - tracing::trace!(?stored, ops=?realized_ops, "committing change"); - } - #[cfg(not(debug_assertions))] - tracing::trace!(?stored, "committing change"); - Change::new(stored) - } - - /// Undo the operations added in this transaction, returning the number of cancelled - /// operations. - pub(crate) fn rollback(self, doc: &mut Automerge) -> usize { - let num = self.pending_ops(); - // remove in reverse order so sets are removed before makes etc... - for (obj, op) in self.operations.into_iter().rev() { - for pred_id in &op.pred { - if let Some(p) = doc.ops().search(&obj, OpIdSearch::new(*pred_id)).index() { - doc.ops_mut().change_vis(&obj, p, |o| o.remove_succ(&op)); - } - } - if let Some(pos) = doc.ops().search(&obj, OpIdSearch::new(op.id)).index() { - doc.ops_mut().remove(&obj, pos); - } - } - - doc.rollback_last_actor(); - - num - } - - /// Set the value of property `P` to value `V` in object `obj`. - /// - /// # Returns - /// - /// The opid of the operation which was created, or None if this operation doesn't change the - /// document - /// - /// # Errors - /// - /// This will return an error if - /// - The object does not exist - /// - The key is the wrong type for the object - /// - The key does not exist in the object - pub(crate) fn put, V: Into, Obs: OpObserver>( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - ex_obj: &ExId, - prop: P, - value: V, - ) -> Result<(), AutomergeError> { - let (obj, obj_type) = doc.exid_to_obj(ex_obj)?; - let value = value.into(); - let prop = prop.into(); - match (&prop, obj_type) { - (Prop::Map(_), ObjType::Map) => Ok(()), - (Prop::Seq(_), ObjType::List) => Ok(()), - (Prop::Seq(_), ObjType::Text) => Ok(()), - _ => Err(AutomergeError::InvalidOp(obj_type)), - }?; - self.local_op(doc, op_observer, obj, prop, value.into())?; - Ok(()) - } - - /// Set the value of property `P` to value `V` in object `obj`. - /// - /// # Returns - /// - /// The opid of the operation which was created, or None if this operation doesn't change the - /// document - /// - /// # Errors - /// - /// This will return an error if - /// - The object does not exist - /// - The key is the wrong type for the object - /// - The key does not exist in the object - pub(crate) fn put_object, Obs: OpObserver>( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - ex_obj: &ExId, - prop: P, - value: ObjType, - ) -> Result { - let (obj, obj_type) = doc.exid_to_obj(ex_obj)?; - let prop = prop.into(); - match (&prop, obj_type) { - (Prop::Map(_), ObjType::Map) => Ok(()), - (Prop::Seq(_), ObjType::List) => Ok(()), - _ => Err(AutomergeError::InvalidOp(obj_type)), - }?; - let id = self - .local_op(doc, op_observer, obj, prop, value.into())? - .unwrap(); - let id = doc.id_to_exid(id); - Ok(id) - } - - fn next_id(&mut self) -> OpId { - OpId::new(self.start_op.get() + self.pending_ops() as u64, self.actor) - } - - fn next_insert(&mut self, key: Key, value: ScalarValue) -> Op { - Op { - id: self.next_id(), - action: OpType::Put(value), - key, - succ: Default::default(), - pred: Default::default(), - insert: true, - } - } - - fn next_delete(&mut self, key: Key, pred: OpIds) -> Op { - Op { - id: self.next_id(), - action: OpType::Delete, - key, - succ: Default::default(), - pred, - insert: false, - } - } - - #[allow(clippy::too_many_arguments)] - fn insert_local_op( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - prop: Prop, - op: Op, - pos: usize, - obj: ObjId, - succ_pos: &[usize], - ) { - doc.ops_mut().add_succ(&obj, succ_pos, &op); - - if !op.is_delete() { - doc.ops_mut().insert(pos, &obj, op.clone()); - } - - self.finalize_op(doc, op_observer, obj, prop, op); - } - - pub(crate) fn insert, Obs: OpObserver>( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - ex_obj: &ExId, - index: usize, - value: V, - ) -> Result<(), AutomergeError> { - let (obj, obj_type) = doc.exid_to_obj(ex_obj)?; - if !matches!(obj_type, ObjType::List | ObjType::Text) { - return Err(AutomergeError::InvalidOp(obj_type)); - } - let value = value.into(); - tracing::trace!(obj=?obj, value=?value, "inserting value"); - self.do_insert(doc, op_observer, obj, index, value.into())?; - Ok(()) - } - - pub(crate) fn insert_object( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - ex_obj: &ExId, - index: usize, - value: ObjType, - ) -> Result { - let (obj, obj_type) = doc.exid_to_obj(ex_obj)?; - if !matches!(obj_type, ObjType::List | ObjType::Text) { - return Err(AutomergeError::InvalidOp(obj_type)); - } - let id = self.do_insert(doc, op_observer, obj, index, value.into())?; - let id = doc.id_to_exid(id); - Ok(id) - } - - fn do_insert( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - obj: ObjId, - index: usize, - action: OpType, - ) -> Result { - let id = self.next_id(); - - let query = doc - .ops() - .search(&obj, query::InsertNth::new(index, ListEncoding::List)); - - let key = query.key()?; - - let op = Op { - id, - action, - key, - succ: Default::default(), - pred: Default::default(), - insert: true, - }; - - doc.ops_mut().insert(query.pos(), &obj, op.clone()); - - self.finalize_op(doc, op_observer, obj, Prop::Seq(index), op); - - Ok(id) - } - - pub(crate) fn local_op( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - obj: ObjId, - prop: Prop, - action: OpType, - ) -> Result, AutomergeError> { - match prop { - Prop::Map(s) => self.local_map_op(doc, op_observer, obj, s, action), - Prop::Seq(n) => self.local_list_op(doc, op_observer, obj, n, action), - } - } - - fn local_map_op( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - obj: ObjId, - prop: String, - action: OpType, - ) -> Result, AutomergeError> { - if prop.is_empty() { - return Err(AutomergeError::EmptyStringKey); - } - - let id = self.next_id(); - let prop_index = doc.ops_mut().m.props.cache(prop.clone()); - let query = doc.ops().search(&obj, query::Prop::new(prop_index)); - - // no key present to delete - if query.ops.is_empty() && action == OpType::Delete { - return Ok(None); - } - - if query.ops.len() == 1 && query.ops[0].is_noop(&action) { - return Ok(None); - } - - // increment operations are only valid against counter values. - // if there are multiple values (from conflicts) then we just need one of them to be a counter. - if matches!(action, OpType::Increment(_)) && query.ops.iter().all(|op| !op.is_counter()) { - return Err(AutomergeError::MissingCounter); - } - - let pred = doc.ops().m.sorted_opids(query.ops.iter().map(|o| o.id)); - - let op = Op { - id, - action, - key: Key::Map(prop_index), - succ: Default::default(), - pred, - insert: false, - }; - - let pos = query.pos; - let ops_pos = query.ops_pos; - self.insert_local_op(doc, op_observer, Prop::Map(prop), op, pos, obj, &ops_pos); - - Ok(Some(id)) - } - - fn local_list_op( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - obj: ObjId, - index: usize, - action: OpType, - ) -> Result, AutomergeError> { - let query = doc - .ops() - .search(&obj, query::Nth::new(index, ListEncoding::List)); - - let id = self.next_id(); - let pred = doc.ops().m.sorted_opids(query.ops.iter().map(|o| o.id)); - let key = query.key()?; - - if query.ops.len() == 1 && query.ops[0].is_noop(&action) { - return Ok(None); - } - - // increment operations are only valid against counter values. - // if there are multiple values (from conflicts) then we just need one of them to be a counter. - if matches!(action, OpType::Increment(_)) && query.ops.iter().all(|op| !op.is_counter()) { - return Err(AutomergeError::MissingCounter); - } - - let op = Op { - id, - action, - key, - succ: Default::default(), - pred, - insert: false, - }; - - let pos = query.pos; - let ops_pos = query.ops_pos; - self.insert_local_op(doc, op_observer, Prop::Seq(index), op, pos, obj, &ops_pos); - - Ok(Some(id)) - } - - pub(crate) fn increment, Obs: OpObserver>( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - obj: &ExId, - prop: P, - value: i64, - ) -> Result<(), AutomergeError> { - let obj = doc.exid_to_obj(obj)?.0; - self.local_op(doc, op_observer, obj, prop.into(), OpType::Increment(value))?; - Ok(()) - } - - pub(crate) fn delete, Obs: OpObserver>( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - ex_obj: &ExId, - prop: P, - ) -> Result<(), AutomergeError> { - let (obj, obj_type) = doc.exid_to_obj(ex_obj)?; - let prop = prop.into(); - if obj_type == ObjType::Text { - let index = prop.to_index().ok_or(AutomergeError::InvalidOp(obj_type))?; - self.inner_splice( - doc, - op_observer, - SpliceArgs { - obj, - index, - del: 1, - values: vec![], - splice_type: SpliceType::Text("", doc.text_encoding()), - }, - )?; - } else { - self.local_op(doc, op_observer, obj, prop, OpType::Delete)?; - } - Ok(()) - } - - /// Splice new elements into the given sequence. Returns a vector of the OpIds used to insert - /// the new elements - pub(crate) fn splice( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - ex_obj: &ExId, - index: usize, - del: usize, - vals: impl IntoIterator, - ) -> Result<(), AutomergeError> { - let (obj, obj_type) = doc.exid_to_obj(ex_obj)?; - if !matches!(obj_type, ObjType::List | ObjType::Text) { - return Err(AutomergeError::InvalidOp(obj_type)); - } - let values = vals.into_iter().collect(); - self.inner_splice( - doc, - op_observer, - SpliceArgs { - obj, - index, - del, - values, - splice_type: SpliceType::List, - }, - ) - } - - /// Splice string into a text object - pub(crate) fn splice_text( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - ex_obj: &ExId, - index: usize, - del: usize, - text: &str, - ) -> Result<(), AutomergeError> { - let (obj, obj_type) = doc.exid_to_obj(ex_obj)?; - if obj_type != ObjType::Text { - return Err(AutomergeError::InvalidOp(obj_type)); - } - let values = text.chars().map(ScalarValue::from).collect(); - self.inner_splice( - doc, - op_observer, - SpliceArgs { - obj, - index, - del, - values, - splice_type: SpliceType::Text(text, doc.text_encoding()), - }, - ) - } - - fn inner_splice( - &mut self, - doc: &mut Automerge, - mut op_observer: Option<&mut Obs>, - SpliceArgs { - obj, - mut index, - mut del, - values, - splice_type, - }: SpliceArgs<'_>, - ) -> Result<(), AutomergeError> { - let ex_obj = doc.ops().id_to_exid(obj.0); - let encoding = splice_type.encoding(); - // delete `del` items - performing the query for each one - let mut deleted = 0; - while deleted < del { - // TODO: could do this with a single custom query - let query = doc.ops().search(&obj, query::Nth::new(index, encoding)); - - // if we delete in the middle of a multi-character - // move cursor back to the beginning and expand the del width - let adjusted_index = query.index(); - if adjusted_index < index { - del += index - adjusted_index; - index = adjusted_index; - } - - let step = if let Some(op) = query.ops.last() { - op.width(encoding) - } else { - break; - }; - - let op = self.next_delete(query.key()?, query.pred(doc.ops())); - - let ops_pos = query.ops_pos; - doc.ops_mut().add_succ(&obj, &ops_pos, &op); - - self.operations.push((obj, op)); - - deleted += step; - } - - if deleted > 0 { - if let Some(obs) = op_observer.as_mut() { - obs.delete_seq(doc, ex_obj.clone(), index, deleted); - } - } - - // do the insert query for the first item and then - // insert the remaining ops one after the other - if !values.is_empty() { - let query = doc - .ops() - .search(&obj, query::InsertNth::new(index, encoding)); - let mut pos = query.pos(); - let mut key = query.key()?; - let mut cursor = index; - let mut width = 0; - - for v in &values { - let op = self.next_insert(key, v.clone()); - - doc.ops_mut().insert(pos, &obj, op.clone()); - - width = op.width(encoding); - cursor += width; - pos += 1; - key = op.id.into(); - - self.operations.push((obj, op)); - } - - doc.ops_mut().hint(&obj, cursor - width, pos - 1); - - // handle the observer - if let Some(obs) = op_observer.as_mut() { - match splice_type { - SpliceType::Text(text, _) if !obs.text_as_seq() => { - obs.splice_text(doc, ex_obj, index, text) - } - SpliceType::List | SpliceType::Text(..) => { - let start = self.operations.len() - values.len(); - for (offset, v) in values.iter().enumerate() { - let op = &self.operations[start + offset].1; - let value = (v.clone().into(), doc.ops().id_to_exid(op.id)); - obs.insert(doc, ex_obj.clone(), index + offset, value) - } - } - } - } - } - - Ok(()) - } - - fn finalize_op( - &mut self, - doc: &mut Automerge, - op_observer: Option<&mut Obs>, - obj: ObjId, - prop: Prop, - op: Op, - ) { - // TODO - id_to_exid should be a noop if not used - change type to Into? - if let Some(op_observer) = op_observer { - let ex_obj = doc.ops().id_to_exid(obj.0); - if op.insert { - let obj_type = doc.ops().object_type(&obj); - assert!(obj_type.unwrap().is_sequence()); - match (obj_type, prop) { - (Some(ObjType::List), Prop::Seq(index)) => { - let value = (op.value(), doc.ops().id_to_exid(op.id)); - op_observer.insert(doc, ex_obj, index, value) - } - (Some(ObjType::Text), Prop::Seq(index)) => { - // FIXME - if op_observer.text_as_seq() { - let value = (op.value(), doc.ops().id_to_exid(op.id)); - op_observer.insert(doc, ex_obj, index, value) - } else { - op_observer.splice_text(doc, ex_obj, index, op.to_str()) - } - } - _ => {} - } - } else if op.is_delete() { - op_observer.delete(doc, ex_obj, prop); - } else if let Some(value) = op.get_increment_value() { - op_observer.increment(doc, ex_obj, prop, (value, doc.ops().id_to_exid(op.id))); - } else { - let value = (op.value(), doc.ops().id_to_exid(op.id)); - op_observer.put(doc, ex_obj, prop, value, false); - } - } - self.operations.push((obj, op)); - } -} - -enum SpliceType<'a> { - List, - Text(&'a str, TextEncoding), -} - -impl<'a> SpliceType<'a> { - fn encoding(&self) -> ListEncoding { - match self { - SpliceType::List => ListEncoding::List, - SpliceType::Text(_, encoding) => ListEncoding::Text(*encoding), - } - } -} - -struct SpliceArgs<'a> { - obj: ObjId, - index: usize, - del: usize, - values: Vec, - splice_type: SpliceType<'a>, -} - -#[cfg(test)] -mod tests { - use crate::{transaction::Transactable, ReadDoc, ROOT}; - - use super::*; - - #[test] - fn map_rollback_doesnt_panic() { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - - let a = tx.put_object(ROOT, "a", ObjType::Map).unwrap(); - tx.put(&a, "b", 1).unwrap(); - assert!(tx.get(&a, "b").unwrap().is_some()); - } -} diff --git a/rust/automerge/src/transaction/manual_transaction.rs b/rust/automerge/src/transaction/manual_transaction.rs deleted file mode 100644 index fa5f6340..00000000 --- a/rust/automerge/src/transaction/manual_transaction.rs +++ /dev/null @@ -1,348 +0,0 @@ -use std::ops::RangeBounds; - -use crate::exid::ExId; -use crate::op_observer::BranchableObserver; -use crate::{ - Automerge, ChangeHash, KeysAt, ObjType, OpObserver, Prop, ReadDoc, ScalarValue, Value, Values, -}; -use crate::{AutomergeError, Keys}; -use crate::{ListRange, ListRangeAt, MapRange, MapRangeAt}; - -use super::{observation, CommitOptions, Transactable, TransactionArgs, TransactionInner}; - -/// A transaction on a document. -/// Transactions group operations into a single change so that no other operations can happen -/// in-between. -/// -/// Created from [`Automerge::transaction`]. -/// -/// ## Drop -/// -/// This transaction should be manually committed or rolled back. If not done manually then it will -/// be rolled back when it is dropped. This is to prevent the document being in an unsafe -/// intermediate state. -/// This is consistent with `?` error handling. -#[derive(Debug)] -pub struct Transaction<'a, Obs: observation::Observation> { - // this is an option so that we can take it during commit and rollback to prevent it being - // rolled back during drop. - inner: Option, - // As with `inner` this is an `Option` so we can `take` it during `commit` - observation: Option, - doc: &'a mut Automerge, -} - -impl<'a, Obs: observation::Observation> Transaction<'a, Obs> { - pub(crate) fn new(doc: &'a mut Automerge, args: TransactionArgs, obs: Obs) -> Self { - Self { - inner: Some(TransactionInner::new(args)), - doc, - observation: Some(obs), - } - } -} - -impl<'a> Transaction<'a, observation::UnObserved> { - pub(crate) fn empty( - doc: &'a mut Automerge, - args: TransactionArgs, - opts: CommitOptions, - ) -> ChangeHash { - TransactionInner::empty(doc, args, opts.message, opts.time) - } -} - -impl<'a, Obs: OpObserver + BranchableObserver> Transaction<'a, observation::Observed> { - pub fn observer(&mut self) -> &mut Obs { - self.observation.as_mut().unwrap().observer() - } -} - -impl<'a, Obs: observation::Observation> Transaction<'a, Obs> { - /// Get the heads of the document before this transaction was started. - pub fn get_heads(&self) -> Vec { - self.doc.get_heads() - } - - /// Commit the operations performed in this transaction, returning the hashes corresponding to - /// the new heads. - pub fn commit(mut self) -> Obs::CommitResult { - let tx = self.inner.take().unwrap(); - let hash = tx.commit(self.doc, None, None); - let obs = self.observation.take().unwrap(); - obs.make_result(hash) - } - - /// Commit the operations in this transaction with some options. - /// - /// ``` - /// # use automerge::transaction::CommitOptions; - /// # use automerge::transaction::Transactable; - /// # use automerge::ROOT; - /// # use automerge::Automerge; - /// # use automerge::ObjType; - /// # use std::time::SystemTime; - /// let mut doc = Automerge::new(); - /// let mut tx = doc.transaction(); - /// tx.put_object(ROOT, "todos", ObjType::List).unwrap(); - /// let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs() as - /// i64; - /// tx.commit_with(CommitOptions::default().with_message("Create todos list").with_time(now)); - /// ``` - pub fn commit_with(mut self, options: CommitOptions) -> Obs::CommitResult { - let tx = self.inner.take().unwrap(); - let hash = tx.commit(self.doc, options.message, options.time); - let obs = self.observation.take().unwrap(); - obs.make_result(hash) - } - - /// Undo the operations added in this transaction, returning the number of cancelled - /// operations. - pub fn rollback(mut self) -> usize { - self.inner.take().unwrap().rollback(self.doc) - } - - fn do_tx(&mut self, f: F) -> O - where - F: FnOnce(&mut TransactionInner, &mut Automerge, Option<&mut Obs::Obs>) -> O, - { - let tx = self.inner.as_mut().unwrap(); - if let Some(obs) = self.observation.as_mut() { - f(tx, self.doc, obs.observer()) - } else { - f(tx, self.doc, None) - } - } -} - -impl<'a, Obs: observation::Observation> ReadDoc for Transaction<'a, Obs> { - fn keys>(&self, obj: O) -> Keys<'_, '_> { - self.doc.keys(obj) - } - - fn keys_at>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_> { - self.doc.keys_at(obj, heads) - } - - fn map_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> MapRange<'_, R> { - self.doc.map_range(obj, range) - } - - fn map_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> MapRangeAt<'_, R> { - self.doc.map_range_at(obj, range, heads) - } - - fn list_range, R: RangeBounds>( - &self, - obj: O, - range: R, - ) -> ListRange<'_, R> { - self.doc.list_range(obj, range) - } - - fn list_range_at, R: RangeBounds>( - &self, - obj: O, - range: R, - heads: &[ChangeHash], - ) -> ListRangeAt<'_, R> { - self.doc.list_range_at(obj, range, heads) - } - - fn values>(&self, obj: O) -> Values<'_> { - self.doc.values(obj) - } - - fn values_at>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_> { - self.doc.values_at(obj, heads) - } - - fn length>(&self, obj: O) -> usize { - self.doc.length(obj) - } - - fn length_at>(&self, obj: O, heads: &[ChangeHash]) -> usize { - self.doc.length_at(obj, heads) - } - - fn object_type>(&self, obj: O) -> Result { - self.doc.object_type(obj) - } - - fn text>(&self, obj: O) -> Result { - self.doc.text(obj) - } - - fn text_at>( - &self, - obj: O, - heads: &[ChangeHash], - ) -> Result { - self.doc.text_at(obj, heads) - } - - fn get, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError> { - self.doc.get(obj, prop) - } - - fn get_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError> { - self.doc.get_at(obj, prop, heads) - } - - fn get_all, P: Into>( - &self, - obj: O, - prop: P, - ) -> Result, ExId)>, AutomergeError> { - self.doc.get_all(obj, prop) - } - - fn get_all_at, P: Into>( - &self, - obj: O, - prop: P, - heads: &[ChangeHash], - ) -> Result, ExId)>, AutomergeError> { - self.doc.get_all_at(obj, prop, heads) - } - - fn parents>(&self, obj: O) -> Result, AutomergeError> { - self.doc.parents(obj) - } - - fn path_to_object>(&self, obj: O) -> Result, AutomergeError> { - self.doc.path_to_object(obj) - } - - fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec { - self.doc.get_missing_deps(heads) - } - - fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&crate::Change> { - self.doc.get_change_by_hash(hash) - } -} - -impl<'a, Obs: observation::Observation> Transactable for Transaction<'a, Obs> { - /// Get the number of pending operations in this transaction. - fn pending_ops(&self) -> usize { - self.inner.as_ref().unwrap().pending_ops() - } - - /// Set the value of property `P` to value `V` in object `obj`. - /// - /// # Errors - /// - /// This will return an error if - /// - The object does not exist - /// - The key is the wrong type for the object - /// - The key does not exist in the object - fn put, P: Into, V: Into>( - &mut self, - obj: O, - prop: P, - value: V, - ) -> Result<(), AutomergeError> { - self.do_tx(|tx, doc, obs| tx.put(doc, obs, obj.as_ref(), prop, value)) - } - - fn put_object, P: Into>( - &mut self, - obj: O, - prop: P, - value: ObjType, - ) -> Result { - self.do_tx(|tx, doc, obs| tx.put_object(doc, obs, obj.as_ref(), prop, value)) - } - - fn insert, V: Into>( - &mut self, - obj: O, - index: usize, - value: V, - ) -> Result<(), AutomergeError> { - self.do_tx(|tx, doc, obs| tx.insert(doc, obs, obj.as_ref(), index, value)) - } - - fn insert_object>( - &mut self, - obj: O, - index: usize, - value: ObjType, - ) -> Result { - self.do_tx(|tx, doc, obs| tx.insert_object(doc, obs, obj.as_ref(), index, value)) - } - - fn increment, P: Into>( - &mut self, - obj: O, - prop: P, - value: i64, - ) -> Result<(), AutomergeError> { - self.do_tx(|tx, doc, obs| tx.increment(doc, obs, obj.as_ref(), prop, value)) - } - - fn delete, P: Into>( - &mut self, - obj: O, - prop: P, - ) -> Result<(), AutomergeError> { - self.do_tx(|tx, doc, obs| tx.delete(doc, obs, obj.as_ref(), prop)) - } - - /// Splice new elements into the given sequence. Returns a vector of the OpIds used to insert - /// the new elements - fn splice, V: IntoIterator>( - &mut self, - obj: O, - pos: usize, - del: usize, - vals: V, - ) -> Result<(), AutomergeError> { - self.do_tx(|tx, doc, obs| tx.splice(doc, obs, obj.as_ref(), pos, del, vals)) - } - - fn splice_text>( - &mut self, - obj: O, - pos: usize, - del: usize, - text: &str, - ) -> Result<(), AutomergeError> { - self.do_tx(|tx, doc, obs| tx.splice_text(doc, obs, obj.as_ref(), pos, del, text)) - } - - fn base_heads(&self) -> Vec { - self.doc.get_heads() - } -} - -// If a transaction is not commited or rolled back manually then it can leave the document in an -// intermediate state. -// This defaults to rolling back the transaction to be compatible with `?` error returning before -// reaching a call to `commit`. -impl<'a, Obs: observation::Observation> Drop for Transaction<'a, Obs> { - fn drop(&mut self) { - if let Some(txn) = self.inner.take() { - txn.rollback(self.doc); - } - } -} diff --git a/rust/automerge/src/transaction/observation.rs b/rust/automerge/src/transaction/observation.rs deleted file mode 100644 index 53723711..00000000 --- a/rust/automerge/src/transaction/observation.rs +++ /dev/null @@ -1,80 +0,0 @@ -//! This module is essentially a type level Option. It is used in sitations where we know at -//! compile time whether an `OpObserver` is available to track changes in a transaction. -use crate::{op_observer::BranchableObserver, ChangeHash, OpObserver}; - -mod private { - use crate::op_observer::BranchableObserver; - - pub trait Sealed {} - impl Sealed for super::Observed {} - impl Sealed for super::UnObserved {} -} - -pub trait Observation: private::Sealed { - type Obs: OpObserver + BranchableObserver; - type CommitResult; - - fn observer(&mut self) -> Option<&mut Self::Obs>; - fn make_result(self, hash: Option) -> Self::CommitResult; - fn branch(&self) -> Self; - fn merge(&mut self, other: &Self); -} - -#[derive(Clone, Debug)] -pub struct Observed(Obs); - -impl Observed { - pub(crate) fn new(o: O) -> Self { - Self(o) - } - - pub(crate) fn observer(&mut self) -> &mut O { - &mut self.0 - } -} - -impl Observation for Observed { - type Obs = Obs; - type CommitResult = (Obs, Option); - fn observer(&mut self) -> Option<&mut Self::Obs> { - Some(&mut self.0) - } - - fn make_result(self, hash: Option) -> Self::CommitResult { - (self.0, hash) - } - - fn branch(&self) -> Self { - Self(self.0.branch()) - } - - fn merge(&mut self, other: &Self) { - self.0.merge(&other.0) - } -} - -#[derive(Clone, Default, Debug)] -pub struct UnObserved; -impl UnObserved { - pub fn new() -> Self { - Self - } -} - -impl Observation for UnObserved { - type Obs = (); - type CommitResult = Option; - fn observer(&mut self) -> Option<&mut Self::Obs> { - None - } - - fn make_result(self, hash: Option) -> Self::CommitResult { - hash - } - - fn branch(&self) -> Self { - Self - } - - fn merge(&mut self, _other: &Self) {} -} diff --git a/rust/automerge/src/transaction/result.rs b/rust/automerge/src/transaction/result.rs deleted file mode 100644 index 5327ff44..00000000 --- a/rust/automerge/src/transaction/result.rs +++ /dev/null @@ -1,20 +0,0 @@ -use crate::ChangeHash; - -/// The result of a successful, and committed, transaction. -#[derive(Debug)] -pub struct Success { - /// The result of the transaction. - pub result: O, - /// The hash of the change, will be `None` if the transaction did not create any operations - pub hash: Option, - pub op_observer: Obs, -} - -/// The result of a failed, and rolled back, transaction. -#[derive(Debug)] -pub struct Failure { - /// The error returned from the transaction. - pub error: E, - /// The number of operations cancelled. - pub cancelled: usize, -} diff --git a/rust/automerge/src/transaction/transactable.rs b/rust/automerge/src/transaction/transactable.rs deleted file mode 100644 index 05c48c79..00000000 --- a/rust/automerge/src/transaction/transactable.rs +++ /dev/null @@ -1,93 +0,0 @@ -use crate::exid::ExId; -use crate::{AutomergeError, ChangeHash, ObjType, Prop, ReadDoc, ScalarValue}; - -/// A way of mutating a document within a single change. -pub trait Transactable: ReadDoc { - /// Get the number of pending operations in this transaction. - fn pending_ops(&self) -> usize; - - /// Set the value of property `P` to value `V` in object `obj`. - /// - /// # Errors - /// - /// This will return an error if - /// - The object does not exist - /// - The key is the wrong type for the object - /// - The key does not exist in the object - fn put, P: Into, V: Into>( - &mut self, - obj: O, - prop: P, - value: V, - ) -> Result<(), AutomergeError>; - - /// Set the value of property `P` to the new object `V` in object `obj`. - /// - /// # Returns - /// - /// The id of the object which was created. - /// - /// # Errors - /// - /// This will return an error if - /// - The object does not exist - /// - The key is the wrong type for the object - /// - The key does not exist in the object - fn put_object, P: Into>( - &mut self, - obj: O, - prop: P, - object: ObjType, - ) -> Result; - - /// Insert a value into a list at the given index. - fn insert, V: Into>( - &mut self, - obj: O, - index: usize, - value: V, - ) -> Result<(), AutomergeError>; - - /// Insert an object into a list at the given index. - fn insert_object>( - &mut self, - obj: O, - index: usize, - object: ObjType, - ) -> Result; - - /// Increment the counter at the prop in the object by `value`. - fn increment, P: Into>( - &mut self, - obj: O, - prop: P, - value: i64, - ) -> Result<(), AutomergeError>; - - /// Delete the value at prop in the object. - fn delete, P: Into>( - &mut self, - obj: O, - prop: P, - ) -> Result<(), AutomergeError>; - - fn splice, V: IntoIterator>( - &mut self, - obj: O, - pos: usize, - del: usize, - vals: V, - ) -> Result<(), AutomergeError>; - - /// Like [`Self::splice`] but for text. - fn splice_text>( - &mut self, - obj: O, - pos: usize, - del: usize, - text: &str, - ) -> Result<(), AutomergeError>; - - /// The heads this transaction will be based on - fn base_heads(&self) -> Vec; -} diff --git a/rust/automerge/src/types.rs b/rust/automerge/src/types.rs deleted file mode 100644 index 468986ec..00000000 --- a/rust/automerge/src/types.rs +++ /dev/null @@ -1,844 +0,0 @@ -use crate::error; -use crate::legacy as amp; -use serde::{Deserialize, Serialize}; -use std::borrow::Cow; -use std::cmp::Eq; -use std::cmp::Ordering; -use std::fmt; -use std::fmt::Display; -use std::str::FromStr; -use tinyvec::{ArrayVec, TinyVec}; -//use crate::indexed_cache::IndexedCache; - -mod opids; -pub(crate) use opids::OpIds; - -pub(crate) use crate::clock::Clock; -pub(crate) use crate::value::{Counter, ScalarValue, Value}; - -pub(crate) const HEAD: ElemId = ElemId(OpId(0, 0)); -pub(crate) const ROOT: OpId = OpId(0, 0); - -const ROOT_STR: &str = "_root"; -const HEAD_STR: &str = "_head"; - -/// An actor id is a sequence of bytes. By default we use a uuid which can be nicely stack -/// allocated. -/// -/// In the event that users want to use their own type of identifier that is longer than a uuid -/// then they will likely end up pushing it onto the heap which is still fine. -/// -// Note that change encoding relies on the Ord implementation for the ActorId being implemented in -// terms of the lexicographic ordering of the underlying bytes. Be aware of this if you are -// changing the ActorId implementation in ways which might affect the Ord implementation -#[derive(Eq, PartialEq, Hash, Clone, PartialOrd, Ord)] -#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))] -pub struct ActorId(TinyVec<[u8; 16]>); - -impl fmt::Debug for ActorId { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_tuple("ActorID") - .field(&hex::encode(&self.0)) - .finish() - } -} - -impl ActorId { - pub fn random() -> ActorId { - ActorId(TinyVec::from(*uuid::Uuid::new_v4().as_bytes())) - } - - pub fn to_bytes(&self) -> &[u8] { - &self.0 - } - - pub fn to_hex_string(&self) -> String { - hex::encode(&self.0) - } -} - -impl TryFrom<&str> for ActorId { - type Error = error::InvalidActorId; - - fn try_from(s: &str) -> Result { - hex::decode(s) - .map(ActorId::from) - .map_err(|_| error::InvalidActorId(s.into())) - } -} - -impl TryFrom for ActorId { - type Error = error::InvalidActorId; - - fn try_from(s: String) -> Result { - hex::decode(&s) - .map(ActorId::from) - .map_err(|_| error::InvalidActorId(s)) - } -} - -impl AsRef<[u8]> for ActorId { - fn as_ref(&self) -> &[u8] { - &self.0 - } -} - -impl From for ActorId { - fn from(u: uuid::Uuid) -> Self { - ActorId(TinyVec::from(*u.as_bytes())) - } -} - -impl From<&[u8]> for ActorId { - fn from(b: &[u8]) -> Self { - ActorId(TinyVec::from(b)) - } -} - -impl From<&Vec> for ActorId { - fn from(b: &Vec) -> Self { - ActorId::from(b.as_slice()) - } -} - -impl From> for ActorId { - fn from(b: Vec) -> Self { - let inner = if let Ok(arr) = ArrayVec::try_from(b.as_slice()) { - TinyVec::Inline(arr) - } else { - TinyVec::Heap(b) - }; - ActorId(inner) - } -} - -impl From<[u8; N]> for ActorId { - fn from(array: [u8; N]) -> Self { - ActorId::from(&array) - } -} - -impl From<&[u8; N]> for ActorId { - fn from(slice: &[u8; N]) -> Self { - let inner = if let Ok(arr) = ArrayVec::try_from(slice.as_slice()) { - TinyVec::Inline(arr) - } else { - TinyVec::Heap(slice.to_vec()) - }; - ActorId(inner) - } -} - -impl FromStr for ActorId { - type Err = error::InvalidActorId; - - fn from_str(s: &str) -> Result { - ActorId::try_from(s) - } -} - -impl fmt::Display for ActorId { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{}", self.to_hex_string()) - } -} - -/// The type of an object -#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq, Copy, Hash)] -#[serde(rename_all = "camelCase", untagged)] -pub enum ObjType { - /// A map - Map, - /// Retained for backwards compatibility, tables are identical to maps - Table, - /// A sequence of arbitrary values - List, - /// A sequence of characters - Text, -} - -impl ObjType { - pub fn is_sequence(&self) -> bool { - matches!(self, Self::List | Self::Text) - } -} - -impl From for ObjType { - fn from(other: amp::MapType) -> Self { - match other { - amp::MapType::Map => Self::Map, - amp::MapType::Table => Self::Table, - } - } -} - -impl From for ObjType { - fn from(other: amp::SequenceType) -> Self { - match other { - amp::SequenceType::List => Self::List, - amp::SequenceType::Text => Self::Text, - } - } -} - -impl fmt::Display for ObjType { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - ObjType::Map => write!(f, "map"), - ObjType::Table => write!(f, "table"), - ObjType::List => write!(f, "list"), - ObjType::Text => write!(f, "text"), - } - } -} - -#[derive(PartialEq, Debug, Clone)] -pub enum OpType { - Make(ObjType), - Delete, - Increment(i64), - Put(ScalarValue), -} - -impl OpType { - /// The index into the action array as specified in [1] - /// - /// [1]: https://alexjg.github.io/automerge-storage-docs/#action-array - pub(crate) fn action_index(&self) -> u64 { - match self { - Self::Make(ObjType::Map) => 0, - Self::Put(_) => 1, - Self::Make(ObjType::List) => 2, - Self::Delete => 3, - Self::Make(ObjType::Text) => 4, - Self::Increment(_) => 5, - Self::Make(ObjType::Table) => 6, - } - } - - pub(crate) fn validate_action_and_value( - action: u64, - value: &ScalarValue, - ) -> Result<(), error::InvalidOpType> { - match action { - 0..=4 => Ok(()), - 5 => match value { - ScalarValue::Int(_) | ScalarValue::Uint(_) => Ok(()), - _ => Err(error::InvalidOpType::NonNumericInc), - }, - 6 => Ok(()), - _ => Err(error::InvalidOpType::UnknownAction(action)), - } - } - - pub(crate) fn from_action_and_value(action: u64, value: ScalarValue) -> OpType { - match action { - 0 => Self::Make(ObjType::Map), - 1 => Self::Put(value), - 2 => Self::Make(ObjType::List), - 3 => Self::Delete, - 4 => Self::Make(ObjType::Text), - 5 => match value { - ScalarValue::Int(i) => Self::Increment(i), - ScalarValue::Uint(i) => Self::Increment(i as i64), - _ => unreachable!("validate_action_and_value returned NonNumericInc"), - }, - 6 => Self::Make(ObjType::Table), - _ => unreachable!("validate_action_and_value returned UnknownAction"), - } - } -} - -impl From for OpType { - fn from(v: ObjType) -> Self { - OpType::Make(v) - } -} - -impl From for OpType { - fn from(v: ScalarValue) -> Self { - OpType::Put(v) - } -} - -#[derive(Debug)] -pub(crate) enum Export { - Id(OpId), - Special(String), - Prop(usize), -} - -pub(crate) trait Exportable { - fn export(&self) -> Export; -} - -impl Exportable for ObjId { - fn export(&self) -> Export { - if self.0 == ROOT { - Export::Special(ROOT_STR.to_owned()) - } else { - Export::Id(self.0) - } - } -} - -impl Exportable for &ObjId { - fn export(&self) -> Export { - if self.0 == ROOT { - Export::Special(ROOT_STR.to_owned()) - } else { - Export::Id(self.0) - } - } -} - -impl Exportable for ElemId { - fn export(&self) -> Export { - if self == &HEAD { - Export::Special(HEAD_STR.to_owned()) - } else { - Export::Id(self.0) - } - } -} - -impl Exportable for OpId { - fn export(&self) -> Export { - Export::Id(*self) - } -} - -impl Exportable for Key { - fn export(&self) -> Export { - match self { - Key::Map(p) => Export::Prop(*p), - Key::Seq(e) => e.export(), - } - } -} - -impl From for OpId { - fn from(o: ObjId) -> Self { - o.0 - } -} - -impl From for ObjId { - fn from(o: OpId) -> Self { - ObjId(o) - } -} - -impl From for ElemId { - fn from(o: OpId) -> Self { - ElemId(o) - } -} - -impl From for Prop { - fn from(p: String) -> Self { - Prop::Map(p) - } -} - -impl From<&String> for Prop { - fn from(p: &String) -> Self { - Prop::Map(p.clone()) - } -} - -impl From<&str> for Prop { - fn from(p: &str) -> Self { - Prop::Map(p.to_owned()) - } -} - -impl From for Prop { - fn from(index: usize) -> Self { - Prop::Seq(index) - } -} - -impl From for Prop { - fn from(index: f64) -> Self { - Prop::Seq(index as usize) - } -} - -impl From for Key { - fn from(id: OpId) -> Self { - Key::Seq(ElemId(id)) - } -} - -impl From for Key { - fn from(e: ElemId) -> Self { - Key::Seq(e) - } -} - -impl From> for ElemId { - fn from(e: Option) -> Self { - e.unwrap_or(HEAD) - } -} - -impl From> for Key { - fn from(e: Option) -> Self { - Key::Seq(e.into()) - } -} - -#[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone, Copy, Hash)] -pub(crate) enum Key { - Map(usize), - Seq(ElemId), -} - -/// A property of an object -/// -/// This is either a string representing a property in a map, or an integer -/// which is the index into a sequence -#[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone)] -pub enum Prop { - /// A property in a map - Map(String), - /// An index into a sequence - Seq(usize), -} - -impl Prop { - pub(crate) fn to_index(&self) -> Option { - match self { - Prop::Map(_) => None, - Prop::Seq(n) => Some(*n), - } - } -} - -impl Display for Prop { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Prop::Map(s) => write!(f, "{}", s), - Prop::Seq(i) => write!(f, "{}", i), - } - } -} - -impl Key { - pub(crate) fn elemid(&self) -> Option { - match self { - Key::Map(_) => None, - Key::Seq(id) => Some(*id), - } - } -} - -#[derive(Debug, Clone, PartialOrd, Ord, Eq, PartialEq, Copy, Hash, Default)] -pub(crate) struct OpId(u32, u32); - -impl OpId { - pub(crate) fn new(counter: u64, actor: usize) -> Self { - Self(counter.try_into().unwrap(), actor.try_into().unwrap()) - } - - #[inline] - pub(crate) fn counter(&self) -> u64 { - self.0.into() - } - - #[inline] - pub(crate) fn actor(&self) -> usize { - self.1.try_into().unwrap() - } - - #[inline] - pub(crate) fn lamport_cmp(&self, other: &OpId, actors: &[ActorId]) -> Ordering { - self.0 - .cmp(&other.0) - .then_with(|| actors[self.1 as usize].cmp(&actors[other.1 as usize])) - } -} - -#[derive(Debug, Clone, Copy, PartialOrd, Eq, PartialEq, Ord, Hash, Default)] -pub(crate) struct ObjId(pub(crate) OpId); - -impl ObjId { - pub(crate) const fn root() -> Self { - ObjId(OpId(0, 0)) - } - - pub(crate) fn is_root(&self) -> bool { - self.0.counter() == 0 - } - - pub(crate) fn opid(&self) -> &OpId { - &self.0 - } -} - -/// How indexes into text sequeces are calculated -/// -/// Automerge text objects are internally sequences of utf8 characters. This -/// means that in environments (such as javascript) which use a different -/// encoding the indexes into the text sequence will be different. This enum -/// represents the different ways indexes can be calculated. -#[derive(Debug, Copy, Clone, PartialEq, Eq)] -pub enum TextEncoding { - /// The indexes are calculated using the utf8 encoding - Utf8, - /// The indexes are calculated using the utf16 encoding - Utf16, -} - -#[derive(Debug, Copy, Clone, PartialEq, Eq)] -pub(crate) enum ListEncoding { - List, - Text(TextEncoding), -} - -impl Default for ListEncoding { - fn default() -> Self { - ListEncoding::List - } -} - -impl Default for TextEncoding { - fn default() -> Self { - TextEncoding::Utf8 - } -} - -impl ListEncoding { - pub(crate) fn new(obj: ObjType, text_encoding: TextEncoding) -> Self { - if obj == ObjType::Text { - ListEncoding::Text(text_encoding) - } else { - ListEncoding::List - } - } -} - -#[derive(Debug, Clone, Copy, PartialOrd, Eq, PartialEq, Ord, Hash, Default)] -pub(crate) struct ElemId(pub(crate) OpId); - -impl ElemId { - pub(crate) fn is_head(&self) -> bool { - *self == HEAD - } - - pub(crate) fn head() -> Self { - Self(OpId(0, 0)) - } -} - -#[derive(Debug, Clone, PartialEq)] -pub(crate) struct Op { - pub(crate) id: OpId, - pub(crate) action: OpType, - pub(crate) key: Key, - pub(crate) succ: OpIds, - pub(crate) pred: OpIds, - pub(crate) insert: bool, -} - -impl Op { - pub(crate) fn add_succ std::cmp::Ordering>(&mut self, op: &Op, cmp: F) { - self.succ.add(op.id, cmp); - if let OpType::Put(ScalarValue::Counter(Counter { - current, - increments, - .. - })) = &mut self.action - { - if let OpType::Increment(n) = &op.action { - *current += *n; - *increments += 1; - } - } - } - - pub(crate) fn remove_succ(&mut self, op: &Op) { - self.succ.retain(|id| id != &op.id); - if let OpType::Put(ScalarValue::Counter(Counter { - current, - increments, - .. - })) = &mut self.action - { - if let OpType::Increment(n) = &op.action { - *current -= *n; - *increments -= 1; - } - } - } - - pub(crate) fn width(&self, encoding: ListEncoding) -> usize { - match encoding { - ListEncoding::List => 1, - ListEncoding::Text(TextEncoding::Utf8) => self.to_str().chars().count(), - ListEncoding::Text(TextEncoding::Utf16) => self.to_str().encode_utf16().count(), - } - } - - pub(crate) fn to_str(&self) -> &str { - if let OpType::Put(ScalarValue::Str(s)) = &self.action { - s - } else { - "\u{fffc}" - } - } - - pub(crate) fn visible(&self) -> bool { - if self.is_inc() { - false - } else if self.is_counter() { - self.succ.len() <= self.incs() - } else { - self.succ.is_empty() - } - } - - pub(crate) fn incs(&self) -> usize { - if let OpType::Put(ScalarValue::Counter(Counter { increments, .. })) = &self.action { - *increments - } else { - 0 - } - } - - pub(crate) fn is_delete(&self) -> bool { - matches!(&self.action, OpType::Delete) - } - - pub(crate) fn is_inc(&self) -> bool { - matches!(&self.action, OpType::Increment(_)) - } - - pub(crate) fn is_counter(&self) -> bool { - matches!(&self.action, OpType::Put(ScalarValue::Counter(_))) - } - - pub(crate) fn is_noop(&self, action: &OpType) -> bool { - matches!((&self.action, action), (OpType::Put(n), OpType::Put(m)) if n == m) - } - - pub(crate) fn is_list_op(&self) -> bool { - matches!(&self.key, Key::Seq(_)) - } - - pub(crate) fn overwrites(&self, other: &Op) -> bool { - self.pred.iter().any(|i| i == &other.id) - } - - pub(crate) fn elemid(&self) -> Option { - self.elemid_or_key().elemid() - } - - pub(crate) fn elemid_or_key(&self) -> Key { - if self.insert { - Key::Seq(ElemId(self.id)) - } else { - self.key - } - } - - pub(crate) fn get_increment_value(&self) -> Option { - if let OpType::Increment(i) = self.action { - Some(i) - } else { - None - } - } - - pub(crate) fn value(&self) -> Value<'_> { - match &self.action { - OpType::Make(obj_type) => Value::Object(*obj_type), - OpType::Put(scalar) => Value::Scalar(Cow::Borrowed(scalar)), - _ => panic!("cant convert op into a value - {:?}", self), - } - } - - pub(crate) fn clone_value(&self) -> Value<'static> { - match &self.action { - OpType::Make(obj_type) => Value::Object(*obj_type), - OpType::Put(scalar) => Value::Scalar(Cow::Owned(scalar.clone())), - _ => panic!("cant convert op into a value - {:?}", self), - } - } - - #[allow(dead_code)] - pub(crate) fn dump(&self) -> String { - match &self.action { - OpType::Put(value) if self.insert => format!("i:{}", value), - OpType::Put(value) => format!("s:{}", value), - OpType::Make(obj) => format!("make{}", obj), - OpType::Increment(val) => format!("inc:{}", val), - OpType::Delete => "del".to_string(), - } - } -} - -#[derive(Debug, Clone)] -pub(crate) struct Peer {} - -/// The number of bytes in a change hash. -pub(crate) const HASH_SIZE: usize = 32; // 256 bits = 32 bytes - -/// The sha256 hash of a change. -#[derive(Eq, PartialEq, Hash, Clone, PartialOrd, Ord, Copy)] -pub struct ChangeHash(pub [u8; HASH_SIZE]); - -impl ChangeHash { - pub(crate) fn as_bytes(&self) -> &[u8] { - &self.0 - } - - pub(crate) fn checksum(&self) -> [u8; 4] { - [self.0[0], self.0[1], self.0[2], self.0[3]] - } -} - -impl AsRef<[u8]> for ChangeHash { - fn as_ref(&self) -> &[u8] { - &self.0 - } -} - -impl fmt::Debug for ChangeHash { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_tuple("ChangeHash") - .field(&hex::encode(self.0)) - .finish() - } -} - -impl fmt::Display for ChangeHash { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{}", hex::encode(self.0)) - } -} - -#[derive(thiserror::Error, Debug)] -pub enum ParseChangeHashError { - #[error(transparent)] - HexDecode(#[from] hex::FromHexError), - #[error( - "incorrect length, change hash should be {} bytes, got {actual}", - HASH_SIZE - )] - IncorrectLength { actual: usize }, -} - -impl FromStr for ChangeHash { - type Err = ParseChangeHashError; - - fn from_str(s: &str) -> Result { - let bytes = hex::decode(s)?; - if bytes.len() == HASH_SIZE { - Ok(ChangeHash(bytes.try_into().unwrap())) - } else { - Err(ParseChangeHashError::IncorrectLength { - actual: bytes.len(), - }) - } - } -} - -impl TryFrom<&[u8]> for ChangeHash { - type Error = error::InvalidChangeHashSlice; - - fn try_from(bytes: &[u8]) -> Result { - if bytes.len() != HASH_SIZE { - Err(error::InvalidChangeHashSlice(Vec::from(bytes))) - } else { - let mut array = [0; HASH_SIZE]; - array.copy_from_slice(bytes); - Ok(ChangeHash(array)) - } - } -} - -#[cfg(feature = "wasm")] -impl From for wasm_bindgen::JsValue { - fn from(prop: Prop) -> Self { - match prop { - Prop::Map(key) => key.into(), - Prop::Seq(index) => (index as f64).into(), - } - } -} - -#[cfg(test)] -pub(crate) mod gen { - use super::{ - ChangeHash, Counter, ElemId, Key, ObjType, Op, OpId, OpIds, OpType, ScalarValue, HASH_SIZE, - }; - use proptest::prelude::*; - - pub(crate) fn gen_hash() -> impl Strategy { - proptest::collection::vec(proptest::bits::u8::ANY, HASH_SIZE) - .prop_map(|b| ChangeHash::try_from(&b[..]).unwrap()) - } - - pub(crate) fn gen_scalar_value() -> impl Strategy { - prop_oneof![ - proptest::collection::vec(proptest::bits::u8::ANY, 0..200).prop_map(ScalarValue::Bytes), - "[a-z]{10,500}".prop_map(|s| ScalarValue::Str(s.into())), - any::().prop_map(ScalarValue::Int), - any::().prop_map(ScalarValue::Uint), - any::().prop_map(ScalarValue::F64), - any::().prop_map(|c| ScalarValue::Counter(Counter::from(c))), - any::().prop_map(ScalarValue::Timestamp), - any::().prop_map(ScalarValue::Boolean), - Just(ScalarValue::Null), - ] - } - - pub(crate) fn gen_objtype() -> impl Strategy { - prop_oneof![ - Just(ObjType::Map), - Just(ObjType::Table), - Just(ObjType::List), - Just(ObjType::Text), - ] - } - - pub(crate) fn gen_action() -> impl Strategy { - prop_oneof![ - Just(OpType::Delete), - any::().prop_map(OpType::Increment), - gen_scalar_value().prop_map(OpType::Put), - gen_objtype().prop_map(OpType::Make) - ] - } - - pub(crate) fn gen_key(key_indices: Vec) -> impl Strategy { - prop_oneof![ - proptest::sample::select(key_indices).prop_map(Key::Map), - Just(Key::Seq(ElemId(OpId::new(0, 0)))), - ] - } - - /// Generate an arbitrary op - /// - /// The generated op will have no preds or succs - /// - /// # Arguments - /// - /// * `id` - the OpId this op will be given - /// * `key_prop_indices` - The indices of props which will be used to generate keys of type - /// `Key::Map`. I.e. this is what would typically be in `OpSetMetadata::props - pub(crate) fn gen_op(id: OpId, key_prop_indices: Vec) -> impl Strategy { - (gen_key(key_prop_indices), any::(), gen_action()).prop_map( - move |(key, insert, action)| Op { - id, - key, - insert, - action, - succ: OpIds::empty(), - pred: OpIds::empty(), - }, - ) - } -} diff --git a/rust/automerge/src/types/opids.rs b/rust/automerge/src/types/opids.rs deleted file mode 100644 index a81ccb36..00000000 --- a/rust/automerge/src/types/opids.rs +++ /dev/null @@ -1,198 +0,0 @@ -use itertools::Itertools; - -use super::OpId; - -/// A wrapper around `Vec` which preserves the invariant that the ops are -/// in ascending order with respect to their counters and actor IDs. In order to -/// maintain this invariant you must provide a comparator function when adding -/// ops as the actor indices in an OpId are not sufficient to order the OpIds -#[derive(Debug, Clone, PartialEq, Default)] -pub(crate) struct OpIds(Vec); - -impl<'a> IntoIterator for &'a OpIds { - type Item = &'a OpId; - type IntoIter = std::slice::Iter<'a, OpId>; - - fn into_iter(self) -> Self::IntoIter { - self.0.iter() - } -} - -impl OpIds { - pub(crate) fn empty() -> Self { - Self(Vec::new()) - } - - pub(crate) fn new, F: Fn(&OpId, &OpId) -> std::cmp::Ordering>( - opids: I, - cmp: F, - ) -> Self { - let mut inner = opids.collect::>(); - inner.sort_by(cmp); - Self(inner) - } - - /// Create a new OpIds if `opids` are sorted with respect to `cmp` and contain no duplicates. - /// - /// Returns `Some(OpIds)` if `opids` is sorted and has no duplicates, otherwise returns `None` - pub(crate) fn new_if_sorted std::cmp::Ordering>( - opids: Vec, - cmp: F, - ) -> Option { - if are_sorted_and_unique(opids.iter(), cmp) { - Some(Self(opids)) - } else { - None - } - } - - /// Add an op to this set of OpIds. The `comparator` must provide a - /// consistent ordering between successive calls to `add`. - pub(crate) fn add std::cmp::Ordering>( - &mut self, - opid: OpId, - comparator: F, - ) { - use std::cmp::Ordering::*; - if self.is_empty() { - self.0.push(opid); - return; - } - let idx_and_elem = self - .0 - .iter() - .find_position(|an_opid| matches!(comparator(an_opid, &opid), Greater | Equal)); - if let Some((idx, an_opid)) = idx_and_elem { - if comparator(an_opid, &opid) == Equal { - // nothing to do - } else { - self.0.insert(idx, opid); - } - } else { - self.0.push(opid); - } - } - - pub(crate) fn retain bool>(&mut self, f: F) { - self.0.retain(f) - } - - pub(crate) fn is_empty(&self) -> bool { - self.0.is_empty() - } - - pub(crate) fn len(&self) -> usize { - self.0.len() - } - - pub(crate) fn iter(&self) -> std::slice::Iter<'_, OpId> { - self.0.iter() - } - - pub(crate) fn contains(&self, op: &OpId) -> bool { - self.0.contains(op) - } - - pub(crate) fn get(&self, idx: usize) -> Option<&OpId> { - self.0.get(idx) - } -} - -fn are_sorted_and_unique< - 'a, - I: Iterator, - F: FnMut(&OpId, &OpId) -> std::cmp::Ordering, ->( - mut opids: I, - mut f: F, -) -> bool { - use std::cmp::Ordering; - let mut last = match opids.next() { - Some(e) => e, - None => return true, - }; - - for next in opids { - if matches!(f(last, next), Ordering::Greater | Ordering::Equal) { - return false; - } - last = next; - } - true -} - -#[cfg(test)] -mod tests { - use super::{OpId, OpIds}; - use crate::ActorId; - use proptest::prelude::*; - - fn gen_opid(actors: Vec) -> impl Strategy { - (0..actors.len()).prop_flat_map(|actor_idx| { - (Just(actor_idx), 0..(u32::MAX as u64)) - .prop_map(|(actor_idx, counter)| OpId::new(counter, actor_idx)) - }) - } - - fn scenario(size: std::ops::Range) -> impl Strategy, Vec)> { - let actors = vec![ - "aaaa".try_into().unwrap(), - "cccc".try_into().unwrap(), - "bbbb".try_into().unwrap(), - ]; - proptest::collection::vec(gen_opid(actors.clone()), size) - .prop_map(move |opids| (actors.clone(), opids)) - } - - fn duplicate_unsorted_scenario() -> impl Strategy, Vec)> { - scenario(1..100).prop_map(|(actors, mut opids)| { - let mut sorted_opids = opids.clone(); - sorted_opids.sort_by(|left, right| cmp(&actors, left, right)); - sorted_opids.dedup(); - // Unwrap is okay due to the size we pass to `scenario()` - let last = *sorted_opids.last().unwrap(); - if sorted_opids == opids { - // Opids are sorted and deduplicated, just copy the last opid and insert it at the - // front - opids.insert(0, last); - } - (actors, opids) - }) - } - - proptest! { - #[test] - fn test_sorted_opids((actors, opids) in scenario(0..100)) { - let mut sorted_opids = OpIds::default(); - for opid in &opids { - sorted_opids.add(*opid, |left, right| cmp(&actors, left, right)); - } - let result = sorted_opids.into_iter().cloned().collect::>(); - let mut expected = opids; - expected.sort_by(|left, right| cmp(&actors, left, right)); - expected.dedup(); - assert_eq!(result, expected); - } - - #[test] - fn test_new_if_sorted((actors, opids) in duplicate_unsorted_scenario()) { - let mut expected = opids.clone(); - assert_eq!(OpIds::new_if_sorted(opids, |left, right| cmp(&actors, left, right)), None); - expected.sort_by(|left, right| cmp(&actors, left, right)); - expected.dedup(); - let result = OpIds::new_if_sorted(expected.clone(), |left, right| cmp(&actors, left, right)).unwrap().into_iter().cloned().collect::>(); - assert_eq!(result, expected) - } - } - - fn cmp(actors: &[ActorId], left: &OpId, right: &OpId) -> std::cmp::Ordering { - use std::cmp::Ordering; - match (left, right) { - (OpId(0, _), OpId(0, _)) => Ordering::Equal, - (OpId(0, _), OpId(_, _)) => Ordering::Less, - (OpId(_, _), OpId(0, _)) => Ordering::Greater, - (OpId(a, x), OpId(b, y)) if a == b => actors[*x as usize].cmp(&actors[*y as usize]), - (OpId(a, _), OpId(b, _)) => a.cmp(b), - } - } -} diff --git a/rust/automerge/src/value.rs b/rust/automerge/src/value.rs deleted file mode 100644 index be128787..00000000 --- a/rust/automerge/src/value.rs +++ /dev/null @@ -1,748 +0,0 @@ -use crate::error; -use crate::types::ObjType; -use serde::{Deserialize, Serialize, Serializer}; -use smol_str::SmolStr; -use std::borrow::Cow; -use std::fmt; - -/// The type of values in an automerge document -#[derive(Debug, Clone, PartialEq)] -pub enum Value<'a> { - /// An composite object of type `ObjType` - Object(ObjType), - /// A non composite value - // TODO: if we don't have to store this in patches any more then it might be able to be just a - // &'a ScalarValue rather than a Cow - Scalar(Cow<'a, ScalarValue>), -} - -impl<'a> Value<'a> { - pub fn map() -> Value<'a> { - Value::Object(ObjType::Map) - } - - pub fn list() -> Value<'a> { - Value::Object(ObjType::List) - } - - pub fn text() -> Value<'a> { - Value::Object(ObjType::Text) - } - - pub fn table() -> Value<'a> { - Value::Object(ObjType::Table) - } - - pub fn str(s: &str) -> Value<'a> { - Value::Scalar(Cow::Owned(ScalarValue::Str(s.into()))) - } - - pub fn int(n: i64) -> Value<'a> { - Value::Scalar(Cow::Owned(ScalarValue::Int(n))) - } - - pub fn uint(n: u64) -> Value<'a> { - Value::Scalar(Cow::Owned(ScalarValue::Uint(n))) - } - - pub fn counter(n: i64) -> Value<'a> { - Value::Scalar(Cow::Owned(ScalarValue::counter(n))) - } - - pub fn timestamp(n: i64) -> Value<'a> { - Value::Scalar(Cow::Owned(ScalarValue::Timestamp(n))) - } - - pub fn f64(n: f64) -> Value<'a> { - Value::Scalar(Cow::Owned(ScalarValue::F64(n))) - } - - pub fn bytes(b: Vec) -> Value<'a> { - Value::Scalar(Cow::Owned(ScalarValue::Bytes(b))) - } - - pub fn is_object(&self) -> bool { - matches!(&self, Value::Object(_)) - } - - pub fn is_scalar(&self) -> bool { - matches!(&self, Value::Scalar(_)) - } - - pub fn is_bytes(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_bytes() - } else { - false - } - } - - pub fn is_str(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_str() - } else { - false - } - } - - pub fn is_int(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_int() - } else { - false - } - } - - pub fn is_uint(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_uint() - } else { - false - } - } - - pub fn is_f64(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_f64() - } else { - false - } - } - - pub fn is_counter(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_counter() - } else { - false - } - } - - pub fn is_timestamp(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_timestamp() - } else { - false - } - } - - pub fn is_boolean(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_boolean() - } else { - false - } - } - - pub fn is_null(&self) -> bool { - if let Self::Scalar(s) = self { - s.is_null() - } else { - false - } - } - - pub fn into_scalar(self) -> Result { - match self { - Self::Scalar(s) => Ok(s.into_owned()), - _ => Err(self), - } - } - - pub fn to_scalar(&self) -> Option<&ScalarValue> { - match self { - Self::Scalar(s) => Some(s), - _ => None, - } - } - - pub fn to_objtype(&self) -> Option { - match self { - Self::Object(o) => Some(*o), - _ => None, - } - } - - pub fn into_owned(self) -> Value<'static> { - match self { - Value::Object(o) => Value::Object(o), - Value::Scalar(Cow::Owned(s)) => Value::Scalar(Cow::Owned(s)), - Value::Scalar(Cow::Borrowed(s)) => Value::Scalar(Cow::Owned((*s).clone())), - } - } - - pub fn to_owned(&self) -> Value<'static> { - match self { - Value::Object(o) => Value::Object(*o), - Value::Scalar(Cow::Owned(s)) => Value::Scalar(Cow::Owned(s.clone())), - Value::Scalar(Cow::Borrowed(s)) => Value::Scalar(Cow::Owned((*s).clone())), - } - } - - pub fn into_bytes(self) -> Result, Self> { - match self { - Value::Scalar(s) => s - .into_owned() - .into_bytes() - .map_err(|v| Value::Scalar(Cow::Owned(v))), - _ => Err(self), - } - } - - pub fn to_bytes(&self) -> Option<&[u8]> { - match self { - Value::Scalar(s) => s.to_bytes(), - _ => None, - } - } - - pub fn into_string(self) -> Result { - match self { - Value::Scalar(s) => s - .into_owned() - .into_string() - .map_err(|v| Value::Scalar(Cow::Owned(v))), - _ => Err(self), - } - } - - pub fn to_str(&self) -> Option<&str> { - match self { - Value::Scalar(val) => val.to_str(), - _ => None, - } - } - - /// If this value can be coerced to an i64, return the i64 value - pub fn to_i64(&self) -> Option { - match self { - Value::Scalar(s) => s.to_i64(), - _ => None, - } - } - - pub fn to_u64(&self) -> Option { - match self { - Value::Scalar(s) => s.to_u64(), - _ => None, - } - } - - pub fn to_f64(&self) -> Option { - match self { - Value::Scalar(s) => s.to_f64(), - _ => None, - } - } - - pub fn to_bool(&self) -> Option { - match self { - Value::Scalar(s) => s.to_bool(), - _ => None, - } - } -} - -impl<'a> fmt::Display for Value<'a> { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Value::Object(o) => write!(f, "Object: {}", o), - Value::Scalar(s) => write!(f, "Scalar: {}", s), - } - } -} - -impl<'a> From<&str> for Value<'a> { - fn from(s: &str) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Str(s.into()))) - } -} - -impl<'a> From<&String> for Value<'a> { - fn from(s: &String) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Str(s.into()))) - } -} - -impl<'a> From for Value<'a> { - fn from(s: String) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Str(s.into()))) - } -} - -impl<'a> From for Value<'a> { - fn from(s: SmolStr) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Str(s))) - } -} - -impl<'a> From for Value<'a> { - fn from(c: char) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Str(SmolStr::new(c.to_string())))) - } -} - -impl<'a> From> for Value<'a> { - fn from(v: Vec) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Bytes(v))) - } -} - -impl<'a> From for Value<'a> { - fn from(n: f64) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::F64(n))) - } -} - -impl<'a> From for Value<'a> { - fn from(n: i64) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Int(n))) - } -} - -impl<'a> From for Value<'a> { - fn from(n: i32) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Int(n.into()))) - } -} - -impl<'a> From for Value<'a> { - fn from(n: u32) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Uint(n.into()))) - } -} - -impl<'a> From for Value<'a> { - fn from(n: u64) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Uint(n))) - } -} - -impl<'a> From for Value<'a> { - fn from(v: bool) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Boolean(v))) - } -} - -impl<'a> From<()> for Value<'a> { - fn from(_: ()) -> Self { - Value::Scalar(Cow::Owned(ScalarValue::Null)) - } -} - -impl<'a> From for Value<'a> { - fn from(o: ObjType) -> Self { - Value::Object(o) - } -} - -impl<'a> From for Value<'a> { - fn from(v: ScalarValue) -> Self { - Value::Scalar(Cow::Owned(v)) - } -} - -#[derive(Deserialize, Serialize, PartialEq, Debug, Clone, Copy)] -pub(crate) enum DataType { - #[serde(rename = "counter")] - Counter, - #[serde(rename = "timestamp")] - Timestamp, - #[serde(rename = "bytes")] - Bytes, - #[serde(rename = "uint")] - Uint, - #[serde(rename = "int")] - Int, - #[serde(rename = "float64")] - F64, - #[serde(rename = "undefined")] - Undefined, -} - -#[derive(Debug, Clone)] -pub struct Counter { - pub(crate) start: i64, - pub(crate) current: i64, - pub(crate) increments: usize, -} - -impl Counter { - pub(crate) fn increment>(&mut self, increments: I) { - for inc in increments { - self.current += inc; - self.increments += 1; - } - } -} - -impl Serialize for Counter { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - serializer.serialize_i64(self.current) - } -} - -impl fmt::Display for Counter { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{}", &self.current) - } -} - -impl From for Counter { - fn from(n: i64) -> Self { - Counter { - start: n, - current: n, - increments: 0, - } - } -} - -impl From<&i64> for Counter { - fn from(n: &i64) -> Self { - Counter { - start: *n, - current: *n, - increments: 0, - } - } -} - -impl From<&Counter> for i64 { - fn from(val: &Counter) -> Self { - val.current - } -} - -impl From for i64 { - fn from(val: Counter) -> Self { - val.current - } -} - -impl From<&Counter> for u64 { - fn from(val: &Counter) -> Self { - val.current as u64 - } -} - -impl From<&Counter> for f64 { - fn from(val: &Counter) -> Self { - val.current as f64 - } -} - -/// A value which is not a composite value -#[derive(Serialize, PartialEq, Debug, Clone)] -#[serde(untagged)] -pub enum ScalarValue { - Bytes(Vec), - Str(SmolStr), - Int(i64), - Uint(u64), - F64(f64), - Counter(Counter), - Timestamp(i64), - Boolean(bool), - /// A value from a future version of automerge - Unknown { - type_code: u8, - bytes: Vec, - }, - Null, -} - -impl PartialEq for Counter { - fn eq(&self, other: &Self) -> bool { - self.current == other.current - } -} - -impl ScalarValue { - pub(crate) fn as_datatype( - &self, - datatype: DataType, - ) -> Result { - match (datatype, self) { - (DataType::Counter, ScalarValue::Int(i)) => Ok(ScalarValue::Counter(i.into())), - (DataType::Counter, ScalarValue::Uint(u)) => match i64::try_from(*u) { - Ok(i) => Ok(ScalarValue::Counter(i.into())), - Err(_) => Err(error::InvalidScalarValue { - raw_value: self.clone(), - expected: "an integer".to_string(), - unexpected: "an integer larger than i64::max_value".to_string(), - datatype, - }), - }, - (DataType::Bytes, ScalarValue::Bytes(bytes)) => Ok(ScalarValue::Bytes(bytes.clone())), - (DataType::Bytes, v) => Err(error::InvalidScalarValue { - raw_value: self.clone(), - expected: "a vector of bytes".to_string(), - unexpected: v.to_string(), - datatype, - }), - (DataType::Counter, v) => Err(error::InvalidScalarValue { - raw_value: self.clone(), - expected: "an integer".to_string(), - unexpected: v.to_string(), - datatype, - }), - (DataType::Timestamp, ScalarValue::Int(i)) => Ok(ScalarValue::Timestamp(*i)), - (DataType::Timestamp, ScalarValue::Uint(u)) => match i64::try_from(*u) { - Ok(i) => Ok(ScalarValue::Timestamp(i)), - Err(_) => Err(error::InvalidScalarValue { - raw_value: self.clone(), - expected: "an integer".to_string(), - unexpected: "an integer larger than i64::max_value".to_string(), - datatype, - }), - }, - (DataType::Timestamp, v) => Err(error::InvalidScalarValue { - raw_value: self.clone(), - expected: "an integer".to_string(), - unexpected: v.to_string(), - datatype, - }), - (DataType::Int, v) => Ok(ScalarValue::Int(v.to_i64().ok_or( - error::InvalidScalarValue { - raw_value: self.clone(), - expected: "an int".to_string(), - unexpected: v.to_string(), - datatype, - }, - )?)), - (DataType::Uint, v) => Ok(ScalarValue::Uint(v.to_u64().ok_or( - error::InvalidScalarValue { - raw_value: self.clone(), - expected: "a uint".to_string(), - unexpected: v.to_string(), - datatype, - }, - )?)), - (DataType::F64, v) => Ok(ScalarValue::F64(v.to_f64().ok_or( - error::InvalidScalarValue { - raw_value: self.clone(), - expected: "an f64".to_string(), - unexpected: v.to_string(), - datatype, - }, - )?)), - (DataType::Undefined, _) => Ok(self.clone()), - } - } - - /// Returns an Option containing a `DataType` if - /// `self` represents a numerical scalar value - /// This is necessary b/c numerical values are not self-describing - /// (unlike strings / bytes / etc. ) - pub(crate) fn as_numerical_datatype(&self) -> Option { - match self { - ScalarValue::Counter(..) => Some(DataType::Counter), - ScalarValue::Timestamp(..) => Some(DataType::Timestamp), - ScalarValue::Int(..) => Some(DataType::Int), - ScalarValue::Uint(..) => Some(DataType::Uint), - ScalarValue::F64(..) => Some(DataType::F64), - _ => None, - } - } - - pub fn is_bytes(&self) -> bool { - matches!(self, Self::Bytes(_)) - } - - pub fn is_str(&self) -> bool { - matches!(self, Self::Str(_)) - } - - pub fn is_int(&self) -> bool { - matches!(self, Self::Int(_)) - } - - pub fn is_uint(&self) -> bool { - matches!(self, Self::Uint(_)) - } - - pub fn is_f64(&self) -> bool { - matches!(self, Self::F64(_)) - } - - pub fn is_counter(&self) -> bool { - matches!(self, Self::Counter(_)) - } - - pub fn is_timestamp(&self) -> bool { - matches!(self, Self::Timestamp(_)) - } - - pub fn is_boolean(&self) -> bool { - matches!(self, Self::Boolean(_)) - } - - pub fn is_null(&self) -> bool { - matches!(self, Self::Null) - } - - pub fn into_bytes(self) -> Result, Self> { - match self { - ScalarValue::Bytes(b) => Ok(b), - _ => Err(self), - } - } - - pub fn to_bytes(&self) -> Option<&[u8]> { - match self { - ScalarValue::Bytes(b) => Some(b), - _ => None, - } - } - - pub fn into_string(self) -> Result { - match self { - ScalarValue::Str(s) => Ok(s.to_string()), - _ => Err(self), - } - } - - pub fn to_str(&self) -> Option<&str> { - match self { - ScalarValue::Str(s) => Some(s), - _ => None, - } - } - - /// If this value can be coerced to an i64, return the i64 value - pub fn to_i64(&self) -> Option { - match self { - ScalarValue::Int(n) => Some(*n), - ScalarValue::Uint(n) => Some(*n as i64), - ScalarValue::F64(n) => Some(*n as i64), - ScalarValue::Counter(n) => Some(n.into()), - ScalarValue::Timestamp(n) => Some(*n), - _ => None, - } - } - - pub fn to_u64(&self) -> Option { - match self { - ScalarValue::Int(n) => Some(*n as u64), - ScalarValue::Uint(n) => Some(*n), - ScalarValue::F64(n) => Some(*n as u64), - ScalarValue::Counter(n) => Some(n.into()), - ScalarValue::Timestamp(n) => Some(*n as u64), - _ => None, - } - } - - pub fn to_f64(&self) -> Option { - match self { - ScalarValue::Int(n) => Some(*n as f64), - ScalarValue::Uint(n) => Some(*n as f64), - ScalarValue::F64(n) => Some(*n), - ScalarValue::Counter(n) => Some(n.into()), - ScalarValue::Timestamp(n) => Some(*n as f64), - _ => None, - } - } - - pub fn to_bool(&self) -> Option { - match self { - ScalarValue::Boolean(b) => Some(*b), - _ => None, - } - } - - pub fn counter(n: i64) -> ScalarValue { - ScalarValue::Counter(n.into()) - } -} - -impl From<&str> for ScalarValue { - fn from(s: &str) -> Self { - ScalarValue::Str(s.into()) - } -} - -impl From<&String> for ScalarValue { - fn from(s: &String) -> Self { - ScalarValue::Str(s.into()) - } -} - -impl From for ScalarValue { - fn from(s: String) -> Self { - ScalarValue::Str(s.into()) - } -} - -impl From> for ScalarValue { - fn from(b: Vec) -> Self { - ScalarValue::Bytes(b) - } -} - -impl From for ScalarValue { - fn from(n: i64) -> Self { - ScalarValue::Int(n) - } -} - -impl From for ScalarValue { - fn from(n: f64) -> Self { - ScalarValue::F64(n) - } -} - -impl From for ScalarValue { - fn from(n: u64) -> Self { - ScalarValue::Uint(n) - } -} - -impl From for ScalarValue { - fn from(n: u32) -> Self { - ScalarValue::Uint(n.into()) - } -} - -impl From for ScalarValue { - fn from(n: i32) -> Self { - ScalarValue::Int(n as i64) - } -} - -impl From for ScalarValue { - fn from(b: bool) -> Self { - ScalarValue::Boolean(b) - } -} - -impl From<()> for ScalarValue { - fn from(_: ()) -> Self { - ScalarValue::Null - } -} - -impl From for ScalarValue { - fn from(c: char) -> Self { - ScalarValue::Str(SmolStr::new(c.to_string())) - } -} - -impl fmt::Display for ScalarValue { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - ScalarValue::Bytes(b) => write!(f, "\"{:?}\"", b), - ScalarValue::Str(s) => write!(f, "\"{}\"", s), - ScalarValue::Int(i) => write!(f, "{}", i), - ScalarValue::Uint(i) => write!(f, "{}", i), - ScalarValue::F64(n) => write!(f, "{:.324}", n), - ScalarValue::Counter(c) => write!(f, "Counter: {}", c), - ScalarValue::Timestamp(i) => write!(f, "Timestamp: {}", i), - ScalarValue::Boolean(b) => write!(f, "{}", b), - ScalarValue::Null => write!(f, "null"), - ScalarValue::Unknown { type_code, .. } => write!(f, "unknown type {}", type_code), - } - } -} diff --git a/rust/automerge/src/values.rs b/rust/automerge/src/values.rs deleted file mode 100644 index 15ccb4cb..00000000 --- a/rust/automerge/src/values.rs +++ /dev/null @@ -1,57 +0,0 @@ -use crate::exid::ExId; -use crate::{Automerge, Value}; -use std::fmt; - -/// An iterator over the values in an object -/// -/// This is returned by the [`crate::ReadDoc::values`] and [`crate::ReadDoc::values_at`] methods -pub struct Values<'a> { - range: Box>, - doc: &'a Automerge, -} - -impl<'a> fmt::Debug for Values<'a> { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - f.debug_struct("Values").finish() - } -} - -pub(crate) trait ValueIter<'a> { - fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)>; -} - -pub(crate) struct NoValues {} - -impl<'a> ValueIter<'a> for NoValues { - fn next_value(&mut self, _doc: &'a Automerge) -> Option<(Value<'a>, ExId)> { - None - } -} - -impl<'a> Values<'a> { - pub(crate) fn new>(doc: &'a Automerge, range: Option) -> Self { - if let Some(range) = range { - Self { - range: Box::new(range), - doc, - } - } else { - Self::empty(doc) - } - } - - pub(crate) fn empty(doc: &'a Automerge) -> Self { - Self { - range: Box::new(NoValues {}), - doc, - } - } -} - -impl<'a> Iterator for Values<'a> { - type Item = (Value<'a>, ExId); - - fn next(&mut self) -> Option { - self.range.next_value(self.doc) - } -} diff --git a/rust/automerge/src/visualisation.rs b/rust/automerge/src/visualisation.rs deleted file mode 100644 index 31e9bbdb..00000000 --- a/rust/automerge/src/visualisation.rs +++ /dev/null @@ -1,280 +0,0 @@ -use crate::types::{ObjId, Op}; -use fxhash::FxHasher; -use std::{borrow::Cow, collections::HashMap, hash::BuildHasherDefault}; - -use rand::Rng; - -#[derive(Copy, Clone, PartialEq, Hash, Eq)] -pub(crate) struct NodeId(u64); - -impl Default for NodeId { - fn default() -> Self { - let mut rng = rand::thread_rng(); - let u = rng.gen(); - NodeId(u) - } -} - -#[derive(Clone)] -pub(crate) struct Node<'a> { - id: NodeId, - children: Vec, - node_type: NodeType<'a>, - metadata: &'a crate::op_set::OpSetMetadata, -} - -#[derive(Clone)] -pub(crate) enum NodeType<'a> { - ObjRoot(crate::types::ObjId), - ObjTreeNode(ObjId, &'a crate::op_tree::OpTreeNode, &'a [Op]), -} - -#[derive(Clone)] -pub(crate) struct Edge { - parent_id: NodeId, - child_id: NodeId, -} - -pub(crate) struct GraphVisualisation<'a> { - nodes: HashMap>, - actor_shorthands: HashMap, -} - -impl<'a> GraphVisualisation<'a> { - pub(super) fn construct( - trees: &'a HashMap< - crate::types::ObjId, - crate::op_tree::OpTree, - BuildHasherDefault, - >, - metadata: &'a crate::op_set::OpSetMetadata, - ) -> GraphVisualisation<'a> { - let mut nodes = HashMap::new(); - for (obj_id, tree) in trees { - if let Some(root_node) = &tree.internal.root_node { - let tree_id = Self::construct_nodes( - root_node, - &tree.internal.ops, - obj_id, - &mut nodes, - metadata, - ); - let obj_tree_id = NodeId::default(); - nodes.insert( - obj_tree_id, - Node { - id: obj_tree_id, - children: vec![tree_id], - node_type: NodeType::ObjRoot(*obj_id), - metadata, - }, - ); - } - } - let mut actor_shorthands = HashMap::new(); - for actor in 0..metadata.actors.len() { - actor_shorthands.insert(actor, format!("actor{}", actor)); - } - GraphVisualisation { - nodes, - actor_shorthands, - } - } - - fn construct_nodes( - node: &'a crate::op_tree::OpTreeNode, - ops: &'a [Op], - objid: &ObjId, - nodes: &mut HashMap>, - m: &'a crate::op_set::OpSetMetadata, - ) -> NodeId { - let node_id = NodeId::default(); - let mut child_ids = Vec::new(); - for child in &node.children { - let child_id = Self::construct_nodes(child, ops, objid, nodes, m); - child_ids.push(child_id); - } - nodes.insert( - node_id, - Node { - id: node_id, - children: child_ids, - node_type: NodeType::ObjTreeNode(*objid, node, ops), - metadata: m, - }, - ); - node_id - } -} - -impl<'a> dot::GraphWalk<'a, &'a Node<'a>, Edge> for GraphVisualisation<'a> { - fn nodes(&'a self) -> dot::Nodes<'a, &'a Node<'a>> { - Cow::Owned(self.nodes.values().collect::>()) - } - - fn edges(&'a self) -> dot::Edges<'a, Edge> { - let mut edges = Vec::new(); - for node in self.nodes.values() { - for child in &node.children { - edges.push(Edge { - parent_id: node.id, - child_id: *child, - }); - } - } - Cow::Owned(edges) - } - - fn source(&'a self, edge: &Edge) -> &'a Node<'a> { - self.nodes.get(&edge.parent_id).unwrap() - } - - fn target(&'a self, edge: &Edge) -> &'a Node<'a> { - self.nodes.get(&edge.child_id).unwrap() - } -} - -impl<'a> dot::Labeller<'a, &'a Node<'a>, Edge> for GraphVisualisation<'a> { - fn graph_id(&'a self) -> dot::Id<'a> { - dot::Id::new("OpSet").unwrap() - } - - fn node_id(&'a self, n: &&Node<'a>) -> dot::Id<'a> { - dot::Id::new(format!("node_{}", n.id.0)).unwrap() - } - - fn node_shape(&'a self, node: &&'a Node<'a>) -> Option> { - let shape = match node.node_type { - NodeType::ObjTreeNode(_, _, _) => dot::LabelText::label("none"), - NodeType::ObjRoot(_) => dot::LabelText::label("ellipse"), - }; - Some(shape) - } - - fn node_label(&'a self, n: &&Node<'a>) -> dot::LabelText<'a> { - match n.node_type { - NodeType::ObjTreeNode(objid, tree_node, ops) => dot::LabelText::HtmlStr( - OpTable::create(tree_node, ops, &objid, n.metadata, &self.actor_shorthands) - .to_html() - .into(), - ), - NodeType::ObjRoot(objid) => { - dot::LabelText::label(print_opid(&objid.0, &self.actor_shorthands)) - } - } - } -} - -struct OpTable { - rows: Vec, -} - -impl OpTable { - fn create<'a>( - node: &'a crate::op_tree::OpTreeNode, - ops: &'a [Op], - obj: &ObjId, - metadata: &crate::op_set::OpSetMetadata, - actor_shorthands: &HashMap, - ) -> Self { - let rows = node - .elements - .iter() - .map(|e| OpTableRow::create(&ops[*e], obj, metadata, actor_shorthands)) - .collect(); - OpTable { rows } - } - - fn to_html(&self) -> String { - let rows = self - .rows - .iter() - .map(|r| r.to_html()) - .collect::>() - .join(""); - format!( - "\ - \ - \ - \ - \ - \ - \ - \ - \ -
\ - {}\ -
opobjpropactionsuccpred
", - rows - ) - } -} - -struct OpTableRow { - obj_id: String, - op_id: String, - prop: String, - op_description: String, - succ: String, - pred: String, -} - -impl OpTableRow { - fn to_html(&self) -> String { - let rows = [ - &self.op_id, - &self.obj_id, - &self.prop, - &self.op_description, - &self.succ, - &self.pred, - ]; - let row = rows - .iter() - .map(|r| format!("{}", &r)) - .collect::(); - format!("{}", row) - } -} - -impl OpTableRow { - fn create( - op: &super::types::Op, - obj: &ObjId, - metadata: &crate::op_set::OpSetMetadata, - actor_shorthands: &HashMap, - ) -> Self { - let op_description = match &op.action { - crate::OpType::Delete => "del".to_string(), - crate::OpType::Put(v) => format!("set {}", v), - crate::OpType::Make(obj) => format!("make {}", obj), - crate::OpType::Increment(v) => format!("inc {}", v), - }; - let prop = match op.key { - crate::types::Key::Map(k) => metadata.props[k].clone(), - crate::types::Key::Seq(e) => print_opid(&e.0, actor_shorthands), - }; - let succ = op - .succ - .iter() - .map(|s| format!(",{}", print_opid(s, actor_shorthands))) - .collect(); - let pred = op - .pred - .iter() - .map(|s| format!(",{}", print_opid(s, actor_shorthands))) - .collect(); - OpTableRow { - op_description, - obj_id: print_opid(&obj.0, actor_shorthands), - op_id: print_opid(&op.id, actor_shorthands), - prop, - succ, - pred, - } - } -} - -fn print_opid(opid: &crate::types::OpId, actor_shorthands: &HashMap) -> String { - format!("{}@{}", opid.counter(), actor_shorthands[&opid.actor()]) -} diff --git a/rust/automerge/tests/fixtures/64bit_obj_id_change.automerge b/rust/automerge/tests/fixtures/64bit_obj_id_change.automerge deleted file mode 100644 index 700342a2..00000000 Binary files a/rust/automerge/tests/fixtures/64bit_obj_id_change.automerge and /dev/null differ diff --git a/rust/automerge/tests/fixtures/64bit_obj_id_doc.automerge b/rust/automerge/tests/fixtures/64bit_obj_id_doc.automerge deleted file mode 100644 index 6beb57fe..00000000 Binary files a/rust/automerge/tests/fixtures/64bit_obj_id_doc.automerge and /dev/null differ diff --git a/rust/automerge/tests/fixtures/counter_value_has_incorrect_meta.automerge b/rust/automerge/tests/fixtures/counter_value_has_incorrect_meta.automerge deleted file mode 100644 index 2290b446..00000000 Binary files a/rust/automerge/tests/fixtures/counter_value_has_incorrect_meta.automerge and /dev/null differ diff --git a/rust/automerge/tests/fixtures/counter_value_is_ok.automerge b/rust/automerge/tests/fixtures/counter_value_is_ok.automerge deleted file mode 100644 index fdc59896..00000000 Binary files a/rust/automerge/tests/fixtures/counter_value_is_ok.automerge and /dev/null differ diff --git a/rust/automerge/tests/fixtures/counter_value_is_overlong.automerge b/rust/automerge/tests/fixtures/counter_value_is_overlong.automerge deleted file mode 100644 index 831346f7..00000000 Binary files a/rust/automerge/tests/fixtures/counter_value_is_overlong.automerge and /dev/null differ diff --git a/rust/automerge/tests/fixtures/two_change_chunks.automerge b/rust/automerge/tests/fixtures/two_change_chunks.automerge deleted file mode 100644 index 1a84b363..00000000 Binary files a/rust/automerge/tests/fixtures/two_change_chunks.automerge and /dev/null differ diff --git a/rust/automerge/tests/fixtures/two_change_chunks_compressed.automerge b/rust/automerge/tests/fixtures/two_change_chunks_compressed.automerge deleted file mode 100644 index 9e3f305f..00000000 Binary files a/rust/automerge/tests/fixtures/two_change_chunks_compressed.automerge and /dev/null differ diff --git a/rust/automerge/tests/fixtures/two_change_chunks_out_of_order.automerge b/rust/automerge/tests/fixtures/two_change_chunks_out_of_order.automerge deleted file mode 100644 index 9ba0355f..00000000 Binary files a/rust/automerge/tests/fixtures/two_change_chunks_out_of_order.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/action-is-48.automerge b/rust/automerge/tests/fuzz-crashers/action-is-48.automerge deleted file mode 100644 index 16e6f719..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/action-is-48.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/crash-da39a3ee5e6b4b0d3255bfef95601890afd80709 b/rust/automerge/tests/fuzz-crashers/crash-da39a3ee5e6b4b0d3255bfef95601890afd80709 deleted file mode 100644 index bcb12cdd..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/crash-da39a3ee5e6b4b0d3255bfef95601890afd80709 and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/incorrect_max_op.automerge b/rust/automerge/tests/fuzz-crashers/incorrect_max_op.automerge deleted file mode 100644 index 05cc2c82..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/incorrect_max_op.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/invalid_deflate_stream.automerge b/rust/automerge/tests/fuzz-crashers/invalid_deflate_stream.automerge deleted file mode 100644 index 21e869eb..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/invalid_deflate_stream.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/missing_actor.automerge b/rust/automerge/tests/fuzz-crashers/missing_actor.automerge deleted file mode 100644 index cc8c61b1..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/missing_actor.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/missing_deps.automerge b/rust/automerge/tests/fuzz-crashers/missing_deps.automerge deleted file mode 100644 index 8a57a0f4..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/missing_deps.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/missing_deps_compressed.automerge b/rust/automerge/tests/fuzz-crashers/missing_deps_compressed.automerge deleted file mode 100644 index 2c7b123b..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/missing_deps_compressed.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/missing_deps_subsequent.automerge b/rust/automerge/tests/fuzz-crashers/missing_deps_subsequent.automerge deleted file mode 100644 index 2fe439af..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/missing_deps_subsequent.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/overflow_in_length.automerge b/rust/automerge/tests/fuzz-crashers/overflow_in_length.automerge deleted file mode 100644 index 45771f34..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/overflow_in_length.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/too_many_deps.automerge b/rust/automerge/tests/fuzz-crashers/too_many_deps.automerge deleted file mode 100644 index 657ce993..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/too_many_deps.automerge and /dev/null differ diff --git a/rust/automerge/tests/fuzz-crashers/too_many_ops.automerge b/rust/automerge/tests/fuzz-crashers/too_many_ops.automerge deleted file mode 100644 index 661258b0..00000000 Binary files a/rust/automerge/tests/fuzz-crashers/too_many_ops.automerge and /dev/null differ diff --git a/rust/automerge/tests/test.rs b/rust/automerge/tests/test.rs deleted file mode 100644 index 3be6725e..00000000 --- a/rust/automerge/tests/test.rs +++ /dev/null @@ -1,1499 +0,0 @@ -use automerge::transaction::Transactable; -use automerge::{ - ActorId, AutoCommit, Automerge, AutomergeError, Change, ExpandedChange, ObjType, ReadDoc, - ScalarValue, VecOpObserver, ROOT, -}; -use std::fs; - -// set up logging for all the tests -//use test_log::test; - -#[allow(unused_imports)] -use automerge_test::{ - assert_doc, assert_obj, list, map, mk_counter, new_doc, new_doc_with_actor, pretty_print, - realize, realize_obj, sorted_actors, RealizedObject, -}; -use pretty_assertions::assert_eq; - -#[test] -fn no_conflict_on_repeated_assignment() { - let mut doc = AutoCommit::new(); - doc.put(&automerge::ROOT, "foo", 1).unwrap(); - doc.put(&automerge::ROOT, "foo", 2).unwrap(); - assert_doc!( - &doc, - map! { - "foo" => { 2 }, - } - ); -} - -#[test] -fn repeated_map_assignment_which_resolves_conflict_not_ignored() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - doc1.put(&automerge::ROOT, "field", 123).unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc2.put(&automerge::ROOT, "field", 456).unwrap(); - doc1.put(&automerge::ROOT, "field", 789).unwrap(); - doc1.merge(&mut doc2).unwrap(); - assert_eq!(doc1.get_all(&automerge::ROOT, "field").unwrap().len(), 2); - - doc1.put(&automerge::ROOT, "field", 123).unwrap(); - assert_doc!( - &doc1, - map! { - "field" => { 123 } - } - ); -} - -#[test] -fn repeated_list_assignment_which_resolves_conflict_not_ignored() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - let list_id = doc1 - .put_object(&automerge::ROOT, "list", ObjType::List) - .unwrap(); - doc1.insert(&list_id, 0, 123).unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc2.put(&list_id, 0, 456).unwrap(); - doc1.merge(&mut doc2).unwrap(); - doc1.put(&list_id, 0, 789).unwrap(); - - assert_doc!( - &doc1, - map! { - "list" => { - list![ - { 789 }, - ] - } - } - ); -} - -#[test] -fn list_deletion() { - let mut doc = new_doc(); - let list_id = doc - .put_object(&automerge::ROOT, "list", ObjType::List) - .unwrap(); - doc.insert(&list_id, 0, 123).unwrap(); - doc.insert(&list_id, 1, 456).unwrap(); - doc.insert(&list_id, 2, 789).unwrap(); - doc.delete(&list_id, 1).unwrap(); - assert_doc!( - &doc, - map! { - "list" => { list![ - { 123 }, - { 789 }, - ]} - } - ) -} - -#[test] -fn merge_concurrent_map_prop_updates() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - doc1.put(&automerge::ROOT, "foo", "bar").unwrap(); - doc2.put(&automerge::ROOT, "hello", "world").unwrap(); - doc1.merge(&mut doc2).unwrap(); - assert_eq!( - doc1.get(&automerge::ROOT, "foo").unwrap().unwrap().0, - "bar".into() - ); - assert_doc!( - &doc1, - map! { - "foo" => { "bar" }, - "hello" => { "world" }, - } - ); - doc2.merge(&mut doc1).unwrap(); - assert_doc!( - &doc2, - map! { - "foo" => { "bar" }, - "hello" => { "world" }, - } - ); - assert_eq!(realize(doc1.document()), realize(doc2.document())); -} - -#[test] -fn add_concurrent_increments_of_same_property() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - doc1.put(&automerge::ROOT, "counter", mk_counter(0)) - .unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc1.increment(&automerge::ROOT, "counter", 1).unwrap(); - doc2.increment(&automerge::ROOT, "counter", 2).unwrap(); - doc1.merge(&mut doc2).unwrap(); - assert_doc!( - &doc1, - map! { - "counter" => { - mk_counter(3) - } - } - ); -} - -#[test] -fn add_increments_only_to_preceeded_values() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - - doc1.put(&automerge::ROOT, "counter", mk_counter(0)) - .unwrap(); - doc1.increment(&automerge::ROOT, "counter", 1).unwrap(); - - // create a counter in doc2 - doc2.put(&automerge::ROOT, "counter", mk_counter(0)) - .unwrap(); - doc2.increment(&automerge::ROOT, "counter", 3).unwrap(); - - // The two values should be conflicting rather than added - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "counter" => { - mk_counter(1), - mk_counter(3), - } - } - ); -} - -#[test] -fn concurrent_updates_of_same_field() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - doc1.put(&automerge::ROOT, "field", "one").unwrap(); - doc2.put(&automerge::ROOT, "field", "two").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "field" => { - "one", - "two", - } - } - ); -} - -#[test] -fn concurrent_updates_of_same_list_element() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - let list_id = doc1 - .put_object(&automerge::ROOT, "birds", ObjType::List) - .unwrap(); - doc1.insert(&list_id, 0, "finch").unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc1.put(&list_id, 0, "greenfinch").unwrap(); - doc2.put(&list_id, 0, "goldfinch").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "birds" => { - list![{ - "greenfinch", - "goldfinch", - }] - } - } - ); -} - -#[test] -fn assignment_conflicts_of_different_types() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - let mut doc3 = new_doc(); - doc1.put(&automerge::ROOT, "field", "string").unwrap(); - doc2.put_object(&automerge::ROOT, "field", ObjType::List) - .unwrap(); - doc3.put_object(&automerge::ROOT, "field", ObjType::Map) - .unwrap(); - doc1.merge(&mut doc2).unwrap(); - doc1.merge(&mut doc3).unwrap(); - - assert_doc!( - &doc1, - map! { - "field" => { - "string", - list!{}, - map!{}, - } - } - ); -} - -#[test] -fn changes_within_conflicting_map_field() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - doc1.put(&automerge::ROOT, "field", "string").unwrap(); - let map_id = doc2 - .put_object(&automerge::ROOT, "field", ObjType::Map) - .unwrap(); - doc2.put(&map_id, "innerKey", 42).unwrap(); - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "field" => { - "string", - map!{ - "innerKey" => { - 42, - } - } - } - } - ); -} - -#[test] -fn changes_within_conflicting_list_element() { - let (actor1, actor2) = sorted_actors(); - let mut doc1 = new_doc_with_actor(actor1); - let mut doc2 = new_doc_with_actor(actor2); - let list_id = doc1 - .put_object(&automerge::ROOT, "list", ObjType::List) - .unwrap(); - doc1.insert(&list_id, 0, "hello").unwrap(); - doc2.merge(&mut doc1).unwrap(); - - let map_in_doc1 = doc1.put_object(&list_id, 0, ObjType::Map).unwrap(); - doc1.put(&map_in_doc1, "map1", true).unwrap(); - doc1.put(&map_in_doc1, "key", 1).unwrap(); - - let map_in_doc2 = doc2.put_object(&list_id, 0, ObjType::Map).unwrap(); - doc1.merge(&mut doc2).unwrap(); - doc2.put(&map_in_doc2, "map2", true).unwrap(); - doc2.put(&map_in_doc2, "key", 2).unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "list" => { - list![ - { - map!{ - "map2" => { true }, - "key" => { 2 }, - }, - map!{ - "key" => { 1 }, - "map1" => { true }, - } - } - ] - } - } - ); -} - -#[test] -fn concurrently_assigned_nested_maps_should_not_merge() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - - let doc1_map_id = doc1 - .put_object(&automerge::ROOT, "config", ObjType::Map) - .unwrap(); - doc1.put(&doc1_map_id, "background", "blue").unwrap(); - - let doc2_map_id = doc2 - .put_object(&automerge::ROOT, "config", ObjType::Map) - .unwrap(); - doc2.put(&doc2_map_id, "logo_url", "logo.png").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "config" => { - map!{ - "background" => {"blue"} - }, - map!{ - "logo_url" => {"logo.png"} - } - } - } - ); -} - -#[test] -fn concurrent_insertions_at_different_list_positions() { - let (actor1, actor2) = sorted_actors(); - let mut doc1 = new_doc_with_actor(actor1); - let mut doc2 = new_doc_with_actor(actor2); - assert!(doc1.get_actor() < doc2.get_actor()); - - let list_id = doc1 - .put_object(&automerge::ROOT, "list", ObjType::List) - .unwrap(); - - doc1.insert(&list_id, 0, "one").unwrap(); - doc1.insert(&list_id, 1, "three").unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc1.splice(&list_id, 1, 0, vec!["two".into()]).unwrap(); - doc2.insert(&list_id, 2, "four").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "list" => { - list![ - {"one"}, - {"two"}, - {"three"}, - {"four"}, - ] - } - } - ); -} - -#[test] -fn concurrent_insertions_at_same_list_position() { - let (actor1, actor2) = sorted_actors(); - let mut doc1 = new_doc_with_actor(actor1); - let mut doc2 = new_doc_with_actor(actor2); - assert!(doc1.get_actor() < doc2.get_actor()); - - let list_id = doc1 - .put_object(&automerge::ROOT, "birds", ObjType::List) - .unwrap(); - doc1.insert(&list_id, 0, "parakeet").unwrap(); - - doc2.merge(&mut doc1).unwrap(); - doc1.insert(&list_id, 1, "starling").unwrap(); - doc2.insert(&list_id, 1, "chaffinch").unwrap(); - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "birds" => { - list![ - { - "parakeet", - }, - { - "chaffinch", - }, - { - "starling", - }, - ] - }, - } - ); -} - -#[test] -fn concurrent_assignment_and_deletion_of_a_map_entry() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - doc1.put(&automerge::ROOT, "bestBird", "robin").unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc1.delete(&automerge::ROOT, "bestBird").unwrap(); - doc2.put(&automerge::ROOT, "bestBird", "magpie").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "bestBird" => { - "magpie", - } - } - ); -} - -#[test] -fn concurrent_assignment_and_deletion_of_list_entry() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - let list_id = doc1 - .put_object(&automerge::ROOT, "birds", ObjType::List) - .unwrap(); - doc1.insert(&list_id, 0, "blackbird").unwrap(); - doc1.insert(&list_id, 1, "thrush").unwrap(); - doc1.insert(&list_id, 2, "goldfinch").unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc1.put(&list_id, 1, "starling").unwrap(); - doc2.delete(&list_id, 1).unwrap(); - - assert_doc!( - &doc2, - map! { - "birds" => {list![ - {"blackbird"}, - {"goldfinch"}, - ]} - } - ); - - assert_doc!( - &doc1, - map! { - "birds" => {list![ - { "blackbird" }, - { "starling" }, - { "goldfinch" }, - ]} - } - ); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "birds" => {list![ - { "blackbird" }, - { "starling" }, - { "goldfinch" }, - ]} - } - ); -} - -#[test] -fn insertion_after_a_deleted_list_element() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - let list_id = doc1 - .put_object(&automerge::ROOT, "birds", ObjType::List) - .unwrap(); - - doc1.insert(&list_id, 0, "blackbird").unwrap(); - doc1.insert(&list_id, 1, "thrush").unwrap(); - doc1.insert(&list_id, 2, "goldfinch").unwrap(); - - doc2.merge(&mut doc1).unwrap(); - - doc1.splice(&list_id, 1, 2, Vec::new()).unwrap(); - - doc2.splice(&list_id, 2, 0, vec!["starling".into()]) - .unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "birds" => {list![ - { "blackbird" }, - { "starling" } - ]} - } - ); - - doc2.merge(&mut doc1).unwrap(); - assert_doc!( - &doc2, - map! { - "birds" => {list![ - { "blackbird" }, - { "starling" } - ]} - } - ); -} - -#[test] -fn concurrent_deletion_of_same_list_element() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - let list_id = doc1 - .put_object(&automerge::ROOT, "birds", ObjType::List) - .unwrap(); - - doc1.insert(&list_id, 0, "albatross").unwrap(); - doc1.insert(&list_id, 1, "buzzard").unwrap(); - doc1.insert(&list_id, 2, "cormorant").unwrap(); - - doc2.merge(&mut doc1).unwrap(); - - doc1.delete(&list_id, 1).unwrap(); - - doc2.delete(&list_id, 1).unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "birds" => {list![ - { "albatross" }, - { "cormorant" } - ]} - } - ); - - doc2.merge(&mut doc1).unwrap(); - assert_doc!( - &doc2, - map! { - "birds" => {list![ - { "albatross" }, - { "cormorant" } - ]} - } - ); -} - -#[test] -fn concurrent_updates_at_different_levels() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - - let animals = doc1 - .put_object(&automerge::ROOT, "animals", ObjType::Map) - .unwrap(); - let birds = doc1.put_object(&animals, "birds", ObjType::Map).unwrap(); - doc1.put(&birds, "pink", "flamingo").unwrap(); - doc1.put(&birds, "black", "starling").unwrap(); - - let mammals = doc1.put_object(&animals, "mammals", ObjType::List).unwrap(); - doc1.insert(&mammals, 0, "badger").unwrap(); - - doc2.merge(&mut doc1).unwrap(); - - doc1.put(&birds, "brown", "sparrow").unwrap(); - - doc2.delete(&animals, "birds").unwrap(); - doc1.merge(&mut doc2).unwrap(); - - assert_obj!( - &doc1, - &automerge::ROOT, - "animals", - map! { - "mammals" => { - list![{ "badger" }], - } - } - ); - - assert_obj!( - doc2.document(), - &automerge::ROOT, - "animals", - map! { - "mammals" => { - list![{ "badger" }], - } - } - ); -} - -#[test] -fn concurrent_updates_of_concurrently_deleted_objects() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - - let birds = doc1 - .put_object(&automerge::ROOT, "birds", ObjType::Map) - .unwrap(); - let blackbird = doc1.put_object(&birds, "blackbird", ObjType::Map).unwrap(); - doc1.put(&blackbird, "feathers", "black").unwrap(); - - doc2.merge(&mut doc1).unwrap(); - - doc1.delete(&birds, "blackbird").unwrap(); - - doc2.put(&blackbird, "beak", "orange").unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "birds" => { - map!{}, - } - } - ); -} - -#[test] -fn does_not_interleave_sequence_insertions_at_same_position() { - let (actor1, actor2) = sorted_actors(); - let mut doc1 = new_doc_with_actor(actor1); - let mut doc2 = new_doc_with_actor(actor2); - - let wisdom = doc1 - .put_object(&automerge::ROOT, "wisdom", ObjType::List) - .unwrap(); - doc2.merge(&mut doc1).unwrap(); - - doc1.splice( - &wisdom, - 0, - 0, - vec![ - "to".into(), - "be".into(), - "is".into(), - "to".into(), - "do".into(), - ], - ) - .unwrap(); - - doc2.splice( - &wisdom, - 0, - 0, - vec![ - "to".into(), - "do".into(), - "is".into(), - "to".into(), - "be".into(), - ], - ) - .unwrap(); - - doc1.merge(&mut doc2).unwrap(); - - assert_doc!( - &doc1, - map! { - "wisdom" => {list![ - {"to"}, - {"do"}, - {"is"}, - {"to"}, - {"be"}, - {"to"}, - {"be"}, - {"is"}, - {"to"}, - {"do"}, - ]} - } - ); -} - -#[test] -fn mutliple_insertions_at_same_list_position_with_insertion_by_greater_actor_id() { - let (actor1, actor2) = sorted_actors(); - assert!(actor2 > actor1); - let mut doc1 = new_doc_with_actor(actor1); - let mut doc2 = new_doc_with_actor(actor2); - - let list = doc1 - .put_object(&automerge::ROOT, "list", ObjType::List) - .unwrap(); - doc1.insert(&list, 0, "two").unwrap(); - doc2.merge(&mut doc1).unwrap(); - - doc2.insert(&list, 0, "one").unwrap(); - assert_doc!( - &doc2, - map! { - "list" => { list![ - { "one" }, - { "two" }, - ]} - } - ); -} - -#[test] -fn mutliple_insertions_at_same_list_position_with_insertion_by_lesser_actor_id() { - let (actor2, actor1) = sorted_actors(); - assert!(actor2 < actor1); - let mut doc1 = new_doc_with_actor(actor1); - let mut doc2 = new_doc_with_actor(actor2); - - let list = doc1 - .put_object(&automerge::ROOT, "list", ObjType::List) - .unwrap(); - doc1.insert(&list, 0, "two").unwrap(); - doc2.merge(&mut doc1).unwrap(); - - doc2.insert(&list, 0, "one").unwrap(); - assert_doc!( - &doc2, - map! { - "list" => { list![ - { "one" }, - { "two" }, - ]} - } - ); -} - -#[test] -fn insertion_consistent_with_causality() { - let mut doc1 = new_doc(); - let mut doc2 = new_doc(); - - let list = doc1 - .put_object(&automerge::ROOT, "list", ObjType::List) - .unwrap(); - doc1.insert(&list, 0, "four").unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc2.insert(&list, 0, "three").unwrap(); - doc1.merge(&mut doc2).unwrap(); - doc1.insert(&list, 0, "two").unwrap(); - doc2.merge(&mut doc1).unwrap(); - doc2.insert(&list, 0, "one").unwrap(); - - assert_doc!( - &doc2, - map! { - "list" => { list![ - {"one"}, - {"two"}, - {"three" }, - {"four"}, - ]} - } - ); -} - -#[test] -fn save_and_restore_empty() { - let mut doc = new_doc(); - let loaded = Automerge::load(&doc.save()).unwrap(); - - assert_doc!(&loaded, map! {}); -} - -#[test] -fn save_restore_complex() { - let mut doc1 = new_doc(); - let todos = doc1 - .put_object(&automerge::ROOT, "todos", ObjType::List) - .unwrap(); - - let first_todo = doc1.insert_object(&todos, 0, ObjType::Map).unwrap(); - doc1.put(&first_todo, "title", "water plants").unwrap(); - doc1.put(&first_todo, "done", false).unwrap(); - - let mut doc2 = new_doc(); - doc2.merge(&mut doc1).unwrap(); - doc2.put(&first_todo, "title", "weed plants").unwrap(); - - doc1.put(&first_todo, "title", "kill plants").unwrap(); - doc1.merge(&mut doc2).unwrap(); - - let reloaded = Automerge::load(&doc1.save()).unwrap(); - - assert_doc!( - &reloaded, - map! { - "todos" => {list![ - {map!{ - "title" => { - "weed plants", - "kill plants", - }, - "done" => {false}, - }} - ]} - } - ); -} - -#[test] -fn handle_repeated_out_of_order_changes() -> Result<(), automerge::AutomergeError> { - let mut doc1 = new_doc(); - let list = doc1.put_object(ROOT, "list", ObjType::List)?; - doc1.insert(&list, 0, "a")?; - let mut doc2 = doc1.fork(); - doc1.insert(&list, 1, "b")?; - doc1.commit(); - doc1.insert(&list, 2, "c")?; - doc1.commit(); - doc1.insert(&list, 3, "d")?; - doc1.commit(); - let changes = doc1 - .get_changes(&[]) - .unwrap() - .into_iter() - .cloned() - .collect::>(); - doc2.apply_changes(changes[2..].to_vec())?; - doc2.apply_changes(changes[2..].to_vec())?; - doc2.apply_changes(changes)?; - assert_eq!(doc1.save(), doc2.save()); - Ok(()) -} - -#[test] -fn save_restore_complex_transactional() { - let mut doc1 = Automerge::new(); - let first_todo = doc1 - .transact::<_, _, automerge::AutomergeError>(|d| { - let todos = d.put_object(&automerge::ROOT, "todos", ObjType::List)?; - let first_todo = d.insert_object(&todos, 0, ObjType::Map)?; - d.put(&first_todo, "title", "water plants")?; - d.put(&first_todo, "done", false)?; - Ok(first_todo) - }) - .unwrap() - .result; - - let mut doc2 = Automerge::new(); - doc2.merge(&mut doc1).unwrap(); - doc2.transact::<_, _, automerge::AutomergeError>(|tx| { - tx.put(&first_todo, "title", "weed plants")?; - Ok(()) - }) - .unwrap(); - - doc1.transact::<_, _, automerge::AutomergeError>(|tx| { - tx.put(&first_todo, "title", "kill plants")?; - Ok(()) - }) - .unwrap(); - doc1.merge(&mut doc2).unwrap(); - - let reloaded = Automerge::load(&doc1.save()).unwrap(); - - assert_doc!( - &reloaded, - map! { - "todos" => {list![ - {map!{ - "title" => { - "weed plants", - "kill plants", - }, - "done" => {false}, - }} - ]} - } - ); -} - -#[test] -fn list_counter_del() -> Result<(), automerge::AutomergeError> { - let mut v = vec![ActorId::random(), ActorId::random(), ActorId::random()]; - v.sort(); - let actor1 = v[0].clone(); - let actor2 = v[1].clone(); - let actor3 = v[2].clone(); - - let mut doc1 = new_doc_with_actor(actor1); - - let list = doc1.put_object(ROOT, "list", ObjType::List)?; - doc1.insert(&list, 0, "a")?; - doc1.insert(&list, 1, "b")?; - doc1.insert(&list, 2, "c")?; - - let mut doc2 = AutoCommit::load(&doc1.save())?; - doc2.set_actor(actor2); - - let mut doc3 = AutoCommit::load(&doc1.save())?; - doc3.set_actor(actor3); - - doc1.put(&list, 1, ScalarValue::counter(0))?; - doc2.put(&list, 1, ScalarValue::counter(10))?; - doc3.put(&list, 1, ScalarValue::counter(100))?; - - doc1.put(&list, 2, ScalarValue::counter(0))?; - doc2.put(&list, 2, ScalarValue::counter(10))?; - doc3.put(&list, 2, 100)?; - - doc1.increment(&list, 1, 1)?; - doc1.increment(&list, 2, 1)?; - - doc1.merge(&mut doc2).unwrap(); - doc1.merge(&mut doc3).unwrap(); - - assert_obj!( - doc1.document(), - &automerge::ROOT, - "list", - list![ - { - "a", - }, - { - ScalarValue::counter(1), - ScalarValue::counter(10), - ScalarValue::counter(100) - }, - { - ScalarValue::Int(100), - ScalarValue::counter(1), - ScalarValue::counter(10), - } - ] - ); - - doc1.increment(&list, 1, 1)?; - doc1.increment(&list, 2, 1)?; - - assert_obj!( - doc1.document(), - &automerge::ROOT, - "list", - list![ - { - "a", - }, - { - ScalarValue::counter(2), - ScalarValue::counter(11), - ScalarValue::counter(101) - }, - { - ScalarValue::counter(2), - ScalarValue::counter(11), - } - ] - ); - - doc1.delete(&list, 2)?; - - assert_eq!(doc1.length(&list), 2); - - let doc4 = AutoCommit::load(&doc1.save())?; - - assert_eq!(doc4.length(&list), 2); - - doc1.delete(&list, 1)?; - - assert_eq!(doc1.length(&list), 1); - - let doc5 = AutoCommit::load(&doc1.save())?; - - assert_eq!(doc5.length(&list), 1); - - Ok(()) -} - -#[test] -fn observe_counter_change_application() { - let mut doc = AutoCommit::new(); - doc.put(ROOT, "counter", ScalarValue::counter(1)).unwrap(); - doc.increment(ROOT, "counter", 2).unwrap(); - doc.increment(ROOT, "counter", 5).unwrap(); - let changes = doc.get_changes(&[]).unwrap().into_iter().cloned(); - - let mut doc = AutoCommit::new().with_observer(VecOpObserver::default()); - doc.apply_changes(changes).unwrap(); -} - -#[test] -fn increment_non_counter_map() { - let mut doc = AutoCommit::new(); - // can't increment nothing - assert!(matches!( - doc.increment(ROOT, "nothing", 2), - Err(AutomergeError::MissingCounter) - )); - - // can't increment a non-counter - doc.put(ROOT, "non-counter", "mystring").unwrap(); - assert!(matches!( - doc.increment(ROOT, "non-counter", 2), - Err(AutomergeError::MissingCounter) - )); - - // can increment a counter still - doc.put(ROOT, "counter", ScalarValue::counter(1)).unwrap(); - assert!(matches!(doc.increment(ROOT, "counter", 2), Ok(()))); - - // can increment a counter that is part of a conflict - let mut doc1 = AutoCommit::new(); - doc1.set_actor(ActorId::from([1])); - let mut doc2 = AutoCommit::new(); - doc2.set_actor(ActorId::from([2])); - - doc1.put(ROOT, "key", ScalarValue::counter(1)).unwrap(); - doc2.put(ROOT, "key", "mystring").unwrap(); - doc1.merge(&mut doc2).unwrap(); - - assert!(matches!(doc1.increment(ROOT, "key", 2), Ok(()))); -} - -#[test] -fn increment_non_counter_list() { - let mut doc = AutoCommit::new(); - let list = doc.put_object(ROOT, "list", ObjType::List).unwrap(); - - // can't increment a non-counter - doc.insert(&list, 0, "mystring").unwrap(); - assert!(matches!( - doc.increment(&list, 0, 2), - Err(AutomergeError::MissingCounter) - )); - - // can increment a counter - doc.insert(&list, 0, ScalarValue::counter(1)).unwrap(); - assert!(matches!(doc.increment(&list, 0, 2), Ok(()))); - - // can increment a counter that is part of a conflict - let mut doc1 = AutoCommit::new(); - doc1.set_actor(ActorId::from([1])); - let list = doc1.put_object(ROOT, "list", ObjType::List).unwrap(); - doc1.insert(&list, 0, ()).unwrap(); - let mut doc2 = doc1.fork(); - doc2.set_actor(ActorId::from([2])); - - doc1.put(&list, 0, ScalarValue::counter(1)).unwrap(); - doc2.put(&list, 0, "mystring").unwrap(); - doc1.merge(&mut doc2).unwrap(); - - assert!(matches!(doc1.increment(&list, 0, 2), Ok(()))); -} - -#[test] -fn test_local_inc_in_map() { - let mut v = vec![ActorId::random(), ActorId::random(), ActorId::random()]; - v.sort(); - let actor1 = v[0].clone(); - let actor2 = v[1].clone(); - let actor3 = v[2].clone(); - - let mut doc1 = new_doc_with_actor(actor1); - doc1.put(&automerge::ROOT, "hello", "world").unwrap(); - - let mut doc2 = AutoCommit::load(&doc1.save()).unwrap(); - doc2.set_actor(actor2); - - let mut doc3 = AutoCommit::load(&doc1.save()).unwrap(); - doc3.set_actor(actor3); - - doc1.put(ROOT, "cnt", 20_u64).unwrap(); - doc2.put(ROOT, "cnt", ScalarValue::counter(0)).unwrap(); - doc3.put(ROOT, "cnt", ScalarValue::counter(10)).unwrap(); - doc1.merge(&mut doc2).unwrap(); - doc1.merge(&mut doc3).unwrap(); - - assert_doc! {doc1.document(), map!{ - "cnt" => { - 20_u64, - ScalarValue::counter(0), - ScalarValue::counter(10), - }, - "hello" => {"world"}, - }}; - - doc1.increment(ROOT, "cnt", 5).unwrap(); - - assert_doc! {doc1.document(), map!{ - "cnt" => { - ScalarValue::counter(5), - ScalarValue::counter(15), - }, - "hello" => {"world"}, - }}; - let mut doc4 = AutoCommit::load(&doc1.save()).unwrap(); - assert_eq!(doc4.save(), doc1.save()); -} - -#[test] -fn test_merging_test_conflicts_then_saving_and_loading() { - let (actor1, actor2) = sorted_actors(); - - let mut doc1 = new_doc_with_actor(actor1); - let text = doc1.put_object(ROOT, "text", ObjType::Text).unwrap(); - doc1.splice_text(&text, 0, 0, "hello").unwrap(); - - let mut doc2 = AutoCommit::load(&doc1.save()).unwrap(); - doc2.set_actor(actor2); - - assert_doc! {&doc2, map!{ - "text" => { list![{"h"}, {"e"}, {"l"}, {"l"}, {"o"}]}, - }}; - - doc2.splice_text(&text, 4, 1, "").unwrap(); - doc2.splice_text(&text, 4, 0, "!").unwrap(); - doc2.splice_text(&text, 5, 0, " ").unwrap(); - doc2.splice_text(&text, 6, 0, "world").unwrap(); - - assert_doc!( - &doc2, - map! { - "text" => { list![{"h"}, {"e"}, {"l"}, {"l"}, {"!"}, {" "}, {"w"} , {"o"}, {"r"}, {"l"}, {"d"}]} - } - ); - - let doc3 = AutoCommit::load(&doc2.save()).unwrap(); - - assert_doc!( - &doc3, - map! { - "text" => { list![{"h"}, {"e"}, {"l"}, {"l"}, {"!"}, {" "}, {"w"} , {"o"}, {"r"}, {"l"}, {"d"}]} - } - ); -} - -/// Surfaces an error which occurs when loading a document with a change which only contains a -/// delete operation. In this case the delete operation doesn't appear in the encoded document -/// operations except as a succ, so the max_op was calculated incorectly. -#[test] -fn delete_only_change() { - let actor = automerge::ActorId::random(); - let mut doc1 = automerge::Automerge::new().with_actor(actor.clone()); - let list = doc1 - .transact::<_, _, automerge::AutomergeError>(|d| { - let l = d.put_object(&automerge::ROOT, "list", ObjType::List)?; - d.insert(&l, 0, 'a')?; - Ok(l) - }) - .unwrap() - .result; - - let mut doc2 = automerge::Automerge::load(&doc1.save()) - .unwrap() - .with_actor(actor.clone()); - doc2.transact::<_, _, automerge::AutomergeError>(|d| d.delete(&list, 0)) - .unwrap(); - - let mut doc3 = automerge::Automerge::load(&doc2.save()) - .unwrap() - .with_actor(actor.clone()); - doc3.transact(|d| d.insert(&list, 0, "b")).unwrap(); - - let doc4 = automerge::Automerge::load(&doc3.save()) - .unwrap() - .with_actor(actor); - - let changes = doc4.get_changes(&[]).unwrap(); - assert_eq!(changes.len(), 3); - let c = changes[2]; - assert_eq!(c.start_op().get(), 4); -} - -/// Expose an error where a document which contained a create operation without any subsequent -/// operations targeting the created object did not load the object correctly. -#[test] -fn save_and_reload_create_object() { - let actor = automerge::ActorId::random(); - let mut doc = automerge::Automerge::new().with_actor(actor); - - // Create a change containing an object but no other operations - let list = doc - .transact::<_, _, automerge::AutomergeError>(|d| { - d.put_object(&automerge::ROOT, "foo", ObjType::List) - }) - .unwrap() - .result; - - // Save and load the change - let mut doc2 = automerge::Automerge::load(&doc.save()).unwrap(); - doc2.transact::<_, _, automerge::AutomergeError>(|d| { - d.insert(&list, 0, 1_u64)?; - Ok(()) - }) - .unwrap(); - - assert_doc!(&doc2, map! {"foo" => { list! [{1_u64}]}}); - - let _doc3 = automerge::Automerge::load(&doc2.save()).unwrap(); -} - -#[test] -fn test_compressed_changes() { - let mut doc = new_doc(); - // crate::storage::DEFLATE_MIN_SIZE is 250, so this should trigger compression - doc.put(ROOT, "bytes", ScalarValue::Bytes(vec![10; 300])) - .unwrap(); - let mut change = doc.get_last_local_change().unwrap().clone(); - let uncompressed = change.raw_bytes().to_vec(); - assert!(uncompressed.len() > 256); - let compressed = change.bytes().to_vec(); - assert!(compressed.len() < uncompressed.len()); - - let reloaded = automerge::Change::try_from(&compressed[..]).unwrap(); - assert_eq!(change.raw_bytes(), reloaded.raw_bytes()); -} - -#[test] -fn test_compressed_doc_cols() { - // In this test, the keyCtr column is long enough for deflate compression to kick in, but the - // keyStr column is short. Thus, the deflate bit gets set for keyCtr but not for keyStr. - // When checking whether the columns appear in ascending order, we must ignore the deflate bit. - let mut doc = new_doc(); - let list = doc.put_object(ROOT, "list", ObjType::List).unwrap(); - let mut expected = Vec::new(); - for i in 0..200 { - doc.insert(&list, i, i as u64).unwrap(); - expected.push(i as u64); - } - let uncompressed = doc.save_nocompress(); - let compressed = doc.save(); - assert!(compressed.len() < uncompressed.len()); - let loaded = automerge::Automerge::load(&compressed).unwrap(); - assert_doc!( - &loaded, - map! { - "list" => { expected} - } - ); -} - -#[test] -fn test_change_encoding_expanded_change_round_trip() { - let change_bytes: Vec = vec![ - 0x85, 0x6f, 0x4a, 0x83, // magic bytes - 0xb2, 0x98, 0x9e, 0xa9, // checksum - 1, 61, 0, 2, 0x12, 0x34, // chunkType: change, length, deps, actor '1234' - 1, 1, 252, 250, 220, 255, 5, // seq, startOp, time - 14, 73, 110, 105, 116, 105, 97, 108, 105, 122, 97, 116, 105, 111, - 110, // message: 'Initialization' - 0, 6, // actor list, column count - 0x15, 3, 0x34, 1, 0x42, 2, // keyStr, insert, action - 0x56, 2, 0x57, 1, 0x70, 2, // valLen, valRaw, predNum - 0x7f, 1, 0x78, // keyStr: 'x' - 1, // insert: false - 0x7f, 1, // action: set - 0x7f, 19, // valLen: 1 byte of type uint - 1, // valRaw: 1 - 0x7f, 0, // predNum: 0 - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, // 10 trailing bytes - ]; - let change = automerge::Change::try_from(&change_bytes[..]).unwrap(); - assert_eq!(change.raw_bytes(), change_bytes); - let expanded = automerge::ExpandedChange::from(&change); - let unexpanded: automerge::Change = expanded.try_into().unwrap(); - assert_eq!(unexpanded.raw_bytes(), change_bytes); -} - -#[test] -fn save_and_load_incremented_counter() { - let mut doc = AutoCommit::new(); - doc.put(ROOT, "counter", ScalarValue::counter(1)).unwrap(); - doc.commit(); - doc.increment(ROOT, "counter", 1).unwrap(); - doc.commit(); - let changes1: Vec = doc.get_changes(&[]).unwrap().into_iter().cloned().collect(); - let json: Vec<_> = changes1 - .iter() - .map(|c| serde_json::to_string(&c.decode()).unwrap()) - .collect(); - let changes2: Vec = json - .iter() - .map(|j| serde_json::from_str::(j).unwrap().into()) - .collect(); - - assert_eq!(changes1, changes2); -} - -#[test] -fn load_incremental_with_corrupted_tail() { - let mut doc = AutoCommit::new(); - doc.put(ROOT, "key", ScalarValue::Str("value".into())) - .unwrap(); - doc.commit(); - let mut bytes = doc.save(); - bytes.extend_from_slice(&[1, 2, 3, 4]); - let mut loaded = Automerge::new(); - let loaded_len = loaded.load_incremental(&bytes).unwrap(); - assert_eq!(loaded_len, 1); - assert_doc!( - &loaded, - map! { - "key" => { "value" }, - } - ); -} - -#[test] -fn load_doc_with_deleted_objects() { - // Reproduces an issue where a document with deleted objects failed to load - let mut doc = AutoCommit::new(); - doc.put_object(ROOT, "list", ObjType::List).unwrap(); - doc.put_object(ROOT, "text", ObjType::Text).unwrap(); - doc.put_object(ROOT, "map", ObjType::Map).unwrap(); - doc.put_object(ROOT, "table", ObjType::Table).unwrap(); - doc.delete(&ROOT, "list").unwrap(); - doc.delete(&ROOT, "text").unwrap(); - doc.delete(&ROOT, "map").unwrap(); - doc.delete(&ROOT, "table").unwrap(); - let saved = doc.save(); - Automerge::load(&saved).unwrap(); -} - -#[test] -fn insert_after_many_deletes() { - let mut doc = AutoCommit::new(); - let obj = doc.put_object(&ROOT, "object", ObjType::Map).unwrap(); - for i in 0..100 { - doc.put(&obj, i.to_string(), i).unwrap(); - doc.delete(&obj, i.to_string()).unwrap(); - } -} - -#[test] -fn simple_bad_saveload() { - let mut doc = Automerge::new(); - doc.transact::<_, _, AutomergeError>(|d| { - d.put(ROOT, "count", 0)?; - Ok(()) - }) - .unwrap(); - - doc.transact::<_, _, AutomergeError>(|_d| Ok(())).unwrap(); - - doc.transact::<_, _, AutomergeError>(|d| { - d.put(ROOT, "count", 0)?; - Ok(()) - }) - .unwrap(); - - let bytes = doc.save(); - Automerge::load(&bytes).unwrap(); -} - -#[test] -fn ops_on_wrong_objets() -> Result<(), AutomergeError> { - let mut doc = AutoCommit::new(); - let list = doc.put_object(&automerge::ROOT, "list", ObjType::List)?; - doc.insert(&list, 0, "a")?; - doc.insert(&list, 1, "b")?; - let e1 = doc.put(&list, "a", "AAA"); - assert_eq!(e1, Err(AutomergeError::InvalidOp(ObjType::List))); - let e2 = doc.splice_text(&list, 0, 0, "hello world"); - assert_eq!(e2, Err(AutomergeError::InvalidOp(ObjType::List))); - let map = doc.put_object(&automerge::ROOT, "map", ObjType::Map)?; - doc.put(&map, "a", "AAA")?; - doc.put(&map, "b", "BBB")?; - let e3 = doc.insert(&map, 0, "b"); - assert_eq!(e3, Err(AutomergeError::InvalidOp(ObjType::Map))); - let e4 = doc.splice_text(&map, 0, 0, "hello world"); - assert_eq!(e4, Err(AutomergeError::InvalidOp(ObjType::Map))); - let text = doc.put_object(&automerge::ROOT, "text", ObjType::Text)?; - doc.splice_text(&text, 0, 0, "hello world")?; - let e5 = doc.put(&text, "a", "AAA"); - assert_eq!(e5, Err(AutomergeError::InvalidOp(ObjType::Text))); - //let e6 = doc.insert(&text, 0, "b"); - //assert_eq!(e6, Err(AutomergeError::InvalidOp(ObjType::Text))); - Ok(()) -} - -#[test] -fn fuzz_crashers() { - let paths = fs::read_dir("./tests/fuzz-crashers").unwrap(); - - for path in paths { - // uncomment this line to figure out which fixture is crashing: - // println!("{:?}", path.as_ref().unwrap().path().display()); - let bytes = fs::read(path.as_ref().unwrap().path()); - let res = Automerge::load(&bytes.unwrap()); - assert!(res.is_err()); - } -} - -fn fixture(name: &str) -> Vec { - fs::read("./tests/fixtures/".to_owned() + name).unwrap() -} - -#[test] -fn overlong_leb() { - // the value metadata says "2", but the LEB is only 1-byte long and there's an extra 0 - assert!(Automerge::load(&fixture("counter_value_has_incorrect_meta.automerge")).is_err()); - // the LEB is overlong (using 2 bytes where one would have sufficed) - assert!(Automerge::load(&fixture("counter_value_is_overlong.automerge")).is_err()); - // the LEB is correct - assert!(Automerge::load(&fixture("counter_value_is_ok.automerge")).is_ok()); -} - -#[test] -fn load() { - fn check_fixture(name: &str) { - let doc = Automerge::load(&fixture(name)).unwrap(); - let map_id = doc.get(ROOT, "a").unwrap().unwrap().1; - assert_eq!(doc.get(map_id, "a").unwrap().unwrap().0, "b".into()); - } - - check_fixture("two_change_chunks.automerge"); - check_fixture("two_change_chunks_compressed.automerge"); - check_fixture("two_change_chunks_out_of_order.automerge"); -} - -#[test] -fn negative_64() { - let mut doc = Automerge::new(); - assert!(doc.transact(|d| { d.put(ROOT, "a", -64_i64) }).is_ok()) -} - -#[test] -fn obj_id_64bits() { - // this change has an opId of 2**42, which when cast to a 32-bit int gives 0. - // The file should either fail to load (a limit of ~4 billion ops per doc seems reasonable), or be handled correctly. - if let Ok(doc) = Automerge::load(&fixture("64bit_obj_id_change.automerge")) { - let map_id = doc.get(ROOT, "a").unwrap().unwrap().1; - assert!(map_id != ROOT) - } - - // this fixture is the same as the above, but as a document chunk. - if let Ok(doc) = Automerge::load(&fixture("64bit_obj_id_doc.automerge")) { - let map_id = doc.get(ROOT, "a").unwrap().unwrap().1; - assert!(map_id != ROOT) - } -} - -#[test] -fn bad_change_on_optree_node_boundary() { - let mut doc = Automerge::new(); - doc.transact::<_, _, AutomergeError>(|d| { - d.put(ROOT, "a", "z")?; - d.put(ROOT, "b", 0)?; - d.put(ROOT, "c", 0)?; - Ok(()) - }) - .unwrap(); - let iterations = 15_u64; - for i in 0_u64..iterations { - doc.transact::<_, _, AutomergeError>(|d| { - let s = "a".repeat(i as usize); - d.put(ROOT, "a", s)?; - d.put(ROOT, "b", i + 1)?; - d.put(ROOT, "c", i + 1)?; - Ok(()) - }) - .unwrap(); - } - let mut doc2 = Automerge::load(doc.save().as_slice()).unwrap(); - doc.transact::<_, _, AutomergeError>(|d| { - let i = iterations + 2; - let s = "a".repeat(i as usize); - d.put(ROOT, "a", s)?; - d.put(ROOT, "b", i)?; - d.put(ROOT, "c", i)?; - Ok(()) - }) - .unwrap(); - let change = doc.get_changes(&doc2.get_heads()).unwrap(); - doc2.apply_changes(change.into_iter().cloned().collect::>()) - .unwrap(); - Automerge::load(doc2.save().as_slice()).unwrap(); -} diff --git a/rust/deny.toml b/rust/deny.toml deleted file mode 100644 index 473cdae8..00000000 --- a/rust/deny.toml +++ /dev/null @@ -1,216 +0,0 @@ -# This template contains all of the possible sections and their default values - -# Note that all fields that take a lint level have these possible values: -# * deny - An error will be produced and the check will fail -# * warn - A warning will be produced, but the check will not fail -# * allow - No warning or error will be produced, though in some cases a note -# will be - -# The values provided in this template are the default values that will be used -# when any section or field is not specified in your own configuration - -# If 1 or more target triples (and optionally, target_features) are specified, -# only the specified targets will be checked when running `cargo deny check`. -# This means, if a particular package is only ever used as a target specific -# dependency, such as, for example, the `nix` crate only being used via the -# `target_family = "unix"` configuration, that only having windows targets in -# this list would mean the nix crate, as well as any of its exclusive -# dependencies not shared by any other crates, would be ignored, as the target -# list here is effectively saying which targets you are building for. -targets = [ - # The triple can be any string, but only the target triples built in to - # rustc (as of 1.40) can be checked against actual config expressions - #{ triple = "x86_64-unknown-linux-musl" }, - # You can also specify which target_features you promise are enabled for a - # particular target. target_features are currently not validated against - # the actual valid features supported by the target architecture. - #{ triple = "wasm32-unknown-unknown", features = ["atomics"] }, -] - -# This section is considered when running `cargo deny check advisories` -# More documentation for the advisories section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html -[advisories] -# The path where the advisory database is cloned/fetched into -db-path = "~/.cargo/advisory-db" -# The url(s) of the advisory databases to use -db-urls = ["https://github.com/rustsec/advisory-db"] -# The lint level for security vulnerabilities -vulnerability = "deny" -# The lint level for unmaintained crates -unmaintained = "warn" -# The lint level for crates that have been yanked from their source registry -yanked = "warn" -notice = "warn" -# A list of advisory IDs to ignore. Note that ignored advisories will still -# output a note when they are encountered. -ignore = [ - #"RUSTSEC-0000-0000", -] -# Threshold for security vulnerabilities, any vulnerability with a CVSS score -# lower than the range specified will be ignored. Note that ignored advisories -# will still output a note when they are encountered. -# * None - CVSS Score 0.0 -# * Low - CVSS Score 0.1 - 3.9 -# * Medium - CVSS Score 4.0 - 6.9 -# * High - CVSS Score 7.0 - 8.9 -# * Critical - CVSS Score 9.0 - 10.0 -#severity-threshold = - -# This section is considered when running `cargo deny check licenses` -# More documentation for the licenses section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/licenses/cfg.html -[licenses] -# The lint level for crates which do not have a detectable license -unlicensed = "deny" -# List of explictly allowed licenses -# See https://spdx.org/licenses/ for list of possible licenses -# [possible values: any SPDX 3.11 short identifier (+ optional exception)]. -allow = [ - "MIT", - "Apache-2.0", - "Apache-2.0 WITH LLVM-exception", -] -# List of explictly disallowed licenses -# See https://spdx.org/licenses/ for list of possible licenses -# [possible values: any SPDX 3.11 short identifier (+ optional exception)]. -deny = [ - #"Nokia", -] -# Lint level for licenses considered copyleft -copyleft = "warn" -# Blanket approval or denial for OSI-approved or FSF Free/Libre licenses -# * both - The license will be approved if it is both OSI-approved *AND* FSF -# * either - The license will be approved if it is either OSI-approved *OR* FSF -# * osi-only - The license will be approved if is OSI-approved *AND NOT* FSF -# * fsf-only - The license will be approved if is FSF *AND NOT* OSI-approved -# * neither - This predicate is ignored and the default lint level is used -allow-osi-fsf-free = "neither" -# Lint level used when no other predicates are matched -# 1. License isn't in the allow or deny lists -# 2. License isn't copyleft -# 3. License isn't OSI/FSF, or allow-osi-fsf-free = "neither" -default = "deny" -# The confidence threshold for detecting a license from license text. -# The higher the value, the more closely the license text must be to the -# canonical license text of a valid SPDX license file. -# [possible values: any between 0.0 and 1.0]. -confidence-threshold = 0.8 -# Allow 1 or more licenses on a per-crate basis, so that particular licenses -# aren't accepted for every possible crate as with the normal allow list -exceptions = [ - # The Unicode-DFS--2016 license is necessary for unicode-ident because they - # use data from the unicode tables to generate the tables which are - # included in the application. We do not distribute those data files so - # this is not a problem for us. See https://github.com/dtolnay/unicode-ident/pull/9/files - # for more details. - { allow = ["MIT", "Apache-2.0", "Unicode-DFS-2016"], name = "unicode-ident" }, - - # these are needed by cbindgen and its dependancies - # should be revied more fully before release - { allow = ["MPL-2.0"], name = "cbindgen" }, - { allow = ["BSD-3-Clause"], name = "instant" }, - - # we only use prettytable in tests - { allow = ["BSD-3-Clause"], name = "prettytable" }, -] - -# Some crates don't have (easily) machine readable licensing information, -# adding a clarification entry for it allows you to manually specify the -# licensing information -#[[licenses.clarify]] -# The name of the crate the clarification applies to -#name = "ring" -# The optional version constraint for the crate -#version = "*" -# The SPDX expression for the license requirements of the crate -#expression = "MIT AND ISC AND OpenSSL" -# One or more files in the crate's source used as the "source of truth" for -# the license expression. If the contents match, the clarification will be used -# when running the license check, otherwise the clarification will be ignored -# and the crate will be checked normally, which may produce warnings or errors -# depending on the rest of your configuration -#license-files = [ - # Each entry is a crate relative path, and the (opaque) hash of its contents - #{ path = "LICENSE", hash = 0xbd0eed23 } -#] - -[licenses.private] -# If true, ignores workspace crates that aren't published, or are only -# published to private registries -ignore = true -# One or more private registries that you might publish crates to, if a crate -# is only published to private registries, and ignore is true, the crate will -# not have its license(s) checked -registries = [ - #"https://sekretz.com/registry -] - -# This section is considered when running `cargo deny check bans`. -# More documentation about the 'bans' section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/bans/cfg.html -[bans] -# Lint level for when multiple versions of the same crate are detected -multiple-versions = "deny" -# Lint level for when a crate version requirement is `*` -wildcards = "allow" -# The graph highlighting used when creating dotgraphs for crates -# with multiple versions -# * lowest-version - The path to the lowest versioned duplicate is highlighted -# * simplest-path - The path to the version with the fewest edges is highlighted -# * all - Both lowest-version and simplest-path are used -highlight = "all" -# List of crates that are allowed. Use with care! -allow = [ -] -# List of crates to deny -deny = [ - # Each entry the name of a crate and a version range. If version is - # not specified, all versions will be matched. - #{ name = "ansi_term", version = "=0.11.0" }, - # - # Wrapper crates can optionally be specified to allow the crate when it - # is a direct dependency of the otherwise banned crate - #{ name = "ansi_term", version = "=0.11.0", wrappers = [] }, -] -# Certain crates/versions that will be skipped when doing duplicate detection. -skip = [ - # duct, which we only depend on for integration tests in automerge-cli, - # pulls in a version of os_pipe which in turn pulls in a version of - # windows-sys which is different to the version in pulled in by is-terminal. - # This is fine to ignore for now because it doesn't end up in downstream - # dependencies. - { name = "windows-sys", version = "0.42.0" } -] -# Similarly to `skip` allows you to skip certain crates during duplicate -# detection. Unlike skip, it also includes the entire tree of transitive -# dependencies starting at the specified crate, up to a certain depth, which is -# by default infinite -skip-tree = [ - # // We only ever use criterion in benchmarks - { name = "criterion", version = "0.4.0", depth=10}, -] - -# This section is considered when running `cargo deny check sources`. -# More documentation about the 'sources' section can be found here: -# https://embarkstudios.github.io/cargo-deny/checks/sources/cfg.html -[sources] -# Lint level for what to happen when a crate from a crate registry that is not -# in the allow list is encountered -unknown-registry = "warn" -# Lint level for what to happen when a crate from a git repository that is not -# in the allow list is encountered -unknown-git = "warn" -# List of URLs for allowed crate registries. Defaults to the crates.io index -# if not specified. If it is specified but empty, no registries are allowed. -allow-registry = ["https://github.com/rust-lang/crates.io-index"] -# List of URLs for allowed Git repositories -allow-git = [] - -[sources.allow-org] -# 1 or more github.com organizations to allow git sources for -# github = [""] -# 1 or more gitlab.com organizations to allow git sources for -# gitlab = [""] -# 1 or more bitbucket.org organizations to allow git sources for -# bitbucket = [""] diff --git a/rust/edit-trace/.gitignore b/rust/edit-trace/.gitignore deleted file mode 100644 index 55778aca..00000000 --- a/rust/edit-trace/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -/target -Cargo.lock -node_modules -yarn.lock -flamegraph.svg -/prof diff --git a/rust/edit-trace/Cargo.toml b/rust/edit-trace/Cargo.toml deleted file mode 100644 index eaebde46..00000000 --- a/rust/edit-trace/Cargo.toml +++ /dev/null @@ -1,23 +0,0 @@ -[package] -name = "edit-trace" -version = "0.1.0" -edition = "2021" -license = "MIT" - -[dependencies] -automerge = { path = "../automerge" } -criterion = "0.4.0" -json = "0.12.4" -rand = "^0.8" - - -[[bin]] -name = "edit-trace" -doc = false -bench = false - -[[bench]] -debug = true -name = "main" -harness = false - diff --git a/rust/edit-trace/Makefile b/rust/edit-trace/Makefile deleted file mode 100644 index e0e77643..00000000 --- a/rust/edit-trace/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -.PHONY: rust -rust: - cargo run --release - -.PHONY: build-wasm -build-wasm: - cd ../automerge-wasm && yarn - cd ../automerge-wasm && yarn release - -.PHONY: wasm -wasm: build-wasm - node automerge-wasm.js - -.PHONY: build-js -build-js: build-wasm - cd ../automerge-js && yarn - cd ../automerge-js && yarn build - -.PHONY: js -js: build-js - node automerge-js.js - -.PHONY: baseline -baseline: - node baseline.js diff --git a/rust/edit-trace/README.md b/rust/edit-trace/README.md deleted file mode 100644 index aabe83dc..00000000 --- a/rust/edit-trace/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Edit trace benchmarks - -Try the different editing traces on different automerge implementations - -## Automerge Experiement - pure rust - -```sh -make rust -``` - -### Benchmarks - -There are some criterion benchmarks in the `benches` folder which can be run with `cargo bench` or `cargo criterion`. -For flamegraphing, `cargo flamegraph --bench main -- --bench "save" # or "load" or "replay" or nothing` can be useful. - -## Automerge Experiement - wasm api - -```sh -make wasm -``` - -## Automerge Experiment - JS wrapper - -```sh -make js -``` - -## Automerge 1.0 pure javascript - new fast backend - -This assumes automerge has been checked out in a directory along side this repo - -```sh -node automerge-1.0.js -``` - -## Automerge 1.0 with rust backend - -This assumes automerge has been checked out in a directory along side this repo - -```sh -node automerge-rs.js -``` - -## Baseline Test. Javascript Array with no CRDT info - -```sh -make baseline -``` diff --git a/rust/edit-trace/automerge-1.0.js b/rust/edit-trace/automerge-1.0.js deleted file mode 100644 index 49a423a4..00000000 --- a/rust/edit-trace/automerge-1.0.js +++ /dev/null @@ -1,26 +0,0 @@ - -// this assumes automerge has been checked out along side this repo - -const { edits, finalText } = require('./editing-trace') -const Automerge = require('../../automerge') - -const start = new Date() -let state = Automerge.from({text: new Automerge.Text()}) - -state = Automerge.change(state, doc => { - for (let i = 0; i < edits.length; i++) { - if (i % 1000 === 0) { - console.log(`Processed ${i} edits in ${new Date() - start} ms`) - } - if (edits[i][1] > 0) doc.text.deleteAt(edits[i][0], edits[i][1]) - if (edits[i].length > 2) doc.text.insertAt(edits[i][0], ...edits[i].slice(2)) - } -}) - -let _ = Automerge.save(state) -console.log(`Done in ${new Date() - start} ms`) - - -if (state.text.join('') !== finalText) { - throw new RangeError('ERROR: final text did not match expectation') -} diff --git a/rust/edit-trace/automerge-js.js b/rust/edit-trace/automerge-js.js deleted file mode 100644 index 2956d5d5..00000000 --- a/rust/edit-trace/automerge-js.js +++ /dev/null @@ -1,29 +0,0 @@ -// Apply the paper editing trace to an Automerge.Text object, one char at a time -const { edits, finalText } = require('./editing-trace') -const Automerge = require('../../javascript') - -let start = new Date() -let state = Automerge.from({text: ""}) - -state = Automerge.change(state, doc => { - for (let i = 0; i < edits.length; i++) { - if (i % 10000 === 0) { - console.log(`Processed ${i} edits in ${new Date() - start} ms`) - } - let edit = edits[i] - Automerge.splice(doc, 'text', ... edit) - } -}) -console.log(`Done in ${new Date() - start} ms`) - -start = new Date() -let bytes = Automerge.save(state) -console.log(`Save in ${new Date() - start} ms`) - -start = new Date() -let _load = Automerge.load(bytes) -console.log(`Load in ${new Date() - start} ms`) - -if (state.text !== finalText) { - throw new RangeError('ERROR: final text did not match expectation') -} diff --git a/rust/edit-trace/automerge-wasm.js b/rust/edit-trace/automerge-wasm.js deleted file mode 100644 index 8f6f51af..00000000 --- a/rust/edit-trace/automerge-wasm.js +++ /dev/null @@ -1,40 +0,0 @@ -const { edits, finalText } = require('./editing-trace') -const Automerge = require('../automerge-wasm') - -const start = new Date() - -let doc = Automerge.create(); -doc.enablePatches(true) -let mat = doc.materialize("/") -let text = doc.putObject("_root", "text", "", "text") - -for (let i = 0; i < edits.length; i++) { - let edit = edits[i] - if (i % 10000 === 0) { - console.log(`Processed ${i} edits in ${new Date() - start} ms`) - } - doc.splice(text, ...edit) -} - -console.log(`Done in ${new Date() - start} ms`) - -let t_time = new Date() -let saved = doc.save() -console.log(`doc.save in ${new Date() - t_time} ms`) - -t_time = new Date() -Automerge.load(saved) -console.log(`doc.load in ${new Date() - t_time} ms`) - -t_time = new Date() -let t = doc.text(text); -console.log(`doc.text in ${new Date() - t_time} ms`) - -t_time = new Date() -t = doc.text(text); -mat = doc.applyPatches(mat) -console.log(`doc.applyPatches() in ${new Date() - t_time} ms`) - -if (doc.text(text) !== finalText) { - throw new RangeError('ERROR: final text did not match expectation') -} diff --git a/rust/edit-trace/baseline.js b/rust/edit-trace/baseline.js deleted file mode 100644 index b99f0ae7..00000000 --- a/rust/edit-trace/baseline.js +++ /dev/null @@ -1,23 +0,0 @@ -// Apply the paper editing trace to a regular JavaScript array (using .splice, one char at a time) -const { edits, finalText } = require('./editing-trace') - -const start = new Date() -let chars = [] -for (let i = 0; i < edits.length; i++) { - let edit = edits[i] - if (i % 10000 === 0) { - console.log(`Processed ${i} edits in ${new Date() - start} ms`) - } - chars.splice(...edit) -} - -let _save = JSON.stringify(chars) - -const time = new Date() - start - -console.log(`Done in ${time} ms`) - -if (chars.join('') !== finalText) { - throw new RangeError('ERROR: final text did not match expectation') -} - diff --git a/rust/edit-trace/benches/main.rs b/rust/edit-trace/benches/main.rs deleted file mode 100644 index 00028945..00000000 --- a/rust/edit-trace/benches/main.rs +++ /dev/null @@ -1,122 +0,0 @@ -use automerge::{transaction::Transactable, AutoCommit, Automerge, ObjType, ROOT}; -use criterion::{criterion_group, criterion_main, BenchmarkId, Criterion, Throughput}; -use std::fs; - -fn replay_trace_tx(commands: Vec<(usize, usize, String)>) -> Automerge { - let mut doc = Automerge::new(); - let mut tx = doc.transaction(); - let text = tx.put_object(ROOT, "text", ObjType::Text).unwrap(); - for (pos, del, vals) in commands { - tx.splice_text(&text, pos, del, &vals).unwrap(); - } - tx.commit(); - doc -} - -fn replay_trace_autotx(commands: Vec<(usize, usize, String)>) -> AutoCommit { - let mut doc = AutoCommit::new(); - let text = doc.put_object(ROOT, "text", ObjType::Text).unwrap(); - for (pos, del, vals) in commands { - doc.splice_text(&text, pos, del, &vals).unwrap(); - } - doc.commit(); - doc -} - -fn save_trace(mut doc: Automerge) { - doc.save(); -} - -fn save_trace_autotx(mut doc: AutoCommit) { - doc.save(); -} - -fn load_trace(bytes: &[u8]) { - Automerge::load(bytes).unwrap(); -} - -fn load_trace_autotx(bytes: &[u8]) { - AutoCommit::load(bytes).unwrap(); -} - -fn bench(c: &mut Criterion) { - let contents = fs::read_to_string("edits.json").expect("cannot read edits file"); - let edits = json::parse(&contents).expect("cant parse edits"); - let mut commands = vec![]; - for i in 0..edits.len() { - let pos: usize = edits[i][0].as_usize().unwrap(); - let del: usize = edits[i][1].as_usize().unwrap(); - let mut vals = String::new(); - for j in 2..edits[i].len() { - let v = edits[i][j].as_str().unwrap(); - vals.push_str(v); - } - commands.push((pos, del, vals)); - } - - let mut group = c.benchmark_group("edit trace"); - group.throughput(Throughput::Elements(commands.len() as u64)); - - group.bench_with_input( - BenchmarkId::new("replay", commands.len()), - &commands, - |b, commands| { - b.iter_batched( - || commands.clone(), - replay_trace_tx, - criterion::BatchSize::LargeInput, - ) - }, - ); - - let commands_len = commands.len(); - let mut doc = replay_trace_tx(commands.clone()); - group.bench_with_input(BenchmarkId::new("save", commands_len), &doc, |b, doc| { - b.iter_batched(|| doc.clone(), save_trace, criterion::BatchSize::LargeInput) - }); - - let bytes = doc.save(); - group.bench_with_input( - BenchmarkId::new("load", commands_len), - &bytes, - |b, bytes| b.iter(|| load_trace(bytes)), - ); - - group.bench_with_input( - BenchmarkId::new("replay autotx", commands_len), - &commands, - |b, commands| { - b.iter_batched( - || commands.clone(), - replay_trace_autotx, - criterion::BatchSize::LargeInput, - ) - }, - ); - - let commands_len = commands.len(); - let mut doc = replay_trace_autotx(commands); - group.bench_with_input( - BenchmarkId::new("save autotx", commands_len), - &doc, - |b, doc| { - b.iter_batched( - || doc.clone(), - save_trace_autotx, - criterion::BatchSize::LargeInput, - ) - }, - ); - - let bytes = doc.save(); - group.bench_with_input( - BenchmarkId::new("load autotx", commands_len), - &bytes, - |b, bytes| b.iter(|| load_trace_autotx(bytes)), - ); - - group.finish(); -} - -criterion_group!(benches, bench); -criterion_main!(benches); diff --git a/rust/edit-trace/editing-trace.js b/rust/edit-trace/editing-trace.js deleted file mode 100644 index aadf32ad..00000000 --- a/rust/edit-trace/editing-trace.js +++ /dev/null @@ -1,259783 +0,0 @@ -const edits = [ - [0, 0, "\\"], - [1, 0, "d"], - [2, 0, "o"], - [3, 0, "c"], - [4, 0, "u"], - [5, 0, "m"], - [6, 0, "e"], - [7, 0, "n"], - [8, 0, "t"], - [9, 0, "c"], - [10, 0, "l"], - [11, 0, "a"], - [12, 0, "s"], - [13, 0, "s"], - [14, 0, "["], - [15, 0, "a"], - [16, 0, "4"], - [17, 0, "p"], - [18, 0, "a"], - [19, 0, "p"], - [20, 0, "e"], - [21, 0, "r"], - [22, 0, ","], - [23, 0, "t"], - [24, 0, "w"], - [25, 0, "o"], - [26, 0, "c"], - [27, 0, "o"], - [28, 0, "l"], - [29, 0, "u"], - [30, 0, "m"], - [31, 0, "n"], - [32, 0, ","], - [33, 0, "1"], - [34, 0, "0"], - [35, 0, "p"], - [36, 0, "t"], - [37, 0, "]"], - [38, 0, "{"], - [39, 0, "a"], - [40, 0, "r"], - [41, 0, "t"], - [42, 0, "i"], - [43, 0, "c"], - [44, 0, "l"], - [45, 0, "e"], - [46, 0, "}"], - [47, 0, "\n"], - [48, 0, "\\"], - [49, 0, "u"], - [50, 0, "s"], - [51, 0, "e"], - [52, 0, "p"], - [53, 0, "a"], - [54, 0, "c"], - [55, 0, "k"], - [56, 0, "a"], - [57, 0, "g"], - [58, 0, "e"], - [59, 0, "{"], - [59, 1], - [59, 0, "["], - [60, 0, "u"], - [61, 0, "t"], - [62, 0, "f"], - [63, 0, "8"], - [64, 0, "]"], - [65, 0, "{"], - [66, 0, "i"], - [67, 0, "n"], - [68, 0, "p"], - [69, 0, "u"], - [70, 0, "t"], - [71, 0, "e"], - [72, 0, "n"], - [73, 0, "c"], - [74, 0, "}"], - [75, 0, "\n"], - [76, 0, "\\"], - [77, 0, "u"], - [78, 0, "s"], - [79, 0, "e"], - [80, 0, "p"], - [81, 0, "a"], - [82, 0, "c"], - [83, 0, "k"], - [84, 0, "a"], - [85, 0, "g"], - [86, 0, "e"], - [87, 0, "{"], - [88, 0, "m"], - [89, 0, "a"], - [90, 0, "t"], - [91, 0, "h"], - [92, 0, "p"], - [93, 0, "t"], - [94, 0, "m"], - [95, 0, "x"], - [96, 0, "}"], - [97, 0, " "], - [98, 0, "%"], - [99, 0, " "], - [100, 0, "t"], - [101, 0, "i"], - [102, 0, "m"], - [103, 0, "e"], - [104, 0, "s"], - [105, 0, " "], - [106, 0, "r"], - [107, 0, "o"], - [108, 0, "m"], - [109, 0, "a"], - [110, 0, "n"], - [111, 0, ","], - [112, 0, " "], - [113, 0, "i"], - [114, 0, "n"], - [115, 0, "c"], - [116, 0, "l"], - [117, 0, "u"], - [118, 0, "d"], - [119, 0, "i"], - [120, 0, "n"], - [121, 0, "g"], - [122, 0, " "], - [123, 0, "m"], - [124, 0, "a"], - [125, 0, "t"], - [126, 0, "h"], - [127, 0, "\n"], - [128, 0, "\\"], - [129, 0, "u"], - [130, 0, "s"], - [131, 0, "e"], - [132, 0, "p"], - [133, 0, "a"], - [134, 0, "c"], - [135, 0, "k"], - [136, 0, "a"], - [137, 0, "g"], - [138, 0, "e"], - [139, 0, "["], - [140, 0, "h"], - [141, 0, "y"], - [142, 0, "p"], - [143, 0, "h"], - [144, 0, "e"], - [145, 0, "n"], - [146, 0, "s"], - [147, 0, "]"], - [148, 0, "{"], - [149, 0, "u"], - [150, 0, "r"], - [151, 0, "l"], - [152, 0, "}"], - [153, 0, "\n"], - [154, 0, "\\"], - [155, 0, "u"], - [156, 0, "s"], - [157, 0, "e"], - [158, 0, "p"], - [159, 0, "a"], - [160, 0, "c"], - [161, 0, "k"], - [162, 0, "a"], - [163, 0, "g"], - [164, 0, "e"], - [165, 0, "{"], - [166, 0, "d"], - [167, 0, "o"], - [168, 0, "i"], - [169, 0, "}"], - [170, 0, "\n"], - [171, 0, "\\"], - [172, 0, "u"], - [173, 0, "s"], - [174, 0, "e"], - [175, 0, "p"], - [176, 0, "a"], - [177, 0, "c"], - [178, 0, "k"], - [179, 0, "a"], - [180, 0, "g"], - [181, 0, "e"], - [182, 0, "{"], - [183, 0, "h"], - [184, 0, "y"], - [185, 0, "p"], - [186, 0, "e"], - [187, 0, "r"], - [188, 0, "r"], - [189, 0, "e"], - [190, 0, "f"], - [191, 0, "}"], - [192, 0, "\n"], - [193, 0, "\\"], - [194, 0, "u"], - [195, 0, "s"], - [196, 0, "e"], - [197, 0, "p"], - [198, 0, "a"], - [199, 0, "c"], - [200, 0, "k"], - [201, 0, "a"], - [202, 0, "g"], - [203, 0, "e"], - [204, 0, "["], - [205, 0, "n"], - [206, 0, "u"], - [207, 0, "m"], - [208, 0, "b"], - [209, 0, "e"], - [210, 0, "r"], - [211, 0, "s"], - [212, 0, ","], - [213, 0, "s"], - [214, 0, "o"], - [215, 0, "r"], - [216, 0, "t"], - [217, 0, "]"], - [218, 0, "{"], - [219, 0, "n"], - [220, 0, "a"], - [221, 0, "t"], - [222, 0, "b"], - [223, 0, "i"], - [224, 0, "t"], - [224, 1], - [224, 0, "b"], - [225, 0, "}"], - [226, 0, "\n"], - [227, 0, "\\"], - [228, 0, "h"], - [229, 0, "y"], - [230, 0, "p"], - [231, 0, "h"], - [232, 0, "e"], - [233, 0, "n"], - [234, 0, "a"], - [235, 0, "t"], - [236, 0, "i"], - [237, 0, "o"], - [238, 0, "n"], - [239, 0, "{"], - [240, 0, "d"], - [241, 0, "a"], - [242, 0, "t"], - [243, 0, "a"], - [243, 1], - [242, 1], - [242, 0, "-"], - [243, 0, "d"], - [243, 1], - [243, 0, "t"], - [244, 0, "a"], - [245, 0, "-"], - [246, 0, "c"], - [247, 0, "e"], - [248, 0, "n"], - [249, 0, "-"], - [250, 0, "t"], - [251, 0, "e"], - [252, 0, "r"], - [253, 0, " "], - [254, 0, "d"], - [255, 0, "a"], - [256, 0, "-"], - [257, 0, "t"], - [258, 0, "a"], - [259, 0, "-"], - [260, 0, "c"], - [261, 0, "e"], - [262, 0, "n"], - [263, 0, "-"], - [264, 0, "t"], - [265, 0, "e"], - [266, 0, "r"], - [267, 0, "s"], - [268, 0, "}"], - [269, 0, "\n"], - [270, 0, "\\"], - [271, 0, "f"], - [272, 0, "r"], - [273, 0, "e"], - [274, 0, "n"], - [275, 0, "c"], - [276, 0, "h"], - [277, 0, "s"], - [278, 0, "p"], - [279, 0, "a"], - [280, 0, "c"], - [281, 0, "i"], - [282, 0, "n"], - [283, 0, "g"], - [284, 0, "\n"], - [285, 0, "\n"], - [286, 0, "\\"], - [287, 0, "b"], - [288, 0, "e"], - [289, 0, "g"], - [290, 0, "i"], - [291, 0, "n"], - [292, 0, "{"], - [293, 0, "d"], - [294, 0, "o"], - [295, 0, "c"], - [296, 0, "u"], - [297, 0, "m"], - [298, 0, "e"], - [299, 0, "n"], - [300, 0, "t"], - [301, 0, "}"], - [302, 0, "\n"], - [303, 0, "\\"], - [304, 0, "s"], - [305, 0, "l"], - [306, 0, "o"], - [307, 0, "p"], - [308, 0, "p"], - [309, 0, "y"], - [310, 0, "\n"], - [311, 0, "\\"], - [312, 0, "t"], - [313, 0, "i"], - [314, 0, "t"], - [315, 0, "l"], - [316, 0, "e"], - [317, 0, "{"], - [318, 0, "C"], - [319, 0, "o"], - [320, 0, "m"], - [321, 0, "p"], - [322, 0, "o"], - [323, 0, "s"], - [324, 0, "i"], - [325, 0, "n"], - [326, 0, "g"], - [327, 0, " "], - [328, 0, "D"], - [329, 0, "a"], - [330, 0, "t"], - [331, 0, "a"], - [332, 0, " "], - [333, 0, "S"], - [334, 0, "t"], - [335, 0, "r"], - [336, 0, "u"], - [337, 0, "c"], - [338, 0, "t"], - [339, 0, "u"], - [340, 0, "r"], - [341, 0, "e"], - [342, 0, "s"], - [343, 0, " "], - [344, 0, "f"], - [345, 0, "o"], - [346, 0, "r"], - [347, 0, " "], - [348, 0, "C"], - [349, 0, "o"], - [350, 0, "l"], - [351, 0, "l"], - [352, 0, "a"], - [353, 0, "b"], - [354, 0, "o"], - [355, 0, "r"], - [356, 0, "a"], - [357, 0, "t"], - [358, 0, "i"], - [359, 0, "v"], - [360, 0, "e"], - [361, 0, " "], - [362, 0, "D"], - [363, 0, "o"], - [364, 0, "u"], - [365, 0, "m"], - [366, 0, "e"], - [367, 0, "n"], - [368, 0, "t"], - [368, 1], - [367, 1], - [366, 1], - [365, 1], - [364, 1], - [364, 0, "c"], - [365, 0, "u"], - [366, 0, "m"], - [367, 0, "e"], - [368, 0, "n"], - [369, 0, "t"], - [370, 0, " "], - [371, 0, "E"], - [372, 0, "d"], - [373, 0, "i"], - [374, 0, "t"], - [375, 0, "i"], - [376, 0, "n"], - [377, 0, "g"], - [378, 0, "}"], - [379, 0, "\n"], - [380, 0, "\\"], - [381, 0, "a"], - [382, 0, "u"], - [383, 0, "t"], - [384, 0, "h"], - [385, 0, "o"], - [386, 0, "r"], - [387, 0, "{"], - [388, 0, "}"], - [389, 0, "\n"], - [390, 0, "\\"], - [391, 0, "m"], - [392, 0, "a"], - [393, 0, "k"], - [394, 0, "e"], - [395, 0, "t"], - [396, 0, "i"], - [397, 0, "t"], - [398, 0, "l"], - [399, 0, "e"], - [400, 0, "\n"], - [401, 0, "\n"], - [402, 0, "\\"], - [403, 0, "s"], - [404, 0, "u"], - [405, 0, "b"], - [406, 0, "s"], - [407, 0, "e"], - [408, 0, "c"], - [409, 0, "t"], - [410, 0, "i"], - [411, 0, "o"], - [412, 0, "n"], - [413, 0, "*"], - [414, 0, "{"], - [415, 0, "A"], - [416, 0, "b"], - [417, 0, "s"], - [418, 0, "t"], - [419, 0, "r"], - [420, 0, "a"], - [421, 0, "c"], - [422, 0, "g"], - [423, 0, "t"], - [424, 0, "}"], - [424, 1], - [423, 1], - [422, 1], - [422, 0, "t"], - [423, 0, "}"], - [424, 0, "\n"], - [425, 0, "\n"], - [426, 0, "\\"], - [427, 0, "s"], - [428, 0, "e"], - [429, 0, "c"], - [430, 0, "t"], - [431, 0, "i"], - [432, 0, "o"], - [433, 0, "n"], - [434, 0, "{"], - [435, 0, "I"], - [436, 0, "n"], - [437, 0, "t"], - [438, 0, "r"], - [439, 0, "o"], - [440, 0, "d"], - [441, 0, "u"], - [442, 0, "c"], - [443, 0, "t"], - [444, 0, "i"], - [445, 0, "o"], - [446, 0, "n"], - [447, 0, "}"], - [448, 0, "\n"], - [449, 0, "\n"], - [450, 0, "\n"], - [451, 0, "\\"], - [452, 0, "e"], - [453, 0, "n"], - [454, 0, "d"], - [455, 0, "{"], - [456, 0, "d"], - [457, 0, "o"], - [458, 0, "c"], - [459, 0, "u"], - [460, 0, "m"], - [461, 0, "e"], - [462, 0, "n"], - [463, 0, "t"], - [464, 0, "}"], - [465, 0, "\n"], - [450, 0, "\n"], - [451, 0, "{"], - [452, 0, "\\"], - [453, 0, "f"], - [454, 0, "o"], - [455, 0, "o"], - [456, 0, "t"], - [457, 0, "n"], - [458, 0, "o"], - [459, 0, "t"], - [460, 0, "e"], - [461, 0, "s"], - [462, 0, "i"], - [463, 0, "z"], - [464, 0, "e"], - [465, 0, "\n"], - [466, 0, "\\"], - [467, 0, "b"], - [468, 0, "i"], - [469, 0, "b"], - [470, 0, "l"], - [471, 0, "i"], - [472, 0, "o"], - [473, 0, "g"], - [474, 0, "r"], - [475, 0, "a"], - [476, 0, "p"], - [477, 0, "h"], - [478, 0, "y"], - [479, 0, "s"], - [480, 0, "t"], - [481, 0, "y"], - [482, 0, "l"], - [483, 0, "e"], - [484, 0, "{"], - [485, 0, "p"], - [486, 0, "l"], - [487, 0, "a"], - [488, 0, "i"], - [489, 0, "n"], - [490, 0, "n"], - [491, 0, "a"], - [492, 0, "t"], - [493, 0, "}"], - [494, 0, "\n"], - [495, 0, "\\"], - [496, 0, "b"], - [497, 0, "i"], - [498, 0, "b"], - [499, 0, "l"], - [500, 0, "i"], - [501, 0, "o"], - [502, 0, "g"], - [503, 0, "r"], - [504, 0, "a"], - [505, 0, "p"], - [506, 0, "h"], - [507, 0, "y"], - [508, 0, "{"], - [509, 0, "r"], - [510, 0, "e"], - [511, 0, "f"], - [512, 0, "e"], - [513, 0, "r"], - [514, 0, "e"], - [515, 0, "n"], - [516, 0, "c"], - [517, 0, "e"], - [518, 0, "s"], - [519, 0, "}"], - [520, 0, "{"], - [521, 0, "}"], - [522, 0, "}"], - [449, 0, "\n"], - [450, 0, "\\"], - [451, 0, "c"], - [452, 0, "i"], - [453, 0, "t"], - [454, 0, "e"], - [455, 0, "{"], - [456, 0, "R"], - [457, 0, "o"], - [458, 0, "h"], - [459, 0, ":"], - [460, 0, "2"], - [461, 0, "0"], - [462, 0, "1"], - [463, 0, "1"], - [464, 0, "d"], - [465, 0, "w"], - [466, 0, "}"], - [456, 0, "S"], - [457, 0, "h"], - [458, 0, "a"], - [459, 0, "p"], - [460, 0, "i"], - [461, 0, "r"], - [462, 0, "o"], - [463, 0, ":"], - [464, 0, "2"], - [465, 0, "0"], - [466, 0, "1"], - [467, 0, "1"], - [468, 0, "w"], - [469, 0, "y"], - [470, 0, ","], - [450, 0, "C"], - [451, 0, "R"], - [452, 0, "D"], - [453, 0, "T"], - [454, 0, "s"], - [455, 0, "~"], - [489, 0, "\n"], - [489, 0, "\n"], - [490, 0, "\\"], - [491, 0, "s"], - [492, 0, "e"], - [493, 0, "c"], - [494, 0, "t"], - [495, 0, "i"], - [496, 0, "o"], - [497, 0, "n"], - [498, 0, "{"], - [499, 0, "O"], - [500, 0, "p"], - [501, 0, "e"], - [502, 0, "r"], - [503, 0, "a"], - [504, 0, "t"], - [505, 0, "i"], - [506, 0, "o"], - [507, 0, "n"], - [508, 0, "a"], - [509, 0, "l"], - [510, 0, " "], - [511, 0, "S"], - [512, 0, "e"], - [513, 0, "m"], - [514, 0, "a"], - [515, 0, "n"], - [516, 0, "t"], - [517, 0, "i"], - [518, 0, "c"], - [519, 0, "s"], - [520, 0, "}"], - [521, 0, "\n"], - [522, 0, "\n"], - [523, 0, "T"], - [524, 0, "h"], - [525, 0, "e"], - [526, 0, " "], - [527, 0, "R"], - [528, 0, "e"], - [529, 0, "p"], - [530, 0, "l"], - [530, 1], - [529, 1], - [528, 1], - [527, 1], - [527, 0, "\\"], - [528, 0, "e"], - [529, 0, "m"], - [530, 0, "p"], - [531, 0, "h"], - [532, 0, "{"], - [533, 0, "R"], - [534, 0, "e"], - [535, 0, "p"], - [536, 0, "l"], - [537, 0, "i"], - [538, 0, "c"], - [539, 0, "a"], - [540, 0, "t"], - [541, 0, "e"], - [542, 0, "d"], - [543, 0, " "], - [544, 0, "G"], - [545, 0, "r"], - [546, 0, "o"], - [547, 0, "w"], - [548, 0, "a"], - [549, 0, "b"], - [550, 0, "l"], - [551, 0, "e"], - [552, 0, " "], - [553, 0, "A"], - [554, 0, "r"], - [555, 0, "r"], - [556, 0, "a"], - [557, 0, "y"], - [558, 0, "}"], - [559, 0, " "], - [560, 0, "("], - [561, 0, "R"], - [562, 0, "G"], - [563, 0, "A"], - [564, 0, ")"], - [565, 0, " "], - [566, 0, "d"], - [567, 0, "a"], - [568, 0, "t"], - [569, 0, "a"], - [570, 0, "t"], - [571, 0, "y"], - [572, 0, "p"], - [573, 0, "e"], - [574, 0, " "], - [575, 0, "w"], - [576, 0, "a"], - [577, 0, "s"], - [578, 0, " "], - [579, 0, "o"], - [580, 0, "r"], - [581, 0, "i"], - [582, 0, "g"], - [583, 0, "i"], - [584, 0, "n"], - [585, 0, "a"], - [586, 0, "l"], - [587, 0, "l"], - [588, 0, "y"], - [589, 0, " "], - [590, 0, "d"], - [591, 0, "e"], - [592, 0, "f"], - [593, 0, "i"], - [594, 0, "n"], - [595, 0, "e"], - [596, 0, "d"], - [597, 0, " "], - [598, 0, "b"], - [599, 0, "y"], - [600, 0, " "], - [601, 0, "R"], - [602, 0, "o"], - [603, 0, "h"], - [604, 0, " "], - [605, 0, "e"], - [606, 0, "t"], - [607, 0, " "], - [608, 0, "a"], - [609, 0, "l"], - [610, 0, "."], - [611, 0, "\\"], - [612, 0, " "], - [613, 0, "u"], - [614, 0, "s"], - [615, 0, "i"], - [616, 0, "n"], - [617, 0, "g"], - [618, 0, " "], - [619, 0, "p"], - [620, 0, "s"], - [621, 0, "e"], - [622, 0, "u"], - [623, 0, "d"], - [624, 0, "o"], - [625, 0, "c"], - [626, 0, "o"], - [627, 0, "d"], - [628, 0, "e"], - [629, 0, "~"], - [630, 0, "\\"], - [631, 0, "c"], - [632, 0, "i"], - [633, 0, "t"], - [634, 0, "e"], - [635, 0, "{"], - [636, 0, "R"], - [637, 0, "o"], - [638, 0, "h"], - [639, 0, ":"], - [640, 0, "2"], - [641, 0, "0"], - [642, 0, "1"], - [643, 0, "1"], - [644, 0, "d"], - [645, 0, "w"], - [646, 0, "}"], - [647, 0, "."], - [648, 0, " "], - [649, 0, "I"], - [650, 0, "n"], - [651, 0, " "], - [652, 0, "t"], - [653, 0, "h"], - [654, 0, "i"], - [655, 0, "s"], - [656, 0, " "], - [657, 0, "s"], - [658, 0, "e"], - [659, 0, "c"], - [660, 0, "t"], - [661, 0, "i"], - [662, 0, "o"], - [663, 0, "n"], - [664, 0, " "], - [665, 0, "w"], - [666, 0, "e"], - [667, 0, " "], - [668, 0, "p"], - [669, 0, "r"], - [670, 0, "e"], - [671, 0, "s"], - [672, 0, "e"], - [673, 0, "n"], - [674, 0, "t"], - [675, 0, " "], - [676, 0, "t"], - [677, 0, "h"], - [678, 0, "e"], - [679, 0, " "], - [680, 0, "a"], - [681, 0, "l"], - [682, 0, "g"], - [683, 0, "o"], - [684, 0, "r"], - [685, 0, "i"], - [686, 0, "t"], - [687, 0, "h"], - [688, 0, "m"], - [689, 0, " "], - [690, 0, "i"], - [691, 0, "n"], - [692, 0, " "], - [693, 0, "a"], - [694, 0, "n"], - [695, 0, " "], - [696, 0, "a"], - [697, 0, "l"], - [698, 0, "t"], - [699, 0, "e"], - [700, 0, "r"], - [701, 0, "n"], - [702, 0, "a"], - [703, 0, "t"], - [704, 0, "i"], - [705, 0, "v"], - [706, 0, "e"], - [707, 0, " "], - [708, 0, "f"], - [709, 0, "o"], - [710, 0, "r"], - [711, 0, "m"], - [712, 0, " "], - [713, 0, "w"], - [714, 0, "h"], - [715, 0, "i"], - [716, 0, "c"], - [717, 0, "h"], - [718, 0, " "], - [719, 0, "i"], - [720, 0, "s"], - [721, 0, " "], - [722, 0, "m"], - [723, 0, "o"], - [724, 0, "r"], - [725, 0, "e"], - [726, 0, " "], - [727, 0, "a"], - [728, 0, "m"], - [729, 0, "e"], - [730, 0, "n"], - [731, 0, "a"], - [732, 0, "b"], - [733, 0, "l"], - [734, 0, "e"], - [735, 0, " "], - [736, 0, "t"], - [737, 0, "o"], - [738, 0, " "], - [739, 0, "p"], - [740, 0, "r"], - [741, 0, "o"], - [742, 0, "o"], - [743, 0, "f"], - [744, 0, "s"], - [745, 0, "."], - [746, 0, "\n"], - [747, 0, "\n"], - [748, 0, "E"], - [749, 0, "a"], - [750, 0, "c"], - [751, 0, "h"], - [752, 0, " "], - [753, 0, "p"], - [754, 0, "e"], - [755, 0, "e"], - [756, 0, "r"], - [757, 0, " "], - [758, 0, "t"], - [759, 0, "h"], - [760, 0, "a"], - [761, 0, "t"], - [762, 0, " "], - [763, 0, "m"], - [764, 0, "a"], - [765, 0, "i"], - [766, 0, "n"], - [767, 0, "t"], - [768, 0, "a"], - [769, 0, "i"], - [770, 0, "n"], - [771, 0, "s"], - [772, 0, " "], - [773, 0, "a"], - [774, 0, " "], - [775, 0, "r"], - [776, 0, "e"], - [777, 0, "p"], - [778, 0, "l"], - [779, 0, "i"], - [780, 0, "c"], - [781, 0, "a"], - [782, 0, " "], - [783, 0, "o"], - [784, 0, "f"], - [785, 0, " "], - [786, 0, "a"], - [787, 0, "n"], - [788, 0, " "], - [789, 0, "R"], - [790, 0, "G"], - [791, 0, "A"], - [792, 0, " "], - [793, 0, "s"], - [794, 0, "t"], - [795, 0, "o"], - [796, 0, "r"], - [797, 0, "e"], - [798, 0, "s"], - [799, 0, " "], - [800, 0, "a"], - [801, 0, " "], - [802, 0, "c"], - [803, 0, "o"], - [804, 0, "p"], - [805, 0, "y"], - [806, 0, " "], - [807, 0, "o"], - [808, 0, "f"], - [809, 0, " "], - [810, 0, "i"], - [811, 0, "t"], - [812, 0, "s"], - [813, 0, " "], - [814, 0, "s"], - [815, 0, "t"], - [816, 0, "a"], - [817, 0, "t"], - [818, 0, "e"], - [819, 0, " "], - [820, 0, "$"], - [821, 0, "A"], - [822, 0, "$"], - [823, 0, ","], - [824, 0, " "], - [825, 0, "w"], - [826, 0, "h"], - [827, 0, "i"], - [828, 0, "c"], - [829, 0, "h"], - [830, 0, " "], - [831, 0, "i"], - [832, 0, "s"], - [833, 0, " "], - [834, 0, "a"], - [835, 0, " "], - [836, 0, "s"], - [837, 0, "e"], - [838, 0, "t"], - [839, 0, " "], - [840, 0, "o"], - [841, 0, "f"], - [842, 0, " "], - [843, 0, "t"], - [844, 0, "r"], - [845, 0, "i"], - [846, 0, "p"], - [847, 0, "l"], - [848, 0, "e"], - [849, 0, "s"], - [850, 0, " "], - [851, 0, "("], - [851, 1], - [851, 0, "$"], - [852, 0, "("], - [853, 0, "\\"], - [854, 0, "m"], - [855, 0, "a"], - [856, 0, "t"], - [857, 0, "h"], - [858, 0, "i"], - [859, 0, "t"], - [860, 0, "{"], - [861, 0, "i"], - [862, 0, "d"], - [863, 0, "}"], - [864, 0, ","], - [865, 0, " "], - [866, 0, "\\"], - [867, 0, "m"], - [868, 0, "a"], - [869, 0, "t"], - [870, 0, "h"], - [871, 0, "i"], - [872, 0, "t"], - [873, 0, "{"], - [874, 0, "v"], - [875, 0, "a"], - [876, 0, "l"], - [877, 0, "u"], - [878, 0, "e"], - [879, 0, "}"], - [880, 0, ","], - [881, 0, " "], - [882, 0, "\\"], - [883, 0, "m"], - [884, 0, "a"], - [885, 0, "t"], - [886, 0, "h"], - [887, 0, "i"], - [888, 0, "t"], - [889, 0, "{"], - [890, 0, "n"], - [891, 0, "e"], - [892, 0, "x"], - [893, 0, "t"], - [894, 0, "}"], - [895, 0, ")"], - [896, 0, "$"], - [897, 0, "."], - [898, 0, " "], - [899, 0, "T"], - [900, 0, "h"], - [901, 0, "e"], - [902, 0, " "], - [903, 0, "e"], - [904, 0, "m"], - [905, 0, "p"], - [906, 0, "t"], - [907, 0, "y"], - [908, 0, " "], - [909, 0, "a"], - [910, 0, "r"], - [911, 0, "r"], - [912, 0, "a"], - [913, 0, "y"], - [914, 0, " "], - [915, 0, "i"], - [916, 0, "s"], - [917, 0, " "], - [918, 0, "r"], - [919, 0, "e"], - [920, 0, "p"], - [921, 0, "r"], - [922, 0, "e"], - [923, 0, "s"], - [924, 0, "e"], - [925, 0, "n"], - [914, 0, " "], - [915, 0, "$"], - [916, 0, "A"], - [917, 0, "_"], - [918, 0, "\\"], - [919, 0, "e"], - [920, 0, "m"], - [921, 0, "p"], - [922, 0, "t"], - [923, 0, "y"], - [924, 0, "s"], - [925, 0, "e"], - [926, 0, "t"], - [927, 0, "$"], - [940, 0, "t"], - [941, 0, "e"], - [942, 0, "d"], - [943, 0, " "], - [944, 0, "b"], - [945, 0, "y"], - [946, 0, " "], - [947, 0, "a"], - [948, 0, " "], - [949, 0, "s"], - [950, 0, "e"], - [951, 0, "t"], - [952, 0, " "], - [953, 0, "c"], - [954, 0, "o"], - [955, 0, "n"], - [956, 0, "t"], - [957, 0, "a"], - [958, 0, "i"], - [959, 0, "n"], - [960, 0, "i"], - [961, 0, "n"], - [962, 0, "g"], - [963, 0, " "], - [964, 0, "a"], - [965, 0, " "], - [966, 0, "s"], - [967, 0, "i"], - [968, 0, "n"], - [969, 0, "g"], - [970, 0, "l"], - [971, 0, "e"], - [972, 0, " "], - [973, 0, "t"], - [974, 0, "u"], - [975, 0, "p"], - [976, 0, "l"], - [977, 0, "e"], - [978, 0, ":"], - [979, 0, "\n"], - [980, 0, "\\"], - [981, 0, "b"], - [982, 0, "e"], - [983, 0, "g"], - [984, 0, "i"], - [985, 0, "n"], - [986, 0, "{"], - [987, 0, "e"], - [988, 0, "q"], - [989, 0, "u"], - [990, 0, "a"], - [991, 0, "t"], - [992, 0, "i"], - [993, 0, "o"], - [994, 0, "n"], - [995, 0, "}"], - [996, 0, "\n"], - [997, 0, "\\"], - [998, 0, "e"], - [999, 0, "n"], - [1000, 0, "d"], - [1001, 0, "{"], - [1002, 0, "e"], - [1003, 0, "q"], - [1004, 0, "u"], - [1005, 0, "a"], - [1006, 0, "t"], - [1007, 0, "i"], - [1008, 0, "o"], - [1009, 0, "n"], - [1010, 0, "}"], - [996, 0, "\n"], - [997, 0, "A"], - [998, 0, "_"], - [999, 0, "\\"], - [1000, 0, "e"], - [1001, 0, "m"], - [1002, 0, "p"], - [1003, 0, "t"], - [1004, 0, "y"], - [1005, 0, "s"], - [1006, 0, "e"], - [1007, 0, "t"], - [1008, 0, " "], - [1009, 0, "="], - [1010, 0, " "], - [1011, 0, "{"], - [1012, 0, "("], - [1013, 0, "\\"], - [1014, 0, "v"], - [1015, 0, "d"], - [1016, 0, "a"], - [1017, 0, "s"], - [1018, 0, "h"], - [1019, 0, ","], - [1020, 0, " "], - [1021, 0, "\\"], - [1022, 0, "b"], - [1023, 0, "o"], - [1024, 0, "t"], - [1025, 0, ","], - [1026, 0, " "], - [1027, 0, "\\"], - [1028, 0, "d"], - [1029, 0, "a"], - [1030, 0, "s"], - [1031, 0, "h"], - [1032, 0, "v"], - [1033, 0, ")"], - [1034, 0, "}"], - [1050, 0, "\n"], - [1051, 0, "w"], - [1052, 0, "h"], - [1053, 0, "e"], - [1054, 0, "r"], - [1055, 0, "e"], - [1056, 0, " "], - [1057, 0, "$"], - [1058, 0, "\\"], - [1059, 0, "v"], - [1060, 0, "d"], - [1061, 0, "a"], - [1062, 0, "s"], - [1063, 0, "h"], - [1064, 0, "$"], - [1065, 0, " "], - [1066, 0, "i"], - [1067, 0, "s"], - [1068, 0, " "], - [1069, 0, "a"], - [1070, 0, " "], - [1071, 0, "s"], - [1072, 0, "p"], - [1073, 0, "e"], - [1074, 0, "c"], - [1075, 0, "i"], - [1076, 0, "a"], - [1077, 0, "l"], - [1078, 0, " "], - [1079, 0, "I"], - [1080, 0, "D"], - [1081, 0, " "], - [1082, 0, "d"], - [1083, 0, "e"], - [1084, 0, "n"], - [1085, 0, "o"], - [1086, 0, "t"], - [1087, 0, "i"], - [1088, 0, "n"], - [1089, 0, "g"], - [1090, 0, " "], - [1091, 0, "t"], - [1092, 0, "h"], - [1093, 0, "e"], - [1094, 0, " "], - [1095, 0, "h"], - [1096, 0, "e"], - [1097, 0, "a"], - [1098, 0, "d"], - [1099, 0, " "], - [1100, 0, "o"], - [1101, 0, "f"], - [1102, 0, " "], - [1103, 0, "t"], - [1104, 0, "h"], - [1105, 0, "e"], - [1106, 0, " "], - [1107, 0, "l"], - [1108, 0, "i"], - [1109, 0, "s"], - [1110, 0, "t"], - [1111, 0, ","], - [1112, 0, " "], - [1113, 0, "$"], - [1114, 0, "\\"], - [1115, 0, "d"], - [1116, 0, "a"], - [1117, 0, "s"], - [1118, 0, "h"], - [1119, 0, "v"], - [1120, 0, "$"], - [1121, 0, " "], - [1122, 0, "i"], - [1123, 0, "n"], - [1124, 0, "d"], - [1125, 0, "i"], - [1126, 0, "c"], - [1127, 0, "a"], - [1128, 0, "t"], - [1129, 0, "e"], - [1130, 0, "s"], - [1131, 0, " "], - [1132, 0, "t"], - [1133, 0, "h"], - [1134, 0, "e"], - [1135, 0, " "], - [1136, 0, "e"], - [1137, 0, "n"], - [1138, 0, "d"], - [1139, 0, " "], - [1140, 0, "o"], - [1141, 0, "f"], - [1142, 0, " "], - [1143, 0, "t"], - [1144, 0, "h"], - [1145, 0, "e"], - [1146, 0, " "], - [1147, 0, "l"], - [1148, 0, "i"], - [1149, 0, "s"], - [1150, 0, "t"], - [1151, 0, ","], - [1152, 0, " "], - [1153, 0, "a"], - [1154, 0, "n"], - [1155, 0, "d"], - [1156, 0, " "], - [1157, 0, "$"], - [1158, 0, "\\"], - [1159, 0, "b"], - [1160, 0, "o"], - [1161, 0, "t"], - [1162, 0, "$"], - [1163, 0, " "], - [1164, 0, "i"], - [1165, 0, "s"], - [1166, 0, " "], - [1167, 0, "t"], - [1168, 0, "h"], - [1169, 0, "e"], - [1170, 0, " "], - [1171, 0, "b"], - [1171, 1], - [1171, 0, "a"], - [1172, 0, "b"], - [1173, 0, "s"], - [1174, 0, "e"], - [1175, 0, "n"], - [1176, 0, "c"], - [1177, 0, "e"], - [1178, 0, " "], - [1179, 0, "o"], - [1180, 0, "f"], - [1181, 0, " "], - [1182, 0, "a"], - [1183, 0, " "], - [1184, 0, "v"], - [1185, 0, "a"], - [1186, 0, "l"], - [1187, 0, "u"], - [1188, 0, "e"], - [1189, 0, "."], - [1011, 0, "\\"], - [1035, 0, "\\"], - [995, 0, "*"], - [997, 1], - [996, 1], - [995, 1], - [994, 1], - [993, 1], - [992, 1], - [991, 1], - [990, 1], - [989, 1], - [988, 1], - [987, 1], - [986, 1], - [985, 1], - [984, 1], - [983, 1], - [982, 1], - [981, 1], - [980, 1], - [980, 0, "$"], - [981, 0, "$"], - [982, 0, " "], - [1037, 1], - [1036, 1], - [1035, 1], - [1034, 1], - [1033, 1], - [1032, 1], - [1031, 1], - [1030, 1], - [1029, 1], - [1028, 1], - [1027, 1], - [1026, 1], - [1025, 1], - [1024, 1], - [1023, 1], - [1023, 0, " "], - [1024, 0, "$"], - [1025, 0, "$"], - [739, 0, "c"], - [740, 0, "o"], - [741, 0, "r"], - [742, 0, "r"], - [743, 0, "e"], - [744, 0, "c"], - [745, 0, "t"], - [746, 0, "n"], - [747, 0, "e"], - [748, 0, "s"], - [749, 0, "s"], - [750, 0, " "], - [1178, 0, "\n"], - [1179, 0, "\n"], - [1180, 0, "W"], - [1181, 0, "e"], - [1182, 0, " "], - [1183, 0, "c"], - [1184, 0, "a"], - [1185, 0, "n"], - [1186, 0, " "], - [1186, 1], - [1185, 1], - [1184, 1], - [1183, 1], - [1183, 0, "t"], - [1183, 1], - [1183, 0, "d"], - [1184, 0, "e"], - [1185, 0, "f"], - [1186, 0, "i"], - [1187, 0, "n"], - [1188, 0, "e"], - [1189, 0, " "], - [1190, 0, "s"], - [1191, 0, "o"], - [1192, 0, "m"], - [1193, 0, "e"], - [1194, 0, " "], - [1195, 0, "c"], - [1196, 0, "o"], - [1197, 0, "n"], - [1198, 0, "v"], - [1199, 0, "e"], - [1200, 0, "n"], - [1201, 0, "i"], - [1202, 0, "c"], - [1202, 1], - [1202, 0, "e"], - [1203, 0, "n"], - [1204, 0, "c"], - [1205, 0, "e"], - [1206, 0, " "], - [1207, 0, "f"], - [1208, 0, "u"], - [1209, 0, "n"], - [1210, 0, "c"], - [1211, 0, "t"], - [1212, 0, "i"], - [1213, 0, "o"], - [1214, 0, "n"], - [1215, 0, "s"], - [1216, 0, " "], - [1217, 0, "f"], - [1218, 0, "o"], - [1219, 0, "r"], - [1220, 0, " "], - [1221, 0, "a"], - [1222, 0, "c"], - [1223, 0, "c"], - [1224, 0, "e"], - [1225, 0, "s"], - [1226, 0, "s"], - [1227, 0, "i"], - [1228, 0, "n"], - [1229, 0, "g"], - [1230, 0, " "], - [1231, 0, "t"], - [1232, 0, "h"], - [1233, 0, "e"], - [1234, 0, " "], - [1235, 0, "s"], - [1236, 0, "t"], - [1237, 0, "a"], - [1238, 0, "t"], - [1239, 0, "e"], - [1240, 0, " "], - [1241, 0, "$"], - [1242, 0, "A"], - [1243, 0, "$"], - [1244, 0, ":"], - [1245, 0, "\n"], - [1246, 0, "\\"], - [1247, 0, "b"], - [1248, 0, "e"], - [1249, 0, "g"], - [1250, 0, "i"], - [1251, 0, "n"], - [1252, 0, "{"], - [1253, 0, "e"], - [1254, 0, "q"], - [1255, 0, "n"], - [1256, 0, "a"], - [1257, 0, "r"], - [1258, 0, "r"], - [1259, 0, "a"], - [1260, 0, "y"], - [1261, 0, "*"], - [1262, 0, "}"], - [1263, 0, "\n"], - [1264, 0, "\\"], - [1265, 0, "e"], - [1266, 0, "n"], - [1267, 0, "d"], - [1268, 0, "{"], - [1269, 0, "e"], - [1270, 0, "q"], - [1271, 0, "n"], - [1272, 0, "a"], - [1273, 0, "r"], - [1274, 0, "r"], - [1275, 0, "a"], - [1276, 0, "y"], - [1277, 0, "*"], - [1278, 0, "}"], - [1263, 0, "\n"], - [1264, 0, "\\"], - [1265, 0, "m"], - [1266, 0, "a"], - [1267, 0, "t"], - [1268, 0, "h"], - [1269, 0, "r"], - [1270, 0, "m"], - [1271, 0, "{"], - [1272, 0, "n"], - [1273, 0, "e"], - [1274, 0, "x"], - [1275, 0, "t"], - [1276, 0, "}"], - [1277, 0, "("], - [1278, 0, "A"], - [1279, 0, ","], - [1280, 0, " "], - [1281, 0, "\\"], - [1282, 0, "m"], - [1283, 0, "a"], - [1284, 0, "t"], - [1285, 0, "h"], - [1286, 0, "i"], - [1287, 0, "t"], - [1288, 0, "{"], - [1289, 0, "i"], - [1290, 0, "d"], - [1291, 0, "}"], - [1292, 0, ")"], - [1293, 0, " "], - [1294, 0, "="], - [1295, 0, " "], - [1294, 0, "&"], - [1296, 0, "&"], - [1298, 0, "n"], - [1299, 0, " "], - [1300, 0, "\\"], - [1301, 0, "q"], - [1302, 0, "u"], - [1303, 0, "a"], - [1304, 0, "t"], - [1304, 1], - [1304, 0, "d"], - [1305, 0, " "], - [1306, 0, "\\"], - [1307, 0, "m"], - [1308, 0, "a"], - [1309, 0, "t"], - [1310, 0, "h"], - [1311, 0, "r"], - [1312, 0, "m"], - [1313, 0, "{"], - [1314, 0, "s"], - [1315, 0, "u"], - [1316, 0, "c"], - [1317, 0, "h"], - [1318, 0, " "], - [1319, 0, "t"], - [1320, 0, "h"], - [1321, 0, "a"], - [1322, 0, "t"], - [1323, 0, "}"], - [1324, 0, " "], - [1325, 0, "\\"], - [1326, 0, ";"], - [1327, 0, " "], - [1328, 0, "("], - [1329, 0, "\\"], - [1330, 0, "m"], - [1331, 0, "a"], - [1332, 0, "t"], - [1333, 0, "h"], - [1334, 0, "i"], - [1335, 0, "t"], - [1336, 0, "{"], - [1337, 0, "i"], - [1338, 0, "d"], - [1339, 0, "}"], - [1340, 0, ","], - [1341, 0, " "], - [1342, 0, "\\"], - [1343, 0, "v"], - [1344, 0, "i"], - [1345, 0, "s"], - [1346, 0, "i"], - [1347, 0, "b"], - [1348, 0, "l"], - [1349, 0, "e"], - [1350, 0, "s"], - [1351, 0, "p"], - [1352, 0, "a"], - [1353, 0, "c"], - [1354, 0, "e"], - [1355, 0, ","], - [1356, 0, " "], - [1357, 0, "n"], - [1358, 0, ")"], - [1359, 0, " "], - [1360, 0, "\\"], - [1361, 0, "i"], - [1362, 0, "n"], - [1363, 0, " "], - [1364, 0, "A"], - [1343, 0, "t"], - [1344, 0, "e"], - [1345, 0, "x"], - [1346, 0, "t"], - [1260, 1], - [1259, 1], - [1258, 1], - [1257, 1], - [1256, 1], - [1255, 1], - [1254, 1], - [1253, 1], - [1253, 0, "a"], - [1254, 0, "l"], - [1255, 0, "i"], - [1256, 0, "g"], - [1257, 0, "n"], - [1379, 1], - [1378, 1], - [1377, 1], - [1376, 1], - [1375, 1], - [1374, 1], - [1373, 1], - [1372, 1], - [1372, 0, "a"], - [1373, 0, "l"], - [1374, 0, "i"], - [1375, 0, "g"], - [1376, 0, "n"], - [75, 0, "\n"], - [76, 0, "\\"], - [77, 0, "u"], - [78, 0, "s"], - [79, 0, "e"], - [80, 0, "p"], - [81, 0, "a"], - [82, 0, "c"], - [83, 0, "k"], - [84, 0, "a"], - [85, 0, "g"], - [86, 0, "e"], - [87, 0, "{"], - [88, 0, "a"], - [89, 0, "m"], - [90, 0, "s"], - [91, 0, "m"], - [92, 0, "a"], - [93, 0, "t"], - [94, 0, "h"], - [95, 0, "}"], - [96, 0, " "], - [97, 0, "%"], - [98, 0, " "], - [99, 0, "a"], - [100, 0, "l"], - [101, 0, "i"], - [102, 0, "g"], - [103, 0, "n"], - [104, 0, " "], - [105, 0, "e"], - [106, 0, "n"], - [107, 0, "v"], - [107, 1], - [106, 1], - [106, 0, "n"], - [107, 0, "v"], - [108, 0, "i"], - [109, 0, "r"], - [110, 0, "o"], - [111, 0, "n"], - [112, 0, "m"], - [113, 0, "e"], - [114, 0, "n"], - [115, 0, "t"], - [1334, 1], - [1349, 1], - [1348, 1], - [1347, 1], - [1346, 1], - [1345, 1], - [1344, 1], - [1344, 0, "t"], - [1345, 0, "e"], - [1346, 0, "x"], - [1347, 0, "t"], - [1361, 1], - [1361, 0, "q"], - [1362, 0, "u"], - [1363, 0, "a"], - [1364, 0, "d"], - [1407, 0, "\n"], - [1408, 0, "\\"], - [1409, 0, "m"], - [1410, 0, "a"], - [1411, 0, "t"], - [1412, 0, "h"], - [1413, 0, "r"], - [1414, 0, "m"], - [1415, 0, "{"], - [1416, 0, "v"], - [1417, 0, "a"], - [1418, 0, "l"], - [1419, 0, "}"], - [1420, 0, "("], - [1421, 0, "A"], - [1422, 0, ","], - [1423, 0, " "], - [1424, 0, "\\"], - [1425, 0, "m"], - [1426, 0, "a"], - [1427, 0, "t"], - [1428, 0, "h"], - [1429, 0, "i"], - [1430, 0, "t"], - [1431, 0, "{"], - [1432, 0, "i"], - [1433, 0, "d"], - [1434, 0, "}"], - [1435, 0, ")"], - [1436, 0, " "], - [1437, 0, " "], - [1438, 0, "&"], - [1439, 0, "="], - [1440, 0, " "], - [1441, 0, "n"], - [1442, 0, " "], - [1443, 0, "\\"], - [1444, 0, "q"], - [1445, 0, "u"], - [1446, 0, "a"], - [1447, 0, "d"], - [1448, 0, " "], - [1449, 0, "\\"], - [1450, 0, "t"], - [1451, 0, "e"], - [1452, 0, "x"], - [1453, 0, "t"], - [1454, 0, "{"], - [1455, 0, "s"], - [1456, 0, "u"], - [1457, 0, "c"], - [1458, 0, "h"], - [1459, 0, " "], - [1460, 0, "t"], - [1461, 0, "h"], - [1462, 0, "a"], - [1463, 0, "t"], - [1464, 0, "}"], - [1465, 0, " "], - [1466, 0, "\\"], - [1467, 0, "q"], - [1468, 0, "u"], - [1469, 0, "a"], - [1470, 0, "d"], - [1471, 0, " "], - [1472, 0, "("], - [1473, 0, "\\"], - [1474, 0, "m"], - [1475, 0, "a"], - [1476, 0, "t"], - [1477, 0, "h"], - [1478, 0, "i"], - [1479, 0, "d"], - [1480, 0, "{"], - [1481, 0, "i"], - [1482, 0, "d"], - [1483, 0, "}"], - [1484, 0, ","], - [1485, 0, " "], - [1441, 1], - [1441, 0, "v"], - [1486, 0, "v"], - [1487, 0, ","], - [1488, 0, " "], - [1489, 0, "\\"], - [1490, 0, "t"], - [1491, 0, "e"], - [1492, 0, "x"], - [1493, 0, "t"], - [1494, 0, "v"], - [1495, 0, "i"], - [1496, 0, "s"], - [1497, 0, "i"], - [1498, 0, "s"], - [1498, 1], - [1498, 0, "b"], - [1499, 0, "l"], - [1500, 0, "e"], - [1501, 0, "s"], - [1502, 0, "p"], - [1503, 0, "a"], - [1504, 0, "c"], - [1505, 0, "e"], - [1506, 0, ")"], - [1507, 0, " "], - [1508, 0, "\\"], - [1509, 0, "i"], - [1510, 0, "n"], - [1511, 0, " "], - [1512, 0, "A"], - [1407, 0, " "], - [1408, 0, "\\"], - [1409, 0, "\\"], - [325, 0, "\n"], - [326, 0, "\n"], - [327, 0, "%"], - [328, 0, " "], - [329, 0, "L"], - [330, 0, "i"], - [331, 0, "k"], - [332, 0, "e"], - [333, 0, " "], - [334, 0, "\\"], - [335, 0, "t"], - [336, 0, "e"], - [337, 0, "x"], - [338, 0, "t"], - [339, 0, "v"], - [340, 0, "i"], - [341, 0, "s"], - [342, 0, "i"], - [343, 0, "b"], - [344, 0, "l"], - [345, 0, "e"], - [346, 0, "s"], - [347, 0, "p"], - [348, 0, "a"], - [349, 0, "c"], - [350, 0, "e"], - [329, 0, "P"], - [330, 0, "l"], - [331, 0, "a"], - [332, 0, "c"], - [333, 0, "e"], - [334, 0, " "], - [334, 1], - [334, 0, "h"], - [335, 0, "j"], - [336, 0, "o"], - [336, 1], - [335, 1], - [335, 0, "o"], - [336, 0, "l"], - [337, 0, "d"], - [338, 0, "e"], - [339, 0, "r"], - [340, 0, " "], - [341, 0, "c"], - [342, 0, "h"], - [343, 0, "a"], - [344, 0, "r"], - [345, 0, "a"], - [346, 0, "c"], - [347, 0, "t"], - [348, 0, "e"], - [349, 0, "r"], - [350, 0, " "], - [351, 1], - [351, 0, "l"], - [373, 0, ","], - [374, 0, " "], - [375, 0, "b"], - [376, 0, "u"], - [377, 0, "t"], - [378, 0, " "], - [379, 0, "w"], - [380, 0, "o"], - [381, 0, "r"], - [382, 0, "k"], - [383, 0, "s"], - [384, 0, " "], - [385, 0, "i"], - [386, 0, "n"], - [387, 0, " "], - [388, 0, "m"], - [389, 0, "a"], - [390, 0, "t"], - [391, 0, "h"], - [392, 0, " "], - [393, 0, "m"], - [394, 0, "o"], - [395, 0, "d"], - [396, 0, "e"], - [397, 0, "\n"], - [398, 0, "\\"], - [399, 0, "n"], - [400, 0, "e"], - [401, 0, "w"], - [402, 0, "c"], - [403, 0, "o"], - [404, 0, "m"], - [405, 0, "m"], - [406, 0, "a"], - [407, 0, "n"], - [408, 0, "d"], - [409, 0, "\\"], - [410, 0, "p"], - [411, 0, "l"], - [412, 0, "a"], - [413, 0, "c"], - [414, 0, "e"], - [415, 0, "h"], - [416, 0, "o"], - [417, 0, "l"], - [418, 0, "d"], - [419, 0, "e"], - [420, 0, "r"], - [421, 0, "{"], - [422, 0, "%"], - [423, 0, "\n"], - [424, 0, " "], - [425, 0, " "], - [426, 0, "\\"], - [427, 0, "m"], - [428, 0, "a"], - [429, 0, "k"], - [430, 0, "e"], - [431, 0, "b"], - [432, 0, "o"], - [433, 0, "x"], - [434, 0, "["], - [435, 0, "0"], - [436, 0, "."], - [437, 0, "5"], - [438, 0, "e"], - [439, 0, "m"], - [440, 0, "]"], - [441, 0, "{"], - [442, 0, "%"], - [443, 0, "\n"], - [444, 0, " "], - [445, 0, " "], - [446, 0, " "], - [447, 0, " "], - [448, 0, "\\"], - [449, 0, "k"], - [450, 0, "e"], - [451, 0, "r"], - [452, 0, "n"], - [453, 0, "0"], - [454, 0, "."], - [454, 1], - [453, 1], - [452, 1], - [452, 0, "n"], - [453, 0, "."], - [454, 0, "0"], - [455, 0, "7"], - [456, 0, "e"], - [457, 0, "m"], - [458, 0, "\n"], - [459, 0, " "], - [460, 0, " "], - [461, 0, " "], - [462, 0, " "], - [463, 0, "\\"], - [464, 0, "v"], - [465, 0, "r"], - [466, 0, "u"], - [467, 0, "l"], - [468, 0, "e"], - [469, 0, " "], - [470, 0, "h"], - [471, 0, "e"], - [472, 0, "i"], - [473, 0, "g"], - [474, 0, "h"], - [475, 0, "t"], - [476, 0, "."], - [477, 0, "3"], - [478, 0, "e"], - [479, 0, "x"], - [480, 0, "\n"], - [481, 0, " "], - [482, 0, " "], - [483, 0, " "], - [484, 0, " "], - [485, 0, "\\"], - [486, 0, "h"], - [487, 0, "r"], - [488, 0, "u"], - [489, 0, "l"], - [490, 0, "e"], - [491, 0, "f"], - [492, 0, "i"], - [493, 0, "l"], - [494, 0, "l"], - [495, 0, "\n"], - [496, 0, " "], - [497, 0, " "], - [498, 0, " "], - [499, 0, " "], - [500, 0, "\\"], - [501, 0, "v"], - [502, 0, "r"], - [503, 0, "u"], - [504, 0, "l"], - [505, 0, "e"], - [506, 0, " "], - [507, 0, "h"], - [508, 0, "e"], - [509, 0, "i"], - [510, 0, "g"], - [511, 0, "h"], - [512, 0, "t"], - [513, 0, "."], - [514, 0, "3"], - [515, 0, "e"], - [516, 0, "x"], - [517, 0, "\n"], - [518, 0, " "], - [519, 0, " "], - [520, 0, " "], - [521, 0, " "], - [522, 0, " "], - [522, 1], - [522, 0, "\\"], - [523, 0, "k"], - [524, 0, "e"], - [525, 0, "r"], - [526, 0, "n"], - [527, 0, "."], - [528, 0, "0"], - [529, 0, "7"], - [530, 0, "e"], - [531, 0, "m"], - [532, 0, "\n"], - [533, 0, " "], - [534, 0, " "], - [535, 0, "}"], - [536, 0, "%"], - [537, 0, "\n"], - [538, 0, "}"], - [1722, 1], - [1721, 1], - [1720, 1], - [1719, 1], - [1718, 1], - [1717, 1], - [1716, 1], - [1715, 1], - [1714, 1], - [1713, 1], - [1712, 1], - [1711, 1], - [1710, 1], - [1709, 1], - [1708, 1], - [1707, 1], - [1707, 0, "p"], - [1708, 0, "l"], - [1709, 0, "a"], - [1710, 0, "c"], - [1711, 0, "e"], - [1712, 0, "h"], - [1713, 0, "o"], - [1714, 0, "l"], - [1715, 0, "d"], - [1716, 0, "e"], - [1717, 0, "r"], - [1610, 1], - [1609, 1], - [1608, 1], - [1607, 1], - [1606, 1], - [1605, 1], - [1604, 1], - [1603, 1], - [1602, 1], - [1601, 1], - [1600, 1], - [1599, 1], - [1598, 1], - [1597, 1], - [1596, 1], - [1595, 1], - [1595, 0, "p"], - [1596, 0, "l"], - [1597, 0, "a"], - [1598, 0, "c"], - [1599, 0, "e"], - [1600, 0, "h"], - [1601, 0, "o"], - [1602, 0, "l"], - [1603, 0, "d"], - [1604, 0, "e"], - [1605, 0, "r"], - [1691, 1], - [1691, 0, "t"], - [1692, 0, "q"], - [1692, 1], - [1557, 0, "&"], - [1662, 0, "&"], - [1612, 0, "&"], - [1718, 0, "&"], - [437, 1], - [437, 0, "8"], - [1557, 1], - [1662, 1], - [1573, 0, "&"], - [1679, 0, "&"], - [437, 1], - [437, 0, "7"], - [1573, 1], - [1678, 1], - [1716, 1], - [1611, 1], - [1116, 1], - [1115, 1], - [1114, 1], - [1113, 1], - [1112, 1], - [1111, 1], - [1110, 1], - [1109, 1], - [1108, 1], - [1107, 1], - [1106, 1], - [1105, 1], - [1104, 1], - [1103, 1], - [1103, 0, "p"], - [1104, 0, "a"], - [1105, 0, "r"], - [1106, 0, "t"], - [1107, 0, "i"], - [1108, 0, "a"], - [1109, 0, "l"], - [1110, 0, " "], - [1111, 0, "f"], - [1112, 0, "u"], - [1113, 0, "n"], - [1114, 0, "c"], - [1115, 0, "t"], - [1116, 0, "i"], - [1117, 0, "o"], - [1118, 0, "n"], - [1119, 0, " "], - [1120, 0, "f"], - [1121, 0, "r"], - [1122, 0, "o"], - [1123, 0, "m"], - [1124, 0, " "], - [1125, 0, "a"], - [1126, 0, "n"], - [1127, 0, " "], - [1128, 0, "I"], - [1129, 0, "t"], - [1130, 0, "e"], - [1131, 0, "m"], - [1132, 0, "I"], - [1133, 0, "D"], - [1136, 1], - [1147, 0, "$"], - [1148, 0, " "], - [1149, 0, "t"], - [1150, 0, "o"], - [1151, 0, " "], - [1152, 0, "a"], - [1153, 0, " "], - [1154, 0, "p"], - [1155, 0, "a"], - [1156, 0, "i"], - [1157, 0, "r"], - [1158, 0, " "], - [1159, 0, "o"], - [1160, 0, "f"], - [1161, 0, " "], - [1163, 1], - [1162, 1], - [1162, 0, "$"], - [1163, 0, "("], - [1275, 1], - [1274, 1], - [1273, 1], - [1272, 1], - [1271, 1], - [1270, 1], - [1269, 1], - [1268, 1], - [1267, 1], - [1266, 1], - [1265, 1], - [1264, 1], - [1263, 1], - [1262, 1], - [1261, 1], - [1260, 1], - [1259, 1], - [1258, 1], - [1257, 1], - [1256, 1], - [1255, 1], - [1254, 1], - [1253, 1], - [1252, 1], - [1251, 1], - [1250, 1], - [1249, 1], - [1248, 1], - [1247, 1], - [1133, 1], - [1132, 1], - [1131, 1], - [1130, 1], - [1129, 1], - [1128, 1], - [1127, 1], - [1126, 1], - [1125, 1], - [1124, 1], - [1143, 1], - [1142, 1], - [1146, 0, "s"], - [1200, 1], - [1199, 1], - [1198, 1], - [1197, 1], - [1196, 1], - [1196, 0, "l"], - [1197, 0, "i"], - [1198, 0, "s"], - [1199, 0, "t"], - [1234, 1], - [1233, 1], - [1232, 1], - [1231, 1], - [1230, 1], - [1230, 0, "a"], - [1231, 0, "s"], - [1232, 0, " "], - [1233, 0, "f"], - [1234, 0, "o"], - [1235, 0, "l"], - [1236, 0, "l"], - [1237, 0, "o"], - [1238, 0, "w"], - [1239, 0, "s"], - [1261, 1], - [1269, 0, "("], - [1267, 1], - [1267, 0, " "], - [1268, 0, "\\"], - [1269, 0, "m"], - [1270, 0, "a"], - [1271, 0, "p"], - [1272, 0, "s"], - [1273, 0, "t"], - [1274, 0, "o"], - [1266, 1], - [1265, 1], - [1264, 1], - [1263, 1], - [1262, 1], - [1262, 0, "m"], - [1263, 0, "a"], - [1264, 0, "t"], - [1265, 0, "h"], - [1266, 0, "s"], - [1267, 0, "f"], - [1268, 0, "{"], - [1269, 0, "h"], - [1270, 0, "e"], - [1271, 0, "a"], - [1272, 0, "d"], - [1273, 0, "}"], - [1295, 1], - [1294, 1], - [1293, 1], - [1292, 1], - [1291, 1], - [1291, 0, "m"], - [1292, 0, "a"], - [1293, 0, "t"], - [1294, 0, "h"], - [1295, 0, "s"], - [1296, 0, "f"], - [1297, 0, "{"], - [1298, 0, "t"], - [1299, 0, "a"], - [1300, 0, "i"], - [1301, 0, "l"], - [1302, 0, "}"], - [1322, 1], - [1321, 1], - [1320, 1], - [1319, 1], - [1318, 1], - [1318, 0, "m"], - [1319, 0, "a"], - [1320, 0, "t"], - [1321, 0, "h"], - [1322, 0, "s"], - [1323, 0, "f"], - [1324, 0, "{"], - [1325, 0, "h"], - [1326, 0, "e"], - [1327, 0, "a"], - [1328, 0, "d"], - [1329, 0, "}"], - [1331, 0, " "], - [1332, 0, "a"], - [1333, 0, "n"], - [1334, 0, "d"], - [1335, 0, " "], - [1336, 0, "$"], - [1337, 0, "\\"], - [1338, 0, "m"], - [1339, 0, "a"], - [1340, 0, "t"], - [1341, 0, "h"], - [1342, 0, "s"], - [1343, 0, "f"], - [1344, 0, "{"], - [1345, 0, "t"], - [1346, 0, "a"], - [1347, 0, "i"], - [1348, 0, "l"], - [1349, 0, "}"], - [1350, 0, "$"], - [1353, 1], - [1352, 1], - [1351, 1], - [1353, 0, "r"], - [1354, 0, "e"], - [1366, 0, "s"], - [1385, 0, " "], - [1386, 0, "a"], - [1387, 0, "n"], - [1388, 0, "d"], - [1389, 0, " "], - [1390, 0, "t"], - [1391, 0, "a"], - [1392, 0, "i"], - [1393, 0, "l"], - [1407, 0, " "], - [1408, 0, "r"], - [1409, 0, "e"], - [1410, 0, "s"], - [1411, 0, "p"], - [1412, 0, "e"], - [1413, 0, "c"], - [1414, 0, "t"], - [1415, 0, "i"], - [1416, 0, "v"], - [1417, 0, "e"], - [1418, 0, "l"], - [1419, 0, "y"], - [1458, 1], - [1457, 1], - [1456, 1], - [1455, 1], - [1454, 1], - [1453, 1], - [1452, 1], - [1451, 1], - [1450, 1], - [1449, 1], - [1448, 1], - [1447, 1], - [1446, 1], - [1445, 1], - [1444, 1], - [1443, 1], - [1442, 1], - [1441, 1], - [1440, 1], - [1439, 1], - [1438, 1], - [1437, 1], - [1436, 1], - [1435, 1], - [1434, 1], - [1433, 1], - [1432, 1], - [1431, 1], - [1430, 1], - [1429, 1], - [1428, 1], - [1427, 1], - [1426, 1], - [1425, 1], - [1424, 1], - [1423, 1], - [1422, 1], - [1421, 1], - [1420, 1], - [1434, 1], - [1433, 1], - [1433, 0, "d"], - [1434, 0, "e"], - [1435, 0, "n"], - [1436, 0, "o"], - [1437, 0, "t"], - [1438, 0, "e"], - [1439, 0, "s"], - [1763, 1], - [1762, 1], - [1761, 1], - [1760, 1], - [1759, 1], - [1758, 1], - [1757, 1], - [1756, 1], - [1755, 1], - [1754, 1], - [1753, 1], - [1752, 1], - [1751, 1], - [1750, 1], - [1749, 1], - [1748, 1], - [1747, 1], - [1746, 1], - [1745, 1], - [1744, 1], - [1743, 1], - [1742, 1], - [1741, 1], - [1740, 1], - [1739, 1], - [1738, 1], - [1737, 1], - [1736, 1], - [1735, 1], - [1734, 1], - [1733, 1], - [1732, 1], - [1731, 1], - [1730, 1], - [1729, 1], - [1728, 1], - [1727, 1], - [1726, 1], - [1725, 1], - [1724, 1], - [1723, 1], - [1722, 1], - [1721, 1], - [1720, 1], - [1719, 1], - [1718, 1], - [1717, 1], - [1716, 1], - [1715, 1], - [1714, 1], - [1713, 1], - [1712, 1], - [1711, 1], - [1710, 1], - [1709, 1], - [1708, 1], - [1707, 1], - [1706, 1], - [1705, 1], - [1704, 1], - [1703, 1], - [1702, 1], - [1701, 1], - [1700, 1], - [1699, 1], - [1698, 1], - [1697, 1], - [1696, 1], - [1695, 1], - [1694, 1], - [1693, 1], - [1692, 1], - [1691, 1], - [1690, 1], - [1689, 1], - [1688, 1], - [1687, 1], - [1686, 1], - [1685, 1], - [1684, 1], - [1683, 1], - [1682, 1], - [1681, 1], - [1680, 1], - [1679, 1], - [1678, 1], - [1677, 1], - [1676, 1], - [1675, 1], - [1674, 1], - [1673, 1], - [1672, 1], - [1671, 1], - [1670, 1], - [1669, 1], - [1668, 1], - [1667, 1], - [1666, 1], - [1665, 1], - [1664, 1], - [1663, 1], - [1662, 1], - [1661, 1], - [1660, 1], - [1659, 1], - [1658, 1], - [1657, 1], - [1656, 1], - [1655, 1], - [1654, 1], - [1653, 1], - [1652, 1], - [1651, 1], - [1650, 1], - [1649, 1], - [1648, 1], - [1647, 1], - [1646, 1], - [1645, 1], - [1644, 1], - [1643, 1], - [1642, 1], - [1641, 1], - [1640, 1], - [1639, 1], - [1638, 1], - [1637, 1], - [1636, 1], - [1635, 1], - [1634, 1], - [1633, 1], - [1632, 1], - [1631, 1], - [1630, 1], - [1629, 1], - [1628, 1], - [1627, 1], - [1626, 1], - [1625, 1], - [1624, 1], - [1623, 1], - [1622, 1], - [1621, 1], - [1620, 1], - [1619, 1], - [1618, 1], - [1617, 1], - [1616, 1], - [1615, 1], - [1614, 1], - [1613, 1], - [1612, 1], - [1611, 1], - [1610, 1], - [1609, 1], - [1608, 1], - [1607, 1], - [1606, 1], - [1605, 1], - [1604, 1], - [1603, 1], - [1602, 1], - [1601, 1], - [1600, 1], - [1599, 1], - [1598, 1], - [1597, 1], - [1596, 1], - [1595, 1], - [1594, 1], - [1593, 1], - [1592, 1], - [1591, 1], - [1590, 1], - [1589, 1], - [1588, 1], - [1587, 1], - [1586, 1], - [1585, 1], - [1584, 1], - [1583, 1], - [1582, 1], - [1581, 1], - [1580, 1], - [1579, 1], - [1578, 1], - [1577, 1], - [1576, 1], - [1575, 1], - [1574, 1], - [1573, 1], - [1572, 1], - [1571, 1], - [1570, 1], - [1569, 1], - [1568, 1], - [1567, 1], - [1566, 1], - [1565, 1], - [1564, 1], - [1563, 1], - [1562, 1], - [1561, 1], - [1560, 1], - [1559, 1], - [1558, 1], - [1557, 1], - [1556, 1], - [1555, 1], - [1554, 1], - [1553, 1], - [1552, 1], - [1551, 1], - [1550, 1], - [1549, 1], - [1548, 1], - [1547, 1], - [1546, 1], - [1545, 1], - [1544, 1], - [1543, 1], - [1542, 1], - [1541, 1], - [1540, 1], - [1539, 1], - [1538, 1], - [1537, 1], - [1536, 1], - [1535, 1], - [1534, 1], - [1533, 1], - [1532, 1], - [1531, 1], - [1530, 1], - [1529, 1], - [1528, 1], - [1527, 1], - [1526, 1], - [1525, 1], - [1524, 1], - [1523, 1], - [1522, 1], - [1521, 1], - [1520, 1], - [1519, 1], - [1518, 1], - [1517, 1], - [1516, 1], - [1515, 1], - [1514, 1], - [1513, 1], - [1512, 1], - [1511, 1], - [1510, 1], - [1509, 1], - [1508, 1], - [1507, 1], - [1506, 1], - [1505, 1], - [1504, 1], - [1503, 1], - [1502, 1], - [1501, 1], - [1500, 1], - [1499, 1], - [1498, 1], - [1497, 1], - [1496, 1], - [1495, 1], - [1494, 1], - [1493, 1], - [1492, 1], - [1491, 1], - [1490, 1], - [1489, 1], - [1488, 1], - [1487, 1], - [1486, 1], - [1485, 1], - [1484, 1], - [1483, 1], - [1482, 1], - [1481, 1], - [1480, 1], - [1479, 1], - [1478, 1], - [1477, 1], - [1476, 1], - [1475, 1], - [1474, 1], - [1473, 1], - [1472, 1], - [1471, 1], - [1470, 1], - [1469, 1], - [1468, 1], - [1467, 1], - [1466, 1], - [1239, 1], - [1238, 1], - [1237, 1], - [1236, 1], - [1235, 1], - [1234, 1], - [1233, 1], - [1233, 0, "a"], - [1234, 0, " "], - [1235, 0, "f"], - [1236, 0, "u"], - [1237, 0, "n"], - [1238, 0, "c"], - [1239, 0, "t"], - [1240, 0, "i"], - [1241, 0, "o"], - [1242, 0, "n"], - [1243, 0, " "], - [1244, 0, "w"], - [1245, 0, "h"], - [1246, 0, "o"], - [1247, 0, "s"], - [1248, 0, "e"], - [1249, 0, " "], - [1250, 0, "d"], - [1251, 0, "o"], - [1252, 0, "m"], - [1253, 0, "a"], - [1254, 0, "i"], - [1255, 0, "n"], - [1256, 0, " "], - [1257, 0, "i"], - [1258, 0, "s"], - [1259, 0, " "], - [1260, 0, "t"], - [1261, 0, "h"], - [1262, 0, "e"], - [1263, 0, " "], - [1264, 0, "s"], - [1265, 0, "i"], - [1266, 0, "n"], - [1267, 0, "g"], - [1268, 0, "l"], - [1269, 0, "e"], - [1270, 0, " "], - [1271, 0, "v"], - [1272, 0, "a"], - [1273, 0, "l"], - [1274, 0, "u"], - [1275, 0, "e"], - [1276, 0, " "], - [1277, 0, "$"], - [1278, 0, "\\"], - [1279, 0, "m"], - [1280, 0, "a"], - [1281, 0, "t"], - [1282, 0, "h"], - [1283, 0, "i"], - [1284, 0, "t"], - [1285, 0, "{"], - [1286, 0, "h"], - [1287, 0, "e"], - [1288, 0, "a"], - [1289, 0, "d"], - [1290, 0, "}"], - [1291, 0, "$"], - [1284, 1], - [1283, 1], - [1283, 0, "s"], - [1284, 0, "f"], - [1518, 0, "W"], - [1519, 0, "e"], - [1520, 0, " "], - [1521, 0, "u"], - [1522, 0, "s"], - [1523, 0, "e"], - [1524, 0, " "], - [1525, 0, "t"], - [1526, 0, "h"], - [1527, 0, "e"], - [1528, 0, " "], - [1529, 0, "n"], - [1530, 0, "o"], - [1531, 0, "t"], - [1532, 0, "a"], - [1533, 0, "t"], - [1534, 0, "i"], - [1535, 0, "o"], - [1536, 0, "n"], - [1537, 0, " "], - [1538, 0, "$"], - [1539, 0, "A"], - [1540, 0, "\\"], - [1541, 0, "["], - [1542, 0, "a"], - [1543, 0, " "], - [1544, 0, "\\"], - [1545, 0, "m"], - [1546, 0, "a"], - [1547, 0, "p"], - [1548, 0, "s"], - [1549, 0, "t"], - [1550, 0, "o"], - [1551, 0, " "], - [1552, 0, "("], - [1553, 0, "b"], - [1554, 0, ","], - [1555, 0, " "], - [1556, 0, "c"], - [1557, 0, ")"], - [1558, 0, "\\"], - [1559, 0, "]"], - [1560, 0, "$"], - [1561, 0, " "], - [1562, 0, "t"], - [1563, 0, "o"], - [1564, 0, " "], - [1565, 0, "d"], - [1566, 0, "e"], - [1567, 0, "n"], - [1568, 0, "o"], - [1569, 0, "t"], - [1570, 0, "e"], - [1571, 0, " "], - [1572, 0, "a"], - [1573, 0, " "], - [1574, 0, "f"], - [1575, 0, "u"], - [1576, 0, "n"], - [1577, 0, "c"], - [1578, 0, "t"], - [1579, 0, "i"], - [1580, 0, "o"], - [1581, 0, "n"], - [1582, 0, " "], - [1583, 0, "i"], - [1584, 0, "d"], - [1585, 0, "e"], - [1586, 0, "n"], - [1587, 0, "t"], - [1588, 0, "i"], - [1589, 0, "c"], - [1590, 0, "a"], - [1591, 0, "l"], - [1592, 0, " "], - [1593, 0, "t"], - [1594, 0, "o"], - [1595, 0, " "], - [1596, 0, "$"], - [1597, 0, "A"], - [1598, 0, "$"], - [1599, 0, ","], - [1600, 0, " "], - [1601, 0, "e"], - [1602, 0, "x"], - [1603, 0, "c"], - [1604, 0, "e"], - [1605, 0, "p"], - [1606, 0, "t"], - [1607, 0, " "], - [1608, 0, "t"], - [1609, 0, "h"], - [1610, 0, "a"], - [1611, 0, "t"], - [1612, 0, " "], - [1613, 0, "$"], - [1614, 0, "A"], - [1615, 0, "("], - [1616, 0, "a"], - [1617, 0, ")"], - [1618, 0, "="], - [1619, 0, "("], - [1620, 0, "b"], - [1621, 0, ","], - [1622, 0, "c"], - [1623, 0, ")"], - [1624, 0, "$"], - [1625, 0, "."], - [1558, 1], - [1540, 1], - [1625, 0, "\n"], - [1626, 0, "\n"], - [1626, 0, "T"], - [1627, 0, "h"], - [1628, 0, "e"], - [1629, 0, " "], - [1630, 0, "o"], - [1631, 0, "p"], - [1632, 0, "e"], - [1633, 0, "r"], - [1634, 0, "a"], - [1635, 0, "t"], - [1636, 0, "i"], - [1637, 0, "o"], - [1638, 0, "n"], - [1639, 0, " "], - [1640, 0, "$"], - [1641, 0, "\\"], - [1642, 0, "m"], - [1643, 0, "a"], - [1644, 0, "t"], - [1645, 0, "h"], - [1646, 0, "s"], - [1647, 0, "f"], - [1648, 0, "{"], - [1649, 0, "i"], - [1650, 0, "n"], - [1651, 0, "s"], - [1652, 0, "e"], - [1653, 0, "r"], - [1654, 0, "t"], - [1655, 0, "}"], - [1656, 0, "("], - [1657, 0, "\\"], - [1658, 0, "m"], - [1659, 0, "a"], - [1660, 0, "t"], - [1661, 0, "h"], - [1662, 0, "i"], - [1663, 0, "t"], - [1664, 0, "{"], - [1665, 0, "i"], - [1666, 0, "d"], - [1667, 0, "}"], - [1668, 0, ","], - [1669, 0, " "], - [1670, 0, "\\"], - [1671, 0, "m"], - [1672, 0, "a"], - [1673, 0, "t"], - [1674, 0, "h"], - [1675, 0, "i"], - [1676, 0, "t"], - [1677, 0, "{"], - [1678, 0, "p"], - [1679, 0, "r"], - [1680, 0, "e"], - [1681, 0, "v"], - [1682, 0, "}"], - [1683, 0, " "], - [1683, 1], - [1683, 0, ","], - [1684, 0, " "], - [1685, 0, "v"], - [1686, 0, ")"], - [1687, 0, "$"], - [1688, 0, " "], - [1689, 0, "i"], - [1690, 0, "s"], - [1691, 0, " "], - [1692, 0, "a"], - [1693, 0, "n"], - [1694, 0, " "], - [1695, 0, "i"], - [1696, 0, "n"], - [1697, 0, "s"], - [1698, 0, "t"], - [1699, 0, "r"], - [1700, 0, "u"], - [1701, 0, "c"], - [1702, 0, "t"], - [1703, 0, "i"], - [1704, 0, "o"], - [1705, 0, "n"], - [1706, 0, " "], - [1707, 0, "t"], - [1708, 0, "o"], - [1709, 0, " "], - [1710, 0, "i"], - [1711, 0, "n"], - [1712, 0, "s"], - [1713, 0, "e"], - [1714, 0, "r"], - [1715, 0, "t"], - [1716, 0, " "], - [1717, 0, "t"], - [1718, 0, "h"], - [1719, 0, "e"], - [1720, 0, " "], - [1721, 0, "v"], - [1722, 0, "a"], - [1723, 0, "l"], - [1724, 0, "u"], - [1725, 0, "e"], - [1726, 0, " "], - [1727, 0, "$"], - [1728, 0, "v"], - [1729, 0, "$"], - [1730, 0, " "], - [1731, 0, "i"], - [1732, 0, "n"], - [1733, 0, "t"], - [1734, 0, "o"], - [1735, 0, " "], - [1736, 0, "a"], - [1737, 0, " "], - [1738, 0, "l"], - [1739, 0, "i"], - [1740, 0, "s"], - [1741, 0, "t"], - [1742, 0, " "], - [1743, 0, "a"], - [1744, 0, "t"], - [1745, 0, " "], - [1746, 0, "a"], - [1747, 0, " "], - [1748, 0, "p"], - [1749, 0, "o"], - [1750, 0, "s"], - [1751, 0, "i"], - [1752, 0, "t"], - [1753, 0, "i"], - [1754, 0, "o"], - [1755, 0, "n"], - [1756, 0, " "], - [1757, 0, "f"], - [1758, 0, "o"], - [1759, 0, "l"], - [1760, 0, "l"], - [1761, 0, "o"], - [1762, 0, "w"], - [1763, 0, "i"], - [1764, 0, "n"], - [1765, 0, "g"], - [1766, 0, " "], - [1767, 0, "t"], - [1768, 0, "h"], - [1769, 0, "e"], - [1770, 0, " "], - [1771, 0, "e"], - [1772, 0, "x"], - [1773, 0, "i"], - [1774, 0, "s"], - [1775, 0, "t"], - [1776, 0, "i"], - [1777, 0, "n"], - [1778, 0, "g"], - [1779, 0, " "], - [1780, 0, "l"], - [1781, 0, "i"], - [1782, 0, "s"], - [1783, 0, "t"], - [1784, 0, " "], - [1785, 0, "e"], - [1786, 0, "l"], - [1787, 0, "e"], - [1788, 0, "m"], - [1789, 0, "e"], - [1790, 0, "n"], - [1791, 0, "t"], - [1792, 0, " "], - [1793, 0, "w"], - [1794, 0, "i"], - [1795, 0, "t"], - [1796, 0, "h"], - [1797, 0, " "], - [1798, 0, "I"], - [1799, 0, "D"], - [1800, 0, " "], - [1801, 0, "$"], - [1802, 0, "\\"], - [1803, 0, "m"], - [1804, 0, "a"], - [1805, 0, "t"], - [1806, 0, "h"], - [1807, 0, "i"], - [1808, 0, "t"], - [1809, 0, "{"], - [1810, 0, "p"], - [1811, 0, "r"], - [1812, 0, "e"], - [1813, 0, "v"], - [1814, 0, "}"], - [1815, 0, "$"], - [1816, 0, " "], - [1817, 0, "("], - [1817, 1], - [1816, 1], - [1816, 0, "."], - [1817, 0, " "], - [1818, 0, "A"], - [1819, 0, "n"], - [1820, 0, " "], - [1821, 0, "i"], - [1822, 0, "n"], - [1823, 0, "s"], - [1824, 0, "e"], - [1825, 0, "r"], - [1826, 0, "t"], - [1827, 0, "i"], - [1828, 0, "o"], - [1829, 0, "n"], - [1830, 0, " "], - [1831, 0, "a"], - [1832, 0, "t"], - [1833, 0, " "], - [1834, 0, "t"], - [1835, 0, "h"], - [1836, 0, "e"], - [1837, 0, " "], - [1838, 0, "h"], - [1839, 0, "e"], - [1840, 0, "a"], - [1841, 0, "d"], - [1842, 0, " "], - [1843, 0, "o"], - [1844, 0, "f"], - [1845, 0, " "], - [1846, 0, "t"], - [1847, 0, "h"], - [1848, 0, "e"], - [1849, 0, " "], - [1850, 0, "l"], - [1851, 0, "i"], - [1852, 0, "s"], - [1853, 0, "t"], - [1854, 0, " "], - [1855, 0, "i"], - [1856, 0, "s"], - [1857, 0, " "], - [1858, 0, "e"], - [1859, 0, "x"], - [1860, 0, "p"], - [1861, 0, "r"], - [1862, 0, "e"], - [1863, 0, "s"], - [1864, 0, "s"], - [1865, 0, "e"], - [1866, 0, "d"], - [1867, 0, " "], - [1868, 0, "a"], - [1869, 0, "s"], - [1870, 0, " "], - [1871, 0, "$"], - [1872, 0, "\\"], - [1873, 0, "m"], - [1874, 0, "a"], - [1875, 0, "t"], - [1876, 0, "h"], - [1877, 0, "s"], - [1878, 0, "f"], - [1879, 0, "{"], - [1880, 0, "i"], - [1881, 0, "n"], - [1882, 0, "s"], - [1883, 0, "e"], - [1884, 0, "r"], - [1885, 0, "t"], - [1886, 0, "}"], - [1887, 0, "("], - [1888, 0, "\\"], - [1889, 0, "m"], - [1890, 0, "a"], - [1891, 0, "t"], - [1892, 0, "h"], - [1893, 0, "i"], - [1894, 0, "d"], - [1894, 1], - [1894, 0, "t"], - [1895, 0, "{"], - [1896, 0, "i"], - [1897, 0, "d"], - [1898, 0, "}"], - [1899, 0, ","], - [1900, 0, " "], - [1901, 0, "\\"], - [1902, 0, "m"], - [1903, 0, "a"], - [1904, 0, "t"], - [1905, 0, "h"], - [1906, 0, "s"], - [1907, 0, "f"], - [1908, 0, "{"], - [1909, 0, "h"], - [1910, 0, "e"], - [1911, 0, "a"], - [1912, 0, "d"], - [1913, 0, "}"], - [1914, 0, ","], - [1915, 0, " "], - [1916, 0, "v"], - [1917, 0, ")"], - [1918, 0, "$"], - [1919, 0, "."], - [1920, 0, " "], - [1921, 0, "T"], - [1922, 0, "h"], - [1923, 0, "e"], - [1924, 0, " "], - [1925, 0, "$"], - [1926, 0, "\\"], - [1927, 0, "m"], - [1928, 0, "a"], - [1929, 0, "t"], - [1930, 0, "h"], - [1931, 0, "i"], - [1932, 0, "t"], - [1933, 0, "{"], - [1934, 0, "i"], - [1935, 0, "d"], - [1936, 0, "}"], - [1937, 0, "$"], - [1938, 0, " "], - [1939, 0, "i"], - [1940, 0, "s"], - [1941, 0, " "], - [1942, 0, "t"], - [1943, 0, "h"], - [1944, 0, "e"], - [1945, 0, " "], - [1946, 0, "u"], - [1947, 0, "n"], - [1948, 0, "i"], - [1949, 0, "q"], - [1950, 0, "u"], - [1951, 0, "e"], - [1952, 0, " "], - [1953, 0, "I"], - [1954, 0, "D"], - [1955, 0, " "], - [1956, 0, "o"], - [1957, 0, "f"], - [1958, 0, " "], - [1959, 0, "t"], - [1960, 0, "h"], - [1961, 0, "i"], - [1962, 0, "s"], - [1963, 0, " "], - [1964, 0, "o"], - [1965, 0, "p"], - [1966, 0, "e"], - [1967, 0, "r"], - [1968, 0, "a"], - [1969, 0, "t"], - [1970, 0, "i"], - [1971, 0, "o"], - [1972, 0, "n"], - [1973, 0, "."], - [1974, 0, "\n"], - [1975, 0, "\n"], - [1976, 0, "T"], - [1977, 0, "h"], - [1978, 0, "e"], - [1979, 0, " "], - [1979, 1], - [1978, 1], - [1977, 1], - [1976, 1], - [1976, 0, "W"], - [1977, 0, "h"], - [1978, 0, "e"], - [1979, 0, "n"], - [1980, 0, " "], - [1981, 0, "t"], - [1982, 0, "h"], - [1983, 0, "e"], - [1984, 0, " "], - [1985, 0, "o"], - [1986, 0, "p"], - [1987, 0, "e"], - [1988, 0, "r"], - [1989, 0, "a"], - [1990, 0, "t"], - [1991, 0, "i"], - [1992, 0, "o"], - [1993, 0, "n"], - [1994, 0, " "], - [1995, 0, "i"], - [1996, 0, "s"], - [1997, 0, " "], - [1998, 0, "a"], - [1999, 0, "p"], - [2000, 0, "p"], - [2001, 0, "l"], - [2002, 0, "i"], - [2003, 0, "e"], - [2004, 0, "d"], - [2005, 0, " "], - [2006, 0, "t"], - [2007, 0, "o"], - [2008, 0, " "], - [2009, 0, "a"], - [2010, 0, " "], - [2010, 1], - [2009, 1], - [2009, 0, "t"], - [2010, 0, "h"], - [2011, 0, "e"], - [2012, 0, " "], - [2013, 0, "l"], - [2014, 0, "i"], - [2015, 0, "s"], - [2016, 0, "t"], - [2017, 0, " "], - [2018, 0, "s"], - [2019, 0, "t"], - [2020, 0, "a"], - [2021, 0, "t"], - [2022, 0, "e"], - [2023, 0, " "], - [2024, 0, "$"], - [2025, 0, "A"], - [2026, 0, "$"], - [2027, 0, ","], - [2028, 0, " "], - [2029, 0, "i"], - [2030, 0, "t"], - [2031, 0, " "], - [2032, 0, "p"], - [2033, 0, "r"], - [2034, 0, "o"], - [2035, 0, "d"], - [2036, 0, "u"], - [2037, 0, "c"], - [2038, 0, "e"], - [2039, 0, "s"], - [2040, 0, " "], - [2041, 0, "a"], - [2042, 0, " "], - [2043, 0, "m"], - [2044, 0, "o"], - [2045, 0, "d"], - [2046, 0, "i"], - [2047, 0, "f"], - [2048, 0, "i"], - [2049, 0, "e"], - [2050, 0, "d"], - [2051, 0, " "], - [2052, 0, "l"], - [2053, 0, "i"], - [2054, 0, "s"], - [2055, 0, "t"], - [2056, 0, " "], - [2057, 0, "s"], - [2058, 0, "t"], - [2059, 0, "a"], - [2060, 0, "t"], - [2061, 0, "e"], - [2062, 0, " "], - [2063, 0, "$"], - [2064, 0, "A"], - [2065, 0, "^"], - [2066, 0, "\\"], - [2067, 0, "p"], - [2068, 0, "r"], - [2069, 0, "i"], - [2070, 0, "m"], - [2071, 0, "e"], - [2072, 0, "$"], - [2073, 0, " "], - [2074, 0, "a"], - [2075, 0, "s"], - [2076, 0, " "], - [2077, 0, "f"], - [2078, 0, "o"], - [2079, 0, "l"], - [2080, 0, "l"], - [2081, 0, "o"], - [2082, 0, "w"], - [2083, 0, "s"], - [2084, 0, ":"], - [2085, 0, "\n"], - [2086, 0, "\\"], - [2087, 0, "b"], - [2088, 0, "e"], - [2089, 0, "g"], - [2090, 0, "i"], - [2091, 0, "n"], - [2092, 0, "{"], - [2093, 0, "a"], - [2094, 0, "l"], - [2095, 0, "i"], - [2096, 0, "g"], - [2097, 0, "n"], - [2098, 0, "&"], - [2099, 0, "*"], - [2099, 1], - [2098, 1], - [2098, 0, "*"], - [2099, 0, "}"], - [2100, 0, "\n"], - [2101, 0, "\\"], - [2102, 0, "e"], - [2103, 0, "n"], - [2104, 0, "d"], - [2105, 0, "{"], - [2106, 0, "a"], - [2107, 0, "l"], - [2108, 0, "i"], - [2109, 0, "g"], - [2110, 0, "n"], - [2111, 0, "*"], - [2112, 0, "&"], - [2112, 1], - [2112, 0, "}"], - [2100, 0, "\n"], - [2101, 0, "A"], - [2102, 0, "^"], - [2103, 0, "\\"], - [2104, 0, "p"], - [2105, 0, "r"], - [2106, 0, "i"], - [2107, 0, "m"], - [2108, 0, "e"], - [2109, 0, " "], - [2110, 0, "="], - [2111, 0, " "], - [2112, 0, "\\"], - [2113, 0, "m"], - [2114, 0, "a"], - [2115, 0, "t"], - [2116, 0, "h"], - [2117, 0, "r"], - [2118, 0, "m"], - [2119, 0, "{"], - [2120, 0, "a"], - [2121, 0, "p"], - [2122, 0, "p"], - [2123, 0, "l"], - [2124, 0, "y"], - [2125, 0, "}"], - [2126, 0, "("], - [2127, 0, "A"], - [2128, 0, ","], - [2129, 0, " "], - [2130, 0, "\\"], - [2131, 0, "m"], - [2132, 0, "a"], - [2133, 0, "t"], - [2134, 0, "h"], - [2135, 0, "s"], - [2136, 0, "f"], - [2137, 0, "{"], - [2138, 0, "i"], - [2139, 0, "n"], - [2140, 0, "s"], - [2141, 0, "e"], - [2142, 0, "r"], - [2143, 0, "t"], - [2144, 0, "}"], - [2145, 0, "("], - [2146, 0, "\\"], - [2147, 0, "m"], - [2148, 0, "a"], - [2149, 0, "t"], - [2150, 0, "h"], - [2151, 0, "i"], - [2152, 0, "t"], - [2153, 0, "{"], - [2154, 0, "i"], - [2155, 0, "d"], - [2156, 0, "}"], - [2157, 0, " "], - [2157, 1], - [2157, 0, ","], - [2158, 0, " "], - [2159, 0, "\\"], - [2160, 0, "m"], - [2161, 0, "a"], - [2162, 0, "t"], - [2163, 0, "h"], - [2164, 0, "i"], - [2165, 0, "t"], - [2166, 0, "{"], - [2167, 0, "p"], - [2168, 0, "r"], - [2169, 0, "e"], - [2170, 0, "v"], - [2171, 0, "}"], - [2172, 0, ","], - [2173, 0, " "], - [2174, 0, "v"], - [2175, 0, ")"], - [2176, 0, ")"], - [2177, 0, " "], - [2178, 0, "="], - [2071, 1], - [2070, 1], - [2069, 1], - [2068, 1], - [2067, 1], - [2066, 1], - [2065, 1], - [2065, 0, "'"], - [2102, 1], - [2101, 1], - [2100, 1], - [2099, 1], - [2098, 1], - [2097, 1], - [2096, 1], - [2096, 0, "'"], - [2167, 0, " "], - [2168, 0, "\\"], - [2169, 0, "\\"], - [2170, 0, "\n"], - [2171, 0, "\\"], - [2172, 0, "b"], - [2173, 0, "e"], - [2174, 0, "g"], - [2175, 0, "i"], - [2176, 0, "n"], - [2177, 0, "{"], - [2178, 0, "c"], - [2179, 0, "a"], - [2180, 0, "s"], - [2181, 0, "e"], - [2182, 0, "s"], - [2183, 0, "}"], - [2184, 0, "\n"], - [2185, 0, "\\"], - [2186, 0, "e"], - [2187, 0, "n"], - [2188, 0, "d"], - [2189, 0, "{"], - [2190, 0, "c"], - [2191, 0, "a"], - [2192, 0, "s"], - [2193, 0, "e"], - [2194, 0, "s"], - [2195, 0, "}"], - [2184, 0, "\n"], - [2185, 0, "a"], - [2186, 0, " "], - [2187, 0, "&"], - [2188, 0, " "], - [2189, 0, "\\"], - [2190, 0, "q"], - [2191, 0, "u"], - [2192, 0, "a"], - [2193, 0, "d"], - [2194, 0, "\\"], - [2195, 0, "t"], - [2196, 0, "e"], - [2197, 0, "x"], - [2198, 0, "t"], - [2199, 0, "{"], - [2200, 0, "i"], - [2201, 0, "f"], - [2202, 0, " "], - [2203, 0, "f"], - [2204, 0, "o"], - [2205, 0, "o"], - [2206, 0, "}"], - [2205, 1], - [2204, 1], - [2203, 1], - [2185, 1], - [2185, 0, "\\"], - [2186, 0, "m"], - [2187, 0, "a"], - [2188, 0, "t"], - [2189, 0, "h"], - [2190, 0, "r"], - [2191, 0, "m"], - [2192, 0, "{"], - [2193, 0, "a"], - [2194, 0, "p"], - [2195, 0, "p"], - [2196, 0, "l"], - [2197, 0, "y"], - [2198, 0, "}"], - [2199, 0, "("], - [2200, 0, "A"], - [2201, 0, ","], - [2202, 0, " "], - [2203, 0, "\\"], - [2204, 0, "m"], - [2205, 0, "a"], - [2206, 0, "t"], - [2207, 0, "h"], - [2208, 0, "s"], - [2209, 0, "f"], - [2210, 0, "{"], - [2211, 0, "i"], - [2212, 0, "n"], - [2213, 0, "s"], - [2214, 0, "e"], - [2215, 0, "r"], - [2216, 0, "t"], - [2217, 0, "}"], - [2218, 0, "("], - [2219, 0, "\\"], - [2220, 0, "m"], - [2221, 0, "a"], - [2222, 0, "t"], - [2223, 0, "h"], - [2224, 0, "i"], - [2225, 0, "t"], - [2226, 0, "{"], - [2227, 0, "i"], - [2228, 0, "d"], - [2229, 0, "}"], - [2230, 0, ","], - [2231, 0, " "], - [2232, 0, "n"], - [2233, 0, ","], - [2234, 0, " "], - [2235, 0, "v"], - [2236, 0, ")"], - [2237, 0, ")"], - [2256, 0, " "], - [2257, 0, "A"], - [2258, 0, "("], - [2259, 0, "\\"], - [2260, 0, "m"], - [2261, 0, "a"], - [2262, 0, "t"], - [2263, 0, "h"], - [2264, 0, "i"], - [2265, 0, "t"], - [2266, 0, "{"], - [2267, 0, "p"], - [2268, 0, "r"], - [2269, 0, "e"], - [2270, 0, "v"], - [2271, 0, "}"], - [2272, 0, ")"], - [2273, 0, " "], - [2274, 0, "="], - [2275, 0, " "], - [2276, 0, "("], - [2277, 0, "\\"], - [2278, 0, "p"], - [2279, 0, "l"], - [2280, 0, "a"], - [2281, 0, "c"], - [2282, 0, "e"], - [2283, 0, "h"], - [2284, 0, "o"], - [2285, 0, "l"], - [2286, 0, "d"], - [2287, 0, "e"], - [2288, 0, "r"], - [2289, 0, ","], - [2290, 0, " "], - [2291, 0, "n"], - [2292, 0, ")"], - [2091, 1], - [2090, 1], - [2089, 1], - [2088, 1], - [2087, 1], - [2088, 1], - [2087, 1], - [2086, 1], - [2085, 1], - [2084, 1], - [2083, 1], - [2082, 1], - [2081, 1], - [2080, 1], - [2080, 0, "$"], - [2081, 0, "$"], - [2305, 1], - [2304, 1], - [2303, 1], - [2302, 1], - [2301, 1], - [2300, 1], - [2299, 1], - [2298, 1], - [2297, 1], - [2296, 1], - [2295, 1], - [2294, 1], - [2294, 0, "$"], - [2295, 0, "$"], - [2082, 1], - [2082, 0, " "], - [2293, 1], - [2293, 0, " "], - [2081, 1], - [2080, 1], - [2080, 0, "\\"], - [2081, 0, "b"], - [2082, 0, "e"], - [2083, 0, "g"], - [2084, 0, "i"], - [2085, 0, "n"], - [2086, 0, "{"], - [2087, 0, "e"], - [2088, 0, "q"], - [2089, 0, "u"], - [2090, 0, "a"], - [2091, 0, "t"], - [2092, 0, "i"], - [2093, 0, "o"], - [2094, 0, "n"], - [2095, 0, "*"], - [2096, 0, "}"], - [2097, 0, "\n"], - [2098, 1], - [2310, 1], - [2309, 1], - [2308, 1], - [2308, 1], - [2308, 0, "\n"], - [2309, 0, "\\"], - [2310, 0, "e"], - [2311, 0, "n"], - [2312, 0, "d"], - [2313, 0, "{"], - [2314, 0, "e"], - [2315, 0, "q"], - [2316, 0, "u"], - [2317, 0, "a"], - [2318, 0, "t"], - [2319, 0, "i"], - [2320, 0, "o"], - [2321, 0, "n"], - [2322, 0, "*"], - [2323, 0, "}"], - [2324, 0, "\n"], - [2296, 0, " "], - [2297, 0, "\\"], - [2298, 0, "\\"], - [2299, 0, "\n"], - [2300, 0, "A"], - [2301, 0, "["], - [2302, 0, "\\"], - [2303, 0, "m"], - [2304, 0, "a"], - [2305, 0, "t"], - [2306, 0, "h"], - [2307, 0, "i"], - [2308, 0, "t"], - [2309, 0, "{"], - [2310, 0, "p"], - [2311, 0, "r"], - [2312, 0, "e"], - [2313, 0, "v"], - [2314, 0, "]"], - [2314, 1], - [2314, 0, "}"], - [2315, 0, " "], - [2316, 0, "\\"], - [2317, 0, "m"], - [2318, 0, "a"], - [2319, 0, "p"], - [2320, 0, "s"], - [2321, 0, "t"], - [2322, 0, "o"], - [2323, 0, " "], - [2324, 0, "("], - [2325, 0, "v"], - [2326, 0, "_"], - [2327, 0, "p"], - [2328, 0, ","], - [2329, 0, " "], - [2330, 0, "\\"], - [2331, 0, "m"], - [2332, 0, "a"], - [2333, 0, "t"], - [2334, 0, "h"], - [2335, 0, "i"], - [2336, 0, "t"], - [2337, 0, "{"], - [2338, 0, "i"], - [2339, 0, "d"], - [2340, 0, "}"], - [2341, 0, ")"], - [2342, 0, ","], - [2343, 0, " "], - [2344, 0, "\\"], - [2345, 0, "m"], - [2346, 0, "a"], - [2347, 0, "t"], - [2348, 0, "h"], - [2349, 0, "i"], - [2350, 0, "t"], - [2351, 0, "{"], - [2352, 0, "i"], - [2353, 0, "d"], - [2354, 0, "}"], - [2355, 0, " "], - [2356, 0, "\\"], - [2357, 0, "m"], - [2358, 0, "a"], - [2359, 0, "p"], - [2360, 0, "s"], - [2361, 0, "t"], - [2362, 0, "o"], - [2363, 0, " "], - [2364, 0, "("], - [2365, 0, "v"], - [2366, 0, ","], - [2367, 0, " "], - [2368, 0, "n"], - [2369, 0, ")"], - [2370, 0, " "], - [2371, 0, "&"], - [2372, 0, " "], - [2373, 0, "\\"], - [2374, 0, "q"], - [2375, 0, "u"], - [2376, 0, "a"], - [2377, 0, "d"], - [2378, 0, "\\"], - [2379, 0, "t"], - [2380, 0, "e"], - [2381, 0, "x"], - [2382, 0, "t"], - [2383, 0, "{"], - [2384, 0, "i"], - [2385, 0, "f"], - [2386, 0, " "], - [2387, 0, "}"], - [2370, 0, "]"], - [2370, 0, "\\"], - [2371, 0, ","], - [2302, 0, "\\"], - [2303, 0, ","], - [1541, 0, "\\"], - [1542, 0, ","], - [1559, 0, "\\"], - [1560, 0, ","], - [2246, 1], - [2246, 0, "\\"], - [2247, 0, "\\"], - [2248, 1], - [2248, 0, "\n"], - [2249, 0, " "], - [2250, 0, " "], - [2251, 0, " "], - [2252, 0, " "], - [2385, 1], - [2385, 0, "\\"], - [2386, 0, "\\"], - [2387, 0, "\n"], - [2388, 0, " "], - [2389, 0, " "], - [2390, 0, " "], - [2098, 1], - [2097, 1], - [2096, 1], - [2095, 1], - [2094, 1], - [2093, 1], - [2092, 1], - [2091, 1], - [2091, 0, "a"], - [2092, 0, "l"], - [2093, 0, "i"], - [2094, 0, "g"], - [2095, 0, "n"], - [2429, 1], - [2428, 1], - [2427, 1], - [2426, 1], - [2425, 1], - [2424, 1], - [2423, 1], - [2422, 1], - [2422, 0, "a"], - [2423, 0, "l"], - [2424, 0, "i"], - [2425, 0, "g"], - [2426, 0, "n"], - [2265, 0, "\\"], - [2266, 0, "l"], - [2266, 1], - [2266, 0, ";"], - [2263, 1], - [2403, 1], - [2404, 0, "\\"], - [2405, 0, ";"], - [2403, 0, " "], - [2263, 0, " "], - [2304, 0, " "], - [2305, 0, "\\"], - [2306, 0, "w"], - [2307, 0, "e"], - [2308, 0, "d"], - [2309, 0, "g"], - [2310, 0, "e"], - [2311, 0, " "], - [2312, 0, "n"], - [2313, 0, " "], - [2314, 0, ">"], - [2315, 0, " "], - [2315, 1], - [2314, 1], - [2313, 1], - [2312, 1], - [2312, 0, "\\"], - [2313, 0, "m"], - [2314, 0, "a"], - [2315, 0, "t"], - [2316, 0, "h"], - [2317, 0, "i"], - [2318, 0, "t"], - [2319, 0, "{"], - [2320, 0, "i"], - [2321, 0, "d"], - [2322, 0, "}"], - [2323, 0, " "], - [2324, 0, "<"], - [2325, 0, " "], - [2326, 0, "n"], - [2431, 0, " "], - [2432, 0, "A"], - [2433, 0, "("], - [2434, 0, "\\"], - [2435, 0, "m"], - [2436, 0, "a"], - [2437, 0, "t"], - [2438, 0, "h"], - [2439, 0, "i"], - [2440, 0, "t"], - [2441, 0, "{"], - [2442, 0, "p"], - [2443, 0, "r"], - [2444, 0, "e"], - [2445, 0, "v"], - [2446, 0, "}"], - [2447, 0, ")"], - [2448, 0, " "], - [2449, 0, "="], - [2450, 0, " "], - [2451, 0, "("], - [2452, 0, "v"], - [2453, 0, "_"], - [2454, 0, "p"], - [2455, 0, ","], - [2456, 0, " "], - [2457, 0, "n"], - [2458, 0, ")"], - [2459, 0, " "], - [2460, 0, "\\"], - [2461, 0, "w"], - [2462, 0, "e"], - [2463, 0, "d"], - [2464, 0, "g"], - [2465, 0, "e"], - [2466, 0, " "], - [2467, 0, "n"], - [2468, 0, " "], - [2469, 0, "<"], - [2470, 0, " "], - [2471, 0, "\\"], - [2472, 0, "m"], - [2473, 0, "a"], - [2474, 0, "t"], - [2475, 0, "h"], - [2476, 0, "i"], - [2477, 0, "t"], - [2478, 0, "{"], - [2479, 0, "i"], - [2480, 0, "d"], - [2481, 0, "}"], - [2305, 0, "\\"], - [2306, 0, ";"], - [2313, 0, "\\"], - [2314, 0, ";"], - [2464, 0, "\\"], - [2465, 0, ";"], - [2472, 0, "\\"], - [2473, 0, "'"], - [2473, 1], - [2473, 0, ";"], - [2419, 0, "q"], - [2335, 0, "\\"], - [2336, 0, "q"], - [2337, 0, "u"], - [2338, 0, "a"], - [2339, 0, "d"], - [2340, 0, " "], - [2189, 0, "\\"], - [2190, 0, "q"], - [2191, 0, "u"], - [2192, 0, "a"], - [2193, 0, "d"], - [2194, 0, " "], - [2257, 0, "q"], - [2172, 0, "&"], - [2172, 1], - [2102, 0, "&"], - [2175, 0, "&"], - [2395, 0, "\\"], - [2396, 0, ";"], - [2176, 0, "="], - [2175, 0, " "], - [2535, 0, "\n"], - [2536, 0, "\n"], - [2537, 0, "E"], - [2538, 0, "x"], - [2539, 0, "p"], - [2540, 0, "l"], - [2541, 0, "a"], - [2542, 0, "i"], - [2543, 0, "n"], - [2544, 0, "e"], - [2545, 0, "d"], - [2546, 0, " "], - [2547, 0, "i"], - [2548, 0, "n"], - [2549, 0, "f"], - [2550, 0, "o"], - [2551, 0, "r"], - [2552, 0, "m"], - [2553, 0, "a"], - [2554, 0, "l"], - [2555, 0, "l"], - [2556, 0, "y"], - [2557, 0, ","], - [2558, 0, " "], - [2559, 0, "a"], - [2560, 0, "p"], - [2561, 0, "p"], - [2562, 0, "l"], - [2563, 0, "y"], - [2564, 0, "i"], - [2565, 0, "n"], - [2566, 0, "g"], - [2567, 0, " "], - [2568, 0, "a"], - [2569, 0, "n"], - [2570, 0, " "], - [2571, 0, "\\"], - [2571, 1], - [2571, 0, "$"], - [2572, 0, "\\"], - [2573, 0, "m"], - [2574, 0, "a"], - [2575, 0, "t"], - [2576, 0, "h"], - [2577, 0, "s"], - [2578, 0, "f"], - [2579, 0, "{"], - [2580, 0, "i"], - [2581, 0, "n"], - [2582, 0, "s"], - [2583, 0, "e"], - [2584, 0, "r"], - [2585, 0, "t"], - [2586, 0, "}"], - [2587, 0, "$"], - [2588, 0, " "], - [2589, 0, "o"], - [2590, 0, "p"], - [2591, 0, "e"], - [2592, 0, "r"], - [2593, 0, "a"], - [2594, 0, "t"], - [2595, 0, "i"], - [2596, 0, "o"], - [2597, 0, "n"], - [2598, 0, " "], - [2599, 0, "i"], - [2600, 0, "s"], - [2601, 0, " "], - [2602, 0, "l"], - [2603, 0, "i"], - [2604, 0, "k"], - [2605, 0, "e"], - [2606, 0, " "], - [2607, 0, "i"], - [2608, 0, "n"], - [2609, 0, "s"], - [2610, 0, "e"], - [2611, 0, "r"], - [2612, 0, "t"], - [2613, 0, "i"], - [2614, 0, "n"], - [2615, 0, "g"], - [2616, 0, " "], - [2617, 0, "a"], - [2618, 0, "n"], - [2619, 0, " "], - [2620, 0, "e"], - [2621, 0, "l"], - [2622, 0, "e"], - [2623, 0, "m"], - [2624, 0, "e"], - [2625, 0, "n"], - [2626, 0, "t"], - [2627, 0, " "], - [2628, 0, "i"], - [2629, 0, "n"], - [2630, 0, "t"], - [2631, 0, "o"], - [2632, 0, " "], - [2633, 0, "a"], - [2634, 0, " "], - [2635, 0, "l"], - [2636, 0, "i"], - [2637, 0, "n"], - [2638, 0, "k"], - [2639, 0, "e"], - [2640, 0, "d"], - [2641, 0, " "], - [2642, 0, "l"], - [2643, 0, "i"], - [2644, 0, "s"], - [2645, 0, "t"], - [2646, 0, ","], - [2647, 0, " "], - [2648, 0, "w"], - [2649, 0, "i"], - [2650, 0, "t"], - [2651, 0, "h"], - [2652, 0, " "], - [2653, 0, "t"], - [2654, 0, "h"], - [2655, 0, "e"], - [2655, 1], - [2654, 1], - [2653, 1], - [2652, 1], - [2651, 1], - [2650, 1], - [2649, 1], - [2648, 1], - [2648, 0, "e"], - [2649, 0, "x"], - [2650, 0, "c"], - [2651, 0, "e"], - [2652, 0, "p"], - [2653, 0, "t"], - [2654, 0, " "], - [2655, 0, "t"], - [2656, 0, "h"], - [2657, 0, "a"], - [2658, 0, "t"], - [2659, 0, " "], - [2660, 0, "t"], - [2661, 0, "h"], - [2662, 0, "e"], - [2663, 0, " "], - [2664, 0, "f"], - [2665, 0, "u"], - [2666, 0, "n"], - [2667, 0, "c"], - [2668, 0, "t"], - [2669, 0, "i"], - [2670, 0, "o"], - [2671, 0, "n"], - [2672, 0, " "], - [2673, 0, "f"], - [2674, 0, "i"], - [2675, 0, "r"], - [2676, 0, "s"], - [2677, 0, "t"], - [2678, 0, " "], - [2679, 0, "s"], - [2680, 0, "k"], - [2681, 0, "i"], - [2682, 0, "p"], - [2683, 0, "s"], - [2684, 0, " "], - [2685, 0, "o"], - [2686, 0, "v"], - [2687, 0, "e"], - [2688, 0, "r"], - [2689, 0, " "], - [2690, 0, "l"], - [2691, 0, "i"], - [2692, 0, "s"], - [2693, 0, "t"], - [2694, 0, " "], - [2695, 0, "e"], - [2696, 0, "l"], - [2697, 0, "e"], - [2698, 0, "m"], - [2699, 0, "e"], - [2700, 0, "n"], - [2701, 0, "t"], - [2702, 0, "s"], - [2703, 0, " "], - [2704, 0, "t"], - [2705, 0, "h"], - [2706, 0, "a"], - [2707, 0, "t"], - [2708, 0, " "], - [2708, 1], - [2707, 1], - [2706, 1], - [2705, 1], - [2704, 1], - [2704, 0, "w"], - [2705, 0, "i"], - [2706, 0, "t"], - [2707, 0, "h"], - [2708, 0, " "], - [2709, 0, "a"], - [2710, 0, "n"], - [2711, 0, " "], - [2712, 0, "I"], - [2713, 0, "D"], - [2714, 0, " "], - [2559, 1], - [2558, 1], - [2557, 1], - [2556, 1], - [2555, 1], - [2554, 1], - [2553, 1], - [2552, 1], - [2551, 1], - [2550, 1], - [2549, 1], - [2548, 1], - [2547, 1], - [2546, 1], - [2545, 1], - [2544, 1], - [2543, 1], - [2542, 1], - [2541, 1], - [2540, 1], - [2539, 1], - [2538, 1], - [2537, 1], - [2537, 0, "A"], - [2693, 0, "g"], - [2694, 0, "r"], - [2695, 0, "e"], - [2696, 0, "a"], - [2697, 0, "t"], - [2698, 0, "e"], - [2699, 0, "r"], - [2700, 0, " "], - [2701, 0, "t"], - [2702, 0, "h"], - [2703, 0, "a"], - [2704, 0, "n"], - [2705, 0, " "], - [2706, 0, "t"], - [2707, 0, "h"], - [2708, 0, "e"], - [2709, 0, " "], - [2710, 0, "I"], - [2711, 0, "D"], - [2712, 0, " "], - [2713, 0, "o"], - [2714, 0, "f"], - [2715, 0, " "], - [2716, 0, "t"], - [2717, 0, "h"], - [2718, 0, "e"], - [2719, 0, " "], - [2720, 0, "n"], - [2721, 0, "e"], - [2722, 0, "w"], - [2723, 0, " "], - [2724, 0, "e"], - [2725, 0, "l"], - [2726, 0, "e"], - [2727, 0, "m"], - [2728, 0, "e"], - [2729, 0, "n"], - [2730, 0, "t"], - [2731, 0, " "], - [2732, 0, "b"], - [2733, 0, "e"], - [2734, 0, "i"], - [2735, 0, "n"], - [2736, 0, "g"], - [2737, 0, " "], - [2738, 0, "i"], - [2739, 0, "n"], - [2740, 0, "s"], - [2741, 0, "e"], - [2742, 0, "r"], - [2743, 0, "t"], - [2744, 0, "e"], - [2745, 0, "d"], - [2746, 0, "."], - [2747, 0, " "], - [2748, 0, "T"], - [2749, 0, "h"], - [2750, 0, "u"], - [2751, 0, "s"], - [2752, 0, " "], - [2752, 1], - [2751, 1], - [2750, 1], - [2750, 0, "i"], - [2751, 0, "s"], - [2752, 0, " "], - [2753, 0, "h"], - [2754, 0, "a"], - [2755, 0, "s"], - [2756, 0, " "], - [2757, 0, "t"], - [2758, 0, "h"], - [2759, 0, "e"], - [2760, 0, " "], - [2761, 0, "e"], - [2762, 0, "f"], - [2763, 0, "f"], - [2764, 0, "e"], - [2765, 0, "c"], - [2766, 0, "t"], - [2767, 0, " "], - [2768, 0, "o"], - [2769, 0, "f"], - [2770, 0, " "], - [2771, 0, "d"], - [2772, 0, "e"], - [2773, 0, "t"], - [2774, 0, "e"], - [2775, 0, "r"], - [2776, 0, "m"], - [2777, 0, "i"], - [2778, 0, "n"], - [2779, 0, "i"], - [2780, 0, "s"], - [2781, 0, "t"], - [2782, 0, "i"], - [2783, 0, "c"], - [2784, 0, "a"], - [2785, 0, "l"], - [2786, 0, "l"], - [2787, 0, "y"], - [2788, 0, " "], - [2789, 0, "o"], - [2790, 0, "r"], - [2791, 0, "d"], - [2792, 0, "e"], - [2793, 0, "r"], - [2794, 0, "i"], - [2795, 0, "n"], - [2796, 0, "g"], - [2797, 0, " "], - [2798, 0, "c"], - [2799, 0, "o"], - [2800, 0, "n"], - [2801, 0, "c"], - [2802, 0, "u"], - [2803, 0, "r"], - [2804, 0, "r"], - [2805, 0, "e"], - [2806, 0, "n"], - [2807, 0, "t"], - [2808, 0, " "], - [2809, 0, "i"], - [2810, 0, "n"], - [2811, 0, "s"], - [2812, 0, "e"], - [2813, 0, "r"], - [2814, 0, "t"], - [2815, 0, "i"], - [2816, 0, "o"], - [2817, 0, "n"], - [2818, 0, "s"], - [2819, 0, " "], - [2820, 0, "m"], - [2821, 0, "a"], - [2822, 0, "d"], - [2823, 0, "e"], - [2824, 0, " "], - [2825, 0, "a"], - [2826, 0, "t"], - [2827, 0, " "], - [2828, 0, "t"], - [2829, 0, "h"], - [2830, 0, "e"], - [2831, 0, " "], - [2832, 0, "s"], - [2833, 0, "a"], - [2834, 0, "m"], - [2835, 0, "e"], - [2836, 0, " "], - [2837, 0, "p"], - [2838, 0, "o"], - [2839, 0, "s"], - [2840, 0, "i"], - [2841, 0, "t"], - [2842, 0, "i"], - [2843, 0, "o"], - [2844, 0, "n"], - [2845, 0, " "], - [2846, 0, "o"], - [2847, 0, "f"], - [2848, 0, " "], - [2849, 0, "t"], - [2850, 0, "h"], - [2851, 0, "e"], - [2852, 0, " "], - [2853, 0, "l"], - [2854, 0, "i"], - [2855, 0, "s"], - [2856, 0, "t"], - [2857, 0, "."], - [2858, 0, " "], - [2859, 0, "T"], - [2860, 0, "h"], - [2861, 0, "i"], - [2862, 0, "s"], - [2863, 0, " "], - [2864, 0, "p"], - [2865, 0, "r"], - [2866, 0, "o"], - [2867, 0, "p"], - [2868, 0, "e"], - [2869, 0, "r"], - [2870, 0, "t"], - [2871, 0, "y"], - [2872, 0, " "], - [2873, 0, "i"], - [2874, 0, "s"], - [2875, 0, " "], - [2876, 0, "p"], - [2877, 0, "r"], - [2878, 0, "o"], - [2879, 0, "v"], - [2880, 0, "e"], - [2881, 0, "d"], - [2882, 0, " "], - [2883, 0, "f"], - [2884, 0, "o"], - [2885, 0, "r"], - [2886, 0, "m"], - [2887, 0, "a"], - [2888, 0, "l"], - [2889, 0, "l"], - [2890, 0, "y"], - [2891, 0, " "], - [2892, 0, "b"], - [2893, 0, "e"], - [2894, 0, "l"], - [2895, 0, "o"], - [2896, 0, "w"], - [2897, 0, "."], - [2898, 0, "\n"], - [2899, 0, "\n"], - [2900, 0, "T"], - [2901, 0, "h"], - [2902, 0, "e"], - [2903, 0, " "], - [2904, 0, "o"], - [2905, 0, "p"], - [2906, 0, "e"], - [2907, 0, "r"], - [2908, 0, "a"], - [2909, 0, "t"], - [2910, 0, "i"], - [2911, 0, "o"], - [2912, 0, "n"], - [2913, 0, " "], - [2914, 0, "\\"], - [2914, 1], - [2914, 0, "$"], - [2915, 0, "\\"], - [2916, 0, "m"], - [2917, 0, "a"], - [2918, 0, "t"], - [2919, 0, "h"], - [2920, 0, "s"], - [2921, 0, "f"], - [2922, 0, "{"], - [2923, 0, "d"], - [2924, 0, "e"], - [2925, 0, "l"], - [2926, 0, "e"], - [2927, 0, "t"], - [2928, 0, "e"], - [2929, 0, "}"], - [2930, 0, "$"], - [2931, 0, " "], - [2932, 0, "i"], - [2933, 0, "s"], - [2934, 0, " "], - [2935, 0, "a"], - [2936, 0, "n"], - [2937, 0, " "], - [2938, 0, "i"], - [2939, 0, "n"], - [2940, 0, "s"], - [2941, 0, "t"], - [2942, 0, "r"], - [2943, 0, "u"], - [2944, 0, "c"], - [2945, 0, "t"], - [2946, 0, "i"], - [2947, 0, "o"], - [2948, 0, "n"], - [2949, 0, " "], - [2950, 0, "t"], - [2951, 0, "o"], - [2952, 0, " "], - [2953, 0, "d"], - [2954, 0, "e"], - [2955, 0, "l"], - [2956, 0, "e"], - [2957, 0, "t"], - [2958, 0, "e"], - [2959, 0, " "], - [2930, 0, "("], - [2931, 0, "\\"], - [2932, 0, "m"], - [2933, 0, "a"], - [2934, 0, "t"], - [2935, 0, "h"], - [2936, 0, "i"], - [2937, 0, "t"], - [2938, 0, "{"], - [2939, 0, "i"], - [2940, 0, "d"], - [2941, 0, "}"], - [2942, 0, ")"], - [2973, 0, "t"], - [2974, 0, "h"], - [2975, 0, "e"], - [2976, 0, " "], - [2977, 0, "e"], - [2978, 0, "l"], - [2979, 0, "e"], - [2980, 0, "m"], - [2981, 0, "e"], - [2982, 0, "n"], - [2983, 0, "t"], - [2984, 0, " "], - [2985, 0, "w"], - [2986, 0, "i"], - [2987, 0, "t"], - [2988, 0, "h"], - [2989, 0, " "], - [2990, 0, "I"], - [2991, 0, "D"], - [2992, 0, " "], - [2993, 0, "$"], - [2994, 0, "\\"], - [2995, 0, "m"], - [2996, 0, "a"], - [2997, 0, "t"], - [2998, 0, "h"], - [2999, 0, "i"], - [3000, 0, "t"], - [3001, 0, "{"], - [3002, 0, "i"], - [3003, 0, "d"], - [3004, 0, "}"], - [3005, 0, "$"], - [3006, 0, " "], - [3007, 0, "f"], - [3008, 0, "r"], - [3009, 0, "o"], - [3010, 0, "m"], - [3011, 0, " "], - [3012, 0, "t"], - [3013, 0, "h"], - [3014, 0, "e"], - [3015, 0, " "], - [3016, 0, "l"], - [3017, 0, "i"], - [3018, 0, "s"], - [3019, 0, "t"], - [3020, 0, "."], - [3021, 0, " "], - [3022, 0, "W"], - [3023, 0, "h"], - [3024, 0, "e"], - [3025, 0, "n"], - [3026, 0, " "], - [3027, 0, "t"], - [3028, 0, "h"], - [3029, 0, "e"], - [3030, 0, " "], - [3031, 0, "o"], - [3032, 0, "p"], - [3033, 0, "e"], - [3034, 0, "r"], - [3035, 0, "a"], - [3036, 0, "t"], - [3037, 0, "i"], - [3038, 0, "o"], - [3039, 0, "n"], - [3040, 0, " "], - [3041, 0, "i"], - [3042, 0, "s"], - [3043, 0, " "], - [3044, 0, "a"], - [3045, 0, "p"], - [3046, 0, "p"], - [3047, 0, "l"], - [3048, 0, "i"], - [3049, 0, "e"], - [3050, 0, "d"], - [3051, 0, " "], - [3052, 0, "t"], - [3027, 1], - [3026, 1], - [3025, 1], - [3024, 1], - [3023, 1], - [3022, 1], - [3022, 0, "T"], - [3047, 1], - [3046, 1], - [3045, 1], - [3044, 1], - [3043, 1], - [3042, 1], - [3041, 1], - [3040, 1], - [3039, 1], - [3038, 1], - [3037, 1], - [3036, 1], - [3036, 0, "h"], - [3037, 0, "a"], - [3038, 0, "s"], - [3039, 0, " "], - [3040, 0, "t"], - [3041, 0, "h"], - [3042, 0, "e"], - [3043, 0, " "], - [3044, 0, "f"], - [3045, 0, "o"], - [3046, 0, "l"], - [3047, 0, "l"], - [3048, 0, "o"], - [3049, 0, "w"], - [3050, 0, "i"], - [3051, 0, "n"], - [3052, 0, "g"], - [3053, 0, " "], - [3054, 0, "s"], - [3055, 0, "e"], - [3056, 0, "m"], - [3057, 0, "a"], - [3058, 0, "n"], - [3059, 0, "t"], - [3060, 0, "i"], - [3061, 0, "c"], - [3062, 0, "s"], - [3063, 0, ":"], - [3064, 0, "\n"], - [3065, 0, "\\"], - [3066, 0, "e"], - [3067, 0, "b"], - [3068, 0, "e"], - [3069, 0, "g"], - [3069, 1], - [3068, 1], - [3067, 1], - [3066, 1], - [3066, 0, "b"], - [3067, 0, "e"], - [3068, 0, "g"], - [3069, 0, "i"], - [3070, 0, "n"], - [3071, 0, "{"], - [3072, 0, "a"], - [3073, 0, "l"], - [3074, 0, "i"], - [3075, 0, "g"], - [3076, 0, "n"], - [3077, 0, "*"], - [3078, 0, "}"], - [3079, 0, "\n"], - [3080, 0, "A"], - [3081, 0, "'"], - [3082, 0, " "], - [3083, 0, "&"], - [3084, 0, "="], - [3085, 0, " "], - [3086, 0, "\\"], - [3087, 0, "m"], - [3088, 0, "a"], - [3089, 0, "t"], - [3090, 0, "h"], - [3091, 0, "r"], - [3092, 0, "m"], - [3093, 0, "{"], - [3094, 0, "a"], - [3095, 0, "p"], - [3096, 0, "p"], - [3097, 0, "l"], - [3098, 0, "y"], - [3099, 0, "}"], - [3100, 0, "("], - [3101, 0, "\\"], - [3102, 0, "m"], - [3103, 0, "a"], - [3104, 0, "t"], - [3105, 0, "h"], - [3106, 0, "s"], - [3107, 0, "f"], - [3108, 0, "{"], - [3109, 0, "d"], - [3110, 0, "e"], - [3111, 0, "l"], - [3112, 0, "e"], - [3113, 0, "t"], - [3114, 0, "e"], - [3115, 0, "("], - [3115, 1], - [3115, 0, "}"], - [3116, 0, "{"], - [3117, 0, "\\"], - [3118, 0, "m"], - [3119, 0, "a"], - [3120, 0, "t"], - [3121, 0, "h"], - [3122, 0, "i"], - [3123, 0, "t"], - [3124, 0, "{"], - [3125, 0, "i"], - [3126, 0, "d"], - [3127, 0, "}"], - [3116, 1], - [3116, 0, "("], - [3128, 0, ")"], - [3129, 0, ")"], - [3130, 0, " "], - [3131, 0, "="], - [3132, 0, " "], - [3134, 0, "\\"], - [3135, 0, "b"], - [3136, 0, "e"], - [3137, 0, "g"], - [3138, 0, "i"], - [3139, 0, "n"], - [3140, 0, "{"], - [3141, 0, "a"], - [3142, 0, "l"], - [3143, 0, "i"], - [3144, 0, "g"], - [3145, 0, "n"], - [3146, 0, "&"], - [3146, 1], - [3146, 0, "*"], - [3147, 0, "}"], - [3148, 0, "\n"], - [3133, 0, "A"], - [3134, 0, "["], - [3135, 0, "\\"], - [3136, 0, ","], - [3137, 0, "\\"], - [3138, 0, "m"], - [3139, 0, "a"], - [3140, 0, "t"], - [3141, 0, "h"], - [3142, 0, "i"], - [3143, 0, "t"], - [3144, 0, "{"], - [3145, 0, "i"], - [3146, 0, "d"], - [3147, 0, "}"], - [3148, 0, " "], - [3149, 0, "\\"], - [3150, 0, "m"], - [3151, 0, "a"], - [3152, 0, "p"], - [3153, 0, "s"], - [3154, 0, "t"], - [3155, 0, "o"], - [3156, 0, " "], - [3157, 0, "("], - [3158, 0, "\\"], - [3159, 0, "b"], - [3160, 0, "o"], - [3161, 0, "t"], - [3162, 0, ","], - [3163, 0, " "], - [3164, 0, "n"], - [3165, 0, ")"], - [3166, 0, "\\"], - [3167, 0, ","], - [3168, 0, "]"], - [3169, 0, " "], - [3170, 0, "\\"], - [3171, 0, ";"], - [3172, 0, "\\"], - [3173, 0, "t"], - [3174, 0, "e"], - [3175, 0, "x"], - [3176, 0, "t"], - [3177, 0, "{"], - [3178, 0, "i"], - [3179, 0, "f"], - [3180, 0, "}"], - [3181, 0, " "], - [3182, 0, "A"], - [3183, 0, "("], - [3184, 0, "\\"], - [3185, 0, "m"], - [3186, 0, "a"], - [3187, 0, "t"], - [3188, 0, "h"], - [3189, 0, "i"], - [3190, 0, "t"], - [3191, 0, "{"], - [3192, 0, "i"], - [3193, 0, "d"], - [3194, 0, "}"], - [3195, 0, ")"], - [3196, 0, " "], - [3169, 1], - [3169, 0, "\n"], - [3197, 0, "="], - [3198, 0, " "], - [3199, 0, "("], - [3200, 0, "\\"], - [3201, 0, "p"], - [3202, 0, "l"], - [3203, 0, "a"], - [3204, 0, "c"], - [3205, 0, "e"], - [3206, 0, "h"], - [3207, 0, "o"], - [3208, 0, "l"], - [3209, 0, "d"], - [3210, 0, "e"], - [3211, 0, "r"], - [3212, 0, ","], - [3213, 0, " "], - [3214, 0, "n"], - [3215, 0, ")"], - [3180, 0, " "], - [3182, 0, "\\"], - [3183, 0, ";"], - [3171, 1], - [3171, 0, "q"], - [3172, 0, "u"], - [3173, 0, "a"], - [3174, 0, "d"], - [3228, 1], - [3227, 1], - [3226, 1], - [3225, 1], - [3224, 1], - [3224, 0, "e"], - [3225, 0, "n"], - [3226, 0, "d"], - [2172, 1], - [2171, 1], - [3129, 0, "\\"], - [3130, 0, "\\"], - [3131, 0, " "], - [3132, 0, "&"], - [3134, 1], - [3134, 0, "\n"], - [777, 0, "\n"], - [778, 0, "\\"], - [779, 0, "s"], - [780, 0, "b"], - [780, 1], - [780, 0, "u"], - [781, 0, "b"], - [782, 0, "s"], - [783, 0, "e"], - [784, 0, "c"], - [785, 0, "t"], - [786, 0, "i"], - [787, 0, "o"], - [788, 0, "n"], - [789, 0, "{"], - [790, 0, "O"], - [791, 0, "r"], - [792, 0, "d"], - [793, 0, "e"], - [794, 0, "r"], - [795, 0, "e"], - [796, 0, "d"], - [797, 0, " "], - [798, 0, "L"], - [799, 0, "i"], - [800, 0, "s"], - [801, 0, "t"], - [802, 0, " "], - [803, 0, "O"], - [804, 0, "P"], - [805, 0, "e"], - [806, 0, "r"], - [807, 0, "a"], - [807, 1], - [806, 1], - [805, 1], - [804, 1], - [804, 0, "p"], - [805, 0, "e"], - [806, 0, "r"], - [807, 0, "a"], - [808, 0, "t"], - [809, 0, "i"], - [810, 0, "o"], - [811, 0, "n"], - [812, 0, "s"], - [813, 0, "}"], - [814, 0, "\n"], - [776, 0, "\n"], - [777, 0, "\n"], - [778, 0, "W"], - [779, 0, "e"], - [780, 0, " "], - [781, 0, "a"], - [782, 0, "s"], - [783, 0, "s"], - [784, 0, "u"], - [785, 0, "m"], - [786, 0, "e"], - [787, 0, " "], - [788, 0, "t"], - [789, 0, "h"], - [790, 0, "a"], - [791, 0, "t"], - [792, 0, " "], - [793, 0, "e"], - [794, 0, "a"], - [795, 0, "c"], - [796, 0, "h"], - [797, 0, " "], - [798, 0, "p"], - [799, 0, "e"], - [800, 0, "e"], - [801, 0, "r"], - [802, 0, " "], - [803, 0, "h"], - [804, 0, "a"], - [805, 0, "s"], - [806, 0, " "], - [807, 0, "a"], - [808, 0, " "], - [809, 0, "u"], - [810, 0, "n"], - [811, 0, "i"], - [812, 0, "q"], - [813, 0, "u"], - [814, 0, "e"], - [815, 0, " "], - [816, 0, "i"], - [817, 0, "d"], - [818, 0, "e"], - [819, 0, "n"], - [820, 0, "t"], - [821, 0, "i"], - [822, 0, "f"], - [823, 0, "i"], - [824, 0, "e"], - [825, 0, "r"], - [826, 0, " "], - [827, 0, "("], - [828, 0, "f"], - [829, 0, "o"], - [830, 0, "r"], - [831, 0, " "], - [832, 0, "e"], - [833, 0, "x"], - [834, 0, "a"], - [835, 0, "m"], - [836, 0, "p"], - [837, 0, "l"], - [838, 0, "e"], - [839, 0, ","], - [840, 0, " "], - [841, 0, "t"], - [842, 0, "h"], - [843, 0, "e"], - [844, 0, " "], - [845, 0, "h"], - [846, 0, "a"], - [847, 0, "s"], - [848, 0, "h"], - [849, 0, " "], - [850, 0, "o"], - [851, 0, "f"], - [852, 0, " "], - [853, 0, "i"], - [854, 0, "t"], - [855, 0, "s"], - [856, 0, " "], - [857, 0, "p"], - [858, 0, "u"], - [859, 0, "b"], - [860, 0, "l"], - [861, 0, "i"], - [862, 0, "c"], - [863, 0, " "], - [864, 0, "k"], - [865, 0, "e"], - [866, 0, "y"], - [867, 0, ")"], - [868, 0, "."], - [869, 0, " "], - [870, 0, "W"], - [871, 0, "e"], - [872, 0, " "], - [873, 0, "c"], - [874, 0, "a"], - [875, 0, "n"], - [876, 0, " "], - [877, 0, "t"], - [878, 0, "h"], - [879, 0, "e"], - [880, 0, "n"], - [881, 0, " "], - [881, 1], - [880, 1], - [879, 1], - [878, 1], - [877, 1], - [876, 1], - [875, 1], - [874, 1], - [873, 1], - [872, 1], - [871, 1], - [870, 1], - [870, 0, "W"], - [871, 0, "h"], - [872, 0, "e"], - [873, 0, "n"], - [874, 0, "e"], - [875, 0, "v"], - [876, 0, "e"], - [877, 0, "r"], - [878, 0, " "], - [879, 0, "a"], - [880, 0, "n"], - [881, 0, " "], - [882, 0, "e"], - [883, 0, "d"], - [884, 0, "i"], - [885, 0, "t"], - [886, 0, " "], - [887, 0, "t"], - [888, 0, "o"], - [889, 0, " "], - [890, 0, "a"], - [891, 0, " "], - [892, 0, "d"], - [893, 0, "o"], - [894, 0, "c"], - [895, 0, "u"], - [896, 0, "m"], - [897, 0, "e"], - [898, 0, "n"], - [899, 0, "t"], - [900, 0, " "], - [901, 0, "i"], - [902, 0, "s"], - [903, 0, " "], - [904, 0, "m"], - [905, 0, "a"], - [906, 0, "d"], - [907, 0, "e"], - [908, 0, " "], - [909, 0, "a"], - [910, 0, "t"], - [911, 0, " "], - [912, 0, "o"], - [913, 0, "n"], - [914, 0, "e"], - [915, 0, " "], - [916, 0, "o"], - [917, 0, "f"], - [918, 0, " "], - [919, 0, "t"], - [920, 0, "h"], - [921, 0, "e"], - [922, 0, " "], - [923, 0, "p"], - [924, 0, "e"], - [925, 0, "e"], - [926, 0, "r"], - [927, 0, "s"], - [928, 0, ","], - [929, 0, " "], - [930, 0, "w"], - [931, 0, "e"], - [932, 0, " "], - [933, 0, "g"], - [934, 0, "e"], - [935, 0, "n"], - [936, 0, "e"], - [937, 0, "r"], - [938, 0, "a"], - [939, 0, "t"], - [940, 0, "e"], - [941, 0, " "], - [942, 0, "a"], - [943, 0, " "], - [944, 0, "u"], - [945, 0, "n"], - [946, 0, "i"], - [947, 0, "q"], - [948, 0, "u"], - [949, 0, "e"], - [950, 0, " "], - [951, 0, "i"], - [952, 0, "d"], - [953, 0, "e"], - [954, 0, "n"], - [955, 0, "t"], - [956, 0, "i"], - [957, 0, "f"], - [958, 0, "i"], - [959, 0, "e"], - [960, 0, "r"], - [961, 0, " "], - [962, 0, "f"], - [963, 0, "o"], - [964, 0, "r"], - [965, 0, " "], - [966, 0, "t"], - [967, 0, "h"], - [968, 0, "a"], - [969, 0, "t"], - [970, 0, " "], - [971, 0, "e"], - [972, 0, "d"], - [973, 0, "i"], - [974, 0, "t"], - [975, 0, " "], - [976, 0, "o"], - [977, 0, "p"], - [978, 0, "e"], - [979, 0, "r"], - [980, 0, "a"], - [981, 0, "t"], - [982, 0, "i"], - [983, 0, "o"], - [984, 0, "n"], - [985, 0, " "], - [986, 0, "u"], - [987, 0, "s"], - [988, 0, "i"], - [989, 0, "n"], - [990, 0, "g"], - [991, 0, " "], - [992, 0, "L"], - [993, 0, "a"], - [994, 0, "m"], - [995, 0, "p"], - [996, 0, "o"], - [997, 0, "r"], - [998, 0, "t"], - [999, 0, " "], - [1000, 0, "t"], - [1001, 0, "i"], - [1002, 0, "m"], - [1003, 0, "e"], - [1004, 0, "s"], - [1005, 0, "t"], - [1006, 0, "a"], - [1007, 0, "m"], - [1008, 0, "p"], - [1009, 0, "s"], - [1010, 0, "~"], - [1011, 0, "\\"], - [1012, 0, "c"], - [1013, 0, "i"], - [1014, 0, "t"], - [1015, 0, "e"], - [1016, 0, "{"], - [1017, 0, "L"], - [1018, 0, "a"], - [1019, 0, "m"], - [1020, 0, "p"], - [1021, 0, "o"], - [1022, 0, "r"], - [1023, 0, "t"], - [1024, 0, ":"], - [1025, 0, "1"], - [1026, 0, "9"], - [1027, 0, "7"], - [1028, 0, "8"], - [1029, 0, "j"], - [1030, 0, "q"], - [1031, 0, "}"], - [1032, 0, "."], - [1033, 0, " "], - [1033, 1], - [1033, 0, "\n"], - [1034, 0, "\n"], - [1035, 0, "A"], - [1036, 0, " "], - [1037, 0, "L"], - [1038, 0, "a"], - [1039, 0, "m"], - [1040, 0, "p"], - [1041, 0, "o"], - [1042, 0, "r"], - [1043, 0, "t"], - [1044, 0, " "], - [1045, 0, "t"], - [1046, 0, "i"], - [1047, 0, "m"], - [1048, 0, "e"], - [1049, 0, "s"], - [1050, 0, "t"], - [1051, 0, "a"], - [1052, 0, "m"], - [1053, 0, "p"], - [1054, 0, " "], - [1055, 0, "i"], - [1056, 0, "s"], - [1057, 0, " "], - [1058, 0, "a"], - [1059, 0, " "], - [1060, 0, "p"], - [1061, 0, "a"], - [1062, 0, "i"], - [1063, 0, "r"], - [1064, 0, " "], - [1065, 0, "("], - [1065, 1], - [1065, 0, "$"], - [1066, 0, "("], - [1067, 0, ")"], - [1067, 1], - [1067, 0, "c"], - [1068, 0, ","], - [1069, 0, " "], - [1070, 0, "n"], - [1071, 0, ")"], - [1072, 0, "$"], - [1073, 0, " "], - [1074, 0, "w"], - [1075, 0, "h"], - [1076, 0, "e"], - [1077, 0, "r"], - [1078, 0, "e"], - [1079, 0, " "], - [1080, 0, "$"], - [1081, 0, "c"], - [1082, 0, "$"], - [1083, 0, " "], - [1084, 0, "i"], - [1085, 0, "s"], - [1086, 0, " "], - [1087, 0, "a"], - [1088, 0, " "], - [1089, 0, "c"], - [1090, 0, "o"], - [1091, 0, "u"], - [1092, 0, "n"], - [1093, 0, "t"], - [1094, 0, "e"], - [1095, 0, "r"], - [1096, 0, " "], - [1097, 0, "t"], - [1098, 0, "h"], - [1099, 0, "a"], - [1100, 0, "t"], - [1101, 0, " "], - [1102, 0, "i"], - [1103, 0, "s"], - [1104, 0, " "], - [1105, 0, "s"], - [1106, 0, "t"], - [1107, 0, "o"], - [1108, 0, "r"], - [1109, 0, "e"], - [1110, 0, "d"], - [1111, 0, " "], - [1112, 0, "a"], - [1113, 0, "t"], - [1114, 0, " "], - [1115, 0, "n"], - [1116, 0, "o"], - [1117, 0, "d"], - [1118, 0, "e"], - [1119, 0, " "], - [1079, 0, " "], - [1080, 0, "$"], - [1081, 0, "n"], - [1082, 0, "$"], - [1083, 0, " "], - [1084, 0, "i"], - [1085, 0, "s"], - [1086, 0, " "], - [1087, 0, "t"], - [1088, 0, "h"], - [1089, 0, "e"], - [1090, 0, " "], - [1091, 0, "u"], - [1092, 0, "n"], - [1093, 0, "i"], - [1094, 0, "q"], - [1095, 0, "u"], - [1096, 0, "e"], - [1097, 0, " "], - [1098, 0, "i"], - [1099, 0, "d"], - [1100, 0, "e"], - [1101, 0, "n"], - [1102, 0, "t"], - [1103, 0, "i"], - [1104, 0, "f"], - [1105, 0, "i"], - [1106, 0, "e"], - [1107, 0, "r"], - [1108, 0, " "], - [1109, 0, "o"], - [1110, 0, "f"], - [1111, 0, " "], - [1112, 0, "t"], - [1113, 0, "h"], - [1114, 0, "e"], - [1115, 0, " "], - [1116, 0, "n"], - [1117, 0, "o"], - [1118, 0, "d"], - [1119, 0, "e"], - [1120, 0, " "], - [1121, 0, "o"], - [1122, 0, "n"], - [1123, 0, " "], - [1124, 0, "w"], - [1125, 0, "h"], - [1126, 0, "i"], - [1127, 0, "c"], - [1128, 0, "h"], - [1129, 0, " "], - [1130, 0, "t"], - [1131, 0, "h"], - [1132, 0, "e"], - [1133, 0, " "], - [1134, 0, "e"], - [1135, 0, "d"], - [1136, 0, "i"], - [1137, 0, "t"], - [1138, 0, " "], - [1139, 0, "i"], - [1140, 0, "s"], - [1141, 0, " "], - [1142, 0, "m"], - [1143, 0, "a"], - [1144, 0, "d"], - [1145, 0, "e"], - [1146, 0, ","], - [1147, 0, " "], - [1148, 0, "a"], - [1149, 0, "n"], - [1150, 0, "d"], - [1150, 1], - [1149, 1], - [1148, 1], - [1147, 1], - [1146, 1], - [1146, 0, "."], - [1187, 1], - [1186, 1], - [1185, 1], - [1184, 1], - [1183, 1], - [1183, 0, "e"], - [1184, 0, "a"], - [1185, 0, "c"], - [1186, 0, "h"], - [1187, 0, " "], - [1188, 0, "n"], - [1189, 0, "o"], - [1190, 0, "d"], - [1191, 0, "e"], - [1192, 0, " "], - [1193, 0, "a"], - [1194, 0, "n"], - [1195, 0, "d"], - [1196, 0, " "], - [1197, 0, "i"], - [1198, 0, "n"], - [1199, 0, "c"], - [1200, 0, "r"], - [1201, 0, "e"], - [1202, 0, "m"], - [1203, 0, "e"], - [1204, 0, "n"], - [1205, 0, "t"], - [1206, 0, "e"], - [1207, 0, "d"], - [1208, 0, " "], - [1209, 0, "f"], - [1210, 0, "o"], - [1211, 0, "r"], - [1212, 0, " "], - [1213, 0, "e"], - [1214, 0, "v"], - [1215, 0, "e"], - [1216, 0, "r"], - [1217, 0, "y"], - [1218, 0, " "], - [1219, 0, "o"], - [1220, 0, "p"], - [1221, 0, "e"], - [1222, 0, "r"], - [1223, 0, "a"], - [1224, 0, "t"], - [1225, 0, "i"], - [1226, 0, "o"], - [1227, 0, "n"], - [1228, 0, "."], - [1229, 0, " "], - [1230, 0, "M"], - [1231, 0, "o"], - [1232, 0, "r"], - [1233, 0, "e"], - [1234, 0, "o"], - [1235, 0, "v"], - [1236, 0, "e"], - [1237, 0, "r"], - [1238, 0, ","], - [1239, 0, " "], - [1240, 0, "w"], - [1241, 0, "h"], - [1242, 0, "e"], - [1243, 0, "n"], - [1244, 0, "e"], - [1245, 0, "v"], - [1246, 0, "e"], - [1247, 0, "r"], - [1248, 0, " "], - [1070, 1], - [1070, 0, "p"], - [1081, 1], - [1081, 0, "p"], - [1119, 1], - [1118, 1], - [1117, 1], - [1116, 1], - [1116, 0, "p"], - [1117, 0, "e"], - [1118, 0, "e"], - [1119, 0, "r"], - [1191, 1], - [1190, 1], - [1189, 1], - [1188, 1], - [1188, 0, "p"], - [1189, 0, "e"], - [1190, 0, "e"], - [1191, 0, "r"], - [1249, 0, "a"], - [1250, 0, " "], - [1251, 0, "p"], - [1252, 0, "e"], - [1253, 0, "e"], - [1254, 0, "r"], - [1255, 0, " "], - [1256, 0, "r"], - [1257, 0, "e"], - [1258, 0, "c"], - [1259, 0, "e"], - [1260, 0, "i"], - [1261, 0, "v"], - [1262, 0, "e"], - [1263, 0, "s"], - [1264, 0, " "], - [1265, 0, "a"], - [1266, 0, "n"], - [1267, 0, " "], - [1238, 1], - [1237, 1], - [1236, 1], - [1235, 1], - [1234, 1], - [1233, 1], - [1232, 1], - [1231, 1], - [1230, 1], - [1230, 0, "T"], - [1231, 0, "h"], - [1232, 0, "e"], - [1233, 0, " "], - [1234, 0, "p"], - [1235, 0, "a"], - [1236, 0, "i"], - [1237, 0, "r"], - [1238, 0, " "], - [1239, 0, "$"], - [1240, 0, "("], - [1241, 0, "c"], - [1242, 0, ","], - [1243, 0, " "], - [1244, 0, "p"], - [1245, 0, ")"], - [1246, 0, "$"], - [1247, 0, " "], - [1248, 0, "i"], - [1249, 0, "s"], - [1250, 0, " "], - [1251, 0, "s"], - [1252, 0, "e"], - [1253, 0, "n"], - [1254, 0, "t"], - [1255, 0, " "], - [1256, 0, "t"], - [1257, 0, "o"], - [1258, 0, " "], - [1259, 0, "o"], - [1260, 0, "t"], - [1261, 0, "h"], - [1262, 0, "e"], - [1263, 0, "r"], - [1237, 1], - [1236, 1], - [1235, 1], - [1234, 1], - [1233, 1], - [1232, 1], - [1231, 1], - [1230, 1], - [1230, 0, "W"], - [1231, 0, "h"], - [1232, 0, "e"], - [1233, 0, "n"], - [1234, 0, "e"], - [1235, 0, "v"], - [1236, 0, "e"], - [1237, 0, "r"], - [1238, 0, " "], - [1239, 0, "a"], - [1240, 0, "n"], - [1241, 0, " "], - [1242, 0, "o"], - [1243, 0, "p"], - [1244, 0, "e"], - [1245, 0, "r"], - [1246, 0, "a"], - [1247, 0, "t"], - [1248, 0, "i"], - [1249, 0, "o"], - [1250, 0, "n"], - [1251, 0, " "], - [1252, 0, "i"], - [1253, 0, "s"], - [1254, 0, " "], - [1255, 0, "s"], - [1256, 0, "e"], - [1257, 0, "n"], - [1258, 0, "t"], - [1259, 0, " "], - [1260, 0, "t"], - [1261, 0, "o"], - [1262, 0, " "], - [1263, 0, "o"], - [1264, 0, "t"], - [1265, 0, "h"], - [1266, 0, "e"], - [1267, 0, "r"], - [1268, 0, " "], - [1269, 0, "p"], - [1270, 0, "e"], - [1271, 0, "e"], - [1272, 0, "r"], - [1273, 0, "s"], - [1274, 0, ","], - [1275, 0, " "], - [1276, 0, "t"], - [1277, 0, "h"], - [1278, 0, "e"], - [1279, 0, " "], - [1280, 0, "L"], - [1281, 0, "a"], - [1282, 0, "m"], - [1283, 0, "p"], - [1284, 0, "o"], - [1285, 0, "r"], - [1286, 0, "t"], - [1287, 0, " "], - [1288, 0, "t"], - [1289, 0, "i"], - [1290, 0, "m"], - [1291, 0, "e"], - [1292, 0, "s"], - [1293, 0, "t"], - [1294, 0, "a"], - [1295, 0, "m"], - [1296, 0, "p"], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 1], - [1310, 0, "i"], - [1311, 0, "n"], - [1312, 0, "c"], - [1313, 0, "l"], - [1314, 0, "u"], - [1315, 0, "d"], - [1316, 0, "e"], - [1317, 0, "d"], - [1318, 0, " "], - [1319, 0, "i"], - [1320, 0, "n"], - [1321, 0, " "], - [1322, 0, "t"], - [1323, 0, "h"], - [1324, 0, "e"], - [1325, 0, " "], - [1326, 0, "m"], - [1327, 0, "e"], - [1328, 0, "s"], - [1329, 0, "s"], - [1330, 0, "a"], - [1331, 0, "g"], - [1332, 0, "e"], - [1333, 0, "."], - [1334, 0, " "], - [1335, 0, "I"], - [1306, 0, " "], - [1307, 0, "f"], - [1308, 0, "o"], - [1309, 0, "r"], - [1310, 0, " "], - [1311, 0, "t"], - [1312, 0, "h"], - [1313, 0, "a"], - [1314, 0, "t"], - [1315, 0, " "], - [1316, 0, "o"], - [1317, 0, "p"], - [1318, 0, "e"], - [1319, 0, "r"], - [1320, 0, "a"], - [1321, 0, "t"], - [1322, 0, "i"], - [1323, 0, "o"], - [1324, 0, "n"], - [1354, 1], - [1354, 0, "W"], - [1355, 0, "h"], - [1356, 0, "e"], - [1357, 0, "n"], - [1358, 0, " "], - [1358, 1], - [1357, 1], - [1356, 1], - [1355, 1], - [1354, 1], - [1354, 0, "I"], - [1355, 0, "f"], - [1356, 0, " "], - [1357, 0, "a"], - [1358, 0, " "], - [1359, 0, "p"], - [1360, 0, "e"], - [1361, 0, "e"], - [1362, 0, "r"], - [1363, 0, " "], - [1364, 0, "r"], - [1365, 0, "e"], - [1366, 0, "c"], - [1367, 0, "e"], - [1368, 0, "i"], - [1369, 0, "v"], - [1370, 0, "e"], - [1371, 0, "s"], - [1372, 0, " "], - [1373, 0, "a"], - [1374, 0, "n"], - [1375, 0, " "], - [1376, 0, "o"], - [1377, 0, "p"], - [1378, 0, "e"], - [1379, 0, "r"], - [1380, 0, "a"], - [1381, 0, "t"], - [1382, 0, "i"], - [1383, 0, "o"], - [1384, 0, "n"], - [1385, 0, " "], - [1386, 0, "w"], - [1387, 0, "i"], - [1388, 0, "t"], - [1389, 0, "h"], - [1390, 0, " "], - [1391, 0, "a"], - [1392, 0, " "], - [1393, 0, "c"], - [1394, 0, "o"], - [1395, 0, "u"], - [1396, 0, "n"], - [1397, 0, "t"], - [1398, 0, "e"], - [1399, 0, "r"], - [1400, 0, " "], - [1401, 0, "v"], - [1402, 0, "a"], - [1403, 0, "l"], - [1404, 0, "u"], - [1405, 0, "e"], - [1406, 0, " "], - [1407, 0, "$"], - [1408, 0, "c"], - [1409, 0, "$"], - [1410, 0, " "], - [1411, 0, "t"], - [1412, 0, "h"], - [1413, 0, "a"], - [1414, 0, "t"], - [1415, 0, " "], - [1416, 0, "i"], - [1417, 0, "s"], - [1418, 0, " "], - [1419, 0, "g"], - [1420, 0, "r"], - [1421, 0, "e"], - [1422, 0, "a"], - [1423, 0, "t"], - [1424, 0, " "], - [1424, 1], - [1424, 0, "e"], - [1425, 0, "r"], - [1426, 0, " "], - [1427, 0, "t"], - [1428, 0, "h"], - [1429, 0, "a"], - [1430, 0, "n"], - [1431, 0, " "], - [1432, 0, "t"], - [1433, 0, "h"], - [1434, 0, "e"], - [1435, 0, " "], - [1436, 0, "l"], - [1437, 0, "o"], - [1438, 0, "c"], - [1439, 0, "a"], - [1440, 0, "l"], - [1441, 0, "l"], - [1442, 0, "y"], - [1443, 0, " "], - [1444, 0, "s"], - [1445, 0, "t"], - [1446, 0, "o"], - [1447, 0, "r"], - [1448, 0, "e"], - [1449, 0, "d"], - [1450, 0, " "], - [1451, 0, "c"], - [1452, 0, "o"], - [1453, 0, "u"], - [1454, 0, "n"], - [1455, 0, "t"], - [1456, 0, "e"], - [1457, 0, "r"], - [1458, 0, " "], - [1459, 0, "v"], - [1460, 0, "a"], - [1461, 0, "l"], - [1462, 0, "u"], - [1463, 0, "e"], - [1464, 0, ","], - [1465, 0, " "], - [1466, 0, "t"], - [1467, 0, "h"], - [1468, 0, "e"], - [1469, 0, " "], - [1470, 0, "l"], - [1471, 0, "o"], - [1472, 0, "c"], - [1473, 0, "a"], - [1474, 0, "l"], - [1475, 0, " "], - [1476, 0, "c"], - [1477, 0, "o"], - [1478, 0, "u"], - [1479, 0, "n"], - [1480, 0, "t"], - [1481, 0, "e"], - [1482, 0, "r"], - [1483, 0, " "], - [1484, 0, "i"], - [1485, 0, "s"], - [1486, 0, " "], - [1487, 0, "i"], - [1488, 0, "n"], - [1489, 0, "c"], - [1490, 0, "r"], - [1491, 0, "e"], - [1492, 0, "a"], - [1493, 0, "s"], - [1494, 0, "e"], - [1495, 0, "d"], - [1496, 0, " "], - [1497, 0, "t"], - [1498, 0, "o"], - [1499, 0, " "], - [1500, 0, "t"], - [1501, 0, "h"], - [1502, 0, "e"], - [1503, 0, " "], - [1504, 0, "v"], - [1505, 0, "a"], - [1506, 0, "l"], - [1507, 0, "u"], - [1508, 0, "e"], - [1509, 0, " "], - [1510, 0, "o"], - [1511, 0, "f"], - [1512, 0, " "], - [1513, 0, "t"], - [1514, 0, "h"], - [1515, 0, "e"], - [1516, 0, " "], - [1517, 0, "i"], - [1518, 0, "n"], - [1519, 0, "c"], - [1520, 0, "o"], - [1521, 0, "m"], - [1522, 0, "i"], - [1523, 0, "n"], - [1524, 0, "g"], - [1525, 0, " "], - [1526, 0, "c"], - [1527, 0, "o"], - [1528, 0, "u"], - [1529, 0, "n"], - [1530, 0, "t"], - [1531, 0, "e"], - [1532, 0, "r"], - [1533, 0, "."], - [1353, 1], - [1353, 0, "\n"], - [1354, 0, "\n"], - [1535, 0, " "], - [1536, 0, "T"], - [1537, 0, "h"], - [1538, 0, "i"], - [1539, 0, "s"], - [1540, 0, " "], - [1541, 0, "e"], - [1542, 0, "n"], - [1543, 0, "s"], - [1544, 0, "u"], - [1545, 0, "r"], - [1546, 0, "e"], - [1547, 0, "s"], - [1548, 0, " "], - [1549, 0, "t"], - [1550, 0, "h"], - [1551, 0, "a"], - [1552, 0, "t"], - [1553, 0, " "], - [1554, 0, "i"], - [1555, 0, "f"], - [1556, 0, " "], - [1557, 0, "o"], - [1558, 0, "p"], - [1559, 0, "e"], - [1560, 0, "r"], - [1561, 0, "a"], - [1562, 0, "t"], - [1563, 0, "i"], - [1564, 0, "o"], - [1565, 0, "n"], - [1566, 0, " "], - [1567, 0, "$"], - [1568, 0, "o"], - [1569, 0, "_"], - [1570, 0, "1"], - [1571, 0, "$"], - [1572, 0, " "], - [1573, 0, "h"], - [1574, 0, "a"], - [1575, 0, "p"], - [1576, 0, "p"], - [1577, 0, "e"], - [1578, 0, "n"], - [1579, 0, "e"], - [1580, 0, "d"], - [1581, 0, " "], - [1582, 0, "b"], - [1583, 0, "e"], - [1584, 0, "f"], - [1585, 0, "o"], - [1586, 0, "r"], - [1587, 0, "e"], - [1588, 0, " "], - [1589, 0, "$"], - [1590, 0, "o"], - [1591, 0, "_"], - [1592, 0, "2"], - [1593, 0, "$"], - [1594, 0, " "], - [1595, 0, "("], - [1596, 0, "t"], - [1597, 0, "h"], - [1598, 0, "a"], - [1599, 0, "t"], - [1600, 0, " "], - [1601, 0, "i"], - [1602, 0, "s"], - [1603, 0, ","], - [1604, 0, " "], - [1605, 0, "t"], - [1606, 0, "h"], - [1607, 0, "e"], - [1608, 0, " "], - [1609, 0, "p"], - [1610, 0, "e"], - [1611, 0, "e"], - [1612, 0, "r"], - [1613, 0, " "], - [1614, 0, "t"], - [1615, 0, "h"], - [1616, 0, "a"], - [1617, 0, "t"], - [1618, 0, " "], - [1619, 0, "g"], - [1620, 0, "e"], - [1621, 0, "n"], - [1622, 0, "e"], - [1623, 0, "r"], - [1624, 0, "a"], - [1625, 0, "t"], - [1626, 0, "e"], - [1627, 0, "d"], - [1628, 0, " "], - [1629, 0, "$"], - [1630, 0, "o"], - [1631, 0, "_"], - [1632, 0, "2"], - [1633, 0, "$"], - [1634, 0, " "], - [1635, 0, "k"], - [1636, 0, "n"], - [1637, 0, "e"], - [1638, 0, "w"], - [1639, 0, " "], - [1640, 0, "a"], - [1641, 0, "b"], - [1642, 0, "o"], - [1643, 0, "u"], - [1644, 0, "t"], - [1645, 0, " "], - [1646, 0, "t"], - [1647, 0, "h"], - [1648, 0, "e"], - [1649, 0, " "], - [1649, 1], - [1648, 1], - [1647, 1], - [1646, 1], - [1645, 1], - [1644, 1], - [1643, 1], - [1642, 1], - [1641, 1], - [1640, 1], - [1639, 1], - [1638, 1], - [1637, 1], - [1636, 1], - [1635, 1], - [1635, 0, "h"], - [1636, 0, "a"], - [1637, 0, "d"], - [1638, 0, " "], - [1639, 0, "r"], - [1640, 0, "e"], - [1641, 0, "c"], - [1642, 0, "e"], - [1643, 0, "i"], - [1644, 0, "v"], - [1645, 0, "e"], - [1646, 0, "d"], - [1647, 0, " "], - [1648, 0, "a"], - [1649, 0, "n"], - [1650, 0, "d"], - [1651, 0, " "], - [1652, 0, "p"], - [1653, 0, "r"], - [1654, 0, "o"], - [1655, 0, "c"], - [1656, 0, "e"], - [1657, 0, "s"], - [1658, 0, "s"], - [1659, 0, "e"], - [1660, 0, "d"], - [1661, 0, " "], - [1662, 0, "$"], - [1663, 0, "o"], - [1664, 0, "_"], - [1665, 0, "1"], - [1666, 0, "$"], - [1667, 0, " "], - [1668, 0, "b"], - [1669, 0, "e"], - [1670, 0, "f"], - [1671, 0, "o"], - [1672, 0, "r"], - [1673, 0, "e"], - [1674, 0, " "], - [1675, 0, "$"], - [1676, 0, "o"], - [1677, 0, "_"], - [1678, 0, "2"], - [1679, 0, "$"], - [1680, 0, " "], - [1681, 0, "w"], - [1682, 0, "a"], - [1683, 0, "s"], - [1684, 0, " "], - [1685, 0, "g"], - [1686, 0, "e"], - [1687, 0, "n"], - [1688, 0, "e"], - [1689, 0, "r"], - [1690, 0, "a"], - [1691, 0, "t"], - [1692, 0, "e"], - [1693, 0, "d"], - [1694, 0, ")"], - [1695, 0, ","], - [1696, 0, " "], - [1697, 0, "t"], - [1698, 0, "h"], - [1699, 0, "e"], - [1700, 0, "n"], - [1701, 0, " "], - [1702, 0, "$"], - [1703, 0, "o"], - [1704, 0, "_"], - [1705, 0, "2"], - [1706, 0, "$"], - [1707, 0, " "], - [1708, 0, "m"], - [1709, 0, "u"], - [1710, 0, "s"], - [1711, 0, "t"], - [1712, 0, " "], - [1713, 0, "h"], - [1714, 0, "a"], - [1715, 0, "v"], - [1716, 0, "e"], - [1717, 0, " "], - [1718, 0, "a"], - [1719, 0, " "], - [1720, 0, "g"], - [1721, 0, "r"], - [1722, 0, "e"], - [1723, 0, "a"], - [1724, 0, "t"], - [1725, 0, "e"], - [1726, 0, "r"], - [1727, 0, " "], - [1728, 0, "c"], - [1729, 0, "o"], - [1730, 0, "u"], - [1731, 0, "n"], - [1732, 0, "t"], - [1733, 0, "e"], - [1734, 0, "r"], - [1735, 0, " "], - [1736, 0, "v"], - [1737, 0, "a"], - [1738, 0, "l"], - [1739, 0, "u"], - [1740, 0, "e"], - [1741, 0, " "], - [1742, 0, "t"], - [1743, 0, "h"], - [1744, 0, "a"], - [1745, 0, "n"], - [1746, 0, " "], - [1747, 0, "$"], - [1748, 0, "o"], - [1749, 0, "_"], - [1750, 0, "1"], - [1751, 0, "$"], - [1752, 0, "."], - [1753, 0, " "], - [1754, 0, "O"], - [1755, 0, "n"], - [1756, 0, "l"], - [1757, 0, "y"], - [1758, 0, " "], - [1759, 0, "c"], - [1760, 0, "o"], - [1761, 0, "n"], - [1762, 0, "c"], - [1763, 0, "u"], - [1764, 0, "r"], - [1765, 0, "r"], - [1766, 0, "e"], - [1767, 0, "n"], - [1768, 0, "t"], - [1769, 0, " "], - [1770, 0, "o"], - [1771, 0, "p"], - [1772, 0, "e"], - [1773, 0, "r"], - [1774, 0, "a"], - [1775, 0, "t"], - [1776, 0, "i"], - [1777, 0, "o"], - [1778, 0, "n"], - [1779, 0, "s"], - [1780, 0, " "], - [1781, 0, "c"], - [1782, 0, "a"], - [1783, 0, "n"], - [1784, 0, " "], - [1785, 0, "h"], - [1786, 0, "a"], - [1787, 0, "v"], - [1788, 0, "e"], - [1789, 0, " "], - [1790, 0, "e"], - [1791, 0, "q"], - [1792, 0, "u"], - [1793, 0, "a"], - [1794, 0, "l"], - [1795, 0, " "], - [1796, 0, "c"], - [1797, 0, "o"], - [1798, 0, "u"], - [1799, 0, "n"], - [1800, 0, "t"], - [1801, 0, "e"], - [1802, 0, "r"], - [1803, 0, " "], - [1804, 0, "v"], - [1805, 0, "a"], - [1806, 0, "l"], - [1807, 0, "u"], - [1808, 0, "e"], - [1809, 0, "s"], - [1810, 0, "."], - [1811, 0, "\n"], - [1812, 0, "\n"], - [1813, 0, "W"], - [1814, 0, "e"], - [1815, 0, " "], - [1816, 0, "c"], - [1817, 0, "a"], - [1818, 0, "n"], - [1819, 0, " "], - [1820, 0, "t"], - [1821, 0, "h"], - [1822, 0, "u"], - [1823, 0, "s"], - [1824, 0, " "], - [1825, 0, "d"], - [1826, 0, "e"], - [1827, 0, "f"], - [1828, 0, "i"], - [1829, 0, "n"], - [1830, 0, "e"], - [1831, 0, " "], - [1832, 0, "a"], - [1833, 0, " "], - [1834, 0, "t"], - [1835, 0, "o"], - [1836, 0, "t"], - [1837, 0, "a"], - [1838, 0, "l"], - [1839, 0, " "], - [1840, 0, "o"], - [1841, 0, "r"], - [1842, 0, "d"], - [1843, 0, "e"], - [1844, 0, "r"], - [1845, 0, "i"], - [1846, 0, "n"], - [1847, 0, "g"], - [1848, 0, " "], - [1849, 0, "o"], - [1850, 0, "n"], - [1851, 0, " "], - [1852, 0, "o"], - [1853, 0, "p"], - [1854, 0, "e"], - [1855, 0, "r"], - [1856, 0, "a"], - [1857, 0, "t"], - [1858, 0, "i"], - [1859, 0, "o"], - [1860, 0, "n"], - [1861, 0, "s"], - [1862, 0, "."], - [1863, 0, " "], - [1850, 1], - [1849, 1], - [1861, 1], - [1860, 1], - [1859, 1], - [1858, 1], - [1857, 1], - [1856, 1], - [1855, 1], - [1854, 1], - [1853, 1], - [1852, 1], - [1851, 1], - [1850, 1], - [1849, 1], - [1849, 0, "f"], - [1850, 0, "o"], - [1851, 0, "r"], - [1852, 0, " "], - [1853, 0, "L"], - [1854, 0, "a"], - [1855, 0, "m"], - [1856, 0, "p"], - [1857, 0, "o"], - [1858, 0, "r"], - [1859, 0, "t"], - [1860, 0, " "], - [1861, 0, "t"], - [1862, 0, "i"], - [1863, 0, "m"], - [1864, 0, "e"], - [1865, 0, "s"], - [1866, 0, "t"], - [1867, 0, "a"], - [1868, 0, "m"], - [1869, 0, "p"], - [1870, 0, "s"], - [1871, 0, ":"], - [1872, 0, "\n"], - [1873, 0, "$"], - [1874, 0, "$"], - [1875, 0, " "], - [1875, 1], - [1875, 0, "("], - [1876, 0, "c"], - [1877, 0, "_"], - [1878, 0, "1"], - [1879, 0, ","], - [1880, 0, " "], - [1881, 0, "p"], - [1882, 0, "_"], - [1883, 0, "1"], - [1884, 0, ")"], - [1885, 0, " "], - [1886, 0, "<"], - [1887, 0, " "], - [1888, 0, "("], - [1889, 0, "c"], - [1890, 0, "_"], - [1891, 0, "2"], - [1892, 0, ","], - [1893, 0, " "], - [1894, 0, "p"], - [1895, 0, "_"], - [1896, 0, "2"], - [1897, 0, ")"], - [1898, 0, " "], - [1899, 0, "\\"], - [1900, 0, "q"], - [1901, 0, "u"], - [1902, 0, "a"], - [1903, 0, "d"], - [1904, 0, "{"], - [1904, 1], - [1904, 0, "\\"], - [1905, 0, "t"], - [1906, 0, "e"], - [1907, 0, "x"], - [1908, 0, "t"], - [1909, 0, "{"], - [1910, 0, "i"], - [1911, 0, "f"], - [1912, 0, "f"], - [1913, 0, "}"], - [1914, 0, "\\"], - [1915, 0, "q"], - [1916, 0, "u"], - [1917, 0, "a"], - [1918, 0, "d"], - [1919, 0, " "], - [1920, 0, "("], - [1921, 0, "c"], - [1922, 0, "_"], - [1923, 0, "1"], - [1924, 0, " "], - [1925, 0, "<"], - [1926, 0, " "], - [1927, 0, "c"], - [1928, 0, "_"], - [1929, 0, "2"], - [1930, 0, ")"], - [1931, 0, " "], - [1932, 0, "\\"], - [1933, 0, "v"], - [1934, 0, "e"], - [1935, 0, "e"], - [1936, 0, " "], - [1937, 0, "("], - [1938, 0, "c"], - [1939, 0, "_"], - [1940, 0, "1"], - [1941, 0, " "], - [1942, 0, "="], - [1943, 0, " "], - [1944, 0, "c"], - [1945, 0, "_"], - [1946, 0, "2"], - [1947, 0, " "], - [1948, 0, "\\"], - [1949, 0, "w"], - [1950, 0, "e"], - [1951, 0, "d"], - [1952, 0, "g"], - [1953, 0, "e"], - [1954, 0, " "], - [1955, 0, "p"], - [1956, 0, "_"], - [1957, 0, "1"], - [1958, 0, " "], - [1959, 0, "<"], - [1960, 0, " "], - [1961, 0, "p"], - [1962, 0, "_"], - [1963, 0, "2"], - [1964, 0, ")"], - [1965, 0, "."], - [1966, 0, "$"], - [1967, 0, "$"], - [1968, 0, "\n"], - [1969, 0, "T"], - [1970, 0, "h"], - [1971, 0, "i"], - [1972, 0, "s"], - [1973, 0, " "], - [1974, 0, "o"], - [1975, 0, "r"], - [1976, 0, "d"], - [1977, 0, "e"], - [1978, 0, "r"], - [1979, 0, "i"], - [1980, 0, "n"], - [1981, 0, "g"], - [1982, 0, " "], - [1983, 0, "i"], - [1984, 0, "s"], - [1985, 0, " "], - [1986, 0, "c"], - [1987, 0, "o"], - [1988, 0, "n"], - [1989, 0, "s"], - [1990, 0, "i"], - [1991, 0, "s"], - [1992, 0, "t"], - [1993, 0, "e"], - [1994, 0, "n"], - [1995, 0, "t"], - [1996, 0, " "], - [1997, 0, "w"], - [1998, 0, "i"], - [1999, 0, "t"], - [2000, 0, "h"], - [2001, 0, " "], - [2002, 0, "c"], - [2003, 0, "a"], - [2004, 0, "u"], - [2005, 0, "s"], - [2006, 0, "a"], - [2007, 0, "l"], - [2008, 0, "i"], - [2009, 0, "t"], - [2010, 0, "y"], - [2011, 0, ","], - [2012, 0, " "], - [2013, 0, "t"], - [2014, 0, "h"], - [2015, 0, "a"], - [2016, 0, "t"], - [2017, 0, " "], - [2018, 0, "i"], - [2019, 0, "s"], - [2020, 0, ","], - [2021, 0, " "], - [2022, 0, "i"], - [2023, 0, "f"], - [2024, 0, " "], - [2025, 0, "o"], - [2026, 0, "p"], - [2027, 0, "e"], - [2028, 0, "r"], - [2029, 0, "a"], - [2030, 0, "t"], - [2031, 0, "i"], - [2032, 0, "o"], - [2033, 0, "n"], - [2034, 0, " "], - [2035, 0, "$"], - [2036, 0, "o"], - [2037, 0, "_"], - [2038, 0, "1"], - [2039, 0, "$"], - [2040, 0, " "], - [2041, 0, "h"], - [2042, 0, "a"], - [2043, 0, "p"], - [2044, 0, "p"], - [2045, 0, "e"], - [2046, 0, "n"], - [2047, 0, "e"], - [2048, 0, "d"], - [2049, 0, " "], - [2050, 0, "b"], - [2051, 0, "e"], - [2052, 0, "f"], - [2053, 0, "o"], - [2054, 0, "r"], - [2055, 0, "e"], - [2056, 0, " "], - [2057, 0, "$"], - [2058, 0, "o"], - [2059, 0, "_"], - [2060, 0, "2"], - [2061, 0, "$"], - [2062, 0, ","], - [2063, 0, " "], - [2064, 0, "t"], - [2065, 0, "h"], - [2066, 0, "e"], - [2067, 0, "n"], - [2068, 0, " "], - [2069, 0, "$"], - [2070, 0, "o"], - [2071, 0, "_"], - [2072, 0, "1"], - [2073, 0, "$"], - [2074, 0, " "], - [2075, 0, "i"], - [2076, 0, "s"], - [2077, 0, " "], - [2078, 0, "g"], - [2079, 0, "u"], - [2080, 0, "a"], - [2081, 0, "r"], - [2082, 0, "a"], - [2083, 0, "n"], - [2084, 0, "t"], - [2085, 0, "e"], - [2086, 0, "e"], - [2086, 1], - [2085, 1], - [2084, 1], - [2083, 1], - [2082, 1], - [2081, 1], - [2080, 1], - [2079, 1], - [2078, 1], - [2077, 1], - [2076, 1], - [2075, 1], - [2075, 0, "h"], - [2076, 0, "a"], - [2077, 0, "s"], - [2078, 0, " "], - [2079, 0, "a"], - [2080, 0, " "], - [2081, 0, "l"], - [2082, 0, "o"], - [2083, 0, "w"], - [2084, 0, "e"], - [2084, 1], - [2083, 1], - [2082, 1], - [2081, 1], - [2080, 1], - [2079, 1], - [2078, 1], - [2077, 1], - [2076, 1], - [2075, 1], - [2074, 1], - [2073, 1], - [2072, 1], - [2071, 1], - [2070, 1], - [2069, 1], - [2068, 1], - [2067, 1], - [2066, 1], - [2065, 1], - [2064, 1], - [2063, 1], - [2062, 1], - [2061, 1], - [2060, 1], - [2059, 1], - [2058, 1], - [2057, 1], - [2056, 1], - [2055, 1], - [2054, 1], - [2053, 1], - [2052, 1], - [2051, 1], - [2050, 1], - [2049, 1], - [2048, 1], - [2047, 1], - [2046, 1], - [2045, 1], - [2044, 1], - [2043, 1], - [2042, 1], - [2041, 1], - [2040, 1], - [2039, 1], - [2038, 1], - [2037, 1], - [2036, 1], - [2035, 1], - [2034, 1], - [2033, 1], - [2032, 1], - [2031, 1], - [2030, 1], - [2029, 1], - [2028, 1], - [2027, 1], - [2026, 1], - [2025, 1], - [2024, 1], - [2023, 1], - [2022, 1], - [2021, 1], - [2020, 1], - [2019, 1], - [2018, 1], - [2017, 1], - [2016, 1], - [2015, 1], - [2014, 1], - [2013, 1], - [2012, 1], - [2011, 1], - [2010, 1], - [2009, 1], - [2008, 1], - [2007, 1], - [2006, 1], - [2005, 1], - [2004, 1], - [2003, 1], - [2002, 1], - [2001, 1], - [2000, 1], - [1999, 1], - [1998, 1], - [1997, 1], - [1996, 1], - [1995, 1], - [1994, 1], - [1993, 1], - [1992, 1], - [1991, 1], - [1990, 1], - [1989, 1], - [1988, 1], - [1987, 1], - [1986, 1], - [1985, 1], - [1984, 1], - [1983, 1], - [1982, 1], - [1981, 1], - [1980, 1], - [1979, 1], - [1978, 1], - [1977, 1], - [1976, 1], - [1975, 1], - [1974, 1], - [1973, 1], - [1972, 1], - [1971, 1], - [1970, 1], - [1969, 1], - [1969, 0, "I"], - [1970, 0, "f"], - [1971, 0, " "], - [1972, 0, "o"], - [1973, 0, "n"], - [1974, 0, "e"], - [1975, 0, " "], - [1976, 0, "o"], - [1977, 0, "p"], - [1978, 0, "e"], - [1979, 0, "r"], - [1980, 0, "a"], - [1981, 0, "t"], - [1982, 0, "i"], - [1983, 0, "o"], - [1984, 0, "n"], - [1985, 0, " "], - [1986, 0, "h"], - [1987, 0, "a"], - [1988, 0, "p"], - [1989, 0, "p"], - [1990, 0, "e"], - [1991, 0, "n"], - [1992, 0, "e"], - [1993, 0, "d"], - [1994, 0, " "], - [1995, 0, "b"], - [1996, 0, "e"], - [1997, 0, "f"], - [1998, 0, "o"], - [1999, 0, "r"], - [2000, 0, "e"], - [2001, 0, " "], - [2002, 0, "a"], - [2003, 0, "n"], - [2004, 0, "o"], - [2005, 0, "t"], - [2006, 0, "h"], - [2007, 0, "e"], - [2008, 0, "r"], - [2009, 0, ","], - [2010, 0, " "], - [2011, 0, "t"], - [2012, 0, "h"], - [2013, 0, "i"], - [2014, 0, "s"], - [2015, 0, " "], - [2016, 0, "o"], - [2017, 0, "r"], - [2018, 0, "d"], - [2019, 0, "e"], - [2020, 0, "r"], - [2021, 0, "i"], - [2022, 0, "n"], - [2023, 0, "g"], - [2024, 0, " "], - [2025, 0, "i"], - [2026, 0, "s"], - [2027, 0, " "], - [2028, 0, "c"], - [2029, 0, "o"], - [2030, 0, "n"], - [2031, 0, "s"], - [2032, 0, "i"], - [2033, 0, "s"], - [2034, 0, "t"], - [2035, 0, "e"], - [2036, 0, "n"], - [2037, 0, "t"], - [2038, 0, " "], - [2039, 0, "w"], - [2040, 0, "i"], - [2041, 0, "t"], - [2042, 0, "h"], - [2043, 0, " "], - [2044, 0, "c"], - [2045, 0, "a"], - [2046, 0, "u"], - [2047, 0, "s"], - [2048, 0, "a"], - [2049, 0, "l"], - [2050, 0, "i"], - [2051, 0, "t"], - [2052, 0, "y"], - [2053, 0, " "], - [2054, 0, "("], - [2055, 0, "t"], - [2056, 0, "h"], - [2057, 0, "e"], - [2058, 0, " "], - [2059, 0, "e"], - [2060, 0, "a"], - [2061, 0, "r"], - [2062, 0, "l"], - [2063, 0, "i"], - [2064, 0, "e"], - [2065, 0, "r"], - [2066, 0, " "], - [2067, 0, "o"], - [2068, 0, "p"], - [2069, 0, "e"], - [2070, 0, "r"], - [2071, 0, "a"], - [2072, 0, "t"], - [2073, 0, "i"], - [2074, 0, "o"], - [2075, 0, "n"], - [2076, 0, " "], - [2077, 0, "h"], - [2078, 0, "a"], - [2079, 0, "s"], - [2080, 0, " "], - [2081, 0, "a"], - [2082, 0, " "], - [2083, 0, "l"], - [2084, 0, "o"], - [2085, 0, "w"], - [2086, 0, "e"], - [2087, 0, "r"], - [2088, 0, " "], - [2089, 0, "t"], - [2090, 0, "i"], - [2091, 0, "m"], - [2092, 0, "e"], - [2093, 0, "s"], - [2094, 0, "e"], - [2095, 0, "t"], - [2096, 0, "a"], - [2097, 0, "m"], - [2098, 0, "p"], - [2099, 0, ")"], - [2100, 0, "."], - [2101, 0, " "], - [2102, 0, "I"], - [2103, 0, "f"], - [2104, 0, " "], - [2105, 0, "t"], - [2106, 0, "w"], - [2107, 0, "o"], - [2108, 0, " "], - [2109, 0, "o"], - [2110, 0, "p"], - [2111, 0, "e"], - [2112, 0, "r"], - [2113, 0, "a"], - [2114, 0, "t"], - [2115, 0, "i"], - [2116, 0, "o"], - [2117, 0, "n"], - [2118, 0, "s"], - [2119, 0, " "], - [2120, 0, "a"], - [2121, 0, "r"], - [2122, 0, "e"], - [2123, 0, " "], - [2124, 0, "c"], - [2125, 0, "o"], - [2126, 0, "n"], - [2127, 0, "c"], - [2128, 0, "u"], - [2129, 0, "r"], - [2130, 0, "r"], - [2131, 0, "e"], - [2132, 0, "n"], - [2133, 0, "t"], - [2134, 0, ","], - [2135, 0, " "], - [2136, 0, "t"], - [2137, 0, "h"], - [2138, 0, "i"], - [2139, 0, "s"], - [2140, 0, " "], - [2141, 0, "o"], - [2142, 0, "r"], - [2143, 0, "d"], - [2144, 0, "e"], - [2145, 0, "r"], - [2146, 0, "i"], - [2147, 0, "n"], - [2148, 0, "g"], - [2149, 0, " "], - [2150, 0, "i"], - [2151, 0, "s"], - [2152, 0, " "], - [2153, 0, "a"], - [2154, 0, "r"], - [2155, 0, "b"], - [2156, 0, "i"], - [2157, 0, "t"], - [2158, 0, "r"], - [2159, 0, "a"], - [2160, 0, "r"], - [2161, 0, "y"], - [2162, 0, " "], - [2163, 0, "b"], - [2164, 0, "u"], - [2165, 0, "t"], - [2166, 0, " "], - [2167, 0, "d"], - [2168, 0, "e"], - [2169, 0, "t"], - [2170, 0, "e"], - [2171, 0, "r"], - [2172, 0, "m"], - [2173, 0, "i"], - [2174, 0, "n"], - [2175, 0, "i"], - [2176, 0, "s"], - [2177, 0, "t"], - [2178, 0, "i"], - [2179, 0, "c"], - [2180, 0, "."], - [1903, 1], - [1902, 1], - [1901, 1], - [1900, 1], - [1900, 0, ";"], - [1915, 1], - [1914, 1], - [1913, 1], - [1912, 1], - [1912, 0, ";"], - [1913, 0, "\\"], - [1914, 0, ";"], - [1912, 1], - [1911, 1], - [1910, 0, " "], - [1907, 0, " "], - [2135, 1], - [2134, 1], - [2134, 0, "e"], - [2143, 1], - [2142, 1], - [2141, 1], - [2141, 0, " "], - [2142, 0, "$"], - [2143, 0, "<"], - [2144, 0, "$"], - [1848, 0, " "], - [1849, 0, "$"], - [1850, 0, "<"], - [1851, 0, "$"], - [2139, 0, "i"], - [2140, 0, "r"], - [2147, 0, " "], - [2148, 0, "a"], - [2149, 0, "c"], - [2150, 0, "c"], - [2151, 0, "o"], - [2152, 0, "r"], - [2153, 0, "d"], - [2154, 0, "i"], - [2155, 0, "n"], - [2156, 0, "g"], - [2157, 0, " "], - [2158, 0, "t"], - [2159, 0, "o"], - [2160, 0, "1"], - [2160, 1], - [2643, 0, " "], - [2644, 0, "T"], - [2645, 0, "h"], - [2646, 0, "e"], - [2647, 0, " "], - [2648, 0, "p"], - [2649, 0, "a"], - [2650, 0, "r"], - [2651, 0, "a"], - [2652, 0, "m"], - [2653, 0, "e"], - [2654, 0, "t"], - [2655, 0, "e"], - [2656, 0, "r"], - [2657, 0, " "], - [2658, 0, "$"], - [2659, 0, "\\"], - [2660, 0, "m"], - [2661, 0, "a"], - [2662, 0, "t"], - [2663, 0, "h"], - [2664, 0, "i"], - [2665, 0, "d"], - [2665, 1], - [2665, 0, "t"], - [2666, 0, "{"], - [2667, 0, "i"], - [2668, 0, "d"], - [2669, 0, "}"], - [2670, 0, "$"], - [2671, 0, " "], - [2672, 0, "i"], - [2673, 0, "s"], - [2674, 0, " "], - [2675, 0, "e"], - [2676, 0, "i"], - [2677, 0, "t"], - [2678, 0, "h"], - [2679, 0, "e"], - [2680, 0, "r"], - [2681, 0, " "], - [2682, 0, "a"], - [2683, 0, " "], - [2684, 0, "L"], - [2685, 0, "a"], - [2686, 0, "m"], - [2687, 0, "p"], - [2688, 0, "o"], - [2689, 0, "r"], - [2690, 0, "t"], - [2691, 0, " "], - [2692, 0, "t"], - [2693, 0, "i"], - [2694, 0, "m"], - [2695, 0, "e"], - [2696, 0, "s"], - [2697, 0, "t"], - [2698, 0, "a"], - [2699, 0, "m"], - [2700, 0, "p"], - [2701, 0, " "], - [2702, 0, "o"], - [2703, 0, "r"], - [2704, 0, " "], - [2705, 0, "t"], - [2706, 0, "h"], - [2707, 0, "e"], - [2708, 0, " "], - [2709, 0, "s"], - [2710, 0, "p"], - [2711, 0, "e"], - [2712, 0, "c"], - [2713, 0, "i"], - [2714, 0, "a"], - [2715, 0, "l"], - [2716, 0, " "], - [2717, 0, "s"], - [2718, 0, "y"], - [2719, 0, "m"], - [2720, 0, "b"], - [2721, 0, "o"], - [2722, 0, "l"], - [2723, 0, " "], - [2724, 0, "$"], - [2725, 0, "\\"], - [2726, 0, "m"], - [2727, 0, "a"], - [2728, 0, "t"], - [2729, 0, "h"], - [2730, 0, "s"], - [2731, 0, "f"], - [2732, 0, "{"], - [2733, 0, "h"], - [2734, 0, "e"], - [2735, 0, "a"], - [2736, 0, "d"], - [2737, 0, "}"], - [2738, 0, "$"], - [2739, 0, ","], - [2740, 0, " "], - [2741, 0, "i"], - [2742, 0, "n"], - [2743, 0, "d"], - [2744, 0, "i"], - [2745, 0, "c"], - [2746, 0, "a"], - [2747, 0, "t"], - [2748, 0, "i"], - [2749, 0, "n"], - [2750, 0, "g"], - [2751, 0, " "], - [2752, 0, "t"], - [2753, 0, "h"], - [2754, 0, "e"], - [2755, 0, " "], - [2756, 0, "h"], - [2757, 0, "e"], - [2758, 0, "a"], - [2759, 0, "d"], - [2760, 0, " "], - [2761, 0, "o"], - [2762, 0, "f"], - [2763, 0, " "], - [2764, 0, "t"], - [2765, 0, "h"], - [2766, 0, "e"], - [2767, 0, " "], - [2768, 0, "l"], - [2769, 0, "i"], - [2770, 0, "s"], - [2771, 0, "t"], - [2772, 0, "."], - [2773, 0, " "], - [2774, 0, "%"], - [2774, 1], - [2774, 0, "$"], - [2775, 0, "\\"], - [2776, 0, "m"], - [2777, 0, "a"], - [2778, 0, "t"], - [2779, 0, "h"], - [2780, 0, "i"], - [2781, 0, "t"], - [2782, 0, "{"], - [2783, 0, "n"], - [2784, 0, "e"], - [2785, 0, "x"], - [2786, 0, "t"], - [2787, 0, "}"], - [2788, 0, "$"], - [2789, 0, " "], - [2790, 0, "i"], - [2791, 0, "s"], - [2792, 0, " "], - [2793, 0, "e"], - [2794, 0, "i"], - [2795, 0, "t"], - [2796, 0, "h"], - [2797, 0, "e"], - [2798, 0, "r"], - [2799, 0, " "], - [2800, 0, "a"], - [2801, 0, " "], - [2802, 0, "L"], - [2803, 0, "a"], - [2804, 0, "m"], - [2805, 0, "p"], - [2806, 0, "o"], - [2807, 0, "r"], - [2808, 0, "t"], - [2809, 0, " "], - [2810, 0, "t"], - [2811, 0, "i"], - [2812, 0, "m"], - [2813, 0, "e"], - [2814, 0, "s"], - [2815, 0, "t"], - [2816, 0, "a"], - [2817, 0, "m"], - [2818, 0, "p"], - [2819, 0, " "], - [2820, 0, "o"], - [2821, 0, "r"], - [2822, 0, " "], - [2823, 0, "t"], - [2824, 0, "h"], - [2825, 0, "e"], - [2826, 0, " "], - [2827, 0, "s"], - [2828, 0, "y"], - [2829, 0, "m"], - [2830, 0, "b"], - [2831, 0, "o"], - [2832, 0, "l"], - [2833, 0, " "], - [2834, 0, "$"], - [2835, 0, "\\"], - [2836, 0, "m"], - [2837, 0, "a"], - [2838, 0, "t"], - [2839, 0, "h"], - [2840, 0, "s"], - [2841, 0, "f"], - [2842, 0, "{"], - [2843, 0, "t"], - [2844, 0, "a"], - [2845, 0, "i"], - [2846, 0, "l"], - [2847, 0, "}"], - [2848, 0, "$"], - [2849, 0, ","], - [2850, 0, " "], - [2851, 0, "d"], - [2852, 0, "e"], - [2853, 0, "n"], - [2854, 0, "o"], - [2855, 0, "t"], - [2856, 0, "i"], - [2857, 0, "n"], - [2858, 0, "g"], - [2859, 0, " "], - [2860, 0, "t"], - [2861, 0, "h"], - [2862, 0, "e"], - [2863, 0, " "], - [2864, 0, "e"], - [2865, 0, "n"], - [2866, 0, "d"], - [2867, 0, " "], - [2868, 0, "o"], - [2869, 0, "f"], - [2870, 0, " "], - [2871, 0, "t"], - [2872, 0, "h"], - [2873, 0, "e"], - [2874, 0, " "], - [2875, 0, "l"], - [2876, 0, "i"], - [2877, 0, "s"], - [2878, 0, "t"], - [2879, 0, "."], - [2880, 0, "\n"], - [2881, 0, "\n"], - [2882, 1], - [3054, 1], - [3054, 0, "."], - [3055, 0, " "], - [3212, 1], - [3211, 1], - [3210, 1], - [3209, 1], - [3208, 1], - [3207, 1], - [3206, 1], - [3205, 1], - [3204, 1], - [3203, 1], - [3202, 1], - [3201, 1], - [3200, 1], - [3199, 1], - [3198, 1], - [3197, 1], - [3196, 1], - [3195, 1], - [3194, 1], - [3193, 1], - [3192, 1], - [3191, 1], - [3190, 1], - [3189, 1], - [3188, 1], - [3187, 1], - [3186, 1], - [3185, 1], - [3184, 1], - [3183, 1], - [3182, 1], - [3181, 1], - [3180, 1], - [3179, 1], - [3178, 1], - [3177, 1], - [3176, 1], - [3175, 1], - [3174, 1], - [3173, 1], - [3172, 1], - [3171, 1], - [3170, 1], - [3169, 1], - [3168, 1], - [3167, 1], - [3166, 1], - [3165, 1], - [3164, 1], - [3163, 1], - [3162, 1], - [3161, 1], - [3160, 1], - [3159, 1], - [3158, 1], - [3157, 1], - [3156, 1], - [3155, 1], - [3154, 1], - [3153, 1], - [3152, 1], - [3151, 1], - [3150, 1], - [3149, 1], - [3148, 1], - [3147, 1], - [3146, 1], - [3145, 1], - [3144, 1], - [3143, 1], - [3142, 1], - [3141, 1], - [3140, 1], - [3139, 1], - [3138, 1], - [3137, 1], - [3136, 1], - [3135, 1], - [3134, 1], - [3133, 1], - [3132, 1], - [3131, 1], - [3130, 1], - [3129, 1], - [3128, 1], - [3127, 1], - [3126, 1], - [3125, 1], - [3124, 1], - [3123, 1], - [3122, 1], - [3121, 1], - [3120, 1], - [3119, 1], - [3118, 1], - [3117, 1], - [3116, 1], - [3115, 1], - [3114, 1], - [3113, 1], - [3112, 1], - [3111, 1], - [3110, 1], - [3109, 1], - [3108, 1], - [3107, 1], - [3106, 1], - [3105, 1], - [3104, 1], - [3103, 1], - [3102, 1], - [3101, 1], - [3100, 1], - [3099, 1], - [3098, 1], - [3097, 1], - [3096, 1], - [3095, 1], - [3094, 1], - [3093, 1], - [3092, 1], - [3091, 1], - [3090, 1], - [3089, 1], - [3088, 1], - [3087, 1], - [3086, 1], - [3085, 1], - [3084, 1], - [3083, 1], - [3082, 1], - [3081, 1], - [3080, 1], - [3079, 1], - [3078, 1], - [3077, 1], - [3076, 1], - [3075, 1], - [3074, 1], - [3073, 1], - [3072, 1], - [3071, 1], - [3070, 1], - [3069, 1], - [3068, 1], - [3067, 1], - [3066, 1], - [3065, 1], - [3064, 1], - [3063, 1], - [3062, 1], - [3061, 1], - [3060, 1], - [3059, 1], - [3058, 1], - [2880, 0, " "], - [2881, 0, "$"], - [2882, 0, "\\"], - [2883, 0, "m"], - [2884, 0, "a"], - [2885, 0, "t"], - [2886, 0, "h"], - [2887, 0, "i"], - [2888, 0, "t"], - [2889, 0, "{"], - [2890, 0, "v"], - [2891, 0, "a"], - [2892, 0, "l"], - [2893, 0, "u"], - [2894, 0, "e"], - [2895, 0, "}"], - [2896, 0, "$"], - [2897, 0, " "], - [2898, 0, "i"], - [2899, 0, "s"], - [2900, 0, " "], - [2901, 0, "a"], - [2902, 0, "n"], - [2903, 0, "y"], - [2904, 0, " "], - [2905, 0, "v"], - [2906, 0, "a"], - [2907, 0, "l"], - [2908, 0, "u"], - [2909, 0, "e"], - [2910, 0, " "], - [2911, 0, "o"], - [2912, 0, "f"], - [2913, 0, " "], - [2914, 0, "t"], - [2915, 0, "h"], - [2916, 0, "e"], - [2917, 0, " "], - [2918, 0, "d"], - [2919, 0, "a"], - [2920, 0, "t"], - [2921, 0, "a"], - [2922, 0, "t"], - [2923, 0, "y"], - [2924, 0, "p"], - [2925, 0, "e"], - [2926, 0, " "], - [2927, 0, "o"], - [2928, 0, "f"], - [2929, 0, " "], - [2930, 0, "l"], - [2931, 0, "i"], - [2932, 0, "s"], - [2933, 0, "t"], - [2934, 0, " "], - [2935, 0, "e"], - [2936, 0, "l"], - [2937, 0, "e"], - [2938, 0, "m"], - [2939, 0, "e"], - [2940, 0, "n"], - [2941, 0, "t"], - [2942, 0, "s"], - [2943, 0, ","], - [2944, 0, " "], - [2945, 0, "o"], - [2946, 0, "r"], - [2947, 0, " "], - [2948, 0, "t"], - [2949, 0, "h"], - [2950, 0, "e"], - [2951, 0, " "], - [2952, 0, "s"], - [2953, 0, "p"], - [2954, 0, "e"], - [2955, 0, "c"], - [2956, 0, "i"], - [2957, 0, "a"], - [2958, 0, "l"], - [2959, 0, " "], - [2960, 0, "v"], - [2961, 0, "a"], - [2962, 0, "l"], - [2963, 0, "u"], - [2964, 0, "e"], - [2965, 0, " "], - [2966, 0, "$"], - [2967, 0, "\\"], - [2968, 0, "b"], - [2969, 0, "o"], - [2970, 0, "t"], - [2971, 0, "$"], - [2972, 0, ","], - [2973, 0, " "], - [2974, 0, "i"], - [2975, 0, "n"], - [2976, 0, "d"], - [2977, 0, "i"], - [2978, 0, "c"], - [2979, 0, "a"], - [2980, 0, "t"], - [2981, 0, "i"], - [2982, 0, "n"], - [2983, 0, "g"], - [2984, 0, " "], - [2985, 0, "t"], - [2986, 0, "h"], - [2987, 0, "e"], - [2988, 0, " "], - [2989, 0, "a"], - [2990, 0, "b"], - [2991, 0, "s"], - [2992, 0, "e"], - [2993, 0, "n"], - [2994, 0, "c"], - [2995, 0, "e"], - [2996, 0, " "], - [2997, 0, "o"], - [2998, 0, "f"], - [2999, 0, " "], - [3000, 0, "a"], - [3001, 0, " "], - [3002, 0, "v"], - [3003, 0, "a"], - [3004, 0, "l"], - [3005, 0, "u"], - [3006, 0, "e"], - [3007, 0, "."], - [4203, 0, "\n"], - [4204, 0, "w"], - [4205, 0, "h"], - [4206, 0, "e"], - [4207, 0, "r"], - [4208, 0, "e"], - [4209, 0, " "], - [4210, 0, "$"], - [4211, 0, "<"], - [4212, 0, "$"], - [4213, 0, " "], - [4214, 0, "i"], - [4215, 0, "s"], - [4216, 0, " "], - [4217, 0, "t"], - [4218, 0, "h"], - [4219, 0, "e"], - [4220, 0, " "], - [4221, 0, "t"], - [4222, 0, "o"], - [4223, 0, "t"], - [4224, 0, "a"], - [4225, 0, "l"], - [4226, 0, " "], - [4227, 0, "o"], - [4228, 0, "r"], - [4229, 0, "d"], - [4230, 0, "e"], - [4231, 0, "r"], - [4232, 0, " "], - [4233, 0, "o"], - [4234, 0, "n"], - [4235, 0, " "], - [4236, 0, "L"], - [4237, 0, "a"], - [4238, 0, "m"], - [4239, 0, "p"], - [4240, 0, "o"], - [4241, 0, "r"], - [4242, 0, "t"], - [4243, 0, " "], - [4244, 0, "t"], - [4245, 0, "i"], - [4246, 0, "m"], - [4247, 0, "e"], - [4248, 0, "s"], - [4249, 0, "t"], - [4250, 0, "a"], - [4251, 0, "m"], - [4252, 0, "p"], - [4253, 0, "s"], - [4254, 0, ","], - [4255, 0, " "], - [4256, 0, "w"], - [4257, 0, "i"], - [4258, 0, "t"], - [4259, 0, "h"], - [4260, 0, " "], - [4261, 0, "t"], - [4262, 0, "h"], - [4263, 0, "e"], - [4264, 0, " "], - [4265, 0, "a"], - [4266, 0, "d"], - [4267, 0, "d"], - [4268, 0, "i"], - [4269, 0, "t"], - [4270, 0, "i"], - [4271, 0, "o"], - [4272, 0, "n"], - [4273, 0, " "], - [4274, 0, "t"], - [4275, 0, "h"], - [4276, 0, "a"], - [4277, 0, "t"], - [4278, 0, " "], - [4279, 0, "$"], - [4280, 0, "\\"], - [4281, 0, "m"], - [4282, 0, "a"], - [4283, 0, "t"], - [4284, 0, "h"], - [4285, 0, "s"], - [4286, 0, "f"], - [4287, 0, "{"], - [4288, 0, "t"], - [4289, 0, "a"], - [4290, 0, "i"], - [4291, 0, "l"], - [4292, 0, "}"], - [4293, 0, " "], - [4294, 0, "<"], - [4295, 0, " "], - [4296, 0, "("], - [4297, 0, "c"], - [4298, 0, ","], - [4299, 0, " "], - [4300, 0, "p"], - [4301, 0, ")"], - [4302, 0, " "], - [4303, 0, "<"], - [4304, 0, " "], - [4305, 0, "m"], - [4306, 0, "a"], - [4306, 1], - [4305, 1], - [4305, 0, "\\"], - [4306, 0, "m"], - [4307, 0, "a"], - [4308, 0, "t"], - [4309, 0, "h"], - [4310, 0, "s"], - [4311, 0, "f"], - [4312, 0, "{"], - [4313, 0, "h"], - [4314, 0, "e"], - [4315, 0, "a"], - [4316, 0, "d"], - [4317, 0, "}"], - [4318, 0, "$"], - [4319, 0, " "], - [4320, 0, "f"], - [4321, 0, "o"], - [4322, 0, "r"], - [4323, 0, " "], - [4324, 0, "a"], - [4325, 0, "n"], - [4326, 0, "y"], - [4327, 0, " "], - [4328, 0, "L"], - [4329, 0, "a"], - [4330, 0, "m"], - [4331, 0, "p"], - [4332, 0, "o"], - [4333, 0, "r"], - [4334, 0, "t"], - [4335, 0, " "], - [4336, 0, "t"], - [4337, 0, "i"], - [4338, 0, "m"], - [4339, 0, "e"], - [4340, 0, "s"], - [4341, 0, "t"], - [4342, 0, "a"], - [4343, 0, "m"], - [4344, 0, "p"], - [4345, 0, " "], - [4346, 0, "("], - [4346, 1], - [4346, 0, "$"], - [4347, 0, "("], - [4348, 0, "c"], - [4349, 0, ","], - [4350, 0, " "], - [4351, 0, "p"], - [4352, 0, ")"], - [4353, 0, "$"], - [4354, 0, "."], - [4111, 0, "\\"], - [4112, 0, "q"], - [4113, 0, "u"], - [4114, 0, "a"], - [4115, 0, "d"], - [3934, 0, "\\"], - [3935, 0, "q"], - [3936, 0, "u"], - [3937, 0, "a"], - [3938, 0, "d"], - [3298, 0, "\n"], - [3299, 0, "\n"], - [3300, 0, "L"], - [3301, 0, "i"], - [3302, 0, "s"], - [3303, 0, "t"], - [3304, 0, " "], - [3305, 0, "i"], - [3306, 0, "t"], - [3307, 0, "e"], - [3308, 0, "m"], - [3309, 0, "s"], - [3310, 0, " "], - [3311, 0, "a"], - [3312, 0, "r"], - [3313, 0, "e"], - [3314, 0, " "], - [3315, 0, "i"], - [3316, 0, "n"], - [3317, 0, "s"], - [3318, 0, "e"], - [3319, 0, "r"], - [3320, 0, "t"], - [3321, 0, "e"], - [3322, 0, "d"], - [3323, 0, " "], - [3323, 1], - [3322, 1], - [3321, 1], - [3320, 1], - [3319, 1], - [3318, 1], - [3317, 1], - [3316, 1], - [3315, 1], - [3314, 1], - [3313, 1], - [3312, 1], - [3311, 1], - [3310, 1], - [3309, 1], - [3308, 1], - [3307, 1], - [3306, 1], - [3305, 1], - [3304, 1], - [3303, 1], - [3302, 1], - [3301, 1], - [3300, 1], - [3300, 0, "E"], - [3301, 0, "a"], - [3302, 0, "c"], - [3303, 0, "h"], - [3304, 0, " "], - [3305, 0, "l"], - [3306, 0, "i"], - [3307, 0, "s"], - [3308, 0, "t"], - [3309, 0, " "], - [3310, 0, "i"], - [3311, 0, "t"], - [3312, 0, "e"], - [3313, 0, "m"], - [3314, 0, " "], - [3315, 0, "i"], - [3316, 0, "s"], - [3317, 0, " "], - [3318, 0, "u"], - [3319, 0, "n"], - [3320, 0, "i"], - [3321, 0, "q"], - [3322, 0, "u"], - [3323, 0, "e"], - [3324, 0, "l"], - [3325, 0, "y"], - [3326, 0, " "], - [3327, 0, "i"], - [3328, 0, "d"], - [3329, 0, "e"], - [3330, 0, "n"], - [3331, 0, "t"], - [3332, 0, "i"], - [3333, 0, "f"], - [3334, 0, "i"], - [3335, 0, "e"], - [3336, 0, "d"], - [3337, 0, " "], - [3338, 0, "b"], - [3339, 0, "y"], - [3340, 0, " "], - [3341, 0, "t"], - [3342, 0, "h"], - [3343, 0, "e"], - [3344, 0, " "], - [3345, 0, "L"], - [3346, 0, "a"], - [3347, 0, "m"], - [3348, 0, "p"], - [3349, 0, "o"], - [3350, 0, "r"], - [3351, 0, "t"], - [3352, 0, " "], - [3353, 0, "t"], - [3354, 0, "i"], - [3355, 0, "m"], - [3356, 0, "e"], - [3357, 0, "s"], - [3358, 0, "t"], - [3359, 0, "a"], - [3360, 0, "m"], - [3361, 0, "p"], - [3362, 0, " "], - [3363, 0, "o"], - [3364, 0, "f"], - [3365, 0, " "], - [3366, 0, "t"], - [3367, 0, "h"], - [3368, 0, "e"], - [3369, 0, " "], - [3370, 0, "\\"], - [3370, 1], - [3370, 0, "$"], - [3371, 0, "\\"], - [3372, 0, "m"], - [3373, 0, "a"], - [3374, 0, "t"], - [3375, 0, "h"], - [3376, 0, "s"], - [3377, 0, "f"], - [3378, 0, "{"], - [3379, 0, "i"], - [3380, 0, "n"], - [3381, 0, "s"], - [3382, 0, "e"], - [3383, 0, "r"], - [3384, 0, "t"], - [3385, 0, "}"], - [3386, 0, " "], - [3386, 1], - [3386, 0, "$"], - [3387, 0, " "], - [3388, 0, "o"], - [3389, 0, "p"], - [3390, 0, "e"], - [3391, 0, "r"], - [3392, 0, "a"], - [3393, 0, "t"], - [3394, 0, "i"], - [3395, 0, "o"], - [3396, 0, "n"], - [3397, 0, " "], - [3398, 0, "t"], - [3399, 0, "h"], - [3400, 0, "a"], - [3401, 0, "t"], - [3402, 0, " "], - [3403, 0, "i"], - [3404, 0, "n"], - [3405, 0, "s"], - [3406, 0, "e"], - [3407, 0, "r"], - [3408, 0, "t"], - [3409, 0, "e"], - [3410, 0, "d"], - [3411, 0, " "], - [3412, 0, "t"], - [3413, 0, "h"], - [3414, 0, "e"], - [3415, 0, " "], - [3416, 0, "i"], - [3417, 0, "t"], - [3418, 0, "e"], - [3419, 0, "m"], - [3420, 0, "."], - [3421, 0, " "], - [3422, 0, "T"], - [3423, 0, "h"], - [3313, 1], - [3312, 1], - [3311, 1], - [3310, 1], - [3310, 0, "e"], - [3311, 0, "l"], - [3312, 0, "e"], - [3313, 0, "m"], - [3314, 0, "e"], - [3315, 0, "n"], - [3316, 0, "t"], - [3422, 1], - [3421, 1], - [3420, 1], - [3419, 1], - [3418, 1], - [3417, 1], - [3416, 1], - [3415, 1], - [3415, 0, "i"], - [3416, 0, "t"], - [3413, 1], - [3412, 1], - [3411, 1], - [3410, 1], - [3409, 1], - [3408, 1], - [3407, 1], - [3406, 1], - [3406, 0, "c"], - [3407, 0, "r"], - [3408, 0, "e"], - [3409, 0, "a"], - [3410, 0, "t"], - [3411, 0, "e"], - [3412, 0, "d"], - [3419, 1], - [3418, 1], - [3418, 0, "W"], - [3419, 0, "e"], - [3420, 0, " "], - [3421, 0, "c"], - [3422, 0, "a"], - [3423, 0, "l"], - [3424, 0, "l"], - [3425, 0, " "], - [3426, 0, "t"], - [3427, 0, "h"], - [3428, 0, "e"], - [3429, 0, " "], - [3430, 0, "L"], - [3431, 0, "a"], - [3432, 0, "m"], - [3433, 0, "p"], - [3434, 0, "o"], - [3435, 0, "r"], - [3436, 0, "t"], - [3437, 0, " "], - [3438, 0, "t"], - [3439, 0, "i"], - [3440, 0, "m"], - [3441, 0, "e"], - [3442, 0, "s"], - [3443, 0, "t"], - [3444, 0, "a"], - [3445, 0, "m"], - [3446, 0, "p"], - [3447, 0, " "], - [3447, 1], - [3446, 1], - [3445, 1], - [3444, 1], - [3443, 1], - [3442, 1], - [3441, 1], - [3440, 1], - [3439, 1], - [3438, 1], - [3437, 1], - [3436, 1], - [3435, 1], - [3434, 1], - [3433, 1], - [3432, 1], - [3431, 1], - [3430, 1], - [3429, 1], - [3428, 1], - [3427, 1], - [3426, 1], - [3425, 1], - [3424, 1], - [3423, 1], - [3422, 1], - [3421, 1], - [3420, 1], - [3419, 1], - [3418, 1], - [3417, 1], - [3417, 0, " "], - [3417, 1], - [3299, 0, "\n"], - [3300, 0, "L"], - [3301, 0, "i"], - [3302, 0, "s"], - [3302, 1], - [3301, 1], - [3300, 1], - [3300, 0, "E"], - [3301, 0, "l"], - [3302, 0, "e"], - [3303, 0, "m"], - [3304, 0, "e"], - [3305, 0, "n"], - [3306, 0, "t"], - [3307, 0, " "], - [3307, 1], - [3306, 1], - [3305, 1], - [3304, 1], - [3303, 1], - [3302, 1], - [3301, 1], - [3300, 1], - [3300, 0, "A"], - [3301, 0, " "], - [3302, 0, "l"], - [3303, 0, "i"], - [3304, 0, "s"], - [3305, 0, "t"], - [3306, 0, " "], - [3307, 0, "e"], - [3308, 0, "l"], - [3309, 0, "e"], - [3310, 0, "m"], - [3311, 0, "e"], - [3312, 0, "n"], - [3313, 0, "t"], - [3314, 0, " "], - [3315, 0, "i"], - [3316, 0, "s"], - [3317, 0, " "], - [3318, 0, "c"], - [3319, 0, "r"], - [3320, 0, "e"], - [3321, 0, "a"], - [3322, 0, "t"], - [3323, 0, "e"], - [3324, 0, "d"], - [3325, 0, " "], - [3326, 0, "w"], - [3327, 0, "i"], - [3328, 0, "t"], - [3329, 0, "h"], - [3330, 0, " "], - [3331, 0, "a"], - [3332, 0, "n"], - [3333, 0, " "], - [3334, 0, "$"], - [3335, 0, "\\"], - [3336, 0, "m"], - [3337, 0, "a"], - [3338, 0, "t"], - [3339, 0, "h"], - [3340, 0, "s"], - [3341, 0, "f"], - [3342, 0, "{"], - [3343, 0, "i"], - [3344, 0, "n"], - [3345, 0, "s"], - [3346, 0, "e"], - [3347, 0, "r"], - [3348, 0, "t"], - [3349, 0, "}"], - [3350, 0, "$"], - [3351, 0, " "], - [3352, 0, "o"], - [3353, 0, "p"], - [3354, 0, "e"], - [3355, 0, "r"], - [3356, 0, "a"], - [3357, 0, "t"], - [3358, 0, "i"], - [3359, 0, "o"], - [3360, 0, "n"], - [3361, 0, "."], - [3362, 0, " "], - [3363, 0, "S"], - [3364, 0, "i"], - [3365, 0, "n"], - [3366, 0, "c"], - [3367, 0, "e"], - [3368, 0, " "], - [3369, 0, "e"], - [3370, 0, "a"], - [3371, 0, "c"], - [3372, 0, "h"], - [3373, 0, " "], - [3374, 0, "o"], - [3375, 0, "p"], - [3376, 0, "e"], - [3377, 0, "r"], - [3378, 0, "a"], - [3379, 0, "t"], - [3380, 0, "i"], - [3381, 0, "o"], - [3382, 0, "n"], - [3383, 0, " "], - [3384, 0, "h"], - [3385, 0, "a"], - [3386, 0, "s"], - [3387, 0, " "], - [3388, 0, "a"], - [3389, 0, " "], - [3390, 0, "L"], - [3391, 0, "a"], - [3392, 0, "m"], - [3393, 0, "p"], - [3394, 0, "o"], - [3395, 0, "r"], - [3396, 0, "t"], - [3397, 0, " "], - [3398, 0, "t"], - [3399, 0, "i"], - [3400, 0, "m"], - [3401, 0, "e"], - [3402, 0, "s"], - [3403, 0, "t"], - [3404, 0, "a"], - [3405, 0, "m"], - [3406, 0, "p"], - [3407, 0, ","], - [3408, 0, " "], - [3409, 0, "a"], - [3410, 0, " "], - [3411, 0, "l"], - [3412, 0, "i"], - [3413, 0, "s"], - [3414, 0, "t"], - [3415, 0, " "], - [3416, 0, "e"], - [3417, 0, "l"], - [3418, 0, "e"], - [3419, 0, "m"], - [3420, 0, "e"], - [3421, 0, "n"], - [3422, 0, "t"], - [3423, 0, " "], - [3424, 0, "c"], - [3425, 0, "a"], - [3426, 0, "n"], - [3427, 0, " "], - [3428, 0, "b"], - [3429, 0, "e"], - [3430, 0, " "], - [3430, 1], - [3429, 1], - [3428, 1], - [3427, 1], - [3426, 1], - [3425, 1], - [3424, 1], - [3441, 1], - [3440, 1], - [3439, 1], - [3438, 1], - [3437, 1], - [3436, 1], - [3435, 1], - [3434, 1], - [3433, 1], - [3432, 1], - [3431, 1], - [3430, 1], - [3429, 1], - [3428, 1], - [3427, 1], - [3426, 1], - [3425, 1], - [3424, 1], - [3423, 1], - [3460, 1], - [3459, 1], - [3458, 1], - [3457, 1], - [3456, 1], - [3455, 1], - [3454, 1], - [3453, 1], - [3452, 1], - [3451, 1], - [3450, 1], - [3450, 0, "i"], - [3451, 0, "t"], - [3452, 0, "s"], - [3463, 0, ","], - [3464, 0, " "], - [3465, 0, "w"], - [3466, 0, "h"], - [3467, 0, "i"], - [3468, 0, "c"], - [3469, 0, "h"], - [3470, 0, " "], - [3471, 0, "r"], - [3472, 0, "e"], - [3473, 0, "m"], - [3474, 0, "a"], - [3475, 0, "i"], - [3476, 0, "n"], - [3477, 0, "s"], - [3478, 0, " "], - [3479, 0, "i"], - [3480, 0, "m"], - [3481, 0, "m"], - [3482, 0, "u"], - [3483, 0, "t"], - [3484, 0, "a"], - [3485, 0, "b"], - [3486, 0, "l"], - [3487, 0, "e"], - [3488, 0, "."], - [3488, 0, " "], - [3489, 0, "f"], - [3490, 0, "o"], - [3491, 0, "r"], - [3492, 0, " "], - [3493, 0, "t"], - [3494, 0, "h"], - [3495, 0, "e"], - [3496, 0, " "], - [3497, 0, "l"], - [3498, 0, "i"], - [3499, 0, "f"], - [3500, 0, "e"], - [3501, 0, "t"], - [3502, 0, "i"], - [3503, 0, "m"], - [3504, 0, "e"], - [3505, 0, " "], - [3506, 0, "o"], - [3507, 0, "f"], - [3508, 0, " "], - [3509, 0, "t"], - [3510, 0, "h"], - [3511, 0, "e"], - [3512, 0, " "], - [3513, 0, "d"], - [3514, 0, "o"], - [3515, 0, "c"], - [3516, 0, "u"], - [3517, 0, "m"], - [3518, 0, "e"], - [3519, 0, "n"], - [3520, 0, "t"], - [3522, 0, " "], - [3523, 0, "W"], - [3524, 0, "e"], - [3525, 0, " "], - [3526, 0, "c"], - [3527, 0, "a"], - [3528, 0, "l"], - [3529, 0, "l"], - [3530, 0, " "], - [3531, 0, "t"], - [3532, 0, "h"], - [3533, 0, "a"], - [3534, 0, "t"], - [3535, 0, " "], - [3536, 0, "L"], - [3537, 0, "a"], - [3538, 0, "m"], - [3539, 0, "p"], - [3540, 0, "o"], - [3541, 0, "r"], - [3542, 0, "t"], - [3543, 0, " "], - [3544, 0, "t"], - [3545, 0, "i"], - [3546, 0, "m"], - [3547, 0, "e"], - [3548, 0, "s"], - [3549, 0, "t"], - [3550, 0, "a"], - [3551, 0, "m"], - [3552, 0, "p"], - [3553, 0, " "], - [3554, 0, "t"], - [3555, 0, "h"], - [3556, 0, "e"], - [3557, 0, " "], - [3558, 0, "I"], - [3559, 0, "D"], - [3560, 0, " "], - [3561, 0, "o"], - [3562, 0, "f"], - [3563, 0, " "], - [3564, 0, "t"], - [3565, 0, "h"], - [3566, 0, "e"], - [3567, 0, " "], - [3568, 0, "l"], - [3569, 0, "i"], - [3570, 0, "s"], - [3571, 0, "t"], - [3572, 0, " "], - [3573, 0, "e"], - [3574, 0, "l"], - [3575, 0, "e"], - [3576, 0, "m"], - [3577, 0, "e"], - [3578, 0, "n"], - [3579, 0, "t"], - [3580, 0, "."], - [3632, 1], - [3631, 1], - [3630, 1], - [3629, 1], - [3628, 1], - [3627, 1], - [3626, 1], - [3625, 1], - [3624, 1], - [3623, 1], - [3622, 1], - [3621, 1], - [3620, 1], - [3619, 1], - [3618, 1], - [3617, 1], - [3616, 1], - [3615, 1], - [3614, 1], - [3613, 1], - [3612, 1], - [3611, 1], - [3610, 1], - [3609, 1], - [3608, 1], - [3607, 1], - [3606, 1], - [3605, 1], - [3604, 1], - [3603, 1], - [3602, 1], - [3601, 1], - [3600, 1], - [3599, 1], - [3598, 1], - [3597, 1], - [3596, 1], - [3595, 1], - [3594, 1], - [3593, 1], - [3592, 1], - [3591, 1], - [3590, 1], - [3589, 1], - [3588, 1], - [3587, 1], - [3586, 1], - [3585, 1], - [3584, 1], - [3583, 1], - [3582, 1], - [3581, 1], - [4566, 0, "a"], - [4567, 0, "l"], - [4568, 0, " "], - [4569, 0, "r"], - [4570, 0, "e"], - [4571, 0, "q"], - [4572, 0, "u"], - [4573, 0, "i"], - [4574, 0, "r"], - [4575, 0, "e"], - [4576, 0, "m"], - [4577, 0, "e"], - [4578, 0, "n"], - [4579, 0, "t"], - [4624, 1], - [4623, 1], - [4622, 1], - [4621, 1], - [4620, 1], - [4619, 1], - [4618, 1], - [4617, 1], - [4616, 1], - [4615, 1], - [4614, 1], - [4613, 1], - [4612, 1], - [4611, 1], - [4610, 1], - [4609, 1], - [5350, 0, "\n"], - [5351, 0, "\n"], - [5352, 0, "T"], - [5353, 0, "h"], - [5354, 0, "e"], - [5355, 0, " "], - [5356, 0, "u"], - [5357, 0, "s"], - [5358, 0, "e"], - [5359, 0, "r"], - [5360, 0, " "], - [5361, 0, "v"], - [5362, 0, "i"], - [5363, 0, "e"], - [5364, 0, "w"], - [5365, 0, " "], - [5366, 0, "o"], - [5367, 0, "f"], - [5368, 0, " "], - [5369, 0, "a"], - [5370, 0, " "], - [5371, 0, "l"], - [5372, 0, "i"], - [5373, 0, "s"], - [5374, 0, "t"], - [5375, 0, " "], - [5376, 0, "A"], - [5377, 0, " "], - [5378, 0, "i"], - [5379, 0, "t"], - [5380, 0, "e"], - [5381, 0, "r"], - [5382, 0, "a"], - [5383, 0, "t"], - [5384, 0, "e"], - [5385, 0, "s"], - [5386, 0, " "], - [5387, 0, "o"], - [5388, 0, "v"], - [5389, 0, "e"], - [5390, 0, "r"], - [5391, 0, " "], - [5392, 0, "t"], - [5393, 0, "h"], - [5394, 0, "e"], - [5395, 0, " "], - [5396, 0, "l"], - [5397, 0, "i"], - [5398, 0, "s"], - [5399, 0, "t"], - [5400, 0, " "], - [5401, 0, "e"], - [5402, 0, "l"], - [5403, 0, "e"], - [5404, 0, "m"], - [5405, 0, "e"], - [5406, 0, "n"], - [5407, 0, "t"], - [5408, 0, "s"], - [5409, 0, " "], - [5410, 0, "f"], - [5411, 0, "r"], - [5412, 0, "o"], - [5413, 0, "m"], - [5414, 0, " "], - [5415, 0, "\\"], - [5415, 1], - [5415, 0, "$"], - [5416, 0, "\\"], - [5417, 0, "m"], - [5418, 0, "a"], - [5419, 0, "t"], - [5420, 0, "h"], - [5421, 0, "s"], - [5422, 0, "f"], - [5423, 0, "{"], - [5424, 0, "h"], - [5425, 0, "e"], - [5426, 0, "a"], - [5427, 0, "d"], - [5428, 0, "}"], - [5429, 0, "$"], - [5430, 0, " "], - [5431, 0, "t"], - [5432, 0, "o"], - [5433, 0, " "], - [5434, 0, "$"], - [5435, 0, "\\"], - [5436, 0, "m"], - [5437, 0, "a"], - [5438, 0, "t"], - [5439, 0, "h"], - [5440, 0, "s"], - [5441, 0, "f"], - [5442, 0, "{"], - [5443, 0, "t"], - [5444, 0, "a"], - [5445, 0, "i"], - [5446, 0, "l"], - [5447, 0, "}"], - [5448, 0, "$"], - [5449, 0, ","], - [5450, 0, " "], - [5451, 0, "s"], - [5452, 0, "k"], - [5453, 0, "i"], - [5454, 0, "p"], - [5455, 0, "p"], - [5456, 0, "i"], - [5457, 0, "n"], - [5458, 0, "g"], - [5459, 0, " "], - [5460, 0, "a"], - [5461, 0, "n"], - [5462, 0, "y"], - [5463, 0, " "], - [5464, 0, "d"], - [5465, 0, "e"], - [5466, 0, "l"], - [5467, 0, "e"], - [5468, 0, "t"], - [5469, 0, "e"], - [5470, 0, "d"], - [5471, 0, " "], - [5472, 0, "e"], - [5473, 0, "l"], - [5474, 0, "e"], - [5475, 0, "m"], - [5476, 0, "e"], - [5477, 0, "n"], - [5478, 0, "t"], - [5479, 0, "s"], - [5480, 0, " "], - [5481, 0, "("], - [5482, 0, "t"], - [5483, 0, "o"], - [5484, 0, "m"], - [5485, 0, "b"], - [5486, 0, "s"], - [5487, 0, "t"], - [5488, 0, "o"], - [5489, 0, "n"], - [5490, 0, "e"], - [5491, 0, "s"], - [5492, 0, ")"], - [5493, 0, ":"], - [5494, 0, "\n"], - [5495, 0, "\\"], - [5496, 0, "b"], - [5497, 0, "e"], - [5498, 0, "g"], - [5499, 0, "i"], - [5500, 0, "n"], - [5501, 0, "{"], - [5502, 0, "a"], - [5503, 0, "l"], - [5504, 0, "i"], - [5505, 0, "g"], - [5506, 0, "n"], - [5507, 0, "*"], - [5508, 0, "}"], - [5509, 0, "\n"], - [5510, 0, "\\"], - [5511, 0, "e"], - [5512, 0, "n"], - [5513, 0, "d"], - [5514, 0, "{"], - [5515, 0, "a"], - [5516, 0, "l"], - [5517, 0, "i"], - [5518, 0, "g"], - [5519, 0, "n"], - [5520, 0, "*"], - [5521, 0, "}"], - [5509, 0, "\n"], - [5510, 0, "\\"], - [5511, 0, "m"], - [5512, 0, "a"], - [5513, 0, "t"], - [5514, 0, "h"], - [5515, 0, "r"], - [5516, 0, "m"], - [5517, 0, "("], - [5517, 1], - [5517, 0, "{"], - [5518, 0, "v"], - [5519, 0, "i"], - [5520, 0, "e"], - [5521, 0, "w"], - [5522, 0, "}"], - [5523, 0, "("], - [5524, 0, "A"], - [5525, 0, ")"], - [5526, 0, " "], - [5527, 0, "="], - [5528, 0, " "], - [5529, 0, "\\"], - [5530, 0, "a"], - [5531, 0, "t"], - [5531, 1], - [5530, 1], - [5530, 0, "m"], - [5531, 0, "a"], - [5532, 0, "t"], - [5533, 0, "h"], - [5534, 0, "r"], - [5535, 0, "m"], - [5536, 0, "{"], - [5537, 0, "i"], - [5538, 0, "t"], - [5539, 0, "e"], - [5540, 0, "r"], - [5541, 0, "}"], - [5542, 0, "("], - [5543, 0, "A"], - [5544, 0, ","], - [5545, 0, " "], - [5546, 0, "\\"], - [5547, 0, "m"], - [5548, 0, "a"], - [5549, 0, "t"], - [5550, 0, "h"], - [5551, 0, "s"], - [5552, 0, "f"], - [5553, 0, "{"], - [5554, 0, "h"], - [5555, 0, "e"], - [5556, 0, "a"], - [5557, 0, "d"], - [5558, 0, "}"], - [5559, 0, ")"], - [5560, 0, " "], - [5561, 0, "\\"], - [5562, 0, "\\"], - [5527, 0, "&"], - [5564, 0, "\n"], - [5565, 0, "\\"], - [5566, 0, "m"], - [5567, 0, "a"], - [5568, 0, "t"], - [5569, 0, "h"], - [5570, 0, "r"], - [5571, 0, "m"], - [5572, 0, "{"], - [5573, 0, "i"], - [5574, 0, "t"], - [5575, 0, "e"], - [5576, 0, "r"], - [5577, 0, "}"], - [5578, 0, "("], - [5579, 0, "A"], - [5580, 0, ","], - [5581, 0, " "], - [5582, 0, "\\"], - [5583, 0, "m"], - [5584, 0, "a"], - [5585, 0, "t"], - [5586, 0, "h"], - [5587, 0, "i"], - [5588, 0, "t"], - [5589, 0, "{"], - [5590, 0, "I"], - [5590, 1], - [5590, 0, "i"], - [5591, 0, "d"], - [5592, 0, "}"], - [5593, 0, ")"], - [5594, 0, " "], - [5595, 0, "&"], - [5596, 0, "="], - [5597, 0, " "], - [5598, 0, "\\"], - [5599, 0, "b"], - [5600, 0, "e"], - [5601, 0, "g"], - [5602, 0, "i"], - [5603, 0, "n"], - [5604, 0, "{"], - [5605, 0, "c"], - [5606, 0, "a"], - [5607, 0, "s"], - [5608, 0, "e"], - [5609, 0, "s"], - [5610, 0, "}"], - [5611, 0, "\n"], - [5612, 0, "\\"], - [5613, 0, "e"], - [5614, 0, "n"], - [5615, 0, "d"], - [5616, 0, "["], - [5616, 1], - [5616, 0, "{"], - [5617, 0, "c"], - [5618, 0, "a"], - [5619, 0, "s"], - [5620, 0, "e"], - [5621, 0, "s"], - [5622, 0, "}"], - [5611, 0, "\n"], - [5612, 0, " "], - [5613, 0, " "], - [5614, 0, " "], - [5615, 0, " "], - [5616, 0, "["], - [5617, 0, "v"], - [5618, 0, "]"], - [5619, 0, " "], - [5620, 0, ":"], - [5621, 0, ":"], - [5622, 0, " "], - [5622, 1], - [5621, 1], - [5620, 1], - [5619, 1], - [5619, 0, " "], - [5620, 0, "\\"], - [5621, 0, "m"], - [5622, 0, "a"], - [5623, 0, "t"], - [5624, 0, "h"], - [5625, 0, "b"], - [5626, 0, "i"], - [5627, 0, "n"], - [5628, 0, "{"], - [5629, 0, ":"], - [5630, 0, ":"], - [5631, 0, "}"], - [5632, 0, " "], - [5633, 0, "\\"], - [5634, 0, "m"], - [5635, 0, "a"], - [5636, 0, "t"], - [5637, 0, "h"], - [5638, 0, "r"], - [5639, 0, "m"], - [5640, 0, "{"], - [5641, 0, "i"], - [5642, 0, "t"], - [5643, 0, "e"], - [5644, 0, "r"], - [5645, 0, "}"], - [5646, 0, "("], - [5647, 0, "A"], - [5648, 0, ","], - [5649, 0, " "], - [5650, 0, "n"], - [5651, 0, ")"], - [5652, 0, " "], - [5653, 0, "\\"], - [5654, 0, "q"], - [5655, 0, "u"], - [5656, 0, "a"], - [5657, 0, "d"], - [5658, 0, " "], - [5659, 0, "\\"], - [5660, 0, "t"], - [5661, 0, "e"], - [5662, 0, "x"], - [5663, 0, "t"], - [5664, 0, "{"], - [5665, 0, "i"], - [5666, 0, "f"], - [5667, 0, " "], - [5668, 0, "}"], - [5669, 0, ";"], - [5669, 1], - [5669, 0, "\\"], - [5670, 0, ";"], - [5671, 0, " "], - [5672, 0, "A"], - [5673, 0, "("], - [5674, 0, "\\"], - [5675, 0, "m"], - [5676, 0, "a"], - [5677, 0, "t"], - [5678, 0, "h"], - [5679, 0, "i"], - [5680, 0, "t"], - [5681, 0, "{"], - [5682, 0, "i"], - [5683, 0, "d"], - [5684, 0, "}"], - [5685, 0, ")"], - [5686, 0, " "], - [5687, 0, "="], - [5688, 0, " "], - [5689, 0, "("], - [5690, 0, "v"], - [5691, 0, ","], - [5692, 0, " "], - [5693, 0, "n"], - [5694, 0, ")"], - [5695, 0, " "], - [5696, 0, "\\"], - [5697, 0, ";"], - [5698, 0, "w"], - [5698, 1], - [5698, 0, "\\"], - [5699, 0, "w"], - [5700, 0, "e"], - [5701, 0, "d"], - [5702, 0, "g"], - [5703, 0, "e"], - [5704, 0, "\\"], - [5705, 0, ";"], - [5706, 0, " "], - [5707, 0, "v"], - [5708, 0, " "], - [5709, 0, "\\"], - [5710, 0, "n"], - [5711, 0, "e"], - [5712, 0, "q"], - [5713, 0, " "], - [5714, 0, "\\"], - [5715, 0, "b"], - [5716, 0, "o"], - [5717, 0, "t"], - [5718, 0, " "], - [5719, 0, "\\"], - [5720, 0, "\\"], - [5721, 0, "\n"], - [5722, 0, " "], - [5723, 0, " "], - [5724, 0, " "], - [5725, 0, " "], - [5726, 0, "\\"], - [5727, 0, "m"], - [5728, 0, "a"], - [5729, 0, "t"], - [5730, 0, "h"], - [5731, 0, "r"], - [5732, 0, "m"], - [5733, 0, "{"], - [5734, 0, "i"], - [5735, 0, "t"], - [5736, 0, "e"], - [5737, 0, "r"], - [5738, 0, "}"], - [5739, 0, "("], - [5740, 0, "A"], - [5741, 0, ","], - [5742, 0, " "], - [5743, 0, "n"], - [5744, 0, ")"], - [5745, 0, " "], - [5746, 0, "\\"], - [5747, 0, "q"], - [5748, 0, "u"], - [5749, 0, "a"], - [5750, 0, "d"], - [5751, 0, " "], - [5752, 0, "\\"], - [5753, 0, "t"], - [5754, 0, "e"], - [5755, 0, "x"], - [5756, 0, "t"], - [5726, 0, " "], - [5727, 0, " "], - [5728, 0, " "], - [5729, 0, " "], - [5730, 0, " "], - [5731, 0, " "], - [5732, 0, " "], - [5733, 0, " "], - [5734, 0, " "], - [5735, 0, " "], - [5736, 0, " "], - [5737, 0, " "], - [5738, 0, " "], - [5739, 0, " "], - [5740, 0, " "], - [5741, 0, " "], - [5742, 0, " "], - [5743, 0, " "], - [5744, 0, " "], - [5745, 0, " "], - [5746, 0, " "], - [5747, 0, " "], - [5748, 0, " "], - [5749, 0, " "], - [5750, 0, " "], - [5751, 0, " "], - [5752, 0, " "], - [5753, 0, " "], - [5754, 0, " "], - [5755, 0, " "], - [5755, 1], - [5754, 1], - [5753, 1], - [5752, 1], - [5751, 1], - [5750, 1], - [5749, 1], - [5748, 1], - [5747, 1], - [5746, 1], - [5745, 1], - [5744, 1], - [5743, 1], - [5774, 0, "{"], - [5775, 0, "i"], - [5776, 0, "f"], - [5777, 0, " "], - [5778, 0, "}"], - [5779, 0, "\\"], - [5780, 0, ";"], - [5781, 0, " "], - [5782, 0, "A"], - [5783, 0, "("], - [5784, 0, "\\"], - [5785, 0, "m"], - [5786, 0, "a"], - [5787, 0, "t"], - [5788, 0, "h"], - [5789, 0, "i"], - [5790, 0, "t"], - [5791, 0, "{"], - [5792, 0, "i"], - [5793, 0, "d"], - [5794, 0, "}"], - [5795, 0, ")"], - [5796, 0, " "], - [5797, 0, "="], - [5798, 0, " "], - [5799, 0, "("], - [5800, 0, "v"], - [5801, 0, ","], - [5802, 0, " "], - [5803, 0, "n"], - [5804, 0, ")"], - [5805, 0, " "], - [5806, 0, "\\"], - [5807, 0, ";"], - [5808, 0, "\\"], - [5809, 0, "w"], - [5810, 0, "e"], - [5811, 0, "d"], - [5812, 0, "g"], - [5813, 0, "e"], - [5814, 0, "\\"], - [5815, 0, ";"], - [5816, 0, " "], - [5817, 0, "v"], - [5818, 0, " "], - [5819, 0, "="], - [5820, 0, " "], - [5821, 0, "\\"], - [5822, 0, "b"], - [5823, 0, "o"], - [5824, 0, "t"], - [5825, 0, " "], - [5826, 0, "\\"], - [5827, 0, "\\"], - [5828, 0, "\n"], - [5829, 0, " "], - [5830, 0, " "], - [5831, 0, " "], - [5832, 0, " "], - [5833, 0, "p"], - [5833, 1], - [5833, 0, "["], - [5834, 0, "]"], - [5835, 0, " "], - [5836, 0, "\\"], - [5837, 0, "q"], - [5838, 0, "u"], - [5839, 0, "a"], - [5840, 0, "d"], - [5841, 0, " "], - [5842, 0, "\\"], - [5843, 0, "t"], - [5844, 0, "e"], - [5845, 0, "x"], - [5846, 0, "t"], - [5847, 0, "{"], - [5848, 0, "i"], - [5849, 0, "f"], - [5850, 0, " "], - [5851, 0, "}"], - [5852, 0, ";"], - [5852, 1], - [5852, 0, "\\"], - [5853, 0, ";"], - [5854, 0, " "], - [5855, 0, "\\"], - [5856, 0, "m"], - [5857, 0, "a"], - [5858, 0, "t"], - [5859, 0, "h"], - [5860, 0, "i"], - [5861, 0, "t"], - [5862, 0, "{"], - [5863, 0, "i"], - [5864, 0, "d"], - [5865, 0, "}"], - [5866, 0, " "], - [5867, 0, "="], - [5868, 0, " "], - [5869, 0, "\\"], - [5870, 0, "m"], - [5871, 0, "a"], - [5872, 0, "t"], - [5873, 0, "h"], - [5874, 0, "s"], - [5875, 0, "f"], - [5876, 0, "{"], - [5877, 0, "t"], - [5878, 0, "a"], - [5879, 0, "i"], - [5880, 0, "l"], - [5881, 0, "}"], - [5658, 1], - [5657, 1], - [5656, 1], - [5655, 1], - [5654, 1], - [5653, 1], - [5653, 0, "&"], - [5763, 1], - [5762, 1], - [5761, 1], - [5760, 1], - [5759, 1], - [5758, 1], - [5758, 0, "&"], - [5759, 0, " "], - [5654, 0, " "], - [5832, 1], - [5831, 1], - [5830, 1], - [5829, 1], - [5828, 1], - [5828, 0, "&"], - [5826, 0, "\\"], - [5827, 0, ","], - [5576, 1], - [5575, 1], - [5642, 1], - [5641, 1], - [5745, 1], - [5745, 1], - [5541, 1], - [5540, 1], - [5540, 0, "r"], - [5574, 0, "r"], - [5641, 0, "r"], - [5746, 0, "r"], - [5893, 0, "\n"], - [5894, 0, "\n"], - [5895, 0, "\\"], - [5896, 0, "s"], - [5897, 0, "u"], - [5898, 0, "b"], - [5899, 0, "s"], - [5900, 0, "e"], - [5901, 0, "c"], - [5902, 0, "t"], - [5903, 0, "i"], - [5904, 0, "o"], - [5905, 0, "n"], - [5906, 0, "{"], - [5907, 0, "C"], - [5908, 0, "o"], - [5909, 0, "n"], - [5910, 0, "v"], - [5911, 0, "e"], - [5912, 0, "r"], - [5913, 0, "g"], - [5914, 0, "e"], - [5915, 0, "n"], - [5916, 0, "c"], - [5917, 0, "e"], - [5918, 0, "}"], - [5919, 0, "\n"], - [5920, 0, "\n"], - [5921, 0, "W"], - [5922, 0, "e"], - [5923, 0, " "], - [5924, 0, "n"], - [5925, 0, "o"], - [5926, 0, "w"], - [5927, 0, " "], - [5928, 0, "p"], - [5929, 0, "r"], - [5930, 0, "o"], - [5931, 0, "v"], - [5932, 0, "e"], - [5933, 0, " "], - [5934, 0, "t"], - [5935, 0, "h"], - [5936, 0, "e"], - [5937, 0, " "], - [5938, 0, "c"], - [5939, 0, "o"], - [5940, 0, "n"], - [5941, 0, "v"], - [5942, 0, "e"], - [5943, 0, "r"], - [5944, 0, "g"], - [5945, 0, "e"], - [5946, 0, "n"], - [5947, 0, "c"], - [5948, 0, "e"], - [5949, 0, " "], - [5950, 0, "p"], - [5951, 0, "r"], - [5952, 0, "o"], - [5953, 0, "p"], - [5954, 0, "e"], - [5955, 0, "r"], - [5956, 0, "t"], - [5957, 0, "y"], - [5958, 0, ","], - [5959, 0, " "], - [5960, 0, "a"], - [5961, 0, "l"], - [5962, 0, "s"], - [5963, 0, "o"], - [5964, 0, " "], - [5965, 0, "k"], - [5966, 0, "n"], - [5967, 0, "o"], - [5968, 0, "w"], - [5969, 0, "n"], - [5970, 0, " "], - [5971, 0, "a"], - [5972, 0, "s"], - [5973, 0, " "], - [5974, 0, "\\"], - [5975, 0, "e"], - [5976, 0, "m"], - [5977, 0, "p"], - [5978, 0, "h"], - [5979, 0, "{"], - [5980, 0, "e"], - [5981, 0, "v"], - [5982, 0, "e"], - [5983, 0, "n"], - [5984, 0, "t"], - [5985, 0, "u"], - [5986, 0, "a"], - [5987, 0, "l"], - [5988, 0, " "], - [5989, 0, "c"], - [5990, 0, "o"], - [5991, 0, "n"], - [5992, 0, "s"], - [5993, 0, "i"], - [5994, 0, "s"], - [5995, 0, "t"], - [5996, 0, "e"], - [5997, 0, "n"], - [5998, 0, "c"], - [5999, 0, "y"], - [6000, 0, "}"], - [6001, 0, ","], - [6002, 0, " "], - [6003, 0, "f"], - [6004, 0, "o"], - [6005, 0, "r"], - [6006, 0, " "], - [6007, 0, "t"], - [6008, 0, "h"], - [6009, 0, "i"], - [6010, 0, "s"], - [6011, 0, " "], - [6012, 0, "d"], - [6013, 0, "a"], - [6014, 0, "t"], - [6015, 0, "a"], - [6016, 0, " "], - [6017, 0, "s"], - [6018, 0, "t"], - [6019, 0, "r"], - [6020, 0, "u"], - [6021, 0, "c"], - [6022, 0, "t"], - [6023, 0, "u"], - [6024, 0, "r"], - [6025, 0, "e"], - [6026, 0, "."], - [6027, 0, "\n"], - [6028, 0, "\n"], - [6029, 0, "\\"], - [6030, 0, "t"], - [6031, 0, "e"], - [6032, 0, "x"], - [6033, 0, "t"], - [6034, 0, "b"], - [6035, 0, "f"], - [6036, 0, "{"], - [6037, 0, "T"], - [6038, 0, "h"], - [6039, 0, "e"], - [6040, 0, "o"], - [6041, 0, "r"], - [6042, 0, "e"], - [6043, 0, "m"], - [6044, 0, "."], - [6045, 0, "}"], - [6046, 0, " "], - [6047, 0, "I"], - [6048, 0, "f"], - [6049, 0, " "], - [6050, 0, "t"], - [6051, 0, "w"], - [6052, 0, "o"], - [6053, 0, " "], - [6054, 0, "p"], - [6055, 0, "e"], - [6056, 0, "e"], - [6057, 0, "r"], - [6058, 0, "s"], - [6059, 0, " "], - [6060, 0, "p"], - [6061, 0, "r"], - [6062, 0, "o"], - [6063, 0, "c"], - [6064, 0, "e"], - [6065, 0, "s"], - [6066, 0, "s"], - [6067, 0, " "], - [6068, 0, "t"], - [6069, 0, "h"], - [6070, 0, "e"], - [6071, 0, " "], - [6072, 0, "s"], - [6073, 0, "a"], - [6074, 0, "m"], - [6075, 0, "e"], - [6076, 0, " "], - [6077, 0, "s"], - [6078, 0, "e"], - [6079, 0, "t"], - [6080, 0, " "], - [6081, 0, "o"], - [6082, 0, "f"], - [6083, 0, " "], - [6084, 0, "\\"], - [6084, 1], - [6084, 0, "$"], - [6085, 0, "\\"], - [6086, 0, "t"], - [6087, 0, "e"], - [6087, 1], - [6086, 1], - [6086, 0, "m"], - [6087, 0, "a"], - [6088, 0, "t"], - [6089, 0, "h"], - [6090, 0, "s"], - [6091, 0, "f"], - [6092, 0, "{"], - [6093, 0, "i"], - [6094, 0, "n"], - [6095, 0, "s"], - [6096, 0, "e"], - [6097, 0, "r"], - [6098, 0, "t"], - [6099, 0, "}"], - [6100, 0, "$"], - [6101, 0, " "], - [6102, 0, "a"], - [6103, 0, "n"], - [6104, 0, "d"], - [6105, 0, " "], - [6106, 0, "$"], - [6107, 0, "\\"], - [6108, 0, "m"], - [6109, 0, "a"], - [6110, 0, "t"], - [6111, 0, "h"], - [6112, 0, "s"], - [6113, 0, "f"], - [6114, 0, "{"], - [6115, 0, "d"], - [6116, 0, "e"], - [6117, 0, "l"], - [6118, 0, "e"], - [6119, 0, "t"], - [6120, 0, "e"], - [6121, 0, "}"], - [6122, 0, "$"], - [6123, 0, " "], - [6124, 0, "o"], - [6125, 0, "p"], - [6126, 0, "e"], - [6127, 0, "r"], - [6128, 0, "a"], - [6129, 0, "t"], - [6130, 0, "i"], - [6131, 0, "o"], - [6132, 0, "n"], - [6133, 0, "s"], - [6134, 0, ","], - [6135, 0, " "], - [6136, 0, "i"], - [6137, 0, "n"], - [6138, 0, " "], - [6139, 0, "d"], - [6140, 0, "i"], - [6141, 0, "f"], - [6142, 0, "f"], - [6143, 0, "e"], - [6144, 0, "r"], - [6145, 0, "e"], - [6146, 0, "n"], - [6147, 0, "t"], - [6148, 0, " "], - [6149, 0, "c"], - [6150, 0, "a"], - [6151, 0, "u"], - [6152, 0, "s"], - [6153, 0, "a"], - [6154, 0, "l"], - [6155, 0, "l"], - [6156, 0, "y"], - [6157, 0, " "], - [6158, 0, "c"], - [6159, 0, "o"], - [6160, 0, "n"], - [6161, 0, "s"], - [6162, 0, "i"], - [6163, 0, "s"], - [6164, 0, "t"], - [6165, 0, "e"], - [6166, 0, "n"], - [6167, 0, "t"], - [6168, 0, " "], - [6169, 0, "o"], - [6170, 0, "r"], - [6171, 0, "d"], - [6172, 0, "e"], - [6173, 0, "r"], - [6174, 0, "s"], - [6175, 0, ","], - [6176, 0, " "], - [6177, 0, "t"], - [6178, 0, "h"], - [6179, 0, "e"], - [6180, 0, "i"], - [6181, 0, "r"], - [6182, 0, " "], - [6183, 0, "f"], - [6184, 0, "i"], - [6185, 0, "n"], - [6186, 0, "a"], - [6187, 0, "l"], - [6188, 0, " "], - [6189, 0, "s"], - [6190, 0, "t"], - [6191, 0, "a"], - [6192, 0, "t"], - [6193, 0, "e"], - [6194, 0, " "], - [6195, 0, "i"], - [6196, 0, "s"], - [6197, 0, " "], - [6198, 0, "i"], - [6199, 0, "d"], - [6200, 0, "e"], - [6201, 0, "n"], - [6202, 0, "t"], - [6203, 0, "i"], - [6204, 0, "c"], - [6205, 0, "a"], - [6206, 0, "l"], - [6207, 0, "."], - [6208, 0, "\n"], - [6209, 0, "\n"], - [6177, 0, "t"], - [6178, 0, "h"], - [6179, 0, "e"], - [6180, 0, "n"], - [6181, 0, "b"], - [6182, 0, " "], - [6182, 1], - [6181, 1], - [6181, 0, " "], - [6199, 0, "s"], - [6202, 1], - [6201, 1], - [6201, 0, "a"], - [6202, 0, "r"], - [6203, 0, "e"], - [6200, 0, " "], - [6201, 0, "a"], - [6202, 0, "f"], - [6203, 0, "t"], - [6204, 0, "e"], - [6205, 0, "r"], - [6206, 0, " "], - [6207, 0, "p"], - [6208, 0, "r"], - [6209, 0, "o"], - [6210, 0, "c"], - [6211, 0, "e"], - [6212, 0, "s"], - [6213, 0, "s"], - [6214, 0, "i"], - [6215, 0, "n"], - [6216, 0, "g"], - [6217, 0, " "], - [6218, 0, "a"], - [6219, 0, "l"], - [6220, 0, "l"], - [6221, 0, " "], - [6222, 0, "o"], - [6223, 0, "p"], - [6224, 0, "e"], - [6225, 0, "r"], - [6226, 0, "a"], - [6227, 0, "t"], - [6228, 0, "i"], - [6229, 0, "o"], - [6230, 0, "n"], - [6231, 0, "s"], - [6231, 1], - [6230, 1], - [6229, 1], - [6228, 1], - [6227, 1], - [6226, 1], - [6225, 1], - [6224, 1], - [6223, 1], - [6222, 1], - [6221, 1], - [6220, 1], - [6219, 1], - [6218, 1], - [6217, 1], - [6216, 1], - [6215, 1], - [6214, 1], - [6213, 1], - [6212, 1], - [6211, 1], - [6210, 1], - [6209, 1], - [6208, 1], - [6207, 1], - [6206, 1], - [6205, 1], - [6204, 1], - [6203, 1], - [6202, 1], - [6201, 1], - [6200, 1], - [6217, 0, "W"], - [6218, 0, "e"], - [6219, 0, " "], - [6220, 0, "c"], - [6221, 0, "o"], - [6222, 0, "n"], - [6223, 0, "s"], - [6224, 0, "i"], - [6224, 1], - [6223, 1], - [6222, 1], - [6221, 1], - [6220, 1], - [6219, 1], - [6218, 1], - [6217, 1], - [6217, 0, "C"], - [6218, 0, "o"], - [6219, 0, "n"], - [6220, 0, "s"], - [6221, 0, "i"], - [6222, 0, "d"], - [6223, 0, "e"], - [6224, 0, "r"], - [6224, 1], - [6223, 1], - [6222, 1], - [6221, 1], - [6220, 1], - [6219, 1], - [6218, 1], - [6217, 1], - [6217, 0, "S"], - [6218, 0, "i"], - [6219, 0, "n"], - [6220, 0, "c"], - [6221, 0, "e"], - [6222, 0, " "], - [6223, 0, "e"], - [6224, 0, "a"], - [6225, 0, "c"], - [6226, 0, "h"], - [6227, 0, " "], - [6228, 0, "p"], - [6229, 0, "e"], - [6230, 0, "e"], - [6231, 0, "r"], - [6232, 0, " "], - [6233, 0, "p"], - [6234, 0, "r"], - [6235, 0, "o"], - [6236, 0, "c"], - [6237, 0, "e"], - [6238, 0, "s"], - [6239, 0, "s"], - [6240, 0, "e"], - [6241, 0, "s"], - [6242, 0, " "], - [6243, 0, "o"], - [6244, 0, "p"], - [6245, 0, "e"], - [6246, 0, "r"], - [6247, 0, "a"], - [6248, 0, "t"], - [6249, 0, "i"], - [6250, 0, "o"], - [6251, 0, "n"], - [6252, 0, "s"], - [6253, 0, " "], - [6254, 0, "i"], - [6255, 0, "n"], - [6256, 0, " "], - [6257, 0, "s"], - [6258, 0, "o"], - [6259, 0, "m"], - [6260, 0, "e"], - [6261, 0, " "], - [6262, 0, "s"], - [6263, 0, "e"], - [6264, 0, "q"], - [6265, 0, "u"], - [6266, 0, "e"], - [6267, 0, "n"], - [6268, 0, "t"], - [6269, 0, "i"], - [6270, 0, "a"], - [6271, 0, "l"], - [6272, 0, " "], - [6273, 0, "o"], - [6274, 0, "r"], - [6275, 0, "d"], - [6276, 0, "e"], - [6277, 0, "r"], - [6278, 0, ","], - [6279, 0, " "], - [6280, 0, "a"], - [6281, 0, "n"], - [6282, 0, "d"], - [6283, 0, " "], - [6284, 0, "t"], - [6285, 0, "h"], - [6286, 0, "e"], - [6287, 0, " "], - [6288, 0, "s"], - [6289, 0, "t"], - [6290, 0, "a"], - [6291, 0, "t"], - [6292, 0, "e"], - [6293, 0, " "], - [6294, 0, "o"], - [6295, 0, "f"], - [6296, 0, " "], - [6297, 0, "a"], - [6298, 0, " "], - [6299, 0, "p"], - [6300, 0, "e"], - [6301, 0, "e"], - [6302, 0, "r"], - [6303, 0, " "], - [6304, 0, "i"], - [6305, 0, "s"], - [6306, 0, " "], - [6307, 0, "m"], - [6308, 0, "o"], - [6309, 0, "d"], - [6310, 0, "i"], - [6311, 0, "f"], - [6312, 0, "i"], - [6313, 0, "e"], - [6314, 0, "d"], - [6315, 0, " "], - [6316, 0, "o"], - [6317, 0, "n"], - [6318, 0, "l"], - [6319, 0, "y"], - [6320, 0, " "], - [6321, 0, "b"], - [6322, 0, "y"], - [6323, 0, " "], - [6324, 0, "o"], - [6325, 0, "p"], - [6326, 0, "e"], - [6327, 0, "r"], - [6328, 0, "a"], - [6329, 0, "t"], - [6330, 0, "i"], - [6331, 0, "o"], - [6332, 0, "n"], - [6333, 0, "s"], - [6334, 0, ","], - [6335, 0, " "], - [6336, 0, "w"], - [6337, 0, "e"], - [6338, 0, " "], - [6339, 0, "c"], - [6340, 0, "a"], - [6341, 0, "n"], - [6342, 0, " "], - [6343, 0, "d"], - [6344, 0, "e"], - [6345, 0, "s"], - [6346, 0, "c"], - [6347, 0, "r"], - [6348, 0, "i"], - [6349, 0, "b"], - [6350, 0, "e"], - [6351, 0, " "], - [6351, 1], - [6350, 1], - [6349, 1], - [6348, 1], - [6347, 1], - [6346, 1], - [6345, 1], - [6345, 0, "r"], - [6346, 0, "i"], - [6347, 0, "v"], - [6348, 0, "e"], - [6349, 0, " "], - [6350, 0, "t"], - [6351, 0, "h"], - [6352, 0, "e"], - [6353, 0, " "], - [6354, 0, "s"], - [6355, 0, "t"], - [6356, 0, "a"], - [6357, 0, "t"], - [6358, 0, "e"], - [6359, 0, " "], - [6360, 0, "o"], - [6361, 0, "f"], - [6362, 0, " "], - [6363, 0, "a"], - [6364, 0, " "], - [6365, 0, "p"], - [6366, 0, "e"], - [6367, 0, "e"], - [6368, 0, "r"], - [6369, 0, " "], - [6370, 0, "b"], - [6371, 0, "y"], - [6372, 0, " "], - [6373, 0, "c"], - [6374, 0, "o"], - [6375, 0, "n"], - [6376, 0, "s"], - [6377, 0, "i"], - [6378, 0, "d"], - [6379, 0, "e"], - [6380, 0, "r"], - [6381, 0, "i"], - [6382, 0, "n"], - [6383, 0, "g"], - [6384, 0, " "], - [6385, 0, "t"], - [6386, 0, "h"], - [6387, 0, "e"], - [6388, 0, " "], - [6389, 0, "\\"], - [6390, 0, "e"], - [6391, 0, "m"], - [6392, 0, "p"], - [6393, 0, "h"], - [6394, 0, "{"], - [6395, 0, "h"], - [6396, 0, "i"], - [6397, 0, "s"], - [6398, 0, "t"], - [6399, 0, "o"], - [6400, 0, "r"], - [6401, 0, "y"], - [6402, 0, "}"], - [6403, 0, " "], - [6404, 0, "o"], - [6405, 0, "f"], - [6406, 0, " "], - [6407, 0, "o"], - [6408, 0, "p"], - [6050, 0, "a"], - [6051, 0, "n"], - [6052, 0, "y"], - [6053, 0, " "], - [6413, 0, "e"], - [6414, 0, "r"], - [6415, 0, "a"], - [6416, 0, "t"], - [6417, 0, "i"], - [6418, 0, "o"], - [6419, 0, "n"], - [6420, 0, "s"], - [6421, 0, " "], - [6422, 0, "a"], - [6423, 0, "t"], - [6424, 0, " "], - [6425, 0, "e"], - [6426, 0, "a"], - [6427, 0, "c"], - [6428, 0, "h"], - [6429, 0, " "], - [6430, 0, "p"], - [6431, 0, "e"], - [6432, 0, "e"], - [6433, 0, "r"], - [6434, 0, " "], - [6435, 0, "a"], - [6436, 0, "n"], - [6437, 0, "d"], - [6438, 0, " "], - [6439, 0, "a"], - [6440, 0, "p"], - [6441, 0, "p"], - [6442, 0, "l"], - [6443, 0, "y"], - [6444, 0, "i"], - [6445, 0, "n"], - [6446, 0, "g"], - [6447, 0, " "], - [6448, 0, "t"], - [6449, 0, "h"], - [6450, 0, "e"], - [6451, 0, " "], - [6452, 0, "o"], - [6453, 0, "p"], - [6454, 0, "e"], - [6455, 0, "r"], - [6456, 0, "a"], - [6457, 0, "t"], - [6458, 0, "i"], - [6459, 0, "o"], - [6460, 0, "n"], - [6461, 0, "s"], - [6462, 0, " "], - [6463, 0, "i"], - [6464, 0, "n"], - [6465, 0, " "], - [6466, 0, "t"], - [6467, 0, "h"], - [6468, 0, "e"], - [6469, 0, " "], - [6470, 0, "o"], - [6471, 0, "r"], - [6472, 0, "d"], - [6473, 0, "e"], - [6474, 0, "r"], - [6475, 0, " "], - [6476, 0, "o"], - [6477, 0, "f"], - [6478, 0, " "], - [6479, 0, "t"], - [6480, 0, "h"], - [6481, 0, "e"], - [6482, 0, " "], - [6483, 0, "h"], - [6484, 0, "i"], - [6485, 0, "s"], - [6486, 0, "t"], - [6487, 0, "o"], - [6488, 0, "r"], - [6489, 0, "y"], - [6490, 0, "."], - [6491, 0, "\n"], - [6492, 0, "\n"], - [6493, 0, "W"], - [6493, 1], - [6493, 0, "C"], - [6493, 1], - [6493, 0, "W"], - [6494, 0, "e"], - [6495, 0, " "], - [6496, 0, "c"], - [6497, 0, "a"], - [6498, 0, "n"], - [6499, 0, " "], - [6500, 0, "p"], - [6501, 0, "r"], - [6502, 0, "o"], - [6503, 0, "v"], - [6504, 0, "e"], - [6505, 0, " "], - [6506, 0, "t"], - [6507, 0, "h"], - [6508, 0, "e"], - [6509, 0, " "], - [6510, 0, "t"], - [6511, 0, "h"], - [6512, 0, "e"], - [6513, 0, "o"], - [6514, 0, "r"], - [6515, 0, "e"], - [6516, 0, "m"], - [6517, 0, " "], - [6518, 0, "b"], - [6519, 0, "y"], - [6520, 0, " "], - [6521, 0, "i"], - [6522, 0, "n"], - [6523, 0, "d"], - [6524, 0, "u"], - [6525, 0, "c"], - [6526, 0, "t"], - [6527, 0, "i"], - [6528, 0, "o"], - [6529, 0, "n"], - [6493, 0, "C"], - [6494, 0, "o"], - [6495, 0, "n"], - [6496, 0, "s"], - [6497, 0, "i"], - [6498, 0, "d"], - [6499, 0, "e"], - [6500, 0, "r"], - [6501, 0, " "], - [6502, 0, "t"], - [6503, 0, "h"], - [6504, 0, "e"], - [6505, 0, " "], - [6506, 0, "h"], - [6507, 0, "i"], - [6508, 0, "s"], - [6509, 0, "t"], - [6510, 0, "o"], - [6511, 0, "r"], - [6512, 0, "y"], - [6513, 0, " "], - [6514, 0, "o"], - [6515, 0, "f"], - [6516, 0, " "], - [6517, 0, "o"], - [6518, 0, "p"], - [6519, 0, "e"], - [6520, 0, "r"], - [6521, 0, "a"], - [6522, 0, "t"], - [6523, 0, "i"], - [6524, 0, "o"], - [6525, 0, "n"], - [6526, 0, "s"], - [6527, 0, " "], - [6528, 0, "a"], - [6529, 0, "t"], - [6530, 0, " "], - [6530, 1], - [6529, 1], - [6528, 1], - [6528, 0, "$"], - [6529, 0, "H"], - [6530, 0, "_"], - [6531, 0, "p"], - [6532, 0, "$"], - [6533, 0, " "], - [6534, 0, "a"], - [6535, 0, "t"], - [6536, 0, " "], - [6537, 0, "p"], - [6538, 0, "e"], - [6539, 0, "e"], - [6540, 0, "r"], - [6541, 0, " "], - [6542, 0, "$"], - [6543, 0, "p"], - [6544, 0, "$"], - [6545, 0, ","], - [6546, 0, " "], - [6547, 0, "c"], - [6548, 0, "o"], - [6549, 0, "n"], - [6550, 0, "s"], - [6551, 0, "i"], - [6552, 0, "s"], - [6553, 0, "t"], - [6554, 0, "i"], - [6555, 0, "n"], - [6556, 0, "g"], - [6557, 0, " "], - [6558, 0, "o"], - [6559, 0, "f"], - [6560, 0, " "], - [6561, 0, "a"], - [6562, 0, " "], - [6563, 0, "s"], - [6564, 0, "e"], - [6565, 0, "q"], - [6566, 0, "u"], - [6567, 0, "e"], - [6568, 0, "n"], - [6569, 0, "c"], - [6570, 0, "e"], - [6571, 0, " "], - [6572, 0, "o"], - [6573, 0, "f"], - [6574, 0, " "], - [6575, 0, "o"], - [6576, 0, "p"], - [6577, 0, "e"], - [6578, 0, "r"], - [6579, 0, "a"], - [6580, 0, "t"], - [6581, 0, "i"], - [6582, 0, "o"], - [6583, 0, "n"], - [6584, 0, "s"], - [6585, 0, " "], - [6586, 0, "$"], - [6587, 0, "H"], - [6588, 0, "_"], - [6589, 0, "p"], - [6590, 0, "="], - [6591, 0, "o"], - [6592, 0, "_"], - [6593, 0, "1"], - [6594, 0, " "], - [6595, 0, "\\"], - [6596, 0, "d"], - [6597, 0, "o"], - [6598, 0, "t"], - [6599, 0, "s"], - [6600, 0, " "], - [6601, 0, "o"], - [6602, 0, "_"], - [6603, 0, "n"], - [6604, 0, "$"], - [6605, 0, "."], - [6606, 0, " "], - [6644, 0, " "], - [6645, 0, "o"], - [6646, 0, "v"], - [6647, 0, "e"], - [6648, 0, "r"], - [6649, 0, " "], - [6650, 0, "t"], - [6651, 0, "h"], - [6652, 0, "e"], - [6653, 0, " "], - [6654, 0, "l"], - [6655, 0, "e"], - [6656, 0, "n"], - [6657, 0, "g"], - [6658, 0, "t"], - [6659, 0, "h"], - [6660, 0, " "], - [6661, 0, "o"], - [6662, 0, "f"], - [6663, 0, " "], - [6664, 0, "t"], - [6665, 0, "h"], - [6666, 0, "e"], - [6667, 0, " "], - [6668, 0, "h"], - [6669, 0, "i"], - [6670, 0, "s"], - [6671, 0, "t"], - [6672, 0, "o"], - [6673, 0, "r"], - [6674, 0, "n"], - [6675, 0, " "], - [6676, 0, "$"], - [6676, 1], - [6675, 1], - [6674, 1], - [6674, 0, "y"], - [6675, 0, " "], - [6676, 0, "$"], - [6677, 0, "n"], - [6678, 0, "$"], - [6679, 0, "."], - [6680, 0, "\n"], - [6681, 0, "\n"], - [6682, 0, "B"], - [6683, 0, "a"], - [6684, 0, "s"], - [6685, 0, "e"], - [6686, 0, " "], - [6687, 0, "c"], - [6688, 0, "a"], - [6689, 0, "s"], - [6690, 0, "e"], - [6691, 0, ":"], - [6682, 0, "\\"], - [6683, 0, "e"], - [6684, 0, "m"], - [6685, 0, "p"], - [6686, 0, "h"], - [6687, 0, "{"], - [6698, 0, "}"], - [6699, 0, " "], - [6700, 0, "A"], - [6701, 0, " "], - [6702, 0, "h"], - [6703, 0, "i"], - [6704, 0, "s"], - [6705, 0, "t"], - [6706, 0, "o"], - [6707, 0, "r"], - [6708, 0, "y"], - [6709, 0, " "], - [6710, 0, "o"], - [6711, 0, "f"], - [6712, 0, " "], - [6713, 0, "$"], - [6714, 0, "n"], - [6715, 0, "="], - [6716, 0, "0"], - [6717, 0, "$"], - [6718, 0, " "], - [6719, 0, "o"], - [6720, 0, "p"], - [6721, 0, "e"], - [6722, 0, "r"], - [6723, 0, "a"], - [6724, 0, "t"], - [6725, 0, "i"], - [6726, 0, "o"], - [6727, 0, "n"], - [6728, 0, "s"], - [6729, 0, " "], - [6730, 0, "d"], - [6731, 0, "e"], - [6732, 0, "s"], - [6733, 0, "c"], - [6734, 0, "r"], - [6735, 0, "i"], - [6736, 0, "b"], - [6737, 0, "e"], - [6738, 0, "s"], - [6739, 0, " "], - [6740, 0, "a"], - [6741, 0, "n"], - [6742, 0, " "], - [6743, 0, "e"], - [6744, 0, "m"], - [6745, 0, "p"], - [6746, 0, "t"], - [6747, 0, "y"], - [6748, 0, " "], - [6749, 0, "d"], - [6750, 0, "o"], - [6751, 0, "c"], - [6752, 0, "u"], - [6753, 0, "m"], - [6754, 0, "e"], - [6755, 0, "n"], - [6756, 0, "t"], - [6757, 0, "."], - [6758, 0, " "], - [6759, 0, "A"], - [6760, 0, "n"], - [6761, 0, " "], - [6762, 0, "e"], - [6763, 0, "m"], - [6764, 0, "p"], - [6765, 0, "t"], - [6766, 0, "y"], - [6767, 0, " "], - [6768, 0, "d"], - [6769, 0, "o"], - [6770, 0, "c"], - [6771, 0, "u"], - [6772, 0, "m"], - [6773, 0, "e"], - [6774, 0, "n"], - [6775, 0, "t"], - [6776, 0, " "], - [6777, 0, "i"], - [6778, 0, "s"], - [6779, 0, " "], - [6780, 0, "d"], - [6781, 0, "e"], - [6782, 0, "t"], - [6783, 0, "e"], - [6784, 0, "r"], - [6785, 0, "m"], - [6786, 0, "i"], - [6787, 0, "n"], - [6788, 0, "i"], - [6789, 0, "s"], - [6790, 0, "t"], - [6791, 0, "i"], - [6792, 0, "c"], - [6793, 0, "a"], - [6794, 0, "l"], - [6795, 0, "l"], - [6796, 0, "y"], - [6797, 0, " "], - [6798, 0, "d"], - [6799, 0, "e"], - [6800, 0, "f"], - [6801, 0, "i"], - [6802, 0, "n"], - [6803, 0, "e"], - [6804, 0, "d"], - [6805, 0, ","], - [6806, 0, " "], - [6807, 0, "s"], - [6808, 0, "o"], - [6809, 0, " "], - [6810, 0, "a"], - [6811, 0, "n"], - [6812, 0, "y"], - [6813, 0, " "], - [6814, 0, "t"], - [6815, 0, "w"], - [6816, 0, "o"], - [6817, 0, " "], - [6818, 0, "p"], - [6819, 0, "e"], - [6820, 0, "e"], - [6821, 0, "r"], - [6822, 0, "s"], - [6823, 0, " "], - [6824, 0, "t"], - [6825, 0, "h"], - [6826, 0, "a"], - [6827, 0, "t"], - [6828, 0, " "], - [6829, 0, "h"], - [6830, 0, "a"], - [6831, 0, "v"], - [6832, 0, "e"], - [6833, 0, " "], - [6834, 0, "n"], - [6835, 0, "o"], - [6836, 0, "t"], - [6837, 0, " "], - [6838, 0, "e"], - [6839, 0, "x"], - [6840, 0, "e"], - [6841, 0, "c"], - [6842, 0, "u"], - [6843, 0, "t"], - [6844, 0, "e"], - [6845, 0, "d"], - [6846, 0, " "], - [6847, 0, "a"], - [6848, 0, "n"], - [6849, 0, "y"], - [6850, 0, " "], - [6851, 0, "o"], - [6852, 0, "p"], - [6853, 0, "e"], - [6854, 0, "r"], - [6855, 0, "a"], - [6856, 0, "t"], - [6857, 0, "i"], - [6858, 0, "o"], - [6859, 0, "n"], - [6860, 0, "s"], - [6861, 0, " "], - [6862, 0, "a"], - [6863, 0, "r"], - [6864, 0, "e"], - [6865, 0, " "], - [6866, 0, "b"], - [6867, 0, "y"], - [6868, 0, " "], - [6869, 0, "d"], - [6870, 0, "e"], - [6871, 0, "f"], - [6872, 0, "i"], - [6873, 0, "n"], - [6874, 0, "i"], - [6875, 0, "t"], - [6876, 0, "i"], - [6877, 0, "o"], - [6878, 0, "n"], - [6879, 0, " "], - [6880, 0, "i"], - [6881, 0, "n"], - [6882, 0, " "], - [6883, 0, "t"], - [6884, 0, "h"], - [6885, 0, "e"], - [6886, 0, " "], - [6887, 0, "s"], - [6888, 0, "a"], - [6889, 0, "m"], - [6890, 0, "e"], - [6891, 0, " "], - [6892, 0, "s"], - [6893, 0, "t"], - [6894, 0, "a"], - [6895, 0, "t"], - [6896, 0, "e"], - [6897, 0, "."], - [6898, 0, "\n"], - [6899, 0, "\n"], - [6900, 0, "\\"], - [6901, 0, "e"], - [6902, 0, "m"], - [6903, 0, "p"], - [6904, 0, "h"], - [6905, 0, "{"], - [6906, 0, "I"], - [6907, 0, "n"], - [6908, 0, "d"], - [6909, 0, "u"], - [6910, 0, "c"], - [6911, 0, "t"], - [6912, 0, "i"], - [6913, 0, "o"], - [6914, 0, "n"], - [6915, 0, " "], - [6916, 0, "s"], - [6917, 0, "t"], - [6918, 0, "e"], - [6919, 0, "p"], - [6920, 0, ":"], - [6921, 0, "}"], - [6922, 0, " "], - [6923, 0, "G"], - [6924, 0, "i"], - [6925, 0, "v"], - [6926, 0, "e"], - [6927, 0, "n"], - [6928, 0, " "], - [6929, 0, "c"], - [6930, 0, "a"], - [6931, 0, "u"], - [6932, 0, "s"], - [6933, 0, "a"], - [6934, 0, "l"], - [6935, 0, " "], - [6936, 0, "h"], - [6937, 0, "i"], - [6938, 0, "s"], - [6939, 0, "t"], - [6940, 0, "o"], - [6941, 0, "r"], - [6942, 0, "i"], - [6943, 0, "e"], - [6944, 0, "s"], - [6945, 0, " "], - [6946, 0, "H"], - [6946, 1], - [6946, 0, "$"], - [6947, 0, "H"], - [6948, 0, "_"], - [6949, 0, "1"], - [6950, 0, "$"], - [6951, 0, " "], - [6952, 0, "a"], - [6953, 0, "n"], - [6954, 0, "d"], - [6955, 0, " "], - [6956, 0, "$"], - [6957, 0, "H"], - [6958, 0, "_"], - [6959, 0, "2"], - [6960, 0, "$"], - [6961, 0, ","], - [6962, 0, " "], - [6963, 0, "s"], - [6964, 0, "u"], - [6965, 0, "c"], - [6966, 0, "h"], - [6967, 0, " "], - [6968, 0, "t"], - [6969, 0, "h"], - [6970, 0, "a"], - [6971, 0, "t"], - [6972, 0, " "], - [6973, 0, "$"], - [6974, 0, "H"], - [6975, 0, "_"], - [6976, 0, "1"], - [6977, 0, "="], - [6978, 0, "o"], - [6979, 0, "_"], - [6980, 0, "1"], - [6981, 0, " "], - [6982, 0, "\\"], - [6983, 0, "d"], - [6984, 0, "o"], - [6985, 0, "t"], - [6986, 0, "s"], - [6987, 0, " "], - [6988, 0, "o"], - [6989, 0, "_"], - [6990, 0, "n"], - [6991, 0, "$"], - [6992, 0, " "], - [6993, 0, "a"], - [6994, 0, "n"], - [6995, 0, "d"], - [6996, 0, " "], - [6997, 0, "$"], - [6998, 0, "H"], - [6999, 0, "_"], - [7000, 0, "2"], - [7001, 0, "$"], - [7002, 0, " "], - [7003, 0, "i"], - [7004, 0, "s"], - [7005, 0, " "], - [7006, 0, "a"], - [7007, 0, " "], - [7008, 0, "p"], - [7009, 0, "e"], - [7010, 0, "r"], - [7011, 0, "m"], - [7012, 0, "u"], - [7013, 0, "t"], - [7014, 0, "a"], - [7015, 0, "t"], - [7016, 0, "i"], - [7017, 0, "o"], - [7018, 0, "n"], - [7019, 0, " "], - [7020, 0, "o"], - [7021, 0, "f"], - [7022, 0, " "], - [7023, 0, "$"], - [7024, 0, "H"], - [7025, 0, "1"], - [7025, 1], - [7025, 0, "_"], - [7026, 0, "1"], - [7027, 0, "$"], - [7028, 0, ","], - [7029, 0, " "], - [7030, 0, "w"], - [7030, 1], - [7030, 0, "a"], - [7031, 0, "n"], - [7032, 0, "d"], - [7033, 0, " "], - [7034, 0, "s"], - [7035, 0, "u"], - [7036, 0, "c"], - [7037, 0, "h"], - [7038, 0, " "], - [7039, 0, "t"], - [7040, 0, "h"], - [7041, 0, "a"], - [7042, 0, "t"], - [7043, 0, " "], - [7044, 0, "a"], - [7045, 0, "p"], - [7046, 0, "p"], - [7047, 0, "l"], - [7048, 0, "y"], - [7049, 0, "i"], - [7050, 0, "n"], - [7051, 0, "g"], - [7052, 0, " "], - [7053, 0, "$"], - [7054, 0, "H"], - [7055, 0, "_"], - [7056, 0, "1"], - [7057, 0, "$"], - [7058, 0, " "], - [7059, 0, "r"], - [7060, 0, "e"], - [7061, 0, "s"], - [7062, 0, "u"], - [7063, 0, "l"], - [7064, 0, "t"], - [7065, 0, "s"], - [7066, 0, " "], - [7067, 0, "i"], - [7068, 0, "n"], - [7069, 0, " "], - [7070, 0, "t"], - [7071, 0, "h"], - [7072, 0, "e"], - [7073, 0, " "], - [7074, 0, "s"], - [7075, 0, "a"], - [7076, 0, "m"], - [7077, 0, "e"], - [7078, 0, " "], - [7079, 0, "s"], - [7080, 0, "t"], - [7081, 0, "a"], - [7082, 0, "t"], - [7083, 0, "e"], - [7084, 0, " "], - [7085, 0, "a"], - [7086, 0, "s"], - [7087, 0, " "], - [7088, 0, "a"], - [7089, 0, "p"], - [7090, 0, "p"], - [7091, 0, "l"], - [7092, 0, "y"], - [7093, 0, "i"], - [7094, 0, "n"], - [7095, 0, "g"], - [7096, 0, " "], - [7097, 0, "$"], - [7098, 0, "H"], - [7099, 0, "_"], - [7100, 0, "2"], - [7101, 0, "$"], - [6928, 0, " "], - [6929, 0, "a"], - [6930, 0, "m"], - [6931, 0, "u"], - [6931, 1], - [6930, 1], - [6930, 0, "n"], - [6931, 0, "y"], - [6932, 0, " "], - [6932, 1], - [6931, 1], - [6930, 1], - [6929, 1], - [6928, 1], - [7102, 0, ","], - [7103, 0, " "], - [7104, 0, "w"], - [7105, 0, "e"], - [7106, 0, " "], - [7107, 0, "c"], - [7108, 0, "a"], - [7109, 0, "n"], - [7110, 0, " "], - [7111, 0, "e"], - [7112, 0, "x"], - [7113, 0, "t"], - [7114, 0, "e"], - [7115, 0, "n"], - [7116, 0, "d"], - [7117, 0, " "], - [7118, 0, "t"], - [7119, 0, "h"], - [7120, 0, "e"], - [7121, 0, " "], - [7122, 0, "h"], - [7123, 0, "i"], - [7124, 0, "s"], - [7125, 0, "t"], - [7126, 0, "o"], - [7127, 0, "r"], - [7128, 0, "y"], - [7129, 0, " "], - [7130, 0, "b"], - [7131, 0, "y"], - [7132, 0, " "], - [7132, 1], - [7131, 1], - [7130, 1], - [7129, 1], - [7128, 1], - [7127, 1], - [7126, 1], - [7125, 1], - [7124, 1], - [7123, 1], - [7122, 1], - [7121, 1], - [7120, 1], - [7119, 1], - [7118, 1], - [7117, 1], - [7116, 1], - [7115, 1], - [7114, 1], - [7113, 1], - [7112, 1], - [7111, 1], - [7111, 0, "c"], - [7112, 0, "o"], - [7113, 0, "n"], - [7114, 0, "s"], - [7115, 0, "t"], - [7116, 0, "r"], - [7117, 0, "u"], - [7118, 0, "c"], - [7119, 0, "t"], - [7120, 0, " "], - [7121, 0, "n"], - [7122, 0, "e"], - [7123, 0, "w"], - [7124, 0, " "], - [7125, 0, "h"], - [7126, 0, "i"], - [7127, 0, "s"], - [7128, 0, "t"], - [7129, 0, "o"], - [7130, 0, "r"], - [7131, 0, "i"], - [7132, 0, "e"], - [7133, 0, "s"], - [7134, 0, " "], - [7135, 0, "o"], - [7136, 0, "f"], - [7137, 0, " "], - [7138, 0, "l"], - [7139, 0, "e"], - [7140, 0, "n"], - [7141, 0, "g"], - [7142, 0, "t"], - [7143, 0, "h"], - [7144, 0, " "], - [7145, 0, "$"], - [7146, 0, "n"], - [7147, 0, "+"], - [7148, 0, "1"], - [7149, 0, "$"], - [7150, 0, " "], - [7151, 0, "b"], - [7152, 0, "y"], - [7153, 0, " "], - [7154, 0, "i"], - [7155, 0, "n"], - [7156, 0, "s"], - [7157, 0, "e"], - [7158, 0, "r"], - [7159, 0, "t"], - [7160, 0, "i"], - [7161, 0, "n"], - [7162, 0, "g"], - [7163, 0, " "], - [7164, 0, "a"], - [7165, 0, "n"], - [7166, 0, " "], - [7167, 0, "o"], - [7168, 0, "p"], - [7169, 0, "e"], - [7170, 0, "r"], - [7171, 0, "a"], - [7172, 0, "t"], - [7173, 0, "i"], - [7174, 0, "o"], - [7175, 0, "n"], - [7176, 0, " "], - [7177, 0, "$"], - [7178, 0, "o"], - [7179, 0, "_"], - [7180, 0, "{"], - [7181, 0, "n"], - [7182, 0, "+"], - [7183, 0, "1"], - [7184, 0, "}"], - [7185, 0, "$"], - [7186, 0, " "], - [7187, 0, "a"], - [7188, 0, "t"], - [7189, 0, " "], - [7190, 0, "a"], - [7191, 0, "n"], - [7192, 0, "y"], - [7193, 0, " "], - [7194, 0, "c"], - [7195, 0, "a"], - [7196, 0, "u"], - [7197, 0, "s"], - [7198, 0, "a"], - [7199, 0, "l"], - [7200, 0, "l"], - [7201, 0, "y"], - [7202, 0, " "], - [7203, 0, "r"], - [7204, 0, "e"], - [7205, 0, "a"], - [7206, 0, "d"], - [7207, 0, "y"], - [7208, 0, " "], - [6961, 0, " "], - [6962, 0, "o"], - [6963, 0, "f"], - [6964, 0, " "], - [6965, 0, "l"], - [6966, 0, "e"], - [6967, 0, "n"], - [6968, 0, "g"], - [6969, 0, "t"], - [6970, 0, "h"], - [6971, 0, " "], - [6972, 0, "$"], - [6973, 0, "n"], - [6974, 0, "$"], - [7223, 0, "p"], - [7224, 0, "o"], - [7225, 0, "s"], - [7226, 0, "i"], - [7227, 0, "t"], - [7228, 0, "i"], - [7229, 0, "o"], - [7230, 0, "n"], - [7231, 0, " "], - [7232, 0, "i"], - [7233, 0, "n"], - [7234, 0, " "], - [7235, 0, "e"], - [7236, 0, "i"], - [7237, 0, "t"], - [7238, 0, "h"], - [7239, 0, "e"], - [7240, 0, "r"], - [7241, 0, " "], - [7242, 0, "h"], - [7243, 0, "i"], - [7244, 0, "s"], - [7245, 0, "t"], - [7246, 0, "o"], - [7247, 0, "r"], - [7248, 0, "y"], - [7249, 0, "."], - [7250, 0, " "], - [7250, 1], - [7249, 1], - [7248, 1], - [7247, 1], - [7246, 1], - [7245, 1], - [7244, 1], - [7243, 1], - [7242, 1], - [7242, 0, "$"], - [7243, 0, "H"], - [7244, 0, "_"], - [7245, 0, "1"], - [7246, 0, "$"], - [7247, 0, " "], - [7248, 0, "o"], - [7249, 0, "r"], - [7250, 0, " "], - [7251, 0, "$"], - [7252, 0, "H"], - [7253, 0, "_"], - [7254, 0, "2"], - [7255, 0, "$"], - [7256, 0, "."], - [7257, 0, " "], - [7258, 0, "W"], - [7259, 0, "e"], - [7260, 0, " "], - [7261, 0, "m"], - [7262, 0, "u"], - [7263, 0, "s"], - [7264, 0, "t"], - [7265, 0, " "], - [7266, 0, "t"], - [7267, 0, "h"], - [7268, 0, "e"], - [7269, 0, "n"], - [7270, 0, " "], - [7271, 0, "s"], - [7272, 0, "h"], - [7273, 0, "o"], - [7274, 0, "w"], - [7275, 0, " "], - [7276, 0, "t"], - [7277, 0, "h"], - [7278, 0, "a"], - [7279, 0, "t"], - [7280, 0, " "], - [7281, 0, "a"], - [7282, 0, "l"], - [7283, 0, "l"], - [7284, 0, " "], - [7285, 0, "o"], - [7286, 0, "f"], - [7287, 0, " "], - [7288, 0, "t"], - [7289, 0, "h"], - [7290, 0, "e"], - [7291, 0, " "], - [7292, 0, "h"], - [7293, 0, "i"], - [7294, 0, "s"], - [7295, 0, "t"], - [7296, 0, "o"], - [7297, 0, "r"], - [7298, 0, "i"], - [7299, 0, "e"], - [7300, 0, "s"], - [7301, 0, " "], - [7302, 0, "c"], - [7303, 0, "o"], - [7304, 0, "n"], - [7305, 0, "s"], - [7306, 0, "t"], - [7307, 0, "r"], - [7308, 0, "u"], - [7309, 0, "c"], - [7310, 0, "t"], - [7311, 0, "e"], - [7312, 0, "d"], - [7313, 0, " "], - [7314, 0, "t"], - [7315, 0, "h"], - [7316, 0, "i"], - [7317, 0, "s"], - [7318, 0, " "], - [7319, 0, "w"], - [7320, 0, "a"], - [7321, 0, "y"], - [7322, 0, " "], - [7281, 0, "a"], - [7282, 0, "p"], - [7283, 0, "p"], - [7284, 0, "l"], - [7285, 0, "y"], - [7286, 0, "i"], - [7287, 0, "n"], - [7288, 0, "g"], - [7289, 0, " "], - [7289, 1], - [7288, 1], - [7287, 1], - [7286, 1], - [7285, 1], - [7284, 1], - [7283, 1], - [7282, 1], - [7281, 1], - [7281, 0, "f"], - [7282, 0, "o"], - [7283, 0, "r"], - [7284, 0, " "], - [7326, 1], - [7326, 0, ","], - [7327, 0, " "], - [7328, 0, "a"], - [7329, 0, "p"], - [7330, 0, "p"], - [7331, 0, "l"], - [7332, 0, "y"], - [7333, 0, "i"], - [7334, 0, "n"], - [7335, 0, "g"], - [7336, 0, " "], - [7337, 0, "t"], - [7338, 0, "h"], - [7339, 0, "e"], - [7340, 0, " "], - [7341, 0, "o"], - [7342, 0, "p"], - [7343, 0, "e"], - [7344, 0, "r"], - [7345, 0, "a"], - [7346, 0, "t"], - [7347, 0, "i"], - [7348, 0, "o"], - [7349, 0, "n"], - [7350, 0, "s"], - [7351, 0, " "], - [7352, 0, "r"], - [7353, 0, "e"], - [7354, 0, "s"], - [7355, 0, "u"], - [7356, 0, "l"], - [7357, 0, "t"], - [7358, 0, "s"], - [7359, 0, " "], - [7360, 0, "i"], - [7361, 0, "n"], - [7362, 0, " "], - [7363, 0, "t"], - [7364, 0, "h"], - [7365, 0, "e"], - [7366, 0, " "], - [7367, 0, "s"], - [7368, 0, "a"], - [7369, 0, "m"], - [7370, 0, "e"], - [7371, 0, " "], - [7372, 0, "f"], - [7373, 0, "i"], - [7374, 0, "n"], - [7375, 0, "a"], - [7376, 0, "l"], - [7377, 0, " "], - [7378, 0, "s"], - [7379, 0, "t"], - [7380, 0, "a"], - [7381, 0, "t"], - [7382, 0, "e"], - [7383, 0, "."], - [6152, 0, " "], - [6153, 0, "b"], - [6154, 0, "u"], - [6155, 0, "t"], - [6155, 1], - [6154, 1], - [6153, 1], - [6152, 1], - [6151, 1], - [6150, 1], - [6149, 1], - [6148, 1], - [6147, 1], - [6146, 1], - [6145, 1], - [6144, 1], - [6143, 1], - [6143, 0, "a"], - [6144, 0, "n"], - [6145, 0, "y"], - [6172, 1], - [6172, 0, " "], - [6173, 0, "("], - [6174, 0, "b"], - [6175, 0, "u"], - [6176, 0, "t"], - [6177, 0, " "], - [6178, 0, "n"], - [6179, 0, "o"], - [6180, 0, "t"], - [6181, 0, " "], - [6182, 0, "n"], - [6183, 0, "e"], - [6184, 0, "c"], - [6185, 0, "e"], - [6186, 0, "s"], - [6187, 0, "s"], - [6188, 0, "a"], - [6189, 0, "r"], - [6190, 0, "i"], - [6191, 0, "l"], - [6192, 0, "y"], - [6193, 0, " "], - [6194, 0, "t"], - [6195, 0, "h"], - [6196, 0, "e"], - [6197, 0, " "], - [6198, 0, "s"], - [6199, 0, "a"], - [6200, 0, "m"], - [6201, 0, "e"], - [6202, 0, " "], - [6203, 0, "o"], - [6204, 0, "r"], - [6205, 0, "d"], - [6206, 0, "e"], - [6207, 0, "r"], - [6208, 0, ")"], - [6520, 1], - [6520, 0, ":"], - [6521, 0, "\n"], - [6522, 0, "$"], - [6523, 0, "$"], - [6524, 0, " "], - [6525, 0, "A"], - [6526, 0, "_"], - [6527, 0, "\\"], - [6528, 0, "m"], - [6529, 0, "a"], - [6530, 0, "t"], - [6531, 0, "h"], - [6532, 0, "r"], - [6533, 0, "m"], - [6534, 0, "{"], - [6535, 0, "f"], - [6536, 0, "i"], - [6537, 0, "n"], - [6538, 0, "a"], - [6539, 0, "l"], - [6540, 0, "}"], - [6541, 0, "}"], - [6527, 0, "{"], - [6543, 0, " "], - [6544, 0, "="], - [6545, 0, " "], - [5212, 0, "A"], - [5213, 0, ","], - [5214, 0, " "], - [6549, 0, "\\"], - [6550, 0, "m"], - [6551, 0, "a"], - [6552, 0, "t"], - [6553, 0, "h"], - [6554, 0, "r"], - [6555, 0, "m"], - [6556, 0, "{"], - [6557, 0, "a"], - [6558, 0, "p"], - [6559, 0, "p"], - [6560, 0, "l"], - [6561, 0, "y"], - [6562, 0, "}"], - [6563, 0, "("], - [6564, 0, "\\"], - [6565, 0, "m"], - [6566, 0, "a"], - [6567, 0, "t"], - [6568, 0, "h"], - [6569, 0, "r"], - [6570, 0, "m"], - [6571, 0, "{"], - [6572, 0, "a"], - [6573, 0, "p"], - [6574, 0, "p"], - [6575, 0, "l"], - [6576, 0, "y"], - [6577, 0, "}"], - [6578, 0, "("], - [6579, 0, "\\"], - [6580, 0, "d"], - [6581, 0, "o"], - [6582, 0, "t"], - [6583, 0, "s"], - [6584, 0, " "], - [6585, 0, "\\"], - [6586, 0, "m"], - [6587, 0, "a"], - [6588, 0, "t"], - [6589, 0, "h"], - [6590, 0, "r"], - [6591, 0, "m"], - [6592, 0, "{"], - [6593, 0, "a"], - [6594, 0, "p"], - [6595, 0, "p"], - [6596, 0, "l"], - [6597, 0, "y"], - [6598, 0, "}"], - [6599, 0, "("], - [6600, 0, "A"], - [6601, 0, "_"], - [6602, 0, "\\"], - [6603, 0, "e"], - [6604, 0, "m"], - [6605, 0, "p"], - [6606, 0, "t"], - [6607, 0, "y"], - [6608, 0, "s"], - [6609, 0, "e"], - [6610, 0, "t"], - [6611, 0, ","], - [6612, 0, " "], - [6613, 0, "o"], - [6614, 0, "_"], - [6615, 0, "1"], - [6616, 0, ")"], - [6617, 0, ","], - [6618, 0, " "], - [6619, 0, "\\"], - [6620, 0, "d"], - [6621, 0, "o"], - [6622, 0, "t"], - [6623, 0, "s"], - [6624, 0, ","], - [6625, 0, " "], - [6626, 0, "o"], - [6627, 0, "_"], - [6628, 0, "{"], - [6629, 0, "n"], - [6630, 0, "-"], - [6631, 0, "1"], - [6632, 0, "}"], - [6633, 0, ")"], - [6634, 0, ","], - [6635, 0, " "], - [6636, 0, "o"], - [6637, 0, "_"], - [6638, 0, "n"], - [6639, 0, ")"], - [6640, 0, " "], - [6641, 0, "$"], - [6642, 0, "$"], - [6260, 1], - [6259, 1], - [6258, 1], - [6257, 1], - [6256, 1], - [6255, 1], - [6254, 1], - [6254, 0, "E"], - [6367, 1], - [6366, 1], - [6365, 1], - [6365, 0, "."], - [6366, 0, " "], - [6367, 0, "T"], - [6368, 0, "h"], - [6369, 0, "e"], - [6370, 0, "r"], - [6371, 0, "e"], - [6372, 0, "f"], - [6373, 0, "o"], - [6374, 0, "r"], - [6375, 0, "e"], - [6376, 0, ","], - [6377, 0, " "], - [6378, 0, "w"], - [6390, 1], - [6390, 0, "e"], - [6425, 1], - [6424, 1], - [6423, 1], - [6422, 1], - [6421, 1], - [6420, 1], - [6419, 1], - [6418, 1], - [6417, 1], - [6416, 1], - [6415, 1], - [6414, 1], - [6413, 1], - [6412, 1], - [6412, 0, "f"], - [6413, 0, "r"], - [6414, 0, "o"], - [6415, 0, "m"], - [6434, 1], - [6426, 1], - [6425, 1], - [6424, 1], - [6423, 1], - [6422, 1], - [6421, 1], - [6442, 0, " "], - [6405, 1], - [6404, 1], - [6409, 0, " "], - [6410, 0, "$"], - [6411, 0, "p"], - [6412, 0, "$"], - [6445, 0, "$"], - [6446, 0, "H"], - [6447, 0, "_"], - [6448, 0, "p"], - [6449, 0, "="], - [6450, 0, "o"], - [6451, 0, "_"], - [6452, 0, "1"], - [6453, 0, " "], - [6454, 0, "\\"], - [6455, 0, "d"], - [6456, 0, "o"], - [6457, 0, "t"], - [6458, 0, "s"], - [6459, 0, " "], - [6460, 0, "o"], - [6461, 0, "_"], - [6462, 0, "n"], - [6463, 0, "$"], - [6464, 0, " "], - [6465, 0, "a"], - [6466, 0, "p"], - [6467, 0, "p"], - [6468, 0, "l"], - [6469, 0, "i"], - [6470, 0, "e"], - [6471, 0, "d"], - [6479, 1], - [6478, 1], - [6477, 1], - [6476, 1], - [6476, 0, "t"], - [6477, 0, "h"], - [6478, 0, "a"], - [6479, 0, "t"], - [6512, 1], - [6511, 1], - [6510, 1], - [6509, 1], - [6508, 1], - [6507, 1], - [6506, 1], - [6505, 1], - [6504, 1], - [6503, 1], - [6502, 1], - [6501, 1], - [6500, 1], - [6499, 1], - [6498, 1], - [6497, 1], - [6496, 1], - [6495, 1], - [6494, 1], - [6493, 1], - [6492, 1], - [6491, 1], - [6490, 1], - [6489, 1], - [6488, 1], - [6487, 1], - [6486, 1], - [6485, 1], - [6485, 0, ","], - [6487, 0, "p"], - [6488, 0, "r"], - [6489, 0, "o"], - [6490, 0, "c"], - [6491, 0, "e"], - [6492, 0, "s"], - [6493, 0, "s"], - [6494, 0, "e"], - [6495, 0, "d"], - [6496, 0, " "], - [6641, 0, "."], - [6760, 1], - [6759, 1], - [6758, 1], - [6757, 1], - [6756, 1], - [6755, 1], - [6754, 1], - [6753, 1], - [6752, 1], - [6751, 1], - [6750, 1], - [6749, 1], - [6748, 1], - [6747, 1], - [6746, 1], - [6745, 1], - [6744, 1], - [6743, 1], - [6742, 1], - [6741, 1], - [6740, 1], - [6739, 1], - [6738, 1], - [6737, 1], - [6736, 1], - [6735, 1], - [6734, 1], - [6733, 1], - [6732, 1], - [6731, 1], - [6730, 1], - [6729, 1], - [6728, 1], - [6727, 1], - [6726, 1], - [6725, 1], - [6724, 1], - [6723, 1], - [6722, 1], - [6721, 1], - [6720, 1], - [6719, 1], - [6718, 1], - [6717, 1], - [6716, 1], - [6715, 1], - [6714, 1], - [6713, 1], - [6712, 1], - [6711, 1], - [6710, 1], - [6709, 1], - [6708, 1], - [6707, 1], - [6706, 1], - [6705, 1], - [6704, 1], - [6703, 1], - [6702, 1], - [6701, 1], - [6700, 1], - [6699, 1], - [6698, 1], - [6697, 1], - [6696, 1], - [6695, 1], - [6694, 1], - [6693, 1], - [6692, 1], - [6691, 1], - [6690, 1], - [6689, 1], - [6688, 1], - [6687, 1], - [6686, 1], - [6685, 1], - [6684, 1], - [6683, 1], - [6682, 1], - [6681, 1], - [6680, 1], - [6679, 1], - [6678, 1], - [6677, 1], - [6676, 1], - [6675, 1], - [6674, 1], - [6673, 1], - [6672, 1], - [6671, 1], - [6670, 1], - [6669, 1], - [6668, 1], - [6667, 1], - [6666, 1], - [6665, 1], - [6664, 1], - [6663, 1], - [6662, 1], - [6661, 1], - [6660, 1], - [6659, 1], - [6658, 1], - [6657, 1], - [6656, 1], - [6655, 1], - [6654, 1], - [6653, 1], - [6652, 1], - [6651, 1], - [6650, 1], - [6649, 1], - [6648, 1], - [6647, 1], - [6545, 1], - [6544, 1], - [6543, 1], - [6542, 1], - [6541, 1], - [6540, 1], - [6539, 1], - [6538, 1], - [6537, 1], - [6536, 1], - [6535, 1], - [6534, 1], - [6533, 1], - [6532, 1], - [6532, 0, "H"], - [6533, 0, "_"], - [6534, 0, "p"], - [6254, 0, "\\"], - [6255, 0, "t"], - [6256, 0, "e"], - [6257, 0, "x"], - [6258, 0, "t"], - [6259, 0, "b"], - [6260, 0, "f"], - [6261, 0, "{"], - [6262, 0, "P"], - [6263, 0, "r"], - [6264, 0, "o"], - [6265, 0, "o"], - [6266, 0, "f"], - [6267, 0, "."], - [6268, 0, " "], - [6268, 1], - [6268, 0, "}"], - [6269, 0, " "], - [7429, 0, "\n"], - [7430, 0, "\n"], - [7431, 0, "W"], - [7432, 0, "e"], - [7433, 0, " "], - [7434, 0, "s"], - [7435, 0, "h"], - [7436, 0, "o"], - [7437, 0, "w"], - [7438, 0, " "], - [7439, 0, "t"], - [7440, 0, "h"], - [7441, 0, "e"], - [7442, 0, " "], - [7443, 0, "i"], - [7444, 0, "n"], - [7445, 0, "d"], - [7446, 0, "u"], - [7447, 0, "c"], - [7448, 0, "t"], - [7449, 0, "i"], - [7450, 0, "o"], - [7451, 0, "n"], - [7452, 0, " "], - [7453, 0, "s"], - [7454, 0, "t"], - [7455, 0, "e"], - [7456, 0, "p"], - [7457, 0, " "], - [7458, 0, "c"], - [7459, 0, "a"], - [7460, 0, "s"], - [7461, 0, "e"], - [7462, 0, " "], - [7463, 0, "b"], - [7464, 0, "y"], - [7465, 0, " "], - [7466, 0, "c"], - [7467, 0, "a"], - [7468, 0, "s"], - [7469, 0, "e"], - [7470, 0, ","], - [7471, 0, " "], - [7472, 0, "c"], - [7473, 0, "o"], - [7474, 0, "n"], - [7475, 0, "s"], - [7476, 0, "i"], - [7477, 0, "d"], - [7478, 0, "e"], - [7479, 0, "r"], - [7480, 0, "i"], - [7481, 0, "n"], - [7482, 0, "g"], - [7483, 0, " "], - [7484, 0, "e"], - [7485, 0, "a"], - [7486, 0, "c"], - [7487, 0, "h"], - [7488, 0, " "], - [7489, 0, "t"], - [7490, 0, "y"], - [7491, 0, "p"], - [7492, 0, "e"], - [7493, 0, " "], - [7494, 0, "o"], - [7495, 0, "f"], - [7496, 0, " "], - [7497, 0, "o"], - [7498, 0, "p"], - [7499, 0, "e"], - [7500, 0, "r"], - [7501, 0, "a"], - [7502, 0, "t"], - [7503, 0, "i"], - [7504, 0, "o"], - [7505, 0, "n"], - [7506, 0, " "], - [7507, 0, "$"], - [7508, 0, "P"], - [7508, 1], - [7508, 0, "o"], - [7509, 0, "_"], - [7510, 0, "{"], - [7511, 0, "n"], - [7512, 0, "+"], - [7513, 0, "1"], - [7514, 0, "}"], - [7515, 0, "$"], - [7516, 0, " "], - [7517, 0, "t"], - [7518, 0, "h"], - [7519, 0, "a"], - [7520, 0, "t"], - [7521, 0, " "], - [7522, 0, "m"], - [7523, 0, "a"], - [7524, 0, "y"], - [7525, 0, " "], - [7526, 0, "b"], - [7527, 0, "e"], - [7528, 0, " "], - [7529, 0, "i"], - [7530, 0, "n"], - [7531, 0, "s"], - [7532, 0, "e"], - [7533, 0, "r"], - [7534, 0, "t"], - [7535, 0, "e"], - [7536, 0, "d"], - [7537, 0, "."], - [7538, 0, " "], - [7539, 0, "F"], - [7540, 0, "i"], - [7541, 0, "r"], - [7542, 0, "s"], - [7543, 0, "t"], - [7544, 0, " "], - [7545, 0, "c"], - [7546, 0, "o"], - [7547, 0, "n"], - [7548, 0, "s"], - [7549, 0, "i"], - [7550, 0, "d"], - [7551, 0, "e"], - [7552, 0, "r"], - [7553, 0, " "], - [7554, 0, "t"], - [7555, 0, "h"], - [7556, 0, "e"], - [7557, 0, " "], - [7558, 0, "c"], - [7559, 0, "a"], - [7560, 0, "s"], - [7561, 0, "e"], - [7562, 0, " "], - [7563, 0, "t"], - [7564, 0, "h"], - [7565, 0, "a"], - [7566, 0, "t"], - [7567, 0, " "], - [7568, 0, "$"], - [7569, 0, "o"], - [7570, 0, "_"], - [7538, 1], - [7538, 0, "\n"], - [7539, 0, "\n"], - [7572, 0, "{"], - [7573, 0, "n"], - [7574, 0, "+"], - [7575, 0, "1"], - [7576, 0, "}"], - [7577, 0, "="], - [7578, 0, "\\"], - [7579, 0, "m"], - [7580, 0, "a"], - [7581, 0, "t"], - [7582, 0, "h"], - [7583, 0, "s"], - [7584, 0, "f"], - [7585, 0, "{"], - [7586, 0, "d"], - [7587, 0, "e"], - [7588, 0, "l"], - [7589, 0, "e"], - [7590, 0, "t"], - [7591, 0, "e"], - [7592, 0, "}"], - [7593, 0, "("], - [7594, 0, "\\"], - [7595, 0, "m"], - [7596, 0, "a"], - [7597, 0, "t"], - [7598, 0, "h"], - [7599, 0, "i"], - [7600, 0, "t"], - [7601, 0, "{"], - [7602, 0, "i"], - [7603, 0, "d"], - [7604, 0, "}"], - [7605, 0, ")"], - [7606, 0, "$"], - [7607, 0, "."], - [7608, 0, " "], - [7609, 0, "B"], - [7610, 0, "y"], - [7611, 0, " "], - [7612, 0, "c"], - [7613, 0, "a"], - [7614, 0, "u"], - [7615, 0, "s"], - [7616, 0, "a"], - [7617, 0, "l"], - [7618, 0, "i"], - [7619, 0, "t"], - [7620, 0, "y"], - [7621, 0, ","], - [7622, 0, " "], - [7623, 0, "t"], - [7624, 0, "h"], - [7624, 1], - [7623, 1], - [7622, 1], - [7621, 1], - [7620, 1], - [7619, 1], - [7618, 1], - [7617, 1], - [7616, 1], - [7615, 1], - [7614, 1], - [7613, 1], - [7612, 1], - [7611, 1], - [7610, 1], - [7609, 1], - [7609, 0, "A"], - [7610, 0, " "], - [7611, 0, "l"], - [7612, 0, "i"], - [7613, 0, "s"], - [7614, 0, "t"], - [7615, 0, " "], - [7616, 0, "e"], - [7617, 0, "l"], - [7618, 0, "e"], - [7619, 0, "m"], - [7620, 0, "e"], - [7621, 0, "n"], - [7622, 0, "t"], - [7623, 0, " "], - [7624, 0, "c"], - [7625, 0, "a"], - [7626, 0, "n"], - [7627, 0, " "], - [7628, 0, "o"], - [7629, 0, "n"], - [7630, 0, "l"], - [7631, 0, "y"], - [7632, 0, " "], - [7633, 0, "b"], - [7634, 0, "e"], - [7635, 0, " "], - [7636, 0, "d"], - [7637, 0, "e"], - [7638, 0, "l"], - [7639, 0, "e"], - [7640, 0, "t"], - [7641, 0, "e"], - [7642, 0, "d"], - [7643, 0, " "], - [7644, 0, "i"], - [7645, 0, "f"], - [7646, 0, " "], - [7647, 0, "i"], - [7648, 0, "t"], - [7649, 0, " "], - [7650, 0, "e"], - [7651, 0, "x"], - [7652, 0, "i"], - [7653, 0, "s"], - [7654, 0, "t"], - [7655, 0, "s"], - [7656, 0, " "], - [7657, 0, "i"], - [7658, 0, "n"], - [7659, 0, " "], - [7660, 0, "t"], - [7661, 0, "h"], - [7662, 0, "e"], - [7663, 0, " "], - [7664, 0, "l"], - [7665, 0, "i"], - [7666, 0, "s"], - [7667, 0, "t"], - [7668, 0, ","], - [7669, 0, " "], - [7670, 0, "s"], - [7671, 0, "o"], - [7672, 0, " "], - [7673, 0, "b"], - [7674, 0, "y"], - [7675, 0, " "], - [7676, 0, "c"], - [7677, 0, "a"], - [7678, 0, "u"], - [7679, 0, "s"], - [7680, 0, "a"], - [7681, 0, "l"], - [7682, 0, "i"], - [7683, 0, "t"], - [7684, 0, "y"], - [7685, 0, ","], - [7686, 0, " "], - [7687, 0, "t"], - [7688, 0, "h"], - [7689, 0, "e"], - [7690, 0, "r"], - [7691, 0, "e"], - [7692, 0, " "], - [7693, 0, "m"], - [7694, 0, "u"], - [7695, 0, "s"], - [7696, 0, "t"], - [7697, 0, " "], - [7698, 0, "b"], - [7699, 0, "e"], - [7700, 0, " "], - [7701, 0, "a"], - [7702, 0, " "], - [7703, 0, "p"], - [7704, 0, "r"], - [7705, 0, "i"], - [7706, 0, "o"], - [7707, 0, "r"], - [7708, 0, " "], - [7708, 1], - [7707, 1], - [7706, 1], - [7705, 1], - [7704, 1], - [7703, 1], - [7702, 1], - [7702, 0, "n"], - [7703, 0, " "], - [7704, 0, "o"], - [7705, 0, "p"], - [7706, 0, "e"], - [7707, 0, "r"], - [7708, 0, "a"], - [7709, 0, "t"], - [7710, 0, "i"], - [7711, 0, "o"], - [7712, 0, "n"], - [7713, 0, " "], - [7714, 0, "$"], - [7715, 0, "o"], - [7716, 0, "_"], - [7717, 0, "i"], - [7718, 0, "="], - [7719, 0, "\\"], - [7720, 0, "m"], - [7721, 0, "a"], - [7722, 0, "t"], - [7723, 0, "h"], - [7724, 0, "s"], - [7725, 0, "f"], - [7726, 0, "{"], - [7727, 0, "i"], - [7728, 0, "n"], - [7729, 0, "s"], - [7730, 0, "e"], - [7731, 0, "r"], - [7732, 0, "t"], - [7733, 0, "}"], - [7734, 0, "("], - [7735, 0, "\\"], - [7736, 0, "m"], - [7737, 0, "a"], - [7738, 0, "t"], - [7739, 0, "h"], - [7740, 0, "i"], - [7741, 0, "t"], - [7742, 0, "{"], - [7743, 0, "i"], - [7744, 0, "d"], - [7745, 0, "}"], - [7746, 0, ","], - [7747, 0, " "], - [7748, 0, "\\"], - [7749, 0, "p"], - [7750, 0, "l"], - [7751, 0, "a"], - [7752, 0, "c"], - [7753, 0, "e"], - [7754, 0, "h"], - [7755, 0, "o"], - [7756, 0, "l"], - [7757, 0, "d"], - [7758, 0, "e"], - [7759, 0, "r"], - [7760, 0, ","], - [7761, 0, " "], - [7762, 0, "\\"], - [7763, 0, "p"], - [7764, 0, "l"], - [7765, 0, "a"], - [7766, 0, "c"], - [7767, 0, "e"], - [7768, 0, "h"], - [7769, 0, "o"], - [7770, 0, "l"], - [7771, 0, "d"], - [7772, 0, "e"], - [7773, 0, "r"], - [7774, 0, ")"], - [7775, 0, "$"], - [7776, 0, " "], - [7777, 0, "a"], - [7778, 0, "t"], - [7779, 0, " "], - [7780, 0, "a"], - [7781, 0, " "], - [7782, 0, "p"], - [7783, 0, "r"], - [7784, 0, "i"], - [7785, 0, "o"], - [7786, 0, "r"], - [7787, 0, " "], - [7788, 0, "p"], - [7789, 0, "o"], - [7790, 0, "i"], - [7791, 0, "n"], - [7792, 0, "t"], - [7793, 0, " "], - [7794, 0, "i"], - [7795, 0, "n"], - [7796, 0, " "], - [7797, 0, "t"], - [7798, 0, "h"], - [7799, 0, "e"], - [7800, 0, " "], - [7801, 0, "h"], - [7802, 0, "i"], - [7803, 0, "s"], - [7804, 0, "t"], - [7805, 0, "o"], - [7806, 0, "r"], - [7807, 0, "y"], - [7808, 0, "."], - [7809, 0, " "], - [7810, 0, "M"], - [7811, 0, "o"], - [7812, 0, "r"], - [7813, 0, "e"], - [7814, 0, "o"], - [7815, 0, "v"], - [7816, 0, "e"], - [7817, 0, "r"], - [7818, 0, ","], - [7819, 0, " "], - [7820, 0, "L"], - [7821, 0, "a"], - [7822, 0, "m"], - [7823, 0, "p"], - [7824, 0, "o"], - [7825, 0, "r"], - [7826, 0, "t"], - [7827, 0, " "], - [7828, 0, "t"], - [7829, 0, "i"], - [7830, 0, "m"], - [7831, 0, "e"], - [7832, 0, "s"], - [7833, 0, "t"], - [7834, 0, "a"], - [7835, 0, "m"], - [7836, 0, "p"], - [7837, 0, "s"], - [7838, 0, " "], - [7839, 0, "u"], - [7840, 0, "s"], - [7841, 0, "e"], - [7842, 0, "d"], - [7843, 0, " "], - [7820, 0, "t"], - [7821, 0, "h"], - [7822, 0, "e"], - [7823, 0, " "], - [7841, 1], - [7847, 0, "a"], - [7848, 0, "s"], - [7849, 0, " "], - [7850, 0, "\\"], - [7850, 1], - [7850, 0, "$"], - [7851, 0, "\\"], - [7852, 0, "m"], - [7853, 0, "a"], - [7854, 0, "t"], - [7855, 0, "h"], - [7856, 0, "i"], - [7857, 0, "d"], - [7858, 0, "{"], - [7858, 1], - [7857, 1], - [7857, 0, "t"], - [7858, 0, "{"], - [7859, 0, "i"], - [7860, 0, "d"], - [7861, 0, "}"], - [7862, 0, "$"], - [7863, 0, " "], - [7864, 0, "i"], - [7865, 0, "s"], - [7866, 0, " "], - [7867, 0, "u"], - [7868, 0, "n"], - [7869, 0, "i"], - [7870, 0, "q"], - [7871, 0, "u"], - [7872, 0, "e"], - [7873, 0, ","], - [7874, 0, " "], - [7875, 0, "s"], - [7876, 0, "o"], - [7877, 0, " "], - [7878, 0, "t"], - [7879, 0, "h"], - [7880, 0, "e"], - [7881, 0, "r"], - [7882, 0, "e"], - [7883, 0, " "], - [7884, 0, "m"], - [7885, 0, "u"], - [7886, 0, "s"], - [7887, 0, "t"], - [7888, 0, " "], - [7889, 0, "b"], - [7890, 0, "e"], - [7891, 0, " "], - [7892, 0, "e"], - [7893, 0, "x"], - [7894, 0, "a"], - [7895, 0, "c"], - [7896, 0, "t"], - [7897, 0, "l"], - [7898, 0, "y"], - [7899, 0, " "], - [7900, 0, "o"], - [7901, 0, "n"], - [7902, 0, "e"], - [7903, 0, " "], - [7904, 0, "s"], - [7905, 0, "u"], - [7906, 0, "c"], - [7907, 0, "h"], - [7908, 0, " "], - [7909, 0, "$"], - [7910, 0, "\\"], - [7911, 0, "m"], - [7912, 0, "a"], - [7913, 0, "t"], - [7914, 0, "h"], - [7915, 0, "s"], - [7916, 0, "f"], - [7917, 0, "{"], - [7918, 0, "i"], - [7919, 0, "n"], - [7920, 0, "s"], - [7921, 0, "e"], - [7922, 0, "r"], - [7923, 0, "t"], - [7924, 0, "}"], - [7925, 0, "$"], - [7926, 0, " "], - [7927, 0, "o"], - [7928, 0, "p"], - [7929, 0, "e"], - [7930, 0, "r"], - [7931, 0, "a"], - [7932, 0, "t"], - [7933, 0, "i"], - [7934, 0, "o"], - [7935, 0, "n"], - [7936, 0, ","], - [7937, 0, " "], - [7938, 0, "a"], - [7939, 0, "n"], - [7940, 0, "d"], - [7941, 0, " "], - [7942, 0, "t"], - [7943, 0, "h"], - [7944, 0, "e"], - [7945, 0, "r"], - [7946, 0, "e"], - [7947, 0, " "], - [7948, 0, "c"], - [7949, 0, "a"], - [7950, 0, "n"], - [7951, 0, "n"], - [7952, 0, "o"], - [7953, 0, "t"], - [7954, 0, " "], - [7955, 0, "b"], - [7956, 0, "e"], - [7957, 0, " "], - [7958, 0, "a"], - [7959, 0, "n"], - [7960, 0, "y"], - [7961, 0, " "], - [7962, 0, "$"], - [7963, 0, "\\"], - [7964, 0, "m"], - [7965, 0, "a"], - [7966, 0, "t"], - [7967, 0, "h"], - [7968, 0, "s"], - [7969, 0, "f"], - [7970, 0, "{"], - [7971, 0, "i"], - [7972, 0, "s"], - [7973, 0, "n"], - [7974, 0, "e"], - [7975, 0, "r"], - [7976, 0, "t"], - [7976, 1], - [7975, 1], - [7974, 1], - [7973, 1], - [7972, 1], - [7972, 0, "n"], - [7973, 0, "s"], - [7974, 0, "e"], - [7975, 0, "r"], - [7976, 0, "t"], - [7977, 0, "}"], - [7978, 0, "$"], - [7979, 0, " "], - [7980, 0, "o"], - [7981, 0, "p"], - [7982, 0, "e"], - [7983, 0, "r"], - [7984, 0, "a"], - [7985, 0, "t"], - [7986, 0, "i"], - [7987, 0, "o"], - [7988, 0, "n"], - [7989, 0, " "], - [7990, 0, "f"], - [7991, 0, "o"], - [7992, 0, "r"], - [7993, 0, " "], - [7994, 0, "t"], - [7995, 0, "h"], - [7996, 0, "e"], - [7997, 0, " "], - [7998, 0, "s"], - [7999, 0, "a"], - [8000, 0, "m"], - [8001, 0, "e"], - [8002, 0, " "], - [8003, 0, "$"], - [8004, 0, "\\"], - [8005, 0, "m"], - [8006, 0, "a"], - [8007, 0, "t"], - [8008, 0, "h"], - [8009, 0, "i"], - [8010, 0, "t"], - [8011, 0, "{"], - [8012, 0, "i"], - [8013, 0, "d"], - [8014, 0, "}"], - [8015, 0, "$"], - [8016, 0, " "], - [8017, 0, "a"], - [8018, 0, "t"], - [8019, 0, " "], - [8020, 0, "a"], - [8021, 0, " "], - [8022, 0, "p"], - [8023, 0, "o"], - [8024, 0, "i"], - [8025, 0, "n"], - [8026, 0, "t"], - [8027, 0, " "], - [8028, 0, "a"], - [8029, 0, "f"], - [8030, 0, "t"], - [8031, 0, "e"], - [8032, 0, "r"], - [8033, 0, " "], - [8034, 0, "$"], - [8035, 0, "o"], - [8036, 0, "_"], - [8037, 0, "{"], - [8038, 0, "n"], - [8039, 0, "+"], - [8040, 0, "1"], - [8041, 0, "}"], - [8042, 0, "$"], - [8043, 0, " "], - [8044, 0, "i"], - [8045, 0, "n"], - [8046, 0, " "], - [8047, 0, "t"], - [8048, 0, "h"], - [8049, 0, "e"], - [8050, 0, " "], - [8051, 0, "h"], - [8052, 0, "i"], - [8053, 0, "s"], - [8054, 0, "t"], - [8055, 0, "o"], - [8056, 0, "r"], - [8057, 0, "y"], - [8058, 0, "."], - [8059, 0, "\n"], - [8060, 0, "\n"], - [8061, 0, "T"], - [8062, 0, "h"], - [8063, 0, "u"], - [8064, 0, "s"], - [8065, 0, ","], - [8066, 0, " "], - [8067, 0, "t"], - [8068, 0, "h"], - [8069, 0, "e"], - [8070, 0, " "], - [8071, 0, "o"], - [8072, 0, "n"], - [8073, 0, "l"], - [8074, 0, "y"], - [8075, 0, " "], - [8076, 0, "m"], - [8076, 1], - [8076, 0, "o"], - [8077, 0, "p"], - [8078, 0, "e"], - [8079, 0, "r"], - [8080, 0, "a"], - [8081, 0, "t"], - [8082, 0, "i"], - [8083, 0, "o"], - [8084, 0, "n"], - [8085, 0, " "], - [8086, 0, "t"], - [8087, 0, "h"], - [8088, 0, "a"], - [8089, 0, "t"], - [8090, 0, " "], - [8091, 0, "c"], - [8092, 0, "a"], - [8093, 0, "n"], - [8094, 0, " "], - [8095, 0, "m"], - [8096, 0, "o"], - [8097, 0, "d"], - [8098, 0, "i"], - [8099, 0, "f"], - [8100, 0, "y"], - [8101, 0, " "], - [8102, 0, "t"], - [8103, 0, "h"], - [8104, 0, "e"], - [8105, 0, " "], - [8106, 0, "m"], - [8107, 0, "a"], - [8108, 0, "p"], - [8109, 0, "p"], - [8110, 0, "i"], - [8111, 0, "n"], - [8112, 0, "g"], - [8113, 0, " "], - [8114, 0, "f"], - [8115, 0, "o"], - [8116, 0, "r"], - [8117, 0, " "], - [8118, 0, "t"], - [8119, 0, "h"], - [8120, 0, "e"], - [8121, 0, " "], - [8121, 1], - [8120, 1], - [8119, 1], - [8118, 1], - [8118, 0, "$"], - [8119, 0, "A"], - [8120, 0, "("], - [8121, 0, "\\"], - [8122, 0, "m"], - [8123, 0, "a"], - [8124, 0, "t"], - [8125, 0, "h"], - [8126, 0, "i"], - [8127, 0, "t"], - [8128, 0, "{"], - [8129, 0, "i"], - [8130, 0, "d"], - [8131, 0, "}"], - [8132, 0, "$"], - [8132, 1], - [8132, 0, ")"], - [8133, 0, "$"], - [8134, 0, " "], - [8060, 0, "\n"], - [8061, 0, "N"], - [8062, 0, "o"], - [8063, 0, "t"], - [8064, 0, "e"], - [8065, 0, " "], - [8066, 0, "t"], - [8067, 0, "h"], - [8068, 0, "a"], - [8069, 0, "t"], - [8070, 0, " "], - [8071, 0, "t"], - [8072, 0, "h"], - [8073, 0, "e"], - [8074, 0, " "], - [8074, 1], - [8073, 1], - [8072, 1], - [8071, 1], - [8071, 0, "a"], - [8072, 0, "p"], - [8073, 0, "p"], - [8074, 0, "l"], - [8075, 0, "y"], - [8076, 0, "i"], - [8077, 0, "n"], - [8078, 0, "g"], - [8079, 0, " "], - [8080, 0, "$"], - [8081, 0, "\\"], - [8082, 0, "m"], - [8083, 0, "a"], - [8084, 0, "t"], - [8085, 0, "h"], - [8086, 0, "s"], - [8087, 0, "f"], - [8088, 0, "{"], - [8089, 0, "d"], - [8090, 0, "e"], - [8091, 0, "l"], - [8092, 0, "e"], - [8093, 0, "t"], - [8094, 0, "e"], - [8095, 0, "}"], - [8096, 0, "("], - [8097, 0, "\\"], - [8098, 0, "m"], - [8099, 0, "a"], - [8100, 0, "t"], - [8101, 0, "h"], - [8102, 0, "i"], - [8103, 0, "t"], - [8104, 0, "{"], - [8105, 0, "i"], - [8106, 0, "d"], - [8107, 0, "}"], - [8108, 0, ")"], - [8109, 0, "$"], - [8110, 0, " "], - [8145, 1], - [8144, 1], - [8143, 1], - [8142, 1], - [8141, 1], - [8140, 1], - [8139, 1], - [8138, 1], - [8137, 1], - [8136, 1], - [8135, 1], - [8134, 1], - [8133, 1], - [8132, 1], - [8131, 1], - [8130, 1], - [8129, 1], - [8128, 1], - [8127, 1], - [8126, 1], - [8125, 1], - [8124, 1], - [8123, 1], - [8122, 1], - [8121, 1], - [8120, 1], - [8119, 1], - [8118, 1], - [8117, 1], - [8116, 1], - [8115, 1], - [8114, 1], - [8113, 1], - [8112, 1], - [8111, 1], - [8116, 1], - [8116, 0, "i"], - [8117, 0, "e"], - [8118, 0, "s"], - [8119, 0, " "], - [8120, 0, "o"], - [8121, 0, "n"], - [8122, 0, "l"], - [8123, 0, "y"], - [8158, 0, "i"], - [8159, 0, "n"], - [8160, 0, " "], - [8161, 0, "t"], - [8162, 0, "h"], - [8163, 0, "e"], - [8164, 0, " "], - [8165, 0, "s"], - [8166, 0, "t"], - [8167, 0, "a"], - [8168, 0, "t"], - [8169, 0, "e"], - [8170, 0, " "], - [8157, 0, ","], - [8160, 1], - [8159, 1], - [8159, 0, "a"], - [8160, 0, "n"], - [8161, 0, "d"], - [8162, 0, " "], - [8163, 0, "o"], - [8164, 0, "t"], - [8165, 0, "h"], - [8166, 0, "e"], - [8167, 0, "r"], - [8168, 0, "w"], - [8169, 0, "i"], - [8170, 0, "s"], - [8171, 0, "e"], - [8172, 0, " "], - [8173, 0, "l"], - [8174, 0, "e"], - [8175, 0, "a"], - [8176, 0, "v"], - [8177, 0, "e"], - [8178, 0, "s"], - [8190, 0, "$"], - [8191, 0, "A"], - [8192, 0, "$"], - [8193, 0, " "], - [8194, 0, "u"], - [8195, 0, "n"], - [8196, 0, "c"], - [8197, 0, "h"], - [8198, 0, "a"], - [8199, 0, "n"], - [8200, 0, "g"], - [8201, 0, "e"], - [8202, 0, "d"], - [8203, 0, "."], - [8204, 0, " "], - [8205, 0, "T"], - [8206, 0, "h"], - [8207, 0, "e"], - [8208, 0, " "], - [8209, 0, "o"], - [8210, 0, "p"], - [8211, 0, "e"], - [8212, 0, "r"], - [8213, 0, "a"], - [8214, 0, "t"], - [8215, 0, "i"], - [8216, 0, "o"], - [8217, 0, "n"], - [8218, 0, " "], - [8219, 0, "c"], - [8220, 0, "a"], - [8221, 0, "n"], - [8222, 0, " "], - [8223, 0, "t"], - [8224, 0, "h"], - [8225, 0, "u"], - [8226, 0, "s"], - [8227, 0, " "], - [8228, 0, "o"], - [8229, 0, "n"], - [8230, 0, "l"], - [8231, 0, "y"], - [8232, 0, " "], - [8233, 0, "i"], - [8234, 0, "n"], - [8235, 0, "t"], - [8236, 0, "e"], - [8237, 0, "r"], - [8238, 0, "a"], - [8239, 0, "c"], - [8240, 0, "t"], - [8241, 0, " "], - [8242, 0, "w"], - [8243, 0, "i"], - [8244, 0, "t"], - [8245, 0, "h"], - [8246, 0, " "], - [8247, 0, "a"], - [8248, 0, "n"], - [8249, 0, "o"], - [8250, 0, "t"], - [8251, 0, "h"], - [8252, 0, "e"], - [8253, 0, "r"], - [8254, 0, " "], - [8255, 0, "o"], - [8256, 0, "p"], - [8257, 0, "e"], - [8258, 0, "r"], - [8259, 0, "a"], - [8260, 0, "t"], - [8261, 0, "i"], - [8262, 0, "o"], - [8263, 0, "n"], - [8264, 0, " "], - [8265, 0, "t"], - [8266, 0, "h"], - [8267, 0, "a"], - [8268, 0, "t"], - [8269, 0, " "], - [8270, 0, "m"], - [8271, 0, "o"], - [8272, 0, "d"], - [8273, 0, "i"], - [8274, 0, "f"], - [8275, 0, "i"], - [8276, 0, "e"], - [8277, 0, "s"], - [8278, 0, " "], - [8279, 0, "t"], - [8280, 0, "h"], - [8281, 0, "e"], - [8282, 0, " "], - [8283, 0, "m"], - [8284, 0, "a"], - [8285, 0, "p"], - [8286, 0, "p"], - [8287, 0, "i"], - [8288, 0, "n"], - [8289, 0, "g"], - [8290, 0, " "], - [8291, 0, "f"], - [8292, 0, "o"], - [8293, 0, "r"], - [8294, 0, " "], - [8295, 0, "$"], - [8296, 0, "A"], - [8297, 0, "("], - [8298, 0, "\\"], - [8299, 0, "m"], - [8300, 0, "a"], - [8301, 0, "t"], - [8302, 0, "h"], - [8303, 0, "i"], - [8304, 0, "t"], - [8305, 0, "{"], - [8306, 0, "i"], - [8307, 0, "d"], - [8308, 0, "}"], - [8309, 0, ")"], - [8310, 0, "$"], - [8311, 0, ";"], - [8312, 0, " "], - [8313, 0, "i"], - [8314, 0, "t"], - [8315, 0, " "], - [8316, 0, "i"], - [8317, 0, "s"], - [8318, 0, " "], - [8319, 0, "t"], - [8320, 0, "r"], - [8321, 0, "i"], - [8322, 0, "v"], - [8323, 0, "i"], - [8324, 0, "a"], - [8325, 0, "l"], - [8326, 0, "l"], - [8327, 0, "y"], - [8328, 0, " "], - [8311, 1], - [8311, 0, ","], - [8312, 0, " "], - [8313, 0, "a"], - [8314, 0, "n"], - [8315, 0, "d"], - [8333, 0, "c"], - [8334, 0, "o"], - [8335, 0, "m"], - [8336, 0, "m"], - [8337, 0, "u"], - [8338, 0, "t"], - [8339, 0, "a"], - [8340, 0, "t"], - [8341, 0, "i"], - [8342, 0, "v"], - [8343, 0, "e"], - [8344, 0, " "], - [8345, 0, "w"], - [8346, 0, "i"], - [8347, 0, "t"], - [8348, 0, "h"], - [8349, 0, " "], - [8350, 0, "r"], - [8351, 0, "e"], - [8352, 0, "s"], - [8353, 0, "p"], - [8354, 0, "e"], - [8355, 0, "c"], - [8356, 0, "t"], - [8357, 0, " "], - [8358, 0, "t"], - [8359, 0, "o"], - [8360, 0, " "], - [8361, 0, "a"], - [8203, 0, ","], - [8204, 0, " "], - [8205, 0, "s"], - [8206, 0, "o"], - [8207, 0, " "], - [8208, 0, "i"], - [8209, 0, "t"], - [8210, 0, " "], - [8211, 0, "i"], - [8212, 0, "s"], - [8213, 0, " "], - [8214, 0, "t"], - [8215, 0, "r"], - [8216, 0, "i"], - [8217, 0, "v"], - [8218, 0, "i"], - [8219, 0, "a"], - [8220, 0, "l"], - [8221, 0, "l"], - [8222, 0, "y"], - [8223, 0, " "], - [8224, 0, "c"], - [8225, 0, "o"], - [8226, 0, "m"], - [8227, 0, "m"], - [8228, 0, "u"], - [8229, 0, "t"], - [8230, 0, "a"], - [8231, 0, "t"], - [8232, 0, "i"], - [8233, 0, "v"], - [8234, 0, "e"], - [8235, 0, " "], - [8236, 0, "w"], - [8237, 0, "i"], - [8238, 0, "t"], - [8239, 0, "h"], - [8240, 0, " "], - [8241, 0, "r"], - [8242, 0, "e"], - [8243, 0, "s"], - [8244, 0, "p"], - [8245, 0, "e"], - [8246, 0, "c"], - [8247, 0, "t"], - [8248, 0, " "], - [8249, 0, "t"], - [8250, 0, "o"], - [8251, 0, " "], - [8252, 0, "a"], - [8253, 0, "n"], - [8254, 0, "y"], - [8255, 0, " "], - [8256, 0, "o"], - [8257, 0, "p"], - [8258, 0, "e"], - [8259, 0, "r"], - [8260, 0, "a"], - [8261, 0, "t"], - [8262, 0, "i"], - [8263, 0, "o"], - [8264, 0, "n"], - [8265, 0, " "], - [8266, 0, "t"], - [8267, 0, "h"], - [8268, 0, "a"], - [8269, 0, "t"], - [8270, 0, " "], - [8271, 0, "d"], - [8272, 0, "o"], - [8273, 0, "e"], - [8274, 0, "s"], - [8275, 0, " "], - [8276, 0, "n"], - [8277, 0, "o"], - [8278, 0, "t"], - [8279, 0, " "], - [8280, 0, "m"], - [8281, 0, "o"], - [8282, 0, "d"], - [8283, 0, "i"], - [8284, 0, "f"], - [8285, 0, "y"], - [8286, 0, " "], - [8287, 0, "o"], - [8288, 0, "r"], - [8289, 0, " "], - [8290, 0, "d"], - [8291, 0, "e"], - [8292, 0, "p"], - [8293, 0, "e"], - [8294, 0, "n"], - [8295, 0, "d"], - [8296, 0, " "], - [8297, 0, "o"], - [8298, 0, "n"], - [8299, 0, " "], - [8300, 0, "$"], - [8301, 0, "A"], - [8302, 0, "("], - [8303, 0, "\\"], - [8304, 0, "m"], - [8305, 0, "a"], - [8306, 0, "t"], - [8307, 0, "h"], - [8308, 0, "i"], - [8309, 0, "t"], - [8310, 0, "{"], - [8311, 0, "i"], - [8312, 0, "d"], - [8313, 0, "}"], - [8314, 0, ")"], - [8315, 0, "$"], - [8317, 0, "\n"], - [8318, 0, "\n"], - [7539, 0, "\n"], - [7540, 0, "\\"], - [7541, 0, "s"], - [7542, 0, "u"], - [7543, 0, "b"], - [7544, 0, "s"], - [7545, 0, "u"], - [7546, 0, "b"], - [7547, 0, "s"], - [7548, 0, "e"], - [7549, 0, "c"], - [7550, 0, "t"], - [7551, 0, "i"], - [7552, 0, "o"], - [7553, 0, "n"], - [7554, 0, "{"], - [7555, 0, "D"], - [7556, 0, "e"], - [7557, 0, "l"], - [7558, 0, "e"], - [7559, 0, "t"], - [7560, 0, "i"], - [7561, 0, "o"], - [7562, 0, "n"], - [7563, 0, "}"], - [7564, 0, "\n"], - [7555, 0, "C"], - [7556, 0, "o"], - [7557, 0, "m"], - [7558, 0, "m"], - [7559, 0, "u"], - [7560, 0, "t"], - [7561, 0, "a"], - [7562, 0, "t"], - [7563, 0, "i"], - [7564, 0, "v"], - [7565, 0, "i"], - [7566, 0, "t"], - [7567, 0, "y"], - [7568, 0, " "], - [7569, 0, "o"], - [7570, 0, "f"], - [7571, 0, " "], - [7572, 1], - [7572, 0, "d"], - [8519, 1], - [8518, 1], - [8517, 1], - [8516, 1], - [8515, 1], - [8514, 1], - [8513, 1], - [8512, 1], - [8511, 1], - [8510, 1], - [8509, 1], - [8508, 1], - [8507, 1], - [8506, 1], - [8505, 1], - [8504, 1], - [8503, 1], - [8502, 1], - [8501, 1], - [8500, 1], - [8499, 1], - [8498, 1], - [8497, 1], - [8496, 1], - [8495, 1], - [8494, 1], - [8493, 1], - [8492, 1], - [8491, 1], - [8490, 1], - [8489, 1], - [8488, 1], - [8487, 1], - [8486, 1], - [8485, 1], - [8484, 1], - [8483, 1], - [8482, 1], - [8481, 1], - [8480, 1], - [8479, 1], - [8478, 1], - [8477, 1], - [8476, 1], - [8475, 1], - [8474, 1], - [8473, 1], - [8472, 1], - [8471, 1], - [8470, 1], - [8469, 1], - [8468, 1], - [8467, 1], - [8466, 1], - [8465, 1], - [8464, 1], - [8463, 1], - [8462, 1], - [8461, 1], - [8460, 1], - [8459, 1], - [8458, 1], - [8457, 1], - [8456, 1], - [8455, 1], - [8454, 1], - [8453, 1], - [8452, 1], - [8451, 1], - [8450, 1], - [8449, 1], - [8448, 1], - [8447, 1], - [8446, 1], - [8445, 1], - [8444, 1], - [8443, 1], - [8442, 1], - [8441, 1], - [8440, 1], - [8439, 1], - [8438, 1], - [8437, 1], - [8436, 1], - [8435, 1], - [8434, 1], - [8433, 1], - [8432, 1], - [8431, 1], - [8430, 1], - [8429, 1], - [8428, 1], - [8427, 1], - [8426, 1], - [8425, 1], - [8424, 1], - [8423, 1], - [8422, 1], - [8421, 1], - [8420, 1], - [8419, 1], - [8418, 1], - [8417, 1], - [8416, 1], - [8415, 1], - [8414, 1], - [8413, 1], - [8412, 1], - [8411, 1], - [8410, 1], - [8409, 1], - [8408, 1], - [8407, 1], - [8406, 1], - [8405, 1], - [8404, 1], - [8403, 1], - [8402, 1], - [8401, 1], - [8400, 1], - [8399, 1], - [8398, 1], - [8397, 1], - [8396, 1], - [8395, 1], - [8394, 1], - [8393, 1], - [8392, 1], - [8391, 1], - [8390, 1], - [8389, 1], - [8388, 1], - [8387, 1], - [8386, 1], - [8385, 1], - [8384, 1], - [8383, 1], - [8382, 1], - [8381, 1], - [8380, 1], - [8379, 1], - [8378, 1], - [8377, 1], - [8376, 1], - [8375, 1], - [8374, 1], - [8373, 1], - [8372, 1], - [8371, 1], - [8370, 1], - [8369, 1], - [8368, 1], - [8367, 1], - [8366, 1], - [8365, 1], - [8364, 1], - [8363, 1], - [8362, 1], - [7742, 1], - [7741, 1], - [7741, 0, "e"], - [7742, 0, "x"], - [7743, 0, "i"], - [7744, 0, "s"], - [7745, 0, "t"], - [8365, 0, "T"], - [8366, 0, "h"], - [8367, 0, "e"], - [8368, 0, " "], - [8369, 0, "f"], - [8370, 0, "i"], - [8371, 0, "r"], - [8372, 0, "s"], - [8373, 0, "t"], - [8374, 0, " "], - [8375, 0, "k"], - [8376, 0, "i"], - [8377, 0, "n"], - [8378, 0, "d"], - [8379, 0, " "], - [8380, 0, "o"], - [8381, 0, "f"], - [8382, 0, " "], - [8383, 0, "o"], - [8384, 0, "p"], - [8385, 0, "e"], - [8386, 0, "r"], - [8387, 0, "a"], - [8388, 0, "t"], - [8389, 0, "i"], - [8390, 0, "o"], - [8391, 0, "n"], - [8392, 0, " "], - [8393, 0, "t"], - [8394, 0, "h"], - [8395, 0, "a"], - [8396, 0, "t"], - [8397, 0, " "], - [8398, 0, "c"], - [8399, 0, "a"], - [8400, 0, "n"], - [8401, 0, " "], - [8402, 0, "a"], - [8402, 1], - [8402, 0, "m"], - [8403, 0, "o"], - [8404, 0, "d"], - [8405, 0, "i"], - [8406, 0, "f"], - [8407, 0, "y"], - [8408, 0, " "], - [8409, 0, "t"], - [8410, 0, "h"], - [8411, 0, "e"], - [8412, 0, " "], - [8413, 0, "s"], - [8414, 0, "a"], - [8415, 0, "m"], - [8416, 0, "e"], - [8417, 0, " "], - [8418, 0, "$"], - [8419, 0, "A"], - [8420, 0, "("], - [8421, 0, "\\"], - [8422, 0, "m"], - [8423, 0, "a"], - [8424, 0, "t"], - [8425, 0, "h"], - [8426, 0, "i"], - [8427, 0, "t"], - [8428, 0, "{"], - [8429, 0, "i"], - [8430, 0, "d"], - [8431, 0, "}"], - [8432, 0, ")"], - [8433, 0, "$"], - [8434, 0, " "], - [8435, 0, "i"], - [8436, 0, "s"], - [8437, 0, " "], - [8438, 0, "a"], - [8439, 0, " "], - [8440, 0, "$"], - [8441, 0, "\\"], - [8442, 0, "m"], - [8443, 0, "a"], - [8444, 0, "t"], - [8445, 0, "h"], - [8446, 0, "s"], - [8447, 0, "f"], - [8448, 0, "{"], - [8449, 0, "d"], - [8450, 0, "e"], - [8451, 0, "l"], - [8452, 0, "e"], - [8453, 0, "t"], - [8454, 0, "e"], - [8455, 0, "}"], - [8456, 0, "$"], - [8457, 0, " "], - [8458, 0, "o"], - [8459, 0, "p"], - [8460, 0, "e"], - [8461, 0, "r"], - [8462, 0, "a"], - [8463, 0, "t"], - [8464, 0, "i"], - [8465, 0, "o"], - [8466, 0, "n"], - [8467, 0, " "], - [8468, 0, "f"], - [8469, 0, "o"], - [8470, 0, "r"], - [8471, 0, " "], - [8472, 0, "t"], - [8473, 0, "h"], - [8474, 0, "e"], - [8475, 0, " "], - [8476, 0, "s"], - [8477, 0, "a"], - [8478, 0, "m"], - [8479, 0, "e"], - [8480, 0, " "], - [8481, 0, "l"], - [8482, 0, "i"], - [8483, 0, "s"], - [8484, 0, "t"], - [8485, 0, " "], - [8486, 0, "e"], - [8487, 0, "l"], - [8488, 0, "e"], - [8489, 0, "m"], - [8490, 0, "e"], - [8491, 0, "n"], - [8492, 0, "t"], - [8493, 0, " "], - [8494, 0, "$"], - [8495, 0, "\\"], - [8496, 0, "m"], - [8497, 0, "a"], - [8498, 0, "t"], - [8499, 0, "h"], - [8500, 0, "i"], - [8501, 0, "t"], - [8502, 0, "{"], - [8503, 0, "i"], - [8504, 0, "d"], - [8505, 0, "}"], - [8506, 0, "$"], - [8507, 0, "."], - [8508, 0, " "], - [8509, 0, "A"], - [8510, 0, "s"], - [8511, 0, " "], - [8512, 0, "t"], - [8513, 0, "h"], - [8514, 0, "e"], - [8515, 0, " "], - [8516, 0, "r"], - [8517, 0, "u"], - [8518, 0, "l"], - [8519, 0, "e"], - [8520, 0, " "], - [8521, 0, "f"], - [8522, 0, "o"], - [8523, 0, "r"], - [8524, 0, " "], - [8525, 0, "a"], - [8526, 0, "p"], - [8527, 0, "p"], - [8528, 0, "l"], - [8529, 0, "y"], - [8530, 0, "i"], - [8531, 0, "n"], - [8532, 0, "g"], - [8533, 0, " "], - [8534, 0, "t"], - [8535, 0, "h"], - [8536, 0, "i"], - [8537, 0, "s"], - [8538, 0, " "], - [8539, 0, "o"], - [8540, 0, "p"], - [8541, 0, "e"], - [8542, 0, "r"], - [8543, 0, "a"], - [8544, 0, "t"], - [8545, 0, "i"], - [8546, 0, "o"], - [8547, 0, "n"], - [8548, 0, " "], - [8549, 0, "i"], - [8550, 0, "s"], - [8551, 0, " "], - [8552, 0, "i"], - [8553, 0, "d"], - [8554, 0, "e"], - [8555, 0, "m"], - [8556, 0, "p"], - [8557, 0, "o"], - [8558, 0, "t"], - [8559, 0, "e"], - [8560, 0, "n"], - [8561, 0, "t"], - [8562, 0, ","], - [8563, 0, " "], - [8564, 0, "t"], - [8565, 0, "h"], - [8566, 0, "e"], - [8567, 0, " "], - [8568, 0, "p"], - [8569, 0, "r"], - [8570, 0, "e"], - [8571, 0, "s"], - [8572, 0, "e"], - [8573, 0, "n"], - [8574, 0, "c"], - [8575, 0, "e"], - [8576, 0, " "], - [8577, 0, "o"], - [8578, 0, "f"], - [8579, 0, " "], - [8580, 0, "a"], - [8581, 0, "n"], - [8582, 0, "y"], - [8583, 0, " "], - [8584, 0, "o"], - [8585, 0, "t"], - [8586, 0, "h"], - [8587, 0, "e"], - [8588, 0, "r"], - [8589, 0, " "], - [8590, 0, "$"], - [8591, 0, "\\"], - [8592, 0, "m"], - [8593, 0, "a"], - [8594, 0, "t"], - [8595, 0, "h"], - [8596, 0, "s"], - [8597, 0, "f"], - [8598, 0, "{"], - [8599, 0, "d"], - [8600, 0, "e"], - [8601, 0, "l"], - [8602, 0, "e"], - [8603, 0, "t"], - [8604, 0, "e"], - [8605, 0, "}"], - [8606, 0, "("], - [8607, 0, "\\"], - [8608, 0, "m"], - [8609, 0, "a"], - [8610, 0, "t"], - [8611, 0, "h"], - [8612, 0, "i"], - [8613, 0, "t"], - [8614, 0, "{"], - [8615, 0, "i"], - [8616, 0, "d"], - [8617, 0, "}"], - [8618, 0, ")"], - [8619, 0, "$"], - [8620, 0, " "], - [8621, 0, "o"], - [8622, 0, "p"], - [8623, 0, "e"], - [8624, 0, "r"], - [8625, 0, "a"], - [8626, 0, "t"], - [8627, 0, "i"], - [8628, 0, "o"], - [8629, 0, "n"], - [8630, 0, "s"], - [8631, 0, " "], - [8632, 0, "b"], - [8633, 0, "e"], - [8634, 0, "f"], - [8635, 0, "o"], - [8636, 0, "r"], - [8637, 0, "e"], - [8638, 0, " "], - [8639, 0, "o"], - [8640, 0, "r"], - [8641, 0, " "], - [8642, 0, "a"], - [8643, 0, "f"], - [8644, 0, "t"], - [8645, 0, "e"], - [8646, 0, "r"], - [8647, 0, " "], - [8648, 0, "$"], - [8649, 0, "{"], - [8649, 1], - [8649, 0, "o"], - [8650, 0, "_"], - [8651, 0, "{"], - [8652, 0, "n"], - [8653, 0, "+"], - [8654, 0, "1"], - [8655, 0, "}"], - [8656, 0, "$"], - [8657, 0, " "], - [8658, 0, "i"], - [8659, 0, "n"], - [8660, 0, " "], - [8661, 0, "t"], - [8662, 0, "h"], - [8663, 0, "e"], - [8664, 0, " "], - [8665, 0, "h"], - [8666, 0, "i"], - [8667, 0, "s"], - [8668, 0, "t"], - [8669, 0, "o"], - [8670, 0, "r"], - [8671, 0, "y"], - [8672, 0, " "], - [8673, 0, "d"], - [8674, 0, "o"], - [8675, 0, "e"], - [8676, 0, "s"], - [8677, 0, " "], - [8678, 0, "n"], - [8679, 0, "o"], - [8680, 0, "t"], - [8681, 0, " "], - [8682, 0, "h"], - [8683, 0, "a"], - [8684, 0, "v"], - [8685, 0, "e"], - [8686, 0, " "], - [8687, 0, "a"], - [8688, 0, "n"], - [8689, 0, "y"], - [8690, 0, " "], - [8691, 0, "e"], - [8692, 0, "f"], - [8693, 0, "f"], - [8694, 0, "e"], - [8695, 0, "c"], - [8696, 0, "t"], - [8697, 0, " "], - [8698, 0, "o"], - [8699, 0, "n"], - [8700, 0, " "], - [8701, 0, "t"], - [8702, 0, "h"], - [8703, 0, "e"], - [8704, 0, " "], - [8705, 0, "f"], - [8706, 0, "i"], - [8707, 0, "n"], - [8708, 0, "a"], - [8709, 0, "l"], - [8710, 0, " "], - [8711, 0, "s"], - [8712, 0, "t"], - [8713, 0, "a"], - [8714, 0, "t"], - [8715, 0, "e"], - [8716, 0, "."], - [8717, 0, "\n"], - [8718, 0, "\n"], - [8719, 0, "T"], - [8720, 0, "h"], - [8721, 0, "e"], - [8722, 0, " "], - [8723, 0, "o"], - [8724, 0, "n"], - [8725, 0, "l"], - [8726, 0, "y"], - [8727, 0, " "], - [8728, 0, "o"], - [8729, 0, "t"], - [8730, 0, "h"], - [8731, 0, "e"], - [8732, 0, "r"], - [8733, 0, " "], - [8734, 0, "k"], - [8735, 0, "i"], - [8736, 0, "n"], - [8737, 0, "d"], - [8738, 0, " "], - [8739, 0, "o"], - [8740, 0, "f"], - [8741, 0, " "], - [8742, 0, "o"], - [8743, 0, "p"], - [8744, 0, "e"], - [8745, 0, "r"], - [8746, 0, "a"], - [8747, 0, "t"], - [8748, 0, "i"], - [8749, 0, "o"], - [8750, 0, "n"], - [8751, 0, " "], - [8752, 0, "t"], - [8753, 0, "h"], - [8754, 0, "a"], - [8755, 0, "t"], - [8756, 0, " "], - [8757, 0, "c"], - [8758, 0, "a"], - [8759, 0, "n"], - [8760, 0, " "], - [8761, 0, "d"], - [8762, 0, "e"], - [8763, 0, "p"], - [8764, 0, "e"], - [8765, 0, "n"], - [8766, 0, "d"], - [8767, 0, " "], - [8768, 0, "o"], - [8769, 0, "n"], - [8770, 0, " "], - [8771, 0, "o"], - [8772, 0, "r"], - [8773, 0, " "], - [8774, 0, "m"], - [8775, 0, "o"], - [8776, 0, "d"], - [8777, 0, "i"], - [8778, 0, "f"], - [8779, 0, "y"], - [8780, 0, " "], - [8781, 0, "$"], - [8782, 0, "A"], - [8783, 0, "("], - [8784, 0, "\\"], - [8785, 0, "m"], - [8786, 0, "a"], - [8787, 0, "t"], - [8788, 0, "h"], - [8789, 0, "i"], - [8790, 0, "t"], - [8791, 0, "{"], - [8792, 0, "i"], - [8793, 0, "d"], - [8794, 0, "}"], - [8795, 0, ")"], - [8796, 0, "$"], - [8797, 0, " "], - [8798, 0, "i"], - [8799, 0, "s"], - [8800, 0, " "], - [8801, 0, "a"], - [8802, 0, "n"], - [8803, 0, " "], - [8804, 0, "\\"], - [8804, 1], - [8804, 0, "$"], - [8805, 0, "\\"], - [8806, 0, "m"], - [8807, 0, "a"], - [8808, 0, "t"], - [8809, 0, "h"], - [8810, 0, "s"], - [8811, 0, "f"], - [8812, 0, "{"], - [8813, 0, "i"], - [8814, 0, "n"], - [8815, 0, "s"], - [8816, 0, "e"], - [8817, 0, "r"], - [8818, 0, "t"], - [8819, 0, "}"], - [8820, 0, "$"], - [8821, 0, " "], - [8822, 0, "o"], - [8823, 0, "p"], - [8824, 0, "e"], - [8825, 0, "r"], - [8826, 0, "a"], - [8827, 0, "t"], - [8828, 0, "i"], - [8829, 0, "o"], - [8830, 0, "n"], - [8831, 0, " "], - [8832, 0, "i"], - [8833, 0, "n"], - [8834, 0, " "], - [8835, 0, "w"], - [8836, 0, "h"], - [8837, 0, "i"], - [8838, 0, "c"], - [8839, 0, "h"], - [8840, 0, " "], - [8840, 1], - [8839, 1], - [8838, 1], - [8837, 1], - [8836, 1], - [8835, 1], - [8834, 1], - [8833, 1], - [8832, 1], - [8831, 1], - [8820, 0, "("], - [8821, 0, "\\"], - [8822, 0, "p"], - [8823, 0, "l"], - [8824, 0, "a"], - [8825, 0, "c"], - [8826, 0, "e"], - [8827, 0, "h"], - [8828, 0, "o"], - [8829, 0, "l"], - [8830, 0, "d"], - [8831, 0, "e"], - [8832, 0, "r"], - [8833, 0, ","], - [8834, 0, " "], - [8835, 0, "\\"], - [8836, 0, "m"], - [8837, 0, "a"], - [8838, 0, "t"], - [8839, 0, "h"], - [8840, 0, "i"], - [8841, 0, "t"], - [8842, 0, "{"], - [8843, 0, "i"], - [8844, 0, "d"], - [8845, 0, "}"], - [8846, 0, ","], - [8847, 0, " "], - [8848, 0, "\\"], - [8849, 0, "p"], - [8850, 0, "l"], - [8851, 0, "a"], - [8852, 0, "c"], - [8853, 0, "e"], - [8854, 0, "h"], - [8855, 0, "o"], - [8856, 0, "l"], - [8857, 0, "d"], - [8858, 0, "e"], - [8859, 0, "r"], - [8860, 0, ")"], - [8872, 0, "."], - [8719, 0, " "], - [8719, 0, "W"], - [8720, 0, "e"], - [8721, 0, " "], - [8722, 0, "s"], - [8723, 0, "h"], - [8724, 0, "o"], - [8725, 0, "w"], - [8726, 0, "e"], - [8727, 0, "d"], - [8728, 0, " "], - [8729, 0, "t"], - [8730, 0, "h"], - [8731, 0, "a"], - [8732, 0, "t"], - [8733, 0, " "], - [8734, 0, "a"], - [8735, 0, "n"], - [8736, 0, " "], - [8737, 0, "$"], - [8738, 0, "\\"], - [8739, 0, "m"], - [8740, 0, "a"], - [8741, 0, "t"], - [8742, 0, "h"], - [8743, 0, "s"], - [8744, 0, "f"], - [8745, 0, "{"], - [8746, 0, "i"], - [8747, 0, "n"], - [8748, 0, "s"], - [8749, 0, "e"], - [8750, 0, "r"], - [8751, 0, "t"], - [8752, 0, "}"], - [8753, 0, "("], - [8754, 0, "\\"], - [8755, 0, "m"], - [8756, 0, "a"], - [8757, 0, "t"], - [8758, 0, "h"], - [8759, 0, "i"], - [8760, 0, "t"], - [8761, 0, "{"], - [8762, 0, "i"], - [8763, 0, "d"], - [8764, 0, "}"], - [8765, 0, ","], - [8766, 0, " "], - [8767, 0, "\\"], - [8768, 0, "p"], - [8769, 0, "l"], - [8770, 0, "a"], - [8771, 0, "c"], - [8772, 0, "e"], - [8773, 0, "h"], - [8774, 0, "o"], - [8775, 0, "l"], - [8776, 0, "d"], - [8777, 0, "e"], - [8778, 0, "r"], - [8779, 0, ","], - [8780, 0, " "], - [8781, 0, "\\"], - [8782, 0, "p"], - [8783, 0, "l"], - [8784, 0, "a"], - [8785, 0, "c"], - [8786, 0, "e"], - [8787, 0, "h"], - [8788, 0, "o"], - [8789, 0, "l"], - [8790, 0, "d"], - [8791, 0, "e"], - [8792, 0, "r"], - [8793, 0, ")"], - [8794, 0, "$"], - [8795, 0, " "], - [8796, 0, "o"], - [8797, 0, "p"], - [8798, 0, "e"], - [8799, 0, "r"], - [8800, 0, "a"], - [8801, 0, "t"], - [8802, 0, "i"], - [8803, 0, "o"], - [8804, 0, "n"], - [8805, 0, " "], - [8806, 0, "c"], - [8807, 0, "a"], - [8808, 0, "n"], - [8809, 0, " "], - [8810, 0, "o"], - [8811, 0, "n"], - [8812, 0, "l"], - [8813, 0, "y"], - [8814, 0, " "], - [8815, 0, "o"], - [8816, 0, "c"], - [8817, 0, "c"], - [8818, 0, "u"], - [8819, 0, "r"], - [8820, 0, " "], - [8821, 0, "p"], - [8822, 0, "r"], - [8823, 0, "i"], - [8824, 0, "o"], - [8825, 0, "r"], - [8826, 0, " "], - [8827, 0, "t"], - [8828, 0, "o"], - [8829, 0, " "], - [8830, 0, "$"], - [8831, 0, "\\"], - [8832, 0, "m"], - [8833, 0, "a"], - [8834, 0, "t"], - [8835, 0, "h"], - [8836, 0, "s"], - [8837, 0, "f"], - [8838, 0, "{"], - [8839, 0, "d"], - [8840, 0, "e"], - [8841, 0, "l"], - [8842, 0, "e"], - [8843, 0, "t"], - [8844, 0, "e"], - [8845, 0, "}"], - [8846, 0, "("], - [8847, 0, "\\"], - [8848, 0, "m"], - [8849, 0, "a"], - [8850, 0, "t"], - [8851, 0, "h"], - [8852, 0, "i"], - [8853, 0, "t"], - [8854, 0, "{"], - [8855, 0, "i"], - [8856, 0, "d"], - [8857, 0, "}"], - [8858, 0, ")"], - [8859, 0, "$"], - [8860, 0, "."], - [8861, 0, " "], - [8862, 0, "T"], - [8863, 0, "h"], - [8864, 0, "u"], - [8865, 0, "s"], - [8866, 0, ","], - [8868, 1], - [8868, 0, "t"], - [9021, 0, ","], - [9022, 0, " "], - [9023, 0, "o"], - [9024, 0, "r"], - [9025, 0, " "], - [9026, 0, "a"], - [9027, 0, " "], - [9028, 0, "r"], - [9029, 0, "e"], - [9030, 0, "c"], - [9031, 0, "u"], - [9032, 0, "r"], - [9033, 0, "s"], - [9034, 0, "i"], - [9035, 0, "v"], - [9036, 0, "e"], - [9037, 0, " "], - [9038, 0, "c"], - [9039, 0, "a"], - [9040, 0, "l"], - [9041, 0, "l"], - [9042, 0, " "], - [9043, 0, "t"], - [9044, 0, "o"], - [9045, 0, " "], - [9046, 0, "t"], - [9047, 0, "h"], - [9048, 0, "e"], - [9049, 0, " "], - [9050, 0, "$"], - [9051, 0, "\\"], - [9052, 0, "m"], - [9053, 0, "a"], - [9054, 0, "t"], - [9055, 0, "h"], - [9056, 0, "r"], - [9057, 0, "m"], - [9058, 0, "{"], - [9059, 0, "a"], - [9060, 0, "p"], - [9061, 0, "p"], - [9062, 0, "l"], - [9063, 0, "y"], - [9064, 0, "}"], - [9065, 0, "$"], - [9066, 0, " "], - [9067, 0, "f"], - [9068, 0, "u"], - [9069, 0, "n"], - [9070, 0, "c"], - [9071, 0, "t"], - [9072, 0, "i"], - [9073, 0, "o"], - [9074, 0, "n"], - [9075, 0, " "], - [9076, 0, "t"], - [9077, 0, "h"], - [9078, 0, "a"], - [9079, 0, "t"], - [9080, 0, " "], - [9081, 0, "u"], - [9082, 0, "s"], - [9083, 0, "e"], - [9084, 0, "s"], - [9085, 0, " "], - [9086, 0, "s"], - [9087, 0, "u"], - [9088, 0, "c"], - [9089, 0, "h"], - [9090, 0, " "], - [9091, 0, "a"], - [9092, 0, "n"], - [9093, 0, " "], - [9094, 0, "o"], - [9095, 0, "p"], - [9096, 0, "e"], - [9097, 0, "r"], - [9098, 0, "a"], - [9099, 0, "t"], - [9100, 0, "i"], - [9101, 0, "o"], - [9102, 0, "n"], - [9103, 0, " "], - [9104, 0, "i"], - [9105, 0, "n"], - [9106, 0, "t"], - [9107, 0, "e"], - [9108, 0, "r"], - [9109, 0, "n"], - [9110, 0, "a"], - [9111, 0, "l"], - [9112, 0, "l"], - [9113, 0, "y"], - [9115, 0, " "], - [9116, 0, "N"], - [9117, 0, "o"], - [9118, 0, "t"], - [9119, 0, "e"], - [9120, 0, " "], - [9121, 0, "t"], - [9122, 0, "h"], - [9123, 0, "a"], - [9124, 0, "t"], - [9125, 0, " "], - [9126, 0, "a"], - [9127, 0, "l"], - [9128, 0, "l"], - [9129, 0, " "], - [9130, 0, "l"], - [9131, 0, "o"], - [9132, 0, "o"], - [9133, 0, "k"], - [9134, 0, "u"], - [9135, 0, "p"], - [9136, 0, "s"], - [9137, 0, " "], - [9137, 1], - [9136, 1], - [9135, 1], - [9134, 1], - [9133, 1], - [9132, 1], - [9131, 1], - [9130, 1], - [9129, 1], - [9128, 1], - [9127, 1], - [9126, 1], - [9126, 0, "w"], - [9127, 0, "h"], - [9128, 0, "e"], - [9129, 0, "n"], - [9130, 0, " "], - [9131, 0, "a"], - [9132, 0, "p"], - [9133, 0, "p"], - [9134, 0, "l"], - [9135, 0, "y"], - [9136, 0, "i"], - [9137, 0, "n"], - [9138, 0, "g"], - [9139, 0, " "], - [9140, 0, "s"], - [9141, 0, "u"], - [9142, 0, "c"], - [9143, 0, "h"], - [9144, 0, " "], - [9145, 0, "a"], - [9146, 0, "n"], - [9147, 0, " "], - [9148, 0, "i"], - [9149, 0, "n"], - [9150, 0, "s"], - [9151, 0, "e"], - [9152, 0, "r"], - [9152, 1], - [9151, 1], - [9150, 1], - [9149, 1], - [9148, 1], - [9148, 0, "$"], - [9149, 0, "\\"], - [9150, 0, "m"], - [9151, 0, "a"], - [9152, 0, "t"], - [9153, 0, "h"], - [9154, 0, "s"], - [9155, 0, "f"], - [9156, 0, "{"], - [9157, 0, "i"], - [9158, 0, "n"], - [9159, 0, "s"], - [9160, 0, "e"], - [9161, 0, "r"], - [9162, 0, "t"], - [9163, 0, "}"], - [9164, 0, "$"], - [9165, 0, " "], - [9166, 0, "o"], - [9167, 0, "p"], - [9168, 0, "e"], - [9169, 0, "r"], - [9170, 0, "a"], - [9171, 0, "t"], - [9172, 0, "i"], - [9173, 0, "o"], - [9174, 0, "n"], - [9175, 0, ","], - [9176, 0, " "], - [9177, 0, "t"], - [9178, 0, "h"], - [9179, 0, "e"], - [9180, 0, " "], - [9181, 0, "q"], - [9182, 0, "u"], - [9183, 0, "e"], - [9184, 0, "r"], - [9185, 0, "y"], - [9186, 0, " "], - [9187, 0, "f"], - [9188, 0, "o"], - [9189, 0, "r"], - [9190, 0, " "], - [9191, 0, "$"], - [9192, 0, "A"], - [9193, 0, "("], - [9194, 0, "\\"], - [9195, 0, "m"], - [9196, 0, "a"], - [9197, 0, "t"], - [9198, 0, "h"], - [9199, 0, "i"], - [9200, 0, "t"], - [9201, 0, "{"], - [9202, 0, "p"], - [9203, 0, "r"], - [9204, 0, "e"], - [9205, 0, "v"], - [9206, 0, "}"], - [9207, 0, ")"], - [9208, 0, "$"], - [9209, 0, " "], - [9210, 0, "i"], - [9211, 0, "g"], - [9212, 0, "n"], - [9213, 0, "o"], - [9214, 0, "r"], - [9215, 0, "e"], - [9216, 0, "s"], - [9217, 0, " "], - [9218, 0, "t"], - [9219, 0, "h"], - [9220, 0, "e"], - [9221, 0, " "], - [9222, 0, "\\"], - [9223, 0, "m"], - [9224, 0, "a"], - [9225, 0, "t"], - [9226, 0, "h"], - [9227, 0, "i"], - [9228, 0, "t"], - [9229, 0, "{"], - [9230, 0, "v"], - [9231, 0, "a"], - [9232, 0, "l"], - [9233, 0, "u"], - [9234, 0, "e"], - [9235, 0, "}"], - [9222, 0, "$"], - [9237, 0, "$"], - [9238, 0, " "], - [9239, 0, "e"], - [9240, 0, "l"], - [9241, 0, "e"], - [9242, 0, "m"], - [9243, 0, "e"], - [9244, 0, "n"], - [9245, 0, "t"], - [9246, 0, " "], - [9247, 0, "o"], - [9248, 0, "f"], - [9249, 0, " "], - [9250, 0, "t"], - [9251, 0, "h"], - [9252, 0, "e"], - [9253, 0, " "], - [9185, 1], - [9185, 0, "i"], - [9186, 0, "e"], - [9187, 0, "s"], - [9218, 1], - [9217, 1], - [9216, 1], - [9215, 1], - [9214, 1], - [9213, 1], - [9212, 1], - [9212, 0, "i"], - [9213, 0, "g"], - [9214, 0, "n"], - [9215, 0, "o"], - [9216, 0, "r"], - [9217, 0, "e"], - [9255, 0, "t"], - [9256, 0, "u"], - [9257, 0, "p"], - [9258, 0, "l"], - [9259, 0, "e"], - [9260, 0, " "], - [9261, 0, "a"], - [9262, 0, "n"], - [9263, 0, "d"], - [9264, 0, " "], - [9265, 0, "l"], - [9266, 0, "e"], - [9267, 0, "a"], - [9268, 0, "v"], - [9269, 0, "e"], - [9270, 0, " "], - [9271, 0, "i"], - [9272, 0, "t"], - [9273, 0, " "], - [9274, 0, "u"], - [9275, 0, "n"], - [9276, 0, "a"], - [9276, 1], - [9276, 0, "c"], - [9277, 0, "h"], - [9278, 0, "a"], - [9279, 0, "n"], - [9280, 0, "g"], - [9281, 0, "e"], - [9282, 0, "d"], - [9283, 0, ","], - [9284, 0, " "], - [9285, 0, "a"], - [9286, 0, "n"], - [9287, 0, "d"], - [9288, 0, " "], - [9289, 0, "o"], - [9290, 0, "n"], - [9291, 0, "l"], - [9292, 0, "y"], - [9293, 0, " "], - [9294, 0, "e"], - [9295, 0, "x"], - [9296, 0, "a"], - [9297, 0, "m"], - [9298, 0, "i"], - [9299, 0, "n"], - [9300, 0, "e"], - [9301, 0, " "], - [9302, 0, "a"], - [9303, 0, "n"], - [9304, 0, "d"], - [9305, 0, " "], - [9306, 0, "m"], - [9307, 0, "o"], - [9308, 0, "d"], - [9309, 0, "i"], - [9310, 0, "f"], - [9311, 0, "y"], - [9312, 0, " "], - [9313, 0, "t"], - [9314, 0, "h"], - [9315, 0, "e"], - [9316, 0, " "], - [9317, 0, "$"], - [9318, 0, "\\"], - [9319, 0, "m"], - [9320, 0, "a"], - [9321, 0, "t"], - [9322, 0, "h"], - [9323, 0, "i"], - [9324, 0, "t"], - [9325, 0, "{"], - [9326, 0, "n"], - [9327, 0, "e"], - [9328, 0, "x"], - [9329, 0, "t"], - [9330, 0, "}"], - [9331, 0, "$"], - [9332, 0, " "], - [9333, 0, "e"], - [9334, 0, "l"], - [9335, 0, "e"], - [9336, 0, "m"], - [9337, 0, "e"], - [9338, 0, "n"], - [9339, 0, "t"], - [9340, 0, " "], - [9341, 0, "o"], - [9342, 0, "f"], - [9343, 0, " "], - [9344, 0, "t"], - [9345, 0, "h"], - [9346, 0, "e"], - [9347, 0, " "], - [9348, 0, "t"], - [9349, 0, "u"], - [9350, 0, "p"], - [9351, 0, "l"], - [9352, 0, "e"], - [9353, 0, "."], - [9354, 0, " "], - [9355, 0, "B"], - [9356, 0, "y"], - [9357, 0, " "], - [9358, 0, "c"], - [9359, 0, "o"], - [9360, 0, "n"], - [9361, 0, "t"], - [9362, 0, "r"], - [9363, 0, "a"], - [9364, 0, "s"], - [9365, 0, "t"], - [9366, 0, ","], - [9367, 0, " "], - [9368, 0, "$"], - [9368, 1], - [9368, 0, "a"], - [9369, 0, "p"], - [9370, 0, "p"], - [9371, 0, "l"], - [9372, 0, "y"], - [9373, 0, "i"], - [9374, 0, "n"], - [9375, 0, "g"], - [9376, 0, " "], - [9377, 0, "$"], - [9378, 0, "|"], - [9378, 1], - [9378, 0, "\\"], - [9379, 0, "m"], - [9380, 0, "a"], - [9381, 0, "t"], - [9382, 0, "h"], - [9383, 0, "s"], - [9384, 0, "f"], - [9385, 0, "{"], - [9386, 0, "d"], - [9387, 0, "e"], - [9388, 0, "l"], - [9389, 0, "e"], - [9390, 0, "t"], - [9391, 0, "e"], - [9392, 0, "}"], - [9393, 0, "("], - [9394, 0, "\\"], - [9395, 0, "m"], - [9396, 0, "a"], - [9397, 0, "t"], - [9398, 0, "h"], - [9399, 0, "i"], - [9400, 0, "t"], - [9401, 0, "{"], - [9402, 0, "i"], - [9403, 0, "d"], - [9404, 0, "}"], - [9405, 0, ")"], - [9406, 0, "$"], - [9407, 0, " "], - [9408, 0, "m"], - [9409, 0, "o"], - [9410, 0, "d"], - [9411, 0, "i"], - [9412, 0, "f"], - [9413, 0, "i"], - [9414, 0, "e"], - [9415, 0, "s"], - [9416, 0, " "], - [9417, 0, "o"], - [9418, 0, "n"], - [9419, 0, "l"], - [9420, 0, "y"], - [9421, 0, " "], - [9422, 0, "t"], - [9423, 0, "h"], - [9424, 0, "e"], - [9425, 0, " "], - [9426, 0, "$"], - [9427, 0, "\\"], - [9428, 0, "m"], - [9429, 0, "a"], - [9430, 0, "t"], - [9431, 0, "h"], - [9432, 0, "i"], - [9433, 0, "t"], - [9434, 0, "{"], - [9435, 0, "v"], - [9436, 0, "a"], - [9437, 0, "l"], - [9438, 0, "u"], - [9439, 0, "e"], - [9440, 0, "}"], - [9441, 0, "$"], - [9442, 0, " "], - [9443, 0, "e"], - [9444, 0, "l"], - [9445, 0, "e"], - [9446, 0, "m"], - [9447, 0, "e"], - [9448, 0, "n"], - [9449, 0, "t"], - [9450, 0, " "], - [9451, 0, "o"], - [9452, 0, "f"], - [9453, 0, " "], - [9454, 0, "$"], - [9455, 0, "A"], - [9456, 0, "("], - [9457, 0, "\\"], - [9458, 0, "m"], - [9459, 0, "a"], - [9460, 0, "t"], - [9461, 0, "h"], - [9462, 0, "i"], - [9463, 0, "t"], - [9464, 0, "{"], - [9465, 0, "i"], - [9466, 0, "d"], - [9467, 0, "}"], - [9468, 0, ")"], - [9469, 0, "$"], - [9470, 0, ","], - [9471, 0, " "], - [9472, 0, "a"], - [9473, 0, "n"], - [9474, 0, "d"], - [9475, 0, " "], - [9475, 1], - [9474, 1], - [9473, 1], - [9472, 1], - [9472, 0, "a"], - [9473, 0, "n"], - [9474, 0, "d"], - [9475, 0, " "], - [9476, 0, "l"], - [9477, 0, "e"], - [9478, 0, "a"], - [9479, 0, "v"], - [9480, 0, "e"], - [9481, 0, "s"], - [9482, 0, " "], - [9483, 0, "t"], - [9484, 0, "h"], - [9485, 0, "e"], - [9486, 0, " "], - [9487, 0, "$"], - [9488, 0, "\\"], - [9489, 0, "m"], - [9490, 0, "a"], - [9491, 0, "t"], - [9492, 0, "h"], - [9493, 0, "i"], - [9494, 0, "t"], - [9495, 0, "{"], - [9496, 0, "n"], - [9497, 0, "e"], - [9498, 0, "x"], - [9499, 0, "t"], - [9500, 0, "}"], - [9501, 0, "$"], - [9502, 0, " "], - [9503, 0, "e"], - [9504, 0, "l"], - [9505, 0, "e"], - [9506, 0, "m"], - [9507, 0, "e"], - [9508, 0, "n"], - [9509, 0, "t"], - [9510, 0, " "], - [9511, 0, "u"], - [9512, 0, "n"], - [9513, 0, "c"], - [9514, 0, "h"], - [9515, 0, "a"], - [9516, 0, "n"], - [9517, 0, "g"], - [9518, 0, "e"], - [9519, 0, "d"], - [9520, 0, "."], - [9521, 0, " "], - [9522, 0, "T"], - [9523, 0, "h"], - [9524, 0, "u"], - [9525, 0, "s"], - [9526, 0, ","], - [9527, 0, " "], - [9528, 0, "t"], - [9529, 0, "h"], - [9530, 0, "e"], - [9531, 0, " "], - [9531, 1], - [9530, 1], - [9529, 1], - [9528, 1], - [9527, 1], - [9526, 1], - [9525, 1], - [9524, 1], - [9523, 1], - [9522, 1], - [9521, 1], - [9521, 0, "\n"], - [9522, 0, "\n"], - [9523, 0, "T"], - [9524, 0, "h"], - [9525, 0, "u"], - [9526, 0, "s"], - [9527, 0, ","], - [9528, 0, " "], - [9529, 0, "i"], - [9530, 0, "n"], - [9531, 0, "s"], - [9532, 0, "e"], - [9533, 0, "r"], - [9534, 0, "t"], - [9535, 0, "i"], - [9536, 0, "n"], - [9537, 0, "g"], - [9538, 0, " "], - [9539, 0, "$"], - [9540, 0, "o"], - [9541, 0, "_"], - [9542, 0, "{"], - [9543, 0, "n"], - [9544, 0, "+"], - [9545, 0, "1"], - [9546, 0, "}"], - [9547, 0, "="], - [9548, 0, "\\"], - [9549, 0, "m"], - [9550, 0, "a"], - [9551, 0, "t"], - [9552, 0, "h"], - [9553, 0, "s"], - [9554, 0, "f"], - [9555, 0, "{"], - [9556, 0, "d"], - [9557, 0, "e"], - [9558, 0, "l"], - [9559, 0, "e"], - [9560, 0, "t"], - [9561, 0, "e"], - [9562, 0, "}"], - [9563, 0, "("], - [9564, 0, "\\"], - [9565, 0, "m"], - [9566, 0, "a"], - [9567, 0, "t"], - [9568, 0, "h"], - [9569, 0, "i"], - [9570, 0, "t"], - [9571, 0, "{"], - [9572, 0, "i"], - [9573, 0, "d"], - [9574, 0, "}"], - [9575, 0, ")"], - [9576, 0, "$"], - [9577, 0, " "], - [9578, 0, "a"], - [9579, 0, "t"], - [9580, 0, " "], - [9581, 0, "a"], - [9582, 0, "n"], - [9583, 0, "y"], - [9584, 0, " "], - [9585, 0, "c"], - [9586, 0, "a"], - [9587, 0, "u"], - [9588, 0, "s"], - [9589, 0, "a"], - [9590, 0, "l"], - [9591, 0, "l"], - [9592, 0, "y"], - [9593, 0, " "], - [9594, 0, "r"], - [9595, 0, "e"], - [9596, 0, "a"], - [9597, 0, "d"], - [9598, 0, "y"], - [9599, 0, " "], - [9600, 0, "p"], - [9601, 0, "o"], - [9602, 0, "i"], - [9603, 0, "n"], - [9604, 0, "t"], - [9605, 0, " "], - [9606, 0, "i"], - [9607, 0, "n"], - [9608, 0, " "], - [9609, 0, "a"], - [9610, 0, " "], - [9611, 0, "h"], - [9612, 0, "i"], - [9613, 0, "s"], - [9614, 0, "t"], - [9615, 0, "o"], - [9616, 0, "r"], - [9617, 0, "y"], - [9618, 0, " "], - [9537, 1], - [9536, 1], - [9535, 1], - [9534, 1], - [9533, 1], - [9532, 1], - [9531, 1], - [9530, 1], - [9529, 1], - [9529, 0, "i"], - [9530, 0, "f"], - [9571, 0, "i"], - [9572, 0, "s"], - [9573, 0, " "], - [9574, 0, "i"], - [9575, 0, "n"], - [9576, 0, "s"], - [9577, 0, "e"], - [9578, 0, "r"], - [9579, 0, "t"], - [9580, 0, "e"], - [9581, 0, "d"], - [9582, 0, " "], - [9623, 1], - [9623, 0, ","], - [9624, 0, " "], - [9625, 0, "t"], - [9626, 0, "h"], - [9627, 0, "e"], - [9628, 0, " "], - [9629, 0, "f"], - [9630, 0, "i"], - [9631, 0, "n"], - [9632, 0, "a"], - [9633, 0, "l"], - [9634, 0, " "], - [9635, 0, "s"], - [9636, 0, "t"], - [9637, 0, "a"], - [9638, 0, "t"], - [9639, 0, "e"], - [9640, 0, " "], - [9641, 0, "d"], - [9642, 0, "o"], - [9643, 0, "e"], - [9644, 0, "s"], - [9645, 0, " "], - [9646, 0, "n"], - [9647, 0, "o"], - [9648, 0, "t"], - [9649, 0, " "], - [9650, 0, "d"], - [9651, 0, "e"], - [9652, 0, "p"], - [9653, 0, "e"], - [9654, 0, "n"], - [9655, 0, "d"], - [9656, 0, " "], - [9657, 0, "o"], - [9658, 0, "n"], - [9659, 0, " "], - [9660, 0, "t"], - [9661, 0, "h"], - [9662, 0, "e"], - [9663, 0, " "], - [9664, 0, "i"], - [9665, 0, "n"], - [9666, 0, "s"], - [9667, 0, "e"], - [9668, 0, "r"], - [9669, 0, "t"], - [9670, 0, "i"], - [9671, 0, "o"], - [9672, 0, "n"], - [9673, 0, " "], - [9674, 0, "p"], - [9675, 0, "o"], - [9676, 0, "i"], - [9677, 0, "n"], - [9678, 0, "t"], - [9679, 0, ","], - [9680, 0, " "], - [9681, 0, "b"], - [9682, 0, "e"], - [9683, 0, "c"], - [9684, 0, "a"], - [9685, 0, "u"], - [9686, 0, "s"], - [9687, 0, "e"], - [9688, 0, " "], - [9689, 0, "t"], - [9690, 0, "h"], - [9691, 0, "e"], - [9692, 0, " "], - [9693, 0, "i"], - [9694, 0, "n"], - [9695, 0, "s"], - [9696, 0, "e"], - [9697, 0, "r"], - [9698, 0, "t"], - [9699, 0, "e"], - [9700, 0, "d"], - [9701, 0, " "], - [9702, 0, "o"], - [9703, 0, "p"], - [9704, 0, "e"], - [9705, 0, "r"], - [9706, 0, "a"], - [9707, 0, "t"], - [9708, 0, "i"], - [9709, 0, "o"], - [9710, 0, "n"], - [9711, 0, " "], - [9712, 0, "d"], - [9713, 0, "o"], - [9714, 0, "e"], - [9715, 0, "s"], - [9716, 0, " "], - [9717, 0, "n"], - [9718, 0, "o"], - [9719, 0, "t"], - [9720, 0, " "], - [9721, 0, "i"], - [9722, 0, "n"], - [9723, 0, "t"], - [9724, 0, "e"], - [9725, 0, "r"], - [9726, 0, "a"], - [9727, 0, "c"], - [9728, 0, "t"], - [9729, 0, " "], - [9730, 0, "w"], - [9731, 0, "i"], - [9732, 0, "t"], - [9733, 0, "h"], - [9734, 0, " "], - [9735, 0, "a"], - [9736, 0, "n"], - [9737, 0, "y"], - [9738, 0, " "], - [9739, 0, "p"], - [9740, 0, "r"], - [9741, 0, "i"], - [9742, 0, "o"], - [9743, 0, "r"], - [9744, 0, " "], - [9745, 0, "o"], - [9746, 0, "r"], - [9747, 0, " "], - [9748, 0, "f"], - [9749, 0, "o"], - [9750, 0, "l"], - [9751, 0, "l"], - [9752, 0, "o"], - [9753, 0, "w"], - [9754, 0, "i"], - [9755, 0, "n"], - [9756, 0, "g"], - [9757, 0, " "], - [9758, 0, "o"], - [9759, 0, "p"], - [9760, 0, "e"], - [9761, 0, "r"], - [9762, 0, "a"], - [9763, 0, "t"], - [9764, 0, "i"], - [9765, 0, "o"], - [9766, 0, "n"], - [9767, 0, "s"], - [9768, 0, "."], - [9769, 0, "\n"], - [9770, 0, "\n"], - [9771, 0, "\\"], - [9772, 0, "s"], - [9773, 0, "u"], - [9774, 0, "b"], - [9775, 0, "s"], - [9776, 0, "u"], - [9777, 0, "b"], - [9778, 0, "s"], - [9779, 0, "e"], - [9780, 0, "c"], - [9781, 0, "t"], - [9782, 0, "i"], - [9783, 0, "o"], - [9784, 0, "n"], - [9785, 0, "{"], - [9786, 0, "C"], - [9787, 0, "o"], - [9788, 0, "m"], - [9789, 0, "m"], - [9790, 0, "u"], - [9791, 0, "t"], - [9792, 0, "a"], - [9793, 0, "t"], - [9794, 0, "i"], - [9795, 0, "v"], - [9796, 0, "i"], - [9797, 0, "t"], - [9798, 0, "y"], - [9799, 0, " "], - [9800, 0, "o"], - [9801, 0, "f"], - [9802, 0, " "], - [9803, 0, "i"], - [9804, 0, "n"], - [9805, 0, "s"], - [9806, 0, "e"], - [9807, 0, "r"], - [9808, 0, "t"], - [9809, 0, "i"], - [9810, 0, "o"], - [9811, 0, "n"], - [9812, 0, "}"], - [9813, 0, "\n"], - [9814, 0, "\n"], - [9815, 0, "N"], - [9816, 0, "o"], - [9817, 0, "w"], - [9818, 0, " "], - [9819, 0, "c"], - [9820, 0, "o"], - [9821, 0, "n"], - [9822, 0, "s"], - [9823, 0, "i"], - [9824, 0, "d"], - [9825, 0, "e"], - [9826, 0, "r"], - [9827, 0, " "], - [9828, 0, "t"], - [9829, 0, "h"], - [9830, 0, "e"], - [9831, 0, " "], - [9832, 0, "c"], - [9833, 0, "a"], - [9834, 0, "s"], - [9835, 0, "e"], - [9836, 0, " "], - [9837, 0, "t"], - [9838, 0, "h"], - [9839, 0, "a"], - [9840, 0, "t"], - [9841, 0, " "], - [9842, 0, "$"], - [9843, 0, "{"], - [9843, 1], - [9843, 0, "o"], - [9844, 0, "_"], - [9845, 0, "{"], - [9846, 0, "n"], - [9847, 0, "+"], - [9848, 0, "1"], - [9849, 0, "}"], - [9850, 0, "="], - [9851, 0, "\\"], - [9852, 0, "m"], - [9853, 0, "a"], - [9854, 0, "t"], - [9855, 0, "h"], - [9856, 0, "s"], - [9857, 0, "f"], - [9858, 0, "{"], - [9859, 0, "i"], - [9860, 0, "n"], - [9861, 0, "s"], - [9862, 0, "e"], - [9863, 0, "r"], - [9864, 0, "t"], - [9865, 0, "}"], - [9866, 0, "("], - [9867, 0, "\\"], - [9868, 0, "m"], - [9869, 0, "a"], - [9870, 0, "t"], - [9871, 0, "h"], - [9872, 0, "i"], - [9873, 0, "t"], - [9874, 0, "{"], - [9875, 0, "i"], - [9876, 0, "d"], - [9877, 0, "}"], - [9878, 0, ","], - [9879, 0, " "], - [9880, 0, "\\"], - [9881, 0, "m"], - [9882, 0, "a"], - [9883, 0, "t"], - [9884, 0, "h"], - [9885, 0, "i"], - [9886, 0, "t"], - [9887, 0, "{"], - [9888, 0, "p"], - [9889, 0, "r"], - [9890, 0, "e"], - [9891, 0, "v"], - [9892, 0, "}"], - [9893, 0, ","], - [9894, 0, " "], - [9895, 0, "v"], - [9896, 0, ")"], - [9897, 0, "$"], - [9898, 0, "."], - [9899, 0, " "], - [9900, 0, "I"], - [9901, 0, "n"], - [9902, 0, " "], - [9903, 0, "t"], - [9904, 0, "h"], - [9905, 0, "i"], - [9906, 0, "s"], - [9907, 0, " "], - [9908, 0, "o"], - [9909, 0, "p"], - [9910, 0, "e"], - [9911, 0, "r"], - [9912, 0, "a"], - [9913, 0, "t"], - [9914, 0, "i"], - [9915, 0, "o"], - [9916, 0, "n"], - [9917, 0, ","], - [9918, 0, " "], - [9919, 0, "$"], - [9920, 0, "\\"], - [9921, 0, "m"], - [9922, 0, "a"], - [9923, 0, "t"], - [9924, 0, "h"], - [9925, 0, "i"], - [9926, 0, "t"], - [9927, 0, "{"], - [9928, 0, "i"], - [9929, 0, "d"], - [9930, 0, "}"], - [9931, 0, "$"], - [9932, 0, " "], - [9933, 0, "i"], - [9934, 0, "s"], - [9935, 0, " "], - [9936, 0, "a"], - [9937, 0, " "], - [9938, 0, "f"], - [9939, 0, "r"], - [9940, 0, "e"], - [9941, 0, "s"], - [9942, 0, "h"], - [9943, 0, "l"], - [9944, 0, "y"], - [9945, 0, " "], - [9946, 0, "g"], - [9947, 0, "e"], - [9948, 0, "n"], - [9949, 0, "e"], - [9950, 0, "r"], - [9951, 0, "a"], - [9952, 0, "t"], - [9953, 0, "e"], - [9954, 0, "d"], - [9955, 0, " "], - [9956, 0, "L"], - [9957, 0, "a"], - [9958, 0, "m"], - [9959, 0, "p"], - [9960, 0, "o"], - [9961, 0, "r"], - [9962, 0, "t"], - [9963, 0, " "], - [9964, 0, "t"], - [9965, 0, "i"], - [9966, 0, "m"], - [9967, 0, "e"], - [9968, 0, "s"], - [9969, 0, "t"], - [9970, 0, "a"], - [9971, 0, "m"], - [9972, 0, "p"], - [9917, 1], - [9916, 1], - [9915, 1], - [9914, 1], - [9913, 1], - [9912, 1], - [9911, 1], - [9910, 1], - [9909, 1], - [9908, 1], - [9907, 1], - [9906, 1], - [9905, 1], - [9904, 1], - [9903, 1], - [9902, 1], - [9901, 1], - [9900, 1], - [9900, 0, "T"], - [9901, 0, "h"], - [9902, 0, "e"], - [9903, 0, " "], - [9904, 0, "L"], - [9905, 0, "a"], - [9906, 0, "m"], - [9907, 0, "p"], - [9908, 0, "o"], - [9909, 0, "r"], - [9910, 0, "t"], - [9911, 0, " "], - [9912, 0, "t"], - [9913, 0, "i"], - [9914, 0, "m"], - [9915, 0, "e"], - [9916, 0, "s"], - [9917, 0, "t"], - [9918, 0, "a"], - [9919, 0, "m"], - [9920, 0, "p"], - [9939, 1], - [9938, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9957, 1], - [9958, 0, "b"], - [9959, 0, "y"], - [9960, 0, " "], - [9961, 0, "t"], - [9961, 1], - [9960, 1], - [9959, 1], - [9958, 1], - [9957, 0, "b"], - [9958, 0, "y"], - [9959, 0, " "], - [9960, 0, "t"], - [9961, 0, "h"], - [9962, 0, "e"], - [9963, 0, " "], - [9964, 0, "p"], - [9965, 0, "e"], - [9966, 0, "e"], - [9967, 0, "r"], - [9968, 0, " "], - [9969, 0, "o"], - [9970, 0, "n"], - [9971, 0, " "], - [9972, 0, "w"], - [9973, 0, "h"], - [9974, 0, "i"], - [9975, 0, "c"], - [9976, 0, "h"], - [9977, 0, " "], - [9978, 0, "t"], - [9979, 0, "h"], - [9980, 0, "e"], - [9981, 0, " "], - [9982, 0, "e"], - [9983, 0, "d"], - [9984, 0, "i"], - [9985, 0, "t"], - [9986, 0, " "], - [9987, 0, "w"], - [9988, 0, "a"], - [9989, 0, "s"], - [9990, 0, " "], - [9991, 0, "p"], - [9992, 0, "e"], - [9993, 0, "r"], - [9994, 0, "f"], - [9995, 0, "o"], - [9996, 0, "r"], - [9997, 0, "m"], - [9998, 0, "e"], - [9999, 0, "d"], - [10000, 0, "."], - [10001, 0, " "], - [10002, 0, "B"], - [9900, 0, "\n"], - [9901, 0, "\n"], - [9900, 0, "L"], - [9901, 0, "e"], - [9902, 0, "t"], - [9903, 0, " "], - [9904, 0, "$"], - [9905, 0, "A"], - [9906, 0, "_"], - [9907, 0, "o"], - [9908, 0, "$"], - [9909, 0, " "], - [9910, 0, "b"], - [9911, 0, "e"], - [9912, 0, " "], - [9913, 0, "t"], - [9914, 0, "h"], - [9915, 0, "e"], - [9916, 0, " "], - [9917, 0, "s"], - [9918, 0, "t"], - [9919, 0, "a"], - [9920, 0, "t"], - [9921, 0, "e"], - [9922, 0, " "], - [9923, 0, "o"], - [9924, 0, "f"], - [9925, 0, " "], - [9926, 0, "t"], - [9927, 0, "h"], - [9928, 0, "e"], - [9929, 0, " "], - [9930, 0, "p"], - [9931, 0, "e"], - [9932, 0, "e"], - [9933, 0, "r"], - [9934, 0, " "], - [9935, 0, "o"], - [9936, 0, "n"], - [9937, 0, " "], - [9938, 0, "w"], - [9939, 0, "h"], - [9940, 0, "i"], - [9941, 0, "c"], - [9942, 0, "h"], - [9943, 0, " "], - [9944, 0, "$"], - [9945, 0, "o"], - [9946, 0, "_"], - [9947, 0, "{"], - [9948, 0, "n"], - [9949, 0, "+"], - [9950, 0, "1"], - [9951, 0, "}"], - [9952, 0, "$"], - [9953, 0, " "], - [9954, 0, "w"], - [9955, 0, "a"], - [9956, 0, "s"], - [9957, 0, " "], - [9958, 0, "g"], - [9959, 0, "e"], - [9960, 0, "n"], - [9961, 0, "e"], - [9962, 0, "r"], - [9963, 0, "a"], - [9964, 0, "t"], - [9965, 0, "e"], - [9966, 0, "d"], - [9967, 0, ","], - [9968, 0, " "], - [9969, 0, "i"], - [9970, 0, "m"], - [9971, 0, "m"], - [9972, 0, "e"], - [9973, 0, "d"], - [9974, 0, "i"], - [9975, 0, "a"], - [9976, 0, "t"], - [9977, 0, "e"], - [9978, 0, "l"], - [9979, 0, "y"], - [9980, 0, " "], - [9981, 0, "a"], - [9982, 0, "f"], - [9983, 0, "t"], - [9984, 0, "e"], - [9985, 0, "r"], - [9986, 0, " "], - [9987, 0, "$"], - [9988, 0, "o"], - [9989, 0, "_"], - [9990, 0, "{"], - [9991, 0, "n"], - [9992, 0, "+"], - [9993, 0, "1"], - [9994, 0, "}"], - [9995, 0, "$"], - [9996, 0, " "], - [9997, 0, "w"], - [9998, 0, "a"], - [9999, 0, "s"], - [10000, 0, " "], - [10001, 0, "l"], - [10002, 0, "o"], - [10003, 0, "c"], - [10004, 0, "a"], - [10005, 0, "l"], - [10006, 0, "l"], - [10007, 0, "y"], - [10008, 0, " "], - [10009, 0, "a"], - [10010, 0, "p"], - [10011, 0, "p"], - [10012, 0, "l"], - [10013, 0, "i"], - [10014, 0, "e"], - [10015, 0, "d"], - [10016, 0, "."], - [10017, 0, " "], - [10122, 1], - [10122, 0, "L"], - [10123, 0, "e"], - [10124, 0, "t"], - [10125, 0, " "], - [10126, 0, "$"], - [10127, 0, "A"], - [10128, 0, "_"], - [10129, 0, "o"], - [10130, 0, "$"], - [10131, 0, " "], - [10132, 0, "b"], - [10133, 0, "e"], - [10134, 0, " "], - [10135, 0, "t"], - [10136, 0, "h"], - [10137, 0, "e"], - [10138, 0, " "], - [10139, 0, "s"], - [10140, 0, "t"], - [10141, 0, "a"], - [10142, 0, "t"], - [10143, 0, "e"], - [10144, 0, " "], - [10145, 0, "o"], - [10146, 0, "f"], - [10147, 0, " "], - [10148, 0, "t"], - [10149, 0, "h"], - [10150, 0, "e"], - [10151, 0, " "], - [10152, 0, "p"], - [10153, 0, "e"], - [10154, 0, "e"], - [10155, 0, "r"], - [10156, 0, " "], - [10157, 0, "o"], - [10158, 0, "n"], - [10159, 0, " "], - [10160, 0, "w"], - [10161, 0, "h"], - [10162, 0, "i"], - [10163, 0, "c"], - [10164, 0, "h"], - [10165, 0, " "], - [10166, 0, "$"], - [10167, 0, "o"], - [10168, 0, "_"], - [10169, 0, "{"], - [10170, 0, "n"], - [10171, 0, "+"], - [10172, 0, "1"], - [10173, 0, "}"], - [10174, 0, "$"], - [10175, 0, " "], - [10176, 0, "w"], - [10177, 0, "a"], - [10178, 0, "s"], - [10179, 0, " "], - [10180, 0, "g"], - [10181, 0, "e"], - [10182, 0, "n"], - [10183, 0, "e"], - [10184, 0, "r"], - [10185, 0, "a"], - [10186, 0, "t"], - [10187, 0, "e"], - [10188, 0, "d"], - [10189, 0, ","], - [10190, 0, " "], - [10191, 0, "i"], - [10192, 0, "m"], - [10193, 0, "m"], - [10194, 0, "e"], - [10195, 0, "d"], - [10196, 0, "i"], - [10197, 0, "a"], - [10198, 0, "t"], - [10199, 0, "e"], - [10200, 0, "l"], - [10201, 0, "y"], - [10202, 0, " "], - [10203, 0, "a"], - [10204, 0, "f"], - [10205, 0, "t"], - [10206, 0, "e"], - [10207, 0, "r"], - [10208, 0, " "], - [10209, 0, "$"], - [10210, 0, "#"], - [10210, 1], - [10210, 0, "o"], - [10211, 0, "_"], - [10212, 0, "{"], - [10213, 0, "n"], - [10214, 0, "+"], - [10215, 0, "1"], - [10216, 0, "}"], - [10217, 0, "$"], - [10218, 0, " "], - [10219, 0, "w"], - [10220, 0, "a"], - [10221, 0, "s"], - [10222, 0, " "], - [10223, 0, "l"], - [10224, 0, "o"], - [10225, 0, "c"], - [10226, 0, "a"], - [10227, 0, "l"], - [10228, 0, "l"], - [10229, 0, "y"], - [10230, 0, " "], - [10231, 0, "a"], - [10232, 0, "p"], - [10233, 0, "p"], - [10234, 0, "l"], - [10235, 0, "i"], - [10236, 0, "e"], - [10237, 0, "d"], - [10238, 0, "."], - [10019, 1], - [10018, 1], - [10017, 1], - [10016, 1], - [10015, 1], - [10014, 1], - [10013, 1], - [10012, 1], - [10011, 1], - [10010, 1], - [10009, 1], - [10008, 1], - [10007, 1], - [10006, 1], - [10005, 1], - [10004, 1], - [10003, 1], - [10002, 1], - [10001, 1], - [10000, 1], - [9999, 1], - [9998, 1], - [9997, 1], - [9996, 1], - [9995, 1], - [9994, 1], - [9993, 1], - [9992, 1], - [9991, 1], - [9990, 1], - [9989, 1], - [9988, 1], - [9987, 1], - [9986, 1], - [9985, 1], - [9984, 1], - [9983, 1], - [9982, 1], - [9981, 1], - [9980, 1], - [9979, 1], - [9978, 1], - [9977, 1], - [9976, 1], - [9975, 1], - [9974, 1], - [9973, 1], - [9972, 1], - [9971, 1], - [9970, 1], - [9969, 1], - [9968, 1], - [9967, 1], - [9966, 1], - [9965, 1], - [9964, 1], - [9963, 1], - [9962, 1], - [9961, 1], - [9960, 1], - [9959, 1], - [9958, 1], - [9957, 1], - [9956, 1], - [9955, 1], - [9954, 1], - [9953, 1], - [9952, 1], - [9951, 1], - [9950, 1], - [9949, 1], - [9948, 1], - [9947, 1], - [9946, 1], - [9945, 1], - [9944, 1], - [9943, 1], - [9942, 1], - [9941, 1], - [9940, 1], - [9939, 1], - [9938, 1], - [9937, 1], - [9936, 1], - [9935, 1], - [9934, 1], - [9933, 1], - [9932, 1], - [9931, 1], - [9930, 1], - [9929, 1], - [9928, 1], - [9927, 1], - [9926, 1], - [9925, 1], - [9924, 1], - [9923, 1], - [9922, 1], - [9921, 1], - [9920, 1], - [9919, 1], - [9918, 1], - [9917, 1], - [9916, 1], - [9915, 1], - [9914, 1], - [9913, 1], - [9912, 1], - [9911, 1], - [9910, 1], - [9909, 1], - [9908, 1], - [9907, 1], - [9906, 1], - [9905, 1], - [9904, 1], - [9903, 1], - [9902, 1], - [9901, 1], - [9900, 1], - [10119, 0, " "], - [10120, 0, "B"], - [10121, 0, "y"], - [10122, 0, " "], - [10123, 0, "t"], - [10124, 0, "h"], - [10125, 0, "e"], - [10126, 0, " "], - [10127, 0, "d"], - [10128, 0, "e"], - [10129, 0, "f"], - [10130, 0, "i"], - [10131, 0, "n"], - [10132, 0, "i"], - [10133, 0, "t"], - [10134, 0, "i"], - [10135, 0, "o"], - [10136, 0, "n"], - [10137, 0, " "], - [10138, 0, "o"], - [10139, 0, "f"], - [10140, 0, " "], - [10141, 0, "L"], - [10142, 0, "a"], - [10143, 0, "m"], - [10144, 0, "p"], - [10145, 0, "o"], - [10146, 0, "r"], - [10147, 0, "t"], - [10148, 0, " "], - [10149, 0, "t"], - [10150, 0, "i"], - [10151, 0, "m"], - [10152, 0, "e"], - [10153, 0, "s"], - [10154, 0, "t"], - [10155, 0, "a"], - [10156, 0, "m"], - [10157, 0, "p"], - [10158, 0, "s"], - [10159, 0, ","], - [10160, 0, " "], - [10161, 0, "$"], - [10162, 0, "\\"], - [10163, 0, "m"], - [10164, 0, "a"], - [10165, 0, "t"], - [10166, 0, "h"], - [10167, 0, "i"], - [10168, 0, "t"], - [10169, 0, "{"], - [10170, 0, "i"], - [10171, 0, "d"], - [10172, 0, "}"], - [10173, 0, "$"], - [10174, 0, " "], - [10175, 0, "i"], - [10176, 0, "s"], - [10177, 0, " "], - [10178, 0, "t"], - [10179, 0, "h"], - [10180, 0, "e"], - [10181, 0, " "], - [10182, 0, "g"], - [10183, 0, "r"], - [10184, 0, "e"], - [10185, 0, "a"], - [10186, 0, "t"], - [10187, 0, "e"], - [10188, 0, "s"], - [10189, 0, "t"], - [10190, 0, " "], - [10191, 0, "t"], - [10192, 0, "i"], - [10193, 0, "m"], - [10194, 0, "e"], - [10195, 0, "s"], - [10196, 0, "t"], - [10197, 0, "a"], - [10198, 0, "m"], - [10199, 0, "p"], - [10200, 0, " "], - [10201, 0, "i"], - [10202, 0, "n"], - [10203, 0, " "], - [10204, 0, "$"], - [10205, 0, "A"], - [10206, 0, "_"], - [10207, 0, "o"], - [10208, 0, "$"], - [10209, 0, "."], - [10210, 0, " "], - [10211, 0, "T"], - [10212, 0, "h"], - [10213, 0, "e"], - [10214, 0, "r"], - [10215, 0, "e"], - [10216, 0, "f"], - [10217, 0, "o"], - [10218, 0, "r"], - [10219, 0, "e"], - [10220, 0, ","], - [10221, 0, " "], - [10222, 0, "t"], - [10223, 0, "h"], - [10224, 0, "e"], - [10225, 0, " "], - [10226, 0, "$"], - [10227, 0, "\\"], - [10228, 0, "m"], - [10229, 0, "a"], - [10230, 0, "t"], - [10231, 0, "h"], - [10232, 0, "r"], - [10233, 0, "m"], - [10234, 0, "{"], - [10235, 0, "a"], - [10236, 0, "p"], - [10237, 0, "p"], - [10238, 0, "l"], - [10239, 0, "y"], - [10240, 0, "}"], - [10241, 0, "$"], - [10242, 0, " "], - [10009, 1], - [10009, 0, "p"], - [10069, 1], - [10086, 1], - [10085, 1], - [10084, 1], - [10083, 1], - [10082, 1], - [10082, 0, "b"], - [10083, 0, "e"], - [10084, 0, "f"], - [10085, 0, "o"], - [10086, 0, "r"], - [10087, 0, "e"], - [10109, 1], - [10108, 1], - [10107, 1], - [10106, 1], - [10105, 1], - [10104, 1], - [10103, 1], - [10102, 1], - [10110, 0, ","], - [10111, 0, " "], - [10112, 0, "a"], - [10113, 0, "n"], - [10114, 0, "d"], - [10115, 0, " "], - [10116, 0, "l"], - [10117, 0, "e"], - [10118, 0, "t"], - [10119, 0, " "], - [10120, 0, "$"], - [10121, 0, "A"], - [10122, 0, "_"], - [10123, 0, "p"], - [10124, 0, "'"], - [10125, 0, "$"], - [10126, 0, " "], - [10127, 0, "b"], - [10128, 0, "e"], - [10129, 0, " "], - [10130, 0, "t"], - [10131, 0, "h"], - [10132, 0, "e"], - [10133, 0, " "], - [10134, 0, "s"], - [10135, 0, "t"], - [10136, 0, "a"], - [10137, 0, "t"], - [10138, 0, "e"], - [10139, 0, " "], - [10140, 0, "o"], - [10141, 0, "f"], - [10142, 0, " "], - [10143, 0, "t"], - [10144, 0, "h"], - [10145, 0, "e"], - [10146, 0, " "], - [10147, 0, "s"], - [10148, 0, "a"], - [10149, 0, "m"], - [10150, 0, "e"], - [10151, 0, " "], - [10152, 0, "p"], - [10153, 0, "e"], - [10154, 0, "e"], - [10155, 0, "r"], - [10156, 0, " "], - [10157, 0, "i"], - [10158, 0, "m"], - [10159, 0, "m"], - [10160, 0, "e"], - [10161, 0, "d"], - [10162, 0, "i"], - [10163, 0, "a"], - [10164, 0, "t"], - [10165, 0, "e"], - [10166, 0, "l"], - [10167, 0, "y"], - [10168, 0, " "], - [10169, 0, "a"], - [10170, 0, "f"], - [10171, 0, "t"], - [10172, 0, "e"], - [10173, 0, "r"], - [10174, 0, " "], - [10175, 0, "$"], - [10176, 0, "o"], - [10177, 0, "{"], - [10177, 1], - [10177, 0, "_"], - [10178, 0, "{"], - [10179, 0, "n"], - [10180, 0, "+"], - [10181, 0, "1"], - [10182, 0, "}"], - [10183, 0, "$"], - [10184, 0, " "], - [10185, 0, "w"], - [10186, 0, "a"], - [10187, 0, "s"], - [10188, 0, " "], - [10189, 0, "a"], - [10190, 0, "p"], - [10191, 0, "p"], - [10192, 0, "l"], - [10193, 0, "i"], - [10194, 0, "e"], - [10195, 0, "d"], - [10197, 1], - [10197, 0, "\n"], - [10198, 0, "\n"], - [10287, 0, "'"], - [10289, 0, ","], - [10290, 0, " "], - [10291, 0, "a"], - [10292, 0, "n"], - [10293, 0, "d"], - [10294, 0, " "], - [10295, 0, "g"], - [10296, 0, "r"], - [10297, 0, "e"], - [10298, 0, "a"], - [10299, 0, "t"], - [10300, 0, "e"], - [10301, 0, "r"], - [10302, 0, " "], - [10303, 0, "t"], - [10304, 0, "h"], - [10305, 0, "a"], - [10306, 0, "n"], - [10307, 0, " "], - [10308, 0, "a"], - [10309, 0, "n"], - [10310, 0, "y"], - [10311, 0, " "], - [10312, 0, "t"], - [10313, 0, "i"], - [10314, 0, "m"], - [10315, 0, "e"], - [10316, 0, "s"], - [10317, 0, "t"], - [10318, 0, "a"], - [10319, 0, "m"], - [10320, 0, "p"], - [10321, 0, " "], - [10322, 0, "o"], - [10323, 0, "c"], - [10324, 0, "c"], - [10325, 0, "u"], - [10326, 0, "r"], - [10327, 0, "r"], - [10328, 0, "i"], - [10329, 0, "n"], - [10330, 0, "g"], - [10331, 0, " "], - [10332, 0, "i"], - [10333, 0, "n"], - [10334, 0, " "], - [10335, 0, "$"], - [10336, 0, "A"], - [10337, 0, "_"], - [10338, 0, "p"], - [10339, 0, "$"], - [10286, 1], - [10286, 0, "p"], - [10374, 0, "f"], - [10375, 0, "u"], - [10376, 0, "n"], - [10377, 0, "c"], - [10378, 0, "t"], - [10379, 0, "i"], - [10380, 0, "o"], - [10381, 0, "n"], - [10382, 0, " "], - [10383, 0, "t"], - [10384, 0, "h"], - [10385, 0, "a"], - [10386, 0, "t"], - [10387, 0, " "], - [10388, 0, "t"], - [10389, 0, "r"], - [10390, 0, "a"], - [10391, 0, "n"], - [10392, 0, "s"], - [10393, 0, "f"], - [10394, 0, "o"], - [10395, 0, "r"], - [10396, 0, "m"], - [10397, 0, "e"], - [10398, 0, "d"], - [10399, 0, " "], - [10400, 0, "$"], - [10401, 0, "A"], - [10402, 0, "_"], - [10403, 0, "p"], - [10404, 0, "$"], - [10405, 0, " "], - [10406, 0, "i"], - [10407, 0, "n"], - [10408, 0, "t"], - [10409, 0, "o"], - [10410, 0, " "], - [10411, 0, "$"], - [10412, 0, "A"], - [10413, 0, "_"], - [10414, 0, "p"], - [10415, 0, "'"], - [10416, 0, "$"], - [10417, 0, " "], - [10417, 1], - [10416, 1], - [10415, 1], - [10414, 1], - [10413, 1], - [10412, 1], - [10411, 1], - [10410, 1], - [10409, 1], - [10408, 1], - [10407, 1], - [10406, 1], - [10405, 1], - [10404, 1], - [10403, 1], - [10402, 1], - [10401, 1], - [10400, 1], - [10399, 1], - [10398, 1], - [10397, 1], - [10396, 1], - [10395, 1], - [10394, 1], - [10393, 1], - [10392, 1], - [10391, 1], - [10390, 1], - [10389, 1], - [10388, 1], - [10387, 1], - [10386, 1], - [10385, 1], - [10384, 1], - [10383, 1], - [10382, 1], - [10381, 1], - [10380, 1], - [10379, 1], - [10378, 1], - [10377, 1], - [10376, 1], - [10375, 1], - [10374, 1], - [10373, 1], - [10372, 1], - [10356, 0, " "], - [10356, 1], - [10353, 0, "i"], - [10354, 0, "n"], - [10355, 0, " "], - [10359, 0, " "], - [10360, 0, "s"], - [10361, 0, "t"], - [10362, 0, "a"], - [10363, 0, "t"], - [10364, 0, "e"], - [10365, 0, " "], - [10366, 0, "u"], - [10367, 0, "p"], - [10368, 0, "d"], - [10369, 0, "a"], - [10370, 0, "t"], - [10371, 0, "e"], - [10374, 0, "A"], - [10375, 0, "P"], - [10375, 1], - [10375, 0, "_"], - [10376, 0, "p"], - [10377, 0, "'"], - [10378, 0, " "], - [10379, 0, "="], - [10380, 0, " "], - [10395, 0, "("], - [10396, 0, "A"], - [10397, 0, "_"], - [10398, 0, "p"], - [10399, 0, ","], - [10400, 0, " "], - [10401, 0, "\\"], - [10402, 0, "m"], - [10403, 0, "a"], - [10404, 0, "t"], - [10405, 0, "h"], - [10406, 0, "s"], - [10407, 0, "f"], - [10408, 0, "{"], - [10409, 0, "i"], - [10410, 0, "n"], - [10411, 0, "s"], - [10412, 0, "e"], - [10413, 0, "r"], - [10414, 0, "t"], - [10415, 0, "}"], - [10416, 0, "("], - [10417, 0, "\\"], - [10418, 0, "m"], - [10419, 0, "a"], - [10420, 0, "t"], - [10421, 0, "h"], - [10422, 0, "i"], - [10423, 0, "t"], - [10424, 0, "{"], - [10425, 0, "i"], - [10426, 0, "d"], - [10427, 0, "}"], - [10428, 0, ","], - [10429, 0, " "], - [10430, 0, "\\"], - [10431, 0, "m"], - [10432, 0, "a"], - [10433, 0, "t"], - [10434, 0, "h"], - [10435, 0, "i"], - [10436, 0, "t"], - [10437, 0, "{"], - [10438, 0, "p"], - [10439, 0, "r"], - [10440, 0, "e"], - [10441, 0, "v"], - [10442, 0, "}"], - [10443, 0, ","], - [10444, 0, " "], - [10445, 0, "v"], - [10446, 0, ")"], - [10447, 0, ")"], - [10448, 0, "$"], - [10449, 0, " "], - [10450, 0, "t"], - [10451, 0, "h"], - [10452, 0, "e"], - [10453, 0, " "], - [10454, 0, "s"], - [10455, 0, "e"], - [10456, 0, "c"], - [10456, 1], - [10455, 1], - [10454, 1], - [10454, 0, "n"], - [10455, 0, "o"], - [10456, 0, "n"], - [10457, 0, "-"], - [10458, 0, "r"], - [10459, 0, "e"], - [10460, 0, "c"], - [10461, 0, "u"], - [10462, 0, "r"], - [10463, 0, "s"], - [10464, 0, "i"], - [10465, 0, "v"], - [10466, 0, "e"], - [10467, 0, " "], - [10468, 0, "c"], - [10469, 0, "a"], - [10470, 0, "s"], - [10471, 0, "e"], - [10472, 0, " "], - [10473, 0, "("], - [10474, 0, "$"], - [10475, 0, "n"], - [10476, 0, " "], - [10477, 0, "<"], - [10478, 0, " "], - [10479, 0, "\\"], - [10480, 0, "m"], - [10481, 0, "a"], - [10482, 0, "t"], - [10483, 0, "h"], - [10484, 0, "i"], - [10485, 0, "t"], - [10486, 0, "{"], - [10487, 0, "i"], - [10488, 0, "d"], - [10489, 0, "}"], - [10490, 0, "$"], - [10491, 0, ")"], - [10492, 0, " "], - [10493, 0, "m"], - [10494, 0, "u"], - [10495, 0, "s"], - [10496, 0, "t"], - [10497, 0, " "], - [10498, 0, "a"], - [10499, 0, "p"], - [10500, 0, "p"], - [10501, 0, "l"], - [10502, 0, "y"], - [10005, 0, " "], - [10006, 0, "$"], - [10007, 0, "p"], - [10008, 0, "$"], - [10009, 0, " "], - [10010, 0, "b"], - [10011, 0, "y"], - [10012, 0, " "], - [10013, 0, "t"], - [10014, 0, "h"], - [10015, 0, "e"], - [10016, 0, " "], - [10017, 0, "p"], - [10018, 0, "e"], - [10019, 0, "e"], - [10020, 0, "r"], - [10021, 0, " "], - [10022, 0, "o"], - [10023, 0, "n"], - [10024, 0, " "], - [10025, 0, "w"], - [10026, 0, "h"], - [10027, 0, "i"], - [10028, 0, "c"], - [10029, 0, "h"], - [10030, 0, " "], - [10031, 0, "$"], - [10032, 0, "{"], - [10032, 1], - [10032, 0, "o"], - [10033, 0, "_"], - [10034, 0, "{"], - [10035, 0, "n"], - [10036, 0, "+"], - [10037, 0, "1"], - [10038, 0, "}"], - [10039, 0, "$"], - [10040, 0, " "], - [10041, 0, "w"], - [10042, 0, "a"], - [10043, 0, "s"], - [10044, 0, " "], - [10045, 0, "g"], - [10046, 0, "e"], - [10047, 0, "n"], - [10048, 0, "e"], - [10049, 0, "r"], - [10050, 0, "a"], - [10051, 0, "t"], - [10052, 0, "e"], - [10053, 0, "d"], - [10054, 0, ","], - [10055, 0, " "], - [10056, 0, "l"], - [10057, 0, "e"], - [10058, 0, "t"], - [10122, 1], - [10121, 1], - [10120, 1], - [10119, 1], - [10118, 1], - [10117, 1], - [10116, 1], - [10115, 1], - [10114, 1], - [10113, 1], - [10112, 1], - [10111, 1], - [10110, 1], - [10109, 1], - [10108, 1], - [10107, 1], - [10106, 1], - [10105, 1], - [10104, 1], - [10103, 1], - [10102, 1], - [10101, 1], - [10100, 1], - [10099, 1], - [10098, 1], - [10097, 1], - [10096, 1], - [10095, 1], - [10094, 1], - [10093, 1], - [10092, 1], - [10091, 1], - [10090, 1], - [10089, 1], - [10088, 1], - [10087, 1], - [10086, 1], - [10085, 1], - [10084, 1], - [10083, 1], - [10082, 1], - [10082, 0, "$"], - [10083, 0, "p"], - [10084, 0, "$"], - [10171, 1], - [10170, 1], - [10169, 1], - [10168, 1], - [10167, 1], - [10166, 1], - [10165, 1], - [10164, 1], - [10163, 1], - [10162, 1], - [10161, 1], - [10160, 1], - [10159, 1], - [10159, 0, "$"], - [10160, 0, "p"], - [10161, 0, "$"], - [10509, 0, "."], - [309, 0, " "], - [310, 0, "t"], - [311, 0, "i"], - [312, 0, "m"], - [313, 0, "e"], - [314, 0, "-"], - [315, 0, "s"], - [316, 0, "t"], - [317, 0, "a"], - [318, 0, "m"], - [319, 0, "p"], - [10466, 0, ","], - [10466, 1], - [10465, 0, ","], - [10522, 0, " "], - [10523, 0, "T"], - [10524, 0, "h"], - [10525, 0, "e"], - [10526, 0, "r"], - [10527, 0, "e"], - [10528, 0, "f"], - [10529, 0, "o"], - [10530, 0, "r"], - [10531, 0, "e"], - [10532, 0, " "], - [10533, 0, "w"], - [10534, 0, "e"], - [10535, 0, " "], - [10536, 0, "h"], - [10537, 0, "a"], - [10538, 0, "v"], - [10539, 0, "e"], - [10540, 0, ":"], - [10541, 0, "\n"], - [10542, 0, "$"], - [10543, 0, "$"], - [10544, 0, " "], - [10545, 0, "A"], - [10546, 0, "_"], - [10547, 0, "p"], - [10548, 0, "'"], - [10549, 0, " "], - [10550, 0, "="], - [10551, 0, " "], - [10552, 0, "A"], - [10553, 0, "["], - [10554, 0, "\\"], - [10555, 0, ","], - [10556, 0, "\\"], - [10557, 0, "m"], - [10558, 0, "a"], - [10559, 0, "t"], - [10560, 0, "h"], - [10561, 0, "i"], - [10562, 0, "t"], - [10563, 0, "{"], - [10564, 0, "p"], - [10565, 0, "r"], - [10566, 0, "e"], - [10567, 0, "v"], - [10568, 0, "}"], - [10569, 0, " "], - [10570, 0, "\\"], - [10571, 0, "m"], - [10572, 0, "a"], - [10573, 0, "p"], - [10574, 0, "s"], - [10575, 0, "t"], - [10576, 0, "o"], - [10553, 0, "_"], - [10554, 0, "p"], - [10579, 0, " "], - [10580, 0, "("], - [10581, 0, "v"], - [10582, 0, "_"], - [10583, 0, "p"], - [10584, 0, ","], - [10585, 0, " "], - [10586, 0, "\\"], - [10587, 0, "m"], - [10588, 0, "a"], - [10589, 0, "t"], - [10590, 0, "h"], - [10591, 0, "i"], - [10592, 0, "t"], - [10593, 0, "{"], - [10594, 0, "i"], - [10595, 0, "d"], - [10596, 0, "}"], - [10597, 0, ")"], - [10598, 0, ","], - [10599, 0, " "], - [10600, 0, "\\"], - [10601, 0, "m"], - [10602, 0, "a"], - [10603, 0, "t"], - [10604, 0, "h"], - [10599, 0, "\\"], - [10600, 0, ";"], - [10607, 0, "i"], - [10608, 0, "t"], - [10609, 0, "{"], - [10610, 0, "i"], - [10611, 0, "d"], - [10612, 0, "}"], - [10613, 0, " "], - [10614, 0, "\\"], - [10615, 0, "m"], - [10616, 0, "a"], - [10617, 0, "p"], - [10618, 0, "s"], - [10619, 0, "t"], - [10620, 0, "o"], - [10621, 0, " "], - [10622, 0, "("], - [10623, 0, "v"], - [10624, 0, ","], - [10625, 0, " "], - [10626, 0, "n"], - [10627, 0, ")"], - [10628, 0, "\\"], - [10629, 0, ","], - [10630, 0, "]"], - [10631, 0, "\n"], - [10632, 0, "\\"], - [10633, 0, "q"], - [10634, 0, "u"], - [10635, 0, "a"], - [10636, 0, "d"], - [10637, 0, "\\"], - [10638, 0, "t"], - [10639, 0, "e"], - [10640, 0, "x"], - [10641, 0, "t"], - [10642, 0, "{"], - [10643, 0, " "], - [10644, 0, "w"], - [10645, 0, "h"], - [10646, 0, "e"], - [10647, 0, "r"], - [10648, 0, "e"], - [10649, 0, " "], - [10650, 0, "}"], - [10651, 0, "\\"], - [10652, 0, ";"], - [10653, 0, " "], - [10654, 0, "A"], - [10655, 0, "("], - [10656, 0, "\\"], - [10657, 0, "m"], - [10658, 0, "a"], - [10659, 0, "t"], - [10660, 0, "h"], - [10661, 0, "i"], - [10662, 0, "t"], - [10663, 0, "{"], - [10664, 0, "p"], - [10665, 0, "r"], - [10666, 0, "e"], - [10667, 0, "v"], - [10668, 0, "}"], - [10669, 0, ")"], - [10670, 0, " "], - [10671, 0, "="], - [10672, 0, " "], - [10673, 0, "("], - [10674, 0, "v"], - [10675, 0, "_"], - [10676, 0, "p"], - [10677, 0, ","], - [10678, 0, " "], - [10679, 0, "n"], - [10680, 0, ")"], - [10681, 0, "."], - [10682, 0, " "], - [10683, 0, "$"], - [10684, 0, "$"], - [10643, 1], - [10648, 1], - [10650, 1], - [10650, 0, "q"], - [10651, 0, "u"], - [10652, 0, "a"], - [10653, 0, "d"], - [10631, 0, " "], - [10632, 0, "$"], - [10633, 0, "$"], - [10645, 1], - [10644, 1], - [10643, 1], - [10642, 1], - [10641, 1], - [10640, 1], - [10639, 1], - [10638, 1], - [10637, 1], - [10636, 1], - [10635, 1], - [10645, 1], - [10644, 1], - [10643, 1], - [10642, 1], - [10641, 1], - [10640, 1], - [10640, 0, " "], - [10641, 0, "$"], - [10642, 1], - [10672, 1], - [10670, 1], - [10643, 0, "_"], - [10644, 0, "p"], - [10669, 1], - [10669, 0, "\\"], - [10670, 0, "m"], - [10671, 0, "a"], - [10672, 0, "t"], - [10673, 0, "h"], - [10674, 0, "i"], - [10675, 0, "t"], - [10676, 0, "{"], - [10677, 0, "n"], - [10678, 0, "e"], - [10679, 0, "x"], - [10680, 0, "t"], - [10681, 0, "}"], - [10666, 0, "\\"], - [10667, 0, "m"], - [10668, 0, "a"], - [10669, 0, "t"], - [10670, 0, "h"], - [10671, 0, "i"], - [10672, 0, "t"], - [10673, 0, "{"], - [10672, 1], - [10671, 1], - [10671, 0, "r"], - [10672, 0, "m"], - [10675, 0, "r"], - [10676, 0, "e"], - [10677, 0, "v"], - [10678, 0, "}"], - [10583, 1], - [10583, 0, "\\"], - [10584, 0, "m"], - [10585, 0, "a"], - [10586, 0, "t"], - [10587, 0, "h"], - [10588, 0, "r"], - [10589, 0, "m"], - [10590, 0, "{"], - [10591, 0, "p"], - [10592, 0, "r"], - [10593, 0, "e"], - [10594, 0, "v"], - [10595, 0, "}"], - [10638, 1], - [10638, 0, "\\"], - [10639, 0, "m"], - [10640, 0, "a"], - [10641, 0, "t"], - [10642, 0, "h"], - [10643, 0, "i"], - [10644, 0, "t"], - [10645, 0, "{"], - [10646, 0, "n"], - [10647, 0, "e"], - [10648, 0, "x"], - [10649, 0, "t"], - [10650, 0, "}"], - [10589, 1], - [10588, 1], - [10588, 0, "i"], - [10589, 0, "t"], - [10696, 1], - [10695, 1], - [10695, 0, "i"], - [10696, 0, "t"], - [10719, 1], - [10720, 0, " "], - [10721, 0, "a"], - [10722, 0, "n"], - [10723, 0, "d"], - [10724, 0, " "], - [10725, 0, "$"], - [10726, 0, "\\"], - [10727, 0, "m"], - [10728, 0, "a"], - [10729, 0, "t"], - [10730, 0, "h"], - [10731, 0, "i"], - [10732, 0, "t"], - [10733, 0, "{"], - [10734, 0, "p"], - [10735, 0, "r"], - [10736, 0, "e"], - [10737, 0, "v"], - [10738, 0, "}"], - [10739, 0, " "], - [10740, 0, "<"], - [10741, 0, " "], - [10742, 0, "\\"], - [10743, 0, "m"], - [10744, 0, "a"], - [10745, 0, "t"], - [10746, 0, "h"], - [10747, 0, "i"], - [10748, 0, "t"], - [10749, 0, "{"], - [10750, 0, "i"], - [10751, 0, "d"], - [10752, 0, "}"], - [10753, 0, "$"], - [10754, 0, " "], - [10755, 0, "a"], - [10756, 0, "n"], - [10757, 0, "d"], - [10758, 0, " "], - [10759, 0, "$"], - [10760, 0, "\\"], - [10761, 0, "m"], - [10762, 0, "a"], - [10763, 0, "t"], - [10764, 0, "h"], - [10765, 0, "i"], - [10766, 0, "t"], - [10767, 0, "{"], - [10768, 0, "n"], - [10769, 0, "e"], - [10770, 0, "x"], - [10771, 0, "t"], - [10772, 0, "}"], - [10773, 0, " "], - [10774, 0, "<"], - [10775, 0, " "], - [10776, 0, "\\"], - [10777, 0, "m"], - [10778, 0, "a"], - [10779, 0, "t"], - [10780, 0, "h"], - [10781, 0, "i"], - [10782, 0, "t"], - [10783, 0, "{"], - [10784, 0, "n"], - [10784, 1], - [10784, 0, "i"], - [10785, 0, "d"], - [10786, 0, "}"], - [10787, 0, "$"], - [10788, 0, "."], - [10541, 0, "\n"], - [10542, 0, "\\"], - [10543, 0, "b"], - [10544, 0, "e"], - [10545, 0, "g"], - [10546, 0, "i"], - [10547, 0, "n"], - [10548, 0, "{"], - [10549, 0, "a"], - [10550, 0, "l"], - [10551, 0, "i"], - [10552, 0, "g"], - [10553, 0, "n"], - [10554, 0, "*"], - [10555, 0, "}"], - [10559, 1], - [10558, 1], - [10557, 1], - [10669, 1], - [10668, 1], - [10668, 0, "\\"], - [10669, 0, "\\"], - [10671, 0, "\\"], - [10672, 0, "t"], - [10673, 0, "e"], - [10674, 0, "x"], - [10675, 0, "t"], - [10676, 0, "{"], - [10682, 0, "}"], - [10683, 0, "\\"], - [10684, 0, "q"], - [10685, 0, "u"], - [10686, 0, "a"], - [10687, 0, "d"], - [10749, 1], - [10748, 1], - [10747, 1], - [10746, 1], - [10745, 1], - [10744, 1], - [10743, 1], - [10743, 0, " "], - [10744, 0, "\\"], - [10745, 0, "\\"], - [10746, 0, "\n"], - [10774, 1], - [10775, 0, "\\"], - [10776, 0, "q"], - [10777, 0, "u"], - [10778, 0, "a"], - [10779, 0, "d"], - [10780, 0, "\\"], - [10781, 0, "t"], - [10782, 0, "e"], - [10783, 0, "x"], - [10784, 0, "t"], - [10785, 0, "{"], - [10789, 0, "}"], - [10790, 0, "\\"], - [10791, 0, "q"], - [10792, 0, "u"], - [10793, 0, "a"], - [10794, 0, "d"], - [10796, 1], - [10823, 1], - [10824, 0, "\n"], - [10825, 0, "\\"], - [10826, 0, "e"], - [10827, 0, "n"], - [10828, 0, "d"], - [10829, 0, "{"], - [10830, 0, "a"], - [10831, 0, "l"], - [10832, 0, "i"], - [10833, 0, "g"], - [10834, 0, "n"], - [10835, 0, "*"], - [10836, 0, "}"], - [10689, 1], - [10562, 0, "&"], - [10709, 0, "&"], - [10748, 0, "&"], - [10749, 0, " "], - [10690, 0, "&"], - [10691, 0, " "], - [10711, 1], - [10564, 0, "&"], - [10692, 0, "&"], - [10689, 1], - [10688, 1], - [10687, 1], - [10686, 1], - [10685, 1], - [10746, 0, "&"], - [10746, 1], - [10686, 1], - [10685, 0, "\\"], - [10686, 0, "q"], - [10687, 0, "u"], - [10688, 0, "a"], - [10689, 0, "d"], - [10564, 1], - [10565, 0, "&"], - [10566, 0, " "], - [10562, 1], - [10563, 0, "\\"], - [10564, 0, ";"], - [10845, 0, "\n"], - [10846, 0, "\n"], - [10846, 0, "T"], - [10847, 0, "h"], - [10848, 0, "e"], - [10849, 0, " "], - [10850, 0, "r"], - [10851, 0, "u"], - [10852, 0, "l"], - [10853, 0, "e"], - [10854, 0, "s"], - [10855, 0, " "], - [10856, 0, "t"], - [10857, 0, "h"], - [10858, 0, "a"], - [10859, 0, "t"], - [10860, 0, " "], - [10861, 0, "m"], - [10862, 0, "o"], - [10863, 0, "d"], - [10864, 0, "i"], - [10865, 0, "f"], - [10866, 0, "y"], - [10867, 0, " "], - [10868, 0, "a"], - [10869, 0, " "], - [10870, 0, "p"], - [10871, 0, "p"], - [10871, 1], - [10871, 0, "e"], - [10872, 0, "e"], - [10873, 0, "r"], - [10874, 0, "'"], - [10875, 0, "s"], - [10876, 0, " "], - [10877, 0, "s"], - [10878, 0, "t"], - [10879, 0, "a"], - [10880, 0, "t"], - [10881, 0, "e"], - [10882, 0, " "], - [10883, 0, "n"], - [10884, 0, "e"], - [10885, 0, "v"], - [10886, 0, "e"], - [10887, 0, "r"], - [10888, 0, " "], - [10889, 0, "r"], - [10890, 0, "e"], - [10891, 0, "m"], - [10892, 0, "o"], - [10893, 0, "v"], - [10894, 0, "e"], - [10895, 0, " "], - [10896, 0, "a"], - [10897, 0, "n"], - [10898, 0, " "], - [10899, 0, "I"], - [10900, 0, "D"], - [10901, 0, " "], - [10902, 0, "f"], - [10903, 0, "r"], - [10904, 0, "o"], - [10905, 0, "m"], - [10906, 0, " "], - [10907, 0, "t"], - [10908, 0, "h"], - [10909, 0, "e"], - [10910, 0, " "], - [10911, 0, "s"], - [10912, 0, "t"], - [10913, 0, "a"], - [10914, 0, "t"], - [10915, 0, "e"], - [10916, 0, " "], - [10917, 0, "("], - [10915, 1], - [10914, 1], - [10913, 1], - [10912, 1], - [10911, 1], - [10910, 1], - [10909, 1], - [10908, 1], - [10907, 1], - [10906, 1], - [10905, 1], - [10904, 1], - [10903, 1], - [10902, 1], - [10901, 1], - [10903, 0, "i"], - [10904, 0, "."], - [10905, 0, "e"], - [10906, 0, "."], - [10907, 0, "\\"], - [10908, 0, " "], - [10909, 0, "t"], - [10910, 0, "h"], - [10911, 0, "e"], - [10912, 0, " "], - [10913, 0, "d"], - [10914, 0, "o"], - [10915, 0, "m"], - [10916, 0, "a"], - [10917, 0, "i"], - [10918, 0, "n"], - [10919, 0, " "], - [10920, 0, "o"], - [10921, 0, "f"], - [10922, 0, " "], - [10923, 0, "t"], - [10924, 0, "h"], - [10925, 0, "e"], - [10926, 0, " "], - [10927, 0, "p"], - [10928, 0, "a"], - [10929, 0, "r"], - [10930, 0, "t"], - [10931, 0, "i"], - [10932, 0, "a"], - [10933, 0, "l"], - [10934, 0, " "], - [10935, 0, "f"], - [10936, 0, "u"], - [10937, 0, "n"], - [10938, 0, "c"], - [10939, 0, "t"], - [10940, 0, "i"], - [10941, 0, "o"], - [10942, 0, "n"], - [10943, 0, " "], - [10944, 0, "$"], - [10945, 0, "A"], - [10946, 0, "$"], - [10947, 0, " "], - [10948, 0, "m"], - [10949, 0, "o"], - [10950, 0, "n"], - [10951, 0, "o"], - [10952, 0, "t"], - [10953, 0, "o"], - [10954, 0, "n"], - [10955, 0, "i"], - [10956, 0, "c"], - [10957, 0, "a"], - [10958, 0, "l"], - [10959, 0, "l"], - [10960, 0, "y"], - [10961, 0, " "], - [10962, 0, "g"], - [10963, 0, "r"], - [10964, 0, "o"], - [10965, 0, "w"], - [10966, 0, "s"], - [10967, 0, " "], - [10968, 0, "a"], - [10969, 0, "s"], - [10970, 0, " "], - [10971, 0, "o"], - [10972, 0, "p"], - [10973, 0, "e"], - [10974, 0, "r"], - [10975, 0, "a"], - [10976, 0, "t"], - [10977, 0, "i"], - [10978, 0, "o"], - [10979, 0, "n"], - [10980, 0, "s"], - [10981, 0, " "], - [10982, 0, "a"], - [10983, 0, "r"], - [10984, 0, "e"], - [10985, 0, " "], - [10986, 0, "a"], - [10987, 0, "p"], - [10988, 0, "p"], - [10989, 0, "l"], - [10990, 0, "i"], - [10991, 0, "e"], - [10992, 0, "d"], - [10993, 0, ")"], - [10994, 0, "."], - [10995, 0, " "], - [10996, 0, "T"], - [10997, 0, "h"], - [10998, 0, "u"], - [10999, 0, "s"], - [11000, 0, ","], - [11001, 0, " "], - [11002, 0, "w"], - [11003, 0, "h"], - [11004, 0, "e"], - [11005, 0, "n"], - [11006, 0, " "], - [11007, 0, "$"], - [11008, 0, "o"], - [11009, 0, "_"], - [11010, 0, "{"], - [11011, 0, "n"], - [11012, 0, "+"], - [11013, 0, "1"], - [11014, 0, "}"], - [11015, 0, "$"], - [11016, 0, " "], - [11017, 0, "i"], - [11018, 0, "s"], - [11019, 0, " "], - [11020, 0, "a"], - [11021, 0, "p"], - [11022, 0, "p"], - [11023, 0, "l"], - [11024, 0, "i"], - [11025, 0, "e"], - [11026, 0, "d"], - [11027, 0, " "], - [11028, 0, "a"], - [11029, 0, "t"], - [11030, 0, " "], - [11031, 0, "a"], - [11032, 0, "n"], - [11033, 0, "o"], - [11034, 0, "t"], - [11035, 0, "h"], - [11036, 0, "e"], - [11037, 0, "r"], - [11038, 0, " "], - [11039, 0, "p"], - [11040, 0, "e"], - [11041, 0, "e"], - [11042, 0, "r"], - [11043, 0, " "], - [11044, 0, "$"], - [11045, 0, "q"], - [11046, 0, "$"], - [11047, 0, " "], - [11048, 0, "a"], - [11049, 0, "t"], - [11050, 0, " "], - [11051, 0, "a"], - [11052, 0, "n"], - [11053, 0, "y"], - [11054, 0, " "], - [11055, 0, "c"], - [11056, 0, "a"], - [11057, 0, "u"], - [11058, 0, "s"], - [11059, 0, "a"], - [11060, 0, "l"], - [11061, 0, "l"], - [11062, 0, "y"], - [11063, 0, " "], - [11064, 0, "r"], - [11065, 0, "e"], - [11066, 0, "a"], - [11067, 0, "d"], - [11068, 0, "y"], - [11069, 0, " "], - [11070, 0, "t"], - [11071, 0, "i"], - [11072, 0, "m"], - [11073, 0, "e"], - [11074, 0, " "], - [11075, 0, "i"], - [11076, 0, "n"], - [11077, 0, " "], - [11078, 0, "i"], - [11079, 0, "t"], - [11080, 0, "s"], - [11081, 0, " "], - [11082, 0, "h"], - [11083, 0, "i"], - [11084, 0, "s"], - [11085, 0, "t"], - [11086, 0, "o"], - [11087, 0, "r"], - [11088, 0, "y"], - [11089, 0, ","], - [11090, 0, " "], - [11091, 0, "$"], - [11092, 0, "\\"], - [11093, 0, "m"], - [11094, 0, "a"], - [11095, 0, "t"], - [11096, 0, "h"], - [11097, 0, "i"], - [11098, 0, "t"], - [11099, 0, "{"], - [11100, 0, "p"], - [11101, 0, "r"], - [11102, 0, "e"], - [11103, 0, "v"], - [11104, 0, "}"], - [11105, 0, "$"], - [11106, 0, " "], - [11092, 0, "A"], - [11093, 0, "_"], - [11094, 0, "q"], - [11095, 0, "("], - [11109, 0, ")"], - [11112, 0, "a"], - [11113, 0, "n"], - [11114, 0, "d"], - [11115, 0, " "], - [11116, 0, "$"], - [11117, 0, "A"], - [11118, 0, "_"], - [11119, 0, "q"], - [11120, 0, "("], - [11121, 0, "\\"], - [11122, 0, "m"], - [11123, 0, "a"], - [11124, 0, "t"], - [11125, 0, "h"], - [11126, 0, "i"], - [11127, 0, "t"], - [11128, 0, "{"], - [11129, 0, "n"], - [11130, 0, "e"], - [11131, 0, "x"], - [11132, 0, "t"], - [11133, 0, "}"], - [11134, 0, ")"], - [11135, 0, "$"], - [11136, 0, " "], - [11137, 0, "m"], - [11138, 0, "u"], - [11139, 0, "s"], - [11140, 0, "t"], - [11141, 0, " "], - [11142, 0, "b"], - [11143, 0, "e"], - [11144, 0, " "], - [11145, 0, "d"], - [11146, 0, "e"], - [11147, 0, "f"], - [11148, 0, "i"], - [11149, 0, "n"], - [11150, 0, "e"], - [11151, 0, "d"], - [11152, 0, " "], - [11153, 0, "i"], - [11154, 0, "n"], - [11155, 0, " "], - [11156, 0, "t"], - [11157, 0, "h"], - [11158, 0, "e"], - [11159, 0, " "], - [11160, 0, "s"], - [11161, 0, "t"], - [11162, 0, "a"], - [11163, 0, "t"], - [11164, 0, "e"], - [11165, 0, " "], - [11166, 0, "$"], - [11167, 0, "A"], - [11168, 0, "_"], - [11169, 0, "q"], - [11170, 0, "$"], - [11171, 0, " "], - [11172, 0, "o"], - [11173, 0, "f"], - [11174, 0, " "], - [11175, 0, "$"], - [11176, 0, "Q"], - [11176, 1], - [11176, 0, "q"], - [11177, 0, "$"], - [11178, 0, " "], - [11179, 0, "a"], - [11180, 0, "t"], - [11181, 0, " "], - [11182, 0, "t"], - [11183, 0, "h"], - [11184, 0, "e"], - [11185, 0, " "], - [11186, 0, "t"], - [11187, 0, "i"], - [11188, 0, "m"], - [11189, 0, "e"], - [11190, 0, " "], - [11191, 0, "w"], - [11192, 0, "h"], - [11193, 0, "e"], - [11194, 0, "n"], - [11195, 0, " "], - [11196, 0, "$"], - [11197, 0, "O"], - [11197, 1], - [11197, 0, "o"], - [11198, 0, "_"], - [11199, 0, "{"], - [11200, 0, "n"], - [11201, 0, "+"], - [11202, 0, "1"], - [11203, 0, "}"], - [11204, 0, "$"], - [11205, 0, " "], - [11206, 0, "i"], - [11207, 0, "s"], - [11208, 0, " "], - [11209, 0, "a"], - [11210, 0, "p"], - [11211, 0, "p"], - [11212, 0, "l"], - [11213, 0, "i"], - [11214, 0, "e"], - [11215, 0, "d"], - [11216, 0, "."], - [11215, 1], - [11214, 1], - [11213, 1], - [11212, 1], - [11211, 1], - [11210, 1], - [11209, 1], - [11208, 1], - [11207, 1], - [11206, 1], - [11205, 1], - [11204, 1], - [11203, 1], - [11202, 1], - [11201, 1], - [11200, 1], - [11199, 1], - [11198, 1], - [11197, 1], - [11196, 1], - [11195, 1], - [11194, 1], - [11193, 1], - [11192, 1], - [11191, 1], - [11190, 1], - [11189, 1], - [11188, 1], - [11187, 1], - [11186, 1], - [11185, 1], - [11184, 1], - [11183, 1], - [11182, 1], - [11181, 1], - [11180, 1], - [11179, 1], - [11178, 1], - [11177, 1], - [11177, 0, "$"], - [11177, 1], - [11176, 1], - [11175, 1], - [11174, 1], - [11173, 1], - [11172, 1], - [11171, 1], - [11172, 0, "\n"], - [11173, 0, "\n"], - [11174, 0, "N"], - [11175, 0, "o"], - [11176, 0, "t"], - [11177, 0, "e"], - [11178, 0, " "], - [11179, 0, "t"], - [11180, 0, "h"], - [11181, 0, "s"], - [11181, 1], - [11181, 0, "a"], - [11182, 0, "t"], - [11183, 0, " "], - [11184, 0, "t"], - [11185, 0, "h"], - [11186, 0, "e"], - [11187, 0, " "], - [11188, 0, "l"], - [11189, 0, "i"], - [11190, 0, "n"], - [11191, 0, "k"], - [11192, 0, "e"], - [11193, 0, "d"], - [11194, 0, " "], - [11195, 0, "l"], - [11196, 0, "i"], - [11197, 0, "s"], - [11198, 0, "t"], - [11199, 0, " "], - [11200, 0, "s"], - [11201, 0, "t"], - [11202, 0, "r"], - [11203, 0, "u"], - [11204, 0, "c"], - [11205, 0, "t"], - [11206, 0, "u"], - [11207, 0, "r"], - [11208, 0, "e"], - [11209, 0, " "], - [11210, 0, "i"], - [11211, 0, "s"], - [11212, 0, " "], - [11213, 0, "o"], - [11214, 0, "n"], - [11215, 0, "l"], - [11216, 0, "y"], - [11217, 0, " "], - [11218, 0, "m"], - [11219, 0, "o"], - [11220, 0, "d"], - [11221, 0, "i"], - [11222, 0, "f"], - [11223, 0, "i"], - [11224, 0, "e"], - [11225, 0, "d"], - [11226, 0, " "], - [11227, 0, "b"], - [11228, 0, "y"], - [11229, 0, " "], - [11230, 0, "a"], - [11231, 0, "p"], - [11232, 0, "p"], - [11233, 0, "l"], - [11234, 0, "y"], - [11235, 0, "i"], - [11236, 0, "n"], - [11237, 0, "g"], - [11238, 0, " "], - [11239, 0, "$"], - [11240, 0, "\\"], - [11241, 0, "]"], - [11241, 1], - [11241, 0, "m"], - [11242, 0, "a"], - [11243, 0, "t"], - [11244, 0, "h"], - [11245, 0, "s"], - [11246, 0, "f"], - [11247, 0, "{"], - [11248, 0, "i"], - [11249, 0, "n"], - [11250, 0, "s"], - [11251, 0, "e"], - [11252, 0, "r"], - [11253, 0, "t"], - [11254, 0, "}"], - [11255, 0, "$"], - [11256, 0, " "], - [11257, 0, "o"], - [11258, 0, "p"], - [11259, 0, "e"], - [11260, 0, "r"], - [11261, 0, "a"], - [11262, 0, "t"], - [11263, 0, "i"], - [11264, 0, "o"], - [11265, 0, "n"], - [11266, 0, "s"], - [11267, 0, " "], - [11268, 0, "("], - [11269, 0, "$"], - [11270, 0, "\\"], - [11271, 0, "m"], - [11272, 0, "a"], - [11273, 0, "t"], - [11274, 0, "h"], - [11275, 0, "s"], - [11276, 0, "f"], - [11277, 0, "{"], - [11278, 0, "d"], - [11279, 0, "e"], - [11280, 0, "l"], - [11281, 0, "e"], - [11282, 0, "t"], - [11283, 0, "e"], - [11284, 0, "}"], - [11285, 0, " "], - [11285, 1], - [11285, 0, "$"], - [11286, 0, " "], - [11287, 0, "o"], - [11288, 0, "p"], - [11289, 0, "e"], - [11290, 0, "r"], - [11291, 0, "a"], - [11292, 0, "t"], - [11293, 0, "i"], - [11294, 0, "o"], - [11295, 0, "n"], - [11296, 0, "s"], - [11297, 0, " "], - [11298, 0, "m"], - [11299, 0, "o"], - [11300, 0, "d"], - [11301, 0, "i"], - [11302, 0, "f"], - [11303, 0, "y"], - [11304, 0, " "], - [11305, 0, "v"], - [11306, 0, "a"], - [11307, 0, "l"], - [11308, 0, "u"], - [11309, 0, "e"], - [11310, 0, "s"], - [11311, 0, ","], - [11312, 0, " "], - [11313, 0, "b"], - [11314, 0, "u"], - [11315, 0, "t"], - [11316, 0, " "], - [11317, 0, "t"], - [11317, 1], - [11317, 0, "n"], - [11318, 0, "o"], - [11319, 0, "t"], - [11320, 0, " "], - [11321, 0, "t"], - [11322, 0, "h"], - [11323, 0, "e"], - [11324, 0, " "], - [11325, 0, "o"], - [11326, 0, "r"], - [11327, 0, "d"], - [11328, 0, "e"], - [11329, 0, "r"], - [11330, 0, " "], - [11331, 0, "o"], - [11332, 0, "f"], - [11333, 0, " "], - [11334, 0, "i"], - [11335, 0, "t"], - [11336, 0, "e"], - [11337, 0, "m"], - [11338, 0, "s"], - [11339, 0, " "], - [11340, 0, "i"], - [11341, 0, "n"], - [11342, 0, " "], - [11343, 0, "t"], - [11344, 0, "h"], - [11345, 0, "e"], - [11346, 0, " "], - [11347, 0, "l"], - [11348, 0, "i"], - [11349, 0, "s"], - [11350, 0, "t"], - [11351, 0, ")"], - [11352, 0, ","], - [11353, 0, " "], - [11354, 0, "a"], - [11355, 0, "n"], - [11356, 0, "d"], - [11357, 0, " "], - [11358, 0, "a"], - [11359, 0, "p"], - [11360, 0, "p"], - [11361, 0, "l"], - [11362, 0, "y"], - [11363, 0, "i"], - [11364, 0, "n"], - [11365, 0, "g"], - [11366, 0, " "], - [11367, 0, "a"], - [11368, 0, "n"], - [11369, 0, " "], - [11370, 0, "$"], - [11371, 0, "\\"], - [11372, 0, "m"], - [11373, 0, "a"], - [11374, 0, "t"], - [11375, 0, "h"], - [11376, 0, "s"], - [11377, 0, "f"], - [11378, 0, "{"], - [11379, 0, "i"], - [11380, 0, "n"], - [11381, 0, "s"], - [11382, 0, "e"], - [11383, 0, "r"], - [11384, 0, "t"], - [11385, 0, "}"], - [11386, 0, "$"], - [11387, 0, " "], - [11388, 0, "o"], - [11389, 0, "p"], - [11390, 0, "e"], - [11391, 0, "r"], - [11392, 0, "a"], - [11393, 0, "t"], - [11394, 0, "i"], - [11395, 0, "o"], - [11396, 0, "n"], - [11397, 0, " "], - [11398, 0, "a"], - [11399, 0, "l"], - [11400, 0, "w"], - [11401, 0, "a"], - [11402, 0, "y"], - [11403, 0, "s"], - [11404, 0, " "], - [4621, 0, " "], - [4622, 0, "a"], - [4623, 0, "n"], - [4624, 0, "d"], - [4625, 0, " "], - [4626, 0, "$"], - [4627, 0, "\\"], - [4628, 0, "m"], - [4629, 0, "a"], - [4630, 0, "t"], - [4631, 0, "h"], - [4632, 0, "s"], - [4633, 0, "f"], - [4634, 0, "{"], - [4635, 0, "h"], - [4636, 0, "e"], - [4637, 0, "a"], - [4638, 0, "d"], - [4639, 0, "}"], - [4640, 0, " "], - [4641, 0, "<"], - [4642, 0, " "], - [4643, 0, "("], - [4644, 0, "c"], - [4645, 0, ","], - [4646, 0, " "], - [4647, 0, "p"], - [4648, 0, ")"], - [4649, 0, "$"], - [11433, 1], - [11432, 1], - [11431, 1], - [11430, 1], - [11429, 1], - [11428, 1], - [11427, 1], - [11426, 1], - [11425, 1], - [11424, 1], - [11423, 1], - [11422, 1], - [11421, 1], - [11420, 1], - [11419, 1], - [11418, 1], - [11417, 1], - [11416, 1], - [11415, 1], - [11414, 1], - [11413, 1], - [11412, 1], - [11411, 1], - [11410, 1], - [11409, 1], - [11408, 1], - [11407, 1], - [11406, 1], - [11405, 1], - [11404, 1], - [11403, 1], - [11402, 1], - [11401, 1], - [11400, 1], - [11399, 1], - [11398, 1], - [11397, 1], - [11396, 1], - [11395, 1], - [11394, 1], - [11393, 1], - [11392, 1], - [11391, 1], - [11390, 1], - [11389, 1], - [11388, 1], - [11387, 1], - [11386, 1], - [11385, 1], - [11384, 1], - [11383, 1], - [11382, 1], - [11381, 1], - [11381, 0, "."], - [11381, 0, ","], - [11382, 0, " "], - [11383, 0, "s"], - [11384, 0, "o"], - [11385, 0, " "], - [11386, 0, "$"], - [11387, 0, "o"], - [11388, 0, "_"], - [11389, 0, "{"], - [11390, 0, "n"], - [11391, 0, "+"], - [11392, 0, "1"], - [11393, 0, "}"], - [11394, 0, "$"], - [11395, 0, " "], - [11381, 1], - [11381, 0, "."], - [11382, 0, " "], - [11383, 0, "C"], - [11384, 0, "a"], - [11385, 0, "u"], - [11386, 0, "s"], - [11387, 0, "a"], - [11388, 0, "l"], - [11389, 0, "l"], - [11390, 0, "y"], - [11391, 0, " "], - [11392, 0, "o"], - [11393, 0, "r"], - [11394, 0, "d"], - [11395, 0, "e"], - [11396, 0, "r"], - [11397, 0, "e"], - [11398, 0, "d"], - [11399, 0, " "], - [11400, 0, "d"], - [11401, 0, "e"], - [11402, 0, "l"], - [11403, 0, "i"], - [11404, 0, "v"], - [11405, 0, "e"], - [11406, 0, "r"], - [11407, 0, "y"], - [11408, 0, " "], - [11409, 0, "r"], - [11410, 0, "e"], - [11411, 0, "q"], - [11412, 0, "u"], - [11413, 0, "i"], - [11414, 0, "r"], - [11415, 0, "e"], - [11416, 0, "s"], - [11417, 0, " "], - [11418, 0, "$"], - [11419, 0, "o"], - [11420, 0, "_"], - [11421, 0, "{"], - [11422, 0, "n"], - [11423, 0, "+"], - [11424, 0, "1"], - [11425, 0, "}"], - [11426, 0, "$"], - [11427, 0, " "], - [11428, 0, "t"], - [11429, 0, "o"], - [11430, 0, " "], - [11431, 0, "b"], - [11432, 0, "e"], - [11433, 0, " "], - [11434, 0, "d"], - [11435, 0, "e"], - [11436, 0, "l"], - [11437, 0, "i"], - [11438, 0, "v"], - [11439, 0, "e"], - [11440, 0, "r"], - [11441, 0, "e"], - [11442, 0, "d"], - [11443, 0, " "], - [11444, 0, "a"], - [11445, 0, "f"], - [11446, 0, "t"], - [11446, 1], - [11445, 1], - [11444, 1], - [11443, 1], - [11442, 1], - [11441, 1], - [11440, 1], - [11439, 1], - [11438, 1], - [11437, 1], - [11436, 1], - [11435, 1], - [11434, 1], - [11434, 0, "a"], - [11435, 0, "p"], - [11436, 0, "p"], - [11437, 0, "l"], - [11438, 0, "i"], - [11439, 0, "e"], - [11440, 0, "d"], - [11441, 0, " "], - [11407, 1], - [11406, 1], - [11405, 1], - [11404, 1], - [11403, 1], - [11402, 1], - [11401, 1], - [11400, 1], - [11399, 1], - [11398, 1], - [11397, 1], - [11397, 0, "i"], - [11398, 0, "n"], - [11399, 0, "g"], - [11434, 0, "a"], - [11435, 0, "f"], - [11436, 0, "t"], - [11437, 0, "e"], - [11438, 0, "r"], - [11439, 0, " "], - [11440, 0, "a"], - [11441, 0, "n"], - [11442, 0, "y"], - [11443, 0, " "], - [11444, 0, "o"], - [11445, 0, "p"], - [11446, 0, "e"], - [11447, 0, "r"], - [11448, 0, "a"], - [11449, 0, "t"], - [11450, 0, "i"], - [11451, 0, "o"], - [11452, 0, "n"], - [11453, 0, " "], - [11454, 0, "t"], - [11455, 0, "h"], - [11456, 0, "a"], - [11457, 0, "t"], - [11458, 0, " "], - [11459, 0, "h"], - [11460, 0, "a"], - [11461, 0, "p"], - [11462, 0, "p"], - [11463, 0, "e"], - [11464, 0, "n"], - [11465, 0, "e"], - [11466, 0, "d"], - [11467, 0, " "], - [11468, 0, "b"], - [11469, 0, "e"], - [11470, 0, "f"], - [11471, 0, "o"], - [11472, 0, "r"], - [11473, 0, "e"], - [11474, 0, " "], - [11475, 0, "a"], - [11476, 0, "n"], - [11477, 0, "d"], - [11478, 0, " "], - [11479, 0, "b"], - [11480, 0, "e"], - [11481, 0, "f"], - [11482, 0, "o"], - [11483, 0, "r"], - [11484, 0, "e"], - [11485, 0, " "], - [11486, 0, "a"], - [11487, 0, "n"], - [11488, 0, "y"], - [11489, 0, " "], - [11490, 0, "o"], - [11491, 0, "p"], - [11492, 0, "e"], - [11493, 0, "r"], - [11494, 0, "a"], - [11495, 0, "t"], - [11496, 0, "i"], - [11497, 0, "o"], - [11498, 0, "n"], - [11499, 0, " "], - [11500, 0, "t"], - [11501, 0, "h"], - [11502, 0, "a"], - [11503, 0, "t"], - [11504, 0, " "], - [11505, 0, "h"], - [11506, 0, "a"], - [11507, 0, "p"], - [11508, 0, "p"], - [11509, 0, "e"], - [11510, 0, "n"], - [11511, 0, "e"], - [11512, 0, "d"], - [11513, 0, " "], - [11514, 0, "c"], - [11515, 0, "a"], - [11516, 0, "u"], - [11517, 0, "s"], - [11518, 0, "a"], - [11519, 0, "l"], - [11520, 0, "l"], - [11521, 0, "y"], - [11522, 0, " "], - [11523, 0, "l"], - [11524, 0, "a"], - [11525, 0, "t"], - [11526, 0, "e"], - [11527, 0, "r"], - [11528, 0, ","], - [11532, 0, " "], - [11533, 0, "w"], - [11534, 0, "e"], - [11535, 0, " "], - [11536, 0, "n"], - [11537, 0, "e"], - [11538, 0, "e"], - [11539, 0, "d"], - [11540, 0, " "], - [11541, 0, "o"], - [11542, 0, "n"], - [11543, 0, "l"], - [11544, 0, "y"], - [11545, 0, " "], - [11546, 0, "c"], - [11547, 0, "o"], - [11548, 0, "n"], - [11549, 0, "s"], - [11550, 0, "i"], - [11551, 0, "d"], - [11552, 0, "e"], - [11553, 0, "r"], - [11554, 0, " "], - [11555, 0, "a"], - [11556, 0, "l"], - [11557, 0, "l"], - [11558, 0, " "], - [11559, 0, "p"], - [11560, 0, "o"], - [11561, 0, "s"], - [11562, 0, "s"], - [11563, 0, "i"], - [11564, 0, "b"], - [11565, 0, "l"], - [11566, 0, "e"], - [11567, 0, " "], - [11568, 0, "o"], - [11569, 0, "r"], - [11570, 0, "d"], - [11571, 0, "e"], - [11572, 0, "r"], - [11573, 0, "i"], - [11574, 0, "n"], - [11575, 0, "g"], - [11576, 0, "s"], - [11577, 0, " "], - [11578, 0, "o"], - [11579, 0, "f"], - [11591, 0, "w"], - [11592, 0, "i"], - [11593, 0, "t"], - [11594, 0, "h"], - [11595, 0, " "], - [11596, 0, "r"], - [11597, 0, "e"], - [11598, 0, "s"], - [11599, 0, "p"], - [11600, 0, "e"], - [11601, 0, "c"], - [11602, 0, "t"], - [11603, 0, " "], - [11604, 0, "t"], - [11605, 0, "o"], - [11606, 0, " "], - [11607, 0, "o"], - [11608, 0, "t"], - [11609, 0, "h"], - [11610, 0, "e"], - [11611, 0, "r"], - [11612, 0, " "], - [11613, 0, "c"], - [11614, 0, "o"], - [11615, 0, "n"], - [11616, 0, "c"], - [11617, 0, "u"], - [11618, 0, "r"], - [11619, 0, "r"], - [11620, 0, "e"], - [11621, 0, "n"], - [11622, 0, "t"], - [11623, 0, " "], - [11624, 0, "\\"], - [11624, 1], - [11624, 0, "$"], - [11625, 0, "\\"], - [11626, 0, "m"], - [11627, 0, "a"], - [11628, 0, "t"], - [11629, 0, "h"], - [11630, 0, "s"], - [11631, 0, "f"], - [11632, 0, "{"], - [11633, 0, "i"], - [11634, 0, "n"], - [11635, 0, "s"], - [11636, 0, "e"], - [11637, 0, "r"], - [11638, 0, "t"], - [11639, 0, "}"], - [11640, 0, "$"], - [11641, 0, " "], - [11642, 0, "o"], - [11643, 0, "p"], - [11644, 0, "e"], - [11645, 0, "r"], - [11646, 0, "a"], - [11647, 0, "t"], - [11648, 0, "i"], - [11649, 0, "o"], - [11650, 0, "n"], - [11651, 0, "s"], - [11390, 1], - [11389, 1], - [11652, 0, "\n"], - [11653, 0, "\n"], - [11653, 0, "M"], - [11654, 0, "o"], - [11655, 0, "r"], - [11656, 0, "e"], - [11657, 0, "o"], - [11658, 0, "v"], - [11659, 0, "e"], - [11660, 0, "r"], - [11661, 0, ","], - [11662, 0, " "], - [11663, 0, "t"], - [11664, 0, "h"], - [11665, 0, "e"], - [11666, 0, " "], - [11667, 0, "l"], - [11668, 0, "i"], - [11669, 0, "s"], - [11670, 0, "t"], - [11671, 0, " "], - [11672, 0, "s"], - [11673, 0, "t"], - [11674, 0, "r"], - [11675, 0, "u"], - [11676, 0, "c"], - [11677, 0, "t"], - [11678, 0, "u"], - [11679, 0, "r"], - [11680, 0, "e"], - [11681, 0, " "], - [11682, 0, "i"], - [11683, 0, "s"], - [11684, 0, " "], - [11685, 0, "o"], - [11686, 0, "n"], - [11687, 0, "l"], - [11688, 0, "y"], - [11689, 0, " "], - [11690, 0, "m"], - [11691, 0, "o"], - [11692, 0, "d"], - [11693, 0, "i"], - [11694, 0, "f"], - [11695, 0, "i"], - [11696, 0, "e"], - [11697, 0, "d"], - [11698, 0, " "], - [11699, 0, "b"], - [11700, 0, "y"], - [11701, 0, " "], - [11702, 0, "i"], - [11703, 0, "n"], - [11704, 0, "s"], - [11705, 0, "e"], - [11706, 0, "r"], - [11707, 0, "t"], - [11708, 0, "i"], - [11709, 0, "n"], - [11710, 0, "g"], - [11711, 0, " "], - [11712, 0, "a"], - [11713, 0, " "], - [11714, 0, "n"], - [11715, 0, "e"], - [11716, 0, "w"], - [11717, 0, " "], - [11718, 0, "e"], - [11719, 0, "l"], - [11720, 0, "e"], - [11721, 0, "m"], - [11722, 0, "e"], - [11723, 0, "n"], - [11724, 0, "t"], - [11725, 0, " "], - [11726, 0, "b"], - [11727, 0, "e"], - [11728, 0, "t"], - [11729, 0, "w"], - [11730, 0, "e"], - [11731, 0, "e"], - [11732, 0, "n"], - [11733, 0, " "], - [11734, 0, "t"], - [11735, 0, "w"], - [11736, 0, "o"], - [11737, 0, " "], - [11738, 0, "e"], - [11739, 0, "x"], - [11740, 0, "i"], - [11741, 0, "s"], - [11742, 0, "t"], - [11743, 0, "i"], - [11744, 0, "n"], - [11745, 0, "g"], - [11746, 0, ","], - [11747, 0, " "], - [11748, 0, "a"], - [11749, 0, "d"], - [11750, 0, "j"], - [11751, 0, "a"], - [11752, 0, "c"], - [11753, 0, "e"], - [11754, 0, "n"], - [11755, 0, "t"], - [11756, 0, " "], - [11757, 0, "e"], - [11758, 0, "l"], - [11759, 0, "e"], - [11760, 0, "m"], - [11761, 0, "e"], - [11762, 0, "n"], - [11763, 0, "t"], - [11764, 0, "s"], - [11765, 0, "."], - [11766, 0, " "], - [11767, 0, "W"], - [11768, 0, "h"], - [11769, 0, "e"], - [11770, 0, "n"], - [11771, 0, " "], - [11772, 0, "$"], - [11773, 0, "o"], - [11774, 0, "{"], - [11774, 1], - [11774, 0, "_"], - [11775, 0, "{"], - [11776, 0, "n"], - [11777, 0, "+"], - [11778, 0, "1"], - [11779, 0, "}"], - [11780, 0, "$"], - [11781, 0, " "], - [11782, 0, "i"], - [11783, 0, "s"], - [11784, 0, " "], - [11785, 0, "a"], - [11786, 0, "p"], - [11787, 0, "p"], - [11788, 0, "l"], - [11789, 0, "i"], - [11790, 0, "e"], - [11791, 0, "d"], - [11792, 0, " "], - [11793, 0, "a"], - [11794, 0, "t"], - [11795, 0, " "], - [11796, 0, "p"], - [11797, 0, "e"], - [11798, 0, "e"], - [11799, 0, "r"], - [11800, 0, " "], - [11801, 0, "$"], - [11802, 0, "q"], - [11803, 0, "$"], - [11804, 0, ","], - [11805, 0, " "], - [11806, 0, "t"], - [11807, 0, "h"], - [11808, 0, "e"], - [11809, 0, " "], - [11810, 0, "e"], - [11811, 0, "l"], - [11812, 0, "e"], - [11813, 0, "m"], - [11814, 0, "e"], - [11815, 0, "n"], - [11816, 0, "t"], - [11817, 0, "s"], - [11818, 0, " "], - [11819, 0, "$"], - [11820, 0, "\\"], - [11821, 0, "m"], - [11822, 0, "a"], - [11823, 0, "t"], - [11824, 0, "h"], - [11825, 0, "i"], - [11826, 0, "t"], - [11827, 0, "{"], - [11828, 0, "p"], - [11829, 0, "r"], - [11830, 0, "e"], - [11831, 0, "v"], - [11832, 0, "}"], - [11833, 0, "$"], - [11834, 0, " "], - [11835, 0, "a"], - [11836, 0, "n"], - [11837, 0, "d"], - [11838, 0, " "], - [11818, 0, " "], - [11819, 0, "i"], - [11820, 0, "d"], - [11821, 0, "e"], - [11822, 0, "n"], - [11823, 0, "t"], - [11824, 0, "i"], - [11825, 0, "f"], - [11826, 0, "i"], - [11827, 0, "e"], - [11828, 0, "d"], - [11829, 0, " "], - [11830, 0, "b"], - [11831, 0, "y"], - [11853, 0, "$"], - [11854, 0, "\\"], - [11855, 0, "m"], - [11856, 0, "a"], - [11857, 0, "t"], - [11858, 0, "h"], - [11859, 0, "i"], - [11860, 0, "t"], - [11861, 0, "{"], - [11862, 0, "n"], - [11863, 0, "e"], - [11864, 0, "x"], - [11865, 0, "t"], - [11866, 0, "}"], - [11867, 0, "$"], - [11868, 0, " "], - [11869, 0, "a"], - [11870, 0, "r"], - [11871, 0, "e"], - [11872, 0, " "], - [11873, 0, "n"], - [11874, 0, "o"], - [11875, 0, " "], - [11876, 0, "l"], - [11877, 0, "o"], - [11878, 0, "n"], - [11879, 0, "g"], - [11880, 0, "e"], - [11881, 0, "r"], - [11882, 0, " "], - [11883, 0, "n"], - [11884, 0, "e"], - [11885, 0, "c"], - [11886, 0, "e"], - [11887, 0, "s"], - [11888, 0, "s"], - [11889, 0, "a"], - [11890, 0, "r"], - [11891, 0, "i"], - [11892, 0, "l"], - [11893, 0, "y"], - [11894, 0, " "], - [11895, 0, "a"], - [11896, 0, "d"], - [11897, 0, "j"], - [11898, 0, "a"], - [11899, 0, "c"], - [11900, 0, "e"], - [11901, 0, "n"], - [11902, 0, "t"], - [11903, 0, " "], - [11904, 0, "("], - [11905, 0, "a"], - [11906, 0, "s"], - [11907, 0, " "], - [11908, 0, "a"], - [11908, 1], - [11907, 1], - [11906, 1], - [11905, 1], - [11904, 1], - [11904, 0, "i"], - [11905, 0, "n"], - [11906, 0, " "], - [11907, 0, "$"], - [11908, 0, "A"], - [11909, 0, "_"], - [11910, 0, "q"], - [11911, 0, "4"], - [11911, 1], - [11911, 0, "$"], - [11912, 0, ","], - [11913, 0, " "], - [11914, 0, "B"], - [11915, 0, "U"], - [11916, 0, "T"], - [11917, 0, " "], - [11917, 1], - [11916, 1], - [11915, 1], - [11914, 1], - [11914, 0, "b"], - [11915, 0, "u"], - [11916, 0, "t"], - [11917, 0, " "], - [11918, 0, "w"], - [11919, 0, "e"], - [11920, 0, " "], - [11921, 0, "k"], - [11922, 0, "n"], - [11923, 0, "o"], - [11924, 0, "w"], - [11925, 0, " "], - [11926, 0, "f"], - [11927, 0, "r"], - [11928, 0, "o"], - [11929, 0, "m"], - [11930, 0, " "], - [11930, 1], - [11929, 1], - [11928, 1], - [11927, 1], - [11926, 1], - [11926, 0, "t"], - [11927, 0, "h"], - [11928, 0, "a"], - [11929, 0, "t"], - [11930, 0, " "], - [11931, 0, "a"], - [11932, 0, "n"], - [11933, 0, "y"], - [11934, 0, " "], - [11935, 0, "o"], - [11936, 0, "t"], - [11937, 0, "h"], - [11938, 0, "e"], - [11939, 0, "r"], - [11940, 0, " "], - [11941, 0, "I"], - [11942, 0, "D"], - [11943, 0, " "], - [11944, 0, "i"], - [11945, 0, "n"], - [11946, 0, "s"], - [11947, 0, "e"], - [11948, 0, "r"], - [11949, 0, "t"], - [11950, 0, "e"], - [11951, 0, "d"], - [11952, 0, " "], - [11953, 0, "b"], - [11954, 0, "e"], - [11955, 0, "t"], - [11956, 0, "w"], - [11957, 0, "e"], - [11958, 0, "e"], - [11959, 0, "n"], - [11960, 0, " "], - [11961, 0, "t"], - [11962, 0, "h"], - [11963, 0, "o"], - [11964, 0, "s"], - [11965, 0, "e"], - [11966, 0, " "], - [11967, 0, "e"], - [11968, 0, "l"], - [11969, 0, "e"], - [11970, 0, "m"], - [11971, 0, "e"], - [11972, 0, "n"], - [11973, 0, "t"], - [11974, 0, "s"], - [11975, 0, " "], - [11976, 0, "m"], - [11977, 0, "u"], - [11978, 0, "s"], - [11979, 0, "t"], - [11980, 0, " "], - [11981, 0, "h"], - [11982, 0, "a"], - [11983, 0, "v"], - [11984, 0, "e"], - [11985, 0, " "], - [11986, 0, "$"], - [11987, 0, "\\"], - [11988, 0, "m"], - [11989, 0, "a"], - [11990, 0, "t"], - [11991, 0, "h"], - [11992, 0, "i"], - [11993, 0, "t"], - [11994, 0, "{"], - [11995, 0, "p"], - [11996, 0, "r"], - [11997, 0, "e"], - [11998, 0, "v"], - [11943, 0, " "], - [11944, 0, "$"], - [11945, 0, "\\"], - [11946, 0, "m"], - [11947, 0, "a"], - [11948, 0, "t"], - [11949, 0, "h"], - [11950, 0, "i"], - [11951, 0, "t"], - [11952, 0, "{"], - [11953, 0, "i"], - [11954, 0, "d"], - [11955, 0, "}"], - [11956, 0, "'"], - [11957, 0, "$"], - [12014, 0, "}"], - [12015, 0, " "], - [12016, 0, "<"], - [12017, 0, " "], - [12018, 0, "\\"], - [12019, 0, "m"], - [12020, 0, "a"], - [12021, 0, "t"], - [12022, 0, "h"], - [12023, 0, "i"], - [12024, 0, "t"], - [12025, 0, "{"], - [12026, 0, "i"], - [12027, 0, "d"], - [12028, 0, "}"], - [12029, 0, "'"], - [12030, 0, "$"], - [12031, 0, " "], - [12032, 0, "a"], - [12033, 0, "n"], - [12034, 0, "d"], - [12035, 0, " "], - [12036, 0, "$"], - [12037, 0, "\\"], - [12038, 0, "m"], - [12039, 0, "a"], - [12040, 0, "t"], - [12041, 0, "h"], - [12042, 0, "i"], - [12043, 0, "t"], - [12044, 0, "{"], - [12045, 0, "n"], - [12046, 0, "e"], - [12047, 0, "x"], - [12048, 0, "t"], - [12049, 0, "}"], - [12050, 0, " "], - [12051, 0, "<"], - [12052, 0, " "], - [12053, 0, "\\"], - [12054, 0, "m"], - [12055, 0, "a"], - [12056, 0, "t"], - [12057, 0, "h"], - [12058, 0, "i"], - [12059, 0, "t"], - [12060, 0, "{"], - [12061, 0, "i"], - [12062, 0, "d"], - [12063, 0, "}"], - [12064, 0, "'"], - [12065, 0, "$"], - [12066, 0, " "], - [12067, 0, "a"], - [12068, 0, "c"], - [12069, 0, "c"], - [12070, 0, "o"], - [12071, 0, "r"], - [12072, 0, "d"], - [12073, 0, "i"], - [12074, 0, "n"], - [12075, 0, "g"], - [12076, 0, " "], - [12077, 0, "t"], - [12078, 0, "o"], - [12079, 0, " "], - [12080, 0, "t"], - [12081, 0, "h"], - [12082, 0, "e"], - [12083, 0, " "], - [12084, 0, "o"], - [12085, 0, "b"], - [12086, 0, "s"], - [12087, 0, "e"], - [12088, 0, "r"], - [12089, 0, "v"], - [12090, 0, "a"], - [12091, 0, "t"], - [12092, 0, "i"], - [12093, 0, "o"], - [12094, 0, "n"], - [12095, 0, " "], - [12096, 0, "a"], - [12097, 0, "b"], - [12098, 0, "o"], - [12099, 0, "v"], - [12100, 0, "e"], - [12101, 0, "."], - [11931, 0, "t"], - [11932, 0, "h"], - [11933, 0, "e"], - [11934, 0, "y"], - [11935, 0, " "], - [11936, 0, "m"], - [11937, 0, "u"], - [11938, 0, "s"], - [11939, 0, "t"], - [11940, 0, " "], - [11941, 0, "s"], - [11942, 0, "t"], - [11943, 0, "i"], - [11944, 0, "l"], - [11945, 0, "l"], - [11946, 0, " "], - [11947, 0, "b"], - [11948, 0, "e"], - [11949, 0, " "], - [11950, 0, "i"], - [11951, 0, "n"], - [11952, 0, " "], - [11953, 0, "t"], - [11954, 0, "h"], - [11955, 0, "e"], - [11956, 0, " "], - [11957, 0, "s"], - [11958, 0, "a"], - [11959, 0, "m"], - [11960, 0, "e"], - [11961, 0, " "], - [11962, 0, "o"], - [11963, 0, "r"], - [11964, 0, "d"], - [11965, 0, "e"], - [11966, 0, "r"], - [11967, 0, ","], - [11968, 0, " "], - [11969, 0, "a"], - [11970, 0, "n"], - [11971, 0, "d"], - [11972, 0, " "], - [11973, 0, "w"], - [11974, 0, "e"], - [11975, 0, " "], - [11975, 1], - [11974, 1], - [11973, 1], - [11972, 1], - [11971, 1], - [11970, 1], - [11969, 1], - [11968, 1], - [11967, 1], - [11967, 0, "."], - [11968, 0, " "], - [11969, 0, "A"], - [11970, 0, "c"], - [11971, 0, "c"], - [11972, 0, "o"], - [11973, 0, "r"], - [11974, 0, "d"], - [11975, 0, "i"], - [11976, 0, "n"], - [11977, 0, "g"], - [11978, 0, " "], - [11979, 0, "t"], - [11980, 0, "o"], - [11981, 0, " "], - [11982, 0, "t"], - [11983, 0, "h"], - [11984, 0, "e"], - [11985, 0, " "], - [11986, 0, "o"], - [11987, 0, "b"], - [11988, 0, "s"], - [11989, 0, "e"], - [11990, 0, "r"], - [11991, 0, "v"], - [11992, 0, "a"], - [11993, 0, "t"], - [11994, 0, "i"], - [11995, 0, "o"], - [11996, 0, "n"], - [11997, 0, " "], - [11998, 0, "a"], - [11999, 0, "b"], - [12000, 0, "o"], - [12001, 0, "v"], - [12002, 0, "e"], - [12003, 0, ","], - [12004, 0, " "], - [12005, 0, "w"], - [12006, 0, "e"], - [12007, 0, " "], - [12008, 0, "a"], - [12009, 0, "l"], - [12010, 0, "s"], - [12011, 0, "o"], - [12012, 0, " "], - [12013, 0, "k"], - [12014, 0, "n"], - [12015, 0, "o"], - [12016, 0, "w"], - [12017, 0, " "], - [12018, 0, "t"], - [12019, 0, "h"], - [12020, 0, "a"], - [12021, 0, "t"], - [12022, 0, " "], - [12192, 1], - [12191, 1], - [12190, 1], - [12189, 1], - [12188, 1], - [12187, 1], - [12186, 1], - [12185, 1], - [12184, 1], - [12183, 1], - [12182, 1], - [12181, 1], - [12180, 1], - [12179, 1], - [12178, 1], - [12177, 1], - [12176, 1], - [12175, 1], - [12174, 1], - [12173, 1], - [12172, 1], - [12171, 1], - [12170, 1], - [12169, 1], - [12168, 1], - [12167, 1], - [12166, 1], - [12165, 1], - [12164, 1], - [12163, 1], - [12162, 1], - [12161, 1], - [12160, 1], - [12159, 1], - [12158, 1], - [11881, 1], - [11880, 1], - [11879, 1], - [11878, 1], - [11877, 1], - [11876, 1], - [11875, 1], - [11875, 0, "t"], - [11472, 0, ","], - [12154, 0, "\n"], - [12155, 0, "\n"], - [11200, 0, ","], - [11201, 0, " "], - [11202, 0, "o"], - [11203, 0, "r"], - [11204, 0, " "], - [11205, 0, "\\"], - [11206, 0, "m"], - [11207, 0, "a"], - [11208, 0, "t"], - [11205, 0, "$"], - [11210, 0, "h"], - [11211, 0, "i"], - [11212, 0, "t"], - [11213, 0, "{"], - [11214, 0, "n"], - [11215, 0, "e"], - [11216, 0, "x"], - [11217, 0, "t"], - [11218, 0, "}"], - [11219, 0, " "], - [11220, 0, "="], - [11221, 0, " "], - [11222, 0, "\\"], - [11223, 0, "m"], - [11224, 0, "a"], - [11225, 0, "t"], - [11226, 0, "h"], - [11227, 0, "s"], - [11228, 0, "f"], - [11229, 0, "{"], - [11230, 0, "t"], - [11231, 0, "a"], - [11232, 0, "i"], - [11233, 0, "l"], - [11234, 0, "}"], - [11235, 0, "$"], - [12192, 0, "B"], - [12193, 0, "y"], - [12194, 0, " "], - [12195, 0, "t"], - [12196, 0, "h"], - [12197, 0, "e"], - [12198, 0, " "], - [12199, 0, "i"], - [12200, 0, "n"], - [12201, 0, "d"], - [12202, 0, "u"], - [12203, 0, "c"], - [12204, 0, "t"], - [12205, 0, "i"], - [12206, 0, "o"], - [12207, 0, "n"], - [12208, 0, " "], - [12209, 0, "h"], - [12210, 0, "y"], - [12211, 0, "p"], - [12212, 0, "o"], - [12213, 0, "t"], - [12214, 0, "h"], - [12215, 0, "e"], - [12216, 0, "s"], - [12217, 0, "i"], - [12218, 0, "s"], - [12219, 0, " "], - [12219, 1], - [12219, 0, ","], - [12220, 0, " "], - [12221, 0, "a"], - [12222, 0, "s"], - [12223, 0, "s"], - [12224, 0, "u"], - [12225, 0, "m"], - [12226, 0, "e"], - [12227, 0, " "], - [12228, 0, "a"], - [12229, 0, " "], - [12229, 1], - [12228, 1], - [12228, 0, "w"], - [12229, 0, "e"], - [12230, 0, " "], - [12231, 0, "h"], - [12232, 0, "a"], - [12233, 0, "v"], - [12234, 0, "e"], - [12235, 0, " "], - [12235, 1], - [12234, 1], - [12233, 1], - [12232, 1], - [12231, 1], - [12230, 1], - [12229, 1], - [12228, 1], - [12227, 1], - [12226, 1], - [12225, 1], - [12224, 1], - [12223, 1], - [12222, 1], - [12221, 1], - [12221, 0, "l"], - [12222, 0, "e"], - [12223, 0, "t"], - [12224, 0, " "], - [12225, 0, "h"], - [12226, 0, "i"], - [12227, 0, "s"], - [12228, 0, "t"], - [12228, 1], - [12227, 1], - [12227, 0, "s"], - [12228, 0, "t"], - [12229, 0, "o"], - [12230, 0, "r"], - [12231, 0, "i"], - [12232, 0, "e"], - [12233, 0, "s"], - [12234, 0, " "], - [12235, 0, "H"], - [12236, 0, "1"], - [12236, 1], - [12235, 1], - [12235, 0, "$"], - [12236, 0, "#"], - [12236, 1], - [12236, 0, "H"], - [12237, 0, "_"], - [12238, 0, "1"], - [12239, 0, "$"], - [12240, 0, " "], - [12241, 0, "a"], - [12242, 0, "n"], - [12243, 0, "d"], - [12244, 0, " "], - [12245, 0, "$"], - [12246, 0, "H"], - [12247, 0, "J"], - [12247, 1], - [12247, 0, "_"], - [12248, 0, "@"], - [12248, 1], - [12248, 0, "2"], - [12249, 0, "$"], - [12250, 0, " "], - [12234, 1], - [12233, 1], - [12232, 1], - [12231, 1], - [12230, 1], - [12229, 1], - [12228, 1], - [12227, 1], - [12226, 1], - [12225, 1], - [12241, 0, "b"], - [12242, 0, "e"], - [12243, 0, " "], - [12244, 0, "c"], - [12245, 0, "a"], - [12246, 0, "u"], - [12247, 0, "s"], - [12248, 0, "a"], - [12249, 0, "l"], - [12250, 0, " "], - [12251, 0, "h"], - [12252, 0, "i"], - [12253, 0, "s"], - [12254, 0, "t"], - [12255, 0, "o"], - [12256, 0, "r"], - [12257, 0, "i"], - [12258, 0, "e"], - [12259, 0, "s"], - [12260, 0, " "], - [12261, 0, "o"], - [12262, 0, "f"], - [12263, 0, " "], - [12264, 0, "o"], - [12265, 0, "p"], - [12266, 0, "e"], - [12267, 0, "r"], - [12268, 0, "a"], - [12269, 0, "t"], - [12270, 0, "i"], - [12271, 0, "o"], - [12272, 0, "n"], - [12273, 0, "s"], - [12274, 0, " "], - [12275, 0, "$"], - [12276, 0, "o"], - [12277, 0, "_"], - [12278, 0, "n"], - [12279, 0, "1"], - [12280, 0, " "], - [12280, 1], - [12279, 1], - [12278, 1], - [12278, 0, "1"], - [12279, 0, " "], - [12280, 0, "\\"], - [12281, 0, "d"], - [12282, 0, "o"], - [12283, 0, "t"], - [12284, 0, "s"], - [12285, 0, " "], - [12286, 0, "o"], - [12287, 0, "_"], - [12288, 0, "n"], - [12289, 0, "$"], - [12290, 0, " "], - [12291, 0, "w"], - [12292, 0, "h"], - [12293, 0, "i"], - [12294, 0, "c"], - [12295, 0, "h"], - [12296, 0, " "], - [12297, 0, "r"], - [12298, 0, "e"], - [12299, 0, "s"], - [12300, 0, "u"], - [12301, 0, "l"], - [12302, 0, "t"], - [12303, 0, " "], - [12304, 0, "i"], - [12305, 0, "n"], - [12306, 0, " "], - [12307, 0, "t"], - [12308, 0, "h"], - [12309, 0, "e"], - [12310, 0, " "], - [12311, 0, "s"], - [12312, 0, "a"], - [12313, 0, "m"], - [12314, 0, "e"], - [12315, 0, " "], - [12316, 0, "f"], - [12317, 0, "i"], - [12318, 0, "n"], - [12319, 0, "a"], - [12320, 0, "l"], - [12321, 0, " "], - [12322, 0, "s"], - [12323, 0, "t"], - [12324, 0, "a"], - [12325, 0, "t"], - [12326, 0, "e"], - [12327, 0, " "], - [12328, 0, "w"], - [12329, 0, "h"], - [12330, 0, "e"], - [12331, 0, "n"], - [12332, 0, " "], - [12333, 0, "a"], - [12334, 0, "p"], - [12335, 0, "p"], - [12336, 0, "l"], - [12337, 0, "i"], - [12338, 0, "e"], - [12339, 0, "d"], - [12340, 0, "."], - [12341, 0, " "], - [12342, 0, "W"], - [12343, 0, "h"], - [12344, 0, "e"], - [12345, 0, "n"], - [12346, 0, " "], - [12347, 0, "$"], - [12348, 0, "o"], - [12349, 0, "_"], - [12350, 0, "{"], - [12351, 0, "n"], - [12352, 0, "+"], - [12353, 0, "1"], - [12354, 0, "}"], - [12355, 0, "$"], - [12356, 0, " "], - [12357, 0, "i"], - [12358, 0, "s"], - [12359, 0, " "], - [12360, 0, "i"], - [12361, 0, "n"], - [12362, 0, "s"], - [12363, 0, "e"], - [12364, 0, "r"], - [12365, 0, "t"], - [12366, 0, "e"], - [12367, 0, "d"], - [12368, 0, " "], - [12369, 0, "i"], - [12370, 0, "n"], - [12371, 0, "t"], - [12372, 0, "o"], - [12373, 0, " "], - [12374, 0, "t"], - [12375, 0, "i"], - [12376, 0, "e"], - [12377, 0, "h"], - [12378, 0, "t"], - [12378, 1], - [12377, 1], - [12376, 1], - [12375, 1], - [12374, 1], - [12374, 0, "e"], - [12375, 0, "i"], - [12376, 0, "t"], - [12377, 0, "h"], - [12378, 0, "e"], - [12379, 0, "r"], - [12380, 0, " "], - [12381, 0, "o"], - [12382, 0, "f"], - [12383, 0, " "], - [12384, 0, "t"], - [12385, 0, "h"], - [12386, 0, "e"], - [12387, 0, "s"], - [12388, 0, "e"], - [12389, 0, " "], - [12390, 0, "h"], - [12391, 0, "i"], - [12392, 0, "s"], - [12393, 0, "t"], - [12394, 0, "o"], - [12395, 0, "r"], - [12396, 0, "i"], - [12397, 0, "e"], - [12398, 0, "s"], - [12399, 0, ","], - [12400, 0, " "], - [12401, 0, "c"], - [12402, 0, "a"], - [12403, 0, "u"], - [12404, 0, "s"], - [12405, 0, "a"], - [12406, 0, "l"], - [12407, 0, "i"], - [12408, 0, "t"], - [12409, 0, "y"], - [12410, 0, " "], - [12411, 0, "d"], - [12412, 0, "e"], - [12413, 0, "m"], - [12414, 0, "a"], - [12415, 0, "n"], - [12416, 0, "d"], - [12417, 0, "s"], - [12418, 0, " "], - [12419, 0, "t"], - [12420, 0, "h"], - [12421, 0, "a"], - [12422, 0, "t"], - [12423, 0, " "], - [12424, 0, "$"], - [12425, 0, "\\"], - [12426, 0, "m"], - [12427, 0, "a"], - [12428, 0, "t"], - [12429, 0, "h"], - [12430, 0, "i"], - [12431, 0, "t"], - [12432, 0, "{"], - [12433, 0, "p"], - [12434, 0, "r"], - [12435, 0, "e"], - [12436, 0, "v"], - [12437, 0, "}"], - [12438, 0, "$"], - [12439, 0, " "], - [12440, 0, "a"], - [12441, 0, "n"], - [12442, 0, "d"], - [12443, 0, " "], - [12444, 0, "$"], - [12445, 0, "\\"], - [12446, 0, "m"], - [12447, 0, "a"], - [12448, 0, "t"], - [12449, 0, "h"], - [12450, 0, "i"], - [12451, 0, "t"], - [12452, 0, "{"], - [12453, 0, "n"], - [12454, 0, "e"], - [12455, 0, "x"], - [12456, 0, "t"], - [12457, 0, "}"], - [12458, 0, "$"], - [12424, 0, "l"], - [12425, 0, "i"], - [12426, 0, "s"], - [12427, 0, "t"], - [12428, 0, " "], - [12429, 0, "e"], - [12430, 0, "l"], - [12431, 0, "e"], - [12432, 0, "m"], - [12433, 0, "e"], - [12434, 0, "n"], - [12435, 0, "t"], - [12436, 0, "s"], - [12437, 0, " "], - [12473, 0, " "], - [12474, 0, "a"], - [12475, 0, "r"], - [12476, 0, "e"], - [12477, 0, " "], - [12478, 0, "i"], - [12479, 0, "n"], - [12480, 0, "s"], - [12481, 0, "e"], - [12482, 0, "r"], - [12483, 0, "t"], - [12484, 0, "e"], - [12485, 0, "d"], - [12486, 0, " "], - [12487, 0, "b"], - [12487, 1], - [12487, 0, "a"], - [12488, 0, "t"], - [12489, 0, " "], - [12490, 0, "s"], - [12491, 0, "o"], - [12492, 0, "m"], - [12493, 0, "e"], - [12494, 0, " "], - [12495, 0, "p"], - [12496, 0, "o"], - [12497, 0, "i"], - [12498, 0, "n"], - [12499, 0, "t"], - [12500, 0, " "], - [12501, 0, "p"], - [12502, 0, "r"], - [12503, 0, "i"], - [12504, 0, "o"], - [12505, 0, "r"], - [12506, 0, " "], - [12507, 0, "t"], - [12508, 0, "o"], - [12509, 0, " "], - [12510, 0, "$"], - [12511, 0, "o"], - [12512, 0, "_"], - [12513, 0, "{"], - [12514, 0, "n"], - [12515, 0, "+"], - [12516, 0, "1"], - [12517, 0, "}"], - [12518, 0, "$"], - [12519, 0, " "], - [12520, 0, "i"], - [12521, 0, "n"], - [12522, 0, " "], - [12523, 0, "t"], - [12524, 0, "h"], - [12525, 0, "e"], - [12526, 0, " "], - [12527, 0, "h"], - [12528, 0, "i"], - [12529, 0, "s"], - [12530, 0, "t"], - [12531, 0, "o"], - [12532, 0, "r"], - [12533, 0, "y"], - [12534, 0, "."], - [12535, 0, " "], - [12536, 0, "W"], - [12537, 0, "h"], - [12538, 0, "e"], - [12539, 0, "n"], - [12540, 0, " "], - [12541, 0, "$"], - [12542, 0, "o"], - [12543, 0, "_"], - [12544, 0, "{"], - [12545, 0, "n"], - [12546, 0, "+"], - [12547, 0, "1"], - [12548, 0, "}"], - [12549, 0, "$"], - [12550, 0, " "], - [12551, 0, "i"], - [12552, 0, "s"], - [12553, 0, " "], - [12554, 0, "a"], - [12555, 0, "p"], - [12556, 0, "p"], - [12557, 0, "l"], - [12558, 0, "i"], - [12559, 0, "e"], - [12560, 0, "d"], - [12561, 0, ","], - [12562, 0, " "], - [12563, 0, "t"], - [12564, 0, "h"], - [12565, 0, "e"], - [12566, 0, " "], - [12567, 0, "$"], - [12568, 0, "\\"], - [12569, 0, "m"], - [12570, 0, "a"], - [12571, 0, "t"], - [12572, 0, "h"], - [12573, 0, "r"], - [12574, 0, "m"], - [12575, 0, "{"], - [12576, 0, "a"], - [12577, 0, "p"], - [12578, 0, "p"], - [12579, 0, "l"], - [12580, 0, "y"], - [12581, 0, "}"], - [12582, 0, "("], - [12583, 0, "\\"], - [12584, 0, "p"], - [12585, 0, "l"], - [12586, 0, "a"], - [12587, 0, "c"], - [12588, 0, "e"], - [12589, 0, "h"], - [12590, 0, "o"], - [12591, 0, "l"], - [12592, 0, "d"], - [12593, 0, "e"], - [12594, 0, "r"], - [12595, 0, ","], - [12596, 0, " "], - [12597, 0, "\\"], - [12598, 0, "m"], - [12599, 0, "a"], - [12600, 0, "t"], - [12601, 0, "h"], - [12602, 0, "s"], - [12603, 0, "f"], - [12604, 0, "{"], - [12605, 0, "i"], - [12606, 0, "n"], - [12607, 0, "s"], - [12608, 0, "e"], - [12609, 0, "r"], - [12610, 0, "t"], - [12611, 0, "}"], - [12612, 0, "("], - [12613, 0, "\\"], - [12614, 0, "m"], - [12615, 0, "a"], - [12616, 0, "t"], - [12617, 0, "h"], - [12618, 0, "i"], - [12619, 0, "t"], - [12620, 0, "{"], - [12621, 0, "i"], - [12622, 0, "d"], - [12623, 0, "}"], - [12624, 0, ","], - [12625, 0, " "], - [12626, 0, "\\"], - [12627, 0, "m"], - [12628, 0, "a"], - [12629, 0, "t"], - [12630, 0, "h"], - [12631, 0, "i"], - [12632, 0, "t"], - [12633, 0, "{"], - [12634, 0, "p"], - [12635, 0, "r"], - [12636, 0, "e"], - [12637, 0, "v"], - [12638, 0, "}"], - [12639, 0, ","], - [12640, 0, " "], - [12641, 0, "v"], - [12642, 0, ")"], - [12643, 0, ")"], - [12644, 0, "$"], - [12645, 0, " "], - [12646, 0, "r"], - [12647, 0, "u"], - [12648, 0, "l"], - [12649, 0, "e"], - [12650, 0, " "], - [12651, 0, "s"], - [12652, 0, "t"], - [12653, 0, "a"], - [12654, 0, "r"], - [12655, 0, "t"], - [12656, 0, "s"], - [12657, 0, " "], - [12658, 0, "i"], - [12659, 0, "t"], - [12660, 0, "e"], - [12661, 0, "r"], - [12662, 0, "a"], - [12663, 0, "t"], - [12664, 0, "i"], - [12665, 0, "n"], - [12666, 0, "g"], - [12667, 0, " "], - [12668, 0, "a"], - [12669, 0, "t"], - [12670, 0, " "], - [12671, 0, "$"], - [12672, 0, "\\"], - [12673, 0, "m"], - [12674, 0, "a"], - [12675, 0, "t"], - [12676, 0, "h"], - [12677, 0, "i"], - [12678, 0, "t"], - [12679, 0, "{"], - [12680, 0, "p"], - [12681, 0, "r"], - [12682, 0, "e"], - [12683, 0, "v"], - [12684, 0, "}"], - [12685, 0, "$"], - [12686, 0, " "], - [12687, 0, "a"], - [12688, 0, "n"], - [12689, 0, "d"], - [12690, 0, " "], - [12691, 0, "s"], - [12692, 0, "k"], - [12693, 0, "i"], - [12694, 0, "p"], - [12695, 0, "s"], - [12696, 0, " "], - [12697, 0, "o"], - [12698, 0, "v"], - [12699, 0, "e"], - [12700, 0, "r"], - [12701, 0, " "], - [12702, 0, "a"], - [12703, 0, "n"], - [12704, 0, "y"], - [12705, 0, " "], - [12706, 0, "e"], - [12707, 0, "l"], - [12708, 0, "e"], - [12709, 0, "m"], - [12710, 0, "e"], - [12711, 0, "n"], - [12712, 0, "t"], - [12713, 0, "s"], - [12714, 0, " "], - [12715, 0, "w"], - [12716, 0, "i"], - [12717, 0, "t"], - [12718, 0, "h"], - [12719, 0, " "], - [12720, 0, "a"], - [12721, 0, "n"], - [12722, 0, " "], - [12723, 0, "I"], - [12724, 0, "D"], - [12725, 0, " "], - [12726, 0, "g"], - [12727, 0, "r"], - [12728, 0, "e"], - [12729, 0, "a"], - [12730, 0, "t"], - [12731, 0, "e"], - [12732, 0, "r"], - [12733, 0, " "], - [12734, 0, "t"], - [12735, 0, "h"], - [12736, 0, "a"], - [12737, 0, "n"], - [12738, 0, " "], - [12739, 0, "$"], - [12740, 0, "\\"], - [12741, 0, "m"], - [12742, 0, "a"], - [12743, 0, "t"], - [12744, 0, "h"], - [12745, 0, "i"], - [12746, 0, "t"], - [12747, 0, "{"], - [12748, 0, "i"], - [12749, 0, "d"], - [12750, 0, "}"], - [12751, 0, "$"], - [12752, 0, "."], - [12753, 0, " "], - [12754, 0, "S"], - [12755, 0, "i"], - [12756, 0, "n"], - [12757, 0, "c"], - [12758, 0, "e"], - [12759, 0, " "], - [12760, 0, "$"], - [12761, 0, "\\"], - [12762, 0, "m"], - [12763, 0, "a"], - [12764, 0, "t"], - [12765, 0, "h"], - [12766, 0, "i"], - [12767, 0, "d"], - [12768, 0, "{"], - [12769, 0, "n"], - [12770, 0, "e"], - [12771, 0, "x"], - [12772, 0, "t"], - [12773, 0, "}"], - [12774, 0, " "], - [12775, 0, "<"], - [12776, 0, " "], - [12777, 0, "\\"], - [12778, 0, "m"], - [12779, 0, "a"], - [12780, 0, "t"], - [12781, 0, "h"], - [12782, 0, "i"], - [12783, 0, "d"], - [12784, 0, "{"], - [12785, 0, "i"], - [12786, 0, "d"], - [12787, 0, "}"], - [12783, 1], - [12783, 0, "t"], - [12788, 0, "$"], - [12789, 0, ","], - [12790, 0, " "], - [12791, 0, "t"], - [12792, 0, "h"], - [12793, 0, "i"], - [12794, 0, "s"], - [12795, 0, " "], - [12796, 0, "i"], - [12797, 0, "t"], - [12798, 0, "e"], - [12799, 0, "r"], - [12800, 0, "a"], - [12801, 0, "t"], - [12802, 0, "i"], - [12803, 0, "o"], - [12804, 0, "n"], - [12805, 0, " "], - [12805, 1], - [12804, 1], - [12803, 1], - [12802, 1], - [12801, 1], - [12800, 1], - [12799, 1], - [12798, 1], - [12797, 1], - [12796, 1], - [12795, 1], - [12794, 1], - [12793, 1], - [12793, 0, "e"], - [12794, 0, " "], - [12795, 0, "r"], - [12796, 0, "e"], - [12797, 0, "c"], - [12798, 0, "u"], - [12799, 0, "r"], - [12800, 0, "s"], - [12801, 0, "i"], - [12802, 0, "o"], - [12803, 0, "n"], - [12804, 0, " "], - [12805, 0, "n"], - [12806, 0, "e"], - [12807, 0, "v"], - [12808, 0, "e"], - [12809, 0, "r"], - [12810, 0, " "], - [12811, 0, "c"], - [12812, 0, "o"], - [12813, 0, "n"], - [12814, 0, "t"], - [12815, 0, "i"], - [12816, 0, "n"], - [12817, 0, "u"], - [12818, 0, "e"], - [12819, 0, "s"], - [12820, 0, " "], - [12821, 0, "b"], - [12822, 0, "e"], - [12823, 0, "y"], - [12824, 0, "o"], - [12825, 0, "n"], - [12826, 0, "d"], - [12827, 0, " "], - [12828, 0, "$"], - [12829, 0, "\\"], - [12830, 0, "m"], - [12831, 0, "a"], - [12832, 0, "t"], - [12833, 0, "h"], - [12834, 0, "i"], - [12835, 0, "t"], - [12836, 0, "{"], - [12837, 0, "n"], - [12838, 0, "e"], - [12839, 0, "x"], - [12840, 0, "t"], - [12841, 0, "}"], - [12842, 0, "$"], - [12843, 0, "."], - [12844, 0, " "], - [12845, 0, "T"], - [12846, 0, "h"], - [12847, 0, "u"], - [12848, 0, "s"], - [12849, 0, ","], - [12850, 0, " "], - [12851, 0, "t"], - [12852, 0, "h"], - [12853, 0, "e"], - [12854, 0, " "], - [12855, 0, "$"], - [12856, 0, "\\"], - [12857, 0, "m"], - [12858, 0, "a"], - [12859, 0, "t"], - [12860, 0, "h"], - [12861, 0, "i"], - [12862, 0, "t"], - [12863, 0, "{"], - [12864, 0, "a"], - [12865, 0, "p"], - [12866, 0, "p"], - [12866, 1], - [12865, 1], - [12864, 1], - [12863, 1], - [12862, 1], - [12861, 1], - [12861, 0, "r"], - [12862, 0, "m"], - [12863, 0, "{"], - [12864, 0, "a"], - [12865, 0, "p"], - [12866, 0, "p"], - [12867, 0, "l"], - [12868, 0, "y"], - [12869, 0, "}"], - [12870, 0, "$"], - [12871, 0, " "], - [12872, 0, "r"], - [12873, 0, "u"], - [12874, 0, "l"], - [12875, 0, "e"], - [12876, 0, " "], - [12877, 0, "i"], - [12878, 0, "s"], - [12879, 0, " "], - [12880, 0, "g"], - [12881, 0, "u"], - [12882, 0, "a"], - [12883, 0, "r"], - [12884, 0, "a"], - [12885, 0, "n"], - [12886, 0, "t"], - [12887, 0, "e"], - [12888, 0, "e"], - [12889, 0, "d"], - [12890, 0, " "], - [12891, 0, "t"], - [12892, 0, "o"], - [12893, 0, " "], - [12894, 0, "i"], - [12895, 0, "n"], - [12896, 0, "s"], - [12897, 0, "e"], - [12898, 0, "r"], - [12899, 0, "t"], - [12900, 0, " "], - [12901, 0, "$"], - [12902, 0, "\\"], - [12903, 0, "m"], - [12904, 0, "a"], - [12905, 0, "t"], - [12906, 0, "h"], - [12907, 0, "i"], - [12908, 0, "t"], - [12909, 0, "{"], - [12910, 0, "i"], - [12911, 0, "d"], - [12912, 0, "}"], - [12913, 0, "$"], - [12914, 0, " "], - [12915, 0, "a"], - [12916, 0, "t"], - [12917, 0, " "], - [12918, 0, "s"], - [12919, 0, "o"], - [12920, 0, "m"], - [12921, 0, "e"], - [12922, 0, " "], - [12923, 0, "p"], - [12924, 0, "o"], - [12925, 0, "s"], - [12926, 0, "i"], - [12927, 0, "t"], - [12928, 0, "i"], - [12929, 0, "o"], - [12930, 0, "n"], - [12931, 0, " "], - [12932, 0, "b"], - [12933, 0, "e"], - [12934, 0, "t"], - [12935, 0, "w"], - [12936, 0, "e"], - [12937, 0, "e"], - [12938, 0, "n"], - [12939, 0, " "], - [12940, 0, "$"], - [12941, 0, "\\"], - [12942, 0, "m"], - [12943, 0, "a"], - [12944, 0, "t"], - [12945, 0, "h"], - [12946, 0, "i"], - [12947, 0, "t"], - [12948, 0, "{"], - [12949, 0, "p"], - [12950, 0, "r"], - [12951, 0, "e"], - [12952, 0, "v"], - [12953, 0, "}"], - [12954, 0, "$"], - [12955, 0, " "], - [12956, 0, "a"], - [12957, 0, "n"], - [12958, 0, "d"], - [12959, 0, " "], - [12960, 0, "$"], - [12961, 0, "\\"], - [12962, 0, "m"], - [12963, 0, "a"], - [12964, 0, "t"], - [12965, 0, "h"], - [12966, 0, "i"], - [12967, 0, "t"], - [12968, 0, "{"], - [12969, 0, "n"], - [12970, 0, "e"], - [12971, 0, "x"], - [12972, 0, "t"], - [12973, 0, "}"], - [12974, 0, "$"], - [12975, 0, "."], - [12767, 1], - [12767, 0, "t"], - [12476, 1], - [12475, 1], - [12474, 1], - [12474, 0, "w"], - [12475, 0, "e"], - [12476, 0, "r"], - [12477, 0, "e"], - [12478, 0, " "], - [12479, 0, "a"], - [12480, 0, "l"], - [12481, 0, "r"], - [12482, 0, "e"], - [12483, 0, "a"], - [12484, 0, "d"], - [12485, 0, "y"], - [12509, 0, " "], - [12510, 0, "i"], - [12511, 0, "n"], - [12512, 0, " "], - [12513, 0, "t"], - [12514, 0, "h"], - [12515, 0, "e"], - [12516, 0, " "], - [12517, 0, "h"], - [12518, 0, "i"], - [12519, 0, "s"], - [12520, 0, "t"], - [12521, 0, "o"], - [12522, 0, "r"], - [12523, 0, "y"], - [12557, 1], - [12556, 1], - [12555, 1], - [12554, 1], - [12553, 1], - [12552, 1], - [12551, 1], - [12550, 1], - [12549, 1], - [12548, 1], - [12547, 1], - [12546, 1], - [12545, 1], - [12544, 1], - [12543, 1], - [12985, 0, "\n"], - [12986, 0, "\n"], - [12987, 0, "T"], - [12988, 0, "h"], - [12989, 0, "u"], - [12990, 0, "s"], - [12991, 0, ","], - [12992, 0, " "], - [12993, 0, "w"], - [12994, 0, "e"], - [12995, 0, " "], - [12995, 1], - [12994, 1], - [12993, 1], - [12992, 1], - [12991, 1], - [12990, 1], - [12989, 1], - [12989, 0, "h"], - [12990, 0, "e"], - [12991, 0, "r"], - [12991, 1], - [12990, 1], - [12989, 1], - [12989, 0, "e"], - [12990, 0, "r"], - [12991, 0, "e"], - [12992, 0, "f"], - [12993, 0, "o"], - [12994, 0, "r"], - [12995, 0, "e"], - [12996, 0, " "], - [12996, 1], - [12996, 0, ","], - [12997, 0, " "], - [12998, 0, "w"], - [12999, 0, "e"], - [13000, 0, " "], - [13001, 0, "n"], - [13002, 0, "e"], - [13003, 0, "e"], - [13004, 0, "d"], - [13005, 0, " "], - [13006, 0, "o"], - [13007, 0, "n"], - [13008, 0, "l"], - [13009, 0, "y"], - [13010, 0, " "], - [13011, 0, "c"], - [13012, 0, "o"], - [13013, 0, "n"], - [13014, 0, "s"], - [13015, 0, "i"], - [13016, 0, "d"], - [13017, 0, "e"], - [13018, 0, "r"], - [13019, 0, " "], - [13020, 0, "i"], - [13021, 0, "n"], - [13022, 0, "s"], - [13023, 0, "e"], - [13024, 0, "r"], - [13025, 0, "t"], - [13026, 0, "i"], - [13027, 0, "o"], - [13028, 0, "n"], - [13029, 0, "s"], - [13030, 0, " "], - [13031, 0, "t"], - [13032, 0, "h"], - [13033, 0, "a"], - [13034, 0, "t"], - [13035, 0, " "], - [13036, 0, "a"], - [13037, 0, "r"], - [13038, 0, "e"], - [13039, 0, " "], - [13040, 0, "c"], - [13041, 0, "o"], - [13042, 0, "n"], - [13043, 0, "c"], - [13044, 0, "u"], - [13045, 0, "r"], - [13046, 0, "r"], - [13047, 0, "e"], - [13048, 0, "n"], - [13049, 0, "t"], - [13050, 0, " "], - [13051, 0, "t"], - [13052, 0, "o"], - [13053, 0, " "], - [13054, 0, "$"], - [13055, 0, "o"], - [13056, 0, "_"], - [13057, 0, "["], - [13057, 1], - [13057, 0, "{"], - [13058, 0, "n"], - [13059, 0, "+"], - [13060, 0, "1"], - [13061, 0, "}"], - [13062, 0, "$"], - [13063, 0, " "], - [13064, 0, "a"], - [13065, 0, "n"], - [13066, 0, "d"], - [13067, 0, " "], - [13068, 0, "t"], - [13069, 0, "h"], - [13070, 0, "a"], - [13071, 0, "t"], - [13072, 0, " "], - [13073, 0, "i"], - [13074, 0, "n"], - [13075, 0, "s"], - [13076, 0, "e"], - [13077, 0, "r"], - [13078, 0, "t"], - [13079, 0, " "], - [13080, 0, "a"], - [13081, 0, "t"], - [13082, 0, " "], - [13083, 0, "s"], - [13084, 0, "o"], - [13085, 0, "m"], - [13086, 0, "e"], - [13087, 0, " "], - [13088, 0, "p"], - [13089, 0, "o"], - [13090, 0, "s"], - [13091, 0, "i"], - [13092, 0, "t"], - [13093, 0, "i"], - [13094, 0, "o"], - [13095, 0, "n"], - [13096, 0, " "], - [13097, 0, "b"], - [13098, 0, "e"], - [13099, 0, "t"], - [13100, 0, "w"], - [13101, 0, "e"], - [13102, 0, "e"], - [13103, 0, "n"], - [13104, 0, " "], - [13105, 0, "$"], - [13106, 0, "\\"], - [13107, 0, "m"], - [13108, 0, "a"], - [13109, 0, "t"], - [13110, 0, "h"], - [13111, 0, "i"], - [13112, 0, "t"], - [13113, 0, "{"], - [13114, 0, "p"], - [13115, 0, "r"], - [13116, 0, "e"], - [13117, 0, "v"], - [13118, 0, "}"], - [13119, 0, "$"], - [13120, 0, " "], - [13121, 0, "a"], - [13122, 0, "n"], - [13123, 0, "d"], - [13124, 0, " "], - [13125, 0, "$"], - [13126, 0, "\\"], - [13127, 0, "m"], - [13128, 0, "a"], - [13129, 0, "t"], - [13130, 0, "h"], - [13131, 0, "i"], - [13132, 0, "t"], - [13133, 0, "{"], - [13134, 0, "n"], - [13135, 0, "e"], - [13136, 0, "x"], - [13137, 0, "t"], - [13138, 0, "}"], - [13139, 0, "$"], - [13140, 0, "."], - [13141, 0, " "], - [13142, 0, "N"], - [13143, 0, "o"], - [13144, 0, "t"], - [13145, 0, "e"], - [13146, 0, " "], - [13147, 0, "t"], - [13148, 0, "h"], - [13149, 0, "a"], - [13150, 0, "t"], - [13151, 0, " "], - [13152, 0, "t"], - [13153, 0, "h"], - [13154, 0, "e"], - [13155, 0, " "], - [13156, 0, "$"], - [13157, 0, "\\"], - [13158, 0, "m"], - [13159, 0, "a"], - [13160, 0, "t"], - [13161, 0, "h"], - [13162, 0, "r"], - [13163, 0, "m"], - [13164, 0, "{"], - [13165, 0, "a"], - [13166, 0, "p"], - [13167, 0, "p"], - [13168, 0, "l"], - [13169, 0, "y"], - [13170, 0, "}"], - [13171, 0, "$"], - [13172, 0, " "], - [13173, 0, "r"], - [13174, 0, "u"], - [13175, 0, "l"], - [13176, 0, "e"], - [13177, 0, " "], - [13178, 0, "h"], - [13179, 0, "a"], - [13180, 0, "s"], - [13180, 1], - [13179, 1], - [13178, 1], - [13178, 0, "e"], - [13179, 0, "n"], - [13180, 0, "s"], - [13181, 0, "u"], - [13182, 0, "r"], - [13183, 0, "e"], - [13184, 0, "s"], - [13185, 0, " "], - [13186, 0, "t"], - [13187, 0, "h"], - [13188, 0, "a"], - [13189, 0, "t"], - [13190, 0, " "], - [13191, 0, "a"], - [13192, 0, "f"], - [13193, 0, "t"], - [13194, 0, "e"], - [13195, 0, "r"], - [13196, 0, " "], - [13197, 0, "$"], - [13198, 0, "\\"], - [13199, 0, "m"], - [13200, 0, "a"], - [13201, 0, "t"], - [13202, 0, "h"], - [13203, 0, "i"], - [13204, 0, "t"], - [13205, 0, "{"], - [13206, 0, "i"], - [13207, 0, "d"], - [13208, 0, "}"], - [13209, 0, "$"], - [13210, 0, " "], - [13211, 0, "i"], - [13212, 0, "s"], - [13213, 0, " "], - [13214, 0, "i"], - [13215, 0, "n"], - [13216, 0, "s"], - [13217, 0, "e"], - [13218, 0, "r"], - [13219, 0, "t"], - [13220, 0, "e"], - [13221, 0, "d"], - [13222, 0, ","], - [13223, 0, " "], - [13224, 0, "a"], - [13225, 0, "l"], - [13226, 0, "l"], - [13227, 0, " "], - [13228, 0, "l"], - [13229, 0, "i"], - [13230, 0, "s"], - [13231, 0, "t"], - [13232, 0, " "], - [13233, 0, "e"], - [13234, 0, "l"], - [13235, 0, "e"], - [13236, 0, "m"], - [13237, 0, "e"], - [13238, 0, "n"], - [13239, 0, "t"], - [13240, 0, "s"], - [13241, 0, " "], - [13242, 0, "b"], - [13243, 0, "e"], - [13244, 0, "t"], - [13245, 0, "w"], - [13246, 0, "e"], - [13247, 0, "e"], - [13248, 0, "n"], - [13249, 0, " "], - [13250, 0, "$"], - [13251, 0, "\\"], - [13252, 0, "m"], - [13253, 0, "a"], - [13254, 0, "t"], - [13255, 0, "h"], - [13256, 0, "i"], - [13257, 0, "t"], - [13258, 0, "{"], - [13259, 0, "p"], - [13260, 0, "r"], - [13261, 0, "e"], - [13262, 0, "v"], - [13263, 0, "}"], - [13264, 0, "$"], - [13265, 0, " "], - [13266, 0, "a"], - [13267, 0, "n"], - [13268, 0, "d"], - [13269, 0, " "], - [13270, 0, "$"], - [13271, 0, "\\"], - [13272, 0, "m"], - [13273, 0, "a"], - [13274, 0, "t"], - [13275, 0, "h"], - [13276, 0, "i"], - [13277, 0, "t"], - [13278, 0, "{"], - [13279, 0, "i"], - [13280, 0, "d"], - [13281, 0, "}"], - [13282, 0, "$"], - [13283, 0, " "], - [13284, 0, "a"], - [13285, 0, "r"], - [13286, 0, "e"], - [13287, 0, " "], - [13287, 1], - [13286, 1], - [13285, 1], - [13284, 1], - [13284, 0, "h"], - [13285, 0, "a"], - [13286, 0, "v"], - [13287, 0, "e"], - [13288, 0, " "], - [13289, 0, "a"], - [13290, 0, "n"], - [13291, 0, " "], - [13292, 0, "I"], - [13293, 0, "D"], - [13294, 0, " "], - [13295, 0, "g"], - [13296, 0, "r"], - [13297, 0, "e"], - [13298, 0, "a"], - [13299, 0, "t"], - [13300, 0, "e"], - [13301, 0, "r"], - [13302, 0, " "], - [13303, 0, "t"], - [13304, 0, "h"], - [13305, 0, "a"], - [13306, 0, "n"], - [13307, 0, " "], - [13308, 0, "$"], - [13309, 0, "\\"], - [13310, 0, "m"], - [13311, 0, "a"], - [13312, 0, "t"], - [13313, 0, "h"], - [13314, 0, "i"], - [13315, 0, "t"], - [13316, 0, "{"], - [13317, 0, "i"], - [13318, 0, "d"], - [13319, 0, "}"], - [13320, 0, "$"], - [13321, 0, ","], - [13322, 0, " "], - [13323, 0, "a"], - [13324, 0, "n"], - [13325, 0, "d"], - [13326, 0, " "], - [13282, 1], - [13281, 1], - [13280, 1], - [13279, 1], - [13278, 1], - [13277, 1], - [13276, 1], - [13275, 1], - [13274, 1], - [13273, 1], - [13272, 1], - [13271, 1], - [13270, 1], - [13270, 0, "t"], - [13271, 0, "h"], - [13272, 0, "e"], - [13273, 0, " "], - [13274, 0, "i"], - [13275, 0, "n"], - [13276, 0, "s"], - [13277, 0, "e"], - [13278, 0, "r"], - [13279, 0, "t"], - [13280, 0, "i"], - [13281, 0, "o"], - [13282, 0, "n"], - [13283, 0, " "], - [13284, 0, "p"], - [13285, 0, "o"], - [13286, 0, "i"], - [13287, 0, "n"], - [13288, 0, "t"], - [13333, 0, "t"], - [13334, 0, "h"], - [13335, 0, "e"], - [13336, 0, " "], - [13337, 0, "l"], - [13338, 0, "i"], - [13339, 0, "s"], - [13340, 0, "t"], - [13341, 0, " "], - [13342, 0, "e"], - [13343, 0, "l"], - [13344, 0, "e"], - [13345, 0, "m"], - [13346, 0, "e"], - [13347, 0, "n"], - [13348, 0, "t"], - [13349, 0, " "], - [13350, 0, "f"], - [13351, 0, "o"], - [13352, 0, "l"], - [13353, 0, "l"], - [13354, 0, "o"], - [13355, 0, "w"], - [13356, 0, "i"], - [13357, 0, "n"], - [13358, 0, "g"], - [13359, 0, " "], - [13360, 0, "t"], - [13361, 0, "h"], - [13362, 0, "e"], - [13363, 0, " "], - [13364, 0, "i"], - [13365, 0, "n"], - [13366, 0, "s"], - [13367, 0, "e"], - [13368, 0, "r"], - [13369, 0, "t"], - [13370, 0, "i"], - [13371, 0, "o"], - [13372, 0, "n"], - [13373, 0, " "], - [13374, 0, "p"], - [13375, 0, "o"], - [13376, 0, "i"], - [13377, 0, "n"], - [13378, 0, "t"], - [13379, 0, " "], - [13380, 0, "h"], - [13381, 0, "a"], - [13382, 0, "s"], - [13383, 0, " "], - [13384, 0, "a"], - [13385, 0, "n"], - [13386, 0, " "], - [13387, 0, "I"], - [13388, 0, "D"], - [13389, 0, " "], - [13390, 0, "l"], - [13391, 0, "e"], - [13392, 0, "s"], - [13393, 0, "s"], - [13394, 0, " "], - [13395, 0, "t"], - [13396, 0, "h"], - [13397, 0, "a"], - [13398, 0, "n"], - [13399, 0, " "], - [13400, 0, "$"], - [13401, 0, "\\"], - [13402, 0, "m"], - [13403, 0, "a"], - [13404, 0, "t"], - [13405, 0, "h"], - [13406, 0, "i"], - [13407, 0, "t"], - [13408, 0, "{"], - [13409, 0, "i"], - [13410, 0, "d"], - [13411, 0, "}"], - [13412, 0, "$"], - [13413, 0, "."], - [13414, 0, " "], - [13415, 0, "W"], - [13416, 0, "e"], - [13417, 0, " "], - [13418, 0, "u"], - [13419, 0, "s"], - [13420, 0, "e"], - [13421, 0, " "], - [13422, 0, "t"], - [13423, 0, "h"], - [13424, 0, "i"], - [13425, 0, "s"], - [13426, 0, " "], - [13427, 0, "p"], - [13428, 0, "o"], - [13428, 1], - [13428, 0, "r"], - [13429, 0, "o"], - [13430, 0, "p"], - [13431, 0, "e"], - [13432, 0, "r"], - [13433, 0, "t"], - [13434, 0, "y"], - [13435, 0, " "], - [13436, 0, "t"], - [13437, 0, "o"], - [13438, 0, " "], - [13439, 0, "s"], - [13440, 0, "h"], - [13441, 0, "o"], - [13442, 0, "w"], - [13443, 0, " "], - [13444, 0, "t"], - [13445, 0, "h"], - [13446, 0, "a"], - [13447, 0, "t"], - [13448, 0, " "], - [13449, 0, "n"], - [13450, 0, "o"], - [13451, 0, " "], - [13452, 0, "m"], - [13453, 0, "a"], - [13454, 0, "t"], - [13455, 0, "t"], - [13456, 0, "e"], - [13457, 0, "r"], - [13458, 0, " "], - [13459, 0, "w"], - [13460, 0, "h"], - [13461, 0, "e"], - [13462, 0, "r"], - [13463, 0, "e"], - [13464, 0, " "], - [13465, 0, "$"], - [13466, 0, "o"], - [13467, 0, "{"], - [13467, 1], - [13467, 0, "_"], - [13468, 0, "{"], - [13469, 0, "n"], - [13470, 0, "+"], - [13471, 0, "1"], - [13472, 0, "}"], - [13473, 0, "$"], - [13474, 0, " "], - [13475, 0, "i"], - [13476, 0, "s"], - [13477, 0, " "], - [13478, 0, "i"], - [13479, 0, "n"], - [13480, 0, "s"], - [13481, 0, "e"], - [13482, 0, "r"], - [13483, 0, "t"], - [13484, 0, "e"], - [13485, 0, "d"], - [13486, 0, " "], - [13487, 0, "i"], - [13488, 0, "n"], - [13489, 0, " "], - [13490, 0, "$"], - [13491, 0, "H"], - [13492, 0, "-"], - [13492, 1], - [13492, 0, "_"], - [13493, 0, "1"], - [13494, 0, "$"], - [13495, 0, " "], - [13496, 0, "a"], - [13497, 0, "n"], - [13498, 0, "d"], - [13499, 0, " "], - [13500, 0, "$"], - [13501, 0, "H"], - [13502, 0, "_"], - [13503, 0, "2"], - [13504, 0, "$"], - [13505, 0, ","], - [13506, 0, " "], - [13507, 0, "t"], - [13508, 0, "h"], - [13509, 0, "e"], - [13510, 0, " "], - [13511, 0, "o"], - [13512, 0, "u"], - [13513, 0, "t"], - [13514, 0, "c"], - [13515, 0, "o"], - [13516, 0, "m"], - [13517, 0, "e"], - [13518, 0, " "], - [13519, 0, "i"], - [13520, 0, "s"], - [13521, 0, " "], - [13522, 0, "t"], - [13523, 0, "h"], - [13524, 0, "e"], - [13525, 0, " "], - [13526, 0, "s"], - [13527, 0, "a"], - [13528, 0, "m"], - [13529, 0, "e"], - [13530, 0, " "], - [13531, 0, "s"], - [13532, 0, "e"], - [13533, 0, "q"], - [13534, 0, "u"], - [13535, 0, "e"], - [13536, 0, "n"], - [13537, 0, "c"], - [13538, 0, "e"], - [13539, 0, " "], - [13540, 0, "o"], - [13541, 0, "f"], - [13542, 0, " "], - [13543, 0, "l"], - [13544, 0, "i"], - [13545, 0, "s"], - [13546, 0, "t"], - [13547, 0, " "], - [13548, 0, "e"], - [13549, 0, "l"], - [13550, 0, "e"], - [13551, 0, "m"], - [13552, 0, "e"], - [13553, 0, "n"], - [13554, 0, "t"], - [13555, 0, "s"], - [13556, 0, "."], - [13557, 0, "\n"], - [13558, 0, "\n"], - [13559, 0, "L"], - [13560, 0, "e"], - [13561, 0, "t"], - [13562, 0, " "], - [13563, 0, "$"], - [13564, 0, "H"], - [13565, 0, "_"], - [13566, 0, "c"], - [13567, 0, "$"], - [13568, 0, " "], - [13569, 0, "b"], - [13570, 0, "e"], - [13571, 0, " "], - [13572, 0, "a"], - [13573, 0, " "], - [13574, 0, "h"], - [13575, 0, "i"], - [13576, 0, "s"], - [13577, 0, "t"], - [13578, 0, "o"], - [13579, 0, "r"], - [13580, 0, "y"], - [13581, 0, " "], - [13582, 0, "o"], - [13583, 0, "f"], - [13584, 0, " "], - [13585, 0, "o"], - [13586, 0, "p"], - [13587, 0, "e"], - [13588, 0, "r"], - [13589, 0, "a"], - [13590, 0, "t"], - [13591, 0, "i"], - [13592, 0, "o"], - [13593, 0, "n"], - [13594, 0, "s"], - [13595, 0, " "], - [13595, 1], - [13595, 0, ","], - [13596, 0, " "], - [13597, 0, "d"], - [13598, 0, "e"], - [13599, 0, "r"], - [13600, 0, "i"], - [13601, 0, "v"], - [13602, 0, "e"], - [13603, 0, "d"], - [13604, 0, " "], - [13605, 0, "b"], - [13605, 1], - [13605, 0, "f"], - [13606, 0, "r"], - [13607, 0, "o"], - [13608, 0, "m"], - [13609, 0, " "], - [13610, 0, "e"], - [13611, 0, "i"], - [13612, 0, "t"], - [13613, 0, "h"], - [13614, 0, "e"], - [13615, 0, "r"], - [13616, 0, " "], - [13617, 0, "$"], - [13618, 0, "H"], - [13619, 0, "_"], - [13620, 0, "1"], - [13621, 0, "$"], - [13622, 0, " "], - [13623, 0, "o"], - [13624, 0, "r"], - [13625, 0, " "], - [13626, 0, "$"], - [13627, 0, "H"], - [13628, 0, "_"], - [13629, 0, "2"], - [13630, 0, "$"], - [13631, 0, " "], - [13632, 0, "b"], - [13633, 0, "y"], - [13634, 0, " "], - [13635, 0, "c"], - [13636, 0, "o"], - [13637, 0, "n"], - [13638, 0, "d"], - [13639, 0, "i"], - [13640, 0, "d"], - [13641, 0, "e"], - [13642, 0, "r"], - [13643, 0, "i"], - [13644, 0, "n"], - [13645, 0, "g"], - [13646, 0, " "], - [13647, 0, "o"], - [13648, 0, "n"], - [13649, 0, "l"], - [13650, 0, "y"], - [13651, 0, " "], - [13652, 0, "i"], - [13653, 0, "n"], - [13654, 0, "s"], - [13655, 0, "e"], - [13656, 0, "r"], - [13657, 0, "t"], - [13658, 0, " "], - [13659, 0, "o"], - [13660, 0, "p"], - [13652, 0, "$"], - [13653, 0, "\\"], - [13654, 0, "m"], - [13655, 0, "a"], - [13656, 0, "t"], - [13657, 0, "h"], - [13658, 0, "s"], - [13659, 0, "f"], - [13660, 0, "{"], - [13667, 0, "}"], - [13668, 0, "$"], - [13672, 0, "e"], - [13673, 0, "r"], - [13674, 0, "a"], - [13675, 0, "t"], - [13676, 0, "i"], - [13677, 0, "o"], - [13678, 0, "n"], - [13679, 0, "s"], - [13680, 0, " "], - [13681, 0, "t"], - [13682, 0, "h"], - [13683, 0, "a"], - [13684, 0, "t"], - [13685, 0, " "], - [13686, 0, "a"], - [13687, 0, "r"], - [13688, 0, "e"], - [13689, 0, " "], - [13690, 0, "c"], - [13691, 0, "o"], - [13692, 0, "n"], - [13693, 0, "c"], - [13694, 0, "u"], - [13695, 0, "r"], - [13696, 0, "r"], - [13697, 0, "e"], - [13698, 0, "n"], - [13699, 0, "t"], - [13700, 0, " "], - [13701, 0, "w"], - [13702, 0, "i"], - [13703, 0, "t"], - [13704, 0, "h"], - [13705, 0, " "], - [13706, 0, "$"], - [13707, 0, "o"], - [13708, 0, "_"], - [13709, 0, "{"], - [13710, 0, "n"], - [13711, 0, "+"], - [13712, 0, "1"], - [13713, 0, "}"], - [13714, 0, "$"], - [13645, 1], - [13644, 1], - [13643, 1], - [13642, 1], - [13641, 1], - [13640, 1], - [13639, 1], - [13638, 1], - [13637, 1], - [13636, 1], - [13635, 1], - [13635, 0, "s"], - [13636, 0, "e"], - [13637, 0, "l"], - [13638, 0, "e"], - [13639, 0, "c"], - [13640, 0, "t"], - [13641, 0, "i"], - [13642, 0, "n"], - [13643, 0, "g"], - [13713, 0, " "], - [13714, 0, "a"], - [13715, 0, "n"], - [13716, 0, "d"], - [13717, 0, " "], - [13718, 0, "t"], - [13719, 0, "h"], - [13720, 0, "a"], - [13721, 0, "t"], - [13722, 0, " "], - [13723, 0, "i"], - [13724, 0, "n"], - [13725, 0, "s"], - [13726, 0, "e"], - [13727, 0, "r"], - [13728, 0, "t"], - [13729, 0, " "], - [13730, 0, "a"], - [13731, 0, "t"], - [13732, 0, " "], - [13733, 0, "a"], - [13734, 0, " "], - [13735, 0, "p"], - [13736, 0, "o"], - [13737, 0, "s"], - [13738, 0, "i"], - [13739, 0, "t"], - [13740, 0, "i"], - [13741, 0, "o"], - [13742, 0, "n"], - [13743, 0, " "], - [13744, 0, "b"], - [13745, 0, "e"], - [13746, 0, "t"], - [13747, 0, "w"], - [13748, 0, "e"], - [13749, 0, "e"], - [13750, 0, "n"], - [13751, 0, " "], - [13752, 0, "$"], - [13753, 0, "\\"], - [13754, 0, "m"], - [13755, 0, "a"], - [13756, 0, "t"], - [13757, 0, "h"], - [13758, 0, "i"], - [13759, 0, "t"], - [13760, 0, "{"], - [13761, 0, "p"], - [13762, 0, "r"], - [13763, 0, "e"], - [13764, 0, "v"], - [13765, 0, "}"], - [13766, 0, "$"], - [13767, 0, " "], - [13768, 0, "a"], - [13769, 0, "n"], - [13770, 0, "d"], - [13771, 0, " "], - [13772, 0, "$"], - [13773, 0, "\\"], - [13774, 0, "m"], - [13775, 0, "a"], - [13776, 0, "t"], - [13777, 0, "h"], - [13778, 0, "i"], - [13779, 0, "t"], - [13780, 0, "{"], - [13781, 0, "n"], - [13782, 0, "e"], - [13783, 0, "x"], - [13784, 0, "t"], - [13785, 0, "}"], - [13786, 0, "$"], - [13787, 0, "."], - [13788, 0, " "], - [13789, 0, "A"], - [13790, 0, "m"], - [13791, 0, "o"], - [13792, 0, "n"], - [13793, 0, "g"], - [13794, 0, " "], - [13795, 0, "t"], - [13796, 0, "h"], - [13797, 0, "e"], - [13798, 0, " "], - [13799, 0, "o"], - [13800, 0, "p"], - [13801, 0, "e"], - [13802, 0, "r"], - [13803, 0, "a"], - [13804, 0, "t"], - [13805, 0, "i"], - [13806, 0, "o"], - [13807, 0, "n"], - [13808, 0, "s"], - [13809, 0, " "], - [13810, 0, "i"], - [13811, 0, "n"], - [13812, 0, " "], - [13813, 0, "$"], - [13814, 0, "H"], - [13815, 0, "_"], - [13816, 0, "c"], - [13817, 0, "$"], - [13818, 0, " "], - [13819, 0, "t"], - [13820, 0, "h"], - [13821, 0, "e"], - [13822, 0, "r"], - [13823, 0, "e"], - [13824, 0, " "], - [13825, 0, "i"], - [13826, 0, "s"], - [13827, 0, " "], - [13828, 0, "a"], - [13829, 0, " "], - [13830, 0, "s"], - [13831, 0, "u"], - [13832, 0, "b"], - [13833, 0, "s"], - [13834, 0, "e"], - [13835, 0, "t"], - [13836, 0, " "], - [13837, 0, "o"], - [13838, 0, "f"], - [13839, 0, " "], - [13840, 0, "o"], - [13841, 0, "p"], - [13842, 0, "e"], - [13843, 0, "r"], - [13844, 0, "a"], - [13845, 0, "t"], - [13846, 0, "i"], - [13847, 0, "o"], - [13848, 0, "n"], - [13849, 0, "s"], - [13850, 0, " "], - [13851, 0, "$"], - [13852, 0, "H"], - [13853, 0, "_"], - [13854, 0, "s"], - [13855, 0, "$"], - [13856, 0, " "], - [13857, 0, "t"], - [13858, 0, "h"], - [13859, 0, "a"], - [13860, 0, "t"], - [13861, 0, " "], - [13862, 0, "a"], - [13863, 0, "r"], - [13864, 0, "e"], - [13865, 0, " "], - [13866, 0, "`"], - [13867, 0, "`"], - [13868, 0, "s"], - [13869, 0, "t"], - [13870, 0, "a"], - [13871, 0, "r"], - [13872, 0, "t"], - [13873, 0, "i"], - [13874, 0, "n"], - [13875, 0, "g"], - [13876, 0, " "], - [13877, 0, "o"], - [13878, 0, "p"], - [13879, 0, "e"], - [13880, 0, "r"], - [13881, 0, "a"], - [13882, 0, "t"], - [13883, 0, "i"], - [13884, 0, "o"], - [13885, 0, "n"], - [13886, 0, "s"], - [13887, 0, "'"], - [13888, 0, "'"], - [13889, 0, ":"], - [13890, 0, " "], - [13891, 0, "t"], - [13892, 0, "h"], - [13893, 0, "e"], - [13894, 0, "y"], - [13895, 0, " "], - [13896, 0, "d"], - [13897, 0, "o"], - [13898, 0, " "], - [13899, 0, "n"], - [13900, 0, "o"], - [13901, 0, "t"], - [13902, 0, " "], - [13903, 0, "c"], - [13904, 0, "u"], - [13904, 1], - [13904, 0, "a"], - [13905, 0, "u"], - [13906, 0, "s"], - [13907, 0, "a"], - [13908, 0, "l"], - [13909, 0, "l"], - [13910, 0, "y"], - [13911, 0, " "], - [13912, 0, "d"], - [13913, 0, "e"], - [13914, 0, "p"], - [13915, 0, "e"], - [13916, 0, "n"], - [13917, 0, "d"], - [13918, 0, " "], - [13919, 0, "o"], - [13920, 0, "n"], - [13921, 0, " "], - [13922, 0, "a"], - [13923, 0, "n"], - [13924, 0, "y"], - [13925, 0, " "], - [13926, 0, "o"], - [13927, 0, "t"], - [13928, 0, "h"], - [13929, 0, "e"], - [13930, 0, "r"], - [13931, 0, " "], - [13932, 0, "o"], - [13933, 0, "p"], - [13934, 0, "e"], - [13935, 0, "r"], - [13936, 0, "a"], - [13937, 0, "t"], - [13938, 0, "i"], - [13939, 0, "o"], - [13940, 0, "n"], - [13941, 0, " "], - [13942, 0, "i"], - [13943, 0, "n"], - [13944, 0, " "], - [13945, 0, "$"], - [13946, 0, "H"], - [13947, 0, "_"], - [13948, 0, "c"], - [13949, 0, "$"], - [13950, 0, "."], - [13789, 0, "L"], - [13790, 0, "e"], - [13791, 0, "t"], - [13792, 0, " "], - [13793, 0, "$"], - [13794, 0, "H"], - [13795, 0, "-"], - [13795, 1], - [13795, 0, "_"], - [13796, 0, "s"], - [13797, 0, "$"], - [13798, 0, " "], - [13799, 0, "b"], - [13800, 0, "e"], - [13801, 0, " "], - [13802, 0, "t"], - [13803, 0, "h"], - [13804, 0, "e"], - [13805, 0, " "], - [13814, 1], - [13813, 1], - [13812, 1], - [13811, 1], - [13810, 1], - [13809, 1], - [13808, 1], - [13807, 1], - [13806, 1], - [13806, 0, "s"], - [13807, 0, "u"], - [13808, 0, "b"], - [13809, 0, "s"], - [13810, 0, "e"], - [13811, 0, "t"], - [13812, 0, " "], - [13813, 0, "o"], - [13814, 0, "f"], - [13872, 1], - [13871, 1], - [13870, 1], - [13869, 1], - [13868, 1], - [13867, 1], - [13866, 1], - [13865, 1], - [13864, 1], - [13863, 1], - [13862, 1], - [13861, 1], - [13860, 1], - [13859, 1], - [13858, 1], - [13857, 1], - [13856, 1], - [13855, 1], - [13854, 1], - [13853, 1], - [13852, 1], - [13851, 1], - [13850, 1], - [13849, 1], - [13848, 1], - [13847, 1], - [13846, 1], - [13845, 1], - [13844, 1], - [13843, 1], - [13842, 1], - [13841, 1], - [13840, 1], - [13839, 1], - [13838, 1], - [13837, 1], - [13836, 1], - [13835, 1], - [13930, 0, " "], - [13931, 0, "A"], - [13932, 0, "f"], - [13933, 0, "t"], - [13934, 0, "e"], - [13935, 0, "r"], - [13936, 0, " "], - [13937, 0, "a"], - [13938, 0, "p"], - [13939, 0, "p"], - [13940, 0, "l"], - [13941, 0, "y"], - [13942, 0, "i"], - [13943, 0, "n"], - [13944, 0, "g"], - [13945, 0, " "], - [13946, 0, "$"], - [13947, 0, "#"], - [13947, 1], - [13947, 0, "o"], - [13948, 0, "_"], - [13949, 0, "{"], - [13950, 0, "n"], - [13950, 1], - [13949, 1], - [13948, 1], - [13947, 1], - [13946, 1], - [13945, 1], - [13944, 1], - [13943, 1], - [13942, 1], - [13941, 1], - [13940, 1], - [13939, 1], - [13938, 1], - [13937, 1], - [13936, 1], - [13935, 1], - [13934, 1], - [13933, 1], - [13932, 1], - [13931, 1], - [13931, 0, "N"], - [13932, 0, "o"], - [13933, 0, "t"], - [13934, 0, "e"], - [13935, 0, " "], - [13936, 0, "t"], - [13937, 0, "h"], - [13938, 0, "a"], - [13939, 0, "t"], - [13940, 0, " "], - [13941, 0, "$"], - [13942, 0, "o"], - [13943, 0, "_"], - [13944, 0, "{"], - [13945, 0, "n"], - [13946, 0, "+"], - [13947, 0, "1"], - [13948, 0, "}"], - [13949, 0, "$"], - [13950, 0, " "], - [13951, 0, "i"], - [13952, 0, "s"], - [13953, 0, " "], - [13954, 0, "a"], - [13955, 0, "l"], - [13956, 0, "s"], - [13957, 0, "o"], - [13958, 0, " "], - [13959, 0, "a"], - [13960, 0, " "], - [13961, 0, "s"], - [13962, 0, "t"], - [13963, 0, "a"], - [13964, 0, "r"], - [13965, 0, "t"], - [13966, 0, "i"], - [13967, 0, "n"], - [13968, 0, "g"], - [13969, 0, " "], - [13970, 0, "o"], - [13971, 0, "p"], - [13972, 0, "e"], - [13973, 0, "r"], - [13974, 0, "a"], - [13975, 0, "t"], - [13976, 0, "i"], - [13977, 0, "o"], - [13978, 0, "n"], - [13979, 0, "."], - [13979, 0, ","], - [13980, 0, " "], - [13981, 0, "s"], - [13982, 0, "i"], - [13983, 0, "n"], - [13984, 0, "c"], - [13985, 0, "e"], - [13986, 0, " "], - [13987, 0, "i"], - [13988, 0, "t"], - [13989, 0, " "], - [13990, 0, "d"], - [13991, 0, "o"], - [13992, 0, "e"], - [13993, 0, "s"], - [13994, 0, " "], - [13995, 0, "n"], - [13996, 0, "o"], - [13997, 0, "t"], - [13998, 0, " "], - [13999, 0, "h"], - [14000, 0, "a"], - [14001, 0, "v"], - [14002, 0, "e"], - [14003, 0, " "], - [14004, 0, "a"], - [14005, 0, "n"], - [14006, 0, "y"], - [14007, 0, " "], - [14008, 0, "c"], - [14009, 0, "a"], - [14010, 0, "u"], - [14011, 0, "s"], - [14012, 0, "a"], - [14013, 0, "l"], - [14014, 0, " "], - [14015, 0, "d"], - [14016, 0, "e"], - [14017, 0, "p"], - [14018, 0, "e"], - [14019, 0, "n"], - [14020, 0, "d"], - [14021, 0, "e"], - [14022, 0, "n"], - [14023, 0, "c"], - [14024, 0, "i"], - [14025, 0, "e"], - [14026, 0, "s"], - [14027, 0, " "], - [14028, 0, "i"], - [14029, 0, "n"], - [14030, 0, " "], - [14031, 0, "$"], - [14032, 0, "H"], - [14033, 0, "_"], - [14034, 0, "c"], - [14035, 0, "$"], - [14037, 0, "\n"], - [14038, 0, "\n"], - [14039, 0, "L"], - [14040, 0, "e"], - [14041, 0, "t"], - [14042, 0, " "], - [14043, 0, "$"], - [14044, 0, "O"], - [14044, 1], - [14044, 0, "o"], - [14045, 0, "_"], - [14046, 0, "i"], - [14047, 0, "$"], - [14048, 0, " "], - [14049, 0, "b"], - [14050, 0, "e"], - [14051, 0, " "], - [14052, 0, "a"], - [14053, 0, " "], - [14054, 0, "s"], - [14055, 0, "t"], - [14056, 0, "a"], - [14057, 0, "r"], - [14058, 0, "t"], - [14059, 0, "i"], - [14060, 0, "n"], - [14061, 0, "g"], - [14062, 0, " "], - [14047, 0, " "], - [14048, 0, "\\"], - [14049, 0, "i"], - [14050, 0, "n"], - [14051, 0, " "], - [14052, 0, "H"], - [14053, 0, "_"], - [14054, 0, "s"], - [14071, 0, "o"], - [14072, 0, "p"], - [14073, 0, "e"], - [14074, 0, "r"], - [14075, 0, "a"], - [14076, 0, "t"], - [14077, 0, "i"], - [14078, 0, "o"], - [14079, 0, "n"], - [14080, 0, "."], - [14081, 0, " "], - [14082, 0, "N"], - [14083, 0, "o"], - [14084, 0, "t"], - [14085, 0, "e"], - [14086, 0, " "], - [14087, 0, "t"], - [14088, 0, "h"], - [14089, 0, "a"], - [14090, 0, "t"], - [14091, 0, " "], - [14092, 0, "b"], - [14093, 0, "y"], - [14094, 0, " "], - [14095, 0, "t"], - [14096, 0, "h"], - [14097, 0, "e"], - [14098, 0, " "], - [14099, 0, "d"], - [14100, 0, "e"], - [14101, 0, "f"], - [14102, 0, "i"], - [14103, 0, "n"], - [14104, 0, "i"], - [14105, 0, "t"], - [14106, 0, "i"], - [14107, 0, "o"], - [14108, 0, "n"], - [14109, 0, " "], - [14110, 0, "o"], - [14111, 0, "f"], - [14112, 0, " "], - [14113, 0, "L"], - [14114, 0, "a"], - [14115, 0, "m"], - [14116, 0, "p"], - [14117, 0, "o"], - [14118, 0, "r"], - [14119, 0, "t"], - [14120, 0, " "], - [14121, 0, "t"], - [14122, 0, "i"], - [14123, 0, "m"], - [14124, 0, "e"], - [14125, 0, "s"], - [14126, 0, "t"], - [14127, 0, "a"], - [14128, 0, "m"], - [14129, 0, "p"], - [14130, 0, "s"], - [14131, 0, ","], - [14132, 0, " "], - [14133, 0, "a"], - [14134, 0, "n"], - [14135, 0, "y"], - [14136, 0, " "], - [14137, 0, "o"], - [14138, 0, "p"], - [14139, 0, "e"], - [14140, 0, "r"], - [14141, 0, "a"], - [14142, 0, "t"], - [14143, 0, "i"], - [14144, 0, "o"], - [14145, 0, "n"], - [14146, 0, " "], - [14147, 0, "t"], - [14148, 0, "h"], - [14149, 0, "a"], - [14150, 0, "t"], - [14151, 0, " "], - [14152, 0, "c"], - [14153, 0, "a"], - [14154, 0, "u"], - [14155, 0, "s"], - [14156, 0, "a"], - [14157, 0, "l"], - [14158, 0, "l"], - [14159, 0, "y"], - [14160, 0, " "], - [14161, 0, "d"], - [14162, 0, "e"], - [14163, 0, "p"], - [14164, 0, "e"], - [14165, 0, "n"], - [14166, 0, "d"], - [14167, 0, "s"], - [14168, 0, " "], - [14169, 0, "o"], - [14170, 0, "n"], - [14171, 0, " "], - [14172, 0, "$"], - [14173, 0, "o"], - [14174, 0, "_"], - [14175, 0, "i"], - [14176, 0, "$"], - [14177, 0, " "], - [14178, 0, "m"], - [14179, 0, "u"], - [14180, 0, "s"], - [14181, 0, "t"], - [14182, 0, " "], - [14183, 0, "h"], - [14184, 0, "a"], - [14185, 0, "v"], - [14186, 0, "e"], - [14187, 0, " "], - [14188, 0, "a"], - [14189, 0, " "], - [14190, 0, "g"], - [14191, 0, "r"], - [14192, 0, "e"], - [14193, 0, "a"], - [14194, 0, "t"], - [14195, 0, "e"], - [14196, 0, "r"], - [14197, 0, " "], - [14198, 0, "t"], - [14199, 0, "i"], - [14200, 0, "m"], - [14201, 0, "e"], - [14202, 0, "s"], - [14203, 0, "t"], - [14204, 0, "a"], - [14205, 0, "m"], - [14206, 0, "p"], - [14207, 0, " "], - [14208, 0, "t"], - [14209, 0, "h"], - [14210, 0, "a"], - [14211, 0, "n"], - [14212, 0, " "], - [14213, 0, "$"], - [14214, 0, "o"], - [14215, 0, "_"], - [14216, 0, "i"], - [14217, 0, "$"], - [14218, 0, "."], - [14219, 0, " "], - [14220, 0, "T"], - [14221, 0, "h"], - [14222, 0, "u"], - [14223, 0, "s"], - [14224, 0, ","], - [14225, 0, " "], - [14226, 0, "$"], - [14226, 1], - [14226, 0, "i"], - [14227, 0, "f"], - [14228, 0, " "], - [14229, 0, "t"], - [14230, 0, "h"], - [14231, 0, "e"], - [14232, 0, " "], - [14233, 0, "$"], - [14234, 0, "\\"], - [14235, 0, "m"], - [14236, 0, "a"], - [14237, 0, "t"], - [14238, 0, "h"], - [14239, 0, "r"], - [14240, 0, "m"], - [14241, 0, "{"], - [14242, 0, "a"], - [14243, 0, "p"], - [14244, 0, "p"], - [14245, 0, "l"], - [14246, 0, "y"], - [14247, 0, "}"], - [14248, 0, "$"], - [14249, 0, " "], - [14250, 0, "r"], - [14251, 0, "u"], - [14252, 0, "l"], - [14253, 0, "e"], - [14254, 0, " "], - [14255, 0, "i"], - [14256, 0, "n"], - [14257, 0, "s"], - [14258, 0, "e"], - [14259, 0, "r"], - [14260, 0, "t"], - [14261, 0, "s"], - [14262, 0, " "], - [14263, 0, "$"], - [14264, 0, "o"], - [14265, 0, "_"], - [14266, 0, "{"], - [14267, 0, "n"], - [14268, 0, "+"], - [14269, 0, "1"], - [14270, 0, "}"], - [14271, 0, "$"], - [14272, 0, " "], - [14273, 0, "a"], - [14274, 0, "f"], - [14275, 0, "t"], - [14276, 0, "e"], - [14277, 0, "r"], - [14278, 0, " "], - [14279, 0, "$"], - [14280, 0, "o"], - [14281, 0, "_"], - [14282, 0, "i"], - [14283, 0, "$"], - [14284, 0, ","], - [14285, 0, " "], - [14286, 0, "t"], - [14287, 0, "h"], - [14288, 0, "e"], - [14289, 0, "n"], - [14290, 0, " "], - [14291, 0, "$"], - [14292, 0, "o"], - [14292, 1], - [14291, 1], - [14291, 0, "a"], - [14292, 0, "l"], - [14293, 0, "l"], - [14294, 0, " "], - [14295, 0, "o"], - [14296, 0, "p"], - [14297, 0, "e"], - [14298, 0, "r"], - [14299, 0, "a"], - [14300, 0, "t"], - [14301, 0, "i"], - [14302, 0, "o"], - [14303, 0, "n"], - [14304, 0, "s"], - [14305, 0, " "], - [14306, 0, "t"], - [14307, 0, "h"], - [14308, 0, "a"], - [14309, 0, "t"], - [14310, 0, " "], - [14311, 0, "c"], - [14312, 0, "a"], - [14313, 0, "u"], - [14314, 0, "s"], - [14315, 0, "a"], - [14316, 0, "l"], - [14317, 0, "l"], - [14318, 0, "y"], - [14319, 0, " "], - [14320, 0, "d"], - [14321, 0, "e"], - [14322, 0, "p"], - [14323, 0, "e"], - [14324, 0, "n"], - [14325, 0, "d"], - [14326, 0, " "], - [14327, 0, "o"], - [14328, 0, "n"], - [14329, 0, " "], - [14330, 0, "$"], - [14331, 0, "o"], - [14332, 0, "_"], - [14333, 0, "i"], - [14334, 0, "$"], - [14335, 0, " "], - [14336, 0, "n"], - [14337, 0, "e"], - [14338, 0, "c"], - [14339, 0, "e"], - [14340, 0, "s"], - [14341, 0, "s"], - [14342, 0, "a"], - [14343, 0, "r"], - [14344, 0, "i"], - [14345, 0, "l"], - [14346, 0, "y"], - [14347, 0, " "], - [14348, 0, "a"], - [14349, 0, "l"], - [14350, 0, "s"], - [14351, 0, "o"], - [14352, 0, " "], - [14353, 0, "a"], - [14354, 0, "p"], - [14355, 0, "p"], - [14356, 0, "e"], - [14357, 0, "a"], - [14358, 0, "r"], - [14359, 0, " "], - [14360, 0, "b"], - [14361, 0, "e"], - [14362, 0, "f"], - [14363, 0, "o"], - [14364, 0, "r"], - [14365, 0, "e"], - [14366, 0, " "], - [14367, 0, "$"], - [14368, 0, "o"], - [14369, 0, "_"], - [14370, 0, "{"], - [14371, 0, "n"], - [14372, 0, "+"], - [14373, 0, "1"], - [14374, 0, "}"], - [14375, 0, "$"], - [14376, 0, " "], - [14377, 0, "i"], - [14378, 0, "n"], - [14379, 0, " "], - [14380, 0, "t"], - [14381, 0, "h"], - [14382, 0, "e"], - [14383, 0, " "], - [14384, 0, "f"], - [14385, 0, "i"], - [14386, 0, "n"], - [14387, 0, "a"], - [14388, 0, "l"], - [14389, 0, " "], - [14390, 0, "s"], - [14391, 0, "t"], - [14392, 0, "a"], - [14393, 0, "t"], - [14394, 0, "e"], - [14395, 0, "."], - [14396, 0, "\n"], - [14397, 0, "\n"], - [13142, 0, "\n"], - [13143, 0, "\n"], - [13142, 0, "L"], - [13143, 0, "e"], - [13144, 0, "t"], - [13145, 0, " "], - [13146, 0, "$"], - [13147, 0, "H"], - [13148, 0, "_"], - [13149, 0, "c"], - [13150, 0, "$"], - [13151, 0, " "], - [13152, 0, "b"], - [13153, 0, "e"], - [13154, 0, " "], - [13155, 0, "a"], - [13156, 0, " "], - [13157, 0, "h"], - [13158, 0, "i"], - [13159, 0, "s"], - [13160, 0, "t"], - [13161, 0, "o"], - [13162, 0, "r"], - [13163, 0, "y"], - [13164, 0, " "], - [13165, 0, "o"], - [13166, 0, "f"], - [13167, 0, " "], - [13168, 0, "o"], - [13169, 0, "p"], - [13170, 0, "e"], - [13171, 0, "r"], - [13172, 0, "a"], - [13173, 0, "t"], - [13174, 0, "i"], - [13175, 0, "o"], - [13176, 0, "n"], - [13177, 0, "s"], - [13178, 0, ","], - [13179, 0, " "], - [13180, 0, "d"], - [13181, 0, "e"], - [13182, 0, "r"], - [13183, 0, "i"], - [13184, 0, "v"], - [13185, 0, "e"], - [13186, 0, "d"], - [13187, 0, " "], - [13188, 0, "f"], - [13189, 0, "r"], - [13190, 0, "o"], - [13191, 0, "m"], - [13192, 0, " "], - [13193, 0, "e"], - [13194, 0, "i"], - [13195, 0, "t"], - [13196, 0, "h"], - [13197, 0, "e"], - [13198, 0, "r"], - [13199, 0, " "], - [13200, 0, "$"], - [13201, 0, "H"], - [13202, 0, "_"], - [13203, 0, "1"], - [13204, 0, "$"], - [13205, 0, " "], - [13206, 0, "o"], - [13207, 0, "r"], - [13208, 0, " "], - [13209, 0, "$"], - [13210, 0, "H"], - [13211, 0, "_"], - [13212, 0, "2"], - [13213, 0, "$"], - [13214, 0, " "], - [13215, 0, "b"], - [13216, 0, "y"], - [13217, 0, " "], - [13218, 0, "s"], - [13219, 0, "e"], - [13220, 0, "l"], - [13221, 0, "e"], - [13222, 0, "c"], - [13223, 0, "t"], - [13224, 0, "i"], - [13225, 0, "n"], - [13226, 0, "g"], - [13227, 0, " "], - [13228, 0, "o"], - [13229, 0, "n"], - [13230, 0, "l"], - [13231, 0, "y"], - [13232, 0, " "], - [13233, 0, "$"], - [13234, 0, "\\"], - [13235, 0, "m"], - [13236, 0, "a"], - [13237, 0, "t"], - [13238, 0, "h"], - [13239, 0, "s"], - [13240, 0, "f"], - [13241, 0, "{"], - [13242, 0, "i"], - [13243, 0, "n"], - [13244, 0, "s"], - [13245, 0, "e"], - [13246, 0, "r"], - [13247, 0, "t"], - [13248, 0, "}"], - [13249, 0, "$"], - [13250, 0, " "], - [13251, 0, "o"], - [13252, 0, "p"], - [13253, 0, "e"], - [13254, 0, "r"], - [13255, 0, "a"], - [13256, 0, "t"], - [13257, 0, "i"], - [13258, 0, "o"], - [13259, 0, "n"], - [13260, 0, "s"], - [13261, 0, " "], - [13262, 0, "t"], - [13263, 0, "h"], - [13264, 0, "a"], - [13265, 0, "t"], - [13266, 0, " "], - [13267, 0, "a"], - [13268, 0, "r"], - [13269, 0, "e"], - [13270, 0, " "], - [13271, 0, "c"], - [13272, 0, "o"], - [13273, 0, "n"], - [13274, 0, "c"], - [13275, 0, "u"], - [13276, 0, "r"], - [13277, 0, "r"], - [13278, 0, "e"], - [13279, 0, "n"], - [13280, 0, "t"], - [13281, 0, " "], - [13282, 0, "w"], - [13283, 0, "i"], - [13284, 0, "t"], - [13285, 0, "h"], - [13286, 0, " "], - [13287, 0, "$"], - [13288, 0, "{"], - [13288, 1], - [13288, 0, "o"], - [13289, 0, "_"], - [13290, 0, "{"], - [13291, 0, "n"], - [13292, 0, "+"], - [13293, 0, "1"], - [13294, 0, "}"], - [13295, 0, "$"], - [13296, 0, " "], - [13297, 0, "a"], - [13298, 0, "n"], - [13299, 0, "d"], - [13300, 0, " "], - [13301, 0, "t"], - [13302, 0, "h"], - [13303, 0, "a"], - [13304, 0, "t"], - [13305, 0, " "], - [13306, 0, "i"], - [13307, 0, "n"], - [13308, 0, "s"], - [13309, 0, "e"], - [13310, 0, "r"], - [13311, 0, "t"], - [13312, 0, " "], - [13313, 0, "a"], - [13314, 0, " "], - [13314, 1], - [13314, 0, "t"], - [13315, 0, " "], - [13316, 0, "a"], - [13317, 0, " "], - [13318, 0, "p"], - [13319, 0, "o"], - [13320, 0, "s"], - [13321, 0, "i"], - [13322, 0, "t"], - [13323, 0, "i"], - [13324, 0, "o"], - [13325, 0, "n"], - [13326, 0, " "], - [13327, 0, "w"], - [13328, 0, "i"], - [13329, 0, "t"], - [13330, 0, "h"], - [13331, 0, "i"], - [13332, 0, "n"], - [13333, 0, " "], - [13334, 0, "t"], - [13335, 0, "h"], - [13336, 0, "e"], - [13337, 0, " "], - [13338, 0, "i"], - [13339, 0, "n"], - [13340, 0, "t"], - [13341, 0, "e"], - [13342, 0, "r"], - [13343, 0, "v"], - [13344, 0, "a"], - [13345, 0, "l"], - [13346, 0, " "], - [13347, 0, "f"], - [13348, 0, "r"], - [13349, 0, "o"], - [13350, 0, "m"], - [13351, 0, " "], - [13352, 0, "$"], - [13353, 0, "\\"], - [13354, 0, "m"], - [13355, 0, "a"], - [13356, 0, "t"], - [13357, 0, "h"], - [13358, 0, "i"], - [13359, 0, "t"], - [13360, 0, "{"], - [13361, 0, "p"], - [13362, 0, "r"], - [13363, 0, "e"], - [13364, 0, "v"], - [13365, 0, "}"], - [13366, 0, "$"], - [13367, 0, " "], - [13368, 0, "t"], - [13369, 0, "o"], - [13370, 0, " "], - [13371, 0, "$"], - [13372, 0, "\\"], - [13373, 0, "m"], - [13374, 0, "a"], - [13375, 0, "t"], - [13376, 0, "h"], - [13377, 0, "i"], - [13378, 0, "t"], - [13379, 0, "{"], - [13380, 0, "n"], - [13381, 0, "e"], - [13382, 0, "x"], - [13383, 0, "t"], - [13384, 0, "}"], - [13385, 0, "$"], - [13386, 0, "."], - [13387, 0, " "], - [13388, 0, "T"], - [13389, 0, "h"], - [13390, 0, "e"], - [13391, 0, " "], - [13392, 0, "o"], - [13393, 0, "p"], - [13394, 0, "e"], - [13395, 0, "r"], - [13396, 0, "a"], - [13397, 0, "t"], - [13398, 0, "i"], - [13399, 0, "o"], - [13400, 0, "n"], - [13401, 0, "s"], - [13402, 0, " "], - [13403, 0, "i"], - [13404, 0, "n"], - [13405, 0, " "], - [13406, 0, "$"], - [13407, 0, "H"], - [13408, 0, "_"], - [13409, 0, "c"], - [13410, 0, "$"], - [13411, 0, " "], - [13412, 0, "d"], - [13413, 0, "e"], - [13414, 0, "t"], - [13415, 0, "e"], - [13416, 0, "r"], - [13417, 0, "m"], - [13418, 0, "i"], - [13419, 0, "n"], - [13420, 0, "e"], - [13421, 0, " "], - [13422, 0, "t"], - [13423, 0, "h"], - [13424, 0, "e"], - [13425, 0, " "], - [13426, 0, "f"], - [13427, 0, "i"], - [13428, 0, "n"], - [13429, 0, "a"], - [13430, 0, "l"], - [13431, 0, " "], - [13432, 0, "o"], - [13433, 0, "r"], - [13434, 0, "d"], - [13435, 0, "e"], - [13436, 0, "r"], - [13437, 0, " "], - [13438, 0, "o"], - [13439, 0, "f"], - [13440, 0, " "], - [13441, 0, "l"], - [13442, 0, "i"], - [13443, 0, "s"], - [13444, 0, "t"], - [13445, 0, " "], - [13446, 0, "e"], - [13447, 0, "l"], - [13448, 0, "e"], - [13449, 0, "m"], - [13450, 0, "t"], - [13451, 0, "n"], - [13452, 0, "s"], - [13453, 0, " "], - [13453, 1], - [13452, 1], - [13451, 1], - [13450, 1], - [13450, 0, "e"], - [13451, 0, "m"], - [13452, 0, "t"], - [13452, 1], - [13451, 1], - [13451, 0, "n"], - [13452, 0, "t"], - [13453, 0, "s"], - [13454, 0, " "], - [13455, 0, "w"], - [13456, 0, "i"], - [13457, 0, "t"], - [13458, 0, "h"], - [13459, 0, "i"], - [13460, 0, "n"], - [13461, 0, " "], - [13462, 0, "t"], - [13463, 0, "h"], - [13464, 0, "a"], - [13465, 0, "t"], - [13466, 0, " "], - [13467, 0, "i"], - [13468, 0, "n"], - [13469, 0, "t"], - [13470, 0, "e"], - [13471, 0, "r"], - [13472, 0, "v"], - [13473, 0, "a"], - [13474, 0, "l"], - [13475, 0, ","], - [13476, 0, " "], - [13477, 0, "a"], - [13478, 0, "n"], - [13479, 0, "d"], - [13480, 0, " "], - [13481, 0, "d"], - [13482, 0, "o"], - [13483, 0, " "], - [13484, 0, "n"], - [13485, 0, "o"], - [13486, 0, "t"], - [13487, 0, " "], - [13488, 0, "a"], - [13489, 0, "f"], - [13490, 0, "f"], - [13491, 0, "e"], - [13492, 0, "c"], - [13493, 0, "t"], - [13494, 0, " "], - [13495, 0, "("], - [13496, 0, "a"], - [13497, 0, "n"], - [13498, 0, "d"], - [13499, 0, " "], - [13500, 0, "a"], - [13501, 0, "r"], - [13502, 0, "e"], - [13503, 0, " "], - [13504, 0, "n"], - [13505, 0, "o"], - [13506, 0, "t"], - [13507, 0, " "], - [13508, 0, "a"], - [13509, 0, "f"], - [13510, 0, "f"], - [13511, 0, "e"], - [13512, 0, "c"], - [13513, 0, "t"], - [13514, 0, "e"], - [13515, 0, "d"], - [13516, 0, " "], - [13517, 0, "b"], - [13518, 0, "y"], - [13519, 0, ")"], - [13520, 0, " "], - [13521, 0, "t"], - [13522, 0, "h"], - [13523, 0, "e"], - [13524, 0, " "], - [13525, 0, "o"], - [13526, 0, "r"], - [13527, 0, "d"], - [13528, 0, "e"], - [13529, 0, "r"], - [13529, 1], - [13528, 1], - [13527, 1], - [13526, 1], - [13525, 1], - [13525, 0, "l"], - [13526, 0, "i"], - [13527, 0, "s"], - [13528, 0, "t"], - [13529, 0, " "], - [13530, 0, "o"], - [13531, 0, "r"], - [13532, 0, "d"], - [13533, 0, "e"], - [13534, 0, "r"], - [13535, 0, " "], - [13536, 0, "o"], - [13537, 0, "u"], - [13538, 0, "t"], - [13539, 0, "s"], - [13540, 0, "i"], - [13541, 0, "d"], - [13542, 0, "e"], - [13543, 0, " "], - [13544, 0, "o"], - [13545, 0, "f"], - [13546, 0, " "], - [13547, 0, "t"], - [13548, 0, "h"], - [13549, 0, "a"], - [13550, 0, "t"], - [13551, 0, " "], - [13552, 0, "i"], - [13553, 0, "n"], - [13554, 0, "t"], - [13555, 0, "e"], - [13556, 0, "r"], - [13557, 0, "v"], - [13558, 0, "a"], - [13559, 0, "l"], - [13560, 0, "."], - [13561, 0, " "], - [13562, 0, "B"], - [13563, 0, "y"], - [13564, 0, " "], - [13565, 0, "t"], - [13566, 0, "h"], - [13567, 0, "e"], - [13568, 0, " "], - [13569, 0, "i"], - [13570, 0, "n"], - [13571, 0, "d"], - [13572, 0, "u"], - [13573, 0, "c"], - [13574, 0, "t"], - [13575, 0, "i"], - [13576, 0, "o"], - [13577, 0, "n"], - [13578, 0, " "], - [13579, 0, "h"], - [13580, 0, "y"], - [13581, 0, "p"], - [13582, 0, "o"], - [13583, 0, "t"], - [13584, 0, "h"], - [13585, 0, "e"], - [13586, 0, "s"], - [13587, 0, "i"], - [13588, 0, "s"], - [13589, 0, ","], - [13590, 0, " "], - [13591, 0, "t"], - [13592, 0, "h"], - [13593, 0, "e"], - [13594, 0, " "], - [13595, 0, "o"], - [13596, 0, "p"], - [13597, 0, "e"], - [13598, 0, "r"], - [13599, 0, "a"], - [13600, 0, "t"], - [13601, 0, "i"], - [13602, 0, "o"], - [13603, 0, "n"], - [13604, 0, "s"], - [13605, 0, " "], - [13606, 0, "i"], - [13607, 0, "n"], - [13608, 0, " "], - [13609, 0, "$"], - [13610, 0, "H"], - [13611, 0, "_"], - [13612, 0, "c"], - [13613, 0, "$"], - [13614, 0, " "], - [13607, 1], - [13606, 1], - [13605, 1], - [13604, 1], - [13603, 1], - [13602, 1], - [13601, 1], - [13600, 1], - [13599, 1], - [13598, 1], - [13597, 1], - [13596, 1], - [13595, 1], - [13594, 1], - [13593, 1], - [13592, 1], - [13591, 1], - [13591, 0, "a"], - [13592, 0, "l"], - [13593, 0, "l"], - [13594, 0, " "], - [13595, 0, "p"], - [13596, 0, "o"], - [13597, 0, "s"], - [13598, 0, "s"], - [13599, 0, "i"], - [13600, 0, "b"], - [13601, 0, "l"], - [13602, 0, "e"], - [13603, 0, " "], - [13604, 0, "c"], - [13605, 0, "h"], - [13606, 0, "o"], - [13607, 0, "i"], - [13608, 0, "c"], - [13609, 0, "e"], - [13610, 0, "s"], - [13611, 0, " "], - [13612, 0, "o"], - [13613, 0, "f"], - [13621, 0, "r"], - [13622, 0, "e"], - [13623, 0, "s"], - [13624, 0, "u"], - [13625, 0, "l"], - [13626, 0, "t"], - [13627, 0, " "], - [13628, 0, "i"], - [13629, 0, "n"], - [13630, 0, " "], - [13631, 0, "t"], - [13632, 0, "h"], - [13633, 0, "e"], - [13634, 0, " "], - [13635, 0, "s"], - [13636, 0, "a"], - [13637, 0, "m"], - [13638, 0, "e"], - [13639, 0, " "], - [13640, 0, "f"], - [13641, 0, "i"], - [13642, 0, "n"], - [13643, 0, "a"], - [13644, 0, "l"], - [13645, 0, " "], - [13646, 0, "l"], - [13647, 0, "i"], - [13648, 0, "s"], - [13649, 0, "t"], - [13650, 0, " "], - [13651, 0, "o"], - [13652, 0, "r"], - [13653, 0, "d"], - [13654, 0, "e"], - [13655, 0, "r"], - [13656, 0, " "], - [13657, 0, "w"], - [13658, 0, "i"], - [13659, 0, "t"], - [13660, 0, "h"], - [13661, 0, "i"], - [13662, 0, "n"], - [13663, 0, " "], - [13387, 0, " "], - [13388, 0, "B"], - [13389, 0, "y"], - [13390, 0, " "], - [13391, 0, "t"], - [13392, 0, "h"], - [13393, 0, "e"], - [13394, 0, " "], - [13395, 0, "i"], - [13396, 0, "n"], - [13397, 0, "d"], - [13398, 0, "u"], - [13399, 0, "c"], - [13400, 0, "t"], - [13401, 0, "i"], - [13402, 0, "o"], - [13403, 0, "n"], - [13404, 0, " "], - [13405, 0, "h"], - [13406, 0, "y"], - [13407, 0, "p"], - [13408, 0, "o"], - [13409, 0, "t"], - [13410, 0, "h"], - [13411, 0, "e"], - [13412, 0, "s"], - [13413, 0, "i"], - [13414, 0, "s"], - [13415, 0, ","], - [13433, 1], - [13432, 1], - [13431, 1], - [13430, 1], - [13429, 1], - [13428, 1], - [13427, 1], - [13426, 1], - [13425, 1], - [13424, 1], - [13423, 1], - [13422, 1], - [13421, 1], - [13420, 1], - [13419, 1], - [13418, 1], - [13417, 1], - [13417, 0, "a"], - [13418, 0, "l"], - [13419, 0, "l"], - [13420, 0, " "], - [13421, 0, "p"], - [13422, 0, "o"], - [13423, 0, "s"], - [13424, 0, "s"], - [13425, 0, "i"], - [13426, 0, "b"], - [13427, 0, "l"], - [13428, 0, "e"], - [13429, 0, " "], - [13430, 0, "s"], - [13431, 0, "u"], - [13432, 0, "b"], - [13433, 0, "-"], - [13434, 0, "h"], - [13435, 0, "i"], - [13436, 0, "s"], - [13437, 0, "t"], - [13438, 0, "o"], - [13439, 0, "r"], - [13440, 0, "i"], - [13441, 0, "e"], - [13442, 0, "s"], - [13458, 1], - [13457, 1], - [13456, 1], - [13455, 1], - [13454, 1], - [13453, 1], - [13452, 1], - [13451, 1], - [13450, 1], - [13450, 0, "r"], - [13451, 0, "e"], - [13452, 0, "s"], - [13453, 0, "u"], - [13454, 0, "l"], - [13455, 0, "t"], - [13456, 0, " "], - [13457, 0, "i"], - [13458, 0, "n"], - [13459, 0, " "], - [13460, 0, "t"], - [13461, 0, "h"], - [13461, 1], - [13460, 1], - [13459, 1], - [13463, 0, " "], - [13464, 0, "s"], - [13465, 0, "a"], - [13466, 0, "m"], - [13467, 0, "e"], - [13522, 1], - [13521, 1], - [13520, 1], - [13519, 1], - [13518, 1], - [13518, 0, "."], - [13519, 0, " "], - [13520, 0, "T"], - [13521, 0, "h"], - [13522, 0, "e"], - [13523, 0, " "], - [13524, 0, "o"], - [13525, 0, "p"], - [13526, 0, "e"], - [13527, 0, "r"], - [13528, 0, "a"], - [13529, 0, "t"], - [13530, 0, "i"], - [13531, 0, "o"], - [13532, 0, "n"], - [13533, 0, "s"], - [13534, 0, " "], - [13535, 0, "i"], - [13536, 0, "n"], - [13537, 0, " "], - [13538, 0, "$"], - [13539, 0, "H"], - [13540, 0, "_"], - [13541, 0, "c"], - [13542, 0, "$"], - [13726, 1], - [13725, 1], - [13724, 1], - [13723, 1], - [13722, 1], - [13721, 1], - [13720, 1], - [13719, 1], - [13718, 1], - [13717, 1], - [13716, 1], - [13715, 1], - [13714, 1], - [13713, 1], - [13712, 1], - [13711, 1], - [13710, 1], - [13709, 1], - [13708, 1], - [13707, 1], - [13706, 1], - [13705, 1], - [13704, 1], - [13703, 1], - [13702, 1], - [13701, 1], - [13700, 1], - [13699, 1], - [13698, 1], - [13697, 1], - [13696, 1], - [13695, 1], - [13694, 1], - [13693, 1], - [13692, 1], - [13691, 1], - [13690, 1], - [13689, 1], - [13688, 1], - [13687, 1], - [13686, 1], - [13685, 1], - [13684, 1], - [13683, 1], - [13682, 1], - [13681, 1], - [13680, 1], - [13679, 1], - [13678, 1], - [13677, 1], - [13676, 1], - [13675, 1], - [13674, 1], - [13673, 1], - [13672, 1], - [13671, 1], - [13670, 1], - [13669, 1], - [13668, 1], - [13667, 1], - [13666, 1], - [13665, 1], - [13664, 1], - [13663, 1], - [13662, 1], - [13661, 1], - [13660, 1], - [13659, 1], - [13658, 1], - [13657, 1], - [13656, 1], - [13655, 1], - [13654, 1], - [13653, 1], - [13652, 1], - [13651, 1], - [13650, 1], - [13649, 1], - [13648, 1], - [13647, 1], - [13646, 1], - [13645, 1], - [13644, 1], - [13643, 1], - [13642, 1], - [13641, 1], - [13640, 1], - [13639, 1], - [13638, 1], - [13637, 1], - [13636, 1], - [13635, 1], - [13634, 1], - [13633, 1], - [13632, 1], - [13631, 1], - [13630, 1], - [13629, 1], - [13628, 1], - [13627, 1], - [13626, 1], - [13625, 1], - [13624, 1], - [13623, 1], - [13623, 0, ","], - [13624, 0, " "], - [13625, 0, "s"], - [13626, 0, "o"], - [13627, 0, " "], - [13628, 0, "w"], - [13629, 0, "e"], - [13630, 0, " "], - [13631, 0, "c"], - [13632, 0, "a"], - [13633, 0, "n"], - [13634, 0, " "], - [13635, 0, "c"], - [13636, 0, "o"], - [13637, 0, "n"], - [13638, 0, "s"], - [13639, 0, "i"], - [13640, 0, "d"], - [13641, 0, "e"], - [13642, 0, "r"], - [13643, 0, " "], - [13644, 0, "$"], - [13645, 0, "H"], - [13646, 0, "_"], - [13647, 0, "c"], - [13648, 0, "$"], - [13649, 0, " "], - [13650, 0, "i"], - [13651, 0, "n"], - [13652, 0, " "], - [13653, 0, "i"], - [13654, 0, "s"], - [13655, 0, "o"], - [13656, 0, "l"], - [13657, 0, "a"], - [13658, 0, "t"], - [13659, 0, "i"], - [13660, 0, "o"], - [13661, 0, "n"], - [13662, 0, "."], - [14311, 1], - [14310, 1], - [14309, 1], - [14308, 1], - [14307, 1], - [14306, 1], - [14305, 1], - [14304, 1], - [14303, 1], - [14302, 1], - [14301, 1], - [14300, 1], - [14299, 1], - [14298, 1], - [14297, 1], - [14296, 1], - [14295, 1], - [14294, 1], - [14293, 1], - [14292, 1], - [14291, 1], - [14290, 1], - [14289, 1], - [14288, 1], - [14287, 1], - [14286, 1], - [14285, 1], - [14284, 1], - [14283, 1], - [14282, 1], - [14281, 1], - [14280, 1], - [14279, 1], - [14278, 1], - [14277, 1], - [14276, 1], - [14275, 1], - [14274, 1], - [14273, 1], - [14272, 1], - [14271, 1], - [14270, 1], - [14269, 1], - [14268, 1], - [14267, 1], - [14266, 1], - [14265, 1], - [14264, 1], - [14263, 1], - [14262, 1], - [14261, 1], - [14260, 1], - [14259, 1], - [14258, 1], - [14257, 1], - [14256, 1], - [14255, 1], - [14254, 1], - [14253, 1], - [14252, 1], - [14251, 1], - [14250, 1], - [14249, 1], - [14248, 1], - [14247, 1], - [14246, 1], - [14245, 1], - [14244, 1], - [14243, 1], - [14242, 1], - [14241, 1], - [14240, 1], - [14239, 1], - [14238, 1], - [14237, 1], - [14236, 1], - [14235, 1], - [14234, 1], - [14233, 1], - [14232, 1], - [14231, 1], - [14230, 1], - [14229, 1], - [14228, 1], - [14227, 1], - [14226, 1], - [14225, 1], - [14224, 1], - [14223, 1], - [14222, 1], - [14221, 1], - [14220, 1], - [14219, 1], - [14218, 1], - [14217, 1], - [14216, 1], - [14215, 1], - [14214, 1], - [14213, 1], - [14212, 1], - [14211, 1], - [14210, 1], - [14209, 1], - [14208, 1], - [14207, 1], - [14206, 1], - [14205, 1], - [14204, 1], - [14203, 1], - [14202, 1], - [14201, 1], - [14200, 1], - [14199, 1], - [14198, 1], - [14197, 1], - [14196, 1], - [14195, 1], - [14194, 1], - [14193, 1], - [14192, 1], - [14191, 1], - [14190, 1], - [14189, 1], - [14188, 1], - [14187, 1], - [14186, 1], - [14185, 1], - [14184, 1], - [14183, 1], - [14182, 1], - [14181, 1], - [14180, 1], - [14179, 1], - [14178, 1], - [14177, 1], - [14176, 1], - [14175, 1], - [14174, 1], - [14173, 1], - [14172, 1], - [14171, 1], - [14170, 1], - [14169, 1], - [14168, 1], - [14167, 1], - [14166, 1], - [14165, 1], - [14164, 1], - [14163, 1], - [14162, 1], - [14161, 1], - [14160, 1], - [14159, 1], - [14158, 1], - [14157, 1], - [14156, 1], - [14155, 1], - [14154, 1], - [14153, 1], - [14152, 1], - [14151, 1], - [14150, 1], - [14149, 1], - [14148, 1], - [14147, 1], - [14146, 1], - [14145, 1], - [14144, 1], - [14143, 1], - [14142, 1], - [14141, 1], - [14140, 1], - [14139, 1], - [14138, 1], - [14137, 1], - [14136, 1], - [14135, 1], - [14134, 1], - [14133, 1], - [14132, 1], - [14131, 1], - [14130, 1], - [14129, 1], - [14128, 1], - [14127, 1], - [14126, 1], - [14125, 1], - [14124, 1], - [14123, 1], - [14122, 1], - [14121, 1], - [14120, 1], - [14119, 1], - [14118, 1], - [14117, 1], - [14116, 1], - [14115, 1], - [14114, 1], - [14113, 1], - [14112, 1], - [14111, 1], - [14110, 1], - [14109, 1], - [14108, 1], - [14107, 1], - [14106, 1], - [14105, 1], - [14104, 1], - [14103, 1], - [14102, 1], - [14101, 1], - [14100, 1], - [14099, 1], - [14098, 1], - [14097, 1], - [14096, 1], - [14095, 1], - [14094, 1], - [14093, 1], - [14092, 1], - [14091, 1], - [14090, 1], - [14089, 1], - [14088, 1], - [14087, 1], - [14086, 1], - [14085, 1], - [14084, 1], - [14083, 1], - [14082, 1], - [13663, 0, "\n"], - [13664, 0, "\n"], - [13665, 0, "L"], - [13666, 0, "e"], - [13667, 0, "t"], - [13668, 0, " "], - [13669, 0, "$"], - [13670, 0, "["], - [13671, 0, "\\"], - [13672, 0, "m"], - [13673, 0, "a"], - [13674, 0, "t"], - [13675, 0, "h"], - [13676, 0, "i"], - [13677, 0, "t"], - [13678, 0, "{"], - [13679, 0, "i"], - [13680, 0, "d"], - [13681, 0, "}"], - [13682, 0, "_"], - [13683, 0, "1"], - [13684, 0, ","], - [13685, 0, " "], - [13686, 0, "\\"], - [13687, 0, "d"], - [13688, 0, "o"], - [13689, 0, "t"], - [13690, 0, "s"], - [13691, 0, ","], - [13692, 0, " "], - [13693, 0, "\\"], - [13694, 0, "m"], - [13695, 0, "a"], - [13696, 0, "t"], - [13697, 0, "h"], - [13698, 0, "i"], - [13699, 0, "t"], - [13700, 0, "{"], - [13701, 0, "i"], - [13702, 0, "d"], - [13703, 0, "}"], - [13704, 0, "_"], - [13705, 0, "k"], - [13706, 0, "]"], - [13707, 0, "$"], - [13708, 0, " "], - [13709, 0, "b"], - [13710, 0, "e"], - [13711, 0, " "], - [13712, 0, "t"], - [13713, 0, "h"], - [13714, 0, "e"], - [13715, 0, " "], - [13716, 0, "o"], - [13717, 0, "r"], - [13718, 0, "d"], - [13719, 0, "e"], - [13720, 0, "r"], - [13721, 0, " "], - [13722, 0, "o"], - [13723, 0, "f"], - [13724, 0, " "], - [13725, 0, "l"], - [13726, 0, "i"], - [13727, 0, "s"], - [13728, 0, "t"], - [13729, 0, " "], - [13730, 0, "e"], - [13731, 0, "l"], - [13732, 0, "e"], - [13733, 0, "m"], - [13734, 0, "e"], - [13735, 0, "n"], - [13736, 0, "t"], - [13737, 0, "s"], - [13738, 0, " "], - [13715, 0, " "], - [13716, 0, "L"], - [13717, 0, "a"], - [13718, 0, "m"], - [13719, 0, "p"], - [13720, 0, "o"], - [13721, 0, "r"], - [13722, 0, "t"], - [13723, 0, " "], - [13724, 0, "t"], - [13725, 0, "i"], - [13726, 0, "m"], - [13727, 0, "e"], - [13728, 0, "s"], - [13729, 0, "t"], - [13730, 0, "a"], - [13731, 0, "m"], - [13732, 0, "p"], - [13733, 0, "s"], - [13734, 0, " "], - [13735, 0, "o"], - [13736, 0, "f"], - [13745, 1], - [13744, 1], - [13743, 1], - [13742, 1], - [13741, 1], - [13740, 1], - [13739, 1], - [13738, 1], - [13738, 0, "t"], - [13739, 0, "h"], - [13740, 0, "e"], - [13756, 0, "i"], - [13757, 0, "n"], - [13758, 0, "s"], - [13759, 0, "e"], - [13760, 0, "r"], - [13761, 0, "t"], - [13761, 1], - [13760, 1], - [13759, 1], - [13758, 1], - [13757, 1], - [13756, 1], - [13756, 0, "d"], - [13757, 0, "e"], - [13758, 0, "f"], - [13759, 0, "i"], - [13760, 0, "n"], - [13761, 0, "e"], - [13761, 1], - [13760, 1], - [13759, 1], - [13758, 1], - [13757, 1], - [13756, 1], - [13756, 0, "i"], - [13757, 0, "n"], - [13758, 0, " "], - [13759, 0, "t"], - [13760, 0, "h"], - [13761, 0, "e"], - [13762, 0, " "], - [13763, 0, "i"], - [13764, 0, "n"], - [13765, 0, "t"], - [13766, 0, "e"], - [13767, 0, "r"], - [13768, 0, "v"], - [13769, 0, "a"], - [13770, 0, "l"], - [13771, 0, " "], - [13772, 0, "b"], - [13773, 0, "e"], - [13774, 0, "t"], - [13775, 0, "w"], - [13776, 0, "e"], - [13777, 0, "e"], - [13778, 0, "n"], - [13779, 0, " "], - [13780, 0, "$"], - [13781, 0, "\\"], - [13782, 0, "m"], - [13783, 0, "a"], - [13784, 0, "t"], - [13785, 0, "h"], - [13786, 0, "i"], - [13787, 0, "t"], - [13788, 0, "{"], - [13789, 0, "p"], - [13790, 0, "r"], - [13791, 0, "e"], - [13792, 0, "v"], - [13793, 0, "}"], - [13794, 0, "$"], - [13795, 0, " "], - [13796, 0, "a"], - [13797, 0, "n"], - [13798, 0, "d"], - [13799, 0, " "], - [13800, 0, "$"], - [13801, 0, "\\"], - [13802, 0, "m"], - [13803, 0, "a"], - [13804, 0, "t"], - [13805, 0, "h"], - [13806, 0, "i"], - [13807, 0, "t"], - [13808, 0, "{"], - [13809, 0, "n"], - [13810, 0, "e"], - [13811, 0, "x"], - [13812, 0, "t"], - [13813, 0, "}"], - [13814, 0, "$"], - [13815, 0, ","], - [13816, 0, " "], - [13817, 0, "i"], - [13818, 0, "n"], - [13819, 0, " "], - [13820, 0, "t"], - [13821, 0, "h"], - [13822, 0, "e"], - [13823, 0, " "], - [13824, 0, "l"], - [13825, 0, "i"], - [13826, 0, "s"], - [13827, 0, "t"], - [13828, 0, " "], - [13829, 0, "o"], - [13830, 0, "r"], - [13831, 0, "d"], - [13832, 0, "e"], - [13833, 0, "r"], - [13834, 0, " "], - [13835, 0, "u"], - [13836, 0, "n"], - [13837, 0, "a"], - [13838, 0, "m"], - [13839, 0, "b"], - [13840, 0, "i"], - [13841, 0, "g"], - [13842, 0, "u"], - [13843, 0, "o"], - [13844, 0, "u"], - [13845, 0, "s"], - [13846, 0, "l"], - [13847, 0, "y"], - [13848, 0, " "], - [13849, 0, "d"], - [13850, 0, "e"], - [13851, 0, "f"], - [13852, 0, "i"], - [13853, 0, "n"], - [13854, 0, "e"], - [13855, 0, "d"], - [13856, 0, " "], - [13857, 0, "b"], - [13858, 0, "y"], - [13859, 0, " "], - [13860, 0, "$"], - [13861, 0, "H"], - [13862, 0, "_"], - [13863, 0, "c"], - [13864, 0, "$"], - [13865, 0, "."], - [13866, 0, " "], - [13867, 0, "W"], - [13868, 0, "e"], - [13869, 0, " "], - [13870, 0, "n"], - [13871, 0, "e"], - [13872, 0, "e"], - [13873, 0, "d"], - [13874, 0, " "], - [13875, 0, "t"], - [13876, 0, "o"], - [13877, 0, " "], - [13878, 0, "s"], - [13879, 0, "h"], - [13880, 0, "o"], - [13881, 0, "w"], - [13882, 0, " "], - [13883, 0, "t"], - [13884, 0, "h"], - [13885, 0, "a"], - [13886, 0, "t"], - [13887, 0, " "], - [13888, 0, "r"], - [13889, 0, "e"], - [13890, 0, "g"], - [13891, 0, "a"], - [13892, 0, "r"], - [13893, 0, "d"], - [13894, 0, "l"], - [13895, 0, "e"], - [13896, 0, "s"], - [13897, 0, "s"], - [13898, 0, " "], - [13899, 0, "a"], - [13900, 0, "t"], - [13901, 0, " "], - [13902, 0, "w"], - [13903, 0, "h"], - [13904, 0, "a"], - [13905, 0, "t"], - [13906, 0, " "], - [13907, 0, "p"], - [13908, 0, "o"], - [13909, 0, "s"], - [13910, 0, "i"], - [13911, 0, "t"], - [13912, 0, "i"], - [13913, 0, "o"], - [13914, 0, "n"], - [13915, 0, " "], - [13916, 0, "i"], - [13917, 0, "n"], - [13918, 0, " "], - [13919, 0, "$"], - [13920, 0, "H"], - [13921, 0, "_"], - [13922, 0, "c"], - [13923, 0, "$"], - [13924, 0, " "], - [13925, 0, "w"], - [13926, 0, "e"], - [13927, 0, " "], - [13928, 0, "i"], - [13929, 0, "n"], - [13930, 0, "s"], - [13931, 0, "e"], - [13932, 0, "r"], - [13933, 0, "t"], - [13934, 0, " "], - [13935, 0, "t"], - [13936, 0, "h"], - [13937, 0, "e"], - [13938, 0, " "], - [13939, 0, "o"], - [13940, 0, "p"], - [13941, 0, "e"], - [13942, 0, "r"], - [13943, 0, "a"], - [13944, 0, "t"], - [13945, 0, "i"], - [13946, 0, "o"], - [13947, 0, "n"], - [13948, 0, " "], - [13949, 0, "$"], - [13950, 0, "o"], - [13951, 0, "_"], - [13952, 0, "{"], - [13953, 0, "n"], - [13954, 0, "+"], - [13955, 0, "1"], - [13956, 0, "}"], - [13957, 0, "$"], - [13958, 0, ","], - [13959, 0, " "], - [13960, 0, "t"], - [13961, 0, "h"], - [13962, 0, "e"], - [13963, 0, " "], - [13964, 0, "o"], - [13965, 0, "u"], - [13966, 0, "t"], - [13967, 0, "c"], - [13968, 0, "o"], - [13969, 0, "m"], - [13970, 0, "e"], - [13971, 0, " "], - [13972, 0, "i"], - [13973, 0, "s"], - [13974, 0, " "], - [13975, 0, "t"], - [13976, 0, "h"], - [13977, 0, "e"], - [13978, 0, " "], - [13979, 0, "s"], - [13980, 0, "a"], - [13981, 0, "m"], - [13982, 0, "e"], - [13983, 0, " "], - [13984, 0, "s"], - [13985, 0, "e"], - [13986, 0, "q"], - [13987, 0, "u"], - [13988, 0, "e"], - [13989, 0, "n"], - [13990, 0, "c"], - [13991, 0, "e"], - [13992, 0, " "], - [13993, 0, "o"], - [13994, 0, "f"], - [13995, 0, " "], - [13996, 0, "l"], - [13997, 0, "i"], - [13998, 0, "s"], - [13999, 0, "t"], - [14000, 0, " "], - [14001, 0, "e"], - [14002, 0, "l"], - [14003, 0, "e"], - [14004, 0, "m"], - [14005, 0, "e"], - [14006, 0, "n"], - [14007, 0, "t"], - [14008, 0, "s"], - [14009, 0, "."], - [14010, 0, " "], - [14011, 0, "E"], - [14012, 0, "q"], - [14013, 0, "u"], - [14014, 0, "i"], - [14015, 0, "v"], - [14016, 0, "a"], - [14017, 0, "l"], - [14018, 0, "e"], - [14019, 0, "n"], - [14020, 0, "t"], - [14021, 0, "l"], - [14022, 0, "y"], - [14023, 0, ","], - [14024, 0, " "], - [14025, 0, "w"], - [14026, 0, "e"], - [14027, 0, " "], - [14028, 0, "c"], - [14029, 0, "a"], - [14030, 0, "n"], - [14031, 0, " "], - [14032, 0, "s"], - [14033, 0, "h"], - [14034, 0, "o"], - [14035, 0, "w"], - [14036, 0, " "], - [14036, 1], - [14035, 1], - [14034, 1], - [14033, 1], - [14032, 1], - [14031, 1], - [14030, 1], - [14029, 1], - [14028, 1], - [14027, 1], - [14026, 1], - [14025, 1], - [14024, 1], - [14023, 1], - [14022, 1], - [14021, 1], - [14020, 1], - [14019, 1], - [14018, 1], - [14017, 1], - [14016, 1], - [14015, 1], - [14014, 1], - [14013, 1], - [14012, 1], - [14011, 1], - [14010, 1], - [14009, 1], - [14008, 1], - [14008, 0, "s"], - [14009, 0, " "], - [14010, 0, "$"], - [14011, 0, "["], - [14012, 0, "\\"], - [14013, 0, "m"], - [14014, 0, "a"], - [14015, 0, "t"], - [14016, 0, "h"], - [14017, 0, "i"], - [14018, 0, "t"], - [14019, 0, "{"], - [14020, 0, "i"], - [14021, 0, "d"], - [14022, 0, "_"], - [14023, 0, "1"], - [14024, 0, ","], - [14025, 0, " "], - [14026, 0, "\\"], - [14027, 0, "d"], - [14028, 0, "o"], - [14029, 0, "t"], - [14030, 0, "s"], - [14031, 0, ","], - [14032, 0, " "], - [14022, 0, "}"], - [14034, 0, "\\"], - [14035, 0, "m"], - [14036, 0, "a"], - [14037, 0, "t"], - [14038, 0, "h"], - [14039, 0, "i"], - [14040, 0, "t"], - [14041, 0, "{"], - [14042, 0, "i"], - [14043, 0, "d"], - [14044, 0, "}"], - [14045, 0, ","], - [14046, 0, " "], - [14047, 0, "\\"], - [14048, 0, "d"], - [14049, 0, "o"], - [14050, 0, "t"], - [14051, 0, "s"], - [14052, 0, ","], - [14053, 0, " "], - [14054, 0, "\\"], - [14055, 0, "m"], - [14056, 0, "a"], - [14057, 0, "t"], - [14058, 0, "h"], - [14059, 0, "i"], - [14060, 0, "t"], - [14061, 0, "{"], - [14062, 0, "i"], - [14063, 0, "d"], - [14064, 0, "}"], - [14065, 0, "_"], - [14066, 0, "k"], - [14067, 0, "]"], - [14068, 0, "$"], - [14069, 0, "."], - [14070, 0, " "], - [14070, 1], - [14070, 0, "\n"], - [14071, 0, "\n"], - [14072, 0, "S"], - [14073, 0, "i"], - [14074, 0, "n"], - [14075, 0, "c"], - [14076, 0, "e"], - [14077, 0, " "], - [14078, 0, "i"], - [14079, 0, "n"], - [14079, 1], - [14078, 1], - [14078, 0, "$"], - [14079, 0, "\\"], - [14080, 0, "m"], - [14081, 0, "a"], - [14082, 0, "t"], - [14083, 0, "h"], - [14084, 0, "i"], - [14085, 0, "t"], - [14086, 0, "{"], - [14086, 1], - [14085, 1], - [14084, 1], - [14084, 0, "s"], - [14085, 0, "f"], - [14086, 0, "{"], - [14087, 0, "i"], - [14088, 0, "n"], - [14089, 0, "s"], - [14090, 0, "e"], - [14091, 0, "r"], - [14092, 0, "t"], - [14093, 0, "}"], - [14094, 0, "$"], - [14095, 0, " "], - [14096, 0, "o"], - [14097, 0, "p"], - [14098, 0, "e"], - [14099, 0, "r"], - [14100, 0, "a"], - [14101, 0, "t"], - [14102, 0, "i"], - [14103, 0, "o"], - [14104, 0, "n"], - [14105, 0, "s"], - [14106, 0, " "], - [14107, 0, "o"], - [14108, 0, "n"], - [14109, 0, "l"], - [14110, 0, "y"], - [14111, 0, " "], - [14112, 0, "a"], - [14113, 0, "d"], - [14114, 0, "d"], - [14115, 0, " "], - [14116, 0, "a"], - [14117, 0, " "], - [14118, 0, "n"], - [14119, 0, "e"], - [14120, 0, "w"], - [14121, 0, " "], - [14122, 0, "e"], - [14123, 0, "l"], - [14124, 0, "e"], - [14125, 0, "m"], - [14126, 0, "e"], - [14127, 0, "n"], - [14128, 0, "t"], - [14129, 0, " "], - [14130, 0, "b"], - [14131, 0, "e"], - [14132, 0, "t"], - [14133, 0, "w"], - [14134, 0, "e"], - [14135, 0, "e"], - [14136, 0, "n"], - [14137, 0, " "], - [14138, 0, "t"], - [14139, 0, "w"], - [14140, 0, "o"], - [14141, 0, " "], - [14142, 0, "a"], - [14143, 0, "d"], - [14143, 1], - [14142, 1], - [14142, 0, "e"], - [14143, 0, "x"], - [14144, 0, "i"], - [14145, 0, "s"], - [14146, 0, "t"], - [14147, 0, "i"], - [14148, 0, "n"], - [14149, 0, "g"], - [14150, 0, ","], - [14151, 0, " "], - [14152, 0, "a"], - [14153, 0, "d"], - [14154, 0, "j"], - [14155, 0, "a"], - [14156, 0, "c"], - [14157, 0, "e"], - [14158, 0, "n"], - [14159, 0, "t"], - [14160, 0, " "], - [14161, 0, "e"], - [14162, 0, "l"], - [14163, 0, "e"], - [14164, 0, "m"], - [14165, 0, "e"], - [14166, 0, "n"], - [14167, 0, "t"], - [14168, 0, "s"], - [14169, 0, ","], - [14170, 0, " "], - [14171, 0, "i"], - [14172, 0, "t"], - [14173, 0, " "], - [14174, 0, "i"], - [14175, 0, "s"], - [14176, 0, " "], - [14177, 0, "e"], - [14178, 0, "q"], - [14179, 0, "u"], - [14180, 0, "i"], - [14181, 0, "v"], - [14182, 0, "a"], - [14183, 0, "l"], - [14184, 0, "e"], - [14185, 0, "n"], - [14186, 0, "t"], - [14187, 0, " "], - [14188, 0, "t"], - [14189, 0, "o"], - [14190, 0, " "], - [14191, 0, "s"], - [14192, 0, "h"], - [14193, 0, "o"], - [14194, 0, "w"], - [14195, 0, " "], - [14196, 0, "t"], - [14197, 0, "h"], - [14198, 0, "a"], - [14199, 0, "t"], - [14200, 0, " "], - [14201, 0, "r"], - [14202, 0, "e"], - [14203, 0, "g"], - [14204, 0, "a"], - [14205, 0, "r"], - [14206, 0, "d"], - [14207, 0, "l"], - [14208, 0, "e"], - [14209, 0, "s"], - [14210, 0, "s"], - [14211, 0, " "], - [14212, 0, "w"], - [14213, 0, "h"], - [14214, 0, "e"], - [14215, 0, "r"], - [14216, 0, "e"], - [14217, 0, " "], - [14218, 0, "$"], - [14219, 0, "o"], - [14220, 0, "_"], - [14221, 0, "{"], - [14222, 0, "n"], - [14223, 0, "+"], - [14224, 0, "$"], - [14224, 1], - [14224, 0, "1"], - [14225, 0, "}"], - [14226, 0, "$"], - [14227, 0, " "], - [14228, 0, "i"], - [14229, 0, "s"], - [14230, 0, " "], - [14231, 0, "a"], - [14232, 0, "d"], - [14233, 0, "d"], - [14234, 0, "e"], - [14234, 1], - [14233, 1], - [14232, 1], - [14231, 1], - [14231, 0, "i"], - [14232, 0, "n"], - [14233, 0, "s"], - [14234, 0, "e"], - [14235, 0, "r"], - [14236, 0, "t"], - [14237, 0, "e"], - [14238, 0, "d"], - [14239, 0, " "], - [14240, 0, "t"], - [14241, 0, "o"], - [14242, 0, " "], - [14243, 0, "$"], - [14244, 0, "H"], - [14245, 0, "_"], - [14246, 0, "c"], - [14247, 0, "$"], - [14033, 0, " "], - [14034, 0, "\\"], - [14035, 0, "m"], - [14036, 0, "a"], - [14037, 0, "t"], - [14038, 0, "h"], - [14039, 0, "i"], - [14040, 0, "t"], - [14041, 0, "{"], - [14042, 0, "i"], - [14043, 0, "d"], - [14044, 0, "}"], - [14045, 0, "_"], - [14046, 0, "m"], - [14047, 0, ","], - [14061, 0, " "], - [14062, 0, "\\"], - [14063, 0, "m"], - [14064, 0, "a"], - [14065, 0, "t"], - [14066, 0, "h"], - [14067, 0, "i"], - [14068, 0, "t"], - [14069, 0, "{"], - [14070, 0, "i"], - [14071, 0, "d"], - [14072, 0, "}"], - [14073, 0, "_"], - [14074, 0, "{"], - [14075, 0, "m"], - [14076, 0, "+"], - [14077, 0, "1"], - [14078, 0, "}"], - [14079, 0, ","], - [14282, 0, ","], - [14283, 0, " "], - [14284, 0, "t"], - [14285, 0, "h"], - [14286, 0, "e"], - [14287, 0, " "], - [14288, 0, "s"], - [14289, 0, "e"], - [14290, 0, "t"], - [14291, 0, " "], - [14292, 0, "o"], - [14293, 0, "f"], - [14294, 0, " "], - [14295, 0, "l"], - [14296, 0, "i"], - [14297, 0, "s"], - [14298, 0, "t"], - [14299, 0, " "], - [14300, 0, "e"], - [14301, 0, "l"], - [14302, 0, "e"], - [14303, 0, "m"], - [14304, 0, "e"], - [14305, 0, "n"], - [14306, 0, "t"], - [14307, 0, "s"], - [14308, 0, " "], - [14309, 0, "$"], - [14310, 0, "\\"], - [14311, 0, "m"], - [14312, 0, "a"], - [14313, 0, "t"], - [14314, 0, "h"], - [14315, 0, "i"], - [14316, 0, "t"], - [14317, 0, "{"], - [14318, 0, "i"], - [14319, 0, "d"], - [14320, 0, "}"], - [14321, 0, "_"], - [14322, 0, "1"], - [14310, 0, "{"], - [14310, 0, "\\"], - [14325, 0, ","], - [14326, 0, " "], - [14327, 0, "\\"], - [14328, 0, "d"], - [14329, 0, "o"], - [14330, 0, "t"], - [14331, 0, "s"], - [14332, 0, ","], - [14333, 0, " "], - [14334, 0, "\\"], - [14335, 0, "m"], - [14336, 0, "a"], - [14337, 0, "t"], - [14338, 0, "h"], - [14339, 0, "i"], - [14340, 0, "t"], - [14341, 0, "{"], - [14342, 0, "i"], - [14343, 0, "d"], - [14344, 0, "}"], - [14345, 0, "_"], - [14346, 0, "m"], - [14347, 0, "\\"], - [14348, 0, "}"], - [14349, 0, "$"], - [14350, 0, " "], - [14351, 0, "t"], - [14352, 0, "h"], - [14353, 0, "a"], - [14354, 0, "t"], - [14355, 0, " "], - [14356, 0, "a"], - [14357, 0, "p"], - [14358, 0, "p"], - [14359, 0, "e"], - [14360, 0, "a"], - [14361, 0, "r"], - [14362, 0, " "], - [14363, 0, "\\"], - [14364, 0, "e"], - [14365, 0, "m"], - [14366, 0, "p"], - [14367, 0, "h"], - [14368, 0, "{"], - [14369, 0, "b"], - [14370, 0, "e"], - [14371, 0, "f"], - [14372, 0, "o"], - [14373, 0, "r"], - [14374, 0, "e"], - [14375, 0, "}"], - [14376, 0, " "], - [14377, 0, "$"], - [14377, 1], - [14377, 0, "t"], - [14378, 0, "h"], - [14379, 0, "e"], - [14380, 0, " "], - [14381, 0, "l"], - [14382, 0, "i"], - [14383, 0, "s"], - [14384, 0, "t"], - [14385, 0, " "], - [14386, 0, "e"], - [14387, 0, "l"], - [14388, 0, "e"], - [14389, 0, "m"], - [14390, 0, "e"], - [14391, 0, "n"], - [14392, 0, "t"], - [14393, 0, " "], - [14394, 0, "f"], - [14395, 0, "o"], - [14396, 0, "r"], - [14397, 0, " "], - [14398, 0, "$"], - [14399, 0, "o"], - [14400, 0, "_"], - [14401, 0, "{"], - [14402, 0, "n"], - [14403, 0, "+"], - [14404, 0, "1"], - [14405, 0, "}"], - [14406, 0, "$"], - [14407, 0, " "], - [14408, 0, "i"], - [14409, 0, "s"], - [14410, 0, " "], - [14411, 0, "t"], - [14412, 0, "h"], - [14413, 0, "e"], - [14414, 0, " "], - [14415, 0, "s"], - [14416, 0, "a"], - [14417, 0, "m"], - [14418, 0, "e"], - [14419, 0, "."], - [14420, 0, " "], - [14421, 0, "B"], - [14422, 0, "y"], - [14423, 0, " "], - [14220, 1], - [14219, 1], - [14218, 1], - [14217, 1], - [14216, 1], - [14215, 1], - [14214, 1], - [14213, 1], - [14212, 1], - [14211, 1], - [14211, 0, "s"], - [14212, 0, "u"], - [14213, 0, "f"], - [14214, 0, "f"], - [14215, 0, "i"], - [14216, 0, "c"], - [14217, 0, "i"], - [14218, 0, "e"], - [14219, 0, "n"], - [14220, 0, "t"], - [14423, 1], - [14422, 1], - [14421, 1], - [14420, 1], - [14694, 0, "\n"], - [14695, 0, "\n"], - [14694, 0, " "], - [14695, 0, "F"], - [14696, 0, "u"], - [14697, 0, "r"], - [14698, 0, "t"], - [14699, 0, "h"], - [14700, 0, "e"], - [14701, 0, "r"], - [14702, 0, " "], - [14703, 0, "n"], - [14704, 0, "o"], - [14705, 0, "t"], - [14706, 0, "e"], - [14707, 0, " "], - [14708, 0, "t"], - [14709, 0, "h"], - [14710, 0, "a"], - [14711, 0, "t"], - [14712, 0, " "], - [14713, 0, "b"], - [14714, 0, "y"], - [14715, 0, " "], - [14716, 0, "t"], - [14717, 0, "h"], - [14718, 0, "e"], - [14719, 0, " "], - [14720, 0, "d"], - [14721, 0, "e"], - [14722, 0, "f"], - [14723, 0, "i"], - [14724, 0, "n"], - [14725, 0, "i"], - [14726, 0, "t"], - [14727, 0, "i"], - [14728, 0, "o"], - [14729, 0, "n"], - [14730, 0, " "], - [14731, 0, "o"], - [14732, 0, "f"], - [14733, 0, " "], - [14734, 0, "L"], - [14735, 0, "a"], - [14736, 0, "m"], - [14737, 0, "p"], - [14738, 0, "o"], - [14739, 0, "r"], - [14740, 0, "t"], - [14741, 0, " "], - [14742, 0, "t"], - [14743, 0, "i"], - [14744, 0, "m"], - [14745, 0, "e"], - [14746, 0, "s"], - [14747, 0, "t"], - [14748, 0, "a"], - [14749, 0, "m"], - [14750, 0, "p"], - [14751, 0, "s"], - [14752, 0, ","], - [14753, 0, " "], - [14754, 0, "a"], - [14755, 0, "n"], - [14756, 0, "y"], - [14757, 0, " "], - [14758, 0, "o"], - [14759, 0, "p"], - [14760, 0, "e"], - [14761, 0, "r"], - [14762, 0, "a"], - [14763, 0, "t"], - [14764, 0, "i"], - [14765, 0, "o"], - [14766, 0, "n"], - [14767, 0, " "], - [14768, 0, "t"], - [14769, 0, "h"], - [14770, 0, "a"], - [14771, 0, "t"], - [14772, 0, " "], - [14773, 0, "c"], - [14774, 0, "a"], - [14775, 0, "u"], - [14776, 0, "s"], - [14777, 0, "a"], - [14778, 0, "l"], - [14779, 0, "l"], - [14780, 0, "y"], - [14781, 0, " "], - [14782, 0, "d"], - [14783, 0, "e"], - [14784, 0, "p"], - [14785, 0, "e"], - [14786, 0, "n"], - [14787, 0, "d"], - [14788, 0, "s"], - [14789, 0, " "], - [14790, 0, "o"], - [14791, 0, "n"], - [14792, 0, " "], - [14793, 0, "a"], - [14794, 0, "n"], - [14795, 0, " "], - [14796, 0, "o"], - [14797, 0, "p"], - [14798, 0, "e"], - [14799, 0, "r"], - [14800, 0, "a"], - [14801, 0, "t"], - [14802, 0, "i"], - [14803, 0, "o"], - [14804, 0, "n"], - [14805, 0, " "], - [14806, 0, "$"], - [14807, 0, "O"], - [14807, 1], - [14807, 0, "o"], - [14808, 0, "_"], - [14809, 0, "i"], - [14810, 0, "$"], - [14811, 0, " "], - [14812, 0, "m"], - [14813, 0, "u"], - [14814, 0, "s"], - [14815, 0, "t"], - [14816, 0, " "], - [14817, 0, "h"], - [14818, 0, "a"], - [14819, 0, "v"], - [14820, 0, "e"], - [14821, 0, " "], - [14822, 0, "a"], - [14823, 0, " "], - [14824, 0, "g"], - [14825, 0, "r"], - [14826, 0, "e"], - [14827, 0, "a"], - [14828, 0, "t"], - [14829, 0, "e"], - [14830, 0, "r"], - [14831, 0, " "], - [14832, 0, "I"], - [14833, 0, "D"], - [14834, 0, " "], - [14835, 0, "t"], - [14836, 0, "h"], - [14837, 0, "a"], - [14838, 0, "n"], - [14839, 0, " "], - [14840, 0, "$"], - [14841, 0, "o"], - [14842, 0, "_"], - [14843, 0, "i"], - [14844, 0, "$"], - [14845, 0, "."], - [14990, 1], - [14989, 1], - [14988, 1], - [14987, 1], - [14986, 1], - [14985, 1], - [14984, 1], - [14983, 1], - [14982, 1], - [14981, 1], - [14980, 1], - [14979, 1], - [14978, 1], - [14977, 1], - [14976, 1], - [14975, 1], - [14974, 1], - [14973, 1], - [14972, 1], - [14971, 1], - [14970, 1], - [14969, 1], - [14968, 1], - [14967, 1], - [14966, 1], - [14965, 1], - [14964, 1], - [14963, 1], - [14962, 1], - [14961, 1], - [14960, 1], - [14959, 1], - [14958, 1], - [14957, 1], - [14956, 1], - [14955, 1], - [14954, 1], - [14953, 1], - [14952, 1], - [14951, 1], - [14950, 1], - [14949, 1], - [14948, 1], - [14947, 1], - [14946, 1], - [14945, 1], - [14944, 1], - [14943, 1], - [14942, 1], - [14941, 1], - [14940, 1], - [14939, 1], - [14938, 1], - [14937, 1], - [14936, 1], - [14935, 1], - [14934, 1], - [14933, 1], - [14932, 1], - [14931, 1], - [14930, 1], - [14929, 1], - [14928, 1], - [14927, 1], - [14926, 1], - [14925, 1], - [14924, 1], - [14923, 1], - [14922, 1], - [14921, 1], - [14920, 1], - [14919, 1], - [14918, 1], - [14917, 1], - [14916, 1], - [14915, 1], - [14914, 1], - [14913, 1], - [14912, 1], - [14911, 1], - [14910, 1], - [14909, 1], - [14908, 1], - [14907, 1], - [14906, 1], - [14905, 1], - [14904, 1], - [14903, 1], - [14902, 1], - [14901, 1], - [14900, 1], - [14899, 1], - [14898, 1], - [14897, 1], - [14896, 1], - [14895, 1], - [14894, 1], - [14893, 1], - [14892, 1], - [14891, 1], - [14890, 1], - [14889, 1], - [14888, 1], - [14887, 1], - [14886, 1], - [14885, 1], - [14884, 1], - [14883, 1], - [14882, 1], - [14881, 1], - [14880, 1], - [14879, 1], - [14878, 1], - [14877, 1], - [14876, 1], - [14875, 1], - [14874, 1], - [14873, 1], - [14872, 1], - [14871, 1], - [14870, 1], - [14869, 1], - [14868, 1], - [14867, 1], - [14866, 1], - [14865, 1], - [14864, 1], - [14863, 1], - [14862, 1], - [14861, 1], - [14860, 1], - [14859, 1], - [14858, 1], - [14857, 1], - [14856, 1], - [14855, 1], - [14854, 1], - [14853, 1], - [14852, 1], - [14851, 1], - [14850, 1], - [14849, 1], - [14848, 1], - [14103, 0, ","], - [14104, 0, " "], - [14105, 0, "w"], - [14106, 0, "h"], - [14107, 0, "e"], - [14108, 0, "r"], - [14109, 0, "e"], - [14110, 0, " "], - [14111, 0, "$"], - [14112, 0, "\\"], - [14113, 0, "m"], - [14114, 0, "a"], - [14115, 0, "t"], - [14116, 0, "h"], - [14117, 0, "i"], - [14118, 0, "t"], - [14119, 0, "{"], - [14120, 0, "i"], - [14121, 0, "d"], - [14122, 0, "}"], - [14123, 0, "$"], - [14124, 0, " "], - [14125, 0, "i"], - [14126, 0, "s"], - [14127, 0, " "], - [14128, 0, "t"], - [14129, 0, "h"], - [14130, 0, "e"], - [14131, 0, " "], - [14132, 0, "L"], - [14133, 0, "a"], - [14134, 0, "m"], - [14135, 0, "p"], - [14136, 0, "o"], - [14137, 0, "r"], - [14138, 0, "t"], - [14139, 0, " "], - [14140, 0, "t"], - [14141, 0, "i"], - [14142, 0, "m"], - [14143, 0, "e"], - [14144, 0, "s"], - [14145, 0, "t"], - [14146, 0, "a"], - [14147, 0, "m"], - [14148, 0, "p"], - [14149, 0, " "], - [14150, 0, "o"], - [14151, 0, "f"], - [14152, 0, " "], - [14153, 0, "$"], - [14154, 0, "o"], - [14155, 0, "_"], - [14156, 0, "{"], - [14157, 0, "n"], - [14158, 0, "+"], - [14159, 0, "1"], - [14160, 0, "}"], - [14161, 0, "$"], - [14464, 1], - [14463, 1], - [14462, 1], - [14461, 1], - [14460, 1], - [14459, 1], - [14458, 1], - [14458, 0, "\\"], - [14459, 0, "m"], - [14460, 0, "a"], - [14461, 0, "t"], - [14462, 0, "h"], - [14463, 0, "i"], - [14464, 0, "t"], - [14465, 0, "{"], - [14466, 0, "i"], - [14467, 0, "d"], - [14468, 0, "}"], - [14456, 1], - [14455, 1], - [14454, 1], - [14453, 1], - [14452, 1], - [14451, 1], - [14450, 1], - [14449, 1], - [14448, 1], - [14447, 1], - [14446, 1], - [14445, 1], - [14444, 1], - [14443, 1], - [14442, 1], - [14441, 1], - [14440, 1], - [14439, 1], - [14438, 1], - [14437, 1], - [14436, 1], - [14434, 1], - [14427, 1], - [14426, 1], - [14425, 1], - [14424, 1], - [14423, 1], - [14422, 1], - [14442, 0, " "], - [14443, 0, "i"], - [14444, 0, "n"], - [14445, 0, " "], - [14446, 0, "t"], - [14447, 0, "h"], - [14448, 0, "e"], - [14449, 0, " "], - [14450, 0, "f"], - [14451, 0, "i"], - [14452, 0, "n"], - [14453, 0, "a"], - [14454, 0, "l"], - [14455, 0, " "], - [14456, 0, "o"], - [14457, 0, "r"], - [14458, 0, "d"], - [14459, 0, "e"], - [14460, 0, "r"], - [14474, 0, " "], - [14475, 0, "T"], - [14476, 0, "h"], - [14477, 0, "i"], - [14478, 0, "s"], - [14479, 0, " "], - [14479, 1], - [14478, 1], - [14477, 1], - [14476, 1], - [14475, 1], - [14474, 1], - [14902, 0, "L"], - [14903, 0, "e"], - [14904, 0, "t"], - [14905, 0, " "], - [14906, 0, "$"], - [14907, 0, "o"], - [14908, 0, "_"], - [14909, 0, "i"], - [14910, 0, "$"], - [14907, 1], - [14907, 0, "\\"], - [14908, 0, "m"], - [14909, 0, "a"], - [14910, 0, "t"], - [14911, 0, "h"], - [14912, 0, "i"], - [14913, 0, "t"], - [14914, 0, "{"], - [14915, 0, "i"], - [14916, 0, "d"], - [14917, 0, "}"], - [14920, 0, " "], - [14921, 0, "\\"], - [14922, 0, "i"], - [14923, 0, "n"], - [14924, 0, " "], - [14925, 0, "{"], - [14926, 0, "\\"], - [14927, 0, "m"], - [14928, 0, "a"], - [14929, 0, "t"], - [14930, 0, "h"], - [14931, 0, "i"], - [14932, 0, "t"], - [14933, 0, "{"], - [14934, 0, "i"], - [14935, 0, "d"], - [14936, 0, "_"], - [14937, 0, "1"], - [14938, 0, ","], - [14939, 0, " "], - [14936, 0, "}"], - [14941, 0, "\\"], - [14942, 0, "d"], - [14943, 0, "o"], - [14944, 0, "t"], - [14945, 0, "s"], - [14946, 0, ","], - [14947, 0, " "], - [14948, 0, "\\"], - [14949, 0, "m"], - [14950, 0, "a"], - [14951, 0, "t"], - [14952, 0, "h"], - [14953, 0, "i"], - [14954, 0, "t"], - [14955, 0, "{"], - [14956, 0, "i"], - [14957, 0, "d"], - [14958, 0, "}"], - [14959, 0, "_"], - [14960, 0, "m"], - [14961, 0, "}"], - [14961, 0, "\\"], - [14925, 0, "\\"], - [14965, 0, " "], - [14966, 0, "b"], - [14967, 0, "e"], - [14968, 0, " "], - [14969, 0, "t"], - [14970, 0, "h"], - [14971, 0, "e"], - [14972, 0, " "], - [14973, 0, "I"], - [14974, 0, "D"], - [14975, 0, " "], - [14976, 0, "o"], - [14977, 0, "f"], - [14978, 0, " "], - [14979, 0, "a"], - [14980, 0, "n"], - [14981, 0, "y"], - [14982, 0, " "], - [14983, 0, "l"], - [14984, 0, "i"], - [14985, 0, "s"], - [14986, 0, "t"], - [14987, 0, " "], - [14988, 0, "e"], - [14989, 0, "l"], - [14990, 0, "e"], - [14991, 0, "m"], - [14992, 0, "e"], - [14993, 0, "n"], - [14994, 0, "t"], - [14995, 0, " "], - [14996, 0, "t"], - [14997, 0, "h"], - [14998, 0, "a"], - [14999, 0, "t"], - [15000, 0, " "], - [15001, 0, "a"], - [15002, 0, "p"], - [15003, 0, "p"], - [15004, 0, "e"], - [15005, 0, "a"], - [15006, 0, "r"], - [15007, 0, "s"], - [15008, 0, " "], - [15009, 0, "b"], - [15010, 0, "e"], - [15011, 0, "f"], - [15012, 0, "o"], - [15013, 0, "r"], - [15014, 0, "e"], - [15015, 0, " "], - [15016, 0, "$"], - [15017, 0, "o"], - [15018, 0, "_"], - [15019, 0, "{"], - [15020, 0, "n"], - [15021, 0, "+"], - [15022, 0, "1"], - [15023, 0, "}"], - [15024, 0, "$"], - [15025, 0, " "], - [15026, 0, "i"], - [15027, 0, "n"], - [15028, 0, " "], - [15029, 0, "t"], - [15030, 0, "h"], - [15031, 0, "e"], - [15032, 0, " "], - [15033, 0, "f"], - [15034, 0, "i"], - [15035, 0, "n"], - [15036, 0, "a"], - [15037, 0, "l"], - [15038, 0, " "], - [15039, 0, "o"], - [15040, 0, "r"], - [15041, 0, "d"], - [15042, 0, "e"], - [15043, 0, "r"], - [15044, 0, "."], - [15045, 0, " "], - [15046, 0, "T"], - [15047, 0, "h"], - [15048, 0, "e"], - [15049, 0, " "], - [15050, 0, "o"], - [15051, 0, "p"], - [15052, 0, "e"], - [15053, 0, "r"], - [15054, 0, "a"], - [15055, 0, "t"], - [15056, 0, "i"], - [15057, 0, "o"], - [15058, 0, "n"], - [15059, 0, " "], - [15060, 0, "$"], - [15061, 0, "O"], - [15061, 1], - [15061, 0, "o"], - [15062, 0, "_"], - [15063, 0, "i"], - [15064, 0, "#"], - [15065, 0, "$"], - [15065, 1], - [15064, 1], - [15064, 0, "$"], - [15065, 0, " "], - [15066, 0, "t"], - [15067, 0, "h"], - [15068, 0, "a"], - [15069, 0, "t"], - [15070, 0, " "], - [15071, 0, "i"], - [15072, 0, "n"], - [15073, 0, "s"], - [15074, 0, "e"], - [15075, 0, "r"], - [15076, 0, "t"], - [15077, 0, "s"], - [15078, 0, " "], - [15079, 0, "$"], - [15080, 0, "\\"], - [15081, 0, "m"], - [15082, 0, "a"], - [15083, 0, "t"], - [15084, 0, "h"], - [15085, 0, "i"], - [15086, 0, "t"], - [15087, 0, "{"], - [15088, 0, "i"], - [15089, 0, "d"], - [15090, 0, "}"], - [15091, 0, "_"], - [15092, 0, "i"], - [15093, 0, "$"], - [15094, 0, " "], - [15095, 0, "o"], - [15096, 0, "c"], - [15097, 0, "c"], - [15098, 0, "u"], - [15099, 0, "r"], - [15100, 0, "s"], - [15101, 0, " "], - [15102, 0, "e"], - [15103, 0, "i"], - [15104, 0, "t"], - [15105, 0, "h"], - [15106, 0, "e"], - [15107, 0, "r"], - [15108, 0, " "], - [15109, 0, "b"], - [15110, 0, "e"], - [15111, 0, "f"], - [15112, 0, "o"], - [15113, 0, "r"], - [15114, 0, "e"], - [15115, 0, " "], - [15116, 0, "o"], - [15117, 0, "r"], - [15118, 0, " "], - [15119, 0, "a"], - [15120, 0, "f"], - [15121, 0, "t"], - [15122, 0, "e"], - [15123, 0, "r"], - [15124, 0, " "], - [15125, 0, "$"], - [15126, 0, "o"], - [15127, 0, "_"], - [15128, 0, "{"], - [15129, 0, "n"], - [15130, 0, "+"], - [15131, 0, "1"], - [15132, 0, "}"], - [15133, 0, "$"], - [15134, 0, " "], - [15135, 0, "i"], - [15136, 0, "n"], - [15137, 0, " "], - [15138, 0, "$"], - [15139, 0, "H"], - [15140, 0, "_"], - [15141, 0, "c"], - [15142, 0, "$"], - [15143, 0, "."], - [15144, 0, " "], - [15100, 1], - [15099, 1], - [15098, 1], - [15097, 1], - [15096, 1], - [15095, 1], - [15095, 0, "i"], - [15096, 0, "s"], - [15097, 0, " "], - [15098, 0, "a"], - [15099, 0, "p"], - [15100, 0, "p"], - [15101, 0, "l"], - [15102, 0, "i"], - [15103, 0, "e"], - [15104, 0, "d"], - [15149, 0, "I"], - [15150, 0, "f"], - [15151, 0, " "], - [15152, 0, "$"], - [15153, 0, "o"], - [15154, 0, "_"], - [15155, 0, "i"], - [15156, 0, "$"], - [15157, 0, " "], - [15158, 0, "i"], - [15159, 0, "s"], - [15160, 0, " "], - [15161, 0, "a"], - [15162, 0, "p"], - [15163, 0, "p"], - [15164, 0, "l"], - [15165, 0, "i"], - [15166, 0, "e"], - [15167, 0, "d"], - [15168, 0, " "], - [15169, 0, "b"], - [15170, 0, "e"], - [15171, 0, "f"], - [15172, 0, "o"], - [15173, 0, "r"], - [15174, 0, "e"], - [15175, 0, " "], - [15176, 0, "$"], - [15177, 0, "o"], - [15178, 0, "_"], - [15179, 0, "{"], - [15180, 0, "n"], - [15181, 0, "+"], - [15182, 0, "1"], - [15183, 0, "}"], - [15184, 0, "$"], - [15185, 0, ","], - [15186, 0, " "], - [15187, 0, "t"], - [15188, 0, "h"], - [15189, 0, "a"], - [15190, 0, "t"], - [15191, 0, " "], - [15192, 0, "i"], - [15193, 0, "m"], - [15194, 0, "p"], - [15195, 0, "l"], - [15196, 0, "i"], - [15197, 0, "e"], - [15198, 0, "s"], - [15199, 0, " "], - [15200, 0, "$"], - [15201, 0, "\\"], - [15202, 0, "m"], - [15203, 0, "a"], - [15204, 0, "t"], - [15205, 0, "h"], - [15206, 0, "i"], - [15207, 0, "t"], - [15208, 0, "{"], - [15209, 0, "i"], - [15210, 0, "d"], - [15211, 0, "}"], - [15212, 0, "_"], - [15213, 0, "i"], - [15214, 0, " "], - [15214, 1], - [15214, 0, "$"], - [15215, 0, "."], - [15201, 0, "\\"], - [15202, 0, "m"], - [15203, 0, "a"], - [15204, 0, "t"], - [15205, 0, "h"], - [15206, 0, "i"], - [15207, 0, "t"], - [15208, 0, "{"], - [15209, 0, "i"], - [15210, 0, "d"], - [15211, 0, "}"], - [15212, 0, " "], - [15213, 0, "<"], - [15214, 0, " "], - [14900, 0, "\n"], - [14901, 0, "\n"], - [14902, 0, "L"], - [14903, 0, "e"], - [14904, 0, "t"], - [14905, 0, " "], - [14906, 0, "$"], - [14907, 0, "O"], - [14908, 0, "_"], - [14909, 0, "{"], - [14909, 1], - [14909, 0, "\\"], - [14910, 0, "m"], - [14911, 0, "a"], - [14912, 0, "t"], - [14913, 0, "h"], - [14914, 0, "i"], - [14915, 0, "t"], - [14916, 0, "{"], - [14917, 0, "l"], - [14918, 0, "e"], - [14919, 0, "f"], - [14920, 0, "t"], - [14921, 0, "}"], - [14922, 0, " "], - [14923, 0, "="], - [14924, 0, " "], - [14907, 1], - [14907, 0, "T"], - [14925, 0, "\\"], - [14926, 0, "{"], - [14927, 0, "\\"], - [14928, 0, "m"], - [14929, 0, "a"], - [14930, 0, "t"], - [14931, 0, "h"], - [14932, 0, "i"], - [14933, 0, "t"], - [14934, 0, "{"], - [14935, 0, "i"], - [14936, 0, "d"], - [14937, 0, "}"], - [14938, 0, "_"], - [14939, 0, "i"], - [14940, 0, " "], - [14941, 0, "\\"], - [14942, 0, "m"], - [14943, 0, "i"], - [14944, 0, "d"], - [14945, 0, " "], - [14946, 0, "\\"], - [14947, 0, "m"], - [14948, 0, "a"], - [14949, 0, "t"], - [14950, 0, "h"], - [14951, 0, "s"], - [14952, 0, "f"], - [14953, 0, "{"], - [14954, 0, "i"], - [14955, 0, "n"], - [14956, 0, "s"], - [14957, 0, "e"], - [14958, 0, "r"], - [14959, 0, "t"], - [14960, 0, "}"], - [14961, 0, "("], - [14962, 0, "\\"], - [14963, 0, "m"], - [14964, 0, "a"], - [14965, 0, "t"], - [14966, 0, "h"], - [14967, 0, "i"], - [14968, 0, "d"], - [14969, 0, "{"], - [14969, 1], - [14968, 1], - [14968, 0, "t"], - [14969, 0, "{"], - [14970, 0, "i"], - [14971, 0, "d"], - [14972, 0, "}"], - [14973, 0, "_"], - [14974, 0, "i"], - [14975, 0, ","], - [14976, 0, " "], - [14977, 0, "\\"], - [14978, 0, "m"], - [14979, 0, "a"], - [14980, 0, "t"], - [14981, 0, "h"], - [14982, 0, "i"], - [14983, 0, "t"], - [14984, 0, "{"], - [14985, 0, "p"], - [14986, 0, "r"], - [14987, 0, "e"], - [14988, 0, "v"], - [14989, 0, "}"], - [14990, 0, ","], - [14991, 0, " "], - [14992, 0, "\\"], - [14993, 0, "p"], - [14994, 0, "l"], - [14995, 0, "a"], - [14996, 0, "c"], - [14997, 0, "e"], - [14998, 0, "h"], - [14999, 0, "o"], - [15000, 0, "l"], - [15001, 0, "d"], - [15002, 0, "e"], - [15003, 0, "r"], - [15004, 0, ")"], - [15005, 0, " "], - [15006, 0, "\\"], - [15007, 0, "i"], - [15008, 0, "n"], - [15009, 0, " "], - [15010, 0, "H"], - [15011, 0, "_"], - [15012, 0, "c"], - [15013, 0, "\\"], - [15014, 0, "}"], - [15015, 0, "$"], - [15016, 0, " "], - [15017, 0, "b"], - [15018, 0, "e"], - [15019, 0, " "], - [15020, 0, "t"], - [15021, 0, "h"], - [15022, 0, "e"], - [15023, 0, " "], - [15024, 0, "I"], - [15025, 0, "D"], - [15026, 0, "s"], - [15027, 0, " "], - [15028, 0, "o"], - [15029, 0, "f"], - [15030, 0, " "], - [15031, 0, "a"], - [15032, 0, "l"], - [15033, 0, "l"], - [15034, 0, " "], - [15035, 0, "o"], - [15036, 0, "p"], - [15037, 0, "e"], - [15038, 0, "r"], - [15039, 0, "a"], - [15040, 0, "t"], - [15041, 0, "i"], - [15042, 0, "o"], - [15043, 0, "n"], - [15044, 0, "s"], - [15045, 0, " "], - [15046, 0, "i"], - [15047, 0, "n"], - [15048, 0, " "], - [15049, 0, "$"], - [15050, 0, "H"], - [15051, 0, "_"], - [15052, 0, "c"], - [15053, 0, "$"], - [15054, 0, " "], - [15055, 0, "t"], - [15056, 0, "h"], - [15057, 0, "a"], - [15058, 0, "t"], - [15059, 0, " "], - [15060, 0, "u"], - [15061, 0, "s"], - [15062, 0, "e"], - [15063, 0, " "], - [15064, 0, "$"], - [15065, 0, "\\"], - [15066, 0, "m"], - [15067, 0, "a"], - [15068, 0, "t"], - [15069, 0, "h"], - [15070, 0, "i"], - [15071, 0, "t"], - [15072, 0, "{"], - [15073, 0, "p"], - [15074, 0, "r"], - [15075, 0, "e"], - [15076, 0, "v"], - [15077, 0, "}"], - [15078, 0, "$"], - [15079, 0, " "], - [15080, 0, "a"], - [15081, 0, "s"], - [15082, 0, " "], - [15083, 0, "t"], - [15084, 0, "h"], - [15085, 0, "e"], - [15086, 0, "i"], - [15087, 0, "r"], - [15088, 0, " "], - [15089, 0, "r"], - [15090, 0, "e"], - [15091, 0, "f"], - [15092, 0, "e"], - [15093, 0, "r"], - [15094, 0, "e"], - [15095, 0, "n"], - [15096, 0, "c"], - [15097, 0, "e"], - [15098, 0, " "], - [15099, 0, "p"], - [15100, 0, "o"], - [15101, 0, "s"], - [15102, 0, "i"], - [15103, 0, "t"], - [15104, 0, "i"], - [15105, 0, "o"], - [15106, 0, "n"], - [15107, 0, "."], - [15015, 0, " "], - [15016, 0, "\\"], - [15017, 0, "c"], - [15018, 0, "u"], - [15019, 0, " "], - [15020, 0, "p"], - [15020, 1], - [15019, 1], - [15019, 0, "p"], - [15020, 0, " "], - [15021, 0, "\\"], - [15022, 0, "m"], - [15023, 0, "a"], - [15024, 0, "t"], - [15025, 0, "h"], - [15026, 0, "i"], - [15027, 0, "t"], - [15021, 0, "\\"], - [15022, 0, "{"], - [15030, 0, "{"], - [15031, 0, "i"], - [15032, 0, "d"], - [15033, 0, "}"], - [15034, 0, "\\"], - [15035, 0, "}"], - [15075, 0, " "], - [15076, 0, "a"], - [15077, 0, "n"], - [15078, 0, "d"], - [15079, 0, " "], - [15080, 0, "$"], - [15080, 1], - [15079, 1], - [15078, 1], - [15077, 1], - [15076, 1], - [15075, 1], - [15035, 1], - [15034, 1], - [15033, 1], - [15032, 1], - [15031, 1], - [15030, 1], - [15029, 1], - [15028, 1], - [15027, 1], - [15026, 1], - [15025, 1], - [15024, 1], - [15023, 1], - [15022, 1], - [15021, 1], - [15020, 1], - [15019, 1], - [15018, 1], - [15017, 1], - [15016, 1], - [15015, 1], - [14905, 0, " "], - [14906, 0, "t"], - [14907, 0, "h"], - [14908, 0, "e"], - [14909, 0, " "], - [14910, 0, "s"], - [14911, 0, "e"], - [14912, 0, "t"], - [15026, 1], - [15025, 1], - [15025, 0, "c"], - [15026, 0, "o"], - [15027, 0, "n"], - [15028, 0, "t"], - [15029, 0, "a"], - [15030, 0, "i"], - [15031, 0, "n"], - [15121, 0, " "], - [15122, 0, "A"], - [15123, 0, "n"], - [15124, 0, "y"], - [15125, 0, " "], - [15126, 0, "h"], - [15127, 0, "i"], - [15128, 0, "s"], - [15129, 0, "t"], - [15130, 0, "o"], - [15131, 0, "r"], - [15132, 0, "y"], - [15133, 0, " "], - [15134, 0, "c"], - [15135, 0, "o"], - [15136, 0, "n"], - [15137, 0, "t"], - [15138, 0, "a"], - [15139, 0, "i"], - [15140, 0, "n"], - [15141, 0, "i"], - [15142, 0, "n"], - [15143, 0, "g"], - [15144, 0, " "], - [15145, 0, "t"], - [15146, 0, "h"], - [15147, 0, "e"], - [15148, 0, "s"], - [15149, 0, "e"], - [15150, 0, " "], - [15151, 0, "o"], - [15152, 0, "p"], - [15153, 0, "e"], - [15154, 0, "r"], - [15155, 0, "a"], - [15156, 0, "t"], - [15157, 0, "i"], - [15158, 0, "o"], - [15159, 0, "n"], - [15160, 0, "s"], - [15145, 0, "o"], - [15146, 0, "n"], - [15147, 0, "l"], - [15148, 0, "y"], - [15149, 0, " "], - [15143, 1], - [15142, 1], - [15141, 1], - [15140, 1], - [15139, 1], - [15138, 1], - [15137, 1], - [15137, 0, "s"], - [15138, 0, "i"], - [15139, 0, "s"], - [15140, 0, "t"], - [15141, 0, "i"], - [15142, 0, "n"], - [15143, 0, "g"], - [15149, 0, " "], - [15150, 0, "o"], - [15151, 0, "f"], - [15169, 0, " "], - [15169, 1], - [15169, 0, ","], - [15170, 0, " "], - [15171, 0, "i"], - [15172, 0, "n"], - [15173, 0, " "], - [15174, 0, "a"], - [15175, 0, "n"], - [15176, 0, "y"], - [15177, 0, " "], - [15178, 0, "o"], - [15179, 0, "r"], - [15180, 0, "d"], - [15181, 0, "e"], - [15182, 0, "r"], - [15183, 0, ","], - [15184, 0, " "], - [15185, 0, "r"], - [15186, 0, "e"], - [15187, 0, "s"], - [15188, 0, "u"], - [15189, 0, "l"], - [15190, 0, "t"], - [15191, 0, "s"], - [15192, 0, " "], - [15193, 0, "i"], - [15194, 0, "n"], - [15195, 0, " "], - [15196, 0, "t"], - [15197, 0, "h"], - [15198, 0, "e"], - [15199, 0, " "], - [15200, 0, "s"], - [15201, 0, "a"], - [15202, 0, "m"], - [15203, 0, "e"], - [15204, 0, " "], - [15205, 0, "f"], - [15206, 0, "i"], - [15207, 0, "n"], - [15208, 0, "a"], - [15209, 0, "l"], - [15210, 0, " "], - [15211, 0, "l"], - [15212, 0, "i"], - [15213, 0, "s"], - [15214, 0, "t"], - [15215, 0, " "], - [15216, 0, "o"], - [15217, 0, "r"], - [15218, 0, "d"], - [15219, 0, "e"], - [15220, 0, "r"], - [15221, 0, ","], - [15222, 0, " "], - [15223, 0, "n"], - [15224, 0, "a"], - [15225, 0, "m"], - [15226, 0, "e"], - [15227, 0, "l"], - [15228, 0, "y"], - [15229, 0, " "], - [15230, 0, "i"], - [15231, 0, "n"], - [15232, 0, " "], - [15233, 0, "o"], - [15234, 0, "r"], - [15235, 0, "d"], - [15236, 0, "e"], - [15237, 0, "r"], - [15238, 0, " "], - [15239, 0, "o"], - [15240, 0, "f"], - [15241, 0, " "], - [15242, 0, "d"], - [15243, 0, "e"], - [15244, 0, "s"], - [15245, 0, "c"], - [15246, 0, "e"], - [15247, 0, "n"], - [15248, 0, "d"], - [15249, 0, "i"], - [15250, 0, "n"], - [15251, 0, "g"], - [15252, 0, " "], - [15253, 0, "L"], - [15254, 0, "a"], - [15255, 0, "m"], - [15256, 0, "p"], - [15257, 0, "o"], - [15258, 0, "r"], - [15259, 0, "t"], - [15260, 0, " "], - [15261, 0, "t"], - [15262, 0, "i"], - [15263, 0, "m"], - [15264, 0, "e"], - [15265, 0, "s"], - [15266, 0, "t"], - [15267, 0, "a"], - [15268, 0, "m"], - [15269, 0, "p"], - [15270, 0, "."], - [15271, 0, " "], - [15272, 0, "S"], - [15273, 0, "i"], - [15274, 0, "n"], - [15275, 0, "c"], - [15276, 0, "e"], - [15277, 0, " "], - [15278, 0, "L"], - [15279, 0, "a"], - [15280, 0, "m"], - [15281, 0, "p"], - [15282, 0, "o"], - [15283, 0, "r"], - [15284, 0, "t"], - [15285, 0, " "], - [15286, 0, "t"], - [15287, 0, "i"], - [15288, 0, "m"], - [15289, 0, "e"], - [15290, 0, "s"], - [15291, 0, "t"], - [15292, 0, "a"], - [15293, 0, "m"], - [15294, 0, "p"], - [15295, 0, "s"], - [15296, 0, " "], - [15297, 0, "a"], - [15298, 0, "r"], - [15299, 0, "e"], - [15300, 0, " "], - [15301, 0, "t"], - [15302, 0, "o"], - [15303, 0, "t"], - [15304, 0, "a"], - [15305, 0, "l"], - [15306, 0, "l"], - [15307, 0, "y"], - [15308, 0, " "], - [15309, 0, "o"], - [15310, 0, "r"], - [15311, 0, "d"], - [15312, 0, "e"], - [15313, 0, "r"], - [15314, 0, "e"], - [15315, 0, "d"], - [15316, 0, ","], - [15317, 0, " "], - [15318, 0, "t"], - [15319, 0, "h"], - [15320, 0, "i"], - [15321, 0, "s"], - [15322, 0, " "], - [15323, 0, "l"], - [15324, 0, "i"], - [15325, 0, "s"], - [15326, 0, "t"], - [15327, 0, " "], - [15328, 0, "o"], - [15329, 0, "r"], - [15330, 0, "d"], - [15331, 0, "e"], - [15332, 0, "r"], - [15333, 0, " "], - [15334, 0, "i"], - [15335, 0, "s"], - [15336, 0, " "], - [15337, 0, "d"], - [15338, 0, "e"], - [15339, 0, "t"], - [15340, 0, "e"], - [15341, 0, "r"], - [15342, 0, "m"], - [15343, 0, "i"], - [15344, 0, "n"], - [15345, 0, "i"], - [15346, 0, "s"], - [15347, 0, "t"], - [15348, 0, "i"], - [15349, 0, "c"], - [15350, 0, " "], - [15351, 0, "a"], - [15352, 0, "n"], - [15353, 0, "d"], - [15354, 0, " "], - [15355, 0, "u"], - [15356, 0, "n"], - [15357, 0, "q"], - [15358, 0, "i"], - [15358, 1], - [15357, 1], - [15357, 0, "i"], - [15358, 0, "q"], - [15359, 0, "u"], - [15360, 0, "e"], - [15361, 0, "."], - [15362, 0, "\n"], - [15363, 0, "\n"], - [15364, 0, "W"], - [15365, 0, "h"], - [15366, 0, "e"], - [15367, 0, "n"], - [15368, 0, " "], - [15369, 0, "o"], - [15370, 0, "p"], - [15371, 0, "e"], - [15372, 0, "r"], - [15373, 0, "a"], - [15374, 0, "t"], - [15375, 0, "i"], - [15376, 0, "o"], - [15377, 0, "n"], - [15378, 0, "s"], - [15379, 0, " "], - [15380, 0, "a"], - [15381, 0, "r"], - [15382, 0, "e"], - [15383, 0, " "], - [15384, 0, "a"], - [15385, 0, "d"], - [15386, 0, "d"], - [15387, 0, "e"], - [15388, 0, "d"], - [15270, 0, " "], - [15271, 0, "("], - [15272, 0, "T"], - [15273, 0, "O"], - [15274, 0, "D"], - [15275, 0, "O"], - [15276, 0, " "], - [15277, 0, "p"], - [15278, 0, "r"], - [15279, 0, "o"], - [15280, 0, "v"], - [15281, 0, "e"], - [15282, 0, " "], - [15283, 0, "t"], - [15284, 0, "h"], - [15285, 0, "i"], - [15286, 0, "s"], - [15287, 0, " "], - [15288, 0, "i"], - [15289, 0, "n"], - [15290, 0, " "], - [15291, 0, "a"], - [15292, 0, " "], - [15293, 0, "l"], - [15294, 0, "e"], - [15295, 0, "m"], - [15296, 0, "m"], - [15297, 0, "a"], - [15298, 0, ")"], - [15298, 0, ","], - [15299, 0, " "], - [15300, 0, "i"], - [15301, 0, "t"], - [15302, 0, " "], - [15303, 0, "m"], - [15304, 0, "i"], - [15305, 0, "g"], - [15306, 0, "h"], - [15307, 0, "t"], - [15308, 0, " "], - [15309, 0, "n"], - [15310, 0, "o"], - [15311, 0, "t"], - [15312, 0, " "], - [15313, 0, "b"], - [15314, 0, "e"], - [15315, 0, " "], - [15316, 0, "o"], - [15317, 0, "b"], - [15318, 0, "v"], - [15319, 0, "i"], - [15320, 0, "o"], - [15321, 0, "u"], - [15322, 0, "s"], - [15433, 0, " "], - [15421, 1], - [15420, 1], - [15419, 1], - [15418, 1], - [15418, 0, "A"], - [15419, 0, "n"], - [15420, 0, "y"], - [15433, 0, "i"], - [15434, 0, "n"], - [15435, 0, " "], - [15436, 0, "$"], - [15437, 0, "H"], - [15438, 0, "_"], - [15439, 0, "c"], - [15440, 0, "$"], - [15441, 0, " "], - [15416, 0, " "], - [15417, 0, "$"], - [15418, 0, "\\"], - [15419, 0, "m"], - [15420, 0, "a"], - [15421, 0, "t"], - [15422, 0, "h"], - [15423, 0, "i"], - [15424, 0, "t"], - [15425, 0, "{"], - [15426, 0, "i"], - [15427, 0, "d"], - [15428, 0, "}"], - [15429, 0, "$"], - [15430, 0, " "], - [15431, 0, "h"], - [15432, 0, "a"], - [15433, 0, "s"], - [15434, 0, " "], - [15435, 0, "a"], - [15436, 0, " "], - [15437, 0, "d"], - [15438, 0, "e"], - [15439, 0, "t"], - [15440, 0, "e"], - [15441, 0, "r"], - [15442, 0, "m"], - [15443, 0, "i"], - [15444, 0, "n"], - [15445, 0, "i"], - [15446, 0, "s"], - [15447, 0, "t"], - [15448, 0, "i"], - [15449, 0, "c"], - [15450, 0, " "], - [15451, 0, "p"], - [15452, 0, "o"], - [15453, 0, "s"], - [15454, 0, "i"], - [15455, 0, "t"], - [15456, 0, "i"], - [15457, 0, "o"], - [15458, 0, "n"], - [15459, 0, " "], - [15460, 0, "w"], - [15461, 0, "i"], - [15462, 0, "t"], - [15463, 0, "h"], - [15464, 0, "i"], - [15465, 0, "n"], - [15466, 0, " "], - [15467, 0, "t"], - [15468, 0, "h"], - [15469, 0, "i"], - [15470, 0, "s"], - [15471, 0, " "], - [15472, 0, "o"], - [15473, 0, "r"], - [15474, 0, "d"], - [15475, 0, "e"], - [15476, 0, "r"], - [15477, 0, "."], - [15513, 1], - [15512, 1], - [15511, 1], - [15510, 1], - [15509, 1], - [15508, 1], - [15507, 1], - [15506, 1], - [15505, 1], - [15504, 1], - [15504, 0, "t"], - [15505, 0, "h"], - [15506, 0, "a"], - [15507, 0, "t"], - [15508, 0, " "], - [15509, 0, "u"], - [15510, 0, "s"], - [15511, 0, "e"], - [15512, 0, " "], - [15513, 0, "a"], - [15514, 0, " "], - [15515, 0, "d"], - [15516, 0, "i"], - [15517, 0, "f"], - [15518, 0, "f"], - [15519, 0, "e"], - [15520, 0, "r"], - [15521, 0, "e"], - [15522, 0, "n"], - [15523, 0, "t"], - [15524, 0, " "], - [15525, 0, "l"], - [15526, 0, "i"], - [15527, 0, "s"], - [15528, 0, "t"], - [15529, 0, " "], - [15530, 0, "e"], - [15531, 0, "l"], - [15532, 0, "e"], - [15533, 0, "m"], - [15534, 0, "e"], - [15535, 0, "n"], - [15536, 0, "t"], - [15537, 0, " "], - [15538, 0, "("], - [15539, 0, "n"], - [15540, 0, "o"], - [15541, 0, "t"], - [15542, 0, " "], - [15543, 0, "$"], - [15544, 0, "\\"], - [15545, 0, "m"], - [15546, 0, "a"], - [15547, 0, "t"], - [15548, 0, "h"], - [15549, 0, "i"], - [15550, 0, "t"], - [15551, 0, "{"], - [15552, 0, "p"], - [15553, 0, "r"], - [15554, 0, "e"], - [15555, 0, "v"], - [15556, 0, "}"], - [15557, 0, "$"], - [15558, 0, " "], - [15558, 1], - [15558, 0, ")"], - [15559, 0, " "], - [15560, 0, "a"], - [15561, 0, "s"], - [15562, 0, " "], - [15563, 0, "t"], - [15564, 0, "h"], - [15565, 0, "e"], - [15566, 0, "i"], - [15567, 0, "r"], - [15568, 0, " "], - [15569, 0, "r"], - [15570, 0, "e"], - [15571, 0, "f"], - [15572, 0, "e"], - [15573, 0, "r"], - [15574, 0, "e"], - [15575, 0, "n"], - [15576, 0, "c"], - [15577, 0, "e"], - [15578, 0, " "], - [15579, 0, "p"], - [15580, 0, "o"], - [15581, 0, "s"], - [15582, 0, "i"], - [15583, 0, "t"], - [15584, 0, "i"], - [15585, 0, "o"], - [15586, 0, "n"], - [15587, 0, " "], - [15588, 0, "a"], - [15589, 0, "p"], - [15590, 0, "p"], - [15591, 0, "e"], - [15592, 0, "a"], - [15593, 0, "r"], - [15594, 0, " "], - [15595, 0, "a"], - [15595, 1], - [15595, 0, "a"], - [15596, 0, "t"], - [15597, 0, " "], - [15598, 0, "s"], - [15599, 0, "o"], - [15600, 0, "m"], - [15601, 0, "e"], - [15602, 0, " "], - [15603, 0, "p"], - [15604, 0, "o"], - [15605, 0, "s"], - [15606, 0, "i"], - [15607, 0, "t"], - [15608, 0, "i"], - [15609, 0, "o"], - [15610, 0, "n"], - [15611, 0, " "], - [15612, 0, "a"], - [15613, 0, "f"], - [15614, 0, "t"], - [15615, 0, "e"], - [15616, 0, "r"], - [15617, 0, " "], - [15618, 0, "t"], - [15619, 0, "h"], - [15620, 0, "e"], - [15621, 0, "i"], - [15622, 0, "r"], - [15623, 0, " "], - [15624, 0, "r"], - [15625, 0, "e"], - [15626, 0, "f"], - [15627, 0, "e"], - [15628, 0, "r"], - [15629, 0, "e"], - [15630, 0, "n"], - [15631, 0, "c"], - [15632, 0, "e"], - [15633, 0, " "], - [15634, 0, "e"], - [15635, 0, "l"], - [15636, 0, "e"], - [15637, 0, "m"], - [15638, 0, "e"], - [15639, 0, "n"], - [15640, 0, "t"], - [15641, 0, " "], - [15642, 0, "i"], - [15643, 0, "n"], - [15644, 0, " "], - [15645, 0, "t"], - [15646, 0, "h"], - [15647, 0, "e"], - [15648, 0, " "], - [15649, 0, "f"], - [15650, 0, "i"], - [15651, 0, "n"], - [15652, 0, "a"], - [15653, 0, "l"], - [15654, 0, " "], - [15655, 0, "l"], - [15656, 0, "i"], - [15657, 0, "s"], - [15658, 0, "t"], - [15659, 0, " "], - [15660, 0, "o"], - [15661, 0, "r"], - [15662, 0, "d"], - [15663, 0, "e"], - [15664, 0, "r"], - [15665, 0, ","], - [15666, 0, " "], - [15667, 0, "a"], - [15668, 0, "n"], - [15669, 0, "d"], - [15670, 0, " "], - [15671, 0, "h"], - [15672, 0, "a"], - [15673, 0, "v"], - [15674, 0, "e"], - [15675, 0, " "], - [15676, 0, "a"], - [15677, 0, " "], - [15678, 0, "L"], - [15679, 0, "a"], - [15680, 0, "m"], - [15681, 0, "p"], - [15682, 0, "o"], - [15683, 0, "r"], - [15684, 0, "t"], - [15685, 0, " "], - [15686, 0, "t"], - [15687, 0, "i"], - [15688, 0, "m"], - [15689, 0, "e"], - [15690, 0, "s"], - [15691, 0, "t"], - [15692, 0, "a"], - [15693, 0, "m"], - [15694, 0, "p"], - [15695, 0, " "], - [15696, 0, "g"], - [15697, 0, "r"], - [15698, 0, "e"], - [15699, 0, "a"], - [15700, 0, "t"], - [15701, 0, "e"], - [15702, 0, "r"], - [15703, 0, " "], - [15704, 0, "t"], - [15705, 0, "h"], - [15706, 0, "a"], - [15707, 0, "n"], - [15708, 0, " "], - [15709, 0, "t"], - [15710, 0, "h"], - [15711, 0, "e"], - [15712, 0, "i"], - [15713, 0, "r"], - [15714, 0, " "], - [15715, 0, "r"], - [15716, 0, "e"], - [15717, 0, "f"], - [15718, 0, "e"], - [15719, 0, "r"], - [15720, 0, "e"], - [15721, 0, "n"], - [15722, 0, "c"], - [15723, 0, "e"], - [15724, 0, " "], - [15725, 0, "e"], - [15726, 0, "l"], - [15727, 0, "e"], - [15728, 0, "m"], - [15729, 0, "e"], - [15730, 0, "n"], - [15731, 0, "t"], - [15732, 0, "."], - [15733, 0, " "], - [15734, 0, "I"], - [15735, 0, "f"], - [15736, 0, " "], - [15737, 0, "t"], - [15738, 0, "h"], - [15739, 0, "e"], - [15740, 0, " "], - [15741, 0, "r"], - [15742, 0, "e"], - [15743, 0, "f"], - [15744, 0, "e"], - [15745, 0, "r"], - [15746, 0, "e"], - [15747, 0, "n"], - [15748, 0, "c"], - [15749, 0, "e"], - [15750, 0, " "], - [15751, 0, "e"], - [15752, 0, "l"], - [15753, 0, "e"], - [15754, 0, "m"], - [15755, 0, "e"], - [15756, 0, "n"], - [15757, 0, "t"], - [15758, 0, " "], - [15759, 0, "a"], - [15760, 0, "p"], - [15761, 0, "p"], - [15762, 0, "e"], - [15763, 0, "a"], - [15764, 0, "r"], - [15765, 0, "s"], - [15766, 0, " "], - [15767, 0, "b"], - [15768, 0, "e"], - [15769, 0, "f"], - [15770, 0, "o"], - [15771, 0, "r"], - [15772, 0, "e"], - [15773, 0, " "], - [15774, 0, "$"], - [15775, 0, "o"], - [15776, 0, "_"], - [15777, 0, "{"], - [15778, 0, "n"], - [15779, 0, "+"], - [15780, 0, "1"], - [15781, 0, "}"], - [15782, 0, "$"], - [15783, 0, " "], - [15784, 0, "i"], - [15785, 0, "n"], - [15786, 0, " "], - [15787, 0, "t"], - [15788, 0, "h"], - [15789, 0, "e"], - [15790, 0, " "], - [15791, 0, "f"], - [15792, 0, "i"], - [15793, 0, "n"], - [15794, 0, "a"], - [15795, 0, "l"], - [15796, 0, " "], - [15797, 0, "o"], - [15798, 0, "r"], - [15799, 0, "d"], - [15800, 0, "e"], - [15801, 0, "r"], - [15802, 0, ","], - [15803, 0, " "], - [15804, 0, "a"], - [15805, 0, "n"], - [15806, 0, "d"], - [15807, 0, " "], - [15493, 1], - [15493, 0, " "], - [15494, 0, "$"], - [15495, 0, "o"], - [15496, 0, "_"], - [15497, 0, "i"], - [15498, 0, "$"], - [15517, 0, "s"], - [15573, 1], - [15572, 1], - [15571, 1], - [15570, 1], - [15569, 1], - [15568, 1], - [15568, 0, " "], - [15569, 0, "i"], - [15570, 0, "t"], - [15571, 0, "s"], - [15598, 0, "s"], - [15627, 1], - [15626, 1], - [15625, 1], - [15624, 1], - [15623, 1], - [15623, 0, "i"], - [15624, 0, "t"], - [15625, 0, "s"], - [15677, 1], - [15676, 1], - [15676, 0, "s"], - [15715, 1], - [15714, 1], - [15713, 1], - [15712, 1], - [15711, 1], - [15711, 0, "i"], - [15712, 0, "t"], - [15713, 0, "s"], - [15808, 0, "a"], - [15809, 0, "n"], - [15810, 0, "d"], - [15811, 0, " "], - [15812, 0, "$"], - [15812, 1], - [15811, 1], - [15810, 1], - [15809, 1], - [15808, 1], - [15808, 0, "$"], - [15809, 0, "o"], - [15810, 0, "_"], - [15811, 0, "i"], - [15812, 0, "$"], - [15813, 0, " "], - [15814, 0, "a"], - [15815, 0, "p"], - [15816, 0, "p"], - [15817, 0, "e"], - [15818, 0, "a"], - [15819, 0, "r"], - [15820, 0, "s"], - [15821, 0, " "], - [15822, 0, "b"], - [15823, 0, "e"], - [15824, 0, "f"], - [15825, 0, "o"], - [15826, 0, "r"], - [15827, 0, "e"], - [15828, 0, " "], - [15829, 0, "$"], - [15830, 0, "o"], - [15831, 0, "_"], - [15832, 0, "{"], - [15833, 0, "n"], - [15834, 0, "+"], - [15835, 0, "1"], - [15836, 0, "}"], - [15837, 0, "$"], - [15838, 0, " "], - [15839, 0, "i"], - [15840, 0, "n"], - [15841, 0, " "], - [15842, 0, "t"], - [15843, 0, "h"], - [15844, 0, "e"], - [15845, 0, " "], - [15846, 0, "h"], - [15847, 0, "i"], - [15848, 0, "s"], - [15849, 0, "t"], - [15850, 0, "o"], - [15851, 0, "r"], - [15852, 0, "y"], - [15853, 0, ","], - [15854, 0, " "], - [15855, 0, "t"], - [15856, 0, "h"], - [15857, 0, "e"], - [15858, 0, "n"], - [15859, 0, " "], - [15860, 0, "t"], - [15861, 0, "h"], - [15862, 0, "e"], - [15863, 0, " "], - [15864, 0, "a"], - [15865, 0, "p"], - [15866, 0, "p"], - [15867, 0, "l"], - [15868, 0, "y"], - [15869, 0, " "], - [15870, 0, "r"], - [15871, 0, "u"], - [15872, 0, "l"], - [15873, 0, "e"], - [15874, 0, " "], - [15875, 0, "w"], - [15876, 0, "i"], - [15877, 0, "l"], - [15878, 0, "l"], - [15879, 0, " "], - [15879, 1], - [15878, 1], - [15877, 1], - [15876, 1], - [15875, 1], - [15875, 0, "f"], - [15876, 0, "o"], - [15877, 0, "r"], - [15878, 0, " "], - [15879, 0, "#"], - [15879, 1], - [15879, 0, "$"], - [15880, 0, "o"], - [15881, 0, "_"], - [15882, 0, "{"], - [15883, 0, "n"], - [15884, 0, "+"], - [15885, 0, "1"], - [15886, 0, "}"], - [15887, 0, "$"], - [15888, 0, " "], - [15889, 0, "s"], - [15890, 0, "k"], - [15891, 0, "i"], - [15892, 0, "p"], - [15893, 0, "s"], - [15894, 0, " "], - [15895, 0, "o"], - [15896, 0, "v"], - [15897, 0, "e"], - [15898, 0, "r"], - [15899, 0, " "], - [15900, 0, "b"], - [15901, 0, "o"], - [15902, 0, "t"], - [15903, 0, "h"], - [15904, 0, " "], - [15905, 0, "$"], - [15906, 0, "o"], - [15907, 0, "_"], - [15908, 0, "i"], - [15909, 0, "$"], - [15910, 0, " "], - [15911, 0, "a"], - [15912, 0, "n"], - [15913, 0, "d"], - [15914, 0, " "], - [15915, 0, "t"], - [15916, 0, "h"], - [15917, 0, "e"], - [15918, 0, " "], - [15919, 0, "r"], - [15920, 0, "e"], - [15921, 0, "f"], - [15922, 0, "e"], - [15923, 0, "r"], - [15924, 0, "e"], - [15925, 0, "n"], - [15926, 0, "c"], - [15927, 0, "e"], - [15928, 0, " "], - [15929, 0, "e"], - [15930, 0, "l"], - [15931, 0, "e"], - [15932, 0, "m"], - [15933, 0, "e"], - [15934, 0, "n"], - [15935, 0, "t"], - [15936, 0, ","], - [15937, 0, " "], - [15938, 0, "s"], - [15939, 0, "i"], - [15940, 0, "n"], - [15941, 0, "c"], - [15942, 0, "e"], - [15943, 0, " "], - [15944, 0, "t"], - [15945, 0, "h"], - [15946, 0, "e"], - [15947, 0, "y"], - [15948, 0, " "], - [15949, 0, "m"], - [15950, 0, "u"], - [15951, 0, "s"], - [15952, 0, "t"], - [15953, 0, " "], - [15954, 0, "b"], - [15955, 0, "o"], - [15956, 0, "t"], - [15957, 0, "h"], - [15958, 0, " "], - [15959, 0, "h"], - [15960, 0, "a"], - [15961, 0, "v"], - [15962, 0, "e"], - [15963, 0, " "], - [15964, 0, "t"], - [15965, 0, "i"], - [15966, 0, "m"], - [15967, 0, "e"], - [15968, 0, "s"], - [15969, 0, "t"], - [15970, 0, "a"], - [15971, 0, "m"], - [15972, 0, "p"], - [15973, 0, "s"], - [15974, 0, " "], - [15975, 0, "g"], - [15976, 0, "r"], - [15977, 0, "e"], - [15978, 0, "a"], - [15979, 0, "t"], - [15980, 0, "h"], - [15981, 0, "e"], - [15982, 0, "r"], - [15983, 0, " "], - [15984, 0, "t"], - [15985, 0, "h"], - [15986, 0, "a"], - [15986, 1], - [15985, 1], - [15984, 1], - [15983, 1], - [15982, 1], - [15981, 1], - [15980, 1], - [15980, 0, "e"], - [15981, 0, "r"], - [15982, 0, " "], - [15983, 0, "t"], - [15984, 0, "h"], - [15985, 0, "a"], - [15986, 0, "n"], - [15987, 0, " "], - [15988, 0, "$"], - [15989, 0, "\\"], - [15990, 0, "m"], - [15991, 0, "a"], - [15992, 0, "t"], - [15993, 0, "h"], - [15994, 0, "i"], - [15995, 0, "t"], - [15996, 0, "{"], - [15997, 0, "i"], - [15998, 0, "d"], - [15999, 0, "}"], - [16000, 0, "$"], - [16001, 0, "."], - [16002, 0, " "], - [16003, 0, "I"], - [16004, 0, "f"], - [16005, 0, " "], - [16006, 0, "t"], - [16007, 0, "h"], - [16008, 0, "e"], - [16009, 0, " "], - [16010, 0, "r"], - [16011, 0, "e"], - [16012, 0, "f"], - [16013, 0, "e"], - [16014, 0, "r"], - [16015, 0, "e"], - [16016, 0, "n"], - [16017, 0, "c"], - [16018, 0, "e"], - [16019, 0, " "], - [16020, 0, "e"], - [16021, 0, "l"], - [16022, 0, "e"], - [16023, 0, "m"], - [16024, 0, "e"], - [16025, 0, "n"], - [16026, 0, "t"], - [16027, 0, " "], - [16028, 0, "a"], - [16029, 0, "p"], - [16030, 0, "p"], - [16031, 0, "e"], - [16032, 0, "a"], - [16033, 0, "r"], - [16034, 0, "s"], - [16035, 0, " "], - [16036, 0, "b"], - [16037, 0, "e"], - [16038, 0, "f"], - [16039, 0, "o"], - [16040, 0, "r"], - [16041, 0, "e"], - [16042, 0, " "], - [16043, 0, "$"], - [16044, 0, "o"], - [16045, 0, "_"], - [16046, 0, "{"], - [16047, 0, "n"], - [16048, 0, "+"], - [16049, 0, "1"], - [16050, 0, "}"], - [16051, 0, "$"], - [16052, 0, " "], - [16053, 0, "i"], - [16054, 0, "n"], - [16055, 0, " "], - [16056, 0, "t"], - [16057, 0, "h"], - [16058, 0, "e"], - [16059, 0, " "], - [16060, 0, "f"], - [16061, 0, "i"], - [16062, 0, "n"], - [16063, 0, "a"], - [16064, 0, "l"], - [16065, 0, " "], - [16066, 0, "o"], - [16067, 0, "r"], - [16068, 0, "d"], - [16069, 0, "e"], - [16070, 0, "r"], - [16071, 0, ","], - [16072, 0, " "], - [16073, 0, "a"], - [16074, 0, "n"], - [16075, 0, "d"], - [16076, 0, " "], - [16077, 0, "$"], - [16078, 0, "o"], - [16079, 0, "_"], - [16080, 0, "i"], - [16081, 0, "$"], - [16082, 0, " "], - [16083, 0, "a"], - [16084, 0, "p"], - [16085, 0, "p"], - [16086, 0, "e"], - [16087, 0, "a"], - [16088, 0, "r"], - [16089, 0, "s"], - [16090, 0, " "], - [16091, 0, "a"], - [16092, 0, "f"], - [16093, 0, "t"], - [16094, 0, "e"], - [16095, 0, "r"], - [16096, 0, " "], - [16097, 0, "$"], - [16098, 0, "#"], - [16098, 1], - [16098, 0, "o"], - [16099, 0, "_"], - [16100, 0, "{"], - [16101, 0, "n"], - [16102, 0, "+"], - [16103, 0, "1"], - [16104, 0, "}"], - [16105, 0, "$"], - [16106, 0, " "], - [16107, 0, "i"], - [16108, 0, "n"], - [16109, 0, " "], - [16110, 0, "t"], - [16111, 0, "h"], - [16112, 0, "e"], - [16113, 0, "i"], - [16113, 1], - [16113, 0, " "], - [16114, 0, "h"], - [16115, 0, "i"], - [16116, 0, "s"], - [16117, 0, "t"], - [16118, 0, "o"], - [16119, 0, "r"], - [16120, 0, "y"], - [15803, 0, " "], - [15804, 0, "t"], - [15805, 0, "h"], - [15806, 0, "a"], - [15807, 0, "t"], - [15808, 0, " "], - [15809, 0, "m"], - [15810, 0, "e"], - [15811, 0, "a"], - [15812, 0, "n"], - [15813, 0, "s"], - [15814, 0, " "], - [15815, 0, "t"], - [15816, 0, "h"], - [15817, 0, "e"], - [15818, 0, " "], - [15819, 0, "t"], - [15820, 0, "i"], - [15821, 0, "m"], - [15822, 0, "e"], - [15823, 0, "s"], - [15824, 0, "t"], - [15825, 0, "a"], - [15826, 0, "m"], - [15827, 0, "p"], - [15828, 0, " "], - [15829, 0, "o"], - [15830, 0, "f"], - [15831, 0, " "], - [15832, 0, "t"], - [15833, 0, "h"], - [15834, 0, "e"], - [15835, 0, " "], - [15836, 0, "r"], - [15837, 0, "e"], - [15838, 0, "f"], - [15839, 0, "e"], - [15840, 0, "r"], - [15841, 0, "e"], - [15842, 0, "n"], - [15843, 0, "c"], - [15844, 0, "e"], - [15845, 0, " "], - [15846, 0, "e"], - [15847, 0, "l"], - [15848, 0, "e"], - [15849, 0, "m"], - [15850, 0, "e"], - [15851, 0, "n"], - [15852, 0, "t"], - [15853, 0, " "], - [15854, 0, "i"], - [15855, 0, "s"], - [15856, 0, " "], - [15857, 0, "g"], - [15858, 0, "r"], - [15859, 0, "e"], - [15860, 0, "a"], - [15861, 0, "t"], - [15862, 0, "e"], - [15863, 0, "r"], - [15864, 0, " "], - [15865, 0, "t"], - [15866, 0, "h"], - [15867, 0, "a"], - [15868, 0, "n"], - [15869, 0, " "], - [15870, 0, "$"], - [15871, 0, "\\"], - [15872, 0, "m"], - [15873, 0, "a"], - [15874, 0, "t"], - [15875, 0, "h"], - [15876, 0, "i"], - [15877, 0, "t"], - [15878, 0, "{"], - [15879, 0, "i"], - [15880, 0, "d"], - [15881, 0, "}"], - [15882, 0, "$"], - [15855, 1], - [15854, 1], - [15854, 0, "a"], - [15855, 0, "n"], - [15856, 0, "d"], - [15857, 0, " "], - [15857, 1], - [15856, 1], - [15855, 1], - [15854, 1], - [15854, 0, "i"], - [15855, 0, "s"], - [15883, 0, ","], - [15888, 0, " "], - [15889, 0, "s"], - [15890, 0, "o"], - [15891, 0, " "], - [15892, 0, "t"], - [15893, 0, "h"], - [15894, 0, "e"], - [15895, 0, " "], - [15896, 0, "t"], - [15897, 0, "i"], - [15898, 0, "m"], - [15899, 0, "e"], - [15900, 0, "s"], - [15901, 0, "t"], - [15902, 0, "a"], - [15903, 0, "m"], - [15904, 0, "p"], - [15905, 0, " "], - [15906, 0, "o"], - [15907, 0, "f"], - [15908, 0, " "], - [15908, 1], - [15914, 0, " "], - [15915, 0, "i"], - [15916, 0, "s"], - [15917, 0, " "], - [15918, 0, "a"], - [15919, 0, "l"], - [15920, 0, "s"], - [15921, 0, "o"], - [15922, 0, " "], - [15923, 0, "g"], - [15924, 0, "r"], - [15925, 0, "e"], - [15926, 0, "a"], - [15927, 0, "t"], - [15928, 0, "e"], - [15929, 0, "r"], - [15930, 0, " "], - [15931, 0, "t"], - [15932, 0, "h"], - [15933, 0, "a"], - [15934, 0, "n"], - [15935, 0, " "], - [15936, 0, "$"], - [15937, 0, "{"], - [15937, 1], - [15937, 0, "\n"], - [15937, 1], - [15937, 0, "\\"], - [15938, 0, "m"], - [15939, 0, "a"], - [15940, 0, "t"], - [15941, 0, "h"], - [15942, 0, "i"], - [15943, 0, "t"], - [15944, 0, "{"], - [15945, 0, "i"], - [15946, 0, "d"], - [15947, 0, "}"], - [15948, 0, "$"], - [15949, 0, "."], - [15950, 0, " "], - [15951, 0, "I"], - [15952, 0, "f"], - [15953, 0, " "], - [15954, 0, "$"], - [15955, 0, "o"], - [15956, 0, "_"], - [15957, 0, "{"], - [15958, 0, "n"], - [15959, 0, "+"], - [15960, 0, "1"], - [15961, 0, "}"], - [15962, 0, "$"], - [15987, 1], - [15986, 1], - [15985, 1], - [15984, 1], - [15983, 1], - [15982, 1], - [15981, 1], - [15980, 1], - [15979, 1], - [15978, 1], - [15977, 1], - [15976, 1], - [15975, 1], - [15974, 1], - [15973, 1], - [15972, 1], - [15972, 0, "a"], - [15973, 0, "f"], - [15974, 0, "t"], - [15975, 0, "e"], - [15976, 0, "r"], - [15977, 0, " "], - [15978, 0, "$"], - [15979, 0, "o"], - [15980, 0, "_"], - [15981, 0, "i"], - [15982, 0, "$"], - [16145, 1], - [16144, 1], - [16143, 1], - [16142, 1], - [16141, 1], - [16140, 1], - [16139, 1], - [16138, 1], - [16137, 1], - [16136, 1], - [16135, 1], - [16134, 1], - [16133, 1], - [16132, 1], - [16131, 1], - [16130, 1], - [16129, 1], - [16128, 1], - [16127, 1], - [16126, 1], - [16125, 1], - [16124, 1], - [16123, 1], - [16122, 1], - [16121, 1], - [16120, 1], - [16119, 1], - [16118, 1], - [16117, 1], - [16116, 1], - [16115, 1], - [16114, 1], - [16113, 1], - [16112, 1], - [16111, 1], - [16110, 1], - [16109, 1], - [16108, 1], - [16107, 1], - [16106, 1], - [16105, 1], - [16104, 1], - [16103, 1], - [16102, 1], - [16101, 1], - [16100, 1], - [16099, 1], - [16098, 1], - [16097, 1], - [16096, 1], - [16095, 1], - [16094, 1], - [16093, 1], - [16092, 1], - [16091, 1], - [16090, 1], - [16089, 1], - [16088, 1], - [16087, 1], - [16086, 1], - [16085, 1], - [16084, 1], - [16083, 1], - [16082, 1], - [16081, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [16086, 1], - [15733, 0, " "], - [15734, 0, "i"], - [15735, 0, "f"], - [15736, 0, " "], - [15736, 1], - [15735, 1], - [15734, 1], - [15734, 0, "I"], - [15735, 0, "f"], - [15736, 0, " "], - [15737, 0, "t"], - [15738, 0, "h"], - [15739, 0, "e"], - [15740, 0, " "], - [15741, 0, "r"], - [15742, 0, "e"], - [15743, 0, "f"], - [15744, 0, "e"], - [15745, 0, "r"], - [15746, 0, "e"], - [15747, 0, "n"], - [15748, 0, "c"], - [15749, 0, "e"], - [15750, 0, " "], - [15751, 0, "e"], - [15752, 0, "l"], - [15753, 0, "e"], - [15754, 0, "m"], - [15755, 0, "e"], - [15756, 0, "n"], - [15757, 0, "t"], - [15758, 0, " "], - [15759, 0, "a"], - [15760, 0, "p"], - [15761, 0, "p"], - [15762, 0, "e"], - [15763, 0, "a"], - [15764, 0, "r"], - [15765, 0, "s"], - [15766, 0, " "], - [15767, 0, "a"], - [15768, 0, "f"], - [15769, 0, "t"], - [15770, 0, "e"], - [15771, 0, "r"], - [15772, 0, " "], - [15773, 0, "$"], - [15774, 0, "o"], - [15775, 0, "_"], - [15776, 0, "{"], - [15777, 0, "n"], - [15778, 0, "+"], - [15779, 0, "1"], - [15780, 0, "}"], - [15781, 0, "$"], - [15782, 0, " "], - [15783, 0, "i"], - [15784, 0, "n"], - [15785, 0, " "], - [15786, 0, "t"], - [15787, 0, "h"], - [15788, 0, "e"], - [15789, 0, " "], - [15790, 0, "f"], - [15791, 0, "i"], - [15792, 0, "n"], - [15793, 0, "a"], - [15794, 0, "l"], - [15795, 0, " "], - [15796, 0, "o"], - [15797, 0, "r"], - [15798, 0, "d"], - [15799, 0, "e"], - [15800, 0, "r"], - [15801, 0, ","], - [15802, 0, " "], - [15803, 0, "$"], - [15804, 0, "o"], - [15805, 0, "_"], - [15806, 0, "i"], - [15807, 0, "$"], - [15808, 0, " "], - [15809, 0, "a"], - [15810, 0, "l"], - [15811, 0, "s"], - [15812, 0, "o"], - [15813, 0, " "], - [15814, 0, "a"], - [15815, 0, "p"], - [15816, 0, "p"], - [15817, 0, "e"], - [15818, 0, "a"], - [15819, 0, "r"], - [15820, 0, "s"], - [15821, 0, " "], - [15822, 0, "a"], - [15823, 0, "f"], - [15824, 0, "t"], - [15825, 0, "e"], - [15826, 0, "r"], - [15827, 0, " "], - [15828, 0, "$"], - [15829, 0, "o"], - [15830, 0, "_"], - [15831, 0, "{"], - [15832, 0, "n"], - [15833, 0, "+"], - [15834, 0, "1"], - [15835, 0, "}"], - [15836, 0, "$"], - [15837, 0, ","], - [15838, 0, " "], - [15839, 0, "r"], - [15840, 0, "e"], - [15841, 0, "g"], - [15842, 0, "a"], - [15843, 0, "r"], - [15844, 0, "d"], - [15845, 0, "l"], - [15846, 0, "e"], - [15847, 0, "s"], - [15848, 0, "s"], - [15849, 0, " "], - [15850, 0, "o"], - [15851, 0, "f"], - [15852, 0, " "], - [15853, 0, "t"], - [15854, 0, "h"], - [15855, 0, "e"], - [15856, 0, " "], - [15857, 0, "o"], - [15858, 0, "r"], - [15859, 0, "d"], - [15860, 0, "e"], - [15861, 0, "r"], - [15862, 0, " "], - [15863, 0, "o"], - [15864, 0, "f"], - [15865, 0, " "], - [15865, 1], - [15864, 1], - [15863, 1], - [15862, 1], - [15862, 0, " "], - [15863, 0, "i"], - [15864, 0, "n"], - [15865, 0, " "], - [15866, 0, "w"], - [15867, 0, "h"], - [15868, 0, "i"], - [15869, 0, "c"], - [15870, 0, "h"], - [15871, 0, " "], - [15872, 0, "o"], - [15873, 0, "p"], - [15874, 0, "e"], - [15875, 0, "r"], - [15876, 0, "a"], - [15877, 0, "t"], - [15878, 0, "i"], - [15879, 0, "o"], - [15880, 0, "n"], - [15881, 0, "s"], - [15882, 0, " "], - [15883, 0, "a"], - [15884, 0, "r"], - [15885, 0, "e"], - [15886, 0, " "], - [15887, 0, "a"], - [15888, 0, "p"], - [15889, 0, "p"], - [15890, 0, "l"], - [15891, 0, "i"], - [15892, 0, "e"], - [15893, 0, "d"], - [15894, 0, "."], - [15895, 1], - [15895, 0, "\n"], - [15896, 0, "\n"], - [16293, 0, ","], - [16294, 0, " "], - [16295, 0, "t"], - [16296, 0, "h"], - [16297, 0, "e"], - [16298, 0, " "], - [16299, 0, "a"], - [16300, 0, "p"], - [16301, 0, "p"], - [16302, 0, "l"], - [16303, 0, "y"], - [16304, 0, " "], - [16305, 0, "r"], - [16306, 0, "u"], - [16307, 0, "l"], - [16308, 0, "e"], - [16309, 0, " "], - [16310, 0, "f"], - [16311, 0, "o"], - [16312, 0, "r"], - [16313, 0, " "], - [16314, 0, "$"], - [16315, 0, "o"], - [16316, 0, "_"], - [16317, 0, "i"], - [16318, 0, "$"], - [16319, 0, " "], - [16320, 0, "d"], - [16321, 0, "o"], - [16322, 0, "e"], - [16323, 0, "s"], - [16324, 0, " "], - [16325, 0, "n"], - [16326, 0, "o"], - [16327, 0, "t"], - [16328, 0, " "], - [16329, 0, "s"], - [16330, 0, "k"], - [16331, 0, "i"], - [16332, 0, "p"], - [16333, 0, " "], - [16334, 0, "o"], - [16335, 0, "v"], - [16336, 0, "e"], - [16337, 0, "r"], - [16338, 0, " "], - [16339, 0, "$"], - [16340, 0, "o"], - [16341, 0, "_"], - [16342, 0, "{"], - [16343, 0, "n"], - [16344, 0, "+"], - [16345, 0, "1"], - [16346, 0, "}"], - [16347, 0, "$"], - [16338, 0, " "], - [16339, 0, "t"], - [16340, 0, "h"], - [16341, 0, "e"], - [16342, 0, " "], - [16343, 0, "l"], - [16344, 0, "i"], - [16345, 0, "s"], - [16346, 0, "t"], - [16347, 0, " "], - [16348, 0, "e"], - [16349, 0, "l"], - [16350, 0, "e"], - [16351, 0, "m"], - [16352, 0, "e"], - [16353, 0, "n"], - [16354, 0, "t"], - [16355, 0, " "], - [16356, 0, "f"], - [16357, 0, "o"], - [16358, 0, "r"], - [16369, 0, ","], - [16370, 0, " "], - [16371, 0, "b"], - [16372, 0, "e"], - [16373, 0, "c"], - [16374, 0, "a"], - [16375, 0, "u"], - [16376, 0, "s"], - [16377, 0, "e"], - [16378, 0, " "], - [16371, 0, "a"], - [16372, 0, "g"], - [16373, 0, "a"], - [16374, 0, "i"], - [16375, 0, "n"], - [16376, 0, " "], - [16385, 0, "t"], - [16386, 0, "h"], - [16387, 0, "e"], - [16388, 0, " "], - [16389, 0, "t"], - [16390, 0, "i"], - [16391, 0, "m"], - [16392, 0, "e"], - [16393, 0, "s"], - [16394, 0, "t"], - [16395, 0, "a"], - [16396, 0, "m"], - [16397, 0, "p"], - [16398, 0, " "], - [16399, 0, "f"], - [16400, 0, "o"], - [16401, 0, "r"], - [16402, 0, " "], - [16403, 0, "$"], - [16404, 0, "o"], - [16405, 0, "_"], - [16406, 0, "i"], - [16407, 0, "$"], - [16408, 0, " "], - [16409, 0, "i"], - [16410, 0, "s"], - [16411, 0, " "], - [16412, 0, "g"], - [16413, 0, "r"], - [16414, 0, "e"], - [16415, 0, "a"], - [16416, 0, "t"], - [16417, 0, "h"], - [16418, 0, "e"], - [16419, 0, "r"], - [16420, 0, " "], - [16421, 0, "t"], - [16422, 0, "h"], - [16423, 0, "a"], - [16424, 0, "n"], - [16424, 1], - [16423, 1], - [16422, 1], - [16421, 1], - [16420, 1], - [16419, 1], - [16418, 1], - [16417, 1], - [16417, 0, "e"], - [16418, 0, "r"], - [16419, 0, " "], - [16420, 0, "t"], - [16421, 0, "h"], - [16422, 0, "a"], - [16423, 0, "n"], - [16424, 0, " "], - [16425, 0, "$"], - [16426, 0, "\\"], - [16427, 0, "m"], - [16428, 0, "a"], - [16429, 0, "t"], - [16430, 0, "h"], - [16431, 0, "i"], - [16432, 0, "t"], - [16433, 0, "{"], - [16434, 0, "i"], - [16435, 0, "d"], - [16436, 0, "}"], - [16437, 0, "$"], - [16438, 0, "."], - [16439, 0, " "], - [16440, 0, "E"], - [16441, 0, "i"], - [16442, 0, "t"], - [16443, 0, "h"], - [16444, 0, "e"], - [16445, 0, "r"], - [16446, 0, " "], - [16447, 0, "w"], - [16448, 0, "a"], - [16449, 0, "y"], - [16450, 0, ","], - [16451, 0, " "], - [16452, 0, "b"], - [16453, 0, "o"], - [16454, 0, "t"], - [16455, 0, "h"], - [16456, 0, " "], - [16456, 1], - [16455, 1], - [16454, 1], - [16453, 1], - [16452, 1], - [16452, 0, "i"], - [16453, 0, "f"], - [16454, 0, " "], - [16455, 0, "t"], - [16456, 0, "h"], - [16457, 0, "e"], - [16458, 0, " "], - [16459, 0, "r"], - [16460, 0, "e"], - [16461, 0, "f"], - [16462, 0, "e"], - [16463, 0, "r"], - [16464, 0, "e"], - [16465, 0, "n"], - [16466, 0, "c"], - [16467, 0, "e"], - [16468, 0, " "], - [16469, 0, "e"], - [16470, 0, "l"], - [16471, 0, "e"], - [16472, 0, "m"], - [16473, 0, "e"], - [16474, 0, "n"], - [16475, 0, "t"], - [16476, 0, " "], - [16477, 0, "a"], - [16478, 0, "p"], - [16479, 0, "p"], - [16480, 0, "e"], - [16481, 0, "a"], - [16482, 0, "r"], - [16483, 0, "s"], - [16484, 0, " "], - [16485, 0, "b"], - [16486, 0, "e"], - [16487, 0, "f"], - [16488, 0, "o"], - [16489, 0, "r"], - [16490, 0, "e"], - [16491, 0, " "], - [16492, 0, "$"], - [16493, 0, "o"], - [16494, 0, "_"], - [16495, 0, "["], - [16495, 1], - [16495, 0, "{"], - [16496, 0, "n"], - [16497, 0, "+"], - [16498, 0, "1"], - [16499, 0, "}"], - [16500, 0, "$"], - [16501, 0, " "], - [16502, 0, "i"], - [16503, 0, "n"], - [16504, 0, " "], - [16505, 0, "t"], - [16506, 0, "h"], - [16507, 0, "e"], - [16508, 0, " "], - [16509, 0, "f"], - [16510, 0, "i"], - [16511, 0, "n"], - [16512, 0, "a"], - [16513, 0, "l"], - [16514, 0, " "], - [16515, 0, "o"], - [16516, 0, "r"], - [16517, 0, "d"], - [16518, 0, "e"], - [16519, 0, "r"], - [16520, 0, ","], - [16521, 0, " "], - [16522, 0, "s"], - [16523, 0, "o"], - [16524, 0, " "], - [16525, 0, "d"], - [16526, 0, "o"], - [16527, 0, "e"], - [16528, 0, "s"], - [16529, 0, " "], - [16530, 0, "$"], - [16531, 0, "o"], - [16532, 0, "_"], - [16533, 0, "i"], - [16534, 0, "$"], - [16535, 0, ","], - [16536, 0, " "], - [16537, 0, "r"], - [16538, 0, "e"], - [16539, 0, "g"], - [16540, 0, "a"], - [16541, 0, "r"], - [16542, 0, "d"], - [16543, 0, "l"], - [16544, 0, "e"], - [16545, 0, "s"], - [16546, 0, "s"], - [16547, 0, " "], - [16548, 0, "o"], - [16549, 0, "f"], - [16550, 0, " "], - [16551, 0, "t"], - [16552, 0, "h"], - [16553, 0, "e"], - [16554, 0, " "], - [16555, 0, "o"], - [16556, 0, "r"], - [16557, 0, "d"], - [16558, 0, "e"], - [16559, 0, "r"], - [16560, 0, " "], - [16561, 0, "i"], - [16562, 0, "n"], - [16563, 0, " "], - [16564, 0, "w"], - [16565, 0, "h"], - [16566, 0, "i"], - [16567, 0, "c"], - [16568, 0, "h"], - [16569, 0, " "], - [16570, 0, "a"], - [16570, 1], - [16570, 0, "o"], - [16571, 0, "p"], - [16572, 0, "e"], - [16573, 0, "r"], - [16574, 0, "a"], - [16575, 0, "t"], - [16576, 0, "i"], - [16577, 0, "o"], - [16578, 0, "n"], - [16579, 0, "s"], - [16580, 0, " "], - [16581, 0, "a"], - [16582, 0, "r"], - [16583, 0, "e"], - [16584, 0, " "], - [16585, 0, "a"], - [16586, 0, "p"], - [16587, 0, "p"], - [16588, 0, "l"], - [16589, 0, "i"], - [16590, 0, "e"], - [16591, 0, "d"], - [16592, 0, "."], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 1], - [16595, 0, "T"], - [16596, 0, "O"], - [16597, 0, "D"], - [16598, 0, "O"], - [16599, 0, " "], - [16600, 0, "t"], - [16601, 0, "h"], - [16602, 0, "a"], - [16603, 0, "t"], - [16604, 0, " "], - [16605, 0, "l"], - [16606, 0, "a"], - [16607, 0, "s"], - [16608, 0, "t"], - [16609, 0, " "], - [16610, 0, "b"], - [16611, 0, "i"], - [16612, 0, "t"], - [16613, 0, " "], - [16614, 0, "o"], - [16615, 0, "f"], - [16616, 0, " "], - [16617, 0, "t"], - [16618, 0, "h"], - [16619, 0, "e"], - [16620, 0, " "], - [16621, 0, "a"], - [16622, 0, "r"], - [16623, 0, "g"], - [16624, 0, "u"], - [16625, 0, "m"], - [16626, 0, "e"], - [16627, 0, "n"], - [16628, 0, "t"], - [16629, 0, " "], - [16630, 0, "i"], - [16631, 0, "s"], - [16632, 0, " "], - [16633, 0, "a"], - [16634, 0, " "], - [16635, 0, "b"], - [16636, 0, "i"], - [16637, 0, "t"], - [16638, 0, " "], - [16639, 0, "h"], - [16640, 0, "a"], - [16641, 0, "n"], - [16642, 0, "d"], - [16643, 0, "-"], - [16644, 0, "w"], - [16645, 0, "a"], - [16646, 0, "v"], - [16647, 0, "y"], - [16648, 0, ","], - [16649, 0, " "], - [16650, 0, "n"], - [16651, 0, "e"], - [16652, 0, "e"], - [16653, 0, "d"], - [16654, 0, " "], - [16655, 0, "t"], - [16656, 0, "o"], - [16657, 0, " "], - [16658, 0, "m"], - [16659, 0, "a"], - [16660, 0, "k"], - [16661, 0, "e"], - [16662, 0, " "], - [16663, 0, "i"], - [16664, 0, "t"], - [16665, 0, " "], - [16666, 0, "m"], - [16667, 0, "o"], - [16668, 0, "r"], - [16669, 0, "e"], - [16670, 0, " "], - [16671, 0, "p"], - [16672, 0, "r"], - [16673, 0, "e"], - [16674, 0, "c"], - [16675, 0, "i"], - [16676, 0, "s"], - [16677, 0, "e"], - [16678, 0, "."], - [16679, 0, " "], - [16680, 0, "B"], - [16681, 0, "u"], - [16682, 0, "t"], - [16683, 0, " "], - [16684, 0, "I"], - [16685, 0, " "], - [16686, 0, "t"], - [16687, 0, "h"], - [16688, 0, "i"], - [16689, 0, "n"], - [16690, 0, "k"], - [16691, 0, " "], - [16692, 0, "t"], - [16693, 0, "h"], - [16694, 0, "e"], - [16695, 0, " "], - [16696, 0, "g"], - [16697, 0, "e"], - [16698, 0, "n"], - [16699, 0, "e"], - [16700, 0, "r"], - [16701, 0, "a"], - [16702, 0, "l"], - [16703, 0, " "], - [16704, 0, "a"], - [16705, 0, "p"], - [16706, 0, "p"], - [16707, 0, "r"], - [16708, 0, "o"], - [16709, 0, "a"], - [16710, 0, "c"], - [16711, 0, "h"], - [16712, 0, " "], - [16713, 0, "i"], - [16714, 0, "s"], - [16715, 0, " "], - [16716, 0, "o"], - [16717, 0, "k"], - [16718, 0, "."], - [16719, 0, " "], - [16720, 0, "T"], - [16721, 0, "h"], - [16722, 0, "a"], - [16723, 0, "t"], - [16724, 0, " "], - [16725, 0, "c"], - [16726, 0, "o"], - [16727, 0, "m"], - [16728, 0, "p"], - [16729, 0, "l"], - [16730, 0, "e"], - [16731, 0, "t"], - [16732, 0, "e"], - [16733, 0, "s"], - [16734, 0, " "], - [16735, 0, "t"], - [16736, 0, "h"], - [16737, 0, "e"], - [16738, 0, " "], - [16739, 0, "i"], - [16740, 0, "n"], - [16741, 0, "d"], - [16742, 0, "u"], - [16743, 0, "c"], - [16744, 0, "t"], - [16745, 0, "i"], - [16746, 0, "o"], - [16747, 0, "n"], - [16748, 0, " "], - [16749, 0, "s"], - [16750, 0, "t"], - [16751, 0, "e"], - [16752, 0, "p"], - [16753, 0, ","], - [16754, 0, " "], - [16755, 0, "a"], - [16756, 0, "n"], - [16757, 0, "d"], - [16758, 0, " "], - [16759, 0, "t"], - [16760, 0, "h"], - [16761, 0, "u"], - [16762, 0, "s"], - [16763, 0, " "], - [16764, 0, "t"], - [16765, 0, "h"], - [16766, 0, "e"], - [16767, 0, " "], - [16768, 0, "p"], - [16769, 0, "r"], - [16770, 0, "o"], - [16771, 0, "o"], - [16772, 0, "f"], - [16773, 0, "."], - [16774, 1], - [16774, 1], - [3942, 0, "\n"], - [3943, 0, "\n"], - [3944, 0, "\\"], - [3945, 0, "b"], - [3946, 0, "e"], - [3947, 0, "g"], - [3948, 0, "i"], - [3949, 0, "n"], - [3950, 0, "{"], - [3951, 0, "f"], - [3952, 0, "i"], - [3953, 0, "g"], - [3954, 0, "u"], - [3955, 0, "r"], - [3956, 0, "e"], - [3957, 0, "*"], - [3958, 0, "}"], - [3959, 0, "\n"], - [3960, 0, "\\"], - [3961, 0, "e"], - [3962, 0, "n"], - [3963, 0, "d"], - [3964, 0, "{"], - [3965, 0, "f"], - [3966, 0, "i"], - [3967, 0, "g"], - [3968, 0, "u"], - [3969, 0, "r"], - [3970, 0, "e"], - [3971, 0, "*"], - [3972, 0, "}"], - [3959, 0, "\n"], - [3960, 0, "\\"], - [3961, 0, "c"], - [3962, 0, "a"], - [3963, 0, "p"], - [3964, 0, "t"], - [3965, 0, "u"], - [3965, 1], - [3965, 0, "i"], - [3966, 0, "o"], - [3967, 0, "n"], - [3968, 0, "{"], - [3969, 0, "R"], - [3970, 0, "u"], - [3971, 0, "l"], - [3972, 0, "e"], - [3973, 0, "s"], - [3974, 0, " "], - [3975, 0, "f"], - [3976, 0, "o"], - [3977, 0, "r"], - [3978, 0, " "], - [3979, 0, "m"], - [3980, 0, "u"], - [3981, 0, "t"], - [3982, 0, "a"], - [3983, 0, "t"], - [3984, 0, "i"], - [3985, 0, "n"], - [3986, 0, "g"], - [3987, 0, " "], - [3988, 0, "a"], - [3989, 0, "n"], - [3990, 0, " "], - [3991, 0, "o"], - [3992, 0, "r"], - [3993, 0, "d"], - [3994, 0, "e"], - [3995, 0, "r"], - [3996, 0, "e"], - [3997, 0, "d"], - [3998, 0, " "], - [3999, 0, "l"], - [4000, 0, "i"], - [4001, 0, "s"], - [4002, 0, "t"], - [4003, 0, "}"], - [4004, 0, "\n"], - [4005, 0, "\\"], - [4006, 0, "l"], - [4007, 0, "a"], - [4008, 0, "b"], - [4009, 0, "e"], - [4010, 0, "l"], - [4011, 0, "{"], - [4012, 0, "f"], - [4013, 0, "i"], - [4014, 0, "g"], - [4015, 0, ":"], - [4016, 0, "r"], - [4017, 0, "g"], - [4018, 0, "a"], - [4019, 0, "-"], - [4020, 0, "r"], - [4021, 0, "u"], - [4022, 0, "l"], - [4023, 0, "e"], - [4024, 0, "s"], - [4025, 0, "}"], - [168, 0, "\n"], - [169, 0, "\\"], - [170, 0, "u"], - [171, 0, "s"], - [172, 0, "e"], - [173, 0, "p"], - [174, 0, "a"], - [175, 0, "c"], - [176, 0, "k"], - [177, 0, "a"], - [178, 0, "g"], - [179, 0, "e"], - [180, 0, "{"], - [181, 0, "p"], - [182, 0, "a"], - [182, 1], - [181, 1], - [181, 0, "m"], - [182, 0, "a"], - [183, 0, "t"], - [184, 0, "h"], - [185, 0, "p"], - [186, 0, "a"], - [187, 0, "r"], - [188, 0, "t"], - [189, 0, "i"], - [190, 0, "r"], - [191, 0, "}"], - [192, 0, " "], - [193, 0, "%"], - [194, 0, " "], - [195, 0, "i"], - [196, 0, "n"], - [197, 0, "f"], - [198, 0, "e"], - [199, 0, "r"], - [200, 0, "e"], - [201, 0, "n"], - [202, 0, "c"], - [203, 0, "e"], - [204, 0, " "], - [205, 0, "r"], - [206, 0, "u"], - [207, 0, "l"], - [208, 0, "e"], - [209, 0, "s"], - [195, 0, "n"], - [196, 0, "o"], - [197, 0, "t"], - [198, 0, "a"], - [199, 0, "t"], - [200, 0, "i"], - [201, 0, "o"], - [202, 0, "n"], - [203, 0, " "], - [204, 0, "f"], - [205, 0, "o"], - [206, 0, "r"], - [207, 0, " "], - [4014, 0, "\n"], - [4015, 0, "\\"], - [4016, 0, "i"], - [4017, 0, "n"], - [4018, 0, "f"], - [4019, 0, "e"], - [4020, 0, "r"], - [4021, 0, "r"], - [4022, 0, "u"], - [4023, 0, "l"], - [4024, 0, "e"], - [4025, 0, "["], - [4026, 0, "i"], - [4027, 0, "n"], - [4028, 0, "s"], - [4029, 0, "e"], - [4030, 0, "r"], - [4031, 0, "t"], - [4032, 0, "]"], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 0, "s"], - [182, 0, "e"], - [183, 0, "m"], - [184, 0, "a"], - [185, 0, "n"], - [186, 0, "t"], - [187, 0, "i"], - [188, 0, "c"], - [4031, 0, "\n"], - [4032, 0, "\\"], - [4033, 0, "i"], - [4034, 0, "n"], - [4035, 0, "f"], - [4036, 0, "e"], - [4037, 0, "r"], - [4038, 0, "e"], - [4039, 0, "n"], - [4040, 0, "c"], - [4041, 0, "e"], - [4042, 0, "["], - [4043, 0, "i"], - [4044, 0, "n"], - [4045, 0, "s"], - [4046, 0, "e"], - [4047, 0, "r"], - [4048, 0, "t"], - [4048, 1], - [4047, 1], - [4046, 1], - [4045, 1], - [4044, 1], - [4043, 1], - [4043, 0, "I"], - [4044, 0, "n"], - [4045, 0, "s"], - [4046, 0, "e"], - [4047, 0, "r"], - [4048, 0, "t"], - [4049, 0, "]"], - [4030, 1], - [4029, 1], - [4028, 1], - [4027, 1], - [4026, 1], - [4025, 1], - [4024, 1], - [4023, 1], - [4022, 1], - [4021, 1], - [4020, 1], - [4019, 1], - [4018, 1], - [4017, 1], - [4016, 1], - [4015, 1], - [4014, 1], - [4013, 1], - [4012, 1], - [4031, 0, "{"], - [4032, 0, "\n"], - [4033, 0, " "], - [4034, 0, " "], - [4035, 0, " "], - [4036, 0, " "], - [4037, 0, "\\"], - [4038, 0, "e"], - [4039, 0, "x"], - [4040, 0, "i"], - [4041, 0, "s"], - [4042, 0, "t"], - [4043, 0, "s"], - [4044, 0, " "], - [390, 0, "\n"], - [391, 0, "\\"], - [392, 0, "r"], - [393, 0, "e"], - [394, 0, "n"], - [395, 0, "e"], - [396, 0, "w"], - [397, 0, "c"], - [398, 0, "o"], - [399, 0, "m"], - [400, 0, "m"], - [401, 0, "a"], - [402, 0, "n"], - [403, 0, "d"], - [404, 0, "{"], - [405, 0, "\\"], - [406, 0, "p"], - [407, 0, "r"], - [408, 0, "e"], - [409, 0, "d"], - [410, 0, "i"], - [411, 0, "a"], - [412, 0, "t"], - [413, 0, "e"], - [414, 0, "}"], - [415, 0, "["], - [416, 0, "1"], - [417, 0, "]"], - [418, 0, "{"], - [419, 0, "$"], - [420, 0, " "], - [421, 0, "#"], - [422, 0, "1"], - [423, 0, " "], - [424, 0, "$"], - [425, 0, "}"], - [426, 0, "\n"], - [390, 0, "\n"], - [391, 0, "$"], - [392, 0, " "], - [392, 1], - [391, 1], - [391, 0, "%"], - [392, 0, " "], - [393, 0, "F"], - [394, 0, "o"], - [395, 0, "r"], - [396, 0, " "], - [397, 0, "s"], - [398, 0, "e"], - [399, 0, "m"], - [400, 0, "a"], - [401, 0, "n"], - [402, 0, "t"], - [403, 0, "i"], - [404, 0, "c"], - [405, 0, " "], - [406, 0, "p"], - [407, 0, "a"], - [408, 0, "c"], - [409, 0, "k"], - [410, 0, "a"], - [411, 0, "g"], - [412, 0, "e"], - [413, 0, ","], - [414, 0, " "], - [415, 0, "u"], - [416, 0, "s"], - [417, 0, "e"], - [418, 0, " "], - [419, 0, "m"], - [420, 0, "a"], - [421, 0, "t"], - [422, 0, "h"], - [423, 0, " "], - [424, 0, "m"], - [425, 0, "o"], - [426, 0, "d"], - [427, 0, "e"], - [428, 0, " "], - [429, 0, "f"], - [430, 0, "o"], - [431, 0, "r"], - [432, 0, " "], - [433, 0, "a"], - [434, 0, "l"], - [435, 0, "l"], - [436, 0, " "], - [437, 0, "p"], - [438, 0, "r"], - [439, 0, "e"], - [440, 0, "m"], - [441, 0, "i"], - [442, 0, "s"], - [443, 0, "e"], - [444, 0, "s"], - [445, 0, " "], - [445, 1], - [444, 1], - [443, 1], - [442, 1], - [441, 1], - [440, 1], - [439, 1], - [438, 1], - [437, 1], - [436, 1], - [435, 1], - [434, 1], - [433, 1], - [432, 1], - [431, 1], - [430, 1], - [429, 1], - [428, 1], - [428, 0, " "], - [429, 0, "w"], - [430, 0, "i"], - [431, 0, "t"], - [432, 0, "h"], - [433, 0, "i"], - [434, 0, "n"], - [435, 0, " "], - [436, 0, "i"], - [437, 0, "n"], - [438, 0, "f"], - [439, 0, "e"], - [440, 0, "r"], - [441, 0, "e"], - [442, 0, "n"], - [443, 0, "c"], - [444, 0, "e"], - [445, 0, " "], - [446, 0, "r"], - [447, 0, "u"], - [448, 0, "l"], - [449, 0, "e"], - [450, 0, "s"], - [472, 0, "c"], - [4144, 0, "v"], - [4145, 0, "P"], - [4145, 1], - [4145, 0, "_"], - [4146, 0, "p"], - [4147, 0, ","], - [4148, 0, " "], - [4149, 0, "\\"], - [4150, 0, "m"], - [4151, 0, "a"], - [4152, 0, "t"], - [4153, 0, "h"], - [4154, 0, "i"], - [4155, 0, "t"], - [4156, 0, "{"], - [4157, 0, "n"], - [4158, 0, "e"], - [4159, 0, "x"], - [4160, 0, "t"], - [4161, 0, "}"], - [4162, 0, "."], - [4163, 0, " "], - [4164, 0, "A"], - [4165, 0, "("], - [4166, 0, "\\"], - [4167, 0, "m"], - [4168, 0, "a"], - [4169, 0, "t"], - [4170, 0, "h"], - [4171, 0, "i"], - [4172, 0, "t"], - [4173, 0, "{"], - [4174, 0, "p"], - [4175, 0, "r"], - [4176, 0, "e"], - [4177, 0, "v"], - [4178, 0, "}"], - [4179, 0, ")"], - [4180, 0, " "], - [4181, 0, "="], - [4182, 0, " "], - [4183, 0, "("], - [4184, 0, "v"], - [4185, 0, "_"], - [4186, 0, "p"], - [4187, 0, ","], - [4188, 0, " "], - [4189, 0, "\\"], - [4190, 0, "n"], - [4190, 1], - [4190, 0, "m"], - [4191, 0, "a"], - [4192, 0, "t"], - [4193, 0, "h"], - [4194, 0, "i"], - [4195, 0, "t"], - [4196, 0, "{"], - [4197, 0, "n"], - [4198, 0, "e"], - [4199, 0, "x"], - [4200, 0, "t"], - [4201, 0, "}"], - [4202, 0, ")"], - [4203, 0, " "], - [4204, 0, "&"], - [4205, 0, " "], - [4206, 0, "\\"], - [4207, 0, "m"], - [4208, 0, "a"], - [4209, 0, "t"], - [4210, 0, "h"], - [4211, 0, "i"], - [4212, 0, "t"], - [4213, 0, "{"], - [4214, 0, "i"], - [4215, 0, "d"], - [4216, 0, "}"], - [4217, 0, " "], - [4218, 0, "<"], - [4219, 0, " "], - [4220, 0, "\\"], - [4221, 0, "m"], - [4222, 0, "a"], - [4223, 0, "t"], - [4224, 0, "h"], - [4225, 0, "i"], - [4226, 0, "t"], - [4227, 0, "{"], - [4228, 0, "n"], - [4229, 0, "e"], - [4230, 0, "x"], - [4231, 0, "t"], - [4232, 0, "}"], - [4233, 0, "\n"], - [4234, 0, "}"], - [4235, 0, "{"], - [4236, 0, "\n"], - [4237, 0, " "], - [4238, 0, " "], - [4239, 0, " "], - [4240, 0, " "], - [4241, 0, "A"], - [4242, 0, ","], - [4243, 0, " "], - [4244, 0, "\\"], - [4245, 0, "m"], - [4246, 0, "a"], - [4247, 0, "t"], - [4248, 0, "h"], - [4249, 0, "r"], - [4250, 0, "m"], - [4251, 0, "{"], - [4252, 0, "a"], - [4253, 0, "p"], - [4254, 0, "p"], - [4255, 0, "l"], - [4256, 0, "y"], - [4257, 0, "}"], - [4258, 0, "("], - [4258, 1], - [4257, 1], - [4256, 1], - [4255, 1], - [4254, 1], - [4253, 1], - [4252, 1], - [4251, 1], - [4250, 1], - [4249, 1], - [4248, 1], - [4247, 1], - [4246, 1], - [4245, 1], - [4244, 1], - [4244, 0, "\\"], - [4245, 0, "m"], - [4246, 0, "a"], - [4247, 0, "t"], - [4248, 0, "h"], - [4249, 0, "s"], - [4250, 0, "f"], - [4251, 0, "{"], - [4252, 0, "i"], - [4253, 0, "n"], - [4254, 0, "s"], - [4255, 0, "e"], - [4256, 0, "r"], - [4257, 0, "t"], - [4258, 0, "}"], - [4259, 0, "("], - [4260, 0, "\\"], - [4261, 0, "m"], - [4262, 0, "a"], - [4263, 0, "t"], - [4264, 0, "h"], - [4265, 0, "i"], - [4266, 0, "t"], - [4267, 0, "{"], - [4268, 0, "i"], - [4269, 0, "d"], - [4270, 0, "}"], - [4271, 0, ","], - [4272, 0, " "], - [4273, 0, "\\"], - [4274, 0, "m"], - [4275, 0, "a"], - [4276, 0, "t"], - [4277, 0, "h"], - [4278, 0, "i"], - [4279, 0, "t"], - [4280, 0, "{"], - [4281, 0, "p"], - [4282, 0, "r"], - [4283, 0, "e"], - [4284, 0, "v"], - [4285, 0, "}"], - [4286, 0, ","], - [4287, 0, " "], - [4288, 0, "v"], - [4289, 0, ")"], - [4290, 0, " "], - [4291, 0, "="], - [4292, 0, "="], - [4293, 0, ">"], - [4294, 0, " "], - [4295, 0, "A"], - [4296, 0, "'"], - [4233, 0, " "], - [4234, 0, "&"], - [4235, 0, "\n"], - [4236, 0, " "], - [4237, 0, " "], - [4238, 0, " "], - [4239, 0, " "], - [4240, 0, "A"], - [4241, 0, ","], - [4242, 0, " "], - [4243, 0, "\\"], - [4244, 0, "m"], - [4245, 0, "a"], - [4246, 0, "t"], - [4247, 0, "h"], - [4248, 0, "s"], - [4249, 0, "f"], - [4250, 0, "{"], - [4251, 0, "i"], - [4252, 0, "n"], - [4253, 0, "s"], - [4254, 0, "e"], - [4255, 0, "r"], - [4256, 0, "t"], - [4257, 0, "}"], - [4258, 0, "("], - [4259, 0, "\\"], - [4260, 0, "m"], - [4261, 0, "a"], - [4262, 0, "t"], - [4263, 0, "h"], - [4264, 0, "i"], - [4265, 0, "t"], - [4266, 0, "{"], - [4267, 0, "i"], - [4268, 0, "d"], - [4269, 0, "}"], - [4270, 0, ","], - [4271, 0, " "], - [4272, 0, "\\"], - [4273, 0, "m"], - [4274, 0, "a"], - [4275, 0, "t"], - [4276, 0, "h"], - [4277, 0, "i"], - [4278, 0, "t"], - [4279, 0, "{"], - [4280, 0, "n"], - [4281, 0, "e"], - [4282, 0, "x"], - [4283, 0, "t"], - [4284, 0, "}"], - [4285, 0, ","], - [4286, 0, " "], - [4287, 0, "v"], - [4288, 0, ")"], - [4289, 0, " "], - [4290, 0, "="], - [4291, 0, "="], - [4292, 0, ">"], - [4293, 0, " "], - [4294, 0, "A"], - [4295, 0, "'"], - [4360, 0, "\n"], - [4361, 0, "}"], - [4163, 0, "\\"], - [4164, 0, ";"], - [4164, 1], - [4163, 1], - [4162, 1], - [4162, 0, " "], - [4163, 0, "\\"], - [4164, 0, "m"], - [4165, 0, "a"], - [4166, 0, "t"], - [4167, 0, "h"], - [4168, 0, "b"], - [4169, 0, "i"], - [4170, 0, "n"], - [4171, 0, "{"], - [4172, 0, ":"], - [4173, 0, "}"], - [4303, 1], - [4302, 1], - [4301, 1], - [4300, 1], - [4300, 0, " "], - [4301, 0, "\\"], - [4302, 0, "e"], - [4303, 0, "v"], - [4304, 0, "a"], - [4305, 0, "l"], - [4306, 0, "t"], - [4307, 0, "o"], - [4371, 1], - [4370, 1], - [4369, 1], - [4368, 1], - [4368, 0, " "], - [4369, 0, "\\"], - [4370, 0, "e"], - [4371, 0, "v"], - [4372, 0, "a"], - [4373, 0, "l"], - [4374, 0, "t"], - [4375, 0, "o"], - [572, 0, "{"], - [585, 0, "}"], - [488, 0, "\n"], - [489, 0, "\n"], - [490, 0, "\\"], - [491, 0, "n"], - [492, 0, "e"], - [493, 0, "w"], - [494, 0, "c"], - [495, 0, "o"], - [496, 0, "m"], - [497, 0, "m"], - [498, 0, "a"], - [499, 0, "n"], - [500, 0, "d"], - [501, 0, "{"], - [502, 0, "\\"], - [503, 0, "e"], - [504, 0, "v"], - [505, 0, "a"], - [506, 0, "l"], - [507, 0, "t"], - [508, 0, "o"], - [509, 0, "}"], - [510, 0, "{"], - [511, 0, "\\"], - [512, 0, "q"], - [513, 0, "u"], - [514, 0, "a"], - [515, 0, "d"], - [516, 0, "\\"], - [517, 0, "L"], - [518, 0, "o"], - [519, 0, "n"], - [520, 0, "g"], - [521, 0, "r"], - [522, 0, "i"], - [523, 0, "g"], - [524, 0, "h"], - [525, 0, "t"], - [526, 0, "a"], - [527, 0, "r"], - [528, 0, "r"], - [529, 0, "o"], - [530, 0, "w"], - [531, 0, "\\"], - [532, 0, "q"], - [533, 0, "u"], - [534, 0, "a"], - [535, 0, "d"], - [536, 0, "}"], - [515, 1], - [514, 1], - [513, 1], - [512, 1], - [512, 0, ";"], - [529, 1], - [529, 1], - [529, 1], - [529, 1], - [529, 0, ";"], - [452, 0, "%"], - [488, 1], - [487, 1], - [486, 1], - [485, 1], - [484, 1], - [483, 1], - [482, 1], - [481, 1], - [480, 1], - [479, 1], - [478, 1], - [477, 1], - [476, 1], - [475, 1], - [474, 1], - [473, 1], - [472, 1], - [471, 1], - [470, 1], - [469, 1], - [468, 1], - [467, 1], - [466, 1], - [465, 1], - [464, 1], - [463, 1], - [462, 1], - [461, 1], - [460, 1], - [459, 1], - [458, 1], - [457, 1], - [456, 1], - [455, 1], - [454, 1], - [453, 1], - [452, 1], - [451, 1], - [450, 1], - [449, 1], - [448, 1], - [447, 1], - [446, 1], - [445, 1], - [444, 1], - [443, 1], - [442, 1], - [441, 1], - [440, 1], - [439, 1], - [438, 1], - [437, 1], - [436, 1], - [435, 1], - [434, 1], - [433, 1], - [432, 1], - [431, 1], - [430, 1], - [429, 1], - [428, 1], - [427, 1], - [426, 1], - [425, 1], - [424, 1], - [423, 1], - [422, 1], - [421, 1], - [420, 1], - [419, 1], - [418, 1], - [417, 1], - [416, 1], - [415, 1], - [414, 1], - [413, 1], - [412, 1], - [411, 1], - [410, 1], - [409, 1], - [408, 1], - [407, 1], - [406, 1], - [405, 1], - [404, 1], - [403, 1], - [402, 1], - [401, 1], - [400, 1], - [399, 1], - [398, 1], - [397, 1], - [396, 1], - [395, 1], - [394, 1], - [393, 1], - [392, 1], - [391, 1], - [390, 1], - [389, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 0, "m"], - [182, 0, "a"], - [183, 0, "t"], - [184, 0, "h"], - [185, 0, "p"], - [186, 0, "a"], - [187, 0, "r"], - [188, 0, "t"], - [189, 0, "i"], - [190, 0, "t"], - [190, 1], - [190, 0, "r"], - [4069, 1], - [4068, 1], - [4067, 1], - [4066, 1], - [4066, 0, "r"], - [4067, 0, "u"], - [4068, 0, "l"], - [4069, 0, "e"], - [4163, 1], - [4163, 0, "\\"], - [4164, 0, "\\"], - [4165, 0, "\n"], - [4166, 0, " "], - [4167, 0, " "], - [4168, 0, " "], - [4169, 0, " "], - [4169, 1], - [4198, 1], - [4198, 0, "\\"], - [4199, 0, "\\"], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 1], - [181, 0, "b"], - [182, 0, "u"], - [183, 0, "s"], - [184, 0, "s"], - [185, 0, "p"], - [186, 0, "r"], - [187, 0, "o"], - [188, 0, "o"], - [189, 0, "f"], - [190, 0, "s"], - [191, 0, "q"], - [191, 1], - [4044, 0, "\n"], - [4044, 1], - [4060, 0, "\n"], - [4060, 0, "\\"], - [4061, 0, "b"], - [4062, 0, "e"], - [4063, 0, "g"], - [4064, 0, "i"], - [4065, 0, "n"], - [4066, 0, "{"], - [4067, 0, "p"], - [4068, 0, "r"], - [4069, 0, "o"], - [4070, 0, "o"], - [4071, 0, "f"], - [4072, 0, "t"], - [4073, 0, "r"], - [4074, 0, "e"], - [4075, 0, "e"], - [4076, 0, "}"], - [4096, 1], - [4095, 1], - [4094, 1], - [4093, 1], - [4092, 1], - [4091, 1], - [4090, 1], - [4089, 1], - [4088, 1], - [4087, 1], - [4086, 1], - [4085, 1], - [4084, 1], - [4083, 1], - [4082, 1], - [4081, 1], - [4080, 1], - [4079, 1], - [4078, 1], - [4078, 1], - [4078, 1], - [4078, 1], - [4078, 1], - [4078, 1], - [4078, 0, " "], - [4079, 0, " "], - [4080, 0, " "], - [4081, 0, " "], - [4082, 0, "\\"], - [4083, 0, "A"], - [4084, 0, "x"], - [4085, 0, "i"], - [4086, 0, "o"], - [4087, 0, "m"], - [4088, 0, "C"], - [4089, 0, "{"], - [4090, 0, "$"], - [4171, 1], - [4170, 1], - [4169, 1], - [4169, 0, "}"], - [4175, 0, "\\"], - [4176, 0, "A"], - [4177, 0, "x"], - [4178, 0, "i"], - [4179, 0, "o"], - [4180, 0, "m"], - [4181, 0, "C"], - [4182, 0, "{"], - [4212, 1], - [4211, 1], - [4210, 1], - [4210, 0, "}"], - [4216, 0, "\\"], - [4217, 0, "A"], - [4218, 0, "x"], - [4219, 0, "i"], - [4220, 0, "o"], - [4221, 0, "m"], - [4222, 0, "C"], - [4223, 0, "{"], - [4284, 0, "}"], - [4284, 0, "$"], - [4224, 0, "$"], - [4183, 0, "$"], - [4211, 0, "$"], - [4291, 1], - [4290, 1], - [4290, 0, " "], - [4291, 0, " "], - [4292, 0, " "], - [4293, 0, " "], - [4294, 0, "\\"], - [4295, 0, "T"], - [4296, 0, "r"], - [4297, 0, "i"], - [4298, 0, "n"], - [4299, 0, "a"], - [4300, 0, "r"], - [4301, 0, "y"], - [4302, 0, "I"], - [4303, 0, "n"], - [4304, 0, "f"], - [4305, 0, "C"], - [4306, 0, "{"], - [4307, 1], - [4307, 1], - [4307, 1], - [4307, 1], - [4307, 1], - [4307, 0, "$"], - [4368, 0, "$"], - [4369, 0, "}"], - [4371, 1], - [4371, 0, "\\"], - [4372, 0, "e"], - [4373, 0, "n"], - [4374, 0, "d"], - [4375, 0, "{"], - [4376, 0, "p"], - [4377, 0, "r"], - [4378, 0, "o"], - [4379, 0, "o"], - [4380, 0, "f"], - [4381, 0, "t"], - [4382, 0, "r"], - [4383, 0, "e"], - [4384, 0, "e"], - [4385, 0, "}"], - [4169, 0, "$"], - [4128, 1], - [4127, 1], - [4126, 1], - [4125, 1], - [4124, 1], - [4123, 1], - [4122, 1], - [4121, 1], - [4120, 1], - [4119, 1], - [4118, 1], - [4117, 1], - [4117, 0, "."], - [4118, 0, "\\"], - [4119, 0, ";"], - [4281, 0, "\n"], - [4282, 0, " "], - [4283, 0, " "], - [4284, 0, " "], - [4285, 0, " "], - [4286, 0, "\\"], - [4287, 0, "L"], - [4288, 0, "e"], - [4289, 0, "f"], - [4290, 0, "t"], - [4291, 0, "L"], - [4292, 0, "a"], - [4293, 0, "b"], - [4294, 0, "e"], - [4295, 0, "l"], - [4296, 0, "{"], - [4297, 0, "\\"], - [4298, 0, "t"], - [4299, 0, "e"], - [4300, 0, "x"], - [4301, 0, "t"], - [4302, 0, "s"], - [4303, 0, "c"], - [4304, 0, "{"], - [4305, 0, "I"], - [4306, 0, "n"], - [4307, 0, "s"], - [4308, 0, "e"], - [4309, 0, "r"], - [4310, 0, "t"], - [4311, 0, "}"], - [4312, 0, "}"], - [4059, 0, "\n"], - [4060, 0, "\\"], - [4061, 0, "b"], - [4062, 0, "e"], - [4063, 0, "g"], - [4064, 0, "i"], - [4065, 0, "n"], - [4066, 0, "{"], - [4067, 0, "p"], - [4068, 0, "r"], - [4069, 0, "o"], - [4070, 0, "o"], - [4071, 0, "f"], - [4072, 0, "t"], - [4073, 0, "r"], - [4074, 0, "e"], - [4075, 0, "e"], - [4076, 0, "}"], - [4077, 0, "\n"], - [4078, 0, "}"], - [4078, 1], - [4078, 0, "\\"], - [4079, 0, "e"], - [4080, 0, "n"], - [4081, 0, "d"], - [4082, 0, "{"], - [4083, 0, "p"], - [4084, 0, "r"], - [4085, 0, "o"], - [4086, 0, "o"], - [4087, 0, "f"], - [4088, 0, "t"], - [4089, 0, "r"], - [4090, 0, "e"], - [4091, 0, "e"], - [4092, 0, "}"], - [4093, 0, "\n"], - [4077, 0, "\n"], - [4078, 0, " "], - [4079, 0, " "], - [4080, 0, " "], - [4081, 0, " "], - [4082, 0, "\\"], - [4083, 0, "A"], - [4084, 0, "x"], - [4085, 0, "i"], - [4086, 0, "o"], - [4087, 0, "m"], - [4088, 0, "C"], - [4089, 0, "{"], - [4090, 0, "$"], - [4091, 0, "\\"], - [4092, 0, "e"], - [4093, 0, "x"], - [4094, 0, "i"], - [4095, 0, "s"], - [4096, 0, "t"], - [4097, 0, "s"], - [4098, 0, " "], - [4099, 0, "v"], - [4100, 0, "_"], - [4101, 0, "p"], - [4102, 0, ","], - [4103, 0, " "], - [4104, 0, "\\"], - [4105, 0, "m"], - [4106, 0, "a"], - [4107, 0, "t"], - [4108, 0, "h"], - [4109, 0, "i"], - [4110, 0, "t"], - [4111, 0, "{"], - [4112, 0, "n"], - [4113, 0, "e"], - [4114, 0, "x"], - [4115, 0, "t"], - [4116, 0, "}"], - [4117, 0, "."], - [4118, 0, "\\"], - [4119, 0, ";"], - [4120, 0, " "], - [4121, 0, "A"], - [4122, 0, "("], - [4123, 0, "\\"], - [4124, 0, "m"], - [4125, 0, "a"], - [4126, 0, "t"], - [4127, 0, "h"], - [4128, 0, "i"], - [4129, 0, "t"], - [4130, 0, "{"], - [4131, 0, "p"], - [4132, 0, "r"], - [4133, 0, "e"], - [4134, 0, "v"], - [4135, 0, "}"], - [4136, 0, ")"], - [4137, 0, " "], - [4138, 0, "="], - [4139, 0, " "], - [4140, 0, "("], - [4141, 0, "v"], - [4142, 0, "_"], - [4143, 0, "p"], - [4144, 0, ","], - [4145, 0, " "], - [4146, 0, "\\"], - [4147, 0, "m"], - [4148, 0, "a"], - [4149, 0, "t"], - [4150, 0, "h"], - [4151, 0, "i"], - [4152, 0, "t"], - [4153, 0, "{"], - [4154, 0, "n"], - [4155, 0, "e"], - [4156, 0, "x"], - [4157, 0, "t"], - [4158, 0, "}"], - [4159, 0, ")"], - [4160, 0, "$"], - [4161, 0, "}"], - [4162, 0, "\n"], - [4163, 0, " "], - [4164, 0, " "], - [4165, 0, " "], - [4166, 0, " "], - [4167, 0, "\\"], - [4168, 0, "A"], - [4169, 0, "x"], - [4170, 0, "i"], - [4171, 0, "o"], - [4172, 0, "m"], - [4173, 0, "C"], - [4174, 0, "{"], - [4175, 0, "$"], - [4176, 0, "\\"], - [4177, 0, "m"], - [4178, 0, "a"], - [4179, 0, "t"], - [4180, 0, "h"], - [4181, 0, "i"], - [4182, 0, "t"], - [4183, 0, "{"], - [4184, 0, "n"], - [4185, 0, "e"], - [4186, 0, "x"], - [4187, 0, "t"], - [4188, 0, "}"], - [4189, 0, " "], - [4190, 0, "<"], - [4191, 0, " "], - [4192, 0, "\\"], - [4193, 0, "m"], - [4194, 0, "a"], - [4195, 0, "t"], - [4196, 0, "h"], - [4197, 0, "i"], - [4198, 0, "t"], - [4199, 0, "{"], - [4200, 0, "i"], - [4201, 0, "d"], - [4202, 0, "}"], - [4203, 0, "$"], - [4204, 0, "}"], - [4205, 0, "\n"], - [4206, 0, " "], - [4207, 0, " "], - [4208, 0, " "], - [4209, 0, " "], - [4210, 0, "\\"], - [4211, 0, "L"], - [4212, 0, "e"], - [4213, 0, "f"], - [4214, 0, "t"], - [4215, 0, "L"], - [4216, 0, "a"], - [4217, 0, "b"], - [4218, 0, "e"], - [4219, 0, "l"], - [4220, 0, "{"], - [4221, 0, "\\"], - [4221, 0, "$"], - [4223, 0, "m"], - [4224, 0, "a"], - [4225, 0, "t"], - [4226, 0, "h"], - [4227, 0, "s"], - [4228, 0, "c"], - [4229, 0, "{"], - [4230, 0, "I"], - [4231, 0, "n"], - [4232, 0, "s"], - [4233, 0, "}"], - [4234, 0, "_"], - [4235, 0, "1"], - [4236, 0, "$"], - [4237, 0, "}"], - [4238, 0, "\n"], - [4239, 0, " "], - [4240, 0, " "], - [4241, 0, " "], - [4242, 0, " "], - [4243, 0, "\\"], - [4244, 0, "B"], - [4245, 0, "i"], - [4246, 0, "n"], - [4247, 0, "a"], - [4248, 0, "r"], - [4249, 0, "y"], - [4250, 0, "I"], - [4251, 0, "n"], - [4252, 0, "f"], - [4253, 0, "C"], - [4254, 0, "{"], - [4255, 0, "$"], - [4256, 0, "A"], - [4257, 0, ","], - [4258, 0, " "], - [4259, 0, "\\"], - [4260, 0, "m"], - [4261, 0, "a"], - [4262, 0, "t"], - [4263, 0, "h"], - [4264, 0, "s"], - [4265, 0, "f"], - [4266, 0, "{"], - [4267, 0, "i"], - [4268, 0, "n"], - [4269, 0, "s"], - [4270, 0, "e"], - [4271, 0, "r"], - [4272, 0, "t"], - [4273, 0, "}"], - [4274, 0, "("], - [4275, 0, "\\"], - [4276, 0, "m"], - [4277, 0, "a"], - [4278, 0, "t"], - [4279, 0, "h"], - [4280, 0, "i"], - [4281, 0, "t"], - [4282, 0, "{"], - [4283, 0, "i"], - [4284, 0, "d"], - [4285, 0, "}"], - [4286, 0, ","], - [4287, 0, " "], - [4288, 0, "\\"], - [4289, 0, "m"], - [4290, 0, "a"], - [4291, 0, "t"], - [4292, 0, "h"], - [4293, 0, "i"], - [4294, 0, "t"], - [4295, 0, "{"], - [4296, 0, "p"], - [4297, 0, "r"], - [4298, 0, "e"], - [4299, 0, "v"], - [4300, 0, "}"], - [4301, 0, ","], - [4302, 0, " "], - [4303, 0, "v"], - [4304, 0, ")"], - [4305, 0, " "], - [4306, 0, "\\"], - [4307, 0, "e"], - [4308, 0, "v"], - [4309, 0, "a"], - [4310, 0, "l"], - [4311, 0, "t"], - [4312, 0, "o"], - [4313, 0, " "], - [4313, 1], - [4313, 0, "\n"], - [4314, 0, " "], - [4315, 0, " "], - [4316, 0, " "], - [4317, 0, " "], - [4318, 0, " "], - [4319, 0, " "], - [4320, 0, " "], - [4321, 0, " "], - [4577, 0, "$"], - [4582, 1], - [4581, 1], - [4580, 1], - [4579, 1], - [4579, 0, "m"], - [4580, 0, "a"], - [4581, 0, "t"], - [4582, 0, "h"], - [4591, 1], - [4590, 1], - [4589, 1], - [4590, 0, "_"], - [4591, 0, "2"], - [4592, 0, "$"], - [4322, 0, "A"], - [4323, 0, "["], - [4324, 0, "\\"], - [4325, 0, ","], - [4326, 0, "\\"], - [4327, 0, "m"], - [4328, 0, "a"], - [4329, 0, "t"], - [4330, 0, "h"], - [4331, 0, "i"], - [4332, 0, "t"], - [4333, 0, "{"], - [4334, 0, "p"], - [4335, 0, "r"], - [4336, 0, "e"], - [4337, 0, "v"], - [4338, 0, "}"], - [4339, 0, " "], - [4340, 0, "\\"], - [4341, 0, "m"], - [4342, 0, "a"], - [4343, 0, "p"], - [4344, 0, "s"], - [4345, 0, "t"], - [4346, 0, "o"], - [4347, 0, " "], - [4348, 0, "("], - [4349, 0, "v"], - [4350, 0, "_"], - [4351, 0, "p"], - [4352, 0, ","], - [4353, 0, " "], - [4354, 0, "\\"], - [4355, 0, "m"], - [4356, 0, "a"], - [4357, 0, "t"], - [4358, 0, "h"], - [4359, 0, "i"], - [4360, 0, "t"], - [4361, 0, "{"], - [4362, 0, "i"], - [4363, 0, "d"], - [4364, 0, "}"], - [4365, 0, ")"], - [4366, 0, ","], - [4367, 0, "\\"], - [4368, 0, ";"], - [4369, 0, " "], - [4370, 0, "\\"], - [4371, 0, "m"], - [4372, 0, "a"], - [4373, 0, "t"], - [4374, 0, "h"], - [4375, 0, "i"], - [4376, 0, "t"], - [4377, 0, "{"], - [4378, 0, "i"], - [4379, 0, "d"], - [4380, 0, "}"], - [4381, 0, " "], - [4382, 0, "\\"], - [4383, 0, "m"], - [4384, 0, "a"], - [4385, 0, "p"], - [4386, 0, "s"], - [4387, 0, "t"], - [4388, 0, "o"], - [4389, 0, " "], - [4390, 0, "("], - [4391, 0, "v"], - [4392, 0, ","], - [4393, 0, " "], - [4394, 0, "\\"], - [4395, 0, "m"], - [4396, 0, "a"], - [4397, 0, "t"], - [4398, 0, "h"], - [4399, 0, "i"], - [4400, 0, "t"], - [4401, 0, "{"], - [4402, 0, "n"], - [4403, 0, "e"], - [4404, 0, "x"], - [4405, 0, "t"], - [4406, 0, "}"], - [4407, 0, ")"], - [4408, 0, "\\"], - [4409, 0, ","], - [4410, 0, "]"], - [4411, 0, "}"], - [4226, 1], - [4225, 1], - [4224, 1], - [4223, 1], - [4223, 0, "t"], - [4224, 0, "e"], - [4225, 0, "x"], - [4226, 0, "t"], - [4672, 1], - [4671, 1], - [4670, 1], - [4669, 1], - [4669, 0, "t"], - [4670, 0, "e"], - [4671, 0, "x"], - [4672, 0, "t"], - [4411, 0, "$"], - [4491, 1], - [4490, 1], - [4489, 1], - [4488, 1], - [4487, 1], - [4486, 1], - [4485, 1], - [4484, 1], - [4483, 1], - [4482, 1], - [4481, 1], - [4480, 1], - [4479, 1], - [4478, 1], - [4477, 1], - [4476, 1], - [4475, 1], - [4474, 1], - [4473, 1], - [4472, 1], - [4471, 1], - [4470, 1], - [4469, 1], - [4468, 1], - [4467, 1], - [4466, 1], - [4465, 1], - [4464, 1], - [4463, 1], - [4462, 1], - [4120, 1], - [4119, 1], - [4118, 1], - [4117, 1], - [4116, 1], - [4115, 1], - [4114, 1], - [4113, 1], - [4112, 1], - [4111, 1], - [4110, 1], - [4109, 1], - [4108, 1], - [4107, 1], - [4106, 1], - [4105, 1], - [4104, 1], - [4103, 1], - [4102, 1], - [4101, 1], - [4100, 1], - [4099, 1], - [4098, 1], - [4097, 1], - [4096, 1], - [4095, 1], - [4094, 1], - [4093, 1], - [4092, 1], - [4091, 1], - [4200, 0, "A"], - [4201, 0, "p"], - [4202, 0, "p"], - [4203, 0, "l"], - [4204, 0, "y"], - [4205, 0, "-"], - [4623, 0, "A"], - [4624, 0, "p"], - [4625, 0, "p"], - [4626, 0, "l"], - [4627, 0, "y"], - [4628, 0, "-"], - [4734, 0, "\n"], - [4735, 0, "\n"], - [4736, 0, "\\"], - [4737, 0, "b"], - [4738, 0, "e"], - [4739, 0, "g"], - [4740, 0, "i"], - [4741, 0, "n"], - [4742, 0, "{"], - [4743, 0, "p"], - [4744, 0, "r"], - [4745, 0, "o"], - [4746, 0, "o"], - [4747, 0, "f"], - [4748, 0, "t"], - [4749, 0, "r"], - [4750, 0, "e"], - [4751, 0, "e"], - [4752, 0, "}"], - [4753, 0, "\n"], - [4754, 0, "\\"], - [4755, 0, "e"], - [4756, 0, "n"], - [4757, 0, "d"], - [4758, 0, "{"], - [4759, 0, "p"], - [4760, 0, "r"], - [4761, 0, "o"], - [4762, 0, "o"], - [4763, 0, "f"], - [4764, 0, "t"], - [4765, 0, "r"], - [4766, 0, "e"], - [4767, 0, "e"], - [4768, 0, "}"], - [4753, 0, "\n"], - [4754, 0, " "], - [4755, 0, " "], - [4756, 0, " "], - [4757, 0, " "], - [4758, 0, "\\"], - [4759, 0, "A"], - [4760, 0, "x"], - [4761, 0, "i"], - [4762, 0, "o"], - [4763, 0, "m"], - [4764, 0, "C"], - [4765, 0, "{"], - [4766, 0, "$"], - [4767, 0, "A"], - [4768, 0, "("], - [4769, 0, "\\"], - [4770, 0, "m"], - [4771, 0, "a"], - [4772, 0, "t"], - [4773, 0, "h"], - [4774, 0, "i"], - [4775, 0, "t"], - [4776, 0, "{"], - [4777, 0, "t"], - [4778, 0, "a"], - [4779, 0, "r"], - [4780, 0, "g"], - [4781, 0, "e"], - [4782, 0, "t"], - [4783, 0, "}"], - [4784, 0, ")"], - [4785, 0, " "], - [4786, 0, "="], - [4787, 0, " "], - [4788, 0, "("], - [4789, 0, "v"], - [4790, 0, ","], - [4791, 0, " "], - [4792, 0, "\\"], - [4793, 0, "m"], - [4794, 0, "a"], - [4795, 0, "t"], - [4796, 0, "h"], - [4797, 0, "i"], - [4798, 0, "t"], - [4799, 0, "{"], - [4800, 0, "n"], - [4801, 0, "e"], - [4802, 0, "x"], - [4803, 0, "t"], - [4804, 0, "}"], - [4805, 0, ")"], - [4806, 0, "$"], - [4807, 0, "}"], - [4808, 0, "\n"], - [4809, 0, " "], - [4810, 0, " "], - [4811, 0, " "], - [4812, 0, " "], - [4813, 0, "\\"], - [4814, 0, "L"], - [4815, 0, "e"], - [4816, 0, "f"], - [4817, 0, "t"], - [4818, 0, "L"], - [4819, 0, "a"], - [4820, 0, "b"], - [4821, 0, "e"], - [4822, 0, "l"], - [4823, 0, "{"], - [4824, 0, "$"], - [4825, 0, "\\"], - [4826, 0, "t"], - [4827, 0, "e"], - [4828, 0, "x"], - [4829, 0, "t"], - [4830, 0, "s"], - [4831, 0, "c"], - [4832, 0, "{"], - [4833, 0, "A"], - [4834, 0, "p"], - [4835, 0, "p"], - [4836, 0, "l"], - [4837, 0, "y"], - [4838, 0, "-"], - [4839, 0, "D"], - [4840, 0, "e"], - [4841, 0, "l"], - [4842, 0, "}"], - [4843, 0, "$"], - [4843, 1], - [4824, 1], - [4842, 0, "}"], - [4843, 0, "\n"], - [4844, 0, " "], - [4845, 0, " "], - [4846, 0, " "], - [4847, 0, " "], - [4848, 0, "\\"], - [4849, 0, "U"], - [4850, 0, "n"], - [4851, 0, "a"], - [4852, 0, "r"], - [4853, 0, "y"], - [4854, 0, "I"], - [4855, 0, "n"], - [4856, 0, "f"], - [4857, 0, "C"], - [4858, 0, "{"], - [4859, 0, "$"], - [4860, 0, "A"], - [4861, 0, ","], - [4862, 0, " "], - [4863, 0, "\\"], - [4864, 0, "a"], - [4865, 0, "m"], - [4865, 1], - [4864, 1], - [4864, 0, "m"], - [4865, 0, "a"], - [4866, 0, "t"], - [4867, 0, "h"], - [4868, 0, "s"], - [4869, 0, "f"], - [4870, 0, "{"], - [4871, 0, "d"], - [4872, 0, "e"], - [4873, 0, "l"], - [4874, 0, "e"], - [4875, 0, "t"], - [4876, 0, "e"], - [4877, 0, "}"], - [4878, 0, "("], - [4879, 0, "\\"], - [4880, 0, "m"], - [4881, 0, "a"], - [4882, 0, "t"], - [4883, 0, "h"], - [4884, 0, "i"], - [4885, 0, "d"], - [4885, 1], - [4885, 0, "t"], - [4886, 0, "{"], - [4887, 0, "i"], - [4888, 0, "d"], - [4889, 0, "}"], - [4890, 0, ","], - [4891, 0, " "], - [4892, 0, "\\"], - [4893, 0, "m"], - [4894, 0, "a"], - [4895, 0, "t"], - [4896, 0, "h"], - [4897, 0, "i"], - [4898, 0, "t"], - [4899, 0, "{"], - [4900, 0, "t"], - [4901, 0, "a"], - [4902, 0, "r"], - [4903, 0, "g"], - [4904, 0, "e"], - [4905, 0, "t"], - [4906, 0, "}"], - [4907, 0, ")"], - [4908, 0, " "], - [4909, 0, "\\"], - [4910, 0, "e"], - [4911, 0, "v"], - [4912, 0, "a"], - [4913, 0, "l"], - [4914, 0, "t"], - [4915, 0, "o"], - [4916, 0, " "], - [4916, 1], - [4916, 0, "\n"], - [4917, 0, " "], - [4918, 0, " "], - [4919, 0, " "], - [4920, 0, " "], - [4921, 0, " "], - [4922, 0, " "], - [4923, 0, " "], - [4924, 0, " "], - [4925, 0, "A"], - [4926, 0, "["], - [4927, 0, "\\"], - [4928, 0, ","], - [4929, 0, "\\"], - [4930, 0, "m"], - [4931, 0, "a"], - [4932, 0, "t"], - [4933, 0, "h"], - [4934, 0, "i"], - [4935, 0, "t"], - [4936, 0, "{"], - [4937, 0, "t"], - [4938, 0, "a"], - [4939, 0, "r"], - [4940, 0, "g"], - [4941, 0, "e"], - [4942, 0, "t"], - [4943, 0, "}"], - [4944, 0, " "], - [4945, 0, "\\"], - [4946, 0, "m"], - [4947, 0, "a"], - [4948, 0, "p"], - [4949, 0, "s"], - [4950, 0, "t"], - [4951, 0, "o"], - [4952, 0, " "], - [4953, 0, "("], - [4954, 0, "\\"], - [4955, 0, "b"], - [4956, 0, "o"], - [4957, 0, "t"], - [4958, 0, ","], - [4959, 0, " "], - [4960, 0, "\\"], - [4961, 0, "m"], - [4962, 0, "a"], - [4963, 0, "t"], - [4964, 0, "h"], - [4965, 0, "i"], - [4966, 0, "t"], - [4967, 0, "{"], - [4968, 0, "n"], - [4969, 0, "e"], - [4970, 0, "x"], - [4971, 0, "t"], - [4972, 0, "}"], - [4973, 0, ")"], - [4974, 0, "\\"], - [4975, 0, ","], - [4976, 0, "]"], - [4977, 0, "$"], - [4978, 0, "}"], - [4110, 0, "\\"], - [4111, 0, "m"], - [4112, 0, "a"], - [4113, 0, "t"], - [4114, 0, "h"], - [4115, 0, "s"], - [4116, 0, "f"], - [4117, 0, "{"], - [4118, 0, "l"], - [4119, 0, "i"], - [4120, 0, "s"], - [4121, 0, "t"], - [4122, 0, "E"], - [4123, 0, "l"], - [4124, 0, "}"], - [4339, 0, "\\"], - [4340, 0, "m"], - [4341, 0, "a"], - [4342, 0, "t"], - [4343, 0, "h"], - [4344, 0, "s"], - [4345, 0, "f"], - [4346, 0, "{"], - [4347, 0, "l"], - [4348, 0, "i"], - [4349, 0, "s"], - [4350, 0, "t"], - [4351, 0, "E"], - [4352, 0, "l"], - [4353, 0, "}"], - [4375, 1], - [4375, 0, "\n"], - [4376, 0, " "], - [4377, 0, " "], - [4378, 0, " "], - [4379, 0, " "], - [4380, 0, " "], - [4381, 0, " "], - [4382, 0, " "], - [4383, 0, " "], - [4404, 0, "\\"], - [4405, 0, "m"], - [4406, 0, "a"], - [4407, 0, "t"], - [4408, 0, "h"], - [4409, 0, "s"], - [4410, 0, "f"], - [4411, 0, "{"], - [4412, 0, "l"], - [4413, 0, "i"], - [4414, 0, "s"], - [4415, 0, "t"], - [4416, 0, "E"], - [4417, 0, "l"], - [4418, 0, "}"], - [4510, 0, "\\"], - [4511, 0, "m"], - [4512, 0, "a"], - [4513, 0, "t"], - [4514, 0, "h"], - [4515, 0, "s"], - [4516, 0, "f"], - [4517, 0, "{"], - [4518, 0, "l"], - [4519, 0, "i"], - [4520, 0, "s"], - [4521, 0, "t"], - [4522, 0, "E"], - [4523, 0, "l"], - [4524, 0, "}"], - [4856, 0, "\\"], - [4857, 0, "m"], - [4858, 0, "a"], - [4859, 0, "t"], - [4860, 0, "h"], - [4861, 0, "s"], - [4862, 0, "f"], - [4863, 0, "{"], - [4864, 0, "l"], - [4865, 0, "i"], - [4866, 0, "s"], - [4867, 0, "t"], - [4868, 0, "E"], - [4869, 0, "l"], - [4870, 0, "}"], - [5036, 0, "\\"], - [5037, 0, "m"], - [5038, 0, "a"], - [5039, 0, "t"], - [5040, 0, "h"], - [5041, 0, "s"], - [5042, 0, "f"], - [5043, 0, "{"], - [5044, 0, "l"], - [5045, 0, "i"], - [5046, 0, "s"], - [5047, 0, "t"], - [5048, 0, "E"], - [5049, 0, "l"], - [5050, 0, "}"], - [4059, 0, "\n"], - [4060, 0, "\\"], - [4061, 0, "b"], - [4062, 0, "e"], - [4063, 0, "g"], - [4064, 0, "i"], - [4065, 0, "n"], - [4065, 1], - [4064, 1], - [4063, 1], - [4062, 1], - [4061, 1], - [4060, 1], - [4060, 0, "\\"], - [4061, 0, "A"], - [4062, 0, "x"], - [4063, 0, "i"], - [4064, 0, "o"], - [4065, 0, "m"], - [4066, 0, "C"], - [4067, 0, "{"], - [4068, 0, "$"], - [4068, 1], - [4067, 1], - [4066, 1], - [4065, 1], - [4064, 1], - [4063, 1], - [4062, 1], - [4061, 1], - [4060, 1], - [4059, 1], - [4237, 1], - [4236, 1], - [4235, 1], - [4235, 0, "T"], - [4236, 0, "r"], - [4237, 0, "i"], - [4238, 0, "n"], - [4077, 0, "\n"], - [4078, 0, " "], - [4079, 0, " "], - [4080, 0, " "], - [4081, 0, " "], - [4082, 0, "\\"], - [4083, 0, "A"], - [4084, 0, "x"], - [4085, 0, "i"], - [4086, 0, "o"], - [4087, 0, "m"], - [4088, 0, "C"], - [4089, 0, "{"], - [4090, 0, "$"], - [4091, 0, "\\"], - [4092, 0, "m"], - [4093, 0, "a"], - [4094, 0, "t"], - [4095, 0, "h"], - [4096, 0, "i"], - [4097, 0, "t"], - [4098, 0, "{"], - [4099, 0, "i"], - [4100, 0, "d"], - [4101, 0, "}"], - [4102, 0, " "], - [4103, 0, "\\"], - [4104, 0, "n"], - [4105, 0, "o"], - [4106, 0, "t"], - [4107, 0, "\\"], - [4108, 0, "i"], - [4109, 0, "n"], - [4110, 0, " "], - [4111, 0, "\\"], - [4112, 0, "m"], - [4113, 0, "a"], - [4114, 0, "t"], - [4115, 0, "h"], - [4116, 0, "r"], - [4117, 0, "m"], - [4118, 0, "("], - [4118, 1], - [4118, 0, "{"], - [4119, 0, "d"], - [4120, 0, "o"], - [4121, 0, "m"], - [4122, 0, "}"], - [4123, 0, "("], - [4124, 0, "A"], - [4125, 0, ")"], - [4126, 0, "$"], - [4127, 0, "}"], - [4059, 0, "\n"], - [4060, 0, "\\"], - [4061, 0, "b"], - [4062, 0, "e"], - [4063, 0, "g"], - [4064, 0, "i"], - [4065, 0, "n"], - [4066, 0, "{"], - [4067, 0, "p"], - [4068, 0, "r"], - [4069, 0, "o"], - [4070, 0, "o"], - [4071, 0, "f"], - [4072, 0, "t"], - [4073, 0, "r"], - [4074, 0, "e"], - [4075, 0, "e"], - [4076, 0, "}"], - [4077, 0, "\n"], - [4078, 0, "\\"], - [4079, 0, "e"], - [4080, 0, "n"], - [4081, 0, "d"], - [4082, 0, "{"], - [4083, 0, "p"], - [4084, 0, "r"], - [4085, 0, "o"], - [4086, 0, "o"], - [4087, 0, "f"], - [4088, 0, "t"], - [4089, 0, "r"], - [4090, 0, "e"], - [4091, 0, "e"], - [4092, 0, "}"], - [4093, 0, "\n"], - [4077, 0, "\n"], - [4078, 0, " "], - [4079, 0, " "], - [4080, 0, " "], - [4081, 0, " "], - [4082, 0, "\\"], - [4083, 0, "L"], - [4084, 0, "e"], - [4085, 0, "f"], - [4086, 0, "t"], - [4087, 0, "L"], - [4088, 0, "a"], - [4089, 0, "b"], - [4090, 0, "e"], - [4091, 0, "l"], - [4092, 0, "{"], - [4093, 0, "\\"], - [4094, 0, "t"], - [4095, 0, "e"], - [4096, 0, "x"], - [4097, 0, "t"], - [4098, 0, "s"], - [4099, 0, "c"], - [4100, 0, "{"], - [4101, 0, "A"], - [4102, 0, "p"], - [4103, 0, "p"], - [4104, 0, "l"], - [4105, 0, "y"], - [4106, 0, "-"], - [4107, 0, "T"], - [4108, 0, "S"], - [4109, 0, "}"], - [4110, 0, "}"], - [4111, 0, "\n"], - [4112, 0, " "], - [4113, 0, " "], - [4114, 0, " "], - [4115, 0, " "], - [4116, 0, "\\"], - [4117, 0, "U"], - [4118, 0, "N"], - [4119, 0, "a"], - [4120, 0, "r"], - [4077, 0, "\n"], - [4078, 0, " "], - [4079, 0, " "], - [4080, 0, " "], - [4081, 0, " "], - [4082, 0, "\\"], - [4083, 0, "A"], - [4084, 0, "x"], - [4085, 0, "i"], - [4086, 0, "o"], - [4087, 0, "m"], - [4088, 0, "C"], - [4089, 0, "{"], - [4090, 0, "}"], - [4134, 1], - [4133, 1], - [4132, 1], - [4132, 0, "n"], - [4133, 0, "a"], - [4134, 0, "r"], - [4135, 0, "y"], - [4136, 0, "I"], - [4137, 0, "n"], - [4138, 0, "f"], - [4139, 0, "C"], - [4140, 0, "{"], - [4141, 0, "$"], - [4142, 0, "$"], - [4143, 0, "}"], - [4142, 0, "A"], - [4143, 0, ","], - [4144, 0, " "], - [4145, 0, "\\"], - [4146, 0, "m"], - [4147, 0, "a"], - [4148, 0, "t"], - [4149, 0, "h"], - [4150, 0, "s"], - [4151, 0, "f"], - [4152, 0, "{"], - [4153, 0, "t"], - [4154, 0, "s"], - [4155, 0, "}"], - [4156, 0, "("], - [4157, 0, "\\"], - [4158, 0, "m"], - [4159, 0, "a"], - [4160, 0, "t"], - [4161, 0, "h"], - [4162, 0, "i"], - [4163, 0, "t"], - [4164, 0, "{"], - [4165, 0, "i"], - [4166, 0, "d"], - [4167, 0, "}"], - [4168, 0, ")"], - [4169, 0, " "], - [4170, 0, "\\"], - [4171, 0, "e"], - [4172, 0, "v"], - [4173, 0, "a"], - [4174, 0, "l"], - [4175, 0, "t"], - [4176, 0, "o"], - [4177, 0, " "], - [4178, 0, "A"], - [4179, 0, "["], - [4180, 0, "\\"], - [4181, 0, ","], - [4182, 0, "\\"], - [4183, 0, "m"], - [4184, 0, "a"], - [4185, 0, "t"], - [4186, 0, "h"], - [4187, 0, "i"], - [4188, 0, "t"], - [4188, 1], - [4187, 1], - [4187, 0, "s"], - [4188, 0, "f"], - [4189, 0, "{"], - [4190, 0, "c"], - [4191, 0, "t"], - [4192, 0, "r"], - [4193, 0, "}"], - [4194, 0, " "], - [4195, 0, "\\"], - [4196, 0, "m"], - [4197, 0, "a"], - [4198, 0, "p"], - [4199, 0, "s"], - [4200, 0, "t"], - [4201, 0, "o"], - [4202, 0, " "], - [4203, 0, "\\"], - [4204, 0, "m"], - [4205, 0, "a"], - [4206, 0, "t"], - [4207, 0, "h"], - [4208, 0, "r"], - [4209, 0, "m"], - [4210, 0, "{"], - [4177, 1], - [4177, 0, "\n"], - [4178, 0, " "], - [4179, 0, " "], - [4180, 0, " "], - [4181, 0, " "], - [4182, 0, " "], - [4183, 0, " "], - [4184, 0, " "], - [4185, 0, " "], - [4219, 0, "m"], - [4220, 0, "a"], - [4221, 0, "x"], - [4222, 0, "}"], - [4223, 0, "("], - [4224, 0, "A"], - [4225, 0, "("], - [4226, 0, "\\"], - [4227, 0, "m"], - [4228, 0, "a"], - [4229, 0, "t"], - [4230, 0, "h"], - [4231, 0, "s"], - [4232, 0, "f"], - [4233, 0, "{"], - [4234, 0, "c"], - [4235, 0, "t"], - [4236, 0, "r"], - [4237, 0, "}"], - [4238, 0, ")"], - [4239, 0, ","], - [4240, 0, " "], - [4241, 0, "c"], - [4242, 0, ")"], - [4243, 0, "\\"], - [4244, 0, ","], - [4245, 0, "]"], - [4090, 0, "\\"], - [4091, 0, "m"], - [4092, 0, "a"], - [4093, 0, "t"], - [4094, 0, "h"], - [4095, 0, "i"], - [4096, 0, "t"], - [4097, 0, "{"], - [4098, 0, "i"], - [4099, 0, "d"], - [4090, 0, "$"], - [4102, 0, " "], - [4103, 0, "="], - [4104, 0, " "], - [4105, 0, "("], - [4106, 0, "c"], - [4107, 0, ","], - [4108, 0, " "], - [4109, 0, "p"], - [4110, 0, ")"], - [4111, 0, "$"], - [4112, 0, "}"], - [4469, 0, "\n"], - [4470, 0, " "], - [4471, 0, " "], - [4472, 0, " "], - [4473, 0, " "], - [4474, 0, "\\"], - [4475, 0, "A"], - [4476, 0, "x"], - [4477, 0, "i"], - [4478, 0, "o"], - [4479, 0, "m"], - [4480, 0, "C"], - [4481, 0, "{"], - [4482, 0, "$"], - [4483, 0, "A"], - [4484, 0, ","], - [4485, 0, " "], - [4486, 0, "\\"], - [4487, 0, "m"], - [4488, 0, "a"], - [4489, 0, "t"], - [4490, 0, "h"], - [4491, 0, "s"], - [4492, 0, "f"], - [4493, 0, "{"], - [4494, 0, "t"], - [4495, 0, "s"], - [4496, 0, "}"], - [4497, 0, "("], - [4498, 0, "\\"], - [4499, 0, "m"], - [4500, 0, "a"], - [4501, 0, "t"], - [4502, 0, "h"], - [4503, 0, "i"], - [4504, 0, "t"], - [4505, 0, "{"], - [4506, 0, "i"], - [4507, 0, "d"], - [4508, 0, "}"], - [4509, 0, ")"], - [4510, 0, " "], - [4511, 0, "\\"], - [4512, 0, "e"], - [4513, 0, "v"], - [4514, 0, "a"], - [4515, 0, "l"], - [4516, 0, "t"], - [4517, 0, "o"], - [4518, 0, " "], - [4519, 0, "A"], - [4520, 0, "'"], - [4521, 0, "$"], - [4522, 0, "}"], - [4570, 1], - [4569, 1], - [4568, 1], - [4568, 0, "Q"], - [4569, 0, "u"], - [4570, 0, "a"], - [4571, 0, "t"], - [4572, 0, "e"], - [4573, 0, "r"], - [4651, 0, "'"], - [5270, 1], - [5270, 0, "B"], - [5271, 0, "i"], - [5229, 0, "\n"], - [5230, 0, " "], - [5231, 0, " "], - [5232, 0, " "], - [5233, 0, " "], - [5234, 0, "\\"], - [5235, 0, "A"], - [5236, 0, "x"], - [5237, 0, "i"], - [5238, 0, "o"], - [5239, 0, "m"], - [5240, 0, "C"], - [5241, 0, "{"], - [5242, 0, "$"], - [5243, 0, "A"], - [5244, 0, ","], - [5245, 0, " "], - [5246, 0, "\\"], - [5247, 0, "m"], - [5248, 0, "a"], - [5249, 0, "t"], - [5250, 0, "h"], - [5251, 0, "s"], - [5252, 0, "f"], - [5253, 0, "{"], - [5254, 0, "t"], - [5255, 0, "s"], - [5256, 0, "}"], - [5257, 0, "("], - [5258, 0, "\\"], - [5259, 0, "m"], - [5260, 0, "a"], - [5261, 0, "t"], - [5262, 0, "h"], - [5263, 0, "i"], - [5264, 0, "t"], - [5265, 0, "{"], - [5266, 0, "i"], - [5267, 0, "d"], - [5268, 0, "}"], - [5269, 0, ")"], - [5270, 0, " "], - [5271, 0, "\\"], - [5272, 0, "e"], - [5273, 0, "v"], - [5274, 0, "a"], - [5275, 0, "l"], - [5276, 0, "t"], - [5277, 0, "o"], - [5278, 0, " "], - [5279, 0, "A"], - [5280, 0, "'"], - [5281, 0, "$"], - [5282, 0, "}"], - [5402, 0, "'"], - [4221, 0, "o"], - [4222, 0, "u"], - [4223, 0, "n"], - [4225, 0, "e"], - [4261, 0, "o"], - [4262, 0, "u"], - [4263, 0, "n"], - [4265, 0, "e"], - [4265, 1], - [4263, 1], - [4262, 1], - [4261, 1], - [4225, 1], - [4223, 1], - [4222, 1], - [4221, 1], - [4059, 0, "\n"], - [4060, 0, "\\"], - [4061, 0, "A"], - [4062, 0, "x"], - [4063, 0, "i"], - [4064, 0, "o"], - [4065, 0, "m"], - [4066, 0, "C"], - [4067, 0, "{"], - [4068, 0, "$"], - [4069, 0, "A"], - [4070, 0, "("], - [4071, 0, "\\"], - [4072, 0, "m"], - [4073, 0, "a"], - [4074, 0, "t"], - [4075, 0, "h"], - [4076, 0, "s"], - [4077, 0, "f"], - [4078, 0, "{"], - [4079, 0, "c"], - [4080, 0, "t"], - [4081, 0, "r"], - [4082, 0, "}"], - [4083, 0, ")"], - [4084, 0, " "], - [4085, 0, "="], - [4086, 0, " "], - [4087, 0, "c"], - [4088, 0, "$"], - [4089, 0, "}"], - [4090, 0, "\n"], - [4091, 0, "\\"], - [4092, 0, "L"], - [4093, 0, "e"], - [4094, 0, "f"], - [4095, 0, "t"], - [4096, 0, "L"], - [4097, 0, "a"], - [4098, 0, "b"], - [4099, 0, "e"], - [4100, 0, "l"], - [4101, 0, "{"], - [4102, 0, "\\"], - [4103, 0, "t"], - [4104, 0, "e"], - [4105, 0, "x"], - [4106, 0, "t"], - [4107, 0, "s"], - [4108, 0, "c"], - [4109, 0, "{"], - [4110, 0, "G"], - [4111, 0, "e"], - [4112, 0, "n"], - [4113, 0, "-"], - [4114, 0, "T"], - [4115, 0, "S"], - [4116, 0, "}"], - [4117, 0, "}"], - [4118, 0, "\n"], - [4119, 0, "\\"], - [4120, 0, "U"], - [4121, 0, "n"], - [4122, 0, "a"], - [4123, 0, "r"], - [4124, 0, "y"], - [4125, 0, "I"], - [4126, 0, "n"], - [4127, 0, "f"], - [4128, 0, "C"], - [4129, 0, "{"], - [4130, 0, "$"], - [4131, 0, "A"], - [4132, 0, ","], - [4133, 0, " "], - [4134, 0, "\\"], - [4135, 0, "m"], - [4136, 0, "a"], - [4137, 0, "t"], - [4138, 0, "h"], - [4139, 0, "S"], - [4140, 0, "F"], - [4140, 1], - [4139, 1], - [4139, 0, "s"], - [4140, 0, "f"], - [4141, 0, "{"], - [4142, 0, "n"], - [4143, 0, "e"], - [4144, 0, "w"], - [4145, 0, "I"], - [4146, 0, "D"], - [4147, 0, "}"], - [4148, 0, " "], - [4149, 0, "\\"], - [4150, 0, "e"], - [4151, 0, "v"], - [4152, 0, "a"], - [4153, 0, "l"], - [4154, 0, "t"], - [4155, 0, "o"], - [4156, 0, " "], - [4157, 0, "A"], - [4158, 0, "["], - [4159, 0, "\\"], - [4160, 0, ","], - [4161, 0, "\\"], - [4162, 0, "m"], - [4163, 0, "a"], - [4090, 0, "\n"], - [4091, 0, "\\"], - [4092, 0, "A"], - [4093, 0, "x"], - [4094, 0, "i"], - [4095, 0, "o"], - [4096, 0, "m"], - [4097, 0, "C"], - [4098, 0, "{"], - [4099, 0, "$"], - [4100, 0, "p"], - [4101, 0, " "], - [4102, 0, "="], - [4103, 0, " "], - [4104, 0, "m"], - [4105, 0, "a"], - [4106, 0, "t"], - [4107, 0, "h"], - [4108, 0, "r"], - [4104, 0, "\\"], - [4110, 0, "m"], - [4111, 0, "{"], - [4112, 0, "m"], - [4113, 0, "y"], - [4114, 0, "P"], - [4115, 0, "e"], - [4116, 0, "e"], - [4117, 0, "r"], - [4118, 0, "I"], - [4119, 0, "D"], - [4120, 0, "("], - [4121, 0, ")"], - [4122, 0, "}"], - [4123, 0, "$"], - [4124, 0, "}"], - [4155, 1], - [4155, 0, "B"], - [4156, 0, "i"], - [4200, 0, "t"], - [4201, 0, "h"], - [4202, 0, "s"], - [4203, 0, "f"], - [4204, 0, "{"], - [4205, 0, "c"], - [4206, 0, "t"], - [4207, 0, "r"], - [4208, 0, "}"], - [4209, 0, " "], - [4210, 0, "\\"], - [4211, 0, "m"], - [4212, 0, "a"], - [4213, 0, "p"], - [4214, 0, "s"], - [4215, 0, "t"], - [4216, 0, "o"], - [4217, 0, " "], - [4218, 0, "c"], - [4219, 0, "+"], - [4220, 0, "1"], - [4221, 0, "\\"], - [4222, 0, ","], - [4223, 0, "]"], - [4224, 0, ","], - [4225, 0, "\\"], - [4226, 0, ";"], - [4227, 0, "("], - [4228, 0, "c"], - [4229, 0, ","], - [4227, 0, " "], - [4231, 0, " "], - [4232, 0, "p"], - [4233, 0, ")"], - [4234, 0, "$"], - [4235, 0, "}"], - [4236, 0, "\n"], - [4237, 0, "\n"], - [4237, 1], - [4237, 0, "\\"], - [4238, 0, "D"], - [4239, 0, "i"], - [4240, 0, "s"], - [4241, 0, "p"], - [4242, 0, "l"], - [4243, 0, "a"], - [4244, 0, "y"], - [4245, 0, "P"], - [4246, 0, "r"], - [4247, 0, "o"], - [4248, 0, "o"], - [4249, 0, "f"], - [4250, 0, "\n"], - [4169, 0, "\\"], - [4170, 0, ","], - [4170, 1], - [4170, 0, ";"], - [4270, 1], - [4269, 1], - [4268, 1], - [4267, 1], - [4266, 1], - [4265, 1], - [4264, 1], - [4263, 1], - [4262, 1], - [4261, 1], - [4260, 1], - [4259, 1], - [4258, 1], - [4257, 1], - [4256, 1], - [4255, 1], - [4254, 1], - [4253, 1], - [4461, 1], - [4460, 1], - [4459, 1], - [4458, 1], - [4457, 1], - [4456, 1], - [4455, 1], - [4454, 1], - [4453, 1], - [4452, 1], - [4451, 1], - [4450, 1], - [4449, 1], - [4448, 1], - [4448, 0, "D"], - [4449, 0, "i"], - [4450, 0, "s"], - [4451, 0, "p"], - [4452, 0, "l"], - [4453, 0, "a"], - [4454, 0, "y"], - [4455, 0, "P"], - [4456, 0, "r"], - [4457, 0, "o"], - [4458, 0, "o"], - [4459, 0, "f"], - [4232, 0, "+"], - [4233, 0, "1"], - [4344, 0, "\\"], - [4345, 0, ";"], - [4663, 0, "\\"], - [4664, 0, ";"], - [4766, 0, "\\"], - [4767, 0, ";"], - [5126, 0, "\\"], - [5127, 0, ";"], - [5248, 0, "\\"], - [5249, 0, ";"], - [5431, 0, "\\"], - [5432, 0, ";"], - [5526, 0, "\\"], - [5527, 0, ";"], - [4184, 1], - [4183, 1], - [4182, 1], - [4181, 1], - [4180, 1], - [4180, 0, "n"], - [4181, 0, "e"], - [4182, 0, "w"], - [4183, 0, "I"], - [4184, 0, "D"], - [4254, 0, "\n"], - [4255, 0, "\n"], - [4256, 0, "h"], - [4257, 0, "e"], - [4258, 0, "l"], - [4259, 0, "l"], - [4260, 0, "o"], - [4472, 0, "\n"], - [4473, 0, "w"], - [4474, 0, "o"], - [4475, 0, "r"], - [4476, 0, "l"], - [4477, 0, "d"], - [4478, 0, "\n"], - [4262, 1], - [4261, 1], - [4260, 1], - [4259, 1], - [4258, 1], - [4257, 1], - [4256, 1], - [4255, 1], - [4255, 1], - [4255, 1], - [4255, 1], - [4255, 1], - [4287, 1], - [4287, 1], - [4287, 1], - [4287, 1], - [4317, 1], - [4317, 1], - [4317, 1], - [4317, 1], - [4367, 1], - [4367, 1], - [4367, 1], - [4371, 1], - [4254, 0, "\n"], - [4255, 0, "%"], - [4256, 0, "%"], - [4256, 1], - [4456, 1], - [4455, 1], - [4454, 1], - [4453, 1], - [4452, 1], - [4451, 1], - [4450, 1], - [4059, 0, "\n"], - [4060, 0, "\\"], - [4061, 0, "c"], - [4062, 0, "e"], - [4063, 0, "n"], - [4064, 0, "t"], - [4065, 0, "e"], - [4066, 0, "r"], - [4067, 0, "i"], - [4068, 0, "n"], - [4069, 0, "g"], - [4070, 0, "\n"], - [4070, 1], - [4265, 0, "\\"], - [4266, 0, "h"], - [4267, 0, "f"], - [4268, 0, "i"], - [4269, 0, "l"], - [4270, 0, "l"], - [4080, 0, "c"], - [4081, 0, " "], - [4082, 0, "="], - [4083, 0, " "], - [4102, 1], - [4101, 1], - [4100, 1], - [4099, 1], - [4466, 0, "\n"], - [4467, 0, "\n"], - [4085, 0, "_"], - [4086, 0, "p"], - [4181, 0, "_"], - [4182, 0, "p"], - [4211, 0, "_"], - [4212, 0, "p"], - [4308, 0, "_"], - [4309, 0, "\\"], - [4310, 0, "m"], - [4311, 0, "a"], - [4312, 0, "t"], - [4313, 0, "h"], - [4314, 0, "i"], - [4315, 0, "t"], - [4316, 0, "{"], - [4317, 0, "i"], - [4318, 0, "d"], - [4319, 0, "}"], - [4367, 0, "_"], - [4368, 0, "p"], - [4411, 0, "_"], - [4412, 0, "p"], - [4557, 0, "_"], - [4558, 0, "p"], - [4577, 0, "_"], - [4578, 0, "p"], - [4615, 1], - [4615, 0, "\\"], - [4616, 0, "m"], - [4617, 0, "a"], - [4618, 0, "t"], - [4619, 0, "h"], - [4620, 0, "i"], - [4621, 0, "t"], - [4622, 0, "{"], - [4623, 0, "p"], - [4624, 0, "r"], - [4625, 0, "e"], - [4626, 0, "v"], - [4627, 0, "}"], - [4704, 0, "_"], - [4705, 0, "p"], - [4809, 0, "_"], - [4810, 0, "p"], - [4744, 0, "_"], - [4745, 0, "p"], - [4881, 0, "_"], - [4882, 0, "p"], - [4927, 1], - [4927, 0, "]"], - [4927, 1], - [4927, 0, "\\"], - [4928, 0, "m"], - [4929, 0, "a"], - [4930, 0, "t"], - [4931, 0, "h"], - [4932, 0, "i"], - [4933, 0, "t"], - [4934, 0, "{"], - [4935, 0, "p"], - [4936, 0, "r"], - [4937, 0, "e"], - [4938, 0, "v"], - [4939, 0, "}"], - [5074, 0, "_"], - [5075, 0, "p"], - [5112, 1], - [5112, 0, "\\"], - [5113, 0, "m"], - [5114, 0, "a"], - [5115, 0, "t"], - [5116, 0, "h"], - [5117, 0, "i"], - [5118, 0, "t"], - [5119, 0, "{"], - [5120, 0, "p"], - [5121, 0, "r"], - [5122, 0, "e"], - [5123, 0, "v"], - [5124, 0, "}"], - [5261, 0, "_"], - [5262, 0, "p"], - [5201, 0, "_"], - [5202, 0, "p"], - [5327, 0, "_"], - [5328, 0, "p"], - [5389, 0, "_"], - [5390, 0, "p"], - [5444, 0, "_"], - [5445, 0, "p"], - [5516, 0, "_"], - [5517, 0, "p"], - [5556, 0, "_"], - [5557, 0, "p"], - [5615, 0, "_"], - [5616, 0, "p"], - [5684, 0, "_"], - [5685, 0, "p"], - [4490, 0, "\\"], - [4491, 0, "b"], - [4492, 0, "e"], - [4493, 0, "g"], - [4494, 0, "i"], - [4495, 0, "n"], - [4496, 0, "{"], - [4497, 0, "p"], - [4498, 0, "r"], - [4499, 0, "o"], - [4500, 0, "o"], - [4501, 0, "f"], - [4502, 0, "t"], - [4503, 0, "r"], - [4504, 0, "e"], - [4505, 0, "e"], - [4506, 0, "}"], - [4507, 0, "\n"], - [4508, 0, "\\"], - [4509, 0, "e"], - [4510, 0, "n"], - [4511, 0, "d"], - [4512, 0, "{"], - [4513, 0, "p"], - [4514, 0, "r"], - [4514, 1], - [4513, 1], - [4512, 1], - [4511, 1], - [4510, 1], - [4509, 1], - [4508, 1], - [4507, 1], - [4506, 1], - [4505, 1], - [4504, 1], - [4503, 1], - [4502, 1], - [4501, 1], - [4500, 1], - [4499, 1], - [4498, 1], - [4497, 1], - [4496, 1], - [4495, 1], - [4494, 1], - [4493, 1], - [4492, 1], - [4491, 1], - [4491, 0, "A"], - [4492, 0, "x"], - [4493, 0, "i"], - [4494, 0, "o"], - [4495, 0, "m"], - [4496, 0, "C"], - [4497, 0, "{"], - [4498, 0, "$"], - [4499, 0, "q"], - [4500, 0, " "], - [4501, 0, "\\"], - [4502, 0, "i"], - [4503, 0, "n"], - [4504, 0, " "], - [4505, 0, "\\"], - [4506, 0, "m"], - [4507, 0, "a"], - [4508, 0, "t"], - [4509, 0, "h"], - [4510, 0, "i"], - [4511, 0, "t"], - [4512, 0, "{"], - [4513, 0, "p"], - [4514, 0, "e"], - [4515, 0, "e"], - [4516, 0, "r"], - [4517, 0, "s"], - [4518, 0, "}"], - [4519, 0, "$"], - [4520, 0, "}"], - [4521, 0, "\n"], - [4522, 0, "\\"], - [4523, 0, "L"], - [4524, 0, "e"], - [4525, 0, "f"], - [4526, 0, "t"], - [4527, 0, "L"], - [4528, 0, "a"], - [4529, 0, "b"], - [4530, 0, "e"], - [4531, 0, "l"], - [4532, 0, "{"], - [4533, 0, "\\"], - [4534, 0, "t"], - [4535, 0, "e"], - [4536, 0, "x"], - [4537, 0, "t"], - [4538, 0, "s"], - [4539, 0, "c"], - [4540, 0, "{"], - [4541, 0, "R"], - [4542, 0, "e"], - [4543, 0, "c"], - [4544, 0, "v"], - [4545, 0, "}"], - [4546, 0, "}"], - [4547, 0, "\n"], - [4548, 0, "\\"], - [4549, 0, "U"], - [4550, 0, "n"], - [4551, 0, "a"], - [4552, 0, "r"], - [4553, 0, "y"], - [4554, 0, "I"], - [4555, 0, "n"], - [4556, 0, "f"], - [4557, 0, "C"], - [4558, 0, "{"], - [4559, 0, "$"], - [4560, 0, "A"], - [4561, 0, "_"], - [4562, 0, "p"], - [4563, 0, ","], - [4564, 0, "\\"], - [4565, 0, ";"], - [4566, 0, " "], - [4567, 0, "\\"], - [4568, 0, "m"], - [4569, 0, "a"], - [4570, 0, "t"], - [4571, 0, "h"], - [4572, 0, "s"], - [4573, 0, "f"], - [4574, 0, "{"], - [4575, 0, "y"], - [4576, 0, "i"], - [4577, 0, "e"], - [4578, 0, "l"], - [4579, 0, "d"], - [4580, 0, "|"], - [4580, 1], - [4580, 0, "}"], - [4581, 0, " "], - [4582, 0, "\\"], - [4583, 0, "e"], - [4584, 0, "v"], - [4585, 0, "a"], - [4586, 0, "l"], - [4587, 0, "t"], - [4588, 0, "o"], - [4589, 0, " "], - [4590, 0, "A"], - [4591, 0, "_"], - [4592, 0, "p"], - [4593, 0, "["], - [4594, 0, ","], - [4594, 1], - [4594, 0, "\\"], - [4595, 0, ","], - [4596, 0, "\\"], - [4597, 0, "m"], - [4598, 0, "a"], - [4599, 0, "t"], - [4600, 0, "h"], - [4601, 0, "s"], - [4602, 0, "f"], - [4603, 0, "{"], - [4604, 0, "r"], - [4605, 0, "e"], - [4606, 0, "c"], - [4607, 0, "v"], - [4608, 0, "}"], - [4609, 0, " "], - [4610, 0, "\\"], - [4611, 0, "m"], - [4612, 0, "a"], - [4613, 0, "p"], - [4614, 0, "s"], - [4615, 0, "t"], - [4616, 0, "o"], - [4617, 0, " "], - [4618, 0, "A"], - [4619, 0, "_"], - [4620, 0, "p"], - [4621, 0, "("], - [4622, 0, "\\"], - [4623, 0, "m"], - [4624, 0, "a"], - [4625, 0, "t"], - [4626, 0, "h"], - [4627, 0, "s"], - [4628, 0, "f"], - [4629, 0, "{"], - [4630, 0, "r"], - [4631, 0, "e"], - [4632, 0, "c"], - [4633, 0, "v"], - [4634, 0, "}"], - [4635, 0, ")"], - [4636, 0, " "], - [4637, 0, "\\"], - [4638, 0, "c"], - [4639, 0, "u"], - [4640, 0, "p"], - [4641, 0, " "], - [4642, 0, "A"], - [4643, 0, "_"], - [4644, 0, "q"], - [4645, 0, "("], - [4646, 0, "\\"], - [4647, 0, "m"], - [4648, 0, "a"], - [4649, 0, "t"], - [4650, 0, "h"], - [4651, 0, "s"], - [4652, 0, "f"], - [4653, 0, "{"], - [4654, 0, "s"], - [4655, 0, "e"], - [4656, 0, "n"], - [4657, 0, "d"], - [4658, 0, "}"], - [4659, 0, ")"], - [4660, 0, "\\"], - [4661, 0, ","], - [4662, 0, "]"], - [4663, 0, "$"], - [4664, 0, "}"], - [4665, 0, "\n"], - [4666, 0, "\\"], - [4667, 0, "D"], - [4668, 0, "i"], - [4669, 0, "s"], - [4670, 0, "p"], - [4671, 0, "l"], - [4672, 0, "a"], - [4673, 0, "y"], - [4674, 0, "P"], - [4675, 0, "r"], - [4676, 0, "o"], - [4677, 0, "o"], - [4678, 0, "f"], - [4678, 1], - [4677, 1], - [4676, 1], - [4675, 1], - [4674, 1], - [4673, 1], - [4672, 1], - [4671, 1], - [4670, 1], - [4669, 1], - [4668, 1], - [4667, 1], - [4667, 0, "e"], - [4668, 0, "n"], - [4669, 0, "d"], - [4670, 0, "{"], - [4671, 0, "p"], - [4672, 0, "r"], - [4673, 0, "o"], - [4674, 0, "o"], - [4675, 0, "f"], - [4676, 0, "t"], - [4677, 0, "r"], - [4678, 0, "e"], - [4679, 0, "e"], - [4680, 0, "}"], - [4489, 0, "\n"], - [4490, 0, "\\"], - [4491, 0, "b"], - [4492, 0, "e"], - [4493, 0, "g"], - [4494, 0, "i"], - [4495, 0, "n"], - [4496, 0, "{"], - [4497, 0, "p"], - [4498, 0, "r"], - [4499, 0, "o"], - [4500, 0, "o"], - [4501, 0, "f"], - [4502, 0, "t"], - [4503, 0, "r"], - [4504, 0, "e"], - [4505, 0, "e"], - [4506, 0, "}"], - [4506, 1], - [4505, 1], - [4504, 1], - [4503, 1], - [4502, 1], - [4501, 1], - [4500, 1], - [4499, 1], - [4498, 1], - [4497, 1], - [4496, 1], - [4495, 1], - [4494, 1], - [4493, 1], - [4492, 1], - [4491, 1], - [4490, 1], - [4490, 0, "\\"], - [4491, 0, "p"], - [4492, 0, "r"], - [4493, 0, "o"], - [4494, 0, "o"], - [4495, 0, "f"], - [4496, 0, "S"], - [4497, 0, "k"], - [4498, 0, "i"], - [4499, 0, "p"], - [4500, 0, "A"], - [4501, 0, "m"], - [4502, 0, "o"], - [4503, 0, "u"], - [4504, 0, "n"], - [4505, 0, "t"], - [4506, 0, " "], - [4507, 0, "\\"], - [4508, 0, "l"], - [4509, 0, "e"], - [4510, 0, "a"], - [4511, 0, "v"], - [4512, 0, "e"], - [4513, 0, "v"], - [4514, 0, "m"], - [4515, 0, "o"], - [4516, 0, "d"], - [4517, 0, "e"], - [4506, 1], - [4708, 1], - [4707, 1], - [4706, 1], - [4705, 1], - [4704, 1], - [4703, 1], - [4702, 1], - [4701, 1], - [4700, 1], - [4699, 1], - [4698, 1], - [4697, 1], - [4696, 1], - [4695, 1], - [4695, 0, "p"], - [4696, 0, "r"], - [4697, 0, "o"], - [4698, 0, "o"], - [4699, 0, "f"], - [4700, 0, "S"], - [4701, 0, "k"], - [4702, 0, "i"], - [4703, 0, "p"], - [4704, 0, "A"], - [4705, 0, "m"], - [4706, 0, "o"], - [4707, 0, "u"], - [4708, 0, "n"], - [4709, 0, "t"], - [4517, 0, "\n"], - [4518, 0, "\\"], - [4519, 0, "A"], - [4520, 0, "x"], - [4521, 0, "i"], - [4522, 0, "o"], - [4523, 0, "m"], - [4524, 0, "C"], - [4525, 0, "{"], - [4526, 0, "}"], - [4527, 0, "\n"], - [4528, 0, "\\"], - [4529, 0, "L"], - [4530, 0, "e"], - [4531, 0, "f"], - [4532, 0, "t"], - [4533, 0, "L"], - [4534, 0, "a"], - [4535, 0, "b"], - [4536, 0, "e"], - [4537, 0, "l"], - [4538, 0, "{"], - [4539, 0, "\\"], - [4540, 0, "t"], - [4541, 0, "e"], - [4542, 0, "x"], - [4543, 0, "t"], - [4544, 0, "s"], - [4545, 0, "c"], - [4546, 0, "{"], - [4547, 0, "S"], - [4548, 0, "e"], - [4549, 0, "n"], - [4550, 0, "d"], - [4551, 0, "}"], - [4552, 0, "}"], - [4553, 0, "\n"], - [4554, 0, "\\"], - [4555, 0, "U"], - [4556, 0, "n"], - [4557, 0, "a"], - [4558, 0, "r"], - [4559, 0, "y"], - [4560, 0, "I"], - [4561, 0, "n"], - [4562, 0, "f"], - [4563, 0, "C"], - [4564, 0, "{"], - [4565, 0, "$"], - [4566, 0, "A"], - [4567, 0, "_"], - [4568, 0, "p"], - [4569, 0, ","], - [4570, 0, "\\"], - [4571, 0, ";"], - [4572, 0, " "], - [4573, 0, "\\"], - [4574, 0, "m"], - [4575, 0, "a"], - [4576, 0, "t"], - [4577, 0, "h"], - [4578, 0, "s"], - [4579, 0, "f"], - [4580, 0, "{"], - [4581, 0, "y"], - [4582, 0, "i"], - [4583, 0, "e"], - [4584, 0, "l"], - [4585, 0, "d"], - [4586, 0, "}"], - [4587, 0, " "], - [4588, 0, "\\"], - [4589, 0, "e"], - [4590, 0, "v"], - [4591, 0, "a"], - [4592, 0, "l"], - [4593, 0, "t"], - [4594, 0, "o"], - [4595, 0, " "], - [4596, 0, "A"], - [4597, 0, "_"], - [4598, 0, "p"], - [4599, 0, "["], - [4600, 0, "\\"], - [4601, 0, ","], - [4602, 0, "\\"], - [4603, 0, "m"], - [4604, 0, "a"], - [4605, 0, "t"], - [4606, 0, "h"], - [4607, 0, "s"], - [4608, 0, "f"], - [4609, 0, "{"], - [4610, 0, "s"], - [4611, 0, "e"], - [4612, 0, "n"], - [4613, 0, "d"], - [4614, 0, "}"], - [4615, 0, " "], - [4616, 0, "\\"], - [4617, 0, "m"], - [4618, 0, "a"], - [4619, 0, "p"], - [4620, 0, "s"], - [4621, 0, "t"], - [4622, 0, "o"], - [4623, 0, " "], - [4624, 0, "A"], - [4625, 0, "_"], - [4626, 0, "p"], - [4627, 0, "("], - [4628, 0, "\\"], - [4629, 0, "m"], - [4630, 0, "a"], - [4631, 0, "t"], - [4632, 0, "h"], - [4633, 0, "s"], - [4634, 0, "f"], - [4635, 0, "{"], - [4636, 0, "s"], - [4637, 0, "e"], - [4638, 0, "n"], - [4639, 0, "d"], - [4640, 0, "}"], - [4641, 0, ")"], - [4642, 0, " "], - [4643, 0, "\\"], - [4644, 0, "c"], - [4645, 0, "u"], - [4646, 0, "p"], - [4647, 0, " "], - [4648, 0, "A"], - [4649, 0, "_"], - [4650, 0, "p"], - [4651, 0, "("], - [4652, 0, "\\"], - [4653, 0, "m"], - [4654, 0, "a"], - [4655, 0, "t"], - [4656, 0, "h"], - [4657, 0, "s"], - [4658, 0, "f"], - [4659, 0, "{"], - [4660, 0, "n"], - [4661, 0, "e"], - [4662, 0, "w"], - [4663, 0, "O"], - [4664, 0, "p"], - [4665, 0, "s"], - [4666, 0, "}"], - [4667, 0, ")"], - [4668, 0, "\\"], - [4669, 0, ","], - [4670, 0, "]"], - [4671, 0, "$"], - [4672, 0, "}"], - [4673, 0, "\n"], - [4674, 0, "\\"], - [4675, 0, "D"], - [4676, 0, "i"], - [4677, 0, "s"], - [4678, 0, "p"], - [4679, 0, "l"], - [4680, 0, "a"], - [4681, 0, "y"], - [4682, 0, "P"], - [4683, 0, "r"], - [4684, 0, "o"], - [4685, 0, "o"], - [4686, 0, "f"], - [4687, 0, "\\"], - [4688, 0, "h"], - [4689, 0, "f"], - [4690, 0, "i"], - [4691, 0, "l"], - [4692, 0, "l"], - [4693, 0, "\n"], - [4694, 0, "%"], - [4872, 0, "\\"], - [4873, 0, "D"], - [4874, 0, "i"], - [4875, 0, "s"], - [4876, 0, "p"], - [4877, 0, "l"], - [4878, 0, "a"], - [4879, 0, "y"], - [4880, 0, "P"], - [4881, 0, "r"], - [4882, 0, "o"], - [4883, 0, "o"], - [4884, 0, "f"], - [4516, 1], - [4515, 1], - [4514, 1], - [4513, 1], - [4512, 1], - [4511, 1], - [4510, 1], - [4509, 1], - [4508, 1], - [4507, 1], - [4506, 1], - [4505, 1], - [4504, 1], - [4503, 1], - [4502, 1], - [4501, 1], - [4500, 1], - [4499, 1], - [4498, 1], - [4497, 1], - [4496, 1], - [4495, 1], - [4494, 1], - [4493, 1], - [4492, 1], - [4491, 1], - [4491, 0, "b"], - [4492, 0, "e"], - [4493, 0, "g"], - [4494, 0, "i"], - [4495, 0, "n"], - [4496, 0, "{"], - [4497, 0, "p"], - [4498, 0, "r"], - [4499, 0, "o"], - [4500, 0, "o"], - [4501, 0, "f"], - [4502, 0, "t"], - [4503, 0, "r"], - [4504, 0, "e"], - [4505, 0, "e"], - [4506, 0, "}"], - [4683, 0, "\n"], - [4684, 0, "\\"], - [4685, 0, "e"], - [4686, 0, "n"], - [4687, 0, "d"], - [4688, 0, "{"], - [4689, 0, "p"], - [4690, 0, "r"], - [4691, 0, "o"], - [4692, 0, "o"], - [4693, 0, "f"], - [4694, 0, "t"], - [4695, 0, "r"], - [4696, 0, "e"], - [4697, 0, "e"], - [4698, 0, "}"], - [4700, 1], - [4700, 0, "\n"], - [4701, 0, "\\"], - [4702, 0, "b"], - [4703, 0, "e"], - [4704, 0, "g"], - [4705, 0, "i"], - [4706, 0, "n"], - [4707, 0, "P"], - [4707, 1], - [4707, 0, "{"], - [4708, 0, "p"], - [4709, 0, "r"], - [4710, 0, "o"], - [4711, 0, "o"], - [4712, 0, "f"], - [4713, 0, "t"], - [4714, 0, "r"], - [4715, 0, "e"], - [4716, 0, "e"], - [4717, 0, "}"], - [4923, 1], - [4922, 1], - [4921, 1], - [4920, 1], - [4919, 1], - [4918, 1], - [4917, 1], - [4916, 1], - [4915, 1], - [4914, 1], - [4913, 1], - [4912, 1], - [4911, 1], - [4910, 1], - [4909, 1], - [4908, 1], - [4907, 1], - [4906, 1], - [4905, 1], - [4904, 1], - [4903, 1], - [4902, 1], - [4901, 1], - [4900, 1], - [4899, 1], - [4898, 1], - [4897, 1], - [4896, 1], - [4896, 0, "e"], - [4897, 0, "n"], - [4898, 0, "d"], - [4899, 0, "{"], - [4900, 0, "p"], - [4901, 0, "r"], - [4902, 0, "o"], - [4903, 0, "o"], - [4904, 0, "f"], - [4905, 0, "t"], - [4906, 0, "r"], - [4907, 0, "e"], - [4908, 0, "e"], - [4909, 0, "}"], - [4682, 1], - [4681, 1], - [4680, 1], - [4679, 1], - [4678, 1], - [4677, 1], - [4676, 1], - [4675, 1], - [4674, 1], - [4673, 1], - [4672, 1], - [4671, 1], - [4670, 1], - [4669, 1], - [4668, 1], - [4667, 1], - [4666, 1], - [4665, 1], - [4664, 1], - [4663, 1], - [4890, 0, "\n"], - [4891, 0, "\n"], - [4892, 0, "\\"], - [4893, 0, "b"], - [4894, 0, "e"], - [4895, 0, "g"], - [4896, 0, "i"], - [4897, 0, "n"], - [4898, 0, "{"], - [4899, 0, "p"], - [4900, 0, "r"], - [4901, 0, "o"], - [4902, 0, "o"], - [4903, 0, "f"], - [4904, 0, "t"], - [4905, 0, "r"], - [4906, 0, "e"], - [4907, 0, "e"], - [4908, 0, "}"], - [4909, 0, "\n"], - [4910, 0, "\\"], - [4911, 0, "e"], - [4912, 0, "n"], - [4913, 0, "d"], - [4914, 0, "{"], - [4915, 0, "p"], - [4916, 0, "r"], - [4917, 0, "o"], - [4918, 0, "o"], - [4919, 0, "f"], - [4920, 0, "t"], - [4921, 0, "r"], - [4922, 0, "e"], - [4923, 0, "e"], - [4924, 0, "}"], - [4909, 0, "\n"], - [4910, 0, "\\"], - [4911, 0, "A"], - [4912, 0, "x"], - [4913, 0, "i"], - [4914, 0, "o"], - [4915, 0, "m"], - [4916, 0, "C"], - [4917, 0, "{"], - [4918, 0, "$"], - [4919, 0, "("], - [4920, 0, "\\"], - [4921, 0, "m"], - [4922, 0, "a"], - [4923, 0, "t"], - [4924, 0, "h"], - [4925, 0, "s"], - [4926, 0, "f"], - [4927, 0, "{"], - [4927, 1], - [4926, 1], - [4925, 1], - [4925, 0, "i"], - [4926, 0, "t"], - [4927, 0, "{"], - [4928, 0, "d"], - [4929, 0, "e"], - [4930, 0, "p"], - [4931, 0, "s"], - [4932, 0, "}"], - [4933, 0, ","], - [4934, 0, " "], - [4935, 0, "\\"], - [4936, 0, "m"], - [4937, 0, "a"], - [4938, 0, "t"], - [4939, 0, "h"], - [4940, 0, "i"], - [4941, 0, "t"], - [4942, 0, "{"], - [4943, 0, "i"], - [4944, 0, "p"], - [4944, 1], - [4943, 1], - [4943, 0, "o"], - [4944, 0, "p"], - [4945, 0, "}"], - [4946, 0, ")"], - [4947, 0, " "], - [4948, 0, "\\"], - [4949, 0, "i"], - [4950, 0, "n"], - [4951, 0, " "], - [4952, 0, "A"], - [4953, 0, "_"], - [4954, 0, "p"], - [4955, 0, "("], - [4956, 0, "\\"], - [4957, 0, "m"], - [4958, 0, "a"], - [4959, 0, "t"], - [4960, 0, "h"], - [4961, 0, "s"], - [4962, 0, "f"], - [4963, 0, "{"], - [4964, 0, "r"], - [4965, 0, "e"], - [4966, 0, "c"], - [4967, 0, "v"], - [4968, 0, "}"], - [4969, 0, ")"], - [4970, 0, "$"], - [4971, 0, "}"], - [4972, 0, "\n"], - [4973, 0, "\\"], - [4974, 0, "A"], - [4975, 0, "x"], - [4976, 0, "i"], - [4977, 0, "o"], - [4978, 0, "m"], - [4979, 0, "C"], - [4980, 0, "{"], - [4981, 0, "$"], - [4982, 0, " "], - [4982, 1], - [4982, 0, "\\"], - [4983, 0, "m"], - [4984, 0, "a"], - [4985, 0, "t"], - [4986, 0, "h"], - [4987, 0, "i"], - [4988, 0, "t"], - [4989, 0, "{"], - [4990, 0, "d"], - [4991, 0, "e"], - [4992, 0, "p"], - [4993, 0, "s"], - [4994, 0, "}"], - [4995, 0, " "], - [4996, 0, "\\"], - [4997, 0, "s"], - [4998, 0, "u"], - [4999, 0, "b"], - [5000, 0, "s"], - [5001, 0, "e"], - [5002, 0, "t"], - [5003, 0, "e"], - [5004, 0, "q"], - [5005, 0, " "], - [5006, 0, "A"], - [5007, 0, "_"], - [5008, 0, "p"], - [5009, 0, "("], - [5010, 0, "\\"], - [5011, 0, "m"], - [5012, 0, "a"], - [5013, 0, "t"], - [5014, 0, "h"], - [5015, 0, "s"], - [5016, 0, "f"], - [5017, 0, "{"], - [5018, 0, "o"], - [5019, 0, "p"], - [5020, 0, "s"], - [5021, 0, "}"], - [5022, 0, ")"], - [5023, 0, "$"], - [5024, 0, "}"], - [5025, 0, "\n"], - [5026, 0, "\\"], - [5027, 0, "A"], - [5028, 0, "x"], - [5029, 0, "i"], - [5030, 0, "o"], - [5031, 0, "m"], - [5032, 0, "C"], - [5033, 0, "{"], - [5034, 0, "$"], - [5035, 0, "A"], - [5036, 0, "_"], - [5037, 0, "p"], - [5038, 0, ","], - [5039, 0, " "], - [5040, 0, "\\"], - [5041, 0, "m"], - [5042, 0, "a"], - [5043, 0, "t"], - [5044, 0, "h"], - [5045, 0, "i"], - [5046, 0, "t"], - [5047, 0, "{"], - [5048, 0, "o"], - [5049, 0, "p"], - [5050, 0, "}"], - [5051, 0, " "], - [5052, 0, "\\"], - [5053, 0, "e"], - [5054, 0, "v"], - [5055, 0, "a"], - [5056, 0, "l"], - [5057, 0, "t"], - [5058, 0, "o"], - [5059, 0, " "], - [5060, 0, "A"], - [5061, 0, "_"], - [5062, 0, "p"], - [5063, 0, "'"], - [5064, 0, "$"], - [5065, 0, "}"], - [5066, 0, "\n"], - [5067, 0, "\\"], - [5068, 0, "L"], - [5069, 0, "e"], - [5070, 0, "f"], - [5071, 0, "t"], - [5072, 0, "L"], - [5073, 0, "a"], - [5074, 0, "b"], - [5075, 0, "e"], - [5076, 0, "l"], - [5077, 0, "{"], - [5078, 0, "\\"], - [5079, 0, "t"], - [5080, 0, "e"], - [5081, 0, "x"], - [5082, 0, "t"], - [5083, 0, "s"], - [5084, 0, "c"], - [5085, 0, "{"], - [5086, 0, "A"], - [5087, 0, "p"], - [5088, 0, "p"], - [5089, 0, "l"], - [5090, 0, "y"], - [5091, 0, "}"], - [5092, 0, "}"], - [5093, 0, "\n"], - [5094, 0, "\\"], - [5095, 0, "T"], - [5096, 0, "e"], - [5097, 0, "r"], - [5098, 0, "n"], - [5099, 0, "a"], - [5100, 0, "r"], - [5101, 0, "y"], - [5101, 1], - [5100, 1], - [5099, 1], - [5098, 1], - [5097, 1], - [5096, 1], - [5096, 0, "r"], - [5097, 0, "i"], - [5098, 0, "n"], - [5099, 0, "a"], - [5100, 0, "r"], - [5101, 0, "y"], - [5102, 0, "I"], - [5103, 0, "n"], - [5104, 0, "f"], - [5105, 0, "C"], - [5106, 0, "{"], - [5107, 0, "$"], - [5108, 0, "A"], - [5109, 0, "_"], - [5110, 0, "p"], - [5111, 0, ","], - [5112, 0, "\\"], - [5113, 0, ";"], - [5114, 0, " "], - [5115, 0, "\\"], - [5116, 0, "m"], - [5117, 0, "a"], - [5118, 0, "t"], - [5119, 0, "h"], - [5120, 0, "s"], - [5121, 0, "f"], - [5122, 0, "{"], - [5123, 0, "y"], - [5124, 0, "i"], - [5125, 0, "e"], - [5126, 0, "l"], - [5127, 0, "d"], - [5128, 0, "}"], - [5129, 0, " "], - [5130, 0, "\\"], - [5131, 0, "e"], - [5132, 0, "v"], - [5133, 0, "a"], - [5134, 0, "l"], - [5135, 0, "t"], - [5136, 0, "o"], - [5137, 0, " "], - [5138, 0, "A"], - [5139, 0, "_"], - [5140, 0, "p"], - [5141, 0, "'"], - [5142, 0, "["], - [5143, 0, "\\"], - [5144, 0, ","], - [5145, 0, "\\"], - [5146, 0, "m"], - [5147, 0, "a"], - [5148, 0, "t"], - [5149, 0, "h"], - [5150, 0, "s"], - [5151, 0, "f"], - [5152, 0, "{"], - [5153, 0, "o"], - [5154, 0, "p"], - [5155, 0, "s"], - [5156, 0, "}"], - [5157, 0, " "], - [5158, 0, "\\"], - [5159, 0, "m"], - [5160, 0, "a"], - [5161, 0, "p"], - [5162, 0, "s"], - [5163, 0, "t"], - [5164, 0, "o"], - [5165, 0, " "], - [5166, 0, "A"], - [5167, 0, "_"], - [5168, 0, "p"], - [5169, 0, "'"], - [5170, 0, "("], - [5171, 0, "\\"], - [5172, 0, "m"], - [5173, 0, "a"], - [5174, 0, "t"], - [5175, 0, "h"], - [5176, 0, "s"], - [5177, 0, "f"], - [5178, 0, "{"], - [5179, 0, "o"], - [5180, 0, "p"], - [5181, 0, "s"], - [5182, 0, "}"], - [5183, 0, ")"], - [5184, 0, " "], - [5185, 0, "\\"], - [5186, 0, "c"], - [5187, 0, "u"], - [5188, 0, "p"], - [5189, 0, " "], - [5190, 0, "\\"], - [5191, 0, "{"], - [5192, 0, "o"], - [5193, 0, "p"], - [5194, 0, "\\"], - [5195, 0, "}"], - [5196, 0, "\\"], - [5197, 0, ","], - [5198, 0, "]"], - [5199, 0, "$"], - [5200, 0, "}"], - [5192, 0, "\\"], - [5193, 0, "m"], - [5194, 0, "a"], - [5195, 0, "t"], - [5196, 0, "h"], - [5197, 0, "i"], - [5198, 0, "t"], - [5199, 0, "{"], - [5202, 0, "}"], - [5039, 0, "\\"], - [5040, 0, ";"], - [5228, 0, "\n"], - [5229, 0, "\\"], - [5230, 0, "c"], - [5231, 0, "a"], - [5232, 0, "p"], - [5233, 0, "t"], - [5234, 0, "i"], - [5235, 0, "o"], - [5236, 0, "n"], - [5237, 0, "{"], - [5238, 0, "R"], - [5239, 0, "u"], - [5240, 0, "l"], - [5241, 0, "e"], - [5242, 0, "s"], - [5243, 0, " "], - [5244, 0, "f"], - [5245, 0, "o"], - [5246, 0, "r"], - [5247, 0, " "], - [5248, 0, "m"], - [5249, 0, "a"], - [5250, 0, "i"], - [5251, 0, "n"], - [5252, 0, "t"], - [5253, 0, "i"], - [5253, 1], - [5252, 1], - [5251, 1], - [5250, 1], - [5249, 1], - [5248, 1], - [5248, 0, "L"], - [5249, 0, "a"], - [5250, 0, "m"], - [5251, 0, "p"], - [5252, 0, "o"], - [5253, 0, "r"], - [5254, 0, "t"], - [5255, 0, " "], - [5256, 0, "t"], - [5257, 0, "i"], - [5258, 0, "m"], - [5259, 0, "e"], - [5260, 0, "s"], - [5261, 0, "t"], - [5262, 0, "a"], - [5263, 0, "m"], - [5264, 0, "p"], - [5265, 0, "s"], - [5266, 0, ","], - [5267, 0, " "], - [5268, 0, "s"], - [5269, 0, "e"], - [5270, 0, "n"], - [5271, 0, "d"], - [5272, 0, "c"], - [5273, 0, "i"], - [5274, 0, "n"], - [5274, 1], - [5273, 1], - [5272, 1], - [5272, 0, "i"], - [5273, 0, "n"], - [5274, 0, "g"], - [5275, 0, " "], - [5276, 0, "a"], - [5277, 0, "n"], - [5278, 0, "d"], - [5279, 0, " "], - [5280, 0, "r"], - [5281, 0, "e"], - [5282, 0, "c"], - [5283, 0, "e"], - [5284, 0, "i"], - [5285, 0, "v"], - [5286, 0, "i"], - [5287, 0, "n"], - [5288, 0, "g"], - [5289, 0, " "], - [5290, 0, "o"], - [5291, 0, "p"], - [5292, 0, "e"], - [5293, 0, "r"], - [5294, 0, "a"], - [5295, 0, "t"], - [5296, 0, "i"], - [5297, 0, "o"], - [5298, 0, "n"], - [5299, 0, "s"], - [5300, 0, "}"], - [5301, 0, "\n"], - [5302, 0, "\\"], - [5303, 0, "l"], - [5304, 0, "a"], - [5305, 0, "b"], - [5306, 0, "e"], - [5307, 0, "l"], - [5308, 0, "{"], - [5309, 0, "f"], - [5310, 0, "i"], - [5311, 0, "g"], - [5312, 0, ":"], - [5313, 0, "s"], - [5314, 0, "e"], - [5315, 0, "n"], - [5316, 0, "d"], - [5317, 0, "-"], - [5318, 0, "r"], - [5319, 0, "e"], - [5320, 0, "c"], - [5321, 0, "v"], - [5322, 0, "}"], - [5323, 0, "\n"], - [5324, 0, "\\"], - [5325, 0, "e"], - [5326, 0, "n"], - [5327, 0, "d"], - [5328, 0, "{"], - [5329, 0, "f"], - [5330, 0, "i"], - [5331, 0, "g"], - [5332, 0, "u"], - [5333, 0, "r"], - [5334, 0, "e"], - [5335, 0, "*"], - [5336, 0, "}"], - [5338, 0, "\n"], - [5339, 0, "\\"], - [5340, 0, "b"], - [5341, 0, "e"], - [5342, 0, "g"], - [5343, 0, "i"], - [5344, 0, "n"], - [5345, 0, "{"], - [5346, 0, "f"], - [5347, 0, "i"], - [5348, 0, "g"], - [5349, 0, "u"], - [5350, 0, "r"], - [5351, 0, "e"], - [5352, 0, "*"], - [5353, 0, "}"], - [4697, 1], - [4696, 1], - [4695, 1], - [4694, 1], - [4693, 1], - [4692, 1], - [4691, 1], - [4690, 1], - [4689, 1], - [4688, 1], - [4687, 1], - [4686, 1], - [4685, 1], - [4684, 1], - [4683, 1], - [4682, 1], - [4682, 0, "p"], - [4683, 0, "r"], - [4684, 0, "o"], - [4685, 0, "o"], - [4686, 0, "f"], - [4687, 0, "S"], - [4688, 0, "k"], - [4689, 0, "i"], - [4690, 0, "p"], - [4691, 0, "A"], - [4692, 0, "m"], - [4693, 0, "o"], - [4694, 0, "u"], - [4695, 0, "n"], - [4696, 0, "t"], - [4697, 0, "'"], - [4698, 0, "l"], - [4699, 0, "e"], - [4700, 0, "a"], - [4701, 0, "v"], - [4702, 0, "e"], - [4703, 0, "v"], - [4704, 0, "m"], - [4705, 0, "o"], - [4706, 0, "d"], - [4707, 0, "e"], - [4697, 1], - [4697, 0, "\\"], - [4899, 1], - [4898, 1], - [4897, 1], - [4896, 1], - [4895, 1], - [4894, 1], - [4893, 1], - [4892, 1], - [4891, 1], - [4890, 1], - [4889, 1], - [4888, 1], - [4887, 1], - [4886, 1], - [4886, 0, "D"], - [4887, 0, "i"], - [4888, 0, "s"], - [4889, 0, "p"], - [4890, 0, "l"], - [4891, 0, "a"], - [4892, 0, "y"], - [4893, 0, "P"], - [4894, 0, "r"], - [4895, 0, "o"], - [4896, 0, "o"], - [4897, 0, "f"], - [4898, 0, "\\"], - [4898, 1], - [4898, 0, "\n"], - [4899, 0, "%"], - [4900, 0, "\n"], - [4901, 0, "\\"], - [4902, 0, "D"], - [4903, 0, "i"], - [4904, 0, "s"], - [4905, 0, "p"], - [4906, 0, "l"], - [4907, 0, "a"], - [4908, 0, "y"], - [4909, 0, "P"], - [4910, 0, "r"], - [4911, 0, "o"], - [4912, 0, "o"], - [4913, 0, "f"], - [4914, 0, "\\"], - [4915, 0, "p"], - [4916, 0, "r"], - [4917, 0, "o"], - [4918, 0, "o"], - [4919, 0, "f"], - [4920, 0, "S"], - [4921, 0, "k"], - [4922, 0, "i"], - [4923, 0, "p"], - [4924, 0, "A"], - [4925, 0, "m"], - [4926, 0, "o"], - [4927, 0, "u"], - [4928, 0, "n"], - [4929, 0, "t"], - [4900, 0, "\n"], - [4901, 0, "\\"], - [4902, 0, "A"], - [4903, 0, "x"], - [4904, 0, "i"], - [4905, 0, "o"], - [4906, 0, "m"], - [4907, 0, "C"], - [4908, 0, "{"], - [4909, 0, "}"], - [4910, 0, "\n"], - [4911, 0, "\\"], - [4912, 0, "L"], - [4913, 0, "e"], - [4914, 0, "f"], - [4915, 0, "t"], - [4916, 0, "L"], - [4917, 0, "a"], - [4918, 0, "b"], - [4919, 0, "e"], - [4920, 0, "l"], - [4921, 0, "{"], - [4922, 0, "\\"], - [4923, 0, "T"], - [4924, 0, "e"], - [4925, 0, "x"], - [4926, 0, "t"], - [4927, 0, "s"], - [4928, 0, "c"], - [4923, 1], - [4923, 0, "t"], - [4929, 0, "{"], - [4930, 0, "Y"], - [4931, 0, "i"], - [4932, 0, "e"], - [4933, 0, "l"], - [4934, 0, "d"], - [4935, 0, "-"], - [4936, 0, "N"], - [4937, 0, "O"], - [4938, 0, "P"], - [4939, 0, "}"], - [4940, 0, "}"], - [4941, 0, "\n"], - [4942, 0, "\\"], - [4943, 0, "U"], - [4944, 0, "n"], - [4945, 0, "a"], - [4946, 0, "r"], - [4947, 0, "y"], - [4948, 0, "I"], - [4949, 0, "n"], - [4950, 0, "f"], - [4951, 0, "C"], - [4952, 0, "{"], - [4953, 0, "$"], - [4954, 0, "A"], - [4955, 0, "_"], - [4956, 0, "p"], - [4957, 0, ","], - [4958, 0, "\\"], - [4959, 0, ";"], - [4960, 0, " "], - [4961, 0, "\\"], - [4962, 0, "m"], - [4963, 0, "a"], - [4964, 0, "t"], - [4965, 0, "h"], - [4966, 0, "s"], - [4967, 0, "f"], - [4968, 0, "{"], - [4969, 0, "y"], - [4970, 0, "i"], - [4971, 0, "e"], - [4972, 0, "l"], - [4973, 0, "d"], - [4974, 0, "}"], - [4975, 0, " "], - [4976, 0, "\\"], - [4977, 0, "e"], - [4978, 0, "v"], - [4979, 0, "a"], - [4980, 0, "l"], - [4981, 0, "t"], - [4982, 0, "o"], - [4983, 0, " "], - [4984, 0, "A"], - [4985, 0, "_"], - [4986, 0, "p"], - [4987, 0, "$"], - [4988, 0, "}"], - [4898, 0, "\\"], - [4899, 0, "h"], - [4900, 0, "s"], - [4901, 0, "p"], - [4902, 0, "a"], - [4903, 0, "c"], - [4904, 0, "e"], - [4905, 0, "{"], - [4906, 0, "3"], - [4907, 0, "0"], - [4908, 0, "p"], - [4909, 0, "t"], - [4910, 0, "}"], - [4909, 1], - [4908, 1], - [4907, 1], - [4907, 0, "e"], - [4908, 0, "m"], - [5495, 0, "\n"], - [5496, 0, "\\"], - [5497, 0, "b"], - [5498, 0, "e"], - [5499, 0, "g"], - [5500, 0, "i"], - [5501, 0, "n"], - [5502, 0, "{"], - [5503, 0, "p"], - [5504, 0, "r"], - [5505, 0, "o"], - [5506, 0, "o"], - [5507, 0, "f"], - [5508, 0, "t"], - [5509, 0, "r"], - [5510, 0, "e"], - [5511, 0, "e"], - [5512, 0, "}"], - [5513, 0, "\n"], - [5514, 0, "\\"], - [5515, 0, "e"], - [5516, 0, "n"], - [5517, 0, "d"], - [5518, 0, "{"], - [5519, 0, "P"], - [5519, 1], - [5519, 0, "p"], - [5520, 0, "r"], - [5521, 0, "o"], - [5522, 0, "o"], - [5523, 0, "f"], - [5524, 0, "t"], - [5525, 0, "r"], - [5526, 0, "e"], - [5527, 0, "e"], - [5528, 0, "}"], - [5529, 0, "\n"], - [5513, 0, "\n"], - [5514, 0, "\\"], - [5515, 0, "L"], - [5516, 0, "e"], - [5517, 0, "f"], - [5518, 0, "t"], - [5519, 0, "L"], - [5520, 0, "a"], - [5521, 0, "b"], - [5522, 0, "e"], - [5523, 0, "l"], - [5524, 0, "{"], - [5525, 0, "\\"], - [5526, 0, "t"], - [5527, 0, "e"], - [5528, 0, "x"], - [5529, 0, "t"], - [5530, 0, "s"], - [5531, 0, "c"], - [5532, 0, "{"], - [5533, 0, "I"], - [5534, 0, "n"], - [5535, 0, "s"], - [5536, 0, "e"], - [5537, 0, "r"], - [5538, 0, "t"], - [5539, 0, "}"], - [5540, 0, "}"], - [5541, 0, "\n"], - [5541, 1], - [5513, 0, "\n"], - [5514, 0, "\\"], - [5515, 0, "A"], - [5516, 0, "x"], - [5517, 0, "i"], - [5518, 0, "o"], - [5519, 0, "m"], - [5520, 0, "C"], - [5521, 0, "{"], - [5522, 0, "$"], - [5523, 0, "$"], - [5524, 0, "}"], - [5523, 0, "A"], - [5524, 0, "_"], - [5525, 0, "p"], - [5526, 0, ","], - [5527, 0, ";"], - [5527, 1], - [5527, 0, "\\"], - [5528, 0, ";"], - [5529, 0, "\\"], - [5530, 0, "m"], - [5531, 0, "a"], - [5532, 0, "t"], - [5533, 0, "h"], - [5534, 0, "s"], - [5535, 0, "f"], - [5536, 0, "{"], - [5537, 0, "n"], - [5538, 0, "e"], - [5539, 0, "w"], - [5540, 0, "I"], - [5541, 0, "D"], - [5542, 0, "}"], - [5529, 0, " "], - [5544, 0, " "], - [5545, 0, "\\"], - [5546, 0, "e"], - [5547, 0, "v"], - [5548, 0, "a"], - [5549, 0, "l"], - [5550, 0, "t"], - [5551, 0, "o"], - [5552, 0, " "], - [5553, 0, "A"], - [5554, 0, "_"], - [5555, 0, "p"], - [5556, 0, "'"], - [5557, 0, ","], - [5558, 0, "\\"], - [5559, 0, ";"], - [5560, 0, " "], - [5561, 0, "\\"], - [5562, 0, "m"], - [5563, 0, "a"], - [5564, 0, "t"], - [5565, 0, "h"], - [5566, 0, "i"], - [5567, 0, "d"], - [5568, 0, "{"], - [5569, 0, "i"], - [5570, 0, "d"], - [5571, 0, "}"], - [5567, 1], - [5567, 0, "t"], - [5602, 0, "\n"], - [5603, 0, "\\"], - [5604, 0, "T"], - [5605, 0, "r"], - [5606, 0, "i"], - [5607, 0, "n"], - [5608, 0, "a"], - [5609, 0, "r"], - [5610, 0, "y"], - [5611, 0, "I"], - [5612, 0, "n"], - [5613, 0, "f"], - [5614, 0, "C"], - [5615, 0, "{"], - [5616, 0, "$"], - [5617, 0, "A"], - [5618, 0, "_"], - [5619, 0, "p"], - [5620, 0, ","], - [5621, 0, "\\"], - [5622, 0, ";"], - [5623, 0, " "], - [5624, 0, "\\"], - [5625, 0, "m"], - [5626, 0, "a"], - [5627, 0, "t"], - [5628, 0, "h"], - [5629, 0, "s"], - [5630, 0, "f"], - [5631, 0, "{"], - [5632, 0, "i"], - [5633, 0, "n"], - [5634, 0, "s"], - [5635, 0, "e"], - [5636, 0, "r"], - [5637, 0, "t"], - [5638, 0, "L"], - [5639, 0, "o"], - [5640, 0, "c"], - [5641, 0, "a"], - [5642, 0, "l"], - [5643, 0, "}"], - [5644, 0, "("], - [5645, 0, "\\"], - [5646, 0, "m"], - [5647, 0, "a"], - [5648, 0, "t"], - [5649, 0, "h"], - [5650, 0, "i"], - [5651, 0, "t"], - [5652, 0, "{"], - [5653, 0, "p"], - [5654, 0, "r"], - [5655, 0, "e"], - [5656, 0, "v"], - [5657, 0, "}"], - [5658, 0, ")"], - [5513, 0, "\n"], - [5514, 0, "\\"], - [5515, 0, "A"], - [5516, 0, "x"], - [5517, 0, "i"], - [5518, 0, "o"], - [5519, 0, "m"], - [5520, 0, "C"], - [5521, 0, "{"], - [5522, 0, "$"], - [5523, 0, "A"], - [5523, 1], - [5523, 0, "\\"], - [5524, 0, "m"], - [5525, 0, "a"], - [5526, 0, "t"], - [5527, 0, "h"], - [5528, 0, "i"], - [5529, 0, "t"], - [5530, 0, "{"], - [5531, 0, "p"], - [5532, 0, "r"], - [5533, 0, "e"], - [5534, 0, "v"], - [5535, 0, "}"], - [5536, 0, " "], - [5537, 0, "\\"], - [5538, 0, "i"], - [5539, 0, "n"], - [5540, 0, " "], - [5541, 0, "\\"], - [5542, 0, "m"], - [5543, 0, "a"], - [5544, 0, "t"], - [5545, 0, "h"], - [5546, 0, "r"], - [5547, 0, "m"], - [5548, 0, "{"], - [5549, 0, "d"], - [5550, 0, "o"], - [5551, 0, "m"], - [5552, 0, "}"], - [5553, 0, "("], - [5554, 0, "A"], - [5555, 0, "_"], - [5556, 0, "p"], - [5557, 0, ")"], - [5558, 0, "$"], - [5559, 0, "}"], - [5705, 0, ","], - [5706, 0, " "], - [5707, 0, "v"], - [5709, 0, " "], - [5710, 0, "\\"], - [5711, 0, "e"], - [5712, 0, "v"], - [5713, 0, "a"], - [5714, 0, "l"], - [5715, 0, "t"], - [5716, 0, "o"], - [5717, 0, " "], - [5718, 0, "A"], - [5719, 0, "_"], - [5720, 0, "p"], - [5721, 0, "'"], - [5722, 0, "'"], - [5723, 0, "$"], - [5724, 0, "}"], - [5621, 0, "\n"], - [5622, 0, "\\"], - [5623, 0, "A"], - [5624, 0, "x"], - [5625, 0, "i"], - [5626, 0, "o"], - [5627, 0, "m"], - [5628, 0, "C"], - [5629, 0, "{"], - [5630, 0, "$"], - [5631, 0, "A"], - [5632, 0, "_"], - [5633, 0, "p"], - [5634, 0, "'"], - [5635, 0, ","], - [5636, 0, "\\"], - [5637, 0, ";"], - [5637, 1], - [5636, 1], - [5635, 1], - [5634, 1], - [5633, 1], - [5632, 1], - [5631, 1], - [5631, 0, "\\"], - [5632, 0, "m"], - [5633, 0, "a"], - [5634, 0, "t"], - [5635, 0, "h"], - [5636, 0, "i"], - [5637, 0, "t"], - [5638, 0, "{"], - [5639, 0, "o"], - [5640, 0, "p"], - [5641, 0, "}"], - [5738, 1], - [5738, 0, "\n"], - [5739, 0, " "], - [5740, 0, " "], - [5741, 0, " "], - [5742, 0, " "], - [5748, 0, "["], - [5749, 0, "\\"], - [5750, 0, ","], - [5751, 0, "\\"], - [5752, 0, "m"], - [5753, 0, "a"], - [5754, 0, "t"], - [5755, 0, "h"], - [5756, 0, "i"], - [5757, 0, "t"], - [5757, 1], - [5756, 1], - [5756, 0, "s"], - [5757, 0, "f"], - [5758, 0, "{"], - [5759, 0, "n"], - [5760, 0, "e"], - [5761, 0, "w"], - [5762, 0, "O"], - [5763, 0, "p"], - [5764, 0, "s"], - [5765, 0, "}"], - [5766, 0, " "], - [5767, 0, "\\"], - [5768, 0, "m"], - [5769, 0, "a"], - [5770, 0, "p"], - [5771, 0, "s"], - [5772, 0, "t"], - [5773, 0, "o"], - [5774, 0, " "], - [5775, 0, "A"], - [5776, 0, "_"], - [5777, 0, "p"], - [5778, 0, "'"], - [5779, 0, "'"], - [5780, 0, "("], - [5781, 0, "\\"], - [5782, 0, "m"], - [5783, 0, "a"], - [5784, 0, "t"], - [5785, 0, "h"], - [5786, 0, "s"], - [5787, 0, "f"], - [5788, 0, "{"], - [5789, 0, "n"], - [5790, 0, "e"], - [5791, 0, "w"], - [5792, 0, "O"], - [5793, 0, "p"], - [5794, 0, "s"], - [5795, 0, "}"], - [5796, 0, ")"], - [5797, 0, " "], - [5798, 0, "\\"], - [5799, 0, "c"], - [5800, 0, "u"], - [5801, 0, "p"], - [5802, 0, " "], - [5803, 0, "\\"], - [5804, 0, "{"], - [5805, 0, "\\"], - [5806, 0, "m"], - [5807, 0, "a"], - [5808, 0, "t"], - [5809, 0, "h"], - [5810, 0, "i"], - [5811, 0, "t"], - [5812, 0, "{"], - [5813, 0, "o"], - [5814, 0, "p"], - [5815, 0, "}"], - [5816, 0, "\\"], - [5817, 0, "}"], - [5818, 0, "\\"], - [5819, 0, ","], - [5820, 0, "]"], - [5805, 0, "\\"], - [5805, 1], - [5805, 0, "("], - [5806, 0, "A"], - [5807, 0, "_"], - [5808, 0, "p"], - [5809, 0, "'"], - [5810, 0, "'"], - [5811, 0, "("], - [5812, 0, "\\"], - [5813, 0, "m"], - [5814, 0, "a"], - [5815, 0, "t"], - [5816, 0, "h"], - [5817, 0, "i"], - [5818, 0, "t"], - [5819, 0, "{"], - [5819, 1], - [5818, 1], - [5817, 1], - [5817, 0, "s"], - [5818, 0, "f"], - [5819, 0, "{"], - [5820, 0, "o"], - [5821, 0, "p"], - [5822, 0, "s"], - [5823, 0, "}"], - [5824, 0, ")"], - [5825, 0, ","], - [5826, 0, " "], - [5838, 0, ")"], - [5642, 0, " "], - [5643, 0, "="], - [5644, 0, " "], - [5645, 0, "\\"], - [5646, 0, "m"], - [5647, 0, "a"], - [5648, 0, "t"], - [5649, 0, "h"], - [5650, 0, "s"], - [5651, 0, "f"], - [5652, 0, "{"], - [5653, 0, "i"], - [5654, 0, "n"], - [5655, 0, "s"], - [5656, 0, "e"], - [5657, 0, "r"], - [5658, 0, "t"], - [5659, 0, "}"], - [5660, 0, "("], - [5661, 0, "\\"], - [5662, 0, "m"], - [5663, 0, "a"], - [5664, 0, "t"], - [5665, 0, "h"], - [5666, 0, "i"], - [5667, 0, "t"], - [5668, 0, "{"], - [5669, 0, "i"], - [5670, 0, "d"], - [5671, 0, "}"], - [5672, 0, ","], - [5673, 0, " "], - [5674, 0, "\\"], - [5675, 0, "m"], - [5676, 0, "a"], - [5677, 0, "t"], - [5678, 0, "h"], - [5679, 0, "i"], - [5680, 0, "t"], - [5681, 0, "{"], - [5682, 0, "p"], - [5683, 0, "r"], - [5684, 0, "e"], - [5685, 0, "v"], - [5686, 0, "}"], - [5687, 0, ","], - [5688, 0, " "], - [5689, 0, "v"], - [5690, 0, ")"], - [5691, 0, "$"], - [5692, 0, "}"], - [5693, 0, "\n"], - [5694, 0, "\\"], - [5695, 0, "A"], - [5696, 0, "x"], - [5697, 0, "c"], - [5697, 1], - [5697, 0, "i"], - [5698, 0, "o"], - [5699, 0, "m"], - [5700, 0, "C"], - [5701, 0, "{"], - [5702, 0, "$"], - [5703, 0, "$"], - [5704, 0, "}"], - [5703, 0, "A"], - [5704, 0, "_"], - [5705, 0, "p"], - [5706, 0, "'"], - [5707, 0, ","], - [5708, 0, " "], - [5709, 0, "\\"], - [5710, 0, "m"], - [5711, 0, "a"], - [5712, 0, "t"], - [5713, 0, "h"], - [5714, 0, "i"], - [5715, 0, "t"], - [5716, 0, "{"], - [5717, 0, "o"], - [5718, 0, "p"], - [5719, 0, "}"], - [5720, 0, " "], - [5721, 0, "\\"], - [5722, 0, "e"], - [5723, 0, "v"], - [5724, 0, "a"], - [5725, 0, "l"], - [5726, 0, "t"], - [5727, 0, "o"], - [5728, 0, " "], - [5729, 0, "A"], - [5730, 0, "_"], - [5731, 0, "p"], - [5732, 0, "'"], - [5733, 0, "'"], - [5768, 1], - [5767, 1], - [5766, 1], - [5766, 0, "Q"], - [5767, 0, "u"], - [5768, 0, "a"], - [5769, 0, "t"], - [5770, 0, "e"], - [5771, 0, "r"], - [5938, 0, ","], - [5939, 0, "\\"], - [5940, 0, ";"], - [5941, 0, "\n"], - [5942, 0, " "], - [5943, 0, " "], - [5944, 0, " "], - [5945, 0, " "], - [5946, 0, "\\"], - [5947, 0, "m"], - [5948, 0, "a"], - [5949, 0, "t"], - [5950, 0, "h"], - [5951, 0, "s"], - [5952, 0, "f"], - [5953, 0, "{"], - [5954, 0, "o"], - [5955, 0, "p"], - [5956, 0, "s"], - [5957, 0, "}"], - [5861, 1], - [5860, 1], - [5859, 1], - [5858, 1], - [5857, 1], - [5856, 1], - [5856, 0, "q"], - [5857, 0, "u"], - [5858, 0, "e"], - [5859, 0, "u"], - [5860, 0, "e"], - [5890, 1], - [5889, 1], - [5888, 1], - [5887, 1], - [5886, 1], - [5885, 1], - [5885, 0, "q"], - [5886, 0, "u"], - [5887, 0, "e"], - [5888, 0, "u"], - [5889, 0, "e"], - [4655, 1], - [4654, 1], - [4653, 1], - [4652, 1], - [4651, 1], - [4650, 1], - [4650, 0, "q"], - [4651, 0, "u"], - [4652, 0, "e"], - [4653, 0, "u"], - [4654, 0, "e"], - [5000, 1], - [4999, 1], - [4998, 1], - [4997, 1], - [4996, 1], - [4995, 1], - [4994, 1], - [4993, 1], - [4992, 1], - [4991, 1], - [4990, 1], - [4989, 1], - [4988, 1], - [4987, 1], - [4986, 1], - [4985, 1], - [4984, 1], - [4983, 1], - [4982, 1], - [4981, 1], - [4980, 1], - [4979, 1], - [4978, 1], - [4977, 1], - [4976, 1], - [4975, 1], - [4974, 1], - [4973, 1], - [4972, 1], - [4971, 1], - [4970, 1], - [4969, 1], - [4968, 1], - [4967, 1], - [4966, 1], - [4965, 1], - [4964, 1], - [4963, 1], - [4962, 1], - [4961, 1], - [4960, 1], - [4959, 1], - [4958, 1], - [4957, 1], - [4956, 1], - [4955, 1], - [4954, 1], - [4953, 1], - [4952, 1], - [4951, 1], - [4950, 1], - [4949, 1], - [4948, 1], - [4947, 1], - [4946, 1], - [4945, 1], - [4944, 1], - [4943, 1], - [4942, 1], - [4941, 1], - [4940, 1], - [4939, 1], - [4938, 1], - [4937, 1], - [4936, 1], - [4935, 1], - [4934, 1], - [4933, 1], - [4932, 1], - [4931, 1], - [4930, 1], - [4929, 1], - [4928, 1], - [4927, 1], - [4926, 1], - [4925, 1], - [4924, 1], - [4923, 1], - [4922, 1], - [4921, 1], - [4920, 1], - [4919, 1], - [4918, 1], - [4917, 1], - [4916, 1], - [4915, 1], - [4914, 1], - [4913, 1], - [4912, 1], - [4911, 1], - [4910, 1], - [4909, 1], - [4908, 1], - [4907, 1], - [4906, 1], - [4905, 1], - [4904, 1], - [4903, 1], - [4902, 1], - [4901, 1], - [4900, 1], - [4899, 1], - [4898, 1], - [4897, 1], - [4896, 1], - [4895, 1], - [4894, 1], - [4893, 1], - [4892, 1], - [4891, 1], - [4890, 1], - [4889, 1], - [4888, 1], - [4887, 1], - [4886, 1], - [4885, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 1], - [4884, 0, "\\"], - [4885, 0, "e"], - [4886, 0, "n"], - [4887, 0, "d"], - [4888, 0, "{"], - [4889, 0, "p"], - [4890, 0, "r"], - [4891, 0, "o"], - [4892, 0, "o"], - [4893, 0, "f"], - [4894, 0, "t"], - [4895, 0, "r"], - [4896, 0, "e"], - [4897, 0, "e"], - [4898, 0, "}"], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 1], - [4680, 0, "\\"], - [4681, 0, "b"], - [4682, 0, "e"], - [4683, 0, "g"], - [4684, 0, "i"], - [4685, 0, "n"], - [4686, 0, "{"], - [4687, 0, "p"], - [4688, 0, "r"], - [4689, 0, "o"], - [4690, 0, "o"], - [4691, 0, "f"], - [4692, 0, "t"], - [4693, 0, "r"], - [4694, 0, "e"], - [4695, 0, "e"], - [4696, 0, "}"], - [5814, 0, " "], - [5815, 0, "\\"], - [5816, 0, "m"], - [5817, 0, "a"], - [5818, 0, "p"], - [5819, 0, "s"], - [5820, 0, "t"], - [5821, 0, "o"], - [5822, 0, " "], - [5823, 0, "A"], - [5824, 0, "_"], - [5825, 0, "p"], - [5826, 0, "'"], - [5827, 0, "'"], - [5828, 0, "("], - [5829, 0, "\\"], - [5830, 0, "m"], - [5831, 0, "a"], - [5832, 0, "t"], - [5833, 0, "h"], - [5834, 0, "s"], - [5835, 0, "f"], - [5836, 0, "{"], - [5837, 0, "o"], - [5838, 0, "p"], - [5839, 0, "s"], - [5840, 0, "}"], - [5841, 0, " "], - [5842, 0, "\\"], - [5842, 1], - [5841, 1], - [5840, 1], - [5840, 0, "}"], - [5841, 0, ")"], - [5842, 0, " "], - [5843, 0, "\\"], - [5844, 0, "c"], - [5845, 0, "u"], - [5846, 0, "p"], - [5847, 0, " "], - [5848, 0, "\\"], - [5849, 0, "{"], - [5850, 0, "\\"], - [5851, 0, "m"], - [5852, 0, "a"], - [5853, 0, "t"], - [5854, 0, "h"], - [5855, 0, "i"], - [5856, 0, "t"], - [5857, 0, "{"], - [5858, 0, "o"], - [5859, 0, "p"], - [5860, 0, "}"], - [5861, 0, "\\"], - [5862, 0, "}"], - [5227, 0, "\n"], - [5228, 0, "\n"], - [5229, 0, "\\"], - [5230, 0, "b"], - [5231, 0, "e"], - [5232, 0, "g"], - [5233, 0, "i"], - [5234, 0, "n"], - [5235, 0, "{"], - [5236, 0, "p"], - [5237, 0, "r"], - [5238, 0, "o"], - [5239, 0, "o"], - [5240, 0, "f"], - [5241, 0, "t"], - [5242, 0, "r"], - [5243, 0, "e"], - [5244, 0, "e"], - [5245, 0, "}"], - [5246, 0, "\n"], - [5247, 0, "\\"], - [5248, 0, "e"], - [5249, 0, "n"], - [5250, 0, "d"], - [5251, 0, "{"], - [5252, 0, "p"], - [5253, 0, "r"], - [5254, 0, "o"], - [5255, 0, "o"], - [5256, 0, "f"], - [5257, 0, "t"], - [5258, 0, "r"], - [5259, 0, "e"], - [5260, 0, "e"], - [5261, 0, "}"], - [5246, 0, "\n"], - [5247, 0, "\\"], - [5248, 0, "B"], - [5249, 0, "i"], - [5250, 0, "n"], - [5251, 0, "a"], - [5252, 0, "r"], - [5253, 0, "y"], - [5254, 0, "I"], - [5255, 0, "n"], - [5256, 0, "f"], - [5257, 0, "C"], - [5258, 0, "{"], - [5259, 0, "$"], - [5260, 0, "A"], - [5261, 0, "_"], - [5262, 0, "p"], - [5263, 0, ","], - [5264, 0, "\\"], - [5265, 0, ";"], - [5092, 0, "-"], - [5093, 0, "R"], - [5093, 1], - [5092, 1], - [5266, 0, " "], - [5267, 0, "\\"], - [5268, 0, "m"], - [5269, 0, "a"], - [5270, 0, "t"], - [5271, 0, "h"], - [5272, 0, "i"], - [5273, 0, "t"], - [5274, 0, "{"], - [5275, 0, "c"], - [5276, 0, "m"], - [5277, 0, "d"], - [5278, 0, "}"], - [5279, 0, " "], - [5280, 0, "\\"], - [5281, 0, "e"], - [5282, 0, "v"], - [5283, 0, "a"], - [5284, 0, "l"], - [5285, 0, "t"], - [5286, 0, "o"], - [5287, 0, " "], - [5288, 0, "A"], - [5289, 0, "_"], - [5290, 0, "p"], - [5291, 0, "'"], - [5292, 0, ","], - [5293, 0, "\\"], - [5294, 0, ";"], - [5295, 0, " "], - [5295, 1], - [5294, 1], - [5293, 1], - [5292, 1], - [5292, 0, "["], - [5293, 0, "\\"], - [5294, 0, ","], - [5246, 0, "\n"], - [5247, 0, "\\"], - [5248, 0, "A"], - [5249, 0, "x"], - [5250, 0, "i"], - [5251, 0, "o"], - [5252, 0, "m"], - [5253, 0, "C"], - [5254, 0, "{"], - [5255, 0, "$"], - [5256, 0, "A"], - [5257, 0, "_"], - [5258, 0, "p"], - [5259, 0, ","], - [5260, 0, "\\"], - [5261, 0, ";"], - [5262, 0, " "], - [5263, 0, "\\"], - [5264, 0, "m"], - [5265, 0, "a"], - [5266, 0, "t"], - [5267, 0, "h"], - [5268, 0, "i"], - [5269, 0, "t"], - [5270, 0, "{"], - [5271, 0, "c"], - [5272, 0, "m"], - [5273, 0, "d"], - [5274, 0, "}"], - [5275, 0, " "], - [5276, 0, "\\"], - [5277, 0, "e"], - [5278, 0, "v"], - [5279, 0, "a"], - [5280, 0, "l"], - [5281, 0, "t"], - [5282, 0, "o"], - [5283, 0, " "], - [5284, 0, "A"], - [5285, 0, "_"], - [5286, 0, "p"], - [5287, 0, "'"], - [5288, 0, ","], - [5289, 0, "\\"], - [5290, 0, ";"], - [5291, 0, "\\"], - [5292, 0, "m"], - [5293, 0, "a"], - [5291, 0, " "], - [5295, 0, "t"], - [5296, 0, "h"], - [5297, 0, "i"], - [5298, 0, "t"], - [5299, 0, "{"], - [5300, 0, "o"], - [5301, 0, "p"], - [5302, 0, "}"], - [5303, 0, "$"], - [5304, 0, "}"], - [5307, 1], - [5307, 1], - [5307, 0, "U"], - [5305, 0, "\n"], - [5306, 0, "\\"], - [5307, 0, "L"], - [5308, 0, "e"], - [5309, 0, "f"], - [5310, 0, "t"], - [5311, 0, "L"], - [5312, 0, "a"], - [5313, 0, "b"], - [5314, 0, "e"], - [5315, 0, "l"], - [5092, 0, "-"], - [5093, 0, "R"], - [5094, 0, "e"], - [5095, 0, "m"], - [5096, 0, "o"], - [5097, 0, "t"], - [5098, 0, "e"], - [5323, 0, "{"], - [5324, 0, "\\"], - [5325, 0, "t"], - [5326, 0, "e"], - [5327, 0, "x"], - [5328, 0, "t"], - [5329, 0, "s"], - [5330, 0, "c"], - [5331, 0, "{"], - [5332, 0, "A"], - [5333, 0, "p"], - [5334, 0, "p"], - [5335, 0, "l"], - [5336, 0, "y"], - [5337, 0, "-"], - [5338, 0, "L"], - [5339, 0, "o"], - [5340, 0, "c"], - [5341, 0, "a"], - [5342, 0, "l"], - [5343, 0, "}"], - [5344, 0, "}"], - [5393, 0, "\n"], - [5394, 0, " "], - [5395, 0, " "], - [5396, 0, " "], - [5397, 0, " "], - [5398, 0, "\\"], - [5399, 0, "m"], - [5400, 0, "a"], - [5401, 0, "t"], - [5402, 0, "h"], - [5403, 0, "s"], - [5404, 0, "f"], - [5405, 0, "{"], - [5406, 0, "q"], - [5407, 0, "u"], - [5408, 0, "e"], - [5409, 0, "u"], - [5410, 0, "e"], - [5411, 0, "}"], - [5412, 0, " "], - [5413, 0, "\\"], - [5414, 0, "m"], - [5415, 0, "a"], - [5416, 0, "p"], - [5417, 0, "s"], - [5418, 0, "t"], - [5419, 0, "o"], - [5420, 0, " "], - [5421, 0, "\\"], - [5421, 1], - [5421, 0, "A"], - [5422, 0, "_"], - [5423, 0, "p"], - [5424, 0, "'"], - [5425, 0, "("], - [5426, 0, "\\"], - [5427, 0, "m"], - [5428, 0, "a"], - [5429, 0, "t"], - [5430, 0, "h"], - [5431, 0, "s"], - [5432, 0, "f"], - [5433, 0, "{"], - [5434, 0, "q"], - [5435, 0, "u"], - [5436, 0, "e"], - [5437, 0, "u"], - [5438, 0, "e"], - [5439, 0, "}"], - [5440, 0, ")"], - [5441, 0, " "], - [5442, 0, "\\"], - [5443, 0, "c"], - [5444, 0, "u"], - [5445, 0, "p"], - [5446, 0, " "], - [5447, 0, "\\"], - [5448, 0, "{"], - [5449, 0, "("], - [5450, 0, "A"], - [5451, 0, "_"], - [5452, 0, "p"], - [5453, 0, "'"], - [5454, 0, "("], - [5455, 0, "\\"], - [5456, 0, "m"], - [5457, 0, "a"], - [5458, 0, "t"], - [5459, 0, "h"], - [5460, 0, "s"], - [5461, 0, "f"], - [5462, 0, "{"], - [5463, 0, "o"], - [5464, 0, "p"], - [5465, 0, "s"], - [5466, 0, "}"], - [5467, 0, ")"], - [5468, 0, ","], - [5469, 0, " "], - [5470, 0, "\\"], - [5471, 0, "m"], - [5472, 0, "a"], - [5473, 0, "t"], - [5474, 0, "h"], - [5475, 0, "i"], - [5476, 0, "t"], - [5477, 0, "{"], - [5478, 0, "o"], - [5479, 0, "p"], - [5480, 0, "}"], - [5481, 0, ")"], - [5482, 0, "\\"], - [5483, 0, "}"], - [5484, 0, ","], - [5485, 0, "\\"], - [5486, 0, ";"], - [5487, 0, "\n"], - [5488, 0, " "], - [5489, 0, " "], - [5490, 0, " "], - [5491, 0, " "], - [5492, 0, "\\"], - [5493, 0, "m"], - [5494, 0, "a"], - [5495, 0, "t"], - [5496, 0, "h"], - [5497, 0, "s"], - [5498, 0, "f"], - [5499, 0, "{"], - [5500, 0, "o"], - [5501, 0, "p"], - [5502, 0, "s"], - [5503, 0, "}"], - [5504, 0, " "], - [5505, 0, "\\"], - [5506, 0, "m"], - [5507, 0, "a"], - [5508, 0, "p"], - [5509, 0, "s"], - [5510, 0, "t"], - [5511, 0, "o"], - [5512, 0, " "], - [5513, 0, "A"], - [5514, 0, "_"], - [5515, 0, "p"], - [5516, 0, "'"], - [5517, 0, "("], - [5518, 0, "\\"], - [5519, 0, "m"], - [5520, 0, "a"], - [5521, 0, "t"], - [5522, 0, "h"], - [5523, 0, "s"], - [5524, 0, "f"], - [5525, 0, "{"], - [5526, 0, "o"], - [5527, 0, "p"], - [5528, 0, "s"], - [5529, 0, "}"], - [5530, 0, ")"], - [5531, 0, " "], - [5532, 0, "\\"], - [5533, 0, "c"], - [5534, 0, "u"], - [5535, 0, "p"], - [5536, 0, " "], - [5537, 0, "\\"], - [5538, 0, "{"], - [5539, 0, "\\"], - [5540, 0, "m"], - [5541, 0, "a"], - [5542, 0, "t"], - [5543, 0, "h"], - [5544, 0, "i"], - [5545, 0, "t"], - [5546, 0, "{"], - [5547, 0, "o"], - [5548, 0, "p"], - [5549, 0, "}"], - [5550, 0, "\\"], - [5551, 0, "}"], - [5552, 0, "\\"], - [5553, 0, ","], - [5554, 0, "]"], - [5555, 0, "$"], - [5556, 0, "}"], - [4889, 0, "\n"], - [4890, 0, "\n"], - [4891, 0, "\\"], - [4892, 0, "b"], - [4893, 0, "e"], - [4894, 0, "g"], - [4895, 0, "i"], - [4896, 0, "n"], - [4897, 0, "{"], - [4898, 0, "p"], - [4899, 0, "r"], - [4900, 0, "o"], - [4901, 0, "o"], - [4902, 0, "f"], - [4903, 0, "t"], - [4904, 0, "r"], - [4905, 0, "e"], - [4906, 0, "e"], - [4907, 0, "}"], - [4908, 0, "\n"], - [4909, 0, "\\"], - [4910, 0, "A"], - [4911, 0, "x"], - [4912, 0, "i"], - [4913, 0, "o"], - [4914, 0, "m"], - [4915, 0, "C"], - [4916, 0, "{"], - [4917, 0, "$"], - [4918, 0, "A"], - [4919, 0, "_"], - [4920, 0, "p"], - [4921, 0, ","], - [4922, 0, "\\"], - [4923, 0, ";"], - [4924, 0, " "], - [4925, 0, "\\"], - [4926, 0, "m"], - [4927, 0, "a"], - [4928, 0, "t"], - [4929, 0, "h"], - [4930, 0, "i"], - [4931, 0, "t"], - [4932, 0, "{"], - [4933, 0, "c"], - [4934, 0, "m"], - [4935, 0, "d"], - [4936, 0, "}"], - [4937, 0, " "], - [4938, 0, "\\"], - [4939, 0, "e"], - [4940, 0, "v"], - [4941, 0, "a"], - [4942, 0, "l"], - [4943, 0, "t"], - [4944, 0, "o"], - [4945, 0, " "], - [4946, 0, "A"], - [4947, 0, "_"], - [4948, 0, "p"], - [4949, 0, "'"], - [4950, 0, ","], - [4951, 0, "\\"], - [4952, 0, ";"], - [4953, 0, " "], - [4954, 0, "\\"], - [4955, 0, "m"], - [4956, 0, "a"], - [4957, 0, "t"], - [4958, 0, "h"], - [4959, 0, "i"], - [4960, 0, "t"], - [4961, 0, "{"], - [4962, 0, "o"], - [4963, 0, "p"], - [4964, 0, "}"], - [4965, 0, "$"], - [4966, 0, "}"], - [4967, 0, "\n"], - [4968, 0, "\\"], - [4969, 0, "L"], - [4970, 0, "e"], - [4971, 0, "f"], - [4972, 0, "t"], - [4973, 0, "L"], - [4974, 0, "a"], - [4975, 0, "b"], - [4976, 0, "e"], - [4977, 0, "l"], - [4978, 0, "{"], - [4979, 0, "\\"], - [4980, 0, "t"], - [4981, 0, "e"], - [4982, 0, "x"], - [4983, 0, "t"], - [4984, 0, "s"], - [4985, 0, "c"], - [4986, 0, "{"], - [4987, 0, "A"], - [4988, 0, "p"], - [4989, 0, "p"], - [4990, 0, "l"], - [4991, 0, "y"], - [4992, 0, "-"], - [4993, 0, "L"], - [4994, 0, "o"], - [4995, 0, "c"], - [4996, 0, "a"], - [4997, 0, "l"], - [4998, 0, "}"], - [4999, 0, "}"], - [5000, 0, "\n"], - [5001, 0, "\\"], - [5002, 0, "U"], - [5003, 0, "n"], - [5004, 0, "a"], - [5005, 0, "r"], - [5006, 0, "y"], - [5007, 0, "I"], - [5008, 0, "n"], - [5009, 0, "f"], - [5010, 0, "C"], - [5011, 0, "{"], - [5012, 0, "$"], - [5013, 0, "A"], - [5014, 0, "_"], - [5015, 0, "p"], - [5016, 0, ","], - [5017, 0, "\\"], - [5018, 0, ";"], - [5019, 0, " "], - [5020, 0, "\\"], - [5021, 0, "m"], - [5022, 0, "a"], - [5023, 0, "t"], - [5024, 0, "h"], - [5025, 0, "i"], - [5026, 0, "t"], - [5027, 0, "{"], - [5028, 0, "c"], - [5029, 0, "m"], - [5030, 0, "d"], - [5031, 0, "}"], - [5032, 0, " "], - [5033, 0, "\\"], - [5034, 0, "e"], - [5035, 0, "v"], - [5036, 0, "a"], - [5037, 0, "l"], - [5038, 0, "t"], - [5039, 0, "o"], - [5040, 0, " "], - [5041, 0, "A"], - [5042, 0, "_"], - [5043, 0, "p"], - [5044, 0, "'"], - [5045, 0, ","], - [5046, 0, "\\"], - [5046, 1], - [5045, 1], - [5045, 0, "["], - [5046, 0, "\\"], - [5047, 0, ","], - [5048, 0, "\n"], - [5049, 0, " "], - [5050, 0, " "], - [5051, 0, " "], - [5052, 0, " "], - [5053, 0, "\\"], - [5054, 0, "m"], - [5055, 0, "a"], - [5056, 0, "t"], - [5057, 0, "h"], - [5058, 0, "s"], - [5059, 0, "f"], - [5060, 0, "{"], - [5061, 0, "q"], - [5062, 0, "u"], - [5063, 0, "e"], - [5064, 0, "u"], - [5065, 0, "e"], - [5066, 0, "}"], - [5067, 0, " "], - [5068, 0, "\\"], - [5069, 0, "m"], - [5070, 0, "a"], - [5071, 0, "p"], - [5072, 0, "s"], - [5073, 0, "t"], - [5074, 0, "o"], - [5075, 0, " "], - [5076, 0, "A"], - [5077, 0, "_"], - [5078, 0, "p"], - [5079, 0, "'"], - [5080, 0, "("], - [5081, 0, "\\"], - [5082, 0, "m"], - [5083, 0, "a"], - [5084, 0, "t"], - [5085, 0, "h"], - [5086, 0, "s"], - [5087, 0, "f"], - [5088, 0, "{"], - [5089, 0, "q"], - [5090, 0, "u"], - [5091, 0, "e"], - [5092, 0, "u"], - [5093, 0, "e"], - [5094, 0, "}"], - [5095, 0, ")"], - [5096, 0, " "], - [5097, 0, "\\"], - [5098, 0, "c"], - [5099, 0, "u"], - [5100, 0, "p"], - [5101, 0, " "], - [5102, 0, "\\"], - [5103, 0, "{"], - [5104, 0, "("], - [5105, 0, "A"], - [5106, 0, "_"], - [5107, 0, "p"], - [5108, 0, "'"], - [5109, 0, "("], - [5110, 0, "\\"], - [5111, 0, "m"], - [5112, 0, "a"], - [5113, 0, "t"], - [5114, 0, "h"], - [5115, 0, "s"], - [5116, 0, "f"], - [5117, 0, "{"], - [5118, 0, "o"], - [5119, 0, "p"], - [5120, 0, "s"], - [5121, 0, "}"], - [5122, 0, ")"], - [5123, 0, ","], - [5124, 0, " "], - [5125, 0, "\\"], - [5126, 0, "m"], - [5127, 0, "a"], - [5128, 0, "t"], - [5129, 0, "h"], - [5130, 0, "i"], - [5131, 0, "t"], - [5132, 0, "{"], - [5133, 0, "o"], - [5134, 0, "p"], - [5135, 0, "}"], - [5136, 0, ")"], - [5137, 0, "\\"], - [5138, 0, "}"], - [5139, 0, ","], - [5140, 0, "\\"], - [5141, 0, "'"], - [5141, 1], - [5141, 0, ";"], - [5142, 0, "\n"], - [5143, 0, " "], - [5144, 0, " "], - [5145, 0, " "], - [5146, 0, " "], - [5147, 0, "\\"], - [5148, 0, "m"], - [5149, 0, "a"], - [5150, 0, "t"], - [5151, 0, "h"], - [5152, 0, "s"], - [5153, 0, "f"], - [5154, 0, "{"], - [5155, 0, "o"], - [5156, 0, "p"], - [5157, 0, "s"], - [5158, 0, "}"], - [5159, 0, " "], - [5160, 0, "\\"], - [5161, 0, "m"], - [5162, 0, "a"], - [5163, 0, "p"], - [5164, 0, "s"], - [5165, 0, "t"], - [5166, 0, "o"], - [5167, 0, " "], - [5168, 0, "\\"], - [5169, 0, "A"], - [5170, 0, "_"], - [5171, 0, "p"], - [5172, 0, "'"], - [5173, 0, "("], - [5174, 0, "\\"], - [5175, 0, "m"], - [5176, 0, "a"], - [5177, 0, "t"], - [5178, 0, "h"], - [5179, 0, "s"], - [5180, 0, "f"], - [5181, 0, "{"], - [5182, 0, "o"], - [5183, 0, "p"], - [5184, 0, "s"], - [5185, 0, "}"], - [5186, 0, ")"], - [5187, 0, " "], - [5188, 0, "\\"], - [5189, 0, "c"], - [5190, 0, "u"], - [5191, 0, "p"], - [5097, 0, "\\"], - [5098, 0, ";"], - [5103, 0, "\\"], - [5104, 0, ";"], - [5196, 0, " "], - [5197, 0, "\\"], - [5198, 0, "{"], - [5199, 0, "\\"], - [5200, 0, "m"], - [5201, 0, "a"], - [5202, 0, "t"], - [5203, 0, "h"], - [5204, 0, "i"], - [5205, 0, "t"], - [5206, 0, "{"], - [5207, 0, "o"], - [5208, 0, "p"], - [5209, 0, "}"], - [5210, 0, "\\"], - [5211, 0, "}"], - [5212, 0, "\\"], - [5213, 0, ","], - [5214, 0, "]"], - [5215, 0, "$"], - [5216, 0, "}"], - [5217, 0, "\n"], - [5218, 0, "\\"], - [5219, 0, "e"], - [5220, 0, "n"], - [5221, 0, "d"], - [5222, 0, "{"], - [5223, 0, "p"], - [5224, 0, "r"], - [5225, 0, "o"], - [5226, 0, "o"], - [5227, 0, "f"], - [5228, 0, "t"], - [5229, 0, "r"], - [5230, 0, "e"], - [5231, 0, "e"], - [5232, 0, "}"], - [5916, 1], - [5915, 1], - [5914, 1], - [5913, 1], - [5912, 1], - [5911, 1], - [5910, 1], - [5909, 1], - [5908, 1], - [5907, 1], - [5906, 1], - [5905, 1], - [5904, 1], - [5903, 1], - [5902, 1], - [5901, 1], - [5900, 1], - [5899, 1], - [5898, 1], - [5897, 1], - [5896, 1], - [5895, 1], - [5894, 1], - [5893, 1], - [5892, 1], - [5891, 1], - [5890, 1], - [5889, 1], - [5888, 1], - [5887, 1], - [5886, 1], - [5885, 1], - [5884, 1], - [5883, 1], - [5882, 1], - [5881, 1], - [5880, 1], - [5879, 1], - [5878, 1], - [5877, 1], - [5876, 1], - [5875, 1], - [5874, 1], - [5873, 1], - [5872, 1], - [5871, 1], - [5870, 1], - [5869, 1], - [5868, 1], - [5867, 1], - [5866, 1], - [5865, 1], - [5864, 1], - [5863, 1], - [5862, 1], - [5861, 1], - [5860, 1], - [5859, 1], - [5858, 1], - [5857, 1], - [5856, 1], - [5855, 1], - [5854, 1], - [5853, 1], - [5852, 1], - [5851, 1], - [5850, 1], - [5849, 1], - [5848, 1], - [5847, 1], - [5846, 1], - [5845, 1], - [5844, 1], - [5843, 1], - [5842, 1], - [5841, 1], - [5840, 1], - [5839, 1], - [5838, 1], - [5837, 1], - [5836, 1], - [5835, 1], - [5834, 1], - [5833, 1], - [5832, 1], - [5831, 1], - [5830, 1], - [5829, 1], - [5828, 1], - [5827, 1], - [5826, 1], - [5825, 1], - [5824, 1], - [5823, 1], - [5822, 1], - [5821, 1], - [5820, 1], - [5819, 1], - [5818, 1], - [5817, 1], - [5816, 1], - [5815, 1], - [5814, 1], - [5813, 1], - [5812, 1], - [5811, 1], - [5810, 1], - [5809, 1], - [5808, 1], - [5807, 1], - [5806, 1], - [5805, 1], - [5804, 1], - [5803, 1], - [5802, 1], - [5801, 1], - [5800, 1], - [5799, 1], - [5798, 1], - [5797, 1], - [5796, 1], - [5795, 1], - [5794, 1], - [5793, 1], - [5792, 1], - [5791, 1], - [5790, 1], - [5789, 1], - [5788, 1], - [5787, 1], - [5786, 1], - [5785, 1], - [5784, 1], - [5783, 1], - [5782, 1], - [5781, 1], - [5780, 1], - [5779, 1], - [5778, 1], - [5777, 1], - [5776, 1], - [5775, 1], - [5774, 1], - [5773, 1], - [5772, 1], - [5771, 1], - [5770, 1], - [5769, 1], - [5768, 1], - [5767, 1], - [5766, 1], - [5765, 1], - [5764, 1], - [5763, 1], - [5762, 1], - [5761, 1], - [5760, 1], - [5759, 1], - [5758, 1], - [5757, 1], - [5756, 1], - [5755, 1], - [5754, 1], - [5753, 1], - [5752, 1], - [5751, 1], - [5750, 1], - [5749, 1], - [5748, 1], - [5747, 1], - [5746, 1], - [5745, 1], - [5744, 1], - [5743, 1], - [5742, 1], - [5741, 1], - [5740, 1], - [5739, 1], - [5738, 1], - [5737, 1], - [5736, 1], - [5735, 1], - [5734, 1], - [5733, 1], - [5732, 1], - [5731, 1], - [5730, 1], - [5729, 1], - [5728, 1], - [5727, 1], - [5726, 1], - [5725, 1], - [5724, 1], - [5723, 1], - [5722, 1], - [5721, 1], - [5720, 1], - [5719, 1], - [5718, 1], - [5717, 1], - [5716, 1], - [5715, 1], - [5714, 1], - [5713, 1], - [5712, 1], - [5711, 1], - [5710, 1], - [5709, 1], - [5708, 1], - [5707, 1], - [5706, 1], - [5705, 1], - [5704, 1], - [5703, 1], - [5702, 1], - [5701, 1], - [5700, 1], - [5699, 1], - [5698, 1], - [5697, 1], - [5696, 1], - [5695, 1], - [5694, 1], - [5693, 1], - [5692, 1], - [5691, 1], - [5690, 1], - [5689, 1], - [5688, 1], - [5687, 1], - [5686, 1], - [5685, 1], - [5684, 1], - [5683, 1], - [5682, 1], - [5681, 1], - [5680, 1], - [5679, 1], - [5678, 1], - [5677, 1], - [5676, 1], - [5675, 1], - [5674, 1], - [5673, 1], - [5672, 1], - [5671, 1], - [5670, 1], - [5669, 1], - [5668, 1], - [5667, 1], - [5666, 1], - [5665, 1], - [5664, 1], - [5663, 1], - [5662, 1], - [5661, 1], - [5660, 1], - [5659, 1], - [5658, 1], - [5657, 1], - [5656, 1], - [5655, 1], - [5654, 1], - [5653, 1], - [5652, 1], - [5651, 1], - [5650, 1], - [5649, 1], - [5648, 1], - [5647, 1], - [5646, 1], - [5645, 1], - [5644, 1], - [5643, 1], - [5642, 1], - [5641, 1], - [5640, 1], - [5639, 1], - [5638, 1], - [5637, 1], - [5636, 1], - [5635, 1], - [5634, 1], - [5633, 1], - [5632, 1], - [5631, 1], - [5630, 1], - [5629, 1], - [5628, 1], - [5627, 1], - [5626, 1], - [5625, 1], - [5624, 1], - [5623, 1], - [5622, 1], - [5621, 1], - [5620, 1], - [5619, 1], - [5618, 1], - [5617, 1], - [5616, 1], - [5615, 1], - [5614, 1], - [5613, 1], - [5612, 1], - [5611, 1], - [5610, 1], - [5609, 1], - [5608, 1], - [5607, 1], - [5606, 1], - [5605, 1], - [5604, 1], - [5603, 1], - [5602, 1], - [5601, 1], - [5600, 1], - [5599, 1], - [5598, 1], - [5597, 1], - [5596, 1], - [5595, 1], - [5594, 1], - [5593, 1], - [5592, 1], - [5591, 1], - [5590, 1], - [5589, 1], - [5588, 1], - [5587, 1], - [5586, 1], - [5585, 1], - [5584, 1], - [5583, 1], - [5582, 1], - [5581, 1], - [5580, 1], - [5579, 1], - [5578, 1], - [5172, 1], - [5191, 0, "\\"], - [5192, 0, ";"], - [5197, 0, "\\"], - [5198, 0, ";"], - [5540, 0, "'"], - [5541, 0, ";"], - [5541, 1], - [5540, 1], - [5540, 0, "\\"], - [5541, 0, ";"], - [5546, 0, "\\"], - [5547, 0, ";"], - [5492, 0, "\n"], - [5493, 0, " "], - [5494, 0, " "], - [5495, 0, " "], - [4797, 0, "\n"], - [4798, 0, " "], - [4799, 0, " "], - [4800, 0, " "], - [4853, 0, "\\"], - [4854, 0, ";"], - [4849, 0, "\\"], - [4850, 0, ";"], - [4585, 0, "\n"], - [4586, 0, " "], - [4587, 0, " "], - [4588, 0, " "], - [4641, 0, "\\"], - [4642, 0, ";"], - [4637, 0, "\\"], - [4638, 0, ";"], - [4638, 1], - [4638, 0, ","], - [4644, 1], - [4644, 0, ","], - [4864, 1], - [4864, 0, ","], - [4858, 1], - [4858, 0, ","], - [4830, 0, "\\"], - [4831, 0, ","], - [4839, 0, "\\"], - [4840, 0, ","], - [4610, 0, "\\"], - [4611, 0, ","], - [4619, 0, "\\"], - [4620, 0, ","], - [5092, 0, "\\"], - [5093, 0, ","], - [5101, 0, "\\"], - [5102, 0, ","], - [5192, 0, "\\"], - [5193, 0, ","], - [5201, 0, "\\"], - [5202, 0, ","], - [5230, 1], - [5230, 0, ","], - [5224, 1], - [5224, 0, ","], - [5132, 1], - [5132, 0, ","], - [5126, 1], - [5126, 0, ","], - [5577, 1], - [5577, 0, ","], - [5583, 1], - [5583, 0, ","], - [5549, 0, "\\"], - [5550, 0, ","], - [5558, 0, "\\"], - [5559, 0, ","], - [6100, 1], - [6100, 0, ","], - [6101, 0, "\\"], - [6102, 0, ";"], - [6103, 0, " "], - [6104, 0, "\\"], - [6105, 0, "m"], - [6106, 0, "a"], - [6107, 0, "t"], - [6108, 0, "h"], - [6109, 0, "s"], - [6110, 0, "f"], - [6111, 0, "{"], - [6112, 0, "i"], - [6113, 0, "n"], - [6114, 0, "s"], - [6115, 0, "e"], - [6116, 0, "r"], - [6117, 0, "t"], - [6118, 0, "}"], - [6119, 0, "("], - [6120, 0, "\\"], - [6121, 0, "m"], - [6122, 0, "a"], - [6123, 0, "t"], - [6124, 0, "h"], - [6125, 0, "i"], - [6126, 0, "t"], - [6127, 0, "{"], - [6128, 0, "i"], - [6129, 0, "d"], - [6130, 0, "}"], - [6131, 0, ","], - [6132, 0, " "], - [6133, 0, "\\"], - [6134, 0, "m"], - [6135, 0, "a"], - [6136, 0, "t"], - [6137, 0, "h"], - [6138, 0, "i"], - [6139, 0, "t"], - [6140, 0, "{"], - [6141, 0, "p"], - [6142, 0, "r"], - [6143, 0, "e"], - [6144, 0, "v"], - [6145, 0, "}"], - [6146, 0, ","], - [6147, 0, " "], - [6148, 0, "v"], - [6149, 0, ")"], - [6150, 0, "$"], - [6151, 0, "}"], - [6152, 0, "\n"], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [6153, 1], - [5991, 1], - [5990, 1], - [5989, 1], - [5988, 1], - [5987, 1], - [5986, 1], - [5985, 1], - [5984, 1], - [5983, 1], - [5982, 1], - [5981, 1], - [5980, 1], - [5979, 1], - [5978, 1], - [5977, 1], - [5976, 1], - [5975, 1], - [5974, 1], - [5973, 1], - [5972, 1], - [5971, 1], - [5970, 1], - [5969, 1], - [5968, 1], - [5967, 1], - [5966, 1], - [5965, 1], - [5964, 1], - [5963, 1], - [5962, 1], - [5961, 1], - [5960, 1], - [5959, 1], - [5958, 1], - [5957, 1], - [5956, 1], - [5955, 1], - [5954, 1], - [5953, 1], - [5952, 1], - [5951, 1], - [5950, 1], - [5949, 1], - [5948, 1], - [5947, 1], - [5946, 1], - [5945, 1], - [5944, 1], - [5943, 1], - [5942, 1], - [5941, 1], - [5940, 1], - [5939, 1], - [5938, 1], - [5937, 1], - [5936, 1], - [5935, 1], - [5934, 1], - [5933, 1], - [5932, 1], - [5931, 1], - [5930, 1], - [5929, 1], - [5928, 1], - [5927, 1], - [5926, 1], - [5925, 1], - [5924, 1], - [5923, 1], - [5922, 1], - [5921, 1], - [5920, 1], - [5919, 1], - [5918, 1], - [5917, 1], - [5916, 1], - [5915, 1], - [5914, 1], - [5913, 1], - [5912, 1], - [5911, 1], - [5910, 1], - [5909, 1], - [5908, 1], - [5907, 1], - [5906, 1], - [5905, 1], - [5904, 1], - [5903, 1], - [5902, 1], - [5901, 1], - [5900, 1], - [5899, 1], - [5898, 1], - [5897, 1], - [5896, 1], - [5895, 1], - [5894, 1], - [5893, 1], - [5892, 1], - [5891, 1], - [5890, 1], - [5889, 1], - [5888, 1], - [5887, 1], - [5886, 1], - [5885, 1], - [5884, 1], - [5883, 1], - [5882, 1], - [5881, 1], - [5880, 1], - [5879, 1], - [5878, 1], - [5877, 1], - [5907, 1], - [5907, 1], - [5907, 1], - [5907, 1], - [5907, 1], - [5907, 1], - [5907, 0, "B"], - [5908, 0, "i"], - [4488, 0, "\\"], - [4489, 0, "p"], - [4490, 0, "r"], - [4491, 0, "o"], - [4492, 0, "o"], - [4493, 0, "f"], - [4494, 0, "S"], - [4495, 0, "k"], - [4496, 0, "i"], - [4497, 0, "p"], - [4498, 0, "A"], - [4499, 0, "m"], - [4500, 0, "o"], - [4501, 0, "u"], - [4502, 0, "n"], - [4503, 0, "t"], - [7250, 1], - [7250, 1], - [7250, 1], - [7250, 1], - [7172, 1], - [7172, 1], - [7172, 1], - [7172, 1], - [7137, 1], - [7137, 1], - [7137, 1], - [7137, 1], - [7077, 1], - [7077, 1], - [7077, 1], - [7077, 1], - [7005, 1], - [7005, 1], - [7005, 1], - [7005, 1], - [6883, 1], - [6883, 1], - [6883, 1], - [6883, 1], - [6844, 1], - [6844, 1], - [6844, 1], - [6844, 1], - [6762, 1], - [6762, 1], - [6762, 1], - [6762, 1], - [6719, 1], - [6719, 1], - [6719, 1], - [6719, 1], - [6635, 1], - [6635, 1], - [6635, 1], - [6635, 1], - [6533, 1], - [6533, 1], - [6533, 1], - [6533, 1], - [6447, 1], - [6447, 1], - [6447, 1], - [6447, 1], - [6364, 1], - [6364, 1], - [6364, 1], - [6364, 1], - [6325, 1], - [6325, 1], - [6325, 1], - [6325, 1], - [6265, 1], - [6265, 1], - [6265, 1], - [6265, 1], - [6222, 1], - [6222, 1], - [6222, 1], - [6222, 1], - [6138, 1], - [6138, 1], - [6138, 1], - [6138, 1], - [6085, 1], - [6085, 1], - [6085, 1], - [6085, 1], - [6065, 0, "\n"], - [6066, 0, "\n"], - [6067, 0, "\\"], - [6068, 0, "b"], - [6069, 0, "e"], - [6070, 0, "g"], - [6071, 0, "i"], - [6072, 0, "n"], - [6073, 0, "{"], - [6074, 0, "p"], - [6075, 0, "r"], - [6076, 0, "o"], - [6077, 0, "o"], - [6078, 0, "f"], - [6079, 0, "t"], - [6080, 0, "r"], - [6081, 0, "e"], - [6082, 0, "e"], - [6083, 0, "}"], - [6084, 0, "\n"], - [6085, 0, "\\"], - [6086, 0, "e"], - [6087, 0, "n"], - [6088, 0, "d"], - [6089, 0, "{"], - [6090, 0, "p"], - [6091, 0, "r"], - [6092, 0, "o"], - [6093, 0, "o"], - [6094, 0, "f"], - [6095, 0, "t"], - [6096, 0, "r"], - [6097, 0, "e"], - [6098, 0, "e"], - [6099, 0, "}"], - [6084, 0, "\n"], - [6085, 0, "\\"], - [6086, 0, "A"], - [6087, 0, "x"], - [6088, 0, "i"], - [6089, 0, "o"], - [6090, 0, "m"], - [6091, 0, "C"], - [6092, 0, "{"], - [6093, 0, "$"], - [6094, 0, "\\"], - [6095, 0, "m"], - [6096, 0, "a"], - [6097, 0, "t"], - [6098, 0, "h"], - [6099, 0, "i"], - [6100, 0, "t"], - [6101, 0, "{"], - [6102, 0, "t"], - [6103, 0, "a"], - [6104, 0, "r"], - [6105, 0, "g"], - [6106, 0, "e"], - [6107, 0, "t"], - [6108, 0, "}"], - [6109, 0, " "], - [6110, 0, "\\"], - [6111, 0, "i"], - [6112, 0, "n"], - [6113, 0, " "], - [6114, 0, "\\"], - [6115, 0, "m"], - [6116, 0, "a"], - [6117, 0, "t"], - [6118, 0, "h"], - [6119, 0, "r"], - [6120, 0, "m"], - [6121, 0, "{"], - [6122, 0, "d"], - [6123, 0, "o"], - [6124, 0, "m"], - [6125, 0, "}"], - [6126, 0, "("], - [6127, 0, "A"], - [6128, 0, "_"], - [6129, 0, "p"], - [6130, 0, ")"], - [6131, 0, "$"], - [6132, 0, "}"], - [6133, 0, "\n"], - [6134, 0, "\\"], - [6135, 0, "A"], - [6136, 0, "x"], - [6137, 0, "i"], - [6138, 0, "o"], - [6139, 0, "m"], - [6140, 0, "C"], - [6141, 0, "{"], - [6142, 0, "$"], - [6143, 0, "A"], - [6144, 0, "_"], - [6145, 0, "p"], - [6146, 0, ","], - [6147, 0, "\\"], - [6148, 0, ";"], - [6149, 0, " "], - [6150, 0, "\\"], - [6151, 0, "m"], - [6152, 0, "a"], - [6153, 0, "t"], - [6154, 0, "h"], - [6155, 0, "s"], - [6156, 0, "f"], - [6157, 0, "{"], - [6158, 0, "n"], - [6159, 0, "e"], - [6160, 0, "w"], - [6161, 0, "I"], - [6162, 0, "D"], - [6163, 0, "}"], - [6164, 0, " "], - [6165, 0, "\\"], - [6166, 0, "e"], - [6167, 0, "v"], - [6168, 0, "a"], - [6169, 0, "l"], - [6170, 0, "t"], - [6171, 0, "o"], - [6172, 0, " "], - [6173, 0, "A"], - [6174, 0, "_"], - [6175, 0, "p"], - [6176, 0, "'"], - [6177, 0, ","], - [6178, 0, "\\"], - [6179, 0, ";"], - [6180, 0, " "], - [6181, 0, "\\"], - [6182, 0, "m"], - [6183, 0, "a"], - [6184, 0, "t"], - [6185, 0, "h"], - [6186, 0, "i"], - [6187, 0, "t"], - [6188, 0, "{"], - [6189, 0, "i"], - [6190, 0, "d"], - [6191, 0, "}"], - [6192, 0, "$"], - [6193, 0, "}"], - [6194, 0, "\n"], - [6195, 0, "\\"], - [6196, 0, "L"], - [6197, 0, "e"], - [6198, 0, "f"], - [6199, 0, "t"], - [6200, 0, "L"], - [6201, 0, "a"], - [6202, 0, "b"], - [6203, 0, "e"], - [6204, 0, "l"], - [6205, 0, "{"], - [6206, 0, "\\"], - [6207, 0, "T"], - [6208, 0, "e"], - [6209, 0, "x"], - [6210, 0, "t"], - [6207, 1], - [6207, 0, "t"], - [6211, 0, "s"], - [6212, 0, "c"], - [6213, 0, "{"], - [6214, 0, "D"], - [6215, 0, "e"], - [6216, 0, "l"], - [6217, 0, "e"], - [6218, 0, "t"], - [6219, 0, "e"], - [6220, 0, "}"], - [6221, 0, "}"], - [6222, 0, "\n"], - [6223, 0, "\\"], - [6224, 0, "B"], - [6225, 0, "i"], - [6226, 0, "n"], - [6227, 0, "a"], - [6228, 0, "r"], - [6229, 0, "y"], - [6230, 0, "I"], - [6231, 0, "n"], - [6232, 0, "f"], - [6233, 0, "C"], - [6234, 0, "{"], - [6235, 0, "$"], - [6236, 0, "A"], - [6237, 0, "_"], - [6238, 0, "p"], - [6239, 0, ","], - [6240, 0, "\\"], - [6241, 0, ";"], - [6242, 0, " "], - [6243, 0, "\\"], - [6244, 0, "m"], - [6245, 0, "a"], - [6246, 0, "t"], - [6247, 0, "h"], - [6248, 0, "s"], - [6249, 0, "f"], - [6250, 0, "{"], - [6251, 0, "d"], - [6252, 0, "e"], - [6253, 0, "l"], - [6254, 0, "e"], - [6255, 0, "t"], - [6256, 0, "e"], - [6257, 0, "L"], - [6258, 0, "o"], - [6259, 0, "c"], - [6260, 0, "a"], - [6261, 0, "l"], - [6262, 0, "}"], - [6263, 0, "("], - [6264, 0, "\\"], - [6265, 0, "m"], - [6266, 0, "a"], - [6267, 0, "t"], - [6268, 0, "h"], - [6269, 0, "i"], - [6270, 0, "t"], - [6271, 0, "{"], - [6272, 0, "t"], - [6273, 0, "a"], - [6274, 0, "r"], - [6275, 0, "g"], - [6276, 0, "e"], - [6277, 0, "t"], - [6278, 0, "}"], - [6279, 0, ")"], - [6280, 0, " "], - [6281, 0, "\\"], - [6282, 0, "e"], - [6283, 0, "v"], - [6284, 0, "a"], - [6285, 0, "l"], - [6286, 0, "t"], - [6287, 0, "o"], - [6288, 0, "\n"], - [6289, 0, " "], - [6290, 0, " "], - [6291, 0, " "], - [6292, 0, " "], - [6293, 0, "A"], - [6294, 0, "_"], - [6295, 0, "p"], - [6296, 0, "'"], - [6297, 0, ","], - [6298, 0, "\\"], - [6299, 0, ";"], - [6300, 0, " "], - [6301, 0, "\\"], - [6302, 0, "m"], - [6303, 0, "a"], - [6304, 0, "t"], - [6305, 0, "h"], - [6306, 0, "s"], - [6307, 0, "f"], - [6308, 0, "{"], - [6309, 0, "d"], - [6310, 0, "e"], - [6311, 0, "l"], - [6312, 0, "e"], - [6313, 0, "t"], - [6314, 0, "e"], - [6315, 0, "}"], - [6316, 0, "("], - [6317, 0, "\\"], - [6318, 0, "m"], - [6319, 0, "a"], - [6320, 0, "t"], - [6321, 0, "h"], - [6322, 0, "i"], - [6323, 0, "t"], - [6324, 0, "{"], - [6325, 0, "i"], - [6326, 0, "d"], - [6327, 0, "}"], - [6328, 0, ","], - [6329, 0, " "], - [6330, 0, "\\"], - [6331, 0, "m"], - [6332, 0, "a"], - [6333, 0, "t"], - [6334, 0, "h"], - [6335, 0, "i"], - [6336, 0, "t"], - [6337, 0, "{"], - [6338, 0, "t"], - [6339, 0, "a"], - [6340, 0, "r"], - [6341, 0, "g"], - [6342, 0, "e"], - [6343, 0, "t"], - [6344, 0, "}"], - [6345, 0, ")"], - [6346, 0, "$"], - [6347, 0, "}"], - [6747, 0, "\\"], - [6748, 0, ","], - [6756, 0, "\\"], - [6757, 0, ","], - [6824, 0, "\\"], - [6825, 0, ","], - [6833, 0, "\\"], - [6834, 0, ","], - [7516, 0, "\\"], - [7517, 0, ","], - [7525, 0, "\\"], - [7526, 0, ","], - [5042, 1], - [5042, 0, "B"], - [5043, 0, "i"], - [5007, 0, "\n"], - [5008, 0, "\\"], - [5009, 0, "A"], - [5010, 0, "x"], - [5011, 0, "i"], - [5012, 0, "o"], - [5013, 0, "m"], - [5014, 0, "C"], - [5015, 0, "{"], - [5016, 0, "$"], - [5017, 0, "A"], - [5018, 0, "_"], - [5019, 0, "p"], - [5020, 0, "'"], - [5021, 0, ","], - [5022, 0, "\\"], - [5023, 0, ";"], - [5024, 0, " "], - [5025, 0, "\\"], - [5026, 0, "m"], - [5027, 0, "a"], - [5028, 0, "t"], - [5029, 0, "h"], - [5030, 0, "i"], - [5031, 0, "t"], - [5032, 0, "{"], - [5033, 0, "o"], - [5034, 0, "p"], - [5035, 0, "}"], - [5036, 0, " "], - [5037, 0, "\\"], - [5038, 0, "e"], - [5039, 0, "v"], - [5040, 0, "a"], - [5041, 0, "l"], - [5042, 0, "t"], - [5043, 0, "o"], - [5044, 0, " "], - [5045, 0, "A"], - [5046, 0, "_"], - [5047, 0, "p"], - [5048, 0, "'"], - [5049, 0, "'"], - [5050, 0, "$"], - [5051, 0, "}"], - [5130, 0, "'"], - [5170, 0, "'"], - [5204, 0, "'"], - [5272, 0, "'"], - [6010, 1], - [6009, 1], - [6008, 1], - [6007, 1], - [6006, 1], - [6006, 0, "C"], - [6007, 0, "m"], - [6008, 0, "d"], - [6008, 1], - [6007, 1], - [6006, 1], - [6006, 0, "L"], - [6007, 0, "o"], - [6008, 0, "c"], - [6009, 0, "a"], - [6010, 0, "l"], - [6010, 1], - [6009, 1], - [6008, 1], - [6007, 1], - [6006, 1], - [6006, 0, "C"], - [6007, 0, "m"], - [6008, 0, "d"], - [6309, 1], - [6308, 1], - [6307, 1], - [6306, 1], - [6305, 1], - [6304, 1], - [6304, 0, "e"], - [6305, 0, "C"], - [6306, 0, "m"], - [6307, 0, "d"], - [5973, 1], - [5973, 1], - [5973, 0, "T"], - [5974, 0, "r"], - [5975, 0, "i"], - [5943, 0, "\n"], - [5944, 0, "\\"], - [5945, 0, "A"], - [5946, 0, "x"], - [5947, 0, "i"], - [5948, 0, "o"], - [5949, 0, "m"], - [5950, 0, "C"], - [5951, 0, "{"], - [5952, 0, "$"], - [5953, 0, "A"], - [5954, 0, "_"], - [5955, 0, "p"], - [5956, 0, "'"], - [5957, 0, ","], - [5958, 0, "\\"], - [5959, 0, ";"], - [5960, 0, " "], - [5961, 0, "\\"], - [5962, 0, "m"], - [5963, 0, "a"], - [5964, 0, "t"], - [5965, 0, "h"], - [5966, 0, "s"], - [5967, 0, "f"], - [5968, 0, "{"], - [5969, 0, "a"], - [5970, 0, "p"], - [5971, 0, "p"], - [5972, 0, "l"], - [5973, 0, "y"], - [5974, 0, "}"], - [5975, 0, "("], - [5976, 0, "\\"], - [5977, 0, "m"], - [5978, 0, "a"], - [5979, 0, "t"], - [5980, 0, "h"], - [5981, 0, "s"], - [5982, 0, "f"], - [5983, 0, "{"], - [5984, 0, "i"], - [5985, 0, "n"], - [5986, 0, "s"], - [5987, 0, "e"], - [5988, 0, "r"], - [5989, 0, "t"], - [5990, 0, "}"], - [5991, 0, "("], - [5992, 0, "\\"], - [5993, 0, "m"], - [5994, 0, "a"], - [5995, 0, "t"], - [5996, 0, "h"], - [5997, 0, "i"], - [5998, 0, "t"], - [5999, 0, "{"], - [6000, 0, "i"], - [6001, 0, "d"], - [6002, 0, "}"], - [6003, 0, ","], - [6004, 0, " "], - [6005, 0, "\\"], - [6006, 0, "m"], - [6007, 0, "a"], - [6008, 0, "t"], - [6009, 0, "h"], - [6010, 0, "i"], - [6011, 0, "t"], - [6012, 0, "{"], - [6013, 0, "p"], - [6014, 0, "r"], - [6015, 0, "e"], - [6016, 0, "v"], - [6017, 0, "}"], - [6018, 0, ","], - [6019, 0, " "], - [6020, 0, "v"], - [6021, 0, ")"], - [6022, 0, ")"], - [6023, 0, " "], - [6024, 0, "\\"], - [6025, 0, "e"], - [6026, 0, "v"], - [6027, 0, "a"], - [6028, 0, "l"], - [6029, 0, "t"], - [6030, 0, "o"], - [6031, 0, " "], - [6032, 0, "A"], - [6033, 0, "_"], - [6034, 0, "p"], - [6035, 0, "'"], - [6036, 0, "'"], - [6037, 0, "$"], - [6038, 0, "}"], - [6133, 0, " "], - [6134, 0, "A"], - [6135, 0, "_"], - [6136, 0, "p"], - [6137, 0, "'"], - [6138, 0, "'"], - [6139, 0, ","], - [6140, 0, "\\"], - [6141, 0, ";"], - [6142, 0, " "], - [6143, 0, "\\"], - [6144, 0, "m"], - [6145, 0, "a"], - [6146, 0, "t"], - [6147, 0, "h"], - [6148, 0, "i"], - [6149, 0, "t"], - [6150, 0, "{"], - [6151, 0, "i"], - [6152, 0, "d"], - [6153, 0, "}"], - [6154, 0, "$"], - [6155, 0, "}"], - [6216, 1], - [6215, 1], - [6214, 1], - [6213, 1], - [6212, 1], - [6211, 1], - [6210, 1], - [6209, 1], - [6208, 1], - [6207, 1], - [6206, 1], - [6205, 1], - [6204, 1], - [6203, 1], - [6202, 1], - [6201, 1], - [6200, 1], - [6199, 1], - [6198, 1], - [6197, 1], - [6196, 1], - [6195, 1], - [6194, 1], - [6193, 1], - [6192, 1], - [6191, 1], - [6190, 1], - [6189, 1], - [6188, 1], - [6187, 1], - [6186, 1], - [6185, 1], - [6184, 1], - [6183, 1], - [6182, 1], - [6181, 1], - [6180, 1], - [6179, 1], - [6178, 1], - [6177, 1], - [6176, 1], - [6175, 1], - [6174, 1], - [6173, 1], - [6172, 1], - [6171, 1], - [6170, 1], - [6169, 1], - [6168, 1], - [6167, 1], - [6166, 1], - [6165, 1], - [6164, 1], - [6163, 1], - [6162, 1], - [6161, 1], - [6160, 1], - [6159, 1], - [6158, 1], - [6157, 1], - [6156, 1], - [6331, 1], - [6331, 0, "T"], - [6332, 0, "r"], - [6301, 0, "\n"], - [6302, 0, "\\"], - [6303, 0, "A"], - [6304, 0, "x"], - [6305, 0, "i"], - [6306, 0, "o"], - [6307, 0, "m"], - [6308, 0, "C"], - [6309, 0, "{"], - [6310, 0, "$"], - [6311, 0, "A"], - [6312, 0, "_"], - [6313, 0, "p"], - [6314, 0, "'"], - [6315, 0, ","], - [6316, 0, "\\"], - [6317, 0, ";"], - [6318, 0, " "], - [6319, 0, "\\"], - [6320, 0, "m"], - [6321, 0, "a"], - [6322, 0, "t"], - [6323, 0, "h"], - [6324, 0, "s"], - [6325, 0, "f"], - [6326, 0, "{"], - [6327, 0, "a"], - [6328, 0, "p"], - [6329, 0, "p"], - [6330, 0, "l"], - [6331, 0, "y"], - [6332, 0, "}"], - [6333, 0, "("], - [6334, 0, "\\"], - [6335, 0, "m"], - [6336, 0, "a"], - [6337, 0, "t"], - [6338, 0, "h"], - [6339, 0, "s"], - [6340, 0, "f"], - [6341, 0, "{"], - [6342, 0, "d"], - [6343, 0, "e"], - [6344, 0, "l"], - [6345, 0, "e"], - [6346, 0, "t"], - [6347, 0, "e"], - [6348, 0, "}"], - [6349, 0, "("], - [6350, 0, "\\"], - [6351, 0, "m"], - [6352, 0, "a"], - [6353, 0, "t"], - [6354, 0, "h"], - [6355, 0, "i"], - [6356, 0, "t"], - [6357, 0, "{"], - [6358, 0, "i"], - [6359, 0, "d"], - [6360, 0, "}"], - [6361, 0, ","], - [6362, 0, " "], - [6363, 0, "\\"], - [6364, 0, "m"], - [6365, 0, "a"], - [6366, 0, "t"], - [6367, 0, "h"], - [6368, 0, "i"], - [6369, 0, "t"], - [6370, 0, "{"], - [6371, 0, "t"], - [6372, 0, "a"], - [6373, 0, "r"], - [6374, 0, "g"], - [6375, 0, "e"], - [6376, 0, "t"], - [6377, 0, "}"], - [6378, 0, ")"], - [6379, 0, ")"], - [6380, 0, " "], - [6381, 0, "\\"], - [6382, 0, "e"], - [6383, 0, "v"], - [6384, 0, "a"], - [6385, 0, "l"], - [6386, 0, "t"], - [6387, 0, "o"], - [6388, 0, " "], - [6389, 0, "A"], - [6390, 0, "_"], - [6391, 0, "p"], - [6392, 0, "'"], - [6393, 0, "'"], - [6394, 0, "$"], - [6395, 0, "}"], - [6489, 0, " "], - [6490, 0, "A"], - [6491, 0, "_"], - [6492, 0, "p"], - [6493, 0, "'"], - [6494, 0, "'"], - [6495, 0, "$"], - [6496, 0, "}"], - [6556, 1], - [6555, 1], - [6554, 1], - [6553, 1], - [6552, 1], - [6551, 1], - [6550, 1], - [6549, 1], - [6548, 1], - [6547, 1], - [6546, 1], - [6545, 1], - [6544, 1], - [6543, 1], - [6542, 1], - [6541, 1], - [6540, 1], - [6539, 1], - [6538, 1], - [6537, 1], - [6536, 1], - [6535, 1], - [6534, 1], - [6533, 1], - [6532, 1], - [6531, 1], - [6530, 1], - [6529, 1], - [6528, 1], - [6527, 1], - [6526, 1], - [6525, 1], - [6524, 1], - [6523, 1], - [6522, 1], - [6521, 1], - [6520, 1], - [6519, 1], - [6518, 1], - [6517, 1], - [6516, 1], - [6515, 1], - [6514, 1], - [6513, 1], - [6512, 1], - [6511, 1], - [6510, 1], - [6509, 1], - [6508, 1], - [6507, 1], - [6506, 1], - [6505, 1], - [6504, 1], - [6503, 1], - [6502, 1], - [6501, 1], - [6500, 1], - [6499, 1], - [6498, 1], - [6497, 1], - [6495, 0, "\\"], - [6496, 0, ";"], - [6497, 0, " "], - [6498, 0, "\\"], - [6499, 0, "b"], - [6500, 0, "o"], - [6501, 0, "t"], - [6495, 0, ","], - [5116, 1], - [5115, 1], - [5114, 1], - [5114, 0, "o"], - [5115, 0, "p"], - [5106, 0, "\n"], - [5106, 1], - [5106, 0, "\\"], - [5107, 0, "m"], - [5108, 0, "a"], - [5109, 0, "t"], - [5110, 0, "h"], - [5111, 0, "s"], - [5112, 0, "f"], - [5113, 0, "{"], - [5114, 0, "a"], - [5115, 0, "p"], - [5116, 0, "p"], - [5117, 0, "l"], - [5118, 0, "y"], - [5119, 0, "}"], - [5120, 0, "("], - [5132, 0, ")"], - [4975, 1], - [4974, 1], - [4973, 1], - [4973, 0, "o"], - [4974, 0, "p"], - [5003, 1], - [5002, 1], - [5001, 1], - [5000, 1], - [4999, 1], - [4998, 1], - [4997, 1], - [4996, 1], - [4995, 1], - [4994, 1], - [4993, 1], - [4992, 1], - [4991, 1], - [4990, 1], - [4989, 1], - [5035, 1], - [5034, 1], - [5033, 1], - [5032, 1], - [5031, 1], - [5030, 1], - [5029, 1], - [5028, 1], - [5027, 1], - [5026, 1], - [5025, 1], - [5024, 1], - [5023, 1], - [5022, 1], - [5021, 1], - [5020, 1], - [5019, 1], - [5018, 1], - [5017, 1], - [5016, 1], - [5015, 1], - [5014, 1], - [5013, 1], - [5012, 1], - [5011, 1], - [5010, 1], - [5009, 1], - [5008, 1], - [5007, 1], - [5006, 1], - [5005, 1], - [5004, 1], - [5003, 1], - [5002, 1], - [5001, 1], - [5001, 0, "q"], - [5002, 0, " "], - [5003, 0, "="], - [5004, 0, " "], - [5005, 0, "A"], - [5006, 0, "'"], - [5006, 1], - [5006, 0, "_"], - [5007, 0, "p"], - [5008, 0, "'"], - [5009, 0, "("], - [5010, 0, "\\"], - [5011, 0, "m"], - [5012, 0, "a"], - [5013, 0, "t"], - [5014, 0, "h"], - [5015, 0, "s"], - [5016, 0, "f"], - [5017, 0, "{"], - [5018, 0, "q"], - [5019, 0, "u"], - [5020, 0, "e"], - [5021, 0, "u"], - [5022, 0, "e"], - [5023, 0, "}"], - [5024, 0, ")"], - [5025, 0, " "], - [5026, 0, "\\"], - [5027, 0, ","], - [5028, 0, "\\"], - [5029, 0, "c"], - [5030, 0, "u"], - [5031, 0, "p"], - [5032, 0, "\\"], - [5033, 0, ","], - [5034, 0, " "], - [5035, 0, "\\"], - [5036, 0, "P"], - [5037, 0, "{"], - [5037, 1], - [5036, 1], - [5036, 0, "{"], - [5037, 0, "("], - [5038, 0, "A"], - [5039, 0, "_"], - [5040, 0, "p"], - [5041, 0, "'"], - [5042, 0, "("], - [5043, 0, "\\"], - [5044, 0, "m"], - [5045, 0, "a"], - [5046, 0, "t"], - [5047, 0, "h"], - [5048, 0, "s"], - [5049, 0, "f"], - [5050, 0, "{"], - [5051, 0, "o"], - [5052, 0, "p"], - [5053, 0, "s"], - [5054, 0, "}"], - [5055, 0, ")"], - [5056, 0, ","], - [5057, 0, " "], - [5058, 0, "\\"], - [5059, 0, "m"], - [5060, 0, "a"], - [5061, 0, "t"], - [5062, 0, "h"], - [5063, 0, "i"], - [5064, 0, "t"], - [5065, 0, "{"], - [5066, 0, "o"], - [5067, 0, "p"], - [5068, 0, "}"], - [5069, 0, ")"], - [5070, 0, "\\"], - [5071, 0, "}"], - [5072, 0, "$"], - [5073, 0, "}"], - [5167, 1], - [5271, 1], - [5270, 1], - [5269, 1], - [5268, 1], - [5267, 1], - [5266, 1], - [5265, 1], - [5264, 1], - [5263, 1], - [5262, 1], - [5261, 1], - [5260, 1], - [5259, 1], - [5258, 1], - [5257, 1], - [5256, 1], - [5255, 1], - [5254, 1], - [5253, 1], - [5252, 1], - [5251, 1], - [5250, 1], - [5249, 1], - [5248, 1], - [5247, 1], - [5246, 1], - [5245, 1], - [5244, 1], - [5243, 1], - [5242, 1], - [5241, 1], - [5240, 1], - [5239, 1], - [5238, 1], - [5237, 1], - [5236, 1], - [5235, 1], - [5234, 1], - [5233, 1], - [5232, 1], - [5231, 1], - [5230, 1], - [5229, 1], - [5228, 1], - [5227, 1], - [5226, 1], - [5225, 1], - [5224, 1], - [5223, 1], - [5222, 1], - [5221, 1], - [5220, 1], - [5219, 1], - [5218, 1], - [5217, 1], - [5216, 1], - [5215, 1], - [5214, 1], - [5213, 1], - [5212, 1], - [5211, 1], - [5210, 1], - [5209, 1], - [5208, 1], - [5207, 1], - [5206, 1], - [5205, 1], - [5204, 1], - [5203, 1], - [5203, 0, "q"], - [5203, 0, "\\"], - [5204, 0, "m"], - [5205, 0, "a"], - [5206, 0, "t"], - [5207, 0, "h"], - [5208, 0, "s"], - [5209, 0, "f"], - [5209, 1], - [5208, 1], - [5208, 0, "i"], - [5209, 0, "t"], - [5210, 0, "{"], - [5212, 0, "u"], - [5213, 0, "e"], - [5214, 0, "u"], - [5215, 0, "e"], - [5216, 0, "}"], - [5001, 1], - [5001, 0, "\\"], - [5002, 0, "m"], - [5003, 0, "a"], - [5004, 0, "t"], - [5005, 0, "h"], - [5006, 0, "i"], - [5007, 0, "t"], - [5008, 0, "{"], - [5009, 0, "q"], - [5010, 0, "u"], - [5011, 0, "e"], - [5012, 0, "u"], - [5013, 0, "e"], - [5014, 0, "}"], - [5984, 0, "O"], - [5985, 0, "p"], - [6344, 0, "O"], - [6345, 0, "p"], - [6836, 0, "O"], - [6837, 0, "p"], - [7216, 0, "O"], - [7217, 0, "p"], - [7336, 0, "O"], - [7337, 0, "p"], - [7610, 0, "O"], - [7611, 0, "p"], - [5735, 1], - [5734, 1], - [5733, 1], - [5732, 1], - [5732, 0, ","], - [5743, 0, ","], - [5744, 0, " "], - [5745, 0, "a"], - [5746, 0, "n"], - [5747, 0, "d"], - [5748, 0, " "], - [5749, 0, "a"], - [5750, 0, "p"], - [5751, 0, "p"], - [5752, 0, "l"], - [5753, 0, "y"], - [5754, 0, "i"], - [5755, 0, "n"], - [5756, 0, "g"], - [5822, 0, "\n"], - [5823, 0, "\\"], - [5824, 0, "b"], - [5825, 0, "e"], - [5826, 0, "g"], - [5827, 0, "i"], - [5828, 0, "n"], - [5829, 0, "{"], - [5830, 0, "p"], - [5831, 0, "r"], - [5832, 0, "o"], - [5833, 0, "o"], - [5834, 0, "f"], - [5835, 0, "t"], - [5836, 0, "r"], - [5837, 0, "e"], - [5838, 0, "e"], - [5839, 0, "}"], - [5840, 0, "\n"], - [5841, 0, "\\"], - [5842, 0, "e"], - [5843, 0, "n"], - [5844, 0, "d"], - [5845, 0, "{"], - [5846, 0, "p"], - [5847, 0, "r"], - [5848, 0, "o"], - [5849, 0, "o"], - [5850, 0, "f"], - [5851, 0, "t"], - [5852, 0, "r"], - [5853, 0, "e"], - [5854, 0, "e"], - [5855, 0, "}"], - [5856, 0, "\n"], - [5840, 0, "\n"], - [5841, 0, "\\"], - [5842, 0, "A"], - [5843, 0, "x"], - [5844, 0, "i"], - [5845, 0, "o"], - [5846, 0, "m"], - [5847, 0, "C"], - [5848, 0, "{"], - [5849, 0, "A"], - [5850, 0, "_"], - [5851, 0, "p"], - [5852, 0, ","], - [5853, 0, "\\"], - [5854, 0, ";"], - [5855, 0, "\\"], - [5856, 0, "m"], - [5857, 0, "a"], - [5858, 0, "t"], - [5859, 0, "h"], - [5860, 0, "s"], - [5861, 0, "f"], - [5862, 0, "{"], - [5863, 0, "n"], - [5864, 0, "e"], - [5865, 0, "w"], - [5866, 0, "I"], - [5867, 0, "D"], - [5868, 0, "}"], - [5869, 0, " "], - [5870, 0, "\\"], - [5871, 0, "e"], - [5872, 0, "v"], - [5873, 0, "a"], - [5874, 0, "l"], - [5875, 0, "t"], - [5876, 0, "o"], - [5877, 0, " "], - [5878, 0, "A"], - [5879, 0, "_"], - [5880, 0, "p"], - [5881, 0, "'"], - [5882, 0, ","], - [5883, 0, "\\"], - [5884, 0, ";"], - [5885, 0, " "], - [5886, 0, "\\"], - [5887, 0, "m"], - [5888, 0, "a"], - [5889, 0, "t"], - [5890, 0, "h"], - [5891, 0, "i"], - [5892, 0, "t"], - [5893, 0, "{"], - [5894, 0, "i"], - [5895, 0, "d"], - [5896, 0, "}"], - [5897, 0, "$"], - [5898, 0, "}"], - [5899, 0, "\n"], - [5849, 0, "$"], - [5901, 0, "\\"], - [5902, 0, "A"], - [5903, 0, "x"], - [5904, 0, "i"], - [5905, 0, "o"], - [5906, 0, "m"], - [5907, 0, "C"], - [5908, 0, "{"], - [5909, 0, "$"], - [5910, 0, "A"], - [5911, 0, "_"], - [5912, 0, "p"], - [5913, 0, "'"], - [5914, 0, ","], - [5915, 0, "\\"], - [5916, 0, ";"], - [5917, 0, " "], - [5918, 0, "\\"], - [5919, 0, "m"], - [5920, 0, "a"], - [5921, 0, "t"], - [5922, 0, "h"], - [5923, 0, "s"], - [5924, 0, "f"], - [5925, 0, "{"], - [5926, 0, "a"], - [5927, 0, "p"], - [5928, 0, "p"], - [5929, 0, "l"], - [5930, 0, "y"], - [5931, 0, "}"], - [5932, 0, "("], - [5933, 0, "\\"], - [5934, 0, "m"], - [5935, 0, "a"], - [5936, 0, "t"], - [5937, 0, "h"], - [5938, 0, "s"], - [5939, 0, "f"], - [5940, 0, "{"], - [5941, 0, "l"], - [5942, 0, "i"], - [5943, 0, "s"], - [5944, 0, "t"], - [5945, 0, "O"], - [5946, 0, "p"], - [5941, 1], - [5941, 0, "l"], - [5947, 0, "}"], - [5948, 0, "("], - [5949, 0, "\\"], - [5950, 0, "m"], - [5951, 0, "a"], - [5952, 0, "t"], - [5953, 0, "h"], - [5954, 0, "i"], - [5955, 0, "t"], - [5956, 0, "{"], - [5957, 0, "i"], - [5958, 0, "d"], - [5959, 0, "}"], - [5960, 0, ")"], - [5961, 0, ")"], - [5962, 0, " "], - [5963, 0, "\\"], - [5964, 0, "e"], - [5965, 0, "v"], - [5966, 0, "a"], - [5967, 0, "l"], - [5968, 0, "t"], - [5969, 0, "o"], - [5970, 0, " "], - [5971, 0, "A"], - [5972, 0, "_"], - [5973, 0, "p"], - [5974, 0, "'"], - [5975, 0, "'"], - [5976, 0, "$"], - [5977, 0, "}"], - [5978, 0, "\n"], - [5979, 0, "\\"], - [5980, 0, "L"], - [5981, 0, "e"], - [5982, 0, "v"], - [5983, 0, "e"], - [5983, 1], - [5982, 1], - [5982, 0, "f"], - [5983, 0, "t"], - [5984, 0, "L"], - [5985, 0, "a"], - [5986, 0, "b"], - [5987, 0, "e"], - [5988, 0, "l"], - [5989, 0, "{"], - [5990, 0, "\\"], - [5991, 0, "t"], - [5992, 0, "e"], - [5993, 0, "x"], - [5994, 0, "t"], - [5995, 0, "s"], - [5996, 0, "c"], - [5997, 0, "{"], - [5998, 0, "A"], - [5999, 0, "l"], - [6000, 0, "l"], - [6001, 0, "o"], - [6002, 0, "c"], - [6003, 0, "-"], - [6004, 0, "L"], - [6005, 0, "i"], - [6006, 0, "s"], - [6007, 0, "t"], - [6008, 0, "}"], - [6009, 0, "}"], - [6010, 0, "\n"], - [6011, 0, "\\"], - [6012, 0, "B"], - [6013, 0, "i"], - [6014, 0, "n"], - [6015, 0, "a"], - [6016, 0, "r"], - [6017, 0, "y"], - [6018, 0, "I"], - [6019, 0, "n"], - [6020, 0, "f"], - [6021, 0, "C"], - [6022, 0, "{"], - [6023, 0, "$"], - [6024, 0, "A"], - [6025, 0, "_"], - [6026, 0, "p"], - [6027, 0, ","], - [6028, 0, "\\"], - [6029, 0, ";"], - [6030, 0, " "], - [6031, 0, "\\"], - [6032, 0, "m"], - [6033, 0, "a"], - [6034, 0, "t"], - [6035, 0, "h"], - [6036, 0, "s"], - [6037, 0, "f"], - [6038, 0, "{"], - [6039, 0, "a"], - [6039, 1], - [6039, 0, "l"], - [6040, 0, "i"], - [6041, 0, "s"], - [6042, 0, "t"], - [6043, 0, "C"], - [6044, 0, "m"], - [6045, 0, "d"], - [6046, 0, "}"], - [6047, 0, "("], - [6048, 0, "\\"], - [6048, 1], - [6047, 1], - [6047, 0, " "], - [6048, 0, "\\"], - [6049, 0, "e"], - [6050, 0, "v"], - [6051, 0, "a"], - [6052, 0, "l"], - [6053, 0, "t"], - [6054, 0, "o"], - [6055, 0, " "], - [6056, 0, "A"], - [6057, 0, "_"], - [6058, 0, "p"], - [6059, 0, "'"], - [6060, 0, "'"], - [6061, 0, ","], - [6062, 0, " "], - [6062, 1], - [6062, 0, "\\"], - [6063, 0, ";"], - [6064, 0, " "], - [6065, 0, "\\"], - [6066, 0, "m"], - [6067, 0, "a"], - [6068, 0, "t"], - [6069, 0, "h"], - [6070, 0, "i"], - [6071, 0, "t"], - [6072, 0, "{"], - [6073, 0, "i"], - [6074, 0, "d"], - [6075, 0, "}"], - [6076, 0, "$"], - [6077, 0, "}"], - [6803, 0, "\n"], - [6804, 0, "\n"], - [6805, 0, "\\"], - [6806, 0, "b"], - [6807, 0, "e"], - [6808, 0, "g"], - [6809, 0, "i"], - [6810, 0, "n"], - [6811, 0, "{"], - [6812, 0, "p"], - [6813, 0, "r"], - [6814, 0, "o"], - [6815, 0, "o"], - [6816, 0, "f"], - [6817, 0, "t"], - [6818, 0, "r"], - [6819, 0, "e"], - [6820, 0, "e"], - [6821, 0, "}"], - [6822, 0, "\n"], - [6823, 0, "\\"], - [6824, 0, "e"], - [6825, 0, "n"], - [6826, 0, "d"], - [6827, 0, "{"], - [6828, 0, "p"], - [6829, 0, "r"], - [6830, 0, "o"], - [6831, 0, "o"], - [6832, 0, "f"], - [6833, 0, "t"], - [6834, 0, "r"], - [6835, 0, "e"], - [6836, 0, "e"], - [6837, 0, "}"], - [6822, 0, "\n"], - [6823, 0, "\\"], - [6824, 0, "L"], - [6825, 0, "e"], - [6826, 0, "f"], - [6827, 0, "t"], - [6828, 0, "L"], - [6829, 0, "a"], - [6830, 0, "b"], - [6831, 0, "e"], - [6832, 0, "l"], - [6833, 0, "{"], - [6834, 0, "\\"], - [6835, 0, "t"], - [6836, 0, "e"], - [6837, 0, "x"], - [6838, 0, "t"], - [6839, 0, "s"], - [6840, 0, "c"], - [6841, 0, "{"], - [6842, 0, "A"], - [6843, 0, "p"], - [6844, 0, "p"], - [6845, 0, "l"], - [6846, 0, "y"], - [6847, 0, "-"], - [6848, 0, "L"], - [6849, 0, "i"], - [6850, 0, "s"], - [6851, 0, "t"], - [6852, 0, "}"], - [6853, 0, "}"], - [6822, 0, "\n"], - [6823, 0, "\\"], - [6824, 0, "A"], - [6825, 0, "x"], - [6826, 0, "i"], - [6827, 0, "o"], - [6828, 0, "m"], - [6829, 0, "C"], - [6830, 0, "{"], - [6831, 0, "$"], - [6832, 0, "\\"], - [6833, 0, "m"], - [6834, 0, "a"], - [6835, 0, "t"], - [6836, 0, "h"], - [6837, 0, "i"], - [6838, 0, "t"], - [6839, 0, "{"], - [6840, 0, "i"], - [6841, 0, "d"], - [6842, 0, "}"], - [6843, 0, " "], - [6844, 0, "\\"], - [6845, 0, "n"], - [6846, 0, "o"], - [6847, 0, "t"], - [6848, 0, "\\"], - [6849, 0, "i"], - [6850, 0, "n"], - [6851, 0, " "], - [6852, 0, "\\"], - [6853, 0, "m"], - [6854, 0, "a"], - [6855, 0, "t"], - [6856, 0, "h"], - [6857, 0, "r"], - [6858, 0, "m"], - [6859, 0, "{"], - [6860, 0, "d"], - [6861, 0, "o"], - [6862, 0, "m"], - [6863, 0, "}"], - [6864, 0, "("], - [6865, 0, "A"], - [6866, 0, "_"], - [6867, 0, "p"], - [6868, 0, "}"], - [6868, 1], - [6868, 0, ")"], - [6869, 0, "$"], - [6870, 0, "}"], - [6871, 0, "\n"], - [6872, 0, "\\"], - [6873, 0, "A"], - [6874, 0, "x"], - [6875, 0, "i"], - [6876, 0, "o"], - [6877, 0, "m"], - [6878, 0, "C"], - [6879, 0, "{"], - [6880, 0, "$"], - [6881, 0, "\\"], - [6882, 0, "m"], - [6883, 0, "a"], - [6884, 0, "t"], - [6885, 0, "h"], - [6886, 0, "i"], - [6887, 0, "t"], - [6888, 0, "{"], - [6889, 0, "i"], - [6890, 0, "d"], - [6891, 0, "}"], - [6881, 0, "A"], - [6882, 0, "_"], - [6883, 0, "p"], - [6884, 0, ","], - [6885, 0, "\\"], - [6886, 0, ";"], - [6887, 0, " "], - [6888, 0, "\\"], - [6889, 0, "m"], - [6890, 0, "a"], - [6891, 0, "t"], - [6892, 0, "h"], - [6893, 0, "s"], - [6894, 0, "f"], - [6895, 0, "{"], - [6896, 0, "t"], - [6897, 0, "s"], - [6898, 0, "}"], - [6899, 0, "("], - [6911, 0, ")"], - [6912, 0, " "], - [6913, 0, "\\"], - [6914, 0, "e"], - [6915, 0, "v"], - [6916, 0, "a"], - [6917, 0, "l"], - [6918, 0, "t"], - [6919, 0, "o"], - [6920, 0, " "], - [6921, 0, "A"], - [6922, 0, "_"], - [6923, 0, "p"], - [6924, 0, "'"], - [6925, 0, "$"], - [6926, 0, "}"], - [6959, 0, "\n"], - [6960, 0, "\\"], - [6961, 0, "B"], - [6962, 0, "i"], - [6963, 0, "n"], - [6964, 0, "a"], - [6965, 0, "r"], - [6966, 0, "y"], - [6967, 0, "I"], - [6968, 0, "n"], - [6969, 0, "f"], - [6970, 0, "C"], - [6971, 0, "{"], - [6972, 0, "$"], - [6973, 0, "$"], - [6974, 0, "}"], - [6973, 0, "A"], - [6974, 0, "_"], - [6975, 0, "p"], - [6976, 0, ","], - [6977, 0, "\\"], - [6978, 0, ";"], - [6979, 0, " "], - [6980, 0, "\\"], - [6981, 0, "m"], - [6982, 0, "a"], - [6983, 0, "t"], - [6984, 0, "h"], - [6985, 0, "s"], - [6986, 0, "f"], - [6987, 0, "{"], - [6988, 0, "l"], - [6989, 0, "i"], - [6990, 0, "s"], - [6991, 0, "t"], - [6992, 0, "O"], - [6993, 0, "p"], - [6994, 0, "}"], - [6995, 0, "("], - [6996, 0, "\\"], - [6997, 0, "m"], - [6998, 0, "a"], - [6999, 0, "t"], - [7000, 0, "h"], - [7001, 0, "i"], - [7002, 0, "t"], - [7003, 0, "{"], - [7004, 0, "i"], - [7005, 0, "d"], - [7006, 0, "}"], - [7007, 0, ")"], - [7008, 0, " "], - [7009, 0, "\\"], - [7010, 0, "e"], - [7011, 0, "v"], - [7012, 0, "a"], - [7013, 0, "l"], - [7014, 0, "t"], - [7015, 0, "o"], - [7016, 0, " "], - [7017, 0, "A"], - [7018, 0, "_"], - [7019, 0, "p"], - [7016, 0, "\n"], - [7017, 0, " "], - [7018, 0, " "], - [7019, 0, " "], - [7024, 0, "'"], - [7025, 0, "["], - [7026, 0, "\\"], - [7027, 0, ","], - [7028, 0, "\\"], - [7029, 0, "m"], - [7030, 0, "a"], - [7031, 0, "t"], - [7032, 0, "h"], - [7033, 0, "i"], - [7034, 0, "t"], - [7035, 0, "{"], - [7036, 0, "i"], - [7037, 0, "d"], - [7038, 0, "}"], - [7039, 0, " "], - [7040, 0, "\\"], - [7041, 0, "m"], - [7042, 0, "a"], - [7043, 0, "p"], - [7044, 0, "s"], - [7045, 0, "t"], - [7046, 0, "o"], - [7040, 0, "\\"], - [7041, 0, ","], - [7049, 0, "\\"], - [7050, 0, ","], - [7051, 0, " "], - [7052, 0, "\\"], - [7053, 0, "m"], - [7054, 0, "a"], - [7055, 0, "t"], - [7056, 0, "h"], - [7057, 0, "s"], - [7058, 0, "f"], - [7059, 0, "{"], - [7060, 0, "l"], - [7061, 0, "i"], - [7062, 0, "s"], - [7063, 0, "t"], - [7064, 0, "E"], - [7065, 0, "l"], - [7066, 0, "}"], - [7067, 0, "("], - [7068, 0, "\\"], - [7069, 0, "b"], - [7070, 0, "o"], - [7071, 0, "t"], - [7072, 0, ","], - [7073, 0, " "], - [7074, 0, "\\"], - [7075, 0, "m"], - [7076, 0, "a"], - [7077, 0, "t"], - [7078, 0, "h"], - [7079, 0, "s"], - [7080, 0, "f"], - [7081, 0, "{"], - [7082, 0, "t"], - [7083, 0, "a"], - [7084, 0, "i"], - [7085, 0, "l"], - [7086, 0, "}"], - [7087, 0, ")"], - [7088, 0, "\\"], - [7089, 0, ","], - [7090, 0, "]"], - [7267, 0, "\\"], - [7268, 0, "m"], - [7269, 0, "a"], - [7270, 0, "t"], - [7271, 0, "h"], - [7272, 0, "i"], - [7273, 0, "t"], - [7274, 0, "{"], - [7275, 0, "n"], - [7276, 0, "e"], - [7277, 0, "x"], - [7278, 0, "t"], - [7279, 0, "}"], - [7280, 0, " "], - [7281, 0, "="], - [7282, 0, " "], - [7283, 0, "\\"], - [7284, 0, "m"], - [7285, 0, "a"], - [7286, 0, "t"], - [7287, 0, "h"], - [7288, 0, "s"], - [7289, 0, "f"], - [7290, 0, "{"], - [7291, 0, "t"], - [7292, 0, "a"], - [7292, 1], - [7291, 1], - [7290, 1], - [7289, 1], - [7288, 1], - [7287, 1], - [7286, 1], - [7285, 1], - [7284, 1], - [7283, 1], - [7282, 1], - [7281, 1], - [7280, 1], - [7279, 1], - [7278, 1], - [7277, 1], - [7276, 1], - [7275, 1], - [7274, 1], - [7273, 1], - [7272, 1], - [7271, 1], - [7270, 1], - [7269, 1], - [7268, 1], - [7267, 1], - [7294, 0, " "], - [7295, 0, "\\"], - [7296, 0, "v"], - [7297, 0, "e"], - [7298, 0, "e"], - [7299, 0, " "], - [7300, 0, "\\"], - [7301, 0, "m"], - [7302, 0, "a"], - [7303, 0, "t"], - [7304, 0, "h"], - [7305, 0, "i"], - [7306, 0, "t"], - [7307, 0, "{"], - [7308, 0, "n"], - [7309, 0, "e"], - [7310, 0, "x"], - [7311, 0, "t"], - [7312, 0, "}"], - [7313, 0, " "], - [7314, 0, "="], - [7315, 0, " "], - [7316, 0, "\\"], - [7317, 0, "m"], - [7318, 0, "a"], - [7319, 0, "t"], - [7320, 0, "h"], - [7321, 0, "s"], - [7322, 0, "f"], - [7323, 0, "{"], - [7324, 0, "t"], - [7325, 0, "a"], - [7326, 0, "i"], - [7327, 0, "l"], - [7328, 0, "}"], - [7295, 0, "\\"], - [7296, 0, ","], - [7301, 0, "\\"], - [7302, 0, ","], - [855, 0, "\n"], - [856, 0, "\n"], - [856, 0, "%"], - [857, 0, " "], - [858, 0, "T"], - [859, 0, "O"], - [860, 0, "D"], - [861, 0, "O"], - [862, 0, " "], - [863, 0, "p"], - [864, 0, "a"], - [865, 0, "p"], - [866, 0, "e"], - [867, 0, "r"], - [868, 0, "s"], - [869, 0, " "], - [870, 0, "o"], - [871, 0, "n"], - [872, 0, " "], - [873, 0, "f"], - [874, 0, "o"], - [875, 0, "r"], - [876, 0, "m"], - [877, 0, "a"], - [878, 0, "l"], - [879, 0, " "], - [880, 0, "v"], - [881, 0, "e"], - [882, 0, "r"], - [883, 0, "i"], - [884, 0, "f"], - [885, 0, "i"], - [886, 0, "c"], - [887, 0, "a"], - [888, 0, "t"], - [889, 0, "i"], - [890, 0, "o"], - [891, 0, "n"], - [892, 0, " "], - [893, 0, "o"], - [894, 0, "f"], - [895, 0, " "], - [896, 0, "C"], - [897, 0, "R"], - [898, 0, "D"], - [899, 0, "T"], - [900, 0, "s"], - [901, 0, " "], - [902, 0, "o"], - [903, 0, "r"], - [904, 0, " "], - [905, 0, "s"], - [906, 0, "i"], - [907, 0, "m"], - [908, 0, "i"], - [909, 0, "l"], - [910, 0, "a"], - [911, 0, "r"], - [912, 0, ":"], - [913, 0, "\n"], - [914, 0, "%"], - [915, 0, " "], - [916, 0, "G"], - [917, 0, "o"], - [918, 0, "t"], - [919, 0, "s"], - [920, 0, "m"], - [921, 0, "a"], - [922, 0, "n"], - [923, 0, " "], - [924, 0, "e"], - [925, 0, "t"], - [926, 0, " "], - [927, 0, "a"], - [928, 0, "l"], - [929, 0, ","], - [930, 0, " "], - [931, 0, "\""], - [932, 0, "c"], - [933, 0, "a"], - [934, 0, "u"], - [935, 0, "s"], - [936, 0, "e"], - [937, 0, " "], - [938, 0, "I"], - [939, 0, "'"], - [940, 0, "m"], - [941, 0, " "], - [942, 0, "s"], - [943, 0, "t"], - [944, 0, "r"], - [945, 0, "o"], - [946, 0, "n"], - [947, 0, "g"], - [948, 0, " "], - [949, 0, "e"], - [950, 0, "n"], - [951, 0, "o"], - [952, 0, "u"], - [953, 0, "g"], - [954, 0, "h"], - [955, 0, "\""], - [956, 0, ","], - [957, 0, " "], - [958, 0, "P"], - [959, 0, "O"], - [960, 0, "P"], - [961, 0, "L"], - [962, 0, " "], - [963, 0, "2"], - [964, 0, "0"], - [965, 0, "1"], - [966, 0, "6"], - [967, 0, "\n"], - [968, 0, "%"], - [969, 0, " "], - [970, 0, "v"], - [971, 0, "a"], - [972, 0, "r"], - [973, 0, "i"], - [974, 0, "o"], - [975, 0, "u"], - [976, 0, "s"], - [977, 0, " "], - [978, 0, "p"], - [979, 0, "a"], - [980, 0, "p"], - [981, 0, "e"], - [982, 0, "r"], - [983, 0, "s"], - [984, 0, " "], - [985, 0, "b"], - [986, 0, "y"], - [987, 0, " "], - [988, 0, "S"], - [989, 0, "e"], - [990, 0, "b"], - [991, 0, "a"], - [992, 0, "s"], - [993, 0, "t"], - [994, 0, "i"], - [995, 0, "a"], - [996, 0, "n"], - [997, 0, " "], - [998, 0, "B"], - [999, 0, "u"], - [1000, 0, "r"], - [1001, 0, "c"], - [1002, 0, "k"], - [1003, 0, "h"], - [1004, 0, "a"], - [1005, 0, "r"], - [1006, 0, "d"], - [1007, 0, "t"], - [1008, 0, "\n"], - [1009, 0, "%"], - [1010, 0, " "], - [1011, 0, "R"], - [1012, 0, "o"], - [1013, 0, "h"], - [1014, 0, " "], - [1015, 0, "e"], - [1016, 0, "t"], - [1017, 0, " "], - [1018, 0, "a"], - [1019, 0, "l"], - [1020, 0, "'"], - [1021, 0, "s"], - [1022, 0, " "], - [1023, 0, "t"], - [1024, 0, "e"], - [1025, 0, "c"], - [1026, 0, "h"], - [1027, 0, " "], - [1028, 0, "r"], - [1029, 0, "e"], - [1030, 0, "p"], - [1031, 0, "o"], - [1032, 0, "r"], - [1033, 0, "t"], - [1034, 0, " "], - [1035, 0, "("], - [1036, 0, "l"], - [1037, 0, "e"], - [1038, 0, "m"], - [1039, 0, "m"], - [1040, 0, "a"], - [1041, 0, "s"], - [1042, 0, " "], - [1043, 0, "8"], - [1044, 0, "-"], - [1045, 0, "1"], - [1046, 0, "3"], - [1047, 0, ","], - [1048, 0, " "], - [1049, 0, "t"], - [1050, 0, "h"], - [1051, 0, "e"], - [1052, 0, "o"], - [1053, 0, "r"], - [1054, 0, "e"], - [1055, 0, "m"], - [1056, 0, " "], - [1057, 0, "4"], - [1058, 0, ")"], - [1059, 0, "\n"], - [1060, 0, "%"], - [1061, 0, " "], - [1062, 0, "Z"], - [1063, 0, "e"], - [1064, 0, "l"], - [1065, 0, "l"], - [1066, 0, "e"], - [1067, 0, "r"], - [1068, 0, " "], - [1069, 0, "&"], - [1070, 0, " "], - [1071, 0, "B"], - [1072, 0, "i"], - [1073, 0, "e"], - [1074, 0, "n"], - [1075, 0, "i"], - [1076, 0, "u"], - [1077, 0, "s"], - [1078, 0, "a"], - [4325, 1], - [4324, 1], - [4323, 1], - [4322, 1], - [4321, 1], - [4320, 1], - [4319, 1], - [4318, 1], - [4317, 1], - [4316, 1], - [4315, 1], - [4314, 1], - [4313, 1], - [4312, 1], - [4311, 1], - [4310, 1], - [4309, 1], - [4308, 1], - [4308, 0, " "], - [4309, 0, "\\"], - [4310, 0, "m"], - [4311, 0, "a"], - [4312, 0, "t"], - [4313, 0, "h"], - [4314, 0, "r"], - [4315, 0, "m"], - [4316, 0, "{"], - [4317, 0, "m"], - [4318, 0, "a"], - [4319, 0, "x"], - [4320, 0, "}"], - [4321, 0, "("], - [4322, 0, ")"], - [4322, 0, "\\"], - [4323, 0, "{"], - [4324, 0, "\\"], - [4325, 0, "}"], - [4306, 0, "_"], - [4307, 0, "\\"], - [4308, 0, "m"], - [4309, 0, "a"], - [4310, 0, "t"], - [4311, 0, "h"], - [4312, 0, "i"], - [4313, 0, "t"], - [4314, 0, "{"], - [4315, 0, "m"], - [4316, 0, "a"], - [4317, 0, "x"], - [4318, 0, "}"], - [4337, 0, "c"], - [4338, 0, " "], - [4339, 0, "\\"], - [4340, 0, "m"], - [4341, 0, "i"], - [4342, 0, "d"], - [4343, 0, " "], - [4360, 0, "_"], - [4361, 0, "\\"], - [4362, 0, "m"], - [4363, 0, "a"], - [4364, 0, "t"], - [4365, 0, "h"], - [4366, 0, "i"], - [4367, 0, "t"], - [4368, 0, "{"], - [4369, 0, "s"], - [4370, 0, "e"], - [4371, 0, "l"], - [4372, 0, "f"], - [4373, 0, "}"], - [4343, 0, " "], - [4344, 0, "\\"], - [4345, 0, "e"], - [4346, 0, "x"], - [4347, 0, "i"], - [4348, 0, "s"], - [4349, 0, "t"], - [4350, 0, "s"], - [4351, 0, " "], - [4352, 0, "p"], - [4353, 0, "."], - [4354, 0, " "], - [4358, 1], - [4357, 1], - [4356, 1], - [4355, 1], - [4354, 1], - [4353, 1], - [4352, 1], - [4351, 1], - [4350, 1], - [4349, 1], - [4348, 1], - [4347, 1], - [4346, 1], - [4345, 1], - [4344, 1], - [4343, 1], - [4342, 1], - [4341, 1], - [4340, 1], - [4339, 1], - [4338, 1], - [4337, 1], - [4336, 1], - [4335, 1], - [4334, 1], - [4333, 1], - [4332, 1], - [4331, 1], - [4330, 1], - [4329, 1], - [4328, 1], - [4327, 1], - [4326, 1], - [4325, 1], - [4324, 1], - [4323, 1], - [4322, 1], - [4321, 1], - [4320, 1], - [4319, 1], - [4318, 1], - [4317, 1], - [4316, 1], - [4315, 1], - [4314, 1], - [4313, 1], - [4312, 1], - [4311, 1], - [4310, 1], - [4309, 1], - [4308, 1], - [4307, 1], - [4306, 1], - [4306, 0, " "], - [4307, 0, "="], - [4308, 0, " "], - [4309, 0, "A"], - [4310, 0, "_"], - [4311, 0, "p"], - [4312, 0, "("], - [4313, 0, "\\"], - [4314, 0, "m"], - [4315, 0, "a"], - [4316, 0, "t"], - [4317, 0, "h"], - [4318, 0, "s"], - [4319, 0, "f"], - [4320, 0, "{"], - [4321, 0, "c"], - [4322, 0, "t"], - [4323, 0, "r"], - [4324, 0, "}"], - [4325, 0, ")"], - [4352, 1], - [4351, 1], - [4350, 1], - [4349, 1], - [4348, 1], - [4347, 1], - [4346, 1], - [4345, 1], - [4344, 1], - [4343, 1], - [4342, 1], - [4341, 1], - [4340, 1], - [4339, 1], - [4757, 0, "~"], - [4757, 1], - [8448, 1], - [8448, 0, ","], - [8357, 1], - [8357, 0, ","], - [8174, 1], - [8174, 0, ","], - [8054, 1], - [8054, 0, ","], - [7674, 1], - [7674, 0, ","], - [7575, 1], - [7575, 0, ","], - [7203, 1], - [7203, 0, ","], - [7111, 1], - [7111, 0, ","], - [6951, 1], - [6951, 0, ","], - [7004, 1], - [7004, 0, ","], - [6822, 1], - [6822, 0, ","], - [6760, 1], - [6760, 0, ","], - [6791, 1], - [6791, 0, ","], - [6646, 1], - [6646, 0, ","], - [6592, 1], - [6592, 0, ","], - [6462, 1], - [6462, 0, ","], - [6400, 1], - [6400, 0, ","], - [6431, 1], - [6431, 0, ","], - [6288, 1], - [6288, 0, ","], - [6254, 1], - [6254, 0, ","], - [6141, 1], - [6141, 0, ","], - [6080, 1], - [6080, 0, ","], - [6081, 0, " "], - [6111, 1], - [6111, 0, ","], - [5785, 1], - [5785, 0, ","], - [5703, 1], - [5703, 0, ","], - [5364, 1], - [5364, 0, ","], - [5188, 1], - [5188, 0, ","], - [5026, 1], - [5026, 0, ","], - [4802, 1], - [4802, 0, ","], - [4596, 1], - [4596, 0, ","], - [4410, 1], - [4410, 0, ","], - [4470, 1], - [4470, 0, ","], - [8603, 0, "\n"], - [8604, 0, "\n"], - [8604, 1], - [8603, 1], - [1079, 0, "\n"], - [1080, 0, "%"], - [1081, 0, "\n"], - [1082, 0, "%"], - [1083, 0, " "], - [1084, 0, "L"], - [1085, 0, "o"], - [1086, 0, "o"], - [1087, 0, "k"], - [1088, 0, " "], - [1089, 0, "a"], - [1090, 0, "t"], - [1091, 0, " "], - [1092, 0, "K"], - [1093, 0, "C"], - [1094, 0, "'"], - [1095, 0, "s"], - [1096, 0, " "], - [1097, 0, "Q"], - [1098, 0, "u"], - [1099, 0, "e"], - [1100, 0, "l"], - [1101, 0, "e"], - [1102, 0, "a"], - [1103, 0, " "], - [1104, 0, "("], - [1105, 0, "a"], - [1106, 0, "l"], - [1107, 0, "s"], - [1108, 0, "o"], - [1109, 0, " "], - [1110, 0, "i"], - [1111, 0, "n"], - [1112, 0, " "], - [1113, 0, "D"], - [1114, 0, "E"], - [1115, 0, "B"], - [1116, 0, "u"], - [1117, 0, "l"], - [1118, 0, "l"], - [1119, 0, " "], - [1120, 0, "M"], - [1121, 0, "a"], - [1122, 0, "r"], - [1123, 0, "c"], - [1124, 0, "h"], - [1125, 0, ")"], - [1125, 0, " "], - [1126, 0, "i"], - [1127, 0, "s"], - [1128, 0, "s"], - [1129, 0, "u"], - [1130, 0, "e"], - [1166, 0, "\n"], - [1167, 0, "\\"], - [1168, 0, "s"], - [1169, 0, "u"], - [1170, 0, "b"], - [1171, 0, "s"], - [1172, 0, "e"], - [1173, 0, "c"], - [1174, 0, "t"], - [1175, 0, "i"], - [1176, 0, "o"], - [1177, 0, "n"], - [1178, 0, "{"], - [1179, 0, "L"], - [1180, 0, "a"], - [1181, 0, "m"], - [1182, 0, "p"], - [1183, 0, "o"], - [1184, 0, "r"], - [1185, 0, "t"], - [1186, 0, " "], - [1187, 0, "t"], - [1188, 0, "i"], - [1189, 0, "m"], - [1190, 0, "e"], - [1191, 0, "s"], - [1192, 0, "t"], - [1193, 0, "a"], - [1194, 0, "m"], - [1195, 0, "p"], - [1196, 0, "s"], - [1197, 0, "}"], - [1198, 0, "\n"], - [1165, 0, "\n"], - [1166, 0, "\n"], - [1167, 0, "W"], - [1168, 0, "e"], - [1169, 0, " "], - [1170, 0, "g"], - [1171, 0, "o"], - [1172, 0, " "], - [1173, 0, "a"], - [1174, 0, "b"], - [1175, 0, "o"], - [1176, 0, "u"], - [1177, 0, "t"], - [1178, 0, " "], - [1179, 0, "d"], - [1180, 0, "e"], - [1181, 0, "f"], - [1182, 0, "i"], - [1183, 0, "n"], - [1184, 0, "i"], - [1185, 0, "n"], - [1186, 0, "g"], - [1187, 0, " "], - [1188, 0, "t"], - [1189, 0, "h"], - [1190, 0, "e"], - [1191, 0, " "], - [1192, 0, "s"], - [1193, 0, "e"], - [1194, 0, "m"], - [1195, 0, "a"], - [1196, 0, "n"], - [1197, 0, "t"], - [1198, 0, "i"], - [1199, 0, "c"], - [1200, 0, "s"], - [1201, 0, " "], - [1202, 0, "f"], - [1203, 0, "o"], - [1204, 0, "r"], - [1205, 0, " "], - [1206, 0, "c"], - [1207, 0, "o"], - [1208, 0, "l"], - [1209, 0, "l"], - [1210, 0, "a"], - [1211, 0, "b"], - [1212, 0, "o"], - [1213, 0, "r"], - [1214, 0, "a"], - [1215, 0, "t"], - [1216, 0, "i"], - [1217, 0, "v"], - [1218, 0, "e"], - [1219, 0, "l"], - [1220, 0, "y"], - [1221, 0, " "], - [1222, 0, "e"], - [1223, 0, "d"], - [1224, 0, "i"], - [1225, 0, "t"], - [1226, 0, "a"], - [1227, 0, "b"], - [1228, 0, "l"], - [1229, 0, "e"], - [1230, 0, " "], - [1231, 0, "d"], - [1232, 0, "a"], - [1233, 0, "t"], - [1234, 0, "a"], - [1235, 0, " "], - [1236, 0, "s"], - [1237, 0, "t"], - [1238, 0, "r"], - [1239, 0, "u"], - [1240, 0, "c"], - [1241, 0, "t"], - [1242, 0, "u"], - [1243, 0, "r"], - [1244, 0, "e"], - [1245, 0, "s"], - [1246, 0, " "], - [1247, 0, "a"], - [1248, 0, "s"], - [1249, 0, " "], - [1250, 0, "f"], - [1251, 0, "o"], - [1252, 0, "l"], - [1253, 0, "l"], - [1254, 0, "w"], - [1255, 0, "0"], - [1255, 1], - [1254, 1], - [1254, 0, "o"], - [1255, 0, "w"], - [1256, 0, "s"], - [1257, 0, "."], - [1258, 0, " "], - [1259, 0, "F"], - [1260, 0, "i"], - [1261, 0, "r"], - [1262, 0, "s"], - [1263, 0, "t"], - [1264, 0, "l"], - [1265, 0, "y"], - [1266, 0, ","], - [1267, 0, " "], - [1268, 0, "w"], - [1269, 0, "e"], - [1270, 0, " "], - [1271, 0, "d"], - [1272, 0, "e"], - [1273, 0, "f"], - [1274, 0, "i"], - [1275, 0, "n"], - [1276, 0, "e"], - [1277, 0, " "], - [1278, 0, "a"], - [1279, 0, " "], - [1280, 0, "s"], - [1281, 0, "i"], - [1282, 0, "m"], - [1283, 0, "p"], - [1284, 0, "l"], - [1285, 0, "e"], - [1286, 0, " "], - [1287, 0, "c"], - [1288, 0, "o"], - [1289, 0, "m"], - [1290, 0, "m"], - [1291, 0, "a"], - [1292, 0, "n"], - [1293, 0, "d"], - [1294, 0, " "], - [1295, 0, "l"], - [1296, 0, "a"], - [1297, 0, "n"], - [1298, 0, "g"], - [1299, 0, "u"], - [1300, 0, "a"], - [1301, 0, "g"], - [1302, 0, "e"], - [1303, 0, " "], - [1304, 0, "t"], - [1305, 0, "h"], - [1306, 0, "a"], - [1307, 0, "t"], - [1308, 0, " "], - [1309, 0, "i"], - [1310, 0, "s"], - [1311, 0, " "], - [1312, 0, "e"], - [1313, 0, "x"], - [1314, 0, "e"], - [1315, 0, "c"], - [1316, 0, "u"], - [1317, 0, "t"], - [1318, 0, "e"], - [1319, 0, "d"], - [1320, 0, " "], - [1321, 0, "l"], - [1322, 0, "o"], - [1323, 0, "c"], - [1324, 0, "a"], - [1325, 0, "l"], - [1326, 0, "l"], - [1327, 0, "y"], - [1328, 0, " "], - [1329, 0, "o"], - [1330, 0, "n"], - [1331, 0, " "], - [1332, 0, "o"], - [1333, 0, "n"], - [1334, 0, "e"], - [1335, 0, " "], - [1336, 0, "o"], - [1336, 1], - [1335, 1], - [1334, 1], - [1333, 1], - [1332, 1], - [1331, 1], - [1330, 1], - [1329, 1], - [1329, 0, "a"], - [1330, 0, "t"], - [1331, 0, " "], - [1332, 0, "a"], - [1333, 0, "n"], - [1334, 0, "y"], - [1335, 0, " "], - [1336, 0, "o"], - [1337, 0, "f"], - [1338, 0, " "], - [1339, 0, "t"], - [1340, 0, "h"], - [1341, 0, "e"], - [1342, 0, " "], - [1343, 0, "p"], - [1344, 0, "e"], - [1345, 0, "e"], - [1346, 0, "r"], - [1347, 0, "s"], - [1348, 0, ","], - [1349, 0, " "], - [1350, 0, "a"], - [1351, 0, "n"], - [1352, 0, "d"], - [1353, 0, " "], - [1354, 0, "w"], - [1355, 0, "h"], - [1356, 0, "i"], - [1357, 0, "c"], - [1358, 0, "h"], - [1359, 0, " "], - [1360, 0, "a"], - [1361, 0, "l"], - [1362, 0, "l"], - [1363, 0, "o"], - [1364, 0, "w"], - [1365, 0, "s"], - [1366, 0, " "], - [1367, 0, "t"], - [1368, 0, "h"], - [1369, 0, "e"], - [1370, 0, " "], - [1371, 0, "l"], - [1372, 0, "o"], - [1373, 0, "c"], - [1374, 0, "a"], - [1375, 0, "l"], - [1376, 0, " "], - [1377, 0, "s"], - [1378, 0, "t"], - [1379, 0, "a"], - [1380, 0, "t"], - [1381, 0, "e"], - [1382, 0, " "], - [1383, 0, "o"], - [1384, 0, "f"], - [1385, 0, " "], - [1386, 0, "t"], - [1387, 0, "h"], - [1388, 0, "a"], - [1389, 0, "t"], - [1390, 0, " "], - [1391, 0, "p"], - [1392, 0, "e"], - [1393, 0, "e"], - [1394, 0, "r"], - [1395, 0, "'"], - [1396, 0, "s"], - [1397, 0, " "], - [1398, 0, "c"], - [1399, 0, "o"], - [1400, 0, "p"], - [1401, 0, "y"], - [1402, 0, " "], - [1403, 0, "o"], - [1404, 0, "f"], - [1405, 0, " "], - [1406, 0, "t"], - [1407, 0, "h"], - [1408, 0, "e"], - [1409, 0, " "], - [1410, 0, "d"], - [1411, 0, "o"], - [1412, 0, "c"], - [1413, 0, "u"], - [1414, 0, "m"], - [1415, 0, "e"], - [1416, 0, "n"], - [1417, 0, "t"], - [1418, 0, " "], - [1419, 0, "t"], - [1420, 0, "o"], - [1421, 0, " "], - [1422, 0, "b"], - [1423, 0, "e"], - [1424, 0, " "], - [1425, 0, "q"], - [1426, 0, "u"], - [1427, 0, "e"], - [1428, 0, "r"], - [1429, 0, "i"], - [1430, 0, "e"], - [1431, 0, "d"], - [1432, 0, " "], - [1433, 0, "a"], - [1434, 0, "n"], - [1435, 0, "d"], - [1436, 0, " "], - [1437, 0, "m"], - [1438, 0, "o"], - [1439, 0, "d"], - [1440, 0, "i"], - [1441, 0, "f"], - [1442, 0, "i"], - [1443, 0, "e"], - [1444, 0, "d"], - [1445, 0, "."], - [1446, 0, " "], - [1447, 0, "P"], - [1448, 0, "e"], - [1449, 0, "r"], - [1450, 0, "f"], - [1451, 0, "o"], - [1452, 0, "r"], - [1453, 0, "m"], - [1454, 0, "i"], - [1455, 0, "n"], - [1456, 0, "g"], - [1457, 0, " "], - [1458, 0, "q"], - [1459, 0, "u"], - [1460, 0, "e"], - [1461, 0, "r"], - [1462, 0, "i"], - [1463, 0, "e"], - [1464, 0, "s"], - [1465, 0, " "], - [1465, 1], - [1464, 1], - [1463, 1], - [1462, 1], - [1461, 1], - [1460, 1], - [1459, 1], - [1458, 1], - [1458, 0, "r"], - [1459, 0, "e"], - [1460, 0, "a"], - [1461, 0, "d"], - [1462, 0, "-"], - [1463, 0, "o"], - [1464, 0, "n"], - [1465, 0, "l"], - [1466, 0, "y"], - [1467, 0, " "], - [1468, 0, "q"], - [1469, 0, "u"], - [1470, 0, "e"], - [1471, 0, "r"], - [1472, 0, "i"], - [1473, 0, "e"], - [1474, 0, "s"], - [1475, 0, " "], - [1476, 0, "h"], - [1477, 0, "a"], - [1478, 0, "s"], - [1479, 0, " "], - [1480, 0, "n"], - [1481, 0, "o"], - [1482, 0, " "], - [1483, 0, "s"], - [1484, 0, "i"], - [1485, 0, "d"], - [1486, 0, "e"], - [1487, 0, "-"], - [1488, 0, "e"], - [1489, 0, "f"], - [1490, 0, "f"], - [1491, 0, "e"], - [1492, 0, "c"], - [1493, 0, "t"], - [1494, 0, "s"], - [1495, 0, ","], - [1496, 0, " "], - [1497, 0, "b"], - [1498, 0, "u"], - [1499, 0, "t"], - [1500, 0, " "], - [1501, 0, "p"], - [1502, 0, "e"], - [1503, 0, "r"], - [1503, 1], - [1502, 1], - [1501, 1], - [1501, 0, "m"], - [1502, 0, "o"], - [1503, 0, "d"], - [1504, 0, "i"], - [1505, 0, "f"], - [1506, 0, "y"], - [1507, 0, "i"], - [1508, 0, "n"], - [1509, 0, "g"], - [1510, 0, " "], - [1511, 0, "t"], - [1512, 0, "h"], - [1513, 0, "e"], - [1514, 0, " "], - [1515, 0, "d"], - [1516, 0, "o"], - [1517, 0, "c"], - [1518, 0, "u"], - [1519, 0, "m"], - [1520, 0, "e"], - [1521, 0, "n"], - [1522, 0, "t"], - [1523, 0, " "], - [1524, 0, "h"], - [1525, 0, "a"], - [1526, 0, "s"], - [1527, 0, " "], - [1528, 0, "t"], - [1529, 0, "h"], - [1530, 0, "e"], - [1531, 0, " "], - [1532, 0, "e"], - [1533, 0, "f"], - [1534, 0, "f"], - [1535, 0, "e"], - [1536, 0, "c"], - [1537, 0, "t"], - [1538, 0, " "], - [1539, 0, "o"], - [1540, 0, "f"], - [1541, 0, " "], - [1542, 0, "p"], - [1543, 0, "r"], - [1544, 0, "o"], - [1545, 0, "d"], - [1546, 0, "u"], - [1547, 0, "c"], - [1548, 0, "i"], - [1549, 0, "n"], - [1550, 0, "g"], - [1551, 0, " "], - [1552, 0, "\\"], - [1553, 0, "e"], - [1554, 0, "m"], - [1555, 0, "p"], - [1556, 0, "h"], - [1557, 0, "{"], - [1558, 0, "o"], - [1559, 0, "p"], - [1560, 0, "e"], - [1561, 0, "r"], - [1562, 0, "a"], - [1563, 0, "t"], - [1564, 0, "i"], - [1565, 0, "o"], - [1566, 0, "n"], - [1567, 0, "s"], - [1568, 0, "}"], - [1569, 0, " "], - [1570, 0, "d"], - [1571, 0, "e"], - [1572, 0, "s"], - [1573, 0, "c"], - [1574, 0, "r"], - [1575, 0, "i"], - [1576, 0, "b"], - [1577, 0, "i"], - [1578, 0, "n"], - [1579, 0, "g"], - [1580, 0, " "], - [1581, 0, "t"], - [1582, 0, "h"], - [1583, 0, "e"], - [1584, 0, " "], - [1585, 0, "m"], - [1586, 0, "u"], - [1587, 0, "t"], - [1588, 0, "a"], - [1589, 0, "t"], - [1590, 0, "i"], - [1591, 0, "o"], - [1592, 0, "n"], - [1593, 0, "."], - [1594, 0, " "], - [1595, 0, "T"], - [1596, 0, "h"], - [1597, 0, "o"], - [1598, 0, "s"], - [1599, 0, "e"], - [1600, 0, " "], - [1601, 0, "o"], - [1602, 0, "p"], - [1603, 0, "e"], - [1604, 0, "r"], - [1605, 0, "a"], - [1606, 0, "t"], - [1607, 0, "i"], - [1608, 0, "o"], - [1609, 0, "n"], - [1610, 0, "s"], - [1611, 0, " "], - [1612, 0, "a"], - [1613, 0, "r"], - [1614, 0, "e"], - [1615, 0, " "], - [1616, 0, "a"], - [1617, 0, "p"], - [1618, 0, "p"], - [1619, 0, "l"], - [1620, 0, "i"], - [1621, 0, "e"], - [1622, 0, "d"], - [1623, 0, " "], - [1624, 0, "t"], - [1625, 0, "o"], - [1626, 0, " "], - [1627, 0, "t"], - [1628, 0, "h"], - [1629, 0, "e"], - [1630, 0, " "], - [1631, 0, "l"], - [1632, 0, "o"], - [1633, 0, "c"], - [1634, 0, "a"], - [1635, 0, "l"], - [1636, 0, " "], - [1637, 0, "c"], - [1638, 0, "o"], - [1639, 0, "p"], - [1640, 0, "y"], - [1641, 0, " "], - [1642, 0, "o"], - [1643, 0, "f"], - [1644, 0, " "], - [1645, 0, "t"], - [1646, 0, "h"], - [1647, 0, "e"], - [1648, 0, " "], - [1649, 0, "d"], - [1650, 0, "o"], - [1651, 0, "c"], - [1652, 0, "u"], - [1653, 0, "m"], - [1654, 0, "e"], - [1655, 0, "n"], - [1656, 0, "t"], - [1657, 0, " "], - [1657, 1], - [1657, 0, ","], - [1658, 0, " "], - [1659, 0, "a"], - [1660, 0, "n"], - [1661, 0, "d"], - [1662, 0, " "], - [1663, 0, "a"], - [1664, 0, "l"], - [1665, 0, "s"], - [1666, 0, "o"], - [1667, 0, " "], - [1668, 0, "e"], - [1669, 0, "n"], - [1670, 0, "q"], - [1671, 0, "u"], - [1672, 0, "e"], - [1673, 0, "u"], - [1674, 0, "e"], - [1675, 0, "d"], - [1676, 0, " "], - [1677, 0, "f"], - [1678, 0, "o"], - [1679, 0, "r"], - [1680, 0, " "], - [1681, 0, "b"], - [1682, 0, "r"], - [1683, 0, "o"], - [1684, 0, "a"], - [1685, 0, "d"], - [1686, 0, "c"], - [1687, 0, "a"], - [1688, 0, "s"], - [1689, 0, "t"], - [1690, 0, "i"], - [1691, 0, "n"], - [1692, 0, "g"], - [1693, 0, " "], - [1694, 0, "t"], - [1695, 0, "o"], - [1696, 0, " "], - [1697, 0, "o"], - [1698, 0, "t"], - [1699, 0, "h"], - [1700, 0, "e"], - [1701, 0, "r"], - [1702, 0, " "], - [1703, 0, "p"], - [1704, 0, "e"], - [1705, 0, "e"], - [1706, 0, "r"], - [1707, 0, "s"], - [1708, 0, "."], - [1709, 0, " "], - [1710, 0, "\n"], - [1711, 0, "\n"], - [1712, 0, "\\"], - [1713, 0, "b"], - [1714, 0, "e"], - [1715, 0, "g"], - [1716, 0, "i"], - [1717, 0, "n"], - [1718, 0, "{"], - [1719, 0, "f"], - [1720, 0, "i"], - [1721, 0, "g"], - [1722, 0, "u"], - [1723, 0, "r"], - [1724, 0, "e"], - [1725, 0, "}"], - [1726, 0, "\n"], - [1727, 0, "\\"], - [1728, 0, "e"], - [1729, 0, "n"], - [1730, 0, "d"], - [1731, 0, "{"], - [1732, 0, "f"], - [1733, 0, "i"], - [1734, 0, "g"], - [1735, 0, "u"], - [1736, 0, "r"], - [1737, 0, "e"], - [1738, 0, "}"], - [1726, 0, "\n"], - [1727, 0, "\\"], - [1728, 0, "c"], - [1729, 0, "a"], - [1730, 0, "p"], - [1731, 0, "t"], - [1732, 0, "i"], - [1733, 0, "o"], - [1734, 0, "n"], - [1735, 0, "{"], - [1736, 0, "S"], - [1737, 0, "y"], - [1738, 0, "n"], - [1739, 0, "t"], - [1740, 0, "a"], - [1741, 0, "x"], - [1742, 0, " "], - [1743, 0, "o"], - [1744, 0, "f"], - [1745, 0, " "], - [1746, 0, "c"], - [1747, 0, "o"], - [1748, 0, "m"], - [1749, 0, "m"], - [1750, 0, "a"], - [1751, 0, "n"], - [1752, 0, "d"], - [1753, 0, " "], - [1754, 0, "l"], - [1755, 0, "a"], - [1756, 0, "n"], - [1757, 0, "g"], - [1758, 0, "u"], - [1759, 0, "a"], - [1760, 0, "g"], - [1761, 0, "e"], - [1762, 0, " "], - [1763, 0, "f"], - [1764, 0, "o"], - [1765, 0, "r"], - [1766, 0, " "], - [1767, 0, "l"], - [1768, 0, "o"], - [1769, 0, "c"], - [1770, 0, "a"], - [1771, 0, "l"], - [1772, 0, "l"], - [1773, 0, "y"], - [1774, 0, " "], - [1774, 1], - [1773, 1], - [1772, 1], - [1771, 1], - [1770, 1], - [1769, 1], - [1768, 1], - [1767, 1], - [1767, 0, "q"], - [1768, 0, "u"], - [1769, 0, "e"], - [1770, 0, "r"], - [1771, 0, "y"], - [1772, 0, "i"], - [1773, 0, "n"], - [1774, 0, "g"], - [1775, 0, " "], - [1776, 0, "a"], - [1777, 0, "n"], - [1778, 0, "d"], - [1779, 0, " "], - [1780, 0, "m"], - [1781, 0, "o"], - [1782, 0, "d"], - [1783, 0, "i"], - [1784, 0, "f"], - [1785, 0, "y"], - [1786, 0, "i"], - [1787, 0, "n"], - [1788, 0, "g"], - [1789, 0, " "], - [1790, 0, "a"], - [1791, 0, " "], - [1792, 0, "d"], - [1793, 0, "o"], - [1794, 0, "c"], - [1795, 0, "u"], - [1796, 0, "m"], - [1797, 0, "e"], - [1798, 0, "n"], - [1799, 0, "t"], - [1800, 0, "}"], - [1801, 0, "\\"], - [1802, 0, "l"], - [1803, 0, "a"], - [1804, 0, "b"], - [1805, 0, "e"], - [1806, 0, "l"], - [1807, 0, "{"], - [1808, 0, "f"], - [1809, 0, "i"], - [1810, 0, "g"], - [1811, 0, ":"], - [1812, 0, "l"], - [1813, 0, "o"], - [1814, 0, "c"], - [1815, 0, "a"], - [1816, 0, "l"], - [1817, 0, "-"], - [1818, 0, "s"], - [1819, 0, "y"], - [1820, 0, "n"], - [1821, 0, "t"], - [1822, 0, "a"], - [1823, 0, "x"], - [1824, 0, "}"], - [1726, 0, "\n"], - [1727, 0, "\\"], - [1728, 0, "b"], - [1729, 0, "e"], - [1730, 0, "g"], - [1731, 0, "i"], - [1732, 0, "n"], - [1733, 0, "{"], - [1734, 0, "t"], - [1735, 0, "a"], - [1736, 0, "b"], - [1737, 0, "u"], - [1738, 0, "l"], - [1739, 0, "a"], - [1740, 0, "r"], - [1741, 0, "}"], - [1742, 0, "\n"], - [1743, 0, "\\"], - [1744, 0, "e"], - [1745, 0, "n"], - [1746, 0, "d"], - [1747, 0, "{"], - [1748, 0, "t"], - [1749, 0, "a"], - [1750, 0, "b"], - [1751, 0, "u"], - [1752, 0, "l"], - [1753, 0, "a"], - [1754, 0, "r"], - [1755, 0, "}"], - [1742, 0, "\n"], - [1743, 0, "C"], - [1744, 0, "M"], - [1745, 0, "D"], - [1746, 0, " "], - [1747, 0, "&"], - [1748, 0, " "], - [1749, 0, ":"], - [1750, 0, ":"], - [1751, 0, "="], - [1752, 0, " "], - [1753, 0, "&"], - [1754, 0, " "], - [1755, 0, "l"], - [1755, 1], - [1755, 0, "\\"], - [1756, 0, "m"], - [1757, 0, "a"], - [1757, 1], - [1756, 1], - [1756, 0, "t"], - [1757, 0, "e"], - [1758, 0, "x"], - [1759, 0, "t"], - [1760, 0, "s"], - [1761, 0, "f"], - [1762, 0, "{"], - [1763, 0, "l"], - [1764, 0, "e"], - [1765, 0, "t"], - [1766, 0, "}"], - [1767, 0, " "], - [1768, 0, "$"], - [1769, 0, "x"], - [1770, 0, "$"], - [1771, 0, " "], - [1772, 0, "="], - [1773, 0, " "], - [1774, 0, "E"], - [1775, 0, "X"], - [1776, 0, "P"], - [1777, 0, "R"], - [1778, 0, " "], - [1779, 0, "&"], - [1780, 0, " "], - [1781, 0, "$"], - [1782, 0, "x"], - [1783, 0, " "], - [1784, 0, "\\"], - [1785, 0, "i"], - [1786, 0, "n"], - [1787, 0, " "], - [1788, 0, "\\"], - [1789, 0, "m"], - [1790, 0, "a"], - [1791, 0, "t"], - [1792, 0, "h"], - [1793, 0, "r"], - [1794, 0, "m"], - [1795, 0, "{"], - [1796, 0, "V"], - [1797, 0, "A"], - [1798, 0, "R"], - [1799, 0, "}"], - [1800, 0, "$"], - [1742, 0, "{"], - [1743, 0, "r"], - [1744, 0, "c"], - [1745, 0, "l"], - [1746, 0, "l"], - [1747, 0, "}"], - [1807, 0, " "], - [1808, 0, "\\"], - [1809, 0, "\\"], - [1810, 0, "\n"], - [1811, 0, "&"], - [1812, 0, " "], - [1813, 0, "|"], - [1814, 0, " "], - [1815, 0, "&"], - [1816, 0, " "], - [1817, 0, "E"], - [1818, 0, "X"], - [1819, 0, "P"], - [1820, 0, "R"], - [1821, 0, " "], - [1822, 0, "="], - [1823, 0, " "], - [1824, 0, "$"], - [1825, 0, "v"], - [1826, 0, "$"], - [1827, 0, " "], - [1828, 0, "&"], - [1829, 0, " "], - [1830, 0, "$"], - [1831, 0, "v"], - [1832, 0, " "], - [1833, 0, "\\"], - [1834, 0, "i"], - [1835, 0, "n"], - [1836, 0, " "], - [1837, 0, "V"], - [1838, 0, "A"], - [1839, 0, "L"], - [1837, 0, "\\"], - [1838, 0, "m"], - [1839, 0, "a"], - [1840, 0, "t"], - [1841, 0, "h"], - [1842, 0, "r"], - [1843, 0, "m"], - [1844, 0, "{"], - [1848, 0, "}"], - [1849, 0, "$"], - [1850, 0, " "], - [1851, 0, "\\"], - [1852, 0, "\\"], - [1813, 0, "|"], - [1813, 1], - [1813, 0, "\\"], - [1813, 1], - [1813, 0, "$"], - [1815, 0, "$"], - [1855, 0, "\n"], - [1856, 0, "^"], - [1856, 1], - [1856, 0, "&"], - [1857, 0, " "], - [1858, 0, "$"], - [1859, 0, "|"], - [1860, 0, "$"], - [1861, 0, " "], - [1862, 0, "&"], - [1863, 0, " "], - [1864, 0, "C"], - [1865, 0, "M"], - [1866, 0, "D"], - [1867, 0, ";"], - [1868, 0, " "], - [1869, 0, "C"], - [1870, 0, "M"], - [1871, 0, "D"], - [1872, 0, " "], - [1873, 0, "\\"], - [1874, 0, "\\"], - [1875, 0, "\n"], - [1876, 0, "E"], - [1877, 0, "X"], - [1878, 0, "P"], - [1879, 0, "R"], - [1880, 0, " "], - [1881, 0, "&"], - [1882, 0, " "], - [1883, 0, ":"], - [1884, 0, ":"], - [1885, 0, "="], - [1886, 0, " "], - [1887, 0, "&"], - [1888, 0, " "], - [1889, 0, "\\"], - [1890, 0, "t"], - [1891, 0, "e"], - [1892, 0, "x"], - [1893, 0, "t"], - [1894, 0, "s"], - [1895, 0, "f"], - [1896, 0, "{"], - [1897, 0, "d"], - [1898, 0, "o"], - [1899, 0, "c"], - [1900, 0, "}"], - [1901, 0, " "], - [1902, 0, "\\"], - [1903, 0, "\\"], - [1904, 0, "\n"], - [1905, 0, "&"], - [1906, 0, " "], - [1907, 0, "$"], - [1908, 0, "|"], - [1909, 0, "$"], - [1910, 0, " "], - [1911, 0, "E"], - [1912, 0, "X"], - [1913, 0, "P"], - [1914, 0, "R"], - [1915, 0, "."], - [1916, 0, "\\"], - [1917, 0, "m"], - [1918, 0, "a"], - [1919, 0, "t"], - [1920, 0, "h"], - [1921, 0, "s"], - [1922, 0, "f"], - [1923, 0, "{"], - [1924, 0, "g"], - [1925, 0, "e"], - [1926, 0, "t"], - [1927, 0, "}"], - [1928, 0, "("], - [1920, 1], - [1919, 1], - [1918, 1], - [1917, 1], - [1917, 0, "t"], - [1918, 0, "e"], - [1919, 0, "x"], - [1920, 0, "t"], - [1929, 0, "\\"], - [1930, 0, "t"], - [1931, 0, "e"], - [1932, 0, "x"], - [1933, 0, "t"], - [1934, 0, "i"], - [1935, 0, "t"], - [1936, 0, "{"], - [1937, 0, "k"], - [1938, 0, "e"], - [1939, 0, "y"], - [1940, 0, "}"], - [1941, 0, ")"], - [1942, 0, " "], - [1943, 0, "&"], - [1944, 0, " "], - [1945, 0, "\\"], - [1946, 0, "\\"], - [1946, 1], - [1945, 1], - [1945, 0, "$"], - [1946, 0, "\\"], - [1947, 0, "m"], - [1948, 0, "a"], - [1949, 0, "t"], - [1950, 0, "h"], - [1951, 0, "i"], - [1952, 0, "t"], - [1953, 0, "{"], - [1954, 0, "k"], - [1955, 0, "e"], - [1956, 0, "y"], - [1957, 0, "}"], - [1958, 0, " "], - [1959, 0, "\\"], - [1960, 0, "i"], - [1961, 0, "n"], - [1962, 0, " "], - [1963, 0, "\\"], - [1964, 0, "m"], - [1965, 0, "a"], - [1966, 0, "t"], - [1967, 0, "h"], - [1968, 0, "r"], - [1969, 0, "m"], - [1970, 0, " "], - [1970, 1], - [1970, 0, "{"], - [1971, 0, "V"], - [1972, 0, "A"], - [1973, 0, "L"], - [1974, 0, "}"], - [1975, 0, "$"], - [1976, 0, " "], - [1977, 0, "\\"], - [1978, 0, "\\"], - [1979, 0, "\n"], - [1980, 0, "&"], - [1981, 0, " "], - [1982, 0, "$"], - [1983, 0, "|"], - [1984, 0, "$"], - [1985, 0, " "], - [1986, 0, "E"], - [1987, 0, "X"], - [1988, 0, "P"], - [1989, 0, "R"], - [1990, 0, "."], - [1991, 0, "\\"], - [1992, 0, "t"], - [1993, 0, "e"], - [1994, 0, "x"], - [1995, 0, "t"], - [1996, 0, "s"], - [1997, 0, "f"], - [1998, 0, "{"], - [1999, 0, "n"], - [2000, 0, "e"], - [2001, 0, "x"], - [2002, 0, "t"], - [2003, 0, "}"], - [2004, 0, " "], - [2005, 0, "\\"], - [2006, 0, "\\"], - [2007, 0, "\n"], - [2008, 0, "&"], - [2009, 0, " "], - [2010, 0, "$"], - [2011, 0, "|"], - [2012, 0, "$"], - [2013, 0, " "], - [2014, 0, "E"], - [2015, 0, "X"], - [2016, 0, "P"], - [2017, 0, "R"], - [2018, 0, "."], - [2019, 0, "\\"], - [2019, 1], - [2019, 0, "\\"], - [2020, 0, "t"], - [2021, 0, "e"], - [2022, 0, "x"], - [2023, 0, "t"], - [2024, 0, "s"], - [2025, 0, "f"], - [2026, 0, "{"], - [2027, 0, "v"], - [2028, 0, "a"], - [2029, 0, "l"], - [2030, 0, "u"], - [2031, 0, "e"], - [2032, 0, "s"], - [2033, 0, "}"], - [2034, 0, "\n"], - [2034, 1], - [1855, 0, "\n"], - [1856, 0, "^"], - [1857, 0, " "], - [1857, 1], - [1856, 1], - [1856, 0, "&"], - [1857, 0, " "], - [1858, 0, "$"], - [1859, 0, "|"], - [1860, 0, "$"], - [1861, 0, " "], - [1862, 0, "&"], - [1863, 0, " "], - [1864, 0, "\\"], - [1865, 0, "m"], - [1866, 0, "a"], - [1867, 0, "t"], - [1868, 0, "h"], - [1869, 0, "s"], - [1870, 0, "f"], - [1871, 0, "{"], - [1872, 0, "y"], - [1873, 0, "i"], - [1874, 0, "e"], - [1875, 0, "l"], - [1876, 0, "d"], - [1877, 0, "}"], - [1878, 0, " "], - [1879, 0, "\\"], - [1880, 0, "\\"], - [1868, 1], - [1867, 1], - [1866, 1], - [1865, 1], - [1865, 0, "t"], - [1866, 0, "e"], - [1867, 0, "x"], - [1868, 0, "t"], - [1937, 0, "&"], - [1938, 0, " "], - [2014, 0, "&"], - [2015, 0, " "], - [2044, 0, "&"], - [2045, 0, " "], - [1901, 0, "\\"], - [1902, 0, "v"], - [1903, 0, "s"], - [1904, 0, "p"], - [1905, 0, "a"], - [1906, 0, "c"], - [1907, 0, "e"], - [1908, 0, "{"], - [1909, 0, "1"], - [1910, 0, "0"], - [1911, 0, "p"], - [1912, 0, "t"], - [1913, 0, "}"], - [1912, 1], - [1911, 1], - [1910, 1], - [1910, 0, "e"], - [1911, 0, "m"], - [1913, 0, "\\"], - [1914, 0, "\\"], - [1900, 1], - [1899, 1], - [2019, 0, "\n"], - [2020, 0, "&"], - [2021, 0, " "], - [2022, 0, "$"], - [2023, 0, "|"], - [2024, 0, "$"], - [2025, 0, " "], - [2026, 0, "&"], - [2027, 0, " "], - [2028, 0, "E"], - [2029, 0, "X"], - [2030, 0, "P"], - [2031, 0, "R"], - [2032, 0, "."], - [2033, 0, "\\"], - [2034, 0, "t"], - [2035, 0, "e"], - [2036, 0, "x"], - [2037, 0, "t"], - [2038, 0, "s"], - [2039, 0, "f"], - [2040, 0, "{"], - [2041, 0, "d"], - [2042, 0, "e"], - [2043, 0, "l"], - [2044, 0, "K"], - [2045, 0, "e"], - [2046, 0, "y"], - [2047, 0, "}"], - [2048, 0, " "], - [2049, 0, "\\"], - [2050, 0, "\\"], - [2081, 0, "\n"], - [2082, 0, "&"], - [2083, 0, " "], - [2084, 0, "$"], - [2085, 0, "|"], - [2086, 0, "$"], - [2087, 0, " "], - [2088, 0, "&"], - [2089, 0, " "], - [2090, 0, "E"], - [2091, 0, "X"], - [2092, 0, "P"], - [2093, 0, "R"], - [2094, 0, "."], - [2095, 0, "\\"], - [2096, 0, "t"], - [2097, 0, "e"], - [2098, 0, "x"], - [2099, 0, "t"], - [2100, 0, "s"], - [2101, 0, "f"], - [2102, 0, "{"], - [2103, 0, "d"], - [2104, 0, "e"], - [2105, 0, "l"], - [2043, 1], - [2042, 1], - [2041, 1], - [2041, 0, "r"], - [2042, 0, "m"], - [2104, 1], - [2103, 1], - [2102, 1], - [2102, 0, "r"], - [2103, 0, "m"], - [2104, 0, "E"], - [2105, 0, "l"], - [2106, 0, "e"], - [2107, 0, "m"], - [2108, 0, "}"], - [2109, 0, " "], - [2110, 0, "\\"], - [2111, 0, "\\"], - [2141, 0, " "], - [2142, 0, "\\"], - [2143, 0, "\\"], - [2144, 0, "\n"], - [2145, 0, "&"], - [2146, 0, " "], - [2147, 0, "$"], - [2148, 0, "|"], - [2149, 0, "$"], - [2150, 0, " "], - [2151, 0, "&"], - [2152, 0, " "], - [2153, 0, "$"], - [2154, 0, "x"], - [2155, 0, "$"], - [2156, 0, " "], - [2157, 0, "&"], - [2158, 0, " "], - [2159, 0, "$"], - [2160, 0, "x"], - [2161, 0, " "], - [2162, 0, "\\"], - [2163, 0, "i"], - [2164, 0, "n"], - [2165, 0, " "], - [2166, 0, "\\"], - [2167, 0, "m"], - [2168, 0, "a"], - [2169, 0, "t"], - [2170, 0, "h"], - [2171, 0, "r"], - [2172, 0, "m"], - [2173, 0, "{"], - [2174, 0, "V"], - [2175, 0, "A"], - [2176, 0, "R"], - [2177, 0, "}"], - [2178, 0, "$"], - [2179, 0, " "], - [2180, 0, "\\"], - [2181, 0, "v"], - [2182, 0, "s"], - [2183, 0, "p"], - [2184, 0, "a"], - [2185, 0, "c"], - [2186, 0, "e"], - [2187, 0, "{"], - [2188, 0, "1"], - [2189, 0, "e"], - [2190, 0, "m"], - [2191, 0, "}"], - [2192, 0, "\\"], - [2193, 0, "\\"], - [2194, 0, "\n"], - [2195, 0, "V"], - [2196, 0, "A"], - [2197, 0, "R"], - [2198, 0, " "], - [2199, 0, "&"], - [2200, 0, " "], - [2201, 0, ":"], - [2202, 0, ":"], - [2203, 0, "="], - [2204, 0, " "], - [2205, 0, "&"], - [2206, 0, " "], - [2207, 0, "$"], - [2208, 0, "{"], - [2209, 0, "x"], - [2210, 0, "_"], - [2211, 0, "1"], - [2212, 0, ","], - [2213, 0, " "], - [2214, 0, "x"], - [2215, 0, "_"], - [2216, 0, "2"], - [2217, 0, ","], - [2218, 0, " "], - [2219, 0, "\\"], - [2220, 0, "d"], - [2221, 0, "o"], - [2222, 0, "t"], - [2223, 0, "s"], - [2224, 0, "}"], - [2225, 0, "$"], - [2226, 0, "\n"], - [2227, 0, "V"], - [2228, 0, "A"], - [2229, 0, "L"], - [2230, 0, " "], - [2231, 0, "&"], - [2232, 0, " "], - [2233, 0, ":"], - [2234, 0, ":"], - [2235, 0, "="], - [2236, 0, " "], - [2237, 0, "&"], - [2238, 0, " "], - [2239, 0, "\\"], - [2240, 0, "m"], - [2241, 0, "a"], - [2242, 0, "t"], - [2243, 0, "h"], - [2244, 0, "b"], - [2245, 0, "b"], - [2239, 0, "$"], - [2247, 0, "{"], - [2248, 0, "N"], - [2249, 0, "}"], - [2250, 0, " "], - [2251, 0, "\\"], - [2252, 0, "c"], - [2253, 0, "u"], - [2254, 0, "p"], - [2255, 0, " "], - [2256, 0, "\\"], - [2257, 0, "m"], - [2258, 0, "a"], - [2259, 0, "t"], - [2260, 0, "h"], - [2261, 0, "r"], - [2262, 0, "m"], - [2263, 0, "{"], - [2264, 0, "S"], - [2265, 0, "t"], - [2266, 0, "r"], - [2267, 0, "i"], - [2268, 0, "n"], - [2269, 0, "g"], - [2270, 0, "}"], - [2271, 0, "$"], - [2226, 0, " "], - [2227, 0, "\\"], - [2228, 0, "\\"], - [116, 0, "\n"], - [117, 0, "\\"], - [118, 0, "u"], - [119, 0, "s"], - [120, 0, "e"], - [121, 0, "p"], - [122, 0, "a"], - [123, 0, "c"], - [124, 0, "k"], - [125, 0, "a"], - [126, 0, "g"], - [127, 0, "e"], - [128, 0, "{"], - [129, 0, "a"], - [130, 0, "m"], - [131, 0, "s"], - [132, 0, "s"], - [133, 0, "y"], - [134, 0, "m"], - [135, 0, "b"], - [136, 0, "}"], - [137, 0, " "], - [138, 0, "%"], - [139, 0, " "], - [140, 0, "m"], - [141, 0, "a"], - [142, 0, "t"], - [143, 0, "h"], - [144, 0, "b"], - [145, 0, "b"], - [2257, 0, "\\"], - [2258, 0, "v"], - [2259, 0, "s"], - [2260, 0, "p"], - [2261, 0, "a"], - [2262, 0, "c"], - [2263, 0, "e"], - [2264, 0, "{"], - [2265, 0, "0"], - [2266, 0, "."], - [2267, 0, "5"], - [2268, 0, "e"], - [2269, 0, "m"], - [2270, 0, "}"], - [2218, 1], - [2218, 0, "0"], - [2219, 0, "."], - [2220, 0, "5"], - [1937, 1], - [1937, 0, "0"], - [1938, 0, "."], - [1939, 0, "5"], - [2302, 0, "\\"], - [2303, 0, ";"], - [2308, 0, "\\"], - [2309, 0, ";"], - [1885, 0, "\n"], - [1886, 0, "&"], - [1887, 0, " "], - [1888, 0, "$"], - [1889, 0, "|"], - [1890, 0, "$"], - [1891, 0, " "], - [1892, 0, "&"], - [1893, 0, " "], - [1894, 0, "E"], - [1895, 0, "X"], - [1896, 0, "P"], - [1897, 0, "R"], - [1898, 0, "."], - [1899, 0, "\\"], - [1900, 0, "m"], - [1901, 0, "a"], - [1901, 1], - [1900, 1], - [1900, 0, "t"], - [1901, 0, "e"], - [1902, 0, "x"], - [1903, 0, "t"], - [1904, 0, "s"], - [1905, 0, "f"], - [1906, 0, "{"], - [1907, 0, "i"], - [1908, 0, "n"], - [1909, 0, "s"], - [1910, 0, "e"], - [1911, 0, "r"], - [1912, 0, "t"], - [1913, 0, "A"], - [1914, 0, "f"], - [1915, 0, "t"], - [1916, 0, "e"], - [1917, 0, "r"], - [1918, 0, "}"], - [1919, 0, "("], - [1917, 1], - [1916, 1], - [1915, 1], - [1914, 1], - [1913, 1], - [1894, 0, "$"], - [1895, 0, "\\"], - [1896, 0, "m"], - [1897, 0, "a"], - [1898, 0, "t"], - [1899, 0, "h"], - [1900, 0, "r"], - [1901, 0, "m"], - [1902, 0, "{"], - [1907, 0, "}"], - [1910, 1], - [1910, 1], - [1910, 1], - [1910, 1], - [1910, 0, "m"], - [1911, 0, "a"], - [1912, 0, "t"], - [1913, 0, "h"], - [1925, 0, "v"], - [1926, 0, ")"], - [1927, 0, "$"], - [1928, 0, " "], - [1929, 0, "&"], - [1930, 0, " "], - [1931, 0, "$"], - [1932, 0, "v"], - [1933, 0, " "], - [1934, 0, "\\"], - [1935, 0, "i"], - [1936, 0, "n"], - [1937, 0, " "], - [1938, 0, "\\"], - [1939, 0, "m"], - [1940, 0, "a"], - [1941, 0, "t"], - [1942, 0, "h"], - [1943, 0, "r"], - [1944, 0, "m"], - [1945, 0, "{"], - [1946, 0, "V"], - [1947, 0, "A"], - [1948, 0, "L"], - [1949, 0, "}"], - [1950, 0, "$"], - [1951, 0, " "], - [1952, 0, "\\"], - [1953, 0, "\\"], - [1954, 0, "\n"], - [1955, 0, "&"], - [1956, 0, " "], - [1957, 0, "$"], - [1957, 1], - [1957, 0, "$"], - [1958, 0, "|"], - [1959, 0, "$"], - [1960, 0, " "], - [1961, 0, "&"], - [1962, 0, " "], - [1963, 0, "\\"], - [1964, 0, "m"], - [1965, 0, "a"], - [1966, 0, "t"], - [1967, 0, "h"], - [1968, 0, "r"], - [1969, 0, "m"], - [1963, 0, "%"], - [1963, 1], - [1963, 0, "$"], - [1849, 0, "$"], - [1850, 0, "\\"], - [1851, 0, "m"], - [1852, 0, "a"], - [1853, 0, "t"], - [1854, 0, "h"], - [1855, 0, "r"], - [1856, 0, "m"], - [1857, 0, "{"], - [1862, 0, "}"], - [1866, 1], - [1980, 0, "{"], - [1981, 0, "E"], - [1982, 0, "X"], - [1983, 0, "P"], - [1984, 0, "R"], - [1985, 0, "}"], - [1986, 0, "."], - [1987, 0, "\\"], - [1988, 0, "m"], - [1989, 0, "a"], - [1990, 0, "t"], - [1991, 0, "h"], - [1992, 0, "s"], - [1993, 0, "f"], - [1994, 0, "{"], - [1995, 0, "r"], - [1996, 0, "m"], - [1997, 0, "K"], - [1998, 0, "e"], - [1999, 0, "y"], - [1999, 1], - [1998, 1], - [1997, 1], - [1996, 1], - [1995, 1], - [1995, 0, "d"], - [1996, 0, "e"], - [1997, 0, "l"], - [1998, 0, "e"], - [1999, 0, "t"], - [2000, 0, "e"], - [2001, 0, "}"], - [2002, 0, " "], - [2003, 0, "\\"], - [2004, 0, "\\"], - [2002, 0, "$"], - [2202, 1], - [2201, 1], - [2200, 1], - [2199, 1], - [2198, 1], - [2197, 1], - [2196, 1], - [2195, 1], - [2194, 1], - [2193, 1], - [2192, 1], - [2191, 1], - [2190, 1], - [2189, 1], - [2188, 1], - [2187, 1], - [2186, 1], - [2185, 1], - [2184, 1], - [2183, 1], - [2182, 1], - [2181, 1], - [2180, 1], - [2179, 1], - [2178, 1], - [2177, 1], - [2176, 1], - [2175, 1], - [2174, 1], - [2173, 1], - [2172, 1], - [2171, 1], - [2171, 0, "\\"], - [2233, 1], - [2232, 1], - [2231, 1], - [2230, 1], - [2229, 1], - [2228, 1], - [2227, 1], - [2226, 1], - [2225, 1], - [2224, 1], - [2223, 1], - [2222, 1], - [2221, 1], - [2220, 1], - [2219, 1], - [2218, 1], - [2217, 1], - [2216, 1], - [2215, 1], - [2214, 1], - [2213, 1], - [2212, 1], - [2211, 1], - [2210, 1], - [2209, 1], - [2208, 1], - [2207, 1], - [2206, 1], - [2205, 1], - [2204, 1], - [2203, 1], - [2202, 1], - [2095, 0, "\n"], - [2096, 0, "&"], - [2097, 0, " "], - [2098, 0, "$"], - [2099, 0, "|"], - [2100, 0, "$"], - [2101, 0, " "], - [2102, 0, "&"], - [2103, 0, " "], - [2104, 0, "$"], - [2105, 0, "x"], - [2106, 0, "$"], - [2107, 0, " "], - [2108, 0, "&"], - [2109, 0, " "], - [2110, 0, "$"], - [2111, 0, "x"], - [2112, 0, " "], - [2113, 0, "\\"], - [2114, 0, "i"], - [2115, 0, "n"], - [2116, 0, " "], - [2117, 0, "\\"], - [2118, 0, "m"], - [2119, 0, "a"], - [2120, 0, "t"], - [2121, 0, "h"], - [2122, 0, "r"], - [2123, 0, "m"], - [2124, 0, "{"], - [2125, 0, "V"], - [2126, 0, "A"], - [2127, 0, "R"], - [2128, 0, "}"], - [2129, 0, " "], - [2130, 0, "$"], - [2130, 1], - [2129, 1], - [2129, 0, "$"], - [2130, 0, " "], - [2131, 0, "\\"], - [2132, 0, "\\"], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2273, 1], - [2270, 0, "\\"], - [2271, 0, "v"], - [2272, 0, "s"], - [2273, 0, "p"], - [2274, 0, "a"], - [2275, 0, "c"], - [2276, 0, "e"], - [2277, 0, "{"], - [2278, 0, "0"], - [2279, 0, "."], - [2280, 0, "5"], - [2281, 0, "e"], - [2282, 0, "m"], - [2283, 0, "}"], - [2204, 1], - [2203, 1], - [2202, 1], - [2202, 0, "S"], - [2203, 0, "t"], - [2204, 0, "r"], - [2205, 0, "i"], - [2206, 0, "n"], - [2207, 0, "g"], - [2006, 0, "\n"], - [2007, 0, "&"], - [2008, 0, " "], - [2009, 0, "$"], - [2010, 0, "|"], - [2011, 0, "$"], - [2012, 0, " "], - [2013, 0, "&"], - [2014, 0, " "], - [2015, 0, "$"], - [2016, 0, "\\"], - [2017, 0, "m"], - [2018, 0, "a"], - [2019, 0, "t"], - [2020, 0, "h"], - [2021, 0, "r"], - [2022, 0, "m"], - [2023, 0, "{"], - [2024, 0, "E"], - [2025, 0, "X"], - [2026, 0, "P"], - [2027, 0, "R"], - [2028, 0, "}"], - [2029, 0, "."], - [2030, 0, "\\"], - [2031, 0, "m"], - [2032, 0, "a"], - [2033, 0, "t"], - [2034, 0, "h"], - [2035, 0, "s"], - [2036, 0, "f"], - [2037, 0, "{"], - [2038, 0, "i"], - [2039, 0, "n"], - [2040, 0, "c"], - [2041, 0, "r"], - [2042, 0, "}"], - [2043, 0, "("], - [2044, 0, "n"], - [2045, 0, ")"], - [2046, 0, "$"], - [2047, 0, " "], - [2048, 0, "&"], - [2049, 0, " "], - [2050, 0, "$"], - [2051, 0, "n"], - [2052, 0, " "], - [2053, 0, "\\"], - [2054, 0, "i"], - [2055, 0, "n"], - [2056, 0, " "], - [2057, 0, "\\"], - [2058, 0, "m"], - [2059, 0, "a"], - [2060, 0, "t"], - [2061, 0, "h"], - [2062, 0, "b"], - [2063, 0, "b"], - [2064, 0, "{"], - [2065, 0, "N"], - [2066, 0, "}"], - [2067, 0, "$"], - [2068, 0, " "], - [2069, 0, "\\"], - [2070, 0, "\\"], - [2415, 0, " "], - [2416, 0, "n"], - [2417, 0, " "], - [2418, 0, "&"], - [2421, 0, "n"], - [2422, 0, " "], - [2423, 0, "\\"], - [2424, 0, " "], - [2424, 1], - [2424, 0, "i"], - [2425, 0, "n"], - [2426, 0, " "], - [2461, 1], - [2460, 1], - [2459, 1], - [2458, 1], - [2457, 1], - [2456, 1], - [2455, 1], - [2454, 1], - [2453, 1], - [2452, 1], - [2451, 1], - [2450, 1], - [2449, 1], - [2448, 1], - [2447, 1], - [2446, 1], - [2445, 1], - [2444, 1], - [2443, 1], - [2442, 1], - [2441, 1], - [2440, 1], - [2439, 1], - [2438, 1], - [2437, 1], - [2438, 0, "\n"], - [2439, 0, "&"], - [2440, 0, " "], - [2441, 0, "|"], - [2441, 1], - [2441, 0, "$"], - [2442, 0, "|"], - [2443, 0, "$"], - [2444, 0, " "], - [2445, 0, "&"], - [2446, 0, " "], - [2447, 0, "s"], - [2416, 0, "$"], - [2418, 0, "$"], - [2449, 0, "$"], - [2451, 0, "$"], - [2452, 0, " "], - [2453, 0, "&"], - [2454, 0, " "], - [2455, 0, "$"], - [2456, 0, "s"], - [2457, 0, " "], - [2458, 0, "\\"], - [2459, 0, "i"], - [2460, 0, "n"], - [2461, 0, " "], - [2462, 0, "\\"], - [2463, 0, "m"], - [2464, 0, "a"], - [2465, 0, "t"], - [2466, 0, "h"], - [2467, 0, "r"], - [2468, 0, "m"], - [2469, 0, "{"], - [2470, 0, "S"], - [2471, 0, "t"], - [2472, 0, "r"], - [2473, 0, "i"], - [2474, 0, "n"], - [2475, 0, "g"], - [2476, 0, "}"], - [2477, 0, "$"], - [2440, 0, " "], - [2441, 0, "\\"], - [2442, 0, "\\"], - [2481, 0, " "], - [2482, 0, "\\"], - [2483, 0, "\\"], - [2484, 0, "\n"], - [2485, 0, "&"], - [2486, 0, " "], - [2487, 0, "$"], - [2488, 0, "|"], - [2489, 0, "$"], - [2490, 0, " "], - [2491, 0, "&"], - [2492, 0, " "], - [2493, 0, "\\"], - [2494, 0, "m"], - [2495, 0, "a"], - [2495, 1], - [2494, 1], - [2494, 0, "t"], - [2495, 0, "e"], - [2496, 0, "x"], - [2497, 0, "t"], - [2498, 0, "s"], - [2499, 0, "f"], - [2500, 0, "{"], - [2501, 0, "\\"], - [2502, 0, "{"], - [2503, 0, "\\"], - [2504, 0, "}"], - [2505, 0, "}"], - [2506, 0, " "], - [2507, 0, "\\"], - [2508, 0, "\\"], - [2509, 0, "\n"], - [2510, 0, "&"], - [2511, 0, " "], - [2512, 0, "|"], - [2512, 1], - [2512, 0, "$"], - [2513, 0, "|"], - [2514, 0, "$"], - [2515, 0, " "], - [2516, 0, "&"], - [2517, 0, " "], - [2518, 0, "\\"], - [2519, 0, "t"], - [2520, 0, "e"], - [2521, 0, "x"], - [2522, 0, "t"], - [2523, 0, "s"], - [2524, 0, "f"], - [2525, 0, "{"], - [2526, 0, "\\"], - [2527, 0, "["], - [2528, 0, "\\"], - [2529, 0, "]"], - [2530, 0, "}"], - [2526, 1], - [2529, 1], - [2528, 1], - [2527, 1], - [2526, 1], - [2525, 1], - [2524, 1], - [2523, 1], - [2522, 1], - [2521, 1], - [2520, 1], - [2519, 1], - [2518, 1], - [2518, 0, "$"], - [2519, 0, "\\"], - [2520, 0, "m"], - [2521, 0, "a"], - [2522, 0, "t"], - [2523, 0, "h"], - [2524, 0, "s"], - [2525, 0, "f"], - [2526, 0, "{"], - [2527, 0, "["], - [2528, 0, "]"], - [2529, 0, "}"], - [2530, 0, "$"], - [2528, 0, "\\"], - [2529, 0, ","], - [2499, 1], - [2498, 1], - [2498, 0, "t"], - [2499, 0, "t"], - [2525, 1], - [2524, 1], - [2524, 0, "t"], - [2525, 0, "t"], - [2505, 1], - [2504, 1], - [2503, 1], - [2502, 1], - [2501, 1], - [2500, 1], - [2499, 1], - [2498, 1], - [2497, 1], - [2496, 1], - [2495, 1], - [2494, 1], - [2494, 0, "v"], - [2495, 0, "e"], - [2496, 0, "r"], - [2497, 0, "b"], - [2498, 0, "|"], - [2499, 0, "{"], - [2500, 0, "}"], - [2501, 0, "|"], - [2528, 1], - [2527, 1], - [2526, 1], - [2525, 1], - [2524, 1], - [2523, 1], - [2522, 1], - [2521, 1], - [2520, 1], - [2519, 1], - [2518, 1], - [2517, 1], - [2516, 1], - [2515, 1], - [2514, 1], - [2513, 1], - [2513, 0, " "], - [2514, 0, "\n"], - [2515, 0, "v"], - [2516, 0, "e"], - [2517, 0, "r"], - [2517, 1], - [2516, 1], - [2515, 1], - [2514, 1], - [2514, 0, "\\"], - [2515, 0, "v"], - [2516, 0, "e"], - [2517, 0, "r"], - [2518, 0, "b"], - [2519, 0, "|"], - [2520, 0, "["], - [2521, 0, "]"], - [2522, 0, "|"], - [2452, 0, "\\"], - [2453, 0, "v"], - [2454, 0, "e"], - [2455, 0, "r"], - [2456, 0, "b"], - [2457, 0, "|"], - [2458, 0, "\""], - [2459, 0, "|"], - [2460, 0, " "], - [2464, 0, " "], - [2465, 0, "\\"], - [2466, 0, "v"], - [2467, 0, "e"], - [2468, 0, "r"], - [2469, 0, "b"], - [2470, 0, "|"], - [2471, 0, "\""], - [2472, 0, "|"], - [2459, 0, "s"], - [2460, 0, "t"], - [2461, 0, "r"], - [2462, 0, "|"], - [2462, 1], - [2462, 0, "\""], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2465, 1], - [2468, 0, "\\"], - [2469, 0, "m"], - [2470, 0, "a"], - [2471, 0, "t"], - [2472, 0, "h"], - [2473, 0, "t"], - [2474, 0, "t"], - [2475, 0, "{"], - [2477, 0, "t"], - [2478, 0, "r"], - [2479, 0, "}"], - [2669, 0, "\n"], - [2670, 0, "\n"], - [2671, 0, "\\"], - [2672, 0, "s"], - [2673, 0, "u"], - [2674, 0, "b"], - [2675, 0, "s"], - [2676, 0, "e"], - [2677, 0, "c"], - [2678, 0, "t"], - [2679, 0, "i"], - [2680, 0, "o"], - [2681, 0, "n"], - [2682, 0, "{"], - [2683, 0, "C"], - [2684, 0, "o"], - [2685, 0, "m"], - [2686, 0, "m"], - [2687, 0, "a"], - [2688, 0, "n"], - [2689, 0, "d"], - [2690, 0, " "], - [2691, 0, "l"], - [2692, 0, "a"], - [2693, 0, "n"], - [2694, 0, "g"], - [2695, 0, "u"], - [2696, 0, "a"], - [2697, 0, "g"], - [2698, 0, "e"], - [2699, 0, "}"], - [2700, 0, "\n"], - [2701, 0, "\n"], - [2702, 0, "T"], - [2703, 0, "R"], - [2703, 1], - [2703, 0, "h"], - [2704, 0, "e"], - [2705, 0, " "], - [2706, 0, "s"], - [2707, 0, "y"], - [2708, 0, "n"], - [2709, 0, "t"], - [2710, 0, "a"], - [2711, 0, "x"], - [2712, 0, " "], - [2713, 0, "o"], - [2714, 0, "f"], - [2715, 0, " "], - [2716, 0, "t"], - [2717, 0, "h"], - [2718, 0, "e"], - [2719, 0, " "], - [2720, 0, "c"], - [2721, 0, "o"], - [2722, 0, "m"], - [2723, 0, "m"], - [2724, 0, "a"], - [2725, 0, "n"], - [2726, 0, "d"], - [2727, 0, " "], - [2728, 0, "l"], - [2729, 0, "a"], - [2730, 0, "n"], - [2731, 0, "g"], - [2732, 0, "u"], - [2733, 0, "a"], - [2734, 0, "g"], - [2735, 0, "e"], - [2736, 0, " "], - [2737, 0, "i"], - [2738, 0, "s"], - [2739, 0, " "], - [2740, 0, "g"], - [2741, 0, "i"], - [2742, 0, "v"], - [2743, 0, "e"], - [2744, 0, "n"], - [2745, 0, " "], - [2746, 0, "i"], - [2747, 0, "n"], - [2748, 0, " "], - [2749, 0, "F"], - [2750, 0, "i"], - [2751, 0, "g"], - [2752, 0, "u"], - [2753, 0, "r"], - [2754, 0, "e"], - [2755, 0, "~"], - [2756, 0, "\\"], - [2757, 0, "r"], - [2758, 0, "e"], - [2759, 0, "f"], - [2760, 0, "{"], - [2761, 0, "f"], - [2762, 0, "i"], - [2763, 0, "g"], - [2764, 0, ":"], - [2765, 0, "l"], - [2766, 0, "o"], - [2767, 0, "c"], - [2768, 0, "a"], - [2769, 0, "l"], - [2770, 0, "-"], - [2771, 0, "s"], - [2772, 0, "y"], - [2773, 0, "n"], - [2774, 0, "t"], - [2775, 0, "a"], - [2776, 0, "x"], - [2777, 0, "}"], - [2778, 0, "."], - [2779, 0, " "], - [2780, 0, "A"], - [2781, 0, " "], - [2782, 0, "p"], - [2783, 0, "r"], - [2784, 0, "o"], - [2785, 0, "g"], - [2786, 0, "r"], - [2787, 0, "a"], - [2788, 0, "m"], - [2789, 0, " "], - [2790, 0, "i"], - [2791, 0, "s"], - [2792, 0, " "], - [2793, 0, "a"], - [2794, 0, "s"], - [2795, 0, "s"], - [2796, 0, "u"], - [2797, 0, "m"], - [2798, 0, "e"], - [2799, 0, "d"], - [2800, 0, " "], - [2801, 0, "t"], - [2802, 0, "o"], - [2803, 0, " "], - [2804, 0, "b"], - [2805, 0, "e"], - [2806, 0, " "], - [2807, 0, "a"], - [2808, 0, " "], - [2809, 0, "l"], - [2810, 0, "i"], - [2811, 0, "n"], - [2812, 0, "e"], - [2813, 0, "a"], - [2814, 0, "r"], - [2815, 0, ","], - [2816, 0, " "], - [2817, 0, "p"], - [2818, 0, "o"], - [2819, 0, "s"], - [2820, 0, "s"], - [2821, 0, "i"], - [2822, 0, "b"], - [2823, 0, "l"], - [2824, 0, "y"], - [2825, 0, " "], - [2826, 0, "i"], - [2827, 0, "n"], - [2828, 0, "f"], - [2829, 0, "i"], - [2830, 0, "n"], - [2831, 0, "i"], - [2832, 0, "t"], - [2833, 0, "e"], - [2834, 0, ","], - [2835, 0, " "], - [2836, 0, "s"], - [2837, 0, "e"], - [2838, 0, "q"], - [2839, 0, "u"], - [2840, 0, "e"], - [2841, 0, "n"], - [2842, 0, "c"], - [2843, 0, "e"], - [2844, 0, " "], - [2845, 0, "o"], - [2846, 0, "f"], - [2847, 0, " "], - [2848, 0, "c"], - [2849, 0, "o"], - [2850, 0, "m"], - [2851, 0, "m"], - [2852, 0, "a"], - [2853, 0, "n"], - [2854, 0, "d"], - [2855, 0, "s"], - [2856, 0, "."], - [2857, 0, " "], - [2858, 0, "T"], - [2859, 0, "h"], - [2860, 0, "e"], - [2861, 0, " "], - [2862, 0, "l"], - [2863, 0, "a"], - [2864, 0, "n"], - [2865, 0, "g"], - [2866, 0, "u"], - [2867, 0, "a"], - [2868, 0, "g"], - [2869, 0, "e"], - [2870, 0, " "], - [2871, 0, "o"], - [2872, 0, "f"], - [2873, 0, " "], - [2874, 0, "F"], - [2875, 0, "i"], - [2876, 0, "g"], - [2877, 0, "u"], - [2878, 0, "r"], - [2879, 0, "e"], - [2880, 0, "`"], - [2881, 0, "\\"], - [2882, 0, "r"], - [2883, 0, "e"], - [2883, 1], - [2882, 1], - [2881, 1], - [2880, 1], - [2880, 0, "~"], - [2881, 0, "\\"], - [2882, 0, "r"], - [2883, 0, "e"], - [2884, 0, "f"], - [2885, 0, "{"], - [2886, 0, "f"], - [2887, 0, "i"], - [2888, 0, "g"], - [2889, 0, ":"], - [2890, 0, "l"], - [2891, 0, "o"], - [2892, 0, "c"], - [2893, 0, "a"], - [2894, 0, "l"], - [2895, 0, "-"], - [2896, 0, "s"], - [2897, 0, "y"], - [2898, 0, "n"], - [2899, 0, "t"], - [2900, 0, "a"], - [2901, 0, "x"], - [2902, 0, "}"], - [2903, 0, " "], - [2904, 0, "d"], - [2905, 0, "o"], - [2906, 0, "e"], - [2907, 0, "s"], - [2908, 0, " "], - [2909, 0, "n"], - [2910, 0, "o"], - [2911, 0, "t"], - [2912, 0, " "], - [2913, 0, "p"], - [2914, 0, "r"], - [2915, 0, "o"], - [2916, 0, "v"], - [2917, 0, "i"], - [2918, 0, "d"], - [2919, 0, "e"], - [2920, 0, " "], - [2921, 0, "l"], - [2922, 0, "o"], - [2923, 0, "o"], - [2924, 0, "p"], - [2925, 0, "s"], - [2926, 0, ","], - [2927, 0, " "], - [2928, 0, "c"], - [2929, 0, "o"], - [2930, 0, "n"], - [2931, 0, "d"], - [2932, 0, "i"], - [2933, 0, "t"], - [2933, 1], - [2932, 1], - [2931, 1], - [2930, 1], - [2929, 1], - [2928, 1], - [2927, 1], - [2926, 1], - [2925, 1], - [2924, 1], - [2923, 1], - [2922, 1], - [2921, 1], - [2860, 1], - [2859, 1], - [2858, 1], - [2858, 0, "F"], - [2859, 0, "o"], - [2860, 0, "r"], - [2861, 0, " "], - [2862, 0, "b"], - [2863, 0, "r"], - [2864, 0, "e"], - [2865, 0, "v"], - [2866, 0, "i"], - [2867, 0, "t"], - [2868, 0, "y"], - [2869, 0, ","], - [2870, 0, " "], - [2871, 0, "t"], - [2872, 0, "h"], - [2873, 0, "e"], - [2934, 0, "t"], - [2935, 0, "h"], - [2936, 0, "e"], - [2937, 0, " "], - [2938, 0, "u"], - [2939, 0, "s"], - [2940, 0, "u"], - [2941, 0, "a"], - [2942, 0, "l"], - [2943, 0, " "], - [2944, 0, "c"], - [2945, 0, "o"], - [2946, 0, "n"], - [2947, 0, "s"], - [2948, 0, "t"], - [2948, 1], - [2947, 1], - [2946, 1], - [2946, 0, "n"], - [2947, 0, "t"], - [2948, 0, "r"], - [2949, 0, "o"], - [2950, 0, "l"], - [2951, 0, " "], - [2952, 0, "s"], - [2953, 0, "t"], - [2954, 0, "r"], - [2955, 0, "u"], - [2956, 0, "c"], - [2957, 0, "t"], - [2958, 0, "u"], - [2959, 0, "r"], - [2960, 0, "e"], - [2961, 0, "s"], - [2962, 0, " "], - [2963, 0, "s"], - [2964, 0, "u"], - [2965, 0, "c"], - [2966, 0, "h"], - [2967, 0, " "], - [2968, 0, "a"], - [2969, 0, "s"], - [2970, 0, " "], - [2971, 0, "c"], - [2972, 0, "o"], - [2973, 0, "n"], - [2974, 0, "d"], - [2975, 0, "i"], - [2976, 0, "t"], - [2977, 0, "i"], - [2978, 0, "o"], - [2979, 0, "n"], - [2980, 0, "a"], - [2981, 0, "l"], - [2982, 0, "s"], - [2983, 0, ","], - [2984, 0, " "], - [2985, 0, "l"], - [2986, 0, "o"], - [2987, 0, "o"], - [2988, 0, "p"], - [2989, 0, "s"], - [2990, 0, ","], - [2991, 0, " "], - [2992, 0, "f"], - [2993, 0, "u"], - [2994, 0, "n"], - [2995, 0, "c"], - [2996, 0, "t"], - [2997, 0, "i"], - [2998, 0, "o"], - [2999, 0, "n"], - [2991, 0, " "], - [2992, 0, "o"], - [2993, 0, "r"], - [3003, 0, "s"], - [3004, 0, ","], - [3005, 0, " "], - [3006, 0, "b"], - [3007, 0, "u"], - [3008, 0, "t"], - [3009, 0, " "], - [3010, 0, "s"], - [3011, 0, "u"], - [3012, 0, "c"], - [3013, 0, "h"], - [3014, 0, " "], - [3015, 0, "f"], - [3016, 0, "a"], - [3017, 0, "c"], - [3018, 0, "i"], - [3019, 0, "l"], - [3020, 0, "i"], - [3021, 0, "t"], - [3022, 0, "i"], - [3023, 0, "e"], - [3024, 0, "s"], - [3025, 0, " "], - [3026, 0, "c"], - [3027, 0, "a"], - [3028, 0, "n"], - [3029, 0, " "], - [3030, 0, "e"], - [3031, 0, "a"], - [3032, 0, "s"], - [3033, 0, "i"], - [3034, 0, "l"], - [3035, 0, "y"], - [3036, 0, " "], - [3037, 0, "b"], - [3038, 0, "e"], - [3039, 0, " "], - [3040, 0, "p"], - [3041, 0, "r"], - [3042, 0, "o"], - [3043, 0, "v"], - [3044, 0, "i"], - [3045, 0, "d"], - [3045, 1], - [3044, 1], - [3043, 1], - [3042, 1], - [3041, 1], - [3040, 1], - [3040, 0, "i"], - [3041, 0, "m"], - [3042, 0, "p"], - [3043, 0, "l"], - [3044, 0, "e"], - [3045, 0, "m"], - [3046, 0, "e"], - [3047, 0, "n"], - [3048, 0, "t"], - [3049, 0, "e"], - [3050, 0, "d"], - [3051, 0, " "], - [3052, 0, "b"], - [3053, 0, "y"], - [3054, 0, " "], - [3055, 0, "e"], - [3056, 0, "m"], - [3057, 0, "b"], - [3058, 0, "e"], - [3059, 0, "d"], - [3060, 0, "d"], - [3061, 0, "i"], - [3062, 0, "n"], - [3063, 0, "g"], - [3064, 0, " "], - [3065, 0, "t"], - [3066, 0, "h"], - [3067, 0, "i"], - [3068, 0, "s"], - [3069, 0, " "], - [3070, 0, "c"], - [3071, 0, "o"], - [3072, 0, "m"], - [3073, 0, "m"], - [3074, 0, "a"], - [3075, 0, "n"], - [3076, 0, "d"], - [3077, 0, " "], - [3078, 0, "l"], - [3079, 0, "a"], - [3080, 0, "n"], - [3081, 0, "g"], - [3082, 0, "u"], - [3083, 0, "a"], - [3084, 0, "g"], - [3085, 0, "e"], - [3086, 0, " "], - [3087, 0, "i"], - [3088, 0, "n"], - [3089, 0, " "], - [3090, 0, "a"], - [3091, 0, " "], - [3092, 0, "g"], - [3093, 0, "e"], - [3094, 0, "n"], - [3095, 0, "e"], - [3096, 0, "r"], - [3097, 0, "a"], - [3098, 0, "l"], - [3099, 0, "-"], - [3100, 0, "p"], - [3101, 0, "u"], - [3102, 0, "r"], - [3103, 0, "p"], - [3104, 0, "o"], - [3105, 0, "s"], - [3106, 0, "e"], - [3107, 0, " "], - [3108, 0, "p"], - [3109, 0, "r"], - [3110, 0, "o"], - [3111, 0, "g"], - [3112, 0, "r"], - [3113, 0, "a"], - [3114, 0, "m"], - [3115, 0, "m"], - [3116, 0, "i"], - [3117, 0, "n"], - [3118, 0, "g"], - [3119, 0, " "], - [3120, 0, "l"], - [3121, 0, "a"], - [3122, 0, "n"], - [3123, 0, "g"], - [3124, 0, "u"], - [3125, 0, "a"], - [3126, 0, "g"], - [3127, 0, "e"], - [3128, 0, "."], - [3129, 0, "\n"], - [3130, 0, "\n"], - [3131, 0, "T"], - [3132, 0, "h"], - [3133, 0, "e"], - [3134, 0, " "], - [3135, 0, "c"], - [3136, 0, "o"], - [3137, 0, "m"], - [3138, 0, "m"], - [3139, 0, "a"], - [3140, 0, "n"], - [3141, 0, "d"], - [3142, 0, " "], - [3143, 0, "l"], - [3144, 0, "a"], - [3145, 0, "n"], - [3146, 0, "g"], - [3147, 0, "u"], - [3148, 0, "a"], - [3149, 0, "g"], - [3150, 0, "e"], - [3151, 0, " "], - [3152, 0, "h"], - [3153, 0, "a"], - [3154, 0, "s"], - [3155, 0, " "], - [3156, 0, "t"], - [3157, 0, "w"], - [3158, 0, "o"], - [3159, 0, " "], - [3160, 0, "m"], - [3161, 0, "a"], - [3162, 0, "i"], - [3163, 0, "n"], - [3164, 0, "s"], - [3165, 0, " "], - [3166, 0, "k"], - [3166, 1], - [3165, 1], - [3164, 1], - [3163, 1], - [3163, 0, " "], - [3163, 1], - [3163, 0, "n"], - [3164, 0, " "], - [3165, 0, "k"], - [3166, 0, "i"], - [3167, 0, "n"], - [3168, 0, "d"], - [3169, 0, "s"], - [3170, 0, " "], - [3171, 0, "o"], - [3172, 0, "f"], - [3173, 0, " "], - [3174, 0, "c"], - [3175, 0, "o"], - [3176, 0, "n"], - [3177, 0, "s"], - [3178, 0, "t"], - [3179, 0, "r"], - [3180, 0, "u"], - [3181, 0, "c"], - [3182, 0, "t"], - [3183, 0, ":"], - [3184, 0, " "], - [3185, 0, "a"], - [3186, 0, "n"], - [3187, 0, " "], - [3188, 0, "e"], - [3189, 0, "x"], - [3190, 0, "p"], - [3191, 0, "r"], - [3192, 0, "e"], - [3193, 0, "s"], - [3194, 0, "s"], - [3195, 0, "i"], - [3196, 0, "o"], - [3197, 0, "n"], - [3198, 0, " "], - [3199, 0, "E"], - [3200, 0, "X"], - [3201, 0, "P"], - [3202, 0, "R"], - [3203, 0, ","], - [3204, 0, " "], - [3205, 0, "w"], - [3206, 0, "h"], - [3207, 0, "i"], - [3208, 0, "c"], - [3209, 0, "h"], - [3210, 0, " "], - [3211, 0, "q"], - [3212, 0, "u"], - [3213, 0, "e"], - [3214, 0, "r"], - [3215, 0, "i"], - [3216, 0, "e"], - [3217, 0, "s"], - [3218, 0, " "], - [3219, 0, "t"], - [3220, 0, "h"], - [3221, 0, "e"], - [3222, 0, " "], - [3223, 0, "s"], - [3224, 0, "t"], - [3225, 0, "a"], - [3226, 0, "t"], - [3227, 0, "e"], - [3228, 0, " "], - [3229, 0, "o"], - [3230, 0, "f"], - [3231, 0, " "], - [3232, 0, "a"], - [3233, 0, " "], - [3234, 0, "d"], - [3235, 0, "o"], - [3236, 0, "c"], - [3237, 0, "u"], - [3238, 0, "m"], - [3239, 0, "e"], - [3240, 0, "n"], - [3241, 0, "t"], - [3242, 0, " "], - [3243, 0, "a"], - [3244, 0, "n"], - [3245, 0, "d"], - [3246, 0, " "], - [3247, 0, "i"], - [3248, 0, "d"], - [3249, 0, "e"], - [3250, 0, "n"], - [3251, 0, "t"], - [3252, 0, "i"], - [3253, 0, "f"], - [3254, 0, "i"], - [3255, 0, "e"], - [3256, 0, "s"], - [3257, 0, " "], - [3258, 0, "a"], - [3259, 0, " "], - [3260, 0, "p"], - [3261, 0, "o"], - [3262, 0, "s"], - [3263, 0, "i"], - [3264, 0, "t"], - [3265, 0, "i"], - [3266, 0, "o"], - [3267, 0, "n"], - [3268, 0, " "], - [3269, 0, "w"], - [3270, 0, "i"], - [3271, 0, "t"], - [3272, 0, "h"], - [3273, 0, "i"], - [3274, 0, "n"], - [3275, 0, " "], - [3276, 0, "a"], - [3277, 0, " "], - [3278, 0, "d"], - [3279, 0, "o"], - [3280, 0, "c"], - [3281, 0, "u"], - [3282, 0, "m"], - [3283, 0, "e"], - [3284, 0, "n"], - [3285, 0, "t"], - [3286, 0, ","], - [3287, 0, " "], - [3288, 0, "a"], - [3289, 0, "n"], - [3290, 0, "d"], - [3291, 0, " "], - [3292, 0, "a"], - [3293, 0, " "], - [3294, 0, "c"], - [3295, 0, "o"], - [3296, 0, "m"], - [3297, 0, "m"], - [3187, 1], - [3186, 1], - [3185, 1], - [3184, 1], - [3184, 0, " "], - [3195, 0, "s"], - [3215, 1], - [3214, 1], - [3213, 1], - [3213, 0, "y"], - [3252, 1], - [3251, 1], - [3250, 1], - [3249, 1], - [3249, 0, "f"], - [3250, 0, "y"], - [3183, 1], - [3182, 1], - [3181, 1], - [3180, 1], - [3179, 1], - [3178, 1], - [3177, 1], - [3176, 1], - [3175, 1], - [3174, 1], - [3173, 1], - [3172, 1], - [3171, 1], - [3170, 1], - [3169, 1], - [3168, 1], - [3167, 1], - [3166, 1], - [3165, 1], - [3164, 1], - [3163, 1], - [3162, 1], - [3161, 1], - [3160, 1], - [3159, 1], - [3158, 1], - [3157, 1], - [3156, 1], - [3155, 1], - [3154, 1], - [3153, 1], - [3152, 1], - [3151, 1], - [3150, 1], - [3149, 1], - [3148, 1], - [3147, 1], - [3146, 1], - [3145, 1], - [3144, 1], - [3143, 1], - [3142, 1], - [3141, 1], - [3140, 1], - [3139, 1], - [3138, 1], - [3137, 1], - [3136, 1], - [3135, 1], - [3134, 1], - [3145, 1], - [3145, 0, " "], - [3146, 0, "c"], - [3147, 0, "o"], - [3148, 0, "n"], - [3149, 0, "s"], - [3150, 0, "t"], - [3151, 0, "r"], - [3152, 0, "u"], - [3153, 0, "c"], - [3154, 0, "t"], - [3166, 1], - [3165, 1], - [3164, 1], - [3163, 1], - [3162, 1], - [3161, 1], - [3160, 1], - [3160, 0, " "], - [3161, 0, "i"], - [3162, 0, "s"], - [3163, 0, " "], - [3164, 0, "u"], - [3165, 0, "s"], - [3166, 0, "e"], - [3167, 0, "d"], - [3168, 0, " "], - [3169, 0, "t"], - [3170, 0, "o"], - [3201, 0, "."], - [3202, 0, " "], - [3203, 0, "A"], - [3204, 0, "n"], - [3205, 0, " "], - [3206, 0, "e"], - [3207, 0, "x"], - [3208, 0, "p"], - [3209, 0, "r"], - [3210, 0, "e"], - [3211, 0, "s"], - [3212, 0, "s"], - [3213, 0, "i"], - [3214, 0, "o"], - [3215, 0, "n"], - [3216, 0, " "], - [3217, 0, "s"], - [3218, 0, "t"], - [3219, 0, "a"], - [3220, 0, "r"], - [3221, 0, "t"], - [3222, 0, "s"], - [3223, 0, " "], - [3224, 0, "w"], - [3225, 0, "i"], - [3226, 0, "t"], - [3227, 0, "h"], - [3228, 0, " "], - [3229, 0, "e"], - [3230, 0, "i"], - [3231, 0, "t"], - [3232, 0, "h"], - [3233, 0, "e"], - [3234, 0, "r"], - [3235, 0, " "], - [3236, 0, "t"], - [3237, 0, "h"], - [3238, 0, "e"], - [3239, 0, " "], - [3240, 0, "s"], - [3241, 0, "p"], - [3242, 0, "e"], - [3243, 0, "c"], - [3244, 0, "i"], - [3245, 0, "a"], - [3246, 0, "l"], - [3247, 0, " "], - [3248, 0, "t"], - [3249, 0, "o"], - [3250, 0, "k"], - [3251, 0, "e"], - [3252, 0, "n"], - [3253, 0, " "], - [3254, 0, "\\"], - [3255, 0, "t"], - [3256, 0, "e"], - [3257, 0, "x"], - [3258, 0, "t"], - [3259, 0, "s"], - [3260, 0, "f"], - [3261, 0, "{"], - [3262, 0, "d"], - [3263, 0, "o"], - [3264, 0, "c"], - [3265, 0, "}"], - [3266, 0, ","], - [3267, 0, " "], - [3268, 0, "i"], - [3269, 0, "d"], - [3270, 0, "e"], - [3271, 0, "n"], - [3272, 0, "t"], - [3273, 0, "i"], - [3274, 0, "f"], - [3275, 0, "y"], - [3276, 0, "i"], - [3277, 0, "n"], - [3278, 0, "g"], - [3279, 0, " "], - [3280, 0, "t"], - [3281, 0, "h"], - [3282, 0, "e"], - [3283, 0, " "], - [3284, 0, "r"], - [3285, 0, "o"], - [3286, 0, "o"], - [3287, 0, "t"], - [3288, 0, " "], - [3289, 0, "o"], - [3290, 0, "f"], - [3291, 0, " "], - [3292, 0, "t"], - [3293, 0, "h"], - [3294, 0, "e"], - [3295, 0, " "], - [3296, 0, "J"], - [3297, 0, "S"], - [3298, 0, "O"], - [3299, 0, "N"], - [3300, 0, " "], - [3301, 0, "d"], - [3302, 0, "o"], - [3303, 0, "c"], - [3304, 0, "u"], - [3305, 0, "m"], - [3306, 0, "e"], - [3307, 0, "n"], - [3308, 0, "t"], - [3309, 0, " "], - [3310, 0, "t"], - [3311, 0, "r"], - [3312, 0, "e"], - [3313, 0, "e"], - [3314, 0, ","], - [3315, 0, " "], - [3316, 0, "o"], - [3317, 0, "r"], - [3318, 0, " "], - [3319, 0, "a"], - [3320, 0, " "], - [3321, 0, "v"], - [3322, 0, "a"], - [3323, 0, "r"], - [3324, 0, "i"], - [3325, 0, "a"], - [3326, 0, "b"], - [3327, 0, "l"], - [3328, 0, "e"], - [3329, 0, " "], - [3330, 0, "$"], - [3331, 0, "x"], - [3332, 0, "$"], - [3333, 0, " "], - [3334, 0, "t"], - [3335, 0, "h"], - [3336, 0, "a"], - [3337, 0, "t"], - [3338, 0, " "], - [3339, 0, "w"], - [3340, 0, "a"], - [3341, 0, "s"], - [3342, 0, " "], - [3343, 0, "p"], - [3344, 0, "r"], - [3345, 0, "e"], - [3346, 0, "v"], - [3347, 0, "i"], - [3348, 0, "o"], - [3349, 0, "u"], - [3350, 0, "s"], - [3351, 0, "l"], - [3352, 0, "y"], - [3353, 0, " "], - [3354, 0, "d"], - [3355, 0, "e"], - [3356, 0, "f"], - [3357, 0, "i"], - [3358, 0, "n"], - [3359, 0, "e"], - [3360, 0, "d"], - [3361, 0, " "], - [3362, 0, "i"], - [3363, 0, "n"], - [3364, 0, " "], - [3365, 0, "a"], - [3366, 0, " "], - [3367, 0, "]"], - [3367, 1], - [3367, 0, "\\"], - [3368, 0, "t"], - [3369, 0, "e"], - [3370, 0, "x"], - [3371, 0, "t"], - [3372, 0, "s"], - [3373, 0, "f"], - [3374, 0, "{"], - [3375, 0, "l"], - [3376, 0, "e"], - [3377, 0, "t"], - [3378, 0, "}"], - [3379, 0, " "], - [3380, 0, "e"], - [3381, 0, "x"], - [3382, 0, "p"], - [3383, 0, "r"], - [3384, 0, "e"], - [3385, 0, "s"], - [3385, 1], - [3384, 1], - [3383, 1], - [3382, 1], - [3381, 1], - [3380, 1], - [3380, 0, "c"], - [3381, 0, "o"], - [3382, 0, "m"], - [3383, 0, "m"], - [3384, 0, "a"], - [3385, 0, "n"], - [3386, 0, "d"], - [3387, 0, "."], - [3388, 0, " "], - [3389, 0, "T"], - [3390, 0, "h"], - [3391, 0, "e"], - [3392, 0, " "], - [3393, 0, "e"], - [3394, 0, "x"], - [3395, 0, "p"], - [3396, 0, "r"], - [3397, 0, "e"], - [3398, 0, "s"], - [3399, 0, "s"], - [3400, 0, "i"], - [3401, 0, "o"], - [3402, 0, "n"], - [3403, 0, " "], - [3404, 0, "t"], - [3405, 0, "h"], - [3406, 0, "e"], - [3407, 0, "n"], - [3408, 0, " "], - [3409, 0, "c"], - [3410, 0, "o"], - [3411, 0, "n"], - [3412, 0, "t"], - [3413, 0, "i"], - [3414, 0, "n"], - [3415, 0, "u"], - [3416, 0, "e"], - [3417, 0, "s"], - [3418, 0, " "], - [3419, 0, "w"], - [3420, 0, "i"], - [3421, 0, "t"], - [3422, 0, "h"], - [3423, 0, " "], - [3424, 0, "a"], - [3425, 0, " "], - [3426, 0, "s"], - [3427, 0, "e"], - [3428, 0, "q"], - [3429, 0, "u"], - [3430, 0, "e"], - [3431, 0, "n"], - [3432, 0, "c"], - [3433, 0, "e"], - [3434, 0, " "], - [3435, 0, "o"], - [3436, 0, "f"], - [3437, 0, " "], - [3438, 0, "f"], - [3439, 0, "u"], - [3440, 0, "n"], - [3441, 0, "c"], - [3442, 0, "t"], - [3443, 0, "i"], - [3444, 0, "o"], - [3445, 0, "n"], - [3446, 0, " "], - [3446, 1], - [3445, 1], - [3444, 1], - [3443, 1], - [3442, 1], - [3441, 1], - [3440, 1], - [3439, 1], - [3438, 1], - [3438, 0, "m"], - [3439, 0, "e"], - [3440, 0, "t"], - [3441, 0, "h"], - [3442, 0, "o"], - [3443, 0, "d"], - [3444, 0, " "], - [3445, 0, "c"], - [3446, 0, "a"], - [3447, 0, "l"], - [3448, 0, "l"], - [3449, 0, "s"], - [3450, 0, ":"], - [3451, 0, " "], - [3452, 0, "$"], - [3453, 0, "\\"], - [3454, 0, "m"], - [3455, 0, "a"], - [3456, 0, "t"], - [3457, 0, "h"], - [3458, 0, "s"], - [3459, 0, "f"], - [3460, 0, "{"], - [3461, 0, "g"], - [3462, 0, "e"], - [3463, 0, "t"], - [3464, 0, "}"], - [3465, 0, "("], - [3466, 0, "\\"], - [3467, 0, "m"], - [3468, 0, "a"], - [3469, 0, "t"], - [3470, 0, "h"], - [3471, 0, "i"], - [3472, 0, "t"], - [3473, 0, "{"], - [3474, 0, "k"], - [3475, 0, "e"], - [3476, 0, "y"], - [3477, 0, "}"], - [3478, 0, "_"], - [3478, 1], - [3478, 0, ")"], - [3479, 0, "$"], - [3480, 0, " "], - [3481, 0, "s"], - [3482, 0, "e"], - [3483, 0, "l"], - [3484, 0, "e"], - [3485, 0, "c"], - [3486, 0, "t"], - [3487, 0, "s"], - [3488, 0, " "], - [3489, 0, "a"], - [3490, 0, " "], - [3491, 0, "k"], - [3492, 0, "e"], - [3493, 0, "y"], - [3494, 0, " "], - [3495, 0, "w"], - [3496, 0, "i"], - [3497, 0, "t"], - [3498, 0, "h"], - [3499, 0, "i"], - [3500, 0, "n"], - [3501, 0, " "], - [3502, 0, "a"], - [3503, 0, " "], - [3504, 0, "m"], - [3505, 0, "a"], - [3506, 0, "p"], - [3507, 0, " "], - [3508, 0, "("], - [3509, 0, "a"], - [3510, 0, " "], - [3511, 0, "J"], - [3512, 0, "S"], - [3513, 0, "O"], - [3514, 0, "N"], - [3515, 0, " "], - [3516, 0, "o"], - [3517, 0, "b"], - [3518, 0, "j"], - [3519, 0, "e"], - [3520, 0, "c"], - [3521, 0, "t"], - [3522, 0, ")"], - [3523, 0, ","], - [3524, 0, " "], - [3525, 0, "$"], - [3525, 1], - [3525, 0, "\\"], - [3526, 0, "t"], - [3527, 0, "e"], - [3528, 0, "x"], - [3529, 0, "t"], - [3530, 0, "s"], - [3531, 0, "f"], - [3532, 0, "{"], - [3533, 0, "n"], - [3534, 0, "e"], - [3535, 0, "x"], - [3536, 0, "t"], - [3537, 0, "}"], - [3538, 0, " "], - [3539, 0, "m"], - [3540, 0, "o"], - [3541, 0, "v"], - [3542, 0, "e"], - [3543, 0, "s"], - [3544, 0, " "], - [3545, 0, "t"], - [3546, 0, "o"], - [3547, 0, " "], - [3548, 0, "t"], - [3549, 0, "h"], - [3550, 0, "e"], - [3551, 0, " "], - [3552, 0, "n"], - [3553, 0, "e"], - [3554, 0, "x"], - [3555, 0, "t"], - [3556, 0, " "], - [3557, 0, "e"], - [3558, 0, "l"], - [3559, 0, "e"], - [3560, 0, "m"], - [3561, 0, "e"], - [3562, 0, "n"], - [3563, 0, "t"], - [3564, 0, " "], - [3565, 0, "o"], - [3566, 0, "f"], - [3567, 0, " "], - [3568, 0, "a"], - [3569, 0, "n"], - [3570, 0, " "], - [3571, 0, "o"], - [3572, 0, "r"], - [3573, 0, "d"], - [3574, 0, "e"], - [3575, 0, "r"], - [3576, 0, "e"], - [3577, 0, "d"], - [3578, 0, " "], - [3579, 0, "l"], - [3580, 0, "i"], - [3581, 0, "s"], - [3582, 0, "t"], - [3583, 0, ","], - [3584, 0, " "], - [3585, 0, "a"], - [3586, 0, "n"], - [3587, 0, "d"], - [3588, 0, " "], - [3589, 0, "\\"], - [3590, 0, "t"], - [3591, 0, "e"], - [3592, 0, "x"], - [3593, 0, "t"], - [3594, 0, "s"], - [3595, 0, "f"], - [3596, 0, "{"], - [3597, 0, "v"], - [3598, 0, "a"], - [3599, 0, "l"], - [3600, 0, "u"], - [3601, 0, "e"], - [3602, 0, "s"], - [3603, 0, "}"], - [3604, 0, " "], - [3619, 1], - [3618, 1], - [3617, 1], - [3616, 1], - [3615, 1], - [3614, 1], - [3613, 1], - [3612, 1], - [3611, 1], - [3610, 1], - [3609, 1], - [3608, 1], - [3607, 1], - [3606, 1], - [3605, 1], - [3605, 0, "r"], - [3606, 0, "e"], - [3607, 0, "t"], - [3608, 0, "u"], - [3609, 0, "r"], - [3610, 0, "n"], - [3611, 0, "s"], - [3612, 0, " "], - [3613, 0, "t"], - [3614, 0, "h"], - [3615, 0, "e"], - [3616, 0, " "], - [3617, 0, "v"], - [3618, 0, "a"], - [3619, 0, "l"], - [3620, 0, "u"], - [3621, 0, "e"], - [3622, 0, " "], - [3623, 0, "a"], - [3624, 0, "t"], - [3625, 0, " "], - [3626, 0, "t"], - [3627, 0, "h"], - [3628, 0, "e"], - [3629, 0, " "], - [3630, 0, "c"], - [3631, 0, "u"], - [3632, 0, "r"], - [3633, 0, "r"], - [3634, 0, "e"], - [3635, 0, "n"], - [3636, 0, "t"], - [3654, 1], - [3654, 0, "t"], - [3655, 0, "h"], - [3656, 0, "e"], - [3677, 1], - [3676, 1], - [3675, 1], - [3674, 1], - [3673, 1], - [3672, 1], - [3671, 1], - [3670, 1], - [3669, 1], - [3668, 1], - [3667, 1], - [3666, 1], - [3666, 0, "."], - [3131, 0, " "], - [3131, 0, "W"], - [3132, 0, "e"], - [3133, 0, " "], - [3134, 0, "f"], - [3135, 0, "i"], - [3136, 0, "r"], - [3137, 0, "s"], - [3138, 0, "t"], - [3139, 0, " "], - [3140, 0, "e"], - [3141, 0, "x"], - [3142, 0, "p"], - [3143, 0, "l"], - [3144, 0, "a"], - [3145, 0, "i"], - [3146, 0, "n"], - [3147, 0, " "], - [3148, 0, "t"], - [3149, 0, "h"], - [3150, 0, "e"], - [3151, 0, " "], - [3152, 0, "l"], - [3153, 0, "a"], - [3154, 0, "n"], - [3155, 0, "g"], - [3156, 0, "u"], - [3157, 0, "a"], - [3158, 0, "g"], - [3159, 0, "e"], - [3160, 0, " "], - [3161, 0, "i"], - [3162, 0, "n"], - [3163, 0, "f"], - [3164, 0, "o"], - [3165, 0, "r"], - [3166, 0, "m"], - [3167, 0, "a"], - [3168, 0, "l"], - [3169, 0, "l"], - [3170, 0, "y"], - [3171, 0, ","], - [3172, 0, " "], - [3173, 0, "b"], - [3174, 0, "e"], - [3175, 0, "f"], - [3176, 0, "o"], - [3177, 0, "r"], - [3178, 0, "e"], - [3179, 0, " "], - [3180, 0, "g"], - [3181, 0, "i"], - [3182, 0, "v"], - [3183, 0, "i"], - [3184, 0, "n"], - [3185, 0, "g"], - [3186, 0, " "], - [3187, 0, "i"], - [3188, 0, "t"], - [3189, 0, "s"], - [3190, 0, " "], - [3191, 0, "f"], - [3192, 0, "o"], - [3193, 0, "r"], - [3194, 0, "m"], - [3195, 0, "a"], - [3196, 0, "l"], - [3197, 0, " "], - [3198, 0, "s"], - [3199, 0, "e"], - [3200, 0, "m"], - [3201, 0, "a"], - [3202, 0, "n"], - [3203, 0, "t"], - [3204, 0, "i"], - [3205, 0, "c"], - [3206, 0, "s"], - [3207, 0, "."], - [3745, 0, "\n"], - [3746, 0, "\n"], - [2669, 0, "\n"], - [2670, 0, "\n"], - [2671, 0, "\\"], - [2672, 0, "b"], - [2673, 0, "e"], - [2674, 0, "g"], - [2675, 0, "i"], - [2676, 0, "n"], - [2677, 0, "{"], - [2678, 0, "f"], - [2679, 0, "i"], - [2680, 0, "g"], - [2681, 0, "u"], - [2682, 0, "r"], - [2683, 0, "e"], - [2684, 0, "}"], - [2685, 0, "\n"], - [2686, 0, "\\"], - [2687, 0, "c"], - [2688, 0, "e"], - [2689, 0, "n"], - [2690, 0, "t"], - [2691, 0, "e"], - [2692, 0, "r"], - [2693, 0, "i"], - [2694, 0, "n"], - [2695, 0, "g"], - [2696, 0, "\n"], - [2697, 0, "\\"], - [2698, 0, "c"], - [2699, 0, "a"], - [2700, 0, "p"], - [2701, 0, "t"], - [2702, 0, "i"], - [2703, 0, "o"], - [2704, 0, "n"], - [2705, 0, "{"], - [1756, 0, "\n"], - [1757, 0, "\\"], - [1758, 0, "c"], - [1759, 0, "e"], - [1760, 0, "n"], - [1761, 0, "t"], - [1762, 0, "e"], - [1763, 0, "r"], - [1764, 0, "i"], - [1765, 0, "n"], - [1766, 0, "g"], - [2717, 0, "E"], - [2718, 0, "x"], - [2719, 0, "a"], - [2720, 0, "m"], - [2721, 0, "p"], - [2722, 0, "l"], - [2723, 0, "e"], - [2724, 0, " "], - [2725, 0, "o"], - [2726, 0, "f"], - [2727, 0, " "], - [2728, 0, "p"], - [2729, 0, "r"], - [2730, 0, "o"], - [2731, 0, "g"], - [2732, 0, "r"], - [2733, 0, "a"], - [2734, 0, "m"], - [2735, 0, "m"], - [2736, 0, "a"], - [2737, 0, "t"], - [2738, 0, "i"], - [2739, 0, "c"], - [2740, 0, "a"], - [2741, 0, "l"], - [2742, 0, "l"], - [2743, 0, "y"], - [2744, 0, " "], - [2745, 0, "c"], - [2746, 0, "o"], - [2747, 0, "n"], - [2748, 0, "s"], - [2749, 0, "t"], - [2750, 0, "r"], - [2751, 0, "u"], - [2752, 0, "c"], - [2753, 0, "t"], - [2754, 0, "i"], - [2755, 0, "n"], - [2756, 0, "g"], - [2757, 0, " "], - [2758, 0, "a"], - [2759, 0, " "], - [2760, 0, "J"], - [2761, 0, "S"], - [2762, 0, "O"], - [2763, 0, "N"], - [2764, 0, " "], - [2765, 0, "d"], - [2766, 0, "o"], - [2767, 0, "c"], - [2768, 0, "u"], - [2769, 0, "m"], - [2770, 0, "e"], - [2771, 0, "n"], - [2772, 0, "t"], - [2773, 0, "}"], - [2774, 0, "\\"], - [2775, 0, "l"], - [2776, 0, "a"], - [2777, 0, "b"], - [2778, 0, "e"], - [2779, 0, "l"], - [2780, 0, "{"], - [2781, 0, "f"], - [2782, 0, "i"], - [2783, 0, "g"], - [2784, 0, ":"], - [2785, 0, "m"], - [2786, 0, "a"], - [2787, 0, "k"], - [2788, 0, "e"], - [2789, 0, "-"], - [2790, 0, "d"], - [2791, 0, "o"], - [2792, 0, "c"], - [2793, 0, "}"], - [2794, 0, "\n"], - [2795, 0, "\\"], - [2796, 0, "e"], - [2797, 0, "n"], - [2798, 0, "d"], - [2799, 0, "{"], - [2800, 0, "f"], - [2801, 0, "i"], - [2802, 0, "g"], - [2803, 0, "u"], - [2804, 0, "r"], - [2805, 0, "e"], - [2806, 0, "}"], - [2707, 0, "\n"], - [2708, 0, "\\"], - [2709, 0, "b"], - [2710, 0, "e"], - [2711, 0, "g"], - [2712, 0, "i"], - [2713, 0, "n"], - [2714, 0, "{"], - [2715, 0, "t"], - [2716, 0, "a"], - [2717, 0, "b"], - [2718, 0, "u"], - [2719, 0, "l"], - [2720, 0, "a"], - [2721, 0, "r"], - [2722, 0, "}"], - [2723, 0, "{"], - [2724, 0, "l"], - [2725, 0, "}"], - [2726, 0, "\n"], - [2727, 0, "\\"], - [2728, 0, "e"], - [2729, 0, "n"], - [2730, 0, "d"], - [2731, 0, "{"], - [2732, 0, "t"], - [2733, 0, "a"], - [2734, 0, "b"], - [2735, 0, "u"], - [2736, 0, "l"], - [2737, 0, "a"], - [2738, 0, "r"], - [2739, 0, "}"], - [2726, 0, "\n"], - [2727, 0, "\\"], - [2728, 0, "t"], - [2729, 0, "e"], - [2730, 0, "x"], - [2731, 0, "t"], - [2732, 0, "s"], - [2733, 0, "f"], - [2734, 0, "{"], - [2735, 0, "d"], - [2736, 0, "o"], - [2737, 0, "c"], - [2738, 0, "}"], - [2739, 0, " "], - [2740, 0, "="], - [2741, 0, " "], - [2742, 0, "\\"], - [2743, 0, "v"], - [2744, 0, "e"], - [2745, 0, "r"], - [2746, 0, "b"], - [2747, 0, "|"], - [2748, 0, "{"], - [2749, 0, "}"], - [2750, 0, "|"], - [2751, 0, ";"], - [2752, 0, "\\"], - [2753, 0, "\\"], - [2754, 0, "\n"], - [2755, 0, "\\"], - [2756, 0, "t"], - [2757, 0, "e"], - [2758, 0, "x"], - [2759, 0, "t"], - [2760, 0, "s"], - [2761, 0, "f"], - [2762, 0, "{"], - [2763, 0, "d"], - [2764, 0, "o"], - [2765, 0, "c"], - [2766, 0, "}"], - [2766, 0, "."], - [2767, 0, "g"], - [2768, 0, "e"], - [2769, 0, "t"], - [2771, 0, "("], - [2772, 0, "\\"], - [2773, 0, "m"], - [2774, 0, "a"], - [2775, 0, "t"], - [2776, 0, "h"], - [2776, 1], - [2775, 1], - [2774, 1], - [2773, 1], - [2773, 0, "t"], - [2774, 0, "e"], - [2775, 0, "x"], - [2776, 0, "t"], - [2776, 1], - [2775, 1], - [2774, 1], - [2773, 1], - [2772, 1], - [2772, 0, "\\"], - [2773, 0, "v"], - [2774, 0, "e"], - [2775, 0, "r"], - [2776, 0, "b"], - [2777, 0, "|"], - [2778, 0, "\""], - [2779, 0, "s"], - [2780, 0, "h"], - [2781, 0, "o"], - [2782, 0, "p"], - [2783, 0, "p"], - [2784, 0, "i"], - [2785, 0, "n"], - [2786, 0, "g"], - [2787, 0, "|"], - [2787, 1], - [2787, 0, "\""], - [2788, 0, "|"], - [2789, 0, ")"], - [2790, 0, " "], - [2791, 0, "="], - [2792, 0, " "], - [2793, 0, "\\"], - [2794, 0, "v"], - [2795, 0, "e"], - [2796, 0, "r"], - [2797, 0, "b"], - [2798, 0, "|"], - [2799, 0, "["], - [2800, 0, "]"], - [2801, 0, "|"], - [2802, 0, ";"], - [2803, 0, "\\"], - [2804, 0, "\\"], - [2805, 0, "\n"], - [2806, 0, "\\"], - [2807, 0, "t"], - [2808, 0, "e"], - [2809, 0, "x"], - [2810, 0, "t"], - [2811, 0, "s"], - [2812, 0, "f"], - [2813, 0, "{"], - [2814, 0, "d"], - [2815, 0, "o"], - [2816, 0, "c"], - [2817, 0, "."], - [2818, 0, "g"], - [2819, 0, "e"], - [2820, 0, "t"], - [2821, 0, "}"], - [2822, 0, "("], - [2823, 0, "\\"], - [2824, 0, "v"], - [2825, 0, "e"], - [2826, 0, "r"], - [2827, 0, "b"], - [2828, 0, "\""], - [2828, 1], - [2828, 0, "|"], - [2829, 0, "\""], - [2830, 0, "s"], - [2831, 0, "h"], - [2832, 0, "o"], - [2833, 0, "p"], - [2834, 0, "p"], - [2835, 0, "i"], - [2836, 0, "n"], - [2837, 0, "g"], - [2838, 0, "\""], - [2839, 0, "|"], - [2840, 0, ")"], - [2841, 0, "."], - [2806, 0, "\\"], - [2807, 0, "t"], - [2808, 0, "e"], - [2809, 0, "x"], - [2810, 0, "t"], - [2811, 0, "s"], - [2812, 0, "f"], - [2813, 0, " "], - [2813, 1], - [2813, 0, "{"], - [2814, 0, "l"], - [2815, 0, "e"], - [2816, 0, "t"], - [2817, 0, "}"], - [2818, 0, " "], - [2819, 0, "\\"], - [2820, 0, "t"], - [2821, 0, "e"], - [2822, 0, "x"], - [2823, 0, "t"], - [2824, 0, "i"], - [2825, 0, "t"], - [2826, 0, "{"], - [2827, 0, "s"], - [2828, 0, "h"], - [2829, 0, "o"], - [2830, 0, "p"], - [2831, 0, "p"], - [2831, 1], - [2830, 1], - [2829, 1], - [2828, 1], - [2827, 1], - [2827, 0, "l"], - [2828, 0, "i"], - [2829, 0, "s"], - [2830, 0, "t"], - [2831, 0, "}"], - [2832, 0, " "], - [2833, 0, "="], - [2834, 0, " "], - [2870, 1], - [2870, 0, ";"], - [2871, 0, "\\"], - [2872, 0, "\\"], - [2871, 0, " "], - [2803, 0, " "], - [2752, 0, " "], - [2876, 0, "\n"], - [2877, 0, "\\"], - [2878, 0, "t"], - [2879, 0, "e"], - [2880, 0, "x"], - [2881, 0, "t"], - [2882, 0, "i"], - [2883, 0, "t"], - [2884, 0, "{"], - [2885, 0, "l"], - [2886, 0, "i"], - [2887, 0, "s"], - [2888, 0, "t"], - [2889, 0, "}"], - [2890, 0, "."], - [2891, 0, "\\"], - [2892, 0, "t"], - [2893, 0, "e"], - [2894, 0, "x"], - [2895, 0, "t"], - [2896, 0, "s"], - [2897, 0, "f"], - [2898, 0, "{"], - [2899, 0, "i"], - [2900, 0, "n"], - [2901, 0, "s"], - [2902, 0, "e"], - [2903, 0, "r"], - [2904, 0, "t"], - [2905, 0, "}"], - [2906, 0, "("], - [2907, 0, "\\"], - [2908, 0, "v"], - [2909, 0, "e"], - [2910, 0, "r"], - [2911, 0, "b"], - [2912, 0, "\\"], - [2913, 0, "\""], - [2913, 1], - [2913, 0, "|"], - [2914, 0, "e"], - [2915, 0, "g"], - [2916, 0, "g"], - [2917, 0, "s"], - [2918, 0, "\\"], - [2919, 0, "\""], - [2919, 1], - [2918, 1], - [2914, 0, "\""], - [2919, 0, "\""], - [2920, 0, "|"], - [2912, 1], - [2920, 0, ")"], - [2921, 0, ";"], - [2922, 0, " "], - [2923, 0, "\\"], - [2924, 0, "\\"], - [2925, 0, "\n"], - [2926, 0, "\\"], - [2927, 0, "t"], - [2928, 0, "e"], - [2929, 0, "x"], - [2930, 0, "t"], - [2931, 0, "i"], - [2932, 0, "t"], - [2933, 0, "{"], - [2934, 0, "l"], - [2935, 0, "i"], - [2936, 0, "s"], - [2937, 0, "t"], - [2938, 0, "}"], - [2939, 0, "."], - [2940, 0, "\\"], - [2941, 0, "t"], - [2942, 0, "e"], - [2943, 0, "x"], - [2944, 0, "t"], - [2945, 0, "s"], - [2946, 0, "f"], - [2947, 0, "{"], - [2948, 0, "i"], - [2949, 0, "n"], - [2950, 0, "s"], - [2951, 0, "e"], - [2952, 0, "r"], - [2953, 0, "t"], - [2954, 0, "}"], - [2955, 0, "("], - [2956, 0, "\\"], - [2957, 0, "v"], - [2958, 0, "e"], - [2959, 0, "r"], - [2960, 0, "b"], - [2961, 0, "|"], - [2962, 0, "\""], - [2963, 0, "m"], - [2964, 0, "i"], - [2965, 0, "l"], - [2966, 0, "k"], - [2967, 0, "\""], - [2968, 0, "|"], - [2969, 0, "}"], - [2970, 0, ")"], - [2970, 1], - [2969, 1], - [2969, 0, ")"], - [2970, 0, ";"], - [2985, 0, "\n"], - [2986, 0, "F"], - [2987, 0, "i"], - [2988, 0, "n"], - [2989, 0, "a"], - [2990, 0, "l"], - [2991, 0, " "], - [2992, 0, "s"], - [2993, 0, "t"], - [2994, 0, "a"], - [2995, 0, "t"], - [2996, 0, "e"], - [2997, 0, ":"], - [2998, 0, "\n"], - [2999, 0, "\n"], - [2999, 1], - [2999, 0, "\\"], - [3000, 0, "b"], - [3001, 0, "e"], - [3002, 0, "g"], - [3003, 0, "i"], - [3004, 0, "n"], - [3005, 0, "{"], - [3006, 0, "v"], - [3007, 0, "e"], - [3008, 0, "r"], - [3009, 0, "b"], - [3010, 0, "a"], - [3011, 0, "t"], - [3012, 0, "i"], - [3013, 0, "m"], - [3014, 0, "}"], - [3015, 0, "\n"], - [3016, 0, "\\"], - [3017, 0, "e"], - [3018, 0, "n"], - [3019, 0, "d"], - [3020, 0, "{"], - [3021, 0, "v"], - [3022, 0, "e"], - [3023, 0, "r"], - [3024, 0, "b"], - [3025, 0, "a"], - [3026, 0, "t"], - [3027, 0, "i"], - [3028, 0, "m"], - [3029, 0, "}"], - [3015, 0, "\n"], - [3016, 0, "{"], - [3017, 0, "\""], - [3018, 0, "s"], - [3019, 0, "h"], - [3020, 0, "o"], - [3021, 0, "p"], - [3022, 0, "p"], - [3023, 0, "i"], - [3024, 0, "n"], - [3025, 0, "g"], - [3026, 0, "\""], - [3027, 0, ":"], - [3028, 0, " "], - [3029, 0, "["], - [3030, 0, "\""], - [3031, 0, "e"], - [3032, 0, "g"], - [3033, 0, "g"], - [3034, 0, "s"], - [3035, 0, "\""], - [3036, 0, ","], - [2877, 0, "\\"], - [2878, 0, "t"], - [2879, 0, "e"], - [2880, 0, "x"], - [2881, 0, "t"], - [2882, 0, "s"], - [2883, 0, "f"], - [2884, 0, "{"], - [2885, 0, "l"], - [2886, 0, "e"], - [2887, 0, "t"], - [2888, 0, "}"], - [2889, 0, " "], - [2901, 1], - [2900, 1], - [2899, 1], - [2898, 1], - [2898, 0, "e"], - [2899, 0, "g"], - [2900, 0, "g"], - [2901, 0, "s"], - [2903, 0, " "], - [2904, 0, "="], - [2905, 0, " "], - [2906, 0, "\\"], - [2907, 0, "t"], - [2908, 0, "e"], - [2909, 0, "x"], - [2910, 0, "t"], - [2911, 0, "s"], - [2912, 0, "f"], - [2913, 0, "{"], - [2914, 0, "d"], - [2915, 0, "o"], - [2916, 0, "c"], - [2917, 0, "."], - [2918, 0, "g"], - [2919, 0, "e"], - [2920, 0, "t"], - [2921, 0, ")"], - [2922, 0, "("], - [2922, 1], - [2921, 1], - [2921, 0, "}"], - [2922, 0, "("], - [2923, 0, "\\"], - [2924, 0, "v"], - [2925, 0, "e"], - [2926, 0, "r"], - [2927, 0, "b"], - [2928, 0, "\""], - [2928, 1], - [2928, 0, "|"], - [2929, 0, "\""], - [2930, 0, "s"], - [2931, 0, "h"], - [2932, 0, "o"], - [2933, 0, "p"], - [2934, 0, "p"], - [2935, 0, "i"], - [2936, 0, "n"], - [2937, 0, "g"], - [2938, 0, "\""], - [2939, 0, "|"], - [2940, 0, ")"], - [2875, 1], - [2874, 1], - [2873, 1], - [2872, 1], - [2871, 1], - [2870, 1], - [2869, 1], - [2868, 1], - [2867, 1], - [2866, 1], - [2865, 1], - [2864, 1], - [2863, 1], - [2862, 1], - [2861, 1], - [2860, 1], - [2859, 1], - [2858, 1], - [2857, 1], - [2856, 1], - [2855, 1], - [2854, 1], - [2853, 1], - [2852, 1], - [2851, 1], - [2850, 1], - [2849, 1], - [2848, 1], - [2847, 1], - [2846, 1], - [2845, 1], - [2844, 1], - [2843, 1], - [2842, 1], - [2841, 1], - [2840, 1], - [2839, 1], - [2838, 1], - [2837, 1], - [2836, 1], - [2835, 1], - [2834, 1], - [2833, 1], - [2832, 1], - [2831, 1], - [2830, 1], - [2829, 1], - [2828, 1], - [2827, 1], - [2826, 1], - [2825, 1], - [2824, 1], - [2823, 1], - [2822, 1], - [2821, 1], - [2820, 1], - [2819, 1], - [2818, 1], - [2817, 1], - [2816, 1], - [2815, 1], - [2814, 1], - [2813, 1], - [2812, 1], - [2811, 1], - [2810, 1], - [2809, 1], - [2808, 1], - [2807, 1], - [2919, 1], - [2918, 1], - [2917, 1], - [2916, 1], - [2916, 0, "e"], - [2917, 0, "g"], - [2918, 0, "g"], - [2919, 0, "s"], - [3019, 0, " "], - [3020, 0, "\""], - [3021, 0, "m"], - [3022, 0, "i"], - [3023, 0, "l"], - [3024, 0, "k"], - [3025, 0, "\""], - [3026, 0, "]"], - [3027, 0, "}"], - [2997, 0, "\n"], - [2998, 0, "d"], - [2999, 0, "o"], - [3000, 0, "c"], - [3001, 0, " "], - [3002, 0, "="], - [3003, 0, " "], - [3004, 0, "{"], - [3005, 0, "}"], - [3006, 0, ";"], - [3007, 0, "\n"], - [3008, 0, "d"], - [3009, 0, "o"], - [3010, 0, "c"], - [3011, 0, "."], - [3012, 0, "g"], - [3013, 0, "e"], - [3014, 0, "t"], - [3015, 0, "("], - [3016, 0, "\""], - [3017, 0, "s"], - [3018, 0, "h"], - [3019, 0, "o"], - [3020, 0, "p"], - [3021, 0, "p"], - [3022, 0, "i"], - [3023, 0, "n"], - [3024, 0, "g"], - [3025, 0, "\""], - [3026, 0, "}"], - [3026, 1], - [3026, 0, ")"], - [3027, 0, " "], - [3028, 0, "="], - [3029, 0, " "], - [3030, 0, "["], - [3031, 0, "]"], - [3032, 0, ";"], - [3033, 0, "\n"], - [3034, 0, "l"], - [3035, 0, "e"], - [3036, 0, "t"], - [3037, 0, " "], - [3038, 0, "e"], - [3039, 0, "g"], - [3040, 0, "g"], - [3041, 0, "s"], - [3042, 0, " "], - [3043, 0, "="], - [3044, 0, " "], - [3045, 0, "d"], - [3046, 0, "o"], - [3047, 0, "c"], - [3048, 0, "."], - [3049, 0, "g"], - [3050, 0, "e"], - [3051, 0, "t"], - [3052, 0, "("], - [3053, 0, "\""], - [3054, 0, "s"], - [3055, 0, "h"], - [3056, 0, "o"], - [3057, 0, "p"], - [3058, 0, "p"], - [3059, 0, "i"], - [3060, 0, "n"], - [3061, 0, "g"], - [3062, 0, "\""], - [3063, 0, ")"], - [3064, 0, "."], - [3065, 0, "i"], - [3066, 0, "n"], - [3067, 0, "s"], - [3068, 0, "e"], - [3069, 0, "r"], - [3070, 0, "t"], - [3071, 0, "("], - [3072, 0, "\""], - [3073, 0, "e"], - [3074, 0, "g"], - [3075, 0, "g"], - [3076, 0, "s"], - [3077, 0, "\""], - [3078, 0, ")"], - [3079, 0, ";"], - [3080, 0, "\n"], - [3081, 0, "e"], - [3082, 0, "g"], - [3083, 0, "g"], - [3084, 0, "s"], - [3085, 0, "."], - [3086, 0, "i"], - [3087, 0, "n"], - [3088, 0, "s"], - [3089, 0, "e"], - [3090, 0, "r"], - [3091, 0, "t"], - [3092, 0, "("], - [3093, 0, "\""], - [3094, 0, "m"], - [3095, 0, "i"], - [3096, 0, "l"], - [3097, 0, "k"], - [3098, 0, "\""], - [3099, 0, ")"], - [3100, 0, ";"], - [3101, 0, "\n"], - [3102, 0, "\n"], - [3103, 0, "/"], - [3104, 0, "/"], - [3105, 0, " "], - [3106, 0, "F"], - [3107, 0, "i"], - [3108, 0, "n"], - [3109, 0, "a"], - [3110, 0, "l"], - [3111, 0, " "], - [3112, 0, "s"], - [3113, 0, "t"], - [3114, 0, "a"], - [3115, 0, "t"], - [3116, 0, "e"], - [3117, 0, ":"], - [2979, 1], - [2978, 1], - [2977, 1], - [2976, 1], - [2975, 1], - [2974, 1], - [2973, 1], - [2972, 1], - [2971, 1], - [2970, 1], - [2969, 1], - [2968, 1], - [2967, 1], - [2966, 1], - [2965, 1], - [2964, 1], - [2963, 1], - [2962, 1], - [2961, 1], - [2960, 1], - [2959, 1], - [2958, 1], - [2957, 1], - [2956, 1], - [2955, 1], - [2954, 1], - [2953, 1], - [2952, 1], - [2951, 1], - [2950, 1], - [2949, 1], - [2948, 1], - [2947, 1], - [2946, 1], - [2945, 1], - [2944, 1], - [2943, 1], - [2942, 1], - [2941, 1], - [2940, 1], - [2939, 1], - [2938, 1], - [2937, 1], - [2936, 1], - [2935, 1], - [2934, 1], - [2933, 1], - [2932, 1], - [2931, 1], - [2930, 1], - [2929, 1], - [2928, 1], - [2927, 1], - [2926, 1], - [2925, 1], - [2924, 1], - [2923, 1], - [2922, 1], - [2921, 1], - [2920, 1], - [2919, 1], - [2918, 1], - [2917, 1], - [2916, 1], - [2915, 1], - [2914, 1], - [2913, 1], - [2912, 1], - [2911, 1], - [2910, 1], - [2909, 1], - [2908, 1], - [2907, 1], - [2906, 1], - [2905, 1], - [2904, 1], - [2903, 1], - [2902, 1], - [2901, 1], - [2900, 1], - [2899, 1], - [2898, 1], - [2897, 1], - [2896, 1], - [2895, 1], - [2894, 1], - [2893, 1], - [2892, 1], - [2891, 1], - [2890, 1], - [2889, 1], - [2888, 1], - [2887, 1], - [2886, 1], - [2885, 1], - [2884, 1], - [2883, 1], - [2882, 1], - [2881, 1], - [2880, 1], - [2879, 1], - [2878, 1], - [2877, 1], - [2876, 1], - [2875, 1], - [2874, 1], - [2873, 1], - [2872, 1], - [2871, 1], - [2870, 1], - [2869, 1], - [2868, 1], - [2867, 1], - [2866, 1], - [2865, 1], - [2864, 1], - [2863, 1], - [2862, 1], - [2861, 1], - [2860, 1], - [2859, 1], - [2858, 1], - [2857, 1], - [2856, 1], - [2855, 1], - [2854, 1], - [2853, 1], - [2852, 1], - [2851, 1], - [2850, 1], - [2849, 1], - [2848, 1], - [2847, 1], - [2846, 1], - [2845, 1], - [2844, 1], - [2843, 1], - [2842, 1], - [2841, 1], - [2840, 1], - [2839, 1], - [2838, 1], - [2837, 1], - [2836, 1], - [2835, 1], - [2834, 1], - [2833, 1], - [2832, 1], - [2831, 1], - [2830, 1], - [2829, 1], - [2828, 1], - [2827, 1], - [2826, 1], - [2825, 1], - [2824, 1], - [2823, 1], - [2822, 1], - [2821, 1], - [2820, 1], - [2819, 1], - [2818, 1], - [2817, 1], - [2816, 1], - [2815, 1], - [2814, 1], - [2813, 1], - [2812, 1], - [2811, 1], - [2810, 1], - [2809, 1], - [2808, 1], - [2807, 1], - [2806, 1], - [2805, 1], - [2804, 1], - [2803, 1], - [2802, 1], - [2801, 1], - [2800, 1], - [2799, 1], - [2798, 1], - [2797, 1], - [2796, 1], - [2795, 1], - [2794, 1], - [2793, 1], - [2792, 1], - [2791, 1], - [2790, 1], - [2789, 1], - [2788, 1], - [2787, 1], - [2786, 1], - [2785, 1], - [2784, 1], - [2783, 1], - [2782, 1], - [2781, 1], - [2780, 1], - [2779, 1], - [2778, 1], - [2777, 1], - [2776, 1], - [2775, 1], - [2774, 1], - [2773, 1], - [2772, 1], - [2771, 1], - [2770, 1], - [2769, 1], - [2768, 1], - [2767, 1], - [2766, 1], - [2765, 1], - [2764, 1], - [2763, 1], - [2762, 1], - [2761, 1], - [2760, 1], - [2759, 1], - [2758, 1], - [2757, 1], - [2756, 1], - [2755, 1], - [2754, 1], - [2753, 1], - [2752, 1], - [2751, 1], - [2750, 1], - [2749, 1], - [2748, 1], - [2747, 1], - [2746, 1], - [2745, 1], - [2744, 1], - [2743, 1], - [2742, 1], - [2741, 1], - [2740, 1], - [2739, 1], - [2738, 1], - [2737, 1], - [2736, 1], - [2735, 1], - [2734, 1], - [2733, 1], - [2732, 1], - [2731, 1], - [2730, 1], - [2729, 1], - [2728, 1], - [2727, 1], - [2726, 1], - [2725, 1], - [2724, 1], - [2723, 1], - [2722, 1], - [2721, 1], - [2720, 1], - [2719, 1], - [2718, 1], - [2717, 1], - [2716, 1], - [2715, 1], - [2714, 1], - [2713, 1], - [2712, 1], - [2711, 1], - [2710, 1], - [2709, 1], - [2708, 1], - [2707, 1], - [2735, 0, "l"], - [2736, 0, "e"], - [2737, 0, "t"], - [2738, 0, " "], - [2739, 0, "l"], - [2740, 0, "i"], - [2741, 0, "s"], - [2742, 0, "t"], - [2743, 0, " "], - [2744, 0, "="], - [2745, 0, " "], - [2765, 0, "\n"], - [2766, 0, "l"], - [2767, 0, "i"], - [2768, 0, "s"], - [2769, 0, "t"], - [2781, 0, "f"], - [2781, 1], - [2806, 1], - [2805, 1], - [2804, 1], - [2803, 1], - [2802, 1], - [2801, 1], - [2800, 1], - [2799, 1], - [2798, 1], - [2797, 1], - [2796, 1], - [2795, 1], - [2794, 1], - [2793, 1], - [2792, 1], - [2791, 1], - [2790, 1], - [2789, 1], - [2788, 1], - [2788, 0, "l"], - [2789, 0, "i"], - [2790, 0, "s"], - [2791, 0, "t"], - [1875, 0, ":"], - [2730, 0, ":"], - [2773, 0, ":"], - [2767, 0, ";"], - [4074, 0, "A"], - [4075, 0, " "], - [4076, 0, "c"], - [4077, 0, "o"], - [4078, 0, "m"], - [4079, 0, "m"], - [4080, 0, "a"], - [4081, 0, "n"], - [4082, 0, "d"], - [4083, 0, " "], - [4084, 0, "C"], - [4085, 0, "M"], - [4086, 0, "D"], - [4087, 0, " "], - [4088, 0, "e"], - [4089, 0, "i"], - [4090, 0, "t"], - [4091, 0, "h"], - [4092, 0, "e"], - [4093, 0, "r"], - [4094, 0, " "], - [4095, 0, "s"], - [4096, 0, "e"], - [4097, 0, "t"], - [4098, 0, "s"], - [4099, 0, " "], - [4100, 0, "t"], - [4101, 0, "h"], - [4102, 0, "e"], - [4103, 0, " "], - [4104, 0, "v"], - [4105, 0, "a"], - [4106, 0, "l"], - [4107, 0, "u"], - [4108, 0, "e"], - [4109, 0, " "], - [4110, 0, "o"], - [4111, 0, "f"], - [4112, 0, " "], - [4113, 0, "a"], - [4114, 0, " "], - [4115, 0, "l"], - [4116, 0, "o"], - [4117, 0, "c"], - [4118, 0, "a"], - [4119, 0, "l"], - [4120, 0, " "], - [4121, 0, "v"], - [4122, 0, "a"], - [4123, 0, "r"], - [4124, 0, "i"], - [4125, 0, "a"], - [4126, 0, "b"], - [4127, 0, "l"], - [4128, 0, "e"], - [4129, 0, " "], - [4130, 0, "("], - [4131, 0, "\\"], - [4132, 0, "m"], - [4132, 1], - [4132, 0, "t"], - [4133, 0, "e"], - [4134, 0, "x"], - [4135, 0, "t"], - [4136, 0, "s"], - [4137, 0, "f"], - [4138, 0, "{"], - [4139, 0, "l"], - [4140, 0, "e"], - [4141, 0, "t"], - [4142, 0, "}"], - [4143, 0, ")"], - [4144, 0, ","], - [4145, 0, " "], - [4146, 0, "p"], - [4147, 0, "e"], - [4148, 0, "r"], - [4149, 0, "f"], - [4150, 0, "o"], - [4151, 0, "r"], - [4152, 0, "m"], - [4153, 0, "s"], - [4154, 0, " "], - [4155, 0, "n"], - [4156, 0, "e"], - [4157, 0, "t"], - [4158, 0, "w"], - [4159, 0, "o"], - [4160, 0, "r"], - [4161, 0, "k"], - [4162, 0, " "], - [4163, 0, "c"], - [4164, 0, "o"], - [4165, 0, "m"], - [4166, 0, "m"], - [4167, 0, "u"], - [4168, 0, "n"], - [4169, 0, "i"], - [4170, 0, "c"], - [4171, 0, "a"], - [4172, 0, "t"], - [4173, 0, "i"], - [4174, 0, "o"], - [4175, 0, "n"], - [4176, 0, " "], - [4177, 0, "("], - [4178, 0, "\\"], - [4179, 0, "t"], - [4180, 0, "e"], - [4181, 0, "x"], - [4182, 0, "t"], - [4183, 0, "s"], - [4184, 0, "f"], - [4185, 0, "{"], - [4186, 0, "y"], - [4187, 0, "i"], - [4188, 0, "e"], - [4189, 0, "l"], - [4190, 0, "d"], - [4191, 0, "}"], - [4192, 0, ")"], - [4193, 0, ","], - [4194, 0, " "], - [4195, 0, "o"], - [4196, 0, "r"], - [4197, 0, " "], - [4198, 0, "m"], - [4199, 0, "o"], - [4200, 0, "d"], - [4201, 0, "i"], - [4202, 0, "f"], - [4203, 0, "i"], - [4204, 0, "e"], - [4205, 0, "s"], - [4206, 0, " "], - [4207, 0, "t"], - [4208, 0, "h"], - [4209, 0, "e"], - [4210, 0, " "], - [4211, 0, "d"], - [4212, 0, "o"], - [4213, 0, "c"], - [4214, 0, "u"], - [4215, 0, "m"], - [4216, 0, "e"], - [4217, 0, "n"], - [4218, 0, "t"], - [4219, 0, " "], - [4220, 0, "("], - [4221, 0, "\\"], - [4221, 1], - [4221, 0, ":"], - [4222, 0, "="], - [4223, 0, ","], - [4224, 0, " "], - [4225, 0, "\\"], - [4226, 0, "t"], - [4227, 0, "e"], - [4228, 0, "x"], - [4228, 1], - [4227, 1], - [4226, 1], - [4225, 1], - [4224, 1], - [4223, 1], - [4222, 1], - [4221, 1], - [4220, 1], - [4219, 1], - [4218, 1], - [4217, 1], - [4217, 0, "n"], - [4218, 0, "t"], - [4219, 0, "."], - [4220, 0, " "], - [4221, 0, "A"], - [4222, 0, " "], - [4223, 0, "d"], - [4224, 0, "o"], - [4225, 0, "c"], - [4226, 0, "u"], - [4227, 0, "m"], - [4228, 0, "e"], - [4229, 0, "n"], - [4230, 0, "t"], - [4231, 0, " "], - [4232, 0, "c"], - [4233, 0, "a"], - [4234, 0, "n"], - [4235, 0, " "], - [4236, 0, "b"], - [4237, 0, "e"], - [4238, 0, " "], - [4239, 0, "m"], - [4240, 0, "o"], - [4241, 0, "d"], - [4242, 0, "i"], - [4243, 0, "f"], - [4244, 0, "i"], - [4245, 0, "e"], - [4246, 0, "d"], - [4247, 0, " "], - [4248, 0, "b"], - [4249, 0, "y"], - [4250, 0, " "], - [4251, 0, "a"], - [4252, 0, "s"], - [4253, 0, "s"], - [4254, 0, "i"], - [4255, 0, "g"], - [4256, 0, "n"], - [4257, 0, "i"], - [4258, 0, "n"], - [4259, 0, "g"], - [4260, 0, " "], - [4261, 0, "t"], - [4262, 0, "h"], - [4263, 0, "e"], - [4264, 0, " "], - [4265, 0, "v"], - [4266, 0, "a"], - [4267, 0, "l"], - [4268, 0, "u"], - [4269, 0, "e"], - [4270, 0, " "], - [4271, 0, "o"], - [4272, 0, "f"], - [4273, 0, " "], - [4274, 0, "s"], - [4275, 0, "o"], - [4276, 0, "m"], - [4277, 0, "e"], - [4278, 0, " "], - [4279, 0, "f"], - [4280, 0, "i"], - [4281, 0, "e"], - [4282, 0, "l"], - [4283, 0, "d"], - [4284, 0, " "], - [4285, 0, "("], - [4286, 0, "u"], - [4287, 0, "s"], - [4288, 0, "i"], - [4289, 0, "n"], - [4290, 0, "g"], - [4291, 0, " "], - [2833, 0, "\n"], - [2834, 0, "l"], - [2835, 0, "i"], - [2836, 0, "s"], - [2837, 0, "t"], - [2838, 0, "."], - [2839, 0, "i"], - [2840, 0, "n"], - [2841, 0, "s"], - [2842, 0, "e"], - [2843, 0, "r"], - [2844, 0, "t"], - [2845, 0, "("], - [2846, 0, "\""], - [2847, 0, "c"], - [2848, 0, "h"], - [2849, 0, "e"], - [2850, 0, "e"], - [2851, 0, "s"], - [2852, 0, "e"], - [2853, 0, "\""], - [2854, 0, ")"], - [2855, 0, ";"], - [2888, 0, "\""], - [2889, 0, "c"], - [2890, 0, "h"], - [2891, 0, "e"], - [2892, 0, "e"], - [2893, 0, "s"], - [2894, 0, "e"], - [2895, 0, "\""], - [2896, 0, ","], - [2897, 0, " "], - [4325, 0, "t"], - [4326, 0, "h"], - [4327, 0, "e"], - [4328, 0, " "], - [4329, 0, "a"], - [4330, 0, "s"], - [4331, 0, "s"], - [4332, 0, "i"], - [4333, 0, "g"], - [4334, 0, "n"], - [4335, 0, "m"], - [4336, 0, "e"], - [4337, 0, "n"], - [4338, 0, "t"], - [4339, 0, " "], - [4340, 0, "o"], - [4341, 0, "p"], - [4342, 0, "e"], - [4343, 0, "r"], - [4344, 0, "a"], - [4345, 0, "t"], - [4346, 0, "o"], - [4347, 0, "r"], - [4348, 0, " "], - [4349, 0, ":"], - [4350, 0, "="], - [4351, 0, ")"], - [4352, 0, ","], - [4353, 0, " "], - [4354, 0, "b"], - [4355, 0, "y"], - [4356, 0, " "], - [4357, 0, "i"], - [4358, 0, "n"], - [4359, 0, "s"], - [4360, 0, "e"], - [4361, 0, "r"], - [4362, 0, "t"], - [4363, 0, "i"], - [4364, 0, "n"], - [4365, 0, "g"], - [4316, 1], - [4315, 1], - [4314, 1], - [4313, 1], - [4312, 1], - [4311, 1], - [4311, 0, " "], - [4312, 0, "o"], - [4313, 0, "b"], - [4314, 0, "j"], - [4315, 0, "e"], - [4316, 0, "c"], - [4317, 0, "t"], - [4317, 1], - [4316, 1], - [4315, 1], - [4314, 1], - [4313, 1], - [4312, 1], - [4312, 0, "f"], - [4313, 0, "i"], - [4314, 0, "e"], - [4315, 0, "l"], - [4316, 0, "d"], - [4366, 0, " "], - [4367, 0, "a"], - [4368, 0, "n"], - [4369, 0, " "], - [4370, 0, "e"], - [4371, 0, "l"], - [4372, 0, "e"], - [4373, 0, "m"], - [4374, 0, "e"], - [4375, 0, "n"], - [4376, 0, "t"], - [4377, 0, " "], - [4378, 0, "i"], - [4379, 0, "n"], - [4380, 0, "t"], - [4381, 0, "o"], - [4382, 0, " "], - [4383, 0, "a"], - [4384, 0, " "], - [4385, 0, "l"], - [4386, 0, "i"], - [4387, 0, "s"], - [4388, 0, "t"], - [4389, 0, " "], - [4390, 0, "("], - [4391, 0, "\\"], - [4392, 0, "t"], - [4393, 0, "e"], - [4394, 0, "x"], - [4395, 0, "t"], - [4396, 0, "s"], - [4397, 0, "f"], - [4398, 0, "{"], - [4399, 0, "i"], - [4400, 0, "s"], - [4401, 0, "n"], - [4402, 0, "e"], - [4403, 0, "r"], - [4404, 0, "t"], - [4405, 0, "}"], - [4406, 0, ")"], - [4400, 1], - [4401, 0, "s"], - [4407, 0, ","], - [4408, 0, " "], - [4409, 0, "b"], - [4410, 0, "y"], - [4411, 0, " "], - [4412, 0, "d"], - [4413, 0, "e"], - [4414, 0, "l"], - [4415, 0, "e"], - [4416, 0, "t"], - [4417, 0, "i"], - [4418, 0, "n"], - [4419, 0, "g"], - [4420, 0, " "], - [4421, 0, "a"], - [4422, 0, "n"], - [4423, 0, " "], - [4424, 0, "e"], - [4425, 0, "l"], - [4426, 0, "e"], - [4427, 0, "m"], - [4428, 0, "e"], - [4429, 0, "n"], - [4430, 0, "t"], - [4431, 0, " "], - [4432, 0, "f"], - [4433, 0, "r"], - [4434, 0, "o"], - [4435, 0, "m"], - [4436, 0, " "], - [4437, 0, "a"], - [4438, 0, " "], - [4439, 0, "l"], - [4440, 0, "i"], - [4441, 0, "s"], - [4442, 0, "t"], - [4443, 0, " "], - [4444, 0, "o"], - [4445, 0, "r"], - [4446, 0, " "], - [4447, 0, "a"], - [4448, 0, " "], - [4449, 0, "m"], - [4450, 0, "a"], - [4451, 0, "p"], - [4452, 0, " "], - [4453, 0, "("], - [4454, 0, "\\"], - [4455, 0, "t"], - [4456, 0, "e"], - [4457, 0, "x"], - [4458, 0, "t"], - [4459, 0, "f"], - [4459, 1], - [4459, 0, "s"], - [4460, 0, "f"], - [4461, 0, "{"], - [4462, 0, "d"], - [4463, 0, "e"], - [4464, 0, "l"], - [4465, 0, "e"], - [4466, 0, "t"], - [4467, 0, "e"], - [4468, 0, "}"], - [4469, 0, ")"], - [4470, 0, ","], - [4471, 0, " "], - [4472, 0, "o"], - [4473, 0, "r"], - [4474, 0, " "], - [4475, 0, "b"], - [4476, 0, "y"], - [4477, 0, " "], - [4478, 0, "i"], - [4479, 0, "n"], - [4480, 0, "c"], - [4481, 0, "r"], - [4482, 0, "e"], - [4483, 0, "m"], - [4484, 0, "e"], - [4485, 0, "n"], - [4486, 0, "t"], - [4487, 0, "i"], - [4488, 0, "n"], - [4489, 0, "g"], - [4490, 0, " "], - [4491, 0, "a"], - [4492, 0, " "], - [4493, 0, "c"], - [4494, 0, "o"], - [4495, 0, "u"], - [4496, 0, "n"], - [4497, 0, "t"], - [4498, 0, "e"], - [4499, 0, "r"], - [4500, 0, " "], - [4501, 0, "("], - [4502, 0, "\\"], - [4503, 0, "t"], - [4504, 0, "e"], - [4505, 0, "x"], - [4506, 0, "t"], - [4507, 0, "s"], - [4508, 0, "f"], - [4509, 0, "{"], - [4510, 0, "i"], - [4511, 0, "n"], - [4512, 0, "c"], - [4513, 0, "r"], - [4514, 0, "}"], - [4515, 0, ")"], - [4516, 0, "."], - [4517, 0, " "], - [4518, 0, "T"], - [4519, 0, "h"], - [4520, 0, "e"], - [4521, 0, " "], - [4522, 0, "p"], - [4523, 0, "a"], - [4524, 0, "r"], - [4525, 0, "t"], - [4526, 0, " "], - [4526, 1], - [4525, 1], - [4524, 1], - [4523, 1], - [4522, 1], - [4521, 1], - [4520, 1], - [4519, 1], - [4518, 1], - [4517, 1], - [4517, 0, "\n"], - [4518, 0, "\n"], - [4519, 0, "T"], - [4520, 0, "h"], - [4521, 0, "e"], - [4522, 0, " "], - [4517, 0, " "], - [4518, 0, "T"], - [4519, 0, "h"], - [4520, 0, "e"], - [4521, 0, " "], - [4522, 0, "p"], - [4523, 0, "a"], - [4524, 0, "r"], - [4525, 0, "t"], - [4526, 0, " "], - [4527, 0, "o"], - [4528, 0, "f"], - [4529, 0, " "], - [4530, 0, "t"], - [4531, 0, "h"], - [4532, 0, "e"], - [4533, 0, " "], - [4534, 0, "d"], - [4535, 0, "o"], - [4536, 0, "c"], - [4537, 0, "u"], - [4538, 0, "m"], - [4539, 0, "e"], - [4540, 0, "n"], - [4541, 0, "t"], - [4542, 0, " "], - [4543, 0, "b"], - [4544, 0, "e"], - [4545, 0, "i"], - [4546, 0, "n"], - [4547, 0, "g"], - [4548, 0, " "], - [4549, 0, "m"], - [4550, 0, "o"], - [4551, 0, "d"], - [4552, 0, "i"], - [4553, 0, "f"], - [4554, 0, "i"], - [4555, 0, "e"], - [4556, 0, "d"], - [4557, 0, " "], - [4558, 0, "i"], - [4559, 0, "s"], - [4560, 0, " "], - [4561, 0, "d"], - [4561, 1], - [4560, 1], - [4559, 1], - [4558, 1], - [4557, 1], - [4556, 1], - [4555, 1], - [4554, 1], - [4553, 1], - [4552, 1], - [4551, 1], - [4550, 1], - [4549, 1], - [4548, 1], - [4547, 1], - [4546, 1], - [4545, 1], - [4544, 1], - [4543, 1], - [4542, 1], - [4541, 1], - [4540, 1], - [4539, 1], - [4538, 1], - [4537, 1], - [4536, 1], - [4535, 1], - [4534, 1], - [4533, 1], - [4532, 1], - [4531, 1], - [4530, 1], - [4529, 1], - [4528, 1], - [4527, 1], - [4526, 1], - [4525, 1], - [4524, 1], - [4523, 1], - [4522, 1], - [4521, 1], - [4521, 0, " "], - [4522, 0, "p"], - [4523, 0, "r"], - [4524, 0, "e"], - [4525, 0, "c"], - [4526, 0, "e"], - [4527, 0, "d"], - [4528, 0, "i"], - [4529, 0, "n"], - [4530, 0, "g"], - [4531, 0, " "], - [4532, 0, "e"], - [4533, 0, "x"], - [4534, 0, "p"], - [4535, 0, "r"], - [4536, 0, "e"], - [4537, 0, "s"], - [4538, 0, "s"], - [4539, 0, "i"], - [4540, 0, "o"], - [4541, 0, "n"], - [4542, 0, " "], - [4543, 0, "E"], - [4544, 0, "X"], - [4545, 0, "P"], - [4546, 0, "R"], - [4547, 0, " "], - [4548, 0, "i"], - [4549, 0, "d"], - [4550, 0, "e"], - [4551, 0, "n"], - [4552, 0, "t"], - [4553, 0, "i"], - [4554, 0, "f"], - [4555, 0, "i"], - [4556, 0, "e"], - [4557, 0, "s"], - [4558, 0, " "], - [4559, 0, "t"], - [4560, 0, "h"], - [4561, 0, "e"], - [4562, 0, " "], - [4563, 0, "p"], - [4564, 0, "a"], - [4565, 0, "r"], - [4566, 0, "t"], - [4567, 0, " "], - [4568, 0, "o"], - [4569, 0, "f"], - [4570, 0, " "], - [4571, 0, "t"], - [4572, 0, "h"], - [4573, 0, "e"], - [4574, 0, " "], - [4575, 0, "d"], - [4576, 0, "o"], - [4577, 0, "c"], - [4578, 0, "u"], - [4579, 0, "m"], - [4580, 0, "e"], - [4581, 0, "n"], - [4582, 0, "t"], - [4583, 0, " "], - [4584, 0, "b"], - [4585, 0, "e"], - [4586, 0, "i"], - [4587, 0, "n"], - [4588, 0, "g"], - [4589, 0, " "], - [4590, 0, "m"], - [4591, 0, "o"], - [4592, 0, "d"], - [4593, 0, "i"], - [4594, 0, "f"], - [4595, 0, "i"], - [4596, 0, "e"], - [4597, 0, "d"], - [4598, 0, "."], - [4604, 1], - [4603, 1], - [4602, 1], - [4601, 1], - [4601, 0, "F"], - [4602, 0, "i"], - [4603, 0, "g"], - [4604, 0, "u"], - [4605, 0, "r"], - [4606, 0, "e"], - [4607, 0, "~"], - [4608, 0, "\\"], - [4609, 0, "r"], - [4610, 0, "e"], - [4611, 0, "f"], - [4612, 0, "{"], - [4613, 0, "f"], - [4614, 0, "i"], - [4615, 0, "g"], - [4616, 0, ":"], - [4617, 0, "m"], - [4618, 0, "a"], - [4619, 0, "k"], - [4620, 0, "e"], - [4621, 0, "-"], - [4622, 0, "d"], - [4623, 0, "o"], - [4624, 0, "c"], - [4625, 0, "}"], - [4626, 0, " "], - [4627, 0, "s"], - [4628, 0, "h"], - [4629, 0, "o"], - [4630, 0, "w"], - [4631, 0, "s"], - [4632, 0, " "], - [4633, 0, "a"], - [4634, 0, "n"], - [4635, 0, " "], - [4636, 0, "e"], - [4637, 0, "x"], - [4638, 0, "a"], - [4639, 0, "m"], - [4640, 0, "p"], - [4641, 0, "l"], - [4642, 0, "e"], - [4643, 0, " "], - [4644, 0, "o"], - [4645, 0, "f"], - [4646, 0, " "], - [4647, 0, "a"], - [4648, 0, " "], - [4649, 0, "s"], - [4650, 0, "e"], - [4651, 0, "q"], - [4652, 0, "u"], - [4653, 0, "e"], - [4654, 0, "n"], - [4655, 0, "c"], - [4656, 0, "e"], - [4657, 0, " "], - [4658, 0, "o"], - [4659, 0, "f"], - [4660, 0, " "], - [4661, 0, "c"], - [4662, 0, "o"], - [4663, 0, "m"], - [4664, 0, "m"], - [4665, 0, "a"], - [4666, 0, "n"], - [4667, 0, "d"], - [4668, 0, "s"], - [4669, 0, " "], - [4670, 0, "c"], - [4671, 0, "o"], - [4672, 0, "n"], - [4673, 0, "s"], - [4674, 0, "t"], - [4675, 0, "r"], - [4676, 0, "u"], - [4677, 0, "c"], - [4678, 0, "t"], - [4679, 0, "i"], - [4680, 0, "n"], - [4681, 0, "g"], - [4682, 0, " "], - [4683, 0, "a"], - [4684, 0, " "], - [4685, 0, "n"], - [4686, 0, "e"], - [4687, 0, "w"], - [4688, 0, " "], - [4689, 0, "d"], - [4690, 0, "o"], - [4691, 0, "c"], - [4692, 0, "u"], - [4693, 0, "m"], - [4694, 0, "e"], - [4695, 0, "n"], - [4696, 0, "t"], - [4697, 0, " "], - [4698, 0, "r"], - [4699, 0, "e"], - [4700, 0, "p"], - [4701, 0, "r"], - [4702, 0, "e"], - [4703, 0, "s"], - [4704, 0, "e"], - [4705, 0, "n"], - [4706, 0, "t"], - [4707, 0, "i"], - [4708, 0, "n"], - [4709, 0, "g"], - [4710, 0, "a"], - [4711, 0, " "], - [4711, 1], - [4710, 1], - [4710, 0, " "], - [4711, 0, "a"], - [4712, 0, " "], - [4713, 0, "s"], - [4714, 0, "h"], - [4715, 0, "o"], - [4716, 0, "p"], - [4717, 0, "p"], - [4718, 0, "i"], - [4719, 0, "n"], - [4720, 0, "g"], - [4721, 0, " "], - [4722, 0, "l"], - [4723, 0, "i"], - [4724, 0, "s"], - [4725, 0, "t"], - [4726, 0, "."], - [4727, 0, " "], - [4728, 0, "F"], - [4729, 0, "i"], - [4730, 0, "r"], - [4731, 0, "s"], - [4732, 0, "t"], - [4733, 0, " "], - [4734, 0, "\\"], - [4735, 0, "t"], - [4736, 0, "e"], - [4737, 0, "x"], - [4738, 0, "t"], - [4739, 0, "s"], - [4740, 0, "f"], - [4741, 0, "{"], - [4742, 0, "d"], - [4743, 0, "o"], - [4744, 0, "c"], - [4745, 0, "}"], - [4746, 0, " "], - [4747, 0, "i"], - [4748, 0, "s"], - [4749, 0, " "], - [4750, 0, "a"], - [4751, 0, "s"], - [4752, 0, "s"], - [4752, 1], - [4751, 1], - [4750, 1], - [4750, 0, "s"], - [4751, 0, "e"], - [4752, 0, "t"], - [4753, 0, " "], - [4754, 0, "t"], - [4755, 0, "o"], - [4756, 0, " "], - [4757, 0, "\\"], - [4758, 0, "v"], - [4759, 0, "e"], - [4760, 0, "r"], - [4761, 0, "b"], - [4762, 0, "|"], - [4763, 0, "{"], - [4764, 0, "}"], - [4765, 0, "|"], - [4766, 0, ","], - [4767, 0, " "], - [4768, 0, "t"], - [4769, 0, "h"], - [4770, 0, "e"], - [4771, 0, " "], - [4772, 0, "e"], - [4773, 0, "m"], - [4774, 0, "p"], - [4775, 0, "t"], - [4776, 0, "y"], - [4777, 0, " "], - [4778, 0, "m"], - [4779, 0, "a"], - [4780, 0, "p"], - [4781, 0, " "], - [4782, 0, "l"], - [4783, 0, "i"], - [4784, 0, "t"], - [4785, 0, "e"], - [4786, 0, "r"], - [4787, 0, "a"], - [4788, 0, "l"], - [4789, 0, "."], - [4790, 0, " "], - [4791, 0, "W"], - [4792, 0, "i"], - [4793, 0, "t"], - [4794, 0, "h"], - [4795, 0, "i"], - [4796, 0, "n"], - [4797, 0, " "], - [4798, 0, "t"], - [4799, 0, "h"], - [4800, 0, "a"], - [4801, 0, "t"], - [4802, 0, " "], - [4803, 0, "m"], - [4804, 0, "a"], - [4805, 0, "p"], - [4806, 0, ","], - [4807, 0, " "], - [4808, 0, "t"], - [4809, 0, "h"], - [4810, 0, "e"], - [4811, 0, " "], - [4812, 0, "k"], - [4813, 0, "e"], - [4814, 0, "y"], - [4815, 0, " "], - [4816, 0, "\\"], - [4817, 0, "\""], - [4817, 1], - [4816, 1], - [4816, 0, "\\"], - [4817, 0, "v"], - [4818, 0, "e"], - [4819, 0, "r"], - [4820, 0, "b"], - [4821, 0, "|"], - [4822, 0, "\""], - [4823, 0, "s"], - [4824, 0, "h"], - [4825, 0, "o"], - [4826, 0, "p"], - [4827, 0, "p"], - [4828, 0, "i"], - [4829, 0, "n"], - [4830, 0, "g"], - [4831, 0, "\""], - [4832, 0, "|"], - [4833, 0, " "], - [4834, 0, "i"], - [4835, 0, "s"], - [4836, 0, " "], - [4837, 0, "s"], - [4838, 0, "e"], - [4839, 0, "t"], - [4840, 0, " "], - [4841, 0, "t"], - [4842, 0, "o"], - [4843, 0, " "], - [4844, 0, "t"], - [4845, 0, "h"], - [4846, 0, "e"], - [4847, 0, " "], - [4848, 0, "e"], - [4849, 0, "m"], - [4850, 0, "p"], - [4851, 0, "t"], - [4852, 0, "y"], - [4853, 0, " "], - [4854, 0, "l"], - [4855, 0, "i"], - [4856, 0, "s"], - [4857, 0, "t"], - [4858, 0, " "], - [4859, 0, "\\"], - [4860, 0, "v"], - [4861, 0, "e"], - [4862, 0, "r"], - [4863, 0, "b"], - [4864, 0, "|"], - [4865, 0, "["], - [4866, 0, "]"], - [4867, 0, "|"], - [4868, 0, ","], - [4869, 0, " "], - [4870, 0, "a"], - [4871, 0, "n"], - [4872, 0, "d"], - [4873, 0, " "], - [4874, 0, "t"], - [4875, 0, "h"], - [4876, 0, "e"], - [4877, 0, "n"], - [4878, 0, " "], - [4879, 0, "t"], - [4880, 0, "h"], - [4881, 0, "r"], - [4882, 0, "e"], - [4883, 0, "e"], - [4884, 0, " "], - [4885, 0, "i"], - [4886, 0, "t"], - [4887, 0, "e"], - [4888, 0, "m"], - [4889, 0, "s"], - [4890, 0, " "], - [4891, 0, "a"], - [4892, 0, "r"], - [4893, 0, "e"], - [4894, 0, " "], - [4895, 0, "i"], - [4896, 0, "n"], - [4897, 0, "s"], - [4898, 0, "e"], - [4899, 0, "r"], - [4900, 0, "t"], - [4901, 0, "e"], - [4902, 0, "d"], - [4903, 0, " "], - [4904, 0, "i"], - [4905, 0, "n"], - [4906, 0, "t"], - [4907, 0, "o"], - [4908, 0, " "], - [4909, 0, "t"], - [4910, 0, "h"], - [4911, 0, "e"], - [4912, 0, " "], - [4913, 0, "l"], - [4914, 0, "i"], - [4915, 0, "s"], - [4916, 0, "t"], - [4917, 0, "."], - [4918, 0, " "], - [4919, 0, "T"], - [4920, 0, "h"], - [4921, 0, "e"], - [4922, 0, " "], - [4923, 0, "\\"], - [4924, 0, "t"], - [4925, 0, "e"], - [4926, 0, "x"], - [4927, 0, "t"], - [4928, 0, "s"], - [4929, 0, "f"], - [4930, 0, "{"], - [4931, 0, "i"], - [4932, 0, "n"], - [4933, 0, "s"], - [4934, 0, "e"], - [4935, 0, "r"], - [4936, 0, "t"], - [4937, 0, "}"], - [4938, 0, " "], - [4939, 0, "c"], - [4940, 0, "o"], - [4941, 0, "m"], - [4942, 0, "m"], - [4943, 0, "a"], - [4944, 0, "n"], - [4945, 0, "d"], - [4946, 0, " "], - [4547, 0, " "], - [4548, 0, "a"], - [4549, 0, "c"], - [4550, 0, "t"], - [4551, 0, "s"], - [4552, 0, " "], - [4553, 0, "a"], - [4554, 0, "s"], - [4555, 0, " "], - [4556, 0, "a"], - [4557, 0, " "], - [4558, 0, "c"], - [4559, 0, "u"], - [4560, 0, "r"], - [4561, 0, "s"], - [4562, 0, "o"], - [4563, 0, "r"], - [4564, 0, ","], - [4575, 1], - [4574, 1], - [4573, 1], - [4573, 0, "y"], - [4574, 0, "i"], - [4575, 0, "n"], - [4576, 0, "g"], - [4966, 0, "a"], - [4967, 0, "d"], - [4968, 0, "d"], - [4969, 0, "s"], - [4970, 0, " "], - [4971, 0, "a"], - [4972, 0, "n"], - [4973, 0, " "], - [4973, 1], - [4972, 1], - [4972, 0, " "], - [4973, 0, "n"], - [4974, 0, "e"], - [4975, 0, "w"], - [4976, 0, " "], - [4977, 0, "l"], - [4978, 0, "i"], - [4979, 0, "s"], - [4980, 0, "t"], - [4981, 0, " "], - [4982, 0, "a"], - [4982, 1], - [4982, 0, "e"], - [4983, 0, "l"], - [4984, 0, "e"], - [4985, 0, "m"], - [4986, 0, "e"], - [4987, 0, "n"], - [4988, 0, "t"], - [4989, 0, " "], - [4990, 0, "\\"], - [4991, 0, "e"], - [4992, 0, "m"], - [4993, 0, "p"], - [4994, 0, "h"], - [4995, 0, "{"], - [4996, 0, "a"], - [4997, 0, "f"], - [4998, 0, "t"], - [4999, 0, "e"], - [5000, 0, "r"], - [5001, 0, "}"], - [5002, 0, " "], - [5003, 0, "t"], - [5004, 0, "h"], - [5005, 0, "e"], - [5006, 0, " "], - [5007, 0, "c"], - [5008, 0, "u"], - [5009, 0, "r"], - [5010, 0, "r"], - [5011, 0, "e"], - [5012, 0, "n"], - [5013, 0, "t"], - [5014, 0, " "], - [5015, 0, "c"], - [5016, 0, "u"], - [5017, 0, "r"], - [5018, 0, "s"], - [5019, 0, "o"], - [5020, 0, "r"], - [5021, 0, " "], - [5022, 0, "p"], - [5023, 0, "o"], - [5024, 0, "s"], - [5025, 0, "i"], - [5026, 0, "t"], - [5027, 0, "i"], - [5028, 0, "o"], - [5029, 0, "n"], - [5030, 0, ","], - [5031, 0, " "], - [5032, 0, "a"], - [5033, 0, "n"], - [5034, 0, "d"], - [5035, 0, " "], - [5036, 0, "r"], - [5037, 0, "e"], - [5038, 0, "t"], - [5039, 0, "u"], - [5040, 0, "r"], - [5041, 0, "n"], - [5042, 0, "s"], - [5043, 0, " "], - [5044, 0, "t"], - [5045, 0, "h"], - [5046, 0, "e"], - [5047, 0, " "], - [5048, 0, "c"], - [5049, 0, "u"], - [5050, 0, "r"], - [5051, 0, "s"], - [5052, 0, "o"], - [5053, 0, "r"], - [5054, 0, " "], - [5055, 0, "p"], - [5056, 0, "o"], - [5057, 0, "s"], - [5058, 0, "i"], - [5059, 0, "t"], - [5060, 0, "i"], - [5061, 0, "o"], - [5062, 0, "n"], - [5063, 0, " "], - [5064, 0, "o"], - [5065, 0, "f"], - [5066, 0, " "], - [5067, 0, "t"], - [5068, 0, "h"], - [5069, 0, "e"], - [5070, 0, " "], - [5071, 0, "n"], - [5072, 0, "e"], - [5073, 0, "w"], - [5074, 0, " "], - [5074, 1], - [5074, 0, "l"], - [5075, 0, "y"], - [5076, 0, " "], - [5077, 0, "i"], - [5078, 0, "n"], - [5079, 0, "s"], - [5080, 0, "e"], - [5081, 0, "r"], - [5082, 0, "t"], - [5083, 0, "e"], - [5084, 0, "d"], - [5085, 0, " "], - [5086, 0, "e"], - [5087, 0, "l"], - [5088, 0, "e"], - [5089, 0, "m"], - [5090, 0, "e"], - [5091, 0, "n"], - [5092, 0, "t"], - [5093, 0, "."], - [5094, 0, " "], - [5095, 0, "T"], - [5096, 0, "h"], - [5097, 0, "u"], - [5098, 0, "s"], - [5099, 0, ","], - [5100, 0, " "], - [5101, 0, "\\"], - [5101, 1], - [5101, 0, "m"], - [5102, 0, "i"], - [5103, 0, "l"], - [5104, 0, "k"], - [5105, 0, " "], - [5106, 0, "i"], - [5107, 0, "s"], - [5108, 0, " "], - [5109, 0, "i"], - [5110, 0, "n"], - [5111, 0, "s"], - [5112, 0, "e"], - [5113, 0, "r"], - [5114, 0, "t"], - [5115, 0, "e"], - [5116, 0, "d"], - [5117, 0, " "], - [5118, 0, "a"], - [5119, 0, "f"], - [5120, 0, "t"], - [5121, 0, "e"], - [5122, 0, "r"], - [5123, 0, " "], - [5124, 0, "e"], - [5125, 0, "g"], - [5126, 0, "g"], - [5127, 0, "s"], - [5128, 0, ","], - [5129, 0, " "], - [5130, 0, "b"], - [5131, 0, "u"], - [5132, 0, "t"], - [5133, 0, " "], - [5134, 0, "c"], - [5135, 0, "h"], - [5136, 0, "e"], - [5137, 0, "e"], - [5138, 0, "s"], - [5139, 0, "e"], - [5140, 0, " "], - [5141, 0, "i"], - [5142, 0, "n"], - [5143, 0, "s"], - [5143, 1], - [5142, 1], - [5142, 0, "s"], - [5143, 0, " "], - [5144, 0, "i"], - [5145, 0, "n"], - [5146, 0, "s"], - [5147, 0, "e"], - [5148, 0, "r"], - [5149, 0, "t"], - [5150, 0, "e"], - [5151, 0, "d"], - [5152, 0, " "], - [5153, 0, "a"], - [5154, 0, "t"], - [5155, 0, " "], - [5094, 0, " "], - [5095, 0, "I"], - [5096, 0, "f"], - [5097, 0, " "], - [5098, 0, "t"], - [5099, 0, "h"], - [5100, 0, "e"], - [5101, 0, " "], - [5102, 0, "c"], - [5103, 0, "u"], - [5104, 0, "r"], - [5105, 0, "s"], - [5106, 0, "o"], - [5107, 0, "r"], - [5108, 0, " "], - [5109, 0, "r"], - [5110, 0, "e"], - [5111, 0, "f"], - [5112, 0, "e"], - [5113, 0, "r"], - [5114, 0, "s"], - [5115, 0, " "], - [5116, 0, "t"], - [5117, 0, "o"], - [5118, 0, " "], - [5119, 0, "t"], - [5120, 0, "h"], - [5121, 0, "e"], - [5122, 0, " "], - [5123, 0, "l"], - [5124, 0, "i"], - [5125, 0, "s"], - [5126, 0, "t"], - [5127, 0, " "], - [5128, 0, "a"], - [5129, 0, "s"], - [5130, 0, " "], - [5131, 0, "a"], - [5132, 0, " "], - [5133, 0, "w"], - [5134, 0, "h"], - [5135, 0, "o"], - [5136, 0, "l"], - [5137, 0, "e"], - [5138, 0, ","], - [5139, 0, " "], - [5140, 0, "i"], - [5141, 0, "n"], - [5142, 0, "s"], - [5143, 0, "e"], - [5144, 0, "r"], - [5145, 0, "t"], - [5146, 0, "i"], - [5147, 0, "o"], - [5148, 0, "n"], - [5149, 0, " "], - [5150, 0, "h"], - [5151, 0, "a"], - [5152, 0, "p"], - [5153, 0, "p"], - [5154, 0, "e"], - [5155, 0, "n"], - [5156, 0, "s"], - [5157, 0, " "], - [5158, 0, "a"], - [5159, 0, "t"], - [5160, 0, " "], - [5161, 0, "t"], - [5162, 0, "h"], - [5163, 0, "e"], - [5164, 0, " "], - [5165, 0, "h"], - [5166, 0, "e"], - [5167, 0, "a"], - [5168, 0, "d"], - [5169, 0, " "], - [5170, 0, "o"], - [5171, 0, "f"], - [5172, 0, " "], - [5173, 0, "t"], - [5174, 0, "h"], - [5175, 0, "e"], - [5176, 0, " "], - [5177, 0, "l"], - [5178, 0, "i"], - [5179, 0, "s"], - [5180, 0, "t"], - [5181, 0, "."], - [2767, 0, "."], - [2768, 0, "n"], - [2769, 0, "e"], - [2770, 0, "x"], - [2771, 0, "t"], - [2784, 1], - [2783, 1], - [2782, 1], - [2781, 1], - [2780, 1], - [2779, 1], - [2778, 1], - [2777, 1], - [2776, 1], - [2775, 1], - [2774, 1], - [2773, 1], - [4818, 1], - [4817, 1], - [4816, 1], - [4815, 1], - [4814, 1], - [4813, 1], - [4812, 1], - [4811, 1], - [4810, 1], - [4809, 1], - [4808, 1], - [4807, 1], - [4806, 1], - [4805, 1], - [4804, 1], - [4803, 1], - [4803, 0, "T"], - [4804, 0, "h"], - [4805, 0, "e"], - [4806, 0, " "], - [4807, 0, "s"], - [4808, 0, "e"], - [4809, 0, "c"], - [4810, 0, "o"], - [4811, 0, "n"], - [4812, 0, "d"], - [4813, 0, " "], - [4814, 0, "l"], - [4815, 0, "i"], - [4816, 0, "n"], - [4817, 0, "e"], - [4818, 0, " "], - [4819, 0, "n"], - [4820, 0, "a"], - [4821, 0, "v"], - [4822, 0, "i"], - [4823, 0, "g"], - [4824, 0, "a"], - [4825, 0, "t"], - [4826, 0, "e"], - [4827, 0, "s"], - [4828, 0, " "], - [4829, 0, "t"], - [4830, 0, "o"], - [4858, 0, "("], - [4859, 0, "w"], - [4860, 0, "h"], - [4861, 0, "i"], - [4862, 0, "c"], - [4863, 0, "h"], - [4864, 0, " "], - [4865, 0, "i"], - [4866, 0, "s"], - [4867, 0, " "], - [4868, 0, "i"], - [4869, 0, "m"], - [4870, 0, "p"], - [4871, 0, "l"], - [4872, 0, "i"], - [4873, 0, "c"], - [4874, 0, "i"], - [4875, 0, "t"], - [4876, 0, "l"], - [4877, 0, "y"], - [4878, 0, " "], - [4879, 0, "c"], - [4880, 0, "r"], - [4881, 0, "e"], - [4882, 0, "a"], - [4883, 0, "t"], - [4884, 0, "e"], - [4885, 0, "d"], - [4886, 0, " "], - [4887, 0, "i"], - [4888, 0, "f"], - [4889, 0, " "], - [4890, 0, "i"], - [4891, 0, "t"], - [4892, 0, " "], - [4893, 0, "d"], - [4894, 0, "o"], - [4895, 0, "e"], - [4896, 0, "s"], - [4897, 0, " "], - [4898, 0, "n"], - [4899, 0, "o"], - [4900, 0, "t"], - [4901, 0, " "], - [4902, 0, "e"], - [4903, 0, "x"], - [4904, 0, "i"], - [4905, 0, "s"], - [4906, 0, "t"], - [4907, 0, ")"], - [4908, 0, ","], - [4909, 0, " "], - [4910, 0, "a"], - [4911, 0, "n"], - [4912, 0, "d"], - [4913, 0, " "], - [4914, 0, "c"], - [4915, 0, "a"], - [4916, 0, "l"], - [4917, 0, "l"], - [4918, 0, "s"], - [4919, 0, " "], - [4920, 0, "\\"], - [4921, 0, "t"], - [4922, 0, "e"], - [4923, 0, "x"], - [4924, 0, "t"], - [4925, 0, "s"], - [4926, 0, "f"], - [4927, 0, "{"], - [4928, 0, "n"], - [4929, 0, "e"], - [4930, 0, "x"], - [4931, 0, "t"], - [4932, 0, "}"], - [4933, 0, ","], - [4934, 0, " "], - [4935, 0, "w"], - [4936, 0, "h"], - [4937, 0, "i"], - [4938, 0, "c"], - [4939, 0, "h"], - [4940, 0, " "], - [4941, 0, "m"], - [4942, 0, "o"], - [4943, 0, "v"], - [4944, 0, "e"], - [4945, 0, "s"], - [4946, 0, " "], - [4947, 0, "t"], - [4948, 0, "o"], - [4949, 0, " "], - [4950, 0, "t"], - [4951, 0, "h"], - [4952, 0, "e"], - [4953, 0, " "], - [4953, 1], - [4952, 1], - [4951, 1], - [4950, 1], - [4949, 1], - [4948, 1], - [4947, 1], - [4946, 1], - [4945, 1], - [4944, 1], - [4943, 1], - [4942, 1], - [4941, 1], - [4941, 0, "t"], - [4942, 0, "r"], - [4943, 0, "e"], - [4944, 0, "a"], - [4945, 0, "t"], - [4946, 0, "s"], - [4947, 0, " "], - [4948, 0, "t"], - [4949, 0, "h"], - [4950, 0, "e"], - [4951, 0, " "], - [4952, 0, "v"], - [4953, 0, "a"], - [4954, 0, "l"], - [4955, 0, "u"], - [4956, 0, "e"], - [4957, 0, " "], - [4958, 0, "a"], - [4959, 0, "t"], - [4960, 0, " "], - [4961, 0, "t"], - [4962, 0, "h"], - [4963, 0, "a"], - [4964, 0, "t"], - [4965, 0, " "], - [4966, 0, "k"], - [4967, 0, "e"], - [4968, 0, "y"], - [4969, 0, " "], - [4970, 0, "a"], - [4971, 0, "s"], - [4972, 0, " "], - [4973, 0, "a"], - [4974, 0, " "], - [4975, 0, "l"], - [4976, 0, "i"], - [4977, 0, "s"], - [4978, 0, "t"], - [4979, 0, " "], - [4980, 0, "a"], - [4981, 0, "n"], - [4982, 0, "d"], - [4983, 0, " "], - [4984, 0, "s"], - [4985, 0, "e"], - [4986, 0, "l"], - [4987, 0, "e"], - [4988, 0, "c"], - [4989, 0, "t"], - [4990, 0, "s"], - [4991, 0, " "], - [4992, 0, "t"], - [4993, 0, "h"], - [4994, 0, "e"], - [4995, 0, " "], - [4996, 0, "h"], - [4997, 0, "e"], - [4998, 0, "a"], - [4999, 0, "d"], - [5000, 0, " "], - [5001, 0, "o"], - [5002, 0, "f"], - [5003, 0, " "], - [5004, 0, "t"], - [5005, 0, "h"], - [5006, 0, "e"], - [5007, 0, " "], - [5008, 0, "l"], - [5009, 0, "i"], - [5010, 0, "s"], - [5011, 0, "t"], - [5012, 0, "."], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 1], - [5013, 0, " "], - [5014, 0, "F"], - [5015, 0, "i"], - [5016, 0, "n"], - [5017, 0, "a"], - [5018, 0, "l"], - [5019, 0, "l"], - [5020, 0, "y"], - [5021, 0, ","], - [5307, 1], - [5306, 1], - [5305, 1], - [5304, 1], - [5303, 1], - [5302, 1], - [5301, 1], - [5300, 1], - [5299, 1], - [5298, 1], - [5297, 1], - [5296, 1], - [5295, 1], - [5294, 1], - [5293, 1], - [5292, 1], - [5291, 1], - [5290, 1], - [5289, 1], - [5288, 1], - [5287, 1], - [5286, 1], - [5285, 1], - [5284, 1], - [5283, 1], - [5282, 1], - [5281, 1], - [5280, 1], - [5279, 1], - [5278, 1], - [5277, 1], - [5276, 1], - [5275, 1], - [5274, 1], - [5273, 1], - [5272, 1], - [5271, 1], - [5270, 1], - [5269, 1], - [5268, 1], - [5267, 1], - [5266, 1], - [5265, 1], - [5264, 1], - [5263, 1], - [5262, 1], - [5261, 1], - [5260, 1], - [5259, 1], - [5258, 1], - [5257, 1], - [5256, 1], - [5255, 1], - [5254, 1], - [5253, 1], - [5252, 1], - [5251, 1], - [5250, 1], - [5249, 1], - [5248, 1], - [5247, 1], - [5246, 1], - [5245, 1], - [5244, 1], - [5243, 1], - [5242, 1], - [5241, 1], - [5240, 1], - [5239, 1], - [5238, 1], - [5237, 1], - [5236, 1], - [5235, 1], - [5234, 1], - [5233, 1], - [5232, 1], - [5231, 1], - [5230, 1], - [5229, 1], - [5228, 1], - [5227, 1], - [5226, 1], - [5225, 1], - [5224, 1], - [5223, 1], - [5222, 1], - [5221, 1], - [5220, 1], - [5281, 0, "t"], - [5282, 0, "h"], - [5283, 0, "e"], - [5284, 0, " "], - [5285, 0, "h"], - [5286, 0, "e"], - [5287, 0, "a"], - [5288, 0, "d"], - [5289, 0, " "], - [5290, 0, "o"], - [5291, 0, "f"], - [5292, 0, " "], - [5293, 0, "t"], - [5294, 0, "h"], - [5295, 0, "e"], - [5296, 0, " "], - [5297, 0, "l"], - [5298, 0, "i"], - [5299, 0, "s"], - [5300, 0, "t"], - [5301, 0, ","], - [5302, 0, " "], - [5303, 0, "b"], - [5304, 0, "e"], - [5305, 0, "c"], - [5306, 0, "a"], - [5307, 0, "u"], - [5308, 0, "s"], - [5309, 0, "e"], - [5310, 0, " "], - [5311, 0, "t"], - [5312, 0, "h"], - [5313, 0, "e"], - [5314, 0, " "], - [5315, 0, "v"], - [5316, 0, "a"], - [5317, 0, "r"], - [5318, 0, "i"], - [5319, 0, "a"], - [5320, 0, "b"], - [5321, 0, "l"], - [5322, 0, "e"], - [5323, 0, " "], - [5324, 0, "\\"], - [5325, 0, "v"], - [5326, 0, "e"], - [5327, 0, "r"], - [5328, 0, "b"], - [5329, 0, "|"], - [5330, 0, "l"], - [5331, 0, "i"], - [5332, 0, "s"], - [5333, 0, "t"], - [5334, 0, "|"], - [5335, 0, " "], - [5336, 0, "c"], - [5337, 0, "o"], - [5338, 0, "n"], - [5339, 0, "t"], - [5340, 0, "i"], - [5341, 0, "n"], - [5342, 0, "u"], - [5343, 0, "e"], - [5344, 0, "s"], - [5345, 0, " "], - [5346, 0, "t"], - [5347, 0, "o"], - [5348, 0, " "], - [5349, 0, "r"], - [5350, 0, "e"], - [5351, 0, "f"], - [5352, 0, "e"], - [5353, 0, "r"], - [5354, 0, " "], - [5355, 0, "t"], - [5356, 0, "o"], - [5357, 0, " "], - [5358, 0, "t"], - [5359, 0, "h"], - [5360, 0, "e"], - [5361, 0, " "], - [5362, 0, "h"], - [5363, 0, "e"], - [5364, 0, "a"], - [5365, 0, "d"], - [5366, 0, "."], - [5367, 0, "\n"], - [5368, 0, "\n"], - [5369, 0, "A"], - [5370, 0, " "], - [5371, 0, "f"], - [5372, 0, "e"], - [5373, 0, "w"], - [5374, 0, " "], - [5375, 0, "f"], - [5376, 0, "e"], - [5377, 0, "a"], - [5378, 0, "t"], - [5379, 0, "u"], - [5380, 0, "r"], - [5381, 0, "e"], - [5382, 0, "s"], - [5383, 0, " "], - [5384, 0, "o"], - [5385, 0, "f"], - [5386, 0, " "], - [5387, 0, "t"], - [5388, 0, "h"], - [5389, 0, "i"], - [5390, 0, "s"], - [5391, 0, " "], - [5392, 0, "l"], - [5393, 0, "a"], - [5394, 0, "n"], - [5395, 0, "g"], - [5396, 0, "u"], - [5397, 0, "a"], - [5398, 0, "g"], - [5399, 0, "e"], - [5400, 0, " "], - [5401, 0, "d"], - [5402, 0, "e"], - [5403, 0, "l"], - [5404, 0, "i"], - [5405, 0, "b"], - [5406, 0, "e"], - [5407, 0, "r"], - [5408, 0, "a"], - [5409, 0, "t"], - [5410, 0, "e"], - [5411, 0, "l"], - [5412, 0, "y"], - [5413, 0, " "], - [5414, 0, "d"], - [5415, 0, "i"], - [5416, 0, "f"], - [5417, 0, "f"], - [5418, 0, "e"], - [5419, 0, "r"], - [5420, 0, " "], - [5421, 0, "f"], - [5422, 0, "r"], - [5423, 0, "o"], - [5424, 0, "m"], - [5425, 0, " "], - [5426, 0, "m"], - [5427, 0, "o"], - [5428, 0, "s"], - [5429, 0, "t"], - [5430, 0, " "], - [5431, 0, "m"], - [5432, 0, "a"], - [5433, 0, "i"], - [5434, 0, "n"], - [5435, 0, "s"], - [5436, 0, "t"], - [5437, 0, "e"], - [5437, 1], - [5437, 0, "r"], - [5438, 0, "e"], - [5439, 0, "a"], - [5440, 0, "m"], - [5441, 0, " "], - [5442, 0, "p"], - [5443, 0, "r"], - [5444, 0, "o"], - [5445, 0, "g"], - [5446, 0, "r"], - [5447, 0, "a"], - [5448, 0, "m"], - [5449, 0, "m"], - [5450, 0, "i"], - [5451, 0, "n"], - [5452, 0, "g"], - [5453, 0, " "], - [5454, 0, "l"], - [5455, 0, "a"], - [5456, 0, "n"], - [5457, 0, "g"], - [5458, 0, "u"], - [5459, 0, "a"], - [5460, 0, "g"], - [5461, 0, "e"], - [5462, 0, "s"], - [5463, 0, ":"], - [5464, 0, " "], - [5465, 0, "t"], - [5466, 0, "h"], - [5466, 1], - [5465, 1], - [5465, 0, "k"], - [5466, 0, "e"], - [5467, 0, "y"], - [5468, 0, "s"], - [5469, 0, " "], - [5470, 0, "i"], - [5471, 0, "n"], - [5472, 0, " "], - [5473, 0, "m"], - [5474, 0, "a"], - [5475, 0, "p"], - [5476, 0, "s"], - [5477, 0, " "], - [5478, 0, "a"], - [5479, 0, "r"], - [5480, 0, "e"], - [5481, 0, " "], - [5482, 0, "i"], - [5483, 0, "m"], - [5484, 0, "p"], - [5485, 0, "l"], - [5486, 0, "i"], - [5487, 0, "c"], - [5488, 0, "i"], - [5489, 0, "t"], - [5490, 0, "l"], - [5491, 0, "y"], - [5492, 0, " "], - [5493, 0, "c"], - [5494, 0, "r"], - [5495, 0, "e"], - [5496, 0, "a"], - [5497, 0, "t"], - [5498, 0, "e"], - [5499, 0, "d"], - [5500, 0, " "], - [5501, 0, "w"], - [5502, 0, "h"], - [5503, 0, "e"], - [5504, 0, "n"], - [5505, 0, " "], - [5506, 0, "t"], - [5507, 0, "h"], - [5508, 0, "e"], - [5509, 0, "y"], - [5510, 0, " "], - [5511, 0, "a"], - [5512, 0, "r"], - [5513, 0, "e"], - [5514, 0, " "], - [5515, 0, "f"], - [5516, 0, "i"], - [5517, 0, "r"], - [5518, 0, "s"], - [5519, 0, "t"], - [5520, 0, " "], - [5521, 0, "a"], - [5522, 0, "c"], - [5523, 0, "c"], - [5524, 0, "e"], - [5525, 0, "s"], - [5526, 0, "s"], - [5527, 0, "e"], - [5528, 0, "d"], - [5529, 0, ";"], - [5530, 0, " "], - [5531, 0, "l"], - [5532, 0, "i"], - [5533, 0, "s"], - [5534, 0, "t"], - [5535, 0, "s"], - [5536, 0, " "], - [5537, 0, "c"], - [5538, 0, "a"], - [5539, 0, "n"], - [5540, 0, " "], - [5541, 0, "o"], - [5542, 0, "n"], - [5543, 0, "l"], - [5544, 0, "y"], - [5545, 0, " "], - [5546, 0, "n"], - [5546, 1], - [5546, 0, "b"], - [5547, 0, "e"], - [5548, 0, " "], - [5549, 0, "n"], - [5550, 0, "a"], - [5551, 0, "v"], - [5552, 0, "i"], - [5553, 0, "g"], - [5554, 0, "a"], - [5555, 0, "t"], - [5556, 0, "e"], - [5557, 0, "d"], - [5558, 0, " "], - [5559, 0, "b"], - [5560, 0, "y"], - [5561, 0, " "], - [5562, 0, "i"], - [5563, 0, "t"], - [5564, 0, "e"], - [5565, 0, "r"], - [5566, 0, "a"], - [5567, 0, "t"], - [5568, 0, "i"], - [5569, 0, "o"], - [5570, 0, "n"], - [5571, 0, " "], - [5572, 0, "("], - [5573, 0, "\\"], - [5574, 0, "t"], - [5575, 0, "e"], - [5576, 0, "x"], - [5577, 0, "t"], - [5578, 0, "s"], - [5579, 0, "f"], - [5580, 0, "{"], - [5581, 0, "n"], - [5582, 0, "e"], - [5583, 0, "x"], - [5584, 0, "t"], - [5585, 0, "}"], - [5586, 0, ")"], - [5587, 0, " "], - [5588, 0, "b"], - [5589, 0, "u"], - [5590, 0, "t"], - [5591, 0, " "], - [5592, 0, "n"], - [5593, 0, "o"], - [5594, 0, "t"], - [5595, 0, " "], - [5596, 0, "b"], - [5597, 0, "y"], - [5598, 0, " "], - [5599, 0, "i"], - [5600, 0, "n"], - [5601, 0, "d"], - [5602, 0, "e"], - [5603, 0, "x"], - [5604, 0, ";"], - [5605, 0, " "], - [5606, 0, "a"], - [5607, 0, "n"], - [5608, 0, "d"], - [5609, 0, " "], - [5610, 0, "t"], - [5611, 0, "h"], - [5612, 0, "e"], - [5613, 0, " "], - [5614, 0, "l"], - [5615, 0, "a"], - [5616, 0, "n"], - [5617, 0, "g"], - [5618, 0, "u"], - [5619, 0, "a"], - [5620, 0, "g"], - [5621, 0, "e"], - [5622, 0, " "], - [5623, 0, "h"], - [5624, 0, "a"], - [5625, 0, "s"], - [5626, 0, " "], - [5627, 0, "l"], - [5628, 0, "i"], - [5629, 0, "t"], - [5630, 0, "e"], - [5631, 0, "r"], - [5632, 0, "a"], - [5633, 0, "l"], - [5634, 0, "s"], - [5635, 0, " "], - [5636, 0, "f"], - [5637, 0, "o"], - [5638, 0, "r"], - [5639, 0, " "], - [5640, 0, "e"], - [5641, 0, "m"], - [5642, 0, "p"], - [5643, 0, "t"], - [5644, 0, "y"], - [5645, 0, " "], - [5646, 0, "m"], - [5647, 0, "a"], - [5648, 0, "p"], - [5649, 0, "s"], - [5650, 0, " "], - [5651, 0, "a"], - [5652, 0, "n"], - [5653, 0, "d"], - [5654, 0, " "], - [5655, 0, "l"], - [5656, 0, "i"], - [5657, 0, "s"], - [5658, 0, "t"], - [5659, 0, "s"], - [5660, 0, ","], - [5661, 0, " "], - [5662, 0, "b"], - [5663, 0, "u"], - [5664, 0, "t"], - [5665, 0, " "], - [5666, 0, "n"], - [5667, 0, "o"], - [5668, 0, "t"], - [5669, 0, " "], - [5670, 0, "f"], - [5671, 0, "o"], - [5672, 0, "r"], - [5673, 0, " "], - [5674, 0, "m"], - [5675, 0, "a"], - [5676, 0, "p"], - [5677, 0, "s"], - [5678, 0, " "], - [5678, 1], - [5678, 0, " "], - [5679, 0, "a"], - [5680, 0, "n"], - [5681, 0, "d"], - [5682, 0, " "], - [5683, 0, "l"], - [5684, 0, "i"], - [5685, 0, "s"], - [5686, 0, "t"], - [5687, 0, "s"], - [5688, 0, " "], - [5689, 0, "c"], - [5689, 1], - [5688, 1], - [5687, 1], - [5686, 1], - [5685, 1], - [5684, 1], - [5683, 1], - [5682, 1], - [5681, 1], - [5680, 1], - [5679, 1], - [5678, 1], - [5677, 1], - [5676, 1], - [5675, 1], - [5674, 1], - [5673, 1], - [5672, 1], - [5671, 1], - [5670, 1], - [5669, 1], - [5668, 1], - [5667, 1], - [5666, 1], - [5665, 1], - [5664, 1], - [5663, 1], - [5662, 1], - [5661, 1], - [5660, 1], - [5646, 0, "b"], - [5646, 1], - [5660, 0, ","], - [5661, 0, " "], - [5662, 0, "b"], - [5663, 0, "u"], - [5664, 0, "t"], - [5665, 0, " "], - [5666, 0, "n"], - [5667, 0, "o"], - [5668, 0, "t"], - [5669, 0, " "], - [5670, 0, "f"], - [5671, 0, "o"], - [5672, 0, "r"], - [5673, 0, " "], - [5674, 0, "n"], - [5675, 0, "o"], - [5676, 0, "n"], - [5677, 0, "-"], - [5678, 0, "e"], - [5679, 0, "m"], - [5680, 0, "p"], - [5681, 0, "t"], - [5682, 0, "y"], - [5683, 0, " "], - [5684, 0, "c"], - [5685, 0, "o"], - [5686, 0, "l"], - [5687, 0, "l"], - [5688, 0, "e"], - [5689, 0, "c"], - [5690, 0, "t"], - [5691, 0, "i"], - [5692, 0, "o"], - [5693, 0, "n"], - [5694, 0, "s"], - [5695, 0, "."], - [5696, 0, " "], - [5697, 0, "A"], - [5698, 0, "s"], - [5699, 0, " "], - [5700, 0, "w"], - [5701, 0, "e"], - [5702, 0, " "], - [5703, 0, "s"], - [5704, 0, "h"], - [5705, 0, "a"], - [5706, 0, "l"], - [5707, 0, "l"], - [5708, 0, " "], - [5709, 0, "s"], - [5710, 0, "e"], - [5711, 0, "e"], - [5712, 0, " "], - [5713, 0, "l"], - [5714, 0, "a"], - [5715, 0, "t"], - [5716, 0, "e"], - [5717, 0, "r"], - [5718, 0, ","], - [5719, 0, " "], - [5720, 0, "t"], - [5721, 0, "h"], - [5722, 0, "e"], - [5723, 0, "s"], - [5724, 0, "e"], - [5725, 0, " "], - [5726, 0, "f"], - [5727, 0, "e"], - [5728, 0, "a"], - [5729, 0, "t"], - [5730, 0, "u"], - [5731, 0, "r"], - [5732, 0, "e"], - [5733, 0, "s"], - [5734, 0, " "], - [5735, 0, "a"], - [5736, 0, "r"], - [5737, 0, "e"], - [5738, 0, " "], - [5739, 0, "h"], - [5740, 0, "e"], - [5741, 0, "l"], - [5742, 0, "p"], - [5743, 0, "f"], - [5744, 0, "u"], - [5745, 0, "l"], - [5746, 0, " "], - [5747, 0, "f"], - [5748, 0, "o"], - [5749, 0, "r"], - [5750, 0, " "], - [5750, 1], - [5749, 1], - [5748, 1], - [5747, 1], - [5746, 1], - [5745, 1], - [5744, 1], - [5743, 1], - [5742, 1], - [5741, 1], - [5740, 1], - [5739, 1], - [5738, 1], - [5737, 1], - [5736, 1], - [5736, 0, "r"], - [5737, 0, "e"], - [5738, 0, " "], - [5739, 0, "h"], - [5740, 0, "e"], - [5741, 0, "l"], - [5742, 0, "p"], - [5743, 0, "f"], - [5744, 0, "u"], - [5745, 0, "l"], - [5746, 0, " "], - [5747, 0, "f"], - [5748, 0, "o"], - [5749, 0, "r"], - [5750, 0, " "], - [5751, 0, "d"], - [5752, 0, "e"], - [5752, 1], - [5751, 1], - [5751, 0, "a"], - [5752, 0, "c"], - [5753, 0, "h"], - [5754, 0, "i"], - [5755, 0, "e"], - [5756, 0, "v"], - [5757, 0, "i"], - [5758, 0, "n"], - [5759, 0, "g"], - [5760, 0, " "], - [5761, 0, "d"], - [5762, 0, "e"], - [5763, 0, "s"], - [5764, 0, "i"], - [5765, 0, "r"], - [5766, 0, "a"], - [5767, 0, "b"], - [5768, 0, "l"], - [5769, 0, "e"], - [5770, 0, " "], - [5771, 0, "s"], - [5772, 0, "e"], - [5773, 0, "m"], - [5774, 0, "a"], - [5775, 0, "n"], - [5776, 0, "t"], - [5777, 0, "i"], - [5778, 0, "c"], - [5779, 0, "s"], - [5780, 0, " "], - [5781, 0, "i"], - [5782, 0, "n"], - [5783, 0, " "], - [5784, 0, "t"], - [5785, 0, "h"], - [5786, 0, "e"], - [5787, 0, " "], - [5788, 0, "p"], - [5789, 0, "r"], - [5790, 0, "e"], - [5791, 0, "s"], - [5792, 0, "e"], - [5793, 0, "n"], - [5794, 0, "c"], - [5795, 0, "e"], - [5796, 0, " "], - [5797, 0, "o"], - [5798, 0, "f"], - [5799, 0, " "], - [5800, 0, "c"], - [5801, 0, "o"], - [5802, 0, "n"], - [5803, 0, "c"], - [5804, 0, "u"], - [5805, 0, "r"], - [5806, 0, "r"], - [5807, 0, "e"], - [5808, 0, "n"], - [5809, 0, "t"], - [5810, 0, " "], - [5811, 0, "m"], - [5812, 0, "o"], - [5813, 0, "d"], - [5814, 0, "i"], - [5815, 0, "f"], - [5816, 0, "i"], - [5817, 0, "c"], - [5818, 0, "a"], - [5819, 0, "t"], - [5820, 0, "i"], - [5821, 0, "o"], - [5822, 0, "n"], - [5823, 0, "s"], - [5824, 0, "."], - [5639, 0, " "], - [5640, 0, "c"], - [5641, 0, "r"], - [5642, 0, "e"], - [5643, 0, "a"], - [5644, 0, "t"], - [5645, 0, "i"], - [5646, 0, "n"], - [5647, 0, "g"], - [5834, 0, "\n"], - [5835, 0, "\n"], - [5836, 0, "\\"], - [5837, 0, "s"], - [5838, 0, "u"], - [5839, 0, "b"], - [5840, 0, "s"], - [5841, 0, "u"], - [5842, 0, "b"], - [5843, 0, "s"], - [5844, 0, "e"], - [5845, 0, "c"], - [5846, 0, "t"], - [5847, 0, "i"], - [5848, 0, "o"], - [5849, 0, "n"], - [5850, 0, "{"], - [5851, 0, "O"], - [5852, 0, "p"], - [5853, 0, "e"], - [5854, 0, "r"], - [5855, 0, "a"], - [5856, 0, "t"], - [5857, 0, "i"], - [5858, 0, "o"], - [5859, 0, "n"], - [5860, 0, "a"], - [5861, 0, "l"], - [5862, 0, " "], - [5863, 0, "s"], - [5864, 0, "e"], - [5865, 0, "m"], - [5866, 0, "a"], - [5867, 0, "n"], - [5868, 0, "t"], - [5869, 0, "i"], - [5870, 0, "c"], - [5871, 0, "s"], - [5872, 0, " "], - [5873, 0, "o"], - [5874, 0, "f"], - [5875, 0, " "], - [5876, 0, "c"], - [5877, 0, "o"], - [5878, 0, "m"], - [5879, 0, "m"], - [5880, 0, "a"], - [5881, 0, "n"], - [5882, 0, "d"], - [5883, 0, " "], - [5884, 0, "l"], - [5885, 0, "a"], - [5886, 0, "n"], - [5887, 0, "g"], - [5888, 0, "u"], - [5889, 0, "a"], - [5890, 0, "g"], - [5891, 0, "e"], - [5892, 0, "}"], - [2771, 1], - [2770, 1], - [2769, 1], - [2768, 1], - [2768, 0, "i"], - [2769, 0, "t"], - [2770, 0, "e"], - [2771, 0, "r"], - [2290, 0, "\n"], - [2291, 0, "&"], - [2292, 0, " "], - [2293, 0, "$"], - [2294, 0, "|"], - [2295, 0, "$"], - [2296, 0, " "], - [2297, 0, "&"], - [2298, 0, " "], - [2299, 0, "E"], - [2300, 0, "X"], - [2301, 0, "P"], - [2302, 0, "R"], - [2303, 0, "."], - [2304, 0, "\\"], - [2305, 0, "t"], - [2306, 0, "e"], - [2307, 0, "x"], - [2308, 0, "t"], - [2309, 0, "s"], - [2310, 0, "f"], - [2311, 0, "{"], - [2312, 0, "i"], - [2313, 0, "t"], - [2314, 0, "e"], - [2315, 0, "r"], - [2316, 0, "}"], - [2317, 0, " "], - [2318, 0, "\\"], - [2319, 0, "\\"], - [3986, 0, "\\"], - [3987, 0, "t"], - [3988, 0, "e"], - [3989, 0, "x"], - [3990, 0, "t"], - [3991, 0, "s"], - [3992, 0, "f"], - [3993, 0, "{"], - [3994, 0, "i"], - [3995, 0, "t"], - [3996, 0, "e"], - [3997, 0, "r"], - [3998, 0, "}"], - [3999, 0, " "], - [4000, 0, "s"], - [4001, 0, "t"], - [4002, 0, "a"], - [4003, 0, "r"], - [4004, 0, "t"], - [4005, 0, "s"], - [4006, 0, " "], - [4007, 0, "i"], - [4008, 0, "t"], - [4009, 0, "e"], - [4010, 0, "r"], - [4011, 0, "a"], - [4012, 0, "t"], - [4013, 0, "i"], - [4014, 0, "n"], - [4015, 0, "g"], - [4016, 0, " "], - [4017, 0, "o"], - [4018, 0, "v"], - [4019, 0, "e"], - [4020, 0, "r"], - [4021, 0, " "], - [4022, 0, "a"], - [4023, 0, "n"], - [4024, 0, " "], - [4025, 0, "o"], - [4026, 0, "r"], - [4027, 0, "d"], - [4028, 0, "e"], - [4029, 0, "r"], - [4030, 0, "e"], - [4031, 0, "d"], - [4032, 0, " "], - [4033, 0, "l"], - [4034, 0, "i"], - [4035, 0, "s"], - [4036, 0, "t"], - [4037, 0, ","], - [4038, 0, " "], - [5014, 1], - [5013, 1], - [5012, 1], - [5011, 1], - [5011, 0, "i"], - [5012, 0, "t"], - [5013, 0, "e"], - [5014, 0, "r"], - [5977, 0, "\n"], - [5978, 0, "\n"], - [5978, 0, "\\"], - [5979, 0, "b"], - [5980, 0, "e"], - [5981, 0, "g"], - [5982, 0, "i"], - [5983, 0, "n"], - [5984, 0, "{"], - [5985, 0, "f"], - [5986, 0, "i"], - [5987, 0, "g"], - [5988, 0, "u"], - [5989, 0, "r"], - [5990, 0, "e"], - [5991, 0, "*"], - [5992, 0, "}"], - [5993, 0, "\n"], - [5994, 0, "\\"], - [5995, 0, "e"], - [5996, 0, "n"], - [5997, 0, "d"], - [5998, 0, "{"], - [5999, 0, "f"], - [6000, 0, "i"], - [6001, 0, "g"], - [6002, 0, "u"], - [6003, 0, "r"], - [6004, 0, "e"], - [6005, 0, "*"], - [6006, 0, "}"], - [5993, 0, "\n"], - [5994, 0, "\\"], - [5995, 0, "c"], - [5996, 0, "e"], - [5997, 0, "n"], - [5998, 0, "t"], - [5999, 0, "e"], - [6000, 0, "r"], - [6001, 0, "i"], - [6002, 0, "n"], - [6003, 0, "g"], - [6004, 0, "\n"], - [6005, 0, "\\"], - [6006, 0, "c"], - [6007, 0, "a"], - [6008, 0, "p"], - [6009, 0, "t"], - [6010, 0, "i"], - [6011, 0, "o"], - [6012, 0, "n"], - [6013, 0, "{"], - [6014, 0, "R"], - [6015, 0, "u"], - [6016, 0, "l"], - [6017, 0, "e"], - [6018, 0, "s"], - [6019, 0, " "], - [6020, 0, "f"], - [6021, 0, "o"], - [6022, 0, "r"], - [6023, 0, " "], - [6024, 0, "e"], - [6025, 0, "v"], - [6026, 0, "a"], - [6027, 0, "l"], - [6028, 0, "u"], - [6029, 0, "a"], - [6030, 0, "t"], - [6031, 0, "i"], - [6032, 0, "n"], - [6033, 0, "g"], - [6034, 0, " "], - [6035, 0, "a"], - [6036, 0, "n"], - [6037, 0, " "], - [6038, 0, "e"], - [6039, 0, "x"], - [6040, 0, "p"], - [6041, 0, "r"], - [6042, 0, "e"], - [6043, 0, "s"], - [6044, 0, "s"], - [6045, 0, "i"], - [6046, 0, "o"], - [6047, 0, "n"], - [6048, 0, " "], - [6049, 0, "t"], - [6050, 0, "o"], - [6051, 0, " "], - [6052, 0, "o"], - [6053, 0, "b"], - [6054, 0, "t"], - [6055, 0, "a"], - [6056, 0, "i"], - [6057, 0, "n"], - [6058, 0, " "], - [6059, 0, "a"], - [6060, 0, " "], - [6061, 0, "c"], - [6062, 0, "u"], - [6063, 0, "r"], - [6064, 0, "s"], - [6065, 0, "o"], - [6066, 0, "r"], - [6067, 0, "}"], - [6068, 0, "\\"], - [6069, 0, "l"], - [6070, 0, "a"], - [6071, 0, "b"], - [6072, 0, "e"], - [6073, 0, "l"], - [6074, 0, "{"], - [6075, 0, "f"], - [6076, 0, "i"], - [6077, 0, "g"], - [6078, 0, ":"], - [6079, 0, "c"], - [6079, 1], - [6079, 0, "e"], - [6080, 0, "x"], - [6081, 0, "p"], - [6082, 0, "r"], - [6083, 0, "-"], - [6084, 0, "r"], - [6085, 0, "u"], - [6086, 0, "l"], - [6087, 0, "e"], - [6088, 0, "s"], - [6089, 0, "}"], - [6004, 0, "\n"], - [6005, 0, "\\"], - [6006, 0, "A"], - [6007, 0, "x"], - [6008, 0, "i"], - [6009, 0, "o"], - [6010, 0, "m"], - [6011, 0, "C"], - [6012, 0, "{"], - [6013, 0, "$"], - [6014, 0, "\\"], - [6015, 0, "a"], - [6015, 1], - [6015, 0, "m"], - [6016, 0, "a"], - [6017, 0, "t"], - [6018, 0, "h"], - [6019, 0, "i"], - [6020, 0, "t"], - [6021, 0, "{"], - [6022, 0, "c"], - [6023, 0, "m"], - [6024, 0, "d"], - [6025, 0, "}"], - [6026, 0, "_"], - [6027, 0, "1"], - [6028, 0, " "], - [6029, 0, "\\"], - [6030, 0, "m"], - [6031, 0, "a"], - [6032, 0, "t"], - [6033, 0, "h"], - [6034, 0, "b"], - [6035, 0, "i"], - [6036, 0, "n"], - [6037, 0, "{"], - [6038, 0, ":"], - [6039, 0, "}"], - [6040, 0, " "], - [6041, 0, "\\"], - [6042, 0, "m"], - [6043, 0, "a"], - [6044, 0, "t"], - [6045, 0, "h"], - [6046, 0, "r"], - [6047, 0, "m"], - [6048, 0, "{"], - [6049, 0, "C"], - [6050, 0, "M"], - [6051, 0, "D"], - [6052, 0, "}"], - [6053, 0, "$"], - [6054, 0, "}"], - [6055, 0, "\n"], - [6056, 0, "\\"], - [6057, 0, "A"], - [6058, 0, "x"], - [6059, 0, "i"], - [6060, 0, "o"], - [6061, 0, "m"], - [6062, 0, "C"], - [6063, 0, "{"], - [6064, 0, "$"], - [6065, 0, "A"], - [6066, 0, "_"], - [6067, 0, "p"], - [6068, 0, ","], - [6069, 0, "\\"], - [6070, 0, ","], - [6071, 0, " "], - [6072, 0, "\\"], - [6073, 0, "m"], - [6074, 0, "a"], - [6075, 0, "t"], - [6076, 0, "h"], - [6077, 0, "i"], - [6078, 0, "t"], - [6079, 0, "{"], - [6080, 0, "c"], - [6081, 0, "m"], - [6082, 0, "d"], - [6083, 0, "}"], - [6084, 0, "_"], - [6085, 0, "1"], - [6072, 0, "<"], - [6072, 1], - [6072, 0, "\\"], - [6073, 0, "l"], - [6074, 0, "a"], - [6075, 0, "n"], - [6076, 0, "g"], - [6077, 0, "l"], - [6078, 0, "e"], - [6093, 0, " "], - [6094, 0, "\\"], - [6095, 0, "m"], - [6096, 0, "a"], - [6097, 0, "t"], - [6098, 0, "h"], - [6099, 0, "b"], - [6100, 0, "i"], - [6101, 0, "n"], - [6102, 0, "{"], - [6103, 0, ";"], - [6104, 0, "}"], - [6105, 0, " "], - [6106, 0, "\\"], - [6107, 0, "m"], - [6108, 0, "a"], - [6109, 0, "t"], - [6110, 0, "h"], - [6111, 0, "i"], - [6112, 0, "t"], - [6079, 0, " "], - [6114, 0, "{"], - [6115, 0, "c"], - [6116, 0, "m"], - [6117, 0, "d"], - [6118, 0, "}"], - [6119, 0, "_"], - [6120, 0, "2"], - [6121, 0, " "], - [6122, 0, "\\"], - [6123, 0, "m"], - [6124, 0, "a"], - [6125, 0, "t"], - [6126, 0, "h"], - [6127, 0, "b"], - [6128, 0, "i"], - [6129, 0, "n"], - [6130, 0, "{"], - [6131, 0, ";"], - [6132, 0, "}"], - [6133, 0, " "], - [6134, 0, "\\"], - [6135, 0, "d"], - [6136, 0, "o"], - [6137, 0, "t"], - [6138, 0, "s"], - [6139, 0, " "], - [6140, 0, "\\"], - [6141, 0, "r"], - [6142, 0, "a"], - [6143, 0, "n"], - [6144, 0, "g"], - [6145, 0, "l"], - [6146, 0, "e"], - [6062, 1], - [6061, 1], - [6060, 1], - [6059, 1], - [6058, 1], - [6057, 1], - [6057, 0, "B"], - [6058, 0, "i"], - [6059, 0, "n"], - [6060, 0, "a"], - [6061, 0, "r"], - [6062, 0, "y"], - [6063, 0, "I"], - [6064, 0, "n"], - [6065, 0, "f"], - [6066, 0, "C"], - [6055, 0, "\n"], - [6056, 0, "\\"], - [6057, 0, "L"], - [6058, 0, "e"], - [6059, 0, "f"], - [6060, 0, "t"], - [6061, 0, "L"], - [6062, 0, "a"], - [6063, 0, "b"], - [6064, 0, "e"], - [6065, 0, "l"], - [6066, 0, "{"], - [6067, 0, "\\"], - [6068, 0, "t"], - [6069, 0, "e"], - [6070, 0, "x"], - [6071, 0, "t"], - [6072, 0, "s"], - [6073, 0, "c"], - [6074, 0, "{"], - [6075, 0, "E"], - [6076, 0, "x"], - [6077, 0, "e"], - [6078, 0, "c"], - [6079, 0, "}"], - [6080, 0, "}"], - [6055, 0, "\n"], - [6056, 0, "\\"], - [6057, 0, "E"], - [6057, 1], - [6057, 0, "A"], - [6058, 0, "x"], - [6059, 0, "i"], - [6060, 0, "o"], - [6061, 0, "m"], - [6062, 0, "C"], - [6063, 0, "{"], - [6064, 0, "$"], - [6065, 0, "A"], - [6066, 0, "_"], - [6067, 0, "p"], - [6068, 0, ","], - [6069, 0, "\\"], - [6070, 0, ","], - [6071, 0, " "], - [6072, 0, "\\"], - [6073, 0, "m"], - [6074, 0, "a"], - [6075, 0, "t"], - [6076, 0, "h"], - [6077, 0, "i"], - [6078, 0, "t"], - [6079, 0, "{"], - [6080, 0, "c"], - [6081, 0, "m"], - [6082, 0, "d"], - [6083, 0, "}"], - [6084, 0, "_"], - [6085, 0, "1"], - [6086, 0, " "], - [6087, 0, "\\"], - [6088, 0, "e"], - [6089, 0, "v"], - [6090, 0, "a"], - [6091, 0, "l"], - [6092, 0, "t"], - [6093, 0, "o"], - [6094, 0, " "], - [6095, 0, "A"], - [6096, 0, "_"], - [6097, 0, "p"], - [6098, 0, "'"], - [6099, 0, "$"], - [6100, 0, "}"], - [6223, 0, "\n"], - [6224, 0, " "], - [6225, 0, " "], - [6226, 0, " "], - [6227, 0, " "], - [6228, 0, "\\"], - [6229, 0, "e"], - [6230, 0, "v"], - [6231, 0, "a"], - [6232, 0, "l"], - [6233, 0, "t"], - [6234, 0, "o"], - [6235, 0, " "], - [6236, 0, "A"], - [6237, 0, "_"], - [6238, 0, "p"], - [6239, 0, "'"], - [6240, 0, ","], - [6241, 0, " "], - [6241, 1], - [6241, 0, "\\"], - [6242, 0, ","], - [6243, 0, " "], - [6244, 0, "\\"], - [6245, 0, "l"], - [6246, 0, "a"], - [6247, 0, "n"], - [6248, 0, "g"], - [6249, 0, "l"], - [6250, 0, "e"], - [6251, 0, " "], - [6252, 0, "\\"], - [6253, 0, "m"], - [6254, 0, "a"], - [6255, 0, "t"], - [6256, 0, "h"], - [6257, 0, "i"], - [6258, 0, "t"], - [6259, 0, "{"], - [6260, 0, "c"], - [6261, 0, "m"], - [6262, 0, "d"], - [6263, 0, "}"], - [6264, 0, "_"], - [6265, 0, "2"], - [6266, 0, " "], - [6267, 0, "\\"], - [6268, 0, "m"], - [6269, 0, "a"], - [6270, 0, "t"], - [6271, 0, "h"], - [6272, 0, "b"], - [6273, 0, "i"], - [6274, 0, "n"], - [6275, 0, "{"], - [6276, 0, ";"], - [6277, 0, "}"], - [6278, 0, " "], - [6279, 0, "\\"], - [6280, 0, "d"], - [6281, 0, "o"], - [6282, 0, "t"], - [6283, 0, "s"], - [6284, 0, " "], - [6285, 0, "\\"], - [6286, 0, "r"], - [6287, 0, "a"], - [6288, 0, "n"], - [6289, 0, "g"], - [6290, 0, "l"], - [6291, 0, "e"], - [6292, 0, "$"], - [6293, 0, "}"], - [6294, 0, "\n"], - [6295, 0, "\\"], - [6296, 0, "D"], - [6297, 0, "i"], - [6298, 0, "s"], - [6299, 0, "p"], - [6300, 0, "l"], - [6301, 0, "a"], - [6302, 0, "y"], - [6303, 0, "P"], - [6304, 0, "r"], - [6305, 0, "o"], - [6306, 0, "o"], - [6307, 0, "f"], - [6308, 0, "\\"], - [6309, 0, "h"], - [6310, 0, "f"], - [6311, 0, "i"], - [6312, 0, "l"], - [6313, 0, "l"], - [6314, 0, "\n"], - [6315, 0, "%"], - [6316, 0, "\n"], - [6317, 0, "\\"], - [6318, 0, "A"], - [6319, 0, "x"], - [6320, 0, "i"], - [6321, 0, "o"], - [6322, 0, "m"], - [6323, 0, "C"], - [6324, 0, "{"], - [6325, 0, "}"], - [6326, 0, "\n"], - [6327, 0, "\\"], - [6328, 0, "L"], - [6329, 0, "e"], - [6330, 0, "f"], - [6331, 0, "t"], - [6332, 0, "L"], - [6333, 0, "a"], - [6334, 0, "b"], - [6335, 0, "e"], - [6336, 0, "l"], - [6337, 0, "{"], - [6338, 0, "\\"], - [6339, 0, "t"], - [6340, 0, "e"], - [6341, 0, "x"], - [6342, 0, "t"], - [6343, 0, "s"], - [6344, 0, "c"], - [6345, 0, "{"], - [6346, 0, "D"], - [6347, 0, "o"], - [6348, 0, "c"], - [6349, 0, "}"], - [6350, 0, "}"], - [6351, 0, "\n"], - [6352, 0, "\\"], - [6353, 0, "U"], - [6354, 0, "n"], - [6355, 0, "a"], - [6356, 0, "r"], - [6357, 0, "y"], - [6358, 0, "I"], - [6359, 0, "n"], - [6360, 0, "f"], - [6361, 0, "C"], - [6362, 0, "{"], - [6363, 0, "$"], - [6364, 0, "A"], - [6365, 0, "_"], - [6366, 0, "p"], - [6367, 0, ","], - [6368, 0, "\\"], - [6369, 0, ","], - [6370, 0, " "], - [6371, 0, "\\"], - [6372, 0, "m"], - [6373, 0, "a"], - [6374, 0, "t"], - [6375, 0, "h"], - [6376, 0, "s"], - [6377, 0, "f"], - [6378, 0, "{"], - [6379, 0, "d"], - [6380, 0, "o"], - [6381, 0, "c"], - [6382, 0, "}"], - [6383, 0, " "], - [6384, 0, "\\"], - [6385, 0, "e"], - [6386, 0, "v"], - [6387, 0, "a"], - [6388, 0, "l"], - [6389, 0, "t"], - [6390, 0, "o"], - [6391, 0, " "], - [6392, 0, "\\"], - [6393, 0, "m"], - [6394, 0, "a"], - [6395, 0, "t"], - [6396, 0, "h"], - [6397, 0, "s"], - [6398, 0, "f"], - [6399, 0, "{"], - [6400, 0, "c"], - [6401, 0, "u"], - [6402, 0, "r"], - [6403, 0, "s"], - [6404, 0, "o"], - [6405, 0, "r"], - [6406, 0, "}"], - [6407, 0, "("], - [6408, 0, "\\"], - [6409, 0, "l"], - [6410, 0, "a"], - [6411, 0, "n"], - [6412, 0, "g"], - [6413, 0, "l"], - [6414, 0, "e"], - [6415, 0, "\\"], - [6416, 0, "r"], - [6417, 0, "a"], - [6418, 0, "n"], - [6419, 0, "g"], - [6420, 0, "l"], - [6421, 0, "e"], - [6422, 0, ","], - [6423, 0, " "], - [6424, 0, "\\"], - [6425, 0, "m"], - [6426, 0, "a"], - [6427, 0, "t"], - [6428, 0, "h"], - [6429, 0, "s"], - [6430, 0, "f"], - [6431, 0, "{"], - [6432, 0, "d"], - [6433, 0, "o"], - [6434, 0, "c"], - [6435, 0, "}"], - [6436, 0, ")"], - [6437, 0, "$"], - [6438, 0, "}"], - [6439, 0, "\n"], - [6440, 0, "D"], - [6441, 0, "i"], - [6441, 1], - [6440, 1], - [6440, 0, "\\"], - [6441, 0, "D"], - [6442, 0, "i"], - [6443, 0, "s"], - [6444, 0, "p"], - [6445, 0, "l"], - [6446, 0, "a"], - [6447, 0, "y"], - [6448, 0, "P"], - [6449, 0, "r"], - [6450, 0, "o"], - [6451, 0, "o"], - [6452, 0, "f"], - [6453, 0, "\\"], - [6454, 0, "p"], - [6455, 0, "r"], - [6456, 0, "o"], - [6457, 0, "o"], - [6458, 0, "f"], - [6459, 0, "S"], - [6460, 0, "k"], - [6461, 0, "i"], - [6462, 0, "p"], - [6463, 0, "A"], - [6464, 0, "m"], - [6465, 0, "o"], - [6466, 0, "u"], - [6467, 0, "n"], - [6468, 0, "t"], - [6469, 0, "\n"], - [6470, 0, "\n"], - [6471, 0, "\\"], - [6472, 0, "A"], - [6473, 0, "x"], - [6474, 0, "i"], - [6475, 0, "o"], - [6476, 0, "m"], - [6477, 0, "C"], - [6478, 0, "{"], - [6479, 0, "$"], - [6480, 0, "\\"], - [6480, 1], - [6480, 0, "A"], - [6481, 0, "_"], - [6482, 0, "p"], - [6483, 0, ","], - [6484, 0, "\\"], - [6485, 0, ","], - [6486, 0, " "], - [6487, 0, "\\"], - [6488, 0, "m"], - [6489, 0, "a"], - [6490, 0, "t"], - [6491, 0, "h"], - [6492, 0, "i"], - [6493, 0, "t"], - [6494, 0, "{"], - [6495, 0, "e"], - [6496, 0, "x"], - [6497, 0, "p"], - [6498, 0, "r"], - [6499, 0, "}"], - [6500, 0, " "], - [6501, 0, "\\"], - [6502, 0, "e"], - [6503, 0, "v"], - [6504, 0, "a"], - [6505, 0, "l"], - [6506, 0, "t"], - [6507, 0, "o"], - [6508, 0, " "], - [6509, 0, "\\"], - [6510, 0, "m"], - [6511, 0, "a"], - [6512, 0, "t"], - [6513, 0, "h"], - [6514, 0, "i"], - [6515, 0, "t"], - [6516, 0, "{"], - [6517, 0, "c"], - [6518, 0, "u"], - [6519, 0, "r"], - [6520, 0, "}"], - [6521, 0, "$"], - [6522, 0, "}"], - [6523, 0, "\n"], - [6524, 0, "\\"], - [6525, 0, "L"], - [6526, 0, "e"], - [6527, 0, "f"], - [6528, 0, "t"], - [6529, 0, "L"], - [6530, 0, "a"], - [6531, 0, "b"], - [6532, 0, "e"], - [6533, 0, "l"], - [6534, 0, "{"], - [6535, 0, "\\"], - [6536, 0, "t"], - [6537, 0, "e"], - [6538, 0, "x"], - [6539, 0, "t"], - [6540, 0, "s"], - [6541, 0, "c"], - [6542, 0, "{"], - [6543, 0, "L"], - [6544, 0, "e"], - [6545, 0, "t"], - [6546, 0, "}"], - [6547, 0, "}"], - [6548, 0, "\n"], - [6549, 0, "\\"], - [6550, 0, "U"], - [6551, 0, "n"], - [6552, 0, "a"], - [6553, 0, "r"], - [6554, 0, "y"], - [6555, 0, "I"], - [6556, 0, "n"], - [6557, 0, "f"], - [6558, 0, "C"], - [6559, 0, "{"], - [6560, 0, "$"], - [6561, 0, "A"], - [6562, 0, "_"], - [6563, 0, "p"], - [6564, 0, ","], - [6565, 0, "\\"], - [6566, 0, ","], - [6567, 0, " "], - [6568, 0, "\\"], - [6569, 0, "m"], - [6570, 0, "a"], - [6571, 0, "t"], - [6572, 0, "h"], - [6573, 0, "s"], - [6574, 0, "f"], - [6575, 0, "{"], - [6576, 0, "l"], - [6577, 0, "e"], - [6578, 0, "t"], - [6579, 0, "}"], - [6580, 0, " "], - [6581, 0, "x"], - [6582, 0, " "], - [6583, 0, "="], - [6584, 0, " "], - [6585, 0, "\\"], - [6586, 0, "m"], - [6587, 0, "a"], - [6588, 0, "t"], - [6589, 0, "h"], - [6590, 0, "i"], - [6591, 0, "t"], - [6592, 0, "{"], - [6593, 0, "e"], - [6594, 0, "x"], - [6595, 0, "p"], - [6596, 0, "r"], - [6597, 0, "}"], - [6598, 0, " "], - [6599, 0, "\\"], - [6600, 0, "e"], - [6601, 0, "v"], - [6602, 0, "a"], - [6603, 0, "l"], - [6604, 0, "t"], - [6605, 0, "o"], - [6606, 0, " "], - [6607, 0, "A"], - [6608, 0, "_"], - [6609, 0, "p"], - [6610, 0, "["], - [6611, 0, "\\"], - [6612, 0, ","], - [6613, 0, "x"], - [6614, 0, " "], - [6615, 0, "\\"], - [6616, 0, "m"], - [6617, 0, "a"], - [6618, 0, "p"], - [6619, 0, "s"], - [6620, 0, "t"], - [6621, 0, "o"], - [6622, 0, " "], - [6615, 0, "\\"], - [6616, 0, ","], - [6624, 1], - [6624, 0, "\\"], - [6625, 0, ","], - [6626, 0, " "], - [6627, 0, "\\"], - [6628, 0, "m"], - [6629, 0, "a"], - [6630, 0, "t"], - [6631, 0, "h"], - [6632, 0, "i"], - [6633, 0, "t"], - [6634, 0, "{"], - [6635, 0, "c"], - [6636, 0, "u"], - [6637, 0, "r"], - [6638, 0, "}"], - [6639, 0, "\\"], - [6640, 0, ","], - [6641, 0, "]"], - [6642, 0, "$"], - [6643, 0, "}"], - [6644, 0, "\n"], - [6645, 0, "\\"], - [6646, 0, "D"], - [6647, 0, "i"], - [6648, 0, "s"], - [6649, 0, "p"], - [6650, 0, "l"], - [6651, 0, "a"], - [6652, 0, "y"], - [6653, 0, "P"], - [6654, 0, "r"], - [6655, 0, "o"], - [6656, 0, "o"], - [6657, 0, "f"], - [6658, 0, "\\"], - [6659, 0, "h"], - [6660, 0, "f"], - [6661, 0, "i"], - [6662, 0, "l"], - [6663, 0, "l"], - [6664, 0, "\n"], - [6665, 0, "%"], - [6666, 0, "\n"], - [6667, 0, "\\"], - [6668, 0, "A"], - [6669, 0, "x"], - [6670, 0, "i"], - [6671, 0, "o"], - [6672, 0, "m"], - [6673, 0, "C"], - [6674, 0, "{"], - [6675, 0, "$"], - [6676, 0, "x"], - [6677, 0, " "], - [6678, 0, "\\"], - [6679, 0, "i"], - [6680, 0, "n"], - [6681, 0, " "], - [6682, 0, "\\"], - [6683, 0, "m"], - [6684, 0, "a"], - [6685, 0, "t"], - [6686, 0, "h"], - [6687, 0, "r"], - [6688, 0, "m"], - [6689, 0, "{"], - [6690, 0, "d"], - [6691, 0, "o"], - [6692, 0, "m"], - [6693, 0, "}"], - [6694, 0, "("], - [6695, 0, "A"], - [6696, 0, "_"], - [6697, 0, "p"], - [6698, 0, ")"], - [6699, 0, "$"], - [6700, 0, "}"], - [6701, 0, "\n"], - [6702, 0, "\\"], - [6703, 0, "A"], - [6704, 0, "x"], - [6705, 0, "i"], - [6706, 0, "o"], - [6707, 0, "m"], - [6708, 0, "C"], - [6709, 0, "{"], - [6710, 0, "$"], - [6711, 0, "%"], - [6711, 1], - [6710, 1], - [6709, 1], - [6708, 1], - [6707, 1], - [6706, 1], - [6705, 1], - [6704, 1], - [6703, 1], - [6703, 0, "L"], - [6704, 0, "e"], - [6705, 0, "f"], - [6706, 0, "t"], - [6707, 0, "L"], - [6708, 0, "a"], - [6709, 0, "b"], - [6710, 0, "e"], - [6711, 0, "l"], - [6712, 0, "{"], - [6713, 0, "|"], - [6714, 0, "t"], - [6715, 0, "e"], - [6715, 1], - [6714, 1], - [6713, 1], - [6713, 0, "\\"], - [6714, 0, "t"], - [6715, 0, "e"], - [6716, 0, "x"], - [6717, 0, "t"], - [6718, 0, "s"], - [6719, 0, "c"], - [6720, 0, "{"], - [6721, 0, "V"], - [6722, 0, "a"], - [6723, 0, "r"], - [6724, 0, "}"], - [6725, 0, "}"], - [6726, 0, "\n"], - [6727, 0, "\\"], - [6728, 0, "U"], - [6729, 0, "n"], - [6730, 0, "a"], - [6731, 0, "r"], - [6732, 0, "y"], - [6733, 0, "I"], - [6734, 0, "n"], - [6735, 0, "f"], - [6736, 0, "C"], - [6737, 0, "{"], - [6738, 0, "$"], - [6739, 0, "A"], - [6740, 0, "_"], - [6741, 0, "p"], - [6742, 0, ","], - [6743, 0, "\\"], - [6744, 0, ","], - [6745, 0, " "], - [6746, 0, "x"], - [6747, 0, " "], - [6748, 0, "\\"], - [6749, 0, "e"], - [6750, 0, "v"], - [6751, 0, "a"], - [6752, 0, "l"], - [6753, 0, "t"], - [6754, 0, "o"], - [6755, 0, " "], - [6756, 0, "A"], - [6757, 0, "_"], - [6758, 0, "p"], - [6759, 0, "("], - [6760, 0, "x"], - [6761, 0, ")"], - [6762, 0, "$"], - [6763, 0, "}"], - [6764, 0, "\n"], - [6765, 0, "\\"], - [6766, 0, "D"], - [6767, 0, "I"], - [6768, 0, "S"], - [6769, 0, "P"], - [6770, 0, "L"], - [6771, 0, "A"], - [6772, 0, "Y"], - [6773, 0, "P"], - [6774, 0, "R"], - [6775, 0, "O"], - [6776, 0, "O"], - [6777, 0, "F"], - [6777, 1], - [6776, 1], - [6775, 1], - [6774, 1], - [6773, 1], - [6772, 1], - [6771, 1], - [6770, 1], - [6769, 1], - [6768, 1], - [6767, 1], - [6767, 0, "i"], - [6768, 0, "s"], - [6769, 0, "p"], - [6770, 0, "l"], - [6771, 0, "a"], - [6772, 0, "y"], - [6773, 0, "P"], - [6774, 0, "r"], - [6775, 0, "o"], - [6776, 0, "o"], - [6777, 0, "f"], - [6778, 0, "\\"], - [6779, 0, "h"], - [6779, 1], - [6779, 0, "p"], - [6780, 0, "r"], - [6781, 0, "o"], - [6782, 0, "o"], - [6783, 0, "f"], - [6784, 0, "S"], - [6785, 0, "k"], - [6786, 0, "i"], - [6787, 0, "p"], - [6788, 0, "A"], - [6789, 0, "M"], - [6790, 0, "o"], - [6791, 0, "u"], - [6792, 0, "n"], - [6793, 0, "t"], - [6793, 1], - [6792, 1], - [6791, 1], - [6790, 1], - [6789, 1], - [6789, 0, "m"], - [6790, 0, "o"], - [6791, 0, "u"], - [6792, 0, "n"], - [6793, 0, "t"], - [6313, 1], - [6312, 1], - [6311, 1], - [6310, 1], - [6310, 0, "s"], - [6311, 0, "p"], - [6312, 0, "a"], - [6313, 0, "c"], - [6314, 0, "e"], - [6315, 0, "{"], - [6316, 0, "6"], - [6317, 0, "e"], - [6318, 0, "m"], - [6319, 0, "}"], - [6669, 1], - [6668, 1], - [6667, 1], - [6666, 1], - [6666, 0, "s"], - [6667, 0, "p"], - [6668, 0, "a"], - [6669, 0, "c"], - [6670, 0, "e"], - [6671, 0, "{"], - [6672, 0, "6"], - [6673, 0, "e"], - [6674, 0, "m"], - [6675, 0, "}"], - [6477, 0, "\\"], - [6478, 0, "p"], - [6479, 0, "r"], - [6480, 0, "o"], - [6481, 0, "o"], - [6482, 0, "f"], - [6483, 0, "S"], - [6484, 0, "k"], - [6485, 0, "i"], - [6486, 0, "p"], - [6487, 0, "A"], - [6488, 0, "m"], - [6489, 0, "o"], - [6490, 0, "u"], - [6491, 0, "n"], - [6492, 0, "t"], - [6602, 0, "\\"], - [6603, 0, ";"], - [6429, 0, "\\"], - [6430, 0, ","], - [6316, 1], - [6316, 0, "4"], - [6692, 1], - [6692, 0, "3"], - [6826, 0, "\n"], - [6827, 0, "\n"], - [6828, 0, "\\"], - [6829, 0, "b"], - [6830, 0, "e"], - [6831, 0, "g"], - [6832, 0, "i"], - [6833, 0, "n"], - [6834, 0, "{"], - [6835, 0, "r"], - [6835, 1], - [6835, 0, "p"], - [6836, 0, "r"], - [6837, 0, "o"], - [6838, 0, "o"], - [6839, 0, "f"], - [6840, 0, "t"], - [6841, 0, "r"], - [6842, 0, "e"], - [6843, 0, "e"], - [6844, 0, "}"], - [6845, 0, "\n"], - [6846, 0, "\\"], - [6847, 0, "e"], - [6848, 0, "n"], - [6849, 0, "d"], - [6850, 0, "{"], - [6851, 0, "p"], - [6852, 0, "r"], - [6853, 0, "o"], - [6854, 0, "o"], - [6855, 0, "f"], - [6856, 0, "t"], - [6857, 0, "r"], - [6858, 0, "e"], - [6859, 0, "e"], - [6860, 0, "}"], - [6860, 1], - [6859, 1], - [6858, 1], - [6857, 1], - [6856, 1], - [6855, 1], - [6854, 1], - [6853, 1], - [6852, 1], - [6851, 1], - [6850, 1], - [6849, 1], - [6848, 1], - [6847, 1], - [6846, 1], - [6845, 1], - [6844, 1], - [6843, 1], - [6842, 1], - [6841, 1], - [6840, 1], - [6839, 1], - [6838, 1], - [6837, 1], - [6836, 1], - [6835, 1], - [6834, 1], - [6833, 1], - [6832, 1], - [6831, 1], - [6830, 1], - [6829, 1], - [6828, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6479, 1], - [6812, 0, "\\"], - [6813, 0, "A"], - [6814, 0, "x"], - [6815, 0, "i"], - [6816, 0, "o"], - [6817, 0, "m"], - [6818, 0, "C"], - [6819, 0, "{"], - [6820, 0, "$"], - [6821, 0, "A"], - [6822, 0, "_"], - [6823, 0, "p"], - [6824, 0, ","], - [6825, 0, "\\"], - [6826, 0, ","], - [6827, 0, " "], - [6828, 0, "\\"], - [6829, 0, "m"], - [6830, 0, "a"], - [6831, 0, "t"], - [6832, 0, "h"], - [6833, 0, "i"], - [6834, 0, "t"], - [6835, 0, "{"], - [6836, 0, "e"], - [6837, 0, "x"], - [6838, 0, "p"], - [6839, 0, "r"], - [6840, 0, "}"], - [6841, 0, "."], - [6842, 0, "\\"], - [6843, 0, "m"], - [6844, 0, "a"], - [6845, 0, "t"], - [6846, 0, "h"], - [6847, 0, "s"], - [6848, 0, "f"], - [6849, 0, "{"], - [6850, 0, "g"], - [6851, 0, "e"], - [6852, 0, "t"], - [6853, 0, "}"], - [6854, 0, "("], - [6855, 0, "\\"], - [6856, 0, "m"], - [6857, 0, "a"], - [6858, 0, "t"], - [6859, 0, "h"], - [6860, 0, "i"], - [6861, 0, "t"], - [6862, 0, "{"], - [6863, 0, "k"], - [6864, 0, "e"], - [6865, 0, "y"], - [6866, 0, "}"], - [6867, 0, ")"], - [6868, 0, " "], - [6869, 0, "\\"], - [6870, 0, "e"], - [6871, 0, "v"], - [6872, 0, "a"], - [6873, 0, "l"], - [6874, 0, "t"], - [6875, 0, "o"], - [6820, 0, "\n"], - [6821, 0, "\\"], - [6822, 0, "U"], - [6823, 0, "n"], - [6824, 0, "a"], - [6825, 0, "r"], - [6826, 0, "y"], - [6827, 0, "I"], - [6828, 0, "n"], - [6829, 0, "f"], - [6830, 0, "C"], - [6831, 0, "{"], - [6820, 0, "$"], - [6821, 0, "A"], - [6822, 0, "_"], - [6823, 0, "p"], - [6824, 0, ","], - [6825, 0, "\\"], - [6826, 0, ","], - [6827, 0, " "], - [6828, 0, "\\"], - [6829, 0, "m"], - [6830, 0, "a"], - [6831, 0, "t"], - [6832, 0, "h"], - [6833, 0, "i"], - [6834, 0, "t"], - [6835, 0, "{"], - [6836, 0, "e"], - [6837, 0, "x"], - [6838, 0, "p"], - [6839, 0, "r"], - [6840, 0, "}"], - [6841, 0, " "], - [6842, 0, "\\"], - [6843, 0, "e"], - [6844, 0, "v"], - [6845, 0, "a"], - [6846, 0, "l"], - [6847, 0, "t"], - [6848, 0, "o"], - [6849, 0, " "], - [6850, 0, "\\"], - [6851, 0, "m"], - [6852, 0, "a"], - [6853, 0, "t"], - [6854, 0, "h"], - [6855, 0, "i"], - [6856, 0, "t"], - [6857, 0, "{"], - [6857, 1], - [6856, 1], - [6855, 1], - [6855, 0, "s"], - [6856, 0, "f"], - [6857, 0, "{"], - [6858, 0, "c"], - [6859, 0, "u"], - [6860, 0, "r"], - [6861, 0, "s"], - [6862, 0, "o"], - [6863, 0, "r"], - [6864, 0, "}"], - [6865, 0, "("], - [6866, 0, "\\"], - [6867, 0, "l"], - [6868, 0, "a"], - [6869, 0, "n"], - [6870, 0, "g"], - [6871, 0, "l"], - [6872, 0, "e"], - [6873, 0, " "], - [6874, 0, "k"], - [6875, 0, "_"], - [6876, 0, "1"], - [6877, 0, ","], - [6878, 0, " "], - [6879, 0, "\\"], - [6880, 0, "d"], - [6881, 0, "o"], - [6882, 0, "t"], - [6883, 0, "s"], - [6884, 0, ","], - [6885, 0, " "], - [6886, 0, "\\"], - [6886, 1], - [6886, 0, "k"], - [6887, 0, "_"], - [6888, 0, "{"], - [6889, 0, "n"], - [6890, 0, "-"], - [6891, 0, "1"], - [6892, 0, "}"], - [6893, 0, " "], - [6894, 0, "\\"], - [6895, 0, "r"], - [6896, 0, "a"], - [6897, 0, "n"], - [6898, 0, "g"], - [6899, 0, "l"], - [6900, 0, "e"], - [6901, 0, ","], - [6902, 0, " "], - [6902, 1], - [6902, 0, "\\"], - [6903, 0, ","], - [6904, 0, " "], - [6905, 0, "k"], - [6906, 0, "_"], - [6907, 0, "n"], - [6908, 0, ")"], - [6909, 0, "$"], - [6910, 0, "}"], - [6911, 0, "\n"], - [6912, 0, "\\"], - [6913, 0, "L"], - [6914, 0, "e"], - [6915, 0, "f"], - [6916, 0, "t"], - [6917, 0, "L"], - [6918, 0, "a"], - [6919, 0, "b"], - [6920, 0, "e"], - [6921, 0, "l"], - [6922, 0, "{"], - [6923, 0, "\\"], - [6924, 0, "t"], - [6925, 0, "e"], - [6926, 0, "x"], - [6927, 0, "t"], - [6928, 0, "s"], - [6929, 0, "c"], - [6930, 0, "{"], - [6931, 0, "G"], - [6932, 0, "e"], - [6933, 0, "t"], - [6934, 0, "}"], - [6935, 0, "}"], - [7004, 0, "\n"], - [7005, 0, " "], - [7006, 0, " "], - [7007, 0, " "], - [7008, 0, " "], - [7009, 0, "\\"], - [7010, 0, "m"], - [7011, 0, "a"], - [7012, 0, "t"], - [7013, 0, "h"], - [7014, 0, "s"], - [7015, 0, "f"], - [7016, 0, "{"], - [7017, 0, "c"], - [7018, 0, "u"], - [7019, 0, "r"], - [7020, 0, "s"], - [7021, 0, "o"], - [7022, 0, "r"], - [7023, 0, "}"], - [7024, 0, "("], - [7025, 0, "\\"], - [7026, 0, "l"], - [7027, 0, "a"], - [7028, 0, "n"], - [7029, 0, "g"], - [7030, 0, "l"], - [7031, 0, "e"], - [7032, 0, " "], - [7033, 0, "k"], - [7034, 0, "_"], - [7035, 0, "1"], - [7036, 0, ","], - [7037, 0, " "], - [7038, 0, "\\"], - [7039, 0, "d"], - [7040, 0, "o"], - [7041, 0, "t"], - [7042, 0, "s"], - [7043, 0, ","], - [7044, 0, " "], - [7045, 0, "k"], - [7046, 0, "_"], - [7047, 0, "{"], - [7048, 0, "n"], - [7049, 0, "-"], - [7050, 0, "1"], - [7051, 0, "}"], - [7052, 0, ","], - [7053, 0, " "], - [7054, 0, "\\"], - [7055, 0, "m"], - [7056, 0, "a"], - [7057, 0, "t"], - [7058, 0, "h"], - [7059, 0, "s"], - [7060, 0, "f"], - [7061, 0, "{"], - [7062, 0, "m"], - [7063, 0, "a"], - [7064, 0, "p"], - [7065, 0, "T"], - [7066, 0, "}"], - [7067, 0, "("], - [7068, 0, "k"], - [7069, 0, "_"], - [7070, 0, "n"], - [7071, 0, ")"], - [7072, 0, " "], - [7073, 0, "\\"], - [7074, 0, "r"], - [7075, 0, "a"], - [7076, 0, "n"], - [7077, 0, "g"], - [7078, 0, "l"], - [7079, 0, "e"], - [7080, 0, ","], - [7081, 0, " "], - [7082, 0, "\\"], - [7083, 0, "m"], - [7084, 0, "a"], - [7085, 0, "t"], - [7086, 0, "h"], - [7087, 0, "i"], - [7088, 0, "t"], - [7089, 0, "{"], - [7090, 0, "k"], - [7091, 0, "e"], - [7092, 0, "y"], - [7093, 0, "}"], - [7094, 0, ")"], - [7095, 0, "$"], - [7096, 0, "}"], - [7097, 0, "\n"], - [7098, 0, "\\"], - [7099, 0, "D"], - [7100, 0, "i"], - [7101, 0, "s"], - [7102, 0, "p"], - [7103, 0, "l"], - [7104, 0, "a"], - [7105, 0, "y"], - [7106, 0, "P"], - [7107, 0, "r"], - [7108, 0, "o"], - [7109, 0, "o"], - [7110, 0, "f"], - [7111, 0, "\\"], - [7112, 0, "h"], - [7113, 0, "s"], - [7114, 0, "p"], - [7115, 0, "a"], - [7116, 0, "c"], - [7117, 0, "e"], - [7118, 0, "{"], - [7119, 0, "4"], - [7120, 0, "e"], - [7121, 0, "m"], - [7122, 0, "}"], - [7123, 0, "\n"], - [7124, 0, "%"], - [7125, 0, "\n"], - [7126, 0, "\\"], - [7127, 0, "A"], - [7128, 0, "x"], - [7129, 0, "i"], - [7130, 0, "o"], - [7131, 0, "m"], - [7132, 0, "C"], - [7133, 0, "{"], - [7134, 0, "$"], - [7135, 0, "A"], - [7136, 0, "_"], - [7137, 0, "p"], - [7138, 0, ","], - [7139, 0, "\\"], - [7140, 0, ","], - [7141, 0, " "], - [7142, 0, "\\"], - [7143, 0, "m"], - [7144, 0, "a"], - [7145, 0, "t"], - [7146, 0, "h"], - [7147, 0, "i"], - [7148, 0, "t"], - [7149, 0, "{"], - [7150, 0, "e"], - [7151, 0, "x"], - [7152, 0, "p"], - [7153, 0, "r"], - [7154, 0, "}"], - [7155, 0, " "], - [7156, 0, "\\"], - [7157, 0, "e"], - [7158, 0, "v"], - [7159, 0, "a"], - [7160, 0, "l"], - [7161, 0, "t"], - [7162, 0, "o"], - [7163, 0, " "], - [7164, 0, "\\"], - [7165, 0, "m"], - [7166, 0, "a"], - [7167, 0, "t"], - [7168, 0, "h"], - [7169, 0, "s"], - [7170, 0, "f"], - [7171, 0, "{"], - [7172, 0, "c"], - [7173, 0, "u"], - [7174, 0, "r"], - [7175, 0, "s"], - [7176, 0, "o"], - [7177, 0, "r"], - [7178, 0, "}"], - [7179, 0, " "], - [7179, 1], - [7179, 0, "("], - [7180, 0, "\\"], - [7181, 0, "l"], - [7182, 0, "a"], - [7183, 0, "n"], - [7184, 0, "g"], - [7185, 0, "l"], - [7186, 0, "e"], - [7187, 0, " "], - [7188, 0, "k"], - [7189, 0, "_"], - [7190, 0, "1"], - [7191, 0, ","], - [7192, 0, " "], - [7193, 0, "\\"], - [7194, 0, "d"], - [7195, 0, "o"], - [7196, 0, "t"], - [7197, 0, "s"], - [7198, 0, ","], - [7199, 0, " "], - [7200, 0, "\\"], - [7200, 1], - [7200, 0, "k"], - [7201, 0, "_"], - [7202, 0, "{"], - [7203, 0, "n"], - [7204, 0, "-"], - [7205, 0, "1"], - [7206, 0, "}"], - [7207, 0, " "], - [7208, 0, "\\"], - [7209, 0, "r"], - [7210, 0, "a"], - [7211, 0, "n"], - [7212, 0, "g"], - [7213, 0, "l"], - [7214, 0, "e"], - [7215, 0, ","], - [7216, 0, "\\"], - [7217, 0, ","], - [7218, 0, " "], - [7219, 0, "k"], - [7220, 0, "_"], - [7221, 0, "n"], - [7222, 0, ")"], - [7223, 0, "$"], - [7224, 0, "%"], - [7225, 0, "}"], - [7225, 1], - [7224, 1], - [7224, 0, "}"], - [7225, 0, "\n"], - [7226, 0, "\\"], - [7227, 0, "L"], - [7228, 0, "e"], - [7229, 0, "f"], - [7230, 0, "t"], - [7231, 0, "L"], - [7232, 0, "a"], - [7233, 0, "b"], - [7234, 0, "e"], - [7235, 0, "l"], - [7236, 0, "{"], - [7237, 0, "\\"], - [7238, 0, "t"], - [7239, 0, "e"], - [7240, 0, "x"], - [7241, 0, "t"], - [7242, 0, "s"], - [7243, 0, "c"], - [7244, 0, "{"], - [7245, 0, "I"], - [7246, 0, "t"], - [7247, 0, "e"], - [7248, 0, "r"], - [7249, 0, "}"], - [7250, 0, "}"], - [7251, 0, "\n"], - [7252, 0, "\\"], - [7253, 0, "U"], - [7254, 0, "n"], - [7255, 0, "a"], - [7256, 0, "r"], - [7257, 0, "y"], - [7258, 0, "I"], - [7259, 0, "n"], - [7260, 0, "f"], - [7261, 0, "C"], - [7262, 0, "{"], - [7263, 0, "$"], - [7264, 0, "A"], - [7265, 0, "_"], - [7266, 0, "p"], - [7267, 0, ","], - [7268, 0, "\\"], - [7269, 0, ","], - [7270, 0, " "], - [7271, 0, "\\"], - [7272, 0, "m"], - [7273, 0, "a"], - [7274, 0, "t"], - [7275, 0, "h"], - [7276, 0, "i"], - [7277, 0, "t"], - [7278, 0, "{"], - [7279, 0, "e"], - [7280, 0, "x"], - [7281, 0, "p"], - [7282, 0, "r"], - [7283, 0, "}"], - [7284, 0, "."], - [7285, 0, "\\"], - [7286, 0, "m"], - [7287, 0, "a"], - [7288, 0, "t"], - [7289, 0, "h"], - [7290, 0, "s"], - [7291, 0, "f"], - [7292, 0, "{"], - [7293, 0, "i"], - [7294, 0, "t"], - [7295, 0, "e"], - [7296, 0, "r"], - [7297, 0, "}"], - [7298, 0, " "], - [7299, 0, "\\"], - [7300, 0, "e"], - [7301, 0, "v"], - [7302, 0, "a"], - [7303, 0, "l"], - [7304, 0, "t"], - [7305, 0, "o"], - [7306, 0, " "], - [7306, 1], - [7306, 0, "\n"], - [7307, 0, " "], - [7308, 0, " "], - [7309, 0, " "], - [7310, 0, " "], - [7311, 0, "\\"], - [7312, 0, "m"], - [7313, 0, "a"], - [7314, 0, "t"], - [7315, 0, "h"], - [7316, 0, "s"], - [7317, 0, "f"], - [7318, 0, "{"], - [7319, 0, "c"], - [7320, 0, "u"], - [7321, 0, "r"], - [7322, 0, "s"], - [7323, 0, "o"], - [7324, 0, "r"], - [7325, 0, "}"], - [7326, 0, "("], - [7327, 0, "\\"], - [7328, 0, "l"], - [7329, 0, "a"], - [7330, 0, "n"], - [7331, 0, "g"], - [7332, 0, "l"], - [7333, 0, "e"], - [7334, 0, " "], - [7335, 0, "k"], - [7336, 0, "_"], - [7337, 0, "1"], - [7338, 0, ","], - [7339, 0, " "], - [7340, 0, "\\"], - [7341, 0, "d"], - [7342, 0, "o"], - [7343, 0, "t"], - [7344, 0, "s"], - [7345, 0, ","], - [7346, 0, " "], - [7347, 0, "k"], - [7348, 0, "_"], - [7349, 0, "{"], - [7350, 0, "n"], - [7351, 0, "-"], - [7352, 0, "1"], - [7353, 0, "}"], - [7354, 0, ","], - [7355, 0, " "], - [7356, 0, "\\"], - [7357, 0, "m"], - [7358, 0, "a"], - [7359, 0, "t"], - [7360, 0, "h"], - [7361, 0, "s"], - [7362, 0, "f"], - [7363, 0, "{"], - [7364, 0, "l"], - [7365, 0, "i"], - [7366, 0, "s"], - [7367, 0, "t"], - [7368, 0, "T"], - [7369, 0, "}"], - [7370, 0, "("], - [7371, 0, "k"], - [7372, 0, "_"], - [7373, 0, "n"], - [7374, 0, ")"], - [7375, 0, " "], - [7376, 0, "\\"], - [7377, 0, "r"], - [7378, 0, "a"], - [7379, 0, "n"], - [7380, 0, "g"], - [7381, 0, "l"], - [7382, 0, "e"], - [7383, 0, ","], - [7384, 0, "\\"], - [7385, 0, ","], - [7081, 0, "\\"], - [7082, 0, ","], - [7388, 0, " "], - [7389, 0, "\\"], - [7390, 0, "m"], - [7391, 0, "a"], - [7392, 0, "t"], - [7393, 0, "h"], - [7394, 0, "s"], - [7395, 0, "f"], - [7396, 0, "{"], - [7397, 0, "h"], - [7398, 0, "e"], - [7399, 0, "a"], - [7400, 0, "d"], - [7401, 0, "}"], - [7402, 0, ")"], - [7403, 0, "$"], - [7404, 0, "}"], - [7405, 0, "\n"], - [7406, 0, "\\"], - [7407, 0, "D"], - [7408, 0, "i"], - [7409, 0, "s"], - [7410, 0, "p"], - [7411, 0, "l"], - [7412, 0, "a"], - [7413, 0, "y"], - [7414, 0, "P"], - [7415, 0, "r"], - [7416, 0, "o"], - [7417, 0, "o"], - [7418, 0, "f"], - [7419, 0, "\\"], - [7420, 0, "p"], - [7421, 0, "r"], - [7422, 0, "o"], - [7423, 0, "o"], - [7424, 0, "f"], - [7425, 0, "S"], - [7426, 0, "k"], - [7427, 0, "i"], - [7428, 0, "p"], - [7429, 0, "A"], - [7430, 0, "m"], - [7431, 0, "o"], - [7432, 0, "u"], - [7433, 0, "n"], - [7434, 0, "t"], - [7121, 1], - [7121, 0, "0"], - [6811, 0, "\n"], - [6812, 0, "\\"], - [6813, 0, "b"], - [6814, 0, "e"], - [6815, 0, "g"], - [6816, 0, "i"], - [6817, 0, "n"], - [6818, 0, "{"], - [6819, 0, "p"], - [6820, 0, "r"], - [6821, 0, "o"], - [6822, 0, "o"], - [6823, 0, "f"], - [6824, 0, "t"], - [6825, 0, "r"], - [6826, 0, "e"], - [6827, 0, "e"], - [6828, 0, "}"], - [7144, 1], - [7143, 1], - [7142, 1], - [7141, 1], - [7140, 1], - [7139, 1], - [7138, 1], - [7137, 1], - [7136, 1], - [7135, 1], - [7134, 1], - [7133, 1], - [7132, 1], - [7131, 1], - [7130, 1], - [7129, 1], - [7128, 1], - [7127, 1], - [7126, 1], - [7125, 1], - [7124, 1], - [7123, 1], - [7122, 1], - [7121, 1], - [7120, 1], - [7119, 1], - [7119, 0, "e"], - [7120, 0, "n"], - [7121, 0, "d"], - [7122, 0, "{"], - [7123, 0, "p"], - [7124, 0, "r"], - [7125, 0, "o"], - [7126, 0, "o"], - [7127, 0, "f"], - [7128, 0, "t"], - [7129, 0, "r"], - [7130, 0, "e"], - [7131, 0, "e"], - [7132, 0, "}"], - [7133, 0, "\n"], - [7134, 0, "\n"], - [7135, 0, "\\"], - [7136, 0, "b"], - [7137, 0, "e"], - [7138, 0, "g"], - [7139, 0, "i"], - [7140, 0, "n"], - [7141, 0, "{"], - [7142, 0, "P"], - [7142, 1], - [7142, 0, "p"], - [7143, 0, "r"], - [7144, 0, "o"], - [7145, 0, "o"], - [7146, 0, "f"], - [7147, 0, "t"], - [7148, 0, "r"], - [7149, 0, "e"], - [7150, 0, "e"], - [7151, 0, "}"], - [7459, 1], - [7458, 1], - [7457, 1], - [7456, 1], - [7455, 1], - [7454, 1], - [7453, 1], - [7452, 1], - [7451, 1], - [7450, 1], - [7449, 1], - [7448, 1], - [7447, 1], - [7446, 1], - [7445, 1], - [7444, 1], - [7443, 1], - [7442, 1], - [7441, 1], - [7440, 1], - [7439, 1], - [7438, 1], - [7437, 1], - [7436, 1], - [7435, 1], - [7434, 1], - [7433, 1], - [7432, 1], - [7432, 0, "e"], - [7433, 0, "n"], - [7434, 0, "d"], - [7435, 0, "{"], - [7436, 0, "p"], - [7437, 0, "r"], - [7438, 0, "o"], - [7439, 0, "o"], - [7440, 0, "f"], - [7441, 0, "t"], - [7442, 0, "r"], - [7443, 0, "e"], - [7444, 0, "e"], - [7445, 0, "}"], - [6003, 1], - [6002, 1], - [6001, 1], - [6000, 1], - [5999, 1], - [5998, 1], - [5997, 1], - [5996, 1], - [5995, 1], - [5995, 0, "b"], - [5996, 0, "e"], - [5997, 0, "g"], - [5998, 0, "i"], - [5999, 0, "n"], - [6000, 0, "{"], - [6001, 0, "c"], - [6002, 0, "e"], - [6003, 0, "n"], - [6004, 0, "t"], - [6005, 0, "e"], - [6006, 0, "r"], - [6007, 0, "}"], - [6481, 0, "\n"], - [6482, 0, "\\"], - [6483, 0, "e"], - [6484, 0, "n"], - [6485, 0, "d"], - [6486, 0, "{"], - [6487, 0, "c"], - [6488, 0, "e"], - [6489, 0, "n"], - [6490, 0, "t"], - [6491, 0, "e"], - [6492, 0, "r"], - [6493, 0, "}"], - [6495, 0, "\n"], - [6496, 0, "\\"], - [6497, 0, "b"], - [6498, 0, "e"], - [6499, 0, "g"], - [6500, 0, "i"], - [6501, 0, "n"], - [6502, 0, "{"], - [6503, 0, "c"], - [6504, 0, "e"], - [6505, 0, "n"], - [6506, 0, "t"], - [6507, 0, "e"], - [6508, 0, "r"], - [6509, 0, "}"], - [6842, 0, "\n"], - [6843, 0, "\\"], - [6844, 0, "e"], - [6845, 0, "n"], - [6846, 0, "d"], - [6847, 0, "{"], - [6848, 0, "c"], - [6849, 0, "e"], - [6850, 0, "n"], - [6851, 0, "t"], - [6852, 0, "e"], - [6853, 0, "r"], - [6854, 0, "}"], - [7491, 0, "\n"], - [7492, 0, "\n"], - [7493, 0, "\\"], - [7494, 0, "b"], - [7495, 0, "e"], - [7496, 0, "g"], - [7497, 0, "i"], - [7498, 0, "n"], - [7499, 0, "{"], - [7500, 0, "p"], - [7501, 0, "r"], - [7502, 0, "o"], - [7503, 0, "o"], - [7504, 0, "f"], - [7505, 0, "t"], - [7506, 0, "r"], - [7507, 0, "e"], - [7508, 0, "e"], - [7509, 0, "}"], - [7510, 0, "\n"], - [7511, 0, "\\"], - [7512, 0, "e"], - [7513, 0, "n"], - [7514, 0, "d"], - [7515, 0, "{"], - [7516, 0, "["], - [7517, 0, "r"], - [7518, 0, "o"], - [7519, 0, "p"], - [7520, 0, "o"], - [7521, 0, "f"], - [7521, 1], - [7520, 1], - [7519, 1], - [7518, 1], - [7517, 1], - [7516, 1], - [7516, 0, "p"], - [7517, 0, "r"], - [7518, 0, "o"], - [7519, 0, "o"], - [7520, 0, "f"], - [7521, 0, "t"], - [7522, 0, "r"], - [7523, 0, "e"], - [7524, 0, "e"], - [7525, 0, "}"], - [7510, 0, "\n"], - [7511, 0, "\\"], - [7512, 0, "A"], - [7513, 0, "x"], - [7514, 0, "i"], - [7515, 0, "o"], - [7516, 0, "m"], - [7517, 0, "C"], - [7518, 0, "{"], - [7519, 0, "$"], - [7520, 0, "A"], - [7521, 0, "_"], - [7522, 0, "p"], - [7523, 0, ","], - [7524, 0, "\\"], - [7525, 0, ","], - [7526, 0, " "], - [7527, 0, "\\"], - [7528, 0, "m"], - [7529, 0, "a"], - [7530, 0, "t"], - [7531, 0, "h"], - [7532, 0, "i"], - [7533, 0, "t"], - [7534, 0, "{"], - [7535, 0, "e"], - [7536, 0, "x"], - [7537, 0, "p"], - [7538, 0, "r"], - [7539, 0, "}"], - [7540, 0, " "], - [7541, 0, "\\"], - [7542, 0, "e"], - [7543, 0, "v"], - [7544, 0, "a"], - [7545, 0, "l"], - [7546, 0, "t"], - [7547, 0, "o"], - [7548, 0, " "], - [7549, 0, "\\"], - [7550, 0, "m"], - [7551, 0, "a"], - [7552, 0, "t"], - [7553, 0, "h"], - [7554, 0, "i"], - [7555, 0, "t"], - [7556, 0, "{"], - [7557, 0, "c"], - [7558, 0, "u"], - [7559, 0, "r"], - [7560, 0, "}"], - [7561, 0, "$"], - [7562, 0, "}"], - [7563, 0, "\n"], - [7564, 0, "\\"], - [7565, 0, "A"], - [7566, 0, "x"], - [7567, 0, "i"], - [7568, 0, "o"], - [7569, 0, "m"], - [7570, 0, "C"], - [7571, 0, "{"], - [7572, 0, "$"], - [7573, 0, "A"], - [7574, 0, "_"], - [7575, 0, "p"], - [7576, 0, ","], - [7577, 0, "\\"], - [7578, 0, ","], - [7579, 0, " "], - [7580, 0, "\\"], - [7581, 0, "m"], - [7582, 0, "a"], - [7583, 0, "t"], - [7584, 0, "h"], - [7585, 0, "i"], - [7586, 0, "t"], - [7587, 0, "{"], - [7588, 0, "c"], - [7589, 0, "u"], - [7590, 0, "r"], - [7591, 0, "}"], - [7592, 0, "."], - [7593, 0, "\\"], - [7594, 0, "m"], - [7595, 0, "a"], - [7596, 0, "t"], - [7597, 0, "h"], - [7598, 0, "s"], - [7599, 0, "f"], - [7600, 0, "{"], - [7601, 0, "n"], - [7602, 0, "e"], - [7603, 0, "x"], - [7604, 0, "t"], - [7605, 0, "}"], - [7606, 0, " "], - [7607, 0, "\\"], - [7608, 0, "e"], - [7609, 0, "v"], - [7610, 0, "a"], - [7611, 0, "l"], - [7612, 0, "t"], - [7613, 0, "o"], - [7614, 0, " "], - [7615, 0, "\\"], - [7616, 0, "m"], - [7617, 0, "a"], - [7618, 0, "t"], - [7619, 0, "h"], - [7620, 0, "i"], - [7621, 0, "t"], - [7622, 0, "{"], - [7623, 0, "c"], - [7624, 0, "u"], - [7625, 0, "r"], - [7626, 0, "}"], - [7627, 0, "'"], - [7628, 0, "$"], - [7629, 0, "}"], - [7630, 0, "\n"], - [7631, 0, "\\"], - [7632, 0, "L"], - [7633, 0, "e"], - [7634, 0, "f"], - [7635, 0, "t"], - [7636, 0, "L"], - [7637, 0, "a"], - [7638, 0, "b"], - [7639, 0, "e"], - [7640, 0, "l"], - [7641, 0, "{"], - [7642, 0, "$"], - [7643, 0, "\\"], - [7644, 0, "m"], - [7645, 0, "a"], - [7645, 1], - [7644, 1], - [7644, 0, "t"], - [7645, 0, "e"], - [7646, 0, "s"], - [7646, 1], - [7646, 0, "x"], - [7647, 0, "t"], - [7648, 0, "s"], - [7649, 0, "c"], - [7650, 0, "{"], - [7651, 0, "N"], - [7652, 0, "e"], - [7653, 0, "x"], - [7654, 0, "t"], - [7655, 0, "}"], - [7656, 0, "_"], - [7657, 0, "1"], - [7658, 0, "$"], - [7659, 0, "}"], - [7660, 0, "\n"], - [7661, 0, "A"], - [7661, 1], - [7661, 0, "\\"], - [7662, 0, "B"], - [7663, 0, "i"], - [7664, 0, "n"], - [7665, 0, "a"], - [7666, 0, "r"], - [7667, 0, "e"], - [7668, 0, "y"], - [7668, 1], - [7667, 1], - [7667, 0, "y"], - [7668, 0, "I"], - [7669, 0, "n"], - [7670, 0, "f"], - [7671, 0, "C"], - [7672, 0, "{"], - [7673, 0, "$"], - [7674, 0, "A"], - [7675, 0, "_"], - [7676, 0, "p"], - [7677, 0, ","], - [7678, 0, "\\"], - [7679, 0, ","], - [7680, 0, " "], - [7681, 0, "\\"], - [7682, 0, "m"], - [7683, 0, "a"], - [7684, 0, "t"], - [7685, 0, "h"], - [7686, 0, "i"], - [7687, 0, "t"], - [7688, 0, "{"], - [7689, 0, "e"], - [7690, 0, "x"], - [7691, 0, "p"], - [7692, 0, "r"], - [7693, 0, "}"], - [7694, 0, "."], - [7695, 0, "\\"], - [7696, 0, "m"], - [7697, 0, "a"], - [7698, 0, "t"], - [7699, 0, "h"], - [7700, 0, "s"], - [7701, 0, "f"], - [7702, 0, "{"], - [7703, 0, "n"], - [7704, 0, " "], - [7705, 0, "e"], - [7706, 0, "x"], - [7706, 1], - [7705, 1], - [7704, 1], - [7704, 0, "e"], - [7705, 0, "x"], - [7706, 0, "t"], - [7707, 0, "}"], - [7708, 0, " "], - [7709, 0, "\\"], - [7710, 0, "e"], - [7711, 0, "v"], - [7712, 0, "a"], - [7713, 0, "l"], - [7714, 0, "t"], - [7715, 0, "o"], - [7716, 0, " "], - [7717, 0, "\\"], - [7718, 0, "m"], - [7719, 0, "a"], - [7720, 0, "t"], - [7721, 0, "h"], - [7722, 0, "i"], - [7723, 0, "t"], - [7724, 0, "{"], - [7725, 0, "c"], - [7726, 0, "u"], - [7727, 0, "r"], - [7728, 0, "}"], - [7729, 0, "'"], - [7730, 0, "$"], - [7731, 0, "}"], - [7748, 0, "\n"], - [7749, 0, "\n"], - [7750, 0, "\\"], - [7751, 0, "b"], - [7752, 0, "e"], - [7753, 0, "g"], - [7754, 0, "i"], - [7755, 0, "n"], - [7756, 0, "{"], - [7757, 0, "p"], - [7758, 0, "r"], - [7759, 0, "o"], - [7760, 0, "o"], - [7761, 0, "f"], - [7762, 0, "t"], - [7763, 0, "r"], - [7764, 0, "e"], - [7765, 0, "e"], - [7766, 0, "}"], - [7767, 0, "\n"], - [7768, 0, "\\"], - [7769, 0, "e"], - [7770, 0, "n"], - [7771, 0, "d"], - [7772, 0, "P"], - [7772, 1], - [7772, 0, "{"], - [7773, 0, "p"], - [7774, 0, "r"], - [7775, 0, "o"], - [7776, 0, "o"], - [7777, 0, "f"], - [7778, 0, "t"], - [7779, 0, "r"], - [7780, 0, "e"], - [7781, 0, "e"], - [7782, 0, "}"], - [7767, 0, "\n"], - [7768, 0, "A"], - [7769, 0, "x"], - [7770, 0, "i"], - [7771, 0, "o"], - [7772, 0, "m"], - [7773, 0, "C"], - [7768, 0, "\\"], - [7775, 0, "{"], - [7776, 0, "$"], - [7777, 0, "\\"], - [7778, 0, "m"], - [7779, 0, "a"], - [7780, 0, "t"], - [7781, 0, "h"], - [7782, 0, "s"], - [7783, 0, "f"], - [7784, 0, "{"], - [7785, 0, "n"], - [7786, 0, "e"], - [7787, 0, "x"], - [7788, 0, "t"], - [7789, 0, "}"], - [7790, 0, "("], - [7791, 0, "k"], - [7792, 0, ")"], - [7793, 0, " "], - [7794, 0, "\\"], - [7795, 0, "i"], - [7796, 0, "n"], - [7797, 0, " "], - [7798, 0, "\\"], - [7799, 0, "m"], - [7800, 0, "a"], - [7801, 0, "t"], - [7802, 0, "h"], - [7803, 0, "r"], - [7804, 0, "m"], - [7805, 0, "{"], - [7806, 0, "d"], - [7807, 0, "o"], - [7808, 0, "m"], - [7809, 0, "}"], - [7810, 0, "("], - [7811, 0, "\\"], - [7812, 0, "m"], - [7813, 0, "a"], - [7814, 0, "t"], - [7815, 0, "h"], - [7816, 0, "i"], - [7817, 0, "t"], - [7818, 0, "{"], - [7819, 0, "c"], - [7820, 0, "t"], - [7821, 0, "x"], - [7822, 0, "}"], - [7823, 0, ")"], - [7824, 0, "$"], - [7825, 0, "}"], - [7826, 0, "\n"], - [7827, 0, "\\"], - [7828, 0, "A"], - [7829, 0, "x"], - [7830, 0, "i"], - [7831, 0, "o"], - [7832, 0, "m"], - [7833, 0, "C"], - [7834, 0, "{"], - [7835, 0, "$"], - [7836, 0, "\\"], - [7837, 0, "m"], - [7838, 0, "a"], - [7839, 0, "t"], - [7840, 0, "h"], - [7841, 0, "i"], - [7842, 0, "t"], - [7843, 0, "{"], - [7844, 0, "c"], - [7845, 0, "t"], - [7846, 0, "x"], - [7847, 0, "}"], - [7848, 0, "("], - [7849, 0, "\\"], - [7850, 0, "m"], - [7851, 0, "a"], - [7852, 0, "t"], - [7853, 0, "h"], - [7854, 0, "s"], - [7855, 0, "f"], - [7856, 0, "{"], - [7857, 0, "n"], - [7858, 0, "e"], - [7859, 0, "x"], - [7860, 0, "t"], - [7861, 0, "}"], - [7862, 0, "("], - [7863, 0, "k"], - [7864, 0, ")"], - [7865, 0, ")"], - [7866, 0, " "], - [7867, 0, "="], - [7868, 0, " "], - [7869, 0, "k"], - [7870, 0, "'"], - [7871, 0, "$"], - [7872, 0, "}"], - [7873, 0, "\n"], - [7874, 0, "\\"], - [7875, 0, "L"], - [7876, 0, "e"], - [7877, 0, "f"], - [7878, 0, "t"], - [7879, 0, "L"], - [7880, 0, "a"], - [7881, 0, "b"], - [7882, 0, "e"], - [7883, 0, "l"], - [7884, 0, "{"], - [7885, 0, "$"], - [7886, 0, "\\"], - [7887, 0, "t"], - [7888, 0, "e"], - [7889, 0, "x"], - [7890, 0, "t"], - [7891, 0, "s"], - [7892, 0, "c"], - [7893, 0, "{"], - [7894, 0, "N"], - [7895, 0, "e"], - [7896, 0, "x"], - [7897, 0, "t"], - [7898, 0, "}"], - [7899, 0, "_"], - [7900, 0, "2"], - [7901, 0, "$"], - [7902, 0, "}"], - [7903, 0, "\n"], - [7904, 0, "\\"], - [7905, 0, "B"], - [7906, 0, "i"], - [7907, 0, "n"], - [7908, 0, "a"], - [7909, 0, "r"], - [7910, 0, "y"], - [7911, 0, "I"], - [7912, 0, "n"], - [7913, 0, "f"], - [7914, 0, "C"], - [7915, 0, "{"], - [7916, 0, "$"], - [7917, 0, "\\"], - [7918, 0, "m"], - [7919, 0, "a"], - [7920, 0, "t"], - [7921, 0, "h"], - [7922, 0, "i"], - [7923, 0, "t"], - [7924, 0, "{"], - [7925, 0, "c"], - [7926, 0, "t"], - [7927, 0, "x"], - [7928, 0, "}"], - [7929, 0, ","], - [7930, 0, "\\"], - [7931, 0, ","], - [7932, 0, " "], - [7933, 0, "\\"], - [7934, 0, "m"], - [7935, 0, "a"], - [7936, 0, "t"], - [7937, 0, "h"], - [7938, 0, "s"], - [7939, 0, "f"], - [7940, 0, "{"], - [7941, 0, "c"], - [7942, 0, "u"], - [7943, 0, "r"], - [7944, 0, "s"], - [7945, 0, "o"], - [7946, 0, "r"], - [7947, 0, "}"], - [7948, 0, "("], - [7949, 0, "\\"], - [7950, 0, "l"], - [7951, 0, "a"], - [7952, 0, "n"], - [7953, 0, "g"], - [7954, 0, "l"], - [7955, 0, "e"], - [7956, 0, "\\"], - [7957, 0, "r"], - [7958, 0, "a"], - [7959, 0, "n"], - [7960, 0, "g"], - [7961, 0, "l"], - [7962, 0, "e"], - [7963, 0, ","], - [7964, 0, "\\"], - [7965, 0, ","], - [7966, 0, " "], - [7967, 0, "k"], - [7968, 0, ")"], - [7969, 0, "."], - [7970, 0, "\\"], - [7971, 0, "m"], - [7972, 0, "a"], - [7973, 0, "t"], - [7974, 0, "h"], - [7975, 0, "s"], - [7976, 0, "f"], - [7977, 0, "{"], - [7978, 0, "n"], - [7979, 0, "e"], - [7980, 0, "x"], - [7981, 0, "t"], - [7982, 0, "}"], - [7983, 0, " "], - [7984, 0, "\\"], - [7985, 0, "e"], - [7986, 0, "v"], - [7987, 0, "a"], - [7988, 0, "l"], - [7989, 0, "t"], - [7990, 0, "o"], - [7991, 0, " "], - [7991, 1], - [7991, 0, "\n"], - [7992, 0, " "], - [7993, 0, " "], - [7994, 0, " "], - [7995, 0, " "], - [7996, 0, "\\"], - [7997, 0, "m"], - [7998, 0, "a"], - [7999, 0, "t"], - [8000, 0, "h"], - [8001, 0, "s"], - [8002, 0, "f"], - [8003, 0, "{"], - [8004, 0, "c"], - [8005, 0, "u"], - [8006, 0, "r"], - [8007, 0, "s"], - [8008, 0, "o"], - [8009, 0, "r"], - [8010, 0, "}"], - [8011, 0, "("], - [8012, 0, "\\"], - [8013, 0, "l"], - [8014, 0, "a"], - [8015, 0, "n"], - [8016, 0, "g"], - [8017, 0, "l"], - [8018, 0, "e"], - [8019, 0, "\\"], - [8020, 0, "r"], - [8021, 0, "a"], - [8022, 0, "n"], - [8023, 0, "g"], - [8024, 0, "l"], - [8025, 0, "e"], - [8026, 0, ","], - [8027, 0, "\\"], - [8028, 0, ","], - [8029, 0, " "], - [8030, 0, "k"], - [8031, 0, "'"], - [8032, 0, ")"], - [8033, 0, "$"], - [8034, 0, "}"], - [8051, 0, "\n"], - [8052, 0, "\n"], - [8053, 0, "\\"], - [8054, 0, "b"], - [8055, 0, "e"], - [8056, 0, "g"], - [8057, 0, "i"], - [8058, 0, "n"], - [8059, 0, "{"], - [8060, 0, "p"], - [8061, 0, "r"], - [8062, 0, "o"], - [8063, 0, "o"], - [8064, 0, "f"], - [8065, 0, "t"], - [8066, 0, "r"], - [8067, 0, "e"], - [8068, 0, "e"], - [8069, 0, "}"], - [8070, 0, "\n"], - [8071, 0, "\\"], - [8072, 0, "e"], - [8073, 0, "n"], - [8074, 0, "d"], - [8075, 0, "{"], - [8076, 0, "p"], - [8077, 0, "r"], - [8078, 0, "o"], - [8079, 0, "o"], - [8080, 0, "f"], - [8081, 0, "t"], - [8082, 0, "r"], - [8083, 0, "e"], - [8084, 0, "e"], - [8085, 0, "}"], - [8070, 0, "\n"], - [8071, 0, "\\"], - [8072, 0, "A"], - [8073, 0, "x"], - [8074, 0, "i"], - [8075, 0, "o"], - [8076, 0, "m"], - [8077, 0, "C"], - [8078, 0, "{"], - [8079, 0, "$"], - [8080, 0, "k"], - [8081, 0, "_"], - [8082, 0, "1"], - [8083, 0, " "], - [8084, 0, "\\"], - [8085, 0, "i"], - [8086, 0, "n"], - [8087, 0, " "], - [8088, 0, "\\"], - [8089, 0, "m"], - [8090, 0, "a"], - [8091, 0, "t"], - [8092, 0, "h"], - [8093, 0, "r"], - [8094, 0, "m"], - [8095, 0, "{"], - [8096, 0, "d"], - [8097, 0, "o"], - [8098, 0, "m"], - [8099, 0, "}"], - [8100, 0, "("], - [8101, 0, "\\"], - [8102, 0, "m"], - [8103, 0, "a"], - [8104, 0, "t"], - [8105, 0, "h"], - [8106, 0, "i"], - [8107, 0, "t"], - [8108, 0, "{"], - [8109, 0, "c"], - [8110, 0, "t"], - [8111, 0, "x"], - [8112, 0, "}"], - [8113, 0, ")"], - [8114, 0, "$"], - [8115, 0, "}"], - [8116, 0, "\n"], - [8117, 0, "\\"], - [8118, 0, "A"], - [8119, 0, "x"], - [8120, 0, "i"], - [8121, 0, "o"], - [8122, 0, "m"], - [8123, 0, "C"], - [8124, 0, "{"], - [8125, 0, "$"], - [8126, 0, "\\"], - [8127, 0, "m"], - [8128, 0, "a"], - [8129, 0, "t"], - [8130, 0, "h"], - [8131, 0, "i"], - [8132, 0, "t"], - [8133, 0, "{"], - [8134, 0, "c"], - [8135, 0, "t"], - [8136, 0, "x"], - [8137, 0, "}"], - [8138, 0, "("], - [8139, 0, "k"], - [8140, 0, "_"], - [8141, 0, "1"], - [8142, 0, ")"], - [8143, 0, ","], - [8144, 0, "\\"], - [8145, 0, ","], - [8146, 0, " "], - [8147, 0, "\\"], - [8148, 0, "m"], - [8149, 0, "a"], - [8150, 0, "t"], - [8151, 0, "h"], - [8152, 0, "s"], - [8153, 0, "f"], - [8154, 0, "{"], - [8155, 0, "}"], - [8155, 0, "c"], - [8156, 0, "u"], - [8157, 0, "r"], - [8158, 0, "s"], - [8159, 0, "o"], - [8160, 0, "r"], - [8162, 0, "("], - [8163, 0, "\\"], - [8164, 0, "l"], - [8165, 0, "a"], - [8166, 0, "n"], - [8167, 0, "g"], - [8168, 0, "l"], - [8169, 0, "e"], - [8170, 0, " "], - [8171, 0, "k"], - [8172, 0, "_"], - [8173, 0, "2"], - [8174, 0, ","], - [8175, 0, " "], - [8176, 0, "\\"], - [8177, 0, "d"], - [8178, 0, "o"], - [8179, 0, "t"], - [8180, 0, "s"], - [8181, 0, ","], - [8182, 0, " "], - [8183, 0, "k"], - [8184, 0, "_"], - [8185, 0, "{"], - [8186, 0, "n"], - [8187, 0, "-"], - [8188, 0, "1"], - [8189, 0, "}"], - [8190, 0, " "], - [8191, 0, "\\"], - [8192, 0, "r"], - [8193, 0, "a"], - [8194, 0, "n"], - [8195, 0, "g"], - [8196, 0, "l"], - [8197, 0, "e"], - [8198, 0, ","], - [8199, 0, "\\"], - [8200, 0, ","], - [8201, 0, " "], - [8202, 0, "k"], - [8203, 0, "_"], - [8204, 0, "n"], - [8205, 0, ")"], - [8206, 0, "."], - [8207, 0, "\\"], - [8208, 0, "m"], - [8209, 0, "a"], - [8210, 0, "t"], - [8211, 0, "h"], - [8212, 0, "s"], - [8213, 0, "f"], - [8214, 0, "{"], - [8215, 0, "n"], - [8216, 0, "e"], - [8217, 0, "x"], - [8218, 0, "t"], - [8219, 0, "}"], - [8220, 0, " "], - [8221, 0, "\\"], - [8222, 0, "e"], - [8223, 0, "v"], - [8224, 0, "a"], - [8224, 1], - [8223, 1], - [8222, 1], - [8221, 1], - [8220, 1], - [8220, 0, "\n"], - [8221, 0, " "], - [8222, 0, " "], - [8223, 0, " "], - [8224, 0, " "], - [8225, 0, "'"], - [8226, 0, "e"], - [8226, 1], - [8225, 1], - [8225, 0, "\\"], - [8226, 0, "e"], - [8227, 0, "v"], - [8228, 0, "a"], - [8229, 0, "l"], - [8230, 0, "t"], - [8231, 0, "o"], - [8232, 0, " "], - [8233, 0, "\\"], - [8234, 0, "m"], - [8235, 0, "a"], - [8236, 0, "t"], - [8237, 0, "h"], - [8238, 0, "s"], - [8239, 0, "f"], - [8240, 0, "{"], - [8241, 0, "c"], - [8242, 0, "u"], - [8243, 0, "r"], - [8244, 0, "s"], - [8245, 0, "o"], - [8246, 0, "r"], - [8247, 0, "}"], - [8248, 0, "("], - [8249, 0, "\\"], - [8250, 0, "l"], - [8251, 0, "a"], - [8252, 0, "n"], - [8253, 0, "g"], - [8254, 0, "l"], - [8255, 0, "e"], - [8256, 0, " "], - [8257, 0, "k"], - [8258, 0, "_"], - [8259, 0, "2"], - [8260, 0, ","], - [8261, 0, " "], - [8262, 0, "\\"], - [8263, 0, "d"], - [8264, 0, "o"], - [8265, 0, "t"], - [8266, 0, "s"], - [8267, 0, ","], - [8268, 0, " "], - [8269, 0, "k"], - [8270, 0, "_"], - [8271, 0, "{"], - [8272, 0, "n"], - [8273, 0, "-"], - [8274, 0, "1"], - [8275, 0, "}"], - [8276, 0, " "], - [8277, 0, "\\"], - [8278, 0, "r"], - [8279, 0, "a"], - [8280, 0, "n"], - [8281, 0, "g"], - [8282, 0, "l"], - [8283, 0, "e"], - [8284, 0, ","], - [8285, 0, "\\"], - [8286, 0, ","], - [8287, 0, " "], - [8288, 0, "k"], - [8289, 0, "_"], - [8290, 0, "n"], - [8291, 0, "'"], - [8292, 0, ")"], - [8293, 0, "$"], - [8294, 0, "}"], - [8295, 0, "\n"], - [8296, 0, "\\"], - [8297, 0, "L"], - [8298, 0, "e"], - [8299, 0, "f"], - [8300, 0, "t"], - [8301, 0, "L"], - [8302, 0, "a"], - [8303, 0, "b"], - [8304, 0, "e"], - [8305, 0, "l"], - [8306, 0, "{"], - [8307, 0, "$"], - [8308, 0, "\\"], - [8309, 0, "t"], - [8310, 0, "e"], - [8311, 0, "x"], - [8312, 0, "t"], - [8313, 0, "s"], - [8314, 0, "c"], - [8315, 0, "{"], - [8316, 0, "N"], - [8317, 0, "e"], - [8318, 0, "x"], - [8319, 0, "t"], - [8320, 0, "}"], - [8321, 0, "_"], - [8322, 0, "3"], - [8323, 0, "$"], - [8324, 0, "}"], - [8325, 0, "\n"], - [8326, 0, "\\"], - [8327, 0, "B"], - [8328, 0, "i"], - [8329, 0, "n"], - [8330, 0, "a"], - [8331, 0, "r"], - [8332, 0, "y"], - [8333, 0, "I"], - [8334, 0, "n"], - [8335, 0, "f"], - [8336, 0, "C"], - [8337, 0, "{"], - [8338, 0, "%"], - [8339, 0, "$"], - [8339, 1], - [8338, 1], - [8338, 0, "%"], - [8338, 1], - [8338, 0, "$"], - [8339, 0, "\\"], - [8340, 0, "m"], - [8341, 0, "a"], - [8342, 0, "t"], - [8343, 0, "h"], - [8344, 0, "i"], - [8345, 0, "t"], - [8346, 0, "{"], - [8347, 0, "c"], - [8348, 0, "t"], - [8349, 0, "x"], - [8350, 0, "}"], - [8351, 0, ","], - [8352, 0, "\\"], - [8353, 0, ","], - [8354, 0, " "], - [8355, 0, "\\"], - [8356, 0, "m"], - [8357, 0, "a"], - [8358, 0, "t"], - [8359, 0, "h"], - [8360, 0, "s"], - [8361, 0, "f"], - [8362, 0, "{"], - [8363, 0, "c"], - [8364, 0, "u"], - [8365, 0, "r"], - [8366, 0, "s"], - [8367, 0, "o"], - [8368, 0, "r"], - [8369, 0, "}"], - [8370, 0, "("], - [8371, 0, "\\"], - [8372, 0, "l"], - [8373, 0, "a"], - [8374, 0, "n"], - [8375, 0, "g"], - [8376, 0, "l"], - [8377, 0, "e"], - [8378, 0, " "], - [8379, 0, "k"], - [8380, 0, "_"], - [8381, 0, "1"], - [8382, 0, ","], - [8383, 0, " "], - [8384, 0, "k"], - [8385, 0, "_"], - [8386, 0, "2"], - [8387, 0, ","], - [8388, 0, " "], - [8389, 0, "\\"], - [8390, 0, "d"], - [8391, 0, "o"], - [8392, 0, "t"], - [8393, 0, "s"], - [8394, 0, ","], - [8395, 0, " "], - [8396, 0, "k"], - [8397, 0, "{"], - [8397, 1], - [8397, 0, "_"], - [8398, 0, "{"], - [8399, 0, "n"], - [8400, 0, "-"], - [8401, 0, "1"], - [8402, 0, "}"], - [8403, 0, " "], - [8404, 0, "\\"], - [8405, 0, "r"], - [8406, 0, "a"], - [8407, 0, "n"], - [8408, 0, "g"], - [8409, 0, "l"], - [8410, 0, "e"], - [8411, 0, ","], - [8412, 0, "\\"], - [8413, 0, ","], - [8414, 0, " "], - [8415, 0, "k"], - [8416, 0, "_"], - [8417, 0, "n"], - [8418, 0, ")"], - [8419, 0, "\\"], - [8420, 0, "."], - [8420, 1], - [8419, 1], - [8419, 0, "."], - [8420, 0, "\\"], - [8421, 0, "m"], - [8422, 0, "a"], - [8423, 0, "t"], - [8424, 0, "h"], - [8425, 0, "s"], - [8426, 0, "f"], - [8427, 0, "{"], - [8428, 0, "n"], - [8429, 0, "e"], - [8430, 0, "x"], - [8431, 0, "t"], - [8432, 0, "}"], - [8433, 0, "\n"], - [8434, 0, " "], - [8435, 0, " "], - [8436, 0, " "], - [8437, 0, " "], - [8438, 0, "\\"], - [8439, 0, "e"], - [8440, 0, "v"], - [8441, 0, "a"], - [8442, 0, "l"], - [8443, 0, "t"], - [8444, 0, "o"], - [8445, 0, " "], - [8446, 0, "\\"], - [8447, 0, "m"], - [8448, 0, "a"], - [8449, 0, "t"], - [8450, 0, "h"], - [8451, 0, "s"], - [8452, 0, "f"], - [8453, 0, "{"], - [8454, 0, "c"], - [8455, 0, "u"], - [8456, 0, "r"], - [8457, 0, "s"], - [8458, 0, "o"], - [8459, 0, "r"], - [8460, 0, "}"], - [8461, 0, "("], - [8462, 0, "\\"], - [8463, 0, "l"], - [8464, 0, "a"], - [8465, 0, "n"], - [8466, 0, "g"], - [8467, 0, "l"], - [8468, 0, "e"], - [8469, 0, " "], - [8470, 0, "k"], - [8471, 0, "_"], - [8472, 0, "1"], - [8473, 0, ","], - [8474, 0, " "], - [8475, 0, "k"], - [8476, 0, "_"], - [8477, 0, "2"], - [8478, 0, ","], - [8479, 0, " "], - [8480, 0, "\\"], - [8481, 0, "d"], - [8482, 0, "o"], - [8483, 0, "t"], - [8484, 0, "s"], - [8485, 0, ","], - [8486, 0, " "], - [8487, 0, "k"], - [8488, 0, "_"], - [8489, 0, "{"], - [8490, 0, "n"], - [8491, 0, "-"], - [8492, 0, "1"], - [8493, 0, "}"], - [8494, 0, " "], - [8495, 0, "\\"], - [8496, 0, "r"], - [8497, 0, "a"], - [8498, 0, "n"], - [8499, 0, "g"], - [8500, 0, "l"], - [8501, 0, "e"], - [8502, 0, ","], - [8503, 0, "\\"], - [8504, 0, ","], - [8505, 0, " "], - [8506, 0, "k"], - [8507, 0, "_"], - [8508, 0, "n"], - [8509, 0, "'"], - [8510, 0, ")"], - [8511, 0, "$"], - [8512, 0, "}"], - [7508, 1], - [7507, 1], - [7506, 1], - [7505, 1], - [7504, 1], - [7503, 1], - [7502, 1], - [7501, 1], - [7500, 1], - [7500, 0, "c"], - [7501, 0, "e"], - [7502, 0, "n"], - [7503, 0, "t"], - [7504, 0, "e"], - [7505, 0, "r"], - [7730, 0, "%"], - [7747, 0, "%"], - [7749, 0, "%"], - [8050, 1], - [8049, 1], - [8048, 1], - [8047, 1], - [8046, 1], - [8045, 1], - [8044, 1], - [8043, 1], - [8042, 1], - [8041, 1], - [8041, 0, "c"], - [8042, 0, "e"], - [8043, 0, "n"], - [8044, 0, "t"], - [8045, 0, "e"], - [8046, 0, "r"], - [8047, 0, "}"], - [8035, 0, "\n"], - [8036, 0, "\\"], - [8037, 0, "D"], - [8038, 0, "i"], - [8039, 0, "s"], - [8040, 0, "p"], - [8041, 0, "l"], - [8042, 0, "a"], - [8043, 0, "y"], - [8044, 0, "P"], - [8045, 0, "r"], - [8046, 0, "o"], - [8047, 0, "o"], - [8048, 0, "f"], - [8049, 0, "\\"], - [8050, 0, "p"], - [8051, 0, "r"], - [8052, 0, "o"], - [8053, 0, "o"], - [8054, 0, "f"], - [8055, 0, "S"], - [8056, 0, "k"], - [8057, 0, "i"], - [8058, 0, "p"], - [8059, 0, "A"], - [8060, 0, "m"], - [8061, 0, "o"], - [8062, 0, "u"], - [8063, 0, "n"], - [8064, 0, "t"], - [7729, 0, "\n"], - [7730, 0, "\\"], - [7731, 0, "D"], - [7732, 0, "i"], - [7733, 0, "s"], - [7734, 0, "p"], - [7735, 0, "l"], - [7736, 0, "a"], - [7737, 0, "y"], - [7738, 0, "P"], - [7739, 0, "r"], - [7740, 0, "o"], - [7741, 0, "o"], - [7742, 0, "f"], - [7743, 0, "\\"], - [7744, 0, "q"], - [7745, 0, "u"], - [7746, 0, "a"], - [7747, 0, "d"], - [7747, 1], - [7746, 1], - [7745, 1], - [7744, 1], - [7744, 0, "h"], - [7745, 0, "s"], - [7746, 0, "p"], - [7747, 0, "a"], - [7748, 0, "c"], - [7749, 0, "e"], - [7750, 0, "{"], - [7751, 0, "2"], - [7752, 0, "e"], - [7753, 0, "m"], - [7754, 0, "}"], - [7751, 1], - [7751, 0, "1"], - [7754, 1], - [7753, 1], - [7752, 1], - [7751, 1], - [7750, 1], - [7749, 1], - [7748, 1], - [7747, 1], - [7746, 1], - [7745, 1], - [7745, 0, "f"], - [7746, 0, "i"], - [7747, 0, "l"], - [7748, 0, "l"], - [7765, 1], - [7764, 1], - [7763, 1], - [7762, 1], - [7761, 1], - [7760, 1], - [7759, 1], - [7758, 1], - [7757, 1], - [7756, 1], - [7755, 1], - [7754, 1], - [7753, 1], - [7752, 1], - [7751, 1], - [7750, 1], - [7749, 1], - [7769, 1], - [7768, 1], - [7767, 1], - [7766, 1], - [7765, 1], - [7764, 1], - [7763, 1], - [7762, 1], - [7761, 1], - [7760, 1], - [7759, 1], - [7758, 1], - [7757, 1], - [7756, 1], - [7755, 1], - [7754, 1], - [7753, 1], - [7752, 1], - [7751, 1], - [5977, 0, "\n"], - [5978, 0, "\\"], - [5979, 0, "b"], - [5980, 0, "e"], - [5981, 0, "g"], - [5982, 0, "i"], - [5983, 0, "n"], - [5984, 0, "{"], - [5985, 0, "f"], - [5986, 0, "i"], - [5987, 0, "g"], - [5988, 0, "u"], - [5989, 0, "r"], - [5990, 0, "e"], - [5991, 0, "}"], - [5992, 0, "\n"], - [5993, 0, "\\"], - [5994, 0, "e"], - [5995, 0, "n"], - [5996, 0, "d"], - [5997, 0, "{"], - [5998, 0, "f"], - [5999, 0, "i"], - [6000, 0, "g"], - [6001, 0, "u"], - [6002, 0, "r"], - [6003, 0, "e"], - [6004, 0, "}"], - [6005, 0, "\n"], - [5992, 0, "\n"], - [5993, 0, "\\"], - [5994, 0, "c"], - [5995, 0, "e"], - [5996, 0, "n"], - [5997, 0, "t"], - [5998, 0, "e"], - [5999, 0, "r"], - [6000, 0, "i"], - [6001, 0, "n"], - [6002, 0, "g"], - [6003, 0, "\n"], - [6004, 0, "\\"], - [6005, 0, "b"], - [6006, 0, "e"], - [6007, 0, "g"], - [6008, 0, "i"], - [6009, 0, "n"], - [6010, 0, "{"], - [6011, 0, "t"], - [6012, 0, "a"], - [6013, 0, "b"], - [6014, 0, "u"], - [6015, 0, "l"], - [6016, 0, "a"], - [6017, 0, "r"], - [6018, 0, "}"], - [6019, 0, "{"], - [6020, 0, "l"], - [6021, 0, "l"], - [6022, 0, "}"], - [6023, 0, "\n"], - [6024, 0, "\\"], - [6025, 0, "e"], - [6026, 0, "n"], - [6027, 0, "d"], - [6028, 0, "{"], - [6029, 0, "t"], - [6030, 0, "a"], - [6031, 0, "b"], - [6032, 0, "u"], - [6033, 0, "l"], - [6034, 0, "a"], - [6035, 0, "r"], - [6036, 0, "}"], - [6037, 0, "\n"], - [6038, 0, "\\"], - [6039, 0, "c"], - [6040, 0, "a"], - [6041, 0, "p"], - [6042, 0, "t"], - [6043, 0, "i"], - [6044, 0, "o"], - [6045, 0, "n"], - [6046, 0, "{"], - [6047, 0, "I"], - [6048, 0, "n"], - [6049, 0, "t"], - [6050, 0, "e"], - [6051, 0, "r"], - [6052, 0, "n"], - [6053, 0, "a"], - [6054, 0, "l"], - [6055, 0, " "], - [6056, 0, "r"], - [6057, 0, "e"], - [6058, 0, "p"], - [6059, 0, "r"], - [6060, 0, "e"], - [6061, 0, "s"], - [6062, 0, "e"], - [6063, 0, "n"], - [6064, 0, "t"], - [6065, 0, "a"], - [6066, 0, "t"], - [6067, 0, "i"], - [6068, 0, "o"], - [6069, 0, "n"], - [6070, 0, " "], - [6071, 0, "o"], - [6072, 0, "f"], - [6073, 0, " "], - [6074, 0, "t"], - [6075, 0, "h"], - [6076, 0, "e"], - [6077, 0, " "], - [6078, 0, "e"], - [6079, 0, "x"], - [6080, 0, "a"], - [6081, 0, "m"], - [6082, 0, "p"], - [6083, 0, "l"], - [6084, 0, "e"], - [6085, 0, " "], - [6086, 0, "o"], - [6087, 0, "f"], - [6088, 0, " "], - [6089, 0, "F"], - [6090, 0, "i"], - [6091, 0, "g"], - [6092, 0, "u"], - [6093, 0, "r"], - [6094, 0, "e"], - [6095, 0, "~"], - [6096, 0, "\\"], - [6097, 0, "r"], - [6098, 0, "e"], - [6099, 0, "f"], - [6100, 0, "{"], - [6101, 0, "f"], - [6102, 0, "i"], - [6103, 0, "g"], - [6104, 0, ":"], - [6105, 0, "m"], - [6106, 0, "a"], - [6107, 0, "k"], - [6108, 0, "e"], - [6109, 0, "-"], - [6110, 0, "d"], - [6111, 0, "o"], - [6112, 0, "c"], - [6113, 0, "}"], - [6114, 0, "."], - [6115, 0, "}"], - [6116, 0, "\\"], - [6117, 0, "l"], - [6118, 0, "a"], - [6119, 0, "b"], - [6120, 0, "e"], - [6121, 0, "l"], - [6122, 0, "{"], - [6123, 0, "f"], - [6124, 0, "i"], - [6125, 0, "g"], - [6126, 0, ":"], - [6127, 0, "s"], - [6128, 0, "t"], - [6129, 0, "a"], - [6130, 0, "t"], - [6131, 0, "e"], - [6132, 0, "-"], - [6133, 0, "e"], - [6134, 0, "x"], - [6135, 0, "a"], - [6136, 0, "m"], - [6137, 0, "p"], - [6138, 0, "l"], - [6139, 0, "e"], - [6140, 0, "}"], - [6023, 0, "\n"], - [6003, 0, "\n"], - [6003, 1], - [6003, 0, " "], - [6004, 0, "\\"], - [6005, 0, "["], - [6020, 1], - [6019, 1], - [6018, 1], - [6017, 1], - [6016, 1], - [6015, 1], - [6014, 1], - [6014, 0, "a"], - [6015, 0, "r"], - [6016, 0, "r"], - [6017, 0, "a"], - [6018, 0, "y"], - [6037, 1], - [6036, 1], - [6035, 1], - [6034, 1], - [6033, 1], - [6032, 1], - [6031, 1], - [6031, 0, "a"], - [6032, 0, "r"], - [6033, 0, "r"], - [6034, 0, "a"], - [6035, 0, "y"], - [6037, 0, " "], - [6038, 0, "\\"], - [6039, 0, "]"], - [6025, 0, "A"], - [6026, 0, "_"], - [6027, 0, "p"], - [6028, 0, " "], - [6029, 0, "="], - [6030, 0, " "], - [6031, 0, "{"], - [6032, 0, "\\"], - [6033, 0, ";"], - [6034, 0, " "], - [6035, 0, "&"], - [6036, 0, " "], - [6037, 0, "\\"], - [6038, 0, "m"], - [6039, 0, "a"], - [6040, 0, "t"], - [6041, 0, "h"], - [6042, 0, "s"], - [6043, 0, "f"], - [6044, 0, "{"], - [6045, 0, "d"], - [6046, 0, "o"], - [6046, 1], - [6045, 1], - [6045, 0, "m"], - [6046, 0, "a"], - [6047, 0, "p"], - [6048, 0, "T"], - [6049, 0, "}"], - [6050, 0, "("], - [6051, 0, "\\"], - [6052, 0, "m"], - [6053, 0, "a"], - [6054, 0, "t"], - [6055, 0, "h"], - [6056, 0, "s"], - [6057, 0, "f"], - [6058, 0, "{"], - [6059, 0, "d"], - [6060, 0, "o"], - [6061, 0, "c"], - [6062, 0, "}"], - [6063, 0, ")"], - [6064, 0, " "], - [6065, 0, "\\"], - [6066, 0, "m"], - [6067, 0, "a"], - [6068, 0, "p"], - [6069, 0, "s"], - [6070, 0, "t"], - [6071, 0, "o"], - [6072, 0, " "], - [6073, 0, "{"], - [6031, 0, "\\"], - [6074, 0, "\\"], - [6141, 1], - [6140, 1], - [6140, 0, "d"], - [6141, 0, "o"], - [6142, 0, "c"], - [6143, 0, "u"], - [6144, 0, "m"], - [6145, 0, "e"], - [6146, 0, "n"], - [6147, 0, "t"], - [6148, 0, " "], - [6149, 0, "i"], - [6150, 0, "n"], - [6150, 1], - [6149, 1], - [6149, 0, "f"], - [6150, 0, "r"], - [6151, 0, "o"], - [6152, 0, "m"], - [6076, 0, " "], - [6077, 0, "\\"], - [6078, 0, "m"], - [6079, 0, "a"], - [6080, 0, "t"], - [6081, 0, "h"], - [6082, 0, "s"], - [6083, 0, "f"], - [6084, 0, "{"], - [6085, 0, "l"], - [6086, 0, "i"], - [6087, 0, "s"], - [6088, 0, "t"], - [6089, 0, "T"], - [6090, 0, "}"], - [6091, 0, "("], - [6092, 0, "\\"], - [6093, 0, "v"], - [6094, 0, "e"], - [6095, 0, "r"], - [6096, 0, "b"], - [6097, 0, "\""], - [6097, 1], - [6097, 0, "|"], - [6098, 0, "\""], - [6099, 0, "s"], - [6100, 0, "h"], - [6101, 0, "o"], - [6102, 0, "p"], - [6103, 0, "p"], - [6104, 0, "i"], - [6105, 0, "n"], - [6106, 0, "g"], - [6107, 0, "\""], - [6108, 0, "|"], - [6109, 0, ")"], - [6110, 0, " "], - [6111, 0, "\\"], - [6112, 0, "m"], - [6113, 0, "a"], - [6114, 0, "p"], - [6115, 0, "s"], - [6116, 0, "t"], - [6117, 0, "o"], - [6118, 0, " "], - [6119, 0, "\\"], - [6120, 0, "{"], - [6121, 0, "\\"], - [6122, 0, "\\"], - [6121, 0, " "], - [6076, 0, "\\"], - [6077, 0, ";"], - [6023, 1], - [6022, 1], - [6021, 1], - [6020, 1], - [6019, 1], - [6018, 1], - [6017, 1], - [6016, 1], - [6015, 1], - [6014, 1], - [6013, 1], - [6012, 1], - [6011, 1], - [6010, 1], - [6009, 1], - [6008, 1], - [6007, 1], - [6006, 1], - [6119, 1], - [6118, 1], - [6117, 1], - [6116, 1], - [6115, 1], - [6114, 1], - [6113, 1], - [6112, 1], - [6111, 1], - [6110, 1], - [6109, 1], - [6109, 0, "\\"], - [6110, 0, "m"], - [6111, 0, "a"], - [6112, 0, "t"], - [6113, 0, "h"], - [6114, 0, "s"], - [6115, 0, "f"], - [6116, 0, "{"], - [6117, 0, "n"], - [6118, 0, "e"], - [6119, 0, "x"], - [6120, 0, "t"], - [6121, 0, "}"], - [6122, 0, "("], - [6123, 0, "\\"], - [6124, 0, "m"], - [6125, 0, "a"], - [6126, 0, "t"], - [6127, 0, "h"], - [6128, 0, "i"], - [6129, 0, "t"], - [6130, 0, "{"], - [6131, 0, "i"], - [6132, 0, "d"], - [6133, 0, "}"], - [6134, 0, "-"], - [6134, 1], - [6134, 0, "_"], - [6135, 0, "3"], - [6136, 0, ")"], - [6137, 0, " "], - [6138, 0, "\\"], - [6139, 0, "m"], - [6140, 0, "a"], - [6141, 0, "p"], - [6142, 0, "s"], - [6143, 0, "t"], - [6144, 0, "o"], - [6145, 0, " "], - [6123, 0, "\\"], - [6124, 0, "m"], - [6125, 0, "a"], - [6126, 0, "t"], - [6127, 0, "h"], - [6128, 0, "s"], - [6129, 0, "f"], - [6130, 0, "{"], - [6131, 0, "h"], - [6132, 0, "e"], - [6133, 0, "a"], - [6134, 0, "d"], - [6135, 0, "}"], - [6136, 0, ")"], - [6137, 0, " "], - [6138, 0, "\\"], - [6139, 0, "m"], - [6140, 0, "a"], - [6141, 0, "p"], - [6142, 0, "s"], - [6143, 0, "t"], - [6144, 0, "o"], - [6145, 0, " "], - [6168, 1], - [6167, 1], - [6166, 1], - [6165, 1], - [6164, 1], - [6163, 1], - [6162, 1], - [6161, 1], - [6160, 1], - [6159, 1], - [6158, 1], - [6158, 0, "3"], - [6159, 0, " "], - [6160, 0, "\\"], - [6161, 0, "\\"], - [6162, 0, "\n"], - [6163, 0, "\\"], - [6164, 0, "m"], - [6165, 0, "a"], - [6166, 0, "t"], - [6167, 0, "h"], - [6168, 0, "s"], - [6169, 0, "f"], - [6170, 0, "{"], - [6171, 0, "n"], - [6172, 0, "e"], - [6173, 0, "x"], - [6174, 0, "t"], - [6175, 0, "}"], - [6176, 0, "("], - [6177, 0, "\\"], - [6178, 0, "m"], - [6179, 0, "a"], - [6180, 0, "t"], - [6181, 0, "h"], - [6182, 0, "i"], - [6183, 0, "t"], - [6184, 0, "{"], - [6185, 0, "i"], - [6186, 0, "d"], - [6187, 0, "}"], - [6188, 0, "_"], - [6189, 0, "2"], - [6190, 0, "3"], - [6190, 1], - [6189, 1], - [6189, 0, "3"], - [6190, 0, ")"], - [6191, 0, " "], - [6192, 0, "\\"], - [6193, 0, "m"], - [6194, 0, "a"], - [6195, 0, "p"], - [6196, 0, "s"], - [6197, 0, "t"], - [6198, 0, "o"], - [6199, 0, " "], - [6200, 0, "\\"], - [6201, 0, "m"], - [6202, 0, "a"], - [6203, 0, "t"], - [6204, 0, "h"], - [6205, 0, "i"], - [6206, 0, "t"], - [6207, 0, "{"], - [6208, 0, "i"], - [6209, 0, "d"], - [6210, 0, "_"], - [6211, 0, "1"], - [6212, 0, "}"], - [6213, 0, " "], - [6214, 0, "\\"], - [6215, 0, "\\"], - [6216, 0, "\n"], - [6217, 0, "\\"], - [6218, 0, "m"], - [6219, 0, "a"], - [6220, 0, "t"], - [6221, 0, "h"], - [6222, 0, "s"], - [6223, 0, "f"], - [6224, 0, "{"], - [6225, 0, "n"], - [6226, 0, "e"], - [6227, 0, "x"], - [6228, 0, "t"], - [6229, 0, "}"], - [6230, 0, "("], - [6231, 0, "m"], - [6231, 1], - [6231, 0, "\\"], - [6232, 0, "m"], - [6233, 0, "a"], - [6234, 0, "t"], - [6235, 0, "h"], - [6236, 0, "i"], - [6237, 0, "t"], - [6238, 0, "{"], - [6239, 0, "i"], - [6240, 0, "d"], - [6241, 0, "_"], - [6242, 0, "1"], - [6243, 0, "}"], - [6243, 1], - [6241, 0, "}"], - [6244, 0, ")"], - [6245, 0, " "], - [6246, 0, "\\"], - [6247, 0, "m"], - [6248, 0, "a"], - [6249, 0, "p"], - [6250, 0, "s"], - [6251, 0, "t"], - [6252, 0, "o"], - [6253, 0, " "], - [6254, 0, "\\"], - [6255, 0, "m"], - [6256, 0, "n"], - [6257, 0, "a"], - [6257, 1], - [6256, 1], - [6256, 0, "a"], - [6257, 0, "t"], - [6258, 0, "h"], - [6259, 0, "i"], - [6260, 0, "t"], - [6261, 0, "{"], - [6262, 0, "i"], - [6263, 0, "d"], - [6264, 0, "_"], - [6265, 0, "2"], - [6266, 0, "}"], - [6267, 0, " "], - [6268, 0, "\\"], - [6269, 0, "\\"], - [6270, 0, "\n"], - [6271, 0, "\\"], - [6272, 0, "m"], - [6273, 0, "a"], - [6274, 0, "t"], - [6275, 0, "h"], - [6276, 0, "s"], - [6277, 0, "f"], - [6278, 0, "{"], - [6279, 0, "n"], - [6280, 0, "e"], - [6281, 0, "x"], - [6282, 0, "t"], - [6283, 0, "}"], - [6284, 0, "("], - [6285, 0, "\\"], - [6286, 0, "m"], - [6287, 0, "a"], - [6288, 0, "t"], - [6289, 0, "h"], - [6290, 0, "i"], - [6291, 0, "t"], - [6292, 0, "{"], - [6293, 0, "i"], - [6294, 0, "d"], - [6295, 0, "}"], - [6296, 0, "_"], - [6297, 0, "2"], - [6298, 0, ")"], - [6299, 0, " "], - [6300, 0, "\\"], - [6301, 0, "m"], - [6302, 0, "a"], - [6303, 0, "p"], - [6304, 0, "s"], - [6305, 0, "t"], - [6306, 0, "o"], - [6307, 0, " "], - [6308, 0, "\\"], - [6309, 0, "m"], - [6310, 0, "a"], - [6311, 0, "t"], - [6312, 0, "h"], - [6313, 0, "s"], - [6314, 0, "f"], - [6315, 0, "{"], - [6316, 0, "t"], - [6317, 0, "a"], - [6318, 0, "i"], - [6319, 0, "l"], - [6320, 0, "}"], - [6019, 1], - [6018, 1], - [6006, 0, " "], - [6007, 0, "\\"], - [6008, 0, "b"], - [6009, 0, "e"], - [6010, 0, "g"], - [6011, 0, "i"], - [6012, 0, "n"], - [6013, 0, "{"], - [6014, 0, "a"], - [6015, 0, "l"], - [6016, 0, "i"], - [6017, 0, "g"], - [6018, 0, "n"], - [6019, 0, "a"], - [6020, 0, "t"], - [6021, 0, "*"], - [6022, 0, "}"], - [6023, 0, "{"], - [6024, 0, "2"], - [6025, 0, "}"], - [6066, 0, "&"], - [6067, 0, " "], - [6129, 0, "&"], - [6130, 0, " "], - [6185, 0, "&"], - [6186, 0, " "], - [6241, 0, "&"], - [6242, 0, " "], - [6297, 0, "&"], - [6298, 0, " "], - [6349, 0, " "], - [6350, 0, "\\"], - [6351, 0, "e"], - [6352, 0, "n"], - [6353, 0, "d"], - [6354, 0, "{"], - [6355, 0, "a"], - [6356, 0, "l"], - [6357, 0, "i"], - [6358, 0, "g"], - [6359, 0, "n"], - [6360, 0, "a"], - [6361, 0, "t"], - [6362, 0, "*"], - [6363, 0, "}"], - [6349, 1], - [6349, 0, "\n"], - [6366, 1], - [6365, 1], - [6364, 1], - [6006, 1], - [6005, 1], - [6004, 1], - [6030, 0, "&"], - [6031, 0, " "], - [6128, 0, "&"], - [6185, 0, "&"], - [6242, 0, "&"], - [6299, 0, "&"], - [6367, 0, " "], - [6368, 0, "\\"], - [6369, 0, "]"], - [6003, 0, " "], - [6004, 0, "\\"], - [6005, 0, "["], - [6030, 0, " "], - [6031, 0, "&"], - [6035, 1], - [6035, 1], - [6005, 1], - [6005, 0, "b"], - [6006, 0, "e"], - [6007, 0, "g"], - [6008, 0, "i"], - [6009, 0, "n"], - [6010, 0, "{"], - [6011, 0, "e"], - [6012, 0, "q"], - [6013, 0, "u"], - [6014, 0, "a"], - [6015, 0, "t"], - [6016, 0, "i"], - [6017, 0, "o"], - [6018, 0, "n"], - [6019, 0, "*"], - [6020, 0, "}"], - [6021, 1], - [6386, 1], - [6385, 1], - [6384, 1], - [6383, 1], - [6383, 0, "\\"], - [6384, 0, "e"], - [6385, 0, "n"], - [6386, 0, "d"], - [6387, 0, "{"], - [6388, 0, "e"], - [6389, 0, "q"], - [6390, 0, "u"], - [6391, 0, "a"], - [6392, 0, "t"], - [6393, 0, "i"], - [6394, 0, "o"], - [6395, 0, "n"], - [6396, 0, "*"], - [6397, 0, "}"], - [6383, 0, "}"], - [6083, 0, "&"], - [6146, 0, "&"], - [6204, 0, "&"], - [6262, 0, "&"], - [6320, 0, "&"], - [6146, 0, "%"], - [6205, 0, "%"], - [6264, 0, "%"], - [6323, 0, "%"], - [6041, 0, "%"], - [6020, 1], - [6019, 1], - [6018, 1], - [6017, 1], - [6016, 1], - [6015, 1], - [6014, 1], - [6013, 1], - [6012, 1], - [6011, 1], - [6010, 1], - [6009, 1], - [6008, 1], - [6007, 1], - [6006, 1], - [6005, 1], - [6004, 1], - [6391, 1], - [6390, 1], - [6389, 1], - [6388, 1], - [6387, 1], - [6386, 1], - [6385, 1], - [6384, 1], - [6383, 1], - [6382, 1], - [6381, 1], - [6380, 1], - [6379, 1], - [6378, 1], - [6377, 1], - [6024, 1], - [6129, 1], - [6187, 1], - [6245, 1], - [6303, 1], - [6081, 0, "%"], - [6081, 0, "\\"], - [6082, 0, "\\"], - [6067, 1], - [6066, 1], - [6065, 1], - [6050, 0, "&"], - [6051, 0, "&"], - [6064, 0, "f"], - [6065, 0, "f"], - [6066, 0, "f"], - [6067, 0, "f"], - [6068, 0, "f"], - [6068, 1], - [6067, 1], - [6066, 1], - [6065, 1], - [6064, 1], - [6082, 1], - [6081, 1], - [6080, 1], - [6079, 1], - [6079, 0, " "], - [6101, 1], - [6100, 1], - [6099, 1], - [6098, 1], - [6097, 1], - [6096, 1], - [6096, 0, "m"], - [6097, 0, "a"], - [6098, 0, "t"], - [6099, 0, "h"], - [6100, 0, "s"], - [6101, 0, "f"], - [6102, 0, "{"], - [6103, 0, "`"], - [6104, 0, "`"], - [6114, 1], - [6113, 1], - [6113, 0, "'"], - [6114, 0, "'"], - [6115, 0, "}"], - [6101, 1], - [6100, 1], - [6099, 1], - [6098, 1], - [6097, 1], - [6096, 1], - [6096, 0, "t"], - [6097, 0, "e"], - [6098, 0, "x"], - [6099, 0, "t"], - [6184, 0, ","], - [6243, 0, ","], - [6302, 0, ","], - [6163, 0, "&"], - [6164, 0, " "], - [6224, 0, "&"], - [6225, 0, " "], - [6285, 0, "&"], - [6286, 0, " "], - [6346, 0, "&"], - [6347, 0, " "], - [6313, 1], - [6252, 1], - [6191, 1], - [6130, 1], - [6051, 1], - [6050, 1], - [6065, 0, "&"], - [6066, 0, "&"], - [6067, 0, " "], - [6366, 0, " "], - [6367, 0, "\\"], - [6368, 0, "\\"], - [6369, 0, "\n"], - [6370, 0, "&"], - [6371, 0, " "], - [6372, 0, "\\"], - [6373, 0, "}"], - [6374, 0, "\\"], - [6375, 0, ","], - [6375, 1], - [6375, 0, ";"], - [6376, 0, "\\"], - [6377, 0, "}"], - [6378, 0, "\\"], - [6379, 0, ";"], - [6380, 0, "\\"], - [6381, 0, "}"], - [6036, 0, " "], - [6037, 0, "&"], - [6067, 1], - [6028, 1], - [6028, 1], - [6029, 0, " "], - [6030, 0, "&"], - [6038, 1], - [6037, 1], - [6050, 0, "&"], - [6067, 1], - [6066, 1], - [6093, 0, "&"], - [6029, 0, "\\"], - [6030, 0, "l"], - [6031, 0, ";"], - [6030, 1], - [6065, 0, "f"], - [6066, 0, "f"], - [6067, 0, "f"], - [6068, 0, "f"], - [6069, 0, "f"], - [6069, 1], - [6068, 1], - [6067, 1], - [6066, 1], - [6065, 1], - [6081, 0, "&"], - [6096, 1], - [6191, 0, "\n"], - [6192, 0, "&"], - [6193, 0, "&"], - [6194, 0, " "], - [6195, 0, "\\"], - [6196, 0, "m"], - [6197, 0, "a"], - [6198, 0, "t"], - [6199, 0, "h"], - [6200, 0, "s"], - [6201, 0, "f"], - [6202, 0, "{"], - [6203, 0, "r"], - [6204, 0, "e"], - [6205, 0, "g"], - [6206, 0, "T"], - [6207, 0, "}"], - [6208, 0, "("], - [6209, 0, "\\"], - [6210, 0, "m"], - [6211, 0, "a"], - [6212, 0, "t"], - [6213, 0, "h"], - [6214, 0, "i"], - [6215, 0, "t"], - [6216, 0, "{"], - [6217, 0, "i"], - [6218, 0, "d"], - [6219, 0, "}"], - [6220, 0, "_"], - [6221, 0, "3"], - [6222, 0, ")"], - [6223, 0, " "], - [6224, 0, "&"], - [6225, 0, " "], - [6226, 0, "\\"], - [6227, 0, "m"], - [6228, 0, "a"], - [6229, 0, "p"], - [6230, 0, "s"], - [6231, 0, "t"], - [6232, 0, "o"], - [6233, 0, " "], - [6234, 0, "\\"], - [6235, 0, "{"], - [6236, 0, "\\"], - [6237, 0, ","], - [6238, 0, "\\"], - [6239, 0, "m"], - [6240, 0, "a"], - [6241, 0, "t"], - [6242, 0, "h"], - [6243, 0, "s"], - [6244, 0, "f"], - [6245, 0, "{"], - [6246, 0, "o"], - [6247, 0, "p"], - [6248, 0, "}"], - [6249, 0, "("], - [6250, 0, "\\"], - [6251, 0, "m"], - [6252, 0, "a"], - [6253, 0, "t"], - [6254, 0, "h"], - [6255, 0, "i"], - [6256, 0, "t"], - [6256, 1], - [6255, 1], - [6255, 0, "s"], - [6256, 0, "f"], - [6257, 0, "{"], - [6258, 0, "i"], - [6259, 0, "d"], - [6260, 0, "}"], - [6261, 0, ":"], - [6262, 0, " "], - [6263, 0, "\\"], - [6264, 0, "m"], - [6265, 0, "a"], - [6266, 0, "t"], - [6267, 0, "h"], - [6268, 0, "i"], - [6269, 0, "t"], - [6270, 0, "{"], - [6271, 0, "i"], - [6272, 0, "d"], - [6273, 0, "}"], - [6274, 0, "_"], - [6275, 0, "3"], - [6276, 0, ","], - [6277, 0, " "], - [6278, 0, "\\"], - [6279, 0, "m"], - [6280, 0, "a"], - [6281, 0, "t"], - [6282, 0, "h"], - [6283, 0, "s"], - [6284, 0, "f"], - [6285, 0, "{"], - [6286, 0, "v"], - [6287, 0, "a"], - [6288, 0, "l"], - [6289, 0, "u"], - [6290, 0, "e"], - [6291, 0, "}"], - [6292, 0, ":"], - [6293, 0, " "], - [6294, 0, "\\"], - [6295, 0, "t"], - [6296, 0, "e"], - [6297, 0, "x"], - [6298, 0, "t"], - [6299, 0, "{"], - [6300, 0, "`"], - [6301, 0, "`"], - [6302, 0, "c"], - [6303, 0, "h"], - [6304, 0, "e"], - [6305, 0, "e"], - [6306, 0, "s"], - [6307, 0, "e"], - [6308, 0, "'"], - [6309, 0, "'"], - [6310, 0, "}"], - [6311, 0, ")"], - [6312, 0, "\\"], - [6313, 0, ","], - [6314, 0, "\\"], - [6315, 0, "}"], - [6233, 0, "\n"], - [6234, 0, " "], - [6235, 0, " "], - [6236, 0, " "], - [6320, 0, " "], - [6321, 0, "\\"], - [6322, 0, "\\"], - [6081, 1], - [6067, 0, " "], - [6068, 0, "&"], - [6052, 1], - [6032, 0, "&"], - [6504, 1], - [6504, 1], - [6504, 0, "&"], - [6505, 0, "&"], - [6506, 0, " "], - [6506, 1], - [6505, 1], - [6504, 1], - [6282, 0, "\\"], - [6283, 0, ","], - [6386, 0, "\n"], - [6387, 0, "&"], - [6388, 0, "&"], - [6389, 0, " "], - [6390, 0, "\\"], - [6391, 0, "m"], - [6392, 0, "a"], - [6393, 0, "t"], - [6394, 0, "h"], - [6395, 0, "s"], - [6396, 0, "f"], - [6397, 0, "{"], - [6398, 0, "r"], - [6399, 0, "e"], - [6400, 0, "g"], - [6401, 0, "T"], - [6402, 0, "}"], - [6403, 0, "("], - [6404, 0, "\\"], - [6405, 0, "m"], - [6406, 0, "a"], - [6407, 0, "t"], - [6408, 0, "h"], - [6409, 0, "i"], - [6410, 0, "t"], - [6411, 0, "{"], - [6412, 0, "i"], - [6413, 0, "d"], - [6414, 0, "}"], - [6415, 0, "_"], - [6416, 0, "1"], - [6417, 0, ")"], - [6418, 0, " "], - [6419, 0, "&"], - [6420, 0, " "], - [6421, 0, "\\"], - [6422, 0, "m"], - [6423, 0, "a"], - [6424, 0, "p"], - [6425, 0, "s"], - [6426, 0, "t"], - [6427, 0, "o"], - [6428, 0, " "], - [6428, 1], - [6428, 0, "\n"], - [6429, 0, " "], - [6430, 0, " "], - [6431, 0, " "], - [6432, 0, " "], - [6433, 0, "\\"], - [6434, 0, "{"], - [6435, 0, "\\"], - [6436, 0, ","], - [6437, 0, "\\"], - [6438, 0, "m"], - [6439, 0, "a"], - [6440, 0, "t"], - [6441, 0, "h"], - [6442, 0, "s"], - [6443, 0, "f"], - [6444, 0, "{"], - [6445, 0, "o"], - [6446, 0, "p"], - [6447, 0, "}"], - [6448, 0, "("], - [6449, 0, "\\"], - [6450, 0, "m"], - [6451, 0, "a"], - [6452, 0, "t"], - [6453, 0, "h"], - [6454, 0, "s"], - [6455, 0, "f"], - [6456, 0, "{"], - [6457, 0, "i"], - [6458, 0, "d"], - [6459, 0, "}"], - [6460, 0, ":"], - [6461, 0, " "], - [6462, 0, "\\"], - [6463, 0, "m"], - [6464, 0, "a"], - [6465, 0, "t"], - [6466, 0, "h"], - [6467, 0, "i"], - [6468, 0, "t"], - [6469, 0, "{"], - [6470, 0, "i"], - [6471, 0, "d"], - [6472, 0, "}"], - [6473, 0, "_"], - [6474, 0, "1"], - [6475, 0, ","], - [6476, 0, "\\"], - [6477, 0, ","], - [6478, 0, " "], - [6479, 0, "\\"], - [6480, 0, "m"], - [6481, 0, "a"], - [6482, 0, "t"], - [6483, 0, "h"], - [6484, 0, "s"], - [6485, 0, "f"], - [6486, 0, "{"], - [6487, 0, "v"], - [6488, 0, "a"], - [6489, 0, "l"], - [6490, 0, "u"], - [6491, 0, "e"], - [6492, 0, "}"], - [6493, 0, ":"], - [6494, 0, " "], - [6495, 0, "\\"], - [6496, 0, "t"], - [6497, 0, "e"], - [6498, 0, "x"], - [6499, 0, "t"], - [6500, 0, "{"], - [6501, 0, "`"], - [6502, 0, "`"], - [6503, 0, "e"], - [6504, 0, "g"], - [6505, 0, "g"], - [6506, 0, "s"], - [6507, 0, "'"], - [6508, 0, "'"], - [6509, 0, "}"], - [6510, 0, ")"], - [6511, 0, ","], - [6512, 0, "\\"], - [6513, 0, ","], - [6514, 0, "\\"], - [6515, 0, "}"], - [6516, 0, " "], - [6517, 0, "\\"], - [6518, 0, "\\"], - [6579, 0, "\n"], - [6580, 0, "&"], - [6581, 0, "&"], - [6582, 0, " "], - [6583, 0, "\\"], - [6584, 0, "m"], - [6585, 0, "a"], - [6586, 0, "t"], - [6587, 0, "h"], - [6588, 0, "s"], - [6589, 0, "f"], - [6590, 0, "{"], - [6591, 0, "r"], - [6592, 0, "e"], - [6593, 0, "g"], - [6594, 0, "T"], - [6595, 0, "}"], - [6596, 0, "("], - [6597, 0, "\\"], - [6598, 0, "m"], - [6599, 0, "a"], - [6600, 0, "t"], - [6601, 0, "h"], - [6602, 0, "i"], - [6603, 0, "t"], - [6604, 0, "{"], - [6605, 0, "i"], - [6606, 0, "d"], - [6607, 0, "_"], - [6607, 1], - [6607, 0, "}"], - [6608, 0, "_"], - [6609, 0, "2"], - [6610, 0, ")"], - [6611, 0, " "], - [6612, 0, "&"], - [6613, 0, " "], - [6614, 0, "\\"], - [6615, 0, "m"], - [6616, 0, "a"], - [6617, 0, "p"], - [6618, 0, "s"], - [6619, 0, "t"], - [6620, 0, "o"], - [6621, 0, " "], - [6622, 0, "'"], - [6622, 1], - [6621, 1], - [6621, 0, "\n"], - [6622, 0, " "], - [6623, 0, " "], - [6624, 0, " "], - [6625, 0, " "], - [6626, 0, "\\"], - [6627, 0, "{"], - [6628, 0, "\\"], - [6629, 0, ","], - [6630, 0, "\\"], - [6631, 0, "m"], - [6632, 0, "a"], - [6633, 0, "t"], - [6634, 0, "h"], - [6635, 0, "s"], - [6636, 0, "f"], - [6637, 0, "{"], - [6638, 0, "o"], - [6639, 0, "p"], - [6640, 0, "}"], - [6641, 0, "("], - [6642, 0, "\\"], - [6643, 0, "m"], - [6644, 0, "a"], - [6645, 0, "t"], - [6646, 0, "h"], - [6647, 0, "s"], - [6648, 0, "f"], - [6649, 0, "{"], - [6650, 0, "i"], - [6651, 0, "d"], - [6652, 0, "}"], - [6653, 0, ":"], - [6654, 0, " "], - [6655, 0, "\\"], - [6656, 0, "m"], - [6657, 0, "n"], - [6658, 0, "a"], - [6658, 1], - [6657, 1], - [6657, 0, "a"], - [6658, 0, "t"], - [6659, 0, "h"], - [6660, 0, "i"], - [6661, 0, "t"], - [6662, 0, "{"], - [6663, 0, "i"], - [6664, 0, "d"], - [6665, 0, "}"], - [6666, 0, "_"], - [6667, 0, "2"], - [6668, 0, ","], - [6669, 0, "\\"], - [6670, 0, ","], - [6671, 0, " "], - [6672, 0, "\\"], - [6673, 0, "m"], - [6674, 0, "a"], - [6675, 0, "t"], - [6676, 0, "h"], - [6677, 0, "s"], - [6678, 0, "f"], - [6679, 0, "{"], - [6680, 0, "v"], - [6681, 0, "a"], - [6682, 0, "l"], - [6683, 0, "u"], - [6684, 0, "e"], - [6685, 0, "}"], - [6686, 0, ":"], - [6687, 0, " "], - [6688, 0, "\\"], - [6689, 0, "t"], - [6690, 0, "e"], - [6691, 0, "x"], - [6692, 0, "t"], - [6693, 0, "{"], - [6694, 0, "`"], - [6695, 0, "`"], - [6696, 0, "m"], - [6697, 0, "i"], - [6698, 0, "l"], - [6699, 0, "k"], - [6700, 0, "'"], - [6701, 0, "'"], - [6702, 0, "}"], - [6703, 0, ")"], - [6511, 1], - [6703, 0, "\\"], - [6704, 0, ","], - [6705, 0, "\\"], - [6706, 0, "}"], - [6707, 0, " "], - [6708, 0, "\\"], - [6709, 0, "\\"], - [6707, 0, ","], - [6515, 0, ","], - [6323, 0, ","], - [9590, 0, "\n"], - [9591, 0, "\n"], - [9592, 0, "T"], - [9593, 0, "h"], - [9594, 0, "e"], - [9595, 0, " "], - [9596, 0, "s"], - [9597, 0, "t"], - [9598, 0, "a"], - [9599, 0, "t"], - [9600, 0, "e"], - [9601, 0, " "], - [9602, 0, "o"], - [9603, 0, "f"], - [9604, 0, " "], - [9605, 0, "p"], - [9606, 0, "e"], - [9607, 0, "e"], - [9608, 0, "r"], - [9609, 0, " "], - [9610, 0, "$"], - [9611, 0, "p"], - [9612, 0, "$"], - [9613, 0, " "], - [9614, 0, "i"], - [9615, 0, "s"], - [9616, 0, " "], - [9617, 0, "d"], - [9618, 0, "e"], - [9619, 0, "s"], - [9620, 0, "c"], - [9621, 0, "r"], - [9622, 0, "i"], - [9623, 0, "b"], - [9624, 0, "e"], - [9625, 0, "d"], - [9626, 0, " "], - [9627, 0, "w"], - [9628, 0, "i"], - [9629, 0, "t"], - [9630, 0, "h"], - [9631, 0, " "], - [9632, 0, "$"], - [9633, 0, "A"], - [9634, 0, "_"], - [9635, 0, "p"], - [9636, 0, "$"], - [9637, 0, ","], - [9638, 0, " "], - [9639, 0, "a"], - [9640, 0, " "], - [9641, 0, "f"], - [9642, 0, "i"], - [9643, 0, "n"], - [9644, 0, "i"], - [9645, 0, "t"], - [9646, 0, "e"], - [9647, 0, " "], - [9648, 0, "p"], - [9649, 0, "a"], - [9650, 0, "r"], - [9651, 0, "t"], - [9652, 0, "i"], - [9653, 0, "a"], - [9654, 0, "l"], - [9655, 0, " "], - [9656, 0, "f"], - [9657, 0, "u"], - [9658, 0, "n"], - [9659, 0, "c"], - [9660, 0, "t"], - [9661, 0, "i"], - [9662, 0, "o"], - [9663, 0, "n"], - [9664, 0, "."], - [9630, 1], - [9629, 1], - [9628, 1], - [9627, 1], - [9627, 0, "b"], - [9628, 0, "y"], - [9663, 0, " "], - [9664, 0, "E"], - [9664, 1], - [9664, 0, "T"], - [9665, 0, "h"], - [9666, 0, "e"], - [9667, 0, " "], - [9668, 0, "s"], - [9669, 0, "e"], - [9670, 0, "m"], - [9671, 0, "e"], - [9671, 1], - [9671, 0, "a"], - [9672, 0, "n"], - [9673, 0, "t"], - [9674, 0, "i"], - [9675, 0, "c"], - [9676, 0, "s"], - [9677, 0, " "], - [9678, 0, "o"], - [9679, 0, "f"], - [9680, 0, " "], - [9681, 0, "t"], - [9682, 0, "h"], - [9683, 0, "e"], - [9684, 0, " "], - [9685, 0, "c"], - [9686, 0, "o"], - [9687, 0, "m"], - [9688, 0, "m"], - [9689, 0, "a"], - [9690, 0, "n"], - [9691, 0, "d"], - [9692, 0, " "], - [9693, 0, "l"], - [9694, 0, "a"], - [9695, 0, "n"], - [9696, 0, "g"], - [9697, 0, "u"], - [9698, 0, "a"], - [9699, 0, "g"], - [9700, 0, "e"], - [9701, 0, " "], - [9702, 0, "a"], - [9703, 0, "r"], - [9704, 0, "e"], - [9705, 0, " "], - [9706, 0, "d"], - [9707, 0, "e"], - [9708, 0, "f"], - [9709, 0, "i"], - [9710, 0, "n"], - [9711, 0, "e"], - [9712, 0, "d"], - [9713, 0, " "], - [9714, 0, "b"], - [9715, 0, "y"], - [9716, 0, " "], - [9717, 0, "r"], - [9718, 0, "u"], - [9719, 0, "l"], - [9720, 0, "e"], - [9721, 0, "s"], - [9722, 0, " "], - [9723, 0, "t"], - [9724, 0, "h"], - [9725, 0, "a"], - [9726, 0, "t"], - [9727, 0, " "], - [9728, 0, "i"], - [9729, 0, "n"], - [9730, 0, "s"], - [9731, 0, "p"], - [9732, 0, "e"], - [9733, 0, "c"], - [9734, 0, "t"], - [9735, 0, " "], - [9736, 0, "a"], - [9737, 0, "n"], - [9738, 0, "d"], - [9739, 0, " "], - [9740, 0, "m"], - [9741, 0, "o"], - [9742, 0, "d"], - [9743, 0, "i"], - [9744, 0, "f"], - [9745, 0, "y"], - [9746, 0, " "], - [9747, 0, "t"], - [9748, 0, "h"], - [9749, 0, "i"], - [9750, 0, "s"], - [9751, 0, " "], - [9752, 0, "l"], - [9753, 0, "o"], - [9754, 0, "c"], - [9755, 0, "a"], - [9756, 0, "l"], - [9757, 0, " "], - [9758, 0, "s"], - [9759, 0, "t"], - [9760, 0, "a"], - [9761, 0, "t"], - [9762, 0, "e"], - [9763, 0, " "], - [9764, 0, "$"], - [9765, 0, "A"], - [9766, 0, "-"], - [9767, 0, "P"], - [9767, 1], - [9766, 1], - [9765, 1], - [9765, 0, "A"], - [9766, 0, "_"], - [9767, 0, "p"], - [9768, 0, "$"], - [9769, 0, ","], - [9770, 0, " "], - [9771, 0, "a"], - [9772, 0, "n"], - [9773, 0, "d"], - [9774, 0, " "], - [9775, 0, "w"], - [9776, 0, "h"], - [9777, 0, "i"], - [9778, 0, "c"], - [9779, 0, "h"], - [9780, 0, " "], - [9781, 0, "a"], - [9782, 0, "r"], - [9783, 0, "e"], - [9784, 0, " "], - [9785, 0, "i"], - [9786, 0, "n"], - [9787, 0, "d"], - [9788, 0, "e"], - [9789, 0, "p"], - [9790, 0, "e"], - [9791, 0, "n"], - [9792, 0, "t"], - [9792, 1], - [9792, 0, "d"], - [9793, 0, "e"], - [9794, 0, "n"], - [9795, 0, "t"], - [9796, 0, " "], - [9797, 0, "o"], - [9798, 0, "f"], - [9799, 0, " "], - [9800, 0, "t"], - [9801, 0, "h"], - [9802, 0, "e"], - [9803, 0, " "], - [9804, 0, "s"], - [9805, 0, "t"], - [9806, 0, "a"], - [9807, 0, "t"], - [9808, 0, "e"], - [9809, 0, " "], - [9810, 0, "o"], - [9811, 0, "f"], - [9812, 0, " "], - [9812, 1], - [9811, 1], - [9810, 1], - [9810, 0, "$"], - [9811, 0, "A"], - [9812, 0, "_"], - [9813, 0, "{"], - [9814, 0, "p"], - [9815, 0, "'"], - [9816, 0, "}"], - [9817, 0, "$"], - [9818, 0, " "], - [9819, 0, "o"], - [9820, 0, "f"], - [9821, 0, " "], - [9822, 0, "a"], - [9823, 0, "n"], - [9824, 0, "y"], - [9825, 0, " "], - [9826, 0, "o"], - [9827, 0, "t"], - [9828, 0, "h"], - [9829, 0, "e"], - [9830, 0, "r"], - [9831, 0, " "], - [9832, 0, "p"], - [9833, 0, "e"], - [9834, 0, "e"], - [9835, 0, "r"], - [9836, 0, " "], - [9837, 0, "$"], - [9838, 0, "p"], - [9839, 0, "'"], - [9840, 0, "$"], - [9841, 0, "."], - [9842, 0, " "], - [9843, 0, "T"], - [9844, 0, "h"], - [9845, 0, "e"], - [9846, 0, " "], - [9847, 0, "o"], - [9848, 0, "n"], - [9849, 0, "l"], - [9850, 0, "y"], - [9851, 0, " "], - [9852, 0, "c"], - [9853, 0, "o"], - [9854, 0, "m"], - [9855, 0, "m"], - [9856, 0, "u"], - [9857, 0, "n"], - [9858, 0, "i"], - [9859, 0, "c"], - [9860, 0, "a"], - [9861, 0, "t"], - [9862, 0, "i"], - [9863, 0, "o"], - [9864, 0, "n"], - [9865, 0, " "], - [9866, 0, "p"], - [9867, 0, "e"], - [9867, 1], - [9866, 1], - [9866, 0, "b"], - [9867, 0, "e"], - [9868, 0, "t"], - [9869, 0, "w"], - [9870, 0, "e"], - [9871, 0, "e"], - [9872, 0, "n"], - [9873, 0, " "], - [9874, 0, "p"], - [9875, 0, "e"], - [9876, 0, "e"], - [9877, 0, "r"], - [9878, 0, "s"], - [9879, 0, " "], - [9880, 0, "o"], - [9881, 0, "c"], - [9882, 0, "c"], - [9883, 0, "u"], - [9884, 0, "r"], - [9885, 0, "s"], - [9886, 0, " "], - [9887, 0, "i"], - [9888, 0, "n"], - [9889, 0, " "], - [9890, 0, "t"], - [9891, 0, "h"], - [9892, 0, "e"], - [9893, 0, " "], - [9894, 0, "e"], - [9895, 0, "v"], - [9896, 0, "a"], - [9897, 0, "l"], - [9898, 0, "u"], - [9899, 0, "a"], - [9900, 0, "t"], - [9901, 0, "i"], - [9902, 0, "o"], - [9903, 0, "n"], - [9904, 0, " "], - [9905, 0, "o"], - [9906, 0, "f"], - [9907, 0, " "], - [9908, 0, "t"], - [9909, 0, "h"], - [9910, 0, "e"], - [9911, 0, " "], - [9912, 0, "\\"], - [9913, 0, "t"], - [9914, 0, "e"], - [9915, 0, "x"], - [9916, 0, "t"], - [9917, 0, "s"], - [9918, 0, "f"], - [9919, 0, "{"], - [9920, 0, "y"], - [9921, 0, "i"], - [9922, 0, "e"], - [9923, 0, "l"], - [9924, 0, "d"], - [9925, 0, "}"], - [9926, 0, " "], - [9927, 0, "c"], - [9928, 0, "o"], - [9929, 0, "m"], - [9930, 0, "m"], - [9931, 0, "a"], - [9932, 0, "n"], - [9933, 0, "d"], - [9934, 0, ","], - [9935, 0, " "], - [9936, 0, "w"], - [9937, 0, "h"], - [9938, 0, "i"], - [9939, 0, "c"], - [9940, 0, "h"], - [9941, 0, " "], - [9942, 0, "w"], - [9943, 0, "e"], - [9944, 0, " "], - [9945, 0, "d"], - [9946, 0, "i"], - [9947, 0, "s"], - [9948, 0, "c"], - [9949, 0, "u"], - [9950, 0, "s"], - [9951, 0, "s"], - [9952, 0, " "], - [9953, 0, "l"], - [9954, 0, "a"], - [9955, 0, "t"], - [9956, 0, "e"], - [9957, 0, "r"], - [9958, 0, "."], - [9959, 0, " "], - [9960, 0, "F"], - [9961, 0, "o"], - [9962, 0, "r"], - [9963, 0, " "], - [9964, 0, "n"], - [9965, 0, "o"], - [9966, 0, "w"], - [9967, 0, " "], - [9967, 1], - [9967, 0, ","], - [9968, 0, " "], - [9969, 0, "w"], - [9970, 0, "e"], - [9971, 0, " "], - [9972, 0, "c"], - [9973, 0, "o"], - [9974, 0, "n"], - [9975, 0, "c"], - [9976, 0, "e"], - [9977, 0, "n"], - [9978, 0, "t"], - [9979, 0, "r"], - [9980, 0, "a"], - [9981, 0, "t"], - [9982, 0, "e"], - [9983, 0, " "], - [9984, 0, "o"], - [9985, 0, "n"], - [9986, 0, " "], - [9987, 0, "t"], - [9988, 0, "h"], - [9989, 0, "e"], - [9990, 0, " "], - [9991, 0, "e"], - [9992, 0, "x"], - [9993, 0, "e"], - [9994, 0, "c"], - [9995, 0, "u"], - [9996, 0, "t"], - [9997, 0, "i"], - [9998, 0, "o"], - [9999, 0, "n"], - [10000, 0, " "], - [10001, 0, "o"], - [10002, 0, "f"], - [10003, 0, " "], - [10004, 0, "c"], - [10005, 0, "o"], - [10006, 0, "m"], - [10007, 0, "m"], - [10008, 0, "a"], - [10009, 0, "n"], - [10010, 0, "d"], - [10011, 0, "s"], - [10012, 0, " "], - [10013, 0, "a"], - [10014, 0, "t"], - [10015, 0, " "], - [10016, 0, "a"], - [10017, 0, " "], - [10018, 0, "s"], - [10019, 0, "i"], - [10020, 0, "n"], - [10021, 0, "g"], - [10022, 0, "l"], - [10023, 0, "e"], - [10024, 0, " "], - [10025, 0, "p"], - [10026, 0, "e"], - [10027, 0, "e"], - [10028, 0, "r"], - [10029, 0, " "], - [10030, 0, "$"], - [10031, 0, "p"], - [10032, 0, "$"], - [10033, 0, "."], - [10034, 0, "\n"], - [10035, 0, "\n"], - [10036, 0, "A"], - [10037, 0, "n"], - [10038, 0, " "], - [10039, 0, "i"], - [10040, 0, "l"], - [10041, 0, "l"], - [10042, 0, "u"], - [10043, 0, "s"], - [10044, 0, "t"], - [10045, 0, "r"], - [10046, 0, "a"], - [10047, 0, "t"], - [10048, 0, "i"], - [10049, 0, "v"], - [10050, 0, "e"], - [10051, 0, " "], - [10052, 0, "e"], - [10053, 0, "x"], - [10054, 0, "a"], - [10055, 0, "m"], - [10056, 0, "p"], - [10057, 0, "l"], - [10058, 0, "e"], - [10059, 0, " "], - [10060, 0, "o"], - [10061, 0, "f"], - [10062, 0, " "], - [10063, 0, "t"], - [10064, 0, "h"], - [10065, 0, "e"], - [10066, 0, " "], - [10067, 0, "p"], - [10068, 0, "e"], - [10069, 0, "e"], - [10070, 0, "r"], - [10071, 0, " "], - [10072, 0, "s"], - [10073, 0, "t"], - [10074, 0, "a"], - [10075, 0, "t"], - [10076, 0, "e"], - [10077, 0, " "], - [10078, 0, "$"], - [10079, 0, "A"], - [10080, 0, "_"], - [10081, 0, "p"], - [10082, 0, "$"], - [10083, 0, " "], - [10084, 0, "i"], - [10085, 0, "s"], - [10086, 0, " "], - [10087, 0, "g"], - [10088, 0, "i"], - [10089, 0, "v"], - [10090, 0, "e"], - [10091, 0, "n"], - [10092, 0, " "], - [10093, 0, "i"], - [10094, 0, "n"], - [10095, 0, " "], - [10096, 0, "F"], - [10097, 0, "i"], - [10098, 0, "g"], - [10099, 0, "u"], - [10100, 0, "r"], - [10101, 0, "e"], - [10102, 0, "~"], - [10103, 0, "\\"], - [10104, 0, "r"], - [10105, 0, "e"], - [10106, 0, "f"], - [10107, 0, "{"], - [10108, 0, "f"], - [10109, 0, "i"], - [10110, 0, "g"], - [10111, 0, ":"], - [10112, 0, "s"], - [10113, 0, "t"], - [10114, 0, "a"], - [10115, 0, "t"], - [10116, 0, "e"], - [10117, 0, "-"], - [10118, 0, "e"], - [10119, 0, "x"], - [10120, 0, "a"], - [10121, 0, "m"], - [10122, 0, "p"], - [10123, 0, "l"], - [10124, 0, "e"], - [10125, 0, "}"], - [10126, 0, ","], - [10127, 0, " "], - [10128, 0, "w"], - [10129, 0, "h"], - [10130, 0, "i"], - [10131, 0, "c"], - [10132, 0, "h"], - [10133, 0, " "], - [10134, 0, "c"], - [10135, 0, "o"], - [10136, 0, "r"], - [10137, 0, "r"], - [10138, 0, "e"], - [10139, 0, "s"], - [10140, 0, "p"], - [10141, 0, "o"], - [10142, 0, "n"], - [10143, 0, "d"], - [10144, 0, "s"], - [10145, 0, " "], - [10146, 0, "t"], - [10147, 0, "o"], - [10148, 0, " "], - [10149, 0, "t"], - [10150, 0, "h"], - [10151, 0, "e"], - [10152, 0, " "], - [10153, 0, "s"], - [10154, 0, "h"], - [10155, 0, "o"], - [10156, 0, "p"], - [10157, 0, "p"], - [10158, 0, "i"], - [10159, 0, "n"], - [10160, 0, "g"], - [10161, 0, " "], - [10162, 0, "l"], - [10163, 0, "i"], - [10164, 0, "s"], - [10165, 0, "t"], - [10166, 0, " "], - [10167, 0, "e"], - [10168, 0, "x"], - [10169, 0, "a"], - [10170, 0, "m"], - [10171, 0, "p"], - [10172, 0, "l"], - [10173, 0, "e"], - [10174, 0, " "], - [10175, 0, "o"], - [10176, 0, "f"], - [10177, 0, " "], - [10178, 0, "F"], - [10179, 0, "i"], - [10180, 0, "g"], - [10181, 0, "u"], - [10182, 0, "r"], - [10183, 0, "e"], - [10184, 0, "~"], - [10185, 0, "\\"], - [10186, 0, "r"], - [10187, 0, "e"], - [10188, 0, "f"], - [10189, 0, "{"], - [10190, 0, "f"], - [10191, 0, "i"], - [10192, 0, "g"], - [10193, 0, ":"], - [10194, 0, "m"], - [10195, 0, "a"], - [10196, 0, "k"], - [10197, 0, "e"], - [10198, 0, "-"], - [10199, 0, "d"], - [10200, 0, "o"], - [10201, 0, "c"], - [10202, 0, "}"], - [10203, 0, "."], - [10204, 0, " "], - [10205, 0, "I"], - [10206, 0, "n"], - [10207, 0, " "], - [10208, 0, "F"], - [10209, 0, "i"], - [10210, 0, "g"], - [10211, 0, "u"], - [10212, 0, "r"], - [10213, 0, "e"], - [10214, 0, "~"], - [10215, 0, "\\"], - [10216, 0, "r"], - [10217, 0, "e"], - [10218, 0, "f"], - [10219, 0, "{"], - [10220, 0, "s"], - [10220, 1], - [10220, 0, "f"], - [10221, 0, "i"], - [10222, 0, "g"], - [10223, 0, ":"], - [10224, 0, "s"], - [10225, 0, "t"], - [10226, 0, "a"], - [10227, 0, "t"], - [10228, 0, "e"], - [10229, 0, "-"], - [10230, 0, "e"], - [10231, 0, "x"], - [10232, 0, "a"], - [10233, 0, "m"], - [10234, 0, "p"], - [10235, 0, "l"], - [10236, 0, "e"], - [10237, 0, "}"], - [10238, 0, ","], - [10239, 0, " "], - [10240, 0, "$"], - [10241, 0, "A"], - [10242, 0, "_"], - [10243, 0, "p"], - [10244, 0, "$"], - [10245, 0, " "], - [10246, 0, "i"], - [10247, 0, "s"], - [10248, 0, " "], - [10249, 0, "a"], - [10250, 0, " "], - [10251, 0, "p"], - [10252, 0, "a"], - [10253, 0, "r"], - [10254, 0, "t"], - [10255, 0, "i"], - [10256, 0, "a"], - [10257, 0, "l"], - [10258, 0, " "], - [10259, 0, "f"], - [10260, 0, "u"], - [10261, 0, "n"], - [10262, 0, "c"], - [10263, 0, "t"], - [10264, 0, "i"], - [10265, 0, "o"], - [10266, 0, "n"], - [10267, 0, " "], - [10268, 0, "w"], - [10269, 0, "h"], - [10270, 0, "o"], - [10271, 0, "s"], - [10272, 0, "e"], - [10273, 0, " "], - [10274, 0, "d"], - [10275, 0, "o"], - [10276, 0, "m"], - [10277, 0, "a"], - [10278, 0, "i"], - [10279, 0, "n"], - [10280, 0, " "], - [10281, 0, "i"], - [10282, 0, "s"], - [10283, 0, " "], - [10284, 0, "t"], - [10285, 0, "h"], - [10286, 0, "e"], - [10287, 0, " "], - [10288, 0, "s"], - [10289, 0, "i"], - [10290, 0, "n"], - [10291, 0, "g"], - [10292, 0, "l"], - [10293, 0, "e"], - [10294, 0, " "], - [10295, 0, "a"], - [10296, 0, "t"], - [10297, 0, "o"], - [10298, 0, "m"], - [10299, 0, " "], - [10300, 0, "$"], - [10301, 0, "\\"], - [10301, 1], - [10300, 1], - [10300, 0, "\\"], - [10301, 0, "m"], - [10301, 1], - [10301, 0, "t"], - [10302, 0, "e"], - [10303, 0, "x"], - [10304, 0, "t"], - [10305, 0, "s"], - [10306, 0, "f"], - [10307, 0, "{"], - [10308, 0, "m"], - [10309, 0, "a"], - [10310, 0, "p"], - [10311, 0, "T"], - [10312, 0, "("], - [10313, 0, "d"], - [10314, 0, "o"], - [10315, 0, "c"], - [10316, 0, ")"], - [10317, 0, "}"], - [10318, 0, ","], - [10319, 0, " "], - [10320, 0, "w"], - [10321, 0, "h"], - [10322, 0, "i"], - [10323, 0, "c"], - [10324, 0, "h"], - [10325, 0, " "], - [10326, 0, "d"], - [10327, 0, "e"], - [10328, 0, "n"], - [10329, 0, "o"], - [10330, 0, "t"], - [10331, 0, "e"], - [10332, 0, "s"], - [10333, 0, " "], - [10334, 0, "t"], - [10335, 0, "h"], - [10336, 0, "a"], - [10337, 0, "t"], - [10338, 0, " "], - [10339, 0, "t"], - [10340, 0, "h"], - [10341, 0, "e"], - [10342, 0, " "], - [10343, 0, "d"], - [10344, 0, "o"], - [10345, 0, "c"], - [10346, 0, "u"], - [10347, 0, "m"], - [10348, 0, "e"], - [10349, 0, "n"], - [10350, 0, "t"], - [10351, 0, " "], - [10352, 0, "\\"], - [10353, 0, "m"], - [10353, 1], - [10353, 0, "t"], - [10354, 0, "e"], - [10355, 0, "x"], - [10356, 0, "t"], - [10357, 0, "s"], - [10358, 0, "f"], - [10359, 0, "{"], - [10360, 0, "d"], - [10361, 0, "o"], - [10362, 0, "c"], - [10363, 0, "}"], - [10364, 0, " "], - [10365, 0, "i"], - [10366, 0, "s"], - [10367, 0, " "], - [10368, 0, "o"], - [10369, 0, "f"], - [10369, 1], - [10368, 1], - [10368, 0, "o"], - [10369, 0, "f"], - [10370, 0, " "], - [10371, 0, "a"], - [10372, 0, " "], - [10373, 0, "m"], - [10374, 0, "a"], - [10375, 0, "p"], - [10376, 0, " "], - [10377, 0, "t"], - [10378, 0, "y"], - [10379, 0, "p"], - [10380, 0, "e"], - [10380, 1], - [10379, 1], - [10378, 1], - [10377, 1], - [10376, 1], - [10375, 1], - [10374, 1], - [10373, 1], - [10372, 1], - [10371, 1], - [10371, 0, "t"], - [10372, 0, "y"], - [10373, 0, "p"], - [10374, 0, "e"], - [10375, 0, " "], - [10376, 0, "m"], - [10377, 0, "a"], - [10378, 0, "p"], - [10379, 0, "."], - [10380, 0, " "], - [10381, 0, "\\"], - [10382, 0, "t"], - [10383, 0, "e"], - [10384, 0, "x"], - [10385, 0, "t"], - [10386, 0, "s"], - [10387, 0, "f"], - [10388, 0, "{"], - [10389, 0, "m"], - [10390, 0, "a"], - [10391, 0, "p"], - [10392, 0, "T"], - [10393, 0, "("], - [10394, 0, "d"], - [10395, 0, "o"], - [10396, 0, "c"], - [10397, 0, "}"], - [10398, 0, " "], - [10398, 1], - [10397, 1], - [10397, 0, ")"], - [10398, 0, "}"], - [10399, 0, " "], - [10400, 0, "m"], - [10401, 0, "a"], - [10402, 0, "p"], - [10403, 0, "s"], - [10404, 0, " "], - [10405, 0, "t"], - [10406, 0, "o"], - [10407, 0, " "], - [10408, 0, "a"], - [10409, 0, " "], - [10409, 1], - [10409, 0, "n"], - [10410, 0, "o"], - [10411, 0, "t"], - [10412, 0, "h"], - [10413, 0, "e"], - [10414, 0, "r"], - [10415, 0, " "], - [10416, 0, "p"], - [10417, 0, "a"], - [10418, 0, "r"], - [10419, 0, "t"], - [10420, 0, "i"], - [10421, 0, "a"], - [10422, 0, "l"], - [10423, 0, " "], - [10424, 0, "f"], - [10425, 0, "u"], - [10426, 0, "n"], - [10427, 0, "c"], - [10428, 0, "t"], - [10429, 0, "i"], - [10430, 0, "o"], - [10431, 0, "n"], - [10432, 0, " "], - [10433, 0, "c"], - [10434, 0, "o"], - [10435, 0, "n"], - [10436, 0, "t"], - [10437, 0, "a"], - [10438, 0, "i"], - [10439, 0, "n"], - [10440, 0, "i"], - [10441, 0, "n"], - [10442, 0, "g"], - [10443, 0, " "], - [10444, 0, "t"], - [10445, 0, "h"], - [10446, 0, "e"], - [10447, 0, " "], - [10448, 0, "k"], - [10449, 0, "e"], - [10450, 0, "y"], - [10451, 0, "-"], - [10452, 0, "v"], - [10453, 0, "a"], - [10454, 0, "l"], - [10455, 0, "u"], - [10456, 0, "e"], - [10457, 0, " "], - [10458, 0, "p"], - [10459, 0, "a"], - [10460, 0, "i"], - [10461, 0, "r"], - [10462, 0, "s"], - [10463, 0, " "], - [10464, 0, "o"], - [10465, 0, "f"], - [10466, 0, " "], - [10467, 0, "t"], - [10468, 0, "h"], - [10469, 0, "e"], - [10470, 0, " "], - [10471, 0, "m"], - [10472, 0, "a"], - [10473, 0, "p"], - [10474, 0, ";"], - [10475, 0, " "], - [10476, 0, "i"], - [10477, 0, "n"], - [10478, 0, " "], - [10479, 0, "t"], - [10479, 1], - [10478, 1], - [10477, 1], - [10476, 1], - [10476, 0, "h"], - [10477, 0, "e"], - [10478, 0, "r"], - [10479, 0, "e"], - [10480, 0, ","], - [10481, 0, " "], - [10482, 0, "t"], - [10483, 0, "h"], - [10484, 0, "e"], - [10485, 0, " "], - [10486, 0, "o"], - [10487, 0, "n"], - [10488, 0, "l"], - [10489, 0, "y"], - [10490, 0, " "], - [10491, 0, "e"], - [10492, 0, "n"], - [10493, 0, "t"], - [10494, 0, "r"], - [10495, 0, "y"], - [10496, 0, " "], - [10497, 0, "i"], - [10498, 0, "s"], - [10499, 0, " "], - [10500, 0, "t"], - [10501, 0, "h"], - [10502, 0, "e"], - [10503, 0, " "], - [10504, 0, "k"], - [10505, 0, "e"], - [10506, 0, "y"], - [10507, 0, " "], - [10508, 0, "`"], - [10509, 0, "`"], - [10510, 0, "s"], - [10511, 0, "h"], - [10512, 0, "o"], - [10513, 0, "p"], - [10514, 0, "p"], - [10515, 0, "i"], - [10516, 0, "n"], - [10517, 0, "g"], - [10518, 0, "'"], - [10519, 0, "'"], - [10520, 0, " "], - [10521, 0, "o"], - [10522, 0, "f"], - [10523, 0, " "], - [10524, 0, "t"], - [10525, 0, "y"], - [10526, 0, "p"], - [10527, 0, "e"], - [10528, 0, " "], - [10529, 0, "\\"], - [10530, 0, "t"], - [10531, 0, "e"], - [10532, 0, "x"], - [10533, 0, "t"], - [10534, 0, "s"], - [10535, 0, "f"], - [10536, 0, "{"], - [10537, 0, "l"], - [10538, 0, "i"], - [10539, 0, "s"], - [10540, 0, "t"], - [10541, 0, "T"], - [10542, 0, "}"], - [10543, 0, "."], - [10544, 0, " "], - [10545, 0, "T"], - [10546, 0, "h"], - [10547, 0, "e"], - [10548, 0, " "], - [10549, 0, "l"], - [10550, 0, "i"], - [10551, 0, "s"], - [10552, 0, "t"], - [10553, 0, " "], - [10554, 0, "i"], - [10555, 0, "s"], - [10556, 0, " "], - [10557, 0, "r"], - [10558, 0, "e"], - [10559, 0, "p"], - [10560, 0, "r"], - [10561, 0, "e"], - [10562, 0, "s"], - [10563, 0, "e"], - [10564, 0, "n"], - [10565, 0, "t"], - [10566, 0, "e"], - [10567, 0, "d"], - [10568, 0, " "], - [10569, 0, "i"], - [10570, 0, "n"], - [10571, 0, " "], - [10572, 0, "a"], - [10573, 0, " "], - [10574, 0, "m"], - [10575, 0, "a"], - [10576, 0, "n"], - [10577, 0, "n"], - [10578, 0, "e"], - [10579, 0, "r"], - [10580, 0, " "], - [10581, 0, "r"], - [10582, 0, "e"], - [10583, 0, "s"], - [10584, 0, "e"], - [10585, 0, "m"], - [10586, 0, "b"], - [10587, 0, "l"], - [10588, 0, "i"], - [10589, 0, "n"], - [10590, 0, "g"], - [10591, 0, " "], - [10592, 0, "a"], - [10593, 0, " "], - [10594, 0, "l"], - [10595, 0, "i"], - [10596, 0, "n"], - [10597, 0, "k"], - [10598, 0, "e"], - [10599, 0, "d"], - [10600, 0, " "], - [10601, 0, "l"], - [10602, 0, "i"], - [10603, 0, "s"], - [10604, 0, "t"], - [10605, 0, ","], - [10606, 0, " "], - [10607, 0, "w"], - [10608, 0, "i"], - [10609, 0, "t"], - [10610, 0, "h"], - [10611, 0, " "], - [10612, 0, "e"], - [10613, 0, "a"], - [10614, 0, "c"], - [10615, 0, "h"], - [10616, 0, " "], - [10617, 0, "l"], - [10618, 0, "i"], - [10619, 0, "s"], - [10620, 0, "t"], - [10621, 0, " "], - [10622, 0, "e"], - [10623, 0, "l"], - [10624, 0, "e"], - [10625, 0, "m"], - [10626, 0, "e"], - [10627, 0, "n"], - [10628, 0, "t"], - [10629, 0, " "], - [10630, 0, "a"], - [10631, 0, "s"], - [10632, 0, "s"], - [10633, 0, "i"], - [10634, 0, "g"], - [10635, 0, "n"], - [10636, 0, "e"], - [10637, 0, "d"], - [10638, 0, " "], - [10639, 0, "a"], - [10640, 0, " "], - [10641, 0, "u"], - [10642, 0, "n"], - [10643, 0, "i"], - [10644, 0, "q"], - [10645, 0, "u"], - [10646, 0, "e"], - [10647, 0, " "], - [10648, 0, "i"], - [10649, 0, "d"], - [10650, 0, "e"], - [10651, 0, "n"], - [10652, 0, "t"], - [10653, 0, "i"], - [10654, 0, "f"], - [10655, 0, "i"], - [10656, 0, "e"], - [10657, 0, "r"], - [10658, 0, " "], - [10659, 0, "("], - [10660, 0, "$"], - [10661, 0, "\\"], - [10662, 0, "m"], - [10663, 0, "a"], - [10664, 0, "t"], - [10665, 0, "h"], - [10666, 0, "i"], - [10667, 0, "t"], - [10668, 0, "{"], - [10669, 0, "i"], - [10670, 0, "d"], - [10671, 0, "}"], - [10672, 0, "_"], - [10673, 0, "1"], - [10674, 0, ","], - [10675, 0, " "], - [10676, 0, "\\"], - [10677, 0, "m"], - [10678, 0, "a"], - [10679, 0, "t"], - [10680, 0, "h"], - [10681, 0, "i"], - [10682, 0, "t"], - [10683, 0, "{"], - [10684, 0, "i"], - [10685, 0, "d"], - [10686, 0, "}"], - [10687, 0, "_"], - [10688, 0, "2"], - [10689, 0, ","], - [10690, 0, " "], - [10691, 0, "\\"], - [10692, 0, "m"], - [10693, 0, "a"], - [10694, 0, "t"], - [10695, 0, "h"], - [10696, 0, "i"], - [10697, 0, "t"], - [10698, 0, "{"], - [10699, 0, "3"], - [10699, 1], - [10699, 0, "i"], - [10700, 0, "d"], - [10701, 0, "}"], - [10702, 0, "_"], - [10703, 0, "3"], - [10704, 0, "$"], - [10705, 0, ")"], - [10706, 0, " "], - [10706, 1], - [10706, 0, ","], - [10707, 0, " "], - [10708, 0, "a"], - [10709, 0, "n"], - [10710, 0, "d"], - [10711, 0, " "], - [10712, 0, "s"], - [10713, 0, "p"], - [10714, 0, "e"], - [10715, 0, "c"], - [10716, 0, "i"], - [10717, 0, "a"], - [10718, 0, "l"], - [10719, 0, " "], - [10720, 0, "\\"], - [10721, 0, "t"], - [10722, 0, "e"], - [10723, 0, "x"], - [10724, 0, "t"], - [10725, 0, "s"], - [10726, 0, "f"], - [10727, 0, "{"], - [10728, 0, "h"], - [10729, 0, "e"], - [10730, 0, "a"], - [10731, 0, "d"], - [10732, 0, "}"], - [10733, 0, " "], - [10734, 0, "a"], - [10735, 0, "n"], - [10736, 0, "d"], - [10737, 0, " "], - [10738, 0, "\\"], - [10739, 0, "t"], - [10740, 0, "e"], - [10741, 0, "x"], - [10742, 0, "t"], - [10743, 0, "s"], - [10744, 0, "f"], - [10745, 0, "{"], - [10746, 0, "t"], - [10747, 0, "a"], - [10748, 0, "i"], - [10749, 0, "l"], - [10750, 0, "}"], - [10751, 0, " "], - [10752, 0, "a"], - [10753, 0, "t"], - [10754, 0, "o"], - [10755, 0, "m"], - [10756, 0, "s"], - [10757, 0, " "], - [10758, 0, "d"], - [10759, 0, "e"], - [10760, 0, "n"], - [10761, 0, "o"], - [10762, 0, "t"], - [10763, 0, "i"], - [10764, 0, "n"], - [10765, 0, "g"], - [10766, 0, " "], - [10767, 0, "t"], - [10768, 0, "h"], - [10769, 0, "e"], - [10770, 0, " "], - [10771, 0, "b"], - [10772, 0, "e"], - [10773, 0, "g"], - [10774, 0, "i"], - [10775, 0, "n"], - [10776, 0, "n"], - [10777, 0, "i"], - [10778, 0, "n"], - [10779, 0, "g"], - [10780, 0, " "], - [10781, 0, "a"], - [10782, 0, "n"], - [10783, 0, "d"], - [10784, 0, " "], - [10785, 0, "e"], - [10786, 0, "n"], - [10787, 0, "d"], - [10788, 0, " "], - [10789, 0, "o"], - [10790, 0, "f"], - [10791, 0, " "], - [10792, 0, "t"], - [10793, 0, "h"], - [10794, 0, "e"], - [10795, 0, " "], - [10796, 0, "l"], - [10797, 0, "i"], - [10798, 0, "s"], - [10799, 0, "t"], - [10800, 0, "."], - [10801, 0, "\n"], - [10802, 0, "\n"], - [10803, 0, "T"], - [10804, 0, "h"], - [10805, 0, "e"], - [10806, 0, " "], - [10807, 0, "r"], - [10808, 0, "u"], - [10809, 0, "l"], - [10810, 0, "e"], - [10811, 0, "s"], - [10812, 0, " "], - [10813, 0, "f"], - [10814, 0, "o"], - [10815, 0, "r"], - [10816, 0, " "], - [10817, 0, "e"], - [10818, 0, "v"], - [10819, 0, "a"], - [10820, 0, "l"], - [10821, 0, "u"], - [10822, 0, "a"], - [10823, 0, "t"], - [10824, 0, "i"], - [10825, 0, "n"], - [10826, 0, "g"], - [10827, 0, " "], - [10828, 0, "E"], - [10829, 0, "X"], - [10830, 0, "P"], - [10831, 0, "R"], - [10832, 0, " "], - [10833, 0, "e"], - [10834, 0, "x"], - [10835, 0, "p"], - [10836, 0, "r"], - [10837, 0, "e"], - [10838, 0, "s"], - [10839, 0, "s"], - [10840, 0, "i"], - [10841, 0, "o"], - [10842, 0, "n"], - [10843, 0, "s"], - [10844, 0, " "], - [10845, 0, "i"], - [10846, 0, "n"], - [10847, 0, " "], - [10848, 0, "t"], - [10849, 0, "h"], - [10850, 0, "e"], - [10851, 0, " "], - [10852, 0, "c"], - [10853, 0, "o"], - [10854, 0, "m"], - [10855, 0, "m"], - [10856, 0, "a"], - [10857, 0, "n"], - [10858, 0, "d"], - [10859, 0, " "], - [10860, 0, "l"], - [10861, 0, "a"], - [10862, 0, "n"], - [10863, 0, "g"], - [10864, 0, "u"], - [10865, 0, "a"], - [10866, 0, "g"], - [10867, 0, "e"], - [10803, 0, "F"], - [10804, 0, "i"], - [10805, 0, "g"], - [10806, 0, "u"], - [10807, 0, "r"], - [10808, 0, "e"], - [10809, 0, "~"], - [10810, 0, "\\"], - [10811, 0, "r"], - [10812, 0, "e"], - [10813, 0, "f"], - [10814, 0, "{"], - [10815, 0, "r"], - [10815, 1], - [10815, 0, "f"], - [10816, 0, "i"], - [10817, 0, "g"], - [10818, 0, ":"], - [10819, 0, "e"], - [10820, 0, "x"], - [10821, 0, "p"], - [10822, 0, "r"], - [10823, 0, "-"], - [10824, 0, "r"], - [10825, 0, "u"], - [10826, 0, "l"], - [10827, 0, "e"], - [10828, 0, "s"], - [10829, 0, "}"], - [10830, 0, " "], - [10831, 0, "g"], - [10832, 0, "i"], - [10833, 0, "v"], - [10834, 0, "e"], - [10835, 0, "s"], - [10836, 0, " "], - [10837, 1], - [10837, 0, "t"], - [10902, 0, ","], - [10903, 0, " "], - [10904, 0, "w"], - [10905, 0, "h"], - [10906, 0, "i"], - [10907, 0, "c"], - [10908, 0, "h"], - [10909, 0, " "], - [10910, 0, "a"], - [10911, 0, "r"], - [10912, 0, "e"], - [10913, 0, " "], - [10914, 0, "a"], - [10915, 0, "p"], - [10916, 0, "p"], - [10917, 0, "l"], - [10918, 0, "i"], - [10919, 0, "e"], - [10920, 0, "d"], - [10921, 0, " "], - [10922, 0, "i"], - [10923, 0, "n"], - [10924, 0, " "], - [10925, 0, "t"], - [10926, 0, "h"], - [10927, 0, "e"], - [10928, 0, " "], - [10929, 0, "c"], - [10930, 0, "o"], - [10931, 0, "n"], - [10932, 0, "t"], - [10933, 0, "e"], - [10934, 0, "x"], - [10935, 0, "t"], - [10936, 0, " "], - [10937, 0, "o"], - [10938, 0, "f"], - [10939, 0, " "], - [10940, 0, "t"], - [10941, 0, "h"], - [10942, 0, "e"], - [10943, 0, " "], - [10944, 0, "l"], - [10945, 0, "o"], - [10946, 0, "c"], - [10947, 0, "a"], - [10948, 0, "l"], - [10949, 0, " "], - [10950, 0, "p"], - [10951, 0, "e"], - [10952, 0, "e"], - [10953, 0, "r"], - [10954, 0, " "], - [10955, 0, "s"], - [10956, 0, "t"], - [10957, 0, "a"], - [10958, 0, "t"], - [10959, 0, "e"], - [10960, 0, " "], - [10961, 0, "$"], - [10962, 0, "A"], - [10963, 0, "_"], - [10964, 0, "p"], - [10965, 0, "$"], - [10966, 0, "."], - [10920, 1], - [10919, 1], - [10918, 1], - [10917, 1], - [10916, 1], - [10915, 1], - [10914, 1], - [10914, 0, "e"], - [10915, 0, "v"], - [10916, 0, "a"], - [10917, 0, "l"], - [10918, 0, "u"], - [10919, 0, "a"], - [10920, 0, "t"], - [10921, 0, "e"], - [10922, 0, "d"], - [10969, 0, " "], - [10970, 0, "T"], - [10971, 0, "h"], - [10972, 0, "e"], - [10973, 0, " "], - [10974, 0, "\\"], - [10975, 0, "t"], - [10976, 0, "e"], - [10977, 0, "x"], - [10978, 0, "t"], - [10979, 0, "s"], - [10980, 0, "c"], - [10981, 0, "{"], - [10982, 0, "E"], - [10983, 0, "x"], - [10984, 0, "e"], - [10985, 0, "c"], - [10986, 0, "}"], - [10987, 0, " "], - [10988, 0, "r"], - [10989, 0, "u"], - [10990, 0, "l"], - [10991, 0, "e"], - [10992, 0, " "], - [10993, 0, "d"], - [10994, 0, "e"], - [10995, 0, "f"], - [10996, 0, "i"], - [10997, 0, "n"], - [10998, 0, "e"], - [10999, 0, "s"], - [11000, 0, " "], - [11001, 0, "t"], - [11002, 0, "h"], - [11003, 0, "a"], - [11004, 0, "t"], - [11005, 0, " "], - [11006, 0, "c"], - [11007, 0, "o"], - [11008, 0, "m"], - [11009, 0, "m"], - [11010, 0, "a"], - [11011, 0, "n"], - [11012, 0, "d"], - [11013, 0, "s"], - [11014, 0, " "], - [11015, 0, "a"], - [11016, 0, "r"], - [11017, 0, "e"], - [11018, 0, " "], - [11019, 0, "e"], - [11020, 0, "x"], - [11021, 0, "e"], - [11022, 0, "c"], - [11023, 0, "u"], - [11024, 0, "t"], - [11025, 0, "e"], - [11026, 0, "d"], - [11027, 0, " "], - [11028, 0, "s"], - [11029, 0, "e"], - [11030, 0, "q"], - [11031, 0, "u"], - [11032, 0, "e"], - [11033, 0, "n"], - [11034, 0, "t"], - [11035, 0, "i"], - [11036, 0, "a"], - [11037, 0, "l"], - [11038, 0, "l"], - [11039, 0, "y"], - [11040, 0, "."], - [11041, 0, " "], - [11042, 0, "T"], - [11043, 0, "h"], - [11044, 0, "e"], - [11045, 0, " "], - [11046, 0, "\\"], - [11047, 0, "t"], - [11048, 0, "e"], - [11049, 0, "x"], - [11050, 0, "t"], - [11051, 0, "s"], - [11052, 0, "c"], - [11053, 0, "{"], - [11054, 0, "L"], - [11055, 0, "e"], - [11056, 0, "t"], - [11057, 0, "}"], - [11058, 0, " "], - [11059, 0, "r"], - [11060, 0, "u"], - [11061, 0, "l"], - [11062, 0, "e"], - [11063, 0, " "], - [11064, 0, "a"], - [11065, 0, "l"], - [11066, 0, "l"], - [11067, 0, "o"], - [11068, 0, "w"], - [11069, 0, "s"], - [11070, 0, " "], - [11071, 0, "t"], - [11072, 0, "h"], - [11073, 0, "e"], - [11074, 0, " "], - [11075, 0, "p"], - [11076, 0, "r"], - [11077, 0, "o"], - [11078, 0, "g"], - [11079, 0, "r"], - [11080, 0, "a"], - [11081, 0, "m"], - [11082, 0, " "], - [11083, 0, "t"], - [11084, 0, "o"], - [11085, 0, " "], - [11086, 0, "d"], - [11087, 0, "e"], - [11088, 0, "f"], - [11089, 0, "i"], - [11090, 0, "n"], - [11091, 0, "e"], - [11092, 0, " "], - [11093, 0, "a"], - [11094, 0, " "], - [11095, 0, "l"], - [11096, 0, "o"], - [11097, 0, "c"], - [11098, 0, "a"], - [11099, 0, "l"], - [11100, 0, " "], - [11101, 0, "v"], - [11102, 0, "a"], - [11103, 0, "r"], - [11104, 0, "i"], - [11105, 0, "a"], - [11106, 0, "b"], - [11107, 0, "l"], - [11108, 0, "e"], - [11109, 0, ","], - [11110, 0, " "], - [11111, 0, "w"], - [11112, 0, "h"], - [11113, 0, "i"], - [11114, 0, "c"], - [11115, 0, "h"], - [11116, 0, " "], - [11117, 0, "i"], - [11118, 0, "s"], - [11119, 0, " "], - [11120, 0, "a"], - [11121, 0, "d"], - [11122, 0, "d"], - [11123, 0, "e"], - [11124, 0, "d"], - [11125, 0, " "], - [11126, 0, "t"], - [11127, 0, "o"], - [11128, 0, " "], - [11129, 0, "t"], - [11130, 0, "h"], - [11131, 0, "e"], - [11132, 0, " "], - [11133, 0, "l"], - [11134, 0, "o"], - [11135, 0, "c"], - [11136, 0, "a"], - [11137, 0, "l"], - [11138, 0, " "], - [11139, 0, "s"], - [11140, 0, "t"], - [11141, 0, "a"], - [11142, 0, "t"], - [11143, 0, "e"], - [11144, 0, ","], - [11145, 0, " "], - [11146, 0, "a"], - [11147, 0, "n"], - [11148, 0, "d"], - [11149, 0, " "], - [11150, 0, "t"], - [11151, 0, "h"], - [11152, 0, "e"], - [11153, 0, " "], - [11154, 0, "c"], - [11155, 0, "o"], - [11156, 0, "r"], - [11157, 0, "r"], - [11158, 0, "e"], - [11159, 0, "s"], - [11160, 0, "p"], - [11161, 0, "o"], - [11162, 0, "n"], - [11163, 0, "d"], - [11164, 0, "i"], - [11165, 0, "n"], - [11166, 0, "g"], - [11167, 0, " "], - [11168, 0, "\\"], - [11169, 0, "t"], - [11170, 0, "e"], - [11171, 0, "x"], - [11172, 0, "t"], - [11173, 0, "s"], - [11174, 0, "c"], - [11175, 0, "{"], - [11176, 0, "V"], - [11177, 0, "a"], - [11178, 0, "r"], - [11179, 0, "}"], - [11180, 0, " "], - [11181, 0, "r"], - [11182, 0, "u"], - [11183, 0, "l"], - [11184, 0, "e"], - [11185, 0, " "], - [11186, 0, "a"], - [11187, 0, "l"], - [11188, 0, "l"], - [11189, 0, "o"], - [11190, 0, "w"], - [11191, 0, "s"], - [11192, 0, " "], - [11193, 0, "t"], - [11194, 0, "h"], - [11195, 0, "e"], - [11196, 0, " "], - [11197, 0, "p"], - [11198, 0, "r"], - [11199, 0, "o"], - [11200, 0, "g"], - [11201, 0, "r"], - [11202, 0, "a"], - [11203, 0, "m"], - [11204, 0, " "], - [11205, 0, "t"], - [11206, 0, "o"], - [11207, 0, " "], - [11208, 0, "r"], - [11209, 0, "e"], - [11210, 0, "t"], - [11211, 0, "r"], - [11212, 0, "i"], - [11213, 0, "e"], - [11214, 0, "v"], - [11215, 0, "e"], - [11216, 0, " "], - [11217, 0, "t"], - [11218, 0, "h"], - [11219, 0, "e"], - [11220, 0, " "], - [11221, 0, "v"], - [11222, 0, "a"], - [11223, 0, "l"], - [11224, 0, "u"], - [11225, 0, "e"], - [11226, 0, " "], - [11227, 0, "o"], - [11228, 0, "f"], - [11229, 0, " "], - [11230, 0, "a"], - [11231, 0, " "], - [11232, 0, "p"], - [11233, 0, "r"], - [11234, 0, "e"], - [11235, 0, "v"], - [11236, 0, "i"], - [11237, 0, "o"], - [11238, 0, "u"], - [11239, 0, "s"], - [11240, 0, "l"], - [11241, 0, "y"], - [11242, 0, " "], - [11243, 0, "d"], - [11244, 0, "e"], - [11245, 0, "f"], - [11246, 0, "i"], - [11247, 0, "n"], - [11248, 0, "e"], - [11249, 0, "d"], - [11250, 0, " "], - [11251, 0, "v"], - [11252, 0, "a"], - [11253, 0, "r"], - [11254, 0, "i"], - [11255, 0, "a"], - [11256, 0, "b"], - [11257, 0, "l"], - [11258, 0, "e"], - [11259, 0, "."], - [11260, 0, "\n"], - [11261, 0, "\n"], - [11262, 0, "T"], - [11263, 0, "h"], - [11264, 0, "e"], - [11265, 0, " "], - [11266, 0, "o"], - [11267, 0, "t"], - [11268, 0, "h"], - [11269, 0, "e"], - [11270, 0, "r"], - [11270, 1], - [11269, 1], - [11268, 1], - [11267, 1], - [11266, 1], - [11266, 0, "r"], - [11267, 0, "e"], - [11268, 0, "m"], - [11269, 0, "a"], - [11270, 0, "i"], - [11271, 0, "n"], - [11272, 0, "i"], - [11273, 0, "n"], - [11274, 0, "g"], - [11275, 0, " "], - [11276, 0, "r"], - [11277, 0, "u"], - [11278, 0, "l"], - [11279, 0, "e"], - [11280, 0, "s"], - [11281, 0, " "], - [11282, 0, "i"], - [11283, 0, "n"], - [11284, 0, " "], - [11285, 0, "f"], - [11285, 1], - [11285, 0, "F"], - [11286, 0, "i"], - [11287, 0, "g"], - [11288, 0, "u"], - [11289, 0, "r"], - [11290, 0, "e"], - [11291, 0, "~"], - [11292, 0, "\\"], - [11293, 0, "r"], - [11294, 0, "e"], - [11295, 0, "f"], - [11296, 0, "{"], - [11297, 0, "f"], - [11298, 0, "i"], - [11299, 0, "g"], - [11300, 0, ":"], - [11301, 0, "e"], - [11302, 0, "x"], - [11303, 0, "p"], - [11304, 0, "r"], - [11305, 0, "-"], - [11306, 0, "r"], - [11307, 0, "u"], - [11308, 0, "l"], - [11309, 0, "e"], - [11310, 0, "s"], - [11311, 0, "}"], - [11312, 0, " "], - [11313, 0, "o"], - [11314, 0, "p"], - [11315, 0, "e"], - [11316, 0, "r"], - [11317, 0, "a"], - [11318, 0, "t"], - [11319, 0, "o"], - [11320, 0, "r"], - [11320, 1], - [11319, 1], - [11319, 0, "e"], - [11320, 0, " "], - [11320, 1], - [11319, 1], - [11318, 1], - [11317, 1], - [11316, 1], - [11315, 1], - [11314, 1], - [11313, 1], - [11313, 0, "e"], - [11314, 0, "v"], - [11315, 0, "a"], - [11316, 0, "l"], - [11317, 0, "u"], - [11318, 0, "a"], - [11319, 0, "t"], - [11320, 0, "e"], - [11321, 0, " "], - [11322, 0, "t"], - [11323, 0, "o"], - [11324, 0, " "], - [11325, 0, "a"], - [11326, 0, " "], - [11327, 0, "\\"], - [11328, 0, "e"], - [11329, 0, "m"], - [11330, 0, "p"], - [11331, 0, "h"], - [11332, 0, "{"], - [11333, 0, "c"], - [11334, 0, "u"], - [11335, 0, "r"], - [11336, 0, "s"], - [11337, 0, "o"], - [11338, 0, "r"], - [11339, 0, "}"], - [11340, 0, " "], - [11341, 0, "a"], - [11342, 0, "t"], - [11343, 0, "o"], - [11344, 0, "m"], - [11345, 0, ","], - [11346, 0, " "], - [11274, 1], - [11273, 1], - [11272, 1], - [11271, 1], - [11270, 1], - [11269, 1], - [11268, 1], - [11267, 1], - [11266, 1], - [11265, 1], - [11281, 0, "f"], - [11281, 1], - [11302, 0, " "], - [11303, 0, "s"], - [11304, 0, "h"], - [11305, 0, "o"], - [11306, 0, "w"], - [11307, 0, " "], - [11308, 0, "h"], - [11309, 0, "o"], - [11310, 0, "w"], - [11311, 0, " "], - [11312, 0, "a"], - [11313, 0, "n"], - [11314, 0, " "], - [11315, 0, "e"], - [11316, 0, "x"], - [11317, 0, "p"], - [11318, 0, "r"], - [11319, 0, "e"], - [11320, 0, "s"], - [11321, 0, "s"], - [11322, 0, "i"], - [11323, 0, "o"], - [11324, 0, "n"], - [11325, 0, " "], - [11326, 0, "i"], - [11327, 0, "s"], - [11337, 0, "d"], - [11363, 1], - [11362, 1], - [11362, 0, "."], - [11363, 0, " "], - [11363, 1], - [11362, 1], - [11362, 0, ","], - [11363, 0, " "], - [11364, 0, "w"], - [11365, 0, "h"], - [11366, 0, "i"], - [11367, 0, "c"], - [11368, 0, "h"], - [11369, 0, " "], - [11370, 0, "i"], - [11371, 0, "s"], - [11372, 0, " "], - [11372, 1], - [11371, 1], - [11370, 1], - [11369, 1], - [11368, 1], - [11367, 1], - [11366, 1], - [11365, 1], - [11364, 1], - [11363, 1], - [11362, 1], - [11362, 0, "."], - [11363, 0, " "], - [11364, 0, "A"], - [11365, 0, " "], - [11366, 0, "c"], - [11367, 0, "u"], - [11368, 0, "r"], - [11369, 0, "s"], - [11370, 0, "o"], - [11371, 0, "r"], - [11372, 0, " "], - [11373, 0, "i"], - [11374, 0, "d"], - [11375, 0, "e"], - [11376, 0, "n"], - [11377, 0, "t"], - [11378, 0, "i"], - [11379, 0, "f"], - [11380, 0, "i"], - [11381, 0, "e"], - [11382, 0, "s"], - [11383, 0, " "], - [11384, 0, "a"], - [11385, 0, " "], - [11373, 0, "u"], - [11374, 0, "n"], - [11375, 0, "a"], - [11376, 0, "m"], - [11377, 0, "b"], - [11378, 0, "i"], - [11379, 0, "g"], - [11380, 0, "u"], - [11381, 0, "o"], - [11382, 0, "u"], - [11383, 0, "s"], - [11384, 0, "l"], - [11385, 0, "y"], - [11386, 0, " "], - [11400, 0, "p"], - [11401, 0, "a"], - [11402, 0, "r"], - [11403, 0, "t"], - [11404, 0, "i"], - [11405, 0, "c"], - [11406, 0, "u"], - [11407, 0, "l"], - [11408, 0, "a"], - [11409, 0, "r"], - [11410, 0, " "], - [11411, 0, "p"], - [11412, 0, "o"], - [11413, 0, "s"], - [11414, 0, "i"], - [11415, 0, "t"], - [11416, 0, "i"], - [11417, 0, "o"], - [11418, 0, "n"], - [11419, 0, " "], - [11420, 0, "i"], - [11421, 0, "n"], - [11422, 0, " "], - [11423, 0, "a"], - [11424, 0, " "], - [11425, 0, "J"], - [11426, 0, "S"], - [11427, 0, "O"], - [11428, 0, "N"], - [11429, 0, " "], - [11430, 0, "d"], - [11431, 0, "o"], - [11432, 0, "c"], - [11433, 0, "u"], - [11434, 0, "m"], - [11435, 0, "e"], - [11436, 0, "n"], - [11437, 0, "t"], - [11438, 0, " "], - [11439, 0, "b"], - [11440, 0, "y"], - [11441, 0, " "], - [11442, 0, "d"], - [11443, 0, "e"], - [11444, 0, "s"], - [11445, 0, "c"], - [11446, 0, "r"], - [11447, 0, "i"], - [11448, 0, "b"], - [11449, 0, "i"], - [11450, 0, "n"], - [11451, 0, "g"], - [11452, 0, " "], - [11453, 0, "a"], - [11454, 0, " "], - [11455, 0, "p"], - [11456, 0, "a"], - [11457, 0, "t"], - [11458, 0, "h"], - [11459, 0, " "], - [11460, 0, "f"], - [11461, 0, "r"], - [11462, 0, "o"], - [11463, 0, "m"], - [11464, 0, " "], - [11465, 0, "t"], - [11466, 0, "h"], - [11467, 0, "e"], - [11468, 0, " "], - [11469, 0, "r"], - [11470, 0, "o"], - [11471, 0, "o"], - [11472, 0, "t"], - [11473, 0, " "], - [11474, 0, "o"], - [11475, 0, "f"], - [11476, 0, " "], - [11477, 0, "t"], - [11478, 0, "h"], - [11479, 0, "e"], - [11480, 0, " "], - [11481, 0, "d"], - [11482, 0, "o"], - [11483, 0, "c"], - [11484, 0, "u"], - [11485, 0, "m"], - [11486, 0, "e"], - [11487, 0, "n"], - [11488, 0, "t"], - [11489, 0, " "], - [11490, 0, "t"], - [11491, 0, "r"], - [11492, 0, "e"], - [11493, 0, "e"], - [11494, 0, " "], - [11495, 0, "t"], - [11496, 0, "o"], - [11497, 0, " "], - [11498, 0, "s"], - [11499, 0, "o"], - [11500, 0, "m"], - [11501, 0, "e"], - [11502, 0, " "], - [11503, 0, "b"], - [11504, 0, "r"], - [11505, 0, "a"], - [11506, 0, "n"], - [11507, 0, "c"], - [11508, 0, "h"], - [11509, 0, " "], - [11510, 0, "o"], - [11511, 0, "r"], - [11512, 0, " "], - [11513, 0, "l"], - [11514, 0, "e"], - [11515, 0, "a"], - [11516, 0, "f"], - [11517, 0, " "], - [11518, 0, "n"], - [11519, 0, "o"], - [11520, 0, "d"], - [11521, 0, "e"], - [11522, 0, "."], - [11523, 0, " "], - [11524, 0, "S"], - [11524, 1], - [11524, 0, "A"], - [11525, 0, " "], - [11526, 0, "c"], - [11527, 0, "u"], - [11528, 0, "r"], - [11529, 0, "s"], - [11530, 0, "o"], - [11531, 0, "r"], - [11532, 0, " "], - [11533, 0, "c"], - [11534, 0, "o"], - [11535, 0, "n"], - [11536, 0, "s"], - [11537, 0, "i"], - [11538, 0, "s"], - [11539, 0, "t"], - [11540, 0, "s"], - [11541, 0, " "], - [11542, 0, "o"], - [11543, 0, "n"], - [11544, 0, "l"], - [11545, 0, "y"], - [11546, 0, " "], - [11547, 0, "o"], - [11548, 0, "f"], - [11549, 0, " "], - [11550, 0, "i"], - [11551, 0, "m"], - [11552, 0, "m"], - [11553, 0, "u"], - [11554, 0, "t"], - [11555, 0, "a"], - [11556, 0, "b"], - [11557, 0, "l"], - [11558, 0, "e"], - [11559, 0, " "], - [11560, 0, "k"], - [11561, 0, "e"], - [11562, 0, "y"], - [11563, 0, "s"], - [11564, 0, " "], - [11565, 0, "a"], - [11566, 0, "n"], - [11567, 0, "d"], - [11568, 0, " "], - [11569, 0, "i"], - [11570, 0, "d"], - [11571, 0, "e"], - [11572, 0, "n"], - [11573, 0, "t"], - [11574, 0, "i"], - [11575, 0, "f"], - [11576, 0, "i"], - [11577, 0, "e"], - [11578, 0, "r"], - [11579, 0, "s"], - [11580, 0, ","], - [11581, 0, " "], - [11582, 0, "s"], - [11583, 0, "o"], - [11584, 0, " "], - [11585, 0, "i"], - [11586, 0, "t"], - [11587, 0, " "], - [11588, 0, "c"], - [11589, 0, "a"], - [11590, 0, "n"], - [11591, 0, " "], - [11592, 0, "b"], - [11593, 0, "e"], - [11594, 0, " "], - [11595, 0, "s"], - [11596, 0, "e"], - [11597, 0, "n"], - [11598, 0, "t"], - [11599, 0, " "], - [11600, 0, "o"], - [11601, 0, "v"], - [11602, 0, "e"], - [11603, 0, "r"], - [11604, 0, " "], - [11605, 0, "t"], - [11606, 0, "h"], - [11607, 0, "e"], - [11608, 0, " "], - [11609, 0, "n"], - [11610, 0, "e"], - [11611, 0, "t"], - [11612, 0, "w"], - [11613, 0, "o"], - [11614, 0, "r"], - [11615, 0, "k"], - [11616, 0, " "], - [11617, 0, "t"], - [11618, 0, "o"], - [11619, 0, " "], - [11620, 0, "a"], - [11621, 0, "n"], - [11622, 0, "o"], - [11623, 0, "t"], - [11624, 0, "h"], - [11625, 0, "e"], - [11626, 0, "r"], - [11627, 0, " "], - [11628, 0, "p"], - [11629, 0, "e"], - [11630, 0, "e"], - [11631, 0, "r"], - [11632, 0, ","], - [11633, 0, " "], - [11634, 0, "w"], - [11635, 0, "h"], - [11636, 0, "e"], - [11637, 0, "r"], - [11638, 0, "e"], - [11639, 0, " "], - [11640, 0, "i"], - [11641, 0, "t"], - [11642, 0, " "], - [11643, 0, "c"], - [11644, 0, "a"], - [11645, 0, "n"], - [11646, 0, " "], - [11647, 0, "b"], - [11648, 0, "e"], - [11649, 0, " "], - [11650, 0, "u"], - [11651, 0, "s"], - [11652, 0, "e"], - [11653, 0, "d"], - [11654, 0, " "], - [11655, 0, "t"], - [11656, 0, "o"], - [11657, 0, " "], - [11658, 0, "l"], - [11659, 0, "o"], - [11660, 0, "c"], - [11661, 0, "a"], - [11662, 0, "t"], - [11663, 0, "e"], - [11664, 0, " "], - [11665, 0, "t"], - [11666, 0, "h"], - [11667, 0, "e"], - [11668, 0, " "], - [11669, 0, "s"], - [11670, 0, "a"], - [11671, 0, "m"], - [11672, 0, "e"], - [11673, 0, " "], - [11674, 0, "p"], - [11675, 0, "o"], - [11676, 0, "s"], - [11677, 0, "i"], - [11678, 0, "t"], - [11679, 0, "i"], - [11680, 0, "o"], - [11681, 0, "n"], - [11682, 0, " "], - [11683, 0, "i"], - [11684, 0, "n"], - [11685, 0, " "], - [11686, 0, "t"], - [11687, 0, "h"], - [11688, 0, "e"], - [11689, 0, " "], - [11690, 0, "d"], - [11691, 0, "o"], - [11692, 0, "c"], - [11693, 0, "u"], - [11694, 0, "m"], - [11695, 0, "e"], - [11696, 0, "n"], - [11697, 0, "t"], - [11698, 0, "."], - [11699, 0, "\n"], - [11700, 0, "\n"], - [11701, 0, "F"], - [11702, 0, "o"], - [11703, 0, "r"], - [11704, 0, " "], - [11705, 0, "e"], - [11706, 0, "x"], - [11707, 0, "a"], - [11708, 0, "m"], - [11709, 0, "p"], - [11710, 0, "l"], - [11711, 0, "e"], - [11712, 0, ","], - [11713, 0, " "], - [11714, 0, "$"], - [11715, 0, "\\"], - [11716, 0, "m"], - [11717, 0, "a"], - [11718, 0, "t"], - [11719, 0, "h"], - [11720, 0, "s"], - [11721, 0, "f"], - [11722, 0, "{"], - [11723, 0, "c"], - [11724, 0, "u"], - [11725, 0, "r"], - [11726, 0, "s"], - [11727, 0, "o"], - [11728, 0, "r"], - [11729, 0, "}"], - [11730, 0, "("], - [11731, 0, "\\"], - [11732, 0, "l"], - [11733, 0, "a"], - [11734, 0, "n"], - [11735, 0, "g"], - [11736, 0, "l"], - [11737, 0, "e"], - [11738, 0, " "], - [11739, 0, "\\"], - [11740, 0, "m"], - [11741, 0, "a"], - [11742, 0, "t"], - [11743, 0, "h"], - [11744, 0, "s"], - [11745, 0, "f"], - [11746, 0, "{"], - [11747, 0, "m"], - [11748, 0, "a"], - [11749, 0, "p"], - [11750, 0, "T"], - [11751, 0, "}"], - [11752, 0, "("], - [11753, 0, "\\"], - [11754, 0, "m"], - [11755, 0, "a"], - [11756, 0, "t"], - [11757, 0, "h"], - [11758, 0, "s"], - [11759, 0, "f"], - [11760, 0, "{"], - [11761, 0, "d"], - [11762, 0, "o"], - [11763, 0, "c"], - [11764, 0, "}"], - [11765, 0, ")"], - [11766, 0, ","], - [11767, 0, " "], - [11768, 0, "\\"], - [11769, 0, "m"], - [11770, 0, "a"], - [11771, 0, "t"], - [11772, 0, "h"], - [11773, 0, "s"], - [11774, 0, "f"], - [11775, 0, "{"], - [11776, 0, "l"], - [11777, 0, "i"], - [11778, 0, "s"], - [11779, 0, "t"], - [11780, 0, "T"], - [11781, 0, "}"], - [11782, 0, "("], - [11783, 0, "\\"], - [11784, 0, "t"], - [11785, 0, "e"], - [11786, 0, "x"], - [11787, 0, "t"], - [11788, 0, "{"], - [11789, 0, "`"], - [11790, 0, "`"], - [11791, 0, "s"], - [11792, 0, "h"], - [11793, 0, "o"], - [11794, 0, "p"], - [11795, 0, "p"], - [11796, 0, "i"], - [11797, 0, "n"], - [11798, 0, "g"], - [11799, 0, "'"], - [11800, 0, "'"], - [11801, 0, "}"], - [11802, 0, ")"], - [11803, 0, " "], - [11804, 0, "\\"], - [11805, 0, "r"], - [11806, 0, "a"], - [11807, 0, "n"], - [11808, 0, "g"], - [11809, 0, "l"], - [11810, 0, "e"], - [11811, 0, ","], - [11812, 0, "\\"], - [11813, 0, ","], - [11814, 0, " "], - [11815, 0, "\\"], - [11816, 0, "m"], - [11817, 0, "a"], - [11818, 0, "t"], - [11819, 0, "h"], - [11820, 0, "i"], - [11821, 0, "t"], - [11822, 0, "{"], - [11823, 0, "i"], - [11824, 0, "d"], - [11825, 0, "}"], - [11826, 0, "_"], - [11827, 0, "1"], - [11828, 0, ")"], - [11829, 0, "$"], - [11830, 0, " "], - [11831, 0, "i"], - [11832, 0, "s"], - [11833, 0, " "], - [11834, 0, "a"], - [11835, 0, " "], - [11836, 0, "c"], - [11837, 0, "u"], - [11838, 0, "r"], - [11839, 0, "s"], - [11840, 0, "o"], - [11841, 0, "r"], - [11842, 0, " "], - [11843, 0, "r"], - [11844, 0, "e"], - [11845, 0, "p"], - [11846, 0, "r"], - [11847, 0, "e"], - [11848, 0, "s"], - [11849, 0, "e"], - [11850, 0, "n"], - [11851, 0, "t"], - [11852, 0, "i"], - [11853, 0, "n"], - [11854, 0, "g"], - [11855, 0, " "], - [11856, 0, "t"], - [11857, 0, "h"], - [11858, 0, "e"], - [11859, 0, " "], - [11860, 0, "l"], - [11861, 0, "i"], - [11862, 0, "s"], - [11863, 0, "t"], - [11864, 0, " "], - [11865, 0, "e"], - [11866, 0, "l"], - [11867, 0, "e"], - [11868, 0, "m"], - [11869, 0, "e"], - [11870, 0, "n"], - [11871, 0, "t"], - [11872, 0, " "], - [11873, 0, "\\"], - [11874, 0, "v"], - [11875, 0, "e"], - [11876, 0, "r"], - [11877, 0, "b"], - [11878, 0, "|"], - [11879, 0, "\""], - [11880, 0, "e"], - [11881, 0, "g"], - [11882, 0, "g"], - [11883, 0, "s"], - [11884, 0, "\""], - [11885, 0, "|"], - [11886, 0, " "], - [11887, 0, "i"], - [11888, 0, "n"], - [11889, 0, " "], - [11890, 0, "F"], - [11891, 0, "i"], - [11892, 0, "g"], - [11893, 0, "u"], - [11894, 0, "r"], - [11895, 0, "e"], - [11896, 0, "~"], - [11897, 0, "\\"], - [11898, 0, "r"], - [11899, 0, "e"], - [11900, 0, "f"], - [11901, 0, "{"], - [11902, 0, "f"], - [11903, 0, "i"], - [11904, 0, "g"], - [11905, 0, ":"], - [11906, 0, "m"], - [11907, 0, "a"], - [11908, 0, "k"], - [11909, 0, "e"], - [11910, 0, "-"], - [11911, 0, "d"], - [11912, 0, "o"], - [11913, 0, "c"], - [11914, 0, "}"], - [11915, 0, "."], - [11916, 0, " "], - [11917, 0, "T"], - [11918, 0, "h"], - [11919, 0, "e"], - [11920, 0, " "], - [11921, 0, "c"], - [11922, 0, "u"], - [11923, 0, "r"], - [11923, 1], - [11922, 1], - [11921, 1], - [11920, 1], - [11919, 1], - [11918, 1], - [11917, 1], - [11917, 0, "I"], - [11918, 0, "t"], - [11919, 0, " "], - [11920, 0, "c"], - [11921, 0, "a"], - [11922, 0, "n"], - [11923, 0, " "], - [11924, 0, "b"], - [11925, 0, "e"], - [11926, 0, " "], - [11927, 0, "i"], - [11928, 0, "n"], - [11929, 0, "t"], - [11930, 0, "e"], - [11931, 0, "r"], - [11932, 0, "p"], - [11933, 0, "r"], - [11934, 0, "e"], - [11935, 0, "t"], - [11936, 0, "e"], - [11937, 0, "d"], - [11938, 0, " "], - [11939, 0, "a"], - [11940, 0, "s"], - [11941, 0, " "], - [11942, 0, "a"], - [11943, 0, " "], - [11944, 0, "p"], - [11945, 0, "a"], - [11946, 0, "t"], - [11947, 0, "h"], - [11948, 0, ","], - [11949, 0, " "], - [11950, 0, "r"], - [11951, 0, "e"], - [11952, 0, "a"], - [11953, 0, "d"], - [11954, 0, " "], - [11955, 0, "f"], - [11956, 0, "r"], - [11957, 0, "o"], - [11958, 0, "m"], - [11959, 0, " "], - [11960, 0, "l"], - [11961, 0, "e"], - [11962, 0, "f"], - [11963, 0, "t"], - [11964, 0, " "], - [11965, 0, "t"], - [11966, 0, "o"], - [11967, 0, " "], - [11968, 0, "r"], - [11969, 0, "i"], - [11970, 0, "g"], - [11971, 0, "h"], - [11972, 0, "t"], - [11973, 0, ":"], - [11974, 0, " "], - [11948, 0, " "], - [11949, 0, "t"], - [11950, 0, "h"], - [11951, 0, "r"], - [11952, 0, "o"], - [11953, 0, "u"], - [11954, 0, "g"], - [11955, 0, "h"], - [11956, 0, " "], - [11957, 0, "t"], - [11958, 0, "h"], - [11959, 0, "e"], - [11960, 0, " "], - [11961, 0, "s"], - [11962, 0, "t"], - [11963, 0, "r"], - [11964, 0, "u"], - [11965, 0, "c"], - [11966, 0, "t"], - [11967, 0, "u"], - [11968, 0, "r"], - [11969, 0, "e"], - [11970, 0, " "], - [11971, 0, "i"], - [11972, 0, "n"], - [11973, 0, " "], - [11974, 0, "F"], - [11975, 0, "i"], - [11976, 0, "g"], - [11977, 0, "u"], - [11978, 0, "r"], - [11979, 0, "e"], - [11980, 0, "~"], - [11981, 0, "\\"], - [11982, 0, "r"], - [11983, 0, "e"], - [11984, 0, "f"], - [11985, 0, "{"], - [11986, 0, "f"], - [11987, 0, "i"], - [11988, 0, "g"], - [11989, 0, ":"], - [11990, 0, "s"], - [11991, 0, "t"], - [11992, 0, "a"], - [11993, 0, "t"], - [11994, 0, "e"], - [11995, 0, "-"], - [11996, 0, "e"], - [11997, 0, "x"], - [11998, 0, "a"], - [11999, 0, "m"], - [12000, 0, "p"], - [12001, 0, "l"], - [12002, 0, "e"], - [12003, 0, "}"], - [12031, 0, "s"], - [12032, 0, "t"], - [12033, 0, "a"], - [12034, 0, "r"], - [12035, 0, "t"], - [12036, 0, "i"], - [12037, 0, "n"], - [12038, 0, "g"], - [12039, 0, " "], - [12040, 0, "f"], - [12041, 0, "r"], - [12042, 0, "o"], - [12043, 0, "m"], - [12044, 0, " "], - [12045, 0, "t"], - [12046, 0, "h"], - [12047, 0, "e"], - [12048, 0, " "], - [12049, 0, "\\"], - [12050, 0, "m"], - [12051, 0, "a"], - [12051, 1], - [12050, 1], - [12050, 0, "t"], - [12051, 0, "e"], - [12052, 0, "x"], - [12053, 0, "t"], - [12054, 0, "s"], - [12055, 0, "f"], - [12056, 0, "{"], - [12057, 0, "d"], - [12058, 0, "o"], - [12059, 0, "c"], - [12060, 0, "}"], - [12061, 0, " "], - [12062, 0, "m"], - [12063, 0, "a"], - [12064, 0, "p"], - [12065, 0, " "], - [12066, 0, "a"], - [12067, 0, "t"], - [12068, 0, " "], - [12069, 0, "t"], - [12070, 0, "h"], - [12071, 0, "e"], - [12072, 0, " "], - [12073, 0, "r"], - [12074, 0, "o"], - [12075, 0, "o"], - [12076, 0, "t"], - [12077, 0, ","], - [12078, 0, " "], - [12079, 0, "i"], - [12080, 0, "t"], - [12081, 0, " "], - [12082, 0, "t"], - [12083, 0, "r"], - [12084, 0, "a"], - [12085, 0, "v"], - [12086, 0, "e"], - [12087, 0, "r"], - [12088, 0, "s"], - [12089, 0, "e"], - [12090, 0, "s"], - [12091, 0, " "], - [12092, 0, "t"], - [12093, 0, "h"], - [12094, 0, "r"], - [12095, 0, "o"], - [12096, 0, "u"], - [12097, 0, "g"], - [12098, 0, "h"], - [12099, 0, " "], - [12100, 0, "t"], - [12101, 0, "h"], - [12102, 0, "e"], - [12103, 0, " "], - [12104, 0, "m"], - [12105, 0, "a"], - [12106, 0, "p"], - [12107, 0, " "], - [12108, 0, "k"], - [12109, 0, "e"], - [12110, 0, "y"], - [12111, 0, " "], - [12112, 0, "`"], - [12113, 0, "`"], - [12114, 0, "s"], - [12115, 0, "h"], - [12116, 0, "o"], - [12117, 0, "p"], - [12118, 0, "p"], - [12119, 0, "i"], - [12120, 0, "n"], - [12121, 0, "g"], - [12122, 0, "'"], - [12123, 0, "'"], - [12124, 0, " "], - [12125, 0, "o"], - [12126, 0, "f"], - [12127, 0, " "], - [12128, 0, "t"], - [12129, 0, "y"], - [12130, 0, "p"], - [12131, 0, "e"], - [12132, 0, " "], - [12133, 0, "l"], - [12134, 0, "i"], - [12135, 0, "s"], - [12136, 0, "t"], - [12110, 1], - [12109, 1], - [12108, 1], - [12108, 0, "e"], - [12109, 0, "n"], - [12110, 0, "t"], - [12111, 0, "r"], - [12112, 0, "y"], - [12135, 0, "\\"], - [12136, 0, "m"], - [12137, 0, "a"], - [12138, 0, "t"], - [12139, 0, "h"], - [12140, 0, "s"], - [12141, 0, "f"], - [12142, 0, "{"], - [12147, 0, "T"], - [12148, 0, "}"], - [12149, 0, ","], - [12150, 0, " "], - [12151, 0, "a"], - [12152, 0, "n"], - [12153, 0, "d"], - [12154, 0, " "], - [12155, 0, "e"], - [12156, 0, "n"], - [12157, 0, "d"], - [12158, 0, "s"], - [12159, 0, " "], - [12160, 0, "w"], - [12161, 0, "i"], - [12162, 0, "t"], - [12163, 0, "h"], - [12164, 0, " "], - [12165, 0, "t"], - [12166, 0, "h"], - [12167, 0, "e"], - [12168, 0, " "], - [12169, 0, "l"], - [12170, 0, "i"], - [12171, 0, "s"], - [12172, 0, "t"], - [12173, 0, " "], - [12174, 0, "e"], - [12175, 0, "l"], - [12176, 0, "e"], - [12177, 0, "m"], - [12178, 0, "e"], - [12179, 0, "n"], - [12180, 0, "t"], - [12181, 0, " "], - [12182, 0, "w"], - [12183, 0, "i"], - [12184, 0, "t"], - [12185, 0, "h"], - [12186, 0, " "], - [12187, 0, "i"], - [12188, 0, "d"], - [12189, 0, "e"], - [12190, 0, "n"], - [12191, 0, "t"], - [12192, 0, "i"], - [12193, 0, "f"], - [12194, 0, "i"], - [12195, 0, "e"], - [12196, 0, "r"], - [12197, 0, " "], - [12198, 0, "$"], - [12199, 0, "\\"], - [12200, 0, "m"], - [12201, 0, "a"], - [12202, 0, "t"], - [12203, 0, "h"], - [12204, 0, "i"], - [12205, 0, "t"], - [12206, 0, "{"], - [12207, 0, "i"], - [12208, 0, "d"], - [12209, 0, "}"], - [12210, 0, "_"], - [12211, 0, "1"], - [12212, 0, "$"], - [12213, 0, "."], - [12139, 1], - [12138, 1], - [12137, 1], - [12136, 1], - [12136, 0, "t"], - [12137, 0, "e"], - [12138, 0, "x"], - [12139, 0, "t"], - [11713, 1], - [11712, 1], - [11711, 1], - [11710, 1], - [11709, 1], - [11708, 1], - [11707, 1], - [11707, 0, "a"], - [11708, 0, "m"], - [11709, 0, "p"], - [11710, 0, "k"], - [11711, 0, "e"], - [11711, 1], - [11710, 1], - [11709, 1], - [11709, 0, "p"], - [11710, 0, "l"], - [11711, 0, "e"], - [11712, 0, ","], - [11713, 0, " "], - [11713, 1], - [11713, 0, "\n"], - [11714, 0, "$"], - [11831, 0, "$"], - [11832, 0, "\n"], - [11833, 1], - [10800, 0, ","], - [10801, 0, " "], - [10802, 0, "r"], - [10803, 0, "e"], - [10804, 0, "s"], - [10805, 0, "p"], - [10806, 0, "e"], - [10807, 0, "c"], - [10808, 0, "t"], - [10809, 0, "i"], - [10810, 0, "v"], - [10811, 0, "e"], - [10812, 0, "l"], - [10813, 0, "y"], - [12174, 1], - [12173, 1], - [12172, 1], - [12171, 1], - [12171, 0, "f"], - [12172, 0, "i"], - [12173, 0, "n"], - [12174, 0, "i"], - [12175, 0, "s"], - [12176, 0, "h"], - [12177, 0, "e"], - [12178, 0, "s"], - [12234, 0, "\n"], - [12235, 0, "\n"], - [12236, 0, "I"], - [12237, 0, "n"], - [12238, 0, " "], - [12239, 0, "g"], - [12240, 0, "e"], - [12241, 0, "n"], - [12242, 0, "e"], - [12243, 0, "r"], - [12244, 0, "a"], - [12245, 0, "l"], - [12246, 0, ","], - [12247, 0, " "], - [12248, 0, "a"], - [12249, 0, " "], - [12250, 0, "c"], - [12251, 0, "u"], - [12252, 0, "r"], - [12253, 0, "s"], - [12254, 0, "o"], - [12255, 0, "r"], - [12256, 0, " "], - [12257, 0, "c"], - [12258, 0, "o"], - [12259, 0, "n"], - [12260, 0, "t"], - [12261, 0, "a"], - [12262, 0, "i"], - [12263, 0, "n"], - [12264, 0, "s"], - [12264, 1], - [12263, 1], - [12262, 1], - [12261, 1], - [12260, 1], - [12260, 0, "s"], - [12261, 0, "i"], - [12262, 0, "s"], - [12263, 0, "t"], - [12264, 0, "s"], - [12265, 0, " "], - [12266, 0, "o"], - [12267, 0, "f"], - [12268, 0, " "], - [12268, 1], - [12267, 1], - [12266, 1], - [12265, 1], - [12264, 1], - [12263, 1], - [12262, 1], - [12261, 1], - [12260, 1], - [12259, 1], - [12258, 1], - [12257, 1], - [12256, 1], - [12255, 1], - [12254, 1], - [12253, 1], - [12252, 1], - [12251, 1], - [12250, 1], - [12249, 1], - [12248, 1], - [12248, 0, "$"], - [12249, 0, "\\"], - [12250, 0, "m"], - [12251, 0, "a"], - [12252, 0, "t"], - [12253, 0, "h"], - [12254, 0, "s"], - [12255, 0, "f"], - [12256, 0, "{"], - [12257, 0, "c"], - [12258, 0, "u"], - [12259, 0, "r"], - [12260, 0, "s"], - [12261, 0, "o"], - [12262, 0, "r"], - [12263, 0, "}"], - [12264, 0, "("], - [12265, 0, "\\"], - [12266, 0, "l"], - [12267, 0, "a"], - [12268, 0, "n"], - [12269, 0, "g"], - [12270, 0, "l"], - [12271, 0, "e"], - [12272, 0, " "], - [12273, 0, "k"], - [12274, 0, "_"], - [12275, 0, "1"], - [12276, 0, ","], - [12277, 0, " "], - [12278, 0, "\\"], - [12279, 0, "d"], - [12280, 0, "o"], - [12281, 0, "t"], - [12282, 0, "s"], - [12283, 0, ","], - [12284, 0, " "], - [12285, 0, "\\"], - [12286, 0, "k"], - [12286, 1], - [12285, 1], - [12285, 0, "k"], - [12286, 0, "_"], - [12287, 0, "{"], - [12288, 0, "n"], - [12289, 0, "-"], - [12290, 0, "1"], - [12291, 0, "}"], - [12292, 0, " "], - [12293, 0, "\\"], - [12294, 0, "r"], - [12295, 0, "a"], - [12296, 0, "n"], - [12297, 0, "g"], - [12298, 0, "l"], - [12299, 0, "e"], - [12300, 0, ","], - [12301, 0, "\\"], - [12302, 0, ","], - [12303, 0, " "], - [12304, 0, "k"], - [12305, 0, "_"], - [12306, 0, "n"], - [12307, 0, ")"], - [12308, 0, "$"], - [12309, 0, " "], - [12310, 0, "c"], - [12311, 0, "o"], - [12312, 0, "n"], - [12313, 0, "s"], - [12314, 0, "i"], - [12315, 0, "s"], - [12316, 0, "t"], - [12317, 0, "s"], - [12318, 0, " "], - [12319, 0, "o"], - [12320, 0, "f"], - [12321, 0, " "], - [12322, 0, "a"], - [12323, 0, " "], - [12324, 0, "v"], - [12325, 0, "e"], - [12326, 0, "c"], - [12327, 0, "t"], - [12328, 0, "o"], - [12329, 0, "r"], - [12330, 0, " "], - [12331, 0, "o"], - [12332, 0, "f"], - [12333, 0, " "], - [12334, 0, "k"], - [12335, 0, "e"], - [12336, 0, "y"], - [12337, 0, "s"], - [12338, 0, " "], - [12339, 0, "$"], - [12340, 0, "\\"], - [12341, 0, "l"], - [12342, 0, "a"], - [12343, 0, "n"], - [12344, 0, "g"], - [12345, 0, "l"], - [12346, 0, "e"], - [12347, 0, " "], - [12348, 0, "k"], - [12349, 0, "_"], - [12350, 0, "1"], - [12351, 0, ","], - [12352, 0, " "], - [12353, 0, "\\"], - [12354, 0, "d"], - [12355, 0, "o"], - [12356, 0, "t"], - [12357, 0, "s"], - [12323, 0, " "], - [12324, 0, "("], - [12325, 0, "p"], - [12326, 0, "o"], - [12327, 0, "s"], - [12328, 0, "s"], - [12329, 0, "i"], - [12330, 0, "b"], - [12331, 0, "l"], - [12332, 0, "y"], - [12333, 0, " "], - [12334, 0, "e"], - [12335, 0, "m"], - [12336, 0, "p"], - [12337, 0, "t"], - [12338, 0, "y"], - [12339, 0, ")"], - [12375, 0, ","], - [12376, 0, " "], - [12377, 0, "k"], - [12378, 0, "_"], - [12379, 0, "{"], - [12380, 0, "n"], - [12381, 0, "-"], - [12382, 0, "1"], - [12383, 0, "}"], - [12384, 0, " "], - [12385, 0, "\\"], - [12386, 0, "r"], - [12387, 0, "a"], - [12388, 0, "n"], - [12389, 0, "g"], - [12390, 0, "l"], - [12391, 0, "e"], - [12392, 0, "$"], - [12393, 0, ","], - [12394, 0, " "], - [12395, 0, "a"], - [12396, 0, "n"], - [12397, 0, "d"], - [12398, 0, " "], - [12399, 0, "a"], - [12400, 0, " "], - [12401, 0, "f"], - [12402, 0, "i"], - [12403, 0, "n"], - [12404, 0, "a"], - [12405, 0, "l"], - [12406, 0, " "], - [12407, 0, "k"], - [12408, 0, "e"], - [12409, 0, "y"], - [12410, 0, " "], - [12411, 0, "$"], - [12412, 0, "k"], - [12413, 0, "_"], - [12414, 0, "n"], - [12415, 0, "$"], - [12416, 0, " "], - [12417, 0, "("], - [12418, 0, "w"], - [12419, 0, "h"], - [12420, 0, "i"], - [12421, 0, "c"], - [12422, 0, "h"], - [12423, 0, " "], - [12424, 0, "i"], - [12425, 0, "s"], - [12426, 0, " "], - [12427, 0, "a"], - [12428, 0, "l"], - [12429, 0, "w"], - [12430, 0, "a"], - [12431, 0, "y"], - [12432, 0, "s"], - [12433, 0, " "], - [12434, 0, "p"], - [12435, 0, "r"], - [12436, 0, "e"], - [12437, 0, "s"], - [12438, 0, "e"], - [12439, 0, "n"], - [12440, 0, "t"], - [12441, 0, ")"], - [12442, 0, "."], - [12443, 0, " "], - [12444, 0, "$"], - [12445, 0, "k"], - [12446, 0, "_"], - [12447, 0, "n"], - [12448, 0, "$"], - [12449, 0, " "], - [12450, 0, "c"], - [12451, 0, "a"], - [12452, 0, "n"], - [12453, 0, " "], - [12454, 0, "b"], - [12455, 0, "e"], - [12456, 0, " "], - [12457, 0, "t"], - [12458, 0, "h"], - [12459, 0, "o"], - [12460, 0, "u"], - [12461, 0, "g"], - [12462, 0, "h"], - [12463, 0, "t"], - [12464, 0, " "], - [12465, 0, "o"], - [12466, 0, "f"], - [12467, 0, " "], - [12468, 0, "a"], - [12469, 0, "s"], - [12470, 0, " "], - [12471, 0, "t"], - [12472, 0, "h"], - [12473, 0, "e"], - [12474, 0, " "], - [12475, 0, "f"], - [12476, 0, "i"], - [12477, 0, "n"], - [12478, 0, "a"], - [12479, 0, "l"], - [12480, 0, " "], - [12481, 0, "e"], - [12482, 0, "l"], - [12483, 0, "e"], - [12484, 0, "m"], - [12485, 0, "e"], - [12486, 0, "n"], - [12487, 0, "t"], - [12488, 0, " "], - [12489, 0, "o"], - [12490, 0, "f"], - [12491, 0, " "], - [12492, 0, "t"], - [12493, 0, "h"], - [12494, 0, "e"], - [12495, 0, " "], - [12496, 0, "v"], - [12497, 0, "e"], - [12498, 0, "c"], - [12499, 0, "t"], - [12500, 0, "o"], - [12501, 0, "r"], - [12502, 0, ","], - [12503, 0, " "], - [12504, 0, "w"], - [12505, 0, "i"], - [12506, 0, "t"], - [12507, 0, "h"], - [12508, 0, " "], - [12509, 0, "t"], - [12510, 0, "h"], - [12511, 0, "e"], - [12512, 0, " "], - [12513, 0, "d"], - [12514, 0, "i"], - [12515, 0, "s"], - [12516, 0, "t"], - [12517, 0, "i"], - [12518, 0, "n"], - [12519, 0, "c"], - [12520, 0, "t"], - [12521, 0, "i"], - [12522, 0, "o"], - [12523, 0, "n"], - [12524, 0, " "], - [12525, 0, "t"], - [12526, 0, "h"], - [12527, 0, "a"], - [12528, 0, "t"], - [12529, 0, " "], - [12530, 0, "i"], - [12531, 0, "s"], - [12531, 1], - [12531, 0, "t"], - [12532, 0, " "], - [12533, 0, "i"], - [12534, 0, "s"], - [12535, 0, " "], - [12536, 0, "n"], - [12537, 0, "o"], - [12538, 0, "t"], - [12539, 0, " "], - [12540, 0, "t"], - [12541, 0, "a"], - [12542, 0, "g"], - [12543, 0, "g"], - [12544, 0, "e"], - [12545, 0, "d"], - [12546, 0, " "], - [12547, 0, "w"], - [12548, 0, "i"], - [12549, 0, "t"], - [12550, 0, "h"], - [12551, 0, " "], - [12552, 0, "a"], - [12553, 0, " "], - [12554, 0, "d"], - [12555, 0, "a"], - [12556, 0, "t"], - [12557, 0, "a"], - [12558, 0, "t"], - [12559, 0, "y"], - [12560, 0, "p"], - [12561, 0, "e"], - [12562, 0, ","], - [12563, 0, " "], - [12564, 0, "w"], - [12565, 0, "h"], - [12566, 0, "e"], - [12567, 0, "r"], - [12568, 0, "e"], - [12569, 0, "a"], - [12570, 0, "s"], - [12571, 0, " "], - [12572, 0, "t"], - [12573, 0, "h"], - [12574, 0, "e"], - [12575, 0, " "], - [12576, 0, "e"], - [12577, 0, "l"], - [12578, 0, "e"], - [12579, 0, "m"], - [12580, 0, "e"], - [12581, 0, "n"], - [12582, 0, "t"], - [12583, 0, "s"], - [12584, 0, " "], - [12585, 0, "o"], - [12586, 0, "f"], - [12587, 0, " "], - [12588, 0, "t"], - [12589, 0, "h"], - [12590, 0, "e"], - [12591, 0, " "], - [12592, 0, "v"], - [12593, 0, "e"], - [12594, 0, "c"], - [12595, 0, "t"], - [12596, 0, "o"], - [12597, 0, "r"], - [12598, 0, " "], - [12599, 0, "h"], - [12600, 0, "a"], - [12601, 0, "v"], - [12602, 0, "e"], - [12603, 0, " "], - [12604, 0, "a"], - [12605, 0, " "], - [12606, 0, "d"], - [12607, 0, "a"], - [12608, 0, "t"], - [12609, 0, "a"], - [12610, 0, "t"], - [12611, 0, "y"], - [12612, 0, "p"], - [12613, 0, "e"], - [12614, 0, " "], - [12615, 0, "a"], - [12616, 0, "n"], - [12617, 0, "n"], - [12617, 1], - [12616, 1], - [12615, 1], - [12615, 0, "a"], - [12616, 0, "t"], - [12617, 0, "o"], - [12618, 0, "m"], - [12619, 0, " "], - [12620, 0, "s"], - [12621, 0, "u"], - [12622, 0, "c"], - [12623, 0, "h"], - [12624, 0, " "], - [12625, 0, "a"], - [12626, 0, "s"], - [12627, 0, " "], - [12628, 0, "$"], - [12629, 0, "\\"], - [12629, 1], - [12628, 1], - [12628, 0, "\\"], - [12629, 0, "t"], - [12630, 0, "e"], - [12631, 0, "x"], - [12632, 0, "t"], - [12633, 0, "s"], - [12634, 0, "f"], - [12635, 0, "{"], - [12636, 0, "m"], - [12637, 0, "a"], - [12638, 0, "p"], - [12639, 0, "T"], - [12640, 0, "}"], - [12641, 0, " "], - [12642, 0, "o"], - [12643, 0, "r"], - [12644, 0, " "], - [12645, 0, "\\"], - [12646, 0, "t"], - [12647, 0, "e"], - [12648, 0, "x"], - [12649, 0, "t"], - [12650, 0, "s"], - [12651, 0, "f"], - [12652, 0, "{"], - [12653, 0, "l"], - [12654, 0, "i"], - [12655, 0, "s"], - [12656, 0, "t"], - [12657, 0, "T"], - [12658, 0, "}"], - [12659, 0, "."], - [12660, 0, "\n"], - [12661, 0, "\n"], - [12662, 0, "T"], - [12663, 0, "h"], - [12664, 0, "e"], - [12665, 0, " "], - [12666, 0, "\\"], - [12667, 0, "m"], - [12668, 0, "a"], - [12669, 0, "t"], - [12669, 1], - [12668, 1], - [12667, 1], - [12667, 0, "t"], - [12668, 0, "e"], - [12669, 0, "x"], - [12670, 0, "t"], - [12671, 0, "s"], - [12672, 0, "c"], - [12673, 0, "{"], - [12674, 0, "D"], - [12675, 0, "o"], - [12676, 0, "c"], - [12677, 0, "}"], - [12678, 0, " "], - [12679, 0, "r"], - [12680, 0, "u"], - [12681, 0, "l"], - [12682, 0, "e"], - [12683, 0, " "], - [12684, 0, "i"], - [12685, 0, "n"], - [12686, 0, " "], - [12687, 0, "F"], - [12688, 0, "i"], - [12689, 0, "g"], - [12690, 0, "u"], - [12691, 0, "r"], - [12692, 0, "e"], - [12693, 0, "~"], - [12694, 0, "\\"], - [12695, 0, "r"], - [12696, 0, "e"], - [12697, 0, "f"], - [12698, 0, "{"], - [12699, 0, "f"], - [12700, 0, "i"], - [12701, 0, "g"], - [12702, 0, ":"], - [12703, 0, "e"], - [12704, 0, "x"], - [12705, 0, "p"], - [12706, 0, "r"], - [12707, 0, "-"], - [12708, 0, "r"], - [12709, 0, "u"], - [12710, 0, "l"], - [12711, 0, "e"], - [12712, 0, "s"], - [12713, 0, "}"], - [12714, 0, " "], - [12715, 0, "d"], - [12716, 0, "e"], - [12717, 0, "f"], - [12718, 0, "i"], - [12719, 0, "n"], - [12720, 0, "e"], - [12721, 0, "s"], - [12722, 0, " "], - [12723, 0, "t"], - [12724, 0, "h"], - [12725, 0, "e"], - [12726, 0, " "], - [12727, 0, "s"], - [12728, 0, "i"], - [12729, 0, "m"], - [12730, 0, "p"], - [12731, 0, "l"], - [12732, 0, "e"], - [12733, 0, "s"], - [12734, 0, "t"], - [12735, 0, " "], - [12736, 0, "c"], - [12737, 0, "u"], - [12738, 0, "r"], - [12739, 0, "s"], - [12740, 0, "o"], - [12741, 0, "r"], - [12742, 0, ","], - [12743, 0, " "], - [12744, 0, "r"], - [12745, 0, "e"], - [12746, 0, "f"], - [12747, 0, "e"], - [12748, 0, "r"], - [12749, 0, "e"], - [12750, 0, "n"], - [12751, 0, "c"], - [12752, 0, "i"], - [12753, 0, "n"], - [12754, 0, "g"], - [12755, 0, " "], - [12756, 0, "t"], - [12757, 0, "h"], - [12758, 0, "e"], - [12759, 0, " "], - [12760, 0, "r"], - [12761, 0, "o"], - [12762, 0, "o"], - [12763, 0, "t"], - [12764, 0, " "], - [12765, 0, "o"], - [12766, 0, "f"], - [12767, 0, " "], - [12768, 0, "t"], - [12769, 0, "h"], - [12770, 0, "e"], - [12771, 0, " "], - [12772, 0, "d"], - [12773, 0, "o"], - [12774, 0, "c"], - [12775, 0, "u"], - [12776, 0, "m"], - [12777, 0, "e"], - [12778, 0, "n"], - [12779, 0, "t"], - [12780, 0, " "], - [12781, 0, "u"], - [12782, 0, "s"], - [12783, 0, "i"], - [12784, 0, "n"], - [12785, 0, "g"], - [12786, 0, " "], - [12787, 0, "t"], - [12788, 0, "h"], - [12789, 0, "e"], - [12790, 0, " "], - [12791, 0, "s"], - [12792, 0, "p"], - [12793, 0, "e"], - [12794, 0, "c"], - [12795, 0, "i"], - [12796, 0, "a"], - [12797, 0, "l"], - [12798, 0, " "], - [12799, 0, "a"], - [12800, 0, "t"], - [12801, 0, "o"], - [12802, 0, "m"], - [12803, 0, " "], - [12804, 0, "\\"], - [12805, 0, "m"], - [12806, 0, "a"], - [12806, 1], - [12805, 1], - [12805, 0, "t"], - [12806, 0, "e"], - [12807, 0, "x"], - [12808, 0, "t"], - [12809, 0, "s"], - [12810, 0, "f"], - [12811, 0, "{"], - [12812, 0, "d"], - [12813, 0, "o"], - [12814, 0, "c"], - [12815, 0, "}"], - [12816, 0, "."], - [12817, 0, " "], - [12818, 0, "I"], - [12819, 0, "f"], - [12820, 0, " "], - [12821, 0, "t"], - [12822, 0, "h"], - [12823, 0, "e"], - [12824, 0, " "], - [12825, 0, "r"], - [12826, 0, "o"], - [12827, 0, "o"], - [12828, 0, "t"], - [12829, 0, " "], - [12830, 0, "i"], - [12831, 0, "s"], - [12832, 0, " "], - [12833, 0, "a"], - [12834, 0, " "], - [12835, 0, "m"], - [12836, 0, "a"], - [12837, 0, "p"], - [12838, 0, " "], - [12839, 0, "("], - [12840, 0, "a"], - [12841, 0, "s"], - [12842, 0, " "], - [12843, 0, "i"], - [12844, 0, "n"], - [12845, 0, " "], - [12846, 0, "t"], - [12847, 0, "h"], - [12848, 0, "e"], - [12849, 0, " "], - [12850, 0, "e"], - [12851, 0, "x"], - [12852, 0, "a"], - [12853, 0, "m"], - [12854, 0, "p"], - [12855, 0, "l"], - [12856, 0, "e"], - [12857, 0, " "], - [12858, 0, "o"], - [12859, 0, "f"], - [12860, 0, " "], - [12860, 1], - [12859, 1], - [12858, 1], - [12857, 1], - [12856, 1], - [12855, 1], - [12854, 1], - [12853, 1], - [12852, 1], - [12851, 1], - [12850, 1], - [12849, 1], - [12848, 1], - [12847, 1], - [12846, 1], - [12845, 1], - [12844, 1], - [12843, 1], - [12842, 1], - [12841, 1], - [12840, 1], - [12839, 1], - [12838, 1], - [12837, 1], - [12836, 1], - [12835, 1], - [12834, 1], - [12833, 1], - [12832, 1], - [12831, 1], - [12830, 1], - [12829, 1], - [12828, 1], - [12827, 1], - [12826, 1], - [12825, 1], - [12824, 1], - [12823, 1], - [12822, 1], - [12821, 1], - [12820, 1], - [12819, 1], - [12818, 1], - [12818, 0, "T"], - [12819, 0, "h"], - [12820, 0, "e"], - [12821, 0, " "], - [12822, 0, "\\"], - [12823, 0, "t"], - [12824, 0, "e"], - [12825, 0, "x"], - [12826, 0, "t"], - [12827, 0, "s"], - [12828, 0, "c"], - [12829, 0, "{"], - [12830, 0, "G"], - [12831, 0, "e"], - [12832, 0, "t"], - [12833, 0, "}"], - [12834, 0, " "], - [12835, 0, "r"], - [12836, 0, "u"], - [12837, 0, "l"], - [12838, 0, "e"], - [12839, 0, " "], - [12840, 0, "n"], - [12841, 0, "a"], - [12842, 0, "v"], - [12843, 0, "i"], - [12844, 0, "g"], - [12845, 0, "a"], - [12846, 0, "t"], - [12847, 0, "e"], - [12848, 0, "s"], - [12849, 0, " "], - [12850, 0, "a"], - [12851, 0, " "], - [12852, 0, "c"], - [12853, 0, "u"], - [12854, 0, "r"], - [12855, 0, "s"], - [12856, 0, "o"], - [12857, 0, "r"], - [12858, 0, " "], - [12742, 0, " "], - [12743, 0, "$"], - [12744, 0, "\\"], - [12745, 0, "m"], - [12746, 0, "a"], - [12747, 0, "t"], - [12748, 0, "h"], - [12749, 0, "s"], - [12750, 0, "f"], - [12751, 0, "{"], - [12752, 0, "c"], - [12753, 0, "u"], - [12754, 0, "r"], - [12755, 0, "s"], - [12756, 0, "o"], - [12757, 0, "r"], - [12758, 0, "}"], - [12759, 0, "("], - [12760, 0, "\\"], - [12761, 0, "l"], - [12762, 0, "a"], - [12763, 0, "n"], - [12764, 0, "g"], - [12765, 0, "l"], - [12766, 0, "e"], - [12767, 0, "\\"], - [12768, 0, "r"], - [12769, 0, "a"], - [12770, 0, "n"], - [12771, 0, "g"], - [12772, 0, "l"], - [12773, 0, "e"], - [12774, 0, ","], - [12775, 0, "\\"], - [12776, 0, ","], - [12777, 0, " "], - [12778, 0, "\\"], - [12779, 0, "m"], - [12780, 0, "a"], - [12781, 0, "t"], - [12782, 0, "h"], - [12783, 0, "s"], - [12784, 0, "f"], - [12785, 0, "{"], - [12786, 0, "d"], - [12787, 0, "o"], - [12788, 0, "c"], - [12789, 0, "}"], - [12790, 0, ")"], - [12791, 0, "$"], - [12909, 0, "t"], - [12910, 0, "o"], - [12911, 0, " "], - [12912, 0, "a"], - [12913, 0, " "], - [12914, 0, "p"], - [12915, 0, "a"], - [12916, 0, "r"], - [12917, 0, "t"], - [12918, 0, "i"], - [12919, 0, "c"], - [12920, 0, "u"], - [12921, 0, "l"], - [12922, 0, "a"], - [12923, 0, "r"], - [12924, 0, " "], - [12925, 0, "k"], - [12926, 0, "e"], - [12927, 0, "y"], - [12928, 0, " "], - [12929, 0, "w"], - [12930, 0, "i"], - [12931, 0, "t"], - [12932, 0, "h"], - [12933, 0, "i"], - [12934, 0, "n"], - [12935, 0, " "], - [12936, 0, "a"], - [12937, 0, " "], - [12938, 0, "m"], - [12939, 0, "a"], - [12940, 0, "p"], - [12941, 0, ","], - [12942, 0, " "], - [12943, 0, "s"], - [12944, 0, "o"], - [12945, 0, " "], - [12946, 0, "t"], - [12947, 0, "h"], - [12948, 0, "e"], - [12949, 0, " "], - [12950, 0, "k"], - [12951, 0, "e"], - [12952, 0, "y"], - [12953, 0, " "], - [12954, 0, "`"], - [12955, 0, "`"], - [12956, 0, "w"], - [12957, 0, "h"], - [12957, 1], - [12956, 1], - [12956, 0, "s"], - [12957, 0, "h"], - [12958, 0, "o"], - [12959, 0, "p"], - [12960, 0, "p"], - [12961, 0, "i"], - [12962, 0, "n"], - [12963, 0, "g"], - [12964, 0, "'"], - [12965, 0, "'"], - [12966, 0, " "], - [12967, 0, "i"], - [12968, 0, "n"], - [12969, 0, " "], - [12970, 0, "t"], - [12971, 0, "h"], - [12972, 0, "e"], - [12973, 0, " "], - [12974, 0, "r"], - [12975, 0, "o"], - [12976, 0, "o"], - [12977, 0, "t"], - [12978, 0, " "], - [12979, 0, "d"], - [12980, 0, "o"], - [12981, 0, "c"], - [12982, 0, "u"], - [12983, 0, "m"], - [12984, 0, "e"], - [12985, 0, "n"], - [12986, 0, "t"], - [12987, 0, " "], - [12988, 0, "i"], - [12989, 0, "s"], - [12990, 0, " "], - [12991, 0, "r"], - [12992, 0, "e"], - [12993, 0, "p"], - [12994, 0, "r"], - [12995, 0, "e"], - [12996, 0, "s"], - [12997, 0, "e"], - [12998, 0, "n"], - [12999, 0, "t"], - [13000, 0, "e"], - [13001, 0, "d"], - [13002, 0, " "], - [13002, 1], - [13001, 1], - [13000, 1], - [12999, 1], - [12998, 1], - [12997, 1], - [12996, 1], - [12995, 1], - [12994, 1], - [12993, 1], - [12992, 1], - [12991, 1], - [12990, 1], - [12989, 1], - [12988, 1], - [12987, 1], - [12986, 1], - [12985, 1], - [12984, 1], - [12983, 1], - [12982, 1], - [12981, 1], - [12980, 1], - [12979, 1], - [12978, 1], - [12977, 1], - [12976, 1], - [12975, 1], - [12974, 1], - [12973, 1], - [12972, 1], - [12971, 1], - [12970, 1], - [12969, 1], - [12968, 1], - [12967, 1], - [12966, 1], - [12965, 1], - [12964, 1], - [12963, 1], - [12962, 1], - [12961, 1], - [12960, 1], - [12959, 1], - [12958, 1], - [12957, 1], - [12956, 1], - [12955, 1], - [12954, 1], - [12953, 1], - [12952, 1], - [12951, 1], - [12950, 1], - [12949, 1], - [12948, 1], - [12947, 1], - [12946, 1], - [12945, 1], - [12944, 1], - [12943, 1], - [12942, 1], - [12941, 1], - [12940, 1], - [12939, 1], - [12938, 1], - [12938, 0, "m"], - [12939, 0, "a"], - [12940, 0, "p"], - [12941, 0, "."], - [12942, 0, " "], - [12943, 0, "F"], - [12944, 0, "o"], - [12945, 0, "r"], - [12946, 0, " "], - [12947, 0, "e"], - [12948, 0, "x"], - [12949, 0, "a"], - [12950, 0, "m"], - [12951, 0, "p"], - [12952, 0, "l"], - [12953, 0, "e"], - [12954, 0, ","], - [12955, 0, " "], - [12956, 0, "t"], - [12957, 0, "h"], - [12958, 0, "e"], - [12959, 0, " "], - [12960, 0, "e"], - [12961, 0, "x"], - [12962, 0, "p"], - [12963, 0, "r"], - [12964, 0, "e"], - [12965, 0, "s"], - [12966, 0, "s"], - [12967, 0, "i"], - [12968, 0, "o"], - [12969, 0, "n"], - [12970, 0, " "], - [12971, 0, "$"], - [12972, 0, "\\"], - [12972, 1], - [12971, 1], - [12971, 0, "\\"], - [12972, 0, "v"], - [12973, 0, "e"], - [12974, 0, "r"], - [12975, 0, "b"], - [12976, 0, "|"], - [12977, 0, "d"], - [12978, 0, "o"], - [12979, 0, "c"], - [12980, 0, "."], - [12981, 0, "g"], - [12982, 0, "e"], - [12983, 0, "t"], - [12984, 0, "("], - [12985, 0, "\""], - [12986, 0, "s"], - [12987, 0, "h"], - [12988, 0, "o"], - [12989, 0, "p"], - [12990, 0, "p"], - [12991, 0, "i"], - [12992, 0, "n"], - [12993, 0, "g"], - [12994, 0, "\""], - [12995, 0, ")"], - [12996, 0, "|"], - [12997, 0, " "], - [12998, 0, "e"], - [12999, 0, "v"], - [13000, 0, "a"], - [13001, 0, "l"], - [13002, 0, "u"], - [13003, 0, "a"], - [13004, 0, "t"], - [13005, 0, "e"], - [13006, 0, "s"], - [13007, 0, " "], - [13008, 0, "t"], - [13009, 0, "o"], - [13010, 0, " "], - [13011, 0, "t"], - [13012, 0, "h"], - [13013, 0, "e"], - [13014, 0, " "], - [13015, 0, "c"], - [13016, 0, "u"], - [13017, 0, "r"], - [13018, 0, "s"], - [13019, 0, "o"], - [13020, 0, "r"], - [13021, 0, " "], - [13022, 0, "$"], - [13022, 1], - [13021, 1], - [13020, 1], - [13019, 1], - [13018, 1], - [13017, 1], - [13016, 1], - [13015, 1], - [13014, 1], - [13013, 1], - [13012, 1], - [13011, 1], - [13011, 0, "$"], - [13012, 0, "\\"], - [13013, 0, "m"], - [13014, 0, "a"], - [13015, 0, "t"], - [13016, 0, "h"], - [13017, 0, "s"], - [13018, 0, "f"], - [13019, 0, "{"], - [13020, 0, "c"], - [13021, 0, "u"], - [13022, 0, "r"], - [13023, 0, "s"], - [13024, 0, "o"], - [13025, 0, "r"], - [13026, 0, "}"], - [13027, 0, "("], - [13028, 0, "\\"], - [13029, 0, "l"], - [13030, 0, "a"], - [13031, 0, "n"], - [13032, 0, "g"], - [13033, 0, "l"], - [13034, 0, "e"], - [13035, 0, " "], - [13036, 0, "\\"], - [13037, 0, "m"], - [13038, 0, "a"], - [13039, 0, "t"], - [13040, 0, "h"], - [13041, 0, "s"], - [13042, 0, "f"], - [13043, 0, "{"], - [13044, 0, "m"], - [13045, 0, "a"], - [13046, 0, "p"], - [13047, 0, "T"], - [13048, 0, "}"], - [13049, 0, "("], - [13050, 0, "\\"], - [13051, 0, "m"], - [13052, 0, "a"], - [13053, 0, "t"], - [13054, 0, "h"], - [13055, 0, "s"], - [13056, 0, "f"], - [13057, 0, "{"], - [13058, 0, "d"], - [13059, 0, "o"], - [13060, 0, "c"], - [13061, 0, "}"], - [13062, 0, ")"], - [13063, 0, " "], - [13064, 0, "\\"], - [13065, 0, "r"], - [13066, 0, "a"], - [13067, 0, "n"], - [13068, 0, "g"], - [13069, 0, "l"], - [13070, 0, "e"], - [13071, 0, ","], - [13072, 0, "\\"], - [13073, 0, ","], - [13074, 0, " "], - [13075, 0, "\\"], - [13076, 0, "t"], - [13077, 0, "e"], - [13078, 0, "x"], - [13079, 0, "t"], - [13080, 0, "{"], - [13081, 0, "`"], - [13082, 0, "`"], - [13083, 0, "s"], - [13084, 0, "h"], - [13085, 0, "o"], - [13086, 0, "p"], - [13087, 0, "p"], - [13088, 0, "i"], - [13089, 0, "n"], - [13090, 0, "g"], - [13091, 0, "'"], - [13092, 0, "'"], - [13093, 0, "}"], - [13094, 0, ")"], - [13095, 0, "$"], - [13096, 0, " "], - [13097, 0, "b"], - [13098, 0, "y"], - [13099, 0, " "], - [13100, 0, "a"], - [13101, 0, "p"], - [13102, 0, "p"], - [13103, 0, "l"], - [13104, 0, "y"], - [13105, 0, "i"], - [13106, 0, "n"], - [13107, 0, "g"], - [13108, 0, " "], - [13109, 0, "t"], - [13110, 0, "h"], - [13111, 0, "e"], - [13112, 0, " "], - [13113, 0, "\\"], - [13114, 0, "t"], - [13115, 0, "e"], - [13116, 0, "x"], - [13117, 0, "t"], - [13118, 0, "s"], - [13119, 0, "c"], - [13120, 0, "{"], - [13121, 0, "D"], - [13122, 0, "o"], - [13123, 0, "c"], - [13124, 0, "}"], - [13125, 0, " "], - [13126, 0, "a"], - [13127, 0, "n"], - [13128, 0, "d"], - [13129, 0, " "], - [13130, 0, "\\"], - [13131, 0, "t"], - [13132, 0, "e"], - [13133, 0, "x"], - [13134, 0, "t"], - [13135, 0, "s"], - [13136, 0, "c"], - [13137, 0, "{"], - [13138, 0, "G"], - [13139, 0, "e"], - [13140, 0, "t"], - [13141, 0, "}"], - [13142, 0, " "], - [13143, 0, "r"], - [13144, 0, "u"], - [13145, 0, "l"], - [13146, 0, "e"], - [13147, 0, "s"], - [13148, 0, "."], - [13149, 0, "\n"], - [13150, 0, "\n"], - [13151, 0, "T"], - [13152, 0, "h"], - [13153, 0, "e"], - [13154, 0, " "], - [13155, 0, "\\"], - [13156, 0, "t"], - [13157, 0, "e"], - [13158, 0, "x"], - [13159, 0, "t"], - [13160, 0, "s"], - [13161, 0, "c"], - [13162, 0, "{"], - [13163, 0, "I"], - [13164, 0, "t"], - [13165, 0, "e"], - [13166, 0, "r"], - [13167, 0, "}"], - [13168, 0, " "], - [13169, 0, "r"], - [13170, 0, "u"], - [13171, 0, "l"], - [13172, 0, "e"], - [13173, 0, " "], - [13174, 0, "s"], - [13175, 0, "h"], - [13176, 0, "u"], - [13176, 1], - [13176, 0, "i"], - [13177, 0, "f"], - [13178, 0, "t"], - [13179, 0, "s"], - [13180, 0, " "], - [13181, 0, "t"], - [13182, 0, "h"], - [13183, 0, "e"], - [13184, 0, " "], - [13185, 0, "c"], - [13186, 0, "u"], - [13187, 0, "r"], - [13188, 0, "s"], - [13189, 0, "o"], - [13190, 0, "r"], - [13191, 0, " "], - [13192, 0, "i"], - [13193, 0, "n"], - [13194, 0, "t"], - [13195, 0, "o"], - [13196, 0, " "], - [13197, 0, "a"], - [13198, 0, " "], - [13199, 0, "l"], - [13200, 0, "i"], - [13201, 0, "s"], - [13202, 0, "t"], - [13203, 0, " "], - [13204, 0, "v"], - [13205, 0, "a"], - [13206, 0, "l"], - [13206, 1], - [13205, 1], - [13204, 1], - [13203, 1], - [13203, 0, " "], - [13204, 0, "a"], - [13205, 0, "n"], - [13206, 0, "d"], - [13207, 0, " "], - [13208, 0, "p"], - [13209, 0, "o"], - [13210, 0, "s"], - [13211, 0, "i"], - [13212, 0, "t"], - [13213, 0, "i"], - [13214, 0, "o"], - [13215, 0, "n"], - [13216, 0, "s"], - [13217, 0, " "], - [13218, 0, "t"], - [13219, 0, "h"], - [13220, 0, "e"], - [13221, 0, " "], - [13221, 1], - [13220, 1], - [13219, 1], - [13218, 1], - [13218, 0, "i"], - [13219, 0, "t"], - [13220, 0, " "], - [13221, 0, "a"], - [13222, 0, "t"], - [13223, 0, " "], - [13224, 0, "t"], - [13225, 0, "h"], - [13226, 0, "e"], - [13227, 0, " "], - [13228, 0, "\\"], - [13229, 0, "m"], - [13230, 0, "a"], - [13230, 1], - [13229, 1], - [13229, 0, "t"], - [13230, 0, "e"], - [13231, 0, "x"], - [13232, 0, "t"], - [13233, 0, "s"], - [13234, 0, "f"], - [13235, 0, "{"], - [13236, 0, "h"], - [13237, 0, "e"], - [13238, 0, "a"], - [13239, 0, "d"], - [13240, 0, "}"], - [13241, 0, " "], - [13242, 0, "o"], - [13243, 0, "f"], - [13244, 0, " "], - [13245, 0, "t"], - [13246, 0, "h"], - [13247, 0, "e"], - [13248, 0, " "], - [13249, 0, "l"], - [13250, 0, "i"], - [13251, 0, "s"], - [13252, 0, "t"], - [13253, 0, "."], - [13254, 0, " "], - [13255, 0, "T"], - [13256, 0, "h"], - [13257, 0, "i"], - [13258, 0, "s"], - [13259, 0, " "], - [13260, 0, "r"], - [13261, 0, "u"], - [13262, 0, "l"], - [13263, 0, "e"], - [13264, 0, " "], - [13265, 0, "a"], - [13266, 0, "p"], - [13267, 0, "p"], - [13268, 0, "l"], - [13269, 0, "i"], - [13270, 0, "e"], - [13271, 0, "s"], - [13272, 0, " "], - [13273, 0, "e"], - [13274, 0, "v"], - [13275, 0, "e"], - [13276, 0, "n"], - [13277, 0, " "], - [13278, 0, "i"], - [13279, 0, "f"], - [13280, 0, " "], - [13281, 0, "$"], - [13281, 1], - [13281, 0, "t"], - [13282, 0, "h"], - [13283, 0, "e"], - [13284, 0, " "], - [13285, 0, "l"], - [13286, 0, "i"], - [13287, 0, "s"], - [13288, 0, "t"], - [13289, 0, " "], - [13290, 0, "i"], - [13291, 0, "s"], - [13292, 0, " "], - [13293, 0, "e"], - [13294, 0, "m"], - [13295, 0, "p"], - [13296, 0, "t"], - [13297, 0, "y"], - [13298, 0, " "], - [13299, 0, "o"], - [13300, 0, "r"], - [13301, 0, " "], - [13302, 0, "n"], - [13303, 0, "o"], - [13304, 0, "n"], - [13305, 0, "e"], - [13306, 0, "x"], - [13307, 0, "i"], - [13308, 0, "s"], - [13309, 0, "t"], - [13310, 0, "e"], - [13311, 0, "n"], - [13312, 0, "t"], - [13313, 0, " "], - [13314, 0, "i"], - [13315, 0, "n"], - [13316, 0, " "], - [13317, 0, "$"], - [13318, 0, "A"], - [13319, 0, "_"], - [13320, 0, "p"], - [13321, 0, "$"], - [13322, 0, "."], - [13323, 0, " "], - [13324, 0, "T"], - [13325, 0, "h"], - [13326, 0, "e"], - [13327, 0, " "], - [13328, 0, "t"], - [13329, 0, "h"], - [13330, 0, "r"], - [13331, 0, "e"], - [13332, 0, "e"], - [13333, 0, " "], - [13334, 0, "r"], - [13335, 0, "u"], - [13336, 0, "l"], - [13337, 0, "e"], - [13338, 0, "s"], - [13339, 0, " "], - [13340, 0, "$"], - [13341, 0, "\\"], - [13342, 0, "t"], - [13343, 0, "e"], - [13344, 0, "x"], - [13345, 0, "t"], - [13346, 0, "s"], - [13347, 0, "c"], - [13348, 0, "{"], - [13349, 0, "N"], - [13350, 0, "e"], - [13351, 0, "x"], - [13352, 0, "t"], - [13353, 0, "}"], - [13354, 0, "_"], - [13355, 0, "1"], - [13356, 0, "$"], - [13357, 0, ","], - [13358, 0, " "], - [13359, 0, "$"], - [13360, 0, "\\"], - [13361, 0, "t"], - [13362, 0, "e"], - [13363, 0, "x"], - [13364, 0, "t"], - [13365, 0, "s"], - [13366, 0, "c"], - [13367, 0, "{"], - [13368, 0, "N"], - [13369, 0, "e"], - [13370, 0, "x"], - [13371, 0, "t"], - [13372, 0, "}"], - [13373, 0, "_"], - [13374, 0, "2"], - [13375, 0, "$"], - [13376, 0, " "], - [13377, 0, "a"], - [13378, 0, "n"], - [13379, 0, "d"], - [13380, 0, " "], - [13381, 0, "$"], - [13382, 0, "\\"], - [13383, 0, "t"], - [13384, 0, "e"], - [13385, 0, "x"], - [13386, 0, "t"], - [13387, 0, "s"], - [13388, 0, "c"], - [13389, 0, "{"], - [13390, 0, "N"], - [13391, 0, "e"], - [13392, 0, "x"], - [13393, 0, "t"], - [13394, 0, "}"], - [13395, 0, "$"], - [13396, 0, " "], - [13397, 0, "h"], - [13398, 0, "a"], - [13399, 0, "n"], - [13400, 0, "d"], - [13401, 0, "l"], - [13402, 0, "e"], - [13403, 0, " "], - [13404, 0, "i"], - [13405, 0, "t"], - [13406, 0, "e"], - [13407, 0, "r"], - [13408, 0, "a"], - [13409, 0, "t"], - [13410, 0, "i"], - [13411, 0, "o"], - [13412, 0, "n"], - [13413, 0, " "], - [13414, 0, "t"], - [13415, 0, "h"], - [13416, 0, "r"], - [13417, 0, "o"], - [13418, 0, "u"], - [13419, 0, "g"], - [13420, 0, "h"], - [13421, 0, " "], - [13422, 0, "a"], - [13423, 0, " "], - [13424, 0, "l"], - [13425, 0, "i"], - [13426, 0, "n"], - [13427, 0, "k"], - [13428, 0, "e"], - [13429, 0, "d"], - [13430, 0, " "], - [13431, 0, "l"], - [13432, 0, "i"], - [13433, 0, "s"], - [13434, 0, "t"], - [13435, 0, " "], - [13436, 0, "b"], - [13437, 0, "y"], - [13438, 0, " "], - [13439, 0, "s"], - [13440, 0, "e"], - [13441, 0, "t"], - [13442, 0, "t"], - [13443, 0, "i"], - [13444, 0, "n"], - [13445, 0, "g"], - [13446, 0, " "], - [13447, 0, "t"], - [13448, 0, "h"], - [13449, 0, "e"], - [13450, 0, " "], - [13451, 0, "f"], - [13452, 0, "i"], - [13453, 0, "n"], - [13454, 0, "a"], - [13455, 0, "l"], - [13456, 0, " "], - [13457, 0, "k"], - [13458, 0, "e"], - [13459, 0, "y"], - [13460, 0, " "], - [13461, 0, "i"], - [13462, 0, "n"], - [13463, 0, " "], - [13464, 0, "t"], - [13465, 0, "h"], - [13466, 0, "e"], - [13467, 0, " "], - [13468, 0, "c"], - [13469, 0, "u"], - [13470, 0, "r"], - [13471, 0, "s"], - [13472, 0, "o"], - [13473, 0, "r"], - [13474, 0, " "], - [13475, 0, "t"], - [13476, 0, "o"], - [13477, 0, " "], - [13478, 0, "t"], - [13479, 0, "h"], - [13480, 0, "e"], - [13481, 0, " "], - [13355, 0, "{"], - [13357, 0, ","], - [13358, 0, "2"], - [13359, 0, ","], - [13360, 0, "3"], - [13361, 0, "}"], - [13400, 1], - [13399, 1], - [13398, 1], - [13397, 1], - [13396, 1], - [13395, 1], - [13394, 1], - [13393, 1], - [13392, 1], - [13391, 1], - [13390, 1], - [13389, 1], - [13388, 1], - [13387, 1], - [13386, 1], - [13385, 1], - [13384, 1], - [13383, 1], - [13382, 1], - [13381, 1], - [13380, 1], - [13379, 1], - [13378, 1], - [13377, 1], - [13376, 1], - [13375, 1], - [13374, 1], - [13373, 1], - [13372, 1], - [13371, 1], - [13370, 1], - [13369, 1], - [13368, 1], - [13367, 1], - [13366, 1], - [13365, 1], - [13364, 1], - [13363, 1], - [13362, 1], - [13449, 0, "i"], - [13450, 0, "d"], - [13451, 0, "e"], - [13452, 0, "n"], - [13453, 0, "t"], - [13454, 0, "i"], - [13455, 0, "f"], - [13456, 0, "i"], - [13457, 0, "e"], - [13458, 0, "r"], - [13459, 0, " "], - [13460, 0, "o"], - [13461, 0, "f"], - [13462, 0, " "], - [13463, 0, "t"], - [13464, 0, "h"], - [13465, 0, "e"], - [13466, 0, " "], - [13467, 0, "n"], - [13468, 0, "e"], - [13469, 0, "x"], - [13470, 0, "t"], - [13471, 0, " "], - [13472, 0, "l"], - [13473, 0, "i"], - [13474, 0, "s"], - [13475, 0, "t"], - [13476, 0, " "], - [13477, 0, "e"], - [13478, 0, "l"], - [13479, 0, "e"], - [13480, 0, "m"], - [13481, 0, "e"], - [13482, 0, "n"], - [13483, 0, "t"], - [13484, 0, "."], - [13485, 0, " "], - [13486, 0, "T"], - [13487, 0, "h"], - [13488, 0, "e"], - [13489, 0, " "], - [13490, 0, "\\"], - [13491, 0, "t"], - [13492, 0, "e"], - [13493, 0, "x"], - [13494, 0, "t"], - [13495, 0, "s"], - [13496, 0, "c"], - [13497, 0, "{"], - [13498, 0, "N"], - [13499, 0, "e"], - [13500, 0, "x"], - [13501, 0, "t"], - [13502, 0, "}"], - [13503, 0, " "], - [13504, 0, "r"], - [13505, 0, "u"], - [13506, 0, "l"], - [13507, 0, "e"], - [13508, 0, "s"], - [13509, 0, " "], - [13510, 0, "a"], - [13511, 0, "p"], - [13512, 0, "p"], - [13513, 0, "l"], - [13514, 0, "y"], - [13515, 0, " "], - [13516, 0, "o"], - [13517, 0, "n"], - [13518, 0, "l"], - [13519, 0, "y"], - [13520, 0, " "], - [13521, 0, "i"], - [13522, 0, "f"], - [13523, 0, " "], - [13524, 0, "t"], - [13525, 0, "h"], - [13526, 0, "e"], - [13527, 0, " "], - [13528, 0, "l"], - [13529, 0, "i"], - [13530, 0, "s"], - [13531, 0, "t"], - [13532, 0, " "], - [13533, 0, "e"], - [13534, 0, "x"], - [13535, 0, "i"], - [13536, 0, "s"], - [13537, 0, "t"], - [13538, 0, "s"], - [13539, 0, " "], - [13540, 0, "i"], - [13541, 0, "n"], - [13542, 0, " "], - [13543, 0, "$"], - [13544, 0, "A"], - [13545, 0, "_"], - [13546, 0, "p"], - [13547, 0, "$"], - [13548, 0, ","], - [13549, 0, " "], - [13550, 0, "a"], - [13551, 0, "n"], - [13552, 0, "d"], - [13553, 0, " "], - [13554, 0, "t"], - [13555, 0, "h"], - [13556, 0, "e"], - [13557, 0, " "], - [13558, 0, "\\"], - [13559, 0, "t"], - [13560, 0, "e"], - [13561, 0, "x"], - [13562, 0, "t"], - [13563, 0, "s"], - [13564, 0, "c"], - [13565, 0, "{"], - [13566, 0, "N"], - [13567, 0, "e"], - [13568, 0, "x"], - [13569, 0, "t"], - [13570, 0, "}"], - [13571, 0, "+"], - [13572, 0, "_"], - [13573, 0, "3"], - [13571, 1], - [13558, 0, "$"], - [13574, 0, "$"], - [13575, 0, " "], - [13576, 0, "r"], - [13577, 0, "e"], - [13578, 0, "c"], - [13579, 0, "u"], - [13580, 0, "r"], - [13581, 0, "s"], - [13582, 0, "i"], - [13583, 0, "v"], - [13584, 0, "e"], - [13585, 0, "l"], - [13586, 0, "y"], - [13587, 0, " "], - [13588, 0, "d"], - [13589, 0, "e"], - [13590, 0, "s"], - [13591, 0, "c"], - [13592, 0, "e"], - [13593, 0, "n"], - [13594, 0, "d"], - [13595, 0, "s"], - [13596, 0, " "], - [13597, 0, "t"], - [13598, 0, "h"], - [13599, 0, "e"], - [13600, 0, " "], - [13601, 0, "l"], - [13602, 0, "o"], - [13603, 0, "c"], - [13604, 0, "a"], - [13605, 0, "l"], - [13606, 0, " "], - [13607, 0, "s"], - [13608, 0, "t"], - [13609, 0, "a"], - [13610, 0, "t"], - [13611, 0, "e"], - [13612, 0, " "], - [13613, 0, "a"], - [13614, 0, "c"], - [13615, 0, "c"], - [13616, 0, "o"], - [13617, 0, "r"], - [13618, 0, "d"], - [13619, 0, "i"], - [13620, 0, "n"], - [13621, 0, "g"], - [13622, 0, " "], - [13623, 0, "t"], - [13624, 0, "o"], - [13625, 0, " "], - [13626, 0, "t"], - [13627, 0, "h"], - [13628, 0, "e"], - [13629, 0, " "], - [13630, 0, "v"], - [13631, 0, "e"], - [13632, 0, "c"], - [13633, 0, "t"], - [13634, 0, "o"], - [13635, 0, "r"], - [13636, 0, " "], - [13637, 0, "o"], - [13638, 0, "f"], - [13639, 0, " "], - [13640, 0, "k"], - [13641, 0, "e"], - [13642, 0, "y"], - [13643, 0, "s"], - [13644, 0, " "], - [13645, 0, "i"], - [13646, 0, "n"], - [13647, 0, " "], - [13648, 0, "t"], - [13649, 0, "h"], - [13650, 0, "e"], - [13651, 0, " "], - [13652, 0, "c"], - [13653, 0, "u"], - [13654, 0, "r"], - [13655, 0, "s"], - [13656, 0, "o"], - [13657, 0, "r"], - [13658, 0, "."], - [6685, 1], - [6684, 1], - [6491, 1], - [6491, 1], - [6296, 1], - [6296, 1], - [9484, 0, "\n"], - [9485, 0, "\n"], - [9486, 0, "\\"], - [9487, 0, "b"], - [9488, 0, "e"], - [9489, 0, "g"], - [9490, 0, "i"], - [9491, 0, "n"], - [9492, 0, "{"], - [9493, 0, "p"], - [9494, 0, "r"], - [9495, 0, "o"], - [9496, 0, "o"], - [9497, 0, "f"], - [9498, 0, "t"], - [9499, 0, "r"], - [9500, 0, "e"], - [9501, 0, "e"], - [9502, 0, "}"], - [9503, 0, "\n"], - [9504, 0, "\\"], - [9505, 0, "e"], - [9506, 0, "n"], - [9507, 0, "d"], - [9508, 0, "{"], - [9509, 0, "p"], - [9510, 0, "r"], - [9511, 0, "o"], - [9512, 0, "o"], - [9513, 0, "f"], - [9514, 0, "t"], - [9515, 0, "r"], - [9516, 0, "e"], - [9517, 0, "e"], - [9518, 0, "}"], - [9503, 0, "\n"], - [9504, 0, "\\"], - [9505, 0, "A"], - [9506, 0, "x"], - [9507, 0, "i"], - [9508, 0, "o"], - [9509, 0, "m"], - [9510, 0, "C"], - [9511, 0, "{"], - [9512, 0, "$"], - [9513, 0, "A"], - [9514, 0, "_"], - [9515, 0, "p"], - [9516, 0, ","], - [9517, 0, "\\"], - [9518, 0, ","], - [9519, 0, " "], - [9520, 0, "\\"], - [9521, 0, "m"], - [9522, 0, "a"], - [9523, 0, "t"], - [9524, 0, "h"], - [9525, 0, "i"], - [9526, 0, "t"], - [9527, 0, "{"], - [9528, 0, "e"], - [9529, 0, "x"], - [9530, 0, "p"], - [9531, 0, "r"], - [9532, 0, "}"], - [9533, 0, " "], - [9534, 0, "\\"], - [9535, 0, "e"], - [9536, 0, "v"], - [9537, 0, "a"], - [9538, 0, "l"], - [9539, 0, "t"], - [9540, 0, "o"], - [9541, 0, " "], - [9542, 0, "\\"], - [9543, 0, "m"], - [9544, 0, "a"], - [9545, 0, "t"], - [9546, 0, "h"], - [9547, 0, "i"], - [9548, 0, "t"], - [9549, 0, "{"], - [9550, 0, "v"], - [9551, 0, "a"], - [9552, 0, "l"], - [9553, 0, "}"], - [9554, 0, "$"], - [9555, 0, "}"], - [9556, 0, "\n"], - [9557, 0, "\\"], - [9558, 0, "A"], - [9559, 0, "x"], - [9560, 0, "i"], - [9561, 0, "o"], - [9562, 0, "m"], - [9563, 0, "C"], - [9564, 0, "{"], - [9565, 0, "$"], - [9566, 0, "A"], - [9567, 0, "_"], - [9568, 0, "p"], - [9569, 0, ","], - [9570, 0, "\\"], - [9571, 0, ","], - [9572, 0, " "], - [9573, 0, "\\"], - [9574, 0, "m"], - [9575, 0, "a"], - [9576, 0, "t"], - [9577, 0, "h"], - [9578, 0, "i"], - [9579, 0, "t"], - [9580, 0, "{"], - [9550, 1], - [9550, 1], - [9550, 1], - [9550, 0, "c"], - [9551, 0, "u"], - [9552, 0, "r"], - [9581, 0, "c"], - [9582, 0, "u"], - [9583, 0, "r"], - [9584, 0, "}"], - [9585, 0, "."], - [9586, 0, "\\"], - [9587, 0, "m"], - [9588, 0, "a"], - [9589, 0, "t"], - [9590, 0, "h"], - [9591, 0, "s"], - [9592, 0, "f"], - [9593, 0, "{"], - [9594, 0, "v"], - [9595, 0, "a"], - [9596, 0, "l"], - [9597, 0, "u"], - [9598, 0, "e"], - [9599, 0, "s"], - [9600, 0, "}"], - [9601, 0, " "], - [9602, 0, "\\"], - [9603, 0, "e"], - [9604, 0, "v"], - [9605, 0, "a"], - [9606, 0, "l"], - [9607, 0, "t"], - [9608, 0, "o"], - [9609, 0, " "], - [9610, 0, "\\"], - [9611, 0, "m"], - [9612, 0, "a"], - [9613, 0, "t"], - [9614, 0, "h"], - [9615, 0, "i"], - [9616, 0, "t"], - [9617, 0, "{"], - [9618, 0, "c"], - [9618, 1], - [9618, 0, "v"], - [9619, 0, "a"], - [9620, 0, "l"], - [9621, 0, "}"], - [9622, 0, "$"], - [9623, 0, "}"], - [9624, 0, "\n"], - [9625, 0, "\\"], - [9626, 0, "L"], - [9627, 0, "e"], - [9628, 0, "f"], - [9629, 0, "t"], - [9630, 0, "L"], - [9631, 0, "a"], - [9632, 0, "b"], - [9633, 0, "e"], - [9634, 0, "l"], - [9635, 0, "{"], - [9636, 0, "$"], - [9637, 0, "\\"], - [9638, 0, "t"], - [9639, 0, "e"], - [9640, 0, "x"], - [9641, 0, "t"], - [9642, 0, "s"], - [9643, 0, "c"], - [9644, 0, "{"], - [9645, 0, "V"], - [9646, 0, "a"], - [9647, 0, "l"], - [9648, 0, "}"], - [9649, 0, "_"], - [9650, 0, "1"], - [9651, 0, "$"], - [9652, 0, "}"], - [9653, 0, "\n"], - [9654, 0, "\\"], - [9655, 0, "B"], - [9656, 0, "i"], - [9657, 0, "n"], - [9658, 0, "a"], - [9659, 0, "r"], - [9660, 0, "y"], - [9661, 0, "I"], - [9662, 0, "n"], - [9663, 0, "f"], - [9664, 0, "C"], - [9665, 0, "{"], - [9666, 0, "$"], - [9667, 0, "A"], - [9668, 0, "_"], - [9669, 0, "p"], - [9670, 0, ","], - [9671, 0, "\\"], - [9672, 0, ","], - [9673, 0, " "], - [9674, 0, "\\"], - [9675, 0, "m"], - [9676, 0, "a"], - [9677, 0, "t"], - [9678, 0, "h"], - [9679, 0, "i"], - [9680, 0, "t"], - [9681, 0, "{"], - [9682, 0, "e"], - [9683, 0, "x"], - [9684, 0, "p"], - [9685, 0, "r"], - [9686, 0, "}"], - [9687, 0, "."], - [9688, 0, "\\"], - [9689, 0, "m"], - [9690, 0, "a"], - [9691, 0, "t"], - [9692, 0, "h"], - [9693, 0, "s"], - [9694, 0, "f"], - [9695, 0, "{"], - [9696, 0, "v"], - [9697, 0, "a"], - [9698, 0, "l"], - [9699, 0, "u"], - [9700, 0, "e"], - [9701, 0, "s"], - [9702, 0, "}"], - [9703, 0, " "], - [9704, 0, "\\"], - [9705, 0, "e"], - [9706, 0, "v"], - [9707, 0, "a"], - [9708, 0, "l"], - [9709, 0, "t"], - [9710, 0, "o"], - [9711, 0, " "], - [9712, 0, "\\"], - [9713, 0, "m"], - [9714, 0, "a"], - [9715, 0, "t"], - [9716, 0, "h"], - [9717, 0, "i"], - [9718, 0, "t"], - [9719, 0, "{"], - [9720, 0, "v"], - [9721, 0, "a"], - [9722, 0, "l"], - [9723, 0, "}"], - [9724, 0, "$"], - [9725, 0, "}"], - [9742, 0, "\n"], - [9743, 0, "\n"], - [9744, 0, "\\"], - [9745, 0, "b"], - [9746, 0, "e"], - [9747, 0, "g"], - [9748, 0, "i"], - [9749, 0, "n"], - [9750, 0, "{"], - [9751, 0, "p"], - [9752, 0, "r"], - [9753, 0, "o"], - [9754, 0, "o"], - [9755, 0, "f"], - [9756, 0, "t"], - [9757, 0, "r"], - [9758, 0, "e"], - [9759, 0, "e"], - [9760, 0, "}"], - [9761, 0, "\n"], - [9762, 0, "\\"], - [9763, 0, "A"], - [9764, 0, "x"], - [9765, 0, "i"], - [9766, 0, "o"], - [9767, 0, "m"], - [9768, 0, "C"], - [9769, 0, "{"], - [9770, 0, "$"], - [9771, 0, "\\"], - [9772, 0, "m"], - [9773, 0, "a"], - [9774, 0, "t"], - [9775, 0, "h"], - [9776, 0, "s"], - [9777, 0, "f"], - [9778, 0, "{"], - [9779, 0, "r"], - [9780, 0, "e"], - [9781, 0, "g"], - [9782, 0, "T"], - [9783, 0, "}"], - [9784, 0, "("], - [9785, 0, "k"], - [9786, 0, ")"], - [9787, 0, " "], - [9788, 0, "\\"], - [9789, 0, "i"], - [9790, 0, "n"], - [9791, 0, " "], - [9792, 0, "\\"], - [9793, 0, "m"], - [9794, 0, "a"], - [9795, 0, "t"], - [9796, 0, "h"], - [9797, 0, "r"], - [9798, 0, "m"], - [9799, 0, "{"], - [9800, 0, "d"], - [9801, 0, "o"], - [9802, 0, "m"], - [9803, 0, "}"], - [9804, 0, "("], - [9805, 0, "\\"], - [9806, 0, "m"], - [9807, 0, "a"], - [9808, 0, "t"], - [9809, 0, "h"], - [9810, 0, "i"], - [9811, 0, "t"], - [9812, 0, "{"], - [9813, 0, "c"], - [9814, 0, "t"], - [9815, 0, "x"], - [9816, 0, "}"], - [9817, 0, ")"], - [9818, 0, "$"], - [9819, 0, "}"], - [9820, 0, "\n"], - [9821, 0, "\\"], - [9822, 0, "A"], - [9823, 0, "x"], - [9824, 0, "i"], - [9825, 0, "o"], - [9826, 0, "m"], - [9827, 0, "C"], - [9828, 0, "{"], - [9829, 0, "$"], - [9830, 0, "\\"], - [9831, 0, "m"], - [9832, 0, "a"], - [9833, 0, "t"], - [9834, 0, "h"], - [9835, 0, "i"], - [9836, 0, "t"], - [9837, 0, "{"], - [9838, 0, "v"], - [9839, 0, "a"], - [9840, 0, "l"], - [9841, 0, "}"], - [9842, 0, " "], - [9843, 0, "="], - [9844, 0, " "], - [9845, 0, "\\"], - [9846, 0, "{"], - [9847, 0, "\\"], - [9848, 0, ","], - [9849, 0, " "], - [9850, 0, "\\"], - [9851, 0, "m"], - [9852, 0, "a"], - [9853, 0, "t"], - [9854, 0, "h"], - [9855, 0, "i"], - [9856, 0, "t"], - [9857, 0, "{"], - [9858, 0, "o"], - [9859, 0, "p"], - [9860, 0, "}"], - [9861, 0, "."], - [9862, 0, "\\"], - [9863, 0, "m"], - [9864, 0, "a"], - [9865, 0, "t"], - [9866, 0, "h"], - [9867, 0, "s"], - [9868, 0, "f"], - [9869, 0, "{"], - [9870, 0, "v"], - [9871, 0, "a"], - [9872, 0, "l"], - [9873, 0, "}"], - [9874, 0, " "], - [9875, 0, "\\"], - [9876, 0, "m"], - [9877, 0, "i"], - [9878, 0, "d"], - [9879, 0, " "], - [9880, 0, "\\"], - [9881, 0, "m"], - [9882, 0, "a"], - [9883, 0, "t"], - [9884, 0, "h"], - [9885, 0, "i"], - [9886, 0, "t"], - [9887, 0, "{"], - [9888, 0, "o"], - [9889, 0, "p"], - [9890, 0, "}"], - [9891, 0, " "], - [9892, 0, "\\"], - [9893, 0, "i"], - [9894, 0, "n"], - [9895, 0, " "], - [9896, 0, "\\"], - [9897, 0, "m"], - [9898, 0, "a"], - [9899, 0, "t"], - [9900, 0, "h"], - [9901, 0, "i"], - [9902, 0, "t"], - [9903, 0, "{"], - [9904, 0, "c"], - [9905, 0, "t"], - [9906, 0, "x"], - [9907, 0, "}"], - [9908, 0, "("], - [9909, 0, "\\"], - [9910, 0, "m"], - [9911, 0, "a"], - [9912, 0, "t"], - [9913, 0, "h"], - [9914, 0, "s"], - [9915, 0, "f"], - [9916, 0, "{"], - [9917, 0, "r"], - [9918, 0, "e"], - [9919, 0, "g"], - [9920, 0, "T"], - [9921, 0, "}"], - [9922, 0, "("], - [9923, 0, "k"], - [9924, 0, ")"], - [9925, 0, ")"], - [9926, 0, " "], - [9927, 0, "\\"], - [9928, 0, ","], - [9929, 0, "\\"], - [9930, 0, "}"], - [9931, 0, "$"], - [9932, 0, "}"], - [9933, 0, "\n"], - [9934, 0, "\\"], - [9935, 0, "L"], - [9936, 0, "e"], - [9937, 0, "f"], - [9938, 0, "t"], - [9939, 0, "L"], - [9940, 0, "a"], - [9941, 0, "b"], - [9942, 0, "e"], - [9943, 0, "l"], - [9944, 0, "{"], - [9945, 0, "$"], - [9946, 0, "\\"], - [9947, 0, "t"], - [9948, 0, "e"], - [9949, 0, "x"], - [9950, 0, "t"], - [9951, 0, "s"], - [9952, 0, "c"], - [9953, 0, "{"], - [9954, 0, "V"], - [9955, 0, "a"], - [9956, 0, "l"], - [9957, 0, "}"], - [9958, 0, "_"], - [9959, 0, "2"], - [9960, 0, "$"], - [9961, 0, "}"], - [9962, 0, "\n"], - [9963, 0, "'"], - [9963, 1], - [9963, 0, "\\"], - [9964, 0, "B"], - [9965, 0, "i"], - [9966, 0, "n"], - [9967, 0, "a"], - [9968, 0, "r"], - [9969, 0, "y"], - [9970, 0, "I"], - [9971, 0, "n"], - [9972, 0, "f"], - [9973, 0, "C"], - [9974, 0, "{"], - [9975, 0, "$"], - [9976, 0, "A"], - [9977, 0, "_"], - [9978, 0, "p"], - [9979, 0, ","], - [9980, 0, "\\"], - [9981, 0, ","], - [9982, 0, " "], - [9982, 1], - [9981, 1], - [9980, 1], - [9979, 1], - [9978, 1], - [9977, 1], - [9976, 1], - [9976, 0, "\\"], - [9977, 0, "m"], - [9978, 0, "a"], - [9979, 0, "t"], - [9980, 0, "h"], - [9981, 0, "i"], - [9982, 0, "t"], - [9983, 0, "{"], - [9984, 0, "c"], - [9985, 0, "t"], - [9986, 0, "x"], - [9987, 0, "}"], - [9988, 0, ","], - [9989, 0, "\\"], - [9990, 0, ","], - [9991, 0, " "], - [9992, 0, "\\"], - [9993, 0, "m"], - [9994, 0, "a"], - [9995, 0, "t"], - [9996, 0, "h"], - [9997, 0, "s"], - [9998, 0, "f"], - [9999, 0, "{"], - [10000, 0, "c"], - [10001, 0, "u"], - [10002, 0, "r"], - [10003, 0, "s"], - [10004, 0, "o"], - [10005, 0, "r"], - [10006, 0, "}"], - [10007, 0, "("], - [10008, 0, "\\"], - [10009, 0, "l"], - [10010, 0, "a"], - [10011, 0, "n"], - [10012, 0, "g"], - [10013, 0, "l"], - [10014, 0, "e"], - [10015, 0, "\\"], - [10016, 0, "r"], - [10017, 0, "a"], - [10018, 0, "n"], - [10019, 0, "g"], - [10020, 0, "l"], - [10021, 0, "e"], - [10022, 0, ","], - [10023, 0, "\\"], - [10024, 0, ","], - [10025, 0, " "], - [10026, 0, "k"], - [10027, 0, ")"], - [10028, 0, "."], - [10029, 0, "\\"], - [10030, 0, "m"], - [10031, 0, "a"], - [10032, 0, "t"], - [10033, 0, "h"], - [10034, 0, "s"], - [10035, 0, "f"], - [10036, 0, "{"], - [10037, 0, "v"], - [10038, 0, "a"], - [10039, 0, "l"], - [10040, 0, "u"], - [10041, 0, "e"], - [10042, 0, "s"], - [10043, 0, "}"], - [10044, 0, " "], - [10045, 0, "\\"], - [10046, 0, "e"], - [10047, 0, "v"], - [10048, 0, "a"], - [10049, 0, "l"], - [10050, 0, "t"], - [10051, 0, "o"], - [10052, 0, " "], - [10053, 0, "\\"], - [10054, 0, "m"], - [10055, 0, "a"], - [10056, 0, "t"], - [10057, 0, "h"], - [10058, 0, "i"], - [10059, 0, "t"], - [10060, 0, "{"], - [10061, 0, "v"], - [10062, 0, "a"], - [10063, 0, "l"], - [10064, 0, "}"], - [10065, 0, "$"], - [10066, 0, "}"], - [10067, 0, "\n"], - [10068, 0, "\\"], - [10069, 0, "e"], - [10070, 0, "n"], - [10071, 0, "d"], - [10072, 0, "{"], - [10073, 0, "p"], - [10074, 0, "r"], - [10075, 0, "o"], - [10076, 0, "o"], - [10077, 0, "f"], - [10078, 0, "t"], - [10079, 0, "r"], - [10080, 0, "e"], - [10081, 0, "e"], - [10082, 0, "}"], - [10083, 0, "\n"], - [10084, 0, "\n"], - [10085, 0, "\\"], - [10086, 0, "b"], - [10087, 0, "e"], - [10088, 0, "g"], - [10089, 0, "i"], - [10090, 0, "n"], - [10091, 0, "{"], - [10092, 0, "p"], - [10093, 0, "r"], - [10094, 0, "o"], - [10095, 0, "o"], - [10096, 0, "f"], - [10097, 0, "t"], - [10098, 0, "r"], - [10099, 0, "e"], - [10100, 0, "e"], - [10101, 0, "}"], - [10102, 0, "\n"], - [10103, 0, "\\"], - [10104, 0, "e"], - [10105, 0, "n"], - [10106, 0, "d"], - [10107, 0, "{"], - [10108, 0, "p"], - [10109, 0, "r"], - [10110, 0, "o"], - [10111, 0, "o"], - [10112, 0, "f"], - [10113, 0, "t"], - [10114, 0, "r"], - [10115, 0, "e"], - [10116, 0, "e"], - [10117, 0, "}"], - [10102, 0, "\n"], - [10103, 0, "\\"], - [10104, 0, "A"], - [10105, 0, "x"], - [10106, 0, "i"], - [10107, 0, "o"], - [10108, 0, "m"], - [10109, 0, "C"], - [10110, 0, "{"], - [10111, 0, "$"], - [10112, 0, "k"], - [10113, 0, "_"], - [10114, 0, "1"], - [10115, 0, " "], - [10116, 0, "\\"], - [10117, 0, "i"], - [10118, 0, "n"], - [10119, 0, " "], - [10120, 0, "\\"], - [10121, 0, "m"], - [10122, 0, "a"], - [10123, 0, "t"], - [10124, 0, "h"], - [10125, 0, "r"], - [10126, 0, "m"], - [10127, 0, "{"], - [10128, 0, "d"], - [10129, 0, "o"], - [10130, 0, "m"], - [10131, 0, "}"], - [10132, 0, "("], - [10133, 0, "\\"], - [10134, 0, "m"], - [10135, 0, "a"], - [10136, 0, "t"], - [10137, 0, "h"], - [10138, 0, "i"], - [10139, 0, "t"], - [10140, 0, "{"], - [10141, 0, "c"], - [10142, 0, "t"], - [10143, 0, "x"], - [10144, 0, "}"], - [10145, 0, ")"], - [10146, 0, "$"], - [10147, 0, "}"], - [10148, 0, "\n"], - [10149, 0, "\\"], - [10150, 0, "A"], - [10151, 0, "x"], - [10152, 0, "i"], - [10153, 0, "o"], - [10154, 0, "m"], - [10155, 0, "C"], - [10156, 0, "{"], - [10157, 0, "$"], - [10158, 0, "\\"], - [10159, 0, "m"], - [10160, 0, "a"], - [10161, 0, "t"], - [10162, 0, "h"], - [10163, 0, "i"], - [10164, 0, "t"], - [10165, 0, "{"], - [10166, 0, "c"], - [10167, 0, "t"], - [10168, 0, "x"], - [10169, 0, "}"], - [10170, 0, "("], - [10171, 0, "k"], - [10172, 0, "_"], - [10173, 0, "1"], - [10174, 0, "}"], - [10174, 1], - [10174, 0, ")"], - [10175, 0, ","], - [10176, 0, "\\"], - [10177, 0, ","], - [10178, 0, " "], - [10179, 0, "\\"], - [10180, 0, "m"], - [10181, 0, "a"], - [10182, 0, "t"], - [10183, 0, "h"], - [10184, 0, "s"], - [10185, 0, "f"], - [10186, 0, "{"], - [10187, 0, "c"], - [10188, 0, "u"], - [10189, 0, "r"], - [10190, 0, "s"], - [10191, 0, "o"], - [10192, 0, "r"], - [10193, 0, "("], - [10193, 0, "}"], - [10195, 0, "\\"], - [10196, 0, "l"], - [10197, 0, "a"], - [10198, 0, "n"], - [10199, 0, "g"], - [10200, 0, "l"], - [10201, 0, "e"], - [10202, 0, " "], - [10203, 0, "k"], - [10204, 0, "_"], - [10205, 0, "2"], - [10206, 0, ","], - [10207, 0, " "], - [10208, 0, "\\"], - [10209, 0, "d"], - [10210, 0, "o"], - [10211, 0, "t"], - [10212, 0, "s"], - [10213, 0, ","], - [10214, 0, " "], - [10215, 0, "k"], - [10216, 0, "{"], - [10216, 1], - [10216, 0, "_"], - [10217, 0, "{"], - [10218, 0, "n"], - [10219, 0, "-"], - [10220, 0, "1"], - [10221, 0, "}"], - [10222, 0, " "], - [10223, 0, "\\"], - [10224, 0, "r"], - [10225, 0, "a"], - [10226, 0, "n"], - [10227, 0, "g"], - [10228, 0, "l"], - [10229, 0, "e"], - [10230, 0, ","], - [10231, 0, "\\"], - [10232, 0, ","], - [10233, 0, " "], - [10234, 0, "k"], - [10235, 0, "_"], - [10236, 0, "n"], - [10237, 0, ")"], - [10238, 0, "."], - [10239, 0, "\\"], - [10240, 0, "m"], - [10241, 0, "a"], - [10242, 0, "t"], - [10243, 0, "h"], - [10244, 0, "s"], - [10245, 0, "f"], - [10246, 0, "{"], - [10247, 0, "v"], - [10248, 0, "a"], - [10249, 0, "l"], - [10250, 0, "u"], - [10251, 0, "e"], - [10252, 0, "s"], - [10253, 0, "}"], - [10254, 0, "\n"], - [10255, 0, " "], - [10256, 0, " "], - [10257, 0, " "], - [10258, 0, " "], - [10259, 0, "\\"], - [10260, 0, "e"], - [10261, 0, "v"], - [10262, 0, "a"], - [10263, 0, "l"], - [10264, 0, "t"], - [10265, 0, "o"], - [10266, 0, " "], - [10267, 0, "\\"], - [10268, 0, "m"], - [10269, 0, "a"], - [10270, 0, "t"], - [10271, 0, "h"], - [10272, 0, "i"], - [10273, 0, "t"], - [10274, 0, "{"], - [10275, 0, "v"], - [10276, 0, "a"], - [10277, 0, "l"], - [10278, 0, "}"], - [10279, 0, "$"], - [10280, 0, "}"], - [10281, 0, "\n"], - [10282, 0, "\\"], - [10283, 0, "L"], - [10284, 0, "e"], - [10285, 0, "f"], - [10286, 0, "t"], - [10287, 0, "L"], - [10288, 0, "a"], - [10289, 0, "b"], - [10290, 0, "e"], - [10291, 0, "l"], - [10292, 0, "{"], - [10293, 0, "$"], - [10294, 0, "\\"], - [10295, 0, "t"], - [10296, 0, "e"], - [10297, 0, "x"], - [10298, 0, "t"], - [10299, 0, "s"], - [10300, 0, "c"], - [10301, 0, "{"], - [10302, 0, "V"], - [10303, 0, "a"], - [10304, 0, "l"], - [10305, 0, "}"], - [10306, 0, "_"], - [10307, 0, "3"], - [10308, 0, "$"], - [10309, 0, "}"], - [10310, 0, "\n"], - [10311, 0, "\\"], - [10312, 0, "B"], - [10313, 0, "i"], - [10314, 0, "n"], - [10315, 0, "a"], - [10316, 0, "r"], - [10317, 0, "y"], - [10318, 0, "I"], - [10319, 0, "n"], - [10320, 0, "f"], - [10321, 0, "C"], - [10322, 0, "{"], - [10323, 0, "$"], - [10324, 0, "\\"], - [10325, 0, "m"], - [10326, 0, "a"], - [10327, 0, "t"], - [10328, 0, "h"], - [10329, 0, "i"], - [10330, 0, "t"], - [10331, 0, "{"], - [10332, 0, "c"], - [10333, 0, "t"], - [10334, 0, "x"], - [10335, 0, "}"], - [10336, 0, ","], - [10337, 0, "\\"], - [10338, 0, ","], - [10339, 0, " "], - [10340, 0, "\\"], - [10341, 0, "m"], - [10342, 0, "a"], - [10343, 0, "t"], - [10344, 0, "h"], - [10345, 0, "s"], - [10346, 0, "f"], - [10347, 0, "{"], - [10348, 0, "c"], - [10349, 0, "u"], - [10350, 0, "r"], - [10351, 0, "s"], - [10352, 0, "o"], - [10353, 0, "r"], - [10354, 0, "}"], - [10355, 0, "("], - [10356, 0, "\\"], - [10357, 0, "l"], - [10358, 0, "a"], - [10359, 0, "n"], - [10360, 0, "g"], - [10361, 0, "l"], - [10362, 0, "e"], - [10363, 0, " "], - [10364, 0, "k"], - [10365, 0, "_"], - [10366, 0, "1"], - [10367, 0, ","], - [10368, 0, " "], - [10369, 0, "k"], - [10370, 0, "_"], - [10371, 0, "2"], - [10372, 0, ","], - [10373, 0, " "], - [10374, 0, "\\"], - [10375, 0, "d"], - [10376, 0, "o"], - [10377, 0, "t"], - [10378, 0, "s"], - [10379, 0, ","], - [10380, 0, " "], - [10381, 0, "k"], - [10382, 0, "_"], - [10383, 0, "{"], - [10384, 0, "n"], - [10385, 0, "-"], - [10386, 0, "1"], - [10387, 0, "}"], - [10388, 0, " "], - [10389, 0, "\\"], - [10390, 0, "r"], - [10391, 0, "a"], - [10392, 0, "n"], - [10393, 0, "g"], - [10394, 0, "l"], - [10395, 0, "e"], - [10396, 0, ","], - [10397, 0, "\\"], - [10398, 0, ","], - [10399, 0, " "], - [10400, 0, "k"], - [10401, 0, "_"], - [10402, 0, "n"], - [10403, 0, ")"], - [10404, 0, "."], - [10405, 0, "\\"], - [10406, 0, "m"], - [10407, 0, "a"], - [10408, 0, "t"], - [10409, 0, "h"], - [10410, 0, "s"], - [10411, 0, "f"], - [10412, 0, "{"], - [10413, 0, "v"], - [10414, 0, "a"], - [10415, 0, "l"], - [10416, 0, "u"], - [10417, 0, "e"], - [10418, 0, "s"], - [10419, 0, "}"], - [10420, 0, "\n"], - [10421, 0, " "], - [10422, 0, " "], - [10423, 0, " "], - [10424, 0, " "], - [10425, 0, "\\"], - [10426, 0, "e"], - [10427, 0, "v"], - [10428, 0, "a"], - [10429, 0, "l"], - [10430, 0, "t"], - [10431, 0, "o"], - [10432, 0, " "], - [10433, 0, "\\"], - [10434, 0, "m"], - [10435, 0, "a"], - [10436, 0, "t"], - [10437, 0, "h"], - [10438, 0, "i"], - [10439, 0, "t"], - [10440, 0, "{"], - [10441, 0, "v"], - [10442, 0, "a"], - [10443, 0, "l"], - [10444, 0, "}"], - [10445, 0, "$"], - [10446, 0, "}"], - [14122, 0, " "], - [14123, 0, "N"], - [14124, 0, "o"], - [14125, 0, "t"], - [14126, 0, "e"], - [14127, 0, " "], - [14128, 0, "t"], - [14129, 0, "h"], - [14130, 0, "a"], - [14131, 0, "t"], - [14132, 0, " "], - [14133, 0, "t"], - [14134, 0, "h"], - [14135, 0, "e"], - [14136, 0, " "], - [14136, 1], - [14135, 1], - [14134, 1], - [14133, 1], - [14133, 0, "t"], - [14134, 0, "h"], - [14135, 0, "e"], - [14136, 0, " "], - [14137, 0, "e"], - [14138, 0, "x"], - [14139, 0, "p"], - [14140, 0, "r"], - [14141, 0, "e"], - [14142, 0, "s"], - [14143, 0, "s"], - [14144, 0, "i"], - [14145, 0, "o"], - [14146, 0, "n"], - [14147, 0, " "], - [14148, 0, "\\"], - [14149, 0, "v"], - [14150, 0, "e"], - [14151, 0, "r"], - [14152, 0, "b"], - [14153, 0, "\""], - [14153, 1], - [14153, 0, "|"], - [14154, 0, "d"], - [14155, 0, "o"], - [14156, 0, "c"], - [14157, 0, "."], - [14158, 0, "g"], - [14159, 0, "e"], - [14160, 0, "t"], - [14161, 0, "|"], - [14162, 0, " "], - [14163, 0, "i"], - [14164, 0, "m"], - [14165, 0, "p"], - [14166, 0, "l"], - [14167, 0, "i"], - [14168, 0, "c"], - [14169, 0, "i"], - [14170, 0, "t"], - [14171, 0, "l"], - [14172, 0, "y"], - [14173, 0, " "], - [14174, 0, "a"], - [14175, 0, "s"], - [14176, 0, "s"], - [14177, 0, "e"], - [14178, 0, "r"], - [14179, 0, "t"], - [14180, 0, "s"], - [14181, 0, " "], - [14182, 0, "t"], - [14183, 0, "h"], - [14184, 0, "a"], - [14185, 0, "t"], - [14186, 0, " "], - [14187, 0, "\\"], - [14188, 0, "m"], - [14189, 0, "a"], - [14190, 0, "t"], - [14191, 0, "h"], - [14192, 0, "s"], - [14193, 0, "f"], - [14194, 0, "{"], - [14195, 0, "d"], - [14196, 0, "o"], - [14197, 0, "c"], - [14198, 0, "}"], - [14199, 0, " "], - [14200, 0, "i"], - [14201, 0, "s"], - [14202, 0, " "], - [14203, 0, "o"], - [14204, 0, "f"], - [14205, 0, " "], - [14206, 0, "t"], - [14207, 0, "y"], - [14208, 0, "p"], - [14209, 0, "e"], - [14210, 0, " "], - [14211, 0, "\\"], - [14212, 0, "m"], - [14213, 0, "a"], - [14214, 0, "p"], - [14214, 1], - [14213, 1], - [14212, 1], - [14188, 1], - [14188, 1], - [14188, 1], - [14188, 1], - [14188, 0, "t"], - [14189, 0, "e"], - [14190, 0, "x"], - [14191, 0, "t"], - [14212, 0, "t"], - [14213, 0, "e"], - [14214, 0, "x"], - [14215, 0, "t"], - [14216, 0, "s"], - [14217, 0, "f"], - [14218, 0, "{"], - [14219, 0, "m"], - [14220, 0, "a"], - [14221, 0, "p"], - [14222, 0, "T"], - [14223, 0, "}"], - [14224, 0, ","], - [14225, 0, " "], - [14226, 0, "a"], - [14227, 0, "n"], - [14228, 0, "d"], - [14229, 0, " "], - [14230, 0, "t"], - [14231, 0, "h"], - [14232, 0, "i"], - [14233, 0, "s"], - [14234, 0, " "], - [14235, 0, "a"], - [14236, 0, "s"], - [14237, 0, "s"], - [14238, 0, "e"], - [14239, 0, "r"], - [14240, 0, "t"], - [14241, 0, "i"], - [14242, 0, "o"], - [14243, 0, "n"], - [14244, 0, " "], - [14245, 0, "i"], - [14246, 0, "s"], - [14247, 0, " "], - [14248, 0, "e"], - [14249, 0, "n"], - [14250, 0, "c"], - [14251, 0, "o"], - [14252, 0, "d"], - [14253, 0, "e"], - [14254, 0, "d"], - [14255, 0, " "], - [14256, 0, "i"], - [14257, 0, "n"], - [14258, 0, " "], - [14259, 0, "t"], - [14260, 0, "h"], - [14261, 0, "e"], - [14262, 0, " "], - [14263, 0, "c"], - [14264, 0, "u"], - [14265, 0, "r"], - [14266, 0, "s"], - [14267, 0, "o"], - [14268, 0, "r"], - [14269, 0, "."], - [14780, 0, "\n"], - [14781, 0, "\n"], - [14782, 0, "F"], - [14783, 0, "i"], - [14784, 0, "n"], - [14785, 0, "a"], - [14786, 0, "l"], - [14787, 0, "l"], - [14788, 0, "y"], - [14789, 0, ","], - [14790, 0, " "], - [14791, 0, "t"], - [14792, 0, "h"], - [14793, 0, "e"], - [14794, 0, " "], - [14795, 0, "$"], - [14796, 0, "\\"], - [14797, 0, "t"], - [14798, 0, "e"], - [14799, 0, "x"], - [14800, 0, "t"], - [14801, 0, "s"], - [14802, 0, "c"], - [14803, 0, "{"], - [14804, 0, "V"], - [14805, 0, "a"], - [14806, 0, "l"], - [14807, 0, "}"], - [14808, 0, "_"], - [14809, 0, "{"], - [14810, 0, "1"], - [14811, 0, ","], - [14812, 0, "2"], - [14813, 0, ","], - [14814, 0, "3"], - [14815, 0, "}"], - [14816, 0, "$"], - [14817, 0, " "], - [14818, 0, "r"], - [14819, 0, "u"], - [14820, 0, "l"], - [14821, 0, "e"], - [14822, 0, "s"], - [14823, 0, " "], - [14824, 0, "d"], - [14824, 1], - [14824, 0, "a"], - [14825, 0, "l"], - [14826, 0, "l"], - [14827, 0, "o"], - [14828, 0, "w"], - [14829, 0, " "], - [14830, 0, "a"], - [14831, 0, " "], - [14832, 0, "p"], - [14833, 0, "r"], - [14834, 0, "o"], - [14835, 0, "g"], - [14836, 0, "r"], - [14837, 0, "a"], - [14838, 0, "m"], - [14839, 0, " "], - [14840, 0, "t"], - [14841, 0, "o"], - [14842, 0, " "], - [14843, 0, "r"], - [14844, 0, "e"], - [14845, 0, "a"], - [14846, 0, "d"], - [14847, 0, " "], - [14848, 0, "t"], - [14849, 0, "h"], - [14850, 0, "e"], - [14851, 0, " "], - [14852, 0, "v"], - [14853, 0, "a"], - [14854, 0, "l"], - [14855, 0, "u"], - [14856, 0, "e"], - [14857, 0, " "], - [14857, 1], - [14856, 1], - [14855, 1], - [14854, 1], - [14853, 1], - [14852, 1], - [14852, 0, "c"], - [14853, 0, "o"], - [14854, 0, "n"], - [14855, 0, "t"], - [14856, 0, "e"], - [14857, 0, "n"], - [14858, 0, "t"], - [14859, 0, "s"], - [14860, 0, " "], - [14861, 0, "o"], - [14862, 0, "f"], - [14863, 0, " "], - [14864, 0, "t"], - [14865, 0, "h"], - [14866, 0, "e"], - [14867, 0, " "], - [14868, 0, "d"], - [14869, 0, "o"], - [14870, 0, "c"], - [14871, 0, "u"], - [14872, 0, "m"], - [14873, 0, "e"], - [14874, 0, "n"], - [14875, 0, "t"], - [14876, 0, " "], - [14877, 0, "a"], - [14878, 0, "t"], - [14879, 0, " "], - [14880, 0, "a"], - [14881, 0, " "], - [14882, 0, "p"], - [14883, 0, "a"], - [14884, 0, "r"], - [14885, 0, "t"], - [14886, 0, "i"], - [14887, 0, "c"], - [14888, 0, "u"], - [14889, 0, "l"], - [14890, 0, "a"], - [14891, 0, "r"], - [14892, 0, " "], - [14893, 0, "c"], - [14894, 0, "u"], - [14895, 0, "r"], - [14896, 0, "s"], - [14897, 0, "o"], - [14898, 0, "r"], - [14899, 0, " "], - [14900, 0, "p"], - [14901, 0, "o"], - [14902, 0, "s"], - [14903, 0, "i"], - [14904, 0, "t"], - [14905, 0, "i"], - [14906, 0, "o"], - [14907, 0, "n"], - [14908, 0, "."], - [14909, 0, " "], - [14910, 0, "T"], - [14911, 0, "h"], - [14912, 0, "e"], - [14913, 0, " "], - [14914, 0, "l"], - [14915, 0, "e"], - [14916, 0, "a"], - [14917, 0, "v"], - [14918, 0, "e"], - [14919, 0, "s"], - [14920, 0, " "], - [14921, 0, "o"], - [14922, 0, "f"], - [14923, 0, " "], - [14924, 0, "t"], - [14925, 0, "h"], - [14926, 0, "e"], - [14927, 0, " "], - [14928, 0, "d"], - [14929, 0, "o"], - [14930, 0, "c"], - [14931, 0, "u"], - [14932, 0, "m"], - [14933, 0, "e"], - [14934, 0, "n"], - [14935, 0, "t"], - [14936, 0, " "], - [14937, 0, "t"], - [14938, 0, "r"], - [14939, 0, "e"], - [14940, 0, "e"], - [14941, 0, " "], - [14942, 0, "a"], - [14943, 0, "r"], - [14944, 0, "e"], - [14945, 0, " "], - [14946, 0, "a"], - [14947, 0, "l"], - [14948, 0, "w"], - [14949, 0, "a"], - [14950, 0, "y"], - [14951, 0, "s"], - [14952, 0, " "], - [14953, 0, "\\"], - [14954, 0, "e"], - [14955, 0, "m"], - [14956, 0, "p"], - [14957, 0, "h"], - [14958, 0, "{"], - [14959, 0, "r"], - [14960, 0, "e"], - [14961, 0, "g"], - [14962, 0, "i"], - [14963, 0, "s"], - [14964, 0, "t"], - [14965, 0, "e"], - [14966, 0, "r"], - [14967, 0, "s"], - [14968, 0, "}"], - [14969, 0, " "], - [14970, 0, "e"], - [14971, 0, "x"], - [14972, 0, "p"], - [14969, 0, ","], - [14974, 0, "p"], - [14975, 0, "r"], - [14976, 0, "e"], - [14977, 0, "s"], - [14978, 0, "s"], - [14974, 1], - [14978, 0, "e"], - [14979, 0, "d"], - [14980, 0, " "], - [14981, 0, "u"], - [14982, 0, "s"], - [14983, 0, "i"], - [14984, 0, "n"], - [14985, 0, "g"], - [14986, 0, " "], - [14987, 0, "t"], - [14988, 0, "h"], - [14989, 0, "e"], - [14990, 0, " "], - [14991, 0, "$"], - [14992, 0, "\\"], - [14992, 1], - [14991, 1], - [14991, 0, "\\"], - [14992, 0, "t"], - [14993, 0, "e"], - [14994, 0, "x"], - [14995, 0, "t"], - [14996, 0, "s"], - [14997, 0, "f"], - [14998, 0, "{"], - [14999, 0, "r"], - [15000, 0, "e"], - [15001, 0, "g"], - [15002, 0, "T"], - [15003, 0, "}"], - [15004, 0, " "], - [15005, 0, "t"], - [15006, 0, "y"], - [15007, 0, "p"], - [15008, 0, "e"], - [15009, 0, " "], - [15010, 0, "a"], - [15011, 0, "n"], - [15012, 0, "n"], - [15013, 0, "o"], - [15014, 0, "t"], - [15015, 0, "a"], - [15016, 0, "t"], - [15017, 0, "i"], - [15018, 0, "o"], - [15019, 0, "n"], - [15020, 0, " "], - [15021, 0, "i"], - [15022, 0, "n"], - [15023, 0, " "], - [15024, 0, "t"], - [15025, 0, "h"], - [15026, 0, "e"], - [15027, 0, " "], - [15028, 0, "l"], - [15029, 0, "o"], - [15030, 0, "c"], - [15031, 0, "a"], - [15032, 0, "l"], - [15033, 0, " "], - [15034, 0, "s"], - [15035, 0, "t"], - [15036, 0, "a"], - [15037, 0, "t"], - [15038, 0, "e"], - [15039, 0, "."], - [15040, 0, " "], - [15041, 0, "A"], - [15042, 0, " "], - [15043, 0, "r"], - [15044, 0, "e"], - [15045, 0, "g"], - [15046, 0, "u"], - [15046, 1], - [15046, 0, "i"], - [15047, 0, "s"], - [15048, 0, "t"], - [15049, 0, "e"], - [15050, 0, "r"], - [15051, 0, " "], - [15052, 0, "m"], - [15053, 0, "a"], - [15054, 0, "y"], - [15055, 0, " "], - [15056, 0, "h"], - [15057, 0, "a"], - [15058, 0, "v"], - [15059, 0, "e"], - [15060, 0, " "], - [15061, 0, "m"], - [15062, 0, "u"], - [15062, 1], - [15061, 1], - [15060, 1], - [15059, 1], - [15058, 1], - [15057, 1], - [15056, 1], - [15055, 1], - [15054, 1], - [15053, 1], - [15052, 1], - [15051, 1], - [15050, 1], - [15049, 1], - [15048, 1], - [15047, 1], - [15046, 1], - [15045, 1], - [15044, 1], - [15043, 1], - [15042, 1], - [15042, 0, "l"], - [15043, 0, "t"], - [15044, 0, "h"], - [15045, 0, "o"], - [15046, 0, "u"], - [15047, 0, "g"], - [15048, 0, "h"], - [15049, 0, " "], - [15050, 0, "a"], - [15051, 0, " "], - [15052, 0, "s"], - [15053, 0, "i"], - [15054, 0, "n"], - [15055, 0, "g"], - [15056, 0, "l"], - [15056, 1], - [15056, 0, "l"], - [15057, 0, "e"], - [15058, 0, " "], - [15059, 0, "p"], - [15060, 0, "e"], - [15061, 0, "e"], - [15062, 0, "r"], - [15063, 0, " "], - [15064, 0, "c"], - [15065, 0, "a"], - [15066, 0, "n"], - [15067, 0, " "], - [15068, 0, "o"], - [15069, 0, "n"], - [15070, 0, "l"], - [15071, 0, "y"], - [15072, 0, " "], - [15073, 0, "a"], - [15058, 1], - [15057, 1], - [15056, 1], - [15055, 1], - [15054, 1], - [15053, 1], - [15052, 1], - [15067, 0, "s"], - [15068, 0, "s"], - [15069, 0, "i"], - [15070, 0, "g"], - [15071, 0, "n"], - [15072, 0, " "], - [15073, 0, "a"], - [15074, 0, " "], - [15075, 0, "s"], - [15076, 0, "i"], - [15077, 0, "n"], - [15078, 0, "g"], - [15079, 0, "l"], - [15080, 0, "e"], - [15081, 0, " "], - [15082, 0, "v"], - [15083, 0, "a"], - [15084, 0, "l"], - [15085, 0, "u"], - [15086, 0, "e"], - [15087, 0, " "], - [15088, 0, "t"], - [15089, 0, "o"], - [15090, 0, " "], - [15091, 0, "a"], - [15092, 0, " "], - [15093, 0, "r"], - [15094, 0, "e"], - [15095, 0, "g"], - [15096, 0, "i"], - [15097, 0, "s"], - [15098, 0, "t"], - [15099, 0, "e"], - [15100, 0, "r"], - [15101, 0, ","], - [15102, 0, " "], - [15103, 0, "a"], - [15104, 0, " "], - [15105, 0, "r"], - [15106, 0, "e"], - [15107, 0, "g"], - [15108, 0, "i"], - [15109, 0, "s"], - [15110, 0, "t"], - [15111, 0, "e"], - [15112, 0, "r"], - [15113, 0, " "], - [15114, 0, "c"], - [15115, 0, "a"], - [15116, 0, "n"], - [15117, 0, " "], - [15118, 0, "n"], - [15119, 0, "e"], - [15120, 0, "v"], - [15121, 0, "e"], - [15122, 0, "r"], - [15123, 0, "t"], - [15124, 0, "h"], - [15125, 0, "e"], - [15126, 0, "l"], - [15127, 0, "e"], - [15128, 0, "s"], - [15129, 0, "s"], - [15130, 0, " "], - [15131, 0, "c"], - [15132, 0, "o"], - [15133, 0, "n"], - [15134, 0, "t"], - [15135, 0, "a"], - [15136, 0, "i"], - [15137, 0, "n"], - [15138, 0, " "], - [15139, 0, "m"], - [15140, 0, "u"], - [15141, 0, "l"], - [15142, 0, "t"], - [15143, 0, "i"], - [15144, 0, "p"], - [15145, 0, "l"], - [15146, 0, "e"], - [15147, 0, " "], - [15148, 0, "v"], - [15149, 0, "a"], - [15150, 0, "l"], - [15151, 0, "u"], - [15152, 0, "e"], - [15153, 0, "s"], - [15154, 0, " "], - [15155, 0, "i"], - [15156, 0, "f"], - [15157, 0, " "], - [15158, 0, "m"], - [15159, 0, "u"], - [15160, 0, "l"], - [15161, 0, "t"], - [15162, 0, "i"], - [15163, 0, "l"], - [15163, 1], - [15163, 0, "p"], - [15164, 0, "l"], - [15165, 0, "e"], - [15166, 0, " "], - [15167, 0, "p"], - [15168, 0, "e"], - [15169, 0, "e"], - [15170, 0, "r"], - [15171, 0, "s"], - [15172, 0, " "], - [15173, 0, "c"], - [15174, 0, "o"], - [15175, 0, "n"], - [15176, 0, "c"], - [15177, 0, "u"], - [15178, 0, "r"], - [15179, 0, "r"], - [15180, 0, "e"], - [15181, 0, "n"], - [15182, 0, "t"], - [15183, 0, "l"], - [15184, 0, "y"], - [15185, 0, " "], - [15186, 0, "a"], - [15187, 0, "s"], - [15188, 0, "s"], - [15189, 0, "i"], - [15190, 0, "g"], - [15191, 0, "n"], - [15192, 0, " "], - [15193, 0, "v"], - [15194, 0, "a"], - [15195, 0, "l"], - [15196, 0, "u"], - [15197, 0, "e"], - [15198, 0, "s"], - [15199, 0, " "], - [15200, 0, "t"], - [15201, 0, "o"], - [15202, 0, " "], - [15203, 0, "i"], - [15204, 0, "t"], - [15205, 0, ","], - [15206, 0, " "], - [15207, 0, "a"], - [15208, 0, "n"], - [15209, 0, " "], - [15210, 0, "i"], - [15211, 0, "s"], - [15212, 0, "s"], - [15213, 0, "u"], - [15214, 0, "e"], - [15215, 0, " "], - [15216, 0, "w"], - [15217, 0, "e"], - [15218, 0, " "], - [15219, 0, "w"], - [15220, 0, "i"], - [15221, 0, "l"], - [15222, 0, "l"], - [15223, 0, " "], - [15224, 0, "e"], - [15225, 0, "x"], - [15226, 0, "p"], - [15227, 0, "o"], - [15227, 1], - [15227, 0, "l"], - [15228, 0, ";"], - [15229, 0, "o"], - [15229, 1], - [15228, 1], - [15228, 0, "o"], - [15229, 0, "r"], - [15230, 0, "e"], - [15231, 0, " "], - [15232, 0, "i"], - [15233, 0, "n"], - [15234, 0, " "], - [15235, 0, "g"], - [15236, 0, "r"], - [15237, 0, "e"], - [15238, 0, "a"], - [15239, 0, "t"], - [15240, 0, "e"], - [15241, 0, "r"], - [15242, 0, " "], - [15243, 0, "d"], - [15244, 0, "e"], - [15245, 0, "p"], - [15246, 0, "t"], - [15247, 0, "h"], - [15248, 0, " "], - [15249, 0, "l"], - [15250, 0, "a"], - [15251, 0, "t"], - [15252, 0, "e"], - [15253, 0, "r"], - [15254, 0, "."], - [14908, 0, ","], - [14909, 0, " "], - [14910, 0, "u"], - [14911, 0, "s"], - [14912, 0, "i"], - [14913, 0, "n"], - [14914, 0, "g"], - [14915, 0, " "], - [14916, 0, "a"], - [14917, 0, " "], - [14918, 0, "s"], - [14919, 0, "i"], - [14920, 0, "m"], - [14921, 0, "i"], - [14922, 0, "l"], - [14923, 0, "a"], - [14924, 0, "r"], - [14925, 0, " "], - [14926, 0, "r"], - [14927, 0, "e"], - [14928, 0, "c"], - [14929, 0, "u"], - [14930, 0, "r"], - [14931, 0, "s"], - [14932, 0, "i"], - [14933, 0, "v"], - [14934, 0, "e"], - [14935, 0, " "], - [14936, 0, "r"], - [14937, 0, "u"], - [14938, 0, "l"], - [14939, 0, "e"], - [14940, 0, " "], - [14941, 0, "s"], - [14942, 0, "t"], - [14943, 0, "r"], - [14944, 0, "u"], - [14945, 0, "c"], - [14946, 0, "t"], - [14947, 0, "u"], - [14948, 0, "r"], - [14949, 0, "e"], - [14950, 0, " "], - [14951, 0, "a"], - [14952, 0, "s"], - [14953, 0, " "], - [14954, 0, "t"], - [14955, 0, "h"], - [14956, 0, "e"], - [14957, 0, " "], - [14958, 0, "\\"], - [14959, 0, "t"], - [14960, 0, "e"], - [14961, 0, "x"], - [14962, 0, "t"], - [14963, 0, "s"], - [14964, 0, "c"], - [14965, 0, "{"], - [14966, 0, "N"], - [14967, 0, "e"], - [14968, 0, "x"], - [14969, 0, "t"], - [14970, 0, "}"], - [14971, 0, " "], - [14972, 0, "r"], - [14973, 0, "u"], - [14974, 0, "l"], - [14975, 0, "e"], - [14976, 0, "s"], - [15324, 0, "\n"], - [15325, 0, "\n"], - [15326, 0, "\\"], - [15327, 0, "s"], - [15328, 0, "u"], - [15329, 0, "b"], - [15330, 0, "s"], - [15331, 0, "u"], - [15332, 0, "b"], - [15333, 0, "s"], - [15334, 0, "e"], - [15335, 0, "c"], - [15336, 0, "t"], - [15337, 0, "i"], - [15338, 0, "o"], - [15339, 0, "n"], - [15340, 0, "{"], - [15341, 0, "O"], - [15342, 0, "p"], - [15343, 0, "e"], - [15344, 0, "r"], - [15345, 0, "a"], - [15346, 0, "t"], - [15347, 0, "i"], - [15348, 0, "o"], - [15349, 0, "n"], - [15350, 0, "a"], - [15351, 0, "l"], - [15352, 0, " "], - [15352, 1], - [15351, 1], - [15350, 1], - [15349, 1], - [15348, 1], - [15347, 1], - [15346, 1], - [15345, 1], - [15344, 1], - [15343, 1], - [15342, 1], - [15341, 1], - [15341, 0, "S"], - [15342, 0, "e"], - [15343, 0, "m"], - [15344, 0, "a"], - [15345, 0, "n"], - [15346, 0, "t"], - [15347, 0, "i"], - [15348, 0, "c"], - [15349, 0, "s"], - [15350, 0, " "], - [15351, 0, "o"], - [15352, 0, "f"], - [15353, 0, " "], - [15354, 0, "l"], - [15355, 0, "o"], - [15356, 0, "c"], - [15357, 0, "a"], - [15358, 0, "l"], - [15359, 0, " "], - [15360, 0, "m"], - [15361, 0, "u"], - [15362, 0, "t"], - [15363, 0, "a"], - [15364, 0, "t"], - [15365, 0, "i"], - [15366, 0, "o"], - [15367, 0, "n"], - [15368, 0, "s"], - [15369, 0, "}"], - [5974, 1], - [5973, 1], - [5972, 1], - [5971, 1], - [5970, 1], - [5969, 1], - [5968, 1], - [5967, 1], - [5966, 1], - [5965, 1], - [5964, 1], - [5963, 1], - [5962, 1], - [5961, 1], - [5960, 1], - [5959, 1], - [5959, 0, "e"], - [5960, 0, "x"], - [5961, 0, "p"], - [5962, 0, "r"], - [5963, 0, "e"], - [5964, 0, "s"], - [5965, 0, "s"], - [5966, 0, "i"], - [5967, 0, "o"], - [5968, 0, "n"], - [5969, 0, " "], - [5970, 0, "e"], - [5971, 0, "v"], - [5972, 0, "a"], - [5973, 0, "l"], - [5974, 0, "u"], - [5975, 0, "a"], - [5976, 0, "t"], - [5977, 0, "i"], - [5978, 0, "o"], - [5979, 0, "n"], - [5946, 1], - [5945, 1], - [5944, 1], - [5943, 1], - [5942, 1], - [5941, 1], - [5940, 1], - [5939, 1], - [5938, 1], - [5937, 1], - [5936, 1], - [5935, 1], - [5934, 1], - [5934, 0, "S"], - [2937, 0, "\n"], - [2938, 0, "\n"], - [2939, 0, "e"], - [2940, 0, "g"], - [2941, 0, "g"], - [2942, 0, "s"], - [2943, 0, "."], - [2944, 0, "v"], - [2945, 0, "a"], - [2946, 0, "l"], - [2947, 0, "u"], - [2948, 0, "e"], - [2949, 0, "s"], - [2950, 0, " "], - [2951, 0, "/"], - [2952, 0, "/"], - [2953, 0, " "], - [2954, 0, "e"], - [2955, 0, "v"], - [2956, 0, "a"], - [2957, 0, "l"], - [2958, 0, "u"], - [2959, 0, "a"], - [2960, 0, "t"], - [2961, 0, "e"], - [2962, 0, "s"], - [2963, 0, " "], - [2964, 0, "t"], - [2965, 0, "o"], - [2966, 0, " "], - [2967, 0, "{"], - [2968, 0, "\""], - [2969, 0, "e"], - [2970, 0, "g"], - [2971, 0, "g"], - [2972, 0, "s"], - [2973, 0, "\""], - [2974, 0, "}"], - [2975, 0, "\n"], - [2976, 0, "e"], - [2977, 0, "g"], - [2978, 0, "g"], - [2979, 0, "s"], - [2980, 0, "."], - [2981, 0, "n"], - [2982, 0, "e"], - [2983, 0, "x"], - [2984, 0, "t"], - [2985, 0, "."], - [2986, 0, "v"], - [2987, 0, "a"], - [2988, 0, "l"], - [2989, 0, "u"], - [2990, 0, "e"], - [2991, 0, "s"], - [2992, 0, " "], - [2993, 0, "/"], - [2994, 0, "/"], - [2995, 0, " "], - [2996, 0, "e"], - [2997, 0, "v"], - [2998, 0, "a"], - [2999, 0, "l"], - [3000, 0, "u"], - [3001, 0, "a"], - [3002, 0, "t"], - [3003, 0, "e"], - [3004, 0, "s"], - [3005, 0, " "], - [3006, 0, "t"], - [3007, 0, "o"], - [3008, 0, " "], - [3009, 0, "{"], - [3010, 0, "\""], - [3011, 0, "m"], - [3012, 0, "i"], - [3013, 0, "l"], - [3014, 0, "k"], - [3015, 0, "}"], - [3015, 1], - [3015, 0, "\""], - [3016, 0, "}"], - [6883, 0, "f"], - [6884, 0, "f"], - [6885, 0, "f"], - [6886, 0, "f"], - [6887, 0, "f"], - [6887, 1], - [6886, 1], - [6885, 1], - [6884, 1], - [6883, 1], - [6912, 1], - [6911, 1], - [6910, 1], - [6909, 1], - [6908, 1], - [6907, 1], - [6906, 1], - [6905, 1], - [6914, 0, " "], - [6915, 0, "r"], - [6916, 0, "e"], - [6917, 0, "s"], - [6918, 0, "u"], - [6919, 0, "l"], - [6920, 0, "t"], - [6921, 0, "i"], - [6922, 0, "n"], - [6923, 0, "g"], - [6929, 0, " "], - [6930, 0, "t"], - [6931, 0, "h"], - [6932, 0, "e"], - [6933, 0, " "], - [6934, 0, "e"], - [6935, 0, "x"], - [6936, 0, "e"], - [6937, 0, "c"], - [6938, 0, "u"], - [6939, 0, "t"], - [6940, 0, "i"], - [6941, 0, "o"], - [6942, 0, "n"], - [6943, 0, " "], - [6944, 0, "o"], - [6945, 0, "f"], - [6946, 0, " "], - [6947, 0, "t"], - [6948, 0, "h"], - [6949, 0, "e"], - [6950, 0, " "], - [6951, 0, "c"], - [6952, 0, "o"], - [6953, 0, "m"], - [6954, 0, "m"], - [6955, 0, "a"], - [6956, 0, "n"], - [6957, 0, "d"], - [6958, 0, "s"], - [6959, 0, " "], - [6960, 0, "i"], - [6961, 0, "n"], - [6340, 1], - [6339, 1], - [6338, 1], - [6337, 1], - [6336, 1], - [6335, 1], - [6334, 1], - [6333, 1], - [6332, 1], - [6331, 1], - [6330, 1], - [6329, 1], - [6328, 1], - [6327, 1], - [6326, 1], - [6325, 1], - [6324, 1], - [6323, 1], - [6322, 1], - [6321, 1], - [6320, 1], - [6319, 1], - [6318, 1], - [6317, 1], - [6316, 1], - [6331, 1], - [6330, 1], - [6329, 1], - [6329, 0, " "], - [6330, 0, "\\"], - [6331, 0, "m"], - [6332, 0, "a"], - [6333, 0, "p"], - [6334, 0, "s"], - [6335, 0, "t"], - [6336, 0, "o"], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6338, 1], - [6308, 1], - [6308, 1], - [6308, 1], - [6307, 1], - [6462, 1], - [6462, 1], - [6462, 1], - [6462, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6467, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 1], - [6480, 0, " "], - [6481, 0, "\\"], - [6482, 0, "m"], - [6483, 0, "a"], - [6484, 0, "p"], - [6485, 0, "s"], - [6486, 0, "t"], - [6487, 0, "o"], - [6615, 1], - [6615, 1], - [6615, 1], - [6615, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6620, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 1], - [6633, 0, " "], - [6634, 0, "\\"], - [6635, 0, "m"], - [6636, 0, "a"], - [6637, 0, "p"], - [6638, 0, "s"], - [6639, 0, "t"], - [6640, 0, "o"], - [6814, 1], - [6813, 1], - [6812, 1], - [6811, 1], - [6810, 1], - [6809, 1], - [6808, 1], - [6807, 1], - [6806, 1], - [6805, 1], - [6804, 1], - [6803, 1], - [6802, 1], - [6801, 1], - [6800, 1], - [6799, 1], - [6798, 1], - [6797, 1], - [6796, 1], - [6795, 1], - [6794, 1], - [6793, 1], - [6792, 1], - [6791, 1], - [6790, 1], - [6789, 1], - [6788, 1], - [6787, 1], - [6786, 1], - [6785, 1], - [6784, 1], - [6783, 1], - [6782, 1], - [6781, 1], - [6780, 1], - [6779, 1], - [6778, 1], - [6777, 1], - [6776, 1], - [6775, 1], - [6774, 1], - [6773, 1], - [6772, 1], - [6771, 1], - [6770, 1], - [6770, 0, "s"], - [6771, 0, "t"], - [6772, 0, "a"], - [6773, 0, "t"], - [6774, 0, "e"], - [6775, 0, " "], - [6776, 0, "$"], - [6777, 0, "A"], - [6778, 0, "_"], - [6779, 0, "p"], - [6780, 0, "$"], - [6781, 0, " "], - [6782, 0, "o"], - [6783, 0, "f"], - [6784, 0, " "], - [6785, 0, "p"], - [6786, 0, "e"], - [6787, 0, "e"], - [6788, 0, "r"], - [6789, 0, " "], - [6790, 0, "$"], - [6791, 0, "p"], - [6792, 0, "$"], - [6793, 0, " "], - [6794, 0, "a"], - [6795, 0, "f"], - [6796, 0, "t"], - [6797, 0, "e"], - [6798, 0, "r"], - [6736, 0, " "], - [6737, 0, "\\"], - [6738, 0, "\\"], - [6739, 0, "\n"], - [6740, 0, "\\"], - [6741, 0, "m"], - [6742, 0, "a"], - [6743, 0, "t"], - [6744, 0, "h"], - [6745, 0, "s"], - [6746, 0, "f"], - [6747, 0, "{"], - [6748, 0, "l"], - [6749, 0, "i"], - [6750, 0, "s"], - [6751, 0, "t"], - [6752, 0, "}"], - [6753, 0, " "], - [6754, 0, " "], - [6754, 1], - [6740, 0, "&"], - [6741, 0, "&"], - [6742, 0, " "], - [6757, 0, "&"], - [6758, 0, " "], - [6759, 0, "\\"], - [6760, 0, "m"], - [6761, 0, "a"], - [6762, 0, "p"], - [6763, 0, "s"], - [6764, 0, "t"], - [6765, 0, "o"], - [6766, 0, " "], - [6767, 0, "\\"], - [6768, 0, "m"], - [6769, 0, "a"], - [6770, 0, "t"], - [6771, 0, "h"], - [6772, 0, "s"], - [6773, 0, "f"], - [6774, 0, "{"], - [6775, 0, "c"], - [6776, 0, "u"], - [6777, 0, "r"], - [6778, 0, "s"], - [6779, 0, "o"], - [6780, 0, "r"], - [6781, 0, "}"], - [6782, 0, "("], - [6783, 0, "\\"], - [6784, 0, "l"], - [6785, 0, "a"], - [6786, 0, "n"], - [6787, 0, "g"], - [6788, 0, "l"], - [6789, 0, "e"], - [6790, 0, " "], - [6791, 0, "\\"], - [6792, 0, "m"], - [6793, 0, "a"], - [6794, 0, "t"], - [6795, 0, "h"], - [6796, 0, "s"], - [6797, 0, "f"], - [6798, 0, "{"], - [6799, 0, "m"], - [6800, 0, "a"], - [6801, 0, "p"], - [6802, 0, "T"], - [6803, 0, "}"], - [6804, 0, "("], - [6805, 0, "\\"], - [6806, 0, "m"], - [6807, 0, "a"], - [6808, 0, "t"], - [6809, 0, "h"], - [6810, 0, "s"], - [6811, 0, "f"], - [6812, 0, "{"], - [6813, 0, "d"], - [6814, 0, "o"], - [6815, 0, "c"], - [6816, 0, "}"], - [6817, 0, ")"], - [6818, 0, ","], - [6819, 0, " "], - [6820, 0, "\\"], - [6821, 0, "m"], - [6822, 0, "a"], - [6823, 0, "t"], - [6824, 0, "h"], - [6825, 0, "s"], - [6826, 0, "f"], - [6827, 0, "{"], - [6828, 0, "l"], - [6829, 0, "i"], - [6830, 0, "s"], - [6831, 0, "t"], - [6832, 0, "T"], - [6833, 0, "}"], - [6834, 0, "("], - [6835, 0, "\\"], - [6836, 0, "t"], - [6837, 0, "e"], - [6838, 0, "x"], - [6839, 0, "t"], - [6840, 0, "{"], - [6841, 0, "`"], - [6842, 0, "`"], - [6843, 0, "s"], - [6844, 0, "h"], - [6845, 0, "o"], - [6846, 0, "p"], - [6847, 0, "p"], - [6848, 0, "i"], - [6849, 0, "n"], - [6850, 0, "g"], - [6851, 0, "'"], - [6852, 0, "'"], - [6853, 0, "}"], - [6854, 0, ")"], - [6855, 0, "\\"], - [6856, 0, "r"], - [6857, 0, "a"], - [6858, 0, "n"], - [6859, 0, "g"], - [6860, 0, "l"], - [6861, 0, "e"], - [6862, 0, ","], - [6863, 0, "\\"], - [6864, 0, ","], - [6819, 0, "\n"], - [6820, 0, " "], - [6821, 0, " "], - [6822, 0, " "], - [6869, 0, " "], - [6870, 0, "\\"], - [6871, 0, "m"], - [6872, 0, "a"], - [6873, 0, "t"], - [6874, 0, "h"], - [6875, 0, "s"], - [6876, 0, "f"], - [6877, 0, "{"], - [6878, 0, "h"], - [6879, 0, "e"], - [6880, 0, "a"], - [6881, 0, "d"], - [6882, 0, "}"], - [6883, 0, ")"], - [6884, 0, ","], - [6885, 0, " "], - [6886, 0, "\\"], - [6887, 0, "\\"], - [6888, 0, "\n"], - [6889, 0, "&"], - [6890, 0, "&"], - [6891, 0, " "], - [6892, 0, "\\"], - [6893, 0, "m"], - [6894, 0, "a"], - [6895, 0, "t"], - [6896, 0, "h"], - [6897, 0, "s"], - [6898, 0, "f"], - [6899, 0, "{"], - [6900, 0, "e"], - [6901, 0, "g"], - [6902, 0, "g"], - [6903, 0, "s"], - [6904, 0, "}"], - [6905, 0, " "], - [6906, 0, "&"], - [6907, 0, " "], - [6908, 0, "\\"], - [6909, 0, "m"], - [6910, 0, "a"], - [6911, 0, "p"], - [6912, 0, "s"], - [6913, 0, "t"], - [6914, 0, "o"], - [6915, 0, " "], - [6916, 0, "\\"], - [6917, 0, "m"], - [6918, 0, "a"], - [6919, 0, "t"], - [6920, 0, "h"], - [6921, 0, "s"], - [6922, 0, "f"], - [6923, 0, "{"], - [6924, 0, "c"], - [6925, 0, "u"], - [6926, 0, "r"], - [6927, 0, "s"], - [6928, 0, "o"], - [6929, 0, "r"], - [6930, 0, "}"], - [6931, 0, "("], - [6932, 0, "\\"], - [6933, 0, "l"], - [6934, 0, "a"], - [6935, 0, "n"], - [6936, 0, "g"], - [6937, 0, "l"], - [6938, 0, "e"], - [6939, 0, " "], - [6940, 0, "\\"], - [6941, 0, "m"], - [6942, 0, "a"], - [6943, 0, "t"], - [6944, 0, "h"], - [6945, 0, "s"], - [6946, 0, "f"], - [6947, 0, "{"], - [6948, 0, "m"], - [6949, 0, "a"], - [6950, 0, "p"], - [6951, 0, "T"], - [6952, 0, "}"], - [6953, 0, "("], - [6954, 0, "\\"], - [6955, 0, "m"], - [6956, 0, "a"], - [6957, 0, "t"], - [6958, 0, "h"], - [6959, 0, "s"], - [6960, 0, "f"], - [6961, 0, "{"], - [6962, 0, "d"], - [6963, 0, "o"], - [6964, 0, "c"], - [6965, 0, "}"], - [6966, 0, ")"], - [6967, 0, ","], - [6968, 0, "\n"], - [6969, 0, " "], - [6970, 0, " "], - [6971, 0, " "], - [6972, 0, " "], - [6973, 0, "\\"], - [6974, 0, "m"], - [6975, 0, "a"], - [6976, 0, "t"], - [6977, 0, "h"], - [6978, 0, "s"], - [6979, 0, "f"], - [6980, 0, "{"], - [6981, 0, "l"], - [6982, 0, "i"], - [6983, 0, "s"], - [6984, 0, "t"], - [6985, 0, "T"], - [6986, 0, "}"], - [6987, 0, "("], - [6988, 0, "\\"], - [6989, 0, "t"], - [6990, 0, "e"], - [6991, 0, "x"], - [6992, 0, "t"], - [6993, 0, "{"], - [6994, 0, "`"], - [6995, 0, "`"], - [6996, 0, "s"], - [6997, 0, "h"], - [6998, 0, "o"], - [6999, 0, "p"], - [7000, 0, "p"], - [7001, 0, "i"], - [7002, 0, "n"], - [7003, 0, "g"], - [7004, 0, "'"], - [7005, 0, "'"], - [7006, 0, "}"], - [7007, 0, ")"], - [7008, 0, "\\"], - [7009, 0, "r"], - [7010, 0, "a"], - [7011, 0, "n"], - [7012, 0, "g"], - [7013, 0, "l"], - [7014, 0, "e"], - [7015, 0, ","], - [7016, 0, "\\"], - [7017, 0, ","], - [7018, 0, " "], - [7019, 0, "\\"], - [7020, 0, "m"], - [7021, 0, "a"], - [7022, 0, "t"], - [7023, 0, "h"], - [7024, 0, "i"], - [7025, 0, "t"], - [7026, 0, "{"], - [7027, 0, "i"], - [7028, 0, "d"], - [7029, 0, "}"], - [7030, 0, "_"], - [7031, 0, "1"], - [7032, 0, ")"], - [7033, 0, " "], - [7034, 0, "\\"], - [7035, 0, "\\"], - [7036, 0, "\n"], - [7037, 0, "\\"], - [7038, 0, "}"], - [6726, 1], - [6726, 1], - [6726, 1], - [6726, 1], - [6732, 0, ","], - [6105, 1], - [6097, 0, "&"], - [6098, 0, " "], - [7035, 0, "&"], - [7036, 0, " "], - [6094, 1], - [6094, 0, "3"], - [6157, 0, "&"], - [6157, 1], - [6172, 0, "&"], - [6173, 0, "&"], - [6209, 0, "&"], - [6210, 0, "&"], - [6271, 0, "&"], - [6272, 0, "&"], - [6368, 0, "&"], - [6369, 0, "&"], - [6430, 0, "&"], - [6431, 0, "&"], - [6525, 0, "&"], - [6526, 0, "&"], - [6587, 0, "&"], - [6588, 0, "&"], - [6682, 0, "&"], - [6683, 0, "&"], - [6743, 0, "&"], - [6744, 0, "&"], - [6745, 0, " "], - [6776, 0, "\\"], - [6777, 0, "m"], - [6778, 0, "u"], - [6779, 0, "l"], - [6780, 0, "t"], - [6781, 0, "i"], - [6782, 0, "c"], - [6783, 0, "o"], - [6784, 0, "l"], - [6785, 0, "u"], - [6786, 0, "m"], - [6787, 0, "n"], - [6788, 0, "{"], - [6789, 0, "2"], - [6790, 0, "}"], - [6791, 0, "{"], - [6792, 0, "l"], - [6793, 0, "}"], - [6794, 0, "{"], - [6921, 0, "}"], - [6970, 0, "b"], - [6971, 0, "b"], - [6972, 0, "b"], - [6973, 0, "b"], - [6974, 0, "b"], - [6975, 0, "b"], - [6976, 0, "b"], - [6977, 0, "b"], - [6970, 1], - [6970, 1], - [6970, 1], - [6970, 1], - [6970, 1], - [6970, 1], - [6970, 1], - [6970, 1], - [6945, 0, "\\"], - [6946, 0, "m"], - [6947, 0, "u"], - [6948, 0, "l"], - [6949, 0, "t"], - [6950, 0, "i"], - [6951, 0, "c"], - [6952, 0, "o"], - [6953, 0, "l"], - [6954, 0, "u"], - [6955, 0, "m"], - [6956, 0, "n"], - [6957, 0, "{"], - [6958, 0, "2"], - [6959, 0, "}"], - [6960, 0, "{"], - [6961, 0, "l"], - [6962, 0, "}"], - [6963, 0, "{"], - [7089, 0, "}"], - [7089, 1], - [6963, 1], - [6962, 1], - [6961, 1], - [6960, 1], - [6959, 1], - [6958, 1], - [6957, 1], - [6956, 1], - [6955, 1], - [6954, 1], - [6953, 1], - [6952, 1], - [6951, 1], - [6951, 0, "s"], - [6952, 0, "p"], - [6953, 0, "a"], - [6954, 0, "n"], - [6955, 0, "{"], - [6956, 0, "2"], - [6957, 0, "}"], - [6958, 0, " "], - [6794, 1], - [6793, 1], - [6792, 1], - [6791, 1], - [6790, 1], - [6789, 1], - [6788, 1], - [6787, 1], - [6786, 1], - [6785, 1], - [6784, 1], - [6783, 1], - [6782, 1], - [6782, 0, "s"], - [6783, 0, "p"], - [6784, 0, "a"], - [6785, 0, "n"], - [6786, 0, "{"], - [6787, 0, "2"], - [6788, 0, "}"], - [6789, 0, " "], - [6916, 1], - [6951, 1], - [6950, 1], - [6949, 1], - [6948, 1], - [6947, 1], - [6946, 1], - [6945, 1], - [6944, 1], - [6943, 1], - [6942, 1], - [6941, 1], - [6940, 1], - [6939, 1], - [6938, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6784, 0, "\\"], - [6785, 0, "m"], - [6786, 0, "u"], - [6787, 0, "l"], - [6788, 0, "t"], - [6789, 0, "i"], - [6790, 0, "c"], - [6791, 0, "o"], - [6792, 0, "l"], - [6793, 0, "u"], - [6794, 0, "m"], - [6795, 0, "n"], - [6796, 0, "{"], - [6796, 1], - [6795, 1], - [6794, 1], - [6793, 1], - [6792, 1], - [6791, 1], - [6790, 1], - [6789, 1], - [6788, 1], - [6787, 1], - [6786, 1], - [6785, 1], - [6784, 1], - [6776, 0, "\\"], - [6777, 0, "m"], - [6778, 0, "u"], - [6779, 0, "l"], - [6780, 0, "t"], - [6781, 0, "i"], - [6782, 0, "c"], - [6783, 0, "o"], - [6784, 0, "l"], - [6785, 0, "u"], - [6786, 0, "m"], - [6787, 0, "n"], - [6788, 0, "{"], - [6789, 0, "2"], - [6790, 0, "}"], - [6791, 0, "{"], - [6792, 0, "c"], - [6793, 0, "}"], - [6794, 0, "{"], - [6855, 0, "%"], - [6922, 0, "}"], - [6922, 1], - [6794, 1], - [6793, 1], - [6792, 1], - [6791, 1], - [6790, 1], - [6789, 1], - [6788, 1], - [6787, 1], - [6786, 1], - [6785, 1], - [6784, 1], - [6783, 1], - [6782, 1], - [6781, 1], - [6780, 1], - [6779, 1], - [6778, 1], - [6777, 1], - [6777, 0, "h"], - [6778, 0, "d"], - [6779, 0, "o"], - [6780, 0, "t"], - [6781, 0, "s"], - [6782, 0, "f"], - [6783, 0, "o"], - [6784, 0, "r"], - [6785, 0, "{"], - [6786, 0, "1"], - [6787, 0, "}"], - [6788, 0, " "], - [7072, 0, " "], - [7073, 0, "\\"], - [7074, 0, "m"], - [7075, 0, "u"], - [7076, 0, "l"], - [7077, 0, "t"], - [7078, 0, "i"], - [7079, 0, "s"], - [7080, 0, "p"], - [7081, 0, "a"], - [7082, 0, "n"], - [7083, 0, "{"], - [7084, 0, "3"], - [7085, 0, "}"], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 1], - [6776, 0, "\\"], - [6777, 0, "m"], - [6778, 0, "u"], - [6779, 0, "l"], - [6780, 0, "t"], - [6781, 0, "i"], - [6782, 0, "a"], - [6783, 0, "l"], - [6784, 0, "i"], - [6785, 0, "g"], - [6786, 0, "n"], - [6787, 0, "{"], - [6788, 0, "3"], - [6789, 0, "}"], - [6790, 0, "{"], - [6791, 0, "["], - [6792, 0, "]"], - [6793, 0, "["], - [6793, 1], - [6792, 1], - [6791, 1], - [6791, 0, "["], - [6792, 0, "]"], - [6793, 0, "["], - [6793, 1], - [6792, 1], - [6791, 1], - [6791, 0, "{"], - [6792, 0, "}"], - [6793, 0, "{"], - [6794, 0, "="], - [6794, 1], - [6793, 1], - [6793, 0, "="], - [6921, 0, "}"], - [6786, 1], - [6785, 1], - [6784, 1], - [6783, 1], - [6782, 1], - [6782, 0, "s"], - [6783, 0, "p"], - [6784, 0, "a"], - [6785, 0, "n"], - [6789, 1], - [6789, 1], - [6789, 1], - [6789, 1], - [6789, 0, "\\"], - [6790, 0, "m"], - [6791, 0, "b"], - [6792, 0, "o"], - [6793, 0, "x"], - [6794, 0, "{"], - [6795, 0, "$"], - [6923, 0, "$"], - [6923, 1], - [6793, 1], - [6792, 1], - [6791, 1], - [6790, 1], - [6789, 1], - [6785, 1], - [6784, 1], - [6783, 1], - [6782, 1], - [6782, 0, "a"], - [6783, 0, "l"], - [6784, 0, "i"], - [6785, 0, "g"], - [6786, 0, "n"], - [6791, 1], - [6791, 0, "{"], - [6792, 0, "}"], - [6793, 0, "="], - [6050, 0, "\n"], - [6051, 0, "\\"], - [6052, 0, "n"], - [6053, 0, "e"], - [6054, 0, "w"], - [6055, 0, "c"], - [6056, 0, "o"], - [6057, 0, "m"], - [6058, 0, "m"], - [6059, 0, "a"], - [6060, 0, "n"], - [6061, 0, "d"], - [6062, 0, "{"], - [6063, 0, "\\"], - [6064, 0, "m"], - [6065, 0, "u"], - [6066, 0, "l"], - [6067, 0, "t"], - [6068, 0, "i"], - [6069, 0, "a"], - [6070, 0, "l"], - [6071, 0, "i"], - [6072, 0, "g"], - [6073, 0, "n"], - [6074, 0, "}"], - [6075, 0, "["], - [6076, 0, "2"], - [6077, 0, "]"], - [6078, 0, "{"], - [6079, 0, "%"], - [6080, 0, "\n"], - [6081, 0, " "], - [6082, 0, " "], - [6083, 0, "\\"], - [6084, 0, "m"], - [6085, 0, "u"], - [6086, 0, "l"], - [6087, 0, "t"], - [6088, 0, "i"], - [6089, 0, "s"], - [6090, 0, "p"], - [6091, 0, "a"], - [6092, 0, "n"], - [6093, 0, "{"], - [6094, 0, "#"], - [6095, 0, "1"], - [6096, 0, "}"], - [6097, 0, "\\"], - [6098, 0, "m"], - [6099, 0, "b"], - [6100, 0, "o"], - [6101, 0, "x"], - [6102, 0, "{"], - [6103, 0, "$"], - [6104, 0, "\\"], - [6105, 0, "d"], - [6106, 0, "i"], - [6107, 0, "s"], - [6108, 0, "p"], - [6109, 0, "l"], - [6110, 0, "a"], - [6111, 0, "y"], - [6112, 0, "s"], - [6113, 0, "t"], - [6114, 0, "y"], - [6115, 0, "l"], - [6116, 0, "e"], - [6117, 0, "#"], - [6118, 0, "2"], - [6119, 0, "$"], - [6120, 0, "}"], - [6121, 0, "%"], - [6122, 0, "\n"], - [6123, 0, "}"], - [7165, 1], - [7164, 1], - [7163, 1], - [7162, 1], - [7161, 1], - [7160, 1], - [7159, 1], - [7158, 1], - [7157, 1], - [7156, 1], - [7155, 1], - [7154, 1], - [7153, 1], - [7152, 1], - [6867, 1], - [7018, 0, "\\"], - [7019, 0, "m"], - [7020, 0, "u"], - [7021, 0, "l"], - [7022, 0, "t"], - [7023, 0, "i"], - [7024, 0, "a"], - [7025, 0, "l"], - [7026, 0, "i"], - [7027, 0, "g"], - [7028, 0, "n"], - [7029, 0, "{"], - [7030, 0, "3"], - [7031, 0, "}"], - [7032, 0, "{"], - [7033, 0, "{"], - [7034, 0, "}"], - [7095, 0, "%"], - [7161, 0, "}"], - [7034, 1], - [7033, 1], - [7033, 0, "{"], - [7034, 0, "}"], - [7034, 1], - [7033, 1], - [6117, 0, "{"], - [6118, 0, "}"], - [6868, 1], - [6867, 1], - [6173, 1], - [6173, 1], - [6831, 1], - [6996, 1], - [7160, 1], - [7160, 1], - [7160, 0, "&"], - [7161, 0, " "], - [6173, 0, "&"], - [6174, 0, " "], - [6834, 0, "&"], - [6999, 0, "&"], - [6184, 0, "&"], - [6219, 1], - [6219, 1], - [6818, 0, "&"], - [6175, 0, "\\"], - [6176, 0, "m"], - [6177, 0, "u"], - [6178, 0, "l"], - [6179, 0, "t"], - [6180, 0, "i"], - [6181, 0, "a"], - [6182, 0, "l"], - [6183, 0, "i"], - [6184, 0, "g"], - [6185, 0, "n"], - [6186, 0, "{"], - [6187, 0, "3"], - [6188, 0, "}"], - [6189, 0, "{"], - [6198, 1], - [6198, 1], - [6198, 1], - [6196, 1], - [6195, 1], - [6290, 0, "}"], - [6290, 0, " "], - [6173, 0, "%"], - [6173, 1], - [6257, 1], - [6257, 1], - [6241, 0, "}"], - [6242, 0, " "], - [6243, 0, "&"], - [6244, 0, "&"], - [6293, 1], - [6293, 1], - [6245, 1], - [6244, 1], - [6243, 1], - [6242, 1], - [6242, 0, "\n"], - [6243, 0, " "], - [6244, 0, " "], - [6245, 0, " "], - [6246, 0, " "], - [6294, 0, "}"], - [6295, 0, " "], - [6241, 1], - [6187, 1], - [6187, 0, "5"], - [6174, 0, " "], - [6175, 0, "_"], - [6175, 1], - [6175, 0, "A"], - [6176, 0, "_"], - [6177, 0, "p"], - [6178, 0, " "], - [6179, 0, "="], - [6180, 0, " "], - [6181, 0, "\\"], - [6182, 0, "{"], - [6183, 0, " "], - [6184, 0, "\\"], - [6185, 0, "\\"], - [6186, 0, "\n"], - [6249, 1], - [6249, 0, "\n"], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 1], - [6187, 0, "&"], - [6188, 0, "&"], - [6225, 0, " "], - [6226, 0, "\\"], - [6226, 1], - [6226, 0, "&"], - [6227, 0, " "], - [6227, 1], - [6226, 1], - [6225, 1], - [6218, 0, "&"], - [6219, 0, " "], - [6220, 0, "\\"], - [6221, 0, "m"], - [6222, 0, "u"], - [6223, 0, "l"], - [6224, 0, "t"], - [6225, 0, "i"], - [6226, 0, "a"], - [6227, 0, "l"], - [6228, 0, "i"], - [6229, 0, "g"], - [6230, 0, "n"], - [6231, 0, "{"], - [6232, 0, "3"], - [6233, 0, "4"], - [6233, 1], - [6233, 0, "}"], - [6234, 0, "{"], - [6242, 1], - [6242, 0, " "], - [6247, 1], - [6247, 1], - [6247, 1], - [6247, 1], - [6175, 0, "\\"], - [6176, 0, "m"], - [6177, 0, "u"], - [6178, 0, "l"], - [6179, 0, "t"], - [6180, 0, "i"], - [6181, 0, "a"], - [6182, 0, "l"], - [6183, 0, "i"], - [6184, 0, "g"], - [6185, 0, "n"], - [6186, 0, "{"], - [6187, 0, "3"], - [6188, 0, "}"], - [6189, 0, "{"], - [6198, 0, "}"], - [6234, 1], - [6233, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6234, 1], - [6204, 1], - [6203, 1], - [6202, 1], - [6201, 1], - [6200, 1], - [6199, 1], - [6198, 1], - [6187, 1], - [6187, 0, "5"], - [6198, 0, "\\"], - [6199, 0, ";"], - [6241, 0, "\n"], - [6242, 0, " "], - [6243, 0, " "], - [6244, 0, " "], - [10319, 1], - [10318, 1], - [10317, 1], - [10316, 1], - [10315, 1], - [10314, 1], - [10313, 1], - [10312, 1], - [10311, 1], - [10310, 1], - [10309, 1], - [10308, 1], - [10307, 1], - [10306, 1], - [10305, 1], - [10304, 1], - [10303, 1], - [10302, 1], - [10301, 1], - [10300, 1], - [10299, 1], - [10298, 1], - [10297, 1], - [10296, 1], - [10295, 1], - [10294, 1], - [10293, 1], - [10292, 1], - [10291, 1], - [10290, 1], - [10289, 1], - [10288, 1], - [10287, 1], - [10286, 1], - [10285, 1], - [10284, 1], - [10283, 1], - [10282, 1], - [10281, 1], - [10280, 1], - [10279, 1], - [10278, 1], - [10277, 1], - [10276, 1], - [10275, 1], - [10274, 1], - [10273, 1], - [10272, 1], - [10271, 1], - [10270, 1], - [10270, 0, "m"], - [10271, 0, "a"], - [10272, 0, "t"], - [10273, 0, "h"], - [10274, 0, "r"], - [10275, 0, "m"], - [10276, 0, "{"], - [10277, 0, "r"], - [10278, 0, "a"], - [10279, 0, "n"], - [10280, 0, "}"], - [10281, 0, "("], - [10312, 0, ")"], - [10313, 1], - [10313, 1], - [10313, 1], - [10313, 1], - [10313, 1], - [10280, 0, "g"], - [10281, 0, "e"], - [3242, 0, " "], - [3243, 0, "I"], - [3244, 0, "t"], - [3245, 0, " "], - [3246, 0, "i"], - [3247, 0, "s"], - [3248, 0, " "], - [3249, 0, "n"], - [3250, 0, "o"], - [3251, 0, "t"], - [3252, 0, " "], - [3253, 0, "a"], - [3254, 0, " "], - [3255, 0, "f"], - [3256, 0, "u"], - [3257, 0, "l"], - [3258, 0, "l"], - [3259, 0, " "], - [3260, 0, "p"], - [3261, 0, "r"], - [3262, 0, "o"], - [3263, 0, "g"], - [3263, 1], - [3262, 1], - [3262, 0, "="], - [3262, 1], - [3261, 1], - [3261, 0, "r"], - [3262, 0, "o"], - [3263, 0, "g"], - [3264, 0, "r"], - [3265, 0, "a"], - [3266, 0, "m"], - [3267, 0, "m"], - [3268, 0, "i"], - [3269, 0, "n"], - [3270, 0, "g"], - [3271, 0, " "], - [3272, 0, "l"], - [3273, 0, "a"], - [3274, 0, "n"], - [3275, 0, "g"], - [3276, 0, "u"], - [3277, 0, "a"], - [3278, 0, "g"], - [3279, 0, "e"], - [3280, 0, ","], - [3281, 0, " "], - [3282, 0, "b"], - [3283, 0, "u"], - [3284, 0, "t"], - [3285, 0, " "], - [3286, 0, "r"], - [3287, 0, "a"], - [3288, 0, "t"], - [3289, 0, "h"], - [3290, 0, "e"], - [3291, 0, "r"], - [3292, 0, " "], - [3293, 0, "a"], - [3294, 0, "n"], - [3295, 0, " "], - [3296, 0, "A"], - [3297, 0, "P"], - [3298, 0, "I"], - [3299, 0, " "], - [3300, 0, "t"], - [3301, 0, "h"], - [3302, 0, "r"], - [3303, 0, "o"], - [3304, 0, "u"], - [3305, 0, "g"], - [3306, 0, "h"], - [3307, 0, " "], - [3308, 0, "w"], - [3309, 0, "h"], - [3310, 0, "i"], - [3311, 0, "c"], - [3312, 0, "h"], - [3313, 0, " "], - [3314, 0, "t"], - [3315, 0, "h"], - [3316, 0, "e"], - [3317, 0, " "], - [3318, 0, "d"], - [3319, 0, "o"], - [3320, 0, "c"], - [3321, 0, "u"], - [3322, 0, "m"], - [3323, 0, "e"], - [3324, 0, "n"], - [3325, 0, "t"], - [3326, 0, " "], - [3327, 0, "s"], - [3328, 0, "t"], - [3329, 0, "a"], - [3330, 0, "t"], - [3331, 0, "e"], - [3332, 0, " "], - [3333, 0, "i"], - [3334, 0, "s"], - [3335, 0, " "], - [3336, 0, "q"], - [3337, 0, "u"], - [3338, 0, "e"], - [3339, 0, "r"], - [3340, 0, "i"], - [3341, 0, "e"], - [3342, 0, "d"], - [3343, 0, " "], - [3344, 0, "a"], - [3345, 0, "n"], - [3346, 0, "d"], - [3347, 0, " "], - [3348, 0, "m"], - [3349, 0, "o"], - [3350, 0, "d"], - [3351, 0, "i"], - [3352, 0, "f"], - [3353, 0, "i"], - [3354, 0, "e"], - [3355, 0, "d"], - [3356, 0, "."], - [3357, 0, " "], - [3358, 0, "W"], - [3359, 0, "e"], - [3360, 0, " "], - [3361, 0, "a"], - [3362, 0, "s"], - [3363, 0, "s"], - [3364, 0, "u"], - [3365, 0, "m"], - [3366, 0, "e"], - [3367, 0, " "], - [3368, 0, "t"], - [3369, 0, "h"], - [3370, 0, "a"], - [3371, 0, "t"], - [3372, 0, " "], - [3373, 0, "t"], - [3374, 0, "h"], - [3375, 0, "e"], - [3376, 0, " "], - [3377, 0, "u"], - [3378, 0, "s"], - [3379, 0, "e"], - [3380, 0, "r"], - [3381, 0, " "], - [3382, 0, "p"], - [3383, 0, "r"], - [3384, 0, "o"], - [3385, 0, "g"], - [3386, 0, "r"], - [3387, 0, "a"], - [3388, 0, "m"], - [3389, 0, " "], - [3390, 0, "i"], - [3391, 0, "s"], - [3392, 0, "s"], - [3393, 0, "u"], - [3394, 0, "e"], - [3395, 0, "s"], - [3396, 0, " "], - [3397, 0, "a"], - [3397, 1], - [3397, 0, "a"], - [3398, 0, " "], - [3399, 0, "("], - [3400, 0, "p"], - [3401, 0, "o"], - [3402, 0, "s"], - [3403, 0, "s"], - [3404, 0, "i"], - [3405, 0, "b"], - [3406, 0, "l"], - [3407, 0, "y"], - [3408, 0, " "], - [3409, 0, "i"], - [3410, 0, "n"], - [3411, 0, "f"], - [3412, 0, "i"], - [3413, 0, "n"], - [3414, 0, "i"], - [3415, 0, "t"], - [3416, 0, "e"], - [3417, 0, ")"], - [3418, 0, " "], - [3419, 0, "s"], - [3420, 0, "e"], - [3421, 0, "q"], - [3422, 0, "u"], - [3423, 0, "e"], - [3424, 0, "n"], - [3425, 0, "c"], - [3426, 0, "e"], - [3427, 0, " "], - [3428, 0, "o"], - [3429, 0, "f"], - [3430, 0, " "], - [3431, 0, "c"], - [3432, 0, "o"], - [3433, 0, "m"], - [3434, 0, "m"], - [3435, 0, "a"], - [3436, 0, "n"], - [3437, 0, "d"], - [3438, 0, "s"], - [3439, 0, ","], - [3440, 0, " "], - [3440, 1], - [3439, 1], - [3381, 1], - [3380, 1], - [3379, 1], - [3378, 1], - [3377, 1], - [3384, 0, " "], - [3385, 0, "a"], - [3386, 0, "c"], - [3387, 0, "c"], - [3388, 0, "e"], - [3389, 0, "p"], - [3390, 0, "t"], - [3391, 0, "s"], - [3392, 0, " "], - [3393, 0, "u"], - [3394, 0, "s"], - [3395, 0, "e"], - [3396, 0, "r"], - [3397, 0, " "], - [3398, 0, "i"], - [3399, 0, "n"], - [3400, 0, "p"], - [3401, 0, "u"], - [3402, 0, "t"], - [3403, 0, " "], - [3404, 0, "a"], - [3405, 0, "n"], - [3406, 0, "d"], - [3457, 0, " "], - [3458, 0, "t"], - [3459, 0, "o"], - [3460, 0, " "], - [3461, 0, "t"], - [3462, 0, "h"], - [3463, 0, "e"], - [3464, 0, " "], - [3465, 0, "A"], - [3466, 0, "P"], - [3467, 0, "I"], - [3468, 0, "."], - [3469, 0, " "], - [3470, 0, "W"], - [3471, 0, "e"], - [3472, 0, " "], - [3473, 0, "m"], - [3474, 0, "o"], - [3475, 0, "d"], - [3476, 0, "e"], - [3477, 0, "l"], - [3478, 0, " "], - [3479, 0, "o"], - [3480, 0, "n"], - [3481, 0, "l"], - [3482, 0, "y"], - [3483, 0, " "], - [3484, 0, "t"], - [3485, 0, "h"], - [3486, 0, "e"], - [3487, 0, " "], - [3488, 0, "s"], - [3489, 0, "e"], - [3490, 0, "m"], - [3491, 0, "a"], - [3492, 0, "n"], - [3493, 0, "t"], - [3494, 0, "i"], - [3495, 0, "c"], - [3496, 0, "s"], - [3497, 0, " "], - [3498, 0, "o"], - [3499, 0, "f"], - [3500, 0, " "], - [3501, 0, "t"], - [3502, 0, "h"], - [3503, 0, "o"], - [3504, 0, "s"], - [3505, 0, "e"], - [3506, 0, " "], - [3507, 0, "c"], - [3508, 0, "o"], - [3509, 0, "m"], - [3510, 0, "m"], - [3511, 0, "a"], - [3512, 0, "n"], - [3513, 0, "d"], - [3514, 0, "s"], - [3515, 0, ","], - [3516, 0, " "], - [3517, 0, "a"], - [3518, 0, "n"], - [3519, 0, "d"], - [3520, 0, " "], - [3521, 0, "a"], - [3522, 0, "s"], - [3523, 0, "s"], - [3524, 0, "u"], - [3525, 0, "m"], - [3526, 0, "e"], - [3527, 0, " "], - [3528, 0, "t"], - [3529, 0, "h"], - [3530, 0, "a"], - [3531, 0, "t"], - [3532, 0, " "], - [3521, 0, "d"], - [3522, 0, "o"], - [3523, 0, " "], - [3524, 0, "n"], - [3525, 0, "o"], - [3526, 0, "t"], - [3527, 0, " "], - [3538, 1], - [3537, 1], - [3536, 1], - [3535, 1], - [3535, 0, "a"], - [3536, 0, "n"], - [3537, 0, "y"], - [3538, 0, "t"], - [3539, 0, "h"], - [3540, 0, "i"], - [3541, 0, "n"], - [3542, 0, "g"], - [3543, 0, " "], - [3544, 0, "a"], - [3545, 0, "b"], - [3546, 0, "o"], - [3547, 0, "u"], - [3548, 0, "t"], - [3549, 0, " "], - [3550, 0, "t"], - [3551, 0, "h"], - [3552, 0, "e"], - [3553, 0, " "], - [3554, 0, "p"], - [3555, 0, "r"], - [3556, 0, "o"], - [3557, 0, "g"], - [3558, 0, "r"], - [3559, 0, "a"], - [3560, 0, "m"], - [3561, 0, " "], - [3562, 0, "i"], - [3563, 0, "n"], - [3564, 0, " "], - [3565, 0, "w"], - [3566, 0, "h"], - [3567, 0, "i"], - [3568, 0, "c"], - [3569, 0, "h"], - [3570, 0, " "], - [3571, 0, "t"], - [3572, 0, "h"], - [3573, 0, "e"], - [3574, 0, " "], - [3575, 0, "c"], - [3576, 0, "o"], - [3577, 0, "m"], - [3578, 0, "m"], - [3579, 0, "a"], - [3580, 0, "n"], - [3581, 0, "d"], - [3582, 0, " "], - [3583, 0, "l"], - [3584, 0, "a"], - [3585, 0, "n"], - [3586, 0, "g"], - [3587, 0, "u"], - [3588, 0, "a"], - [3589, 0, "g"], - [3590, 0, "e"], - [3591, 0, " "], - [3592, 0, "i"], - [3593, 0, "s"], - [3594, 0, " "], - [3595, 0, "e"], - [3596, 0, "m"], - [3597, 0, "b"], - [3598, 0, "e"], - [3599, 0, "d"], - [3600, 0, "d"], - [3601, 0, "e"], - [3602, 0, "d"], - [3603, 0, "."], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [3604, 1], - [1740, 0, "\n"], - [1741, 0, "\n"], - [1739, 1], - [1741, 0, "\\"], - [1742, 0, "s"], - [1743, 0, "u"], - [1744, 0, "b"], - [1745, 0, "s"], - [1746, 0, "e"], - [1747, 0, "c"], - [1748, 0, "t"], - [1749, 0, "i"], - [1750, 0, "o"], - [1751, 0, "n"], - [1752, 0, "{"], - [1753, 0, "D"], - [1754, 0, "a"], - [1755, 0, "t"], - [1756, 0, "a"], - [1757, 0, " "], - [1758, 0, "m"], - [1759, 0, "o"], - [1760, 0, "d"], - [1761, 0, "e"], - [1762, 0, "l"], - [1763, 0, "}"], - [1764, 0, "\n"], - [1765, 0, "\n"], - [1766, 0, "W"], - [1767, 0, "e"], - [1768, 0, " "], - [714, 0, "A"], - [715, 0, " "], - [716, 0, "c"], - [717, 0, "o"], - [718, 0, "m"], - [719, 0, "="], - [719, 1], - [718, 1], - [717, 1], - [716, 1], - [716, 0, "C"], - [717, 0, "o"], - [718, 0, "n"], - [719, 0, "f"], - [720, 0, "l"], - [721, 0, "i"], - [722, 0, "c"], - [723, 0, "t"], - [724, 0, "-"], - [725, 0, "F"], - [726, 0, "r"], - [727, 0, "e"], - [728, 0, "e"], - [729, 0, " "], - [730, 0, "R"], - [731, 0, "e"], - [732, 0, "p"], - [733, 0, "l"], - [734, 0, "i"], - [735, 0, "c"], - [736, 0, "a"], - [737, 0, "t"], - [738, 0, "e"], - [739, 0, "d"], - [740, 0, " "], - [741, 0, "J"], - [742, 0, "S"], - [743, 0, "O"], - [744, 0, "N"], - [745, 0, " "], - [746, 0, "D"], - [747, 0, "a"], - [748, 0, "t"], - [749, 0, "a"], - [750, 0, "t"], - [751, 0, "y"], - [752, 0, "p"], - [753, 0, "e"], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [754, 1], - [1748, 1], - [1747, 1], - [1746, 1], - [1746, 0, "W"], - [1747, 0, "e"], - [1748, 0, " "], - [1748, 1], - [1747, 1], - [1746, 1], - [1746, 0, "O"], - [1747, 0, "u"], - [1748, 0, "r"], - [1749, 0, " "], - [1750, 0, "d"], - [1751, 0, "a"], - [1752, 0, "t"], - [1753, 0, "a"], - [1754, 0, " "], - [1755, 0, "m"], - [1756, 0, "o"], - [1757, 0, "d"], - [1758, 0, "e"], - [1759, 0, "l"], - [1760, 0, " "], - [1761, 0, "f"], - [1762, 0, "o"], - [1763, 0, "r"], - [1764, 0, " "], - [1765, 0, "a"], - [1766, 0, " "], - [1767, 0, "d"], - [1768, 0, "o"], - [1769, 0, "c"], - [1770, 0, "u"], - [1771, 0, "m"], - [1772, 0, "e"], - [1773, 0, "n"], - [1774, 0, "t"], - [1775, 0, " "], - [1776, 0, "i"], - [1777, 0, "s"], - [1778, 0, " "], - [1779, 0, "b"], - [1780, 0, "a"], - [1781, 0, "s"], - [1782, 0, "e"], - [1783, 0, "d"], - [1784, 0, " "], - [1785, 0, "o"], - [1786, 0, "n"], - [1787, 0, " "], - [1788, 0, "J"], - [1789, 0, "S"], - [1790, 0, "O"], - [1791, 0, "N"], - [1792, 0, "."], - [1793, 0, " "], - [1793, 1], - [1792, 1], - [1792, 0, "."], - [1793, 0, " "], - [1794, 0, "I"], - [1795, 0, "t"], - [1796, 0, " "], - [1797, 0, "c"], - [1798, 0, "o"], - [1799, 0, "n"], - [1800, 0, "s"], - [1801, 0, "i"], - [1802, 0, "s"], - [1803, 0, "t"], - [1804, 0, "s"], - [1805, 0, " "], - [1806, 0, "o"], - [1807, 0, "f"], - [1808, 0, " "], - [1809, 0, "a"], - [1810, 0, " "], - [1811, 0, "t"], - [1812, 0, "r"], - [1813, 0, "e"], - [1814, 0, "e"], - [1815, 0, " "], - [1816, 0, "w"], - [1817, 0, "i"], - [1818, 0, "t"], - [1819, 0, "h"], - [1820, 0, " "], - [1821, 0, "t"], - [1822, 0, "h"], - [1823, 0, "e"], - [1824, 0, " "], - [1825, 0, "f"], - [1826, 0, "o"], - [1827, 0, "l"], - [1828, 0, "l"], - [1829, 0, "o"], - [1830, 0, "w"], - [1831, 0, "i"], - [1832, 0, "n"], - [1833, 0, "g"], - [1834, 0, " "], - [1835, 0, "t"], - [1836, 0, "y"], - [1837, 0, "p"], - [1838, 0, "e"], - [1839, 0, "s"], - [1840, 0, " "], - [1841, 0, "n"], - [1842, 0, "o"], - [1842, 1], - [1841, 1], - [1841, 0, "o"], - [1842, 0, "f"], - [1843, 0, " "], - [1844, 0, "n"], - [1845, 0, "o"], - [1846, 0, "d"], - [1847, 0, "e"], - [1848, 0, ":"], - [1849, 0, "\n"], - [1850, 0, "\n"], - [1851, 0, "\\"], - [1852, 0, "b"], - [1853, 0, "e"], - [1854, 0, "g"], - [1855, 0, "i"], - [1856, 0, "n"], - [1857, 0, "{"], - [1858, 0, "e"], - [1859, 0, "n"], - [1860, 0, "u"], - [1861, 0, "m"], - [1862, 0, "e"], - [1863, 0, "r"], - [1864, 0, "a"], - [1865, 0, "t"], - [1866, 0, "e"], - [1867, 0, "}"], - [1868, 0, "\n"], - [1869, 0, "\\"], - [1870, 0, "e"], - [1871, 0, "n"], - [1872, 0, "d"], - [1873, 0, "{"], - [1874, 0, "e"], - [1875, 0, "n"], - [1876, 0, "u"], - [1877, 0, "m"], - [1878, 0, "e"], - [1879, 0, "r"], - [1880, 0, "a"], - [1881, 0, "t"], - [1882, 0, "e"], - [1883, 0, "}"], - [1868, 0, "\n"], - [1869, 0, "\\"], - [1870, 0, "i"], - [1871, 0, "t"], - [1872, 0, "e"], - [1873, 0, "m"], - [1874, 0, " "], - [1866, 1], - [1865, 1], - [1864, 1], - [1863, 1], - [1862, 1], - [1861, 1], - [1860, 1], - [1859, 1], - [1858, 1], - [1858, 0, "d"], - [1859, 0, "e"], - [1860, 0, "s"], - [1861, 0, "c"], - [1862, 0, "r"], - [1863, 0, "i"], - [1864, 0, "p"], - [1865, 0, "t"], - [1866, 0, "i"], - [1867, 0, "o"], - [1868, 0, "n"], - [1891, 1], - [1890, 1], - [1889, 1], - [1888, 1], - [1887, 1], - [1886, 1], - [1885, 1], - [1884, 1], - [1883, 1], - [1883, 0, "d"], - [1884, 0, "e"], - [1885, 0, "s"], - [1886, 0, "c"], - [1887, 0, "r"], - [1888, 0, "i"], - [1889, 0, "p"], - [1890, 0, "t"], - [1891, 0, "i"], - [1892, 0, "o"], - [1893, 0, "n"], - [1876, 1], - [1876, 0, "["], - [1877, 0, "M"], - [1878, 0, "A"], - [1879, 0, "P"], - [1879, 1], - [1878, 1], - [1878, 0, "a"], - [1879, 0, "p"], - [1880, 0, "."], - [1881, 0, "]"], - [1882, 0, " "], - [1880, 1], - [1880, 0, ":"], - [1883, 0, "A"], - [1884, 0, " "], - [1885, 0, "b"], - [1886, 0, "r"], - [1887, 0, "a"], - [1888, 0, "n"], - [1889, 0, "c"], - [1890, 0, "h"], - [1891, 0, " "], - [1892, 0, "n"], - [1893, 0, "o"], - [1894, 0, "d"], - [1895, 0, "e"], - [1896, 0, " "], - [1897, 0, "w"], - [1898, 0, "h"], - [1899, 0, "o"], - [1900, 0, "s"], - [1901, 0, "e"], - [1902, 0, " "], - [1903, 0, "c"], - [1904, 0, "h"], - [1905, 0, "i"], - [1906, 0, "l"], - [1907, 0, "d"], - [1908, 0, "r"], - [1909, 0, "e"], - [1910, 0, "n"], - [1911, 0, " "], - [1912, 0, "a"], - [1913, 0, "r"], - [1914, 0, "e"], - [1915, 0, " "], - [1916, 0, "n"], - [1917, 0, "o"], - [1918, 0, "t"], - [1919, 0, " "], - [1920, 0, "o"], - [1921, 0, "r"], - [1922, 0, "d"], - [1923, 0, "e"], - [1924, 0, "r"], - [1925, 0, "e"], - [1926, 0, "d"], - [1927, 0, ","], - [1928, 0, " "], - [1929, 0, "a"], - [1930, 0, "n"], - [1931, 0, "d"], - [1932, 0, " "], - [1933, 0, "w"], - [1934, 0, "h"], - [1935, 0, "e"], - [1936, 0, "r"], - [1937, 0, "e"], - [1938, 0, " "], - [1939, 0, "e"], - [1940, 0, "a"], - [1941, 0, "c"], - [1942, 0, "h"], - [1943, 0, " "], - [1944, 0, "c"], - [1945, 0, "h"], - [1946, 0, "i"], - [1947, 0, "l"], - [1948, 0, "d"], - [1949, 0, "r"], - [1950, 0, "e"], - [1951, 0, "n"], - [1952, 0, " "], - [1953, 0, "i"], - [1954, 0, "s"], - [1955, 0, " "], - [1955, 1], - [1954, 1], - [1953, 1], - [1952, 1], - [1951, 1], - [1950, 1], - [1949, 1], - [1949, 0, " "], - [1950, 0, "i"], - [1951, 0, "s"], - [1952, 0, " "], - [1953, 0, "l"], - [1954, 0, "a"], - [1955, 0, "b"], - [1956, 0, "e"], - [1957, 0, "l"], - [1958, 0, "l"], - [1959, 0, "e"], - [1960, 0, "d"], - [1961, 0, " "], - [1962, 0, "w"], - [1963, 0, "i"], - [1964, 0, "t"], - [1965, 0, "h"], - [1966, 0, " "], - [1967, 0, "a"], - [1968, 0, " "], - [1969, 0, "s"], - [1970, 0, "t"], - [1971, 0, "r"], - [1972, 0, "i"], - [1973, 0, "n"], - [1974, 0, "g"], - [1975, 0, " "], - [1976, 0, "\\"], - [1977, 0, "e"], - [1978, 0, "m"], - [1979, 0, "p"], - [1980, 0, "h"], - [1981, 0, "{"], - [1982, 0, "k"], - [1983, 0, "e"], - [1984, 0, "y"], - [1985, 0, "}"], - [1986, 0, "."], - [1987, 0, " "], - [1988, 0, "A"], - [1989, 0, " "], - [1990, 0, "k"], - [1991, 0, "e"], - [1992, 0, "y"], - [1993, 0, " "], - [1994, 0, "u"], - [1995, 0, "n"], - [1996, 0, "i"], - [1997, 0, "q"], - [1998, 0, "u"], - [1999, 0, "e"], - [2000, 0, "l"], - [2001, 0, "y"], - [2002, 0, " "], - [2003, 0, "i"], - [2004, 0, "d"], - [2005, 0, "e"], - [2006, 0, "n"], - [2007, 0, "t"], - [2008, 0, "i"], - [2009, 0, "f"], - [2010, 0, "i"], - [2011, 0, "e"], - [2012, 0, "s"], - [2013, 0, " "], - [2014, 0, "o"], - [2015, 0, "n"], - [2016, 0, "e"], - [2017, 0, " "], - [2018, 0, "o"], - [2019, 0, "f"], - [2020, 0, " "], - [2021, 0, "t"], - [2022, 0, "h"], - [2023, 0, "e"], - [2024, 0, " "], - [2025, 0, "c"], - [2026, 0, "h"], - [2027, 0, "i"], - [2028, 0, "l"], - [2029, 0, "d"], - [2030, 0, "r"], - [2031, 0, "e"], - [2032, 0, "n"], - [2033, 0, "."], - [2034, 0, "\n"], - [2035, 0, "\\"], - [2036, 0, "i"], - [2037, 0, "t"], - [2038, 0, "e"], - [2039, 0, "m"], - [2040, 0, "["], - [2041, 0, "L"], - [2042, 0, "i"], - [2043, 0, "s"], - [2044, 0, "t"], - [2045, 0, ":"], - [2046, 0, "}"], - [2046, 1], - [2046, 0, "]"], - [2047, 0, " "], - [2048, 0, "A"], - [2049, 0, " "], - [2050, 0, "b"], - [2051, 0, "r"], - [2052, 0, "a"], - [2053, 0, "n"], - [2054, 0, "c"], - [2055, 0, "h"], - [2056, 0, " "], - [2057, 0, "n"], - [2058, 0, "o"], - [2059, 0, "d"], - [2060, 0, "e"], - [2061, 0, " "], - [2062, 0, "w"], - [2063, 0, "h"], - [2064, 0, "o"], - [2065, 0, "s"], - [2066, 0, "e"], - [2067, 0, " "], - [2068, 0, "c"], - [2069, 0, "h"], - [2070, 0, "i"], - [2071, 0, "l"], - [2072, 0, "d"], - [2073, 0, "r"], - [2074, 0, "e"], - [2075, 0, "n"], - [2076, 0, " "], - [2077, 0, "h"], - [2078, 0, "a"], - [2079, 0, "v"], - [2080, 0, "e"], - [2081, 0, " "], - [2082, 0, "a"], - [2083, 0, "n"], - [2084, 0, " "], - [2085, 0, "o"], - [2086, 0, "r"], - [2087, 0, "d"], - [2088, 0, "e"], - [2089, 0, "r"], - [2090, 0, " "], - [2091, 0, "d"], - [2092, 0, "e"], - [2093, 0, "f"], - [2094, 0, "i"], - [2095, 0, "n"], - [2096, 0, "e"], - [2097, 0, "d"], - [2098, 0, " "], - [2099, 0, "b"], - [2100, 0, "y"], - [2101, 0, " "], - [2102, 0, "t"], - [2103, 0, "h"], - [2104, 0, "e"], - [2105, 0, " "], - [2106, 0, "a"], - [2107, 0, "p"], - [2108, 0, "p"], - [2109, 0, "l"], - [2110, 0, "i"], - [2111, 0, "c"], - [2112, 0, "a"], - [2113, 0, "t"], - [2114, 0, "i"], - [2115, 0, "o"], - [2116, 0, "n"], - [2117, 0, "."], - [2118, 0, "\n"], - [2119, 0, "\\"], - [2120, 0, "i"], - [2121, 0, "t"], - [2122, 0, "e"], - [2123, 0, "m"], - [2124, 0, "["], - [2125, 0, "R"], - [2126, 0, "e"], - [2127, 0, "g"], - [2128, 0, "i"], - [2129, 0, "s"], - [2130, 0, "t"], - [2131, 0, "e"], - [2132, 0, "r"], - [2133, 0, ":"], - [2134, 0, "]"], - [2135, 0, " "], - [2136, 0, "A"], - [2137, 0, " "], - [2138, 0, "l"], - [2139, 0, "e"], - [2140, 0, "a"], - [2141, 0, "f"], - [2142, 0, " "], - [2143, 0, "n"], - [2144, 0, "o"], - [2145, 0, "d"], - [2146, 0, "e"], - [2147, 0, " "], - [2034, 0, " "], - [2035, 0, "A"], - [2036, 0, " "], - [2037, 0, "J"], - [2038, 0, "S"], - [2039, 0, "O"], - [2040, 0, "N"], - [2041, 0, " "], - [2042, 0, "m"], - [2043, 0, "a"], - [2044, 0, "p"], - [2045, 0, " "], - [2046, 0, "i"], - [2047, 0, "s"], - [2048, 0, " "], - [2049, 0, "a"], - [2050, 0, "l"], - [2051, 0, "s"], - [2052, 0, "o"], - [2053, 0, " "], - [2054, 0, "k"], - [2055, 0, "n"], - [2056, 0, "o"], - [2057, 0, "w"], - [2058, 0, "n"], - [2059, 0, " "], - [2060, 0, "a"], - [2061, 0, "s"], - [2062, 0, " "], - [2063, 0, "a"], - [2064, 0, "n"], - [2065, 0, " "], - [2066, 0, "\\"], - [2067, 0, "e"], - [2068, 0, "m"], - [2069, 0, "p"], - [2070, 0, "h"], - [2071, 0, "{"], - [2072, 0, "o"], - [2073, 0, "b"], - [2074, 0, "j"], - [2075, 0, "e"], - [2076, 0, "c"], - [2077, 0, "t"], - [2078, 0, "}"], - [2079, 0, "."], - [2164, 0, " "], - [2165, 0, "A"], - [2166, 0, " "], - [2167, 0, "J"], - [2168, 0, "S"], - [2169, 0, "O"], - [2170, 0, "N"], - [2171, 0, " "], - [2172, 0, "l"], - [2173, 0, "i"], - [2174, 0, "s"], - [2175, 0, "t"], - [2176, 0, " "], - [2177, 0, "i"], - [2178, 0, "s"], - [2179, 0, " "], - [2180, 0, "a"], - [2181, 0, "l"], - [2182, 0, "s"], - [2183, 0, "o"], - [2184, 0, " "], - [2185, 0, "k"], - [2186, 0, "n"], - [2187, 0, "o"], - [2188, 0, "w"], - [2189, 0, "n"], - [2190, 0, " "], - [2191, 0, "a"], - [2192, 0, "s"], - [2193, 0, " "], - [2194, 0, "a"], - [2195, 0, "n"], - [2196, 0, " "], - [2197, 0, "\\"], - [2198, 0, "e"], - [2199, 0, "m"], - [2200, 0, "p"], - [2201, 0, "h"], - [2202, 0, "{"], - [2203, 0, "a"], - [2204, 0, "r"], - [2205, 0, "r"], - [2206, 0, "a"], - [2207, 0, "y"], - [2208, 0, "}"], - [2209, 0, "."], - [2033, 0, ","], - [2034, 0, " "], - [2035, 0, "a"], - [2036, 0, "n"], - [2037, 0, "d"], - [2038, 0, " "], - [2039, 0, "k"], - [2040, 0, "e"], - [2041, 0, "y"], - [2042, 0, "s"], - [2043, 0, " "], - [2044, 0, "a"], - [2045, 0, "r"], - [2046, 0, "e"], - [2047, 0, " "], - [2048, 0, "i"], - [2049, 0, "m"], - [2050, 0, "m"], - [2051, 0, "u"], - [2052, 0, "t"], - [2053, 0, "a"], - [2054, 0, "b"], - [2055, 0, "l"], - [2056, 0, "e"], - [2057, 0, " "], - [2058, 0, "("], - [2058, 1], - [2057, 1], - [2039, 1], - [2038, 1], - [2037, 1], - [2036, 1], - [2035, 1], - [2034, 1], - [2033, 1], - [2033, 0, "."], - [2034, 0, " "], - [2035, 0, "K"], - [2053, 0, ","], - [2054, 0, " "], - [2055, 0, "b"], - [2056, 0, "u"], - [2057, 0, "t"], - [2058, 0, " "], - [2059, 0, "v"], - [2060, 0, "a"], - [2061, 0, "l"], - [2062, 0, "u"], - [2063, 0, "e"], - [2064, 0, "s"], - [2065, 0, " "], - [2066, 0, "a"], - [2067, 0, "r"], - [2068, 0, "e"], - [2069, 0, " "], - [2070, 0, "m"], - [2071, 0, "u"], - [2072, 0, "t"], - [2073, 0, "a"], - [2074, 0, "b"], - [2075, 0, "l"], - [2076, 0, "e"], - [2077, 0, ","], - [2078, 0, " "], - [2079, 0, "a"], - [2080, 0, "n"], - [2081, 0, "d"], - [2082, 0, " "], - [2083, 0, "k"], - [2084, 0, "e"], - [2085, 0, "y"], - [2086, 0, "-"], - [2087, 0, "v"], - [2088, 0, "a"], - [2089, 0, "l"], - [2090, 0, "u"], - [2091, 0, "e"], - [2092, 0, " "], - [2093, 0, "m"], - [2094, 0, "a"], - [2095, 0, "p"], - [2096, 0, "p"], - [2097, 0, "i"], - [2098, 0, "n"], - [2099, 0, "g"], - [2100, 0, "s"], - [2101, 0, " "], - [2102, 0, "c"], - [2103, 0, "a"], - [2104, 0, "n"], - [2105, 0, " "], - [2106, 0, "b"], - [2107, 0, "e"], - [2108, 0, " "], - [2109, 0, "a"], - [2110, 0, "d"], - [2111, 0, "d"], - [2112, 0, "e"], - [2113, 0, "d"], - [2114, 0, " "], - [2115, 0, "a"], - [2116, 0, "n"], - [2117, 0, "d"], - [2118, 0, " "], - [2119, 0, "r"], - [2120, 0, "e"], - [2121, 0, "m"], - [2122, 0, "o"], - [2123, 0, "v"], - [2124, 0, "e"], - [2125, 0, "d"], - [2126, 0, " "], - [2127, 0, "f"], - [2128, 0, "r"], - [2129, 0, "o"], - [2130, 0, "m"], - [2131, 0, " "], - [2132, 0, "t"], - [2133, 0, "h"], - [2134, 0, "e"], - [2135, 0, " "], - [2136, 0, "m"], - [2137, 0, "a"], - [2138, 0, "p"], - [2270, 0, " "], - [2271, 0, "T"], - [2272, 0, "h"], - [2273, 0, "e"], - [2274, 0, " "], - [2275, 0, "l"], - [2276, 0, "i"], - [2277, 0, "s"], - [2278, 0, "t"], - [2279, 0, " "], - [2280, 0, "c"], - [2281, 0, "a"], - [2282, 0, "n"], - [2283, 0, " "], - [2284, 0, "b"], - [2285, 0, "e"], - [2286, 0, " "], - [2287, 0, "m"], - [2288, 0, "u"], - [2289, 0, "t"], - [2290, 0, "a"], - [2291, 0, "t"], - [2292, 0, "e"], - [2293, 0, "d"], - [2294, 0, " "], - [2295, 0, "b"], - [2296, 0, "y"], - [2297, 0, " "], - [2298, 0, "i"], - [2299, 0, "n"], - [2300, 0, "s"], - [2301, 0, "e"], - [2302, 0, "r"], - [2303, 0, "t"], - [2304, 0, "i"], - [2305, 0, "n"], - [2306, 0, "g"], - [2307, 0, " "], - [2308, 0, "o"], - [2309, 0, "r"], - [2310, 0, " "], - [2311, 0, "d"], - [2312, 0, "e"], - [2313, 0, "l"], - [2314, 0, "e"], - [2315, 0, "t"], - [2316, 0, "i"], - [2317, 0, "n"], - [2318, 0, "g"], - [2319, 0, " "], - [2320, 0, "l"], - [2321, 0, "i"], - [2322, 0, "s"], - [2323, 0, "t"], - [2324, 0, " "], - [2325, 0, "e"], - [2326, 0, "l"], - [2327, 0, "e"], - [2328, 0, "m"], - [2329, 0, "e"], - [2330, 0, "n"], - [2331, 0, "t"], - [2332, 0, "s"], - [2333, 0, "."], - [2410, 0, "c"], - [2411, 0, "o"], - [2412, 0, "n"], - [2413, 0, "t"], - [2414, 0, "a"], - [2415, 0, "i"], - [2416, 0, "n"], - [2417, 0, "i"], - [2418, 0, "n"], - [2419, 0, "g"], - [2420, 0, " "], - [2421, 0, "a"], - [2422, 0, " "], - [2423, 0, "p"], - [2424, 0, "r"], - [2425, 0, "i"], - [2426, 0, "m"], - [2427, 0, "i"], - [2428, 0, "t"], - [2429, 0, "i"], - [2430, 0, "v"], - [2431, 0, "e"], - [2432, 0, " "], - [2433, 0, "v"], - [2434, 0, "a"], - [2435, 0, "l"], - [2436, 0, "u"], - [2437, 0, "e"], - [2438, 0, " "], - [2439, 0, "("], - [2440, 0, "s"], - [2441, 0, "t"], - [2442, 0, "r"], - [2443, 0, "i"], - [2444, 0, "n"], - [2445, 0, "g"], - [2446, 0, ","], - [2447, 0, " "], - [2448, 0, "n"], - [2449, 0, "u"], - [2450, 0, "m"], - [2451, 0, "b"], - [2452, 0, "e"], - [2453, 0, "r"], - [2454, 0, " "], - [2454, 1], - [2454, 0, ","], - [2455, 0, " "], - [2456, 0, "b"], - [2457, 0, "o"], - [2458, 0, "o"], - [2459, 0, "l"], - [2460, 0, "e"], - [2461, 0, "a"], - [2462, 0, "n"], - [2463, 0, " "], - [2464, 0, "o"], - [2465, 0, "r"], - [2466, 0, " "], - [2467, 0, "n"], - [2468, 0, "u"], - [2469, 0, "l"], - [2470, 0, "l"], - [2471, 0, ")"], - [2472, 0, "."], - [2473, 0, " "], - [2474, 0, "A"], - [2475, 0, "l"], - [2476, 0, "t"], - [2477, 0, "h"], - [2478, 0, "o"], - [2479, 0, "u"], - [2480, 0, "g"], - [2481, 0, "h"], - [2482, 0, " "], - [2483, 0, "p"], - [2484, 0, "r"], - [2485, 0, "i"], - [2486, 0, "m"], - [2487, 0, "i"], - [2488, 0, "t"], - [2489, 0, "i"], - [2490, 0, "v"], - [2491, 0, "e"], - [2492, 0, "s"], - [2493, 0, " "], - [2494, 0, "a"], - [2495, 0, "r"], - [2496, 0, "e"], - [2497, 0, " "], - [2498, 0, "t"], - [2499, 0, "h"], - [2500, 0, "e"], - [2501, 0, "m"], - [2502, 0, "s"], - [2503, 0, "e"], - [2504, 0, "l"], - [2505, 0, "v"], - [2506, 0, "e"], - [2507, 0, "s"], - [2508, 0, " "], - [2509, 0, "i"], - [2510, 0, "m"], - [2511, 0, "m"], - [2512, 0, "u"], - [2513, 0, "t"], - [2514, 0, "a"], - [2515, 0, "b"], - [2516, 0, "l"], - [2517, 0, "e"], - [2518, 0, ","], - [2519, 0, " "], - [2520, 0, "t"], - [2521, 0, "h"], - [2522, 0, "e"], - [2523, 0, " "], - [2524, 0, "v"], - [2525, 0, "a"], - [2526, 0, "l"], - [2527, 0, "u"], - [2528, 0, "e"], - [2529, 0, " "], - [2530, 0, "o"], - [2531, 0, "f"], - [2532, 0, " "], - [2533, 0, "a"], - [2534, 0, " "], - [2535, 0, "r"], - [2536, 0, "e"], - [2537, 0, "g"], - [2538, 0, "i"], - [2539, 0, "s"], - [2540, 0, "t"], - [2541, 0, "e"], - [2542, 0, "r"], - [2543, 0, " "], - [2544, 0, "c"], - [2545, 0, "a"], - [2546, 0, "n"], - [2547, 0, " "], - [2548, 0, "b"], - [2549, 0, "e"], - [2550, 0, " "], - [2551, 0, "m"], - [2552, 0, "u"], - [2553, 0, "t"], - [2554, 0, "a"], - [2555, 0, "t"], - [2556, 0, "e"], - [2557, 0, "d"], - [2558, 0, " "], - [2559, 0, "b"], - [2560, 0, "y"], - [2561, 0, " "], - [2562, 0, "s"], - [2563, 0, "e"], - [2564, 0, "t"], - [2565, 0, "t"], - [2566, 0, "i"], - [2567, 0, "n"], - [2568, 0, "g"], - [2569, 0, " "], - [2532, 1], - [2531, 1], - [2530, 1], - [2529, 1], - [2528, 1], - [2527, 1], - [2526, 1], - [2525, 1], - [2524, 1], - [2523, 1], - [2522, 1], - [2521, 1], - [2520, 1], - [2557, 0, "i"], - [2558, 0, "t"], - [2559, 0, " "], - [2560, 0, "t"], - [2561, 0, "o"], - [2562, 0, " "], - [2562, 1], - [2561, 1], - [2560, 1], - [2559, 1], - [2558, 1], - [2557, 1], - [2556, 1], - [2555, 1], - [2554, 1], - [2553, 1], - [2552, 1], - [2551, 1], - [2550, 1], - [2549, 1], - [2549, 0, "a"], - [2550, 0, "s"], - [2551, 0, "s"], - [2552, 0, "i"], - [2553, 0, "g"], - [2554, 0, "n"], - [2555, 0, "i"], - [2556, 0, "n"], - [2557, 0, "g"], - [2558, 0, " "], - [2559, 0, "a"], - [2560, 0, " "], - [2561, 0, "n"], - [2562, 0, "e"], - [2563, 0, "w"], - [2564, 0, " "], - [2565, 0, "v"], - [2566, 0, "a"], - [2567, 0, "l"], - [2568, 0, "u"], - [2569, 0, "e"], - [2570, 0, " "], - [2571, 0, "t"], - [2572, 0, "o"], - [2573, 0, " "], - [2574, 0, "i"], - [2575, 0, "t"], - [2576, 0, "."], - [2577, 0, "\n"], - [2578, 0, "\\"], - [2579, 0, "i"], - [2580, 0, "t"], - [2581, 0, "e"], - [2582, 0, "m"], - [2583, 0, "["], - [2584, 0, "C"], - [2585, 0, "o"], - [2586, 0, "u"], - [2587, 0, "n"], - [2588, 0, "t"], - [2589, 0, "e"], - [2590, 0, "r"], - [2591, 0, ":"], - [2592, 0, "]"], - [2593, 0, " "], - [2594, 0, "A"], - [2595, 0, " "], - [2596, 0, "l"], - [2597, 0, "e"], - [2598, 0, "a"], - [2599, 0, "f"], - [2600, 0, " "], - [2601, 0, "n"], - [2602, 0, "o"], - [2603, 0, "d"], - [2604, 0, "e"], - [2605, 0, " "], - [2606, 0, "c"], - [2607, 0, "o"], - [2608, 0, "n"], - [2609, 0, "t"], - [2610, 0, "a"], - [2611, 0, "i"], - [2612, 0, "n"], - [2613, 0, "i"], - [2614, 0, "n"], - [2615, 0, "g"], - [2616, 0, " "], - [2617, 0, "a"], - [2618, 0, "n"], - [2619, 0, " "], - [2619, 1], - [2618, 1], - [2618, 0, " "], - [2619, 0, "n"], - [2620, 0, "u"], - [2621, 0, "m"], - [2622, 0, "b"], - [2623, 0, "e"], - [2624, 0, "r"], - [2625, 0, "."], - [2626, 0, " "], - [2627, 0, "S"], - [2627, 1], - [2627, 0, "I"], - [2628, 0, "t"], - [2629, 0, " "], - [2630, 0, "i"], - [2631, 0, "s"], - [2632, 0, " "], - [2633, 0, "s"], - [2634, 0, "i"], - [2635, 0, "m"], - [2636, 0, "i"], - [2637, 0, "l"], - [2638, 0, "a"], - [2639, 0, "r"], - [2640, 0, " "], - [2641, 0, "t"], - [2642, 0, "o"], - [2643, 0, " "], - [2644, 0, "a"], - [2645, 0, " "], - [2646, 0, "r"], - [2647, 0, "e"], - [2648, 0, "g"], - [2649, 0, "i"], - [2650, 0, "s"], - [2651, 0, "t"], - [2652, 0, "e"], - [2653, 0, "r"], - [2654, 0, ","], - [2655, 0, " "], - [2656, 0, "b"], - [2657, 0, "u"], - [2658, 0, "t"], - [2659, 0, " "], - [2660, 0, "h"], - [2661, 0, "a"], - [2662, 0, "s"], - [2663, 0, " "], - [2664, 0, "d"], - [2665, 0, "i"], - [2666, 0, "f"], - [2667, 0, "f"], - [2668, 0, "e"], - [2669, 0, "r"], - [2670, 0, "e"], - [2671, 0, "n"], - [2672, 0, "t"], - [2673, 0, " "], - [2674, 0, "s"], - [2675, 0, "e"], - [2676, 0, "m"], - [2677, 0, "a"], - [2678, 0, "n"], - [2679, 0, "t"], - [2680, 0, "i"], - [2681, 0, "c"], - [2682, 0, "s"], - [2683, 0, " "], - [2684, 0, "u"], - [2685, 0, "n"], - [2686, 0, "d"], - [2687, 0, "e"], - [2688, 0, "r"], - [2689, 0, " "], - [2690, 0, "c"], - [2691, 0, "o"], - [2692, 0, "n"], - [2693, 0, "c"], - [2694, 0, "u"], - [2695, 0, "r"], - [2696, 0, "r"], - [2697, 0, "e"], - [2698, 0, "n"], - [2699, 0, "t"], - [2700, 0, " "], - [2701, 0, "m"], - [2702, 0, "o"], - [2703, 0, "d"], - [2704, 0, "i"], - [2705, 0, "f"], - [2706, 0, "i"], - [2707, 0, "c"], - [2708, 0, "a"], - [2709, 0, "t"], - [2710, 0, "i"], - [2711, 0, "o"], - [2712, 0, "n"], - [2713, 0, ","], - [2714, 0, " "], - [2715, 0, "a"], - [2716, 0, "s"], - [2717, 0, " "], - [2718, 0, "d"], - [2719, 0, "e"], - [2720, 0, "s"], - [2721, 0, "c"], - [2722, 0, "r"], - [2723, 0, "i"], - [2724, 0, "b"], - [2725, 0, "e"], - [2726, 0, "d"], - [2727, 0, " "], - [2728, 0, "b"], - [2729, 0, "e"], - [2730, 0, "l"], - [2731, 0, "o"], - [2732, 0, "w"], - [2733, 0, "."], - [2752, 0, "\n"], - [2753, 0, "\n"], - [2754, 0, "T"], - [2755, 0, "h"], - [2756, 0, "u"], - [2757, 0, "s"], - [2758, 0, ","], - [2759, 0, " "], - [2760, 0, "i"], - [2761, 0, "n"], - [2762, 0, " "], - [2763, 0, "t"], - [2764, 0, "h"], - [2765, 0, "e"], - [2766, 0, " "], - [2767, 0, "t"], - [2768, 0, "r"], - [2769, 0, "e"], - [2770, 0, "e"], - [2771, 0, " "], - [2772, 0, "o"], - [2773, 0, "f"], - [2774, 0, " "], - [2775, 0, "a"], - [2776, 0, " "], - [2777, 0, "J"], - [2778, 0, "S"], - [2779, 0, "O"], - [2780, 0, "N"], - [2781, 0, " "], - [2782, 0, "d"], - [2783, 0, "o"], - [2784, 0, "c"], - [2785, 0, "u"], - [2786, 0, "m"], - [2787, 0, "e"], - [2788, 0, "n"], - [2789, 0, "t"], - [2790, 0, ","], - [2791, 0, " "], - [2792, 0, "a"], - [2793, 0, "l"], - [2794, 0, "l"], - [2795, 0, " "], - [2796, 0, "t"], - [2797, 0, "h"], - [2798, 0, "e"], - [2799, 0, " "], - [2800, 0, "i"], - [2801, 0, "n"], - [2802, 0, "t"], - [2803, 0, "e"], - [2804, 0, "r"], - [2805, 0, "i"], - [2806, 0, "o"], - [2807, 0, "r"], - [2808, 0, " "], - [2809, 0, "b"], - [2810, 0, "r"], - [2811, 0, "a"], - [2812, 0, "n"], - [2813, 0, "c"], - [2814, 0, "h"], - [2815, 0, " "], - [2816, 0, "n"], - [2817, 0, "o"], - [2818, 0, "d"], - [2819, 0, "e"], - [2820, 0, "s"], - [2821, 0, " "], - [2822, 0, "a"], - [2823, 0, "r"], - [2824, 0, "e"], - [2825, 0, " "], - [2826, 0, "e"], - [2827, 0, "i"], - [2828, 0, "t"], - [2829, 0, "h"], - [2830, 0, "e"], - [2831, 0, "r"], - [2832, 0, " "], - [2833, 0, "m"], - [2834, 0, "a"], - [2835, 0, "p"], - [2836, 0, "s"], - [2837, 0, " "], - [2838, 0, "o"], - [2839, 0, "r"], - [2840, 0, " "], - [2841, 0, "l"], - [2842, 0, "i"], - [2843, 0, "s"], - [2844, 0, "t"], - [2845, 0, "s"], - [2846, 0, ","], - [2847, 0, " "], - [2848, 0, "a"], - [2849, 0, "n"], - [2850, 0, "d"], - [2851, 0, " "], - [2852, 0, "a"], - [2853, 0, "l"], - [2854, 0, "l"], - [2855, 0, " "], - [2856, 0, "t"], - [2857, 0, "h"], - [2858, 0, "e"], - [2859, 0, " "], - [2860, 0, "l"], - [2861, 0, "e"], - [2862, 0, "a"], - [2863, 0, "f"], - [2864, 0, " "], - [2865, 0, "n"], - [2866, 0, "o"], - [2867, 0, "d"], - [2868, 0, "e"], - [2869, 0, "s"], - [2870, 0, " "], - [2871, 0, "a"], - [2872, 0, "r"], - [2873, 0, "e"], - [2874, 0, " "], - [2875, 0, "e"], - [2876, 0, "i"], - [2877, 0, "t"], - [2878, 0, "h"], - [2879, 0, "e"], - [2880, 0, "r"], - [2881, 0, " "], - [2882, 0, "r"], - [2883, 0, "e"], - [2884, 0, "g"], - [2885, 0, "i"], - [2886, 0, "s"], - [2887, 0, "t"], - [2888, 0, "e"], - [2889, 0, "r"], - [2890, 0, "s"], - [2891, 0, " "], - [2892, 0, "o"], - [2893, 0, "r"], - [2894, 0, " "], - [2895, 0, "c"], - [2896, 0, "o"], - [2897, 0, "u"], - [2898, 0, "n"], - [2899, 0, "t"], - [2900, 0, "e"], - [2901, 0, "r"], - [2902, 0, "s"], - [2903, 0, "."], - [2904, 0, " "], - [2905, 0, "M"], - [2906, 0, "a"], - [2907, 0, "p"], - [2908, 0, "s"], - [2909, 0, " "], - [2910, 0, "a"], - [2911, 0, "n"], - [2912, 0, "d"], - [2913, 0, " "], - [2914, 0, "l"], - [2915, 0, "i"], - [2916, 0, "s"], - [2917, 0, "t"], - [2918, 0, "s"], - [2919, 0, " "], - [2920, 0, "m"], - [2921, 0, "a"], - [2922, 0, "y"], - [2923, 0, " "], - [2924, 0, "b"], - [2925, 0, "e"], - [2926, 0, " "], - [2927, 0, "n"], - [2928, 0, "e"], - [2929, 0, "s"], - [2930, 0, "t"], - [2931, 0, "e"], - [2932, 0, "d"], - [2933, 0, " "], - [2934, 0, "w"], - [2935, 0, "i"], - [2936, 0, "t"], - [2937, 0, "h"], - [2938, 0, "i"], - [2939, 0, "n"], - [2940, 0, " "], - [2941, 0, "e"], - [2942, 0, "a"], - [2943, 0, "c"], - [2944, 0, "h"], - [2945, 0, " "], - [2946, 0, "o"], - [2947, 0, "t"], - [2948, 0, "h"], - [2949, 0, "e"], - [2950, 0, "r"], - [2951, 0, " "], - [2952, 0, "a"], - [2953, 0, "r"], - [2954, 0, "b"], - [2955, 0, "i"], - [2956, 0, "t"], - [2957, 0, "r"], - [2958, 0, "a"], - [2959, 0, "r"], - [2960, 0, "i"], - [2961, 0, "l"], - [2962, 0, "y"], - [2963, 0, "."], - [2964, 0, " "], - [2965, 0, "W"], - [2965, 1], - [2965, 0, "F"], - [2966, 0, "o"], - [2967, 0, "r"], - [2968, 0, " "], - [2969, 0, "s"], - [2970, 0, "i"], - [2971, 0, "m"], - [2972, 0, "p"], - [2973, 0, "l"], - [2974, 0, "i"], - [2975, 0, "c"], - [2976, 0, "i"], - [2977, 0, "t"], - [2978, 0, "y"], - [2979, 0, " "], - [2980, 0, "w"], - [2981, 0, "e"], - [2982, 0, " "], - [2983, 0, "d"], - [2984, 0, "o"], - [2985, 0, " "], - [2986, 0, "n"], - [2987, 0, "o"], - [2988, 0, "t"], - [2989, 0, " "], - [2990, 0, "d"], - [2991, 0, "e"], - [2992, 0, "f"], - [2993, 0, "i"], - [2994, 0, "n"], - [2995, 0, "e"], - [2996, 0, " "], - [2997, 0, "a"], - [2998, 0, " "], - [2999, 0, "s"], - [3000, 0, "c"], - [3001, 0, "h"], - [3002, 0, "e"], - [3003, 0, "m"], - [3004, 0, "a"], - [3005, 0, " "], - [3006, 0, "l"], - [3007, 0, "a"], - [3008, 0, "n"], - [3009, 0, "g"], - [3010, 0, "u"], - [3011, 0, "a"], - [3012, 0, "g"], - [3013, 0, "e"], - [3014, 0, " "], - [3015, 0, "o"], - [3016, 0, "r"], - [3017, 0, " "], - [3018, 0, "s"], - [3019, 0, "t"], - [3020, 0, "a"], - [3021, 0, "t"], - [3022, 0, "i"], - [3023, 0, "c"], - [3024, 0, " "], - [3025, 0, "t"], - [3026, 0, "y"], - [3027, 0, "p"], - [3028, 0, "e"], - [3029, 0, "-"], - [3030, 0, "c"], - [3031, 0, "h"], - [3032, 0, "e"], - [3033, 0, "c"], - [3034, 0, "k"], - [3035, 0, "i"], - [3036, 0, "n"], - [3037, 0, "g"], - [3038, 0, " "], - [3039, 0, "r"], - [3040, 0, "u"], - [3041, 0, "l"], - [3042, 0, "e"], - [3043, 0, "s"], - [3044, 0, ","], - [3045, 0, " "], - [3046, 0, "b"], - [3047, 0, "u"], - [3048, 0, "t"], - [3049, 0, " "], - [3050, 0, "s"], - [3051, 0, "u"], - [3052, 0, "c"], - [3053, 0, "h"], - [3054, 0, " "], - [3055, 0, "r"], - [3056, 0, "e"], - [3057, 0, "s"], - [3058, 0, "t"], - [3059, 0, "r"], - [3060, 0, "i"], - [3061, 0, "c"], - [3062, 0, "t"], - [3063, 0, "i"], - [3064, 0, "o"], - [3065, 0, "n"], - [3066, 0, "s"], - [3067, 0, " "], - [3068, 0, "c"], - [3069, 0, "o"], - [3070, 0, "u"], - [3071, 0, "l"], - [3072, 0, "d"], - [3073, 0, " "], - [3074, 0, "b"], - [3075, 0, "e"], - [3076, 0, " "], - [3077, 0, "a"], - [3078, 0, "d"], - [3079, 0, "d"], - [3080, 0, "e"], - [3081, 0, "d"], - [3082, 0, " "], - [3083, 0, "e"], - [3084, 0, "a"], - [3085, 0, "s"], - [3086, 0, "i"], - [3087, 0, "l"], - [3088, 0, "y"], - [3089, 0, "."], - [5425, 1], - [5424, 1], - [5423, 1], - [5422, 1], - [5421, 1], - [5420, 1], - [5419, 1], - [5418, 1], - [5417, 1], - [5416, 1], - [5415, 1], - [5414, 1], - [5413, 1], - [5412, 1], - [5411, 1], - [5410, 1], - [5449, 1], - [5449, 0, "n"], - [5563, 0, "o"], - [5564, 0, "f"], - [5565, 0, " "], - [5566, 0, "t"], - [5567, 0, "h"], - [5568, 0, "e"], - [5569, 0, " "], - [5570, 0, "r"], - [5571, 0, "e"], - [5572, 0, "g"], - [5573, 0, "i"], - [5574, 0, "s"], - [5575, 0, "t"], - [5576, 0, "e"], - [5577, 0, "r"], - [5578, 0, " "], - [5579, 0, "o"], - [5580, 0, "r"], - [5581, 0, " "], - [5582, 0, "c"], - [5583, 0, "o"], - [5584, 0, "u"], - [5585, 0, "n"], - [5586, 0, "t"], - [5587, 0, "e"], - [5588, 0, "r"], - [5589, 0, " "], - [5634, 0, " "], - [5635, 0, "("], - [5636, 0, "\\"], - [5637, 0, "m"], - [5638, 0, "a"], - [5639, 0, "t"], - [5640, 0, "h"], - [5641, 0, "s"], - [5642, 0, "f"], - [5643, 0, "{"], - [5644, 0, "v"], - [5645, 0, "a"], - [5646, 0, "l"], - [5647, 0, "u"], - [5648, 0, "e"], - [5649, 0, "s"], - [5650, 0, "}"], - [5651, 0, " "], - [5652, 0, "i"], - [5653, 0, "s"], - [5654, 0, " "], - [5655, 0, "n"], - [5656, 0, "o"], - [5657, 0, "t"], - [5658, 0, " "], - [5659, 0, "d"], - [5660, 0, "e"], - [5661, 0, "f"], - [5662, 0, "i"], - [5663, 0, "n"], - [5664, 0, "e"], - [5665, 0, "d"], - [5666, 0, " "], - [5667, 0, "f"], - [5668, 0, "o"], - [5669, 0, "r"], - [5670, 0, " "], - [5671, 0, "m"], - [5672, 0, "a"], - [5673, 0, "p"], - [5674, 0, " "], - [5675, 0, "o"], - [5676, 0, "r"], - [5677, 0, " "], - [5678, 0, "l"], - [5679, 0, "i"], - [5680, 0, "s"], - [5681, 0, "t"], - [5682, 0, " "], - [5683, 0, "n"], - [5684, 0, "o"], - [5685, 0, "d"], - [5686, 0, "e"], - [5687, 0, "s"], - [5688, 0, "."], - [5689, 0, ")"], - [5637, 1], - [5637, 1], - [5637, 1], - [5637, 1], - [5637, 0, "t"], - [5638, 0, "e"], - [5639, 0, "x"], - [5640, 0, "t"], - [3067, 0, " "], - [3068, 0, "o"], - [3069, 0, "f"], - [3070, 0, " "], - [3071, 0, "t"], - [3072, 0, "h"], - [3073, 0, "e"], - [3074, 0, " "], - [3075, 0, "d"], - [3076, 0, "o"], - [3077, 0, "c"], - [3078, 0, "u"], - [3079, 0, "m"], - [3080, 0, "e"], - [3081, 0, "n"], - [3082, 0, "t"], - [3083, 0, " "], - [3084, 0, "s"], - [3085, 0, "t"], - [3086, 0, "r"], - [3087, 0, "u"], - [3088, 0, "c"], - [3089, 0, "t"], - [3090, 0, "u"], - [3091, 0, "r"], - [3092, 0, "e"], - [5927, 1], - [5926, 1], - [5925, 1], - [5924, 1], - [5923, 1], - [5922, 1], - [5921, 1], - [5920, 1], - [5919, 1], - [5918, 1], - [5918, 0, "a"], - [5919, 0, " "], - [5920, 0, "r"], - [5921, 0, "e"], - [5922, 0, "g"], - [5923, 0, "i"], - [5924, 0, "s"], - [5925, 0, "t"], - [5926, 0, "e"], - [5927, 0, "r"], - [6631, 0, " "], - [6632, 0, "I"], - [6633, 0, "f"], - [6634, 0, " "], - [6635, 0, "t"], - [6636, 0, "h"], - [6637, 0, "e"], - [6638, 0, " "], - [6639, 0, "k"], - [6640, 0, "e"], - [6641, 0, "y"], - [6642, 0, " "], - [6643, 0, "d"], - [6644, 0, "o"], - [6645, 0, "e"], - [6646, 0, "s"], - [6647, 0, " "], - [6648, 0, "n"], - [6649, 0, "o"], - [6650, 0, "t"], - [6651, 0, " "], - [6652, 0, "e"], - [6653, 0, "x"], - [6654, 0, "i"], - [6655, 0, "s"], - [6656, 0, "t"], - [6657, 0, ","], - [6658, 0, " "], - [6659, 0, "i"], - [6660, 0, "t"], - [6661, 0, " "], - [6662, 0, "i"], - [6663, 0, "s"], - [6664, 0, " "], - [6665, 0, "i"], - [6666, 0, "m"], - [6667, 0, "p"], - [6668, 0, "l"], - [6669, 0, "i"], - [6670, 0, "c"], - [6671, 0, "i"], - [6672, 0, "t"], - [6673, 0, "l"], - [6674, 0, "y"], - [6675, 0, " "], - [6676, 0, "c"], - [6677, 0, "r"], - [6678, 0, "e"], - [6679, 0, "a"], - [6680, 0, "t"], - [6681, 0, "e"], - [6682, 0, "d"], - [6683, 0, " "], - [6684, 0, "a"], - [6685, 0, "n"], - [6686, 0, "d"], - [6687, 0, " "], - [6688, 0, "s"], - [6689, 0, "e"], - [6690, 0, "t"], - [6691, 0, " "], - [6692, 0, "t"], - [6693, 0, "o"], - [6694, 0, " "], - [6695, 0, "t"], - [6696, 0, "h"], - [6697, 0, "e"], - [6698, 0, " "], - [6699, 0, "e"], - [6700, 0, "m"], - [6701, 0, "p"], - [6702, 0, "t"], - [6703, 0, "y"], - [6704, 0, " "], - [6705, 0, "l"], - [6706, 0, "i"], - [6707, 0, "s"], - [6708, 0, "t"], - [6709, 0, "."], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [6476, 1], - [7150, 0, "f"], - [7151, 0, "f"], - [7152, 0, "f"], - [7152, 1], - [7151, 1], - [7150, 1], - [7149, 1], - [7149, 0, "n"], - [7174, 0, ","], - [7175, 0, " "], - [7176, 0, "s"], - [7177, 0, "o"], - [7178, 0, " "], - [7179, 0, "t"], - [7180, 0, "h"], - [7181, 0, "e"], - [7182, 0, "r"], - [7183, 0, "e"], - [7184, 0, " "], - [7185, 0, "i"], - [7186, 0, "s"], - [7187, 0, " "], - [7188, 0, "n"], - [7189, 0, "o"], - [7190, 0, " "], - [7191, 0, "n"], - [7192, 0, "e"], - [7193, 0, "e"], - [7194, 0, "d"], - [7195, 0, " "], - [7196, 0, "f"], - [7197, 0, "o"], - [7198, 0, "r"], - [7199, 0, " "], - [7200, 0, "a"], - [7201, 0, " "], - [7202, 0, "c"], - [7203, 0, "o"], - [7204, 0, "m"], - [7205, 0, "m"], - [7206, 0, "a"], - [7207, 0, "n"], - [7208, 0, "d"], - [7209, 0, " "], - [7210, 0, "t"], - [7211, 0, "o"], - [7212, 0, " "], - [7213, 0, "i"], - [7214, 0, "n"], - [7215, 0, "s"], - [7216, 0, "e"], - [7217, 0, "r"], - [7218, 0, "t"], - [7219, 0, " "], - [7220, 0, "a"], - [7221, 0, " "], - [7222, 0, "n"], - [7223, 0, "e"], - [7224, 0, "w"], - [7225, 0, " "], - [7226, 0, "k"], - [7227, 0, "e"], - [7228, 0, "y"], - [7229, 0, " "], - [7230, 0, "i"], - [7231, 0, "n"], - [7232, 0, "t"], - [7233, 0, "o"], - [7234, 0, " "], - [7235, 0, "a"], - [7236, 0, " "], - [7237, 0, "m"], - [7238, 0, "a"], - [7239, 0, "p"], - [13150, 0, " "], - [13151, 0, "c"], - [13152, 0, "o"], - [13153, 0, "n"], - [13154, 0, "t"], - [13155, 0, "a"], - [13156, 0, "i"], - [13157, 0, "n"], - [13158, 0, "s"], - [13159, 0, " "], - [13160, 0, "t"], - [13161, 0, "h"], - [13162, 0, "e"], - [13163, 0, " "], - [13164, 0, "l"], - [13165, 0, "o"], - [13166, 0, "c"], - [13167, 0, "a"], - [13168, 0, "l"], - [13169, 0, " "], - [13170, 0, "v"], - [13171, 0, "a"], - [13172, 0, "r"], - [13173, 0, "i"], - [13174, 0, "a"], - [13175, 0, "b"], - [13176, 0, "l"], - [13177, 0, "e"], - [13178, 0, "s"], - [13179, 0, " "], - [13180, 0, "d"], - [13181, 0, "e"], - [13182, 0, "f"], - [13183, 0, "i"], - [13184, 0, "n"], - [13185, 0, "e"], - [13186, 0, "d"], - [13187, 0, " "], - [13188, 0, "w"], - [13189, 0, "i"], - [13190, 0, "t"], - [13191, 0, "h"], - [13192, 0, " "], - [13193, 0, "\\"], - [13194, 0, "t"], - [13195, 0, "e"], - [13196, 0, "x"], - [13197, 0, "t"], - [13198, 0, "s"], - [13199, 0, "f"], - [13200, 0, "{"], - [13201, 0, "l"], - [13202, 0, "e"], - [13203, 0, "t"], - [13204, 0, "}"], - [13205, 0, " "], - [13206, 0, "c"], - [13207, 0, "o"], - [13208, 0, "m"], - [13209, 0, "m"], - [13210, 0, "a"], - [13211, 0, "n"], - [13212, 0, "d"], - [13213, 0, "s"], - [13162, 1], - [13161, 1], - [13160, 1], - [13159, 1], - [13158, 1], - [13157, 1], - [13156, 1], - [13155, 1], - [13154, 1], - [13153, 1], - [13152, 1], - [13151, 1], - [13150, 1], - [13149, 1], - [13148, 1], - [13147, 1], - [13146, 1], - [13145, 1], - [13144, 1], - [13143, 1], - [13142, 1], - [13141, 1], - [13140, 1], - [13139, 1], - [13138, 1], - [13137, 1], - [13136, 1], - [13135, 1], - [13134, 1], - [13133, 1], - [13132, 1], - [13131, 1], - [13130, 1], - [13129, 1], - [13128, 1], - [13127, 1], - [13126, 1], - [13125, 1], - [13124, 1], - [13123, 1], - [13122, 1], - [13121, 1], - [13120, 1], - [13119, 1], - [13118, 1], - [13117, 1], - [13116, 1], - [13115, 1], - [13114, 1], - [13113, 1], - [13112, 1], - [13111, 1], - [13110, 1], - [13110, 0, "F"], - [13111, 0, "o"], - [13112, 0, "r"], - [13113, 0, " "], - [13114, 0, "e"], - [13115, 0, "a"], - [13116, 0, "c"], - [13117, 0, "h"], - [13133, 1], - [13146, 0, " "], - [13147, 0, "a"], - [13169, 1], - [13169, 0, ","], - [13170, 0, " "], - [13171, 0, "$"], - [13172, 0, "A"], - [13173, 0, "-"], - [13174, 0, "p"], - [13174, 1], - [13173, 1], - [13173, 0, "_"], - [13174, 0, "p"], - [13175, 0, "$"], - [13176, 0, " "], - [13177, 0, "m"], - [13178, 0, "a"], - [13179, 0, "p"], - [13180, 0, "s"], - [13181, 0, " "], - [13182, 0, "t"], - [13183, 0, "h"], - [13184, 0, "e"], - [13185, 0, " "], - [13186, 0, "v"], - [13187, 0, "a"], - [13188, 0, "r"], - [13189, 0, "i"], - [13190, 0, "a"], - [13191, 0, "b"], - [13192, 0, "l"], - [13193, 0, "e"], - [13194, 0, " "], - [13195, 0, "n"], - [13196, 0, "a"], - [13197, 0, "m"], - [13198, 0, "e"], - [13199, 0, " "], - [13200, 0, "t"], - [13201, 0, "o"], - [13202, 0, " "], - [13203, 0, "a"], - [13204, 0, " "], - [13205, 0, "\\"], - [13206, 0, "e"], - [13207, 0, "m"], - [13208, 0, "p"], - [13209, 0, "h"], - [13210, 0, "{"], - [13211, 0, "c"], - [13212, 0, "u"], - [13213, 0, "r"], - [13214, 0, "s"], - [13215, 0, "o"], - [13216, 0, "r"], - [13217, 0, "}"], - [13218, 0, ","], - [13219, 0, " "], - [13220, 0, "w"], - [13221, 0, "h"], - [13222, 0, "i"], - [13223, 0, "c"], - [13224, 0, "h"], - [13225, 0, " "], - [13226, 0, "i"], - [13227, 0, "d"], - [13228, 0, "e"], - [13229, 0, "n"], - [13230, 0, "t"], - [13231, 0, "i"], - [13232, 0, "f"], - [13233, 0, "i"], - [13234, 0, "e"], - [13235, 0, "s"], - [13236, 0, " "], - [13237, 0, "a"], - [13238, 0, " "], - [13239, 0, "p"], - [13240, 0, "o"], - [13241, 0, "s"], - [13242, 0, "i"], - [13243, 0, "t"], - [13244, 0, "i"], - [13245, 0, "o"], - [13246, 0, "n"], - [13247, 0, " "], - [13248, 0, "i"], - [13249, 0, "n"], - [13250, 0, " "], - [13251, 0, "t"], - [13252, 0, "h"], - [13253, 0, "e"], - [13254, 0, " "], - [13255, 0, "d"], - [13256, 0, "o"], - [13257, 0, "c"], - [13258, 0, "u"], - [13259, 0, "m"], - [13260, 0, "e"], - [13261, 0, "n"], - [13262, 0, "t"], - [13263, 0, " "], - [13264, 0, "a"], - [13265, 0, "s"], - [13266, 0, " "], - [13267, 0, "d"], - [13268, 0, "e"], - [13269, 0, "s"], - [13270, 0, "c"], - [13271, 0, "r"], - [13272, 0, "i"], - [13273, 0, "b"], - [13274, 0, "e"], - [13275, 0, "d"], - [13276, 0, " "], - [13277, 0, "b"], - [13278, 0, "e"], - [13279, 0, "l"], - [13280, 0, "o"], - [13281, 0, "w"], - [13282, 0, "."], - [13283, 0, " "], - [13284, 0, "I"], - [13285, 0, "n"], - [13286, 0, " "], - [13287, 0, "a"], - [13288, 0, "d"], - [13289, 0, "d"], - [13290, 0, "i"], - [13291, 0, "t"], - [13292, 0, "i"], - [13293, 0, "o"], - [13294, 0, "n"], - [13295, 0, ","], - [13296, 0, " "], - [13297, 0, "$"], - [13298, 0, "A"], - [13299, 0, "_"], - [13300, 0, "p"], - [13301, 0, "$"], - [13302, 0, " "], - [13303, 0, "m"], - [13304, 0, "a"], - [13305, 0, "p"], - [13306, 0, "s"], - [13307, 0, " "], - [13308, 0, "t"], - [13309, 0, "h"], - [13310, 0, "e"], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13312, 1], - [13342, 0, " "], - [13343, 0, "t"], - [13344, 0, "o"], - [13345, 0, " "], - [13346, 0, "a"], - [13347, 0, " "], - [13348, 0, "n"], - [13349, 0, "e"], - [13350, 0, "s"], - [13351, 0, "t"], - [13352, 0, "e"], - [13353, 0, "d"], - [13354, 0, " "], - [13355, 0, "p"], - [13356, 0, "a"], - [13357, 0, "r"], - [13358, 0, "t"], - [13359, 0, "i"], - [13360, 0, "a"], - [13361, 0, "l"], - [13362, 0, " "], - [13363, 0, "f"], - [13364, 0, "u"], - [13365, 0, "n"], - [13366, 0, "c"], - [13367, 0, "t"], - [13368, 0, "i"], - [13369, 0, "o"], - [13370, 0, "n"], - [13371, 0, " "], - [13372, 0, "r"], - [13373, 0, "e"], - [13374, 0, "p"], - [13375, 0, "r"], - [13376, 0, "e"], - [13377, 0, "s"], - [13378, 0, "e"], - [13379, 0, "n"], - [13380, 0, "t"], - [13381, 0, "i"], - [13382, 0, "n"], - [13383, 0, "g"], - [13384, 0, " "], - [13385, 0, "t"], - [13386, 0, "h"], - [13387, 0, "e"], - [13388, 0, " "], - [13389, 0, "c"], - [13390, 0, "o"], - [13391, 0, "n"], - [13392, 0, "t"], - [13393, 0, "e"], - [13394, 0, "n"], - [13395, 0, "t"], - [13396, 0, "s"], - [13397, 0, " "], - [13398, 0, "o"], - [13399, 0, "f"], - [13400, 0, " "], - [13401, 0, "t"], - [13402, 0, "h"], - [13403, 0, "e"], - [13404, 0, " "], - [13405, 0, "d"], - [13406, 0, "o"], - [13407, 0, "c"], - [13408, 0, "u"], - [13409, 0, "m"], - [13410, 0, "e"], - [13411, 0, "n"], - [13412, 0, "t"], - [13413, 0, "."], - [13414, 0, " "], - [13415, 0, "\\"], - [13416, 0, "t"], - [13417, 0, "e"], - [13418, 0, "x"], - [13419, 0, "t"], - [13420, 0, "s"], - [13421, 0, "f"], - [13422, 0, "{"], - [13423, 0, "m"], - [13424, 0, "a"], - [13425, 0, "p"], - [13426, 0, "T"], - [13427, 0, "}"], - [13428, 1], - [13428, 1], - [13428, 1], - [13428, 1], - [13428, 1], - [13428, 1], - [13428, 1], - [13585, 1], - [13584, 1], - [13583, 1], - [13582, 1], - [13581, 1], - [13580, 1], - [13579, 1], - [13578, 1], - [13577, 1], - [13576, 1], - [13575, 1], - [13574, 1], - [13573, 1], - [13572, 1], - [13571, 1], - [13570, 1], - [13569, 1], - [13568, 1], - [13567, 1], - [13566, 1], - [13565, 1], - [13564, 1], - [13563, 1], - [13562, 1], - [13561, 1], - [13560, 1], - [13559, 1], - [13558, 1], - [13557, 1], - [13556, 1], - [13555, 1], - [13554, 1], - [13553, 1], - [13552, 1], - [13551, 1], - [13550, 1], - [13549, 1], - [13548, 1], - [13547, 1], - [13546, 1], - [13545, 1], - [13544, 1], - [13543, 1], - [13542, 1], - [13541, 1], - [13540, 1], - [13539, 1], - [13538, 1], - [13537, 1], - [13536, 1], - [13535, 1], - [13534, 1], - [13533, 1], - [13532, 1], - [13531, 1], - [13530, 1], - [13529, 1], - [13528, 1], - [13527, 1], - [13526, 1], - [13525, 1], - [13524, 1], - [13523, 1], - [13522, 1], - [13521, 1], - [13520, 1], - [13519, 1], - [13518, 1], - [13517, 1], - [13516, 1], - [13515, 1], - [13514, 1], - [13513, 1], - [13512, 1], - [13511, 1], - [13510, 1], - [13509, 1], - [13508, 1], - [13507, 1], - [13506, 1], - [13505, 1], - [13504, 1], - [13503, 1], - [13502, 1], - [13501, 1], - [13500, 1], - [13499, 1], - [13498, 1], - [13497, 1], - [13496, 1], - [13495, 1], - [13494, 1], - [13493, 1], - [13492, 1], - [13491, 1], - [13490, 1], - [13489, 1], - [13488, 1], - [13487, 1], - [13486, 1], - [13485, 1], - [13484, 1], - [13484, 0, "T"], - [13492, 0, " "], - [13493, 0, "m"], - [13494, 0, "a"], - [13495, 0, "p"], - [14734, 1], - [14734, 1], - [14734, 0, "\\"], - [14735, 0, "["], - [14736, 0, " "], - [14852, 1], - [14851, 1], - [14851, 0, " "], - [14852, 0, "\\"], - [14853, 0, "]"], - [14019, 1], - [14018, 1], - [14017, 1], - [14016, 1], - [14015, 1], - [14014, 1], - [14013, 1], - [14013, 0, "f"], - [14014, 0, "o"], - [14015, 0, "r"], - [14016, 0, "m"], - [14017, 0, "a"], - [14018, 0, "l"], - [14019, 0, "i"], - [14020, 0, "z"], - [14021, 0, "e"], - [14022, 0, "s"], - [14023, 0, " "], - [14024, 0, "t"], - [14025, 0, "h"], - [14026, 0, "e"], - [14027, 0, " "], - [14028, 0, "a"], - [14029, 0, "s"], - [14030, 0, "s"], - [14031, 0, "u"], - [14032, 0, "m"], - [14033, 0, "p"], - [14034, 0, "t"], - [14035, 0, "i"], - [14036, 0, "o"], - [14037, 0, "n"], - [15652, 1], - [15651, 1], - [15650, 1], - [15649, 1], - [15648, 1], - [15647, 1], - [15646, 1], - [15645, 1], - [15644, 1], - [15643, 1], - [15642, 1], - [15641, 1], - [15640, 1], - [15639, 1], - [15638, 1], - [15637, 1], - [15636, 1], - [15635, 1], - [15634, 1], - [15633, 1], - [15632, 1], - [15631, 1], - [15630, 1], - [15629, 1], - [15628, 1], - [15627, 1], - [15626, 1], - [15625, 1], - [15625, 0, "a"], - [15626, 0, "r"], - [15627, 0, "e"], - [15628, 0, " "], - [15629, 0, "t"], - [15630, 0, "a"], - [15631, 0, "g"], - [15632, 0, "g"], - [15633, 0, "e"], - [15634, 0, "d"], - [15635, 0, " "], - [15636, 0, "w"], - [15637, 0, "i"], - [15638, 0, "t"], - [15639, 0, "h"], - [15640, 0, " "], - [15641, 0, "t"], - [15642, 0, "h"], - [15643, 0, "e"], - [15644, 0, " "], - [15645, 0, "d"], - [15646, 0, "a"], - [15647, 0, "t"], - [15648, 0, "a"], - [15649, 0, "t"], - [15650, 0, "y"], - [15651, 0, "p"], - [15652, 0, "e"], - [15653, 0, " "], - [15654, 0, "o"], - [15655, 0, "f"], - [15656, 0, " "], - [15657, 0, "t"], - [15658, 0, "h"], - [15659, 0, "e"], - [15660, 0, " "], - [15661, 0, "b"], - [15662, 0, "r"], - [15663, 0, "a"], - [15664, 0, "n"], - [15665, 0, "c"], - [15666, 0, "h"], - [15667, 0, " "], - [15668, 0, "n"], - [15669, 0, "o"], - [15670, 0, "d"], - [15671, 0, "e"], - [15672, 0, ","], - [15673, 0, " "], - [15674, 0, "e"], - [15675, 0, "i"], - [15676, 0, "t"], - [15677, 0, "h"], - [15678, 0, "e"], - [15679, 0, "r"], - [16958, 1], - [16957, 1], - [16956, 1], - [16955, 1], - [16954, 1], - [16953, 1], - [16952, 1], - [16951, 1], - [16950, 1], - [16949, 1], - [16948, 1], - [16947, 1], - [16946, 1], - [16945, 1], - [16944, 1], - [16944, 0, "a"], - [16945, 0, " "], - [16946, 0, "r"], - [16947, 0, "e"], - [16948, 0, "g"], - [16949, 0, "i"], - [16950, 0, "s"], - [16951, 0, "t"], - [16952, 0, "e"], - [16953, 0, "r"], - [16954, 0, " "], - [16955, 0, "a"], - [16956, 0, "t"], - [17116, 1], - [17115, 1], - [17114, 1], - [17113, 1], - [17113, 0, "r"], - [17114, 0, " "], - [17115, 0, "i"], - [17116, 0, "s"], - [17105, 1], - [17104, 1], - [17103, 1], - [17102, 1], - [17101, 1], - [17100, 1], - [17099, 1], - [17098, 1], - [17097, 1], - [17096, 1], - [17095, 1], - [17094, 1], - [17093, 1], - [17092, 1], - [17091, 1], - [17090, 1], - [17089, 1], - [17088, 1], - [17087, 1], - [17086, 1], - [17085, 1], - [17084, 1], - [17083, 1], - [17082, 1], - [17081, 1], - [17080, 1], - [17079, 1], - [17078, 1], - [17077, 1], - [17076, 1], - [17075, 1], - [17074, 1], - [17073, 1], - [17072, 1], - [17071, 1], - [17070, 1], - [17069, 1], - [17068, 1], - [17067, 1], - [17066, 1], - [17065, 1], - [17064, 1], - [17063, 1], - [17062, 1], - [17061, 1], - [17060, 1], - [17059, 1], - [17058, 1], - [17057, 1], - [17057, 0, "A"], - [17058, 0, " "], - [17139, 0, ","], - [17140, 0, " "], - [17141, 0, "a"], - [17142, 0, "n"], - [17143, 0, "d"], - [17144, 0, " "], - [17145, 0, "t"], - [17146, 0, "h"], - [17147, 0, "e"], - [17148, 0, " "], - [17149, 0, "\\"], - [17150, 0, "t"], - [17151, 0, "e"], - [17152, 0, "x"], - [17153, 0, "t"], - [17154, 0, "s"], - [17155, 0, "c"], - [17156, 0, "{"], - [17157, 0, "V"], - [17158, 0, "a"], - [17159, 0, "l"], - [17160, 0, "}"], - [17161, 0, " "], - [17162, 0, "r"], - [17163, 0, "u"], - [17164, 0, "l"], - [17165, 0, "e"], - [17166, 0, "s"], - [17167, 0, " "], - [17168, 0, "o"], - [17169, 0, "n"], - [17170, 0, "l"], - [17171, 0, "y"], - [17172, 0, " "], - [17173, 0, "a"], - [17174, 0, "p"], - [17175, 0, "p"], - [17176, 0, "l"], - [17177, 0, "y"], - [17178, 0, " "], - [17179, 0, "i"], - [17180, 0, "f"], - [17181, 0, " "], - [17182, 0, "t"], - [17183, 0, "h"], - [17184, 0, "e"], - [17185, 0, " "], - [17186, 0, "r"], - [17187, 0, "e"], - [17188, 0, "g"], - [17189, 0, "i"], - [17190, 0, "s"], - [17191, 0, "t"], - [17192, 0, "e"], - [17193, 0, "r"], - [17194, 0, " "], - [17195, 0, "e"], - [17196, 0, "x"], - [17197, 0, "i"], - [17198, 0, "s"], - [17199, 0, "t"], - [17200, 0, "s"], - [17201, 0, " "], - [17202, 0, "i"], - [17203, 0, "n"], - [17204, 0, " "], - [17205, 0, "$"], - [17206, 0, "A"], - [17207, 0, "_"], - [17208, 0, "p"], - [17209, 0, "$"], - [17194, 0, " "], - [17195, 0, "i"], - [17196, 0, "d"], - [17197, 0, "e"], - [17198, 0, "n"], - [17199, 0, "t"], - [17200, 0, "i"], - [17201, 0, "f"], - [17202, 0, "i"], - [17203, 0, "e"], - [17204, 0, "d"], - [17205, 0, " "], - [17206, 0, "b"], - [17207, 0, "y"], - [17208, 0, " "], - [17209, 0, "t"], - [17210, 0, "h"], - [17211, 0, "e"], - [17212, 0, " "], - [17213, 0, "c"], - [17214, 0, "u"], - [17215, 0, "r"], - [17216, 0, "s"], - [17217, 0, "o"], - [17218, 0, "r"], - [17401, 1], - [17401, 0, " "], - [17402, 0, "-"], - [17403, 0, "-"], - [20686, 1], - [20685, 1], - [20684, 1], - [20683, 1], - [20682, 1], - [20681, 1], - [20680, 1], - [20679, 1], - [20678, 1], - [20677, 1], - [20676, 1], - [20675, 1], - [20674, 1], - [20673, 1], - [20672, 1], - [20671, 1], - [20670, 1], - [20669, 1], - [20668, 1], - [20667, 1], - [20666, 1], - [20665, 1], - [20664, 1], - [20663, 1], - [20662, 1], - [20661, 1], - [20660, 1], - [20659, 1], - [20658, 1], - [20657, 1], - [20656, 1], - [20655, 1], - [20654, 1], - [20653, 1], - [20652, 1], - [20651, 1], - [20650, 1], - [20649, 1], - [20648, 1], - [20647, 1], - [20646, 1], - [20645, 1], - [20644, 1], - [20643, 1], - [20642, 1], - [20641, 1], - [20640, 1], - [20639, 1], - [20638, 1], - [20637, 1], - [20636, 1], - [20635, 1], - [20634, 1], - [20633, 1], - [20632, 1], - [20631, 1], - [20630, 1], - [20629, 1], - [20628, 1], - [20627, 1], - [20626, 1], - [20625, 1], - [20624, 1], - [20623, 1], - [20622, 1], - [20621, 1], - [20620, 1], - [20619, 1], - [20618, 1], - [20617, 1], - [20616, 1], - [20615, 1], - [20614, 1], - [20613, 1], - [20612, 1], - [20611, 1], - [20610, 1], - [20609, 1], - [20608, 1], - [20607, 1], - [20606, 1], - [20605, 1], - [20604, 1], - [20603, 1], - [20602, 1], - [20601, 1], - [20600, 1], - [20599, 1], - [20598, 1], - [20597, 1], - [20596, 1], - [20595, 1], - [20594, 1], - [20593, 1], - [20592, 1], - [20591, 1], - [20590, 1], - [20589, 1], - [20588, 1], - [20587, 1], - [20586, 1], - [20585, 1], - [20584, 1], - [20583, 1], - [20582, 1], - [20581, 1], - [20580, 1], - [20579, 1], - [20578, 1], - [20577, 1], - [20576, 1], - [20575, 1], - [20574, 1], - [20573, 1], - [20572, 1], - [20571, 1], - [20570, 1], - [20569, 1], - [20568, 1], - [20567, 1], - [20566, 1], - [20565, 1], - [20564, 1], - [20563, 1], - [20562, 1], - [20561, 1], - [20560, 1], - [20559, 1], - [20558, 1], - [20557, 1], - [20556, 1], - [20555, 1], - [20554, 1], - [20553, 1], - [20552, 1], - [20551, 1], - [20550, 1], - [20549, 1], - [20548, 1], - [20547, 1], - [20546, 1], - [20545, 1], - [20544, 1], - [20543, 1], - [20542, 1], - [20541, 1], - [20540, 1], - [20539, 1], - [20538, 1], - [20537, 1], - [20536, 1], - [20535, 1], - [20534, 1], - [20533, 1], - [20532, 1], - [20531, 1], - [20530, 1], - [20529, 1], - [20528, 1], - [20527, 1], - [20526, 1], - [20525, 1], - [20524, 1], - [20523, 1], - [20522, 1], - [20521, 1], - [20520, 1], - [20519, 1], - [20518, 1], - [20517, 1], - [20516, 1], - [20515, 1], - [20514, 1], - [20513, 1], - [20512, 1], - [20511, 1], - [20510, 1], - [20509, 1], - [20508, 1], - [20507, 1], - [20506, 1], - [20505, 1], - [20504, 1], - [20503, 1], - [20502, 1], - [20501, 1], - [20500, 1], - [20499, 1], - [20498, 1], - [20497, 1], - [20496, 1], - [20495, 1], - [20494, 1], - [20493, 1], - [20492, 1], - [20491, 1], - [20490, 1], - [20489, 1], - [20488, 1], - [20487, 1], - [20486, 1], - [20485, 1], - [20484, 1], - [20483, 1], - [20482, 1], - [20481, 1], - [20480, 1], - [20479, 1], - [20478, 1], - [20477, 1], - [20476, 1], - [20475, 1], - [20474, 1], - [20473, 1], - [20472, 1], - [20471, 1], - [20470, 1], - [20469, 1], - [20468, 1], - [20467, 1], - [20466, 1], - [20465, 1], - [20464, 1], - [20463, 1], - [20462, 1], - [20461, 1], - [20460, 1], - [20459, 1], - [20458, 1], - [20457, 1], - [20456, 1], - [20455, 1], - [20454, 1], - [20453, 1], - [20452, 1], - [20451, 1], - [20450, 1], - [20449, 1], - [20448, 1], - [20447, 1], - [20446, 1], - [20445, 1], - [20444, 1], - [20443, 1], - [20442, 1], - [20441, 1], - [20440, 1], - [20439, 1], - [20438, 1], - [20437, 1], - [20436, 1], - [20435, 1], - [20434, 1], - [20433, 1], - [20432, 1], - [20431, 1], - [20430, 1], - [20429, 1], - [20428, 1], - [20427, 1], - [20426, 1], - [20425, 1], - [20424, 1], - [20423, 1], - [20422, 1], - [20421, 1], - [20420, 1], - [20419, 1], - [20418, 1], - [20417, 1], - [20416, 1], - [20415, 1], - [20414, 1], - [20413, 1], - [20412, 1], - [20411, 1], - [20410, 1], - [20409, 1], - [20408, 1], - [20407, 1], - [20406, 1], - [20405, 1], - [20404, 1], - [20403, 1], - [20402, 1], - [20401, 1], - [20400, 1], - [20399, 1], - [20398, 1], - [20397, 1], - [20396, 1], - [20395, 1], - [20394, 1], - [20393, 1], - [20392, 1], - [20391, 1], - [20390, 1], - [20389, 1], - [20388, 1], - [20387, 1], - [20386, 1], - [20385, 1], - [20384, 1], - [20383, 1], - [20382, 1], - [20381, 1], - [20380, 1], - [20379, 1], - [20378, 1], - [20377, 1], - [20376, 1], - [20375, 1], - [20374, 1], - [20373, 1], - [20372, 1], - [20371, 1], - [20370, 1], - [20369, 1], - [20368, 1], - [20367, 1], - [20366, 1], - [20365, 1], - [20364, 1], - [20363, 1], - [20362, 1], - [20361, 1], - [20360, 1], - [20359, 1], - [20358, 1], - [20357, 1], - [20356, 1], - [20355, 1], - [20354, 1], - [20353, 1], - [20352, 1], - [20351, 1], - [20350, 1], - [20349, 1], - [20348, 1], - [20347, 1], - [20346, 1], - [20345, 1], - [20344, 1], - [20343, 1], - [20342, 1], - [20341, 1], - [20340, 1], - [20339, 1], - [20338, 1], - [20337, 1], - [20336, 1], - [20335, 1], - [20334, 1], - [20333, 1], - [20332, 1], - [20331, 1], - [20330, 1], - [20329, 1], - [20328, 1], - [20327, 1], - [20326, 1], - [20325, 1], - [20324, 1], - [20323, 1], - [20322, 1], - [20321, 1], - [20320, 1], - [20319, 1], - [20318, 1], - [20317, 1], - [20316, 1], - [20315, 1], - [20314, 1], - [20313, 1], - [20312, 1], - [20311, 1], - [20310, 1], - [20309, 1], - [20308, 1], - [20307, 1], - [20306, 1], - [20305, 1], - [20304, 1], - [20303, 1], - [20302, 1], - [20301, 1], - [20300, 1], - [20299, 1], - [20298, 1], - [20297, 1], - [20296, 1], - [20295, 1], - [20294, 1], - [20293, 1], - [20292, 1], - [20291, 1], - [20290, 1], - [20289, 1], - [20288, 1], - [20287, 1], - [20286, 1], - [20285, 1], - [20284, 1], - [20283, 1], - [20282, 1], - [20281, 1], - [20280, 1], - [20279, 1], - [20278, 1], - [20277, 1], - [20276, 1], - [20275, 1], - [20274, 1], - [20273, 1], - [20272, 1], - [20271, 1], - [20270, 1], - [20269, 1], - [20268, 1], - [20267, 1], - [20266, 1], - [20265, 1], - [20264, 1], - [20263, 1], - [20262, 1], - [20261, 1], - [20260, 1], - [20259, 1], - [20258, 1], - [20257, 1], - [20256, 1], - [20255, 1], - [20254, 1], - [20253, 1], - [20252, 1], - [20251, 1], - [20250, 1], - [20249, 1], - [20248, 1], - [20247, 1], - [20246, 1], - [20245, 1], - [20244, 1], - [20243, 1], - [20242, 1], - [20241, 1], - [20240, 1], - [20239, 1], - [20238, 1], - [20237, 1], - [20236, 1], - [20235, 1], - [20234, 1], - [20233, 1], - [20232, 1], - [20231, 1], - [20230, 1], - [20229, 1], - [20228, 1], - [20227, 1], - [20226, 1], - [20225, 1], - [20224, 1], - [20223, 1], - [20222, 1], - [20221, 1], - [20220, 1], - [20219, 1], - [20218, 1], - [20217, 1], - [20216, 1], - [20215, 1], - [20214, 1], - [20213, 1], - [20212, 1], - [20211, 1], - [20210, 1], - [20209, 1], - [20208, 1], - [20207, 1], - [20206, 1], - [20205, 1], - [20204, 1], - [20203, 1], - [20202, 1], - [20201, 1], - [20200, 1], - [20199, 1], - [20198, 1], - [20197, 1], - [20196, 1], - [20195, 1], - [20194, 1], - [20193, 1], - [20192, 1], - [20191, 1], - [20190, 1], - [20189, 1], - [20188, 1], - [20187, 1], - [20186, 1], - [20185, 1], - [20184, 1], - [20183, 1], - [20182, 1], - [20181, 1], - [20180, 1], - [20179, 1], - [20178, 1], - [20177, 1], - [20176, 1], - [20175, 1], - [20174, 1], - [20173, 1], - [20172, 1], - [20171, 1], - [20170, 1], - [20169, 1], - [20168, 1], - [20167, 1], - [20166, 1], - [20165, 1], - [20164, 1], - [20163, 1], - [20162, 1], - [20161, 1], - [20160, 1], - [20159, 1], - [20158, 1], - [20157, 1], - [20156, 1], - [20155, 1], - [20154, 1], - [20153, 1], - [20152, 1], - [20151, 1], - [20150, 1], - [20149, 1], - [20148, 1], - [20147, 1], - [20146, 1], - [20145, 1], - [20144, 1], - [20143, 1], - [20142, 1], - [20141, 1], - [20140, 1], - [20139, 1], - [20138, 1], - [20137, 1], - [20136, 1], - [20135, 1], - [20134, 1], - [20133, 1], - [20132, 1], - [20131, 1], - [20130, 1], - [20129, 1], - [20128, 1], - [20127, 1], - [20126, 1], - [20125, 1], - [20124, 1], - [20123, 1], - [20122, 1], - [20121, 1], - [20120, 1], - [20119, 1], - [20118, 1], - [20117, 1], - [20116, 1], - [20115, 1], - [20114, 1], - [20113, 1], - [20112, 1], - [20111, 1], - [20110, 1], - [20109, 1], - [20108, 1], - [20107, 1], - [20106, 1], - [20105, 1], - [20104, 1], - [20103, 1], - [20102, 1], - [20101, 1], - [20100, 1], - [20099, 1], - [20098, 1], - [20097, 1], - [20096, 1], - [20095, 1], - [20094, 1], - [20093, 1], - [20092, 1], - [20091, 1], - [20090, 1], - [20089, 1], - [20088, 1], - [20087, 1], - [20086, 1], - [20085, 1], - [20084, 1], - [20083, 1], - [20082, 1], - [20081, 1], - [20080, 1], - [20079, 1], - [20078, 1], - [20077, 1], - [20076, 1], - [20075, 1], - [20074, 1], - [20073, 1], - [20072, 1], - [20071, 1], - [20070, 1], - [20069, 1], - [20068, 1], - [20067, 1], - [20066, 1], - [20065, 1], - [20064, 1], - [20063, 1], - [20062, 1], - [20061, 1], - [20060, 1], - [20059, 1], - [20058, 1], - [20057, 1], - [20056, 1], - [20055, 1], - [20054, 1], - [20053, 1], - [20052, 1], - [20051, 1], - [20050, 1], - [20049, 1], - [20048, 1], - [20047, 1], - [20046, 1], - [20045, 1], - [20044, 1], - [20043, 1], - [20042, 1], - [20041, 1], - [20040, 1], - [20039, 1], - [20038, 1], - [20037, 1], - [20036, 1], - [20035, 1], - [20034, 1], - [20033, 1], - [20032, 1], - [20031, 1], - [20030, 1], - [20029, 1], - [20028, 1], - [20027, 1], - [20026, 1], - [20025, 1], - [20024, 1], - [20023, 1], - [20022, 1], - [20021, 1], - [20020, 1], - [20019, 1], - [20018, 1], - [20017, 1], - [20016, 1], - [20015, 1], - [20014, 1], - [20013, 1], - [20012, 1], - [20011, 1], - [20010, 1], - [20009, 1], - [20008, 1], - [20007, 1], - [20006, 1], - [20005, 1], - [20004, 1], - [20003, 1], - [20002, 1], - [20001, 1], - [20000, 1], - [19999, 1], - [19998, 1], - [19997, 1], - [19996, 1], - [19995, 1], - [19994, 1], - [19993, 1], - [19992, 1], - [19991, 1], - [19990, 1], - [19989, 1], - [19988, 1], - [19987, 1], - [19986, 1], - [19985, 1], - [19984, 1], - [19983, 1], - [19982, 1], - [19981, 1], - [19980, 1], - [19979, 1], - [19978, 1], - [19977, 1], - [19976, 1], - [19975, 1], - [19974, 1], - [19973, 1], - [19972, 1], - [19971, 1], - [19970, 1], - [19969, 1], - [19968, 1], - [19967, 1], - [19966, 1], - [19965, 1], - [19964, 1], - [19963, 1], - [19962, 1], - [19961, 1], - [19960, 1], - [19959, 1], - [19958, 1], - [19957, 1], - [19956, 1], - [19955, 1], - [19954, 1], - [19953, 1], - [19952, 1], - [19951, 1], - [19950, 1], - [19949, 1], - [19948, 1], - [19947, 1], - [19946, 1], - [19945, 1], - [19944, 1], - [19943, 1], - [19942, 1], - [19941, 1], - [19940, 1], - [19939, 1], - [19938, 1], - [19937, 1], - [19936, 1], - [19935, 1], - [19934, 1], - [19933, 1], - [19932, 1], - [19931, 1], - [19930, 1], - [19929, 1], - [19928, 1], - [19927, 1], - [19926, 1], - [19925, 1], - [19924, 1], - [19923, 1], - [19922, 1], - [19921, 1], - [19920, 1], - [19919, 1], - [19918, 1], - [19917, 1], - [19916, 1], - [19915, 1], - [19914, 1], - [19913, 1], - [19912, 1], - [19911, 1], - [19910, 1], - [19909, 1], - [19908, 1], - [19907, 1], - [19906, 1], - [19905, 1], - [19904, 1], - [19903, 1], - [19902, 1], - [19901, 1], - [19900, 1], - [19899, 1], - [19898, 1], - [19897, 1], - [19896, 1], - [19895, 1], - [19894, 1], - [19893, 1], - [19892, 1], - [19891, 1], - [19890, 1], - [19889, 1], - [19888, 1], - [19887, 1], - [19886, 1], - [19885, 1], - [19884, 1], - [19883, 1], - [19882, 1], - [19881, 1], - [19880, 1], - [19879, 1], - [19878, 1], - [19877, 1], - [19876, 1], - [19875, 1], - [19874, 1], - [19873, 1], - [19872, 1], - [19871, 1], - [19870, 1], - [19869, 1], - [19868, 1], - [19867, 1], - [19866, 1], - [19865, 1], - [19864, 1], - [19863, 1], - [19862, 1], - [19861, 1], - [19860, 1], - [19859, 1], - [19858, 1], - [19857, 1], - [19856, 1], - [19855, 1], - [19854, 1], - [19853, 1], - [19852, 1], - [19851, 1], - [19850, 1], - [19849, 1], - [19848, 1], - [19847, 1], - [19846, 1], - [19845, 1], - [19844, 1], - [19843, 1], - [19842, 1], - [19841, 1], - [19840, 1], - [19839, 1], - [19838, 1], - [19837, 1], - [19836, 1], - [19835, 1], - [19834, 1], - [19833, 1], - [19832, 1], - [19831, 1], - [19830, 1], - [19829, 1], - [19828, 1], - [19827, 1], - [19826, 1], - [19825, 1], - [19824, 1], - [19823, 1], - [19822, 1], - [19821, 1], - [19820, 1], - [19819, 1], - [19818, 1], - [19817, 1], - [19816, 1], - [19815, 1], - [19814, 1], - [19813, 1], - [19812, 1], - [19811, 1], - [19810, 1], - [19809, 1], - [19808, 1], - [19807, 1], - [19806, 1], - [19805, 1], - [19804, 1], - [19803, 1], - [19802, 1], - [19801, 1], - [19800, 1], - [19799, 1], - [19798, 1], - [19797, 1], - [19796, 1], - [19795, 1], - [19794, 1], - [19793, 1], - [19792, 1], - [19791, 1], - [19790, 1], - [19789, 1], - [19788, 1], - [19787, 1], - [19786, 1], - [19785, 1], - [19784, 1], - [19783, 1], - [19782, 1], - [19781, 1], - [19780, 1], - [19779, 1], - [19778, 1], - [19777, 1], - [19776, 1], - [19775, 1], - [19774, 1], - [19773, 1], - [19772, 1], - [19771, 1], - [19770, 1], - [19769, 1], - [19768, 1], - [19767, 1], - [19766, 1], - [19765, 1], - [19764, 1], - [19763, 1], - [19762, 1], - [19761, 1], - [19760, 1], - [19759, 1], - [19758, 1], - [19757, 1], - [19756, 1], - [19755, 1], - [19754, 1], - [19753, 1], - [19752, 1], - [19751, 1], - [19750, 1], - [19749, 1], - [19748, 1], - [19747, 1], - [19746, 1], - [19745, 1], - [19744, 1], - [19743, 1], - [19742, 1], - [19741, 1], - [19740, 1], - [19739, 1], - [19738, 1], - [19737, 1], - [19736, 1], - [19735, 1], - [19734, 1], - [19733, 1], - [19732, 1], - [19731, 1], - [19730, 1], - [19729, 1], - [19728, 1], - [19727, 1], - [19726, 1], - [19725, 1], - [19724, 1], - [19723, 1], - [19722, 1], - [19721, 1], - [19720, 1], - [19719, 1], - [19718, 1], - [19717, 1], - [19716, 1], - [19715, 1], - [19714, 1], - [19713, 1], - [19712, 1], - [19711, 1], - [19710, 1], - [19709, 1], - [19708, 1], - [19707, 1], - [19706, 1], - [19705, 1], - [19704, 1], - [19703, 1], - [19702, 1], - [19701, 1], - [19700, 1], - [19699, 1], - [19698, 1], - [19697, 1], - [19696, 1], - [19695, 1], - [19694, 1], - [19693, 1], - [19692, 1], - [19691, 1], - [19690, 1], - [19689, 1], - [19688, 1], - [19687, 1], - [19686, 1], - [19685, 1], - [19684, 1], - [19683, 1], - [19682, 1], - [19681, 1], - [19680, 1], - [19679, 1], - [19678, 1], - [19677, 1], - [19676, 1], - [19675, 1], - [19674, 1], - [19673, 1], - [19672, 1], - [19671, 1], - [19670, 1], - [19669, 1], - [19668, 1], - [19667, 1], - [19666, 1], - [19665, 1], - [19664, 1], - [19663, 1], - [19662, 1], - [19661, 1], - [19660, 1], - [19659, 1], - [19658, 1], - [19657, 1], - [19656, 1], - [19655, 1], - [19654, 1], - [19653, 1], - [19652, 1], - [19651, 1], - [19650, 1], - [19649, 1], - [19648, 1], - [19647, 1], - [19646, 1], - [19645, 1], - [19644, 1], - [19643, 1], - [19642, 1], - [19641, 1], - [19640, 1], - [19639, 1], - [19638, 1], - [19637, 1], - [19636, 1], - [19635, 1], - [19634, 1], - [19633, 1], - [19632, 1], - [19631, 1], - [19630, 1], - [19629, 1], - [19628, 1], - [19627, 1], - [19626, 1], - [19625, 1], - [19624, 1], - [19623, 1], - [19622, 1], - [19621, 1], - [19620, 1], - [19619, 1], - [19618, 1], - [19617, 1], - [19616, 1], - [19615, 1], - [19614, 1], - [19613, 1], - [19612, 1], - [19611, 1], - [19610, 1], - [19609, 1], - [19608, 1], - [19607, 1], - [19606, 1], - [19605, 1], - [19604, 1], - [19603, 1], - [19602, 1], - [19601, 1], - [19600, 1], - [19599, 1], - [19598, 1], - [19597, 1], - [19596, 1], - [19595, 1], - [19594, 1], - [19593, 1], - [19592, 1], - [19591, 1], - [19590, 1], - [19589, 1], - [19588, 1], - [19587, 1], - [19586, 1], - [19585, 1], - [19584, 1], - [19583, 1], - [19582, 1], - [19581, 1], - [19580, 1], - [19579, 1], - [19578, 1], - [19577, 1], - [19576, 1], - [19575, 1], - [19574, 1], - [19573, 1], - [19572, 1], - [19571, 1], - [19570, 1], - [19569, 1], - [19568, 1], - [19567, 1], - [19566, 1], - [19565, 1], - [19564, 1], - [19563, 1], - [19562, 1], - [19561, 1], - [19560, 1], - [19559, 1], - [19558, 1], - [19557, 1], - [19556, 1], - [19555, 1], - [19554, 1], - [19553, 1], - [19552, 1], - [19551, 1], - [19550, 1], - [19549, 1], - [19548, 1], - [19547, 1], - [19546, 1], - [19545, 1], - [19544, 1], - [19543, 1], - [19542, 1], - [19541, 1], - [19540, 1], - [19539, 1], - [19538, 1], - [19537, 1], - [19536, 1], - [19535, 1], - [19534, 1], - [19533, 1], - [19532, 1], - [19531, 1], - [19530, 1], - [19529, 1], - [19528, 1], - [19527, 1], - [19526, 1], - [19525, 1], - [19524, 1], - [19523, 1], - [19522, 1], - [19521, 1], - [19520, 1], - [19519, 1], - [19518, 1], - [19517, 1], - [19516, 1], - [19515, 1], - [19514, 1], - [19513, 1], - [19512, 1], - [19511, 1], - [19510, 1], - [19509, 1], - [19508, 1], - [19507, 1], - [19506, 1], - [19505, 1], - [19504, 1], - [19503, 1], - [19502, 1], - [19501, 1], - [19500, 1], - [19499, 1], - [19498, 1], - [19497, 1], - [19496, 1], - [19495, 1], - [19494, 1], - [19493, 1], - [19492, 1], - [19491, 1], - [19490, 1], - [19489, 1], - [19488, 1], - [19487, 1], - [19486, 1], - [19485, 1], - [19484, 1], - [19483, 1], - [19482, 1], - [19481, 1], - [19480, 1], - [19479, 1], - [19478, 1], - [19477, 1], - [19476, 1], - [19475, 1], - [19474, 1], - [19473, 1], - [19472, 1], - [19471, 1], - [19470, 1], - [19469, 1], - [19468, 1], - [19467, 1], - [19466, 1], - [19465, 1], - [19464, 1], - [19463, 1], - [19462, 1], - [19461, 1], - [19460, 1], - [19459, 1], - [19458, 1], - [19457, 1], - [19456, 1], - [19455, 1], - [19454, 1], - [19453, 1], - [19452, 1], - [19451, 1], - [19450, 1], - [19449, 1], - [19448, 1], - [19447, 1], - [19446, 1], - [19445, 1], - [19444, 1], - [19443, 1], - [19442, 1], - [19441, 1], - [19440, 1], - [19439, 1], - [19438, 1], - [19437, 1], - [19436, 1], - [19435, 1], - [19434, 1], - [19433, 1], - [19432, 1], - [19431, 1], - [19430, 1], - [19429, 1], - [19428, 1], - [19427, 1], - [19426, 1], - [19425, 1], - [19424, 1], - [19423, 1], - [19422, 1], - [19421, 1], - [19420, 1], - [19419, 1], - [19418, 1], - [19417, 1], - [19416, 1], - [19415, 1], - [19414, 1], - [19413, 1], - [19412, 1], - [19411, 1], - [19410, 1], - [19409, 1], - [19408, 1], - [19407, 1], - [19406, 1], - [19405, 1], - [19404, 1], - [19403, 1], - [19402, 1], - [19401, 1], - [19400, 1], - [19399, 1], - [19398, 1], - [19397, 1], - [19396, 1], - [19395, 1], - [19394, 1], - [19393, 1], - [19392, 1], - [19391, 1], - [19390, 1], - [19389, 1], - [19388, 1], - [19387, 1], - [19386, 1], - [19385, 1], - [19384, 1], - [19383, 1], - [19382, 1], - [19381, 1], - [19380, 1], - [19379, 1], - [19378, 1], - [19377, 1], - [19376, 1], - [19375, 1], - [19374, 1], - [19373, 1], - [19372, 1], - [19371, 1], - [19370, 1], - [19369, 1], - [19368, 1], - [19367, 1], - [19366, 1], - [19365, 1], - [19364, 1], - [19363, 1], - [19362, 1], - [19361, 1], - [19360, 1], - [19359, 1], - [19358, 1], - [19357, 1], - [19356, 1], - [19355, 1], - [19354, 1], - [19353, 1], - [19352, 1], - [19351, 1], - [19350, 1], - [19349, 1], - [19348, 1], - [19347, 1], - [19346, 1], - [19345, 1], - [19344, 1], - [19343, 1], - [19342, 1], - [19341, 1], - [19340, 1], - [19339, 1], - [19338, 1], - [19337, 1], - [19336, 1], - [19335, 1], - [19334, 1], - [19333, 1], - [19332, 1], - [19331, 1], - [19330, 1], - [19329, 1], - [19328, 1], - [19327, 1], - [19326, 1], - [19325, 1], - [19324, 1], - [19323, 1], - [19322, 1], - [19321, 1], - [19320, 1], - [19319, 1], - [19318, 1], - [19317, 1], - [19316, 1], - [19315, 1], - [19314, 1], - [19313, 1], - [19312, 1], - [19311, 1], - [19310, 1], - [19309, 1], - [19308, 1], - [19307, 1], - [19306, 1], - [19305, 1], - [19304, 1], - [19303, 1], - [19302, 1], - [19301, 1], - [19300, 1], - [19299, 1], - [19298, 1], - [19297, 1], - [19296, 1], - [19295, 1], - [19294, 1], - [19293, 1], - [19292, 1], - [19291, 1], - [19290, 1], - [19289, 1], - [19288, 1], - [19287, 1], - [19286, 1], - [19285, 1], - [19284, 1], - [19283, 1], - [19282, 1], - [19281, 1], - [19280, 1], - [19279, 1], - [19278, 1], - [19277, 1], - [19276, 1], - [19275, 1], - [19274, 1], - [19273, 1], - [19272, 1], - [19271, 1], - [19270, 1], - [19269, 1], - [19268, 1], - [19267, 1], - [19266, 1], - [19265, 1], - [19264, 1], - [19263, 1], - [19262, 1], - [19261, 1], - [19260, 1], - [19259, 1], - [19258, 1], - [19257, 1], - [19256, 1], - [19255, 1], - [19254, 1], - [19253, 1], - [19252, 1], - [19251, 1], - [19250, 1], - [19249, 1], - [19248, 1], - [19247, 1], - [19246, 1], - [19245, 1], - [19244, 1], - [19243, 1], - [19242, 1], - [19241, 1], - [19240, 1], - [19239, 1], - [19238, 1], - [19237, 1], - [19236, 1], - [19235, 1], - [19234, 1], - [19233, 1], - [19232, 1], - [19231, 1], - [19230, 1], - [19229, 1], - [19228, 1], - [19227, 1], - [19226, 1], - [19225, 1], - [19224, 1], - [19223, 1], - [19222, 1], - [19221, 1], - [19220, 1], - [19219, 1], - [19218, 1], - [19217, 1], - [19216, 1], - [19215, 1], - [19214, 1], - [19213, 1], - [19212, 1], - [19211, 1], - [19210, 1], - [19209, 1], - [19208, 1], - [19207, 1], - [19206, 1], - [19205, 1], - [19204, 1], - [19203, 1], - [19202, 1], - [19201, 1], - [19200, 1], - [19199, 1], - [19198, 1], - [19197, 1], - [19196, 1], - [19195, 1], - [19194, 1], - [19193, 1], - [19192, 1], - [19191, 1], - [19190, 1], - [19189, 1], - [19188, 1], - [19187, 1], - [19186, 1], - [19185, 1], - [19184, 1], - [19183, 1], - [19182, 1], - [19181, 1], - [19180, 1], - [19179, 1], - [19178, 1], - [19177, 1], - [19176, 1], - [19175, 1], - [19174, 1], - [19173, 1], - [19172, 1], - [19171, 1], - [19170, 1], - [19169, 1], - [19168, 1], - [19167, 1], - [19166, 1], - [19165, 1], - [19164, 1], - [19163, 1], - [19162, 1], - [19161, 1], - [19160, 1], - [19159, 1], - [19158, 1], - [19157, 1], - [19156, 1], - [19155, 1], - [19154, 1], - [19153, 1], - [19152, 1], - [19151, 1], - [19150, 1], - [19149, 1], - [19148, 1], - [19147, 1], - [19146, 1], - [19145, 1], - [19144, 1], - [19143, 1], - [19142, 1], - [19141, 1], - [19140, 1], - [19139, 1], - [19138, 1], - [19137, 1], - [19136, 1], - [19135, 1], - [19134, 1], - [19133, 1], - [19132, 1], - [19131, 1], - [19130, 1], - [19129, 1], - [19128, 1], - [19127, 1], - [19126, 1], - [19125, 1], - [19124, 1], - [19123, 1], - [19122, 1], - [19121, 1], - [19120, 1], - [19119, 1], - [19118, 1], - [19117, 1], - [19116, 1], - [19115, 1], - [19114, 1], - [19113, 1], - [19112, 1], - [19111, 1], - [19110, 1], - [19109, 1], - [19108, 1], - [19107, 1], - [19106, 1], - [19105, 1], - [19104, 1], - [19103, 1], - [19102, 1], - [19101, 1], - [19100, 1], - [19099, 1], - [19098, 1], - [19097, 1], - [19096, 1], - [19095, 1], - [19094, 1], - [19093, 1], - [19092, 1], - [19091, 1], - [19090, 1], - [19089, 1], - [19088, 1], - [19087, 1], - [19086, 1], - [19085, 1], - [19084, 1], - [19083, 1], - [19082, 1], - [19081, 1], - [19080, 1], - [19079, 1], - [19078, 1], - [19077, 1], - [19076, 1], - [19075, 1], - [19074, 1], - [19073, 1], - [19072, 1], - [19071, 1], - [19070, 1], - [19069, 1], - [19068, 1], - [19067, 1], - [19066, 1], - [19065, 1], - [19064, 1], - [19063, 1], - [19062, 1], - [19061, 1], - [19060, 1], - [19059, 1], - [19058, 1], - [19057, 1], - [19056, 1], - [19055, 1], - [19054, 1], - [19053, 1], - [19052, 1], - [19051, 1], - [19050, 1], - [19049, 1], - [19048, 1], - [19047, 1], - [19046, 1], - [19045, 1], - [19044, 1], - [19043, 1], - [19042, 1], - [19041, 1], - [19040, 1], - [19039, 1], - [19038, 1], - [19037, 1], - [19036, 1], - [19035, 1], - [19034, 1], - [19033, 1], - [19032, 1], - [19031, 1], - [19030, 1], - [19029, 1], - [19028, 1], - [19027, 1], - [19026, 1], - [19025, 1], - [19024, 1], - [19023, 1], - [19022, 1], - [19021, 1], - [19020, 1], - [19019, 1], - [19018, 1], - [19017, 1], - [19016, 1], - [19015, 1], - [19014, 1], - [19013, 1], - [19012, 1], - [19011, 1], - [19010, 1], - [19009, 1], - [19008, 1], - [19007, 1], - [19006, 1], - [19005, 1], - [19004, 1], - [19003, 1], - [19002, 1], - [19001, 1], - [19000, 1], - [18999, 1], - [18998, 1], - [18997, 1], - [18996, 1], - [18995, 1], - [18994, 1], - [18993, 1], - [18992, 1], - [18991, 1], - [18990, 1], - [18989, 1], - [18988, 1], - [18987, 1], - [18986, 1], - [18985, 1], - [18984, 1], - [18983, 1], - [18982, 1], - [18981, 1], - [18980, 1], - [18979, 1], - [18978, 1], - [18977, 1], - [18976, 1], - [18975, 1], - [18974, 1], - [18973, 1], - [18972, 1], - [18971, 1], - [18970, 1], - [18969, 1], - [18968, 1], - [18967, 1], - [18966, 1], - [18965, 1], - [18964, 1], - [18963, 1], - [18962, 1], - [18961, 1], - [18960, 1], - [18959, 1], - [18958, 1], - [18957, 1], - [18956, 1], - [18955, 1], - [18954, 1], - [17502, 0, "s"], - [17503, 0, "u"], - [17504, 0, "b"], - [17458, 1], - [17457, 1], - [17456, 1], - [17455, 1], - [17455, 0, "\\"], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 1], - [17467, 0, "G"], - [17468, 0, "e"], - [17469, 0, "n"], - [17470, 0, "e"], - [17471, 0, "r"], - [17472, 0, "a"], - [17473, 0, "t"], - [17474, 0, "i"], - [17475, 0, "n"], - [17476, 0, "g"], - [17477, 0, " "], - [17478, 0, "o"], - [17479, 0, "p"], - [17480, 0, "e"], - [17481, 0, "r"], - [17482, 0, "a"], - [17483, 0, "t"], - [17484, 0, "i"], - [17485, 0, "o"], - [17486, 0, "n"], - [17487, 0, "s"], - [17489, 0, "\n"], - [17490, 0, "\n"], - [17491, 0, "B"], - [17492, 0, "e"], - [17493, 0, "f"], - [17494, 0, "o"], - [17495, 0, "r"], - [17496, 0, "e"], - [17497, 0, " "], - [17497, 1], - [17496, 1], - [17495, 1], - [17494, 1], - [17493, 1], - [17492, 1], - [17491, 1], - [17491, 0, "W"], - [17492, 0, "e"], - [17493, 0, " "], - [17494, 0, "n"], - [17495, 0, "o"], - [17496, 0, "w"], - [17497, 0, " "], - [17498, 0, "t"], - [17499, 0, "u"], - [17500, 0, "r"], - [17501, 0, "n"], - [17502, 0, " "], - [17503, 0, "t"], - [17504, 0, "o"], - [17505, 0, " "], - [17506, 0, "t"], - [17507, 0, "h"], - [17508, 0, "e"], - [17509, 0, " "], - [17510, 0, "c"], - [17511, 0, "o"], - [17512, 0, "m"], - [17513, 0, "m"], - [17514, 0, "a"], - [17515, 0, "n"], - [17516, 0, "d"], - [17517, 0, "s"], - [17518, 0, " "], - [17519, 0, "f"], - [17520, 0, "o"], - [17521, 0, "r"], - [17522, 0, " "], - [17523, 0, "m"], - [17524, 0, "u"], - [17525, 0, "t"], - [17526, 0, "a"], - [17527, 0, "t"], - [17528, 0, "i"], - [17529, 0, "n"], - [17530, 0, "g"], - [17531, 0, " "], - [17532, 0, "t"], - [17533, 0, "h"], - [17534, 0, "e"], - [17535, 0, " "], - [17536, 0, "s"], - [17537, 0, "t"], - [17538, 0, "a"], - [17539, 0, "t"], - [17540, 0, "e"], - [17541, 0, " "], - [17542, 0, "o"], - [17543, 0, "f"], - [17544, 0, " "], - [17545, 0, "t"], - [17546, 0, "h"], - [17547, 0, "e"], - [17548, 0, " "], - [17549, 0, "d"], - [17550, 0, "o"], - [17551, 0, "c"], - [17552, 0, "u"], - [17553, 0, "m"], - [17554, 0, "e"], - [17555, 0, "n"], - [17556, 0, "t"], - [17557, 0, "."], - [17508, 1], - [17507, 1], - [17506, 1], - [17505, 1], - [17504, 1], - [17503, 1], - [17502, 1], - [17501, 1], - [17500, 1], - [17499, 1], - [17498, 1], - [17497, 1], - [17496, 1], - [17495, 1], - [17494, 1], - [17493, 1], - [17492, 1], - [17491, 1], - [17491, 0, "B"], - [17492, 0, "e"], - [17493, 0, "f"], - [17494, 0, "o"], - [17495, 0, "r"], - [17496, 0, "e"], - [17497, 0, " "], - [17498, 0, "w"], - [17499, 0, "e"], - [17500, 0, " "], - [17501, 0, "c"], - [17502, 0, "a"], - [17503, 0, "n"], - [17504, 0, " "], - [17505, 0, "d"], - [17506, 0, "e"], - [17507, 0, "f"], - [17508, 0, "i"], - [17509, 0, "n"], - [17510, 0, "e"], - [17511, 0, " "], - [17512, 0, "t"], - [17513, 0, "h"], - [17514, 0, "e"], - [17515, 0, " "], - [17516, 0, "f"], - [17517, 0, "o"], - [17518, 0, "r"], - [17519, 0, "m"], - [17520, 0, "a"], - [17521, 0, "l"], - [17522, 0, " "], - [17523, 0, "s"], - [17524, 0, "e"], - [17525, 0, "m"], - [17526, 0, "a"], - [17527, 0, "n"], - [17528, 0, "t"], - [17529, 0, "i"], - [17530, 0, "c"], - [17531, 0, "s"], - [17532, 0, " "], - [17533, 0, "o"], - [17534, 0, "f"], - [17535, 0, " "], - [17536, 0, "t"], - [17537, 0, "h"], - [17538, 0, "e"], - [17551, 1], - [17550, 1], - [17549, 1], - [17549, 0, "t"], - [17550, 0, "h"], - [17551, 0, "a"], - [17552, 0, "t"], - [17561, 1], - [17560, 1], - [17559, 1], - [17559, 0, "e"], - [17586, 0, " "], - [17586, 1], - [17586, 0, ","], - [17587, 0, " "], - [17588, 0, "w"], - [17589, 0, "e"], - [17590, 0, " "], - [17591, 0, "m"], - [17592, 0, "u"], - [17593, 0, "s"], - [17594, 0, "t"], - [17595, 0, " "], - [17553, 1], - [17552, 1], - [17551, 1], - [17550, 1], - [17549, 1], - [17538, 1], - [17537, 1], - [17536, 1], - [17535, 1], - [17534, 1], - [17533, 1], - [17532, 1], - [17531, 1], - [17530, 1], - [17529, 1], - [17528, 1], - [17527, 1], - [17526, 1], - [17525, 1], - [17524, 1], - [17523, 1], - [17522, 1], - [17521, 1], - [17520, 1], - [17519, 1], - [17518, 1], - [17517, 1], - [17516, 1], - [17515, 1], - [17514, 1], - [17513, 1], - [17512, 1], - [17511, 1], - [17510, 1], - [17509, 1], - [17508, 1], - [17507, 1], - [17506, 1], - [17505, 1], - [17504, 1], - [17503, 1], - [17502, 1], - [17501, 1], - [17500, 1], - [17499, 1], - [17498, 1], - [17497, 1], - [17496, 1], - [17495, 1], - [17494, 1], - [17493, 1], - [17492, 1], - [17491, 1], - [17491, 0, "W"], - [17492, 0, "h"], - [17493, 0, "e"], - [17494, 0, "n"], - [17546, 1], - [17545, 1], - [17544, 1], - [17543, 1], - [17542, 1], - [17541, 1], - [17540, 1], - [17539, 1], - [17539, 0, "t"], - [17540, 0, "h"], - [17541, 0, "e"], - [17542, 0, "y"], - [17543, 0, " "], - [17544, 0, "g"], - [17545, 0, "e"], - [17546, 0, "n"], - [17547, 0, "e"], - [17548, 0, "r"], - [17549, 0, "a"], - [17550, 0, "t"], - [17551, 0, "e"], - [17552, 0, " "], - [17553, 0, "\\"], - [17554, 0, "e"], - [17555, 0, "m"], - [17556, 0, "p"], - [17557, 0, "h"], - [17558, 0, "{"], - [17559, 0, "o"], - [17560, 0, "p"], - [17561, 0, "e"], - [17562, 0, "r"], - [17563, 0, "a"], - [17564, 0, "t"], - [17565, 0, "i"], - [17566, 0, "o"], - [17567, 0, "n"], - [17568, 0, "s"], - [17569, 0, "}"], - [17570, 0, " "], - [17571, 0, "t"], - [17572, 0, "h"], - [17573, 0, "a"], - [17574, 0, "t"], - [17575, 0, " "], - [17576, 0, "d"], - [17577, 0, "e"], - [17578, 0, "s"], - [17579, 0, "c"], - [17580, 0, "r"], - [17581, 0, "i"], - [17582, 0, "b"], - [17583, 0, "e"], - [17584, 0, " "], - [17585, 0, "t"], - [17586, 0, "h"], - [17587, 0, "e"], - [17588, 0, " "], - [17589, 0, "m"], - [17590, 0, "u"], - [17591, 0, "t"], - [17592, 0, "a"], - [17593, 0, "t"], - [17594, 0, "i"], - [17595, 0, "o"], - [17596, 0, "n"], - [17598, 0, " "], - [17599, 0, "I"], - [17600, 0, "n"], - [17601, 0, " "], - [17602, 0, "o"], - [17603, 0, "u"], - [17604, 0, "r"], - [17605, 0, " "], - [17606, 0, "s"], - [17607, 0, "e"], - [17608, 0, "m"], - [17609, 0, "a"], - [17610, 0, "n"], - [17611, 0, "t"], - [17612, 0, "i"], - [17613, 0, "c"], - [17614, 0, "s"], - [17615, 0, ","], - [17616, 0, " "], - [17617, 0, "c"], - [17618, 0, "o"], - [17619, 0, "m"], - [17620, 0, "m"], - [17621, 0, "a"], - [17622, 0, "n"], - [17623, 0, "d"], - [17624, 0, "s"], - [17625, 0, " "], - [17626, 0, "n"], - [17627, 0, "e"], - [17628, 0, "v"], - [17629, 0, "e"], - [17630, 0, "r"], - [17631, 0, " "], - [17632, 0, "d"], - [17633, 0, "i"], - [17634, 0, "r"], - [17635, 0, "e"], - [17636, 0, "c"], - [17637, 0, "t"], - [17638, 0, "l"], - [17639, 0, "y"], - [17640, 0, " "], - [17641, 0, "m"], - [17642, 0, "o"], - [17643, 0, "d"], - [17644, 0, "i"], - [17645, 0, "f"], - [17646, 0, "y"], - [17647, 0, " "], - [17648, 0, "t"], - [17649, 0, "h"], - [17650, 0, "e"], - [17651, 0, " "], - [17652, 0, "t"], - [17653, 0, "h"], - [17654, 0, "e"], - [17655, 0, " "], - [17655, 1], - [17654, 1], - [17653, 1], - [17652, 1], - [17652, 0, "l"], - [17653, 0, "o"], - [17654, 0, "c"], - [17655, 0, "a"], - [17656, 0, "l"], - [17657, 0, " "], - [17658, 0, "p"], - [17659, 0, "e"], - [17660, 0, "e"], - [17661, 0, "r"], - [17662, 0, " "], - [17663, 0, "s"], - [17664, 0, "t"], - [17665, 0, "a"], - [17666, 0, "t"], - [17667, 0, "e"], - [17668, 0, " "], - [17669, 0, "$"], - [17670, 0, "A"], - [17671, 0, "_"], - [17672, 0, "p"], - [17673, 0, "$"], - [17674, 0, ","], - [17675, 0, " "], - [17676, 0, "b"], - [17677, 0, "u"], - [17678, 0, "t"], - [17679, 0, " "], - [17680, 0, "o"], - [17681, 0, "n"], - [17682, 0, "l"], - [17683, 0, "y"], - [17684, 0, " "], - [17685, 0, "g"], - [17686, 0, "e"], - [17687, 0, "n"], - [17688, 0, "e"], - [17689, 0, "r"], - [17690, 0, "a"], - [17691, 0, "t"], - [17692, 0, "e"], - [17693, 0, " "], - [17694, 0, "a"], - [17695, 0, "n"], - [17696, 0, " "], - [17697, 0, "o"], - [17698, 0, "p"], - [17699, 0, "e"], - [17700, 0, "r"], - [17701, 0, "a"], - [17702, 0, "t"], - [17703, 0, "i"], - [17704, 0, "o"], - [17705, 0, "n"], - [17706, 0, "."], - [17617, 0, "a"], - [17618, 0, " "], - [17626, 1], - [17647, 1], - [17647, 0, "i"], - [17648, 0, "e"], - [17649, 0, "s"], - [17696, 0, "s"], - [17711, 0, " "], - [17712, 0, "T"], - [17713, 0, "h"], - [17714, 0, "a"], - [17715, 0, "t"], - [17716, 0, " "], - [17717, 0, "o"], - [17718, 0, "p"], - [17719, 0, "e"], - [17720, 0, "r"], - [17721, 0, "a"], - [17722, 0, "t"], - [17723, 0, "i"], - [17724, 0, "o"], - [17725, 0, "n"], - [17726, 0, " "], - [17727, 0, "i"], - [17728, 0, "s"], - [17729, 0, " "], - [17730, 0, "t"], - [17731, 0, "h"], - [17732, 0, "a"], - [17733, 0, "t"], - [17734, 0, " "], - [17734, 1], - [17733, 1], - [17732, 1], - [17732, 0, "e"], - [17733, 0, "n"], - [17734, 0, " "], - [17735, 0, "a"], - [17736, 0, "p"], - [17737, 0, "p"], - [17738, 0, "l"], - [17739, 0, "i"], - [17740, 0, "e"], - [17741, 0, "d"], - [17742, 0, " "], - [17743, 0, "t"], - [17744, 0, "o"], - [17745, 0, " "], - [17746, 0, "$"], - [17747, 0, "A"], - [17748, 0, "_"], - [17749, 0, "p"], - [17750, 0, "$"], - [17751, 0, " "], - [17752, 0, "i"], - [17753, 0, "n"], - [17754, 0, " "], - [17755, 0, "o"], - [17756, 0, "r"], - [17757, 0, "d"], - [17758, 0, "e"], - [17759, 0, "r"], - [17760, 0, " "], - [17761, 0, "t"], - [17762, 0, "o"], - [17763, 0, " "], - [17735, 0, "i"], - [17736, 0, "m"], - [17737, 0, "m"], - [17738, 0, "e"], - [17739, 0, "d"], - [17740, 0, "i"], - [17741, 0, "a"], - [17742, 0, "t"], - [17743, 0, "e"], - [17744, 0, "l"], - [17745, 0, "y"], - [17746, 0, " "], - [17775, 1], - [17774, 1], - [17773, 1], - [17772, 1], - [17771, 1], - [17770, 1], - [17769, 1], - [17768, 1], - [17767, 1], - [17766, 1], - [17765, 1], - [17764, 1], - [17764, 0, "s"], - [17765, 0, "o"], - [17766, 0, " "], - [17767, 0, "t"], - [17768, 0, "h"], - [17769, 0, "a"], - [17770, 0, "t"], - [17771, 0, " "], - [17772, 0, "i"], - [17773, 0, "t"], - [17774, 0, " "], - [17775, 0, "t"], - [17776, 0, "a"], - [17777, 0, "k"], - [17778, 0, "e"], - [17779, 0, "s"], - [17780, 0, " "], - [17781, 0, "e"], - [17782, 0, "f"], - [17783, 0, "f"], - [17784, 0, "e"], - [17785, 0, "c"], - [17786, 0, "t"], - [17787, 0, " "], - [17788, 0, "l"], - [17789, 0, "o"], - [17790, 0, "c"], - [17791, 0, "a"], - [17792, 0, "l"], - [17793, 0, "l"], - [17794, 0, "y"], - [17795, 0, ","], - [17796, 0, " "], - [17797, 0, "a"], - [17798, 0, "n"], - [17799, 0, "d"], - [17800, 0, " "], - [17801, 0, "a"], - [17802, 0, "s"], - [17803, 0, "y"], - [17804, 0, "n"], - [17805, 0, "c"], - [17806, 0, "h"], - [17807, 0, "r"], - [17808, 0, "o"], - [17809, 0, "n"], - [17810, 0, "o"], - [17811, 0, "u"], - [17812, 0, "s"], - [17813, 0, "l"], - [17814, 0, "y"], - [17815, 0, " "], - [17801, 0, "t"], - [17802, 0, "h"], - [17803, 0, "e"], - [17804, 0, " "], - [17805, 0, "o"], - [17806, 0, "p"], - [17807, 0, "e"], - [17808, 0, "r"], - [17809, 0, "a"], - [17810, 0, "t"], - [17811, 0, "i"], - [17812, 0, "o"], - [17813, 0, "n"], - [17814, 0, " "], - [17815, 0, "i"], - [17816, 0, "s"], - [17817, 0, " "], - [17818, 0, "a"], - [17819, 0, "l"], - [17820, 0, "s"], - [17821, 0, "o"], - [17822, 0, " "], - [17838, 0, "b"], - [17839, 0, "r"], - [17840, 0, "o"], - [17841, 0, "a"], - [17842, 0, "d"], - [17843, 0, "c"], - [17844, 0, "a"], - [17845, 0, "s"], - [17846, 0, "t"], - [17847, 0, " "], - [17848, 0, "t"], - [17849, 0, "o"], - [17850, 0, " "], - [17851, 0, "t"], - [17852, 0, "h"], - [17853, 0, "e"], - [17854, 0, " "], - [17855, 0, "o"], - [17856, 0, "t"], - [17857, 0, "h"], - [17858, 0, "e"], - [17859, 0, "r"], - [17860, 0, " "], - [17861, 0, "p"], - [17862, 0, "e"], - [17863, 0, "e"], - [17864, 0, "r"], - [17865, 0, "s"], - [17866, 0, "."], - [17867, 0, " "], - [17868, 0, "A"], - [17869, 0, " "], - [17870, 0, "p"], - [17871, 0, "e"], - [17872, 0, "e"], - [17873, 0, "r"], - [17874, 0, " "], - [17875, 0, "a"], - [17876, 0, "p"], - [17877, 0, "p"], - [17878, 0, "l"], - [17879, 0, "i"], - [17880, 0, "e"], - [17881, 0, "s"], - [17882, 0, " "], - [17882, 1], - [17881, 1], - [17881, 0, "s"], - [17882, 0, " "], - [17883, 0, "o"], - [17884, 0, "p"], - [17885, 0, "e"], - [17886, 0, "r"], - [17887, 0, "a"], - [17888, 0, "t"], - [17889, 0, "i"], - [17890, 0, "o"], - [17891, 0, "n"], - [17892, 0, "s"], - [17893, 0, " "], - [17894, 0, "r"], - [17895, 0, "e"], - [17896, 0, "c"], - [17897, 0, "e"], - [17898, 0, "i"], - [17899, 0, "v"], - [17900, 0, "e"], - [17901, 0, "d"], - [17902, 0, " "], - [17903, 0, "f"], - [17904, 0, "r"], - [17905, 0, "o"], - [17906, 0, "m"], - [17907, 0, " "], - [17908, 0, "r"], - [17909, 0, "e"], - [17910, 0, "m"], - [17911, 0, "o"], - [17912, 0, "t"], - [17913, 0, "e"], - [17914, 0, " "], - [17915, 0, "n"], - [17916, 0, "o"], - [17917, 0, "d"], - [17918, 0, "e"], - [17919, 0, "s"], - [17920, 0, " "], - [17921, 0, "w"], - [17922, 0, "h"], - [17923, 0, "e"], - [17924, 0, "n"], - [17925, 0, " "], - [17926, 0, "i"], - [17927, 0, "t"], - [17928, 0, "s"], - [17929, 0, " "], - [17930, 0, "c"], - [17931, 0, "a"], - [17932, 0, "u"], - [17933, 0, "s"], - [17934, 0, "a"], - [17935, 0, "l"], - [17936, 0, " "], - [17937, 0, "d"], - [17938, 0, "e"], - [17939, 0, "p"], - [17940, 0, "e"], - [17941, 0, "n"], - [17942, 0, "d"], - [17943, 0, "e"], - [17944, 0, "n"], - [17945, 0, "c"], - [17946, 0, "i"], - [17947, 0, "e"], - [17948, 0, "s"], - [17949, 0, " "], - [17950, 0, "a"], - [17951, 0, "r"], - [17952, 0, "e"], - [17953, 0, " "], - [17954, 0, "s"], - [17955, 0, "a"], - [17956, 0, "t"], - [17957, 0, "i"], - [17958, 0, "s"], - [17959, 0, "f"], - [17960, 0, "i"], - [17961, 0, "e"], - [17962, 0, "d"], - [17963, 0, ","], - [17964, 0, " "], - [17965, 0, "a"], - [17966, 0, "s"], - [17967, 0, " "], - [17968, 0, "d"], - [17969, 0, "e"], - [17970, 0, "t"], - [17971, 0, "a"], - [17972, 0, "i"], - [17973, 0, "l"], - [17974, 0, "e"], - [17975, 0, "d"], - [17976, 0, " "], - [17977, 0, "b"], - [17978, 0, "e"], - [17979, 0, "l"], - [17980, 0, "o"], - [17981, 0, "w"], - [17982, 0, "."], - [17983, 0, "\n"], - [17984, 0, "\n"], - [17985, 1], - [17985, 1], - [18020, 0, "\n"], - [18020, 0, "\n"], - [18021, 0, "E"], - [18022, 0, "v"], - [18023, 0, "e"], - [18024, 0, "r"], - [18025, 0, "y"], - [18026, 0, " "], - [18027, 0, "o"], - [18028, 0, "p"], - [18029, 0, "e"], - [18030, 0, "r"], - [18031, 0, "a"], - [18032, 0, "t"], - [18033, 0, "i"], - [18034, 0, "o"], - [18035, 0, "n"], - [18036, 0, " "], - [18037, 0, "i"], - [18038, 0, "n"], - [18039, 0, " "], - [18040, 0, "o"], - [18041, 0, "u"], - [18042, 0, "r"], - [18043, 0, " "], - [18044, 0, "m"], - [18045, 0, "o"], - [18046, 0, "d"], - [18047, 0, "e"], - [18048, 0, "l"], - [18049, 0, " "], - [18050, 0, "i"], - [18051, 0, "s"], - [18052, 0, " "], - [18053, 0, "g"], - [18054, 0, "i"], - [18055, 0, "v"], - [18056, 0, "e"], - [18057, 0, "n"], - [18058, 0, " "], - [18059, 0, "a"], - [18060, 0, " "], - [18061, 0, "u"], - [18062, 0, "n"], - [18063, 0, "i"], - [18064, 0, "q"], - [18065, 0, "u"], - [18066, 0, "e"], - [18067, 0, " "], - [18068, 0, "i"], - [18069, 0, "d"], - [18070, 0, "e"], - [18071, 0, "n"], - [18072, 0, "t"], - [18073, 0, "i"], - [18074, 0, "f"], - [18075, 0, "i"], - [18076, 0, "e"], - [18077, 0, "r"], - [18078, 0, ","], - [18079, 0, " "], - [18080, 0, "w"], - [18081, 0, "h"], - [18082, 0, "i"], - [18083, 0, "c"], - [18084, 0, "h"], - [18085, 0, " "], - [18086, 0, "i"], - [18087, 0, "s"], - [18088, 0, " "], - [18089, 0, "u"], - [18090, 0, "s"], - [18091, 0, "e"], - [18092, 0, "d"], - [18093, 0, " "], - [18094, 0, "a"], - [18095, 0, "s"], - [18096, 0, " "], - [18097, 0, "p"], - [18098, 0, "a"], - [18099, 0, "r"], - [18100, 0, "t"], - [18101, 0, " "], - [18102, 0, "o"], - [18103, 0, "f"], - [18104, 0, " "], - [18105, 0, "t"], - [18106, 0, "h"], - [18107, 0, "e"], - [18108, 0, " "], - [18109, 0, "l"], - [18110, 0, "o"], - [18111, 0, "c"], - [18112, 0, "a"], - [18113, 0, "l"], - [18114, 0, " "], - [18115, 0, "s"], - [18116, 0, "t"], - [18117, 0, "a"], - [18118, 0, "t"], - [18119, 0, "e"], - [18120, 0, " "], - [18121, 0, "a"], - [18122, 0, "n"], - [18123, 0, "d"], - [18124, 0, " "], - [18125, 0, "o"], - [18126, 0, "f"], - [18127, 0, " "], - [18128, 0, "c"], - [18129, 0, "u"], - [18130, 0, "r"], - [18131, 0, "s"], - [18132, 0, "o"], - [18133, 0, "r"], - [18134, 0, "s"], - [18135, 0, "."], - [18103, 1], - [18102, 1], - [18101, 1], - [18100, 1], - [18099, 1], - [18098, 1], - [18097, 1], - [18096, 1], - [18095, 1], - [18094, 1], - [18094, 0, "i"], - [18095, 0, "n"], - [18118, 1], - [18117, 1], - [18117, 0, "i"], - [18118, 0, "n"], - [18128, 0, " "], - [18129, 0, "F"], - [18130, 0, "o"], - [18131, 0, "r"], - [18132, 0, " "], - [18133, 0, "e"], - [18134, 0, "x"], - [18135, 0, "a"], - [18136, 0, "m"], - [18137, 0, "p"], - [18138, 0, "l"], - [18139, 0, "e"], - [18140, 0, ","], - [18141, 0, " "], - [18142, 0, "i"], - [18143, 0, "n"], - [18144, 0, " "], - [18145, 0, "F"], - [18146, 0, "i"], - [18147, 0, "g"], - [18148, 0, "u"], - [18149, 0, "r"], - [18150, 0, "e"], - [18151, 0, "~"], - [18152, 0, "\\"], - [18153, 0, "r"], - [18154, 0, "e"], - [18155, 0, "f"], - [18156, 0, "{"], - [18157, 0, "f"], - [18158, 0, "i"], - [18159, 0, "g"], - [18160, 0, ":"], - [18161, 0, "s"], - [18162, 0, "t"], - [18163, 0, "a"], - [18164, 0, "t"], - [18165, 0, "e"], - [18166, 0, "-"], - [18167, 0, "e"], - [18168, 0, "x"], - [18169, 0, "a"], - [18170, 0, "m"], - [18171, 0, "p"], - [18172, 0, "l"], - [18173, 0, "e"], - [18174, 0, "}"], - [18175, 0, ","], - [18176, 0, " "], - [18177, 0, "$"], - [18178, 0, "\\"], - [18179, 0, "m"], - [18180, 0, "a"], - [18181, 0, "t"], - [18182, 0, "h"], - [18183, 0, "i"], - [18184, 0, "t"], - [18185, 0, "{"], - [18186, 0, "i"], - [18187, 0, "d"], - [18188, 0, "}"], - [18189, 0, "_"], - [18190, 0, "{"], - [18191, 0, "1"], - [18192, 0, ","], - [18193, 0, "2"], - [18194, 0, ","], - [18195, 0, "3"], - [18196, 0, "}"], - [18197, 0, "$"], - [18198, 0, " "], - [18199, 0, "a"], - [18200, 0, "r"], - [18201, 0, "e"], - [18202, 0, " "], - [18203, 0, "u"], - [18204, 0, "s"], - [18205, 0, "e"], - [18206, 0, "d"], - [18207, 0, " "], - [18208, 0, "t"], - [18209, 0, "o"], - [18210, 0, " "], - [18211, 0, "i"], - [18212, 0, "d"], - [18213, 0, "e"], - [18214, 0, "n"], - [18215, 0, "t"], - [18216, 0, "i"], - [18217, 0, "f"], - [18218, 0, "y"], - [18219, 0, " "], - [18220, 0, "l"], - [18221, 0, "i"], - [18222, 0, "s"], - [18223, 0, "t"], - [18224, 0, " "], - [18225, 0, "e"], - [18226, 0, "l"], - [18227, 0, "e"], - [18228, 0, "m"], - [18229, 0, "e"], - [18230, 0, "n"], - [18231, 0, "t"], - [18232, 0, "s"], - [18233, 0, " "], - [18234, 0, "a"], - [18235, 0, "n"], - [18236, 0, "d"], - [18237, 0, " "], - [18238, 0, "a"], - [18239, 0, "l"], - [18240, 0, "s"], - [18241, 0, "o"], - [18242, 0, " "], - [18243, 0, "t"], - [18244, 0, "h"], - [18245, 0, "e"], - [18246, 0, " "], - [18247, 0, "v"], - [18248, 0, "a"], - [18249, 0, "l"], - [18250, 0, "u"], - [18251, 0, "e"], - [18252, 0, "s"], - [18253, 0, " "], - [18254, 0, "o"], - [18255, 0, "f"], - [18256, 0, " "], - [18257, 0, "r"], - [18258, 0, "e"], - [18259, 0, "g"], - [18260, 0, "i"], - [18261, 0, "s"], - [18262, 0, "t"], - [18263, 0, "e"], - [18264, 0, "r"], - [18265, 0, "s"], - [18266, 0, "."], - [18267, 0, " "], - [18268, 0, "T"], - [18269, 0, "h"], - [18270, 0, "o"], - [18271, 0, "s"], - [18272, 0, "e"], - [18273, 0, " "], - [18274, 0, "i"], - [18275, 0, "d"], - [18276, 0, "e"], - [18277, 0, "n"], - [18278, 0, "t"], - [18279, 0, "i"], - [18280, 0, "f"], - [18281, 0, "i"], - [18282, 0, "e"], - [18283, 0, "r"], - [18284, 0, "s"], - [18285, 0, " "], - [18286, 0, "$"], - [18287, 0, "\\"], - [18288, 0, "m"], - [18289, 0, "a"], - [18290, 0, "t"], - [18291, 0, "h"], - [18292, 0, "i"], - [18293, 0, "t"], - [18294, 0, "{"], - [18295, 0, "i"], - [18296, 0, "d"], - [18297, 0, "}"], - [18298, 0, "_"], - [18299, 0, "{"], - [18300, 0, "1"], - [18301, 0, ","], - [18302, 0, "2"], - [18303, 0, ","], - [18304, 0, "3"], - [18305, 0, ","], - [18306, 0, "}"], - [18307, 0, "$"], - [18308, 0, " "], - [18305, 1], - [18308, 0, "a"], - [18309, 0, "r"], - [18310, 0, "e"], - [18311, 0, " "], - [18312, 0, "i"], - [18313, 0, "n"], - [18314, 0, "f"], - [18315, 0, "a"], - [18316, 0, "c"], - [18317, 0, "t"], - [18318, 0, " "], - [18319, 0, "t"], - [18320, 0, "h"], - [18321, 0, "e"], - [18322, 0, " "], - [18323, 0, "i"], - [18324, 0, "d"], - [18325, 0, "e"], - [18326, 0, "n"], - [18327, 0, "t"], - [18328, 0, "i"], - [18329, 0, "f"], - [18330, 0, "i"], - [18331, 0, "e"], - [18332, 0, "r"], - [18333, 0, "s"], - [18334, 0, " "], - [18314, 0, " "], - [18336, 0, "o"], - [18337, 0, "f"], - [18338, 0, " "], - [18339, 0, "t"], - [18340, 0, "h"], - [18341, 0, "e"], - [18342, 0, " "], - [18343, 0, "o"], - [18344, 0, "p"], - [18345, 0, "e"], - [18346, 0, "r"], - [18347, 0, "a"], - [18348, 0, "t"], - [18349, 0, "i"], - [18350, 0, "o"], - [18351, 0, "n"], - [18352, 0, "s"], - [18353, 0, " "], - [18354, 0, "t"], - [18355, 0, "h"], - [18356, 0, "a"], - [18357, 0, "t"], - [18358, 0, " "], - [18359, 0, "i"], - [18360, 0, "n"], - [18361, 0, "s"], - [18362, 0, "e"], - [18363, 0, "r"], - [18364, 0, "t"], - [18365, 0, "e"], - [18366, 0, "d"], - [18367, 0, " "], - [18368, 0, "t"], - [18369, 0, "h"], - [18370, 0, "e"], - [18371, 0, " "], - [18372, 0, "l"], - [18373, 0, "i"], - [18374, 0, "s"], - [18375, 0, "t"], - [18376, 0, " "], - [18377, 0, "e"], - [18378, 0, "l"], - [18379, 0, "e"], - [18380, 0, "m"], - [18381, 0, "e"], - [18382, 0, "n"], - [18383, 0, "t"], - [18384, 0, "s"], - [18385, 0, "."], - [18386, 0, "\n"], - [18387, 0, "\n"], - [18388, 0, "I"], - [18389, 0, "n"], - [18390, 0, " "], - [18390, 1], - [18389, 1], - [18388, 1], - [18388, 0, "W"], - [18389, 0, "e"], - [18390, 0, " "], - [18391, 0, "u"], - [18392, 0, "s"], - [18393, 0, "e"], - [18394, 0, " "], - [18395, 0, "L"], - [18396, 0, "a"], - [18397, 0, "m"], - [18398, 0, "p"], - [18399, 0, "o"], - [18400, 0, "r"], - [18401, 0, "t"], - [18402, 0, " "], - [18403, 0, "t"], - [18404, 0, "i"], - [18405, 0, "m"], - [18406, 0, "e"], - [18407, 0, "s"], - [18408, 0, "t"], - [18409, 0, "a"], - [18410, 0, "m"], - [18411, 0, "p"], - [18412, 0, "s"], - [18413, 0, "~"], - [18414, 0, "\\"], - [18415, 0, "c"], - [18416, 0, "i"], - [18417, 0, "t"], - [18418, 0, "e"], - [18419, 0, "{"], - [18420, 0, "L"], - [18421, 0, "a"], - [18422, 0, "m"], - [18423, 0, "p"], - [18424, 0, "o"], - [18425, 0, "r"], - [18426, 0, "t"], - [18427, 0, ":"], - [18428, 0, "1"], - [18429, 0, "9"], - [18430, 0, "7"], - [18431, 0, "8"], - [18432, 0, "j"], - [18433, 0, "q"], - [18434, 0, "}"], - [18435, 0, " "], - [18436, 0, "t"], - [18437, 0, "o"], - [18438, 0, " "], - [18439, 0, "g"], - [18440, 0, "e"], - [18441, 0, "n"], - [18442, 0, "e"], - [18443, 0, "r"], - [18444, 0, "a"], - [18445, 0, "t"], - [18446, 0, "e"], - [18447, 0, " "], - [18448, 0, "t"], - [18449, 0, "h"], - [18449, 1], - [18448, 1], - [18447, 1], - [18446, 1], - [18445, 1], - [18444, 1], - [18443, 1], - [18442, 1], - [18441, 1], - [18440, 1], - [18439, 1], - [18438, 1], - [18437, 1], - [18436, 1], - [18436, 0, "a"], - [18437, 0, "s"], - [18438, 0, " "], - [18439, 0, "o"], - [18440, 0, "p"], - [18441, 0, "e"], - [18442, 0, "r"], - [18443, 0, "a"], - [18444, 0, "t"], - [18445, 0, "i"], - [18446, 0, "o"], - [18447, 0, "n"], - [18448, 0, " "], - [18449, 0, "i"], - [18450, 0, "d"], - [18451, 0, "e"], - [18452, 0, "n"], - [18453, 0, "t"], - [18454, 0, "i"], - [18455, 0, "f"], - [18456, 0, "i"], - [18457, 0, "e"], - [18458, 0, "r"], - [18459, 0, "s"], - [18460, 0, ","], - [18461, 0, " "], - [18388, 0, " "], - [18388, 0, "I"], - [18389, 0, "n"], - [18390, 0, " "], - [18391, 0, "o"], - [18392, 0, "r"], - [18393, 0, "d"], - [18394, 0, "e"], - [18395, 0, "r"], - [18396, 0, " "], - [18397, 0, "t"], - [18398, 0, "o"], - [18399, 0, " "], - [18400, 0, "g"], - [18401, 0, "e"], - [18402, 0, "n"], - [18403, 0, "e"], - [18404, 0, "r"], - [18405, 0, "q"], - [18405, 1], - [18405, 0, "a"], - [18406, 0, "t"], - [18407, 0, "e"], - [18408, 0, " "], - [18409, 0, "g"], - [18410, 0, "l"], - [18411, 0, "o"], - [18412, 0, "b"], - [18413, 0, "a"], - [18414, 0, "l"], - [18415, 0, "l"], - [18416, 0, "y"], - [18417, 0, " "], - [18418, 0, "u"], - [18419, 0, "n"], - [18420, 0, "i"], - [18421, 0, "q"], - [18422, 0, "u"], - [18423, 0, "e"], - [18424, 0, " "], - [18425, 0, "o"], - [18426, 0, "p"], - [18427, 0, "e"], - [18428, 0, "r"], - [18429, 0, "a"], - [18430, 0, "t"], - [18431, 0, "i"], - [18432, 0, "o"], - [18433, 0, "n"], - [18434, 0, " "], - [18435, 0, "i"], - [18436, 0, "d"], - [18437, 0, "e"], - [18438, 0, "n"], - [18439, 0, "t"], - [18440, 0, "i"], - [18441, 0, "f"], - [18442, 0, "i"], - [18443, 0, "e"], - [18444, 0, "r"], - [18445, 0, "s"], - [18446, 0, " "], - [18447, 0, "w"], - [18448, 0, "i"], - [18449, 0, "t"], - [18450, 0, "h"], - [18451, 0, "o"], - [18452, 0, "u"], - [18453, 0, "t"], - [18454, 0, " "], - [18455, 0, "s"], - [18456, 0, "y"], - [18457, 0, "n"], - [18458, 0, "c"], - [18459, 0, "h"], - [18460, 0, "r"], - [18461, 0, "o"], - [18462, 0, "n"], - [18463, 0, "i"], - [18464, 0, "z"], - [18465, 0, "a"], - [18466, 0, "t"], - [18467, 0, "i"], - [18468, 0, "o"], - [18469, 0, "n"], - [18470, 0, " "], - [18471, 0, "b"], - [18472, 0, "e"], - [18473, 0, "t"], - [18474, 0, "w"], - [18475, 0, "e"], - [18476, 0, "e"], - [18477, 0, "n"], - [18478, 0, " "], - [18479, 0, "p"], - [18480, 0, "e"], - [18481, 0, "e"], - [18482, 0, "r"], - [18483, 0, "s"], - [18484, 0, ","], - [18469, 1], - [18468, 1], - [18467, 1], - [18466, 1], - [18465, 1], - [18464, 1], - [18463, 1], - [18462, 1], - [18462, 0, "n"], - [18463, 0, "o"], - [18464, 0, "u"], - [18465, 0, "s"], - [18466, 0, " "], - [18467, 0, "c"], - [18468, 0, "o"], - [18469, 0, "o"], - [18470, 0, "r"], - [18471, 0, "d"], - [18472, 0, "i"], - [18473, 0, "n"], - [18474, 0, "a"], - [18475, 0, "t"], - [18476, 0, "i"], - [18477, 0, "o"], - [18478, 0, "n"], - [18455, 0, "r"], - [18456, 0, "e"], - [18457, 0, "q"], - [18458, 0, "u"], - [18459, 0, "i"], - [18460, 0, "r"], - [18461, 0, "i"], - [18462, 0, "n"], - [18463, 0, "g"], - [18464, 0, " "], - [18503, 1], - [18504, 1], - [18504, 0, "w"], - [18577, 1], - [18576, 1], - [18575, 1], - [18574, 1], - [18573, 1], - [18572, 1], - [18571, 1], - [18570, 1], - [18569, 1], - [18568, 1], - [18567, 1], - [18566, 1], - [18565, 1], - [18564, 1], - [18563, 1], - [18562, 1], - [18561, 1], - [18560, 1], - [18559, 1], - [18558, 1], - [18557, 1], - [18556, 1], - [18555, 1], - [18554, 1], - [18553, 1], - [18552, 1], - [18551, 1], - [18550, 1], - [18550, 0, "}"], - [18551, 0, "."], - [18922, 0, " "], - [18923, 0, "("], - [18924, 0, "f"], - [18925, 0, "o"], - [18926, 0, "r"], - [18927, 0, " "], - [18928, 0, "e"], - [18929, 0, "x"], - [18930, 0, "a"], - [18931, 0, "m"], - [18932, 0, "p"], - [18933, 0, "l"], - [18934, 0, "e"], - [18935, 0, ","], - [18936, 0, " "], - [18937, 0, "t"], - [18938, 0, "h"], - [18939, 0, "e"], - [18940, 0, " "], - [18941, 0, "h"], - [18942, 0, "a"], - [18943, 0, "s"], - [18944, 0, "h"], - [18945, 0, " "], - [18946, 0, "o"], - [18947, 0, "f"], - [18948, 0, " "], - [18949, 0, "i"], - [18950, 0, "t"], - [18951, 0, "s"], - [18952, 0, " "], - [18953, 0, "p"], - [18954, 0, "u"], - [18955, 0, "b"], - [18956, 0, "l"], - [18957, 0, "i"], - [18958, 0, "c"], - [18959, 0, " "], - [18960, 0, "k"], - [18961, 0, "e"], - [18962, 0, "y"], - [18963, 0, ")"], - [18939, 1], - [18938, 1], - [18937, 1], - [18936, 1], - [18936, 0, " "], - [18937, 0, "a"], - [18938, 0, " "], - [18939, 0, "c"], - [18940, 0, "r"], - [18941, 0, "y"], - [18942, 0, "p"], - [18943, 0, "t"], - [18944, 0, "o"], - [18945, 0, "g"], - [18946, 0, "r"], - [18947, 0, "a"], - [18948, 0, "p"], - [18949, 0, "h"], - [18950, 0, "i"], - [18951, 0, "c"], - [18810, 1], - [18809, 1], - [18808, 1], - [18807, 1], - [18806, 1], - [18805, 1], - [18804, 1], - [18803, 1], - [18802, 1], - [18801, 1], - [18800, 1], - [18799, 1], - [18798, 1], - [18797, 1], - [18796, 1], - [18795, 1], - [18794, 1], - [18793, 1], - [18792, 1], - [18791, 1], - [18790, 1], - [18789, 1], - [18788, 1], - [18787, 1], - [18786, 1], - [18785, 1], - [18784, 1], - [18783, 1], - [18782, 1], - [18781, 1], - [18780, 1], - [18779, 1], - [18778, 1], - [18777, 1], - [18776, 1], - [18775, 1], - [18774, 1], - [18773, 1], - [18772, 1], - [18771, 1], - [18770, 1], - [18769, 1], - [18768, 1], - [18767, 1], - [18766, 1], - [18765, 1], - [18764, 1], - [18763, 1], - [18762, 1], - [18761, 1], - [18760, 1], - [18759, 1], - [18758, 1], - [18757, 1], - [18756, 1], - [18755, 1], - [18754, 1], - [18753, 1], - [18752, 1], - [18751, 1], - [18750, 1], - [18749, 1], - [18748, 1], - [18747, 1], - [18746, 1], - [18745, 1], - [18744, 1], - [18743, 1], - [18742, 1], - [18741, 1], - [18740, 1], - [18739, 1], - [18738, 1], - [18737, 1], - [18736, 1], - [18735, 1], - [18734, 1], - [18733, 1], - [18732, 1], - [18731, 1], - [18730, 1], - [18729, 1], - [18728, 1], - [18727, 1], - [18726, 1], - [18725, 1], - [18724, 1], - [18723, 1], - [18722, 1], - [18721, 1], - [18720, 1], - [18719, 1], - [18718, 1], - [18717, 1], - [18716, 1], - [18715, 1], - [18714, 1], - [18713, 1], - [18712, 1], - [18711, 1], - [18710, 1], - [18709, 1], - [18708, 1], - [18707, 1], - [18706, 1], - [18705, 1], - [18704, 1], - [18703, 1], - [18702, 1], - [18701, 1], - [18700, 1], - [18699, 1], - [18698, 1], - [18697, 1], - [18696, 1], - [18695, 1], - [18694, 1], - [18693, 1], - [18692, 1], - [18691, 1], - [18690, 1], - [18689, 1], - [18688, 1], - [18687, 1], - [18686, 1], - [18685, 1], - [18684, 1], - [18683, 1], - [18682, 1], - [18681, 1], - [18680, 1], - [18679, 1], - [18678, 1], - [18677, 1], - [18676, 1], - [18675, 1], - [18674, 1], - [18673, 1], - [18672, 1], - [18671, 1], - [18670, 1], - [18669, 1], - [18668, 1], - [18667, 1], - [18666, 1], - [18665, 1], - [18664, 1], - [18663, 1], - [18662, 1], - [18661, 1], - [18660, 1], - [18659, 1], - [18658, 1], - [18657, 1], - [18656, 1], - [18655, 1], - [18654, 1], - [18653, 1], - [18652, 1], - [18651, 1], - [18650, 1], - [18649, 1], - [18648, 1], - [18647, 1], - [18646, 1], - [18645, 1], - [18644, 1], - [18643, 1], - [18642, 1], - [18641, 1], - [18640, 1], - [18639, 1], - [18638, 1], - [18637, 1], - [18636, 1], - [18635, 1], - [18634, 1], - [18633, 1], - [18632, 1], - [18631, 1], - [18630, 1], - [18629, 1], - [18628, 1], - [18627, 1], - [18626, 1], - [18625, 1], - [18624, 1], - [18623, 1], - [18622, 1], - [18621, 1], - [18620, 1], - [18619, 1], - [18618, 1], - [18617, 1], - [18616, 1], - [18615, 1], - [18614, 1], - [18613, 1], - [18612, 1], - [18611, 1], - [18610, 1], - [18609, 1], - [18608, 1], - [18607, 1], - [18606, 1], - [18605, 1], - [18604, 1], - [18603, 1], - [18602, 1], - [18601, 1], - [18600, 1], - [18599, 1], - [18598, 1], - [18597, 1], - [18596, 1], - [18595, 1], - [18594, 1], - [18593, 1], - [18592, 1], - [18591, 1], - [18590, 1], - [18589, 1], - [18588, 1], - [18587, 1], - [18586, 1], - [18585, 1], - [18584, 1], - [18583, 1], - [18582, 1], - [18581, 1], - [18580, 1], - [18579, 1], - [18578, 1], - [18577, 1], - [18576, 1], - [18575, 1], - [18574, 1], - [18573, 1], - [18572, 1], - [18571, 1], - [18570, 1], - [18569, 1], - [18568, 1], - [18567, 1], - [18566, 1], - [18565, 1], - [18564, 1], - [18563, 1], - [18562, 1], - [18561, 1], - [18560, 1], - [18559, 1], - [18558, 1], - [18557, 1], - [18556, 1], - [18555, 1], - [18554, 1], - [18553, 1], - [18552, 1], - [18552, 0, " "], - [18718, 1], - [18718, 0, ","], - [18719, 0, " "], - [18720, 0, "a"], - [18721, 0, "n"], - [18722, 0, "d"], - [18928, 1], - [18927, 1], - [18926, 1], - [18925, 1], - [18924, 1], - [18923, 1], - [18922, 1], - [18921, 1], - [18920, 1], - [18919, 1], - [18918, 1], - [18917, 1], - [18916, 1], - [18915, 1], - [18914, 1], - [18913, 1], - [18912, 1], - [18911, 1], - [18910, 1], - [18909, 1], - [18908, 1], - [18907, 1], - [18906, 1], - [18905, 1], - [18904, 1], - [18903, 1], - [18902, 1], - [18901, 1], - [18900, 1], - [18899, 1], - [18898, 1], - [18897, 1], - [18896, 1], - [18895, 1], - [18894, 1], - [18893, 1], - [18892, 1], - [18891, 1], - [18890, 1], - [18889, 1], - [18888, 1], - [18887, 1], - [18886, 1], - [18885, 1], - [18884, 1], - [18883, 1], - [18882, 1], - [18881, 1], - [18880, 1], - [18879, 1], - [18878, 1], - [18877, 1], - [18876, 1], - [18875, 1], - [18874, 1], - [18873, 1], - [18872, 1], - [18871, 1], - [18870, 1], - [18869, 1], - [18868, 1], - [18867, 1], - [18866, 1], - [18865, 1], - [18864, 1], - [18863, 1], - [18862, 1], - [18861, 1], - [18860, 1], - [18859, 1], - [18858, 1], - [18857, 1], - [18856, 1], - [18855, 1], - [18854, 1], - [18853, 1], - [18852, 1], - [18851, 1], - [18850, 1], - [18849, 1], - [18848, 1], - [18847, 1], - [18846, 1], - [18845, 1], - [18844, 1], - [18843, 1], - [18842, 1], - [18841, 1], - [18840, 1], - [18839, 1], - [18838, 1], - [18837, 1], - [18836, 1], - [18835, 1], - [18834, 1], - [18833, 1], - [18832, 1], - [18831, 1], - [18830, 1], - [18829, 1], - [18828, 1], - [18827, 1], - [18826, 1], - [18825, 1], - [18824, 1], - [18823, 1], - [18822, 1], - [18821, 1], - [18820, 1], - [18819, 1], - [18818, 1], - [18817, 1], - [18816, 1], - [18815, 1], - [18814, 1], - [18813, 1], - [18812, 1], - [18811, 1], - [18810, 1], - [18809, 1], - [18808, 1], - [18807, 1], - [18806, 1], - [18806, 0, "S"], - [18807, 0, "i"], - [18808, 0, "n"], - [18809, 0, "c"], - [18810, 0, "e"], - [18811, 0, " "], - [18812, 0, "e"], - [18813, 0, "a"], - [18814, 0, "c"], - [18815, 0, "h"], - [18816, 0, " "], - [18817, 0, "p"], - [18818, 0, "e"], - [18819, 0, "e"], - [18820, 0, "r"], - [18821, 0, " "], - [18822, 0, "g"], - [18823, 0, "e"], - [18824, 0, "n"], - [18825, 0, "e"], - [18826, 0, "r"], - [18827, 0, "a"], - [18828, 0, "t"], - [18829, 0, "e"], - [18830, 0, "s"], - [18831, 0, " "], - [18832, 0, "a"], - [18833, 0, " "], - [18834, 0, "s"], - [18835, 0, "t"], - [18836, 0, "r"], - [18837, 0, "i"], - [18838, 0, "c"], - [18839, 0, "t"], - [18840, 0, "l"], - [18841, 0, "y"], - [18842, 0, " "], - [18843, 0, "m"], - [18844, 0, "o"], - [18845, 0, "n"], - [18846, 0, "o"], - [18847, 0, "t"], - [18848, 0, "o"], - [18849, 0, "n"], - [18850, 0, "i"], - [18851, 0, "c"], - [18852, 0, "a"], - [18853, 0, "l"], - [18854, 0, "l"], - [18855, 0, "y"], - [18856, 0, " "], - [18857, 0, "i"], - [18858, 0, "n"], - [18859, 0, "c"], - [18860, 0, "r"], - [18861, 0, "e"], - [18862, 0, "a"], - [18863, 0, "s"], - [18864, 0, "i"], - [18865, 0, "n"], - [18866, 0, "g"], - [18867, 0, " "], - [18868, 0, "s"], - [18869, 0, "e"], - [18870, 0, "q"], - [18871, 0, "u"], - [18872, 0, "e"], - [18873, 0, "n"], - [18874, 0, "c"], - [18875, 0, "e"], - [18876, 0, " "], - [18877, 0, "o"], - [18878, 0, "f"], - [18879, 0, " "], - [18880, 0, "c"], - [18881, 0, "o"], - [18882, 0, "u"], - [18883, 0, "n"], - [18884, 0, "t"], - [18885, 0, "e"], - [18886, 0, "r"], - [18887, 0, " "], - [18888, 0, "v"], - [18889, 0, "a"], - [18890, 0, "l"], - [18891, 0, "u"], - [18892, 0, "e"], - [18893, 0, "s"], - [18894, 0, " "], - [18895, 0, "$"], - [18896, 0, "c"], - [18897, 0, "$"], - [18898, 0, ","], - [18899, 0, " "], - [18900, 0, "t"], - [18901, 0, "h"], - [18902, 0, "e"], - [18903, 0, " "], - [18904, 0, "p"], - [18905, 0, "a"], - [18906, 0, "i"], - [18907, 0, "r"], - [18908, 0, " "], - [18909, 0, "$"], - [18910, 0, "("], - [18911, 0, "c"], - [18912, 0, ","], - [18913, 0, " "], - [18914, 0, "p"], - [18915, 0, ")"], - [18916, 0, "$"], - [18917, 0, " "], - [18918, 0, "i"], - [18919, 0, "s"], - [18920, 0, " "], - [18921, 0, "u"], - [18922, 0, "n"], - [18923, 0, "i"], - [18924, 0, "q"], - [18925, 0, "u"], - [18926, 0, "e"], - [18927, 0, "."], - [19452, 1], - [19452, 1], - [19452, 0, "\\"], - [19453, 0, "["], - [19454, 0, " "], - [19543, 1], - [19542, 1], - [19542, 0, " "], - [19543, 0, "\\"], - [19544, 0, "]"], - [19773, 0, " "], - [19774, 0, "T"], - [19775, 0, "h"], - [19776, 0, "i"], - [19777, 0, "s"], - [19778, 0, " "], - [19779, 0, "o"], - [19780, 0, "r"], - [19781, 0, "d"], - [19782, 0, "e"], - [19783, 0, "r"], - [19784, 0, "i"], - [19785, 0, "n"], - [19786, 0, "g"], - [19787, 0, " "], - [19788, 0, "p"], - [19789, 0, "r"], - [19790, 0, "o"], - [19791, 0, "p"], - [19792, 0, "e"], - [19793, 0, "r"], - [19794, 0, "t"], - [19795, 0, "y"], - [19796, 0, " "], - [19797, 0, "i"], - [19798, 0, "s"], - [19799, 0, " "], - [19800, 0, "i"], - [19801, 0, "m"], - [19802, 0, "p"], - [19803, 0, "o"], - [19804, 0, "r"], - [19805, 0, "t"], - [19806, 0, "a"], - [19807, 0, "n"], - [19808, 0, "t"], - [19809, 0, " "], - [19810, 0, "f"], - [19811, 0, "o"], - [19812, 0, "r"], - [19813, 0, " "], - [19814, 0, "o"], - [19815, 0, "u"], - [19816, 0, "r"], - [19817, 0, " "], - [19818, 0, "d"], - [19819, 0, "e"], - [19820, 0, "f"], - [19821, 0, "i"], - [19822, 0, "n"], - [19823, 0, "i"], - [19824, 0, "t"], - [19825, 0, "i"], - [19826, 0, "o"], - [19827, 0, "n"], - [19828, 0, " "], - [19829, 0, "o"], - [19830, 0, "f"], - [19831, 0, " "], - [19832, 0, "t"], - [19833, 0, "h"], - [19834, 0, "e"], - [19835, 0, " "], - [19836, 0, "s"], - [19837, 0, "e"], - [19838, 0, "m"], - [19839, 0, "a"], - [19840, 0, "n"], - [19841, 0, "t"], - [19842, 0, "i"], - [19843, 0, "c"], - [19844, 0, "s"], - [19845, 0, " "], - [19846, 0, "o"], - [19847, 0, "f"], - [19848, 0, " "], - [19849, 0, "o"], - [19850, 0, "r"], - [19851, 0, "d"], - [19852, 0, "e"], - [19853, 0, "r"], - [19854, 0, "e"], - [19855, 0, "d"], - [19856, 0, " "], - [19857, 0, "l"], - [19858, 0, "i"], - [19859, 0, "s"], - [19860, 0, "t"], - [19861, 0, "s"], - [19862, 0, "."], - [17919, 1], - [17918, 1], - [17917, 1], - [17916, 1], - [17915, 1], - [17915, 0, "p"], - [17916, 0, "e"], - [17917, 0, "e"], - [17918, 0, "r"], - [17919, 0, "s"], - [24283, 0, "\n"], - [24284, 0, "\\"], - [24285, 0, "i"], - [24286, 0, "f"], - [24287, 0, "p"], - [24288, 0, "r"], - [24289, 0, "o"], - [24290, 0, "o"], - [24291, 0, "f"], - [24292, 0, "d"], - [24293, 0, "r"], - [24294, 0, "a"], - [24295, 0, "f"], - [24296, 0, "t"], - [24297, 0, "\n"], - [24283, 0, "\n"], - [24284, 0, "\n"], - [37132, 0, "\n"], - [37133, 0, "\\"], - [37134, 0, "f"], - [37135, 0, "i"], - [37136, 0, " "], - [37137, 0, "%"], - [37138, 0, " "], - [37139, 0, "p"], - [37140, 0, "r"], - [37141, 0, "o"], - [37142, 0, "o"], - [37143, 0, "f"], - [37144, 0, "d"], - [37145, 0, "r"], - [37146, 0, "a"], - [37147, 0, "f"], - [37148, 0, "t"], - [37149, 0, "\n"], - [422, 0, "\n"], - [423, 0, "\n"], - [423, 0, "\\"], - [424, 0, "n"], - [425, 0, "e"], - [426, 0, "w"], - [427, 0, "i"], - [428, 0, "f"], - [429, 0, "\\"], - [430, 0, "i"], - [431, 0, "f"], - [432, 0, "p"], - [433, 0, "r"], - [434, 0, "o"], - [435, 0, "o"], - [436, 0, "f"], - [437, 0, "d"], - [438, 0, "r"], - [439, 0, "a"], - [440, 0, "f"], - [441, 0, "t"], - [442, 0, "\n"], - [443, 0, "\\"], - [444, 0, "p"], - [445, 0, "r"], - [446, 0, "o"], - [447, 0, "o"], - [448, 0, "f"], - [449, 0, "d"], - [450, 0, "r"], - [451, 0, "a"], - [452, 0, "f"], - [453, 0, "t"], - [454, 0, "f"], - [455, 0, "a"], - [456, 0, "l"], - [457, 0, "s"], - [458, 0, "e"], - [718, 0, "\n"], - [719, 0, "\n"], - [720, 0, "\\"], - [721, 0, "n"], - [722, 0, "e"], - [723, 0, "w"], - [724, 0, "c"], - [725, 0, "o"], - [726, 0, "m"], - [727, 0, "m"], - [728, 0, "a"], - [729, 0, "n"], - [730, 0, "d"], - [731, 0, "{"], - [732, 0, "\\"], - [733, 0, "m"], - [734, 0, "u"], - [735, 0, "l"], - [736, 0, "t"], - [737, 0, "i"], - [738, 0, "a"], - [739, 0, "l"], - [740, 0, "i"], - [741, 0, "g"], - [742, 0, "n"], - [743, 0, "}"], - [744, 0, "["], - [745, 0, "2"], - [746, 0, "]"], - [747, 0, "{"], - [748, 0, "%"], - [749, 0, "\n"], - [750, 0, " "], - [751, 0, " "], - [752, 0, "\\"], - [753, 0, "m"], - [754, 0, "u"], - [755, 0, "l"], - [756, 0, "t"], - [757, 0, "i"], - [758, 0, "s"], - [759, 0, "p"], - [760, 0, "a"], - [761, 0, "n"], - [762, 0, "{"], - [763, 0, "#"], - [764, 0, "1"], - [765, 0, "}"], - [766, 0, "\\"], - [767, 0, "m"], - [768, 0, "b"], - [769, 0, "o"], - [770, 0, "x"], - [771, 0, "{"], - [772, 0, "$"], - [773, 0, "\\"], - [774, 0, "d"], - [775, 0, "i"], - [776, 0, "s"], - [777, 0, "p"], - [778, 0, "l"], - [779, 0, "a"], - [780, 0, "y"], - [781, 0, "s"], - [782, 0, "t"], - [783, 0, "y"], - [784, 0, "l"], - [785, 0, "e"], - [786, 0, "{"], - [787, 0, "}"], - [788, 0, "#"], - [789, 0, "2"], - [790, 0, "$"], - [791, 0, "}"], - [792, 0, "%"], - [793, 0, "\n"], - [794, 0, "}"], - [7788, 1], - [7787, 1], - [7786, 1], - [7785, 1], - [7784, 1], - [7783, 1], - [7782, 1], - [7781, 1], - [7780, 1], - [7779, 1], - [7778, 1], - [7777, 1], - [7776, 1], - [7775, 1], - [7774, 1], - [7773, 1], - [7772, 1], - [7771, 1], - [7770, 1], - [7769, 1], - [7768, 1], - [7767, 1], - [7766, 1], - [7765, 1], - [7764, 1], - [7763, 1], - [7762, 1], - [7761, 1], - [7760, 1], - [7759, 1], - [7758, 1], - [7757, 1], - [7756, 1], - [7755, 1], - [7754, 1], - [7753, 1], - [7752, 1], - [7751, 1], - [7750, 1], - [7749, 1], - [7748, 1], - [7747, 1], - [7746, 1], - [7745, 1], - [7744, 1], - [7743, 1], - [7742, 1], - [7741, 1], - [7740, 1], - [7739, 1], - [7738, 1], - [7737, 1], - [7736, 1], - [7735, 1], - [7734, 1], - [7733, 1], - [7732, 1], - [7731, 1], - [7730, 1], - [7729, 1], - [7728, 1], - [7727, 1], - [7726, 1], - [7725, 1], - [7724, 1], - [7723, 1], - [7722, 1], - [7721, 1], - [7720, 1], - [7719, 1], - [7718, 1], - [7717, 1], - [7716, 1], - [7715, 1], - [7714, 1], - [7713, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4295, 1], - [4316, 0, "\n"], - [4316, 0, "l"], - [4317, 0, "e"], - [4318, 0, "t"], - [4319, 0, " "], - [4320, 0, "e"], - [4321, 0, "g"], - [4322, 0, "g"], - [4323, 0, "s"], - [4324, 0, " "], - [4325, 0, "="], - [4326, 0, " "], - [4327, 0, "l"], - [4328, 0, "i"], - [4329, 0, "s"], - [4330, 0, "t"], - [4331, 0, "."], - [4332, 0, "n"], - [4333, 0, "e"], - [4334, 0, "x"], - [4335, 0, "t"], - [4336, 0, ";"], - [6399, 1], - [6399, 1], - [6399, 1], - [6399, 1], - [6399, 1], - [6420, 0, " "], - [6421, 0, "t"], - [6422, 0, "h"], - [6423, 0, "a"], - [6424, 0, "t"], - [6437, 1], - [6436, 1], - [6435, 1], - [6435, 0, "s"], - [6924, 0, "."], - [6925, 0, " "], - [6925, 1], - [6924, 1], - [6925, 0, " "], - [6926, 0, "o"], - [6927, 0, "r"], - [6928, 0, " "], - [6929, 0, "a"], - [6930, 0, "t"], - [6931, 0, " "], - [6932, 0, "t"], - [6933, 0, "h"], - [6934, 0, "e"], - [6935, 0, " "], - [6936, 0, "h"], - [6937, 0, "e"], - [6938, 0, "a"], - [6939, 0, "d"], - [6940, 0, " "], - [6941, 0, "i"], - [6942, 0, "f"], - [6943, 0, " "], - [6944, 0, "t"], - [6945, 0, "h"], - [6946, 0, "e"], - [6947, 0, " "], - [6948, 0, "c"], - [6949, 0, "u"], - [6950, 0, "r"], - [6951, 0, "s"], - [6952, 0, "o"], - [6953, 0, "r"], - [6954, 0, " "], - [6955, 0, "i"], - [6956, 0, "s"], - [6957, 0, " "], - [6958, 0, "a"], - [6959, 0, "t"], - [6960, 0, " "], - [6961, 0, "t"], - [6962, 0, "h"], - [6963, 0, "e"], - [6964, 0, " "], - [6965, 0, "h"], - [6966, 0, "e"], - [6967, 0, "a"], - [6968, 0, "d"], - [6969, 0, " "], - [6970, 0, "o"], - [6971, 0, "f"], - [6972, 0, " "], - [6973, 0, "t"], - [6974, 0, "h"], - [6975, 0, "e"], - [6976, 0, " "], - [6977, 0, "l"], - [6978, 0, "i"], - [6979, 0, "s"], - [6980, 0, "t"], - [6981, 0, "."], - [6982, 0, " "], - [6983, 0, "T"], - [6984, 0, "h"], - [6985, 0, "e"], - [6986, 0, " "], - [6987, 0, "v"], - [6988, 0, "a"], - [6989, 0, "r"], - [6990, 0, "i"], - [6991, 0, "a"], - [6992, 0, "b"], - [6993, 0, "l"], - [6994, 0, "e"], - [6995, 0, " "], - [6996, 0, "\\"], - [6997, 0, "v"], - [6998, 0, "e"], - [6999, 0, "r"], - [7000, 0, "b"], - [7001, 0, "\""], - [7001, 1], - [7001, 0, "|"], - [7002, 0, "l"], - [7003, 0, "i"], - [7004, 0, "s"], - [7005, 0, "t"], - [7006, 0, "|"], - [7007, 0, " "], - [7008, 0, "r"], - [7009, 0, "e"], - [7010, 0, "f"], - [7011, 0, "e"], - [7012, 0, "r"], - [7013, 0, "s"], - [7014, 0, " "], - [7015, 0, "t"], - [7016, 0, "o"], - [7017, 0, " "], - [7018, 0, "t"], - [7019, 0, "h"], - [7020, 0, "e"], - [7021, 0, " "], - [7022, 0, "h"], - [7023, 0, "e"], - [7024, 0, "a"], - [7025, 0, "d"], - [7026, 0, ","], - [7027, 0, " "], - [7028, 0, "s"], - [7029, 0, "o"], - [7030, 0, " "], - [7031, 0, "c"], - [7032, 0, "h"], - [7033, 0, "e"], - [7034, 0, "e"], - [7035, 0, "s"], - [7036, 0, "e"], - [7037, 0, " "], - [7038, 0, "i"], - [7039, 0, "s"], - [7040, 0, " "], - [7041, 0, "i"], - [7042, 0, "n"], - [7043, 0, "s"], - [7044, 0, "e"], - [7045, 0, "r"], - [7046, 0, "t"], - [7047, 0, "e"], - [7048, 0, "d"], - [7049, 0, " "], - [7050, 0, "a"], - [7051, 0, "h"], - [7052, 0, "e"], - [7053, 0, "a"], - [7054, 0, "d"], - [7055, 0, " "], - [7056, 0, "o"], - [7057, 0, "f"], - [7058, 0, " "], - [7059, 0, "e"], - [7060, 0, "g"], - [7061, 0, "g"], - [7062, 0, "s"], - [7063, 0, ","], - [7064, 0, " "], - [7065, 0, "b"], - [7066, 0, "u"], - [7067, 0, "t"], - [7068, 0, " "], - [7069, 0, "t"], - [7070, 0, "h"], - [7071, 0, "e"], - [7072, 0, " "], - [7073, 0, "v"], - [7074, 0, "a"], - [7075, 0, "r"], - [7076, 0, "i"], - [7077, 0, "a"], - [7078, 0, "b"], - [7079, 0, "l"], - [7080, 0, "e"], - [7081, 0, " "], - [7082, 0, "\\"], - [7083, 0, "v"], - [7084, 0, "e"], - [7085, 0, "r"], - [7086, 0, "b"], - [7087, 0, "|"], - [7088, 0, "e"], - [7089, 0, "g"], - [7090, 0, "g"], - [7091, 0, "s"], - [7092, 0, "|"], - [7093, 0, " "], - [7094, 0, "r"], - [7095, 0, "e"], - [7096, 0, "f"], - [7097, 0, "e"], - [7098, 0, "r"], - [7099, 0, "s"], - [7100, 0, " "], - [7101, 0, "t"], - [7102, 0, "o"], - [7103, 0, " "], - [7104, 0, "t"], - [7105, 0, "h"], - [7106, 0, "e"], - [7107, 0, " "], - [7108, 0, "l"], - [7109, 0, "i"], - [7110, 0, "s"], - [7111, 0, "t"], - [7112, 0, " "], - [7113, 0, "e"], - [7114, 0, "l"], - [7115, 0, "e"], - [7116, 0, "m"], - [7117, 0, "e"], - [7118, 0, "n"], - [7119, 0, "t"], - [7120, 0, " "], - [7121, 0, "`"], - [7122, 0, "`"], - [7123, 0, "e"], - [7124, 0, "g"], - [7125, 0, "g"], - [7126, 0, "s"], - [7127, 0, "'"], - [7128, 0, "'"], - [7129, 0, ","], - [7130, 0, " "], - [7131, 0, "s"], - [7132, 0, "o"], - [7133, 0, " "], - [7134, 0, "m"], - [7135, 0, "i"], - [7136, 0, "l"], - [7137, 0, "k"], - [7138, 0, " "], - [7139, 0, "i"], - [7140, 0, "s"], - [7141, 0, " "], - [7142, 0, "i"], - [7143, 0, "n"], - [7144, 0, "s"], - [7145, 0, "e"], - [7146, 0, "r"], - [7147, 0, "t"], - [7148, 0, "e"], - [7149, 0, "d"], - [7150, 0, " "], - [7151, 0, "a"], - [7152, 0, "f"], - [7153, 0, "t"], - [7154, 0, "e"], - [7155, 0, "r"], - [7156, 0, " "], - [7157, 0, "e"], - [7158, 0, "g"], - [7159, 0, "g"], - [7160, 0, "s"], - [7161, 0, "."], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7162, 1], - [7050, 1], - [7050, 1], - [7050, 1], - [7050, 1], - [7050, 1], - [7050, 1], - [7050, 1], - [7050, 1], - [7050, 0, "b"], - [7051, 0, "e"], - [7052, 0, "f"], - [7053, 0, "o"], - [7054, 0, "r"], - [7055, 0, "e"], - [3573, 1], - [3572, 1], - [3571, 1], - [3570, 1], - [3569, 1], - [3568, 1], - [3567, 1], - [3566, 1], - [3565, 1], - [3564, 1], - [3563, 1], - [3562, 1], - [3561, 1], - [3560, 1], - [3559, 1], - [3558, 1], - [3557, 1], - [3556, 1], - [3555, 1], - [3554, 1], - [3553, 1], - [3552, 1], - [3551, 1], - [3550, 1], - [3549, 1], - [3548, 1], - [3547, 1], - [3546, 1], - [3545, 1], - [3544, 1], - [3543, 1], - [3542, 1], - [3541, 1], - [3540, 1], - [3539, 1], - [3538, 1], - [3537, 1], - [3536, 1], - [3535, 1], - [3534, 1], - [3533, 1], - [3532, 1], - [3531, 1], - [3530, 1], - [3529, 1], - [3528, 1], - [3527, 1], - [3526, 1], - [3525, 1], - [3524, 1], - [3523, 1], - [3522, 1], - [3521, 1], - [3520, 1], - [3519, 1], - [3518, 1], - [3517, 1], - [3516, 1], - [3515, 1], - [3514, 1], - [3513, 1], - [3512, 1], - [3511, 1], - [3510, 1], - [3509, 1], - [2848, 1], - [2847, 1], - [2846, 1], - [2845, 1], - [2844, 1], - [2843, 1], - [2842, 1], - [2841, 1], - [2840, 1], - [2839, 1], - [2838, 1], - [2837, 1], - [2836, 1], - [2835, 1], - [2834, 1], - [2833, 1], - [2832, 1], - [2831, 1], - [2830, 1], - [2829, 1], - [2828, 1], - [2827, 1], - [2826, 1], - [2825, 1], - [2824, 1], - [2823, 1], - [2822, 1], - [2821, 1], - [2820, 1], - [2819, 1], - [2818, 1], - [2817, 1], - [2816, 1], - [2815, 1], - [2814, 1], - [2813, 1], - [2812, 1], - [2811, 1], - [2810, 1], - [2809, 1], - [2808, 1], - [2807, 1], - [2806, 1], - [2805, 1], - [2804, 1], - [2803, 1], - [2802, 1], - [2801, 1], - [2800, 1], - [2799, 1], - [2798, 1], - [2797, 1], - [2796, 1], - [2795, 1], - [2794, 1], - [2793, 1], - [2792, 1], - [2791, 1], - [2790, 1], - [2789, 1], - [2788, 1], - [2787, 1], - [2786, 1], - [2785, 1], - [2784, 1], - [2783, 1], - [2782, 1], - [2781, 1], - [2780, 1], - [2779, 1], - [2778, 1], - [2777, 1], - [2776, 1], - [2775, 1], - [2774, 1], - [2773, 1], - [2772, 1], - [2771, 1], - [2770, 1], - [2769, 1], - [2768, 1], - [2767, 1], - [2766, 1], - [2765, 1], - [2764, 1], - [2763, 1], - [2762, 1], - [2761, 1], - [2760, 1], - [2759, 1], - [2758, 1], - [2757, 1], - [2756, 1], - [2755, 1], - [2754, 1], - [2753, 1], - [2752, 1], - [2751, 1], - [2750, 1], - [2749, 1], - [2748, 1], - [2747, 1], - [2746, 1], - [2745, 1], - [2744, 1], - [2743, 1], - [2742, 1], - [2741, 1], - [2740, 1], - [2739, 1], - [2738, 1], - [2737, 1], - [2736, 1], - [2735, 1], - [2734, 1], - [2733, 1], - [2732, 1], - [2731, 1], - [2730, 1], - [2729, 1], - [2728, 1], - [2727, 1], - [2726, 1], - [2725, 1], - [2724, 1], - [2723, 1], - [2722, 1], - [2721, 1], - [2720, 1], - [2719, 1], - [2718, 1], - [2717, 1], - [2716, 1], - [2715, 1], - [2714, 1], - [2713, 1], - [2712, 1], - [2711, 1], - [2710, 1], - [2709, 1], - [2708, 1], - [2707, 1], - [2706, 1], - [2705, 1], - [2704, 1], - [2703, 1], - [2702, 1], - [2701, 1], - [2700, 1], - [2699, 1], - [2698, 1], - [2697, 1], - [2696, 1], - [2695, 1], - [2694, 1], - [2693, 1], - [2692, 1], - [2833, 1], - [2833, 1], - [2833, 1], - [2833, 1], - [2833, 1], - [2833, 1], - [2833, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [2842, 1], - [3055, 0, " "], - [3056, 0, "O"], - [3057, 0, "t"], - [3058, 0, "h"], - [3059, 0, "e"], - [3060, 0, "r"], - [3061, 0, " "], - [3062, 0, "r"], - [3063, 0, "e"], - [3064, 0, "p"], - [3065, 0, "l"], - [3066, 0, "i"], - [3067, 0, "c"], - [3068, 0, "a"], - [3069, 0, "t"], - [3070, 0, "e"], - [3071, 0, "d"], - [3072, 0, " "], - [3073, 0, "d"], - [3074, 0, "a"], - [3075, 0, "t"], - [3076, 0, "a"], - [3077, 0, "t"], - [3078, 0, "y"], - [3079, 0, "p"], - [3080, 0, "e"], - [3081, 0, "s"], - [3082, 0, " "], - [3083, 0, "s"], - [3084, 0, "u"], - [3085, 0, "c"], - [3086, 0, "h"], - [3087, 0, " "], - [3088, 0, "a"], - [3089, 0, "s"], - [3090, 0, " "], - [3091, 0, "c"], - [3092, 0, "o"], - [3093, 0, "u"], - [3094, 0, "n"], - [3095, 0, "t"], - [3096, 0, "e"], - [3097, 0, "r"], - [3098, 0, "s"], - [3099, 0, " "], - [3100, 0, "o"], - [3101, 0, "r"], - [3102, 0, " "], - [3103, 0, "s"], - [3104, 0, "e"], - [3105, 0, "t"], - [3106, 0, "s"], - [3107, 0, " "], - [3056, 0, "O"], - [3057, 0, "u"], - [3058, 0, "r"], - [3059, 0, " "], - [3060, 0, "a"], - [3061, 0, "p"], - [3062, 0, "p"], - [3063, 0, "r"], - [3064, 0, "o"], - [3065, 0, "a"], - [3066, 0, "c"], - [3067, 0, "h"], - [3068, 0, " "], - [3069, 0, "a"], - [3070, 0, "l"], - [3071, 0, "s"], - [3072, 0, "o"], - [3073, 0, " "], - [3074, 0, "g"], - [3075, 0, "e"], - [3076, 0, "n"], - [3077, 0, "e"], - [3078, 0, "r"], - [3079, 0, "a"], - [3080, 0, "l"], - [3081, 0, "i"], - [3082, 0, "z"], - [3083, 0, "e"], - [3084, 0, "s"], - [3085, 0, " "], - [3086, 0, "t"], - [3087, 0, "o"], - [3088, 0, " "], - [3089, 1], - [3089, 0, "o"], - [3073, 0, " "], - [3074, 0, "e"], - [3075, 0, "a"], - [3076, 0, "s"], - [3077, 0, "i"], - [3078, 0, "l"], - [3079, 0, "y"], - [3147, 1], - [3147, 0, ","], - [3148, 0, " "], - [3149, 0, "w"], - [3150, 0, "h"], - [3151, 0, "i"], - [3152, 0, "c"], - [3153, 0, "h"], - [3154, 0, " "], - [3155, 0, "w"], - [3156, 0, "e"], - [3157, 0, " "], - [3158, 0, "d"], - [3159, 0, "o"], - [3160, 0, " "], - [3161, 0, "n"], - [3162, 0, "o"], - [3163, 0, "t"], - [3164, 0, " "], - [3165, 0, "s"], - [3166, 0, "p"], - [3167, 0, "e"], - [3168, 0, "l"], - [3169, 0, "l"], - [3170, 0, " "], - [3171, 0, "o"], - [3172, 0, "u"], - [3173, 0, "t"], - [3174, 0, " "], - [3175, 0, "i"], - [3176, 0, "n"], - [3177, 0, " "], - [3178, 0, "d"], - [3179, 0, "e"], - [3180, 0, "t"], - [3181, 0, "a"], - [3182, 0, "i"], - [3183, 0, "l"], - [3184, 0, " "], - [3185, 0, "i"], - [3186, 0, "n"], - [3187, 0, " "], - [3188, 0, "t"], - [3189, 0, "h"], - [3190, 0, "e"], - [3191, 0, " "], - [3192, 0, "i"], - [3193, 0, "n"], - [3194, 0, "t"], - [3195, 0, "e"], - [3196, 0, "r"], - [3197, 0, "e"], - [3198, 0, "s"], - [3199, 0, "t"], - [3200, 0, "s"], - [3201, 0, " "], - [3202, 0, "o"], - [3203, 0, "f"], - [3204, 0, " "], - [3205, 0, "b"], - [3206, 0, "r"], - [3207, 0, "e"], - [3208, 0, "v"], - [3209, 0, "i"], - [3210, 0, "t"], - [3211, 0, "y"], - [3212, 0, "."], - [3200, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [5647, 1], - [6051, 0, "o"], - [6052, 0, "r"], - [6053, 0, " "], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [6115, 1], - [3884, 1], - [3883, 1], - [3883, 0, "r"], - [3884, 0, "m"], - [3886, 1], - [3886, 0, "N"], - [3887, 0, "u"], - [3888, 0, "m"], - [3889, 0, "b"], - [3890, 0, "e"], - [3891, 0, "r"], - [3958, 0, "\n"], - [3959, 0, "&"], - [3960, 0, " "], - [3961, 0, "$"], - [3962, 0, "|"], - [3963, 0, "$"], - [3964, 0, " "], - [3965, 0, "&"], - [3966, 0, " "], - [3967, 0, "\\"], - [3968, 0, "v"], - [3969, 0, "e"], - [3970, 0, "r"], - [3971, 0, "b"], - [3972, 0, "|"], - [3973, 0, "t"], - [3974, 0, "r"], - [3975, 0, "u"], - [3976, 0, "e"], - [3977, 0, "|"], - [3978, 0, " "], - [3979, 0, "$"], - [3980, 0, "|"], - [3981, 0, "$"], - [3982, 0, " "], - [3983, 0, "\\"], - [3984, 0, "v"], - [3985, 0, "e"], - [3986, 0, "r"], - [3987, 0, "b"], - [3988, 0, "|"], - [3989, 0, "f"], - [3990, 0, "a"], - [3991, 0, "l"], - [3992, 0, "s"], - [3993, 0, "e"], - [3994, 0, " "], - [3995, 0, "$"], - [3996, 0, "|"], - [3997, 0, "$"], - [3994, 0, "|"], - [3999, 0, " "], - [4000, 0, "\\"], - [4001, 0, "v"], - [4002, 0, "e"], - [4003, 0, "r"], - [4004, 0, "b"], - [4005, 0, "|"], - [4006, 0, "n"], - [4007, 0, "u"], - [4008, 0, "l"], - [4009, 0, "l"], - [4010, 0, " "], - [4011, 0, "\\"], - [4012, 0, "\\"], - [4010, 0, "|"], - [4042, 1], - [4041, 1], - [4036, 1], - [4035, 1], - [4034, 1], - [4033, 1], - [4032, 1], - [7282, 1], - [7281, 1], - [7280, 1], - [7279, 1], - [7278, 1], - [7277, 1], - [7277, 0, "p"], - [7278, 0, "u"], - [7279, 0, "t"], - [7290, 0, "-"], - [7291, 0, "v"], - [7292, 0, "a"], - [7293, 0, "l"], - [7294, 0, "u"], - [7295, 0, "e"], - [7296, 0, " "], - [7297, 0, "p"], - [7298, 0, "a"], - [7299, 0, "i"], - [7300, 0, "r"], - [20322, 1], - [20321, 1], - [20320, 1], - [20319, 1], - [20318, 1], - [20317, 1], - [20316, 1], - [20315, 1], - [20314, 1], - [20313, 1], - [20312, 1], - [20311, 1], - [20310, 1], - [20309, 1], - [20308, 1], - [20307, 1], - [20306, 1], - [20305, 1], - [20304, 1], - [20303, 1], - [20302, 1], - [20301, 1], - [20300, 1], - [20299, 1], - [20298, 1], - [20297, 1], - [20296, 1], - [20295, 1], - [20294, 1], - [20293, 1], - [20292, 1], - [20291, 1], - [20290, 1], - [20289, 1], - [20288, 1], - [20287, 1], - [20286, 1], - [20285, 1], - [20284, 1], - [20283, 1], - [20282, 1], - [20281, 1], - [20280, 1], - [20279, 1], - [20278, 1], - [20277, 1], - [20276, 1], - [20275, 1], - [20274, 1], - [20273, 1], - [20272, 1], - [20271, 1], - [20270, 1], - [20269, 1], - [20268, 1], - [20267, 1], - [20266, 1], - [20265, 1], - [20264, 1], - [20263, 1], - [20262, 1], - [20261, 1], - [20260, 1], - [20259, 1], - [20258, 1], - [20257, 1], - [20256, 1], - [20255, 1], - [20254, 1], - [20253, 1], - [20252, 1], - [20251, 1], - [20250, 1], - [20249, 1], - [20248, 1], - [20247, 1], - [20246, 1], - [20245, 1], - [20244, 1], - [20243, 1], - [20242, 1], - [20241, 1], - [20240, 1], - [20239, 1], - [20238, 1], - [20237, 1], - [20236, 1], - [20235, 1], - [20234, 1], - [20233, 1], - [20232, 1], - [20231, 1], - [20230, 1], - [20229, 1], - [20228, 1], - [20227, 1], - [20226, 1], - [20225, 1], - [20224, 1], - [20223, 1], - [20222, 1], - [20221, 1], - [20220, 1], - [20219, 1], - [20218, 1], - [20217, 1], - [20216, 1], - [20215, 1], - [20214, 1], - [20213, 1], - [20212, 1], - [20211, 1], - [20210, 1], - [20209, 1], - [20208, 1], - [20207, 1], - [20206, 1], - [20205, 1], - [20204, 1], - [20203, 1], - [20202, 1], - [20201, 1], - [20200, 1], - [20199, 1], - [20198, 1], - [20197, 1], - [20196, 1], - [20195, 1], - [20194, 1], - [20193, 1], - [20192, 1], - [20191, 1], - [20190, 1], - [20189, 1], - [20188, 1], - [20187, 1], - [20186, 1], - [20185, 1], - [20184, 1], - [20183, 1], - [20182, 1], - [20181, 1], - [20180, 1], - [20179, 1], - [20178, 1], - [20177, 1], - [20176, 1], - [20175, 1], - [20174, 1], - [20173, 1], - [20172, 1], - [20171, 1], - [20170, 1], - [20169, 1], - [20168, 1], - [20167, 1], - [20166, 1], - [20165, 1], - [20164, 1], - [20163, 1], - [20162, 1], - [20161, 1], - [20160, 1], - [20159, 1], - [20158, 1], - [20157, 1], - [20156, 1], - [20155, 1], - [20154, 1], - [20153, 1], - [20152, 1], - [20151, 1], - [20150, 1], - [20149, 1], - [20148, 1], - [20147, 1], - [20146, 1], - [20145, 1], - [20144, 1], - [20143, 1], - [20142, 1], - [20141, 1], - [20140, 1], - [20139, 1], - [20138, 1], - [20137, 1], - [20136, 1], - [20135, 1], - [20134, 1], - [20133, 1], - [20132, 1], - [20131, 1], - [20130, 1], - [20129, 1], - [20128, 1], - [20127, 1], - [20126, 1], - [20125, 1], - [20124, 1], - [20123, 1], - [20122, 1], - [20121, 1], - [20120, 1], - [20119, 1], - [20118, 1], - [20117, 1], - [20116, 1], - [20115, 1], - [20114, 1], - [20113, 1], - [20112, 1], - [20111, 1], - [20110, 1], - [20109, 1], - [20108, 1], - [20107, 1], - [20106, 1], - [20105, 1], - [20104, 1], - [20103, 1], - [20102, 1], - [20101, 1], - [20100, 1], - [20099, 1], - [20098, 1], - [20097, 1], - [20096, 1], - [20095, 1], - [20094, 1], - [20093, 1], - [20092, 1], - [20091, 1], - [20090, 1], - [20089, 1], - [20088, 1], - [20087, 1], - [20086, 1], - [20085, 1], - [20084, 1], - [20083, 1], - [20082, 1], - [20081, 1], - [20080, 1], - [20079, 1], - [20078, 1], - [20077, 1], - [20076, 1], - [20075, 1], - [20074, 1], - [20073, 1], - [20072, 1], - [20071, 1], - [20070, 1], - [20069, 1], - [20068, 1], - [20067, 1], - [20066, 1], - [20065, 1], - [20064, 1], - [20063, 1], - [20062, 1], - [20061, 1], - [20060, 1], - [20059, 1], - [20058, 1], - [20057, 1], - [20056, 1], - [20055, 1], - [20054, 1], - [20053, 1], - [20052, 1], - [20051, 1], - [20050, 1], - [20049, 1], - [20048, 1], - [20047, 1], - [20046, 1], - [20045, 1], - [20044, 1], - [20043, 1], - [20042, 1], - [20041, 1], - [20040, 1], - [20039, 1], - [20038, 1], - [20037, 1], - [20036, 1], - [20035, 1], - [20034, 1], - [20033, 1], - [20032, 1], - [20031, 1], - [20030, 1], - [20029, 1], - [20028, 1], - [20027, 1], - [20026, 1], - [20025, 1], - [20024, 1], - [20023, 1], - [20022, 1], - [20021, 1], - [20020, 1], - [20019, 1], - [20018, 1], - [20017, 1], - [20016, 1], - [20015, 1], - [20014, 1], - [20013, 1], - [20012, 1], - [20011, 1], - [20010, 1], - [20009, 1], - [20008, 1], - [20007, 1], - [20006, 1], - [20005, 1], - [20004, 1], - [20003, 1], - [20002, 1], - [20001, 1], - [20000, 1], - [19999, 1], - [19998, 1], - [19997, 1], - [19996, 1], - [19995, 1], - [19994, 1], - [19993, 1], - [19992, 1], - [19991, 1], - [19990, 1], - [19989, 1], - [19988, 1], - [19987, 1], - [19986, 1], - [19985, 1], - [19984, 1], - [19983, 1], - [19982, 1], - [19981, 1], - [19980, 1], - [19979, 1], - [19978, 1], - [19977, 1], - [19976, 1], - [19975, 1], - [19974, 1], - [19973, 1], - [19972, 1], - [19971, 1], - [19970, 1], - [19969, 1], - [19968, 1], - [19967, 1], - [19966, 1], - [19965, 1], - [19964, 1], - [19963, 1], - [19962, 1], - [19961, 1], - [19960, 1], - [19959, 1], - [19958, 1], - [19957, 1], - [19956, 1], - [19955, 1], - [19954, 1], - [19953, 1], - [19952, 1], - [19951, 1], - [19950, 1], - [19949, 1], - [19948, 1], - [19947, 1], - [19946, 1], - [19945, 1], - [19944, 1], - [19943, 1], - [19942, 1], - [19941, 1], - [19940, 1], - [19939, 1], - [19938, 1], - [19937, 1], - [19936, 1], - [19935, 1], - [19934, 1], - [19933, 1], - [19932, 1], - [19931, 1], - [19930, 1], - [19929, 1], - [19928, 1], - [19927, 1], - [19926, 1], - [19925, 1], - [19924, 1], - [19923, 1], - [19922, 1], - [19921, 1], - [19920, 1], - [19919, 1], - [19918, 1], - [19917, 1], - [19916, 1], - [19915, 1], - [19914, 1], - [19913, 1], - [19912, 1], - [19911, 1], - [19910, 1], - [19909, 1], - [19908, 1], - [19907, 1], - [19906, 1], - [19905, 1], - [19904, 1], - [19903, 1], - [19902, 1], - [19901, 1], - [19900, 1], - [19899, 1], - [19898, 1], - [19897, 1], - [19896, 1], - [19895, 1], - [19894, 1], - [19893, 1], - [19892, 1], - [19891, 1], - [19891, 0, "b"], - [19892, 0, "e"], - [19893, 0, "g"], - [19894, 0, "i"], - [19895, 0, "n"], - [19896, 0, "{"], - [19897, 0, "p"], - [19898, 0, "r"], - [19899, 0, "o"], - [19900, 0, "o"], - [19901, 0, "f"], - [19902, 0, "t"], - [19903, 0, "r"], - [19904, 0, "e"], - [19905, 0, "e"], - [19906, 0, "}"], - [19907, 0, "\n"], - [19908, 0, "\\"], - [19909, 0, "e"], - [19910, 0, "n"], - [19911, 0, "d"], - [19912, 0, "{"], - [19913, 0, "p"], - [19914, 0, "r"], - [19915, 0, "o"], - [19916, 0, "o"], - [19917, 0, "f"], - [19918, 0, "t"], - [19919, 0, "r"], - [19920, 0, "e"], - [19921, 0, "e"], - [19922, 0, "}"], - [19861, 0, "\\"], - [19862, 0, "s"], - [19863, 0, "u"], - [19864, 0, "b"], - [19865, 0, "s"], - [19866, 0, "u"], - [19867, 0, "b"], - [19868, 0, "s"], - [19869, 0, "e"], - [19870, 0, "c"], - [19871, 0, "t"], - [19872, 0, "i"], - [19873, 0, "o"], - [19874, 0, "n"], - [19875, 0, "{"], - [19876, 0, "O"], - [19877, 0, "p"], - [19878, 0, "e"], - [19879, 0, "r"], - [19880, 0, "a"], - [19881, 0, "t"], - [19882, 0, "i"], - [19883, 0, "o"], - [19884, 0, "n"], - [19885, 0, " "], - [19886, 0, "s"], - [19887, 0, "t"], - [19888, 0, "r"], - [19889, 0, "u"], - [19890, 0, "c"], - [19891, 0, "t"], - [19892, 0, "u"], - [19893, 0, "r"], - [19894, 0, "e"], - [19895, 0, "}"], - [19896, 0, "\n"], - [19897, 0, "\n"], - [19898, 0, "A"], - [19899, 0, "n"], - [19900, 0, " "], - [19901, 0, "o"], - [19902, 0, "p"], - [19903, 0, "e"], - [19904, 0, "r"], - [19905, 0, "a"], - [19906, 0, "t"], - [19907, 0, "i"], - [19908, 0, "o"], - [19909, 0, "n"], - [19910, 0, " "], - [19911, 0, "i"], - [19912, 0, "s"], - [19913, 0, " "], - [19914, 0, "a"], - [19915, 0, " "], - [19916, 0, "t"], - [19917, 0, "y"], - [19918, 0, "p"], - [19918, 1], - [19917, 1], - [19917, 0, "u"], - [19918, 0, "p"], - [19919, 0, "l"], - [19920, 0, "e"], - [19921, 0, " "], - [19922, 0, "o"], - [19923, 0, "f"], - [19924, 0, " "], - [19925, 0, "t"], - [19926, 0, "h"], - [19927, 0, "e"], - [19928, 0, " "], - [19929, 0, "f"], - [19930, 0, "o"], - [19931, 0, "r"], - [19932, 0, "m"], - [19933, 0, "\n"], - [19934, 0, "\\"], - [19935, 0, "["], - [19936, 0, " "], - [19937, 0, "\\"], - [19938, 0, "m"], - [19939, 0, "a"], - [19940, 0, "t"], - [19941, 0, "h"], - [19942, 0, "s"], - [19943, 0, "f"], - [19944, 0, "{"], - [19945, 0, "o"], - [19946, 0, "p"], - [19947, 0, "}"], - [19948, 0, "("], - [19949, 0, "\\"], - [19950, 0, "m"], - [19951, 0, "a"], - [19952, 0, "t"], - [19953, 0, "h"], - [19954, 0, "i"], - [19955, 0, "t"], - [19956, 0, "{"], - [19957, 0, "i"], - [19958, 0, "d"], - [19959, 0, "}"], - [19960, 0, ":"], - [19961, 0, " "], - [19962, 0, "\\"], - [19963, 0, "m"], - [19964, 0, "a"], - [19965, 0, "t"], - [19966, 0, "h"], - [19967, 0, "r"], - [19968, 0, "m"], - [19969, 0, "{"], - [19969, 1], - [19968, 1], - [19967, 1], - [19966, 1], - [19965, 1], - [19964, 1], - [19963, 1], - [19962, 1], - [19962, 0, "\\"], - [19963, 0, "m"], - [19964, 0, "a"], - [19965, 0, "t"], - [19966, 0, "h"], - [19967, 0, "b"], - [19968, 0, "b"], - [19969, 0, "{"], - [19970, 0, "N"], - [19971, 0, "}"], - [19972, 0, " "], - [19973, 0, "\\"], - [19974, 0, "t"], - [19975, 0, "i"], - [19976, 0, "m"], - [19977, 0, "e"], - [19978, 0, "s"], - [19979, 0, " "], - [19980, 0, "\\"], - [19981, 0, "m"], - [19982, 0, "a"], - [19983, 0, "t"], - [19984, 0, "h"], - [19985, 0, "r"], - [19986, 0, "m"], - [19987, 0, "{"], - [19988, 0, "P"], - [19989, 0, "e"], - [19990, 0, "e"], - [19991, 0, "r"], - [19992, 0, "I"], - [19993, 0, "D"], - [19994, 0, "}"], - [19949, 0, "\n"], - [19950, 0, " "], - [19951, 0, " "], - [19952, 0, " "], - [19953, 0, " "], - [20000, 0, ","], - [20001, 0, "\n"], - [20002, 0, " "], - [20003, 0, " "], - [20004, 0, " "], - [20005, 0, " "], - [20006, 0, "\\"], - [20007, 0, "m"], - [20008, 0, "a"], - [20009, 0, "t"], - [20010, 0, "h"], - [20011, 0, "i"], - [20012, 0, "t"], - [20013, 0, "{"], - [20014, 0, "d"], - [20015, 0, "e"], - [20016, 0, "p"], - [20017, 0, "s"], - [20018, 0, "}"], - [20019, 0, ":"], - [20020, 0, " "], - [20021, 0, "\\"], - [20022, 0, "m"], - [20023, 0, "a"], - [20024, 0, "t"], - [20025, 0, "h"], - [20026, 0, "c"], - [20027, 0, "a"], - [20028, 0, "l"], - [20029, 0, "{"], - [20030, 0, "P"], - [20031, 0, "}"], - [20032, 0, "("], - [20033, 0, " "], - [20033, 1], - [20033, 0, "\\"], - [20034, 0, "m"], - [20035, 0, "a"], - [20036, 0, "t"], - [20037, 0, "h"], - [20038, 0, "b"], - [20039, 0, "b"], - [20040, 0, "{"], - [20041, 0, "N"], - [20042, 0, "}"], - [20043, 0, " "], - [20044, 0, "\\"], - [20045, 0, "t"], - [20046, 0, "i"], - [20047, 0, "m"], - [20048, 0, "e"], - [20049, 0, "s"], - [20050, 0, " "], - [20051, 0, "\\"], - [20052, 0, "m"], - [20053, 0, "a"], - [20054, 0, "t"], - [20055, 0, "h"], - [20056, 0, "r"], - [20057, 0, "m"], - [20058, 0, "{"], - [20059, 0, "P"], - [20060, 0, "e"], - [20061, 0, "e"], - [20062, 0, "r"], - [20063, 0, "I"], - [20064, 0, "D"], - [20065, 0, "}"], - [20066, 0, ")"], - [20067, 0, ","], - [20068, 0, "\n"], - [20069, 0, " "], - [20070, 0, " "], - [20071, 0, " "], - [20072, 0, " "], - [20073, 0, "\\"], - [20074, 0, "m"], - [20075, 0, "a"], - [20076, 0, "t"], - [20077, 0, "h"], - [20078, 0, "i"], - [20079, 0, "t"], - [20080, 0, "{"], - [20081, 0, "c"], - [20082, 0, "u"], - [20083, 0, "r"], - [20084, 0, "}"], - [20085, 0, ":"], - [20086, 0, " "], - [20087, 0, "\\"], - [20088, 0, "m"], - [20089, 0, "a"], - [20090, 0, "t"], - [20091, 0, "h"], - [20092, 0, "s"], - [20093, 0, "f"], - [20094, 0, "{"], - [20095, 0, "c"], - [20096, 0, "u"], - [20097, 0, "r"], - [20098, 0, "s"], - [20099, 0, "o"], - [20100, 0, "r"], - [20101, 0, "}"], - [20102, 0, "("], - [20103, 0, "\\"], - [20104, 0, "l"], - [20105, 0, "a"], - [20106, 0, "n"], - [20107, 0, "g"], - [20108, 0, "l"], - [20109, 0, "e"], - [20110, 0, " "], - [20111, 0, "k"], - [20112, 0, "_"], - [20113, 0, "1"], - [20114, 0, ","], - [20115, 0, " "], - [20116, 0, "\\"], - [20117, 0, "d"], - [20118, 0, "o"], - [20119, 0, "t"], - [20120, 0, "s"], - [20121, 0, ","], - [20122, 0, " "], - [20123, 0, "k"], - [20124, 0, "_"], - [20125, 0, "{"], - [20126, 0, "n"], - [20127, 0, "-"], - [20128, 0, "1"], - [20129, 0, "}"], - [20130, 0, " "], - [20131, 0, "\\"], - [20132, 0, "r"], - [20133, 0, "a"], - [20134, 0, "n"], - [20135, 0, "g"], - [20136, 0, "l"], - [20137, 0, "e"], - [20138, 0, ","], - [20139, 0, "\\"], - [20140, 0, ","], - [20141, 0, " "], - [20142, 0, "k"], - [20143, 0, "_"], - [20144, 0, "n"], - [20145, 0, ")"], - [20146, 0, ","], - [20147, 0, "\n"], - [20148, 0, " "], - [20149, 0, " "], - [20150, 0, " "], - [20151, 0, " "], - [20152, 0, "\\"], - [20153, 0, "m"], - [20154, 0, "a"], - [20155, 0, "t"], - [20156, 0, "h"], - [20157, 0, "i"], - [20158, 0, "t"], - [20159, 0, "{"], - [20160, 0, "m"], - [20161, 0, "u"], - [20162, 0, "t"], - [20163, 0, "}"], - [19933, 0, "\n"], - [19934, 0, "\\"], - [19935, 0, "b"], - [19936, 0, "e"], - [19937, 0, "g"], - [19938, 0, "i"], - [19939, 0, "n"], - [19940, 0, "{"], - [19941, 0, "a"], - [19942, 0, "l"], - [19943, 0, "i"], - [19944, 0, "g"], - [19945, 0, "n"], - [19946, 0, "a"], - [19947, 0, "t"], - [19948, 0, "*"], - [19949, 0, "}"], - [19950, 0, "{"], - [19951, 0, "2"], - [19952, 0, "}"], - [19954, 1], - [19954, 1], - [19954, 0, "&"], - [20184, 0, "&"], - [20185, 0, " "], - [20186, 0, ")"], - [20187, 0, "\n"], - [20188, 0, "\\"], - [20189, 0, "e"], - [20190, 0, "n"], - [20191, 0, "d"], - [20192, 0, "{"], - [20193, 0, "a"], - [20194, 0, "l"], - [20195, 0, "i"], - [20196, 0, "g"], - [20197, 0, "n"], - [20198, 0, "a"], - [20199, 0, "t"], - [20200, 0, "*"], - [20201, 0, "}"], - [20202, 0, "\n"], - [19968, 0, " "], - [19969, 0, "\\"], - [19970, 0, "\\"], - [19972, 1], - [19972, 1], - [19972, 1], - [19972, 0, "&"], - [19973, 0, "&"], - [20023, 1], - [20023, 1], - [20023, 1], - [20023, 0, "&"], - [20024, 0, "&"], - [20089, 1], - [20089, 1], - [20089, 1], - [20089, 0, "&"], - [20090, 0, "&"], - [20167, 1], - [20167, 1], - [20167, 1], - [20167, 0, "&"], - [20168, 0, "&"], - [19986, 0, " "], - [19987, 0, "&"], - [20041, 0, " "], - [20042, 0, "&"], - [20108, 0, " "], - [20109, 0, "&"], - [20188, 0, " "], - [20189, 0, "&"], - [20190, 0, ":"], - [20191, 0, " "], - [20192, 0, "\\"], - [20193, 0, "m"], - [20194, 0, "a"], - [20195, 0, "t"], - [20196, 0, "h"], - [20197, 0, "s"], - [20198, 0, "f"], - [20199, 0, "{"], - [20200, 0, "i"], - [20201, 0, "n"], - [20202, 0, "s"], - [20203, 0, "e"], - [20204, 0, "r"], - [20205, 0, "t"], - [20206, 0, "}"], - [20207, 0, "("], - [20208, 0, "v"], - [20209, 0, ")"], - [20210, 0, " "], - [20211, 0, "\\"], - [20212, 0, "m"], - [20213, 0, "i"], - [20214, 0, "d"], - [20215, 0, " "], - [20216, 0, "\\"], - [20217, 0, "m"], - [20218, 0, "a"], - [20219, 0, "t"], - [20220, 0, "h"], - [20221, 0, "s"], - [20222, 0, "f"], - [20223, 0, "{"], - [20224, 0, "d"], - [20225, 0, "e"], - [20226, 0, "l"], - [20227, 0, "e"], - [20228, 0, "t"], - [20229, 0, "e"], - [20230, 0, "}"], - [20231, 0, " "], - [20232, 0, "\\"], - [20233, 0, " "], - [20233, 1], - [20233, 0, "m"], - [20234, 0, "i"], - [20235, 0, "d"], - [20236, 0, " "], - [20237, 0, "\\"], - [20238, 0, "m"], - [20239, 0, "a"], - [20240, 0, "t"], - [20241, 0, "h"], - [20242, 0, "s"], - [20243, 0, "f"], - [20244, 0, "{"], - [20245, 0, "a"], - [20246, 0, "s"], - [20247, 0, "s"], - [20248, 0, "i"], - [20249, 0, "g"], - [20250, 0, "n"], - [20251, 0, "}"], - [20252, 0, "("], - [20253, 0, "v"], - [20254, 0, ")"], - [20255, 0, " "], - [20256, 0, "\\"], - [20257, 0, "\\"], - [20172, 0, " "], - [20173, 0, "\\"], - [20174, 0, "\\"], - [20092, 0, " "], - [20093, 0, "\\"], - [20094, 0, "\\"], - [20024, 0, " "], - [20025, 0, "\\"], - [20026, 0, "\\"], - [20315, 0, "%"], - [20334, 0, "%"], - [20286, 0, "\n"], - [20287, 0, "w"], - [20288, 0, "h"], - [20289, 0, "e"], - [20290, 0, "r"], - [20291, 0, "e"], - [20292, 0, " "], - [20293, 0, "\\"], - [20294, 0, "t"], - [20294, 1], - [20293, 1], - [20293, 0, "$"], - [20294, 0, "\\"], - [20295, 0, "m"], - [20296, 0, "a"], - [20297, 0, "t"], - [20298, 0, "h"], - [20299, 0, "i"], - [20300, 0, "t"], - [20301, 0, "{"], - [20302, 0, "i"], - [20303, 0, "d"], - [20304, 0, "}"], - [20305, 0, "$"], - [20306, 0, " "], - [20307, 0, "i"], - [20308, 0, "s"], - [20309, 0, " "], - [20310, 0, "t"], - [20311, 0, "h"], - [20312, 0, "e"], - [20313, 0, " "], - [20314, 0, "L"], - [20315, 0, "a"], - [20316, 0, "m"], - [20317, 0, "p"], - [20318, 0, "o"], - [20319, 0, "r"], - [20320, 0, "t"], - [20321, 0, " "], - [20322, 0, "t"], - [20323, 0, "i"], - [20324, 0, "m"], - [20325, 0, "e"], - [20326, 0, "s"], - [20327, 0, "t"], - [20328, 0, "a"], - [20329, 0, "m"], - [20330, 0, "p"], - [20331, 0, " "], - [20332, 0, "t"], - [20333, 0, "h"], - [20334, 0, "a"], - [20335, 0, "t"], - [20336, 0, " "], - [20337, 0, "u"], - [20338, 0, "n"], - [20339, 0, "i"], - [20340, 0, "q"], - [20341, 0, "u"], - [20342, 0, "e"], - [20343, 0, "l"], - [20344, 0, "y"], - [20345, 0, " "], - [20346, 0, "i"], - [20347, 0, "d"], - [20348, 0, "e"], - [20349, 0, "n"], - [20350, 0, "t"], - [20351, 0, "i"], - [20352, 0, "f"], - [20353, 0, "i"], - [20354, 0, "e"], - [20355, 0, "s"], - [20356, 0, " "], - [20357, 0, "t"], - [20358, 0, "h"], - [20359, 0, "e"], - [20360, 0, " "], - [20361, 0, "o"], - [20362, 0, "p"], - [20363, 0, "e"], - [20364, 0, "r"], - [20365, 0, "a"], - [20366, 0, "t"], - [20367, 0, "i"], - [20368, 0, "o"], - [20369, 0, "n"], - [20370, 0, ","], - [20371, 0, " "], - [20372, 0, "$"], - [20373, 0, "\\"], - [20374, 0, "m"], - [20375, 0, "a"], - [20376, 0, "t"], - [20377, 0, "h"], - [20378, 0, "i"], - [20379, 0, "t"], - [20380, 0, "{"], - [20381, 0, "c"], - [20382, 0, "u"], - [20383, 0, "r"], - [20384, 0, "}"], - [20385, 0, "$"], - [20386, 0, " "], - [20387, 0, "i"], - [20388, 0, "s"], - [20389, 0, " "], - [20390, 0, "t"], - [20391, 0, "h"], - [20392, 0, "e"], - [20393, 0, " "], - [20394, 0, "c"], - [20395, 0, "u"], - [20396, 0, "r"], - [20397, 0, "s"], - [20398, 0, "o"], - [20399, 0, "r"], - [20400, 0, " "], - [20401, 0, "d"], - [20402, 0, "e"], - [20403, 0, "s"], - [20404, 0, "c"], - [20405, 0, "r"], - [20406, 0, "i"], - [20407, 0, "b"], - [20408, 0, "i"], - [20409, 0, "n"], - [20410, 0, "g"], - [20411, 0, " "], - [20412, 0, "t"], - [20413, 0, "h"], - [20414, 0, "e"], - [20415, 0, " "], - [20416, 0, "p"], - [20417, 0, "o"], - [20418, 0, "s"], - [20419, 0, "i"], - [20420, 0, "t"], - [20421, 0, "i"], - [20422, 0, "o"], - [20423, 0, "n"], - [20424, 0, " "], - [20425, 0, "i"], - [20426, 0, "n"], - [20427, 0, " "], - [20428, 0, "t"], - [20429, 0, "h"], - [20430, 0, "e"], - [20431, 0, " "], - [20432, 0, "d"], - [20433, 0, "o"], - [20434, 0, "c"], - [20435, 0, "u"], - [20436, 0, "m"], - [20437, 0, "e"], - [20438, 0, "n"], - [20439, 0, "t"], - [20440, 0, " "], - [20441, 0, "b"], - [20442, 0, "e"], - [20443, 0, "i"], - [20444, 0, "n"], - [20445, 0, "g"], - [20446, 0, " "], - [20447, 0, "m"], - [20448, 0, "o"], - [20449, 0, "d"], - [20450, 0, "i"], - [20451, 0, "f"], - [20452, 0, "i"], - [20453, 0, "e"], - [20454, 0, "d"], - [20455, 0, ","], - [20456, 0, " "], - [20457, 0, "a"], - [20458, 0, "n"], - [20459, 0, "d"], - [20460, 0, " "], - [20461, 0, "$"], - [20462, 0, "\\"], - [20463, 0, "m"], - [20464, 0, "a"], - [20465, 0, "t"], - [20466, 0, "h"], - [20467, 0, "i"], - [20468, 0, "t"], - [20469, 0, "{"], - [20470, 0, "m"], - [20471, 0, "u"], - [20472, 0, "t"], - [20473, 0, "}"], - [20474, 0, "$"], - [20475, 0, " "], - [20476, 0, "i"], - [20477, 0, "s"], - [20478, 0, " "], - [20479, 0, "t"], - [20480, 0, "h"], - [20481, 0, "e"], - [20482, 0, " "], - [20483, 0, "m"], - [20484, 0, "u"], - [20485, 0, "t"], - [20486, 0, "a"], - [20487, 0, "t"], - [20488, 0, "i"], - [20489, 0, "o"], - [20490, 0, "n"], - [20491, 0, " "], - [20492, 0, "t"], - [20493, 0, "h"], - [20494, 0, "a"], - [20495, 0, "t"], - [20496, 0, " "], - [20497, 0, "s"], - [20498, 0, "h"], - [20499, 0, "o"], - [20500, 0, "u"], - [20501, 0, "l"], - [20502, 0, "d"], - [20503, 0, " "], - [20504, 0, "o"], - [20505, 0, "c"], - [20506, 0, "c"], - [20507, 0, "u"], - [20508, 0, "r"], - [20509, 0, " "], - [20509, 1], - [20508, 1], - [20507, 1], - [20506, 1], - [20505, 1], - [20504, 1], - [20503, 1], - [20502, 1], - [20501, 1], - [20500, 1], - [20499, 1], - [20498, 1], - [20497, 1], - [20497, 0, "w"], - [20498, 0, "a"], - [20499, 0, "s"], - [20500, 0, " "], - [20501, 0, "r"], - [20502, 0, "e"], - [20503, 0, "q"], - [20504, 0, "u"], - [20505, 0, "e"], - [20506, 0, "s"], - [20507, 0, "t"], - [20508, 0, "e"], - [20509, 0, "d"], - [20510, 0, " "], - [20511, 0, "a"], - [20512, 0, "t"], - [20513, 0, " "], - [20514, 0, "t"], - [20515, 0, "h"], - [20516, 0, "e"], - [20517, 0, " "], - [20518, 0, "s"], - [20519, 0, "p"], - [20520, 0, "e"], - [20521, 0, "c"], - [20522, 0, "i"], - [20523, 0, "f"], - [20524, 0, "i"], - [20525, 0, "e"], - [20526, 0, "d"], - [20527, 0, " "], - [20528, 0, "p"], - [20529, 0, "o"], - [20530, 0, "s"], - [20531, 0, "i"], - [20532, 0, "t"], - [20533, 0, "i"], - [20534, 0, "o"], - [20535, 0, "n"], - [20536, 0, "."], - [20537, 0, "\n"], - [20538, 0, "\n"], - [20539, 0, "$"], - [20540, 0, "\\"], - [20541, 0, "m"], - [20542, 0, "a"], - [20543, 0, "t"], - [20544, 0, "h"], - [20545, 0, "i"], - [20546, 0, "t"], - [20547, 0, "{"], - [20548, 0, "d"], - [20549, 0, "e"], - [20550, 0, "p"], - [20551, 0, "s"], - [20552, 0, "}"], - [20553, 0, "$"], - [20554, 0, " "], - [20555, 0, "i"], - [20556, 0, "s"], - [20557, 0, " "], - [20558, 0, "t"], - [20559, 0, "h"], - [20560, 0, "e"], - [20561, 0, " "], - [20562, 0, "s"], - [20563, 0, "e"], - [20564, 0, "t"], - [20565, 0, " "], - [20566, 0, "o"], - [20567, 0, "f"], - [20568, 0, " "], - [20569, 0, "c"], - [20570, 0, "a"], - [20571, 0, "u"], - [20572, 0, "s"], - [20573, 0, "a"], - [20574, 0, "l"], - [20575, 0, " "], - [20576, 0, "d"], - [20577, 0, "e"], - [20578, 0, "p"], - [20579, 0, "e"], - [20580, 0, "n"], - [20581, 0, "d"], - [20582, 0, "e"], - [20583, 0, "n"], - [20584, 0, "c"], - [20585, 0, "i"], - [20586, 0, "e"], - [20587, 0, "s"], - [20588, 0, " "], - [20589, 0, "o"], - [20590, 0, "f"], - [20591, 0, " "], - [20592, 0, "t"], - [20593, 0, "h"], - [20594, 0, "e"], - [20595, 0, " "], - [20596, 0, "o"], - [20597, 0, "p"], - [20598, 0, "e"], - [20599, 0, "r"], - [20600, 0, "a"], - [20601, 0, "t"], - [20602, 0, "i"], - [20603, 0, "o"], - [20604, 0, "n"], - [20605, 0, ","], - [20606, 0, " "], - [20607, 0, "g"], - [20608, 0, "i"], - [20609, 0, "v"], - [20610, 0, "e"], - [20611, 0, "n"], - [20612, 0, " "], - [20613, 0, "a"], - [20614, 0, "s"], - [20615, 0, " "], - [20616, 0, "a"], - [20617, 0, " "], - [20618, 0, "s"], - [20619, 0, "e"], - [20620, 0, "t"], - [20621, 0, " "], - [20622, 0, "o"], - [20623, 0, "f"], - [20624, 0, " "], - [20625, 0, "L"], - [20626, 0, "a"], - [20627, 0, "m"], - [20628, 0, "p"], - [20629, 0, "o"], - [20630, 0, "r"], - [20631, 0, "t"], - [20632, 0, " "], - [20633, 0, "t"], - [20634, 0, "i"], - [20635, 0, "m"], - [20636, 0, "e"], - [20637, 0, "s"], - [20638, 0, "t"], - [20639, 0, "a"], - [20640, 0, "m"], - [20641, 0, "p"], - [20642, 0, "s"], - [20643, 0, "."], - [20644, 0, " "], - [20645, 0, "T"], - [20646, 0, "h"], - [20647, 0, "e"], - [20648, 0, " "], - [20649, 0, "s"], - [20650, 0, "e"], - [20651, 0, "m"], - [20652, 0, "a"], - [20653, 0, "n"], - [20654, 0, "t"], - [20655, 0, "i"], - [20656, 0, "c"], - [20657, 0, "s"], - [20658, 0, " "], - [20659, 0, "b"], - [20660, 0, "e"], - [20661, 0, "l"], - [20662, 0, "o"], - [20663, 0, "w"], - [20664, 0, " "], - [20665, 0, "d"], - [20666, 0, "e"], - [20667, 0, "f"], - [20668, 0, "i"], - [20669, 0, "n"], - [20670, 0, "e"], - [20671, 0, " "], - [20672, 0, "t"], - [20673, 0, "h"], - [20674, 0, "i"], - [20675, 0, "s"], - [20676, 0, " "], - [20677, 0, "="], - [20677, 1], - [20676, 1], - [20675, 1], - [20674, 1], - [20673, 1], - [20672, 1], - [20672, 0, "$"], - [20673, 0, "\\"], - [20674, 0, "m"], - [20675, 0, "a"], - [20676, 0, "t"], - [20677, 0, "h"], - [20678, 0, "i"], - [20679, 0, "t"], - [20680, 0, "{"], - [20681, 0, "d"], - [20682, 0, "e"], - [20683, 0, "p"], - [20684, 0, "s"], - [20685, 0, "}"], - [20686, 0, "$"], - [20687, 0, " "], - [20688, 0, "t"], - [20689, 0, "o"], - [20690, 0, " "], - [20691, 0, "b"], - [20692, 0, "e"], - [20693, 0, " "], - [20694, 0, "t"], - [20695, 0, "h"], - [20696, 0, "e"], - [20697, 0, " "], - [20698, 0, "s"], - [20699, 0, "e"], - [20700, 0, "t"], - [20701, 0, " "], - [20702, 0, "o"], - [20703, 0, "f"], - [20704, 0, " "], - [20705, 0, "o"], - [20706, 0, "p"], - [20707, 0, "e"], - [20708, 0, "r"], - [20709, 0, "a"], - [20710, 0, "t"], - [20711, 0, "i"], - [20712, 0, "o"], - [20713, 0, "n"], - [20714, 0, " "], - [20715, 0, "I"], - [20716, 0, "D"], - [20717, 0, "s"], - [20718, 0, " "], - [20704, 0, " "], - [20705, 0, "a"], - [20706, 0, "l"], - [20707, 0, "l"], - [20723, 0, "t"], - [20724, 0, "h"], - [20725, 0, "a"], - [20726, 0, "t"], - [20727, 0, " "], - [20728, 0, "h"], - [20729, 0, "a"], - [20730, 0, "d"], - [20731, 0, " "], - [20732, 0, "b"], - [20733, 0, "e"], - [20734, 0, "e"], - [20735, 0, "n"], - [20736, 0, " "], - [20737, 0, "a"], - [20738, 0, "p"], - [20739, 0, "p"], - [20740, 0, "l"], - [20741, 0, "i"], - [20742, 0, "e"], - [20743, 0, "d"], - [20744, 0, " "], - [20745, 0, "t"], - [20746, 0, "o"], - [20747, 0, " "], - [20748, 0, "t"], - [20749, 0, "h"], - [20750, 0, "e"], - [20751, 0, " "], - [20752, 0, "d"], - [20753, 0, "o"], - [20754, 0, "c"], - [20755, 0, "u"], - [20756, 0, "m"], - [20757, 0, "e"], - [20758, 0, "n"], - [20759, 0, "t"], - [20760, 0, " "], - [20761, 0, "a"], - [20762, 0, "t"], - [20763, 0, " "], - [20764, 0, "t"], - [20765, 0, "h"], - [20766, 0, "e"], - [20767, 0, " "], - [20768, 0, "t"], - [20769, 0, "i"], - [20770, 0, "m"], - [20771, 0, "e"], - [20772, 0, " "], - [20773, 0, "w"], - [20774, 0, "h"], - [20775, 0, "e"], - [20776, 0, "n"], - [20777, 0, " "], - [20778, 0, "t"], - [20779, 0, "h"], - [20780, 0, "e"], - [20781, 0, " "], - [20782, 0, "o"], - [20783, 0, "p"], - [20784, 0, "e"], - [20785, 0, "r"], - [20786, 0, "a"], - [20787, 0, "t"], - [20788, 0, "i"], - [20789, 0, "o"], - [20790, 0, "n"], - [20791, 0, " "], - [20792, 0, "w"], - [20793, 0, "a"], - [20794, 0, "s"], - [20795, 0, " "], - [20796, 0, "g"], - [20797, 0, "e"], - [20798, 0, "n"], - [20799, 0, "e"], - [20800, 0, "r"], - [20801, 0, "a"], - [20802, 0, "t"], - [20803, 0, "e"], - [20804, 0, "d"], - [20805, 0, "."], - [20806, 0, " "], - [20807, 0, "I"], - [20808, 0, "n"], - [20809, 0, " "], - [20810, 0, "a"], - [20811, 0, " "], - [20812, 0, "r"], - [20813, 0, "e"], - [20814, 0, "a"], - [20815, 0, "l"], - [20816, 0, " "], - [20817, 0, "i"], - [20818, 0, "m"], - [20819, 0, "p"], - [20820, 0, "l"], - [20821, 0, "e"], - [20822, 0, "m"], - [20823, 0, "e"], - [20824, 0, "n"], - [20825, 0, "t"], - [20826, 0, "a"], - [20827, 0, "t"], - [20828, 0, "i"], - [20829, 0, "o"], - [20830, 0, "n"], - [20831, 0, ","], - [20832, 0, " "], - [20833, 0, "t"], - [20834, 0, "h"], - [20835, 0, "i"], - [20836, 0, "s"], - [20837, 0, " "], - [20838, 0, "s"], - [20839, 0, "e"], - [20840, 0, "t"], - [20841, 0, " "], - [20842, 0, "w"], - [20843, 0, "o"], - [20844, 0, "u"], - [20845, 0, "l"], - [20846, 0, "d"], - [20847, 0, " "], - [20848, 0, "b"], - [20849, 0, "e"], - [20850, 0, "c"], - [20851, 0, "o"], - [20852, 0, "m"], - [20853, 0, "e"], - [20854, 0, " "], - [20855, 0, "i"], - [20856, 0, "m"], - [20857, 0, "p"], - [20858, 0, "r"], - [20859, 0, "a"], - [20860, 0, "c"], - [20861, 0, "t"], - [20862, 0, "i"], - [20863, 0, "c"], - [20864, 0, "a"], - [20865, 0, "b"], - [20866, 0, "l"], - [20867, 0, "y"], - [20868, 0, " "], - [20869, 0, "l"], - [20870, 0, "a"], - [20871, 0, "r"], - [20872, 0, "g"], - [20873, 0, "e"], - [20874, 0, ","], - [20875, 0, " "], - [20876, 0, "s"], - [20877, 0, "o"], - [20878, 0, " "], - [20879, 0, "a"], - [20880, 0, " "], - [20881, 0, "c"], - [20882, 0, "o"], - [20883, 0, "m"], - [20884, 0, "p"], - [20885, 0, "a"], - [20886, 0, "c"], - [20887, 0, "t"], - [20888, 0, " "], - [20889, 0, "r"], - [20890, 0, "e"], - [20891, 0, "p"], - [20892, 0, "r"], - [20893, 0, "e"], - [20894, 0, "s"], - [20895, 0, "e"], - [20896, 0, "n"], - [20897, 0, "t"], - [20898, 0, "a"], - [20899, 0, "t"], - [20900, 0, "i"], - [20901, 0, "o"], - [20902, 0, "n"], - [20903, 0, " "], - [20904, 0, "o"], - [20905, 0, "f"], - [20906, 0, " "], - [20907, 0, "c"], - [20908, 0, "a"], - [20909, 0, "u"], - [20910, 0, "s"], - [20911, 0, "a"], - [20912, 0, "l"], - [20913, 0, " "], - [20914, 0, "h"], - [20915, 0, "i"], - [20916, 0, "s"], - [20917, 0, "t"], - [20918, 0, "o"], - [20919, 0, "r"], - [20920, 0, "y"], - [20921, 0, " "], - [20922, 0, "s"], - [20923, 0, "u"], - [20924, 0, "c"], - [20925, 0, "h"], - [20926, 0, " "], - [20926, 1], - [20925, 1], - [20924, 1], - [20923, 1], - [20922, 1], - [20922, 0, "w"], - [20923, 0, "o"], - [20924, 0, "u"], - [20925, 0, "l"], - [20926, 0, "d"], - [20927, 0, " "], - [20928, 0, "b"], - [20929, 0, "e"], - [20930, 0, " "], - [20931, 0, "u"], - [20932, 0, "s"], - [20933, 0, "e"], - [20934, 0, "d"], - [20935, 0, " "], - [20936, 0, "i"], - [20937, 0, "n"], - [20938, 0, "s"], - [20939, 0, "t"], - [20940, 0, "e"], - [20941, 0, "a"], - [20942, 0, "d"], - [20943, 0, " "], - [20944, 0, "-"], - [20945, 0, "-"], - [20946, 0, " "], - [20947, 0, "f"], - [20948, 0, "o"], - [20949, 0, "r"], - [20950, 0, " "], - [20951, 0, "e"], - [20952, 0, "x"], - [20953, 0, "a"], - [20954, 0, "m"], - [20955, 0, "p"], - [20956, 0, "l"], - [20957, 0, "e"], - [20958, 0, ","], - [20959, 0, " "], - [20960, 0, "v"], - [20961, 0, "e"], - [20962, 0, "r"], - [20963, 0, "s"], - [20964, 0, "i"], - [20965, 0, "o"], - [20966, 0, "n"], - [20967, 0, " "], - [20968, 0, "v"], - [20969, 0, "e"], - [20970, 0, "c"], - [20971, 0, "t"], - [20972, 0, "o"], - [20973, 0, "r"], - [20974, 0, "s"], - [20975, 0, " "], - [20976, 0, "o"], - [20977, 0, "r"], - [20978, 0, " "], - [20979, 0, "d"], - [20980, 0, "o"], - [20981, 0, "t"], - [20982, 0, "t"], - [20983, 0, "e"], - [20984, 0, "d"], - [20985, 0, " "], - [20986, 0, "v"], - [20987, 0, "e"], - [20988, 0, "r"], - [20989, 0, "s"], - [20990, 0, "i"], - [20991, 0, "o"], - [20992, 0, "n"], - [20993, 0, " "], - [20994, 0, "v"], - [20995, 0, "e"], - [20996, 0, "c"], - [20997, 0, "t"], - [20998, 0, "o"], - [20999, 0, "r"], - [21000, 0, "s"], - [21001, 0, " "], - [21002, 0, "("], - [21003, 0, "T"], - [21004, 0, "O"], - [21005, 0, "D"], - [21006, 0, "O"], - [21007, 0, " "], - [21008, 0, "i"], - [21008, 1], - [21008, 0, "c"], - [21009, 0, "i"], - [21010, 0, "t"], - [21011, 0, "a"], - [21012, 0, "t"], - [21013, 0, "i"], - [21014, 0, "o"], - [21015, 0, "n"], - [21016, 0, "s"], - [21017, 0, ")"], - [21018, 0, "."], - [21019, 0, " "], - [21020, 0, "H"], - [21021, 0, "o"], - [21022, 0, "w"], - [21023, 0, "e"], - [21024, 0, "v"], - [21025, 0, "e"], - [21026, 0, "r"], - [21027, 0, ","], - [21028, 0, " "], - [21029, 0, "i"], - [21030, 0, "n"], - [21031, 0, " "], - [21032, 0, "o"], - [21033, 0, "u"], - [21034, 0, "r"], - [21035, 0, " "], - [21036, 0, "a"], - [21037, 0, "b"], - [21038, 0, "s"], - [21039, 0, "t"], - [21040, 0, "r"], - [21041, 0, "a"], - [21042, 0, "c"], - [21043, 0, "t"], - [21044, 0, " "], - [21045, 0, "p"], - [21046, 0, "r"], - [21047, 0, "e"], - [21048, 0, "s"], - [21049, 0, "e"], - [21050, 0, "n"], - [21051, 0, "t"], - [21052, 0, "a"], - [21053, 0, "t"], - [21054, 0, "i"], - [21055, 0, "o"], - [21056, 0, "n"], - [21057, 0, " "], - [21058, 0, "o"], - [21059, 0, "f"], - [21060, 0, " "], - [21061, 0, "t"], - [21062, 0, "h"], - [21063, 0, "e"], - [21064, 0, " "], - [21065, 0, "s"], - [21066, 0, "e"], - [21067, 0, "m"], - [21068, 0, "a"], - [21069, 0, "n"], - [21070, 0, "t"], - [21071, 0, "i"], - [21072, 0, "c"], - [21073, 0, "s"], - [21074, 0, " "], - [21075, 0, "w"], - [21076, 0, "e"], - [21077, 0, " "], - [21078, 0, "g"], - [21079, 0, "i"], - [21080, 0, "v"], - [21081, 0, "e"], - [21082, 0, " "], - [21083, 0, "t"], - [21084, 0, "h"], - [21085, 0, "e"], - [21086, 0, " "], - [21087, 0, "d"], - [21088, 0, "e"], - [21089, 0, "p"], - [21090, 0, "e"], - [21091, 0, "n"], - [21092, 0, "d"], - [21093, 0, "e"], - [21094, 0, "n"], - [21095, 0, "c"], - [21096, 0, "i"], - [21097, 0, "e"], - [21098, 0, "s"], - [21099, 0, " "], - [21100, 0, "a"], - [21101, 0, "s"], - [21102, 0, " "], - [21103, 0, "a"], - [21104, 0, " "], - [21105, 0, "s"], - [21106, 0, "e"], - [21107, 0, "t"], - [21108, 0, " "], - [21109, 0, "o"], - [21110, 0, "f"], - [21111, 0, " "], - [21112, 0, "o"], - [21113, 0, "p"], - [21114, 0, "e"], - [21115, 0, "r"], - [21116, 0, "a"], - [21117, 0, "t"], - [21118, 0, "i"], - [21119, 0, "o"], - [21120, 0, "n"], - [21121, 0, " "], - [21122, 0, "I"], - [21123, 0, "D"], - [21124, 0, "s"], - [21125, 0, " "], - [21126, 0, "s"], - [21127, 0, "i"], - [21128, 0, "n"], - [21129, 0, "c"], - [21130, 0, " "], - [21131, 0, "e"], - [21131, 1], - [21130, 1], - [21130, 0, "e"], - [21131, 0, "."], - [21131, 1], - [21130, 1], - [21129, 1], - [21128, 1], - [21127, 1], - [21126, 1], - [21125, 1], - [21124, 1], - [21124, 0, "s"], - [21125, 0, "."], - [21026, 1], - [21025, 1], - [21024, 1], - [21023, 1], - [21022, 1], - [21021, 1], - [21020, 1], - [21020, 1], - [21020, 0, "T"], - [21021, 0, "o"], - [21022, 0, " "], - [21023, 0, "a"], - [21024, 0, "v"], - [21025, 0, "o"], - [21026, 0, "i"], - [21027, 0, "d"], - [21028, 0, " "], - [21029, 0, "a"], - [21030, 0, "m"], - [21031, 0, "b"], - [21032, 0, "i"], - [21033, 0, "g"], - [21034, 0, "u"], - [21035, 0, "i"], - [21036, 0, "t"], - [21037, 0, "y"], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21046, 1], - [21020, 0, "H"], - [21021, 0, "o"], - [21022, 0, "w"], - [21023, 0, "e"], - [21024, 0, "v"], - [21025, 0, "e"], - [21026, 0, "r"], - [21027, 0, ","], - [21028, 0, " "], - [21029, 1], - [21029, 0, "t"], - [21055, 1], - [21055, 1], - [21055, 1], - [21055, 1], - [21094, 0, " "], - [21095, 0, "s"], - [21096, 0, "i"], - [21097, 0, "m"], - [21098, 0, "p"], - [21099, 0, "l"], - [21100, 0, "e"], - [21123, 0, "\n"], - [21124, 0, "\n"], - [21125, 0, "T"], - [21126, 0, "h"], - [21127, 0, "e"], - [21128, 0, " "], - [21129, 0, "p"], - [21130, 0, "u"], - [21131, 0, "r"], - [21132, 0, "p"], - [21133, 0, "o"], - [21134, 0, "s"], - [21135, 0, "e"], - [21136, 0, " "], - [21137, 0, "o"], - [21138, 0, "f"], - [21139, 0, " "], - [21140, 0, "t"], - [21141, 0, "h"], - [21142, 0, "e"], - [21143, 0, " "], - [21144, 0, "c"], - [21145, 0, "a"], - [21146, 0, "u"], - [21147, 0, "s"], - [21148, 0, "a"], - [21149, 0, "l"], - [21150, 0, " "], - [21151, 0, "d"], - [21152, 0, "e"], - [21153, 0, "p"], - [21154, 0, "e"], - [21155, 0, "n"], - [21156, 0, "d"], - [21157, 0, "e"], - [21158, 0, "n"], - [21159, 0, "c"], - [21160, 0, "i"], - [21161, 0, "e"], - [21162, 0, "s"], - [21163, 0, " "], - [21164, 0, "$"], - [21165, 0, "\\"], - [21166, 0, "m"], - [21167, 0, "a"], - [21168, 0, "t"], - [21169, 0, "h"], - [21170, 0, "i"], - [21171, 0, "t"], - [21172, 0, "{"], - [21173, 0, "d"], - [21174, 0, "e"], - [21175, 0, "p"], - [21176, 0, "s"], - [21177, 0, "}"], - [21178, 0, "$"], - [21179, 0, " "], - [21180, 0, "i"], - [21181, 0, "s"], - [21182, 0, " "], - [21183, 0, "t"], - [21184, 0, "o"], - [21185, 0, " "], - [21186, 0, "i"], - [21187, 0, "m"], - [21188, 0, "p"], - [21189, 0, "o"], - [21190, 0, "s"], - [21191, 0, "e"], - [21192, 0, " "], - [21193, 0, "a"], - [21194, 0, " "], - [21195, 0, "p"], - [21196, 0, "a"], - [21197, 0, "r"], - [21198, 0, "t"], - [21199, 0, "i"], - [21200, 0, "a"], - [21201, 0, "l"], - [21202, 0, " "], - [21203, 0, "o"], - [21204, 0, "r"], - [21205, 0, "d"], - [21206, 0, "e"], - [21207, 0, "r"], - [21208, 0, "i"], - [21209, 0, "n"], - [21210, 0, "g"], - [21211, 0, " "], - [21212, 0, "o"], - [21213, 0, "n"], - [21214, 0, " "], - [21215, 0, "o"], - [21216, 0, "p"], - [21217, 0, "e"], - [21218, 0, "r"], - [21219, 0, "a"], - [21220, 0, "t"], - [21221, 0, "i"], - [21222, 0, "o"], - [21223, 0, "n"], - [21224, 0, "s"], - [21225, 0, ":"], - [21226, 0, " "], - [21227, 0, "a"], - [21228, 0, "n"], - [21229, 0, " "], - [21230, 0, "o"], - [21231, 0, "p"], - [21232, 0, "e"], - [21233, 0, "r"], - [21234, 0, "a"], - [21235, 0, "t"], - [21236, 0, "i"], - [21237, 0, "o"], - [21238, 0, "n"], - [21239, 0, " "], - [21240, 0, "c"], - [21241, 0, "a"], - [21242, 0, "n"], - [21243, 0, " "], - [21244, 0, "o"], - [21245, 0, "n"], - [21246, 0, "l"], - [21247, 0, "y"], - [21248, 0, " "], - [21249, 0, "b"], - [21250, 0, "e"], - [21251, 0, " "], - [21252, 0, "a"], - [21253, 0, "p"], - [21254, 0, "p"], - [21255, 0, "l"], - [21256, 0, "i"], - [21257, 0, "e"], - [21258, 0, "d"], - [21259, 0, " "], - [21260, 0, "a"], - [21261, 0, "f"], - [21262, 0, "t"], - [21263, 0, "e"], - [21264, 0, "r"], - [21265, 0, " "], - [21266, 0, "a"], - [21267, 0, "l"], - [21268, 0, "l"], - [21269, 0, " "], - [21270, 0, "o"], - [21271, 0, "p"], - [21272, 0, "e"], - [21273, 0, "r"], - [21274, 0, "a"], - [21275, 0, "t"], - [21276, 0, "i"], - [21277, 0, "o"], - [21278, 0, "n"], - [21279, 0, "s"], - [21280, 0, " "], - [21281, 0, "t"], - [21282, 0, "h"], - [21283, 0, "a"], - [21284, 0, "t"], - [21285, 0, " "], - [21286, 0, "`"], - [21287, 0, "`"], - [21288, 0, "h"], - [21289, 0, "a"], - [21290, 0, "p"], - [21291, 0, "p"], - [21292, 0, "e"], - [21293, 0, "n"], - [21294, 0, "e"], - [21295, 0, "d"], - [21296, 0, " "], - [21297, 0, "b"], - [21298, 0, "e"], - [21299, 0, "f"], - [21300, 0, "o"], - [21301, 0, "r"], - [21302, 0, "e"], - [21303, 0, "'"], - [21304, 0, "'"], - [21305, 0, " "], - [21306, 0, "i"], - [21307, 0, "t"], - [21308, 0, " "], - [21309, 0, "h"], - [21310, 0, "a"], - [21311, 0, "v"], - [21312, 0, "e"], - [21313, 0, " "], - [21314, 0, "b"], - [21315, 0, "e"], - [21316, 0, "e"], - [21317, 0, "n"], - [21318, 0, " "], - [21319, 0, "a"], - [21320, 0, "p"], - [21321, 0, "p"], - [21322, 0, "l"], - [21323, 0, "i"], - [21324, 0, "e"], - [21325, 0, "d"], - [21326, 0, "."], - [21327, 0, " "], - [21328, 0, "I"], - [21329, 0, "n"], - [21330, 0, " "], - [21331, 0, "p"], - [21332, 0, "a"], - [21333, 0, "r"], - [21334, 0, "t"], - [21335, 0, "i"], - [21336, 0, "c"], - [21337, 0, "u"], - [21338, 0, "l"], - [21339, 0, "a"], - [21340, 0, "r"], - [21341, 0, ","], - [21342, 0, " "], - [21343, 0, "t"], - [21344, 0, "h"], - [21345, 0, "i"], - [21346, 0, "s"], - [21347, 0, " "], - [21348, 0, "m"], - [21349, 0, "e"], - [21350, 0, "a"], - [21351, 0, "n"], - [21352, 0, "s"], - [21353, 0, " "], - [21354, 0, "t"], - [21355, 0, "h"], - [21356, 0, "a"], - [21357, 0, "t"], - [21358, 0, " "], - [21359, 0, "t"], - [21360, 0, "h"], - [21361, 0, "e"], - [21362, 0, " "], - [21363, 0, "s"], - [21364, 0, "e"], - [21365, 0, "q"], - [21366, 0, "u"], - [21367, 0, "e"], - [21368, 0, "n"], - [21369, 0, "c"], - [21370, 0, "e"], - [21371, 0, " "], - [21372, 0, "o"], - [21373, 0, "f"], - [21374, 0, " "], - [21375, 0, "o"], - [21376, 0, "p"], - [21377, 0, "e"], - [21378, 0, "r"], - [21379, 0, "a"], - [21380, 0, "t"], - [21381, 0, "i"], - [21382, 0, "o"], - [21383, 0, "n"], - [21384, 0, "s"], - [21385, 0, " "], - [21386, 0, "g"], - [21387, 0, "e"], - [21388, 0, "n"], - [21389, 0, "e"], - [21390, 0, "r"], - [21391, 0, "a"], - [21392, 0, "t"], - [21393, 0, "e"], - [21394, 0, "d"], - [21395, 0, " "], - [21396, 0, "a"], - [21397, 0, "t"], - [21398, 0, " "], - [21399, 0, "o"], - [21400, 0, "n"], - [21401, 0, "e"], - [21402, 0, " "], - [21403, 0, "p"], - [21404, 0, "a"], - [21405, 0, "r"], - [21406, 0, "t"], - [21407, 0, "i"], - [21408, 0, "c"], - [21409, 0, "u"], - [21410, 0, "l"], - [21411, 0, "a"], - [21412, 0, "r"], - [21413, 0, " "], - [21414, 0, "p"], - [21415, 0, "e"], - [21416, 0, "e"], - [21417, 0, "r"], - [21418, 0, " "], - [21419, 0, "w"], - [21420, 0, "i"], - [21421, 0, "l"], - [21422, 0, "l"], - [21423, 0, " "], - [21424, 0, "b"], - [21425, 0, "e"], - [21426, 0, " "], - [21427, 0, "a"], - [21428, 0, "p"], - [21429, 0, "p"], - [21430, 0, "l"], - [21431, 0, "i"], - [21432, 0, "e"], - [21433, 0, "d"], - [21434, 0, " "], - [21435, 0, "i"], - [21436, 0, "n"], - [21437, 0, " "], - [21438, 0, "t"], - [21439, 0, "h"], - [21440, 0, "e"], - [21441, 0, " "], - [21442, 0, "s"], - [21443, 0, "a"], - [21444, 0, "m"], - [21445, 0, "e"], - [21446, 0, " "], - [21447, 0, "o"], - [21448, 0, "r"], - [21449, 0, "d"], - [21450, 0, "e"], - [21451, 0, "r"], - [21452, 0, " "], - [21453, 0, "a"], - [21454, 0, "t"], - [21455, 0, " "], - [21456, 0, "e"], - [21457, 0, "v"], - [21458, 0, "e"], - [21459, 0, "r"], - [21460, 0, "y"], - [21461, 0, " "], - [21462, 0, "o"], - [21463, 0, "t"], - [21464, 0, "h"], - [21465, 0, "e"], - [21466, 0, "r"], - [21467, 0, " "], - [21468, 0, "p"], - [21469, 0, "e"], - [21470, 0, "e"], - [21471, 0, "r"], - [21472, 0, "."], - [21473, 0, " "], - [21474, 0, "O"], - [21475, 0, "p"], - [21476, 0, "e"], - [21477, 0, "r"], - [21478, 0, "a"], - [21479, 0, "t"], - [21480, 0, "i"], - [21481, 0, "o"], - [21482, 0, "n"], - [21483, 0, "s"], - [21484, 0, " "], - [21485, 0, "t"], - [21486, 0, "h"], - [21487, 0, "a"], - [21488, 0, "t"], - [21489, 0, " "], - [21490, 0, "a"], - [21491, 0, "r"], - [21492, 0, "e"], - [21493, 0, " "], - [21494, 0, "c"], - [21495, 0, "o"], - [21496, 0, "n"], - [21497, 0, "c"], - [21498, 0, "u"], - [21499, 0, "r"], - [21500, 0, "r"], - [21501, 0, "e"], - [21502, 0, "n"], - [21503, 0, "t"], - [21504, 0, " "], - [21504, 1], - [21504, 0, ","], - [21505, 0, " "], - [21506, 0, "i"], - [21507, 0, "."], - [21508, 0, "e"], - [21509, 0, "."], - [21510, 0, " "], - [21511, 0, "w"], - [21512, 0, "h"], - [21513, 0, "e"], - [21514, 0, "r"], - [21515, 0, "e"], - [21516, 0, " "], - [21517, 0, "t"], - [21518, 0, "h"], - [21519, 0, "e"], - [21520, 0, "r"], - [21521, 0, "e"], - [21522, 0, " "], - [21523, 0, "i"], - [21524, 0, "s"], - [21525, 0, " "], - [21526, 0, "n"], - [21527, 0, "o"], - [21528, 0, " "], - [21529, 0, "c"], - [21530, 0, "a"], - [21531, 0, "u"], - [21532, 0, "s"], - [21533, 0, "a"], - [21534, 0, "l"], - [21535, 0, " "], - [21536, 0, "d"], - [21537, 0, "e"], - [21538, 0, "p"], - [21539, 0, "e"], - [21540, 0, "n"], - [21541, 0, "d"], - [21542, 0, "e"], - [21543, 0, "n"], - [21544, 0, "c"], - [21545, 0, "y"], - [21546, 0, ","], - [21547, 0, " "], - [21548, 0, "c"], - [21549, 0, "a"], - [21550, 0, "n"], - [21551, 0, " "], - [21552, 0, "b"], - [21553, 0, "e"], - [21554, 0, " "], - [21555, 0, "a"], - [21556, 0, "p"], - [21557, 0, "p"], - [21558, 0, "l"], - [21559, 0, "i"], - [21560, 0, "e"], - [21561, 0, "d"], - [21562, 0, " "], - [21563, 0, "i"], - [21564, 0, "n"], - [21565, 0, " "], - [21566, 0, "a"], - [21567, 0, "n"], - [21568, 0, "y"], - [21569, 0, " "], - [21570, 0, "o"], - [21571, 0, "r"], - [21572, 0, "d"], - [21573, 0, "e"], - [21574, 0, "r"], - [21575, 0, "."], - [21576, 0, "\n"], - [21577, 0, "\n"], - [21578, 0, "\\"], - [21579, 0, "s"], - [21580, 0, "u"], - [21581, 0, "b"], - [21582, 0, "s"], - [21583, 0, "u"], - [21584, 0, "b"], - [21585, 0, "s"], - [21586, 0, "e"], - [21587, 0, "c"], - [21588, 0, "t"], - [21589, 0, "i"], - [21590, 0, "o"], - [21591, 0, "n"], - [21592, 0, "{"], - [21593, 0, "S"], - [21594, 0, "e"], - [21595, 0, "m"], - [21596, 0, "a"], - [21597, 0, "n"], - [21598, 0, "t"], - [21599, 0, "i"], - [21600, 0, "c"], - [21601, 0, "s"], - [21602, 0, " "], - [21603, 0, "o"], - [21604, 0, "f"], - [21605, 0, " "], - [21606, 0, "g"], - [21607, 0, "e"], - [21608, 0, "n"], - [21609, 0, "e"], - [21610, 0, "r"], - [21611, 0, "a"], - [21612, 0, "t"], - [21613, 0, "i"], - [21614, 0, "n"], - [21615, 0, "g"], - [21616, 0, " "], - [21617, 0, "o"], - [21618, 0, "p"], - [21619, 0, "e"], - [21620, 0, "r"], - [21621, 0, "a"], - [21622, 0, "t"], - [21623, 0, "i"], - [21624, 0, "o"], - [21625, 0, "n"], - [21626, 0, "s"], - [21627, 0, "}"], - [22993, 0, "\n"], - [22994, 0, "\n"], - [22995, 0, "T"], - [22996, 0, "h"], - [22997, 0, "e"], - [22998, 0, " "], - [22999, 0, "f"], - [23000, 0, "o"], - [23001, 0, "r"], - [23002, 0, "m"], - [23003, 0, "a"], - [23004, 0, "l"], - [23005, 0, " "], - [23006, 0, "e"], - [23007, 0, "v"], - [23008, 0, "a"], - [23009, 0, "l"], - [23010, 0, "u"], - [23011, 0, "a"], - [23012, 0, "t"], - [23013, 0, "i"], - [23014, 0, "o"], - [23015, 0, "n"], - [23016, 0, " "], - [23017, 0, "r"], - [23018, 0, "u"], - [23019, 0, "l"], - [23020, 0, "e"], - [23021, 0, "s"], - [23022, 0, " "], - [23023, 0, "f"], - [23024, 0, "o"], - [23025, 0, "r"], - [23026, 0, " "], - [23027, 0, "c"], - [23028, 0, "o"], - [23029, 0, "m"], - [23030, 0, "m"], - [23031, 0, "a"], - [23032, 0, "n"], - [23033, 0, "d"], - [23034, 0, "s"], - [23035, 0, " "], - [23036, 0, "a"], - [23037, 0, "r"], - [23038, 0, "e"], - [23039, 0, " "], - [23040, 0, "g"], - [23041, 0, "i"], - [23042, 0, "v"], - [23043, 0, "e"], - [23044, 0, "n"], - [23045, 0, " "], - [23046, 0, "i"], - [23047, 0, "n"], - [23048, 0, " "], - [23049, 0, "F"], - [23050, 0, "i"], - [23051, 0, "g"], - [23052, 0, "u"], - [23053, 0, "r"], - [23054, 0, "e"], - [23055, 0, "~"], - [23056, 0, "\\"], - [23057, 0, "r"], - [23058, 0, "e"], - [23059, 0, "f"], - [23060, 0, "{"], - [23061, 0, "f"], - [23062, 0, "i"], - [23063, 0, "g"], - [23064, 0, ":"], - [23065, 0, "s"], - [23066, 0, "e"], - [23067, 0, "n"], - [23068, 0, "d"], - [23069, 0, "-"], - [23070, 0, "r"], - [23071, 0, "e"], - [23072, 0, "c"], - [23073, 0, "v"], - [23074, 0, "}"], - [23075, 0, "."], - [20671, 0, "s"], - [21658, 1], - [21676, 1], - [21675, 0, "\n"], - [21676, 0, "|"], - [21676, 1], - [21676, 0, "\\"], - [21677, 0, "A"], - [21678, 0, "x"], - [21679, 0, "i"], - [21680, 0, "o"], - [21681, 0, "m"], - [21682, 0, "C"], - [21683, 0, "{"], - [21684, 0, "A"], - [21685, 0, "_"], - [21686, 0, "p"], - [21687, 0, ","], - [21688, 0, "\\"], - [21689, 0, ","], - [21690, 0, " "], - [21691, 0, "\\"], - [21692, 0, "m"], - [21693, 0, "a"], - [21694, 0, "t"], - [21695, 0, "h"], - [21696, 0, "i"], - [21697, 0, "t"], - [21698, 0, "{"], - [21699, 0, "e"], - [21700, 0, "x"], - [21701, 0, "p"], - [21702, 0, "r"], - [21703, 0, "}"], - [21704, 0, " "], - [21705, 0, "\\"], - [21706, 0, "e"], - [21707, 0, "v"], - [21708, 0, "a"], - [21709, 0, "l"], - [21710, 0, "t"], - [21711, 0, "o"], - [21712, 0, " "], - [21713, 0, "\\"], - [21714, 0, "m"], - [21715, 0, "a"], - [21716, 0, "t"], - [21717, 0, "h"], - [21718, 0, "i"], - [21719, 0, "t"], - [21720, 0, "{"], - [21721, 0, "c"], - [21722, 0, "u"], - [21723, 0, "r"], - [21724, 0, "}"], - [21725, 0, "}"], - [21725, 0, "$"], - [21684, 0, "$"], - [21728, 0, "\n"], - [21729, 0, "\\"], - [21730, 0, "A"], - [21731, 0, "x"], - [21732, 0, "i"], - [21733, 0, "o"], - [21734, 0, "m"], - [21735, 0, "C"], - [21736, 0, "{"], - [21737, 0, "$"], - [21738, 0, "\\"], - [21739, 0, "m"], - [21740, 0, "a"], - [21741, 0, "t"], - [21742, 0, "h"], - [21743, 0, "i"], - [21744, 0, "t"], - [21745, 0, "{"], - [21746, 0, "v"], - [21747, 0, "a"], - [21748, 0, "l"], - [21749, 0, "}"], - [21750, 0, ":"], - [21751, 0, " "], - [21752, 0, "\\"], - [21753, 0, "m"], - [21754, 0, "a"], - [21755, 0, "t"], - [21756, 0, "h"], - [21757, 0, "r"], - [21758, 0, "m"], - [21759, 0, "{"], - [21760, 0, "V"], - [21761, 0, "A"], - [21762, 0, "L"], - [21763, 0, "}"], - [21764, 0, " "], - [21765, 0, "\\"], - [21766, 0, "w"], - [21767, 0, "e"], - [21768, 0, "d"], - [21769, 0, "g"], - [21770, 0, "e"], - [21771, 0, " "], - [21772, 0, "\\"], - [21773, 0, "m"], - [21774, 0, "a"], - [21775, 0, "t"], - [21776, 0, "h"], - [21777, 0, "i"], - [21778, 0, "t"], - [21779, 0, " "], - [21780, 0, "\\"], - [21781, 0, "n"], - [21782, 0, "o"], - [21783, 0, "t"], - [21784, 0, "="], - [21785, 0, " "], - [21786, 0, "\\"], - [21787, 0, "v"], - [21788, 0, "e"], - [21789, 0, "r"], - [21790, 0, "b"], - [21791, 0, "|"], - [21792, 0, "["], - [21793, 0, "]"], - [21794, 0, "|"], - [21795, 0, "$"], - [21796, 0, "}"], - [21797, 0, "\n"], - [21798, 0, "\\"], - [21799, 0, "B"], - [21800, 0, "i"], - [21801, 0, "n"], - [21802, 0, "a"], - [21803, 0, "r"], - [21804, 0, "y"], - [21805, 0, "I"], - [21806, 0, "n"], - [21807, 0, "f"], - [21808, 0, "C"], - [21809, 0, "{"], - [21810, 0, "$"], - [21810, 1], - [21810, 0, "o"], - [21811, 0, "k"], - [21812, 0, "}"], - [21794, 1], - [21794, 0, "}"], - [21791, 1], - [21790, 1], - [21789, 1], - [21788, 1], - [21787, 1], - [21787, 0, "m"], - [21788, 0, "a"], - [21789, 0, "t"], - [21790, 0, "h"], - [21791, 0, "t"], - [21792, 0, "t"], - [21793, 0, "{"], - [21797, 0, " "], - [21798, 0, "\\"], - [21799, 0, "w"], - [21800, 0, "e"], - [21801, 0, "d"], - [21802, 0, "g"], - [21803, 0, "e"], - [21804, 0, " "], - [21805, 0, "\\"], - [21779, 0, "{"], - [21780, 0, "v"], - [21781, 0, "a"], - [21782, 0, "l"], - [21783, 0, "}"], - [21810, 1], - [21801, 1], - [21801, 0, "|"], - [21798, 1], - [21797, 1], - [21796, 1], - [21795, 1], - [21794, 1], - [21793, 1], - [21792, 1], - [21792, 0, "v"], - [21793, 0, "e"], - [21794, 0, "r"], - [21795, 0, "b"], - [21796, 0, "|"], - [21791, 0, "\\"], - [21792, 0, "m"], - [21793, 0, "b"], - [21794, 0, "o"], - [21795, 0, "x"], - [21796, 0, "{"], - [21806, 0, "}"], - [21806, 1], - [21805, 1], - [21804, 1], - [21803, 1], - [21802, 1], - [21801, 1], - [21800, 1], - [21799, 1], - [21798, 1], - [21797, 1], - [21796, 1], - [21795, 1], - [21794, 1], - [21793, 1], - [21793, 0, "a"], - [21794, 0, "t"], - [21795, 0, "h"], - [21796, 0, "t"], - [21797, 0, "t"], - [21798, 0, "{"], - [21799, 0, "\\"], - [21800, 0, "l"], - [21801, 0, "b"], - [21802, 0, "r"], - [21803, 0, "a"], - [21804, 0, "c"], - [21805, 0, "k"], - [21806, 0, "\\"], - [21807, 0, "r"], - [21808, 0, "b"], - [21809, 0, "r"], - [21810, 0, "a"], - [21811, 0, "c"], - [21812, 0, "k"], - [21813, 0, "}"], - [21812, 1], - [21811, 1], - [21810, 1], - [21809, 1], - [21808, 1], - [21807, 1], - [21806, 1], - [21805, 1], - [21804, 1], - [21803, 1], - [21802, 1], - [21801, 1], - [21800, 1], - [21799, 1], - [21799, 0, "["], - [21800, 0, "]"], - [21795, 1], - [21794, 1], - [21793, 1], - [21792, 1], - [21792, 0, "t"], - [21793, 0, "e"], - [21794, 0, "x"], - [21795, 0, "t"], - [21765, 0, "\\"], - [21766, 0, ","], - [21773, 0, "\\"], - [21774, 0, ","], - [21807, 0, "\\"], - [21808, 0, ","], - [21815, 0, "\\"], - [21816, 0, ","], - [21817, 0, " "], - [21818, 0, "\\"], - [21819, 0, "m"], - [21820, 0, "a"], - [21821, 0, "t"], - [21822, 0, "h"], - [21823, 0, "i"], - [21824, 0, "t"], - [21825, 0, "{"], - [21826, 0, "v"], - [21827, 0, "a"], - [21828, 0, "l"], - [21829, 0, "}"], - [21830, 0, " "], - [21831, 0, "\\"], - [21832, 0, "n"], - [21833, 0, "o"], - [21834, 0, "t"], - [21835, 0, "="], - [21836, 0, " "], - [21837, 0, "\\"], - [21838, 0, "t"], - [21839, 0, "e"], - [21840, 0, "x"], - [21841, 0, "t"], - [21842, 0, "t"], - [21843, 0, "{"], - [21844, 0, "\\"], - [21845, 0, "{"], - [21846, 0, "\\"], - [21847, 0, "}"], - [21848, 0, "}"], - [21806, 0, "\n"], - [21807, 0, " "], - [21808, 0, " "], - [21809, 0, " "], - [21847, 0, "t"], - [21850, 0, "s"], - [21851, 0, "t"], - [21852, 0, "r"], - [21853, 0, "i"], - [21854, 0, "n"], - [21855, 0, "g"], - [21858, 0, "s"], - [21859, 0, "t"], - [21860, 0, "r"], - [21861, 0, "i"], - [21862, 0, "n"], - [21863, 0, "g"], - [21869, 0, "\n"], - [21870, 0, "\\"], - [21871, 0, "A"], - [21872, 0, "x"], - [21873, 0, "i"], - [21874, 0, "o"], - [21875, 0, "m"], - [21876, 0, "C"], - [21877, 0, "{"], - [21878, 0, "$"], - [21879, 0, "A"], - [21880, 0, "_"], - [21881, 0, "p"], - [21882, 0, ","], - [21883, 0, "\\"], - [21884, 0, ","], - [21885, 0, " "], - [21886, 0, "\\"], - [21887, 0, "m"], - [21888, 0, "a"], - [21889, 0, "t"], - [21890, 0, "h"], - [21891, 0, "s"], - [21892, 0, "f"], - [21893, 0, "{"], - [21894, 0, "m"], - [21895, 0, "a"], - [21896, 0, "k"], - [21897, 0, "e"], - [21898, 0, "O"], - [21899, 0, "p"], - [21900, 0, "}"], - [21901, 0, "("], - [21902, 0, "\\"], - [21903, 0, "m"], - [21904, 0, "a"], - [21905, 0, "t"], - [21906, 0, "h"], - [21907, 0, "i"], - [21908, 0, "t"], - [21909, 0, "{"], - [21910, 0, "c"], - [21911, 0, "u"], - [21912, 0, "r"], - [21913, 0, "}"], - [21914, 0, " "], - [21914, 1], - [21914, 0, ","], - [21915, 0, " "], - [21916, 0, "\\"], - [21917, 0, "m"], - [21918, 0, "a"], - [21919, 0, "t"], - [21920, 0, "h"], - [21921, 0, "s"], - [21922, 0, "f"], - [21923, 0, "{"], - [21924, 0, "a"], - [21925, 0, "s"], - [21926, 0, "s"], - [21927, 0, "i"], - [21928, 0, "g"], - [21929, 0, "n"], - [21930, 0, "}"], - [21931, 0, "("], - [21932, 0, "\\"], - [21933, 0, "m"], - [21934, 0, "a"], - [21935, 0, "t"], - [21936, 0, "h"], - [21937, 0, "i"], - [21938, 0, "t"], - [21939, 0, "{"], - [21940, 0, "v"], - [21941, 0, "a"], - [21942, 0, "l"], - [21943, 0, "}"], - [21944, 0, ")"], - [21945, 0, ")"], - [21946, 0, " "], - [21947, 0, "\\"], - [21948, 0, "e"], - [21949, 0, "v"], - [21950, 0, "a"], - [21951, 0, "l"], - [21952, 0, "t"], - [21953, 0, "o"], - [21954, 0, " "], - [21955, 0, "A"], - [21956, 0, "_"], - [21957, 0, "p"], - [21958, 0, "'"], - [21959, 0, "$"], - [21960, 0, "}"], - [21963, 1], - [21963, 0, "T"], - [21964, 0, "r"], - [21976, 1], - [21975, 1], - [21975, 0, "$"], - [21976, 0, "A"], - [21977, 0, "_"], - [21978, 0, "p"], - [21979, 0, ","], - [21980, 0, "\\"], - [21981, 0, ","], - [21982, 0, " "], - [21983, 0, "\\"], - [21984, 0, "m"], - [21985, 0, "a"], - [21986, 0, "t"], - [21987, 0, "h"], - [21988, 0, "i"], - [21989, 0, "t"], - [21990, 0, "{"], - [21991, 0, "e"], - [21992, 0, "x"], - [21993, 0, "p"], - [21994, 0, "r"], - [21995, 0, "}"], - [21996, 0, " "], - [21997, 0, "\\"], - [21998, 0, "e"], - [21998, 1], - [21997, 1], - [21997, 0, "\\"], - [21998, 0, "t"], - [21999, 0, "e"], - [22000, 0, "x"], - [22001, 0, "t"], - [22002, 0, "{"], - [22003, 0, ":"], - [22003, 1], - [22002, 1], - [22001, 1], - [22000, 1], - [21999, 1], - [21998, 1], - [21998, 0, "m"], - [21999, 0, "a"], - [22000, 0, "t"], - [22001, 0, "h"], - [22002, 0, "b"], - [22003, 0, "i"], - [22004, 0, "n"], - [22005, 0, "("], - [22006, 0, ":"], - [22006, 1], - [22005, 1], - [22005, 0, "{"], - [22006, 0, ":"], - [22007, 0, "="], - [22008, 0, "}"], - [22006, 0, "\\"], - [22007, 0, "t"], - [22008, 0, "e"], - [22009, 0, "x"], - [22010, 0, "t"], - [22011, 0, "{"], - [22014, 0, "}"], - [22016, 0, " "], - [22017, 0, "\\"], - [22018, 0, "m"], - [22019, 0, "a"], - [22020, 0, "t"], - [22021, 0, "h"], - [22022, 0, "i"], - [22023, 0, "t"], - [22024, 0, "{"], - [22025, 0, "v"], - [22026, 0, "a"], - [22027, 0, "l"], - [22028, 0, "}"], - [22029, 0, " "], - [22030, 0, "\\"], - [22031, 0, "e"], - [22032, 0, "v"], - [22033, 0, "a"], - [22034, 0, "l"], - [22035, 0, "t"], - [22036, 0, "o"], - [22037, 0, " "], - [22038, 0, "A"], - [22039, 0, "_"], - [22040, 0, "p"], - [22041, 0, "'"], - [22042, 0, "$"], - [21961, 0, "\n"], - [21962, 0, "\\"], - [21963, 0, "L"], - [21964, 0, "e"], - [21965, 0, "f"], - [21966, 0, "t"], - [21967, 0, "L"], - [21968, 0, "a"], - [21969, 0, "b"], - [21970, 0, "e"], - [21971, 0, "l"], - [21972, 0, "{"], - [21973, 0, "\\"], - [21974, 0, "t"], - [21975, 0, "e"], - [21976, 0, "x"], - [21977, 0, "t"], - [21978, 0, "s"], - [21979, 0, "c"], - [21980, 0, "{"], - [21981, 0, "A"], - [21982, 0, "s"], - [21983, 0, "s"], - [21984, 0, "i"], - [21985, 0, "g"], - [21986, 0, "n"], - [21987, 0, "}"], - [21988, 0, "}"], - [22033, 1], - [22032, 1], - [22031, 1], - [22030, 1], - [22029, 1], - [22028, 1], - [22027, 1], - [22026, 1], - [22025, 1], - [22031, 0, " "], - [22034, 0, " "], - [22035, 1], - [22036, 0, "\\"], - [22037, 0, ","], - [22025, 0, "\\"], - [22026, 0, ","], - [22084, 0, "\n"], - [22085, 0, "\n"], - [22086, 0, "\\"], - [22087, 0, "b"], - [22088, 0, "e"], - [22089, 0, "g"], - [22090, 0, "i"], - [22091, 0, "n"], - [22092, 0, "{"], - [22093, 0, "p"], - [22094, 0, "r"], - [22095, 0, "o"], - [22096, 0, "o"], - [22097, 0, "f"], - [22098, 0, "t"], - [22099, 0, "r"], - [22100, 0, "e"], - [22101, 0, "e"], - [22102, 0, "}"], - [22103, 0, "\n"], - [22104, 0, "\\"], - [22105, 0, "e"], - [22106, 0, "n"], - [22107, 0, "d"], - [22108, 0, "{"], - [22109, 0, "p"], - [22110, 0, "r"], - [22111, 0, "o"], - [22112, 0, "o"], - [22113, 0, "f"], - [22114, 0, "t"], - [22115, 0, "r"], - [22116, 0, "e"], - [22117, 0, "e"], - [22118, 0, "}"], - [22103, 0, "\n"], - [22104, 0, "\\"], - [22105, 0, "A"], - [22106, 0, "x"], - [22107, 0, "i"], - [22108, 0, "o"], - [22109, 0, "m"], - [22110, 0, "C"], - [22111, 0, "{"], - [22112, 0, "$"], - [22113, 0, "A"], - [22114, 0, "_"], - [22115, 0, "p"], - [22116, 0, ","], - [22117, 0, "\\"], - [22118, 0, ","], - [22119, 0, " "], - [22120, 0, "\\"], - [22121, 0, "m"], - [22122, 0, "a"], - [22123, 0, "t"], - [22124, 0, "h"], - [22125, 0, "i"], - [22126, 0, "t"], - [22127, 0, "{"], - [22128, 0, "e"], - [22129, 0, "x"], - [22130, 0, "p"], - [22131, 0, "r"], - [22132, 0, "}"], - [22133, 0, " "], - [22134, 0, "\\"], - [22135, 0, "e"], - [22136, 0, "v"], - [22137, 0, "a"], - [22138, 0, "l"], - [22139, 0, "t"], - [22140, 0, "o"], - [22141, 0, " "], - [22142, 0, "\\"], - [22143, 0, "m"], - [22144, 0, "a"], - [22145, 0, "t"], - [22146, 0, "h"], - [22147, 0, "i"], - [22148, 0, "t"], - [22149, 0, "{"], - [22150, 0, "c"], - [22151, 0, "u"], - [22152, 0, "r"], - [22153, 0, "}"], - [22154, 0, "$"], - [22155, 0, "}"], - [22156, 0, "\n"], - [22157, 0, "\\"], - [22158, 0, "A"], - [22159, 0, "x"], - [22160, 0, "i"], - [22161, 0, "o"], - [22162, 0, "m"], - [22163, 0, "C"], - [22164, 0, "{"], - [22165, 0, "$"], - [22166, 0, "\\"], - [22167, 0, "m"], - [22168, 0, "a"], - [22169, 0, "t"], - [22170, 0, "h"], - [22171, 0, "i"], - [22172, 0, "t"], - [22173, 0, "{"], - [22174, 0, "v"], - [22175, 0, "a"], - [22176, 0, "l"], - [22177, 0, "}"], - [22178, 0, ":"], - [22179, 0, " "], - [22180, 0, "\\"], - [22181, 0, "m"], - [22182, 0, "a"], - [22183, 0, "t"], - [22184, 0, "h"], - [22185, 0, "r"], - [22186, 0, "m"], - [22187, 0, "{"], - [22188, 0, "V"], - [22189, 0, "A"], - [22190, 0, "L"], - [22191, 0, "}"], - [22192, 0, "$"], - [22193, 0, "}"], - [22194, 0, "\n"], - [22195, 0, "\\"], - [22196, 0, "A"], - [22197, 0, "x"], - [22198, 0, "i"], - [22199, 0, "o"], - [22200, 0, "m"], - [22201, 0, "C"], - [22202, 0, "{"], - [22203, 0, "$"], - [22204, 0, "A"], - [22205, 0, "_"], - [22206, 0, "p"], - [22207, 0, ","], - [22208, 0, "\\"], - [22209, 0, ","], - [22210, 0, " "], - [22211, 0, "\\"], - [22212, 0, "m"], - [22213, 0, "a"], - [22214, 0, "t"], - [22215, 0, "h"], - [22216, 0, "s"], - [22217, 0, "f"], - [22218, 0, "{"], - [22219, 0, "m"], - [22220, 0, "a"], - [22221, 0, "k"], - [22222, 0, "e"], - [22223, 0, "O"], - [22224, 0, "p"], - [22225, 0, "}"], - [22226, 0, "("], - [22227, 0, "\\"], - [22228, 0, "m"], - [22229, 0, "a"], - [22230, 0, "t"], - [22231, 0, "h"], - [22232, 0, "i"], - [22233, 0, "t"], - [22234, 0, "{"], - [22235, 0, "c"], - [22236, 0, "u"], - [22237, 0, "r"], - [22238, 0, "}"], - [22239, 0, ","], - [22240, 0, " "], - [22241, 0, "\\"], - [22242, 0, "m"], - [22243, 0, "a"], - [22244, 0, "t"], - [22245, 0, "h"], - [22246, 0, "s"], - [22247, 0, "f"], - [22248, 0, "{"], - [22249, 0, "i"], - [22250, 0, "n"], - [22251, 0, "s"], - [22252, 0, "e"], - [22253, 0, "r"], - [22254, 0, "t"], - [22255, 0, "}"], - [22256, 0, "("], - [22257, 0, "\\"], - [22258, 0, "m"], - [22259, 0, "a"], - [22260, 0, "t"], - [22261, 0, "h"], - [22262, 0, "i"], - [22263, 0, "t"], - [22264, 0, "{"], - [22265, 0, "v"], - [22266, 0, "a"], - [22267, 0, "l"], - [22268, 0, "}"], - [22269, 0, ")"], - [22270, 0, ")"], - [22271, 0, " "], - [22272, 0, "\\"], - [22273, 0, "e"], - [22274, 0, "v"], - [22275, 0, "a"], - [22276, 0, "l"], - [22277, 0, "t"], - [22278, 0, "o"], - [22279, 0, " "], - [22280, 0, "\\"], - [22281, 0, "A"], - [22282, 0, "-"], - [22282, 1], - [22282, 0, "_"], - [22283, 0, "p"], - [22284, 0, "'"], - [22285, 0, "$"], - [22286, 0, "}"], - [22280, 1], - [22286, 0, "\n"], - [22287, 0, "\\"], - [22288, 0, "L"], - [22289, 0, "e"], - [22290, 0, "f"], - [22291, 0, "t"], - [22292, 0, "L"], - [22293, 0, "a"], - [22294, 0, "b"], - [22295, 0, "e"], - [22296, 0, "l"], - [22297, 0, "{"], - [22298, 0, "\\"], - [22299, 0, "t"], - [22300, 0, "e"], - [22301, 0, "x"], - [22302, 0, "t"], - [22303, 0, "s"], - [22304, 0, "c"], - [22305, 0, "{"], - [22306, 0, "I"], - [22307, 0, "n"], - [22308, 0, "s"], - [22309, 0, "e"], - [22310, 0, "r"], - [22311, 0, "t"], - [22312, 0, "}"], - [22313, 0, "}"], - [22314, 0, "\n"], - [22315, 0, "\\"], - [22316, 0, "T"], - [22317, 0, "r"], - [22318, 0, "i"], - [22319, 0, "n"], - [22320, 0, "a"], - [22321, 0, "r"], - [22322, 0, "y"], - [22323, 0, "I"], - [22324, 0, "n"], - [22325, 0, "f"], - [22326, 0, "C"], - [22327, 0, "{"], - [22328, 0, "$"], - [22329, 0, "A"], - [22330, 0, "-"], - [22330, 1], - [22330, 0, "_"], - [22331, 0, "p"], - [22332, 0, ","], - [22333, 0, "\\"], - [22334, 0, ","], - [22335, 0, " "], - [22336, 0, "\\"], - [22337, 0, "m"], - [22338, 0, "a"], - [22339, 0, "t"], - [22340, 0, "h"], - [22341, 0, "i"], - [22342, 0, "t"], - [22343, 0, "{"], - [22344, 0, "e"], - [22345, 0, "x"], - [22346, 0, "p"], - [22347, 0, "r"], - [22348, 0, "}"], - [22349, 0, "."], - [22350, 0, "\\"], - [22351, 0, "m"], - [22352, 0, "a"], - [22353, 0, "t"], - [22354, 0, "h"], - [22355, 0, "s"], - [22356, 0, "f"], - [22357, 0, "{"], - [22358, 0, "i"], - [22359, 0, "n"], - [22360, 0, "s"], - [22361, 0, "e"], - [22362, 0, "r"], - [22363, 0, "t"], - [22364, 0, "}"], - [22365, 0, "("], - [22366, 0, "\\"], - [22367, 0, "m"], - [22368, 0, "a"], - [22369, 0, "t"], - [22370, 0, "h"], - [22371, 0, "i"], - [22372, 0, "t"], - [22373, 0, "{"], - [22374, 0, "v"], - [22375, 0, "a"], - [22376, 0, "l"], - [22377, 0, "}"], - [22378, 0, ")"], - [22379, 0, " "], - [22380, 0, "\\"], - [22381, 0, "e"], - [22382, 0, "v"], - [22383, 0, "a"], - [22384, 0, "l"], - [22385, 0, "t"], - [22386, 0, "o"], - [22387, 0, " "], - [22388, 0, "A"], - [22389, 0, "_"], - [22390, 0, "p"], - [22391, 0, "'"], - [22392, 0, "$"], - [22393, 0, "}"], - [22410, 0, "\n"], - [22411, 0, "\n"], - [22412, 0, "\\"], - [22413, 0, "b"], - [22414, 0, "e"], - [22415, 0, "g"], - [22416, 0, "i"], - [22417, 0, "n"], - [22418, 0, "{"], - [22419, 0, "p"], - [22420, 0, "r"], - [22421, 0, "o"], - [22422, 0, "o"], - [22423, 0, "f"], - [22424, 0, "t"], - [22425, 0, "r"], - [22426, 0, "e"], - [22427, 0, "e"], - [22428, 0, "}"], - [22429, 0, "\n"], - [22430, 0, "\\"], - [22431, 0, "A"], - [22432, 0, "x"], - [22433, 0, "i"], - [22434, 0, "o"], - [22435, 0, "m"], - [22436, 0, "C"], - [22437, 0, "{"], - [22438, 0, "$"], - [22439, 0, "A"], - [22440, 0, "_"], - [22441, 0, "p"], - [22442, 0, ","], - [22443, 0, "\\"], - [22444, 0, ","], - [22445, 0, " "], - [22446, 0, "\\"], - [22447, 0, "m"], - [22448, 0, "a"], - [22449, 0, "t"], - [22450, 0, "h"], - [22451, 0, "i"], - [22452, 0, "t"], - [22453, 0, "{"], - [22454, 0, "e"], - [22455, 0, "x"], - [22456, 0, "p"], - [22457, 0, "r"], - [22458, 0, "}"], - [22459, 0, " "], - [22460, 0, "\\"], - [22461, 0, "e"], - [22462, 0, "v"], - [22463, 0, "a"], - [22464, 0, "l"], - [22465, 0, "t"], - [22466, 0, "o"], - [22467, 0, " "], - [22468, 0, "\\"], - [22469, 0, "m"], - [22470, 0, "a"], - [22471, 0, "t"], - [22472, 0, "h"], - [22473, 0, "i"], - [22474, 0, "t"], - [22475, 0, "{"], - [22476, 0, "c"], - [22477, 0, "u"], - [22478, 0, "r"], - [22479, 0, "}"], - [22480, 0, "$"], - [22481, 0, "}"], - [22482, 0, "\n"], - [22483, 0, "\\"], - [22484, 0, "A"], - [22485, 0, "x"], - [22486, 0, "i"], - [22487, 0, "o"], - [22488, 0, "m"], - [22489, 0, "C"], - [22490, 0, "{"], - [22491, 0, "$"], - [22492, 0, "A"], - [22493, 0, "_"], - [22494, 0, "p"], - [22495, 0, ","], - [22496, 0, "\\"], - [22497, 0, ","], - [22498, 0, " "], - [22499, 0, "\\"], - [22500, 0, "m"], - [22501, 0, "a"], - [22502, 0, "t"], - [22503, 0, "h"], - [22504, 0, "s"], - [22505, 0, "f"], - [22506, 0, "{"], - [22507, 0, "m"], - [22508, 0, "a"], - [22509, 0, "k"], - [22510, 0, "e"], - [22511, 0, "O"], - [22512, 0, "p"], - [22513, 0, "}"], - [22514, 0, "("], - [22515, 0, "\\"], - [22516, 0, "m"], - [22517, 0, "a"], - [22518, 0, "t"], - [22519, 0, "h"], - [22520, 0, "i"], - [22521, 0, "t"], - [22522, 0, "{"], - [22523, 0, "c"], - [22524, 0, "u"], - [22525, 0, "r"], - [22526, 0, "}"], - [22527, 0, ","], - [22528, 0, " "], - [22529, 0, "\\"], - [22530, 0, "m"], - [22531, 0, "a"], - [22532, 0, "t"], - [22533, 0, "h"], - [22534, 0, "s"], - [22535, 0, "f"], - [22536, 0, "{"], - [22537, 0, "d"], - [22538, 0, "e"], - [22539, 0, "l"], - [22540, 0, "e"], - [22541, 0, "t"], - [22542, 0, "e"], - [22543, 0, "}"], - [22544, 0, ")"], - [22545, 0, " "], - [22546, 0, "\\"], - [22547, 0, "e"], - [22548, 0, "v"], - [22549, 0, "a"], - [22550, 0, "l"], - [22551, 0, "t"], - [22552, 0, "o"], - [22553, 0, " "], - [22554, 0, "A"], - [22555, 0, "_"], - [22556, 0, "p"], - [22557, 0, "'"], - [22558, 0, "$"], - [22559, 0, "}"], - [22560, 0, "\n"], - [22561, 0, "\\"], - [22562, 0, "L"], - [22563, 0, "e"], - [22564, 0, "f"], - [22565, 0, "t"], - [22566, 0, "L"], - [22567, 0, "a"], - [22568, 0, "b"], - [22569, 0, "e"], - [22570, 0, "l"], - [22571, 0, "{"], - [22572, 0, "\\"], - [22573, 0, "t"], - [22574, 0, "e"], - [22575, 0, "x"], - [22576, 0, "t"], - [22577, 0, "s"], - [22578, 0, "c"], - [22579, 0, "{"], - [22580, 0, "D"], - [22581, 0, "e"], - [22582, 0, "l"], - [22583, 0, "e"], - [22584, 0, "t"], - [22585, 0, "e"], - [22586, 0, "}"], - [22587, 0, "}"], - [22588, 0, "\n"], - [22589, 0, "\\"], - [22590, 0, "B"], - [22591, 0, "i"], - [22592, 0, "n"], - [22593, 0, "a"], - [22594, 0, "r"], - [22595, 0, "y"], - [22596, 0, "I"], - [22597, 0, "n"], - [22598, 0, "f"], - [22599, 0, "C"], - [22600, 0, "{"], - [22601, 0, "$"], - [22602, 0, "A"], - [22603, 0, "_"], - [22604, 0, "p"], - [22605, 0, ","], - [22606, 0, "\\"], - [22607, 0, ","], - [22608, 0, " "], - [22609, 0, "\\"], - [22610, 0, "m"], - [22611, 0, "a"], - [22612, 0, "t"], - [22613, 0, "h"], - [22614, 0, "i"], - [22615, 0, "t"], - [22616, 0, "{"], - [22617, 0, "e"], - [22618, 0, "x"], - [22619, 0, "p"], - [22620, 0, "r"], - [22621, 0, "}"], - [22622, 0, "."], - [22623, 0, "\\"], - [22624, 0, "m"], - [22625, 0, "a"], - [22626, 0, "t"], - [22627, 0, "h"], - [22628, 0, "s"], - [22629, 0, "f"], - [22630, 0, "{"], - [22631, 0, "d"], - [22632, 0, "e"], - [22633, 0, "l"], - [22634, 0, "e"], - [22635, 0, "t"], - [22636, 0, "e"], - [22637, 0, " "], - [22637, 1], - [22637, 0, "}"], - [22638, 0, " "], - [22639, 0, "\\"], - [22640, 0, "e"], - [22641, 0, "v"], - [22642, 0, "a"], - [22643, 0, "l"], - [22644, 0, "t"], - [22645, 0, "o"], - [22646, 0, " "], - [22647, 0, "A"], - [22648, 0, "_"], - [22649, 0, "p"], - [22650, 0, "'"], - [22651, 0, "$"], - [22652, 0, "}"], - [22653, 0, "\n"], - [22654, 0, "\\"], - [22655, 0, "e"], - [22656, 0, "n"], - [22657, 0, "d"], - [22658, 0, "{"], - [22659, 0, "p"], - [22660, 0, "r"], - [22661, 0, "o"], - [22662, 0, "o"], - [22663, 0, "f"], - [22664, 0, "t"], - [22665, 0, "r"], - [22666, 0, "e"], - [22667, 0, "e"], - [22668, 0, "}"], - [22669, 0, "\n"], - [22670, 0, "\n"], - [22671, 0, "\\"], - [22672, 0, "b"], - [22673, 0, "e"], - [22674, 0, "g"], - [22675, 0, "i"], - [22676, 0, "n"], - [22677, 0, "{"], - [22678, 0, "p"], - [22679, 0, "r"], - [22680, 0, "o"], - [22681, 0, "o"], - [22682, 0, "f"], - [22683, 0, "t"], - [22684, 0, "r"], - [22685, 0, "e"], - [22686, 0, "e"], - [22687, 0, "}"], - [22688, 0, "\n"], - [22689, 0, "\\"], - [22690, 0, "e"], - [22691, 0, "n"], - [22692, 0, "d"], - [22693, 0, "{"], - [22694, 0, "p"], - [22695, 0, "r"], - [22696, 0, "o"], - [22697, 0, "o"], - [22698, 0, "f"], - [22699, 0, "t"], - [22700, 0, "r"], - [22701, 0, "e"], - [22702, 0, "e"], - [22703, 0, "}"], - [22688, 0, "\n"], - [22689, 0, "\\"], - [22690, 0, "A"], - [22691, 0, "x"], - [22692, 0, "i"], - [22693, 0, "o"], - [22694, 0, "m"], - [22695, 0, "C"], - [22696, 0, "{"], - [22697, 0, "$"], - [22698, 0, "\\"], - [22699, 0, "m"], - [22700, 0, "a"], - [22701, 0, "t"], - [22702, 0, "h"], - [22703, 0, "i"], - [22704, 0, "t"], - [22705, 0, "{"], - [22706, 0, "c"], - [22707, 0, "t"], - [22708, 0, "r"], - [22709, 0, "}"], - [22710, 0, " "], - [22711, 0, "="], - [22712, 0, " "], - [22713, 0, "\\"], - [22714, 0, "m"], - [22715, 0, "a"], - [22716, 0, "t"], - [22717, 0, "h"], - [22718, 0, "r"], - [22719, 0, "m"], - [22720, 0, "{"], - [22721, 0, "m"], - [22722, 0, "a"], - [22723, 0, "x"], - [22724, 0, "}"], - [22725, 0, "("], - [22726, 0, "\\"], - [22727, 0, "{"], - [22728, 0, "0"], - [22729, 0, "\\"], - [22730, 0, "}"], - [22731, 0, " "], - [22732, 0, "\\"], - [22733, 0, ","], - [22734, 0, "\\"], - [22735, 0, "c"], - [22736, 0, "u"], - [22737, 0, "p"], - [22738, 0, "\\"], - [22739, 0, ","], - [22740, 0, " "], - [22741, 0, "\\"], - [22742, 0, "{"], - [22743, 0, " "], - [22744, 0, "c"], - [22745, 0, "_"], - [22746, 0, "i"], - [22747, 0, " "], - [22748, 0, "\\"], - [22749, 0, "m"], - [22750, 0, "i"], - [22751, 0, "d"], - [22752, 0, " "], - [22753, 0, "("], - [22754, 0, "c"], - [22755, 0, "_"], - [22756, 0, "i"], - [22757, 0, ","], - [22758, 0, " "], - [22759, 0, "p"], - [22760, 0, "_"], - [22761, 0, "i"], - [22762, 0, ")"], - [22763, 0, " "], - [22764, 0, "\\"], - [22765, 0, "i"], - [22766, 0, "n"], - [22767, 0, " "], - [22768, 0, "A"], - [22769, 0, "_"], - [22770, 0, "p"], - [22771, 0, "("], - [22772, 0, "\\"], - [22773, 0, "m"], - [22774, 0, "a"], - [22775, 0, "t"], - [22776, 0, "h"], - [22777, 0, "s"], - [22778, 0, "f"], - [22779, 0, "{"], - [22780, 0, "o"], - [22781, 0, "p"], - [22782, 0, "s"], - [22783, 0, "}"], - [22784, 0, ")"], - [22785, 0, " "], - [22786, 0, "\\"], - [22787, 0, "}"], - [22788, 0, "#"], - [22789, 0, "}"], - [22789, 1], - [22788, 1], - [22788, 0, "$"], - [22789, 0, "}"], - [22790, 0, "\n"], - [22791, 0, "\\"], - [22792, 0, "A"], - [22793, 0, "x"], - [22794, 0, "i"], - [22795, 0, "o"], - [22796, 0, "m"], - [22797, 0, "C"], - [22798, 0, "{"], - [22799, 0, "$"], - [22800, 0, "\\"], - [22801, 0, "m"], - [22802, 0, "a"], - [22803, 0, "t"], - [22804, 0, "h"], - [22805, 0, "i"], - [22806, 0, "t"], - [22807, 0, "{"], - [22808, 0, "i"], - [22809, 0, "d"], - [22810, 0, "}"], - [22811, 0, " "], - [22812, 0, "="], - [22813, 0, " "], - [22814, 0, "("], - [22815, 0, "\\"], - [22816, 0, "m"], - [22817, 0, "a"], - [22818, 0, "t"], - [22819, 0, "h"], - [22820, 0, "i"], - [22821, 0, "t"], - [22822, 0, "{"], - [22823, 0, "c"], - [22824, 0, "t"], - [22825, 0, "r"], - [22826, 0, "}"], - [22827, 0, ","], - [22828, 0, " "], - [22829, 0, "p"], - [22830, 0, ")"], - [22827, 0, " "], - [22828, 0, "+"], - [22829, 0, " "], - [22830, 0, "1"], - [22835, 0, "$"], - [22836, 0, "}"], - [22837, 0, "\n"], - [22838, 0, "\\"], - [22839, 0, "A"], - [22840, 0, "x"], - [22841, 0, "i"], - [22842, 0, "o"], - [22843, 0, "m"], - [22844, 0, "C"], - [22845, 0, "{"], - [22846, 0, "$"], - [22847, 0, "A"], - [22848, 0, "_"], - [22849, 0, "p"], - [22850, 0, ","], - [22851, 0, "\\"], - [22852, 0, ","], - [22853, 0, " "], - [22854, 0, "\\"], - [22855, 0, "m"], - [22856, 0, "a"], - [22857, 0, "t"], - [22858, 0, "h"], - [22859, 0, "i"], - [22860, 0, "t"], - [22861, 0, "{"], - [22862, 0, "a"], - [22863, 0, "p"], - [22864, 0, "p"], - [22864, 1], - [22863, 1], - [22862, 1], - [22861, 1], - [22860, 1], - [22859, 1], - [22859, 0, "s"], - [22860, 0, "f"], - [22861, 0, "{"], - [22862, 0, "a"], - [22863, 0, "p"], - [22864, 0, "p"], - [22865, 0, "l"], - [22866, 0, "y"], - [22867, 0, "}"], - [22868, 0, "("], - [22869, 0, "\\"], - [22870, 0, "m"], - [22871, 0, "a"], - [22872, 0, "t"], - [22873, 0, "h"], - [22874, 0, "s"], - [22875, 0, "f"], - [22876, 0, "{"], - [22877, 0, "o"], - [22878, 0, "p"], - [22879, 0, "}"], - [22880, 0, "("], - [22881, 0, "\\"], - [22882, 0, "m"], - [22883, 0, "a"], - [22884, 0, "t"], - [22885, 0, "h"], - [22886, 0, "i"], - [22887, 0, "t"], - [22888, 0, "{"], - [22889, 0, "i"], - [22890, 0, "d"], - [22891, 0, "}"], - [22892, 0, ","], - [22893, 0, " "], - [22894, 0, "A"], - [22895, 0, "_"], - [22896, 0, "p"], - [22897, 0, "("], - [22898, 0, "\\"], - [22899, 0, "m"], - [22900, 0, "a"], - [22901, 0, "t"], - [22902, 0, "h"], - [22903, 0, "s"], - [22904, 0, "f"], - [22905, 0, "{"], - [22906, 0, "o"], - [22907, 0, "p"], - [22908, 0, "s"], - [22909, 0, "}"], - [22910, 0, ")"], - [22911, 0, ","], - [22912, 0, " "], - [22913, 0, "\\"], - [22914, 0, "m"], - [22915, 0, "a"], - [22916, 0, "t"], - [22917, 0, "h"], - [22918, 0, "i"], - [22919, 0, "t"], - [22920, 0, "{"], - [22921, 0, "c"], - [22922, 0, "u"], - [22923, 0, "r"], - [22924, 0, "}"], - [22925, 0, ","], - [22926, 0, " "], - [22927, 0, "\\"], - [22928, 0, "m"], - [22929, 0, "a"], - [22930, 0, "t"], - [22931, 0, "h"], - [22932, 0, "i"], - [22933, 0, "t"], - [22934, 0, "{"], - [22935, 0, "m"], - [22936, 0, "u"], - [22937, 0, "t"], - [22938, 0, "}"], - [22939, 0, ")"], - [22940, 0, " "], - [22941, 0, "\\"], - [22942, 0, "e"], - [22943, 0, "v"], - [22944, 0, "a"], - [22945, 0, "l"], - [22946, 0, "t"], - [22947, 0, "o"], - [22948, 0, " "], - [22949, 0, "A"], - [22950, 0, "_"], - [22951, 0, "p"], - [22952, 0, "'"], - [22953, 0, "$"], - [22954, 0, "}"], - [22955, 0, "\n"], - [22956, 0, "\\"], - [22957, 0, "L"], - [22958, 0, "e"], - [22959, 0, "f"], - [22960, 0, "t"], - [22961, 0, "L"], - [22962, 0, "a"], - [22963, 0, "b"], - [22964, 0, "e"], - [22965, 0, "l"], - [22966, 0, "{"], - [22967, 0, "\\"], - [22968, 0, "t"], - [22969, 0, "e"], - [22970, 0, "x"], - [22971, 0, "t"], - [22972, 0, "s"], - [22973, 0, "c"], - [22974, 0, "{"], - [22975, 0, "M"], - [22976, 0, "a"], - [22977, 0, "k"], - [22978, 0, "e"], - [22979, 0, "-"], - [22980, 0, "O"], - [22981, 0, "p"], - [22982, 0, "}"], - [22983, 0, "}"], - [22984, 0, "\n"], - [22985, 0, "\\"], - [22986, 0, "T"], - [22987, 0, "r"], - [22988, 0, "i"], - [22989, 0, "n"], - [22990, 0, "a"], - [22991, 0, "r"], - [22992, 0, "y"], - [22993, 0, "I"], - [22994, 0, "n"], - [22995, 0, "f"], - [22996, 0, "C"], - [22997, 0, "{"], - [22998, 0, "$"], - [22999, 0, "A"], - [23000, 0, "_"], - [23001, 0, "p"], - [23002, 0, ","], - [23003, 0, "\\"], - [23004, 0, ","], - [23005, 0, " "], - [23006, 0, "\\"], - [23007, 0, "m"], - [23008, 0, "a"], - [23009, 0, "t"], - [23010, 0, "h"], - [23011, 0, "s"], - [23012, 0, "f"], - [23013, 0, "{"], - [23014, 0, "m"], - [23015, 0, "a"], - [23016, 0, "k"], - [23017, 0, "e"], - [23018, 0, "O"], - [23019, 0, "p"], - [23020, 0, "}"], - [23021, 0, "("], - [23022, 0, "\\"], - [23023, 0, "m"], - [23024, 0, "a"], - [23025, 0, "t"], - [23026, 0, "h"], - [23027, 0, "i"], - [23028, 0, "t"], - [23029, 0, "{"], - [23030, 0, "c"], - [23031, 0, "u"], - [23032, 0, "r"], - [23033, 0, "}"], - [23034, 0, ","], - [23035, 0, " "], - [23036, 0, "\\"], - [23037, 0, "m"], - [23038, 0, "a"], - [23039, 0, "t"], - [23040, 0, "h"], - [23041, 0, "i"], - [23042, 0, "t"], - [23043, 0, "{"], - [23044, 0, "m"], - [23045, 0, "u"], - [23046, 0, "t"], - [23047, 0, "}"], - [23048, 0, ")"], - [23049, 0, " "], - [23050, 0, "\\"], - [23051, 0, "e"], - [23052, 0, "v"], - [23053, 0, "a"], - [23054, 0, "l"], - [23055, 0, "t"], - [23056, 0, "o"], - [23057, 0, " "], - [23058, 0, "\\"], - [23059, 0, "A"], - [23060, 0, "_"], - [23061, 0, "p"], - [23062, 0, "'"], - [23063, 0, "$"], - [23064, 0, "}"], - [23058, 1], - [22899, 0, "b"], - [22899, 1], - [22890, 1], - [22889, 1], - [22889, 0, "c"], - [22890, 0, "t"], - [22891, 0, "r"], - [22893, 0, " "], - [22894, 0, "+"], - [22895, 0, " "], - [22896, 0, "1"], - [22897, 0, ","], - [22898, 0, " "], - [22899, 0, "p"], - [22900, 0, ")"], - [22881, 0, "("], - [22922, 0, "\n"], - [22923, 0, " "], - [22924, 0, " "], - [22925, 0, " "], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22791, 1], - [22953, 1], - [22953, 1], - [22953, 0, "B"], - [23281, 1], - [23280, 1], - [23279, 1], - [23278, 1], - [23278, 0, ":"], - [23286, 1], - [23285, 1], - [23285, 0, "r"], - [23286, 0, "m"], - [23288, 1], - [23288, 0, "P"], - [23292, 1], - [23292, 0, "I"], - [23293, 0, "D"], - [22906, 0, ")"], - [23807, 1], - [23845, 0, "."], - [23846, 0, "\\"], - [23847, 0, "m"], - [23848, 0, "a"], - [23849, 0, "t"], - [23850, 0, "h"], - [23851, 0, "s"], - [23852, 0, "f"], - [23853, 0, "{"], - [23854, 0, "i"], - [23855, 0, "d"], - [23856, 0, "}"], - [23856, 1], - [23855, 1], - [23854, 1], - [23853, 1], - [23852, 1], - [23851, 1], - [23850, 1], - [23849, 1], - [23848, 1], - [23847, 1], - [23846, 1], - [23845, 1], - [23844, 0, "."], - [23845, 0, "i"], - [23846, 0, "d"], - [23763, 1], - [23762, 1], - [23762, 0, "s"], - [23763, 0, "f"], - [23757, 0, "A"], - [23758, 0, "_"], - [23759, 0, "p"], - [23760, 0, "'"], - [23761, 0, "("], - [23776, 0, ")"], - [23777, 0, " "], - [23778, 0, "\\"], - [23779, 0, ","], - [23780, 0, "\\"], - [23781, 0, "c"], - [23782, 0, "u"], - [23783, 0, "p"], - [23784, 0, "\\"], - [23785, 0, ","], - [23786, 0, " "], - [23787, 0, "\\"], - [23788, 0, "{"], - [23789, 0, "\\"], - [23790, 0, "m"], - [23791, 0, "a"], - [23792, 0, "t"], - [23793, 0, "h"], - [23794, 0, "i"], - [23795, 0, "t"], - [23796, 0, "{"], - [23797, 0, "o"], - [23798, 0, "p"], - [23799, 0, "}"], - [23800, 0, "\\"], - [23801, 0, "}"], - [23663, 1], - [23663, 1], - [23663, 0, "U"], - [23664, 0, "n"], - [23627, 1], - [23626, 1], - [23625, 1], - [23624, 1], - [23623, 1], - [23622, 1], - [23621, 1], - [23620, 1], - [23619, 1], - [23618, 1], - [23617, 1], - [23616, 1], - [23615, 1], - [23614, 1], - [23613, 1], - [23612, 1], - [23611, 1], - [23610, 1], - [23609, 1], - [23608, 1], - [23607, 1], - [23606, 1], - [23605, 1], - [23604, 1], - [23603, 1], - [23602, 1], - [23601, 1], - [23600, 1], - [23599, 1], - [23598, 1], - [23597, 1], - [23596, 1], - [23595, 1], - [23594, 1], - [23593, 1], - [23592, 1], - [23591, 1], - [23590, 1], - [23589, 1], - [23588, 1], - [23587, 1], - [23586, 1], - [23585, 1], - [23584, 1], - [23583, 1], - [23582, 1], - [23581, 1], - [23580, 1], - [23579, 1], - [23578, 1], - [23577, 1], - [23576, 1], - [23575, 1], - [23574, 1], - [23573, 1], - [23572, 1], - [23571, 1], - [23570, 1], - [23569, 1], - [23568, 1], - [23567, 1], - [23566, 1], - [23565, 1], - [23564, 1], - [23563, 1], - [23562, 1], - [23561, 1], - [23560, 1], - [23559, 1], - [23558, 1], - [23557, 1], - [23556, 1], - [23555, 1], - [23554, 1], - [23553, 1], - [23552, 1], - [23551, 1], - [23550, 1], - [23549, 1], - [23548, 1], - [23547, 1], - [23546, 1], - [23545, 1], - [23544, 1], - [23543, 1], - [23542, 1], - [23541, 1], - [23540, 1], - [23539, 1], - [23538, 1], - [23537, 1], - [23536, 1], - [23535, 1], - [23534, 1], - [23533, 1], - [23532, 1], - [23862, 1], - [23850, 1], - [23849, 1], - [23848, 1], - [23847, 1], - [23846, 1], - [23845, 1], - [23844, 1], - [23843, 1], - [23842, 1], - [23841, 1], - [23840, 1], - [23839, 1], - [23838, 1], - [23837, 1], - [23836, 1], - [23835, 1], - [23889, 0, "o"], - [23890, 0, "p"], - [23891, 0, "."], - [23871, 0, "\n"], - [23872, 0, "\\"], - [23873, 0, "A"], - [23874, 0, "x"], - [23875, 0, "i"], - [23876, 0, "o"], - [23877, 0, "m"], - [23878, 0, "C"], - [23879, 0, "{"], - [23880, 0, "$"], - [23881, 0, "\\"], - [23882, 0, "m"], - [23883, 0, "a"], - [23884, 0, "t"], - [23885, 0, "h"], - [23886, 0, "i"], - [23887, 0, "t"], - [23888, 0, "{"], - [23889, 0, "o"], - [23890, 0, "p"], - [23891, 0, "."], - [23892, 0, "i"], - [23893, 0, "d"], - [23894, 0, "}"], - [23895, 0, " "], - [23896, 0, "\\"], - [23897, 0, "n"], - [23898, 0, "o"], - [23899, 0, "t"], - [23900, 0, "\\"], - [23901, 0, "i"], - [23902, 0, "n"], - [23903, 0, " "], - [23900, 1], - [23903, 0, "A"], - [23904, 0, "_"], - [23905, 0, "p"], - [23906, 0, "\\"], - [23906, 1], - [23906, 0, "("], - [23907, 0, "\\"], - [23908, 0, "m"], - [23909, 0, "a"], - [23910, 0, "t"], - [23911, 0, "h"], - [23912, 0, "s"], - [23913, 0, "f"], - [23914, 0, "{"], - [23915, 0, "o"], - [23916, 0, "p"], - [23917, 0, "s"], - [23918, 0, "}"], - [23919, 0, ")"], - [23920, 0, "$"], - [23921, 0, "}"], - [24057, 1], - [24057, 1], - [24057, 1], - [24057, 0, "Q"], - [24058, 0, "u"], - [24059, 0, "a"], - [24060, 0, "t"], - [24061, 0, "e"], - [24062, 0, "r"], - [24179, 0, "."], - [24180, 0, "i"], - [24181, 0, "d"], - [23568, 1], - [24205, 0, "\n"], - [24206, 0, "\n"], - [24207, 0, "\\"], - [24208, 0, "b"], - [24209, 0, "e"], - [24210, 0, "g"], - [24211, 0, "i"], - [24212, 0, "n"], - [24213, 0, "{"], - [24214, 0, "p"], - [24215, 0, "r"], - [24216, 0, "o"], - [24217, 0, "o"], - [24218, 0, "f"], - [24219, 0, "t"], - [24220, 0, "r"], - [24221, 0, "e"], - [24222, 0, "e"], - [24223, 0, "}"], - [24224, 0, "\n"], - [24225, 0, "\\"], - [24226, 0, "A"], - [24227, 0, "x"], - [24228, 0, "i"], - [24229, 0, "o"], - [24230, 0, "m"], - [24231, 0, "C"], - [24232, 0, "{"], - [24233, 0, "}"], - [24234, 0, "\n"], - [24235, 0, "\\"], - [24236, 0, "L"], - [24237, 0, "e"], - [24238, 0, "f"], - [24239, 0, "t"], - [24240, 0, "L"], - [24241, 0, "a"], - [24242, 0, "b"], - [24243, 0, "e"], - [24244, 0, "l"], - [24245, 0, "{"], - [24246, 0, "\\"], - [24247, 0, "t"], - [24248, 0, "e"], - [24249, 0, "x"], - [24250, 0, "t"], - [24251, 0, "s"], - [24252, 0, "c"], - [24253, 0, "{"], - [24254, 0, "S"], - [24255, 0, "e"], - [24256, 0, "n"], - [24257, 0, "d"], - [24258, 0, "}"], - [24259, 0, "}"], - [24260, 0, "\n"], - [24261, 0, "\\"], - [24262, 0, "U"], - [24263, 0, "n"], - [24264, 0, "a"], - [24265, 0, "r"], - [24266, 0, "y"], - [24267, 0, "I"], - [24268, 0, "n"], - [24269, 0, "f"], - [24270, 0, "C"], - [24271, 0, "{"], - [24272, 0, "$"], - [24273, 0, "A"], - [24274, 0, "_"], - [24275, 0, "p"], - [24276, 0, ","], - [24277, 0, "\\"], - [24278, 0, ","], - [24279, 0, " "], - [24280, 0, "\\"], - [24281, 0, "m"], - [24282, 0, "a"], - [24283, 0, "t"], - [24284, 0, "h"], - [24285, 0, "s"], - [24286, 0, "f"], - [24287, 0, "{"], - [24288, 0, "y"], - [24289, 0, "i"], - [24290, 0, "e"], - [24291, 0, "l"], - [24292, 0, "d"], - [24293, 0, "}"], - [24294, 0, " "], - [24295, 0, "\\"], - [24296, 0, "e"], - [24297, 0, "v"], - [24298, 0, "a"], - [24299, 0, "l"], - [24300, 0, "t"], - [24301, 0, "o"], - [24302, 0, "\n"], - [24303, 0, " "], - [24304, 0, " "], - [24305, 0, " "], - [24306, 0, " "], - [24307, 0, "A"], - [24308, 0, "_"], - [24309, 0, "p"], - [24310, 0, "["], - [24311, 0, "\\"], - [24312, 0, ","], - [24313, 0, "\\"], - [24314, 0, "m"], - [24315, 0, "a"], - [24316, 0, "t"], - [24317, 0, "h"], - [24318, 0, "s"], - [24319, 0, "f"], - [24320, 0, "{"], - [24321, 0, "s"], - [24322, 0, "e"], - [24323, 0, "n"], - [24324, 0, "d"], - [24325, 0, "}"], - [24326, 0, " "], - [24327, 0, "\\"], - [24328, 0, ","], - [24329, 0, "\\"], - [24330, 0, "m"], - [24331, 0, "a"], - [24332, 0, "p"], - [24333, 0, "s"], - [24334, 0, "t"], - [24335, 0, "o"], - [24336, 0, "\\"], - [24337, 0, ","], - [24338, 0, " "], - [24339, 0, "A"], - [24340, 0, "_"], - [24341, 0, "p"], - [24342, 0, "("], - [24343, 0, "\\"], - [24344, 0, "m"], - [24345, 0, "a"], - [24346, 0, "t"], - [24347, 0, "h"], - [24348, 0, "s"], - [24349, 0, "f"], - [24350, 0, "{"], - [24351, 0, "s"], - [24352, 0, "e"], - [24353, 0, "n"], - [24354, 0, "d"], - [24355, 0, "}"], - [24356, 0, ")"], - [24357, 0, " "], - [24358, 0, "\\"], - [24359, 0, ","], - [24360, 0, "\\"], - [24361, 0, "c"], - [24362, 0, "u"], - [24363, 0, "p"], - [24364, 0, "\\"], - [24365, 0, ","], - [24366, 0, " "], - [24367, 0, "\\"], - [24367, 1], - [24367, 0, "A"], - [24368, 0, "_"], - [24369, 0, "p"], - [24370, 0, "("], - [24371, 0, "\\"], - [24372, 0, "m"], - [24373, 0, "a"], - [24374, 0, "t"], - [24375, 0, "h"], - [24376, 0, "s"], - [24377, 0, "f"], - [24378, 0, "{"], - [24379, 0, "q"], - [24380, 0, "u"], - [24381, 0, "e"], - [24382, 0, "u"], - [24383, 0, "e"], - [24384, 0, "}"], - [24385, 0, ")"], - [24386, 0, "\\"], - [24387, 0, ","], - [24388, 0, "]"], - [24389, 0, "$"], - [24390, 0, "}"], - [24391, 0, "\n"], - [24392, 0, "\\"], - [24393, 0, "e"], - [24394, 0, "n"], - [24395, 0, "d"], - [24396, 0, "{"], - [24397, 0, "p"], - [24398, 0, "r"], - [24399, 0, "o"], - [24400, 0, "o"], - [24401, 0, "f"], - [24402, 0, "t"], - [24403, 0, "r"], - [24404, 0, "e"], - [24405, 0, "e"], - [24406, 0, "}"], - [24407, 0, "\n"], - [24408, 0, "\n"], - [24409, 0, "\\"], - [24410, 0, "b"], - [24411, 0, "e"], - [24412, 0, "g"], - [24413, 0, "i"], - [24414, 0, "n"], - [24415, 0, "{"], - [24416, 0, "p"], - [24417, 0, "r"], - [24418, 0, "o"], - [24419, 0, "o"], - [24420, 0, "f"], - [24421, 0, "t"], - [24422, 0, "r"], - [24423, 0, "e"], - [24424, 0, "e"], - [24425, 0, "}"], - [24426, 0, "\n"], - [24427, 0, "\\"], - [24428, 0, "A"], - [24429, 0, "x"], - [24430, 0, "i"], - [24431, 0, "o"], - [24432, 0, "m"], - [24433, 0, "C"], - [24434, 0, "{"], - [24435, 0, "$"], - [24436, 0, "a"], - [24437, 0, ":"], - [24438, 0, " "], - [24438, 1], - [24437, 1], - [24436, 1], - [24436, 0, "q"], - [24437, 0, ":"], - [24438, 0, " "], - [24439, 0, "\\"], - [24440, 0, "m"], - [24441, 0, "a"], - [24442, 0, "t"], - [24443, 0, "h"], - [24444, 0, "r"], - [24445, 0, "m"], - [24446, 0, "{"], - [24447, 0, "P"], - [24448, 0, "e"], - [24449, 0, "e"], - [24450, 0, "r"], - [24451, 0, "I"], - [24452, 0, "D"], - [24453, 0, "}"], - [24454, 0, "$"], - [24455, 0, "}"], - [24456, 0, "\n"], - [24457, 0, "\\"], - [24458, 0, "L"], - [24459, 0, "e"], - [24460, 0, "f"], - [24461, 0, "t"], - [24462, 0, "L"], - [24463, 0, "a"], - [24464, 0, "b"], - [24465, 0, "e"], - [24466, 0, "l"], - [24467, 0, "{"], - [24468, 0, "\\"], - [24469, 0, "t"], - [24470, 0, "e"], - [24471, 0, "x"], - [24472, 0, "t"], - [24473, 0, "s"], - [24474, 0, "c"], - [24475, 0, "{"], - [24476, 0, "R"], - [24477, 0, "e"], - [24478, 0, "c"], - [24479, 0, "v"], - [24480, 0, "}"], - [24481, 0, "}"], - [24482, 0, "\n"], - [24483, 0, "\\"], - [24484, 0, "U"], - [24485, 0, "n"], - [24486, 0, "a"], - [24487, 0, "r"], - [24488, 0, "y"], - [24489, 0, "I"], - [24490, 0, "n"], - [24491, 0, "f"], - [24492, 0, "C"], - [24493, 0, "{"], - [24494, 0, "$"], - [24495, 0, "A"], - [24496, 0, "_"], - [24497, 0, "p"], - [24498, 0, ","], - [24499, 0, "\\"], - [24500, 0, ","], - [24501, 0, " "], - [24502, 0, "\\"], - [24503, 0, "m"], - [24504, 0, "a"], - [24505, 0, "t"], - [24506, 0, "h"], - [24507, 0, "s"], - [24508, 0, "f"], - [24509, 0, "{"], - [24510, 0, "y"], - [24511, 0, "i"], - [24512, 0, "e"], - [24513, 0, "l"], - [24514, 0, "d"], - [24515, 0, "}"], - [24516, 0, " "], - [24517, 0, "\\"], - [24518, 0, "e"], - [24519, 0, "v"], - [24520, 0, "a"], - [24521, 0, "l"], - [24522, 0, "t"], - [24523, 0, "o"], - [24524, 0, "\n"], - [24525, 0, " "], - [24526, 0, " "], - [24527, 0, " "], - [24528, 0, " "], - [24529, 0, "A"], - [24530, 0, "_"], - [24531, 0, "p"], - [24532, 0, "["], - [24533, 0, "\\"], - [24534, 0, ","], - [24535, 0, "\\"], - [24536, 0, "m"], - [24537, 0, "a"], - [24538, 0, "t"], - [24539, 0, "h"], - [24540, 0, "s"], - [24541, 0, "f"], - [24542, 0, "{"], - [24543, 0, "r"], - [24544, 0, "e"], - [24545, 0, "c"], - [24546, 0, "v"], - [24547, 0, "}"], - [24548, 0, " "], - [24549, 0, "\\"], - [24550, 0, ","], - [24551, 0, "\\"], - [24552, 0, "m"], - [24553, 0, "a"], - [24554, 0, "p"], - [24555, 0, "s"], - [24556, 0, "t"], - [24557, 0, "o"], - [24558, 0, "\\"], - [24559, 0, ","], - [24560, 0, " "], - [24561, 0, "A"], - [24562, 0, "_"], - [24563, 0, "p"], - [24564, 0, "("], - [24565, 0, "\\"], - [24566, 0, "m"], - [24567, 0, "a"], - [24568, 0, "t"], - [24569, 0, "h"], - [24570, 0, "s"], - [24571, 0, "f"], - [24572, 0, "{"], - [24573, 0, "r"], - [24574, 0, "e"], - [24575, 0, "c"], - [24576, 0, "v"], - [24577, 0, "}"], - [24578, 0, ")"], - [24579, 0, " "], - [24580, 0, "\\"], - [24581, 0, ","], - [24582, 0, "\\"], - [24583, 0, "c"], - [24584, 0, "u"], - [24585, 0, "p"], - [24586, 0, "\\"], - [24587, 0, ","], - [24588, 0, " "], - [24589, 0, "A"], - [24590, 0, "_"], - [24591, 0, "q"], - [24592, 0, "("], - [24593, 0, "\\"], - [24594, 0, "m"], - [24595, 0, "a"], - [24596, 0, "t"], - [24597, 0, "h"], - [24598, 0, "s"], - [24599, 0, "f"], - [24600, 0, "{"], - [24601, 0, "s"], - [24602, 0, "e"], - [24603, 0, "n"], - [24604, 0, "d"], - [24605, 0, "}"], - [24606, 0, ")"], - [24607, 0, "\\"], - [24608, 0, ","], - [24609, 0, "]"], - [24610, 0, "$"], - [24611, 0, "}"], - [24612, 0, "\n"], - [24613, 0, "\\"], - [24614, 0, "p"], - [24615, 0, "r"], - [24616, 0, "o"], - [24617, 0, "o"], - [24618, 0, "f"], - [24618, 1], - [24617, 1], - [24616, 1], - [24615, 1], - [24614, 1], - [24614, 0, "e"], - [24615, 0, "n"], - [24616, 0, "d"], - [24617, 0, "{"], - [24618, 0, "p"], - [24619, 0, "r"], - [24620, 0, "o"], - [24621, 0, "o"], - [24622, 0, "f"], - [24623, 0, "t"], - [24624, 0, "r"], - [24625, 0, "e"], - [24626, 0, "e"], - [24627, 0, "}"], - [23470, 1], - [23469, 1], - [23468, 1], - [23467, 1], - [23466, 1], - [23465, 1], - [23464, 1], - [23463, 1], - [23462, 1], - [23461, 1], - [23460, 1], - [23459, 1], - [23458, 1], - [23457, 1], - [23456, 1], - [23455, 1], - [23454, 1], - [23453, 1], - [23452, 1], - [23451, 1], - [23450, 1], - [23449, 1], - [23448, 1], - [23447, 1], - [23446, 1], - [23445, 1], - [23444, 1], - [23443, 1], - [23442, 1], - [23441, 1], - [23440, 1], - [23439, 1], - [23438, 1], - [23437, 1], - [23436, 1], - [23435, 1], - [23434, 1], - [23433, 1], - [23432, 1], - [23431, 1], - [23430, 1], - [23429, 1], - [23428, 1], - [23427, 1], - [23426, 1], - [23425, 1], - [23424, 1], - [23423, 1], - [23422, 1], - [23421, 1], - [23420, 1], - [23419, 1], - [23418, 1], - [23417, 1], - [23416, 1], - [23415, 1], - [23414, 1], - [23413, 1], - [23412, 1], - [23411, 1], - [23410, 1], - [23409, 1], - [23408, 1], - [23407, 1], - [23406, 1], - [23405, 1], - [23404, 1], - [23403, 1], - [23402, 1], - [23401, 1], - [23400, 1], - [23399, 1], - [23398, 1], - [23397, 1], - [23396, 1], - [23395, 1], - [23394, 1], - [23393, 1], - [23392, 1], - [23391, 1], - [23390, 1], - [23389, 1], - [23388, 1], - [23387, 1], - [23386, 1], - [23385, 1], - [23384, 1], - [23383, 1], - [23382, 1], - [23381, 1], - [23380, 1], - [23379, 1], - [23378, 1], - [23377, 1], - [23376, 1], - [23375, 1], - [23374, 1], - [23373, 1], - [23372, 1], - [23371, 1], - [23370, 1], - [23369, 1], - [23368, 1], - [23367, 1], - [23366, 1], - [23365, 1], - [23364, 1], - [23363, 1], - [23362, 1], - [23361, 1], - [23360, 1], - [23359, 1], - [23358, 1], - [23357, 1], - [23356, 1], - [23355, 1], - [23354, 1], - [23353, 1], - [23352, 1], - [23351, 1], - [23350, 1], - [23349, 1], - [23348, 1], - [23347, 1], - [23346, 1], - [23345, 1], - [23344, 1], - [23343, 1], - [23342, 1], - [23341, 1], - [23340, 1], - [23339, 1], - [23338, 1], - [23337, 1], - [23336, 1], - [23335, 1], - [23334, 1], - [23333, 1], - [23332, 1], - [23331, 1], - [23330, 1], - [23329, 1], - [23328, 1], - [23327, 1], - [23326, 1], - [23325, 1], - [23324, 1], - [23323, 1], - [23322, 1], - [23321, 1], - [23320, 1], - [23319, 1], - [23318, 1], - [23317, 1], - [23316, 1], - [23315, 1], - [23314, 1], - [23313, 1], - [23312, 1], - [23311, 1], - [23310, 1], - [23309, 1], - [23308, 1], - [23307, 1], - [23306, 1], - [23305, 1], - [23304, 1], - [23303, 1], - [23302, 1], - [23301, 1], - [23300, 1], - [23299, 1], - [23298, 1], - [23297, 1], - [23296, 1], - [23295, 1], - [23294, 1], - [23293, 1], - [23292, 1], - [23291, 1], - [23290, 1], - [23289, 1], - [23288, 1], - [23287, 1], - [23286, 1], - [23285, 1], - [23284, 1], - [23283, 1], - [23282, 1], - [23281, 1], - [23280, 1], - [23279, 1], - [23278, 1], - [23277, 1], - [23276, 1], - [23275, 1], - [23274, 1], - [23273, 1], - [23272, 1], - [23271, 1], - [23270, 1], - [23269, 1], - [23268, 1], - [23267, 1], - [23266, 1], - [23265, 1], - [23264, 1], - [23263, 1], - [23262, 1], - [23261, 1], - [23260, 1], - [23259, 1], - [23258, 1], - [23257, 1], - [23256, 1], - [23255, 1], - [23254, 1], - [23253, 1], - [23252, 1], - [23251, 1], - [23250, 1], - [23249, 1], - [23248, 1], - [23247, 1], - [23246, 1], - [23245, 1], - [23244, 1], - [23243, 1], - [23242, 1], - [23241, 1], - [23240, 1], - [23239, 1], - [23238, 1], - [23237, 1], - [23236, 1], - [23235, 1], - [23234, 1], - [23233, 1], - [23232, 1], - [23231, 1], - [23230, 1], - [23229, 1], - [23228, 1], - [23227, 1], - [23226, 1], - [23225, 1], - [23224, 1], - [23223, 1], - [23222, 1], - [23221, 1], - [23220, 1], - [23219, 1], - [23218, 1], - [23217, 1], - [23216, 1], - [23215, 1], - [23214, 1], - [23213, 1], - [23212, 1], - [23211, 1], - [23210, 1], - [23209, 1], - [23208, 1], - [23207, 1], - [23206, 1], - [23205, 1], - [23204, 1], - [23203, 1], - [23202, 1], - [23201, 1], - [23200, 1], - [23199, 1], - [23198, 1], - [23197, 1], - [23196, 1], - [23195, 1], - [23194, 1], - [23193, 1], - [23192, 1], - [23191, 1], - [23190, 1], - [23189, 1], - [23188, 1], - [23187, 1], - [23186, 1], - [23185, 1], - [23184, 1], - [23183, 1], - [23182, 1], - [23181, 1], - [23180, 1], - [23179, 1], - [23178, 1], - [23177, 1], - [23176, 1], - [23175, 1], - [23174, 1], - [23173, 1], - [23172, 1], - [23171, 1], - [23170, 1], - [23169, 1], - [23168, 1], - [23167, 1], - [23166, 1], - [23165, 1], - [23164, 1], - [23163, 1], - [23162, 1], - [23161, 1], - [23160, 1], - [23159, 1], - [23158, 1], - [23157, 1], - [23156, 1], - [23155, 1], - [23154, 1], - [23153, 1], - [23152, 1], - [23151, 1], - [23150, 1], - [23149, 1], - [23148, 1], - [23147, 1], - [23146, 1], - [23145, 1], - [23144, 1], - [23143, 1], - [23142, 1], - [23141, 1], - [23140, 1], - [23139, 1], - [23138, 1], - [23137, 1], - [23136, 1], - [23135, 1], - [23134, 1], - [23133, 1], - [23132, 1], - [23131, 1], - [23130, 1], - [23129, 1], - [23128, 1], - [23127, 1], - [23126, 1], - [23125, 1], - [23124, 1], - [23123, 1], - [23122, 1], - [23121, 1], - [23120, 1], - [23119, 1], - [23118, 1], - [23117, 1], - [23116, 1], - [23115, 1], - [23114, 1], - [23113, 1], - [23112, 1], - [23111, 1], - [23110, 1], - [23109, 1], - [23108, 1], - [23107, 1], - [23106, 1], - [23105, 1], - [23104, 1], - [23103, 1], - [23102, 1], - [23101, 1], - [23100, 1], - [23099, 1], - [23098, 1], - [23097, 1], - [23096, 1], - [23095, 1], - [23094, 1], - [23093, 1], - [23092, 1], - [23091, 1], - [23090, 1], - [23089, 1], - [23088, 1], - [23087, 1], - [23086, 1], - [23085, 1], - [23084, 1], - [23083, 1], - [23082, 1], - [23081, 1], - [23080, 1], - [23079, 1], - [23078, 1], - [23077, 1], - [23076, 1], - [23075, 1], - [23074, 1], - [23073, 1], - [23072, 1], - [23071, 1], - [23070, 1], - [23069, 1], - [23068, 1], - [23067, 1], - [23066, 1], - [23065, 1], - [23064, 1], - [23063, 1], - [23062, 1], - [23061, 1], - [23060, 1], - [23059, 1], - [23058, 1], - [23057, 1], - [23056, 1], - [23055, 1], - [23054, 1], - [23053, 1], - [23052, 1], - [23051, 1], - [23050, 1], - [23049, 1], - [23048, 1], - [24276, 1], - [24275, 1], - [24274, 1], - [24273, 1], - [24272, 1], - [24271, 1], - [24270, 1], - [24269, 1], - [24268, 1], - [24267, 1], - [24266, 1], - [24265, 1], - [24264, 1], - [24263, 1], - [24242, 1], - [24241, 1], - [24240, 1], - [24239, 1], - [24238, 1], - [24237, 1], - [24236, 1], - [24235, 1], - [24234, 1], - [24233, 1], - [24232, 1], - [24231, 1], - [24230, 1], - [24229, 1], - [24228, 1], - [24227, 1], - [24226, 1], - [24225, 1], - [24225, 0, "g"], - [24226, 0, "e"], - [24227, 0, "n"], - [24228, 0, "e"], - [24229, 0, "r"], - [24230, 0, "a"], - [24231, 0, "t"], - [24232, 0, "i"], - [24233, 0, "n"], - [24234, 0, "g"], - [24246, 0, "a"], - [24247, 0, "n"], - [24248, 0, "d"], - [24249, 0, " "], - [24205, 0, "\n"], - [24206, 0, "\n"], - [24207, 0, "\\"], - [24208, 0, "b"], - [24209, 0, "e"], - [24210, 0, "g"], - [24211, 0, "i"], - [24212, 0, "n"], - [24213, 0, "{"], - [24214, 0, "p"], - [24215, 0, "r"], - [24216, 0, "o"], - [24217, 0, "o"], - [24218, 0, "f"], - [24219, 0, "t"], - [24220, 0, "r"], - [24221, 0, "e"], - [24222, 0, "e"], - [24223, 0, "}"], - [24224, 0, "\n"], - [24225, 0, "\\"], - [24226, 0, "A"], - [24227, 0, "x"], - [24228, 0, "i"], - [24229, 0, "o"], - [24230, 0, "m"], - [24231, 0, "C"], - [24232, 0, "{"], - [24233, 0, "$"], - [24234, 0, "A"], - [24235, 0, "_"], - [24236, 0, "p"], - [24237, 0, ","], - [24238, 0, "\\"], - [24239, 0, ","], - [24240, 0, " "], - [24241, 0, "\\"], - [24242, 0, "m"], - [24243, 0, "a"], - [24244, 0, "t"], - [24245, 0, "h"], - [24246, 0, "s"], - [24247, 0, "f"], - [24248, 0, "{"], - [24249, 0, "y"], - [24250, 0, "i"], - [24251, 0, "e"], - [24252, 0, "l"], - [24253, 0, "d"], - [24254, 0, "}"], - [24255, 0, " "], - [24256, 0, "\\"], - [24257, 0, "e"], - [24258, 0, "v"], - [24259, 0, "a"], - [24260, 0, "l"], - [24261, 0, "t"], - [24262, 0, "o"], - [24263, 0, " "], - [24264, 0, "A"], - [24265, 0, "_"], - [24266, 0, "p"], - [24267, 0, "'"], - [24268, 0, "$"], - [24269, 0, "}"], - [24270, 0, "\n"], - [24271, 0, "\\"], - [24272, 0, "A"], - [24273, 0, "x"], - [24274, 0, "i"], - [24275, 0, "o"], - [24276, 0, "m"], - [24277, 0, "C"], - [24278, 0, "{"], - [24279, 0, "$"], - [24280, 0, "A"], - [24281, 0, "_"], - [24282, 0, "p"], - [24283, 0, ","], - [24284, 0, "\\"], - [24285, 0, ","], - [24286, 0, " "], - [24287, 0, "\\"], - [24283, 0, "'"], - [24289, 0, "m"], - [24290, 0, "a"], - [24291, 0, "t"], - [24292, 0, "h"], - [24293, 0, "s"], - [24294, 0, "f"], - [24295, 0, "{"], - [24296, 0, "y"], - [24297, 0, "i"], - [24298, 0, "e"], - [24299, 0, "l"], - [24300, 0, "d"], - [24301, 0, "}"], - [24302, 0, " "], - [24303, 0, "\\"], - [24304, 0, "e"], - [24305, 0, "v"], - [24306, 0, "a"], - [24307, 0, "l"], - [24308, 0, "t"], - [24309, 0, "o"], - [24310, 0, " "], - [24311, 0, "A"], - [24312, 0, "_"], - [24313, 0, "p"], - [24314, 0, "'"], - [24315, 0, "'"], - [24316, 0, "$"], - [24317, 0, "}"], - [24318, 0, "\n"], - [24319, 0, "\\"], - [24320, 0, "L"], - [24321, 0, "e"], - [24322, 0, "f"], - [24323, 0, "t"], - [24324, 0, "L"], - [24325, 0, "a"], - [24326, 0, "b"], - [24327, 0, "e"], - [24328, 0, "l"], - [24329, 0, "{"], - [24330, 0, "\\"], - [24331, 0, "t"], - [24332, 0, "e"], - [24333, 0, "x"], - [24334, 0, "t"], - [24335, 0, "s"], - [24336, 0, "c"], - [24337, 0, "{"], - [24338, 0, "Y"], - [24339, 0, "i"], - [24340, 0, "e"], - [24341, 0, "l"], - [24342, 0, "d"], - [24343, 0, "}"], - [24344, 0, "}"], - [24345, 0, "\n"], - [24346, 0, "\\"], - [24347, 0, "B"], - [24348, 0, "i"], - [24349, 0, "n"], - [24350, 0, "a"], - [24351, 0, "r"], - [24352, 0, "y"], - [24353, 0, "I"], - [24354, 0, "n"], - [24355, 0, "f"], - [24356, 0, "C"], - [24357, 0, "{"], - [24358, 0, "$"], - [24359, 0, "A"], - [24360, 0, "_"], - [24361, 0, "p"], - [24362, 0, ","], - [24363, 0, "\\"], - [24364, 0, ","], - [24365, 0, " "], - [24366, 0, "\\"], - [24367, 0, "m"], - [24368, 0, "a"], - [24369, 0, "t"], - [24370, 0, "h"], - [24371, 0, "s"], - [24372, 0, "f"], - [24373, 0, "{"], - [24374, 0, "y"], - [24375, 0, "i"], - [24376, 0, "e"], - [24377, 0, "l"], - [24378, 0, "d"], - [24379, 0, "}"], - [24380, 0, " "], - [24381, 0, "\\"], - [24382, 0, "e"], - [24383, 0, "v"], - [24384, 0, "a"], - [24385, 0, "l"], - [24386, 0, "t"], - [24387, 0, "o"], - [24388, 0, " "], - [24389, 0, "A"], - [24390, 0, "_"], - [24391, 0, "p"], - [24392, 0, "'"], - [24393, 0, "'"], - [24394, 0, "$"], - [24395, 0, "}"], - [24396, 0, "\n"], - [24397, 0, "\\"], - [24398, 0, "e"], - [24399, 0, "n"], - [24400, 0, "d"], - [24401, 0, "{"], - [24402, 0, "p"], - [24403, 0, "r"], - [24404, 0, "o"], - [24405, 0, "o"], - [24406, 0, "f"], - [24407, 0, "t"], - [24408, 0, "r"], - [24409, 0, "e"], - [24410, 0, "e"], - [24411, 0, "}"], - [24597, 0, " "], - [24598, 0, "T"], - [24599, 0, "h"], - [24600, 0, "e"], - [24601, 0, " "], - [24602, 0, "\\"], - [24603, 0, "t"], - [24604, 0, "e"], - [24605, 0, "x"], - [24606, 0, "t"], - [24607, 0, "s"], - [24608, 0, "c"], - [24609, 0, "{"], - [24610, 0, "A"], - [24611, 0, "s"], - [24612, 0, "s"], - [24613, 0, "i"], - [24614, 0, "g"], - [24615, 0, "n"], - [24616, 0, "}"], - [24617, 0, ","], - [24618, 0, " "], - [24619, 0, "\\"], - [24620, 0, "t"], - [24621, 0, "e"], - [24622, 0, "x"], - [24623, 0, "t"], - [24624, 0, "s"], - [24625, 0, "c"], - [24626, 0, "{"], - [24627, 0, "I"], - [24628, 0, "n"], - [24629, 0, "s"], - [24630, 0, "e"], - [24631, 0, "r"], - [24632, 0, "t"], - [24633, 0, "}"], - [24634, 0, " "], - [24635, 0, "a"], - [24636, 0, "n"], - [24637, 0, "d"], - [24638, 0, " "], - [24639, 0, "\\"], - [24640, 0, "t"], - [24641, 0, "e"], - [24642, 0, "x"], - [24643, 0, "t"], - [24644, 0, "s"], - [24645, 0, "c"], - [24646, 0, "{"], - [24647, 0, "D"], - [24648, 0, "e"], - [24649, 0, "l"], - [24650, 0, "e"], - [24651, 0, "t"], - [24652, 0, "e"], - [24653, 0, "}"], - [24654, 0, " "], - [24655, 0, "r"], - [24656, 0, "u"], - [24657, 0, "l"], - [24658, 0, "e"], - [24659, 0, "s"], - [24660, 0, " "], - [24661, 0, "s"], - [24662, 0, "h"], - [24663, 0, "o"], - [24664, 0, "w"], - [24665, 0, " "], - [24665, 1], - [24664, 1], - [24663, 1], - [24662, 1], - [24661, 1], - [24661, 0, "d"], - [24662, 0, "e"], - [24663, 0, "f"], - [24664, 0, "i"], - [24665, 0, "n"], - [24666, 0, "e"], - [24667, 0, " "], - [24668, 0, "h"], - [24669, 0, "o"], - [24670, 0, "w"], - [24671, 0, " "], - [24672, 0, "t"], - [24673, 0, "h"], - [24674, 0, "e"], - [24675, 0, "s"], - [24676, 0, "e"], - [24677, 0, " "], - [24678, 0, "r"], - [24679, 0, "e"], - [24680, 0, "s"], - [24681, 0, "p"], - [24682, 0, "e"], - [24683, 0, "c"], - [24684, 0, "t"], - [24685, 0, "i"], - [24686, 0, "v"], - [24687, 0, "e"], - [24688, 0, " "], - [24689, 0, "c"], - [24690, 0, "o"], - [24691, 0, "m"], - [24692, 0, "m"], - [24693, 0, "a"], - [24694, 0, "n"], - [24695, 0, "d"], - [24696, 0, "s"], - [24697, 0, " "], - [24698, 0, "m"], - [24699, 0, "u"], - [24700, 0, "t"], - [24701, 0, "a"], - [24702, 0, "t"], - [24703, 0, "e"], - [24704, 0, " "], - [24705, 0, "t"], - [24706, 0, "h"], - [24707, 0, "e"], - [24708, 0, " "], - [24709, 0, "d"], - [24710, 0, "o"], - [24711, 0, "c"], - [24712, 0, "u"], - [24713, 0, "m"], - [24714, 0, "e"], - [24715, 0, "n"], - [24716, 0, "t"], - [24717, 0, ":"], - [24718, 0, " "], - [24719, 0, "a"], - [24720, 0, "l"], - [24721, 0, "l"], - [24722, 0, " "], - [24723, 0, "t"], - [24724, 0, "h"], - [24725, 0, "r"], - [24726, 0, "e"], - [24727, 0, "e"], - [24728, 0, " "], - [24729, 0, "d"], - [24730, 0, "e"], - [24731, 0, "l"], - [24732, 0, "e"], - [24733, 0, "g"], - [24734, 0, "a"], - [24735, 0, "t"], - [24736, 0, "e"], - [24737, 0, " "], - [24738, 0, "t"], - [24739, 0, "h"], - [24740, 0, "e"], - [24741, 0, " "], - [24741, 1], - [24740, 1], - [24739, 1], - [24738, 1], - [24738, 0, "t"], - [24739, 0, "o"], - [24740, 0, " "], - [24741, 0, "t"], - [24742, 0, "h"], - [24743, 0, "e"], - [24744, 0, " "], - [24745, 0, "\\"], - [24746, 0, "t"], - [24747, 0, "e"], - [24748, 0, "x"], - [24749, 0, "t"], - [24750, 0, "s"], - [24751, 0, "c"], - [24752, 0, "{"], - [24753, 0, "M"], - [24754, 0, "a"], - [24755, 0, "k"], - [24756, 0, "e"], - [24757, 0, "-"], - [24758, 0, "O"], - [24759, 0, "p"], - [24760, 0, "}"], - [24761, 0, " "], - [24762, 0, "r"], - [24763, 0, "u"], - [24764, 0, "l"], - [24765, 0, "e"], - [24766, 0, " "], - [24767, 0, "f"], - [24768, 0, "o"], - [24769, 0, "r"], - [24770, 0, " "], - [24771, 0, "g"], - [24772, 0, "e"], - [24773, 0, "n"], - [24774, 0, "e"], - [24775, 0, "r"], - [24776, 0, "a"], - [24777, 0, "t"], - [24778, 0, "i"], - [24779, 0, "n"], - [24780, 0, "g"], - [24781, 0, " "], - [24769, 1], - [24768, 1], - [24767, 1], - [24767, 0, "t"], - [24768, 0, "o"], - [24780, 1], - [24779, 1], - [24778, 1], - [24777, 1], - [24777, 0, "e"], - [24778, 0, " "], - [24779, 0, "a"], - [24780, 0, "n"], - [24781, 0, "d"], - [24782, 0, " "], - [24783, 0, "a"], - [24784, 0, "p"], - [24785, 0, "p"], - [24786, 0, "l"], - [24787, 0, "y"], - [24788, 0, " "], - [24789, 0, "t"], - [24790, 0, "h"], - [24791, 0, "e"], - [24792, 0, " "], - [24793, 0, "o"], - [24794, 0, "p"], - [24795, 0, "e"], - [24796, 0, "r"], - [24797, 0, "a"], - [24798, 0, "t"], - [24799, 0, "i"], - [24800, 0, "o"], - [24801, 0, "n"], - [24802, 0, "."], - [24803, 0, " "], - [24804, 0, "\\"], - [24805, 0, "t"], - [24806, 0, "e"], - [24807, 0, "x"], - [24808, 0, "t"], - [24809, 0, "s"], - [24810, 0, "c"], - [24811, 0, "{"], - [24812, 0, "M"], - [24813, 0, "a"], - [24814, 0, "k"], - [24815, 0, "e"], - [24816, 0, "-"], - [24817, 0, "O"], - [24818, 0, "p"], - [24819, 0, "}"], - [24820, 0, " "], - [24821, 0, "e"], - [24822, 0, "n"], - [24823, 0, "c"], - [24824, 0, "a"], - [24825, 0, "p"], - [24826, 0, "s"], - [24827, 0, "u"], - [24828, 0, "l"], - [24829, 0, "a"], - [24830, 0, "t"], - [24831, 0, "e"], - [24832, 0, "s"], - [24832, 1], - [24831, 1], - [24830, 1], - [24829, 1], - [24828, 1], - [24827, 1], - [24826, 1], - [24825, 1], - [24824, 1], - [24823, 1], - [24822, 1], - [24821, 1], - [24821, 0, "g"], - [24822, 0, "e"], - [24823, 0, "n"], - [24824, 0, "e"], - [24825, 0, "r"], - [24826, 0, "a"], - [24827, 0, "t"], - [24828, 0, "e"], - [24829, 0, "s"], - [24830, 0, " "], - [24831, 0, "a"], - [24832, 0, " "], - [24833, 0, "n"], - [24834, 0, "e"], - [24835, 0, "w"], - [24836, 0, " "], - [24837, 0, "L"], - [24838, 0, "a"], - [24839, 0, "m"], - [24840, 0, "p"], - [24841, 0, "o"], - [24842, 0, "r"], - [24843, 0, "t"], - [24844, 0, " "], - [24845, 0, "t"], - [24846, 0, "i"], - [24847, 0, "m"], - [24848, 0, "e"], - [24849, 0, "s"], - [24850, 0, "t"], - [24851, 0, "a"], - [24852, 0, "m"], - [24853, 0, "p"], - [24854, 0, " "], - [24855, 0, "b"], - [24856, 0, "y"], - [24857, 0, " "], - [24858, 0, "c"], - [24859, 0, "h"], - [24860, 0, "o"], - [24861, 0, "o"], - [24862, 0, "s"], - [24863, 0, "i"], - [24864, 0, "n"], - [24865, 0, "g"], - [24866, 0, " "], - [24867, 0, "a"], - [24868, 0, " "], - [24869, 0, "c"], - [24870, 0, "o"], - [24871, 0, "u"], - [24872, 0, "n"], - [24873, 0, "t"], - [24874, 0, "e"], - [24875, 0, "r"], - [24876, 0, " "], - [24877, 0, "v"], - [24878, 0, "a"], - [24879, 0, "l"], - [24880, 0, "u"], - [24881, 0, "e"], - [24882, 0, " "], - [24883, 0, "t"], - [24884, 0, "h"], - [24885, 0, "a"], - [24886, 0, "t"], - [24887, 0, " "], - [24888, 0, "i"], - [24889, 0, "s"], - [24890, 0, " "], - [24891, 0, "1"], - [24892, 0, " "], - [24893, 0, "g"], - [24894, 0, "r"], - [24895, 0, "e"], - [24896, 0, "a"], - [24897, 0, "t"], - [24898, 0, "e"], - [24899, 0, "r"], - [24900, 0, " "], - [24901, 0, "t"], - [24902, 0, "h"], - [24903, 0, "a"], - [24904, 0, "n"], - [24905, 0, " "], - [24906, 0, "a"], - [24907, 0, "n"], - [24908, 0, "y"], - [24909, 0, " "], - [24910, 0, "e"], - [24911, 0, "x"], - [24912, 0, "i"], - [24913, 0, "s"], - [24914, 0, "t"], - [24915, 0, "i"], - [24916, 0, "n"], - [24917, 0, "g"], - [24918, 0, " "], - [24919, 0, "c"], - [24920, 0, "o"], - [24921, 0, "u"], - [24922, 0, "n"], - [24923, 0, "t"], - [24924, 0, "e"], - [24925, 0, "r"], - [24926, 0, " "], - [24927, 0, "i"], - [24928, 0, "n"], - [24929, 0, " "], - [24930, 0, "$"], - [24931, 0, "A"], - [24932, 0, "_"], - [24933, 0, "p"], - [24934, 0, "("], - [24935, 0, "\\"], - [24936, 0, "m"], - [24937, 0, "a"], - [24938, 0, "t"], - [24939, 0, "h"], - [24940, 0, "s"], - [24941, 0, "f"], - [24942, 0, "{"], - [24943, 0, "o"], - [24944, 0, "p"], - [24945, 0, "s"], - [24946, 0, "}"], - [24947, 0, ")"], - [24948, 0, "$"], - [24949, 0, " "], - [24950, 0, "t"], - [24951, 0, "h"], - [24952, 0, "e"], - [24953, 0, " "], - [24949, 0, ","], - [24955, 0, "s"], - [24956, 0, "e"], - [24957, 0, "t"], - [24958, 0, " "], - [24959, 0, "o"], - [24960, 0, "f"], - [24961, 0, " "], - [24962, 0, "a"], - [24963, 0, "l"], - [24964, 0, "l"], - [24965, 0, " "], - [24966, 0, "o"], - [24967, 0, "p"], - [24968, 0, "e"], - [24969, 0, "r"], - [24970, 0, "a"], - [24971, 0, "t"], - [24972, 0, "i"], - [24973, 0, "o"], - [24974, 0, "n"], - [24975, 0, " "], - [24976, 0, "I"], - [24977, 0, "D"], - [24978, 0, "s"], - [24979, 0, " "], - [24980, 0, "t"], - [24981, 0, "h"], - [24982, 0, "a"], - [24983, 0, "t"], - [24984, 0, " "], - [24985, 0, "h"], - [24986, 0, "a"], - [24987, 0, "v"], - [24988, 0, "e"], - [24989, 0, " "], - [24990, 0, "b"], - [24991, 0, "e"], - [24992, 0, "e"], - [24993, 0, "n"], - [24994, 0, " "], - [24995, 0, "a"], - [24996, 0, "p"], - [24997, 0, "p"], - [24998, 0, "l"], - [24999, 0, "i"], - [25000, 0, "e"], - [25001, 0, "d"], - [25002, 0, " "], - [25003, 0, "t"], - [25004, 0, "o"], - [25005, 0, " "], - [25006, 0, "t"], - [25007, 0, "h"], - [25008, 0, "e"], - [25009, 0, " "], - [25010, 0, "d"], - [25011, 0, "o"], - [25012, 0, "c"], - [25013, 0, "u"], - [25014, 0, "m"], - [25015, 0, "e"], - [25016, 0, "n"], - [25017, 0, "t"], - [25018, 0, "."], - [25019, 0, "\n"], - [25020, 0, "\n"], - [25021, 0, "\\"], - [25022, 0, "t"], - [25023, 0, "e"], - [25024, 0, "x"], - [25025, 0, "t"], - [25026, 0, "s"], - [25027, 0, "c"], - [25028, 0, "{"], - [25029, 0, "M"], - [25030, 0, "a"], - [25031, 0, "k"], - [25032, 0, "e"], - [25033, 0, "-"], - [25034, 0, "O"], - [25035, 0, "p"], - [25036, 0, "}"], - [25037, 0, " "], - [25038, 0, "c"], - [25039, 0, "o"], - [25040, 0, "n"], - [25041, 0, "s"], - [25042, 0, "t"], - [25043, 0, "r"], - [25044, 0, "u"], - [25045, 0, "c"], - [25046, 0, "t"], - [25047, 0, "s"], - [25048, 0, " "], - [25049, 0, "a"], - [25050, 0, "n"], - [25051, 0, " "], - [25052, 0, "\\"], - [25053, 0, "t"], - [25054, 0, "e"], - [25055, 0, "x"], - [25056, 0, "t"], - [25057, 0, "s"], - [25058, 0, "f"], - [25059, 0, "{"], - [25060, 0, "o"], - [25061, 0, "p"], - [25062, 0, "}"], - [25063, 0, " "], - [25062, 0, "("], - [25063, 0, ")"], - [25066, 0, "t"], - [25067, 0, "u"], - [25068, 0, "p"], - [25069, 0, "l"], - [25070, 0, "e"], - [25071, 0, " "], - [25072, 0, "o"], - [25073, 0, "f"], - [25074, 0, " "], - [25075, 0, "t"], - [25076, 0, "h"], - [25077, 0, "e"], - [25078, 0, " "], - [25079, 0, "f"], - [25080, 0, "o"], - [25081, 0, "r"], - [25082, 0, "m"], - [25083, 0, " "], - [25084, 0, "d"], - [25085, 0, "e"], - [25086, 0, "s"], - [25087, 0, "c"], - [25088, 0, "r"], - [25089, 0, "i"], - [25090, 0, "b"], - [25091, 0, "e"], - [25092, 0, "d"], - [25093, 0, " "], - [25094, 0, "a"], - [25095, 0, "b"], - [25096, 0, "o"], - [25097, 0, "v"], - [25098, 0, "e"], - [25099, 0, ","], - [25100, 0, " "], - [25101, 0, "a"], - [25102, 0, "n"], - [25103, 0, "d"], - [25104, 0, " "], - [25105, 0, "d"], - [25106, 0, "e"], - [25107, 0, "l"], - [25108, 0, "e"], - [25109, 0, "g"], - [25110, 0, "a"], - [25111, 0, "t"], - [25112, 0, "e"], - [25113, 0, "s"], - [25114, 0, " "], - [25115, 0, "t"], - [25116, 0, "o"], - [25117, 0, " "], - [25118, 0, "t"], - [25119, 0, "h"], - [25120, 0, "e"], - [25121, 0, " "], - [25122, 0, "\\"], - [25123, 0, "t"], - [25124, 0, "e"], - [25125, 0, "x"], - [25126, 0, "t"], - [25127, 0, "s"], - [25128, 0, "c"], - [25129, 0, "{"], - [25130, 0, "A"], - [25131, 0, "p"], - [25132, 0, "p"], - [25133, 0, "l"], - [25134, 0, "y"], - [25135, 0, "-"], - [25136, 0, "L"], - [25137, 0, "o"], - [25138, 0, "c"], - [25139, 0, "a"], - [25140, 0, "l"], - [25141, 0, "}"], - [25142, 0, " "], - [25143, 0, "r"], - [25144, 0, "u"], - [25145, 0, "l"], - [25146, 0, "e"], - [25147, 0, " "], - [25148, 0, "t"], - [25149, 0, "o"], - [25150, 0, " "], - [25151, 0, "p"], - [25152, 0, "r"], - [25153, 0, "o"], - [25154, 0, "c"], - [25155, 0, "e"], - [25156, 0, "s"], - [25157, 0, "s"], - [25158, 0, " "], - [25159, 0, "t"], - [25160, 0, "h"], - [25161, 0, "e"], - [25162, 0, " "], - [25163, 0, "o"], - [25164, 0, "p"], - [25165, 0, "e"], - [25166, 0, "r"], - [25167, 0, "a"], - [25168, 0, "t"], - [25169, 0, "i"], - [25170, 0, "o"], - [25171, 0, "n"], - [25172, 0, "."], - [25173, 0, " "], - [25174, 0, "\\"], - [25175, 0, "t"], - [25176, 0, "e"], - [25177, 0, "x"], - [25178, 0, "t"], - [25179, 0, "s"], - [25180, 0, "c"], - [25181, 0, "{"], - [25182, 0, "A"], - [25183, 0, "p"], - [25184, 0, "p"], - [25185, 0, "l"], - [25186, 0, "y"], - [25187, 0, "-"], - [25188, 0, "L"], - [25189, 0, "o"], - [25190, 0, "c"], - [25191, 0, "a"], - [25192, 0, "l"], - [25193, 0, "}"], - [25194, 0, " "], - [25195, 0, "d"], - [25196, 0, "o"], - [25197, 0, "e"], - [25198, 0, "s"], - [25199, 0, " "], - [25200, 0, "t"], - [25201, 0, "h"], - [25202, 0, "r"], - [25203, 0, "e"], - [25204, 0, "e"], - [25205, 0, " "], - [25206, 0, "t"], - [25207, 0, "h"], - [25208, 0, "i"], - [25209, 0, "n"], - [25210, 0, "g"], - [25211, 0, "s"], - [25212, 0, ":"], - [25213, 0, " "], - [25214, 0, "i"], - [25215, 0, "t"], - [25216, 0, " "], - [25217, 0, "e"], - [25218, 0, "v"], - [25219, 0, "a"], - [25220, 0, "l"], - [25221, 0, "u"], - [25222, 0, "a"], - [25223, 0, "t"], - [25224, 0, "e"], - [25225, 0, "s"], - [25226, 0, " "], - [25227, 0, "t"], - [25228, 0, "h"], - [25229, 0, "e"], - [25230, 0, " "], - [25231, 0, "o"], - [25232, 0, "p"], - [25233, 0, "e"], - [25234, 0, "r"], - [25235, 0, "a"], - [25236, 0, "t"], - [25237, 0, "i"], - [25238, 0, "o"], - [25239, 0, "n"], - [25240, 0, " "], - [25241, 0, "t"], - [25242, 0, "o"], - [25243, 0, " "], - [25244, 0, "p"], - [25245, 0, "r"], - [25246, 0, "o"], - [25247, 0, "d"], - [25248, 0, "u"], - [25249, 0, "c"], - [25250, 0, "e"], - [25251, 0, " "], - [25252, 0, "a"], - [25253, 0, " "], - [25254, 0, "m"], - [25255, 0, "o"], - [25256, 0, "d"], - [25257, 0, "i"], - [25258, 0, "f"], - [25259, 0, "i"], - [25260, 0, "e"], - [25261, 0, "d"], - [25262, 0, " "], - [25263, 0, "l"], - [25264, 0, "o"], - [25265, 0, "c"], - [25266, 0, "a"], - [25267, 0, "l"], - [25268, 0, " "], - [25269, 0, "s"], - [25270, 0, "t"], - [25271, 0, "a"], - [25272, 0, "t"], - [25273, 0, "e"], - [25274, 0, " "], - [25275, 0, "$"], - [25276, 0, "A"], - [25277, 0, "_"], - [25278, 0, "p"], - [25279, 0, "'"], - [25280, 0, "$"], - [25281, 0, ","], - [25282, 0, " "], - [25283, 0, "i"], - [25284, 0, "t"], - [25285, 0, " "], - [25286, 0, "a"], - [25287, 0, "d"], - [25288, 0, "d"], - [25289, 0, "s"], - [25290, 0, " "], - [25291, 0, "t"], - [25292, 0, "h"], - [25293, 0, "e"], - [25294, 0, " "], - [25295, 0, "o"], - [25296, 0, "p"], - [25297, 0, "e"], - [25298, 0, "r"], - [25299, 0, "a"], - [25300, 0, "t"], - [25301, 0, "i"], - [25302, 0, "o"], - [25303, 0, "n"], - [25304, 0, " "], - [25305, 0, "t"], - [25306, 0, "o"], - [25307, 0, " "], - [25308, 0, "t"], - [25309, 0, "h"], - [25310, 0, "e"], - [25311, 0, " "], - [25312, 0, "q"], - [25313, 0, "u"], - [25314, 0, "e"], - [25315, 0, "u"], - [25316, 0, "e"], - [25317, 0, " "], - [25318, 0, "o"], - [25319, 0, "f"], - [25320, 0, " "], - [25321, 0, "o"], - [25322, 0, "u"], - [25323, 0, "t"], - [25324, 0, "b"], - [25324, 1], - [25323, 1], - [25322, 1], - [25321, 1], - [25321, 0, "g"], - [25322, 0, "e"], - [25323, 0, "n"], - [25324, 0, "e"], - [25325, 0, "r"], - [25326, 0, "a"], - [25327, 0, "t"], - [25328, 0, "e"], - [25329, 0, "d"], - [25330, 0, " "], - [25331, 0, "o"], - [25332, 0, "p"], - [25333, 0, "e"], - [25334, 0, "r"], - [25335, 0, "a"], - [25336, 0, "t"], - [25337, 0, "i"], - [25338, 0, "o"], - [25339, 0, "n"], - [25340, 0, "s"], - [25341, 0, " "], - [25342, 0, "$"], - [25343, 0, "A"], - [25344, 0, "_"], - [25345, 0, "p"], - [25346, 0, "("], - [25347, 0, "\\"], - [25348, 0, "m"], - [25349, 0, "a"], - [25350, 0, "t"], - [25351, 0, "h"], - [25352, 0, "s"], - [25353, 0, "f"], - [25354, 0, "{"], - [25355, 0, "q"], - [25356, 0, "u"], - [25357, 0, "e"], - [25358, 0, "u"], - [25359, 0, "e"], - [25360, 0, "}"], - [25361, 0, ")"], - [25362, 0, "$"], - [25363, 0, ","], - [25364, 0, " "], - [25365, 0, "a"], - [25366, 0, "n"], - [25367, 0, "d"], - [25368, 0, " "], - [25369, 0, "i"], - [25370, 0, "t"], - [25371, 0, " "], - [25372, 0, "a"], - [25373, 0, "d"], - [25374, 0, "d"], - [25375, 0, "s"], - [25376, 0, " "], - [25377, 0, "t"], - [25378, 0, "h"], - [25379, 0, "e"], - [25380, 0, " "], - [25381, 0, "o"], - [25382, 0, "p"], - [25383, 0, "e"], - [25384, 0, "r"], - [25385, 0, "a"], - [25386, 0, "t"], - [25387, 0, "i"], - [25388, 0, "o"], - [25389, 0, "n"], - [25390, 0, " "], - [25391, 0, "I"], - [25392, 0, "D"], - [25393, 0, " "], - [25394, 0, "t"], - [25395, 0, "o"], - [25396, 0, " "], - [25397, 0, "t"], - [25398, 0, "h"], - [25399, 0, "e"], - [25400, 0, " "], - [25401, 0, "s"], - [25402, 0, "e"], - [25403, 0, "t"], - [25404, 0, " "], - [25405, 0, "o"], - [25406, 0, "f"], - [25407, 0, " "], - [25408, 0, "p"], - [25409, 0, "r"], - [25410, 0, "o"], - [25411, 0, "c"], - [25412, 0, "e"], - [25413, 0, "s"], - [25414, 0, "s"], - [25415, 0, "e"], - [25416, 0, "d"], - [25417, 0, " "], - [25418, 0, "o"], - [25419, 0, "p"], - [25420, 0, "e"], - [25421, 0, "r"], - [25422, 0, "a"], - [25423, 0, "t"], - [25424, 0, "i"], - [25425, 0, "o"], - [25426, 0, "n"], - [25427, 0, "s"], - [25428, 0, " "], - [25429, 0, "$"], - [25430, 0, "A"], - [25431, 0, "_"], - [25432, 0, "p"], - [25433, 0, "("], - [25434, 0, "\\"], - [25435, 0, "m"], - [25436, 0, "a"], - [25437, 0, "t"], - [25438, 0, "h"], - [25439, 0, "s"], - [25440, 0, "f"], - [25441, 0, "{"], - [25442, 0, "o"], - [25443, 0, "p"], - [25444, 0, "s"], - [25445, 0, "}"], - [25446, 0, ")"], - [25447, 0, "$"], - [25448, 0, "."], - [25449, 0, "\n"], - [25450, 0, "\n"], - [25451, 0, "T"], - [25452, 0, "h"], - [25453, 0, "e"], - [25454, 0, " "], - [25455, 0, "r"], - [25456, 0, "e"], - [25457, 0, "m"], - [25458, 0, "a"], - [25459, 0, "i"], - [25460, 0, "n"], - [25461, 0, "i"], - [25462, 0, "n"], - [25463, 0, "g"], - [25464, 0, " "], - [25465, 0, "r"], - [25466, 0, "u"], - [25467, 0, "l"], - [25468, 0, "e"], - [25469, 0, "s"], - [25470, 0, " "], - [25471, 0, "i"], - [25472, 0, "n"], - [25473, 0, " "], - [25474, 0, "F"], - [25475, 0, "i"], - [25476, 0, "g"], - [25477, 0, "u"], - [25478, 0, "r"], - [25479, 0, "e"], - [25480, 0, "~"], - [25481, 0, "\\"], - [25482, 0, "r"], - [25483, 0, "e"], - [25484, 0, "f"], - [25485, 0, "{"], - [25486, 0, "f"], - [25487, 0, "i"], - [25488, 0, "g"], - [25489, 0, ":"], - [25490, 0, "s"], - [25491, 0, "e"], - [25492, 0, "n"], - [25493, 0, "d"], - [25494, 0, "-"], - [25495, 0, "r"], - [25496, 0, "e"], - [25497, 0, "c"], - [25498, 0, "v"], - [25499, 0, "}"], - [25500, 0, " "], - [25500, 1], - [25500, 0, ","], - [25501, 0, " "], - [25502, 0, "\\"], - [25503, 0, "t"], - [25504, 0, "e"], - [25505, 0, "x"], - [25506, 0, "t"], - [25507, 0, "s"], - [25508, 0, "c"], - [25509, 0, "{"], - [25510, 0, "A"], - [25511, 0, "p"], - [25512, 0, "p"], - [25513, 0, "l"], - [25514, 0, "y"], - [25515, 0, "-"], - [25516, 0, "R"], - [25517, 0, "e"], - [25518, 0, "m"], - [25519, 0, "o"], - [25520, 0, "t"], - [25521, 0, "e"], - [25522, 0, "}"], - [25523, 0, ","], - [25524, 0, " "], - [25525, 0, "\\"], - [25526, 0, "t"], - [25527, 0, "e"], - [25528, 0, "x"], - [25529, 0, "t"], - [25530, 0, "s"], - [25531, 0, "c"], - [25532, 0, "{"], - [25533, 0, "S"], - [25534, 0, "e"], - [25535, 0, "n"], - [25536, 0, "d"], - [25537, 0, "}"], - [25538, 0, ","], - [25539, 0, " "], - [25540, 0, "\\"], - [25541, 0, "t"], - [25542, 0, "e"], - [25543, 0, "x"], - [25544, 0, "t"], - [25545, 0, "s"], - [25546, 0, "c"], - [25547, 0, "{"], - [25548, 0, "R"], - [25549, 0, "e"], - [25550, 0, "c"], - [25551, 0, "v"], - [25552, 0, "}"], - [25553, 0, " "], - [25554, 0, "a"], - [25555, 0, "n"], - [25556, 0, "d"], - [25557, 0, " "], - [25558, 0, "\\"], - [25559, 0, "t"], - [25560, 0, "e"], - [25561, 0, "x"], - [25562, 0, "t"], - [25563, 0, "s"], - [25564, 0, "c"], - [25565, 0, "{"], - [25566, 0, "Y"], - [25567, 0, "i"], - [25568, 0, "e"], - [25569, 0, "l"], - [25570, 0, "d"], - [25571, 0, "}"], - [25572, 0, " "], - [25573, 0, "d"], - [25574, 0, "e"], - [25575, 0, "f"], - [25576, 0, "i"], - [25577, 0, "n"], - [25578, 0, "e"], - [25579, 0, " "], - [25580, 0, "t"], - [25581, 0, "h"], - [25582, 0, "e"], - [25583, 0, " "], - [25584, 0, "s"], - [25585, 0, "e"], - [25586, 0, "m"], - [25587, 0, "a"], - [25588, 0, "n"], - [25589, 0, "t"], - [25590, 0, "i"], - [25591, 0, "c"], - [25592, 0, "s"], - [25593, 0, " "], - [25594, 0, "o"], - [25595, 0, "f"], - [25596, 0, " "], - [25597, 0, "t"], - [25598, 0, "h"], - [25599, 0, "e"], - [25600, 0, " "], - [25601, 0, "\\"], - [25602, 0, "t"], - [25603, 0, "e"], - [25604, 0, "x"], - [25605, 0, "t"], - [25606, 0, "s"], - [25607, 0, "f"], - [25608, 0, "{"], - [25609, 0, "y"], - [25610, 0, "i"], - [25611, 0, "e"], - [25612, 0, "l"], - [25613, 0, "d"], - [25614, 0, "}"], - [25615, 0, " "], - [25616, 0, "c"], - [25617, 0, "o"], - [25618, 0, "m"], - [25619, 0, "m"], - [25620, 0, "a"], - [25621, 0, "n"], - [25622, 0, "d"], - [25623, 0, "."], - [25624, 0, " "], - [25625, 0, "T"], - [25626, 0, "h"], - [25627, 0, "e"], - [25628, 0, "s"], - [25629, 0, "e"], - [25630, 0, " "], - [25630, 1], - [25629, 1], - [25628, 1], - [25627, 1], - [25627, 0, "i"], - [25628, 0, "s"], - [25629, 0, " "], - [25630, 0, "s"], - [25631, 0, "e"], - [25632, 0, "m"], - [25633, 0, "a"], - [25634, 0, "n"], - [25634, 1], - [25633, 1], - [25632, 1], - [25631, 1], - [25630, 1], - [25629, 1], - [25628, 1], - [25627, 1], - [25626, 1], - [25625, 1], - [25625, 0, "S"], - [25626, 0, "i"], - [25627, 0, "n"], - [25628, 0, "c"], - [25629, 0, "e"], - [25630, 0, " "], - [25631, 0, "a"], - [25632, 0, "n"], - [25633, 0, "y"], - [25634, 0, " "], - [25635, 0, "o"], - [25636, 0, "f"], - [25637, 0, " "], - [25638, 0, "t"], - [25639, 0, "h"], - [25640, 0, "e"], - [25641, 0, "s"], - [25642, 0, "e"], - [25643, 0, " "], - [25644, 0, "r"], - [25645, 0, "u"], - [25646, 0, "l"], - [25647, 0, "e"], - [25648, 0, "s"], - [25649, 0, " "], - [25650, 0, "c"], - [25651, 0, "a"], - [25652, 0, "n"], - [25653, 0, " "], - [25654, 0, "b"], - [25655, 0, "e"], - [25656, 0, " "], - [25657, 0, "u"], - [25658, 0, "s"], - [25659, 0, "e"], - [25660, 0, "d"], - [25661, 0, " "], - [25662, 0, "t"], - [25663, 0, "o"], - [25664, 0, " "], - [25665, 0, "e"], - [25666, 0, "v"], - [25667, 0, "a"], - [25668, 0, "l"], - [25669, 0, "u"], - [25670, 0, "a"], - [25671, 0, "t"], - [25672, 0, "e"], - [25673, 0, " "], - [25674, 0, "\\"], - [25675, 0, "t"], - [25676, 0, "e"], - [25677, 0, "x"], - [25678, 0, "t"], - [25679, 0, "s"], - [25680, 0, "f"], - [25681, 0, "{"], - [25682, 0, "y"], - [25683, 0, "i"], - [25684, 0, "e"], - [25685, 0, "l"], - [25686, 0, "d"], - [25687, 0, "}"], - [25688, 0, ","], - [25689, 0, " "], - [25690, 0, "t"], - [25691, 0, "h"], - [25692, 0, "e"], - [25693, 0, " "], - [25694, 0, "s"], - [25695, 0, "e"], - [25696, 0, "m"], - [25697, 0, "a"], - [25698, 0, "n"], - [25699, 0, "t"], - [25700, 0, "i"], - [25701, 0, "c"], - [25702, 0, "s"], - [25703, 0, " "], - [25704, 0, "i"], - [25705, 0, "s"], - [25706, 0, " "], - [25707, 0, "n"], - [25708, 0, "o"], - [25709, 0, "n"], - [25710, 0, "d"], - [25711, 0, "e"], - [25712, 0, "t"], - [25713, 0, "e"], - [25714, 0, "r"], - [25715, 0, "m"], - [25716, 0, "i"], - [25717, 0, "n"], - [25718, 0, "i"], - [25719, 0, "s"], - [25720, 0, "t"], - [25721, 0, "i"], - [25722, 0, "c"], - [25723, 0, ","], - [25724, 0, " "], - [25725, 0, "w"], - [25726, 0, "h"], - [25727, 0, "i"], - [25728, 0, "c"], - [25729, 0, "h"], - [25730, 0, " "], - [25731, 0, "m"], - [25732, 0, "o"], - [25733, 0, "d"], - [25734, 0, "e"], - [25735, 0, "l"], - [25736, 0, "s"], - [25737, 0, " "], - [25738, 0, "t"], - [25739, 0, "h"], - [25740, 0, "e"], - [25741, 0, " "], - [25742, 0, "a"], - [25743, 0, "s"], - [25744, 0, "y"], - [25745, 0, "n"], - [25746, 0, "c"], - [25747, 0, "h"], - [25748, 0, "r"], - [25749, 0, "o"], - [25750, 0, "n"], - [25751, 0, "i"], - [25752, 0, "c"], - [25753, 0, "i"], - [25754, 0, "t"], - [25755, 0, "y"], - [25756, 0, " "], - [25757, 0, "o"], - [25758, 0, "f"], - [25759, 0, " "], - [25760, 0, "n"], - [25760, 1], - [25760, 0, "t"], - [25761, 0, "h"], - [25762, 0, "e"], - [25763, 0, " "], - [25764, 0, "n"], - [25765, 0, "e"], - [25766, 0, "t"], - [25767, 0, "w"], - [25768, 0, "o"], - [25769, 0, "r"], - [25770, 0, "k"], - [25771, 0, " "], - [25772, 0, "b"], - [25773, 0, "e"], - [25774, 0, "t"], - [25775, 0, "w"], - [25776, 0, "e"], - [25777, 0, "e"], - [25778, 0, "n"], - [25779, 0, " "], - [25780, 0, "p"], - [25781, 0, "e"], - [25782, 0, "e"], - [25783, 0, "r"], - [25784, 0, "s"], - [25785, 0, ":"], - [25786, 0, " "], - [25787, 0, "a"], - [25788, 0, " "], - [25789, 0, ","], - [25790, 0, "e"], - [25791, 0, "s"], - [25792, 0, "s"], - [25793, 0, "a"], - [25794, 0, "g"], - [25789, 1], - [25789, 0, "m"], - [25795, 0, "e"], - [25796, 0, " "], - [25797, 0, "s"], - [25798, 0, "e"], - [25799, 0, "n"], - [25800, 0, "t"], - [25801, 0, " "], - [25802, 0, "b"], - [25803, 0, "y"], - [25804, 0, " "], - [25805, 0, "o"], - [25806, 0, "n"], - [25807, 0, "e"], - [25808, 0, " "], - [25809, 0, "p"], - [25810, 0, "e"], - [25811, 0, "e"], - [25812, 0, "r"], - [25813, 0, " "], - [25814, 0, "a"], - [25815, 0, "r"], - [25816, 0, "r"], - [25817, 0, "i"], - [25818, 0, "v"], - [25819, 0, "e"], - [25820, 0, "s"], - [25821, 0, " "], - [25822, 0, "a"], - [25823, 0, "t"], - [25824, 0, " "], - [25825, 0, "a"], - [25826, 0, "n"], - [25827, 0, "o"], - [25828, 0, "t"], - [25829, 0, "h"], - [25830, 0, "e"], - [25831, 0, "r"], - [25832, 0, " "], - [25833, 0, "p"], - [25834, 0, "e"], - [25835, 0, "e"], - [25836, 0, "r"], - [25837, 0, " "], - [25838, 0, "s"], - [25839, 0, "o"], - [25840, 0, "m"], - [25841, 0, "e"], - [25842, 0, " "], - [25842, 1], - [25841, 1], - [25840, 1], - [25839, 1], - [25838, 1], - [25838, 0, "s"], - [25839, 0, "o"], - [25840, 0, "m"], - [25841, 0, "e"], - [25842, 0, " "], - [25842, 1], - [25841, 1], - [25840, 1], - [25839, 1], - [25838, 1], - [25838, 0, "a"], - [25839, 0, "t"], - [25840, 0, " "], - [25841, 0, "s"], - [25842, 0, "o"], - [25843, 0, "m"], - [25844, 0, "e"], - [25845, 0, " "], - [25846, 0, "a"], - [25847, 0, "r"], - [25848, 0, "b"], - [25849, 0, "i"], - [25850, 0, "t"], - [25851, 0, "r"], - [25852, 0, "a"], - [25853, 0, "r"], - [25854, 0, "i"], - [25855, 0, "l"], - [25856, 0, "y"], - [25857, 0, " "], - [25858, 0, "l"], - [25859, 0, "a"], - [25860, 0, "t"], - [25861, 0, "e"], - [25862, 0, "r"], - [25863, 0, " "], - [25864, 0, "p"], - [25865, 0, "o"], - [25866, 0, "i"], - [25867, 0, "n"], - [25868, 0, "t"], - [25869, 0, " "], - [25870, 0, "i"], - [25871, 0, "n"], - [25872, 0, " "], - [25873, 0, "t"], - [25874, 0, "i"], - [25875, 0, "m"], - [25876, 0, "e"], - [25877, 0, "."], - [25877, 0, ","], - [25878, 0, " "], - [25879, 0, "a"], - [25880, 0, "n"], - [25881, 0, "d"], - [25882, 0, " "], - [25883, 0, "t"], - [25884, 0, "h"], - [25885, 0, "e"], - [25886, 0, "r"], - [25887, 0, "e"], - [25888, 0, " "], - [25889, 0, "i"], - [25890, 0, "s"], - [25891, 0, " "], - [25892, 0, "n"], - [25893, 0, "o"], - [25894, 0, " "], - [25895, 0, "o"], - [25896, 0, "r"], - [25897, 0, "d"], - [25898, 0, "e"], - [25899, 0, "r"], - [25900, 0, "i"], - [25901, 0, "n"], - [25902, 0, "g"], - [25903, 0, " "], - [25904, 0, "g"], - [25905, 0, "u"], - [25906, 0, "a"], - [25907, 0, "r"], - [25908, 0, "a"], - [25909, 0, "n"], - [25910, 0, "t"], - [25911, 0, "e"], - [25912, 0, "e"], - [25913, 0, " "], - [25914, 0, "i"], - [25915, 0, "n"], - [25916, 0, " "], - [25917, 0, "t"], - [25918, 0, "h"], - [25919, 0, "e"], - [25920, 0, " "], - [25921, 0, "n"], - [25922, 0, "e"], - [25923, 0, "t"], - [25924, 0, "w"], - [25925, 0, "o"], - [25926, 0, "r"], - [25927, 0, "k"], - [25895, 0, "m"], - [25896, 0, "e"], - [25897, 0, "s"], - [25898, 0, "a"], - [25899, 0, "g"], - [25900, 0, "e"], - [25901, 0, " "], - [25936, 0, "\n"], - [25937, 0, "\n"], - [25938, 0, "\\"], - [25939, 0, "t"], - [25940, 0, "e"], - [25941, 0, "x"], - [25942, 0, "t"], - [25943, 0, "s"], - [25944, 0, "c"], - [25945, 0, "{"], - [25946, 0, "S"], - [25947, 0, "e"], - [25948, 0, "n"], - [25949, 0, "d"], - [25950, 0, "}"], - [25951, 0, " "], - [25938, 0, "T"], - [25939, 0, "h"], - [25940, 0, "e"], - [25941, 0, " "], - [25956, 0, "r"], - [25957, 0, "u"], - [25958, 0, "l"], - [25959, 0, "e"], - [25960, 0, " "], - [25961, 0, "t"], - [25962, 0, "a"], - [25963, 0, "k"], - [25964, 0, "e"], - [25965, 0, "s"], - [25966, 0, " "], - [25967, 0, "a"], - [25968, 0, "n"], - [25969, 0, "y"], - [25970, 0, " "], - [25971, 0, "o"], - [25972, 0, "p"], - [25973, 0, "e"], - [25974, 0, "r"], - [25975, 0, "a"], - [25976, 0, "t"], - [25977, 0, "i"], - [25978, 0, "o"], - [25979, 0, "n"], - [25980, 0, "s"], - [25981, 0, " "], - [25982, 0, "t"], - [25983, 0, "h"], - [25984, 0, "a"], - [25985, 0, "t"], - [25986, 0, " "], - [25987, 0, "w"], - [25988, 0, "e"], - [25989, 0, "r"], - [25990, 0, "e"], - [25991, 0, " "], - [25992, 0, "p"], - [25993, 0, "l"], - [25994, 0, "a"], - [25995, 0, "c"], - [25996, 0, "e"], - [25997, 0, "d"], - [25998, 0, " "], - [25999, 0, "i"], - [26000, 0, "n"], - [26001, 0, " "], - [26002, 0, "t"], - [26003, 0, "h"], - [26003, 1], - [26002, 1], - [26001, 1], - [26001, 0, " "], - [26002, 0, "$"], - [26003, 0, "A"], - [26004, 0, "_"], - [26005, 0, "p"], - [26006, 0, "("], - [26007, 0, "\\"], - [26008, 0, "m"], - [26009, 0, "a"], - [26010, 0, "t"], - [26011, 0, "h"], - [26012, 0, "s"], - [26013, 0, "f"], - [26014, 0, "{"], - [26015, 0, "q"], - [26016, 0, "u"], - [26017, 0, "e"], - [26018, 0, "u"], - [26019, 0, "e"], - [26020, 0, "}"], - [26021, 0, ")"], - [26022, 0, "$"], - [26023, 0, " "], - [26024, 0, "b"], - [26025, 0, "y"], - [26026, 0, " "], - [26027, 0, "\\"], - [26028, 0, "t"], - [26029, 0, "e"], - [26030, 0, "x"], - [26031, 0, "t"], - [26032, 0, "s"], - [26033, 0, "c"], - [26034, 0, "{"], - [26035, 0, "A"], - [26036, 0, "p"], - [26037, 0, "p"], - [26038, 0, "l"], - [26039, 0, "y"], - [26040, 0, "-"], - [26041, 0, "L"], - [26042, 0, "o"], - [26043, 0, "c"], - [26044, 0, "a"], - [26045, 0, "l"], - [26046, 0, "}"], - [26047, 0, " "], - [26048, 0, "a"], - [26049, 0, "n"], - [26050, 0, "d"], - [26051, 0, " "], - [26052, 0, "a"], - [26053, 0, "d"], - [26054, 0, "d"], - [26055, 0, "s"], - [26056, 0, " "], - [26057, 0, "t"], - [26058, 0, "h"], - [26059, 0, "e"], - [26060, 0, "m"], - [26061, 0, " "], - [26062, 0, "t"], - [26063, 0, "o"], - [26064, 0, " "], - [26065, 0, "a"], - [26066, 0, " "], - [26067, 0, "s"], - [26068, 0, "e"], - [26069, 0, "n"], - [26070, 0, "d"], - [26071, 0, " "], - [26072, 0, "b"], - [26073, 0, "u"], - [26074, 0, "f"], - [26075, 0, "f"], - [26076, 0, "e"], - [26077, 0, "r"], - [26078, 0, " "], - [26079, 0, "$"], - [26080, 0, "A"], - [26081, 0, "_"], - [26082, 0, "p"], - [26083, 0, "("], - [26084, 0, "\\"], - [26085, 0, "m"], - [26086, 0, "a"], - [26087, 0, "t"], - [26088, 0, "h"], - [26089, 0, "s"], - [26090, 0, "f"], - [26091, 0, "{"], - [26092, 0, "s"], - [26093, 0, "e"], - [26094, 0, "n"], - [26095, 0, "d"], - [26096, 0, "}"], - [26097, 0, ")"], - [26098, 0, "$"], - [26099, 0, "."], - [26100, 0, " "], - [26101, 0, "C"], - [26102, 0, "o"], - [26103, 0, "r"], - [26104, 0, "r"], - [26105, 0, "e"], - [26106, 0, "s"], - [26107, 0, "p"], - [26108, 0, "o"], - [26109, 0, "n"], - [26110, 0, "d"], - [26111, 0, "i"], - [26112, 0, "n"], - [26113, 0, "g"], - [26114, 0, "l"], - [26115, 0, "y"], - [26116, 0, ","], - [26117, 0, " "], - [26118, 0, "t"], - [26119, 0, "h"], - [26120, 0, "e"], - [26121, 0, " "], - [26122, 0, "\\"], - [26123, 0, "t"], - [26124, 0, "e"], - [26125, 0, "x"], - [26126, 0, "t"], - [26127, 0, "s"], - [26128, 0, "c"], - [26129, 0, "{"], - [26130, 0, "R"], - [26131, 0, "e"], - [26132, 0, "c"], - [26133, 0, "v"], - [26134, 0, "}"], - [26135, 0, " "], - [26136, 0, "r"], - [26137, 0, "u"], - [26138, 0, "l"], - [26139, 0, "e"], - [26140, 0, " "], - [26141, 0, "t"], - [26142, 0, "a"], - [26143, 0, "k"], - [26144, 0, "e"], - [26145, 0, "s"], - [26146, 0, " "], - [26147, 0, "o"], - [26148, 0, "p"], - [26149, 0, "e"], - [26150, 0, "r"], - [26151, 0, "a"], - [26152, 0, "t"], - [26153, 0, "i"], - [26154, 0, "o"], - [26155, 0, "n"], - [26156, 0, "s"], - [26157, 0, " "], - [26158, 0, "i"], - [26159, 0, "n"], - [26160, 0, " "], - [26161, 0, "t"], - [26162, 0, "h"], - [26163, 0, "e"], - [26164, 0, " "], - [26165, 0, "s"], - [26166, 0, "e"], - [26167, 0, "n"], - [26168, 0, "d"], - [26169, 0, " "], - [26170, 0, "b"], - [26171, 0, "u"], - [26172, 0, "f"], - [26173, 0, "f"], - [26174, 0, "e"], - [26175, 0, "r"], - [26176, 0, " "], - [26177, 0, "o"], - [26178, 0, "f"], - [26179, 0, " "], - [26180, 0, "p"], - [26181, 0, "e"], - [26182, 0, "e"], - [26183, 0, "r"], - [26184, 0, " "], - [26185, 0, "$"], - [26186, 0, "q"], - [26187, 0, "$"], - [26188, 0, " "], - [26189, 0, "a"], - [26190, 0, "n"], - [26191, 0, "d"], - [26192, 0, " "], - [26193, 0, "a"], - [26194, 0, "d"], - [26195, 0, "d"], - [26196, 0, "s"], - [26197, 0, " "], - [26198, 0, "t"], - [26199, 0, "h"], - [26200, 0, "e"], - [26201, 0, "m"], - [26202, 0, " "], - [26203, 0, "t"], - [26204, 0, "o"], - [26205, 0, " "], - [26206, 0, "t"], - [26207, 0, "h"], - [26208, 0, "e"], - [26209, 0, " "], - [26210, 0, "r"], - [26211, 0, "e"], - [26212, 0, "c"], - [26213, 0, "e"], - [26214, 0, "i"], - [26215, 0, "v"], - [26216, 0, "e"], - [26217, 0, " "], - [26218, 0, "b"], - [26219, 0, "u"], - [26220, 0, "f"], - [26221, 0, "f"], - [26222, 0, "e"], - [26223, 0, "r"], - [26224, 0, " "], - [26225, 0, "o"], - [26225, 1], - [26225, 0, "$"], - [26226, 0, "A"], - [26227, 0, "_"], - [26228, 0, "p"], - [26229, 0, "("], - [26230, 0, "\\"], - [26231, 0, "t"], - [26232, 0, "e"], - [26233, 0, "x"], - [26234, 0, "t"], - [26235, 0, "s"], - [26236, 0, "f"], - [26237, 0, "{"], - [26238, 0, "r"], - [26239, 0, "e"], - [26240, 0, "c"], - [26241, 0, "v"], - [26242, 0, "}"], - [26243, 0, ")"], - [26244, 0, "$"], - [26245, 0, " "], - [26246, 0, "o"], - [26247, 0, "f"], - [26248, 0, " "], - [26249, 0, "p"], - [26250, 0, "e"], - [26251, 0, "e"], - [26252, 0, "r"], - [26253, 0, " "], - [26254, 0, "$"], - [26255, 0, "p"], - [26256, 0, "$"], - [26257, 0, "."], - [26258, 0, " "], - [26259, 0, "T"], - [26260, 0, "h"], - [26261, 0, "i"], - [26262, 0, "s"], - [26263, 0, " "], - [26264, 0, "i"], - [26265, 0, "s"], - [26266, 0, " "], - [26267, 0, "t"], - [26268, 0, "h"], - [26269, 0, "e"], - [26270, 0, " "], - [26271, 0, "o"], - [26272, 0, "n"], - [26273, 0, "l"], - [26274, 0, "y"], - [26275, 0, " "], - [26276, 0, "r"], - [26277, 0, "u"], - [26278, 0, "l"], - [26279, 0, "e"], - [26280, 0, " "], - [26281, 0, "t"], - [26282, 0, "h"], - [26283, 0, "a"], - [26284, 0, "t"], - [26285, 0, " "], - [26286, 0, "i"], - [26287, 0, "n"], - [26288, 0, "v"], - [26289, 0, "o"], - [26290, 0, "l"], - [26291, 0, "v"], - [26292, 0, "e"], - [26293, 0, "s"], - [26294, 0, " "], - [26295, 0, "m"], - [26296, 0, "o"], - [26297, 0, "r"], - [26298, 0, "e"], - [26299, 0, " "], - [26300, 0, "t"], - [26301, 0, "h"], - [26302, 0, "a"], - [26303, 0, "n"], - [26304, 0, " "], - [26305, 0, "o"], - [26306, 0, "n"], - [26307, 0, "e"], - [26308, 0, " "], - [26309, 0, "p"], - [26310, 0, "e"], - [26311, 0, "e"], - [26312, 0, "r"], - [26313, 0, ","], - [26314, 0, " "], - [26315, 0, "a"], - [26316, 0, "n"], - [26317, 0, "d"], - [26318, 0, " "], - [26319, 0, "i"], - [26320, 0, "t"], - [26321, 0, " "], - [26322, 0, "m"], - [26323, 0, "o"], - [26324, 0, "d"], - [26325, 0, "e"], - [26326, 0, "l"], - [26327, 0, "s"], - [26328, 0, " "], - [26329, 0, "a"], - [26330, 0, "l"], - [26331, 0, "l"], - [26332, 0, " "], - [26333, 0, "n"], - [26334, 0, "e"], - [26335, 0, "t"], - [26336, 0, "w"], - [26337, 0, "o"], - [26338, 0, "r"], - [26339, 0, "k"], - [26340, 0, " "], - [26341, 0, "c"], - [26342, 0, "o"], - [26343, 0, "m"], - [26344, 0, "m"], - [26345, 0, "u"], - [26346, 0, "n"], - [26347, 0, "i"], - [26348, 0, "c"], - [26349, 0, "a"], - [26350, 0, "t"], - [26351, 0, "i"], - [26352, 0, "o"], - [26353, 0, "n"], - [26354, 0, "."], - [26355, 0, "\n"], - [26356, 0, "\n"], - [26357, 0, "O"], - [26358, 0, "n"], - [26359, 0, "c"], - [26360, 0, "e"], - [26361, 0, " "], - [26362, 0, "a"], - [26363, 0, "n"], - [26364, 0, " "], - [26365, 0, "o"], - [26366, 0, "p"], - [26367, 0, "e"], - [26368, 0, "r"], - [26369, 0, "a"], - [26370, 0, "t"], - [26371, 0, "i"], - [26372, 0, "o"], - [26373, 0, "n"], - [26374, 0, " "], - [26375, 0, "h"], - [26375, 1], - [26375, 0, "a"], - [26376, 0, "p"], - [26377, 0, "p"], - [26378, 0, "e"], - [26379, 0, "a"], - [26380, 0, "r"], - [26381, 0, "s"], - [26382, 0, " "], - [26383, 0, "i"], - [26384, 0, "n"], - [26385, 0, " "], - [26386, 0, "t"], - [26387, 0, "h"], - [26388, 0, "e"], - [26389, 0, " "], - [26390, 0, "r"], - [26391, 0, "e"], - [26392, 0, "c"], - [26393, 0, "e"], - [26394, 0, "i"], - [26395, 0, "v"], - [26396, 0, "e"], - [26397, 0, " "], - [26398, 0, "b"], - [26399, 0, "u"], - [26400, 0, "f"], - [26401, 0, "f"], - [26402, 0, "e"], - [26403, 0, "r"], - [26404, 0, " "], - [26405, 0, "$"], - [26406, 0, "A"], - [26407, 0, "_"], - [26408, 0, "p"], - [26409, 0, "("], - [26410, 0, "\\"], - [26411, 0, "t"], - [26412, 0, "e"], - [26413, 0, "x"], - [26414, 0, "t"], - [26415, 0, "s"], - [26416, 0, "f"], - [26234, 1], - [26233, 1], - [26232, 1], - [26231, 1], - [26231, 0, "m"], - [26232, 0, "a"], - [26233, 0, "t"], - [26234, 0, "h"], - [26414, 1], - [26413, 1], - [26412, 1], - [26411, 1], - [26411, 0, "m"], - [26412, 0, "a"], - [26413, 0, "t"], - [26414, 0, "h"], - [26415, 0, "s"], - [26415, 1], - [26417, 0, "{"], - [26418, 0, "r"], - [26419, 0, "e"], - [26420, 0, "c"], - [26421, 0, "v"], - [26422, 0, "}"], - [26423, 0, ")"], - [26424, 0, "$"], - [26425, 0, ","], - [26426, 0, " "], - [26427, 0, "t"], - [26428, 0, "h"], - [26429, 0, "e"], - [26430, 0, " "], - [26431, 0, "r"], - [26432, 0, "u"], - [26433, 0, "l"], - [26434, 0, "e"], - [26435, 0, " "], - [26436, 0, "\\"], - [26437, 0, "t"], - [26438, 0, "e"], - [26439, 0, "x"], - [26440, 0, "t"], - [26441, 0, "s"], - [26442, 0, "c"], - [26443, 0, "{"], - [26444, 0, "A"], - [26445, 0, "p"], - [26446, 0, "p"], - [26447, 0, "l"], - [26448, 0, "y"], - [26449, 0, "-"], - [26450, 0, "R"], - [26451, 0, "e"], - [26452, 0, "m"], - [26453, 0, "o"], - [26454, 0, "t"], - [26455, 0, "e"], - [26456, 0, "}"], - [26457, 0, " "], - [26458, 0, "m"], - [26459, 0, "a"], - [26460, 0, "y"], - [26461, 0, " "], - [26462, 0, "a"], - [26463, 0, "p"], - [26464, 0, "p"], - [26465, 0, "l"], - [26466, 0, "y"], - [26467, 0, "."], - [26468, 0, " "], - [26469, 0, "U"], - [26470, 0, "n"], - [26471, 0, "d"], - [26472, 0, "e"], - [26473, 0, "r"], - [26474, 0, " "], - [26475, 0, "t"], - [26476, 0, "h"], - [26477, 0, "e"], - [26478, 0, " "], - [26479, 0, "p"], - [26480, 0, "r"], - [26481, 0, "e"], - [26482, 0, "c"], - [26483, 0, "o"], - [26484, 0, "n"], - [26485, 0, "d"], - [26486, 0, "i"], - [26487, 0, "t"], - [26488, 0, "i"], - [26489, 0, "o"], - [26490, 0, "n"], - [26491, 0, " "], - [26492, 0, "t"], - [26493, 0, "h"], - [26494, 0, "a"], - [26495, 0, "t"], - [26496, 0, " "], - [26497, 0, "t"], - [26498, 0, "h"], - [26499, 0, "e"], - [26500, 0, " "], - [26501, 0, "o"], - [26502, 0, "p"], - [26503, 0, "e"], - [26504, 0, "r"], - [26505, 0, "a"], - [26506, 0, "t"], - [26507, 0, "i"], - [26508, 0, "o"], - [26509, 0, "n"], - [26510, 0, " "], - [26511, 0, "h"], - [26512, 0, "a"], - [26513, 0, "s"], - [26514, 0, " "], - [26515, 0, "n"], - [26516, 0, "o"], - [26517, 0, "t"], - [26518, 0, " "], - [26519, 0, "a"], - [26520, 0, "l"], - [26521, 0, "r"], - [26522, 0, "e"], - [26523, 0, "a"], - [26524, 0, "d"], - [26525, 0, "y"], - [26526, 0, " "], - [26527, 0, "b"], - [26528, 0, "e"], - [26529, 0, "e"], - [26530, 0, "n"], - [26531, 0, " "], - [26532, 0, "p"], - [26533, 0, "r"], - [26534, 0, "o"], - [26535, 0, "c"], - [26536, 0, "e"], - [26537, 0, "s"], - [26538, 0, "s"], - [26539, 0, "e"], - [26540, 0, "d"], - [26491, 0, "s"], - [26542, 0, " "], - [26543, 0, "a"], - [26544, 0, "n"], - [26545, 0, "d"], - [26546, 0, " "], - [26547, 0, "t"], - [26548, 0, "h"], - [26549, 0, "a"], - [26550, 0, "t"], - [26551, 0, " "], - [26552, 0, "i"], - [26553, 0, "t"], - [26554, 0, "s"], - [26555, 0, " "], - [26556, 0, "c"], - [26557, 0, "a"], - [26558, 0, "u"], - [26559, 0, "s"], - [26560, 0, "a"], - [26561, 0, "l"], - [26562, 0, " "], - [26563, 0, "d"], - [26564, 0, "e"], - [26565, 0, "p"], - [26566, 0, "e"], - [26567, 0, "n"], - [26568, 0, "d"], - [26569, 0, "e"], - [26570, 0, "n"], - [26571, 0, "c"], - [26572, 0, "i"], - [26573, 0, "e"], - [26574, 0, "s"], - [26575, 0, " "], - [26576, 0, "h"], - [26577, 0, "a"], - [26578, 0, "v"], - [26578, 1], - [26577, 1], - [26576, 1], - [26576, 0, "a"], - [26577, 0, "r"], - [26578, 0, "e"], - [26579, 0, " "], - [26580, 0, "s"], - [26581, 0, "a"], - [26582, 0, "t"], - [26583, 0, "i"], - [26584, 0, "s"], - [26585, 0, "i"], - [26586, 0, "f"], - [26587, 0, "i"], - [26588, 0, "e"], - [26589, 0, "d"], - [26590, 0, ","], - [26591, 0, " "], - [26592, 0, "\\"], - [26593, 0, "t"], - [26594, 0, "e"], - [26595, 0, "x"], - [26596, 0, "t"], - [26597, 0, "s"], - [26598, 0, "c"], - [26599, 0, "{"], - [26600, 0, "A"], - [26601, 0, "p"], - [26602, 0, "p"], - [26603, 0, "l"], - [26604, 0, "y"], - [26605, 0, "-"], - [26606, 0, "R"], - [26607, 0, "e"], - [26608, 0, "m"], - [26609, 0, "o"], - [26610, 0, "t"], - [26611, 0, "e"], - [26612, 0, "}"], - [26613, 0, " "], - [26614, 0, "e"], - [26615, 0, "v"], - [26616, 0, "a"], - [26617, 0, "l"], - [26618, 0, "u"], - [26619, 0, "a"], - [26620, 0, "t"], - [26621, 0, "e"], - [26622, 0, "s"], - [26623, 0, " "], - [26624, 0, "t"], - [26625, 0, "h"], - [26626, 0, "e"], - [26627, 0, " "], - [26628, 0, "o"], - [26629, 0, "p"], - [26630, 0, "e"], - [26631, 0, "r"], - [26632, 0, "a"], - [26633, 0, "t"], - [26634, 0, "i"], - [26635, 0, "o"], - [26636, 0, "n"], - [26637, 0, " "], - [26638, 0, "i"], - [26639, 0, "n"], - [26640, 0, " "], - [26641, 0, "t"], - [26642, 0, "h"], - [26643, 0, "e"], - [26644, 0, " "], - [26645, 0, "s"], - [26646, 0, "a"], - [26647, 0, "m"], - [26648, 0, "e"], - [26649, 0, " "], - [26650, 0, "s"], - [26650, 1], - [26650, 0, "w"], - [26651, 0, "a"], - [26652, 0, "y"], - [26653, 0, " "], - [26654, 0, "a"], - [26655, 0, "s"], - [26656, 0, " "], - [26657, 0, "\\"], - [26658, 0, "t"], - [26659, 0, "e"], - [26660, 0, "x"], - [26661, 0, "t"], - [26662, 0, "s"], - [26663, 0, "c"], - [26664, 0, "{"], - [26665, 0, "A"], - [26666, 0, "p"], - [26667, 0, "p"], - [26668, 0, "l"], - [26669, 0, "y"], - [26670, 0, "-"], - [26671, 0, "L"], - [26672, 0, "o"], - [26673, 0, "c"], - [26674, 0, "a"], - [26675, 0, "l"], - [26676, 0, "}"], - [26677, 0, ","], - [26678, 0, " "], - [26679, 0, "a"], - [26680, 0, "n"], - [26681, 0, "d"], - [26682, 0, " "], - [26683, 0, "a"], - [26684, 0, "d"], - [26685, 0, "d"], - [26686, 0, "s"], - [26687, 0, " "], - [26688, 0, "t"], - [26689, 0, "h"], - [26690, 0, "e"], - [26691, 0, " "], - [26692, 0, "o"], - [26693, 0, "p"], - [26694, 0, "e"], - [26695, 0, "r"], - [26696, 0, "a"], - [26697, 0, "t"], - [26698, 0, "i"], - [26699, 0, "o"], - [26700, 0, "n"], - [26701, 0, " "], - [26702, 0, "I"], - [26703, 0, "D"], - [26704, 0, " "], - [26705, 0, "t"], - [26706, 0, "o"], - [26707, 0, " "], - [26708, 0, "t"], - [26709, 0, "h"], - [26710, 0, "e"], - [26711, 0, " "], - [26712, 0, "s"], - [26713, 0, "e"], - [26714, 0, "t"], - [26715, 0, " "], - [26716, 0, "o"], - [26717, 0, "f"], - [26718, 0, " "], - [26719, 0, "p"], - [26720, 0, "r"], - [26721, 0, "o"], - [26722, 0, "c"], - [26723, 0, "e"], - [26724, 0, "s"], - [26725, 0, "s"], - [26726, 0, "e"], - [26727, 0, "d"], - [26728, 0, " "], - [26729, 0, "o"], - [26730, 0, "p"], - [26731, 0, "e"], - [26732, 0, "r"], - [26733, 0, "a"], - [26734, 0, "t"], - [26735, 0, "i"], - [26736, 0, "o"], - [26737, 0, "n"], - [26738, 0, "s"], - [26739, 0, " "], - [26740, 0, "$"], - [26741, 0, "A"], - [26742, 0, "_"], - [26743, 0, "p"], - [26744, 0, "("], - [26745, 0, "\\"], - [26746, 0, "m"], - [26747, 0, "a"], - [26748, 0, "t"], - [26749, 0, "h"], - [26750, 0, "s"], - [26751, 0, "f"], - [26752, 0, "{"], - [26753, 0, "o"], - [26754, 0, "p"], - [26755, 0, "s"], - [26756, 0, "}"], - [26757, 0, ")"], - [26758, 0, "$"], - [26759, 0, "."], - [26760, 0, "\n"], - [26761, 0, "\n"], - [26762, 0, "T"], - [26763, 0, "h"], - [26764, 0, "e"], - [26765, 0, " "], - [26766, 0, "a"], - [26767, 0, "c"], - [26768, 0, "t"], - [26769, 0, "u"], - [26770, 0, "a"], - [26771, 0, "l"], - [26772, 0, " "], - [26773, 0, "d"], - [26774, 0, "o"], - [26775, 0, "c"], - [26776, 0, "u"], - [26777, 0, "m"], - [26778, 0, "e"], - [26779, 0, "n"], - [26780, 0, "t"], - [26781, 0, " "], - [26782, 0, "m"], - [26783, 0, "o"], - [26784, 0, "d"], - [26785, 0, "i"], - [26786, 0, "f"], - [26787, 0, "i"], - [26788, 0, "c"], - [26789, 0, "a"], - [26790, 0, "t"], - [26791, 0, "i"], - [26792, 0, "o"], - [26793, 0, "n"], - [26794, 0, "s"], - [26795, 0, " "], - [26796, 0, "a"], - [26797, 0, "r"], - [26798, 0, "e"], - [26799, 0, " "], - [26800, 0, "p"], - [26801, 0, "e"], - [26802, 0, "r"], - [26803, 0, "f"], - [26804, 0, "o"], - [26805, 0, "r"], - [26806, 0, "m"], - [26807, 0, "e"], - [26808, 0, "d"], - [26809, 0, " "], - [26810, 0, "b"], - [26811, 0, "y"], - [26812, 0, " "], - [26813, 0, "e"], - [26814, 0, "v"], - [26815, 0, "a"], - [26816, 0, "l"], - [26817, 0, "u"], - [26818, 0, "a"], - [26819, 0, "t"], - [26820, 0, "i"], - [26821, 0, "o"], - [26822, 0, "n"], - [26823, 0, "g"], - [26823, 1], - [26822, 1], - [26821, 1], - [26821, 0, "n"], - [26822, 0, "g"], - [26823, 0, " "], - [26824, 0, "t"], - [26825, 0, "h"], - [26826, 0, "e"], - [26827, 0, " "], - [26828, 0, "o"], - [26829, 0, "p"], - [26830, 0, "e"], - [26831, 0, "r"], - [26832, 0, "a"], - [26833, 0, "t"], - [26834, 0, "i"], - [26835, 0, "o"], - [26836, 0, "n"], - [26837, 0, "s"], - [26838, 0, ","], - [26839, 0, " "], - [26840, 0, "w"], - [26841, 0, "h"], - [26842, 0, "i"], - [26843, 0, "c"], - [26844, 0, "h"], - [26845, 0, " "], - [26846, 0, "w"], - [26847, 0, "e"], - [26848, 0, " "], - [26849, 0, "d"], - [26850, 0, "i"], - [26851, 0, "s"], - [26852, 0, "c"], - [26853, 0, "u"], - [26854, 0, "s"], - [26855, 0, "s"], - [26856, 0, " "], - [26857, 0, "i"], - [26858, 0, "n"], - [26859, 0, " "], - [26860, 0, "t"], - [26861, 0, "h"], - [26862, 0, "e"], - [26863, 0, " "], - [26864, 0, "n"], - [26865, 0, "e"], - [26866, 0, "t"], - [26867, 0, " "], - [26868, 0, "s"], - [26869, 0, "e"], - [26870, 0, "c"], - [26871, 0, "t"], - [26872, 0, "i"], - [26873, 0, "o"], - [26874, 0, "n"], - [26875, 0, "."], - [26866, 0, "x"], - [26877, 0, "\n"], - [26878, 0, "\n"], - [26879, 0, "\\"], - [26880, 0, "s"], - [26881, 0, "u"], - [26882, 0, "b"], - [26883, 0, "s"], - [26884, 0, "e"], - [26885, 0, "c"], - [26886, 0, "t"], - [26887, 0, "i"], - [26888, 0, "o"], - [26889, 0, "n"], - [26890, 0, "{"], - [26891, 0, "A"], - [26892, 0, "p"], - [26893, 0, "p"], - [26894, 0, "l"], - [26895, 0, "y"], - [26896, 0, "i"], - [26897, 0, "n"], - [26898, 0, "g"], - [26899, 0, " "], - [26900, 0, "o"], - [26901, 0, "p"], - [26902, 0, "e"], - [26903, 0, "r"], - [26904, 0, "a"], - [26905, 0, "t"], - [26906, 0, "i"], - [26907, 0, "o"], - [26908, 0, "n"], - [26909, 0, "s"], - [26910, 0, "}"], - [26911, 0, "%"], - [26912, 0, " "], - [26913, 0, "T"], - [26913, 1], - [26912, 1], - [26911, 1], - [26911, 0, "\n"], - [26912, 0, "\n"], - [26913, 0, "%"], - [26914, 0, " "], - [26915, 0, "T"], - [26916, 0, "O"], - [26917, 0, "D"], - [26918, 0, "O"], - [26919, 0, "\n"], - [26920, 0, "\n"], - [26921, 0, "\\"], - [26922, 0, "b"], - [26923, 0, "e"], - [26924, 0, "g"], - [26925, 0, "i"], - [26926, 0, "n"], - [26927, 0, "{"], - [26928, 0, "f"], - [26929, 0, "i"], - [26930, 0, "g"], - [26931, 0, "u"], - [26932, 0, "r"], - [26933, 0, "e"], - [26934, 0, "*"], - [26935, 0, "}"], - [26936, 0, "\n"], - [26937, 0, "\\"], - [26938, 0, "e"], - [26939, 0, "n"], - [26940, 0, "d"], - [26941, 0, "{"], - [26942, 0, "f"], - [26943, 0, "i"], - [26944, 0, "g"], - [26945, 0, "u"], - [26946, 0, "r"], - [26947, 0, "e"], - [26948, 0, "*"], - [26949, 0, "}"], - [26936, 0, "\n"], - [26937, 0, "\\"], - [26938, 0, "c"], - [26939, 0, "a"], - [26940, 0, "p"], - [26941, 0, "t"], - [26942, 0, "i"], - [26943, 0, "o"], - [26944, 0, "n"], - [26945, 0, "{"], - [26946, 0, "R"], - [26947, 0, "u"], - [26948, 0, "l"], - [26949, 0, "e"], - [26950, 0, "s"], - [26951, 0, " "], - [26952, 0, "f"], - [26953, 0, "o"], - [26954, 0, "r"], - [26955, 0, " "], - [26956, 0, "e"], - [26957, 0, "v"], - [26958, 0, "a"], - [26959, 0, "l"], - [26960, 0, "u"], - [26961, 0, "a"], - [26962, 0, "t"], - [26963, 0, "i"], - [26964, 0, "o"], - [26965, 0, "n"], - [26966, 0, "g"], - [26967, 0, " "], - [26967, 1], - [26966, 1], - [26965, 1], - [26964, 1], - [26963, 1], - [26963, 0, "i"], - [26964, 0, "n"], - [26965, 0, "g"], - [26966, 0, " "], - [26967, 0, "o"], - [26968, 0, "p"], - [26969, 0, "e"], - [26970, 0, "r"], - [26971, 0, "a"], - [26972, 0, "t"], - [26973, 0, "i"], - [26974, 0, "o"], - [26975, 0, "n"], - [26976, 0, "s"], - [26977, 0, " "], - [26978, 0, "a"], - [26979, 0, "n"], - [26980, 0, "d"], - [26981, 0, " "], - [26982, 0, "m"], - [26983, 0, "o"], - [26984, 0, "d"], - [26985, 0, "i"], - [26986, 0, "f"], - [26987, 0, "y"], - [26988, 0, "i"], - [26989, 0, "n"], - [26990, 0, "g"], - [26991, 0, " "], - [26992, 0, "d"], - [26993, 0, "o"], - [26994, 0, "c"], - [26995, 0, "u"], - [26996, 0, "m"], - [26997, 0, "e"], - [26998, 0, "n"], - [26999, 0, "t"], - [27000, 0, " "], - [27001, 0, "s"], - [27002, 0, "t"], - [27003, 0, "a"], - [27004, 0, "t"], - [27005, 0, "e"], - [27006, 0, "}"], - [27007, 0, "\\"], - [27008, 0, "f"], - [27009, 0, "i"], - [27010, 0, "g"], - [27010, 1], - [27009, 1], - [27008, 1], - [27008, 0, "l"], - [27009, 0, "a"], - [27010, 0, "b"], - [27011, 0, "e"], - [27012, 0, "l"], - [27013, 0, "{"], - [27014, 0, "f"], - [27015, 0, "i"], - [27016, 0, "g"], - [27017, 0, ":"], - [27018, 0, "o"], - [27019, 0, "p"], - [27020, 0, "e"], - [27021, 0, "r"], - [27022, 0, "a"], - [27023, 0, "t"], - [27024, 0, "i"], - [27025, 0, "o"], - [27026, 0, "n"], - [27027, 0, "-"], - [27028, 0, "r"], - [27029, 0, "u"], - [27030, 0, "l"], - [27031, 0, "e"], - [27032, 0, "s"], - [27033, 0, "}"], - [26936, 0, "\n"], - [26937, 0, "\\"], - [26938, 0, "b"], - [26939, 0, "e"], - [26940, 0, "g"], - [26941, 0, "i"], - [26942, 0, "n"], - [26943, 0, "{"], - [26944, 0, "p"], - [26945, 0, "r"], - [26946, 0, "o"], - [26947, 0, "o"], - [26948, 0, "f"], - [26949, 0, "t"], - [26950, 0, "r"], - [26951, 0, "e"], - [26952, 0, "e"], - [26953, 0, "}"], - [26954, 0, "\n"], - [26955, 0, "\\"], - [26956, 0, "e"], - [26957, 0, "n"], - [26958, 0, "d"], - [26959, 0, "{"], - [26960, 0, "p"], - [26961, 0, "r"], - [26962, 0, "o"], - [26963, 0, "o"], - [26964, 0, "f"], - [26965, 0, "t"], - [26966, 0, "r"], - [26967, 0, "e"], - [26968, 0, "e"], - [26969, 0, "}"], - [26954, 0, "\n"], - [26955, 0, "\\"], - [26956, 0, "A"], - [26957, 0, "x"], - [26958, 0, "i"], - [26959, 0, "o"], - [26960, 0, "m"], - [26961, 0, "C"], - [26962, 0, "{"], - [26963, 0, "$"], - [26964, 0, "K"], - [26964, 1], - [26964, 0, "k"], - [26965, 0, "_"], - [26966, 0, "1"], - [26967, 0, " "], - [26968, 0, "\\"], - [26969, 0, "i"], - [26970, 0, "n"], - [26971, 0, " "], - [26972, 0, "\\"], - [26973, 0, "m"], - [26974, 0, "a"], - [26975, 0, "t"], - [26976, 0, "h"], - [26977, 0, "r"], - [26978, 0, "m"], - [26979, 0, "{"], - [26980, 0, "d"], - [26981, 0, "o"], - [26982, 0, "m"], - [26983, 0, "}"], - [26984, 0, "("], - [26985, 0, "\\"], - [26986, 0, "m"], - [26987, 0, "a"], - [26988, 0, "t"], - [26989, 0, "h"], - [26990, 0, "i"], - [26991, 0, "t"], - [26992, 0, "{"], - [26993, 0, "c"], - [26994, 0, "t"], - [26995, 0, "x"], - [26996, 0, "}"], - [26997, 0, ")"], - [26998, 0, "$"], - [26999, 0, "}"], - [27000, 0, "\n"], - [27001, 0, "\\"], - [27002, 0, "A"], - [27003, 0, "x"], - [27004, 0, "i"], - [27005, 0, "o"], - [27006, 0, "m"], - [27007, 0, "C"], - [27008, 0, "{"], - [27009, 0, "$"], - [27010, 0, "\\"], - [27011, 0, "m"], - [27012, 0, "a"], - [27013, 0, "t"], - [27014, 0, "h"], - [27015, 0, "i"], - [27016, 0, "t"], - [27017, 0, "{"], - [27018, 0, "c"], - [27019, 0, "t"], - [27020, 0, "x"], - [27021, 0, "}"], - [27022, 0, "("], - [27023, 0, "k"], - [27024, 0, "_"], - [27025, 0, "1"], - [27026, 0, ")"], - [27027, 0, ","], - [27028, 0, "\\"], - [27029, 0, ","], - [27030, 0, " "], - [27031, 0, "\\"], - [27032, 0, "m"], - [27033, 0, "a"], - [27034, 0, "t"], - [27035, 0, "h"], - [27036, 0, "s"], - [27037, 0, "f"], - [27038, 0, "{"], - [27039, 0, "o"], - [27040, 0, "p"], - [27041, 0, "}"], - [27042, 0, "("], - [27043, 0, "\\"], - [27044, 0, "m"], - [27045, 0, "a"], - [27046, 0, "t"], - [27047, 0, "h"], - [27048, 0, "i"], - [27049, 0, "t"], - [27050, 0, "{"], - [27051, 0, "i"], - [27052, 0, "d"], - [27053, 0, "}"], - [27054, 0, ","], - [27055, 0, " "], - [27056, 0, "\\"], - [27057, 0, "m"], - [27058, 0, "a"], - [27059, 0, "t"], - [27060, 0, "h"], - [27061, 0, "i"], - [27062, 0, "t"], - [27063, 0, "{"], - [27064, 0, "d"], - [27065, 0, "e"], - [27066, 0, "p"], - [27067, 0, "s"], - [27068, 0, "}"], - [27069, 0, ","], - [27070, 0, " "], - [27070, 1], - [27070, 0, "\n"], - [27071, 0, " "], - [27072, 0, " "], - [27073, 0, " "], - [27074, 0, " "], - [27075, 0, "\\"], - [27076, 0, "m"], - [27077, 0, "a"], - [27078, 0, "t"], - [27079, 0, "h"], - [27080, 0, "s"], - [27081, 0, "f"], - [27082, 0, "{"], - [27083, 0, "c"], - [27084, 0, "u"], - [27085, 0, "r"], - [27086, 0, "s"], - [27087, 0, "o"], - [27088, 0, "r"], - [27089, 0, "}"], - [27090, 0, "("], - [27091, 0, "\\"], - [27092, 0, "l"], - [27093, 0, "a"], - [27094, 0, "n"], - [27095, 0, "g"], - [27096, 0, "l"], - [27097, 0, "e"], - [27098, 0, " "], - [27099, 0, "k"], - [27100, 0, "_"], - [27101, 0, "2"], - [27102, 0, ","], - [27103, 0, " "], - [27104, 0, "\\"], - [27105, 0, "d"], - [27106, 0, "o"], - [27107, 0, "t"], - [27108, 0, "s"], - [27109, 0, ","], - [27110, 0, " "], - [27111, 0, "k"], - [27112, 0, "_"], - [27113, 0, "{"], - [27114, 0, "n"], - [27115, 0, "-"], - [27116, 0, "1"], - [27117, 0, "}"], - [27118, 0, " "], - [27119, 0, "\\"], - [27120, 0, "r"], - [27121, 0, "a"], - [27122, 0, "n"], - [27123, 0, "g"], - [27124, 0, "l"], - [27125, 0, "e"], - [27126, 0, ","], - [27127, 0, "\\"], - [27128, 0, ","], - [27129, 0, " "], - [27130, 0, "k"], - [27131, 0, "_"], - [27132, 0, "n"], - [27133, 0, ")"], - [27134, 0, ","], - [27135, 0, " "], - [27136, 0, "\\"], - [27137, 0, "m"], - [27138, 0, "a"], - [27139, 0, "t"], - [27140, 0, "h"], - [27141, 0, "i"], - [27142, 0, "t"], - [27143, 0, "{"], - [27144, 0, "m"], - [27145, 0, "u"], - [27146, 0, "t"], - [27147, 0, "}"], - [27148, 0, ")"], - [27149, 0, " "], - [27150, 0, "\\"], - [27151, 0, "e"], - [27152, 0, "v"], - [27153, 0, "a"], - [27154, 0, "l"], - [27155, 0, "t"], - [27156, 0, "o"], - [27157, 0, " "], - [27158, 0, "\\"], - [27159, 0, "m"], - [27160, 0, "a"], - [27161, 0, "t"], - [27162, 0, "h"], - [27163, 0, "i"], - [27164, 0, "t"], - [27165, 0, "{"], - [27166, 0, "s"], - [27167, 0, "t"], - [27168, 0, "a"], - [27169, 0, "t"], - [27170, 0, "e"], - [27171, 0, "}"], - [27172, 0, "$"], - [27173, 0, "}"], - [27174, 0, "\n"], - [27175, 0, "\\"], - [27176, 0, "L"], - [27177, 0, "e"], - [27178, 0, "f"], - [27179, 0, "t"], - [27180, 0, "L"], - [27181, 0, "a"], - [27182, 0, "b"], - [27183, 0, "e"], - [27184, 0, "l"], - [27185, 0, "{"], - [27186, 0, "\\"], - [27187, 0, "t"], - [27188, 0, "e"], - [27189, 0, "x"], - [27190, 0, "t"], - [27191, 0, "s"], - [27192, 0, "c"], - [27193, 0, "{"], - [27194, 0, "D"], - [27195, 0, "e"], - [27196, 0, "s"], - [27197, 0, "c"], - [27198, 0, "e"], - [27199, 0, "n"], - [27200, 0, "d"], - [27201, 0, "}"], - [27202, 0, "}"], - [27203, 0, "\n"], - [27204, 0, "\\"], - [27205, 0, "B"], - [27206, 0, "i"], - [27207, 0, "n"], - [27208, 0, "a"], - [27209, 0, "r"], - [27210, 0, "y"], - [27211, 0, "I"], - [27212, 0, "n"], - [27213, 0, "f"], - [27214, 0, "C"], - [27215, 0, "{"], - [27216, 0, "$"], - [27217, 0, "$"], - [27218, 0, "}"], - [27217, 0, "\\"], - [27218, 0, "m"], - [27219, 0, "a"], - [27220, 0, "t"], - [27221, 0, "h"], - [27222, 0, "i"], - [27223, 0, "t"], - [27224, 0, "{"], - [27225, 0, "c"], - [27226, 0, "t"], - [27227, 0, "x"], - [27228, 0, "}"], - [27229, 0, ","], - [27230, 0, "\\"], - [27231, 0, ","], - [27232, 0, " "], - [27233, 0, "\\"], - [27234, 0, "m"], - [27235, 0, "a"], - [27236, 0, "t"], - [27237, 0, "h"], - [27238, 0, "s"], - [27239, 0, "f"], - [27240, 0, "{"], - [27241, 0, "o"], - [27242, 0, "p"], - [27243, 0, "}"], - [27244, 0, "("], - [27245, 0, "\\"], - [27246, 0, "m"], - [27247, 0, "a"], - [27248, 0, "t"], - [27249, 0, "h"], - [27250, 0, "i"], - [27251, 0, "t"], - [27252, 0, "{"], - [27253, 0, "i"], - [27254, 0, "d"], - [27255, 0, "}"], - [27256, 0, ","], - [27257, 0, " "], - [27258, 0, "\\"], - [27259, 0, "m"], - [27260, 0, "a"], - [27261, 0, "t"], - [27262, 0, "h"], - [27263, 0, "i"], - [27264, 0, "t"], - [27265, 0, "{"], - [27266, 0, "d"], - [27267, 0, "e"], - [27268, 0, "p"], - [27269, 0, "s"], - [27270, 0, "}"], - [27271, 0, ","], - [27272, 0, "\n"], - [27273, 0, " "], - [27274, 0, " "], - [27275, 0, " "], - [27276, 0, " "], - [27277, 0, "\\"], - [27278, 0, "m"], - [27279, 0, "a"], - [27280, 0, "t"], - [27281, 0, "h"], - [27282, 0, "s"], - [27283, 0, "f"], - [27284, 0, "{"], - [27285, 0, "c"], - [27286, 0, "u"], - [27287, 0, "r"], - [27288, 0, "s"], - [27289, 0, "o"], - [27290, 0, "r"], - [27291, 0, "}"], - [27292, 0, "("], - [27293, 0, "\\"], - [27294, 0, "l"], - [27295, 0, "a"], - [27296, 0, "n"], - [27297, 0, "g"], - [27298, 0, "l"], - [27299, 0, "e"], - [27300, 0, " "], - [27301, 0, "k"], - [27302, 0, "_"], - [27303, 0, "1"], - [27304, 0, ","], - [27305, 0, " "], - [27306, 0, "k"], - [27307, 0, "_"], - [27308, 0, "2"], - [27309, 0, ","], - [27310, 0, " "], - [27311, 0, "\\"], - [27312, 0, "d"], - [27313, 0, "o"], - [27314, 0, "t"], - [27315, 0, "s"], - [27316, 0, ","], - [27317, 0, " "], - [27318, 0, "k"], - [27319, 0, "_"], - [27320, 0, "{"], - [27321, 0, "n"], - [27322, 0, "-"], - [27323, 0, "1"], - [27324, 0, "}"], - [27325, 0, " "], - [27326, 0, "\\"], - [27327, 0, "r"], - [27328, 0, "a"], - [27329, 0, "n"], - [27330, 0, "g"], - [27331, 0, "l"], - [27332, 0, "e"], - [27333, 0, ","], - [27334, 0, "\\"], - [27335, 0, ","], - [27336, 0, " "], - [27337, 0, "k"], - [27338, 0, "_"], - [27339, 0, "n"], - [27340, 0, ")"], - [27341, 0, ","], - [27342, 0, " "], - [27343, 0, "\\"], - [27344, 0, "m"], - [27345, 0, "a"], - [27346, 0, "t"], - [27347, 0, "h"], - [27348, 0, "i"], - [27349, 0, "t"], - [27350, 0, "{"], - [27351, 0, "m"], - [27352, 0, "u"], - [27353, 0, "t"], - [27354, 0, "}"], - [27355, 0, ")"], - [27356, 0, " "], - [27357, 0, "\\"], - [27358, 0, "e"], - [27359, 0, "v"], - [27360, 0, "a"], - [27361, 0, "l"], - [27362, 0, "t"], - [27363, 0, "o"], - [27364, 0, "\n"], - [27365, 0, " "], - [27366, 0, " "], - [27367, 0, " "], - [27368, 0, " "], - [27369, 0, "\\"], - [27370, 0, "m"], - [27371, 0, "a"], - [27372, 0, "t"], - [27373, 0, "h"], - [27374, 0, "i"], - [27375, 0, "t"], - [27376, 0, "{"], - [27377, 0, "c"], - [27378, 0, "t"], - [27379, 0, "x"], - [27380, 0, "}"], - [27381, 0, "["], - [27382, 0, "\\"], - [27383, 0, ","], - [27384, 0, " "], - [27385, 0, "k"], - [27386, 0, "_"], - [27387, 0, "1"], - [27388, 0, " "], - [27389, 0, "\\"], - [27390, 0, "m"], - [27391, 0, "a"], - [27392, 0, "p"], - [27393, 0, "s"], - [27394, 0, "t"], - [27395, 0, "o"], - [27396, 0, " "], - [27397, 0, "\\"], - [27398, 0, "m"], - [27399, 0, "a"], - [27400, 0, "t"], - [27401, 0, "h"], - [27402, 0, "i"], - [27403, 0, "t"], - [27404, 0, "{"], - [27405, 0, "s"], - [27406, 0, "t"], - [27407, 0, "a"], - [27408, 0, "t"], - [27409, 0, "e"], - [27410, 0, "}"], - [27411, 0, " "], - [27412, 0, "\\"], - [27413, 0, ","], - [27414, 0, "]"], - [27389, 0, ","], - [27389, 0, "\\"], - [27398, 0, "\\"], - [27399, 0, ","], - [27437, 0, "\n"], - [27438, 0, "\n"], - [27439, 0, "\\"], - [27440, 0, "b"], - [27441, 0, "e"], - [27442, 0, "g"], - [27443, 0, "i"], - [27444, 0, "n"], - [27445, 0, "{"], - [27446, 0, "p"], - [27447, 0, "r"], - [27448, 0, "o"], - [27449, 0, "o"], - [27450, 0, "f"], - [27451, 0, "t"], - [27452, 0, "r"], - [27453, 0, "e"], - [27454, 0, "e"], - [27455, 0, "}"], - [27456, 0, "\n"], - [27457, 0, "\\"], - [27458, 0, "e"], - [27459, 0, "n"], - [27460, 0, "d"], - [27461, 0, "{"], - [27462, 0, "p"], - [27463, 0, "r"], - [27464, 0, "o"], - [27465, 0, "o"], - [27466, 0, "f"], - [27467, 0, "t"], - [27468, 0, "r"], - [27469, 0, "e"], - [27470, 0, "e"], - [27471, 0, "}"], - [27456, 0, "\n"], - [27457, 0, "\\"], - [27458, 0, "A"], - [27459, 0, "x"], - [27460, 0, "i"], - [27461, 0, "o"], - [27462, 0, "m"], - [27463, 0, "C"], - [27464, 0, "{"], - [27465, 0, "$"], - [27466, 0, "k"], - [27467, 0, "_"], - [27468, 0, "1"], - [27469, 0, " "], - [27470, 0, "\\"], - [27471, 0, "n"], - [27472, 0, "o"], - [27473, 0, "t"], - [27474, 0, "i"], - [27475, 0, "n"], - [27476, 0, " "], - [27477, 0, "\\"], - [27478, 0, "m"], - [27479, 0, "a"], - [27480, 0, "t"], - [27481, 0, "h"], - [27482, 0, "r"], - [27483, 0, "m"], - [27484, 0, "{"], - [27485, 0, "d"], - [27486, 0, "o"], - [27487, 0, "m"], - [27488, 0, "}"], - [27489, 0, "("], - [27490, 0, "\\"], - [27491, 0, "m"], - [27492, 0, "a"], - [27493, 0, "t"], - [27494, 0, "h"], - [27495, 0, "i"], - [27496, 0, "t"], - [27497, 0, "{"], - [27498, 0, "c"], - [27499, 0, "t"], - [27500, 0, "x"], - [27501, 0, "}"], - [27502, 0, ")"], - [27503, 0, "$"], - [27504, 0, "}"], - [27505, 0, "\n"], - [27506, 0, "\\"], - [27507, 0, "A"], - [27508, 0, "x"], - [27509, 0, "i"], - [27510, 0, "o"], - [27511, 0, "m"], - [27512, 0, "C"], - [27513, 0, "{"], - [27514, 0, "$"], - [27515, 0, "k"], - [27516, 0, "_"], - [27517, 0, "1"], - [27518, 0, " "], - [27519, 0, "="], - [27520, 0, " "], - [27521, 0, "\\"], - [27522, 0, "m"], - [27523, 0, "a"], - [27524, 0, "t"], - [27525, 0, "h"], - [27526, 0, "s"], - [27527, 0, "f"], - [27528, 0, "{"], - [27529, 0, "m"], - [27530, 0, "a"], - [27531, 0, "p"], - [27532, 0, "T"], - [27533, 0, "}"], - [27534, 0, "("], - [27535, 0, "k"], - [27536, 0, "_"], - [27537, 0, "\\"], - [27538, 0, "m"], - [27539, 0, "a"], - [27540, 0, "t"], - [27541, 0, "h"], - [27542, 0, "i"], - [27543, 0, "t"], - [27544, 0, "{"], - [27545, 0, "n"], - [27546, 0, "e"], - [27547, 0, "w"], - [27548, 0, "}"], - [27549, 0, ")"], - [27550, 0, "$"], - [27551, 0, "}"], - [27552, 0, "\n"], - [27553, 0, "\\"], - [27554, 0, "L"], - [27555, 0, "e"], - [27556, 0, "f"], - [27556, 1], - [27555, 1], - [27554, 1], - [27554, 0, "A"], - [27555, 0, "x"], - [27556, 0, "i"], - [27557, 0, "o"], - [27558, 0, "m"], - [27559, 0, "C"], - [27560, 0, "{"], - [27561, 0, "$"], - [27562, 0, "\\"], - [27563, 0, "{"], - [27564, 0, "\\"], - [27565, 0, "}"], - [27566, 0, ","], - [27567, 0, "\\"], - [27568, 0, ","], - [27569, 0, " "], - [27570, 0, "\\"], - [27571, 0, "m"], - [27572, 0, "a"], - [27573, 0, "t"], - [27574, 0, "h"], - [27575, 0, "s"], - [27576, 0, "f"], - [27577, 0, "{"], - [27578, 0, "o"], - [27579, 0, "p"], - [27580, 0, "}"], - [27581, 0, "{"], - [27582, 0, "\\"], - [27583, 0, "m"], - [27584, 0, "a"], - [27585, 0, "t"], - [27586, 0, "h"], - [27587, 0, "i"], - [27588, 0, "t"], - [27589, 0, "{"], - [27590, 0, "i"], - [27591, 0, "d"], - [27592, 0, "}"], - [27593, 0, ","], - [27594, 0, " "], - [27595, 0, "\\"], - [27596, 0, "m"], - [27597, 0, "a"], - [27598, 0, "t"], - [27599, 0, "h"], - [27600, 0, "i"], - [27601, 0, "t"], - [27602, 0, "{"], - [27603, 0, "d"], - [27604, 0, "e"], - [27605, 0, "p"], - [27606, 0, "s"], - [27607, 0, "}"], - [27608, 0, ","], - [27609, 0, "\n"], - [27610, 0, " "], - [27611, 0, " "], - [27612, 0, " "], - [27613, 0, " "], - [27614, 0, "\\"], - [27615, 0, "m"], - [27616, 0, "a"], - [27617, 0, "t"], - [27618, 0, "h"], - [27619, 0, "s"], - [27620, 0, "f"], - [27621, 0, "{"], - [27622, 0, "c"], - [27623, 0, "u"], - [27624, 0, "r"], - [27625, 0, "s"], - [27626, 0, "o"], - [27627, 0, "r"], - [27628, 0, "}"], - [27629, 0, "("], - [27630, 0, "\\"], - [27631, 0, "l"], - [27632, 0, "a"], - [27633, 0, "n"], - [27634, 0, "g"], - [27635, 0, "l"], - [27636, 0, "e"], - [27637, 0, " "], - [27638, 0, "k"], - [27639, 0, "_"], - [27640, 0, "2"], - [27641, 0, ","], - [27642, 0, " "], - [27643, 0, "\\"], - [27644, 0, "d"], - [27645, 0, "o"], - [27646, 0, "t"], - [27647, 0, "s"], - [27648, 0, ","], - [27649, 0, " "], - [27650, 0, "k"], - [27651, 0, "_"], - [27652, 0, "{"], - [27653, 0, "n"], - [27654, 0, "-"], - [27655, 0, "1"], - [27656, 0, "}"], - [27657, 0, " "], - [27658, 0, "\\"], - [27659, 0, "r"], - [27660, 0, "a"], - [27661, 0, "n"], - [27662, 0, "g"], - [27663, 0, "l"], - [27664, 0, "e"], - [27665, 0, ","], - [27666, 0, "\\"], - [27667, 0, ","], - [27668, 0, " "], - [27669, 0, "k"], - [27670, 0, "_"], - [27671, 0, "n"], - [27672, 0, ")"], - [27673, 0, ","], - [27674, 0, " "], - [27675, 0, "\\"], - [27676, 0, "m"], - [27677, 0, "a"], - [27678, 0, "t"], - [27679, 0, "h"], - [27680, 0, "i"], - [27681, 0, "t"], - [27682, 0, "{"], - [27683, 0, "m"], - [27684, 0, "u"], - [27685, 0, "t"], - [27686, 0, "}"], - [27687, 0, ")"], - [27688, 0, " "], - [27689, 0, "\\"], - [27690, 0, "e"], - [27691, 0, "v"], - [27692, 0, "a"], - [27693, 0, "l"], - [27694, 0, "t"], - [27695, 0, "o"], - [27696, 0, " "], - [27697, 0, "\\"], - [27698, 0, "m"], - [27699, 0, "a"], - [27700, 0, "t"], - [27701, 0, "h"], - [27702, 0, "i"], - [27703, 0, "t"], - [27704, 0, "{"], - [27705, 0, "s"], - [27706, 0, "t"], - [27707, 0, "a"], - [27708, 0, "t"], - [27709, 0, "e"], - [27710, 0, "}"], - [27711, 0, "$"], - [27712, 0, "}"], - [27713, 0, "\n"], - [27714, 0, "\\"], - [27715, 0, "L"], - [27716, 0, "e"], - [27717, 0, "f"], - [27718, 0, "t"], - [27719, 0, "L"], - [27720, 0, "a"], - [27721, 0, "b"], - [27722, 0, "e"], - [27723, 0, "l"], - [27724, 0, "{"], - [27725, 0, "\\"], - [27726, 0, "t"], - [27727, 0, "e"], - [27728, 0, "x"], - [27729, 0, "t"], - [27730, 0, "s"], - [27731, 0, "c"], - [27732, 0, "{"], - [27733, 0, "D"], - [27734, 0, "e"], - [27735, 0, "f"], - [27736, 0, "-"], - [27737, 0, "M"], - [27738, 0, "a"], - [27739, 0, "p"], - [27740, 0, "}"], - [27741, 0, "}"], - [27742, 0, "\n"], - [27743, 0, "\\"], - [27744, 0, "T"], - [27745, 0, "r"], - [27746, 0, "i"], - [27747, 0, "n"], - [27748, 0, "a"], - [27749, 0, "r"], - [27750, 0, "y"], - [27751, 0, "I"], - [27752, 0, "n"], - [27753, 0, "f"], - [27754, 0, "C"], - [27755, 0, "{"], - [27756, 0, "$"], - [27757, 0, "\\"], - [27758, 0, "m"], - [27759, 0, "a"], - [27760, 0, "t"], - [27761, 0, "h"], - [27762, 0, "i"], - [27763, 0, "t"], - [27764, 0, "{"], - [27765, 0, "c"], - [27766, 0, "t"], - [27767, 0, "x"], - [27768, 0, "}"], - [27769, 0, ","], - [27770, 0, "\\"], - [27771, 0, ","], - [27772, 0, " "], - [27773, 0, "\\"], - [27774, 0, "m"], - [27775, 0, "a"], - [27776, 0, "t"], - [27777, 0, "h"], - [27778, 0, "i"], - [27778, 1], - [27778, 0, "s"], - [27779, 0, "f"], - [27780, 0, "{"], - [27781, 0, "o"], - [27782, 0, "p"], - [27783, 0, "}"], - [27784, 0, "("], - [27785, 0, "\\"], - [27786, 0, "m"], - [27787, 0, "a"], - [27788, 0, "t"], - [27789, 0, "h"], - [27790, 0, "i"], - [27791, 0, "t"], - [27792, 0, "{"], - [27793, 0, "i"], - [27794, 0, "d"], - [27795, 0, "}"], - [27796, 0, ","], - [27797, 0, " "], - [27798, 0, "\\"], - [27799, 0, "m"], - [27800, 0, "a"], - [27801, 0, "t"], - [27802, 0, "h"], - [27803, 0, "i"], - [27804, 0, "t"], - [27805, 0, "{"], - [27806, 0, "d"], - [27807, 0, "e"], - [27808, 0, "p"], - [27809, 0, "s"], - [27810, 0, "}"], - [27811, 0, ","], - [27812, 0, "\n"], - [27813, 0, " "], - [27814, 0, " "], - [27815, 0, "\\"], - [27816, 0, "m"], - [27817, 0, "a"], - [27818, 0, "t"], - [27819, 0, "h"], - [27820, 0, "s"], - [27821, 0, "f"], - [27813, 0, " "], - [27814, 0, " "], - [27824, 0, "{"], - [27825, 0, "c"], - [27826, 0, "u"], - [27827, 0, "r"], - [27828, 0, "s"], - [27829, 0, "o"], - [27830, 0, "r"], - [27831, 0, "}"], - [27832, 0, "("], - [27833, 0, "\\"], - [27834, 0, "l"], - [27835, 0, "a"], - [27836, 0, "n"], - [27837, 0, "g"], - [27838, 0, "l"], - [27839, 0, "e"], - [27840, 0, " "], - [27841, 0, "k"], - [27842, 0, "_"], - [27843, 0, "1"], - [27844, 0, ","], - [27845, 0, " "], - [27846, 0, "k"], - [27847, 0, "_"], - [27848, 0, "2"], - [27849, 0, ","], - [27850, 0, " "], - [27851, 0, "\\"], - [27852, 0, "d"], - [27853, 0, "o"], - [27854, 0, "t"], - [27855, 0, "s"], - [27856, 0, ","], - [27857, 0, " "], - [27858, 0, "k"], - [27859, 0, "_"], - [27860, 0, "{"], - [27861, 0, "n"], - [27862, 0, "-"], - [27863, 0, "1"], - [27864, 0, "}"], - [27865, 0, " "], - [27866, 0, "\\"], - [27867, 0, "r"], - [27868, 0, "a"], - [27869, 0, "n"], - [27870, 0, "g"], - [27871, 0, "l"], - [27872, 0, "e"], - [27873, 0, ","], - [27874, 0, "\\"], - [27875, 0, ","], - [27876, 0, " "], - [27877, 0, "k"], - [27878, 0, "_"], - [27879, 0, "n"], - [27880, 0, ")"], - [27881, 0, ","], - [27882, 0, " "], - [27883, 0, "\\"], - [27884, 0, "m"], - [27885, 0, "a"], - [27886, 0, "t"], - [27887, 0, "h"], - [27888, 0, "i"], - [27889, 0, "t"], - [27890, 0, "{"], - [27891, 0, "m"], - [27892, 0, "u"], - [27893, 0, "t"], - [27894, 0, "}"], - [27895, 0, ")"], - [27896, 0, " "], - [27897, 0, "\\"], - [27898, 0, "e"], - [27899, 0, "v"], - [27900, 0, "a"], - [27901, 0, "l"], - [27902, 0, "t"], - [27903, 0, "o"], - [27904, 0, "\n"], - [27905, 0, " "], - [27906, 0, " "], - [27907, 0, " "], - [27908, 0, " "], - [27909, 0, "\\"], - [27910, 0, "m"], - [27911, 0, "a"], - [27912, 0, "t"], - [27913, 0, "h"], - [27914, 0, "i"], - [27915, 0, "t"], - [27916, 0, "{"], - [27917, 0, "c"], - [27918, 0, "t"], - [27919, 0, "x"], - [27920, 0, "}"], - [27921, 0, "["], - [27922, 0, "\\"], - [27923, 0, ","], - [27924, 0, " "], - [27925, 0, "k"], - [27926, 0, "_"], - [27927, 0, "1"], - [27928, 0, " "], - [27929, 0, "\\"], - [27930, 0, ","], - [27931, 0, "\\"], - [27932, 0, "m"], - [27933, 0, "a"], - [27934, 0, "p"], - [27935, 0, "s"], - [27936, 0, "t"], - [27937, 0, "o"], - [27938, 0, " "], - [27938, 1], - [27938, 0, "\\"], - [27939, 0, ","], - [27940, 0, " "], - [27941, 0, "\\"], - [27942, 0, "m"], - [27943, 0, "a"], - [27944, 0, "t"], - [27945, 0, "h"], - [27946, 0, "i"], - [27947, 0, "t"], - [27948, 0, "{"], - [27949, 0, "s"], - [27950, 0, "t"], - [27951, 0, "a"], - [27952, 0, "t"], - [27953, 0, "e"], - [27954, 0, "}"], - [27955, 0, " "], - [27956, 0, "\\"], - [27957, 0, ","], - [27958, 0, "]"], - [27959, 0, "$"], - [27960, 0, "}"], - [27581, 1], - [27581, 0, "("], - [27977, 0, "\n"], - [27978, 0, "\n"], - [27979, 0, "\\"], - [27980, 0, "b"], - [27981, 0, "e"], - [27982, 0, "g"], - [27983, 0, "i"], - [27984, 0, "n"], - [27985, 0, "{"], - [27986, 0, "p"], - [27987, 0, "r"], - [27988, 0, "o"], - [27989, 0, "o"], - [27990, 0, "f"], - [27991, 0, "t"], - [27992, 0, "r"], - [27993, 0, "e"], - [27994, 0, "e"], - [27995, 0, "}"], - [27996, 0, "\n"], - [27997, 0, "\\"], - [27998, 0, "A"], - [27999, 0, "x"], - [28000, 0, "i"], - [28001, 0, "o"], - [28002, 0, "m"], - [28003, 0, "C"], - [28004, 0, "{"], - [28005, 0, "$"], - [28006, 0, "k"], - [28007, 0, "_"], - [28008, 0, "1"], - [28009, 0, " "], - [28010, 0, "\\"], - [28011, 0, "n"], - [28012, 0, "o"], - [28013, 0, "t"], - [28014, 0, "i"], - [28015, 0, "n"], - [28016, 0, " "], - [28017, 0, "\\"], - [28018, 0, "m"], - [28019, 0, "a"], - [28020, 0, "t"], - [28021, 0, "h"], - [28022, 0, "r"], - [28023, 0, "m"], - [28024, 0, "{"], - [28025, 0, "d"], - [28026, 0, "o"], - [28027, 0, "m"], - [28028, 0, "}"], - [28029, 0, "("], - [28030, 0, "\\"], - [28031, 0, "m"], - [28032, 0, "a"], - [28033, 0, "t"], - [28034, 0, "h"], - [28035, 0, "i"], - [28036, 0, "t"], - [28037, 0, "{"], - [28038, 0, "c"], - [28039, 0, "t"], - [28040, 0, "x"], - [28041, 0, "}"], - [28042, 0, ")"], - [28043, 0, "$"], - [28044, 0, "}"], - [28045, 0, "\n"], - [28046, 0, "\\"], - [28047, 0, "A"], - [28048, 0, "x"], - [28049, 0, "i"], - [28050, 0, "o"], - [28051, 0, "m"], - [28052, 0, "C"], - [28053, 0, "{"], - [28054, 0, "$"], - [28055, 0, "k"], - [28056, 0, "_"], - [28057, 0, "1"], - [28058, 0, " "], - [28059, 0, "="], - [28060, 0, " "], - [28061, 0, "\\"], - [28062, 0, "m"], - [28063, 0, "a"], - [28064, 0, "t"], - [28065, 0, "h"], - [28066, 0, "s"], - [28067, 0, "f"], - [28068, 0, "{"], - [28069, 0, "l"], - [28070, 0, "i"], - [28071, 0, "s"], - [28072, 0, "t"], - [28073, 0, "T"], - [28074, 0, "}"], - [28075, 0, "("], - [28076, 0, "k"], - [28077, 0, "_"], - [28078, 0, "\\"], - [28079, 0, "m"], - [28080, 0, "a"], - [28081, 0, "t"], - [28082, 0, "h"], - [28083, 0, "i"], - [28084, 0, "t"], - [28085, 0, "{"], - [28086, 0, "n"], - [28087, 0, "e"], - [28088, 0, "w"], - [28089, 0, "}"], - [28090, 0, ")"], - [28091, 0, "$"], - [28092, 0, "}"], - [28093, 0, "\n"], - [28094, 0, "\\"], - [28095, 0, "A"], - [28096, 0, "x"], - [28097, 0, "i"], - [28098, 0, "o"], - [28099, 0, "m"], - [28100, 0, "C"], - [28101, 0, "{"], - [28102, 0, "$"], - [28103, 0, "\\"], - [28104, 0, "{"], - [28105, 0, " "], - [28106, 0, "\\"], - [28107, 0, "m"], - [28108, 0, "a"], - [28108, 1], - [28107, 1], - [28106, 1], - [28105, 1], - [28105, 0, "\\"], - [28106, 0, "m"], - [28107, 0, "a"], - [28108, 0, "t"], - [28109, 0, "h"], - [28110, 0, "s"], - [28111, 0, "f"], - [28112, 0, "{"], - [28113, 0, "n"], - [28114, 0, "e"], - [28115, 0, "x"], - [28116, 0, "t"], - [28117, 0, "}"], - [28118, 0, "("], - [28119, 0, "\\"], - [28120, 0, "m"], - [28121, 0, "a"], - [28122, 0, "t"], - [28123, 0, "h"], - [28124, 0, "s"], - [28125, 0, "f"], - [28126, 0, "{"], - [28127, 0, "h"], - [28128, 0, "e"], - [28129, 0, "a"], - [28130, 0, "d"], - [28131, 0, "}"], - [28132, 0, ")"], - [28133, 0, " "], - [28134, 0, "\\"], - [28135, 0, "m"], - [28136, 0, "a"], - [28137, 0, "p"], - [28138, 0, "s"], - [28139, 0, "t"], - [28140, 0, "o"], - [28141, 0, " "], - [28142, 0, "\\"], - [28143, 0, "m"], - [28144, 0, "a"], - [28145, 0, "t"], - [28146, 0, "h"], - [28147, 0, "s"], - [28148, 0, "f"], - [28149, 0, "{"], - [28150, 0, "t"], - [28151, 0, "a"], - [28152, 0, "i"], - [28153, 0, "l"], - [28154, 0, "}"], - [28155, 0, "\\"], - [28156, 0, "}"], - [28157, 0, ","], - [28158, 0, " "], - [28159, 0, "\\"], - [28160, 0, "m"], - [28161, 0, "a"], - [28162, 0, "t"], - [28163, 0, "h"], - [28164, 0, "s"], - [28165, 0, "f"], - [28166, 0, "{"], - [28167, 0, "o"], - [28168, 0, "p"], - [28169, 0, "}"], - [28170, 0, "("], - [28171, 0, "\\"], - [28172, 0, "m"], - [28173, 0, "a"], - [28174, 0, "t"], - [28175, 0, "h"], - [28176, 0, "i"], - [28177, 0, "t"], - [28178, 0, "{"], - [28179, 0, "i"], - [28180, 0, "d"], - [28181, 0, "}"], - [28182, 0, ","], - [28183, 0, " "], - [28184, 0, "\\"], - [28185, 0, "m"], - [28186, 0, "a"], - [28187, 0, "t"], - [28188, 0, "h"], - [28189, 0, "i"], - [28190, 0, "t"], - [28191, 0, "{"], - [28192, 0, "d"], - [28193, 0, "e"], - [28194, 0, "p"], - [28195, 0, "s"], - [28196, 0, "}"], - [28197, 0, ","], - [28198, 0, "\n"], - [28199, 0, " "], - [28200, 0, " "], - [28201, 0, " "], - [28202, 0, " "], - [28203, 0, "\\"], - [28204, 0, "m"], - [28205, 0, "a"], - [28206, 0, "t"], - [28207, 0, "h"], - [28208, 0, "s"], - [28209, 0, "f"], - [28210, 0, "{"], - [28211, 0, "c"], - [28212, 0, "u"], - [28213, 0, "r"], - [28214, 0, "s"], - [28215, 0, "o"], - [28216, 0, "r"], - [28217, 0, "}"], - [28218, 0, "("], - [28219, 0, "\\"], - [28220, 0, "l"], - [28221, 0, "a"], - [28222, 0, "n"], - [28223, 0, "g"], - [28224, 0, "l"], - [28225, 0, "e"], - [28226, 0, " "], - [28227, 0, "k"], - [28228, 0, "_"], - [28229, 0, "2"], - [28230, 0, ","], - [28231, 0, " "], - [28232, 0, "\\"], - [28233, 0, "d"], - [28234, 0, "o"], - [28235, 0, "t"], - [28236, 0, "s"], - [28237, 0, ","], - [28238, 0, " "], - [28239, 0, "k"], - [28240, 0, "_"], - [28241, 0, "{"], - [28242, 0, "n"], - [28243, 0, "-"], - [28244, 0, "1"], - [28245, 0, "}"], - [28246, 0, " "], - [28247, 0, "\\"], - [28248, 0, "r"], - [28249, 0, "a"], - [28250, 0, "n"], - [28251, 0, "g"], - [28252, 0, "l"], - [28253, 0, "e"], - [28254, 0, ","], - [28255, 0, "\\"], - [28256, 0, ","], - [28257, 0, " "], - [28258, 0, "k"], - [28259, 0, "_"], - [28260, 0, "n"], - [28261, 0, ")"], - [28262, 0, ","], - [28263, 0, " "], - [28264, 0, "\\"], - [28265, 0, "m"], - [28266, 0, "a"], - [28267, 0, "t"], - [28268, 0, "h"], - [28269, 0, "i"], - [28270, 0, "t"], - [28271, 0, "{"], - [28272, 0, "m"], - [28273, 0, "u"], - [28274, 0, "t"], - [28275, 0, "}"], - [28276, 0, ")"], - [28277, 0, " "], - [28278, 0, "\\"], - [28279, 0, "e"], - [28280, 0, "v"], - [28281, 0, "a"], - [28282, 0, "l"], - [28283, 0, "t"], - [28284, 0, "o"], - [28285, 0, " "], - [28286, 0, "\\"], - [28287, 0, "m"], - [28288, 0, "a"], - [28289, 0, "t"], - [28290, 0, "h"], - [28291, 0, "i"], - [28292, 0, "t"], - [28293, 0, "{"], - [28294, 0, "s"], - [28295, 0, "t"], - [28296, 0, "a"], - [28297, 0, "t"], - [28298, 0, "e"], - [28299, 0, "}"], - [28300, 0, "$"], - [28301, 0, "}"], - [28302, 0, "\n"], - [28303, 0, "\\"], - [28304, 0, "L"], - [28305, 0, "e"], - [28306, 0, "f"], - [28307, 0, "t"], - [28308, 0, "L"], - [28309, 0, "a"], - [28310, 0, "b"], - [28311, 0, "e"], - [28312, 0, "l"], - [28313, 0, "{"], - [28314, 0, "\\"], - [28315, 0, "t"], - [28316, 0, "e"], - [28317, 0, "x"], - [28318, 0, "t"], - [28319, 0, "s"], - [28320, 0, "c"], - [28321, 0, "{"], - [28322, 0, "D"], - [28323, 0, "e"], - [28324, 0, "f"], - [28325, 0, "-"], - [28326, 0, "L"], - [28327, 0, "i"], - [28328, 0, "s"], - [28329, 0, "t"], - [28330, 0, "}"], - [28331, 0, "}"], - [28332, 0, "\n"], - [28333, 0, "\\"], - [28334, 0, "T"], - [28335, 0, "r"], - [28336, 0, "i"], - [28337, 0, "n"], - [28338, 0, "a"], - [28339, 0, "r"], - [28340, 0, "y"], - [28341, 0, "I"], - [28342, 0, "n"], - [28343, 0, "f"], - [28344, 0, "C"], - [28345, 0, "{"], - [28346, 0, "$"], - [28347, 0, "\\"], - [28348, 0, "m"], - [28349, 0, "a"], - [28350, 0, "t"], - [28351, 0, "h"], - [28352, 0, "i"], - [28353, 0, "t"], - [28354, 0, "{"], - [28355, 0, "c"], - [28356, 0, "t"], - [28357, 0, "x"], - [28358, 0, "}"], - [28359, 0, ","], - [28360, 0, "\\"], - [28361, 0, ","], - [28362, 0, " "], - [28363, 0, "\\"], - [28364, 0, "m"], - [28365, 0, "a"], - [28366, 0, "t"], - [28367, 0, "h"], - [28368, 0, "s"], - [28369, 0, "f"], - [28370, 0, "{"], - [28371, 0, "o"], - [28372, 0, "p"], - [28373, 0, "}"], - [28374, 0, "("], - [28375, 0, "\\"], - [28376, 0, "m"], - [28377, 0, "a"], - [28378, 0, "t"], - [28379, 0, "h"], - [28380, 0, "i"], - [28381, 0, "t"], - [28382, 0, "{"], - [28383, 0, "i"], - [28384, 0, "d"], - [28385, 0, "}"], - [28386, 0, ","], - [28387, 0, " "], - [28388, 0, "\\"], - [28389, 0, "m"], - [28390, 0, "a"], - [28391, 0, "t"], - [28392, 0, "h"], - [28393, 0, "i"], - [28394, 0, "t"], - [28395, 0, "{"], - [28396, 0, "d"], - [28397, 0, "e"], - [28398, 0, "p"], - [28399, 0, "s"], - [28400, 0, "}"], - [28401, 0, ","], - [28402, 0, "\n"], - [28403, 0, " "], - [28404, 0, " "], - [28405, 0, " "], - [28406, 0, " "], - [28407, 0, "\\"], - [28408, 0, "m"], - [28409, 0, "a"], - [28410, 0, "t"], - [28411, 0, "h"], - [28412, 0, "s"], - [28413, 0, "f"], - [28414, 0, "{"], - [28415, 0, "c"], - [28416, 0, "u"], - [28417, 0, "r"], - [28418, 0, "s"], - [28419, 0, "o"], - [28420, 0, "r"], - [28421, 0, "}"], - [28422, 0, "("], - [28423, 0, "\\"], - [28424, 0, "l"], - [28425, 0, "a"], - [28426, 0, "n"], - [28427, 0, "g"], - [28428, 0, "l"], - [28429, 0, "e"], - [28430, 0, " "], - [28431, 0, "k"], - [28432, 0, "_"], - [28433, 0, "1"], - [28434, 0, ","], - [28435, 0, " "], - [28436, 0, "\\"], - [28437, 0, "k"], - [28438, 0, "_"], - [28439, 0, "2"], - [28440, 0, ","], - [28441, 0, " "], - [28442, 0, "\\"], - [28443, 0, "d"], - [28444, 0, "o"], - [28445, 0, "t"], - [28446, 0, "s"], - [28436, 1], - [28446, 0, ","], - [28447, 0, " "], - [28448, 0, "k"], - [28449, 0, "_"], - [28450, 0, "{"], - [28451, 0, "n"], - [28452, 0, "-"], - [28453, 0, "1"], - [28454, 0, "}"], - [28455, 0, " "], - [28456, 0, "\\"], - [28457, 0, "r"], - [28458, 0, "a"], - [28459, 0, "n"], - [28460, 0, "g"], - [28461, 0, "l"], - [28462, 0, "e"], - [28463, 0, ","], - [28464, 0, "\\"], - [28465, 0, ","], - [28466, 0, " "], - [28467, 0, "k"], - [28468, 0, "_"], - [28469, 0, "n"], - [28470, 0, ")"], - [28471, 0, ","], - [28472, 0, " "], - [28473, 0, "\\"], - [28474, 0, "m"], - [28475, 0, "a"], - [28476, 0, "t"], - [28477, 0, "h"], - [28478, 0, "i"], - [28479, 0, "t"], - [28480, 0, "{"], - [28481, 0, "m"], - [28482, 0, "u"], - [28483, 0, "t"], - [28484, 0, "}"], - [28485, 0, ")"], - [28486, 0, " "], - [28487, 0, "\\"], - [28488, 0, "e"], - [28489, 0, "v"], - [28490, 0, "a"], - [28491, 0, "l"], - [28492, 0, "t"], - [28493, 0, "o"], - [28494, 0, "\n"], - [28495, 0, " "], - [28496, 0, " "], - [28497, 0, " "], - [28498, 0, " "], - [28499, 0, "\\"], - [28500, 0, "m"], - [28501, 0, "a"], - [28502, 0, "t"], - [28503, 0, "h"], - [28504, 0, "s"], - [28505, 0, "f"], - [28506, 0, "{"], - [28507, 0, "c"], - [28508, 0, "t"], - [28509, 0, "x"], - [28510, 0, "}"], - [28511, 0, "["], - [28512, 0, "\\"], - [28513, 0, ","], - [28514, 0, " "], - [28515, 0, "k"], - [28516, 0, "_"], - [28517, 0, "1"], - [28518, 0, " "], - [28519, 0, "\\"], - [28520, 0, ","], - [28521, 0, "\\"], - [28522, 0, "m"], - [28523, 0, "a"], - [28524, 0, "p"], - [28525, 0, "s"], - [28526, 0, "t"], - [28527, 0, "o"], - [28528, 0, " "], - [28528, 1], - [28528, 0, "\\"], - [28529, 0, ","], - [28530, 0, " "], - [28531, 0, "\\"], - [28532, 0, "m"], - [28533, 0, "a"], - [28534, 0, "t"], - [28535, 0, "h"], - [28536, 0, "i"], - [28537, 0, "t"], - [28538, 0, "{"], - [28539, 0, "s"], - [28540, 0, "t"], - [28541, 0, "a"], - [28542, 0, "t"], - [28543, 0, "e"], - [28544, 0, "}"], - [28545, 0, " "], - [28546, 0, "\\"], - [28547, 0, ","], - [28548, 0, "]"], - [28549, 0, "$"], - [28550, 0, "}"], - [28551, 0, "\n"], - [28552, 0, "\\"], - [28553, 0, "e"], - [28554, 0, "n"], - [28555, 0, "d"], - [28556, 0, "{"], - [28557, 0, "p"], - [28558, 0, "r"], - [28559, 0, "o"], - [28560, 0, "o"], - [28561, 0, "f"], - [28562, 0, "t"], - [28563, 0, "r"], - [28564, 0, "e"], - [28565, 0, "e"], - [28566, 0, "}"], - [28103, 0, "\\"], - [28104, 0, "b"], - [28105, 0, "e"], - [28106, 0, "g"], - [28107, 0, "i"], - [28108, 0, "n"], - [28109, 0, "{"], - [28110, 0, "m"], - [28111, 0, "a"], - [28112, 0, "t"], - [28113, 0, "r"], - [28114, 0, "i"], - [28115, 0, "x"], - [28116, 0, "}"], - [28117, 0, "\n"], - [28118, 0, " "], - [28119, 0, " "], - [28120, 0, " "], - [28121, 0, " "], - [28217, 0, " "], - [28218, 0, "\\"], - [28219, 0, "\\"], - [28322, 0, "\n"], - [28323, 0, " "], - [28324, 0, " "], - [28325, 0, " "], - [28326, 0, " "], - [28327, 0, "\\"], - [28328, 0, "e"], - [28329, 0, "n"], - [28330, 0, "d"], - [28331, 0, "{"], - [28332, 0, "m"], - [28333, 0, "a"], - [28334, 0, "t"], - [28335, 0, "r"], - [28336, 0, "i"], - [28337, 0, "x"], - [28338, 0, "}"], - [28339, 0, " "], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [28737, 1], - [30046, 1], - [30045, 1], - [30044, 1], - [30043, 1], - [30042, 1], - [30041, 1], - [30040, 1], - [30039, 1], - [30038, 1], - [30037, 1], - [30036, 1], - [30035, 1], - [30034, 1], - [30033, 1], - [30032, 1], - [30031, 1], - [30030, 1], - [30029, 1], - [30028, 1], - [30027, 1], - [30026, 1], - [30025, 1], - [30024, 1], - [30023, 1], - [30023, 0, "e"], - [30024, 0, "v"], - [30025, 0, "a"], - [30026, 0, "l"], - [30027, 0, "u"], - [30028, 0, "a"], - [30029, 0, "t"], - [30030, 0, "i"], - [30031, 0, "n"], - [30032, 0, "g"], - [30033, 0, " "], - [30034, 0, "o"], - [30035, 0, "p"], - [30036, 0, "e"], - [30037, 0, "r"], - [30038, 0, "a"], - [30039, 0, "t"], - [30040, 0, "i"], - [30041, 0, "o"], - [30042, 0, "n"], - [30043, 0, "s"], - [30044, 0, " "], - [30045, 0, "a"], - [30046, 0, "n"], - [30047, 0, "d"], - [30048, 0, " "], - [30049, 0, "m"], - [30050, 0, "o"], - [30051, 0, "d"], - [30052, 0, "i"], - [30053, 0, "f"], - [30054, 0, "y"], - [30055, 0, "i"], - [30056, 0, "n"], - [30057, 0, "g"], - [30058, 0, " "], - [30059, 0, "d"], - [30060, 0, "o"], - [30061, 0, "c"], - [30062, 0, "u"], - [30063, 0, "m"], - [30064, 0, "e"], - [30065, 0, "n"], - [30066, 0, "t"], - [30067, 0, " "], - [30068, 0, "s"], - [30069, 0, "t"], - [30070, 0, "a"], - [30071, 0, "t"], - [30072, 0, "e"], - [30074, 0, "\\"], - [30075, 0, "l"], - [30076, 0, "a"], - [30077, 0, "b"], - [30078, 0, "e"], - [30079, 0, "l"], - [30080, 0, "{"], - [30081, 0, "f"], - [30082, 0, "i"], - [30083, 0, "g"], - [30084, 0, ":"], - [30085, 0, "o"], - [30086, 0, "p"], - [30087, 0, "e"], - [30088, 0, "r"], - [30089, 0, "a"], - [30090, 0, "t"], - [30091, 0, "i"], - [30092, 0, "o"], - [30093, 0, "n"], - [30094, 0, "-"], - [30095, 0, "r"], - [30096, 0, "u"], - [30097, 0, "l"], - [30098, 0, "e"], - [30099, 0, "s"], - [30100, 0, "}"], - [30122, 1], - [30121, 1], - [30120, 1], - [30119, 1], - [30118, 1], - [30117, 1], - [30116, 1], - [30115, 1], - [30114, 1], - [30113, 1], - [30112, 1], - [30111, 1], - [30110, 1], - [30109, 1], - [30108, 1], - [30107, 1], - [30106, 1], - [30105, 1], - [30104, 1], - [30103, 1], - [30102, 1], - [30101, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28721, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 1], - [28608, 0, "\n"], - [28609, 0, "\\"], - [28610, 0, "b"], - [28611, 0, "e"], - [28612, 0, "g"], - [28613, 0, "i"], - [28614, 0, "n"], - [28615, 0, "{"], - [28616, 0, "p"], - [28617, 0, "r"], - [28618, 0, "o"], - [28619, 0, "o"], - [28620, 0, "f"], - [28621, 0, "t"], - [28622, 0, "r"], - [28623, 0, "e"], - [28624, 0, "e"], - [28625, 0, "}"], - [28626, 0, "\n"], - [28627, 0, "\\"], - [28628, 0, "e"], - [28629, 0, "n"], - [28630, 0, "d"], - [28631, 0, "{"], - [28632, 0, "p"], - [28633, 0, "r"], - [28634, 0, "o"], - [28635, 0, "o"], - [28636, 0, "f"], - [28637, 0, "t"], - [28638, 0, "r"], - [28639, 0, "e"], - [28640, 0, "e"], - [28641, 0, "}"], - [28626, 0, "\n"], - [28627, 0, "\\"], - [28628, 0, "A"], - [28629, 0, "x"], - [28630, 0, "i"], - [28631, 0, "o"], - [28632, 0, "m"], - [28633, 0, "C"], - [28634, 0, "{"], - [28635, 0, "$"], - [28636, 0, "\\"], - [28637, 0, "m"], - [28638, 0, "a"], - [28639, 0, "t"], - [28640, 0, "h"], - [28641, 0, "i"], - [28642, 0, "t"], - [28643, 0, "{"], - [28644, 0, "v"], - [28645, 0, "a"], - [28646, 0, "l"], - [28647, 0, "}"], - [28648, 0, " "], - [28649, 0, "\\"], - [28650, 0, "n"], - [28651, 0, "o"], - [28652, 0, "t"], - [28653, 0, "="], - [28654, 0, " "], - [28655, 0, "\\"], - [28656, 0, "t"], - [28657, 0, "e"], - [28658, 0, "x"], - [28659, 0, "t"], - [28660, 0, "t"], - [28661, 0, "t"], - [28662, 0, "{"], - [28663, 0, "["], - [28664, 0, "]"], - [28665, 0, "}"], - [28666, 0, " "], - [28667, 0, "\\"], - [28668, 0, ","], - [28669, 0, "\\"], - [28670, 0, "w"], - [28671, 0, "e"], - [28672, 0, "d"], - [28673, 0, "g"], - [28674, 0, "e"], - [28675, 0, "\\"], - [28676, 0, ","], - [28677, 0, " "], - [28678, 0, "\\"], - [28679, 0, "m"], - [28680, 0, "a"], - [28681, 0, "t"], - [28682, 0, "h"], - [28683, 0, "i"], - [28684, 0, "t"], - [28685, 0, "{"], - [28686, 0, "v"], - [28687, 0, "a"], - [28688, 0, "l"], - [28689, 0, "}"], - [28690, 0, " "], - [28691, 0, "\\"], - [28692, 0, "n"], - [28693, 0, "o"], - [28694, 0, "t"], - [28695, 0, "="], - [28696, 0, " "], - [28697, 0, "\\"], - [28698, 0, "t"], - [28699, 0, "e"], - [28700, 0, "x"], - [28701, 0, "t"], - [28702, 0, "t"], - [28703, 0, "t"], - [28704, 0, "{"], - [28705, 0, "\\"], - [28706, 0, "s"], - [28707, 0, "t"], - [28708, 0, "r"], - [28709, 0, "i"], - [28710, 0, "n"], - [28711, 0, "g"], - [28712, 0, "\\"], - [28712, 1], - [28712, 0, "{"], - [28713, 0, "\\"], - [28714, 0, "s"], - [28715, 0, "t"], - [28716, 0, "r"], - [28717, 0, "i"], - [28718, 0, "n"], - [28719, 0, "g"], - [28720, 0, "}"], - [28721, 0, "}"], - [28722, 0, " "], - [28722, 1], - [28722, 0, "$"], - [28723, 0, "}"], - [28724, 0, "\n"], - [28725, 0, "\\"], - [28726, 0, "A"], - [28727, 0, "x"], - [28728, 0, "i"], - [28729, 0, "o"], - [28730, 0, "m"], - [28731, 0, "C"], - [28732, 0, "{"], - [28733, 0, "$"], - [28734, 0, "\\"], - [28735, 0, "m"], - [28736, 0, "a"], - [28737, 0, "t"], - [28738, 0, "h"], - [28739, 0, "s"], - [28740, 0, "f"], - [28741, 0, "{"], - [28742, 0, "r"], - [28743, 0, "e"], - [28744, 0, "g"], - [28745, 0, "T"], - [28746, 0, "}"], - [28747, 0, "("], - [28748, 0, "k"], - [28749, 0, ")"], - [28750, 0, " "], - [28751, 0, "\\"], - [28752, 0, "i"], - [28753, 0, "n"], - [28754, 0, " "], - [28755, 0, "\\"], - [28756, 0, "m"], - [28757, 0, "a"], - [28758, 0, "t"], - [28759, 0, "h"], - [28760, 0, "r"], - [28761, 0, "m"], - [28762, 0, "{"], - [28763, 0, "d"], - [28764, 0, "o"], - [28765, 0, "m"], - [28766, 0, "}"], - [28767, 0, "("], - [28768, 0, "\\"], - [28769, 0, "m"], - [28770, 0, "a"], - [28771, 0, "t"], - [28772, 0, "h"], - [28773, 0, "i"], - [28774, 0, "t"], - [28775, 0, "{"], - [28776, 0, "c"], - [28777, 0, "t"], - [28778, 0, "x"], - [28779, 0, "}"], - [28780, 0, ")"], - [28781, 0, "$"], - [28782, 0, "}"], - [28783, 0, "\n"], - [28784, 0, "\\"], - [28785, 0, "m"], - [28785, 1], - [28785, 0, "A"], - [28786, 0, "x"], - [28787, 0, "i"], - [28788, 0, "o"], - [28789, 0, "m"], - [28790, 0, "C"], - [28791, 0, "{"], - [28792, 0, "$"], - [28793, 0, "\\"], - [28794, 0, "m"], - [28795, 0, "a"], - [28796, 0, "t"], - [28797, 0, "h"], - [28798, 0, "i"], - [28799, 0, "t"], - [28800, 0, "{"], - [28801, 0, "c"], - [28802, 0, "o"], - [28803, 0, "n"], - [28804, 0, "c"], - [28805, 0, "}"], - [28806, 0, " "], - [28807, 0, "="], - [28808, 0, " "], - [28809, 0, "{"], - [28810, 0, " "], - [28810, 1], - [28809, 1], - [28809, 0, "\\"], - [28810, 0, "{"], - [28811, 0, " "], - [28812, 0, "\\"], - [28813, 0, "m"], - [28814, 0, "a"], - [28815, 0, "t"], - [28816, 0, "h"], - [28817, 0, "i"], - [28818, 0, "t"], - [28819, 0, "{"], - [28820, 0, "i"], - [28821, 0, "d"], - [28822, 0, "}"], - [28823, 0, "_"], - [28824, 0, "i"], - [28825, 0, " "], - [28826, 0, "\\"], - [28827, 0, "m"], - [28828, 0, "a"], - [28829, 0, "p"], - [28830, 0, "s"], - [28831, 0, "t"], - [28832, 0, "o"], - [28833, 0, " "], - [28834, 0, "\\"], - [28835, 0, "m"], - [28836, 0, "a"], - [28837, 0, "t"], - [28838, 0, "h"], - [28839, 0, "i"], - [28840, 0, "t"], - [28840, 1], - [28839, 1], - [28838, 1], - [28837, 1], - [28836, 1], - [28835, 1], - [28834, 1], - [28834, 0, "v"], - [28835, 0, "_"], - [28836, 0, "i"], - [28837, 0, " "], - [28838, 0, "\\"], - [28839, 0, "m"], - [28840, 0, "i"], - [28841, 0, "d"], - [28793, 0, "\\"], - [28794, 0, "b"], - [28795, 0, "e"], - [28796, 0, "g"], - [28797, 0, "i"], - [28798, 0, "n"], - [28799, 0, "{"], - [28800, 0, "m"], - [28801, 0, "a"], - [28802, 0, "t"], - [28803, 0, "r"], - [28804, 0, "i"], - [28805, 0, "x"], - [28806, 0, "}"], - [28807, 0, "\n"], - [28808, 0, " "], - [28809, 0, " "], - [28810, 0, " "], - [28811, 0, " "], - [28861, 0, " "], - [28862, 0, "("], - [28863, 0, "\\"], - [28864, 0, "m"], - [28865, 0, "a"], - [28866, 0, "t"], - [28867, 0, "h"], - [28868, 0, "i"], - [28869, 0, "t"], - [28870, 0, "{"], - [28871, 0, "i"], - [28872, 0, "d"], - [28873, 0, "}"], - [28874, 0, "_"], - [28875, 0, "i"], - [28876, 0, " "], - [28877, 0, "\\"], - [28878, 0, "m"], - [28879, 0, "a"], - [28880, 0, "p"], - [28881, 0, "s"], - [28882, 0, "t"], - [28883, 0, "o"], - [28884, 0, " "], - [28885, 0, "v"], - [28886, 0, "_"], - [28887, 0, "i"], - [28888, 0, ")"], - [28889, 0, " "], - [28890, 0, "\\"], - [28891, 0, "i"], - [28892, 0, "n"], - [28893, 0, " "], - [28894, 0, "\\"], - [28895, 0, "m"], - [28896, 0, "a"], - [28897, 0, "t"], - [28898, 0, "h"], - [28899, 0, "i"], - [28900, 0, "t"], - [28901, 0, "{"], - [28902, 0, "c"], - [28903, 0, "t"], - [28904, 0, "x"], - [28905, 0, "}"], - [28906, 0, "("], - [28907, 0, "\\"], - [28908, 0, "m"], - [28909, 0, "a"], - [28910, 0, "t"], - [28911, 0, "h"], - [28912, 0, "s"], - [28913, 0, "f"], - [28914, 0, "{"], - [28915, 0, "r"], - [28916, 0, "e"], - [28917, 0, "g"], - [28918, 0, "T"], - [28919, 0, "}"], - [28920, 0, "("], - [28921, 0, "k"], - [28922, 0, ")"], - [28923, 0, ")"], - [28924, 0, " "], - [28925, 0, "\\"], - [28926, 0, "\\"], - [28927, 0, "\n"], - [28928, 0, " "], - [28929, 0, " "], - [28930, 0, " "], - [28931, 0, " "], - [28932, 0, "\\"], - [28933, 0, "w"], - [28934, 0, "e"], - [28935, 0, "d"], - [28936, 0, "g"], - [28937, 0, "e"], - [28938, 0, " "], - [28932, 0, "\\"], - [28933, 0, ","], - [28940, 1], - [28940, 0, "\\"], - [28941, 0, ","], - [28942, 0, " "], - [28943, 0, "\\"], - [28944, 0, "m"], - [28945, 0, "a"], - [28946, 0, "t"], - [28947, 0, "h"], - [28948, 0, "i"], - [28949, 0, "t"], - [28950, 0, "{"], - [28951, 0, "i"], - [28952, 0, "d"], - [28953, 0, "}"], - [28954, 0, "_"], - [28955, 0, "i"], - [28956, 0, " "], - [28957, 0, "\\"], - [28958, 0, "n"], - [28959, 0, "o"], - [28960, 0, "t"], - [28961, 0, "i"], - [28962, 0, "n"], - [28963, 0, " "], - [28964, 0, "\\"], - [28965, 0, "m"], - [28966, 0, "a"], - [28967, 0, "t"], - [28968, 0, "h"], - [28969, 0, "i"], - [28970, 0, "t"], - [28971, 0, "{"], - [28972, 0, "d"], - [28973, 0, "e"], - [28974, 0, "p"], - [28975, 0, "s"], - [28976, 0, "}"], - [28977, 0, " "], - [28978, 0, "\\"], - [28979, 0, "}"], - [28980, 0, "\n"], - [28981, 0, " "], - [28982, 0, " "], - [28983, 0, " "], - [28984, 0, " "], - [28985, 0, "\\"], - [28986, 0, "e"], - [28987, 0, "n"], - [28988, 0, "d"], - [28989, 0, "{"], - [28990, 0, "m"], - [28991, 0, "a"], - [28992, 0, "t"], - [28993, 0, "r"], - [28994, 0, "i"], - [28995, 0, "x"], - [28996, 0, "}"], - [28997, 0, " "], - [28998, 0, "$"], - [28999, 0, "}"], - [29000, 0, "\n"], - [29001, 0, "\\"], - [29002, 0, "L"], - [29003, 0, "e"], - [29004, 0, "f"], - [29005, 0, "t"], - [29006, 0, "L"], - [29007, 0, "a"], - [29008, 0, "b"], - [29009, 0, "e"], - [29010, 0, "l"], - [29011, 0, "{"], - [29012, 0, "$"], - [29013, 0, "\\"], - [29014, 0, "m"], - [29015, 0, "a"], - [29016, 0, "t"], - [29017, 0, "h"], - [29018, 0, "s"], - [29018, 1], - [29017, 1], - [29016, 1], - [29015, 1], - [29014, 1], - [29014, 0, "t"], - [29015, 0, "e"], - [29016, 0, "s"], - [29017, 0, "c"], - [29018, 0, "s"], - [29019, 0, "c"], - [29020, 0, "{"], - [29021, 0, "A"], - [29017, 1], - [29016, 1], - [29016, 0, "x"], - [29017, 0, "t"], - [29022, 0, "s"], - [29023, 0, "s"], - [29024, 0, "i"], - [29025, 0, "g"], - [29026, 0, "n"], - [29027, 0, "}"], - [29028, 0, "_"], - [29029, 0, "1"], - [29030, 0, "$"], - [29031, 0, "}"], - [29032, 0, "\n"], - [29033, 0, "\\"], - [29034, 0, "T"], - [29035, 0, "r"], - [29036, 0, "i"], - [29037, 0, "n"], - [29038, 0, "a"], - [29039, 0, "r"], - [29040, 0, "y"], - [29041, 0, "I"], - [29042, 0, "n"], - [29043, 0, "f"], - [29044, 0, "C"], - [29045, 0, "{"], - [29046, 0, "$"], - [29047, 0, "\\"], - [29048, 0, "m"], - [29049, 0, "a"], - [29050, 0, "t"], - [29051, 0, "h"], - [29052, 0, "i"], - [29053, 0, "t"], - [29054, 0, "{"], - [29055, 0, "c"], - [29056, 0, "t"], - [29057, 0, "x"], - [29058, 0, "}"], - [29059, 0, ","], - [29060, 0, "\\"], - [29061, 0, ","], - [29062, 0, " "], - [29063, 0, "\\"], - [29064, 0, "m"], - [29065, 0, "a"], - [29066, 0, "t"], - [29067, 0, "h"], - [29068, 0, "s"], - [29069, 0, "f"], - [29070, 0, "{"], - [29071, 0, "o"], - [29072, 0, "p"], - [29073, 0, "}"], - [29074, 0, "("], - [29075, 0, "\\"], - [29076, 0, "m"], - [29077, 0, "a"], - [29078, 0, "t"], - [29079, 0, "h"], - [29080, 0, "i"], - [29081, 0, "t"], - [29082, 0, "{"], - [29083, 0, "i"], - [29084, 0, "d"], - [29085, 0, "}"], - [29086, 0, ","], - [29087, 0, " "], - [29088, 0, "\\"], - [29089, 0, "m"], - [29090, 0, "a"], - [29091, 0, "t"], - [29092, 0, "h"], - [29093, 0, "i"], - [29094, 0, "t"], - [29095, 0, "["], - [29095, 1], - [29095, 0, "{"], - [29096, 0, "D"], - [29097, 0, "E"], - [29098, 0, "P"], - [29099, 0, "S"], - [29099, 1], - [29098, 1], - [29097, 1], - [29096, 1], - [29096, 0, "d"], - [29097, 0, "e"], - [29098, 0, "p"], - [29099, 0, "s"], - [29100, 0, "}"], - [29101, 0, ","], - [29102, 0, "\n"], - [29103, 0, " "], - [29104, 0, " "], - [29105, 0, " "], - [29106, 0, " "], - [29107, 0, "\\"], - [29108, 0, "m"], - [29109, 0, "a"], - [29110, 0, "t"], - [29111, 0, "h"], - [29112, 0, "s"], - [29113, 0, "f"], - [29114, 0, "{"], - [29115, 0, "c"], - [29116, 0, "u"], - [29117, 0, "r"], - [29118, 0, "s"], - [29119, 0, "o"], - [29120, 0, "r"], - [29121, 0, "}"], - [29122, 0, "("], - [29123, 0, "\\"], - [29124, 0, "l"], - [29125, 0, "a"], - [29126, 0, "n"], - [29127, 0, "g"], - [29128, 0, "l"], - [29129, 0, "e"], - [29130, 0, " "], - [29130, 1], - [29130, 0, "\\"], - [29131, 0, "r"], - [29132, 0, "a"], - [29133, 0, "n"], - [29134, 0, "g"], - [29135, 0, "l"], - [29136, 0, "e"], - [29137, 0, ","], - [29138, 0, "\\"], - [29139, 0, ","], - [29140, 0, " "], - [29141, 0, "k"], - [29142, 0, ")"], - [29143, 0, ","], - [29144, 0, " "], - [29145, 0, "\\"], - [29146, 0, "m"], - [29147, 0, "a"], - [29148, 0, "t"], - [29149, 0, "h"], - [29150, 0, "s"], - [29151, 0, "f"], - [29152, 0, "{"], - [29153, 0, "a"], - [29154, 0, "s"], - [29155, 0, "s"], - [29156, 0, "i"], - [29157, 0, "g"], - [29158, 0, "n"], - [29159, 0, "}"], - [29160, 0, "("], - [29161, 0, "\\"], - [29162, 0, "m"], - [29163, 0, "a"], - [29164, 0, "t"], - [29165, 0, "h"], - [29166, 0, "i"], - [29167, 0, "t"], - [29168, 0, "{"], - [29169, 0, "v"], - [29170, 0, "a"], - [29171, 0, "l"], - [29172, 0, "}"], - [29173, 0, ")"], - [29174, 0, " "], - [29175, 0, "\\"], - [29176, 0, "e"], - [29177, 0, "v"], - [29178, 0, "a"], - [29179, 0, "l"], - [29180, 0, "t"], - [29181, 0, "o"], - [29182, 0, "\n"], - [29183, 0, " "], - [29184, 0, " "], - [29185, 0, " "], - [29186, 0, " "], - [29187, 0, "\\"], - [29188, 0, "m"], - [29189, 0, "a"], - [29190, 0, "t"], - [29191, 0, "h"], - [29192, 0, "s"], - [29193, 0, "f"], - [29194, 0, "{"], - [29195, 0, "c"], - [29196, 0, "t"], - [29197, 0, "x"], - [29198, 0, "}"], - [29199, 0, "["], - [29200, 0, "\\"], - [29201, 0, ","], - [29202, 0, " "], - [29203, 0, "\\"], - [29204, 0, "m"], - [29205, 0, "a"], - [29206, 0, "t"], - [29207, 0, "h"], - [29208, 0, "s"], - [29209, 0, "f"], - [29210, 0, "{"], - [29211, 0, "r"], - [29212, 0, "e"], - [29213, 0, "g"], - [29214, 0, "T"], - [29215, 0, "}"], - [29216, 0, "("], - [29217, 0, "k"], - [29218, 0, ")"], - [29219, 0, " "], - [29220, 0, "\\"], - [29221, 0, ","], - [29222, 0, "m"], - [29222, 1], - [29222, 0, "\\"], - [29223, 0, "m"], - [29224, 0, "a"], - [29225, 0, "p"], - [29226, 0, "s"], - [29227, 0, "t"], - [29228, 0, "o"], - [29229, 0, "\\"], - [29230, 0, ","], - [29231, 0, " "], - [29232, 0, "\\"], - [29233, 0, "m"], - [29234, 0, "a"], - [29235, 0, "t"], - [29236, 0, "h"], - [29237, 0, "i"], - [29238, 0, "t"], - [29239, 0, "{"], - [29240, 0, "c"], - [29241, 0, "o"], - [29242, 0, "n"], - [29243, 0, "c"], - [29244, 0, "}"], - [29245, 0, "["], - [29246, 0, "\\"], - [29247, 0, ","], - [29248, 0, " "], - [29249, 0, "\\"], - [29250, 0, "m"], - [29251, 0, "a"], - [29252, 0, "t"], - [29253, 0, "h"], - [29254, 0, "i"], - [29255, 0, "t"], - [29256, 0, "{"], - [29257, 0, "i"], - [29258, 0, "d"], - [29259, 0, "}"], - [29260, 0, " "], - [29261, 0, "\\"], - [29262, 0, ","], - [29263, 0, "\\"], - [29264, 0, "m"], - [29265, 0, "a"], - [29266, 0, "p"], - [29267, 0, "s"], - [29268, 0, "t"], - [29269, 0, "o"], - [29270, 0, "\\"], - [29271, 0, ","], - [29272, 0, " "], - [29273, 0, "\\"], - [29274, 0, "m"], - [29275, 0, "a"], - [29276, 0, "t"], - [29277, 0, "h"], - [29278, 0, "i"], - [29279, 0, "t"], - [29280, 0, "{"], - [29281, 0, "v"], - [29282, 0, "a"], - [29283, 0, "l"], - [29284, 0, "}"], - [29285, 0, " "], - [29286, 0, "\\"], - [29287, 0, ","], - [29288, 0, "]"], - [29289, 0, "\\"], - [29290, 0, ","], - [29291, 0, "]"], - [29292, 0, "$"], - [29293, 0, "}"], - [28933, 1], - [28932, 1], - [28824, 0, "u"], - [28825, 0, "r"], - [28826, 0, "r"], - [28827, 0, "e"], - [28828, 0, "n"], - [28829, 0, "t"], - [28867, 0, "\n"], - [28868, 0, " "], - [28869, 0, " "], - [28870, 0, " "], - [29239, 0, "\n"], - [29240, 0, " "], - [29241, 0, " "], - [29242, 0, " "], - [29256, 0, "u"], - [29257, 0, "r"], - [29258, 0, "r"], - [29259, 0, "e"], - [29260, 0, "n"], - [29261, 0, "t"], - [29328, 0, "\n"], - [29329, 0, "\n"], - [29330, 0, "\\"], - [29331, 0, "b"], - [29332, 0, "e"], - [29333, 0, "g"], - [29334, 0, "i"], - [29335, 0, "n"], - [29336, 0, "{"], - [29337, 0, "p"], - [29338, 0, "r"], - [29339, 0, "o"], - [29340, 0, "o"], - [29341, 0, "f"], - [29342, 0, "t"], - [29343, 0, "r"], - [29344, 0, "e"], - [29345, 0, "e"], - [29346, 0, "}"], - [29347, 0, "\n"], - [29348, 0, "\\"], - [29349, 0, "e"], - [29350, 0, "n"], - [29351, 0, "d"], - [29352, 0, "{"], - [29353, 0, "p"], - [29354, 0, "r"], - [29355, 0, "o"], - [29356, 0, "o"], - [29357, 0, "f"], - [29358, 0, "t"], - [29359, 0, "r"], - [29360, 0, "e"], - [29361, 0, "e"], - [29362, 0, "}"], - [29347, 0, "\n"], - [29348, 0, "\\"], - [29349, 0, "A"], - [29350, 0, "x"], - [29351, 0, "i"], - [29352, 0, "o"], - [29353, 0, "m"], - [29354, 0, "C"], - [29355, 0, "{"], - [29356, 0, "$"], - [29357, 0, "\\"], - [29358, 0, "m"], - [29359, 0, "a"], - [29360, 0, "t"], - [29361, 0, "h"], - [29362, 0, "i"], - [29363, 0, "t"], - [29364, 0, "{"], - [29365, 0, "v"], - [29366, 0, "a"], - [29367, 0, "l"], - [29368, 0, "}"], - [29369, 0, " "], - [29370, 0, "\\"], - [29371, 0, "n"], - [29372, 0, "o"], - [29373, 0, "t"], - [29374, 0, "="], - [29375, 0, " "], - [29376, 0, "\\"], - [29377, 0, "t"], - [29378, 0, "e"], - [29379, 0, "x"], - [29380, 0, "t"], - [29381, 0, "t"], - [29382, 0, "t"], - [29383, 0, "{"], - [29384, 0, "["], - [29385, 0, "]"], - [29386, 0, "}"], - [29387, 0, " "], - [29388, 0, "\\"], - [29389, 0, ","], - [29390, 0, "\\"], - [29391, 0, "w"], - [29392, 0, "e"], - [29393, 0, "d"], - [29394, 0, "g"], - [29395, 0, "e"], - [29396, 0, "\\"], - [29397, 0, ","], - [29398, 0, " "], - [29399, 0, "\\"], - [29400, 0, "m"], - [29401, 0, "a"], - [29402, 0, "t"], - [29403, 0, "h"], - [29404, 0, "i"], - [29405, 0, "t"], - [29406, 0, "{"], - [29407, 0, "v"], - [29408, 0, "a"], - [29409, 0, "l"], - [29410, 0, "}"], - [29411, 0, " "], - [29412, 0, "\\"], - [29413, 0, "n"], - [29414, 0, "o"], - [29415, 0, "t"], - [29416, 0, "="], - [29417, 0, " "], - [29418, 0, "\\"], - [29419, 0, "t"], - [29420, 0, "e"], - [29421, 0, "x"], - [29422, 0, "t"], - [29423, 0, "t"], - [29424, 0, "t"], - [29425, 0, "{"], - [29426, 0, "\\"], - [29427, 0, "s"], - [29428, 0, "t"], - [29429, 0, "r"], - [29430, 0, "i"], - [29431, 0, "n"], - [29432, 0, "g"], - [29433, 0, "{"], - [29434, 0, "\\"], - [29435, 0, "s"], - [29436, 0, "t"], - [29437, 0, "r"], - [29438, 0, "i"], - [29439, 0, "n"], - [29440, 0, "g"], - [29441, 0, "}"], - [29442, 0, "}"], - [29443, 0, "$"], - [29444, 0, "}"], - [29445, 0, "\n"], - [29446, 0, "\\"], - [29447, 0, "A"], - [29448, 0, "x"], - [29449, 0, "i"], - [29450, 0, "o"], - [29451, 0, "m"], - [29452, 0, "C"], - [29453, 0, "{"], - [29454, 0, "$"], - [29455, 0, "\\"], - [29456, 0, "m"], - [29457, 0, "a"], - [29458, 0, "t"], - [29459, 0, "h"], - [29460, 0, "s"], - [29461, 0, "f"], - [29462, 0, "{"], - [29463, 0, "r"], - [29464, 0, "e"], - [29465, 0, "g"], - [29466, 0, "T"], - [29467, 0, "}"], - [29468, 0, "("], - [29469, 0, "k"], - [29470, 0, ")"], - [29471, 0, " "], - [29472, 0, "\\"], - [29473, 0, "n"], - [29474, 0, "o"], - [29475, 0, "t"], - [29476, 0, "i"], - [29477, 0, "n"], - [29478, 0, " "], - [29479, 0, "\\"], - [29480, 0, "m"], - [29481, 0, "a"], - [29482, 0, "t"], - [29483, 0, "h"], - [29484, 0, "r"], - [29485, 0, "m"], - [29486, 0, "{"], - [29487, 0, "d"], - [29488, 0, "o"], - [29489, 0, "m"], - [29490, 0, "}"], - [29491, 0, "("], - [29492, 0, "\\"], - [29493, 0, "m"], - [29494, 0, "a"], - [29495, 0, "t"], - [29496, 0, "h"], - [29497, 0, "i"], - [29498, 0, "t"], - [29499, 0, "{"], - [29500, 0, "c"], - [29501, 0, "t"], - [29502, 0, "x"], - [29503, 0, "}"], - [29504, 0, ")"], - [29505, 0, "$"], - [29506, 0, "}"], - [29507, 0, "\n"], - [29508, 0, "\\"], - [29509, 0, "L"], - [29510, 0, "e"], - [29511, 0, "f"], - [29512, 0, "t"], - [29513, 0, "L"], - [29514, 0, "a"], - [29515, 0, "b"], - [29516, 0, "e"], - [29517, 0, "l"], - [29518, 0, "{"], - [29519, 0, "$"], - [29520, 0, "\\"], - [29521, 0, "t"], - [29522, 0, "e"], - [29523, 0, "x"], - [29524, 0, "t"], - [29525, 0, "s"], - [29526, 0, "c"], - [29527, 0, "{"], - [29528, 0, "A"], - [29529, 0, "s"], - [29530, 0, "s"], - [29531, 0, "i"], - [29532, 0, "g"], - [29533, 0, "n"], - [29534, 0, "}"], - [29535, 0, "_"], - [29536, 0, "2"], - [29537, 0, "$"], - [29538, 0, "}"], - [29539, 0, "\n"], - [29540, 0, "\\"], - [29541, 0, "B"], - [29542, 0, "i"], - [29543, 0, "n"], - [29544, 0, "a"], - [29545, 0, "r"], - [29546, 0, "y"], - [29547, 0, "I"], - [29548, 0, "n"], - [29549, 0, "f"], - [29550, 0, "C"], - [29551, 0, "{"], - [29552, 0, "$"], - [29553, 0, "\\"], - [29554, 0, "m"], - [29555, 0, "a"], - [29556, 0, "t"], - [29557, 0, "h"], - [29558, 0, "i"], - [29559, 0, "t"], - [29560, 0, "{"], - [29561, 0, "c"], - [29562, 0, "t"], - [29563, 0, "x"], - [29564, 0, "}"], - [29565, 0, ","], - [29566, 0, "\\"], - [29567, 0, ","], - [29568, 0, " "], - [29569, 0, "\\"], - [29570, 0, "m"], - [29571, 0, "a"], - [29572, 0, "t"], - [29573, 0, "h"], - [29574, 0, "s"], - [29575, 0, "f"], - [29576, 0, "{"], - [29577, 0, "o"], - [29578, 0, "p"], - [29579, 0, "}"], - [29580, 0, "\\"], - [29580, 1], - [29580, 0, "("], - [29581, 0, "\\"], - [29582, 0, "m"], - [29583, 0, "a"], - [29584, 0, "t"], - [29585, 0, "h"], - [29586, 0, "i"], - [29587, 0, "t"], - [29588, 0, "{"], - [29589, 0, "i"], - [29590, 0, "d"], - [29591, 0, "}"], - [29592, 0, ","], - [29593, 0, " "], - [29594, 0, "\\"], - [29595, 0, "m"], - [29596, 0, "a"], - [29597, 0, "t"], - [29598, 0, "h"], - [29599, 0, "i"], - [29600, 0, "t"], - [29601, 0, "{"], - [29602, 0, "d"], - [29603, 0, "e"], - [29604, 0, "p"], - [29605, 0, "s"], - [29606, 0, "}"], - [29607, 0, ","], - [29608, 0, "\n"], - [29609, 0, " "], - [29610, 0, " "], - [29611, 0, " "], - [29612, 0, " "], - [29613, 0, "\\"], - [29614, 0, "m"], - [29615, 0, "a"], - [29616, 0, "t"], - [29617, 0, "h"], - [29618, 0, "s"], - [29619, 0, "f"], - [29620, 0, "{"], - [29621, 0, "c"], - [29622, 0, "u"], - [29623, 0, "r"], - [29624, 0, "s"], - [29625, 0, "o"], - [29626, 0, "r"], - [29627, 0, "}"], - [29628, 0, "("], - [29629, 0, "\\"], - [29630, 0, "l"], - [29631, 0, "a"], - [29632, 0, "n"], - [29633, 0, "g"], - [29634, 0, "l"], - [29635, 0, "e"], - [29636, 0, "\\"], - [29637, 0, "r"], - [29638, 0, "a"], - [29639, 0, "n"], - [29640, 0, "g"], - [29641, 0, "l"], - [29642, 0, "e"], - [29643, 0, ","], - [29644, 0, "\\"], - [29645, 0, ","], - [29646, 0, " "], - [29647, 0, "k"], - [29648, 0, ")"], - [29649, 0, ","], - [29650, 0, " "], - [29651, 0, "\\"], - [29652, 0, "m"], - [29653, 0, "a"], - [29654, 0, "t"], - [29655, 0, "h"], - [29656, 0, "s"], - [29657, 0, "f"], - [29658, 0, "{"], - [29659, 0, "a"], - [29660, 0, "s"], - [29661, 0, "s"], - [29662, 0, "i"], - [29663, 0, "g"], - [29664, 0, "n"], - [29665, 0, "}"], - [29666, 0, "("], - [29667, 0, "\\"], - [29668, 0, "m"], - [29669, 0, "a"], - [29670, 0, "t"], - [29671, 0, "h"], - [29672, 0, "i"], - [29673, 0, "t"], - [29674, 0, "{"], - [29675, 0, "v"], - [29676, 0, "a"], - [29677, 0, "l"], - [29678, 0, "}"], - [29679, 0, ")"], - [29680, 0, " "], - [29681, 0, "\\"], - [29682, 0, "e"], - [29683, 0, "v"], - [29684, 0, "a"], - [29685, 0, "l"], - [29686, 0, "t"], - [29687, 0, "o"], - [29688, 0, "\n"], - [29689, 0, " "], - [29690, 0, " "], - [29691, 0, " "], - [29692, 0, " "], - [29693, 0, "\\"], - [29694, 0, "m"], - [29695, 0, "a"], - [29696, 0, "t"], - [29697, 0, "h"], - [29698, 0, "s"], - [29699, 0, "f"], - [29700, 0, "{"], - [29701, 0, "c"], - [29702, 0, "t"], - [29703, 0, "x"], - [29704, 0, "}"], - [29705, 0, "["], - [29706, 0, "\\"], - [29707, 0, ","], - [29708, 0, " "], - [29709, 0, "\\"], - [29710, 0, "m"], - [29711, 0, "a"], - [29712, 0, "t"], - [29713, 0, "h"], - [29714, 0, "s"], - [29715, 0, "f"], - [29716, 0, "{"], - [29717, 0, "r"], - [29718, 0, "e"], - [29719, 0, "g"], - [29720, 0, "T"], - [29721, 0, "}"], - [29722, 0, "("], - [29723, 0, "k"], - [29724, 0, ")"], - [29725, 0, " "], - [29726, 0, "\\"], - [29727, 0, ","], - [29728, 0, "\\"], - [29729, 0, "m"], - [29730, 0, "a"], - [29731, 0, "p"], - [29732, 0, "s"], - [29733, 0, "t"], - [29734, 0, "o"], - [29735, 0, "\\"], - [29736, 0, ","], - [29737, 0, " "], - [29738, 0, "\\"], - [29739, 0, "{"], - [29740, 0, "\\"], - [29741, 0, ","], - [29742, 0, " "], - [29743, 0, "\\"], - [29744, 0, "m"], - [29745, 0, "a"], - [29746, 0, "t"], - [29747, 0, "h"], - [29748, 0, "i"], - [29749, 0, "t"], - [29750, 0, "{"], - [29751, 0, "i"], - [29752, 0, "d"], - [29753, 0, "}"], - [29754, 0, " "], - [29755, 0, "\\"], - [29756, 0, ","], - [29757, 0, "\\"], - [29758, 0, "m"], - [29759, 0, "a"], - [29760, 0, "p"], - [29761, 0, "s"], - [29762, 0, "t"], - [29763, 0, "o"], - [29764, 0, "\\"], - [29765, 0, ","], - [29766, 0, " "], - [29767, 0, "\\"], - [29768, 0, "m"], - [29769, 0, "a"], - [29770, 0, "t"], - [29771, 0, "h"], - [29772, 0, "i"], - [29773, 0, "t"], - [29774, 0, "{"], - [29775, 0, "v"], - [29776, 0, "a"], - [29777, 0, "l"], - [29778, 0, "}"], - [29779, 0, " "], - [29780, 0, "\\"], - [29781, 0, ","], - [29782, 0, "\\"], - [29783, 0, "}"], - [29784, 0, "\\"], - [29785, 0, ","], - [29786, 0, "]"], - [29787, 0, "$"], - [29788, 0, "}"], - [29872, 1], - [29871, 1], - [29870, 1], - [29869, 1], - [29868, 1], - [29867, 1], - [29866, 1], - [29865, 1], - [29864, 1], - [29863, 1], - [29862, 1], - [29861, 1], - [29860, 1], - [29859, 1], - [29858, 1], - [29857, 1], - [29856, 1], - [29855, 1], - [29854, 1], - [29853, 1], - [29852, 1], - [29851, 1], - [29850, 1], - [29849, 1], - [29848, 1], - [29847, 1], - [29846, 1], - [29845, 1], - [29844, 1], - [29843, 1], - [29842, 1], - [29841, 1], - [29840, 1], - [29839, 1], - [29838, 1], - [29837, 1], - [29836, 1], - [29835, 1], - [29834, 1], - [29833, 1], - [29832, 1], - [29831, 1], - [29830, 1], - [29829, 1], - [29828, 1], - [29827, 1], - [29826, 1], - [29825, 1], - [29824, 1], - [29836, 1], - [29835, 1], - [29834, 1], - [29834, 0, "\\"], - [29835, 0, "m"], - [29836, 0, "a"], - [29837, 0, "t"], - [29838, 0, "h"], - [29839, 0, "i"], - [29840, 0, "t"], - [29841, 0, "{"], - [29842, 0, "c"], - [29843, 0, "t"], - [29844, 0, "x"], - [29845, 0, "}"], - [29847, 0, "\\"], - [29848, 0, "m"], - [29849, 0, "a"], - [29850, 0, "t"], - [29851, 0, "h"], - [29852, 0, "s"], - [29853, 0, "f"], - [29854, 0, "{"], - [29855, 0, "n"], - [29856, 0, "e"], - [29857, 0, "x"], - [29858, 0, "t"], - [29859, 0, "}"], - [29860, 0, "("], - [29874, 0, ")"], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29879, 1], - [29892, 1], - [30025, 1], - [30024, 1], - [30023, 1], - [30022, 1], - [30021, 1], - [30020, 1], - [30019, 1], - [30018, 1], - [30017, 1], - [30016, 1], - [30015, 1], - [30014, 1], - [30013, 1], - [30012, 1], - [30011, 1], - [30010, 1], - [30009, 1], - [30008, 1], - [30007, 1], - [30006, 1], - [30005, 1], - [30004, 1], - [30003, 1], - [30002, 1], - [30001, 1], - [30000, 1], - [29999, 1], - [29998, 1], - [29997, 1], - [29996, 1], - [29995, 1], - [29994, 1], - [29993, 1], - [29992, 1], - [29991, 1], - [29990, 1], - [29989, 1], - [29988, 1], - [29987, 1], - [29986, 1], - [29985, 1], - [29984, 1], - [29983, 1], - [29982, 1], - [29982, 0, "\\"], - [29983, 0, "m"], - [29984, 0, "a"], - [29985, 0, "t"], - [29986, 0, "h"], - [29987, 0, "i"], - [29988, 0, "t"], - [29989, 0, "{"], - [29990, 0, "c"], - [29991, 0, "t"], - [29992, 0, "x"], - [29993, 0, "}"], - [29994, 0, ","], - [29995, 0, "\\"], - [29996, 0, ","], - [29997, 0, " "], - [29998, 0, "\\"], - [29999, 0, "m"], - [30000, 0, "a"], - [30001, 0, "t"], - [30002, 0, "h"], - [30003, 0, "i"], - [30004, 0, "t"], - [30005, 0, "{"], - [30006, 0, "o"], - [30007, 0, "p"], - [30008, 0, "}"], - [30009, 0, "("], - [30010, 0, "\\"], - [30011, 0, "m"], - [30012, 0, "a"], - [30013, 0, "t"], - [30014, 0, "h"], - [30015, 0, "i"], - [30016, 0, "t"], - [30017, 0, "{"], - [30018, 0, "i"], - [30019, 0, "d"], - [30020, 0, "}"], - [30021, 0, ","], - [30022, 0, " "], - [30023, 0, "\\"], - [30024, 0, "m"], - [30025, 0, "a"], - [30026, 0, "t"], - [30027, 0, "h"], - [30028, 0, "i"], - [30029, 0, "t"], - [30030, 0, "{"], - [30031, 0, "d"], - [30032, 0, "e"], - [30033, 0, "p"], - [30034, 0, "s"], - [30035, 0, "}"], - [30036, 0, ","], - [29679, 0, ")"], - [29182, 0, ")"], - [30039, 0, "\n"], - [30040, 0, " "], - [30041, 0, " "], - [30042, 0, " "], - [30043, 0, " "], - [30044, 0, "\\"], - [30045, 0, "m"], - [30046, 0, "a"], - [30047, 0, "t"], - [30048, 0, "h"], - [30049, 0, "s"], - [30050, 0, "f"], - [30051, 0, "{"], - [30052, 0, "c"], - [30053, 0, "u"], - [30054, 0, "r"], - [30055, 0, "s"], - [30056, 0, "o"], - [30057, 0, "r"], - [30058, 0, "}"], - [30059, 0, "("], - [30060, 0, "\\"], - [30061, 0, "l"], - [30062, 0, "a"], - [30063, 0, "n"], - [30064, 0, "g"], - [30065, 0, "l"], - [30066, 0, "e"], - [30067, 0, "\\"], - [30068, 0, "r"], - [30069, 0, "a"], - [30070, 0, "n"], - [30071, 0, "g"], - [30072, 0, "l"], - [30073, 0, "e"], - [30074, 0, ","], - [30075, 0, "\\"], - [30076, 0, ","], - [30077, 0, " "], - [30078, 0, "\\"], - [30079, 0, "m"], - [30080, 0, "a"], - [30081, 0, "t"], - [30082, 0, "h"], - [30083, 0, "i"], - [30084, 0, "t"], - [30085, 0, "{"], - [30086, 0, "i"], - [30087, 0, "d"], - [30088, 0, "}"], - [30089, 0, ")"], - [30090, 0, ","], - [30091, 0, " "], - [30092, 0, "\\"], - [30093, 0, "m"], - [30094, 0, "a"], - [30095, 0, "t"], - [30096, 0, "h"], - [30097, 0, "s"], - [30098, 0, "f"], - [30099, 0, "{"], - [30100, 0, "a"], - [30101, 0, "s"], - [30102, 0, "s"], - [30103, 0, "i"], - [30104, 0, "g"], - [30105, 0, "n"], - [30106, 0, "}"], - [30107, 0, "("], - [30108, 0, "\\"], - [30109, 0, "m"], - [30110, 0, "a"], - [30111, 0, "t"], - [30112, 0, "h"], - [30113, 0, "i"], - [30114, 0, "t"], - [30115, 0, "{"], - [30116, 0, "v"], - [30117, 0, "a"], - [30118, 0, "l"], - [30119, 0, "}"], - [30120, 0, ")"], - [30121, 0, ")"], - [30122, 0, " "], - [30123, 0, "\\"], - [30124, 0, "e"], - [30125, 0, "v"], - [30126, 0, "a"], - [30127, 0, "l"], - [30128, 0, "t"], - [30129, 0, "o"], - [30130, 0, " "], - [30131, 0, "\\"], - [30132, 0, "m"], - [30133, 0, "a"], - [30134, 0, "t"], - [30135, 0, "h"], - [30136, 0, "i"], - [30137, 0, "t"], - [30138, 0, "{"], - [30139, 0, "c"], - [30140, 0, "t"], - [30141, 0, "x"], - [30142, 0, "}"], - [30143, 0, "'"], - [30176, 0, "e"], - [30177, 0, "r"], - [30178, 0, "t"], - [30172, 1], - [30171, 1], - [30170, 1], - [30169, 1], - [30168, 1], - [30167, 1], - [30180, 1], - [30180, 1], - [30180, 1], - [30180, 1], - [30180, 1], - [30180, 1], - [30180, 0, "T"], - [30181, 0, "r"], - [30182, 0, "i"], - [30195, 1], - [30194, 1], - [30193, 1], - [30193, 0, "\\"], - [30194, 0, "m"], - [30195, 0, "a"], - [30196, 0, "t"], - [30197, 0, "h"], - [30198, 0, "i"], - [30199, 0, "t"], - [30200, 0, "{"], - [30201, 0, "c"], - [30202, 0, "t"], - [30203, 0, "x"], - [30204, 0, "}"], - [30217, 1], - [30217, 1], - [30217, 1], - [30217, 1], - [30217, 1], - [30217, 1], - [30217, 1], - [30217, 0, "o"], - [30233, 0, " "], - [30234, 0, "\\"], - [30235, 0, "m"], - [30236, 0, "a"], - [30237, 0, "t"], - [30238, 0, "h"], - [30239, 0, "i"], - [30240, 0, "t"], - [30241, 0, "{"], - [30242, 0, "d"], - [30243, 0, "e"], - [30244, 0, "p"], - [30245, 0, "s"], - [30246, 0, "}"], - [30247, 0, ","], - [30248, 0, "\n"], - [30249, 0, " "], - [30250, 0, " "], - [30251, 0, " "], - [30252, 0, " "], - [30253, 0, "\\"], - [30254, 0, "m"], - [30255, 0, "a"], - [30256, 0, "t"], - [30257, 0, "h"], - [30258, 0, "s"], - [30259, 0, "f"], - [30260, 0, "{"], - [30261, 0, "c"], - [30262, 0, "u"], - [30263, 0, "r"], - [30264, 0, "s"], - [30265, 0, "o"], - [30266, 0, "r"], - [30267, 0, "}"], - [30268, 0, "("], - [30269, 0, "\\"], - [30270, 0, "l"], - [30271, 0, "a"], - [30272, 0, "n"], - [30273, 0, "g"], - [30274, 0, "l"], - [30275, 0, "e"], - [30276, 0, "\\"], - [30277, 0, "r"], - [30278, 0, "a"], - [30279, 0, "n"], - [30280, 0, "g"], - [30281, 0, "l"], - [30282, 0, "e"], - [30283, 0, ","], - [30284, 0, "\\"], - [30285, 0, ","], - [30300, 0, ")"], - [30303, 1], - [30303, 0, "\\"], - [30304, 0, "m"], - [30305, 0, "a"], - [30306, 0, "t"], - [30307, 0, "h"], - [30308, 0, "s"], - [30309, 0, "f"], - [30310, 0, "{"], - [30311, 0, "i"], - [30312, 0, "n"], - [30313, 0, "s"], - [30314, 0, "e"], - [30315, 0, "r"], - [30316, 0, "t"], - [30317, 0, "}"], - [30318, 0, "("], - [30319, 0, "\\"], - [30320, 0, "m"], - [30321, 0, "a"], - [30322, 0, "t"], - [30323, 0, "h"], - [30324, 0, "i"], - [30325, 0, "t"], - [30326, 0, "{"], - [30327, 0, "v"], - [30328, 0, "a"], - [30329, 0, "l"], - [30330, 0, "}"], - [30331, 0, ")"], - [30348, 1], - [30347, 1], - [30346, 1], - [30346, 0, "\\"], - [30347, 0, "m"], - [30348, 0, "a"], - [30349, 0, "t"], - [30350, 0, "h"], - [30351, 0, "i"], - [30352, 0, "t"], - [30353, 0, "{"], - [30354, 0, "c"], - [30355, 0, "t"], - [30356, 0, "x"], - [30357, 0, "}"], - [30362, 0, "\\"], - [30363, 0, "m"], - [30364, 0, "a"], - [30365, 0, "t"], - [30366, 0, "h"], - [30367, 0, "s"], - [30368, 0, "f"], - [30369, 0, "{"], - [30370, 0, "n"], - [30371, 0, "e"], - [30372, 0, "x"], - [30373, 0, "t"], - [30374, 0, "}"], - [30375, 0, "("], - [30389, 0, ")"], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30403, 1], - [30423, 0, "\\"], - [30424, 0, "m"], - [30425, 0, "a"], - [30426, 0, "t"], - [30427, 0, "h"], - [30428, 0, "s"], - [30429, 0, "f"], - [30430, 0, "{"], - [30431, 0, "n"], - [30432, 0, "e"], - [30433, 0, "x"], - [30434, 0, "t"], - [30435, 0, "}"], - [30436, 0, "("], - [30448, 0, ")"], - [30480, 1], - [30479, 1], - [30478, 1], - [30477, 1], - [30476, 1], - [30475, 1], - [30474, 1], - [30473, 1], - [30472, 1], - [30471, 1], - [30470, 1], - [30469, 1], - [30468, 1], - [30467, 1], - [30466, 1], - [30465, 1], - [30464, 1], - [30463, 1], - [30462, 1], - [30475, 1], - [30006, 1], - [30005, 1], - [30005, 0, "s"], - [30006, 0, "f"], - [30414, 1], - [30496, 0, "\n"], - [30497, 0, "%"], - [30498, 0, " "], - [30499, 0, "T"], - [30500, 0, "O"], - [30501, 0, "D"], - [30502, 0, "O"], - [30503, 0, " "], - [30504, 0, "n"], - [30505, 0, "e"], - [30506, 0, "e"], - [30507, 0, "d"], - [30508, 0, " "], - [30509, 0, "t"], - [30510, 0, "o"], - [30511, 0, " "], - [30512, 0, "u"], - [30513, 0, "p"], - [30514, 0, "d"], - [30515, 0, "a"], - [30516, 0, "t"], - [30517, 0, "e"], - [30518, 0, " "], - [30519, 0, "t"], - [30520, 0, "h"], - [30521, 0, "e"], - [30522, 0, " "], - [30523, 0, "n"], - [30524, 0, "e"], - [30525, 0, "x"], - [30526, 0, "t"], - [30527, 0, " "], - [30528, 0, "t"], - [30529, 0, "w"], - [30530, 0, "o"], - [30531, 0, " "], - [30532, 0, "r"], - [30533, 0, "u"], - [30534, 0, "l"], - [30535, 0, "e"], - [30536, 0, "s"], - [30537, 0, "\n"], - [30566, 1], - [30566, 1], - [30566, 1], - [30566, 0, "\\"], - [30567, 0, "m"], - [30568, 0, "a"], - [30569, 0, "t"], - [30570, 0, "h"], - [30571, 0, "i"], - [30572, 0, "t"], - [30573, 0, "{"], - [30574, 0, "c"], - [30575, 0, "t"], - [30576, 0, "x"], - [30577, 0, "}"], - [30578, 0, "("], - [30578, 1], - [30579, 0, "\\"], - [30580, 0, "m"], - [30581, 0, "a"], - [30582, 0, "t"], - [30583, 0, "h"], - [30584, 0, "s"], - [30585, 0, "f"], - [30586, 0, "{"], - [30587, 0, "n"], - [30588, 0, "e"], - [30589, 0, "x"], - [30590, 0, "t"], - [30591, 0, "}"], - [30592, 0, "("], - [30606, 0, ")"], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 1], - [30611, 0, "\\"], - [30624, 1], - [30677, 1], - [30676, 1], - [30675, 1], - [30675, 0, "c"], - [30676, 0, "t"], - [30677, 0, "x"], - [30696, 1], - [30695, 1], - [30694, 1], - [30693, 1], - [30692, 1], - [30691, 1], - [30690, 1], - [30690, 0, "o"], - [30706, 0, " "], - [30707, 0, "\\"], - [30708, 0, "m"], - [30709, 0, "a"], - [30710, 0, "t"], - [30711, 0, "h"], - [30712, 0, "i"], - [30713, 0, "t"], - [30714, 0, "{"], - [30715, 0, "d"], - [30716, 0, "e"], - [30717, 0, "p"], - [30718, 0, "s"], - [30719, 0, "}"], - [30720, 0, ","], - [30721, 0, "\n"], - [30722, 0, " "], - [30723, 0, " "], - [30724, 0, " "], - [30726, 0, "\\"], - [30727, 0, "m"], - [30728, 0, "a"], - [30729, 0, "t"], - [30730, 0, "h"], - [30731, 0, "s"], - [30732, 0, "f"], - [30733, 0, "{"], - [30734, 0, "c"], - [30735, 0, "u"], - [30736, 0, "r"], - [30737, 0, "s"], - [30738, 0, "o"], - [30739, 0, "r"], - [30740, 0, "}"], - [30741, 0, "("], - [30742, 0, "\\"], - [30743, 0, "l"], - [30744, 0, "a"], - [30745, 0, "n"], - [30746, 0, "g"], - [30747, 0, "l"], - [30748, 0, "e"], - [30749, 0, "\\"], - [30750, 0, "r"], - [30751, 0, "a"], - [30752, 0, "n"], - [30753, 0, "g"], - [30754, 0, "l"], - [30755, 0, "e"], - [30756, 0, ","], - [30757, 0, "\\"], - [30758, 0, ","], - [30759, 0, " "], - [30773, 0, ")"], - [30776, 0, "\\"], - [30777, 0, "m"], - [30778, 0, "a"], - [30779, 0, "t"], - [30780, 0, "h"], - [30781, 0, "s"], - [30782, 0, "f"], - [30783, 0, "{"], - [30784, 0, "a"], - [30785, 0, "s"], - [30786, 0, "s"], - [30787, 0, "i"], - [30788, 0, "g"], - [30789, 0, "n"], - [30790, 0, "}"], - [30791, 0, "("], - [30792, 0, "\\"], - [30793, 0, "m"], - [30794, 0, "a"], - [30795, 0, "t"], - [30796, 0, "h"], - [30797, 0, "i"], - [30798, 0, "t"], - [30799, 0, "{"], - [30801, 0, "a"], - [30802, 0, "l"], - [30803, 0, "}"], - [30804, 0, ")"], - [30815, 1], - [30815, 1], - [30815, 1], - [30815, 0, "\\"], - [30816, 0, "m"], - [30817, 0, "a"], - [30818, 0, "t"], - [30819, 0, "h"], - [30820, 0, "i"], - [30821, 0, "t"], - [30822, 0, "{"], - [30823, 0, "c"], - [30824, 0, "t"], - [30825, 0, "x"], - [30826, 0, "}"], - [30860, 0, "e"], - [30861, 0, "r"], - [30862, 0, "t"], - [30856, 1], - [30855, 1], - [30854, 1], - [30853, 1], - [30852, 1], - [30851, 1], - [30877, 1], - [30877, 1], - [30877, 1], - [30877, 0, "\\"], - [30878, 0, "m"], - [30879, 0, "a"], - [30880, 0, "t"], - [30881, 0, "h"], - [30882, 0, "i"], - [30883, 0, "t"], - [30884, 0, "{"], - [30885, 0, "c"], - [30886, 0, "t"], - [30887, 0, "x"], - [30888, 0, "}"], - [30907, 1], - [30906, 1], - [30905, 1], - [30904, 1], - [30903, 1], - [30902, 1], - [30901, 1], - [30901, 0, "o"], - [30917, 0, " "], - [30918, 0, "\\"], - [30919, 0, "m"], - [30920, 0, "a"], - [30921, 0, "t"], - [30922, 0, "h"], - [30923, 0, "i"], - [30924, 0, "t"], - [30925, 0, "{"], - [30926, 0, "d"], - [30927, 0, "e"], - [30928, 0, "p"], - [30929, 0, "s"], - [30930, 0, "}"], - [30931, 0, ","], - [30932, 0, "\n"], - [30933, 0, " "], - [30934, 0, " "], - [30935, 0, " "], - [30937, 0, "\\"], - [30938, 0, "m"], - [30939, 0, "a"], - [30940, 0, "t"], - [30941, 0, "h"], - [30942, 0, "s"], - [30943, 0, "f"], - [30944, 0, "{"], - [30945, 0, "c"], - [30946, 0, "u"], - [30947, 0, "r"], - [30948, 0, "s"], - [30949, 0, "o"], - [30950, 0, "r"], - [30951, 0, "}"], - [30952, 0, "("], - [30953, 0, "\\"], - [30954, 0, "l"], - [30955, 0, "a"], - [30956, 0, "n"], - [30957, 0, "g"], - [30958, 0, "l"], - [30959, 0, "e"], - [30960, 0, "\\"], - [30961, 0, "r"], - [30962, 0, "a"], - [30963, 0, "n"], - [30964, 0, "g"], - [30965, 0, "l"], - [30966, 0, "e"], - [30967, 0, ","], - [30968, 0, "\\"], - [30969, 0, ","], - [30970, 0, " "], - [30984, 0, ")"], - [30987, 0, "\\"], - [30988, 0, "m"], - [30989, 0, "a"], - [30990, 0, "t"], - [30991, 0, "h"], - [30992, 0, "s"], - [30993, 0, "f"], - [30994, 0, "{"], - [30995, 0, "i"], - [30996, 0, "n"], - [30997, 0, "s"], - [30998, 0, "e"], - [30999, 0, "r"], - [31000, 0, "t"], - [31001, 0, "}"], - [31002, 0, "("], - [31003, 0, "\\"], - [31004, 0, "m"], - [31005, 0, "a"], - [31006, 0, "t"], - [31007, 0, "h"], - [31008, 0, "i"], - [31009, 0, "t"], - [31010, 0, "{"], - [31012, 0, "a"], - [31013, 0, "l"], - [31014, 0, "}"], - [31015, 0, ")"], - [31016, 0, ")"], - [31017, 1], - [31026, 1], - [31026, 1], - [31026, 1], - [31026, 0, "\\"], - [31027, 0, "m"], - [31028, 0, "a"], - [31029, 0, "t"], - [31030, 0, "h"], - [31031, 0, "i"], - [31032, 0, "t"], - [31033, 0, "{"], - [31034, 0, "c"], - [31035, 0, "t"], - [31036, 0, "x"], - [31037, 0, "}"], - [30536, 1], - [30535, 1], - [30534, 1], - [30533, 1], - [30532, 1], - [30531, 1], - [30530, 1], - [30529, 1], - [30528, 1], - [30527, 1], - [30526, 1], - [30525, 1], - [30524, 1], - [30523, 1], - [30522, 1], - [30521, 1], - [30520, 1], - [30519, 1], - [30518, 1], - [30517, 1], - [30516, 1], - [30515, 1], - [30514, 1], - [30513, 1], - [30512, 1], - [30511, 1], - [30510, 1], - [30509, 1], - [30508, 1], - [30507, 1], - [30506, 1], - [30505, 1], - [30504, 1], - [30503, 1], - [30502, 1], - [30501, 1], - [30500, 1], - [30499, 1], - [30498, 1], - [30497, 1], - [30496, 1], - [30495, 1], - [31178, 1], - [31178, 1], - [31178, 1], - [31178, 1], - [31178, 1], - [31178, 0, "L"], - [31179, 0, "i"], - [31180, 0, "t"], - [31180, 1], - [31180, 0, "s"], - [31181, 0, "t"], - [31061, 1], - [31060, 1], - [31059, 1], - [31058, 1], - [31057, 1], - [31056, 1], - [31056, 0, "c"], - [31057, 0, "t"], - [31058, 0, "x"], - [31060, 1], - [31047, 1], - [31046, 1], - [31045, 1], - [31044, 1], - [31056, 0, "("], - [31057, 0, "k"], - [31058, 0, ")"], - [31058, 1], - [31057, 1], - [31056, 1], - [31044, 0, "\\"], - [31045, 0, "m"], - [31046, 0, "a"], - [31047, 0, "t"], - [31048, 0, "h"], - [31049, 0, "s"], - [31050, 0, "f"], - [31051, 0, "{"], - [31052, 0, "n"], - [31053, 0, "e"], - [31054, 0, "x"], - [31055, 0, "t"], - [31056, 0, "}"], - [31057, 0, "("], - [31058, 0, "\\"], - [31059, 0, "m"], - [31060, 0, "a"], - [31061, 0, "t"], - [31062, 0, "h"], - [31063, 0, "i"], - [31064, 0, "t"], - [31065, 0, "{"], - [31066, 0, "t"], - [31067, 0, "a"], - [31068, 0, "r"], - [31069, 0, "g"], - [31070, 0, "e"], - [31071, 0, "t"], - [31072, 0, "}"], - [31073, 0, ")"], - [31074, 0, " "], - [31074, 1], - [31074, 0, " "], - [31075, 0, "\\"], - [31076, 0, "i"], - [31077, 0, "n"], - [31078, 0, " "], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31091, 1], - [31148, 1], - [31147, 1], - [31146, 1], - [31145, 1], - [31144, 1], - [31143, 1], - [31142, 1], - [31141, 1], - [31140, 1], - [31139, 1], - [31138, 1], - [31137, 1], - [31136, 1], - [31135, 1], - [31134, 1], - [31133, 1], - [31132, 1], - [31131, 1], - [31130, 1], - [31129, 1], - [31128, 1], - [31127, 1], - [31126, 1], - [31125, 1], - [31124, 1], - [31123, 1], - [31122, 1], - [31121, 1], - [31120, 1], - [31119, 1], - [31118, 1], - [31117, 1], - [31116, 1], - [31115, 1], - [31114, 1], - [31113, 1], - [31112, 1], - [31111, 1], - [31110, 1], - [31109, 1], - [31108, 1], - [31107, 1], - [31106, 1], - [31105, 1], - [31104, 1], - [31103, 1], - [31102, 1], - [31101, 1], - [31100, 1], - [31099, 1], - [31098, 1], - [31097, 1], - [31096, 1], - [31095, 1], - [31094, 1], - [31093, 1], - [31139, 1], - [31138, 1], - [31137, 1], - [31137, 0, "\\"], - [31138, 0, "m"], - [31139, 0, "a"], - [31140, 0, "t"], - [31141, 0, "h"], - [31142, 0, "i"], - [31143, 0, "t"], - [31144, 0, "{"], - [31145, 0, "c"], - [31146, 0, "t"], - [31147, 0, "x"], - [31148, 0, "}"], - [31168, 1], - [31167, 1], - [31166, 1], - [31165, 1], - [31164, 1], - [31163, 1], - [31162, 1], - [31161, 1], - [31161, 0, "o"], - [31162, 0, "p"], - [31178, 0, "\\"], - [31179, 0, "m"], - [31180, 0, "a"], - [31181, 0, "t"], - [31182, 0, "h"], - [31183, 0, "i"], - [31184, 0, "t"], - [31185, 0, "{"], - [31186, 0, "d"], - [31187, 0, "e"], - [31188, 0, "p"], - [31189, 0, "s"], - [31190, 0, "}"], - [31191, 0, ","], - [31192, 0, "\n"], - [31193, 0, " "], - [31194, 0, " "], - [31195, 0, " "], - [31196, 0, " "], - [31197, 0, "\\"], - [31198, 0, "m"], - [31199, 0, "a"], - [31200, 0, "t"], - [31201, 0, "h"], - [31202, 0, "s"], - [31203, 0, "f"], - [31204, 0, "{"], - [31205, 0, "c"], - [31206, 0, "u"], - [31207, 0, "r"], - [31208, 0, "s"], - [31209, 0, "o"], - [31210, 0, "r"], - [31211, 0, "}"], - [31212, 0, "("], - [31213, 0, "\\"], - [31214, 0, "l"], - [31215, 0, "a"], - [31216, 0, "n"], - [31217, 0, "g"], - [31218, 0, "l"], - [31219, 0, "e"], - [31220, 0, "\\"], - [31221, 0, "r"], - [31222, 0, "a"], - [31223, 0, "n"], - [31224, 0, "g"], - [31225, 0, "l"], - [31226, 0, "e"], - [31227, 0, ","], - [31228, 0, "\\"], - [31229, 0, ","], - [31230, 0, " "], - [31247, 0, ","], - [31248, 0, " "], - [31249, 0, "\\"], - [31250, 0, "m"], - [31251, 0, "a"], - [31252, 0, "t"], - [31253, 0, "h"], - [31254, 0, "s"], - [31255, 0, "f"], - [31256, 0, "{"], - [31257, 0, "l"], - [31258, 0, "i"], - [31259, 0, "s"], - [31260, 0, "t"], - [31261, 0, "D"], - [31262, 0, "e"], - [31263, 0, "l"], - [31264, 0, "}"], - [31265, 0, ")"], - [31282, 1], - [31281, 1], - [31280, 1], - [31279, 1], - [31279, 0, "\\"], - [31280, 0, "m"], - [31281, 0, "a"], - [31282, 0, "t"], - [31283, 0, "h"], - [31284, 0, "i"], - [31285, 0, "t"], - [31286, 0, "{"], - [31287, 0, "c"], - [31288, 0, "t"], - [31289, 0, "x"], - [31290, 0, "}"], - [31294, 0, "\\"], - [31295, 0, "m"], - [31296, 0, "a"], - [31297, 0, "t"], - [31298, 0, "h"], - [31299, 0, "s"], - [31300, 0, "f"], - [31301, 0, "{"], - [31302, 0, "d"], - [31303, 0, "e"], - [31304, 0, "l"], - [31305, 0, "e"], - [31306, 0, "t"], - [31307, 0, "e"], - [31308, 0, "d"], - [31309, 0, "}"], - [31310, 0, "("], - [31326, 0, ")"], - [31348, 1], - [31348, 1], - [31348, 1], - [31348, 1], - [31348, 1], - [31348, 1], - [31348, 0, "t"], - [31349, 0, "r"], - [31350, 0, "u"], - [31351, 0, "e"], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31353, 1], - [31125, 1], - [31125, 1], - [31125, 0, "U"], - [31079, 0, "\\"], - [31080, 0, "m"], - [31081, 0, "a"], - [31082, 0, "t"], - [31083, 0, "h"], - [31084, 0, "r"], - [31085, 0, "m"], - [31086, 0, "{"], - [31087, 0, "d"], - [31088, 0, "o"], - [31089, 0, "m"], - [31090, 0, "}"], - [31091, 0, "("], - [31104, 0, ")"], - [31501, 0, "T"], - [31502, 0, "O"], - [31503, 0, "D"], - [31504, 0, "O"], - [31505, 0, " "], - [31506, 0, "k"], - [31507, 0, "n"], - [31508, 0, "o"], - [31509, 0, "w"], - [31510, 0, "n"], - [31511, 0, " "], - [31512, 0, "p"], - [31513, 0, "r"], - [31514, 0, "o"], - [31515, 0, "b"], - [31516, 0, "l"], - [31517, 0, "e"], - [31518, 0, "m"], - [31519, 0, "s"], - [31520, 0, ":"], - [31521, 0, "\n"], - [31522, 0, "\n"], - [31523, 0, "\\"], - [31524, 0, "b"], - [31525, 0, "e"], - [31526, 0, "g"], - [31527, 0, "i"], - [31528, 0, "n"], - [31529, 0, "{"], - [31530, 0, "e"], - [31531, 0, "n"], - [31532, 0, "u"], - [31533, 0, "m"], - [31534, 0, "e"], - [31535, 0, "r"], - [31536, 0, "a"], - [31537, 0, "t"], - [31538, 0, "e"], - [31539, 0, "}"], - [31540, 0, "\n"], - [31541, 0, "\\"], - [31542, 0, "e"], - [31543, 0, "n"], - [31544, 0, "d"], - [31545, 0, "{"], - [31546, 0, "e"], - [31547, 0, "n"], - [31548, 0, "u"], - [31549, 0, "m"], - [31550, 0, "e"], - [31551, 0, "r"], - [31552, 0, "a"], - [31553, 0, "t"], - [31554, 0, "e"], - [31555, 0, "}"], - [31540, 0, "\n"], - [31541, 0, "\\"], - [31542, 0, "i"], - [31543, 0, "t"], - [31544, 0, "e"], - [31545, 0, "m"], - [31546, 0, " "], - [31547, 0, "A"], - [31548, 0, "s"], - [31549, 0, "s"], - [31550, 0, "i"], - [31551, 0, "g"], - [31552, 0, "n"], - [31553, 0, "m"], - [31554, 0, "e"], - [31555, 0, "n"], - [31556, 0, "t"], - [31557, 0, " "], - [31558, 0, "o"], - [31559, 0, "f"], - [31560, 0, " "], - [31561, 0, "e"], - [31562, 0, "m"], - [31563, 0, "p"], - [31564, 0, "t"], - [31565, 0, "y"], - [31566, 0, " "], - [31567, 0, "l"], - [31568, 0, "i"], - [31569, 0, "s"], - [31570, 0, "t"], - [31571, 0, " "], - [31572, 0, "a"], - [31573, 0, "n"], - [31574, 0, "d"], - [31575, 0, " "], - [31576, 0, "e"], - [31577, 0, "m"], - [31578, 0, "p"], - [31579, 0, "t"], - [31580, 0, "y"], - [31581, 0, " "], - [31582, 0, "a"], - [31583, 0, "r"], - [31584, 0, "r"], - [31585, 0, "a"], - [31586, 0, "y"], - [31587, 0, " "], - [31588, 0, "i"], - [31589, 0, "s"], - [31590, 0, " "], - [31591, 0, "n"], - [31592, 0, "o"], - [31593, 0, "t"], - [31594, 0, " "], - [31595, 0, "d"], - [31596, 0, "e"], - [31597, 0, "f"], - [31598, 0, "i"], - [31599, 0, "n"], - [31600, 0, "e"], - [31601, 0, "d"], - [31602, 0, " "], - [31603, 0, "("], - [31604, 0, "n"], - [31605, 0, "e"], - [31606, 0, "e"], - [31607, 0, "d"], - [31608, 0, " "], - [31609, 0, "t"], - [31610, 0, "o"], - [31611, 0, " "], - [31612, 0, "r"], - [31613, 0, "e"], - [31614, 0, "s"], - [31615, 0, "e"], - [31616, 0, "t"], - [31617, 0, " "], - [31618, 0, "v"], - [31619, 0, "a"], - [31620, 0, "l"], - [31621, 0, "u"], - [31622, 0, "e"], - [31623, 0, " "], - [31624, 0, "b"], - [31625, 0, "u"], - [31626, 0, "t"], - [31627, 0, " "], - [31628, 0, "p"], - [31629, 0, "r"], - [31630, 0, "e"], - [31631, 0, "s"], - [31632, 0, "e"], - [31633, 0, "r"], - [31634, 0, "v"], - [31635, 0, "e"], - [31636, 0, " "], - [31637, 0, "i"], - [31638, 0, "t"], - [31639, 0, "s"], - [31640, 0, " "], - [31641, 0, "e"], - [31642, 0, "x"], - [31643, 0, "i"], - [31644, 0, "s"], - [31645, 0, "t"], - [31646, 0, "e"], - [31647, 0, "n"], - [31648, 0, "c"], - [31649, 0, "e"], - [31650, 0, ")"], - [31650, 0, "/"], - [31651, 0, "d"], - [31652, 0, "a"], - [31653, 0, "t"], - [31654, 0, "a"], - [31655, 0, "t"], - [31656, 0, "y"], - [31657, 0, "p"], - [31658, 0, "e"], - [31540, 0, "\n"], - [31541, 0, "\\"], - [31542, 0, "i"], - [31543, 0, "t"], - [31544, 0, "e"], - [31545, 0, "m"], - [31546, 0, " "], - [31547, 0, "D"], - [31548, 0, "e"], - [31549, 0, "l"], - [31550, 0, "e"], - [31551, 0, "t"], - [31552, 0, "i"], - [31553, 0, "n"], - [31554, 0, "g"], - [31555, 0, " "], - [31556, 0, "e"], - [31557, 0, "l"], - [31558, 0, "e"], - [31559, 0, "m"], - [31560, 0, "e"], - [31561, 0, "n"], - [31562, 0, "t"], - [31563, 0, " "], - [31564, 0, "f"], - [31565, 0, "r"], - [31566, 0, "o"], - [31567, 0, "m"], - [31568, 0, " "], - [31569, 0, "m"], - [31570, 0, "a"], - [31571, 0, "p"], - [31692, 0, "\n"], - [31693, 0, "\\"], - [31694, 0, "i"], - [31695, 0, "t"], - [31696, 0, "e"], - [31697, 0, "m"], - [31698, 0, " "], - [31699, 0, "\\"], - [31700, 0, "t"], - [31701, 0, "e"], - [31702, 0, "x"], - [31703, 0, "t"], - [31704, 0, "s"], - [31705, 0, "f"], - [31706, 0, "{"], - [31707, 0, "."], - [31708, 0, "n"], - [31709, 0, "e"], - [31710, 0, "x"], - [31711, 0, "t"], - [31712, 0, "}"], - [31713, 0, " "], - [31714, 0, "s"], - [31715, 0, "h"], - [31716, 0, "o"], - [31717, 0, "u"], - [31718, 0, "l"], - [31719, 0, "d"], - [31720, 0, " "], - [31721, 0, "s"], - [31722, 0, "k"], - [31723, 0, "i"], - [31724, 0, "p"], - [31725, 0, " "], - [31726, 0, "o"], - [31727, 0, "v"], - [31728, 0, "e"], - [31729, 0, "r"], - [31730, 0, " "], - [31731, 0, "t"], - [31732, 0, "o"], - [31733, 0, "m"], - [31734, 0, "b"], - [31735, 0, "s"], - [31736, 0, "t"], - [31737, 0, "o"], - [31738, 0, "n"], - [31739, 0, "e"], - [31740, 0, "s"], - [31682, 1], - [31682, 0, " "], - [31683, 0, "a"], - [31684, 0, "n"], - [31685, 0, "d"], - [31686, 0, " "], - [31655, 0, ","], - [31571, 1], - [31570, 1], - [31569, 1], - [31568, 1], - [31567, 1], - [31566, 1], - [31565, 1], - [31564, 1], - [31563, 1], - [31562, 1], - [31561, 1], - [31560, 1], - [31559, 1], - [31558, 1], - [31557, 1], - [31556, 1], - [31555, 1], - [31554, 1], - [31553, 1], - [31552, 1], - [31551, 1], - [31550, 1], - [31549, 1], - [31548, 1], - [31548, 0, "i"], - [31549, 0, "s"], - [31550, 0, "t"], - [31551, 0, "i"], - [31552, 0, "n"], - [31553, 0, "c"], - [31554, 0, "t"], - [31555, 0, "i"], - [31556, 0, "o"], - [31557, 0, "n"], - [31558, 0, " "], - [31559, 0, "b"], - [31560, 0, "e"], - [31561, 0, "t"], - [31562, 0, "w"], - [31563, 0, "e"], - [31564, 0, "e"], - [31565, 0, "n"], - [31566, 0, " "], - [31567, 0, "\\"], - [31568, 0, "t"], - [31569, 0, "e"], - [31570, 0, "x"], - [31571, 0, "t"], - [31572, 0, "s"], - [31573, 0, "f"], - [31574, 0, "{"], - [31575, 0, "l"], - [31576, 0, "i"], - [31577, 0, "s"], - [31578, 0, "t"], - [31579, 0, "D"], - [31580, 0, "e"], - [31581, 0, "l"], - [31582, 0, "}"], - [31583, 0, " "], - [31584, 0, "a"], - [31585, 0, "n"], - [31586, 0, "d"], - [31587, 0, " "], - [31588, 0, "\\"], - [31589, 0, "t"], - [31590, 0, "e"], - [31591, 0, "x"], - [31592, 0, "t"], - [31593, 0, "s"], - [31594, 0, "f"], - [31595, 0, "{"], - [31596, 0, "m"], - [31597, 0, "a"], - [31598, 0, "p"], - [31599, 0, "D"], - [31600, 0, "e"], - [31601, 0, "l"], - [31602, 0, "}"], - [31728, 0, " "], - [31729, 0, "-"], - [31730, 0, "-"], - [31731, 0, " "], - [31732, 0, "a"], - [31733, 0, "l"], - [31734, 0, "s"], - [31735, 0, "o"], - [31736, 0, " "], - [31737, 0, "n"], - [31738, 0, "e"], - [31739, 0, "e"], - [31740, 0, "d"], - [31741, 0, "e"], - [31742, 0, "d"], - [31743, 0, " "], - [31744, 0, "f"], - [31745, 0, "o"], - [31746, 0, "r"], - [31747, 0, " "], - [31748, 0, "c"], - [31749, 0, "r"], - [31750, 0, "e"], - [31751, 0, "a"], - [31752, 0, "t"], - [31753, 0, "i"], - [31754, 0, "n"], - [31755, 0, "g"], - [31756, 0, " "], - [31757, 0, "n"], - [31758, 0, "e"], - [31759, 0, "s"], - [31760, 0, "t"], - [31761, 0, "e"], - [31762, 0, "d"], - [31763, 0, " "], - [31764, 0, "l"], - [31765, 0, "i"], - [31766, 0, "s"], - [31767, 0, "t"], - [31768, 0, "s"], - [31769, 0, " "], - [31770, 0, "9"], - [31771, 0, "2"], - [31771, 1], - [31770, 1], - [31770, 0, "("], - [31771, 0, "2"], - [31772, 0, "D"], - [31773, 0, " "], - [31774, 0, "a"], - [31775, 0, "r"], - [31776, 0, "r"], - [31777, 0, "a"], - [31778, 0, "y"], - [31779, 0, "s"], - [31780, 0, ")"], - [31830, 0, "\n"], - [31831, 0, "\\"], - [31832, 0, "i"], - [31833, 0, "t"], - [31834, 0, "e"], - [31835, 0, "m"], - [31836, 0, " "], - [31837, 0, "A"], - [31838, 0, "s"], - [31839, 0, "s"], - [31840, 0, "i"], - [31841, 0, "g"], - [31842, 0, "n"], - [31843, 0, "m"], - [31844, 0, "e"], - [31845, 0, "n"], - [31846, 0, "t"], - [31847, 0, " "], - [31837, 1], - [31837, 0, "R"], - [31838, 0, "e"], - [31839, 0, "g"], - [31840, 0, "i"], - [31841, 0, "s"], - [31842, 0, "t"], - [31843, 0, "e"], - [31844, 0, "r"], - [31845, 0, " "], - [31846, 0, "a"], - [31856, 1], - [31856, 0, ":"], - [31857, 0, " "], - [31858, 0, "s"], - [31859, 0, "e"], - [31860, 0, "t"], - [31861, 0, " "], - [31862, 0, "o"], - [31863, 0, "f"], - [31864, 0, " "], - [31865, 0, "c"], - [31866, 0, "o"], - [31867, 0, "n"], - [31868, 0, "c"], - [31869, 0, "u"], - [31870, 0, "r"], - [31871, 0, "r"], - [31872, 0, "e"], - [31873, 0, "n"], - [31874, 0, "t"], - [31875, 0, " "], - [31876, 0, "v"], - [31877, 0, "a"], - [31878, 0, "l"], - [31879, 0, "u"], - [31880, 0, "e"], - [31881, 0, "s"], - [31882, 0, " "], - [31883, 0, "s"], - [31884, 0, "h"], - [31885, 0, "o"], - [31886, 0, "u"], - [31887, 0, "l"], - [31888, 0, "d"], - [31889, 0, " "], - [31890, 0, "d"], - [31891, 0, "e"], - [31892, 0, "f"], - [31893, 0, "a"], - [31894, 0, "u"], - [31895, 0, "l"], - [31896, 0, "t"], - [31897, 0, " "], - [31898, 0, "t"], - [31899, 0, "o"], - [31900, 0, " "], - [31901, 0, "e"], - [31902, 0, "m"], - [31903, 0, "p"], - [31904, 0, "t"], - [31905, 0, "y"], - [31906, 0, " "], - [31907, 0, "s"], - [31908, 0, "e"], - [31909, 0, "t"], - [31910, 0, " "], - [31911, 0, "i"], - [31912, 0, "f"], - [31913, 0, " "], - [31914, 0, "r"], - [31915, 0, "e"], - [31916, 0, "g"], - [31917, 0, "i"], - [31918, 0, "s"], - [31919, 0, "t"], - [31920, 0, "e"], - [31921, 0, "r"], - [31922, 0, " "], - [31923, 0, "i"], - [31924, 0, "s"], - [31925, 0, " "], - [31926, 0, "n"], - [31927, 0, "o"], - [31928, 0, "d"], - [31928, 1], - [31928, 0, "t"], - [31929, 0, " "], - [31930, 0, "d"], - [31931, 0, "e"], - [31932, 0, "f"], - [31933, 0, "i"], - [31934, 0, "n"], - [31935, 0, "e"], - [31936, 0, "d"], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31831, 1], - [31387, 0, "\n"], - [31388, 0, "\n"], - [31389, 0, "\\"], - [31390, 0, "b"], - [31391, 0, "e"], - [31392, 0, "g"], - [31393, 0, "i"], - [31394, 0, "n"], - [31395, 0, "{"], - [31396, 0, "p"], - [31397, 0, "r"], - [31398, 0, "o"], - [31399, 0, "o"], - [31400, 0, "f"], - [31401, 0, "t"], - [31402, 0, "r"], - [31403, 0, "e"], - [31404, 0, "e"], - [31405, 0, "}"], - [31406, 0, "\n"], - [31407, 0, "\\"], - [31408, 0, "A"], - [31409, 0, "x"], - [31410, 0, "i"], - [31411, 0, "o"], - [31412, 0, "m"], - [31413, 0, "C"], - [31414, 0, "{"], - [31415, 0, "$"], - [31416, 0, "\\"], - [31417, 0, "m"], - [31418, 0, "a"], - [31419, 0, "t"], - [31420, 0, "h"], - [31421, 0, "s"], - [31422, 0, "f"], - [31423, 0, "+"], - [31423, 1], - [31423, 0, "{"], - [31424, 0, "r"], - [31425, 0, "e"], - [31426, 0, "g"], - [31427, 0, "T"], - [31428, 0, "}"], - [31429, 0, "("], - [31430, 0, "k"], - [31431, 0, ")"], - [31432, 0, " "], - [31433, 0, "\\"], - [31434, 0, "i"], - [31435, 0, "n"], - [31436, 0, " "], - [31437, 0, "\\"], - [31438, 0, "m"], - [31439, 0, "a"], - [31440, 0, "t"], - [31441, 0, "h"], - [31442, 0, "r"], - [31443, 0, "m"], - [31444, 0, " "], - [31444, 1], - [31444, 0, "{"], - [31445, 0, "d"], - [31446, 0, "o"], - [31447, 0, "m"], - [31448, 0, "}"], - [31449, 0, "("], - [31450, 0, "\\"], - [31451, 0, "m"], - [31452, 0, "a"], - [31453, 0, "t"], - [31454, 0, "h"], - [31455, 0, "i"], - [31456, 0, "t"], - [31457, 0, "{"], - [31458, 0, "c"], - [31459, 0, "t"], - [31460, 0, "x"], - [31461, 0, "}"], - [31462, 0, ")"], - [31463, 0, "$"], - [31464, 0, "}"], - [31465, 0, "\n"], - [31466, 0, "\\"], - [31467, 0, "e"], - [31468, 0, "n"], - [31469, 0, "d"], - [31470, 0, "{"], - [31471, 0, "p"], - [31472, 0, "r"], - [31473, 0, "o"], - [31474, 0, "o"], - [31475, 0, "f"], - [31476, 0, "t"], - [31477, 0, "r"], - [31478, 0, "e"], - [31479, 0, "e"], - [31480, 0, "}"], - [31465, 0, "\n"], - [31466, 0, "\\"], - [31467, 0, "A"], - [31468, 0, "x"], - [31469, 0, "i"], - [31470, 0, "o"], - [31471, 0, "m"], - [31472, 0, "C"], - [31473, 0, "{"], - [31474, 0, "$"], - [31475, 0, "\\"], - [31476, 0, "m"], - [31477, 0, "a"], - [31478, 0, "t"], - [31479, 0, "h"], - [31480, 0, "i"], - [31481, 0, "t"], - [31482, 0, "{"], - [31483, 0, "c"], - [31484, 0, "o"], - [31485, 0, "n"], - [31486, 0, "c"], - [31487, 0, "u"], - [31488, 0, "r"], - [31489, 0, "r"], - [31490, 0, "e"], - [31491, 0, "n"], - [31492, 0, "t"], - [31493, 0, "}"], - [31494, 0, " "], - [31495, 0, "="], - [31496, 0, " "], - [31497, 0, "\\"], - [31498, 0, "{"], - [31499, 0, " "], - [31500, 0, "\\"], - [31501, 0, "m"], - [31502, 0, "a"], - [31503, 0, "t"], - [31504, 0, "h"], - [31505, 0, "i"], - [31506, 0, "t"], - [31507, 0, "{"], - [31508, 0, "i"], - [31509, 0, "d"], - [31510, 0, "}"], - [31511, 0, "i"], - [31512, 0, " "], - [31513, 0, "\\"], - [31514, 0, "m"], - [31515, 0, "a"], - [31516, 0, "p"], - [31517, 0, "s"], - [31518, 0, "o"], - [31519, 0, "t"], - [31519, 1], - [31518, 1], - [31518, 0, "t"], - [31519, 0, "o"], - [31520, 0, " "], - [31521, 0, "v"], - [31522, 0, "_"], - [31523, 0, "i"], - [31524, 0, " "], - [31525, 0, "\\"], - [31526, 0, "m"], - [31527, 0, "i"], - [31528, 0, "d"], - [31529, 0, "\n"], - [31530, 0, " "], - [31531, 0, " "], - [31532, 0, " "], - [31533, 0, " "], - [31534, 0, "("], - [31535, 0, "\\"], - [31536, 0, "m"], - [31537, 0, "a"], - [31538, 0, "t"], - [31539, 0, "h"], - [31540, 0, "i"], - [31541, 0, "t"], - [31542, 0, "{"], - [31543, 0, "i"], - [31544, 0, "d"], - [31545, 0, "}"], - [31546, 0, "_"], - [31547, 0, "i"], - [31548, 0, " "], - [31549, 0, "\\"], - [31550, 0, "m"], - [31551, 0, "a"], - [31552, 0, "p"], - [31553, 0, "s"], - [31554, 0, "t"], - [31555, 0, "o"], - [31556, 0, " "], - [31557, 0, "v"], - [31558, 0, "_"], - [31559, 0, "i"], - [31560, 0, ")"], - [31561, 0, " "], - [31562, 0, "\\"], - [31563, 0, "i"], - [31564, 0, "n"], - [31565, 0, " "], - [31566, 0, "\\"], - [31567, 0, "m"], - [31568, 0, "a"], - [31569, 0, "t"], - [31570, 0, "h"], - [31571, 0, "i"], - [31572, 0, "t"], - [31573, 0, "{"], - [31574, 0, "c"], - [31575, 0, "t"], - [31576, 0, "x"], - [31577, 0, "}"], - [31578, 0, "("], - [31579, 0, "\\"], - [31580, 0, "m"], - [31581, 0, "a"], - [31582, 0, "t"], - [31583, 0, "h"], - [31584, 0, "s"], - [31585, 0, "f"], - [31586, 0, "{"], - [31587, 0, "r"], - [31588, 0, "e"], - [31589, 0, "g"], - [31590, 0, "T"], - [31591, 0, "}"], - [31592, 0, "("], - [31593, 0, "k"], - [31594, 0, ")"], - [31595, 0, ")"], - [31596, 0, " "], - [31597, 0, "\\"], - [31597, 1], - [31596, 1], - [31596, 0, "\n"], - [31597, 0, " "], - [31598, 0, " "], - [31599, 0, " "], - [31600, 0, " "], - [31601, 0, "\\"], - [31602, 0, ","], - [31603, 0, "\\"], - [31604, 0, "w"], - [31605, 0, "e"], - [31606, 0, "d"], - [31607, 0, "g"], - [31608, 0, "e"], - [31609, 0, "\\"], - [31610, 0, ","], - [31611, 0, " "], - [31612, 0, "\\"], - [31613, 0, "m"], - [31614, 0, "a"], - [31615, 0, "t"], - [31616, 0, "h"], - [31617, 0, "i"], - [31618, 0, "t"], - [31619, 0, "{"], - [31620, 0, "i"], - [31621, 0, "d"], - [31622, 0, "}"], - [31623, 0, "_"], - [31624, 0, "i"], - [31625, 0, " "], - [31626, 0, "\\"], - [31627, 0, "n"], - [31628, 0, "o"], - [31629, 0, "t"], - [31630, 0, "i"], - [31631, 0, "n"], - [31632, 0, " "], - [31633, 0, "\\"], - [31634, 0, "m"], - [31635, 0, "a"], - [31636, 0, "t"], - [31637, 0, "h"], - [31638, 0, "i"], - [31639, 0, "t"], - [31640, 0, "{"], - [31641, 0, "d"], - [31642, 0, "e"], - [31643, 0, "p"], - [31644, 0, "s"], - [31645, 0, "}"], - [31646, 0, " "], - [31647, 0, "\\"], - [31648, 0, "}"], - [31649, 0, "$"], - [31650, 0, "}"], - [31651, 0, "\n"], - [31652, 0, "\\"], - [31653, 0, "L"], - [31654, 0, "e"], - [31655, 0, "f"], - [31656, 0, "t"], - [31657, 0, "L"], - [31658, 0, "a"], - [31659, 0, "b"], - [31660, 0, "e"], - [31661, 0, "l"], - [31662, 0, "{"], - [31663, 0, "\\"], - [31664, 0, "t"], - [31665, 0, "e"], - [31666, 0, "x"], - [31667, 0, "t"], - [31668, 0, "s"], - [31669, 0, "c"], - [31670, 0, "{"], - [31671, 0, "C"], - [31672, 0, "l"], - [31673, 0, "e"], - [31674, 0, "a"], - [31675, 0, "r"], - [31676, 0, "-"], - [31677, 0, "R"], - [31678, 0, "e"], - [31679, 0, "g"], - [31680, 0, "}"], - [31681, 0, "}"], - [31682, 0, "\n"], - [31683, 0, "\\"], - [31684, 0, "B"], - [31685, 0, "i"], - [31686, 0, "n"], - [31687, 0, "a"], - [31688, 0, "r"], - [31689, 0, "y"], - [31690, 0, "I"], - [31691, 0, "n"], - [31692, 0, "f"], - [31693, 0, "C"], - [31694, 0, "{"], - [31695, 0, "$"], - [31696, 0, "$"], - [31697, 0, "}"], - [31696, 0, "\\"], - [31697, 0, "m"], - [31698, 0, "a"], - [31699, 0, "t"], - [31700, 0, "h"], - [31701, 0, "i"], - [31702, 0, "t"], - [31703, 0, "{"], - [31704, 0, "c"], - [31705, 0, "t"], - [31706, 0, "x"], - [31707, 0, "}"], - [31708, 0, ","], - [31709, 0, "\\"], - [31710, 0, ","], - [31711, 0, " "], - [31712, 0, "\\"], - [31713, 0, "m"], - [31714, 0, "a"], - [31715, 0, "t"], - [31716, 0, "h"], - [31717, 0, "s"], - [31718, 0, "f"], - [31719, 0, "{"], - [31720, 0, "o"], - [31721, 0, "p"], - [31722, 0, "}"], - [31723, 0, "("], - [31724, 0, "\\"], - [31725, 0, "m"], - [31726, 0, "a"], - [31727, 0, "t"], - [31728, 0, "h"], - [31729, 0, "i"], - [31730, 0, "t"], - [31731, 0, "{"], - [31732, 0, "i"], - [31733, 0, "d"], - [31734, 0, "}"], - [31735, 0, ","], - [31736, 0, " "], - [31737, 0, "\\"], - [31738, 0, "m"], - [31739, 0, "a"], - [31740, 0, "t"], - [31741, 0, "h"], - [31742, 0, "i"], - [31743, 0, "t"], - [31744, 0, "{"], - [31745, 0, "d"], - [31746, 0, "e"], - [31747, 0, "p"], - [31748, 0, "s"], - [31749, 0, "}"], - [31750, 0, ","], - [31751, 0, "\n"], - [31752, 0, " "], - [31753, 0, " "], - [31754, 0, " "], - [31755, 0, " "], - [31756, 0, "\\"], - [31757, 0, "m"], - [31758, 0, "a"], - [31759, 0, "t"], - [31760, 0, "h"], - [31761, 0, "s"], - [31762, 0, "f"], - [31763, 0, "{"], - [31764, 0, "c"], - [31765, 0, "u"], - [31766, 0, "r"], - [31767, 0, "s"], - [31768, 0, "o"], - [31769, 0, "r"], - [31770, 0, "}"], - [31771, 0, "("], - [31772, 0, "\\"], - [31773, 0, "l"], - [31774, 0, "a"], - [31775, 0, "n"], - [31776, 0, "g"], - [31777, 0, "l"], - [31778, 0, "e"], - [31779, 0, "\\"], - [31780, 0, "r"], - [31781, 0, "a"], - [31782, 0, "n"], - [31783, 0, "g"], - [31784, 0, "l"], - [31785, 0, "e"], - [31786, 0, ","], - [31787, 0, "\\"], - [31788, 0, ","], - [31789, 0, " "], - [31790, 0, "k"], - [31791, 0, ")"], - [31792, 0, ","], - [31793, 0, " "], - [31794, 0, "\\"], - [31795, 0, "m"], - [31796, 0, "a"], - [31797, 0, "t"], - [31798, 0, "h"], - [31799, 0, "s"], - [31800, 0, "f"], - [31801, 0, "{"], - [31802, 0, "c"], - [31803, 0, "l"], - [31804, 0, "e"], - [31805, 0, "a"], - [31806, 0, "r"], - [31807, 0, "R"], - [31808, 0, "e"], - [31809, 0, "g"], - [31810, 0, ")"], - [31810, 1], - [31810, 0, "}"], - [31811, 0, ")"], - [31812, 0, " "], - [31813, 0, "\\"], - [31814, 0, "e"], - [31815, 0, "v"], - [31816, 0, "a"], - [31817, 0, "l"], - [31818, 0, "t"], - [31819, 0, "o"], - [31820, 0, "\n"], - [31821, 0, " "], - [31822, 0, " "], - [31823, 0, " "], - [31824, 0, " "], - [31825, 0, "\\"], - [31826, 0, "m"], - [31827, 0, "a"], - [31828, 0, "t"], - [31829, 0, "h"], - [31830, 0, "s"], - [31831, 0, "f"], - [31831, 1], - [31830, 1], - [31830, 0, "i"], - [31831, 0, "t"], - [31832, 0, "{"], - [31833, 0, "c"], - [31834, 0, "t"], - [31835, 0, "x"], - [31836, 0, "}"], - [31837, 0, "["], - [29701, 1], - [29700, 1], - [29700, 0, "i"], - [29701, 0, "t"], - [29202, 1], - [29201, 1], - [29201, 0, "i"], - [29202, 0, "t"], - [31838, 0, "\\"], - [31839, 0, ","], - [31840, 0, "\\"], - [31841, 0, "m"], - [31842, 0, "a"], - [31843, 0, "t"], - [31844, 0, "h"], - [31845, 0, "s"], - [31846, 0, "f"], - [31847, 0, "{"], - [31848, 0, "r"], - [31849, 0, "e"], - [31850, 0, "g"], - [31851, 0, "T"], - [31852, 0, "}"], - [31853, 0, "("], - [31854, 0, "k"], - [31855, 0, ")"], - [31856, 0, " "], - [31857, 0, "\\"], - [31858, 0, ","], - [31859, 0, "\\"], - [31860, 0, "m"], - [31861, 0, "a"], - [31862, 0, "p"], - [31863, 0, "s"], - [31864, 0, "t"], - [31865, 0, "o"], - [31866, 0, " "], - [31866, 1], - [31866, 0, "\\"], - [31867, 0, ","], - [31868, 0, " "], - [31869, 0, "\\"], - [31870, 0, "m"], - [31871, 0, "a"], - [31872, 0, "t"], - [31873, 0, "h"], - [31874, 0, "i"], - [31875, 0, "t"], - [31876, 0, "{"], - [31877, 0, "c"], - [31878, 0, "o"], - [31879, 0, "n"], - [31880, 0, "c"], - [31881, 0, "u"], - [31882, 0, "r"], - [31883, 0, "r"], - [31884, 0, "e"], - [31885, 0, "n"], - [31886, 0, "t"], - [31887, 0, "}"], - [31888, 0, " "], - [31889, 0, "\\"], - [31890, 0, ","], - [31891, 0, "]"], - [31840, 0, " "], - [31511, 0, "_"], - [31912, 0, "\n"], - [31913, 0, "\n"], - [31914, 0, "\\"], - [31915, 0, "b"], - [31916, 0, "e"], - [31917, 0, "g"], - [31918, 0, "i"], - [31919, 0, "n"], - [31920, 0, "{"], - [31921, 0, "p"], - [31922, 0, "r"], - [31923, 0, "o"], - [31924, 0, "o"], - [31925, 0, "f"], - [31926, 0, "t"], - [31927, 0, "r"], - [31928, 0, "e"], - [31929, 0, "e"], - [31930, 0, "}"], - [31931, 0, "\n"], - [31932, 0, "\\"], - [31933, 0, "A"], - [31934, 0, "x"], - [31935, 0, "i"], - [31936, 0, "o"], - [31937, 0, "m"], - [31938, 0, "C"], - [31939, 0, "{"], - [31940, 0, "$"], - [31941, 0, "\\"], - [31942, 0, "m"], - [31943, 0, "a"], - [31944, 0, "t"], - [31945, 0, "h"], - [31946, 0, "s"], - [31947, 0, "f"], - [31948, 0, "{"], - [31949, 0, "l"], - [31950, 0, "i"], - [31951, 0, "s"], - [31952, 0, "t"], - [31953, 0, "T"], - [31954, 0, "}"], - [31955, 0, "("], - [31956, 0, "k"], - [31957, 0, ")"], - [31958, 0, " "], - [31959, 0, "\\"], - [31960, 0, "i"], - [31961, 0, "n"], - [31962, 0, " "], - [31963, 0, "\\"], - [31964, 0, "m"], - [31965, 0, "a"], - [31966, 0, "t"], - [31967, 0, "h"], - [31968, 0, "r"], - [31969, 0, "m"], - [31970, 0, "{"], - [31971, 0, "d"], - [31972, 0, "o"], - [31973, 0, "m"], - [31974, 0, "}"], - [31975, 0, "("], - [31976, 0, "\\"], - [31977, 0, "m"], - [31978, 0, "a"], - [31979, 0, "t"], - [31980, 0, "h"], - [31981, 0, "i"], - [31982, 0, "t"], - [31983, 0, "{"], - [31984, 0, "c"], - [31985, 0, "t"], - [31986, 0, "x"], - [31987, 0, "}"], - [31988, 0, ")"], - [31989, 0, "$"], - [31990, 0, "}"], - [31991, 0, "\n"], - [31992, 0, "\\"], - [31993, 0, "A"], - [31994, 0, "x"], - [31995, 0, "i"], - [31996, 0, "o"], - [31997, 0, "m"], - [31998, 0, "C"], - [31999, 0, "{"], - [32000, 0, "$"], - [32001, 0, "\\"], - [32002, 0, "m"], - [32003, 0, "a"], - [32004, 0, "t"], - [32005, 0, "h"], - [32006, 0, "i"], - [32007, 0, "t"], - [32008, 0, "{"], - [32009, 0, "c"], - [32010, 0, "t"], - [32011, 0, "x"], - [32012, 0, "}"], - [32013, 0, "("], - [32014, 0, "\\"], - [32015, 0, "m"], - [32016, 0, "a"], - [32017, 0, "t"], - [32018, 0, "h"], - [32019, 0, "s"], - [32020, 0, "f"], - [32021, 0, "{"], - [32022, 0, "l"], - [32023, 0, "i"], - [32024, 0, "s"], - [32025, 0, "t"], - [32026, 0, "T"], - [32027, 0, "}"], - [32028, 0, "("], - [32029, 0, "k"], - [32030, 0, ")"], - [32031, 0, ")"], - [32032, 0, ","], - [32033, 0, "\\"], - [32034, 0, ","], - [32035, 0, " "], - [32036, 0, "\\"], - [32037, 0, "m"], - [32038, 0, "a"], - [32039, 0, "t"], - [32040, 0, "h"], - [32041, 0, "s"], - [32042, 0, "f"], - [32043, 0, "{"], - [32044, 0, "o"], - [32045, 0, "p"], - [32046, 0, "}"], - [32047, 0, "("], - [32048, 0, "\\"], - [32049, 0, "m"], - [32050, 0, "a"], - [32051, 0, "t"], - [32052, 0, "h"], - [32053, 0, "i"], - [32054, 0, "t"], - [32055, 0, "{"], - [32056, 0, "i"], - [32057, 0, "d"], - [32058, 0, "}"], - [32059, 0, ","], - [32060, 0, " "], - [32061, 0, "\\"], - [32062, 0, "m"], - [32063, 0, "a"], - [32064, 0, "t"], - [32065, 0, "h"], - [32066, 0, "s"], - [32066, 1], - [32066, 0, "i"], - [32067, 0, "t"], - [32068, 0, "{"], - [32069, 0, "d"], - [32070, 0, "e"], - [32071, 0, "p"], - [32072, 0, "s"], - [32073, 0, "}"], - [32074, 0, ","], - [32075, 0, "\n"], - [32076, 0, " "], - [32077, 0, " "], - [32078, 0, " "], - [32079, 0, " "], - [32080, 0, "\\"], - [32081, 0, "m"], - [32082, 0, "a"], - [32083, 0, "t"], - [32084, 0, "h"], - [32085, 0, "s"], - [32086, 0, "f"], - [32087, 0, "{"], - [32088, 0, "c"], - [32089, 0, "u"], - [32090, 0, "r"], - [32091, 0, "s"], - [32092, 0, "o"], - [32093, 0, "r"], - [32094, 0, "}"], - [32095, 0, "("], - [32096, 0, "\\"], - [32097, 0, "l"], - [32098, 0, "a"], - [32099, 0, "n"], - [32100, 0, "g"], - [32101, 0, "l"], - [32102, 0, "e"], - [32103, 0, "\\"], - [32104, 0, "r"], - [32105, 0, "a"], - [32106, 0, "n"], - [32107, 0, "g"], - [32108, 0, "l"], - [32109, 0, "e"], - [32110, 0, ","], - [32111, 0, "\\"], - [32112, 0, ","], - [32113, 0, " "], - [32114, 0, "\\"], - [32115, 0, "m"], - [32116, 0, "a"], - [32117, 0, "t"], - [32118, 0, "h"], - [32119, 0, "s"], - [32120, 0, "f"], - [32121, 0, "{"], - [32122, 0, "h"], - [32123, 0, "e"], - [32124, 0, "a"], - [32125, 0, "d"], - [32126, 0, "}"], - [32127, 0, ")"], - [32128, 0, ","], - [32129, 0, " "], - [32130, 0, "\\"], - [32131, 0, "m"], - [32132, 0, "a"], - [32133, 0, "t"], - [32134, 0, "h"], - [32135, 0, "s"], - [32136, 0, "f"], - [32137, 0, "{"], - [32138, 0, "c"], - [32139, 0, "l"], - [32140, 0, "e"], - [32141, 0, "a"], - [32142, 0, "r"], - [32143, 0, "E"], - [32144, 0, "l"], - [32145, 0, "e"], - [32146, 0, "m"], - [32147, 0, "e"], - [32147, 1], - [32147, 0, "s"], - [32148, 0, "}"], - [32149, 0, ")"], - [32150, 0, " "], - [32151, 0, "\\"], - [32152, 0, "e"], - [32153, 0, "v"], - [32154, 0, "a"], - [32155, 0, "l"], - [32156, 0, "t"], - [32157, 0, "o"], - [32158, 0, " "], - [32159, 0, "\\"], - [32160, 0, "m"], - [32161, 0, "a"], - [32162, 0, "t"], - [32163, 0, "h"], - [32164, 0, "i"], - [32165, 0, "t"], - [32166, 0, "{"], - [32167, 0, "c"], - [32168, 0, "l"], - [32169, 0, "e"], - [32170, 0, "a"], - [32171, 0, "r"], - [32172, 0, "e"], - [32173, 0, "d"], - [32174, 0, "}"], - [32175, 0, "$"], - [32176, 0, "}"], - [32177, 0, "\n"], - [32178, 0, "\\"], - [32179, 0, "L"], - [32180, 0, "e"], - [32181, 0, "f"], - [32182, 0, "t"], - [32183, 0, "L"], - [32184, 0, "a"], - [32185, 0, "b"], - [32186, 0, "e"], - [32187, 0, "l"], - [32188, 0, "{"], - [32189, 0, "\\"], - [32190, 0, "t"], - [32191, 0, "e"], - [32192, 0, "x"], - [32193, 0, "t"], - [32194, 0, "s"], - [32195, 0, "c"], - [32196, 0, "{"], - [32197, 0, "C"], - [32198, 0, "l"], - [32199, 0, "e"], - [32200, 0, "a"], - [32201, 0, "r"], - [32202, 0, "-"], - [32203, 0, "L"], - [32204, 0, "i"], - [32205, 0, "s"], - [32206, 0, "t"], - [32207, 0, "}"], - [32208, 0, "}"], - [32209, 0, "\n"], - [32210, 0, "\\"], - [32211, 0, "B"], - [32212, 0, "i"], - [32213, 0, "n"], - [32214, 0, "a"], - [32215, 0, "r"], - [32216, 0, "y"], - [32217, 0, "I"], - [32218, 0, "n"], - [32219, 0, "f"], - [32220, 0, "C"], - [32221, 0, "{"], - [32222, 0, "$"], - [32223, 0, "\\"], - [32224, 0, "m"], - [32225, 0, "a"], - [32226, 0, "t"], - [32227, 0, "h"], - [32228, 0, "i"], - [32229, 0, "t"], - [32230, 0, "{"], - [32231, 0, "c"], - [32232, 0, "t"], - [32233, 0, "x"], - [32234, 0, "}"], - [32235, 0, ","], - [32236, 0, "\\"], - [32237, 0, ","], - [32238, 0, " "], - [32239, 0, "\\"], - [32240, 0, "m"], - [32241, 0, "a"], - [32242, 0, "t"], - [32243, 0, "h"], - [32244, 0, "s"], - [32245, 0, "f"], - [32246, 0, "{"], - [32247, 0, "o"], - [32248, 0, "p"], - [32249, 0, "}"], - [32250, 0, "("], - [32251, 0, "\\"], - [32252, 0, "m"], - [32253, 0, "a"], - [32254, 0, "t"], - [32255, 0, "h"], - [32256, 0, "i"], - [32257, 0, "t"], - [32258, 0, "{"], - [32259, 0, "i"], - [32260, 0, "d"], - [32261, 0, "}"], - [32262, 0, ","], - [32263, 0, " "], - [32264, 0, "\\"], - [32265, 0, "m"], - [32266, 0, "a"], - [32267, 0, "t"], - [32268, 0, "h"], - [32269, 0, "i"], - [32270, 0, "t"], - [32271, 0, "{"], - [32272, 0, "d"], - [32273, 0, "e"], - [32274, 0, "p"], - [32275, 0, "s"], - [32276, 0, "}"], - [32277, 0, ","], - [32278, 0, "\n"], - [32279, 0, " "], - [32280, 0, " "], - [32281, 0, " "], - [32282, 0, " "], - [32283, 0, "\\"], - [32284, 0, "m"], - [32285, 0, "a"], - [32286, 0, "t"], - [32287, 0, "h"], - [32288, 0, "s"], - [32289, 0, "f"], - [32290, 0, "{"], - [32291, 0, "c"], - [32292, 0, "u"], - [32293, 0, "r"], - [32294, 0, "s"], - [32295, 0, "o"], - [32296, 0, "r"], - [32297, 0, "}"], - [32298, 0, "("], - [32299, 0, "\\"], - [32300, 0, "l"], - [32301, 0, "a"], - [32302, 0, "n"], - [32303, 0, "g"], - [32304, 0, "l"], - [32305, 0, "e"], - [32306, 0, "\\"], - [32307, 0, "r"], - [32308, 0, "a"], - [32309, 0, "n"], - [32310, 0, "g"], - [32311, 0, "l"], - [32312, 0, "e"], - [32313, 0, ","], - [32314, 0, "\\"], - [32315, 0, ","], - [32316, 0, " "], - [32317, 0, "k"], - [32318, 0, ")"], - [32319, 0, ","], - [32320, 0, " "], - [32321, 0, "\\"], - [32322, 0, "m"], - [32323, 0, "a"], - [32324, 0, "t"], - [32325, 0, "h"], - [32326, 0, "s"], - [32327, 0, "f"], - [32328, 0, "{"], - [32329, 0, "c"], - [32330, 0, "l"], - [32331, 0, "e"], - [32332, 0, "a"], - [32333, 0, "r"], - [32334, 0, "L"], - [32335, 0, "i"], - [32336, 0, "s"], - [32337, 0, "t"], - [32338, 0, "}"], - [32339, 0, ")"], - [32340, 0, " "], - [32341, 0, "\\"], - [32342, 0, "e"], - [32343, 0, "v"], - [32344, 0, "a"], - [32345, 0, "l"], - [32346, 0, "t"], - [32347, 0, "o"], - [32348, 0, "\n"], - [32349, 0, " "], - [32350, 0, " "], - [32351, 0, " "], - [32352, 0, " "], - [32353, 0, "\\"], - [32354, 0, "m"], - [32355, 0, "a"], - [32356, 0, "t"], - [32357, 0, "h"], - [32358, 0, "i"], - [32359, 0, "t"], - [32360, 0, "{"], - [32361, 0, "c"], - [32362, 0, "t"], - [32363, 0, "x"], - [32364, 0, "}"], - [32365, 0, "["], - [32366, 0, "\\"], - [32367, 0, ","], - [32368, 0, " "], - [32369, 0, "\\"], - [32370, 0, "m"], - [32371, 0, "a"], - [32372, 0, "t"], - [32373, 0, "h"], - [32374, 0, "s"], - [32375, 0, "f"], - [32376, 0, "{"], - [32377, 0, "l"], - [32378, 0, "i"], - [32379, 0, "s"], - [32380, 0, "t"], - [32381, 0, "T"], - [32382, 0, "}"], - [32383, 0, "("], - [32384, 0, "k"], - [32385, 0, ")"], - [32386, 0, " "], - [32387, 0, "\\"], - [32388, 0, ","], - [32389, 0, "\\"], - [32390, 0, "m"], - [32391, 0, "a"], - [32392, 0, "p"], - [32393, 0, "s"], - [32394, 0, "t"], - [32395, 0, "o"], - [32396, 0, "\\"], - [32397, 0, ","], - [32398, 0, " "], - [32399, 0, "\\"], - [32400, 0, "m"], - [32401, 0, "a"], - [32402, 0, "t"], - [32403, 0, "h"], - [32404, 0, "i"], - [32405, 0, "t"], - [32406, 0, "{"], - [32407, 0, "c"], - [32408, 0, "l"], - [32409, 0, "e"], - [32410, 0, "a"], - [32411, 0, "r"], - [32412, 0, "e"], - [32413, 0, "d"], - [32414, 0, "}"], - [32415, 0, " "], - [32416, 0, "\\"], - [32417, 0, ","], - [32418, 0, "]"], - [32419, 0, "$"], - [32420, 0, "}"], - [32421, 0, "\n"], - [32422, 0, "\\"], - [32423, 0, "e"], - [32424, 0, "n"], - [32425, 0, "d"], - [32426, 0, "{"], - [32427, 0, "p"], - [32428, 0, "r"], - [32429, 0, "o"], - [32430, 0, "o"], - [32431, 0, "f"], - [32432, 0, "t"], - [32433, 0, "r"], - [32434, 0, "e"], - [32435, 0, "e"], - [32436, 0, "}"], - [32437, 0, "\n"], - [32438, 0, "\n"], - [32439, 0, "\\"], - [32440, 0, "b"], - [32441, 0, "e"], - [32442, 0, "g"], - [32443, 0, "i"], - [32444, 0, "n"], - [32445, 0, "{"], - [32446, 0, "p"], - [32447, 0, "r"], - [32448, 0, "o"], - [32449, 0, "o"], - [32450, 0, "f"], - [32451, 0, "t"], - [32452, 0, "r"], - [32453, 0, "e"], - [32454, 0, "e"], - [32455, 0, "\\"], - [32455, 1], - [32455, 0, "}"], - [32456, 0, "\n"], - [32457, 0, "\\"], - [32458, 0, "A"], - [32459, 0, "x"], - [32460, 0, "i"], - [32461, 0, "o"], - [32462, 0, "m"], - [32463, 0, "C"], - [32464, 0, "{"], - [32465, 0, "$"], - [32466, 0, "\\"], - [32467, 0, "m"], - [32468, 0, "a"], - [32469, 0, "t"], - [32470, 0, "h"], - [32470, 1], - [32469, 1], - [32468, 1], - [32467, 1], - [32466, 1], - [32466, 0, "k"], - [32467, 0, " "], - [32468, 0, "\\"], - [32469, 0, "n"], - [32470, 0, "o"], - [32471, 0, "t"], - [32472, 0, "="], - [32473, 0, " "], - [32474, 0, "\\"], - [32475, 0, "m"], - [32476, 0, "a"], - [32477, 0, "t"], - [32478, 0, "h"], - [32479, 0, "s"], - [32480, 0, "f"], - [32481, 0, "{"], - [32482, 0, "t"], - [32483, 0, "a"], - [32484, 0, "i"], - [32485, 0, "l"], - [32486, 0, "}"], - [32487, 0, "$"], - [32488, 0, "}"], - [32489, 0, "\n"], - [32490, 0, "\\"], - [32491, 0, "A"], - [32492, 0, "x"], - [32493, 0, "i"], - [32494, 0, "o"], - [32495, 0, "m"], - [32496, 0, "C"], - [32497, 0, "{"], - [32498, 0, "$"], - [32499, 0, "\\"], - [32500, 0, "m"], - [32501, 0, "a"], - [32502, 0, "t"], - [32503, 0, "h"], - [32504, 0, "i"], - [32505, 0, "t"], - [32506, 0, "{"], - [32507, 0, "c"], - [32508, 0, "t"], - [32509, 0, "x"], - [32510, 0, "}"], - [32511, 0, "("], - [32512, 0, "\\"], - [32513, 0, "m"], - [32514, 0, "a"], - [32515, 0, "t"], - [32516, 0, "h"], - [32517, 0, "s"], - [32518, 0, "f"], - [32519, 0, "{"], - [32520, 0, "n"], - [32521, 0, "e"], - [32522, 0, "x"], - [32523, 0, "t"], - [32524, 0, "}"], - [32525, 0, "("], - [32526, 0, "k"], - [32527, 0, ")"], - [32528, 0, ")"], - [32529, 0, " "], - [32530, 0, "="], - [32531, 0, " "], - [32532, 0, "\\"], - [32533, 0, "m"], - [32534, 0, "a"], - [32535, 0, "t"], - [32536, 0, "h"], - [32537, 0, "i"], - [32538, 0, "t"], - [32539, 0, "{"], - [32540, 0, "n"], - [32541, 0, "e"], - [32542, 0, "x"], - [32543, 0, "t"], - [32544, 0, "}"], - [32545, 0, "$"], - [32546, 0, "}"], - [32547, 0, "\n"], - [32548, 0, "\\"], - [32549, 0, "A"], - [32550, 0, "x"], - [32551, 0, "i"], - [32552, 0, "o"], - [32553, 0, "m"], - [32554, 0, "C"], - [32555, 0, "{"], - [32556, 0, "$"], - [32489, 0, "\n"], - [32490, 0, "\\"], - [32491, 0, "A"], - [32492, 0, "x"], - [32493, 0, "i"], - [32494, 0, "o"], - [32495, 0, "m"], - [32496, 0, "C"], - [32497, 0, "{"], - [32498, 0, "$"], - [32499, 0, "k"], - [32500, 0, " "], - [32501, 0, "\\"], - [32502, 0, "i"], - [32503, 0, "n"], - [32504, 0, " "], - [32505, 0, "\\"], - [32506, 0, "m"], - [32507, 0, "a"], - [32508, 0, "t"], - [32509, 0, "h"], - [32510, 0, "i"], - [32511, 0, "t"], - [32512, 0, "{"], - [32513, 0, "d"], - [32514, 0, "e"], - [32515, 0, "p"], - [32516, 0, "s"], - [32517, 0, "}"], - [32518, 0, "$"], - [32519, 0, "}"], - [32588, 0, "\\"], - [32589, 0, "m"], - [32590, 0, "a"], - [32591, 0, "t"], - [32592, 0, "h"], - [32593, 0, "i"], - [32594, 0, "t"], - [32595, 0, "{"], - [32596, 0, "c"], - [32597, 0, "t"], - [32598, 0, "x"], - [32599, 0, "}"], - [32600, 0, ","], - [32601, 0, "\\"], - [32602, 0, ","], - [32603, 0, " "], - [32604, 0, "\\"], - [32605, 0, "m"], - [32606, 0, "a"], - [32607, 0, "t"], - [32608, 0, "h"], - [32609, 0, "s"], - [32610, 0, "f"], - [32611, 0, "{"], - [32612, 0, "o"], - [32613, 0, "p"], - [32614, 0, "}"], - [32615, 0, "("], - [32616, 0, "\\"], - [32617, 0, "m"], - [32618, 0, "a"], - [32619, 0, "t"], - [32620, 0, "h"], - [32621, 0, "i"], - [32622, 0, "t"], - [32623, 0, "{"], - [32624, 0, "i"], - [32625, 0, "d"], - [32626, 0, "}"], - [32627, 0, ","], - [32628, 0, " "], - [32629, 0, "\\"], - [32630, 0, "m"], - [32631, 0, "a"], - [32632, 0, "t"], - [32633, 0, "h"], - [32634, 0, "i"], - [32635, 0, "t"], - [32636, 0, "{"], - [32637, 0, "d"], - [32638, 0, "e"], - [32639, 0, "p"], - [32640, 0, "s"], - [32641, 0, "}"], - [32642, 0, ","], - [32643, 0, "\n"], - [32644, 0, " "], - [32645, 0, " "], - [32646, 0, " "], - [32647, 0, " "], - [32648, 0, "\\"], - [32649, 0, "m"], - [32650, 0, "a"], - [32651, 0, "t"], - [32652, 0, "h"], - [32653, 0, "s"], - [32654, 0, "f"], - [32655, 0, "{"], - [32656, 0, "c"], - [32657, 0, "u"], - [32658, 0, "r"], - [32659, 0, "s"], - [32660, 0, "o"], - [32661, 0, "r"], - [32662, 0, "}"], - [32663, 0, "("], - [32664, 0, "\\"], - [32665, 0, "l"], - [32666, 0, "a"], - [32667, 0, "n"], - [32668, 0, "g"], - [32669, 0, "l"], - [32670, 0, "e"], - [32671, 0, "\\"], - [32672, 0, "r"], - [32673, 0, "a"], - [32674, 0, "n"], - [32675, 0, "g"], - [32676, 0, "l"], - [32677, 0, "e"], - [32678, 0, ","], - [32679, 0, "\\"], - [32680, 0, ","], - [32681, 0, " "], - [32682, 0, "k"], - [32683, 0, ")"], - [32684, 0, ","], - [32685, 0, " "], - [32686, 0, "\\"], - [32687, 0, "m"], - [32688, 0, "a"], - [32689, 0, "t"], - [32690, 0, "h"], - [32691, 0, "s"], - [32692, 0, "f"], - [32693, 0, "{"], - [32694, 0, "c"], - [32695, 0, "l"], - [32696, 0, "e"], - [32697, 0, "a"], - [32698, 0, "r"], - [32699, 0, "E"], - [32700, 0, "l"], - [32701, 0, "e"], - [32702, 0, "m"], - [32703, 0, "e"], - [32703, 1], - [32703, 0, "s"], - [32704, 0, "}"], - [32705, 0, ")"], - [32706, 0, " "], - [32707, 0, "\\"], - [32708, 0, "e"], - [32709, 0, "v"], - [32710, 0, "a"], - [32711, 0, "l"], - [32712, 0, "t"], - [32713, 0, "o"], - [32714, 0, " "], - [32715, 0, "\\"], - [32716, 0, "m"], - [32717, 0, "a"], - [32718, 0, "t"], - [32719, 0, "h"], - [32720, 0, "i"], - [32721, 0, "t"], - [32722, 0, "{"], - [32723, 0, "c"], - [32724, 0, "t"], - [32725, 0, "x"], - [32726, 0, "}"], - [32727, 0, "'"], - [32728, 0, "$"], - [32729, 0, "}"], - [32730, 0, "\n"], - [32731, 0, "\\"], - [32732, 0, "L"], - [32733, 0, "e"], - [32734, 0, "f"], - [32735, 0, "t"], - [32736, 0, "L"], - [32737, 0, "a"], - [32738, 0, "b"], - [32739, 0, "e"], - [32740, 0, "l"], - [32741, 0, "{"], - [32742, 0, "\\"], - [32743, 0, "t"], - [32744, 0, "e"], - [32745, 0, "x"], - [32746, 0, "t"], - [32747, 0, "s"], - [32748, 0, "c"], - [32749, 0, "{"], - [32750, 0, "C"], - [32751, 0, "l"], - [32752, 0, "e"], - [32752, 1], - [32751, 1], - [32742, 0, "$"], - [32752, 0, "l"], - [32753, 0, "e"], - [32754, 0, "a"], - [32755, 0, "r"], - [32756, 0, "-"], - [32757, 0, "E"], - [32758, 0, "l"], - [32759, 0, "e"], - [32760, 0, "m"], - [32761, 0, "s"], - [32762, 0, "}"], - [32763, 0, "_"], - [32764, 0, "1"], - [32765, 0, "$"], - [32766, 0, "}"], - [32767, 0, "\n"], - [32768, 0, "\\"], - [32769, 0, "Q"], - [32770, 0, "u"], - [32771, 0, "a"], - [32772, 0, "t"], - [32773, 0, "e"], - [32774, 0, "r"], - [32775, 0, "n"], - [32776, 0, "a"], - [32777, 0, "r"], - [32778, 0, "y"], - [32779, 0, "I"], - [32780, 0, "n"], - [32781, 0, "f"], - [32782, 0, "C"], - [32783, 0, "{"], - [32784, 0, "$"], - [32785, 0, "\\"], - [32786, 0, "m"], - [32787, 0, "a"], - [32788, 0, "t"], - [32789, 0, "h"], - [32790, 0, "i"], - [32791, 0, "t"], - [32792, 0, "{"], - [32793, 0, "c"], - [32794, 0, "t"], - [32795, 0, "x"], - [32796, 0, "}"], - [32797, 0, ","], - [32798, 0, "\\"], - [32799, 0, ","], - [32800, 0, " "], - [32801, 0, "\\"], - [32802, 0, "m"], - [32803, 0, "a"], - [32804, 0, "t"], - [32805, 0, "h"], - [32806, 0, "s"], - [32807, 0, "f"], - [32808, 0, "{"], - [32809, 0, "o"], - [32810, 0, "p"], - [32811, 0, "}"], - [32812, 0, "("], - [32813, 0, "\\"], - [32814, 0, "m"], - [32815, 0, "a"], - [32816, 0, "t"], - [32817, 0, "h"], - [32818, 0, "i"], - [32819, 0, "t"], - [32820, 0, "{"], - [32821, 0, "i"], - [32822, 0, "d"], - [32823, 0, "}"], - [32824, 0, ","], - [32825, 0, " "], - [32826, 0, "\\"], - [32827, 0, "m"], - [32828, 0, "a"], - [32829, 0, "t"], - [32830, 0, "h"], - [32831, 0, "i"], - [32832, 0, "t"], - [32833, 0, "{"], - [32834, 0, "d"], - [32835, 0, "e"], - [32836, 0, "p"], - [32837, 0, "s"], - [32838, 0, "}"], - [32839, 0, ","], - [32840, 0, "\n"], - [32841, 0, " "], - [32842, 0, " "], - [32843, 0, " "], - [32844, 0, " "], - [32845, 0, "\\"], - [32846, 0, "m"], - [32847, 0, "a"], - [32848, 0, "t"], - [32849, 0, "h"], - [32850, 0, "s"], - [32851, 0, "f"], - [32852, 0, "{"], - [32853, 0, "c"], - [32854, 0, "u"], - [32855, 0, "r"], - [32856, 0, "s"], - [32857, 0, "o"], - [32858, 0, "r"], - [32859, 0, "}"], - [32860, 0, "("], - [32861, 0, "\\"], - [32862, 0, "l"], - [32863, 0, "a"], - [32864, 0, "n"], - [32865, 0, "g"], - [32866, 0, "l"], - [32867, 0, "e"], - [32868, 0, ","], - [32868, 1], - [32868, 0, "\\"], - [32869, 0, "r"], - [32870, 0, "a"], - [32871, 0, "n"], - [32872, 0, "g"], - [32873, 0, "l"], - [32874, 0, "e"], - [32875, 0, ","], - [32876, 0, "\\"], - [32877, 0, ","], - [32878, 0, " "], - [32879, 0, "k"], - [32880, 0, ")"], - [32881, 0, ","], - [32882, 0, " "], - [32883, 0, "\\"], - [32884, 0, "m"], - [32885, 0, "a"], - [32886, 0, "t"], - [32887, 0, "h"], - [32888, 0, "s"], - [32889, 0, "f"], - [32890, 0, "{"], - [32891, 0, "c"], - [32892, 0, "l"], - [32893, 0, "e"], - [32894, 0, "a"], - [32895, 0, "r"], - [32896, 0, "E"], - [32897, 0, "l"], - [32898, 0, "e"], - [32899, 0, "m"], - [32900, 0, "s"], - [32682, 1], - [32682, 0, "\\"], - [32683, 0, "m"], - [32684, 0, "a"], - [32685, 0, "t"], - [32686, 0, "h"], - [32687, 0, "i"], - [32688, 0, "t"], - [32689, 0, "{"], - [32690, 0, "n"], - [32691, 0, "e"], - [32692, 0, "x"], - [32693, 0, "t"], - [32694, 0, "}"], - [32913, 0, "}"], - [32914, 0, ")"], - [32915, 0, " "], - [32916, 0, "\\"], - [32917, 0, "e"], - [32918, 0, "v"], - [32919, 0, "a"], - [32920, 0, "l"], - [32921, 0, "t"], - [32922, 0, "o"], - [32923, 0, " "], - [32923, 1], - [32923, 0, "\n"], - [32924, 0, " "], - [32925, 0, " "], - [32926, 0, " "], - [32927, 0, " "], - [32928, 0, "\\"], - [32929, 0, "m"], - [32930, 0, "a"], - [32931, 0, "t"], - [32932, 0, "h"], - [32933, 0, "i"], - [32934, 0, "t"], - [32935, 0, "{"], - [32936, 0, "c"], - [32937, 0, "t"], - [32938, 0, "x"], - [32939, 0, "}"], - [32940, 0, "'"], - [32941, 0, "["], - [32942, 0, "\\"], - [32943, 0, ","], - [32944, 0, " "], - [32945, 0, "\\"], - [32946, 0, "m"], - [32947, 0, "a"], - [32948, 0, "t"], - [32949, 0, "h"], - [32944, 1], - [32949, 0, "s"], - [32950, 0, "f"], - [32951, 0, "{"], - [32952, 0, "d"], - [32953, 0, "e"], - [32954, 0, "l"], - [32955, 0, "e"], - [32956, 0, "t"], - [32957, 0, "e"], - [32958, 0, "d"], - [32959, 0, "}"], - [32960, 0, "("], - [32961, 0, "\\"], - [32962, 0, "m"], - [32963, 0, "a"], - [32964, 0, "t"], - [32965, 0, "h"], - [32966, 0, "i"], - [32967, 0, "t"], - [32968, 0, "("], - [32969, 0, "k"], - [32969, 1], - [32968, 1], - [32968, 0, "{"], - [32968, 1], - [32967, 1], - [32966, 1], - [32965, 1], - [32964, 1], - [32963, 1], - [32962, 1], - [32961, 1], - [32961, 0, "k"], - [32962, 0, ")"], - [32963, 0, " "], - [32964, 0, "\\"], - [32965, 0, ","], - [32966, 0, "\\"], - [32967, 0, "m"], - [32968, 0, "a"], - [32969, 0, "p"], - [32970, 0, "s"], - [32971, 0, "t"], - [32972, 0, "o"], - [32973, 0, "\\"], - [32974, 0, ","], - [32975, 0, " "], - [32976, 0, "\\"], - [32977, 0, "m"], - [32978, 0, "a"], - [32979, 0, "t"], - [32980, 0, "h"], - [32981, 0, "s"], - [32982, 0, "f"], - [32983, 0, "{"], - [32984, 0, "t"], - [32985, 0, "r"], - [32986, 0, "u"], - [32987, 0, "e"], - [32988, 0, "}"], - [32989, 0, "\\"], - [32990, 0, ","], - [32991, 0, "]"], - [32992, 0, "$"], - [32993, 0, "}"], - [32994, 0, "\n"], - [32995, 0, "\\"], - [32996, 0, "e"], - [32997, 0, "n"], - [32998, 0, "d"], - [32999, 0, "{"], - [33000, 0, "p"], - [33001, 0, "r"], - [33002, 0, "o"], - [33003, 0, "o"], - [33004, 0, "f"], - [33005, 0, "t"], - [33006, 0, "r"], - [33007, 0, "e"], - [33008, 0, "e"], - [33009, 0, "}"], - [32781, 1], - [32781, 1], - [32781, 1], - [32781, 1], - [32781, 1], - [32781, 1], - [32781, 0, "T"], - [32782, 0, "r"], - [32783, 0, "i"], - [32498, 1], - [32497, 1], - [32496, 1], - [32495, 1], - [32494, 1], - [32493, 1], - [32492, 1], - [32491, 1], - [32490, 1], - [32489, 1], - [32488, 1], - [32487, 1], - [32487, 0, " "], - [32488, 0, "\\"], - [32489, 0, ","], - [32490, 0, "\\"], - [32491, 0, "w"], - [32492, 0, "e"], - [32493, 0, "d"], - [32494, 0, "g"], - [32495, 0, "e"], - [32496, 0, "\\"], - [32497, 0, ","], - [32498, 0, " "], - [33007, 0, "\n"], - [33008, 0, "\n"], - [33009, 0, "\\"], - [33010, 0, "b"], - [33011, 0, "e"], - [33012, 0, "g"], - [33013, 0, "i"], - [33014, 0, "n"], - [33015, 0, "{"], - [33016, 0, "p"], - [33017, 0, "r"], - [33018, 0, "o"], - [33019, 0, "o"], - [33020, 0, "f"], - [33021, 0, "t"], - [33022, 0, "r"], - [33023, 0, "e"], - [33024, 0, "e"], - [33025, 0, "}"], - [33026, 0, "\n"], - [33027, 0, "\\"], - [33028, 0, "A"], - [33029, 0, "x"], - [33030, 0, "i"], - [33031, 0, "o"], - [33032, 0, "m"], - [33033, 0, "C"], - [33034, 0, "{"], - [33035, 0, "$"], - [33036, 0, "k"], - [33037, 0, " "], - [33038, 0, "\\"], - [33039, 0, "n"], - [33040, 0, "o"], - [33041, 0, "t"], - [33042, 0, "="], - [33043, 0, " "], - [33044, 0, "\\"], - [33045, 0, "m"], - [33046, 0, "a"], - [33047, 0, "t"], - [33048, 0, "h"], - [33049, 0, "s"], - [33050, 0, "f"], - [33051, 0, "{"], - [33052, 0, "t"], - [33053, 0, "a"], - [33054, 0, "i"], - [33055, 0, "l"], - [33056, 0, "}"], - [33057, 0, " "], - [33058, 0, "\\"], - [33059, 0, ","], - [33060, 0, "\\"], - [33061, 0, "w"], - [33062, 0, "e"], - [33063, 0, "d"], - [33064, 0, "g"], - [33065, 0, "e"], - [33066, 0, "\\"], - [33067, 0, ","], - [33068, 0, " "], - [33069, 0, "k"], - [33070, 0, " "], - [33071, 0, "\\"], - [33072, 0, "n"], - [33073, 0, "o"], - [33074, 0, "t"], - [33075, 0, "i"], - [33076, 0, "n"], - [33077, 0, " "], - [33078, 0, "\\"], - [33079, 0, "m"], - [33080, 0, "a"], - [33081, 0, "t"], - [33082, 0, "h"], - [33083, 0, "i"], - [33084, 0, "t"], - [33085, 0, "{"], - [33086, 0, "d"], - [33087, 0, "e"], - [33088, 0, "p"], - [33089, 0, "s"], - [33090, 0, "}"], - [33091, 0, "$"], - [33092, 0, "}"], - [33093, 0, "\n"], - [33094, 0, "\\"], - [33095, 0, "A"], - [33096, 0, "x"], - [33097, 0, "i"], - [33098, 0, "o"], - [33099, 0, "m"], - [33100, 0, "C"], - [33101, 0, "{"], - [33102, 0, "$"], - [33103, 0, "\\"], - [33104, 0, "m"], - [33105, 0, "a"], - [33106, 0, "t"], - [33107, 0, "h"], - [33108, 0, "i"], - [33109, 0, "t"], - [33110, 0, "{"], - [33111, 0, "c"], - [33112, 0, "t"], - [33113, 0, "x"], - [33114, 0, "}"], - [33115, 0, "("], - [33116, 0, "\\"], - [33117, 0, "m"], - [33118, 0, "a"], - [33119, 0, "t"], - [33120, 0, "h"], - [33121, 0, "s"], - [33122, 0, "f"], - [33123, 0, "{"], - [33124, 0, "n"], - [33125, 0, "e"], - [33126, 0, "x"], - [33127, 0, "t"], - [33128, 0, ")"], - [33128, 1], - [33128, 0, "}"], - [33129, 0, "("], - [33130, 0, "k"], - [33131, 0, ")"], - [33132, 0, ")"], - [33133, 0, " "], - [33134, 0, "="], - [33135, 0, " "], - [33136, 0, "\\"], - [33137, 0, "m"], - [33138, 0, "a"], - [33139, 0, "t"], - [33140, 0, "h"], - [33141, 0, "i"], - [33142, 0, "t"], - [33143, 0, "{"], - [33144, 0, "n"], - [33145, 0, "e"], - [33146, 0, "x"], - [33147, 0, "t"], - [33148, 0, "}"], - [33149, 0, "$"], - [33150, 0, "}"], - [33151, 0, "\n"], - [33152, 0, "\\"], - [33153, 0, "A"], - [33154, 0, "x"], - [33155, 0, "i"], - [33156, 0, "o"], - [33157, 0, "m"], - [33158, 0, "C"], - [33159, 0, "$"], - [33159, 1], - [33159, 0, "{"], - [33160, 0, "$"], - [33161, 0, "\\"], - [33162, 0, "m"], - [33163, 0, "a"], - [33164, 0, "t"], - [33165, 0, "h"], - [33166, 0, "i"], - [33167, 0, "t"], - [33168, 0, "{"], - [33169, 0, "c"], - [33170, 0, "t"], - [33171, 0, "x"], - [33172, 0, "}"], - [33173, 0, ","], - [33174, 0, "\\"], - [33175, 0, ","], - [33176, 0, " "], - [33177, 0, "\\"], - [33178, 0, "m"], - [33179, 0, "a"], - [33180, 0, "t"], - [33181, 0, "h"], - [33182, 0, "s"], - [33183, 0, "f"], - [33184, 0, "{"], - [33185, 0, "o"], - [33186, 0, "p"], - [33187, 0, "}"], - [33188, 0, "("], - [33189, 0, "\\"], - [33190, 0, "m"], - [33191, 0, "a"], - [33192, 0, "t"], - [33193, 0, "h"], - [33194, 0, "i"], - [33195, 0, "t"], - [33196, 0, "{"], - [33197, 0, "i"], - [33198, 0, "d"], - [33199, 0, "}"], - [33200, 0, ","], - [33201, 0, " "], - [33202, 0, "\\"], - [33203, 0, "m"], - [33204, 0, "a"], - [33205, 0, "t"], - [33206, 0, "h"], - [33207, 0, "i"], - [33208, 0, "t"], - [33209, 0, "{"], - [33210, 0, "d"], - [33211, 0, "e"], - [33212, 0, "p"], - [33213, 0, "s"], - [33214, 0, "}"], - [33215, 0, ","], - [33216, 0, "\n"], - [33217, 0, " "], - [33218, 0, " "], - [33219, 0, " "], - [33220, 0, " "], - [33221, 0, "\\"], - [33222, 0, "m"], - [33223, 0, "a"], - [33224, 0, "t"], - [33225, 0, "h"], - [33226, 0, "s"], - [33227, 0, "f"], - [33228, 0, "{"], - [33229, 0, "c"], - [33230, 0, "u"], - [33231, 0, "r"], - [33232, 0, "s"], - [33233, 0, "o"], - [33234, 0, "r"], - [33235, 0, "}"], - [33236, 0, "("], - [33237, 0, "\\"], - [33238, 0, "l"], - [33239, 0, "a"], - [33240, 0, "n"], - [33241, 0, "g"], - [33242, 0, "l"], - [33243, 0, "e"], - [33244, 0, "\\"], - [33245, 0, "r"], - [33246, 0, "a"], - [33247, 0, "n"], - [33248, 0, "g"], - [33249, 0, "l"], - [33250, 0, "e"], - [33251, 0, ","], - [33252, 0, "\\"], - [33253, 0, ","], - [33254, 0, " "], - [33255, 0, "\\"], - [33256, 0, "m"], - [33257, 0, "a"], - [33258, 0, "t"], - [33259, 0, "h"], - [33260, 0, "i"], - [33261, 0, "t"], - [33262, 0, "{"], - [33263, 0, "n"], - [33264, 0, "e"], - [33265, 0, "x"], - [33266, 0, "t"], - [33267, 0, "}"], - [33268, 0, ")"], - [33269, 0, ","], - [33270, 0, " "], - [33271, 0, "\\"], - [33272, 0, "m"], - [33273, 0, "a"], - [33274, 0, "t"], - [33275, 0, "h"], - [33276, 0, "s"], - [33277, 0, "f"], - [33278, 0, "{"], - [33279, 0, "c"], - [33280, 0, "l"], - [33281, 0, "e"], - [33282, 0, "a"], - [33283, 0, "r"], - [33284, 0, "E"], - [33285, 0, "l"], - [33286, 0, "e"], - [33287, 0, "m"], - [33288, 0, "s"], - [33289, 0, "}"], - [33290, 0, ")"], - [33291, 0, " "], - [33292, 0, "\\"], - [33293, 0, "e"], - [33294, 0, "v"], - [33295, 0, "a"], - [33296, 0, "l"], - [33297, 0, "t"], - [33298, 0, "o"], - [33299, 0, " "], - [33300, 0, "\\"], - [33301, 0, "m"], - [33302, 0, "a"], - [33303, 0, "t"], - [33304, 0, "h"], - [33305, 0, "i"], - [33306, 0, "t"], - [33307, 0, "{"], - [33308, 0, "c"], - [33309, 0, "t"], - [33310, 0, "x"], - [33311, 0, "}"], - [33312, 0, "'"], - [33313, 0, "$"], - [33314, 0, "}"], - [33315, 0, "\n"], - [33316, 0, "\\"], - [33317, 0, "L"], - [33318, 0, "e"], - [33319, 0, "f"], - [33320, 0, "t"], - [33321, 0, "L"], - [33322, 0, "a"], - [33323, 0, "b"], - [33324, 0, "e"], - [33325, 0, "l"], - [33326, 0, "{"], - [33327, 0, "$"], - [33328, 0, "\\"], - [33329, 0, "t"], - [33330, 0, "e"], - [33331, 0, "x"], - [33332, 0, "t"], - [33333, 0, "s"], - [33334, 0, "c"], - [33335, 0, "{"], - [33336, 0, "C"], - [33337, 0, "l"], - [33338, 0, "e"], - [33339, 0, "a"], - [33340, 0, "r"], - [33341, 0, "-"], - [33342, 0, "E"], - [33343, 0, "l"], - [33344, 0, "e"], - [33345, 0, "m"], - [33346, 0, "s"], - [33347, 0, "}"], - [33348, 0, "_"], - [33349, 0, "2"], - [33350, 0, "$"], - [33351, 0, "}"], - [33352, 0, "\n"], - [33353, 0, "\\"], - [33354, 0, "T"], - [33355, 0, "r"], - [33356, 0, "i"], - [33357, 0, "n"], - [33358, 0, "a"], - [33359, 0, "r"], - [33360, 0, "y"], - [33361, 0, "I"], - [33362, 0, "n"], - [33363, 0, "f"], - [33364, 0, "C"], - [33365, 0, "{"], - [33366, 0, "$"], - [33367, 0, "\\"], - [33368, 0, "m"], - [33369, 0, "a"], - [33370, 0, "t"], - [33371, 0, "h"], - [33372, 0, "i"], - [33373, 0, "t"], - [33374, 0, "{"], - [33375, 0, "c"], - [33376, 0, "t"], - [33377, 0, "x"], - [33378, 0, "}"], - [33379, 0, ","], - [33380, 0, "\\"], - [33381, 0, ","], - [33382, 0, " "], - [33383, 0, "\\"], - [33384, 0, "m"], - [33385, 0, "a"], - [33386, 0, "t"], - [33387, 0, "h"], - [33388, 0, "s"], - [33389, 0, "f"], - [33390, 0, "{"], - [33391, 0, "o"], - [33392, 0, "p"], - [33393, 0, "}"], - [33394, 0, "("], - [33395, 0, "\\"], - [33396, 0, "m"], - [33397, 0, "a"], - [33398, 0, "t"], - [33399, 0, "h"], - [33400, 0, "i"], - [33401, 0, "t"], - [33402, 0, "{"], - [33403, 0, "i"], - [33404, 0, "d"], - [33405, 0, "}"], - [33406, 0, ","], - [33407, 0, " "], - [33408, 0, "\\"], - [33409, 0, "m"], - [33410, 0, "a"], - [33411, 0, "t"], - [33412, 0, "h"], - [33413, 0, "i"], - [33414, 0, "t"], - [33415, 0, "{"], - [33416, 0, "d"], - [33417, 0, "e"], - [33418, 0, "p"], - [33419, 0, "s"], - [33420, 0, "}"], - [33421, 0, ","], - [33422, 0, "\n"], - [33423, 0, " "], - [33424, 0, " "], - [33425, 0, " "], - [33426, 0, " "], - [33427, 0, "\\"], - [33428, 0, "m"], - [33429, 0, "a"], - [33430, 0, "t"], - [33431, 0, "h"], - [33432, 0, "s"], - [33433, 0, "f"], - [33434, 0, "{"], - [33435, 0, "c"], - [33436, 0, "u"], - [33437, 0, "r"], - [33438, 0, "s"], - [33439, 0, "o"], - [33440, 0, "r"], - [33441, 0, "}"], - [33442, 0, "("], - [33443, 0, "\\"], - [33444, 0, "l"], - [33445, 0, "a"], - [33446, 0, "n"], - [33447, 0, "g"], - [33448, 0, "l"], - [33449, 0, "e"], - [33450, 0, "\\"], - [33451, 0, "r"], - [33452, 0, "a"], - [33453, 0, "n"], - [33454, 0, "g"], - [33455, 0, "l"], - [33456, 0, "e"], - [33457, 0, ","], - [33458, 0, "\\"], - [33459, 0, ","], - [33460, 0, " "], - [33461, 0, "k"], - [33462, 0, ")"], - [33463, 0, ","], - [33464, 0, " "], - [33465, 0, "\\"], - [33466, 0, "m"], - [33467, 0, "a"], - [33468, 0, "t"], - [33469, 0, "h"], - [33470, 0, "s"], - [33471, 0, "f"], - [33472, 0, "{"], - [33473, 0, "c"], - [33474, 0, "l"], - [33475, 0, "e"], - [33476, 0, "a"], - [33477, 0, "r"], - [33478, 0, "E"], - [33479, 0, "l"], - [33480, 0, "e"], - [33481, 0, "m"], - [33482, 0, "e"], - [33483, 0, "s"], - [33483, 1], - [33482, 1], - [33482, 0, "s"], - [33483, 0, "}"], - [33484, 0, ")"], - [33485, 0, " "], - [33486, 0, "\\"], - [33487, 0, "e"], - [33488, 0, "v"], - [33489, 0, "a"], - [33490, 0, "l"], - [33491, 0, "t"], - [33492, 0, "o"], - [33493, 0, "\n"], - [33493, 1], - [33493, 0, " "], - [33494, 0, "\\"], - [33495, 0, "m"], - [33496, 0, "a"], - [33497, 0, "t"], - [33498, 0, "h"], - [33499, 0, "i"], - [33500, 0, "t"], - [33501, 0, "{"], - [33502, 0, "c"], - [33503, 0, "t"], - [33504, 0, "x"], - [33505, 0, "}"], - [33506, 0, "'"], - [33507, 0, "$"], - [33508, 0, "}"], - [33509, 0, "\n"], - [33510, 0, "\\"], - [33511, 0, "e"], - [33512, 0, "n"], - [33513, 0, "d"], - [33514, 0, "{"], - [33515, 0, "["], - [33515, 1], - [33515, 0, "p"], - [33516, 0, "r"], - [33517, 0, "o"], - [33518, 0, "o"], - [33519, 0, "f"], - [33520, 0, "t"], - [33521, 0, "r"], - [33522, 0, "e"], - [33523, 0, "e"], - [33524, 0, "}"], - [33525, 0, "\n"], - [33526, 0, "\n"], - [33527, 0, "\\"], - [33528, 0, "b"], - [33529, 0, "e"], - [33530, 0, "g"], - [33531, 0, "i"], - [33532, 0, "n"], - [33533, 0, "{"], - [33534, 0, "p"], - [33535, 0, "r"], - [33536, 0, "o"], - [33537, 0, "o"], - [33538, 0, "f"], - [33539, 0, "t"], - [33540, 0, "r"], - [33541, 0, "e"], - [33542, 0, "e"], - [33543, 0, "}"], - [33544, 0, "\n"], - [33545, 0, "\\"], - [33546, 0, "e"], - [33547, 0, "n"], - [33548, 0, "d"], - [33549, 0, "{"], - [33550, 0, "p"], - [33551, 0, "r"], - [33552, 0, "o"], - [33553, 0, "o"], - [33554, 0, "f"], - [33555, 0, "t"], - [33556, 0, "r"], - [33557, 0, "e"], - [33558, 0, "e"], - [33559, 0, "}"], - [33544, 0, "\n"], - [33545, 0, "\\"], - [33546, 0, "A"], - [33547, 0, "x"], - [33548, 0, "i"], - [33549, 0, "o"], - [33550, 0, "m"], - [33551, 0, "C"], - [33552, 0, "{"], - [33553, 0, "$"], - [33554, 0, "k"], - [33555, 0, " "], - [33556, 0, "="], - [33557, 0, " "], - [33558, 0, "\\"], - [33559, 0, "m"], - [33560, 0, "a"], - [33561, 0, "t"], - [33562, 0, "h"], - [33563, 0, "s"], - [33564, 0, "f"], - [33564, 1], - [33563, 1], - [33563, 0, "s"], - [33564, 0, "f"], - [33565, 0, "{"], - [33566, 0, "t"], - [33567, 0, "a"], - [33568, 0, "i"], - [33569, 0, "l"], - [33570, 0, "}"], - [33571, 0, "$"], - [33572, 0, "}"], - [33573, 0, "\n"], - [33574, 0, "\\"], - [33575, 0, "L"], - [33576, 0, "e"], - [33577, 0, "f"], - [33578, 0, "t"], - [33579, 0, "L"], - [33580, 0, "a"], - [33581, 0, "b"], - [33582, 0, "e"], - [33583, 0, "l"], - [33584, 0, "{"], - [33585, 0, "$"], - [33586, 0, "\\"], - [33587, 0, "t"], - [33588, 0, "e"], - [33589, 0, "x"], - [33590, 0, "t"], - [33591, 0, "s"], - [33592, 0, "c"], - [33593, 0, "{"], - [33594, 0, "C"], - [33595, 0, "l"], - [33596, 0, "e"], - [33597, 0, "a"], - [33598, 0, "r"], - [33599, 0, "-"], - [33600, 0, "E"], - [33601, 0, "l"], - [33602, 0, "e"], - [33603, 0, "m"], - [33604, 0, "s"], - [33605, 0, "}"], - [33606, 0, "_"], - [33607, 0, "3"], - [33608, 0, "$"], - [33609, 0, "}"], - [33610, 0, "\n"], - [33611, 0, "\\"], - [33612, 0, "U"], - [33613, 0, "n"], - [33614, 0, "a"], - [33615, 0, "r"], - [33616, 0, "y"], - [33617, 0, "I"], - [33618, 0, "n"], - [33619, 0, "f"], - [33620, 0, "C"], - [33621, 0, "{"], - [33622, 0, "$"], - [33623, 0, "\\"], - [33624, 0, "m"], - [33625, 0, "a"], - [33626, 0, "t"], - [33627, 0, "h"], - [33628, 0, "i"], - [33629, 0, "t"], - [33630, 0, "{"], - [33631, 0, "c"], - [33632, 0, "t"], - [33633, 0, "x"], - [33634, 0, "}"], - [33635, 0, ","], - [33636, 0, "\\"], - [33637, 0, ","], - [33638, 0, " "], - [33639, 0, "\\"], - [33640, 0, "m"], - [33641, 0, "a"], - [33642, 0, "t"], - [33643, 0, "h"], - [33644, 0, "s"], - [33645, 0, "f"], - [33646, 0, "{"], - [33647, 0, "o"], - [33648, 0, "p"], - [33649, 0, "}"], - [33650, 0, "("], - [33651, 0, "\\"], - [33652, 0, "m"], - [33653, 0, "a"], - [33654, 0, "t"], - [33655, 0, "h"], - [33656, 0, "i"], - [33657, 0, "t"], - [33658, 0, "{"], - [33659, 0, "i"], - [33660, 0, "d"], - [33661, 0, "}"], - [33662, 0, ","], - [33663, 0, " "], - [33664, 0, "\\"], - [33665, 0, "m"], - [33666, 0, "a"], - [33667, 0, "t"], - [33668, 0, "h"], - [33669, 0, "i"], - [33670, 0, "t"], - [33671, 0, "{"], - [33672, 0, "d"], - [33673, 0, "e"], - [33674, 0, "p"], - [33675, 0, "s"], - [33676, 0, "}"], - [33677, 0, ","], - [33678, 0, "\n"], - [33679, 0, " "], - [33680, 0, " "], - [33681, 0, " "], - [33682, 0, " "], - [33683, 0, "\\"], - [33684, 0, "m"], - [33685, 0, "a"], - [33686, 0, "t"], - [33687, 0, "h"], - [33688, 0, "s"], - [33689, 0, "f"], - [33690, 0, "{"], - [33691, 0, "c"], - [33692, 0, "u"], - [33693, 0, "r"], - [33694, 0, "s"], - [33695, 0, "o"], - [33696, 0, "r"], - [33697, 0, "}"], - [33698, 0, "("], - [33699, 0, "\\"], - [33700, 0, "l"], - [33701, 0, "a"], - [33702, 0, "n"], - [33703, 0, "g"], - [33704, 0, "l"], - [33705, 0, "e"], - [33706, 0, "\\"], - [33707, 0, "r"], - [33708, 0, "a"], - [33709, 0, "n"], - [33710, 0, "g"], - [33711, 0, "l"], - [33712, 0, "e"], - [33713, 0, ","], - [33714, 0, "\\"], - [33715, 0, ","], - [33716, 0, " "], - [33717, 0, "k"], - [33718, 0, ")"], - [33719, 0, ","], - [33720, 0, " "], - [33721, 0, "\\"], - [33722, 0, "m"], - [33723, 0, "a"], - [33724, 0, "t"], - [33725, 0, "h"], - [33726, 0, "s"], - [33727, 0, "f"], - [33728, 0, "{"], - [33729, 0, "c"], - [33730, 0, "l"], - [33731, 0, "e"], - [33732, 0, "a"], - [33733, 0, "r"], - [33734, 0, "E"], - [33735, 0, "l"], - [33736, 0, "e"], - [33737, 0, "m"], - [33738, 0, "s"], - [33739, 0, "}"], - [33740, 0, ")"], - [33741, 0, " "], - [33742, 0, "\\"], - [33743, 0, "e"], - [33744, 0, "v"], - [33745, 0, "a"], - [33746, 0, "l"], - [33747, 0, "t"], - [33748, 0, "o"], - [33749, 0, " "], - [33750, 0, "\\"], - [33751, 0, "m"], - [33752, 0, "a"], - [33753, 0, "t"], - [33754, 0, "h"], - [33755, 0, "i"], - [33756, 0, "t"], - [33757, 0, "{"], - [33758, 0, "c"], - [33759, 0, "t"], - [33760, 0, "x"], - [33761, 0, "}"], - [33762, 0, "$"], - [33763, 0, "}"], - [33764, 0, "\n"], - [33765, 0, "\\"], - [33766, 0, "e"], - [33767, 0, "n"], - [33768, 0, "d"], - [33769, 0, "{"], - [33770, 0, "p"], - [33771, 0, "r"], - [33772, 0, "o"], - [33773, 0, "o"], - [33774, 0, "f"], - [33775, 0, "t"], - [33776, 0, "r"], - [33777, 0, "e"], - [33778, 0, "e"], - [33779, 0, "}"], - [33795, 1], - [33794, 1], - [33793, 1], - [33792, 1], - [33791, 1], - [33790, 1], - [33789, 1], - [33788, 1], - [33787, 1], - [33786, 1], - [33785, 1], - [33784, 1], - [33783, 1], - [33782, 1], - [33781, 1], - [33780, 1], - [34174, 0, "\n"], - [34175, 0, "\\"], - [34176, 0, "i"], - [34177, 0, "t"], - [34178, 0, "e"], - [34179, 0, "m"], - [34180, 0, " "], - [34181, 0, "C"], - [34181, 1], - [34181, 0, "C"], - [34182, 0, "l"], - [34183, 0, "e"], - [34184, 0, "a"], - [34185, 0, "r"], - [34186, 0, "i"], - [34187, 0, "n"], - [34188, 0, "g"], - [34189, 0, " "], - [34190, 0, "a"], - [34191, 0, " "], - [34192, 0, "s"], - [34193, 0, "t"], - [34194, 0, "r"], - [34195, 0, "u"], - [34196, 0, "c"], - [34197, 0, "t"], - [34198, 0, "u"], - [34199, 0, "r"], - [34200, 0, "e"], - [34201, 0, " "], - [34202, 0, "s"], - [34203, 0, "h"], - [34204, 0, "o"], - [34205, 0, "u"], - [34206, 0, "l"], - [34207, 0, "d"], - [34208, 0, " "], - [34209, 0, "r"], - [34210, 0, "e"], - [34211, 0, "m"], - [34212, 0, "o"], - [34213, 0, "v"], - [34214, 0, "e"], - [34215, 0, " "], - [34216, 0, "i"], - [34217, 0, "t"], - [34218, 0, " "], - [34219, 0, "i"], - [34220, 0, "f"], - [34221, 0, " "], - [34222, 0, "t"], - [34223, 0, "h"], - [34224, 0, "e"], - [34225, 0, "r"], - [34226, 0, "e"], - [34227, 0, " "], - [34228, 0, "a"], - [34229, 0, "r"], - [34230, 0, "e"], - [34231, 0, " "], - [34232, 0, "n"], - [34233, 0, "o"], - [34234, 0, " "], - [34235, 0, "c"], - [34236, 0, "o"], - [34237, 0, "n"], - [34238, 0, "c"], - [34239, 0, "u"], - [34240, 0, "r"], - [34241, 0, "r"], - [34242, 0, "e"], - [34243, 0, "n"], - [34244, 0, "t"], - [34245, 0, " "], - [34246, 0, "m"], - [34247, 0, "u"], - [34248, 0, "t"], - [34249, 0, "a"], - [34250, 0, "t"], - [34251, 0, "i"], - [34252, 0, "o"], - [34253, 0, "n"], - [34254, 0, "s"], - [34255, 0, " "], - [34256, 0, "t"], - [34257, 0, "o"], - [34258, 0, " "], - [34259, 0, "t"], - [34260, 0, "h"], - [34261, 0, "e"], - [34262, 0, " "], - [34263, 0, "s"], - [34264, 0, "t"], - [34265, 0, "r"], - [34266, 0, "u"], - [34267, 0, "c"], - [34268, 0, "t"], - [34269, 0, "u"], - [34270, 0, "r"], - [34271, 0, "e"], - [30747, 1], - [30746, 1], - [30745, 1], - [30744, 1], - [30743, 1], - [30742, 1], - [30742, 0, "i"], - [30743, 0, "n"], - [30744, 0, "s"], - [30745, 0, "e"], - [30746, 0, "r"], - [30747, 0, "t"], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 1], - [27979, 0, "\\"], - [27980, 0, "b"], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [27439, 1], - [26984, 1], - [26983, 1], - [26982, 1], - [26981, 1], - [26980, 1], - [26979, 1], - [26978, 1], - [26977, 1], - [26976, 1], - [26975, 1], - [26974, 1], - [26973, 1], - [26972, 1], - [26971, 1], - [26970, 1], - [26969, 1], - [26968, 1], - [26967, 1], - [26966, 1], - [26965, 1], - [26964, 1], - [26976, 1], - [26976, 0, ","], - [26977, 0, "\\"], - [26978, 0, ","], - [26979, 0, " "], - [26980, 0, "k"], - [26981, 0, "_"], - [26982, 0, "1"], - [26983, 0, " "], - [26984, 0, "e"], - [26984, 1], - [26984, 0, "\\"], - [26985, 0, "e"], - [26986, 0, "v"], - [26987, 0, "a"], - [26988, 0, "l"], - [26989, 0, "t"], - [26990, 0, "o"], - [26991, 0, " "], - [26992, 0, "\\"], - [26993, 0, "m"], - [26994, 0, "a"], - [26995, 0, "t"], - [26996, 0, "h"], - [26997, 0, "i"], - [26998, 0, "t"], - [26999, 0, "{"], - [27000, 0, "c"], - [27001, 0, "h"], - [27002, 0, "i"], - [27003, 0, "l"], - [27004, 0, "d"], - [27005, 0, "}"], - [27030, 1], - [27030, 1], - [27030, 1], - [27030, 1], - [27030, 1], - [27028, 1], - [27027, 1], - [27027, 0, "h"], - [27028, 0, "i"], - [27029, 0, "l"], - [27030, 0, "d"], - [27018, 0, "\\"], - [27019, 0, "b"], - [27020, 0, "e"], - [27021, 0, "g"], - [27022, 0, "i"], - [27023, 0, "n"], - [27024, 0, "{"], - [27025, 0, "m"], - [27026, 0, "a"], - [27027, 0, "t"], - [27028, 0, "r"], - [27029, 0, "i"], - [27030, 0, "x"], - [27031, 0, "}"], - [27032, 0, "\n"], - [27033, 0, " "], - [27034, 0, " "], - [27035, 0, " "], - [27036, 0, " "], - [27094, 0, " "], - [27095, 0, "\\"], - [27096, 0, "\\"], - [27197, 1], - [27196, 1], - [27195, 1], - [27194, 1], - [27193, 1], - [27193, 0, "c"], - [27194, 0, "h"], - [27195, 0, "i"], - [27196, 0, "l"], - [27197, 0, "d"], - [27199, 0, "'"], - [27200, 0, "\n"], - [27201, 0, " "], - [27202, 0, " "], - [27203, 0, " "], - [27204, 0, " "], - [27205, 0, "\\"], - [27206, 0, "e"], - [27207, 0, "n"], - [27208, 0, "d"], - [27209, 0, "{"], - [27210, 0, "m"], - [27211, 0, "a"], - [27212, 0, "t"], - [27213, 0, "r"], - [27214, 0, "i"], - [27215, 0, "x"], - [27216, 0, "}"], - [27217, 0, " "], - [27177, 0, "\\"], - [27178, 0, "\\"], - [27179, 0, "\n"], - [27180, 0, " "], - [27181, 0, " "], - [27182, 0, " "], - [27183, 0, " "], - [27183, 1], - [27182, 1], - [27181, 1], - [27180, 1], - [27179, 1], - [27178, 1], - [27177, 1], - [27220, 0, "\n"], - [27221, 0, "\\"], - [27222, 0, "A"], - [27223, 0, "x"], - [27224, 0, "i"], - [27225, 0, "o"], - [27226, 0, "m"], - [27227, 0, "C"], - [27228, 0, "{"], - [27229, 0, "$"], - [27230, 0, "\\"], - [27231, 0, "m"], - [27232, 0, "a"], - [27233, 0, "t"], - [27234, 0, "h"], - [27235, 0, "i"], - [27236, 0, "t"], - [27237, 0, "{"], - [27238, 0, "c"], - [27239, 0, "t"], - [27240, 0, "x"], - [27241, 0, "}"], - [27242, 0, ","], - [27243, 0, "\\"], - [27244, 0, ","], - [27245, 0, " "], - [27246, 0, "\\"], - [27247, 0, "m"], - [27248, 0, "a"], - [27249, 0, "t"], - [27250, 0, "h"], - [27251, 0, "s"], - [27252, 0, "f"], - [27253, 0, "{"], - [27254, 0, "a"], - [27255, 0, "d"], - [27256, 0, "d"], - [27257, 0, "I"], - [27258, 0, "d"], - [27259, 0, "}"], - [27260, 0, "("], - [27261, 0, "k"], - [27262, 0, "_"], - [27263, 0, "1"], - [27264, 0, ","], - [27265, 0, " "], - [27266, 0, "\\"], - [27267, 0, "m"], - [27268, 0, "a"], - [27269, 0, "t"], - [27270, 0, "h"], - [27271, 0, "i"], - [27272, 0, "t"], - [27273, 0, "{"], - [27274, 0, "i"], - [27275, 0, "d"], - [27276, 0, "}"], - [27277, 0, ")"], - [27278, 0, " "], - [27279, 0, "\\"], - [27280, 0, "e"], - [27281, 0, "v"], - [27282, 0, "a"], - [27283, 0, "l"], - [27284, 0, "t"], - [27285, 0, "o"], - [27286, 0, " "], - [27287, 0, "\\"], - [27288, 0, "m"], - [27289, 0, "a"], - [27290, 0, "t"], - [27291, 0, "h"], - [27292, 0, "i"], - [27293, 0, "t"], - [27294, 0, "{"], - [27295, 0, "c"], - [27296, 0, "t"], - [27297, 0, "x"], - [27298, 0, "}"], - [27299, 0, "'"], - [27300, 0, "$"], - [27301, 0, "}"], - [27333, 1], - [27333, 0, "T"], - [27334, 0, "r"], - [27510, 0, "'"], - [27543, 1], - [27542, 1], - [27541, 1], - [27540, 1], - [27539, 1], - [27539, 0, "c"], - [27540, 0, "h"], - [27541, 0, "i"], - [27542, 0, "l"], - [27543, 0, "d"], - [27545, 0, "'"], - [27511, 0, " "], - [27571, 0, "\\"], - [27572, 0, "b"], - [27573, 0, "e"], - [27574, 0, "g"], - [27575, 0, "i"], - [27576, 0, "n"], - [27577, 0, "{"], - [27578, 0, "c"], - [27579, 0, "e"], - [27580, 0, "n"], - [27581, 0, "t"], - [27582, 0, "e"], - [27583, 0, "r"], - [27584, 0, "}"], - [27585, 0, "\n"], - [27586, 0, "\\"], - [27587, 0, "e"], - [27588, 0, "n"], - [27589, 0, "d"], - [27590, 0, "{"], - [27591, 0, "c"], - [27592, 0, "e"], - [27593, 0, "n"], - [27594, 0, "t"], - [27595, 0, "e"], - [27596, 0, "r"], - [27597, 0, "}"], - [27585, 0, "\n"], - [27586, 0, "\\"], - [27587, 0, "A"], - [27588, 0, "x"], - [27589, 0, "i"], - [27590, 0, "o"], - [27591, 0, "m"], - [27592, 0, "C"], - [27593, 0, "{"], - [27594, 0, "$"], - [27595, 0, "k"], - [27596, 0, " "], - [27597, 0, "\\"], - [27598, 0, "i"], - [27599, 0, "n"], - [27600, 0, " "], - [27601, 0, "\\"], - [27602, 0, "m"], - [27603, 0, "a"], - [27604, 0, "t"], - [27605, 0, "h"], - [27606, 0, "r"], - [27607, 0, "m"], - [27608, 0, "{"], - [27609, 0, "d"], - [27610, 0, "o"], - [27611, 0, "m"], - [27612, 0, "}"], - [27613, 0, "("], - [27614, 0, "\\"], - [27615, 0, "m"], - [27616, 0, "a"], - [27617, 0, "t"], - [27618, 0, "h"], - [27619, 0, "i"], - [27620, 0, "t"], - [27621, 0, "{"], - [27622, 0, "c"], - [27623, 0, "t"], - [27624, 0, "x"], - [27625, 0, "}"], - [27626, 0, ")"], - [27627, 0, "$"], - [27628, 0, "}"], - [27629, 0, "\n"], - [27630, 0, "\\"], - [27631, 0, "L"], - [27632, 0, "e"], - [27633, 0, "f"], - [27634, 0, "t"], - [27635, 0, "L"], - [27636, 0, "a"], - [27637, 0, "b"], - [27638, 0, "e"], - [27639, 0, "l"], - [27640, 0, "{"], - [27641, 0, "\\"], - [27642, 0, "t"], - [27643, 0, "e"], - [27643, 1], - [27642, 1], - [27641, 1], - [27641, 0, "$"], - [27642, 0, "\\"], - [27643, 0, "t"], - [27644, 0, "e"], - [27645, 0, "x"], - [27646, 0, "t"], - [27647, 0, "s"], - [27648, 0, "c"], - [27649, 0, "{"], - [27650, 0, "C"], - [27651, 0, "h"], - [27652, 0, "i"], - [27653, 0, "l"], - [27654, 0, "d"], - [27655, 0, "}"], - [27656, 0, "_"], - [27657, 0, "1"], - [27658, 0, "$"], - [27659, 0, "}"], - [27660, 0, "\n"], - [27661, 0, "\\"], - [27662, 0, "U"], - [27663, 0, "n"], - [27664, 0, "a"], - [27665, 0, "r"], - [27666, 0, "y"], - [27667, 0, "I"], - [27668, 0, "n"], - [27669, 0, "f"], - [27670, 0, "C"], - [27671, 0, "{"], - [27672, 0, "$"], - [27673, 0, "\\"], - [27674, 0, "m"], - [27675, 0, "a"], - [27676, 0, "t"], - [27677, 0, "h"], - [27678, 0, "i"], - [27679, 0, "t"], - [27680, 0, "{"], - [27681, 0, "c"], - [27682, 0, "t"], - [27683, 0, "x"], - [27684, 0, "}"], - [27685, 0, ","], - [27686, 0, "\\"], - [27687, 0, ","], - [27688, 0, " "], - [27689, 0, "\\"], - [27689, 1], - [27689, 0, "k"], - [27690, 0, " "], - [27691, 0, "\\"], - [27692, 0, "e"], - [27693, 0, "v"], - [27694, 0, "a"], - [27695, 0, "l"], - [27696, 0, "t"], - [27697, 0, "o"], - [27698, 0, " "], - [27699, 0, "\\"], - [27700, 0, "m"], - [27701, 0, "a"], - [27702, 0, "t"], - [27703, 0, "h"], - [27704, 0, "i"], - [27705, 0, "t"], - [27706, 0, "{"], - [27707, 0, "c"], - [27708, 0, "t"], - [27709, 0, "x"], - [27710, 0, "}"], - [27711, 0, "("], - [27712, 0, "k"], - [27713, 0, ")"], - [27714, 0, "$"], - [27715, 0, "}"], - [27716, 0, "\n"], - [27717, 0, "\\"], - [27718, 0, "D"], - [27719, 0, "i"], - [27720, 0, "s"], - [27721, 0, "p"], - [27722, 0, "l"], - [27723, 0, "a"], - [27724, 0, "y"], - [27725, 0, "P"], - [27726, 0, "r"], - [27727, 0, "o"], - [27728, 0, "o"], - [27729, 0, "f"], - [27730, 0, "\\"], - [27731, 0, "h"], - [27732, 0, "f"], - [27733, 0, "i"], - [27734, 0, "l"], - [27735, 0, "l"], - [27735, 1], - [27734, 1], - [27733, 1], - [27732, 1], - [27732, 0, "s"], - [27733, 0, "p"], - [27734, 0, "a"], - [27735, 0, "c"], - [27736, 0, "e"], - [27737, 0, "{"], - [27738, 0, "3"], - [27739, 0, "e"], - [27740, 0, "m"], - [27741, 0, "}"], - [27742, 0, "\n"], - [27743, 0, "%"], - [27744, 0, "\n"], - [27745, 0, "\\"], - [27746, 0, "A"], - [27747, 0, "x"], - [27748, 0, "i"], - [27749, 0, "o"], - [27750, 0, "m"], - [27751, 0, "C"], - [27752, 0, "{"], - [27753, 0, "$"], - [27754, 0, "\\"], - [27755, 0, "m"], - [27756, 0, "a"], - [27757, 0, "t"], - [27758, 0, "h"], - [27759, 0, "s"], - [27760, 0, "f"], - [27761, 0, "{"], - [27762, 0, "m"], - [27763, 0, "a"], - [27764, 0, "p"], - [27765, 0, "T"], - [27766, 0, "}"], - [27767, 0, "("], - [27768, 0, "k"], - [27769, 0, ")"], - [27770, 0, " "], - [27771, 0, "\\"], - [27772, 0, "n"], - [27773, 0, "o"], - [27774, 0, "t"], - [27775, 0, "i"], - [27776, 0, "n"], - [27777, 0, " "], - [27778, 0, "\\"], - [27779, 0, "m"], - [27780, 0, "a"], - [27781, 0, "t"], - [27782, 0, "h"], - [27783, 0, "i"], - [27783, 1], - [27783, 0, "r"], - [27784, 0, "m"], - [27785, 0, "{"], - [27786, 0, "d"], - [27787, 0, "o"], - [27788, 0, "m"], - [27789, 0, "}"], - [27790, 0, "("], - [27791, 0, "\\"], - [27792, 0, "m"], - [27793, 0, "a"], - [27794, 0, "t"], - [27795, 0, "h"], - [27796, 0, "i"], - [27797, 0, "t"], - [27798, 0, "{"], - [27799, 0, "c"], - [27800, 0, "t"], - [27801, 0, "x"], - [27802, 0, "}"], - [27803, 0, ")"], - [27804, 0, "$"], - [27805, 0, "}"], - [27806, 0, "\n"], - [27807, 0, "\\"], - [27808, 0, "L"], - [27809, 0, "e"], - [27810, 0, "f"], - [27811, 0, "t"], - [27812, 0, "L"], - [27813, 0, "a"], - [27814, 0, "b"], - [27815, 0, "e"], - [27816, 0, "l"], - [27817, 0, "{"], - [27818, 0, "$"], - [27819, 0, "\\"], - [27820, 0, "t"], - [27821, 0, "e"], - [27822, 0, "x"], - [27823, 0, "t"], - [27824, 0, "s"], - [27825, 0, "c"], - [27826, 0, "{"], - [27827, 0, "C"], - [27828, 0, "h"], - [27829, 0, "i"], - [27830, 0, "l"], - [27831, 0, "d"], - [27832, 0, "_"], - [27832, 1], - [27832, 0, "}"], - [27833, 0, "_"], - [27834, 0, "2"], - [27835, 0, "$"], - [27836, 0, "}"], - [27837, 0, "\n"], - [27838, 0, "\\"], - [27839, 0, "U"], - [27840, 0, "n"], - [27841, 0, "a"], - [27842, 0, "r"], - [27843, 0, "y"], - [27844, 0, "I"], - [27845, 0, "n"], - [27846, 0, "f"], - [27847, 0, "C"], - [27848, 0, "{"], - [27849, 0, "$"], - [27850, 0, "\\"], - [27851, 0, "m"], - [27852, 0, "a"], - [27853, 0, "t"], - [27854, 0, "h"], - [27855, 0, "i"], - [27856, 0, "t"], - [27857, 0, "{"], - [27858, 0, "c"], - [27859, 0, "t"], - [27860, 0, "x"], - [27861, 0, "}"], - [27862, 0, ","], - [27863, 0, "\\"], - [27864, 0, ","], - [27865, 0, " "], - [27866, 0, "\\"], - [27867, 0, "m"], - [27868, 0, "a"], - [27869, 0, "t"], - [27870, 0, "h"], - [27871, 0, "s"], - [27872, 0, "f"], - [27873, 0, "{"], - [27874, 0, "m"], - [27875, 0, "a"], - [27876, 0, "p"], - [27877, 0, "T"], - [27878, 0, "}"], - [27879, 0, "("], - [27880, 0, "k"], - [27881, 0, ")"], - [27882, 0, " "], - [27883, 0, "e"], - [27883, 1], - [27883, 0, "\\"], - [27884, 0, "e"], - [27885, 0, "v"], - [27886, 0, "a"], - [27887, 0, "l"], - [27888, 0, "t"], - [27889, 0, "o"], - [27890, 0, " "], - [27891, 0, "\\"], - [27892, 0, "{"], - [27893, 0, "\\"], - [27894, 0, "}"], - [27895, 0, "$"], - [27896, 0, "}"], - [27897, 0, "\n"], - [27898, 0, "\\"], - [27899, 0, "D"], - [27900, 0, "i"], - [27901, 0, "s"], - [27902, 0, "p"], - [27903, 0, "l"], - [27904, 0, "a"], - [27905, 0, "y"], - [27906, 0, "P"], - [27907, 0, "r"], - [27908, 0, "o"], - [27909, 0, "o"], - [27910, 0, "f"], - [27911, 0, "\\"], - [27912, 0, "p"], - [27913, 0, "r"], - [27914, 0, "o"], - [27915, 0, "o"], - [27916, 0, "f"], - [27917, 0, "S"], - [27918, 0, "k"], - [27919, 0, "i"], - [27920, 0, "p"], - [27921, 0, "A"], - [27922, 0, "m"], - [27923, 0, "o"], - [27924, 0, "u"], - [27925, 0, "b"], - [27926, 0, "n"], - [27927, 0, "t"], - [27927, 1], - [27926, 1], - [27925, 1], - [27925, 0, "n"], - [27926, 0, "t"], - [27940, 0, "\n"], - [27941, 0, "\n"], - [27942, 0, "\\"], - [27943, 0, "b"], - [27944, 0, "e"], - [27945, 0, "g"], - [27946, 0, "i"], - [27947, 0, "n"], - [27948, 0, "{"], - [27949, 0, "c"], - [27950, 0, "e"], - [27951, 0, "n"], - [27952, 0, "t"], - [27953, 0, "e"], - [27954, 0, "r"], - [27955, 0, "}"], - [27956, 0, "\n"], - [27957, 0, "\\"], - [27958, 0, "A"], - [27959, 0, "x"], - [27960, 0, "i"], - [27961, 0, "o"], - [27962, 0, "m"], - [27963, 0, "C"], - [27964, 0, "{"], - [27965, 0, "$"], - [27966, 0, "k"], - [27967, 0, " "], - [27968, 0, "\\"], - [27969, 0, "n"], - [27970, 0, "o"], - [27971, 0, "t"], - [27972, 0, "i"], - [27973, 0, "n"], - [27974, 0, " "], - [27975, 0, "\\"], - [27976, 0, "m"], - [27977, 0, "a"], - [27978, 0, "t"], - [27979, 0, "h"], - [27980, 0, "r"], - [27981, 0, "m"], - [27982, 0, "{"], - [27983, 0, "d"], - [27984, 0, "o"], - [27985, 0, "m"], - [27986, 0, "}"], - [27987, 0, "("], - [27988, 0, "\\"], - [27989, 0, "m"], - [27990, 0, "a"], - [27991, 0, "t"], - [27992, 0, "h"], - [27993, 0, "i"], - [27994, 0, "t"], - [27995, 0, "{"], - [27996, 0, "c"], - [27997, 0, "t"], - [27998, 0, "x"], - [27999, 0, "}"], - [28000, 0, ")"], - [28001, 0, "$"], - [28002, 0, "}"], - [28003, 0, "\n"], - [28004, 0, "\\"], - [28005, 0, "L"], - [28006, 0, "e"], - [28007, 0, "f"], - [28008, 0, "t"], - [28009, 0, "L"], - [28010, 0, "a"], - [28011, 0, "b"], - [28012, 0, "e"], - [28013, 0, "l"], - [28014, 0, "{"], - [28015, 0, "$"], - [28016, 0, "\\"], - [28017, 0, "t"], - [28018, 0, "e"], - [28019, 0, "x"], - [28020, 0, "t"], - [28021, 0, "s"], - [28022, 0, "c"], - [28023, 0, "{"], - [28024, 0, "C"], - [28025, 0, "h"], - [28026, 0, "i"], - [28027, 0, "l"], - [28028, 0, "d"], - [28029, 0, "}"], - [28030, 0, "_"], - [28031, 0, "3"], - [28032, 0, "$"], - [28033, 0, "}"], - [28034, 0, "\n"], - [28035, 0, "\\"], - [28036, 0, "U"], - [28037, 0, "n"], - [28038, 0, "a"], - [28039, 0, "r"], - [28040, 0, "y"], - [28041, 0, "I"], - [28042, 0, "n"], - [28043, 0, "f"], - [28044, 0, "C"], - [28045, 0, "{"], - [28046, 0, "$"], - [28047, 0, "\\"], - [28048, 0, "m"], - [28049, 0, "a"], - [28050, 0, "t"], - [28051, 0, "h"], - [28052, 0, "i"], - [28053, 0, "t"], - [28054, 0, "{"], - [28055, 0, "c"], - [28056, 0, "t"], - [28057, 0, "x"], - [28058, 0, "}"], - [28059, 0, ","], - [28060, 0, "\\"], - [28061, 0, ","], - [28062, 0, " "], - [28063, 0, "\\"], - [28064, 0, "m"], - [28065, 0, "a"], - [28066, 0, "t"], - [28067, 0, "h"], - [28068, 0, "s"], - [28069, 0, "f"], - [28070, 0, "{"], - [28071, 0, "l"], - [28072, 0, "i"], - [28073, 0, "s"], - [28074, 0, "t"], - [28075, 0, "T"], - [28076, 0, "}"], - [28077, 0, "("], - [28078, 0, "k"], - [28079, 0, ")"], - [28080, 0, " "], - [28081, 0, "\\"], - [28082, 0, "e"], - [28083, 0, "v"], - [28084, 0, "a"], - [28085, 0, "l"], - [28086, 0, "t"], - [28087, 0, "o"], - [28088, 0, " "], - [28089, 0, "\\"], - [28090, 0, "{"], - [28091, 0, "\\"], - [28092, 0, ","], - [28093, 0, "\\"], - [28094, 0, "m"], - [28095, 0, "a"], - [28096, 0, "t"], - [28097, 0, "h"], - [28098, 0, "s"], - [28099, 0, "f"], - [28100, 0, "{"], - [28101, 0, "n"], - [28102, 0, "e"], - [28103, 0, "x"], - [28104, 0, "t"], - [28105, 0, "}"], - [28106, 0, "("], - [28107, 0, "\\"], - [28108, 0, "m"], - [28109, 0, "a"], - [28110, 0, "t"], - [28111, 0, "h"], - [28112, 0, "s"], - [28113, 0, "f"], - [28114, 0, "{"], - [28115, 0, "h"], - [28116, 0, "e"], - [28117, 0, "a"], - [28118, 0, "d"], - [28119, 0, "}"], - [28120, 0, ")"], - [28121, 0, " "], - [28122, 0, "\\"], - [28123, 0, "m"], - [28124, 0, "a"], - [28125, 0, "p"], - [28126, 0, "s"], - [28127, 0, "t"], - [28128, 0, "o"], - [28129, 0, " "], - [28122, 0, "\\"], - [28123, 0, ","], - [28131, 0, "\\"], - [28132, 0, ","], - [28088, 0, "\n"], - [28089, 0, " "], - [28090, 0, " "], - [28091, 0, " "], - [28138, 0, "\\"], - [28139, 0, "m"], - [28140, 0, "a"], - [28141, 0, "t"], - [28142, 0, "h"], - [28143, 0, "s"], - [28144, 0, "f"], - [28145, 0, "{"], - [28146, 0, "t"], - [28147, 0, "a"], - [28148, 0, "i"], - [28149, 0, "l"], - [28150, 0, "}"], - [28151, 0, " "], - [28152, 0, "\\"], - [28153, 0, ","], - [28154, 0, "\\"], - [28155, 0, "}"], - [28156, 0, "$"], - [28157, 0, "}"], - [28158, 0, "\n"], - [28159, 0, "\\"], - [28160, 0, "D"], - [28161, 0, "i"], - [28162, 0, "s"], - [28163, 0, "p"], - [28164, 0, "l"], - [28165, 0, "a"], - [28166, 0, "y"], - [28167, 0, "P"], - [28168, 0, "r"], - [28169, 0, "o"], - [28170, 0, "o"], - [28171, 0, "f"], - [28172, 0, "\\"], - [28173, 0, "h"], - [28174, 0, "s"], - [28175, 0, "p"], - [28176, 0, "a"], - [28177, 0, "c"], - [28178, 0, "e"], - [28179, 0, "{"], - [28180, 0, "3"], - [28181, 0, "e"], - [28182, 0, "m"], - [28183, 0, "}"], - [28184, 0, "\n"], - [28185, 0, "%"], - [28186, 0, "$"], - [28186, 1], - [28186, 0, "\n"], - [28187, 0, "\\"], - [28188, 0, "A"], - [28189, 0, "x"], - [28190, 0, "i"], - [28191, 0, "o"], - [28192, 0, "m"], - [28193, 0, "C"], - [28194, 0, "{"], - [28195, 0, "$"], - [28196, 0, "\\"], - [28197, 0, "m"], - [28198, 0, "a"], - [28199, 0, "t"], - [28200, 0, "h"], - [27966, 0, "\\"], - [27967, 0, "m"], - [27968, 0, "a"], - [27969, 0, "t"], - [27970, 0, "h"], - [27971, 0, "s"], - [27972, 0, "f"], - [27973, 0, "{"], - [27974, 0, "l"], - [27975, 0, "i"], - [27976, 0, "s"], - [27977, 0, "t"], - [27978, 0, "T"], - [27979, 0, "}"], - [27980, 0, "("], - [27982, 0, ")"], - [28202, 0, "\n"], - [28203, 0, "\\"], - [28204, 0, "A"], - [28205, 0, "x"], - [28206, 0, "i"], - [28207, 0, "o"], - [28208, 0, "m"], - [28209, 0, "C"], - [28210, 0, "{"], - [28211, 0, "$"], - [28212, 0, "\\"], - [28213, 0, "m"], - [28214, 0, "a"], - [28215, 0, "t"], - [28216, 0, "h"], - [28217, 0, "s"], - [28218, 0, "f"], - [28219, 0, "{"], - [28220, 0, "r"], - [28221, 0, "e"], - [28222, 0, "g"], - [28223, 0, "T"], - [28224, 0, "}"], - [28225, 0, "("], - [28226, 0, "k"], - [28227, 0, ")"], - [28228, 0, " "], - [28229, 0, "\\"], - [28230, 0, "n"], - [28231, 0, "o"], - [28232, 0, "t"], - [28233, 0, "i"], - [28234, 0, "n"], - [28235, 0, " "], - [28236, 0, "\\"], - [28237, 0, "m"], - [28238, 0, "a"], - [28239, 0, "t"], - [28240, 0, "h"], - [28241, 0, "r"], - [28242, 0, "m"], - [28243, 0, "{"], - [28244, 0, "d"], - [28245, 0, "o"], - [28246, 0, "m"], - [28247, 0, "}"], - [28248, 0, "("], - [28249, 0, "\\"], - [28250, 0, "m"], - [28251, 0, "a"], - [28252, 0, "t"], - [28253, 0, "h"], - [28254, 0, "i"], - [28255, 0, "t"], - [28256, 0, "{"], - [28257, 0, "c"], - [28258, 0, "t"], - [28259, 0, "x"], - [28260, 0, "}"], - [28261, 0, ")"], - [28262, 0, "$"], - [28263, 0, "}"], - [28264, 0, "\n"], - [28265, 0, "\\"], - [28266, 0, "L"], - [28267, 0, "e"], - [28268, 0, "f"], - [28269, 0, "t"], - [28270, 0, "L"], - [28271, 0, "a"], - [28272, 0, "b"], - [28273, 0, "e"], - [28274, 0, "l"], - [28275, 0, "{"], - [28276, 0, "\\"], - [28276, 1], - [28276, 0, "$"], - [27657, 1], - [27656, 1], - [27656, 1], - [27641, 1], - [27654, 0, "-"], - [27655, 0, "G"], - [27656, 0, "e"], - [27657, 0, "t"], - [27835, 1], - [27834, 1], - [27833, 1], - [27832, 0, "-"], - [27833, 0, "M"], - [27834, 0, "a"], - [27835, 0, "p"], - [27818, 1], - [28031, 1], - [28044, 0, "-"], - [28045, 0, "L"], - [28046, 0, "i"], - [28047, 0, "s"], - [28048, 0, "t"], - [28050, 1], - [28050, 1], - [28050, 1], - [28277, 1], - [28277, 0, "\\"], - [28278, 0, "t"], - [28279, 0, "e"], - [28280, 0, "x"], - [28281, 0, "t"], - [28282, 0, "s"], - [28283, 0, "c"], - [28284, 0, "{"], - [28285, 0, "C"], - [28286, 0, "h"], - [28287, 0, "i"], - [28288, 0, "l"], - [28289, 0, "d"], - [28290, 0, "-"], - [28291, 0, "R"], - [28292, 0, "e"], - [28293, 0, "g"], - [28294, 0, "}"], - [28295, 0, "}"], - [28296, 0, "\n"], - [28297, 0, "\\"], - [28298, 0, "U"], - [28299, 0, "n"], - [28300, 0, "a"], - [28301, 0, "r"], - [28302, 0, "y"], - [28303, 0, "I"], - [28304, 0, "n"], - [28305, 0, "f"], - [28306, 0, "C"], - [28307, 0, "{"], - [28308, 0, "$"], - [28309, 0, "\\"], - [28310, 0, "m"], - [28311, 0, "a"], - [28312, 0, "t"], - [28313, 0, "h"], - [28314, 0, "i"], - [28315, 0, "t"], - [28316, 0, "{"], - [28317, 0, "c"], - [28318, 0, "t"], - [28319, 0, "x"], - [28320, 0, "}"], - [28321, 0, ","], - [28322, 0, "\\"], - [28323, 0, ","], - [28324, 0, " "], - [28325, 0, "\\"], - [28326, 0, "m"], - [28327, 0, "a"], - [28328, 0, "t"], - [28329, 0, "h"], - [28330, 0, "s"], - [28331, 0, "f"], - [28332, 0, "{"], - [28333, 0, "r"], - [28334, 0, "e"], - [28335, 0, "g"], - [28336, 0, "T"], - [28337, 0, "}"], - [28338, 0, "("], - [28339, 0, "k"], - [28340, 0, ")"], - [28341, 0, " "], - [28342, 0, "\\"], - [28343, 0, "e"], - [28344, 0, "v"], - [28345, 0, "a"], - [28346, 0, "l"], - [28347, 0, "t"], - [28348, 0, "o"], - [28349, 0, " "], - [28350, 0, "\\"], - [28351, 0, "{"], - [28352, 0, "\\"], - [28353, 0, "}"], - [28354, 0, "$"], - [28355, 0, "}"], - [28356, 0, "\n"], - [28357, 0, "\\"], - [28358, 0, "D"], - [28359, 0, "i"], - [28360, 0, "s"], - [28361, 0, "p"], - [28362, 0, "l"], - [28363, 0, "a"], - [28364, 0, "y"], - [28365, 0, "P"], - [28366, 0, "r"], - [28367, 0, "o"], - [28368, 0, "o"], - [28369, 0, "f"], - [28370, 0, "\\"], - [28371, 0, "p"], - [28372, 0, "r"], - [28373, 0, "o"], - [28374, 0, "o"], - [28375, 0, "f"], - [28376, 0, "S"], - [28377, 0, "k"], - [28378, 0, "i"], - [28379, 0, "p"], - [28380, 0, "A"], - [28381, 0, "m"], - [28382, 0, "o"], - [28383, 0, "u"], - [28384, 0, "n"], - [28385, 0, "t"], - [28400, 1], - [28399, 1], - [28398, 1], - [28397, 1], - [28396, 1], - [28395, 1], - [28394, 1], - [28393, 1], - [28392, 1], - [28391, 1], - [28390, 1], - [28389, 1], - [28388, 1], - [28388, 0, "e"], - [28389, 0, "n"], - [28390, 0, "d"], - [28391, 0, "{"], - [28392, 0, "c"], - [28393, 0, "e"], - [28394, 0, "n"], - [28395, 0, "t"], - [28396, 0, "e"], - [28397, 0, "r"], - [28398, 0, "}"], - [28399, 0, "\n"], - [28400, 0, "\n"], - [28401, 0, "\\"], - [28402, 0, "b"], - [28403, 0, "e"], - [28404, 0, "g"], - [28405, 0, "i"], - [28406, 0, "n"], - [28407, 0, "{"], - [28408, 0, "p"], - [28409, 0, "r"], - [28410, 0, "o"], - [28411, 0, "o"], - [28412, 0, "f"], - [28413, 0, "t"], - [28414, 0, "r"], - [28415, 0, "e"], - [28416, 0, "e"], - [28417, 0, "}"], - [28418, 0, "\n"], - [28419, 0, "\\"], - [28420, 0, "e"], - [28421, 0, "n"], - [28422, 0, "d"], - [28423, 0, "{"], - [28424, 0, "p"], - [28425, 0, "r"], - [28426, 0, "o"], - [28427, 0, "o"], - [28428, 0, "f"], - [28429, 0, "t"], - [28430, 0, "r"], - [28431, 0, "e"], - [28432, 0, "e"], - [28433, 0, "}"], - [28418, 0, "\n"], - [28419, 0, "\\"], - [28420, 0, "A"], - [28421, 0, "x"], - [28422, 0, "i"], - [28423, 0, "o"], - [28424, 0, "m"], - [28425, 0, "C"], - [28426, 0, "{"], - [28427, 0, "$"], - [28428, 0, "k"], - [28429, 0, "_"], - [28430, 0, "\\"], - [28431, 0, "m"], - [28432, 0, "a"], - [28433, 0, "t"], - [28434, 0, "h"], - [28435, 0, "i"], - [28436, 0, "t"], - [28437, 0, "{"], - [28438, 0, "t"], - [28439, 0, "a"], - [28440, 0, "g"], - [28441, 0, "}"], - [28442, 0, " "], - [28443, 0, "\\"], - [28444, 0, "i"], - [28445, 0, "n"], - [28446, 0, " "], - [28447, 0, "\\"], - [28448, 0, "{"], - [28449, 0, "\\"], - [28450, 0, "m"], - [28451, 0, "a"], - [28452, 0, "t"], - [28453, 0, "h"], - [28454, 0, "s"], - [28455, 0, "f"], - [28456, 0, "{"], - [28457, 0, "m"], - [28458, 0, "a"], - [28459, 0, "p"], - [28460, 0, "T"], - [28461, 0, "}"], - [28462, 0, "("], - [28463, 0, "k"], - [28464, 0, ")"], - [28465, 0, ","], - [28466, 0, " "], - [28467, 0, "\\"], - [28468, 0, "m"], - [28469, 0, "a"], - [28470, 0, "t"], - [28471, 0, "h"], - [28472, 0, "s"], - [28473, 0, "f"], - [28474, 0, "{"], - [28475, 0, "l"], - [28476, 0, "i"], - [28477, 0, "s"], - [28478, 0, "t"], - [28479, 0, "T"], - [28480, 0, "}"], - [28481, 0, "("], - [28482, 0, "k"], - [28483, 0, ")"], - [28484, 0, ","], - [28485, 0, " "], - [28486, 0, "\\"], - [28487, 0, "m"], - [28488, 0, "a"], - [28489, 0, "t"], - [28490, 0, "h"], - [28491, 0, "s"], - [28492, 0, "f"], - [28493, 0, "("], - [28493, 1], - [28493, 0, "{"], - [28494, 0, "r"], - [28495, 0, "e"], - [28496, 0, "g"], - [28497, 0, "T"], - [28498, 0, "}"], - [28499, 0, "("], - [28500, 0, "k"], - [28501, 0, ")"], - [28502, 0, "\\"], - [28503, 0, "}"], - [28504, 0, "$"], - [28505, 0, "}"], - [28506, 0, "\n"], - [28507, 0, "\\"], - [28508, 0, "A"], - [28509, 0, "x"], - [28510, 0, "i"], - [28511, 0, "o"], - [28512, 0, "m"], - [28513, 0, "C"], - [28514, 0, "{"], - [28515, 0, "$"], - [28516, 0, "\\"], - [28517, 0, "m"], - [28518, 0, "a"], - [28519, 0, "t"], - [28520, 0, "h"], - [28521, 0, "s"], - [28522, 0, "f"], - [28523, 0, "{"], - [28524, 0, "p"], - [28525, 0, "r"], - [28526, 0, "e"], - [28527, 0, "s"], - [28528, 0, "}"], - [28529, 0, "("], - [28530, 0, "k"], - [28531, 0, ")"], - [28532, 0, " "], - [28533, 0, "\\"], - [28534, 0, "n"], - [28535, 0, "o"], - [28536, 0, "t"], - [28537, 0, "i"], - [28538, 0, "n"], - [28539, 0, " "], - [28540, 0, "\\"], - [28541, 0, "m"], - [28542, 0, "a"], - [28543, 0, "t"], - [28544, 0, "h"], - [28545, 0, "r"], - [28546, 0, "m"], - [28547, 0, "{"], - [28548, 0, "d"], - [28549, 0, "o"], - [28550, 0, "m"], - [28551, 0, "}"], - [28552, 0, "{"], - [28552, 1], - [28552, 0, "("], - [28553, 0, "\\"], - [28554, 0, "m"], - [28555, 0, "a"], - [28556, 0, "t"], - [28557, 0, "h"], - [28558, 0, "i"], - [28559, 0, "t"], - [28560, 0, "{"], - [28561, 0, "c"], - [28562, 0, "t"], - [28563, 0, "x"], - [28564, 0, "}"], - [28565, 0, ")"], - [28566, 0, "$"], - [28567, 0, "}"], - [28568, 0, "\n"], - [28569, 0, "\\"], - [28570, 0, "L"], - [28571, 0, "e"], - [28572, 0, "f"], - [28573, 0, "t"], - [28574, 0, "L"], - [28575, 0, "a"], - [28576, 0, "b"], - [28577, 0, "e"], - [28578, 0, "l"], - [28579, 0, "{"], - [28580, 0, "$"], - [28581, 0, "\\"], - [28582, 0, "t"], - [28583, 0, "e"], - [28584, 0, "x"], - [28585, 0, "t"], - [28586, 0, "s"], - [28587, 0, "c"], - [28588, 0, "{"], - [28589, 0, "A"], - [28590, 0, "d"], - [28591, 0, "d"], - [28592, 0, "-"], - [28593, 0, "I"], - [28594, 0, "D"], - [28595, 0, "-"], - [28595, 1], - [28595, 0, "}"], - [28596, 0, "_"], - [28597, 0, "1"], - [28598, 0, "$"], - [28599, 0, "}"], - [28600, 0, "\n"], - [28601, 0, "\\"], - [28602, 0, "B"], - [28603, 0, "i"], - [28604, 0, "n"], - [28605, 0, "a"], - [28606, 0, "r"], - [28607, 0, "y"], - [28608, 0, "I"], - [28609, 0, "n"], - [28610, 0, "f"], - [28611, 0, "C"], - [28612, 0, "{"], - [28613, 0, "$"], - [28614, 0, "\\"], - [28615, 0, "m"], - [28616, 0, "a"], - [28617, 0, "t"], - [28618, 0, "h"], - [28619, 0, "i"], - [28620, 0, "t"], - [28621, 0, "{"], - [28622, 0, "c"], - [28623, 0, "t"], - [28624, 0, "x"], - [28625, 0, "}"], - [28626, 0, ","], - [28627, 0, "\\"], - [28628, 0, ","], - [28629, 0, " "], - [28630, 0, "\\"], - [28631, 0, "m"], - [28632, 0, "a"], - [28633, 0, "t"], - [28634, 0, "h"], - [28635, 0, "s"], - [28636, 0, "f"], - [28637, 0, "{"], - [28638, 0, "a"], - [28639, 0, "d"], - [28640, 0, "d"], - [28641, 0, "I"], - [28642, 0, "d"], - [28643, 0, "}"], - [28644, 0, "("], - [28645, 0, "k"], - [28646, 0, "_"], - [28647, 0, "\\"], - [28648, 0, "m"], - [28649, 0, "a"], - [28650, 0, "t"], - [28651, 0, "h"], - [28652, 0, "i"], - [28653, 0, "t"], - [28654, 0, "{"], - [28655, 0, "t"], - [28656, 0, "a"], - [28657, 0, "g"], - [28658, 0, "}"], - [28659, 0, ","], - [28660, 0, " "], - [28661, 0, "\\"], - [28662, 0, "m"], - [28663, 0, "a"], - [28664, 0, "t"], - [28665, 0, "h"], - [28666, 0, "i"], - [28667, 0, "t"], - [28668, 0, "{"], - [28669, 0, "i"], - [28670, 0, "d"], - [28671, 0, "}"], - [28672, 0, ")"], - [28673, 0, " "], - [28674, 0, "\\"], - [28675, 0, "e"], - [28676, 0, "v"], - [28677, 0, "a"], - [28678, 0, "l"], - [28679, 0, "t"], - [28680, 0, "o"], - [28681, 0, "\n"], - [28682, 0, " "], - [28683, 0, " "], - [28684, 0, " "], - [28685, 0, " "], - [28686, 0, "\\"], - [28687, 0, "m"], - [28688, 0, "a"], - [28689, 0, "t"], - [28690, 0, "h"], - [28691, 0, "i"], - [28692, 0, "t"], - [28693, 0, "{"], - [28694, 0, "c"], - [28695, 0, "t"], - [28696, 0, "x"], - [28697, 0, "}"], - [28698, 0, "["], - [28699, 0, "\\"], - [28700, 0, ","], - [28701, 0, " "], - [28702, 0, "\\"], - [28703, 0, "m"], - [28704, 0, "a"], - [28705, 0, "t"], - [28706, 0, "h"], - [28707, 0, "s"], - [28708, 0, "f"], - [28709, 0, "{"], - [28710, 0, "p"], - [28711, 0, "r"], - [28712, 0, "e"], - [28713, 0, "s"], - [28714, 0, "}"], - [28715, 0, "("], - [28716, 0, "k"], - [28717, 0, ")"], - [28718, 0, " "], - [28719, 0, "\\"], - [28720, 0, ","], - [28721, 0, "\\"], - [28722, 0, "m"], - [28723, 0, "a"], - [28724, 0, "p"], - [28725, 0, "s"], - [28726, 0, "t"], - [28727, 0, "o"], - [28728, 0, "\\"], - [28729, 0, ","], - [28730, 0, " "], - [28731, 0, "\\"], - [28732, 0, "{"], - [28733, 0, "\\"], - [28734, 0, "m"], - [28735, 0, "a"], - [28736, 0, "t"], - [28737, 0, "h"], - [28738, 0, "i"], - [28739, 0, "t"], - [28740, 0, "{"], - [28741, 0, "i"], - [28742, 0, "d"], - [28743, 0, "}"], - [28744, 0, "\\"], - [28745, 0, "}"], - [28746, 0, " "], - [28747, 0, "\\"], - [28748, 0, ","], - [28749, 0, "]"], - [28750, 0, "$"], - [28751, 0, "}"], - [28768, 0, "\n"], - [28769, 0, "\n"], - [28770, 0, "\\"], - [28771, 0, "b"], - [28772, 0, "e"], - [28773, 0, "g"], - [28774, 0, "i"], - [28775, 0, "n"], - [28776, 0, "{"], - [28777, 0, "p"], - [28778, 0, "r"], - [28779, 0, "o"], - [28780, 0, "o"], - [28781, 0, "f"], - [28782, 0, "t"], - [28783, 0, "r"], - [28784, 0, "e"], - [28785, 0, "e"], - [28786, 0, "}"], - [28787, 0, "\n"], - [28788, 0, "\\"], - [28789, 0, "e"], - [28790, 0, "n"], - [28791, 0, "d"], - [28792, 0, "{"], - [28793, 0, "p"], - [28794, 0, "r"], - [28795, 0, "o"], - [28796, 0, "o"], - [28797, 0, "f"], - [28798, 0, "t"], - [28799, 0, "r"], - [28800, 0, "e"], - [28801, 0, "e"], - [28802, 0, "}"], - [28787, 0, "\n"], - [28788, 0, "\\"], - [28789, 0, "A"], - [28790, 0, "x"], - [28791, 0, "i"], - [28792, 0, "o"], - [28793, 0, "m"], - [28794, 0, "C"], - [28795, 0, "{"], - [28796, 0, "$"], - [28797, 0, "k"], - [28798, 0, "_"], - [28799, 0, "\\"], - [28800, 0, "m"], - [28801, 0, "a"], - [28802, 0, "t"], - [28803, 0, "h"], - [28804, 0, "i"], - [28805, 0, "t"], - [28806, 0, "{"], - [28807, 0, "t"], - [28808, 0, "a"], - [28809, 0, "g"], - [28810, 0, "}"], - [28811, 0, " "], - [28812, 0, "\\"], - [28813, 0, "i"], - [28814, 0, "n"], - [28815, 0, " "], - [28816, 0, "\\"], - [28817, 0, "{"], - [28818, 0, "m"], - [28818, 1], - [28818, 0, "\\"], - [28819, 0, "m"], - [28820, 0, "a"], - [28821, 0, "t"], - [28822, 0, "h"], - [28823, 0, "s"], - [28824, 0, "f"], - [28825, 0, "{"], - [28826, 0, "m"], - [28827, 0, "a"], - [28828, 0, "p"], - [28829, 0, "T"], - [28830, 0, "}"], - [28831, 0, "("], - [28832, 0, "k"], - [28833, 0, ")"], - [28834, 0, ","], - [28835, 0, " "], - [28836, 0, "\\"], - [28837, 0, "m"], - [28838, 0, "a"], - [28839, 0, "t"], - [28840, 0, "h"], - [28841, 0, "s"], - [28842, 0, "f"], - [28843, 0, "{"], - [28844, 0, "l"], - [28845, 0, "i"], - [28846, 0, "s"], - [28847, 0, "t"], - [28848, 0, "T"], - [28849, 0, "}"], - [28850, 0, "("], - [28851, 0, "k"], - [28852, 0, ")"], - [28853, 0, ","], - [28854, 0, " "], - [28855, 0, "\\"], - [28856, 0, "m"], - [28857, 0, "a"], - [28858, 0, "t"], - [28859, 0, "h"], - [28860, 0, "s"], - [28861, 0, "f"], - [28862, 0, "{"], - [28863, 0, "r"], - [28864, 0, "e"], - [28865, 0, "g"], - [28866, 0, "T"], - [28867, 0, "}"], - [28868, 0, "("], - [28869, 0, "k"], - [28870, 0, ")"], - [28871, 0, "\\"], - [28872, 0, "}"], - [28873, 0, "$"], - [28874, 0, "}"], - [28875, 0, "\n"], - [28876, 0, "\\"], - [28877, 0, "A"], - [28878, 0, "x"], - [28879, 0, "i"], - [28880, 0, "o"], - [28881, 0, "m"], - [28882, 0, "C"], - [28883, 0, "{"], - [28884, 0, "$"], - [28885, 0, "\\"], - [28886, 0, "m"], - [28887, 0, "a"], - [28888, 0, "t"], - [28889, 0, "h"], - [28890, 0, "s"], - [28891, 0, "f"], - [28892, 0, "{"], - [28893, 0, "p"], - [28894, 0, "r"], - [28895, 0, "e"], - [28896, 0, "s"], - [28897, 0, "}"], - [28898, 0, "("], - [28899, 0, "k"], - [28900, 0, ")"], - [28901, 0, " "], - [28902, 0, "\\"], - [28903, 0, "i"], - [28904, 0, "n"], - [28905, 0, " "], - [28906, 0, "\\"], - [28907, 0, "m"], - [28908, 0, "a"], - [28909, 0, "t"], - [28910, 0, "h"], - [28911, 0, "r"], - [28912, 0, "m"], - [28913, 0, "{"], - [28914, 0, "d"], - [28915, 0, "o"], - [28916, 0, "m"], - [28917, 0, "}"], - [28918, 0, "("], - [28919, 0, "\\"], - [28920, 0, "m"], - [28921, 0, "a"], - [28922, 0, "t"], - [28923, 0, "h"], - [28924, 0, "i"], - [28925, 0, "t"], - [28926, 0, "{"], - [28927, 0, "c"], - [28928, 0, "t"], - [28929, 0, "x"], - [28930, 0, "}"], - [28931, 0, "("], - [28931, 1], - [28931, 0, ")"], - [28932, 0, "$"], - [28933, 0, "}"], - [28934, 0, "\n"], - [28935, 0, "\\"], - [28936, 0, "L"], - [28937, 0, "e"], - [28938, 0, "f"], - [28939, 0, "t"], - [28940, 0, "L"], - [28941, 0, "a"], - [28942, 0, "b"], - [28943, 0, "e"], - [28944, 0, "l"], - [28945, 0, "{"], - [28946, 0, "$"], - [28947, 0, "\\"], - [28948, 0, "t"], - [28949, 0, "e"], - [28950, 0, "x"], - [28951, 0, "t"], - [28952, 0, "s"], - [28953, 0, "c"], - [28954, 0, "{"], - [28955, 0, "A"], - [28956, 0, "d"], - [28957, 0, "d"], - [28958, 0, "-"], - [28959, 0, "I"], - [28960, 0, "D"], - [28961, 0, "}"], - [28962, 0, "_"], - [28963, 0, "2"], - [28964, 0, "$"], - [28965, 0, "}"], - [28966, 0, "\n"], - [28967, 0, "\\"], - [28968, 0, "B"], - [28969, 0, "i"], - [28970, 0, "n"], - [28971, 0, "a"], - [28972, 0, "r"], - [28973, 0, "y"], - [28974, 0, "I"], - [28975, 0, "n"], - [28976, 0, "f"], - [28977, 0, "C"], - [28978, 0, "{"], - [28979, 0, "$"], - [28980, 0, "\\"], - [28981, 0, "m"], - [28982, 0, "a"], - [28983, 0, "t"], - [28984, 0, "h"], - [28985, 0, "i"], - [28986, 0, "t"], - [28987, 0, "{"], - [28988, 0, "c"], - [28989, 0, "t"], - [28990, 0, "x"], - [28991, 0, ","], - [28991, 1], - [28991, 0, "}"], - [28992, 0, ","], - [28993, 0, "\\"], - [28994, 0, ","], - [28995, 0, " "], - [28996, 0, "\\"], - [28997, 0, "m"], - [28998, 0, "a"], - [28999, 0, "t"], - [29000, 0, "h"], - [29001, 0, "i"], - [29001, 1], - [29001, 0, "s"], - [29002, 0, "f"], - [29003, 0, "{"], - [29004, 0, "a"], - [29005, 0, "d"], - [29006, 0, "d"], - [29007, 0, "I"], - [29008, 0, "d"], - [29009, 0, "}"], - [29010, 0, "("], - [29011, 0, "k"], - [29012, 0, "_"], - [29013, 0, "\\"], - [29014, 0, "m"], - [29015, 0, "a"], - [29016, 0, "t"], - [29017, 0, "h"], - [29018, 0, "i"], - [29019, 0, "t"], - [29020, 0, "{"], - [29021, 0, "t"], - [29022, 0, "a"], - [29023, 0, "g"], - [29024, 0, "}"], - [29025, 0, ","], - [29026, 0, " "], - [29027, 0, "\\"], - [29028, 0, "m"], - [29029, 0, "a"], - [29030, 0, "t"], - [29031, 0, "h"], - [29032, 0, "i"], - [29033, 0, "t"], - [29034, 0, "{"], - [29035, 0, "i"], - [29036, 0, "d"], - [29037, 0, "}"], - [29038, 0, ")"], - [29039, 0, " "], - [29040, 0, "\\"], - [29041, 0, "e"], - [29042, 0, "v"], - [29043, 0, "a"], - [29044, 0, "l"], - [29045, 0, "t"], - [29046, 0, "o"], - [29047, 0, "\n"], - [29048, 0, " "], - [29049, 0, " "], - [29050, 0, " "], - [29051, 0, " "], - [29052, 0, "\\"], - [29053, 0, "m"], - [29054, 0, "a"], - [29055, 0, "t"], - [29056, 0, "h"], - [29057, 0, "i"], - [29058, 0, "t"], - [29059, 0, "{"], - [29060, 0, "c"], - [29061, 0, "t"], - [29062, 0, "x"], - [29063, 0, "}"], - [29064, 0, "["], - [29065, 0, "\\"], - [29066, 0, ","], - [29067, 0, " "], - [29068, 0, "\\"], - [29069, 0, "m"], - [29070, 0, "a"], - [29071, 0, "t"], - [29072, 0, "h"], - [29073, 0, "s"], - [29074, 0, "f"], - [29075, 0, "{"], - [29076, 0, "p"], - [29077, 0, "r"], - [29078, 0, "e"], - [29079, 0, "s"], - [29080, 0, "}"], - [29081, 0, "("], - [29082, 0, "k"], - [29083, 0, ")"], - [29084, 0, " "], - [29085, 0, "\\"], - [29086, 0, ","], - [29087, 0, "\\"], - [29088, 0, "m"], - [29089, 0, "a"], - [29090, 0, "p"], - [29091, 0, "s"], - [29092, 0, "t"], - [29093, 0, "o"], - [29094, 0, "\\"], - [29095, 0, ","], - [29096, 0, " "], - [29097, 0, "\\"], - [29098, 0, "m"], - [29099, 0, "a"], - [29100, 0, "t"], - [29101, 0, "h"], - [29102, 0, "i"], - [29103, 0, "t"], - [29104, 0, "{"], - [29105, 0, "c"], - [29106, 0, "t"], - [29107, 0, "x"], - [29108, 0, "}"], - [29109, 0, "("], - [29110, 0, "\\"], - [29111, 0, "m"], - [29112, 0, "a"], - [29113, 0, "t"], - [29114, 0, "h"], - [29115, 0, "s"], - [29116, 0, "f"], - [29117, 0, "{"], - [29118, 0, "p"], - [29119, 0, "r"], - [29120, 0, "e"], - [29121, 0, "s"], - [29122, 0, "}"], - [29123, 0, "("], - [29124, 0, "k"], - [29125, 0, ")"], - [29126, 0, ")"], - [29127, 0, " "], - [29128, 0, "\\"], - [29129, 0, "c"], - [29130, 0, "u"], - [29131, 0, "p"], - [29132, 0, " "], - [29133, 0, "\\"], - [29134, 0, "{"], - [29135, 0, "\\"], - [29136, 0, "m"], - [29137, 0, "a"], - [29138, 0, "t"], - [29139, 0, "h"], - [29140, 0, "i"], - [29141, 0, "t"], - [29142, 0, "{"], - [29143, 0, "i"], - [29144, 0, "d"], - [29145, 0, "}"], - [29146, 0, "\\"], - [29147, 0, "}"], - [29148, 0, " "], - [29149, 0, "\\"], - [29150, 0, ","], - [29151, 0, "]"], - [29152, 0, "$"], - [29153, 0, "}"], - [29128, 0, "\\"], - [29129, 0, ","], - [29134, 0, "\\"], - [29135, 0, ","], - [29347, 1], - [29334, 1], - [29333, 1], - [29332, 1], - [29331, 1], - [29330, 1], - [29329, 1], - [29328, 1], - [29327, 1], - [29326, 1], - [29325, 1], - [29324, 1], - [29323, 1], - [29322, 1], - [29321, 1], - [29320, 1], - [29319, 1], - [29318, 1], - [29317, 1], - [29316, 1], - [29315, 1], - [29314, 1], - [29313, 1], - [29312, 1], - [29311, 1], - [29310, 1], - [29309, 1], - [29308, 1], - [29307, 1], - [29306, 1], - [29305, 1], - [29304, 1], - [29303, 1], - [29302, 1], - [29301, 1], - [29313, 0, "\\"], - [29314, 0, ","], - [29314, 1], - [29313, 1], - [29313, 0, ","], - [29314, 0, "\\"], - [29315, 0, ","], - [29316, 0, " "], - [29317, 0, "\\"], - [29318, 0, "m"], - [29319, 0, "a"], - [29320, 0, "t"], - [29321, 0, "h"], - [29322, 0, "s"], - [29323, 0, "f"], - [29324, 0, "{"], - [29325, 0, "c"], - [29326, 0, "l"], - [29327, 0, "e"], - [29328, 0, "a"], - [29329, 0, "r"], - [29330, 0, "}"], - [29331, 0, "("], - [29332, 0, "\\"], - [29333, 0, "m"], - [29334, 0, "a"], - [29335, 0, "t"], - [29336, 0, "h"], - [29337, 0, "i"], - [29338, 0, "t"], - [29339, 0, "{"], - [29340, 0, "d"], - [29341, 0, "e"], - [29342, 0, "p"], - [29343, 0, "s"], - [29344, 0, "}"], - [29345, 0, ","], - [29346, 0, " "], - [29347, 0, "\\"], - [29348, 0, "m"], - [29349, 0, "a"], - [29350, 0, "t"], - [29351, 0, "h"], - [29352, 0, "s"], - [29353, 0, "f"], - [29354, 0, "{"], - [29355, 0, "r"], - [29356, 0, "e"], - [29357, 0, "g"], - [29358, 0, "T"], - [29359, 0, "}"], - [29360, 0, "("], - [29361, 0, "k"], - [29362, 0, ")"], - [29363, 0, ")"], - [29364, 0, " "], - [29365, 0, "\\"], - [29366, 0, "e"], - [29367, 0, "v"], - [29368, 0, "a"], - [29369, 0, "l"], - [29370, 0, "t"], - [29371, 0, "o"], - [29372, 0, " "], - [29373, 0, "\\"], - [29374, 0, "m"], - [29375, 0, "a"], - [29376, 0, "t"], - [29377, 0, "h"], - [29378, 0, "i"], - [29379, 0, "t"], - [29380, 0, "{"], - [29381, 0, "c"], - [29382, 0, "t"], - [29383, 0, "x"], - [29384, 0, "}"], - [29385, 0, "'"], - [29386, 0, ","], - [29387, 0, "\\"], - [29388, 0, ","], - [29389, 0, " "], - [29390, 0, "\\"], - [29391, 0, "m"], - [29392, 0, "a"], - [29393, 0, "t"], - [29394, 0, "h"], - [29395, 0, "i"], - [29396, 0, "t"], - [29397, 0, "{"], - [29398, 0, "p"], - [29399, 0, "r"], - [29400, 0, "e"], - [29401, 0, "s"], - [29402, 0, "}"], - [29626, 1], - [29625, 1], - [29624, 1], - [29623, 1], - [29622, 1], - [29621, 1], - [29620, 1], - [29619, 1], - [29618, 1], - [29617, 1], - [29616, 1], - [29615, 1], - [29614, 1], - [29613, 1], - [29612, 1], - [29611, 1], - [29610, 1], - [29609, 1], - [29608, 1], - [29607, 1], - [29606, 1], - [29605, 1], - [29604, 1], - [29603, 1], - [29602, 1], - [29601, 1], - [29600, 1], - [29599, 1], - [29598, 1], - [29597, 1], - [29596, 1], - [29595, 1], - [29594, 1], - [29593, 1], - [29592, 1], - [29591, 1], - [29590, 1], - [29589, 1], - [29588, 1], - [29587, 1], - [29586, 1], - [29585, 1], - [29584, 1], - [29583, 1], - [29582, 1], - [29581, 1], - [29580, 1], - [29579, 1], - [29578, 1], - [29577, 1], - [29576, 1], - [29575, 1], - [29574, 1], - [29573, 1], - [29572, 1], - [29571, 1], - [29570, 1], - [29569, 1], - [29568, 1], - [29567, 1], - [29566, 1], - [29565, 1], - [29564, 1], - [29563, 1], - [29562, 1], - [29561, 1], - [29560, 1], - [29559, 1], - [29558, 1], - [29557, 1], - [29556, 1], - [29555, 1], - [29554, 1], - [29553, 1], - [29552, 1], - [29551, 1], - [29550, 1], - [29549, 1], - [29548, 1], - [29547, 1], - [29546, 1], - [29545, 1], - [29544, 1], - [29543, 1], - [29542, 1], - [29541, 1], - [29540, 1], - [29539, 1], - [29538, 1], - [29537, 1], - [29536, 1], - [29535, 1], - [29534, 1], - [29533, 1], - [29532, 1], - [29531, 1], - [29530, 1], - [29529, 1], - [29528, 1], - [29527, 1], - [29526, 1], - [29525, 1], - [29524, 1], - [29523, 1], - [29522, 1], - [29521, 1], - [29520, 1], - [29519, 1], - [29518, 1], - [29517, 1], - [29516, 1], - [29515, 1], - [29514, 1], - [29513, 1], - [29512, 1], - [29511, 1], - [29510, 1], - [29509, 1], - [29508, 1], - [29507, 1], - [29506, 1], - [29505, 1], - [29504, 1], - [29503, 1], - [29502, 1], - [29501, 1], - [29500, 1], - [29499, 1], - [29498, 1], - [29497, 1], - [29496, 1], - [29495, 1], - [29494, 1], - [29493, 1], - [29492, 1], - [29491, 1], - [29490, 1], - [29489, 1], - [29488, 1], - [29487, 1], - [29486, 1], - [29485, 1], - [29484, 1], - [29483, 1], - [29482, 1], - [29481, 1], - [29480, 1], - [29479, 1], - [29478, 1], - [29477, 1], - [29476, 1], - [29475, 1], - [29474, 1], - [29473, 1], - [29472, 1], - [29471, 1], - [29470, 1], - [29469, 1], - [29468, 1], - [29467, 1], - [29466, 1], - [29465, 1], - [29464, 1], - [29463, 1], - [29462, 1], - [29461, 1], - [29460, 1], - [29459, 1], - [29458, 1], - [29457, 1], - [29456, 1], - [29455, 1], - [29454, 1], - [29453, 1], - [29452, 1], - [29451, 1], - [29450, 1], - [29449, 1], - [29448, 1], - [29447, 1], - [29446, 1], - [29445, 1], - [29444, 1], - [29443, 1], - [29442, 1], - [29441, 1], - [29440, 1], - [29439, 1], - [29438, 1], - [29437, 1], - [29436, 1], - [29435, 1], - [29434, 1], - [29433, 1], - [29432, 1], - [29431, 1], - [29430, 1], - [29429, 1], - [29428, 1], - [29427, 1], - [29426, 1], - [29425, 1], - [29424, 1], - [29423, 1], - [29422, 1], - [29421, 1], - [29420, 1], - [29419, 1], - [29418, 1], - [29417, 1], - [29416, 1], - [29415, 1], - [29415, 1], - [29415, 0, "\\"], - [29416, 0, "m"], - [29417, 0, "a"], - [29418, 0, "t"], - [29419, 0, "h"], - [29420, 0, "i"], - [29421, 0, "t"], - [29422, 0, "{"], - [29423, 0, "c"], - [29424, 0, "t"], - [29425, 0, "x"], - [29426, 0, "}"], - [29427, 0, "'"], - [29428, 0, ","], - [29429, 0, " "], - [29430, 0, "\\"], - [29431, 0, "m"], - [29432, 0, "a"], - [29433, 0, "t"], - [29434, 0, "h"], - [29435, 0, "s"], - [29436, 0, "f"], - [29437, 0, "{"], - [29438, 0, "a"], - [29439, 0, "d"], - [29440, 0, "d"], - [29441, 0, "I"], - [29442, 0, "d"], - [29443, 0, "}"], - [29444, 0, "("], - [29445, 0, "\\"], - [29446, 0, "m"], - [29447, 0, "a"], - [29448, 0, "t"], - [29449, 0, "h"], - [29450, 0, "s"], - [29451, 0, "f"], - [29452, 0, "{"], - [29453, 0, "r"], - [29454, 0, "e"], - [29455, 0, "g"], - [29456, 0, "T"], - [29457, 0, "}"], - [29458, 0, "("], - [29459, 0, "k"], - [29460, 0, ")"], - [29461, 0, ","], - [29462, 0, " "], - [29463, 0, "\\"], - [29464, 0, "m"], - [29465, 0, "a"], - [29466, 0, "t"], - [29467, 0, "h"], - [29468, 0, "i"], - [29469, 0, "t"], - [29470, 0, "{"], - [29471, 0, "i"], - [29472, 0, "d"], - [29473, 0, "}"], - [29474, 0, ")"], - [29475, 0, " "], - [29476, 0, "\\"], - [29477, 0, "e"], - [29478, 0, "v"], - [29479, 0, "a"], - [29480, 0, "l"], - [29481, 0, "t"], - [29482, 0, "o"], - [29483, 0, " "], - [29484, 0, "\\"], - [29485, 0, "m"], - [29486, 0, "a"], - [29487, 0, "t"], - [29488, 0, "h"], - [29489, 0, "i"], - [29490, 0, "t"], - [29491, 0, "{"], - [29492, 0, "c"], - [29493, 0, "t"], - [29494, 0, "x"], - [29495, 0, "}"], - [29496, 0, "'"], - [29497, 0, "'"], - [29500, 0, "\n"], - [29501, 0, "\\"], - [29502, 0, "A"], - [29503, 0, "x"], - [29504, 0, "i"], - [29505, 0, "o"], - [29506, 0, "m"], - [29507, 0, "C"], - [29508, 0, "{"], - [29509, 0, "$"], - [29510, 0, "\\"], - [29511, 0, "m"], - [29512, 0, "a"], - [29513, 0, "t"], - [29514, 0, "h"], - [29515, 0, "i"], - [29516, 0, "t"], - [29517, 0, "{"], - [29518, 0, "c"], - [29519, 0, "t"], - [29520, 0, "x"], - [29521, 0, "}"], - [29522, 0, "'"], - [29523, 0, "'"], - [29524, 0, ","], - [29525, 0, " "], - [29526, 0, "\\"], - [29527, 0, "m"], - [29528, 0, "a"], - [29529, 0, "t"], - [29530, 0, "h"], - [29531, 0, "s"], - [29532, 0, "f"], - [29533, 0, "{"], - [29534, 0, "r"], - [29535, 0, "e"], - [29536, 0, "g"], - [29537, 0, "T"], - [29538, 0, "}"], - [29539, 0, "("], - [29540, 0, "k"], - [29541, 0, ")"], - [29542, 0, " "], - [29543, 0, "\\"], - [29544, 0, "e"], - [29545, 0, "v"], - [29546, 0, "a"], - [29547, 0, "l"], - [29548, 0, "t"], - [29549, 0, "o"], - [29550, 0, " "], - [29551, 0, "\\"], - [29552, 0, "m"], - [29553, 0, "a"], - [29554, 0, "t"], - [29555, 0, "h"], - [29556, 0, "i"], - [29557, 0, "t"], - [29558, 0, "{"], - [29559, 0, "c"], - [29560, 0, "h"], - [29561, 0, "i"], - [29562, 0, "l"], - [29563, 0, "d"], - [29564, 0, "}"], - [29565, 0, "$"], - [29566, 0, "}"], - [29597, 1], - [29596, 1], - [29595, 1], - [29579, 1], - [29763, 0, "'"], - [29764, 0, "'"], - [29819, 1], - [29818, 1], - [29817, 1], - [29816, 1], - [29815, 1], - [29814, 1], - [29813, 1], - [29812, 1], - [29811, 1], - [29811, 0, "h"], - [29812, 0, "i"], - [29813, 0, "l"], - [29814, 0, "d"], - [29597, 1], - [29597, 1], - [29597, 1], - [29597, 0, "Q"], - [29598, 0, "u"], - [29599, 0, "a"], - [29600, 0, "t"], - [29601, 0, "e"], - [29602, 0, "r"], - [34445, 1], - [34439, 0, "s"], - [34440, 0, "i"], - [34441, 0, "d"], - [34442, 0, "e"], - [34443, 0, "w"], - [34444, 0, "a"], - [34445, 0, "y"], - [34446, 0, "s"], - [26928, 0, "s"], - [26929, 0, "i"], - [26930, 0, "d"], - [26931, 0, "e"], - [26932, 0, "w"], - [26933, 0, "a"], - [26934, 0, "y"], - [26935, 0, "s"], - [26942, 1], - [253, 0, "\n"], - [254, 0, "\\"], - [255, 0, "u"], - [256, 0, "s"], - [257, 0, "e"], - [258, 0, "p"], - [259, 0, "a"], - [260, 0, "c"], - [261, 0, "k"], - [262, 0, "a"], - [263, 0, "g"], - [264, 0, "e"], - [265, 0, "{"], - [266, 0, "r"], - [267, 0, "o"], - [268, 0, "t"], - [269, 0, "a"], - [270, 0, "t"], - [271, 0, "i"], - [272, 0, "n"], - [273, 0, "g"], - [274, 0, "}"], - [275, 0, " "], - [276, 0, "$"], - [276, 1], - [276, 0, "%"], - [277, 0, " "], - [278, 0, "s"], - [279, 0, "i"], - [280, 0, "d"], - [281, 0, "e"], - [282, 0, "w"], - [283, 0, "a"], - [284, 0, "y"], - [285, 0, "s"], - [286, 0, "f"], - [287, 0, "i"], - [288, 0, "g"], - [289, 0, "u"], - [290, 0, "r"], - [291, 0, "e"], - [292, 0, " "], - [292, 1], - [497, 1], - [496, 1], - [495, 1], - [494, 1], - [493, 1], - [493, 0, "t"], - [494, 0, "r"], - [495, 0, "u"], - [496, 0, "e"], - [496, 1], - [495, 1], - [494, 1], - [493, 1], - [493, 0, "f"], - [494, 0, "a"], - [495, 0, "l"], - [496, 0, "s"], - [497, 0, "e"], - [20303, 0, " "], - [20304, 0, "&"], - [20305, 0, "&"], - [20306, 0, " "], - [20307, 0, "v"], - [20308, 0, ":"], - [20309, 0, " "], - [20310, 0, "\\"], - [20311, 0, "m"], - [20312, 0, "a"], - [20313, 0, "t"], - [20314, 0, "h"], - [20315, 0, "r"], - [20316, 0, "m"], - [20317, 0, "{"], - [20318, 0, "V"], - [20319, 0, "A"], - [20320, 0, "R"], - [20321, 0, "}"], - [19990, 1], - [19990, 0, "3"], - [20320, 1], - [20320, 0, "L"], - [20307, 0, "\\"], - [20308, 0, "u"], - [20309, 0, "q"], - [20310, 0, "d"], - [20311, 0, " "], - [20310, 1], - [20309, 1], - [20308, 1], - [20308, 0, "q"], - [20309, 0, "u"], - [20310, 0, "a"], - [20311, 0, "d"], - [18635, 0, " "], - [18636, 0, "\\"], - [18637, 0, "i"], - [18638, 0, "n"], - [18639, 0, " "], - [18640, 0, "\\"], - [18641, 0, "m"], - [18642, 0, "a"], - [18643, 0, "t"], - [18644, 0, "h"], - [18645, 0, "r"], - [18646, 0, "m"], - [18647, 0, "{"], - [18648, 0, "P"], - [18649, 0, "e"], - [18650, 0, "e"], - [18651, 0, "r"], - [18652, 0, "I"], - [18653, 0, "D"], - [18654, 0, "}"], - [18781, 0, " "], - [18782, 0, "\\"], - [18783, 0, "i"], - [18784, 0, "n"], - [18785, 0, " "], - [18786, 0, "\\"], - [18787, 0, "m"], - [18788, 0, "a"], - [18789, 0, "t"], - [18790, 0, "h"], - [18791, 0, "B"], - [18792, 0, "B"], - [18793, 0, "{"], - [18794, 0, "N"], - [18795, 0, "}"], - [18792, 1], - [18791, 1], - [18791, 0, "b"], - [18792, 0, "b"], - [27041, 0, "*"], - [34560, 0, "*"], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 1], - [34462, 0, "c"], - [34463, 0, "l"], - [34464, 0, "e"], - [34465, 0, "a"], - [34466, 0, "r"], - [34467, 0, "i"], - [34468, 0, "n"], - [34469, 0, "g"], - [34470, 0, "}"], - [34471, 0, "\\"], - [34472, 0, "l"], - [34482, 1], - [34482, 1], - [34482, 1], - [34482, 1], - [34482, 1], - [34482, 1], - [34482, 1], - [34482, 1], - [34482, 1], - [34482, 0, "c"], - [34483, 0, "l"], - [34484, 0, "e"], - [34485, 0, "a"], - [34486, 0, "r"], - [34514, 1], - [31677, 0, "\n"], - [31678, 0, "\\"], - [31679, 0, "c"], - [31680, 0, "a"], - [31681, 0, "p"], - [31682, 0, "t"], - [31683, 0, "i"], - [31684, 0, "o"], - [31685, 0, "n"], - [31686, 0, "{"], - [31687, 0, "R"], - [31688, 0, "u"], - [31689, 0, "l"], - [31690, 0, "e"], - [31691, 0, "s"], - [31692, 0, " "], - [31693, 0, "f"], - [31694, 0, "o"], - [31695, 0, "r"], - [31696, 0, " "], - [31697, 0, "e"], - [31698, 0, "v"], - [31699, 0, "a"], - [31700, 0, "l"], - [31701, 0, "u"], - [31702, 0, "a"], - [31703, 0, "t"], - [31704, 0, "i"], - [31705, 0, "n"], - [31706, 0, "g"], - [31707, 0, " "], - [31708, 0, "o"], - [31709, 0, "p"], - [31710, 0, "e"], - [31711, 0, "r"], - [31712, 0, "a"], - [31713, 0, "t"], - [31714, 0, "i"], - [31715, 0, "o"], - [31716, 0, "n"], - [31717, 0, "s"], - [31718, 0, " "], - [31719, 0, "a"], - [31720, 0, "n"], - [31721, 0, "d"], - [31722, 0, " "], - [31723, 0, "m"], - [31724, 0, "o"], - [31725, 0, "d"], - [31726, 0, "i"], - [31727, 0, "f"], - [31728, 0, "y"], - [31729, 0, "i"], - [31730, 0, "n"], - [31731, 0, "g"], - [31732, 0, " "], - [31733, 0, "d"], - [31734, 0, "o"], - [31735, 0, "c"], - [31736, 0, "u"], - [31737, 0, "m"], - [31738, 0, "e"], - [31739, 0, "n"], - [31740, 0, "t"], - [31741, 0, " "], - [31742, 0, "s"], - [31743, 0, "t"], - [31744, 0, "a"], - [31745, 0, "t"], - [31746, 0, "e"], - [31747, 0, "}"], - [31748, 0, "\\"], - [31749, 0, "l"], - [31750, 0, "a"], - [31751, 0, "b"], - [31752, 0, "e"], - [31753, 0, "l"], - [31754, 0, "{"], - [31755, 0, "f"], - [31756, 0, "i"], - [31757, 0, "g"], - [31758, 0, ":"], - [31759, 0, "o"], - [31760, 0, "p"], - [31761, 0, "e"], - [31762, 0, "r"], - [31763, 0, "a"], - [31764, 0, "t"], - [31765, 0, "i"], - [31766, 0, "o"], - [31767, 0, "n"], - [31768, 0, "-"], - [31769, 0, "r"], - [31770, 0, "u"], - [31771, 0, "l"], - [31772, 0, "e"], - [31773, 0, "s"], - [31774, 0, "}"], - [31775, 0, "\n"], - [31776, 0, "\\"], - [31777, 0, "e"], - [31778, 0, "n"], - [31779, 0, "d"], - [31780, 0, "{"], - [31781, 0, "s"], - [31782, 0, "i"], - [31783, 0, "d"], - [31784, 0, "e"], - [31785, 0, "w"], - [31786, 0, "a"], - [31787, 0, "y"], - [31788, 0, "s"], - [31789, 0, "f"], - [31790, 0, "i"], - [31791, 0, "g"], - [31792, 0, "u"], - [31793, 0, "r"], - [31794, 0, "e"], - [31795, 0, "*"], - [31796, 0, "}"], - [31798, 0, "\n"], - [31799, 0, "\\"], - [31800, 0, "b"], - [31801, 0, "e"], - [31802, 0, "g"], - [31803, 0, "i"], - [31804, 0, "n"], - [31805, 0, "{"], - [31806, 0, "f"], - [31807, 0, "i"], - [31808, 0, "g"], - [31809, 0, "u"], - [31810, 0, "r"], - [31811, 0, "e"], - [31812, 0, "*"], - [31813, 0, "}"], - [34643, 1], - [34642, 1], - [34641, 1], - [34640, 1], - [34639, 1], - [34638, 1], - [34637, 1], - [34636, 1], - [34642, 0, "*"], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27125, 1], - [27184, 1], - [27183, 1], - [27182, 1], - [27285, 0, "$"], - [27286, 0, "}"], - [27306, 1], - [27305, 1], - [27304, 1], - [27303, 1], - [27302, 1], - [27301, 1], - [27300, 1], - [27299, 1], - [27298, 1], - [27297, 1], - [27296, 1], - [27295, 1], - [27294, 1], - [27293, 1], - [27292, 1], - [27291, 1], - [27290, 1], - [27289, 1], - [27288, 1], - [27287, 1], - [27993, 1], - [27992, 1], - [27991, 1], - [27990, 1], - [27989, 1], - [27988, 1], - [27987, 1], - [27986, 1], - [27985, 1], - [27984, 1], - [27983, 1], - [27982, 1], - [27981, 1], - [27980, 1], - [27979, 1], - [27979, 0, "h"], - [27980, 0, "s"], - [27981, 0, "p"], - [27982, 0, "a"], - [27983, 0, "c"], - [27984, 0, "e"], - [27985, 0, "{"], - [27986, 0, "3"], - [27987, 0, "e"], - [27988, 0, "m"], - [27989, 0, "}"], - [28002, 1], - [28001, 1], - [28000, 1], - [27999, 1], - [27998, 1], - [27997, 1], - [27996, 1], - [27995, 1], - [27994, 1], - [27993, 1], - [27992, 1], - [27991, 1], - [27990, 1], - [27991, 0, "%"], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 1], - [27993, 0, "\n"], - [27993, 0, "\\"], - [27994, 0, "b"], - [27995, 0, "e"], - [27996, 0, "g"], - [27997, 0, "i"], - [27998, 0, "n"], - [27999, 0, "{"], - [28000, 0, "c"], - [28001, 0, "e"], - [28002, 0, "n"], - [28003, 0, "t"], - [28004, 0, "e"], - [28005, 0, "r"], - [28006, 0, "}"], - [27991, 1], - [27989, 1], - [27988, 1], - [27987, 1], - [27986, 1], - [27985, 1], - [27984, 1], - [27983, 1], - [27982, 1], - [27981, 1], - [27980, 1], - [27979, 1], - [27979, 0, "p"], - [27980, 0, "r"], - [27981, 0, "o"], - [27982, 0, "o"], - [27983, 0, "f"], - [27984, 0, "S"], - [27985, 0, "k"], - [27986, 0, "i"], - [27987, 0, "p"], - [27988, 0, "A"], - [27989, 0, "m"], - [27990, 0, "o"], - [27991, 0, "u"], - [27992, 0, "n"], - [27993, 0, "t"], - [27994, 0, "\n"], - [27995, 0, "\\"], - [27996, 0, "e"], - [27997, 0, "n"], - [27998, 0, "d"], - [27999, 0, "{"], - [28000, 0, "c"], - [28001, 0, "e"], - [28002, 0, "n"], - [28003, 0, "t"], - [28004, 0, "e"], - [28005, 0, "r"], - [28006, 0, "}"], - [28483, 1], - [28482, 1], - [28481, 1], - [28480, 1], - [28479, 1], - [28478, 1], - [28477, 1], - [28476, 1], - [28475, 1], - [28475, 0, "c"], - [28476, 0, "e"], - [28477, 0, "n"], - [28478, 0, "t"], - [28479, 0, "e"], - [28480, 0, "r"], - [28831, 1], - [28830, 1], - [28829, 1], - [28828, 1], - [28827, 1], - [28826, 1], - [28825, 1], - [28824, 1], - [28823, 1], - [28822, 1], - [28821, 1], - [28820, 1], - [28819, 1], - [28818, 1], - [28818, 0, "D"], - [28819, 0, "i"], - [28820, 0, "s"], - [28821, 0, "p"], - [28822, 0, "l"], - [28823, 0, "a"], - [28824, 0, "y"], - [28825, 0, "P"], - [28826, 0, "r"], - [28827, 0, "o"], - [28828, 0, "o"], - [28829, 0, "f"], - [28830, 0, "\\"], - [28831, 0, "h"], - [28832, 0, "s"], - [28833, 0, "p"], - [28834, 0, "a"], - [28835, 0, "c"], - [28836, 0, "e"], - [28837, 0, "{"], - [28838, 0, "3"], - [28839, 0, "e"], - [28840, 0, "m"], - [28841, 0, "}"], - [28843, 0, "%"], - [28861, 1], - [28860, 1], - [28859, 1], - [28858, 1], - [28857, 1], - [28856, 1], - [28855, 1], - [28854, 1], - [28853, 1], - [28852, 1], - [28851, 1], - [28850, 1], - [28849, 1], - [28848, 1], - [28847, 1], - [28846, 1], - [28845, 1], - [28844, 1], - [29229, 1], - [29228, 1], - [29227, 1], - [29226, 1], - [29225, 1], - [29224, 1], - [29223, 1], - [29222, 1], - [29221, 1], - [29221, 0, "c"], - [29222, 0, "e"], - [29223, 0, "n"], - [29224, 0, "t"], - [29225, 0, "e"], - [29226, 0, "r"], - [29215, 0, "\n"], - [29216, 0, "\\"], - [29217, 0, "D"], - [29218, 0, "i"], - [29219, 0, "s"], - [29220, 0, "p"], - [29221, 0, "l"], - [29222, 0, "a"], - [29223, 0, "y"], - [29224, 0, "P"], - [29225, 0, "r"], - [29226, 0, "o"], - [29227, 0, "o"], - [29228, 0, "f"], - [29229, 0, "\\"], - [29230, 0, "p"], - [29231, 0, "r"], - [29232, 0, "o"], - [29233, 0, "o"], - [29234, 0, "f"], - [29235, 0, "S"], - [29236, 0, "k"], - [29237, 0, "i"], - [29238, 0, "p"], - [29239, 0, "A"], - [29240, 0, "m"], - [29241, 0, "o"], - [29242, 0, "u"], - [29243, 0, "n"], - [29244, 0, "t"], - [28841, 1], - [28840, 1], - [28839, 1], - [28838, 1], - [28837, 1], - [28836, 1], - [28835, 1], - [28834, 1], - [28833, 1], - [28832, 1], - [28832, 0, "f"], - [28833, 0, "i"], - [28834, 0, "l"], - [28835, 0, "l"], - [29657, 0, "$"], - [29673, 0, "_"], - [29674, 0, "1"], - [29675, 0, "$"], - [29675, 1], - [29674, 1], - [29673, 1], - [29657, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 1], - [30301, 0, "\\"], - [30302, 0, "s"], - [30303, 0, "t"], - [30304, 0, "r"], - [30305, 0, "i"], - [30306, 0, "n"], - [30307, 0, "g"], - [30308, 0, "{"], - [30309, 0, "\\"], - [30310, 0, "s"], - [30311, 0, "t"], - [30312, 0, "r"], - [30313, 0, "i"], - [30314, 0, "n"], - [30315, 0, "g"], - [30316, 0, "}"], - [30317, 0, "}"], - [30301, 0, "\\"], - [30302, 0, "t"], - [30303, 0, "e"], - [30304, 0, "x"], - [30305, 0, "t"], - [30306, 0, "t"], - [30307, 0, "t"], - [30308, 0, "{"], - [30171, 1], - [30170, 1], - [30169, 1], - [30167, 1], - [30166, 1], - [30165, 1], - [30164, 1], - [30163, 1], - [30162, 1], - [30162, 0, "E"], - [30163, 0, "m"], - [30164, 0, "p"], - [30165, 0, "t"], - [30166, 0, "y"], - [30167, 0, "-"], - [30168, 0, "M"], - [30169, 0, "a"], - [30170, 0, "p"], - [30153, 1], - [30433, 1], - [30432, 1], - [30431, 1], - [30430, 1], - [30429, 1], - [30428, 1], - [30427, 1], - [30426, 1], - [30425, 1], - [30424, 1], - [30423, 1], - [30422, 1], - [30421, 1], - [30420, 1], - [30419, 1], - [30418, 1], - [30417, 1], - [30416, 1], - [30415, 1], - [30414, 1], - [30413, 1], - [30412, 1], - [30411, 1], - [30410, 1], - [30409, 1], - [30408, 1], - [30407, 1], - [30406, 1], - [30405, 1], - [30404, 1], - [30403, 1], - [30402, 1], - [30401, 1], - [30400, 1], - [30399, 1], - [30398, 1], - [30397, 1], - [30396, 1], - [30395, 1], - [30394, 1], - [30393, 1], - [30392, 1], - [30391, 1], - [30390, 1], - [30389, 1], - [30388, 1], - [30387, 1], - [30386, 1], - [30385, 1], - [30384, 1], - [30383, 1], - [30382, 1], - [30381, 1], - [30380, 1], - [30379, 1], - [30378, 1], - [30378, 0, "p"], - [30379, 0, "s"], - [30380, 0, "t"], - [30381, 0, "o"], - [30382, 0, "\\"], - [30383, 0, ","], - [30384, 0, " "], - [30367, 1], - [30366, 1], - [30365, 1], - [30364, 1], - [30364, 0, "m"], - [30365, 0, "a"], - [30366, 0, "p"], - [30367, 0, "T"], - [30385, 0, "\\"], - [30386, 0, "m"], - [30387, 0, "a"], - [30388, 0, "t"], - [30389, 0, "h"], - [30390, 0, "i"], - [30391, 0, "t"], - [30392, 0, "{"], - [30393, 0, "c"], - [30394, 0, "h"], - [30395, 0, "i"], - [30396, 0, "l"], - [30397, 0, "d"], - [30398, 0, "}"], - [30399, 0, " "], - [30400, 0, "\\"], - [30401, 0, ","], - [30402, 0, "]"], - [30352, 0, "'"], - [30353, 0, "'"], - [30032, 1], - [30031, 1], - [30030, 1], - [30029, 1], - [30028, 1], - [30027, 1], - [30026, 1], - [30025, 1], - [30024, 1], - [30023, 1], - [30022, 1], - [30021, 1], - [30020, 1], - [30019, 1], - [30018, 1], - [30017, 1], - [30016, 1], - [30015, 1], - [30014, 1], - [30013, 1], - [30012, 1], - [30011, 1], - [30010, 1], - [30009, 1], - [30008, 1], - [30007, 1], - [30006, 1], - [30005, 1], - [30004, 1], - [30003, 1], - [30002, 1], - [30001, 1], - [30000, 1], - [29999, 1], - [29998, 1], - [29997, 1], - [29996, 1], - [29995, 1], - [29994, 1], - [29993, 1], - [29992, 1], - [29991, 1], - [30007, 1], - [30006, 1], - [30005, 1], - [30004, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 1], - [30255, 0, "\\"], - [30256, 0, "m"], - [30257, 0, "a"], - [30258, 0, "t"], - [30259, 0, "h"], - [30260, 0, "i"], - [30261, 0, "t"], - [30262, 0, "{"], - [30263, 0, "v"], - [30264, 0, "a"], - [30265, 0, "l"], - [30255, 1], - [30092, 1], - [30079, 1], - [30078, 1], - [30077, 1], - [30076, 1], - [30075, 1], - [30074, 1], - [30073, 1], - [30072, 1], - [30071, 1], - [30070, 1], - [30069, 1], - [30068, 1], - [30067, 1], - [30066, 1], - [30065, 1], - [30064, 1], - [30063, 1], - [30062, 1], - [30061, 1], - [30060, 1], - [30059, 1], - [30058, 1], - [30057, 1], - [30056, 1], - [30055, 1], - [30054, 1], - [30053, 1], - [30052, 1], - [30051, 1], - [30050, 1], - [30049, 1], - [30048, 1], - [30047, 1], - [30046, 1], - [30045, 1], - [30044, 1], - [30043, 1], - [30055, 0, ","], - [30056, 0, "\\"], - [30057, 0, ","], - [30058, 0, " "], - [30059, 0, "\\"], - [30060, 0, "m"], - [30061, 0, "a"], - [30062, 0, "t"], - [30063, 0, "h"], - [30064, 0, "s"], - [30065, 0, "f"], - [30066, 0, "{"], - [30067, 0, "c"], - [30068, 0, "l"], - [30069, 0, "e"], - [30070, 0, "a"], - [30071, 0, "r"], - [30072, 0, "E"], - [30073, 0, "l"], - [30074, 0, "e"], - [30075, 0, "m"], - [30076, 0, "}"], - [30077, 0, "("], - [30078, 0, "\\"], - [30079, 0, "m"], - [30080, 0, "a"], - [30081, 0, "t"], - [30082, 0, "h"], - [30083, 0, "i"], - [30084, 0, "t"], - [30085, 0, "{"], - [30086, 0, "d"], - [30087, 0, "e"], - [30088, 0, "p"], - [30089, 0, "s"], - [30090, 0, "}"], - [30091, 0, ","], - [30092, 0, " "], - [30093, 0, "\\"], - [30094, 0, "m"], - [30095, 0, "a"], - [30096, 0, "t"], - [30096, 1], - [30095, 1], - [30094, 1], - [30093, 1], - [30092, 1], - [30092, 0, " "], - [30093, 0, "k"], - [30094, 0, ")"], - [30095, 0, " "], - [30096, 0, "\\"], - [30097, 0, "e"], - [30098, 0, "v"], - [30099, 0, "a"], - [30100, 0, "l"], - [30101, 0, "t"], - [30102, 0, "o"], - [30103, 0, " "], - [30104, 0, "\\"], - [30105, 0, "m"], - [30106, 0, "a"], - [30107, 0, "t"], - [30108, 0, "h"], - [30109, 0, "i"], - [30110, 0, "t"], - [30111, 0, "{"], - [30112, 0, "c"], - [30113, 0, "t"], - [30114, 0, "x"], - [30115, 0, "}"], - [30116, 0, "'"], - [30117, 0, ","], - [30118, 0, "\\"], - [30119, 0, ","], - [30120, 0, " "], - [30121, 0, "\\"], - [30122, 0, "m"], - [30123, 0, "a"], - [30124, 0, "t"], - [30125, 0, "h"], - [30126, 0, "i"], - [30127, 0, "t"], - [30128, 0, "{"], - [30129, 0, "p"], - [30130, 0, "r"], - [30131, 0, "e"], - [30132, 0, "s"], - [30133, 0, "}"], - [30136, 0, "\n"], - [30137, 0, "\\"], - [30138, 0, "A"], - [30139, 0, "x"], - [30140, 0, "i"], - [30141, 0, "o"], - [30142, 0, "m"], - [30143, 0, "C"], - [30144, 0, "{"], - [30145, 0, "$"], - [30146, 0, "\\"], - [30147, 0, "m"], - [30148, 0, "a"], - [30149, 0, "t"], - [30150, 0, "h"], - [30151, 0, "i"], - [30152, 0, "t"], - [30153, 0, "{"], - [30154, 0, "c"], - [30155, 0, "t"], - [30156, 0, "x"], - [30157, 0, "}"], - [30158, 0, "'"], - [30159, 0, ","], - [30160, 0, "\\"], - [30161, 0, ","], - [30162, 0, " "], - [29603, 0, "\\"], - [29604, 0, ","], - [29507, 0, "\\"], - [29508, 0, ","], - [30167, 0, "\\"], - [30168, 0, "m"], - [30169, 0, "a"], - [30170, 0, "t"], - [30171, 0, "h"], - [30172, 0, "s"], - [30173, 0, "f"], - [30174, 0, "{"], - [30175, 0, "a"], - [30176, 0, "d"], - [30177, 0, "d"], - [30178, 0, "I"], - [30179, 0, "d"], - [30180, 0, "}"], - [30181, 0, "("], - [30182, 0, "\\"], - [30183, 0, "m"], - [30184, 0, "a"], - [30185, 0, "t"], - [30186, 0, "h"], - [30187, 0, "s"], - [30188, 0, "f"], - [30189, 0, "{"], - [30190, 0, "r"], - [30191, 0, "e"], - [30192, 0, "g"], - [30192, 1], - [30191, 1], - [30190, 1], - [30190, 0, "m"], - [30191, 0, "a"], - [30192, 0, "p"], - [30193, 0, "T"], - [30194, 0, "}"], - [30195, 0, "("], - [30196, 0, "k"], - [30197, 0, ")"], - [30198, 0, ","], - [30199, 0, " "], - [30200, 0, "\\"], - [30201, 0, "m"], - [30202, 0, "a"], - [30203, 0, "t"], - [30204, 0, "h"], - [30205, 0, "i"], - [30206, 0, "t"], - [30207, 0, "{"], - [30208, 0, "i"], - [30209, 0, "d"], - [30210, 0, "}"], - [30211, 0, ")"], - [30212, 0, " "], - [30213, 0, "\\"], - [30214, 0, "e"], - [30215, 0, "v"], - [30216, 0, "a"], - [30217, 0, "l"], - [30218, 0, "t"], - [30219, 0, "o"], - [30220, 0, " "], - [30221, 0, "\\"], - [30222, 0, "m"], - [30223, 0, "a"], - [30224, 0, "t"], - [30225, 0, "h"], - [30226, 0, "i"], - [30227, 0, "t"], - [30228, 0, "{"], - [30229, 0, "c"], - [30230, 0, "t"], - [30231, 0, "x"], - [30232, 0, "}"], - [30233, 0, "'"], - [30234, 0, "'"], - [30235, 0, "$"], - [30236, 0, "}"], - [30237, 0, "\n"], - [30238, 0, "\\"], - [30239, 0, "A"], - [30240, 0, "x"], - [30241, 0, "i"], - [30242, 0, "o"], - [30243, 0, "m"], - [30244, 0, "C"], - [30245, 0, "{"], - [30246, 0, "$"], - [30247, 0, "\\"], - [30248, 0, "m"], - [30249, 0, "a"], - [30250, 0, "t"], - [30251, 0, "h"], - [30252, 0, "i"], - [30253, 0, "t"], - [30254, 0, "{"], - [30255, 0, "c"], - [30256, 0, "t"], - [30257, 0, "x"], - [30258, 0, "}"], - [30259, 0, "'"], - [30260, 0, "'"], - [30261, 0, ","], - [30262, 0, "\\"], - [30263, 0, ","], - [30264, 0, " "], - [30265, 0, "\\"], - [30266, 0, "m"], - [30267, 0, "a"], - [30268, 0, "t"], - [30269, 0, "h"], - [30270, 0, "s"], - [30271, 0, "f"], - [30272, 0, "{"], - [30273, 0, "m"], - [30274, 0, "a"], - [30275, 0, "p"], - [30276, 0, "T"], - [30277, 0, "}"], - [30278, 0, "("], - [30279, 0, "k"], - [30280, 0, ")"], - [30281, 0, " "], - [30282, 0, "\\"], - [30283, 0, "3"], - [30284, 0, "e"], - [30284, 1], - [30283, 1], - [30283, 0, "e"], - [30284, 0, "v"], - [30285, 0, "a"], - [30286, 0, "l"], - [30287, 0, "t"], - [30288, 0, "o"], - [30289, 0, " "], - [30290, 0, "\\"], - [30291, 0, "m"], - [30292, 0, "a"], - [30293, 0, "t"], - [30294, 0, "h"], - [30295, 0, "i"], - [30296, 0, "t"], - [30297, 0, "{"], - [30298, 0, "c"], - [30299, 0, "h"], - [30300, 0, "i"], - [30301, 0, "l"], - [30302, 0, "d"], - [30303, 0, "}"], - [30304, 0, "$"], - [30305, 0, "}"], - [30339, 1], - [30339, 1], - [30339, 0, "Q"], - [30340, 0, "u"], - [30341, 0, "a"], - [30342, 0, "t"], - [30343, 0, "e"], - [30344, 0, "r"], - [30579, 0, "\n"], - [30580, 0, "\n"], - [30581, 0, "%"], - [30582, 0, " "], - [30583, 0, "T"], - [30584, 0, "O"], - [30585, 0, "D"], - [30586, 0, "O"], - [30587, 0, " "], - [30588, 0, "E"], - [30589, 0, "M"], - [30590, 0, "p"], - [30591, 0, "t"], - [30592, 0, "y"], - [30593, 0, "-"], - [30594, 0, "L"], - [30595, 0, "i"], - [30596, 0, "s"], - [30597, 0, "t"], - [30598, 0, " "], - [30599, 0, "i"], - [30600, 0, "s"], - [30601, 0, " "], - [30602, 0, "i"], - [30603, 0, "m"], - [30604, 0, "s"], - [30605, 0, "i"], - [30606, 0, "l"], - [30607, 0, "a"], - [30608, 0, "r"], - [30608, 1], - [30607, 1], - [30606, 1], - [30605, 1], - [30604, 1], - [30603, 1], - [30602, 1], - [30602, 0, "s"], - [30603, 0, "i"], - [30604, 0, "m"], - [30605, 0, "i"], - [30606, 0, "l"], - [30607, 0, "a"], - [30608, 0, "r"], - [30589, 1], - [30589, 0, "m"], - [30608, 1], - [30607, 1], - [30606, 1], - [30605, 1], - [30604, 1], - [30603, 1], - [30602, 1], - [30601, 1], - [30600, 1], - [30599, 1], - [30598, 1], - [30597, 1], - [30596, 1], - [30595, 1], - [30594, 1], - [30593, 1], - [30592, 1], - [30591, 1], - [30590, 1], - [30589, 1], - [30588, 1], - [30587, 1], - [30586, 1], - [30585, 1], - [30584, 1], - [30583, 1], - [30582, 1], - [30581, 1], - [30581, 0, "\\"], - [30582, 0, "b"], - [30583, 0, "e"], - [30584, 0, "g"], - [30585, 0, "i"], - [30586, 0, "n"], - [30587, 0, "{"], - [30588, 0, "p"], - [30589, 0, "r"], - [30590, 0, "o"], - [30591, 0, "o"], - [30592, 0, "f"], - [30593, 0, "t"], - [30594, 0, "r"], - [30595, 0, "e"], - [30596, 0, "e"], - [30597, 0, "}"], - [30598, 0, "\n"], - [30599, 0, "\\"], - [30600, 0, "e"], - [30601, 0, "n"], - [30602, 0, "d"], - [30603, 0, "{"], - [30604, 0, "p"], - [30605, 0, "r"], - [30606, 0, "o"], - [30607, 0, "o"], - [30608, 0, "f"], - [30609, 0, "t"], - [30610, 0, "r"], - [30611, 0, "e"], - [30612, 0, "e"], - [30613, 0, "}"], - [30598, 0, "\n"], - [30599, 0, "\\"], - [30600, 0, "A"], - [30601, 0, "x"], - [30602, 0, "i"], - [30603, 0, "o"], - [30604, 0, "m"], - [30605, 0, "C"], - [30606, 0, "{"], - [30607, 0, "$"], - [30608, 0, "\\"], - [30609, 0, "m"], - [30610, 0, "a"], - [30611, 0, "t"], - [30612, 0, "h"], - [30613, 0, "i"], - [30614, 0, "t"], - [30615, 0, "{"], - [30616, 0, "v"], - [30617, 0, "a"], - [30618, 0, "l"], - [30619, 0, "}"], - [30620, 0, " "], - [30621, 0, "="], - [30622, 0, " "], - [30623, 0, "\\"], - [30624, 0, "t"], - [30625, 0, "e"], - [30626, 0, "x"], - [30627, 0, "t"], - [30628, 0, "t"], - [30629, 0, "t"], - [30630, 0, "{"], - [30631, 0, "["], - [30632, 0, "]"], - [30633, 0, "}"], - [30634, 0, "$"], - [30635, 0, "}"], - [30636, 0, "\n"], - [30637, 0, "\\"], - [30638, 0, "A"], - [30639, 0, "x"], - [30640, 0, "i"], - [30641, 0, "o"], - [30642, 0, "m"], - [30643, 0, "C"], - [30644, 0, "{"], - [30645, 0, "$"], - [30646, 0, "\\"], - [30647, 0, "m"], - [30648, 0, "a"], - [30649, 0, "t"], - [30650, 0, "h"], - [30651, 0, "i"], - [30652, 0, "t"], - [30653, 0, "{"], - [30654, 0, "c"], - [30655, 0, "t"], - [30656, 0, "x"], - [30657, 0, "}"], - [30658, 0, ","], - [30659, 0, "\\"], - [30660, 0, ","], - [30661, 0, " "], - [30662, 0, "\\"], - [30663, 0, "m"], - [30664, 0, "a"], - [30665, 0, "t"], - [30666, 0, "h"], - [30667, 0, "s"], - [30668, 0, "f"], - [30669, 0, "{"], - [30670, 0, "c"], - [30671, 0, "l"], - [30672, 0, "e"], - [30673, 0, "a"], - [30674, 0, "r"], - [30675, 0, "E"], - [30676, 0, "l"], - [30677, 0, "e"], - [30678, 0, "m"], - [30679, 0, "}"], - [30680, 0, "("], - [30681, 0, "\\"], - [30682, 0, "m"], - [30683, 0, "a"], - [30684, 0, "t"], - [30685, 0, "h"], - [30686, 0, "i"], - [30687, 0, "t"], - [30688, 0, "{"], - [30689, 0, "d"], - [30690, 0, "e"], - [30691, 0, "p"], - [30692, 0, "s"], - [30693, 0, "}"], - [30694, 0, ","], - [30695, 0, " "], - [30696, 0, "k"], - [30697, 0, ")"], - [30698, 0, " "], - [30699, 0, "\\"], - [30700, 0, "e"], - [30701, 0, "v"], - [30702, 0, "a"], - [30703, 0, "l"], - [30704, 0, "t"], - [30705, 0, "o"], - [30706, 0, " "], - [30707, 0, "\\"], - [30708, 0, "m"], - [30709, 0, "a"], - [30710, 0, "t"], - [30711, 0, "h"], - [30712, 0, "i"], - [30713, 0, "t"], - [30714, 0, "{"], - [30715, 0, "c"], - [30716, 0, "t"], - [30717, 0, "x"], - [30718, 0, "}"], - [30719, 0, "'"], - [30720, 0, ","], - [30721, 0, "\\"], - [30722, 0, ","], - [30723, 0, " "], - [30724, 0, "\\"], - [30725, 0, "m"], - [30726, 0, "a"], - [30727, 0, "t"], - [30728, 0, "h"], - [30729, 0, "i"], - [30730, 0, "t"], - [30731, 0, "{"], - [30732, 0, "p"], - [30733, 0, "r"], - [30734, 0, "e"], - [30735, 0, "s"], - [30736, 0, "}"], - [30737, 0, "$"], - [30738, 0, "}"], - [30739, 0, "\n"], - [30740, 0, "\\"], - [30741, 0, "m"], - [30741, 1], - [30741, 0, "A"], - [30742, 0, "x"], - [30743, 0, "i"], - [30744, 0, "o"], - [30745, 0, "m"], - [30746, 0, "C"], - [30747, 0, "{"], - [30748, 0, "$"], - [30749, 0, "\\"], - [30750, 0, "m"], - [30751, 0, "a"], - [30752, 0, "t"], - [30753, 0, "h"], - [30754, 0, "i"], - [30755, 0, "t"], - [30756, 0, "{"], - [30757, 0, "c"], - [30758, 0, "t"], - [30759, 0, "x"], - [30760, 0, "}"], - [30761, 0, "'"], - [30762, 0, ","], - [30763, 0, "\\"], - [30764, 0, ","], - [30765, 0, " "], - [30766, 0, "\\"], - [30767, 0, "m"], - [30768, 0, "a"], - [30769, 0, "t"], - [30770, 0, "h"], - [30771, 0, "s"], - [30772, 0, "f"], - [30773, 0, "{"], - [30774, 0, "a"], - [30775, 0, "d"], - [30776, 0, "d"], - [30777, 0, "I"], - [30778, 0, "d"], - [30779, 0, "}"], - [30780, 0, "("], - [30781, 0, "\\"], - [30782, 0, "m"], - [30783, 0, "a"], - [30784, 0, "t"], - [30785, 0, "h"], - [30786, 0, "s"], - [30787, 0, "f"], - [30788, 0, "{"], - [30789, 0, "l"], - [30790, 0, "i"], - [30791, 0, "s"], - [30792, 0, "t"], - [30793, 0, "T"], - [30794, 0, "}"], - [30795, 0, "("], - [30796, 0, "k"], - [30797, 0, ")"], - [30798, 0, ","], - [30799, 0, " "], - [30800, 0, "\\"], - [30801, 0, "m"], - [30802, 0, "a"], - [30803, 0, "t"], - [30804, 0, "h"], - [30805, 0, "i"], - [30806, 0, "t"], - [30807, 0, "{"], - [30808, 0, "i"], - [30809, 0, "d"], - [30810, 0, "}"], - [30811, 0, ")"], - [30812, 0, " "], - [30813, 0, "\\"], - [30814, 0, "e"], - [30815, 0, "v"], - [30816, 0, "a"], - [30817, 0, "l"], - [30818, 0, "t"], - [30819, 0, "o"], - [30820, 0, " "], - [30821, 0, "\\"], - [30822, 0, "m"], - [30823, 0, "a"], - [30824, 0, "t"], - [30825, 0, "h"], - [30826, 0, "i"], - [30827, 0, "t"], - [30828, 0, "{"], - [30829, 0, "c"], - [30830, 0, "t"], - [30831, 0, "x"], - [30832, 0, "}"], - [30833, 0, "'"], - [30834, 0, "'"], - [30835, 0, "$"], - [30836, 0, "}"], - [30837, 0, "\n"], - [30838, 0, "\\"], - [30839, 0, "A"], - [30840, 0, "x"], - [30841, 0, "i"], - [30842, 0, "o"], - [30843, 0, "m"], - [30844, 0, "C"], - [30845, 0, "{"], - [30846, 0, "$"], - [30847, 0, "\\"], - [30848, 0, "m"], - [30849, 0, "a"], - [30850, 0, "t"], - [30851, 0, "h"], - [30852, 0, "i"], - [30853, 0, "t"], - [30854, 0, "{"], - [30855, 0, "c"], - [30856, 0, "t"], - [30857, 0, "x"], - [30858, 0, "}"], - [30859, 0, "'"], - [30860, 0, "'"], - [30861, 0, ","], - [30862, 0, "\\"], - [30863, 0, ","], - [30864, 0, " "], - [30865, 0, "\\"], - [30866, 0, "m"], - [30867, 0, "a"], - [30868, 0, "t"], - [30869, 0, "h"], - [30870, 0, "s"], - [30871, 0, "f"], - [30872, 0, "{"], - [30873, 0, "l"], - [30874, 0, "i"], - [30875, 0, "s"], - [30876, 0, "t"], - [30877, 0, "T"], - [30878, 0, "}"], - [30879, 0, "("], - [30880, 0, "k"], - [30881, 0, ")"], - [30882, 0, " "], - [30883, 0, "\\"], - [30884, 0, "e"], - [30885, 0, "v"], - [30886, 0, "a"], - [30887, 0, "l"], - [30888, 0, "t"], - [30889, 0, "o"], - [30890, 0, " "], - [30891, 0, "\\"], - [30892, 0, "m"], - [30893, 0, "a"], - [30894, 0, "t"], - [30895, 0, "h"], - [30896, 0, "i"], - [30897, 0, "t"], - [30898, 0, "{"], - [30899, 0, "c"], - [30900, 0, "h"], - [30901, 0, "i"], - [30902, 0, "l"], - [30903, 0, "d"], - [30904, 0, "}"], - [30905, 0, "$"], - [30906, 0, "}"], - [30907, 0, "\n"], - [30908, 0, "\\"], - [30909, 0, "L"], - [30910, 0, "e"], - [30911, 0, "f"], - [30912, 0, "t"], - [30913, 0, "L"], - [30914, 0, "a"], - [30915, 0, "b"], - [30916, 0, "e"], - [30917, 0, "l"], - [30918, 0, "{"], - [30919, 0, "\\"], - [30920, 0, "t"], - [30921, 0, "e"], - [30922, 0, "x"], - [30923, 0, "t"], - [30924, 0, "s"], - [30925, 0, "c"], - [30926, 0, "{"], - [30927, 0, "E"], - [30928, 0, "m"], - [30929, 0, "p"], - [30930, 0, "t"], - [30931, 0, "y"], - [30932, 0, "-"], - [30933, 0, "L"], - [30934, 0, "i"], - [30935, 0, "s"], - [30936, 0, "t"], - [30937, 0, "}"], - [30938, 0, "}"], - [30939, 0, "\n"], - [30940, 0, "\\"], - [30941, 0, "Q"], - [30942, 0, "u"], - [30943, 0, "a"], - [30944, 0, "t"], - [30945, 0, "e"], - [30946, 0, "r"], - [30947, 0, "n"], - [30948, 0, "a"], - [30949, 0, "r"], - [30950, 0, "y"], - [30951, 0, "I"], - [30952, 0, "n"], - [30953, 0, "f"], - [30954, 0, "C"], - [30955, 0, "{"], - [30956, 0, "$"], - [30957, 0, "\\"], - [30958, 0, "m"], - [30959, 0, "a"], - [30960, 0, "t"], - [30961, 0, "h"], - [30962, 0, "i"], - [30963, 0, "t"], - [30964, 0, "{"], - [30965, 0, "c"], - [30966, 0, "t"], - [30967, 0, "x"], - [30968, 0, "}"], - [30969, 0, ","], - [30970, 0, "\\"], - [30971, 0, ","], - [30972, 0, " "], - [30973, 0, "\\"], - [30974, 0, "m"], - [30975, 0, "a"], - [30976, 0, "t"], - [30977, 0, "h"], - [30978, 0, "s"], - [30979, 0, "f"], - [30980, 0, "{"], - [30981, 0, "o"], - [30982, 0, "p"], - [30983, 0, "}"], - [30984, 0, "("], - [30985, 0, "\\"], - [30986, 0, "m"], - [30987, 0, "a"], - [30988, 0, "t"], - [30989, 0, "h"], - [30990, 0, "i"], - [30991, 0, "t"], - [30992, 0, "{"], - [30993, 0, "i"], - [30994, 0, "d"], - [30995, 0, "}"], - [30996, 0, ","], - [30997, 0, " "], - [30998, 0, "\\"], - [30999, 0, "m"], - [31000, 0, "a"], - [31001, 0, "t"], - [31002, 0, "h"], - [31003, 0, "i"], - [31004, 0, "t"], - [31005, 0, "{"], - [31006, 0, "d"], - [31007, 0, "e"], - [31008, 0, "p"], - [31009, 0, "s"], - [31010, 0, "}"], - [31011, 0, ","], - [31012, 0, "\n"], - [31013, 0, " "], - [31014, 0, " "], - [31015, 0, " "], - [31016, 0, " "], - [31017, 0, "\\"], - [31018, 0, "m"], - [31019, 0, "a"], - [31020, 0, "t"], - [31021, 0, "h"], - [31022, 0, "s"], - [31023, 0, "f"], - [31024, 0, "{"], - [31025, 0, "c"], - [31026, 0, "u"], - [31027, 0, "r"], - [31028, 0, "s"], - [31029, 0, "o"], - [31030, 0, "r"], - [31031, 0, "}"], - [31032, 0, "("], - [31033, 0, "\\"], - [31034, 0, "l"], - [31035, 0, "a"], - [31036, 0, "n"], - [31037, 0, "g"], - [31038, 0, "l"], - [31039, 0, "e"], - [31040, 0, "\\"], - [31041, 0, "r"], - [31042, 0, "a"], - [31043, 0, "n"], - [31044, 0, "g"], - [31045, 0, "l"], - [31046, 0, "e"], - [31047, 0, ","], - [31048, 0, "\\"], - [31049, 0, ","], - [31050, 0, " "], - [31051, 0, "k"], - [31052, 0, ")"], - [31053, 0, ","], - [31054, 0, " "], - [31055, 0, "\\"], - [31056, 0, "m"], - [31057, 0, "a"], - [31058, 0, "t"], - [31059, 0, "h"], - [31060, 0, "s"], - [31061, 0, "f"], - [31062, 0, "{"], - [31063, 0, "a"], - [31064, 0, "s"], - [31065, 0, "s"], - [31066, 0, "i"], - [31067, 0, "g"], - [31068, 0, "n"], - [31069, 0, "}"], - [31070, 0, "("], - [31071, 0, "\\"], - [31072, 0, "m"], - [31073, 0, "a"], - [31074, 0, "t"], - [31075, 0, "h"], - [31076, 0, "i"], - [31077, 0, "t"], - [31078, 0, "{"], - [31079, 0, "v"], - [31080, 0, "a"], - [31081, 0, "l"], - [31082, 0, "}"], - [31083, 0, ")"], - [31084, 0, ")"], - [31085, 0, " "], - [31086, 0, "\\"], - [31087, 0, "e"], - [31088, 0, "v"], - [31089, 0, "a"], - [31090, 0, "l"], - [31091, 0, "t"], - [31092, 0, "o"], - [31093, 0, "\n"], - [31094, 0, " "], - [31095, 0, " "], - [31096, 0, " "], - [31097, 0, " "], - [31098, 0, "\\"], - [31099, 0, "m"], - [31100, 0, "a"], - [31101, 0, "t"], - [31102, 0, "h"], - [31103, 0, "i"], - [31104, 0, "t"], - [31105, 0, "{"], - [31106, 0, "c"], - [31107, 0, "t"], - [31108, 0, "x"], - [31109, 0, "}"], - [31110, 0, "'"], - [31111, 0, "'"], - [31112, 0, "["], - [31113, 0, "\\"], - [31114, 0, ","], - [31115, 0, " "], - [31116, 0, "\\"], - [31117, 0, "m"], - [31118, 0, "a"], - [31119, 0, "t"], - [31120, 0, "h"], - [31121, 0, "s"], - [31122, 0, "f"], - [31123, 0, "{"], - [31124, 0, "l"], - [31125, 0, "i"], - [31126, 0, "s"], - [31127, 0, "t"], - [31128, 0, "T"], - [31129, 0, "}"], - [31130, 0, "("], - [31131, 0, "k"], - [31132, 0, ")"], - [31133, 0, " "], - [31134, 0, "\\"], - [31135, 0, ","], - [31136, 0, "\\"], - [31137, 0, "m"], - [31138, 0, "a"], - [31139, 0, "p"], - [31140, 0, "s"], - [31141, 0, "t"], - [31142, 0, "o"], - [31143, 0, " "], - [31143, 1], - [31143, 0, "\\"], - [31144, 0, ","], - [31145, 0, " "], - [31146, 0, "\\"], - [31147, 0, "m"], - [31148, 0, "a"], - [31149, 0, "t"], - [31150, 0, "h"], - [31151, 0, "i"], - [31152, 0, "t"], - [31153, 0, "{"], - [31154, 0, "c"], - [31155, 0, "h"], - [31156, 0, "i"], - [31157, 0, "l"], - [31158, 0, "d"], - [31159, 0, "}"], - [31160, 0, " "], - [31161, 0, "\\"], - [31162, 0, ","], - [31163, 0, "]"], - [31164, 0, "$"], - [31165, 0, "}"], - [32744, 0, "f"], - [32745, 0, "f"], - [32745, 1], - [32744, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 1], - [32755, 0, "k"], - [32773, 1], - [32772, 1], - [32771, 1], - [32770, 1], - [32769, 1], - [32768, 1], - [32767, 1], - [32767, 0, "d"], - [32768, 0, "e"], - [32769, 0, "l"], - [32770, 0, "e"], - [32771, 0, "t"], - [32772, 0, "e"], - [32864, 1], - [32863, 1], - [32862, 1], - [32861, 1], - [32860, 1], - [32859, 1], - [32858, 1], - [32857, 1], - [32856, 1], - [32855, 1], - [32854, 1], - [32853, 1], - [32852, 1], - [32851, 1], - [32850, 1], - [32849, 1], - [32848, 1], - [32847, 1], - [32846, 1], - [32845, 1], - [32844, 1], - [32843, 1], - [32842, 1], - [32841, 1], - [32840, 1], - [32839, 1], - [32838, 1], - [32837, 1], - [32836, 1], - [32835, 1], - [32834, 1], - [32833, 1], - [32832, 1], - [32831, 1], - [32830, 1], - [32829, 1], - [32828, 1], - [32827, 1], - [32826, 1], - [32825, 1], - [32824, 1], - [32823, 1], - [32822, 1], - [32821, 1], - [32820, 1], - [32819, 1], - [32818, 1], - [32817, 1], - [32816, 1], - [32815, 1], - [32814, 1], - [32813, 1], - [32812, 1], - [32811, 1], - [32810, 1], - [32809, 1], - [32808, 1], - [32807, 1], - [32806, 1], - [32805, 1], - [32804, 1], - [32803, 1], - [32802, 1], - [32801, 1], - [32800, 1], - [32800, 0, "'"], - [32787, 1], - [32786, 1], - [32785, 1], - [32784, 1], - [32783, 1], - [32783, 0, " "], - [32642, 1], - [32641, 1], - [32640, 1], - [32639, 1], - [32638, 1], - [32641, 0, "e"], - [32642, 0, "t"], - [32643, 0, "e"], - [32615, 1], - [32602, 1], - [32601, 1], - [32600, 1], - [32599, 1], - [32598, 1], - [32597, 1], - [32596, 1], - [32595, 1], - [32594, 1], - [32593, 1], - [32592, 1], - [32591, 1], - [32590, 1], - [32589, 1], - [32588, 1], - [32587, 1], - [32586, 1], - [32585, 1], - [32584, 1], - [32583, 1], - [32582, 1], - [32581, 1], - [32580, 1], - [32579, 1], - [32578, 1], - [32577, 1], - [32576, 1], - [32575, 1], - [32574, 1], - [32573, 1], - [32572, 1], - [32571, 1], - [32570, 1], - [32569, 1], - [32568, 1], - [32567, 1], - [32566, 1], - [32565, 1], - [32564, 1], - [32563, 1], - [32562, 1], - [32561, 1], - [32560, 1], - [32559, 1], - [32558, 1], - [32557, 1], - [32556, 1], - [32555, 1], - [32567, 0, " "], - [32567, 1], - [32567, 0, ","], - [32568, 0, "\\"], - [32569, 0, ","], - [32570, 0, " "], - [32571, 0, "\\"], - [32572, 0, "m"], - [32573, 0, "a"], - [32574, 0, "t"], - [32575, 0, "h"], - [32576, 0, "s"], - [32577, 0, "f"], - [32578, 0, "{"], - [32579, 0, "c"], - [32580, 0, "l"], - [32581, 0, "e"], - [32582, 0, "a"], - [32583, 0, "r"], - [32584, 0, "E"], - [32585, 0, "l"], - [32586, 0, "e"], - [32587, 0, "m"], - [32588, 0, "}"], - [32589, 0, "("], - [32590, 0, "\\"], - [32591, 0, "m"], - [32592, 0, "a"], - [32593, 0, "t"], - [32594, 0, "h"], - [32595, 0, "i"], - [32596, 0, "t"], - [32597, 0, "{"], - [32598, 0, "d"], - [32599, 0, "e"], - [32600, 0, "p"], - [32601, 0, "s"], - [32602, 0, "}"], - [32603, 0, ","], - [32604, 0, " "], - [32605, 0, "k"], - [32606, 0, ")"], - [32607, 0, " "], - [32608, 0, "\\"], - [32609, 0, "e"], - [32610, 0, "v"], - [32611, 0, "a"], - [32612, 0, "l"], - [32613, 0, "t"], - [32614, 0, "o"], - [32615, 0, " "], - [32616, 0, "\\"], - [32617, 0, "m"], - [32618, 0, "a"], - [32619, 0, "t"], - [32620, 0, "h"], - [32621, 0, "i"], - [32622, 0, "t"], - [32623, 0, "{"], - [32624, 0, "c"], - [32625, 0, "t"], - [32626, 0, "x"], - [32627, 0, "}"], - [32628, 0, "'"], - [32629, 0, ","], - [32630, 0, " "], - [32630, 1], - [32630, 0, "\\"], - [32631, 0, ","], - [32632, 0, " "], - [32633, 0, "\\"], - [32634, 0, "m"], - [32635, 0, "a"], - [32636, 0, "t"], - [32637, 0, "h"], - [32638, 0, "i"], - [32639, 0, "t"], - [32640, 0, "{"], - [32641, 0, "p"], - [32642, 0, "r"], - [32643, 0, "e"], - [32644, 0, "s"], - [32645, 0, "}"], - [32843, 0, "\n"], - [32844, 0, "\n"], - [32845, 0, "\\"], - [32846, 0, "b"], - [32847, 0, "e"], - [32848, 0, "g"], - [32849, 0, "i"], - [32850, 0, "n"], - [32851, 0, "{"], - [32852, 0, "p"], - [32853, 0, "r"], - [32854, 0, "o"], - [32855, 0, "o"], - [32856, 0, "f"], - [32857, 0, "t"], - [32858, 0, "r"], - [32859, 0, "e"], - [32860, 0, "e"], - [32861, 0, "}"], - [32862, 0, "\n"], - [32863, 0, "\\"], - [32864, 0, "e"], - [32865, 0, "n"], - [32866, 0, "d"], - [32867, 0, "{"], - [32868, 0, "p"], - [32869, 0, "r"], - [32870, 0, "o"], - [32871, 0, "o"], - [32872, 0, "f"], - [32873, 0, "t"], - [32874, 0, "r"], - [32875, 0, "e"], - [32876, 0, "e"], - [32877, 0, "}"], - [32862, 0, "\n"], - [32863, 0, "\\"], - [32864, 0, "A"], - [32865, 0, "x"], - [32866, 0, "i"], - [32867, 0, "o"], - [32868, 0, "m"], - [32869, 0, "C"], - [32870, 0, "{"], - [32871, 0, "$"], - [32872, 0, "\\"], - [32873, 0, "m"], - [32874, 0, "a"], - [32875, 0, "t"], - [32876, 0, "h"], - [32877, 0, "i"], - [32878, 0, "t"], - [32879, 0, "{"], - [32880, 0, "c"], - [32881, 0, "t"], - [32882, 0, "x"], - [32883, 0, "}"], - [32884, 0, ","], - [32885, 0, "\\"], - [32886, 0, ","], - [32887, 0, " "], - [32888, 0, "\\"], - [32889, 0, "m"], - [32890, 0, "a"], - [32891, 0, "t"], - [32892, 0, "h"], - [32893, 0, "s"], - [32894, 0, "f"], - [32895, 0, "{"], - [32896, 0, "c"], - [32897, 0, "l"], - [32898, 0, "e"], - [32899, 0, "a"], - [32900, 0, "r"], - [32901, 0, "A"], - [32902, 0, "n"], - [32903, 0, "y"], - [32904, 0, "}"], - [32905, 0, "("], - [32906, 0, "\\"], - [32907, 0, "m"], - [32908, 0, "a"], - [32909, 0, "t"], - [32910, 0, "h"], - [32911, 0, "i"], - [32912, 0, "t"], - [32913, 0, "{"], - [32914, 0, "d"], - [32915, 0, "e"], - [32916, 0, "p"], - [32917, 0, "s"], - [32918, 0, "}"], - [32919, 0, ","], - [32920, 0, " "], - [32921, 0, "k"], - [32922, 0, ")"], - [32923, 0, " "], - [32924, 0, "\\"], - [32925, 0, "e"], - [32926, 0, "v"], - [32927, 0, "a"], - [32928, 0, "l"], - [32929, 0, "t"], - [32930, 0, "o"], - [32931, 0, " "], - [32932, 0, "\\"], - [32933, 0, "m"], - [32934, 0, "a"], - [32935, 0, "t"], - [32936, 0, "h"], - [32937, 0, "i"], - [32938, 0, "t"], - [32939, 0, "{"], - [32940, 0, "c"], - [32941, 0, "t"], - [32942, 0, "x"], - [32943, 0, "}"], - [32944, 0, "'"], - [32945, 0, ","], - [32946, 0, " "], - [32947, 0, "\\"], - [32948, 0, "m"], - [32949, 0, "a"], - [32950, 0, "t"], - [32951, 0, "h"], - [32952, 0, "i"], - [32953, 0, "t"], - [32954, 0, "{"], - [32955, 0, "p"], - [32956, 0, "r"], - [32957, 0, "e"], - [32958, 0, "s"], - [32959, 0, "}"], - [32960, 0, "$"], - [32961, 0, "}"], - [32962, 0, "\n"], - [32963, 0, "\\"], - [32964, 0, "A"], - [32965, 0, "x"], - [32966, 0, "i"], - [32967, 0, "o"], - [32968, 0, "m"], - [32969, 0, "C"], - [32970, 0, "{"], - [32971, 0, "$"], - [32972, 0, "\\"], - [32973, 0, "m"], - [32974, 0, "a"], - [32975, 0, "t"], - [32976, 0, "h"], - [32977, 0, "i"], - [32978, 0, "t"], - [32979, 0, "{"], - [32980, 0, "p"], - [32981, 0, "r"], - [32982, 0, "e"], - [32983, 0, "s"], - [32984, 0, "}"], - [32985, 0, "'"], - [32986, 0, " "], - [32987, 0, "="], - [32988, 0, " "], - [32989, 0, "\\"], - [32990, 0, "m"], - [32991, 0, "a"], - [32992, 0, "t"], - [32993, 0, "h"], - [32994, 0, "i"], - [32995, 0, "t"], - [32996, 0, "{"], - [32997, 0, "p"], - [32998, 0, "r"], - [32999, 0, "e"], - [33000, 0, "s"], - [33001, 0, "}"], - [33002, 0, " "], - [33003, 0, "\\"], - [33004, 0, ","], - [33005, 0, "\\"], - [33006, 0, "c"], - [33007, 0, "u"], - [33008, 0, "p"], - [33009, 0, "\\"], - [33010, 0, ","], - [33011, 0, " "], - [33012, 0, "$"], - [33013, 0, "}"], - [28022, 1], - [28021, 1], - [28020, 1], - [28019, 1], - [28018, 1], - [28017, 1], - [28016, 1], - [28015, 1], - [28014, 1], - [28013, 1], - [28012, 1], - [28011, 1], - [28010, 1], - [28009, 1], - [28008, 1], - [28008, 0, "%"], - [28006, 1], - [28005, 1], - [28004, 1], - [28003, 1], - [28002, 1], - [28001, 1], - [28000, 1], - [27999, 1], - [27998, 1], - [27997, 1], - [27996, 1], - [27995, 1], - [27994, 1], - [27993, 1], - [27992, 1], - [27991, 1], - [27990, 1], - [27989, 1], - [27988, 1], - [27987, 1], - [27986, 1], - [27985, 1], - [27984, 1], - [27983, 1], - [27982, 1], - [27981, 1], - [27980, 1], - [27979, 1], - [27979, 0, "h"], - [27980, 0, "s"], - [27981, 0, "p"], - [27982, 0, "a"], - [27983, 0, "c"], - [27984, 0, "e"], - [27985, 0, "{"], - [27986, 0, "3"], - [27987, 0, "e"], - [27988, 0, "m"], - [27989, 0, "}"], - [28236, 1], - [28235, 1], - [28234, 1], - [28233, 1], - [28232, 1], - [28231, 1], - [28230, 1], - [28229, 1], - [28228, 1], - [28227, 1], - [28226, 1], - [28226, 0, "p"], - [28227, 0, "r"], - [28228, 0, "o"], - [28229, 0, "o"], - [28230, 0, "f"], - [28231, 0, "S"], - [28232, 0, "k"], - [28233, 0, "i"], - [28234, 0, "p"], - [28235, 0, "A"], - [28236, 0, "m"], - [28237, 0, "o"], - [28238, 0, "u"], - [28239, 0, "n"], - [28240, 0, "t"], - [28241, 0, "\n"], - [28242, 0, "\\"], - [28243, 0, "e"], - [28244, 0, "n"], - [28245, 0, "d"], - [28246, 0, "{"], - [28247, 0, "c"], - [28248, 0, "e"], - [28249, 0, "n"], - [28250, 0, "t"], - [28251, 0, "e"], - [28252, 0, "r"], - [28253, 0, "}"], - [28254, 0, "\n"], - [28256, 1], - [28256, 0, "\\"], - [28257, 0, "b"], - [28258, 0, "e"], - [28259, 0, "g"], - [28260, 0, "i"], - [28261, 0, "n"], - [28262, 0, "{"], - [28263, 0, "c"], - [28264, 0, "e"], - [28265, 0, "n"], - [28266, 0, "t"], - [28267, 0, "e"], - [28268, 0, "r"], - [28269, 0, "}"], - [32845, 0, "%"], - [32864, 0, "%"], - [32965, 0, "%"], - [33018, 0, "%"], - [28452, 1], - [28451, 1], - [28450, 1], - [28449, 1], - [28448, 1], - [28447, 1], - [28446, 1], - [28445, 1], - [28444, 1], - [28443, 1], - [28442, 1], - [28441, 1], - [28440, 1], - [28439, 1], - [28438, 1], - [28438, 0, "h"], - [28439, 0, "s"], - [28440, 0, "p"], - [28441, 0, "a"], - [28442, 0, "c"], - [28443, 0, "e"], - [28444, 0, "{"], - [28445, 0, "3"], - [28446, 0, "e"], - [28447, 0, "m"], - [28448, 0, "}"], - [28449, 0, "\n"], - [28450, 0, "%"], - [28451, 0, "\n"], - [28452, 0, "A"], - [28453, 0, "x"], - [28454, 0, "i"], - [28455, 0, "o"], - [28456, 0, "m"], - [28457, 0, "C"], - [28458, 0, "{"], - [28459, 0, "$"], - [28460, 0, "\\"], - [28461, 0, "m"], - [28462, 0, "a"], - [28463, 0, "t"], - [28464, 0, "h"], - [28465, 0, "s"], - [28466, 0, "f"], - [28467, 0, "{"], - [28468, 0, "p"], - [28469, 0, "r"], - [28470, 0, "e"], - [28471, 0, "s"], - [28472, 0, "}"], - [28473, 0, "("], - [28474, 0, "k"], - [28475, 0, ")"], - [28476, 0, " "], - [28477, 0, "\\"], - [28478, 0, "i"], - [28479, 0, "n"], - [28480, 0, " "], - [28481, 0, "\\"], - [28482, 0, "m"], - [28483, 0, "a"], - [28484, 0, "t"], - [28485, 0, "h"], - [28486, 0, "r"], - [28487, 0, "m"], - [28488, 0, "{"], - [28489, 0, "d"], - [28490, 0, "o"], - [28491, 0, "m"], - [28492, 0, "}"], - [28493, 0, "("], - [28494, 0, "\\"], - [28495, 0, "m"], - [28496, 0, "a"], - [28497, 0, "t"], - [28498, 0, "h"], - [28499, 0, "i"], - [28500, 0, "t"], - [28501, 0, "{"], - [28502, 0, "c"], - [28503, 0, "t"], - [28504, 0, "x"], - [28505, 0, "}"], - [28506, 0, ")"], - [28507, 0, "$"], - [28508, 0, "}"], - [28509, 0, "\n"], - [28452, 0, "\\"], - [28511, 0, "\\"], - [28512, 0, "L"], - [28513, 0, "e"], - [28514, 0, "f"], - [28515, 0, "t"], - [28516, 0, "L"], - [28517, 0, "a"], - [28518, 0, "b"], - [28519, 0, "e"], - [28520, 0, "l"], - [28521, 0, "{"], - [28522, 0, "\\"], - [28523, 0, "t"], - [28524, 0, "e"], - [28525, 0, "x"], - [28526, 0, "t"], - [28527, 0, "s"], - [28528, 0, "c"], - [28529, 0, "{"], - [28530, 0, "P"], - [28531, 0, "r"], - [28532, 0, "e"], - [28533, 0, "s"], - [28534, 0, "e"], - [28535, 0, "n"], - [28536, 0, "c"], - [28537, 0, "e"], - [28522, 0, "$"], - [28539, 0, "\n"], - [28539, 1], - [28539, 0, "}"], - [28540, 0, "_"], - [28541, 0, "1"], - [28542, 0, "$"], - [28543, 0, "}"], - [28544, 0, "\n"], - [28545, 0, "\\"], - [28546, 0, "U"], - [28547, 0, "n"], - [28548, 0, "a"], - [28549, 0, "r"], - [28550, 0, "y"], - [28551, 0, "I"], - [28552, 0, "n"], - [28553, 0, "f"], - [28554, 0, "C"], - [28555, 0, "{"], - [28556, 0, "$"], - [28557, 0, "\\"], - [28558, 0, "m"], - [28559, 0, "a"], - [28560, 0, "t"], - [28561, 0, "h"], - [28562, 0, "i"], - [28563, 0, "t"], - [28564, 0, "{"], - [28565, 0, "c"], - [28566, 0, "t"], - [28567, 0, "x"], - [28568, 0, "}"], - [28569, 0, ","], - [28570, 0, "\\"], - [28571, 0, ","], - [28572, 0, " "], - [28573, 0, "\\"], - [28574, 0, "m"], - [28575, 0, "a"], - [28576, 0, "t"], - [28577, 0, "h"], - [28578, 0, "s"], - [28579, 0, "f"], - [28580, 0, "{"], - [28581, 0, "p"], - [28582, 0, "r"], - [28583, 0, "e"], - [28584, 0, "s"], - [28585, 0, "}"], - [28586, 0, "("], - [28587, 0, "k"], - [28588, 0, ")"], - [28589, 0, " "], - [28590, 0, "\\"], - [28591, 0, "e"], - [28592, 0, "v"], - [28593, 0, "a"], - [28594, 0, "l"], - [28595, 0, "t"], - [28596, 0, "o"], - [28597, 0, " "], - [28598, 0, "\\"], - [28599, 0, "m"], - [28600, 0, "a"], - [28601, 0, "t"], - [28602, 0, "h"], - [28603, 0, "i"], - [28604, 0, "t"], - [28605, 0, "{"], - [28606, 0, "c"], - [28607, 0, "t"], - [28608, 0, "x"], - [28609, 0, "}"], - [28610, 0, "("], - [28611, 0, "\\"], - [28612, 0, "m"], - [28613, 0, "a"], - [28614, 0, "t"], - [28615, 0, "h"], - [28616, 0, "s"], - [28617, 0, "f"], - [28618, 0, "{"], - [28619, 0, "p"], - [28620, 0, "r"], - [28621, 0, "e"], - [28622, 0, "s"], - [28623, 0, "}"], - [28624, 0, "("], - [28625, 0, "k"], - [28626, 0, ")"], - [28627, 0, ")"], - [28628, 0, "$"], - [28629, 0, "}"], - [28630, 0, "\n"], - [28631, 0, "\\"], - [28632, 0, "D"], - [28633, 0, "i"], - [28634, 0, "s"], - [28635, 0, "p"], - [28636, 0, "l"], - [28637, 0, "a"], - [28638, 0, "y"], - [28639, 0, "P"], - [28640, 0, "r"], - [28641, 0, "o"], - [28642, 0, "o"], - [28643, 0, "f"], - [28644, 0, "\\"], - [28645, 0, "h"], - [28646, 0, "s"], - [28647, 0, "p"], - [28648, 0, "a"], - [28649, 0, "c"], - [28650, 0, "e"], - [28651, 0, "{"], - [28652, 0, "3"], - [28653, 0, "e"], - [28654, 0, "m"], - [28655, 0, "}"], - [28656, 0, "\n"], - [28657, 0, "%"], - [28658, 0, "\n"], - [28659, 0, "\\"], - [28660, 0, "A"], - [28661, 0, "x"], - [28662, 0, "i"], - [28663, 0, "o"], - [28664, 0, "m"], - [28665, 0, "C"], - [28666, 0, "{"], - [28667, 0, "$"], - [28668, 0, "\\"], - [28669, 0, "m"], - [28670, 0, "a"], - [28671, 0, "t"], - [28672, 0, "h"], - [28673, 0, "s"], - [28674, 0, "f"], - [28675, 0, "{"], - [28676, 0, "p"], - [28677, 0, "r"], - [28678, 0, "e"], - [28679, 0, "s"], - [28680, 0, "}"], - [28681, 0, "("], - [28682, 0, "k"], - [28683, 0, ")"], - [28684, 0, " "], - [28685, 0, "\\"], - [28686, 0, "n"], - [28687, 0, "o"], - [28688, 0, "t"], - [28689, 0, "i"], - [28690, 0, "n"], - [28691, 0, " "], - [28692, 0, "\\"], - [28693, 0, "m"], - [28694, 0, "a"], - [28695, 0, "t"], - [28696, 0, "h"], - [28697, 0, "r"], - [28698, 0, "m"], - [28699, 0, "{"], - [28700, 0, "d"], - [28701, 0, "o"], - [28702, 0, "m"], - [28703, 0, "}"], - [28704, 0, "("], - [28705, 0, "\\"], - [28706, 0, "m"], - [28707, 0, "a"], - [28708, 0, "t"], - [28709, 0, "h"], - [28710, 0, "i"], - [28711, 0, "t"], - [28712, 0, "{"], - [28713, 0, "c"], - [28714, 0, "t"], - [28715, 0, "x"], - [28716, 0, "}"], - [28717, 0, ")"], - [28718, 0, "$"], - [28719, 0, "}"], - [28720, 0, "\n"], - [28721, 0, "\\"], - [28722, 0, "L"], - [28723, 0, "e"], - [28724, 0, "f"], - [28725, 0, "t"], - [28726, 0, "L"], - [28727, 0, "a"], - [28728, 0, "b"], - [28729, 0, "e"], - [28730, 0, "l"], - [28731, 0, "{"], - [28732, 0, "$"], - [28733, 0, "\\"], - [28734, 0, "t"], - [28735, 0, "e"], - [28736, 0, "x"], - [28737, 0, "t"], - [28738, 0, "s"], - [28739, 0, "c"], - [28740, 0, "{"], - [28741, 0, "P"], - [28742, 0, "r"], - [28743, 0, "e"], - [28744, 0, "s"], - [28745, 0, "e"], - [28746, 0, "n"], - [28747, 0, "c"], - [28748, 0, "e"], - [28749, 0, "}"], - [28750, 0, "_"], - [28751, 0, "2"], - [28752, 0, "$"], - [28753, 0, "}"], - [28754, 0, "\n"], - [28755, 0, "\\"], - [28756, 0, "U"], - [28757, 0, "n"], - [28758, 0, "a"], - [28759, 0, "r"], - [28760, 0, "y"], - [28761, 0, "I"], - [28762, 0, "n"], - [28763, 0, "f"], - [28764, 0, "C"], - [28765, 0, "{"], - [28766, 0, "$"], - [28767, 0, "\\"], - [28768, 0, "m"], - [28769, 0, "a"], - [28770, 0, "t"], - [28771, 0, "h"], - [28772, 0, "i"], - [28773, 0, "t"], - [28774, 0, "{"], - [28775, 0, "c"], - [28776, 0, "t"], - [28777, 0, "x"], - [28778, 0, "}"], - [28779, 0, ","], - [28780, 0, "\\"], - [28781, 0, ","], - [28782, 0, " "], - [28783, 0, "\\"], - [28784, 0, "m"], - [28785, 0, "a"], - [28786, 0, "t"], - [28787, 0, "h"], - [28788, 0, "s"], - [28789, 0, "f"], - [28790, 0, "{"], - [28791, 0, "p"], - [28792, 0, "r"], - [28793, 0, "e"], - [28794, 0, "s"], - [28795, 0, "}"], - [28796, 0, "("], - [28797, 0, "k"], - [28798, 0, ")"], - [28799, 0, " "], - [28800, 0, "\\"], - [28801, 0, "e"], - [28802, 0, "v"], - [28803, 0, "a"], - [28804, 0, "l"], - [28805, 0, "t"], - [28806, 0, "o"], - [28807, 0, " "], - [28808, 0, "\\"], - [28809, 0, "m"], - [28809, 1], - [28808, 1], - [28808, 0, "\\"], - [28809, 0, "{"], - [28810, 0, "\\"], - [28811, 0, "}"], - [28812, 0, "$"], - [28813, 0, "}"], - [28814, 0, "\n"], - [28815, 0, "\\"], - [28816, 0, "D"], - [28817, 0, "i"], - [28818, 0, "s"], - [28819, 0, "p"], - [28820, 0, "l"], - [28821, 0, "a"], - [28822, 0, "y"], - [28823, 0, "P"], - [28824, 0, "r"], - [28825, 0, "o"], - [28826, 0, "o"], - [28827, 0, "f"], - [28828, 0, "\\"], - [28829, 0, "p"], - [28830, 0, "r"], - [28831, 0, "o"], - [28832, 0, "o"], - [28833, 0, "f"], - [28834, 0, "S"], - [28835, 0, "k"], - [28836, 0, "i"], - [28837, 0, "p"], - [28838, 0, "A"], - [28839, 0, "m"], - [28840, 0, "o"], - [28841, 0, "u"], - [28842, 0, "n"], - [28843, 0, "t"], - [28871, 1], - [28870, 1], - [28869, 1], - [28868, 1], - [28867, 1], - [28866, 1], - [28866, 0, "p"], - [28867, 0, "r"], - [28868, 0, "o"], - [28869, 0, "o"], - [28870, 0, "f"], - [28871, 0, "t"], - [28872, 0, "r"], - [28873, 0, "e"], - [28874, 0, "e"], - [29644, 1], - [29643, 1], - [29642, 1], - [29641, 1], - [29640, 1], - [29639, 1], - [29639, 0, "p"], - [29640, 0, "r"], - [29641, 0, "o"], - [29642, 0, "o"], - [29643, 0, "f"], - [29644, 0, "t"], - [29645, 0, "r"], - [29646, 0, "e"], - [29647, 0, "e"], - [28974, 0, "\\"], - [28975, 0, "m"], - [28976, 0, "a"], - [28977, 0, "t"], - [28978, 0, "h"], - [28979, 0, "i"], - [28980, 0, "t"], - [28981, 0, "{"], - [28982, 0, "c"], - [28983, 0, "t"], - [28984, 0, "x"], - [28985, 0, "}"], - [28986, 0, ","], - [28987, 0, "\\"], - [28988, 0, ","], - [28989, 0, " "], - [29012, 1], - [29011, 1], - [29010, 1], - [29009, 1], - [29008, 1], - [29008, 0, "e"], - [29009, 0, "v"], - [29010, 0, "a"], - [29011, 0, "l"], - [29012, 0, "t"], - [29013, 0, "o"], - [29020, 1], - [29020, 1], - [29020, 0, "i"], - [29021, 0, "t"], - [29023, 1], - [29023, 1], - [29023, 1], - [29023, 0, "p"], - [29024, 0, "r"], - [29025, 0, "e"], - [29026, 0, "s"], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29028, 1], - [29060, 1], - [29059, 1], - [29058, 1], - [29042, 1], - [29410, 1], - [29409, 1], - [29408, 1], - [29407, 1], - [29406, 1], - [29405, 1], - [29404, 1], - [29403, 1], - [29402, 1], - [29401, 1], - [29400, 1], - [29399, 1], - [29398, 1], - [29397, 1], - [29396, 1], - [29395, 1], - [29394, 1], - [29393, 1], - [29392, 1], - [29391, 1], - [29390, 1], - [29389, 1], - [29388, 1], - [29387, 1], - [29386, 1], - [29385, 1], - [29384, 1], - [29383, 1], - [29382, 1], - [29381, 1], - [29380, 1], - [29379, 1], - [29378, 1], - [29377, 1], - [29376, 1], - [29375, 1], - [29374, 1], - [29373, 1], - [29372, 1], - [29371, 1], - [29370, 1], - [29369, 1], - [29368, 1], - [29367, 1], - [29366, 1], - [29365, 1], - [29364, 1], - [29363, 1], - [29362, 1], - [29361, 1], - [29360, 1], - [29359, 1], - [29358, 1], - [29357, 1], - [29356, 1], - [29355, 1], - [29354, 1], - [29353, 1], - [29352, 1], - [29351, 1], - [29350, 1], - [29349, 1], - [29348, 1], - [29347, 1], - [29346, 1], - [29345, 1], - [29344, 1], - [29343, 1], - [29342, 1], - [29341, 1], - [29340, 1], - [29339, 1], - [29338, 1], - [29337, 1], - [29336, 1], - [29335, 1], - [29334, 1], - [29333, 1], - [29332, 1], - [29331, 1], - [29330, 1], - [29329, 1], - [29328, 1], - [29327, 1], - [29326, 1], - [29325, 1], - [29324, 1], - [29323, 1], - [29322, 1], - [29321, 1], - [29320, 1], - [29319, 1], - [29318, 1], - [29317, 1], - [29316, 1], - [29315, 1], - [29314, 1], - [29313, 1], - [29312, 1], - [29311, 1], - [29310, 1], - [29309, 1], - [29308, 1], - [29307, 1], - [29306, 1], - [29305, 1], - [29304, 1], - [29303, 1], - [29302, 1], - [29301, 1], - [29300, 1], - [29299, 1], - [29298, 1], - [29297, 1], - [29296, 1], - [29295, 1], - [29294, 1], - [29293, 1], - [29292, 1], - [29291, 1], - [29290, 1], - [29289, 1], - [29288, 1], - [29287, 1], - [29286, 1], - [29285, 1], - [29284, 1], - [29283, 1], - [29282, 1], - [29281, 1], - [29280, 1], - [29279, 1], - [29278, 1], - [29277, 1], - [29276, 1], - [29275, 1], - [29274, 1], - [29273, 1], - [29272, 1], - [29271, 1], - [29270, 1], - [29269, 1], - [29268, 1], - [29267, 1], - [29266, 1], - [29265, 1], - [29264, 1], - [29263, 1], - [29262, 1], - [29261, 1], - [29260, 1], - [29259, 1], - [29258, 1], - [29257, 1], - [29256, 1], - [29255, 1], - [29254, 1], - [29253, 1], - [29252, 1], - [29251, 1], - [29250, 1], - [29249, 1], - [29248, 1], - [29247, 1], - [29246, 1], - [29245, 1], - [29244, 1], - [29243, 1], - [29242, 1], - [29241, 1], - [29240, 1], - [29239, 1], - [29238, 1], - [29237, 1], - [29236, 1], - [29235, 1], - [29234, 1], - [29233, 1], - [29232, 1], - [29231, 1], - [29230, 1], - [29229, 1], - [29228, 1], - [29227, 1], - [29226, 1], - [29225, 1], - [29224, 1], - [29223, 1], - [29222, 1], - [29221, 1], - [29220, 1], - [29219, 1], - [29218, 1], - [29217, 1], - [29216, 1], - [29215, 1], - [29214, 1], - [29213, 1], - [29212, 1], - [29211, 1], - [29210, 1], - [29209, 1], - [29208, 1], - [29207, 1], - [29206, 1], - [29205, 1], - [29204, 1], - [29203, 1], - [29202, 1], - [29201, 1], - [29200, 1], - [29199, 1], - [29198, 1], - [29197, 1], - [29196, 1], - [29195, 1], - [29194, 1], - [29193, 1], - [29192, 1], - [29191, 1], - [29190, 1], - [29189, 1], - [29188, 1], - [29187, 1], - [29186, 1], - [29185, 1], - [29184, 1], - [29183, 1], - [29182, 1], - [29181, 1], - [29180, 1], - [29179, 1], - [29178, 1], - [29177, 1], - [29176, 1], - [29175, 1], - [29174, 1], - [29173, 1], - [29172, 1], - [29171, 1], - [29170, 1], - [29169, 1], - [29168, 1], - [29167, 1], - [29166, 1], - [29165, 1], - [29164, 1], - [29163, 1], - [29162, 1], - [29161, 1], - [29160, 1], - [29159, 1], - [29158, 1], - [29157, 1], - [29156, 1], - [29155, 1], - [29154, 1], - [29153, 1], - [29152, 1], - [29151, 1], - [29150, 1], - [29149, 1], - [29148, 1], - [29147, 1], - [29146, 1], - [29145, 1], - [29144, 1], - [29143, 1], - [29142, 1], - [29141, 1], - [29140, 1], - [29139, 1], - [29138, 1], - [29137, 1], - [29136, 1], - [29135, 1], - [29134, 1], - [29133, 1], - [29132, 1], - [29131, 1], - [29130, 1], - [29129, 1], - [29128, 1], - [29127, 1], - [29126, 1], - [29125, 1], - [29124, 1], - [29123, 1], - [29122, 1], - [29121, 1], - [29120, 1], - [29119, 1], - [29118, 1], - [29117, 1], - [29116, 1], - [29115, 1], - [29114, 1], - [29113, 1], - [29112, 1], - [29111, 1], - [29110, 1], - [29109, 1], - [29108, 1], - [29107, 1], - [29106, 1], - [29105, 1], - [29104, 1], - [29103, 1], - [29102, 1], - [29101, 1], - [29100, 1], - [29099, 1], - [29098, 1], - [29097, 1], - [29096, 1], - [29095, 1], - [29094, 1], - [29093, 1], - [29092, 1], - [29091, 1], - [29090, 1], - [29089, 1], - [29088, 1], - [29087, 1], - [29086, 1], - [29085, 1], - [29084, 1], - [29083, 1], - [29082, 1], - [29081, 1], - [29080, 1], - [29079, 1], - [29078, 1], - [29077, 1], - [29076, 1], - [29075, 1], - [29074, 1], - [29073, 1], - [29072, 1], - [29071, 1], - [29070, 1], - [29069, 1], - [29068, 1], - [29067, 1], - [29066, 1], - [29065, 1], - [29064, 1], - [29063, 1], - [29062, 1], - [29061, 1], - [29060, 1], - [29059, 1], - [29058, 1], - [29279, 1], - [29278, 1], - [29277, 1], - [29276, 1], - [29275, 1], - [29274, 1], - [29273, 1], - [29272, 1], - [29271, 1], - [29270, 1], - [29269, 1], - [29268, 1], - [29267, 1], - [29266, 1], - [29265, 1], - [29264, 1], - [29263, 1], - [29262, 1], - [29261, 1], - [29260, 1], - [29259, 1], - [29258, 1], - [29257, 1], - [29256, 1], - [29255, 1], - [29254, 1], - [29253, 1], - [29252, 1], - [29251, 1], - [29250, 1], - [29218, 1], - [29217, 1], - [29216, 1], - [29215, 1], - [29208, 1], - [29207, 1], - [29207, 0, "i"], - [29208, 0, "t"], - [29201, 1], - [29200, 1], - [29199, 1], - [29198, 1], - [29197, 1], - [29196, 1], - [29195, 1], - [29194, 1], - [29193, 1], - [29192, 1], - [29191, 1], - [29190, 1], - [29189, 1], - [32842, 1], - [32860, 1], - [32960, 1], - [33012, 1], - [32959, 0, "\n"], - [32960, 0, "\\"], - [32961, 0, "A"], - [32962, 0, "x"], - [32963, 0, "i"], - [32964, 0, "o"], - [32965, 0, "m"], - [32966, 0, "C"], - [32967, 0, "{"], - [32968, 0, "$"], - [32969, 0, "\\"], - [32970, 0, "m"], - [32971, 0, "a"], - [32972, 0, "t"], - [32973, 0, "h"], - [32974, 0, "i"], - [32975, 0, "t"], - [32976, 0, "{"], - [32977, 0, "c"], - [32978, 0, "t"], - [32979, 0, "x"], - [32980, 0, "}"], - [32981, 0, "'"], - [32982, 0, ","], - [32983, 0, "\\"], - [32984, 0, ","], - [32985, 0, " "], - [32986, 0, "\\"], - [32987, 0, "m"], - [32988, 0, "a"], - [32989, 0, "t"], - [32990, 0, "h"], - [32991, 0, "s"], - [32992, 0, "f"], - [32993, 0, "{"], - [32994, 0, "p"], - [32995, 0, "r"], - [32996, 0, "e"], - [32997, 0, "s"], - [32998, 0, "}"], - [32999, 0, "("], - [33000, 0, "k"], - [33001, 0, ")"], - [32957, 0, "\\"], - [32957, 1], - [32957, 0, "_"], - [32958, 0, "\\"], - [32959, 0, "m"], - [32960, 0, "a"], - [32961, 0, "t"], - [32962, 0, "h"], - [32963, 0, "i"], - [32964, 0, "t"], - [32965, 0, "{"], - [32966, 0, "c"], - [32967, 0, "h"], - [32968, 0, "i"], - [32969, 0, "l"], - [32970, 0, "d"], - [32971, 0, "}"], - [33017, 0, " "], - [33018, 0, "="], - [33018, 1], - [33018, 0, "\\"], - [33019, 0, "e"], - [33020, 0, "v"], - [33021, 0, "a"], - [33022, 0, "l"], - [33023, 0, "t"], - [33024, 0, "o"], - [33025, 0, " "], - [33026, 0, "\\"], - [33027, 0, "m"], - [33028, 0, "a"], - [33029, 0, "t"], - [33030, 0, "h"], - [33031, 0, "i"], - [33032, 0, "t"], - [33033, 0, "{"], - [33034, 0, "p"], - [33035, 0, "r"], - [33036, 0, "e"], - [33037, 0, "s"], - [33038, 0, "}"], - [33039, 0, "_"], - [33040, 0, "\\"], - [33041, 0, "m"], - [33042, 0, "a"], - [33043, 0, "t"], - [33044, 0, "h"], - [33045, 0, "i"], - [33046, 0, "t"], - [33047, 0, "{"], - [33048, 0, "e"], - [33049, 0, "l"], - [33050, 0, "e"], - [33051, 0, "m"], - [33052, 0, "}"], - [33053, 0, "$"], - [33054, 0, "}"], - [33095, 0, "_"], - [33096, 0, "\\"], - [33097, 0, "m"], - [33098, 0, "a"], - [33099, 0, "t"], - [33100, 0, "h"], - [33101, 0, "i"], - [33102, 0, "t"], - [33103, 0, "{"], - [33104, 0, "c"], - [33105, 0, "h"], - [33106, 0, "i"], - [33107, 0, "l"], - [33108, 0, "d"], - [33109, 0, "}"], - [33120, 0, "\\"], - [33121, 0, "m"], - [33122, 0, "a"], - [33123, 0, "t"], - [33124, 0, "h"], - [33125, 0, "i"], - [33126, 0, "t"], - [33127, 0, "{"], - [33128, 0, "p"], - [33129, 0, "r"], - [33130, 0, "e"], - [33131, 0, "s"], - [33132, 0, "}"], - [33133, 0, "_"], - [33134, 0, "\\"], - [33135, 0, "m"], - [33136, 0, "a"], - [33137, 0, "t"], - [33138, 0, "h"], - [33139, 0, "i"], - [33140, 0, "t"], - [33141, 0, "{"], - [33142, 0, "e"], - [33143, 0, "l"], - [33144, 0, "e"], - [33145, 0, "m"], - [33146, 0, "}"], - [33149, 0, "\n"], - [33150, 0, "\\"], - [33151, 0, "L"], - [33152, 0, "e"], - [33153, 0, "f"], - [33154, 0, "t"], - [33155, 0, "L"], - [33156, 0, "a"], - [33157, 0, "b"], - [33158, 0, "e"], - [33159, 0, "l"], - [33160, 0, "{"], - [33161, 0, "\\"], - [33162, 0, "t"], - [33163, 0, "e"], - [33164, 0, "x"], - [33165, 0, "t"], - [33166, 0, "s"], - [33167, 0, "c"], - [33168, 0, "{"], - [33169, 0, "C"], - [33170, 0, "l"], - [33171, 0, "e"], - [33172, 0, "a"], - [33173, 0, "r"], - [33174, 0, "_"], - [33174, 1], - [33174, 0, "-"], - [33175, 0, "E"], - [33176, 0, "l"], - [33177, 0, "e"], - [33178, 0, "m"], - [33179, 0, "}"], - [33180, 0, "}"], - [33181, 0, "\n"], - [33182, 0, "\\"], - [33183, 0, "T"], - [33184, 0, "r"], - [33185, 0, "i"], - [33186, 0, "n"], - [33187, 0, "a"], - [33188, 0, "r"], - [33189, 0, "y"], - [33190, 0, "I"], - [33191, 0, "n"], - [33192, 0, "f"], - [33193, 0, "C"], - [33194, 0, "{"], - [33195, 0, "$"], - [33196, 0, "\\"], - [33197, 0, "m"], - [33198, 0, "a"], - [33199, 0, "t"], - [33200, 0, "h"], - [33201, 0, "i"], - [33202, 0, "t"], - [33203, 0, "{"], - [33204, 0, "c"], - [33205, 0, "t"], - [33206, 0, "x"], - [33207, 0, "}"], - [33208, 0, ","], - [33209, 0, "\\"], - [33210, 0, ","], - [33211, 0, " "], - [33212, 0, "\\"], - [33213, 0, "m"], - [33214, 0, "a"], - [33215, 0, "t"], - [33216, 0, "h"], - [33217, 0, "s"], - [33218, 0, "f"], - [33219, 0, "{"], - [33220, 0, "c"], - [33221, 0, "l"], - [33222, 0, "e"], - [33223, 0, "a"], - [33224, 0, "r"], - [33225, 0, "E"], - [33226, 0, "l"], - [33227, 0, "e"], - [33228, 0, "m"], - [33229, 0, "}"], - [33230, 0, "("], - [33231, 0, "\\"], - [33232, 0, "m"], - [33233, 0, "a"], - [33234, 0, "t"], - [33235, 0, "h"], - [33236, 0, "i"], - [33237, 0, "t"], - [33238, 0, "{"], - [33239, 0, "d"], - [33240, 0, "e"], - [33241, 0, "p"], - [33242, 0, "s"], - [33243, 0, "}"], - [33244, 0, ","], - [33245, 0, " "], - [33246, 0, "k"], - [33247, 0, "}"], - [33247, 1], - [33247, 0, ")"], - [33248, 0, " "], - [33249, 0, "\\"], - [33250, 0, "e"], - [33251, 0, "v"], - [33252, 0, "a"], - [33253, 0, "l"], - [33254, 0, "t"], - [33255, 0, "o"], - [33256, 0, " "], - [33257, 0, "\\"], - [33258, 0, "m"], - [33259, 0, "a"], - [33260, 0, "t"], - [33261, 0, "h"], - [33262, 0, "i"], - [33263, 0, "t"], - [33264, 0, "{"], - [33265, 0, "c"], - [33266, 0, "t"], - [33267, 0, "x"], - [33268, 0, "}"], - [33269, 0, "'"], - [33256, 0, "\n"], - [33257, 0, " "], - [33258, 0, " "], - [33259, 0, " "], - [33274, 0, " "], - [33275, 0, "["], - [33276, 0, "\\"], - [33277, 0, ","], - [33278, 0, " "], - [33279, 0, "\\"], - [33280, 0, "m"], - [33281, 0, "a"], - [33282, 0, "t"], - [33283, 0, "h"], - [33284, 0, "s"], - [33285, 0, "f"], - [33286, 0, "{"], - [33287, 0, "p"], - [33288, 0, "r"], - [33289, 0, "e"], - [33290, 0, "s"], - [33291, 0, "}"], - [33292, 0, "("], - [33293, 0, "k"], - [33294, 0, ")"], - [33295, 0, " "], - [33296, 0, "\\"], - [33297, 0, ","], - [33298, 0, "\\"], - [33299, 0, "m"], - [33300, 0, "a"], - [33301, 0, "p"], - [33302, 0, "s"], - [33303, 0, "t"], - [33304, 0, "o"], - [33305, 0, "\\"], - [33306, 0, ","], - [33307, 0, " "], - [33308, 0, "\\"], - [33309, 0, "m"], - [33310, 0, "a"], - [33311, 0, "t"], - [33312, 0, "h"], - [33313, 0, "i"], - [33314, 0, "t"], - [33315, 0, "{"], - [33316, 0, "p"], - [33317, 0, "r"], - [33318, 0, "e"], - [33319, 0, "s"], - [33320, 0, "}"], - [33321, 0, "'"], - [33322, 0, " "], - [33323, 0, "\\"], - [33324, 0, ","], - [33325, 0, "]"], - [33326, 0, ","], - [33327, 0, "\\"], - [33328, 0, ","], - [33329, 0, " "], - [33330, 0, "\\"], - [33331, 0, "m"], - [33332, 0, "a"], - [33333, 0, "t"], - [33334, 0, "h"], - [33335, 0, "i"], - [33336, 0, "t"], - [33337, 0, "{"], - [33338, 0, "p"], - [33339, 0, "r"], - [33340, 0, "e"], - [33341, 0, "s"], - [33342, 0, "}"], - [33343, 0, "'"], - [33344, 0, "$"], - [33345, 0, "}"], - [32958, 0, "1"], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [32959, 1], - [33039, 1], - [33038, 1], - [33037, 1], - [33036, 1], - [33035, 1], - [33034, 1], - [33033, 1], - [33032, 1], - [33031, 1], - [33030, 1], - [33029, 1], - [33028, 1], - [33027, 1], - [33027, 0, "2"], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 1], - [33109, 0, "2"], - [33084, 1], - [33083, 1], - [33082, 1], - [33081, 1], - [33080, 1], - [33079, 1], - [33078, 1], - [33077, 1], - [33076, 1], - [33075, 1], - [33074, 1], - [33073, 1], - [33072, 1], - [33071, 1], - [33071, 0, "1"], - [33053, 1], - [33053, 0, "+"], - [33053, 1], - [33053, 0, "_"], - [33054, 0, "3"], - [33272, 1], - [33272, 0, "_"], - [33273, 0, "3"], - [33295, 1], - [33295, 0, "_"], - [33296, 0, "3"], - [33315, 0, "\n"], - [33316, 0, "\n"], - [33317, 0, "\\"], - [33318, 0, "b"], - [33319, 0, "e"], - [33320, 0, "g"], - [33321, 0, "i"], - [33322, 0, "n"], - [33323, 0, "{"], - [33324, 0, "p"], - [33325, 0, "r"], - [33326, 0, "o"], - [33327, 0, "o"], - [33328, 0, "f"], - [33329, 0, "t"], - [33330, 0, "r"], - [33331, 0, "e"], - [33332, 0, "e"], - [33333, 0, "}"], - [33334, 0, "\n"], - [33335, 0, "\\"], - [33336, 0, "e"], - [33337, 0, "n"], - [33338, 0, "d"], - [33339, 0, "{"], - [33340, 0, "p"], - [33341, 0, "r"], - [33342, 0, "o"], - [33343, 0, "o"], - [33344, 0, "f"], - [33345, 0, "t"], - [33346, 0, "r"], - [33347, 0, "e"], - [33348, 0, "e"], - [33349, 0, "}"], - [33334, 0, "\n"], - [33335, 0, "\\"], - [33336, 0, "A"], - [33337, 0, "x"], - [33338, 0, "i"], - [33339, 0, "o"], - [33340, 0, "m"], - [33341, 0, "C"], - [33342, 0, "{"], - [33343, 0, "$"], - [33344, 0, "\\"], - [33345, 0, "b"], - [33346, 0, "e"], - [33347, 0, "g"], - [33348, 0, "i"], - [33349, 0, "n"], - [33350, 0, "{"], - [33351, 0, "m"], - [33352, 0, "a"], - [33353, 0, "t"], - [33354, 0, "r"], - [33355, 0, "i"], - [33356, 0, "x"], - [33357, 0, "}"], - [33358, 0, "\n"], - [33359, 0, " "], - [33360, 0, " "], - [33361, 0, " "], - [33362, 0, " "], - [33363, 0, "\\"], - [33364, 0, "m"], - [33365, 0, "a"], - [33366, 0, "t"], - [33367, 0, "h"], - [33368, 0, "i"], - [33369, 0, "t"], - [33370, 0, "{"], - [33371, 0, "c"], - [33372, 0, "t"], - [33373, 0, "x"], - [33374, 0, "}"], - [33375, 0, ","], - [33376, 0, "\\"], - [33377, 0, ","], - [33378, 0, " "], - [33379, 0, "\\"], - [33380, 0, "m"], - [33381, 0, "a"], - [33382, 0, "t"], - [33383, 0, "h"], - [33384, 0, "s"], - [33385, 0, "f"], - [33386, 0, "{"], - [33387, 0, "c"], - [33388, 0, "l"], - [33389, 0, "e"], - [33390, 0, "a"], - [33391, 0, "r"], - [33392, 0, "}"], - [33393, 0, "("], - [33394, 0, "\\"], - [33395, 0, "m"], - [33396, 0, "a"], - [33397, 0, "t"], - [33398, 0, "h"], - [33399, 0, "i"], - [33400, 0, "t"], - [33401, 0, "{"], - [33402, 0, "d"], - [33403, 0, "e"], - [33404, 0, "p"], - [33405, 0, "s"], - [33406, 0, "}"], - [33407, 0, ","], - [33408, 0, " "], - [33409, 0, "\\"], - [33410, 0, "m"], - [33411, 0, "a"], - [33412, 0, "t"], - [33413, 0, "h"], - [33414, 0, "s"], - [33415, 0, "f"], - [33416, 0, "{"], - [33417, 0, "m"], - [33418, 0, "a"], - [33419, 0, "p"], - [33420, 0, "T"], - [33421, 0, "}"], - [33422, 0, "("], - [33423, 0, "k"], - [33424, 0, ")"], - [33425, 0, ")"], - [33426, 0, " "], - [33427, 0, "\\"], - [33428, 0, "\\"], - [33429, 0, "\n"], - [33430, 0, " "], - [33431, 0, " "], - [33432, 0, " "], - [33433, 0, " "], - [33434, 0, "\\"], - [33435, 0, "e"], - [33436, 0, "v"], - [33437, 0, "a"], - [33438, 0, "l"], - [33439, 0, "t"], - [33440, 0, "o"], - [33441, 0, " "], - [33442, 0, "\\"], - [33443, 0, "m"], - [33444, 0, "a"], - [33445, 0, "t"], - [33446, 0, "h"], - [33447, 0, "i"], - [33448, 0, "t"], - [33449, 0, "{"], - [33450, 0, "c"], - [33451, 0, "t"], - [33452, 0, "x"], - [33453, 0, "_"], - [33453, 1], - [33453, 0, "}"], - [33454, 0, "_"], - [33455, 0, "1"], - [33456, 0, ","], - [33457, 0, "\\"], - [33458, 0, ","], - [33459, 0, " "], - [33460, 0, "\\"], - [33461, 0, "m"], - [33462, 0, "a"], - [33463, 0, "t"], - [33464, 0, "h"], - [33465, 0, "i"], - [33466, 0, "t"], - [33467, 0, "{"], - [33468, 0, "p"], - [33469, 0, "r"], - [33470, 0, "e"], - [33471, 0, "s"], - [33472, 0, "}"], - [33473, 0, "_"], - [33474, 0, "1"], - [33475, 0, " "], - [33476, 0, "\\"], - [33477, 0, "e"], - [33478, 0, "n"], - [33479, 0, "d"], - [33480, 0, "{"], - [33481, 0, "m"], - [33482, 0, "a"], - [33483, 0, "t"], - [33484, 0, "r"], - [33485, 0, "i"], - [33486, 0, "x"], - [33487, 0, "}"], - [33488, 0, "$"], - [33489, 0, "}"], - [33490, 0, "\n"], - [33491, 0, "\\"], - [33492, 0, "A"], - [33493, 0, "x"], - [33494, 0, "i"], - [33495, 0, "o"], - [33496, 0, "m"], - [33497, 0, "C"], - [33498, 0, "{"], - [33499, 0, "$"], - [33500, 0, "\\"], - [33501, 0, "b"], - [33502, 0, "e"], - [33503, 0, "g"], - [33504, 0, "i"], - [33505, 0, "n"], - [33506, 0, "{"], - [33507, 0, "m"], - [33508, 0, "a"], - [33509, 0, "t"], - [33510, 0, "r"], - [33511, 0, "i"], - [33512, 0, "x"], - [33513, 0, "}"], - [33514, 0, "\n"], - [33515, 0, " "], - [33516, 0, " "], - [33517, 0, " "], - [33518, 0, " "], - [33519, 0, "\\"], - [33520, 0, "m"], - [33521, 0, "a"], - [33522, 0, "t"], - [33523, 0, "h"], - [33524, 0, "i"], - [33525, 0, "t"], - [33526, 0, "{"], - [33527, 0, "c"], - [33528, 0, "t"], - [33529, 0, "x"], - [33530, 0, "}"], - [33531, 0, "_"], - [33532, 0, "1"], - [33533, 0, ","], - [33534, 0, "\\"], - [33535, 0, ","], - [33536, 0, " "], - [33537, 0, "\\"], - [33538, 0, "m"], - [33539, 0, "a"], - [33540, 0, "t"], - [33541, 0, "h"], - [33542, 0, "s"], - [33543, 0, "f"], - [33544, 0, "{"], - [33545, 0, "c"], - [33546, 0, "l"], - [33547, 0, "e"], - [33548, 0, "a"], - [33549, 0, "r"], - [33550, 0, "}"], - [33551, 0, "("], - [33552, 0, "\\"], - [33553, 0, "m"], - [33554, 0, "a"], - [33555, 0, "t"], - [33556, 0, "h"], - [33557, 0, "i"], - [33558, 0, "t"], - [33559, 0, "{"], - [33560, 0, "d"], - [33561, 0, "e"], - [33562, 0, "p"], - [33563, 0, "s"], - [33564, 0, "}"], - [33565, 0, ","], - [33566, 0, " "], - [33567, 0, "\\"], - [33568, 0, "m"], - [33569, 0, "a"], - [33570, 0, "t"], - [33571, 0, "h"], - [33572, 0, "s"], - [33573, 0, "f"], - [33574, 0, "{"], - [33575, 0, "l"], - [33576, 0, "i"], - [33577, 0, "s"], - [33578, 0, "t"], - [33579, 0, "T"], - [33580, 0, "}"], - [33581, 0, "("], - [33582, 0, "k"], - [33583, 0, ")"], - [33584, 0, ")"], - [33585, 0, " "], - [33586, 0, "\\"], - [33587, 0, "\\"], - [33588, 0, "\n"], - [33589, 0, " "], - [33590, 0, " "], - [33591, 0, " "], - [33592, 0, " "], - [33593, 0, "\\"], - [33594, 0, "e"], - [33595, 0, "v"], - [33596, 0, "a"], - [33597, 0, "l"], - [33598, 0, "t"], - [33599, 0, "o"], - [33600, 0, " "], - [33601, 0, "\\"], - [33602, 0, "m"], - [33603, 0, "a"], - [33604, 0, "t"], - [33605, 0, "h"], - [33606, 0, "i"], - [33607, 0, "t"], - [33608, 0, "{"], - [33609, 0, "c"], - [33610, 0, "t"], - [33611, 0, "x"], - [33612, 0, "_"], - [33612, 1], - [33612, 0, "}"], - [33613, 0, "_"], - [33614, 0, "2"], - [33615, 0, ","], - [33616, 0, "\\"], - [33617, 0, ","], - [33618, 0, " "], - [33619, 0, "\\"], - [33620, 0, "m"], - [33621, 0, "a"], - [33622, 0, "t"], - [33623, 0, "h"], - [33624, 0, "i"], - [33625, 0, "t"], - [33626, 0, "{"], - [33627, 0, "p"], - [33628, 0, "r"], - [33629, 0, "e"], - [33630, 0, "s"], - [33631, 0, "}"], - [33632, 0, "_"], - [33633, 0, "2"], - [33634, 0, " "], - [33635, 0, "\\"], - [33636, 0, "e"], - [33637, 0, "n"], - [33638, 0, "d"], - [33639, 0, "{"], - [33640, 0, "m"], - [33641, 0, "a"], - [33642, 0, "t"], - [33643, 0, "r"], - [33644, 0, "i"], - [33645, 0, "x"], - [33646, 0, "}"], - [33647, 0, "$"], - [33648, 0, "}"], - [33649, 0, "\n"], - [33650, 0, "\\"], - [33651, 0, "A"], - [33652, 0, "x"], - [33653, 0, "i"], - [33654, 0, "o"], - [33655, 0, "m"], - [33656, 0, "C"], - [33657, 0, "{"], - [33658, 0, "$"], - [33659, 0, "\\"], - [33660, 0, "b"], - [33661, 0, "e"], - [33662, 0, "g"], - [33663, 0, "i"], - [33664, 0, "n"], - [33665, 0, "{"], - [33666, 0, "m"], - [33667, 0, "a"], - [33668, 0, "t"], - [33669, 0, "r"], - [33670, 0, "i"], - [33671, 0, "x"], - [33672, 0, "}"], - [33673, 0, "\n"], - [33674, 0, " "], - [33675, 0, " "], - [33676, 0, " "], - [33677, 0, " "], - [33678, 0, "\\"], - [33679, 0, "m"], - [33680, 0, "a"], - [33681, 0, "t"], - [33682, 0, "h"], - [33683, 0, "i"], - [33684, 0, "t"], - [33685, 0, "{"], - [33686, 0, "c"], - [33687, 0, "t"], - [33688, 0, "x"], - [33689, 0, "}"], - [33690, 0, "_"], - [33691, 0, "2"], - [33692, 0, ","], - [33693, 0, "\\"], - [33694, 0, ","], - [33695, 0, " "], - [33696, 0, "\\"], - [33697, 0, "m"], - [33698, 0, "a"], - [33699, 0, "t"], - [33700, 0, "h"], - [33701, 0, "s"], - [33702, 0, "f"], - [33703, 0, "{"], - [33704, 0, "c"], - [33705, 0, "l"], - [33706, 0, "e"], - [33707, 0, "a"], - [33708, 0, "r"], - [33709, 0, "}"], - [33710, 0, "("], - [33711, 0, "\\"], - [33712, 0, "m"], - [33713, 0, "a"], - [33714, 0, "t"], - [33715, 0, "h"], - [33716, 0, "i"], - [33717, 0, "t"], - [33718, 0, "{"], - [33719, 0, "d"], - [33720, 0, "e"], - [33721, 0, "p"], - [33722, 0, "s"], - [33723, 0, "}"], - [33724, 0, ","], - [33725, 0, " "], - [33726, 0, "\\"], - [33727, 0, "m"], - [33728, 0, "a"], - [33729, 0, "t"], - [33730, 0, "h"], - [33731, 0, "s"], - [33732, 0, "f"], - [33733, 0, "{"], - [33734, 0, "r"], - [33735, 0, "e"], - [33736, 0, "g"], - [33737, 0, "T"], - [33738, 0, "}"], - [33739, 0, "("], - [33740, 0, "k"], - [33741, 0, ")"], - [33742, 0, ")"], - [33743, 0, " "], - [33744, 0, "\\"], - [33745, 0, "\\"], - [33746, 0, "\n"], - [33747, 0, " "], - [33748, 0, " "], - [33749, 0, " "], - [33750, 0, " "], - [33751, 0, "\\"], - [33752, 0, "e"], - [33753, 0, "v"], - [33754, 0, "a"], - [33755, 0, "l"], - [33756, 0, "t"], - [33757, 0, "o"], - [33758, 0, " "], - [33759, 0, "\\"], - [33760, 0, "m"], - [33761, 0, "a"], - [33762, 0, "t"], - [33763, 0, "h"], - [33764, 0, "i"], - [33765, 0, "t"], - [33766, 0, "{"], - [33767, 0, "c"], - [33768, 0, "t"], - [33769, 0, "x"], - [33770, 0, "}"], - [33771, 0, "_"], - [33772, 0, "3"], - [33773, 0, ","], - [33774, 0, "\\"], - [33775, 0, ","], - [33776, 0, " "], - [33777, 0, "\\"], - [33778, 0, "m"], - [33779, 0, "a"], - [33780, 0, "t"], - [33781, 0, "h"], - [33782, 0, "i"], - [33783, 0, "t"], - [33784, 0, "{"], - [33785, 0, "p"], - [33786, 0, "r"], - [33787, 0, "e"], - [33788, 0, "s"], - [33789, 0, "}"], - [33790, 0, "_"], - [33791, 0, "3"], - [33792, 0, "}"], - [33793, 0, " "], - [33793, 1], - [33792, 1], - [33792, 0, " "], - [33793, 0, "\\"], - [33794, 0, "e"], - [33795, 0, "n"], - [33796, 0, "d"], - [33797, 0, "{"], - [33798, 0, "m"], - [33799, 0, "a"], - [33800, 0, "t"], - [33801, 0, "r"], - [33802, 0, "i"], - [33803, 0, "x"], - [33804, 0, "}"], - [33805, 0, "$"], - [33806, 0, "}"], - [33807, 0, "\n"], - [33808, 0, "\\"], - [33809, 0, "L"], - [33810, 0, "e"], - [33811, 0, "f"], - [33812, 0, "t"], - [33813, 0, "L"], - [33814, 0, "a"], - [33815, 0, "b"], - [33816, 0, "e"], - [33817, 0, "l"], - [33818, 0, "{"], - [33819, 0, "\\"], - [33820, 0, "t"], - [33821, 0, "e"], - [33822, 0, "x"], - [33823, 0, "t"], - [33824, 0, "s"], - [33825, 0, "c"], - [33826, 0, "{"], - [33827, 0, "C"], - [33828, 0, "l"], - [33829, 0, "e"], - [33830, 0, "a"], - [33831, 0, "r"], - [33832, 0, "-"], - [33833, 0, "A"], - [33834, 0, "n"], - [33835, 0, "y"], - [33836, 0, "}"], - [33837, 0, "}"], - [33838, 0, "\n"], - [33839, 0, "\\"], - [33840, 0, "T"], - [33841, 0, "r"], - [33842, 0, "i"], - [33843, 0, "n"], - [33844, 0, "a"], - [33845, 0, "r"], - [33846, 0, "y"], - [33847, 0, "I"], - [33848, 0, "n"], - [33849, 0, "f"], - [33850, 0, "C"], - [33851, 0, "{"], - [33852, 0, "$"], - [33853, 0, "\\"], - [33854, 0, "m"], - [33855, 0, "a"], - [33856, 0, "t"], - [33857, 0, "h"], - [33858, 0, "i"], - [33859, 0, "t"], - [33860, 0, "{"], - [33861, 0, "c"], - [33862, 0, "t"], - [33863, 0, "x"], - [33864, 0, "}"], - [33865, 0, ","], - [33866, 0, "\\"], - [33867, 0, ","], - [33868, 0, " "], - [33869, 0, "\\"], - [33870, 0, "m"], - [33871, 0, "a"], - [33872, 0, "t"], - [33873, 0, "h"], - [33874, 0, "s"], - [33875, 0, "f"], - [33876, 0, "{"], - [33877, 0, "c"], - [33878, 0, "l"], - [33879, 0, "e"], - [33880, 0, "a"], - [33881, 0, "r"], - [33882, 0, "E"], - [33883, 0, "l"], - [33884, 0, "e"], - [33885, 0, "m"], - [33885, 1], - [33884, 1], - [33883, 1], - [33882, 1], - [33882, 0, "A"], - [33883, 0, "n"], - [33884, 0, "y"], - [33885, 0, "}"], - [33886, 0, "("], - [33887, 0, "\\"], - [33888, 0, "m"], - [33889, 0, "a"], - [33890, 0, "t"], - [33891, 0, "h"], - [33892, 0, "i"], - [33893, 0, "t"], - [33894, 0, "{"], - [33895, 0, "d"], - [33896, 0, "e"], - [33897, 0, "p"], - [33898, 0, "s"], - [33899, 0, "}"], - [33900, 0, ","], - [33901, 0, " "], - [33902, 0, "k"], - [33903, 0, ")"], - [33904, 0, " "], - [33905, 0, "\\"], - [33906, 0, "e"], - [33907, 0, "v"], - [33908, 0, "a"], - [33909, 0, "l"], - [33910, 0, "t"], - [33911, 0, "o"], - [33912, 0, "\n"], - [33913, 0, " "], - [33914, 0, " "], - [33915, 0, " "], - [33916, 0, " "], - [33917, 0, "\\"], - [33918, 0, "m"], - [33919, 0, "a"], - [33920, 0, "t"], - [33921, 0, "h"], - [33922, 0, "i"], - [33923, 0, "t"], - [33924, 0, "{"], - [33925, 0, "c"], - [33926, 0, "t"], - [33927, 0, "x"], - [33928, 0, "}"], - [33929, 0, "-"], - [33929, 1], - [33929, 0, "_"], - [33930, 0, "3"], - [33931, 0, ","], - [33932, 0, "\\"], - [33933, 0, ","], - [33934, 0, " "], - [33935, 0, "\\"], - [33936, 0, "m"], - [33937, 0, "a"], - [33938, 0, "t"], - [33939, 0, "h"], - [33940, 0, "t"], - [33940, 1], - [33940, 0, "i"], - [33941, 0, "t"], - [33942, 0, "{"], - [33943, 0, "p"], - [33944, 0, "r"], - [33945, 0, "e"], - [33946, 0, "s"], - [33947, 0, "}"], - [33948, 0, "_"], - [33949, 0, "1"], - [33950, 0, " "], - [33951, 0, "\\"], - [33952, 0, ","], - [33953, 0, "\\"], - [33954, 0, "c"], - [33955, 0, "u"], - [33956, 0, "p"], - [33957, 0, "\\"], - [33958, 0, ","], - [33959, 0, " "], - [33960, 0, "\\"], - [33961, 0, "m"], - [33962, 0, "a"], - [33963, 0, "t"], - [33964, 0, "h"], - [33965, 0, "i"], - [33966, 0, "t"], - [33967, 0, "{"], - [33968, 0, "p"], - [33969, 0, "r"], - [33970, 0, "e"], - [33971, 0, "s"], - [33972, 0, "}"], - [33973, 0, "_"], - [33974, 0, "2"], - [33975, 0, " "], - [33976, 0, "\\"], - [33977, 0, "c"], - [33978, 0, "\\"], - [33978, 1], - [33977, 1], - [33977, 0, ","], - [33978, 0, "\\"], - [33979, 0, "c"], - [33980, 0, "u"], - [33981, 0, "p"], - [33982, 0, "\\"], - [33983, 0, ","], - [33984, 0, " "], - [33985, 0, "\\"], - [33986, 0, "m"], - [33987, 0, "a"], - [33988, 0, "t"], - [33989, 0, "h"], - [33990, 0, "i"], - [33991, 0, "t"], - [33992, 0, "{"], - [33993, 0, "p"], - [33994, 0, "r"], - [33995, 0, "e"], - [33996, 0, "s"], - [33997, 0, "}"], - [33998, 0, "_"], - [33999, 0, "3"], - [34000, 0, " "], - [34000, 1], - [34000, 0, "$"], - [34001, 0, "}"], - [34018, 0, "\n"], - [34019, 0, "\n"], - [34020, 0, "\\"], - [34021, 0, "b"], - [34022, 0, "e"], - [34023, 0, "g"], - [34024, 0, "i"], - [34025, 0, "n"], - [34026, 0, "{"], - [34027, 0, "p"], - [34028, 0, "r"], - [34029, 0, "o"], - [34030, 0, "o"], - [34031, 0, "f"], - [34032, 0, "t"], - [34033, 0, "r"], - [34034, 0, "e"], - [34035, 0, "e"], - [34036, 0, "}"], - [34037, 0, "\n"], - [34038, 0, "\\"], - [34039, 0, "e"], - [34040, 0, "n"], - [34041, 0, "d"], - [34042, 0, "{"], - [34043, 0, "p"], - [34044, 0, "r"], - [34045, 0, "o"], - [34046, 0, "o"], - [34047, 0, "f"], - [34048, 0, "t"], - [34049, 0, "r"], - [34050, 0, "e"], - [34051, 0, "e"], - [34052, 0, "}"], - [34037, 0, "\n"], - [34038, 0, "\\"], - [34039, 0, "A"], - [34040, 0, "x"], - [34041, 0, "i"], - [34042, 0, "o"], - [34043, 0, "m"], - [34044, 0, "C"], - [34045, 0, "{"], - [34046, 0, "$"], - [34047, 0, "k"], - [34048, 0, " "], - [34049, 0, "\\"], - [34050, 0, "n"], - [34051, 0, "o"], - [34052, 0, "t"], - [34053, 0, "i"], - [34054, 0, "n"], - [34055, 0, " "], - [34056, 0, "\\"], - [34057, 0, "m"], - [34058, 0, "a"], - [34059, 0, "t"], - [34060, 0, "h"], - [34061, 0, "r"], - [34062, 0, "m"], - [34063, 0, "{"], - [34064, 0, "d"], - [34065, 0, "o"], - [34066, 0, "m"], - [34067, 0, "}"], - [34068, 0, "("], - [34069, 0, "\\"], - [34070, 0, "m"], - [34071, 0, "a"], - [34072, 0, "t"], - [34073, 0, "h"], - [34074, 0, "i"], - [34075, 0, "t"], - [34076, 0, "{"], - [34077, 0, "c"], - [34078, 0, "t"], - [34079, 0, "x"], - [34080, 0, "}"], - [34081, 0, ")"], - [34082, 0, "$"], - [34083, 0, "}"], - [34084, 0, "\n"], - [34085, 0, "\\"], - [34086, 0, "L"], - [34087, 0, "e"], - [34088, 0, "f"], - [34089, 0, "t"], - [34090, 0, "L"], - [34091, 0, "a"], - [34092, 0, "b"], - [34093, 0, "e"], - [34094, 0, "l"], - [34095, 0, "{"], - [34096, 0, "\\"], - [34097, 0, "t"], - [34098, 0, "e"], - [34099, 0, "x"], - [34100, 0, "t"], - [34101, 0, "s"], - [34102, 0, "c"], - [34103, 0, "{"], - [34104, 0, "C"], - [34105, 0, "l"], - [34106, 0, "e"], - [34107, 0, "a"], - [34108, 0, "r"], - [34109, 0, "-"], - [34110, 0, "N"], - [34111, 0, "o"], - [34112, 0, "n"], - [34113, 0, "e"], - [34114, 0, "}"], - [34115, 0, "}"], - [34116, 0, "\n"], - [34117, 0, "\\"], - [34118, 0, "U"], - [34119, 0, "n"], - [34120, 0, "a"], - [34121, 0, "r"], - [34122, 0, "y"], - [34123, 0, "I"], - [34124, 0, "n"], - [34125, 0, "f"], - [34126, 0, "C"], - [34127, 0, "{"], - [34128, 0, "$"], - [34129, 0, "\\"], - [34130, 0, "m"], - [34131, 0, "a"], - [34132, 0, "t"], - [34133, 0, "h"], - [34134, 0, "i"], - [34135, 0, "t"], - [34136, 0, "{"], - [34137, 0, "c"], - [34138, 0, "t"], - [34139, 0, "x"], - [34140, 0, "}"], - [34141, 0, ","], - [34142, 0, "\\"], - [34143, 0, ","], - [34144, 0, " "], - [34145, 0, "\\"], - [34146, 0, "m"], - [34147, 0, "a"], - [34148, 0, "t"], - [34149, 0, "h"], - [34150, 0, "s"], - [34151, 0, "f"], - [34152, 0, "{"], - [34153, 0, "c"], - [34154, 0, "l"], - [34155, 0, "e"], - [34156, 0, "a"], - [34157, 0, "r"], - [34158, 0, "}"], - [34159, 0, "("], - [34160, 0, "\\"], - [34161, 0, "m"], - [34162, 0, "a"], - [34163, 0, "t"], - [34164, 0, "h"], - [34165, 0, "i"], - [34166, 0, "t"], - [34167, 0, "{"], - [34168, 0, "d"], - [34169, 0, "e"], - [34170, 0, "p"], - [34171, 0, "s"], - [34172, 0, "}"], - [34173, 0, ","], - [34174, 0, " "], - [34175, 0, "k"], - [34176, 0, ")"], - [34177, 0, " "], - [34178, 0, "\\"], - [34179, 0, "e"], - [34180, 0, "v"], - [34181, 0, "a"], - [34182, 0, "l"], - [34183, 0, "t"], - [34184, 0, "o"], - [34185, 0, " "], - [34186, 0, "\\"], - [34187, 0, "m"], - [34188, 0, "a"], - [34189, 0, "t"], - [34190, 0, "h"], - [34191, 0, "i"], - [34192, 0, "o"], - [34193, 0, "t"], - [34193, 1], - [34192, 1], - [34192, 0, "t"], - [34193, 0, "{"], - [34194, 0, "c"], - [34195, 0, "t"], - [34196, 0, "x"], - [34197, 0, "}"], - [34198, 0, ","], - [34199, 0, "\\"], - [34200, 0, ","], - [34201, 0, " "], - [34202, 0, "\\"], - [34203, 0, "{"], - [34204, 0, "\\"], - [34205, 0, "}"], - [34206, 0, "$"], - [34207, 0, "}"], - [34559, 1], - [34558, 1], - [34558, 0, "c"], - [34559, 0, "l"], - [34560, 0, "e"], - [34561, 0, "a"], - [34562, 0, "r"], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34565, 1], - [34579, 0, " "], - [34580, 0, "\\"], - [34581, 0, "m"], - [34582, 0, "a"], - [34583, 0, "t"], - [34584, 0, "h"], - [34585, 0, "s"], - [34586, 0, "f"], - [34587, 0, "{"], - [34588, 0, "r"], - [34589, 0, "e"], - [34590, 0, "g"], - [34591, 0, "T"], - [34592, 0, "}"], - [34593, 0, "("], - [34594, 0, "k"], - [34595, 0, ")"], - [34596, 0, ")"], - [34597, 0, " "], - [34598, 0, "\\"], - [34599, 0, "e"], - [34600, 0, "v"], - [34601, 0, "a"], - [34602, 0, "l"], - [34603, 0, "t"], - [34604, 0, "o"], - [34673, 1], - [34672, 1], - [34671, 1], - [34670, 1], - [34669, 1], - [34668, 1], - [34667, 1], - [34666, 1], - [34665, 1], - [34664, 1], - [34663, 1], - [34662, 1], - [34661, 1], - [34660, 1], - [34659, 1], - [34658, 1], - [34657, 1], - [34656, 1], - [34655, 1], - [34654, 1], - [34653, 1], - [34652, 1], - [34651, 1], - [34650, 1], - [34649, 1], - [34648, 1], - [34647, 1], - [34646, 1], - [34645, 1], - [34644, 1], - [34643, 1], - [34642, 1], - [34641, 1], - [34640, 1], - [34639, 1], - [34638, 1], - [34637, 1], - [34636, 1], - [34635, 1], - [34634, 1], - [34633, 1], - [34632, 1], - [34631, 1], - [34630, 1], - [34629, 1], - [34628, 1], - [34627, 1], - [34626, 1], - [34625, 1], - [34624, 1], - [34623, 1], - [34622, 1], - [34621, 1], - [34620, 1], - [34619, 1], - [34618, 1], - [34617, 1], - [34616, 1], - [34615, 1], - [34614, 1], - [34613, 1], - [34612, 1], - [34611, 1], - [34610, 1], - [34609, 1], - [34608, 1], - [34607, 1], - [34606, 1], - [34605, 1], - [34678, 0, ","], - [34679, 0, "\\"], - [34680, 0, ","], - [34681, 0, " "], - [34682, 0, "\\"], - [34683, 0, "m"], - [34684, 0, "a"], - [34685, 0, "t"], - [34686, 0, "h"], - [34687, 0, "i"], - [34688, 0, "t"], - [34689, 0, "{"], - [34689, 1], - [34688, 1], - [34687, 1], - [34687, 0, "r"], - [34688, 0, "m"], - [34689, 0, "{"], - [34690, 0, "d"], - [34691, 0, "o"], - [34692, 0, "m"], - [34693, 0, "}"], - [34694, 0, "("], - [34695, 0, "\\"], - [34696, 0, "m"], - [34697, 0, "a"], - [34698, 0, "t"], - [34699, 0, "h"], - [34700, 0, "i"], - [34701, 0, "t"], - [34702, 0, "{"], - [34703, 0, "c"], - [34704, 0, "o"], - [34705, 0, "n"], - [34706, 0, "c"], - [34707, 0, "u"], - [34708, 0, "r"], - [34709, 0, "r"], - [34710, 0, "e"], - [34711, 0, "n"], - [34712, 0, "t"], - [34713, 0, "}"], - [34714, 0, ")"], - [34360, 1], - [34360, 1], - [34349, 1], - [34348, 1], - [34393, 1], - [34392, 1], - [34381, 1], - [34380, 1], - [34453, 1], - [34453, 1], - [34723, 0, "\n"], - [34724, 0, "\n"], - [34725, 0, "\\"], - [34726, 0, "b"], - [34727, 0, "e"], - [34728, 0, "g"], - [34729, 0, "i"], - [34730, 0, "n"], - [34731, 0, "{"], - [34732, 0, "p"], - [34733, 0, "r"], - [34734, 0, "o"], - [34735, 0, "o"], - [34736, 0, "f"], - [34737, 0, "t"], - [34738, 0, "r"], - [34739, 0, "e"], - [34740, 0, "e"], - [34741, 0, "}"], - [34742, 0, "\n"], - [34743, 0, "\\"], - [34744, 0, "e"], - [34745, 0, "n"], - [34746, 0, "d"], - [34747, 0, "{"], - [34748, 0, "p"], - [34749, 0, "r"], - [34750, 0, "o"], - [34751, 0, "o"], - [34752, 0, "f"], - [34753, 0, "t"], - [34754, 0, "r"], - [34755, 0, "e"], - [34756, 0, "e"], - [34757, 0, "}"], - [34742, 0, "\n"], - [34743, 0, "\\"], - [34744, 0, "A"], - [34745, 0, "x"], - [34746, 0, "i"], - [34747, 0, "o"], - [34748, 0, "m"], - [34749, 0, "C"], - [34750, 0, "{"], - [34751, 0, "$"], - [34752, 0, "\\"], - [34753, 0, "m"], - [34754, 0, "a"], - [34755, 0, "t"], - [34756, 0, "h"], - [34757, 0, "s"], - [34758, 0, "f"], - [34759, 0, "{"], - [34760, 0, "m"], - [34761, 0, "a"], - [34762, 0, "p"], - [34763, 0, "T"], - [34764, 0, "}"], - [34765, 0, "("], - [34766, 0, "k"], - [34767, 0, ")"], - [34768, 0, " "], - [34769, 0, "\\"], - [34770, 0, "i"], - [34771, 0, "n"], - [34772, 0, " "], - [34773, 0, "\\"], - [34774, 0, "m"], - [34775, 0, "a"], - [34776, 0, "t"], - [34777, 0, "h"], - [34778, 0, "r"], - [34779, 0, "m"], - [34780, 0, "{"], - [34781, 0, "d"], - [34782, 0, "o"], - [34783, 0, "m"], - [34784, 0, "}"], - [34785, 0, "("], - [34786, 0, "\\"], - [34787, 0, "m"], - [34788, 0, "a"], - [34789, 0, "t"], - [34790, 0, "h"], - [34791, 0, "i"], - [34792, 0, "t"], - [34793, 0, "{"], - [34794, 0, "c"], - [34795, 0, "t"], - [34796, 0, "x"], - [34797, 0, "}"], - [34798, 0, ")"], - [34799, 0, "$"], - [34800, 0, "}"], - [34801, 0, "\n"], - [34802, 0, "\\"], - [34803, 0, "L"], - [34804, 0, "e"], - [34805, 0, "f"], - [34806, 0, "t"], - [34807, 0, "L"], - [34808, 0, "a"], - [34809, 0, "b"], - [34810, 0, "e"], - [34811, 0, "l"], - [34812, 0, "{"], - [34813, 0, "\\"], - [34814, 0, "t"], - [34815, 0, "e"], - [34816, 0, "x"], - [34817, 0, "t"], - [34818, 0, "s"], - [34819, 0, "c"], - [34820, 0, "{"], - [34821, 0, "C"], - [34822, 0, "l"], - [34823, 0, "e"], - [34824, 0, "a"], - [34825, 0, "r"], - [34826, 0, "-"], - [34827, 0, "M"], - [34828, 0, "a"], - [34829, 0, "p"], - [34830, 0, "}"], - [34831, 0, "}"], - [34832, 0, "\n"], - [34833, 0, "\\"], - [34813, 0, "$"], - [34832, 0, "_"], - [34833, 0, "1"], - [34834, 0, "$"], - [34837, 1], - [34836, 1], - [34801, 0, "\n"], - [34802, 0, "\\"], - [34803, 0, "A"], - [34804, 0, "x"], - [34805, 0, "i"], - [34806, 0, "o"], - [34807, 0, "m"], - [34808, 0, "C"], - [34809, 0, "{"], - [34810, 0, "$"], - [34811, 0, "\\"], - [34812, 0, "m"], - [34813, 0, "a"], - [34814, 0, "t"], - [34815, 0, "h"], - [34816, 0, "i"], - [34817, 0, "t"], - [34818, 0, "{"], - [34819, 0, "c"], - [34820, 0, "t"], - [34821, 0, "x"], - [34822, 0, "}"], - [34823, 0, ","], - [34824, 0, "\\"], - [34824, 1], - [34823, 1], - [34823, 0, "("], - [34824, 0, "\\"], - [34825, 0, "m"], - [34826, 0, "a"], - [34827, 0, "t"], - [34828, 0, "h"], - [34829, 0, "s"], - [34830, 0, "f"], - [34831, 0, "{"], - [34832, 0, "m"], - [34833, 0, "a"], - [34834, 0, "p"], - [34835, 0, "T"], - [34836, 0, "}"], - [34837, 0, "("], - [34838, 0, "k"], - [34839, 0, ")"], - [34840, 0, ")"], - [34841, 0, "\\"], - [34841, 1], - [34841, 0, ","], - [34842, 0, "\\"], - [34843, 0, ","], - [34844, 0, " "], - [34845, 0, "\\"], - [34846, 0, "m"], - [34847, 0, "a"], - [34848, 0, "t"], - [34849, 0, "h"], - [34850, 0, "s"], - [34851, 0, "f"], - [34852, 0, "{"], - [34853, 0, "c"], - [34854, 0, "l"], - [34855, 0, "e"], - [34856, 0, "a"], - [34857, 0, "r"], - [34858, 0, "M"], - [34859, 0, "a"], - [34860, 0, "p"], - [34861, 0, "}"], - [34862, 0, "("], - [34863, 0, "\\"], - [34864, 0, "m"], - [34865, 0, "a"], - [34866, 0, "t"], - [34867, 0, "h"], - [34868, 0, "i"], - [34869, 0, "t"], - [34870, 0, "{"], - [34871, 0, "d"], - [34872, 0, "e"], - [34873, 0, "p"], - [34874, 0, "s"], - [34875, 0, "}"], - [34876, 0, ","], - [34877, 0, " "], - [34878, 0, "\\"], - [34879, 0, "{"], - [34880, 0, "\\"], - [34881, 0, "}"], - [34882, 0, ")"], - [34883, 0, " "], - [34884, 0, "\\"], - [34885, 0, "e"], - [34886, 0, "v"], - [34887, 0, "a"], - [34888, 0, "l"], - [34889, 0, "t"], - [34890, 0, "o"], - [34891, 0, " "], - [34892, 0, "\\"], - [34893, 0, "m"], - [34894, 0, "a"], - [34895, 0, "t"], - [34896, 0, "h"], - [34891, 0, "\n"], - [34892, 0, " "], - [34893, 0, " "], - [34894, 0, " "], - [34901, 0, "i"], - [34902, 0, "t"], - [34903, 0, "{"], - [34904, 0, "c"], - [34905, 0, "l"], - [34906, 0, "e"], - [34907, 0, "a"], - [34908, 0, "r"], - [34909, 0, "e"], - [34910, 0, "d"], - [34911, 0, "}"], - [34912, 0, ","], - [34913, 0, "\\"], - [34914, 0, ","], - [34915, 0, " "], - [34916, 0, "\\"], - [34917, 0, "m"], - [34918, 0, "a"], - [34919, 0, "t"], - [34920, 0, "h"], - [34921, 0, "i"], - [34922, 0, "t"], - [34923, 0, "{"], - [34924, 0, "p"], - [34925, 0, "r"], - [34926, 0, "e"], - [34927, 0, "s"], - [34928, 0, "}"], - [34929, 0, "$"], - [34930, 0, "}"], - [34931, 0, "\n"], - [34932, 0, "\\"], - [34933, 0, "L"], - [34934, 0, "e"], - [34935, 0, "f"], - [34936, 0, "t"], - [34936, 1], - [34935, 1], - [34934, 1], - [34933, 1], - [34932, 1], - [34931, 1], - [34966, 0, "\n"], - [34967, 0, "\\"], - [34968, 0, "B"], - [34969, 0, "i"], - [34970, 0, "n"], - [34971, 0, "a"], - [34972, 0, "r"], - [34973, 0, "y"], - [34974, 0, "I"], - [34975, 0, "n"], - [34976, 0, "f"], - [34977, 0, "C"], - [34978, 0, "{"], - [34979, 0, "$"], - [34980, 0, "\\"], - [34981, 0, "m"], - [34982, 0, "a"], - [34983, 0, "t"], - [34984, 0, "h"], - [34985, 0, "i"], - [34986, 0, "t"], - [34987, 0, "{"], - [34988, 0, "c"], - [34989, 0, "t"], - [34990, 0, "x"], - [34991, 0, "}"], - [34992, 0, ","], - [34993, 0, "\\"], - [34994, 0, ","], - [34995, 0, " "], - [34996, 0, "\\"], - [34997, 0, "m"], - [34998, 0, "a"], - [34999, 0, "t"], - [35000, 0, "h"], - [35001, 0, "s"], - [35002, 0, "f"], - [35003, 0, "{"], - [35004, 0, "c"], - [35005, 0, "l"], - [35006, 0, "e"], - [35007, 0, "a"], - [35008, 0, "r"], - [35009, 0, "("], - [35009, 1], - [35009, 0, "}"], - [35010, 0, "("], - [35011, 0, "\\"], - [35012, 0, "m"], - [35013, 0, "a"], - [35014, 0, "t"], - [35015, 0, "h"], - [35016, 0, "i"], - [35017, 0, "t"], - [35018, 0, "{"], - [35019, 0, "d"], - [35020, 0, "e"], - [35021, 0, "p"], - [35022, 0, "s"], - [35023, 0, "}"], - [35024, 0, ","], - [35025, 0, " "], - [35026, 0, "\\"], - [35027, 0, "m"], - [35028, 0, "a"], - [35029, 0, "t"], - [35030, 0, "h"], - [35031, 0, "s"], - [35032, 0, "f"], - [35033, 0, "{"], - [35034, 0, "m"], - [35035, 0, "a"], - [35036, 0, "p"], - [35037, 0, "T"], - [35038, 0, "}"], - [35039, 0, "("], - [35040, 0, "k"], - [35041, 0, ")"], - [35042, 0, ")"], - [35043, 0, " "], - [35044, 0, "\\"], - [35045, 0, "e"], - [35046, 0, "v"], - [35047, 0, "a"], - [35048, 0, "l"], - [35049, 0, "t"], - [35050, 0, "o"], - [35051, 0, "\n"], - [35052, 0, " "], - [35053, 0, " "], - [35054, 0, " "], - [35055, 0, " "], - [35056, 0, "\\"], - [35057, 0, "m"], - [35058, 0, "a"], - [35059, 0, "t"], - [35060, 0, "h"], - [35061, 0, "i"], - [35062, 0, "t"], - [35063, 0, "{"], - [35064, 0, "c"], - [35065, 0, "t"], - [35066, 0, "x"], - [35067, 0, "}"], - [35068, 0, " "], - [35069, 0, "["], - [35070, 0, "\\"], - [35071, 0, ","], - [35072, 0, " "], - [35073, 0, "\\"], - [35074, 0, "m"], - [35075, 0, "a"], - [35076, 0, "t"], - [35077, 0, "h"], - [35078, 0, "s"], - [35079, 0, "f"], - [35080, 0, "{"], - [35081, 0, "m"], - [35082, 0, "a"], - [35083, 0, "p"], - [35084, 0, "T"], - [35085, 0, "}"], - [35086, 0, "("], - [35087, 0, "k"], - [35088, 0, ")"], - [35089, 0, " "], - [35090, 0, "\\"], - [35091, 0, ","], - [35092, 0, "\\"], - [35093, 0, "m"], - [35094, 0, "a"], - [35095, 0, "p"], - [35096, 0, "s"], - [35097, 0, "t"], - [35098, 0, "o"], - [35099, 0, "\\"], - [35100, 0, ","], - [35101, 0, " "], - [35102, 0, "\\"], - [35103, 0, "m"], - [35104, 0, "a"], - [35105, 0, "t"], - [35106, 0, "h"], - [35107, 0, "i"], - [35108, 0, "t"], - [35109, 0, "{"], - [35110, 0, "c"], - [35111, 0, "l"], - [35112, 0, "e"], - [35113, 0, "a"], - [35114, 0, "r"], - [35115, 0, "e"], - [35116, 0, "d"], - [35117, 0, "}"], - [35118, 0, " "], - [35119, 0, "\\"], - [35120, 0, ","], - [35121, 0, "]"], - [35122, 0, ","], - [35123, 0, "\\"], - [35124, 0, ","], - [35125, 0, " "], - [35126, 0, "\\"], - [35127, 0, "m"], - [35128, 0, "a"], - [35129, 0, "t"], - [35130, 0, "h"], - [35131, 0, "i"], - [35132, 0, "t"], - [35133, 0, "{"], - [35134, 0, "p"], - [35135, 0, "r"], - [35136, 0, "e"], - [35137, 0, "s"], - [35138, 0, "}"], - [35139, 0, "$"], - [35140, 0, "}"], - [35157, 0, "\n"], - [35158, 0, "\n"], - [35159, 0, "\\"], - [35160, 0, "b"], - [35161, 0, "e"], - [35162, 0, "g"], - [35163, 0, "i"], - [35164, 0, "n"], - [35165, 0, "{"], - [35166, 0, "p"], - [35167, 0, "r"], - [35168, 0, "o"], - [35169, 0, "o"], - [35170, 0, "f"], - [35171, 0, "t"], - [35172, 0, "r"], - [35173, 0, "e"], - [35174, 0, "e"], - [35175, 0, "}"], - [35176, 0, "\n"], - [35177, 0, "\\"], - [35178, 0, "n"], - [35179, 0, "e"], - [35179, 1], - [35178, 1], - [35178, 0, "e"], - [35179, 0, "n"], - [35180, 0, "d"], - [35181, 0, "{"], - [35182, 0, "p"], - [35183, 0, "r"], - [35184, 0, "o"], - [35185, 0, "o"], - [35186, 0, "f"], - [35187, 0, "t"], - [35188, 0, "r"], - [35189, 0, "e"], - [35190, 0, "e"], - [35191, 0, "}"], - [35176, 0, "\n"], - [35177, 0, "\\"], - [35178, 0, "A"], - [35179, 0, "x"], - [35180, 0, "i"], - [35181, 0, "o"], - [35182, 0, "m"], - [35183, 0, "C"], - [35184, 0, "{"], - [35185, 0, "$"], - [35186, 0, "k"], - [35187, 0, " "], - [35188, 0, "\\"], - [35189, 0, "i"], - [35190, 0, "n"], - [35191, 0, " "], - [35192, 0, "\\"], - [35193, 0, "m"], - [35194, 0, "a"], - [35195, 0, "t"], - [35196, 0, "h"], - [35197, 0, "r"], - [35198, 0, "m"], - [35199, 0, "{"], - [35200, 0, "k"], - [35201, 0, "e"], - [35202, 0, "y"], - [35203, 0, "s"], - [35204, 0, "}"], - [35205, 0, "("], - [35206, 0, "\\"], - [35207, 0, "m"], - [35208, 0, "a"], - [35209, 0, "t"], - [35210, 0, "h"], - [35211, 0, "i"], - [35212, 0, "t"], - [35213, 0, "{"], - [35214, 0, "c"], - [35215, 0, "t"], - [35216, 0, "x"], - [35217, 0, "}"], - [35218, 0, ")"], - [35219, 0, " "], - [35220, 0, "\\"], - [35221, 0, ","], - [35222, 0, "\\"], - [35223, 0, "w"], - [35224, 0, "e"], - [35225, 0, "d"], - [35226, 0, "g"], - [35227, 0, "e"], - [35228, 0, "\\"], - [35229, 0, ","], - [35230, 0, " "], - [35231, 0, "k"], - [35232, 0, " "], - [35233, 0, "\\"], - [35234, 0, "n"], - [35235, 0, "o"], - [35236, 0, "t"], - [35237, 0, "i"], - [35238, 0, "n"], - [35239, 0, " "], - [35240, 0, "\\"], - [35241, 0, "m"], - [35242, 0, "a"], - [35243, 0, "t"], - [35244, 0, "h"], - [35245, 0, "i"], - [35246, 0, "t"], - [35247, 0, "{"], - [35248, 0, "d"], - [35249, 0, "o"], - [35250, 0, "n"], - [35251, 0, "e"], - [35252, 0, "}"], - [35253, 0, "$"], - [35254, 0, "}"], - [35255, 0, "\n"], - [35256, 0, "\\"], - [35257, 0, "A"], - [35258, 0, "x"], - [35259, 0, "i"], - [35260, 0, "o"], - [35261, 0, "m"], - [35262, 0, "C"], - [35263, 0, "{"], - [35264, 0, "$"], - [35265, 0, "\\"], - [35266, 0, "m"], - [35267, 0, "a"], - [35268, 0, "t"], - [35269, 0, "h"], - [35270, 0, "i"], - [35271, 0, "t"], - [35272, 0, "{"], - [35273, 0, "c"], - [35274, 0, "t"], - [35275, 0, "x"], - [35276, 0, "}"], - [35277, 0, ","], - [35278, 0, "\\"], - [35279, 0, ","], - [35280, 0, " "], - [35281, 0, "\\"], - [35282, 0, "m"], - [35283, 0, "a"], - [35284, 0, "t"], - [35285, 0, "h"], - [35286, 0, "s"], - [35287, 0, "f"], - [35288, 0, "{"], - [35289, 0, "c"], - [35290, 0, "l"], - [35291, 0, "e"], - [35292, 0, "a"], - [35293, 0, "r"], - [35294, 0, "E"], - [35295, 0, "l"], - [35296, 0, "e"], - [35297, 0, "m"], - [35298, 0, "}"], - [35299, 0, "("], - [35300, 0, "\\"], - [35301, 0, "m"], - [35302, 0, "a"], - [35303, 0, "t"], - [35304, 0, "h"], - [35305, 0, "i"], - [35306, 0, "t"], - [35307, 0, "{"], - [35308, 0, "d"], - [35309, 0, "e"], - [35310, 0, "p"], - [35311, 0, "s"], - [35312, 0, "}"], - [35313, 0, ","], - [35314, 0, " "], - [35315, 0, "k"], - [35316, 0, ")"], - [35317, 0, " "], - [35318, 0, "\\"], - [35319, 0, "e"], - [35320, 0, "v"], - [35321, 0, "a"], - [35322, 0, "l"], - [35323, 0, "t"], - [35324, 0, "o"], - [35325, 0, " "], - [35326, 0, "\\"], - [35327, 0, "m"], - [35328, 0, "a"], - [35329, 0, "t"], - [35330, 0, "h"], - [35331, 0, "i"], - [35332, 0, "t"], - [35333, 0, "{"], - [35334, 0, "c"], - [35335, 0, "t"], - [35336, 0, "x"], - [35337, 0, "}"], - [35338, 0, "'"], - [35339, 0, ","], - [35340, 0, " "], - [35341, 0, "\\"], - [35342, 0, "m"], - [35343, 0, "a"], - [35344, 0, "t"], - [35345, 0, "h"], - [35346, 0, "i"], - [35347, 0, "t"], - [35348, 0, "{"], - [35349, 0, "p"], - [35350, 0, "r"], - [35351, 0, "e"], - [35352, 0, "s"], - [35353, 0, "}"], - [35354, 0, "_"], - [35355, 0, "1"], - [35356, 0, "$"], - [35357, 0, "}"], - [35358, 0, "\n"], - [35359, 0, "\\"], - [35360, 0, "A"], - [35361, 0, "x"], - [35362, 0, "i"], - [35363, 0, "o"], - [35364, 0, "m"], - [35365, 0, "C"], - [35366, 0, "{"], - [35367, 0, "$"], - [35368, 0, "\\"], - [35369, 0, "m"], - [35370, 0, "a"], - [35371, 0, "t"], - [35372, 0, "h"], - [35373, 0, "i"], - [35374, 0, "t"], - [35375, 0, "{"], - [35376, 0, "c"], - [35377, 0, "t"], - [35378, 0, "x"], - [35379, 0, "}"], - [35380, 0, "'"], - [35381, 0, ","], - [35382, 0, "'"], - [35383, 0, ","], - [35383, 1], - [35382, 1], - [35381, 1], - [35381, 0, ","], - [35382, 0, "\\"], - [35383, 0, ","], - [35384, 0, " "], - [35385, 0, "\\"], - [35386, 0, "m"], - [35387, 0, "a"], - [35388, 0, "t"], - [35389, 0, "h"], - [35390, 0, "s"], - [35391, 0, "f"], - [35392, 0, "{"], - [35393, 0, "c"], - [35394, 0, "l"], - [35395, 0, "e"], - [35396, 0, "a"], - [35397, 0, "r"], - [35398, 0, "M"], - [35399, 0, "a"], - [35400, 0, "p"], - [35401, 0, "}"], - [35402, 0, "{"], - [35402, 1], - [35402, 0, "("], - [35403, 0, "\\"], - [35404, 0, "m"], - [35405, 0, "a"], - [35406, 0, "t"], - [35407, 0, "h"], - [35408, 0, "i"], - [35409, 0, "t"], - [35410, 0, "{"], - [35411, 0, "d"], - [35412, 0, "e"], - [35413, 0, "p"], - [35414, 0, "s"], - [35415, 0, "}"], - [35416, 0, ","], - [35417, 0, " "], - [35418, 0, "\\"], - [35419, 0, "m"], - [35420, 0, "a"], - [35421, 0, "t"], - [35422, 0, "h"], - [35423, 0, "i"], - [35424, 0, "t"], - [35425, 0, "{"], - [35426, 0, "d"], - [35427, 0, "o"], - [35428, 0, "n"], - [35429, 0, "e"], - [35430, 0, "}"], - [35431, 0, " "], - [35432, 0, "\\"], - [35433, 0, "c"], - [35434, 0, "u"], - [35435, 0, "p"], - [35436, 0, " "], - [35437, 0, "\\"], - [35438, 0, "{"], - [35439, 0, "k"], - [35440, 0, "\\"], - [35441, 0, "}"], - [35442, 0, ")"], - [35443, 0, "\n"], - [35444, 0, " "], - [35445, 0, " "], - [35446, 0, " "], - [35447, 0, " "], - [35448, 0, "\\"], - [35449, 0, "e"], - [35450, 0, "v"], - [35451, 0, "a"], - [35452, 0, "l"], - [35453, 0, "t"], - [35454, 0, "o"], - [35455, 0, " "], - [35456, 0, "\\"], - [35457, 0, "m"], - [35458, 0, "a"], - [35459, 0, "t"], - [35460, 0, "h"], - [35461, 0, "i"], - [35462, 0, "t"], - [35463, 0, "{"], - [35464, 0, "c"], - [35465, 0, "t"], - [35466, 0, "x"], - [35467, 0, "}"], - [35468, 0, "'"], - [35469, 0, "'"], - [35470, 0, ","], - [35471, 0, "\\"], - [35472, 0, ","], - [35473, 0, " "], - [35474, 0, "\\"], - [35475, 0, "m"], - [35476, 0, "a"], - [35477, 0, "t"], - [35478, 0, "h"], - [35479, 0, "i"], - [35480, 0, "t"], - [35481, 0, "{"], - [35482, 0, "p"], - [35483, 0, "r"], - [35484, 0, "e"], - [35485, 0, "s"], - [35486, 0, "}"], - [35487, 0, "_"], - [35488, 0, "2"], - [35489, 0, "$"], - [35490, 0, "}"], - [35491, 0, "\n"], - [35492, 0, "\\"], - [35493, 0, "L"], - [35494, 0, "e"], - [35495, 0, "f"], - [35496, 0, "t"], - [35497, 0, "L"], - [35498, 0, "a"], - [35499, 0, "b"], - [35500, 0, "e"], - [35501, 0, "l"], - [35502, 0, "{"], - [35503, 0, "$"], - [35504, 0, "\\"], - [35505, 0, "t"], - [35506, 0, "e"], - [35507, 0, "x"], - [35508, 0, "t"], - [35509, 0, "s"], - [35510, 0, "c"], - [35511, 0, "{"], - [35512, 0, "C"], - [35513, 0, "l"], - [35514, 0, "e"], - [35515, 0, "a"], - [35516, 0, "r"], - [35517, 0, "-"], - [35518, 0, "M"], - [35519, 0, "a"], - [35520, 0, "p"], - [35521, 0, "}"], - [35522, 0, "_"], - [35523, 0, "2"], - [35524, 0, "$"], - [35525, 0, "}"], - [35526, 0, "\n"], - [35527, 0, "\\"], - [35528, 0, "T"], - [35529, 0, "r"], - [35530, 0, "i"], - [35531, 0, "n"], - [35532, 0, "a"], - [35533, 0, "r"], - [35534, 0, "y"], - [35535, 0, "I"], - [35536, 0, "n"], - [35537, 0, "f"], - [35538, 0, "C"], - [35539, 0, "{"], - [35540, 0, "$"], - [35541, 0, "\\"], - [35542, 0, "m"], - [35543, 0, "a"], - [35544, 0, "t"], - [35545, 0, "h"], - [35546, 0, "i"], - [35547, 0, "t"], - [35548, 0, "{"], - [35549, 0, "c"], - [35550, 0, "t"], - [35551, 0, "x"], - [35552, 0, "}"], - [35553, 0, ","], - [35554, 0, "\\"], - [35555, 0, ","], - [35556, 0, " "], - [35557, 0, "\\"], - [35558, 0, "m"], - [35559, 0, "a"], - [35560, 0, "t"], - [35561, 0, "h"], - [35562, 0, "s"], - [35563, 0, "f"], - [35564, 0, "{"], - [35565, 0, "c"], - [35566, 0, "l"], - [35567, 0, "e"], - [35568, 0, "a"], - [35569, 0, "r"], - [35570, 0, "M"], - [35571, 0, "a"], - [35572, 0, "p"], - [35573, 0, "}"], - [35574, 0, "("], - [35575, 0, "\\"], - [35576, 0, "m"], - [35577, 0, "a"], - [35578, 0, "t"], - [35579, 0, "h"], - [35580, 0, "i"], - [35581, 0, "t"], - [35582, 0, "{"], - [35583, 0, "d"], - [35584, 0, "e"], - [35585, 0, "p"], - [35586, 0, "s"], - [35587, 0, "}"], - [35588, 0, ","], - [35589, 0, " "], - [35590, 0, "\\"], - [35591, 0, "m"], - [35592, 0, "a"], - [35593, 0, "t"], - [35594, 0, "h"], - [35595, 0, "i"], - [35596, 0, "t"], - [35597, 0, "{"], - [35598, 0, "d"], - [35599, 0, "o"], - [35600, 0, "n"], - [35601, 0, "e"], - [35602, 0, "}"], - [35603, 0, ")"], - [35604, 0, " "], - [35605, 0, "\\"], - [35606, 0, "e"], - [35607, 0, "v"], - [35608, 0, "a"], - [35609, 0, "l"], - [35610, 0, "t"], - [35611, 0, "o"], - [35612, 0, "\n"], - [35613, 0, " "], - [35614, 0, " "], - [35615, 0, " "], - [35616, 0, " "], - [35617, 0, "\\"], - [35618, 0, "m"], - [35619, 0, "a"], - [35620, 0, "t"], - [35621, 0, "h"], - [35617, 0, "\\"], - [35618, 0, "e"], - [35619, 0, "v"], - [35620, 0, "a"], - [35621, 0, "l"], - [35622, 0, "t"], - [35623, 0, "o"], - [35624, 0, " "], - [35611, 1], - [35610, 1], - [35609, 1], - [35608, 1], - [35607, 1], - [35606, 1], - [35605, 1], - [35604, 1], - [35622, 0, "i"], - [35623, 0, "t"], - [35624, 0, "{"], - [35625, 0, "c"], - [35626, 0, "t"], - [35627, 0, "x"], - [35628, 0, "}"], - [35629, 0, "'"], - [35630, 0, "'"], - [35631, 0, ","], - [35632, 0, "\\"], - [35633, 0, ","], - [35634, 0, " "], - [35635, 0, "\\"], - [35636, 0, "m"], - [35637, 0, "a"], - [35638, 0, "t"], - [35639, 0, "h"], - [35640, 0, "i"], - [35641, 0, "t"], - [35642, 0, "{"], - [35643, 0, "p"], - [35644, 0, "r"], - [35645, 0, "e"], - [35646, 0, "s"], - [35647, 0, "}"], - [35648, 0, "_"], - [35649, 0, "1"], - [35650, 0, " "], - [35651, 0, "\\"], - [35652, 0, "c"], - [35653, 0, "u"], - [35654, 0, "p"], - [35655, 0, " "], - [35656, 0, "\\"], - [35657, 0, "m"], - [35658, 0, "a"], - [35659, 0, "t"], - [35660, 0, "h"], - [35661, 0, "i"], - [35662, 0, "t"], - [35663, 0, "{"], - [35664, 0, "p"], - [35665, 0, "r"], - [35666, 0, "e"], - [35667, 0, "s"], - [35668, 0, "{"], - [35668, 1], - [35668, 0, "}"], - [35669, 0, "_"], - [35670, 0, "2"], - [35671, 0, "$"], - [35672, 0, "}"], - [35186, 0, "\\"], - [35187, 0, "b"], - [35188, 0, "e"], - [35189, 0, "g"], - [35190, 0, "i"], - [35191, 0, "n"], - [35192, 0, "{"], - [35193, 0, "m"], - [35194, 0, "a"], - [35195, 0, "t"], - [35196, 0, "r"], - [35197, 0, "i"], - [35198, 0, "x"], - [35199, 0, "}"], - [35200, 0, " "], - [35200, 0, "\n"], - [35201, 0, " "], - [35202, 0, " "], - [35203, 0, " "], - [35240, 1], - [35240, 0, "\\"], - [35241, 0, "\n"], - [35242, 0, " "], - [35243, 0, " "], - [35244, 0, " "], - [35245, 0, " "], - [35277, 0, " "], - [35278, 0, "\\"], - [35279, 0, "e"], - [35280, 0, "n"], - [35281, 0, "d"], - [35282, 0, "{"], - [35283, 0, "m"], - [35284, 0, "a"], - [35285, 0, "t"], - [35286, 0, "r"], - [35287, 0, "i"], - [35288, 0, "x"], - [35289, 0, "}"], - [35302, 0, "\\"], - [35303, 0, "b"], - [35304, 0, "e"], - [35305, 0, "g"], - [35306, 0, "i"], - [35307, 0, "n"], - [35308, 0, "{"], - [35309, 0, "m"], - [35310, 0, "a"], - [35311, 0, "t"], - [35312, 0, "r"], - [35313, 0, "i"], - [35314, 0, "x"], - [35315, 0, "}"], - [35316, 0, "\n"], - [35317, 0, " "], - [35318, 0, " "], - [35319, 0, " "], - [35320, 0, " "], - [35373, 0, "\\"], - [35373, 1], - [35373, 0, " "], - [35374, 0, "\\"], - [35375, 0, "\\"], - [35376, 0, "\n"], - [35377, 0, " "], - [35378, 0, " "], - [35379, 0, " "], - [35419, 0, " "], - [35420, 0, "\\"], - [35421, 0, "e"], - [35422, 0, "n"], - [35423, 0, "d"], - [35424, 0, "{"], - [35425, 0, "m"], - [35426, 0, "a"], - [35427, 0, "t"], - [35428, 0, "r"], - [35429, 0, "i"], - [35430, 0, "x"], - [35431, 0, "}"], - [35444, 0, "\\"], - [35445, 0, "b"], - [35446, 0, "e"], - [35447, 0, "g"], - [35448, 0, "i"], - [35449, 0, "n"], - [35450, 0, "{"], - [35451, 0, "m"], - [35452, 0, "a"], - [35453, 0, "t"], - [35454, 0, "r"], - [35455, 0, "i"], - [35456, 0, "x"], - [35457, 0, "}"], - [35458, 0, "\n"], - [35459, 0, " "], - [35460, 0, " "], - [35461, 0, " "], - [35462, 0, " "], - [35463, 0, " "], - [35463, 1], - [35538, 0, " "], - [35539, 0, "\\"], - [35540, 0, "\\"], - [35587, 0, " "], - [35588, 0, "\\"], - [35589, 0, "e"], - [35590, 0, "n"], - [35591, 0, "d"], - [35592, 0, "{"], - [35593, 0, "m"], - [35594, 0, "a"], - [35595, 0, "t"], - [35596, 0, "r"], - [35597, 0, "i"], - [35598, 0, "x"], - [35599, 0, "}"], - [35800, 0, "\n"], - [35801, 0, "\n"], - [35802, 0, "\\"], - [35803, 0, "b"], - [35804, 0, "e"], - [35805, 0, "g"], - [35806, 0, "i"], - [35807, 0, "n"], - [35808, 0, "{"], - [35809, 0, "p"], - [35810, 0, "r"], - [35811, 0, "o"], - [35812, 0, "o"], - [35813, 0, "f"], - [35814, 0, "t"], - [35815, 0, "r"], - [35816, 0, "e"], - [35817, 0, "e"], - [35818, 0, "}"], - [35819, 0, "\n"], - [35820, 0, "\\"], - [35821, 0, "e"], - [35822, 0, "n"], - [35823, 0, "d"], - [35824, 0, "{"], - [35825, 0, "p"], - [35826, 0, "r"], - [35827, 0, "o"], - [35828, 0, "o"], - [35829, 0, "f"], - [35830, 0, "t"], - [35831, 0, "r"], - [35832, 0, "e"], - [35833, 0, "e"], - [35834, 0, "}"], - [35819, 0, "\n"], - [35820, 0, "\\"], - [35821, 0, "A"], - [35822, 0, "x"], - [35823, 0, "i"], - [35824, 0, "o"], - [35825, 0, "m"], - [35826, 0, "C"], - [35827, 0, "{"], - [35828, 0, "$"], - [35829, 0, "\\"], - [35830, 0, "m"], - [35831, 0, "a"], - [35832, 0, "t"], - [35833, 0, "h"], - [35834, 0, "i"], - [35835, 0, "t"], - [35836, 0, "{"], - [35837, 0, "d"], - [35838, 0, "o"], - [35839, 0, "n"], - [35840, 0, "e"], - [35841, 0, "}"], - [35842, 0, " "], - [35843, 0, "="], - [35844, 0, " "], - [35845, 0, "\\"], - [35846, 0, "m"], - [35847, 0, "a"], - [35848, 0, "t"], - [35849, 0, "h"], - [35850, 0, "r"], - [35851, 0, "m"], - [35852, 0, "{"], - [35853, 0, "k"], - [35854, 0, "e"], - [35855, 0, "y"], - [35856, 0, "s"], - [35857, 0, "}"], - [35858, 0, "("], - [35859, 0, "\\"], - [35860, 0, "m"], - [35861, 0, "a"], - [35862, 0, "t"], - [35863, 0, "h"], - [35864, 0, "i"], - [35865, 0, "t"], - [35866, 0, "{"], - [35867, 0, "c"], - [35868, 0, "t"], - [35869, 0, "x"], - [35870, 0, "}"], - [35871, 0, ")"], - [35872, 0, "$"], - [35873, 0, "}"], - [35874, 0, "\n"], - [35875, 0, "\\"], - [35876, 0, "L"], - [35877, 0, "e"], - [35878, 0, "f"], - [35879, 0, "t"], - [35880, 0, "L"], - [35881, 0, "a"], - [35882, 0, "b"], - [35883, 0, "e"], - [35884, 0, "l"], - [35885, 0, "{"], - [35886, 0, "$"], - [35887, 0, "\\"], - [35888, 0, "t"], - [35889, 0, "e"], - [35890, 0, "x"], - [35891, 0, "t"], - [35892, 0, "s"], - [35893, 0, "c"], - [35894, 0, "{"], - [35895, 0, "C"], - [35896, 0, "l"], - [35897, 0, "e"], - [35898, 0, "a"], - [35899, 0, "r"], - [35900, 0, "-"], - [35901, 0, "M"], - [35902, 0, "a"], - [35903, 0, "p"], - [35904, 0, "}"], - [35905, 0, "_"], - [35906, 0, "3"], - [35907, 0, "$"], - [35908, 0, "}"], - [35909, 0, "\n"], - [35910, 0, "\\"], - [35911, 0, "U"], - [35912, 0, "n"], - [35913, 0, "a"], - [35914, 0, "r"], - [35915, 0, "y"], - [35916, 0, "I"], - [35917, 0, "n"], - [35918, 0, "f"], - [35919, 0, "C"], - [35920, 0, "{"], - [35921, 0, "$"], - [35922, 0, "\\"], - [35923, 0, "m"], - [35924, 0, "a"], - [35925, 0, "t"], - [35926, 0, "h"], - [35927, 0, "i"], - [35928, 0, "t"], - [35929, 0, "{"], - [35930, 0, "c"], - [35931, 0, "t"], - [35932, 0, "x"], - [35933, 0, "}"], - [35934, 0, ","], - [35935, 0, "\\"], - [35936, 0, ","], - [35937, 0, " "], - [35938, 0, "\\"], - [35939, 0, "m"], - [35940, 0, "a"], - [35941, 0, "t"], - [35942, 0, "h"], - [35943, 0, "s"], - [35944, 0, "f"], - [35945, 0, "{"], - [35946, 0, "c"], - [35947, 0, "l"], - [35948, 0, "e"], - [35949, 0, "a"], - [35950, 0, "r"], - [35951, 0, "M"], - [35952, 0, "a"], - [35953, 0, "p"], - [35954, 0, "}"], - [35955, 0, "("], - [35956, 0, "\\"], - [35957, 0, "m"], - [35958, 0, "a"], - [35959, 0, "t"], - [35960, 0, "h"], - [35961, 0, "i"], - [35962, 0, "t"], - [35963, 0, "{"], - [35964, 0, "d"], - [35965, 0, "e"], - [35966, 0, "p"], - [35967, 0, "s"], - [35968, 0, "}"], - [35969, 0, ","], - [35970, 0, " "], - [35971, 0, "\\"], - [35972, 0, "m"], - [35973, 0, "a"], - [35974, 0, "t"], - [35975, 0, "h"], - [35976, 0, "i"], - [35977, 0, "t"], - [35978, 0, "{"], - [35979, 0, "d"], - [35980, 0, "o"], - [35981, 0, "n"], - [35982, 0, "e"], - [35983, 0, "}"], - [35984, 0, ")"], - [35985, 0, "\n"], - [35986, 0, " "], - [35987, 0, " "], - [35988, 0, " "], - [35989, 0, " "], - [35990, 0, "\\"], - [35991, 0, "e"], - [35992, 0, "v"], - [35993, 0, "a"], - [35994, 0, "l"], - [35995, 0, "t"], - [35996, 0, "o"], - [35997, 0, " "], - [35998, 0, "\\"], - [35999, 0, "m"], - [36000, 0, "a"], - [36001, 0, "t"], - [36002, 0, "h"], - [36003, 0, "i"], - [36004, 0, "t"], - [36005, 0, "{"], - [36006, 0, "c"], - [36007, 0, "t"], - [36008, 0, "x"], - [36009, 0, "}"], - [36010, 0, ","], - [36011, 0, " "], - [36012, 0, "\\"], - [36013, 0, "{"], - [36014, 0, "\\"], - [36015, 0, "}"], - [36016, 0, "$"], - [36017, 0, "}"], - [36011, 0, "\\"], - [36012, 0, ","], - [35989, 1], - [35988, 1], - [35987, 1], - [35986, 1], - [35985, 1], - [35985, 0, " "], - [36368, 1], - [36367, 1], - [36367, 0, "c"], - [36368, 0, "l"], - [36369, 0, "e"], - [36370, 0, "a"], - [36371, 0, "r"], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36374, 1], - [36388, 0, " "], - [36389, 0, "\\"], - [36390, 0, "m"], - [36391, 0, "a"], - [36392, 0, "t"], - [36393, 0, "h"], - [36394, 0, "s"], - [36395, 0, "f"], - [36396, 0, "{"], - [36397, 0, "l"], - [36398, 0, "i"], - [36399, 0, "s"], - [36400, 0, "t"], - [36401, 0, "T"], - [36402, 0, "}"], - [36403, 0, "("], - [36404, 0, "k"], - [36405, 0, ")"], - [36406, 0, ")"], - [36407, 0, " "], - [36408, 0, "\\"], - [36409, 0, "e"], - [36410, 0, "v"], - [36411, 0, "a"], - [36412, 0, "l"], - [36413, 0, "t"], - [36414, 0, "o"], - [36484, 1], - [36483, 1], - [36482, 1], - [36481, 1], - [36480, 1], - [36479, 1], - [36478, 1], - [36477, 1], - [36476, 1], - [36475, 1], - [36474, 1], - [36473, 1], - [36472, 1], - [36471, 1], - [36470, 1], - [36469, 1], - [36468, 1], - [36467, 1], - [36466, 1], - [36465, 1], - [36464, 1], - [36463, 1], - [36462, 1], - [36461, 1], - [36460, 1], - [36459, 1], - [36458, 1], - [36457, 1], - [36456, 1], - [36455, 1], - [36454, 1], - [36453, 1], - [36452, 1], - [36451, 1], - [36450, 1], - [36449, 1], - [36448, 1], - [36447, 1], - [36446, 1], - [36445, 1], - [36444, 1], - [36443, 1], - [36442, 1], - [36441, 1], - [36440, 1], - [36439, 1], - [36438, 1], - [36437, 1], - [36436, 1], - [36435, 1], - [36434, 1], - [36433, 1], - [36432, 1], - [36431, 1], - [36430, 1], - [36429, 1], - [36428, 1], - [36427, 1], - [36426, 1], - [36425, 1], - [36424, 1], - [36423, 1], - [36422, 1], - [36421, 1], - [36420, 1], - [36419, 1], - [36418, 1], - [36417, 1], - [36416, 1], - [36415, 1], - [36164, 1], - [36164, 1], - [36164, 0, "c"], - [36165, 0, "l"], - [36166, 0, "e"], - [36167, 0, "a"], - [36168, 0, "r"], - [36169, 0, "L"], - [36170, 0, "i"], - [36171, 0, "s"], - [36172, 0, "t"], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36175, 1], - [36189, 0, " "], - [36190, 0, "\\"], - [36191, 0, "m"], - [36192, 0, "a"], - [36193, 0, "t"], - [36194, 0, "h"], - [36195, 0, "s"], - [36196, 0, "f"], - [36197, 0, "{"], - [36198, 0, "h"], - [36199, 0, "e"], - [36200, 0, "a"], - [36201, 0, "d"], - [36202, 0, "}"], - [36203, 0, ")"], - [36279, 1], - [36278, 1], - [36277, 1], - [36276, 1], - [36275, 1], - [36274, 1], - [36273, 1], - [36272, 1], - [36271, 1], - [36270, 1], - [36269, 1], - [36268, 1], - [36267, 1], - [36266, 1], - [36265, 1], - [36264, 1], - [36263, 1], - [36262, 1], - [36261, 1], - [36260, 1], - [36259, 1], - [36258, 1], - [36257, 1], - [36256, 1], - [36255, 1], - [36254, 1], - [36253, 1], - [36252, 1], - [36251, 1], - [36250, 1], - [36249, 1], - [36248, 1], - [36247, 1], - [36246, 1], - [36245, 1], - [36244, 1], - [36243, 1], - [36242, 1], - [36241, 1], - [36240, 1], - [36239, 1], - [36238, 1], - [36237, 1], - [36236, 1], - [36235, 1], - [36234, 1], - [36233, 1], - [36232, 1], - [36231, 1], - [36230, 1], - [36229, 1], - [36228, 1], - [36227, 1], - [36226, 1], - [36225, 1], - [36224, 1], - [36223, 1], - [36222, 1], - [36221, 1], - [36220, 1], - [36219, 1], - [36218, 1], - [36217, 1], - [36216, 1], - [36215, 1], - [36214, 1], - [36213, 1], - [36212, 1], - [36211, 1], - [36210, 1], - [36209, 1], - [36233, 0, ","], - [36234, 0, "\\"], - [36235, 0, ","], - [36236, 0, " "], - [36237, 0, "\\"], - [36238, 0, "m"], - [36239, 0, "a"], - [36240, 0, "t"], - [36241, 0, "h"], - [36242, 0, "i"], - [36243, 0, "t"], - [36244, 0, "{"], - [36245, 0, "p"], - [36246, 0, "r"], - [36247, 0, "e"], - [36248, 0, "s"], - [36249, 0, "}"], - [36283, 0, "_"], - [36284, 0, "1"], - [36285, 0, "$"], - [36264, 0, "$"], - [36445, 0, ","], - [36446, 0, "\\"], - [36447, 0, ","], - [36448, 0, " "], - [36449, 0, "\\"], - [36450, 0, "m"], - [36451, 0, "a"], - [36452, 0, "t"], - [36453, 0, "h"], - [36454, 0, "i"], - [36455, 0, "t"], - [36456, 0, "{"], - [36457, 0, "p"], - [36458, 0, "r"], - [36459, 0, "e"], - [36460, 0, "s"], - [36461, 0, "}"], - [36819, 1], - [36819, 0, "2"], - [36816, 1], - [36815, 1], - [36814, 1], - [36813, 1], - [36812, 1], - [36812, 0, "L"], - [36813, 0, "i"], - [36814, 0, "s"], - [36815, 0, "t"], - [36860, 1], - [36860, 1], - [36860, 0, "c"], - [36861, 0, "l"], - [36862, 0, "e"], - [36863, 0, "a"], - [36864, 0, "r"], - [36865, 0, "L"], - [36866, 0, "i"], - [36867, 0, "s"], - [36868, 0, "t"], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36871, 1], - [36885, 0, " "], - [36886, 0, "k"], - [36887, 0, ")"], - [36888, 0, " "], - [36889, 0, "\\"], - [36890, 0, "e"], - [36891, 0, "v"], - [36892, 0, "a"], - [36893, 0, "l"], - [36894, 0, "t"], - [36895, 0, "o"], - [36966, 1], - [36965, 1], - [36964, 1], - [36963, 1], - [36962, 1], - [36961, 1], - [36960, 1], - [36959, 1], - [36958, 1], - [36957, 1], - [36956, 1], - [36955, 1], - [36954, 1], - [36953, 1], - [36952, 1], - [36951, 1], - [36950, 1], - [36949, 1], - [36948, 1], - [36947, 1], - [36946, 1], - [36945, 1], - [36944, 1], - [36943, 1], - [36942, 1], - [36941, 1], - [36940, 1], - [36939, 1], - [36938, 1], - [36937, 1], - [36936, 1], - [36935, 1], - [36934, 1], - [36933, 1], - [36932, 1], - [36931, 1], - [36930, 1], - [36929, 1], - [36928, 1], - [36927, 1], - [36926, 1], - [36925, 1], - [36924, 1], - [36923, 1], - [36922, 1], - [36921, 1], - [36920, 1], - [36919, 1], - [36918, 1], - [36917, 1], - [36916, 1], - [36915, 1], - [36914, 1], - [36913, 1], - [36912, 1], - [36911, 1], - [36910, 1], - [36909, 1], - [36908, 1], - [36907, 1], - [36906, 1], - [36905, 1], - [36904, 1], - [36903, 1], - [36902, 1], - [36901, 1], - [36900, 1], - [36899, 1], - [36898, 1], - [36897, 1], - [36896, 1], - [36964, 1], - [36963, 1], - [36962, 1], - [36961, 1], - [36960, 1], - [36959, 1], - [36958, 1], - [36957, 1], - [36956, 1], - [36955, 1], - [36954, 1], - [36953, 1], - [36952, 1], - [36951, 1], - [36950, 1], - [36949, 1], - [36948, 1], - [36947, 1], - [36946, 1], - [36945, 1], - [36944, 1], - [36943, 1], - [36942, 1], - [36941, 1], - [36940, 1], - [36939, 1], - [36938, 1], - [36937, 1], - [36936, 1], - [36935, 1], - [36934, 1], - [36933, 1], - [36932, 1], - [36931, 1], - [36930, 1], - [36929, 1], - [36928, 1], - [36927, 1], - [36926, 1], - [36925, 1], - [36924, 1], - [36923, 1], - [36922, 1], - [36921, 1], - [36920, 1], - [36919, 1], - [36918, 1], - [36917, 1], - [36916, 1], - [36915, 1], - [36914, 1], - [36914, 0, "'"], - [36915, 0, ","], - [36916, 0, " "], - [36917, 0, "\\"], - [36918, 0, "m"], - [36919, 0, "a"], - [36920, 0, "t"], - [36921, 0, "h"], - [36922, 0, "i"], - [36923, 0, "t"], - [36924, 0, "{"], - [36925, 0, "p"], - [36926, 0, "r"], - [36927, 0, "e"], - [36928, 0, "s"], - [36929, 0, "}"], - [36930, 0, "_"], - [36931, 0, "1"], - [36932, 0, " "], - [36933, 0, "\\"], - [36934, 0, ","], - [36935, 0, "\\"], - [36936, 0, "c"], - [36937, 0, "u"], - [36938, 0, "p"], - [36939, 0, "\\"], - [36940, 0, ","], - [36941, 0, " "], - [36942, 0, "\\"], - [36943, 0, "m"], - [36944, 0, "a"], - [36945, 0, "t"], - [36946, 0, "h"], - [36947, 0, "i"], - [36948, 0, "t"], - [36949, 0, "{"], - [36950, 0, "p"], - [36951, 0, "r"], - [36952, 0, "e"], - [36953, 0, "s"], - [36954, 0, "}"], - [36955, 0, "_"], - [36956, 0, "2"], - [35762, 0, "\\"], - [35763, 0, ","], - [35768, 0, "\\"], - [35769, 0, ","], - [36513, 0, "\\"], - [36514, 0, "b"], - [36515, 0, "e"], - [36516, 0, "g"], - [36517, 0, "i"], - [36518, 0, "n"], - [36519, 0, "{"], - [36520, 0, "m"], - [36521, 0, "a"], - [36522, 0, "t"], - [36523, 0, "r"], - [36524, 0, "i"], - [36525, 0, "x"], - [36526, 0, "}"], - [36527, 0, "\n"], - [36528, 0, " "], - [36529, 0, " "], - [36530, 0, " "], - [36531, 0, " "], - [36553, 0, " "], - [36554, 0, "\\"], - [36555, 0, "\\"], - [36556, 0, "\n"], - [36557, 0, " "], - [36558, 0, " "], - [36559, 0, " "], - [36561, 1], - [36561, 1], - [36560, 1], - [36559, 1], - [36558, 1], - [36557, 1], - [36556, 1], - [36555, 1], - [36555, 0, ","], - [36563, 1], - [36563, 0, "\\"], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36564, 1], - [36565, 1], - [36565, 1], - [36565, 1], - [36565, 1], - [36565, 1], - [36565, 1], - [36565, 1], - [36565, 1], - [36565, 1], - [36565, 0, " "], - [36566, 0, " "], - [36567, 0, " "], - [36568, 0, " "], - [36615, 0, "\n"], - [36616, 0, " "], - [36617, 0, " "], - [36618, 0, " "], - [36619, 0, " "], - [36620, 0, "\\"], - [36621, 0, "e"], - [36622, 0, "n"], - [36623, 0, "d"], - [36624, 0, "{"], - [36625, 0, "m"], - [36626, 0, "a"], - [36627, 0, "t"], - [36628, 0, "r"], - [36629, 0, "i"], - [36630, 0, "x"], - [36631, 0, "}"], - [36632, 0, " "], - [36632, 1], - [36619, 1], - [36618, 1], - [36617, 1], - [36616, 1], - [36615, 1], - [36615, 0, " "], - [36640, 0, "\\"], - [36641, 0, "b"], - [36642, 0, "e"], - [36643, 0, "g"], - [36644, 0, "i"], - [36645, 0, "n"], - [36646, 0, "{"], - [36647, 0, "m"], - [36648, 0, "a"], - [36649, 0, "t"], - [36650, 0, "r"], - [36651, 0, "i"], - [36652, 0, "x"], - [36653, 0, "}"], - [36654, 0, "\n"], - [36655, 0, " "], - [36656, 0, " "], - [36657, 0, " "], - [36658, 0, " "], - [36684, 1], - [36683, 1], - [36683, 0, "c"], - [36684, 0, "l"], - [36685, 0, "e"], - [36686, 0, "a"], - [36687, 0, "r"], - [36688, 0, "L"], - [36688, 1], - [36688, 0, "E"], - [36689, 0, "l"], - [36690, 0, "e"], - [36691, 0, "m"], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36694, 1], - [36708, 0, " "], - [36709, 0, "k"], - [36710, 0, ")"], - [36711, 0, " "], - [36712, 0, "\\"], - [36713, 0, "\\"], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36719, 1], - [36740, 0, ","], - [36741, 0, " "], - [36742, 0, "\\"], - [36743, 0, "m"], - [36744, 0, "a"], - [36745, 0, "t"], - [36746, 0, "h"], - [36747, 0, "i"], - [36748, 0, "t"], - [36749, 0, "{"], - [36750, 0, "p"], - [36751, 0, "r"], - [36752, 0, "e"], - [36753, 0, "s"], - [36754, 0, "}"], - [36755, 0, "_"], - [36756, 0, "1"], - [36757, 0, " "], - [36758, 0, " "], - [36758, 1], - [36758, 0, "\\"], - [36759, 0, "e"], - [36760, 0, "n"], - [36761, 0, "d"], - [36762, 0, "{"], - [36763, 0, "m"], - [36764, 0, "a"], - [36765, 0, "t"], - [36766, 0, "r"], - [36767, 0, "i"], - [36768, 0, "x"], - [36769, 0, "}"], - [36772, 0, "\n"], - [36773, 0, "\\"], - [36774, 0, "A"], - [36775, 0, "x"], - [36776, 0, "i"], - [36777, 0, "o"], - [36778, 0, "m"], - [36779, 0, "C"], - [36780, 0, "{"], - [36781, 0, "$"], - [36782, 0, "\\"], - [36783, 0, "b"], - [36784, 0, "e"], - [36785, 0, "g"], - [36786, 0, "i"], - [36787, 0, "n"], - [36788, 0, "{"], - [36789, 0, "m"], - [36790, 0, "a"], - [36791, 0, "t"], - [36792, 0, "r"], - [36793, 0, "i"], - [36794, 0, "x"], - [36795, 0, "}"], - [36796, 0, "\n"], - [36797, 0, " "], - [36798, 0, " "], - [36799, 0, " "], - [36800, 0, " "], - [36801, 0, "\\"], - [36802, 0, "a"], - [36803, 0, "t"], - [36803, 1], - [36802, 1], - [36802, 0, "m"], - [36803, 0, "a"], - [36804, 0, "t"], - [36805, 0, "h"], - [36806, 0, "i"], - [36807, 0, "t"], - [36808, 0, "{"], - [36809, 0, "c"], - [36810, 0, "t"], - [36811, 0, "x"], - [36812, 0, "}"], - [36813, 0, "'"], - [36814, 0, ","], - [36815, 0, "\\"], - [36816, 0, ","], - [36817, 0, " "], - [36818, 0, "\\"], - [36819, 0, "m"], - [36820, 0, "a"], - [36821, 0, "t"], - [36822, 0, "h"], - [36823, 0, "s"], - [36824, 0, "f"], - [36825, 0, "{"], - [36826, 0, "c"], - [36827, 0, "l"], - [36828, 0, "e"], - [36829, 0, "a"], - [36830, 0, "r"], - [36831, 0, "L"], - [36832, 0, "i"], - [36833, 0, "s"], - [36834, 0, "t"], - [36835, 0, "}"], - [36836, 0, "("], - [36837, 0, "\\"], - [36838, 0, "m"], - [36839, 0, "a"], - [36840, 0, "t"], - [36841, 0, "h"], - [36842, 0, "i"], - [36843, 0, "t"], - [36844, 0, "{"], - [36845, 0, "d"], - [36846, 0, "e"], - [36847, 0, "p"], - [36848, 0, "s"], - [36849, 0, "}"], - [36850, 0, ","], - [36851, 0, " "], - [36852, 0, "\\"], - [36853, 0, "m"], - [36854, 0, "a"], - [36855, 0, "t"], - [36856, 0, "h"], - [36857, 0, "i"], - [36858, 0, "t"], - [36859, 0, "{"], - [36860, 0, "n"], - [36861, 0, "e"], - [36862, 0, "x"], - [36863, 0, "t"], - [36864, 0, "}"], - [36865, 0, ")"], - [36866, 0, " "], - [36867, 0, "\\"], - [36868, 0, "\\"], - [36869, 0, "\n"], - [36870, 0, " "], - [36871, 0, " "], - [36872, 0, " "], - [36873, 0, " "], - [36874, 0, "\\"], - [36875, 0, "e"], - [36876, 0, "v"], - [36877, 0, "a"], - [36878, 0, "l"], - [36879, 0, "t"], - [36880, 0, "o"], - [36881, 0, " "], - [36882, 0, "\\"], - [36883, 0, "m"], - [36884, 0, "a"], - [36885, 0, "t"], - [36886, 0, "h"], - [36887, 0, "i"], - [36888, 0, "t"], - [36889, 0, "{"], - [36890, 0, "c"], - [36891, 0, "t"], - [36892, 0, "x"], - [36893, 0, "}"], - [36894, 0, "'"], - [36895, 0, "'"], - [36896, 0, ","], - [36897, 0, " "], - [36898, 0, "\\"], - [36899, 0, "m"], - [36900, 0, "a"], - [36901, 0, "t"], - [36902, 0, "h"], - [36903, 0, "i"], - [36904, 0, "t"], - [36905, 0, "{"], - [36906, 0, "p"], - [36907, 0, "r"], - [36908, 0, "e"], - [36909, 0, "s"], - [36910, 0, "}"], - [36911, 0, "_"], - [36912, 0, "2"], - [36913, 0, " "], - [36914, 0, "\\"], - [36915, 0, "e"], - [36916, 0, "n"], - [36917, 0, "d"], - [36918, 0, "{"], - [36919, 0, "m"], - [36920, 0, "a"], - [36921, 0, "t"], - [36922, 0, "r"], - [36923, 0, "i"], - [36924, 0, "x"], - [36925, 0, "}"], - [36926, 0, "$"], - [36927, 0, "}"], - [37059, 0, "\\"], - [37060, 0, ","], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37122, 1], - [37195, 1], - [37195, 1], - [37195, 1], - [37195, 1], - [37195, 1], - [37195, 0, "L"], - [37196, 0, "i"], - [37197, 0, "s"], - [37198, 0, "t"], - [37242, 1], - [37241, 1], - [37241, 0, "c"], - [37242, 0, "l"], - [37243, 0, "e"], - [37244, 0, "a"], - [37245, 0, "r"], - [37246, 0, "L"], - [37247, 0, "i"], - [37248, 0, "s"], - [37249, 0, "t"], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37252, 1], - [37266, 0, " "], - [37267, 0, "k"], - [37268, 0, ")"], - [37269, 0, " "], - [37270, 0, "\\"], - [37271, 0, "e"], - [37272, 0, "v"], - [37273, 0, "a"], - [37274, 0, "l"], - [37275, 0, "t"], - [37276, 0, "o"], - [37277, 0, " "], - [37278, 0, "\\"], - [37279, 0, "m"], - [37280, 0, "a"], - [37281, 0, "t"], - [37282, 0, "h"], - [37283, 0, "i"], - [37284, 0, "t"], - [37285, 0, "{"], - [37286, 0, "c"], - [37287, 0, "t"], - [37288, 0, "x"], - [37289, 0, "}"], - [37290, 0, ","], - [37291, 0, "\\"], - [37292, 0, ","], - [37293, 0, " "], - [37294, 0, "\\"], - [37295, 0, "{"], - [37296, 0, "\\"], - [37297, 0, "}"], - [37298, 0, "$"], - [37299, 0, "}"], - [37385, 1], - [37384, 1], - [37383, 1], - [37382, 1], - [37381, 1], - [37380, 1], - [37379, 1], - [37378, 1], - [37377, 1], - [37376, 1], - [37375, 1], - [37374, 1], - [37373, 1], - [37372, 1], - [37371, 1], - [37370, 1], - [37369, 1], - [37368, 1], - [37367, 1], - [37366, 1], - [37365, 1], - [37364, 1], - [37363, 1], - [37362, 1], - [37361, 1], - [37360, 1], - [37359, 1], - [37358, 1], - [37357, 1], - [37356, 1], - [37355, 1], - [37354, 1], - [37353, 1], - [37352, 1], - [37351, 1], - [37350, 1], - [37349, 1], - [37348, 1], - [37347, 1], - [37346, 1], - [37345, 1], - [37344, 1], - [37343, 1], - [37342, 1], - [37341, 1], - [37340, 1], - [37339, 1], - [37338, 1], - [37337, 1], - [37336, 1], - [37335, 1], - [37334, 1], - [37333, 1], - [37332, 1], - [37331, 1], - [37330, 1], - [37329, 1], - [37328, 1], - [37327, 1], - [37326, 1], - [37325, 1], - [37324, 1], - [37323, 1], - [37322, 1], - [37321, 1], - [37320, 1], - [37319, 1], - [37318, 1], - [37317, 1], - [37316, 1], - [37315, 1], - [37314, 1], - [37313, 1], - [37312, 1], - [37311, 1], - [37310, 1], - [37309, 1], - [37308, 1], - [37307, 1], - [37306, 1], - [37305, 1], - [37304, 1], - [37303, 1], - [37302, 1], - [37301, 1], - [37300, 1], - [37336, 0, "d"], - [37337, 0, "e"], - [37338, 0, "l"], - [37339, 0, "e"], - [37340, 0, "t"], - [37341, 0, "i"], - [37342, 0, "n"], - [37343, 0, "g"], - [37344, 0, " "], - [37345, 0, "a"], - [37346, 0, "n"], - [37347, 0, "d"], - [37348, 0, " "], - [37357, 0, " "], - [37358, 0, "s"], - [37359, 0, "t"], - [37360, 0, "a"], - [37361, 0, "t"], - [37362, 0, "e"], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [37403, 1], - [24709, 0, "M"], - [24710, 0, "a"], - [24711, 0, "k"], - [24712, 0, "e"], - [24713, 0, "-"], - [24731, 0, "M"], - [24732, 0, "a"], - [24733, 0, "k"], - [24734, 0, "e"], - [24735, 0, "-"], - [24756, 0, "M"], - [24757, 0, "a"], - [24758, 0, "k"], - [24759, 0, "e"], - [24760, 0, "-"], - [22679, 0, "M"], - [22680, 0, "a"], - [22681, 0, "k"], - [22682, 0, "e"], - [22683, 0, "-"], - [22405, 0, "M"], - [22406, 0, "a"], - [22407, 0, "k"], - [22408, 0, "e"], - [22409, 0, "-"], - [22080, 0, "M"], - [22081, 0, "a"], - [22082, 0, "k"], - [22083, 0, "e"], - [22084, 0, "-"], - [21964, 1], - [21963, 1], - [21962, 1], - [21961, 1], - [21960, 1], - [21959, 1], - [21958, 1], - [21957, 1], - [21956, 1], - [21955, 1], - [21954, 1], - [21953, 1], - [21952, 1], - [21951, 1], - [21950, 1], - [21949, 1], - [21948, 1], - [21947, 1], - [21946, 1], - [21945, 1], - [21944, 1], - [21943, 1], - [21942, 1], - [21941, 1], - [21940, 1], - [21939, 1], - [21938, 1], - [21937, 1], - [21936, 1], - [21935, 1], - [21934, 1], - [21933, 1], - [21932, 1], - [21931, 1], - [21930, 1], - [21929, 1], - [21928, 1], - [21927, 1], - [21926, 1], - [21925, 1], - [21924, 1], - [21923, 1], - [21922, 1], - [21921, 1], - [21920, 1], - [21919, 1], - [21918, 1], - [21917, 1], - [21916, 1], - [21915, 1], - [21914, 1], - [21913, 1], - [21912, 1], - [21911, 1], - [21910, 1], - [21909, 1], - [21908, 1], - [21907, 1], - [21906, 1], - [21905, 1], - [21904, 1], - [21903, 1], - [21902, 1], - [21901, 1], - [21900, 1], - [21899, 1], - [21898, 1], - [21897, 1], - [21896, 1], - [21895, 1], - [21894, 1], - [21893, 1], - [21892, 1], - [21891, 1], - [21890, 1], - [21889, 1], - [21888, 1], - [21887, 1], - [21886, 1], - [21885, 1], - [21884, 1], - [21883, 1], - [21882, 1], - [21881, 1], - [21880, 1], - [21879, 1], - [21878, 1], - [21877, 1], - [21876, 1], - [21875, 1], - [21874, 1], - [21873, 1], - [21872, 1], - [21871, 1], - [21870, 1], - [21869, 1], - [21868, 1], - [21867, 1], - [21866, 1], - [21865, 1], - [21864, 1], - [21863, 1], - [21863, 1], - [3797, 0, "\n"], - [3797, 0, "&"], - [3798, 0, " "], - [3799, 0, "$"], - [3800, 0, "|"], - [3801, 0, "$"], - [3802, 0, " "], - [3803, 0, "&"], - [3804, 0, " "], - [3805, 0, "E"], - [3806, 0, "X"], - [3807, 0, "P"], - [3808, 0, "R"], - [3809, 0, "."], - [3810, 0, "\\"], - [3811, 0, "t"], - [3812, 0, "e"], - [3813, 0, "x"], - [3814, 0, "t"], - [3815, 0, "s"], - [3816, 0, "f"], - [3817, 0, "{"], - [3818, 0, "k"], - [3819, 0, "e"], - [3820, 0, "y"], - [3821, 0, "s"], - [3822, 0, "}"], - [3823, 0, " "], - [3824, 0, "\\"], - [3825, 0, "\\"], - [3682, 1], - [3681, 1], - [3680, 1], - [3679, 1], - [3678, 1], - [3677, 1], - [3676, 1], - [3675, 1], - [3674, 1], - [3673, 1], - [3672, 1], - [3671, 1], - [3670, 1], - [3669, 1], - [3669, 0, "["], - [3682, 1], - [3682, 0, "]"], - [4302, 1], - [4301, 1], - [4300, 1], - [4299, 1], - [4298, 1], - [4298, 0, "["], - [4309, 1], - [4309, 0, "]"], - [3681, 1], - [3680, 1], - [3679, 1], - [3678, 1], - [3677, 1], - [3676, 1], - [3675, 1], - [3674, 1], - [3673, 1], - [3672, 1], - [3671, 1], - [3671, 0, "v"], - [3672, 0, "e"], - [3673, 0, "r"], - [3674, 0, "b"], - [3675, 0, "|"], - [3676, 0, "\""], - [3677, 0, "s"], - [3678, 0, "t"], - [3679, 0, "r"], - [3680, 0, "\""], - [3681, 0, "|"], - [3693, 1], - [3692, 1], - [3692, 0, "t"], - [3693, 0, "t"], - [3677, 1], - [3677, 1], - [3677, 1], - [3677, 0, "k"], - [3678, 0, "e"], - [3679, 0, "y"], - [5698, 0, " "], - [5699, 0, "\\"], - [5700, 0, "t"], - [5701, 0, "e"], - [5702, 0, "x"], - [5703, 0, "t"], - [5704, 0, "s"], - [5705, 0, "f"], - [5706, 0, "{"], - [5707, 0, "k"], - [5708, 0, "e"], - [5709, 0, "y"], - [5710, 0, "s"], - [5711, 0, "}"], - [5712, 0, " "], - [5713, 0, "r"], - [5714, 0, "e"], - [5715, 0, "t"], - [5716, 0, "u"], - [5717, 0, "r"], - [5718, 0, "n"], - [5719, 0, "s"], - [5720, 0, " "], - [5721, 0, "t"], - [5722, 0, "h"], - [5723, 0, "e"], - [5724, 0, " "], - [5725, 0, "s"], - [5726, 0, "e"], - [5727, 0, "t"], - [5728, 0, " "], - [5729, 0, "o"], - [5730, 0, "f"], - [5731, 0, " "], - [5732, 0, "k"], - [5733, 0, "e"], - [5734, 0, "y"], - [5735, 0, "s"], - [5736, 0, " "], - [5737, 0, "i"], - [5738, 0, "n"], - [5739, 0, " "], - [5740, 0, "a"], - [5741, 0, " "], - [5742, 0, "m"], - [5743, 0, "a"], - [5744, 0, "p"], - [5745, 0, ","], - [10517, 1], - [10516, 1], - [10515, 1], - [10514, 1], - [10513, 1], - [10512, 1], - [10512, 0, "p"], - [10513, 0, "r"], - [10514, 0, "o"], - [10515, 0, "o"], - [10516, 0, "f"], - [10517, 0, "t"], - [10518, 0, "r"], - [10519, 0, "e"], - [10520, 0, "e"], - [10763, 1], - [10762, 1], - [10761, 1], - [10760, 1], - [10759, 1], - [10758, 1], - [10757, 1], - [10756, 1], - [10755, 1], - [10754, 1], - [10753, 1], - [10752, 1], - [10751, 1], - [10750, 1], - [10749, 1], - [10748, 1], - [10747, 1], - [10746, 1], - [10746, 0, "e"], - [10747, 0, "n"], - [10748, 0, "d"], - [10749, 0, "{"], - [10750, 0, "p"], - [10751, 0, "r"], - [10752, 0, "o"], - [10753, 0, "o"], - [10754, 0, "f"], - [10755, 0, "t"], - [10756, 0, "r"], - [10757, 0, "e"], - [10758, 0, "e"], - [10759, 0, "}"], - [10761, 1], - [10761, 0, "\n"], - [10762, 0, "\\"], - [10763, 0, "b"], - [10764, 0, "e"], - [10765, 0, "g"], - [10766, 0, "i"], - [10767, 0, "n"], - [10768, 0, "{"], - [10769, 0, "p"], - [10770, 0, "r"], - [10771, 0, "o"], - [10772, 0, "o"], - [10773, 0, "f"], - [10774, 0, "t"], - [10775, 0, "r"], - [10776, 0, "e"], - [10777, 0, "e"], - [10778, 0, "}"], - [11076, 1], - [11075, 1], - [11074, 1], - [11073, 1], - [11072, 1], - [11071, 1], - [11070, 1], - [11069, 1], - [11068, 1], - [11067, 1], - [11066, 1], - [11065, 1], - [11064, 1], - [11063, 1], - [11062, 1], - [11061, 1], - [11060, 1], - [11059, 1], - [11058, 1], - [11057, 1], - [11056, 1], - [11055, 1], - [11054, 1], - [11053, 1], - [11052, 1], - [11051, 1], - [11050, 1], - [11049, 1], - [11048, 1], - [11047, 1], - [10883, 0, " "], - [10884, 0, "\\"], - [10885, 0, ","], - [10886, 0, "\\"], - [10887, 0, "w"], - [10888, 0, "e"], - [10889, 0, "d"], - [10890, 0, "g"], - [10891, 0, "e"], - [10892, 0, "\\"], - [10893, 0, ","], - [10894, 0, " "], - [10895, 0, "k"], - [10896, 0, "'"], - [10897, 0, " "], - [10898, 0, "\\"], - [10899, 0, "n"], - [10900, 0, "o"], - [10901, 0, "t"], - [10902, 0, "="], - [10903, 0, " "], - [10904, 0, "\\"], - [10905, 0, "m"], - [10906, 0, "a"], - [10907, 0, "t"], - [10908, 0, "h"], - [10909, 0, "s"], - [10910, 0, "f"], - [10911, 0, "{"], - [10912, 0, "t"], - [10913, 0, "a"], - [10914, 0, "i"], - [10915, 0, "l"], - [10916, 0, "}"], - [10919, 0, "\n"], - [10920, 0, "\\"], - [10921, 0, "A"], - [10922, 0, "x"], - [10923, 0, "o"], - [10923, 1], - [10923, 0, "i"], - [10924, 0, "o"], - [10925, 0, "m"], - [10926, 0, "C"], - [10927, 0, "{"], - [10928, 0, "$"], - [10929, 0, "\\"], - [10930, 0, "m"], - [10931, 0, "a"], - [10932, 0, "t"], - [10933, 0, "h"], - [10934, 0, "i"], - [10935, 0, "t"], - [10936, 0, "{"], - [10937, 0, "c"], - [10938, 0, "t"], - [10939, 0, "x"], - [10940, 0, "}"], - [10941, 0, "("], - [10942, 0, "\\"], - [10943, 0, "m"], - [10944, 0, "a"], - [10945, 0, "t"], - [10946, 0, "h"], - [10947, 0, "s"], - [10948, 0, "f"], - [10949, 0, "{"], - [10950, 0, "p"], - [10951, 0, "r"], - [10952, 0, "e"], - [10953, 0, "s"], - [10954, 0, "}"], - [10955, 0, "("], - [10956, 0, "k"], - [10957, 0, ")"], - [10958, 0, ")"], - [10959, 0, " "], - [10960, 0, "\\"], - [10961, 0, "n"], - [10962, 0, "o"], - [10963, 0, "t"], - [10964, 0, "="], - [10965, 0, " "], - [10966, 0, "\\"], - [10967, 0, "{"], - [10968, 0, "\\"], - [10969, 0, "}"], - [10970, 0, "$"], - [10971, 0, "}"], - [11004, 1], - [11004, 0, "T"], - [11005, 0, "r"], - [11146, 1], - [11145, 1], - [11144, 1], - [11143, 1], - [11142, 1], - [11141, 1], - [11141, 0, "p"], - [11142, 0, "r"], - [11143, 0, "o"], - [11144, 0, "o"], - [11145, 0, "f"], - [11146, 0, "t"], - [11147, 0, "r"], - [11148, 0, "e"], - [11149, 0, "e"], - [10837, 1], - [10836, 1], - [10835, 1], - [10834, 1], - [10833, 1], - [10832, 1], - [10831, 1], - [10830, 1], - [10829, 1], - [10828, 1], - [10827, 1], - [10826, 1], - [10825, 1], - [10824, 1], - [10823, 1], - [10822, 1], - [10821, 1], - [10820, 1], - [10819, 1], - [10818, 1], - [10817, 1], - [10816, 1], - [10815, 1], - [10814, 1], - [10813, 1], - [10812, 1], - [10811, 1], - [10810, 1], - [10809, 1], - [10808, 1], - [10807, 1], - [10806, 1], - [10805, 1], - [10804, 1], - [10803, 1], - [10802, 1], - [10801, 1], - [10800, 1], - [10799, 1], - [10798, 1], - [10797, 1], - [10796, 1], - [10795, 1], - [10794, 1], - [10793, 1], - [10792, 1], - [10791, 1], - [10790, 1], - [10789, 1], - [10788, 1], - [10787, 1], - [10786, 1], - [10785, 1], - [10784, 1], - [10783, 1], - [10782, 1], - [10781, 1], - [10780, 1], - [10779, 1], - [10945, 1], - [10945, 1], - [10945, 0, "B"], - [11091, 0, "\n"], - [11092, 0, "\n"], - [11093, 0, "\\"], - [11094, 0, "b"], - [11095, 0, "e"], - [11096, 0, "g"], - [11097, 0, "i"], - [11098, 0, "n"], - [11099, 0, "{"], - [11100, 0, "p"], - [11101, 0, "r"], - [11102, 0, "o"], - [11103, 0, "o"], - [11104, 0, "f"], - [11105, 0, "t"], - [11106, 0, "r"], - [11107, 0, "e"], - [11108, 0, "e"], - [11109, 0, "\\"], - [11109, 1], - [11109, 0, "}"], - [11110, 0, "\n"], - [11111, 0, "\\"], - [11112, 0, "e"], - [11113, 0, "n"], - [11114, 0, "d"], - [11115, 0, "{"], - [11116, 0, "p"], - [11117, 0, "r"], - [11118, 0, "o"], - [11119, 0, "o"], - [11120, 0, "f"], - [11121, 0, "t"], - [11122, 0, "r"], - [11123, 0, "e"], - [11124, 0, "e"], - [11125, 0, "}"], - [11110, 0, "\n"], - [11111, 0, "\\"], - [11112, 0, "A"], - [11113, 0, "x"], - [11114, 0, "i"], - [11115, 0, "o"], - [11116, 0, "m"], - [11117, 0, "C"], - [11118, 0, "{"], - [11119, 0, "$"], - [11120, 0, "\\"], - [11121, 0, "m"], - [11122, 0, "a"], - [11123, 0, "t"], - [11124, 0, "h"], - [11125, 0, "i"], - [11126, 0, "t"], - [11127, 0, "{"], - [11128, 0, "c"], - [11129, 0, "t"], - [11130, 0, "x"], - [11131, 0, "}"], - [11132, 0, "("], - [11133, 0, "\\"], - [11134, 0, "m"], - [11135, 0, "a"], - [11136, 0, "t"], - [11137, 0, "h"], - [11138, 0, "s"], - [11139, 0, "f"], - [11140, 0, "{"], - [11141, 0, "n"], - [11142, 0, "e"], - [11143, 0, "x"], - [11144, 0, "t"], - [11145, 0, "}"], - [11146, 0, "("], - [11147, 0, "k"], - [11148, 0, ")"], - [11149, 0, ")"], - [11150, 0, " "], - [11151, 0, "="], - [11152, 0, " "], - [11153, 0, "k"], - [11154, 0, "'"], - [11155, 0, " "], - [11156, 0, "\\"], - [11157, 0, ","], - [11158, 0, "\\"], - [11159, 0, "w"], - [11160, 0, "e"], - [11161, 0, "d"], - [11162, 0, "g"], - [11163, 0, "e"], - [11164, 0, "\\"], - [11165, 0, ","], - [11166, 0, " "], - [11167, 0, "k"], - [11168, 0, "'"], - [11169, 0, " "], - [11170, 0, "\\"], - [11171, 0, "n"], - [11172, 0, "o"], - [11173, 0, "t"], - [11174, 0, "="], - [11175, 0, " "], - [11176, 0, "\\"], - [11177, 0, "m"], - [11178, 0, "a"], - [11179, 0, "t"], - [11180, 0, "h"], - [11181, 0, "s"], - [11182, 0, "f"], - [11183, 0, "{"], - [11184, 0, "t"], - [11185, 0, "a"], - [11186, 0, "i"], - [11187, 0, "l"], - [11188, 0, "}"], - [11189, 0, "$"], - [11190, 0, "}"], - [11191, 0, "\n"], - [11192, 0, "\\"], - [11193, 0, "A"], - [11194, 0, "x"], - [11195, 0, "i"], - [11196, 0, "o"], - [11197, 0, "m"], - [11198, 0, "C"], - [11199, 0, "{"], - [11200, 0, "$"], - [11201, 0, "\\"], - [11202, 0, "m"], - [11203, 0, "a"], - [11204, 0, "t"], - [11205, 0, "h"], - [11206, 0, "i"], - [11207, 0, "t"], - [11208, 0, "{"], - [11209, 0, "c"], - [11210, 0, "t"], - [11211, 0, "x"], - [11212, 0, "}"], - [11213, 0, "("], - [11214, 0, "\\"], - [11215, 0, "m"], - [11216, 0, "a"], - [11217, 0, "t"], - [11218, 0, "h"], - [11219, 0, "s"], - [11220, 0, "f"], - [11221, 0, "{"], - [11222, 0, "p"], - [11223, 0, "r"], - [11224, 0, "e"], - [11225, 0, "s"], - [11226, 0, "}"], - [11227, 0, "("], - [11228, 0, "k"], - [11229, 0, ")"], - [11230, 0, ")"], - [11231, 0, " "], - [11232, 0, "="], - [11233, 0, " "], - [11234, 0, "\\"], - [11235, 0, "{"], - [11236, 0, "\\"], - [11237, 0, "}"], - [11238, 0, "$"], - [11239, 0, "}"], - [11240, 0, "\n"], - [11241, 0, "\\"], - [11242, 0, "L"], - [11243, 0, "e"], - [11244, 0, "f"], - [11245, 0, "t"], - [11246, 0, "L"], - [11247, 0, "a"], - [11248, 0, "b"], - [11249, 0, "e"], - [11250, 0, "l"], - [11251, 0, "{"], - [11252, 0, "$"], - [11253, 0, "\\"], - [11254, 0, "t"], - [11255, 0, "e"], - [11256, 0, "x"], - [11257, 0, "t"], - [11258, 0, "s"], - [11259, 0, "c"], - [11260, 0, "{"], - [11261, 0, "N"], - [11262, 0, "e"], - [11263, 0, "x"], - [11264, 0, "t"], - [11265, 0, "}"], - [11266, 0, "_"], - [11267, 0, "3"], - [11268, 0, "#"], - [11268, 1], - [11268, 0, "$"], - [11269, 0, "}"], - [11270, 0, "\n"], - [11240, 0, "\n"], - [11241, 0, "\\"], - [11242, 0, "A"], - [11243, 0, "x"], - [11244, 0, "i"], - [11245, 0, "o"], - [11246, 0, "m"], - [11247, 0, "C"], - [11248, 0, "{"], - [11249, 0, "$"], - [11250, 0, "\\"], - [11251, 0, "m"], - [11252, 0, "a"], - [11253, 0, "t"], - [11254, 0, "h"], - [11255, 0, "i"], - [11256, 0, "t"], - [11257, 0, "{"], - [11258, 0, "c"], - [11259, 0, "t"], - [11260, 0, "x"], - [11261, 0, "}"], - [11262, 0, ","], - [11263, 0, "\\"], - [11264, 0, ","], - [11265, 0, " "], - [11266, 0, "\\"], - [11267, 0, "m"], - [11268, 0, "a"], - [11269, 0, "t"], - [11270, 0, "h"], - [11271, 0, "s"], - [11272, 0, "f"], - [11273, 0, "{"], - [11274, 0, "c"], - [11275, 0, "u"], - [11276, 0, "r"], - [11277, 0, "s"], - [11278, 0, "o"], - [11279, 0, "r"], - [11280, 0, "}"], - [11281, 0, "("], - [11282, 0, "\\"], - [11283, 0, "l"], - [11284, 0, "a"], - [11285, 0, "n"], - [11286, 0, "g"], - [11287, 0, "l"], - [11288, 0, "e"], - [11289, 0, "\\"], - [11290, 0, "r"], - [11291, 0, "a"], - [11292, 0, "n"], - [11293, 0, "g"], - [11294, 0, "l"], - [11295, 0, "e"], - [11296, 0, ","], - [11297, 0, "\\"], - [11298, 0, ","], - [11299, 0, " "], - [11300, 0, "k"], - [11301, 0, "'"], - [11302, 0, ")"], - [11303, 0, "."], - [11304, 0, "\\"], - [11305, 0, "m"], - [11306, 0, "a"], - [11307, 0, "t"], - [11308, 0, "h"], - [11309, 0, "s"], - [11310, 0, "f"], - [11311, 0, "{"], - [11312, 0, "n"], - [11313, 0, "e"], - [11314, 0, "x"], - [11315, 0, "t"], - [11316, 0, "}"], - [11317, 0, " "], - [11318, 0, "\\"], - [11319, 0, "e"], - [11320, 0, "v"], - [11321, 0, "a"], - [11322, 0, "l"], - [11323, 0, "t"], - [11324, 0, "o"], - [11325, 0, " "], - [11326, 0, "\\"], - [11327, 0, "m"], - [11328, 0, "a"], - [11329, 0, "t"], - [11330, 0, "h"], - [11331, 0, "i"], - [11332, 0, "t"], - [11333, 0, "{"], - [11334, 0, "c"], - [11335, 0, "u"], - [11336, 0, "r"], - [11337, 0, "}"], - [11338, 0, "'"], - [11339, 0, "$"], - [11340, 0, "}"], - [11372, 0, "\\"], - [11373, 0, "T"], - [11374, 0, "r"], - [11375, 0, "i"], - [11376, 0, "n"], - [11377, 0, "a"], - [11378, 0, "r"], - [11379, 0, "y"], - [11380, 0, "I"], - [11381, 0, "n"], - [11382, 0, "f"], - [11383, 0, "C"], - [11384, 0, "{"], - [11385, 0, "$"], - [11386, 0, "\\"], - [11387, 0, "m"], - [11388, 0, "a"], - [11389, 0, "t"], - [11390, 0, "h"], - [11391, 0, "i"], - [11392, 0, "t"], - [11393, 0, "{"], - [11394, 0, "c"], - [11395, 0, "t"], - [11396, 0, "x"], - [11397, 0, "}"], - [11398, 0, ","], - [11399, 0, "\\"], - [11400, 0, ","], - [11401, 0, " "], - [11402, 0, "\\"], - [11403, 0, "m"], - [11404, 0, "a"], - [11405, 0, "t"], - [11406, 0, "h"], - [11407, 0, "s"], - [11408, 0, "f"], - [11409, 0, "{"], - [11410, 0, "c"], - [11411, 0, "u"], - [11412, 0, "r"], - [11413, 0, "s"], - [11414, 0, "o"], - [11415, 0, "r"], - [11416, 0, "}"], - [11417, 0, "("], - [11418, 0, "\\"], - [11419, 0, "l"], - [11420, 0, "a"], - [11421, 0, "n"], - [11422, 0, "g"], - [11423, 0, "l"], - [11424, 0, "e"], - [11425, 0, "\\"], - [11426, 0, "r"], - [11427, 0, "a"], - [11428, 0, "n"], - [11429, 0, "g"], - [11430, 0, "l"], - [11431, 0, "e"], - [11432, 0, ","], - [11433, 0, "\\"], - [11434, 0, ","], - [11435, 0, " "], - [11436, 0, "k"], - [11437, 0, ")"], - [11438, 0, "."], - [11439, 0, "\\"], - [11440, 0, "m"], - [11441, 0, "a"], - [11442, 0, "t"], - [11443, 0, "h"], - [11444, 0, "s"], - [11445, 0, "f"], - [11446, 0, "{"], - [11447, 0, "n"], - [11448, 0, "e"], - [11449, 0, "x"], - [11450, 0, "t"], - [11451, 0, "}"], - [11452, 0, " "], - [11453, 0, "\\"], - [11454, 0, "e"], - [11455, 0, "v"], - [11456, 0, "a"], - [11457, 0, "l"], - [11458, 0, "t"], - [11459, 0, "o"], - [11460, 0, " "], - [11461, 0, "\\"], - [11462, 0, "m"], - [11463, 0, "a"], - [11464, 0, "t"], - [11465, 0, "h"], - [11466, 0, "i"], - [11467, 0, "t"], - [11468, 0, "{"], - [11469, 0, "c"], - [11470, 0, "u"], - [11471, 0, "r"], - [11472, 0, "}"], - [11473, 0, "\""], - [11473, 1], - [11473, 0, "'"], - [11474, 0, "$"], - [11475, 0, "}"], - [11763, 1], - [11763, 0, "4"], - [11229, 0, "'"], - [10898, 0, "'"], - [11972, 0, "\n"], - [11973, 0, "\n"], - [11974, 0, "\\"], - [11975, 0, "["], - [11976, 0, " "], - [11977, 0, "\\"], - [11978, 0, "m"], - [11979, 0, "a"], - [11980, 0, "t"], - [11981, 0, "h"], - [11982, 0, "r"], - [11983, 0, "m"], - [11984, 0, "{"], - [11985, 0, "k"], - [11986, 0, "e"], - [11987, 0, "y"], - [11988, 0, "s"], - [11989, 0, "}"], - [11990, 0, "("], - [11991, 0, "\\"], - [11992, 0, "m"], - [11993, 0, "a"], - [11994, 0, "t"], - [11995, 0, "h"], - [11996, 0, "i"], - [11997, 0, "t"], - [11998, 0, "{"], - [11999, 0, "c"], - [12000, 0, "t"], - [12001, 0, "x"], - [12002, 0, "}"], - [12003, 0, ")"], - [12004, 0, " "], - [12005, 0, "="], - [12006, 0, " "], - [12007, 0, "\\"], - [12008, 0, "{"], - [12009, 0, "\\"], - [12010, 0, ";"], - [12011, 0, "\n"], - [12012, 0, "\\"], - [12013, 0, ";"], - [12014, 0, "\\"], - [12015, 0, "}"], - [12016, 0, " "], - [12017, 0, "\\"], - [12018, 0, "]"], - [12011, 0, "\n"], - [12012, 0, " "], - [12013, 0, " "], - [12014, 0, " "], - [12015, 0, " "], - [12016, 0, "k"], - [12017, 0, " "], - [12018, 0, "\\"], - [12019, 0, "m"], - [12020, 0, "i"], - [12021, 0, "d"], - [12022, 0, " "], - [12023, 0, "\\"], - [12024, 0, "m"], - [12025, 0, "a"], - [12026, 0, "t"], - [12027, 0, "h"], - [12028, 0, "s"], - [12029, 0, "f"], - [12030, 0, "{"], - [12031, 0, "l"], - [12032, 0, "i"], - [12032, 1], - [12031, 1], - [12030, 1], - [12030, 0, "m"], - [12030, 1], - [12030, 0, "{"], - [12031, 0, "m"], - [12032, 0, "a"], - [12033, 0, "p"], - [12034, 0, "T"], - [12035, 0, "}"], - [12036, 0, "("], - [12037, 0, "k"], - [12038, 0, ")"], - [12039, 0, " "], - [12040, 0, "\\"], - [12041, 0, "i"], - [12042, 0, "n"], - [12043, 0, " "], - [12044, 0, "\\"], - [12045, 0, "m"], - [12046, 0, "a"], - [12047, 0, "t"], - [12048, 0, "h"], - [12049, 0, "r"], - [12050, 0, "m"], - [12051, 0, "{"], - [12052, 0, "d"], - [12053, 0, "o"], - [12054, 0, "m"], - [12055, 0, "}"], - [12056, 0, "("], - [12057, 0, "c"], - [12058, 0, "t"], - [12059, 0, "x"], - [12060, 0, ")"], - [12061, 0, " "], - [12062, 0, "\\"], - [12063, 0, ","], - [12064, 0, "\\"], - [12065, 0, "v"], - [12066, 0, "e"], - [12067, 0, "e"], - [12068, 0, "\\"], - [12069, 0, ","], - [12070, 0, " "], - [12070, 1], - [12015, 1], - [12014, 1], - [12013, 1], - [12012, 1], - [12011, 1], - [12011, 0, " "], - [12018, 0, "\n"], - [12019, 0, " "], - [12020, 0, " "], - [12021, 0, " "], - [12070, 0, "\n"], - [12071, 0, " "], - [12072, 0, " "], - [12073, 0, " "], - [12074, 0, " "], - [12075, 0, "\\"], - [12076, 0, "m"], - [12077, 0, "a"], - [12078, 0, "t"], - [12079, 0, "h"], - [12080, 0, "s"], - [12081, 0, "f"], - [12082, 0, "{"], - [12083, 0, "l"], - [12084, 0, "i"], - [12085, 0, "s"], - [12086, 0, "t"], - [12087, 0, "T"], - [12088, 0, "}"], - [12089, 0, "("], - [12090, 0, "k"], - [12091, 0, ")"], - [12092, 0, " "], - [12093, 0, "\\"], - [12094, 0, "i"], - [12095, 0, "n"], - [12096, 0, " "], - [12097, 0, "\\"], - [12098, 0, "m"], - [12099, 0, "a"], - [12100, 0, "t"], - [12101, 0, "h"], - [12102, 0, "r"], - [12103, 0, "m"], - [12104, 0, "{"], - [12105, 0, "d"], - [12106, 0, "o"], - [12107, 0, "m"], - [12108, 0, "}"], - [12109, 0, "("], - [12110, 0, "c"], - [12111, 0, "t"], - [12112, 0, "x"], - [12113, 0, ")"], - [12114, 0, " "], - [12115, 0, "\\"], - [12116, 0, ","], - [12117, 0, "\\"], - [12118, 0, "v"], - [12119, 0, "e"], - [12120, 0, "e"], - [12121, 0, "\\"], - [12122, 0, ","], - [12123, 0, "\n"], - [12124, 0, " "], - [12125, 0, " "], - [12126, 0, " "], - [12127, 0, " "], - [12128, 0, "\\"], - [12129, 0, "m"], - [12130, 0, "a"], - [12131, 0, "t"], - [12132, 0, "h"], - [12133, 0, "s"], - [12134, 0, "f"], - [12135, 0, "{"], - [12136, 0, "r"], - [12137, 0, "e"], - [12138, 0, "g"], - [12139, 0, "T"], - [12140, 0, "}"], - [12141, 0, "("], - [12142, 0, "k"], - [12143, 0, ")"], - [12144, 0, " "], - [12145, 0, "\\"], - [12146, 0, "i"], - [12147, 0, "n"], - [12148, 0, " "], - [12149, 0, "\\"], - [12150, 0, "m"], - [12151, 0, "a"], - [12152, 0, "t"], - [12153, 0, "h"], - [12154, 0, "r"], - [12155, 0, "m"], - [12156, 0, "{"], - [12157, 0, "d"], - [12158, 0, "o"], - [12159, 0, "m"], - [12160, 0, "}"], - [12161, 0, "("], - [12162, 0, "c"], - [12163, 0, "t"], - [12164, 0, "x"], - [12165, 0, ")"], - [12174, 0, "\n"], - [12175, 0, "\n"], - [12176, 0, "\\"], - [12177, 0, "m"], - [12178, 0, "a"], - [12179, 0, "t"], - [12180, 0, "h"], - [12181, 0, "s"], - [12182, 0, "f"], - [12183, 0, "{"], - [12184, 0, "o"], - [12185, 0, "r"], - [12185, 1], - [12184, 1], - [12183, 1], - [12182, 1], - [12181, 1], - [12180, 1], - [12179, 1], - [12178, 1], - [12177, 1], - [12177, 0, "b"], - [12178, 0, "e"], - [12179, 0, "g"], - [12180, 0, "i"], - [12181, 0, "n"], - [12182, 0, "{"], - [12183, 0, "p"], - [12184, 0, "r"], - [12185, 0, "o"], - [12186, 0, "o"], - [12187, 0, "f"], - [12188, 0, "t"], - [12189, 0, "r"], - [12190, 0, "e"], - [12191, 0, "e"], - [12192, 0, "\\"], - [12193, 0, "="], - [12193, 1], - [12192, 1], - [12192, 0, "}"], - [12193, 0, "\n"], - [12194, 0, "\\"], - [12195, 0, "A"], - [12196, 0, "x"], - [12197, 0, "i"], - [12198, 0, "o"], - [12199, 0, "m"], - [12200, 0, "C"], - [12201, 0, "{"], - [12202, 0, "$"], - [12203, 0, "A"], - [12204, 0, "_"], - [12205, 0, "p"], - [12206, 0, ","], - [12207, 0, "\\"], - [12208, 0, ","], - [12209, 0, " "], - [12210, 0, "\\"], - [12211, 0, "m"], - [12212, 0, "a"], - [12213, 0, "t"], - [12214, 0, "h"], - [12215, 0, "i"], - [12216, 0, "t"], - [12217, 0, "{"], - [12218, 0, "e"], - [12219, 0, "x"], - [12220, 0, "p"], - [12221, 0, "r"], - [12222, 0, "}"], - [12223, 0, " "], - [12224, 0, "\\"], - [12225, 0, "e"], - [12226, 0, "v"], - [12227, 0, "a"], - [12228, 0, "l"], - [12229, 0, "t"], - [12230, 0, "o"], - [12231, 0, " "], - [12232, 0, "\\"], - [12233, 0, "m"], - [12234, 0, "a"], - [12235, 0, "t"], - [12236, 0, "h"], - [12237, 0, "i"], - [12238, 0, "t"], - [12239, 0, "{"], - [12240, 0, "c"], - [12241, 0, "u"], - [12242, 0, "r"], - [12243, 0, "}"], - [12244, 0, "$"], - [12245, 0, "}"], - [12246, 0, "\n"], - [12247, 0, "\\"], - [12248, 0, "A"], - [12249, 0, "x"], - [12250, 0, "i"], - [12251, 0, "o"], - [12252, 0, "m"], - [12253, 0, "C"], - [12254, 0, "{"], - [12255, 0, "$"], - [12256, 0, "A"], - [12257, 0, "_"], - [12258, 0, "p"], - [12259, 0, ","], - [12260, 0, "\\"], - [12261, 0, ","], - [12262, 0, " "], - [12263, 0, "\\"], - [12264, 0, "m"], - [12265, 0, "a"], - [12266, 0, "t"], - [12267, 0, "h"], - [12268, 0, "i"], - [12269, 0, "t"], - [12270, 0, "{"], - [12271, 0, "c"], - [12272, 0, "u"], - [12273, 0, "r"], - [12274, 0, "}"], - [12275, 0, "."], - [12276, 0, "\\"], - [12277, 0, "m"], - [12278, 0, "a"], - [12279, 0, "t"], - [12280, 0, "h"], - [12281, 0, "s"], - [12282, 0, "f"], - [12283, 0, "{"], - [12284, 0, "k"], - [12285, 0, "e"], - [12286, 0, "y"], - [12287, 0, "s"], - [12288, 0, "}"], - [12289, 0, "$"], - [12290, 0, "}"], - [12289, 0, " "], - [12290, 0, "\\"], - [12291, 0, "e"], - [12292, 0, "v"], - [12293, 0, "a"], - [12294, 0, "l"], - [12295, 0, "t"], - [12296, 0, "o"], - [12297, 0, " "], - [12298, 0, "\\"], - [12299, 0, "m"], - [12300, 0, "a"], - [12301, 0, "t"], - [12302, 0, "h"], - [12303, 0, "i"], - [12304, 0, "t"], - [12305, 0, "{"], - [12306, 0, "v"], - [12307, 0, "a"], - [12308, 0, "l"], - [12308, 1], - [12307, 1], - [12306, 1], - [12306, 0, "k"], - [12307, 0, "e"], - [12308, 0, "y"], - [12309, 0, "s"], - [12310, 0, "}"], - [12313, 0, "\n"], - [12314, 0, "\\"], - [12315, 0, "L"], - [12316, 0, "e"], - [12317, 0, "f"], - [12318, 0, "t"], - [12319, 0, "L"], - [12320, 0, "a"], - [12321, 0, "b"], - [12322, 0, "e"], - [12323, 0, "l"], - [12324, 0, "{"], - [12325, 0, "$"], - [12326, 0, "\\"], - [12327, 0, "t"], - [12328, 0, "e"], - [12329, 0, "x"], - [12330, 0, "t"], - [12331, 0, "s"], - [12332, 0, "c"], - [12333, 0, "{"], - [12334, 0, "K"], - [12335, 0, "e"], - [12336, 0, "y"], - [12337, 0, "s"], - [12338, 0, "}"], - [12339, 0, "_"], - [12340, 0, "1"], - [12341, 0, "$"], - [12342, 0, "}"], - [12343, 0, "\n"], - [12344, 0, "\\"], - [12345, 0, "B"], - [12346, 0, "i"], - [12347, 0, "n"], - [12348, 0, "a"], - [12349, 0, "r"], - [12350, 0, "y"], - [12351, 0, "I"], - [12352, 0, "n"], - [12353, 0, "f"], - [12354, 0, "C"], - [12355, 0, "{"], - [12356, 0, "$"], - [12357, 0, "A"], - [12358, 0, "_"], - [12359, 0, "p"], - [12360, 0, ","], - [12361, 0, "\\"], - [12362, 0, ","], - [12363, 0, " "], - [12364, 0, "\\"], - [12365, 0, "m"], - [12366, 0, "a"], - [12367, 0, "t"], - [12368, 0, "h"], - [12369, 0, "i"], - [12370, 0, "t"], - [12371, 0, "{"], - [12372, 0, "e"], - [12373, 0, "x"], - [12374, 0, "p"], - [12375, 0, "r"], - [12376, 0, "}"], - [12377, 0, "."], - [12378, 0, "\\"], - [12379, 0, "m"], - [12380, 0, "a"], - [12381, 0, "t"], - [12382, 0, "h"], - [12383, 0, "s"], - [12384, 0, "f"], - [12385, 0, "{"], - [12386, 0, "k"], - [12387, 0, "e"], - [12388, 0, "y"], - [12389, 0, "s"], - [12390, 0, "}"], - [12391, 0, " "], - [12392, 0, "\\"], - [12393, 0, "e"], - [12394, 0, "v"], - [12395, 0, "a"], - [12396, 0, "l"], - [12397, 0, "t"], - [12398, 0, "o"], - [12399, 0, " "], - [12400, 0, "\\"], - [12401, 0, "m"], - [12402, 0, "a"], - [12403, 0, "t"], - [12404, 0, "h"], - [12405, 0, "i"], - [12406, 0, "t"], - [12407, 0, "{"], - [12408, 0, "k"], - [12409, 0, "e"], - [12410, 0, "y"], - [12411, 0, "s"], - [12412, 0, "}"], - [12413, 0, "$"], - [12414, 0, "}"], - [12415, 0, "\n"], - [12416, 0, "\\"], - [12417, 0, "e"], - [12418, 0, "n"], - [12419, 0, "d"], - [12420, 0, "{"], - [12421, 0, "P"], - [12421, 1], - [12421, 0, "p"], - [12422, 0, "r"], - [12423, 0, "o"], - [12424, 0, "o"], - [12425, 0, "f"], - [12426, 0, "t"], - [12427, 0, "r"], - [12428, 0, "e"], - [12429, 0, "e"], - [12430, 0, "}"], - [12057, 0, "\\"], - [12058, 0, "m"], - [12059, 0, "a"], - [12060, 0, "t"], - [12061, 0, "h"], - [12062, 0, "i"], - [12063, 0, "t"], - [12064, 0, "{"], - [12068, 0, "}"], - [12119, 0, "\\"], - [12120, 0, "m"], - [12121, 0, "a"], - [12122, 0, "t"], - [12123, 0, "h"], - [12124, 0, "i"], - [12125, 0, "t"], - [12126, 0, "{"], - [12130, 0, "}"], - [12180, 0, "\\"], - [12181, 0, "m"], - [12182, 0, "a"], - [12183, 0, "t"], - [12184, 0, "h"], - [12185, 0, "i"], - [12186, 0, "t"], - [12187, 0, "{"], - [12191, 0, "}"], - [12163, 0, " "], - [12040, 0, " "], - [12460, 0, "\n"], - [12461, 0, "\n"], - [12462, 0, "\\"], - [12463, 0, "b"], - [12464, 0, "e"], - [12465, 0, "g"], - [12466, 0, "i"], - [12467, 0, "n"], - [12468, 0, "{"], - [12469, 0, "p"], - [12470, 0, "r"], - [12471, 0, "o"], - [12472, 0, "o"], - [12473, 0, "f"], - [12474, 0, "t"], - [12475, 0, "r"], - [12476, 0, "e"], - [12477, 0, "e"], - [12478, 0, "}"], - [12479, 0, "\n"], - [12480, 0, "\\"], - [12481, 0, "e"], - [12482, 0, "n"], - [12483, 0, "d"], - [12484, 0, "{"], - [12485, 0, "p"], - [12486, 0, "r"], - [12487, 0, "o"], - [12488, 0, "o"], - [12489, 0, "f"], - [12490, 0, "t"], - [12491, 0, "r"], - [12492, 0, "e"], - [12493, 0, "e"], - [12494, 0, "}"], - [12479, 0, "\n"], - [12480, 0, "\\"], - [12481, 0, "A"], - [12482, 0, "x"], - [12483, 0, "i"], - [12484, 0, "o"], - [12485, 0, "m"], - [12486, 0, "C"], - [12487, 0, "{"], - [12488, 0, "$"], - [12489, 0, "\\"], - [12490, 0, "m"], - [12491, 0, "a"], - [12492, 0, "t"], - [12493, 0, "h"], - [12494, 0, "i"], - [12495, 0, "t"], - [12496, 0, "{"], - [12497, 0, "c"], - [12498, 0, "t"], - [12499, 0, "x"], - [12500, 0, "}"], - [12501, 0, "("], - [12502, 0, "\\"], - [12503, 0, "m"], - [12504, 0, "a"], - [12505, 0, "t"], - [12506, 0, "h"], - [12507, 0, "s"], - [12508, 0, "f"], - [12509, 0, "{"], - [12510, 0, "m"], - [12511, 0, "a"], - [12512, 0, "p"], - [12513, 0, "T"], - [12514, 0, "}"], - [12515, 0, "("], - [12516, 0, "k"], - [12517, 0, ")"], - [12518, 0, ")"], - [12489, 0, "\\"], - [12490, 0, "m"], - [12491, 0, "a"], - [12492, 0, "t"], - [12493, 0, "h"], - [12494, 0, "r"], - [12495, 0, "m"], - [12496, 0, "{"], - [12497, 0, "k"], - [12498, 0, "e"], - [12499, 0, "y"], - [12500, 0, "s"], - [12501, 0, "}"], - [12502, 0, "("], - [12533, 0, ")"], - [12495, 1], - [12494, 1], - [12494, 0, "i"], - [12495, 0, "t"], - [12497, 1], - [12497, 1], - [12497, 1], - [12497, 1], - [12497, 0, "m"], - [12498, 0, "a"], - [12499, 0, "p"], - [12501, 0, " "], - [12502, 0, "="], - [12503, 0, " "], - [12504, 1], - [12534, 1], - [12534, 0, "$"], - [12535, 0, "}"], - [12536, 0, "\n"], - [12537, 0, "\\"], - [12538, 0, "A"], - [12539, 0, "x"], - [12540, 0, "i"], - [12541, 0, "o"], - [12542, 0, "m"], - [12543, 0, "C"], - [12544, 0, "{"], - [12545, 0, "$"], - [12546, 0, "\\"], - [12547, 0, "m"], - [12548, 0, "a"], - [12549, 0, "t"], - [12550, 0, "h"], - [12551, 0, "i"], - [12552, 0, "t"], - [12553, 0, "{"], - [12554, 0, "k"], - [12555, 0, "e"], - [12556, 0, "y"], - [12557, 0, "s"], - [12558, 0, "}"], - [12559, 0, " "], - [12560, 0, "="], - [12561, 0, " "], - [12562, 0, "\\"], - [12563, 0, "{"], - [12564, 0, "\\"], - [12565, 0, ";"], - [12566, 0, " "], - [12567, 0, "k"], - [12568, 0, " "], - [12569, 0, "\\"], - [12570, 0, "m"], - [12571, 0, "i"], - [12572, 0, "d"], - [12573, 0, " "], - [12574, 0, "k"], - [12575, 0, " "], - [12576, 0, "\\"], - [12577, 0, "i"], - [12578, 0, "n"], - [12579, 0, " "], - [12580, 0, "\\"], - [12581, 0, "m"], - [12582, 0, "a"], - [12583, 0, "t"], - [12584, 0, "h"], - [12585, 0, "r"], - [12586, 0, "m"], - [12587, 0, "{"], - [12588, 0, "k"], - [12589, 0, "e"], - [12590, 0, "y"], - [12591, 0, "s"], - [12592, 0, "}"], - [12593, 0, "("], - [12594, 0, "\\"], - [12595, 0, "m"], - [12596, 0, "a"], - [12597, 0, "t"], - [12598, 0, "h"], - [12599, 0, "i"], - [12600, 0, "t"], - [12601, 0, "{"], - [12602, 0, "m"], - [12603, 0, "a"], - [12604, 0, "p"], - [12605, 0, "}"], - [12606, 0, ")"], - [12607, 0, " "], - [12608, 0, "\\"], - [12609, 0, ","], - [12610, 0, "\\"], - [12611, 0, "w"], - [12612, 0, "e"], - [12613, 0, "d"], - [12614, 0, "g"], - [12615, 0, "e"], - [12616, 0, "\\"], - [12617, 0, ","], - [12618, 0, "\n"], - [12619, 0, " "], - [12620, 0, " "], - [12621, 0, " "], - [12622, 0, " "], - [12623, 0, "\\"], - [12624, 0, "m"], - [12625, 0, "a"], - [12626, 0, "t"], - [12627, 0, "h"], - [12628, 0, "i"], - [12629, 0, "t"], - [12630, 0, "{"], - [12631, 0, "m"], - [12632, 0, "a"], - [12633, 0, "p"], - [12634, 0, "}"], - [12635, 0, "("], - [12636, 0, "\\"], - [12637, 0, "m"], - [12638, 0, "a"], - [12639, 0, "t"], - [12640, 0, "h"], - [12641, 0, "s"], - [12642, 0, "f"], - [12643, 0, "{"], - [12644, 0, "p"], - [12645, 0, "r"], - [12646, 0, "e"], - [12647, 0, "s"], - [12648, 0, "}"], - [12649, 0, "("], - [12650, 0, "k"], - [12651, 0, ")"], - [12652, 0, ")"], - [12653, 0, " "], - [12654, 0, "\\"], - [12655, 0, "n"], - [12656, 0, "o"], - [12657, 0, "t"], - [12658, 0, "="], - [12659, 0, " "], - [12660, 0, "\\"], - [12661, 0, "{"], - [12662, 0, "\\"], - [12663, 0, "}"], - [12664, 0, " "], - [12665, 0, "\\"], - [12666, 0, ";"], - [12667, 0, "\\"], - [12668, 0, "}"], - [12669, 0, "$"], - [12670, 0, "}"], - [12671, 0, "\n"], - [12672, 0, "\\"], - [12673, 0, "L"], - [12674, 0, "e"], - [12675, 0, "f"], - [12676, 0, "t"], - [12677, 0, "L"], - [12678, 0, "a"], - [12679, 0, "b"], - [12680, 0, "e"], - [12681, 0, "l"], - [12682, 0, "{"], - [12683, 0, "$"], - [12684, 0, "\\"], - [12685, 0, "t"], - [12686, 0, "e"], - [12687, 0, "x"], - [12688, 0, "t"], - [12689, 0, "s"], - [12690, 0, "c"], - [12691, 0, "{"], - [12692, 0, "K"], - [12693, 0, "e"], - [12694, 0, "y"], - [12695, 0, "s"], - [12696, 0, "}"], - [12697, 0, "_"], - [12698, 0, "2"], - [12699, 0, "$"], - [12700, 0, "}"], - [12701, 0, "\n"], - [12702, 0, "\\"], - [12703, 0, "B"], - [12704, 0, "i"], - [12705, 0, "n"], - [12706, 0, "a"], - [12707, 0, "r"], - [12708, 0, "y"], - [12709, 0, "I"], - [12710, 0, "n"], - [12711, 0, "f"], - [12712, 0, "C"], - [12713, 0, "{"], - [12714, 0, "$"], - [12715, 0, "A"], - [12716, 0, "_"], - [12717, 0, "p"], - [12718, 0, ","], - [12719, 0, "\\"], - [12720, 0, ","], - [12721, 0, " "], - [12722, 0, "\\"], - [12723, 0, "m"], - [12724, 0, "a"], - [12725, 0, "t"], - [12726, 0, "h"], - [12726, 1], - [12725, 1], - [12724, 1], - [12723, 1], - [12723, 0, "m"], - [12724, 0, "a"], - [12725, 0, "t"], - [12726, 0, "h"], - [12727, 0, "s"], - [12728, 0, "f"], - [12729, 0, "{"], - [12730, 0, "c"], - [12731, 0, "u"], - [12732, 0, "r"], - [12733, 0, "s"], - [12734, 0, "o"], - [12735, 0, "r"], - [12736, 0, "}"], - [12737, 0, "("], - [12738, 0, "\\"], - [12739, 0, "l"], - [12740, 0, "a"], - [12741, 0, "n"], - [12742, 0, "g"], - [12743, 0, "l"], - [12744, 0, "e"], - [12745, 0, "\\"], - [12746, 0, "r"], - [12747, 0, "a"], - [12748, 0, "n"], - [12749, 0, "g"], - [12750, 0, "l"], - [12751, 0, "e"], - [12752, 0, ","], - [12753, 0, "\\"], - [12754, 0, ","], - [12755, 0, " "], - [12756, 0, "k"], - [12757, 0, ")"], - [12758, 0, "."], - [12759, 0, "\\"], - [12760, 0, "m"], - [12761, 0, "a"], - [12762, 0, "t"], - [12763, 0, "h"], - [12764, 0, "s"], - [12765, 0, "f"], - [12766, 0, "{"], - [12767, 0, "k"], - [12768, 0, "e"], - [12769, 0, "y"], - [12770, 0, "s"], - [12771, 0, "}"], - [12772, 0, " "], - [12773, 0, "\\"], - [12774, 0, "e"], - [12775, 0, "v"], - [12776, 0, "a"], - [12777, 0, "l"], - [12778, 0, "t"], - [12779, 0, "o"], - [12780, 0, " "], - [12781, 0, "\\"], - [12782, 0, "m"], - [12783, 0, "a"], - [12784, 0, "t"], - [12785, 0, "h"], - [12786, 0, "i"], - [12787, 0, "t"], - [12788, 0, "{"], - [12789, 0, "k"], - [12790, 0, "e"], - [12791, 0, "y"], - [12792, 0, "s"], - [12793, 0, "}"], - [12794, 0, "$"], - [12795, 0, "}"], - [12812, 0, "\n"], - [12813, 0, "\n"], - [12814, 0, "\\"], - [12815, 0, "b"], - [12816, 0, "e"], - [12817, 0, "g"], - [12818, 0, "i"], - [12819, 0, "n"], - [12820, 0, "{"], - [12821, 0, "p"], - [12822, 0, "r"], - [12823, 0, "o"], - [12824, 0, "o"], - [12825, 0, "f"], - [12826, 0, "t"], - [12827, 0, "r"], - [12828, 0, "e"], - [12829, 0, "e"], - [12830, 0, "}"], - [12831, 0, "\n"], - [12832, 0, "\\"], - [12833, 0, "e"], - [12834, 0, "n"], - [12835, 0, "d"], - [12836, 0, "{"], - [12837, 0, "p"], - [12838, 0, "r"], - [12839, 0, "o"], - [12840, 0, "o"], - [12841, 0, "f"], - [12842, 0, "t"], - [12843, 0, "r"], - [12844, 0, "e"], - [12845, 0, "e"], - [12846, 0, "}"], - [12831, 0, "\n"], - [12832, 0, "\\"], - [12833, 0, "A"], - [12834, 0, "x"], - [12835, 0, "i"], - [12836, 0, "o"], - [12837, 0, "m"], - [12838, 0, "C"], - [12839, 0, "{"], - [12840, 0, "$"], - [12841, 0, "k"], - [12842, 0, "_"], - [12843, 0, "1"], - [12844, 0, " "], - [12845, 0, "\\"], - [12846, 0, "i"], - [12847, 0, "n"], - [12848, 0, " "], - [12849, 0, "\\"], - [12850, 0, "m"], - [12851, 0, "a"], - [12852, 0, "t"], - [12853, 0, "h"], - [12854, 0, "r"], - [12855, 0, "m"], - [12856, 0, "{"], - [12857, 0, "d"], - [12858, 0, "o"], - [12859, 0, "m"], - [12860, 0, "}"], - [12861, 0, "("], - [12862, 0, "\\"], - [12863, 0, "m"], - [12864, 0, "a"], - [12865, 0, "t"], - [12866, 0, "h"], - [12867, 0, "i"], - [12868, 0, "t"], - [12869, 0, "{"], - [12870, 0, "c"], - [12871, 0, "t"], - [12872, 0, "x"], - [12873, 0, "}"], - [12874, 0, ")"], - [12875, 0, "$"], - [12876, 0, "}"], - [12877, 0, "\n"], - [12878, 0, "\\"], - [12879, 0, "A"], - [12880, 0, "x"], - [12881, 0, "i"], - [12882, 0, "o"], - [12883, 0, "m"], - [12884, 0, "C"], - [12885, 0, "{"], - [12886, 0, "$"], - [12887, 0, "\\"], - [12888, 0, "m"], - [12889, 0, "a"], - [12890, 0, "t"], - [12891, 0, "h"], - [12892, 0, "i"], - [12893, 0, "t"], - [12894, 0, "{"], - [12895, 0, "c"], - [12896, 0, "t"], - [12897, 0, "x"], - [12898, 0, "}"], - [12899, 0, "("], - [12900, 0, "k"], - [12901, 0, "_"], - [12902, 0, "1"], - [12903, 0, ")"], - [12904, 0, ","], - [12905, 0, "\\"], - [12906, 0, ","], - [12907, 0, " "], - [12908, 0, "\\"], - [12909, 0, "m"], - [12910, 0, "a"], - [12911, 0, "t"], - [12912, 0, "h"], - [12913, 0, "s"], - [12914, 0, "f"], - [12915, 0, "{"], - [12916, 0, "c"], - [12917, 0, "u"], - [12918, 0, "r"], - [12919, 0, "s"], - [12920, 0, "o"], - [12921, 0, "r"], - [12922, 0, "("], - [12923, 0, "\\"], - [12924, 0, "l"], - [12925, 0, "a"], - [12926, 0, "n"], - [12927, 0, "g"], - [12928, 0, "l"], - [12929, 0, "e"], - [12930, 0, " "], - [12931, 0, "k"], - [12932, 0, "_"], - [12933, 0, "2"], - [12934, 0, ","], - [12935, 0, " "], - [12936, 0, "\\"], - [12937, 0, "d"], - [12938, 0, "o"], - [12939, 0, "t"], - [12940, 0, "s"], - [12941, 0, ","], - [12942, 0, " "], - [12943, 0, "k"], - [12944, 0, "_"], - [12945, 0, "{"], - [12946, 0, "n"], - [12947, 0, "-"], - [12948, 0, "1"], - [12949, 0, "}"], - [12950, 0, " "], - [12951, 0, "\\"], - [12952, 0, "r"], - [12953, 0, "a"], - [12954, 0, "n"], - [12955, 0, "g"], - [12956, 0, "l"], - [12957, 0, "e"], - [12958, 0, ","], - [12959, 0, "\\"], - [12960, 0, ","], - [12961, 0, " "], - [12962, 0, "k"], - [12963, 0, "_"], - [12964, 0, "n"], - [12965, 0, ")"], - [12966, 0, "."], - [12967, 0, "\\"], - [12968, 0, "m"], - [12969, 0, "a"], - [12970, 0, "t"], - [12971, 0, "h"], - [12972, 0, "s"], - [12973, 0, "f"], - [12974, 0, "{"], - [12975, 0, "k"], - [12976, 0, "e"], - [12977, 0, "y"], - [12978, 0, "s"], - [12979, 0, "}"], - [12980, 0, "\n"], - [12981, 0, " "], - [12982, 0, " "], - [12983, 0, " "], - [12984, 0, " "], - [12985, 0, "\\"], - [12986, 0, "e"], - [12987, 0, "v"], - [12988, 0, "a"], - [12989, 0, "l"], - [12990, 0, "t"], - [12991, 0, "o"], - [12992, 0, " "], - [12993, 0, "\\"], - [12994, 0, "m"], - [12995, 0, "a"], - [12996, 0, "t"], - [12997, 0, "h"], - [12998, 0, "i"], - [12999, 0, "t"], - [13000, 0, "{"], - [13001, 0, "k"], - [13002, 0, "e"], - [13003, 0, "y"], - [13004, 0, "s"], - [13005, 0, "}"], - [13006, 0, "$"], - [13007, 0, "}"], - [13008, 0, "\n"], - [13009, 0, "\\"], - [13010, 0, "L"], - [13011, 0, "e"], - [13012, 0, "f"], - [13013, 0, "t"], - [13014, 0, "L"], - [13015, 0, "a"], - [13016, 0, "b"], - [13017, 0, "e"], - [13018, 0, "l"], - [13019, 0, "{"], - [13020, 0, "$"], - [13021, 0, "\\"], - [13022, 0, "t"], - [13023, 0, "e"], - [13024, 0, "x"], - [13025, 0, "t"], - [13026, 0, "s"], - [13027, 0, "c"], - [13028, 0, "{"], - [13029, 0, "K"], - [13030, 0, "e"], - [13031, 0, "y"], - [13032, 0, "s"], - [13033, 0, "}"], - [13034, 0, "_"], - [13035, 0, "3"], - [13036, 0, "#"], - [13037, 0, "}"], - [13037, 1], - [13036, 1], - [13036, 0, "$"], - [13037, 0, "}"], - [13038, 0, "\n"], - [13039, 0, "\\"], - [13040, 0, "B"], - [13041, 0, "i"], - [13042, 0, "n"], - [13043, 0, "a"], - [13044, 0, "r"], - [13045, 0, "y"], - [13046, 0, "I"], - [13047, 0, "n"], - [13048, 0, "f"], - [13049, 0, "C"], - [13050, 0, "{"], - [13051, 0, "$"], - [13052, 0, "\\"], - [13053, 0, "m"], - [13054, 0, "a"], - [13055, 0, "t"], - [13056, 0, "h"], - [13057, 0, "i"], - [13058, 0, "t"], - [13059, 0, "{"], - [13060, 0, "c"], - [13061, 0, "t"], - [13062, 0, "x"], - [13063, 0, "}"], - [13064, 0, ","], - [13065, 0, "\\"], - [13066, 0, ","], - [13067, 0, " "], - [13068, 0, "\\"], - [13069, 0, "m"], - [13070, 0, "a"], - [13071, 0, "t"], - [13072, 0, "h"], - [13073, 0, "s"], - [13074, 0, "f"], - [13075, 0, "{"], - [13076, 0, "c"], - [13077, 0, "u"], - [13078, 0, "r"], - [13079, 0, "s"], - [13080, 0, "o"], - [13081, 0, "r"], - [13082, 0, "}"], - [13083, 0, "("], - [13084, 0, "\\"], - [13085, 0, "l"], - [13086, 0, "a"], - [13087, 0, "n"], - [13088, 0, "g"], - [13089, 0, "l"], - [13090, 0, "e"], - [13091, 0, " "], - [13092, 0, "k"], - [13093, 0, "_"], - [13094, 0, "1"], - [13095, 0, ","], - [13096, 0, " "], - [13097, 0, "k"], - [13098, 0, "_"], - [13099, 0, "2"], - [13100, 0, ","], - [13101, 0, " "], - [13102, 0, "\\"], - [13103, 0, "d"], - [13104, 0, "o"], - [13105, 0, "t"], - [13106, 0, "s"], - [13107, 0, ","], - [13108, 0, " "], - [13109, 0, "k"], - [13110, 0, "_"], - [13111, 0, "{"], - [13112, 0, "n"], - [13113, 0, "-"], - [13114, 0, "1"], - [13115, 0, "]"], - [13115, 1], - [13115, 0, "}"], - [13116, 0, " "], - [13117, 0, "\\"], - [13118, 0, "r"], - [13119, 0, "a"], - [13120, 0, "n"], - [13121, 0, "g"], - [13122, 0, "l"], - [13123, 0, "e"], - [13124, 0, "\\"], - [13124, 1], - [13124, 0, ","], - [13125, 0, "\\"], - [13126, 0, ","], - [13127, 0, " "], - [13128, 0, "k"], - [13129, 0, "_"], - [13130, 0, "n"], - [13131, 0, ")"], - [13132, 0, "."], - [13133, 0, "\\"], - [13134, 0, "m"], - [13135, 0, "a"], - [13136, 0, "t"], - [13137, 0, "h"], - [13138, 0, "s"], - [13139, 0, "f"], - [13140, 0, "{"], - [13141, 0, "k"], - [13142, 0, "e"], - [13143, 0, "y"], - [13144, 0, "s"], - [13145, 0, "}"], - [13146, 0, "\n"], - [13147, 0, " "], - [13148, 0, " "], - [13149, 0, " "], - [13150, 0, " "], - [13151, 0, "\\"], - [13152, 0, "e"], - [13153, 0, "v"], - [13154, 0, "a"], - [13155, 0, "l"], - [13156, 0, "t"], - [13157, 0, "o"], - [13158, 0, " "], - [13159, 0, "\\"], - [13160, 0, "m"], - [13161, 0, "a"], - [13162, 0, "t"], - [13163, 0, "h"], - [13164, 0, "i"], - [13165, 0, "t"], - [13166, 0, "{"], - [13167, 0, "k"], - [13168, 0, "e"], - [13169, 0, "y"], - [13170, 0, "s"], - [13171, 0, "}"], - [13172, 0, "$"], - [13173, 0, "}"], - [12922, 0, "}"], - [4881, 0, " "], - [4881, 1], - [5128, 0, " "], - [5129, 0, "T"], - [5130, 0, "h"], - [5131, 0, "e"], - [5132, 0, " "], - [5133, 0, "f"], - [5134, 0, "e"], - [5135, 0, "a"], - [5136, 0, "t"], - [5137, 0, "u"], - [5138, 0, "r"], - [5139, 0, "e"], - [5140, 0, "s"], - [5141, 0, " "], - [5142, 0, "o"], - [5143, 0, "f"], - [5144, 0, " "], - [5145, 0, "t"], - [5146, 0, "h"], - [5147, 0, "e"], - [5148, 0, " "], - [5149, 0, "A"], - [5150, 0, "P"], - [5151, 0, "I"], - [5152, 0, " "], - [5152, 1], - [5151, 1], - [5150, 1], - [5149, 1], - [5148, 1], - [5147, 1], - [5146, 1], - [5145, 1], - [5144, 1], - [5143, 1], - [5142, 1], - [5141, 1], - [5140, 1], - [5139, 1], - [5138, 1], - [5137, 1], - [5136, 1], - [5135, 1], - [5134, 1], - [5133, 1], - [5133, 0, "A"], - [5134, 0, "P"], - [5135, 0, "I"], - [5136, 0, " "], - [5137, 0, "d"], - [5138, 0, "i"], - [5139, 0, "f"], - [5140, 0, "f"], - [5141, 0, "e"], - [5142, 0, "r"], - [5143, 0, "s"], - [5144, 0, " "], - [5145, 0, "s"], - [5146, 0, "l"], - [5147, 0, "i"], - [5148, 0, "g"], - [5149, 0, "h"], - [5150, 0, "t"], - [5151, 0, "l"], - [5152, 0, "y"], - [5153, 0, " "], - [5154, 0, "f"], - [5155, 0, "r"], - [5156, 0, "o"], - [5157, 0, "m"], - [5158, 0, " "], - [5159, 0, "t"], - [5160, 0, "h"], - [5161, 0, "e"], - [5162, 0, " "], - [5163, 0, "J"], - [5164, 0, "S"], - [5165, 0, "O"], - [5166, 0, "N"], - [5167, 0, " "], - [5168, 0, "l"], - [5169, 0, "i"], - [5170, 0, "b"], - [5171, 0, "r"], - [5172, 0, "i"], - [5173, 0, "a"], - [5174, 0, "r"], - [5175, 0, "i"], - [5176, 0, "e"], - [5177, 0, "s"], - [5178, 0, " "], - [5172, 1], - [5178, 0, "f"], - [5179, 0, "o"], - [5180, 0, "u"], - [5181, 0, "n"], - [5182, 0, "d"], - [5183, 0, " "], - [5184, 0, "i"], - [5185, 0, "n"], - [5186, 0, " "], - [5187, 0, "m"], - [5188, 0, "a"], - [5189, 0, "n"], - [5190, 0, "y"], - [5191, 0, " "], - [5192, 0, "p"], - [5193, 0, "r"], - [5194, 0, "o"], - [5195, 0, "g"], - [5196, 0, "r"], - [5197, 0, "a"], - [5198, 0, "m"], - [5199, 0, "m"], - [5200, 0, "i"], - [5201, 0, "n"], - [5202, 0, "g"], - [5203, 0, " "], - [5204, 0, "l"], - [5205, 0, "a"], - [5206, 0, "n"], - [5207, 0, "g"], - [5208, 0, "u"], - [5209, 0, "a"], - [5210, 0, "g"], - [5211, 0, "e"], - [5212, 0, "s"], - [5213, 0, ","], - [5214, 0, " "], - [5215, 0, "i"], - [5216, 0, "n"], - [5217, 0, " "], - [5218, 0, "o"], - [5219, 0, "r"], - [5220, 0, "d"], - [5221, 0, "e"], - [5222, 0, "r"], - [5223, 0, " "], - [5224, 0, "t"], - [5225, 0, "o"], - [5226, 0, " "], - [5227, 0, "a"], - [5228, 0, "l"], - [5229, 0, "l"], - [5230, 0, "o"], - [5231, 0, "w"], - [5232, 0, " "], - [5233, 0, "u"], - [5234, 0, "s"], - [5235, 0, " "], - [5236, 0, "t"], - [5237, 0, "o"], - [5238, 0, " "], - [5239, 0, "d"], - [5240, 0, "e"], - [5241, 0, "f"], - [5242, 0, "i"], - [5243, 0, "n"], - [5244, 0, "e"], - [5245, 0, " "], - [5246, 0, "c"], - [5247, 0, "o"], - [5248, 0, "n"], - [5249, 0, "s"], - [5250, 0, "i"], - [5251, 0, "s"], - [5252, 0, "t"], - [5253, 0, "e"], - [5254, 0, "n"], - [5255, 0, "t"], - [5256, 0, " "], - [5257, 0, "m"], - [5258, 0, "e"], - [5259, 0, "r"], - [5260, 0, "g"], - [5261, 0, "e"], - [5262, 0, " "], - [5263, 0, "s"], - [5264, 0, "e"], - [5265, 0, "m"], - [5266, 0, "a"], - [5267, 0, "n"], - [5268, 0, "t"], - [5269, 0, "i"], - [5270, 0, "c"], - [5271, 0, "s"], - [5272, 0, "."], - [5423, 0, ","], - [5424, 0, " "], - [5425, 0, "a"], - [5426, 0, "n"], - [5427, 0, "d"], - [5428, 0, " "], - [5429, 0, "t"], - [5430, 0, "o"], - [5431, 0, " "], - [5432, 0, "c"], - [5433, 0, "o"], - [5434, 0, "n"], - [5435, 0, "s"], - [5436, 0, "t"], - [5437, 0, "r"], - [5438, 0, "u"], - [5439, 0, "c"], - [5440, 0, "t"], - [5441, 0, " "], - [5442, 0, "a"], - [5443, 0, " "], - [5444, 0, "\\"], - [5445, 0, "e"], - [5446, 0, "m"], - [5447, 0, "p"], - [5448, 0, "h"], - [5449, 0, "{"], - [5450, 0, "c"], - [5451, 0, "u"], - [5452, 0, "r"], - [5453, 0, "s"], - [5454, 0, "o"], - [5455, 0, "r"], - [5456, 0, "}"], - [5457, 0, " "], - [5458, 0, "w"], - [5459, 0, "h"], - [5460, 0, "i"], - [5461, 0, "c"], - [5462, 0, "h"], - [5463, 0, " "], - [5464, 0, "i"], - [5465, 0, "d"], - [5466, 0, "e"], - [5467, 0, "n"], - [5468, 0, "t"], - [5469, 0, "i"], - [5470, 0, "f"], - [5471, 0, "i"], - [5472, 0, "e"], - [5473, 0, "s"], - [5474, 0, " "], - [5475, 0, "a"], - [5476, 0, " "], - [5477, 0, "p"], - [5478, 0, "o"], - [5479, 0, "s"], - [5480, 0, "i"], - [5481, 0, "t"], - [5482, 0, "i"], - [5483, 0, "o"], - [5484, 0, "n"], - [5485, 0, " "], - [5486, 0, "i"], - [5487, 0, "n"], - [5488, 0, " "], - [5489, 0, "t"], - [5490, 0, "h"], - [5491, 0, "e"], - [5492, 0, " "], - [5493, 0, "d"], - [5494, 0, "o"], - [5495, 0, "c"], - [5496, 0, "u"], - [5497, 0, "m"], - [5498, 0, "e"], - [5499, 0, "n"], - [5500, 0, "t"], - [5749, 1], - [5748, 1], - [5747, 1], - [5746, 1], - [5745, 1], - [5744, 1], - [5743, 1], - [5742, 1], - [5741, 1], - [5740, 1], - [5739, 1], - [5738, 1], - [5737, 1], - [5736, 1], - [5735, 1], - [5734, 1], - [5733, 1], - [5732, 1], - [5731, 1], - [5730, 1], - [5729, 1], - [5728, 1], - [5727, 1], - [5726, 1], - [5725, 1], - [5724, 1], - [5723, 1], - [5722, 1], - [5721, 1], - [5720, 1], - [5719, 1], - [5718, 1], - [5717, 1], - [5716, 1], - [5715, 1], - [5714, 1], - [5713, 1], - [5712, 1], - [5711, 1], - [5710, 1], - [5709, 1], - [5708, 1], - [5707, 1], - [5706, 1], - [5705, 1], - [5704, 1], - [5691, 1], - [5690, 1], - [5689, 1], - [5689, 0, "M"], - [5690, 0, "o"], - [5691, 0, "v"], - [5692, 0, "i"], - [5693, 0, "n"], - [5694, 0, "g"], - [5695, 0, " "], - [5696, 0, "l"], - [5697, 0, "e"], - [5698, 0, "f"], - [5699, 0, "t"], - [5700, 0, " "], - [5701, 0, "t"], - [5702, 0, "o"], - [5703, 0, " "], - [5704, 0, "r"], - [5705, 0, "i"], - [5706, 0, "g"], - [5707, 0, "h"], - [5708, 0, "t"], - [5709, 0, " "], - [5710, 0, "t"], - [5711, 0, "h"], - [5712, 0, "r"], - [5713, 0, "o"], - [5714, 0, "u"], - [5715, 0, "g"], - [5716, 0, "h"], - [5717, 0, " "], - [5718, 0, "t"], - [5719, 0, "h"], - [5720, 0, "e"], - [5732, 0, ","], - [5733, 0, " "], - [5734, 1], - [5734, 0, "t"], - [5735, 0, "h"], - [5736, 0, "e"], - [5737, 0, " "], - [5738, 0, "c"], - [5739, 0, "u"], - [5740, 0, "r"], - [5741, 0, "s"], - [5742, 0, "o"], - [5743, 0, "r"], - [5744, 0, " "], - [5745, 0, "i"], - [5746, 0, "s"], - [5747, 0, " "], - [5748, 0, "n"], - [5749, 0, "a"], - [5750, 0, "v"], - [5751, 0, "i"], - [5752, 0, "g"], - [5753, 0, "a"], - [5754, 0, "t"], - [5755, 0, "e"], - [5756, 0, "d"], - [5757, 0, " "], - [5758, 0, "t"], - [5759, 0, "h"], - [5760, 0, "r"], - [5761, 0, "o"], - [5762, 0, "u"], - [5763, 0, "g"], - [5764, 0, "h"], - [5765, 0, " "], - [5766, 0, "t"], - [5767, 0, "h"], - [5768, 0, "e"], - [5769, 0, " "], - [5770, 0, "t"], - [5771, 0, "r"], - [5772, 0, "e"], - [5773, 0, "e"], - [5776, 0, "t"], - [5777, 0, "h"], - [5778, 0, "e"], - [5779, 0, " "], - [5780, 0, "s"], - [5781, 0, "u"], - [5782, 0, "b"], - [5783, 0, "s"], - [5784, 0, "c"], - [5785, 0, "r"], - [5786, 0, "i"], - [5787, 0, "p"], - [5788, 0, "t"], - [5789, 0, " "], - [5790, 0, "o"], - [5791, 0, "p"], - [5792, 0, "e"], - [5793, 0, "r"], - [5794, 0, "a"], - [5795, 0, "t"], - [5796, 0, "o"], - [5797, 0, "r"], - [5798, 0, " "], - [5799, 0, "\\"], - [5800, 0, "v"], - [5801, 0, "e"], - [5802, 0, "r"], - [5803, 0, "b"], - [5804, 0, "|"], - [5805, 0, "["], - [5806, 0, "\""], - [5807, 0, "k"], - [5808, 0, "e"], - [5809, 0, "y"], - [5810, 0, "\""], - [5811, 0, "]"], - [5812, 0, "|"], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5813, 1], - [5893, 1], - [5893, 0, " "], - [5894, 0, "a"], - [5895, 0, "n"], - [5896, 0, "d"], - [5956, 1], - [5956, 0, "."], - [5957, 0, "\n"], - [5958, 0, "\n"], - [5959, 0, "T"], - [5960, 0, "h"], - [5961, 0, "e"], - [5962, 0, " "], - [5963, 0, "e"], - [5964, 0, "x"], - [5965, 0, "p"], - [5966, 0, "r"], - [5967, 0, "e"], - [5968, 0, "s"], - [5969, 0, "s"], - [5970, 0, "i"], - [5971, 0, "o"], - [5972, 0, "n"], - [5973, 0, " "], - [5974, 0, "c"], - [5975, 0, "o"], - [5976, 0, "n"], - [5977, 0, "s"], - [5978, 0, "t"], - [5979, 0, "r"], - [5980, 0, "u"], - [5981, 0, "c"], - [5982, 0, "t"], - [5983, 0, " "], - [5984, 0, "E"], - [5985, 0, "X"], - [5986, 0, "P"], - [5987, 0, "R"], - [5988, 0, " "], - [5989, 0, "c"], - [5990, 0, "a"], - [5991, 0, "n"], - [5992, 0, " "], - [5993, 0, "a"], - [5994, 0, "l"], - [5995, 0, "s"], - [5996, 0, "o"], - [5997, 0, " "], - [5998, 0, "q"], - [5999, 0, "u"], - [6000, 0, "e"], - [6001, 0, "r"], - [6002, 0, "y"], - [6003, 0, " "], - [6004, 0, "t"], - [6005, 0, "h"], - [6006, 0, "e"], - [6007, 0, " "], - [6008, 0, "s"], - [6009, 0, "t"], - [6010, 0, "a"], - [6011, 0, "t"], - [6012, 0, "e"], - [6013, 0, " "], - [6014, 0, "o"], - [6015, 0, "f"], - [6016, 0, " "], - [6017, 0, "t"], - [6018, 0, "h"], - [6019, 0, "e"], - [6020, 0, " "], - [6021, 0, "d"], - [6022, 0, "o"], - [6023, 0, "c"], - [6024, 0, "u"], - [6025, 0, "m"], - [6026, 0, "e"], - [6027, 0, "n"], - [6028, 0, "t"], - [6029, 0, ":"], - [6072, 1], - [6072, 0, "t"], - [6073, 0, "h"], - [6074, 0, "e"], - [6079, 0, " "], - [6080, 0, "a"], - [6081, 0, "t"], - [6082, 0, " "], - [6083, 0, "t"], - [6084, 0, "h"], - [6085, 0, "e"], - [6086, 0, " "], - [6087, 0, "c"], - [6088, 0, "u"], - [6089, 0, "r"], - [6090, 0, "r"], - [6091, 0, "e"], - [6092, 0, "n"], - [6093, 0, "t"], - [6094, 0, " "], - [6095, 0, "c"], - [6096, 0, "u"], - [6097, 0, "r"], - [6098, 0, "s"], - [6099, 0, "o"], - [6100, 0, "r"], - [6171, 0, " "], - [6172, 0, "c"], - [6173, 0, "u"], - [6174, 0, "r"], - [6175, 0, "s"], - [6176, 0, "o"], - [6177, 0, "r"], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6178, 1], - [6214, 1], - [6213, 1], - [6212, 1], - [6212, 0, "i"], - [6213, 0, "f"], - [6214, 0, " "], - [6215, 0, "t"], - [6216, 0, "h"], - [6217, 0, "e"], - [6218, 0, " "], - [6219, 0, "c"], - [6220, 0, "u"], - [6221, 0, "r"], - [6222, 0, "s"], - [6223, 0, "o"], - [6224, 0, "r"], - [6225, 0, " "], - [6226, 0, "r"], - [6227, 0, "e"], - [6228, 0, "f"], - [6229, 0, "e"], - [6230, 0, "r"], - [6231, 0, "s"], - [6232, 0, " "], - [6233, 0, "t"], - [6234, 0, "o"], - [6235, 0, " "], - [6236, 0, "a"], - [6237, 0, " "], - [6237, 1], - [6249, 1], - [6249, 1], - [6249, 1], - [6249, 1], - [6249, 1], - [6249, 1], - [5430, 1], - [5429, 1], - [5428, 1], - [5427, 1], - [5426, 1], - [5425, 1], - [5424, 1], - [5423, 1], - [5422, 1], - [5421, 1], - [5420, 1], - [5419, 1], - [5418, 1], - [5417, 1], - [5416, 1], - [5415, 1], - [5414, 1], - [5413, 1], - [5412, 1], - [5411, 1], - [5410, 1], - [5409, 1], - [5408, 1], - [5407, 1], - [5406, 1], - [5405, 1], - [5404, 1], - [5403, 1], - [5402, 1], - [5401, 1], - [5400, 1], - [5399, 1], - [5398, 1], - [5397, 1], - [5396, 1], - [5395, 1], - [5394, 1], - [5393, 1], - [6586, 0, " "], - [6587, 0, "p"], - [6588, 0, "a"], - [6589, 0, "r"], - [6590, 0, "t"], - [6591, 0, " "], - [6592, 0, "o"], - [6593, 0, "f"], - [6594, 0, " "], - [6595, 0, "t"], - [6596, 0, "h"], - [6597, 0, "e"], - [6598, 0, " "], - [6599, 0, "d"], - [6600, 0, "o"], - [6601, 0, "c"], - [6602, 0, "u"], - [6603, 0, "m"], - [6604, 0, "e"], - [6605, 0, "n"], - [6606, 0, "t"], - [6607, 0, " "], - [6608, 0, "b"], - [6609, 0, "e"], - [6610, 0, "i"], - [6611, 0, "n"], - [6612, 0, "g"], - [6613, 0, " "], - [6614, 0, "m"], - [6615, 0, "o"], - [6616, 0, "d"], - [6617, 0, "i"], - [6618, 0, "f"], - [6619, 0, "i"], - [6620, 0, "e"], - [6621, 0, "d"], - [6622, 0, " "], - [6623, 0, "i"], - [6624, 0, "s"], - [6625, 0, " "], - [6626, 0, "i"], - [6627, 0, "d"], - [6628, 0, "e"], - [6629, 0, "n"], - [6630, 0, "t"], - [6631, 0, "i"], - [6632, 0, "f"], - [6633, 0, "i"], - [6634, 0, "e"], - [6635, 0, "d"], - [6636, 0, " "], - [6637, 0, "b"], - [6638, 0, "y"], - [6639, 0, " "], - [6639, 1], - [6638, 1], - [6637, 1], - [6636, 1], - [6635, 1], - [6634, 1], - [6633, 1], - [6632, 1], - [6631, 1], - [6630, 1], - [6629, 1], - [6628, 1], - [6627, 1], - [6626, 1], - [6625, 1], - [6624, 1], - [6623, 1], - [6622, 1], - [6621, 1], - [6620, 1], - [6619, 1], - [6618, 1], - [6617, 1], - [6616, 1], - [6615, 1], - [6614, 1], - [6613, 1], - [6612, 1], - [6611, 1], - [6610, 1], - [6609, 1], - [6608, 1], - [6607, 1], - [6606, 1], - [6605, 1], - [6604, 1], - [6603, 1], - [6602, 1], - [6601, 1], - [6600, 1], - [6599, 1], - [6598, 1], - [6597, 1], - [6596, 1], - [6595, 1], - [6594, 1], - [6593, 1], - [6592, 1], - [6591, 1], - [6590, 1], - [6589, 1], - [6588, 1], - [6587, 1], - [6586, 1], - [6621, 1], - [6620, 1], - [6619, 1], - [6618, 1], - [6617, 1], - [6616, 1], - [6615, 1], - [6614, 1], - [6613, 1], - [6613, 0, "d"], - [6614, 0, "e"], - [6615, 0, "f"], - [6616, 0, "i"], - [6617, 0, "n"], - [6618, 0, "e"], - [6619, 0, "s"], - [6620, 0, " "], - [6621, 0, "t"], - [6622, 0, "h"], - [6623, 0, "e"], - [6631, 1], - [6631, 0, " "], - [6632, 0, "t"], - [6633, 0, "h"], - [6634, 0, "a"], - [6635, 0, "t"], - [6647, 1], - [6646, 1], - [6645, 1], - [6644, 1], - [6644, 0, "i"], - [6645, 0, "e"], - [6646, 0, "s"], - [4686, 0, " "], - [4687, 0, "i"], - [4688, 0, "n"], - [4689, 0, "t"], - [4690, 0, "r"], - [4691, 0, "o"], - [4692, 0, "d"], - [4693, 0, "u"], - [4694, 0, "c"], - [4695, 0, "t"], - [4696, 0, "i"], - [4697, 0, "o"], - [4698, 0, "n"], - [8050, 1], - [8050, 1], - [8050, 1], - [8072, 1], - [8071, 1], - [8070, 1], - [8069, 1], - [8068, 1], - [8067, 1], - [8066, 1], - [8065, 1], - [8064, 1], - [8063, 1], - [8062, 1], - [8061, 1], - [8060, 1], - [8060, 0, "L"], - [8060, 1], - [8060, 0, "{"], - [8061, 0, "L"], - [8062, 0, "o"], - [8063, 0, "c"], - [8064, 0, "a"], - [8065, 0, "l"], - [8479, 0, " "], - [8480, 0, "\\"], - [8481, 0, "m"], - [8482, 0, "a"], - [8483, 0, "t"], - [8484, 0, "h"], - [8485, 0, "s"], - [8486, 0, "f"], - [8487, 0, "{"], - [8488, 0, "p"], - [8489, 0, "r"], - [8490, 0, "e"], - [8491, 0, "s"], - [8492, 0, "}"], - [8493, 0, "("], - [8494, 0, "\\"], - [8495, 0, "m"], - [8496, 0, "a"], - [8497, 0, "t"], - [8498, 0, "h"], - [8499, 0, "i"], - [8500, 0, "t"], - [8501, 0, "{"], - [8502, 0, "i"], - [8503, 0, "d"], - [8504, 0, "}"], - [8505, 0, "_"], - [8506, 0, "3"], - [8507, 0, "}"], - [8508, 0, " "], - [8509, 0, "\\"], - [8510, 0, "m"], - [8511, 0, "a"], - [8512, 0, "p"], - [8513, 0, "s"], - [8514, 0, "t"], - [8515, 0, "o"], - [8516, 0, " "], - [8517, 0, "\\"], - [8518, 0, "{"], - [8519, 0, "\\"], - [8520, 0, "m"], - [8521, 0, "a"], - [8522, 0, "t"], - [8523, 0, "h"], - [8524, 0, "i"], - [8525, 0, "t"], - [8526, 0, "{"], - [8527, 0, "i"], - [8528, 0, "d"], - [8529, 0, "}"], - [8530, 0, "_"], - [8531, 0, "3"], - [8532, 0, "\\"], - [8533, 0, "}"], - [8534, 0, ","], - [8507, 1], - [8507, 0, ")"], - [8479, 0, "\\"], - [8480, 0, ";"], - [8694, 0, "\\"], - [8695, 0, ";"], - [8696, 0, " "], - [8697, 0, "\\"], - [8698, 0, "m"], - [8699, 0, "a"], - [8700, 0, "t"], - [8701, 0, "h"], - [8702, 0, "s"], - [8703, 0, "f"], - [8704, 0, "{"], - [8705, 0, "p"], - [8706, 0, "r"], - [8707, 0, "e"], - [8708, 0, "s"], - [8709, 0, "}"], - [8710, 0, "("], - [8711, 0, "\\"], - [8712, 0, "m"], - [8713, 0, "a"], - [8714, 0, "t"], - [8715, 0, "h"], - [8716, 0, "i"], - [8717, 0, "t"], - [8718, 0, "{"], - [8719, 0, "i"], - [8720, 0, "d"], - [8721, 0, "_"], - [8721, 1], - [8721, 0, "}"], - [8722, 0, "_"], - [8723, 0, "1"], - [8724, 0, ")"], - [8725, 0, " "], - [8726, 0, "\\"], - [8727, 0, "m"], - [8728, 0, "a"], - [8729, 0, "p"], - [8730, 0, "s"], - [8731, 0, "t"], - [8732, 0, "o"], - [8733, 0, " "], - [8734, 0, "\\"], - [8735, 0, "{"], - [8736, 0, "\\"], - [8737, 0, "m"], - [8738, 0, "a"], - [8739, 0, "t"], - [8740, 0, "h"], - [8741, 0, "i"], - [8742, 0, "t"], - [8743, 0, "{"], - [8744, 0, "i"], - [8745, 0, "d"], - [8746, 0, "}"], - [8747, 0, "_"], - [8748, 0, "1"], - [8749, 0, "\\"], - [8750, 0, "}"], - [8751, 0, ","], - [8908, 0, ","], - [8909, 0, "\\"], - [8910, 0, ";"], - [8911, 0, " "], - [8912, 0, "\\"], - [8913, 0, "m"], - [8914, 0, "a"], - [8915, 0, "t"], - [8916, 0, "h"], - [8917, 0, "s"], - [8918, 0, "f"], - [8919, 0, "{"], - [8920, 0, "p"], - [8921, 0, "r"], - [8922, 0, "e"], - [8923, 0, "s"], - [8924, 0, "}"], - [8925, 0, "("], - [8926, 0, "\\"], - [8927, 0, "m"], - [8928, 0, "a"], - [8929, 0, "t"], - [8930, 0, "h"], - [8931, 0, "i"], - [8932, 0, "t"], - [8933, 0, "{"], - [8934, 0, "i"], - [8935, 0, "d"], - [8936, 0, "}"], - [8937, 0, "_"], - [8938, 0, "2"], - [8939, 0, ")"], - [8940, 0, " "], - [8941, 0, "\\"], - [8942, 0, "m"], - [8943, 0, "a"], - [8944, 0, "p"], - [8945, 0, "s"], - [8946, 0, "t"], - [8947, 0, "o"], - [8948, 0, " "], - [8949, 0, "\\"], - [8950, 0, "{"], - [8951, 0, "\\"], - [8952, 0, "m"], - [8953, 0, "a"], - [8954, 0, "t"], - [8955, 0, "h"], - [8956, 0, "i"], - [8957, 0, "t"], - [8958, 0, "{"], - [8959, 0, "i"], - [8960, 0, "d"], - [8961, 0, "}"], - [8962, 0, "_"], - [8963, 0, "2"], - [8964, 0, "\\"], - [8965, 0, "}"], - [8976, 0, ","], - [8979, 0, " "], - [8980, 0, "\\"], - [8981, 0, "m"], - [8982, 0, "a"], - [8983, 0, "t"], - [8984, 0, "h"], - [8985, 0, "s"], - [8986, 0, "f"], - [8987, 0, "{"], - [8988, 0, "p"], - [8989, 0, "r"], - [8990, 0, "e"], - [8991, 0, "s"], - [8992, 0, "}"], - [8993, 0, "("], - [8994, 0, "\\"], - [8995, 0, "m"], - [8996, 0, "a"], - [8997, 0, "t"], - [8998, 0, "h"], - [8998, 1], - [8997, 1], - [8996, 1], - [8995, 1], - [8994, 1], - [8994, 0, "\\"], - [8995, 0, "t"], - [8996, 0, "e"], - [8997, 0, "x"], - [8998, 0, "t"], - [8999, 0, "{"], - [9000, 0, "`"], - [9001, 0, "`"], - [9002, 0, "s"], - [9003, 0, "h"], - [9004, 0, "o"], - [9005, 0, "p"], - [9006, 0, "p"], - [9007, 0, "i"], - [9008, 0, "n"], - [9009, 0, "g"], - [9010, 0, "'"], - [9011, 0, "'"], - [9012, 0, "}"], - [9013, 0, ")"], - [9014, 0, " "], - [9015, 0, "\\"], - [9016, 0, "m"], - [9017, 0, "a"], - [9018, 0, "p"], - [9019, 0, "s"], - [9020, 0, "t"], - [9021, 0, "o"], - [9022, 0, " "], - [9023, 0, "\\"], - [9024, 0, "{"], - [9025, 0, "\\"], - [9026, 0, "m"], - [9027, 0, "a"], - [9028, 0, "t"], - [9029, 0, "h"], - [9030, 0, "i"], - [9031, 0, "t"], - [9032, 0, "{"], - [9033, 0, "i"], - [9034, 0, "d"], - [9035, 0, "}"], - [9036, 0, "_"], - [9037, 0, "1"], - [9038, 0, ","], - [9039, 0, " "], - [9040, 0, "\\"], - [9041, 0, "m"], - [9042, 0, "a"], - [9043, 0, "t"], - [9044, 0, "h"], - [9045, 0, "i"], - [9046, 0, "t"], - [9047, 0, "{"], - [9048, 0, "i"], - [9049, 0, "d"], - [9050, 0, "}"], - [9051, 0, "+"], - [9051, 1], - [9051, 0, "_"], - [9052, 0, "2"], - [9053, 0, ","], - [9054, 0, " "], - [9055, 0, "\\"], - [9056, 0, "m"], - [9057, 0, "a"], - [9058, 0, "t"], - [9059, 0, "h"], - [9060, 0, "i"], - [9061, 0, "t"], - [9062, 0, "{"], - [9063, 0, "i"], - [9064, 0, "d"], - [9065, 0, "}"], - [9066, 0, "_"], - [9067, 0, "3"], - [9068, 0, "\\"], - [9069, 0, ";"], - [9068, 0, " "], - [8974, 0, "\\"], - [8975, 0, "m"], - [8976, 0, "u"], - [8977, 0, "l"], - [8978, 0, "t"], - [8979, 0, "i"], - [8980, 0, "a"], - [8981, 0, "l"], - [8982, 0, "i"], - [8983, 0, "g"], - [8984, 0, "n"], - [8985, 0, "{"], - [8986, 0, "3"], - [8987, 0, "}"], - [8988, 0, "{"], - [8994, 0, "\n"], - [8995, 0, " "], - [8996, 0, " "], - [8997, 0, " "], - [9093, 0, "}"], - [9087, 0, "\\"], - [9088, 0, "}"], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15561, 1], - [15554, 1], - [15553, 1], - [15552, 1], - [15551, 1], - [15550, 1], - [15549, 1], - [15595, 1], - [15594, 1], - [15593, 1], - [15592, 1], - [15591, 1], - [15590, 1], - [15589, 1], - [15588, 1], - [15587, 1], - [15586, 1], - [15585, 1], - [15584, 1], - [15583, 1], - [15582, 1], - [15581, 1], - [15580, 1], - [16639, 1], - [16639, 1], - [16639, 1], - [16639, 1], - [16639, 1], - [16639, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 1], - [16645, 0, ","], - [16646, 0, " "], - [16647, 0, "w"], - [16648, 0, "h"], - [16649, 0, "i"], - [16650, 0, "c"], - [16651, 0, "h"], - [10660, 1], - [10659, 1], - [10659, 0, "t"], - [10660, 0, "t"], - [10664, 1], - [10663, 1], - [10662, 1], - [10662, 0, "["], - [10664, 1], - [10676, 1], - [10676, 0, "\\"], - [10677, 0, "m"], - [10678, 0, "a"], - [10679, 0, "t"], - [10680, 0, "h"], - [10681, 0, "t"], - [10682, 0, "t"], - [10683, 0, "{"], - [10684, 0, "]"], - [10685, 0, "}"], - [10680, 1], - [10679, 1], - [10678, 1], - [10677, 1], - [10677, 0, "t"], - [10678, 0, "e"], - [10679, 0, "x"], - [10680, 0, "t"], - [10658, 1], - [10657, 1], - [10656, 1], - [10655, 1], - [10655, 0, "t"], - [10656, 0, "e"], - [10657, 0, "x"], - [10658, 0, "t"], - [18285, 1], - [18284, 1], - [18283, 1], - [18282, 1], - [18281, 1], - [18281, 0, "["], - [18292, 1], - [18292, 0, "]"], - [18484, 1], - [18483, 1], - [18482, 1], - [18481, 1], - [18481, 0, "["], - [18482, 0, "."], - [18483, 0, "."], - [18484, 0, "."], - [18485, 0, "]"], - [18774, 1], - [18774, 1], - [18774, 1], - [18774, 1], - [18774, 1], - [18774, 0, "f"], - [18775, 0, "o"], - [18776, 0, "u"], - [18777, 0, "r"], - [18805, 1], - [18804, 1], - [18803, 1], - [18803, 0, "\\"], - [18804, 0, "d"], - [18805, 0, "o"], - [18806, 0, "t"], - [18807, 0, "s"], - [18808, 0, ","], - [18809, 0, "4"], - [19022, 1], - [19022, 0, "4"], - [19108, 0, " "], - [19109, 0, "$"], - [19110, 0, "\\"], - [19111, 0, "t"], - [19112, 0, "e"], - [19113, 0, "x"], - [19114, 0, "t"], - [19115, 0, "s"], - [19116, 0, "c"], - [19117, 0, "{"], - [19118, 0, "N"], - [19119, 0, "e"], - [19120, 0, "x"], - [19121, 0, "t"], - [19122, 0, "}"], - [19123, 0, "_"], - [19124, 0, "{"], - [19125, 0, "2"], - [19126, 0, ","], - [19127, 0, "3"], - [19128, 0, "}"], - [19129, 0, "$"], - [19130, 0, " "], - [19131, 0, "i"], - [19132, 0, "n"], - [19133, 0, "s"], - [19134, 0, "p"], - [19135, 0, "e"], - [19136, 0, "c"], - [19137, 0, "t"], - [19138, 0, " "], - [19138, 1], - [19137, 1], - [19136, 1], - [19135, 1], - [19134, 1], - [19133, 1], - [19132, 1], - [19131, 1], - [19131, 0, "a"], - [19132, 0, "r"], - [19133, 0, "e"], - [19134, 0, " "], - [19135, 0, "c"], - [19136, 0, "o"], - [19137, 0, "n"], - [19138, 0, "d"], - [19139, 0, "i"], - [19140, 0, "t"], - [19141, 0, "i"], - [19142, 0, "o"], - [19143, 0, "n"], - [19144, 0, "a"], - [19145, 0, "l"], - [19146, 0, " "], - [19147, 0, "o"], - [19148, 0, "n"], - [19149, 0, " "], - [19150, 0, "a"], - [19151, 0, "n"], - [19152, 0, " "], - [19153, 0, "e"], - [19154, 0, "n"], - [19155, 0, "t"], - [19156, 0, "r"], - [19157, 0, "y"], - [19158, 0, " "], - [19159, 0, "$"], - [19160, 0, "\\"], - [19161, 0, "m"], - [19162, 0, "a"], - [19163, 0, "t"], - [19164, 0, "h"], - [19165, 0, "s"], - [19166, 0, "f"], - [19167, 0, "{"], - [19168, 0, "p"], - [19169, 0, "r"], - [19170, 0, "e"], - [19171, 0, "s"], - [19172, 0, "}"], - [19173, 0, "("], - [19174, 0, "k"], - [19175, 0, "'"], - [19176, 0, ")"], - [19177, 0, "$"], - [19178, 0, " "], - [19179, 0, "i"], - [19180, 0, "n"], - [19181, 0, " "], - [19182, 0, "$"], - [19183, 0, "A"], - [19184, 0, "_"], - [19185, 0, "p"], - [19186, 0, "$"], - [19187, 0, ","], - [19188, 0, " "], - [19189, 0, "w"], - [19190, 0, "h"], - [19191, 0, "i"], - [19192, 0, "c"], - [19193, 0, "h"], - [19194, 0, " "], - [19195, 0, "e"], - [19196, 0, "n"], - [19197, 0, "c"], - [19198, 0, "o"], - [19199, 0, "d"], - [19200, 0, "e"], - [19201, 0, "s"], - [19202, 0, " "], - [19203, 0, "t"], - [19204, 0, "h"], - [19205, 0, "e"], - [19206, 0, " "], - [19207, 0, "\\"], - [19208, 0, "e"], - [19209, 0, "m"], - [19210, 0, "p"], - [19211, 0, "h"], - [19212, 0, "{"], - [19213, 0, "p"], - [19214, 0, "r"], - [19215, 0, "e"], - [19216, 0, "s"], - [19217, 0, "e"], - [19218, 0, "n"], - [19219, 0, "c"], - [19220, 0, "e"], - [19221, 0, "}"], - [19222, 0, " "], - [19223, 0, "o"], - [19224, 0, "f"], - [19225, 0, " "], - [19226, 0, "a"], - [19227, 0, "n"], - [19228, 0, " "], - [19229, 0, "e"], - [19230, 0, "l"], - [19231, 0, "e"], - [19232, 0, "m"], - [19233, 0, "e"], - [19234, 0, "n"], - [19235, 0, "t"], - [19236, 0, " "], - [19237, 0, "i"], - [19238, 0, "n"], - [19239, 0, " "], - [19240, 0, "t"], - [19241, 0, "h"], - [19242, 0, "e"], - [19243, 0, " "], - [19244, 0, "l"], - [19245, 0, "i"], - [19246, 0, "s"], - [19247, 0, "t"], - [19248, 0, ":"], - [19249, 0, " "], - [19250, 0, "i"], - [19251, 0, "f"], - [19252, 0, " "], - [19253, 0, "t"], - [19254, 0, "h"], - [19255, 0, "e"], - [19256, 0, " "], - [19257, 0, "p"], - [19258, 0, "r"], - [19259, 0, "e"], - [19260, 0, "s"], - [19261, 0, "e"], - [19262, 0, "n"], - [19263, 0, "c"], - [19264, 0, "e"], - [19265, 0, " "], - [19266, 0, "s"], - [19267, 0, "e"], - [19268, 0, "t"], - [19269, 0, " "], - [19270, 0, "i"], - [19271, 0, "s"], - [19272, 0, " "], - [19273, 0, "e"], - [19274, 0, "m"], - [19275, 0, "p"], - [19276, 0, "t"], - [19277, 0, "y"], - [19278, 0, ","], - [19279, 0, " "], - [19280, 0, "t"], - [19281, 0, "h"], - [19282, 0, "a"], - [19283, 0, "t"], - [19284, 0, " "], - [19285, 0, "m"], - [19286, 0, "e"], - [19287, 0, "a"], - [19288, 0, "n"], - [19289, 0, "s"], - [19290, 0, " "], - [19291, 0, "t"], - [19292, 0, "h"], - [19293, 0, "e"], - [19294, 0, " "], - [19295, 0, "l"], - [19296, 0, "i"], - [19297, 0, "s"], - [19298, 0, "t"], - [19299, 0, " "], - [19300, 0, "e"], - [19301, 0, "l"], - [19302, 0, "e"], - [19303, 0, "m"], - [19304, 0, "e"], - [19305, 0, "n"], - [19306, 0, "t"], - [19307, 0, " "], - [19308, 0, "w"], - [19309, 0, "a"], - [19310, 0, "s"], - [19311, 0, " "], - [19312, 0, "d"], - [19313, 0, "e"], - [19314, 0, "l"], - [19315, 0, "e"], - [19316, 0, "t"], - [19317, 0, "e"], - [19318, 0, "d"], - [19319, 0, ","], - [19320, 0, " "], - [19321, 0, "a"], - [19322, 0, "n"], - [19323, 0, "d"], - [19324, 0, " "], - [19325, 0, "s"], - [19326, 0, "o"], - [19327, 0, " "], - [19328, 0, "$"], - [19329, 0, "\\"], - [19330, 0, "t"], - [19331, 0, "e"], - [19332, 0, "x"], - [19333, 0, "t"], - [19334, 0, "s"], - [19335, 0, "c"], - [19336, 0, "{"], - [19337, 0, "N"], - [19338, 0, "e"], - [19339, 0, "x"], - [19340, 0, "t"], - [19341, 0, "}"], - [19342, 0, "_"], - [19343, 0, "3"], - [19344, 0, "$"], - [19345, 0, " "], - [19346, 0, "s"], - [19347, 0, "k"], - [19348, 0, "i"], - [19349, 0, "p"], - [19350, 0, "s"], - [19351, 0, " "], - [19352, 0, "o"], - [19353, 0, "v"], - [19354, 0, "e"], - [19355, 0, "r"], - [19356, 0, " "], - [19357, 0, "t"], - [19358, 0, "h"], - [19359, 0, "e"], - [19360, 0, " "], - [19361, 0, "e"], - [19362, 0, "l"], - [19363, 0, "e"], - [19364, 0, "m"], - [19365, 0, "e"], - [19366, 0, "n"], - [19367, 0, "t"], - [19368, 0, "."], - [19369, 0, " "], - [19370, 0, "I"], - [19371, 0, "f"], - [19372, 0, " "], - [19373, 0, "t"], - [19374, 0, "h"], - [19375, 0, "e"], - [19376, 0, " "], - [19377, 0, "p"], - [19378, 0, "r"], - [19379, 0, "e"], - [19380, 0, "s"], - [19381, 0, "e"], - [19382, 0, "n"], - [19383, 0, "c"], - [19384, 0, "e"], - [19385, 0, " "], - [19386, 0, "s"], - [19387, 0, "e"], - [19388, 0, "t"], - [19389, 0, " "], - [19390, 0, "i"], - [19391, 0, "s"], - [19392, 0, " "], - [19393, 0, "n"], - [19394, 0, "o"], - [19395, 0, "n"], - [19396, 0, "="], - [19397, 0, "-"], - [19397, 1], - [19396, 1], - [19396, 0, "-"], - [19396, 1], - [19396, 0, "e"], - [19397, 0, "m"], - [19398, 0, "p"], - [19399, 0, "t"], - [19400, 0, "y"], - [19401, 0, " "], - [19401, 1], - [19401, 0, ","], - [19402, 0, " "], - [19403, 0, "$"], - [19404, 0, "\\"], - [19405, 0, "t"], - [19406, 0, "e"], - [19407, 0, "x"], - [19408, 0, "t"], - [19409, 0, "s"], - [19410, 0, "c"], - [19411, 0, "{"], - [19412, 0, "N"], - [19413, 0, "e"], - [19414, 0, "x"], - [19415, 0, "t"], - [19416, 0, "}"], - [19417, 0, "_"], - [19418, 0, "2"], - [19419, 0, "$"], - [19420, 0, " "], - [19421, 0, "a"], - [19422, 0, "p"], - [19423, 0, "p"], - [19424, 0, "l"], - [19425, 0, "i"], - [19426, 0, "e"], - [19427, 0, "s"], - [19428, 0, "."], - [19429, 0, "\n"], - [19430, 0, "\n"], - [19431, 0, "T"], - [19432, 0, "h"], - [19433, 0, "e"], - [19434, 0, " "], - [19435, 0, "$"], - [19436, 0, "\\"], - [19437, 0, "t"], - [19438, 0, "e"], - [19439, 0, "x"], - [19440, 0, "t"], - [19441, 0, "s"], - [19442, 0, "c"], - [19443, 0, "{"], - [19444, 0, "K"], - [19445, 0, "e"], - [19446, 0, "y"], - [19447, 0, "s"], - [19448, 0, "}"], - [19449, 0, "_"], - [19450, 0, "{"], - [19451, 0, "1"], - [19452, 0, ","], - [19453, 0, "2"], - [19454, 0, ","], - [19455, 0, "3"], - [19456, 0, "}"], - [19457, 0, "$"], - [19458, 0, " "], - [19459, 0, "r"], - [19460, 0, "u"], - [19461, 0, "l"], - [19462, 0, "e"], - [19463, 0, "s"], - [19464, 0, " "], - [19465, 0, "a"], - [19466, 0, "l"], - [19467, 0, "l"], - [19468, 0, "o"], - [19469, 0, "w"], - [19470, 0, " "], - [19471, 0, "t"], - [19472, 0, "h"], - [19473, 0, "e"], - [19474, 0, " "], - [19475, 0, "a"], - [19476, 0, "p"], - [19477, 0, "p"], - [19478, 0, "l"], - [19479, 0, "i"], - [19480, 0, "c"], - [19481, 0, "a"], - [19482, 0, "t"], - [19483, 0, "i"], - [19484, 0, "o"], - [19485, 0, "n"], - [19486, 0, " "], - [19487, 0, "t"], - [19488, 0, "o"], - [19489, 0, " "], - [19490, 0, "i"], - [19491, 0, "n"], - [19492, 0, "s"], - [19493, 0, "p"], - [19494, 0, "e"], - [19495, 0, "c"], - [19496, 0, "t"], - [19497, 0, " "], - [19498, 0, "t"], - [19499, 0, "h"], - [19500, 0, "e"], - [19501, 0, " "], - [19502, 0, "s"], - [19503, 0, "e"], - [19504, 0, "t"], - [19505, 0, " "], - [19506, 0, "o"], - [19507, 0, "f"], - [19508, 0, " "], - [19509, 0, "k"], - [19510, 0, "e"], - [19511, 0, "y"], - [19512, 0, "s"], - [19513, 0, " "], - [19514, 0, "t"], - [19515, 0, "h"], - [19516, 0, "a"], - [19517, 0, "t"], - [19518, 0, " "], - [19519, 0, "a"], - [19520, 0, "r"], - [19521, 0, "e"], - [19522, 0, " "], - [19523, 0, "d"], - [19524, 0, "e"], - [19525, 0, "f"], - [19526, 0, "i"], - [19527, 0, "n"], - [19528, 0, "e"], - [19529, 0, "d"], - [19530, 0, " "], - [19531, 0, "i"], - [19532, 0, "n"], - [19533, 0, " "], - [19534, 0, "a"], - [19535, 0, " "], - [19536, 0, "m"], - [19537, 0, "a"], - [19538, 0, "p"], - [19539, 0, "."], - [19540, 0, " "], - [19541, 0, "T"], - [19542, 0, "h"], - [19543, 0, "i"], - [19544, 0, "s"], - [19545, 0, " "], - [19546, 0, "s"], - [19547, 0, "e"], - [19548, 0, "t"], - [19549, 0, " "], - [19550, 0, "i"], - [19551, 0, "s"], - [19552, 0, " "], - [19553, 0, "d"], - [19554, 0, "e"], - [19555, 0, "t"], - [19556, 0, "e"], - [19557, 0, "r"], - [19558, 0, "m"], - [19559, 0, "i"], - [19560, 0, "n"], - [19561, 0, "e"], - [19562, 0, "d"], - [19563, 0, " "], - [19564, 0, "b"], - [19565, 0, "y"], - [19566, 0, " "], - [19567, 0, "e"], - [19568, 0, "x"], - [19569, 0, "a"], - [19570, 0, "m"], - [19571, 0, "i"], - [19572, 0, "n"], - [19573, 0, "i"], - [19574, 0, "n"], - [19575, 0, "g"], - [19576, 0, " "], - [19577, 0, "t"], - [19578, 0, "h"], - [19579, 0, "e"], - [19580, 0, " "], - [19581, 0, "l"], - [19582, 0, "o"], - [19583, 0, "c"], - [19584, 0, "a"], - [19585, 0, "l"], - [19586, 0, " "], - [19587, 0, "s"], - [19588, 0, "t"], - [19589, 0, "a"], - [19590, 0, "t"], - [19591, 0, "e"], - [19592, 0, ","], - [19593, 0, " "], - [19594, 0, "a"], - [19595, 0, "n"], - [19596, 0, "d"], - [19597, 0, " "], - [19598, 0, "e"], - [19599, 0, "x"], - [19600, 0, "c"], - [19601, 0, "l"], - [19602, 0, "u"], - [19603, 0, "d"], - [19604, 0, "i"], - [19605, 0, "n"], - [19606, 0, "g"], - [19607, 0, " "], - [19608, 0, "a"], - [19609, 0, "n"], - [19610, 0, "y"], - [19611, 0, " "], - [19612, 0, "k"], - [19613, 0, "e"], - [19614, 0, "y"], - [19615, 0, "s"], - [19616, 0, " "], - [19617, 0, "f"], - [19618, 0, "o"], - [19619, 0, "r"], - [19620, 0, " "], - [19621, 0, "w"], - [19622, 0, "h"], - [19623, 0, "i"], - [19624, 0, "c"], - [19625, 0, "h"], - [19626, 0, " "], - [19627, 0, "t"], - [19628, 0, "h"], - [19629, 0, "e"], - [19630, 0, " "], - [19631, 0, "p"], - [19632, 0, "r"], - [19633, 0, "e"], - [19634, 0, "s"], - [19635, 0, "e"], - [19636, 0, "n"], - [19637, 0, "c"], - [19638, 0, "e"], - [19639, 0, " "], - [19640, 0, "s"], - [19641, 0, "e"], - [19642, 0, "t"], - [19643, 0, " "], - [19644, 0, "i"], - [19645, 0, "s"], - [19646, 0, " "], - [19647, 0, "e"], - [19648, 0, "m"], - [19649, 0, "p"], - [19650, 0, "t"], - [19651, 0, "y"], - [19652, 0, " "], - [19653, 0, "("], - [19654, 0, "i"], - [19655, 0, "n"], - [19656, 0, "d"], - [19657, 0, "i"], - [19658, 0, "c"], - [19659, 0, "a"], - [19660, 0, "t"], - [19661, 0, "i"], - [19662, 0, "n"], - [19663, 0, "g"], - [19664, 0, " "], - [19665, 0, "t"], - [19666, 0, "h"], - [19667, 0, "a"], - [19668, 0, "t"], - [19669, 0, " "], - [19670, 0, "t"], - [19671, 0, "h"], - [19672, 0, "e"], - [19673, 0, " "], - [19674, 0, "k"], - [19675, 0, "e"], - [19676, 0, "y"], - [19677, 0, " "], - [19678, 0, "h"], - [19679, 0, "a"], - [19680, 0, "s"], - [19681, 0, " "], - [19682, 0, "b"], - [19683, 0, "e"], - [19684, 0, "e"], - [19685, 0, "n"], - [19686, 0, " "], - [19687, 0, "d"], - [19688, 0, "e"], - [19689, 0, "l"], - [19690, 0, "e"], - [19691, 0, "t"], - [19692, 0, "e"], - [19693, 0, "d"], - [19694, 0, ")"], - [19695, 0, "."], - [19746, 1], - [19746, 1], - [19746, 1], - [19746, 1], - [19746, 1], - [19746, 1], - [19746, 1], - [19746, 1], - [19746, 1], - [19746, 0, "t"], - [19747, 0, "h"], - [19748, 0, "e"], - [19749, 0, " "], - [19750, 0, "a"], - [19751, 0, "p"], - [19752, 0, "p"], - [19753, 0, "l"], - [19754, 0, "i"], - [19755, 0, "c"], - [19756, 0, "a"], - [19757, 0, "t"], - [19758, 0, "i"], - [19759, 0, "o"], - [19760, 0, "n"], - [18807, 1], - [18806, 1], - [18805, 1], - [18804, 1], - [18803, 1], - [18803, 0, "2"], - [18804, 0, ","], - [18805, 0, "3"], - [19004, 1], - [19003, 1], - [19002, 1], - [19001, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [21537, 1], - [29726, 1], - [29726, 1], - [29726, 1], - [29726, 1], - [29726, 1], - [29726, 1], - [29726, 1], - [29726, 1], - [35213, 0, "\n"], - [35214, 0, "\n"], - [35215, 0, "F"], - [35216, 0, "i"], - [35217, 0, "g"], - [35218, 0, "u"], - [35219, 0, "r"], - [35220, 0, "e"], - [35221, 0, "~"], - [35222, 0, "\\"], - [35223, 0, "r"], - [35224, 0, "e"], - [35225, 0, "f"], - [35226, 0, "{"], - [35227, 0, "f"], - [35228, 0, "i"], - [35229, 0, "g"], - [35230, 0, ":"], - [35231, 0, "o"], - [35232, 0, "p"], - [35233, 0, "e"], - [35234, 0, "r"], - [35235, 0, "a"], - [35236, 0, "t"], - [35237, 0, "i"], - [35238, 0, "o"], - [35239, 0, "n"], - [35240, 0, "-"], - [35241, 0, "r"], - [35242, 0, "u"], - [35243, 0, "l"], - [35244, 0, "e"], - [35245, 0, "s"], - [35246, 0, "}"], - [35247, 0, " "], - [35248, 0, "g"], - [35249, 0, "i"], - [35250, 0, "v"], - [35251, 0, "e"], - [35252, 0, "s"], - [35253, 0, " "], - [35254, 0, "t"], - [35255, 0, "h"], - [35256, 0, "e"], - [35257, 0, " "], - [35258, 0, "r"], - [35259, 0, "u"], - [35260, 0, "l"], - [35261, 0, "e"], - [35262, 0, "s"], - [35263, 0, " "], - [35264, 0, "t"], - [35265, 0, "h"], - [35266, 0, "a"], - [35267, 0, "t"], - [35268, 0, " "], - [35269, 0, "e"], - [35270, 0, "v"], - [35271, 0, "a"], - [35272, 0, "l"], - [35273, 0, "u"], - [35274, 0, "a"], - [35275, 0, "t"], - [35276, 0, "e"], - [35277, 0, " "], - [35278, 0, "a"], - [35279, 0, "n"], - [35280, 0, " "], - [35281, 0, "o"], - [35282, 0, "p"], - [35283, 0, "e"], - [35284, 0, "r"], - [35285, 0, "a"], - [35286, 0, "t"], - [35287, 0, "i"], - [35288, 0, "o"], - [35289, 0, "n"], - [35290, 0, " "], - [35291, 0, "$"], - [35292, 0, "\\"], - [35293, 0, "m"], - [35294, 0, "a"], - [35295, 0, "t"], - [35296, 0, "h"], - [35297, 0, "s"], - [35298, 0, "f"], - [35299, 0, "{"], - [35300, 0, "o"], - [35301, 0, "p"], - [35302, 0, "}"], - [35303, 0, "$"], - [35304, 0, " "], - [35305, 0, "w"], - [35306, 0, "i"], - [35307, 0, "t"], - [35308, 0, "h"], - [35309, 0, "i"], - [35310, 0, "n"], - [35311, 0, " "], - [35312, 0, "a"], - [35313, 0, " "], - [35314, 0, "c"], - [35315, 0, "o"], - [35316, 0, "n"], - [35317, 0, "t"], - [35318, 0, "e"], - [35319, 0, "x"], - [35320, 0, "t"], - [35321, 0, " "], - [35322, 0, "$"], - [35323, 0, "\\"], - [35324, 0, "m"], - [35325, 0, "a"], - [35326, 0, "t"], - [35327, 0, "h"], - [35328, 0, "i"], - [35329, 0, "t"], - [35330, 0, "{"], - [35331, 0, "c"], - [35332, 0, "t"], - [35333, 0, "x"], - [35334, 0, "}"], - [35335, 0, "$"], - [35336, 0, ","], - [35337, 0, " "], - [35338, 0, "a"], - [35339, 0, "n"], - [35340, 0, "d"], - [35341, 0, " "], - [35342, 0, "p"], - [35343, 0, "r"], - [35344, 0, "o"], - [35345, 0, "d"], - [35346, 0, "u"], - [35347, 0, "c"], - [35348, 0, "e"], - [35349, 0, " "], - [35350, 0, "a"], - [35351, 0, " "], - [35352, 0, "n"], - [35353, 0, "e"], - [35354, 0, "w"], - [35355, 0, " "], - [35355, 1], - [35354, 1], - [35353, 1], - [35352, 1], - [35351, 1], - [35351, 0, "n"], - [35352, 0, " "], - [35353, 0, "u"], - [35354, 0, "p"], - [35355, 0, "d"], - [35356, 0, "a"], - [35357, 0, "t"], - [35358, 0, "e"], - [35359, 0, "d"], - [35360, 0, " "], - [35361, 0, "c"], - [35362, 0, "o"], - [35363, 0, "n"], - [35364, 0, "t"], - [35365, 0, "e"], - [35366, 0, "x"], - [35367, 0, "t"], - [35368, 0, " "], - [35369, 0, "$"], - [35370, 0, "\\"], - [35371, 0, "m"], - [35372, 0, "a"], - [35373, 0, "t"], - [35374, 0, "h"], - [35375, 0, "i"], - [35376, 0, "t"], - [35377, 0, "{"], - [35378, 0, "c"], - [35379, 0, "t"], - [35380, 0, "x"], - [35381, 0, "}"], - [35382, 0, "'"], - [35383, 0, "$"], - [35384, 0, "."], - [35385, 0, " "], - [35386, 0, "T"], - [35387, 0, "h"], - [35388, 0, "e"], - [35389, 0, "s"], - [35390, 0, "e"], - [35391, 0, " "], - [35392, 0, "r"], - [35393, 0, "u"], - [35394, 0, "l"], - [35395, 0, "e"], - [35396, 0, "s"], - [35397, 0, " "], - [35398, 0, "a"], - [35399, 0, "r"], - [35400, 0, "e"], - [35401, 0, " "], - [35402, 0, "u"], - [35403, 0, "s"], - [35404, 0, "e"], - [35405, 0, "d"], - [35406, 0, " "], - [35407, 0, "b"], - [35408, 0, "y"], - [35409, 0, " "], - [35410, 0, "\\"], - [35411, 0, "t"], - [35412, 0, "e"], - [35413, 0, "x"], - [35414, 0, "t"], - [35415, 0, "s"], - [35416, 0, "c"], - [35417, 0, "{"], - [35418, 0, "A"], - [35419, 0, "p"], - [35420, 0, "p"], - [35421, 0, "l"], - [35422, 0, "y"], - [35423, 0, "-"], - [35424, 0, "L"], - [35425, 0, "o"], - [35426, 0, "c"], - [35427, 0, "a"], - [35428, 0, "l"], - [35429, 0, "}"], - [35430, 0, " "], - [35431, 0, "a"], - [35432, 0, "n"], - [35433, 0, "d"], - [35434, 0, " "], - [35435, 0, "\\"], - [35436, 0, "t"], - [35437, 0, "e"], - [35438, 0, "x"], - [35439, 0, "t"], - [35440, 0, "s"], - [35441, 0, "c"], - [35442, 0, "{"], - [35443, 0, "A"], - [35444, 0, "p"], - [35445, 0, "p"], - [35446, 0, "l"], - [35447, 0, "y"], - [35448, 0, "-"], - [35449, 0, "R"], - [35450, 0, "e"], - [35451, 0, "m"], - [35452, 0, "o"], - [35453, 0, "t"], - [35454, 0, "e"], - [35455, 0, "}"], - [35456, 0, " "], - [35457, 0, "t"], - [35458, 0, "o"], - [35459, 0, " "], - [35460, 0, "p"], - [35461, 0, "e"], - [35462, 0, "r"], - [35463, 0, "f"], - [35464, 0, "o"], - [35465, 0, "r"], - [35466, 0, "m"], - [35467, 0, " "], - [35468, 0, "t"], - [35469, 0, "h"], - [35470, 0, "e"], - [35471, 0, " "], - [35472, 0, "s"], - [35473, 0, "t"], - [35474, 0, "a"], - [35475, 0, "t"], - [35476, 0, "e"], - [35477, 0, " "], - [35478, 0, "u"], - [35479, 0, "p"], - [35480, 0, "d"], - [35481, 0, "a"], - [35482, 0, "t"], - [35483, 0, "e"], - [35484, 0, "s"], - [35485, 0, " "], - [35486, 0, "o"], - [35487, 0, "n"], - [35488, 0, " "], - [35489, 0, "a"], - [35490, 0, " "], - [35491, 0, "d"], - [35492, 0, "o"], - [35493, 0, "c"], - [35494, 0, "u"], - [35495, 0, "m"], - [35496, 0, "e"], - [35497, 0, "n"], - [35498, 0, "t"], - [35499, 0, "."], - [35500, 0, "\n"], - [35501, 0, "\n"], - [35502, 0, "W"], - [35503, 0, "h"], - [35504, 0, "e"], - [35505, 0, "n"], - [35506, 0, " "], - [35507, 0, "t"], - [35508, 0, "h"], - [35509, 0, "e"], - [35510, 0, " "], - [35511, 0, "c"], - [35512, 0, "u"], - [35513, 0, "r"], - [35514, 0, "s"], - [35515, 0, "o"], - [35516, 0, "r"], - [35517, 0, " "], - [35511, 0, "o"], - [35512, 0, "p"], - [35513, 0, "e"], - [35514, 0, "r"], - [35515, 0, "a"], - [35516, 0, "t"], - [35517, 0, "i"], - [35518, 0, "o"], - [35519, 0, "n"], - [35520, 0, "'"], - [35521, 0, "s"], - [35522, 0, " "], - [35530, 0, "r"], - [35531, 0, "e"], - [35532, 0, "f"], - [35533, 0, "e"], - [35534, 0, "r"], - [35535, 0, "s"], - [35536, 0, " "], - [35537, 0, "t"], - [35538, 0, "o"], - [35539, 0, " "], - [35540, 0, "a"], - [35541, 0, " "], - [35542, 0, "t"], - [35543, 0, "r"], - [35544, 0, "e"], - [35545, 0, "e"], - [35546, 0, " "], - [35547, 0, "n"], - [35548, 0, "o"], - [35549, 0, "d"], - [35550, 0, "e"], - [35551, 0, " "], - [35552, 0, "t"], - [35553, 0, "h"], - [35554, 0, "a"], - [35555, 0, "t"], - [35556, 0, " "], - [35557, 0, "i"], - [35558, 0, "s"], - [35559, 0, " "], - [35560, 0, "n"], - [35561, 0, "o"], - [35562, 0, "t"], - [35563, 0, " "], - [35564, 0, "t"], - [35565, 0, "h"], - [35566, 0, "e"], - [35567, 0, " "], - [35568, 0, "d"], - [35569, 0, "o"], - [35570, 0, "c"], - [35571, 0, "u"], - [35572, 0, "m"], - [35573, 0, "e"], - [35574, 0, "n"], - [35575, 0, "t"], - [35576, 0, " "], - [35577, 0, "r"], - [35578, 0, "o"], - [35579, 0, "o"], - [35580, 0, "t"], - [35581, 0, " "], - [35582, 0, "\\"], - [35582, 1], - [35582, 0, "$"], - [35583, 0, "\\"], - [35584, 0, "m"], - [35585, 0, "a"], - [35586, 0, "t"], - [35587, 0, "h"], - [35588, 0, "s"], - [35589, 0, "f"], - [35590, 0, "{"], - [35591, 0, "d"], - [35592, 0, "o"], - [35593, 0, "c"], - [35594, 0, "}"], - [35595, 0, "$"], - [35596, 0, ","], - [35597, 0, " "], - [35598, 0, "t"], - [35599, 0, "h"], - [35600, 0, "e"], - [35601, 0, " "], - [35602, 0, "\\"], - [35603, 0, "t"], - [35604, 0, "e"], - [35605, 0, "x"], - [35606, 0, "t"], - [35607, 0, "s"], - [35608, 0, "c"], - [35609, 0, "{"], - [35610, 0, "D"], - [35611, 0, "e"], - [35612, 0, "s"], - [35613, 0, "c"], - [35614, 0, "e"], - [35615, 0, "n"], - [35616, 0, "d"], - [35617, 0, "}"], - [35618, 0, " "], - [35619, 0, "r"], - [35620, 0, "u"], - [35621, 0, "l"], - [35622, 0, "e"], - [35623, 0, " "], - [35624, 0, "f"], - [35625, 0, "i"], - [35626, 0, "r"], - [35627, 0, "s"], - [35628, 0, "t"], - [35629, 0, " "], - [35630, 0, "a"], - [35631, 0, "p"], - [35632, 0, "p"], - [35633, 0, "l"], - [35634, 0, "i"], - [35635, 0, "e"], - [35636, 0, "s"], - [35637, 0, "."], - [35638, 0, " "], - [35639, 0, "I"], - [35640, 0, "t"], - [35641, 0, " "], - [35642, 0, "d"], - [35642, 1], - [35642, 0, "r"], - [35643, 0, "e"], - [35644, 0, "c"], - [35645, 0, "u"], - [35646, 0, "r"], - [35647, 0, "s"], - [35648, 0, "i"], - [35649, 0, "v"], - [35650, 0, "e"], - [35651, 0, "l"], - [35652, 0, "y"], - [35653, 0, " "], - [35654, 0, "d"], - [35655, 0, "e"], - [35656, 0, "s"], - [35657, 0, "c"], - [35658, 0, "e"], - [35659, 0, "n"], - [35660, 0, "d"], - [35661, 0, "s"], - [35662, 0, " "], - [35663, 0, "t"], - [35664, 0, "h"], - [35665, 0, "e"], - [35666, 0, " "], - [35667, 0, "d"], - [35668, 0, "o"], - [35669, 0, "c"], - [35670, 0, "u"], - [35671, 0, "m"], - [35672, 0, "e"], - [35673, 0, "n"], - [35674, 0, "t"], - [35675, 0, " "], - [35676, 0, "t"], - [35677, 0, "r"], - [35678, 0, "e"], - [35679, 0, "e"], - [35680, 0, " "], - [35681, 0, "a"], - [35682, 0, "c"], - [35683, 0, "c"], - [35684, 0, "o"], - [35685, 0, "r"], - [35686, 0, "d"], - [35687, 0, "i"], - [35688, 0, "n"], - [35689, 0, "g"], - [35690, 0, " "], - [35691, 0, "t"], - [35692, 0, "o"], - [35693, 0, " "], - [35694, 0, "t"], - [35695, 0, "h"], - [35696, 0, "e"], - [35697, 0, " "], - [35698, 0, "v"], - [35699, 0, "e"], - [35700, 0, "c"], - [35701, 0, "t"], - [35702, 0, "o"], - [35703, 0, "r"], - [35704, 0, " "], - [35705, 0, "o"], - [35706, 0, "f"], - [35707, 0, " "], - [35708, 0, "k"], - [35709, 0, "e"], - [35710, 0, "y"], - [35711, 0, "s"], - [35712, 0, " "], - [35713, 0, "g"], - [35714, 0, "i"], - [35715, 0, "v"], - [35716, 0, "e"], - [35717, 0, "n"], - [35718, 0, " "], - [35719, 0, "i"], - [35720, 0, "n"], - [35721, 0, " "], - [35722, 0, "t"], - [35723, 0, "h"], - [35724, 0, "e"], - [35725, 0, " "], - [35726, 0, "c"], - [35727, 0, "u"], - [35728, 0, "r"], - [35729, 0, "s"], - [35730, 0, "o"], - [35731, 0, "r"], - [35732, 0, "."], - [35733, 0, " "], - [35734, 0, "I"], - [35735, 0, "f"], - [35736, 0, " "], - [35737, 0, "t"], - [35738, 0, "h"], - [35739, 0, "e"], - [35740, 0, " "], - [35741, 0, "t"], - [35742, 0, "r"], - [35743, 0, "e"], - [35744, 0, "e"], - [35745, 0, " "], - [35746, 0, "n"], - [35747, 0, "o"], - [35748, 0, "d"], - [35749, 0, "e"], - [35750, 0, " "], - [35751, 0, "a"], - [35752, 0, "l"], - [35753, 0, "r"], - [35754, 0, "e"], - [35755, 0, "a"], - [35756, 0, "d"], - [35757, 0, "y"], - [35758, 0, " "], - [35759, 0, "e"], - [35760, 0, "x"], - [35761, 0, "i"], - [35762, 0, "s"], - [35763, 0, "t"], - [35764, 0, "s"], - [35765, 0, ","], - [35766, 0, " "], - [35767, 0, "\\"], - [35768, 0, "t"], - [35769, 0, "e"], - [35770, 0, "x"], - [35771, 0, "t"], - [35772, 0, "s"], - [35773, 0, "c"], - [35774, 0, "{"], - [35775, 0, "C"], - [35776, 0, "h"], - [35777, 0, "i"], - [35778, 0, "l"], - [35779, 0, "d"], - [35780, 0, "-"], - [35781, 0, "G"], - [35782, 0, "e"], - [35783, 0, "t"], - [35784, 0, "}"], - [35785, 0, " "], - [35765, 0, " "], - [35766, 0, "i"], - [35767, 0, "n"], - [35768, 0, " "], - [35769, 0, "t"], - [35770, 0, "h"], - [35771, 0, "e"], - [35772, 0, " "], - [35773, 0, "l"], - [35774, 0, "o"], - [35775, 0, "c"], - [35776, 0, "a"], - [35777, 0, "l"], - [35778, 0, " "], - [35779, 0, "p"], - [35780, 0, "e"], - [35781, 0, "e"], - [35782, 0, "r"], - [35783, 0, " "], - [35784, 0, "s"], - [35785, 0, "t"], - [35786, 0, "a"], - [35787, 0, "t"], - [35788, 0, "e"], - [35810, 0, "f"], - [35811, 0, "i"], - [35812, 0, "n"], - [35813, 0, "d"], - [35814, 0, "s"], - [35815, 0, " "], - [35816, 0, "i"], - [35817, 0, "t"], - [35818, 0, ","], - [35819, 0, " "], - [35820, 0, "o"], - [35821, 0, "t"], - [35822, 0, "h"], - [35823, 0, "e"], - [35824, 0, "r"], - [35825, 0, "w"], - [35826, 0, "i"], - [35827, 0, "s"], - [35828, 0, "e"], - [35829, 0, " "], - [35830, 0, "\\"], - [35831, 0, "t"], - [35832, 0, "e"], - [35833, 0, "x"], - [35834, 0, "t"], - [35835, 0, "s"], - [35836, 0, "c"], - [35837, 0, "{"], - [35838, 0, "C"], - [35839, 0, "h"], - [35840, 0, "i"], - [35841, 0, "l"], - [35842, 0, "d"], - [35843, 0, "-"], - [35844, 0, "M"], - [35845, 0, "a"], - [35846, 0, "p"], - [35847, 0, "}"], - [35848, 0, " "], - [35849, 0, "a"], - [35850, 0, "n"], - [35851, 0, "d"], - [35852, 0, " "], - [35853, 0, "\\"], - [35854, 0, "t"], - [35855, 0, "e"], - [35856, 0, "x"], - [35857, 0, "t"], - [35858, 0, "s"], - [35859, 0, "c"], - [35860, 0, "{"], - [35861, 0, "C"], - [35862, 0, "h"], - [35863, 0, "i"], - [35864, 0, "l"], - [35865, 0, "d"], - [35866, 0, "-"], - [35867, 0, "L"], - [35868, 0, "i"], - [35869, 0, "s"], - [35870, 0, "t"], - [35871, 0, "}"], - [35872, 0, " "], - [35873, 0, "c"], - [35873, 1], - [35873, 0, "c"], - [35874, 0, "r"], - [35875, 0, "e"], - [35876, 0, "a"], - [35877, 0, "t"], - [35878, 0, "e"], - [35879, 0, " "], - [35880, 0, "a"], - [35881, 0, "n"], - [35882, 0, " "], - [35883, 0, "e"], - [35884, 0, "m"], - [35885, 0, "p"], - [35886, 0, "t"], - [35887, 0, "y"], - [35888, 0, " "], - [35889, 0, "m"], - [35890, 0, "a"], - [35891, 0, "p"], - [35892, 0, " "], - [35893, 0, "o"], - [35894, 0, "r"], - [35895, 0, " "], - [35896, 0, "l"], - [35897, 0, "i"], - [35898, 0, "s"], - [35899, 0, "t"], - [35900, 0, " "], - [35901, 0, "r"], - [35902, 0, "e"], - [35903, 0, "s"], - [35904, 0, "p"], - [35905, 0, "e"], - [35906, 0, "c"], - [35907, 0, "t"], - [35908, 0, "i"], - [35909, 0, "v"], - [35910, 0, "e"], - [35911, 0, "l"], - [35912, 0, "y"], - [35913, 0, "."], - [35914, 0, " "], - [35914, 1], - [35914, 0, "\n"], - [35915, 0, "\n"], - [35916, 0, "\\"], - [35916, 1], - [35916, 0, "T"], - [35917, 0, "h"], - [35918, 0, "e"], - [35919, 0, " "], - [35920, 0, "\\"], - [35921, 0, "t"], - [35922, 0, "e"], - [35923, 0, "x"], - [35924, 0, "t"], - [35925, 0, "s"], - [35926, 0, "c"], - [35927, 0, "{"], - [35928, 0, "D"], - [35929, 0, "e"], - [35930, 0, "s"], - [35931, 0, "c"], - [35932, 0, "e"], - [35933, 0, "n"], - [35934, 0, "d"], - [35935, 0, "}"], - [35936, 0, " "], - [35937, 0, "r"], - [35938, 0, "u"], - [35939, 0, "l"], - [35940, 0, "e"], - [35941, 0, " "], - [35942, 0, "a"], - [35943, 0, "l"], - [35944, 0, "s"], - [35945, 0, "o"], - [35946, 0, " "], - [35947, 0, "i"], - [35948, 0, "n"], - [35949, 0, "v"], - [35950, 0, "o"], - [35951, 0, "k"], - [35952, 0, "e"], - [35953, 0, "s"], - [35954, 0, " "], - [35955, 0, "\\"], - [35956, 0, "t"], - [35957, 0, "e"], - [35958, 0, "x"], - [35959, 0, "t"], - [35960, 0, "s"], - [35961, 0, "c"], - [35962, 0, "{"], - [35963, 0, "A"], - [35964, 0, "d"], - [35965, 0, "d"], - [35966, 0, "_"], - [35966, 1], - [35966, 0, "-"], - [35967, 0, "I"], - [35968, 0, "D"], - [35969, 0, "}"], - [35970, 0, " "], - [35971, 0, "a"], - [35972, 0, "t"], - [35973, 0, " "], - [35974, 0, "e"], - [35975, 0, "a"], - [35976, 0, "c"], - [35977, 0, "h"], - [35978, 0, " "], - [35979, 0, "t"], - [35980, 0, "r"], - [35981, 0, "e"], - [35982, 0, "e"], - [35983, 0, " "], - [35984, 0, "n"], - [35985, 0, "o"], - [35986, 0, "d"], - [35987, 0, "e"], - [35988, 0, " "], - [35989, 0, "a"], - [35990, 0, "l"], - [35991, 0, "o"], - [35992, 0, "n"], - [35993, 0, "g"], - [35994, 0, " "], - [35995, 0, "t"], - [35996, 0, "h"], - [35997, 0, "e"], - [35998, 0, " "], - [35999, 0, "p"], - [36000, 0, "a"], - [36001, 0, "t"], - [36002, 0, "h"], - [36003, 0, " "], - [36004, 0, "d"], - [36005, 0, "e"], - [36006, 0, "s"], - [36007, 0, "c"], - [36008, 0, "r"], - [36009, 0, "i"], - [36010, 0, "b"], - [36011, 0, "e"], - [36012, 0, "d"], - [36013, 0, " "], - [36014, 0, "b"], - [36015, 0, "y"], - [36016, 0, " "], - [36017, 0, "t"], - [36018, 0, "h"], - [36019, 0, "e"], - [36020, 0, " "], - [36021, 0, "c"], - [36022, 0, "u"], - [36023, 0, "r"], - [36024, 0, "s"], - [36025, 0, "o"], - [36026, 0, "r"], - [36027, 0, ","], - [36028, 0, " "], - [36029, 0, "a"], - [36030, 0, "d"], - [36031, 0, "d"], - [36032, 0, "i"], - [36033, 0, "n"], - [36034, 0, "g"], - [36035, 0, " "], - [36036, 0, "t"], - [36037, 0, "h"], - [36038, 0, "e"], - [36039, 0, " "], - [36040, 0, "o"], - [36041, 0, "p"], - [36042, 0, "e"], - [36043, 0, "r"], - [36044, 0, "a"], - [36045, 0, "t"], - [36046, 0, "i"], - [36047, 0, "o"], - [36048, 0, "n"], - [36049, 0, " "], - [36050, 0, "I"], - [36051, 0, "D"], - [36052, 0, " "], - [36053, 0, "t"], - [36054, 0, "o"], - [36055, 0, " "], - [36056, 0, "t"], - [36057, 0, "h"], - [36058, 0, "e"], - [36059, 0, " "], - [36060, 0, "p"], - [36061, 0, "r"], - [36062, 0, "e"], - [36063, 0, "s"], - [36064, 0, "e"], - [36065, 0, "n"], - [36066, 0, "c"], - [36067, 0, "e"], - [36068, 0, " "], - [36069, 0, "s"], - [36070, 0, "e"], - [36071, 0, "t"], - [36072, 0, " "], - [36073, 0, "$"], - [36074, 0, "\\"], - [36075, 0, "m"], - [36076, 0, "a"], - [36077, 0, "t"], - [36078, 0, "h"], - [36079, 0, "s"], - [36080, 0, "f"], - [36081, 0, "{"], - [36082, 0, "p"], - [36083, 0, "r"], - [36084, 0, "e"], - [36085, 0, "s"], - [36086, 0, "}"], - [36087, 0, "("], - [36088, 0, "k"], - [36089, 0, ")"], - [36090, 0, "$"], - [36091, 0, " "], - [36092, 0, "t"], - [36093, 0, "o"], - [36094, 0, " "], - [36095, 0, "i"], - [36096, 0, "n"], - [36097, 0, "d"], - [36098, 0, "i"], - [36099, 0, "c"], - [36100, 0, "a"], - [36101, 0, "t"], - [36102, 0, "e"], - [36103, 0, " "], - [36104, 0, "t"], - [36105, 0, "h"], - [36106, 0, "a"], - [36107, 0, "t"], - [36108, 0, " "], - [36109, 0, "t"], - [36110, 0, "h"], - [36111, 0, "e"], - [36112, 0, " "], - [36113, 0, "s"], - [36114, 0, "u"], - [36115, 0, "b"], - [36116, 0, "t"], - [36117, 0, "r"], - [36118, 0, "e"], - [36119, 0, "e"], - [36120, 0, " "], - [36121, 0, "i"], - [36122, 0, "n"], - [36123, 0, "c"], - [36124, 0, "l"], - [36125, 0, "u"], - [36126, 0, "d"], - [36127, 0, "e"], - [36128, 0, "s"], - [36129, 0, " "], - [36130, 0, "m"], - [36131, 0, "u"], - [36132, 0, "t"], - [36132, 1], - [36131, 1], - [36130, 1], - [36130, 0, "a"], - [36131, 0, " "], - [36132, 0, "m"], - [36133, 0, "u"], - [36134, 0, "t"], - [36135, 0, "a"], - [36136, 0, "t"], - [36137, 0, "i"], - [36138, 0, "o"], - [36139, 0, "n"], - [36140, 0, " "], - [36141, 0, "m"], - [36142, 0, "a"], - [36143, 0, "d"], - [36144, 0, "e"], - [36145, 0, " "], - [36146, 0, "b"], - [36147, 0, "y"], - [36148, 0, " "], - [36149, 0, "t"], - [36150, 0, "h"], - [36151, 0, "i"], - [36152, 0, "s"], - [36153, 0, " "], - [36154, 0, "o"], - [36155, 0, "p"], - [36156, 0, "e"], - [36157, 0, "r"], - [36158, 0, "a"], - [36159, 0, "t"], - [36160, 0, "i"], - [36161, 0, "o"], - [36162, 0, "n"], - [36163, 0, "."], - [36164, 0, "\n"], - [36165, 0, "\n"], - [36166, 0, "T"], - [36167, 0, "h"], - [36168, 0, "e"], - [36169, 0, " "], - [36170, 0, "r"], - [36171, 0, "e"], - [36172, 0, "m"], - [36173, 0, "a"], - [36174, 0, "i"], - [36175, 0, "n"], - [36176, 0, "i"], - [36177, 0, "n"], - [36178, 0, "g"], - [36179, 0, " "], - [36180, 0, "r"], - [36181, 0, "u"], - [36182, 0, "l"], - [36183, 0, "e"], - [36184, 0, "s"], - [36185, 0, " "], - [36186, 0, "i"], - [36187, 0, "n"], - [36188, 0, " "], - [36189, 0, "F"], - [36190, 0, "i"], - [36191, 0, "g"], - [36192, 0, "u"], - [36193, 0, "r"], - [36194, 0, "e"], - [36195, 0, "~"], - [36196, 0, "\\"], - [36197, 0, "r"], - [36198, 0, "e"], - [36199, 0, "f"], - [36200, 0, "{"], - [36201, 0, "f"], - [36202, 0, "i"], - [36203, 0, "g"], - [36204, 0, ":"], - [36205, 0, "o"], - [36206, 0, "p"], - [36207, 0, "e"], - [36208, 0, "r"], - [36209, 0, "a"], - [36210, 0, "t"], - [36211, 0, "i"], - [36212, 0, "o"], - [36213, 0, "n"], - [36214, 0, "-"], - [36215, 0, "r"], - [36216, 0, "u"], - [36217, 0, "l"], - [36218, 0, "e"], - [36219, 0, "s"], - [36220, 0, "}"], - [36221, 0, " "], - [36222, 0, "a"], - [36223, 0, "p"], - [36224, 0, "p"], - [36225, 0, "l"], - [36226, 0, "y"], - [36227, 0, " "], - [36228, 0, "w"], - [36229, 0, "h"], - [36230, 0, "e"], - [36231, 0, "n"], - [36232, 0, " "], - [36233, 0, "t"], - [36234, 0, "h"], - [36235, 0, "e"], - [36236, 0, " "], - [36237, 0, "v"], - [36238, 0, "e"], - [36239, 0, "c"], - [36240, 0, "t"], - [36241, 0, "o"], - [36242, 0, "r"], - [36243, 0, " "], - [36244, 0, "o"], - [36245, 0, "f"], - [36246, 0, " "], - [36247, 0, "k"], - [36248, 0, "e"], - [36249, 0, "y"], - [36250, 0, "s"], - [36251, 0, " "], - [36252, 0, "i"], - [36253, 0, "n"], - [36254, 0, " "], - [36255, 0, "t"], - [36256, 0, "h"], - [36257, 0, "e"], - [36258, 0, " "], - [36259, 0, "c"], - [36260, 0, "u"], - [36261, 0, "r"], - [36262, 0, "s"], - [36263, 0, "o"], - [36264, 0, "r"], - [36265, 0, " "], - [36266, 0, "i"], - [36267, 0, "s"], - [36268, 0, " "], - [36269, 0, "e"], - [36270, 0, "m"], - [36271, 0, "p"], - [36272, 0, "t"], - [36273, 0, "y"], - [36274, 0, ","], - [36275, 0, " "], - [36276, 0, "i"], - [36277, 0, "."], - [36278, 0, "e"], - [36279, 0, "."], - [36280, 0, " "], - [36281, 0, "w"], - [36282, 0, "h"], - [36283, 0, "e"], - [36284, 0, "n"], - [36285, 0, " "], - [36286, 0, "d"], - [36287, 0, "e"], - [36288, 0, "s"], - [36289, 0, "c"], - [36290, 0, "e"], - [36291, 0, "n"], - [36292, 0, "d"], - [36293, 0, "e"], - [36294, 0, "d"], - [36295, 0, " "], - [36296, 0, "t"], - [36297, 0, "o"], - [36298, 0, " "], - [36299, 0, "t"], - [36300, 0, "h"], - [36301, 0, "e"], - [36302, 0, " "], - [36303, 0, "c"], - [36304, 0, "o"], - [36305, 0, "n"], - [36306, 0, "t"], - [36307, 0, "e"], - [36308, 0, "x"], - [36309, 0, "t"], - [36310, 0, " "], - [36311, 0, "o"], - [36312, 0, "f"], - [36313, 0, " "], - [36314, 0, "t"], - [36315, 0, "h"], - [36316, 0, "e"], - [36317, 0, " "], - [36318, 0, "t"], - [36319, 0, "r"], - [36320, 0, "e"], - [36321, 0, "e"], - [36322, 0, " "], - [36323, 0, "n"], - [36324, 0, "o"], - [36325, 0, "d"], - [36326, 0, "e"], - [36327, 0, " "], - [36328, 0, "t"], - [36329, 0, "o"], - [36330, 0, " "], - [36331, 0, "w"], - [36332, 0, "h"], - [36333, 0, "i"], - [36334, 0, "c"], - [36335, 0, "h"], - [36336, 0, " "], - [36337, 0, "t"], - [36338, 0, "h"], - [36339, 0, "e"], - [36340, 0, " "], - [36341, 0, "m"], - [36342, 0, "u"], - [36343, 0, "t"], - [36344, 0, "a"], - [36345, 0, "t"], - [36346, 0, "i"], - [36347, 0, "o"], - [36348, 0, "n"], - [36349, 0, " "], - [36350, 0, "a"], - [36351, 0, "p"], - [36352, 0, "p"], - [36353, 0, "l"], - [36354, 0, "i"], - [36355, 0, "e"], - [36356, 0, "s"], - [36357, 0, "."], - [36358, 0, " "], - [36359, 0, "\\"], - [36359, 1], - [36359, 0, "T"], - [36360, 0, "h"], - [36361, 0, "e"], - [36362, 0, " "], - [36363, 0, "\\"], - [36364, 0, "t"], - [36365, 0, "e"], - [36366, 0, "x"], - [36367, 0, "t"], - [36368, 0, "s"], - [36369, 0, "c"], - [36370, 0, "{"], - [36371, 0, "A"], - [36372, 0, "s"], - [36373, 0, "s"], - [36374, 0, "i"], - [36375, 0, "g"], - [36376, 0, "n"], - [36377, 0, "}"], - [36378, 0, ","], - [36379, 0, " "], - [36380, 0, "\\"], - [36381, 0, "t"], - [36382, 0, "e"], - [36383, 0, "x"], - [36384, 0, "t"], - [36385, 0, "s"], - [36386, 0, "c"], - [36387, 0, "{"], - [36388, 0, "E"], - [36389, 0, "m"], - [36390, 0, "p"], - [36391, 0, "t"], - [36392, 0, "y"], - [36393, 0, "-"], - [36394, 0, "M"], - [36395, 0, "a"], - [36396, 0, "p"], - [36397, 0, "}"], - [36398, 0, " "], - [36399, 0, "a"], - [36400, 0, "n"], - [36401, 0, "d"], - [36402, 0, " "], - [36403, 0, "\\"], - [36404, 0, "t"], - [36405, 0, "e"], - [36406, 0, "x"], - [36407, 0, "t"], - [36408, 0, "s"], - [36409, 0, "c"], - [36410, 0, "{"], - [36411, 0, "E"], - [36412, 0, "m"], - [36413, 0, "p"], - [36414, 0, "t"], - [36415, 0, "y"], - [36416, 0, "-"], - [36417, 0, "L"], - [36418, 0, "i"], - [36419, 0, "s"], - [36420, 0, "t"], - [36421, 0, "}"], - [36422, 0, " "], - [36423, 0, "r"], - [36424, 0, "u"], - [36425, 0, "l"], - [36426, 0, "e"], - [36427, 0, "s"], - [36428, 0, " "], - [36429, 0, "h"], - [36430, 0, "a"], - [36431, 0, "n"], - [36432, 0, "d"], - [36433, 0, "l"], - [36434, 0, "e"], - [36435, 0, " "], - [36436, 0, "e"], - [36437, 0, "v"], - [36438, 0, "a"], - [36439, 0, "l"], - [36440, 0, "u"], - [36441, 0, "a"], - [36442, 0, "t"], - [36443, 0, "i"], - [36444, 0, "o"], - [36445, 0, "n"], - [36446, 0, " "], - [36447, 0, "o"], - [36448, 0, "f"], - [36449, 0, " "], - [36450, 0, "t"], - [36451, 0, "h"], - [36452, 0, "e"], - [36453, 0, " "], - [36454, 0, "\\"], - [36454, 1], - [36454, 0, "$"], - [36455, 0, "\\"], - [36456, 0, "t"], - [36457, 0, "e"], - [36458, 0, "x"], - [36458, 1], - [36457, 1], - [36456, 1], - [36456, 0, "m"], - [36457, 0, "a"], - [36458, 0, "t"], - [36459, 0, "h"], - [36460, 0, "s"], - [36461, 0, "f"], - [36462, 0, "{"], - [36463, 0, "a"], - [36464, 0, "s"], - [36465, 0, "s"], - [36466, 0, "i"], - [36467, 0, "g"], - [36468, 0, "n"], - [36469, 0, "}"], - [36470, 0, "$"], - [36471, 0, " "], - [36378, 1], - [36378, 0, " "], - [36379, 0, "r"], - [36380, 0, "u"], - [36381, 0, "l"], - [36382, 0, "e"], - [36383, 0, " "], - [36384, 0, "h"], - [36385, 0, "a"], - [36386, 0, "n"], - [36387, 0, "d"], - [36388, 0, "l"], - [36389, 0, "e"], - [36390, 0, "s"], - [36391, 0, " "], - [36392, 0, "a"], - [36393, 0, "s"], - [36394, 0, "s"], - [36395, 0, "i"], - [36396, 0, "g"], - [36397, 0, "n"], - [36398, 0, "m"], - [36399, 0, "e"], - [36400, 0, "n"], - [36401, 0, "t"], - [36402, 0, " "], - [36403, 0, "o"], - [36404, 0, "f"], - [36405, 0, " "], - [36406, 0, "a"], - [36407, 0, " "], - [36408, 0, "r"], - [36409, 0, "e"], - [36410, 0, "g"], - [36411, 0, "i"], - [36412, 0, "s"], - [36413, 0, "t"], - [36414, 0, "e"], - [36415, 0, "r"], - [36416, 0, ","], - [36436, 0, " "], - [36437, 0, "h"], - [36438, 0, "a"], - [36439, 0, "n"], - [36440, 0, "d"], - [36441, 0, "l"], - [36442, 0, "e"], - [36443, 0, "s"], - [36444, 0, " "], - [36445, 0, "a"], - [36446, 0, "s"], - [36447, 0, "s"], - [36448, 0, "i"], - [36449, 0, "g"], - [36450, 0, "n"], - [36451, 0, "m"], - [36452, 0, "e"], - [36453, 0, "n"], - [36454, 0, "t"], - [36455, 0, " "], - [36456, 0, "w"], - [36457, 0, "h"], - [36458, 0, "e"], - [36459, 0, "r"], - [36460, 0, "e"], - [36461, 0, " "], - [36462, 0, "t"], - [36463, 0, "h"], - [36464, 0, "e"], - [36465, 0, " "], - [36466, 0, "v"], - [36467, 0, "a"], - [36468, 0, "l"], - [36469, 0, "u"], - [36470, 0, "e"], - [36471, 0, " "], - [36472, 0, "i"], - [36473, 0, "s"], - [36474, 0, " "], - [36475, 0, "t"], - [36476, 0, "h"], - [36477, 0, "e"], - [36478, 0, " "], - [36479, 0, "e"], - [36480, 0, "m"], - [36481, 0, "p"], - [36482, 0, "t"], - [36483, 0, "y"], - [36484, 0, " "], - [36485, 0, "m"], - [36486, 0, "a"], - [36487, 0, "p"], - [36488, 0, " "], - [36489, 0, "l"], - [36490, 0, "i"], - [36491, 0, "t"], - [36492, 0, "e"], - [36493, 0, "r"], - [36494, 0, "a"], - [36495, 0, "l"], - [36496, 0, " "], - [36497, 0, "\\"], - [36498, 0, "v"], - [36499, 0, "e"], - [36500, 0, "r"], - [36501, 0, "b"], - [36502, 0, "|"], - [36503, 0, "{"], - [36504, 0, "}"], - [36505, 0, "|"], - [36506, 0, ","], - [36536, 1], - [36535, 1], - [36534, 1], - [36533, 1], - [36532, 1], - [36531, 1], - [36538, 0, "s"], - [36575, 1], - [36574, 1], - [36573, 1], - [36566, 1], - [36565, 1], - [36564, 1], - [36563, 1], - [36562, 1], - [36561, 1], - [36560, 1], - [36559, 1], - [36558, 1], - [36557, 1], - [36556, 1], - [36555, 1], - [36554, 1], - [36553, 1], - [36552, 1], - [36551, 1], - [36550, 1], - [36549, 1], - [36548, 1], - [36547, 1], - [36546, 1], - [36545, 1], - [36544, 1], - [36543, 1], - [36542, 1], - [36541, 1], - [36540, 1], - [36546, 0, "m"], - [36547, 0, "e"], - [36548, 0, "n"], - [36549, 0, "t"], - [36550, 0, " "], - [36551, 0, "o"], - [36552, 0, "f"], - [36553, 0, " "], - [36554, 0, "t"], - [36555, 0, "h"], - [36556, 0, "e"], - [36557, 0, " "], - [36558, 0, "e"], - [36559, 0, "m"], - [36560, 0, "p"], - [36561, 0, "t"], - [36562, 0, "y"], - [36563, 0, " "], - [36564, 0, "l"], - [36565, 0, "i"], - [36566, 0, "s"], - [36567, 0, "t"], - [36568, 0, " "], - [36569, 0, "\\"], - [36570, 0, "v"], - [36571, 0, "e"], - [36572, 0, "r"], - [36573, 0, "b"], - [36574, 0, "|"], - [36575, 0, "["], - [36576, 0, "]"], - [36577, 0, "|"], - [36578, 0, "."], - [36579, 0, " "], - [36580, 0, "T"], - [36581, 0, "h"], - [36582, 0, "e"], - [36583, 0, "s"], - [36584, 0, "e"], - [36585, 0, " "], - [36586, 0, "a"], - [36587, 0, "s"], - [36588, 0, "s"], - [36589, 0, "i"], - [36590, 0, "g"], - [36591, 0, "n"], - [36592, 0, "m"], - [36593, 0, "e"], - [36594, 0, "n"], - [36595, 0, "t"], - [36596, 0, " "], - [36597, 0, "r"], - [36598, 0, "u"], - [36599, 0, "l"], - [36600, 0, "e"], - [36601, 0, "s"], - [36602, 0, " "], - [36586, 0, "t"], - [36587, 0, "h"], - [36588, 0, "r"], - [36589, 0, "e"], - [36590, 0, "e"], - [36591, 0, " "], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36592, 1], - [36598, 0, "f"], - [36599, 0, "o"], - [36600, 0, "r"], - [36601, 0, " "], - [36602, 0, "\\"], - [36603, 0, "t"], - [36604, 0, "e"], - [36605, 0, "x"], - [36606, 0, "t"], - [36607, 0, "s"], - [36608, 0, "f"], - [36609, 0, "{"], - [36610, 0, "a"], - [36611, 0, "s"], - [36612, 0, "s"], - [36613, 0, "i"], - [36614, 0, "g"], - [36615, 0, "n"], - [36616, 0, "}"], - [36617, 0, " "], - [36618, 0, "h"], - [36619, 0, "a"], - [36620, 0, "v"], - [36621, 0, "e"], - [36622, 0, " "], - [36623, 0, "a"], - [36624, 0, " "], - [36625, 0, "s"], - [36626, 0, "i"], - [36627, 0, "m"], - [36628, 0, "i"], - [36629, 0, "l"], - [36630, 0, "a"], - [36631, 0, "r"], - [36632, 0, " "], - [36633, 0, "s"], - [36634, 0, "t"], - [36635, 0, "r"], - [36636, 0, "u"], - [36637, 0, "c"], - [36638, 0, "t"], - [36639, 0, "u"], - [36640, 0, "r"], - [36641, 0, "e"], - [36642, 0, ":"], - [36643, 0, " "], - [36644, 0, "f"], - [36645, 0, "i"], - [36646, 0, "r"], - [36647, 0, "s"], - [36648, 0, "t"], - [36649, 0, " "], - [36650, 0, "c"], - [36651, 0, "l"], - [36652, 0, "e"], - [36653, 0, "a"], - [36654, 0, "r"], - [36655, 0, "i"], - [36656, 0, "n"], - [36657, 0, "g"], - [36658, 0, " "], - [36659, 0, "t"], - [36660, 0, "h"], - [36661, 0, "e"], - [36662, 0, " "], - [36663, 0, "p"], - [36664, 0, "r"], - [36665, 0, "i"], - [36666, 0, "o"], - [36667, 0, "r"], - [36668, 0, " "], - [36669, 0, "v"], - [36670, 0, "a"], - [36671, 0, "l"], - [36672, 0, "u"], - [36673, 0, "e"], - [36674, 0, " "], - [36675, 0, "a"], - [36676, 0, "t"], - [36677, 0, " "], - [36678, 0, "t"], - [36679, 0, "h"], - [36680, 0, "e"], - [36681, 0, " "], - [36682, 0, "c"], - [36683, 0, "u"], - [36684, 0, "r"], - [36685, 0, "s"], - [36686, 0, "o"], - [36687, 0, "r"], - [36688, 0, " "], - [36689, 0, "("], - [36690, 0, "a"], - [36691, 0, "s"], - [36692, 0, " "], - [36693, 0, "d"], - [36694, 0, "i"], - [36695, 0, "s"], - [36696, 0, "c"], - [36697, 0, "u"], - [36698, 0, "s"], - [36699, 0, "s"], - [36700, 0, "e"], - [36701, 0, "d"], - [36702, 0, " "], - [36703, 0, "i"], - [36704, 0, "n"], - [36705, 0, " "], - [36706, 0, "t"], - [36707, 0, "h"], - [36708, 0, "e"], - [36709, 0, " "], - [36710, 0, "n"], - [36711, 0, "e"], - [36712, 0, "x"], - [36713, 0, "t"], - [36714, 0, " "], - [36715, 0, "s"], - [36716, 0, "e"], - [36717, 0, "c"], - [36718, 0, "t"], - [36719, 0, "i"], - [36720, 0, "o"], - [36721, 0, "n"], - [36722, 0, ")"], - [36723, 0, ","], - [36724, 0, " "], - [36725, 0, "t"], - [36726, 0, "h"], - [36727, 0, "e"], - [36728, 0, "n"], - [36729, 0, " "], - [36730, 0, "a"], - [36731, 0, "d"], - [36732, 0, "d"], - [36733, 0, "i"], - [36734, 0, "n"], - [36735, 0, "g"], - [36736, 0, " "], - [36737, 0, "t"], - [36738, 0, "h"], - [36739, 0, "e"], - [36740, 0, " "], - [36741, 0, "o"], - [36742, 0, "p"], - [36743, 0, "e"], - [36744, 0, "r"], - [36745, 0, "a"], - [36746, 0, "t"], - [36747, 0, "i"], - [36748, 0, "o"], - [36749, 0, "n"], - [36750, 0, " "], - [36751, 0, "I"], - [36752, 0, "D"], - [36753, 0, " "], - [36754, 0, "t"], - [36755, 0, "o"], - [36756, 0, " "], - [36757, 0, "t"], - [36758, 0, "h"], - [36759, 0, "e"], - [36760, 0, " "], - [36761, 0, "p"], - [36762, 0, "r"], - [36763, 0, "e"], - [36764, 0, "s"], - [36765, 0, "e"], - [36766, 0, "n"], - [36767, 0, "c"], - [36768, 0, "e"], - [36769, 0, " "], - [36770, 0, "s"], - [36771, 0, "e"], - [36772, 0, "t"], - [36773, 0, ","], - [36774, 0, " "], - [36775, 0, "a"], - [36776, 0, "n"], - [36777, 0, "d"], - [36778, 0, " "], - [36779, 0, "f"], - [36780, 0, "i"], - [36781, 0, "n"], - [36782, 0, "a"], - [36783, 0, "l"], - [36784, 0, "l"], - [36785, 0, "y"], - [36786, 0, " "], - [36787, 0, "i"], - [36788, 0, "n"], - [36789, 0, "c"], - [36790, 0, "o"], - [36791, 0, "r"], - [36792, 0, "p"], - [36793, 0, "o"], - [36794, 0, "r"], - [36795, 0, "a"], - [36796, 0, "t"], - [36797, 0, "i"], - [36798, 0, "n"], - [36799, 0, "g"], - [36800, 0, " "], - [36801, 0, "t"], - [36802, 0, "h"], - [36803, 0, "e"], - [36804, 0, " "], - [36805, 0, "n"], - [36806, 0, "e"], - [36807, 0, "w"], - [36808, 0, " "], - [36809, 0, "v"], - [36810, 0, "a"], - [36811, 0, "l"], - [36812, 0, "u"], - [36813, 0, "e"], - [36814, 0, " "], - [36815, 0, "i"], - [36816, 0, "n"], - [36817, 0, "t"], - [36818, 0, "o"], - [36819, 0, " "], - [36820, 0, "t"], - [36821, 0, "h"], - [36822, 0, "e"], - [36823, 0, " "], - [36824, 0, "t"], - [36825, 0, "r"], - [36826, 0, "e"], - [36827, 0, "e"], - [36828, 0, " "], - [36829, 0, "o"], - [36830, 0, "f"], - [36831, 0, " "], - [36832, 0, "l"], - [36833, 0, "o"], - [36834, 0, "c"], - [36835, 0, "a"], - [36836, 0, "l"], - [36837, 0, " "], - [36838, 0, "s"], - [36839, 0, "t"], - [36840, 0, "a"], - [36841, 0, "t"], - [36842, 0, "e"], - [36843, 0, "."], - [36845, 0, "\n"], - [36846, 0, "\n"], - [36846, 0, "T"], - [36847, 0, "h"], - [36848, 0, "e"], - [36849, 0, " "], - [36850, 0, "$"], - [36851, 0, "\\"], - [36852, 0, "t"], - [36853, 0, "e"], - [36854, 0, "x"], - [36855, 0, "t"], - [36856, 0, "s"], - [36857, 0, "c"], - [36858, 0, "{"], - [36859, 0, "I"], - [36860, 0, "n"], - [36861, 0, "s"], - [36862, 0, "e"], - [36863, 0, "r"], - [36864, 0, "t"], - [36865, 0, "}"], - [36866, 0, "_"], - [36867, 0, "{"], - [36868, 0, "1"], - [36869, 0, ","], - [36870, 0, "2"], - [36871, 0, "}"], - [36872, 0, "$"], - [36873, 0, " "], - [36874, 0, "r"], - [36875, 0, "u"], - [36876, 0, "l"], - [36877, 0, "e"], - [36878, 0, "s"], - [36879, 0, " "], - [36880, 0, "h"], - [36881, 0, "a"], - [36882, 0, "n"], - [36883, 0, "d"], - [36884, 0, "l"], - [36885, 0, "e"], - [36886, 0, " "], - [36887, 0, "i"], - [36888, 0, "n"], - [36889, 0, "s"], - [36890, 0, "e"], - [36891, 0, "r"], - [36892, 0, "t"], - [36893, 0, "i"], - [36894, 0, "o"], - [36895, 0, "n"], - [36896, 0, " "], - [36897, 0, "o"], - [36898, 0, "f"], - [36899, 0, " "], - [36900, 0, "a"], - [36901, 0, " "], - [36902, 0, "n"], - [36903, 0, "e"], - [36904, 0, "w"], - [36905, 0, " "], - [36906, 0, "e"], - [36907, 0, "l"], - [36908, 0, "e"], - [36909, 0, "m"], - [36910, 0, "e"], - [36911, 0, "n"], - [36912, 0, "t"], - [36913, 0, " "], - [36914, 0, "i"], - [36915, 0, "n"], - [36916, 0, "t"], - [36917, 0, "o"], - [36918, 0, " "], - [36919, 0, "a"], - [36920, 0, "n"], - [36921, 0, " "], - [36922, 0, "o"], - [36923, 0, "r"], - [36924, 0, "d"], - [36925, 0, "e"], - [36926, 0, "r"], - [36927, 0, "e"], - [36928, 0, "d"], - [36929, 0, " "], - [36930, 0, "l"], - [36931, 0, "i"], - [36932, 0, "s"], - [36933, 0, "t"], - [36934, 0, "."], - [36935, 0, " "], - [36936, 0, "I"], - [36937, 0, "n"], - [36938, 0, " "], - [36939, 0, "t"], - [36940, 0, "h"], - [36941, 0, "i"], - [36942, 0, "s"], - [36943, 0, " "], - [36944, 0, "c"], - [36945, 0, "a"], - [36946, 0, "s"], - [36947, 0, "e"], - [36948, 0, ","], - [36949, 0, " "], - [36950, 0, "t"], - [36951, 0, "h"], - [36952, 0, "e"], - [36953, 0, " "], - [36954, 0, "c"], - [36955, 0, "u"], - [36956, 0, "r"], - [36957, 0, "s"], - [36958, 0, "o"], - [36959, 0, "r"], - [36960, 0, " "], - [36961, 0, "r"], - [36962, 0, "e"], - [36963, 0, "v"], - [36963, 1], - [36963, 0, "f"], - [36964, 0, "e"], - [36965, 0, "r"], - [36966, 0, "s"], - [36967, 0, " "], - [36968, 0, "t"], - [36969, 0, "o"], - [36970, 0, " "], - [36971, 0, "t"], - [36972, 0, "h"], - [36973, 0, "e"], - [36974, 0, " "], - [36975, 0, "l"], - [36976, 0, "i"], - [36977, 0, "s"], - [36978, 0, "t"], - [36979, 0, " "], - [36980, 0, "e"], - [36981, 0, "l"], - [36982, 0, "e"], - [36983, 0, "m"], - [36984, 0, "e"], - [36985, 0, "n"], - [36986, 0, "t"], - [36987, 0, " "], - [36988, 0, "$"], - [36989, 0, "\\"], - [36990, 0, "m"], - [36991, 0, "a"], - [36992, 0, "t"], - [36993, 0, "h"], - [36994, 0, "i"], - [36995, 0, "t"], - [36996, 0, "{"], - [36997, 0, "p"], - [36998, 0, "r"], - [36999, 0, "e"], - [37000, 0, "v"], - [37001, 0, "}"], - [37002, 0, "$"], - [37003, 0, ","], - [37004, 0, " "], - [37005, 0, "a"], - [37006, 0, "n"], - [37007, 0, "d"], - [37008, 0, " "], - [37009, 0, "t"], - [37010, 0, "h"], - [37011, 0, "e"], - [37012, 0, " "], - [37013, 0, "n"], - [37014, 0, "e"], - [37015, 0, "w"], - [37016, 0, " "], - [37017, 0, "e"], - [37018, 0, "l"], - [37019, 0, "e"], - [37020, 0, "m"], - [37021, 0, "e"], - [37022, 0, "n"], - [37023, 0, "t"], - [37024, 0, " "], - [37025, 0, "i"], - [37026, 0, "s"], - [37027, 0, " "], - [37028, 0, "i"], - [37029, 0, "n"], - [37030, 0, "s"], - [37031, 0, "e"], - [37032, 0, "r"], - [37033, 0, "t"], - [37034, 0, "e"], - [37035, 0, "d"], - [37036, 0, " "], - [37037, 0, "a"], - [37038, 0, "f"], - [37039, 0, "t"], - [37040, 0, "e"], - [37041, 0, "r"], - [37042, 0, " "], - [37043, 0, "t"], - [37044, 0, "h"], - [37045, 0, "a"], - [37046, 0, "t"], - [37047, 0, " "], - [37048, 0, "p"], - [37049, 0, "o"], - [37050, 0, "s"], - [37051, 0, "i"], - [37052, 0, "t"], - [37053, 0, "i"], - [37054, 0, "o"], - [37055, 0, "n"], - [37056, 0, " "], - [37057, 0, "i"], - [37058, 0, "n"], - [37059, 0, " "], - [37060, 0, "t"], - [37061, 0, "h"], - [37062, 0, "e"], - [37063, 0, " "], - [37064, 0, "l"], - [37065, 0, "i"], - [37066, 0, "s"], - [37067, 0, "t"], - [37068, 0, "."], - [37069, 0, " "], - [37070, 0, "T"], - [37071, 0, "h"], - [37072, 0, "e"], - [37073, 0, " "], - [37073, 1], - [37072, 1], - [37071, 1], - [37070, 1], - [37070, 0, "$"], - [37071, 0, "\\"], - [37072, 0, "t"], - [37073, 0, "e"], - [37074, 0, "x"], - [37075, 0, "t"], - [37076, 0, "s"], - [37077, 0, "c"], - [37078, 0, "{"], - [37079, 0, "I"], - [37080, 0, "n"], - [37081, 0, "s"], - [37082, 0, "e"], - [37083, 0, "r"], - [37084, 0, "t"], - [37085, 0, "}"], - [37086, 0, "_"], - [37087, 0, "1"], - [37088, 0, "$"], - [37089, 0, " "], - [37090, 0, "p"], - [37091, 0, "e"], - [37092, 0, "r"], - [37093, 0, "f"], - [37094, 0, "o"], - [37095, 0, "r"], - [37096, 0, "m"], - [37097, 0, "s"], - [37098, 0, " "], - [37099, 0, "t"], - [37100, 0, "h"], - [37101, 0, "e"], - [37102, 0, " "], - [37103, 0, "i"], - [37104, 0, "n"], - [37105, 0, "s"], - [37106, 0, "e"], - [37107, 0, "r"], - [37108, 0, "t"], - [37109, 0, "i"], - [37110, 0, "o"], - [37111, 0, "n"], - [37112, 0, " "], - [37113, 0, "b"], - [37114, 0, "y"], - [37115, 0, " "], - [37116, 0, "m"], - [37117, 0, "a"], - [37118, 0, "n"], - [37119, 0, "i"], - [37120, 0, "p"], - [37121, 0, "u"], - [37122, 0, "l"], - [37123, 0, "a"], - [37124, 0, "t"], - [37125, 0, "i"], - [37126, 0, "n"], - [37127, 0, "g"], - [37128, 0, " "], - [37129, 0, "t"], - [37130, 0, "h"], - [37131, 0, "e"], - [37132, 0, " "], - [37133, 0, "l"], - [37134, 0, "i"], - [37135, 0, "n"], - [37136, 0, "k"], - [37137, 0, "e"], - [37138, 0, "d"], - [37139, 0, " "], - [37140, 0, "l"], - [37141, 0, "i"], - [37142, 0, "s"], - [37143, 0, "t"], - [37144, 0, " "], - [37145, 0, "s"], - [37146, 0, "t"], - [37147, 0, "r"], - [37148, 0, "u"], - [37149, 0, "c"], - [37150, 0, "t"], - [37151, 0, "u"], - [37152, 0, "r"], - [37153, 0, "e"], - [37154, 0, ","], - [37155, 0, " "], - [37156, 0, "a"], - [37157, 0, "n"], - [37157, 1], - [37156, 1], - [37155, 1], - [37154, 1], - [37154, 0, "."], - [37155, 0, " "], - [37156, 0, "$"], - [37157, 0, "\\"], - [37158, 0, "t"], - [37159, 0, "e"], - [37160, 0, "x"], - [37161, 0, "t"], - [37162, 0, "s"], - [37163, 0, "c"], - [37164, 0, "{"], - [37165, 0, "I"], - [37166, 0, "n"], - [37167, 0, "s"], - [37168, 0, "e"], - [37169, 0, "r"], - [37170, 0, "t"], - [37171, 0, "}"], - [37172, 0, "_"], - [37173, 0, "2"], - [37174, 0, "$"], - [37175, 0, " "], - [37176, 0, "h"], - [37177, 0, "a"], - [37178, 0, "n"], - [37179, 0, "d"], - [37180, 0, "l"], - [37181, 0, "e"], - [37182, 0, "s"], - [37183, 0, " "], - [37184, 0, "t"], - [37185, 0, "h"], - [37186, 0, "e"], - [37187, 0, " "], - [37188, 0, "c"], - [37189, 0, "a"], - [37190, 0, "s"], - [37191, 0, "e"], - [37192, 0, " "], - [37193, 0, "o"], - [37194, 0, "f"], - [37195, 0, " "], - [37196, 0, "m"], - [37197, 0, "u"], - [37198, 0, "l"], - [37199, 0, "t"], - [37200, 0, "i"], - [37201, 0, "p"], - [37202, 0, "l"], - [37203, 0, "e"], - [37204, 0, " "], - [37205, 0, "p"], - [37206, 0, "e"], - [37207, 0, "e"], - [37208, 0, "r"], - [37209, 0, "s"], - [37210, 0, " "], - [37211, 0, "c"], - [37212, 0, "o"], - [37213, 0, "n"], - [37214, 0, "c"], - [37215, 0, "u"], - [37216, 0, "r"], - [37217, 0, "r"], - [37218, 0, "e"], - [37219, 0, "n"], - [37220, 0, "t"], - [37221, 0, "l"], - [37222, 0, "y"], - [37223, 0, " "], - [37224, 0, "i"], - [37225, 0, "n"], - [37226, 0, "s"], - [37227, 0, "e"], - [37228, 0, "r"], - [37229, 0, "t"], - [37230, 0, "i"], - [37231, 0, "n"], - [37232, 0, "g"], - [37233, 0, " "], - [37234, 0, "l"], - [37235, 0, "i"], - [37236, 0, "s"], - [37237, 0, "t"], - [37238, 0, " "], - [37239, 0, "e"], - [37240, 0, "l"], - [37241, 0, "e"], - [37242, 0, "m"], - [37243, 0, "e"], - [37244, 0, "n"], - [37245, 0, "t"], - [37246, 0, "s"], - [37247, 0, " "], - [37248, 0, "a"], - [37249, 0, "t"], - [37250, 0, " "], - [37251, 0, "t"], - [37252, 0, "h"], - [37253, 0, "e"], - [37254, 0, " "], - [37255, 0, "s"], - [37256, 0, "a"], - [37257, 0, "m"], - [37258, 0, "e"], - [37259, 0, " "], - [37260, 0, "p"], - [37261, 0, "o"], - [37262, 0, "s"], - [37263, 0, "i"], - [37264, 0, "t"], - [37265, 0, "i"], - [37266, 0, "o"], - [37267, 0, "n"], - [37268, 0, ","], - [37269, 0, " "], - [37270, 0, "a"], - [37271, 0, "n"], - [37272, 0, "d"], - [37273, 0, " "], - [37274, 0, "e"], - [37275, 0, "n"], - [37276, 0, "s"], - [37277, 0, "u"], - [37278, 0, "r"], - [37279, 0, "e"], - [37280, 0, "s"], - [37281, 0, " "], - [37282, 0, "a"], - [37283, 0, " "], - [37284, 0, "c"], - [37285, 0, "o"], - [37286, 0, "n"], - [37287, 0, "s"], - [37288, 0, "i"], - [37289, 0, "s"], - [37290, 0, "t"], - [37291, 0, "e"], - [37292, 0, "n"], - [37293, 0, "t"], - [37294, 0, " "], - [37295, 0, "o"], - [37296, 0, "r"], - [37297, 0, "d"], - [37298, 0, "e"], - [37299, 0, "r"], - [37300, 0, " "], - [37301, 0, "b"], - [37302, 0, "y"], - [37303, 0, " "], - [37304, 0, "o"], - [37304, 1], - [37304, 0, "l"], - [37305, 0, "o"], - [37306, 0, "c"], - [37307, 0, "a"], - [37308, 0, "t"], - [37309, 0, "i"], - [37310, 0, "n"], - [37311, 0, "g"], - [37312, 0, " "], - [37312, 1], - [37311, 1], - [37310, 1], - [37309, 1], - [37308, 1], - [37307, 1], - [37306, 1], - [37305, 1], - [37304, 1], - [37303, 1], - [37302, 1], - [37301, 1], - [37300, 1], - [37299, 1], - [37298, 1], - [37297, 1], - [37296, 1], - [37295, 1], - [37294, 1], - [37293, 1], - [37292, 1], - [37291, 1], - [37290, 1], - [37289, 1], - [37288, 1], - [37287, 1], - [37286, 1], - [37285, 1], - [37284, 1], - [37283, 1], - [37282, 1], - [37281, 1], - [37280, 1], - [37279, 1], - [37278, 1], - [37277, 1], - [37276, 1], - [37275, 1], - [37274, 1], - [37274, 0, "u"], - [37275, 0, "s"], - [37276, 0, "e"], - [37277, 0, "s"], - [37278, 0, " "], - [37279, 0, "t"], - [37280, 0, "h"], - [37281, 0, "e"], - [37282, 0, " "], - [37283, 0, "o"], - [37284, 0, "r"], - [37285, 0, "d"], - [37286, 0, "e"], - [37287, 0, "r"], - [37288, 0, "i"], - [37289, 0, "n"], - [37290, 0, "g"], - [37291, 0, " "], - [37292, 0, "r"], - [37293, 0, "e"], - [37294, 0, "l"], - [37295, 0, "a"], - [37296, 0, "t"], - [37297, 0, "i"], - [37298, 0, "o"], - [37299, 0, "n"], - [37300, 0, " "], - [37301, 0, "$"], - [37302, 0, "<"], - [37303, 0, "$"], - [37304, 0, " "], - [37305, 0, "o"], - [37306, 0, "n"], - [37307, 0, " "], - [37308, 0, "L"], - [37309, 0, "a"], - [37310, 0, "m"], - [37311, 0, "p"], - [37312, 0, "o"], - [37313, 0, "r"], - [37314, 0, "t"], - [37315, 0, " "], - [37316, 0, "t"], - [37317, 0, "i"], - [37318, 0, "m"], - [37319, 0, "e"], - [37320, 0, "s"], - [37321, 0, "t"], - [37322, 0, "a"], - [37323, 0, "m"], - [37324, 0, "p"], - [37325, 0, "s"], - [37326, 0, " "], - [37327, 0, "t"], - [37328, 0, "o"], - [37329, 0, " "], - [37330, 0, "d"], - [37331, 0, "e"], - [37332, 0, "t"], - [37333, 0, "e"], - [37334, 0, "r"], - [37335, 0, "m"], - [37336, 0, "i"], - [37337, 0, "n"], - [37338, 0, "e"], - [37339, 0, " "], - [37340, 0, "t"], - [37341, 0, "h"], - [37342, 0, "e"], - [37343, 0, " "], - [37344, 0, "i"], - [37345, 0, "n"], - [37346, 0, "s"], - [37347, 0, "e"], - [37348, 0, "r"], - [37349, 0, "t"], - [37350, 0, "i"], - [37351, 0, "o"], - [37352, 0, "n"], - [37353, 0, " "], - [37354, 0, "p"], - [37355, 0, "o"], - [37356, 0, "i"], - [37357, 0, "n"], - [37358, 0, "t"], - [37359, 0, "."], - [37359, 0, " "], - [37359, 1], - [37330, 0, "c"], - [37331, 0, "o"], - [37332, 0, "n"], - [37333, 0, "s"], - [37334, 0, "i"], - [37335, 0, "s"], - [37336, 0, "t"], - [37337, 0, "e"], - [37338, 0, "n"], - [37339, 0, "t"], - [37340, 0, "l"], - [37341, 0, "y"], - [37342, 0, " "], - [37373, 0, " "], - [37374, 0, "W"], - [37375, 0, "e"], - [37376, 0, " "], - [37377, 0, "s"], - [37378, 0, "h"], - [37379, 0, "o"], - [37380, 0, "w"], - [37381, 0, " "], - [37382, 0, "l"], - [37383, 0, "a"], - [37384, 0, "t"], - [37385, 0, "e"], - [37386, 0, "r"], - [37387, 0, " "], - [37388, 0, "t"], - [37389, 0, "h"], - [37390, 0, "a"], - [37391, 0, "t"], - [37392, 0, " "], - [37393, 0, "t"], - [37394, 0, "h"], - [37395, 0, "e"], - [37396, 0, "s"], - [37397, 0, "e"], - [37398, 0, " "], - [37399, 0, "r"], - [37400, 0, "u"], - [37401, 0, "l"], - [37402, 0, "e"], - [37403, 0, "s"], - [37404, 0, " "], - [37405, 0, "e"], - [37406, 0, "n"], - [37407, 0, "s"], - [37408, 0, "u"], - [37409, 0, "r"], - [37410, 0, "e"], - [37411, 0, " "], - [37412, 0, "a"], - [37413, 0, "l"], - [37414, 0, "l"], - [37415, 0, " "], - [37416, 0, "p"], - [37417, 0, "e"], - [37418, 0, "e"], - [37419, 0, "r"], - [37420, 0, "s"], - [37421, 0, " "], - [37422, 0, "c"], - [37423, 0, "o"], - [37424, 0, "n"], - [37425, 0, "v"], - [37426, 0, "e"], - [37427, 0, "r"], - [37428, 0, "g"], - [37429, 0, "e"], - [37430, 0, " "], - [37431, 0, "t"], - [37432, 0, "o"], - [37433, 0, "w"], - [37434, 0, "a"], - [37435, 0, "r"], - [37436, 0, "d"], - [37437, 0, "s"], - [37438, 0, " "], - [37439, 0, "t"], - [37440, 0, "h"], - [37441, 0, "e"], - [37442, 0, " "], - [37443, 0, "s"], - [37444, 0, "a"], - [37445, 0, "m"], - [37446, 0, "e"], - [37447, 0, " "], - [37448, 0, "s"], - [37449, 0, "t"], - [37450, 0, "a"], - [37451, 0, "t"], - [37452, 0, "e"], - [37453, 0, "."], - [37455, 0, "\n"], - [37455, 0, "\n"], - [37456, 0, "\\"], - [37457, 0, "s"], - [37458, 0, "u"], - [37459, 0, "b"], - [37460, 0, "s"], - [37461, 0, "u"], - [37462, 0, "b"], - [37463, 0, "s"], - [37464, 0, "e"], - [37465, 0, "c"], - [37466, 0, "t"], - [37467, 0, "i"], - [37468, 0, "o"], - [37469, 0, "n"], - [37470, 0, "{"], - [37471, 0, "C"], - [37472, 0, "l"], - [37473, 0, "e"], - [37474, 0, "a"], - [37475, 0, "r"], - [37476, 0, "i"], - [37477, 0, "n"], - [37478, 0, "g"], - [37479, 0, " "], - [37480, 0, "p"], - [37481, 0, "r"], - [37482, 0, "i"], - [37483, 0, "o"], - [37484, 0, "r"], - [37485, 0, " "], - [37486, 0, "s"], - [37487, 0, "t"], - [37488, 0, "a"], - [37489, 0, "t"], - [37490, 0, "e"], - [37491, 0, "}"], - [42388, 0, "A"], - [42389, 0, "s"], - [42390, 0, "s"], - [42391, 0, "i"], - [42392, 0, "g"], - [42393, 0, "n"], - [42394, 0, "m"], - [42395, 0, "e"], - [42396, 0, "n"], - [42397, 0, "t"], - [42398, 0, " "], - [42399, 0, "a"], - [42400, 0, "n"], - [42401, 0, "d"], - [42402, 0, " "], - [42403, 0, "d"], - [42404, 0, "e"], - [42405, 0, "l"], - [42406, 0, "e"], - [42407, 0, "t"], - [42408, 0, "i"], - [42409, 0, "o"], - [42410, 0, "n"], - [42411, 0, " "], - [42412, 0, "o"], - [42413, 0, "p"], - [42414, 0, "e"], - [42415, 0, "r"], - [42416, 0, "a"], - [42417, 0, "t"], - [42418, 0, "i"], - [42419, 0, "o"], - [42420, 0, "n"], - [42421, 0, "s"], - [42422, 0, " "], - [42423, 0, "r"], - [42424, 0, "e"], - [42425, 0, "q"], - [42426, 0, "u"], - [42427, 0, "i"], - [42428, 0, "r"], - [42429, 0, "e"], - [42430, 0, " "], - [42431, 0, "t"], - [42432, 0, "h"], - [42433, 0, "a"], - [42434, 0, "t"], - [42435, 0, " "], - [42436, 0, "p"], - [42437, 0, "r"], - [42438, 0, "i"], - [42439, 0, "o"], - [42440, 0, "r"], - [42441, 0, " "], - [42442, 0, "s"], - [42443, 0, "t"], - [42444, 0, "a"], - [42445, 0, "t"], - [42446, 0, "e"], - [42447, 0, " "], - [42448, 0, "("], - [42449, 0, "t"], - [42450, 0, "h"], - [42451, 0, "e"], - [42452, 0, " "], - [42453, 0, "v"], - [42454, 0, "a"], - [42455, 0, "l"], - [42456, 0, "u"], - [42457, 0, "e"], - [42458, 0, " "], - [42459, 0, "b"], - [42460, 0, "e"], - [42461, 0, "i"], - [42462, 0, "n"], - [42463, 0, "g"], - [42464, 0, " "], - [42465, 0, "o"], - [42466, 0, "v"], - [42467, 0, "e"], - [42468, 0, "r"], - [42469, 0, "w"], - [42470, 0, "r"], - [42471, 0, "i"], - [42472, 0, "t"], - [42473, 0, "t"], - [42474, 0, "e"], - [42475, 0, "n"], - [42476, 0, " "], - [42477, 0, "o"], - [42478, 0, "r"], - [42479, 0, " "], - [42480, 0, "d"], - [42481, 0, "e"], - [42482, 0, "l"], - [42483, 0, "e"], - [42484, 0, "t"], - [42485, 0, "e"], - [42486, 0, "d"], - [42487, 0, ")"], - [42488, 0, " "], - [42489, 0, "i"], - [42490, 0, "s"], - [42491, 0, " "], - [42492, 0, "c"], - [42493, 0, "l"], - [42494, 0, "e"], - [42495, 0, "a"], - [42496, 0, "r"], - [42497, 0, "e"], - [42498, 0, "d"], - [42499, 0, " "], - [42499, 1], - [42499, 0, ","], - [42500, 0, " "], - [42501, 0, "w"], - [42502, 0, "h"], - [42503, 0, "i"], - [42504, 0, "l"], - [42505, 0, "e"], - [42506, 0, " "], - [42507, 0, "a"], - [42508, 0, "l"], - [42509, 0, "s"], - [42510, 0, "o"], - [42511, 0, " "], - [42512, 0, "e"], - [42513, 0, "n"], - [42514, 0, "s"], - [42515, 0, "u"], - [42516, 0, "r"], - [42517, 0, "i"], - [42518, 0, "n"], - [42519, 0, "g"], - [42520, 0, " "], - [42521, 0, "t"], - [42522, 0, "h"], - [42523, 0, "a"], - [42524, 0, "t"], - [42525, 0, " "], - [42526, 0, "c"], - [42527, 0, "o"], - [42528, 0, "n"], - [42529, 0, "c"], - [42530, 0, "u"], - [42531, 0, "r"], - [42532, 0, "r"], - [42533, 0, "e"], - [42534, 0, "m"], - [42534, 1], - [42534, 0, "n"], - [42535, 0, "t"], - [42536, 0, " "], - [42537, 0, "m"], - [42538, 0, "o"], - [42539, 0, "d"], - [42540, 0, "i"], - [42541, 0, "f"], - [42542, 0, "i"], - [42543, 0, "c"], - [42544, 0, "a"], - [42545, 0, "t"], - [42546, 0, "i"], - [42547, 0, "o"], - [42548, 0, "n"], - [42549, 0, "s"], - [42550, 0, " "], - [42551, 0, "a"], - [42552, 0, "r"], - [42553, 0, "e"], - [42554, 0, " "], - [42555, 0, "n"], - [42556, 0, "o"], - [42557, 0, "t"], - [42558, 0, " "], - [42559, 0, "l"], - [42560, 0, "o"], - [42561, 0, "s"], - [42562, 0, "t"], - [42563, 0, "."], - [42564, 0, " "], - [42565, 0, "T"], - [42566, 0, "h"], - [42567, 0, "e"], - [42568, 0, " "], - [42569, 0, "r"], - [42570, 0, "u"], - [42571, 0, "l"], - [42572, 0, "e"], - [42573, 0, "s"], - [42574, 0, " "], - [42575, 0, "t"], - [42576, 0, "o"], - [42577, 0, " "], - [42578, 0, "h"], - [42579, 0, "a"], - [42580, 0, "n"], - [42581, 0, "d"], - [42582, 0, "l"], - [42583, 0, "e"], - [42584, 0, " "], - [42585, 0, "t"], - [42586, 0, "h"], - [42587, 0, "i"], - [42588, 0, "s"], - [42589, 0, " "], - [42590, 0, "c"], - [42591, 0, "l"], - [42592, 0, "e"], - [42593, 0, "a"], - [42594, 0, "r"], - [42595, 0, "i"], - [42596, 0, "n"], - [42597, 0, "g"], - [42598, 0, " "], - [42599, 0, "p"], - [42600, 0, "r"], - [42601, 0, "o"], - [42602, 0, "c"], - [42603, 0, "e"], - [42604, 0, "s"], - [42605, 0, "s"], - [42606, 0, " "], - [42607, 0, "a"], - [42608, 0, "r"], - [42609, 0, "e"], - [42610, 0, " "], - [42611, 0, "g"], - [42612, 0, "i"], - [42613, 0, "v"], - [42614, 0, "e"], - [42615, 0, "n"], - [42616, 0, " "], - [42617, 0, "i"], - [42618, 0, "n"], - [42619, 0, " "], - [42620, 0, "F"], - [42621, 0, "i"], - [42622, 0, "g"], - [42623, 0, "u"], - [42624, 0, "r"], - [42625, 0, "e"], - [42626, 0, "~"], - [42627, 0, "\\"], - [42628, 0, "r"], - [42629, 0, "e"], - [42630, 0, "f"], - [42631, 0, "{"], - [42632, 0, "f"], - [42633, 0, "i"], - [42634, 0, "g"], - [42635, 0, ":"], - [42636, 0, "c"], - [42637, 0, "l"], - [42638, 0, "e"], - [42639, 0, "a"], - [42640, 0, "r"], - [42641, 0, "-"], - [42642, 0, "r"], - [42643, 0, "u"], - [42644, 0, "l"], - [42645, 0, "e"], - [42646, 0, "s"], - [42647, 0, "}"], - [42648, 0, "."], - [42649, 0, " "], - [42650, 0, "I"], - [42651, 0, "n"], - [42652, 0, "t"], - [42653, 0, "u"], - [42654, 0, "i"], - [42655, 0, "t"], - [42656, 0, "i"], - [42657, 0, "v"], - [42658, 0, "e"], - [42659, 0, "l"], - [42660, 0, "y"], - [42661, 0, ","], - [42662, 0, " "], - [42663, 0, "t"], - [42664, 0, "h"], - [42665, 0, "e"], - [42666, 0, " "], - [42667, 0, "e"], - [42668, 0, "f"], - [42669, 0, "f"], - [42670, 0, "e"], - [42671, 0, "c"], - [42672, 0, "t"], - [42673, 0, " "], - [42674, 0, "o"], - [42675, 0, "f"], - [42676, 0, " "], - [42677, 0, "c"], - [42678, 0, "l"], - [42679, 0, "e"], - [42680, 0, "a"], - [42681, 0, "r"], - [42682, 0, "i"], - [42683, 0, "n"], - [42684, 0, "g"], - [42685, 0, " "], - [42686, 0, "s"], - [42687, 0, "o"], - [42688, 0, "m"], - [42689, 0, "e"], - [42690, 0, "t"], - [42691, 0, "h"], - [42692, 0, "i"], - [42693, 0, "n"], - [42694, 0, "g"], - [42695, 0, " "], - [42696, 0, "i"], - [42697, 0, "s"], - [42698, 0, " "], - [42699, 0, "t"], - [42700, 0, "o"], - [42701, 0, " "], - [42702, 0, "r"], - [42703, 0, "e"], - [42704, 0, "s"], - [42705, 0, "e"], - [42706, 0, "t"], - [42707, 0, " "], - [42708, 0, "i"], - [42709, 0, "t"], - [42710, 0, " "], - [42711, 0, "t"], - [42712, 0, "o"], - [42713, 0, " "], - [42714, 0, "i"], - [42715, 0, "t"], - [42716, 0, "s"], - [42717, 0, " "], - [42718, 0, "e"], - [42719, 0, "m"], - [42720, 0, "p"], - [42721, 0, "t"], - [42722, 0, "y"], - [42723, 0, " "], - [42724, 0, "s"], - [42725, 0, "t"], - [42726, 0, "a"], - [42727, 0, "t"], - [42728, 0, "e"], - [42729, 0, " "], - [42730, 0, "b"], - [42731, 0, "y"], - [42732, 0, " "], - [42733, 0, "u"], - [42734, 0, "n"], - [42735, 0, "d"], - [42736, 0, "o"], - [42737, 0, "i"], - [42738, 0, "n"], - [42739, 0, "g"], - [42740, 0, " "], - [42741, 0, "a"], - [42742, 0, "n"], - [42743, 0, "y"], - [42744, 0, " "], - [42745, 0, "o"], - [42746, 0, "p"], - [42747, 0, "e"], - [42748, 0, "r"], - [42749, 0, "a"], - [42750, 0, "t"], - [42751, 0, "i"], - [42752, 0, "o"], - [42753, 0, "n"], - [42754, 0, "s"], - [42755, 0, " "], - [42756, 0, "t"], - [42757, 0, "h"], - [42758, 0, "a"], - [42759, 0, "t"], - [42760, 0, " "], - [42761, 0, "c"], - [42762, 0, "a"], - [42763, 0, "u"], - [42764, 0, "s"], - [42765, 0, "a"], - [42766, 0, "l"], - [42767, 0, "l"], - [42768, 0, "y"], - [42769, 0, " "], - [42770, 0, "p"], - [42771, 0, "r"], - [42772, 0, "e"], - [42773, 0, "d"], - [42773, 1], - [42773, 0, "c"], - [42774, 0, "e"], - [42775, 0, "d"], - [42776, 0, "e"], - [42777, 0, " "], - [42778, 0, "t"], - [42779, 0, "h"], - [42780, 0, "e"], - [42781, 0, " "], - [42782, 0, "c"], - [42783, 0, "u"], - [42784, 0, "r"], - [42785, 0, "r"], - [42786, 0, "e"], - [42787, 0, "n"], - [42788, 0, "t"], - [42789, 0, " "], - [42790, 0, "o"], - [42791, 0, "p"], - [42792, 0, "e"], - [42793, 0, "r"], - [42794, 0, "a"], - [42795, 0, "t"], - [42796, 0, "i"], - [42797, 0, "o"], - [42798, 0, "n"], - [42799, 0, ","], - [42800, 0, " "], - [42801, 0, "w"], - [42802, 0, "h"], - [42803, 0, "i"], - [42804, 0, "l"], - [42805, 0, "e"], - [42806, 0, " "], - [42807, 0, "l"], - [42808, 0, "e"], - [42809, 0, "a"], - [42810, 0, "v"], - [42811, 0, "i"], - [42812, 0, "n"], - [42813, 0, "g"], - [42814, 0, " "], - [42815, 0, "a"], - [42816, 0, "n"], - [42817, 0, "y"], - [42818, 0, " "], - [42819, 0, "c"], - [42820, 0, "o"], - [42821, 0, "n"], - [42822, 0, "c"], - [42823, 0, "u"], - [42824, 0, "r"], - [42825, 0, "r"], - [42826, 0, "e"], - [42827, 0, "n"], - [42828, 0, "t"], - [42829, 0, " "], - [42830, 0, "o"], - [42831, 0, "p"], - [42832, 0, "e"], - [42833, 0, "r"], - [42834, 0, "a"], - [42835, 0, "t"], - [42836, 0, "i"], - [42837, 0, "o"], - [42838, 0, "n"], - [42839, 0, "s"], - [42815, 0, "t"], - [42816, 0, "h"], - [42817, 0, "e"], - [42818, 0, " "], - [42819, 0, "e"], - [42820, 0, "f"], - [42821, 0, "f"], - [42822, 0, "e"], - [42823, 0, "c"], - [42824, 0, "t"], - [42825, 0, " "], - [42826, 0, "o"], - [42827, 0, "f"], - [42828, 0, " "], - [42854, 0, " "], - [42855, 0, "u"], - [42856, 0, "n"], - [42857, 0, "t"], - [42858, 0, "o"], - [42859, 0, "u"], - [42860, 0, "c"], - [42861, 0, "h"], - [42862, 0, "e"], - [42863, 0, "d"], - [42864, 0, "."], - [42865, 0, "\n"], - [42866, 0, "\n"], - [42867, 0, "T"], - [42868, 0, "h"], - [42869, 0, "e"], - [42870, 0, " "], - [42871, 0, "\\"], - [42872, 0, "t"], - [42873, 0, "e"], - [42874, 0, "x"], - [42875, 0, "t"], - [42876, 0, "s"], - [42877, 0, "c"], - [42878, 0, "{"], - [42879, 0, "D"], - [42880, 0, "e"], - [42881, 0, "l"], - [42882, 0, "e"], - [42883, 0, "t"], - [42884, 0, "e"], - [42885, 0, "}"], - [42886, 0, " "], - [42887, 0, "r"], - [42888, 0, "u"], - [42889, 0, "l"], - [42890, 0, "e"], - [42891, 0, " "], - [42892, 0, "s"], - [42893, 0, "h"], - [42894, 0, "o"], - [42895, 0, "w"], - [42896, 0, "s"], - [42897, 0, " "], - [42898, 0, "h"], - [42899, 0, "o"], - [42900, 0, "w"], - [42901, 0, " "], - [42902, 0, "t"], - [42903, 0, "h"], - [42904, 0, "e"], - [42905, 0, " "], - [42906, 0, "\\"], - [42907, 0, "t"], - [42908, 0, "e"], - [42909, 0, "x"], - [42910, 0, "t"], - [42911, 0, "s"], - [42912, 0, "f"], - [42913, 0, "{"], - [42914, 0, "d"], - [42915, 0, "e"], - [42916, 0, "l"], - [42917, 0, "e"], - [42918, 0, "t"], - [42919, 0, "e"], - [42920, 0, "}"], - [42905, 1], - [42904, 1], - [42903, 1], - [42902, 1], - [42917, 0, " "], - [42918, 0, "o"], - [42919, 0, "p"], - [42920, 0, "e"], - [42921, 0, "r"], - [42922, 0, "a"], - [42923, 0, "t"], - [42924, 0, "i"], - [42925, 0, "o"], - [42926, 0, "n"], - [42927, 0, "s"], - [42928, 0, " "], - [42929, 0, "("], - [42930, 0, "w"], - [42931, 0, "h"], - [42932, 0, "i"], - [42933, 0, "c"], - [42934, 0, "h"], - [42935, 0, " "], - [42936, 0, "c"], - [42937, 0, "a"], - [42938, 0, "n"], - [42939, 0, " "], - [42940, 0, "b"], - [42941, 0, "e"], - [42942, 0, " "], - [42943, 0, "u"], - [42944, 0, "s"], - [42945, 0, "e"], - [42946, 0, "d"], - [42947, 0, " "], - [42948, 0, "t"], - [42949, 0, "o"], - [42950, 0, " "], - [42951, 0, "d"], - [42952, 0, "e"], - [42953, 0, "l"], - [42954, 0, "e"], - [42955, 0, "t"], - [42956, 0, "e"], - [42957, 0, " "], - [42958, 0, "e"], - [42959, 0, "i"], - [42960, 0, "t"], - [42961, 0, "h"], - [42962, 0, "e"], - [42963, 0, "r"], - [42964, 0, " "], - [42935, 1], - [42934, 1], - [42933, 1], - [42932, 1], - [42931, 1], - [42930, 1], - [42929, 1], - [42901, 1], - [42900, 1], - [42899, 1], - [42898, 1], - [42897, 1], - [42896, 1], - [42895, 1], - [42894, 1], - [42893, 1], - [42892, 1], - [42891, 1], - [42890, 1], - [42889, 1], - [42888, 1], - [42887, 1], - [42886, 1], - [42885, 1], - [42884, 1], - [42883, 1], - [42882, 1], - [42881, 1], - [42880, 1], - [42879, 1], - [42878, 1], - [42877, 1], - [42876, 1], - [42875, 1], - [42874, 1], - [42873, 1], - [42872, 1], - [42871, 1], - [42870, 1], - [42869, 1], - [42868, 1], - [42867, 1], - [42867, 0, "A"], - [42868, 0, " "], - [42894, 1], - [42924, 0, "a"], - [42925, 0, "n"], - [42926, 0, " "], - [42927, 0, "e"], - [42928, 0, "l"], - [42929, 0, "e"], - [42930, 0, "m"], - [42931, 0, "e"], - [42932, 0, "n"], - [42933, 0, "t"], - [42934, 0, " "], - [42935, 0, "f"], - [42936, 0, "r"], - [42937, 0, "o"], - [42938, 0, "m"], - [42939, 0, " "], - [42940, 0, "a"], - [42941, 0, "n"], - [42942, 0, " "], - [42943, 0, "o"], - [42944, 0, "r"], - [42945, 0, "d"], - [42946, 0, "e"], - [42947, 0, "r"], - [42948, 0, "e"], - [42949, 0, "d"], - [42950, 0, " "], - [42951, 0, "l"], - [42952, 0, "i"], - [42953, 0, "s"], - [42954, 0, "t"], - [42955, 0, " "], - [42956, 0, "o"], - [42957, 0, "r"], - [42958, 0, " "], - [42959, 0, "a"], - [42960, 0, " "], - [42961, 0, "k"], - [42962, 0, "e"], - [42963, 0, "y"], - [42964, 0, " "], - [42965, 0, "f"], - [42966, 0, "r"], - [42967, 0, "o"], - [42968, 0, "m"], - [42969, 0, " "], - [42970, 0, "a"], - [42971, 0, " "], - [42972, 0, "m"], - [42973, 0, "a"], - [42974, 0, "p"], - [42975, 0, ","], - [42976, 0, " "], - [42977, 0, "d"], - [42978, 0, "e"], - [42979, 0, "p"], - [42980, 0, "e"], - [42981, 0, "n"], - [42982, 0, "d"], - [42983, 0, "i"], - [42984, 0, "n"], - [42985, 0, "g"], - [42986, 0, " "], - [42987, 0, "o"], - [42988, 0, "n"], - [42989, 0, " "], - [42990, 0, "w"], - [42991, 0, "h"], - [42992, 0, "a"], - [42993, 0, "t"], - [42994, 0, " "], - [42995, 0, "t"], - [42996, 0, "h"], - [42997, 0, "e"], - [42998, 0, " "], - [42999, 0, "c"], - [43000, 0, "u"], - [43001, 0, "r"], - [43002, 0, "s"], - [43003, 0, "o"], - [43004, 0, "r"], - [43005, 0, " "], - [43006, 0, "r"], - [43007, 0, "e"], - [43008, 0, "f"], - [43009, 0, "e"], - [43010, 0, "r"], - [43011, 0, "s"], - [43012, 0, " "], - [43013, 0, "t"], - [43014, 0, "o"], - [43015, 0, "."], - [43016, 0, " "], - [43017, 0, "T"], - [43018, 0, "h"], - [43019, 0, "e"], - [43020, 0, " "], - [43021, 0, "\\"], - [43022, 0, "t"], - [43023, 0, "e"], - [43024, 0, "x"], - [43025, 0, "t"], - [43026, 0, "s"], - [43027, 0, "c"], - [43028, 0, "{"], - [43029, 0, "D"], - [43030, 0, "e"], - [43031, 0, "l"], - [43032, 0, "e"], - [43033, 0, "t"], - [43034, 0, "e"], - [43035, 0, "}"], - [43036, 0, " "], - [43037, 0, "r"], - [43038, 0, "u"], - [43039, 0, "l"], - [43040, 0, "e"], - [43041, 0, " "], - [43042, 0, "s"], - [43043, 0, "h"], - [43044, 0, "o"], - [43045, 0, "w"], - [43046, 0, "s"], - [43047, 0, " "], - [43048, 0, "h"], - [43049, 0, "o"], - [43050, 0, "w"], - [43051, 0, " "], - [43052, 0, "t"], - [43053, 0, "h"], - [43054, 0, "i"], - [43055, 0, "s"], - [43056, 0, " "], - [43057, 0, "o"], - [43058, 0, "p"], - [43059, 0, "e"], - [43060, 0, "r"], - [43061, 0, "a"], - [43062, 0, "t"], - [43063, 0, "i"], - [43064, 0, "o"], - [43065, 0, "n"], - [43066, 0, " "], - [43067, 0, "i"], - [43068, 0, "s"], - [43069, 0, " "], - [43070, 0, "e"], - [43071, 0, "v"], - [43072, 0, "a"], - [43073, 0, "l"], - [43074, 0, "u"], - [43075, 0, "a"], - [43076, 0, "t"], - [43077, 0, "e"], - [43078, 0, "d"], - [43079, 0, ","], - [43080, 0, " "], - [43081, 0, "b"], - [43082, 0, "y"], - [43083, 0, " "], - [43084, 0, "d"], - [43085, 0, "e"], - [43086, 0, "l"], - [43087, 0, "e"], - [43088, 0, "g"], - [43089, 0, "a"], - [43090, 0, "t"], - [43091, 0, "i"], - [43092, 0, "n"], - [43093, 0, "g"], - [43094, 0, " "], - [43095, 0, "t"], - [43096, 0, "o"], - [43097, 0, " "], - [43098, 0, "\\"], - [43099, 0, "t"], - [43100, 0, "e"], - [43101, 0, "x"], - [43102, 0, "t"], - [43103, 0, "s"], - [43104, 0, "f"], - [43105, 0, "{"], - [43106, 0, "c"], - [43107, 0, "l"], - [43108, 0, "e"], - [43109, 0, "a"], - [43110, 0, "r"], - [43111, 0, "E"], - [43112, 0, "l"], - [43113, 0, "e"], - [43114, 0, "m"], - [43115, 0, "}"], - [43116, 0, "."], - [43117, 0, " "], - [43118, 0, "\\"], - [43119, 0, "t"], - [43120, 0, "e"], - [43121, 0, "x"], - [43122, 0, "t"], - [43123, 0, "s"], - [43124, 0, "c"], - [43125, 0, "{"], - [43126, 0, "C"], - [43127, 0, "l"], - [43128, 0, "e"], - [43129, 0, "a"], - [43130, 0, "r"], - [43131, 0, "-"], - [43132, 0, "E"], - [43133, 0, "l"], - [43134, 0, "e"], - [43135, 0, "m"], - [43136, 0, "}"], - [43137, 0, " "], - [43138, 0, "u"], - [43139, 0, "s"], - [43140, 0, "e"], - [43141, 0, "s"], - [43142, 0, " "], - [43143, 0, "\\"], - [43144, 0, "t"], - [43145, 0, "e"], - [43146, 0, "x"], - [43147, 0, "t"], - [43148, 0, "s"], - [43149, 0, "c"], - [43150, 0, "{"], - [43151, 0, "C"], - [43152, 0, "l"], - [43153, 0, "e"], - [43154, 0, "a"], - [43155, 0, "r"], - [43156, 0, "-"], - [43157, 0, "A"], - [43158, 0, "n"], - [43159, 0, "y"], - [43160, 0, "}"], - [43161, 0, " "], - [43162, 0, "t"], - [43163, 0, "o"], - [43164, 0, " "], - [43165, 0, "r"], - [43166, 0, "e"], - [43167, 0, "c"], - [43168, 0, "u"], - [43169, 0, "r"], - [43170, 0, "s"], - [43171, 0, "i"], - [43172, 0, "v"], - [43173, 0, "e"], - [43174, 0, "l"], - [43175, 0, "y"], - [43176, 0, " "], - [43177, 0, "c"], - [43178, 0, "l"], - [43178, 1], - [43177, 1], - [43176, 1], - [43175, 1], - [43174, 1], - [43173, 1], - [43172, 1], - [43171, 1], - [43170, 1], - [43169, 1], - [43168, 1], - [43167, 1], - [43166, 1], - [43165, 1], - [43165, 0, "c"], - [43166, 0, "l"], - [43167, 0, "e"], - [43168, 0, "a"], - [43169, 0, "r"], - [43170, 0, " "], - [43171, 0, "o"], - [43172, 0, "u"], - [43173, 0, "t"], - [43174, 0, " "], - [43175, 0, "a"], - [43176, 0, "n"], - [43177, 0, "y"], - [43178, 0, " "], - [43179, 0, "d"], - [43180, 0, "a"], - [43181, 0, "t"], - [43182, 0, "a"], - [43183, 0, " "], - [43184, 0, "w"], - [43185, 0, "i"], - [43186, 0, "t"], - [43187, 0, "h"], - [43188, 0, " "], - [43189, 0, "a"], - [43190, 0, " "], - [43191, 0, "g"], - [43192, 0, "i"], - [43193, 0, "v"], - [43194, 0, "e"], - [43195, 0, "n"], - [43196, 0, " "], - [43197, 0, "k"], - [43198, 0, "e"], - [43199, 0, "y"], - [43200, 0, " "], - [43200, 1], - [43200, 0, ","], - [43201, 0, " "], - [43202, 0, "r"], - [43203, 0, "e"], - [43204, 0, "g"], - [43205, 0, "a"], - [43206, 0, "r"], - [43207, 0, "d"], - [43208, 0, "l"], - [43209, 0, "e"], - [43210, 0, "s"], - [43211, 0, "s"], - [43212, 0, " "], - [43213, 0, "o"], - [43214, 0, "f"], - [43215, 0, " "], - [43216, 0, "w"], - [43217, 0, "h"], - [43218, 0, "e"], - [43219, 0, "t"], - [43220, 0, "h"], - [43221, 0, "e"], - [43222, 0, "r"], - [43223, 0, " "], - [43224, 0, "i"], - [43225, 0, "t"], - [43226, 0, " "], - [43227, 0, "i"], - [43228, 0, "s"], - [43229, 0, " "], - [43230, 0, "o"], - [43231, 0, "f"], - [43232, 0, " "], - [43233, 0, "t"], - [43234, 0, "y"], - [43235, 0, "p"], - [43236, 0, "e"], - [43237, 0, " "], - [43238, 0, "\\"], - [43239, 0, "t"], - [43240, 0, "e"], - [43241, 0, "x"], - [43242, 0, "t"], - [43243, 0, "s"], - [43244, 0, "f"], - [43245, 0, "{"], - [43246, 0, "m"], - [43247, 0, "a"], - [43248, 0, "p"], - [43249, 0, "T"], - [43250, 0, "}"], - [43251, 0, ","], - [43252, 0, " "], - [43253, 0, "\\"], - [43254, 0, "t"], - [43255, 0, "e"], - [43256, 0, "x"], - [43257, 0, "t"], - [43258, 0, "s"], - [43259, 0, "f"], - [43260, 0, "{"], - [43261, 0, "l"], - [43262, 0, "i"], - [43263, 0, "s"], - [43264, 0, "t"], - [43265, 0, "T"], - [43266, 0, "}"], - [43267, 0, " "], - [43268, 0, "o"], - [43269, 0, "r"], - [43270, 0, " "], - [43271, 0, "\\"], - [43272, 0, "t"], - [43273, 0, "e"], - [43274, 0, "x"], - [43275, 0, "t"], - [43276, 0, "s"], - [43277, 0, "f"], - [43278, 0, "{"], - [43279, 0, "r"], - [43280, 0, "e"], - [43281, 0, "g"], - [43282, 0, "T"], - [43283, 0, "}"], - [43284, 0, ","], - [43285, 0, " "], - [43286, 0, "a"], - [43287, 0, "n"], - [43288, 0, "d"], - [43289, 0, " "], - [43290, 0, "a"], - [43291, 0, "l"], - [43292, 0, "s"], - [43293, 0, "o"], - [43294, 0, " "], - [43295, 0, "u"], - [43296, 0, "p"], - [43297, 0, "d"], - [43298, 0, "a"], - [43299, 0, "t"], - [43300, 0, "e"], - [43301, 0, "s"], - [43302, 0, " "], - [43303, 0, "t"], - [43304, 0, "h"], - [43305, 0, "e"], - [43306, 0, " "], - [43307, 0, "p"], - [43308, 0, "r"], - [43309, 0, "e"], - [43310, 0, "s"], - [43311, 0, "e"], - [43312, 0, "n"], - [43313, 0, "c"], - [43314, 0, "e"], - [43315, 0, " "], - [43316, 0, "s"], - [43317, 0, "e"], - [43318, 0, "t"], - [43319, 0, " "], - [43320, 0, "t"], - [43321, 0, "o"], - [43322, 0, " "], - [43323, 0, "i"], - [43324, 0, "n"], - [43325, 0, "c"], - [43326, 0, "l"], - [43327, 0, "u"], - [43328, 0, "d"], - [43329, 0, "e"], - [43330, 0, " "], - [43331, 0, "a"], - [43332, 0, "n"], - [43333, 0, "y"], - [43334, 0, " "], - [43335, 0, "n"], - [43336, 0, "e"], - [43337, 0, "s"], - [43338, 0, "t"], - [43339, 0, "e"], - [43340, 0, "d"], - [43341, 0, " "], - [43342, 0, "o"], - [43343, 0, "p"], - [43344, 0, "e"], - [43345, 0, "r"], - [43346, 0, "a"], - [43347, 0, "t"], - [43348, 0, "i"], - [43349, 0, "o"], - [43350, 0, "n"], - [43351, 0, " "], - [43352, 0, "I"], - [43353, 0, "D"], - [43354, 0, "s"], - [43355, 0, ","], - [43356, 0, " "], - [43357, 0, "b"], - [43358, 0, "u"], - [43359, 0, "t"], - [43360, 0, " "], - [43361, 0, "e"], - [43362, 0, "x"], - [43363, 0, "c"], - [43364, 0, "l"], - [43365, 0, "u"], - [43366, 0, "d"], - [43367, 0, "e"], - [43368, 0, " "], - [43369, 0, "a"], - [43370, 0, "n"], - [43371, 0, "y"], - [43372, 0, " "], - [43373, 0, "o"], - [43374, 0, "p"], - [43375, 0, "e"], - [43376, 0, "r"], - [43377, 0, "a"], - [43378, 0, "t"], - [43379, 0, "i"], - [43380, 0, "o"], - [43381, 0, "n"], - [43382, 0, "s"], - [43383, 0, " "], - [43384, 0, "i"], - [43385, 0, "n"], - [43386, 0, " "], - [43387, 0, "$"], - [43388, 0, "\\"], - [43389, 0, "t"], - [43390, 0, "e"], - [43391, 0, "x"], - [43392, 0, "t"], - [43393, 0, "i"], - [43394, 0, "t"], - [43395, 0, "{"], - [43396, 0, "d"], - [43397, 0, "e"], - [43398, 0, "p"], - [43399, 0, "s"], - [43400, 0, "}"], - [43401, 0, "$"], - [43402, 0, "."], - [43389, 1], - [43389, 1], - [43389, 1], - [43389, 1], - [43389, 0, "m"], - [43390, 0, "a"], - [43391, 0, "t"], - [43392, 0, "h"], - [38083, 0, " "], - [38084, 0, "\\"], - [38085, 0, "s"], - [38086, 0, "e"], - [38087, 0, "t"], - [38088, 0, "m"], - [38089, 0, "i"], - [38090, 0, "n"], - [38091, 0, "u"], - [38092, 0, "s"], - [38093, 0, " "], - [38094, 0, "\\"], - [38095, 0, "m"], - [38096, 0, "a"], - [38097, 0, "t"], - [38098, 0, "h"], - [38099, 0, "i"], - [38100, 0, "t"], - [38101, 0, "{"], - [38102, 0, "d"], - [38103, 0, "e"], - [38104, 0, "p"], - [38105, 0, "s"], - [38106, 0, "}"], - [43128, 1], - [43127, 1], - [43127, 0, "s"], - [43128, 0, "c"], - [43103, 1], - [43129, 1], - [43129, 0, "C"], - [43134, 0, "-"], - [43141, 0, " "], - [43142, 0, "I"], - [43143, 0, "n"], - [43144, 0, " "], - [43145, 0, "t"], - [43146, 0, "u"], - [43147, 0, "r"], - [43148, 0, "n"], - [43149, 0, ","], - [43437, 0, "\n"], - [43438, 0, "\n"], - [43438, 0, "T"], - [43439, 0, "h"], - [43440, 0, "e"], - [43441, 0, " "], - [43442, 0, "p"], - [43443, 0, "r"], - [43444, 0, "e"], - [43445, 0, "m"], - [43446, 0, "i"], - [43447, 0, "s"], - [43448, 0, "e"], - [43449, 0, "s"], - [43450, 0, " "], - [43451, 0, "o"], - [43452, 0, "f"], - [43453, 0, " "], - [43454, 0, "\\"], - [43455, 0, "t"], - [43456, 0, "e"], - [43457, 0, "x"], - [43458, 0, "t"], - [43459, 0, "s"], - [43460, 0, "c"], - [43461, 0, "{"], - [43462, 0, "C"], - [43463, 0, "l"], - [43464, 0, "e"], - [43465, 0, "a"], - [43466, 0, "r"], - [43467, 0, "-"], - [43468, 0, "A"], - [43469, 0, "n"], - [43470, 0, "y"], - [43471, 0, "}"], - [43472, 0, " "], - [43473, 0, "a"], - [43474, 0, "r"], - [43475, 0, "e"], - [43476, 0, " "], - [43477, 0, "s"], - [43478, 0, "a"], - [43479, 0, "t"], - [43480, 0, "i"], - [43481, 0, "s"], - [43482, 0, "f"], - [43483, 0, "i"], - [43484, 0, "e"], - [43485, 0, "d"], - [43486, 0, " "], - [43487, 0, "b"], - [43488, 0, "y"], - [43489, 0, " "], - [43490, 0, "$"], - [43491, 0, "\\"], - [43492, 0, "t"], - [43493, 0, "e"], - [43494, 0, "x"], - [43495, 0, "t"], - [43496, 0, "s"], - [43497, 0, "c"], - [43498, 0, "{"], - [43499, 0, "C"], - [43500, 0, "l"], - [43501, 0, "e"], - [43502, 0, "a"], - [43503, 0, "r"], - [43504, 0, "-"], - [43505, 0, "M"], - [43506, 0, "a"], - [43507, 0, "p"], - [43508, 0, "}"], - [43509, 0, "_"], - [43510, 0, "1"], - [43511, 0, "$"], - [43512, 0, ","], - [43513, 0, " "], - [43514, 0, "$"], - [43515, 0, "\\"], - [43516, 0, "t"], - [43517, 0, "e"], - [43518, 0, "x"], - [43519, 0, "t"], - [43520, 0, "s"], - [43521, 0, "c"], - [43522, 0, "{"], - [43523, 0, "C"], - [43524, 0, "l"], - [43525, 0, "e"], - [43526, 0, "a"], - [43527, 0, "r"], - [43528, 0, "-"], - [43529, 0, "L"], - [43530, 0, "i"], - [43531, 0, "s"], - [43532, 0, "t"], - [43533, 0, "}"], - [43534, 0, "_"], - [43535, 0, "1"], - [43536, 0, "$"], - [43537, 0, " "], - [43538, 0, "a"], - [43539, 0, "n"], - [43540, 0, "d"], - [43541, 0, " "], - [43542, 0, "\\"], - [43543, 0, "t"], - [43544, 0, "e"], - [43545, 0, "x"], - [43546, 0, "t"], - [43547, 0, "s"], - [43548, 0, "c"], - [43549, 0, "{"], - [43550, 0, "C"], - [43551, 0, "l"], - [43552, 0, "e"], - [43553, 0, "a"], - [43554, 0, "r"], - [43555, 0, "-"], - [43556, 0, "R"], - [43557, 0, "e"], - [43558, 0, "g"], - [43559, 0, "}"], - [43560, 0, " "], - [43561, 0, "i"], - [43562, 0, "f"], - [43563, 0, " "], - [43564, 0, "t"], - [43565, 0, "h"], - [43566, 0, "e"], - [43567, 0, " "], - [43568, 0, "r"], - [43569, 0, "e"], - [43570, 0, "s"], - [43571, 0, "p"], - [43572, 0, "e"], - [43573, 0, "c"], - [43574, 0, "t"], - [43575, 0, "i"], - [43576, 0, "v"], - [43577, 0, "e"], - [43578, 0, " "], - [43579, 0, "k"], - [43580, 0, "e"], - [43581, 0, "y"], - [43582, 0, " "], - [43583, 0, "a"], - [43584, 0, "p"], - [43585, 0, "p"], - [43586, 0, "e"], - [43587, 0, "a"], - [43588, 0, "r"], - [43589, 0, "s"], - [43590, 0, " "], - [43591, 0, "i"], - [43592, 0, "n"], - [43593, 0, " "], - [43594, 0, "$"], - [43595, 0, "\\"], - [43596, 0, "m"], - [43597, 0, "a"], - [43598, 0, "t"], - [43599, 0, "h"], - [43600, 0, "i"], - [43601, 0, "t"], - [43602, 0, "{"], - [43603, 0, "c"], - [43604, 0, "t"], - [43605, 0, "x"], - [43606, 0, "}"], - [43607, 0, "$"], - [43608, 0, ","], - [43609, 0, " "], - [43610, 0, "o"], - [43611, 0, "r"], - [43612, 0, " "], - [43613, 0, "b"], - [43614, 0, "y"], - [43615, 0, " "], - [43616, 0, "\\"], - [43617, 0, "t"], - [43618, 0, "e"], - [43619, 0, "x"], - [43620, 0, "t"], - [43621, 0, "s"], - [43622, 0, "c"], - [43623, 0, "{"], - [43624, 0, "C"], - [43625, 0, "l"], - [43626, 0, "e"], - [43627, 0, "a"], - [43628, 0, "r"], - [43629, 0, "-"], - [43630, 0, "N"], - [43631, 0, "o"], - [43632, 0, "n"], - [43633, 0, "e"], - [43634, 0, "}"], - [43635, 0, " "], - [43636, 0, "("], - [43637, 0, "w"], - [43638, 0, "h"], - [43639, 0, "i"], - [43640, 0, "c"], - [43641, 0, "h"], - [43642, 0, " "], - [43643, 0, "d"], - [43644, 0, "o"], - [43645, 0, "e"], - [43646, 0, "s"], - [43647, 0, " "], - [43648, 0, "n"], - [43649, 0, "o"], - [43650, 0, "t"], - [43651, 0, "h"], - [43652, 0, "i"], - [43653, 0, "n"], - [43654, 0, "g"], - [43655, 0, ")"], - [43656, 0, " "], - [43657, 0, "i"], - [43658, 0, "f"], - [43659, 0, " "], - [43660, 0, "t"], - [43661, 0, "h"], - [43662, 0, "e"], - [43663, 0, " "], - [43664, 0, "k"], - [43665, 0, "e"], - [43666, 0, "y"], - [43667, 0, " "], - [43668, 0, "i"], - [43669, 0, "s"], - [43670, 0, " "], - [43671, 0, "a"], - [43672, 0, "b"], - [43673, 0, "s"], - [43674, 0, "e"], - [43675, 0, "n"], - [43676, 0, "t"], - [43677, 0, "."], - [43678, 0, "\n"], - [43679, 0, "\n"], - [43680, 0, "\\"], - [43681, 0, "t"], - [43682, 0, "e"], - [43683, 0, "x"], - [43684, 0, "t"], - [43685, 0, "s"], - [43686, 0, "c"], - [43687, 0, "{"], - [43688, 0, "C"], - [43689, 0, "l"], - [43690, 0, "e"], - [43691, 0, "a"], - [43692, 0, "r"], - [43693, 0, "-"], - [43694, 0, "R"], - [43695, 0, "e"], - [43696, 0, "g"], - [43697, 0, "}"], - [43698, 0, " "], - [43699, 0, "r"], - [43700, 0, "e"], - [43701, 0, "m"], - [43702, 0, "o"], - [43703, 0, "v"], - [43704, 0, "e"], - [43705, 0, "s"], - [43706, 0, " "], - [43680, 0, " "], - [43680, 0, "A"], - [43681, 0, "s"], - [43682, 0, " "], - [43683, 0, "d"], - [43684, 0, "e"], - [43685, 0, "f"], - [43686, 0, "i"], - [43687, 0, "n"], - [43688, 0, "e"], - [43689, 0, "d"], - [43690, 0, " "], - [43691, 0, "b"], - [43692, 0, "y"], - [43693, 0, " "], - [43694, 0, "t"], - [43695, 0, "h"], - [43696, 0, "e"], - [43697, 0, " "], - [43698, 0, "\\"], - [43699, 0, "t"], - [43700, 0, "e"], - [43701, 0, "x"], - [43702, 0, "t"], - [43703, 0, "s"], - [43704, 0, "c"], - [43705, 0, "{"], - [43706, 0, "A"], - [43707, 0, "s"], - [43708, 0, "s"], - [43709, 0, "i"], - [43710, 0, "g"], - [43711, 0, "n"], - [43712, 0, "}"], - [43713, 0, " "], - [43714, 0, "r"], - [43715, 0, "u"], - [43716, 0, "l"], - [43717, 0, "e"], - [43718, 0, ","], - [43719, 0, " "], - [43720, 0, "a"], - [43721, 0, " "], - [43722, 0, "r"], - [43723, 0, "e"], - [43724, 0, "g"], - [43725, 0, "i"], - [43726, 0, "s"], - [43727, 0, "t"], - [43728, 0, "e"], - [43729, 0, "r"], - [43730, 0, " "], - [43731, 0, "m"], - [43732, 0, "a"], - [43733, 0, "i"], - [43734, 0, "n"], - [43735, 0, "t"], - [43736, 0, "a"], - [43737, 0, "i"], - [43738, 0, "n"], - [43739, 0, "s"], - [43740, 0, " "], - [43741, 0, "a"], - [43742, 0, " "], - [43743, 0, "m"], - [43744, 0, "a"], - [43745, 0, "p"], - [43746, 0, "p"], - [43747, 0, "i"], - [43748, 0, "n"], - [43749, 0, "g"], - [43750, 0, " "], - [43751, 0, "f"], - [43752, 0, "r"], - [43753, 0, "o"], - [43754, 0, "m"], - [43755, 0, " "], - [43756, 0, "o"], - [43757, 0, "p"], - [43758, 0, "e"], - [43759, 0, "r"], - [43760, 0, "a"], - [43761, 0, "t"], - [43762, 0, "i"], - [43763, 0, "o"], - [43764, 0, "n"], - [43765, 0, " "], - [43766, 0, "I"], - [43767, 0, "D"], - [43768, 0, "s"], - [43769, 0, " "], - [43770, 0, "t"], - [43771, 0, "o"], - [43772, 0, " "], - [43773, 0, "v"], - [43774, 0, "a"], - [43775, 0, "l"], - [43776, 0, "u"], - [43777, 0, "e"], - [43778, 0, "s"], - [43779, 0, "."], - [43800, 0, "u"], - [43801, 0, "p"], - [43802, 0, "d"], - [43803, 0, "a"], - [43804, 0, "t"], - [43805, 0, "e"], - [43806, 0, "s"], - [43807, 0, " "], - [43808, 0, "a"], - [43809, 0, " "], - [43810, 0, "r"], - [43811, 0, "e"], - [43812, 0, "g"], - [43813, 0, "i"], - [43814, 0, "s"], - [43815, 0, "t"], - [43816, 0, "e"], - [43817, 0, "r"], - [43818, 0, " "], - [43819, 0, "b"], - [43820, 0, "y"], - [43821, 0, " "], - [43829, 1], - [43828, 1], - [43827, 1], - [43827, 0, "i"], - [43828, 0, "n"], - [43829, 0, "g"], - [43830, 0, " "], - [43831, 0, "a"], - [43832, 0, "l"], - [43833, 0, "l"], - [43834, 0, " "], - [43835, 0, "o"], - [43836, 0, "p"], - [43837, 0, "e"], - [43838, 0, "r"], - [43839, 0, "a"], - [43840, 0, "t"], - [43841, 0, "i"], - [43842, 0, "o"], - [43843, 0, "n"], - [43844, 0, " "], - [43845, 0, "I"], - [43846, 0, "D"], - [43847, 0, "s"], - [43848, 0, " "], - [43849, 0, "t"], - [43850, 0, "h"], - [43851, 0, "a"], - [43852, 0, "t"], - [43853, 0, " "], - [43854, 0, "a"], - [43855, 0, "p"], - [43856, 0, "p"], - [43857, 0, "e"], - [43858, 0, "a"], - [43859, 0, "r"], - [43860, 0, " "], - [43861, 0, "i"], - [43862, 0, "n"], - [43863, 0, " "], - [43864, 0, "$"], - [43865, 0, "\\"], - [43866, 0, "t"], - [43867, 0, "e"], - [43868, 0, "x"], - [43869, 0, "t"], - [43870, 0, "i"], - [43871, 0, "t"], - [43872, 0, "{"], - [43873, 0, "d"], - [43874, 0, "e"], - [43875, 0, "p"], - [43876, 0, "s"], - [43877, 0, "}"], - [43878, 0, "$"], - [43879, 0, ","], - [43880, 0, " "], - [43881, 0, "i"], - [43882, 0, "."], - [43883, 0, "e"], - [43884, 0, "."], - [43885, 0, " "], - [43886, 0, "w"], - [43887, 0, "h"], - [43888, 0, "i"], - [43889, 0, "c"], - [43890, 0, "h"], - [43891, 0, " "], - [43892, 0, "a"], - [43893, 0, "r"], - [43894, 0, "e"], - [43895, 0, " "], - [43896, 0, "c"], - [43897, 0, "a"], - [43898, 0, "u"], - [43899, 0, "s"], - [43900, 0, "a"], - [43901, 0, "l"], - [43902, 0, "l"], - [43903, 0, "y"], - [43904, 0, " "], - [43905, 0, "p"], - [43895, 1], - [43894, 1], - [43893, 1], - [43892, 1], - [43902, 0, "r"], - [43903, 0, "e"], - [43904, 0, "c"], - [43905, 0, "e"], - [43906, 0, "d"], - [43907, 0, "e"], - [43908, 0, " "], - [43909, 0, "t"], - [43910, 0, "h"], - [43911, 0, "e"], - [43912, 0, " "], - [43913, 0, "c"], - [43914, 0, "l"], - [43915, 0, "e"], - [43916, 0, "a"], - [43917, 0, "r"], - [43918, 0, "i"], - [43919, 0, "n"], - [43920, 0, "g"], - [43921, 0, " "], - [43922, 0, "o"], - [43923, 0, "p"], - [43924, 0, "e"], - [43925, 0, "r"], - [43926, 0, "a"], - [43927, 0, "t"], - [43928, 0, "i"], - [43929, 0, "o"], - [43930, 0, "n"], - [43931, 0, ","], - [43932, 0, " "], - [43933, 0, "b"], - [43934, 0, "u"], - [43935, 0, "t"], - [43936, 0, " "], - [43937, 0, "r"], - [43938, 0, "e"], - [43939, 0, "t"], - [43940, 0, "a"], - [43941, 0, "i"], - [43942, 0, "n"], - [43943, 0, "i"], - [43944, 0, "n"], - [43945, 0, "g"], - [43946, 0, " "], - [43947, 0, "a"], - [43948, 0, "l"], - [43949, 0, "l"], - [43950, 0, " "], - [43951, 0, "o"], - [43952, 0, "p"], - [43953, 0, "e"], - [43954, 0, "r"], - [43955, 0, "a"], - [43956, 0, "t"], - [43957, 0, "i"], - [43958, 0, "o"], - [43959, 0, "n"], - [43960, 0, " "], - [43961, 0, "I"], - [43962, 0, "D"], - [43963, 0, "s"], - [43964, 0, " "], - [43879, 1], - [43880, 0, "("], - [43931, 0, ")"], - [43966, 0, "t"], - [43967, 0, "h"], - [43968, 0, "a"], - [43969, 0, "t"], - [43970, 0, " "], - [43971, 0, "d"], - [43972, 0, "o"], - [43973, 0, " "], - [43974, 0, "n"], - [43975, 0, "o"], - [43976, 0, "t"], - [43977, 0, " "], - [43978, 0, "a"], - [43979, 0, "p"], - [43980, 0, "p"], - [43981, 0, "e"], - [43982, 0, "a"], - [43983, 0, "r"], - [43984, 0, " "], - [43985, 0, "i"], - [43986, 0, "n"], - [43987, 0, " "], - [43988, 0, "$"], - [43989, 0, "\\"], - [43990, 0, "t"], - [43991, 0, "e"], - [43992, 0, "x"], - [43993, 0, "t"], - [43993, 1], - [43992, 1], - [43991, 1], - [43990, 1], - [43990, 0, "m"], - [43991, 0, "a"], - [43992, 0, "t"], - [43993, 0, "h"], - [43994, 0, "i"], - [43995, 0, "t"], - [43996, 0, "{"], - [43997, 0, "d"], - [43998, 0, "e"], - [43999, 0, "p"], - [44000, 0, "s"], - [44001, 0, "}"], - [44002, 0, "$"], - [43869, 1], - [43868, 1], - [43867, 1], - [43866, 1], - [43866, 0, "m"], - [43867, 0, "a"], - [43868, 0, "t"], - [43869, 0, "h"], - [44003, 0, " "], - [44004, 0, "("], - [44005, 0, "f"], - [44006, 0, "r"], - [44007, 0, "o"], - [44008, 0, "m"], - [44009, 0, " "], - [44010, 0, "a"], - [44011, 0, "s"], - [44012, 0, "s"], - [44013, 0, "i"], - [44014, 0, "g"], - [44015, 0, "n"], - [44016, 0, "m"], - [44017, 0, "e"], - [44018, 0, "n"], - [44019, 0, "t"], - [44020, 0, " "], - [44021, 0, "o"], - [44022, 0, "p"], - [44023, 0, "e"], - [44024, 0, "r"], - [44025, 0, "a"], - [44026, 0, "t"], - [44027, 0, "i"], - [44028, 0, "o"], - [44029, 0, "n"], - [44030, 0, "s"], - [44031, 0, " "], - [44032, 0, "t"], - [44033, 0, "h"], - [44034, 0, "a"], - [44035, 0, "t"], - [44036, 0, " "], - [44037, 0, "a"], - [44038, 0, "r"], - [44039, 0, "e"], - [44040, 0, " "], - [44041, 0, "c"], - [44042, 0, "o"], - [44043, 0, "n"], - [44044, 0, "c"], - [44045, 0, "u"], - [44046, 0, "r"], - [44047, 0, "r"], - [44048, 0, "e"], - [44049, 0, "n"], - [44050, 0, "t"], - [44051, 0, " "], - [44052, 0, "w"], - [44053, 0, "i"], - [44054, 0, "t"], - [44055, 0, "h"], - [44056, 0, " "], - [44057, 0, "t"], - [44058, 0, "h"], - [44059, 0, "e"], - [44060, 0, " "], - [44061, 0, "c"], - [44062, 0, "l"], - [44063, 0, "e"], - [44064, 0, "a"], - [44065, 0, "r"], - [44066, 0, "i"], - [44067, 0, "n"], - [44068, 0, "g"], - [44069, 0, " "], - [44070, 0, "o"], - [44071, 0, "p"], - [44072, 0, "e"], - [44073, 0, "r"], - [44074, 0, "a"], - [44075, 0, "t"], - [44076, 0, "i"], - [44077, 0, "o"], - [44078, 0, "n"], - [44079, 0, ")"], - [44080, 0, "."], - [44081, 0, "\n"], - [44082, 0, "\n"], - [44083, 0, "C"], - [44084, 0, "l"], - [44085, 0, "e"], - [44086, 0, "a"], - [44087, 0, "r"], - [44088, 0, "i"], - [44089, 0, "n"], - [44090, 0, "g"], - [44091, 0, " "], - [44092, 0, "m"], - [44093, 0, "a"], - [44094, 0, "p"], - [44095, 0, "s"], - [44096, 0, " "], - [44097, 0, "a"], - [44098, 0, "n"], - [44099, 0, "d"], - [44100, 0, " "], - [44101, 0, "l"], - [44102, 0, "i"], - [44103, 0, "s"], - [44104, 0, "t"], - [44105, 0, "s"], - [44106, 0, " "], - [44107, 0, "t"], - [44108, 0, "a"], - [44109, 0, "k"], - [44110, 0, "e"], - [44111, 0, "s"], - [44112, 0, " "], - [44113, 0, "a"], - [44114, 0, " "], - [44115, 0, "s"], - [44116, 0, "i"], - [44117, 0, "m"], - [44118, 0, "i"], - [44119, 0, "l"], - [44120, 0, "a"], - [44121, 0, "r"], - [44122, 0, " "], - [44123, 0, "a"], - [44124, 0, "p"], - [44125, 0, "p"], - [44126, 0, "r"], - [44127, 0, "o"], - [44128, 0, "a"], - [44129, 0, "c"], - [44130, 0, "h"], - [44131, 0, ":"], - [44132, 0, " "], - [44133, 0, "e"], - [44134, 0, "a"], - [44135, 0, "c"], - [44136, 0, "h"], - [44137, 0, " "], - [44138, 0, "e"], - [44139, 0, "l"], - [44140, 0, "e"], - [44141, 0, "m"], - [44142, 0, "e"], - [44143, 0, "n"], - [44144, 0, "t"], - [44145, 0, " "], - [44146, 0, "o"], - [44147, 0, "f"], - [44148, 0, " "], - [44149, 0, "t"], - [44150, 0, "h"], - [44151, 0, "e"], - [44152, 0, " "], - [44153, 0, "m"], - [44154, 0, "a"], - [44155, 0, "p"], - [44156, 0, " "], - [44157, 0, "o"], - [44158, 0, "r"], - [44159, 0, " "], - [44160, 0, "l"], - [44161, 0, "i"], - [44162, 0, "s"], - [44163, 0, "t"], - [44164, 0, " "], - [44165, 0, "i"], - [44166, 0, "s"], - [44167, 0, " "], - [44168, 0, "r"], - [44169, 0, "e"], - [44170, 0, "c"], - [44171, 0, "u"], - [44172, 0, "r"], - [44173, 0, "s"], - [44174, 0, "i"], - [44175, 0, "v"], - [44176, 0, "e"], - [44177, 0, "l"], - [44178, 0, "y"], - [44179, 0, " "], - [44180, 0, "c"], - [44181, 0, "l"], - [44182, 0, "e"], - [44183, 0, "a"], - [44184, 0, "r"], - [44185, 0, "e"], - [44186, 0, "d"], - [44187, 0, " "], - [44188, 0, "u"], - [44189, 0, "s"], - [44190, 0, "i"], - [44191, 0, "n"], - [44192, 0, "g"], - [44193, 0, " "], - [44194, 0, "$"], - [44194, 1], - [44194, 0, "\\"], - [44195, 0, "t"], - [44196, 0, "e"], - [44197, 0, "x"], - [44198, 0, "t"], - [44199, 0, "s"], - [44200, 0, "f"], - [44201, 0, "{"], - [44202, 0, "c"], - [44203, 0, "l"], - [44204, 0, "e"], - [44205, 0, "a"], - [44206, 0, "r"], - [44207, 0, "E"], - [44208, 0, "l"], - [44209, 0, "e"], - [44210, 0, "m"], - [44211, 0, "}"], - [44212, 0, ","], - [44213, 0, " "], - [44214, 0, "a"], - [44215, 0, "n"], - [44216, 0, "d"], - [44217, 0, " "], - [44218, 0, "p"], - [44219, 0, "r"], - [44220, 0, "e"], - [44221, 0, "s"], - [44222, 0, "e"], - [44223, 0, "n"], - [44224, 0, "c"], - [44225, 0, "e"], - [44226, 0, " "], - [44227, 0, "s"], - [44228, 0, "e"], - [44229, 0, "t"], - [44230, 0, "s"], - [44231, 0, " "], - [44232, 0, "a"], - [44233, 0, "r"], - [44234, 0, "e"], - [44235, 0, " "], - [44236, 0, "u"], - [44237, 0, "p"], - [44238, 0, "d"], - [44239, 0, "a"], - [44240, 0, "t"], - [44241, 0, "e"], - [44242, 0, "d"], - [44243, 0, " "], - [44244, 0, "t"], - [44245, 0, "o"], - [44246, 0, " "], - [44247, 0, "e"], - [44248, 0, "x"], - [44249, 0, "c"], - [44250, 0, "l"], - [44251, 0, "u"], - [44252, 0, "d"], - [44253, 0, "e"], - [44254, 0, " "], - [44255, 0, "$"], - [44256, 0, "\\"], - [44257, 0, "m"], - [44258, 0, "a"], - [44259, 0, "t"], - [44260, 0, "h"], - [44261, 0, "i"], - [44262, 0, "t"], - [44263, 0, "{"], - [44264, 0, "d"], - [44265, 0, "e"], - [44266, 0, "p"], - [44267, 0, "s"], - [44268, 0, "}"], - [44269, 0, "$"], - [44270, 0, "."], - [44271, 0, " "], - [44272, 0, "T"], - [44273, 0, "h"], - [44274, 0, "u"], - [44275, 0, "s"], - [44276, 0, ","], - [44277, 0, " "], - [44278, 0, "a"], - [44279, 0, "n"], - [44280, 0, "y"], - [44281, 0, " "], - [44282, 0, "l"], - [44283, 0, "i"], - [44284, 0, "s"], - [44285, 0, "t"], - [44286, 0, " "], - [44287, 0, "e"], - [44288, 0, "l"], - [44289, 0, "e"], - [44290, 0, "m"], - [44291, 0, "e"], - [44292, 0, "n"], - [44293, 0, "t"], - [44294, 0, "s"], - [44295, 0, " "], - [44296, 0, "o"], - [44297, 0, "r"], - [44298, 0, " "], - [44299, 0, "m"], - [44300, 0, "a"], - [44301, 0, "p"], - [44302, 0, " "], - [44303, 0, "e"], - [44304, 0, "n"], - [44305, 0, "t"], - [44306, 0, "r"], - [44307, 0, "i"], - [44308, 0, "e"], - [44309, 0, "s"], - [44310, 0, " "], - [44311, 0, "w"], - [44312, 0, "h"], - [44313, 0, "o"], - [44314, 0, "s"], - [44315, 0, "e"], - [44316, 0, " "], - [44317, 0, "m"], - [44318, 0, "o"], - [44319, 0, "d"], - [44320, 0, "i"], - [44321, 0, "f"], - [44322, 0, "i"], - [44323, 0, "c"], - [44324, 0, "a"], - [44325, 0, "t"], - [44326, 0, "i"], - [44327, 0, "o"], - [44328, 0, "n"], - [44329, 0, "s"], - [44330, 0, " "], - [44331, 0, "c"], - [44332, 0, "a"], - [44333, 0, "u"], - [44334, 0, "s"], - [44335, 0, "a"], - [44336, 0, "l"], - [44337, 0, "l"], - [44338, 0, "y"], - [44339, 0, " "], - [44340, 0, "p"], - [44341, 0, "r"], - [44342, 0, "e"], - [44343, 0, "c"], - [44344, 0, "e"], - [44345, 0, "d"], - [44346, 0, "e"], - [44347, 0, " "], - [44348, 0, "t"], - [44349, 0, "h"], - [44350, 0, "e"], - [44351, 0, " "], - [44352, 0, "c"], - [44353, 0, "l"], - [44354, 0, "e"], - [44355, 0, "a"], - [44356, 0, "r"], - [44357, 0, "i"], - [44358, 0, "n"], - [44359, 0, "g"], - [44360, 0, " "], - [44361, 0, "o"], - [44362, 0, "p"], - [44363, 0, "e"], - [44364, 0, "r"], - [44365, 0, "a"], - [44366, 0, "t"], - [44367, 0, "i"], - [44368, 0, "o"], - [44369, 0, "n"], - [44370, 0, " "], - [44371, 0, "w"], - [44372, 0, "i"], - [44373, 0, "l"], - [44374, 0, "l"], - [44375, 0, " "], - [44376, 0, "e"], - [44377, 0, "n"], - [44378, 0, "d"], - [44379, 0, " "], - [44380, 0, "u"], - [44381, 0, "p"], - [44382, 0, " "], - [44383, 0, "w"], - [44384, 0, "i"], - [44385, 0, "t"], - [44386, 0, "h"], - [44387, 0, " "], - [44388, 0, "e"], - [44389, 0, "m"], - [44390, 0, "p"], - [44391, 0, "t"], - [44392, 0, "y"], - [44393, 0, " "], - [44394, 0, "p"], - [44395, 0, "r"], - [44396, 0, "e"], - [44397, 0, "s"], - [44398, 0, "e"], - [44399, 0, "n"], - [44400, 0, "c"], - [44401, 0, "e"], - [44402, 0, " "], - [44403, 0, "s"], - [44404, 0, "e"], - [44405, 0, "t"], - [44406, 0, "s"], - [44407, 0, ","], - [44408, 0, " "], - [44409, 0, "a"], - [44410, 0, "n"], - [44411, 0, "d"], - [44412, 0, " "], - [44413, 0, "t"], - [44414, 0, "h"], - [44415, 0, "u"], - [44416, 0, "s"], - [44417, 0, " "], - [44418, 0, "b"], - [44419, 0, "e"], - [44420, 0, " "], - [44421, 0, "c"], - [44422, 0, "o"], - [44423, 0, "n"], - [44424, 0, "s"], - [44425, 0, "i"], - [44426, 0, "d"], - [44427, 0, "e"], - [44428, 0, "r"], - [44429, 0, "e"], - [44430, 0, "d"], - [44431, 0, " "], - [44432, 0, "d"], - [44433, 0, "e"], - [44434, 0, "l"], - [44435, 0, "e"], - [44436, 0, "t"], - [44437, 0, "e"], - [44438, 0, "d"], - [44439, 0, "."], - [44440, 0, " "], - [44441, 0, "A"], - [44442, 0, "n"], - [44443, 0, "y"], - [44444, 0, " "], - [44445, 0, "m"], - [44446, 0, "a"], - [44447, 0, "p"], - [44448, 0, " "], - [44449, 0, "o"], - [44450, 0, "r"], - [44451, 0, " "], - [44452, 0, "l"], - [44453, 0, "i"], - [44454, 0, "s"], - [44455, 0, "t"], - [44456, 0, " "], - [44457, 0, "e"], - [44458, 0, "l"], - [44459, 0, "e"], - [44460, 0, "m"], - [44461, 0, "e"], - [44462, 0, "n"], - [44463, 0, "t"], - [44464, 0, "s"], - [44465, 0, " "], - [44466, 0, "c"], - [44467, 0, "o"], - [44468, 0, "n"], - [44469, 0, "t"], - [44470, 0, "a"], - [44471, 0, "i"], - [44472, 0, "n"], - [44473, 0, "i"], - [44474, 0, "n"], - [44475, 0, "g"], - [44476, 0, " "], - [44477, 0, "o"], - [44478, 0, "p"], - [44479, 0, "e"], - [44480, 0, "r"], - [44481, 0, "a"], - [44482, 0, "t"], - [44483, 0, "i"], - [44484, 0, "o"], - [44485, 0, "n"], - [44486, 0, "s"], - [44487, 0, " "], - [44488, 0, "t"], - [44489, 0, "h"], - [44490, 0, "a"], - [44491, 0, "t"], - [44492, 0, " "], - [44493, 0, "a"], - [44494, 0, "r"], - [44495, 0, "e"], - [44496, 0, " "], - [44497, 0, "c"], - [44498, 0, "o"], - [44499, 0, "n"], - [44500, 0, "c"], - [44501, 0, "u"], - [44502, 0, "r"], - [44503, 0, "r"], - [44504, 0, "e"], - [44505, 0, "n"], - [44506, 0, "t"], - [44507, 0, " "], - [44508, 0, "w"], - [44509, 0, "i"], - [44510, 0, "t"], - [44511, 0, "h"], - [44512, 0, " "], - [44513, 0, "t"], - [44514, 0, "h"], - [44515, 0, "e"], - [44516, 0, " "], - [44517, 0, "c"], - [44518, 0, "l"], - [44519, 0, "e"], - [44520, 0, "a"], - [44521, 0, "r"], - [44522, 0, "i"], - [44523, 0, "n"], - [44524, 0, "g"], - [44525, 0, " "], - [44526, 0, "o"], - [44527, 0, "p"], - [44528, 0, "e"], - [44529, 0, "r"], - [44530, 0, "a"], - [44531, 0, "t"], - [44532, 0, "i"], - [44533, 0, "o"], - [44534, 0, "n"], - [44535, 0, " "], - [44536, 0, "w"], - [44537, 0, "i"], - [44538, 0, "l"], - [44539, 0, "l"], - [44540, 0, " "], - [44541, 0, "p"], - [44542, 0, "r"], - [44543, 0, "e"], - [44544, 0, "s"], - [44545, 0, "e"], - [44546, 0, "r"], - [44547, 0, "v"], - [44548, 0, "e"], - [44549, 0, " "], - [44550, 0, "t"], - [44551, 0, "h"], - [44552, 0, "e"], - [44553, 0, "i"], - [44554, 0, "r"], - [44555, 0, " "], - [44556, 0, "n"], - [44557, 0, "o"], - [44558, 0, "n"], - [44558, 1], - [44557, 1], - [44556, 1], - [44555, 1], - [44554, 1], - [44553, 1], - [44552, 1], - [44551, 1], - [44550, 1], - [44549, 1], - [44549, 0, "d"], - [44550, 0, "."], - [44539, 1], - [44538, 1], - [44537, 1], - [44536, 1], - [44536, 0, "a"], - [44537, 0, "r"], - [44538, 0, "e"], - [16085, 0, "\n"], - [16086, 0, "\\"], - [16087, 0, "s"], - [16088, 0, "u"], - [16089, 0, "b"], - [16090, 0, "s"], - [16091, 0, "e"], - [16092, 0, "c"], - [16093, 0, "t"], - [16094, 0, "i"], - [16095, 0, "o"], - [16096, 0, "n"], - [16097, 0, "{"], - [16098, 0, "E"], - [16099, 0, "x"], - [16100, 0, "p"], - [16101, 0, "r"], - [16102, 0, "e"], - [16103, 0, "s"], - [16104, 0, "s"], - [16105, 0, "i"], - [16106, 0, "o"], - [16107, 0, "n"], - [16108, 0, " "], - [16109, 0, "e"], - [16110, 0, "v"], - [16111, 0, "a"], - [16112, 0, "l"], - [16113, 0, "u"], - [16114, 0, "a"], - [16115, 0, "t"], - [16116, 0, "i"], - [16117, 0, "o"], - [16118, 0, "n"], - [16119, 0, "}"], - [16120, 0, "\n"], - [8050, 1], - [8050, 1], - [8050, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 1], - [8058, 0, "F"], - [8059, 0, "o"], - [8060, 0, "r"], - [8061, 0, "m"], - [8062, 0, "a"], - [8063, 0, "l"], - [8064, 0, " "], - [8065, 0, "s"], - [8066, 0, "e"], - [8067, 0, "m"], - [8068, 0, "a"], - [8069, 0, "n"], - [8070, 0, "t"], - [8071, 0, "i"], - [8072, 0, "c"], - [8073, 0, "s"], - [3669, 1], - [3675, 0, "["], - [3681, 0, "]"], - [3683, 1], - [4698, 1], - [4697, 1], - [4696, 1], - [4695, 1], - [4694, 1], - [4693, 1], - [4692, 1], - [4691, 1], - [4690, 1], - [4689, 1], - [4688, 1], - [4687, 1], - [4686, 1], - [4685, 1], - [4684, 1], - [4683, 1], - [4682, 1], - [4681, 1], - [4680, 1], - [4679, 1], - [4678, 1], - [4677, 1], - [4676, 1], - [4675, 1], - [4674, 1], - [4673, 1], - [4672, 1], - [4671, 1], - [4670, 1], - [4670, 0, "D"], - [4671, 0, "o"], - [4672, 0, "c"], - [4673, 0, "u"], - [4674, 0, "m"], - [4675, 0, "e"], - [4676, 0, "n"], - [4677, 0, "t"], - [4678, 0, " "], - [4679, 0, "e"], - [4680, 0, "d"], - [4681, 0, "i"], - [4682, 0, "t"], - [4683, 0, "i"], - [4684, 0, "n"], - [4685, 0, "g"], - [4686, 0, " "], - [4687, 0, "A"], - [4688, 0, "P"], - [4689, 0, "I"], - [4691, 0, "\n"], - [4692, 0, "\n"], - [4693, 0, "T"], - [4694, 0, "o"], - [4695, 0, " "], - [4696, 0, "d"], - [4697, 0, "e"], - [4698, 0, "f"], - [4699, 0, "i"], - [4700, 0, "n"], - [4701, 0, "e"], - [4702, 0, " "], - [4703, 0, "t"], - [4704, 0, "h"], - [4705, 0, "e"], - [4706, 0, " "], - [4707, 0, "s"], - [4708, 0, "e"], - [4709, 0, "m"], - [4710, 0, "a"], - [4711, 0, "n"], - [4712, 0, "t"], - [4713, 0, "i"], - [4714, 0, "c"], - [4715, 0, "s"], - [4716, 0, " "], - [4717, 0, "f"], - [4718, 0, "o"], - [4719, 0, "r"], - [4720, 0, " "], - [4721, 0, "c"], - [4722, 0, "o"], - [4723, 0, "l"], - [4724, 0, "l"], - [4725, 0, "a"], - [4726, 0, "b"], - [4727, 0, "o"], - [4728, 0, "r"], - [4729, 0, "a"], - [4730, 0, "t"], - [4731, 0, "i"], - [4732, 0, "v"], - [4733, 0, "e"], - [4734, 0, "l"], - [4735, 0, "y"], - [4736, 0, " "], - [4737, 0, "e"], - [4738, 0, "d"], - [4739, 0, "i"], - [4740, 0, "t"], - [4741, 0, "a"], - [4742, 0, "b"], - [4743, 0, "l"], - [4744, 0, "e"], - [4745, 0, " "], - [4746, 0, "d"], - [4747, 0, "a"], - [4748, 0, "t"], - [4749, 0, "a"], - [4750, 0, " "], - [4751, 0, "s"], - [4752, 0, "t"], - [4753, 0, "r"], - [4754, 0, "u"], - [4755, 0, "c"], - [4756, 0, "t"], - [4757, 0, "u"], - [4758, 0, "r"], - [4759, 0, "e"], - [4760, 0, "s"], - [4761, 0, ","], - [4762, 0, " "], - [4763, 0, "w"], - [4764, 0, "e"], - [4765, 0, " "], - [4766, 0, "f"], - [4767, 0, "i"], - [4768, 0, "r"], - [4769, 0, "s"], - [4770, 0, "t"], - [4771, 0, " "], - [4772, 0, "d"], - [4773, 0, "e"], - [4774, 0, "f"], - [4775, 0, "i"], - [4776, 0, "n"], - [4777, 0, "e"], - [4778, 0, " "], - [4779, 0, "a"], - [4780, 0, " "], - [4781, 0, "s"], - [4782, 0, "i"], - [4783, 0, "m"], - [4784, 0, "p"], - [4785, 0, "l"], - [4786, 0, "e"], - [4787, 0, " "], - [4788, 0, "c"], - [4789, 0, "o"], - [4790, 0, "m"], - [4791, 0, "m"], - [4792, 0, "a"], - [4793, 0, "n"], - [4794, 0, "d"], - [4795, 0, " "], - [4796, 0, "l"], - [4797, 0, "a"], - [4798, 0, "n"], - [4799, 0, "g"], - [4800, 0, "u"], - [4801, 0, "a"], - [4802, 0, "g"], - [4803, 0, "e"], - [4804, 0, " "], - [4805, 0, "t"], - [4806, 0, "h"], - [4807, 0, "a"], - [4808, 0, "t"], - [4809, 0, " "], - [4810, 0, "i"], - [4811, 0, "s"], - [4812, 0, " "], - [4813, 0, "e"], - [4814, 0, "x"], - [4815, 0, "e"], - [4816, 0, "c"], - [4817, 0, "u"], - [4818, 0, "t"], - [4819, 0, "e"], - [4820, 0, "d"], - [4821, 0, " "], - [4822, 0, "l"], - [4823, 0, "o"], - [4824, 0, "c"], - [4825, 0, "a"], - [4826, 0, "l"], - [4827, 0, "l"], - [4828, 0, "y"], - [4829, 0, " "], - [4830, 0, "a"], - [4831, 0, "t"], - [4832, 0, " "], - [4833, 0, "a"], - [4834, 0, "n"], - [4835, 0, "y"], - [4836, 0, " "], - [4837, 0, "o"], - [4838, 0, "f"], - [4839, 0, " "], - [4840, 0, "t"], - [4841, 0, "h"], - [4842, 0, "e"], - [4843, 0, " "], - [4844, 0, "p"], - [4845, 0, "e"], - [4846, 0, "e"], - [4847, 0, "r"], - [4848, 0, "s"], - [4849, 0, ","], - [4850, 0, " "], - [4851, 0, "a"], - [4852, 0, "n"], - [4853, 0, "d"], - [4854, 0, " "], - [4855, 0, "w"], - [4856, 0, "h"], - [4857, 0, "i"], - [4858, 0, "c"], - [4859, 0, "h"], - [4860, 0, " "], - [4861, 0, "a"], - [4862, 0, "l"], - [4863, 0, "l"], - [4864, 0, "o"], - [4865, 0, "w"], - [4866, 0, "s"], - [4867, 0, " "], - [4868, 0, "t"], - [4869, 0, "h"], - [4870, 0, "e"], - [4871, 0, " "], - [4872, 0, "l"], - [4873, 0, "o"], - [4874, 0, "c"], - [4875, 0, "a"], - [4876, 0, "l"], - [4877, 0, " "], - [4878, 0, "s"], - [4879, 0, "t"], - [4880, 0, "a"], - [4881, 0, "t"], - [4882, 0, "e"], - [4883, 0, " "], - [4884, 0, "o"], - [4885, 0, "f"], - [4886, 0, " "], - [4887, 0, "t"], - [4888, 0, "h"], - [4889, 0, "a"], - [4890, 0, "t"], - [4891, 0, " "], - [4891, 1], - [4890, 1], - [4889, 1], - [4888, 1], - [4887, 1], - [4886, 1], - [4885, 1], - [4884, 1], - [4883, 1], - [4882, 1], - [4881, 1], - [4880, 1], - [4879, 1], - [4878, 1], - [4877, 1], - [4876, 1], - [4875, 1], - [4874, 1], - [4873, 1], - [4872, 1], - [4871, 1], - [4870, 1], - [4870, 0, "a"], - [4871, 0, "t"], - [4872, 0, " "], - [4873, 0, "p"], - [4874, 0, "e"], - [4875, 0, "e"], - [4876, 0, "r"], - [4877, 0, "'"], - [4878, 0, "s"], - [4879, 0, " "], - [4880, 0, "l"], - [4881, 0, "o"], - [4882, 0, "c"], - [4883, 0, "a"], - [4884, 0, "l"], - [4885, 0, " "], - [4886, 0, "c"], - [4887, 0, "o"], - [4888, 0, "p"], - [4889, 0, "y"], - [4890, 0, " "], - [4891, 0, "o"], - [4892, 0, "f"], - [4893, 0, " "], - [4894, 0, "t"], - [4895, 0, "h"], - [4896, 0, "e"], - [4897, 0, " "], - [4898, 0, "d"], - [4899, 0, "o"], - [4900, 0, "c"], - [4901, 0, "u"], - [4902, 0, "m"], - [4903, 0, "e"], - [4904, 0, "n"], - [4905, 0, "t"], - [4906, 0, " "], - [4907, 0, "t"], - [4908, 0, "o"], - [4909, 0, " "], - [4910, 0, "b"], - [4911, 0, "e"], - [4912, 0, " "], - [4913, 0, "q"], - [4914, 0, "u"], - [4915, 0, "e"], - [4916, 0, "r"], - [4917, 0, "i"], - [4918, 0, "e"], - [4919, 0, "d"], - [4920, 0, " "], - [4921, 0, "a"], - [4922, 0, "n"], - [4923, 0, "d"], - [4924, 0, " "], - [4925, 0, "m"], - [4926, 0, "o"], - [4927, 0, "t"], - [4927, 1], - [4927, 0, "d"], - [4928, 0, "i"], - [4929, 0, "f"], - [4930, 0, "i"], - [4931, 0, "e"], - [4932, 0, "d"], - [4933, 0, "."], - [4934, 0, " "], - [4935, 0, "P"], - [4936, 0, "e"], - [4937, 0, "r"], - [4938, 0, "f"], - [4939, 0, "o"], - [4940, 0, "r"], - [4941, 0, "m"], - [4942, 0, "i"], - [4943, 0, "n"], - [4944, 0, "g"], - [4945, 0, " "], - [4946, 0, "r"], - [4947, 0, "e"], - [4948, 0, "a"], - [4949, 0, "d"], - [4950, 0, "-"], - [4951, 0, "o"], - [4952, 0, "n"], - [4953, 0, "l"], - [4954, 0, "y"], - [4955, 0, " "], - [4956, 0, "q"], - [4957, 0, "u"], - [4958, 0, "e"], - [4959, 0, "r"], - [4960, 0, "i"], - [4961, 0, "e"], - [4962, 0, "s"], - [4963, 0, " "], - [4964, 0, "h"], - [4965, 0, "a"], - [4966, 0, "s"], - [4967, 0, " "], - [4968, 0, "n"], - [4969, 0, "o"], - [4970, 0, " "], - [4971, 0, "s"], - [4972, 0, "i"], - [4973, 0, "d"], - [4974, 0, "e"], - [4975, 0, "-"], - [4976, 0, "e"], - [4977, 0, "f"], - [4978, 0, "f"], - [4979, 0, "e"], - [4980, 0, "c"], - [4981, 0, "t"], - [4982, 0, "s"], - [4983, 0, ","], - [4984, 0, " "], - [4985, 0, "b"], - [4986, 0, "u"], - [4987, 0, "t"], - [4988, 0, " "], - [4989, 0, "m"], - [4990, 0, "o"], - [4991, 0, "d"], - [4992, 0, "i"], - [4993, 0, "f"], - [4994, 0, "y"], - [4995, 0, "i"], - [4996, 0, "n"], - [4997, 0, "g"], - [4998, 0, " "], - [4999, 0, "t"], - [5000, 0, "h"], - [5001, 0, "e"], - [5002, 0, " "], - [5003, 0, "d"], - [5004, 0, "o"], - [5005, 0, "c"], - [5006, 0, "u"], - [5007, 0, "m"], - [5008, 0, "e"], - [5009, 0, "n"], - [5010, 0, "t"], - [5011, 0, " "], - [5012, 0, "h"], - [5013, 0, "a"], - [5014, 0, "s"], - [5015, 0, " "], - [5016, 0, "t"], - [5017, 0, "h"], - [5018, 0, "e"], - [5019, 0, " "], - [5020, 0, "e"], - [5021, 0, "f"], - [5022, 0, "f"], - [5023, 0, "e"], - [5024, 0, "c"], - [5025, 0, "t"], - [5026, 0, " "], - [5027, 0, "o"], - [5028, 0, "f"], - [5029, 0, " "], - [5030, 0, "p"], - [5031, 0, "r"], - [5032, 0, "o"], - [5033, 0, "d"], - [5034, 0, "u"], - [5035, 0, "c"], - [5036, 0, "i"], - [5037, 0, "n"], - [5038, 0, "g"], - [5039, 0, " "], - [5040, 0, "\\"], - [5041, 0, "e"], - [5042, 0, "m"], - [5043, 0, "p"], - [5044, 0, "h"], - [5045, 0, "{"], - [5046, 0, "o"], - [5047, 0, "p"], - [5048, 0, "e"], - [5049, 0, "r"], - [5050, 0, "a"], - [5051, 0, "t"], - [5052, 0, "i"], - [5053, 0, "o"], - [5054, 0, "n"], - [5055, 0, "s"], - [5056, 0, "}"], - [5057, 0, " "], - [5058, 0, "d"], - [5059, 0, "e"], - [5060, 0, "s"], - [5061, 0, "c"], - [5062, 0, "r"], - [5063, 0, "i"], - [5064, 0, "b"], - [5065, 0, "i"], - [5066, 0, "n"], - [5067, 0, "g"], - [5068, 0, " "], - [5069, 0, "t"], - [5070, 0, "h"], - [5071, 0, "e"], - [5072, 0, " "], - [5073, 0, "m"], - [5074, 0, "u"], - [5075, 0, "t"], - [5076, 0, "a"], - [5077, 0, "t"], - [5078, 0, "i"], - [5079, 0, "o"], - [5080, 0, "n"], - [5081, 0, "."], - [5082, 0, " "], - [5083, 0, "T"], - [5084, 0, "h"], - [5085, 0, "o"], - [5086, 0, "s"], - [5087, 0, "e"], - [5088, 0, " "], - [5089, 0, "o"], - [5090, 0, "p"], - [5091, 0, "e"], - [5092, 0, "r"], - [5093, 0, "a"], - [5094, 0, "t"], - [5095, 0, "i"], - [5096, 0, "o"], - [5097, 0, "n"], - [5098, 0, "s"], - [5099, 0, " "], - [5100, 0, "a"], - [5101, 0, "r"], - [5102, 0, "e"], - [5103, 0, " "], - [5104, 0, "a"], - [5105, 0, "p"], - [5106, 0, "p"], - [5107, 0, "l"], - [5108, 0, "i"], - [5109, 0, "e"], - [5110, 0, "d"], - [5111, 0, " "], - [5112, 0, "t"], - [5113, 0, "o"], - [5114, 0, " "], - [5115, 0, "t"], - [5116, 0, "h"], - [5117, 0, "e"], - [5118, 0, " "], - [5119, 0, "l"], - [5120, 0, "o"], - [5121, 0, "c"], - [5122, 0, "a"], - [5123, 0, "l"], - [5124, 0, " "], - [5125, 0, "c"], - [5126, 0, "o"], - [5127, 0, "p"], - [5128, 0, "y"], - [5129, 0, " "], - [5130, 0, "o"], - [5131, 0, "f"], - [5132, 0, " "], - [5133, 0, "t"], - [5134, 0, "h"], - [5135, 0, "e"], - [5136, 0, " "], - [5137, 0, "d"], - [5138, 0, "o"], - [5139, 0, "c"], - [5140, 0, "u"], - [5141, 0, "m"], - [5142, 0, "e"], - [5143, 0, "n"], - [5144, 0, "t"], - [5145, 0, ","], - [5146, 0, " "], - [5147, 0, "a"], - [5148, 0, "n"], - [5149, 0, "d"], - [5150, 0, " "], - [5151, 0, "a"], - [5152, 0, "l"], - [5153, 0, "s"], - [5154, 0, "o"], - [5155, 0, " "], - [5156, 0, "e"], - [5157, 0, "n"], - [5158, 0, "q"], - [5159, 0, "u"], - [5160, 0, "e"], - [5161, 0, "u"], - [5162, 0, "e"], - [5163, 0, "d"], - [5164, 0, " "], - [5165, 0, "f"], - [5166, 0, "o"], - [5167, 0, "r"], - [5168, 0, " "], - [5169, 0, "b"], - [5170, 0, "r"], - [5171, 0, "o"], - [5172, 0, "a"], - [5173, 0, "d"], - [5174, 0, "c"], - [5175, 0, "a"], - [5176, 0, "s"], - [5177, 0, "t"], - [5178, 0, "i"], - [5179, 0, "n"], - [5180, 0, "g"], - [5181, 0, " "], - [5182, 0, "t"], - [5183, 0, "o"], - [5184, 0, " "], - [5185, 0, "o"], - [5186, 0, "t"], - [5187, 0, "h"], - [5188, 0, "e"], - [5189, 0, "r"], - [5190, 0, " "], - [5191, 0, "p"], - [5192, 0, "e"], - [5193, 0, "e"], - [5194, 0, "r"], - [5195, 0, "s"], - [5196, 0, "."], - [1327, 1], - [1326, 1], - [1325, 1], - [1324, 1], - [1323, 1], - [1322, 1], - [1321, 1], - [1320, 1], - [1319, 1], - [1318, 1], - [1317, 1], - [1316, 1], - [1315, 1], - [1314, 1], - [1313, 1], - [1312, 1], - [1311, 1], - [1310, 1], - [1309, 1], - [1308, 1], - [1307, 1], - [1307, 0, "T"], - [1307, 1], - [1307, 0, "C"], - [1308, 0, "o"], - [1309, 0, "m"], - [1310, 0, "p"], - [1311, 0, "o"], - [1312, 0, "s"], - [1313, 0, "i"], - [1314, 0, "n"], - [1315, 0, "g"], - [1316, 0, " "], - [1317, 0, "c"], - [1318, 0, "o"], - [1319, 0, "l"], - [1320, 0, "l"], - [1321, 0, "a"], - [1322, 0, "b"], - [1323, 0, "o"], - [1324, 0, "r"], - [1325, 0, "a"], - [1326, 0, "t"], - [1327, 0, "i"], - [1328, 0, "v"], - [1329, 0, "e"], - [1330, 0, " "], - [1331, 0, "d"], - [1332, 0, "a"], - [1333, 0, "t"], - [1334, 0, "a"], - [1335, 0, " "], - [1336, 0, "s"], - [1337, 0, "t"], - [1338, 0, "r"], - [1339, 0, "u"], - [1340, 0, "c"], - [1341, 0, "t"], - [1342, 0, "u"], - [1343, 0, "r"], - [1344, 0, "e"], - [1345, 0, "s"], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1349, 1], - [1330, 1], - [1329, 1], - [1328, 1], - [1327, 1], - [1326, 1], - [1325, 1], - [1324, 1], - [1323, 1], - [1322, 1], - [1321, 1], - [1320, 1], - [1319, 1], - [1318, 1], - [1317, 1], - [1335, 0, "I"], - [1336, 0, "n"], - [1337, 0, " "], - [1338, 0, "t"], - [1339, 0, "h"], - [1340, 0, "i"], - [1341, 0, "s"], - [1342, 0, " "], - [1343, 0, "s"], - [1344, 0, "e"], - [1345, 0, "c"], - [1346, 0, "t"], - [1347, 0, "i"], - [1348, 0, "o"], - [1349, 0, "n"], - [1350, 0, " "], - [1351, 0, "w"], - [1352, 0, "e"], - [1353, 0, " "], - [1354, 0, "o"], - [1355, 0, "u"], - [1356, 0, "t"], - [1357, 0, "l"], - [1358, 0, "i"], - [1359, 0, "n"], - [1360, 0, "e"], - [1361, 0, " "], - [1362, 0, "o"], - [1363, 0, "u"], - [1364, 0, "r"], - [1365, 0, " "], - [1366, 0, "a"], - [1367, 0, "p"], - [1368, 0, "p"], - [1369, 0, "r"], - [1370, 0, "o"], - [1371, 0, "a"], - [1372, 0, "c"], - [1373, 0, "h"], - [1374, 0, " "], - [1375, 0, "b"], - [1376, 0, "y"], - [1377, 0, " "], - [1378, 0, "e"], - [1379, 0, "x"], - [1380, 0, "a"], - [1381, 0, "m"], - [1382, 0, "p"], - [1383, 0, "l"], - [1384, 0, "e"], - [1385, 0, ","], - [1386, 0, " "], - [1387, 0, "a"], - [1388, 0, "n"], - [1389, 0, "d"], - [1390, 0, " "], - [1391, 0, "d"], - [1392, 0, "e"], - [1393, 0, "m"], - [1394, 0, "o"], - [1395, 0, "n"], - [1396, 0, "s"], - [1397, 0, "t"], - [1398, 0, "r"], - [1399, 0, "a"], - [1400, 0, "t"], - [1401, 0, "e"], - [1402, 0, " "], - [1403, 0, "s"], - [1404, 0, "o"], - [1405, 0, "m"], - [1406, 0, "e"], - [1407, 0, " "], - [1408, 0, "o"], - [1409, 0, "f"], - [1410, 0, " "], - [1411, 0, "t"], - [1412, 0, "h"], - [1413, 0, "e"], - [1414, 0, " "], - [1415, 0, "p"], - [1416, 0, "r"], - [1417, 0, "o"], - [1418, 0, "b"], - [1419, 0, "l"], - [1420, 0, "e"], - [1421, 0, "m"], - [1422, 0, " "], - [1423, 0, "t"], - [1424, 0, "h"], - [1425, 0, "a"], - [1426, 0, "t"], - [1427, 0, " "], - [1428, 0, "o"], - [1429, 0, "c"], - [1430, 0, "c"], - [1431, 0, "u"], - [1432, 0, "r"], - [1433, 0, " "], - [1434, 0, "w"], - [1435, 0, "h"], - [1436, 0, "e"], - [1437, 0, "n"], - [1438, 0, " "], - [1439, 0, "n"], - [1440, 0, "e"], - [1441, 0, "s"], - [1442, 0, "t"], - [1443, 0, "e"], - [1444, 0, "d"], - [1445, 0, " "], - [1446, 0, "d"], - [1447, 0, "a"], - [1448, 0, "t"], - [1449, 0, "a"], - [1450, 0, " "], - [1451, 0, "s"], - [1452, 0, "t"], - [1453, 0, "r"], - [1454, 0, "u"], - [1455, 0, "c"], - [1456, 0, "t"], - [1457, 0, "u"], - [1458, 0, "r"], - [1459, 0, "e"], - [1460, 0, "s"], - [1461, 0, " "], - [1462, 0, "a"], - [1463, 0, "r"], - [1464, 0, "e"], - [1465, 0, " "], - [1466, 0, "m"], - [1467, 0, "a"], - [1468, 0, "d"], - [1469, 0, "e"], - [1470, 0, " "], - [1471, 0, "c"], - [1472, 0, "o"], - [1473, 0, "l"], - [1474, 0, "l"], - [1475, 0, "a"], - [1476, 0, "b"], - [1477, 0, "o"], - [1478, 0, "r"], - [1479, 0, "a"], - [1480, 0, "t"], - [1481, 0, "i"], - [1482, 0, "v"], - [1483, 0, "e"], - [1484, 0, "l"], - [1485, 0, "y"], - [1486, 0, " "], - [1487, 0, "e"], - [1488, 0, "d"], - [1489, 0, "i"], - [1490, 0, "t"], - [1491, 0, "a"], - [1492, 0, "b"], - [1493, 0, "l"], - [1494, 0, "e"], - [1495, 0, "."], - [1422, 0, "s"], - [1497, 0, " "], - [1498, 0, "I"], - [1499, 0, "n"], - [1500, 0, " "], - [1501, 0, "t"], - [1502, 0, "h"], - [1503, 0, "e"], - [1504, 0, " "], - [1505, 0, "n"], - [1506, 0, "e"], - [1507, 0, "x"], - [1508, 0, "t"], - [1509, 0, " "], - [1510, 0, "s"], - [1511, 0, "e"], - [1512, 0, "c"], - [1513, 0, "t"], - [1514, 0, "i"], - [1515, 0, "o"], - [1516, 0, "n"], - [1517, 0, " "], - [1518, 0, "w"], - [1519, 0, "e"], - [1520, 0, " "], - [1521, 0, "p"], - [1522, 0, "r"], - [1523, 0, "o"], - [1524, 0, "v"], - [1525, 0, "i"], - [1526, 0, "d"], - [1527, 0, "e"], - [1528, 0, " "], - [1529, 0, "f"], - [1530, 0, "o"], - [1531, 0, "r"], - [1532, 0, "m"], - [1533, 0, "a"], - [1534, 0, "l"], - [1535, 0, " "], - [1536, 0, "s"], - [1537, 0, "e"], - [1538, 0, "m"], - [1539, 0, "a"], - [1540, 0, "n"], - [1541, 0, "t"], - [1542, 0, "i"], - [1543, 0, "c"], - [1544, 0, "s"], - [1545, 0, " "], - [1546, 0, "o"], - [1547, 0, "f"], - [1548, 0, " "], - [1549, 0, "o"], - [1550, 0, "u"], - [1551, 0, "r"], - [1552, 0, " "], - [1553, 0, "c"], - [1554, 0, "o"], - [1555, 0, "l"], - [1556, 0, "l"], - [1557, 0, "a"], - [1558, 0, "b"], - [1559, 0, "o"], - [1560, 0, "r"], - [1561, 0, "e"], - [1562, 0, "a"], - [1562, 1], - [1561, 1], - [1561, 0, "a"], - [1562, 0, "t"], - [1563, 0, "i"], - [1564, 0, "v"], - [1565, 0, "e"], - [1566, 0, "l"], - [1567, 0, "y"], - [1568, 0, " "], - [1569, 0, "e"], - [1570, 0, "d"], - [1571, 0, "i"], - [1572, 0, "t"], - [1573, 0, "a"], - [1574, 0, "b"], - [1575, 0, "l"], - [1576, 0, "e"], - [1577, 0, " "], - [1505, 1], - [1505, 1], - [1505, 1], - [1505, 1], - [1505, 0, "f"], - [1506, 0, "o"], - [1507, 0, "l"], - [1508, 0, "l"], - [1509, 0, "o"], - [1510, 0, "w"], - [1511, 0, "i"], - [1512, 0, "n"], - [1513, 0, "g"], - [1583, 0, "d"], - [1584, 0, "a"], - [1585, 0, "t"], - [1586, 0, "a"], - [1587, 0, "t"], - [1588, 0, "y"], - [1589, 0, "p"], - [1590, 0, "e"], - [1591, 0, " "], - [1592, 0, "a"], - [1593, 0, "n"], - [1594, 0, "d"], - [1595, 0, " "], - [1596, 0, "p"], - [1597, 0, "r"], - [1598, 0, "o"], - [1599, 0, "v"], - [1600, 0, "e"], - [1601, 0, " "], - [1602, 0, "i"], - [1603, 0, "t"], - [1604, 0, "s"], - [1605, 0, " "], - [1606, 0, "c"], - [1607, 0, "o"], - [1608, 0, "r"], - [1609, 0, "r"], - [1610, 0, "e"], - [1611, 0, "c"], - [1612, 0, "t"], - [1613, 0, "n"], - [1614, 0, "e"], - [1615, 0, "s"], - [1616, 0, "s"], - [1617, 0, "."], - [758, 0, "\n"], - [759, 0, "%"], - [760, 0, " "], - [761, 0, "S"], - [762, 0, "p"], - [763, 0, "a"], - [764, 0, "n"], - [765, 0, " "], - [766, 0, "m"], - [767, 0, "u"], - [768, 0, "l"], - [769, 0, "t"], - [770, 0, "i"], - [771, 0, "p"], - [772, 0, "l"], - [773, 0, "e"], - [774, 0, " "], - [775, 0, "c"], - [776, 0, "o"], - [777, 0, "l"], - [778, 0, "u"], - [779, 0, "m"], - [780, 0, "n"], - [781, 0, "s"], - [782, 0, " "], - [783, 0, "w"], - [784, 0, "i"], - [785, 0, "t"], - [786, 0, "h"], - [787, 0, "i"], - [788, 0, "n"], - [789, 0, " "], - [790, 0, "a"], - [791, 0, "n"], - [792, 0, " "], - [793, 0, "a"], - [794, 0, "l"], - [795, 0, "i"], - [796, 0, "g"], - [797, 0, "n"], - [798, 0, "a"], - [799, 0, "t"], - [800, 0, " "], - [801, 0, "m"], - [802, 0, "a"], - [803, 0, "t"], - [804, 0, "h"], - [805, 0, " "], - [806, 0, "e"], - [807, 0, "n"], - [808, 0, "v"], - [809, 0, "i"], - [810, 0, "r"], - [811, 0, "o"], - [812, 0, "n"], - [813, 0, "m"], - [814, 0, "e"], - [815, 0, "n"], - [816, 0, "t"], - [292, 0, "\n"], - [293, 0, "\\"], - [294, 0, "u"], - [295, 0, "s"], - [296, 0, "e"], - [297, 0, "p"], - [298, 0, "a"], - [299, 0, "c"], - [300, 0, "k"], - [301, 0, "a"], - [302, 0, "g"], - [303, 0, "e"], - [304, 0, "{"], - [305, 0, "t"], - [306, 0, "i"], - [307, 0, "k"], - [308, 0, "z"], - [309, 0, "}"], - [3073, 0, "\n"], - [3074, 0, "\n"], - [3075, 0, "\\"], - [3076, 0, "s"], - [3077, 0, "u"], - [3078, 0, "b"], - [3079, 0, "s"], - [3080, 0, "e"], - [3081, 0, "c"], - [3082, 0, "t"], - [3083, 0, "i"], - [3084, 0, "o"], - [3085, 0, "n"], - [3086, 0, "{"], - [3087, 0, "C"], - [3088, 0, "o"], - [3089, 0, "n"], - [3090, 0, "c"], - [3091, 0, "u"], - [3092, 0, "r"], - [3093, 0, "r"], - [3094, 0, "e"], - [3095, 0, "n"], - [3096, 0, "t"], - [3097, 0, " "], - [3098, 0, "e"], - [3099, 0, "d"], - [3100, 0, "i"], - [3101, 0, "t"], - [3102, 0, "i"], - [3103, 0, "n"], - [3104, 0, "g"], - [3105, 0, " "], - [3106, 0, "e"], - [3107, 0, "x"], - [3108, 0, "a"], - [3109, 0, "m"], - [3110, 0, "p"], - [3111, 0, "l"], - [3112, 0, "e"], - [3113, 0, "s"], - [3114, 0, "}"], - [3115, 0, "\n"], - [3116, 0, "\n"], - [3117, 0, "\\"], - [3118, 0, "b"], - [3119, 0, "e"], - [3120, 0, "g"], - [3121, 0, "i"], - [3122, 0, "n"], - [3123, 0, "{"], - [3124, 0, "f"], - [3125, 0, "i"], - [3126, 0, "g"], - [3127, 0, "u"], - [3128, 0, "r"], - [3129, 0, "e"], - [3130, 0, "*"], - [3131, 0, "}"], - [3132, 0, "\n"], - [3133, 0, "\\"], - [3134, 0, "e"], - [3135, 0, "n"], - [3136, 0, "d"], - [3137, 0, "{"], - [3138, 0, "f"], - [3139, 0, "i"], - [3140, 0, "g"], - [3141, 0, "u"], - [3142, 0, "r"], - [3143, 0, "e"], - [3144, 0, "*"], - [3145, 0, "}"], - [3144, 1], - [3130, 1], - [3131, 0, "\n"], - [3132, 0, "\\"], - [3133, 0, "b"], - [3134, 0, "e"], - [3135, 0, "g"], - [3136, 0, "i"], - [3137, 0, "n"], - [3138, 0, "{"], - [3139, 0, "t"], - [3140, 0, "i"], - [3141, 0, "k"], - [3142, 0, "z"], - [3143, 0, "p"], - [3144, 0, "i"], - [3145, 0, "c"], - [3146, 0, "t"], - [3147, 0, "u"], - [3148, 0, "r"], - [3149, 0, "e"], - [3150, 0, "}"], - [3151, 0, "\n"], - [3152, 0, "\\"], - [3153, 0, "e"], - [3154, 0, "n"], - [3155, 0, "d"], - [3156, 0, "{"], - [3157, 0, "t"], - [3158, 0, "i"], - [3159, 0, "k"], - [3160, 0, "z"], - [3161, 0, "p"], - [3162, 0, "i"], - [3163, 0, "c"], - [3164, 0, "t"], - [3165, 0, "u"], - [3166, 0, "r"], - [3167, 0, "e"], - [3168, 0, "}"], - [3169, 0, " "], - [3169, 1], - [3169, 0, "\n"], - [3170, 0, "\\"], - [3171, 0, "c"], - [3172, 0, "a"], - [3173, 0, "p"], - [3174, 0, "t"], - [3175, 0, "i"], - [3176, 0, "o"], - [3177, 0, "n"], - [3178, 0, "{"], - [3179, 0, "C"], - [3180, 0, "o"], - [3181, 0, "n"], - [3182, 0, "c"], - [3183, 0, "u"], - [3184, 0, "r"], - [3185, 0, "r"], - [3186, 0, "e"], - [3187, 0, "n"], - [3188, 0, "t"], - [3189, 0, " "], - [3190, 0, "a"], - [3191, 0, "s"], - [3192, 0, "s"], - [3193, 0, "i"], - [3194, 0, "g"], - [3195, 0, "n"], - [3196, 0, "m"], - [3197, 0, "e"], - [3198, 0, "n"], - [3199, 0, "t"], - [3200, 0, " "], - [3201, 0, "t"], - [3202, 0, "o"], - [3203, 0, " "], - [3204, 0, "a"], - [3205, 0, " "], - [3206, 0, "r"], - [3207, 0, "e"], - [3208, 0, "g"], - [3209, 0, "i"], - [3210, 0, "s"], - [3211, 0, "t"], - [3212, 0, "e"], - [3213, 0, "r"], - [3214, 0, "}"], - [3215, 0, "\\"], - [3216, 0, "l"], - [3217, 0, "a"], - [3218, 0, "b"], - [3219, 0, "e"], - [3220, 0, "l"], - [3221, 0, "["], - [3221, 1], - [3221, 0, "{"], - [3222, 0, "f"], - [3223, 0, "i"], - [3224, 0, "g"], - [3225, 0, ":"], - [3226, 0, "r"], - [3227, 0, "e"], - [3228, 0, "g"], - [3229, 0, "i"], - [3230, 0, "s"], - [3231, 0, "t"], - [3232, 0, "e"], - [3233, 0, "r"], - [3234, 0, "-"], - [3235, 0, "a"], - [3236, 0, "s"], - [3237, 0, "s"], - [3238, 0, "i"], - [3239, 0, "g"], - [3240, 0, "n"], - [3241, 0, "}"], - [3151, 0, "\n"], - [3152, 0, "\\"], - [3153, 0, "d"], - [3154, 0, "r"], - [3155, 0, "a"], - [3156, 0, "w"], - [3157, 0, "("], - [3158, 0, "2"], - [3159, 0, ","], - [3160, 0, "0"], - [3161, 0, ")"], - [3162, 0, " "], - [3163, 0, "n"], - [3164, 0, "o"], - [3165, 0, "d"], - [3166, 0, "e"], - [3167, 0, " "], - [3168, 0, "{"], - [3169, 0, "H"], - [3170, 0, "e"], - [3171, 0, "l"], - [3172, 0, "l"], - [3173, 0, "o"], - [3174, 0, "}"], - [3175, 0, " "], - [3176, 0, "-"], - [3177, 0, "-"], - [3178, 0, " "], - [3179, 0, "("], - [3157, 0, " "], - [3181, 0, "0"], - [3182, 0, ","], - [3183, 0, " "], - [3184, 0, "2"], - [3183, 1], - [3184, 0, ")"], - [3185, 0, " "], - [3186, 0, "n"], - [3187, 0, "o"], - [3188, 0, "d"], - [3189, 0, "e"], - [3190, 0, " "], - [3191, 0, "{"], - [3192, 0, "W"], - [3193, 0, "o"], - [3194, 0, "r"], - [3195, 0, "l"], - [3196, 0, "d"], - [3197, 0, "}"], - [3198, 0, ";"], - [3131, 0, "\n"], - [3132, 0, "\\"], - [3133, 0, "c"], - [3134, 0, "e"], - [3135, 0, "n"], - [3136, 0, "t"], - [3137, 0, "e"], - [3138, 0, "r"], - [3139, 0, "i"], - [3140, 0, "n"], - [3141, 0, "g"], - [3172, 1], - [3172, 0, "2"], - [3194, 1], - [3194, 0, "0"], - [3185, 1], - [3184, 1], - [3183, 1], - [3182, 1], - [3181, 1], - [3181, 0, "v"], - [3181, 1], - [3181, 0, "\\"], - [3182, 0, "v"], - [3183, 0, "e"], - [3184, 0, "r"], - [3185, 0, "b"], - [3186, 0, "|"], - [3187, 0, "{"], - [3188, 0, "\""], - [3189, 0, "t"], - [3190, 0, "i"], - [3191, 0, "t"], - [3192, 0, "l"], - [3193, 0, "e"], - [3194, 0, "\""], - [3195, 0, ":"], - [3196, 0, " "], - [3197, 0, "\""], - [3198, 0, "A"], - [3199, 0, "\""], - [3200, 0, "}"], - [3201, 0, "|"], - [3203, 0, "\n"], - [3204, 0, " "], - [3205, 0, " "], - [3226, 1], - [3225, 1], - [3224, 1], - [3223, 1], - [3222, 1], - [3222, 0, "\\"], - [3223, 0, "v"], - [3224, 0, "e"], - [3225, 0, "r"], - [3226, 0, "b"], - [3227, 0, "|"], - [3228, 0, "{"], - [3229, 0, "\""], - [3230, 0, "t"], - [3231, 0, "i"], - [3232, 0, "t"], - [3233, 0, "l"], - [3234, 0, "e"], - [3235, 0, "\""], - [3236, 0, ":"], - [3237, 0, " "], - [3238, 0, ":"], - [3238, 1], - [3238, 0, "\""], - [3239, 0, "B"], - [3240, 0, "\""], - [3241, 0, "}"], - [3242, 0, "|"], - [3213, 1], - [3213, 0, "1"], - [3214, 0, " "], - [3214, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [293, 1], - [391, 0, "\n"], - [392, 0, "\n"], - [393, 0, "%"], - [394, 0, " "], - [395, 0, "D"], - [396, 0, "i"], - [397, 0, "a"], - [398, 0, "g"], - [399, 0, "r"], - [400, 0, "a"], - [401, 0, "m"], - [402, 0, "s"], - [403, 0, "\n"], - [404, 0, "\\"], - [405, 0, "u"], - [406, 0, "s"], - [407, 0, "e"], - [408, 0, "p"], - [409, 0, "a"], - [410, 0, "c"], - [411, 0, "k"], - [412, 0, "a"], - [413, 0, "g"], - [414, 0, "e"], - [415, 0, "{"], - [416, 0, "t"], - [417, 0, "i"], - [418, 0, "k"], - [419, 0, "z"], - [420, 0, "}"], - [421, 0, "\n"], - [422, 0, "\\"], - [423, 0, "u"], - [424, 0, "s"], - [425, 0, "e"], - [426, 0, "t"], - [427, 0, "i"], - [428, 0, "k"], - [429, 0, "z"], - [430, 0, "l"], - [431, 0, "i"], - [432, 0, "b"], - [433, 0, "r"], - [434, 0, "a"], - [435, 0, "r"], - [436, 0, "y"], - [437, 0, "{"], - [438, 0, "a"], - [439, 0, "r"], - [440, 0, "r"], - [441, 0, "o"], - [442, 0, "w"], - [443, 0, "s"], - [444, 0, "}"], - [445, 0, "\n"], - [3199, 0, "\n"], - [3200, 0, "\\"], - [3201, 0, "n"], - [3202, 0, "o"], - [3203, 0, "d"], - [3204, 0, "e"], - [3205, 0, "["], - [3206, 0, "s"], - [3207, 0, "t"], - [3208, 0, "a"], - [3209, 0, "r"], - [3210, 0, "t"], - [3211, 0, "]"], - [3211, 1], - [3210, 1], - [3209, 1], - [3208, 1], - [3207, 1], - [3206, 1], - [3205, 1], - [3205, 0, " "], - [3206, 0, "("], - [3207, 0, "s"], - [3208, 0, "t"], - [3209, 0, "a"], - [3210, 0, "r"], - [3211, 0, "t"], - [3212, 0, ")"], - [3213, 0, " "], - [3214, 0, "a"], - [3215, 0, "t"], - [3216, 0, " "], - [3217, 0, "("], - [3218, 0, "2"], - [3219, 0, ","], - [3220, 0, "2"], - [3221, 0, ")"], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3222, 1], - [3247, 0, "\\"], - [3248, 0, "n"], - [3249, 0, "o"], - [3250, 0, "d"], - [3251, 0, "e"], - [3252, 0, " "], - [3253, 0, "("], - [3254, 0, "l"], - [3255, 0, "e"], - [3256, 0, "f"], - [3257, 0, "t"], - [3258, 0, ")"], - [3261, 1], - [3261, 1], - [3261, 1], - [3261, 0, "a"], - [3262, 0, "t"], - [3270, 1], - [3270, 1], - [3270, 1], - [3270, 1], - [3270, 1], - [3246, 0, ";"], - [3295, 0, "\n"], - [3296, 0, "\\"], - [3297, 0, "d"], - [3298, 0, "r"], - [3299, 0, "a"], - [3300, 0, "w"], - [3301, 0, " "], - [3302, 0, "["], - [3303, 0, "-"], - [3304, 0, ">"], - [3305, 0, "]"], - [3306, 0, " "], - [3307, 0, "("], - [3308, 0, "s"], - [3309, 0, "t"], - [3310, 0, "a"], - [3311, 0, "r"], - [3312, 0, "t"], - [3313, 0, ")"], - [3314, 0, " "], - [3315, 0, "-"], - [3316, 0, "-"], - [3317, 0, " "], - [3318, 0, "("], - [3319, 0, "e"], - [3320, 0, "n"], - [3321, 0, "t"], - [3322, 0, "e"], - [3323, 0, "r"], - [3324, 0, " "], - [3325, 0, "l"], - [3326, 0, "e"], - [3327, 0, "f"], - [3328, 0, "t"], - [3329, 0, ")"], - [3330, 0, ";"], - [3324, 1], - [3323, 1], - [3322, 1], - [3321, 1], - [3320, 1], - [3319, 1], - [3295, 0, "\n"], - [3296, 0, "\\"], - [3297, 0, "n"], - [3298, 0, "o"], - [3299, 0, "d"], - [3300, 0, "e"], - [3301, 0, " "], - [3302, 0, "("], - [3303, 0, "r"], - [3304, 0, "i"], - [3305, 0, "g"], - [3306, 0, "h"], - [3307, 0, "t"], - [3308, 0, ")"], - [3309, 0, " "], - [3310, 0, "a"], - [3311, 0, "t"], - [3312, 0, " "], - [3313, 0, "("], - [3314, 0, "4"], - [3315, 0, ","], - [3316, 0, "1"], - [3317, 0, ")"], - [3318, 0, " "], - [3319, 0, "{"], - [3320, 0, "\\"], - [3321, 0, "v"], - [3322, 0, "e"], - [3323, 0, "r"], - [3324, 0, "b"], - [3325, 0, "|"], - [3326, 0, "{"], - [3327, 0, "\""], - [3328, 0, "t"], - [3329, 0, "i"], - [3330, 0, "t"], - [3331, 0, "l"], - [3332, 0, "e"], - [3333, 0, "\""], - [3334, 0, ":"], - [3335, 0, " "], - [3336, 0, "\""], - [3337, 0, "C"], - [3338, 0, "\""], - [3339, 0, "}"], - [3340, 0, "|"], - [3341, 0, "}"], - [3342, 0, ";"], - [3373, 0, "\n"], - [3374, 0, "\\"], - [3375, 0, "d"], - [3376, 0, "r"], - [3377, 0, "a"], - [3378, 0, "w"], - [3379, 0, " "], - [3380, 0, "["], - [3381, 0, "-"], - [3382, 0, ">"], - [3383, 0, "]"], - [3384, 0, " "], - [3385, 0, "("], - [3386, 0, "s"], - [3387, 0, "t"], - [3388, 0, "a"], - [3389, 0, "r"], - [3390, 0, "t"], - [3391, 0, ")"], - [3392, 0, " "], - [3393, 0, "-"], - [3394, 0, "-"], - [3395, 0, " "], - [3396, 0, "("], - [3397, 0, "r"], - [3398, 0, "i"], - [3399, 0, "g"], - [3400, 0, "h"], - [3401, 0, "t"], - [3402, 0, ")"], - [3403, 0, ";"], - [3259, 0, "1"], - [3309, 0, "1"], - [3213, 0, " "], - [3221, 1], - [3221, 0, "4"], - [3270, 1], - [3270, 0, "2"], - [3319, 1], - [3319, 0, "2"], - [3346, 0, "\n"], - [3347, 0, "\\"], - [3348, 0, "n"], - [3349, 0, "o"], - [3350, 0, "d"], - [3351, 0, "e"], - [3352, 0, " "], - [3353, 0, "("], - [3354, 0, "l"], - [3355, 0, "e"], - [3356, 0, "f"], - [3357, 0, "t"], - [3358, 0, "2"], - [3359, 0, ")"], - [3360, 0, " "], - [3361, 0, " "], - [3362, 0, "a"], - [3363, 0, "t"], - [3364, 0, " "], - [3365, 0, "("], - [3366, 0, "0"], - [3367, 0, ","], - [3368, 0, " "], - [3369, 0, "0"], - [3369, 1], - [3368, 1], - [3368, 0, ")"], - [3368, 1], - [3368, 0, "0"], - [3369, 0, ")"], - [3370, 0, " "], - [3371, 0, "{"], - [3372, 0, "\\"], - [3373, 0, "v"], - [3374, 0, "e"], - [3375, 0, "r"], - [3376, 0, "b"], - [3377, 0, "|"], - [3378, 0, "{"], - [3379, 0, "\""], - [3380, 0, "t"], - [3381, 0, "i"], - [3382, 0, "t"], - [3383, 0, "l"], - [3384, 0, "e"], - [3385, 0, "\""], - [3386, 0, ":"], - [3387, 0, ":"], - [3388, 0, " "], - [3389, 0, "{"], - [3389, 1], - [3388, 1], - [3387, 1], - [3387, 0, " "], - [3388, 0, "{"], - [3389, 0, "\""], - [3390, 0, "B"], - [3391, 0, "\""], - [3392, 0, ","], - [3393, 0, "\""], - [3394, 0, "C"], - [3395, 0, "\""], - [3396, 0, "}"], - [3397, 0, "}"], - [3398, 0, "|"], - [3399, 0, "}"], - [3400, 0, ";"], - [3401, 0, "\n"], - [3402, 0, "\\"], - [3403, 0, "n"], - [3404, 0, "o"], - [3405, 0, "d"], - [3406, 0, "e"], - [3407, 0, " "], - [3408, 0, "("], - [3409, 0, "r"], - [3410, 0, "i"], - [3411, 0, "g"], - [3412, 0, "h"], - [3413, 0, "t"], - [3414, 0, "2"], - [3415, 0, ")"], - [3416, 0, " "], - [3417, 0, "a"], - [3418, 0, "t"], - [3419, 0, " "], - [3420, 0, "("], - [3421, 0, "4"], - [3422, 0, ","], - [3423, 0, "0"], - [3424, 0, ")"], - [3425, 0, " "], - [3426, 0, "{"], - [3427, 0, "\\"], - [3428, 0, "v"], - [3429, 0, "e"], - [3430, 0, "r"], - [3431, 0, "b"], - [3432, 0, "|"], - [3433, 0, "{"], - [3434, 0, "\""], - [3435, 0, "t"], - [3436, 0, "i"], - [3437, 0, "t"], - [3438, 0, "l"], - [3439, 0, "e"], - [3440, 0, "\""], - [3441, 0, ":"], - [3442, 0, " "], - [3443, 0, "{"], - [3444, 0, "\""], - [3445, 0, "B"], - [3446, 0, "\""], - [3447, 0, ","], - [3448, 0, "\""], - [3449, 0, "C"], - [3450, 0, "\""], - [3451, 0, "}"], - [3452, 0, "}"], - [3453, 0, "|"], - [3454, 0, "}"], - [3455, 0, ";"], - [3517, 0, "\n"], - [3518, 0, "\\"], - [3519, 0, "d"], - [3520, 0, "r"], - [3521, 0, "a"], - [3522, 0, "w"], - [3523, 0, " "], - [3524, 0, "["], - [3525, 0, "-"], - [3526, 0, ">"], - [3527, 0, "]"], - [3528, 0, " "], - [3529, 0, "("], - [3484, 0, "1"], - [3516, 0, "1"], - [3532, 0, "l"], - [3533, 0, "e"], - [3534, 0, "f"], - [3535, 0, "t"], - [3536, 0, "1"], - [3537, 0, ")"], - [3538, 0, " "], - [3539, 0, "-"], - [3540, 0, "-"], - [3541, 0, " "], - [3542, 0, "("], - [3543, 0, "l"], - [3544, 0, "e"], - [3545, 0, "f"], - [3546, 0, "t"], - [3547, 0, "2"], - [3548, 0, ")"], - [3549, 0, ";"], - [3550, 0, "\n"], - [3551, 0, "\\"], - [3552, 0, "d"], - [3553, 0, "r"], - [3554, 0, "a"], - [3555, 0, "w"], - [3556, 0, " "], - [3557, 0, "["], - [3558, 0, "p"], - [3558, 1], - [3558, 0, "-"], - [3559, 0, ">"], - [3560, 0, "]"], - [3561, 0, " "], - [3562, 0, "("], - [3563, 0, "l"], - [3564, 0, "e"], - [3565, 0, "f"], - [3566, 0, "t"], - [3567, 0, "1"], - [3568, 0, ")"], - [3569, 0, " "], - [3570, 0, "-"], - [3571, 0, "-"], - [3572, 0, " "], - [3573, 0, "("], - [3573, 1], - [3573, 0, "("], - [3574, 0, "r"], - [3575, 0, "i"], - [3576, 0, "g"], - [3577, 0, "h"], - [3578, 0, "t"], - [3579, 0, "y"], - [3580, 0, "2"], - [3580, 1], - [3579, 1], - [3579, 0, "2"], - [3580, 0, ")"], - [3581, 0, ";"], - [3582, 0, "\n"], - [3583, 0, "\\"], - [3584, 0, "d"], - [3585, 0, "r"], - [3586, 0, "a"], - [3587, 0, "w"], - [3588, 0, " "], - [3589, 0, "["], - [3590, 0, "-"], - [3591, 0, ">"], - [3592, 0, "]"], - [3593, 0, " "], - [3594, 0, "("], - [3595, 0, "r"], - [3596, 0, "i"], - [3597, 0, "g"], - [3598, 0, "h"], - [3599, 0, "t"], - [3600, 0, "1"], - [3601, 0, ")"], - [3602, 0, " "], - [3603, 0, "-"], - [3604, 0, "-"], - [3605, 0, " "], - [3606, 0, "("], - [3607, 0, "l"], - [3608, 0, "e"], - [3609, 0, "f"], - [3610, 0, "t"], - [3611, 0, "2"], - [3612, 0, ")"], - [3613, 0, ";"], - [3614, 0, "\n"], - [3615, 0, "\\"], - [3616, 0, "d"], - [3617, 0, "r"], - [3618, 0, "a"], - [3619, 0, "w"], - [3620, 0, " "], - [3621, 0, "["], - [3622, 0, "-"], - [3623, 0, ">"], - [3624, 0, "]"], - [3625, 0, " "], - [3626, 0, "("], - [3627, 0, "r"], - [3628, 0, "i"], - [3629, 0, "g"], - [3630, 0, "h"], - [3631, 0, "t"], - [3632, 0, "2"], - [3632, 1], - [3632, 0, "1"], - [3633, 0, ")"], - [3634, 0, " "], - [3635, 0, "-"], - [3636, 0, "-"], - [3637, 0, " "], - [3638, 0, "("], - [3639, 0, "r"], - [3640, 0, "i"], - [3641, 0, "g"], - [3642, 0, "h"], - [3643, 0, "t"], - [3644, 0, "2"], - [3645, 0, ")"], - [3646, 0, ";"], - [3233, 1], - [3233, 1], - [3233, 1], - [3233, 1], - [3233, 1], - [3233, 0, "k"], - [3234, 0, "e"], - [3235, 0, "y"], - [3280, 1], - [3280, 1], - [3280, 1], - [3280, 1], - [3280, 1], - [3280, 0, "k"], - [3281, 0, "e"], - [3282, 0, "y"], - [3327, 1], - [3327, 1], - [3327, 1], - [3327, 1], - [3327, 1], - [3327, 0, "k"], - [3328, 0, "e"], - [3329, 0, "y"], - [3374, 1], - [3374, 1], - [3374, 1], - [3374, 1], - [3374, 1], - [3374, 0, "k"], - [3375, 0, "e"], - [3376, 0, "y"], - [3427, 1], - [3427, 1], - [3427, 1], - [3427, 1], - [3427, 1], - [3427, 0, "k"], - [3428, 0, "e"], - [3429, 0, "y"], - [3432, 1], - [3379, 1], - [3332, 1], - [3285, 1], - [3238, 1], - [3471, 1], - [3481, 1], - [3480, 1], - [3479, 1], - [3478, 1], - [3477, 1], - [3476, 1], - [3475, 1], - [3474, 1], - [3473, 1], - [3472, 1], - [3472, 0, "["], - [3473, 0, "-"], - [3474, 0, ">"], - [3475, 0, "]"], - [3471, 0, ";"], - [3473, 0, "\\"], - [3474, 0, "d"], - [3475, 0, "r"], - [3476, 0, "a"], - [3477, 0, "w"], - [3478, 0, " "], - [3462, 1], - [3461, 1], - [3461, 0, "t"], - [3462, 0, "o"], - [3493, 1], - [3492, 1], - [3492, 0, "t"], - [3493, 0, "o"], - [3463, 0, " "], - [3464, 0, "n"], - [3465, 0, "o"], - [3466, 0, "d"], - [3467, 0, "e"], - [3468, 0, " "], - [3469, 0, "{"], - [3470, 0, "x"], - [3471, 0, "}"], - [3472, 0, " "], - [3473, 0, "n"], - [3474, 0, "o"], - [3475, 0, "d"], - [3476, 0, "e"], - [3476, 1], - [3475, 1], - [3474, 1], - [3473, 1], - [3472, 1], - [3471, 1], - [3470, 1], - [3469, 1], - [3468, 1], - [3467, 1], - [3466, 1], - [3465, 1], - [3464, 1], - [3463, 1], - [3462, 1], - [3461, 1], - [3461, 0, "e"], - [3462, 0, "d"], - [3463, 0, "g"], - [3464, 0, "e"], - [3465, 0, " "], - [3466, 0, "{"], - [3467, 0, "x"], - [3468, 0, "}"], - [3464, 1], - [3463, 1], - [3462, 1], - [3461, 1], - [3460, 1], - [3460, 0, " "], - [3461, 0, "e"], - [3462, 0, "d"], - [3463, 0, "g"], - [3464, 0, "e"], - [3465, 0, " "], - [3466, 0, "n"], - [3467, 0, "o"], - [3468, 0, "d"], - [3469, 0, "e"], - [3199, 0, "["], - [3200, 0, "a"], - [3201, 0, "u"], - [3202, 0, "d"], - [3202, 1], - [3202, 0, "t"], - [3203, 0, "o"], - [3204, 0, "]"], - [3478, 1], - [3478, 0, "\\"], - [3479, 0, "t"], - [3480, 0, "e"], - [3481, 0, "x"], - [3482, 0, "t"], - [3483, 0, "s"], - [3484, 0, "f"], - [3485, 0, "{"], - [3486, 0, "d"], - [3487, 0, "o"], - [3488, 0, "c"], - [3489, 0, "["], - [3490, 0, "`"], - [3491, 0, "`"], - [3492, 0, "k"], - [3493, 0, "e"], - [3494, 0, "y"], - [3495, 0, "'"], - [3496, 0, "'"], - [3497, 0, "]"], - [3498, 0, " "], - [3499, 0, ":"], - [3500, 0, "="], - [3501, 0, " "], - [3502, 0, "`"], - [3503, 0, "`"], - [3504, 0, "B"], - [3505, 0, "'"], - [3506, 0, "'"], - [3507, 0, ";"], - [3489, 0, "\\"], - [3498, 0, "\\"], - [3511, 0, "}"], - [3478, 0, "$"], - [3480, 1], - [3480, 1], - [3480, 1], - [3480, 1], - [3480, 0, "m"], - [3481, 0, "a"], - [3482, 0, "t"], - [3483, 0, "h"], - [3490, 0, "}"], - [3491, 1], - [3492, 0, "\\"], - [3493, 0, "t"], - [3494, 0, "e"], - [3495, 0, "x"], - [3496, 0, "t"], - [3497, 0, "{"], - [3505, 1], - [3505, 0, "}"], - [3517, 1], - [3517, 0, "$"], - [3511, 0, "\\"], - [3512, 0, "t"], - [3513, 0, "e"], - [3514, 0, "x"], - [3515, 0, "t"], - [3516, 0, "{"], - [3523, 0, "}"], - [3485, 1], - [3484, 1], - [3483, 1], - [3482, 1], - [3481, 1], - [3480, 1], - [3480, 0, "t"], - [3481, 0, "e"], - [3482, 0, "x"], - [3483, 0, "t"], - [3554, 1], - [3553, 1], - [3553, 0, "e"], - [3554, 0, "d"], - [3555, 0, "g"], - [3556, 0, "e"], - [3557, 0, " "], - [3558, 0, "n"], - [3559, 0, "o"], - [3560, 0, "d"], - [3561, 0, "e"], - [3562, 0, " "], - [3563, 0, "{"], - [3564, 0, "$"], - [3565, 0, "\\"], - [3566, 0, "t"], - [3567, 0, "e"], - [3568, 0, "x"], - [3569, 0, "t"], - [3570, 0, "{"], - [3571, 0, "d"], - [3572, 0, "o"], - [3573, 0, "c"], - [3574, 0, "}"], - [3575, 0, "["], - [3576, 0, "\\"], - [3577, 0, "t"], - [3578, 0, "e"], - [3579, 0, "x"], - [3580, 0, "t"], - [3581, 0, "{"], - [3582, 0, "`"], - [3583, 0, "`"], - [3584, 0, "k"], - [3585, 0, "e"], - [3586, 0, "y"], - [3587, 0, "'"], - [3588, 0, "'"], - [3589, 0, "}"], - [3590, 0, "]"], - [3591, 0, " "], - [3592, 0, ":"], - [3593, 0, "="], - [3594, 0, " "], - [3595, 0, "\\"], - [3596, 0, "t"], - [3597, 0, "e"], - [3598, 0, "x"], - [3599, 0, "t"], - [3600, 0, "{"], - [3601, 0, "`"], - [3602, 0, "`"], - [3603, 0, "C"], - [3604, 0, "'"], - [3605, 0, "'"], - [3606, 0, ";"], - [3607, 0, "}"], - [3608, 0, "$"], - [3609, 0, "}"], - [3556, 1], - [3555, 1], - [3554, 1], - [3553, 1], - [3553, 0, "t"], - [3554, 0, "o"], - [3467, 1], - [3467, 1], - [3467, 1], - [3467, 1], - [3467, 0, "t"], - [3468, 0, "o"], - [3474, 0, " "], - [3475, 0, "["], - [3476, 0, "a"], - [3477, 0, "b"], - [3478, 0, "o"], - [3479, 0, "v"], - [3480, 0, "e"], - [3481, 0, "]"], - [3566, 0, " "], - [3567, 0, "["], - [3568, 0, "a"], - [3569, 0, "b"], - [3570, 0, "o"], - [3571, 0, "v"], - [3572, 0, "e"], - [3573, 0, "]"], - [3481, 0, ","], - [3482, 0, "s"], - [3483, 0, "l"], - [3484, 0, "o"], - [3485, 0, "p"], - [3486, 0, "e"], - [3487, 0, "d"], - [3580, 0, ","], - [3581, 0, "s"], - [3582, 0, "l"], - [3583, 0, "o"], - [3584, 0, "p"], - [3585, 0, "e"], - [3586, 0, "d"], - [3227, 1], - [3227, 0, "5"], - [3491, 0, "\\"], - [3492, 0, "f"], - [3493, 0, "o"], - [3494, 0, "o"], - [3495, 0, "t"], - [3496, 0, "n"], - [3497, 0, "o"], - [3498, 0, "t"], - [3499, 0, "e"], - [3500, 0, "s"], - [3501, 0, "i"], - [3502, 0, "z"], - [3503, 0, "e"], - [3504, 0, " "], - [3604, 0, "\\"], - [3605, 0, "f"], - [3606, 0, "o"], - [3607, 0, "o"], - [3608, 0, "t"], - [3609, 0, "n"], - [3610, 0, "o"], - [3611, 0, "t"], - [3612, 0, "e"], - [3613, 0, "s"], - [3614, 0, "i"], - [3615, 0, "z"], - [3616, 0, "e"], - [3617, 0, " "], - [3694, 1], - [3694, 1], - [3694, 0, "t"], - [3695, 0, "o"], - [3696, 0, " "], - [3697, 0, "n"], - [3698, 0, "o"], - [3699, 0, "d"], - [3700, 0, "e"], - [3701, 0, " "], - [3702, 0, "["], - [3703, 0, "l"], - [3704, 0, "e"], - [3705, 0, "f"], - [3706, 0, "t"], - [3707, 0, "]"], - [3708, 0, " "], - [3709, 0, "{"], - [3710, 0, "\\"], - [3711, 0, "f"], - [3712, 0, "o"], - [3713, 0, "o"], - [3714, 0, "t"], - [3715, 0, "n"], - [3716, 0, "o"], - [3717, 0, "t"], - [3718, 0, "e"], - [3719, 0, "s"], - [3720, 0, "i"], - [3721, 0, "z"], - [3722, 0, "e"], - [3723, 0, " "], - [3724, 0, "y"], - [3725, 0, "i"], - [3726, 0, "e"], - [3727, 0, "l"], - [3728, 0, "d"], - [3729, 0, ";"], - [3730, 0, "}"], - [3761, 1], - [3760, 1], - [3760, 0, "t"], - [3761, 0, "o"], - [3794, 1], - [3793, 1], - [3793, 0, "t"], - [3794, 0, "o"], - [3795, 0, " "], - [3796, 0, "n"], - [3797, 0, "o"], - [3798, 0, "d"], - [3799, 0, "e"], - [3800, 0, " "], - [3801, 0, "["], - [3802, 0, "r"], - [3803, 0, "i"], - [3804, 0, "g"], - [3805, 0, "h"], - [3806, 0, "t"], - [3807, 0, "]"], - [3808, 0, " "], - [3809, 0, "{"], - [3810, 0, "\\"], - [3811, 0, "f"], - [3812, 0, "o"], - [3813, 0, "o"], - [3814, 0, "t"], - [3815, 0, "n"], - [3816, 0, "o"], - [3817, 0, "t"], - [3818, 0, "e"], - [3819, 0, "s"], - [3820, 0, "i"], - [3821, 0, "z"], - [3822, 0, "e"], - [3823, 0, " "], - [3824, 0, "y"], - [3825, 0, "i"], - [3826, 0, "e"], - [3827, 0, "l"], - [3828, 0, "d"], - [3829, 0, ";"], - [3830, 0, "}"], - [3862, 1], - [3861, 1], - [3861, 0, "t"], - [3862, 0, "o"], - [3863, 0, " "], - [3864, 0, "n"], - [3865, 0, "o"], - [3866, 0, "d"], - [3867, 0, "e"], - [3868, 0, " "], - [3869, 0, "["], - [3870, 0, "r"], - [3871, 0, "i"], - [3872, 0, "g"], - [3873, 0, "h"], - [3874, 0, "t"], - [3875, 0, "]"], - [3876, 0, " "], - [3877, 0, "{"], - [3878, 0, "\\"], - [3879, 0, "f"], - [3880, 0, "o"], - [3881, 0, "o"], - [3882, 0, "t"], - [3883, 0, "n"], - [3884, 0, "o"], - [3885, 0, "t"], - [3886, 0, "e"], - [3887, 0, "s"], - [3888, 0, "i"], - [3889, 0, "z"], - [3890, 0, "e"], - [3891, 0, " "], - [3892, 0, "y"], - [3893, 0, "i"], - [3894, 0, "e"], - [3895, 0, "l"], - [3896, 0, "d"], - [3897, 0, ";"], - [3898, 0, "}"], - [3830, 1], - [3829, 1], - [3828, 1], - [3827, 1], - [3826, 1], - [3825, 1], - [3824, 1], - [3823, 1], - [3822, 1], - [3821, 1], - [3820, 1], - [3819, 1], - [3818, 1], - [3817, 1], - [3816, 1], - [3815, 1], - [3814, 1], - [3813, 1], - [3812, 1], - [3811, 1], - [3810, 1], - [3809, 1], - [3808, 1], - [3807, 1], - [3806, 1], - [3805, 1], - [3804, 1], - [3803, 1], - [3802, 1], - [3801, 1], - [3800, 1], - [3799, 1], - [3798, 1], - [3797, 1], - [3796, 1], - [3795, 1], - [3273, 1], - [3273, 0, "1"], - [3319, 1], - [3319, 0, "1"], - [3227, 1], - [3227, 0, "4"], - [3274, 0, "."], - [3275, 0, "3"], - [3275, 1], - [3274, 1], - [3274, 0, "."], - [3275, 0, "5"], - [3322, 0, "."], - [3323, 0, "5"], - [3459, 0, "t"], - [3460, 0, "i"], - [3461, 0, "c"], - [3461, 1], - [3460, 1], - [3459, 1], - [3459, 0, "h"], - [3459, 1], - [3459, 0, "t"], - [3460, 0, "h"], - [3461, 0, "i"], - [3462, 0, "c"], - [3463, 0, "k"], - [3464, 0, ","], - [3578, 0, "t"], - [3579, 0, "h"], - [3580, 0, "i"], - [3581, 0, "c"], - [3582, 0, "k"], - [3583, 0, ","], - [3698, 0, "t"], - [3699, 0, "h"], - [3700, 0, "i"], - [3701, 0, "c"], - [3702, 0, "k"], - [3703, 0, ","], - [3770, 0, "t"], - [3771, 0, "h"], - [3772, 0, "i"], - [3773, 0, "c"], - [3774, 0, "k"], - [3775, 0, ","], - [3808, 0, "t"], - [3809, 0, "h"], - [3810, 0, "i"], - [3811, 0, "c"], - [3812, 0, "k"], - [3813, 0, ","], - [3846, 0, "t"], - [3847, 0, "h"], - [3848, 0, "i"], - [3849, 0, "c"], - [3850, 0, "k"], - [3851, 0, ","], - [1411, 0, "\n"], - [1412, 0, "\n"], - [1412, 0, "O"], - [1413, 0, "u"], - [1414, 0, "r"], - [1415, 0, " "], - [1416, 0, "d"], - [1417, 0, "e"], - [1418, 0, "s"], - [1419, 0, "i"], - [1420, 0, "g"], - [1421, 0, "n"], - [1422, 0, " "], - [1423, 0, "i"], - [1424, 0, "s"], - [1425, 0, " "], - [1426, 0, "b"], - [1427, 0, "a"], - [1428, 0, "s"], - [1429, 0, "e"], - [1430, 0, "d"], - [1431, 0, " "], - [1432, 0, "o"], - [1433, 0, "n"], - [1434, 0, " "], - [1435, 0, "t"], - [1436, 0, "w"], - [1437, 0, "o"], - [1438, 0, " "], - [1439, 0, "s"], - [1440, 0, "i"], - [1441, 0, "m"], - [1442, 0, "p"], - [1443, 0, "l"], - [1444, 0, "e"], - [1445, 0, " "], - [1446, 0, "p"], - [1447, 0, "r"], - [1448, 0, "i"], - [1449, 0, "n"], - [1450, 0, "c"], - [1451, 0, "i"], - [1452, 0, "p"], - [1453, 0, "l"], - [1454, 0, "e"], - [1455, 0, "s"], - [1456, 0, ":"], - [1457, 0, " "], - [1457, 1], - [1457, 0, "\n"], - [1458, 0, "\\"], - [1459, 0, "b"], - [1460, 0, "e"], - [1461, 0, "g"], - [1462, 0, "i"], - [1463, 0, "n"], - [1464, 0, "{"], - [1465, 0, "e"], - [1466, 0, "n"], - [1467, 0, "u"], - [1468, 0, "m"], - [1469, 0, "e"], - [1470, 0, "r"], - [1471, 0, "a"], - [1472, 0, "t"], - [1473, 0, "e"], - [1474, 0, "}"], - [1475, 0, "\n"], - [1476, 0, "\\"], - [1477, 0, "i"], - [1478, 0, "t"], - [1479, 0, "e"], - [1480, 0, "m"], - [1481, 0, " "], - [1482, 0, "A"], - [1483, 0, "l"], - [1484, 0, "l"], - [1485, 0, " "], - [1486, 0, "r"], - [1487, 0, "e"], - [1488, 0, "p"], - [1489, 0, "l"], - [1490, 0, "i"], - [1491, 0, "c"], - [1492, 0, "a"], - [1493, 0, "s"], - [1494, 0, " "], - [1495, 0, "o"], - [1496, 0, "f"], - [1497, 0, " "], - [1498, 0, "t"], - [1499, 0, "h"], - [1500, 0, "e"], - [1501, 0, " "], - [1502, 0, "d"], - [1503, 0, "a"], - [1504, 0, "t"], - [1505, 0, "a"], - [1506, 0, " "], - [1507, 0, "s"], - [1508, 0, "t"], - [1509, 0, "r"], - [1510, 0, "u"], - [1511, 0, "c"], - [1512, 0, "t"], - [1513, 0, "u"], - [1514, 0, "r"], - [1515, 0, "e"], - [1516, 0, " "], - [1517, 0, "s"], - [1518, 0, "h"], - [1519, 0, "o"], - [1520, 0, "u"], - [1521, 0, "l"], - [1522, 0, "d"], - [1523, 0, " "], - [1524, 0, "c"], - [1525, 0, "o"], - [1526, 0, "n"], - [1527, 0, "v"], - [1528, 0, "e"], - [1529, 0, "r"], - [1530, 0, "g"], - [1531, 0, "e"], - [1532, 0, " "], - [1533, 0, "t"], - [1534, 0, "o"], - [1535, 0, "w"], - [1536, 0, "a"], - [1537, 0, "r"], - [1538, 0, "d"], - [1539, 0, "s"], - [1540, 0, " "], - [1541, 0, "t"], - [1542, 0, "h"], - [1543, 0, "e"], - [1544, 0, " "], - [1545, 0, "s"], - [1546, 0, "a"], - [1547, 0, "m"], - [1548, 0, "e"], - [1549, 0, " "], - [1550, 0, "s"], - [1551, 0, "a"], - [1551, 1], - [1551, 0, "t"], - [1552, 0, "a"], - [1553, 0, "t"], - [1554, 0, "e"], - [1555, 0, "."], - [1556, 0, "\n"], - [1557, 0, "\\"], - [1558, 0, "i"], - [1559, 0, "t"], - [1560, 0, "e"], - [1561, 0, "m"], - [1562, 0, " "], - [1563, 0, "N"], - [1564, 0, "o"], - [1565, 0, " "], - [1566, 0, "u"], - [1567, 0, "s"], - [1568, 0, "e"], - [1569, 0, "r"], - [1570, 0, " "], - [1571, 0, "i"], - [1572, 0, "n"], - [1573, 0, "p"], - [1574, 0, "u"], - [1575, 0, "t"], - [1576, 0, " "], - [1577, 0, "s"], - [1578, 0, "h"], - [1579, 0, "o"], - [1580, 0, "u"], - [1581, 0, "l"], - [1582, 0, "d"], - [1583, 0, " "], - [1584, 0, "b"], - [1585, 0, "e"], - [1586, 0, " "], - [1587, 0, "l"], - [1588, 0, "o"], - [1589, 0, "s"], - [1590, 0, "t"], - [1591, 0, " "], - [1592, 0, "d"], - [1593, 0, "u"], - [1594, 0, "e"], - [1595, 0, " "], - [1596, 0, "t"], - [1597, 0, "o"], - [1598, 0, " "], - [1599, 0, "c"], - [1600, 0, "o"], - [1601, 0, "n"], - [1602, 0, "c"], - [1603, 0, "u"], - [1604, 0, "r"], - [1605, 0, "r"], - [1606, 0, "e"], - [1607, 0, "n"], - [1608, 0, "t"], - [1609, 0, " "], - [1610, 0, "m"], - [1611, 0, "o"], - [1612, 0, "d"], - [1613, 0, "i"], - [1614, 0, "f"], - [1615, 0, "i"], - [1616, 0, "c"], - [1617, 0, "a"], - [1618, 0, "t"], - [1619, 0, "i"], - [1620, 0, "o"], - [1621, 0, "n"], - [1622, 0, "s"], - [1623, 0, "."], - [1437, 1], - [1436, 1], - [1435, 1], - [1434, 1], - [1552, 0, "\n"], - [1553, 0, "\\"], - [1554, 0, "i"], - [1555, 0, "t"], - [1556, 0, "e"], - [1557, 0, "m"], - [1558, 0, " "], - [1559, 0, "W"], - [1560, 0, "I"], - [1561, 0, "n"], - [1561, 1], - [1560, 1], - [1559, 1], - [1559, 0, "U"], - [1559, 1], - [1559, 0, "I"], - [1560, 0, "n"], - [1561, 0, " "], - [1562, 0, "t"], - [1563, 0, "h"], - [1564, 0, "e"], - [1565, 0, " "], - [1566, 0, "a"], - [1567, 0, "b"], - [1568, 0, "s"], - [1569, 0, "e"], - [1570, 0, "n"], - [1571, 0, "c"], - [1572, 0, "e"], - [1573, 0, " "], - [1574, 0, "o"], - [1575, 0, "f"], - [1576, 0, " "], - [1577, 0, "c"], - [1578, 0, "o"], - [1579, 0, "n"], - [1580, 0, "c"], - [1581, 0, "u"], - [1582, 0, "r"], - [1583, 0, "r"], - [1584, 0, "e"], - [1585, 0, "n"], - [1586, 0, "c"], - [1587, 0, "y"], - [1587, 1], - [1586, 1], - [1585, 1], - [1585, 0, "n"], - [1586, 0, "t"], - [1587, 0, " "], - [1588, 0, "m"], - [1589, 0, "o"], - [1590, 0, "d"], - [1591, 0, "i"], - [1592, 0, "f"], - [1593, 0, "i"], - [1594, 0, "c"], - [1595, 0, "a"], - [1596, 0, "t"], - [1597, 0, "i"], - [1598, 0, "o"], - [1599, 0, "n"], - [1600, 0, "s"], - [1601, 0, ","], - [1602, 0, " "], - [1603, 0, "t"], - [1604, 0, "h"], - [1605, 0, "e"], - [1606, 0, " "], - [1607, 0, "d"], - [1608, 0, "a"], - [1609, 0, "t"], - [1610, 0, "a"], - [1611, 0, " "], - [1612, 0, "s"], - [1613, 0, "t"], - [1614, 0, "r"], - [1615, 0, "u"], - [1616, 0, "c"], - [1617, 0, "t"], - [1618, 0, "u"], - [1619, 0, "r"], - [1620, 0, "e"], - [1621, 0, " "], - [1622, 0, "s"], - [1623, 0, "h"], - [1624, 0, "o"], - [1625, 0, "u"], - [1626, 0, "l"], - [1627, 0, "d"], - [1628, 0, " "], - [1629, 0, "b"], - [1630, 0, "e"], - [1631, 0, "h"], - [1632, 0, "a"], - [1633, 0, "v"], - [1634, 0, "e"], - [1635, 0, " "], - [1636, 0, "l"], - [1637, 0, "i"], - [1638, 0, "k"], - [1639, 0, "e"], - [1640, 0, " "], - [1641, 0, "i"], - [1642, 0, "t"], - [1643, 0, "s"], - [1644, 0, " "], - [1645, 0, "f"], - [1646, 0, "a"], - [1647, 0, "m"], - [1648, 0, "i"], - [1649, 0, "l"], - [1650, 0, "i"], - [1651, 0, "a"], - [1652, 0, "r"], - [1653, 0, ","], - [1654, 0, " "], - [1655, 0, "n"], - [1656, 0, "o"], - [1657, 0, "n"], - [1658, 0, "-"], - [1659, 0, "r"], - [1660, 0, "e"], - [1661, 0, "p"], - [1662, 0, "l"], - [1663, 0, "i"], - [1664, 0, "c"], - [1665, 0, "a"], - [1666, 0, "t"], - [1667, 0, "e"], - [1668, 0, "d"], - [1669, 0, " "], - [1670, 0, "v"], - [1671, 0, "e"], - [1672, 0, "r"], - [1673, 0, "s"], - [1674, 0, "i"], - [1675, 0, "o"], - [1676, 0, "n"], - [1677, 0, "."], - [1747, 0, "\\"], - [1748, 0, "e"], - [1749, 0, "n"], - [1750, 0, "d"], - [1751, 0, "{"], - [1752, 0, "e"], - [1753, 0, "n"], - [1754, 0, "u"], - [1755, 0, "m"], - [1756, 0, "e"], - [1757, 0, "r"], - [1758, 0, "a"], - [1759, 0, "t"], - [1760, 0, "e"], - [1761, 0, "}"], - [1762, 0, "\n"], - [1763, 0, "\n"], - [1763, 0, "\n"], - [1764, 0, "I"], - [1765, 0, "f"], - [1766, 0, " "], - [1767, 0, "t"], - [1768, 0, "h"], - [1769, 0, "e"], - [1770, 0, " "], - [1771, 0, "t"], - [1772, 0, "h"], - [1773, 0, "i"], - [1774, 0, "r"], - [1775, 0, "d"], - [1776, 0, " "], - [1777, 0, "c"], - [1777, 1], - [1776, 1], - [1776, 0, " "], - [1676, 1], - [1675, 1], - [1674, 1], - [1673, 1], - [1672, 1], - [1671, 1], - [1670, 1], - [1670, 0, "c"], - [1671, 0, "o"], - [1672, 0, "u"], - [1673, 0, "n"], - [1674, 0, "t"], - [1675, 0, "e"], - [1676, 0, "r"], - [1677, 0, "p"], - [1678, 0, "a"], - [1679, 0, "r"], - [1680, 0, "t"], - [1681, 1], - [1680, 1], - [1679, 1], - [1678, 1], - [1677, 1], - [1676, 1], - [1675, 1], - [1674, 1], - [1673, 1], - [1672, 1], - [1671, 1], - [1670, 1], - [1669, 1], - [1668, 1], - [1667, 1], - [1666, 1], - [1665, 1], - [1664, 1], - [1663, 1], - [1662, 1], - [1661, 1], - [1660, 1], - [1659, 1], - [1658, 1], - [1657, 1], - [1656, 1], - [1655, 1], - [1654, 1], - [1653, 1], - [1652, 1], - [1651, 1], - [1650, 1], - [1649, 1], - [1648, 1], - [1647, 1], - [1646, 1], - [1645, 1], - [1644, 1], - [1643, 1], - [1642, 1], - [1641, 1], - [1640, 1], - [1639, 1], - [1638, 1], - [1637, 1], - [1636, 1], - [1635, 1], - [1634, 1], - [1633, 1], - [1632, 1], - [1631, 1], - [1630, 1], - [1629, 1], - [1628, 1], - [1627, 1], - [1626, 1], - [1625, 1], - [1624, 1], - [1623, 1], - [1622, 1], - [1621, 1], - [1620, 1], - [1619, 1], - [1618, 1], - [1617, 1], - [1616, 1], - [1615, 1], - [1614, 1], - [1613, 1], - [1612, 1], - [1611, 1], - [1610, 1], - [1609, 1], - [1608, 1], - [1607, 1], - [1606, 1], - [1605, 1], - [1604, 1], - [1603, 1], - [1602, 1], - [1601, 1], - [1600, 1], - [1599, 1], - [1598, 1], - [1597, 1], - [1596, 1], - [1595, 1], - [1594, 1], - [1593, 1], - [1592, 1], - [1591, 1], - [1590, 1], - [1589, 1], - [1588, 1], - [1587, 1], - [1586, 1], - [1585, 1], - [1584, 1], - [1583, 1], - [1582, 1], - [1581, 1], - [1580, 1], - [1579, 1], - [1578, 1], - [1577, 1], - [1576, 1], - [1575, 1], - [1574, 1], - [1573, 1], - [1572, 1], - [1571, 1], - [1570, 1], - [1569, 1], - [1568, 1], - [1567, 1], - [1566, 1], - [1565, 1], - [1564, 1], - [1563, 1], - [1562, 1], - [1561, 1], - [1560, 1], - [1559, 1], - [1558, 1], - [1557, 1], - [1556, 1], - [1555, 1], - [1554, 1], - [1553, 1], - [1552, 1], - [1435, 0, "t"], - [1436, 0, "w"], - [1437, 0, "o"], - [1438, 0, " "], - [1654, 1], - [1653, 1], - [1652, 1], - [1651, 1], - [1650, 1], - [1649, 1], - [1649, 0, "s"], - [1650, 0, "e"], - [1651, 0, "c"], - [1652, 0, "o"], - [1653, 0, "n"], - [1654, 0, "d"], - [1655, 0, " "], - [1656, 0, "p"], - [1657, 0, "r"], - [1658, 0, "i"], - [1659, 0, "n"], - [1660, 0, "c"], - [1661, 0, "i"], - [1662, 0, "p"], - [1663, 0, "l"], - [1664, 0, "e"], - [1665, 0, " "], - [1666, 0, "i"], - [1667, 0, "s"], - [1668, 0, " "], - [1669, 0, "o"], - [1670, 0, "m"], - [1671, 0, "i"], - [1672, 0, "t"], - [1673, 0, "t"], - [1674, 0, "e"], - [1675, 0, "d"], - [1676, 0, ","], - [1677, 0, " "], - [1678, 0, "a"], - [1679, 0, " "], - [1680, 0, "s"], - [1681, 0, "i"], - [1682, 0, "m"], - [1683, 0, "p"], - [1684, 0, "l"], - [1685, 0, "e"], - [1686, 0, " "], - [1687, 0, "c"], - [1688, 0, "o"], - [1689, 0, "n"], - [1690, 0, "f"], - [1691, 0, "l"], - [1692, 0, "i"], - [1693, 0, "c"], - [1694, 0, "t"], - [1695, 0, " "], - [1696, 0, "r"], - [1697, 0, "e"], - [1698, 0, "s"], - [1699, 0, "o"], - [1700, 0, "l"], - [1701, 0, "u"], - [1702, 0, "t"], - [1703, 0, "i"], - [1704, 0, "o"], - [1705, 0, "n"], - [1706, 0, " "], - [1707, 0, "p"], - [1708, 0, "o"], - [1709, 0, "l"], - [1710, 0, "i"], - [1711, 0, "c"], - [1712, 0, "y"], - [1713, 0, " "], - [1687, 0, "`"], - [1688, 0, "`"], - [1689, 0, "l"], - [1690, 0, "a"], - [1691, 0, "s"], - [1692, 0, "t"], - [1693, 0, " "], - [1694, 0, "w"], - [1695, 0, "r"], - [1696, 0, "i"], - [1697, 0, "t"], - [1698, 0, "e"], - [1699, 0, "r"], - [1700, 0, " "], - [1701, 0, "w"], - [1702, 0, "i"], - [1703, 0, "n"], - [1704, 0, "s"], - [1705, 0, "'"], - [1706, 0, "'"], - [1707, 0, " "], - [1735, 0, "i"], - [1736, 0, "s"], - [1737, 0, " "], - [1738, 0, "s"], - [1739, 0, "u"], - [1740, 0, "f"], - [1741, 0, "f"], - [1742, 0, "i"], - [1743, 0, "c"], - [1744, 0, "i"], - [1745, 0, "e"], - [1746, 0, "n"], - [1747, 0, "t"], - [1748, 0, ","], - [1749, 0, " "], - [1750, 0, "i"], - [1751, 0, "n"], - [1752, 0, " "], - [1753, 0, "w"], - [1754, 0, "h"], - [1755, 0, "i"], - [1756, 0, "c"], - [1757, 0, "h"], - [1758, 0, " "], - [1759, 0, "o"], - [1760, 0, "n"], - [1761, 0, "e"], - [1762, 0, " "], - [1763, 0, "u"], - [1764, 0, "p"], - [1765, 0, "d"], - [1766, 0, "a"], - [1767, 0, "t"], - [1768, 0, "e"], - [1769, 0, " "], - [1769, 1], - [1768, 1], - [1767, 1], - [1766, 1], - [1765, 1], - [1764, 1], - [1763, 1], - [1763, 0, "v"], - [1764, 0, "e"], - [1765, 0, "r"], - [1766, 0, "s"], - [1767, 0, "i"], - [1768, 0, "o"], - [1769, 0, "n"], - [1770, 0, " "], - [1771, 0, "i"], - [1772, 0, "s"], - [1773, 0, " "], - [1774, 0, "c"], - [1775, 0, "h"], - [1776, 0, "o"], - [1777, 0, "s"], - [1778, 0, "e"], - [1779, 0, "n"], - [1780, 0, " "], - [1781, 0, "f"], - [1782, 0, "r"], - [1783, 0, "o"], - [1784, 0, "m"], - [1785, 0, " "], - [1786, 0, "a"], - [1787, 0, " "], - [1788, 0, "s"], - [1789, 0, "e"], - [1790, 0, "t"], - [1791, 0, " "], - [1792, 0, "o"], - [1793, 0, "f"], - [1794, 0, " "], - [1795, 0, "c"], - [1796, 0, "o"], - [1797, 0, "n"], - [1798, 0, "c"], - [1799, 0, "u"], - [1800, 0, "r"], - [1801, 0, "r"], - [1802, 0, "e"], - [1803, 0, "n"], - [1804, 0, "t"], - [1805, 0, " "], - [1806, 0, "m"], - [1807, 0, "o"], - [1808, 0, "d"], - [1809, 0, "i"], - [1810, 0, "f"], - [1811, 0, "i"], - [1812, 0, "c"], - [1813, 0, "a"], - [1814, 0, "t"], - [1815, 0, "i"], - [1816, 0, "o"], - [1817, 0, "n"], - [1524, 0, "a"], - [1525, 0, "u"], - [1526, 0, "t"], - [1527, 0, "o"], - [1528, 0, "m"], - [1528, 1], - [1527, 1], - [1526, 1], - [1525, 1], - [1524, 1], - [1624, 0, "\n"], - [1625, 0, "\\"], - [1626, 0, "i"], - [1627, 0, "t"], - [1628, 0, "e"], - [1629, 0, "m"], - [1630, 0, " "], - [1631, 0, "N"], - [1632, 0, "o"], - [1633, 0, " "], - [1634, 0, "a"], - [1635, 0, "p"], - [1636, 0, "p"], - [1637, 0, "l"], - [1638, 0, "i"], - [1639, 0, "c"], - [1640, 0, "a"], - [1641, 0, "t"], - [1642, 0, "i"], - [1643, 0, "o"], - [1644, 0, "n"], - [1645, 0, " "], - [1645, 1], - [1644, 1], - [1643, 1], - [1642, 1], - [1641, 1], - [1640, 1], - [1639, 1], - [1638, 1], - [1637, 1], - [1636, 1], - [1635, 1], - [1634, 1], - [1633, 1], - [1632, 1], - [1631, 1], - [1630, 1], - [1629, 1], - [1628, 1], - [1627, 1], - [1626, 1], - [1625, 1], - [1624, 1], - [1524, 0, "a"], - [1525, 0, "u"], - [1526, 0, "t"], - [1527, 0, "o"], - [1528, 0, "m"], - [1529, 0, "a"], - [1530, 0, "t"], - [1531, 0, "i"], - [1532, 0, "c"], - [1533, 0, "a"], - [1534, 0, "l"], - [1535, 0, "l"], - [1536, 0, "y"], - [1537, 0, " "], - [1832, 0, "s"], - [1833, 0, ","], - [1834, 0, " "], - [1835, 0, "a"], - [1836, 0, "n"], - [1837, 0, "d"], - [1838, 0, " "], - [1807, 1], - [1806, 1], - [1805, 1], - [1804, 1], - [1803, 1], - [1802, 1], - [1801, 1], - [1800, 1], - [1799, 1], - [1798, 1], - [1797, 1], - [1796, 1], - [1795, 1], - [1794, 1], - [1784, 0, " "], - [1785, 0, "o"], - [1786, 0, "f"], - [1787, 0, " "], - [1788, 0, "a"], - [1789, 0, " "], - [1790, 0, "d"], - [1791, 0, "o"], - [1792, 0, "c"], - [1793, 0, "u"], - [1794, 0, "m"], - [1795, 0, "e"], - [1796, 0, "n"], - [1797, 0, "t"], - [1808, 0, " "], - [1809, 0, "a"], - [1810, 0, "r"], - [1811, 0, "b"], - [1812, 0, "i"], - [1813, 0, "t"], - [1814, 0, "r"], - [1815, 0, "a"], - [1816, 0, "r"], - [1817, 0, "i"], - [1818, 0, "l"], - [1819, 0, "y"], - [1820, 0, ","], - [1821, 0, " "], - [1822, 0, "a"], - [1823, 0, "n"], - [1824, 0, "d"], - [1825, 0, " "], - [1826, 0, "a"], - [1827, 0, "n"], - [1828, 0, "y"], - [1859, 1], - [1858, 1], - [1857, 1], - [1856, 1], - [1855, 1], - [1854, 1], - [1854, 0, " "], - [1855, 0, "a"], - [1856, 0, "r"], - [1857, 0, "e"], - [1858, 0, " "], - [1859, 0, "d"], - [1860, 0, "i"], - [1861, 0, "s"], - [1862, 0, "c"], - [1863, 0, "a"], - [1864, 0, "r"], - [1865, 0, "d"], - [1866, 0, "e"], - [1867, 0, "d"], - [1868, 0, "."], - [1869, 0, " "], - [1870, 0, "H"], - [1871, 0, "o"], - [1872, 0, "w"], - [1873, 0, "e"], - [1874, 0, "v"], - [1875, 0, "e"], - [1876, 0, "r"], - [1877, 0, ","], - [1878, 0, " "], - [1879, 0, "t"], - [1880, 0, "h"], - [1881, 0, "e"], - [1882, 0, " "], - [1883, 0, "r"], - [1884, 0, "e"], - [1885, 0, "q"], - [1886, 0, "u"], - [1887, 0, "i"], - [1888, 0, "r"], - [1889, 0, "e"], - [1890, 0, "m"], - [1891, 0, "e"], - [1892, 0, "n"], - [1893, 0, "t"], - [1894, 0, " "], - [1895, 0, "t"], - [1896, 0, "o"], - [1897, 0, " "], - [1898, 0, "p"], - [1899, 0, "r"], - [1900, 0, "e"], - [1901, 0, "s"], - [1902, 0, "e"], - [1903, 0, "r"], - [1904, 0, "v"], - [1905, 0, "e"], - [1906, 0, " "], - [1907, 0, "u"], - [1908, 0, "s"], - [1909, 0, "e"], - [1910, 0, "r"], - [1911, 0, " "], - [1912, 0, "i"], - [1913, 0, "n"], - [1914, 0, "p"], - [1915, 0, "u"], - [1916, 0, "t"], - [1917, 0, " "], - [1918, 0, "r"], - [1919, 0, "e"], - [1920, 0, "q"], - [1921, 0, "u"], - [1922, 0, "i"], - [1923, 0, "r"], - [1924, 0, "e"], - [1925, 0, "s"], - [1926, 0, " "], - [1927, 0, "a"], - [1928, 0, " "], - [1929, 0, "m"], - [1930, 0, "o"], - [1931, 0, "r"], - [1932, 0, "e"], - [1933, 0, " "], - [1934, 0, "c"], - [1935, 0, "a"], - [1936, 0, "r"], - [1937, 0, "e"], - [1938, 0, "f"], - [1939, 0, "u"], - [1940, 0, "l"], - [1941, 0, " "], - [1942, 0, "a"], - [1943, 0, "p"], - [1944, 0, "p"], - [1945, 0, "r"], - [1946, 0, "o"], - [1947, 0, "a"], - [1948, 0, "c"], - [1949, 0, "h"], - [1950, 0, "."], - [4558, 0, "\n"], - [4559, 0, "\n"], - [4560, 0, "I"], - [4561, 0, "n"], - [4562, 0, " "], - [4563, 0, "t"], - [4564, 0, "h"], - [4565, 0, "i"], - [4566, 0, "s"], - [4567, 0, " "], - [4568, 0, "s"], - [4569, 0, "e"], - [4570, 0, "c"], - [4571, 0, "t"], - [4572, 0, "i"], - [4573, 0, "o"], - [4574, 0, "n"], - [4575, 0, " "], - [4576, 0, "w"], - [4577, 0, "e"], - [4578, 0, " "], - [4579, 0, "w"], - [4580, 0, "i"], - [4581, 0, "l"], - [4582, 0, "l"], - [4583, 0, " "], - [4584, 0, "e"], - [4585, 0, "x"], - [4586, 0, "a"], - [4587, 0, "m"], - [4588, 0, "i"], - [4589, 0, "n"], - [4590, 0, "e"], - [4591, 0, " "], - [4592, 0, "s"], - [4593, 0, "o"], - [4594, 0, "m"], - [4595, 0, "e"], - [4596, 0, " "], - [4597, 0, "e"], - [4598, 0, "x"], - [4599, 0, "a"], - [4600, 0, "m"], - [4601, 0, "p"], - [4602, 0, "l"], - [4603, 0, "e"], - [4604, 0, "s"], - [4605, 0, " "], - [4606, 0, "o"], - [4607, 0, "f"], - [4608, 0, " "], - [4609, 0, "c"], - [4610, 0, "o"], - [4611, 0, "n"], - [4612, 0, "c"], - [4613, 0, "u"], - [4614, 0, "r"], - [4615, 0, "r"], - [4616, 0, "e"], - [4617, 0, "n"], - [4618, 0, "t"], - [4619, 0, " "], - [4620, 0, "e"], - [4621, 0, "d"], - [4622, 0, "i"], - [4623, 0, "t"], - [4624, 0, "s"], - [4625, 0, " "], - [4626, 0, "t"], - [4627, 0, "h"], - [4628, 0, "a"], - [4629, 0, "t"], - [4630, 0, " "], - [4631, 0, "m"], - [4632, 0, "a"], - [4633, 0, "y"], - [4634, 0, " "], - [4635, 0, "o"], - [4636, 0, "c"], - [4637, 0, "c"], - [4638, 0, "u"], - [4639, 0, "r"], - [4640, 0, " "], - [4641, 0, "i"], - [4642, 0, "n"], - [4643, 0, " "], - [4644, 0, "a"], - [4645, 0, " "], - [4646, 0, "J"], - [4647, 0, "S"], - [4648, 0, "O"], - [4649, 0, "N"], - [4650, 0, " "], - [4651, 0, "d"], - [4652, 0, "o"], - [4653, 0, "c"], - [4654, 0, "u"], - [4655, 0, "m"], - [4656, 0, "e"], - [4657, 0, "n"], - [4658, 0, "t"], - [4659, 0, " "], - [4659, 1], - [4659, 0, ","], - [4660, 0, " "], - [4661, 0, "i"], - [4662, 0, "n"], - [4663, 0, " "], - [4664, 0, "o"], - [4665, 0, "r"], - [4666, 0, "d"], - [4667, 0, "e"], - [4668, 0, "r"], - [4669, 0, " "], - [4670, 0, "t"], - [4671, 0, "o"], - [4672, 0, " "], - [4673, 0, "i"], - [4674, 0, "l"], - [4675, 0, "l"], - [4676, 0, "u"], - [4677, 0, "s"], - [4678, 0, "t"], - [4679, 0, "r"], - [4680, 0, "a"], - [4681, 0, "t"], - [4682, 0, "e"], - [4683, 0, " "], - [4684, 0, "s"], - [4685, 0, "o"], - [4686, 0, "m"], - [4687, 0, "e"], - [4688, 0, " "], - [4689, 0, "o"], - [4690, 0, "f"], - [4691, 0, " "], - [4692, 0, "t"], - [4693, 0, "h"], - [4694, 0, "e"], - [4695, 0, " "], - [4696, 0, "s"], - [4697, 0, "u"], - [4698, 0, "b"], - [4699, 0, "t"], - [4700, 0, "l"], - [4701, 0, "e"], - [4702, 0, "t"], - [4703, 0, "i"], - [4704, 0, "e"], - [4705, 0, "s"], - [4706, 0, " "], - [4707, 0, "t"], - [4708, 0, "h"], - [4709, 0, "a"], - [4710, 0, "t"], - [4711, 0, " "], - [4712, 0, "a"], - [4713, 0, "r"], - [4714, 0, "i"], - [4715, 0, "s"], - [4716, 0, "e"], - [4717, 0, "."], - [4718, 0, "\n"], - [4719, 0, "\n"], - [4720, 0, "O"], - [4721, 0, "u"], - [4722, 0, "r"], - [4723, 0, " "], - [4724, 0, "f"], - [4725, 0, "i"], - [4726, 0, "r"], - [4727, 0, "s"], - [4728, 0, "t"], - [4729, 0, " "], - [4730, 0, "e"], - [4731, 0, "x"], - [4732, 0, "a"], - [4733, 0, "m"], - [4734, 0, "p"], - [4735, 0, "l"], - [4736, 0, "e"], - [4737, 0, " "], - [4738, 0, "i"], - [4739, 0, "s"], - [4740, 0, " "], - [4741, 0, "s"], - [4742, 0, "h"], - [4743, 0, "o"], - [4744, 0, "w"], - [4745, 0, "n"], - [4746, 0, " "], - [4747, 0, "i"], - [4748, 0, "n"], - [4749, 0, " "], - [4750, 0, "F"], - [4751, 0, "i"], - [4752, 0, "g"], - [4753, 0, "u"], - [4754, 0, "r"], - [4755, 0, "e"], - [4756, 0, "~"], - [4757, 0, "\\"], - [4758, 0, "r"], - [4759, 0, "e"], - [4760, 0, "f"], - [4761, 0, "{"], - [4762, 0, "f"], - [4763, 0, "i"], - [4764, 0, "g"], - [4765, 0, ":"], - [4766, 0, "r"], - [4767, 0, "e"], - [4768, 0, "g"], - [4769, 0, "i"], - [4770, 0, "s"], - [4771, 0, "t"], - [4772, 0, "e"], - [4773, 0, "r"], - [4774, 0, "-"], - [4775, 0, "a"], - [4776, 0, "s"], - [4777, 0, "s"], - [4778, 0, "i"], - [4779, 0, "g"], - [4780, 0, "n"], - [4781, 0, "}"], - [4782, 0, "."], - [4783, 0, " "], - [4784, 0, "A"], - [4785, 0, " "], - [4786, 0, "d"], - [4787, 0, "o"], - [4788, 0, "c"], - [4789, 0, "u"], - [4790, 0, "m"], - [4791, 0, "e"], - [4792, 0, "n"], - [4793, 0, "t"], - [4794, 0, " "], - [4795, 0, "t"], - [4796, 0, "h"], - [4797, 0, "a"], - [4798, 0, "t"], - [4799, 0, " "], - [4800, 0, "m"], - [4801, 0, "a"], - [4802, 0, "p"], - [4803, 0, "s"], - [4804, 0, " "], - [4784, 1], - [4784, 0, "I"], - [4785, 0, "n"], - [4786, 0, " "], - [4787, 0, "a"], - [4808, 0, "`"], - [4809, 0, "`"], - [4810, 0, "k"], - [4811, 0, "e"], - [4812, 0, "y"], - [4813, 0, "'"], - [4814, 0, "'"], - [4815, 0, " "], - [4816, 0, "t"], - [4817, 0, "o"], - [4818, 0, " "], - [4819, 0, "`"], - [4820, 0, "`"], - [4821, 0, "A"], - [4822, 0, "'"], - [4823, 0, "'"], - [4824, 0, ","], - [4825, 0, " "], - [4826, 0, "o"], - [4827, 0, "n"], - [4828, 0, "e"], - [4829, 0, " "], - [4830, 0, "r"], - [4831, 0, "e"], - [4832, 0, "p"], - [4833, 0, "l"], - [4834, 0, "i"], - [4835, 0, "c"], - [4836, 0, "a"], - [4837, 0, " "], - [4838, 0, "s"], - [4839, 0, "e"], - [4840, 0, "t"], - [4841, 0, "s"], - [4842, 0, " "], - [4843, 0, "t"], - [4844, 0, "h"], - [4845, 0, "e"], - [4846, 0, " "], - [4847, 0, "v"], - [4848, 0, "a"], - [4849, 0, "l"], - [4850, 0, "u"], - [4851, 0, "e"], - [4852, 0, " "], - [4853, 0, "o"], - [4854, 0, "f"], - [4855, 0, " "], - [4856, 0, "t"], - [4857, 0, "h"], - [4858, 0, "e"], - [4859, 0, " "], - [4860, 0, "k"], - [4861, 0, "e"], - [4862, 0, "y"], - [4863, 0, " "], - [4864, 0, "t"], - [4865, 0, "o"], - [4866, 0, " "], - [4867, 0, "`"], - [4868, 0, "`"], - [4869, 0, "B"], - [4870, 0, "'"], - [4871, 0, "'"], - [4872, 0, ","], - [4873, 0, " "], - [4874, 0, "w"], - [4875, 0, "h"], - [4876, 0, "i"], - [4877, 0, "l"], - [4878, 0, "e"], - [4879, 0, " "], - [4880, 0, "a"], - [4881, 0, "n"], - [4882, 0, "o"], - [4883, 0, "t"], - [4884, 0, "h"], - [4885, 0, "e"], - [4886, 0, "r"], - [4887, 0, " "], - [4888, 0, "c"], - [4889, 0, "o"], - [4890, 0, "n"], - [4891, 0, "c"], - [4892, 0, "u"], - [4893, 0, "r"], - [4894, 0, "r"], - [4895, 0, "e"], - [4896, 0, "n"], - [4897, 0, "t"], - [4898, 0, "l"], - [4899, 0, "y"], - [4900, 0, " "], - [4901, 0, "s"], - [4902, 0, "e"], - [4903, 0, "t"], - [4904, 0, "s"], - [4905, 0, " "], - [4906, 0, "i"], - [4907, 0, "t"], - [4908, 0, " "], - [4909, 0, "t"], - [4910, 0, "o"], - [4911, 0, " "], - [4912, 0, "`"], - [4913, 0, "`"], - [4914, 0, "C"], - [4915, 0, "'"], - [4916, 0, "'"], - [4917, 0, "."], - [4918, 0, " "], - [4919, 0, "A"], - [4920, 0, "s"], - [4921, 0, " "], - [4922, 0, "t"], - [4923, 0, "h"], - [4924, 0, "e"], - [4925, 0, " "], - [4926, 0, "r"], - [4927, 0, "e"], - [4928, 0, "p"], - [4929, 0, "l"], - [4930, 0, "i"], - [4931, 0, "c"], - [4932, 0, "a"], - [4933, 0, "s"], - [4934, 0, " "], - [4935, 0, "s"], - [4936, 0, "u"], - [4937, 0, "b"], - [4938, 0, "s"], - [4939, 0, "e"], - [4940, 0, "q"], - [4941, 0, "u"], - [4942, 0, "e"], - [4943, 0, "n"], - [4944, 0, "t"], - [4945, 0, "l"], - [4946, 0, "y"], - [4947, 0, " "], - [4948, 0, "e"], - [4949, 0, "x"], - [4950, 0, "c"], - [4951, 0, "h"], - [4952, 0, "a"], - [4953, 0, "n"], - [4954, 0, "g"], - [4955, 0, "e"], - [4956, 0, " "], - [4957, 0, "e"], - [4958, 0, "d"], - [4959, 0, "i"], - [4960, 0, "t"], - [4961, 0, "s"], - [4962, 0, ","], - [4963, 0, " "], - [4964, 0, "t"], - [4965, 0, "h"], - [4966, 0, "e"], - [4967, 0, "y"], - [4968, 0, " "], - [4862, 1], - [4861, 1], - [4860, 1], - [4860, 0, "r"], - [4861, 0, "e"], - [4862, 0, "g"], - [4863, 0, "i"], - [4864, 0, "s"], - [4865, 0, "t"], - [4866, 0, "e"], - [4867, 0, "r"], - [4974, 0, "d"], - [4975, 0, "e"], - [4976, 0, "t"], - [4977, 0, "e"], - [4978, 0, "c"], - [4979, 0, "t"], - [4980, 0, " "], - [4981, 0, "t"], - [4982, 0, "h"], - [4983, 0, "e"], - [4984, 0, " "], - [4985, 0, "c"], - [4986, 0, "o"], - [4987, 0, "n"], - [4988, 0, "f"], - [4989, 0, "l"], - [4990, 0, "i"], - [4991, 0, "c"], - [4992, 0, "t"], - [4993, 0, "."], - [4994, 0, " "], - [4995, 0, "S"], - [4996, 0, "i"], - [4997, 0, "n"], - [4998, 0, "c"], - [4999, 0, "e"], - [5000, 0, " "], - [5001, 0, "w"], - [5002, 0, "e"], - [5003, 0, " "], - [5004, 0, "r"], - [5005, 0, "u"], - [5006, 0, "l"], - [5007, 0, "e"], - [5008, 0, " "], - [5009, 0, "o"], - [5010, 0, "u"], - [5011, 0, "t"], - [5012, 0, " "], - [5013, 0, "t"], - [5014, 0, "h"], - [5015, 0, "e"], - [5016, 0, " "], - [5016, 1], - [5015, 1], - [5014, 1], - [5013, 1], - [5012, 1], - [5011, 1], - [5010, 1], - [5009, 1], - [5008, 1], - [5007, 1], - [5006, 1], - [5005, 1], - [5004, 1], - [5004, 0, "d"], - [5005, 0, "o"], - [5006, 0, " "], - [5007, 0, "n"], - [5008, 0, "o"], - [5009, 0, "t"], - [5010, 0, " "], - [5011, 0, "w"], - [5012, 0, "a"], - [5013, 0, "n"], - [5014, 0, "t"], - [5015, 0, " "], - [5016, 0, "t"], - [5017, 0, "o"], - [5018, 0, " "], - [5019, 0, "s"], - [5020, 0, "i"], - [5021, 0, "m"], - [5022, 0, "p"], - [5023, 0, "l"], - [5024, 0, "y"], - [5025, 0, " "], - [5026, 0, "d"], - [5027, 0, "i"], - [5028, 0, "s"], - [5029, 0, "c"], - [5030, 0, "a"], - [5031, 0, "r"], - [5032, 0, "d"], - [5033, 0, " "], - [5034, 0, "o"], - [5035, 0, "n"], - [5036, 0, "e"], - [5037, 0, " "], - [5038, 0, "o"], - [5039, 0, "f"], - [5040, 0, " "], - [5041, 0, "t"], - [5042, 0, "h"], - [5043, 0, "e"], - [5044, 0, " "], - [5045, 0, "e"], - [5046, 0, "d"], - [5047, 0, "i"], - [5048, 0, "t"], - [5049, 0, "s"], - [5050, 0, ","], - [5051, 0, " "], - [5052, 0, "a"], - [5053, 0, "n"], - [5054, 0, "d"], - [5055, 0, " "], - [5056, 0, "t"], - [5057, 0, "h"], - [5058, 0, "e"], - [5059, 0, " "], - [5060, 0, "s"], - [5061, 0, "t"], - [5062, 0, "r"], - [5063, 0, "i"], - [5064, 0, "n"], - [5065, 0, "g"], - [5066, 0, "s"], - [5067, 0, " "], - [5068, 0, "`"], - [5069, 0, "`"], - [5070, 0, "B"], - [5071, 0, "'"], - [5072, 0, "'"], - [5073, 0, " "], - [5074, 0, "a"], - [5075, 0, "n"], - [5076, 0, "d"], - [5077, 0, " "], - [5078, 0, "`"], - [5079, 0, "`"], - [5080, 0, "C"], - [5081, 0, "'"], - [5082, 0, "'"], - [5083, 0, " "], - [5084, 0, "c"], - [5085, 0, "a"], - [5086, 0, "n"], - [5087, 0, "n"], - [5088, 0, "o"], - [5089, 0, "t"], - [5090, 0, " "], - [5091, 0, "m"], - [5092, 0, "e"], - [5093, 0, "a"], - [5094, 0, "n"], - [5095, 0, "i"], - [5096, 0, "n"], - [5097, 0, "g"], - [5098, 0, "f"], - [5099, 0, "u"], - [5100, 0, "l"], - [5101, 0, "l"], - [5102, 0, "y"], - [5103, 0, " "], - [5104, 0, "b"], - [5105, 0, "e"], - [5106, 0, " "], - [5107, 0, "m"], - [5108, 0, "e"], - [5109, 0, "r"], - [5110, 0, "g"], - [5111, 0, "e"], - [5112, 0, "d"], - [5113, 0, ","], - [5114, 0, " "], - [5115, 0, "t"], - [5116, 0, "h"], - [5117, 0, "e"], - [5118, 0, " "], - [5119, 0, "s"], - [5120, 0, "y"], - [5121, 0, "s"], - [5122, 0, "t"], - [5123, 0, "e"], - [5124, 0, "m"], - [5125, 0, " "], - [5126, 0, "m"], - [5127, 0, "u"], - [5128, 0, "s"], - [5129, 0, "t"], - [5130, 0, " "], - [5131, 0, "p"], - [5132, 0, "r"], - [5133, 0, "e"], - [5134, 0, "s"], - [5135, 0, "e"], - [5136, 0, "r"], - [5137, 0, "v"], - [5138, 0, "e"], - [5139, 0, " "], - [5140, 0, "b"], - [5141, 0, "o"], - [5142, 0, "t"], - [5143, 0, "h"], - [5144, 0, " "], - [5145, 0, "c"], - [5146, 0, "o"], - [5147, 0, "n"], - [5148, 0, "c"], - [5149, 0, "u"], - [5150, 0, "r"], - [5151, 0, "r"], - [5152, 0, "e"], - [5153, 0, "n"], - [5154, 0, "t"], - [5155, 0, " "], - [5156, 0, "u"], - [5157, 0, "p"], - [5158, 0, "d"], - [5159, 0, "a"], - [5160, 0, "t"], - [5161, 0, "e"], - [5162, 0, "s"], - [5163, 0, "."], - [5164, 0, " "], - [5165, 0, "T"], - [5166, 0, "h"], - [5167, 0, "i"], - [5168, 0, "s"], - [5169, 0, " "], - [5170, 0, "d"], - [5171, 0, "a"], - [5172, 0, "t"], - [5173, 0, "a"], - [5174, 0, "t"], - [5175, 0, "y"], - [5176, 0, "p"], - [5177, 0, "e"], - [5178, 0, "s"], - [5178, 1], - [5178, 0, " "], - [5179, 0, "i"], - [5180, 0, "s"], - [5181, 0, " "], - [5182, 0, "k"], - [5183, 0, "n"], - [5184, 0, "o"], - [5185, 0, "w"], - [5186, 0, "n"], - [5187, 0, " "], - [5188, 0, "a"], - [5189, 0, "s"], - [5190, 0, " "], - [5191, 0, "a"], - [5192, 0, " "], - [5193, 0, "\\"], - [5194, 0, "e"], - [5195, 0, "m"], - [5196, 0, "p"], - [5197, 0, "h"], - [5198, 0, "{"], - [5199, 0, "m"], - [5200, 0, "u"], - [5201, 0, "l"], - [5202, 0, "t"], - [5203, 0, "i"], - [5204, 0, "-"], - [5205, 0, "v"], - [5206, 0, "a"], - [5207, 0, "l"], - [5208, 0, "u"], - [5209, 0, "e"], - [5210, 0, " "], - [5211, 0, "r"], - [5212, 0, "e"], - [5213, 0, "g"], - [5214, 0, "i"], - [5215, 0, "s"], - [5216, 0, "t"], - [5217, 0, "e"], - [5218, 0, "r"], - [5219, 0, "}"], - [5220, 0, ":"], - [5221, 0, " "], - [5222, 0, "a"], - [5223, 0, "l"], - [5224, 0, "t"], - [5225, 0, "h"], - [5226, 0, "o"], - [5227, 0, "u"], - [5228, 0, "g"], - [5229, 0, "h"], - [5230, 0, " "], - [5231, 0, "a"], - [5232, 0, " "], - [5233, 0, "r"], - [5234, 0, "e"], - [5235, 0, "p"], - [5236, 0, "l"], - [5237, 0, "i"], - [5238, 0, "c"], - [5239, 0, "a"], - [5240, 0, " "], - [5241, 0, "c"], - [5242, 0, "a"], - [5243, 0, "n"], - [5244, 0, " "], - [5245, 0, "o"], - [5246, 0, "n"], - [5247, 0, "l"], - [5248, 0, "y"], - [5249, 0, " "], - [5250, 0, "a"], - [5251, 0, "s"], - [5252, 0, "s"], - [5253, 0, "i"], - [5254, 0, "g"], - [5255, 0, "n"], - [5256, 0, " "], - [5257, 0, "a"], - [5258, 0, "s"], - [5258, 1], - [5258, 0, " "], - [5259, 0, "s"], - [5260, 0, "i"], - [5261, 0, "n"], - [5262, 0, "g"], - [5263, 0, "l"], - [5264, 0, "e"], - [5265, 0, " "], - [5266, 0, "v"], - [5267, 0, "a"], - [5268, 0, "l"], - [5269, 0, "u"], - [5270, 0, "e"], - [5271, 0, " "], - [5272, 0, "t"], - [5273, 0, "o"], - [5274, 0, " "], - [5275, 0, "t"], - [5276, 0, "h"], - [5277, 0, "e"], - [5278, 0, " "], - [5279, 0, "r"], - [5280, 0, "e"], - [5281, 0, "g"], - [5282, 0, "i"], - [5283, 0, "s"], - [5284, 0, "t"], - [5285, 0, "e"], - [5286, 0, "r"], - [5287, 0, ","], - [5288, 0, " "], - [5289, 0, "i"], - [5290, 0, "t"], - [5291, 0, " "], - [5292, 0, "m"], - [5293, 0, "a"], - [5294, 0, "y"], - [5295, 0, " "], - [5296, 0, "h"], - [5297, 0, "a"], - [5298, 0, "v"], - [5299, 0, "e"], - [5300, 0, " "], - [5300, 1], - [5299, 1], - [5298, 1], - [5297, 1], - [5296, 1], - [5295, 1], - [5294, 1], - [5293, 1], - [5292, 1], - [5291, 1], - [5290, 1], - [5289, 1], - [5289, 0, "r"], - [5290, 0, "e"], - [5291, 0, "a"], - [5292, 0, "d"], - [5293, 0, "i"], - [5294, 0, "n"], - [5295, 0, "g"], - [5296, 0, " "], - [5297, 0, "t"], - [5298, 0, "h"], - [5299, 0, "e"], - [5300, 0, " "], - [5301, 0, "r"], - [5302, 0, "e"], - [5303, 0, "g"], - [5304, 0, "i"], - [5305, 0, "s"], - [5306, 0, "t"], - [5307, 0, "e"], - [5308, 0, "r"], - [5309, 0, " "], - [5310, 0, "m"], - [5311, 0, "a"], - [5312, 0, "y"], - [5313, 0, " "], - [5314, 0, "r"], - [5315, 0, "e"], - [5316, 0, "t"], - [5317, 0, "u"], - [5318, 0, "r"], - [5319, 0, "n"], - [5320, 0, " "], - [5321, 0, "a"], - [5322, 0, " "], - [5323, 0, "s"], - [5324, 0, "e"], - [5325, 0, "t"], - [5326, 0, " "], - [5327, 0, "o"], - [5328, 0, "f"], - [5329, 0, " "], - [5330, 0, "c"], - [5331, 0, "o"], - [5332, 0, "n"], - [5333, 0, "c"], - [5334, 0, "u"], - [5335, 0, "r"], - [5336, 0, "r"], - [5337, 0, "e"], - [5338, 0, "n"], - [5339, 0, "t"], - [5340, 0, "l"], - [5341, 0, "y"], - [5342, 0, " "], - [5343, 0, "w"], - [5344, 0, "r"], - [5345, 0, "i"], - [5346, 0, "t"], - [5347, 0, "t"], - [5348, 0, "e"], - [5349, 0, "n"], - [5350, 0, " "], - [5351, 0, "v"], - [5352, 0, "a"], - [5353, 0, "l"], - [5354, 0, "u"], - [5355, 0, "e"], - [5356, 0, "s"], - [5357, 0, "."], - [4818, 0, " "], - [4819, 0, "a"], - [4820, 0, " "], - [4821, 0, "r"], - [4822, 0, "e"], - [4823, 0, "g"], - [4824, 0, "i"], - [4825, 0, "s"], - [4826, 0, "t"], - [4827, 0, "e"], - [4828, 0, "r"], - [4829, 0, " "], - [4830, 0, "w"], - [4831, 0, "i"], - [4832, 0, "t"], - [4833, 0, "h"], - [4834, 0, " "], - [4835, 0, "v"], - [4836, 0, "a"], - [4837, 0, "l"], - [4838, 0, "u"], - [4839, 0, "e"], - [5380, 0, "\n"], - [5381, 0, "\n"], - [5382, 0, "'"], - [5382, 1], - [5382, 0, "\\"], - [5383, 0, "b"], - [5384, 0, "e"], - [5385, 0, "g"], - [5386, 0, "i"], - [5387, 0, "n"], - [5388, 0, "{"], - [5389, 0, "f"], - [5390, 0, "i"], - [5391, 0, "g"], - [5392, 0, "u"], - [5393, 0, "r"], - [5394, 0, "e"], - [5395, 0, "*"], - [5396, 0, "}"], - [5397, 0, "\n"], - [5398, 0, "\\"], - [5399, 0, "e"], - [5400, 0, "n"], - [5401, 0, "d"], - [5402, 0, "{"], - [5403, 0, "f"], - [5404, 0, "i"], - [5405, 0, "g"], - [5406, 0, "u"], - [5407, 0, "r"], - [5408, 0, "e"], - [5409, 0, "*"], - [5410, 0, "}"], - [5397, 0, "\n"], - [5398, 0, "\\"], - [5399, 0, "c"], - [5400, 0, "e"], - [5401, 0, "n"], - [5402, 0, "t"], - [5403, 0, "e"], - [5404, 0, "r"], - [5405, 0, "i"], - [5406, 0, "n"], - [5407, 0, "g"], - [5408, 0, "\n"], - [5409, 0, "\\"], - [5410, 0, "b"], - [5411, 0, "e"], - [5412, 0, "g"], - [5413, 0, "i"], - [5414, 0, "n"], - [5415, 0, "{"], - [5416, 0, "t"], - [5417, 0, "i"], - [5418, 0, "k"], - [5419, 0, "z"], - [5420, 0, "p"], - [5421, 0, "i"], - [5422, 0, "c"], - [5423, 0, "t"], - [5424, 0, "u"], - [5425, 0, "r"], - [5426, 0, "e"], - [5427, 0, "}"], - [5428, 0, "["], - [5429, 0, "a"], - [5430, 0, "u"], - [5431, 0, "t"], - [5432, 0, "o"], - [5433, 0, "]"], - [5434, 0, "\n"], - [5435, 0, "\\"], - [5436, 0, "e"], - [5437, 0, "n"], - [5438, 0, "d"], - [5439, 0, "{"], - [5440, 0, "t"], - [5441, 0, "i"], - [5442, 0, "k"], - [5443, 0, "z"], - [5444, 0, "p"], - [5445, 0, "i"], - [5446, 0, "c"], - [5447, 0, "t"], - [5448, 0, "u"], - [5449, 0, "r"], - [5450, 0, "e"], - [5451, 0, "}"], - [5452, 0, "\n"], - [5453, 0, "\\"], - [5454, 0, "c"], - [5455, 0, "a"], - [5456, 0, "p"], - [5457, 0, "t"], - [5458, 0, "i"], - [5459, 0, "o"], - [5460, 0, "n"], - [5461, 0, "{"], - [5462, 0, "C"], - [5463, 0, "o"], - [5464, 0, "n"], - [5465, 0, "c"], - [5466, 0, "u"], - [5467, 0, "r"], - [5468, 0, "r"], - [5469, 0, "e"], - [5470, 0, "n"], - [5471, 0, "t"], - [5472, 0, " "], - [5473, 0, "m"], - [5474, 0, "o"], - [5474, 1], - [5473, 1], - [5472, 1], - [5471, 1], - [5470, 1], - [5469, 1], - [5468, 1], - [5467, 1], - [5466, 1], - [5465, 1], - [5464, 1], - [5463, 1], - [5462, 1], - [5462, 0, "M"], - [5463, 0, "o"], - [5464, 0, "d"], - [5465, 0, "i"], - [5466, 0, "f"], - [5467, 0, "y"], - [5468, 0, "i"], - [5469, 0, "n"], - [5470, 0, "g"], - [5471, 0, " "], - [5472, 0, "t"], - [5473, 0, "h"], - [5474, 0, "e"], - [5475, 0, " "], - [5476, 0, "c"], - [5477, 0, "o"], - [5478, 0, "n"], - [5479, 0, "t"], - [5480, 0, "e"], - [5481, 0, "n"], - [5482, 0, "t"], - [5483, 0, "s"], - [5484, 0, " "], - [5485, 0, "o"], - [5486, 0, "f"], - [5487, 0, " "], - [5488, 0, "a"], - [5489, 0, " "], - [5490, 0, "n"], - [5491, 0, "e"], - [5492, 0, "s"], - [5493, 0, "t"], - [5494, 0, "e"], - [5495, 0, "d"], - [5496, 0, " "], - [5497, 0, "m"], - [5498, 0, "a"], - [5499, 0, "p"], - [5500, 0, " "], - [5501, 0, "w"], - [5502, 0, "h"], - [5503, 0, "i"], - [5504, 0, "l"], - [5505, 0, "e"], - [5506, 0, " "], - [5507, 0, "c"], - [5508, 0, "o"], - [5509, 0, "n"], - [5510, 0, "c"], - [5511, 0, "u"], - [5512, 0, "r"], - [5513, 0, "r"], - [5514, 0, "e"], - [5515, 0, "n"], - [5516, 0, "t"], - [5517, 0, "l"], - [5518, 0, "y"], - [5519, 0, " "], - [5520, 0, "t"], - [5521, 0, "h"], - [5522, 0, "e"], - [5523, 0, " "], - [5524, 0, "e"], - [5525, 0, "n"], - [5526, 0, "t"], - [5527, 0, "i"], - [5528, 0, "r"], - [5529, 0, "e"], - [5530, 0, " "], - [5531, 0, "m"], - [5532, 0, "a"], - [5533, 0, "p"], - [5534, 0, " "], - [5535, 0, "i"], - [5536, 0, "s"], - [5537, 0, " "], - [5538, 0, "r"], - [5539, 0, "e"], - [5540, 0, "m"], - [5541, 0, "o"], - [5542, 0, "v"], - [5543, 0, "e"], - [5544, 0, "d"], - [5545, 0, "}"], - [5546, 0, "\\"], - [5547, 0, "l"], - [5548, 0, "a"], - [5549, 0, "b"], - [5550, 0, "e"], - [5551, 0, "l"], - [5552, 0, "{"], - [5553, 0, "f"], - [5554, 0, "i"], - [5555, 0, "g"], - [5556, 0, ":"], - [5557, 0, "m"], - [5558, 0, "a"], - [5559, 0, "p"], - [5560, 0, "-"], - [5561, 0, "r"], - [5562, 0, "e"], - [5563, 0, "m"], - [5564, 0, "o"], - [5565, 0, "v"], - [5566, 0, "e"], - [5567, 0, "}"], - [5434, 0, "\n"], - [5435, 0, "\\"], - [5436, 0, "n"], - [5437, 0, "o"], - [5438, 0, "d"], - [5439, 0, "e"], - [5440, 0, " "], - [5441, 0, "("], - [5442, 0, "s"], - [5443, 0, "t"], - [5444, 0, "a"], - [5445, 0, "r"], - [5446, 0, "t"], - [5447, 0, ")"], - [5448, 0, " "], - [5449, 0, "a"], - [5450, 0, "t"], - [5451, 0, " "], - [5452, 0, "("], - [5453, 0, "5"], - [5454, 0, ","], - [5455, 0, "4"], - [5456, 0, ")"], - [5457, 0, " "], - [5458, 0, "{"], - [5459, 0, "\\"], - [5460, 0, "v"], - [5461, 0, "e"], - [5462, 0, "r"], - [5463, 0, "b"], - [5464, 0, "|"], - [5465, 0, "{"], - [5466, 0, "\""], - [5467, 0, "c"], - [5468, 0, "o"], - [5469, 0, "l"], - [5470, 0, "o"], - [5471, 0, "r"], - [5472, 0, "s"], - [5473, 0, "\""], - [5474, 0, ":"], - [5475, 0, " "], - [5476, 0, "{"], - [5477, 0, "\""], - [5478, 0, "b"], - [5479, 0, "l"], - [5480, 0, "u"], - [5481, 0, "e"], - [5482, 0, "\""], - [5483, 0, ":"], - [5484, 0, " "], - [5485, 0, "\""], - [5486, 0, "#"], - [5487, 0, "0"], - [5488, 0, "0"], - [5489, 0, "0"], - [5490, 0, "0"], - [5491, 0, "f"], - [5492, 0, "f"], - [5493, 0, "\""], - [5494, 0, "}"], - [5495, 0, "}"], - [5496, 0, "|"], - [5497, 0, "}"], - [5498, 0, ";"], - [5499, 0, "\n"], - [5500, 0, "\\"], - [5501, 0, "n"], - [5502, 0, "o"], - [5503, 0, "d"], - [5504, 0, "e"], - [5505, 0, " "], - [5506, 0, "("], - [5507, 0, "l"], - [5508, 0, "e"], - [5509, 0, "f"], - [5510, 0, "t"], - [5511, 0, "1"], - [5512, 0, ")"], - [5513, 0, " "], - [5514, 0, " "], - [5449, 0, " "], - [5516, 0, "a"], - [5517, 0, "t"], - [5518, 0, " "], - [5519, 0, "("], - [5520, 0, "0"], - [5521, 0, ","], - [5522, 0, "2"], - [5523, 0, ")"], - [5524, 0, " "], - [5525, 0, "{"], - [5526, 0, "\\"], - [5527, 0, "v"], - [5528, 0, "e"], - [5529, 0, "r"], - [5530, 0, "b"], - [5531, 0, "|"], - [5532, 0, "{"], - [5533, 0, "\""], - [5534, 0, "c"], - [5535, 0, "o"], - [5536, 0, "l"], - [5537, 0, "o"], - [5538, 0, "r"], - [5539, 0, "s"], - [5540, 0, "\""], - [5541, 0, ":"], - [5542, 0, " "], - [5543, 0, "{"], - [5544, 0, "\""], - [5545, 0, "b"], - [5546, 0, "l"], - [5547, 0, "u"], - [5548, 0, "e"], - [5549, 0, "\""], - [5550, 0, ":"], - [5551, 0, " "], - [5552, 0, "\""], - [5553, 0, "#"], - [5554, 0, "0"], - [5555, 0, "0"], - [5556, 0, "0"], - [5557, 0, "0"], - [5558, 0, "f"], - [5559, 0, "f"], - [5560, 0, "\""], - [5561, 0, "|"], - [5562, 0, "}"], - [5563, 0, ";"], - [5561, 0, ","], - [5563, 0, " "], - [5564, 0, "\\"], - [5565, 0, "\\"], - [5566, 0, " "], - [5567, 0, "\\"], - [5568, 0, "v"], - [5569, 0, "e"], - [5570, 0, "r"], - [5571, 0, "b"], - [5572, 0, "{"], - [5573, 0, "\""], - [5574, 0, "r"], - [5575, 0, "e"], - [5576, 0, "d"], - [5577, 0, "\""], - [5578, 0, ":"], - [5579, 0, " "], - [5580, 0, "\""], - [5581, 0, "#"], - [5582, 0, "f"], - [5583, 0, "f"], - [5584, 0, "0"], - [5585, 0, "0"], - [5586, 0, "0"], - [5587, 0, "0"], - [5588, 0, "\""], - [5572, 1], - [5572, 0, "|"], - [5589, 0, "}"], - [5590, 0, "}"], - [5591, 0, "|"], - [5592, 0, "}"], - [5526, 0, "\\"], - [5527, 0, "m"], - [5528, 0, "b"], - [5529, 0, "o"], - [5530, 0, "x"], - [5531, 0, "{"], - [5531, 1], - [5530, 1], - [5529, 1], - [5528, 1], - [5527, 1], - [5526, 1], - [5506, 0, " "], - [5507, 0, "["], - [5508, 0, "m"], - [5509, 0, "a"], - [5510, 0, "t"], - [5511, 0, "r"], - [5512, 0, "i"], - [5513, 0, "x"], - [5514, 0, "]"], - [5523, 1], - [5449, 1], - [5599, 0, " "], - [5600, 0, "\\"], - [5601, 0, "\\"], - [5602, 0, " "], - [5603, 1], - [5533, 0, "\\"], - [5534, 0, "n"], - [5535, 0, "o"], - [5536, 0, "d"], - [5537, 0, "e"], - [5538, 0, " "], - [5539, 0, "{"], - [5577, 0, "}"], - [5582, 0, "\\"], - [5583, 0, "n"], - [5584, 0, "o"], - [5585, 0, "d"], - [5586, 0, "e"], - [5587, 0, "{"], - [5613, 0, "}"], - [5533, 0, "\n"], - [5534, 0, " "], - [5535, 0, " "], - [5536, 0, " "], - [5537, 0, " "], - [5586, 0, "\n"], - [5587, 0, " "], - [5588, 0, " "], - [5589, 0, " "], - [5596, 0, " "], - [5627, 1], - [5627, 0, "\n"], - [5545, 0, "a"], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5546, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 1], - [5562, 0, "b"], - [5547, 0, ";"], - [5565, 0, ";"], - [5545, 1], - [5545, 0, "\\"], - [5546, 0, "v"], - [5547, 0, "e"], - [5548, 0, "r"], - [5549, 0, "b"], - [5550, 0, "|"], - [5551, 0, "{"], - [5552, 0, "\""], - [5553, 0, "c"], - [5554, 0, "o"], - [5555, 0, "l"], - [5556, 0, "o"], - [5557, 0, "r"], - [5558, 0, "s"], - [5559, 0, "\""], - [5560, 0, ":"], - [5561, 0, " "], - [5562, 0, "{"], - [5563, 0, "\""], - [5564, 0, "r"], - [5565, 0, "e"], - [5566, 0, "d"], - [5566, 1], - [5565, 1], - [5564, 1], - [5564, 0, "b"], - [5565, 0, "l"], - [5566, 0, "u"], - [5567, 0, "e"], - [5568, 0, "\""], - [5569, 0, ":"], - [5570, 0, " "], - [5571, 0, "\""], - [5572, 0, "#"], - [5573, 0, "0"], - [5574, 0, "0"], - [5575, 0, "0"], - [5576, 0, "0"], - [5577, 0, "f"], - [5578, 0, "f"], - [5579, 0, "\""], - [5580, 0, ","], - [5581, 0, "|"], - [5599, 1], - [5599, 0, "\\"], - [5600, 0, "v"], - [5601, 0, "e"], - [5602, 0, "r"], - [5603, 0, "b"], - [5604, 0, "|"], - [5605, 0, "{"], - [5605, 1], - [5605, 0, "\""], - [5606, 0, "r"], - [5607, 0, "e"], - [5608, 0, "d"], - [5609, 0, ":"], - [5609, 1], - [5609, 0, "\""], - [5610, 0, ":"], - [5611, 0, " "], - [5612, 0, "\""], - [5613, 0, "#"], - [5614, 0, "f"], - [5615, 0, "f"], - [5616, 0, "0"], - [5617, 0, "0"], - [5618, 0, "0"], - [5619, 0, "0"], - [5620, 0, "\""], - [5621, 0, "}"], - [5622, 0, "}"], - [5623, 0, "|"], - [5632, 0, "\n"], - [5633, 0, "\\"], - [5634, 0, "n"], - [5635, 0, "o"], - [5636, 0, "d"], - [5637, 0, "e"], - [5638, 0, " "], - [5639, 0, "("], - [5640, 0, "r"], - [5641, 0, "i"], - [5642, 0, "g"], - [5643, 0, "h"], - [5644, 0, "t"], - [5645, 0, "1"], - [5646, 0, ")"], - [5647, 0, " "], - [5648, 0, "a"], - [5649, 0, "t"], - [5650, 0, " "], - [5651, 0, "("], - [5652, 0, "1"], - [5653, 0, "0"], - [5654, 0, ","], - [5655, 0, "2"], - [5655, 1], - [5655, 0, "3"], - [5656, 0, ")"], - [5657, 0, " "], - [5658, 0, "{"], - [5659, 0, "\\"], - [5660, 0, "v"], - [5661, 0, "e"], - [5662, 0, "r"], - [5663, 0, "b"], - [5664, 0, "|"], - [5665, 0, "{"], - [5666, 0, "}"], - [5667, 0, "|"], - [5668, 0, "}"], - [5669, 0, ";"], - [5670, 0, "\n"], - [5671, 0, "\\"], - [5672, 0, "n"], - [5673, 0, "o"], - [5674, 0, "d"], - [5675, 0, "e"], - [5676, 0, " "], - [5677, 0, "("], - [5678, 0, "r"], - [5679, 0, "i"], - [5680, 0, "g"], - [5681, 0, "h"], - [5682, 0, "t"], - [5683, 0, "2"], - [5684, 0, ")"], - [5685, 0, " "], - [5686, 0, "a"], - [5687, 0, "t"], - [5688, 0, " "], - [5689, 0, "("], - [5690, 0, "1"], - [5691, 0, "0"], - [5692, 0, ","], - [5693, 0, "2"], - [5694, 0, ")"], - [5695, 0, " "], - [5696, 0, "{"], - [5697, 0, "\\"], - [5698, 0, "v"], - [5699, 0, "e"], - [5700, 0, "r"], - [5701, 0, "b"], - [5702, 0, "|"], - [5703, 0, "{"], - [5704, 0, "\""], - [5705, 0, "c"], - [5706, 0, "o"], - [5707, 0, "l"], - [5708, 0, "o"], - [5709, 0, "r"], - [5710, 0, "s"], - [5711, 0, "\""], - [5712, 0, ":"], - [5713, 0, " "], - [5714, 0, "\""], - [5715, 0, "#"], - [5715, 1], - [5714, 1], - [5714, 0, "{"], - [5715, 0, "\""], - [5716, 0, "g"], - [5717, 0, "r"], - [5718, 0, "e"], - [5719, 0, "e"], - [5720, 0, "n"], - [5721, 0, "\""], - [5722, 0, ":"], - [5723, 0, " "], - [5724, 0, "\""], - [5725, 0, "#"], - [5726, 0, "0"], - [5727, 0, "0"], - [5728, 0, "f"], - [5729, 0, "f"], - [5730, 0, "0"], - [5731, 0, "0"], - [5732, 0, "\""], - [5733, 0, "}"], - [5734, 0, "}"], - [5735, 0, "|"], - [5736, 0, "}"], - [5737, 0, ";"], - [5453, 1], - [5453, 0, "4"], - [5652, 1], - [5652, 1], - [5652, 0, "8"], - [5689, 1], - [5689, 1], - [5689, 0, "8"], - [5736, 0, "\n"], - [5737, 0, "\\"], - [5738, 0, "n"], - [5739, 0, "o"], - [5740, 0, "d"], - [5741, 0, "e"], - [5742, 0, " "], - [5743, 0, "("], - [5744, 0, "l"], - [5745, 0, "e"], - [5746, 0, "f"], - [5747, 0, "t"], - [5748, 0, "2"], - [5749, 0, ")"], - [5750, 0, " "], - [5751, 0, "a"], - [5752, 0, "t"], - [5753, 0, " "], - [5754, 0, "("], - [5755, 0, "0"], - [5756, 0, ","], - [5757, 0, "0"], - [5758, 0, ")"], - [5759, 0, " "], - [5760, 0, "{"], - [5761, 0, "\\"], - [5762, 0, "v"], - [5763, 0, "e"], - [5764, 0, "r"], - [5765, 0, "b"], - [5766, 0, "|"], - [5767, 0, "{"], - [5768, 0, "\""], - [5769, 0, "c"], - [5770, 0, "o"], - [5771, 0, "l"], - [5772, 0, "o"], - [5773, 0, "r"], - [5774, 0, "s"], - [5775, 0, "\""], - [5776, 0, ":"], - [5777, 0, " "], - [5778, 0, "{"], - [5779, 0, "\""], - [5780, 0, "r"], - [5781, 0, "e"], - [5782, 0, "d"], - [5783, 0, "\""], - [5784, 0, ":"], - [5785, 0, " "], - [5786, 0, "\""], - [5787, 0, "#"], - [5788, 0, "f"], - [5789, 0, "f"], - [5790, 0, "0"], - [5791, 0, "0"], - [5792, 0, "0"], - [5793, 0, "0"], - [5794, 0, "\""], - [5795, 0, ","], - [5796, 0, " "], - [5797, 0, "\""], - [5798, 0, "g"], - [5799, 0, "r"], - [5800, 0, "e"], - [5801, 0, "e"], - [5802, 0, "n"], - [5803, 0, "\""], - [5804, 0, ":"], - [5805, 0, " "], - [5806, 0, "\""], - [5807, 0, "#"], - [5808, 0, "0"], - [5809, 0, "0"], - [5810, 0, "f"], - [5811, 0, "f"], - [5812, 0, "0"], - [5813, 0, "0"], - [5814, 0, "\""], - [5815, 0, "}"], - [5816, 0, "}"], - [5817, 0, "|"], - [5818, 0, "}"], - [5819, 0, ";"], - [5742, 0, " "], - [5743, 0, "["], - [5744, 0, "m"], - [5745, 0, "a"], - [5746, 0, "t"], - [5747, 0, "r"], - [5748, 0, "i"], - [5749, 0, "x"], - [5750, 0, "]"], - [5770, 0, "\n"], - [5771, 0, " "], - [5772, 0, " "], - [5773, 0, " "], - [5774, 0, " "], - [5775, 0, "\\"], - [5776, 0, "n"], - [5777, 0, "o"], - [5778, 0, "d"], - [5779, 0, "e"], - [5780, 0, " "], - [5781, 0, "{"], - [5817, 0, "|"], - [5818, 0, "}"], - [5819, 0, ";"], - [5820, 0, "\n"], - [5821, 0, " "], - [5822, 0, " "], - [5823, 0, " "], - [5824, 0, " "], - [5825, 0, "\\"], - [5826, 0, "n"], - [5827, 0, "o"], - [5828, 0, "d"], - [5829, 0, "e"], - [5831, 0, "{"], - [5832, 0, "\\"], - [5833, 0, "v"], - [5834, 0, "e"], - [5835, 0, "r"], - [5836, 0, "b"], - [5837, 0, "|"], - [5861, 0, "\n"], - [5862, 0, "}"], - [5863, 0, ";"], - [5864, 0, "\n"], - [5865, 0, "\\"], - [5866, 0, "n"], - [5867, 0, "o"], - [5868, 0, "d"], - [5869, 0, "e"], - [5870, 0, " "], - [5871, 0, "["], - [5872, 0, "m"], - [5873, 0, "a"], - [5874, 0, "t"], - [5875, 0, "r"], - [5876, 0, "i"], - [5877, 0, "x"], - [5878, 0, "]"], - [5879, 0, " "], - [5880, 0, "("], - [5881, 0, "r"], - [5882, 0, "i"], - [5883, 0, "g"], - [5884, 0, "h"], - [5885, 0, "t"], - [5886, 0, "3"], - [5887, 0, ")"], - [5888, 0, " "], - [5889, 0, "a"], - [5890, 0, "t"], - [5891, 0, " "], - [5892, 0, "("], - [5893, 0, "8"], - [5894, 0, ","], - [5895, 0, " "], - [5895, 1], - [5895, 0, "0"], - [5896, 0, ")"], - [5897, 0, " "], - [5898, 0, "{"], - [5899, 0, "\n"], - [5900, 0, " "], - [5901, 0, " "], - [5902, 0, " "], - [5903, 0, " "], - [5904, 0, "\\"], - [5905, 0, "n"], - [5906, 0, "o"], - [5907, 0, "d"], - [5908, 0, "e"], - [5909, 0, " "], - [5910, 0, "{"], - [5911, 0, "\\"], - [5912, 0, "v"], - [5913, 0, "e"], - [5914, 0, "r"], - [5915, 0, "b"], - [5916, 0, "|"], - [5917, 0, "{"], - [5918, 0, "\""], - [5919, 0, "c"], - [5920, 0, "o"], - [5921, 0, "l"], - [5922, 0, "o"], - [5923, 0, "r"], - [5924, 0, "s"], - [5925, 0, "\""], - [5926, 0, ":"], - [5927, 0, " "], - [5928, 0, "{"], - [5929, 0, "\""], - [5930, 0, "r"], - [5931, 0, "e"], - [5932, 0, "d"], - [5933, 0, "\""], - [5934, 0, ":"], - [5935, 0, " "], - [5936, 0, "\""], - [5937, 0, "#"], - [5938, 0, "f"], - [5939, 0, "f"], - [5940, 0, "0"], - [5941, 0, "0"], - [5942, 0, "0"], - [5943, 0, "0"], - [5944, 0, "\""], - [5945, 0, ","], - [5946, 0, "}"], - [5946, 1], - [5946, 0, "|"], - [5947, 0, "}"], - [5948, 0, ";"], - [5949, 0, "\n"], - [5950, 0, " "], - [5951, 0, " "], - [5952, 0, " "], - [5953, 0, " "], - [5954, 0, "\\"], - [5955, 0, "n"], - [5956, 0, "o"], - [5957, 0, "d"], - [5958, 0, "e"], - [5959, 0, " "], - [5960, 0, "{"], - [5961, 0, "\\"], - [5962, 0, "v"], - [5963, 0, "e"], - [5964, 0, "r"], - [5965, 0, "b"], - [5966, 0, "|"], - [5967, 0, "\""], - [5968, 0, "g"], - [5969, 0, "r"], - [5970, 0, "e"], - [5971, 0, "e"], - [5972, 0, "n"], - [5973, 0, "\""], - [5974, 0, ":"], - [5975, 0, " "], - [5976, 0, "\""], - [5977, 0, "#"], - [5978, 0, "0"], - [5979, 0, "0"], - [5980, 0, "f"], - [5981, 0, "f"], - [5982, 0, "0"], - [5983, 0, "0"], - [5984, 0, "\""], - [5985, 0, "}"], - [5986, 0, "}"], - [5987, 0, "|"], - [5988, 0, "}"], - [5989, 0, ";"], - [5990, 0, "\n"], - [5991, 0, "}"], - [5992, 0, ";"], - [5994, 0, "\n"], - [5994, 1], - [5991, 0, "%"], - [5950, 0, "%"], - [5900, 0, "%"], - [5865, 0, "%"], - [5820, 0, " "], - [5821, 0, "\\"], - [5822, 0, "\\"], - [5864, 0, " "], - [5865, 0, "\\"], - [5866, 0, "\\"], - [5871, 1], - [5906, 1], - [5956, 1], - [5997, 1], - [5996, 0, " "], - [5997, 0, "'"], - [5998, 0, "\\"], - [5998, 1], - [5997, 1], - [5997, 0, "\\"], - [5998, 0, "\\"], - [5955, 0, " "], - [5956, 0, "\\"], - [5957, 0, "\\"], - [6005, 0, "\n"], - [6006, 0, "\\"], - [6007, 0, "d"], - [6008, 0, "r"], - [6009, 0, "a"], - [6010, 0, "w"], - [6011, 0, " "], - [6012, 0, "["], - [6013, 0, "t"], - [6014, 0, "h"], - [6015, 0, "i"], - [6016, 0, "c"], - [6017, 0, "k"], - [6018, 0, ","], - [6019, 0, "-"], - [6020, 0, ">"], - [6021, 0, "]"], - [6022, 0, " "], - [6023, 0, "("], - [6024, 0, "s"], - [6025, 0, "t"], - [6026, 0, "a"], - [6027, 0, "r"], - [6028, 0, "t"], - [6029, 0, ")"], - [6030, 0, " "], - [6031, 0, "t"], - [6032, 0, "o"], - [6033, 0, " "], - [6034, 0, "n"], - [6035, 0, "o"], - [6036, 0, "d"], - [6037, 0, "e"], - [6038, 0, " "], - [6039, 0, "["], - [6040, 0, "a"], - [6041, 0, "b"], - [6042, 0, "o"], - [6043, 0, "v"], - [6044, 0, "e"], - [6045, 0, ","], - [6046, 0, "s"], - [6047, 0, "l"], - [6048, 0, "o"], - [6049, 0, "p"], - [6050, 0, "e"], - [6051, 0, "d"], - [6052, 0, "]"], - [6053, 0, " "], - [6054, 0, "{"], - [6055, 0, "\\"], - [6056, 0, "f"], - [6057, 0, "o"], - [6058, 0, "o"], - [6059, 0, "t"], - [6060, 0, "n"], - [6061, 0, "o"], - [6062, 0, "t"], - [6063, 0, "e"], - [6064, 0, "s"], - [6065, 0, "i"], - [6066, 0, "z"], - [6067, 0, "e"], - [6068, 0, " "], - [6069, 0, "$"], - [6070, 0, "\\"], - [6071, 0, "t"], - [6072, 0, "e"], - [6073, 0, "x"], - [6074, 0, "t"], - [6075, 0, "{"], - [6076, 0, "d"], - [6077, 0, "o"], - [6078, 0, "c"], - [6079, 0, "}"], - [6080, 0, "["], - [6080, 1], - [6079, 1], - [6078, 1], - [6077, 1], - [6076, 1], - [6075, 1], - [6074, 1], - [6073, 1], - [6072, 1], - [6071, 1], - [6070, 1], - [6069, 1], - [6069, 0, "d"], - [6070, 0, "o"], - [6071, 0, "c"], - [6072, 0, "["], - [6073, 0, "`"], - [6074, 0, "`"], - [6075, 0, "c"], - [6076, 0, "o"], - [6077, 0, "l"], - [6078, 0, "o"], - [6079, 0, "r"], - [6080, 0, "s"], - [6081, 0, "'"], - [6082, 0, "'"], - [6083, 0, "]"], - [6084, 0, "}"], - [6085, 0, " "], - [6086, 0, "("], - [6087, 0, "l"], - [6088, 0, "e"], - [6089, 0, "f"], - [6090, 0, "t"], - [6091, 0, "1"], - [6092, 0, ")"], - [6093, 0, ";"], - [6051, 1], - [6050, 1], - [6049, 1], - [6048, 1], - [6047, 1], - [6046, 1], - [6045, 1], - [6044, 1], - [6043, 1], - [6042, 1], - [6041, 1], - [6040, 1], - [6040, 0, "l"], - [6041, 0, "e"], - [6042, 0, "f"], - [6043, 0, "t"], - [6076, 0, "["], - [6077, 0, "`"], - [6078, 0, "`"], - [6079, 0, "r"], - [6080, 0, "e"], - [6081, 0, "d"], - [6082, 0, "'"], - [6083, 0, "'"], - [6084, 0, "]"], - [6085, 0, " "], - [6086, 0, ":"], - [6087, 0, "="], - [6088, 0, " "], - [6089, 0, "`"], - [6090, 0, "`"], - [6091, 0, "\\"], - [6092, 0, "#"], - [6093, 0, "f"], - [6094, 0, "f"], - [6095, 0, "0"], - [6096, 0, "0"], - [6097, 0, "0"], - [6098, 0, "0"], - [6099, 0, "'"], - [6100, 0, "'"], - [6101, 0, ";"], - [6102, 0, "\\"], - [6102, 1], - [6102, 0, "~"], - [6103, 0, "~"], - [6103, 1], - [6102, 1], - [6102, 0, "\\"], - [6103, 0, "h"], - [6104, 0, "s"], - [6105, 0, "p"], - [6106, 0, "a"], - [6107, 0, "c"], - [6108, 0, "e"], - [6109, 0, "{"], - [6110, 0, "1"], - [6111, 0, "e"], - [6112, 0, "m"], - [6113, 0, "}"], - [6113, 1], - [6112, 1], - [6111, 1], - [6110, 1], - [6109, 1], - [6108, 1], - [6107, 1], - [6106, 1], - [6105, 1], - [6104, 1], - [6103, 1], - [6103, 0, "q"], - [6104, 0, "u"], - [6105, 0, "a"], - [6106, 0, "d"], - [6106, 1], - [6105, 1], - [6104, 1], - [6103, 1], - [6103, 0, "h"], - [6104, 0, "s"], - [6105, 0, "p"], - [6106, 0, "a"], - [6107, 0, "c"], - [6108, 0, "e"], - [6109, 0, "{"], - [6110, 0, "1"], - [6111, 0, "e"], - [6112, 0, "m"], - [6113, 0, "}"], - [6113, 1], - [6112, 1], - [6111, 1], - [6110, 1], - [6109, 1], - [6108, 1], - [6107, 1], - [6106, 1], - [6105, 1], - [6104, 1], - [6103, 1], - [6102, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 1], - [4027, 0, "l"], - [4028, 0, "e"], - [4029, 0, "f"], - [4030, 0, "t"], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 1], - [4138, 0, "r"], - [4139, 0, "i"], - [4140, 0, "g"], - [4141, 0, "h"], - [4142, 0, "t"], - [3768, 1], - [3768, 0, "3"], - [4031, 0, ","], - [4032, 0, " "], - [4033, 0, "i"], - [4034, 0, "n"], - [4034, 1], - [4033, 1], - [4032, 1], - [4031, 1], - [4031, 0, ","], - [4032, 0, "i"], - [4033, 0, "n"], - [4034, 0, "n"], - [4035, 0, "e"], - [4036, 0, "r"], - [4037, 0, " "], - [4038, 0, "s"], - [4039, 0, "e"], - [4040, 0, "p"], - [4041, 0, "="], - [4042, 0, "5"], - [4043, 0, "p"], - [4044, 0, "t"], - [4157, 0, ","], - [4158, 0, "i"], - [4159, 0, "n"], - [4160, 0, "n"], - [4161, 0, "e"], - [4162, 0, "r"], - [4163, 0, " "], - [4164, 0, "s"], - [4165, 0, "e"], - [4166, 0, "p"], - [4167, 0, "="], - [4168, 0, "5"], - [4169, 0, "p"], - [4170, 0, "t"], - [4170, 1], - [4169, 1], - [4168, 1], - [4168, 0, "1"], - [4169, 0, "e"], - [4170, 0, "m"], - [4044, 1], - [4043, 1], - [4042, 1], - [4042, 0, "1"], - [4043, 0, "e"], - [4044, 0, "m"], - [4044, 1], - [4043, 1], - [4042, 1], - [4042, 0, "8"], - [4043, 0, "p"], - [4044, 0, "t"], - [4170, 1], - [4169, 1], - [4168, 1], - [4168, 0, "8"], - [4169, 0, "p"], - [4170, 0, "t"], - [6057, 0, ","], - [6058, 0, "i"], - [6059, 0, "n"], - [6060, 0, "n"], - [6061, 0, "e"], - [6062, 0, "r"], - [6063, 0, " "], - [6064, 0, "s"], - [6065, 0, "e"], - [6066, 0, "p"], - [6067, 0, "="], - [6068, 0, "8"], - [6069, 0, "p"], - [6070, 0, "t"], - [6068, 1], - [6068, 0, "1"], - [6069, 0, "2"], - [6131, 0, "\n"], - [6132, 0, "\\"], - [6133, 0, "d"], - [6133, 1], - [6132, 1], - [6131, 1], - [6140, 0, "\n"], - [6141, 0, "\\"], - [6142, 0, "d"], - [6143, 0, "r"], - [6144, 0, "a"], - [6145, 0, "w"], - [6146, 0, " "], - [6147, 0, "["], - [6148, 0, "t"], - [6149, 0, "h"], - [6150, 0, "i"], - [6151, 0, "c"], - [6152, 0, "k"], - [6153, 0, ","], - [6154, 0, "-"], - [6155, 0, "."], - [6155, 1], - [6155, 0, ">"], - [6156, 0, "]"], - [6157, 0, " "], - [6158, 0, "("], - [6159, 0, "s"], - [6160, 0, "t"], - [6161, 0, "a"], - [6162, 0, "r"], - [6163, 0, "t"], - [6164, 0, ")"], - [6165, 0, " "], - [6166, 0, "t"], - [6167, 0, "o"], - [6168, 0, " "], - [6169, 0, "n"], - [6170, 0, "o"], - [6171, 0, "d"], - [6172, 0, "e"], - [6173, 0, " "], - [6174, 0, "["], - [6175, 0, "r"], - [6176, 0, "i"], - [6177, 0, "g"], - [6178, 0, "h"], - [6179, 0, "t"], - [6180, 0, ","], - [6181, 0, "i"], - [6182, 0, "n"], - [6183, 0, "n"], - [6184, 0, "e"], - [6185, 0, "r"], - [6186, 0, " "], - [6187, 0, "s"], - [6188, 0, "e"], - [6189, 0, "p"], - [6190, 0, "="], - [6191, 0, "1"], - [6192, 0, "2"], - [6193, 0, "p"], - [6194, 0, "t"], - [6195, 0, "]"], - [6196, 0, " "], - [6197, 0, "{"], - [6198, 0, "\\"], - [6199, 0, "f"], - [6200, 0, "o"], - [6201, 0, "o"], - [6202, 0, "t"], - [6203, 0, "n"], - [6204, 0, "o"], - [6205, 0, "t"], - [6206, 0, "e"], - [6207, 0, "s"], - [6208, 0, "i"], - [6209, 0, "z"], - [6210, 0, "e"], - [6211, 0, " "], - [6212, 0, "d"], - [6213, 0, "o"], - [6214, 0, "c"], - [6215, 0, "["], - [6216, 0, "`"], - [6217, 0, "`"], - [6218, 0, "c"], - [6219, 0, "o"], - [6220, 0, "l"], - [6221, 0, "o"], - [6222, 0, "r"], - [6223, 0, "s"], - [6224, 0, "'"], - [6225, 0, "'"], - [6226, 0, "]"], - [6227, 0, "."], - [6228, 0, "d"], - [6229, 0, "e"], - [6230, 0, "l"], - [6231, 0, "e"], - [6232, 0, "t"], - [6233, 0, "e"], - [6234, 0, ";"], - [6235, 0, "}"], - [6236, 0, " "], - [6237, 0, "("], - [6238, 0, "r"], - [6239, 0, "i"], - [6240, 0, "g"], - [6241, 0, "h"], - [6242, 0, "t"], - [6243, 0, "1"], - [6244, 0, ")"], - [6245, 0, ";"], - [6246, 0, "\n"], - [6247, 0, "\\"], - [6248, 0, "d"], - [6249, 0, "r"], - [6250, 0, "a"], - [6251, 0, "w"], - [6252, 0, " "], - [6253, 0, "["], - [6254, 0, "t"], - [6255, 0, "h"], - [6256, 0, "i"], - [6257, 0, "c"], - [6258, 0, "k"], - [6259, 0, ","], - [6260, 0, "-"], - [6261, 0, ">"], - [6262, 0, "]"], - [6263, 0, " "], - [6264, 0, "("], - [6265, 0, "l"], - [6266, 0, "e"], - [6267, 0, "f"], - [6268, 0, "t"], - [6269, 0, "1"], - [6270, 0, ")"], - [6271, 0, " "], - [6272, 0, "t"], - [6273, 0, "o"], - [6274, 0, " "], - [6275, 0, "n"], - [6276, 0, "o"], - [6277, 0, "d"], - [6278, 0, "e"], - [6279, 0, " "], - [6280, 0, "["], - [6281, 0, "r"], - [6282, 0, "i"], - [6283, 0, "g"], - [6284, 0, "h"], - [6285, 0, "t"], - [6286, 0, "]"], - [6287, 0, " "], - [6288, 0, "{"], - [6289, 0, "\\"], - [6290, 0, "f"], - [6291, 0, "o"], - [6292, 0, "o"], - [6293, 0, "t"], - [6294, 0, "n"], - [6295, 0, "o"], - [6296, 0, "t"], - [6297, 0, "e"], - [6298, 0, "s"], - [6299, 0, "i"], - [6300, 0, "z"], - [6301, 0, "e"], - [6302, 0, " "], - [6303, 0, "d"], - [6304, 0, "o"], - [6305, 0, "c"], - [6306, 0, "["], - [6307, 0, "`"], - [6308, 0, "`"], - [6309, 0, "c"], - [6310, 0, "o"], - [6311, 0, "l"], - [6312, 0, "o"], - [6313, 0, "r"], - [6314, 0, "s"], - [6315, 0, "'"], - [6316, 0, "'"], - [6317, 0, "]"], - [6318, 0, "."], - [6318, 1], - [6318, 0, "["], - [6319, 0, "`"], - [6320, 0, "`"], - [6321, 0, "g"], - [6322, 0, "r"], - [6323, 0, "e"], - [6324, 0, "e"], - [6325, 0, "n"], - [6326, 0, "'"], - [6327, 0, "'"], - [6328, 0, "]"], - [6329, 0, " "], - [6330, 0, "="], - [6331, 0, " "], - [6331, 1], - [6330, 1], - [6330, 0, ":"], - [6331, 0, "="], - [6332, 0, " "], - [6333, 0, "`"], - [6334, 0, "`"], - [6335, 0, "\\"], - [6335, 1], - [6335, 0, "\\"], - [6336, 0, "#"], - [6337, 0, "0"], - [6338, 0, "0"], - [6339, 0, "f"], - [6340, 0, "f"], - [6341, 0, "0"], - [6342, 0, "0"], - [6343, 0, "'"], - [6344, 0, "'"], - [6345, 0, ";"], - [6346, 0, "}"], - [6347, 0, " "], - [6348, 0, "("], - [6349, 0, "r"], - [6350, 0, "i"], - [6351, 0, "g"], - [6352, 0, "h"], - [6353, 0, "t"], - [6354, 0, "2"], - [6355, 0, ")"], - [6356, 0, ";"], - [6268, 1], - [6267, 1], - [6266, 1], - [6265, 1], - [6265, 0, "r"], - [6266, 0, "i"], - [6267, 0, "g"], - [6268, 0, "h"], - [6269, 0, "t"], - [4188, 1], - [4188, 1], - [4188, 1], - [4188, 1], - [4188, 1], - [4188, 1], - [4188, 1], - [4191, 1], - [4192, 1], - [4192, 1], - [4192, 1], - [4192, 1], - [4192, 1], - [4192, 1], - [4199, 1], - [4209, 1], - [4208, 1], - [4207, 1], - [4206, 1], - [4205, 1], - [4204, 1], - [4210, 1], - [4087, 1], - [4092, 1], - [4092, 1], - [4092, 1], - [4092, 1], - [4092, 1], - [4092, 1], - [4098, 1], - [4098, 1], - [4201, 1], - [4079, 1], - [4078, 1], - [4077, 1], - [4076, 1], - [4075, 1], - [4074, 1], - [4072, 1], - [4068, 1], - [4067, 1], - [4066, 1], - [4065, 1], - [4064, 1], - [4063, 1], - [4062, 1], - [5621, 1], - [5621, 0, "2"], - [5622, 0, "."], - [5623, 0, "5"], - [5660, 1], - [5660, 0, "1"], - [5661, 0, "."], - [5662, 0, "5"], - [5623, 1], - [5622, 1], - [5621, 1], - [5621, 0, "3"], - [5422, 1], - [5422, 0, "5"], - [6314, 0, "\n"], - [6315, 0, "\\"], - [6316, 0, "d"], - [6317, 0, "r"], - [6318, 0, "a"], - [6319, 0, "w"], - [6320, 0, " "], - [6321, 0, "["], - [6322, 0, "t"], - [6323, 0, "h"], - [6324, 0, "i"], - [6325, 0, "c"], - [6326, 0, "k"], - [6327, 0, ","], - [6328, 0, "-"], - [6329, 0, ">"], - [6330, 0, "]"], - [6331, 0, " "], - [6332, 0, "("], - [6333, 0, "l"], - [6334, 0, "e"], - [6335, 0, "f"], - [6336, 0, "t"], - [6337, 0, "1"], - [6338, 0, ")"], - [6339, 0, " "], - [6340, 0, "t"], - [6341, 0, "o"], - [6342, 0, " "], - [6343, 0, "n"], - [6344, 0, "o"], - [6345, 0, "d"], - [6346, 0, "e"], - [6347, 0, " "], - [6348, 0, "["], - [6349, 0, "e"], - [6350, 0, "f"], - [6350, 1], - [6349, 1], - [6349, 0, "l"], - [6350, 0, "e"], - [6351, 0, "f"], - [6352, 0, "t"], - [6353, 0, "]"], - [6354, 0, " "], - [6355, 0, "{"], - [6356, 0, "\\"], - [6357, 0, "f"], - [6358, 0, "o"], - [6359, 0, "o"], - [6360, 0, "t"], - [6361, 0, "n"], - [6362, 0, "o"], - [6363, 0, "t"], - [6364, 0, "e"], - [6365, 0, "s"], - [6366, 0, "i"], - [6367, 0, "z"], - [6368, 0, "e"], - [6369, 0, " "], - [6370, 0, "y"], - [6371, 0, "i"], - [6372, 0, "e"], - [6373, 0, "l"], - [6374, 0, "d"], - [6375, 0, ";"], - [6376, 0, "]"], - [6376, 1], - [6376, 0, "}"], - [6377, 0, " "], - [6378, 0, "("], - [6379, 0, "l"], - [6380, 0, "e"], - [6381, 0, "f"], - [6382, 0, "t"], - [6383, 0, "2"], - [6384, 0, ")"], - [6385, 0, ";"], - [6386, 0, "\n"], - [6387, 0, "\\"], - [6388, 0, "d"], - [6389, 0, "r"], - [6390, 0, "a"], - [6391, 0, "w"], - [6392, 0, " "], - [6393, 0, "["], - [6394, 0, "t"], - [6395, 0, "h"], - [6396, 0, "i"], - [6397, 0, "c"], - [6398, 0, "k"], - [6399, 0, ","], - [6400, 0, "-"], - [6401, 0, ">"], - [6402, 0, "]"], - [6403, 0, " "], - [6404, 0, "("], - [6405, 0, "r"], - [6406, 0, "i"], - [6407, 0, "g"], - [6408, 0, "h"], - [6409, 0, "t"], - [6410, 0, "1"], - [6410, 1], - [6410, 0, "2"], - [6411, 0, ")"], - [6412, 0, " "], - [6413, 0, "t"], - [6414, 0, "o"], - [6415, 0, " "], - [6416, 0, "n"], - [6417, 0, "o"], - [6418, 0, "d"], - [6419, 0, "e"], - [6420, 0, " "], - [6421, 0, "["], - [6422, 0, "r"], - [6423, 0, "i"], - [6424, 0, "g"], - [6425, 0, "h"], - [6426, 0, "t"], - [6427, 0, "]"], - [6428, 0, " "], - [6429, 0, "{"], - [6430, 0, "\\"], - [6431, 0, "f"], - [6432, 0, "o"], - [6433, 0, "o"], - [6434, 0, "t"], - [6435, 0, "n"], - [6436, 0, "o"], - [6437, 0, "t"], - [6438, 0, "e"], - [6439, 0, "s"], - [6440, 0, "i"], - [6441, 0, "z"], - [6442, 0, "e"], - [6443, 0, " "], - [6444, 0, "y"], - [6445, 0, "i"], - [6446, 0, "e"], - [6447, 0, "l"], - [6448, 0, "d"], - [6449, 0, ";"], - [6450, 0, "]"], - [6450, 1], - [6450, 0, "\n"], - [6450, 1], - [6450, 0, "}"], - [6451, 0, " "], - [6452, 0, "("], - [6453, 0, "r"], - [6454, 0, "i"], - [6455, 0, "g"], - [6456, 0, "h"], - [6457, 0, "t"], - [6458, 0, "3"], - [6459, 0, ")"], - [6460, 0, ";"], - [6461, 0, "\n"], - [6462, 0, "\\"], - [6463, 0, "d"], - [6464, 0, "r"], - [6465, 0, "a"], - [6466, 0, "w"], - [6467, 0, " "], - [6468, 0, "["], - [6469, 0, "t"], - [6470, 0, "h"], - [6471, 0, "i"], - [6472, 0, "c"], - [6473, 0, "k"], - [6474, 0, ","], - [6475, 0, "-"], - [6476, 0, ">"], - [6477, 0, "]"], - [6478, 0, " "], - [6479, 0, "("], - [6480, 0, "l"], - [6481, 0, "e"], - [6482, 0, "f"], - [6483, 0, "t"], - [6484, 0, "1"], - [6485, 0, ")"], - [6486, 0, " "], - [6487, 0, "t"], - [6488, 0, "o"], - [6489, 0, " "], - [6490, 0, "("], - [6491, 0, "r"], - [6492, 0, "i"], - [6493, 0, "g"], - [6494, 0, "h"], - [6495, 0, "t"], - [6496, 0, "3"], - [6497, 0, ")"], - [6498, 0, ";"], - [6499, 0, "\n"], - [6500, 0, "\\"], - [6501, 0, "d"], - [6502, 0, "r"], - [6503, 0, "a"], - [6504, 0, "w"], - [6505, 0, " "], - [6506, 0, "["], - [6507, 0, "t"], - [6508, 0, "h"], - [6509, 0, "i"], - [6510, 0, "c"], - [6511, 0, "k"], - [6512, 0, ","], - [6513, 0, "-"], - [6514, 0, ">"], - [6515, 0, "]"], - [6516, 0, " "], - [6517, 0, "("], - [6518, 0, "r"], - [6519, 0, "i"], - [6520, 0, "g"], - [6521, 0, "h"], - [6522, 0, "t"], - [6523, 0, "2"], - [6524, 0, ")"], - [6525, 0, " "], - [6526, 0, "t"], - [6527, 0, "o"], - [6528, 0, " "], - [6529, 0, "("], - [6530, 0, "A"], - [6531, 0, "l"], - [6532, 0, "e"], - [6533, 0, "f"], - [6533, 1], - [6532, 1], - [6531, 1], - [6530, 1], - [6530, 0, "l"], - [6531, 0, "e"], - [6532, 0, "f"], - [6533, 0, "t"], - [6534, 0, "2"], - [6535, 0, ")"], - [6536, 0, ";"], - [5422, 1], - [5422, 0, "4"], - [6148, 1], - [6148, 0, "8"], - [6189, 1], - [6188, 1], - [6187, 1], - [6186, 1], - [6185, 1], - [6184, 1], - [6183, 1], - [6183, 0, " "], - [6184, 0, "="], - [6185, 0, " "], - [6186, 0, "\\"], - [6187, 0, "{"], - [6188, 0, "\\"], - [6189, 0, "}"], - [5632, 0, "\""], - [5633, 0, "c"], - [5634, 0, "o"], - [5635, 0, "l"], - [5636, 0, "o"], - [5637, 0, "r"], - [5638, 0, "s"], - [5639, 0, "\""], - [5640, 0, ":"], - [5641, 0, " "], - [5642, 0, "{"], - [5643, 0, "}"], - [6659, 1], - [6658, 1], - [6657, 1], - [6656, 1], - [6655, 1], - [6654, 1], - [6653, 1], - [6653, 0, "o"], - [6654, 0, "v"], - [6655, 0, "e"], - [6656, 0, "r"], - [6657, 0, "w"], - [6658, 0, "r"], - [6659, 0, "i"], - [6660, 0, "t"], - [6661, 0, "t"], - [6662, 0, "e"], - [6663, 0, "n"], - [6701, 0, "\n"], - [6702, 0, "\n"], - [6703, 0, "A"], - [6704, 0, "n"], - [6705, 0, "o"], - [6706, 0, "t"], - [6707, 0, "h"], - [6708, 0, "e"], - [6709, 0, "r"], - [6710, 0, " "], - [6711, 0, "e"], - [6712, 0, "x"], - [6713, 0, "a"], - [6714, 0, "m"], - [6715, 0, "p"], - [6716, 0, "l"], - [6717, 0, "e"], - [6718, 0, " "], - [6719, 0, "i"], - [6720, 0, "s"], - [6721, 0, " "], - [6722, 0, "g"], - [6723, 0, "i"], - [6724, 0, "v"], - [6725, 0, "e"], - [6726, 0, "n"], - [6727, 0, " "], - [6728, 0, "i"], - [6729, 0, "n"], - [6730, 0, " "], - [6731, 0, "F"], - [6732, 0, "i"], - [6733, 0, "g"], - [6734, 0, "u"], - [6735, 0, "r"], - [6736, 0, "e"], - [6737, 0, "~"], - [6738, 0, "\\"], - [6739, 0, "r"], - [6740, 0, "e"], - [6741, 0, "f"], - [6742, 0, "{"], - [6743, 0, "f"], - [6744, 0, "i"], - [6745, 0, "g"], - [6746, 0, ":"], - [6747, 0, "m"], - [6748, 0, "a"], - [6749, 0, "p"], - [6750, 0, "-"], - [6751, 0, "r"], - [6752, 0, "e"], - [6753, 0, "m"], - [6754, 0, "o"], - [6755, 0, "v"], - [6756, 0, "e"], - [6757, 0, "}"], - [6758, 0, "."], - [6759, 0, " "], - [6760, 0, "H"], - [6761, 0, "e"], - [6762, 0, "r"], - [6763, 0, "e"], - [6764, 0, ","], - [6765, 0, " "], - [6766, 0, "o"], - [6767, 0, "n"], - [6768, 0, "e"], - [6769, 0, " "], - [6770, 0, "r"], - [6771, 0, "e"], - [6772, 0, "p"], - [6773, 0, "l"], - [6774, 0, "i"], - [6775, 0, "c"], - [6776, 0, "a"], - [6777, 0, " "], - [6778, 0, "a"], - [6779, 0, "d"], - [6780, 0, "d"], - [6781, 0, "s"], - [6782, 0, " "], - [6783, 0, "`"], - [6784, 0, "`"], - [6785, 0, "r"], - [6786, 0, "e"], - [6787, 0, "d"], - [6788, 0, "'"], - [6789, 0, "'"], - [6790, 0, " "], - [6791, 0, "t"], - [6792, 0, "o"], - [6793, 0, " "], - [6794, 0, "a"], - [6795, 0, " "], - [6796, 0, "m"], - [6797, 0, "a"], - [6798, 0, "p"], - [6799, 0, " "], - [6800, 0, "o"], - [6801, 0, "f"], - [6802, 0, " "], - [6803, 0, "c"], - [6804, 0, "o"], - [6805, 0, "l"], - [6806, 0, "o"], - [6807, 0, "r"], - [6808, 0, "s"], - [6809, 0, ","], - [6810, 0, " "], - [6811, 0, "w"], - [6812, 0, "h"], - [6813, 0, "i"], - [6814, 0, "l"], - [6815, 0, "e"], - [6816, 0, " "], - [6817, 0, "c"], - [6818, 0, "o"], - [6819, 0, "n"], - [6820, 0, "c"], - [6821, 0, "u"], - [6822, 0, "r"], - [6823, 0, "r"], - [6824, 0, "e"], - [6825, 0, "n"], - [6826, 0, "t"], - [6827, 0, "l"], - [6828, 0, "y"], - [6829, 0, " "], - [6830, 0, "a"], - [6831, 0, "n"], - [6832, 0, "o"], - [6833, 0, "t"], - [6834, 0, "h"], - [6835, 0, "e"], - [6836, 0, "r"], - [6837, 0, " "], - [6838, 0, "c"], - [6839, 0, "l"], - [6840, 0, "i"], - [6841, 0, "e"], - [6842, 0, "n"], - [6843, 0, "t"], - [6844, 0, " "], - [6845, 0, "f"], - [6846, 0, "i"], - [6847, 0, "r"], - [6848, 0, "s"], - [6849, 0, "t"], - [6850, 0, " "], - [6851, 0, "b"], - [6852, 0, "l"], - [6853, 0, "a"], - [6854, 0, "n"], - [6855, 0, "k"], - [6856, 0, "s"], - [6857, 0, " "], - [6858, 0, "o"], - [6859, 0, "u"], - [6860, 0, "t"], - [6861, 0, " "], - [6862, 0, "t"], - [6863, 0, "h"], - [6864, 0, "e"], - [6865, 0, " "], - [6866, 0, "e"], - [6867, 0, "n"], - [6868, 0, "t"], - [6869, 0, "i"], - [6870, 0, "r"], - [6871, 0, "e"], - [6872, 0, " "], - [6873, 0, "m"], - [6874, 0, "a"], - [6875, 0, "p"], - [6876, 0, " "], - [6877, 0, "o"], - [6878, 0, "f"], - [6879, 0, " "], - [6880, 0, "c"], - [6881, 0, "o"], - [6882, 0, "l"], - [6883, 0, "o"], - [6884, 0, "r"], - [6885, 0, "s"], - [6886, 0, " "], - [6886, 1], - [6886, 0, ","], - [6887, 0, " "], - [6888, 0, "a"], - [6889, 0, "n"], - [6890, 0, "d"], - [6891, 0, " "], - [6892, 0, "t"], - [6893, 0, "h"], - [6894, 0, "e"], - [6895, 0, "n"], - [6896, 0, " "], - [6897, 0, "a"], - [6898, 0, "d"], - [6899, 0, "d"], - [6900, 0, "s"], - [6901, 0, " "], - [6902, 0, "`"], - [6903, 0, "`"], - [6904, 0, "g"], - [6905, 0, "r"], - [6906, 0, "e"], - [6907, 0, "e"], - [6908, 0, "n"], - [6909, 0, "'"], - [6910, 0, "'"], - [6911, 0, "."], - [6912, 0, " "], - [6913, 0, "A"], - [6914, 0, "s"], - [6915, 0, " "], - [6916, 0, "t"], - [6917, 0, "h"], - [6918, 0, "e"], - [6919, 0, " "], - [6920, 0, "r"], - [6921, 0, "e"], - [6922, 0, "p"], - [6923, 0, "l"], - [6924, 0, "i"], - [6925, 0, "c"], - [6926, 0, "a"], - [6927, 0, "s"], - [6928, 0, " "], - [6929, 0, "m"], - [6930, 0, "e"], - [6931, 0, "r"], - [6932, 0, "g"], - [6933, 0, "e"], - [6934, 0, " "], - [6935, 0, "t"], - [6936, 0, "h"], - [6937, 0, "e"], - [6938, 0, "i"], - [6939, 0, "r"], - [6940, 0, " "], - [6941, 0, "e"], - [6942, 0, "d"], - [6943, 0, "i"], - [6944, 0, "t"], - [6945, 0, "s"], - [6946, 0, ","], - [6947, 0, " "], - [6948, 0, "a"], - [6949, 0, "l"], - [6950, 0, "l"], - [6951, 0, " "], - [6952, 0, "c"], - [6953, 0, "h"], - [6954, 0, "a"], - [6955, 0, "n"], - [6956, 0, "g"], - [6957, 0, "e"], - [6958, 0, "s"], - [6959, 0, " "], - [6960, 0, "m"], - [6961, 0, "u"], - [6962, 0, "s"], - [6963, 0, "t"], - [6964, 0, " "], - [6965, 0, "b"], - [6966, 0, "e"], - [6967, 0, " "], - [6968, 0, "p"], - [6969, 0, "r"], - [6970, 0, "e"], - [6971, 0, "s"], - [6972, 0, "e"], - [6973, 0, "r"], - [6974, 0, "v"], - [6975, 0, "e"], - [6976, 0, "d"], - [6977, 0, ":"], - [6978, 0, " "], - [6979, 0, "`"], - [6980, 0, "`"], - [6981, 0, "b"], - [6982, 0, "l"], - [6983, 0, "u"], - [6984, 0, "e"], - [6985, 0, "'"], - [6986, 0, "'"], - [6987, 0, " "], - [6988, 0, "m"], - [6989, 0, "u"], - [6990, 0, "s"], - [6991, 0, "t"], - [6992, 0, " "], - [6993, 0, "b"], - [6994, 0, "e"], - [6995, 0, " "], - [6996, 0, "a"], - [6997, 0, "b"], - [6998, 0, "s"], - [6999, 0, "e"], - [7000, 0, "n"], - [7001, 0, "t"], - [7002, 0, " "], - [7003, 0, "f"], - [7004, 0, "r"], - [7005, 0, "o"], - [7006, 0, "m"], - [7007, 0, " "], - [7008, 0, "t"], - [7009, 0, "h"], - [7010, 0, "e"], - [7011, 0, " "], - [7012, 0, "f"], - [7013, 0, "i"], - [7014, 0, "n"], - [7015, 0, "a"], - [7016, 0, "l"], - [7017, 0, " "], - [7018, 0, "m"], - [7019, 0, "a"], - [7020, 0, "p"], - [7021, 0, ","], - [7022, 0, " "], - [7023, 0, "s"], - [7024, 0, "i"], - [7025, 0, "n"], - [7026, 0, "c"], - [7027, 0, "e"], - [7028, 0, " "], - [7029, 0, "i"], - [7030, 0, "t"], - [7031, 0, " "], - [7032, 0, "w"], - [7033, 0, "a"], - [7034, 0, "s"], - [7035, 0, " "], - [7036, 0, "r"], - [7037, 0, "e"], - [7038, 0, "m"], - [7039, 0, "o"], - [7040, 0, "v"], - [7041, 0, "e"], - [7042, 0, "d"], - [7043, 0, " "], - [7044, 0, "b"], - [7045, 0, "y"], - [7046, 0, " "], - [7047, 0, "b"], - [7048, 0, "l"], - [7049, 0, "a"], - [7050, 0, "n"], - [7051, 0, "k"], - [7052, 0, "i"], - [7053, 0, "n"], - [7054, 0, "g"], - [7055, 0, " "], - [7056, 0, "o"], - [7057, 0, "u"], - [7058, 0, "t"], - [7059, 0, " "], - [7060, 0, "t"], - [7061, 0, "h"], - [7062, 0, "e"], - [7063, 0, " "], - [7064, 0, "m"], - [7065, 0, "a"], - [7066, 0, "p"], - [7067, 0, ","], - [7068, 0, " "], - [7069, 0, "w"], - [7070, 0, "h"], - [7071, 0, "i"], - [7072, 0, "l"], - [7073, 0, "e"], - [7074, 0, " "], - [7075, 0, "`"], - [7076, 0, "`"], - [7077, 0, "r"], - [7078, 0, "e"], - [7079, 0, "d"], - [7080, 0, "`"], - [7081, 0, "`"], - [7081, 1], - [7080, 1], - [7080, 0, "'"], - [7081, 0, "'"], - [7082, 0, " "], - [7083, 0, "a"], - [7084, 0, "n"], - [7085, 0, "d"], - [7086, 0, " "], - [7087, 0, "`"], - [7088, 0, "`"], - [7089, 0, "g"], - [7090, 0, "r"], - [7091, 0, "e"], - [7092, 0, "e"], - [7093, 0, "n"], - [7094, 0, "'"], - [7095, 0, "'"], - [7096, 0, " "], - [7097, 0, "m"], - [7098, 0, "u"], - [7099, 0, "s"], - [7100, 0, "t"], - [7101, 0, " "], - [7102, 0, "b"], - [7103, 0, "e"], - [7104, 0, " "], - [7105, 0, "p"], - [7106, 0, "r"], - [7107, 0, "e"], - [7108, 0, "s"], - [7109, 0, "e"], - [7110, 0, "n"], - [7111, 0, "t"], - [7112, 0, ","], - [7113, 0, " "], - [7114, 0, "s"], - [7115, 0, "i"], - [7116, 0, "n"], - [7117, 0, "c"], - [7118, 0, "e"], - [7119, 0, " "], - [7120, 0, "t"], - [7121, 0, "h"], - [7122, 0, "e"], - [7123, 0, "y"], - [7124, 0, " "], - [7125, 0, "w"], - [7126, 0, "e"], - [7127, 0, "r"], - [7128, 0, "e"], - [7129, 0, " "], - [7130, 0, "e"], - [7131, 0, "x"], - [7132, 0, "p"], - [7133, 0, "l"], - [7134, 0, "i"], - [7135, 0, "c"], - [7136, 0, "i"], - [7137, 0, "t"], - [7138, 0, "l"], - [7139, 0, "y"], - [7140, 0, " "], - [7141, 0, "a"], - [7142, 0, "d"], - [7143, 0, "d"], - [7144, 0, "e"], - [7145, 0, "d"], - [7146, 0, "."], - [7147, 0, "\n"], - [7148, 0, "\n"], - [7149, 0, "A"], - [7150, 0, " "], - [7151, 0, "n"], - [7152, 0, "a"], - [7153, 0, "i"], - [7154, 0, "v"], - [7155, 0, "e"], - [7156, 0, " "], - [7157, 0, "i"], - [7158, 0, "m"], - [7159, 0, "p"], - [7160, 0, "l"], - [7161, 0, "e"], - [7162, 0, "m"], - [7163, 0, "e"], - [7164, 0, "n"], - [7165, 0, "t"], - [7166, 0, "a"], - [7167, 0, "t"], - [7168, 0, "i"], - [7169, 0, "o"], - [7170, 0, "n"], - [7171, 0, " "], - [7171, 1], - [7170, 1], - [7169, 1], - [7168, 1], - [7167, 1], - [7166, 1], - [7165, 1], - [7164, 1], - [7163, 1], - [7162, 1], - [7161, 1], - [7160, 1], - [7159, 1], - [7158, 1], - [7157, 1], - [7156, 1], - [7155, 1], - [7154, 1], - [7153, 1], - [7152, 1], - [7151, 1], - [7150, 1], - [7149, 1], - [7148, 1], - [7147, 1], - [5345, 1], - [5344, 1], - [5343, 1], - [5342, 1], - [5341, 1], - [5340, 1], - [5339, 1], - [5319, 0, "m"], - [5320, 0, "u"], - [5321, 0, "l"], - [5322, 0, "t"], - [5323, 0, "i"], - [5324, 0, "p"], - [5325, 0, "l"], - [5326, 0, "e"], - [5327, 0, " "], - [5328, 0, "v"], - [5329, 0, "a"], - [5330, 0, "l"], - [5331, 0, "u"], - [5332, 0, "e"], - [5333, 0, "s"], - [5334, 0, " "], - [5335, 0, "t"], - [5336, 0, "h"], - [5337, 0, "a"], - [5338, 0, "t"], - [5339, 0, " "], - [5340, 0, "w"], - [5341, 0, "e"], - [5342, 0, "r"], - [5343, 0, "e"], - [5344, 0, " "], - [7167, 0, "\n"], - [7168, 0, "\n"], - [7168, 0, "\\"], - [7169, 0, "b"], - [7170, 0, "e"], - [7171, 0, "g"], - [7172, 0, "i"], - [7173, 0, "n"], - [7174, 0, "{"], - [7175, 0, "f"], - [7176, 0, "i"], - [7177, 0, "g"], - [7178, 0, "u"], - [7179, 0, "r"], - [7180, 0, "e"], - [7181, 0, "*"], - [7182, 0, "}"], - [7183, 0, "\n"], - [7184, 0, "\\"], - [7185, 0, "c"], - [7186, 0, "e"], - [7187, 0, "n"], - [7188, 0, "t"], - [7189, 0, "e"], - [7190, 0, "r"], - [7191, 0, "i"], - [7192, 0, "n"], - [7193, 0, "g"], - [7194, 0, "\n"], - [7195, 0, "\\"], - [7196, 0, "b"], - [7197, 0, "e"], - [7198, 0, "g"], - [7199, 0, "i"], - [7200, 0, "n"], - [7201, 0, "{"], - [7202, 0, "t"], - [7203, 0, "i"], - [7204, 0, "k"], - [7205, 0, "z"], - [7206, 0, "p"], - [7207, 0, "i"], - [7208, 0, "c"], - [7209, 0, "t"], - [7210, 0, "u"], - [7211, 0, "r"], - [7212, 0, "e"], - [7213, 0, "}"], - [7214, 0, "["], - [7215, 0, "a"], - [7216, 0, "u"], - [7217, 0, "t"], - [7218, 0, "o"], - [7219, 0, "]"], - [7220, 0, "\n"], - [7221, 0, "\\"], - [7222, 0, "e"], - [7223, 0, "n"], - [7224, 0, "d"], - [7225, 0, "{"], - [7226, 0, "t"], - [7227, 0, "i"], - [7228, 0, "k"], - [7229, 0, "z"], - [7230, 0, "p"], - [7231, 0, "i"], - [7232, 0, "c"], - [7233, 0, "t"], - [7234, 0, "u"], - [7235, 0, "r"], - [7236, 0, "e"], - [7237, 0, "}"], - [7238, 0, "\n"], - [7239, 0, "\\"], - [7240, 0, "c"], - [7241, 0, "a"], - [7242, 0, "p"], - [7243, 0, "t"], - [7244, 0, "i"], - [7245, 0, "o"], - [7246, 0, "n"], - [7247, 0, "{"], - [7248, 0, "T"], - [7249, 0, "w"], - [7250, 0, "o"], - [7251, 0, " "], - [7252, 0, "r"], - [7253, 0, "e"], - [7254, 0, "p"], - [7255, 0, "l"], - [7256, 0, "i"], - [7257, 0, "c"], - [7258, 0, "a"], - [7259, 0, "s"], - [7260, 0, " "], - [7261, 0, "c"], - [7262, 0, "o"], - [7263, 0, "n"], - [7264, 0, "c"], - [7265, 0, "u"], - [7266, 0, "r"], - [7267, 0, "r"], - [7268, 0, "e"], - [7269, 0, "n"], - [7270, 0, "t"], - [7271, 0, "l"], - [7272, 0, "y"], - [7273, 0, " "], - [7274, 0, "c"], - [7275, 0, "r"], - [7276, 0, "e"], - [7277, 0, "a"], - [7278, 0, "t"], - [7279, 0, "e"], - [7280, 0, " "], - [7281, 0, "a"], - [7282, 0, "n"], - [7283, 0, " "], - [7283, 1], - [7282, 1], - [7281, 1], - [7281, 0, "o"], - [7282, 0, "r"], - [7283, 0, "d"], - [7284, 0, "e"], - [7285, 0, "r"], - [7286, 0, "e"], - [7287, 0, "d"], - [7288, 0, " "], - [7289, 0, "l"], - [7290, 0, "i"], - [7291, 0, "s"], - [7292, 0, "t"], - [7293, 0, "s"], - [7294, 0, " "], - [7295, 0, "u"], - [7296, 0, "n"], - [7297, 0, "d"], - [7298, 0, "e"], - [7299, 0, "r"], - [7300, 0, " "], - [7301, 0, "t"], - [7302, 0, "h"], - [7303, 0, "e"], - [7304, 0, " "], - [7305, 0, "s"], - [7306, 0, "a"], - [7307, 0, "m"], - [7308, 0, "e"], - [7309, 0, " "], - [7310, 0, "m"], - [7311, 0, "a"], - [7312, 0, "p"], - [7313, 0, " "], - [7314, 0, "k"], - [7315, 0, "e"], - [7316, 0, "y"], - [7317, 0, "}"], - [7318, 0, "\\"], - [7319, 0, "l"], - [7320, 0, "a"], - [7321, 0, "b"], - [7322, 0, "e"], - [7323, 0, "l"], - [7324, 0, "{"], - [7325, 0, "f"], - [7326, 0, "i"], - [7327, 0, "g"], - [7328, 0, ":"], - [7329, 0, "t"], - [7330, 0, "w"], - [7331, 0, "o"], - [7332, 0, "-"], - [7333, 0, "l"], - [7334, 0, "i"], - [7335, 0, "s"], - [7336, 0, "t"], - [7337, 0, "s"], - [7338, 0, "}"], - [7339, 0, "\n"], - [7340, 0, "\\"], - [7341, 0, "e"], - [7342, 0, "n"], - [7343, 0, "d"], - [7344, 0, "{"], - [7345, 0, "f"], - [7346, 0, "i"], - [7347, 0, "g"], - [7348, 0, "u"], - [7349, 0, "r"], - [7350, 0, "e"], - [7351, 0, "*"], - [7352, 0, "}"], - [7220, 0, "\n"], - [7221, 0, "\\"], - [7222, 0, "n"], - [7223, 0, "o"], - [7224, 0, "d"], - [7225, 0, "e"], - [7226, 0, " "], - [7227, 0, "("], - [7228, 0, "s"], - [7229, 0, "t"], - [7230, 0, "a"], - [7231, 0, "r"], - [7232, 0, "t"], - [7233, 0, ")"], - [7234, 0, " "], - [7235, 0, "a"], - [7236, 0, "t"], - [7237, 0, " "], - [7238, 0, "("], - [7239, 0, "4"], - [7240, 0, ","], - [7241, 0, "4"], - [7242, 0, ")"], - [7243, 0, " "], - [7244, 0, "{"], - [7245, 0, "\\"], - [7246, 0, "v"], - [7247, 0, "e"], - [7248, 0, "r"], - [7249, 0, "b"], - [7250, 0, "|"], - [7251, 0, "{"], - [7252, 0, "}"], - [7253, 0, "|"], - [7254, 0, "}"], - [7255, 0, ";"], - [7256, 0, "\n"], - [7257, 0, "\\"], - [7258, 0, "n"], - [7259, 0, "o"], - [7260, 0, "d"], - [7261, 0, "e"], - [7262, 0, " "], - [7263, 0, "("], - [7264, 0, "l"], - [7265, 0, "e"], - [7266, 0, "f"], - [7267, 0, "t"], - [7268, 0, "1"], - [7269, 0, ")"], - [7270, 0, " "], - [7271, 0, "a"], - [7272, 0, "t"], - [7273, 0, " "], - [7274, 0, "("], - [7275, 0, "0"], - [7276, 0, ","], - [7277, 0, "3"], - [7278, 0, ")"], - [7279, 0, " "], - [7280, 0, "{"], - [7281, 0, "\\"], - [7282, 0, "v"], - [7283, 0, "e"], - [7284, 0, "r"], - [7285, 0, "b"], - [7286, 0, "|"], - [7287, 0, "{"], - [7288, 0, "\""], - [7289, 0, "f"], - [7290, 0, "o"], - [7291, 0, "o"], - [7292, 0, "d"], - [7293, 0, "\""], - [7294, 0, ":"], - [7295, 0, "["], - [7296, 0, "]"], - [7297, 0, "}"], - [7298, 0, "\""], - [7298, 1], - [7298, 0, "|"], - [7299, 0, "}"], - [7300, 0, ";"], - [7301, 0, "\n"], - [7302, 0, "\\"], - [7303, 0, "n"], - [7304, 0, "o"], - [7305, 0, "d"], - [7306, 0, "e"], - [7307, 0, " "], - [7308, 0, "("], - [7309, 0, "r"], - [7310, 0, "i"], - [7311, 0, "g"], - [7312, 0, "h"], - [7313, 0, "t"], - [7314, 0, "1"], - [7315, 0, ")"], - [7271, 0, " "], - [7235, 0, " "], - [7318, 0, " "], - [7319, 0, "a"], - [7320, 0, "t"], - [7321, 0, " "], - [7322, 0, "("], - [7323, 0, "8"], - [7324, 0, ","], - [7325, 0, "3"], - [7326, 0, ")"], - [7327, 0, " "], - [7328, 0, "{"], - [7329, 0, "\\"], - [7330, 0, "v"], - [7331, 0, "e"], - [7332, 0, "r"], - [7333, 0, "b"], - [7334, 0, "|"], - [7335, 0, "{"], - [7336, 0, "\""], - [7337, 0, "f"], - [7338, 0, "o"], - [7339, 0, "o"], - [7340, 0, "d"], - [7341, 0, "\""], - [7342, 0, ":"], - [7343, 0, "p"], - [7343, 1], - [7343, 0, "["], - [7344, 0, "]"], - [7345, 0, "}"], - [7346, 0, "|"], - [7347, 0, "}"], - [7348, 0, ";"], - [7349, 0, "\n"], - [7350, 0, "\\"], - [7351, 0, "n"], - [7352, 0, "o"], - [7353, 0, "d"], - [7354, 0, "e"], - [7355, 0, " "], - [7356, 0, "("], - [7357, 0, "l"], - [7358, 0, "e"], - [7359, 0, "f"], - [7360, 0, "t"], - [7361, 0, "2"], - [7362, 0, ")"], - [7363, 0, " "], - [7364, 0, " "], - [7365, 0, "a"], - [7366, 0, "t"], - [7367, 0, " "], - [7368, 0, "("], - [7369, 0, "0"], - [7370, 0, ","], - [7371, 0, "2"], - [7372, 0, ")"], - [7373, 0, " "], - [7374, 0, "{"], - [7375, 0, "\\"], - [7376, 0, "v"], - [7377, 0, "e"], - [7378, 0, "r"], - [7379, 0, "b"], - [7380, 0, "|"], - [7381, 0, "{"], - [7382, 0, "\""], - [7383, 0, "f"], - [7384, 0, "o"], - [7385, 0, "o"], - [7386, 0, "d"], - [7387, 0, "\""], - [7388, 0, ":"], - [7389, 0, "["], - [7390, 0, "\""], - [7391, 0, "e"], - [7392, 0, "g"], - [7393, 0, "g"], - [7394, 0, "s"], - [7395, 0, "\""], - [7396, 0, "]"], - [7397, 0, "}"], - [7398, 0, "|"], - [7399, 0, "}"], - [7400, 0, ";"], - [7401, 0, "\n"], - [7402, 0, "\\"], - [7403, 0, "n"], - [7404, 0, "o"], - [7405, 0, "d"], - [7406, 0, "e"], - [7407, 0, " "], - [7408, 0, "("], - [7409, 0, "l"], - [7410, 0, "e"], - [7411, 0, "f"], - [7412, 0, "t"], - [7413, 0, "3"], - [7414, 0, ")"], - [7415, 0, " "], - [7416, 0, " "], - [7417, 0, "a"], - [7418, 0, "t"], - [7419, 0, " "], - [7420, 0, "("], - [7421, 0, "0"], - [7422, 0, ","], - [7423, 0, "1"], - [7424, 0, ")"], - [7425, 0, " "], - [7426, 0, "{"], - [7427, 0, "\\"], - [7428, 0, "v"], - [7429, 0, "e"], - [7430, 0, "r"], - [7431, 0, "b"], - [7432, 0, "|"], - [7433, 0, "{"], - [7434, 0, "\""], - [7435, 0, "f"], - [7436, 0, "o"], - [7437, 0, "o"], - [7438, 0, "d"], - [7439, 0, "\""], - [7440, 0, ":"], - [7441, 0, "["], - [7442, 0, "\""], - [7443, 0, "e"], - [7444, 0, "g"], - [7445, 0, "g"], - [7446, 0, "s"], - [7447, 0, "\""], - [7448, 0, ","], - [7449, 0, "\""], - [7450, 0, "m"], - [7451, 0, "i"], - [7452, 0, "l"], - [7453, 0, "k"], - [7454, 0, "\""], - [7455, 0, "]"], - [7456, 0, "}"], - [7457, 0, "|"], - [7458, 0, "}"], - [7459, 0, ";"], - [7291, 1], - [7291, 1], - [7291, 1], - [7291, 1], - [7291, 0, "b"], - [7292, 0, "u"], - [7293, 0, "y"], - [7339, 1], - [7338, 1], - [7337, 1], - [7336, 1], - [7336, 0, "b"], - [7337, 0, "u"], - [7338, 0, "y"], - [7384, 1], - [7383, 1], - [7382, 1], - [7381, 1], - [7381, 0, "b"], - [7382, 0, "u"], - [7383, 0, "y"], - [7435, 1], - [7434, 1], - [7433, 1], - [7432, 1], - [7432, 0, "b"], - [7433, 0, "u"], - [7434, 0, "y"], - [7456, 0, "\n"], - [7457, 0, "\\"], - [7458, 0, "n"], - [7459, 0, "o"], - [7460, 0, "d"], - [7461, 0, "e"], - [7462, 0, " "], - [7463, 0, "("], - [7464, 0, "r"], - [7465, 0, "i"], - [7466, 0, "g"], - [7467, 0, "h"], - [7468, 0, "t"], - [7469, 0, "2"], - [7470, 0, ")"], - [7471, 0, " "], - [7472, 0, "a"], - [7473, 0, "t"], - [7474, 0, " "], - [7475, 0, "8"], - [7476, 0, ","], - [7477, 0, "2"], - [7478, 0, ")"], - [7475, 0, "("], - [7480, 0, " "], - [7481, 0, "{"], - [7482, 0, "\\"], - [7483, 0, "v"], - [7484, 0, "e"], - [7485, 0, "r"], - [7486, 0, "b"], - [7487, 0, "|"], - [7488, 0, "{"], - [7489, 0, "\""], - [7490, 0, "b"], - [7491, 0, "u"], - [7492, 0, "y"], - [7493, 0, "\""], - [7494, 0, ":"], - [7495, 0, "["], - [7496, 0, "\""], - [7497, 0, "h"], - [7498, 0, "a"], - [7499, 0, "m"], - [7500, 0, "\""], - [7501, 0, "]"], - [7502, 0, "}"], - [7446, 1], - [7446, 1], - [7446, 1], - [7446, 1], - [7446, 0, "h"], - [7447, 0, "a"], - [7448, 0, "m"], - [7498, 1], - [7497, 1], - [7496, 1], - [7496, 0, "m"], - [7497, 0, "i"], - [7498, 0, "l"], - [7499, 0, "k"], - [7503, 0, "|"], - [7504, 0, "}"], - [7505, 0, ";"], - [7506, 0, "\n"], - [7507, 0, "\\"], - [7508, 0, "n"], - [7509, 0, "o"], - [7510, 0, "d"], - [7511, 0, "e"], - [7512, 0, " "], - [7513, 0, "("], - [7514, 0, "r"], - [7515, 0, "i"], - [7516, 0, "g"], - [7517, 0, "h"], - [7518, 0, "t"], - [7519, 0, "3"], - [7520, 0, ")"], - [7521, 0, " "], - [7522, 0, "a"], - [7523, 0, "t"], - [7524, 0, " "], - [7525, 0, "("], - [7526, 0, "8"], - [7527, 0, ","], - [7528, 0, "1"], - [7529, 0, ")"], - [7530, 0, " "], - [7531, 0, "{"], - [7532, 0, "\\"], - [7533, 0, "v"], - [7534, 0, "e"], - [7535, 0, "r"], - [7536, 0, "b"], - [7537, 0, "|"], - [7538, 0, "{"], - [7539, 0, "\""], - [7540, 0, "b"], - [7541, 0, "u"], - [7542, 0, "y"], - [7543, 0, "\""], - [7544, 0, ":"], - [7545, 0, "["], - [7546, 0, "\""], - [7547, 0, "m"], - [7548, 0, "i"], - [7549, 0, "l"], - [7550, 0, "k"], - [7551, 0, "\""], - [7552, 0, ","], - [7553, 0, "\""], - [7554, 0, "f"], - [7555, 0, "l"], - [7556, 0, "o"], - [7557, 0, "u"], - [7558, 0, "r"], - [7559, 0, "\""], - [7560, 0, "]"], - [7561, 0, "}"], - [7562, 0, "|"], - [7563, 0, "}"], - [7564, 0, ";"], - [7565, 0, "\n"], - [7566, 0, "\\"], - [7567, 0, "n"], - [7568, 0, "o"], - [7569, 0, "d"], - [7570, 0, "e"], - [7571, 0, " "], - [7572, 0, "["], - [7573, 0, "m"], - [7574, 0, "a"], - [7575, 0, "t"], - [7576, 0, "r"], - [7577, 0, "x"], - [7577, 1], - [7577, 0, "i"], - [7578, 0, "x"], - [7579, 0, "]"], - [7580, 0, " "], - [7581, 0, "("], - [7582, 0, "l"], - [7583, 0, "e"], - [7584, 0, "f"], - [7585, 0, "t"], - [7586, 0, "4"], - [7587, 0, ")"], - [7588, 0, " "], - [7589, 0, "a"], - [7590, 0, "t"], - [7591, 0, " "], - [7592, 0, "("], - [7593, 0, "0"], - [7594, 0, ","], - [7595, 0, "0"], - [7596, 0, ")"], - [7597, 0, " "], - [7598, 0, "{"], - [7599, 0, "\n"], - [7600, 0, " "], - [7601, 0, " "], - [7602, 0, " "], - [7603, 0, " "], - [7604, 0, "\\"], - [7605, 0, "n"], - [7606, 0, "o"], - [7607, 0, "d"], - [7608, 0, "e"], - [7609, 0, " "], - [7609, 1], - [7608, 1], - [7607, 1], - [7606, 1], - [7605, 1], - [7604, 1], - [7603, 1], - [7602, 1], - [7601, 1], - [7600, 1], - [7599, 1], - [7598, 1], - [7580, 1], - [7579, 1], - [7578, 1], - [7577, 1], - [7576, 1], - [7575, 1], - [7574, 1], - [7573, 1], - [7572, 1], - [7589, 0, " "], - [7589, 1], - [7589, 0, "{"], - [7590, 0, "\\"], - [7591, 0, "v"], - [7592, 0, "e"], - [7593, 0, "r"], - [7594, 0, "b"], - [7595, 0, "|"], - [7596, 0, "{"], - [7597, 0, "\""], - [7598, 0, "b"], - [7599, 0, "u"], - [7600, 0, "y"], - [7601, 0, "\""], - [7602, 0, ":"], - [7603, 0, "["], - [7604, 0, "\""], - [7605, 0, "e"], - [7606, 0, "g"], - [7607, 0, "g"], - [7608, 0, "s"], - [7609, 0, "\""], - [7610, 0, ","], - [7611, 0, "\""], - [7612, 0, "h"], - [7613, 0, "a"], - [7614, 0, "m"], - [7615, 0, "\""], - [7616, 0, ","], - [7617, 0, "\""], - [7618, 0, "m"], - [7619, 0, "i"], - [7620, 0, "l"], - [7621, 0, "k"], - [7622, 0, "\""], - [7623, 0, ","], - [7624, 0, "\""], - [7625, 0, "f"], - [7626, 0, "l"], - [7627, 0, "o"], - [7628, 0, "u"], - [7629, 0, "r"], - [7630, 0, "\""], - [7631, 0, "]"], - [7632, 0, "}"], - [7633, 0, "|"], - [7634, 0, "}"], - [7635, 0, ";"], - [7636, 0, "\n"], - [7637, 0, "\\"], - [7638, 0, "n"], - [7639, 0, "o"], - [7640, 0, "d"], - [7641, 0, "e"], - [7642, 0, " "], - [7643, 0, "("], - [7644, 0, "r"], - [7645, 0, "i"], - [7646, 0, "g"], - [7647, 0, "h"], - [7648, 0, "t"], - [7649, 0, "4"], - [7650, 0, ")"], - [7651, 0, " "], - [7652, 0, "a"], - [7653, 0, "t"], - [7654, 0, " "], - [7655, 0, "("], - [7656, 0, "8"], - [7657, 0, ","], - [7658, 0, "0"], - [7659, 0, ")"], - [7660, 0, " "], - [7661, 0, "{"], - [7662, 0, "\\"], - [7663, 0, "v"], - [7664, 0, "e"], - [7665, 0, "r"], - [7666, 0, "b"], - [7667, 0, "|"], - [7668, 0, "{"], - [7669, 0, "\""], - [7670, 0, "b"], - [7671, 0, "u"], - [7672, 0, "y"], - [7673, 0, "\""], - [7674, 0, ":"], - [7675, 0, "["], - [7676, 0, "\""], - [7677, 0, "e"], - [7678, 0, "g"], - [7679, 0, "g"], - [7680, 0, "s"], - [7681, 0, "\""], - [7682, 0, ","], - [7683, 0, "\""], - [7684, 0, "h"], - [7685, 0, "a"], - [7686, 0, "m"], - [7687, 0, "\""], - [7688, 0, ","], - [7689, 0, "\""], - [7690, 0, "m"], - [7691, 0, "i"], - [7692, 0, "l"], - [7693, 0, "k"], - [7694, 0, "\""], - [7695, 0, ","], - [7696, 0, "\""], - [7697, 0, "f"], - [7698, 0, "l"], - [7699, 0, "o"], - [7700, 0, "u"], - [7701, 0, "r"], - [7702, 0, "\""], - [7703, 0, "]"], - [7704, 0, "}"], - [7705, 0, "|"], - [7706, 0, "}"], - [7707, 0, ";"], - [7708, 0, "\n"], - [7709, 0, "\\"], - [7710, 0, "d"], - [7711, 0, "r"], - [7712, 0, "a"], - [7713, 0, "w"], - [7714, 0, " "], - [7715, 0, "["], - [7716, 0, "t"], - [7717, 0, "h"], - [7718, 0, "i"], - [7719, 0, "c"], - [7720, 0, "k"], - [7721, 0, ","], - [7722, 0, "-"], - [7723, 0, ">"], - [7724, 0, "]"], - [7725, 0, " "], - [7726, 0, "("], - [7727, 0, "s"], - [7728, 0, "t"], - [7729, 0, "a"], - [7730, 0, "r"], - [7731, 0, "t"], - [7732, 0, ")"], - [7733, 0, " "], - [7734, 0, "t"], - [7735, 0, "o"], - [7736, 0, " "], - [7737, 0, "n"], - [7738, 0, "o"], - [7739, 0, "d"], - [7740, 0, "e"], - [7741, 0, " "], - [7742, 0, "["], - [7743, 0, "l"], - [7744, 0, "e"], - [7745, 0, "f"], - [7746, 0, "t"], - [7747, 0, ","], - [7748, 0, "i"], - [7749, 0, "n"], - [7750, 0, "n"], - [7751, 0, "e"], - [7752, 0, "r"], - [7753, 0, " "], - [7754, 0, "s"], - [7755, 0, "e"], - [7756, 0, "p"], - [7757, 0, "="], - [7758, 0, "1"], - [7759, 0, "2"], - [7760, 0, "p"], - [7761, 0, "t"], - [7762, 0, "]"], - [7763, 0, " "], - [7764, 0, "{"], - [7765, 0, "\\"], - [7766, 0, "f"], - [7767, 0, "o"], - [7768, 0, "o"], - [7769, 0, "t"], - [7770, 0, "n"], - [7771, 0, "o"], - [7772, 0, "t"], - [7773, 0, "e"], - [7774, 0, "s"], - [7775, 0, "i"], - [7776, 0, "z"], - [7777, 0, "e"], - [7778, 0, " "], - [7779, 0, "d"], - [7780, 0, "o"], - [7781, 0, "c"], - [7782, 0, "["], - [7783, 0, "`"], - [7784, 0, "`"], - [7785, 0, "b"], - [7786, 0, "u"], - [7787, 0, "y"], - [7788, 0, "'"], - [7789, 0, "'"], - [7790, 0, "]"], - [7791, 0, " "], - [7792, 0, ":"], - [7793, 0, "="], - [7794, 0, " "], - [7795, 0, "["], - [7796, 0, "]"], - [7797, 0, ";"], - [7798, 0, "}"], - [7799, 0, " "], - [7800, 0, "("], - [7801, 0, "l"], - [7802, 0, "e"], - [7803, 0, "f"], - [7804, 0, "t"], - [7805, 0, "1"], - [7806, 0, ")"], - [7807, 0, ";"], - [7808, 0, "\n"], - [7809, 0, "\\"], - [7810, 0, "d"], - [7811, 0, "r"], - [7812, 0, "a"], - [7813, 0, "w"], - [7814, 0, " "], - [7815, 0, "["], - [7816, 0, "t"], - [7817, 0, "h"], - [7818, 0, "i"], - [7819, 0, "c"], - [7820, 0, "k"], - [7821, 0, ","], - [7822, 0, "-"], - [7823, 0, ">"], - [7824, 0, "]"], - [7825, 0, " "], - [7826, 0, "("], - [7827, 0, "s"], - [7828, 0, "t"], - [7829, 0, "a"], - [7830, 0, "r"], - [7831, 0, "t"], - [7832, 0, ")"], - [7833, 0, " "], - [7834, 0, "t"], - [7835, 0, "o"], - [7836, 0, " "], - [7837, 0, "n"], - [7838, 0, "o"], - [7839, 0, "d"], - [7840, 0, "e"], - [7841, 0, " "], - [7842, 0, "["], - [7843, 0, "r"], - [7844, 0, "i"], - [7845, 0, "g"], - [7846, 0, "h"], - [7847, 0, "t"], - [7848, 0, ","], - [7849, 0, " "], - [7849, 1], - [7849, 0, "i"], - [7850, 0, "n"], - [7851, 0, "n"], - [7852, 0, "e"], - [7853, 0, "r"], - [7854, 0, " "], - [7855, 0, "s"], - [7856, 0, "e"], - [7857, 0, "p"], - [7858, 0, "="], - [7859, 0, "1"], - [7860, 0, "2"], - [7861, 0, "p"], - [7862, 0, "t"], - [7863, 0, "]"], - [7864, 0, " "], - [7865, 0, "{"], - [7866, 0, "\\"], - [7867, 0, "f"], - [7868, 0, "o"], - [7869, 0, "o"], - [7870, 0, "t"], - [7871, 0, "n"], - [7872, 0, "o"], - [7873, 0, "t"], - [7874, 0, "e"], - [7875, 0, "s"], - [7876, 0, "i"], - [7877, 0, "z"], - [7878, 0, "e"], - [7879, 0, " "], - [7880, 0, "d"], - [7881, 0, "o"], - [7882, 0, "c"], - [7883, 0, "["], - [7884, 0, "`"], - [7885, 0, "`"], - [7886, 0, "b"], - [7887, 0, "u"], - [7888, 0, "y"], - [7889, 0, "'"], - [7890, 0, "'"], - [7891, 0, "]"], - [7892, 0, " "], - [7893, 0, ":"], - [7894, 0, "="], - [7895, 0, " "], - [7896, 0, "["], - [7897, 0, "]"], - [7898, 0, ";"], - [7899, 0, "}"], - [7900, 0, " "], - [7901, 0, "("], - [7902, 0, "r"], - [7903, 0, "i"], - [7904, 0, "g"], - [7905, 0, "h"], - [7906, 0, "t"], - [7907, 0, "1"], - [7908, 0, ")"], - [7909, 0, ";"], - [7855, 0, "x"], - [7754, 0, "x"], - [6174, 0, "x"], - [6051, 0, "x"], - [7762, 1], - [7762, 0, "8"], - [7864, 1], - [7864, 0, "8"], - [7914, 0, "\n"], - [7915, 0, "\\"], - [7916, 0, "d"], - [7917, 0, "r"], - [7918, 0, "a"], - [7919, 0, "w"], - [7920, 0, " "], - [7921, 0, "["], - [7922, 0, "t"], - [7923, 0, "h"], - [7924, 0, "i"], - [7925, 0, "c"], - [7926, 0, "k"], - [7927, 0, ","], - [7928, 0, "-"], - [7929, 0, ">"], - [7930, 0, " "], - [7930, 1], - [7930, 0, "]"], - [7931, 0, " "], - [7932, 0, "("], - [7933, 0, "l"], - [7934, 0, "e"], - [7935, 0, "f"], - [7936, 0, "t"], - [7937, 0, "1"], - [7938, 0, ")"], - [7939, 0, " "], - [7940, 0, "t"], - [7941, 0, "o"], - [7942, 0, " "], - [7943, 0, "n"], - [7944, 0, "o"], - [7945, 0, "d"], - [7946, 0, "e"], - [7947, 0, " "], - [7948, 0, "["], - [7949, 0, "l"], - [7950, 0, "e"], - [7951, 0, "f"], - [7952, 0, "t"], - [7953, 0, "]"], - [7954, 0, " "], - [7955, 0, "{"], - [7956, 0, "\\"], - [7957, 0, "f"], - [7958, 0, "o"], - [7959, 0, "o"], - [7960, 0, "t"], - [7961, 0, "n"], - [7962, 0, "o"], - [7963, 0, "t"], - [7964, 0, "e"], - [7965, 0, "s"], - [7966, 0, "i"], - [7967, 0, "z"], - [7968, 0, "e"], - [7969, 0, " "], - [7970, 0, "d"], - [7971, 0, "o"], - [7972, 0, "c"], - [7973, 0, "["], - [7974, 0, "`"], - [7975, 0, "`"], - [7976, 0, "b"], - [7977, 0, "u"], - [7978, 0, "y"], - [7979, 0, "'"], - [7980, 0, "'"], - [7981, 0, "]"], - [7982, 0, "."], - [7983, 0, "i"], - [7984, 0, "t"], - [7985, 0, "e"], - [7986, 0, "r"], - [7987, 0, "."], - [7988, 0, "i"], - [7989, 0, "n"], - [7990, 0, "s"], - [7991, 0, "e"], - [7992, 0, "r"], - [7993, 0, "t"], - [7994, 0, "("], - [7995, 0, "`"], - [7996, 0, "`"], - [7997, 0, "e"], - [7998, 0, "g"], - [7999, 0, "g"], - [8000, 0, "s"], - [8001, 0, "'"], - [8002, 0, "'"], - [8003, 0, ")"], - [8004, 0, ";"], - [8005, 0, "}"], - [8006, 0, " "], - [8007, 0, "("], - [8008, 0, "l"], - [8009, 0, "e"], - [8010, 0, "f"], - [8011, 0, "t"], - [8012, 0, "2"], - [8013, 0, ")"], - [8014, 0, ";"], - [8015, 0, "\n"], - [8016, 0, "\\"], - [8017, 0, "d"], - [8018, 0, "r"], - [8019, 0, "a"], - [8020, 0, "w"], - [8021, 0, " "], - [8022, 0, "["], - [8023, 0, "t"], - [8024, 0, "h"], - [8025, 0, "i"], - [8026, 0, "c"], - [8027, 0, "k"], - [8028, 0, ","], - [8029, 0, "-"], - [8030, 0, ">"], - [8031, 0, "]"], - [8032, 0, " "], - [8033, 0, "("], - [8034, 0, "r"], - [8035, 0, "i"], - [8036, 0, "g"], - [8037, 0, "h"], - [8038, 0, "t"], - [8039, 0, "1"], - [8040, 0, ")"], - [8041, 0, " "], - [8042, 0, "t"], - [8043, 0, "o"], - [8044, 0, " "], - [8045, 0, "n"], - [8046, 0, "o"], - [8047, 0, "d"], - [8048, 0, "e"], - [8049, 0, " "], - [8050, 0, "["], - [8051, 0, "r"], - [8052, 0, "i"], - [8053, 0, "g"], - [8054, 0, "h"], - [8055, 0, "t"], - [8056, 0, "]"], - [8057, 0, " "], - [8058, 0, "{"], - [8059, 0, "\\"], - [8060, 0, "f"], - [8061, 0, "o"], - [8062, 0, "o"], - [8063, 0, "t"], - [8064, 0, "n"], - [8065, 0, "o"], - [8066, 0, "t"], - [8067, 0, "e"], - [8068, 0, "s"], - [8069, 0, "i"], - [8070, 0, "z"], - [8071, 0, "e"], - [8072, 0, " "], - [8073, 0, "d"], - [8074, 0, "o"], - [8075, 0, "c"], - [8076, 0, "["], - [8077, 0, "`"], - [8078, 0, "`"], - [8079, 0, "b"], - [8080, 0, "u"], - [8081, 0, "y"], - [8082, 0, "'"], - [8083, 0, "'"], - [8084, 0, "]"], - [8085, 0, "."], - [8086, 0, "i"], - [8087, 0, "t"], - [8088, 0, "e"], - [8089, 0, "r"], - [8090, 0, "."], - [8091, 0, "i"], - [8092, 0, "n"], - [8093, 0, "s"], - [8094, 0, "e"], - [8095, 0, "r"], - [8096, 0, "t"], - [8097, 0, "("], - [8098, 0, "`"], - [8099, 0, "`"], - [8100, 0, "m"], - [8101, 0, "i"], - [8102, 0, "l"], - [8103, 0, "k"], - [8104, 0, "'"], - [8105, 0, "'"], - [8106, 0, ")"], - [8107, 0, ";"], - [8108, 0, "}"], - [8109, 0, " "], - [8110, 0, "("], - [8111, 0, "r"], - [8112, 0, "i"], - [8113, 0, "g"], - [8114, 0, "h"], - [8115, 0, "t"], - [8116, 0, "2"], - [8117, 0, ")"], - [8118, 0, ";"], - [8119, 0, "\n"], - [8120, 0, "\\"], - [8121, 0, "d"], - [8122, 0, "r"], - [8123, 0, "a"], - [8124, 0, "w"], - [8125, 0, " "], - [8126, 0, "["], - [8127, 0, "t"], - [8128, 0, "h"], - [8129, 0, "i"], - [8130, 0, "c"], - [8131, 0, "k"], - [8132, 0, ","], - [8133, 0, "-"], - [8134, 0, ">"], - [8135, 0, "]"], - [8136, 0, " "], - [8137, 0, "("], - [8138, 0, "l"], - [8139, 0, "e"], - [8140, 0, "f"], - [8141, 0, "t"], - [8142, 0, "2"], - [8143, 0, ")"], - [8144, 0, " "], - [8145, 0, "t"], - [8146, 0, "o"], - [8147, 0, " "], - [8148, 0, "n"], - [8149, 0, "o"], - [8150, 0, "d"], - [8151, 0, "e"], - [8152, 0, " "], - [8153, 0, "["], - [8154, 0, "l"], - [8155, 0, "e"], - [8156, 0, "f"], - [8157, 0, "t"], - [8158, 0, "]"], - [8159, 0, " "], - [8160, 0, "{"], - [8161, 0, "\\"], - [8162, 0, "f"], - [8163, 0, "o"], - [8164, 0, "o"], - [8165, 0, "t"], - [8166, 0, "n"], - [8167, 0, "o"], - [8168, 0, "t"], - [8169, 0, "e"], - [8170, 0, "s"], - [8171, 0, "i"], - [8172, 0, "z"], - [8173, 0, "e"], - [8174, 0, " "], - [8175, 0, "e"], - [8176, 0, "g"], - [8177, 0, "g"], - [8178, 0, "s"], - [8179, 0, "."], - [8180, 0, "i"], - [8181, 0, "n"], - [8182, 0, "s"], - [8183, 0, "e"], - [8184, 0, "r"], - [8185, 0, "t"], - [8186, 0, "("], - [8187, 0, "`"], - [8188, 0, "`"], - [8189, 0, "h"], - [8190, 0, "a"], - [8191, 0, "m"], - [8192, 0, "'"], - [8193, 0, "'"], - [8194, 0, ")"], - [8195, 0, ";"], - [8196, 0, "}"], - [8197, 0, " "], - [8198, 0, "("], - [8199, 0, "l"], - [8200, 0, "e"], - [8201, 0, "f"], - [8202, 0, "t"], - [8203, 0, "3"], - [8204, 0, ")"], - [8205, 0, ";"], - [8206, 0, "\n"], - [8207, 0, "\\"], - [8208, 0, "d"], - [8209, 0, "r"], - [8210, 0, "a"], - [8211, 0, "w"], - [8212, 0, " "], - [8213, 0, "["], - [8214, 0, "t"], - [8215, 0, "h"], - [8216, 0, "i"], - [8217, 0, "c"], - [8218, 0, "k"], - [8219, 0, ","], - [8220, 0, "-"], - [8221, 0, ">"], - [8222, 0, "]"], - [8223, 0, " "], - [8224, 0, "("], - [8225, 0, "r"], - [8226, 0, "i"], - [8227, 0, "g"], - [8228, 0, "h"], - [8229, 0, "t"], - [8230, 0, "2"], - [8231, 0, ")"], - [8232, 0, " "], - [8233, 0, "t"], - [8234, 0, "o"], - [8235, 0, " "], - [8236, 0, "n"], - [8237, 0, "o"], - [8238, 0, "d"], - [8239, 0, "e"], - [8240, 0, " "], - [8241, 0, "["], - [8242, 0, "r"], - [8243, 0, "i"], - [8244, 0, "g"], - [8245, 0, "h"], - [8246, 0, "t"], - [8247, 0, "]"], - [8248, 0, " "], - [8249, 0, "{"], - [8250, 0, "\\"], - [8251, 0, "f"], - [8252, 0, "o"], - [8253, 0, "o"], - [8254, 0, "t"], - [8255, 0, "n"], - [8256, 0, "o"], - [8257, 0, "t"], - [8258, 0, "e"], - [8259, 0, "s"], - [8260, 0, "i"], - [8261, 0, "z"], - [8262, 0, "e"], - [8263, 0, " "], - [8264, 0, "m"], - [8265, 0, "i"], - [8266, 0, "l"], - [8267, 0, "k"], - [8268, 0, "."], - [8269, 0, "i"], - [8270, 0, "n"], - [8271, 0, "s"], - [8272, 0, "e"], - [8273, 0, "r"], - [8274, 0, "t"], - [8275, 0, "("], - [8276, 0, "`"], - [8277, 0, "`"], - [8278, 0, "f"], - [8279, 0, "l"], - [8280, 0, "o"], - [8281, 0, "u"], - [8282, 0, "r"], - [8283, 0, "'"], - [8284, 0, "'"], - [8285, 0, ")"], - [8286, 0, ";"], - [8287, 0, "}"], - [8288, 0, " "], - [8289, 0, "("], - [8290, 0, "r"], - [8291, 0, "i"], - [8292, 0, "g"], - [8293, 0, "h"], - [8294, 0, "t"], - [8295, 0, "3"], - [8296, 0, ")"], - [8297, 0, ";"], - [8298, 0, "\n"], - [8299, 0, "\\"], - [8300, 0, "d"], - [8301, 0, "r"], - [8302, 0, "a"], - [8303, 0, "w"], - [8304, 0, " "], - [8305, 0, "["], - [8306, 0, "t"], - [8307, 0, "h"], - [8308, 0, "i"], - [8309, 0, "c"], - [8310, 0, "k"], - [8311, 0, ","], - [8312, 0, "-"], - [8313, 0, ">"], - [8314, 0, "]"], - [8315, 0, " "], - [8316, 0, "("], - [8317, 0, "l"], - [8318, 0, "e"], - [8319, 0, "f"], - [8320, 0, "t"], - [8321, 0, "3"], - [8322, 0, ")"], - [8323, 0, " "], - [8324, 0, "t"], - [8325, 0, "o"], - [8326, 0, " "], - [8327, 0, "n"], - [8328, 0, "o"], - [8329, 0, "d"], - [8330, 0, "e"], - [8331, 0, " "], - [8332, 0, "["], - [8333, 0, "l"], - [8334, 0, "e"], - [8335, 0, "f"], - [8336, 0, "t"], - [8337, 0, "]"], - [8338, 0, " "], - [8339, 0, "{"], - [8340, 0, "\\"], - [8341, 0, "f"], - [8342, 0, "o"], - [8343, 0, "o"], - [8344, 0, "t"], - [8345, 0, "n"], - [8346, 0, "o"], - [8347, 0, "t"], - [8348, 0, "e"], - [8349, 0, "s"], - [8350, 0, "i"], - [8351, 0, "z"], - [8352, 0, "e"], - [8353, 0, " "], - [8354, 0, "y"], - [8355, 0, "i"], - [8356, 0, "e"], - [8357, 0, "l"], - [8358, 0, "d"], - [8359, 0, ";"], - [8360, 0, "]"], - [8360, 1], - [8360, 0, "}"], - [8361, 0, " "], - [8362, 0, "("], - [8363, 0, "l"], - [8364, 0, "e"], - [8365, 0, "f"], - [8366, 0, "t"], - [8367, 0, "5"], - [8367, 1], - [8367, 0, "4"], - [8368, 0, ")"], - [8369, 0, ";"], - [8370, 0, "\n"], - [8371, 0, "\\"], - [8372, 0, "d"], - [8373, 0, "r"], - [8374, 0, "a"], - [8375, 0, "w"], - [8376, 0, " "], - [8377, 0, "["], - [8378, 0, "t"], - [8379, 0, "h"], - [8380, 0, "i"], - [8381, 0, "c"], - [8382, 0, "k"], - [8383, 0, ","], - [8384, 0, "-"], - [8385, 0, ">"], - [8386, 0, "]"], - [8387, 0, " "], - [8388, 0, "("], - [8389, 0, "r"], - [8390, 0, "i"], - [8391, 0, "g"], - [8392, 0, "h"], - [8393, 0, "t"], - [8394, 0, "3"], - [8395, 0, ")"], - [8396, 0, " "], - [8397, 0, "t"], - [8398, 0, "o"], - [8399, 0, " "], - [8400, 0, "n"], - [8401, 0, "o"], - [8402, 0, "d"], - [8403, 0, "e"], - [8404, 0, " "], - [8405, 0, "["], - [8406, 0, "r"], - [8407, 0, "i"], - [8408, 0, "g"], - [8409, 0, "h"], - [8410, 0, "t"], - [8411, 0, "]"], - [8412, 0, " "], - [8413, 0, "{"], - [8414, 0, "\\"], - [8415, 0, "f"], - [8416, 0, "o"], - [8417, 0, "o"], - [8418, 0, "t"], - [8419, 0, "n"], - [8420, 0, "o"], - [8421, 0, "t"], - [8422, 0, "e"], - [8423, 0, "s"], - [8424, 0, "i"], - [8425, 0, "z"], - [8426, 0, "e"], - [8427, 0, " "], - [8428, 0, "y"], - [8429, 0, "i"], - [8430, 0, "e"], - [8431, 0, "l"], - [8432, 0, "d"], - [8433, 0, ";"], - [8434, 0, "}"], - [8435, 0, " "], - [8436, 0, "("], - [8437, 0, "r"], - [8438, 0, "i"], - [8439, 0, "g"], - [8440, 0, "h"], - [8441, 0, "t"], - [8442, 0, "4"], - [8443, 0, ")"], - [8444, 0, ";"], - [8445, 0, "\n"], - [8446, 0, "\\"], - [8447, 0, "d"], - [8448, 0, "r"], - [8449, 0, "a"], - [8450, 0, "w"], - [8451, 0, " "], - [8452, 0, "["], - [8453, 0, "t"], - [8454, 0, "h"], - [8455, 0, "i"], - [8456, 0, "c"], - [8457, 0, "k"], - [8458, 0, ","], - [8459, 0, "-"], - [8460, 0, ">"], - [8461, 0, "]"], - [8462, 0, " "], - [8463, 0, "("], - [8464, 0, "l"], - [8465, 0, "e"], - [8466, 0, "f"], - [8467, 0, "t"], - [8468, 0, "3"], - [8469, 0, ")"], - [8470, 0, " "], - [8471, 0, "t"], - [8472, 0, "o"], - [8473, 0, " "], - [8474, 0, "("], - [8475, 0, "r"], - [8476, 0, "i"], - [8477, 0, "g"], - [8478, 0, "h"], - [8479, 0, "t"], - [8480, 0, "5"], - [8480, 1], - [8480, 0, "4"], - [8481, 0, ")"], - [8482, 0, ";"], - [8483, 0, "\n"], - [8484, 0, "\\"], - [8485, 0, "d"], - [8486, 0, "r"], - [8487, 0, "a"], - [8488, 0, "w"], - [8489, 0, " "], - [8490, 0, "["], - [8491, 0, "t"], - [8492, 0, "h"], - [8493, 0, "i"], - [8494, 0, "c"], - [8495, 0, "k"], - [8496, 0, ","], - [8497, 0, "-"], - [8498, 0, ">"], - [8499, 0, " "], - [8499, 1], - [8499, 0, "]"], - [8500, 0, " "], - [8501, 0, "("], - [8502, 0, "r"], - [8503, 0, "i"], - [8504, 0, "g"], - [8505, 0, "h"], - [8506, 0, "t"], - [8507, 0, "3"], - [8508, 0, " "], - [8508, 1], - [8508, 0, ")"], - [8509, 0, " "], - [8510, 0, "t"], - [8511, 0, "o"], - [8512, 0, " "], - [8513, 0, "("], - [8514, 0, "l"], - [8515, 0, "e"], - [8516, 0, "f"], - [8517, 0, "t"], - [8518, 0, "3"], - [8519, 0, "4"], - [8519, 1], - [8518, 1], - [8518, 0, "4"], - [8519, 0, ")"], - [8520, 0, ";"], - [7582, 0, " "], - [7737, 0, " "], - [7839, 0, " "], - [7943, 0, " "], - [8149, 0, " "], - [8329, 0, " "], - [8477, 0, " "], - [8345, 0, " "], - [8165, 0, " "], - [7959, 0, " "], - [7752, 0, " "], - [7531, 0, "."], - [7532, 0, "5"], - [7592, 0, "."], - [7593, 0, "0"], - [7666, 0, "."], - [7667, 0, "0"], - [7479, 1], - [7479, 0, "3"], - [7480, 0, "."], - [7481, 0, "0"], - [7423, 0, "."], - [7424, 0, "5"], - [7371, 1], - [7371, 0, "3"], - [7372, 0, "."], - [7373, 0, "0"], - [7326, 1], - [7326, 0, "4"], - [7327, 0, "."], - [7328, 0, "5"], - [7281, 1], - [7281, 0, "4"], - [7282, 0, "."], - [7283, 0, "5"], - [7244, 1], - [7244, 0, "6"], - [7245, 0, "."], - [7246, 0, "0"], - [6520, 0, " "], - [6373, 0, " "], - [6154, 0, " "], - [6031, 0, " "], - [6046, 0, " "], - [6392, 0, " "], - [8689, 0, "\n"], - [8690, 0, "\n"], - [8691, 0, "\\"], - [8692, 0, "b"], - [8693, 0, "e"], - [8694, 0, "g"], - [8695, 0, "i"], - [8696, 0, "n"], - [8697, 0, "{"], - [8698, 0, "f"], - [8699, 0, "i"], - [8700, 0, "g"], - [8701, 0, "u"], - [8702, 0, "r"], - [8703, 0, "e"], - [8704, 0, "*"], - [8705, 0, "}"], - [8706, 0, "\n"], - [8707, 0, "\\"], - [8708, 0, "e"], - [8709, 0, "n"], - [8710, 0, "d"], - [8711, 0, "{"], - [8712, 0, "f"], - [8713, 0, "i"], - [8714, 0, "g"], - [8715, 0, "u"], - [8716, 0, "r"], - [8717, 0, "e"], - [8718, 0, "*"], - [8719, 0, "]"], - [8719, 1], - [8719, 0, "}"], - [8706, 0, "\n"], - [8707, 0, "\\"], - [8708, 0, "c"], - [8709, 0, "e"], - [8710, 0, "n"], - [8711, 0, "t"], - [8712, 0, "e"], - [8713, 0, "r"], - [8714, 0, "i"], - [8715, 0, "n"], - [8716, 0, "g"], - [8717, 0, "\n"], - [8718, 0, "\\"], - [8719, 0, "b"], - [8720, 0, "e"], - [8721, 0, "g"], - [8722, 0, "i"], - [8723, 0, "n"], - [8724, 0, "{"], - [8725, 0, "t"], - [8726, 0, "i"], - [8727, 0, "k"], - [8728, 0, "z"], - [8729, 0, "p"], - [8730, 0, "i"], - [8731, 0, "c"], - [8732, 0, "t"], - [8733, 0, "u"], - [8734, 0, "r"], - [8735, 0, "e"], - [8736, 0, "}"], - [8737, 0, "["], - [8738, 0, "a"], - [8739, 0, "u"], - [8740, 0, "t"], - [8741, 0, "o"], - [8742, 0, "]"], - [8743, 0, "\n"], - [8744, 0, "\\"], - [8745, 0, "e"], - [8746, 0, "n"], - [8747, 0, "d"], - [8748, 0, "{"], - [8749, 0, "t"], - [8750, 0, "i"], - [8751, 0, "k"], - [8752, 0, "z"], - [8753, 0, "p"], - [8754, 0, "i"], - [8755, 0, "c"], - [8756, 0, "t"], - [8757, 0, "u"], - [8758, 0, "r"], - [8759, 0, "e"], - [8760, 0, "}"], - [8761, 0, "\n"], - [8762, 0, "\\"], - [8763, 0, "c"], - [8764, 0, "a"], - [8765, 0, "p"], - [8766, 0, "t"], - [8767, 0, "u"], - [8767, 1], - [8767, 0, "i"], - [8768, 0, "o"], - [8769, 0, "n"], - [8770, 0, "{"], - [8771, 0, "O"], - [8772, 0, "n"], - [8773, 0, "e"], - [8774, 0, " "], - [8775, 0, "r"], - [8776, 0, "e"], - [8777, 0, "p"], - [8778, 0, "l"], - [8779, 0, "i"], - [8780, 0, "c"], - [8781, 0, "a"], - [8782, 0, " "], - [8783, 0, "r"], - [8784, 0, "e"], - [8785, 0, "m"], - [8786, 0, "o"], - [8787, 0, "v"], - [8788, 0, "e"], - [8789, 0, "s"], - [8790, 0, " "], - [8791, 0, "a"], - [8792, 0, " "], - [8793, 0, "l"], - [8794, 0, "i"], - [8795, 0, "s"], - [8796, 0, "t"], - [8797, 0, " "], - [8798, 0, "e"], - [8799, 0, "l"], - [8800, 0, "e"], - [8801, 0, "m"], - [8802, 0, "e"], - [8803, 0, "n"], - [8804, 0, "t"], - [8805, 0, ","], - [8806, 0, " "], - [8807, 0, "w"], - [8808, 0, "h"], - [8809, 0, "i"], - [8810, 0, "l"], - [8811, 0, "e"], - [8812, 0, " "], - [8813, 0, "a"], - [8814, 0, "n"], - [8815, 0, "o"], - [8816, 0, "t"], - [8817, 0, "h"], - [8818, 0, "e"], - [8819, 0, "r"], - [8820, 0, " "], - [8821, 0, "c"], - [8822, 0, "o"], - [8823, 0, "n"], - [8824, 0, "c"], - [8825, 0, "u"], - [8826, 0, "r"], - [8827, 0, "r"], - [8828, 0, "e"], - [8829, 0, "n"], - [8830, 0, "t"], - [8831, 0, "l"], - [8832, 0, "y"], - [8833, 0, " "], - [8834, 0, "u"], - [8835, 0, "p"], - [8836, 0, "d"], - [8837, 0, "a"], - [8838, 0, "t"], - [8839, 0, "e"], - [8840, 0, "s"], - [8841, 0, " "], - [8842, 0, "i"], - [8843, 0, "t"], - [8844, 0, "s"], - [8845, 0, " "], - [8846, 0, "c"], - [8847, 0, "o"], - [8848, 0, "n"], - [8849, 0, "t"], - [8850, 0, "e"], - [8851, 0, "n"], - [8852, 0, "t"], - [8853, 0, "s"], - [8854, 0, "}"], - [8855, 0, "\\"], - [8856, 0, "l"], - [8857, 0, "a"], - [8858, 0, "b"], - [8859, 0, "e"], - [8860, 0, "l"], - [8861, 0, "{"], - [8862, 0, "f"], - [8863, 0, "i"], - [8864, 0, "g"], - [8865, 0, ":"], - [8866, 0, "t"], - [8867, 0, "o"], - [8868, 0, "d"], - [8869, 0, "o"], - [8870, 0, "-"], - [8871, 0, "i"], - [8872, 0, "t"], - [8873, 0, "e"], - [8874, 0, "m"], - [8875, 0, "}"], - [8743, 0, "\n"], - [8744, 0, "\\"], - [8745, 0, "n"], - [8746, 0, "o"], - [8747, 0, "d"], - [8748, 0, "e"], - [8749, 0, " "], - [8750, 0, "("], - [8751, 0, "s"], - [8752, 0, "t"], - [8753, 0, "a"], - [8754, 0, "r"], - [8755, 0, "t"], - [8756, 0, ")"], - [8757, 0, " "], - [8758, 0, " "], - [8759, 0, "a"], - [8760, 0, "t"], - [8761, 0, " "], - [8762, 0, "("], - [8763, 0, "4"], - [8764, 0, ","], - [8765, 0, "5"], - [8766, 0, ")"], - [8767, 0, " "], - [8768, 0, "{"], - [8769, 0, "\\"], - [8770, 0, "v"], - [8771, 0, "e"], - [8772, 0, "r"], - [8773, 0, "b"], - [8774, 0, "|"], - [8775, 0, "|"], - [8776, 0, "}"], - [8777, 0, ";"], - [8775, 0, "{"], - [8776, 0, "\""], - [8777, 0, "t"], - [8778, 0, "o"], - [8779, 0, "d"], - [8780, 0, "o"], - [8781, 0, "\""], - [8782, 0, ":"], - [8783, 0, "["], - [8784, 0, "{"], - [8785, 0, "\""], - [8786, 0, "t"], - [8787, 0, "e"], - [8788, 0, "x"], - [8789, 0, "t"], - [8789, 1], - [8788, 1], - [8787, 1], - [8787, 0, "i"], - [8788, 0, "t"], - [8789, 0, "l"], - [8790, 0, "e"], - [8791, 0, "\""], - [8792, 0, ":"], - [8793, 0, "\""], - [8794, 0, "b"], - [8795, 0, "u"], - [8796, 0, "y"], - [8797, 0, " "], - [8798, 0, "m"], - [8799, 0, "i"], - [8800, 0, "l"], - [8801, 0, "k"], - [8802, 0, "\""], - [8803, 0, ","], - [8804, 0, " "], - [8805, 0, "\""], - [8806, 0, "d"], - [8807, 0, "o"], - [8808, 0, "n"], - [8809, 0, "e"], - [8810, 0, ":"], - [8810, 1], - [8810, 0, "\""], - [8811, 0, ":"], - [8812, 0, " "], - [8813, 0, "f"], - [8814, 0, "a"], - [8815, 0, "l"], - [8816, 0, "s"], - [8817, 0, "e"], - [8818, 0, "}"], - [8819, 0, "]"], - [8820, 0, "}"], - [8793, 0, " "], - [8783, 0, " "], - [8765, 1], - [8765, 0, "4"], - [8826, 0, "\n"], - [8827, 0, "\\"], - [8828, 0, "n"], - [8829, 0, "o"], - [8830, 0, "d"], - [8831, 0, "e"], - [8832, 0, " "], - [8833, 0, "("], - [8834, 0, "l"], - [8835, 0, "e"], - [8836, 0, "f"], - [8837, 0, "t"], - [8838, 0, "1"], - [8839, 0, ")"], - [8840, 0, " "], - [8841, 0, " "], - [8842, 0, "a"], - [8843, 0, "t"], - [8844, 0, " "], - [8845, 0, "("], - [8846, 0, "0"], - [8847, 0, ","], - [8848, 0, "2"], - [8849, 0, ")"], - [8850, 0, " "], - [8851, 0, "{"], - [8852, 0, "\\"], - [8853, 0, "v"], - [8854, 0, "e"], - [8855, 0, "r"], - [8856, 0, "b"], - [8857, 0, "|"], - [8858, 0, "{"], - [8859, 0, "\""], - [8860, 0, "t"], - [8861, 0, "o"], - [8862, 0, "d"], - [8863, 0, "o"], - [8864, 0, "\""], - [8865, 0, ":"], - [8866, 0, " "], - [8867, 0, "["], - [8868, 0, "]"], - [8869, 0, "}"], - [8870, 0, "|"], - [8871, 0, "}"], - [8872, 0, ";"], - [8873, 0, "\n"], - [8874, 0, "\\"], - [8875, 0, "n"], - [8876, 0, "o"], - [8877, 0, "d"], - [8878, 0, "e"], - [8879, 0, " "], - [8880, 0, "("], - [8881, 0, "r"], - [8882, 0, "i"], - [8883, 0, "g"], - [8884, 0, "h"], - [8885, 0, "t"], - [8886, 0, "1"], - [8887, 0, ")"], - [8888, 0, " "], - [8889, 0, "a"], - [8890, 0, "t"], - [8891, 0, " "], - [8892, 0, "("], - [8893, 0, "8"], - [8894, 0, ","], - [8895, 0, "2"], - [8896, 0, ")"], - [8897, 0, " "], - [8898, 0, "{"], - [8899, 0, "\\"], - [8900, 0, "v"], - [8901, 0, "e"], - [8902, 0, "r"], - [8903, 0, "b"], - [8904, 0, "|"], - [8905, 0, "{"], - [8906, 0, "\""], - [8907, 0, "t"], - [8908, 0, "o"], - [8909, 0, "d"], - [8910, 0, "o"], - [8911, 0, "\""], - [8912, 0, ":"], - [8913, 0, " "], - [8914, 0, "["], - [8915, 0, "{"], - [8916, 0, "\""], - [8917, 0, "t"], - [8918, 0, "i"], - [8919, 0, "t"], - [8920, 0, "l"], - [8921, 0, "e"], - [8922, 0, "\""], - [8923, 0, ":"], - [8924, 0, " "], - [8925, 0, "\""], - [8926, 0, "b"], - [8927, 0, "u"], - [8928, 0, "y"], - [8929, 0, " "], - [8930, 0, "m"], - [8931, 0, "i"], - [8932, 0, "l"], - [8933, 0, "k"], - [8934, 0, "\""], - [8935, 0, ","], - [8936, 0, " "], - [8937, 0, "\""], - [8938, 0, "d"], - [8939, 0, "o"], - [8940, 0, "n"], - [8941, 0, "e"], - [8942, 0, "\""], - [8943, 0, ":"], - [8944, 0, " "], - [8945, 0, "t"], - [8946, 0, "r"], - [8947, 0, "u"], - [8948, 0, "e"], - [8949, 0, "}"], - [8950, 0, "]"], - [8951, 0, "}"], - [8952, 0, "|"], - [8953, 0, "}"], - [8954, 0, ";"], - [8955, 0, "\n"], - [8956, 0, "\\"], - [8957, 0, "n"], - [8958, 0, "o"], - [8959, 0, "d"], - [8960, 0, "e"], - [8961, 0, " "], - [8962, 0, "("], - [8963, 0, "l"], - [8964, 0, "e"], - [8965, 0, "f"], - [8966, 0, "t"], - [8967, 0, "2"], - [8968, 0, ")"], - [8969, 0, " "], - [8970, 0, " "], - [8971, 0, "a"], - [8972, 0, "t"], - [8973, 0, " "], - [8974, 0, "("], - [8975, 0, "0"], - [8976, 0, ","], - [8977, 0, "0"], - [8978, 0, ")"], - [8979, 0, " "], - [8980, 0, "{"], - [8981, 0, "\\"], - [8982, 0, "v"], - [8983, 0, "e"], - [8984, 0, "r"], - [8985, 0, "b"], - [8986, 0, "|"], - [8987, 0, "["], - [8988, 0, "\""], - [8988, 1], - [8987, 1], - [8987, 0, "{"], - [8988, 0, "\""], - [8989, 0, "t"], - [8990, 0, "o"], - [8991, 0, "d"], - [8992, 0, "o"], - [8993, 0, "\""], - [8994, 0, ":"], - [8995, 0, " "], - [8996, 0, "["], - [8997, 0, "{"], - [8998, 0, "\""], - [8999, 0, "d"], - [9000, 0, "o"], - [9001, 0, "n"], - [9002, 0, "e"], - [9003, 0, "\""], - [9004, 0, ":"], - [9005, 0, " "], - [9006, 0, "t"], - [9007, 0, "r"], - [9008, 0, "u"], - [9009, 0, "e"], - [9010, 0, "}"], - [9011, 0, "]"], - [9012, 0, "}"], - [9013, 0, "|"], - [9014, 0, "}"], - [9015, 0, ";"], - [9016, 0, "\n"], - [9017, 0, "\\"], - [9018, 0, "n"], - [9019, 0, "o"], - [9020, 0, "d"], - [9021, 0, "e"], - [9022, 0, " "], - [9023, 0, "("], - [9024, 0, "r"], - [9025, 0, "i"], - [9026, 0, "g"], - [9027, 0, "h"], - [9028, 0, "t"], - [9029, 0, "2"], - [9030, 0, ")"], - [9031, 0, " "], - [9032, 0, "a"], - [9033, 0, "t"], - [9034, 0, " "], - [9035, 0, "("], - [9036, 0, "8"], - [9037, 0, ","], - [9038, 0, "0"], - [9039, 0, ")"], - [9040, 0, " "], - [9041, 0, "{"], - [9042, 0, "\\"], - [9043, 0, "v"], - [9044, 0, "e"], - [9045, 0, "r"], - [9046, 0, "b"], - [9047, 0, "|"], - [9048, 0, "{"], - [9049, 0, "\""], - [9050, 0, "t"], - [9051, 0, "o"], - [9052, 0, "d"], - [9053, 0, "o"], - [9054, 0, "\""], - [9055, 0, ":"], - [9056, 0, " "], - [9057, 0, "["], - [9058, 0, "\""], - [9058, 1], - [9058, 0, "{"], - [9059, 0, "\""], - [9060, 0, "d"], - [9061, 0, "o"], - [9062, 0, "n"], - [9063, 0, "e"], - [9064, 0, "\""], - [9065, 0, ":"], - [9066, 0, " "], - [9067, 0, "t"], - [9068, 0, "r"], - [9069, 0, "u"], - [9070, 0, "e"], - [9071, 0, "}"], - [9072, 0, "]"], - [9073, 0, "}"], - [9074, 0, "|"], - [9075, 0, "}"], - [9076, 0, ";"], - [8895, 1], - [8895, 0, "1"], - [8896, 0, "."], - [8897, 0, "5"], - [8848, 1], - [8848, 0, "1"], - [8849, 0, "."], - [8850, 0, "5"], - [8765, 1], - [8765, 0, "3"], - [8766, 0, "."], - [8767, 0, "0"], - [8984, 0, "."], - [8985, 0, "0"], - [9047, 0, "."], - [9048, 0, "0"], - [9087, 0, "\n"], - [9088, 0, "\\"], - [9089, 0, "d"], - [9090, 0, "r"], - [9091, 0, "a"], - [9092, 0, "w"], - [9093, 0, " "], - [9094, 0, "["], - [9095, 0, "t"], - [9096, 0, "h"], - [9097, 0, "i"], - [9098, 0, "c"], - [9099, 0, "k"], - [9100, 0, ","], - [9101, 0, "-"], - [9102, 0, ">"], - [9103, 0, "]"], - [9104, 0, " "], - [9105, 0, "("], - [9106, 0, "s"], - [9107, 0, "t"], - [9108, 0, "a"], - [9109, 0, "r"], - [9110, 0, "t"], - [9111, 0, ")"], - [9112, 0, " "], - [9113, 0, " "], - [9114, 0, "t"], - [9115, 0, "o"], - [9116, 0, " "], - [9117, 0, "n"], - [9118, 0, "o"], - [9119, 0, "d"], - [9120, 0, "e"], - [9121, 0, " "], - [9122, 0, "["], - [9123, 0, "l"], - [9124, 0, "e"], - [9125, 0, "f"], - [9126, 0, "t"], - [9127, 0, ","], - [9128, 0, " "], - [9129, 0, "i"], - [9130, 0, "n"], - [9131, 0, "n"], - [9132, 0, "e"], - [9133, 0, "r"], - [9134, 0, " "], - [9135, 0, "x"], - [9136, 0, "s"], - [9137, 0, "e"], - [9138, 0, "p"], - [9139, 0, "="], - [9140, 0, "1"], - [9141, 0, "2"], - [9142, 0, "p"], - [9143, 0, "t"], - [9144, 0, "]"], - [9145, 0, " "], - [9146, 0, "{"], - [9147, 0, "\\"], - [9148, 0, "f"], - [9149, 0, "o"], - [9150, 0, "o"], - [9151, 0, "t"], - [9152, 0, "n"], - [9153, 0, "o"], - [9154, 0, "t"], - [9155, 0, "e"], - [9156, 0, "s"], - [9157, 0, "i"], - [9158, 0, "z"], - [9159, 0, "e"], - [9160, 0, " "], - [9161, 0, "d"], - [9162, 0, "o"], - [9163, 0, "c"], - [9164, 0, "["], - [9165, 0, "`"], - [9166, 0, "`"], - [9167, 0, "t"], - [9168, 0, "o"], - [9169, 0, "d"], - [9170, 0, "o"], - [9171, 0, "'"], - [9172, 0, "'"], - [9173, 0, "]"], - [9174, 0, "."], - [9175, 0, "i"], - [9176, 0, "t"], - [9177, 0, "e"], - [9178, 0, "r"], - [9179, 0, "."], - [9180, 0, "n"], - [9181, 0, "e"], - [9182, 0, "x"], - [9183, 0, "t"], - [9184, 0, "."], - [9185, 0, "d"], - [9186, 0, "e"], - [9187, 0, "l"], - [9188, 0, "e"], - [9189, 0, "t"], - [9190, 0, "e"], - [9191, 0, ";"], - [9192, 0, "}"], - [9193, 0, " "], - [9194, 0, "("], - [9195, 0, "l"], - [9196, 0, "e"], - [9197, 0, "f"], - [9198, 0, "t"], - [9199, 0, "1"], - [9200, 0, ")"], - [9201, 0, ";"], - [9202, 0, "\n"], - [9203, 0, "\\"], - [9204, 0, "d"], - [9205, 0, "r"], - [9206, 0, "a"], - [9207, 0, "w"], - [9208, 0, " "], - [9209, 0, "["], - [9210, 0, "t"], - [9211, 0, "h"], - [9212, 0, "i"], - [9213, 0, "c"], - [9214, 0, "k"], - [9215, 0, ","], - [9216, 0, "-"], - [9217, 0, ">"], - [9218, 0, "]"], - [9219, 0, " "], - [9220, 0, "("], - [9221, 0, "s"], - [9222, 0, "t"], - [9223, 0, "a"], - [9224, 0, "r"], - [9225, 0, "t"], - [9226, 0, ")"], - [9227, 0, " "], - [9228, 0, " "], - [9229, 0, "t"], - [9230, 0, "o"], - [9231, 0, " "], - [9232, 0, "n"], - [9233, 0, "o"], - [9234, 0, "d"], - [9235, 0, "e"], - [9236, 0, " "], - [9237, 0, "["], - [9238, 0, "r"], - [9239, 0, "i"], - [9240, 0, "g"], - [9241, 0, "h"], - [9242, 0, "t"], - [9243, 0, ","], - [9244, 0, "i"], - [9245, 0, "n"], - [9246, 0, "n"], - [9247, 0, "e"], - [9248, 0, "r"], - [9249, 0, " "], - [9250, 0, "x"], - [9251, 0, "s"], - [9252, 0, "e"], - [9253, 0, "p"], - [9254, 0, "="], - [9255, 0, "1"], - [9256, 0, "2"], - [9257, 0, "p"], - [9258, 0, "t"], - [9259, 0, "]"], - [9260, 0, " "], - [9261, 0, "{"], - [9262, 0, "\\"], - [9263, 0, "f"], - [9264, 0, "o"], - [9265, 0, "o"], - [9266, 0, "t"], - [9267, 0, "n"], - [9268, 0, "o"], - [9269, 0, "t"], - [9270, 0, "e"], - [9271, 0, "s"], - [9272, 0, "i"], - [9273, 0, "z"], - [9274, 0, "e"], - [9275, 0, " "], - [9276, 0, "d"], - [9277, 0, "o"], - [9278, 0, "c"], - [9279, 0, "["], - [9280, 0, "`"], - [9281, 0, "`"], - [9282, 0, "t"], - [9283, 0, "o"], - [9284, 0, "d"], - [9285, 0, "o"], - [9286, 0, "'"], - [9287, 0, "'"], - [9288, 0, "]"], - [9289, 0, "]"], - [9289, 1], - [9289, 0, "."], - [9290, 0, "i"], - [9291, 0, "t"], - [9292, 0, "e"], - [9293, 0, "r"], - [9294, 0, "."], - [9295, 0, "n"], - [9296, 0, "e"], - [9297, 0, "x"], - [9298, 0, "t"], - [9299, 0, "["], - [9300, 0, "`"], - [9301, 0, "`"], - [9302, 0, "d"], - [9303, 0, "o"], - [9304, 0, "n"], - [9305, 0, "e"], - [9306, 0, "'"], - [9307, 0, "'"], - [9308, 0, "]"], - [9309, 0, " "], - [9310, 0, ":"], - [9311, 0, "="], - [9312, 0, " "], - [9313, 0, "t"], - [9314, 0, "r"], - [9315, 0, "u"], - [9316, 0, "e"], - [9317, 0, ";"], - [9318, 0, "}"], - [9319, 0, " "], - [9320, 0, "("], - [9321, 0, "r"], - [9322, 0, "i"], - [9323, 0, "g"], - [9324, 0, "h"], - [9325, 0, "t"], - [9326, 0, "2"], - [9326, 1], - [9326, 0, "1"], - [9327, 0, ")"], - [9328, 0, ";"], - [9329, 0, "\n"], - [9330, 0, "\\"], - [9331, 0, "d"], - [9332, 0, "r"], - [9333, 0, "a"], - [9334, 0, "w"], - [9335, 0, " "], - [9336, 0, "["], - [9337, 0, "t"], - [9338, 0, "h"], - [9339, 0, "i"], - [9340, 0, "c"], - [9341, 0, "k"], - [9342, 0, ","], - [9343, 0, "-"], - [9344, 0, ">"], - [9345, 0, "]"], - [9346, 0, " "], - [9347, 0, "("], - [9348, 0, "l"], - [9349, 0, "e"], - [9350, 0, "f"], - [9351, 0, "t"], - [9352, 0, "1"], - [9353, 0, ")"], - [9354, 0, " "], - [9355, 0, " "], - [9356, 0, "t"], - [9357, 0, "o"], - [9358, 0, " "], - [9359, 0, "n"], - [9360, 0, "o"], - [9361, 0, "d"], - [9362, 0, "e"], - [9363, 0, " "], - [9364, 0, "["], - [9365, 0, "l"], - [9366, 0, "e"], - [9367, 0, "f"], - [9368, 0, "t"], - [9369, 0, "]"], - [9370, 0, " "], - [9371, 0, " "], - [9372, 0, "{"], - [9373, 0, "\\"], - [9374, 0, "f"], - [9375, 0, "o"], - [9376, 0, "o"], - [9377, 0, "t"], - [9378, 0, "n"], - [9379, 0, "o"], - [9380, 0, "t"], - [9381, 0, "e"], - [9382, 0, "s"], - [9383, 0, "i"], - [9384, 0, "z"], - [9385, 0, "e"], - [9386, 0, " "], - [9387, 0, "y"], - [9388, 0, "i"], - [9389, 0, "e"], - [9390, 0, "l"], - [9391, 0, "d"], - [9392, 0, ";"], - [9393, 0, "}"], - [9394, 0, " "], - [9395, 0, "["], - [9395, 1], - [9395, 0, "("], - [9396, 0, "l"], - [9397, 0, "e"], - [9398, 0, "f"], - [9399, 0, "t"], - [9400, 0, "2"], - [9401, 0, ")"], - [9402, 0, ";"], - [9403, 0, "\n"], - [9404, 0, "\\"], - [9405, 0, "d"], - [9406, 0, "r"], - [9407, 0, "a"], - [9408, 0, "w"], - [9409, 0, " "], - [9410, 0, "["], - [9411, 0, "t"], - [9412, 0, "h"], - [9413, 0, "i"], - [9414, 0, "c"], - [9415, 0, "k"], - [9416, 0, ","], - [9417, 0, "-"], - [9418, 0, ">"], - [9419, 0, "]"], - [9420, 0, " "], - [9421, 0, "("], - [9422, 0, "r"], - [9423, 0, "i"], - [9424, 0, "g"], - [9425, 0, "h"], - [9426, 0, "t"], - [9427, 0, "1"], - [9428, 0, ")"], - [9429, 0, " "], - [9430, 0, "t"], - [9431, 0, "o"], - [9432, 0, " "], - [9433, 0, "n"], - [9434, 0, "o"], - [9435, 0, "d"], - [9436, 0, "e"], - [9437, 0, " "], - [9438, 0, "["], - [9439, 0, "r"], - [9440, 0, "i"], - [9441, 0, "g"], - [9442, 0, "h"], - [9443, 0, "t"], - [9444, 0, "]"], - [9445, 0, " "], - [9446, 0, "{"], - [9447, 0, "\\"], - [9448, 0, "f"], - [9449, 0, "o"], - [9450, 0, "o"], - [9451, 0, "t"], - [9452, 0, "n"], - [9453, 0, "o"], - [9454, 0, "t"], - [9455, 0, "e"], - [9456, 0, "s"], - [9457, 0, "i"], - [9458, 0, "z"], - [9459, 0, "e"], - [9460, 0, " "], - [9461, 0, "y"], - [9462, 0, "i"], - [9463, 0, "e"], - [9464, 0, "l"], - [9465, 0, "d"], - [9466, 0, ";"], - [9467, 0, "}"], - [9468, 0, " "], - [9469, 0, "("], - [9470, 0, "r"], - [9471, 0, "i"], - [9472, 0, "g"], - [9473, 0, "h"], - [9474, 0, "t"], - [9475, 0, "2"], - [9476, 0, ")"], - [9477, 0, ";"], - [9478, 0, "\n"], - [9479, 0, "\\"], - [9480, 0, "d"], - [9481, 0, "r"], - [9482, 0, "a"], - [9483, 0, "w"], - [9484, 0, " "], - [9485, 0, "["], - [9486, 0, "t"], - [9487, 0, "h"], - [9488, 0, "i"], - [9489, 0, "c"], - [9490, 0, "k"], - [9491, 0, ","], - [9492, 0, "-"], - [9493, 0, ">"], - [9494, 0, "]"], - [9495, 0, " "], - [9496, 0, "("], - [9497, 0, "l"], - [9498, 0, "e"], - [9499, 0, "f"], - [9500, 0, "t"], - [9501, 0, "1"], - [9502, 0, ")"], - [9503, 0, " "], - [9504, 0, " "], - [9505, 0, "t"], - [9506, 0, "o"], - [9507, 0, " "], - [9508, 0, "("], - [9509, 0, "r"], - [9510, 0, "i"], - [9511, 0, "g"], - [9512, 0, "h"], - [9513, 0, "t"], - [9514, 0, "2"], - [9515, 0, ")"], - [9516, 0, ";"], - [9517, 0, "\n"], - [9518, 0, "\\"], - [9519, 0, "d"], - [9520, 0, "r"], - [9521, 0, "a"], - [9522, 0, "w"], - [9523, 0, " "], - [9524, 0, "["], - [9525, 0, "t"], - [9526, 0, "h"], - [9527, 0, "i"], - [9528, 0, "c"], - [9529, 0, "k"], - [9530, 0, ","], - [9531, 0, "-"], - [9532, 0, ">"], - [9533, 0, "]"], - [9534, 0, " "], - [9535, 0, "("], - [9536, 0, "r"], - [9537, 0, "i"], - [9538, 0, "g"], - [9539, 0, "h"], - [9540, 0, "t"], - [9541, 0, "1"], - [9542, 0, ")"], - [9543, 0, " "], - [9544, 0, "t"], - [9545, 0, "o"], - [9546, 0, " "], - [9547, 0, "("], - [9548, 0, "l"], - [9549, 0, "e"], - [9550, 0, "f"], - [9551, 0, "t"], - [9552, 0, "2"], - [9553, 0, ")"], - [9554, 0, ";"], - [8689, 0, "\n"], - [8690, 0, "\n"], - [8691, 0, "T"], - [8692, 0, "h"], - [8693, 0, "e"], - [8694, 0, " "], - [8695, 0, "e"], - [8696, 0, "x"], - [8697, 0, "a"], - [8698, 0, "m"], - [8699, 0, "p"], - [8700, 0, "l"], - [8701, 0, "e"], - [8702, 0, " "], - [8703, 0, "i"], - [8704, 0, "n"], - [8705, 0, " "], - [8706, 0, "F"], - [8707, 0, "i"], - [8708, 0, "g"], - [8709, 0, "u"], - [8710, 0, "r"], - [8711, 0, "e"], - [8712, 0, "~"], - [8713, 0, "\\"], - [8714, 0, "r"], - [8715, 0, "e"], - [8716, 0, "f"], - [8717, 0, "{"], - [8718, 0, "f"], - [8719, 0, "i"], - [8720, 0, "g"], - [8721, 0, ":"], - [8722, 0, "t"], - [8723, 0, "w"], - [8724, 0, "o"], - [8725, 0, "-"], - [8726, 0, "l"], - [8727, 0, "i"], - [8728, 0, "s"], - [8729, 0, "t"], - [8730, 0, "s"], - [8731, 0, "}"], - [8732, 0, " "], - [8733, 0, "s"], - [8734, 0, "h"], - [8735, 0, "o"], - [8736, 0, "w"], - [8737, 0, "s"], - [8738, 0, " "], - [8739, 0, "t"], - [8740, 0, "w"], - [8741, 0, "o"], - [8742, 0, " "], - [8743, 0, "r"], - [8744, 0, "e"], - [8745, 0, "p"], - [8746, 0, "l"], - [8747, 0, "i"], - [8748, 0, "c"], - [8749, 0, "a"], - [8750, 0, "s"], - [8751, 0, " "], - [8752, 0, "c"], - [8753, 0, "o"], - [8754, 0, "n"], - [8755, 0, "c"], - [8756, 0, "u"], - [8757, 0, "r"], - [8758, 0, "r"], - [8759, 0, "e"], - [8760, 0, "n"], - [8761, 0, "t"], - [8762, 0, "l"], - [8763, 0, "y"], - [8764, 0, " "], - [8765, 0, "c"], - [8766, 0, "r"], - [8767, 0, "e"], - [8768, 0, "a"], - [8769, 0, "t"], - [8770, 0, "i"], - [8771, 0, "n"], - [8772, 0, "g"], - [8773, 0, " "], - [8774, 0, "a"], - [8775, 0, " "], - [8776, 0, "n"], - [8777, 0, "e"], - [8778, 0, "w"], - [8779, 0, " "], - [8780, 0, "l"], - [8781, 0, "i"], - [8782, 0, "s"], - [8783, 0, "t"], - [8784, 0, " "], - [8785, 0, "u"], - [8786, 0, "n"], - [8787, 0, "d"], - [8788, 0, "e"], - [8789, 0, "r"], - [8790, 0, " "], - [8791, 0, "t"], - [8792, 0, "h"], - [8793, 0, "e"], - [8794, 0, " "], - [8795, 0, "s"], - [8796, 0, "a"], - [8797, 0, "m"], - [8798, 0, "e"], - [8799, 0, " "], - [8800, 0, "m"], - [8801, 0, "a"], - [8802, 0, "p"], - [8803, 0, " "], - [8780, 0, "o"], - [8781, 0, "r"], - [8782, 0, "d"], - [8783, 0, "e"], - [8784, 0, "r"], - [8785, 0, "e"], - [8786, 0, "d"], - [8787, 0, " "], - [8786, 1], - [8785, 1], - [8784, 1], - [8783, 1], - [8782, 1], - [8781, 1], - [8780, 1], - [8780, 0, "s"], - [8781, 0, "h"], - [8782, 0, "o"], - [8783, 0, "p"], - [8784, 0, "p"], - [8785, 0, "i"], - [8786, 0, "n"], - [8787, 0, "g"], - [8813, 0, "k"], - [8814, 0, "e"], - [8815, 0, "y"], - [8816, 0, " "], - [8817, 0, "`"], - [8818, 0, "`"], - [8819, 0, "b"], - [8820, 0, "u"], - [8821, 0, "y"], - [8822, 0, "'"], - [8823, 0, "'"], - [8824, 0, ","], - [8825, 0, " "], - [8826, 0, "a"], - [8827, 0, "n"], - [8828, 0, "d"], - [8829, 0, " "], - [8830, 0, "a"], - [8831, 0, "d"], - [8832, 0, "d"], - [8833, 0, "i"], - [8834, 0, "n"], - [8835, 0, "g"], - [8836, 0, " "], - [8837, 0, "i"], - [8838, 0, "t"], - [8839, 0, "e"], - [8840, 0, "m"], - [8841, 0, "s"], - [8842, 0, " "], - [8843, 0, "t"], - [8844, 0, "o"], - [8845, 0, " "], - [8846, 0, "t"], - [8847, 0, "h"], - [8848, 0, "e"], - [8849, 0, " "], - [8850, 0, "l"], - [8851, 0, "i"], - [8852, 0, "s"], - [8853, 0, "t"], - [8854, 0, "."], - [8855, 0, " "], - [8856, 0, "W"], - [8857, 0, "h"], - [8858, 0, "e"], - [8859, 0, "n"], - [8860, 0, " "], - [8861, 0, "t"], - [8862, 0, "h"], - [8863, 0, "e"], - [8864, 0, " "], - [8865, 0, "r"], - [8866, 0, "e"], - [8867, 0, "p"], - [8868, 0, "l"], - [8869, 0, "i"], - [8870, 0, "c"], - [8871, 0, "a"], - [8872, 0, "s"], - [8873, 0, " "], - [8874, 0, "a"], - [8875, 0, "r"], - [8876, 0, "e"], - [8877, 0, " "], - [8878, 0, "m"], - [8879, 0, "e"], - [8880, 0, "r"], - [8881, 0, "g"], - [8882, 0, "e"], - [8883, 0, "d"], - [8884, 0, ","], - [8885, 0, " "], - [8886, 0, "t"], - [8887, 0, "h"], - [8888, 0, "e"], - [8889, 0, " "], - [8890, 0, "l"], - [8891, 0, "i"], - [8892, 0, "s"], - [8893, 0, "t"], - [8894, 0, "s"], - [8895, 0, " "], - [8896, 0, "n"], - [8897, 0, "e"], - [8898, 0, "e"], - [8899, 0, "d"], - [8900, 0, " "], - [8901, 0, "t"], - [8902, 0, "o"], - [8903, 0, " "], - [8904, 0, "b"], - [8905, 0, "e"], - [8906, 0, " "], - [8907, 0, "m"], - [8908, 0, "e"], - [8909, 0, "r"], - [8910, 0, "g"], - [8911, 0, "e"], - [8912, 0, "d"], - [8913, 0, " "], - [8913, 1], - [8913, 0, " "], - [8914, 0, "a"], - [8915, 0, "l"], - [8916, 0, "s"], - [8917, 0, "o"], - [8918, 0, "."], - [8919, 0, " "], - [8920, 0, "W"], - [8921, 0, "e"], - [8922, 0, " "], - [8923, 0, "p"], - [8924, 0, "r"], - [8925, 0, "e"], - [8926, 0, "s"], - [8927, 0, "e"], - [8928, 0, "r"], - [8929, 0, "v"], - [8930, 0, "e"], - [8931, 0, " "], - [8932, 0, "t"], - [8933, 0, "h"], - [8934, 0, "e"], - [8935, 0, " "], - [8936, 0, "o"], - [8937, 0, "r"], - [8938, 0, "d"], - [8939, 0, "e"], - [8940, 0, "r"], - [8941, 0, "i"], - [8942, 0, "n"], - [8943, 0, "g"], - [8944, 0, " "], - [8945, 0, "o"], - [8946, 0, "f"], - [8947, 0, " "], - [8948, 0, "a"], - [8949, 0, "d"], - [8950, 0, "j"], - [8951, 0, "a"], - [8951, 1], - [8950, 1], - [8949, 1], - [8948, 1], - [8947, 1], - [8946, 1], - [8945, 1], - [8945, 0, "a"], - [8946, 0, "n"], - [8947, 0, "d"], - [8948, 0, " "], - [8949, 0, "a"], - [8950, 0, "d"], - [8951, 0, "j"], - [8952, 0, "a"], - [8953, 0, "c"], - [8954, 0, "e"], - [8955, 0, "n"], - [8956, 0, "c"], - [8957, 0, "y"], - [8958, 0, " "], - [8959, 0, "o"], - [8960, 0, "f"], - [8961, 0, " "], - [8962, 0, "i"], - [8963, 0, "t"], - [8964, 0, "e"], - [8965, 0, "m"], - [8966, 0, "s"], - [8967, 0, " "], - [8968, 0, "i"], - [8969, 0, "n"], - [8970, 0, "s"], - [8971, 0, "e"], - [8972, 0, "r"], - [8973, 0, "t"], - [8974, 0, "e"], - [8975, 0, "d"], - [8976, 0, " "], - [8977, 0, "a"], - [8978, 0, "t"], - [8979, 0, " "], - [8980, 0, "e"], - [8981, 0, "a"], - [8982, 0, "c"], - [8983, 0, "h"], - [8984, 0, " "], - [8985, 0, "r"], - [8986, 0, "e"], - [8987, 0, "p"], - [8988, 0, "l"], - [8989, 0, "i"], - [8990, 0, "c"], - [8991, 0, "a"], - [8992, 0, ","], - [8993, 0, " "], - [8994, 0, "s"], - [8995, 0, "o"], - [8996, 0, " "], - [8997, 0, "`"], - [8998, 0, "`"], - [8999, 0, "h"], - [9000, 0, "a"], - [9001, 0, "m"], - [9002, 0, " "], - [9002, 1], - [9002, 0, "'"], - [9003, 0, "'"], - [9004, 0, " "], - [9005, 0, "a"], - [9006, 0, "p"], - [9007, 0, "p"], - [9008, 0, "e"], - [9009, 0, "a"], - [9010, 0, "r"], - [9011, 0, "s"], - [9012, 0, " "], - [9013, 0, "a"], - [9014, 0, "f"], - [9015, 0, "t"], - [9016, 0, "e"], - [9017, 0, "r"], - [9018, 0, " "], - [9019, 0, "`"], - [9020, 0, "`"], - [9021, 0, "e"], - [9022, 0, "g"], - [9023, 0, "g"], - [9024, 0, "s"], - [9025, 0, "'"], - [9026, 0, "'"], - [9027, 0, ","], - [9028, 0, " "], - [9029, 0, "a"], - [9030, 0, "n"], - [9031, 0, "d"], - [9032, 0, " "], - [9033, 0, "`"], - [9034, 0, "`"], - [9035, 0, "f"], - [9036, 0, "l"], - [9037, 0, "o"], - [9038, 0, "u"], - [9039, 0, "r"], - [9040, 0, "`"], - [9040, 1], - [9040, 0, "'"], - [9041, 0, "'"], - [9042, 0, " "], - [9043, 0, "a"], - [9044, 0, "p"], - [9045, 0, "p"], - [9046, 0, "e"], - [9047, 0, "a"], - [9048, 0, "r"], - [9049, 0, "s"], - [9050, 0, " "], - [9051, 0, "a"], - [9052, 0, "f"], - [9053, 0, "t"], - [9054, 0, "e"], - [9055, 0, "r"], - [9056, 0, " "], - [9057, 0, "`"], - [9058, 0, "`"], - [9059, 0, "m"], - [9060, 0, "i"], - [9061, 0, "l"], - [9062, 0, "k"], - [9063, 0, "'"], - [9064, 0, "'"], - [9065, 0, " "], - [9066, 0, "i"], - [9067, 0, "n"], - [9068, 0, " "], - [9069, 0, "t"], - [9070, 0, "h"], - [9071, 0, "e"], - [9072, 0, " "], - [9073, 0, "m"], - [9074, 0, "e"], - [9075, 0, "r"], - [9076, 0, "g"], - [9077, 0, "e"], - [9078, 0, "d"], - [9079, 0, " "], - [9080, 0, "r"], - [9081, 0, "e"], - [9082, 0, "s"], - [9083, 0, "u"], - [9084, 0, "l"], - [9085, 0, "t"], - [9086, 0, "."], - [9087, 0, " "], - [9088, 0, "W"], - [9089, 0, "h"], - [9090, 0, "e"], - [9091, 0, "t"], - [9092, 0, "h"], - [9093, 0, "e"], - [9094, 0, "r"], - [9095, 0, " "], - [9095, 1], - [9094, 1], - [9093, 1], - [9092, 1], - [9091, 1], - [9090, 1], - [9089, 1], - [9088, 1], - [9088, 0, "T"], - [9089, 0, "h"], - [9090, 0, "e"], - [9091, 0, "r"], - [9092, 0, "e"], - [9093, 0, " "], - [9094, 0, "i"], - [9095, 0, "s"], - [9096, 0, " "], - [9097, 0, "n"], - [9098, 0, "o"], - [9099, 0, " "], - [9100, 0, "i"], - [9101, 0, "n"], - [9102, 0, "f"], - [9103, 0, "o"], - [9104, 0, "r"], - [9105, 0, "m"], - [9106, 0, "a"], - [9107, 0, "t"], - [9108, 0, "i"], - [9109, 0, "o"], - [9110, 0, "n"], - [9111, 0, " "], - [9112, 0, "o"], - [9113, 0, "n"], - [9114, 0, " "], - [9115, 0, "w"], - [9116, 0, "h"], - [9117, 0, "e"], - [9118, 0, "t"], - [9119, 0, "h"], - [9120, 0, "e"], - [9121, 0, "r"], - [9122, 0, " "], - [9122, 1], - [9121, 1], - [9120, 1], - [9119, 1], - [9118, 1], - [9117, 1], - [9116, 1], - [9116, 0, "i"], - [9116, 1], - [9116, 0, "h"], - [9117, 0, "i"], - [9118, 0, "c"], - [9119, 0, "h"], - [9120, 0, " "], - [9121, 0, "r"], - [9122, 0, "e"], - [9123, 0, "p"], - [9124, 0, "l"], - [9125, 0, "i"], - [9126, 0, "c"], - [9127, 0, "a"], - [9128, 0, "'"], - [9129, 0, "s"], - [9130, 0, " "], - [9131, 0, "i"], - [9132, 0, "t"], - [9133, 0, "e"], - [9134, 0, "m"], - [9135, 0, "s"], - [9136, 0, " "], - [9137, 0, "s"], - [9138, 0, "h"], - [9139, 0, "o"], - [9140, 0, "u"], - [9141, 0, "l"], - [9142, 0, "d"], - [9143, 0, " "], - [9144, 0, "a"], - [9145, 0, "p"], - [9146, 0, "p"], - [9147, 0, "e"], - [9148, 0, "a"], - [9149, 0, "r"], - [9150, 0, " "], - [9151, 0, "f"], - [9152, 0, "i"], - [9153, 0, "r"], - [9154, 0, "s"], - [9155, 0, "t"], - [9156, 0, " "], - [9157, 0, "i"], - [9158, 0, "n"], - [9159, 0, " "], - [9160, 0, "t"], - [9161, 0, "h"], - [9162, 0, "e"], - [9163, 0, " "], - [9164, 0, "m"], - [9165, 0, "e"], - [9166, 0, "r"], - [9167, 0, "g"], - [9168, 0, "e"], - [9169, 0, "d"], - [9170, 0, " "], - [9171, 0, "r"], - [9172, 0, "e"], - [9173, 0, "s"], - [9174, 0, "u"], - [9175, 0, "l"], - [9176, 0, "t"], - [9177, 0, ","], - [9178, 0, " "], - [9179, 0, "s"], - [9180, 0, "o"], - [9181, 0, " "], - [9182, 0, "t"], - [9183, 0, "h"], - [9184, 0, "e"], - [9185, 0, "r"], - [9186, 0, "e"], - [9187, 0, " "], - [9187, 1], - [9186, 1], - [9185, 1], - [9185, 0, " "], - [9186, 0, "a"], - [9187, 0, "l"], - [9188, 0, "g"], - [9189, 0, "o"], - [9190, 0, "r"], - [9191, 0, "i"], - [9192, 0, "t"], - [9193, 0, "h"], - [9194, 0, "m"], - [9195, 0, " "], - [9196, 0, "c"], - [9197, 0, "a"], - [9198, 0, "n"], - [9199, 0, " "], - [9200, 0, "m"], - [9201, 0, "a"], - [9202, 0, "k"], - [9203, 0, "e"], - [9204, 0, " "], - [9205, 0, "a"], - [9206, 0, "n"], - [9207, 0, " "], - [9208, 0, "a"], - [9209, 0, "r"], - [9210, 0, "b"], - [9211, 0, "i"], - [9212, 0, "t"], - [9213, 0, "r"], - [9214, 0, "a"], - [9215, 0, "r"], - [9216, 0, "y"], - [9217, 0, " "], - [9218, 0, "n"], - [9219, 0, "o"], - [9219, 1], - [9218, 1], - [9218, 0, "c"], - [9219, 0, "h"], - [9220, 0, "o"], - [9221, 0, "i"], - [9222, 0, "c"], - [9223, 0, "e"], - [9224, 0, " "], - [9225, 0, "b"], - [9226, 0, "e"], - [9227, 0, "t"], - [9228, 0, "w"], - [9229, 0, "e"], - [9230, 0, "e"], - [9231, 0, "n"], - [9232, 0, " "], - [9233, 0, "`"], - [9234, 0, "`"], - [9235, 0, "e"], - [9236, 0, "g"], - [9237, 0, "g"], - [9238, 0, "s"], - [9239, 0, ","], - [9240, 0, " "], - [9241, 0, "h"], - [9242, 0, "j"], - [9243, 0, "a"], - [9243, 1], - [9242, 1], - [9242, 0, "a"], - [9243, 0, "m"], - [9244, 0, ","], - [9245, 0, " "], - [9246, 0, "m"], - [9247, 0, "i"], - [9248, 0, "l"], - [9249, 0, "k"], - [9250, 0, ","], - [9251, 0, " "], - [9252, 0, "f"], - [9253, 0, "l"], - [9254, 0, "o"], - [9255, 0, "u"], - [9256, 0, "r"], - [9257, 0, "'"], - [9258, 0, "'"], - [9259, 0, " "], - [9260, 0, "a"], - [9261, 0, "n"], - [9262, 0, "d"], - [9263, 0, " "], - [9264, 0, "`"], - [9265, 0, "`"], - [9266, 0, "m"], - [9267, 0, "i"], - [9268, 0, "l"], - [9269, 0, "k"], - [9270, 0, ","], - [9271, 0, " "], - [9272, 0, "f"], - [9273, 0, "l"], - [9274, 0, "o"], - [9275, 0, "u"], - [9276, 0, "r"], - [9277, 0, ","], - [9278, 0, " "], - [9279, 0, "e"], - [9280, 0, "g"], - [9281, 0, "g"], - [9282, 0, "s"], - [9283, 0, ","], - [9284, 0, " "], - [9285, 0, "h"], - [9286, 0, "a"], - [9287, 0, "m"], - [9288, 0, "'"], - [9289, 0, "'"], - [9290, 0, ","], - [9291, 0, " "], - [9292, 0, "p"], - [9293, 0, "r"], - [9294, 0, "o"], - [9295, 0, "v"], - [9296, 0, "i"], - [9297, 0, "d"], - [9298, 0, "e"], - [9299, 0, "d"], - [9300, 0, " "], - [9301, 0, "t"], - [9302, 0, "h"], - [9303, 0, "a"], - [9304, 0, "t"], - [9305, 0, " "], - [9306, 0, "a"], - [9307, 0, "l"], - [9308, 0, "l"], - [9309, 0, " "], - [9310, 0, "r"], - [9311, 0, "e"], - [9312, 0, "p"], - [9313, 0, "l"], - [9314, 0, "i"], - [9315, 0, "c"], - [9316, 0, "a"], - [9317, 0, "s"], - [9318, 0, " "], - [9319, 0, "c"], - [9320, 0, "o"], - [9321, 0, "n"], - [9322, 0, "v"], - [9322, 1], - [9321, 1], - [9320, 1], - [9319, 1], - [9319, 0, "e"], - [9320, 0, "n"], - [9321, 0, "d"], - [9322, 0, " "], - [9323, 0, "u"], - [9324, 0, "p"], - [9325, 0, " "], - [9326, 0, "w"], - [9327, 0, "i"], - [9328, 0, "t"], - [9329, 0, "h"], - [9330, 0, " "], - [9331, 0, "t"], - [9332, 0, "h"], - [9333, 0, "e"], - [9334, 0, " "], - [9335, 0, "s"], - [9336, 0, "a"], - [9337, 0, "m"], - [9338, 0, "e"], - [9339, 0, " "], - [9340, 0, "o"], - [9341, 0, "r"], - [9342, 0, "d"], - [9343, 0, "e"], - [9344, 0, "r"], - [9345, 0, "."], - [10359, 0, "\n"], - [10360, 0, "\n"], - [10361, 0, "O"], - [10362, 0, "u"], - [10363, 0, "r"], - [10364, 0, " "], - [10365, 0, "f"], - [10366, 0, "i"], - [10367, 0, "n"], - [10368, 0, "a"], - [10369, 0, "l"], - [10370, 0, " "], - [10371, 0, "e"], - [10372, 0, "x"], - [10373, 0, "a"], - [10374, 0, "m"], - [10375, 0, "p"], - [10376, 0, "l"], - [10377, 0, "e"], - [10378, 0, " "], - [10379, 0, "i"], - [10380, 0, "n"], - [10381, 0, " "], - [10382, 0, "F"], - [10383, 0, "i"], - [10384, 0, "g"], - [10385, 0, "u"], - [10386, 0, "r"], - [10387, 0, "e"], - [10388, 0, "~"], - [10389, 0, "\\"], - [10390, 0, "r"], - [10391, 0, "e"], - [10392, 0, "f"], - [10393, 0, "{"], - [10394, 0, "f"], - [10395, 0, "i"], - [10396, 0, "g"], - [10397, 0, ":"], - [10398, 0, "t"], - [10399, 0, "o"], - [10400, 0, "d"], - [10401, 0, "o"], - [10402, 0, "-"], - [10403, 0, "i"], - [10404, 0, "t"], - [10405, 0, "e"], - [10406, 0, "m"], - [10407, 0, "}"], - [10408, 0, " "], - [10409, 0, "s"], - [10410, 0, "h"], - [10411, 0, "o"], - [10412, 0, "w"], - [10413, 0, "s"], - [10414, 0, " "], - [10415, 0, "a"], - [10416, 0, " "], - [10417, 0, "l"], - [10418, 0, "i"], - [10419, 0, "m"], - [10420, 0, "i"], - [10421, 0, "t"], - [10422, 0, "a"], - [10423, 0, "t"], - [10424, 0, "i"], - [10425, 0, "o"], - [10426, 0, "n"], - [10427, 0, " "], - [10428, 0, "o"], - [10429, 0, "f"], - [10430, 0, " "], - [10431, 0, "t"], - [10432, 0, "h"], - [10433, 0, "e"], - [10434, 0, " "], - [10435, 0, "p"], - [10436, 0, "r"], - [10437, 0, "i"], - [10438, 0, "n"], - [10439, 0, "c"], - [10440, 0, "i"], - [10441, 0, "p"], - [10442, 0, "l"], - [10443, 0, "e"], - [10444, 0, " "], - [10445, 0, "o"], - [10446, 0, "f"], - [10447, 0, " "], - [10448, 0, "p"], - [10449, 0, "r"], - [10450, 0, "e"], - [10451, 0, "s"], - [10452, 0, "e"], - [10453, 0, "r"], - [10454, 0, "v"], - [10455, 0, "i"], - [10456, 0, "n"], - [10457, 0, "g"], - [10458, 0, " "], - [10459, 0, "a"], - [10460, 0, "l"], - [10461, 0, "l"], - [10462, 0, " "], - [10463, 0, "u"], - [10464, 0, "s"], - [10465, 0, "e"], - [10466, 0, "r"], - [10467, 0, " "], - [10468, 0, "i"], - [10469, 0, "n"], - [10470, 0, "p"], - [10471, 0, "u"], - [10472, 0, "t"], - [10473, 0, "."], - [10474, 0, " "], - [10475, 0, "I"], - [10476, 0, "n"], - [10477, 0, " "], - [10478, 0, "a"], - [10479, 0, " "], - [10480, 0, "T"], - [10481, 0, "o"], - [10482, 0, " "], - [10482, 1], - [10481, 1], - [10480, 1], - [10479, 1], - [10479, 0, "t"], - [10480, 0, "o"], - [10481, 0, " "], - [10481, 1], - [10480, 1], - [10479, 1], - [10478, 1], - [10478, 0, "a"], - [10479, 0, " "], - [10480, 0, "t"], - [10481, 0, "o"], - [10482, 0, "-"], - [10483, 0, "d"], - [10484, 0, "o"], - [10485, 0, " "], - [10486, 0, "l"], - [10487, 0, "i"], - [10488, 0, "s"], - [10489, 0, "t"], - [10490, 0, " "], - [10491, 0, "a"], - [10492, 0, "p"], - [10493, 0, "p"], - [10494, 0, "l"], - [10495, 0, "i"], - [10496, 0, "c"], - [10497, 0, "a"], - [10498, 0, "t"], - [10499, 0, "i"], - [10500, 0, "o"], - [10501, 0, "n"], - [10502, 0, ","], - [10503, 0, " "], - [10504, 0, "o"], - [10505, 0, "n"], - [10506, 0, "e"], - [10507, 0, " "], - [10508, 0, "r"], - [10509, 0, "e"], - [10510, 0, "p"], - [10511, 0, "l"], - [10512, 0, "i"], - [10513, 0, "c"], - [10514, 0, "a"], - [10515, 0, " "], - [10516, 0, "r"], - [10517, 0, "e"], - [10518, 0, "m"], - [10519, 0, "o"], - [10520, 0, "v"], - [10521, 0, "e"], - [10522, 0, "s"], - [10523, 0, " "], - [10524, 0, "a"], - [10525, 0, " "], - [10526, 0, "t"], - [10527, 0, "o"], - [10528, 0, "-"], - [10529, 0, "d"], - [10530, 0, "o"], - [10531, 0, " "], - [10532, 0, "i"], - [10533, 0, "t"], - [10534, 0, "e"], - [10535, 0, "m"], - [10536, 0, " "], - [10537, 0, "f"], - [10538, 0, "r"], - [10539, 0, "o"], - [10540, 0, "m"], - [10541, 0, " "], - [10542, 0, "t"], - [10543, 0, "h"], - [10544, 0, "e"], - [10545, 0, " "], - [10546, 0, "l"], - [10547, 0, "i"], - [10548, 0, "s"], - [10549, 0, "t"], - [10550, 0, ","], - [10551, 0, " "], - [10552, 0, "w"], - [10553, 0, "h"], - [10554, 0, "i"], - [10555, 0, "l"], - [10556, 0, "e"], - [10557, 0, " "], - [10558, 0, "a"], - [10559, 0, "n"], - [10560, 0, "o"], - [10561, 0, "t"], - [10562, 0, "h"], - [10563, 0, "e"], - [10564, 0, "r"], - [10565, 0, " "], - [10566, 0, "r"], - [10567, 0, "e"], - [10568, 0, "p"], - [10569, 0, "l"], - [10570, 0, "i"], - [10571, 0, "c"], - [10572, 0, "a"], - [10573, 0, " "], - [10574, 0, "c"], - [10575, 0, "o"], - [10576, 0, "n"], - [10577, 0, "c"], - [10578, 0, "u"], - [10579, 0, "r"], - [10580, 0, "r"], - [10581, 0, "e"], - [10582, 0, "n"], - [10583, 0, "t"], - [10584, 0, "l"], - [10585, 0, "y"], - [10586, 0, " "], - [10587, 0, "m"], - [10588, 0, "a"], - [10589, 0, "r"], - [10590, 0, "k"], - [10591, 0, "s"], - [10592, 0, " "], - [10593, 0, "t"], - [10594, 0, "h"], - [10595, 0, "e"], - [10596, 0, " "], - [10597, 0, "s"], - [10598, 0, "a"], - [10599, 0, "m"], - [10600, 0, "e"], - [10601, 0, " "], - [10602, 0, "i"], - [10603, 0, "t"], - [10604, 0, "e"], - [10605, 0, "m"], - [10606, 0, " "], - [10607, 0, "a"], - [10608, 0, "s"], - [10609, 0, " "], - [10610, 0, "d"], - [10611, 0, "o"], - [10612, 0, "n"], - [10613, 0, "e"], - [10614, 0, "."], - [10615, 0, " "], - [10616, 0, "A"], - [10617, 0, "s"], - [10618, 0, " "], - [10619, 0, "t"], - [10620, 0, "h"], - [10621, 0, "e"], - [10622, 0, " "], - [10623, 0, "c"], - [10624, 0, "h"], - [10625, 0, "a"], - [10626, 0, "n"], - [10627, 0, "g"], - [10628, 0, "e"], - [10629, 0, "s"], - [10630, 0, " "], - [10631, 0, "a"], - [10632, 0, "r"], - [10633, 0, "e"], - [10634, 0, " "], - [10635, 0, "m"], - [10636, 0, "e"], - [10637, 0, "r"], - [10638, 0, "g"], - [10639, 0, "e"], - [10640, 0, "d"], - [10641, 0, ","], - [10642, 0, " "], - [10643, 0, "t"], - [10644, 0, "h"], - [10645, 0, "e"], - [10646, 0, " "], - [10647, 0, "u"], - [10648, 0, "p"], - [10649, 0, "d"], - [10650, 0, "a"], - [10651, 0, "t"], - [10652, 0, "e"], - [10653, 0, " "], - [10654, 0, "o"], - [10655, 0, "f"], - [10656, 0, " "], - [10657, 0, "t"], - [10658, 0, "h"], - [10659, 0, "e"], - [10660, 0, " "], - [10661, 0, "m"], - [10662, 0, "a"], - [10663, 0, "p"], - [10664, 0, " "], - [10665, 0, "k"], - [10666, 0, "e"], - [10667, 0, "y"], - [10668, 0, " "], - [10669, 0, "`"], - [10670, 0, "`"], - [10671, 0, "d"], - [10672, 0, "o"], - [10673, 0, "n"], - [10674, 0, "e"], - [10675, 0, "'"], - [10676, 0, "'"], - [10677, 0, " "], - [10678, 0, "e"], - [10679, 0, "f"], - [10680, 0, "f"], - [10681, 0, "e"], - [10682, 0, "c"], - [10683, 0, "t"], - [10684, 0, "i"], - [10685, 0, "v"], - [10686, 0, "e"], - [10687, 0, "l"], - [10688, 0, "y"], - [10689, 0, " "], - [10690, 0, "c"], - [10691, 0, "a"], - [10692, 0, "u"], - [10693, 0, "s"], - [10694, 0, "e"], - [10695, 0, "s"], - [10696, 0, " "], - [10697, 0, "t"], - [10698, 0, "h"], - [10699, 0, "e"], - [10700, 0, " "], - [10701, 0, "l"], - [10702, 0, "i"], - [10703, 0, "s"], - [10704, 0, "t"], - [10705, 0, " "], - [10706, 0, "i"], - [10707, 0, "t"], - [10708, 0, "e"], - [10709, 0, "m"], - [10710, 0, " "], - [10711, 0, "t"], - [10712, 0, "o"], - [10713, 0, " "], - [10714, 0, "b"], - [10715, 0, "e"], - [10716, 0, " "], - [10717, 0, "r"], - [10718, 0, "e"], - [10719, 0, "s"], - [10720, 0, "u"], - [10721, 0, "r"], - [10722, 0, "r"], - [10723, 0, "e"], - [10724, 0, "c"], - [10725, 0, "t"], - [10726, 0, "e"], - [10727, 0, "d"], - [10728, 0, " "], - [10729, 0, "o"], - [10730, 0, "n"], - [10731, 0, " "], - [10732, 0, "t"], - [10733, 0, "h"], - [10734, 0, "e"], - [10735, 0, " "], - [10736, 0, "l"], - [10737, 0, "e"], - [10738, 0, "f"], - [10739, 0, "t"], - [10740, 0, " "], - [10741, 0, "r"], - [10742, 0, "e"], - [10743, 0, "p"], - [10744, 0, "l"], - [10745, 0, "i"], - [10746, 0, "c"], - [10747, 0, "a"], - [10748, 0, "."], - [10749, 0, " "], - [10749, 1], - [10748, 1], - [10748, 0, ","], - [10749, 0, " "], - [10750, 0, "l"], - [10751, 0, "e"], - [10752, 0, "a"], - [10753, 0, "d"], - [10754, 0, "i"], - [10755, 0, "n"], - [10756, 0, "g"], - [10757, 0, " "], - [10758, 0, "t"], - [10759, 0, "o"], - [10760, 0, " "], - [10761, 0, "a"], - [10762, 0, " "], - [10763, 0, "t"], - [10764, 0, "o"], - [10765, 0, "-"], - [10766, 0, "d"], - [10767, 0, "o"], - [10768, 0, "-"], - [10768, 1], - [10768, 0, " "], - [10769, 0, "i"], - [10770, 0, "t"], - [10771, 0, "e"], - [10772, 0, "m"], - [10773, 0, " "], - [10774, 0, "w"], - [10775, 0, "i"], - [10776, 0, "t"], - [10777, 0, "h"], - [10778, 0, "o"], - [10779, 0, "u"], - [10780, 0, "t"], - [10781, 0, " "], - [10782, 0, "a"], - [10783, 0, " "], - [10784, 0, "t"], - [10785, 0, "i"], - [10786, 0, "t"], - [10787, 0, "l"], - [10788, 0, "e"], - [10789, 0, " "], - [10790, 0, "("], - [10791, 0, "s"], - [10792, 0, "i"], - [10793, 0, "n"], - [10794, 0, "c"], - [10795, 0, "e"], - [10796, 0, " "], - [10797, 0, "t"], - [10798, 0, "h"], - [10799, 0, "e"], - [10800, 0, " "], - [10801, 0, "t"], - [10802, 0, "i"], - [10803, 0, "t"], - [10804, 0, "l"], - [10805, 0, "e"], - [10806, 0, " "], - [10807, 0, "w"], - [10808, 0, "a"], - [10809, 0, "s"], - [10810, 0, " "], - [10811, 0, "d"], - [10812, 0, "e"], - [10813, 0, "l"], - [10814, 0, "e"], - [10815, 0, "t"], - [10816, 0, "e"], - [10817, 0, "d"], - [10818, 0, " "], - [10819, 0, "a"], - [10820, 0, "s"], - [10821, 0, " "], - [10822, 0, "p"], - [10823, 0, "a"], - [10824, 0, "r"], - [10825, 0, "t"], - [10826, 0, " "], - [10827, 0, "o"], - [10828, 0, "f"], - [10829, 0, " "], - [10830, 0, "d"], - [10831, 0, "e"], - [10832, 0, "l"], - [10833, 0, "e"], - [10834, 0, "t"], - [10835, 0, "i"], - [10836, 0, "n"], - [10837, 0, "g"], - [10838, 0, " "], - [10839, 0, "t"], - [10840, 0, "h"], - [10841, 0, "e"], - [10842, 0, " "], - [10843, 0, "l"], - [10844, 0, "i"], - [10845, 0, "s"], - [10846, 0, "t"], - [10847, 0, " "], - [10848, 0, "i"], - [10849, 0, "t"], - [10850, 0, "e"], - [10851, 0, "m"], - [10852, 0, ")"], - [10853, 0, "."], - [10854, 0, " "], - [10855, 0, "T"], - [10856, 0, "h"], - [10857, 0, "i"], - [10858, 0, "s"], - [10859, 0, " "], - [10860, 0, "b"], - [10861, 0, "e"], - [10862, 0, "h"], - [10863, 0, "a"], - [10864, 0, "v"], - [10865, 0, "i"], - [10866, 0, "o"], - [10867, 0, "r"], - [10868, 0, " "], - [10869, 0, "i"], - [10870, 0, "s"], - [10871, 0, " "], - [10872, 0, "c"], - [10873, 0, "o"], - [10874, 0, "n"], - [10875, 0, "s"], - [10876, 0, "i"], - [10877, 0, "s"], - [10878, 0, "t"], - [10879, 0, "e"], - [10880, 0, "n"], - [10881, 0, "t"], - [10882, 0, " "], - [10883, 0, "w"], - [10884, 0, "i"], - [10885, 0, "t"], - [10886, 0, "h"], - [10887, 0, " "], - [10888, 0, "t"], - [10889, 0, "h"], - [10890, 0, "e"], - [10891, 0, " "], - [10892, 0, "e"], - [10893, 0, "x"], - [10894, 0, "a"], - [10895, 0, "m"], - [10896, 0, "p"], - [10897, 0, "l"], - [10898, 0, "e"], - [10899, 0, " "], - [10900, 0, "i"], - [10901, 0, "n"], - [10902, 0, " "], - [10903, 0, "F"], - [10904, 0, "i"], - [10905, 0, "g"], - [10906, 0, "u"], - [10907, 0, "r"], - [10908, 0, "e"], - [10909, 0, "~"], - [10910, 0, "\\"], - [10911, 0, "l"], - [10911, 1], - [10911, 0, "r"], - [10912, 0, "e"], - [10913, 0, "f"], - [10914, 0, "{"], - [10915, 0, "f"], - [10916, 0, "i"], - [10917, 0, "g"], - [10918, 0, ":"], - [10919, 0, "m"], - [10920, 0, "a"], - [10921, 0, "p"], - [10922, 0, "-"], - [10923, 0, "r"], - [10924, 0, "e"], - [10925, 0, "m"], - [10926, 0, "o"], - [10927, 0, "v"], - [10928, 0, "e"], - [10929, 0, "}"], - [10930, 0, ","], - [10931, 0, " "], - [10932, 0, "b"], - [10933, 0, "u"], - [10934, 0, "t"], - [10935, 0, " "], - [10936, 0, "i"], - [10937, 0, "t"], - [10938, 0, " "], - [10939, 0, "i"], - [10940, 0, "s"], - [10941, 0, " "], - [10942, 0, "p"], - [10943, 0, "e"], - [10944, 0, "r"], - [10945, 0, "h"], - [10946, 0, "a"], - [10947, 0, "p"], - [10948, 0, "s"], - [10949, 0, " "], - [10950, 0, "s"], - [10951, 0, "u"], - [10952, 0, "r"], - [10953, 0, "p"], - [10954, 0, "r"], - [10955, 0, "i"], - [10956, 0, "s"], - [10957, 0, "i"], - [10958, 0, "n"], - [10959, 0, "g"], - [10960, 0, " "], - [10961, 0, "t"], - [10962, 0, "o"], - [10963, 0, " "], - [10964, 0, "u"], - [10965, 0, "s"], - [10966, 0, "e"], - [10967, 0, "r"], - [10968, 0, "s"], - [10969, 0, "."], - [10970, 0, " "], - [10971, 0, "I"], - [10972, 0, "n"], - [10973, 0, " "], - [10974, 0, "t"], - [10975, 0, "h"], - [10976, 0, "i"], - [10977, 0, "s"], - [10978, 0, " "], - [10979, 0, "e"], - [10980, 0, "x"], - [10981, 0, "a"], - [10982, 0, "m"], - [10983, 0, "p"], - [10984, 0, "l"], - [10985, 0, "e"], - [10986, 0, " "], - [10987, 0, "i"], - [10988, 0, "t"], - [10989, 0, " "], - [10990, 0, "m"], - [10991, 0, "a"], - [10992, 0, "y"], - [10993, 0, " "], - [10994, 0, "b"], - [10995, 0, "e"], - [10996, 0, " "], - [10997, 0, "m"], - [10998, 0, "o"], - [10999, 0, "r"], - [11000, 0, "e"], - [11001, 0, " "], - [11002, 0, "d"], - [11003, 0, "e"], - [11004, 0, "s"], - [11005, 0, "i"], - [11006, 0, "r"], - [11007, 0, "a"], - [11008, 0, "b"], - [11009, 0, "l"], - [11010, 0, "e"], - [11011, 0, " "], - [11012, 0, "t"], - [11013, 0, "o"], - [11014, 0, " "], - [11015, 0, "d"], - [11016, 0, "i"], - [11017, 0, "s"], - [11018, 0, "c"], - [11019, 0, "a"], - [11020, 0, "r"], - [11021, 0, "d"], - [11022, 0, " "], - [11023, 0, "o"], - [11024, 0, "n"], - [11025, 0, "e"], - [11026, 0, " "], - [11027, 0, "o"], - [11028, 0, "f"], - [11029, 0, " "], - [11030, 0, "t"], - [11031, 0, "h"], - [11032, 0, "e"], - [11033, 0, " "], - [11034, 0, "c"], - [11035, 0, "o"], - [11036, 0, "n"], - [11037, 0, "c"], - [11038, 0, "u"], - [11039, 0, "r"], - [11040, 0, "r"], - [11041, 0, "e"], - [11042, 0, "n"], - [11043, 0, "t"], - [11044, 0, " "], - [11045, 0, "u"], - [11046, 0, "p"], - [11047, 0, "d"], - [11048, 0, "a"], - [11049, 0, "t"], - [11050, 0, "e"], - [11051, 0, "s"], - [11052, 0, ","], - [11053, 0, " "], - [11054, 0, "a"], - [11055, 0, "n"], - [11056, 0, "d"], - [11057, 0, " "], - [11058, 0, "t"], - [11059, 0, "h"], - [11060, 0, "u"], - [11061, 0, "s"], - [11062, 0, " "], - [11063, 0, "p"], - [11064, 0, "r"], - [11065, 0, "e"], - [11066, 0, "s"], - [11067, 0, "e"], - [11068, 0, "r"], - [11069, 0, "v"], - [11070, 0, "e"], - [11071, 0, " "], - [11072, 0, "t"], - [11073, 0, "h"], - [11074, 0, "e"], - [11075, 0, " "], - [11076, 0, "i"], - [11077, 0, "m"], - [11078, 0, "p"], - [11079, 0, "l"], - [11080, 0, "i"], - [11081, 0, "c"], - [11082, 0, "i"], - [11083, 0, "t"], - [11084, 0, " "], - [11085, 0, "s"], - [11086, 0, "c"], - [11087, 0, "h"], - [11088, 0, "e"], - [11089, 0, "m"], - [11090, 0, "a"], - [11091, 0, " "], - [11092, 0, "t"], - [11093, 0, "h"], - [11094, 0, "a"], - [11095, 0, "t"], - [11096, 0, " "], - [11097, 0, "a"], - [11098, 0, " "], - [11099, 0, "t"], - [11100, 0, "o"], - [11101, 0, "-"], - [11102, 0, "d"], - [11103, 0, "o"], - [11104, 0, " "], - [11105, 0, "i"], - [11106, 0, "t"], - [11107, 0, "e"], - [11108, 0, "m"], - [11109, 0, " "], - [11110, 0, "h"], - [11111, 0, "a"], - [11112, 0, "s"], - [11113, 0, " "], - [11114, 0, "b"], - [11115, 0, "o"], - [11116, 0, "t"], - [11117, 0, "h"], - [11118, 0, " "], - [11119, 0, "a"], - [11120, 0, " "], - [11121, 0, "`"], - [11122, 0, "`"], - [11123, 0, "t"], - [11124, 0, "i"], - [11125, 0, "t"], - [11126, 0, "l"], - [11127, 0, "e"], - [11128, 0, "'"], - [11129, 0, "'"], - [11130, 0, " "], - [11131, 0, "a"], - [11132, 0, "n"], - [11133, 0, "d"], - [11134, 0, " "], - [11135, 0, "a"], - [11136, 0, " "], - [11137, 0, "`"], - [11138, 0, "`"], - [11139, 0, "d"], - [11140, 0, "o"], - [11141, 0, "n"], - [11142, 0, "e"], - [11143, 0, "'"], - [11144, 0, "'"], - [11145, 0, " "], - [11146, 0, "f"], - [11147, 0, "i"], - [11148, 0, "e"], - [11149, 0, "l"], - [11150, 0, "d"], - [11151, 0, "."], - [11152, 0, "\n"], - [11153, 0, "\n"], - [11154, 0, "S"], - [11154, 1], - [11154, 0, "T"], - [11155, 0, "h"], - [11156, 0, "e"], - [11157, 0, " "], - [11158, 0, "a"], - [11159, 0, "l"], - [11160, 0, "g"], - [11161, 0, "o"], - [11162, 0, "r"], - [11163, 0, "i"], - [11164, 0, "t"], - [11165, 0, "h"], - [11166, 0, "m"], - [11167, 0, " "], - [11168, 0, "i"], - [11169, 0, "n"], - [11170, 0, " "], - [11171, 0, "t"], - [11172, 0, "h"], - [11173, 0, "i"], - [11174, 0, "s"], - [11175, 0, " "], - [11176, 0, "p"], - [11177, 0, "a"], - [11178, 0, "p"], - [11179, 0, "e"], - [11180, 0, "r"], - [11181, 0, " "], - [11182, 0, "p"], - [11183, 0, "r"], - [11184, 0, "e"], - [11185, 0, "s"], - [11186, 0, "e"], - [11187, 0, "r"], - [11188, 0, "v"], - [11189, 0, "e"], - [11190, 0, "s"], - [11191, 0, " "], - [11192, 0, "a"], - [11193, 0, "l"], - [11194, 0, "l"], - [11195, 0, " "], - [11196, 0, "o"], - [11196, 1], - [11196, 0, "u"], - [11197, 0, "s"], - [11198, 0, "e"], - [11199, 0, "r"], - [11200, 0, " "], - [11201, 0, "i"], - [11202, 0, "n"], - [11203, 0, "p"], - [11204, 0, "u"], - [11205, 0, "t"], - [11206, 0, ","], - [11207, 0, " "], - [11208, 0, "a"], - [11209, 0, "n"], - [11210, 0, "d"], - [11211, 0, " "], - [11212, 0, "s"], - [11213, 0, "o"], - [11214, 0, " "], - [11215, 0, "i"], - [11216, 0, "t"], - [11217, 0, " "], - [11218, 0, "e"], - [11219, 0, "x"], - [11220, 0, "h"], - [11221, 0, "i"], - [11222, 0, "b"], - [11223, 0, "i"], - [11224, 0, "t"], - [11225, 0, "s"], - [11226, 0, " "], - [11227, 0, "t"], - [11228, 0, "h"], - [11229, 0, "e"], - [11230, 0, " "], - [11231, 0, "b"], - [11232, 0, "e"], - [11233, 0, "h"], - [11234, 0, "a"], - [11235, 0, "v"], - [11236, 0, "i"], - [11237, 0, "o"], - [11238, 0, "r"], - [11239, 0, " "], - [11240, 0, "i"], - [11241, 0, "n"], - [11242, 0, " "], - [11242, 1], - [11241, 1], - [11240, 1], - [11240, 0, "s"], - [11241, 0, "h"], - [11242, 0, "o"], - [11243, 0, "w"], - [11244, 0, "n"], - [11245, 0, " "], - [11246, 0, "i"], - [11247, 0, "n"], - [11248, 0, " "], - [11249, 0, "F"], - [11250, 0, "i"], - [11251, 0, "g"], - [11252, 0, "u"], - [11253, 0, "r"], - [11254, 0, "e"], - [11255, 0, "~"], - [11256, 0, "\\"], - [11257, 0, "r"], - [11258, 0, "e"], - [11259, 0, "f"], - [11260, 0, "{"], - [11261, 0, "f"], - [11262, 0, "i"], - [11263, 0, "g"], - [11264, 0, ":"], - [11265, 0, "t"], - [11266, 0, "o"], - [11267, 0, "d"], - [11268, 0, "o"], - [11269, 0, "-"], - [11270, 0, "i"], - [11271, 0, "t"], - [11272, 0, "e"], - [11273, 0, "m"], - [11274, 0, "}"], - [11275, 0, "."], - [11276, 0, " "], - [11277, 0, "F"], - [11278, 0, "u"], - [11279, 0, "r"], - [11280, 0, "t"], - [11281, 0, "h"], - [11282, 0, "e"], - [11283, 0, "r"], - [11284, 0, " "], - [11285, 0, "s"], - [11286, 0, "t"], - [11287, 0, "u"], - [11288, 0, "d"], - [11289, 0, "y"], - [11290, 0, " "], - [11291, 0, "w"], - [11292, 0, "i"], - [11293, 0, "l"], - [11294, 0, "l"], - [11295, 0, " "], - [11296, 0, "b"], - [11297, 0, "e"], - [11298, 0, " "], - [11299, 0, "r"], - [11300, 0, "e"], - [11301, 0, "q"], - [11302, 0, "u"], - [11303, 0, "i"], - [11304, 0, "r"], - [11305, 0, "e"], - [11306, 0, "d"], - [11307, 0, " "], - [11308, 0, "t"], - [11309, 0, "o"], - [11310, 0, " "], - [11311, 0, "d"], - [11312, 0, "e"], - [11313, 0, "t"], - [11314, 0, "e"], - [11315, 0, "r"], - [11316, 0, "m"], - [11317, 0, "i"], - [11318, 0, "n"], - [11319, 0, "e"], - [11320, 0, " "], - [11321, 0, "t"], - [11322, 0, "o"], - [11323, 0, " "], - [11324, 0, "w"], - [11325, 0, "h"], - [11326, 0, "a"], - [11327, 0, "t"], - [11328, 0, " "], - [11329, 0, "d"], - [11330, 0, "e"], - [11331, 0, "g"], - [11332, 0, "r"], - [11333, 0, "e"], - [11334, 0, "e"], - [11335, 0, " "], - [11336, 0, "t"], - [11337, 0, "h"], - [11338, 0, "i"], - [11339, 0, "s"], - [11340, 0, " "], - [11341, 0, "b"], - [11342, 0, "e"], - [11343, 0, "h"], - [11344, 0, "a"], - [11345, 0, "v"], - [11346, 0, "i"], - [11347, 0, "o"], - [11348, 0, "r"], - [11349, 0, " "], - [11350, 0, "m"], - [11351, 0, "a"], - [11352, 0, "t"], - [11353, 0, "c"], - [11354, 0, "h"], - [11355, 0, "e"], - [11356, 0, "s"], - [11357, 0, " "], - [11358, 0, "t"], - [11359, 0, "h"], - [11360, 0, "e"], - [11361, 0, " "], - [11362, 0, "e"], - [11363, 0, "x"], - [11364, 0, "p"], - [11365, 0, "e"], - [11366, 0, "c"], - [11367, 0, "t"], - [11368, 0, "a"], - [11369, 0, "t"], - [11370, 0, "i"], - [11371, 0, "o"], - [11372, 0, "n"], - [11373, 0, "s"], - [11374, 0, " "], - [11375, 0, "o"], - [11376, 0, "f"], - [11377, 0, " "], - [11378, 0, "a"], - [11379, 0, "p"], - [11380, 0, "p"], - [11381, 0, "l"], - [11382, 0, "i"], - [11383, 0, "c"], - [11384, 0, "a"], - [11385, 0, "t"], - [11386, 0, "i"], - [11387, 0, "o"], - [11388, 0, "n"], - [11389, 0, " "], - [11390, 0, "d"], - [11391, 0, "e"], - [11392, 0, "v"], - [11393, 0, "e"], - [11394, 0, "l"], - [11395, 0, "o"], - [11396, 0, "p"], - [11397, 0, "e"], - [11398, 0, "r"], - [11399, 0, "s"], - [11400, 0, " "], - [11401, 0, "a"], - [11402, 0, "n"], - [11403, 0, "d"], - [11404, 0, " "], - [11405, 0, "u"], - [11406, 0, "s"], - [11407, 0, "e"], - [11408, 0, "r"], - [11409, 0, "s"], - [11410, 0, "."], - [5366, 0, " "], - [5367, 0, "A"], - [5368, 0, "n"], - [5369, 0, " "], - [5370, 0, "i"], - [5371, 0, "m"], - [5372, 0, "p"], - [5373, 0, "l"], - [5374, 0, "e"], - [5375, 0, "m"], - [5376, 0, "e"], - [5377, 0, "n"], - [5378, 0, "t"], - [5379, 0, "a"], - [5380, 0, "t"], - [5381, 0, "i"], - [5382, 0, "o"], - [5383, 0, "n"], - [5384, 0, " "], - [5385, 0, "m"], - [5386, 0, "a"], - [5387, 0, "y"], - [5388, 0, " "], - [5389, 0, "k"], - [5390, 0, "e"], - [5391, 0, "e"], - [5392, 0, "p"], - [5393, 0, " "], - [5394, 0, "m"], - [5395, 0, "e"], - [5396, 0, "t"], - [5397, 0, "a"], - [5398, 0, "d"], - [5399, 0, "a"], - [5400, 0, "t"], - [5401, 0, "a"], - [5402, 0, " "], - [5403, 0, "a"], - [5404, 0, "b"], - [5405, 0, "o"], - [5406, 0, "u"], - [5407, 0, "t"], - [5408, 0, " "], - [5409, 0, "t"], - [5410, 0, "h"], - [5411, 0, "e"], - [5412, 0, " "], - [5413, 0, "p"], - [5414, 0, "r"], - [5415, 0, "o"], - [5416, 0, "v"], - [5417, 0, "e"], - [5418, 0, "n"], - [5419, 0, "a"], - [5420, 0, "n"], - [5421, 0, "c"], - [5422, 0, "e"], - [5423, 0, " "], - [5424, 0, "o"], - [5425, 0, "f"], - [5426, 0, " "], - [5427, 0, "e"], - [5428, 0, "a"], - [5429, 0, "c"], - [5430, 0, "h"], - [5431, 0, " "], - [5432, 0, "v"], - [5433, 0, "a"], - [5434, 0, "l"], - [5435, 0, "u"], - [5436, 0, "e"], - [5437, 0, " "], - [5438, 0, "("], - [5439, 0, "w"], - [5440, 0, "h"], - [5441, 0, "o"], - [5442, 0, " "], - [5443, 0, "m"], - [5444, 0, "a"], - [5445, 0, "d"], - [5446, 0, "e"], - [5447, 0, " "], - [5448, 0, "t"], - [5449, 0, "h"], - [5450, 0, "e"], - [5451, 0, " "], - [5452, 0, "c"], - [5453, 0, "h"], - [5454, 0, "a"], - [5455, 0, "n"], - [5456, 0, "g"], - [5457, 0, "e"], - [5458, 0, ","], - [5459, 0, " "], - [5460, 0, "o"], - [5461, 0, "n"], - [5462, 0, " "], - [5463, 0, "w"], - [5464, 0, "h"], - [5465, 0, "i"], - [5466, 0, "c"], - [5467, 0, "h"], - [5468, 0, " "], - [5469, 0, "d"], - [5470, 0, "e"], - [5471, 0, "v"], - [5472, 0, "i"], - [5473, 0, "c"], - [5474, 0, "e"], - [5475, 0, " "], - [5476, 0, "a"], - [5477, 0, "t"], - [5478, 0, " "], - [5479, 0, "w"], - [5480, 0, "h"], - [5481, 0, "a"], - [5482, 0, "t"], - [5483, 0, " "], - [5484, 0, "t"], - [5485, 0, "i"], - [5486, 0, "m"], - [5487, 0, "e"], - [5488, 0, ")"], - [5475, 0, ","], - [5490, 0, " "], - [5491, 0, "t"], - [5492, 0, "o"], - [5493, 0, " "], - [5494, 0, "a"], - [5495, 0, "s"], - [5496, 0, "s"], - [5497, 0, "i"], - [5498, 0, "s"], - [5499, 0, "t"], - [5500, 0, " "], - [5501, 0, "u"], - [5502, 0, "s"], - [5503, 0, "e"], - [5504, 0, "r"], - [5505, 0, "s"], - [5506, 0, " "], - [5507, 0, "w"], - [5508, 0, "i"], - [5509, 0, "t"], - [5510, 0, "h"], - [5511, 0, " "], - [5512, 0, "r"], - [5513, 0, "e"], - [5514, 0, "s"], - [5515, 0, "o"], - [5516, 0, "l"], - [5517, 0, "v"], - [5518, 0, "i"], - [5519, 0, "n"], - [5520, 0, "g"], - [5521, 0, " "], - [5522, 0, "t"], - [5523, 0, "h"], - [5524, 0, "e"], - [5525, 0, " "], - [5526, 0, "c"], - [5527, 0, "o"], - [5528, 0, "n"], - [5529, 0, "f"], - [5530, 0, "l"], - [5531, 0, "i"], - [5532, 0, "c"], - [5533, 0, "t"], - [5534, 0, "."], - [5512, 0, "m"], - [5513, 0, "a"], - [5514, 0, "n"], - [5515, 0, "u"], - [5516, 0, "a"], - [5517, 0, "l"], - [5518, 0, "l"], - [5519, 0, "y"], - [5520, 0, " "], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [12996, 1], - [11590, 0, "\n"], - [11591, 0, "\n"], - [11592, 0, "\\"], - [11593, 0, "s"], - [11594, 0, "u"], - [11595, 0, "b"], - [11596, 0, "s"], - [11597, 0, "e"], - [11598, 0, "c"], - [11599, 0, "t"], - [11600, 0, "i"], - [11601, 0, "o"], - [11602, 0, "n"], - [11603, 0, "{"], - [11604, 0, "D"], - [11605, 0, "o"], - [11606, 0, "c"], - [11607, 0, "u"], - [11608, 0, "m"], - [11609, 0, "e"], - [11610, 0, "n"], - [11611, 0, "t"], - [11612, 0, " "], - [11613, 0, "e"], - [11614, 0, "d"], - [11615, 0, "i"], - [11616, 0, "t"], - [11617, 0, "i"], - [11618, 0, "n"], - [11619, 0, "g"], - [11620, 0, " "], - [11621, 0, "A"], - [11622, 0, "P"], - [11623, 0, "I"], - [11624, 0, "}"], - [11625, 0, "\n"], - [11590, 0, "\n"], - [11591, 0, "\\"], - [11592, 0, "s"], - [11593, 0, "u"], - [11594, 0, "b"], - [11595, 0, "s"], - [11596, 0, "e"], - [11597, 0, "c"], - [11598, 0, "t"], - [11599, 0, "i"], - [11600, 0, "o"], - [11601, 0, "n"], - [11602, 0, "{"], - [11603, 0, "J"], - [11604, 0, "S"], - [11605, 0, "O"], - [11606, 0, "N"], - [11607, 0, " "], - [11608, 0, "v"], - [11609, 0, "e"], - [11610, 0, "r"], - [11611, 0, "s"], - [11612, 0, "u"], - [11613, 0, "s"], - [11614, 0, " "], - [11615, 0, "o"], - [11616, 0, "t"], - [11617, 0, "h"], - [11618, 0, "e"], - [11619, 0, "r"], - [11620, 0, " "], - [11621, 0, "m"], - [11622, 0, "o"], - [11623, 0, "d"], - [11624, 0, "e"], - [11625, 0, "l"], - [11626, 0, "s"], - [11627, 0, "}"], - [11628, 0, "\n"], - [11629, 0, "\n"], - [11630, 0, "T"], - [11631, 0, "h"], - [11632, 0, "e"], - [11633, 0, " "], - [11634, 0, "m"], - [11635, 0, "o"], - [11636, 0, "s"], - [11637, 0, "t"], - [11638, 0, " "], - [11639, 0, "c"], - [11640, 0, "o"], - [11641, 0, "m"], - [11642, 0, "m"], - [11643, 0, "o"], - [11644, 0, "n"], - [11645, 0, " "], - [11646, 0, "a"], - [11647, 0, "l"], - [11648, 0, "t"], - [11649, 0, "e"], - [11650, 0, "r"], - [11651, 0, "n"], - [11652, 0, "a"], - [11653, 0, "t"], - [11654, 0, "i"], - [11655, 0, "v"], - [11656, 0, "e"], - [11657, 0, " "], - [11658, 0, "t"], - [11659, 0, "o"], - [11660, 0, " "], - [11661, 0, "J"], - [11662, 0, "S"], - [11663, 0, "O"], - [11664, 0, "N"], - [11665, 0, " "], - [11666, 0, "i"], - [11667, 0, "s"], - [11668, 0, " "], - [11669, 0, "X"], - [11670, 0, "M"], - [11671, 0, "L"], - [11672, 0, ","], - [11673, 0, " "], - [11674, 0, "a"], - [11675, 0, "n"], - [11676, 0, "d"], - [11677, 0, " "], - [11678, 0, "c"], - [11679, 0, "o"], - [11680, 0, "l"], - [11681, 0, "l"], - [11682, 0, "a"], - [11683, 0, "b"], - [11684, 0, "o"], - [11685, 0, "r"], - [11686, 0, "a"], - [11687, 0, "t"], - [11688, 0, "i"], - [11689, 0, "v"], - [11690, 0, "e"], - [11691, 0, " "], - [11692, 0, "e"], - [11693, 0, "d"], - [11694, 0, "i"], - [11695, 0, "t"], - [11696, 0, "i"], - [11697, 0, "n"], - [11698, 0, "g"], - [11699, 0, " "], - [11700, 0, "o"], - [11701, 0, "f"], - [11702, 0, " "], - [11703, 0, "X"], - [11704, 0, "M"], - [11705, 0, "L"], - [11706, 0, " "], - [11707, 0, "d"], - [11708, 0, "o"], - [11709, 0, "c"], - [11710, 0, "u"], - [11711, 0, "m"], - [11712, 0, "e"], - [11713, 0, "n"], - [11714, 0, "t"], - [11715, 0, "s"], - [11716, 0, " "], - [11717, 0, "h"], - [11718, 0, "a"], - [11719, 0, "s"], - [11720, 0, " "], - [11721, 0, "b"], - [11722, 0, "e"], - [11723, 0, "e"], - [11724, 0, "n"], - [11725, 0, " "], - [11726, 0, "e"], - [11727, 0, "x"], - [11728, 0, "t"], - [11729, 0, "e"], - [11730, 0, "n"], - [11731, 0, "s"], - [11732, 0, "i"], - [11733, 0, "v"], - [11734, 0, "e"], - [11735, 0, "l"], - [11736, 0, "y"], - [11737, 0, " "], - [11738, 0, "s"], - [11739, 0, "t"], - [11740, 0, "u"], - [11741, 0, "d"], - [11742, 0, "i"], - [11743, 0, "e"], - [11744, 0, "d"], - [11745, 0, "."], - [11746, 0, " "], - [11746, 1], - [11745, 1], - [11745, 0, " "], - [11746, 0, "("], - [11747, 0, "I"], - [11748, 0, "g"], - [11749, 0, "n"], - [11750, 0, "a"], - [11751, 0, "t"], - [11752, 0, " "], - [11753, 0, "a"], - [11754, 0, "n"], - [11755, 0, "d"], - [11756, 0, " "], - [11757, 0, "N"], - [11758, 0, "o"], - [11759, 0, "r"], - [11760, 0, "r"], - [11761, 0, "i"], - [11762, 0, "e"], - [11763, 0, ","], - [11764, 0, " "], - [11765, 0, "2"], - [11766, 0, "0"], - [11767, 0, "3"], - [11768, 0, ")"], - [11769, 0, "."], - [11767, 0, "0"], - [11736, 1], - [11735, 1], - [11734, 1], - [11733, 1], - [11732, 1], - [11731, 1], - [11730, 1], - [11729, 1], - [11728, 1], - [11727, 1], - [11726, 1], - [11726, 0, "p"], - [11727, 0, "r"], - [11728, 0, "e"], - [11729, 0, "v"], - [11730, 0, "i"], - [11731, 0, "o"], - [11732, 0, "u"], - [11733, 0, "s"], - [11734, 0, "l"], - [11735, 0, "y"], - [11770, 0, " "], - [11615, 0, "X"], - [11616, 0, "M"], - [11617, 0, "L"], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11618, 1], - [11762, 0, "A"], - [11763, 0, "l"], - [11764, 0, "t"], - [11765, 0, "h"], - [11766, 0, "o"], - [11767, 0, "u"], - [11768, 0, "g"], - [11769, 0, "h"], - [11770, 0, " "], - [11771, 0, "t"], - [11772, 0, "h"], - [11773, 0, "e"], - [11774, 0, " "], - [11775, 0, "t"], - [11776, 0, "r"], - [11777, 0, "e"], - [11778, 0, "e"], - [11779, 0, " "], - [11780, 0, "s"], - [11781, 0, "t"], - [11782, 0, "r"], - [11783, 0, "u"], - [11784, 0, "c"], - [11785, 0, "t"], - [11786, 0, "u"], - [11787, 0, "r"], - [11788, 0, "e"], - [11762, 0, "B"], - [11763, 0, "e"], - [11764, 0, "s"], - [11765, 0, "i"], - [11766, 0, "d"], - [11767, 0, "e"], - [11768, 0, "s"], - [11769, 0, " "], - [11770, 0, "t"], - [11771, 0, "h"], - [11772, 0, "e"], - [11773, 0, " "], - [11774, 0, "s"], - [11775, 0, "u"], - [11776, 0, "p"], - [11777, 0, "e"], - [11778, 0, "r"], - [11779, 0, "f"], - [11780, 0, "i"], - [11781, 0, "c"], - [11782, 0, "i"], - [11783, 0, "a"], - [11784, 0, "l"], - [11785, 0, " "], - [11786, 0, "s"], - [11787, 0, "y"], - [11788, 0, "n"], - [11789, 0, "t"], - [11790, 0, "a"], - [11791, 0, "t"], - [11791, 1], - [11791, 0, "c"], - [11792, 0, "t"], - [11793, 0, "i"], - [11794, 0, "c"], - [11795, 0, "a"], - [11796, 0, "l"], - [11797, 0, " "], - [11798, 0, "d"], - [11799, 0, "i"], - [11800, 0, "f"], - [11801, 0, "f"], - [11802, 0, "e"], - [11803, 0, "r"], - [11804, 0, "e"], - [11805, 0, "n"], - [11806, 0, "c"], - [11807, 0, "e"], - [11808, 0, "s"], - [11809, 0, ","], - [11810, 0, " "], - [11811, 1], - [11811, 1], - [11811, 1], - [11811, 1], - [11811, 1], - [11811, 1], - [11811, 1], - [11811, 1], - [11811, 1], - [11829, 0, " "], - [11830, 0, "o"], - [11831, 0, "f"], - [11832, 0, " "], - [11833, 0, "X"], - [11834, 0, "M"], - [11835, 0, "L"], - [11836, 0, " "], - [11837, 0, "a"], - [11838, 0, "n"], - [11839, 0, "d"], - [11840, 0, " "], - [11841, 0, "J"], - [11842, 0, "S"], - [11843, 0, "O"], - [11844, 0, "N"], - [11845, 0, " "], - [11846, 0, "a"], - [11847, 0, "p"], - [11848, 0, "p"], - [11849, 0, "e"], - [11850, 0, "a"], - [11851, 0, "r"], - [11852, 0, "s"], - [11853, 0, " "], - [11854, 0, "q"], - [11855, 0, "u"], - [11856, 0, "i"], - [11857, 0, "t"], - [11858, 0, "e"], - [11859, 0, " "], - [11860, 0, "s"], - [11861, 0, "i"], - [11862, 0, "m"], - [11863, 0, "i"], - [11864, 0, "l"], - [11865, 0, "a"], - [11866, 0, "r"], - [11867, 0, "."], - [11868, 0, " "], - [11869, 0, "H"], - [11870, 0, "o"], - [11871, 0, "w"], - [11872, 0, "e"], - [11873, 0, "v"], - [11874, 0, "e"], - [11875, 0, "r"], - [11876, 0, ","], - [11877, 0, " "], - [11878, 0, "t"], - [11879, 0, "h"], - [11880, 0, "e"], - [11881, 0, "r"], - [11882, 0, "e"], - [11883, 0, " "], - [11884, 0, "i"], - [11885, 0, "s"], - [11886, 0, " "], - [11887, 0, "a"], - [11888, 0, "n"], - [11889, 0, " "], - [11890, 0, "i"], - [11891, 0, "m"], - [11892, 0, "p"], - [11893, 0, "o"], - [11894, 0, "r"], - [11895, 0, "t"], - [11896, 0, "a"], - [11897, 0, "n"], - [11898, 0, "t"], - [11899, 0, " "], - [11900, 0, "d"], - [11901, 0, "i"], - [11902, 0, "f"], - [11903, 0, "f"], - [11904, 0, "e"], - [11905, 0, "r"], - [11906, 0, "e"], - [11907, 0, "n"], - [11908, 0, "c"], - [11909, 0, "e"], - [11910, 0, " "], - [11911, 0, "t"], - [11912, 0, "h"], - [11913, 0, "a"], - [11914, 0, "t"], - [11915, 0, " "], - [11916, 0, "w"], - [11917, 0, "e"], - [11918, 0, " "], - [11919, 0, "s"], - [11920, 0, "h"], - [11921, 0, "o"], - [11922, 0, "u"], - [11923, 0, "l"], - [11924, 0, "d"], - [11925, 0, " "], - [11926, 0, "h"], - [11927, 0, "i"], - [11928, 0, "g"], - [11929, 0, "h"], - [11930, 0, "l"], - [11931, 0, "i"], - [11932, 0, "g"], - [11933, 0, "h"], - [11934, 0, "t"], - [11935, 0, "."], - [11936, 0, "\n"], - [11937, 0, "\n"], - [11938, 0, "J"], - [11939, 0, "S"], - [11940, 0, "O"], - [11941, 0, "N"], - [11942, 0, " "], - [11943, 0, "h"], - [11944, 0, "a"], - [11945, 0, "s"], - [11946, 0, " "], - [11947, 0, "t"], - [11948, 0, "w"], - [11949, 0, "o"], - [11950, 0, " "], - [11951, 0, "c"], - [11952, 0, "o"], - [11953, 0, "l"], - [11954, 0, "l"], - [11955, 0, "e"], - [11956, 0, "c"], - [11957, 0, "t"], - [11958, 0, "i"], - [11959, 0, "o"], - [11960, 0, "n"], - [11961, 0, " "], - [11962, 0, "c"], - [11963, 0, "o"], - [11964, 0, "n"], - [11965, 0, "s"], - [11966, 0, "t"], - [11967, 0, "r"], - [11968, 0, "u"], - [11969, 0, "c"], - [11970, 0, "t"], - [11971, 0, "s"], - [11972, 0, ":"], - [11973, 0, " "], - [11974, 0, "m"], - [11975, 0, "a"], - [11976, 0, "p"], - [11977, 0, "s"], - [11978, 0, " "], - [11979, 0, "f"], - [11980, 0, "o"], - [11981, 0, "r"], - [11982, 0, " "], - [11983, 0, "u"], - [11984, 0, "n"], - [11985, 0, "o"], - [11986, 0, "r"], - [11987, 0, "d"], - [11988, 0, "e"], - [11989, 0, "r"], - [11990, 0, "e"], - [11991, 0, "d"], - [11992, 0, " "], - [11993, 0, "k"], - [11994, 0, "e"], - [11995, 0, "y"], - [11996, 0, "-"], - [11997, 0, "v"], - [11998, 0, "a"], - [11999, 0, "l"], - [12000, 0, "u"], - [12001, 0, "e"], - [12002, 0, " "], - [12003, 0, "p"], - [12004, 0, "a"], - [12005, 0, "i"], - [12006, 0, "r"], - [12007, 0, "s"], - [12008, 0, ","], - [12009, 0, " "], - [12010, 0, "a"], - [12011, 0, "n"], - [12012, 0, "d"], - [12013, 0, " "], - [12014, 0, "l"], - [12015, 0, "i"], - [12016, 0, "s"], - [12017, 0, "t"], - [12018, 0, "s"], - [12019, 0, " "], - [12020, 0, "f"], - [12021, 0, "o"], - [12022, 0, "r"], - [12023, 0, " "], - [12024, 0, "o"], - [12025, 0, "r"], - [12026, 0, "d"], - [12027, 0, "e"], - [12028, 0, "r"], - [12029, 0, "e"], - [12030, 0, "d"], - [12031, 0, " "], - [12032, 0, "s"], - [12033, 0, "e"], - [12034, 0, "q"], - [12035, 0, "u"], - [12036, 0, "e"], - [12037, 0, "n"], - [12038, 0, "c"], - [12039, 0, "e"], - [12040, 0, "s"], - [12041, 0, "."], - [12042, 0, " "], - [11972, 0, " "], - [11973, 0, "t"], - [11974, 0, "h"], - [11975, 0, "a"], - [11976, 0, "t"], - [11977, 0, " "], - [11978, 0, "c"], - [11979, 0, "a"], - [11980, 0, "n"], - [11981, 0, " "], - [11982, 0, "b"], - [11983, 0, "e"], - [11984, 0, " "], - [11985, 0, "a"], - [11986, 0, "r"], - [11987, 0, "b"], - [11988, 0, "i"], - [11989, 0, "t"], - [11990, 0, "r"], - [11991, 0, "a"], - [11992, 0, "r"], - [11993, 0, "i"], - [11994, 0, "l"], - [11995, 0, "y"], - [11996, 0, " "], - [11997, 0, "n"], - [11998, 0, "e"], - [11999, 0, "s"], - [12000, 0, "t"], - [12001, 0, "e"], - [12002, 0, "d"], - [12074, 0, "X"], - [12075, 0, "M"], - [12076, 0, "L"], - [12077, 0, " "], - [12078, 0, "i"], - [12079, 0, "s"], - [12080, 0, " "], - [12081, 0, "m"], - [12082, 0, "o"], - [12083, 0, "r"], - [12084, 0, "e"], - [12085, 0, " "], - [12086, 0, "r"], - [12087, 0, "e"], - [12088, 0, "s"], - [12089, 0, "t"], - [12090, 0, "r"], - [12091, 0, "i"], - [12092, 0, "c"], - [12093, 0, "t"], - [12094, 0, "e"], - [12095, 0, "d"], - [12096, 0, " "], - [12097, 0, "i"], - [12098, 0, "n"], - [12099, 0, " "], - [12100, 0, "t"], - [12101, 0, "h"], - [12102, 0, "i"], - [12103, 0, "s"], - [12104, 0, " "], - [12105, 0, "r"], - [12106, 0, "e"], - [12107, 0, "g"], - [12108, 0, "a"], - [12109, 0, "r"], - [12110, 0, "d"], - [12111, 0, ":"], - [12112, 0, " "], - [12113, 0, "t"], - [12114, 0, "h"], - [12115, 0, "e"], - [12116, 0, " "], - [12117, 0, "c"], - [12118, 0, "h"], - [12119, 0, "i"], - [12120, 0, "l"], - [12121, 0, "d"], - [12122, 0, "r"], - [12123, 0, "e"], - [12124, 0, "n"], - [12125, 0, " "], - [12126, 0, "o"], - [12127, 0, "f"], - [12128, 0, " "], - [12129, 0, "a"], - [12130, 0, "n"], - [12131, 0, " "], - [12132, 0, "e"], - [12133, 0, "l"], - [12134, 0, "e"], - [12135, 0, "m"], - [12136, 0, "e"], - [12137, 0, "n"], - [12138, 0, "t"], - [12139, 0, " "], - [12140, 0, "a"], - [12141, 0, "r"], - [12142, 0, "e"], - [12143, 0, " "], - [12144, 0, "a"], - [12144, 1], - [12143, 1], - [12142, 1], - [12141, 1], - [12140, 1], - [12140, 0, "f"], - [12141, 0, "o"], - [12142, 0, "r"], - [12143, 0, "m"], - [12144, 0, " "], - [12145, 0, "a"], - [12146, 0, "n"], - [12147, 0, " "], - [12148, 0, "o"], - [12149, 0, "r"], - [12150, 0, "d"], - [12151, 0, "e"], - [12152, 0, "r"], - [12153, 0, "e"], - [12154, 0, "d"], - [12155, 0, " "], - [12156, 0, "s"], - [12157, 0, "e"], - [12158, 0, "q"], - [12159, 0, "u"], - [12160, 0, "e"], - [12161, 0, "n"], - [12162, 0, "c"], - [12163, 0, "e"], - [12148, 0, "b"], - [12149, 0, "b"], - [12150, 0, "b"], - [12151, 0, "b"], - [12152, 0, "b"], - [12153, 0, "b"], - [12153, 1], - [12152, 1], - [12151, 1], - [12150, 1], - [12149, 1], - [12148, 1], - [12111, 1], - [12110, 1], - [12109, 1], - [12108, 1], - [12107, 1], - [12106, 1], - [12105, 1], - [12104, 1], - [12103, 1], - [12102, 1], - [12101, 1], - [12100, 1], - [12099, 1], - [12098, 1], - [12097, 1], - [12096, 1], - [12095, 1], - [12094, 1], - [12093, 1], - [12092, 1], - [12091, 1], - [12090, 1], - [12089, 1], - [12088, 1], - [12087, 1], - [12086, 1], - [12085, 1], - [12084, 1], - [12083, 1], - [12082, 1], - [12081, 1], - [12080, 1], - [12079, 1], - [12078, 1], - [12077, 1], - [12076, 1], - [12076, 0, "L"], - [12077, 0, ","], - [12074, 0, "I"], - [12075, 0, "n"], - [12076, 0, " "], - [12133, 0, ","], - [12134, 0, " "], - [12135, 0, "w"], - [12136, 0, "h"], - [12137, 0, "i"], - [12138, 0, "l"], - [12139, 0, "e"], - [12140, 0, " "], - [12141, 0, "t"], - [12142, 0, "h"], - [12143, 0, "e"], - [12144, 0, " "], - [12145, 0, "a"], - [12146, 0, "t"], - [12147, 0, "t"], - [12148, 0, "r"], - [12149, 0, "i"], - [12150, 0, "b"], - [12151, 0, "u"], - [12152, 0, "t"], - [12153, 0, "e"], - [12154, 0, "s"], - [12155, 0, " "], - [12156, 0, "o"], - [12157, 0, "f"], - [12158, 0, " "], - [12159, 0, "a"], - [12160, 0, "n"], - [12161, 0, " "], - [12162, 0, "e"], - [12163, 0, "l"], - [12164, 0, "e"], - [12165, 0, "m"], - [12166, 0, "e"], - [12167, 0, "n"], - [12168, 0, "t"], - [12169, 0, " "], - [12170, 0, "a"], - [12171, 0, "r"], - [12172, 0, "e"], - [12173, 0, " "], - [12174, 0, "u"], - [12175, 0, "n"], - [12176, 0, "o"], - [12177, 0, "r"], - [12178, 0, "d"], - [12179, 0, "e"], - [12180, 0, "r"], - [12181, 0, "e"], - [12182, 0, "d"], - [12183, 0, " "], - [12184, 0, "k"], - [12185, 0, "e"], - [12186, 0, "y"], - [12187, 0, "-"], - [12188, 0, "v"], - [12189, 0, "a"], - [12190, 0, "l"], - [12191, 0, "u"], - [12192, 0, "e"], - [12193, 0, " "], - [12194, 0, "p"], - [12195, 0, "a"], - [12196, 0, "i"], - [12197, 0, "r"], - [12198, 0, "s"], - [12199, 0, "."], - [12200, 0, " "], - [12201, 0, "H"], - [12202, 0, "o"], - [12203, 0, "w"], - [12204, 0, "e"], - [12205, 0, "v"], - [12206, 0, "e"], - [12207, 0, "r"], - [12208, 0, ","], - [12209, 0, " "], - [12210, 0, "i"], - [12211, 0, "n"], - [12212, 0, " "], - [12213, 0, "X"], - [12214, 0, "M"], - [12215, 0, "L"], - [12215, 1], - [12214, 1], - [12213, 1], - [12212, 1], - [12211, 1], - [12210, 1], - [12210, 0, "X"], - [12211, 0, "M"], - [12212, 0, "L"], - [12213, 0, " "], - [12214, 0, "d"], - [12215, 0, "o"], - [12216, 0, "e"], - [12217, 0, "s"], - [12218, 0, " "], - [12219, 0, "n"], - [12220, 0, "o"], - [12221, 0, "t"], - [12222, 0, " "], - [12223, 0, "a"], - [12224, 0, "l"], - [12225, 0, "l"], - [12226, 0, "o"], - [12227, 0, "w"], - [12228, 0, " "], - [12229, 0, "n"], - [12230, 0, "e"], - [12231, 0, "s"], - [12232, 0, "t"], - [12233, 0, "e"], - [12234, 0, "d"], - [12235, 0, " "], - [12236, 0, "c"], - [12237, 0, "h"], - [12237, 1], - [12236, 1], - [12236, 0, "e"], - [12237, 0, "l"], - [12238, 0, "e"], - [12239, 0, "m"], - [12240, 0, "e"], - [12241, 0, "n"], - [12242, 0, "t"], - [12243, 0, "s"], - [12244, 0, " "], - [12245, 0, "i"], - [12246, 0, "n"], - [12247, 0, "s"], - [12248, 0, "i"], - [12249, 0, "d"], - [12250, 0, "e"], - [12251, 0, " "], - [12252, 0, "a"], - [12253, 0, "t"], - [12254, 0, "t"], - [12255, 0, "r"], - [12256, 0, "i"], - [12257, 0, "b"], - [12258, 0, "u"], - [12259, 0, "t"], - [12260, 0, "e"], - [12261, 0, "s"], - [12262, 0, " "], - [12263, 0, "-"], - [12264, 0, "-"], - [12265, 0, " "], - [12266, 0, "t"], - [12267, 0, "h"], - [12268, 0, "e"], - [12269, 0, " "], - [12270, 0, "v"], - [12271, 0, "a"], - [12272, 0, "l"], - [12273, 0, "u"], - [12274, 0, "e"], - [12275, 0, " "], - [12276, 0, "o"], - [12277, 0, "f"], - [12278, 0, " "], - [12279, 0, "a"], - [12280, 0, "n"], - [12281, 0, " "], - [12282, 0, "a"], - [12283, 0, "t"], - [12284, 0, "t"], - [12285, 0, "r"], - [12286, 0, "i"], - [12287, 0, "b"], - [12288, 0, "u"], - [12289, 0, "t"], - [12290, 0, "e"], - [12291, 0, " "], - [12292, 0, "c"], - [12293, 0, "a"], - [12294, 0, "n"], - [12295, 0, " "], - [12296, 0, "o"], - [12297, 0, "n"], - [12298, 0, "l"], - [12299, 0, "y"], - [12300, 0, " "], - [12301, 0, "b"], - [12302, 0, "e"], - [12303, 0, " "], - [12304, 0, "a"], - [12305, 0, " "], - [12306, 0, "p"], - [12307, 0, "r"], - [12308, 0, "i"], - [12309, 0, "m"], - [12310, 0, "i"], - [12311, 0, "t"], - [12312, 0, "i"], - [12313, 0, "v"], - [12314, 0, "e"], - [12315, 0, " "], - [12316, 0, "d"], - [12317, 0, "a"], - [12318, 0, "t"], - [12319, 0, "a"], - [12320, 0, "t"], - [12321, 0, "y"], - [12322, 0, "p"], - [12323, 0, "e"], - [12324, 0, "."], - [12325, 0, " "], - [12326, 0, "T"], - [12327, 0, "h"], - [12328, 0, "u"], - [12329, 0, "s"], - [12330, 0, ","], - [12331, 0, " "], - [12332, 0, "X"], - [12333, 0, "M"], - [12334, 0, "l"], - [12335, 0, " "], - [12336, 0, "s"], - [12337, 0, "u"], - [12338, 0, "p"], - [12339, 0, "p"], - [12340, 0, "o"], - [12341, 0, "r"], - [12342, 0, "t"], - [12343, 0, "s"], - [12344, 0, " "], - [12334, 1], - [12334, 0, "L"], - [12345, 0, "m"], - [12346, 0, "a"], - [12347, 0, "p"], - [12348, 0, "s"], - [12349, 0, " "], - [12350, 0, "w"], - [12351, 0, "i"], - [12352, 0, "t"], - [12353, 0, "h"], - [12354, 0, "i"], - [12355, 0, "n"], - [12356, 0, " "], - [12357, 0, "l"], - [12358, 0, "i"], - [12359, 0, "s"], - [12360, 0, "t"], - [12361, 0, "s"], - [12362, 0, ","], - [12363, 0, " "], - [12364, 0, "b"], - [12365, 0, "u"], - [12366, 0, "t"], - [12367, 0, " "], - [12368, 0, "n"], - [12369, 0, "o"], - [12370, 0, "t"], - [12371, 0, " "], - [12372, 0, "l"], - [12373, 0, "i"], - [12374, 0, "s"], - [12375, 0, "t"], - [12376, 0, "s"], - [12377, 0, " "], - [12378, 0, "w"], - [12379, 0, "i"], - [12380, 0, "t"], - [12381, 0, "h"], - [12382, 0, "i"], - [12383, 0, "n"], - [12384, 0, " "], - [12385, 0, "m"], - [12386, 0, "a"], - [12387, 0, "p"], - [12388, 0, "s"], - [12389, 0, "."], - [12390, 0, "\n"], - [12391, 0, "\n"], - [12392, 0, "S"], - [12377, 0, " "], - [12378, 0, "o"], - [12379, 0, "r"], - [12380, 0, " "], - [12381, 0, "m"], - [12382, 0, "a"], - [12383, 0, "p"], - [12384, 0, "s"], - [12392, 0, " "], - [12393, 0, "o"], - [12394, 0, "t"], - [12395, 0, "h"], - [12396, 0, "e"], - [12397, 0, "r"], - [12404, 0, " "], - [12405, 0, "T"], - [12406, 0, "h"], - [12407, 0, "e"], - [12408, 0, " "], - [12409, 0, "e"], - [12410, 0, "x"], - [12411, 0, "a"], - [12412, 0, "m"], - [12413, 0, "p"], - [12414, 0, "l"], - [12415, 0, "e"], - [12416, 0, " "], - [12417, 0, "i"], - [12418, 0, "n"], - [12419, 0, " "], - [12420, 0, "F"], - [12421, 0, "i"], - [12422, 0, "g"], - [12423, 0, "u"], - [12424, 0, "r"], - [12425, 0, "e"], - [12426, 0, "~"], - [12427, 0, "\\"], - [12428, 0, "r"], - [12429, 0, "e"], - [12430, 0, "f"], - [12431, 0, "{"], - [12432, 0, "f"], - [12433, 0, "i"], - [12434, 0, "g"], - [12435, 0, ":"], - [12436, 0, "t"], - [12437, 0, "w"], - [12438, 0, "o"], - [12439, 0, "-"], - [12440, 0, "l"], - [12441, 0, "i"], - [12442, 0, "s"], - [12443, 0, "t"], - [12444, 0, "s"], - [12445, 0, "}"], - [12446, 0, " "], - [12447, 0, "c"], - [12448, 0, "a"], - [12449, 0, "n"], - [12450, 0, "n"], - [12451, 0, "o"], - [12452, 0, "t"], - [12453, 0, " "], - [12454, 0, "o"], - [12455, 0, "c"], - [12456, 0, "c"], - [12457, 0, "u"], - [12458, 0, "r"], - [12459, 0, " "], - [12460, 0, "i"], - [12461, 0, "n"], - [12462, 0, " "], - [12463, 0, "X"], - [12464, 0, "M"], - [12465, 0, "L"], - [12466, 0, " "], - [12467, 0, "f"], - [12468, 0, "o"], - [12469, 0, "r"], - [12470, 0, " "], - [12471, 0, "t"], - [12472, 0, "h"], - [12473, 0, "i"], - [12474, 0, "s"], - [12475, 0, " "], - [12476, 0, "r"], - [12477, 0, "e"], - [12478, 0, "a"], - [12479, 0, "s"], - [12480, 0, "o"], - [12481, 0, "n"], - [12405, 0, "T"], - [12406, 0, "h"], - [12407, 0, "i"], - [12408, 0, "s"], - [12409, 0, " "], - [12409, 1], - [12408, 1], - [12407, 1], - [12406, 1], - [12405, 1], - [12404, 1], - [12404, 0, " "], - [12405, 0, "I"], - [12406, 0, "n"], - [12407, 0, " "], - [12408, 0, "t"], - [12409, 0, "h"], - [12410, 0, "i"], - [12411, 0, "s"], - [12412, 0, " "], - [12413, 0, "r"], - [12414, 0, "e"], - [12415, 0, "g"], - [12416, 0, "a"], - [12417, 0, "r"], - [12418, 0, "d"], - [12419, 0, ","], - [12420, 0, " "], - [12421, 0, "X"], - [12422, 0, "M"], - [12423, 0, "L"], - [12424, 0, " "], - [12425, 0, "i"], - [12426, 0, "s"], - [12427, 0, " "], - [12428, 0, "m"], - [12429, 0, "o"], - [12430, 0, "r"], - [12431, 0, "e"], - [12432, 0, " "], - [12433, 0, "r"], - [12434, 0, "e"], - [12435, 0, "s"], - [12436, 0, "t"], - [12437, 0, "r"], - [12438, 0, "i"], - [12438, 1], - [12437, 1], - [12436, 1], - [12435, 1], - [12434, 1], - [12433, 1], - [12432, 1], - [12431, 1], - [12430, 1], - [12429, 1], - [12428, 1], - [12428, 0, "l"], - [12429, 0, "e"], - [12430, 0, "s"], - [12431, 0, "s"], - [12432, 0, " "], - [12433, 0, "e"], - [12434, 0, "x"], - [12435, 0, "p"], - [12436, 0, "r"], - [12437, 0, "e"], - [12438, 0, "s"], - [12439, 0, "s"], - [12440, 0, "i"], - [12441, 0, "v"], - [12442, 0, "e"], - [12443, 0, " "], - [12444, 0, "t"], - [12445, 0, "h"], - [12446, 0, "a"], - [12447, 0, "n"], - [12448, 0, " "], - [12449, 0, "J"], - [12450, 0, "S"], - [12451, 0, "O"], - [12452, 0, "N"], - [12453, 0, ":"], - [12454, 0, " "], - [12455, 1], - [12455, 0, "t"], - [12516, 0, "."], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12517, 1], - [12520, 0, "o"], - [12521, 0, "m"], - [12522, 0, "e"], - [12523, 0, " "], - [12524, 0, "a"], - [12525, 0, "p"], - [12526, 0, "p"], - [12527, 0, "l"], - [12528, 0, "i"], - [12529, 0, "c"], - [12530, 0, "a"], - [12531, 0, "t"], - [12532, 0, "i"], - [12533, 0, "o"], - [12534, 0, "n"], - [12535, 0, "s"], - [12536, 0, " "], - [12537, 0, "m"], - [12538, 0, "a"], - [12539, 0, "y"], - [12540, 0, " "], - [12541, 0, "a"], - [12542, 0, "t"], - [12543, 0, "t"], - [12544, 0, "a"], - [12545, 0, "c"], - [12546, 0, "h"], - [12547, 0, " "], - [12548, 0, "m"], - [12549, 0, "a"], - [12550, 0, "p"], - [12551, 0, "-"], - [12552, 0, "l"], - [12553, 0, "i"], - [12554, 0, "k"], - [12555, 0, "e"], - [12556, 0, " "], - [12557, 0, "s"], - [12558, 0, "e"], - [12559, 0, "m"], - [12560, 0, "a"], - [12561, 0, "n"], - [12562, 0, "t"], - [12563, 0, "i"], - [12564, 0, "c"], - [12565, 0, "s"], - [12566, 0, " "], - [12567, 0, "t"], - [12568, 0, "o"], - [12569, 0, " "], - [12570, 0, "t"], - [12571, 0, "h"], - [12572, 0, "e"], - [12573, 0, " "], - [12574, 0, "c"], - [12575, 0, "h"], - [12576, 0, "i"], - [12577, 0, "l"], - [12578, 0, "d"], - [12579, 0, "r"], - [12580, 0, "e"], - [12581, 0, "n"], - [12582, 0, " "], - [12583, 0, "o"], - [12584, 0, "f"], - [12585, 0, " "], - [12586, 0, "a"], - [12587, 0, "n"], - [12588, 0, " "], - [12589, 0, "X"], - [12590, 0, "M"], - [12591, 0, "L"], - [12592, 0, " "], - [12593, 0, "d"], - [12594, 0, "o"], - [12595, 0, "c"], - [12596, 0, "u"], - [12597, 0, "m"], - [12598, 0, "e"], - [12599, 0, "n"], - [12600, 0, "t"], - [12516, 0, ","], - [12517, 0, " "], - [12518, 0, "a"], - [12519, 0, "s"], - [12520, 0, " "], - [12521, 0, "i"], - [12522, 0, "t"], - [12523, 0, " "], - [12524, 0, "w"], - [12525, 0, "o"], - [12526, 0, "u"], - [12527, 0, "l"], - [12528, 0, "d"], - [12529, 0, " "], - [12530, 0, "r"], - [12531, 0, "e"], - [12532, 0, "s"], - [12533, 0, "u"], - [12534, 0, "l"], - [12535, 0, "t"], - [12536, 0, " "], - [12537, 0, "i"], - [12538, 0, "n"], - [12539, 0, " "], - [12540, 0, "t"], - [12541, 0, "w"], - [12542, 0, "o"], - [12543, 0, " "], - [12544, 0, "s"], - [12545, 0, "e"], - [12546, 0, "p"], - [12547, 0, "a"], - [12548, 0, "r"], - [12549, 0, "a"], - [12550, 0, "t"], - [12551, 0, "e"], - [12552, 0, " "], - [12553, 0, "l"], - [12554, 0, "i"], - [12555, 0, "s"], - [12556, 0, "t"], - [12557, 0, "s"], - [12558, 0, " "], - [12559, 0, "r"], - [12560, 0, "a"], - [12561, 0, "t"], - [12562, 0, "h"], - [12563, 0, "e"], - [12564, 0, "r"], - [12565, 0, " "], - [12566, 0, "t"], - [12567, 0, "h"], - [12568, 0, "a"], - [12569, 0, "n"], - [12570, 0, " "], - [12571, 0, "o"], - [12572, 0, "n"], - [12573, 0, "e"], - [12574, 0, " "], - [12575, 0, "m"], - [12576, 0, "e"], - [12577, 0, "r"], - [12578, 0, "g"], - [12579, 0, "e"], - [12580, 0, "d"], - [12581, 0, " "], - [12582, 0, "l"], - [12583, 0, "i"], - [12584, 0, "s"], - [12585, 0, "t"], - [12398, 1], - [12397, 1], - [12396, 1], - [12395, 1], - [12394, 1], - [12393, 1], - [12385, 1], - [12384, 1], - [12383, 1], - [12382, 1], - [12381, 1], - [12380, 1], - [12379, 1], - [12378, 1], - [12657, 0, ","], - [12658, 0, " "], - [12659, 0, "f"], - [12660, 0, "o"], - [12661, 0, "r"], - [12662, 0, " "], - [12663, 0, "e"], - [12664, 0, "x"], - [12665, 0, "a"], - [12666, 0, "m"], - [12667, 0, "p"], - [12668, 0, "l"], - [12669, 0, "e"], - [12670, 0, " "], - [12671, 0, "b"], - [12672, 0, "y"], - [12673, 0, " "], - [12674, 0, "u"], - [12675, 0, "s"], - [12676, 0, "i"], - [12677, 0, "n"], - [12678, 0, "g"], - [12679, 0, " "], - [12680, 0, "t"], - [12681, 0, "h"], - [12682, 0, "e"], - [12683, 0, " "], - [12684, 0, "e"], - [12685, 0, "l"], - [12686, 0, "e"], - [12687, 0, "m"], - [12688, 0, "e"], - [12689, 0, "n"], - [12690, 0, "t"], - [12691, 0, " "], - [12692, 0, "n"], - [12693, 0, "a"], - [12694, 0, "m"], - [12695, 0, "e"], - [12696, 0, " "], - [12697, 0, "o"], - [12698, 0, "r"], - [12699, 0, " "], - [12700, 0, "a"], - [12701, 0, "n"], - [12702, 0, " "], - [12703, 0, "a"], - [12704, 0, "t"], - [12705, 0, "t"], - [12706, 0, "r"], - [12707, 0, "i"], - [12708, 0, "b"], - [12709, 0, "u"], - [12710, 0, "t"], - [12711, 0, "e"], - [12684, 0, "c"], - [12685, 0, "h"], - [12686, 0, "i"], - [12687, 0, "l"], - [12688, 0, "d"], - [12689, 0, " "], - [12678, 1], - [12677, 1], - [12676, 1], - [12675, 1], - [12674, 1], - [12674, 0, "i"], - [12675, 0, "n"], - [12676, 0, "t"], - [12677, 0, "e"], - [12678, 0, "r"], - [12679, 0, "p"], - [12680, 0, "r"], - [12681, 0, "e"], - [12682, 0, "t"], - [12683, 0, "i"], - [12684, 0, "n"], - [12685, 0, "g"], - [12725, 0, " "], - [12725, 1], - [12724, 1], - [12723, 1], - [12722, 1], - [12721, 1], - [12720, 1], - [12719, 1], - [12718, 1], - [12717, 1], - [12716, 1], - [12715, 1], - [12714, 1], - [12713, 1], - [12712, 1], - [12711, 1], - [12710, 1], - [12710, 0, "a"], - [12711, 0, "s"], - [12712, 0, " "], - [12713, 0, "k"], - [12714, 0, "e"], - [12715, 0, "y"], - [12716, 0, "."], - [12717, 0, " "], - [12718, 0, "H"], - [12719, 0, "o"], - [12720, 0, "w"], - [12721, 0, "e"], - [12722, 0, "v"], - [12723, 0, "e"], - [12724, 0, "r"], - [12725, 0, ","], - [12726, 0, " "], - [12727, 0, "t"], - [12728, 0, "h"], - [12729, 0, "e"], - [12730, 0, "s"], - [12731, 0, "e"], - [12732, 0, " "], - [12733, 0, "s"], - [12734, 0, "e"], - [12735, 0, "m"], - [12736, 0, "a"], - [12737, 0, "n"], - [12738, 0, "t"], - [12739, 0, "i"], - [12740, 0, "c"], - [12741, 0, "s"], - [12742, 0, " "], - [12743, 0, "a"], - [12744, 0, "r"], - [12745, 0, "e"], - [12746, 0, " "], - [12747, 0, "n"], - [12748, 0, "o"], - [12749, 0, "t"], - [12750, 0, " "], - [12751, 0, "p"], - [12752, 0, "a"], - [12753, 0, "r"], - [12754, 0, "t"], - [12755, 0, " "], - [12756, 0, "o"], - [12757, 0, "f"], - [12758, 0, " "], - [12759, 0, "X"], - [12760, 0, "M"], - [12761, 0, "L"], - [12762, 0, " "], - [12763, 0, "i"], - [12764, 0, "t"], - [12765, 0, "s"], - [12766, 0, "e"], - [12767, 0, "l"], - [12768, 0, "f"], - [12769, 0, " "], - [12770, 0, "a"], - [12771, 0, "n"], - [12772, 0, "d"], - [12773, 0, " "], - [12774, 0, "w"], - [12775, 0, "o"], - [12776, 0, "u"], - [12777, 0, "l"], - [12778, 0, "d"], - [12779, 0, " "], - [12780, 0, "n"], - [12781, 0, "o"], - [12782, 0, "t"], - [12783, 0, " "], - [12784, 0, "b"], - [12785, 0, "e"], - [12786, 0, " "], - [12787, 0, "e"], - [12788, 0, "n"], - [12789, 0, "f"], - [12790, 0, "o"], - [12791, 0, "r"], - [12792, 0, "c"], - [12793, 0, "e"], - [12794, 0, "d"], - [12795, 0, " "], - [12796, 0, "b"], - [12797, 0, "y"], - [12798, 0, " "], - [12799, 0, "a"], - [12800, 0, " "], - [12801, 0, "c"], - [12802, 0, "o"], - [12803, 0, "l"], - [12804, 0, "l"], - [12805, 0, "a"], - [12806, 0, "b"], - [12807, 0, "o"], - [12808, 0, "r"], - [12809, 0, "a"], - [12810, 0, "t"], - [12811, 0, "i"], - [12812, 0, "v"], - [12813, 0, "e"], - [12814, 0, " "], - [12815, 0, "X"], - [12816, 0, "M"], - [12817, 0, "L"], - [12818, 0, " "], - [12819, 0, "e"], - [12820, 0, "d"], - [12821, 0, "i"], - [12822, 0, "t"], - [12823, 0, "o"], - [12824, 0, "r"], - [12825, 0, " "], - [12825, 1], - [12824, 1], - [12823, 1], - [12822, 1], - [12821, 1], - [12820, 1], - [12819, 1], - [12818, 1], - [12817, 1], - [12816, 1], - [12815, 1], - [12814, 1], - [12813, 1], - [12812, 1], - [12811, 1], - [12810, 1], - [12809, 1], - [12808, 1], - [12807, 1], - [12806, 1], - [12805, 1], - [12804, 1], - [12803, 1], - [12802, 1], - [12801, 1], - [12800, 1], - [12799, 1], - [12798, 1], - [12797, 1], - [12796, 1], - [12795, 1], - [12795, 0, ":"], - [12796, 0, " "], - [12797, 0, "a"], - [12798, 0, " "], - [12799, 0, "c"], - [12800, 0, "o"], - [12800, 1], - [12799, 1], - [12798, 1], - [12797, 1], - [12797, 0, "e"], - [12798, 0, "x"], - [12799, 0, "i"], - [12800, 0, "s"], - [12801, 0, "t"], - [12802, 0, "i"], - [12803, 0, "n"], - [12804, 0, "g"], - [12805, 0, " "], - [12806, 0, "c"], - [12807, 0, "o"], - [12808, 0, "l"], - [12809, 0, "l"], - [12810, 0, "a"], - [12811, 0, "b"], - [12812, 0, "o"], - [12813, 0, "r"], - [12814, 0, "a"], - [12815, 0, "t"], - [12816, 0, "i"], - [12817, 0, "v"], - [12818, 0, "e"], - [12819, 0, " "], - [12820, 0, "e"], - [12821, 0, "d"], - [12822, 0, "i"], - [12823, 0, "t"], - [12824, 0, "i"], - [12825, 0, "n"], - [12826, 0, "g"], - [12827, 0, " "], - [12828, 0, "a"], - [12829, 0, "l"], - [12830, 0, "g"], - [12831, 0, "o"], - [12832, 0, "r"], - [12833, 0, "i"], - [12834, 0, "t"], - [12835, 0, "h"], - [12836, 0, "m"], - [12837, 0, "s"], - [12838, 0, " "], - [12839, 0, "f"], - [12840, 0, "o"], - [12841, 0, "r"], - [12842, 0, " "], - [12843, 0, "X"], - [12844, 0, "M"], - [12845, 0, "L"], - [12846, 0, " "], - [12847, 0, "w"], - [12848, 0, "o"], - [12849, 0, "u"], - [12850, 0, "l"], - [12851, 0, "d"], - [12852, 0, " "], - [12853, 0, "c"], - [12854, 0, "r"], - [12855, 0, "e"], - [12856, 0, "a"], - [12857, 0, "t"], - [12858, 0, "e"], - [12859, 0, " "], - [12860, 0, "d"], - [12861, 0, "u"], - [12862, 0, "p"], - [12863, 0, "l"], - [12864, 0, "i"], - [12865, 0, "c"], - [12866, 0, "a"], - [12867, 0, "t"], - [12868, 0, "e"], - [12869, 0, " "], - [12870, 0, "w"], - [12871, 0, "h"], - [12872, 0, "i"], - [12873, 0, "l"], - [12874, 0, "d"], - [12875, 0, "r"], - [12876, 0, "e"], - [12877, 0, "n"], - [12878, 0, " "], - [12879, 0, "w"], - [12880, 0, "i"], - [12881, 0, "t"], - [12882, 0, "h"], - [12883, 0, " "], - [12884, 0, "t"], - [12885, 0, "h"], - [12886, 0, "e"], - [12887, 0, " "], - [12888, 0, "s"], - [12889, 0, "a"], - [12890, 0, "m"], - [12891, 0, "e"], - [12892, 0, " "], - [12893, 0, "k"], - [12894, 0, "e"], - [12895, 0, "y"], - [12896, 0, " "], - [12897, 0, "r"], - [12898, 0, "a"], - [12899, 0, "t"], - [12900, 0, "h"], - [12901, 0, "e"], - [12902, 0, "r"], - [12903, 0, " "], - [12904, 0, "t"], - [12905, 0, "h"], - [12906, 0, "a"], - [12907, 0, "n"], - [12908, 0, " "], - [12909, 0, "m"], - [12796, 0, " "], - [12797, 0, "i"], - [12798, 0, "f"], - [12799, 0, " "], - [12800, 0, "m"], - [12801, 0, "u"], - [12802, 0, "l"], - [12803, 0, "t"], - [12804, 0, "i"], - [12805, 0, "p"], - [12806, 0, "l"], - [12807, 0, "e"], - [12808, 0, " "], - [12809, 0, "n"], - [12810, 0, "o"], - [12810, 1], - [12809, 1], - [12808, 1], - [12807, 1], - [12806, 1], - [12805, 1], - [12804, 1], - [12803, 1], - [12802, 1], - [12801, 1], - [12800, 1], - [12800, 0, "n"], - [12801, 0, "e"], - [12795, 0, " "], - [12796, 0, "b"], - [12797, 0, "y"], - [12798, 0, " "], - [12799, 0, "e"], - [12800, 0, "x"], - [12801, 0, "i"], - [12802, 0, "s"], - [12803, 0, "t"], - [12804, 0, "i"], - [12805, 0, "n"], - [12806, 0, "g"], - [12807, 0, " "], - [12808, 0, "c"], - [12809, 0, "o"], - [12810, 0, "l"], - [12811, 0, "l"], - [12812, 0, "a"], - [12813, 0, "b"], - [12814, 0, "o"], - [12815, 0, "r"], - [12816, 0, "a"], - [12817, 0, "t"], - [12818, 0, "i"], - [12819, 0, "v"], - [12820, 0, "e"], - [12821, 0, " "], - [12822, 0, "e"], - [12823, 0, "d"], - [12824, 0, "i"], - [12825, 0, "t"], - [12826, 0, "i"], - [12827, 0, "n"], - [12828, 0, "g"], - [12829, 0, " "], - [12830, 0, "a"], - [12831, 0, "l"], - [12832, 0, "g"], - [12833, 0, "o"], - [12834, 0, "r"], - [12835, 0, "i"], - [12836, 0, "t"], - [12837, 0, "h"], - [12838, 0, "m"], - [12839, 0, "s"], - [12840, 0, " "], - [12841, 0, "f"], - [12842, 0, "o"], - [12843, 0, "r"], - [12844, 0, " "], - [12845, 0, "X"], - [12846, 0, "M"], - [12847, 0, "L"], - [12848, 0, "."], - [12849, 1], - [12850, 1], - [12850, 0, "I"], - [12854, 1], - [12853, 1], - [12853, 0, "m"], - [12854, 0, "u"], - [12855, 0, "l"], - [12856, 0, "t"], - [12857, 0, "i"], - [12858, 0, "p"], - [12859, 0, "l"], - [12860, 0, "e"], - [12861, 0, " "], - [12862, 0, "c"], - [12863, 0, "h"], - [12864, 0, "i"], - [12865, 0, "l"], - [12866, 0, "d"], - [12867, 0, "r"], - [12868, 0, "e"], - [12869, 0, "n"], - [12870, 0, " "], - [12871, 0, "w"], - [12872, 0, "i"], - [12873, 0, "t"], - [12874, 0, "h"], - [12875, 0, " "], - [12876, 0, "t"], - [12877, 0, "h"], - [12878, 0, "e"], - [12879, 0, " "], - [12880, 0, "s"], - [12881, 0, "a"], - [12882, 0, "m"], - [12883, 0, "e"], - [12884, 0, " "], - [12885, 0, "k"], - [12886, 0, "e"], - [12887, 0, "y"], - [12888, 0, " "], - [12889, 0, "a"], - [12890, 0, "r"], - [12891, 0, "e"], - [12892, 0, " "], - [12893, 0, "c"], - [12894, 0, "o"], - [12895, 0, "n"], - [12896, 0, "c"], - [12897, 0, "u"], - [12898, 0, "r"], - [12899, 0, "r"], - [12900, 0, "e"], - [12901, 0, "n"], - [12902, 0, "t"], - [12903, 0, "l"], - [12904, 0, "y"], - [12905, 0, " "], - [12906, 0, "c"], - [12907, 0, "r"], - [12908, 0, "e"], - [12909, 0, "a"], - [12910, 0, "t"], - [12911, 0, "e"], - [12912, 0, "d"], - [12913, 0, ","], - [12914, 0, " "], - [12915, 0, "e"], - [12916, 0, "x"], - [12917, 0, "i"], - [12918, 0, "s"], - [12919, 0, "t"], - [12920, 0, "i"], - [12921, 0, "n"], - [12922, 0, "g"], - [12923, 0, " "], - [12924, 0, "a"], - [12925, 0, "l"], - [12926, 0, "g"], - [12927, 0, "o"], - [12928, 0, "r"], - [12929, 0, "i"], - [12930, 0, "t"], - [12931, 0, "h"], - [12932, 0, "s"], - [12932, 1], - [12932, 0, "m"], - [12933, 0, "s"], - [12934, 0, " "], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12935, 1], - [12958, 1], - [12958, 0, "c"], - [12571, 1], - [12570, 1], - [12569, 1], - [12568, 1], - [12567, 1], - [12566, 1], - [12565, 1], - [12564, 1], - [12563, 1], - [12562, 1], - [12561, 1], - [12560, 1], - [12559, 1], - [12558, 1], - [12557, 1], - [12556, 1], - [12555, 1], - [12554, 1], - [12553, 1], - [12552, 1], - [12551, 1], - [12550, 1], - [12549, 1], - [12548, 1], - [12547, 1], - [12546, 1], - [12545, 1], - [12544, 1], - [12543, 1], - [12542, 1], - [12541, 1], - [12540, 1], - [12539, 1], - [12538, 1], - [12537, 1], - [12536, 1], - [12535, 1], - [12534, 1], - [12533, 1], - [12532, 1], - [12531, 1], - [12530, 1], - [12529, 1], - [12528, 1], - [12527, 1], - [12526, 1], - [12525, 1], - [12524, 1], - [12523, 1], - [12522, 1], - [12521, 1], - [12520, 1], - [12519, 1], - [12518, 1], - [12517, 1], - [12516, 1], - [12515, 1], - [12514, 1], - [12513, 1], - [12512, 1], - [12511, 1], - [12510, 1], - [12509, 1], - [12508, 1], - [12507, 1], - [12506, 1], - [12505, 1], - [12504, 1], - [12503, 1], - [12502, 1], - [12928, 0, "e"], - [12929, 0, "r"], - [12930, 0, "g"], - [12931, 0, "i"], - [12932, 0, "n"], - [12933, 0, "g"], - [12934, 0, " "], - [12935, 0, "t"], - [12936, 0, "h"], - [12937, 0, "e"], - [12938, 0, "m"], - [12939, 0, " "], - [12940, 0, "l"], - [12941, 0, "i"], - [12942, 0, "k"], - [12943, 0, "e"], - [12944, 0, " "], - [12945, 0, "i"], - [12946, 0, "n"], - [12947, 0, " "], - [12948, 0, "F"], - [12949, 0, "i"], - [12950, 0, "g"], - [12951, 0, "u"], - [12952, 0, "r"], - [12953, 0, "e"], - [12954, 0, "~"], - [12955, 0, "\\"], - [12956, 0, "r"], - [12957, 0, "e"], - [12958, 0, "f"], - [12959, 0, "{"], - [12960, 0, "f"], - [12961, 0, "i"], - [12962, 0, "g"], - [12963, 0, ":"], - [12964, 0, "t"], - [12965, 0, "w"], - [12966, 0, "o"], - [12967, 0, "-"], - [12968, 0, "l"], - [12969, 0, "i"], - [12970, 0, "s"], - [12971, 0, "t"], - [12972, 0, "s"], - [12973, 0, "}"], - [12974, 0, "."], - [34107, 1], - [34106, 1], - [34105, 1], - [34105, 0, ","], - [34106, 0, " "], - [34107, 0, "s"], - [34108, 0, "t"], - [34109, 0, "a"], - [34110, 0, "t"], - [34111, 0, "e"], - [34112, 0, " "], - [34113, 0, "v"], - [34114, 0, "e"], - [34115, 0, "c"], - [34116, 0, "t"], - [34117, 0, "o"], - [34118, 0, "r"], - [34119, 0, "s"], - [34120, 0, "~"], - [34121, 0, "\\"], - [34122, 0, "c"], - [34123, 0, "i"], - [34124, 0, "t"], - [34125, 0, "e"], - [34126, 0, "{"], - [34127, 0, "E"], - [34128, 0, "l"], - [34129, 0, "l"], - [34130, 0, "i"], - [34131, 0, "s"], - [34132, 0, ":"], - [34133, 0, "1"], - [34134, 0, "9"], - [34135, 0, "8"], - [34136, 0, "9"], - [34137, 0, "u"], - [34138, 0, "e"], - [34139, 0, "}"], - [34140, 0, ","], - [34141, 0, " "], - [34142, 0, "o"], - [34143, 0, "r"], - [34105, 0, "~"], - [34106, 0, "\\"], - [34107, 0, "c"], - [34108, 0, "i"], - [34109, 0, "t"], - [34110, 0, "e"], - [34111, 0, "{"], - [34112, 0, "P"], - [34113, 0, "a"], - [34114, 0, "r"], - [34115, 0, "k"], - [34116, 0, "e"], - [34117, 0, "r"], - [34118, 0, "J"], - [34119, 0, "R"], - [34120, 0, ":"], - [34120, 1], - [34119, 1], - [34119, 0, "r"], - [34120, 0, ":"], - [34121, 0, "1"], - [34122, 0, "9"], - [34123, 0, "8"], - [34124, 0, "3"], - [34125, 0, "j"], - [34126, 0, "b"], - [34127, 0, "}"], - [34206, 1], - [34205, 1], - [34204, 1], - [34203, 1], - [34202, 1], - [34201, 1], - [34200, 1], - [34199, 1], - [34198, 1], - [34197, 1], - [34196, 1], - [34195, 1], - [34194, 1], - [34193, 1], - [34192, 1], - [34191, 1], - [34190, 1], - [34190, 0, "~"], - [34191, 0, "\\"], - [34192, 0, "c"], - [34193, 0, "i"], - [34194, 0, "t"], - [34195, 0, "e"], - [34196, 0, "{"], - [34197, 0, "P"], - [34198, 0, "r"], - [34199, 0, "e"], - [34200, 0, "g"], - [34201, 0, "u"], - [34202, 0, "i"], - [34203, 0, "c"], - [34204, 0, "a"], - [34205, 0, ":"], - [34206, 0, "2"], - [34207, 0, "0"], - [34208, 0, "1"], - [34209, 0, "2"], - [34210, 0, "f"], - [34211, 0, "x"], - [34212, 0, "}"], - [67723, 0, "\n"], - [67724, 0, "\n"], - [67725, 0, "\\"], - [67726, 0, "s"], - [67727, 0, "e"], - [67728, 0, "c"], - [67729, 0, "t"], - [67730, 0, "i"], - [67731, 0, "o"], - [67732, 0, "n"], - [67733, 0, "{"], - [67734, 0, "R"], - [67735, 0, "e"], - [67736, 0, "l"], - [67737, 0, "a"], - [67738, 0, "t"], - [67739, 0, "e"], - [67740, 0, "d"], - [67741, 0, " "], - [67742, 0, "W"], - [67742, 1], - [67742, 0, "w"], - [67743, 0, "o"], - [67744, 0, "r"], - [67745, 0, "k"], - [67746, 0, "}"], - [67747, 0, "\n"], - [67748, 0, "\n"], - [67749, 0, "A"], - [67750, 0, "l"], - [67751, 0, "g"], - [67752, 0, "o"], - [67753, 0, "r"], - [67754, 0, "i"], - [67755, 0, "t"], - [67756, 0, "h"], - [67757, 0, "m"], - [67758, 0, "s"], - [67759, 0, " "], - [67760, 0, "b"], - [67761, 0, "a"], - [67762, 0, "s"], - [67763, 0, "e"], - [67764, 0, "d"], - [67765, 0, " "], - [67766, 0, "o"], - [67767, 0, "n"], - [67768, 0, " "], - [67769, 0, "_"], - [67769, 1], - [67769, 0, "\\"], - [67770, 0, "e"], - [67771, 0, "m"], - [67772, 0, "p"], - [67773, 0, "h"], - [67774, 0, "{"], - [67775, 0, "o"], - [67776, 0, "p"], - [67777, 0, "e"], - [67778, 0, "r"], - [67779, 0, "a"], - [67780, 0, "t"], - [67781, 0, "i"], - [67782, 0, "o"], - [67783, 0, "n"], - [67784, 0, "a"], - [67785, 0, "l"], - [67786, 0, " "], - [67787, 0, "t"], - [67788, 0, "r"], - [67789, 0, "a"], - [67790, 0, "n"], - [67791, 0, "s"], - [67792, 0, "f"], - [67793, 0, "o"], - [67794, 0, "r"], - [67795, 0, "m"], - [67796, 0, "a"], - [67797, 0, "t"], - [67798, 0, "i"], - [67799, 0, "o"], - [67800, 0, "n"], - [67801, 0, "}"], - [67802, 0, " "], - [67803, 0, "("], - [67804, 0, "O"], - [67805, 0, "T"], - [67806, 0, ")"], - [67807, 0, " "], - [67808, 0, "h"], - [67809, 0, "a"], - [67810, 0, "v"], - [67811, 0, "e"], - [67812, 0, " "], - [67813, 0, "l"], - [67814, 0, "o"], - [67815, 0, "n"], - [67816, 0, "g"], - [67817, 0, " "], - [67818, 0, "b"], - [67819, 0, "e"], - [67820, 0, "e"], - [67821, 0, "n"], - [67822, 0, " "], - [67823, 0, "u"], - [67824, 0, "s"], - [67825, 0, "e"], - [67826, 0, "d"], - [67827, 0, " "], - [67828, 0, "f"], - [67829, 0, "o"], - [67830, 0, "r"], - [67831, 0, " "], - [67832, 0, "c"], - [67833, 0, "o"], - [67834, 0, "l"], - [67835, 0, "l"], - [67836, 0, "a"], - [67837, 0, "b"], - [67838, 0, "o"], - [67839, 0, "r"], - [67840, 0, "a"], - [67841, 0, "t"], - [67842, 0, "i"], - [67843, 0, "v"], - [67844, 0, "e"], - [67845, 0, " "], - [67846, 0, "e"], - [67847, 0, "d"], - [67848, 0, "i"], - [67849, 0, "t"], - [67850, 0, "i"], - [67851, 0, "n"], - [67852, 0, "g"], - [67853, 0, " "], - [67854, 0, "a"], - [67855, 0, "p"], - [67856, 0, "p"], - [67857, 0, "l"], - [67858, 0, "i"], - [67859, 0, "c"], - [67860, 0, "a"], - [67861, 0, "t"], - [67862, 0, "i"], - [67863, 0, "o"], - [67864, 0, "n"], - [67865, 0, "s"], - [67866, 0, "~"], - [67867, 0, "\\"], - [67868, 0, "c"], - [67869, 0, "i"], - [67870, 0, "t"], - [67871, 0, "e"], - [67872, 0, "{"], - [67873, 0, "E"], - [67874, 0, "l"], - [67875, 0, "l"], - [67876, 0, "i"], - [67877, 0, "s"], - [67878, 0, ":"], - [67879, 0, "1"], - [67880, 0, "9"], - [67881, 0, "8"], - [67882, 0, "9"], - [67883, 0, "u"], - [67884, 0, "e"], - [67885, 0, ","], - [67886, 0, "R"], - [67887, 0, "e"], - [67888, 0, "s"], - [67889, 0, "s"], - [67890, 0, "e"], - [67891, 0, "l"], - [67892, 0, ":"], - [67893, 0, "1"], - [67894, 0, "9"], - [67895, 0, "9"], - [67896, 0, "6"], - [67897, 0, "w"], - [67898, 0, "x"], - [67899, 0, ","], - [67900, 0, "S"], - [67901, 0, "u"], - [67902, 0, "n"], - [67903, 0, ":"], - [67904, 0, "1"], - [67905, 0, "9"], - [67906, 0, "9"], - [67907, 0, "8"], - [67908, 0, "v"], - [67909, 0, "f"], - [67910, 0, ","], - [67911, 0, "N"], - [67912, 0, "i"], - [67913, 0, "c"], - [67914, 0, "h"], - [67915, 0, "o"], - [67916, 0, "l"], - [67917, 0, "s"], - [67918, 0, ":"], - [67919, 0, "1"], - [67920, 0, "9"], - [67921, 0, "9"], - [67922, 0, "5"], - [67923, 0, "f"], - [67924, 0, "d"], - [67925, 0, "}"], - [67926, 0, "."], - [67927, 0, " "], - [67928, 0, "M"], - [67929, 0, "o"], - [67930, 0, "s"], - [67931, 0, "t"], - [67932, 0, " "], - [67933, 0, "o"], - [67934, 0, "f"], - [67935, 0, " "], - [67936, 0, "t"], - [67937, 0, "h"], - [67938, 0, "e"], - [67939, 0, "m"], - [67940, 0, " "], - [67941, 0, "t"], - [67942, 0, "r"], - [67943, 0, "e"], - [67944, 0, "a"], - [67945, 0, "t"], - [67946, 0, " "], - [67947, 0, "a"], - [67948, 0, " "], - [67949, 0, "d"], - [67950, 0, "o"], - [67951, 0, "c"], - [67952, 0, "u"], - [67953, 0, "m"], - [67954, 0, "e"], - [67955, 0, "n"], - [67956, 0, "t"], - [67957, 0, " "], - [67958, 0, "a"], - [67959, 0, "s"], - [67960, 0, " "], - [67961, 0, "a"], - [67962, 0, " "], - [67963, 0, "f"], - [67964, 0, "l"], - [67965, 0, "a"], - [67966, 0, "t"], - [67967, 0, " "], - [67968, 0, "s"], - [67969, 0, "e"], - [67970, 0, "q"], - [67971, 0, "u"], - [67972, 0, "e"], - [67973, 0, "n"], - [67974, 0, "c"], - [67975, 0, "e"], - [67976, 0, " "], - [67977, 0, "("], - [67978, 0, "o"], - [67979, 0, "f"], - [67980, 0, " "], - [67981, 0, "c"], - [67982, 0, "h"], - [67983, 0, "a"], - [67984, 0, "r"], - [67985, 0, "a"], - [67986, 0, "c"], - [67987, 0, "t"], - [67988, 0, "e"], - [67989, 0, "r"], - [67990, 0, "s"], - [67991, 0, ","], - [67992, 0, " "], - [67993, 0, "f"], - [67994, 0, "o"], - [67995, 0, "r"], - [67996, 0, " "], - [67997, 0, "e"], - [67998, 0, "x"], - [67999, 0, "a"], - [68000, 0, "m"], - [68001, 0, "p"], - [68002, 0, "l"], - [68003, 0, "e"], - [68004, 0, ")"], - [68005, 0, " "], - [68006, 0, "a"], - [68007, 0, "n"], - [68008, 0, "d"], - [68009, 0, " "], - [68010, 0, "d"], - [68011, 0, "o"], - [68012, 0, " "], - [68013, 0, "n"], - [68014, 0, "o"], - [68015, 0, "t"], - [68016, 0, " "], - [68017, 0, "s"], - [68018, 0, "u"], - [68019, 0, "p"], - [68020, 0, "p"], - [68021, 0, "o"], - [68022, 0, "r"], - [68023, 0, "t"], - [68024, 0, " "], - [68025, 0, "t"], - [68026, 0, "h"], - [68027, 0, "e"], - [68028, 0, " "], - [68029, 0, "n"], - [68030, 0, "e"], - [68031, 0, "s"], - [68032, 0, "t"], - [68033, 0, "e"], - [68034, 0, "d"], - [68035, 0, " "], - [68036, 0, "t"], - [68037, 0, "r"], - [68038, 0, "e"], - [68039, 0, "e"], - [68040, 0, " "], - [68041, 0, "s"], - [68042, 0, "t"], - [68043, 0, "r"], - [68044, 0, "u"], - [68045, 0, "c"], - [68046, 0, "t"], - [68047, 0, "u"], - [68048, 0, "r"], - [68049, 0, "e"], - [68050, 0, "s"], - [68051, 0, " "], - [68052, 0, "t"], - [68053, 0, "h"], - [68054, 0, "a"], - [68055, 0, "t"], - [68056, 0, " "], - [68057, 0, "a"], - [68058, 0, "r"], - [68059, 0, "e"], - [68060, 0, " "], - [68061, 0, "r"], - [68062, 0, "e"], - [68063, 0, "q"], - [68064, 0, "u"], - [68065, 0, "i"], - [68066, 0, "r"], - [68067, 0, "e"], - [68068, 0, "d"], - [68069, 0, " "], - [67975, 1], - [67974, 1], - [67973, 1], - [67972, 1], - [67971, 1], - [67970, 1], - [67969, 1], - [67968, 1], - [67967, 1], - [67966, 1], - [67965, 1], - [67964, 1], - [67963, 1], - [67962, 1], - [67962, 0, "s"], - [67963, 0, "i"], - [67964, 0, "n"], - [67965, 0, "g"], - [67966, 0, "l"], - [67962, 0, " "], - [67968, 0, "e"], - [67969, 0, " "], - [67970, 0, "o"], - [67971, 0, "r"], - [67972, 0, "d"], - [67973, 0, "e"], - [67974, 0, "r"], - [67975, 0, "e"], - [67976, 0, "d"], - [67977, 0, " "], - [67978, 0, "l"], - [67979, 0, "i"], - [67980, 0, "s"], - [67981, 0, "t"], - [68076, 0, "f"], - [68077, 0, "o"], - [68078, 0, "r"], - [68079, 0, " "], - [68080, 0, "m"], - [68081, 0, "a"], - [68082, 0, "n"], - [68083, 0, "y"], - [68084, 0, " "], - [68085, 0, "a"], - [68086, 0, "p"], - [68087, 0, "p"], - [68088, 0, "l"], - [68089, 0, "i"], - [68090, 0, "c"], - [68091, 0, "a"], - [68092, 0, "t"], - [68093, 0, "i"], - [68094, 0, "o"], - [68095, 0, "n"], - [68096, 0, "s"], - [68097, 0, "."], - [68098, 0, " "], - [68099, 0, "S"], - [68100, 0, "o"], - [68101, 0, "m"], - [68102, 0, "e"], - [68103, 0, " "], - [68104, 0, "a"], - [68105, 0, "l"], - [68106, 0, "g"], - [68107, 0, "o"], - [68108, 0, "r"], - [68109, 0, "i"], - [68110, 0, "t"], - [68111, 0, "h"], - [68112, 0, "m"], - [68113, 0, "s"], - [68114, 0, " "], - [68115, 0, "g"], - [68116, 0, "e"], - [68117, 0, "n"], - [68118, 0, "e"], - [68119, 0, "r"], - [68120, 0, "a"], - [68121, 0, "l"], - [68122, 0, "i"], - [68123, 0, "z"], - [68124, 0, "e"], - [68125, 0, " "], - [68126, 0, "O"], - [68127, 0, "T"], - [68128, 0, " "], - [68129, 0, "t"], - [68130, 0, "o"], - [68131, 0, " "], - [68132, 0, "e"], - [68133, 0, "d"], - [68134, 0, "i"], - [68135, 0, "t"], - [68136, 0, "i"], - [68137, 0, "n"], - [68138, 0, "g"], - [68139, 0, " "], - [68140, 0, "X"], - [68141, 0, "M"], - [68142, 0, "L"], - [68143, 0, " "], - [68144, 0, "d"], - [68145, 0, "o"], - [68146, 0, "c"], - [68147, 0, "u"], - [68148, 0, "m"], - [68149, 0, "e"], - [68150, 0, "n"], - [68151, 0, "t"], - [68152, 0, "s"], - [68153, 0, "~"], - [68154, 0, "\\"], - [68155, 0, "c"], - [68156, 0, "i"], - [68157, 0, "t"], - [68158, 0, "e"], - [68159, 0, "{"], - [68160, 0, "D"], - [68161, 0, "a"], - [68162, 0, "v"], - [68163, 0, "i"], - [68164, 0, "s"], - [68165, 0, ":"], - [68166, 0, "2"], - [68167, 0, "0"], - [68168, 0, "0"], - [68169, 0, "2"], - [68170, 0, "i"], - [68171, 0, "v"], - [68172, 0, ","], - [68173, 0, "I"], - [68174, 0, "g"], - [68175, 0, "n"], - [68176, 0, "a"], - [68177, 0, "t"], - [68178, 0, ":"], - [68179, 0, "2"], - [68180, 0, "0"], - [68181, 0, "0"], - [68182, 0, "3"], - [68183, 0, "j"], - [68184, 0, "y"], - [68185, 0, ","], - [68185, 0, "}"], - [68187, 0, " "], - [68185, 0, ","], - [68186, 0, "W"], - [68187, 0, "a"], - [68188, 0, "n"], - [68189, 0, "g"], - [68190, 0, ":"], - [68191, 0, "2"], - [68192, 0, "0"], - [68193, 0, "1"], - [68194, 0, "5"], - [68195, 0, "v"], - [68196, 0, "o"], - [68200, 0, "w"], - [68201, 0, "h"], - [68202, 0, "i"], - [68203, 0, "c"], - [68204, 0, "h"], - [68205, 0, " "], - [68206, 0, "p"], - [68207, 0, "r"], - [68208, 0, "o"], - [68209, 0, "v"], - [68210, 0, "i"], - [68211, 0, "d"], - [68212, 0, "e"], - [68213, 0, "s"], - [68214, 0, " "], - [68215, 0, "n"], - [68216, 0, "e"], - [68217, 0, "s"], - [68218, 0, "t"], - [68219, 0, "i"], - [68220, 0, "n"], - [68221, 0, "g"], - [68222, 0, " "], - [68223, 0, "o"], - [68224, 0, "f"], - [68225, 0, " "], - [68226, 0, "o"], - [68227, 0, "r"], - [68228, 0, "d"], - [68229, 0, "e"], - [68230, 0, "r"], - [68231, 0, "e"], - [68232, 0, "d"], - [68233, 0, " "], - [68234, 0, "l"], - [68235, 0, "i"], - [68236, 0, "s"], - [68237, 0, "t"], - [68238, 0, "s"], - [68239, 0, ","], - [68240, 0, " "], - [68241, 0, "b"], - [68242, 0, "u"], - [68243, 0, "t"], - [68244, 0, " "], - [68245, 0, "t"], - [68246, 0, "h"], - [68247, 0, "e"], - [68248, 0, "s"], - [68249, 0, "e"], - [68250, 0, " "], - [68251, 0, "a"], - [68252, 0, "l"], - [68253, 0, "g"], - [68254, 0, "o"], - [68255, 0, "r"], - [68256, 0, "i"], - [68257, 0, "t"], - [68258, 0, "h"], - [68259, 0, "m"], - [68260, 0, "s"], - [68261, 0, " "], - [68262, 0, "d"], - [68263, 0, "o"], - [68264, 0, " "], - [68265, 0, "n"], - [68266, 0, "o"], - [68267, 0, "t"], - [68268, 0, " "], - [68269, 0, "s"], - [68270, 0, "u"], - [68271, 0, "p"], - [68272, 0, "p"], - [68273, 0, "o"], - [68274, 0, "r"], - [68275, 0, "t"], - [68276, 0, " "], - [68277, 0, "k"], - [68278, 0, "e"], - [68279, 0, "y"], - [68280, 0, "-"], - [68281, 0, "v"], - [68282, 0, "a"], - [68283, 0, "l"], - [68284, 0, "u"], - [68285, 0, "e"], - [68286, 0, " "], - [68287, 0, "m"], - [68288, 0, "a"], - [68289, 0, "p"], - [68290, 0, "s"], - [68291, 0, " "], - [68292, 0, "a"], - [68293, 0, "s"], - [68294, 0, " "], - [68295, 0, "d"], - [68296, 0, "e"], - [68297, 0, "f"], - [68298, 0, "i"], - [68299, 0, "n"], - [68300, 0, "e"], - [68301, 0, "d"], - [68302, 0, " "], - [68303, 0, "i"], - [68304, 0, "n"], - [68305, 0, " "], - [68306, 0, "t"], - [68307, 0, "h"], - [68308, 0, "i"], - [68309, 0, "s"], - [68310, 0, " "], - [68311, 0, "p"], - [68312, 0, "a"], - [68313, 0, "p"], - [68314, 0, "e"], - [68315, 0, "r"], - [68316, 0, "."], - [68317, 0, "\n"], - [68318, 0, "\n"], - [68319, 0, "M"], - [68320, 0, "o"], - [68321, 0, "s"], - [68322, 0, "t"], - [68323, 0, " "], - [68324, 0, "d"], - [68325, 0, "e"], - [68326, 0, "p"], - [68327, 0, "l"], - [68328, 0, "o"], - [68329, 0, "y"], - [68330, 0, "e"], - [68331, 0, "d"], - [68332, 0, " "], - [68333, 0, "O"], - [68334, 0, "T"], - [68335, 0, " "], - [68336, 0, "s"], - [68337, 0, "y"], - [68338, 0, "s"], - [68339, 0, "t"], - [68340, 0, "e"], - [68341, 0, "m"], - [68342, 0, "s"], - [68343, 0, ","], - [68344, 0, " "], - [68345, 0, "i"], - [68346, 0, "n"], - [68347, 0, "c"], - [68348, 0, "l"], - [68349, 0, "u"], - [68350, 0, "d"], - [68351, 0, "i"], - [68352, 0, "n"], - [68353, 0, "g"], - [68354, 0, " "], - [68355, 0, "\\"], - [68355, 1], - [68355, 0, "G"], - [68356, 0, "o"], - [68357, 0, "o"], - [68358, 0, "g"], - [68359, 0, "l"], - [68360, 0, "e"], - [68361, 0, " "], - [68362, 0, "D"], - [68363, 0, "o"], - [68364, 0, "c"], - [68365, 0, "s"], - [68366, 0, "~"], - [68367, 0, "\\"], - [68368, 0, "c"], - [68369, 0, "i"], - [68370, 0, "t"], - [68371, 0, "e"], - [68372, 0, "{"], - [68373, 0, "D"], - [68374, 0, "a"], - [68375, 0, "y"], - [68376, 0, "R"], - [68377, 0, "i"], - [68378, 0, "c"], - [68379, 0, "h"], - [68380, 0, "t"], - [68381, 0, "e"], - [68382, 0, "r"], - [68383, 0, ":"], - [68384, 0, "2"], - [68385, 0, "0"], - [68386, 0, "1"], - [68387, 0, "0"], - [68388, 0, "t"], - [68389, 0, "t"], - [68390, 0, "}"], - [68391, 0, ","], - [68392, 0, " "], - [68393, 0, "E"], - [68394, 0, "t"], - [68395, 0, "h"], - [68396, 0, "e"], - [68397, 0, "r"], - [68398, 0, "p"], - [68399, 0, "a"], - [68400, 0, "d"], - [68401, 0, "~"], - [68402, 0, "\\"], - [68403, 0, "c"], - [68404, 0, "i"], - [68405, 0, "t"], - [68406, 0, "e"], - [68407, 0, "{"], - [68408, 0, "E"], - [68409, 0, "t"], - [68410, 0, "h"], - [68411, 0, "e"], - [68412, 0, "r"], - [68413, 0, "p"], - [68414, 0, "a"], - [68415, 0, "d"], - [68416, 0, ":"], - [68417, 0, "2"], - [68418, 0, "0"], - [68419, 0, "1"], - [68420, 0, "1"], - [68421, 0, "u"], - [68422, 0, "m"], - [68423, 0, "}"], - [68424, 0, ","], - [68425, 0, " "], - [68426, 0, "N"], - [68427, 0, "o"], - [68428, 0, "v"], - [68429, 0, "e"], - [68430, 0, "l"], - [68431, 0, "l"], - [68432, 0, " "], - [68433, 0, "V"], - [68434, 0, "i"], - [68435, 0, "b"], - [68436, 0, "e"], - [68437, 0, "~"], - [68438, 0, "\\"], - [68439, 0, "c"], - [68440, 0, "i"], - [68441, 0, "t"], - [68442, 0, "e"], - [68443, 0, "{"], - [68444, 0, "S"], - [68445, 0, "p"], - [68446, 0, "i"], - [68447, 0, "e"], - [68448, 0, "w"], - [68449, 0, "a"], - [68450, 0, "k"], - [68451, 0, ":"], - [68452, 0, "2"], - [68453, 0, "0"], - [68454, 0, "1"], - [68455, 0, "0"], - [68456, 0, "v"], - [68457, 0, "w"], - [68458, 0, "}"], - [68459, 0, " "], - [68460, 0, "a"], - [68461, 0, "n"], - [68462, 0, "d"], - [68463, 0, " "], - [68464, 0, "A"], - [68465, 0, "p"], - [68466, 0, "a"], - [68467, 0, "c"], - [68468, 0, "h"], - [68469, 0, "e"], - [68470, 0, " "], - [68471, 0, "W"], - [68472, 0, "a"], - [68473, 0, "v"], - [68474, 0, "e"], - [68475, 0, " "], - [68476, 0, "("], - [68477, 0, "f"], - [68478, 0, "o"], - [68479, 0, "r"], - [68480, 0, "m"], - [68481, 0, "e"], - [68482, 0, "r"], - [68483, 0, "l"], - [68484, 0, "y"], - [68485, 0, " "], - [68486, 0, "G"], - [68487, 0, "o"], - [68488, 0, "o"], - [68489, 0, "g"], - [68490, 0, "l"], - [68491, 0, "e"], - [68492, 0, " "], - [68493, 0, "W"], - [68494, 0, "a"], - [68495, 0, "v"], - [68496, 0, "e"], - [68497, 0, "~"], - [68498, 0, "\\"], - [68499, 0, "c"], - [68500, 0, "i"], - [68501, 0, "t"], - [68502, 0, "e"], - [68503, 0, "{"], - [68504, 0, "W"], - [68505, 0, "a"], - [68506, 0, "n"], - [68507, 0, "g"], - [68508, 0, ":"], - [68509, 0, "2"], - [68510, 0, "0"], - [68511, 0, "1"], - [68512, 0, "5"], - [68513, 0, "v"], - [68514, 0, "o"], - [68515, 0, "}"], - [68516, 0, ")"], - [68517, 0, ","], - [68518, 0, " "], - [68519, 0, "r"], - [68520, 0, "e"], - [68521, 0, "l"], - [68522, 0, "y"], - [68523, 0, " "], - [68524, 0, "o"], - [68525, 0, "n"], - [68526, 0, " "], - [68527, 0, "a"], - [68528, 0, " "], - [68335, 0, " "], - [68336, 0, "c"], - [68337, 0, "o"], - [68338, 0, "l"], - [68339, 0, "l"], - [68340, 0, "a"], - [68341, 0, "b"], - [68342, 0, "o"], - [68343, 0, "r"], - [68344, 0, "a"], - [68345, 0, "t"], - [68346, 0, "i"], - [68347, 0, "o"], - [68348, 0, "n"], - [68543, 0, "s"], - [68544, 0, "i"], - [68545, 0, "n"], - [68546, 0, "g"], - [68547, 0, "l"], - [68548, 0, "e"], - [68549, 0, " "], - [68550, 0, "s"], - [68551, 0, "e"], - [68552, 0, "r"], - [68553, 0, "v"], - [68554, 0, "e"], - [68555, 0, "r"], - [68556, 0, " "], - [68557, 0, "t"], - [68558, 0, "o"], - [68559, 0, " "], - [68560, 0, "d"], - [68561, 0, "e"], - [68562, 0, "c"], - [68563, 0, "i"], - [68564, 0, "d"], - [68565, 0, "e"], - [68566, 0, " "], - [68567, 0, "o"], - [68568, 0, "n"], - [68569, 0, " "], - [68570, 0, "a"], - [68571, 0, " "], - [68572, 0, "t"], - [68573, 0, "o"], - [68574, 0, "t"], - [68575, 0, "a"], - [68576, 0, "l"], - [68577, 0, " "], - [68578, 0, "o"], - [68579, 0, "r"], - [68580, 0, "d"], - [68581, 0, "e"], - [68582, 0, "r"], - [68583, 0, "i"], - [68584, 0, "n"], - [68585, 0, "g"], - [68586, 0, " "], - [68587, 0, "o"], - [68588, 0, "f"], - [68589, 0, " "], - [68590, 0, "o"], - [68591, 0, "p"], - [68592, 0, "e"], - [68593, 0, "r"], - [68594, 0, "a"], - [68595, 0, "t"], - [68596, 0, "i"], - [68597, 0, "o"], - [68598, 0, "n"], - [68599, 0, "s"], - [68600, 0, "."], - [68601, 0, " "], - [68602, 0, "T"], - [68603, 0, "h"], - [68604, 0, "i"], - [68605, 0, "s"], - [68606, 0, " "], - [68607, 0, "h"], - [68608, 0, "a"], - [68609, 0, "s"], - [68610, 0, " "], - [68611, 0, "t"], - [68612, 0, "h"], - [68613, 0, "e"], - [68614, 0, " "], - [68615, 0, "a"], - [68616, 0, "d"], - [68617, 0, "v"], - [68618, 0, "a"], - [68619, 0, "n"], - [68620, 0, "t"], - [68621, 0, "a"], - [68622, 0, "g"], - [68623, 0, "e"], - [68624, 0, " "], - [68625, 0, "o"], - [68626, 0, "f"], - [68627, 0, " "], - [68628, 0, "s"], - [68629, 0, "i"], - [68630, 0, "m"], - [68631, 0, "p"], - [68632, 0, "l"], - [68633, 0, "i"], - [68634, 0, "f"], - [68635, 0, "y"], - [68636, 0, "i"], - [68637, 0, "n"], - [68638, 0, "g"], - [68639, 0, " "], - [68640, 0, "t"], - [68641, 0, "h"], - [68642, 0, "e"], - [68643, 0, " "], - [68644, 0, "t"], - [68645, 0, "r"], - [68646, 0, "a"], - [68647, 0, "n"], - [68648, 0, "s"], - [68649, 0, "f"], - [68650, 0, "o"], - [68651, 0, "r"], - [68652, 0, "m"], - [68653, 0, "a"], - [68654, 0, "t"], - [68655, 0, "i"], - [68656, 0, "o"], - [68657, 0, "n"], - [68658, 0, " "], - [68638, 1], - [68637, 1], - [68636, 1], - [68635, 1], - [68634, 1], - [68633, 1], - [68632, 1], - [68631, 1], - [68630, 1], - [68629, 1], - [68628, 1], - [68627, 1], - [68627, 0, " "], - [68628, 0, "m"], - [68629, 0, "a"], - [68630, 0, "k"], - [68631, 0, "i"], - [68632, 0, "n"], - [68633, 0, "g"], - [68654, 0, "f"], - [68655, 0, "u"], - [68656, 0, "n"], - [68657, 0, "c"], - [68658, 0, "t"], - [68659, 0, "i"], - [68660, 0, "o"], - [68661, 0, "n"], - [68662, 0, "s"], - [68663, 0, " "], - [68664, 0, "s"], - [68665, 0, "i"], - [68666, 0, "m"], - [68667, 0, "p"], - [68668, 0, "l"], - [68669, 0, "e"], - [68670, 0, "r"], - [68671, 0, " "], - [68672, 0, "a"], - [68673, 0, "n"], - [68674, 0, "d"], - [68675, 0, " "], - [68676, 0, "l"], - [68677, 0, "e"], - [68678, 0, "s"], - [68679, 0, "s"], - [68680, 0, " "], - [68681, 0, "e"], - [68682, 0, "r"], - [68683, 0, "r"], - [68684, 0, "o"], - [68685, 0, "r"], - [68686, 0, "-"], - [68687, 0, "p"], - [68688, 0, "r"], - [68689, 0, "o"], - [68690, 0, "n"], - [68691, 0, "e"], - [68692, 0, "~"], - [68693, 0, "\\"], - [68694, 0, "c"], - [68695, 0, "i"], - [68696, 0, "t"], - [68697, 0, "e"], - [68698, 0, "{"], - [68699, 0, "I"], - [68700, 0, "m"], - [68701, 0, "i"], - [68702, 0, "n"], - [68703, 0, "e"], - [68704, 0, ":"], - [68705, 0, "2"], - [68706, 0, "0"], - [68707, 0, "0"], - [68708, 0, "3"], - [68709, 0, "k"], - [68710, 0, "s"], - [68711, 0, "}"], - [68712, 0, ","], - [68713, 0, " "], - [68714, 0, "b"], - [68715, 0, "u"], - [68716, 0, "t"], - [68717, 0, " "], - [68718, 0, "i"], - [68719, 0, "t"], - [68720, 0, " "], - [68721, 0, "i"], - [68722, 0, "s"], - [68723, 0, " "], - [68724, 0, "n"], - [68725, 0, "o"], - [68726, 0, "t"], - [68727, 0, " "], - [68728, 0, "a"], - [68729, 0, "c"], - [68730, 0, "c"], - [68731, 0, "e"], - [68732, 0, "p"], - [68733, 0, "t"], - [68734, 0, "a"], - [68735, 0, "b"], - [68736, 0, "l"], - [68737, 0, "e"], - [68738, 0, " "], - [68600, 0, ","], - [68601, 0, " "], - [68602, 0, "a"], - [68603, 0, " "], - [68604, 0, "d"], - [68605, 0, "e"], - [68606, 0, "s"], - [68607, 0, "i"], - [68608, 0, "g"], - [68609, 0, "n"], - [68610, 0, " "], - [68611, 0, "d"], - [68612, 0, "e"], - [68613, 0, "c"], - [68614, 0, "i"], - [68615, 0, "s"], - [68616, 0, "i"], - [68617, 0, "o"], - [68618, 0, "n"], - [68619, 0, " "], - [68620, 0, "i"], - [68621, 0, "n"], - [68622, 0, "h"], - [68623, 0, "e"], - [68624, 0, "r"], - [68625, 0, "i"], - [68626, 0, "t"], - [68627, 0, "e"], - [68628, 0, "d"], - [68629, 0, " "], - [68630, 0, "f"], - [68631, 0, "r"], - [68632, 0, "o"], - [68633, 0, "m"], - [68634, 0, " "], - [68635, 0, "t"], - [68636, 0, "h"], - [68637, 0, "e"], - [68638, 0, " "], - [68639, 0, "J"], - [68640, 0, "u"], - [68641, 0, "p"], - [68642, 0, "i"], - [68643, 0, "t"], - [68644, 0, "e"], - [68645, 0, "r"], - [68646, 0, " "], - [68647, 0, "s"], - [68648, 0, "y"], - [68649, 0, "s"], - [68650, 0, "t"], - [68651, 0, "e"], - [68652, 0, "m"], - [68653, 0, "~"], - [68654, 0, "\\"], - [68655, 0, "c"], - [68656, 0, "i"], - [68657, 0, "t"], - [68658, 0, "e"], - [68659, 0, "{"], - [68660, 0, "N"], - [68661, 0, "i"], - [68662, 0, "c"], - [68663, 0, "h"], - [68664, 0, "o"], - [68665, 0, "l"], - [68666, 0, "s"], - [68667, 0, ":"], - [68668, 0, "1"], - [68669, 0, "9"], - [68670, 0, "9"], - [68671, 0, "5"], - [68672, 0, "f"], - [68673, 0, "d"], - [68674, 0, "}"], - [68813, 1], - [68812, 1], - [68811, 1], - [68810, 1], - [68809, 1], - [68808, 1], - [68807, 1], - [68806, 1], - [68805, 1], - [68804, 1], - [68803, 1], - [68802, 1], - [68801, 1], - [68800, 1], - [68799, 1], - [68798, 1], - [68797, 1], - [68796, 1], - [68795, 1], - [68794, 1], - [68793, 1], - [68682, 0, "a"], - [68683, 0, "p"], - [68684, 0, "p"], - [68685, 0, "r"], - [68686, 0, "o"], - [68687, 0, "a"], - [68688, 0, "c"], - [68689, 0, "h"], - [68690, 0, " "], - [68802, 0, "i"], - [68803, 0, "t"], - [68804, 0, " "], - [68805, 0, "d"], - [68806, 0, "o"], - [68807, 0, "e"], - [68808, 0, "s"], - [68809, 0, " "], - [68810, 0, "n"], - [68811, 0, "o"], - [68812, 0, "t"], - [68813, 0, " "], - [68814, 0, "m"], - [68815, 0, "e"], - [68816, 0, "e"], - [68817, 0, "t"], - [68818, 0, " "], - [68819, 0, "o"], - [68820, 0, "u"], - [68821, 0, "r"], - [68822, 0, " "], - [68823, 0, "r"], - [68824, 0, "e"], - [68825, 0, "q"], - [68826, 0, "u"], - [68827, 0, "i"], - [68828, 0, "r"], - [68829, 0, "e"], - [68830, 0, "m"], - [68831, 0, "e"], - [68832, 0, "n"], - [68833, 0, "t"], - [68834, 0, "s"], - [68835, 0, " "], - [68835, 1], - [68835, 0, ","], - [68836, 0, " "], - [68837, 0, "s"], - [68838, 0, "i"], - [68839, 0, "n"], - [68840, 0, "c"], - [68841, 0, "e"], - [68842, 0, " "], - [68843, 0, "w"], - [68844, 0, "e"], - [68845, 0, " "], - [68846, 0, "w"], - [68847, 0, "a"], - [68848, 0, "n"], - [68849, 0, "t"], - [68850, 0, " "], - [68851, 0, "t"], - [68852, 0, "o"], - [68853, 0, " "], - [68854, 0, "s"], - [68855, 0, "u"], - [68856, 0, "p"], - [68857, 0, "p"], - [68858, 0, "o"], - [68859, 0, "r"], - [68860, 0, "t"], - [68861, 0, " "], - [68862, 0, "c"], - [68863, 0, "o"], - [68864, 0, "l"], - [68865, 0, "l"], - [68866, 0, "a"], - [68867, 0, "b"], - [68868, 0, "o"], - [68869, 0, "r"], - [68870, 0, "a"], - [68871, 0, "t"], - [68872, 0, "i"], - [68873, 0, "o"], - [68874, 0, "n"], - [68875, 0, " "], - [68876, 0, "w"], - [68877, 0, "i"], - [68878, 0, "t"], - [68879, 0, "h"], - [68880, 0, "o"], - [68881, 0, "u"], - [68882, 0, "t"], - [68883, 0, " "], - [68861, 0, " "], - [68862, 0, "p"], - [68863, 0, "e"], - [68864, 0, "e"], - [68865, 0, "r"], - [68866, 0, "-"], - [68867, 0, "t"], - [68868, 0, "o"], - [68869, 0, "-"], - [68870, 0, "p"], - [68871, 0, "e"], - [68872, 0, "e"], - [68873, 0, "r"], - [68897, 0, "r"], - [68898, 0, "e"], - [68899, 0, "l"], - [68900, 0, "y"], - [68901, 0, "i"], - [68902, 0, "n"], - [68903, 0, "g"], - [68904, 0, " "], - [68904, 1], - [68903, 1], - [68902, 1], - [68901, 1], - [68900, 1], - [68899, 1], - [68899, 0, "q"], - [68900, 0, "u"], - [68901, 0, "i"], - [68902, 0, "r"], - [68903, 0, "i"], - [68904, 0, "n"], - [68905, 0, "g"], - [68906, 0, " "], - [68907, 0, "a"], - [68908, 0, " "], - [68909, 0, "s"], - [68910, 0, "i"], - [68911, 0, "n"], - [68912, 0, "g"], - [68913, 0, "l"], - [68914, 0, "e"], - [68915, 0, " "], - [68916, 0, "s"], - [68917, 0, "e"], - [68918, 0, "r"], - [68919, 0, "v"], - [68920, 0, "e"], - [68921, 0, "r"], - [68922, 0, "."], - [68923, 0, " "], - [68924, 0, "D"], - [68925, 0, "e"], - [68926, 0, "c"], - [68927, 0, "i"], - [68928, 0, "d"], - [68929, 0, "i"], - [68930, 0, "n"], - [68931, 0, "g"], - [68932, 0, " "], - [68933, 0, "o"], - [68934, 0, "n"], - [68935, 0, " "], - [68924, 1], - [68924, 0, "A"], - [68925, 0, "l"], - [68926, 0, "t"], - [68927, 0, "h"], - [68928, 0, "o"], - [68929, 0, "u"], - [68930, 0, "g"], - [68931, 0, "h"], - [68932, 0, " "], - [68933, 0, "i"], - [68934, 0, "t"], - [68935, 0, " "], - [68936, 0, "p"], - [68936, 1], - [68936, 0, "i"], - [68937, 0, "s"], - [68938, 0, " "], - [68939, 0, "p"], - [68940, 0, "o"], - [68941, 0, "s"], - [68942, 0, "s"], - [68943, 0, "i"], - [68944, 0, "b"], - [68945, 0, "l"], - [68946, 0, "e"], - [68947, 0, " "], - [68948, 0, "t"], - [68949, 0, "o"], - [68950, 0, " "], - [68951, 0, "d"], - [68958, 1], - [68957, 1], - [68956, 1], - [68956, 0, "e"], - [68961, 0, "a"], - [68962, 0, " "], - [68963, 0, "t"], - [68964, 0, "o"], - [68965, 0, "t"], - [68966, 0, "a"], - [68967, 0, "l"], - [68968, 0, " "], - [68969, 0, "o"], - [68970, 0, "r"], - [68971, 0, "d"], - [68972, 0, "e"], - [68973, 0, "r"], - [68974, 0, "i"], - [68975, 0, "n"], - [68976, 0, "g"], - [68977, 0, " "], - [68978, 0, "o"], - [68979, 0, "f"], - [68980, 0, " "], - [68981, 0, "o"], - [68982, 0, "p"], - [68983, 0, "e"], - [68984, 0, "r"], - [68985, 0, "a"], - [68986, 0, "t"], - [68987, 0, "i"], - [68988, 0, "o"], - [68989, 0, "n"], - [68990, 0, "s"], - [68991, 0, " "], - [68992, 0, "b"], - [68993, 0, "y"], - [68994, 0, " "], - [68995, 0, "u"], - [68996, 0, "s"], - [68997, 0, "i"], - [68998, 0, "n"], - [68999, 0, "g"], - [69000, 0, " "], - [69001, 0, "a"], - [69002, 0, "n"], - [69003, 0, " "], - [69004, 0, "a"], - [69005, 0, "t"], - [69006, 0, "o"], - [69007, 0, "m"], - [69008, 0, "i"], - [69009, 0, "c"], - [69010, 0, " "], - [69011, 0, "b"], - [69012, 0, "r"], - [69013, 0, "o"], - [69014, 0, "a"], - [69015, 0, "d"], - [69016, 0, "c"], - [69017, 0, "a"], - [69018, 0, "s"], - [69019, 0, "t"], - [69020, 0, " "], - [69021, 0, "p"], - [69022, 0, "r"], - [69023, 0, "o"], - [69024, 0, "t"], - [69025, 0, "o"], - [69026, 0, "c"], - [69027, 0, "o"], - [69028, 0, "l"], - [69029, 0, "~"], - [69030, 0, "\\"], - [69031, 0, "c"], - [69032, 0, "i"], - [69033, 0, "t"], - [69034, 0, "e"], - [69035, 0, "{"], - [69036, 0, "D"], - [69037, 0, "e"], - [69038, 0, "f"], - [69039, 0, "a"], - [69040, 0, "g"], - [69041, 0, "o"], - [69042, 0, ":"], - [69043, 0, "2"], - [69044, 0, "0"], - [69045, 0, "0"], - [69046, 0, "4"], - [69047, 0, "j"], - [69048, 0, "i"], - [69049, 0, "}"], - [69050, 0, ","], - [69051, 0, " "], - [69052, 0, "s"], - [69053, 0, "u"], - [69054, 0, "c"], - [69055, 0, "h"], - [69056, 0, " "], - [69057, 0, "p"], - [69058, 0, "r"], - [69059, 0, "o"], - [69060, 0, "t"], - [69061, 0, "o"], - [69062, 0, "c"], - [69063, 0, "o"], - [69064, 0, "l"], - [69065, 0, "s"], - [69066, 0, " "], - [69067, 0, "a"], - [69068, 0, "r"], - [69069, 0, "e"], - [69070, 0, " "], - [69071, 0, "e"], - [69072, 0, "q"], - [69073, 0, "u"], - [69074, 0, "i"], - [69075, 0, "v"], - [69076, 0, "a"], - [69077, 0, "l"], - [69078, 0, "e"], - [69079, 0, "n"], - [69080, 0, "t"], - [69081, 0, " "], - [69082, 0, "t"], - [69083, 0, "o"], - [69084, 0, " "], - [69085, 0, "c"], - [69086, 0, "o"], - [69087, 0, "n"], - [69088, 0, "s"], - [69089, 0, "e"], - [69090, 0, "n"], - [69091, 0, "s"], - [69092, 0, "u"], - [69093, 0, "s"], - [69094, 0, "~"], - [69095, 0, "\\"], - [69096, 0, "c"], - [69097, 0, "i"], - [69098, 0, "t"], - [69099, 0, "e"], - [69100, 0, "{"], - [69101, 0, "C"], - [69102, 0, "h"], - [69103, 0, "a"], - [69104, 0, "n"], - [69105, 0, "d"], - [69106, 0, "r"], - [69107, 0, "a"], - [69108, 0, ":"], - [69109, 0, "1"], - [69110, 0, "9"], - [69111, 0, "9"], - [69112, 0, "6"], - [69113, 0, "c"], - [69114, 0, "p"], - [69115, 0, "}"], - [69116, 0, ","], - [69117, 0, " "], - [69118, 0, "s"], - [69119, 0, "o"], - [69120, 0, " "], - [69121, 0, "t"], - [69122, 0, "h"], - [69123, 0, "e"], - [69124, 0, "y"], - [69125, 0, " "], - [69126, 0, "c"], - [69127, 0, "a"], - [69128, 0, "n"], - [69129, 0, " "], - [69130, 0, "o"], - [69131, 0, "n"], - [69132, 0, "l"], - [69133, 0, "y"], - [69134, 0, " "], - [69135, 0, "m"], - [69136, 0, "a"], - [69137, 0, "k"], - [69138, 0, "e"], - [69139, 0, " "], - [69140, 0, "p"], - [69141, 0, "r"], - [69142, 0, "o"], - [69143, 0, "g"], - [69144, 0, "r"], - [69145, 0, "e"], - [69146, 0, "s"], - [69147, 0, "s"], - [69135, 0, "s"], - [69136, 0, "a"], - [69137, 0, "f"], - [69138, 0, "e"], - [69139, 0, "l"], - [69140, 0, "y"], - [69141, 0, " "], - [69155, 0, " "], - [69156, 0, "i"], - [69157, 0, "f"], - [69158, 0, " "], - [69159, 0, "a"], - [69160, 0, " "], - [69161, 0, "m"], - [69162, 0, "a"], - [69163, 0, "j"], - [69164, 0, "o"], - [69165, 0, "r"], - [69166, 0, "i"], - [69167, 0, "t"], - [69168, 0, "y"], - [69169, 0, " "], - [69170, 0, "o"], - [69171, 0, "f"], - [69172, 0, " "], - [69173, 0, "p"], - [69174, 0, "a"], - [69175, 0, "r"], - [69176, 0, "t"], - [69177, 0, "i"], - [69178, 0, "c"], - [69179, 0, "i"], - [69180, 0, "p"], - [69181, 0, "a"], - [69182, 0, "n"], - [69183, 0, "t"], - [69184, 0, "s"], - [69185, 0, " "], - [69186, 0, "a"], - [69187, 0, "r"], - [69188, 0, "e"], - [69189, 0, " "], - [69190, 0, "o"], - [69191, 0, "n"], - [69192, 0, "l"], - [69193, 0, "i"], - [69194, 0, "n"], - [69195, 0, "e"], - [69196, 0, " "], - [69197, 0, "a"], - [69198, 0, "n"], - [69199, 0, "d"], - [69200, 0, " "], - [69201, 0, "r"], - [69202, 0, "e"], - [69203, 0, "a"], - [69204, 0, "c"], - [69205, 0, "h"], - [69206, 0, "a"], - [69207, 0, "b"], - [69208, 0, "l"], - [69209, 0, "e"], - [69210, 0, "."], - [69211, 0, " "], - [69212, 0, "W"], - [69213, 0, "e"], - [69214, 0, " "], - [69215, 0, "e"], - [69216, 0, "x"], - [69217, 0, "p"], - [69218, 0, "e"], - [69219, 0, "c"], - [69220, 0, "t"], - [69221, 0, " "], - [69222, 0, "t"], - [69223, 0, "h"], - [69224, 0, "a"], - [69225, 0, "t"], - [69226, 0, " "], - [69227, 0, "i"], - [69228, 0, "n"], - [69229, 0, " "], - [69230, 0, "p"], - [69231, 0, "e"], - [69232, 0, "e"], - [69233, 0, "r"], - [69234, 0, "-"], - [69235, 0, "t"], - [69236, 0, "o"], - [69237, 0, "-"], - [69238, 0, "p"], - [69239, 0, "e"], - [69240, 0, "e"], - [69241, 0, "r"], - [69242, 0, " "], - [69243, 0, "s"], - [69244, 0, "y"], - [69245, 0, "s"], - [69246, 0, "t"], - [69247, 0, "e"], - [69248, 0, "m"], - [69249, 0, "s"], - [69250, 0, " "], - [69251, 0, "w"], - [69252, 0, "i"], - [69253, 0, "t"], - [69254, 0, "h"], - [69051, 0, " "], - [69052, 0, "w"], - [69053, 0, "h"], - [69054, 0, "i"], - [69055, 0, "c"], - [69056, 0, "h"], - [69057, 0, " "], - [69058, 0, "a"], - [69059, 0, "v"], - [69060, 0, "o"], - [69061, 0, "i"], - [69062, 0, "d"], - [69063, 0, "s"], - [69064, 0, " "], - [69065, 0, "r"], - [69066, 0, "e"], - [69067, 0, "l"], - [69068, 0, "y"], - [69069, 0, "i"], - [69070, 0, "n"], - [69071, 0, "g"], - [69072, 0, " "], - [69073, 0, "o"], - [69074, 0, "n"], - [69075, 0, " "], - [69076, 0, "a"], - [69077, 0, " "], - [69078, 0, "s"], - [69079, 0, "i"], - [69080, 0, "n"], - [69081, 0, "g"], - [69082, 0, "l"], - [69083, 0, "e"], - [69084, 0, " "], - [69085, 0, "s"], - [69086, 0, "e"], - [69087, 0, "r"], - [69088, 0, "v"], - [69089, 0, "e"], - [69090, 0, "r"], - [69091, 0, ","], - [68923, 1], - [68923, 0, "\n"], - [68924, 0, "\n"], - [69296, 1], - [69295, 1], - [69294, 1], - [69293, 1], - [69293, 0, "o"], - [69294, 0, "f"], - [69295, 0, " "], - [69296, 0, "m"], - [69297, 0, "o"], - [69298, 0, "b"], - [69299, 0, "i"], - [69300, 0, "l"], - [69301, 0, "e"], - [69302, 0, " "], - [69303, 0, "d"], - [69304, 0, "e"], - [69305, 0, "v"], - [69306, 0, "i"], - [69307, 0, "c"], - [69308, 0, "e"], - [69309, 0, "s"], - [69310, 0, " "], - [69311, 0, "i"], - [69312, 0, "t"], - [69313, 0, " "], - [69314, 0, "w"], - [69315, 0, "i"], - [69316, 0, "l"], - [69317, 0, "l"], - [69318, 0, " "], - [69319, 0, "f"], - [69320, 0, "r"], - [69321, 0, "e"], - [69322, 0, "q"], - [69323, 0, "u"], - [69324, 0, "e"], - [69325, 0, "n"], - [69326, 0, "t"], - [69327, 0, "l"], - [69328, 0, "y"], - [69329, 0, " "], - [69330, 0, "b"], - [69331, 0, "e"], - [69332, 0, " "], - [69333, 0, "t"], - [69334, 0, "h"], - [69335, 0, "e"], - [69336, 0, " "], - [69337, 0, "c"], - [69338, 0, "a"], - [69339, 0, "s"], - [69340, 0, "e"], - [69341, 0, " "], - [69342, 0, "t"], - [69343, 0, "h"], - [69344, 0, "a"], - [69345, 0, "t"], - [69346, 0, " "], - [69347, 0, "o"], - [69348, 0, "n"], - [69349, 0, "l"], - [69350, 0, "y"], - [69351, 0, " "], - [69352, 0, "a"], - [69353, 0, " "], - [69354, 0, "m"], - [69355, 0, "i"], - [69356, 0, "n"], - [69357, 0, "o"], - [69358, 0, "r"], - [69359, 0, "i"], - [69360, 0, "t"], - [69361, 0, "y"], - [69362, 0, " "], - [69363, 0, "o"], - [69364, 0, "f"], - [69365, 0, " "], - [69366, 0, "p"], - [69367, 0, "a"], - [69368, 0, "r"], - [69369, 0, "t"], - [69370, 0, "i"], - [69371, 0, "c"], - [69372, 0, "i"], - [69373, 0, "p"], - [69374, 0, "a"], - [69375, 0, "n"], - [69376, 0, "t"], - [69377, 0, "s"], - [69378, 0, " "], - [69379, 0, "a"], - [69380, 0, "r"], - [69381, 0, "e"], - [69382, 0, " "], - [69383, 0, "o"], - [69384, 0, "n"], - [69385, 0, "l"], - [69386, 0, "i"], - [69387, 0, "n"], - [69388, 0, "e"], - [69389, 0, " "], - [69390, 0, "a"], - [69391, 0, "t"], - [69392, 0, " "], - [69393, 0, "t"], - [69394, 0, "h"], - [69395, 0, "e"], - [69396, 0, " "], - [69397, 0, "s"], - [69398, 0, "a"], - [69399, 0, "m"], - [69400, 0, "e"], - [69401, 0, " "], - [69402, 0, "t"], - [69403, 0, "i"], - [69404, 0, "m"], - [69405, 0, "e"], - [69406, 0, ","], - [69407, 0, " "], - [69408, 0, "a"], - [69409, 0, "n"], - [69410, 0, "d"], - [69411, 0, " "], - [69412, 0, "s"], - [69413, 0, "o"], - [69414, 0, " "], - [69415, 0, "a"], - [69416, 0, "n"], - [69417, 0, "y"], - [69418, 0, " "], - [69419, 0, "a"], - [69420, 0, "l"], - [69421, 0, "g"], - [69422, 0, "o"], - [69423, 0, "r"], - [69424, 0, "i"], - [69425, 0, "t"], - [69426, 0, "h"], - [69427, 0, "m"], - [69428, 0, " "], - [69429, 0, "t"], - [69430, 0, "h"], - [69431, 0, "a"], - [69432, 0, "t"], - [69433, 0, " "], - [69434, 0, "r"], - [69435, 0, "e"], - [69436, 0, "l"], - [69437, 0, "i"], - [69438, 0, "e"], - [69439, 0, "s"], - [69440, 0, " "], - [69440, 1], - [69439, 1], - [69438, 1], - [69437, 1], - [69436, 1], - [69435, 1], - [69434, 1], - [69433, 1], - [69432, 1], - [69431, 1], - [69430, 1], - [69429, 1], - [69428, 1], - [69427, 1], - [69426, 1], - [69425, 1], - [69424, 1], - [69423, 1], - [69422, 1], - [69421, 1], - [69420, 1], - [69419, 1], - [69418, 1], - [69417, 1], - [69416, 1], - [69415, 1], - [69414, 1], - [69414, 0, " "], - [69415, 0, "t"], - [69416, 0, "h"], - [69417, 0, "e"], - [69418, 0, " "], - [69419, 0, "s"], - [69420, 0, "y"], - [69421, 0, "s"], - [69422, 0, "t"], - [69423, 0, "e"], - [69424, 0, "m"], - [69425, 0, " "], - [69426, 0, "w"], - [69427, 0, "i"], - [69428, 0, "l"], - [69429, 0, "l"], - [69430, 0, " "], - [69431, 0, "n"], - [69432, 0, "o"], - [69433, 0, "t"], - [69434, 0, " "], - [69435, 0, "b"], - [69436, 0, "e"], - [69437, 0, " "], - [69438, 0, "a"], - [69439, 0, "b"], - [69440, 0, "l"], - [69441, 0, "e"], - [69442, 0, " "], - [69442, 1], - [69441, 1], - [69440, 1], - [69439, 1], - [69438, 1], - [69437, 1], - [69436, 1], - [69435, 1], - [69434, 1], - [69433, 1], - [69432, 1], - [69431, 1], - [69430, 1], - [69429, 1], - [69428, 1], - [69427, 1], - [69426, 1], - [69425, 1], - [69424, 1], - [69423, 1], - [69422, 1], - [69421, 1], - [69420, 1], - [69419, 1], - [69418, 1], - [69417, 1], - [69416, 1], - [69415, 1], - [69415, 0, "a"], - [69416, 0, "n"], - [69417, 0, "y"], - [69418, 0, " "], - [69419, 0, "a"], - [69420, 0, "l"], - [69421, 0, "g"], - [69422, 0, "o"], - [69423, 0, "r"], - [69424, 0, "i"], - [69425, 0, "t"], - [69426, 0, "h"], - [69427, 0, "m"], - [69428, 0, " "], - [69429, 0, "r"], - [69430, 0, "e"], - [69431, 0, "q"], - [69432, 0, "u"], - [69433, 0, "i"], - [69434, 0, "r"], - [69435, 0, "i"], - [69436, 0, "n"], - [69437, 0, "g"], - [69438, 0, " "], - [69439, 0, "a"], - [69440, 0, "t"], - [69441, 0, "o"], - [69442, 0, "m"], - [69443, 0, "i"], - [69444, 0, "c"], - [69445, 0, " "], - [69446, 0, "b"], - [69447, 0, "r"], - [69448, 0, "o"], - [69449, 0, "a"], - [69450, 0, "d"], - [69451, 0, "c"], - [69452, 0, "a"], - [69453, 0, "s"], - [69454, 0, "t"], - [69455, 0, " "], - [69456, 0, "w"], - [69457, 0, "o"], - [69458, 0, "u"], - [69459, 0, "l"], - [69460, 0, "d"], - [69461, 0, " "], - [69462, 0, "b"], - [69463, 0, "e"], - [69464, 0, "c"], - [69465, 0, "o"], - [69466, 0, "m"], - [69467, 0, "e"], - [69468, 0, " "], - [69469, 0, "u"], - [69470, 0, "n"], - [69471, 0, "a"], - [69472, 0, "v"], - [69473, 0, "a"], - [69474, 0, "i"], - [69475, 0, "l"], - [69476, 0, "a"], - [69477, 0, "b"], - [69478, 0, "l"], - [69479, 0, "e"], - [69480, 0, "."], - [69481, 0, " "], - [69482, 0, "T"], - [69483, 0, "h"], - [69484, 0, "e"], - [69485, 0, " "], - [69486, 0, "s"], - [69487, 0, "t"], - [69488, 0, "r"], - [69489, 0, "o"], - [69490, 0, "n"], - [69491, 0, "g"], - [69492, 0, "e"], - [69493, 0, "s"], - [69494, 0, "t"], - [69495, 0, " "], - [69496, 0, "g"], - [69497, 0, "u"], - [69498, 0, "a"], - [69499, 0, "r"], - [69500, 0, "a"], - [69501, 0, "r"], - [69502, 0, "a"], - [69503, 0, "n"], - [69504, 0, "t"], - [69505, 0, "e"], - [69506, 0, "e"], - [69507, 0, " "], - [69508, 0, "s"], - [69509, 0, "u"], - [69510, 0, "c"], - [69511, 0, "h"], - [69512, 0, " "], - [69513, 0, "a"], - [69514, 0, " "], - [69515, 0, "s"], - [69516, 0, "y"], - [69517, 0, "s"], - [69518, 0, "t"], - [69519, 0, "e"], - [69520, 0, "m"], - [69521, 0, " "], - [69522, 0, "c"], - [69523, 0, "a"], - [69524, 0, "n"], - [69525, 0, " "], - [69526, 0, "g"], - [69527, 0, "i"], - [69528, 0, "v"], - [69529, 0, "e"], - [69530, 0, " "], - [69531, 0, "i"], - [69532, 0, "s"], - [69533, 0, " "], - [69534, 0, "c"], - [69535, 0, "a"], - [69536, 0, "u"], - [69537, 0, "s"], - [69538, 0, "a"], - [69539, 0, "l"], - [69540, 0, " "], - [69541, 0, "o"], - [69542, 0, "r"], - [69543, 0, "d"], - [69544, 0, "e"], - [69545, 0, "r"], - [69546, 0, "i"], - [69547, 0, "n"], - [69548, 0, "g"], - [69549, 0, "~"], - [69550, 0, "\\"], - [69551, 0, "c"], - [69552, 0, "i"], - [69553, 0, "t"], - [69554, 0, "e"], - [69555, 0, "{"], - [69556, 0, "A"], - [69557, 0, "t"], - [69558, 0, "t"], - [69559, 0, "i"], - [69560, 0, "y"], - [69561, 0, "a"], - [69562, 0, ":"], - [69563, 0, "2"], - [69564, 0, "0"], - [69565, 0, "1"], - [69566, 0, "5"], - [69567, 0, "d"], - [69568, 0, "m"], - [69569, 0, "}"], - [69570, 0, "."], - [69571, 0, "\n"], - [69572, 0, "\n"], - [69573, 0, "T"], - [69574, 0, "h"], - [69575, 0, "e"], - [69576, 0, " "], - [69577, 0, "C"], - [69578, 0, "R"], - [69579, 0, "D"], - [69580, 0, "T"], - [69581, 0, " "], - [69582, 0, "f"], - [69583, 0, "a"], - [69584, 0, "m"], - [69585, 0, "i"], - [69586, 0, "l"], - [69587, 0, "y"], - [69588, 0, " "], - [69589, 0, "o"], - [69590, 0, "f"], - [69591, 0, " "], - [69592, 0, "d"], - [69593, 0, "a"], - [69594, 0, "t"], - [69595, 0, "a"], - [69596, 0, " "], - [69597, 0, "s"], - [69598, 0, "t"], - [69599, 0, "r"], - [69600, 0, "u"], - [69601, 0, "c"], - [69602, 0, "t"], - [69603, 0, "u"], - [69604, 0, "r"], - [69605, 0, "e"], - [69606, 0, "s"], - [69607, 0, " "], - [69573, 0, "F"], - [69574, 0, "o"], - [69575, 0, "r"], - [69576, 0, " "], - [69577, 1], - [69577, 0, "t"], - [69611, 1], - [69611, 0, ","], - [69612, 0, " "], - [69613, 0, "c"], - [69614, 0, "a"], - [69615, 0, "u"], - [69616, 0, "s"], - [69617, 0, "a"], - [69618, 0, "l"], - [69619, 0, " "], - [69620, 0, "o"], - [69621, 0, "r"], - [69622, 0, "d"], - [69623, 0, "e"], - [69624, 0, "r"], - [69625, 0, "i"], - [69626, 0, "n"], - [69627, 0, "g"], - [69628, 0, " "], - [69629, 0, "i"], - [69630, 0, "s"], - [69631, 0, " "], - [69632, 0, "s"], - [69633, 0, "u"], - [69634, 0, "f"], - [69635, 0, "f"], - [69636, 0, "i"], - [69637, 0, "c"], - [69638, 0, "i"], - [69639, 0, "e"], - [69640, 0, "n"], - [69641, 0, "t"], - [69642, 0, " "], - [69643, 0, "t"], - [69644, 0, "o"], - [69645, 0, " "], - [69646, 0, "a"], - [69647, 0, "c"], - [69648, 0, "h"], - [69649, 0, "i"], - [69650, 0, "e"], - [69651, 0, "v"], - [69652, 0, "e"], - [69653, 0, " "], - [69654, 0, "c"], - [69655, 0, "o"], - [69656, 0, "n"], - [69657, 0, "v"], - [69658, 0, "e"], - [69659, 0, "r"], - [69660, 0, "g"], - [69661, 0, "e"], - [69662, 0, "n"], - [69663, 0, "c"], - [69664, 0, "e"], - [69665, 0, "."], - [69572, 1], - [69571, 1], - [69570, 1], - [69570, 0, ","], - [69571, 0, " "], - [69572, 0, "a"], - [69573, 0, "n"], - [69574, 0, "d"], - [69575, 0, " "], - [69576, 1], - [69576, 0, "f"], - [68925, 0, " "], - [68925, 0, "M"], - [68926, 0, "a"], - [68927, 0, "n"], - [68928, 0, "y"], - [68929, 0, " "], - [68930, 0, "s"], - [68931, 0, "e"], - [68932, 0, "c"], - [68933, 0, "u"], - [68934, 0, "r"], - [68935, 0, "e"], - [68936, 0, " "], - [68937, 0, "m"], - [68938, 0, "e"], - [68939, 0, "s"], - [68940, 0, "s"], - [68941, 0, "a"], - [68942, 0, "g"], - [68943, 0, "i"], - [68944, 0, "n"], - [68945, 0, "g"], - [68946, 0, " "], - [68947, 0, "p"], - [68948, 0, "r"], - [68949, 0, "o"], - [68950, 0, "t"], - [68951, 0, "o"], - [68952, 0, "c"], - [68953, 0, "o"], - [68954, 0, "l"], - [68955, 0, "s"], - [68956, 0, ","], - [68957, 0, " "], - [68958, 0, "w"], - [68959, 0, "h"], - [68960, 0, "i"], - [68961, 0, "c"], - [68962, 0, "h"], - [68963, 0, " "], - [68964, 0, "w"], - [68965, 0, "e"], - [68966, 0, " "], - [68967, 0, "p"], - [68968, 0, "l"], - [68969, 0, "a"], - [68970, 0, "n"], - [68971, 0, " "], - [68972, 0, "t"], - [68973, 0, "o"], - [68974, 0, " "], - [68975, 0, "u"], - [68976, 0, "s"], - [68977, 0, "e"], - [68978, 0, " "], - [68979, 0, "f"], - [68980, 0, "o"], - [68981, 0, "r"], - [68982, 0, " "], - [68983, 0, "e"], - [68984, 0, "n"], - [68985, 0, "c"], - [68986, 0, "r"], - [68987, 0, "y"], - [68988, 0, "p"], - [68989, 0, "t"], - [68990, 0, "e"], - [68991, 0, "d"], - [68992, 0, " "], - [68993, 0, "d"], - [68993, 1], - [68993, 0, "c"], - [68994, 0, "o"], - [68995, 0, "l"], - [68996, 0, "l"], - [68997, 0, "a"], - [68998, 0, "b"], - [68999, 0, "o"], - [69000, 0, "r"], - [69001, 0, "a"], - [69002, 0, "t"], - [69003, 0, "i"], - [69004, 0, "o"], - [69005, 0, "n"], - [69006, 0, ","], - [69007, 0, " "], - [69008, 0, "d"], - [69009, 0, "o"], - [69010, 0, " "], - [69011, 0, "n"], - [69012, 0, "o"], - [69013, 0, "t"], - [69014, 0, " "], - [69015, 0, "g"], - [69016, 0, "u"], - [69017, 0, "a"], - [69018, 0, "r"], - [69019, 0, "a"], - [69020, 0, "n"], - [69021, 0, "t"], - [69022, 0, "e"], - [69023, 0, "e"], - [69024, 0, " "], - [69025, 0, "t"], - [69026, 0, "h"], - [69027, 0, "a"], - [69028, 0, "t"], - [69029, 0, " "], - [69030, 0, "d"], - [69031, 0, "i"], - [69032, 0, "f"], - [69033, 0, "f"], - [69034, 0, "e"], - [69035, 0, "r"], - [69036, 0, "e"], - [69037, 0, "n"], - [69038, 0, "t"], - [69039, 0, " "], - [69040, 0, "r"], - [69041, 0, "e"], - [69042, 0, "c"], - [69043, 0, "i"], - [69044, 0, "p"], - [69045, 0, "i"], - [69046, 0, "e"], - [69047, 0, "n"], - [69048, 0, "t"], - [69049, 0, "s"], - [69050, 0, " "], - [69051, 0, "w"], - [69052, 0, "i"], - [69053, 0, "l"], - [69054, 0, "l"], - [69055, 0, " "], - [69056, 0, "s"], - [69057, 0, "e"], - [69058, 0, "e"], - [69059, 0, " "], - [69060, 0, "m"], - [69061, 0, "e"], - [69062, 0, "s"], - [69063, 0, "s"], - [69064, 0, "a"], - [69065, 0, "g"], - [69066, 0, "e"], - [69067, 0, "s"], - [69068, 0, " "], - [69068, 1], - [69067, 1], - [69066, 1], - [69065, 1], - [69065, 0, "g"], - [69066, 0, "e"], - [69067, 0, "s"], - [69068, 0, " "], - [69069, 0, "i"], - [69070, 0, "n"], - [69071, 0, " "], - [69072, 0, "t"], - [69073, 0, "h"], - [69074, 0, "e"], - [69075, 0, " "], - [69076, 0, "s"], - [69077, 0, "a"], - [69078, 0, "m"], - [69079, 0, "e"], - [69080, 0, " "], - [69081, 0, "o"], - [69082, 0, "r"], - [69083, 0, "d"], - [69084, 0, "e"], - [69085, 0, "r"], - [69086, 0, "~"], - [69087, 0, "\\"], - [69088, 0, "c"], - [69089, 0, "i"], - [69090, 0, "t"], - [69091, 0, "e"], - [69092, 0, "{"], - [69093, 0, "U"], - [69094, 0, "n"], - [69095, 0, "g"], - [69096, 0, "e"], - [69097, 0, "r"], - [69098, 0, ":"], - [69099, 0, "2"], - [69100, 0, "0"], - [69101, 0, "1"], - [69102, 0, "5"], - [69103, 0, "k"], - [69104, 0, "g"], - [69105, 0, "}"], - [69106, 0, "."], - [67748, 0, "\n"], - [67749, 0, "\\"], - [67750, 0, "s"], - [67751, 0, "u"], - [67752, 0, "b"], - [67753, 0, "s"], - [67754, 0, "e"], - [67755, 0, "c"], - [67756, 0, "t"], - [67757, 0, "i"], - [67758, 0, "o"], - [67759, 0, "n"], - [67760, 0, "{"], - [67761, 0, "O"], - [67762, 0, "p"], - [67763, 0, "e"], - [67764, 0, "r"], - [67765, 0, "a"], - [67766, 0, "t"], - [67767, 0, "i"], - [67768, 0, "o"], - [67769, 0, "n"], - [67770, 0, "a"], - [67771, 0, "l"], - [67772, 0, " "], - [67773, 0, "t"], - [67774, 0, "r"], - [67775, 0, "a"], - [67776, 0, "n"], - [67777, 0, "s"], - [67778, 0, "f"], - [67779, 0, "o"], - [67780, 0, "r"], - [67781, 0, "m"], - [67782, 0, "a"], - [67783, 0, "t"], - [67784, 0, "i"], - [67785, 0, "o"], - [67786, 0, "n"], - [67787, 0, "}"], - [67788, 0, "\n"], - [69893, 0, "\n"], - [69894, 0, "\n"], - [69895, 0, "\\"], - [69896, 0, "s"], - [69897, 0, "u"], - [69898, 0, "b"], - [69899, 0, "s"], - [69900, 0, "e"], - [69901, 0, "c"], - [69902, 0, "t"], - [69903, 0, "i"], - [69904, 0, "o"], - [69905, 0, "n"], - [69906, 0, "{"], - [69907, 0, "C"], - [69908, 0, "R"], - [69909, 0, "D"], - [69910, 0, "T"], - [69911, 0, "s"], - [69912, 0, "}"], - [69891, 1], - [69890, 1], - [69889, 1], - [69888, 1], - [69887, 1], - [69886, 1], - [69885, 1], - [69884, 1], - [69883, 1], - [69882, 1], - [69881, 1], - [69880, 1], - [69879, 1], - [69878, 1], - [69877, 1], - [69876, 1], - [69875, 1], - [69874, 1], - [69873, 1], - [69872, 1], - [69871, 1], - [69870, 1], - [69869, 1], - [69868, 1], - [69867, 1], - [69866, 1], - [69865, 1], - [69864, 1], - [69863, 1], - [69862, 1], - [69861, 1], - [69860, 1], - [69859, 1], - [69858, 1], - [69857, 1], - [69856, 1], - [69855, 1], - [69854, 1], - [69853, 1], - [69852, 1], - [69851, 1], - [69850, 1], - [69849, 1], - [69848, 1], - [69847, 1], - [69846, 1], - [69845, 1], - [69844, 1], - [69843, 1], - [69842, 1], - [69841, 1], - [69840, 1], - [69839, 1], - [69838, 1], - [69837, 1], - [69836, 1], - [69835, 1], - [69834, 1], - [69833, 1], - [69832, 1], - [69831, 1], - [69830, 1], - [69829, 1], - [69828, 1], - [69827, 1], - [69826, 1], - [69825, 1], - [69824, 1], - [69823, 1], - [69822, 1], - [69821, 1], - [69820, 1], - [69819, 1], - [69818, 1], - [69817, 1], - [69816, 1], - [69815, 1], - [69814, 1], - [69813, 1], - [69812, 1], - [69811, 1], - [69810, 1], - [69809, 1], - [69808, 1], - [69807, 1], - [69806, 1], - [69805, 1], - [69804, 1], - [69803, 1], - [69802, 1], - [69801, 1], - [69800, 1], - [69799, 1], - [69798, 1], - [69797, 1], - [69796, 1], - [69795, 1], - [69794, 1], - [69795, 0, "\n"], - [69796, 0, "\n"], - [69797, 0, "T"], - [69798, 0, "h"], - [69799, 0, "e"], - [69800, 0, " "], - [69801, 0, "G"], - [69802, 0, "o"], - [69803, 0, "o"], - [69804, 0, "g"], - [69805, 0, "l"], - [69806, 0, "e"], - [69807, 0, " "], - [69808, 0, "R"], - [69809, 0, "e"], - [69810, 0, "a"], - [69811, 0, "l"], - [69812, 0, "t"], - [69813, 0, "i"], - [69814, 0, "m"], - [69815, 0, "e"], - [69816, 0, " "], - [69817, 0, "A"], - [69818, 0, "P"], - [69819, 0, "I"], - [69820, 0, "~"], - [69821, 0, "\\"], - [69822, 0, "c"], - [69823, 0, "i"], - [69824, 0, "t"], - [69825, 0, "e"], - [69826, 0, "{"], - [69827, 0, "G"], - [69828, 0, "o"], - [69829, 0, "o"], - [69830, 0, "g"], - [69831, 0, "l"], - [69832, 0, "e"], - [69833, 0, ":"], - [69834, 0, "2"], - [69835, 0, "0"], - [69836, 0, "1"], - [69837, 0, "5"], - [69838, 0, "v"], - [69839, 0, "k"], - [69840, 0, "}"], - [69841, 0, " "], - [69842, 0, "i"], - [69843, 0, "s"], - [69844, 0, " "], - [69845, 0, "t"], - [69846, 0, "h"], - [69847, 0, "e"], - [69848, 0, " "], - [69849, 0, "o"], - [69850, 0, "n"], - [69851, 0, "l"], - [69852, 0, "y"], - [69853, 0, " "], - [69854, 0, "i"], - [69855, 0, "m"], - [69856, 0, "p"], - [69857, 0, "l"], - [69858, 0, "e"], - [69859, 0, "m"], - [69860, 0, "e"], - [69861, 0, "n"], - [69862, 0, "t"], - [69863, 0, "a"], - [69864, 0, "t"], - [69865, 0, "i"], - [69866, 0, "o"], - [69867, 0, "n"], - [69868, 0, " "], - [69869, 0, "o"], - [69870, 0, "f"], - [69871, 0, " "], - [69872, 0, "O"], - [69873, 0, "T"], - [69874, 0, " "], - [69875, 0, "o"], - [69876, 0, "f"], - [69877, 0, " "], - [69878, 0, "w"], - [69879, 0, "h"], - [69880, 0, "i"], - [69881, 0, "c"], - [69882, 0, "h"], - [69883, 0, " "], - [69884, 0, "w"], - [69885, 0, "e"], - [69886, 0, " "], - [69887, 0, "a"], - [69888, 0, "w"], - [69889, 0, "a"], - [69890, 0, "r"], - [69891, 0, "e"], - [69892, 0, " "], - [69893, 0, "t"], - [69894, 0, "h"], - [69895, 0, "a"], - [69896, 0, "t"], - [69897, 0, " "], - [69898, 0, "s"], - [69899, 0, "u"], - [69900, 0, "p"], - [69901, 0, "p"], - [69902, 0, "o"], - [69903, 0, "r"], - [69904, 0, "t"], - [69905, 0, "s"], - [69906, 0, " "], - [69907, 0, "a"], - [69908, 0, "r"], - [69909, 0, "b"], - [69910, 0, "i"], - [69911, 0, "t"], - [69912, 0, "r"], - [69913, 0, "a"], - [69914, 0, "r"], - [69915, 0, "y"], - [69916, 0, " "], - [69917, 0, "n"], - [69918, 0, "e"], - [69919, 0, "s"], - [69920, 0, "t"], - [69921, 0, "i"], - [69922, 0, "n"], - [69923, 0, "g"], - [69924, 0, " "], - [69925, 0, "o"], - [69926, 0, "f"], - [69927, 0, " "], - [69928, 0, "l"], - [69929, 0, "i"], - [69930, 0, "s"], - [69931, 0, "t"], - [69932, 0, "s"], - [69933, 0, " "], - [69934, 0, "a"], - [69935, 0, "n"], - [69936, 0, "d"], - [69937, 0, " "], - [69938, 0, "m"], - [69939, 0, "a"], - [69940, 0, "p"], - [69941, 0, "s"], - [69942, 0, "."], - [69943, 0, " "], - [69944, 0, "H"], - [69945, 0, "o"], - [69946, 0, "w"], - [69947, 0, "e"], - [69948, 0, "v"], - [69949, 0, "e"], - [69950, 0, "r"], - [69951, 0, ","], - [69952, 0, " "], - [69953, 0, "i"], - [69954, 0, "t"], - [69955, 0, " "], - [69956, 0, "i"], - [69957, 0, "s"], - [69958, 0, " "], - [69958, 1], - [69957, 1], - [69956, 1], - [69956, 0, "a"], - [69957, 0, "l"], - [69958, 0, "s"], - [69959, 0, "o"], - [69960, 0, " "], - [69960, 1], - [69959, 1], - [69958, 1], - [69957, 1], - [69956, 1], - [69955, 1], - [69954, 1], - [69953, 1], - [69952, 1], - [69951, 1], - [69950, 1], - [69949, 1], - [69948, 1], - [69947, 1], - [69946, 1], - [69945, 1], - [69944, 1], - [69944, 0, "L"], - [69945, 0, "i"], - [69946, 0, "k"], - [69947, 0, "e"], - [69948, 0, " "], - [69949, 0, "G"], - [69950, 0, "o"], - [69951, 0, "o"], - [69952, 0, "g"], - [69953, 0, "l"], - [69954, 0, "e"], - [69955, 0, " "], - [69956, 0, "D"], - [69957, 0, "o"], - [69958, 0, "c"], - [69959, 0, "s"], - [69960, 0, ","], - [69961, 0, " "], - [69962, 0, "i"], - [69963, 0, "t"], - [69964, 0, " "], - [69965, 0, "a"], - [69966, 0, "p"], - [69967, 0, "p"], - [69968, 0, "e"], - [69969, 0, "a"], - [69970, 0, "r"], - [69971, 0, "s"], - [69972, 0, " "], - [69973, 0, "t"], - [69974, 0, "o"], - [69975, 0, " "], - [68641, 0, "~"], - [68642, 0, "\\"], - [68643, 0, "c"], - [68644, 0, "i"], - [68645, 0, "t"], - [68646, 0, "e"], - [68647, 0, "{"], - [68648, 0, "L"], - [68649, 0, "e"], - [68650, 0, "m"], - [68651, 0, "o"], - [68652, 0, "n"], - [68653, 0, "i"], - [68654, 0, "k"], - [68655, 0, ":"], - [68656, 0, "2"], - [68657, 0, "0"], - [68658, 0, "1"], - [68659, 0, "6"], - [68660, 0, "w"], - [68661, 0, "h"], - [68662, 0, "}"], - [69997, 1], - [69996, 1], - [69995, 1], - [69994, 1], - [69993, 1], - [69992, 1], - [69991, 1], - [69990, 1], - [69989, 1], - [69988, 1], - [69987, 1], - [69987, 0, "r"], - [69988, 0, "e"], - [69989, 0, "l"], - [69990, 0, "i"], - [69991, 0, "e"], - [69992, 0, "s"], - [69993, 0, " "], - [69994, 0, "o"], - [69995, 0, "n"], - [69996, 0, " "], - [69997, 0, "a"], - [69998, 0, " "], - [69999, 0, "s"], - [70000, 0, "i"], - [70001, 0, "n"], - [70002, 0, "g"], - [70003, 0, "l"], - [70004, 0, "e"], - [70005, 0, " "], - [70006, 0, "s"], - [70007, 0, "e"], - [70008, 0, "r"], - [70009, 0, "v"], - [70010, 0, "e"], - [70011, 0, "r"], - [70012, 0, "~"], - [70013, 0, "\\"], - [70014, 0, "c"], - [70015, 0, "i"], - [70016, 0, "t"], - [70017, 0, "e"], - [70018, 0, "{"], - [70019, 0, "L"], - [70020, 0, "e"], - [70021, 0, "m"], - [70022, 0, "o"], - [70023, 0, "n"], - [70024, 0, "i"], - [70025, 0, "k"], - [70026, 0, ":"], - [70027, 0, "2"], - [70028, 0, "0"], - [70029, 0, "1"], - [70030, 0, "6"], - [70031, 0, "w"], - [70032, 0, "h"], - [70033, 0, "}"], - [70034, 0, "."], - [70035, 0, " "], - [70036, 0, "A"], - [70037, 0, "s"], - [70038, 0, " "], - [70039, 0, "a"], - [70040, 0, " "], - [70041, 0, "p"], - [70042, 0, "r"], - [70043, 0, "o"], - [70044, 0, "p"], - [70045, 0, "r"], - [70046, 0, "i"], - [70047, 0, "e"], - [70048, 0, "t"], - [70049, 0, "a"], - [70050, 0, "r"], - [70051, 0, "y"], - [70052, 0, " "], - [70053, 0, "p"], - [70054, 0, "r"], - [70055, 0, "o"], - [70056, 0, "d"], - [70057, 0, "u"], - [70058, 0, "c"], - [70059, 0, "t"], - [70060, 0, ","], - [70061, 0, " "], - [70062, 0, "d"], - [70063, 0, "e"], - [70064, 0, "t"], - [70065, 0, "a"], - [70066, 0, "i"], - [70067, 0, "l"], - [70068, 0, "s"], - [70069, 0, " "], - [70070, 0, "o"], - [70071, 0, "f"], - [70072, 0, " "], - [70073, 0, "i"], - [70074, 0, "t"], - [70075, 0, "s"], - [70076, 0, " "], - [70077, 0, "a"], - [70078, 0, "l"], - [70079, 0, "g"], - [70080, 0, "o"], - [70081, 0, "r"], - [70082, 0, "i"], - [70083, 0, "t"], - [70084, 0, "h"], - [70085, 0, "m"], - [70086, 0, "s"], - [70087, 0, " "], - [70088, 0, "h"], - [70089, 0, "a"], - [70090, 0, "v"], - [70091, 0, "e"], - [70092, 0, " "], - [70093, 0, "n"], - [70094, 0, "o"], - [70095, 0, "t"], - [70096, 0, " "], - [70097, 0, "b"], - [70098, 0, "e"], - [70099, 0, "e"], - [70100, 0, "n"], - [70101, 0, " "], - [70102, 0, "p"], - [70103, 0, "u"], - [70104, 0, "b"], - [70105, 0, "l"], - [70106, 0, "s"], - [70107, 0, "i"], - [70107, 1], - [70106, 1], - [70106, 0, "i"], - [70107, 0, "s"], - [70108, 0, "h"], - [70109, 0, "e"], - [70110, 0, "d"], - [70111, 0, "."], - [70132, 0, "\n"], - [70133, 0, "\n"], - [70134, 0, "C"], - [70135, 0, "R"], - [70136, 0, "D"], - [70137, 0, "T"], - [70138, 0, "s"], - [70139, 0, " "], - [70140, 0, "f"], - [70141, 0, "o"], - [70142, 0, "r"], - [70143, 0, " "], - [70144, 0, "r"], - [70145, 0, "e"], - [70146, 0, "g"], - [70147, 0, "i"], - [70148, 0, "s"], - [70149, 0, "t"], - [70150, 0, "e"], - [70151, 0, "r"], - [70152, 0, "s"], - [70153, 0, ","], - [70154, 0, " "], - [70155, 0, "m"], - [70155, 1], - [70155, 0, "c"], - [70156, 0, "o"], - [70157, 0, "u"], - [70158, 0, "n"], - [70159, 0, "t"], - [70160, 0, "e"], - [70161, 0, "r"], - [70162, 0, "s"], - [70163, 0, ","], - [70164, 0, " "], - [70165, 0, "m"], - [70166, 0, "a"], - [70167, 0, "p"], - [70168, 0, "s"], - [70169, 0, " "], - [70170, 0, "a"], - [70171, 0, "n"], - [70172, 0, "d"], - [70173, 0, " "], - [70174, 0, "s"], - [70175, 0, "e"], - [70176, 0, "t"], - [70177, 0, "s"], - [70178, 0, " "], - [70179, 0, "a"], - [70180, 0, "r"], - [70181, 0, "e"], - [70182, 0, " "], - [70183, 0, "w"], - [70184, 0, "i"], - [70185, 0, "d"], - [70186, 0, "e"], - [70187, 0, "l"], - [70188, 0, "y"], - [70189, 0, " "], - [70190, 0, "k"], - [70191, 0, "n"], - [70192, 0, "o"], - [70193, 0, "w"], - [70194, 0, "n"], - [70195, 0, ","], - [70196, 0, " "], - [70197, 0, "a"], - [70198, 0, "n"], - [70199, 0, "d"], - [70200, 0, " "], - [70201, 0, "t"], - [70202, 0, "h"], - [70203, 0, "e"], - [70204, 0, "y"], - [70205, 0, " "], - [70206, 0, "a"], - [70207, 0, "r"], - [70208, 0, "e"], - [70209, 0, " "], - [70210, 0, "q"], - [70211, 0, "u"], - [70212, 0, "i"], - [70213, 0, "t"], - [70214, 0, "e"], - [70215, 0, " "], - [70215, 1], - [70214, 1], - [70213, 1], - [70212, 1], - [70211, 1], - [70210, 1], - [70209, 1], - [70208, 1], - [70207, 1], - [70206, 1], - [70205, 1], - [70204, 1], - [70203, 1], - [70202, 1], - [70201, 1], - [70200, 1], - [70199, 1], - [70198, 1], - [70197, 1], - [70196, 1], - [70195, 1], - [70195, 0, "~"], - [70196, 0, "\\"], - [70197, 0, "c"], - [70198, 0, "i"], - [70199, 0, "t"], - [70200, 0, "e"], - [70201, 0, "{"], - [70202, 0, "S"], - [70203, 0, "h"], - [70204, 0, "a"], - [70205, 0, "p"], - [70206, 0, "i"], - [70207, 0, "r"], - [70208, 0, "o"], - [70209, 0, ":"], - [70210, 0, "2"], - [70211, 0, "0"], - [70212, 0, "1"], - [70213, 0, "1"], - [70214, 0, "w"], - [70215, 0, "y"], - [70216, 0, "}"], - [70217, 0, ","], - [70218, 0, " "], - [70219, 0, "a"], - [70220, 0, "n"], - [70221, 0, "d"], - [70222, 0, " "], - [70223, 0, "h"], - [70224, 0, "a"], - [70225, 0, "v"], - [70226, 0, "e"], - [70227, 0, " "], - [70228, 0, "b"], - [70229, 0, "e"], - [70230, 0, "e"], - [70231, 0, "n"], - [70232, 0, " "], - [70233, 0, "i"], - [70234, 0, "m"], - [70235, 0, "p"], - [70236, 0, "l"], - [70237, 0, "e"], - [70238, 0, "m"], - [70239, 0, "e"], - [70240, 0, "n"], - [70241, 0, "t"], - [70242, 0, "e"], - [70243, 0, "d"], - [70244, 0, " "], - [70245, 0, "i"], - [70246, 0, "n"], - [70247, 0, " "], - [70248, 0, "v"], - [70249, 0, "a"], - [70250, 0, "r"], - [70251, 0, "i"], - [70252, 0, "o"], - [70253, 0, "u"], - [70254, 0, "s"], - [70255, 0, " "], - [70256, 0, "d"], - [70257, 0, "e"], - [70258, 0, "p"], - [70259, 0, "l"], - [70260, 0, "o"], - [70261, 0, "y"], - [70262, 0, "e"], - [70263, 0, "d"], - [70264, 0, " "], - [70265, 0, "s"], - [70266, 0, "y"], - [70267, 0, "s"], - [70268, 0, "t"], - [70269, 0, "e"], - [70270, 0, "m"], - [70271, 0, "s"], - [70272, 0, " "], - [70273, 0, "s"], - [70274, 0, "u"], - [70275, 0, "c"], - [70276, 0, "h"], - [70277, 0, " "], - [70278, 0, "a"], - [70279, 0, "s"], - [70280, 0, " "], - [70281, 0, "R"], - [70282, 0, "i"], - [70283, 0, "a"], - [70284, 0, "k"], - [70285, 0, "."], - [70286, 0, " "], - [70287, 0, "F"], - [70288, 0, "o"], - [70289, 0, "r"], - [70290, 0, " "], - [70291, 0, "o"], - [70292, 0, "r"], - [70293, 0, "d"], - [70294, 0, "e"], - [70295, 0, "r"], - [70296, 0, "e"], - [70297, 0, "d"], - [70298, 0, " "], - [70299, 0, "l"], - [70300, 0, "i"], - [70301, 0, "s"], - [70302, 0, "t"], - [70303, 0, "s"], - [70304, 0, ","], - [70305, 0, " "], - [70306, 0, "v"], - [70307, 0, "a"], - [70308, 0, "r"], - [70309, 0, "i"], - [70310, 0, "o"], - [70311, 0, "u"], - [70312, 0, "s"], - [70313, 0, " "], - [70314, 0, "a"], - [70315, 0, "l"], - [70316, 0, "g"], - [70317, 0, "o"], - [70318, 0, "r"], - [70319, 0, "i"], - [70320, 0, "t"], - [70321, 0, "h"], - [70322, 0, "m"], - [70323, 0, "s"], - [70324, 0, " "], - [70325, 0, "h"], - [70326, 0, "a"], - [70327, 0, "v"], - [70328, 0, "e"], - [70329, 0, " "], - [70330, 0, "b"], - [70331, 0, "e"], - [70332, 0, "e"], - [70333, 0, "n"], - [70334, 0, " "], - [70335, 0, "p"], - [70336, 0, "r"], - [70337, 0, "o"], - [70338, 0, "p"], - [70339, 0, "o"], - [70340, 0, "s"], - [70341, 0, "e"], - [70342, 0, "d"], - [70343, 0, ","], - [70344, 0, " "], - [70345, 0, "i"], - [70346, 0, "n"], - [70347, 0, "c"], - [70348, 0, "l"], - [70349, 0, "u"], - [70350, 0, "d"], - [70351, 0, "i"], - [70352, 0, "n"], - [70353, 0, "g"], - [70354, 0, " "], - [70355, 0, "W"], - [70356, 0, "O"], - [70357, 0, "O"], - [70358, 0, "T"], - [70359, 0, "~"], - [70360, 0, "\\"], - [70361, 0, "c"], - [70362, 0, "i"], - [70363, 0, "t"], - [70364, 0, "e"], - [70365, 0, "{"], - [70366, 0, "o"], - [70366, 1], - [70366, 0, "O"], - [70367, 0, "s"], - [70368, 0, "t"], - [70369, 0, "e"], - [70370, 0, "r"], - [70371, 0, ":"], - [70372, 0, "2"], - [70373, 0, "0"], - [70374, 0, "0"], - [70375, 0, "6"], - [70376, 0, "w"], - [70377, 0, "j"], - [70378, 0, "}"], - [70379, 0, ","], - [70380, 0, " "], - [70381, 0, "R"], - [70382, 0, "G"], - [70383, 0, "A"], - [70384, 0, "~"], - [70385, 0, "\\"], - [70386, 0, "c"], - [70387, 0, "i"], - [70388, 0, "t"], - [70389, 0, "e"], - [70390, 0, "{"], - [70391, 0, "R"], - [70392, 0, "o"], - [70393, 0, "h"], - [70394, 0, ":"], - [70395, 0, "2"], - [70396, 0, "0"], - [70397, 0, "1"], - [70398, 0, "1"], - [70399, 0, "d"], - [70400, 0, "w"], - [70401, 0, "}"], - [70402, 0, ","], - [70403, 0, " "], - [70404, 0, "L"], - [70405, 0, "o"], - [70406, 0, "g"], - [70407, 0, "o"], - [70408, 0, "o"], - [70409, 0, "t"], - [70409, 1], - [70408, 1], - [70407, 1], - [70406, 1], - [70405, 1], - [70404, 1], - [70404, 0, "T"], - [70405, 0, "r"], - [70406, 0, "e"], - [70407, 0, "e"], - [70408, 0, "d"], - [70409, 0, "o"], - [70410, 0, "c"], - [70411, 0, "~"], - [70412, 0, "\\"], - [70413, 0, "c"], - [70414, 0, "i"], - [70415, 0, "t"], - [70416, 0, "e"], - [70417, 0, "{"], - [70418, 0, "P"], - [70419, 0, "r"], - [70420, 0, "e"], - [70421, 0, "g"], - [70422, 0, "u"], - [70423, 0, "i"], - [70424, 0, "c"], - [70425, 0, "a"], - [70426, 0, ":"], - [70427, 0, "2"], - [70428, 0, "0"], - [70429, 0, "0"], - [70430, 0, "9"], - [70431, 0, "f"], - [70432, 0, "z"], - [70433, 0, "}"], - [70434, 0, ","], - [70435, 0, " "], - [70436, 0, "L"], - [70437, 0, "o"], - [70438, 0, "g"], - [70439, 0, "o"], - [70440, 0, "o"], - [70441, 0, "t"], - [70442, 0, "~"], - [70443, 0, "\\"], - [70444, 0, "c"], - [70445, 0, "i"], - [70446, 0, "t"], - [70447, 0, "e"], - [70448, 0, "{"], - [70449, 0, "W"], - [70450, 0, "e"], - [70451, 0, "i"], - [70452, 0, "s"], - [70453, 0, "s"], - [70454, 0, ":"], - [70455, 0, "2"], - [70456, 0, "0"], - [70457, 0, "1"], - [70458, 0, "0"], - [70459, 0, "h"], - [70460, 0, "x"], - [70461, 0, "}"], - [70462, 0, " "], - [70463, 0, "a"], - [70464, 0, "n"], - [70465, 0, "d"], - [70466, 0, " "], - [70467, 0, "L"], - [70468, 0, "S"], - [70469, 0, "E"], - [70470, 0, "Q"], - [70471, 0, "~"], - [70472, 0, "\\"], - [70473, 0, "c"], - [70474, 0, "i"], - [70475, 0, "t"], - [70476, 0, "e"], - [70477, 0, "{"], - [70478, 0, "N"], - [70479, 0, "e"], - [70480, 0, "d"], - [70481, 0, "e"], - [70482, 0, "l"], - [70483, 0, "e"], - [70484, 0, "c"], - [70485, 0, ":"], - [70486, 0, "2"], - [70487, 0, "0"], - [70488, 0, "1"], - [70489, 0, "3"], - [70490, 0, "k"], - [70491, 0, "y"], - [70492, 0, "}"], - [70493, 0, "."], - [70494, 0, " "], - [70495, 0, "H"], - [70496, 0, "o"], - [70497, 0, "w"], - [70498, 0, "e"], - [70499, 0, "v"], - [70500, 0, "e"], - [70501, 0, "r"], - [70502, 0, ","], - [70503, 0, " "], - [70504, 0, "n"], - [70505, 0, "o"], - [70506, 0, "n"], - [70507, 0, "e"], - [70508, 0, " "], - [70509, 0, "o"], - [70510, 0, "f"], - [70511, 0, " "], - [70512, 0, "t"], - [70513, 0, "h"], - [70514, 0, "e"], - [70515, 0, "m"], - [70516, 0, " "], - [70517, 0, "s"], - [70518, 0, "u"], - [70519, 0, "p"], - [70520, 0, "p"], - [70521, 0, "o"], - [70522, 0, "r"], - [70523, 0, "t"], - [70524, 0, " "], - [70525, 0, "n"], - [70526, 0, "e"], - [70527, 0, "s"], - [70528, 0, "t"], - [70529, 0, "i"], - [70530, 0, "n"], - [70531, 0, "g"], - [70532, 0, ":"], - [70533, 0, " "], - [70534, 0, "t"], - [70535, 0, "h"], - [70536, 0, "e"], - [70537, 0, " "], - [70538, 0, "e"], - [70539, 0, "l"], - [70540, 0, "e"], - [70541, 0, "m"], - [70542, 0, "e"], - [70543, 0, "n"], - [70544, 0, "t"], - [70545, 0, "s"], - [70546, 0, " "], - [70537, 0, "y"], - [70538, 0, " "], - [70539, 0, "a"], - [70540, 0, "s"], - [70541, 0, "s"], - [70542, 0, "u"], - [70543, 0, "m"], - [70544, 0, "e"], - [70545, 0, " "], - [70546, 0, "t"], - [70547, 0, "h"], - [70548, 0, "a"], - [70549, 0, "t"], - [70550, 0, " "], - [70551, 0, "t"], - [70552, 0, "h"], - [70553, 0, "e"], - [70564, 0, "o"], - [70565, 0, "f"], - [70566, 0, " "], - [70567, 0, "t"], - [70568, 0, "h"], - [70569, 0, "e"], - [70570, 0, " "], - [70571, 0, "C"], - [70572, 0, "R"], - [70573, 0, "D"], - [70574, 0, "T"], - [70575, 0, " "], - [70576, 0, "m"], - [70577, 0, "a"], - [70578, 0, "p"], - [70579, 0, " "], - [70580, 0, "o"], - [70581, 0, "r"], - [70582, 0, " "], - [70583, 0, "l"], - [70584, 0, "i"], - [70585, 0, "s"], - [70586, 0, "t"], - [70587, 0, " "], - [70588, 0, "a"], - [70589, 0, "r"], - [70590, 0, "e"], - [70591, 0, " "], - [70592, 0, "a"], - [70593, 0, "t"], - [70594, 0, "o"], - [70595, 0, "m"], - [70596, 0, "i"], - [70597, 0, "c"], - [70598, 0, " "], - [70599, 0, "v"], - [70600, 0, "a"], - [70601, 0, "l"], - [70602, 0, "u"], - [70603, 0, "e"], - [70604, 0, "s"], - [70598, 0, ","], - [70599, 0, " "], - [70600, 0, "i"], - [70601, 0, "m"], - [70602, 0, "m"], - [70603, 0, "u"], - [70604, 0, "t"], - [70605, 0, "a"], - [70606, 0, "b"], - [70607, 0, "l"], - [70608, 0, "e"], - [70608, 1], - [70607, 1], - [70606, 1], - [70605, 1], - [70604, 1], - [70603, 1], - [70602, 1], - [70601, 1], - [70600, 1], - [70599, 1], - [70598, 1], - [70605, 0, "."], - [70605, 0, ","], - [70606, 0, " "], - [70607, 0, "n"], - [70608, 0, "o"], - [70609, 0, "t"], - [70610, 0, " "], - [70611, 0, "a"], - [70612, 0, "n"], - [70613, 0, "o"], - [70614, 0, "t"], - [70615, 0, "h"], - [70616, 0, "e"], - [70617, 0, "r"], - [70618, 0, " "], - [70619, 0, "C"], - [70620, 0, "R"], - [70621, 0, "D"], - [70622, 0, "T"], - [70624, 0, "\n"], - [70625, 0, "\n"], - [70626, 0, "T"], - [70627, 0, "h"], - [70628, 0, "e"], - [70629, 0, " "], - [70630, 0, "p"], - [70631, 0, "r"], - [70632, 0, "o"], - [70633, 0, "b"], - [70634, 0, "l"], - [70635, 0, "e"], - [70636, 0, "m"], - [70637, 0, " "], - [70638, 0, "o"], - [70639, 0, "f"], - [70640, 0, " "], - [70641, 0, "n"], - [70642, 0, "e"], - [70643, 0, "s"], - [70644, 0, "t"], - [70645, 0, "i"], - [70646, 0, "n"], - [70647, 0, "g"], - [70648, 0, " "], - [70649, 0, "o"], - [70650, 0, "n"], - [70651, 0, "e"], - [70652, 0, " "], - [70653, 0, "C"], - [70654, 0, "R"], - [70655, 0, "D"], - [70656, 0, "T"], - [70657, 0, " "], - [70658, 0, "i"], - [70659, 0, "n"], - [70660, 0, "s"], - [70661, 0, "i"], - [70662, 0, "d"], - [70663, 0, "e"], - [70664, 0, " "], - [70665, 0, "a"], - [70666, 0, "n"], - [70667, 0, "o"], - [70668, 0, "t"], - [70669, 0, "h"], - [70670, 0, "e"], - [70671, 0, "r"], - [70672, 0, " "], - [70673, 0, "("], - [70674, 0, "a"], - [70675, 0, "l"], - [70676, 0, "s"], - [70677, 0, "o"], - [70678, 0, " "], - [70679, 0, "k"], - [70680, 0, "n"], - [70681, 0, "o"], - [70682, 0, "w"], - [70683, 0, "n"], - [70684, 0, " "], - [70685, 0, "a"], - [70686, 0, "s"], - [70687, 0, " "], - [70688, 0, "\\"], - [70689, 0, "e"], - [70690, 0, "m"], - [70691, 0, "p"], - [70692, 0, "h"], - [70693, 0, "{"], - [70694, 0, "e"], - [70695, 0, "m"], - [70696, 0, "b"], - [70697, 0, "e"], - [70698, 0, "d"], - [70699, 0, "d"], - [70700, 0, "i"], - [70701, 0, "n"], - [70702, 0, "g"], - [70703, 0, "}"], - [70704, 0, ")"], - [70705, 0, " "], - [70706, 0, "h"], - [70707, 0, "a"], - [70708, 0, "s"], - [70709, 0, " "], - [70710, 0, "o"], - [70711, 0, "n"], - [70712, 0, "l"], - [70713, 0, "y"], - [70714, 0, " "], - [70715, 0, "b"], - [70716, 0, "e"], - [70717, 0, "e"], - [70718, 0, "n"], - [70719, 0, " "], - [70720, 0, "s"], - [70721, 0, "t"], - [70722, 0, "u"], - [70723, 0, "d"], - [70724, 0, "i"], - [70725, 0, "e"], - [70726, 0, "d"], - [70727, 0, " "], - [70728, 0, "m"], - [70729, 0, "o"], - [70730, 0, "r"], - [70731, 0, "e"], - [70732, 0, " "], - [70733, 0, "r"], - [70734, 0, "e"], - [70735, 0, "c"], - [70736, 0, "e"], - [70737, 0, "n"], - [70738, 0, "t"], - [70739, 0, "l"], - [70740, 0, "y"], - [70741, 0, "."], - [70202, 0, "S"], - [70203, 0, "h"], - [70204, 0, "a"], - [70205, 0, "p"], - [70206, 0, "i"], - [70207, 0, "r"], - [70208, 0, "o"], - [70209, 0, ":"], - [70210, 0, "2"], - [70211, 0, "0"], - [70212, 0, "1"], - [70213, 0, "1"], - [70214, 0, "u"], - [70215, 0, "n"], - [70216, 0, ","], - [70300, 0, "~"], - [70301, 0, "\\"], - [70302, 0, "c"], - [70303, 0, "i"], - [70304, 0, "t"], - [70305, 0, "e"], - [70306, 0, "{"], - [70307, 0, "B"], - [70308, 0, "r"], - [70309, 0, "o"], - [70310, 0, "w"], - [70311, 0, "n"], - [70312, 0, ":"], - [70313, 0, "2"], - [70314, 0, "0"], - [70315, 0, "1"], - [70316, 0, "4"], - [70317, 0, "h"], - [70318, 0, "s"], - [70319, 0, "}"], - [70778, 0, "\n"], - [70779, 0, "\n"], - [70779, 0, "\\"], - [70780, 0, "s"], - [70781, 0, "u"], - [70782, 0, "b"], - [70783, 0, "s"], - [70784, 0, "e"], - [70785, 0, "c"], - [70786, 0, "t"], - [70787, 0, "i"], - [70788, 0, "o"], - [70789, 0, "n"], - [70790, 0, "{"], - [70791, 0, "O"], - [70792, 0, "t"], - [70793, 0, "h"], - [70794, 0, "e"], - [70795, 0, "r"], - [70796, 0, " "], - [70797, 0, "a"], - [70798, 0, "p"], - [70799, 0, "p"], - [70800, 0, "r"], - [70801, 0, "o"], - [70802, 0, "a"], - [70803, 0, "c"], - [70804, 0, "h"], - [70805, 0, "e"], - [70806, 0, "s"], - [70807, 0, "}"], - [70808, 0, "\n"], - [70809, 0, "\n"], - [70810, 0, "M"], - [70811, 0, "a"], - [70812, 0, "n"], - [70813, 0, "y"], - [70814, 0, " "], - [70815, 0, "r"], - [70816, 0, "e"], - [70817, 0, "p"], - [70818, 0, "l"], - [70819, 0, "i"], - [70820, 0, "c"], - [70821, 0, "a"], - [70822, 0, "t"], - [70823, 0, "e"], - [70824, 0, "d"], - [70825, 0, " "], - [70826, 0, "d"], - [70827, 0, "a"], - [70828, 0, "t"], - [70829, 0, "a"], - [70830, 0, " "], - [70831, 0, "s"], - [70832, 0, "y"], - [70833, 0, "s"], - [70834, 0, "t"], - [70835, 0, "e"], - [70836, 0, "m"], - [70837, 0, "s"], - [70838, 0, " "], - [70839, 0, "n"], - [70840, 0, "e"], - [70841, 0, "e"], - [70842, 0, "d"], - [70843, 0, " "], - [70844, 0, "t"], - [70845, 0, "o"], - [70846, 0, " "], - [70847, 0, "d"], - [70848, 0, "e"], - [70849, 0, "a"], - [70850, 0, "l"], - [70851, 0, " "], - [70852, 0, "w"], - [70853, 0, "i"], - [70854, 0, "t"], - [70855, 0, "h"], - [70856, 0, " "], - [70857, 0, "t"], - [70858, 0, "h"], - [70859, 0, "e"], - [70860, 0, " "], - [70861, 0, "p"], - [70862, 0, "r"], - [70863, 0, "o"], - [70864, 0, "b"], - [70865, 0, "l"], - [70866, 0, "e"], - [70867, 0, "m"], - [70868, 0, " "], - [70869, 0, "o"], - [70870, 0, "f"], - [70871, 0, " "], - [70872, 0, "c"], - [70873, 0, "o"], - [70874, 0, "n"], - [70875, 0, "c"], - [70876, 0, "u"], - [70877, 0, "r"], - [70878, 0, "r"], - [70879, 0, "e"], - [70880, 0, "n"], - [70881, 0, "t"], - [70882, 0, ","], - [70883, 0, " "], - [70884, 0, "c"], - [70885, 0, "o"], - [70886, 0, "n"], - [70887, 0, "f"], - [70888, 0, "l"], - [70889, 0, "i"], - [70890, 0, "c"], - [70891, 0, "t"], - [70892, 0, "i"], - [70893, 0, "n"], - [70894, 0, "g"], - [70895, 0, " "], - [70896, 0, "m"], - [70897, 0, "o"], - [70898, 0, "o"], - [70899, 0, "d"], - [70900, 0, "i"], - [70901, 0, "f"], - [70902, 0, "i"], - [70903, 0, "c"], - [70904, 0, "a"], - [70905, 0, "t"], - [70906, 0, "i"], - [70907, 0, "o"], - [70908, 0, "n"], - [70909, 0, "s"], - [70898, 1], - [70909, 0, ","], - [70910, 0, " "], - [70911, 0, "b"], - [70912, 0, "u"], - [70913, 0, "t"], - [70914, 0, " "], - [70915, 0, "t"], - [70916, 0, "h"], - [70917, 0, "e"], - [70918, 0, " "], - [70919, 0, "s"], - [70920, 0, "o"], - [70921, 0, "l"], - [70922, 0, "u"], - [70923, 0, "t"], - [70924, 0, "i"], - [70925, 0, "o"], - [70926, 0, "n"], - [70927, 0, "s"], - [70928, 0, " "], - [70929, 0, "a"], - [70930, 0, "r"], - [70931, 0, "e"], - [70932, 0, " "], - [70933, 0, "o"], - [70934, 0, "f"], - [70935, 0, "t"], - [70936, 0, "e"], - [70937, 0, "n"], - [70938, 0, " "], - [70939, 0, "a"], - [70940, 0, "d"], - [70941, 0, "-"], - [70942, 0, "h"], - [70943, 0, "o"], - [70944, 0, "c"], - [70945, 0, " "], - [70946, 0, "a"], - [70947, 0, "n"], - [70948, 0, "d"], - [70949, 0, " "], - [70949, 1], - [70948, 1], - [70947, 1], - [70946, 1], - [70945, 1], - [70945, 0, "."], - [70946, 0, " "], - [70947, 0, "I"], - [70948, 0, "n"], - [70949, 0, " "], - [70950, 0, "D"], - [70951, 0, "y"], - [70952, 0, "n"], - [70953, 0, "a"], - [70954, 0, "m"], - [70955, 0, "o"], - [70956, 0, "~"], - [70957, 0, "\\"], - [70958, 0, "c"], - [70959, 0, "i"], - [70960, 0, "t"], - [70961, 0, "4"], - [70962, 0, "e"], - [70963, 0, "{"], - [70963, 1], - [70962, 1], - [70961, 1], - [70961, 0, "e"], - [70962, 0, "{"], - [70963, 0, "D"], - [70964, 0, "e"], - [70965, 0, "C"], - [70966, 0, "a"], - [70967, 0, "n"], - [70968, 0, "d"], - [70969, 0, "i"], - [70970, 0, "a"], - [70971, 0, ":"], - [70972, 0, "2"], - [70973, 0, "0"], - [70974, 0, "0"], - [70975, 0, "7"], - [70976, 0, "u"], - [70977, 0, "i"], - [70978, 0, "}"], - [70979, 0, " "], - [70980, 0, "a"], - [70981, 0, "n"], - [70982, 0, "d"], - [70983, 0, " "], - [70984, 0, "p"], - [70984, 1], - [70984, 0, "l"], - [70984, 1], - [70984, 0, "p"], - [70985, 0, "r"], - [70986, 0, "o"], - [70987, 0, "j"], - [70988, 0, "e"], - [70989, 0, "c"], - [70990, 0, "t"], - [70991, 0, "s"], - [70992, 0, " "], - [70993, 0, "i"], - [70994, 0, "t"], - [70995, 0, " "], - [70996, 0, "i"], - [70997, 0, "n"], - [70998, 0, "s"], - [70999, 0, "p"], - [71000, 0, "i"], - [71001, 0, "r"], - [71002, 0, "e"], - [71003, 0, "d"], - [70984, 0, "r"], - [70985, 0, "e"], - [70986, 0, "l"], - [70987, 0, "a"], - [70988, 0, "t"], - [70989, 0, "e"], - [70990, 0, "d"], - [70991, 0, " "], - [71011, 1], - [71010, 1], - [71009, 1], - [71008, 1], - [71007, 1], - [71006, 1], - [71005, 1], - [71004, 1], - [71003, 1], - [71002, 1], - [71001, 1], - [71000, 1], - [71000, 0, ","], - [71001, 0, " "], - [71002, 0, "t"], - [71003, 0, "h"], - [71004, 0, "e"], - [71005, 0, " "], - [71006, 0, "d"], - [71007, 0, "a"], - [71008, 0, "t"], - [71009, 0, "a"], - [71010, 0, "b"], - [71011, 0, "a"], - [71012, 0, "s"], - [71013, 0, "e"], - [71014, 0, " "], - [70947, 0, "F"], - [70948, 0, "o"], - [70949, 0, "r"], - [70950, 0, " "], - [70951, 0, "e"], - [70952, 0, "x"], - [70953, 0, "a"], - [70954, 0, "m"], - [70955, 0, "p"], - [70956, 0, "l"], - [70957, 0, "e"], - [70958, 0, ","], - [70959, 0, " "], - [70960, 1], - [70960, 0, "i"], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [70992, 1], - [71006, 1], - [71005, 1], - [71004, 1], - [71003, 1], - [71002, 1], - [71001, 1], - [71000, 1], - [70999, 1], - [70998, 1], - [70997, 1], - [70996, 1], - [70995, 1], - [70994, 1], - [70994, 0, "c"], - [70995, 0, "o"], - [70996, 0, "n"], - [70997, 0, "c"], - [70998, 0, "u"], - [70998, 1], - [70997, 1], - [70996, 1], - [70995, 1], - [70994, 1], - [70994, 0, "i"], - [70995, 0, "f"], - [70996, 0, " "], - [70997, 0, "s"], - [70998, 0, "e"], - [70999, 0, "v"], - [71000, 0, "e"], - [71001, 0, "r"], - [71002, 0, "a"], - [71003, 0, "l"], - [71004, 0, " "], - [71005, 0, "v"], - [71006, 0, "a"], - [71007, 0, "l"], - [71008, 0, "u"], - [71009, 0, "e"], - [71010, 0, "s"], - [71011, 0, " "], - [71012, 0, "a"], - [71013, 0, "r"], - [71014, 0, "e"], - [71015, 0, " "], - [71016, 0, "c"], - [71017, 0, "o"], - [71018, 0, "n"], - [71019, 0, "c"], - [71020, 0, "u"], - [71021, 0, "r"], - [71022, 0, "r"], - [71023, 0, "e"], - [71024, 0, "n"], - [71025, 0, "t"], - [71026, 0, "l"], - [71027, 0, "y"], - [71028, 0, " "], - [71029, 0, "w"], - [71030, 0, "r"], - [71031, 0, "i"], - [71032, 0, "t"], - [71033, 0, "t"], - [71034, 0, "e"], - [71035, 0, "n"], - [71036, 0, " "], - [71037, 0, "t"], - [71038, 0, "o"], - [71039, 0, " "], - [71040, 0, "t"], - [71041, 0, "h"], - [71042, 0, "e"], - [71043, 0, " "], - [71044, 0, "s"], - [71045, 0, "a"], - [71046, 0, "m"], - [71047, 0, "e"], - [71048, 0, " "], - [71049, 0, "k"], - [71050, 0, "e"], - [71051, 0, "y"], - [71052, 0, ","], - [71053, 0, " "], - [71054, 0, "t"], - [71055, 0, "h"], - [71056, 0, "e"], - [71057, 0, " "], - [71058, 0, "d"], - [71059, 0, "a"], - [71060, 0, "t"], - [71061, 0, "a"], - [71062, 0, "b"], - [71063, 0, "a"], - [71064, 0, "s"], - [71065, 0, "e"], - [71066, 0, " "], - [71067, 0, "p"], - [71068, 0, "r"], - [71069, 0, "e"], - [71070, 0, "s"], - [71071, 0, "e"], - [71072, 0, "r"], - [71073, 0, "v"], - [71074, 0, "e"], - [71075, 0, "s"], - [71076, 0, " "], - [71077, 0, "t"], - [71078, 0, "h"], - [71079, 0, "o"], - [71080, 0, "s"], - [71081, 0, "e"], - [71082, 0, " "], - [71083, 0, "v"], - [71084, 0, "a"], - [71085, 0, "l"], - [71086, 0, "u"], - [71087, 0, "e"], - [71088, 0, "s"], - [71089, 0, " "], - [71090, 0, "a"], - [71091, 0, "n"], - [71092, 0, "d"], - [71093, 0, " "], - [71094, 0, "p"], - [71095, 0, "r"], - [71096, 0, "e"], - [71097, 0, "s"], - [71098, 0, "e"], - [71099, 0, "n"], - [71100, 0, "t"], - [71101, 0, "s"], - [71102, 0, " "], - [71079, 1], - [71079, 0, "e"], - [71077, 0, "a"], - [71078, 0, "l"], - [71079, 0, "l"], - [71080, 0, " "], - [71081, 0, "o"], - [71082, 0, "f"], - [71083, 0, " "], - [71109, 1], - [71108, 1], - [71107, 1], - [71106, 1], - [71105, 1], - [71104, 1], - [71103, 1], - [71102, 1], - [71101, 1], - [71101, 0, "r"], - [71102, 0, "e"], - [71103, 0, "q"], - [71104, 0, "u"], - [71105, 0, "i"], - [71106, 0, "r"], - [71107, 0, "e"], - [71108, 0, "s"], - [71109, 0, " "], - [71110, 0, "a"], - [71111, 0, "p"], - [71112, 0, "p"], - [71113, 0, "l"], - [71114, 0, "i"], - [71115, 0, "c"], - [71116, 0, "a"], - [71117, 0, "t"], - [71118, 0, "i"], - [71119, 0, "o"], - [71120, 0, "n"], - [71121, 0, " "], - [71122, 0, "c"], - [71123, 0, "o"], - [71124, 0, "d"], - [71125, 0, "e"], - [71126, 0, " "], - [71127, 0, "t"], - [71128, 0, "o"], - [71129, 0, " "], - [71130, 0, "r"], - [71131, 0, "e"], - [71132, 0, "s"], - [71133, 0, "o"], - [71134, 0, "l"], - [71135, 0, "v"], - [71136, 0, "e"], - [71137, 0, " "], - [71138, 0, "t"], - [71139, 0, "h"], - [71140, 0, "e"], - [71141, 0, " "], - [71142, 0, "c"], - [71143, 0, "o"], - [71144, 0, "n"], - [71145, 0, "f"], - [71146, 0, "l"], - [71147, 0, "i"], - [71148, 0, "c"], - [71149, 0, "t"], - [71150, 0, "."], - [71096, 0, ","], - [71101, 0, " "], - [71102, 0, "l"], - [71103, 0, "e"], - [71104, 0, "a"], - [71105, 0, "v"], - [71106, 0, "e"], - [71107, 0, "s"], - [71108, 0, " "], - [71109, 0, "c"], - [71110, 0, "o"], - [71111, 0, "n"], - [71112, 0, "f"], - [71113, 0, "l"], - [71114, 0, "i"], - [71115, 0, "c"], - [71116, 0, "t"], - [71117, 0, " "], - [71118, 0, "r"], - [71119, 0, "e"], - [71120, 0, "s"], - [71121, 0, "o"], - [71122, 0, "l"], - [71123, 0, "u"], - [71124, 0, "t"], - [71125, 0, "i"], - [71126, 0, "o"], - [71127, 0, "n"], - [71128, 0, " "], - [71129, 0, "t"], - [71130, 0, "o"], - [71131, 1], - [71131, 1], - [71131, 1], - [71131, 1], - [71131, 1], - [71131, 1], - [71131, 1], - [71131, 1], - [71131, 1], - [71171, 1], - [71170, 1], - [71169, 1], - [71168, 1], - [71167, 1], - [71166, 1], - [71165, 1], - [71164, 1], - [71163, 1], - [71162, 1], - [71161, 1], - [71160, 1], - [71159, 1], - [71158, 1], - [71157, 1], - [71156, 1], - [71155, 1], - [71154, 1], - [71153, 1], - [71152, 1], - [71151, 1], - [71150, 1], - [71149, 1], - [71148, 1], - [71149, 0, " "], - [71150, 0, "S"], - [71151, 0, "i"], - [71152, 0, "m"], - [71153, 0, "p"], - [71153, 1], - [71152, 1], - [71151, 1], - [71150, 1], - [71150, 0, "N"], - [71151, 0, "a"], - [71152, 0, "i"], - [71153, 0, "v"], - [71154, 0, "e"], - [71155, 0, "l"], - [71156, 0, "y"], - [71157, 0, " "], - [71158, 0, "c"], - [71159, 0, "h"], - [71160, 0, "o"], - [71161, 0, "s"], - [71162, 0, "e"], - [71163, 0, "n"], - [71164, 0, " "], - [71165, 0, "m"], - [71166, 0, "e"], - [71167, 0, "r"], - [71168, 0, "g"], - [71169, 0, "e"], - [71170, 0, " "], - [71171, 0, "f"], - [71172, 0, "u"], - [71173, 0, "n"], - [71174, 0, "c"], - [71175, 0, "t"], - [71176, 0, "i"], - [71177, 0, "o"], - [71178, 0, "n"], - [71179, 0, "s"], - [71180, 0, " "], - [71181, 0, "o"], - [71182, 0, "f"], - [71183, 0, "t"], - [71184, 0, "e"], - [71185, 0, "n"], - [71186, 0, " "], - [71187, 0, "e"], - [71188, 0, "x"], - [71189, 0, "h"], - [71190, 0, "i"], - [71191, 0, "b"], - [71192, 0, "i"], - [71193, 0, "t"], - [71194, 0, " "], - [71195, 0, "a"], - [71196, 0, "n"], - [71197, 0, "o"], - [71198, 0, "m"], - [71199, 0, "a"], - [71200, 0, "l"], - [71201, 0, "i"], - [71202, 0, "e"], - [71203, 0, "s"], - [71204, 0, ","], - [71205, 0, " "], - [71206, 0, "s"], - [71207, 0, "u"], - [71208, 0, "c"], - [71209, 0, "h"], - [71210, 0, " "], - [71211, 0, "a"], - [71212, 0, "s"], - [71213, 0, " "], - [71214, 0, "d"], - [71215, 0, "e"], - [71216, 0, "l"], - [71217, 0, "e"], - [71218, 0, "t"], - [71219, 0, "e"], - [71220, 0, "d"], - [71221, 0, " "], - [71222, 0, "i"], - [71223, 0, "t"], - [71224, 0, "e"], - [71225, 0, "m"], - [71226, 0, "s"], - [71227, 0, " "], - [71228, 0, "r"], - [71229, 0, "e"], - [71230, 0, "a"], - [71231, 0, "p"], - [71232, 0, "p"], - [71233, 0, "e"], - [71234, 0, "a"], - [71235, 0, "r"], - [71236, 0, "i"], - [71237, 0, "n"], - [71238, 0, "g"], - [71239, 0, "~"], - [71240, 0, "\\"], - [71241, 0, "c"], - [71242, 0, "i"], - [71243, 0, "t"], - [71244, 0, "e"], - [71245, 0, "{"], - [71246, 0, "D"], - [71247, 0, "e"], - [71248, 0, "C"], - [71249, 0, "a"], - [71250, 0, "n"], - [71251, 0, "d"], - [71252, 0, "i"], - [71253, 0, "a"], - [71254, 0, ":"], - [71255, 0, "2"], - [71256, 0, "0"], - [71257, 0, "0"], - [71258, 0, "7"], - [71259, 0, "u"], - [71260, 0, "i"], - [71261, 0, "}"], - [71262, 0, "."], - [71263, 0, "\n"], - [71264, 0, "\n"], - [71265, 0, "A"], - [71266, 0, "n"], - [71267, 0, "o"], - [71268, 0, "t"], - [71269, 0, "h"], - [71270, 0, "e"], - [71271, 0, "r"], - [71272, 0, " "], - [71273, 0, "f"], - [71274, 0, "r"], - [71275, 0, "e"], - [71276, 0, "q"], - [71277, 0, "u"], - [71278, 0, "e"], - [71279, 0, "n"], - [71280, 0, "t"], - [71281, 0, "l"], - [71282, 0, "y"], - [71283, 0, "-"], - [71284, 0, "u"], - [71285, 0, "s"], - [71286, 0, "e"], - [71287, 0, "d"], - [71288, 0, " "], - [71289, 0, "a"], - [71290, 0, "p"], - [71291, 0, "p"], - [71292, 0, "r"], - [71293, 0, "o"], - [71294, 0, "a"], - [71295, 0, "c"], - [71296, 0, "h"], - [71297, 0, " "], - [71298, 0, "t"], - [71299, 0, "o"], - [71300, 0, " "], - [71301, 0, "c"], - [71302, 0, "o"], - [71303, 0, "n"], - [71304, 0, "f"], - [71305, 0, "l"], - [71306, 0, "i"], - [71307, 0, "c"], - [71308, 0, "t"], - [71309, 0, " "], - [71310, 0, "r"], - [71311, 0, "e"], - [71312, 0, "s"], - [71313, 0, "o"], - [71314, 0, "l"], - [71315, 0, "u"], - [71316, 0, "t"], - [71317, 0, "i"], - [71318, 0, "o"], - [71319, 0, "n"], - [71320, 0, " "], - [71321, 0, "i"], - [71322, 0, "s"], - [71323, 0, " "], - [71324, 0, "\\"], - [71325, 0, "e"], - [71326, 0, "m"], - [71327, 0, "p"], - [71328, 0, "h"], - [71329, 0, "{"], - [71330, 0, "l"], - [71331, 0, "a"], - [71332, 0, "s"], - [71333, 0, "t"], - [71334, 0, " "], - [71335, 0, "w"], - [71336, 0, "r"], - [71337, 0, "i"], - [71338, 0, "t"], - [71339, 0, "e"], - [71340, 0, "r"], - [71341, 0, " "], - [71342, 0, "w"], - [71343, 0, "i"], - [71344, 0, "n"], - [71345, 0, "s"], - [71346, 0, "}"], - [71347, 0, ","], - [71348, 0, " "], - [71349, 0, "w"], - [71350, 0, "h"], - [71351, 0, "i"], - [71352, 0, "c"], - [71353, 0, "h"], - [71354, 0, " "], - [71355, 0, "a"], - [71356, 0, "r"], - [71357, 0, "b"], - [71358, 0, "i"], - [71359, 0, "t"], - [71360, 0, "r"], - [71361, 0, "a"], - [71362, 0, "r"], - [71363, 0, "i"], - [71364, 0, "l"], - [71365, 0, "y"], - [71366, 0, " "], - [71367, 0, "c"], - [71368, 0, "h"], - [71369, 0, "o"], - [71370, 0, "o"], - [71371, 0, "s"], - [71372, 0, "e"], - [71373, 0, "s"], - [71374, 0, " "], - [71375, 0, "o"], - [71376, 0, "n"], - [71377, 0, "e"], - [71378, 0, " "], - [71379, 0, "a"], - [71380, 0, "m"], - [71381, 0, "o"], - [71382, 0, "n"], - [71383, 0, "g"], - [71384, 0, " "], - [71385, 0, "s"], - [71386, 0, "e"], - [71387, 0, "v"], - [71388, 0, "e"], - [71389, 0, "r"], - [71390, 0, "a"], - [71391, 0, "l"], - [71392, 0, " "], - [71393, 0, "c"], - [71394, 0, "o"], - [71395, 0, "n"], - [71396, 0, "c"], - [71397, 0, "u"], - [71398, 0, "r"], - [71399, 0, "r"], - [71400, 0, "e"], - [71401, 0, "n"], - [71402, 0, "t"], - [71403, 0, " "], - [71404, 0, "w"], - [71405, 0, "r"], - [71406, 0, "i"], - [71407, 0, "t"], - [71408, 0, "e"], - [71409, 0, "s"], - [71410, 0, " "], - [71411, 0, "a"], - [71412, 0, "s"], - [71413, 0, " "], - [71414, 0, "`"], - [71415, 0, "`"], - [71416, 0, "w"], - [71417, 0, "i"], - [71418, 0, "n"], - [71419, 0, "n"], - [71420, 0, "e"], - [71421, 0, "r"], - [71422, 0, "'"], - [71423, 0, "'"], - [71424, 0, " "], - [71425, 0, "a"], - [71426, 0, "n"], - [71427, 0, "d"], - [71428, 0, " "], - [71429, 0, "d"], - [71430, 0, "i"], - [71431, 0, "s"], - [71432, 0, "c"], - [71433, 0, "a"], - [71434, 0, "r"], - [71435, 0, "d"], - [71436, 0, "s"], - [71437, 0, " "], - [71438, 0, "t"], - [71439, 0, "h"], - [71440, 0, "e"], - [71441, 0, " "], - [71442, 0, "o"], - [71443, 0, "t"], - [71444, 0, "h"], - [71445, 0, "e"], - [71446, 0, "r"], - [71447, 0, "s"], - [71448, 0, "."], - [71449, 0, " "], - [71450, 0, "p"], - [71450, 1], - [71450, 0, "T"], - [71451, 0, "h"], - [71452, 0, "i"], - [71453, 0, "s"], - [71454, 0, " "], - [71454, 1], - [71453, 1], - [71452, 1], - [71452, 0, "e"], - [71453, 0, " "], - [71454, 0, "l"], - [71347, 0, " "], - [71348, 0, "("], - [71349, 0, "L"], - [71350, 0, "W"], - [71351, 0, "W"], - [71352, 0, ")"], - [71460, 1], - [71459, 1], - [71458, 1], - [71457, 1], - [71456, 1], - [71456, 0, "L"], - [71457, 0, "W"], - [71458, 0, "W"], - [71459, 0, " "], - [71460, 0, "d"], - [71461, 0, "o"], - [71462, 0, "e"], - [71463, 0, "s"], - [71464, 0, " "], - [71465, 0, "n"], - [71466, 0, "o"], - [71467, 0, "t"], - [71468, 0, " "], - [71469, 0, "m"], - [71470, 0, "e"], - [71471, 0, "e"], - [71472, 0, "t"], - [71473, 0, " "], - [71474, 0, "o"], - [71475, 0, "u"], - [71476, 0, "r"], - [71477, 0, " "], - [71478, 0, "r"], - [71479, 0, "e"], - [71480, 0, "q"], - [71481, 0, "u"], - [71482, 0, "i"], - [71483, 0, "r"], - [71484, 0, "e"], - [71485, 0, "m"], - [71486, 0, "e"], - [71487, 0, "n"], - [71488, 0, "t"], - [71489, 0, "s"], - [71490, 0, ","], - [71491, 0, " "], - [71492, 0, "s"], - [71493, 0, "i"], - [71494, 0, "n"], - [71495, 0, "c"], - [71496, 0, "e"], - [71497, 0, " "], - [71498, 0, "w"], - [71499, 0, "e"], - [71500, 0, " "], - [71501, 0, "w"], - [71502, 0, "a"], - [71503, 0, "n"], - [71504, 0, "t"], - [71505, 0, " "], - [71506, 0, "n"], - [71507, 0, "o"], - [71508, 0, " "], - [71509, 0, "u"], - [71510, 0, "s"], - [71511, 0, "e"], - [71512, 0, "r"], - [71513, 0, " "], - [71514, 0, "i"], - [71515, 0, "n"], - [71516, 0, "p"], - [71517, 0, "u"], - [71518, 0, "t"], - [71519, 0, " "], - [71520, 0, "t"], - [71521, 0, "o"], - [71522, 0, " "], - [71523, 0, "b"], - [71524, 0, "e"], - [71525, 0, " "], - [71526, 0, "l"], - [71527, 0, "o"], - [71528, 0, "s"], - [71529, 0, "t"], - [71530, 0, " "], - [71531, 0, "d"], - [71532, 0, "u"], - [71533, 0, "e"], - [71534, 0, " "], - [71535, 0, "t"], - [71536, 0, "o"], - [71537, 0, " "], - [71538, 0, "c"], - [71539, 0, "o"], - [71540, 0, "n"], - [71541, 0, "c"], - [71542, 0, "u"], - [71543, 0, "r"], - [71544, 0, "r"], - [71545, 0, "e"], - [71546, 0, "n"], - [71547, 0, "t"], - [71548, 0, " "], - [71549, 0, "m"], - [71550, 0, "o"], - [71551, 0, "d"], - [71552, 0, "i"], - [71553, 0, "f"], - [71554, 0, "i"], - [71555, 0, "c"], - [71556, 0, "a"], - [71557, 0, "t"], - [71558, 0, "i"], - [71559, 0, "o"], - [71560, 0, "n"], - [71561, 0, "s"], - [71562, 0, "."], - [71455, 0, " "], - [71456, 0, "T"], - [71457, 0, "h"], - [71458, 0, "i"], - [71459, 0, "s"], - [71460, 0, " "], - [71461, 0, "a"], - [71462, 0, "p"], - [71463, 0, "p"], - [71464, 0, "r"], - [71465, 0, "o"], - [71466, 0, "a"], - [71467, 0, "c"], - [71468, 0, "h"], - [71469, 0, " "], - [71470, 0, "i"], - [71471, 0, "s"], - [71472, 0, " "], - [71473, 0, "u"], - [71474, 0, "s"], - [71475, 0, "e"], - [71476, 0, "d"], - [71477, 0, " "], - [71478, 0, "i"], - [71479, 0, "n"], - [71480, 0, " "], - [71481, 0, "A"], - [71482, 0, "p"], - [71483, 0, "a"], - [71484, 0, "c"], - [71485, 0, "h"], - [71486, 0, "e"], - [71487, 0, " "], - [71488, 0, "C"], - [71489, 0, "a"], - [71490, 0, "s"], - [71491, 0, "s"], - [71492, 0, "a"], - [71493, 0, "n"], - [71494, 0, "d"], - [71495, 0, "r"], - [71496, 0, "a"], - [71497, 0, ","], - [71498, 0, " "], - [71499, 0, "a"], - [71500, 0, "n"], - [71501, 0, "d"], - [71502, 0, " "], - [71503, 0, "i"], - [71504, 0, "t"], - [71505, 0, " "], - [71506, 0, "i"], - [71507, 0, "s"], - [71508, 0, " "], - [71509, 0, "a"], - [71510, 0, " "], - [71510, 1], - [71510, 0, "n"], - [71511, 0, " "], - [71512, 0, "o"], - [71513, 0, "p"], - [71514, 0, "t"], - [71515, 0, "i"], - [71516, 0, "o"], - [71517, 0, "n"], - [71518, 0, " "], - [71519, 0, "i"], - [71520, 0, "n"], - [71521, 0, " "], - [71522, 0, "m"], - [71523, 0, "a"], - [71524, 0, "n"], - [71525, 0, "y"], - [71526, 0, " "], - [71527, 0, "o"], - [71528, 0, "t"], - [71529, 0, "h"], - [71530, 0, "e"], - [71531, 0, "r"], - [71532, 0, " "], - [71533, 0, "s"], - [71534, 0, "y"], - [71535, 0, "s"], - [71536, 0, "t"], - [71537, 0, "e"], - [71538, 0, "m"], - [71539, 0, "s"], - [71540, 0, " "], - [71541, 0, "i"], - [71542, 0, "n"], - [71543, 0, "c"], - [71544, 0, "l"], - [71545, 0, "u"], - [71546, 0, "d"], - [71547, 0, "i"], - [71548, 0, "n"], - [71549, 0, "g"], - [71550, 0, " "], - [71551, 0, "R"], - [71552, 0, "i"], - [71553, 0, "a"], - [71554, 0, "k"], - [71555, 0, ","], - [71556, 0, " "], - [71556, 1], - [71555, 1], - [71555, 0, " "], - [71556, 0, "a"], - [71557, 0, "n"], - [71558, 0, "d"], - [71559, 0, " "], - [71560, 0, "C"], - [71561, 0, "o"], - [71562, 0, "u"], - [71563, 0, "c"], - [71564, 0, "h"], - [71565, 0, "D"], - [71566, 0, "B"], - [71567, 0, "."], - [70808, 0, "\\"], - [70809, 0, "l"], - [70810, 0, "a"], - [70811, 0, "b"], - [70812, 0, "e"], - [70813, 0, "l"], - [70814, 0, "{"], - [70815, 0, "s"], - [70816, 0, "e"], - [70817, 0, "c"], - [70818, 0, ":"], - [70819, 0, "r"], - [70820, 0, "e"], - [70821, 0, "l"], - [70822, 0, "a"], - [70823, 0, "t"], - [70824, 0, "e"], - [70825, 0, "d"], - [70826, 0, "-"], - [70827, 0, "o"], - [70828, 0, "t"], - [70829, 0, "h"], - [70830, 0, "e"], - [70831, 0, "r"], - [70832, 0, "}"], - [70132, 0, "\\"], - [70133, 0, "l"], - [70134, 0, "a"], - [70135, 0, "b"], - [70136, 0, "e"], - [70137, 0, "l"], - [70138, 0, "{"], - [70139, 0, "s"], - [70140, 0, "e"], - [70141, 0, "c"], - [70142, 0, ":"], - [70143, 0, "r"], - [70144, 0, "e"], - [70145, 0, "l"], - [70146, 0, "a"], - [70147, 0, "t"], - [70148, 0, "e"], - [70149, 0, "d"], - [70150, 0, "-"], - [70151, 0, "c"], - [70152, 0, "r"], - [70153, 0, "d"], - [70154, 0, "t"], - [70155, 0, "s"], - [70156, 0, "}"], - [67788, 0, "\\"], - [67789, 0, "l"], - [67790, 0, "a"], - [67791, 0, "b"], - [67792, 0, "e"], - [67793, 0, "l"], - [67794, 0, "{"], - [67795, 0, "s"], - [67796, 0, "e"], - [67797, 0, "c"], - [67798, 0, ":"], - [67799, 0, "r"], - [67800, 0, "e"], - [67801, 0, "l"], - [67802, 0, "a"], - [67803, 0, "t"], - [67804, 0, "e"], - [67805, 0, "d"], - [67806, 0, "-"], - [67807, 0, "o"], - [67808, 0, "t"], - [67809, 0, "}"], - [71748, 0, "\n"], - [71749, 0, "\n"], - [71750, 0, "F"], - [71751, 0, "i"], - [71752, 0, "n"], - [71753, 0, "a"], - [71754, 0, "l"], - [71755, 0, "l"], - [71756, 0, "y"], - [71757, 0, ","], - [71758, 0, " "], - [71759, 0, "m"], - [71760, 0, "a"], - [71761, 0, "n"], - [71762, 0, "y"], - [71763, 0, " "], - [71764, 0, "s"], - [71765, 0, "y"], - [71766, 0, "s"], - [71767, 0, "t"], - [71768, 0, "e"], - [71769, 0, "m"], - [71770, 0, "s"], - [71771, 0, " "], - [71762, 1], - [71761, 1], - [71760, 1], - [71759, 1], - [71758, 1], - [71767, 0, "s"], - [71768, 0, "u"], - [71769, 0, "c"], - [71770, 0, "h"], - [71771, 0, " "], - [71772, 0, "a"], - [71773, 0, "s"], - [71774, 0, " "], - [71775, 0, "B"], - [71776, 0, "a"], - [71777, 0, "y"], - [71778, 0, "o"], - [71779, 0, "u"], - [71780, 0, "~"], - [71781, 0, "\\"], - [71782, 0, "c"], - [71783, 0, "i"], - [71784, 0, "t"], - [71785, 0, "e"], - [71786, 0, "{"], - [71787, 0, "T"], - [71788, 0, "e"], - [71789, 0, "r"], - [71790, 0, "r"], - [71791, 0, "y"], - [71792, 0, ":"], - [71793, 0, "1"], - [71794, 0, "9"], - [71795, 0, "9"], - [71796, 0, "5"], - [71797, 0, "d"], - [71798, 0, "n"], - [71799, 0, "}"], - [71800, 0, " "], - [71801, 0, "a"], - [71802, 0, "l"], - [71803, 0, "l"], - [71804, 0, "o"], - [71805, 0, "w"], - [71806, 0, " "], - [71807, 0, "o"], - [71808, 0, "f"], - [71809, 0, "f"], - [71810, 0, "l"], - [71811, 0, "i"], - [71812, 0, "n"], - [71813, 0, "e"], - [71814, 0, " "], - [71815, 0, "n"], - [71816, 0, "o"], - [71817, 0, "d"], - [71818, 0, "e"], - [71819, 0, "s"], - [71820, 0, " "], - [71821, 0, "t"], - [71822, 0, "o"], - [71823, 0, " "], - [71824, 0, "e"], - [71825, 0, "x"], - [71826, 0, "e"], - [71827, 0, "c"], - [71828, 0, "u"], - [71829, 0, "t"], - [71830, 0, "e"], - [71831, 0, " "], - [71832, 0, "t"], - [71833, 0, "r"], - [71834, 0, "a"], - [71835, 0, "n"], - [71836, 0, "s"], - [71837, 0, "a"], - [71838, 0, "c"], - [71839, 0, "t"], - [71840, 0, "i"], - [71841, 0, "o"], - [71842, 0, "n"], - [71843, 0, "s"], - [71844, 0, " "], - [71845, 0, "t"], - [71846, 0, "e"], - [71847, 0, "n"], - [71848, 0, "t"], - [71849, 0, "a"], - [71850, 0, "t"], - [71851, 0, "i"], - [71852, 0, "v"], - [71853, 0, "e"], - [71854, 0, "l"], - [71855, 0, "y"], - [71856, 0, ","], - [71857, 0, " "], - [71858, 0, "a"], - [71859, 0, "n"], - [71860, 0, "d"], - [71861, 0, " "], - [71862, 0, "c"], - [71863, 0, "o"], - [71864, 0, "n"], - [71865, 0, "f"], - [71866, 0, "i"], - [71867, 0, "r"], - [71868, 0, "m"], - [71869, 0, " "], - [71870, 0, "t"], - [71871, 0, "h"], - [71872, 0, "e"], - [71873, 0, "m"], - [71874, 0, " "], - [71875, 0, "w"], - [71876, 0, "h"], - [71877, 0, "e"], - [71878, 0, "n"], - [71879, 0, " "], - [71880, 0, "t"], - [71881, 0, "h"], - [71882, 0, "e"], - [71883, 0, "y"], - [71884, 0, " "], - [71885, 0, "a"], - [71886, 0, "r"], - [71887, 0, "e"], - [71888, 0, " "], - [71889, 0, "n"], - [71890, 0, "e"], - [71891, 0, "x"], - [71892, 0, "t"], - [71893, 0, " "], - [71894, 0, "o"], - [71895, 0, "n"], - [71896, 0, "l"], - [71897, 0, "i"], - [71898, 0, "n"], - [71899, 0, "e"], - [71900, 0, "."], - [71901, 0, " "], - [71902, 0, "T"], - [71902, 1], - [71902, 0, "A"], - [71903, 0, "s"], - [71904, 0, " "], - [71905, 0, "d"], - [71906, 0, "i"], - [71907, 0, "s"], - [71908, 0, "c"], - [71909, 0, "u"], - [71910, 0, "s"], - [71911, 0, "s"], - [71912, 0, "e"], - [71913, 0, "d"], - [71914, 0, " "], - [71915, 0, "i"], - [71916, 0, "n"], - [71917, 0, " "], - [71918, 0, "s"], - [71919, 0, "e"], - [71920, 0, "c"], - [71921, 0, "t"], - [71922, 0, "i"], - [71923, 0, "o"], - [71924, 0, "n"], - [71925, 0, "~"], - [71926, 0, "\\"], - [71927, 0, "r"], - [71928, 0, "e"], - [71929, 0, "f"], - [71930, 0, "{"], - [71931, 0, "s"], - [71932, 0, "e"], - [71933, 0, "c"], - [71934, 0, ":"], - [71935, 0, "r"], - [71936, 0, "e"], - [71937, 0, "l"], - [71938, 0, "a"], - [71939, 0, "t"], - [71940, 0, "e"], - [71941, 0, "d"], - [71942, 0, "-"], - [71943, 0, "o"], - [71944, 0, "t"], - [71945, 0, "}"], - [71946, 0, ","], - [71947, 0, " "], - [71948, 0, "s"], - [71949, 0, "u"], - [71950, 0, "c"], - [71951, 0, "h"], - [71952, 0, " "], - [71953, 0, "t"], - [71954, 0, "o"], - [71955, 0, "t"], - [71956, 0, "a"], - [71957, 0, "l"], - [71958, 0, " "], - [71959, 0, "o"], - [71960, 0, "r"], - [71961, 0, "d"], - [71962, 0, "e"], - [71963, 0, "r"], - [71964, 0, " "], - [71965, 0, "r"], - [71966, 0, "e"], - [71967, 0, "q"], - [71968, 0, "u"], - [71969, 0, "i"], - [71970, 0, "r"], - [71971, 0, "e"], - [71972, 0, "m"], - [71973, 0, "e"], - [71974, 0, "n"], - [71975, 0, "t"], - [71976, 0, "s"], - [71977, 0, " "], - [71978, 0, "a"], - [71979, 0, "r"], - [71980, 0, "e"], - [71981, 0, " "], - [71982, 0, "p"], - [71983, 0, "r"], - [71984, 0, "o"], - [71985, 0, "h"], - [71986, 0, "i"], - [71987, 0, "b"], - [71988, 0, "i"], - [71989, 0, "t"], - [71990, 0, "i"], - [71991, 0, "v"], - [71992, 0, "e"], - [71993, 0, " "], - [71994, 0, "i"], - [71995, 0, "n"], - [71996, 0, " "], - [71997, 0, "a"], - [71998, 0, " "], - [71999, 0, "p"], - [72000, 0, "e"], - [72001, 0, "e"], - [72002, 0, "r"], - [72003, 0, "-"], - [72004, 0, "t"], - [72005, 0, "o"], - [72006, 0, "-"], - [72007, 0, "p"], - [72008, 0, "e"], - [72009, 0, "e"], - [72010, 0, "r"], - [72011, 0, " "], - [72012, 0, "s"], - [72013, 0, "y"], - [72014, 0, "s"], - [72015, 0, "t"], - [72016, 0, "e"], - [72017, 0, "m"], - [72018, 0, " "], - [72019, 0, "o"], - [72020, 0, "f"], - [72021, 0, " "], - [72022, 0, "m"], - [72023, 0, "o"], - [72024, 0, "b"], - [72025, 0, "i"], - [72026, 0, "l"], - [72027, 0, "e"], - [72028, 0, " "], - [72029, 0, "d"], - [72030, 0, "e"], - [72031, 0, "v"], - [72032, 0, "i"], - [72033, 0, "c"], - [72034, 0, "e"], - [72035, 0, "s"], - [72036, 0, "."], - [71964, 0, "i"], - [71965, 0, "n"], - [71966, 0, "g"], - [71901, 0, " "], - [71902, 0, "T"], - [71903, 0, "h"], - [71904, 0, "i"], - [71905, 0, "s"], - [71906, 0, " "], - [71907, 0, "a"], - [71908, 0, "p"], - [71909, 0, "p"], - [71910, 0, "r"], - [71911, 0, "o"], - [71912, 0, "a"], - [71913, 0, "c"], - [71914, 0, "h"], - [71915, 0, " "], - [71916, 0, "r"], - [71917, 0, "e"], - [71918, 0, "l"], - [71919, 0, "i"], - [71920, 0, "e"], - [71921, 0, "s"], - [71922, 0, " "], - [71923, 0, "o"], - [71924, 0, "n"], - [71925, 0, " "], - [71926, 0, "a"], - [71927, 0, " "], - [71928, 0, "c"], - [71929, 0, "e"], - [71930, 0, "n"], - [71931, 0, "t"], - [71932, 0, "r"], - [71933, 0, "a"], - [71934, 0, "l"], - [71935, 0, " "], - [71936, 0, "s"], - [71937, 0, "e"], - [71938, 0, "r"], - [71939, 0, "v"], - [71940, 0, "e"], - [71941, 0, "r"], - [71942, 0, " "], - [71943, 0, "t"], - [71944, 0, "o"], - [71945, 0, " "], - [71946, 0, "e"], - [71947, 0, "x"], - [71948, 0, "e"], - [71949, 0, "c"], - [71950, 0, "u"], - [71951, 0, "t"], - [71952, 0, "e"], - [71953, 0, " "], - [71954, 0, "t"], - [71955, 0, "r"], - [71956, 0, "a"], - [71957, 0, "n"], - [71958, 0, "s"], - [71959, 0, "a"], - [71960, 0, "c"], - [71961, 0, "t"], - [71962, 0, "i"], - [71963, 0, "o"], - [71964, 0, "n"], - [71965, 0, "s"], - [71966, 0, " "], - [71967, 0, "i"], - [71968, 0, "n"], - [71969, 0, " "], - [71970, 0, "a"], - [71971, 0, " "], - [71972, 0, "t"], - [71973, 0, "o"], - [71974, 0, "t"], - [71975, 0, "a"], - [71976, 0, "l"], - [71977, 0, " "], - [71978, 0, "o"], - [71979, 0, "r"], - [71980, 0, "d"], - [71981, 0, "e"], - [71982, 0, "r"], - [71976, 1], - [71975, 1], - [71974, 1], - [71973, 1], - [71972, 1], - [71972, 0, "s"], - [71973, 0, "e"], - [71974, 0, "r"], - [71975, 0, "i"], - [71976, 0, "a"], - [71977, 0, "l"], - [72085, 0, "b"], - [72086, 0, "b"], - [72087, 0, "b"], - [72087, 1], - [72086, 1], - [72085, 1], - [72040, 1], - [72039, 1], - [72038, 1], - [72037, 1], - [72036, 1], - [72036, 0, "s"], - [72037, 0, "e"], - [72038, 0, "r"], - [72039, 0, "i"], - [72040, 0, "a"], - [72041, 0, "l"], - [71984, 0, ","], - [71985, 0, " "], - [71986, 0, "a"], - [71987, 0, "n"], - [71988, 0, "d"], - [71989, 0, " "], - [71990, 0, "d"], - [71991, 0, "e"], - [71992, 0, "c"], - [71993, 0, "i"], - [71994, 0, "d"], - [71995, 0, "e"], - [71996, 0, " "], - [71997, 0, "w"], - [71998, 0, "h"], - [71999, 0, "e"], - [72000, 0, "t"], - [72001, 0, "h"], - [72002, 0, "e"], - [72003, 0, "r"], - [72004, 0, " "], - [72005, 0, "a"], - [72006, 0, " "], - [72007, 0, "t"], - [72008, 0, "r"], - [72009, 0, "a"], - [72010, 0, "n"], - [72011, 0, "s"], - [72012, 0, "a"], - [72013, 0, "c"], - [72014, 0, "t"], - [72015, 0, "i"], - [72016, 0, "o"], - [72017, 0, "n"], - [72018, 0, " "], - [72019, 0, "w"], - [72020, 0, "a"], - [72021, 0, "s"], - [72022, 0, " "], - [72023, 0, "s"], - [72024, 0, "u"], - [72025, 0, "c"], - [72026, 0, "c"], - [72027, 0, "e"], - [72028, 0, "s"], - [72029, 0, "s"], - [72030, 0, "f"], - [72031, 0, "u"], - [72032, 0, "l"], - [72033, 0, " "], - [72034, 0, "d"], - [72035, 0, "e"], - [72036, 0, "p"], - [72037, 0, "e"], - [72038, 0, "n"], - [72039, 0, "d"], - [72040, 0, "i"], - [72041, 0, "n"], - [72042, 0, "g"], - [72043, 0, " "], - [72044, 0, "o"], - [72045, 0, "n"], - [72046, 0, " "], - [72047, 0, "i"], - [72048, 0, "t"], - [72049, 0, "s"], - [72050, 0, " "], - [72051, 0, "p"], - [72052, 0, "r"], - [72053, 0, "e"], - [72054, 0, "d"], - [72054, 1], - [72054, 0, "c"], - [72055, 0, "o"], - [72056, 0, "n"], - [72057, 0, "d"], - [72058, 0, "i"], - [72059, 0, "t"], - [72060, 0, "i"], - [72061, 0, "o"], - [72062, 0, "n"], - [72063, 0, "s"], - [72064, 0, "."], - [71335, 0, " "], - [71336, 0, "A"], - [71337, 0, "s"], - [71338, 0, " "], - [71339, 0, "t"], - [71340, 0, "h"], - [71341, 0, "e"], - [71342, 0, " "], - [71343, 0, "c"], - [71344, 0, "o"], - [71345, 0, "m"], - [71346, 0, "p"], - [71347, 0, "l"], - [71348, 0, "e"], - [71349, 0, "x"], - [71350, 0, "i"], - [71351, 0, "t"], - [71352, 0, "y"], - [71353, 0, " "], - [71354, 0, "o"], - [71355, 0, "f"], - [71356, 0, " "], - [71357, 0, "t"], - [71358, 0, "h"], - [71359, 0, "i"], - [71360, 0, "s"], - [71361, 0, " "], - [71362, 0, "p"], - [71363, 0, "a"], - [71364, 0, "p"], - [71365, 0, "e"], - [71366, 0, "r"], - [71367, 0, " "], - [71368, 0, "d"], - [71369, 0, "e"], - [71370, 0, "m"], - [71371, 0, "o"], - [71372, 0, "n"], - [71373, 0, "s"], - [71374, 0, "t"], - [71375, 0, "r"], - [71376, 0, "a"], - [71377, 0, "t"], - [71378, 0, "e"], - [71379, 0, "s"], - [71380, 0, ","], - [71381, 0, " "], - [71382, 0, "c"], - [71382, 1], - [71382, 0, "i"], - [71383, 0, "t"], - [71384, 0, "s"], - [71385, 0, " "], - [71385, 1], - [71384, 1], - [71383, 1], - [71382, 1], - [71382, 0, "c"], - [71383, 0, "o"], - [71384, 0, "n"], - [71385, 0, "f"], - [71386, 0, "l"], - [71387, 0, "i"], - [71388, 0, "c"], - [71389, 0, "t"], - [71390, 0, " "], - [71391, 0, "r"], - [71392, 0, "e"], - [71393, 0, "s"], - [71394, 0, "o"], - [71395, 0, "l"], - [71396, 0, "u"], - [71397, 0, "t"], - [71398, 0, "i"], - [71399, 0, "o"], - [71400, 0, "n"], - [71401, 0, " "], - [71402, 0, "i"], - [71403, 0, "s"], - [71404, 0, " "], - [71405, 0, "n"], - [71406, 0, "o"], - [71407, 0, "t"], - [71408, 0, " "], - [71409, 0, "a"], - [71410, 0, " "], - [71411, 0, "s"], - [71412, 0, "i"], - [71413, 0, "m"], - [71414, 0, "p"], - [71415, 0, "l"], - [71416, 0, "e"], - [71417, 0, " "], - [71418, 0, "m"], - [71419, 0, "a"], - [71420, 0, "t"], - [71421, 0, "t"], - [71422, 0, "e"], - [71423, 0, "r"], - [71424, 0, " "], - [71425, 0, "t"], - [71426, 0, "h"], - [71427, 0, "a"], - [71428, 0, "t"], - [71429, 0, " "], - [71430, 0, "s"], - [71431, 0, "h"], - [71432, 0, "o"], - [71433, 0, "u"], - [71434, 0, "l"], - [71435, 0, "d"], - [71436, 0, " "], - [71437, 0, "b"], - [71438, 0, "e"], - [71439, 0, " "], - [71440, 0, "l"], - [71441, 0, "e"], - [71442, 0, "f"], - [71443, 0, "t"], - [71444, 0, " "], - [71445, 0, "t"], - [71446, 0, "o"], - [71447, 0, " "], - [71448, 0, "a"], - [71449, 0, "p"], - [71450, 0, "p"], - [71451, 0, "l"], - [71452, 0, "i"], - [71453, 0, "c"], - [71454, 0, "a"], - [71455, 0, "t"], - [71456, 0, "i"], - [71457, 0, "o"], - [71458, 0, "n"], - [71459, 0, " "], - [71460, 0, "p"], - [71461, 0, "r"], - [71462, 0, "o"], - [71463, 0, "g"], - [71464, 0, "r"], - [71465, 0, "a"], - [71466, 0, "m"], - [71467, 0, "m"], - [71468, 0, "e"], - [71469, 0, "r"], - [71470, 0, "s"], - [71471, 0, "."], - [71435, 1], - [71434, 1], - [71433, 1], - [71432, 1], - [71431, 1], - [71430, 1], - [71430, 0, "c"], - [71431, 0, "a"], - [71432, 0, "n"], - [71433, 0, " "], - [71434, 0, "r"], - [71435, 0, "e"], - [71436, 0, "a"], - [71437, 0, "s"], - [71438, 0, "o"], - [71439, 0, "n"], - [71440, 0, "a"], - [71441, 0, "b"], - [71442, 0, "l"], - [71443, 0, "y"], - [72097, 1], - [72097, 0, "i"], - [72098, 0, "n"], - [72099, 0, "g"], - [72089, 1], - [72088, 1], - [72087, 1], - [72087, 0, "s"], - [72079, 1], - [72078, 1], - [72077, 1], - [72076, 1], - [72075, 1], - [72074, 1], - [72073, 1], - [72072, 1], - [72072, 0, "l"], - [72073, 0, "l"], - [72109, 1], - [72109, 0, "t"], - [72110, 0, "h"], - [72111, 0, "e"], - [72112, 0, " "], - [72113, 0, "s"], - [72114, 0, "a"], - [72115, 0, "m"], - [72116, 0, "e"], - [72141, 1], - [72141, 0, "i"], - [72142, 0, "n"], - [72143, 0, "g"], - [70366, 0, ","], - [70367, 0, "B"], - [70368, 0, "r"], - [70369, 0, "o"], - [70370, 0, "w"], - [70371, 0, "n"], - [70372, 0, ":"], - [70373, 0, "2"], - [70374, 0, "0"], - [70375, 0, "1"], - [70376, 0, "3"], - [70377, 0, "w"], - [70378, 0, "y"], - [70782, 0, " "], - [70783, 0, "\\"], - [70784, 0, "e"], - [70785, 0, "m"], - [70786, 0, "p"], - [70787, 0, "h"], - [70788, 0, "{"], - [70789, 0, "c"], - [70790, 0, "o"], - [70791, 0, "m"], - [70792, 0, "p"], - [70793, 0, "o"], - [70794, 0, "s"], - [70795, 0, "i"], - [70796, 0, "t"], - [70797, 0, "i"], - [70798, 0, "o"], - [70799, 0, "n"], - [70800, 0, "}"], - [70801, 0, " "], - [70802, 0, "o"], - [70803, 0, "r"], - [70859, 0, " "], - [70860, 0, "B"], - [70861, 0, "a"], - [70862, 0, "q"], - [70863, 0, "u"], - [70864, 0, "e"], - [70865, 0, "r"], - [70866, 0, "o"], - [70867, 0, " "], - [70868, 0, "e"], - [70869, 0, "t"], - [70870, 0, " "], - [70871, 0, "a"], - [70872, 0, "l"], - [70873, 0, "."], - [70874, 0, "~"], - [70875, 0, "\\"], - [70876, 0, "c"], - [70877, 0, "i"], - [70878, 0, "t"], - [70879, 0, "e"], - [70880, 0, "{"], - [70881, 0, "B"], - [70882, 0, "a"], - [70883, 0, "q"], - [70884, 0, "u"], - [70885, 0, "e"], - [70886, 0, "r"], - [70887, 0, "o"], - [70888, 0, ":"], - [70889, 0, "2"], - [70890, 0, "0"], - [70891, 0, "1"], - [70892, 0, "5"], - [70893, 0, "t"], - [70894, 0, "m"], - [70895, 0, "}"], - [70896, 0, " "], - [70897, 0, "p"], - [70898, 0, "r"], - [70899, 0, "e"], - [70900, 0, "s"], - [70901, 0, "e"], - [70902, 0, "n"], - [70903, 0, "t"], - [70904, 0, " "], - [70904, 1], - [70903, 1], - [70902, 1], - [70901, 1], - [70900, 1], - [70899, 1], - [70898, 1], - [70897, 1], - [70897, 0, "="], - [70897, 1], - [70897, 0, "d"], - [70898, 0, "e"], - [70899, 0, "f"], - [70900, 0, "i"], - [70901, 0, "n"], - [70902, 0, "e"], - [70903, 0, " "], - [70904, 0, "a"], - [70905, 0, " "], - [70906, 0, "t"], - [70907, 0, "h"], - [70908, 0, "e"], - [70909, 0, "o"], - [70910, 0, "r"], - [70911, 0, "e"], - [70912, 0, "t"], - [70913, 0, "i"], - [70914, 0, "c"], - [70915, 0, "a"], - [70916, 0, "l"], - [70917, 0, " "], - [70918, 0, "b"], - [70919, 0, "a"], - [70920, 0, "s"], - [70921, 0, "i"], - [70922, 0, "s"], - [70923, 0, " "], - [70924, 0, "f"], - [70925, 0, "o"], - [70926, 0, "r"], - [70927, 0, " "], - [70928, 0, "C"], - [70928, 1], - [70928, 0, "c"], - [70929, 0, "o"], - [70930, 0, "m"], - [70931, 0, "p"], - [70932, 0, "o"], - [70933, 0, "s"], - [70934, 0, "i"], - [70935, 0, "t"], - [70936, 0, "i"], - [70937, 0, "o"], - [70938, 0, "n"], - [70939, 0, " "], - [70940, 0, "o"], - [70941, 0, "f"], - [70942, 0, " "], - [70943, 0, "s"], - [70944, 0, "t"], - [70945, 0, "a"], - [70946, 0, "t"], - [70947, 0, "e"], - [70948, 0, "-"], - [70949, 0, "b"], - [70950, 0, "a"], - [70951, 0, "s"], - [70952, 0, "e"], - [70953, 0, "d"], - [70954, 0, " "], - [70955, 0, "C"], - [70956, 0, "R"], - [70957, 0, "D"], - [70958, 0, "T"], - [70959, 0, "s"], - [70960, 0, ","], - [70961, 0, " "], - [70962, 0, "b"], - [70963, 0, "a"], - [70964, 0, "s"], - [70965, 0, "e"], - [70966, 0, "d"], - [70967, 0, " "], - [70968, 0, "o"], - [70969, 0, "n"], - [70970, 0, " "], - [70971, 0, "l"], - [70972, 0, "a"], - [70973, 0, "t"], - [70974, 0, "t"], - [70975, 0, "i"], - [70976, 0, "c"], - [70977, 0, "e"], - [70978, 0, "s"], - [70979, 0, "."], - [70859, 0, " "], - [70860, 0, "R"], - [70861, 0, "i"], - [70862, 0, "a"], - [70863, 0, "k"], - [70864, 0, " "], - [70865, 0, "a"], - [70866, 0, "l"], - [70867, 0, "l"], - [70868, 0, "o"], - [70869, 0, "w"], - [70870, 0, "s"], - [70871, 0, " "], - [70872, 0, "m"], - [70873, 0, "u"], - [70874, 0, "l"], - [70875, 0, "t"], - [70876, 0, "i"], - [70877, 0, "p"], - [70878, 0, "l"], - [70879, 0, "e"], - [70880, 0, " "], - [70881, 0, "l"], - [70882, 0, "e"], - [70883, 0, "v"], - [70884, 0, "e"], - [70885, 0, "l"], - [70886, 0, "s"], - [70887, 0, " "], - [70888, 0, "o"], - [70889, 0, "f"], - [70890, 0, " "], - [70890, 1], - [70889, 1], - [70888, 1], - [70887, 1], - [70886, 1], - [70885, 1], - [70884, 1], - [70883, 1], - [70882, 1], - [70881, 1], - [70880, 1], - [70879, 1], - [70878, 1], - [70877, 1], - [70876, 1], - [70875, 1], - [70874, 1], - [70873, 1], - [70872, 1], - [70872, 0, "n"], - [70873, 0, "e"], - [70874, 0, "s"], - [70875, 0, "t"], - [70876, 0, "i"], - [70877, 0, "n"], - [70878, 0, "g"], - [70879, 0, " "], - [70880, 0, "o"], - [70881, 0, "f"], - [70882, 0, " "], - [70883, 0, "c"], - [70884, 0, "o"], - [70885, 0, "u"], - [70886, 0, "n"], - [70887, 0, "t"], - [70888, 0, "e"], - [70889, 0, "r"], - [70890, 0, "s"], - [70891, 0, " "], - [70892, 0, "a"], - [70893, 0, "n"], - [70894, 0, "d"], - [70895, 0, " "], - [70896, 0, "r"], - [70897, 0, "e"], - [70898, 0, "g"], - [70899, 0, "i"], - [70900, 0, "s"], - [70901, 0, "t"], - [70902, 0, "e"], - [70903, 0, "r"], - [70904, 0, "s"], - [70905, 0, " "], - [70906, 0, "i"], - [70907, 0, "n"], - [70908, 0, "s"], - [70909, 0, "i"], - [70910, 0, "d"], - [70911, 0, "e"], - [70912, 0, " "], - [70913, 0, "m"], - [70914, 0, "a"], - [70915, 0, "p"], - [70916, 0, "s"], - [70917, 0, ","], - [70918, 0, " "], - [70919, 0, "a"], - [70920, 0, "n"], - [70921, 0, "d"], - [70922, 0, " "], - [70923, 0, "o"], - [70924, 0, "f"], - [70925, 0, " "], - [70926, 0, "m"], - [70927, 0, "a"], - [70928, 0, "p"], - [70929, 0, "s"], - [70930, 0, " "], - [70931, 0, "w"], - [70932, 0, "i"], - [70933, 0, "t"], - [70934, 0, "h"], - [70935, 0, "i"], - [70936, 0, "n"], - [70937, 0, " "], - [70938, 0, "o"], - [70939, 0, "t"], - [70940, 0, "h"], - [70941, 0, "e"], - [70942, 0, "r"], - [70943, 0, " "], - [70944, 0, "m"], - [70945, 0, "a"], - [70946, 0, "p"], - [70947, 0, "s"], - [70948, 0, ","], - [70949, 0, " "], - [70950, 0, "b"], - [70951, 0, "u"], - [70952, 0, "t"], - [70953, 0, " "], - [70954, 0, "d"], - [70955, 0, "o"], - [70956, 0, "e"], - [70957, 0, "s"], - [70958, 0, " "], - [70959, 0, "n"], - [70960, 0, "o"], - [70961, 0, "t"], - [70962, 0, " "], - [70963, 0, "s"], - [70964, 0, "u"], - [70965, 0, "p"], - [70966, 0, "p"], - [70967, 0, "o"], - [70968, 0, "r"], - [70969, 0, "t"], - [70970, 0, " "], - [70971, 0, "o"], - [70972, 0, "r"], - [70973, 0, "d"], - [70974, 0, "e"], - [70975, 0, "r"], - [70976, 0, "e"], - [70977, 0, "d"], - [70978, 0, " "], - [70979, 0, "l"], - [70980, 0, "i"], - [70981, 0, "s"], - [70982, 0, "t"], - [70983, 0, "s"], - [70984, 0, "~"], - [70985, 0, "\\"], - [70986, 0, "c"], - [70987, 0, "i"], - [70988, 0, "t"], - [70989, 0, "e"], - [70990, 0, "{"], - [70991, 0, "B"], - [70992, 0, "r"], - [70993, 0, "o"], - [70994, 0, "w"], - [70995, 0, "n"], - [70996, 0, ":"], - [70997, 0, "2"], - [70998, 0, "0"], - [70999, 0, "1"], - [71000, 0, "4"], - [71001, 0, "h"], - [71002, 0, "s"], - [71003, 0, ","], - [71004, 0, "B"], - [71005, 0, "r"], - [71006, 0, "o"], - [71007, 0, "w"], - [71008, 0, "n"], - [71009, 0, ":"], - [71010, 0, "2"], - [71011, 0, "0"], - [71012, 0, "1"], - [71013, 0, "3"], - [71014, 0, "w"], - [71015, 0, "y"], - [71016, 0, "}"], - [71017, 0, "."], - [71018, 0, " "], - [71019, 0, "E"], - [71020, 0, "m"], - [71021, 0, "b"], - [71022, 0, "e"], - [71023, 0, "d"], - [71024, 0, "d"], - [71025, 0, "i"], - [71026, 0, "n"], - [71027, 0, "g"], - [71028, 0, " "], - [71029, 0, "c"], - [71030, 0, "o"], - [71031, 0, "u"], - [71032, 0, "n"], - [71033, 0, "t"], - [71034, 0, "e"], - [71035, 0, "r"], - [71036, 0, "s"], - [71037, 0, " "], - [71038, 0, "i"], - [71039, 0, "n"], - [71040, 0, "s"], - [71041, 0, "i"], - [71042, 0, "d"], - [71043, 0, "e"], - [71044, 0, " "], - [71045, 0, "m"], - [71046, 0, "a"], - [71047, 0, "p"], - [71048, 0, "s"], - [71049, 0, " "], - [71050, 0, "r"], - [71051, 0, "a"], - [71052, 0, "i"], - [71053, 0, "s"], - [71054, 0, "e"], - [71055, 0, "s"], - [71056, 0, " "], - [71057, 0, "d"], - [71058, 0, "i"], - [71058, 1], - [71057, 1], - [71057, 0, "q"], - [71058, 0, "u"], - [71059, 0, "e"], - [71060, 0, "s"], - [71061, 0, "t"], - [71062, 0, "i"], - [71063, 0, "o"], - [71064, 0, "n"], - [71065, 0, "s"], - [71066, 0, " "], - [71067, 0, "o"], - [71068, 0, "f"], - [71069, 0, " "], - [71070, 0, "s"], - [71071, 0, "e"], - [71072, 0, "m"], - [71073, 0, "a"], - [71074, 0, "n"], - [71075, 0, "t"], - [71076, 0, "i"], - [71077, 0, "c"], - [71078, 0, "s"], - [71079, 0, ","], - [71080, 0, " "], - [71081, 0, "w"], - [71082, 0, "h"], - [71083, 0, "i"], - [71084, 0, "c"], - [71085, 0, "h"], - [71086, 0, " "], - [71087, 0, "h"], - [71088, 0, "a"], - [71089, 0, "v"], - [71090, 0, "e"], - [71091, 0, " "], - [71092, 0, "b"], - [71093, 0, "e"], - [71094, 0, "e"], - [71095, 0, "n"], - [71096, 0, " "], - [71097, 0, "s"], - [71098, 0, "t"], - [71099, 0, "u"], - [71100, 0, "d"], - [71101, 0, "i"], - [71102, 0, "e"], - [71103, 0, "d"], - [71104, 0, " "], - [71105, 0, "b"], - [71106, 0, "y"], - [71107, 0, " "], - [71108, 0, "A"], - [71108, 1], - [71108, 0, "B"], - [71109, 0, "a"], - [71110, 0, "q"], - [71111, 0, "u"], - [71112, 0, "e"], - [71113, 0, "r"], - [71114, 0, "o"], - [71115, 0, ","], - [71116, 0, " "], - [71117, 0, "A"], - [71118, 0, "l"], - [71119, 0, "m"], - [71120, 0, "e"], - [71121, 0, "i"], - [71122, 0, "d"], - [71123, 0, "a"], - [71124, 0, " "], - [71125, 0, "a"], - [71126, 0, "n"], - [71127, 0, "d"], - [71128, 0, " "], - [71129, 0, "L"], - [71130, 0, "e"], - [71131, 0, "r"], - [71132, 0, "c"], - [71133, 0, "h"], - [71134, 0, "e"], - [71135, 0, "~"], - [71136, 0, "\\"], - [71137, 0, "c"], - [71138, 0, "i"], - [71139, 0, "t"], - [71140, 0, "e"], - [71141, 0, "{"], - [71142, 0, "B"], - [71143, 0, "a"], - [71144, 0, "q"], - [71145, 0, "u"], - [71146, 0, "e"], - [71147, 0, "r"], - [71148, 0, "o"], - [71149, 0, ":"], - [71150, 0, "2"], - [71151, 0, "0"], - [71152, 0, "1"], - [71153, 0, "6"], - [71154, 0, "i"], - [71155, 0, "v"], - [71156, 0, "}"], - [71157, 0, "."], - [71195, 0, " "], - [71196, 0, "a"], - [71197, 0, "l"], - [71198, 0, "s"], - [71199, 0, "o"], - [71226, 1], - [71225, 1], - [71224, 1], - [71223, 1], - [71222, 1], - [71222, 0, "f"], - [71223, 0, "r"], - [71224, 0, "a"], - [71225, 0, "m"], - [71226, 0, "e"], - [71227, 0, "w"], - [71228, 0, "o"], - [71229, 0, "r"], - [71230, 0, "k"], - [71289, 0, "\n"], - [71290, 0, "\n"], - [71290, 0, "B"], - [71291, 0, "u"], - [71292, 0, "r"], - [71293, 0, "c"], - [71294, 0, "k"], - [71295, 0, "h"], - [71296, 0, "a"], - [71297, 0, "r"], - [71298, 0, "d"], - [71299, 0, "t"], - [71300, 0, " "], - [71301, 0, "e"], - [71302, 0, "t"], - [71303, 0, " "], - [71304, 0, "a"], - [71305, 0, "l"], - [71306, 0, "."], - [71307, 0, "~"], - [71308, 0, "\\"], - [71309, 0, "c"], - [71310, 0, "i"], - [71311, 0, "t"], - [71312, 0, "e"], - [71313, 0, "{"], - [71314, 0, "B"], - [71315, 0, "u"], - [71316, 0, "r"], - [71317, 0, "c"], - [71318, 0, "k"], - [71319, 0, "h"], - [71320, 0, "a"], - [71321, 0, "r"], - [71322, 0, "d"], - [71323, 0, "t"], - [71324, 0, ":"], - [71325, 0, "2"], - [71326, 0, "0"], - [71327, 0, "1"], - [71328, 0, "2"], - [71329, 0, "j"], - [71330, 0, "y"], - [71331, 0, "}"], - [71332, 0, " "], - [71333, 0, "d"], - [71334, 0, "e"], - [71335, 0, "f"], - [71336, 0, "i"], - [71337, 0, "n"], - [71338, 0, "e"], - [71339, 0, " "], - [71340, 0, "\\"], - [71341, 0, "e"], - [71342, 0, "m"], - [71343, 0, "p"], - [71344, 0, "h"], - [71345, 0, "{"], - [71346, 0, "c"], - [71347, 0, "l"], - [71348, 0, "o"], - [71349, 0, "u"], - [71350, 0, "d"], - [71351, 0, " "], - [71352, 0, "t"], - [71353, 0, "y"], - [71354, 0, "p"], - [71355, 0, "e"], - [71356, 0, "s"], - [71357, 0, "}"], - [71358, 0, ","], - [71359, 0, " "], - [71360, 0, "w"], - [71361, 0, "h"], - [71362, 0, "i"], - [71363, 0, "c"], - [71364, 0, "h"], - [71365, 0, " "], - [71366, 0, "a"], - [71367, 0, "r"], - [71368, 0, "e"], - [71369, 0, " "], - [71370, 0, "s"], - [71371, 0, "i"], - [71372, 0, "m"], - [71373, 0, "i"], - [71374, 0, "l"], - [71375, 0, "a"], - [71376, 0, "r"], - [71377, 0, " "], - [71378, 0, "t"], - [71379, 0, "o"], - [71380, 0, " "], - [71381, 0, "C"], - [71382, 0, "R"], - [71383, 0, "D"], - [71384, 0, "T"], - [71385, 0, " "], - [71386, 0, "b"], - [71387, 0, "u"], - [71388, 0, "t"], - [71389, 0, " "], - [71389, 1], - [71388, 1], - [71387, 1], - [71386, 1], - [71385, 1], - [71385, 0, "s"], - [71386, 0, " "], - [71387, 0, "a"], - [71388, 0, "n"], - [71389, 0, "d"], - [71390, 0, " "], - [71391, 0, "c"], - [71392, 0, "a"], - [71393, 0, "n"], - [71394, 0, " "], - [71395, 0, "b"], - [71396, 0, "e"], - [71397, 0, " "], - [71398, 0, "c"], - [71399, 0, "o"], - [71400, 0, "m"], - [71401, 0, "p"], - [71402, 0, "o"], - [71403, 0, "s"], - [71404, 0, "e"], - [71405, 0, "d"], - [71406, 0, "."], - [71407, 0, " "], - [71408, 0, "O"], - [71409, 0, "u"], - [71410, 0, "r"], - [71411, 0, " "], - [71412, 0, "\\"], - [71413, 0, "t"], - [71414, 0, "e"], - [71415, 0, "x"], - [71416, 0, "t"], - [71417, 0, "s"], - [71418, 0, "f"], - [71419, 0, "{"], - [71420, 0, "y"], - [71421, 0, "i"], - [71422, 0, "e"], - [71423, 0, "l"], - [71424, 0, "d"], - [71425, 0, "}"], - [71426, 0, " "], - [71427, 0, "s"], - [71428, 0, "t"], - [71429, 0, "a"], - [71430, 0, "t"], - [71431, 0, "e"], - [71432, 0, "m"], - [71433, 0, "e"], - [71434, 0, "n"], - [71435, 0, "t"], - [71436, 0, " "], - [71437, 0, "i"], - [71438, 0, "s"], - [71439, 0, " "], - [71440, 0, "i"], - [71441, 0, "n"], - [71442, 0, "s"], - [71443, 0, "p"], - [71444, 0, "i"], - [71445, 0, "r"], - [71446, 0, "e"], - [71447, 0, "d"], - [71448, 0, " "], - [71449, 0, "b"], - [71450, 0, "y"], - [71451, 0, " "], - [71452, 0, "B"], - [71453, 0, "u"], - [71454, 0, "r"], - [71455, 0, "c"], - [71456, 0, "k"], - [71457, 0, "h"], - [71458, 0, "a"], - [71459, 0, "r"], - [71460, 0, "d"], - [71461, 0, "t"], - [71462, 0, " "], - [71463, 0, "e"], - [71464, 0, "t"], - [71465, 0, " "], - [71466, 0, "a"], - [71467, 0, "l"], - [71468, 0, "."], - [71407, 0, " "], - [71408, 0, "T"], - [71409, 0, "h"], - [71410, 0, "e"], - [71411, 0, " "], - [71412, 0, "o"], - [71413, 0, "n"], - [71414, 0, "l"], - [71415, 0, "y"], - [71416, 0, " "], - [71417, 0, "d"], - [71418, 0, "e"], - [71419, 0, "f"], - [71420, 0, "i"], - [71421, 0, "n"], - [71422, 0, "e"], - [71423, 0, "d"], - [71424, 0, " "], - [71425, 0, "c"], - [71426, 0, "o"], - [71427, 0, "l"], - [71428, 0, "l"], - [71429, 0, "e"], - [71430, 0, "c"], - [71431, 0, "t"], - [71432, 0, "i"], - [71433, 0, "o"], - [71434, 0, "n"], - [71435, 0, " "], - [71436, 0, "t"], - [71437, 0, "y"], - [71438, 0, "p"], - [71439, 0, "e"], - [71440, 0, " "], - [71441, 0, "i"], - [71442, 0, "s"], - [71443, 0, " "], - [71444, 0, "t"], - [71445, 0, "h"], - [71446, 0, "e"], - [71447, 0, " "], - [71448, 0, "\\"], - [71449, 0, "e"], - [71450, 0, "m"], - [71451, 0, "p"], - [71452, 0, "h"], - [71453, 0, "{"], - [71454, 0, "c"], - [71455, 0, "l"], - [71456, 0, "o"], - [71457, 0, "u"], - [71458, 0, "d"], - [71459, 0, " "], - [71460, 0, "a"], - [71461, 0, "r"], - [71462, 0, "r"], - [71463, 0, "a"], - [71464, 0, "y"], - [71465, 0, "}"], - [71466, 0, ","], - [71467, 0, " "], - [71468, 0, "w"], - [71469, 0, "h"], - [71470, 0, "i"], - [71471, 0, "c"], - [71472, 0, "h"], - [71473, 0, " "], - [71474, 0, "i"], - [71475, 0, "s"], - [71476, 0, " "], - [71477, 0, "s"], - [71478, 0, "i"], - [71479, 0, "m"], - [71480, 0, "i"], - [71481, 0, "l"], - [71482, 0, "a"], - [71483, 0, "r"], - [71484, 0, " "], - [71485, 0, "t"], - [71486, 0, "o"], - [71487, 0, " "], - [71488, 0, "o"], - [71489, 0, "u"], - [71490, 0, "r"], - [71491, 0, " "], - [71492, 0, "m"], - [71493, 0, "a"], - [71494, 0, "p"], - [71495, 0, " "], - [71496, 0, "d"], - [71497, 0, "a"], - [71498, 0, "t"], - [71499, 0, "a"], - [71500, 0, "t"], - [71501, 0, "y"], - [71502, 0, "p"], - [71503, 0, "e"], - [71504, 0, ";"], - [71505, 0, " "], - [71506, 0, "o"], - [71507, 0, "r"], - [71508, 0, "d"], - [71509, 0, "e"], - [71510, 0, "r"], - [71511, 0, "e"], - [71512, 0, "d"], - [71513, 0, " "], - [71514, 0, "l"], - [71515, 0, "i"], - [71516, 0, "s"], - [71517, 0, "t"], - [71518, 0, "s"], - [71519, 0, " "], - [71520, 0, "a"], - [71521, 0, "r"], - [71522, 0, "e"], - [71523, 0, " "], - [71524, 0, "n"], - [71525, 0, "o"], - [71526, 0, "t"], - [71527, 0, " "], - [71528, 0, "s"], - [71529, 0, "u"], - [71530, 0, "p"], - [71531, 0, "p"], - [71532, 0, "o"], - [71533, 0, "r"], - [71534, 0, "t"], - [71535, 0, "e"], - [71536, 0, "d"], - [71537, 0, "."], - [71600, 0, "\n"], - [71601, 0, "\n"], - [71602, 0, "I"], - [71603, 0, "n"], - [71604, 0, " "], - [71605, 0, "g"], - [71606, 0, "e"], - [71607, 0, "n"], - [71608, 0, "e"], - [71609, 0, "r"], - [71610, 0, "a"], - [71611, 0, "l"], - [71612, 0, ","], - [71613, 0, " "], - [71614, 0, "w"], - [71615, 0, "e"], - [71616, 0, " "], - [71617, 0, "a"], - [71618, 0, "r"], - [71619, 0, "e"], - [71620, 0, " "], - [71621, 0, "n"], - [71622, 0, "o"], - [71623, 0, "t"], - [71624, 0, " "], - [71625, 0, "a"], - [71626, 0, "w"], - [71627, 0, "a"], - [71628, 0, "r"], - [71629, 0, "e"], - [71630, 0, " "], - [71631, 0, "o"], - [71632, 0, "f"], - [71633, 0, " "], - [71634, 0, "a"], - [71635, 0, "n"], - [71636, 0, "y"], - [71637, 0, " "], - [71611, 1], - [71610, 1], - [71609, 1], - [71608, 1], - [71607, 1], - [71606, 1], - [71605, 1], - [71604, 1], - [71603, 1], - [71602, 1], - [71602, 0, "A"], - [71603, 0, "l"], - [71604, 0, "t"], - [71605, 0, "h"], - [71606, 0, "o"], - [71607, 0, "u"], - [71608, 0, "g"], - [71609, 0, "h"], - [71610, 0, " "], - [71611, 0, "l"], - [71612, 0, "i"], - [71612, 1], - [71611, 1], - [71611, 0, "C"], - [71612, 0, "R"], - [71613, 0, "D"], - [71614, 0, "T"], - [71615, 0, "s"], - [71616, 0, " "], - [71617, 0, "f"], - [71618, 0, "o"], - [71619, 0, "r"], - [71620, 0, " "], - [71621, 0, "r"], - [71622, 0, "e"], - [71623, 0, "g"], - [71624, 0, "i"], - [71625, 0, "s"], - [71626, 0, "t"], - [71627, 0, "e"], - [71628, 0, "r"], - [71629, 0, "s"], - [71630, 0, ","], - [71631, 0, " "], - [71632, 0, "m"], - [71633, 0, "a"], - [71634, 0, "p"], - [71635, 0, "s"], - [71636, 0, " "], - [71637, 0, "a"], - [71638, 0, "n"], - [71639, 0, "d"], - [71640, 0, " "], - [71641, 0, "o"], - [71642, 0, "r"], - [71643, 0, "d"], - [71644, 0, "e"], - [71645, 0, "r"], - [71646, 0, "e"], - [71647, 0, "d"], - [71648, 0, " "], - [71649, 0, "l"], - [71650, 0, "i"], - [71651, 0, "s"], - [71652, 0, "t"], - [71653, 0, "s"], - [71654, 0, " "], - [71655, 0, "h"], - [71656, 0, "a"], - [71657, 0, "v"], - [71658, 0, "e"], - [71659, 0, " "], - [71660, 0, "e"], - [71661, 0, "x"], - [71662, 0, "i"], - [71663, 0, "s"], - [71664, 0, "t"], - [71665, 0, "e"], - [71666, 0, "d"], - [71667, 0, " "], - [71668, 0, "i"], - [71669, 0, "n"], - [71670, 0, " "], - [71671, 0, "i"], - [71672, 0, "s"], - [71673, 0, "o"], - [71674, 0, "l"], - [71675, 0, "a"], - [71676, 0, "t"], - [71677, 0, "i"], - [71678, 0, "o"], - [71679, 0, "n"], - [71680, 0, " "], - [71681, 0, "f"], - [71682, 0, "o"], - [71683, 0, "r"], - [71684, 0, " "], - [71685, 0, "y"], - [71686, 0, "e"], - [71687, 0, "a"], - [71688, 0, "r"], - [71689, 0, "s"], - [71716, 0, "p"], - [71717, 0, "r"], - [71718, 0, "i"], - [71719, 0, "o"], - [71720, 0, "r"], - [71721, 0, " "], - [71722, 0, "w"], - [71723, 0, "o"], - [71724, 0, "r"], - [71725, 0, "k"], - [71726, 0, " "], - [71727, 0, "t"], - [71728, 0, "h"], - [71729, 0, "a"], - [71730, 0, "t"], - [71731, 0, " "], - [71732, 0, "a"], - [71733, 0, "l"], - [71734, 0, "l"], - [71735, 0, "o"], - [71736, 0, "w"], - [71737, 0, "s"], - [71738, 0, " "], - [71739, 0, "t"], - [71740, 0, "h"], - [71741, 0, "e"], - [71742, 0, "m"], - [71743, 0, " "], - [71744, 0, "t"], - [71745, 0, "o"], - [71746, 0, " "], - [71747, 0, "b"], - [71748, 0, "e"], - [71749, 0, " "], - [71750, 0, "c"], - [71751, 0, "o"], - [71752, 0, "m"], - [71753, 0, "p"], - [71754, 0, "o"], - [71755, 0, "s"], - [71756, 0, "e"], - [71757, 0, "d"], - [71758, 0, " "], - [71759, 0, "i"], - [71760, 0, "n"], - [71761, 0, "t"], - [71762, 0, "o"], - [71763, 0, " "], - [71764, 0, "a"], - [71765, 0, " "], - [71766, 0, "c"], - [71767, 0, "o"], - [71768, 0, "m"], - [71769, 0, "p"], - [71770, 0, "o"], - [71771, 0, "u"], - [71772, 0, "n"], - [71773, 0, "d"], - [71774, 0, " "], - [71775, 0, "C"], - [71776, 0, "R"], - [71777, 0, "D"], - [71778, 0, "T"], - [71779, 0, " "], - [71780, 0, "w"], - [71781, 0, "i"], - [71782, 0, "t"], - [71783, 0, "h"], - [71784, 0, " "], - [71785, 0, "a"], - [71786, 0, " "], - [71787, 0, "J"], - [71788, 0, "S"], - [71789, 0, "O"], - [71790, 0, "N"], - [71791, 0, "-"], - [71792, 0, "l"], - [71793, 0, "i"], - [71794, 0, "k"], - [71795, 0, "e"], - [71796, 0, " "], - [71797, 0, "s"], - [71798, 0, "t"], - [71799, 0, "r"], - [71800, 0, "u"], - [71801, 0, "c"], - [71802, 0, "t"], - [71803, 0, "u"], - [71804, 0, "r"], - [71805, 0, "e"], - [71806, 0, "."], - [71773, 1], - [71772, 1], - [71771, 1], - [71770, 1], - [71769, 1], - [71768, 1], - [71767, 1], - [71766, 1], - [71765, 1], - [71765, 0, "n"], - [71766, 0, " "], - [71767, 0, "a"], - [71768, 0, "r"], - [71769, 0, "b"], - [71770, 0, "i"], - [71771, 0, "t"], - [71772, 0, "r"], - [71773, 0, "a"], - [71774, 0, "r"], - [71775, 0, "i"], - [71776, 0, "l"], - [71777, 0, "y"], - [71667, 0, " "], - [71668, 0, "f"], - [71669, 0, "o"], - [71670, 0, "r"], - [71671, 0, " "], - [71672, 0, "y"], - [71673, 0, "e"], - [71674, 0, "a"], - [71675, 0, "r"], - [71676, 0, "s"], - [71677, 0, "f"], - [71676, 1], - [71676, 1], - [71676, 0, "s"], - [71690, 1], - [71690, 1], - [71690, 1], - [71690, 1], - [71690, 1], - [71690, 1], - [71690, 1], - [71690, 1], - [71690, 1], - [71690, 1], - [71743, 0, " "], - [71744, 0, "a"], - [71745, 0, "l"], - [71746, 0, "l"], - [71782, 0, " "], - [71783, 0, "n"], - [71784, 0, "e"], - [71785, 0, "s"], - [71786, 0, "t"], - [71787, 0, "e"], - [71788, 0, "d"], - [71447, 1], - [71446, 1], - [71445, 1], - [71444, 1], - [71443, 1], - [71442, 1], - [71441, 1], - [71440, 1], - [71439, 1], - [71438, 1], - [71437, 1], - [71436, 1], - [71435, 1], - [71434, 1], - [71433, 1], - [71432, 1], - [71431, 1], - [71430, 1], - [71429, 1], - [71428, 1], - [71427, 1], - [71426, 1], - [71425, 1], - [71424, 1], - [71423, 1], - [71422, 1], - [71421, 1], - [71420, 1], - [71419, 1], - [71418, 1], - [71417, 1], - [71416, 1], - [71415, 1], - [71414, 1], - [71413, 1], - [71412, 1], - [71411, 1], - [71410, 1], - [71409, 1], - [71408, 1], - [71408, 0, "A"], - [71409, 0, " "], - [71434, 1], - [71433, 1], - [71432, 1], - [71431, 1], - [71430, 1], - [71429, 1], - [71428, 1], - [71408, 1], - [71408, 0, "T"], - [71409, 0, "h"], - [71410, 0, "i"], - [71411, 0, "s"], - [71412, 0, " "], - [71413, 0, "m"], - [71414, 0, "o"], - [71415, 0, "d"], - [71416, 0, "e"], - [71417, 0, "l"], - [71418, 0, " "], - [71419, 0, "d"], - [71420, 0, "e"], - [71421, 0, "f"], - [71422, 0, "i"], - [71423, 0, "n"], - [71424, 0, "e"], - [71425, 0, "s"], - [71444, 0, "s"], - [71448, 1], - [71447, 1], - [71446, 1], - [71445, 1], - [71445, 0, "}"], - [71446, 0, ","], - [71447, 0, " "], - [71448, 0, "w"], - [71449, 0, "h"], - [71450, 0, "i"], - [71451, 0, "c"], - [71452, 0, "h"], - [71481, 0, ","], - [71482, 0, " "], - [71483, 0, "a"], - [71484, 0, "n"], - [71485, 0, "d"], - [71486, 0, " "], - [71487, 0, "\\"], - [71488, 0, "e"], - [71489, 0, "m"], - [71490, 0, "p"], - [71491, 0, "h"], - [71492, 0, "{"], - [71493, 0, "e"], - [71494, 0, "n"], - [71495, 0, "t"], - [71496, 0, "i"], - [71497, 0, "t"], - [71498, 0, "y"], - [71498, 1], - [71498, 0, "i"], - [71499, 0, "e"], - [71500, 0, "s"], - [71501, 0, "}"], - [71502, 0, ","], - [71503, 0, " "], - [71504, 0, "w"], - [71505, 0, "h"], - [71506, 0, "i"], - [71507, 0, "c"], - [71508, 0, "h"], - [71509, 0, " "], - [71510, 0, "a"], - [71511, 0, "r"], - [71512, 0, "e"], - [71513, 0, " "], - [71514, 0, "l"], - [71515, 0, "i"], - [71516, 0, "k"], - [71517, 0, "e"], - [71518, 0, " "], - [71519, 0, "t"], - [71520, 0, "u"], - [71521, 0, "p"], - [71522, 0, "l"], - [71523, 0, "e"], - [71524, 0, "s"], - [71525, 0, " "], - [71526, 0, "i"], - [71527, 0, "n"], - [71528, 0, " "], - [71529, 0, "t"], - [71530, 0, "h"], - [71531, 0, "e"], - [71532, 0, " "], - [71533, 0, "r"], - [71534, 0, "e"], - [71535, 0, "l"], - [71536, 0, "a"], - [71537, 0, "t"], - [71538, 0, "i"], - [71539, 0, "o"], - [71540, 0, "n"], - [71541, 0, "a"], - [71542, 0, "l"], - [71543, 0, " "], - [71544, 0, "m"], - [71545, 0, "o"], - [71546, 0, "d"], - [71547, 0, "e"], - [71548, 0, "l"], - [71549, 0, "."], - [71550, 1], - [71551, 1], - [71551, 0, "O"], - [71581, 1], - [71580, 1], - [71579, 1], - [71578, 1], - [71577, 1], - [71576, 1], - [71575, 1], - [71574, 1], - [71573, 1], - [71573, 0, "d"], - [71574, 0, "e"], - [71575, 0, "f"], - [71576, 0, "i"], - [71577, 0, "n"], - [71578, 0, "e"], - [71579, 0, "d"], - [71580, 0, " "], - [71581, 0, "i"], - [71582, 0, "n"], - [71583, 0, " "], - [71584, 0, "t"], - [71585, 0, "h"], - [71586, 0, "i"], - [71587, 0, "s"], - [71588, 0, " "], - [71589, 0, "f"], - [71590, 0, "r"], - [71591, 0, "a"], - [71592, 0, "m"], - [71593, 0, "e"], - [71594, 0, "w"], - [71595, 0, "o"], - [71596, 0, "r"], - [71597, 0, "k"], - [71446, 0, " "], - [71447, 0, "a"], - [71448, 0, "n"], - [71449, 0, "d"], - [71450, 0, " "], - [71451, 0, "\\"], - [71452, 0, "e"], - [71453, 0, "m"], - [71454, 0, "p"], - [71455, 0, "h"], - [71456, 0, "{"], - [71457, 0, "e"], - [71458, 0, "n"], - [71459, 0, "t"], - [71460, 0, "i"], - [71461, 0, "t"], - [71462, 0, "i"], - [71463, 0, "e"], - [71464, 0, "s"], - [71465, 0, "}"], - [71473, 0, " "], - [71474, 0, "b"], - [71475, 0, "e"], - [71476, 0, "h"], - [71477, 0, "a"], - [71478, 0, "v"], - [71479, 0, "e"], - [71488, 0, "l"], - [71489, 0, "y"], - [71577, 1], - [71576, 1], - [71575, 1], - [71574, 1], - [71573, 1], - [71572, 1], - [71571, 1], - [71570, 1], - [71569, 1], - [71568, 1], - [71567, 1], - [71566, 1], - [71565, 1], - [71564, 1], - [71563, 1], - [71562, 1], - [71561, 1], - [71560, 1], - [71559, 1], - [71558, 1], - [71557, 1], - [71556, 1], - [71555, 1], - [71554, 1], - [71553, 1], - [71552, 1], - [71551, 1], - [71550, 1], - [71549, 1], - [71548, 1], - [71547, 1], - [71546, 1], - [71545, 1], - [71544, 1], - [71543, 1], - [71542, 1], - [71541, 1], - [71540, 1], - [71539, 1], - [71538, 1], - [71537, 1], - [71536, 1], - [71535, 1], - [71534, 1], - [71533, 1], - [71532, 1], - [71531, 1], - [71530, 1], - [71529, 1], - [71528, 1], - [71527, 1], - [71526, 1], - [71525, 1], - [71524, 1], - [71523, 1], - [71522, 1], - [71521, 1], - [71520, 1], - [71519, 1], - [71518, 1], - [71517, 1], - [71516, 1], - [71515, 1], - [71514, 1], - [71513, 1], - [71512, 1], - [71511, 1], - [71510, 1], - [71510, 0, ";"], - [71511, 1], - [71512, 1], - [71512, 0, "o"], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 1], - [71408, 0, "T"], - [71409, 0, "h"], - [71410, 0, "e"], - [71411, 0, "y"], - [71419, 1], - [71458, 1], - [71457, 1], - [71456, 1], - [71455, 1], - [71454, 1], - [71453, 1], - [71452, 1], - [71451, 1], - [71450, 1], - [71449, 1], - [71448, 1], - [71447, 1], - [71446, 1], - [71445, 1], - [71444, 1], - [71443, 1], - [71442, 1], - [71441, 1], - [71440, 1], - [71439, 1], - [71483, 0, ","], - [71484, 0, " "], - [71485, 0, "a"], - [71486, 0, "n"], - [71487, 0, "d"], - [71488, 0, " "], - [71489, 0, "\\"], - [71490, 0, "e"], - [71491, 0, "m"], - [71492, 0, "p"], - [71493, 0, "h"], - [71494, 0, "{"], - [71495, 0, "e"], - [71496, 0, "n"], - [71497, 0, "t"], - [71498, 0, "i"], - [71499, 0, "t"], - [71500, 0, "i"], - [71501, 0, "e"], - [71502, 0, "s"], - [71503, 0, "}"], - [71504, 0, ","], - [71505, 0, " "], - [71506, 0, "w"], - [71507, 0, "h"], - [71508, 0, "i"], - [71509, 0, "c"], - [71510, 0, "h"], - [71511, 0, " "], - [71512, 0, "a"], - [71513, 0, "r"], - [71514, 0, "e"], - [71515, 0, " "], - [71516, 0, "l"], - [71517, 0, "i"], - [71518, 0, "k"], - [71519, 0, "e"], - [71520, 0, " "], - [71521, 0, "u"], - [71522, 0, "n"], - [71523, 0, "o"], - [71524, 0, "r"], - [71525, 0, "d"], - [71526, 0, "e"], - [71527, 0, "r"], - [71528, 0, "e"], - [71529, 0, "d"], - [71530, 0, " "], - [71531, 0, "s"], - [71532, 0, "e"], - [71533, 0, "t"], - [71534, 0, "s"], - [71535, 0, " "], - [71536, 0, "o"], - [71537, 0, "r"], - [71538, 0, " "], - [71539, 0, "r"], - [71540, 0, "e"], - [71541, 0, "l"], - [71542, 0, "a"], - [71543, 0, "t"], - [71544, 0, "i"], - [71545, 0, "o"], - [71546, 0, "n"], - [71547, 0, "s"], - [71157, 0, ","], - [71158, 0, " "], - [71158, 1], - [71157, 1], - [71158, 0, " "], - [71159, 0, "A"], - [71160, 0, "l"], - [71161, 0, "m"], - [71162, 0, "e"], - [71163, 0, "i"], - [71164, 0, "d"], - [71165, 0, "a"], - [71166, 0, " "], - [71167, 0, "e"], - [71168, 0, "t"], - [71169, 0, " "], - [71170, 0, "a"], - [71171, 0, "l"], - [71172, 0, "."], - [71173, 0, "~"], - [71174, 0, "\\"], - [71175, 0, "c"], - [71176, 0, "i"], - [71177, 0, "t"], - [71178, 0, "e"], - [71179, 0, "{"], - [71180, 0, "A"], - [71181, 0, "l"], - [71182, 0, "m"], - [71183, 0, "e"], - [71184, 0, "i"], - [71185, 0, "d"], - [71186, 0, "a"], - [71187, 0, ":"], - [71188, 0, "2"], - [71189, 0, "0"], - [71190, 0, "1"], - [71191, 0, "6"], - [71192, 0, "t"], - [71193, 0, "k"], - [71194, 0, "}"], - [71195, 0, " "], - [71196, 0, "a"], - [71197, 0, "l"], - [71198, 0, "s"], - [71199, 0, "o"], - [71200, 0, " "], - [71201, 0, "d"], - [71202, 0, "e"], - [71203, 0, "f"], - [71204, 0, "i"], - [71205, 0, "n"], - [71206, 0, "e"], - [71207, 0, " "], - [71208, 0, "d"], - [71209, 0, "e"], - [71210, 0, "l"], - [71211, 0, "t"], - [71212, 0, "a"], - [71213, 0, " "], - [71214, 0, "m"], - [71215, 0, "u"], - [71216, 0, "t"], - [71217, 0, "a"], - [71218, 0, "t"], - [71219, 0, "i"], - [71220, 0, "o"], - [71221, 0, "n"], - [71222, 0, " "], - [71222, 1], - [71222, 0, "s"], - [71223, 0, " "], - [71224, 0, "f"], - [71225, 0, "o"], - [71226, 0, "r"], - [71227, 0, " "], - [71228, 0, "n"], - [71229, 0, "e"], - [71230, 0, "s"], - [71231, 0, "t"], - [71232, 0, "e"], - [71233, 0, "d"], - [71234, 0, " "], - [71235, 0, "m"], - [71236, 0, "a"], - [71237, 0, "p"], - [71238, 0, "s"], - [71239, 0, ","], - [71240, 0, " "], - [71241, 0, "a"], - [71242, 0, "n"], - [71243, 0, "d"], - [71285, 1], - [71284, 1], - [71283, 1], - [71282, 1], - [71281, 1], - [71369, 0, " "], - [71370, 0, "A"], - [71371, 0, "l"], - [71372, 0, "t"], - [71373, 0, "h"], - [71374, 0, "o"], - [71375, 0, "u"], - [71376, 0, "g"], - [71377, 0, "h"], - [71378, 0, " "], - [70983, 1], - [70982, 1], - [70981, 1], - [70980, 1], - [70979, 1], - [70978, 1], - [70977, 1], - [70976, 1], - [70975, 1], - [70974, 1], - [70973, 1], - [70972, 1], - [70971, 1], - [70970, 1], - [70969, 1], - [70968, 1], - [70967, 1], - [70966, 1], - [70965, 1], - [70964, 1], - [70963, 1], - [70962, 1], - [70961, 1], - [70960, 1], - [70959, 1], - [70958, 1], - [70957, 1], - [70956, 1], - [70955, 1], - [70954, 1], - [70953, 1], - [70952, 1], - [70951, 1], - [70950, 1], - [70949, 1], - [70948, 1], - [71342, 1], - [71341, 1], - [71340, 1], - [71339, 1], - [71338, 1], - [71337, 1], - [71336, 1], - [71335, 1], - [71334, 1], - [71334, 0, "N"], - [71335, 0, "o"], - [71336, 0, "n"], - [71337, 0, "e"], - [71338, 0, " "], - [71339, 0, "o"], - [71340, 0, "f"], - [71341, 0, " "], - [71342, 0, "t"], - [71343, 0, "h"], - [71344, 0, "i"], - [71345, 0, "s"], - [71346, 0, " "], - [71347, 0, "w"], - [71348, 0, "o"], - [71349, 0, "r"], - [71350, 0, "k"], - [71351, 0, " "], - [71352, 0, "i"], - [71353, 0, "n"], - [71354, 0, "t"], - [71355, 0, "e"], - [71356, 0, "g"], - [71357, 0, "r"], - [71358, 0, "a"], - [71359, 0, "t"], - [71360, 0, "e"], - [71361, 0, "s"], - [71362, 0, " "], - [71363, 0, "C"], - [71364, 0, "R"], - [71365, 0, "D"], - [71366, 0, "T"], - [71367, 0, "s"], - [71368, 0, " "], - [71369, 0, "f"], - [71370, 0, "o"], - [71371, 0, "r"], - [71372, 0, " "], - [71373, 0, "o"], - [71374, 0, "r"], - [71375, 0, "d"], - [71376, 0, "e"], - [71377, 0, "r"], - [71378, 0, "e"], - [71379, 0, "d"], - [71380, 0, " "], - [71381, 0, "l"], - [71382, 0, "i"], - [71383, 0, "s"], - [71384, 0, "t"], - [71385, 0, "s"], - [71386, 0, ","], - [71387, 0, " "], - [71388, 0, "b"], - [71389, 0, "u"], - [71390, 0, "t"], - [71391, 0, " "], - [71392, 0, "t"], - [71393, 0, "h"], - [71394, 0, "e"], - [71395, 0, " "], - [71396, 0, "t"], - [71397, 0, "r"], - [71398, 0, "e"], - [71399, 0, "a"], - [71400, 0, "t"], - [71401, 0, "m"], - [71402, 0, "e"], - [71403, 0, "n"], - [71404, 0, "t"], - [71405, 0, " "], - [71406, 0, "o"], - [71407, 0, "f"], - [71408, 0, " "], - [71409, 0, "c"], - [71410, 0, "a"], - [71411, 0, "u"], - [71412, 0, "s"], - [71413, 0, "a"], - [71414, 0, "l"], - [71415, 0, "i"], - [71416, 0, "t"], - [71417, 0, "y"], - [71418, 0, " "], - [71419, 0, "i"], - [71420, 0, "n"], - [71421, 0, " "], - [71422, 0, "t"], - [71423, 0, "h"], - [71424, 0, "e"], - [71425, 0, "s"], - [71426, 0, "e"], - [71427, 0, " "], - [71428, 0, "d"], - [71429, 0, "a"], - [71430, 0, "t"], - [71431, 0, "a"], - [71432, 0, "t"], - [71433, 0, "y"], - [71434, 0, "p"], - [71435, 0, "e"], - [71436, 0, "s"], - [71437, 0, " "], - [71438, 0, "i"], - [71439, 0, "s"], - [71440, 0, " "], - [71441, 0, "t"], - [71442, 0, "h"], - [71443, 0, "e"], - [71444, 0, " "], - [71444, 1], - [71443, 1], - [71442, 1], - [71441, 1], - [71441, 0, "a"], - [71442, 0, " "], - [71443, 0, "b"], - [71444, 0, "a"], - [71445, 0, "s"], - [71446, 0, "i"], - [71447, 0, "s"], - [71448, 0, " "], - [71449, 0, "f"], - [71450, 0, "o"], - [71451, 0, "r"], - [71452, 0, " "], - [71453, 0, "t"], - [71454, 0, "h"], - [71455, 0, "e"], - [71456, 0, " "], - [71457, 0, "s"], - [71458, 0, "e"], - [71459, 0, "m"], - [71460, 0, "a"], - [71461, 0, "n"], - [71462, 0, "t"], - [71463, 0, "i"], - [71464, 0, "c"], - [71465, 0, "s"], - [71466, 0, " "], - [71467, 0, "i"], - [71468, 0, "n"], - [71469, 0, " "], - [71470, 0, "t"], - [71471, 0, "h"], - [71472, 0, "s"], - [71473, 0, "i"], - [71473, 1], - [71472, 1], - [71472, 0, "i"], - [71473, 0, "s"], - [71474, 0, " "], - [71475, 0, "a"], - [71476, 0, "p"], - [71476, 1], - [71475, 1], - [71475, 0, "p"], - [71476, 0, "a"], - [71477, 0, "p"], - [71478, 0, "e"], - [71479, 0, "r"], - [71480, 0, "."], - [71438, 1], - [71438, 1], - [71438, 0, "f"], - [71439, 0, "o"], - [71440, 0, "r"], - [71441, 0, "m"], - [71442, 0, "s"], - [71469, 0, " "], - [71470, 0, "d"], - [71471, 0, "e"], - [71472, 0, "v"], - [71473, 0, "e"], - [71474, 0, "l"], - [71475, 0, "o"], - [71476, 0, "p"], - [71477, 0, "e"], - [71478, 0, "d"], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73619, 1], - [73675, 1], - [73645, 1], - [73644, 1], - [73643, 1], - [73642, 1], - [73641, 1], - [73640, 1], - [73639, 1], - [73638, 1], - [73638, 0, "I"], - [73639, 0, "E"], - [73640, 0, "E"], - [73641, 0, "E"], - [73642, 0, "t"], - [73643, 0, "r"], - [73644, 0, "a"], - [73645, 0, "n"], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11736, 1], - [11735, 1], - [11735, 0, "~"], - [11736, 0, "\\"], - [11737, 0, "c"], - [11738, 0, "i"], - [11739, 0, "t"], - [11740, 0, "e"], - [11741, 0, "{"], - [11742, 0, "D"], - [11743, 0, "a"], - [11744, 0, "v"], - [11745, 0, "i"], - [11746, 0, "s"], - [11747, 0, ":"], - [11748, 0, "2"], - [11749, 0, "0"], - [11750, 0, "0"], - [11751, 0, "2"], - [11752, 0, "i"], - [11753, 0, "v"], - [11754, 0, ","], - [11755, 0, "I"], - [11756, 0, "g"], - [11757, 0, "n"], - [11758, 0, "a"], - [11759, 0, "t"], - [11760, 0, ":"], - [11761, 0, "2"], - [11762, 0, "0"], - [11763, 0, "0"], - [11764, 0, "3"], - [11765, 0, "j"], - [11766, 0, "y"], - [11767, 0, ","], - [11768, 0, "W"], - [11769, 0, "a"], - [11770, 0, "n"], - [11771, 0, "g"], - [11772, 0, ":"], - [11773, 0, "2"], - [11774, 0, "0"], - [11775, 0, "1"], - [11776, 0, "5"], - [11777, 0, "v"], - [11778, 0, "a"], - [11779, 0, "}"], - [12995, 0, "\n"], - [12996, 0, "\n"], - [12997, 0, "W"], - [12998, 0, "e"], - [12999, 0, " "], - [13000, 0, "d"], - [13001, 0, "i"], - [13002, 0, "s"], - [13003, 0, "c"], - [13004, 0, "u"], - [13005, 0, "s"], - [13006, 0, "s"], - [13007, 0, " "], - [13008, 0, "r"], - [13009, 0, "e"], - [13010, 0, "l"], - [13011, 0, "a"], - [13012, 0, "t"], - [13013, 0, "e"], - [13014, 0, "d"], - [13015, 0, " "], - [13016, 0, "w"], - [13017, 0, "o"], - [13018, 0, "r"], - [13019, 0, "k"], - [13020, 0, " "], - [13020, 1], - [13019, 1], - [13018, 1], - [13017, 1], - [13016, 1], - [13015, 1], - [13014, 1], - [13013, 1], - [13012, 1], - [13011, 1], - [13010, 1], - [13009, 1], - [13008, 1], - [13008, 0, "e"], - [13009, 0, "x"], - [13010, 0, "i"], - [13011, 0, "s"], - [13012, 0, "t"], - [13013, 0, "i"], - [13014, 0, "n"], - [13015, 0, "g"], - [13016, 0, " "], - [13017, 0, "a"], - [13018, 0, "l"], - [13019, 0, "g"], - [13020, 0, "o"], - [13021, 0, "r"], - [13022, 0, "i"], - [13023, 0, "t"], - [13024, 0, "h"], - [13025, 0, "m"], - [13026, 0, "s"], - [13027, 0, " "], - [13028, 0, "f"], - [13029, 0, "o"], - [13030, 0, "r"], - [13031, 0, " "], - [13032, 0, "c"], - [13033, 0, "o"], - [13034, 0, "l"], - [13035, 0, "l"], - [13036, 0, "a"], - [13037, 0, "b"], - [13038, 0, "o"], - [13039, 0, "r"], - [13040, 0, "a"], - [13041, 0, "t"], - [13042, 0, "i"], - [13043, 0, "v"], - [13044, 0, "e"], - [13045, 0, " "], - [13046, 0, "e"], - [13047, 0, "d"], - [13048, 0, "i"], - [13049, 0, "t"], - [13050, 0, "i"], - [13051, 0, "n"], - [13052, 0, "g"], - [13053, 0, " "], - [13054, 0, "i"], - [13055, 0, "n"], - [13056, 0, " "], - [13057, 0, "s"], - [13058, 0, "e"], - [13059, 0, "c"], - [13060, 0, "t"], - [13061, 0, "i"], - [13062, 0, "o"], - [13063, 0, "n"], - [13064, 0, "~"], - [13065, 0, "\\"], - [13066, 0, "r"], - [13067, 0, "e"], - [13068, 0, "f"], - [13069, 0, "{"], - [13070, 0, "s"], - [13071, 0, "e"], - [13072, 0, "c"], - [13073, 0, ":"], - [13074, 0, "r"], - [13075, 0, "e"], - [13076, 0, "l"], - [13077, 0, "a"], - [13078, 0, "t"], - [13079, 0, "e"], - [13080, 0, "d"], - [13081, 0, "-"], - [13082, 0, "o"], - [13083, 0, "t"], - [13084, 0, "}"], - [13085, 0, "."], - [11778, 1], - [11778, 0, "o"], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1094, 1], - [1070, 0, "\\"], - [1071, 0, "I"], - [1072, 0, "E"], - [1073, 0, "E"], - [1074, 0, "E"], - [1075, 0, "r"], - [1076, 0, "a"], - [1077, 0, "i"], - [1078, 0, "s"], - [1079, 0, "e"], - [1080, 0, "s"], - [1081, 0, "e"], - [1082, 0, "c"], - [1083, 0, "t"], - [1084, 0, "i"], - [1085, 0, "o"], - [1086, 0, "n"], - [1087, 0, "h"], - [1088, 0, "e"], - [1089, 0, "a"], - [1090, 0, "d"], - [1091, 0, "i"], - [1092, 0, "n"], - [1093, 0, "g"], - [1094, 0, "{"], - [1117, 0, "\\"], - [1118, 0, "l"], - [1119, 0, "a"], - [1120, 0, "b"], - [1121, 0, "e"], - [1122, 0, "l"], - [1123, 0, "{"], - [1124, 0, "s"], - [1125, 0, "e"], - [1126, 0, "c"], - [1127, 0, ":"], - [1128, 0, "i"], - [1129, 0, "n"], - [1130, 0, "t"], - [1131, 0, "r"], - [1132, 0, "o"], - [1133, 0, "d"], - [1134, 0, "u"], - [1135, 0, "c"], - [1136, 0, "t"], - [1137, 0, "i"], - [1138, 0, "o"], - [1139, 0, "n"], - [1140, 0, "}"], - [1141, 0, "}"], - [1143, 0, "\n"], - [1144, 0, "\\"], - [1145, 0, "I"], - [1146, 0, "E"], - [1147, 0, "E"], - [1148, 0, "E"], - [1149, 0, "P"], - [1150, 0, "A"], - [1151, 0, "R"], - [1152, 0, "s"], - [1153, 0, "t"], - [1154, 0, "a"], - [1155, 0, "r"], - [1156, 0, "t"], - [1157, 0, "{"], - [1158, 0, "T"], - [1159, 0, "}"], - [1160, 0, "{"], - [1161, 0, "t"], - [1162, 0, "h"], - [1163, 0, "i"], - [1164, 0, "s"], - [1165, 0, "}"], - [1166, 0, " "], - [1167, 0, "i"], - [1168, 0, "s"], - [1169, 0, " "], - [1170, 0, "w"], - [1171, 0, "h"], - [1172, 0, "e"], - [1173, 0, "r"], - [1174, 0, "e"], - [1175, 0, " "], - [1176, 0, "t"], - [1177, 0, "h"], - [1178, 0, "e"], - [1179, 0, " "], - [1180, 0, "i"], - [1181, 0, "n"], - [1182, 0, "t"], - [1183, 0, "r"], - [1184, 0, "o"], - [1185, 0, "d"], - [1186, 0, "u"], - [1187, 0, "c"], - [1188, 0, "t"], - [1189, 0, "i"], - [1190, 0, "o"], - [1191, 0, "n"], - [1192, 0, " "], - [1193, 0, "s"], - [1194, 0, "h"], - [1195, 0, "o"], - [1196, 0, "u"], - [1197, 0, "l"], - [1198, 0, "d"], - [1199, 0, " "], - [1200, 0, "g"], - [1201, 0, "o"], - [1202, 0, " "], - [1203, 0, "("], - [1204, 0, "T"], - [1205, 0, "O"], - [1206, 0, "D"], - [1207, 0, "O"], - [1208, 0, ")"], - [1209, 0, "."], - [1210, 0, " "], - [1211, 0, "L"], - [1212, 0, "o"], - [1213, 0, "r"], - [1214, 0, "e"], - [1215, 0, "m"], - [1216, 0, " "], - [1217, 0, "i"], - [1218, 0, "p"], - [1219, 0, "s"], - [1220, 0, "u"], - [1221, 0, "m"], - [1222, 0, " "], - [1223, 0, "d"], - [1224, 0, "o"], - [1225, 0, "l"], - [1226, 0, "o"], - [1227, 0, "r"], - [1228, 0, " "], - [1229, 0, "s"], - [1230, 0, "i"], - [1231, 0, "t"], - [1232, 0, " "], - [1233, 0, "a"], - [1234, 0, "m"], - [1235, 0, "e"], - [1236, 0, "t"], - [1237, 0, ","], - [1238, 0, " "], - [1239, 0, "c"], - [1240, 0, "o"], - [1241, 0, "n"], - [1242, 0, "s"], - [1243, 0, "e"], - [1244, 0, "c"], - [1245, 0, "t"], - [1246, 0, "e"], - [1247, 0, "t"], - [1248, 0, "u"], - [1249, 0, "r"], - [1250, 0, " "], - [1251, 0, "a"], - [1252, 0, "d"], - [1253, 0, "i"], - [1254, 0, "p"], - [1255, 0, "i"], - [1256, 0, "s"], - [1257, 0, "c"], - [1258, 0, "i"], - [1259, 0, "n"], - [1260, 0, "g"], - [1261, 0, " "], - [1262, 0, "e"], - [1263, 0, "l"], - [1264, 0, "i"], - [1265, 0, "t"], - [1266, 0, "."], - [1267, 0, " "], - [1268, 0, "S"], - [1269, 0, "u"], - [1270, 0, "s"], - [1271, 0, "p"], - [1272, 0, "e"], - [1273, 0, "n"], - [1274, 0, "d"], - [1275, 0, "i"], - [1276, 0, "s"], - [1277, 0, "s"], - [1278, 0, "e"], - [1279, 0, " "], - [1280, 0, "m"], - [1281, 0, "a"], - [1282, 0, "t"], - [1283, 0, "t"], - [1284, 0, "i"], - [1285, 0, "s"], - [1286, 0, " "], - [1287, 0, "l"], - [1288, 0, "e"], - [1289, 0, "o"], - [1290, 0, " "], - [1291, 0, "c"], - [1292, 0, "u"], - [1293, 0, "r"], - [1294, 0, "s"], - [1295, 0, "u"], - [1296, 0, "s"], - [1297, 0, " "], - [1298, 0, "t"], - [1299, 0, "o"], - [1300, 0, "r"], - [1301, 0, "t"], - [1302, 0, "o"], - [1303, 0, "r"], - [1304, 0, " "], - [1305, 0, "m"], - [1306, 0, "a"], - [1307, 0, "t"], - [1308, 0, "t"], - [1309, 0, "i"], - [1310, 0, "s"], - [1311, 0, " "], - [1312, 0, "t"], - [1313, 0, "i"], - [1314, 0, "n"], - [1315, 0, "c"], - [1316, 0, "i"], - [1317, 0, "d"], - [1318, 0, "u"], - [1319, 0, "n"], - [1320, 0, "t"], - [1321, 0, "."], - [1322, 0, " "], - [1323, 0, "D"], - [1324, 0, "o"], - [1325, 0, "n"], - [1326, 0, "e"], - [1327, 0, "c"], - [1328, 0, " "], - [1329, 0, "s"], - [1330, 0, "e"], - [1331, 0, "d"], - [1332, 0, " "], - [1333, 0, "b"], - [1334, 0, "i"], - [1335, 0, "b"], - [1336, 0, "e"], - [1337, 0, "n"], - [1338, 0, "d"], - [1339, 0, "u"], - [1340, 0, "m"], - [1341, 0, " "], - [1342, 0, "p"], - [1343, 0, "u"], - [1344, 0, "r"], - [1345, 0, "u"], - [1346, 0, "s"], - [1347, 0, ","], - [1348, 0, " "], - [1349, 0, "v"], - [1350, 0, "e"], - [1351, 0, "l"], - [1352, 0, " "], - [1353, 0, "b"], - [1354, 0, "l"], - [1355, 0, "a"], - [1356, 0, "n"], - [1357, 0, "d"], - [1358, 0, "i"], - [1359, 0, "t"], - [1360, 0, " "], - [1361, 0, "e"], - [1362, 0, "r"], - [1363, 0, "a"], - [1364, 0, "t"], - [1365, 0, "."], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1046, 1], - [1033, 0, "\n"], - [1034, 0, "\n"], - [1035, 0, "\\"], - [1036, 0, "I"], - [1037, 0, "E"], - [1038, 0, "E"], - [1039, 0, "E"], - [1040, 0, "t"], - [1041, 0, "i"], - [1042, 0, "t"], - [1043, 0, "l"], - [1044, 0, "e"], - [1045, 0, "a"], - [1046, 0, "b"], - [1047, 0, "s"], - [1048, 0, "t"], - [1049, 0, "r"], - [1050, 0, "a"], - [1051, 0, "c"], - [1052, 0, "t"], - [1053, 0, "i"], - [1054, 0, "n"], - [1055, 0, "d"], - [1056, 0, "e"], - [1057, 0, "x"], - [1058, 0, "t"], - [1059, 0, "e"], - [1060, 0, "x"], - [1061, 0, "t"], - [1062, 0, "{"], - [1063, 0, "%"], - [1064, 0, "\n"], - [1065, 0, "\\"], - [1066, 0, "b"], - [1067, 0, "e"], - [1068, 0, "g"], - [1069, 0, "i"], - [1070, 0, "n"], - [1071, 0, "{"], - [1072, 0, "a"], - [1073, 0, "b"], - [1074, 0, "s"], - [1075, 0, "t"], - [1076, 0, "r"], - [1077, 0, "a"], - [1078, 0, "c"], - [1079, 0, "t"], - [1080, 0, "}"], - [1081, 0, "\n"], - [1082, 0, "T"], - [1083, 0, "O"], - [1084, 0, "D"], - [1085, 0, "\\"], - [1086, 0, "e"], - [1087, 0, "n"], - [1088, 0, "d"], - [1089, 0, "{"], - [1090, 0, "a"], - [1091, 0, "b"], - [1092, 0, "s"], - [1093, 0, "t"], - [1094, 0, "r"], - [1095, 0, "a"], - [1096, 0, "c"], - [1097, 0, "t"], - [1098, 0, "}"], - [1085, 0, "O"], - [1086, 0, "\n"], - [1101, 0, "\n"], - [1102, 0, "\n"], - [1103, 0, "\\"], - [1104, 0, "b"], - [1105, 0, "e"], - [1106, 0, "g"], - [1107, 0, "i"], - [1108, 0, "n"], - [1109, 0, "{"], - [1110, 0, "I"], - [1111, 0, "E"], - [1112, 0, "E"], - [1113, 0, "E"], - [1114, 0, "k"], - [1115, 0, "e"], - [1116, 0, "y"], - [1117, 0, "w"], - [1118, 0, "o"], - [1119, 0, "r"], - [1120, 0, "d"], - [1121, 0, "s"], - [1122, 0, "}"], - [1123, 0, "\n"], - [1124, 0, "C"], - [1125, 0, "R"], - [1126, 0, "D"], - [1127, 0, "T"], - [1128, 0, "s"], - [1129, 0, ","], - [1130, 0, " "], - [1131, 0, "C"], - [1132, 0, "o"], - [1133, 0, "l"], - [1134, 0, "l"], - [1135, 0, "a"], - [1136, 0, "b"], - [1137, 0, "o"], - [1138, 0, "r"], - [1139, 0, "a"], - [1140, 0, "t"], - [1141, 0, "i"], - [1142, 0, "v"], - [1143, 0, "e"], - [1144, 0, " "], - [1145, 0, "E"], - [1146, 0, "d"], - [1147, 0, "i"], - [1148, 0, "t"], - [1149, 0, "i"], - [1150, 0, "n"], - [1151, 0, "g"], - [1152, 0, ","], - [1153, 0, " "], - [1154, 0, "P"], - [1155, 0, "2"], - [1156, 0, "P"], - [1157, 0, ","], - [1158, 0, " "], - [1159, 0, "J"], - [1160, 0, "S"], - [1161, 0, "O"], - [1162, 0, "N"], - [1163, 0, ","], - [1164, 0, " "], - [1165, 0, "O"], - [1166, 0, "p"], - [1167, 0, "t"], - [1168, 0, "i"], - [1169, 0, "m"], - [1170, 0, "i"], - [1171, 0, "s"], - [1172, 0, "t"], - [1173, 0, "i"], - [1174, 0, "c"], - [1175, 0, " "], - [1176, 0, "R"], - [1177, 0, "e"], - [1178, 0, "p"], - [1179, 0, "l"], - [1180, 0, "i"], - [1181, 0, "c"], - [1182, 0, "a"], - [1183, 0, "t"], - [1184, 0, "i"], - [1185, 0, "o"], - [1186, 0, "n"], - [1187, 0, ","], - [1188, 0, " "], - [1189, 0, "S"], - [1190, 0, "e"], - [1191, 0, "m"], - [1192, 0, "a"], - [1193, 0, "n"], - [1194, 0, "t"], - [1195, 0, "i"], - [1196, 0, "c"], - [1197, 0, "s"], - [1198, 0, ","], - [1199, 0, " "], - [1200, 0, "E"], - [1201, 0, "v"], - [1202, 0, "e"], - [1203, 0, "n"], - [1204, 0, "t"], - [1205, 0, "u"], - [1206, 0, "a"], - [1207, 0, "l"], - [1208, 0, " "], - [1209, 0, "C"], - [1210, 0, "o"], - [1211, 0, "n"], - [1212, 0, "s"], - [1213, 0, "i"], - [1214, 0, "s"], - [1215, 0, "t"], - [1216, 0, "e"], - [1217, 0, "n"], - [1218, 0, "c"], - [1219, 0, "y"], - [1220, 0, "."], - [1221, 0, "\n"], - [1222, 0, "\\"], - [1223, 0, "e"], - [1224, 0, "n"], - [1225, 0, "d"], - [1226, 0, "{"], - [1227, 0, "I"], - [1228, 0, "E"], - [1229, 0, "E"], - [1230, 0, "E"], - [1231, 0, "k"], - [1232, 0, "e"], - [1233, 0, "y"], - [1234, 0, "w"], - [1235, 0, "o"], - [1236, 0, "r"], - [1237, 0, "d"], - [1238, 0, "s"], - [1239, 0, "}"], - [1240, 0, "}"], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [15, 1], - [19, 0, ","], - [20, 0, "j"], - [21, 0, "o"], - [22, 0, "u"], - [23, 0, "r"], - [24, 0, "n"], - [25, 0, "a"], - [26, 0, "l"], - [27, 0, ","], - [28, 0, "c"], - [29, 0, "o"], - [30, 0, "m"], - [31, 0, "p"], - [32, 0, "s"], - [33, 0, "o"], - [34, 0, "c"], - [37, 1], - [37, 1], - [37, 1], - [37, 1], - [37, 1], - [37, 1], - [37, 1], - [37, 0, "I"], - [38, 0, "E"], - [39, 0, "E"], - [40, 0, "E"], - [41, 0, "t"], - [42, 0, "r"], - [43, 0, "a"], - [44, 0, "n"], - [388, 1], - [387, 1], - [386, 1], - [385, 1], - [384, 1], - [383, 1], - [383, 0, "c"], - [384, 0, "i"], - [385, 0, "t"], - [386, 0, "e"], - [380, 1], - [379, 1], - [378, 1], - [377, 1], - [376, 1], - [375, 1], - [374, 1], - [373, 1], - [372, 1], - [371, 1], - [370, 1], - [370, 0, "o"], - [371, 0, "c"], - [372, 0, "o"], - [373, 0, "m"], - [374, 0, "p"], - [375, 0, "r"], - [376, 0, "e"], - [377, 0, "s"], - [378, 0, "s"], - [333, 1], - [332, 1], - [331, 1], - [330, 1], - [329, 1], - [328, 1], - [327, 1], - [326, 1], - [325, 1], - [324, 1], - [323, 1], - [322, 1], - [321, 1], - [320, 1], - [319, 1], - [318, 1], - [317, 1], - [146, 0, "%"], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [146, 1], - [266, 0, "%"], - [266, 1], - [415, 0, "n"], - [416, 0, "e"], - [417, 0, "t"], - [418, 0, "-"], - [419, 0, "w"], - [420, 0, "o"], - [421, 0, "r"], - [422, 0, "k"], - [423, 0, "s"], - [424, 0, " "], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [437, 1], - [953, 0, "A"], - [954, 0, "u"], - [955, 0, "t"], - [956, 0, "h"], - [957, 0, "o"], - [958, 0, "r"], - [959, 0, " "], - [960, 0, "1"], - [961, 0, " "], - [962, 0, "a"], - [963, 0, "n"], - [964, 0, "d"], - [965, 0, " "], - [966, 0, "A"], - [967, 0, "u"], - [968, 0, "t"], - [969, 0, "h"], - [970, 0, "o"], - [971, 0, "r"], - [972, 0, " "], - [973, 0, "2"], - [974, 0, "\n"], - [975, 0, "\\"], - [976, 0, "I"], - [977, 0, "E"], - [978, 0, "E"], - [979, 0, "E"], - [980, 0, "c"], - [981, 0, "o"], - [982, 0, "m"], - [983, 0, "p"], - [984, 0, "s"], - [985, 0, "o"], - [986, 0, "c"], - [987, 0, "i"], - [987, 1], - [986, 1], - [985, 1], - [984, 1], - [983, 1], - [982, 1], - [981, 1], - [980, 1], - [979, 1], - [978, 1], - [977, 1], - [976, 1], - [976, 0, "t"], - [977, 0, "h"], - [978, 0, "a"], - [979, 0, "n"], - [980, 0, "k"], - [981, 0, "s"], - [982, 0, "{"], - [983, 0, "A"], - [984, 0, "u"], - [985, 0, "t"], - [986, 0, "h"], - [987, 0, "o"], - [988, 0, "r"], - [989, 0, " "], - [990, 0, "a"], - [991, 0, "f"], - [992, 0, "f"], - [993, 0, "i"], - [994, 0, "l"], - [995, 0, "i"], - [996, 0, "a"], - [997, 0, "t"], - [998, 0, "i"], - [999, 0, "o"], - [1000, 0, "n"], - [1001, 0, " "], - [1002, 0, "g"], - [1003, 0, "o"], - [1004, 0, "e"], - [1005, 0, "s"], - [1006, 0, " "], - [1007, 0, "h"], - [1008, 0, "e"], - [1009, 0, "r"], - [1010, 0, "e"], - [1011, 0, "."], - [1012, 0, "}"], - [473, 1], - [472, 1], - [471, 1], - [470, 1], - [469, 1], - [469, 0, "t"], - [470, 0, "r"], - [471, 0, "u"], - [472, 0, "e"], - [1322, 1], - [1322, 0, "U"], - [1328, 1], - [1327, 1], - [1326, 1], - [1325, 1], - [1325, 0, "s"], - [1326, 0, "e"], - [1327, 0, "r"], - [1328, 0, "s"], - [1331, 0, "o"], - [1332, 0, "f"], - [1333, 0, " "], - [1334, 0, "a"], - [1335, 0, "p"], - [1336, 0, "p"], - [1337, 0, "l"], - [1338, 0, "i"], - [1339, 0, "c"], - [1340, 0, "a"], - [1341, 0, "t"], - [1342, 0, "i"], - [1343, 0, "o"], - [1344, 0, "n"], - [1345, 0, "s"], - [1346, 0, " "], - [1347, 0, "o"], - [1348, 0, "n"], - [1349, 0, " "], - [1350, 0, "m"], - [1351, 0, "o"], - [1352, 0, "b"], - [1353, 0, "i"], - [1354, 0, "l"], - [1355, 0, "e"], - [1356, 0, " "], - [1357, 0, "d"], - [1358, 0, "e"], - [1359, 0, "v"], - [1360, 0, "i"], - [1361, 0, "c"], - [1362, 0, "e"], - [1363, 0, "s"], - [1364, 0, " "], - [1365, 0, "e"], - [1366, 0, "x"], - [1367, 0, "p"], - [1368, 0, "e"], - [1369, 0, "c"], - [1370, 0, "t"], - [1371, 0, " "], - [1372, 0, "t"], - [1373, 0, "h"], - [1374, 0, "e"], - [1375, 0, " "], - [1376, 0, "a"], - [1377, 0, "p"], - [1378, 0, "p"], - [1379, 0, "l"], - [1380, 0, "i"], - [1381, 0, "c"], - [1382, 0, "a"], - [1383, 0, "t"], - [1384, 0, "i"], - [1385, 0, "o"], - [1386, 0, "n"], - [1387, 0, "s"], - [1388, 0, " "], - [1389, 0, "s"], - [1390, 0, "t"], - [1391, 0, "i"], - [1392, 0, "l"], - [1393, 0, "l"], - [1394, 0, " "], - [1395, 0, "t"], - [1396, 0, "o"], - [1397, 0, " "], - [1398, 0, "w"], - [1399, 0, "o"], - [1400, 0, "r"], - [1401, 0, "k"], - [1402, 0, " "], - [1403, 0, "w"], - [1404, 0, "h"], - [1405, 0, "i"], - [1406, 0, "l"], - [1407, 0, "e"], - [1408, 0, " "], - [1409, 0, "t"], - [1410, 0, "h"], - [1411, 0, "e"], - [1412, 0, " "], - [1413, 0, "d"], - [1414, 0, "e"], - [1415, 0, "v"], - [1416, 0, "i"], - [1417, 0, "c"], - [1418, 0, "e"], - [1419, 0, " "], - [1420, 0, "i"], - [1421, 0, "s"], - [1422, 0, " "], - [1423, 0, "o"], - [1424, 0, "f"], - [1425, 0, "f"], - [1426, 0, "l"], - [1427, 0, "i"], - [1428, 0, "n"], - [1429, 0, "e"], - [1430, 0, " "], - [1431, 0, "o"], - [1432, 0, "r"], - [1433, 0, " "], - [1434, 0, "h"], - [1435, 0, "a"], - [1436, 0, "s"], - [1437, 0, " "], - [1438, 0, "p"], - [1439, 0, "o"], - [1440, 0, "o"], - [1441, 0, "r"], - [1442, 0, " "], - [1443, 0, "n"], - [1444, 0, "e"], - [1445, 0, "t"], - [1446, 0, "w"], - [1447, 0, "o"], - [1448, 0, "r"], - [1449, 0, "k"], - [1450, 0, " "], - [1451, 0, "c"], - [1452, 0, "o"], - [1453, 0, "n"], - [1454, 0, "n"], - [1455, 0, "e"], - [1456, 0, "c"], - [1457, 0, "t"], - [1458, 0, "i"], - [1459, 0, "v"], - [1460, 0, "i"], - [1461, 0, "t"], - [1462, 0, "y"], - [1463, 0, "."], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1464, 1], - [1463, 0, ","], - [1464, 0, " "], - [1465, 0, "a"], - [1466, 0, "n"], - [1467, 0, "d"], - [1468, 0, " "], - [1469, 0, "t"], - [1470, 0, "o"], - [1471, 0, " "], - [1472, 0, "s"], - [1473, 0, "y"], - [1474, 0, "n"], - [1475, 0, "c"], - [1476, 0, "h"], - [1477, 0, "r"], - [1478, 0, "o"], - [1479, 0, "n"], - [1480, 0, "i"], - [1481, 0, "z"], - [1482, 0, "e"], - [1483, 0, " "], - [1484, 0, "i"], - [1485, 0, "t"], - [1486, 0, "s"], - [1487, 0, " "], - [1488, 0, "s"], - [1489, 0, "t"], - [1490, 0, "a"], - [1491, 0, "t"], - [1492, 0, "e"], - [1493, 0, " "], - [1494, 0, "w"], - [1495, 0, "i"], - [1496, 0, "t"], - [1497, 0, "h"], - [1498, 0, " "], - [1499, 0, "o"], - [1500, 0, "t"], - [1501, 0, "h"], - [1502, 0, "e"], - [1503, 0, "r"], - [1504, 0, " "], - [1505, 0, "d"], - [1506, 0, "e"], - [1507, 0, "v"], - [1508, 0, "i"], - [1509, 0, "c"], - [1510, 0, "e"], - [1511, 0, "s"], - [1512, 0, " "], - [1513, 0, "w"], - [1514, 0, "h"], - [1515, 0, "e"], - [1516, 0, "n"], - [1517, 0, " "], - [1518, 0, "t"], - [1519, 0, "h"], - [1520, 0, "e"], - [1521, 0, " "], - [1522, 0, "n"], - [1523, 0, "e"], - [1524, 0, "t"], - [1525, 0, "w"], - [1526, 0, "o"], - [1527, 0, "r"], - [1528, 0, "k"], - [1529, 0, " "], - [1530, 0, "i"], - [1531, 0, "s"], - [1532, 0, " "], - [1533, 0, "a"], - [1534, 0, "v"], - [1535, 0, "a"], - [1536, 0, "i"], - [1537, 0, "l"], - [1538, 0, "a"], - [1539, 0, "b"], - [1540, 0, "l"], - [1541, 0, "e"], - [1543, 0, " "], - [1544, 0, "E"], - [1545, 0, "x"], - [1546, 0, "a"], - [1547, 0, "m"], - [1548, 0, "p"], - [1549, 0, "l"], - [1550, 0, "e"], - [1551, 0, "s"], - [1552, 0, " "], - [1553, 0, "o"], - [1554, 0, "f"], - [1555, 0, " "], - [1556, 0, "s"], - [1557, 0, "u"], - [1558, 0, "c"], - [1559, 0, "h"], - [1560, 0, " "], - [1561, 0, "a"], - [1562, 0, "p"], - [1563, 0, "p"], - [1564, 0, "l"], - [1565, 0, "i"], - [1566, 0, "c"], - [1567, 0, "a"], - [1568, 0, "t"], - [1569, 0, "i"], - [1570, 0, "o"], - [1571, 0, "n"], - [1572, 0, "s"], - [1573, 0, " "], - [1574, 0, "i"], - [1575, 0, "n"], - [1576, 0, "c"], - [1577, 0, "l"], - [1578, 0, "u"], - [1579, 0, "d"], - [1580, 0, "e"], - [1581, 0, " "], - [1582, 0, "a"], - [1583, 0, "d"], - [1584, 0, "d"], - [1585, 0, "r"], - [1586, 0, "e"], - [1587, 0, "s"], - [1588, 0, "s"], - [1589, 0, " "], - [1590, 0, "b"], - [1591, 0, "o"], - [1592, 0, "o"], - [1593, 0, "k"], - [1594, 0, "s"], - [1595, 0, ","], - [1596, 0, " "], - [1597, 0, "c"], - [1598, 0, "a"], - [1582, 0, "c"], - [1583, 0, "a"], - [1584, 0, "l"], - [1585, 0, "e"], - [1586, 0, "n"], - [1587, 0, "d"], - [1588, 0, "a"], - [1589, 0, "r"], - [1590, 0, "i"], - [1591, 0, "n"], - [1592, 0, "g"], - [1593, 0, ","], - [1594, 0, " "], - [1592, 1], - [1591, 1], - [1590, 1], - [1590, 0, "s"], - [1609, 1], - [1608, 1], - [1608, 0, "n"], - [1609, 0, "o"], - [1610, 0, "t"], - [1611, 0, "e"], - [1612, 0, "-"], - [1613, 0, "t"], - [1614, 0, "a"], - [1615, 0, "k"], - [1616, 0, "i"], - [1617, 0, "n"], - [1618, 0, "g"], - [1619, 0, ","], - [1620, 0, " "], - [1621, 0, "p"], - [1622, 0, "a"], - [1623, 0, "s"], - [1624, 0, "s"], - [1625, 0, "w"], - [1626, 0, "o"], - [1627, 0, "r"], - [1628, 0, "d"], - [1629, 0, " "], - [1630, 0, "m"], - [1631, 0, "a"], - [1632, 0, "n"], - [1633, 0, "a"], - [1634, 0, "g"], - [1635, 0, "e"], - [1636, 0, "r"], - [1637, 0, "s"], - [1499, 0, "t"], - [1500, 0, "h"], - [1501, 0, "e"], - [1502, 0, " "], - [1503, 0, "u"], - [1504, 0, "s"], - [1505, 0, "e"], - [1506, 0, "r"], - [1507, 0, "'"], - [1508, 0, "s"], - [1509, 0, " "], - [1631, 0, " "], - [1632, 0, "a"], - [1633, 0, "n"], - [1634, 0, "d"], - [1653, 0, "."], - [1654, 0, " "], - [1655, 0, "M"], - [1656, 0, "o"], - [1657, 0, "r"], - [1658, 0, "e"], - [1659, 0, "o"], - [1660, 0, "v"], - [1661, 0, "e"], - [1662, 0, "r"], - [1663, 0, ","], - [1664, 0, " "], - [1665, 0, "m"], - [1666, 0, "\n"], - [1667, 0, "\n"], - [1668, 0, "T"], - [1669, 0, "O"], - [1670, 0, "D"], - [1671, 0, "O"], - [1672, 0, " "], - [1673, 0, "m"], - [1674, 0, "o"], - [1675, 0, "r"], - [1676, 0, "e"], - [1677, 0, " "], - [1678, 0, "i"], - [1679, 0, "n"], - [1680, 0, "t"], - [1681, 0, "r"], - [1682, 0, "u"], - [1683, 0, "d"], - [1684, 0, "o"], - [1684, 1], - [1683, 1], - [1682, 1], - [1682, 0, "o"], - [1683, 0, "d"], - [1684, 0, "u"], - [1685, 0, "c"], - [1686, 0, "t"], - [1687, 0, "i"], - [1688, 0, "o"], - [1689, 0, "n"], - [1690, 0, "."], - [1666, 0, "a"], - [1667, 0, "n"], - [1668, 0, "y"], - [1669, 0, " "], - [1670, 0, "p"], - [1671, 0, "e"], - [1672, 0, "o"], - [1673, 0, "p"], - [1674, 0, "l"], - [1675, 0, "e"], - [1676, 0, " "], - [1677, 0, "w"], - [1678, 0, "a"], - [1679, 0, "n"], - [1680, 0, "t"], - [1681, 0, " "], - [1682, 0, "t"], - [1683, 0, "o"], - [1684, 0, " "], - [1685, 0, "c"], - [1686, 0, "o"], - [1687, 0, "l"], - [1688, 0, "l"], - [1689, 0, "a"], - [1690, 0, "b"], - [1691, 0, "o"], - [1692, 0, "r"], - [1693, 0, "a"], - [1694, 0, "t"], - [1695, 0, "e"], - [1696, 0, " "], - [1697, 0, "w"], - [1698, 0, "i"], - [1699, 0, "t"], - [1700, 0, "h"], - [1701, 0, " "], - [1702, 0, "o"], - [1703, 0, "t"], - [1704, 0, "h"], - [1705, 0, "e"], - [1706, 0, "r"], - [1707, 0, "s"], - [1708, 0, " "], - [1709, 0, "o"], - [1710, 0, "n"], - [1711, 0, " "], - [1712, 0, "d"], - [1713, 0, "o"], - [1714, 0, "c"], - [1715, 0, "u"], - [1716, 0, "m"], - [1717, 0, "e"], - [1718, 0, "n"], - [1719, 0, "t"], - [1720, 0, "s"], - [1721, 0, " "], - [1712, 0, "t"], - [1713, 0, "e"], - [1714, 0, "x"], - [1715, 0, "t"], - [1716, 0, " "], - [1726, 1], - [1726, 0, " "], - [1726, 1], - [1726, 0, ","], - [1727, 0, " "], - [1728, 0, "s"], - [1729, 0, "p"], - [1730, 0, "r"], - [1731, 0, "e"], - [1732, 0, "a"], - [1733, 0, "d"], - [1734, 0, "s"], - [1735, 0, "h"], - [1736, 0, "e"], - [1737, 0, "e"], - [1738, 0, "t"], - [1739, 0, "s"], - [1740, 0, ","], - [1741, 0, " "], - [1742, 0, "p"], - [1743, 0, "r"], - [1744, 0, "e"], - [1745, 0, "s"], - [1746, 0, "e"], - [1747, 0, "n"], - [1748, 0, "t"], - [1749, 0, "a"], - [1750, 0, "t"], - [1751, 0, "i"], - [1752, 0, "o"], - [1753, 0, "n"], - [1754, 0, "s"], - [1755, 0, ","], - [1756, 0, " "], - [1757, 0, "g"], - [1758, 0, "r"], - [1759, 0, "a"], - [1760, 0, "p"], - [1761, 0, "h"], - [1762, 0, "i"], - [1763, 0, "c"], - [1764, 0, "s"], - [1765, 0, ","], - [1766, 0, " "], - [1767, 0, "a"], - [1768, 0, "n"], - [1769, 0, "d"], - [1770, 0, " "], - [1771, 0, "s"], - [1772, 0, "i"], - [1773, 0, "m"], - [1774, 0, "i"], - [1775, 0, "l"], - [1776, 0, "a"], - [1777, 0, "r"], - [1778, 0, " "], - [1779, 0, "d"], - [1780, 0, "o"], - [1781, 0, "c"], - [1782, 0, "u"], - [1783, 0, "m"], - [1784, 0, "e"], - [1785, 0, "n"], - [1786, 0, "t"], - [1787, 0, "s"], - [1788, 0, "."], - [1777, 1], - [1776, 1], - [1775, 1], - [1774, 1], - [1773, 1], - [1772, 1], - [1771, 1], - [1771, 0, "o"], - [1772, 0, "t"], - [1773, 0, "h"], - [1774, 0, "e"], - [1775, 0, "r"], - [1776, 0, " "], - [1777, 0, "k"], - [1778, 0, "i"], - [1779, 0, "n"], - [1780, 0, "d"], - [1781, 0, "s"], - [1782, 0, " "], - [1783, 0, "o"], - [1784, 0, "f"], - [1794, 1], - [1795, 0, "\n"], - [1796, 0, "\n"], - [1797, 0, "W"], - [1798, 0, "h"], - [1799, 0, "a"], - [1800, 0, "t"], - [1801, 0, " "], - [1802, 0, "t"], - [1803, 0, "h"], - [1804, 0, "e"], - [1805, 0, "s"], - [1806, 0, "e"], - [1807, 0, " "], - [1808, 0, "d"], - [1808, 1], - [1808, 0, "a"], - [1809, 0, "p"], - [1810, 0, "p"], - [1811, 0, "l"], - [1812, 0, "i"], - [1813, 0, "c"], - [1814, 0, "a"], - [1815, 0, "t"], - [1816, 0, "i"], - [1817, 0, "o"], - [1818, 0, "n"], - [1819, 0, "s"], - [1820, 0, " "], - [1821, 0, "h"], - [1822, 0, "a"], - [1823, 0, "v"], - [1824, 0, "e"], - [1825, 0, " "], - [1826, 0, "i"], - [1827, 0, "n"], - [1828, 0, " "], - [1829, 0, "c"], - [1830, 0, "o"], - [1831, 0, "m"], - [1832, 0, "m"], - [1833, 0, "o"], - [1834, 0, "n"], - [1835, 0, " "], - [1836, 0, "i"], - [1837, 0, "s"], - [1838, 0, " "], - [1839, 0, "t"], - [1840, 0, "h"], - [1841, 0, "a"], - [1842, 0, "t"], - [1843, 0, " "], - [1844, 0, "t"], - [1845, 0, "h"], - [1846, 0, "e"], - [1847, 0, " "], - [1848, 0, "s"], - [1849, 0, "a"], - [1850, 0, "m"], - [1851, 0, "e"], - [1852, 0, " "], - [1853, 0, "a"], - [1854, 0, "p"], - [1855, 0, "p"], - [1856, 0, "l"], - [1857, 0, "i"], - [1858, 0, "c"], - [1859, 0, "a"], - [1860, 0, "t"], - [1861, 0, "i"], - [1862, 0, "o"], - [1863, 0, "n"], - [1864, 0, " "], - [1865, 0, "s"], - [1866, 0, "t"], - [1867, 0, "a"], - [1868, 0, "t"], - [1869, 0, "e"], - [1870, 0, " "], - [1871, 0, "n"], - [1872, 0, "e"], - [1873, 0, "e"], - [1874, 0, "d"], - [1875, 0, "s"], - [1876, 0, " "], - [1877, 0, "t"], - [1878, 0, "o"], - [1879, 0, " "], - [1880, 0, "b"], - [1881, 0, "e"], - [1882, 0, " "], - [1883, 0, "r"], - [1884, 0, "e"], - [1885, 0, "p"], - [1886, 0, "l"], - [1887, 0, "i"], - [1888, 0, "c"], - [1889, 0, "a"], - [1890, 0, "t"], - [1891, 0, "e"], - [1892, 0, "d"], - [1893, 0, " "], - [1894, 0, "t"], - [1895, 0, "o"], - [1896, 0, " "], - [1897, 0, "s"], - [1898, 0, "e"], - [1899, 0, "v"], - [1900, 0, "e"], - [1901, 0, "r"], - [1902, 0, "a"], - [1903, 0, "l"], - [1904, 0, " "], - [1905, 0, "d"], - [1906, 0, "e"], - [1907, 0, "v"], - [1908, 0, "i"], - [1909, 0, "c"], - [1910, 0, "e"], - [1911, 0, "s"], - [1912, 0, ","], - [1913, 0, " "], - [1914, 0, "e"], - [1915, 0, "a"], - [1916, 0, "c"], - [1917, 0, "h"], - [1918, 0, " "], - [1919, 0, "o"], - [1920, 0, "f"], - [1921, 0, " "], - [1922, 0, "w"], - [1923, 0, "h"], - [1924, 0, "i"], - [1925, 0, "c"], - [1926, 0, "h"], - [1927, 0, " "], - [1928, 0, "m"], - [1929, 0, "a"], - [1930, 0, "y"], - [1931, 0, " "], - [1932, 0, "m"], - [1933, 0, "o"], - [1934, 0, "d"], - [1935, 0, "i"], - [1936, 0, "f"], - [1937, 0, "y"], - [1938, 0, " "], - [1939, 0, "t"], - [1940, 0, "h"], - [1941, 0, "e"], - [1942, 0, " "], - [1943, 0, "s"], - [1944, 0, "t"], - [1945, 0, "a"], - [1946, 0, "t"], - [1947, 0, "e"], - [1948, 0, " "], - [1949, 0, "l"], - [1950, 0, "o"], - [1951, 0, "c"], - [1952, 0, "a"], - [1953, 0, "l"], - [1954, 0, "l"], - [1955, 0, "y"], - [1956, 0, "."], - [1957, 0, " "], - [1958, 0, "S"], - [1959, 0, "t"], - [1959, 1], - [1958, 1], - [1958, 0, "M"], - [1959, 0, "o"], - [1960, 0, "d"], - [1961, 0, "i"], - [1962, 0, "f"], - [1963, 0, "i"], - [1964, 0, "c"], - [1965, 0, "a"], - [1966, 0, "t"], - [1967, 0, "i"], - [1968, 0, "o"], - [1969, 0, "n"], - [1970, 0, "s"], - [1971, 0, " "], - [1972, 0, "m"], - [1973, 0, "a"], - [1974, 0, "y"], - [1975, 0, " "], - [1976, 0, "h"], - [1977, 0, "a"], - [1978, 0, "p"], - [1979, 0, "p"], - [1980, 0, "e"], - [1981, 0, "n"], - [1982, 0, " "], - [1983, 0, "c"], - [1984, 0, "o"], - [1985, 0, "n"], - [1986, 0, "c"], - [1987, 0, "u"], - [1988, 0, "r"], - [1989, 0, "r"], - [1990, 0, "e"], - [1991, 0, "n"], - [1992, 0, "t"], - [1993, 0, "l"], - [1994, 0, "y"], - [1995, 0, ","], - [1996, 0, " "], - [1997, 0, "a"], - [1998, 0, "n"], - [1999, 0, "d"], - [2000, 0, " "], - [2001, 0, "t"], - [2002, 0, "r"], - [2003, 0, "a"], - [2004, 0, "d"], - [2005, 0, "i"], - [2006, 0, "t"], - [2007, 0, "i"], - [2008, 0, "o"], - [2009, 0, "n"], - [2010, 0, "a"], - [2011, 0, "l"], - [2012, 0, " "], - [2013, 0, "c"], - [2014, 0, "o"], - [2015, 0, "n"], - [2016, 0, "c"], - [2017, 0, "u"], - [2018, 0, "r"], - [2019, 0, "r"], - [2020, 0, "e"], - [2021, 0, "n"], - [2022, 0, "c"], - [2023, 0, "y"], - [2024, 0, " "], - [2025, 0, "c"], - [2026, 0, "o"], - [2027, 0, "n"], - [2028, 0, "t"], - [2029, 0, "r"], - [2030, 0, "o"], - [2031, 0, "l"], - [2032, 0, " "], - [2033, 0, "m"], - [2034, 0, "e"], - [2035, 0, "t"], - [2036, 0, "h"], - [2037, 0, "o"], - [2038, 0, "d"], - [2039, 0, "s"], - [2040, 0, " "], - [2041, 0, "s"], - [2041, 1], - [2040, 1], - [2039, 1], - [2038, 1], - [2037, 1], - [2036, 1], - [2035, 1], - [2034, 1], - [2033, 1], - [2033, 0, "a"], - [2034, 0, "p"], - [2035, 0, "p"], - [2036, 0, "r"], - [2037, 0, "o"], - [2038, 0, "a"], - [2039, 0, "c"], - [2040, 0, "h"], - [2041, 0, "e"], - [2042, 0, "s"], - [2043, 0, " "], - [2044, 0, "s"], - [2045, 0, "u"], - [2046, 0, "c"], - [2047, 0, "h"], - [2048, 0, " "], - [2049, 0, "a"], - [2050, 0, "s"], - [2051, 0, " "], - [2052, 0, "s"], - [2053, 0, "e"], - [2054, 0, "r"], - [2055, 0, "i"], - [2056, 0, "a"], - [2057, 0, "l"], - [2058, 0, "i"], - [2059, 0, "z"], - [2060, 0, "a"], - [2061, 0, "b"], - [2062, 0, "i"], - [2063, 0, "l"], - [2064, 0, "i"], - [2065, 0, "t"], - [2066, 0, "y"], - [2067, 0, " "], - [2001, 1], - [2000, 1], - [1999, 1], - [1998, 1], - [1997, 1], - [1996, 1], - [1995, 1], - [1994, 1], - [1993, 1], - [1992, 1], - [1991, 1], - [1990, 1], - [1989, 1], - [1988, 1], - [1987, 1], - [1986, 1], - [1985, 1], - [1984, 1], - [1983, 1], - [1982, 1], - [1981, 1], - [1980, 1], - [1979, 1], - [1978, 1], - [1977, 1], - [1976, 1], - [1975, 1], - [1974, 1], - [1973, 1], - [1972, 1], - [1971, 1], - [1970, 1], - [1969, 1], - [1968, 1], - [1967, 1], - [1966, 1], - [1965, 1], - [1964, 1], - [1963, 1], - [1962, 1], - [1961, 1], - [1960, 1], - [1959, 1], - [1958, 1], - [1958, 0, "T"], - [2025, 0, "w"], - [2026, 0, "o"], - [2027, 0, "u"], - [2028, 0, "l"], - [2029, 0, "d"], - [2030, 0, " "], - [2031, 0, "c"], - [2032, 0, "a"], - [2033, 0, "u"], - [2034, 0, "s"], - [2035, 0, "e"], - [2036, 0, " "], - [2037, 0, "t"], - [2038, 0, "h"], - [2039, 0, "e"], - [2040, 0, " "], - [2041, 0, "a"], - [2042, 0, "p"], - [2043, 0, "p"], - [2044, 0, "l"], - [2045, 0, "i"], - [2046, 0, "c"], - [2047, 0, "a"], - [2048, 0, "t"], - [2049, 0, "i"], - [2050, 0, "o"], - [2051, 0, "n"], - [2052, 0, " "], - [2053, 0, "t"], - [2054, 0, "o"], - [2055, 0, " "], - [2056, 0, "b"], - [2057, 0, "e"], - [2058, 0, "c"], - [2059, 0, "o"], - [2060, 0, "m"], - [2061, 0, "e"], - [2062, 0, " "], - [2063, 0, "u"], - [2064, 0, "n"], - [2065, 0, "u"], - [2066, 0, "s"], - [2067, 0, "a"], - [2068, 0, "b"], - [2069, 0, "l"], - [2070, 0, "e"], - [2071, 0, " "], - [2072, 0, "a"], - [2073, 0, "t"], - [2074, 0, " "], - [2075, 0, "t"], - [2076, 0, "i"], - [2077, 0, "m"], - [2078, 0, "e"], - [2079, 0, "s"], - [2080, 0, " "], - [2081, 0, "o"], - [2082, 0, "f"], - [2083, 0, " "], - [2084, 0, "p"], - [2085, 0, "o"], - [2086, 0, "o"], - [2087, 0, "r"], - [2088, 0, " "], - [2089, 0, "n"], - [2090, 0, "e"], - [2091, 0, "t"], - [2092, 0, "w"], - [2093, 0, "o"], - [2094, 0, "r"], - [2095, 0, "k"], - [2096, 0, " "], - [2097, 0, "c"], - [2098, 0, "o"], - [2099, 0, "n"], - [2100, 0, "n"], - [2101, 0, "e"], - [2102, 0, "c"], - [2103, 0, "t"], - [2104, 0, "i"], - [2105, 0, "v"], - [2106, 0, "i"], - [2107, 0, "t"], - [2108, 0, "y"], - [2109, 0, ","], - [2110, 0, " "], - [2111, 0, "s"], - [2112, 0, "o"], - [2113, 0, " "], - [2114, 0, "w"], - [2115, 0, "e"], - [2116, 0, " "], - [2117, 0, "m"], - [2118, 0, "u"], - [2119, 0, "s"], - [2120, 0, "t"], - [2121, 0, " "], - [2122, 0, "a"], - [2123, 0, "s"], - [2124, 0, "s"], - [2125, 0, "u"], - [2126, 0, "m"], - [2127, 0, "e"], - [2128, 0, " "], - [2129, 0, "t"], - [2130, 0, "h"], - [2131, 0, "a"], - [2132, 0, "t"], - [2133, 0, " "], - [2134, 0, "u"], - [2135, 0, "s"], - [2136, 0, "e"], - [2137, 0, "r"], - [2138, 0, "s"], - [2139, 0, " "], - [2140, 0, "c"], - [2141, 0, "a"], - [2142, 0, "n"], - [2143, 0, " "], - [2144, 0, "m"], - [2145, 0, "a"], - [2146, 0, "k"], - [2147, 0, "e"], - [2148, 0, " "], - [2149, 0, "a"], - [2150, 0, "r"], - [2151, 0, "b"], - [2152, 0, "i"], - [2153, 0, "t"], - [2154, 0, "r"], - [2155, 0, "a"], - [2156, 0, "r"], - [2157, 0, "y"], - [2158, 0, " "], - [2159, 0, "m"], - [2160, 0, "o"], - [2161, 0, "d"], - [2162, 0, "i"], - [2163, 0, "f"], - [2164, 0, "i"], - [2165, 0, "c"], - [2166, 0, "a"], - [2167, 0, "t"], - [2168, 0, "i"], - [2169, 0, "o"], - [2170, 0, "n"], - [2171, 0, "s"], - [2172, 0, " "], - [2173, 0, "c"], - [2174, 0, "o"], - [2175, 0, "n"], - [2176, 0, "c"], - [2177, 0, "u"], - [2178, 0, "r"], - [2179, 0, "r"], - [2180, 0, "e"], - [2181, 0, "n"], - [2182, 0, "t"], - [2183, 0, "l"], - [2184, 0, "y"], - [2185, 0, " "], - [2186, 0, "o"], - [2187, 0, "n"], - [2188, 0, " "], - [2189, 0, "d"], - [2190, 0, "i"], - [2191, 0, "f"], - [2192, 0, "f"], - [2193, 0, "e"], - [2194, 0, "r"], - [2195, 0, "e"], - [2196, 0, "n"], - [2197, 0, "t"], - [2198, 0, " "], - [2199, 0, "d"], - [2200, 0, "e"], - [2201, 0, "v"], - [2202, 0, "i"], - [2203, 0, "c"], - [2204, 0, "e"], - [2205, 0, "s"], - [2206, 0, ","], - [2207, 0, " "], - [2208, 0, "a"], - [2209, 0, "n"], - [2210, 0, "d"], - [2211, 0, " "], - [2212, 0, "a"], - [2213, 0, "n"], - [2214, 0, "y"], - [2215, 0, " "], - [2216, 0, "r"], - [2217, 0, "e"], - [2218, 0, "s"], - [2219, 0, "u"], - [2220, 0, "l"], - [2221, 0, "t"], - [2222, 0, "i"], - [2223, 0, "n"], - [2224, 0, "g"], - [2225, 0, " "], - [2226, 0, "c"], - [2227, 0, "o"], - [2228, 0, "n"], - [2229, 0, "f"], - [2230, 0, "l"], - [2231, 0, "i"], - [2232, 0, "c"], - [2233, 0, "t"], - [2234, 0, "s"], - [2235, 0, " "], - [2236, 0, "m"], - [2237, 0, "u"], - [2238, 0, "s"], - [2239, 0, "t"], - [2240, 0, " "], - [2241, 0, "b"], - [2242, 0, "e"], - [2243, 0, " "], - [2244, 0, "r"], - [2245, 0, "e"], - [2246, 0, "s"], - [2247, 0, "o"], - [2248, 0, "l"], - [2249, 0, "v"], - [2250, 0, "e"], - [2251, 0, "d"], - [2252, 0, "."], - [2253, 0, "\n"], - [2254, 0, "\n"], - [2255, 0, "T"], - [2256, 0, "h"], - [2257, 0, "e"], - [2258, 0, " "], - [2259, 0, "s"], - [2260, 0, "i"], - [2261, 0, "m"], - [2262, 0, "p"], - [2263, 0, "l"], - [2264, 0, "e"], - [2265, 0, "s"], - [2266, 0, "t"], - [2267, 0, " "], - [2268, 0, "w"], - [2269, 0, "a"], - [2270, 0, "y"], - [2271, 0, " "], - [2272, 0, "o"], - [2273, 0, "f"], - [2274, 0, " "], - [2275, 0, "r"], - [2276, 0, "e"], - [2277, 0, "s"], - [2278, 0, "e"], - [2279, 0, "o"], - [2280, 0, "l"], - [2281, 0, "v"], - [2281, 1], - [2280, 1], - [2279, 1], - [2278, 1], - [2278, 0, "o"], - [2279, 0, "l"], - [2280, 0, "v"], - [2281, 0, "i"], - [2282, 0, "n"], - [2283, 0, "g"], - [2284, 0, " "], - [2285, 0, "c"], - [2286, 0, "o"], - [2287, 0, "n"], - [2288, 0, "f"], - [2289, 0, "l"], - [2290, 0, "c"], - [2291, 0, "i"], - [2292, 0, "t"], - [2293, 0, "s"], - [2293, 1], - [2292, 1], - [2291, 1], - [2290, 1], - [2290, 0, "i"], - [2291, 0, "c"], - [2292, 0, "t"], - [2293, 0, "s"], - [2294, 0, " "], - [2295, 0, "i"], - [2296, 0, "s"], - [2297, 0, " "], - [2298, 0, "t"], - [2299, 0, "o"], - [2300, 0, " "], - [2301, 0, "d"], - [2302, 0, "i"], - [2303, 0, "s"], - [2304, 0, "c"], - [2305, 0, "a"], - [2306, 0, "r"], - [2307, 0, "d"], - [2308, 0, " "], - [2309, 0, "s"], - [2310, 0, "o"], - [2311, 0, "m"], - [2312, 0, "e"], - [2313, 0, " "], - [2314, 0, "d"], - [2315, 0, "o"], - [2316, 0, "c"], - [2317, 0, "u"], - [2318, 0, "m"], - [2319, 0, "e"], - [2320, 0, "n"], - [2321, 0, "t"], - [2322, 0, " "], - [2323, 0, "m"], - [2324, 0, "o"], - [2325, 0, "d"], - [2326, 0, "i"], - [2327, 0, "f"], - [2328, 0, "i"], - [2329, 0, "c"], - [2330, 0, "a"], - [2331, 0, "t"], - [2332, 0, "i"], - [2333, 0, "o"], - [2334, 0, "n"], - [2335, 0, "s"], - [2336, 0, " "], - [2337, 0, "i"], - [2338, 0, "f"], - [2339, 0, " "], - [2340, 0, "c"], - [2341, 0, "o"], - [2342, 0, "n"], - [2343, 0, "c"], - [2344, 0, "u"], - [2345, 0, "r"], - [2346, 0, "r"], - [2347, 0, "e"], - [2348, 0, "n"], - [2349, 0, "t"], - [2350, 0, ","], - [2351, 0, " "], - [2352, 0, "c"], - [2353, 0, "o"], - [2354, 0, "n"], - [2355, 0, "f"], - [2356, 0, "l"], - [2356, 1], - [2355, 1], - [2354, 1], - [2353, 1], - [2352, 1], - [2351, 1], - [2350, 1], - [2349, 1], - [2348, 1], - [2347, 1], - [2346, 1], - [2345, 1], - [2344, 1], - [2343, 1], - [2342, 1], - [2341, 1], - [2340, 1], - [2340, 0, "c"], - [2341, 0, "o"], - [2342, 0, "n"], - [2343, 0, "f"], - [2344, 0, "l"], - [2345, 0, "i"], - [2346, 0, "c"], - [2347, 0, "t"], - [2348, 0, "s"], - [2349, 0, " "], - [2350, 0, "o"], - [2351, 0, "c"], - [2352, 0, "c"], - [2353, 0, "u"], - [2354, 0, "r"], - [2355, 0, "r"], - [2356, 0, "e"], - [2357, 0, "d"], - [2358, 0, ","], - [2359, 0, " "], - [2360, 0, "a"], - [2361, 0, " "], - [2362, 0, "p"], - [2363, 0, "o"], - [2364, 0, "l"], - [2365, 0, "i"], - [2366, 0, "c"], - [2367, 0, "y"], - [2368, 0, " "], - [2369, 0, "s"], - [2370, 0, "o"], - [2371, 0, "m"], - [2372, 0, "e"], - [2373, 0, "t"], - [2374, 0, "i"], - [2375, 0, "m"], - [2376, 0, "e"], - [2377, 0, "s"], - [2378, 0, " "], - [2379, 0, "k"], - [2380, 0, "n"], - [2381, 0, "o"], - [2382, 0, "w"], - [2383, 0, "n"], - [2384, 0, " "], - [2385, 0, "a"], - [2386, 0, "s"], - [2387, 0, " "], - [2388, 0, "`"], - [2389, 0, "`"], - [2390, 0, "l"], - [2391, 0, "a"], - [2392, 0, "s"], - [2393, 0, "t"], - [2394, 0, " "], - [2395, 0, "w"], - [2396, 0, "r"], - [2397, 0, "i"], - [2398, 0, "t"], - [2399, 0, "e"], - [2400, 0, "r"], - [2401, 0, " "], - [2402, 0, "w"], - [2403, 0, "i"], - [2404, 0, "n"], - [2405, 0, "s"], - [2406, 0, "'"], - [2407, 0, "'"], - [2408, 0, "."], - [2340, 0, "a"], - [2341, 0, " "], - [2350, 1], - [2387, 1], - [2386, 1], - [2385, 1], - [2384, 1], - [2383, 1], - [2382, 1], - [2381, 1], - [2380, 1], - [2379, 1], - [2378, 1], - [2377, 1], - [2376, 1], - [2375, 1], - [2374, 1], - [2373, 1], - [2372, 1], - [2371, 1], - [2370, 1], - [2369, 1], - [2368, 1], - [2367, 1], - [2366, 1], - [2365, 1], - [2364, 1], - [2363, 1], - [2362, 1], - [2361, 1], - [2361, 0, "f"], - [2362, 0, "o"], - [2363, 0, "r"], - [2364, 0, " "], - [2365, 0, "e"], - [2366, 0, "x"], - [2367, 0, "a"], - [2368, 0, "m"], - [2369, 0, "p"], - [2370, 0, "l"], - [2371, 0, "e"], - [2372, 0, " "], - [2373, 0, "u"], - [2374, 0, "s"], - [2375, 0, "i"], - [2376, 0, "n"], - [2377, 0, "g"], - [2378, 0, " "], - [2379, 0, "a"], - [2401, 0, " "], - [2402, 0, "p"], - [2403, 0, "o"], - [2404, 0, "l"], - [2405, 0, "i"], - [2406, 0, "c"], - [2407, 0, "y"], - [2409, 0, " "], - [2410, 0, "H"], - [2411, 0, "o"], - [2412, 0, "w"], - [2413, 0, "e"], - [2414, 0, "v"], - [2415, 0, "e"], - [2416, 0, "r"], - [2417, 0, ","], - [2418, 0, " "], - [2419, 0, "t"], - [2420, 0, "h"], - [2421, 0, "i"], - [2422, 0, "s"], - [2423, 0, " "], - [2424, 0, "a"], - [2425, 0, "p"], - [2426, 0, "p"], - [2427, 0, "r"], - [2428, 0, "o"], - [2429, 0, "a"], - [2430, 0, "c"], - [2431, 0, "h"], - [2432, 0, " "], - [2433, 0, "i"], - [2434, 0, "s"], - [2435, 0, " "], - [2436, 0, "u"], - [2437, 0, "n"], - [2438, 0, "d"], - [2439, 0, "e"], - [2440, 0, "r"], - [2440, 1], - [2440, 0, "s"], - [2441, 0, "i"], - [2442, 0, "r"], - [2443, 0, "a"], - [2444, 0, "b"], - [2445, 0, "l"], - [2446, 0, "e"], - [2447, 0, " "], - [2448, 0, "a"], - [2449, 0, "s"], - [2450, 0, " "], - [2451, 0, "i"], - [2452, 0, "t"], - [2453, 0, " "], - [2454, 0, "i"], - [2455, 0, "n"], - [2456, 0, "c"], - [2457, 0, "u"], - [2458, 0, "r"], - [2459, 0, "s"], - [2460, 0, " "], - [2461, 0, "d"], - [2462, 0, "a"], - [2463, 0, "t"], - [2464, 0, "a"], - [2465, 0, " "], - [2466, 0, "l"], - [2467, 0, "o"], - [2468, 0, "s"], - [2469, 0, "s"], - [2470, 0, "."], - [2471, 0, " "], - [2472, 0, "A"], - [2473, 0, "n"], - [2474, 0, " "], - [2475, 0, "a"], - [2476, 0, "l"], - [2477, 0, "t"], - [2478, 0, "e"], - [2479, 0, "r"], - [2480, 0, "n"], - [2481, 0, "a"], - [2482, 0, "t"], - [2483, 0, "i"], - [2484, 0, "v"], - [2485, 0, "e"], - [2486, 0, " "], - [2487, 0, "i"], - [2488, 0, "s"], - [2489, 0, " "], - [2490, 0, "t"], - [2491, 0, "o"], - [2492, 0, " "], - [2493, 0, "l"], - [2494, 0, "e"], - [2495, 0, "t"], - [2496, 0, " "], - [2497, 0, "t"], - [2498, 0, "h"], - [2499, 0, "e"], - [2500, 0, " "], - [2501, 0, "u"], - [2502, 0, "s"], - [2503, 0, "e"], - [2504, 0, "r"], - [2505, 0, " "], - [2506, 0, "m"], - [2507, 0, "a"], - [2508, 0, "n"], - [2509, 0, "u"], - [2510, 0, "a"], - [2511, 0, "l"], - [2512, 0, "l"], - [2513, 0, "y"], - [2514, 0, " "], - [2515, 0, "r"], - [2516, 0, "e"], - [2517, 0, "s"], - [2518, 0, "o"], - [2519, 0, "l"], - [2520, 0, "v"], - [2521, 0, "e"], - [2522, 0, " "], - [2523, 0, "t"], - [2524, 0, "h"], - [2525, 0, "e"], - [2526, 0, " "], - [2527, 0, "c"], - [2528, 0, "o"], - [2529, 0, "n"], - [2530, 0, "f"], - [2531, 0, "l"], - [2532, 0, "i"], - [2533, 0, "c"], - [2534, 0, "t"], - [2535, 0, ","], - [2536, 0, " "], - [2537, 0, "w"], - [2538, 0, "h"], - [2539, 0, "i"], - [2540, 0, "c"], - [2541, 0, "h"], - [2542, 0, " "], - [2543, 0, "i"], - [2544, 0, "s"], - [2545, 0, " "], - [2546, 0, "t"], - [2547, 0, "e"], - [2548, 0, "d"], - [2549, 0, "i"], - [2550, 0, "o"], - [2551, 0, "u"], - [2552, 0, "s"], - [2553, 0, " "], - [2554, 0, "i"], - [2555, 0, "n"], - [2556, 0, " "], - [2557, 0, "c"], - [2558, 0, "a"], - [2559, 0, "s"], - [2560, 0, "e"], - [2561, 0, " "], - [2562, 0, "o"], - [2563, 0, "f"], - [2564, 0, " "], - [2565, 0, "m"], - [2566, 0, "o"], - [2567, 0, "d"], - [2568, 0, "i"], - [2569, 0, "f"], - [2570, 0, "i"], - [2571, 0, "c"], - [2572, 0, "a"], - [2573, 0, "t"], - [2574, 0, "i"], - [2575, 0, "o"], - [2576, 0, "n"], - [2577, 0, "s"], - [2578, 0, " "], - [2579, 0, "t"], - [2580, 0, "h"], - [2581, 0, "a"], - [2582, 0, "t"], - [2583, 0, " "], - [2584, 0, "c"], - [2585, 0, "o"], - [2586, 0, "u"], - [2587, 0, "l"], - [2588, 0, "d"], - [2589, 0, " "], - [2590, 0, "b"], - [2591, 0, "e"], - [2592, 0, " "], - [2593, 0, "m"], - [2594, 0, "e"], - [2595, 0, "r"], - [2596, 0, "g"], - [2597, 0, "e"], - [2598, 0, "d"], - [2599, 0, " "], - [2600, 0, "a"], - [2601, 0, "u"], - [2602, 0, "t"], - [2603, 0, "o"], - [2604, 0, "m"], - [2605, 0, "a"], - [2606, 0, "t"], - [2607, 0, "i"], - [2608, 0, "c"], - [2609, 0, "a"], - [2610, 0, "l"], - [2611, 0, "l"], - [2612, 0, "y"], - [2613, 0, "."], - [75236, 0, "i"], - [75237, 0, "\n"], - [75238, 0, "\n"], - [75236, 1], - [75236, 0, "\n"], - [75237, 0, "\\"], - [75238, 0, "s"], - [75239, 0, "e"], - [75240, 0, "c"], - [75241, 0, "t"], - [75242, 0, "i"], - [75243, 0, "o"], - [75244, 0, "n"], - [75245, 0, "*"], - [75246, 0, "{"], - [75247, 0, "A"], - [75248, 0, "c"], - [75249, 0, "k"], - [75250, 0, "n"], - [75251, 0, "o"], - [75252, 0, "w"], - [75253, 0, "l"], - [75254, 0, "e"], - [75255, 0, "d"], - [75256, 0, "g"], - [75257, 0, "e"], - [75258, 0, "m"], - [75259, 0, "e"], - [75260, 0, "n"], - [75261, 0, "t"], - [75262, 0, "s"], - [75263, 0, "}"], - [75264, 0, "\n"], - [75265, 0, "\n"], - [75266, 0, "i"], - [75266, 1], - [75266, 0, "T"], - [75267, 0, "h"], - [75268, 0, "i"], - [75269, 0, "s"], - [75270, 0, " "], - [75271, 0, "r"], - [75272, 0, "e"], - [75273, 0, "s"], - [75274, 0, "e"], - [75275, 0, "a"], - [75276, 0, "r"], - [75277, 0, "c"], - [75278, 0, "h"], - [75279, 0, " "], - [75280, 0, "w"], - [75281, 0, "a"], - [75282, 0, "s"], - [75283, 0, " "], - [75284, 0, "s"], - [75285, 0, "u"], - [75286, 0, "p"], - [75287, 0, "p"], - [75288, 0, "o"], - [75289, 0, "r"], - [75290, 0, "t"], - [75291, 0, "e"], - [75292, 0, "d"], - [75293, 0, " "], - [75294, 0, "b"], - [75295, 0, "y"], - [75296, 0, " "], - [75297, 0, "a"], - [75298, 0, " "], - [75299, 0, "g"], - [75300, 0, "r"], - [75301, 0, "a"], - [75302, 0, "n"], - [75303, 0, "t"], - [75304, 0, " "], - [75305, 0, "f"], - [75306, 0, "r"], - [75307, 0, "o"], - [75308, 0, "m"], - [75309, 0, " "], - [75310, 0, "T"], - [75311, 0, "h"], - [75312, 0, "e"], - [75313, 0, " "], - [75314, 0, "B"], - [75315, 0, "o"], - [75316, 0, "e"], - [75317, 0, "i"], - [75318, 0, "n"], - [75319, 0, "g"], - [75320, 0, " "], - [75321, 0, "C"], - [75322, 0, "o"], - [75323, 0, "m"], - [75324, 0, "p"], - [75325, 0, "a"], - [75326, 0, "n"], - [75327, 0, "y"], - [75328, 0, "."], - [75329, 0, ":"], - [75330, 0, "w"], - [75331, 0, "q"], - [75331, 1], - [75330, 1], - [75329, 1], - [3459, 0, "\n"], - [3460, 0, "\n"], - [3460, 0, "\\"], - [3461, 0, "s"], - [3462, 0, "e"], - [3463, 0, "c"], - [3464, 0, "t"], - [3465, 0, "i"], - [3466, 0, "o"], - [3467, 0, "n"], - [3468, 0, "{"], - [3469, 0, "R"], - [3470, 0, "e"], - [3471, 0, "l"], - [3472, 0, "a"], - [3473, 0, "t"], - [3474, 0, "e"], - [3475, 0, "d"], - [3476, 0, "i"], - [3477, 0, "o"], - [3478, 0, "n"], - [3479, 0, "{"], - [3480, 0, "O"], - [3481, 0, "p"], - [3482, 0, "e"], - [3483, 0, "r"], - [3484, 0, "a"], - [3485, 0, "t"], - [3486, 0, "i"], - [3487, 0, "o"], - [3488, 0, "n"], - [3489, 0, "a"], - [3490, 0, "l"], - [3491, 0, " "], - [3492, 0, "t"], - [3493, 0, "r"], - [3494, 0, "a"], - [3495, 0, "n"], - [3496, 0, "s"], - [3497, 0, "f"], - [3498, 0, "o"], - [3499, 0, "r"], - [3500, 0, "m"], - [3501, 0, "a"], - [3502, 0, "t"], - [3503, 0, "i"], - [3504, 0, "o"], - [3505, 0, "n"], - [3506, 0, "}"], - [3507, 0, "\\"], - [3508, 0, "s"], - [3509, 0, " "], - [3510, 0, "b"], - [3511, 0, "a"], - [3512, 0, "s"], - [3513, 0, "e"], - [3514, 0, "d"], - [3515, 0, " "], - [3516, 0, "o"], - [3517, 0, "n"], - [3518, 0, " "], - [3519, 0, "\\"], - [3520, 0, "e"], - [3521, 0, "m"], - [3522, 0, "p"], - [3523, 0, "h"], - [3524, 0, "{"], - [3525, 0, "o"], - [3526, 0, "p"], - [3527, 0, "e"], - [3528, 0, "r"], - [3529, 0, "a"], - [3530, 0, "t"], - [3531, 0, "i"], - [3532, 0, "o"], - [3533, 0, "n"], - [3534, 0, "a"], - [3535, 0, "l"], - [3536, 0, " "], - [3537, 0, "t"], - [3538, 0, "r"], - [3539, 0, "a"], - [3540, 0, "n"], - [3541, 0, "s"], - [3542, 0, "f"], - [3543, 0, "o"], - [3544, 0, "r"], - [3545, 0, "m"], - [3546, 0, "a"], - [3547, 0, "t"], - [3548, 0, "i"], - [3549, 0, "o"], - [3550, 0, "n"], - [3551, 0, "}"], - [3552, 0, " "], - [3553, 0, "("], - [3554, 0, "O"], - [3555, 0, "T"], - [3556, 0, ")"], - [3557, 0, " "], - [3558, 0, "h"], - [3559, 0, "a"], - [3560, 0, "v"], - [3561, 0, "e"], - [3562, 0, " "], - [3563, 0, "l"], - [3564, 0, "o"], - [3565, 0, "n"], - [3566, 0, "g"], - [3567, 0, " "], - [3568, 0, "b"], - [3569, 0, "e"], - [3570, 0, "e"], - [3571, 0, "n"], - [3572, 0, "i"], - [3573, 0, "t"], - [3574, 0, "e"], - [3575, 0, "{"], - [3576, 0, "E"], - [3577, 0, "l"], - [3578, 0, "l"], - [3579, 0, "i"], - [3580, 0, "s"], - [3581, 0, ":"], - [3582, 0, "1"], - [3583, 0, "9"], - [3584, 0, "8"], - [3585, 0, "9"], - [3586, 0, "u"], - [3587, 0, "e"], - [3588, 0, ","], - [3589, 0, "R"], - [3590, 0, "e"], - [3591, 0, "s"], - [3592, 0, "s"], - [3593, 0, "e"], - [3594, 0, "l"], - [3595, 0, ":"], - [3596, 0, "1"], - [3597, 0, "9"], - [3598, 0, "9"], - [3599, 0, "6"], - [3600, 0, "w"], - [3601, 0, "x"], - [3602, 0, ","], - [3603, 0, "S"], - [3604, 0, "u"], - [3605, 0, "n"], - [3606, 0, ":"], - [3607, 0, "1"], - [3608, 0, "9"], - [3609, 0, "9"], - [3610, 0, "8"], - [3611, 0, "v"], - [3612, 0, "f"], - [3613, 0, ","], - [3614, 0, "N"], - [3615, 0, "i"], - [3616, 0, "c"], - [3617, 0, "h"], - [3618, 0, "o"], - [3619, 0, "l"], - [3620, 0, "s"], - [3621, 0, ":"], - [3622, 0, "1"], - [3623, 0, "9"], - [3624, 0, "9"], - [3625, 0, "5"], - [3626, 0, "f"], - [3627, 0, "d"], - [3628, 0, "}"], - [3629, 0, "."], - [3630, 0, " "], - [3631, 0, "M"], - [3632, 0, "o"], - [3633, 0, "s"], - [3634, 0, "t"], - [3635, 0, " "], - [3636, 0, "o"], - [3637, 0, "f"], - [3638, 0, " "], - [3639, 0, "t"], - [3640, 0, "h"], - [3641, 0, "e"], - [3642, 0, "m"], - [3643, 0, " "], - [3644, 0, "t"], - [3645, 0, "r"], - [3646, 0, "e"], - [3647, 0, "a"], - [3648, 0, "t"], - [3649, 0, " "], - [3650, 0, "a"], - [3651, 0, " "], - [3652, 0, "d"], - [3653, 0, "o"], - [3654, 0, "c"], - [3655, 0, "u"], - [3656, 0, "m"], - [3657, 0, "e"], - [3658, 0, "n"], - [3659, 0, "t"], - [3660, 0, " "], - [3661, 0, "a"], - [3662, 0, "s"], - [3663, 0, " "], - [3664, 0, "a"], - [3665, 0, " "], - [3666, 0, "s"], - [3667, 0, "i"], - [3668, 0, "n"], - [3669, 0, "g"], - [3670, 0, "l"], - [3671, 0, "e"], - [3672, 0, " "], - [3673, 0, "o"], - [3674, 0, "r"], - [3675, 0, "d"], - [3676, 0, "e"], - [3677, 0, "r"], - [3678, 0, "e"], - [3679, 0, "d"], - [3680, 0, " "], - [3681, 0, "l"], - [3682, 0, "i"], - [3683, 0, "s"], - [3684, 0, "a"], - [3685, 0, "t"], - [3686, 0, " "], - [3687, 0, "a"], - [3688, 0, "r"], - [3689, 0, "e"], - [3690, 0, " "], - [3691, 0, "r"], - [3692, 0, "e"], - [3693, 0, "q"], - [3694, 0, "u"], - [3695, 0, "i"], - [3696, 0, "r"], - [3697, 0, "e"], - [3698, 0, "d"], - [3699, 0, " "], - [3700, 0, "f"], - [3701, 0, "o"], - [3702, 0, "r"], - [3703, 0, " "], - [3704, 0, "m"], - [3705, 0, "a"], - [3706, 0, "n"], - [3707, 0, "y"], - [3708, 0, " "], - [3709, 0, "a"], - [3710, 0, "p"], - [3711, 0, "p"], - [3712, 0, "l"], - [3713, 0, "i"], - [3714, 0, "c"], - [3715, 0, "a"], - [3716, 0, "z"], - [3717, 0, "e"], - [3718, 0, " "], - [3719, 0, "O"], - [3720, 0, "T"], - [3721, 0, " "], - [3722, 0, "t"], - [3723, 0, "o"], - [3724, 0, " "], - [3725, 0, "e"], - [3726, 0, "d"], - [3727, 0, "i"], - [3728, 0, "t"], - [3729, 0, "i"], - [3730, 0, "n"], - [3731, 0, "g"], - [3732, 0, " "], - [3733, 0, "X"], - [3734, 0, "M"], - [3735, 0, "L"], - [3736, 0, " "], - [3737, 0, "d"], - [3738, 0, "o"], - [3739, 0, "c"], - [3740, 0, "u"], - [3741, 0, "m"], - [3742, 0, "e"], - [3743, 0, "n"], - [3744, 0, "t"], - [3745, 0, "s"], - [3746, 0, "~"], - [3747, 0, "\\"], - [3748, 0, "c"], - [3749, 0, "i"], - [3750, 0, "t"], - [3751, 0, "e"], - [3752, 0, "{"], - [3753, 0, "D"], - [3754, 0, "a"], - [3755, 0, "v"], - [3756, 0, "i"], - [3757, 0, "s"], - [3758, 0, ":"], - [3759, 0, "2"], - [3760, 0, "0"], - [3761, 0, "0"], - [3762, 0, "2"], - [3763, 0, "i"], - [3764, 0, "v"], - [3765, 0, ","], - [3766, 0, "I"], - [3767, 0, "g"], - [3768, 0, "n"], - [3769, 0, "a"], - [3770, 0, "t"], - [3771, 0, ":"], - [3772, 0, "2"], - [3773, 0, "0"], - [3774, 0, "0"], - [3775, 0, "3"], - [3776, 0, "j"], - [3777, 0, "y"], - [3778, 0, ","], - [3779, 0, "W"], - [3780, 0, "l"], - [3781, 0, "i"], - [3782, 0, "s"], - [3783, 0, "t"], - [3784, 0, "s"], - [3785, 0, ","], - [3786, 0, " "], - [3787, 0, "b"], - [3788, 0, "u"], - [3789, 0, "t"], - [3790, 0, " "], - [3791, 0, "t"], - [3792, 0, "h"], - [3793, 0, "e"], - [3794, 0, "s"], - [3795, 0, "e"], - [3796, 0, " "], - [3797, 0, "a"], - [3798, 0, "l"], - [3799, 0, "g"], - [3800, 0, "o"], - [3801, 0, "r"], - [3802, 0, "i"], - [3803, 0, "t"], - [3804, 0, "h"], - [3805, 0, "m"], - [3806, 0, "s"], - [3807, 0, " "], - [3808, 0, "d"], - [3809, 0, "o"], - [3810, 0, " "], - [3811, 0, "n"], - [3812, 0, "o"], - [3813, 0, "t"], - [3814, 0, " "], - [3815, 0, "s"], - [3816, 0, "u"], - [3817, 0, "p"], - [3818, 0, "p"], - [3819, 0, "o"], - [3820, 0, "r"], - [3821, 0, "t"], - [3822, 0, " "], - [3823, 0, "k"], - [3824, 0, "e"], - [3825, 0, "y"], - [3826, 0, "-"], - [3827, 0, "v"], - [3828, 0, "e"], - [3829, 0, "d"], - [3830, 0, " "], - [3831, 0, "O"], - [3832, 0, "T"], - [3833, 0, " "], - [3834, 0, "c"], - [3835, 0, "o"], - [3836, 0, "l"], - [3837, 0, "l"], - [3838, 0, "a"], - [3839, 0, "b"], - [3840, 0, "o"], - [3841, 0, "r"], - [3842, 0, "a"], - [3843, 0, "t"], - [3844, 0, "i"], - [3845, 0, "o"], - [3846, 0, "n"], - [3847, 0, " "], - [3848, 0, "s"], - [3849, 0, "y"], - [3850, 0, "s"], - [3851, 0, "t"], - [3852, 0, "e"], - [3853, 0, "m"], - [3854, 0, "s"], - [3855, 0, ","], - [3856, 0, " "], - [3857, 0, "i"], - [3858, 0, "n"], - [3859, 0, "c"], - [3860, 0, "l"], - [3861, 0, "u"], - [3862, 0, "d"], - [3863, 0, "i"], - [3864, 0, "n"], - [3865, 0, "g"], - [3866, 0, " "], - [3867, 0, "G"], - [3868, 0, "o"], - [3869, 0, "o"], - [3870, 0, "g"], - [3871, 0, "l"], - [3872, 0, "e"], - [3873, 0, " "], - [3874, 0, "D"], - [3875, 0, "o"], - [3876, 0, "c"], - [3877, 0, "s"], - [3878, 0, "~"], - [3879, 0, "\\"], - [3880, 0, "c"], - [3881, 0, "i"], - [3882, 0, "t"], - [3883, 0, "e"], - [3884, 0, "{"], - [3885, 0, "D"], - [3886, 0, "a"], - [3887, 0, "y"], - [3888, 0, "R"], - [3889, 0, "i"], - [3890, 0, "c"], - [3891, 0, "h"], - [3892, 0, "{"], - [3893, 0, "S"], - [3894, 0, "p"], - [3895, 0, "i"], - [3896, 0, "e"], - [3897, 0, "w"], - [3898, 0, "a"], - [3899, 0, "k"], - [3900, 0, ":"], - [3901, 0, "2"], - [3902, 0, "0"], - [3903, 0, "1"], - [3904, 0, "0"], - [3905, 0, "v"], - [3906, 0, "w"], - [3907, 0, "}"], - [3908, 0, " "], - [3909, 0, "a"], - [3910, 0, "n"], - [3911, 0, "d"], - [3912, 0, " "], - [3913, 0, "A"], - [3914, 0, "p"], - [3915, 0, "a"], - [3916, 0, "c"], - [3917, 0, "h"], - [3918, 0, "e"], - [3919, 0, " "], - [3920, 0, "W"], - [3921, 0, "a"], - [3922, 0, "v"], - [3923, 0, "e"], - [3924, 0, " "], - [3925, 0, "("], - [3926, 0, "f"], - [3927, 0, "o"], - [3928, 0, "r"], - [3929, 0, "m"], - [3930, 0, "e"], - [3931, 0, "r"], - [3932, 0, "l"], - [3933, 0, "y"], - [3934, 0, " "], - [3935, 0, "G"], - [3936, 0, "o"], - [3937, 0, "o"], - [3938, 0, "g"], - [3939, 0, "l"], - [3940, 0, "e"], - [3941, 0, " "], - [3942, 0, "W"], - [3943, 0, "a"], - [3944, 0, "v"], - [3945, 0, "e"], - [3946, 0, "~"], - [3947, 0, "\\"], - [3948, 0, "c"], - [3949, 0, "i"], - [3950, 0, "t"], - [3951, 0, "e"], - [3952, 0, "{"], - [3953, 0, "W"], - [3954, 0, "a"], - [3955, 0, "n"], - [3956, 0, "n"], - [3957, 0, "g"], - [3958, 0, " "], - [3959, 0, "o"], - [3960, 0, "f"], - [3961, 0, " "], - [3962, 0, "o"], - [3963, 0, "p"], - [3964, 0, "e"], - [3965, 0, "r"], - [3966, 0, "a"], - [3967, 0, "t"], - [3968, 0, "i"], - [3969, 0, "o"], - [3970, 0, "n"], - [3971, 0, "s"], - [3972, 0, "~"], - [3973, 0, "\\"], - [3974, 0, "c"], - [3975, 0, "i"], - [3976, 0, "t"], - [3977, 0, "e"], - [3978, 0, "{"], - [3979, 0, "L"], - [3980, 0, "e"], - [3981, 0, "m"], - [3982, 0, "o"], - [3983, 0, "n"], - [3984, 0, "i"], - [3985, 0, "k"], - [3986, 0, ":"], - [3987, 0, "2"], - [3988, 0, "0"], - [3989, 0, "1"], - [3990, 0, "6"], - [3991, 0, "w"], - [3992, 0, "h"], - [3993, 0, "}"], - [3994, 0, ","], - [3995, 0, " "], - [3996, 0, "a"], - [3997, 0, " "], - [3998, 0, "d"], - [3999, 0, "e"], - [4000, 0, "s"], - [4001, 0, "i"], - [4002, 0, "g"], - [4003, 0, "n"], - [4004, 0, " "], - [4005, 0, "d"], - [4006, 0, "e"], - [4007, 0, "c"], - [4008, 0, "i"], - [4009, 0, "s"], - [4010, 0, "i"], - [4011, 0, "o"], - [4012, 0, "n"], - [4013, 0, " "], - [4014, 0, "i"], - [4015, 0, "n"], - [4016, 0, "h"], - [4017, 0, "e"], - [4018, 0, "r"], - [4019, 0, "i"], - [4020, 0, "h"], - [4021, 0, " "], - [4022, 0, "h"], - [4023, 0, "a"], - [4024, 0, "s"], - [4025, 0, " "], - [4026, 0, "t"], - [4027, 0, "h"], - [4028, 0, "e"], - [4029, 0, " "], - [4030, 0, "a"], - [4031, 0, "d"], - [4032, 0, "v"], - [4033, 0, "a"], - [4034, 0, "n"], - [4035, 0, "t"], - [4036, 0, "a"], - [4037, 0, "g"], - [4038, 0, "e"], - [4039, 0, " "], - [4040, 0, "o"], - [4041, 0, "f"], - [4042, 0, " "], - [4043, 0, "m"], - [4044, 0, "a"], - [4045, 0, "k"], - [4046, 0, "i"], - [4047, 0, "n"], - [4048, 0, "g"], - [4049, 0, " "], - [4050, 0, "t"], - [4051, 0, "h"], - [4052, 0, "e"], - [4053, 0, " "], - [4054, 0, "t"], - [4055, 0, "r"], - [4056, 0, "a"], - [4057, 0, "n"], - [4058, 0, "s"], - [4059, 0, "f"], - [4060, 0, "o"], - [4061, 0, "r"], - [4062, 0, "m"], - [4063, 0, "a"], - [4064, 0, "t"], - [4065, 0, "i"], - [4066, 0, "o"], - [4067, 0, "n"], - [4068, 0, " "], - [4069, 0, "f"], - [4070, 0, "u"], - [4071, 0, "n"], - [4072, 0, "c"], - [4073, 0, "t"], - [4074, 0, "i"], - [4075, 0, "o"], - [4076, 0, "n"], - [4077, 0, "s"], - [4078, 0, " "], - [4079, 0, "s"], - [4080, 0, "i"], - [4081, 0, "m"], - [4082, 0, "p"], - [4083, 0, "l"], - [4084, 0, "e"], - [4085, 0, "t"], - [4086, 0, " "], - [4087, 0, "o"], - [4088, 0, "u"], - [4089, 0, "r"], - [4090, 0, " "], - [4091, 0, "r"], - [4092, 0, "e"], - [4093, 0, "q"], - [4094, 0, "u"], - [4095, 0, "i"], - [4096, 0, "r"], - [4097, 0, "e"], - [4098, 0, "m"], - [4099, 0, "e"], - [4100, 0, "n"], - [4101, 0, "t"], - [4102, 0, "s"], - [4103, 0, ","], - [4104, 0, " "], - [4105, 0, "s"], - [4106, 0, "i"], - [4107, 0, "n"], - [4108, 0, "c"], - [4109, 0, "e"], - [4110, 0, " "], - [4111, 0, "w"], - [4112, 0, "e"], - [4113, 0, " "], - [4114, 0, "w"], - [4115, 0, "a"], - [4116, 0, "n"], - [4117, 0, "t"], - [4118, 0, " "], - [4119, 0, "t"], - [4120, 0, "o"], - [4121, 0, " "], - [4122, 0, "s"], - [4123, 0, "u"], - [4124, 0, "p"], - [4125, 0, "p"], - [4126, 0, "o"], - [4127, 0, "r"], - [4128, 0, "t"], - [4129, 0, " "], - [4130, 0, "p"], - [4131, 0, "e"], - [4132, 0, "e"], - [4133, 0, "r"], - [4134, 0, "-"], - [4135, 0, "t"], - [4136, 0, "o"], - [4137, 0, "-"], - [4138, 0, "p"], - [4139, 0, "e"], - [4140, 0, "e"], - [4141, 0, "r"], - [4142, 0, " "], - [4143, 0, "c"], - [4144, 0, "o"], - [4145, 0, "l"], - [4146, 0, "l"], - [4147, 0, "a"], - [4148, 0, "n"], - [4149, 0, "g"], - [4150, 0, " "], - [4151, 0, "p"], - [4152, 0, "r"], - [4153, 0, "o"], - [4154, 0, "t"], - [4155, 0, "o"], - [4156, 0, "c"], - [4157, 0, "o"], - [4158, 0, "l"], - [4159, 0, "s"], - [4160, 0, ","], - [4161, 0, " "], - [4162, 0, "w"], - [4163, 0, "h"], - [4164, 0, "i"], - [4165, 0, "c"], - [4166, 0, "h"], - [4167, 0, " "], - [4168, 0, "w"], - [4169, 0, "e"], - [4170, 0, " "], - [4171, 0, "p"], - [4172, 0, "l"], - [4173, 0, "a"], - [4174, 0, "n"], - [4175, 0, " "], - [4176, 0, "t"], - [4177, 0, "o"], - [4178, 0, " "], - [4179, 0, "u"], - [4180, 0, "s"], - [4181, 0, "e"], - [4182, 0, " "], - [4183, 0, "f"], - [4184, 0, "o"], - [4185, 0, "r"], - [4186, 0, " "], - [4187, 0, "e"], - [4188, 0, "n"], - [4189, 0, "c"], - [4190, 0, "r"], - [4191, 0, "y"], - [4192, 0, "p"], - [4193, 0, "t"], - [4194, 0, "e"], - [4195, 0, "d"], - [4196, 0, " "], - [4197, 0, "c"], - [4198, 0, "o"], - [4199, 0, "l"], - [4200, 0, "l"], - [4201, 0, "a"], - [4202, 0, "b"], - [4203, 0, "o"], - [4204, 0, "r"], - [4205, 0, "a"], - [4206, 0, "t"], - [4207, 0, "i"], - [4208, 0, "o"], - [4209, 0, "n"], - [4210, 0, ","], - [4211, 0, " "], - [4212, 0, "d"], - [4213, 0, "o"], - [4214, 0, " "], - [4215, 0, "n"], - [4216, 0, "o"], - [4217, 0, "t"], - [4218, 0, " "], - [4219, 0, "g"], - [4220, 0, "u"], - [4221, 0, "a"], - [4222, 0, "r"], - [4223, 0, "a"], - [4224, 0, "n"], - [4225, 0, "t"], - [4226, 0, "e"], - [4227, 0, "e"], - [4228, 0, " "], - [4229, 0, "t"], - [4230, 0, "h"], - [4231, 0, "e"], - [4232, 0, " "], - [4233, 0, "s"], - [4234, 0, "a"], - [4235, 0, "m"], - [4236, 0, "e"], - [4237, 0, " "], - [4238, 0, "o"], - [4239, 0, "r"], - [4240, 0, "d"], - [4241, 0, "e"], - [4242, 0, "r"], - [4243, 0, "~"], - [4244, 0, "\\"], - [4245, 0, "c"], - [4246, 0, "i"], - [4247, 0, "t"], - [4248, 0, "e"], - [4249, 0, "{"], - [4250, 0, "U"], - [4251, 0, "n"], - [4252, 0, "g"], - [4253, 0, "e"], - [4254, 0, "r"], - [4255, 0, ":"], - [4256, 0, "2"], - [4257, 0, "0"], - [4258, 0, "1"], - [4259, 0, "5"], - [4260, 0, "k"], - [4261, 0, "g"], - [4262, 0, "}"], - [4263, 0, "."], - [4264, 0, " "], - [4265, 0, "A"], - [4266, 0, "l"], - [4267, 0, "t"], - [4268, 0, "h"], - [4269, 0, "o"], - [4270, 0, "u"], - [4271, 0, "g"], - [4272, 0, "h"], - [4273, 0, " "], - [4274, 0, "i"], - [4275, 0, "t"], - [4276, 0, " "], - [4277, 0, "i"], - [4278, 0, "s"], - [4279, 0, " "], - [4280, 0, "p"], - [4281, 0, "o"], - [4282, 0, "s"], - [4283, 0, "s"], - [4284, 0, "i"], - [4285, 0, "b"], - [4286, 0, "l"], - [4287, 0, "e"], - [4288, 0, " "], - [4289, 0, "t"], - [4290, 0, "o"], - [4291, 0, " "], - [4292, 0, "d"], - [4293, 0, "c"], - [4294, 0, "a"], - [4295, 0, "s"], - [4296, 0, "t"], - [4297, 0, " "], - [4298, 0, "p"], - [4299, 0, "r"], - [4300, 0, "o"], - [4301, 0, "t"], - [4302, 0, "o"], - [4303, 0, "c"], - [4304, 0, "o"], - [4305, 0, "l"], - [4306, 0, "~"], - [4307, 0, "\\"], - [4308, 0, "c"], - [4309, 0, "i"], - [4310, 0, "t"], - [4311, 0, "e"], - [4312, 0, "{"], - [4313, 0, "D"], - [4314, 0, "e"], - [4315, 0, "f"], - [4316, 0, "a"], - [4317, 0, "g"], - [4318, 0, "o"], - [4319, 0, ":"], - [4320, 0, "2"], - [4321, 0, "0"], - [4322, 0, "0"], - [4323, 0, "4"], - [4324, 0, "j"], - [4325, 0, "i"], - [4326, 0, "}"], - [4327, 0, ","], - [4328, 0, " "], - [4329, 0, "w"], - [4330, 0, "h"], - [4331, 0, "i"], - [4332, 0, "c"], - [4333, 0, "h"], - [4334, 0, " "], - [4335, 0, "a"], - [4336, 0, "v"], - [4337, 0, "o"], - [4338, 0, "i"], - [4339, 0, "d"], - [4340, 0, "s"], - [4341, 0, " "], - [4342, 0, "r"], - [4343, 0, "e"], - [4344, 0, "l"], - [4345, 0, "y"], - [4346, 0, "i"], - [4347, 0, "n"], - [4348, 0, "g"], - [4349, 0, " "], - [4350, 0, "o"], - [4351, 0, "n"], - [4352, 0, " "], - [4353, 0, "a"], - [4354, 0, " "], - [4355, 0, "s"], - [4356, 0, "C"], - [4357, 0, "h"], - [4358, 0, "a"], - [4359, 0, "n"], - [4360, 0, "d"], - [4361, 0, "r"], - [4362, 0, "a"], - [4363, 0, ":"], - [4364, 0, "1"], - [4365, 0, "9"], - [4366, 0, "9"], - [4367, 0, "6"], - [4368, 0, "c"], - [4369, 0, "p"], - [4370, 0, "}"], - [4371, 0, ","], - [4372, 0, " "], - [4373, 0, "s"], - [4374, 0, "o"], - [4375, 0, " "], - [4376, 0, "t"], - [4377, 0, "h"], - [4378, 0, "e"], - [4379, 0, "y"], - [4380, 0, " "], - [4381, 0, "c"], - [4382, 0, "a"], - [4383, 0, "n"], - [4384, 0, " "], - [4385, 0, "o"], - [4386, 0, "n"], - [4387, 0, "l"], - [4388, 0, "y"], - [4389, 0, " "], - [4390, 0, "s"], - [4391, 0, "a"], - [4392, 0, "f"], - [4393, 0, "e"], - [4394, 0, "l"], - [4395, 0, "y"], - [4396, 0, " "], - [4397, 0, "m"], - [4398, 0, "a"], - [4399, 0, "k"], - [4400, 0, "e"], - [4401, 0, " "], - [4402, 0, "p"], - [4403, 0, "r"], - [4404, 0, "o"], - [4405, 0, "g"], - [4406, 0, "r"], - [4407, 0, "e"], - [4408, 0, "s"], - [4409, 0, "s"], - [4410, 0, " "], - [4411, 0, "i"], - [4412, 0, "f"], - [4413, 0, " "], - [4414, 0, "a"], - [4415, 0, " "], - [4416, 0, "m"], - [4417, 0, "a"], - [4418, 0, "j"], - [4419, 0, "o"], - [4420, 0, "n"], - [4421, 0, " "], - [4422, 0, "p"], - [4423, 0, "e"], - [4424, 0, "e"], - [4425, 0, "r"], - [4426, 0, "-"], - [4427, 0, "t"], - [4428, 0, "o"], - [4429, 0, "-"], - [4430, 0, "p"], - [4431, 0, "e"], - [4432, 0, "e"], - [4433, 0, "r"], - [4434, 0, " "], - [4435, 0, "s"], - [4436, 0, "y"], - [4437, 0, "s"], - [4438, 0, "t"], - [4439, 0, "e"], - [4440, 0, "m"], - [4441, 0, "s"], - [4442, 0, " "], - [4443, 0, "o"], - [4444, 0, "f"], - [4445, 0, " "], - [4446, 0, "m"], - [4447, 0, "o"], - [4448, 0, "b"], - [4449, 0, "i"], - [4450, 0, "l"], - [4451, 0, "e"], - [4452, 0, " "], - [4453, 0, "d"], - [4454, 0, "e"], - [4455, 0, "v"], - [4456, 0, "i"], - [4457, 0, "c"], - [4458, 0, "e"], - [4459, 0, "s"], - [4460, 0, " "], - [4461, 0, "i"], - [4462, 0, "t"], - [4463, 0, " "], - [4464, 0, "w"], - [4465, 0, "i"], - [4466, 0, "l"], - [4467, 0, "l"], - [4468, 0, " "], - [4469, 0, "f"], - [4470, 0, "r"], - [4471, 0, "e"], - [4472, 0, "q"], - [4473, 0, "u"], - [4474, 0, "e"], - [4475, 0, "n"], - [4476, 0, "t"], - [4477, 0, "l"], - [4478, 0, "y"], - [4479, 0, " "], - [4480, 0, "b"], - [4481, 0, "e"], - [4482, 0, " "], - [4483, 0, "t"], - [4484, 0, "a"], - [4485, 0, "m"], - [4486, 0, "e"], - [4487, 0, " "], - [4488, 0, "t"], - [4489, 0, "i"], - [4490, 0, "m"], - [4491, 0, "e"], - [4492, 0, ","], - [4493, 0, " "], - [4494, 0, "a"], - [4495, 0, "n"], - [4496, 0, "d"], - [4497, 0, " "], - [4498, 0, "s"], - [4499, 0, "o"], - [4500, 0, " "], - [4501, 0, "a"], - [4502, 0, "n"], - [4503, 0, "y"], - [4504, 0, " "], - [4505, 0, "a"], - [4506, 0, "l"], - [4507, 0, "g"], - [4508, 0, "o"], - [4509, 0, "r"], - [4510, 0, "i"], - [4511, 0, "t"], - [4512, 0, "h"], - [4513, 0, "m"], - [4514, 0, " "], - [4515, 0, "r"], - [4516, 0, "b"], - [4517, 0, "e"], - [4518, 0, "c"], - [4519, 0, "o"], - [4520, 0, "m"], - [4521, 0, "e"], - [4522, 0, " "], - [4523, 0, "u"], - [4524, 0, "n"], - [4525, 0, "a"], - [4526, 0, "v"], - [4527, 0, "a"], - [4528, 0, "i"], - [4529, 0, "l"], - [4530, 0, "a"], - [4531, 0, "b"], - [4532, 0, "l"], - [4533, 0, "e"], - [4534, 0, "."], - [4535, 0, " "], - [4536, 0, "T"], - [4537, 0, "h"], - [4538, 0, "e"], - [4539, 0, " "], - [4540, 0, "s"], - [4541, 0, "t"], - [4542, 0, "r"], - [4543, 0, "o"], - [4544, 0, "n"], - [4545, 0, "g"], - [4546, 0, "e"], - [4547, 0, "s"], - [4548, 0, "t"], - [4549, 0, " "], - [4550, 0, "g"], - [4551, 0, "u"], - [4552, 0, "a"], - [4553, 0, "r"], - [4554, 0, "a"], - [4555, 0, "r"], - [4556, 0, "a"], - [4557, 0, "n"], - [4558, 0, "t"], - [4559, 0, "e"], - [4560, 0, "e"], - [4561, 0, " "], - [4562, 0, "s"], - [4563, 0, "u"], - [4564, 0, "c"], - [4565, 0, "h"], - [4566, 0, " "], - [4567, 0, "a"], - [4568, 0, " "], - [4569, 0, "s"], - [4570, 0, "y"], - [4571, 0, "s"], - [4572, 0, "t"], - [4573, 0, "e"], - [4574, 0, "m"], - [4575, 0, " "], - [4576, 0, "c"], - [4577, 0, "a"], - [4578, 0, "n"], - [4579, 0, " "], - [4580, 0, "m"], - [4581, 0, "e"], - [4582, 0, " "], - [4583, 0, "A"], - [4584, 0, "P"], - [4585, 0, "I"], - [4586, 0, "~"], - [4587, 0, "\\"], - [4588, 0, "c"], - [4589, 0, "i"], - [4590, 0, "t"], - [4591, 0, "e"], - [4592, 0, "{"], - [4593, 0, "G"], - [4594, 0, "o"], - [4595, 0, "o"], - [4596, 0, "g"], - [4597, 0, "l"], - [4598, 0, "e"], - [4599, 0, ":"], - [4600, 0, "2"], - [4601, 0, "0"], - [4602, 0, "1"], - [4603, 0, "5"], - [4604, 0, "v"], - [4605, 0, "k"], - [4606, 0, "}"], - [4607, 0, " "], - [4608, 0, "i"], - [4609, 0, "s"], - [4610, 0, " "], - [4611, 0, "t"], - [4612, 0, "h"], - [4613, 0, "e"], - [4614, 0, " "], - [4615, 0, "o"], - [4616, 0, "n"], - [4617, 0, "l"], - [4618, 0, "y"], - [4619, 0, " "], - [4620, 0, "i"], - [4621, 0, "m"], - [4622, 0, "p"], - [4623, 0, "l"], - [4624, 0, "e"], - [4625, 0, "m"], - [4626, 0, "e"], - [4627, 0, "n"], - [4628, 0, "t"], - [4629, 0, "a"], - [4630, 0, "t"], - [4631, 0, "i"], - [4632, 0, "o"], - [4633, 0, "n"], - [4634, 0, " "], - [4635, 0, "o"], - [4636, 0, "f"], - [4637, 0, " "], - [4638, 0, "O"], - [4639, 0, "T"], - [4640, 0, " "], - [4641, 0, "o"], - [4642, 0, "f"], - [4643, 0, " "], - [4644, 0, "w"], - [4645, 0, "h"], - [4646, 0, "i"], - [4647, 0, "c"], - [4648, 0, "h"], - [4649, 0, " "], - [4650, 0, "w"], - [4651, 0, "e"], - [4652, 0, " "], - [4653, 0, "a"], - [4654, 0, "w"], - [4655, 0, "a"], - [4656, 0, "r"], - [4657, 0, "e"], - [4658, 0, " "], - [4659, 0, "t"], - [4660, 0, "h"], - [4661, 0, "a"], - [4662, 0, "t"], - [4663, 0, " "], - [4664, 0, "s"], - [4665, 0, "u"], - [4666, 0, "p"], - [4667, 0, "p"], - [4668, 0, "o"], - [4669, 0, "r"], - [4670, 0, "t"], - [4671, 0, "s"], - [4672, 0, " "], - [4673, 0, "a"], - [4674, 0, "r"], - [4675, 0, "b"], - [4676, 0, "i"], - [4677, 0, "t"], - [4678, 0, "r"], - [4679, 0, "a"], - [4680, 0, "r"], - [4681, 0, "y"], - [4682, 0, " "], - [4683, 0, "n"], - [4684, 0, "e"], - [4685, 0, "s"], - [4686, 0, "t"], - [4687, 0, "i"], - [4688, 0, "n"], - [4689, 0, "g"], - [4690, 0, " "], - [4691, 0, "o"], - [4692, 0, "f"], - [4693, 0, " "], - [4694, 0, "l"], - [4695, 0, "i"], - [4696, 0, "s"], - [4697, 0, "t"], - [4698, 0, "s"], - [4699, 0, " "], - [4700, 0, "a"], - [4701, 0, "n"], - [4702, 0, "d"], - [4703, 0, " "], - [4704, 0, "m"], - [4705, 0, "a"], - [4706, 0, "p"], - [4707, 0, "s"], - [4708, 0, "."], - [4709, 0, " "], - [4710, 0, "L"], - [4711, 0, "i"], - [4712, 0, "k"], - [4713, 0, "e"], - [4714, 0, " "], - [4715, 0, "G"], - [4716, 0, "o"], - [4717, 0, "o"], - [4718, 0, "g"], - [4719, 0, "l"], - [4720, 0, "e"], - [4721, 0, " "], - [4722, 0, "D"], - [4723, 0, "o"], - [4724, 0, "c"], - [4725, 0, "s"], - [4726, 0, ","], - [4727, 0, " "], - [4728, 0, "i"], - [4729, 0, "t"], - [4730, 0, " "], - [4731, 0, "r"], - [4732, 0, "e"], - [4733, 0, "l"], - [4734, 0, "i"], - [4735, 0, "e"], - [4736, 0, "s"], - [4737, 0, " "], - [4738, 0, "o"], - [4739, 0, "n"], - [4740, 0, " "], - [4741, 0, "a"], - [4742, 0, " "], - [4743, 0, "s"], - [4744, 0, "i"], - [4745, 0, "n"], - [4746, 0, "g"], - [4747, 0, "l"], - [4748, 0, "e"], - [4749, 0, " "], - [4750, 0, "s"], - [4751, 0, "e"], - [4752, 0, "r"], - [4753, 0, "v"], - [4754, 0, "e"], - [4755, 0, "r"], - [4756, 0, "~"], - [4757, 0, "\\"], - [4758, 0, "c"], - [4759, 0, "i"], - [4760, 0, "t"], - [4761, 0, "e"], - [4762, 0, "{"], - [4763, 0, "L"], - [4764, 0, "e"], - [4765, 0, "m"], - [4766, 0, "o"], - [4767, 0, "n"], - [4768, 0, "i"], - [4769, 0, "k"], - [4770, 0, ":"], - [4771, 0, "2"], - [4772, 0, "0"], - [4773, 0, "1"], - [4774, 0, "6"], - [4775, 0, "w"], - [4776, 0, "h"], - [4777, 0, "}"], - [4778, 0, "."], - [4779, 0, " "], - [4780, 0, "A"], - [4781, 0, "s"], - [4782, 0, " "], - [4783, 0, "a"], - [4784, 0, " "], - [4785, 0, "p"], - [4786, 0, "r"], - [4787, 0, "o"], - [4788, 0, "p"], - [4789, 0, "r"], - [4790, 0, "i"], - [4791, 0, "e"], - [4792, 0, "t"], - [4793, 0, "a"], - [4794, 0, "r"], - [4795, 0, "y"], - [4796, 0, " "], - [4797, 0, "p"], - [4798, 0, "r"], - [4799, 0, "o"], - [4800, 0, "d"], - [4801, 0, "u"], - [4802, 0, "c"], - [4803, 0, "t"], - [4804, 0, ","], - [4805, 0, " "], - [4806, 0, "d"], - [4807, 0, "e"], - [4808, 0, "t"], - [4809, 0, "a"], - [4810, 0, "i"], - [4811, 0, "l"], - [4812, 0, "s"], - [4813, 0, " "], - [4814, 0, "o"], - [4815, 0, "f"], - [4816, 0, " "], - [4817, 0, "i"], - [4818, 0, "t"], - [4819, 0, "s"], - [4820, 0, " "], - [4821, 0, "a"], - [4822, 0, "l"], - [4823, 0, "g"], - [4824, 0, "o"], - [4825, 0, "r"], - [4826, 0, "i"], - [4827, 0, "t"], - [4828, 0, "h"], - [4829, 0, "m"], - [4830, 0, "s"], - [4831, 0, " "], - [4832, 0, "h"], - [4833, 0, "a"], - [4834, 0, "v"], - [4835, 0, "e"], - [4836, 0, " "], - [4837, 0, "n"], - [4838, 0, "o"], - [4839, 0, "t"], - [4840, 0, " "], - [4841, 0, "b"], - [4842, 0, "e"], - [4843, 0, "e"], - [4844, 0, "n"], - [4845, 0, " "], - [4846, 0, "p"], - [4847, 0, "u"], - [4848, 0, "b"], - [4849, 0, "l"], - [4850, 0, "i"], - [4851, 0, "s"], - [4852, 0, "h"], - [4853, 0, "e"], - [4854, 0, "d"], - [4855, 0, "."], - [4855, 1], - [4854, 1], - [4853, 1], - [4852, 1], - [4851, 1], - [4850, 1], - [4849, 1], - [4848, 1], - [4847, 1], - [4846, 1], - [4845, 1], - [4844, 1], - [4843, 1], - [4842, 1], - [4841, 1], - [4840, 1], - [4839, 1], - [4838, 1], - [4837, 1], - [4836, 1], - [4835, 1], - [4834, 1], - [4833, 1], - [4832, 1], - [4831, 1], - [4830, 1], - [4829, 1], - [4828, 1], - [4827, 1], - [4826, 1], - [4825, 1], - [4824, 1], - [4823, 1], - [4822, 1], - [4821, 1], - [4820, 1], - [4819, 1], - [4818, 1], - [4817, 1], - [4816, 1], - [4815, 1], - [4814, 1], - [4813, 1], - [4812, 1], - [4811, 1], - [4810, 1], - [4809, 1], - [4808, 1], - [4807, 1], - [4806, 1], - [4805, 1], - [4804, 1], - [4803, 1], - [4802, 1], - [4801, 1], - [4800, 1], - [4799, 1], - [4798, 1], - [4797, 1], - [4796, 1], - [4795, 1], - [4794, 1], - [4793, 1], - [4792, 1], - [4791, 1], - [4790, 1], - [4789, 1], - [4788, 1], - [4787, 1], - [4786, 1], - [4785, 1], - [4784, 1], - [4783, 1], - [4782, 1], - [4781, 1], - [4780, 1], - [4779, 1], - [4778, 1], - [4777, 1], - [4776, 1], - [4775, 1], - [4774, 1], - [4773, 1], - [4772, 1], - [4771, 1], - [4770, 1], - [4769, 1], - [4768, 1], - [4767, 1], - [4766, 1], - [4765, 1], - [4764, 1], - [4763, 1], - [4762, 1], - [4761, 1], - [4760, 1], - [4759, 1], - [4758, 1], - [4757, 1], - [4756, 1], - [4755, 1], - [4754, 1], - [4753, 1], - [4752, 1], - [4751, 1], - [4750, 1], - [4749, 1], - [4748, 1], - [4747, 1], - [4746, 1], - [4745, 1], - [4744, 1], - [4743, 1], - [4742, 1], - [4741, 1], - [4740, 1], - [4739, 1], - [4738, 1], - [4737, 1], - [4736, 1], - [4735, 1], - [4734, 1], - [4733, 1], - [4732, 1], - [4731, 1], - [4730, 1], - [4729, 1], - [4728, 1], - [4727, 1], - [4726, 1], - [4725, 1], - [4724, 1], - [4723, 1], - [4722, 1], - [4721, 1], - [4720, 1], - [4719, 1], - [4718, 1], - [4717, 1], - [4716, 1], - [4715, 1], - [4714, 1], - [4713, 1], - [4712, 1], - [4711, 1], - [4710, 1], - [4709, 1], - [4708, 1], - [4707, 1], - [4706, 1], - [4705, 1], - [4704, 1], - [4703, 1], - [4702, 1], - [4701, 1], - [4700, 1], - [4699, 1], - [4698, 1], - [4697, 1], - [4696, 1], - [4695, 1], - [4694, 1], - [4693, 1], - [4692, 1], - [4691, 1], - [4690, 1], - [4689, 1], - [4688, 1], - [4687, 1], - [4686, 1], - [4685, 1], - [4684, 1], - [4683, 1], - [4682, 1], - [4681, 1], - [4680, 1], - [4679, 1], - [4678, 1], - [4677, 1], - [4676, 1], - [4675, 1], - [4674, 1], - [4673, 1], - [4672, 1], - [4671, 1], - [4670, 1], - [4669, 1], - [4668, 1], - [4667, 1], - [4666, 1], - [4665, 1], - [4664, 1], - [4663, 1], - [4662, 1], - [4661, 1], - [4660, 1], - [4659, 1], - [4658, 1], - [4657, 1], - [4656, 1], - [4655, 1], - [4654, 1], - [4653, 1], - [4652, 1], - [4651, 1], - [4650, 1], - [4649, 1], - [4648, 1], - [4647, 1], - [4646, 1], - [4645, 1], - [4644, 1], - [4643, 1], - [4642, 1], - [4641, 1], - [4640, 1], - [4639, 1], - [4638, 1], - [4637, 1], - [4636, 1], - [4635, 1], - [4634, 1], - [4633, 1], - [4632, 1], - [4631, 1], - [4630, 1], - [4629, 1], - [4628, 1], - [4627, 1], - [4626, 1], - [4625, 1], - [4624, 1], - [4623, 1], - [4622, 1], - [4621, 1], - [4620, 1], - [4619, 1], - [4618, 1], - [4617, 1], - [4616, 1], - [4615, 1], - [4614, 1], - [4613, 1], - [4612, 1], - [4611, 1], - [4610, 1], - [4609, 1], - [4608, 1], - [4607, 1], - [4606, 1], - [4605, 1], - [4604, 1], - [4603, 1], - [4602, 1], - [4601, 1], - [4600, 1], - [4599, 1], - [4598, 1], - [4597, 1], - [4596, 1], - [4595, 1], - [4594, 1], - [4593, 1], - [4592, 1], - [4591, 1], - [4590, 1], - [4589, 1], - [4588, 1], - [4587, 1], - [4586, 1], - [4585, 1], - [4584, 1], - [4583, 1], - [4582, 1], - [4581, 1], - [4580, 1], - [4579, 1], - [4578, 1], - [4577, 1], - [4576, 1], - [4575, 1], - [4574, 1], - [4573, 1], - [4572, 1], - [4571, 1], - [4570, 1], - [4569, 1], - [4568, 1], - [4567, 1], - [4566, 1], - [4565, 1], - [4564, 1], - [4563, 1], - [4562, 1], - [4561, 1], - [4560, 1], - [4559, 1], - [4558, 1], - [4557, 1], - [4556, 1], - [4555, 1], - [4554, 1], - [4553, 1], - [4552, 1], - [4551, 1], - [4550, 1], - [4549, 1], - [4548, 1], - [4547, 1], - [4546, 1], - [4545, 1], - [4544, 1], - [4543, 1], - [4542, 1], - [4541, 1], - [4540, 1], - [4539, 1], - [4538, 1], - [4537, 1], - [4536, 1], - [4535, 1], - [4534, 1], - [4533, 1], - [4532, 1], - [4531, 1], - [4530, 1], - [4529, 1], - [4528, 1], - [4527, 1], - [4526, 1], - [4525, 1], - [4524, 1], - [4523, 1], - [4522, 1], - [4521, 1], - [4520, 1], - [4519, 1], - [4518, 1], - [4517, 1], - [4516, 1], - [4515, 1], - [4514, 1], - [4513, 1], - [4512, 1], - [4511, 1], - [4510, 1], - [4509, 1], - [4508, 1], - [4507, 1], - [4506, 1], - [4505, 1], - [4504, 1], - [4503, 1], - [4502, 1], - [4501, 1], - [4500, 1], - [4499, 1], - [4498, 1], - [4497, 1], - [4496, 1], - [4495, 1], - [4494, 1], - [4493, 1], - [4492, 1], - [4491, 1], - [4490, 1], - [4489, 1], - [4488, 1], - [4487, 1], - [4486, 1], - [4485, 1], - [4484, 1], - [4483, 1], - [4482, 1], - [4481, 1], - [4480, 1], - [4479, 1], - [4478, 1], - [4477, 1], - [4476, 1], - [4475, 1], - [4474, 1], - [4473, 1], - [4472, 1], - [4471, 1], - [4470, 1], - [4469, 1], - [4468, 1], - [4467, 1], - [4466, 1], - [4465, 1], - [4464, 1], - [4463, 1], - [4462, 1], - [4461, 1], - [4460, 1], - [4459, 1], - [4458, 1], - [4457, 1], - [4456, 1], - [4455, 1], - [4454, 1], - [4453, 1], - [4452, 1], - [4451, 1], - [4450, 1], - [4449, 1], - [4448, 1], - [4447, 1], - [4446, 1], - [4445, 1], - [4444, 1], - [4443, 1], - [4442, 1], - [4441, 1], - [4440, 1], - [4439, 1], - [4438, 1], - [4437, 1], - [4436, 1], - [4435, 1], - [4434, 1], - [4433, 1], - [4432, 1], - [4431, 1], - [4430, 1], - [4429, 1], - [4428, 1], - [4427, 1], - [4426, 1], - [4425, 1], - [4424, 1], - [4423, 1], - [4422, 1], - [4421, 1], - [4420, 1], - [4419, 1], - [4418, 1], - [4417, 1], - [4416, 1], - [4415, 1], - [4414, 1], - [4413, 1], - [4412, 1], - [4411, 1], - [4410, 1], - [4409, 1], - [4408, 1], - [4407, 1], - [4406, 1], - [4405, 1], - [4404, 1], - [4403, 1], - [4402, 1], - [4401, 1], - [4400, 1], - [4399, 1], - [4398, 1], - [4397, 1], - [4396, 1], - [4395, 1], - [4394, 1], - [4393, 1], - [4392, 1], - [4391, 1], - [4390, 1], - [4389, 1], - [4388, 1], - [4387, 1], - [4386, 1], - [4385, 1], - [4384, 1], - [4383, 1], - [4382, 1], - [4381, 1], - [4380, 1], - [4379, 1], - [4378, 1], - [4377, 1], - [4376, 1], - [4375, 1], - [4374, 1], - [4373, 1], - [4372, 1], - [4371, 1], - [4370, 1], - [4369, 1], - [4368, 1], - [4367, 1], - [4366, 1], - [4365, 1], - [4364, 1], - [4363, 1], - [4362, 1], - [4361, 1], - [4360, 1], - [4359, 1], - [4358, 1], - [4357, 1], - [4356, 1], - [4355, 1], - [4354, 1], - [4353, 1], - [4352, 1], - [4351, 1], - [4350, 1], - [4349, 1], - [4348, 1], - [4347, 1], - [4346, 1], - [4345, 1], - [4344, 1], - [4343, 1], - [4342, 1], - [4341, 1], - [4340, 1], - [4339, 1], - [4338, 1], - [4337, 1], - [4336, 1], - [4335, 1], - [4334, 1], - [4333, 1], - [4332, 1], - [4331, 1], - [4330, 1], - [4329, 1], - [4328, 1], - [4327, 1], - [4326, 1], - [4325, 1], - [4324, 1], - [4323, 1], - [4322, 1], - [4321, 1], - [4320, 1], - [4319, 1], - [4318, 1], - [4317, 1], - [4316, 1], - [4315, 1], - [4314, 1], - [4313, 1], - [4312, 1], - [4311, 1], - [4310, 1], - [4309, 1], - [4308, 1], - [4307, 1], - [4306, 1], - [4305, 1], - [4304, 1], - [4303, 1], - [4302, 1], - [4301, 1], - [4300, 1], - [4299, 1], - [4298, 1], - [4297, 1], - [4296, 1], - [4295, 1], - [4294, 1], - [4293, 1], - [4292, 1], - [4291, 1], - [4290, 1], - [4289, 1], - [4288, 1], - [4287, 1], - [4286, 1], - [4285, 1], - [4284, 1], - [4283, 1], - [4282, 1], - [4281, 1], - [4280, 1], - [4279, 1], - [4278, 1], - [4277, 1], - [4276, 1], - [4275, 1], - [4274, 1], - [4273, 1], - [4272, 1], - [4271, 1], - [4270, 1], - [4269, 1], - [4268, 1], - [4267, 1], - [4266, 1], - [4265, 1], - [4264, 1], - [4263, 1], - [4262, 1], - [4261, 1], - [4260, 1], - [4259, 1], - [4258, 1], - [4257, 1], - [4256, 1], - [4255, 1], - [4254, 1], - [4253, 1], - [4252, 1], - [4251, 1], - [4250, 1], - [4249, 1], - [4248, 1], - [4247, 1], - [4246, 1], - [4245, 1], - [4244, 1], - [4243, 1], - [4242, 1], - [4241, 1], - [4240, 1], - [4239, 1], - [4238, 1], - [4237, 1], - [4236, 1], - [4235, 1], - [4234, 1], - [4233, 1], - [4232, 1], - [4231, 1], - [4230, 1], - [4229, 1], - [4228, 1], - [4227, 1], - [4226, 1], - [4225, 1], - [4224, 1], - [4223, 1], - [4222, 1], - [4221, 1], - [4220, 1], - [4219, 1], - [4218, 1], - [4217, 1], - [4216, 1], - [4215, 1], - [4214, 1], - [4213, 1], - [4212, 1], - [4211, 1], - [4210, 1], - [4209, 1], - [4208, 1], - [4207, 1], - [4206, 1], - [4205, 1], - [4204, 1], - [4203, 1], - [4202, 1], - [4201, 1], - [4200, 1], - [4199, 1], - [4198, 1], - [4197, 1], - [4196, 1], - [4195, 1], - [4194, 1], - [4193, 1], - [4192, 1], - [4191, 1], - [4190, 1], - [4189, 1], - [4188, 1], - [4187, 1], - [4186, 1], - [4185, 1], - [4184, 1], - [4183, 1], - [4182, 1], - [4181, 1], - [4180, 1], - [4179, 1], - [4178, 1], - [4177, 1], - [4176, 1], - [4175, 1], - [4174, 1], - [4173, 1], - [4172, 1], - [4171, 1], - [4170, 1], - [4169, 1], - [4168, 1], - [4167, 1], - [4166, 1], - [4165, 1], - [4164, 1], - [4163, 1], - [4162, 1], - [4161, 1], - [4160, 1], - [4159, 1], - [4158, 1], - [4157, 1], - [4156, 1], - [4155, 1], - [4154, 1], - [4153, 1], - [4152, 1], - [4151, 1], - [4150, 1], - [4149, 1], - [4148, 1], - [4147, 1], - [4146, 1], - [4145, 1], - [4144, 1], - [4143, 1], - [4142, 1], - [4141, 1], - [4140, 1], - [4139, 1], - [4138, 1], - [4137, 1], - [4136, 1], - [4135, 1], - [4134, 1], - [4133, 1], - [4132, 1], - [4131, 1], - [4130, 1], - [4129, 1], - [4128, 1], - [4127, 1], - [4126, 1], - [4125, 1], - [4124, 1], - [4123, 1], - [4122, 1], - [4121, 1], - [4120, 1], - [4119, 1], - [4118, 1], - [4117, 1], - [4116, 1], - [4115, 1], - [4114, 1], - [4113, 1], - [4112, 1], - [4111, 1], - [4110, 1], - [4109, 1], - [4108, 1], - [4107, 1], - [4106, 1], - [4105, 1], - [4104, 1], - [4103, 1], - [4102, 1], - [4101, 1], - [4100, 1], - [4099, 1], - [4098, 1], - [4097, 1], - [4096, 1], - [4095, 1], - [4094, 1], - [4093, 1], - [4092, 1], - [4091, 1], - [4090, 1], - [4089, 1], - [4088, 1], - [4087, 1], - [4086, 1], - [4085, 1], - [4084, 1], - [4083, 1], - [4082, 1], - [4081, 1], - [4080, 1], - [4079, 1], - [4078, 1], - [4077, 1], - [4076, 1], - [4075, 1], - [4074, 1], - [4073, 1], - [4072, 1], - [4071, 1], - [4070, 1], - [4069, 1], - [4068, 1], - [4067, 1], - [4066, 1], - [4065, 1], - [4064, 1], - [4063, 1], - [4062, 1], - [4061, 1], - [4060, 1], - [4059, 1], - [4058, 1], - [4057, 1], - [4056, 1], - [4055, 1], - [4054, 1], - [4053, 1], - [4052, 1], - [4051, 1], - [4050, 1], - [4049, 1], - [4048, 1], - [4047, 1], - [4046, 1], - [4045, 1], - [4044, 1], - [4043, 1], - [4042, 1], - [4041, 1], - [4040, 1], - [4039, 1], - [4038, 1], - [4037, 1], - [4036, 1], - [4035, 1], - [4034, 1], - [4033, 1], - [4032, 1], - [4031, 1], - [4030, 1], - [4029, 1], - [4028, 1], - [4027, 1], - [4026, 1], - [4025, 1], - [4024, 1], - [4023, 1], - [4022, 1], - [4021, 1], - [4020, 1], - [4019, 1], - [4018, 1], - [4017, 1], - [4016, 1], - [4015, 1], - [4014, 1], - [4013, 1], - [4012, 1], - [4011, 1], - [4010, 1], - [4009, 1], - [4008, 1], - [4007, 1], - [4006, 1], - [4005, 1], - [4004, 1], - [4003, 1], - [4002, 1], - [4001, 1], - [4000, 1], - [3999, 1], - [3998, 1], - [3997, 1], - [3996, 1], - [3995, 1], - [3994, 1], - [3993, 1], - [3992, 1], - [3991, 1], - [3990, 1], - [3989, 1], - [3988, 1], - [3987, 1], - [3986, 1], - [3985, 1], - [3984, 1], - [3983, 1], - [3982, 1], - [3981, 1], - [3980, 1], - [3979, 1], - [3978, 1], - [3977, 1], - [3976, 1], - [3975, 1], - [3974, 1], - [3973, 1], - [3972, 1], - [3971, 1], - [3970, 1], - [3969, 1], - [3968, 1], - [3967, 1], - [3966, 1], - [3965, 1], - [3964, 1], - [3963, 1], - [3962, 1], - [3961, 1], - [3960, 1], - [3959, 1], - [3958, 1], - [3957, 1], - [3956, 1], - [3955, 1], - [3954, 1], - [3953, 1], - [3952, 1], - [3951, 1], - [3950, 1], - [3949, 1], - [3948, 1], - [3947, 1], - [3946, 1], - [3945, 1], - [3944, 1], - [3943, 1], - [3942, 1], - [3941, 1], - [3940, 1], - [3939, 1], - [3938, 1], - [3937, 1], - [3936, 1], - [3935, 1], - [3934, 1], - [3933, 1], - [3932, 1], - [3931, 1], - [3930, 1], - [3929, 1], - [3928, 1], - [3927, 1], - [3926, 1], - [3925, 1], - [3924, 1], - [3923, 1], - [3922, 1], - [3921, 1], - [3920, 1], - [3919, 1], - [3918, 1], - [3917, 1], - [3916, 1], - [3915, 1], - [3914, 1], - [3913, 1], - [3912, 1], - [3911, 1], - [3910, 1], - [3909, 1], - [3908, 1], - [3907, 1], - [3906, 1], - [3905, 1], - [3904, 1], - [3903, 1], - [3902, 1], - [3901, 1], - [3900, 1], - [3899, 1], - [3898, 1], - [3897, 1], - [3896, 1], - [3895, 1], - [3894, 1], - [3893, 1], - [3892, 1], - [3891, 1], - [3890, 1], - [3889, 1], - [3888, 1], - [3887, 1], - [3886, 1], - [3885, 1], - [3884, 1], - [3883, 1], - [3882, 1], - [3881, 1], - [3880, 1], - [3879, 1], - [3878, 1], - [3877, 1], - [3876, 1], - [3875, 1], - [3874, 1], - [3873, 1], - [3872, 1], - [3871, 1], - [3870, 1], - [3869, 1], - [3868, 1], - [3867, 1], - [3866, 1], - [3865, 1], - [3864, 1], - [3863, 1], - [3862, 1], - [3861, 1], - [3860, 1], - [3859, 1], - [3858, 1], - [3857, 1], - [3856, 1], - [3855, 1], - [3854, 1], - [3853, 1], - [3852, 1], - [3851, 1], - [3850, 1], - [3849, 1], - [3848, 1], - [3847, 1], - [3846, 1], - [3845, 1], - [3844, 1], - [3843, 1], - [3842, 1], - [3841, 1], - [3840, 1], - [3839, 1], - [3838, 1], - [3837, 1], - [3836, 1], - [3835, 1], - [3834, 1], - [3833, 1], - [3832, 1], - [3831, 1], - [3830, 1], - [3829, 1], - [3828, 1], - [3827, 1], - [3826, 1], - [3825, 1], - [3824, 1], - [3823, 1], - [3822, 1], - [3821, 1], - [3820, 1], - [3819, 1], - [3818, 1], - [3817, 1], - [3816, 1], - [3815, 1], - [3814, 1], - [3813, 1], - [3812, 1], - [3811, 1], - [3810, 1], - [3809, 1], - [3808, 1], - [3807, 1], - [3806, 1], - [3805, 1], - [3804, 1], - [3803, 1], - [3802, 1], - [3801, 1], - [3800, 1], - [3799, 1], - [3798, 1], - [3797, 1], - [3796, 1], - [3795, 1], - [3794, 1], - [3793, 1], - [3792, 1], - [3791, 1], - [3790, 1], - [3789, 1], - [3788, 1], - [3787, 1], - [3786, 1], - [3785, 1], - [3784, 1], - [3783, 1], - [3782, 1], - [3781, 1], - [3780, 1], - [3779, 1], - [3778, 1], - [3777, 1], - [3776, 1], - [3775, 1], - [3774, 1], - [3773, 1], - [3772, 1], - [3771, 1], - [3770, 1], - [3769, 1], - [3768, 1], - [3767, 1], - [3766, 1], - [3765, 1], - [3764, 1], - [3763, 1], - [3762, 1], - [3761, 1], - [3760, 1], - [3759, 1], - [3758, 1], - [3757, 1], - [3756, 1], - [3755, 1], - [3754, 1], - [3753, 1], - [3752, 1], - [3751, 1], - [3750, 1], - [3749, 1], - [3748, 1], - [3747, 1], - [3746, 1], - [3745, 1], - [3744, 1], - [3743, 1], - [3742, 1], - [3741, 1], - [3740, 1], - [3739, 1], - [3738, 1], - [3737, 1], - [3736, 1], - [3735, 1], - [3734, 1], - [3733, 1], - [3732, 1], - [3731, 1], - [3730, 1], - [3729, 1], - [3728, 1], - [3727, 1], - [3726, 1], - [3725, 1], - [3724, 1], - [3723, 1], - [3722, 1], - [3721, 1], - [3720, 1], - [3719, 1], - [3718, 1], - [3717, 1], - [3716, 1], - [3715, 1], - [3714, 1], - [3713, 1], - [3712, 1], - [3711, 1], - [3710, 1], - [3709, 1], - [3708, 1], - [3707, 1], - [3706, 1], - [3705, 1], - [3704, 1], - [3703, 1], - [3702, 1], - [3701, 1], - [3700, 1], - [3699, 1], - [3698, 1], - [3697, 1], - [3696, 1], - [3695, 1], - [3694, 1], - [3693, 1], - [3692, 1], - [3691, 1], - [3690, 1], - [3689, 1], - [3688, 1], - [3687, 1], - [3686, 1], - [3685, 1], - [3684, 1], - [3683, 1], - [3682, 1], - [3681, 1], - [3680, 1], - [3679, 1], - [3678, 1], - [3677, 1], - [3676, 1], - [3675, 1], - [3674, 1], - [3673, 1], - [3672, 1], - [3671, 1], - [3670, 1], - [3669, 1], - [3668, 1], - [3667, 1], - [3666, 1], - [3665, 1], - [3664, 1], - [3663, 1], - [3662, 1], - [3661, 1], - [3660, 1], - [3659, 1], - [3658, 1], - [3657, 1], - [3656, 1], - [3655, 1], - [3654, 1], - [3653, 1], - [3652, 1], - [3651, 1], - [3650, 1], - [3649, 1], - [3648, 1], - [3647, 1], - [3646, 1], - [3645, 1], - [3644, 1], - [3643, 1], - [3642, 1], - [3641, 1], - [3640, 1], - [3639, 1], - [3638, 1], - [3637, 1], - [3636, 1], - [3635, 1], - [3634, 1], - [3633, 1], - [3632, 1], - [3631, 1], - [3630, 1], - [3629, 1], - [3628, 1], - [3627, 1], - [3626, 1], - [3625, 1], - [3624, 1], - [3623, 1], - [3622, 1], - [3621, 1], - [3620, 1], - [3619, 1], - [3618, 1], - [3617, 1], - [3616, 1], - [3615, 1], - [3614, 1], - [3613, 1], - [3612, 1], - [3611, 1], - [3610, 1], - [3609, 1], - [3608, 1], - [3607, 1], - [3606, 1], - [3605, 1], - [3604, 1], - [3603, 1], - [3602, 1], - [3601, 1], - [3600, 1], - [3599, 1], - [3598, 1], - [3597, 1], - [3596, 1], - [3595, 1], - [3594, 1], - [3593, 1], - [3592, 1], - [3591, 1], - [3590, 1], - [3589, 1], - [3588, 1], - [3587, 1], - [3586, 1], - [3585, 1], - [3584, 1], - [3583, 1], - [3582, 1], - [3581, 1], - [3580, 1], - [3579, 1], - [3578, 1], - [3577, 1], - [3576, 1], - [3575, 1], - [3574, 1], - [3573, 1], - [3572, 1], - [3571, 1], - [3570, 1], - [3569, 1], - [3568, 1], - [3567, 1], - [3566, 1], - [3565, 1], - [3564, 1], - [3563, 1], - [3562, 1], - [3561, 1], - [3560, 1], - [3559, 1], - [3558, 1], - [3557, 1], - [3556, 1], - [3555, 1], - [3554, 1], - [3553, 1], - [3552, 1], - [3551, 1], - [3550, 1], - [3549, 1], - [3548, 1], - [3547, 1], - [3546, 1], - [3545, 1], - [3544, 1], - [3543, 1], - [3542, 1], - [3541, 1], - [3540, 1], - [3539, 1], - [3538, 1], - [3537, 1], - [3536, 1], - [3535, 1], - [3534, 1], - [3533, 1], - [3532, 1], - [3531, 1], - [3530, 1], - [3529, 1], - [3528, 1], - [3527, 1], - [3526, 1], - [3525, 1], - [3524, 1], - [3523, 1], - [3522, 1], - [3521, 1], - [3520, 1], - [3519, 1], - [3518, 1], - [3517, 1], - [3516, 1], - [3515, 1], - [3514, 1], - [3513, 1], - [3512, 1], - [3511, 1], - [3510, 1], - [3509, 1], - [3508, 1], - [3507, 1], - [3506, 1], - [3505, 1], - [3504, 1], - [3503, 1], - [3502, 1], - [3501, 1], - [3500, 1], - [3499, 1], - [3498, 1], - [3497, 1], - [3496, 1], - [3495, 1], - [3494, 1], - [3493, 1], - [3492, 1], - [3491, 1], - [3490, 1], - [3489, 1], - [3488, 1], - [3487, 1], - [3486, 1], - [3485, 1], - [3484, 1], - [3483, 1], - [3482, 1], - [3481, 1], - [3480, 1], - [3479, 1], - [3478, 1], - [3477, 1], - [3476, 1], - [3475, 1], - [3474, 1], - [3473, 1], - [3472, 1], - [3471, 1], - [3470, 1], - [3469, 1], - [3468, 1], - [3467, 1], - [3466, 1], - [3465, 1], - [3464, 1], - [3463, 1], - [3462, 1], - [3461, 1], - [3460, 1], - [3460, 0, "\\"], - [3461, 0, "s"], - [3462, 0, "e"], - [3463, 0, "c"], - [3464, 0, "t"], - [3465, 0, "i"], - [3466, 0, "o"], - [3467, 0, "n"], - [3468, 0, "{"], - [3469, 0, "R"], - [3470, 0, "e"], - [3471, 0, "l"], - [3472, 0, "a"], - [3473, 0, "t"], - [3474, 0, "e"], - [3475, 0, "d"], - [3476, 0, "i"], - [3477, 0, "o"], - [3478, 0, "n"], - [3479, 0, "{"], - [3480, 0, "O"], - [3481, 0, "p"], - [3482, 0, "e"], - [3483, 0, "r"], - [3484, 0, "a"], - [3485, 0, "t"], - [3486, 0, "i"], - [3487, 0, "o"], - [3488, 0, "n"], - [3489, 0, "a"], - [3490, 0, "l"], - [3491, 0, " "], - [3492, 0, "t"], - [3493, 0, "r"], - [3494, 0, "a"], - [3495, 0, "n"], - [3496, 0, "s"], - [3497, 0, "f"], - [3498, 0, "o"], - [3499, 0, "r"], - [3500, 0, "m"], - [3501, 0, "a"], - [3502, 0, "t"], - [3503, 0, "i"], - [3504, 0, "o"], - [3505, 0, "n"], - [3506, 0, "}"], - [3507, 0, "\\"], - [3508, 0, "s"], - [3509, 0, " "], - [3510, 0, "b"], - [3511, 0, "a"], - [3512, 0, "s"], - [3513, 0, "e"], - [3514, 0, "d"], - [3515, 0, " "], - [3516, 0, "o"], - [3517, 0, "n"], - [3518, 0, " "], - [3519, 0, "\\"], - [3520, 0, "e"], - [3521, 0, "m"], - [3522, 0, "p"], - [3523, 0, "h"], - [3524, 0, "{"], - [3525, 0, "o"], - [3526, 0, "p"], - [3527, 0, "e"], - [3528, 0, "r"], - [3529, 0, "a"], - [3530, 0, "t"], - [3531, 0, "i"], - [3532, 0, "o"], - [3533, 0, "n"], - [3534, 0, "a"], - [3535, 0, "l"], - [3536, 0, " "], - [3537, 0, "t"], - [3538, 0, "r"], - [3539, 0, "a"], - [3540, 0, "n"], - [3541, 0, "s"], - [3542, 0, "f"], - [3543, 0, "o"], - [3544, 0, "r"], - [3545, 0, "m"], - [3546, 0, "a"], - [3547, 0, "t"], - [3548, 0, "i"], - [3549, 0, "o"], - [3550, 0, "n"], - [3551, 0, "}"], - [3552, 0, " "], - [3553, 0, "("], - [3554, 0, "O"], - [3555, 0, "T"], - [3556, 0, ")"], - [3557, 0, " "], - [3558, 0, "h"], - [3559, 0, "a"], - [3560, 0, "v"], - [3561, 0, "e"], - [3562, 0, " "], - [3563, 0, "l"], - [3564, 0, "o"], - [3565, 0, "n"], - [3566, 0, "g"], - [3567, 0, " "], - [3568, 0, "b"], - [3569, 0, "e"], - [3570, 0, "e"], - [3571, 0, "n"], - [3572, 0, " "], - [3573, 0, "u"], - [3574, 0, "s"], - [3575, 0, "e"], - [3576, 0, "d"], - [3577, 0, " "], - [3578, 0, "f"], - [3579, 0, "o"], - [3580, 0, "r"], - [3581, 0, " "], - [3582, 0, "c"], - [3583, 0, "o"], - [3584, 0, "l"], - [3585, 0, "l"], - [3586, 0, "a"], - [3587, 0, "b"], - [3588, 0, "o"], - [3589, 0, "r"], - [3590, 0, "a"], - [3591, 0, "t"], - [3592, 0, "i"], - [3593, 0, "v"], - [3594, 0, "e"], - [3595, 0, " "], - [3596, 0, "e"], - [3597, 0, "d"], - [3598, 0, "i"], - [3599, 0, "t"], - [3600, 0, "i"], - [3601, 0, "n"], - [3602, 0, "g"], - [3603, 0, " "], - [3604, 0, "d"], - [3605, 0, "o"], - [3606, 0, "c"], - [3607, 0, "u"], - [3608, 0, "m"], - [3609, 0, "e"], - [3610, 0, "n"], - [3611, 0, "t"], - [3612, 0, " "], - [3613, 0, "a"], - [3614, 0, "s"], - [3615, 0, " "], - [3616, 0, "a"], - [3617, 0, " "], - [3618, 0, "s"], - [3619, 0, "i"], - [3620, 0, "s"], - [3621, 0, ","], - [3622, 0, " "], - [3623, 0, "f"], - [3624, 0, "o"], - [3625, 0, "r"], - [3626, 0, " "], - [3627, 0, "e"], - [3628, 0, "x"], - [3629, 0, "a"], - [3630, 0, "m"], - [3631, 0, "p"], - [3632, 0, "l"], - [3633, 0, "e"], - [3634, 0, ")"], - [3635, 0, " "], - [3636, 0, "a"], - [3637, 0, "n"], - [3638, 0, "d"], - [3639, 0, " "], - [3640, 0, "d"], - [3641, 0, "o"], - [3642, 0, " "], - [3643, 0, "n"], - [3644, 0, "o"], - [3645, 0, "t"], - [3646, 0, " "], - [3647, 0, "s"], - [3648, 0, "u"], - [3649, 0, "p"], - [3650, 0, "p"], - [3651, 0, "o"], - [3652, 0, "r"], - [3653, 0, "t"], - [3654, 0, " "], - [3655, 0, "t"], - [3656, 0, "h"], - [3657, 0, "e"], - [3658, 0, " "], - [3659, 0, "n"], - [3660, 0, "e"], - [3661, 0, "s"], - [3662, 0, "t"], - [3663, 0, "e"], - [3664, 0, "d"], - [3665, 0, " "], - [3666, 0, "t"], - [3667, 0, "r"], - [3668, 0, "e"], - [3669, 0, "e"], - [3670, 0, " "], - [3671, 0, "s"], - [3672, 0, "t"], - [3673, 0, "r"], - [3674, 0, "u"], - [3675, 0, "c"], - [3676, 0, "t"], - [3677, 0, "u"], - [3678, 0, "r"], - [3679, 0, "e"], - [3680, 0, "s"], - [3681, 0, " "], - [3682, 0, "t"], - [3683, 0, "h"], - [3684, 0, "a"], - [3685, 0, "t"], - [3686, 0, " "], - [3687, 0, "a"], - [3688, 0, "r"], - [3689, 0, "e"], - [3690, 0, " "], - [3691, 0, "r"], - [3692, 0, "e"], - [3693, 0, "q"], - [3694, 0, "u"], - [3695, 0, "i"], - [3696, 0, "r"], - [3697, 0, "e"], - [3698, 0, "d"], - [3699, 0, " "], - [3700, 0, "c"], - [3701, 0, "i"], - [3702, 0, "t"], - [3703, 0, "e"], - [3704, 0, "{"], - [3705, 0, "D"], - [3706, 0, "a"], - [3707, 0, "v"], - [3708, 0, "i"], - [3709, 0, "s"], - [3710, 0, ":"], - [3711, 0, "2"], - [3712, 0, "0"], - [3713, 0, "0"], - [3714, 0, "2"], - [3715, 0, "i"], - [3716, 0, "v"], - [3717, 0, ","], - [3718, 0, "I"], - [3719, 0, "g"], - [3720, 0, "n"], - [3721, 0, "a"], - [3722, 0, "t"], - [3723, 0, ":"], - [3724, 0, "2"], - [3725, 0, "0"], - [3726, 0, "0"], - [3727, 0, "3"], - [3728, 0, "j"], - [3729, 0, "y"], - [3730, 0, ","], - [3731, 0, "W"], - [3732, 0, "a"], - [3733, 0, "n"], - [3734, 0, "g"], - [3735, 0, ":"], - [3736, 0, "2"], - [3737, 0, "0"], - [3738, 0, "1"], - [3739, 0, "5"], - [3740, 0, "v"], - [3741, 0, "o"], - [3742, 0, "}"], - [3743, 0, ","], - [3744, 0, " "], - [3745, 0, "w"], - [3746, 0, "h"], - [3747, 0, "i"], - [3748, 0, " "], - [3749, 0, "a"], - [3750, 0, "l"], - [3751, 0, "g"], - [3752, 0, "o"], - [3753, 0, "r"], - [3754, 0, "i"], - [3755, 0, "t"], - [3756, 0, "h"], - [3757, 0, "m"], - [3758, 0, "s"], - [3759, 0, " "], - [3760, 0, "d"], - [3761, 0, "o"], - [3762, 0, " "], - [3763, 0, "n"], - [3764, 0, "o"], - [3765, 0, "t"], - [3766, 0, " "], - [3767, 0, "s"], - [3768, 0, "u"], - [3769, 0, "p"], - [3770, 0, "p"], - [3771, 0, "o"], - [3772, 0, "r"], - [3773, 0, "t"], - [3774, 0, " "], - [3775, 0, "k"], - [3776, 0, "e"], - [3777, 0, "y"], - [3778, 0, "-"], - [3779, 0, "v"], - [3780, 0, "a"], - [3781, 0, "l"], - [3782, 0, "u"], - [3783, 0, "e"], - [3784, 0, " "], - [3785, 0, "m"], - [3786, 0, "a"], - [3787, 0, "p"], - [3788, 0, "s"], - [3789, 0, " "], - [3790, 0, "a"], - [3791, 0, "s"], - [3792, 0, " "], - [3793, 0, "d"], - [3794, 0, "e"], - [3795, 0, "f"], - [3796, 0, "i"], - [3797, 0, "n"], - [3798, 0, "e"], - [3799, 0, "d"], - [3800, 0, " "], - [3801, 0, "i"], - [3802, 0, "n"], - [3803, 0, " "], - [3804, 0, "t"], - [3805, 0, "h"], - [3806, 0, "i"], - [3807, 0, "s"], - [3808, 0, " "], - [3809, 0, "p"], - [3810, 0, "a"], - [3811, 0, "p"], - [3812, 0, "e"], - [3813, 0, "r"], - [3814, 0, "."], - [3815, 0, "\n"], - [3816, 0, "\n"], - [3817, 0, "\\"], - [3818, 0, "s"], - [3819, 0, "e"], - [3820, 0, "c"], - [3821, 0, "t"], - [3822, 0, "i"], - [3823, 0, "o"], - [3824, 0, "n"], - [3825, 0, "{"], - [3826, 0, "R"], - [3827, 0, "e"], - [3828, 0, "l"], - [3829, 0, "a"], - [3830, 0, "t"], - [3831, 0, "e"], - [3832, 0, "d"], - [3833, 0, "i"], - [3834, 0, "o"], - [3835, 0, "n"], - [3836, 0, "{"], - [3837, 0, "O"], - [3838, 0, "p"], - [3839, 0, "e"], - [3840, 0, "r"], - [3841, 0, "a"], - [3842, 0, "t"], - [3843, 0, "i"], - [3844, 0, "o"], - [3845, 0, "n"], - [3846, 0, "a"], - [3847, 0, "l"], - [3848, 0, " "], - [3849, 0, "t"], - [3850, 0, "r"], - [3851, 0, "a"], - [3852, 0, "n"], - [3853, 0, "s"], - [3854, 0, "f"], - [3855, 0, "o"], - [3856, 0, "r"], - [3857, 0, "m"], - [3858, 0, "a"], - [3859, 0, "t"], - [3860, 0, "i"], - [3861, 0, "o"], - [3862, 0, "n"], - [3863, 0, "}"], - [3864, 0, "\\"], - [3865, 0, "l"], - [3866, 0, "a"], - [3867, 0, "b"], - [3868, 0, "e"], - [3869, 0, "l"], - [3870, 0, "{"], - [3871, 0, "s"], - [3872, 0, "e"], - [3873, 0, "c"], - [3874, 0, ":"], - [3875, 0, "r"], - [3876, 0, "e"], - [3877, 0, "l"], - [3878, 0, "a"], - [3879, 0, "t"], - [3880, 0, "e"], - [3881, 0, ")"], - [3882, 0, " "], - [3883, 0, "h"], - [3884, 0, "a"], - [3885, 0, "v"], - [3886, 0, "e"], - [3887, 0, " "], - [3888, 0, "l"], - [3889, 0, "o"], - [3890, 0, "n"], - [3891, 0, "g"], - [3892, 0, " "], - [3893, 0, "b"], - [3894, 0, "e"], - [3895, 0, "e"], - [3896, 0, "n"], - [3897, 0, " "], - [3898, 0, "u"], - [3899, 0, "s"], - [3900, 0, "e"], - [3901, 0, "d"], - [3902, 0, " "], - [3903, 0, "f"], - [3904, 0, "o"], - [3905, 0, "r"], - [3906, 0, " "], - [3907, 0, "c"], - [3908, 0, "o"], - [3909, 0, "l"], - [3910, 0, "l"], - [3911, 0, "a"], - [3912, 0, "b"], - [3913, 0, "o"], - [3914, 0, "r"], - [3915, 0, "a"], - [3916, 0, "t"], - [3917, 0, "i"], - [3918, 0, "v"], - [3919, 0, "e"], - [3920, 0, " "], - [3921, 0, "e"], - [3922, 0, "d"], - [3923, 0, "i"], - [3924, 0, "t"], - [3925, 0, "i"], - [3926, 0, "n"], - [3927, 0, "g"], - [3928, 0, " "], - [3929, 0, "s"], - [3930, 0, ":"], - [3931, 0, "1"], - [3932, 0, "9"], - [3933, 0, "9"], - [3934, 0, "5"], - [3935, 0, "f"], - [3936, 0, "d"], - [3937, 0, "}"], - [3938, 0, "."], - [3939, 0, " "], - [3940, 0, "M"], - [3941, 0, "o"], - [3942, 0, "s"], - [3943, 0, "t"], - [3944, 0, " "], - [3945, 0, "o"], - [3946, 0, "f"], - [3947, 0, " "], - [3948, 0, "t"], - [3949, 0, "h"], - [3950, 0, "e"], - [3951, 0, "m"], - [3952, 0, " "], - [3953, 0, "t"], - [3954, 0, "r"], - [3955, 0, "e"], - [3956, 0, "a"], - [3957, 0, "t"], - [3958, 0, " "], - [3959, 0, "a"], - [3960, 0, " "], - [3961, 0, "d"], - [3962, 0, "o"], - [3963, 0, "c"], - [3964, 0, "u"], - [3965, 0, "m"], - [3966, 0, "e"], - [3967, 0, "n"], - [3968, 0, "t"], - [3969, 0, " "], - [3970, 0, "a"], - [3971, 0, "s"], - [3972, 0, " "], - [3973, 0, "a"], - [3974, 0, " "], - [3975, 0, "s"], - [3976, 0, "i"], - [3977, 0, "a"], - [3978, 0, "n"], - [3979, 0, "d"], - [3980, 0, " "], - [3981, 0, "d"], - [3982, 0, "o"], - [3983, 0, " "], - [3984, 0, "n"], - [3985, 0, "o"], - [3986, 0, "t"], - [3987, 0, " "], - [3988, 0, "s"], - [3989, 0, "u"], - [3990, 0, "p"], - [3991, 0, "p"], - [3992, 0, "o"], - [3993, 0, "r"], - [3994, 0, "t"], - [3995, 0, " "], - [3996, 0, "t"], - [3997, 0, "h"], - [3998, 0, "e"], - [3999, 0, " "], - [4000, 0, "n"], - [4001, 0, "e"], - [4002, 0, "s"], - [4003, 0, "t"], - [4004, 0, "e"], - [4005, 0, "d"], - [4006, 0, " "], - [4007, 0, "t"], - [4008, 0, "r"], - [4009, 0, "e"], - [4010, 0, "e"], - [4011, 0, " "], - [4012, 0, "s"], - [4013, 0, "t"], - [4014, 0, "r"], - [4015, 0, "u"], - [4016, 0, "c"], - [4017, 0, "t"], - [4018, 0, "u"], - [4019, 0, "r"], - [4020, 0, "e"], - [4021, 0, "s"], - [4022, 0, " "], - [4023, 0, "t"], - [4024, 0, "h"], - [4025, 0, "a"], - [4026, 0, "t"], - [4027, 0, " "], - [4028, 0, "a"], - [4029, 0, "r"], - [4030, 0, "e"], - [4031, 0, " "], - [4032, 0, "r"], - [4033, 0, "e"], - [4034, 0, "q"], - [4035, 0, "u"], - [4036, 0, "i"], - [4037, 0, "r"], - [4038, 0, "e"], - [4039, 0, "d"], - [4040, 0, " "], - [4041, 0, "f"], - [4042, 0, "o"], - [4043, 0, "r"], - [4044, 0, " "], - [4045, 0, "m"], - [4046, 0, "a"], - [4047, 0, "n"], - [4048, 0, "y"], - [4049, 0, " "], - [4050, 0, "a"], - [4051, 0, "p"], - [4052, 0, "p"], - [4053, 0, "l"], - [4054, 0, "i"], - [4055, 0, "c"], - [4056, 0, "a"], - [4057, 0, "t"], - [4058, 0, "i"], - [4059, 0, "o"], - [4060, 0, "n"], - [4061, 0, "s"], - [4062, 0, "."], - [4063, 0, " "], - [4064, 0, "S"], - [4065, 0, "o"], - [4066, 0, "m"], - [4067, 0, "e"], - [4068, 0, " "], - [4069, 0, "a"], - [4070, 0, "l"], - [4071, 0, "g"], - [4072, 0, "o"], - [4073, 0, "r"], - [4074, 0, "\n"], - [4075, 0, "i"], - [4076, 0, "t"], - [4077, 0, "h"], - [4078, 0, "m"], - [4079, 0, "s"], - [4080, 0, " "], - [4081, 0, "g"], - [4082, 0, "e"], - [4083, 0, "n"], - [4084, 0, "e"], - [4085, 0, "r"], - [4086, 0, "a"], - [4087, 0, "l"], - [4088, 0, "i"], - [4089, 0, "z"], - [4090, 0, "e"], - [4091, 0, " "], - [4092, 0, "O"], - [4093, 0, "T"], - [4094, 0, " "], - [4095, 0, "t"], - [4096, 0, "o"], - [4097, 0, " "], - [4098, 0, "e"], - [4099, 0, "d"], - [4100, 0, "i"], - [4101, 0, "t"], - [4102, 0, "i"], - [4103, 0, "n"], - [4104, 0, "g"], - [4105, 0, " "], - [4106, 0, "X"], - [4107, 0, "M"], - [4108, 0, "L"], - [4109, 0, " "], - [4110, 0, "d"], - [4111, 0, "o"], - [4112, 0, "c"], - [4113, 0, "u"], - [4114, 0, "m"], - [4115, 0, "e"], - [4116, 0, "n"], - [4117, 0, "t"], - [4118, 0, "s"], - [4119, 0, "~"], - [4120, 0, "\\"], - [4121, 0, "c"], - [4122, 0, "i"], - [4123, 0, "t"], - [4124, 0, "e"], - [4125, 0, "{"], - [4126, 0, "D"], - [4127, 0, "a"], - [4128, 0, "v"], - [4129, 0, "i"], - [4130, 0, "s"], - [4131, 0, ":"], - [4132, 0, "2"], - [4133, 0, "0"], - [4134, 0, "0"], - [4135, 0, "2"], - [4136, 0, "i"], - [4137, 0, "v"], - [4138, 0, ","], - [4139, 0, "I"], - [4140, 0, "g"], - [4141, 0, "n"], - [4142, 0, "a"], - [4143, 0, "t"], - [4144, 0, ":"], - [4145, 0, "2"], - [4146, 0, "0"], - [4147, 0, "0"], - [4148, 0, "3"], - [4149, 0, "j"], - [4150, 0, "y"], - [4151, 0, ","], - [4152, 0, "W"], - [4153, 0, "a"], - [4154, 0, "n"], - [4155, 0, "g"], - [4156, 0, ":"], - [4157, 0, "2"], - [4158, 0, "0"], - [4159, 0, "1"], - [4160, 0, "5"], - [4161, 0, "v"], - [4162, 0, "o"], - [4163, 0, "}"], - [4164, 0, ","], - [4165, 0, " "], - [4166, 0, "w"], - [4167, 0, "h"], - [4168, 0, "i"], - [4169, 0, "c"], - [4170, 0, "h"], - [4171, 0, " "], - [4172, 0, "p"], - [4173, 0, "r"], - [4174, 0, "o"], - [4175, 0, "v"], - [4176, 0, "i"], - [4177, 0, "d"], - [4178, 0, "e"], - [4179, 0, "s"], - [4180, 0, " "], - [4181, 0, "n"], - [4182, 0, "e"], - [4183, 0, "s"], - [4184, 0, "t"], - [4185, 0, "i"], - [4186, 0, "n"], - [4187, 0, "g"], - [4188, 0, " "], - [4189, 0, "o"], - [4190, 0, "f"], - [4191, 0, " "], - [4192, 0, "o"], - [4193, 0, "r"], - [4194, 0, "d"], - [4195, 0, "\n"], - [4196, 0, "e"], - [4197, 0, "r"], - [4198, 0, "e"], - [4199, 0, "d"], - [4200, 0, " "], - [4201, 0, "l"], - [4202, 0, "i"], - [4203, 0, "s"], - [4204, 0, "t"], - [4205, 0, "s"], - [4206, 0, ","], - [4207, 0, " "], - [4208, 0, "b"], - [4209, 0, "u"], - [4210, 0, "t"], - [4211, 0, " "], - [4212, 0, "t"], - [4213, 0, "h"], - [4214, 0, "e"], - [4215, 0, "s"], - [4216, 0, "e"], - [4217, 0, " "], - [4218, 0, "a"], - [4219, 0, "l"], - [4220, 0, "g"], - [4221, 0, "o"], - [4222, 0, "r"], - [4223, 0, "i"], - [4224, 0, "t"], - [4225, 0, "h"], - [4226, 0, "m"], - [4227, 0, "s"], - [4228, 0, " "], - [4229, 0, "d"], - [4230, 0, "o"], - [4231, 0, " "], - [4232, 0, "n"], - [4233, 0, "o"], - [4234, 0, "t"], - [4235, 0, " "], - [4236, 0, "s"], - [4237, 0, "u"], - [4238, 0, "p"], - [4239, 0, "p"], - [4240, 0, "o"], - [4241, 0, "r"], - [4242, 0, "t"], - [4243, 0, " "], - [4244, 0, "k"], - [4245, 0, "e"], - [4246, 0, "y"], - [4247, 0, "-"], - [4248, 0, "v"], - [4249, 0, "a"], - [4250, 0, "l"], - [4251, 0, "u"], - [4252, 0, "e"], - [4253, 0, " "], - [4254, 0, "m"], - [4255, 0, "a"], - [4256, 0, "p"], - [4257, 0, "s"], - [4258, 0, " "], - [4259, 0, "a"], - [4260, 0, "s"], - [4261, 0, " "], - [4262, 0, "d"], - [4263, 0, "e"], - [4264, 0, "f"], - [4265, 0, "i"], - [4266, 0, "n"], - [4267, 0, "e"], - [4268, 0, "d"], - [4269, 0, " "], - [4270, 0, "i"], - [4271, 0, "n"], - [4272, 0, " "], - [4273, 0, "t"], - [4274, 0, "h"], - [4275, 0, "i"], - [4276, 0, "s"], - [4277, 0, " "], - [4278, 0, "p"], - [4279, 0, "a"], - [4280, 0, "p"], - [4281, 0, "e"], - [4282, 0, "r"], - [4283, 0, "."], - [3814, 1], - [3813, 1], - [3812, 1], - [3811, 1], - [3810, 1], - [3809, 1], - [3808, 1], - [3807, 1], - [3806, 1], - [3805, 1], - [3804, 1], - [3803, 1], - [3802, 1], - [3801, 1], - [3800, 1], - [3799, 1], - [3798, 1], - [3797, 1], - [3796, 1], - [3795, 1], - [3794, 1], - [3793, 1], - [3792, 1], - [3791, 1], - [3790, 1], - [3789, 1], - [3788, 1], - [3787, 1], - [3786, 1], - [3785, 1], - [3784, 1], - [3783, 1], - [3782, 1], - [3781, 1], - [3780, 1], - [3779, 1], - [3778, 1], - [3777, 1], - [3776, 1], - [3775, 1], - [3774, 1], - [3773, 1], - [3772, 1], - [3771, 1], - [3770, 1], - [3769, 1], - [3768, 1], - [3767, 1], - [3766, 1], - [3765, 1], - [3764, 1], - [3763, 1], - [3762, 1], - [3761, 1], - [3760, 1], - [3759, 1], - [3758, 1], - [3757, 1], - [3756, 1], - [3755, 1], - [3754, 1], - [3753, 1], - [3752, 1], - [3751, 1], - [3750, 1], - [3749, 1], - [3748, 1], - [3747, 1], - [3746, 1], - [3745, 1], - [3744, 1], - [3743, 1], - [3742, 1], - [3741, 1], - [3740, 1], - [3739, 1], - [3738, 1], - [3737, 1], - [3736, 1], - [3735, 1], - [3734, 1], - [3733, 1], - [3732, 1], - [3731, 1], - [3730, 1], - [3729, 1], - [3728, 1], - [3727, 1], - [3726, 1], - [3725, 1], - [3724, 1], - [3723, 1], - [3722, 1], - [3721, 1], - [3720, 1], - [3719, 1], - [3718, 1], - [3717, 1], - [3716, 1], - [3715, 1], - [3714, 1], - [3713, 1], - [3712, 1], - [3711, 1], - [3710, 1], - [3709, 1], - [3708, 1], - [3707, 1], - [3706, 1], - [3705, 1], - [3704, 1], - [3703, 1], - [3702, 1], - [3701, 1], - [3700, 1], - [3699, 1], - [3698, 1], - [3697, 1], - [3696, 1], - [3695, 1], - [3694, 1], - [3693, 1], - [3692, 1], - [3691, 1], - [3690, 1], - [3689, 1], - [3688, 1], - [3687, 1], - [3686, 1], - [3685, 1], - [3684, 1], - [3683, 1], - [3682, 1], - [3681, 1], - [3680, 1], - [3679, 1], - [3678, 1], - [3677, 1], - [3676, 1], - [3675, 1], - [3674, 1], - [3673, 1], - [3672, 1], - [3671, 1], - [3670, 1], - [3669, 1], - [3668, 1], - [3667, 1], - [3666, 1], - [3665, 1], - [3664, 1], - [3663, 1], - [3662, 1], - [3661, 1], - [3660, 1], - [3659, 1], - [3658, 1], - [3657, 1], - [3656, 1], - [3655, 1], - [3654, 1], - [3653, 1], - [3652, 1], - [3651, 1], - [3650, 1], - [3649, 1], - [3648, 1], - [3647, 1], - [3646, 1], - [3645, 1], - [3644, 1], - [3643, 1], - [3642, 1], - [3641, 1], - [3640, 1], - [3639, 1], - [3638, 1], - [3637, 1], - [3636, 1], - [3635, 1], - [3634, 1], - [3633, 1], - [3632, 1], - [3631, 1], - [3630, 1], - [3629, 1], - [3628, 1], - [3627, 1], - [3626, 1], - [3625, 1], - [3624, 1], - [3623, 1], - [3622, 1], - [3621, 1], - [3620, 1], - [3619, 1], - [3618, 1], - [3617, 1], - [3616, 1], - [3615, 1], - [3614, 1], - [3613, 1], - [3612, 1], - [3611, 1], - [3610, 1], - [3609, 1], - [3608, 1], - [3607, 1], - [3606, 1], - [3605, 1], - [3604, 1], - [3603, 1], - [3602, 1], - [3601, 1], - [3600, 1], - [3599, 1], - [3598, 1], - [3597, 1], - [3596, 1], - [3595, 1], - [3594, 1], - [3593, 1], - [3592, 1], - [3591, 1], - [3590, 1], - [3589, 1], - [3588, 1], - [3587, 1], - [3586, 1], - [3585, 1], - [3584, 1], - [3583, 1], - [3582, 1], - [3581, 1], - [3580, 1], - [3579, 1], - [3578, 1], - [3577, 1], - [3576, 1], - [3575, 1], - [3574, 1], - [3573, 1], - [3572, 1], - [3571, 1], - [3570, 1], - [3569, 1], - [3568, 1], - [3567, 1], - [3566, 1], - [3565, 1], - [3564, 1], - [3563, 1], - [3562, 1], - [3561, 1], - [3560, 1], - [3559, 1], - [3558, 1], - [3557, 1], - [3556, 1], - [3555, 1], - [3554, 1], - [3553, 1], - [3552, 1], - [3551, 1], - [3550, 1], - [3549, 1], - [3548, 1], - [3547, 1], - [3546, 1], - [3545, 1], - [3544, 1], - [3543, 1], - [3542, 1], - [3541, 1], - [3540, 1], - [3539, 1], - [3538, 1], - [3537, 1], - [3536, 1], - [3535, 1], - [3534, 1], - [3533, 1], - [3532, 1], - [3531, 1], - [3530, 1], - [3529, 1], - [3528, 1], - [3527, 1], - [3526, 1], - [3525, 1], - [3524, 1], - [3523, 1], - [3522, 1], - [3521, 1], - [3520, 1], - [3519, 1], - [3518, 1], - [3517, 1], - [3516, 1], - [3515, 1], - [3514, 1], - [3513, 1], - [3512, 1], - [3511, 1], - [3510, 1], - [3509, 1], - [3508, 1], - [3507, 1], - [3506, 1], - [3505, 1], - [3504, 1], - [3503, 1], - [3502, 1], - [3501, 1], - [3500, 1], - [3499, 1], - [3498, 1], - [3497, 1], - [3496, 1], - [3495, 1], - [3494, 1], - [3493, 1], - [3492, 1], - [3491, 1], - [3490, 1], - [3489, 1], - [3488, 1], - [3487, 1], - [3486, 1], - [3485, 1], - [3484, 1], - [3483, 1], - [3482, 1], - [3481, 1], - [3480, 1], - [3479, 1], - [3478, 1], - [3477, 1], - [3476, 1], - [3475, 1], - [3474, 1], - [3473, 1], - [3472, 1], - [3471, 1], - [3470, 1], - [3469, 1], - [3468, 1], - [3467, 1], - [3466, 1], - [3465, 1], - [3464, 1], - [3463, 1], - [3462, 1], - [3461, 1], - [3460, 1], - [3459, 1], - [3477, 0, " "], - [3478, 0, "w"], - [3479, 0, "o"], - [3480, 0, "r"], - [3481, 0, "k"], - [3482, 0, "}"], - [3483, 0, "\n"], - [3484, 0, "\n"], - [3485, 0, "\\"], - [3486, 0, "s"], - [3487, 0, "u"], - [3488, 0, "b"], - [3489, 0, "s"], - [3490, 0, "e"], - [3491, 0, "c"], - [3492, 0, "t"], - [3541, 0, "d"], - [3542, 0, "-"], - [3543, 0, "o"], - [3544, 0, "t"], - [3545, 0, "}"], - [3546, 0, "\n"], - [3547, 0, "\n"], - [3548, 0, "A"], - [3549, 0, "l"], - [3550, 0, "g"], - [3551, 0, "o"], - [3552, 0, "r"], - [3553, 0, "i"], - [3554, 0, "t"], - [3555, 0, "h"], - [3556, 0, "m"], - [3557, 0, "s"], - [3558, 0, " "], - [3559, 0, "b"], - [3560, 0, "a"], - [3561, 0, "s"], - [3562, 0, "e"], - [3563, 0, "d"], - [3564, 0, " "], - [3565, 0, "o"], - [3566, 0, "n"], - [3567, 0, " "], - [3568, 0, "\\"], - [3569, 0, "e"], - [3570, 0, "m"], - [3571, 0, "p"], - [3572, 0, "h"], - [3573, 0, "{"], - [3574, 0, "o"], - [3575, 0, "p"], - [3576, 0, "e"], - [3577, 0, "r"], - [3578, 0, "a"], - [3579, 0, "t"], - [3580, 0, "i"], - [3581, 0, "o"], - [3582, 0, "n"], - [3583, 0, "a"], - [3584, 0, "l"], - [3585, 0, " "], - [3586, 0, "t"], - [3587, 0, "r"], - [3588, 0, "a"], - [3589, 0, "n"], - [3590, 0, "s"], - [3591, 0, "f"], - [3592, 0, "o"], - [3593, 0, "r"], - [3594, 0, "m"], - [3595, 0, "a"], - [3596, 0, "t"], - [3597, 0, "i"], - [3598, 0, "o"], - [3599, 0, "n"], - [3600, 0, "}"], - [3601, 0, " "], - [3602, 0, "("], - [3603, 0, "O"], - [3604, 0, "T"], - [3653, 0, "a"], - [3654, 0, "p"], - [3655, 0, "p"], - [3656, 0, "l"], - [3657, 0, "i"], - [3658, 0, "c"], - [3659, 0, "a"], - [3660, 0, "t"], - [3661, 0, "i"], - [3662, 0, "o"], - [3663, 0, "n"], - [3664, 0, "s"], - [3665, 0, "~"], - [3666, 0, "\\"], - [3667, 0, "c"], - [3668, 0, "i"], - [3669, 0, "t"], - [3670, 0, "e"], - [3671, 0, "{"], - [3672, 0, "E"], - [3673, 0, "l"], - [3674, 0, "l"], - [3675, 0, "i"], - [3676, 0, "s"], - [3677, 0, ":"], - [3678, 0, "1"], - [3679, 0, "9"], - [3680, 0, "8"], - [3681, 0, "9"], - [3682, 0, ":"], - [3682, 1], - [3682, 0, "u"], - [3683, 0, "e"], - [3684, 0, ","], - [3685, 0, "R"], - [3686, 0, "e"], - [3687, 0, "s"], - [3688, 0, "s"], - [3689, 0, "e"], - [3690, 0, "l"], - [3691, 0, ":"], - [3692, 0, "1"], - [3693, 0, "9"], - [3694, 0, "9"], - [3695, 0, "6"], - [3696, 0, "w"], - [3697, 0, "x"], - [3698, 0, ","], - [3699, 0, "S"], - [3700, 0, "u"], - [3701, 0, "n"], - [3702, 0, ":"], - [3703, 0, "1"], - [3704, 0, "9"], - [3705, 0, "9"], - [3706, 0, "8"], - [3707, 0, "v"], - [3708, 0, "f"], - [3709, 0, ","], - [3710, 0, "N"], - [3711, 0, "i"], - [3712, 0, "c"], - [3713, 0, "h"], - [3714, 0, "o"], - [3715, 0, "l"], - [3764, 0, "n"], - [3765, 0, "g"], - [3766, 0, "l"], - [3767, 0, "e"], - [3768, 0, " "], - [3769, 0, "o"], - [3770, 0, "r"], - [3771, 0, "d"], - [3772, 0, "e"], - [3773, 0, "r"], - [3774, 0, "e"], - [3775, 0, "d"], - [3776, 0, " "], - [3777, 0, "l"], - [3778, 0, "i"], - [3779, 0, "s"], - [3780, 0, "t"], - [3781, 0, " "], - [3782, 0, "("], - [3783, 0, "o"], - [3784, 0, "f"], - [3785, 0, " "], - [3786, 0, "c"], - [3787, 0, "h"], - [3788, 0, "a"], - [3789, 0, "r"], - [3790, 0, "a"], - [3791, 0, "c"], - [3792, 0, "t"], - [3793, 0, "e"], - [3794, 0, "r"], - [3795, 0, "s"], - [3796, 0, ","], - [3797, 0, " "], - [3798, 0, "f"], - [3799, 0, "o"], - [3800, 0, "r"], - [3801, 0, " "], - [3802, 0, "e"], - [3803, 0, "x"], - [3804, 0, "a"], - [3805, 0, "m"], - [3806, 0, "p"], - [3807, 0, "l"], - [3808, 0, "e"], - [3809, 0, ")"], - [3810, 0, " "], - [3908, 1], - [4028, 1], - [4116, 0, "\n"], - [4117, 0, "\n"], - [4118, 0, "M"], - [4119, 0, "o"], - [4120, 0, "s"], - [4121, 0, "t"], - [4122, 0, " "], - [4123, 0, "d"], - [4124, 0, "e"], - [4125, 0, "p"], - [4126, 0, "l"], - [4127, 0, "o"], - [4128, 0, "y"], - [4129, 0, "e"], - [4130, 0, "d"], - [4131, 0, " "], - [4132, 0, "O"], - [4133, 0, "T"], - [4134, 0, " "], - [4135, 0, "c"], - [4136, 0, "o"], - [4137, 0, "l"], - [4138, 0, "l"], - [4139, 0, "a"], - [4140, 0, "b"], - [4141, 0, "o"], - [4142, 0, "r"], - [4143, 0, "a"], - [4144, 0, "t"], - [4145, 0, "i"], - [4146, 0, "o"], - [4147, 0, "n"], - [4148, 0, " "], - [4149, 0, "s"], - [4150, 0, "y"], - [4151, 0, "s"], - [4152, 0, "t"], - [4153, 0, "e"], - [4154, 0, "m"], - [4155, 0, "s"], - [4156, 0, ","], - [4157, 0, " "], - [4158, 0, "i"], - [4159, 0, "n"], - [4160, 0, "c"], - [4161, 0, "l"], - [4162, 0, "u"], - [4163, 0, "d"], - [4164, 0, "i"], - [4165, 0, "n"], - [4166, 0, "g"], - [4167, 0, " "], - [4168, 0, "G"], - [4169, 0, "o"], - [4170, 0, "o"], - [4171, 0, "g"], - [4172, 0, "l"], - [4173, 0, "e"], - [4174, 0, " "], - [4175, 0, "D"], - [4176, 0, "o"], - [4177, 0, "c"], - [4178, 0, "s"], - [4179, 0, "~"], - [4180, 0, "\\"], - [4181, 0, "c"], - [4182, 0, "i"], - [4183, 0, "t"], - [4184, 0, "e"], - [4185, 0, "{"], - [4186, 0, "D"], - [4187, 0, "a"], - [4188, 0, "y"], - [4189, 0, "R"], - [4190, 0, "i"], - [4191, 0, "c"], - [4192, 0, "h"], - [4193, 0, "t"], - [4194, 0, "e"], - [4195, 0, "r"], - [4196, 0, ":"], - [4197, 0, "2"], - [4198, 0, "0"], - [4199, 0, "1"], - [4200, 0, "0"], - [4201, 0, "t"], - [4202, 0, "t"], - [4203, 0, "}"], - [4204, 0, ","], - [4205, 0, " "], - [4206, 0, "E"], - [4207, 0, "t"], - [4208, 0, "h"], - [4209, 0, "e"], - [4210, 0, "r"], - [4211, 0, "p"], - [4212, 0, "a"], - [4213, 0, "d"], - [4214, 0, "~"], - [4215, 0, "{"], - [4215, 1], - [4215, 0, "\\"], - [4216, 0, "c"], - [4217, 0, "i"], - [4218, 0, "t"], - [4219, 0, "e"], - [4220, 0, "{"], - [4221, 0, "E"], - [4222, 0, "t"], - [4223, 0, "h"], - [4224, 0, "e"], - [4225, 0, "r"], - [4226, 0, "p"], - [4227, 0, "a"], - [4228, 0, "d"], - [4229, 0, ":"], - [4230, 0, "2"], - [4231, 0, "0"], - [4232, 0, "1"], - [4233, 0, "1"], - [4234, 0, "u"], - [4235, 0, "m"], - [4236, 0, "}"], - [4237, 0, ","], - [4238, 0, " "], - [4239, 0, "N"], - [4240, 0, "o"], - [4241, 0, "v"], - [4242, 0, "e"], - [4243, 0, "l"], - [4244, 0, "l"], - [4245, 0, " "], - [4246, 0, "V"], - [4247, 0, "i"], - [4248, 0, "b"], - [4249, 0, "e"], - [4250, 0, "~"], - [4251, 0, "\\"], - [4252, 0, "c"], - [4253, 0, "i"], - [4254, 0, "t"], - [4255, 0, "e"], - [4256, 0, "{"], - [4257, 0, "S"], - [4258, 0, "p"], - [4259, 0, "i"], - [4260, 0, "e"], - [4261, 0, "w"], - [4262, 0, "a"], - [4263, 0, "k"], - [4264, 0, ":"], - [4265, 0, "2"], - [4266, 0, "0"], - [4267, 0, "1"], - [4268, 0, "0"], - [4269, 0, "v"], - [4270, 0, "w"], - [4271, 0, "}"], - [4272, 0, " "], - [4273, 0, "a"], - [4274, 0, "n"], - [4275, 0, "d"], - [4276, 0, " "], - [4277, 0, "A"], - [4278, 0, "p"], - [4279, 0, "a"], - [4280, 0, "c"], - [4281, 0, "h"], - [4282, 0, "e"], - [4283, 0, " "], - [4284, 0, "W"], - [4285, 0, "a"], - [4286, 0, "v"], - [4287, 0, "e"], - [4288, 0, " "], - [4289, 0, "("], - [4290, 0, "f"], - [4291, 0, "o"], - [4292, 0, "r"], - [4293, 0, "m"], - [4294, 0, "e"], - [4295, 0, "r"], - [4296, 0, "l"], - [4297, 0, "y"], - [4298, 0, " "], - [4299, 0, "G"], - [4300, 0, "o"], - [4301, 0, "o"], - [4302, 0, "g"], - [4303, 0, "l"], - [4304, 0, "e"], - [4305, 0, " "], - [4306, 0, "W"], - [4307, 0, "a"], - [4308, 0, "v"], - [4309, 0, "e"], - [4310, 0, "~"], - [4311, 0, "\\"], - [4312, 0, "c"], - [4313, 0, "i"], - [4314, 0, "t"], - [4315, 0, "e"], - [4316, 0, "{"], - [4317, 0, "W"], - [4318, 0, "a"], - [4319, 0, "n"], - [4320, 0, "g"], - [4321, 0, ":"], - [4322, 0, "2"], - [4323, 0, "0"], - [4324, 0, "1"], - [4325, 0, "5"], - [4326, 0, "v"], - [4327, 0, "o"], - [4328, 0, "}"], - [4329, 0, ")"], - [4330, 0, ","], - [4331, 0, " "], - [4332, 0, "r"], - [4333, 0, "e"], - [4334, 0, "l"], - [4335, 0, "y"], - [4336, 0, " "], - [4337, 0, "o"], - [4338, 0, "n"], - [4339, 0, " "], - [4340, 0, "a"], - [4341, 0, " "], - [4342, 0, "s"], - [4343, 0, "i"], - [4344, 0, "n"], - [4345, 0, "g"], - [4346, 0, "l"], - [4347, 0, "e"], - [4348, 0, " "], - [4349, 0, "s"], - [4350, 0, "e"], - [4351, 0, "r"], - [4352, 0, "v"], - [4353, 0, "e"], - [4354, 0, "r"], - [4355, 0, " "], - [4356, 0, "t"], - [4357, 0, "o"], - [4358, 0, " "], - [4359, 0, "d"], - [4360, 0, "e"], - [4361, 0, "c"], - [4362, 0, "i"], - [4363, 0, "d"], - [4364, 0, "e"], - [4365, 0, " "], - [4366, 0, "o"], - [4367, 0, "n"], - [4368, 0, " "], - [4369, 0, "a"], - [4370, 0, " "], - [4371, 0, "t"], - [4372, 0, "o"], - [4373, 0, "t"], - [4374, 0, "a"], - [4375, 0, "l"], - [4376, 0, " "], - [4377, 0, "o"], - [4378, 0, "r"], - [4379, 0, "d"], - [4380, 0, "e"], - [4381, 0, "r"], - [4382, 0, "i"], - [4383, 0, "n"], - [4384, 0, "g"], - [4385, 0, " "], - [4386, 0, "o"], - [4387, 0, "f"], - [4388, 0, " "], - [4389, 0, "o"], - [4390, 0, "p"], - [4391, 0, "e"], - [4392, 0, "r"], - [4393, 0, "a"], - [4394, 0, "t"], - [4395, 0, "i"], - [4396, 0, "o"], - [4397, 0, "n"], - [4398, 0, "s"], - [4399, 0, "~"], - [4400, 0, "\\"], - [4401, 0, "c"], - [4402, 0, "i"], - [4403, 0, "t"], - [4404, 0, "e"], - [4405, 0, "{"], - [4406, 0, "L"], - [4407, 0, "e"], - [4408, 0, "m"], - [4409, 0, "o"], - [4410, 0, "n"], - [4411, 0, "i"], - [4412, 0, "k"], - [4413, 0, ":"], - [4414, 0, "2"], - [4415, 0, "0"], - [4416, 0, "1"], - [4417, 0, "6"], - [4418, 0, "w"], - [4419, 0, "h"], - [4420, 0, "}"], - [4421, 0, ","], - [4422, 0, " "], - [4423, 0, "a"], - [4424, 0, " "], - [4425, 0, "d"], - [4426, 0, "e"], - [4427, 0, "s"], - [4428, 0, "i"], - [4429, 0, "g"], - [4430, 0, "n"], - [4431, 0, " "], - [4432, 0, "d"], - [4433, 0, "e"], - [4434, 0, "c"], - [4435, 0, "i"], - [4436, 0, "s"], - [4437, 0, "i"], - [4438, 0, "o"], - [4439, 0, "n"], - [4440, 0, " "], - [4441, 0, "i"], - [4442, 0, "n"], - [4443, 0, "h"], - [4444, 0, "e"], - [4445, 0, "r"], - [4446, 0, "i"], - [4447, 0, "t"], - [4448, 0, "e"], - [4449, 0, "d"], - [4450, 0, " "], - [4451, 0, "f"], - [4452, 0, "r"], - [4453, 0, "o"], - [4454, 0, "m"], - [4455, 0, " "], - [4456, 0, "t"], - [4457, 0, "h"], - [4458, 0, "e"], - [4459, 0, " "], - [4460, 0, "J"], - [4461, 0, "u"], - [4462, 0, "p"], - [4463, 0, "i"], - [4464, 0, "t"], - [4465, 0, "e"], - [4466, 0, "r"], - [4467, 0, " "], - [4468, 0, "s"], - [4469, 0, "y"], - [4470, 0, "s"], - [4471, 0, "t"], - [4472, 0, "e"], - [4473, 0, "m"], - [4474, 0, "~"], - [4475, 0, "\\"], - [4476, 0, "c"], - [4477, 0, "i"], - [4478, 0, "t"], - [4479, 0, "e"], - [4480, 0, "{"], - [4481, 0, "N"], - [4482, 0, "i"], - [4483, 0, "c"], - [4484, 0, "h"], - [4485, 0, "o"], - [4486, 0, "l"], - [4487, 0, "s"], - [4488, 0, ":"], - [4489, 0, "1"], - [4490, 0, "9"], - [4491, 0, "9"], - [4492, 0, "5"], - [4493, 0, "f"], - [4494, 0, "d"], - [4495, 0, "}"], - [4496, 0, "."], - [4497, 0, " "], - [4498, 0, "T"], - [4499, 0, "h"], - [4500, 0, "i"], - [4501, 0, "s"], - [4502, 0, " "], - [4503, 0, "a"], - [4504, 0, "p"], - [4505, 0, "p"], - [4506, 0, "r"], - [4507, 0, "o"], - [4508, 0, "a"], - [4509, 0, "c"], - [4510, 0, "h"], - [4511, 0, " "], - [4512, 0, "h"], - [4513, 0, "a"], - [4514, 0, "s"], - [4515, 0, " "], - [4516, 0, "t"], - [4517, 0, "h"], - [4518, 0, "e"], - [4519, 0, " "], - [4520, 0, "a"], - [4521, 0, "d"], - [4522, 0, "v"], - [4523, 0, "a"], - [4524, 0, "n"], - [4525, 0, "t"], - [4526, 0, "a"], - [4527, 0, "g"], - [4528, 0, "e"], - [4529, 0, " "], - [4530, 0, "o"], - [4531, 0, "f"], - [4532, 0, " "], - [4533, 0, "m"], - [4534, 0, "a"], - [4535, 0, "k"], - [4536, 0, "i"], - [4537, 0, "n"], - [4538, 0, "g"], - [4539, 0, " "], - [4540, 0, "t"], - [4541, 0, "h"], - [4542, 0, "e"], - [4543, 0, " "], - [4544, 0, "t"], - [4545, 0, "r"], - [4546, 0, "a"], - [4547, 0, "n"], - [4548, 0, "s"], - [4549, 0, "o"], - [4550, 0, "f"], - [4550, 1], - [4549, 1], - [4549, 0, "f"], - [4550, 0, "o"], - [4551, 0, "r"], - [4552, 0, "m"], - [4553, 0, "a"], - [4554, 0, "t"], - [4555, 0, "i"], - [4556, 0, "o"], - [4557, 0, "n"], - [4558, 0, " "], - [4559, 0, "f"], - [4560, 0, "u"], - [4561, 0, "n"], - [4562, 0, "c"], - [4563, 0, "t"], - [4564, 0, "i"], - [4565, 0, "o"], - [4566, 0, "n"], - [4567, 0, "s"], - [4568, 0, " "], - [4569, 0, "s"], - [4570, 0, "i"], - [4571, 0, "m"], - [4572, 0, "p"], - [4573, 0, "l"], - [4574, 0, "e"], - [4575, 0, "r"], - [4576, 0, " "], - [4577, 0, "a"], - [4578, 0, "n"], - [4579, 0, "d"], - [4580, 0, " "], - [4581, 0, "l"], - [4582, 0, "e"], - [4583, 0, "s"], - [4584, 0, "s"], - [4585, 0, " "], - [4586, 0, "e"], - [4587, 0, "r"], - [4588, 0, "r"], - [4589, 0, "o"], - [4590, 0, "r"], - [4591, 0, "-"], - [4592, 0, "p"], - [4593, 0, "r"], - [4594, 0, "o"], - [4595, 0, "n"], - [4596, 0, "e"], - [4597, 0, "~"], - [4598, 0, "\\"], - [4599, 0, "c"], - [4600, 0, "i"], - [4601, 0, "t"], - [4602, 0, "e"], - [4603, 0, "{"], - [4604, 0, "I"], - [4605, 0, "m"], - [4606, 0, "i"], - [4607, 0, "n"], - [4608, 0, "e"], - [4609, 0, ":"], - [4610, 0, "2"], - [4611, 0, "0"], - [4612, 0, "0"], - [4613, 0, "3"], - [4614, 0, "k"], - [4615, 0, "s"], - [4616, 0, "}"], - [4617, 0, ","], - [4618, 0, " "], - [4619, 0, "b"], - [4620, 0, "u"], - [4621, 0, "t"], - [4622, 0, " "], - [4623, 0, "i"], - [4624, 0, "t"], - [4625, 0, " "], - [4626, 0, "d"], - [4627, 0, "o"], - [4628, 0, "e"], - [4629, 0, "s"], - [4630, 0, " "], - [4631, 0, "n"], - [4632, 0, "o"], - [4633, 0, "t"], - [4634, 0, " "], - [4635, 0, "m"], - [4636, 0, "e"], - [4637, 0, "e"], - [4638, 0, "t"], - [4639, 0, " "], - [4640, 0, "o"], - [4641, 0, "u"], - [4642, 0, "r"], - [4643, 0, " "], - [4644, 0, "r"], - [4645, 0, "e"], - [4646, 0, "q"], - [4647, 0, "u"], - [4648, 0, "i"], - [4649, 0, "r"], - [4650, 0, "e"], - [4651, 0, "m"], - [4652, 0, "e"], - [4653, 0, "n"], - [4654, 0, "t"], - [4655, 0, "s"], - [4656, 0, ","], - [4657, 0, " "], - [4658, 0, "s"], - [4659, 0, "i"], - [4660, 0, "n"], - [4661, 0, "c"], - [4662, 0, "e"], - [4663, 0, " "], - [4664, 0, "w"], - [4665, 0, "e"], - [4666, 0, " "], - [4667, 0, "w"], - [4668, 0, "a"], - [4669, 0, "n"], - [4670, 0, "t"], - [4671, 0, " "], - [4672, 0, "t"], - [4673, 0, "o"], - [4674, 0, " "], - [4675, 0, "s"], - [4676, 0, "u"], - [4677, 0, "p"], - [4678, 0, "p"], - [4679, 0, "o"], - [4680, 0, "r"], - [4681, 0, "t"], - [4682, 0, " "], - [4683, 0, "p"], - [4684, 0, "e"], - [4685, 0, "e"], - [4686, 0, "r"], - [4687, 0, "-"], - [4688, 0, "t"], - [4689, 0, "o"], - [4690, 0, "-"], - [4691, 0, "p"], - [4692, 0, "e"], - [4693, 0, "e"], - [4694, 0, "r"], - [4695, 0, " "], - [4696, 0, "c"], - [4697, 0, "o"], - [4698, 0, "l"], - [4699, 0, "l"], - [4700, 0, "a"], - [4701, 0, "b"], - [4702, 0, "o"], - [4703, 0, "r"], - [4704, 0, "a"], - [4705, 0, "t"], - [4706, 0, "i"], - [4707, 0, "o"], - [4708, 0, "n"], - [4709, 0, " "], - [4710, 0, "w"], - [4711, 0, "i"], - [4712, 0, "t"], - [4713, 0, "h"], - [4714, 0, "o"], - [4715, 0, "u"], - [4716, 0, "t"], - [4717, 0, " "], - [4718, 0, "r"], - [4719, 0, "e"], - [4720, 0, "q"], - [4721, 0, "u"], - [4722, 0, "i"], - [4723, 0, "r"], - [4724, 0, "i"], - [4725, 0, "n"], - [4726, 0, "g"], - [4727, 0, " "], - [4728, 0, "a"], - [4729, 0, " "], - [4730, 0, "s"], - [4731, 0, "i"], - [4732, 0, "n"], - [4733, 0, "g"], - [4734, 0, "l"], - [4735, 0, "e"], - [4736, 0, " "], - [4737, 0, "s"], - [4738, 0, "e"], - [4739, 0, "r"], - [4740, 0, "v"], - [4741, 0, "e"], - [4742, 0, "r"], - [4743, 0, "."], - [4744, 0, "\n"], - [4745, 0, "\n"], - [4746, 0, "M"], - [4747, 0, "a"], - [4748, 0, "n"], - [4749, 0, "y"], - [4750, 0, " "], - [4751, 0, "s"], - [4752, 0, "e"], - [4753, 0, "c"], - [4754, 0, "u"], - [4755, 0, "r"], - [4756, 0, "e"], - [4757, 0, " "], - [4758, 0, "m"], - [4759, 0, "e"], - [4760, 0, "s"], - [4761, 0, "s"], - [4762, 0, "a"], - [4763, 0, "g"], - [4764, 0, "i"], - [4765, 0, "n"], - [4766, 0, "g"], - [4767, 0, " "], - [4768, 0, "p"], - [4769, 0, "r"], - [4770, 0, "o"], - [4771, 0, "t"], - [4772, 0, "o"], - [4773, 0, "c"], - [4774, 0, "o"], - [4775, 0, "l"], - [4776, 0, "s"], - [4777, 0, ","], - [4778, 0, " "], - [4779, 0, "w"], - [4780, 0, "h"], - [4781, 0, "i"], - [4782, 0, "c"], - [4783, 0, "h"], - [4784, 0, " "], - [4785, 0, "w"], - [4786, 0, "e"], - [4787, 0, " "], - [4788, 0, "p"], - [4789, 0, "l"], - [4790, 0, "a"], - [4791, 0, "n"], - [4792, 0, " "], - [4793, 0, "t"], - [4794, 0, "o"], - [4795, 0, " "], - [4796, 0, "u"], - [4797, 0, "s"], - [4798, 0, "e"], - [4799, 0, " "], - [4800, 0, "f"], - [4801, 0, "o"], - [4802, 0, "r"], - [4803, 0, " "], - [4804, 0, "e"], - [4805, 0, "n"], - [4806, 0, "c"], - [4807, 0, "r"], - [4808, 0, "y"], - [4809, 0, "p"], - [4810, 0, "t"], - [4811, 0, "e"], - [4812, 0, "d"], - [4813, 0, " "], - [4814, 0, "c"], - [4815, 0, "o"], - [4816, 0, "l"], - [4817, 0, "l"], - [4818, 0, "a"], - [4819, 0, "b"], - [4820, 0, "o"], - [4821, 0, "r"], - [4822, 0, "a"], - [4823, 0, "t"], - [4824, 0, "i"], - [4825, 0, "o"], - [4826, 0, "n"], - [4827, 0, ","], - [4828, 0, " "], - [4829, 0, "d"], - [4830, 0, "o"], - [4831, 0, " "], - [4832, 0, "n"], - [4833, 0, "o"], - [4834, 0, "t"], - [4835, 0, " "], - [4836, 0, "g"], - [4837, 0, "u"], - [4838, 0, "a"], - [4839, 0, "r"], - [4840, 0, "a"], - [4841, 0, "n"], - [4842, 0, "t"], - [4843, 0, "e"], - [4844, 0, "e"], - [4845, 0, " "], - [4846, 0, "t"], - [4847, 0, "h"], - [4848, 0, "a"], - [4849, 0, "t"], - [4850, 0, " "], - [4851, 0, "d"], - [4852, 0, "i"], - [4853, 0, "f"], - [4854, 0, "f"], - [4855, 0, "e"], - [4856, 0, "r"], - [4857, 0, "e"], - [4858, 0, "n"], - [4859, 0, "t"], - [4860, 0, " "], - [4861, 0, "r"], - [4862, 0, "e"], - [4863, 0, "c"], - [4864, 0, "i"], - [4865, 0, "p"], - [4866, 0, "i"], - [4867, 0, "e"], - [4868, 0, "n"], - [4869, 0, "t"], - [4870, 0, "s"], - [4871, 0, " "], - [4872, 0, "w"], - [4873, 0, "i"], - [4874, 0, "l"], - [4875, 0, "l"], - [4876, 0, " "], - [4877, 0, "s"], - [4878, 0, "e"], - [4879, 0, "e"], - [4880, 0, " "], - [4881, 0, "m"], - [4882, 0, "e"], - [4883, 0, "s"], - [4884, 0, "s"], - [4885, 0, "a"], - [4886, 0, "g"], - [4887, 0, "e"], - [4888, 0, "s"], - [4889, 0, " "], - [4890, 0, "i"], - [4891, 0, "n"], - [4892, 0, " "], - [4893, 0, "t"], - [4894, 0, "h"], - [4895, 0, "e"], - [4896, 0, " "], - [4897, 0, "s"], - [4898, 0, "a"], - [4899, 0, "m"], - [4900, 0, "e"], - [4901, 0, " "], - [4902, 0, "o"], - [4903, 0, "r"], - [4904, 0, "d"], - [4905, 0, "e"], - [4906, 0, "r"], - [4907, 0, "~"], - [4908, 0, "\\"], - [4909, 0, "c"], - [4910, 0, "i"], - [4911, 0, "t"], - [4912, 0, "e"], - [4913, 0, "{"], - [4914, 0, "U"], - [4915, 0, "n"], - [4916, 0, "g"], - [4917, 0, "e"], - [4918, 0, "r"], - [4919, 0, ":"], - [4920, 0, "2"], - [4921, 0, "0"], - [4922, 0, "1"], - [4923, 0, "5"], - [4924, 0, "k"], - [4925, 0, "g"], - [4926, 0, "}"], - [4927, 0, "."], - [4928, 0, " "], - [4929, 0, "A"], - [4930, 0, "l"], - [4931, 0, "t"], - [4932, 0, "h"], - [4933, 0, "o"], - [4934, 0, "u"], - [4935, 0, "g"], - [4936, 0, "h"], - [4937, 0, " "], - [4938, 0, "i"], - [4939, 0, "t"], - [4940, 0, " "], - [4941, 0, "i"], - [4942, 0, "s"], - [4943, 0, " "], - [4944, 0, "p"], - [4945, 0, "o"], - [4946, 0, "s"], - [4947, 0, "s"], - [4948, 0, "i"], - [4949, 0, "b"], - [4950, 0, "l"], - [4951, 0, "e"], - [4952, 0, " "], - [4953, 0, "t"], - [4954, 0, "o"], - [4955, 0, " "], - [4956, 0, "d"], - [4957, 0, "e"], - [4958, 0, "c"], - [4959, 0, "i"], - [4960, 0, "d"], - [4961, 0, "e"], - [4962, 0, " "], - [4963, 0, "o"], - [4964, 0, "n"], - [4965, 0, " "], - [4966, 0, "a"], - [4967, 0, " "], - [4968, 0, "t"], - [4969, 0, "o"], - [4970, 0, "t"], - [4971, 0, "l"], - [4972, 0, "a"], - [4973, 0, " "], - [4973, 1], - [4972, 1], - [4971, 1], - [4971, 0, "a"], - [4972, 0, "l"], - [4973, 0, " "], - [4974, 0, "o"], - [4975, 0, "r"], - [4976, 0, "d"], - [4977, 0, "e"], - [4978, 0, "r"], - [4979, 0, "i"], - [4980, 0, "n"], - [4981, 0, "g"], - [4982, 0, " "], - [4983, 0, "o"], - [4984, 0, "f"], - [4985, 0, " "], - [4986, 0, "o"], - [4987, 0, "p"], - [4988, 0, "e"], - [4989, 0, "r"], - [4990, 0, "a"], - [4991, 0, "t"], - [4992, 0, "i"], - [4993, 0, "o"], - [4994, 0, "n"], - [4995, 0, "s"], - [4996, 0, " "], - [4997, 0, "b"], - [4998, 0, "y"], - [4999, 0, " "], - [5000, 0, "u"], - [5001, 0, "s"], - [5002, 0, "i"], - [5003, 0, "n"], - [5004, 0, "g"], - [5005, 0, " "], - [5006, 0, "a"], - [5007, 0, "n"], - [5008, 0, " "], - [5009, 0, "a"], - [5010, 0, "t"], - [5011, 0, "o"], - [5012, 0, "m"], - [5013, 0, "i"], - [5014, 0, "c"], - [5015, 0, " "], - [5016, 0, "b"], - [5017, 0, "r"], - [5018, 0, "o"], - [5019, 0, "a"], - [5020, 0, "d"], - [5021, 0, "c"], - [5022, 0, "a"], - [5023, 0, "s"], - [5024, 0, "t"], - [5025, 0, " "], - [5026, 0, "p"], - [5027, 0, "r"], - [5028, 0, "o"], - [5029, 0, "t"], - [5030, 0, "o"], - [5031, 0, "c"], - [5032, 0, "o"], - [5033, 0, "l"], - [5034, 0, "~"], - [5035, 0, "\\"], - [5036, 0, "c"], - [5037, 0, "i"], - [5038, 0, "t"], - [5039, 0, "e"], - [5040, 0, "{"], - [5041, 0, "D"], - [5042, 0, "e"], - [5043, 0, "f"], - [5044, 0, "a"], - [5045, 0, "g"], - [5046, 0, "o"], - [5047, 0, ":"], - [5048, 0, "2"], - [5049, 0, "0"], - [5050, 0, "0"], - [5051, 0, "4"], - [5052, 0, "j"], - [5053, 0, "i"], - [5054, 0, "}"], - [5055, 0, ","], - [5056, 0, " "], - [5057, 0, "w"], - [5058, 0, "h"], - [5059, 0, "i"], - [5060, 0, "c"], - [5061, 0, "h"], - [5062, 0, " "], - [5063, 0, "a"], - [5064, 0, "v"], - [5065, 0, "o"], - [5066, 0, "i"], - [5067, 0, "d"], - [5068, 0, "s"], - [5069, 0, " "], - [5070, 0, "r"], - [5071, 0, "e"], - [5072, 0, "l"], - [5073, 0, "y"], - [5074, 0, "i"], - [5075, 0, "n"], - [5076, 0, "g"], - [5077, 0, " "], - [5078, 0, "o"], - [5079, 0, "n"], - [5080, 0, " "], - [5081, 0, "a"], - [5082, 0, " "], - [5083, 0, "s"], - [5084, 0, "i"], - [5085, 0, "n"], - [5086, 0, "g"], - [5087, 0, "l"], - [5088, 0, "e"], - [5089, 0, " "], - [5090, 0, "s"], - [5091, 0, "e"], - [5092, 0, "r"], - [5093, 0, "v"], - [5094, 0, "e"], - [5095, 0, "r"], - [5096, 0, ","], - [5097, 0, " "], - [5098, 0, "s"], - [5099, 0, "u"], - [5100, 0, "c"], - [5101, 0, "h"], - [5102, 0, " "], - [5103, 0, "p"], - [5104, 0, "r"], - [5105, 0, "o"], - [5106, 0, "t"], - [5107, 0, "o"], - [5108, 0, "c"], - [5109, 0, "o"], - [5110, 0, "l"], - [5111, 0, "s"], - [5112, 0, " "], - [5113, 0, "a"], - [5114, 0, "r"], - [5115, 0, "e"], - [5116, 0, " "], - [5117, 0, "e"], - [5118, 0, "q"], - [5119, 0, "u"], - [5120, 0, "i"], - [5121, 0, "v"], - [5122, 0, "a"], - [5123, 0, "l"], - [5124, 0, "e"], - [5125, 0, "n"], - [5126, 0, "t"], - [5127, 0, " "], - [5128, 0, "t"], - [5129, 0, "o"], - [5130, 0, " "], - [5131, 0, "c"], - [5132, 0, "o"], - [5133, 0, "n"], - [5134, 0, "s"], - [5135, 0, "e"], - [5136, 0, "n"], - [5137, 0, "s"], - [5138, 0, "u"], - [5139, 0, "s"], - [5140, 0, "~"], - [5141, 0, "\\"], - [5142, 0, "c"], - [5143, 0, "i"], - [5144, 0, "t"], - [5145, 0, "e"], - [5146, 0, "{"], - [5147, 0, "C"], - [5148, 0, "h"], - [5149, 0, "a"], - [5150, 0, "n"], - [5151, 0, "d"], - [5152, 0, "r"], - [5153, 0, "a"], - [5154, 0, ":"], - [5155, 0, "1"], - [5156, 0, "9"], - [5157, 0, "9"], - [5158, 0, "6"], - [5159, 0, "c"], - [5160, 0, "p"], - [5161, 0, "}"], - [5162, 0, ","], - [5163, 0, " "], - [5164, 0, "s"], - [5165, 0, "o"], - [5166, 0, " "], - [5167, 0, "t"], - [5168, 0, "h"], - [5169, 0, "e"], - [5170, 0, "y"], - [5171, 0, " "], - [5172, 0, "c"], - [5173, 0, "a"], - [5174, 0, "n"], - [5175, 0, " "], - [5176, 0, "o"], - [5177, 0, "n"], - [5178, 0, "l"], - [5179, 0, "y"], - [5180, 0, " "], - [5181, 0, "s"], - [5182, 0, "a"], - [5183, 0, "f"], - [5184, 0, "e"], - [5185, 0, "l"], - [5186, 0, "y"], - [5187, 0, " "], - [5188, 0, "m"], - [5189, 0, "a"], - [5190, 0, "k"], - [5191, 0, "e"], - [5192, 0, " "], - [5193, 0, "p"], - [5194, 0, "r"], - [5195, 0, "o"], - [5196, 0, "g"], - [5197, 0, "r"], - [5198, 0, "e"], - [5199, 0, "s"], - [5200, 0, "s"], - [5201, 0, " "], - [5202, 0, "i"], - [5203, 0, "f"], - [5204, 0, " "], - [5205, 0, "a"], - [5206, 0, " "], - [5207, 0, "m"], - [5208, 0, "a"], - [5209, 0, "j"], - [5210, 0, "o"], - [5211, 0, "r"], - [5212, 0, "i"], - [5213, 0, "t"], - [5214, 0, "y"], - [5215, 0, " "], - [5216, 0, "o"], - [5217, 0, "f"], - [5218, 0, " "], - [5219, 0, "p"], - [5220, 0, "a"], - [5221, 0, "r"], - [5222, 0, "t"], - [5223, 0, "i"], - [5224, 0, "c"], - [5225, 0, "i"], - [5226, 0, "p"], - [5227, 0, "a"], - [5228, 0, "n"], - [5229, 0, "t"], - [5230, 0, "s"], - [5231, 0, " "], - [5232, 0, "a"], - [5233, 0, "r"], - [5234, 0, "e"], - [5235, 0, " "], - [5236, 0, "o"], - [5237, 0, "n"], - [5238, 0, "l"], - [5239, 0, "i"], - [5240, 0, "n"], - [5241, 0, "e"], - [5242, 0, " "], - [5243, 0, "a"], - [5244, 0, "n"], - [5245, 0, "d"], - [5246, 0, " "], - [5247, 0, "r"], - [5248, 0, "e"], - [5249, 0, "a"], - [5250, 0, "c"], - [5251, 0, "h"], - [5252, 0, "a"], - [5253, 0, "b"], - [5254, 0, "l"], - [5255, 0, "e"], - [5256, 0, "."], - [5257, 0, " "], - [5258, 0, "W"], - [5259, 0, "e"], - [5260, 0, " "], - [5261, 0, "e"], - [5262, 0, "x"], - [5263, 0, "p"], - [5264, 0, "e"], - [5265, 0, "c"], - [5266, 0, "t"], - [5267, 0, " "], - [5268, 0, "t"], - [5269, 0, "h"], - [5270, 0, "a"], - [5271, 0, "t"], - [5272, 0, " "], - [5273, 0, "i"], - [5274, 0, "n"], - [5275, 0, " "], - [5276, 0, "p"], - [5277, 0, "e"], - [5278, 0, "e"], - [5279, 0, "r"], - [5280, 0, "-"], - [5281, 0, "t"], - [5282, 0, "o"], - [5283, 0, "-"], - [5284, 0, "p"], - [5285, 0, "e"], - [5286, 0, "e"], - [5287, 0, "r"], - [5288, 0, " "], - [5289, 0, "s"], - [5290, 0, "y"], - [5291, 0, "s"], - [5292, 0, "t"], - [5293, 0, "e"], - [5294, 0, "m"], - [5295, 0, "s"], - [5296, 0, " "], - [5297, 0, "o"], - [5298, 0, "f"], - [5299, 0, " "], - [5300, 0, "m"], - [5301, 0, "o"], - [5302, 0, "b"], - [5303, 0, "i"], - [5304, 0, "l"], - [5305, 0, "e"], - [5306, 0, " "], - [5307, 0, "d"], - [5308, 0, "e"], - [5309, 0, "v"], - [5310, 0, "i"], - [5311, 0, "c"], - [5312, 0, "e"], - [5313, 0, "s"], - [5314, 0, " "], - [5315, 0, "i"], - [5316, 0, "t"], - [5317, 0, " "], - [5318, 0, "w"], - [5319, 0, "i"], - [5320, 0, "l"], - [5321, 0, "l"], - [5322, 0, " "], - [5323, 0, "f"], - [5324, 0, "r"], - [5325, 0, "e"], - [5326, 0, "q"], - [5327, 0, "u"], - [5328, 0, "e"], - [5329, 0, "n"], - [5330, 0, "t"], - [5331, 0, "l"], - [5332, 0, "y"], - [5333, 0, " "], - [5334, 0, "b"], - [5335, 0, "e"], - [5336, 0, " "], - [5337, 0, "t"], - [5338, 0, "h"], - [5339, 0, "e"], - [5340, 0, " "], - [5341, 0, "c"], - [5342, 0, "a"], - [5343, 0, "s"], - [5344, 0, "e"], - [5345, 0, " "], - [5346, 0, "t"], - [5347, 0, "h"], - [5348, 0, "a"], - [5349, 0, "t"], - [5350, 0, " "], - [5351, 0, "o"], - [5352, 0, "n"], - [5353, 0, "l"], - [5354, 0, "y"], - [5355, 0, " "], - [5356, 0, "a"], - [5357, 0, " "], - [5358, 0, "m"], - [5359, 0, "i"], - [5360, 0, "n"], - [5361, 0, "o"], - [5362, 0, "r"], - [5363, 0, "i"], - [5364, 0, "t"], - [5365, 0, "y"], - [5366, 0, " "], - [5367, 0, "o"], - [5368, 0, "f"], - [5369, 0, " "], - [5370, 0, "p"], - [5371, 0, "a"], - [5372, 0, "r"], - [5373, 0, "t"], - [5374, 0, "i"], - [5375, 0, "c"], - [5376, 0, "i"], - [5377, 0, "p"], - [5378, 0, "a"], - [5379, 0, "n"], - [5380, 0, "t"], - [5381, 0, "s"], - [5382, 0, " "], - [5383, 0, "a"], - [5384, 0, "r"], - [5385, 0, "e"], - [5386, 0, " "], - [5387, 0, "o"], - [5388, 0, "n"], - [5389, 0, "l"], - [5390, 0, "i"], - [5391, 0, "n"], - [5392, 0, "e"], - [5393, 0, " "], - [5394, 0, "a"], - [5395, 0, "t"], - [5396, 0, " "], - [5397, 0, "t"], - [5398, 0, "h"], - [5399, 0, "e"], - [5400, 0, " "], - [5401, 0, "s"], - [5402, 0, "a"], - [5403, 0, "m"], - [5404, 0, "e"], - [5405, 0, " "], - [5406, 0, "t"], - [5407, 0, "i"], - [5408, 0, "m"], - [5409, 0, "e"], - [5410, 0, ","], - [5411, 0, " "], - [5412, 0, "a"], - [5413, 0, "n"], - [5414, 0, "d"], - [5415, 0, " "], - [5416, 0, "s"], - [5417, 0, "o"], - [5418, 0, " "], - [5419, 0, "a"], - [5420, 0, "n"], - [5421, 0, "y"], - [5422, 0, " "], - [5423, 0, "a"], - [5424, 0, "l"], - [5425, 0, "g"], - [5426, 0, "o"], - [5427, 0, "r"], - [5428, 0, "i"], - [5429, 0, "t"], - [5430, 0, "h"], - [5431, 0, "m"], - [5432, 0, "s"], - [5432, 1], - [5432, 0, " "], - [5433, 0, "r"], - [5434, 0, "e"], - [5435, 0, "q"], - [5436, 0, "u"], - [5437, 0, "i"], - [5438, 0, "r"], - [5439, 0, "i"], - [5440, 0, "n"], - [5441, 0, "g"], - [5442, 0, " "], - [5443, 0, "a"], - [5444, 0, "t"], - [5445, 0, "o"], - [5446, 0, "m"], - [5447, 0, "i"], - [5448, 0, "c"], - [5449, 0, " "], - [5450, 0, "b"], - [5451, 0, "r"], - [5452, 0, "o"], - [5453, 0, "a"], - [5454, 0, "d"], - [5455, 0, "c"], - [5456, 0, "a"], - [5457, 0, "s"], - [5458, 0, "t"], - [5459, 0, " "], - [5460, 0, "w"], - [5461, 0, "o"], - [5462, 0, "u"], - [5463, 0, "l"], - [5464, 0, "d"], - [5465, 0, " "], - [5466, 0, "b"], - [5467, 0, "e"], - [5468, 0, "c"], - [5469, 0, "o"], - [5470, 0, "m"], - [5471, 0, "e"], - [5472, 0, " "], - [5473, 0, "u"], - [5474, 0, "n"], - [5475, 0, "a"], - [5476, 0, "v"], - [5477, 0, "a"], - [5478, 0, "i"], - [5479, 0, "l"], - [5480, 0, "a"], - [5481, 0, "b"], - [5482, 0, "l"], - [5483, 0, "e"], - [5484, 0, "."], - [5485, 0, " "], - [5486, 0, "T"], - [5487, 0, "h"], - [5488, 0, "e"], - [5489, 0, " "], - [5490, 0, "s"], - [5491, 0, "t"], - [5492, 0, "r"], - [5493, 0, "o"], - [5494, 0, "n"], - [5495, 0, "g"], - [5496, 0, "e"], - [5497, 0, "s"], - [5498, 0, "t"], - [5499, 0, " "], - [5500, 0, "g"], - [5501, 0, "u"], - [5502, 0, "a"], - [5503, 0, "r"], - [5504, 0, "a"], - [5505, 0, "n"], - [5506, 0, "t"], - [5507, 0, "e"], - [5508, 0, "e"], - [5509, 0, " "], - [5510, 0, "s"], - [5511, 0, "u"], - [5512, 0, "c"], - [5513, 0, "h"], - [5514, 0, " "], - [5515, 0, "a"], - [5516, 0, " "], - [5517, 0, "s"], - [5518, 0, "y"], - [5519, 0, "s"], - [5520, 0, "t"], - [5521, 0, "e"], - [5522, 0, "m"], - [5523, 0, " "], - [5524, 0, "c"], - [5525, 0, "a"], - [5526, 0, "n"], - [5527, 0, " "], - [5528, 0, "g"], - [5529, 0, "i"], - [5530, 0, "v"], - [5531, 0, "e"], - [5532, 0, " "], - [5533, 0, "i"], - [5534, 0, "s"], - [5535, 0, " "], - [5536, 0, "c"], - [5537, 0, "a"], - [5538, 0, "u"], - [5539, 0, "s"], - [5540, 0, "a"], - [5541, 0, "l"], - [5542, 0, " "], - [5543, 0, "o"], - [5544, 0, "r"], - [5545, 0, "d"], - [5546, 0, "e"], - [5547, 0, "r"], - [5548, 0, "i"], - [5549, 0, "n"], - [5550, 0, "g"], - [5551, 0, "~"], - [5552, 0, "]"], - [5552, 1], - [5552, 0, "\\"], - [5553, 0, "c"], - [5554, 0, "i"], - [5555, 0, "t"], - [5556, 0, "e"], - [5557, 0, "{"], - [5558, 0, "A"], - [5559, 0, "t"], - [5560, 0, "t"], - [5561, 0, "i"], - [5562, 0, "y"], - [5563, 0, "a"], - [5564, 0, ":"], - [5565, 0, "2"], - [5566, 0, "0"], - [5567, 0, "1"], - [5568, 0, "5"], - [5569, 0, "d"], - [5570, 0, "m"], - [5571, 0, "}"], - [5572, 0, "."], - [5573, 0, "\n"], - [5574, 0, "\n"], - [5575, 0, "T"], - [5576, 0, "h"], - [5577, 0, "e"], - [5578, 0, " "], - [5579, 0, "G"], - [5580, 0, "o"], - [5581, 0, "o"], - [5582, 0, "g"], - [5583, 0, "l"], - [5584, 0, "e"], - [5585, 0, " "], - [5586, 0, "R"], - [5587, 0, "e"], - [5588, 0, "a"], - [5589, 0, "l"], - [5590, 0, "t"], - [5591, 0, "i"], - [5592, 0, "m"], - [5593, 0, "e"], - [5594, 0, " "], - [5595, 0, "A"], - [5596, 0, "P"], - [5597, 0, "I"], - [5598, 0, "~"], - [5599, 0, "\\"], - [5600, 0, "c"], - [5601, 0, "i"], - [5602, 0, "t"], - [5603, 0, "e"], - [5604, 0, "{"], - [5605, 0, "G"], - [5606, 0, "o"], - [5607, 0, "o"], - [5608, 0, "g"], - [5609, 0, "o"], - [5609, 1], - [5609, 0, "l"], - [5610, 0, "e"], - [5611, 0, ":"], - [5612, 0, "2"], - [5613, 0, "0"], - [5614, 0, "1"], - [5615, 0, "5"], - [5616, 0, "v"], - [5617, 0, "k"], - [5618, 0, "}"], - [5619, 0, " "], - [5620, 0, "i"], - [5621, 0, "s"], - [5622, 0, " "], - [5623, 0, "t"], - [5624, 0, "h"], - [5625, 0, "e"], - [5626, 0, " "], - [5627, 0, "o"], - [5628, 0, "n"], - [5629, 0, "l"], - [5630, 0, "y"], - [5631, 0, " "], - [5632, 0, "i"], - [5633, 0, "m"], - [5634, 0, "p"], - [5635, 0, "l"], - [5636, 0, "e"], - [5637, 0, "m"], - [5638, 0, "e"], - [5639, 0, "n"], - [5640, 0, "t"], - [5641, 0, "a"], - [5642, 0, "t"], - [5643, 0, "i"], - [5644, 0, "o"], - [5645, 0, "n"], - [5646, 0, " "], - [5647, 0, "o"], - [5648, 0, "f"], - [5649, 0, " "], - [5650, 0, "O"], - [5651, 0, "T"], - [5652, 0, " "], - [5653, 0, "o"], - [5654, 0, "f"], - [5655, 0, " "], - [5656, 0, "w"], - [5657, 0, "h"], - [5658, 0, "i"], - [5659, 0, "c"], - [5660, 0, "h"], - [5661, 0, " "], - [5662, 0, "w"], - [5663, 0, "e"], - [5664, 0, " "], - [5665, 0, "a"], - [5666, 0, "r"], - [5667, 0, "e"], - [5668, 0, " "], - [5669, 0, "a"], - [5670, 0, "w"], - [5671, 0, "a"], - [5672, 0, "r"], - [5673, 0, "e"], - [5674, 0, " "], - [5675, 0, "t"], - [5676, 0, "h"], - [5677, 0, "a"], - [5678, 0, "t"], - [5679, 0, " "], - [5623, 0, "t"], - [5624, 0, "o"], - [5625, 0, " "], - [5626, 0, "o"], - [5627, 0, "u"], - [5628, 0, "r"], - [5629, 0, " "], - [5630, 0, "k"], - [5631, 0, "n"], - [5632, 0, "o"], - [5633, 0, "w"], - [5634, 0, "l"], - [5635, 0, "e"], - [5636, 0, "d"], - [5637, 0, "g"], - [5638, 0, "e"], - [5639, 0, " "], - [5691, 1], - [5690, 1], - [5689, 1], - [5688, 1], - [5687, 1], - [5686, 1], - [5685, 1], - [5684, 1], - [5683, 1], - [5682, 1], - [5681, 1], - [5680, 1], - [5679, 1], - [5678, 1], - [5677, 1], - [5676, 1], - [5675, 1], - [5674, 1], - [5673, 1], - [5672, 1], - [5671, 1], - [5670, 1], - [5675, 0, "s"], - [5676, 0, "u"], - [5677, 0, "p"], - [5678, 0, "p"], - [5679, 0, "o"], - [5680, 0, "r"], - [5681, 0, "t"], - [5682, 0, "s"], - [5683, 0, " "], - [5684, 0, "a"], - [5685, 0, "r"], - [5686, 0, "b"], - [5687, 0, "i"], - [5688, 0, "t"], - [5689, 0, "r"], - [5690, 0, "a"], - [5691, 0, "r"], - [5692, 0, "y"], - [5693, 0, " "], - [5694, 0, "n"], - [5695, 0, "e"], - [5696, 0, "s"], - [5697, 0, "t"], - [5698, 0, "i"], - [5699, 0, "n"], - [5700, 0, "g"], - [5701, 0, " "], - [5702, 0, "o"], - [5703, 0, "f"], - [5704, 0, " "], - [5705, 0, "l"], - [5706, 0, "i"], - [5707, 0, "s"], - [5708, 0, "t"], - [5709, 0, "s"], - [5710, 0, " "], - [5711, 0, "a"], - [5712, 0, "n"], - [5713, 0, "d"], - [5714, 0, " "], - [5715, 0, "m"], - [5716, 0, "a"], - [5717, 0, "p"], - [5718, 0, "s"], - [5719, 0, "."], - [5720, 0, " "], - [5721, 0, "L"], - [5722, 0, "i"], - [5723, 0, "k"], - [5724, 0, "e"], - [5725, 0, " "], - [5726, 0, "G"], - [5727, 0, "o"], - [5728, 0, "o"], - [5729, 0, "g"], - [5730, 0, "l"], - [5731, 0, "e"], - [5732, 0, " "], - [5733, 0, "D"], - [5734, 0, "o"], - [5735, 0, "c"], - [5736, 0, "s"], - [5737, 0, ","], - [5738, 0, " "], - [5739, 0, "i"], - [5740, 0, "t"], - [5741, 0, " "], - [5742, 0, "r"], - [5743, 0, "e"], - [5744, 0, "l"], - [5745, 0, "i"], - [5746, 0, "e"], - [5747, 0, "s"], - [5748, 0, " "], - [5749, 0, "o"], - [5750, 0, "n"], - [5751, 0, " "], - [5752, 0, "a"], - [5753, 0, " "], - [5754, 0, "s"], - [5755, 0, "i"], - [5756, 0, "n"], - [5757, 0, "g"], - [5758, 0, "l"], - [5759, 0, "e"], - [5760, 0, " "], - [5761, 0, "s"], - [5762, 0, "e"], - [5763, 0, "r"], - [5764, 0, "v"], - [5765, 0, "e"], - [5766, 0, "r"], - [5767, 0, "~"], - [5768, 0, "\\"], - [5769, 0, "c"], - [5770, 0, "i"], - [5771, 0, "t"], - [5772, 0, "e"], - [5773, 0, "{"], - [5774, 0, "L"], - [5775, 0, "e"], - [5776, 0, "m"], - [5777, 0, "o"], - [5778, 0, "n"], - [5779, 0, "i"], - [5780, 0, "k"], - [5781, 0, ":"], - [5782, 0, "2"], - [5783, 0, "0"], - [5784, 0, "1"], - [5785, 0, "6"], - [5786, 0, "w"], - [5787, 0, "h"], - [5788, 0, "}"], - [5789, 0, "."], - [5790, 0, " "], - [5791, 0, "A"], - [5792, 0, "s"], - [5793, 0, " "], - [5794, 0, "a"], - [5795, 0, " "], - [5796, 0, "p"], - [5797, 0, "r"], - [5798, 0, "o"], - [5799, 0, "p"], - [5800, 0, "r"], - [5801, 0, "i"], - [5802, 0, "e"], - [5803, 0, "t"], - [5804, 0, "a"], - [5805, 0, "r"], - [5806, 0, "y"], - [5807, 0, " "], - [5808, 0, "p"], - [5809, 0, "r"], - [5810, 0, "o"], - [5811, 0, "d"], - [5812, 0, "u"], - [5813, 0, "c"], - [5814, 0, "t"], - [5815, 0, ","], - [5816, 0, " "], - [5817, 0, "d"], - [5818, 0, "e"], - [5819, 0, "t"], - [5820, 0, "a"], - [5821, 0, "i"], - [5822, 0, "l"], - [5823, 0, "s"], - [5824, 0, " "], - [5825, 0, "o"], - [5826, 0, "f"], - [5827, 0, " "], - [5828, 0, "i"], - [5829, 0, "t"], - [5830, 0, "s"], - [5831, 0, " "], - [5832, 0, "a"], - [5833, 0, "l"], - [5834, 0, "g"], - [5835, 0, "o"], - [5836, 0, "r"], - [5837, 0, "i"], - [5838, 0, "t"], - [5839, 0, "h"], - [5840, 0, "m"], - [5841, 0, "s"], - [5842, 0, " "], - [5843, 0, "h"], - [5844, 0, "a"], - [5845, 0, "v"], - [5846, 0, "e"], - [5847, 0, " "], - [5848, 0, "n"], - [5849, 0, "o"], - [5850, 0, "t"], - [5851, 0, " "], - [5852, 0, "b"], - [5853, 0, "e"], - [5854, 0, "e"], - [5855, 0, "n"], - [5856, 0, " "], - [5857, 0, "p"], - [5858, 0, "u"], - [5859, 0, "b"], - [5860, 0, "l"], - [5861, 0, "i"], - [5862, 0, "s"], - [5863, 0, "h"], - [5864, 0, "e"], - [5865, 0, "d"], - [5866, 0, "."], - [5867, 0, "\n"], - [5868, 0, "\n"], - [5869, 0, "\\"], - [5870, 0, "s"], - [5871, 0, "u"], - [5872, 0, "b"], - [5873, 0, "s"], - [5874, 0, "e"], - [5875, 0, "c"], - [5876, 0, "t"], - [5877, 0, "i"], - [5878, 0, "o"], - [5879, 0, "n"], - [5880, 0, "{"], - [5881, 0, "C"], - [5882, 0, "R"], - [5883, 0, "D"], - [5884, 0, "T"], - [5885, 0, "s"], - [5886, 0, "}"], - [5887, 0, "\\"], - [5888, 0, "l"], - [5889, 0, "a"], - [5890, 0, "b"], - [5891, 0, "e"], - [5892, 0, "l"], - [5893, 0, "{"], - [5894, 0, "s"], - [5895, 0, "e"], - [5896, 0, "c"], - [5897, 0, ":"], - [5898, 0, "r"], - [5899, 0, "e"], - [5900, 0, "l"], - [5901, 0, "a"], - [5902, 0, "t"], - [5903, 0, "e"], - [5904, 0, "d"], - [5905, 0, "-"], - [5906, 0, "c"], - [5907, 0, "r"], - [5908, 0, "d"], - [5909, 0, "t"], - [5910, 0, "s"], - [5911, 0, "}"], - [5912, 0, "\n"], - [5913, 0, "\n"], - [5914, 0, "C"], - [5915, 0, "R"], - [5916, 0, "D"], - [5917, 0, "T"], - [5918, 0, "s"], - [5919, 0, " "], - [5920, 0, "f"], - [5921, 0, "o"], - [5922, 0, "r"], - [5923, 0, " "], - [5924, 0, "r"], - [5925, 0, "e"], - [5926, 0, "g"], - [5927, 0, "i"], - [5928, 0, "s"], - [5929, 0, "t"], - [5930, 0, "e"], - [5931, 0, "r"], - [5932, 0, "s"], - [5933, 0, ","], - [5934, 0, " "], - [5935, 0, "c"], - [5936, 0, "o"], - [5937, 0, "u"], - [5938, 0, "n"], - [5939, 0, "t"], - [5940, 0, "e"], - [5941, 0, "r"], - [5942, 0, "s"], - [5943, 0, ","], - [5944, 0, " "], - [5945, 0, "m"], - [5946, 0, "a"], - [5947, 0, "p"], - [5948, 0, "s"], - [5949, 0, " "], - [5950, 0, "a"], - [5951, 0, "n"], - [5952, 0, "d"], - [5953, 0, " "], - [5954, 0, "s"], - [5955, 0, "e"], - [5956, 0, "t"], - [5957, 0, "s"], - [5958, 0, " "], - [5959, 0, "a"], - [5960, 0, "r"], - [5961, 0, "e"], - [5962, 0, " "], - [5963, 0, "w"], - [5964, 0, "i"], - [5965, 0, "d"], - [5966, 0, "e"], - [5967, 0, "l"], - [5968, 0, "y"], - [5969, 0, " "], - [5970, 0, "k"], - [5971, 0, "n"], - [5972, 0, "o"], - [5973, 0, "w"], - [5974, 0, "n"], - [5975, 0, "~"], - [5976, 0, "\\"], - [5977, 0, "c"], - [5978, 0, "i"], - [5979, 0, "t"], - [5980, 0, "e"], - [5981, 0, "{"], - [5982, 0, "S"], - [5983, 0, "h"], - [5984, 0, "a"], - [5985, 0, "p"], - [5986, 0, "i"], - [5987, 0, "r"], - [5988, 0, "o"], - [5989, 0, ":"], - [5990, 0, "2"], - [5991, 0, "0"], - [5992, 0, "1"], - [5993, 0, "1"], - [5994, 0, "u"], - [5995, 0, "n"], - [5996, 0, ","], - [5997, 0, "S"], - [5998, 0, "h"], - [5999, 0, "a"], - [6000, 0, "p"], - [6001, 0, "i"], - [6002, 0, "r"], - [6003, 0, "o"], - [6004, 0, ":"], - [6005, 0, "2"], - [6006, 0, "0"], - [6007, 0, "1"], - [6008, 0, "1"], - [6009, 0, "w"], - [6010, 0, "y"], - [6011, 0, "}"], - [6012, 0, ","], - [6013, 0, " "], - [6014, 0, "a"], - [6015, 0, "n"], - [6016, 0, "d"], - [6017, 0, " "], - [6018, 0, "h"], - [6019, 0, "a"], - [6020, 0, "v"], - [6021, 0, "e"], - [6022, 0, " "], - [6023, 0, "b"], - [6024, 0, "e"], - [6025, 0, "e"], - [6026, 0, "n"], - [6027, 0, " "], - [6028, 0, "i"], - [6029, 0, "m"], - [6030, 0, "p"], - [6031, 0, "l"], - [6032, 0, "e"], - [6033, 0, "m"], - [6034, 0, "e"], - [6035, 0, "n"], - [6036, 0, "t"], - [6037, 0, "e"], - [6038, 0, "d"], - [6039, 0, " "], - [6040, 0, "i"], - [6041, 0, "n"], - [6042, 0, " "], - [6043, 0, "v"], - [6044, 0, "a"], - [6045, 0, "r"], - [6046, 0, "i"], - [6047, 0, "o"], - [6048, 0, "u"], - [6049, 0, "s"], - [6050, 0, " "], - [6051, 0, "d"], - [6052, 0, "e"], - [6053, 0, "p"], - [6054, 0, "l"], - [6055, 0, "o"], - [6056, 0, "y"], - [6057, 0, "e"], - [6058, 0, "d"], - [6059, 0, " "], - [6060, 0, "s"], - [6061, 0, "y"], - [6062, 0, "s"], - [6063, 0, "t"], - [6064, 0, "e"], - [6065, 0, "m"], - [6066, 0, "s"], - [6067, 0, " "], - [6068, 0, "s"], - [6069, 0, "u"], - [6070, 0, "c"], - [6071, 0, "h"], - [6072, 0, " "], - [6073, 0, "a"], - [6074, 0, "s"], - [6075, 0, " "], - [6076, 0, "R"], - [6077, 0, "i"], - [6078, 0, "a"], - [6079, 0, "k"], - [6080, 0, "~"], - [6081, 0, "\\"], - [6082, 0, "c"], - [6083, 0, "i"], - [6084, 0, "t"], - [6085, 0, "e"], - [6086, 0, "{"], - [6087, 0, "B"], - [6088, 0, "r"], - [6089, 0, "o"], - [6090, 0, "w"], - [6091, 0, "n"], - [6092, 0, ":"], - [6093, 0, "2"], - [6094, 0, "0"], - [6095, 0, "1"], - [6096, 0, "4"], - [6097, 0, "h"], - [6098, 0, "s"], - [6099, 0, ","], - [6100, 0, "B"], - [6101, 0, "r"], - [6102, 0, "o"], - [6103, 0, "w"], - [6104, 0, "n"], - [6105, 0, ":"], - [6106, 0, "2"], - [6107, 0, "0"], - [6108, 0, "1"], - [6109, 0, "3"], - [6110, 0, "w"], - [6111, 0, "y"], - [6112, 0, "}"], - [6113, 0, "."], - [6114, 0, " "], - [6115, 0, "F"], - [6116, 0, "o"], - [6117, 0, "r"], - [6118, 0, " "], - [6119, 0, "o"], - [6120, 0, "r"], - [6121, 0, "d"], - [6122, 0, "e"], - [6123, 0, "r"], - [6124, 0, "e"], - [6125, 0, "d"], - [6126, 0, " "], - [6127, 0, "l"], - [6128, 0, "i"], - [6129, 0, "s"], - [6130, 0, "t"], - [6131, 0, "s"], - [6132, 0, ","], - [6133, 0, " "], - [6134, 0, "v"], - [6135, 0, "a"], - [6136, 0, "r"], - [6137, 0, "i"], - [6138, 0, "o"], - [6139, 0, "u"], - [6140, 0, "s"], - [6141, 0, " "], - [6142, 0, "a"], - [6143, 0, "l"], - [6144, 0, "g"], - [6145, 0, "o"], - [6146, 0, "r"], - [6147, 0, "i"], - [6148, 0, "t"], - [6149, 0, "h"], - [6150, 0, "m"], - [6151, 0, "s"], - [6152, 0, " "], - [6153, 0, "h"], - [6154, 0, "a"], - [6155, 0, "v"], - [6156, 0, "e"], - [6157, 0, " "], - [6158, 0, "b"], - [6159, 0, "e"], - [6160, 0, "e"], - [6161, 0, "n"], - [6162, 0, " "], - [6163, 0, "p"], - [6164, 0, "r"], - [6165, 0, "o"], - [6166, 0, "p"], - [6167, 0, "o"], - [6168, 0, "s"], - [6169, 0, "e"], - [6170, 0, "d"], - [6171, 0, ","], - [6172, 0, " "], - [6173, 0, "i"], - [6174, 0, "n"], - [6175, 0, "c"], - [6176, 0, "l"], - [6177, 0, "u"], - [6177, 1], - [6177, 0, "u"], - [6178, 0, "d"], - [6179, 0, "i"], - [6180, 0, "n"], - [6181, 0, "g"], - [6182, 0, " "], - [6183, 0, "W"], - [6184, 0, "O"], - [6185, 0, "O"], - [6186, 0, "T"], - [6187, 0, "~"], - [6188, 0, "\\"], - [6189, 0, "c"], - [6190, 0, "i"], - [6191, 0, "t"], - [6192, 0, "e"], - [6193, 0, "{"], - [6194, 0, "O"], - [6195, 0, "s"], - [6196, 0, "t"], - [6197, 0, "e"], - [6198, 0, "r"], - [6199, 0, ":"], - [6200, 0, "2"], - [6201, 0, "0"], - [6202, 0, "0"], - [6203, 0, "6"], - [6204, 0, "w"], - [6205, 0, "j"], - [6206, 0, "}"], - [6207, 0, ","], - [6208, 0, " "], - [6209, 0, "R"], - [6210, 0, "G"], - [6211, 0, "A"], - [6212, 0, "~"], - [6213, 0, "\\"], - [6214, 0, "c"], - [6215, 0, "i"], - [6216, 0, "t"], - [6217, 0, "e"], - [6218, 0, "{"], - [6219, 0, "R"], - [6220, 0, "o"], - [6221, 0, "h"], - [6222, 0, ":"], - [6223, 0, "2"], - [6224, 0, "0"], - [6225, 0, "1"], - [6226, 0, "1"], - [6227, 0, "d"], - [6228, 0, "w"], - [6229, 0, "}"], - [6230, 0, ","], - [6231, 0, " "], - [6232, 0, "T"], - [6233, 0, "r"], - [6234, 0, "e"], - [6235, 0, "e"], - [6236, 0, "d"], - [6237, 0, "o"], - [6238, 0, "c"], - [6239, 0, "~"], - [6240, 0, "\\"], - [6241, 0, "c"], - [6242, 0, "i"], - [6243, 0, "t"], - [6244, 0, "e"], - [6245, 0, "{"], - [6246, 0, "P"], - [6247, 0, "r"], - [6248, 0, "e"], - [6249, 0, "g"], - [6250, 0, "u"], - [6251, 0, "i"], - [6252, 0, "c"], - [6253, 0, "a"], - [6254, 0, ":"], - [6255, 0, "2"], - [6256, 0, "0"], - [6257, 0, "0"], - [6258, 0, "9"], - [6259, 0, "f"], - [6260, 0, "z"], - [6261, 0, "}"], - [6262, 0, ","], - [6263, 0, " "], - [6264, 0, "L"], - [6265, 0, "o"], - [6266, 0, "g"], - [6267, 0, "o"], - [6268, 0, "o"], - [6269, 0, "t"], - [6270, 0, "~"], - [6271, 0, "\\"], - [6272, 0, "c"], - [6273, 0, "i"], - [6274, 0, "t"], - [6275, 0, "e"], - [6276, 0, "{"], - [6277, 0, "W"], - [6278, 0, "e"], - [6279, 0, "i"], - [6280, 0, "s"], - [6281, 0, "s"], - [6282, 0, ":"], - [6283, 0, "2"], - [6284, 0, "0"], - [6285, 0, "1"], - [6286, 0, "0"], - [6287, 0, "h"], - [6288, 0, "x"], - [6289, 0, "}"], - [6290, 0, " "], - [6291, 0, "a"], - [6292, 0, "n"], - [6293, 0, "d"], - [6294, 0, " "], - [6295, 0, "L"], - [6296, 0, "S"], - [6297, 0, "E"], - [6298, 0, "Q"], - [6299, 0, "~"], - [6300, 0, "\\"], - [6301, 0, "c"], - [6302, 0, "i"], - [6303, 0, "t"], - [6304, 0, "e"], - [6305, 0, "{"], - [6306, 0, "N"], - [6307, 0, "e"], - [6308, 0, "d"], - [6309, 0, "e"], - [6310, 0, "l"], - [6311, 0, "e"], - [6312, 0, "c"], - [6313, 0, ":"], - [6314, 0, "2"], - [6315, 0, "0"], - [6316, 0, "1"], - [6317, 0, "3"], - [6318, 0, "k"], - [6319, 0, "y"], - [6320, 0, "}"], - [6321, 0, "."], - [6322, 0, " "], - [6323, 0, "H"], - [6324, 0, "o"], - [6325, 0, "w"], - [6326, 0, "e"], - [6327, 0, "v"], - [6328, 0, "e"], - [6329, 0, "r"], - [6330, 0, ","], - [6331, 0, " "], - [6332, 0, "n"], - [6333, 0, "o"], - [6334, 0, "n"], - [6335, 0, "e"], - [6336, 0, " "], - [6337, 0, "o"], - [6338, 0, "f"], - [6339, 0, " "], - [6340, 0, "t"], - [6341, 0, "h"], - [6342, 0, "e"], - [6343, 0, "m"], - [6344, 0, " "], - [6345, 0, "s"], - [6346, 0, "u"], - [6347, 0, "p"], - [6348, 0, "p"], - [6349, 0, "o"], - [6350, 0, "r"], - [6351, 0, "t"], - [6352, 0, " "], - [6353, 0, "n"], - [6354, 0, "e"], - [6355, 0, "s"], - [6356, 0, "t"], - [6357, 0, "i"], - [6358, 0, "n"], - [6359, 0, "g"], - [6360, 0, ":"], - [6361, 0, " "], - [6362, 0, "t"], - [6363, 0, "h"], - [6364, 0, "e"], - [6365, 0, "y"], - [6366, 0, " "], - [6367, 0, "a"], - [6368, 0, "s"], - [6369, 0, "s"], - [6370, 0, "u"], - [6371, 0, "m"], - [6372, 0, "e"], - [6373, 0, " "], - [6374, 0, "t"], - [6375, 0, "h"], - [6376, 0, "a"], - [6377, 0, "t"], - [6378, 0, " "], - [6379, 0, "t"], - [6380, 0, "h"], - [6381, 0, "e"], - [6382, 0, " "], - [6383, 0, "e"], - [6384, 0, "l"], - [6385, 0, "e"], - [6386, 0, "m"], - [6387, 0, "e"], - [6388, 0, "n"], - [6389, 0, "t"], - [6390, 0, "s"], - [6391, 0, " "], - [6392, 0, "o"], - [6393, 0, "f"], - [6394, 0, " "], - [6395, 0, "t"], - [6396, 0, "h"], - [6397, 0, "e"], - [6398, 0, " "], - [6399, 0, "C"], - [6400, 0, "R"], - [6401, 0, "D"], - [6402, 0, "T"], - [6403, 0, " "], - [6404, 0, "m"], - [6405, 0, "a"], - [6406, 0, "p"], - [6407, 0, " "], - [6408, 0, "o"], - [6409, 0, "r"], - [6410, 0, " "], - [6411, 0, "l"], - [6412, 0, "i"], - [6413, 0, "s"], - [6414, 0, "t"], - [6415, 0, " "], - [6416, 0, "a"], - [6417, 0, "r"], - [6418, 0, "e"], - [6419, 0, " "], - [6420, 0, "a"], - [6421, 0, "t"], - [6422, 0, "o"], - [6423, 0, "m"], - [6424, 0, "i"], - [6425, 0, "c"], - [6426, 0, " "], - [6427, 0, "v"], - [6428, 0, "a"], - [6429, 0, "l"], - [6430, 0, "u"], - [6431, 0, "e"], - [6432, 0, "s"], - [6433, 0, ","], - [6434, 0, " "], - [6435, 0, "n"], - [6436, 0, "o"], - [6437, 0, "t"], - [6438, 0, " "], - [6439, 0, "a"], - [6440, 0, "n"], - [6441, 0, "o"], - [6442, 0, "t"], - [6443, 0, "h"], - [6444, 0, "e"], - [6445, 0, "r"], - [6446, 0, " "], - [6447, 0, "C"], - [6448, 0, "R"], - [6449, 0, "D"], - [6450, 0, "T"], - [6451, 0, "."], - [6452, 0, "\n"], - [6453, 0, "\n"], - [6454, 0, "T"], - [6455, 0, "h"], - [6456, 0, "e"], - [6457, 0, " "], - [6458, 0, "p"], - [6459, 0, "r"], - [6460, 0, "o"], - [6461, 0, "b"], - [6462, 0, "l"], - [6463, 0, "e"], - [6464, 0, "m"], - [6465, 0, " "], - [6466, 0, "o"], - [6467, 0, "f"], - [6468, 0, " "], - [6469, 0, "n"], - [6470, 0, "e"], - [6471, 0, "s"], - [6472, 0, "t"], - [6473, 0, "i"], - [6474, 0, "n"], - [6475, 0, "g"], - [6476, 0, " "], - [6477, 0, "o"], - [6478, 0, "n"], - [6479, 0, "e"], - [6480, 0, " "], - [6481, 0, "C"], - [6482, 0, "R"], - [6483, 0, "D"], - [6484, 0, "T"], - [6485, 0, " "], - [6486, 0, "i"], - [6487, 0, "n"], - [6488, 0, "s"], - [6489, 0, "i"], - [6490, 0, "d"], - [6491, 0, "e"], - [6492, 0, " "], - [6493, 0, "a"], - [6494, 0, "n"], - [6495, 0, "o"], - [6496, 0, "t"], - [6497, 0, "h"], - [6498, 0, "e"], - [6499, 0, "r"], - [6500, 0, " "], - [6501, 0, "("], - [6502, 0, "a"], - [6503, 0, "l"], - [6504, 0, "s"], - [6505, 0, "o"], - [6506, 0, " "], - [6507, 0, "k"], - [6508, 0, "n"], - [6509, 0, "o"], - [6510, 0, "w"], - [6511, 0, "n"], - [6512, 0, " "], - [6513, 0, "a"], - [6514, 0, "s"], - [6515, 0, " "], - [6516, 0, "\\"], - [6517, 0, "e"], - [6518, 0, "m"], - [6519, 0, "p"], - [6520, 0, "h"], - [6521, 0, "{"], - [6522, 0, "c"], - [6523, 0, "o"], - [6524, 0, "m"], - [6525, 0, "p"], - [6526, 0, "o"], - [6527, 0, "s"], - [6528, 0, "i"], - [6529, 0, "t"], - [6530, 0, "i"], - [6531, 0, "o"], - [6532, 0, "n"], - [6533, 0, "}"], - [6534, 0, " "], - [6535, 0, "o"], - [6536, 0, "r"], - [6537, 0, " "], - [6538, 0, "\\"], - [6539, 0, "e"], - [6540, 0, "m"], - [6541, 0, "p"], - [6542, 0, "h"], - [6543, 0, "{"], - [6544, 0, "e"], - [6545, 0, "m"], - [6546, 0, "b"], - [6547, 0, "e"], - [6548, 0, "d"], - [6549, 0, "d"], - [6550, 0, "i"], - [6551, 0, "n"], - [6552, 0, "g"], - [6553, 0, "}"], - [6554, 0, ")"], - [6555, 0, " "], - [6556, 0, "h"], - [6557, 0, "a"], - [6558, 0, "s"], - [6559, 0, " "], - [6560, 0, "o"], - [6561, 0, "n"], - [6562, 0, "l"], - [6563, 0, "y"], - [6564, 0, " "], - [6565, 0, "b"], - [6566, 0, "e"], - [6567, 0, "e"], - [6568, 0, "n"], - [6569, 0, " "], - [6570, 0, "s"], - [6571, 0, "t"], - [6572, 0, "u"], - [6573, 0, "d"], - [6574, 0, "i"], - [6575, 0, "e"], - [6576, 0, "d"], - [6577, 0, " "], - [6578, 0, "m"], - [6579, 0, "o"], - [6580, 0, "r"], - [6581, 0, "e"], - [6582, 0, " "], - [6583, 0, "r"], - [6584, 0, "e"], - [6585, 0, "c"], - [6586, 0, "e"], - [6587, 0, "n"], - [6588, 0, "t"], - [6589, 0, "l"], - [6590, 0, "y"], - [6591, 0, "."], - [6592, 0, " "], - [6593, 0, "R"], - [6594, 0, "i"], - [6595, 0, "a"], - [6596, 0, "k"], - [6597, 0, " "], - [6598, 0, "a"], - [6599, 0, "l"], - [6600, 0, "l"], - [6601, 0, "o"], - [6602, 0, "w"], - [6603, 0, "s"], - [6604, 0, " "], - [6605, 0, "n"], - [6606, 0, "e"], - [6607, 0, "s"], - [6608, 0, "t"], - [6609, 0, "i"], - [6610, 0, "n"], - [6611, 0, "g"], - [6612, 0, " "], - [6613, 0, "o"], - [6614, 0, "f"], - [6615, 0, " "], - [6616, 0, "c"], - [6617, 0, "o"], - [6618, 0, "u"], - [6619, 0, "n"], - [6620, 0, "t"], - [6621, 0, "e"], - [6622, 0, "r"], - [6623, 0, "s"], - [6624, 0, " "], - [6625, 0, "a"], - [6626, 0, "n"], - [6627, 0, "d"], - [6628, 0, " "], - [6629, 0, "r"], - [6630, 0, "e"], - [6631, 0, "g"], - [6632, 0, "i"], - [6633, 0, "s"], - [6634, 0, "t"], - [6635, 0, "e"], - [6636, 0, "r"], - [6637, 0, "s"], - [6638, 0, " "], - [6639, 0, "i"], - [6640, 0, "n"], - [6641, 0, "s"], - [6642, 0, "i"], - [6643, 0, "d"], - [6644, 0, "e"], - [6645, 0, " "], - [6646, 0, "m"], - [6647, 0, "a"], - [6648, 0, "p"], - [6649, 0, "s"], - [6650, 0, ","], - [6651, 0, " "], - [6652, 0, "a"], - [6653, 0, "n"], - [6654, 0, "d"], - [6655, 0, " "], - [6656, 0, "o"], - [6657, 0, "f"], - [6658, 0, " "], - [6659, 0, "m"], - [6660, 0, "a"], - [6661, 0, "p"], - [6662, 0, "s"], - [6663, 0, " "], - [6664, 0, "w"], - [6665, 0, "i"], - [6666, 0, "t"], - [6667, 0, "h"], - [6668, 0, "i"], - [6669, 0, "n"], - [6670, 0, " "], - [6671, 0, "o"], - [6672, 0, "t"], - [6673, 0, "h"], - [6674, 0, "e"], - [6675, 0, "r"], - [6676, 0, " "], - [6677, 0, "m"], - [6678, 0, "a"], - [6679, 0, "p"], - [6680, 0, "s"], - [6681, 0, "~"], - [6682, 0, "\\"], - [6683, 0, "c"], - [6684, 0, "i"], - [6685, 0, "t"], - [6686, 0, "e"], - [6687, 0, "{"], - [6688, 0, "B"], - [6689, 0, "r"], - [6690, 0, "o"], - [6691, 0, "w"], - [6692, 0, "n"], - [6693, 0, ":"], - [6694, 0, "2"], - [6695, 0, "0"], - [6696, 0, "1"], - [6697, 0, "4"], - [6698, 0, "h"], - [6699, 0, "s"], - [6700, 0, ","], - [6701, 0, "B"], - [6702, 0, "r"], - [6703, 0, "o"], - [6704, 0, "w"], - [6705, 0, "n"], - [6706, 0, ":"], - [6707, 0, "2"], - [6708, 0, "0"], - [6709, 0, "1"], - [6710, 0, "3"], - [6711, 0, "w"], - [6712, 0, "y"], - [6713, 0, "}"], - [6714, 0, "."], - [6715, 0, " "], - [6716, 0, "E"], - [6717, 0, "m"], - [6718, 0, "b"], - [6719, 0, "e"], - [6720, 0, "d"], - [6721, 0, "d"], - [6722, 0, "i"], - [6723, 0, "n"], - [6724, 0, "g"], - [6725, 0, " "], - [6726, 0, "c"], - [6727, 0, "o"], - [6728, 0, "u"], - [6729, 0, "n"], - [6730, 0, "t"], - [6731, 0, "e"], - [6732, 0, "r"], - [6733, 0, "s"], - [6734, 0, " "], - [6735, 0, "i"], - [6736, 0, "n"], - [6737, 0, "s"], - [6738, 0, "i"], - [6739, 0, "d"], - [6740, 0, "e"], - [6741, 0, " "], - [6742, 0, "m"], - [6743, 0, "a"], - [6744, 0, "p"], - [6745, 0, "s"], - [6746, 0, " "], - [6747, 0, "r"], - [6748, 0, "a"], - [6749, 0, "i"], - [6750, 0, "s"], - [6751, 0, "e"], - [6752, 0, "s"], - [6753, 0, " "], - [6754, 0, "q"], - [6755, 0, "u"], - [6756, 0, "e"], - [6757, 0, "s"], - [6758, 0, "t"], - [6759, 0, "i"], - [6760, 0, "o"], - [6761, 0, "n"], - [6762, 0, "s"], - [6763, 0, " "], - [6764, 0, "o"], - [6765, 0, "f"], - [6766, 0, " "], - [6767, 0, "s"], - [6768, 0, "e"], - [6769, 0, "m"], - [6770, 0, "a"], - [6771, 0, "n"], - [6772, 0, "t"], - [6773, 0, "i"], - [6774, 0, "c"], - [6775, 0, "s"], - [6776, 0, ","], - [6777, 0, " "], - [6778, 0, "w"], - [6779, 0, "h"], - [6780, 0, "i"], - [6781, 0, "c"], - [6782, 0, "h"], - [6783, 0, " "], - [6784, 0, "h"], - [6785, 0, "a"], - [6786, 0, "v"], - [6787, 0, "e"], - [6788, 0, " "], - [6789, 0, "b"], - [6790, 0, "e"], - [6791, 0, "e"], - [6792, 0, "n"], - [6793, 0, " "], - [6794, 0, "s"], - [6795, 0, "t"], - [6796, 0, "u"], - [6797, 0, "d"], - [6798, 0, "i"], - [6799, 0, "e"], - [6800, 0, "d"], - [6801, 0, " "], - [6802, 0, "b"], - [6803, 0, "y"], - [6804, 0, " "], - [6805, 0, "B"], - [6806, 0, "a"], - [6807, 0, "q"], - [6808, 0, "u"], - [6809, 0, "e"], - [6810, 0, "r"], - [6811, 0, "o"], - [6812, 0, ","], - [6813, 0, " "], - [6814, 0, "A"], - [6815, 0, "l"], - [6816, 0, "m"], - [6817, 0, "e"], - [6818, 0, "i"], - [6819, 0, "d"], - [6820, 0, "a"], - [6821, 0, " "], - [6822, 0, "a"], - [6823, 0, "n"], - [6824, 0, "d"], - [6825, 0, " "], - [6826, 0, "L"], - [6827, 0, "e"], - [6828, 0, "r"], - [6829, 0, "c"], - [6830, 0, "h"], - [6831, 0, "e"], - [6832, 0, "~"], - [6833, 0, "\\"], - [6834, 0, "c"], - [6835, 0, "i"], - [6836, 0, "t"], - [6837, 0, "e"], - [6838, 0, "{"], - [6839, 0, "B"], - [6840, 0, "a"], - [6841, 0, "q"], - [6842, 0, "u"], - [6843, 0, "e"], - [6844, 0, "r"], - [6845, 0, "o"], - [6846, 0, ":"], - [6847, 0, "2"], - [6848, 0, "0"], - [6849, 0, "1"], - [6850, 0, "6"], - [6851, 0, "i"], - [6852, 0, "v"], - [6853, 0, "}"], - [6854, 0, "."], - [6855, 0, " "], - [6856, 0, "A"], - [6857, 0, "l"], - [6858, 0, "m"], - [6859, 0, "e"], - [6860, 0, "i"], - [6861, 0, "d"], - [6862, 0, "a"], - [6863, 0, " "], - [6864, 0, "e"], - [6865, 0, "t"], - [6866, 0, " "], - [6867, 0, "a"], - [6868, 0, "."], - [6868, 1], - [6868, 0, "l"], - [6869, 0, "."], - [6870, 0, "~"], - [6871, 0, "\\"], - [6872, 0, "c"], - [6873, 0, "i"], - [6874, 0, "t"], - [6875, 0, "e"], - [6876, 0, "{"], - [6877, 0, "A"], - [6878, 0, "l"], - [6879, 0, "m"], - [6880, 0, "e"], - [6881, 0, "i"], - [6882, 0, "d"], - [6883, 0, "a"], - [6884, 0, ":"], - [6885, 0, "2"], - [6886, 0, "0"], - [6887, 0, "1"], - [6888, 0, "6"], - [6889, 0, "t"], - [6890, 0, "k"], - [6891, 0, "}"], - [6892, 0, " "], - [6893, 0, "a"], - [6894, 0, "l"], - [6895, 0, "s"], - [6896, 0, "o"], - [6897, 0, " "], - [6898, 0, "d"], - [6899, 0, "e"], - [6900, 0, "f"], - [6901, 0, "i"], - [6902, 0, "n"], - [6903, 0, "e"], - [6904, 0, " "], - [6905, 0, "d"], - [6906, 0, "e"], - [6907, 0, "l"], - [6908, 0, "t"], - [6909, 0, "a"], - [6910, 0, " "], - [6911, 0, "m"], - [6912, 0, "u"], - [6913, 0, "t"], - [6914, 0, "a"], - [6915, 0, "t"], - [6916, 0, "i"], - [6917, 0, "o"], - [6918, 0, "n"], - [6919, 0, "s"], - [6920, 0, " "], - [6921, 0, "f"], - [6922, 0, "o"], - [6923, 0, "r"], - [6924, 0, " "], - [6925, 0, "n"], - [6926, 0, "e"], - [6927, 0, "s"], - [6928, 0, "t"], - [6929, 0, "e"], - [6930, 0, "d"], - [6931, 0, " "], - [6932, 0, "m"], - [6933, 0, "a"], - [6934, 0, "p"], - [6935, 0, "s"], - [6936, 0, ","], - [6937, 0, " "], - [6938, 0, "a"], - [6939, 0, "n"], - [6940, 0, "d"], - [6941, 0, " "], - [6942, 0, "B"], - [6943, 0, "a"], - [6944, 0, "q"], - [6945, 0, "u"], - [6946, 0, "e"], - [6947, 0, "r"], - [6948, 0, "o"], - [6949, 0, " "], - [6950, 0, "e"], - [6951, 0, "t"], - [6952, 0, " "], - [6953, 0, "a"], - [6954, 0, "l"], - [6955, 0, "."], - [6956, 0, "~"], - [6957, 0, "\\"], - [6958, 0, "c"], - [6959, 0, "i"], - [6960, 0, "t"], - [6961, 0, "e"], - [6962, 0, "{"], - [6963, 0, "B"], - [6964, 0, "a"], - [6965, 0, "q"], - [6966, 0, "u"], - [6967, 0, "e"], - [6968, 0, "r"], - [6969, 0, "o"], - [6970, 0, ":"], - [6971, 0, "2"], - [6972, 0, "0"], - [6973, 0, "1"], - [6974, 0, "5"], - [6975, 0, "t"], - [6976, 0, "m"], - [6977, 0, "}"], - [6978, 0, " "], - [6979, 0, "d"], - [6980, 0, "e"], - [6981, 0, "f"], - [6982, 0, "i"], - [6983, 0, "n"], - [6984, 0, "e"], - [6985, 0, " "], - [6986, 0, "a"], - [6987, 0, " "], - [6988, 0, "t"], - [6989, 0, "h"], - [6990, 0, "e"], - [6991, 0, "o"], - [6992, 0, "r"], - [6993, 0, "e"], - [6994, 0, "t"], - [6995, 0, "i"], - [6996, 0, "c"], - [6997, 0, "a"], - [6998, 0, "l"], - [6999, 0, " "], - [7000, 0, "f"], - [7001, 0, "r"], - [7002, 0, "a"], - [7003, 0, "m"], - [7004, 0, "e"], - [7005, 0, "w"], - [7006, 0, "o"], - [7007, 0, "r"], - [7008, 0, "k"], - [7009, 0, " "], - [7010, 0, "f"], - [7011, 0, "o"], - [7012, 0, "r"], - [7013, 0, " "], - [7014, 0, "c"], - [7015, 0, "o"], - [7016, 0, "m"], - [7017, 0, "p"], - [7018, 0, "o"], - [7019, 0, "s"], - [7020, 0, "i"], - [7021, 0, "t"], - [7022, 0, "i"], - [7023, 0, "o"], - [7024, 0, "n"], - [7025, 0, " "], - [7026, 0, "o"], - [7027, 0, "f"], - [7028, 0, " "], - [7029, 0, "s"], - [7030, 0, "t"], - [7031, 0, "a"], - [7032, 0, "t"], - [7033, 0, "e"], - [7034, 0, "-"], - [7035, 0, "b"], - [7036, 0, "a"], - [7037, 0, "s"], - [7038, 0, "e"], - [7039, 0, "d"], - [7040, 0, " "], - [7041, 0, "C"], - [7042, 0, "R"], - [7043, 0, "D"], - [7044, 0, "T"], - [7045, 0, "s"], - [7046, 0, ","], - [7047, 0, " "], - [7048, 0, "b"], - [7049, 0, "a"], - [7050, 0, "s"], - [7051, 0, "e"], - [7052, 0, "d"], - [7053, 0, " "], - [7054, 0, "o"], - [7055, 0, "n"], - [7056, 0, " "], - [7057, 0, "l"], - [7058, 0, "a"], - [7059, 0, "t"], - [7060, 0, "t"], - [7061, 0, "i"], - [7062, 0, "c"], - [7063, 0, "e"], - [7064, 0, "s"], - [7065, 0, "."], - [7066, 0, " "], - [7067, 0, "N"], - [7068, 0, "o"], - [7069, 0, "n"], - [7070, 0, "e"], - [7071, 0, " "], - [7072, 0, "o"], - [7073, 0, "f"], - [7074, 0, " "], - [7075, 0, "t"], - [7076, 0, "h"], - [7077, 0, "i"], - [7078, 0, "s"], - [7079, 0, " "], - [7080, 0, "w"], - [7081, 0, "o"], - [7082, 0, "r"], - [7083, 0, "k"], - [7084, 0, " "], - [7085, 0, "i"], - [7086, 0, "n"], - [7087, 0, "t"], - [7088, 0, "e"], - [7089, 0, "g"], - [7090, 0, "r"], - [7091, 0, "a"], - [7092, 0, "t"], - [7093, 0, "e"], - [7094, 0, "s"], - [7095, 0, " "], - [7096, 0, "C"], - [7097, 0, "R"], - [7098, 0, "D"], - [7099, 0, "T"], - [7100, 0, "s"], - [7101, 0, " "], - [7102, 0, "f"], - [7103, 0, "o"], - [7104, 0, "r"], - [7105, 0, " "], - [7106, 0, "o"], - [7107, 0, "r"], - [7108, 0, "d"], - [7109, 0, "e"], - [7110, 0, "r"], - [7111, 0, "e"], - [7112, 0, "d"], - [7113, 0, " "], - [7114, 0, "l"], - [7115, 0, "i"], - [7116, 0, "s"], - [7117, 0, "t"], - [7118, 0, "s"], - [7119, 0, ","], - [7120, 0, " "], - [7121, 0, "b"], - [7122, 0, "u"], - [7123, 0, "t"], - [7124, 0, " "], - [7125, 0, "t"], - [7126, 0, "h"], - [7127, 0, "e"], - [7128, 0, " "], - [7129, 0, "t"], - [7130, 0, "r"], - [7131, 0, "e"], - [7132, 0, "a"], - [7133, 0, "t"], - [7134, 0, "m"], - [7135, 0, "e"], - [7136, 0, "n"], - [7137, 0, "t"], - [7138, 0, " "], - [7139, 0, "o"], - [7140, 0, "f"], - [7141, 0, " "], - [7142, 0, "c"], - [7143, 0, "a"], - [7144, 0, "u"], - [7145, 0, "s"], - [7146, 0, "a"], - [7147, 0, "l"], - [7148, 0, "i"], - [7149, 0, "t"], - [7150, 0, "y"], - [7151, 0, " "], - [7152, 0, "i"], - [7153, 0, "n"], - [7154, 0, " "], - [7155, 0, "t"], - [7156, 0, "h"], - [7157, 0, "e"], - [7158, 0, "s"], - [7159, 0, "e"], - [7160, 0, " "], - [7161, 0, "d"], - [7162, 0, "a"], - [7163, 0, "t"], - [7164, 0, "a"], - [7165, 0, "t"], - [7166, 0, "y"], - [7167, 0, "p"], - [7168, 0, "e"], - [7169, 0, "s"], - [7170, 0, " "], - [7171, 0, "f"], - [7172, 0, "o"], - [7173, 0, "r"], - [7174, 0, "m"], - [7175, 0, "s"], - [7176, 0, " "], - [7177, 0, "a"], - [7178, 0, " "], - [7179, 0, "b"], - [7180, 0, "a"], - [7181, 0, "s"], - [7182, 0, "i"], - [7183, 0, "s"], - [7184, 0, " "], - [7185, 0, "f"], - [7186, 0, "o"], - [7187, 0, "r"], - [7188, 0, " "], - [7189, 0, "t"], - [7190, 0, "h"], - [7191, 0, "e"], - [7192, 0, " "], - [7193, 0, "s"], - [7194, 0, "e"], - [7195, 0, "m"], - [7196, 0, "a"], - [7197, 0, "n"], - [7198, 0, "t"], - [7199, 0, "i"], - [7200, 0, "c"], - [7201, 0, "s"], - [7202, 0, " "], - [7203, 0, "d"], - [7204, 0, "e"], - [7205, 0, "v"], - [7206, 0, "e"], - [7207, 0, "l"], - [7208, 0, "o"], - [7209, 0, "p"], - [7210, 0, "e"], - [7211, 0, "d"], - [7212, 0, " "], - [7213, 0, "i"], - [7214, 0, "n"], - [7215, 0, " "], - [7216, 0, "t"], - [7217, 0, "h"], - [7218, 0, "i"], - [7219, 0, "s"], - [7220, 0, " "], - [7221, 0, "p"], - [7222, 0, "a"], - [7223, 0, "p"], - [7224, 0, "e"], - [7225, 0, "r"], - [7226, 0, "."], - [7227, 0, "\n"], - [7228, 0, "\n"], - [7229, 0, "B"], - [7230, 0, "u"], - [7231, 0, "r"], - [7232, 0, "c"], - [7233, 0, "k"], - [7234, 0, "h"], - [7235, 0, "a"], - [7236, 0, "r"], - [7237, 0, "d"], - [7238, 0, "t"], - [7239, 0, " "], - [7240, 0, "e"], - [7241, 0, "t"], - [7242, 0, " "], - [7243, 0, "a"], - [7244, 0, "l"], - [7245, 0, "."], - [7246, 0, "Z"], - [7247, 0, "~"], - [7247, 1], - [7246, 1], - [7246, 0, "|"], - [7247, 0, "~"], - [7247, 1], - [7246, 1], - [7246, 0, "|"], - [7246, 1], - [7246, 0, "~"], - [7247, 0, "\\"], - [7248, 0, "c"], - [7249, 0, "i"], - [7250, 0, "t"], - [7251, 0, "e"], - [7252, 0, "{"], - [7253, 0, "B"], - [7254, 0, "u"], - [7255, 0, "r"], - [7256, 0, "c"], - [7257, 0, "k"], - [7258, 0, "h"], - [7259, 0, "a"], - [7260, 0, "r"], - [7261, 0, "d"], - [7262, 0, "t"], - [7263, 0, ":"], - [7264, 0, "2"], - [7265, 0, "0"], - [7266, 0, "1"], - [7267, 0, "2"], - [7268, 0, "j"], - [7269, 0, "y"], - [7270, 0, "}"], - [7271, 0, " "], - [7272, 0, "d"], - [7273, 0, "e"], - [7274, 0, "f"], - [7275, 0, "i"], - [7276, 0, "n"], - [7277, 0, "e"], - [7278, 0, " "], - [7279, 0, "\\"], - [7280, 0, "e"], - [7281, 0, "m"], - [7282, 0, "p"], - [7283, 0, "h"], - [7284, 0, "{"], - [7285, 0, "c"], - [7286, 0, "l"], - [7287, 0, "o"], - [7288, 0, "u"], - [7289, 0, "d"], - [7290, 0, " "], - [7291, 0, "t"], - [7292, 0, "y"], - [7293, 0, "p"], - [7294, 0, "e"], - [7295, 0, "s"], - [7296, 0, "}"], - [7297, 0, ","], - [7298, 0, " "], - [7299, 0, "w"], - [7300, 0, "h"], - [7301, 0, "i"], - [7302, 0, "c"], - [7303, 0, "h"], - [7304, 0, " "], - [7305, 0, "a"], - [7306, 0, "r"], - [7307, 0, "e"], - [7308, 0, " "], - [7309, 0, "s"], - [7310, 0, "i"], - [7311, 0, "m"], - [7312, 0, "i"], - [7313, 0, "l"], - [7314, 0, "a"], - [7315, 0, "r"], - [7316, 0, " "], - [7317, 0, "t"], - [7318, 0, "o"], - [7319, 0, " "], - [7320, 0, "C"], - [7321, 0, "R"], - [7322, 0, "D"], - [7323, 0, "T"], - [7324, 0, "s"], - [7325, 0, " "], - [7326, 0, "a"], - [7327, 0, "n"], - [7328, 0, "d"], - [7329, 0, " "], - [7330, 0, "c"], - [7331, 0, "a"], - [7332, 0, "n"], - [7333, 0, " "], - [7334, 0, "b"], - [7335, 0, "e"], - [7336, 0, " "], - [7337, 0, "c"], - [7338, 0, "o"], - [7339, 0, "m"], - [7340, 0, "p"], - [7341, 0, "o"], - [7342, 0, "s"], - [7343, 0, "e"], - [7344, 0, "d"], - [7345, 0, "."], - [7346, 0, " "], - [7347, 0, "T"], - [7348, 0, "h"], - [7349, 0, "e"], - [7350, 0, "y"], - [7351, 0, " "], - [7352, 0, "d"], - [7353, 0, "e"], - [7354, 0, "f"], - [7355, 0, "i"], - [7356, 0, "n"], - [7357, 0, "e"], - [7358, 0, " "], - [7359, 0, "\\"], - [7360, 0, "e"], - [7361, 0, "m"], - [7362, 0, "p"], - [7363, 0, "h"], - [7364, 0, "{"], - [7365, 0, "c"], - [7366, 0, "l"], - [7367, 0, "o"], - [7368, 0, "u"], - [7369, 0, "d"], - [7370, 0, " "], - [7371, 0, "a"], - [7372, 0, "r"], - [7373, 0, "r"], - [7374, 0, "a"], - [7375, 0, "y"], - [7376, 0, "s"], - [7377, 0, "}"], - [7378, 0, ","], - [7379, 0, " "], - [7380, 0, "w"], - [7381, 0, "h"], - [7382, 0, "i"], - [7383, 0, "c"], - [7384, 0, "h"], - [7385, 0, " "], - [7386, 0, "b"], - [7387, 0, "e"], - [7388, 0, "h"], - [7389, 0, "a"], - [7390, 0, "v"], - [7391, 0, "e"], - [7392, 0, " "], - [7393, 0, "s"], - [7394, 0, "i"], - [7395, 0, "m"], - [7396, 0, "i"], - [7397, 0, "l"], - [7398, 0, "a"], - [7399, 0, "r"], - [7400, 0, "l"], - [7401, 0, "y"], - [7402, 0, " "], - [7403, 0, "t"], - [7404, 0, "o"], - [7405, 0, " "], - [7406, 0, "o"], - [7407, 0, "u"], - [7408, 0, "r"], - [7409, 0, " "], - [7410, 0, "m"], - [7411, 0, "a"], - [7412, 0, "p"], - [7413, 0, " "], - [7414, 0, "d"], - [7415, 0, "a"], - [7416, 0, "t"], - [7417, 0, "a"], - [7418, 0, "t"], - [7419, 0, "y"], - [7420, 0, "p"], - [7421, 0, "e"], - [7422, 0, "s"], - [7422, 1], - [7422, 0, ","], - [7423, 0, " "], - [7424, 0, "a"], - [7425, 0, "n"], - [7426, 0, "d"], - [7427, 0, " "], - [7428, 0, "\\"], - [7429, 0, "e"], - [7430, 0, "m"], - [7431, 0, "p"], - [7432, 0, "h"], - [7433, 0, "{"], - [7434, 0, "e"], - [7435, 0, "n"], - [7436, 0, "t"], - [7437, 0, "i"], - [7438, 0, "t"], - [7439, 0, "i"], - [7440, 0, "e"], - [7441, 0, "s"], - [7442, 0, "}"], - [7443, 0, ","], - [7444, 0, " "], - [7445, 0, "w"], - [7446, 0, "h"], - [7447, 0, "i"], - [7448, 0, "c"], - [7449, 0, "h"], - [7450, 0, " "], - [7451, 0, "a"], - [7452, 0, "r"], - [7453, 0, "e"], - [7454, 0, " "], - [7455, 0, "l"], - [7456, 0, "i"], - [7457, 0, "k"], - [7458, 0, "e"], - [7459, 0, " "], - [7460, 0, "u"], - [7461, 0, "n"], - [7462, 0, "o"], - [7463, 0, "r"], - [7464, 0, "d"], - [7465, 0, "e"], - [7466, 0, "r"], - [7467, 0, "e"], - [7468, 0, "d"], - [7469, 0, " "], - [7470, 0, "s"], - [7471, 0, "e"], - [7472, 0, "t"], - [7473, 0, "s"], - [7474, 0, " "], - [7475, 0, "o"], - [7476, 0, "r"], - [7477, 0, " "], - [7478, 0, "r"], - [7479, 0, "e"], - [7480, 0, "l"], - [7481, 0, "a"], - [7482, 0, "t"], - [7483, 0, "i"], - [7484, 0, "o"], - [7485, 0, "n"], - [7486, 0, "s"], - [7487, 0, ";"], - [7488, 0, " "], - [7489, 0, "o"], - [7490, 0, "r"], - [7491, 0, "d"], - [7492, 0, "e"], - [7493, 0, "r"], - [7494, 0, "e"], - [7495, 0, "d"], - [7496, 0, " "], - [7497, 0, "l"], - [7498, 0, "i"], - [7499, 0, "s"], - [7500, 0, "t"], - [7501, 0, "s"], - [7502, 0, " "], - [7503, 0, "a"], - [7504, 0, "r"], - [7505, 0, "e"], - [7506, 0, " "], - [7507, 0, "n"], - [7508, 0, "o"], - [7509, 0, "t"], - [7510, 0, " "], - [7511, 0, "d"], - [7512, 0, "e"], - [7513, 0, "f"], - [7514, 0, "i"], - [7515, 0, "n"], - [7516, 0, "e"], - [7517, 0, "d"], - [7518, 0, " "], - [7519, 0, "i"], - [7520, 0, "n"], - [7521, 0, " "], - [7522, 0, "t"], - [7523, 0, "h"], - [7524, 0, "i"], - [7525, 0, "s"], - [7526, 0, " "], - [7527, 0, "f"], - [7528, 0, "r"], - [7529, 0, "a"], - [7530, 0, "m"], - [7531, 0, "e"], - [7532, 0, "o"], - [7533, 0, "w"], - [7533, 1], - [7532, 1], - [7532, 0, "w"], - [7533, 0, "o"], - [7534, 0, "r"], - [7535, 0, "k"], - [7536, 0, "."], - [7537, 0, " "], - [7538, 0, "O"], - [7539, 0, "u"], - [7540, 0, "r"], - [7541, 0, " "], - [7542, 0, "\\"], - [7543, 0, "t"], - [7544, 0, "e"], - [7545, 0, "x"], - [7546, 0, "t"], - [7547, 0, "s"], - [7548, 0, "f"], - [7549, 0, "{"], - [7550, 0, "y"], - [7551, 0, "i"], - [7552, 0, "e"], - [7553, 0, "l"], - [7554, 0, "d"], - [7555, 0, "}"], - [7556, 0, " "], - [7557, 0, "s"], - [7558, 0, "t"], - [7559, 0, "a"], - [7560, 0, "t"], - [7561, 0, "e"], - [7562, 0, "m"], - [7563, 0, "e"], - [7564, 0, "n"], - [7565, 0, "t"], - [7566, 0, " "], - [7567, 0, "i"], - [7568, 0, "s"], - [7569, 0, " "], - [7570, 0, "i"], - [7571, 0, "n"], - [7572, 0, "s"], - [7573, 0, "p"], - [7574, 0, "i"], - [7575, 0, "r"], - [7576, 0, "e"], - [7577, 0, "d"], - [7578, 0, " "], - [7579, 0, "b"], - [7580, 0, "y"], - [7581, 0, " "], - [7582, 0, "B"], - [7583, 0, "u"], - [7584, 0, "r"], - [7585, 0, "c"], - [7586, 0, "k"], - [7587, 0, "h"], - [7588, 0, "a"], - [7589, 0, "r"], - [7590, 0, "d"], - [7591, 0, "t"], - [7592, 0, " "], - [7593, 0, "e"], - [7594, 0, "t"], - [7595, 0, " "], - [7596, 0, "a"], - [7597, 0, "l"], - [7598, 0, "."], - [7599, 0, "\n"], - [7600, 0, "\n"], - [7601, 0, "A"], - [7602, 0, "l"], - [7603, 0, "t"], - [7604, 0, "h"], - [7605, 0, "o"], - [7606, 0, "u"], - [7607, 0, "g"], - [7608, 0, "h"], - [7609, 0, " "], - [7610, 0, "C"], - [7611, 0, "R"], - [7612, 0, "D"], - [7613, 0, "T"], - [7614, 0, "s"], - [7615, 0, " "], - [7616, 0, "f"], - [7617, 0, "o"], - [7618, 0, "r"], - [7619, 0, " "], - [7620, 0, "r"], - [7621, 0, "e"], - [7622, 0, "g"], - [7623, 0, "i"], - [7624, 0, "s"], - [7625, 0, "t"], - [7626, 0, "e"], - [7627, 0, "r"], - [7628, 0, "s"], - [7629, 0, ","], - [7630, 0, " "], - [7631, 0, "m"], - [7632, 0, "a"], - [7633, 0, "p"], - [7634, 0, "s"], - [7635, 0, " "], - [7636, 0, "a"], - [7637, 0, "n"], - [7638, 0, "d"], - [7639, 0, " "], - [7640, 0, "o"], - [7641, 0, "r"], - [7642, 0, "d"], - [7643, 0, "e"], - [7644, 0, "r"], - [7645, 0, "e"], - [7646, 0, "d"], - [7647, 0, " "], - [7648, 0, "l"], - [7649, 0, "i"], - [7650, 0, "s"], - [7651, 0, "t"], - [7652, 0, "s"], - [7653, 0, " "], - [7654, 0, "h"], - [7655, 0, "a"], - [7656, 0, "v"], - [7657, 0, "e"], - [7658, 0, " "], - [7659, 0, "e"], - [7660, 0, "x"], - [7661, 0, "i"], - [7662, 0, "s"], - [7663, 0, "t"], - [7664, 0, "e"], - [7665, 0, "d"], - [7666, 0, " "], - [7667, 0, "f"], - [7668, 0, "o"], - [7669, 0, "r"], - [7670, 0, " "], - [7671, 0, "y"], - [7672, 0, "e"], - [7673, 0, "a"], - [7674, 0, "r"], - [7675, 0, "s"], - [7676, 0, " "], - [7677, 0, "i"], - [7678, 0, "n"], - [7679, 0, " "], - [7680, 0, "i"], - [7681, 0, "s"], - [7682, 0, "o"], - [7683, 0, "l"], - [7684, 0, "a"], - [7685, 0, "t"], - [7686, 0, "i"], - [7687, 0, "o"], - [7688, 0, "n"], - [7689, 0, ","], - [7690, 0, " "], - [7691, 0, "w"], - [7692, 0, "e"], - [7693, 0, " "], - [7694, 0, "a"], - [7695, 0, "r"], - [7696, 0, "e"], - [7697, 0, " "], - [7698, 0, "n"], - [7699, 0, "o"], - [7700, 0, "t"], - [7701, 0, " "], - [7702, 0, "a"], - [7703, 0, "w"], - [7704, 0, "a"], - [7705, 0, "r"], - [7706, 0, "e"], - [7707, 0, " "], - [7708, 0, "o"], - [7709, 0, "f"], - [7710, 0, " "], - [7711, 0, "a"], - [7712, 0, "n"], - [7713, 0, "y"], - [7714, 0, " "], - [7715, 0, "p"], - [7716, 0, "r"], - [7717, 0, "i"], - [7718, 0, "o"], - [7719, 0, "r"], - [7720, 0, " "], - [7721, 0, "w"], - [7722, 0, "o"], - [7723, 0, "r"], - [7724, 0, "k"], - [7725, 0, " "], - [7726, 0, "t"], - [7727, 0, "h"], - [7728, 0, "a"], - [7729, 0, "t"], - [7730, 0, " "], - [7731, 0, "a"], - [7732, 0, "l"], - [7733, 0, "l"], - [7734, 0, "o"], - [7735, 0, "w"], - [7736, 0, "s"], - [7737, 0, " "], - [7738, 0, "t"], - [7739, 0, "h"], - [7740, 0, "e"], - [7741, 0, "m"], - [7742, 0, " "], - [7743, 0, "a"], - [7744, 0, "l"], - [7745, 0, "l"], - [7746, 0, "t"], - [7747, 0, " "], - [7747, 1], - [7746, 1], - [7746, 0, " "], - [7747, 0, "t"], - [7748, 0, "o"], - [7749, 0, " "], - [7750, 0, "b"], - [7751, 0, "e"], - [7752, 0, " "], - [7753, 0, "c"], - [7754, 0, "o"], - [7755, 0, "m"], - [7756, 0, "p"], - [7757, 0, "o"], - [7758, 0, "s"], - [7759, 0, "e"], - [7760, 0, "d"], - [7761, 0, " "], - [7762, 0, "i"], - [7763, 0, "n"], - [7764, 0, "t"], - [7765, 0, "o"], - [7766, 0, " "], - [7767, 0, "a"], - [7768, 0, "n"], - [7769, 0, " "], - [7770, 0, "a"], - [7771, 0, "r"], - [7772, 0, "b"], - [7773, 0, "i"], - [7774, 0, "t"], - [7775, 0, "r"], - [7776, 0, "a"], - [7777, 0, "r"], - [7778, 0, "i"], - [7779, 0, "l"], - [7780, 0, "y"], - [7781, 0, " "], - [7782, 0, "n"], - [7783, 0, "e"], - [7784, 0, "s"], - [7785, 0, "t"], - [7786, 0, "e"], - [7787, 0, "d"], - [7788, 0, " "], - [7789, 0, "C"], - [7790, 0, "R"], - [7791, 0, "D"], - [7792, 0, "T"], - [7793, 0, " "], - [7794, 0, "w"], - [7795, 0, "i"], - [7796, 0, "t"], - [7797, 0, "h"], - [7798, 0, " "], - [7799, 0, "a"], - [7800, 0, " "], - [7801, 0, "J"], - [7802, 0, "S"], - [7803, 0, "O"], - [7804, 0, "N"], - [7805, 0, "-"], - [7806, 0, "l"], - [7807, 0, "i"], - [7808, 0, "k"], - [7809, 0, "e"], - [7810, 0, " "], - [7811, 0, "s"], - [7812, 0, "t"], - [7813, 0, "r"], - [7814, 0, "u"], - [7815, 0, "c"], - [7816, 0, "t"], - [7817, 0, "u"], - [7818, 0, "r"], - [7819, 0, "e"], - [7820, 0, "."], - [7821, 0, "\n"], - [7822, 0, "\n"], - [7823, 0, "\\"], - [7824, 0, "s"], - [7825, 0, "u"], - [7826, 0, "b"], - [7827, 0, "s"], - [7828, 0, "e"], - [7829, 0, "c"], - [7830, 0, "t"], - [7831, 0, "i"], - [7832, 0, "o"], - [7833, 0, "n"], - [7834, 0, "{"], - [7835, 0, "O"], - [7836, 0, "t"], - [7837, 0, "h"], - [7838, 0, "e"], - [7839, 0, "r"], - [7840, 0, " "], - [7841, 0, "a"], - [7842, 0, "p"], - [7843, 0, "p"], - [7844, 0, "r"], - [7845, 0, "o"], - [7846, 0, "a"], - [7847, 0, "c"], - [7848, 0, "h"], - [7849, 0, "e"], - [7850, 0, "s"], - [7851, 0, "}"], - [7852, 0, "\\"], - [7853, 0, "l"], - [7854, 0, "a"], - [7855, 0, "b"], - [7856, 0, "e"], - [7857, 0, "l"], - [7858, 0, "{"], - [7859, 0, "s"], - [7860, 0, "e"], - [7861, 0, "c"], - [7862, 0, ":"], - [7863, 0, "r"], - [7864, 0, "e"], - [7865, 0, "l"], - [7866, 0, "a"], - [7867, 0, "t"], - [7868, 0, "e"], - [7869, 0, "d"], - [7870, 0, "-"], - [7871, 0, "o"], - [7872, 0, "t"], - [7873, 0, "h"], - [7874, 0, "e"], - [7875, 0, "r"], - [7876, 0, "}"], - [7877, 0, "\n"], - [7878, 0, "\n"], - [7879, 0, "M"], - [7880, 0, "a"], - [7881, 0, "n"], - [7882, 0, "y"], - [7883, 0, " "], - [7884, 0, "r"], - [7885, 0, "e"], - [7886, 0, "p"], - [7887, 0, "l"], - [7888, 0, "i"], - [7889, 0, "c"], - [7890, 0, "a"], - [7891, 0, "t"], - [7892, 0, "e"], - [7893, 0, "d"], - [7894, 0, " "], - [7895, 0, "d"], - [7896, 0, "a"], - [7897, 0, "t"], - [7898, 0, "a"], - [7899, 0, " "], - [7900, 0, "s"], - [7901, 0, "y"], - [7902, 0, "s"], - [7903, 0, "t"], - [7904, 0, "e"], - [7905, 0, "m"], - [7906, 0, "s"], - [7907, 0, " "], - [7908, 0, "n"], - [7909, 0, "e"], - [7910, 0, "e"], - [7911, 0, "d"], - [7912, 0, " "], - [7913, 0, "t"], - [7914, 0, "o"], - [7915, 0, " "], - [7916, 0, "d"], - [7917, 0, "e"], - [7918, 0, "a"], - [7919, 0, "l"], - [7920, 0, " "], - [7921, 0, "w"], - [7922, 0, "i"], - [7923, 0, "t"], - [7924, 0, "h"], - [7925, 0, " "], - [7926, 0, "t"], - [7927, 0, "h"], - [7928, 0, "e"], - [7929, 0, " "], - [7930, 0, "p"], - [7931, 0, "r"], - [7932, 0, "o"], - [7933, 0, "b"], - [7934, 0, "l"], - [7935, 0, "e"], - [7936, 0, "m"], - [7937, 0, " "], - [7938, 0, "o"], - [7939, 0, "f"], - [7940, 0, " "], - [7941, 0, "c"], - [7942, 0, "o"], - [7943, 0, "n"], - [7944, 0, "c"], - [7945, 0, "u"], - [7946, 0, "r"], - [7947, 0, "r"], - [7948, 0, "e"], - [7949, 0, "n"], - [7950, 0, "t"], - [7951, 0, ","], - [7952, 0, " "], - [7953, 0, "c"], - [7954, 0, "o"], - [7955, 0, "n"], - [7956, 0, "f"], - [7957, 0, "l"], - [7958, 0, "i"], - [7959, 0, "c"], - [7960, 0, "t"], - [7961, 0, "i"], - [7962, 0, "n"], - [7963, 0, "g"], - [7964, 0, " "], - [7965, 0, "m"], - [7966, 0, "o"], - [7967, 0, "d"], - [7968, 0, "i"], - [7969, 0, "f"], - [7970, 0, "i"], - [7971, 0, "c"], - [7972, 0, "a"], - [7973, 0, "t"], - [7974, 0, "i"], - [7975, 0, "o"], - [7976, 0, "n"], - [7977, 0, "s"], - [7978, 0, ","], - [7979, 0, " "], - [7980, 0, "b"], - [7981, 0, "u"], - [7982, 0, "t"], - [7983, 0, " "], - [7984, 0, "t"], - [7985, 0, "h"], - [7986, 0, "e"], - [7987, 0, " "], - [7988, 0, "s"], - [7989, 0, "o"], - [7990, 0, "l"], - [7991, 0, "u"], - [7992, 0, "t"], - [7993, 0, "i"], - [7994, 0, "o"], - [7995, 0, "n"], - [7996, 0, "s"], - [7997, 0, " "], - [7998, 0, "a"], - [7999, 0, "r"], - [8000, 0, "e"], - [8001, 0, " "], - [8002, 0, "o"], - [8003, 0, "f"], - [8004, 0, "t"], - [8005, 0, "e"], - [8006, 0, "n"], - [8007, 0, " "], - [8008, 0, "a"], - [8009, 0, "d"], - [8010, 0, "-"], - [8011, 0, "h"], - [8012, 0, "o"], - [8013, 0, "c"], - [8014, 0, "."], - [8015, 0, " "], - [8016, 0, "F"], - [8017, 0, "o"], - [8018, 0, "r"], - [8019, 0, " "], - [8020, 0, "e"], - [8021, 0, "x"], - [8022, 0, "a"], - [8023, 0, "m"], - [8024, 0, "p"], - [8025, 0, "l"], - [8026, 0, "e"], - [8027, 0, ","], - [8028, 0, " "], - [8029, 0, "i"], - [8030, 0, "n"], - [8031, 0, " "], - [8032, 0, "D"], - [8033, 0, "y"], - [8034, 0, "n"], - [8035, 0, "a"], - [8036, 0, "m"], - [8037, 0, "o"], - [8038, 0, "~"], - [8039, 0, "\\"], - [8040, 0, "c"], - [8041, 0, "i"], - [8042, 0, "t"], - [8043, 0, "e"], - [8044, 0, "{"], - [8045, 0, "D"], - [8046, 0, "e"], - [8047, 0, "C"], - [8048, 0, "a"], - [8049, 0, "n"], - [8050, 0, "d"], - [8051, 0, "i"], - [8052, 0, "a"], - [8053, 0, ":"], - [8054, 0, "2"], - [8055, 0, "0"], - [8056, 0, "0"], - [8057, 0, "7"], - [8058, 0, "u"], - [8059, 0, "i"], - [8060, 0, "}"], - [8061, 0, ","], - [8062, 0, " "], - [8063, 0, "i"], - [8064, 0, "f"], - [8065, 0, " "], - [8066, 0, "s"], - [8067, 0, "e"], - [8068, 0, "v"], - [8069, 0, "e"], - [8070, 0, "r"], - [8071, 0, "a"], - [8072, 0, "l"], - [8073, 0, " "], - [8074, 0, "v"], - [8075, 0, "a"], - [8076, 0, "l"], - [8077, 0, "u"], - [8078, 0, "e"], - [8079, 0, "s"], - [8080, 0, " "], - [8081, 0, "a"], - [8082, 0, "r"], - [8083, 0, "e"], - [8084, 0, " "], - [8085, 0, "c"], - [8086, 0, "o"], - [8087, 0, "n"], - [8088, 0, "c"], - [8089, 0, "u"], - [8090, 0, "r"], - [8091, 0, "r"], - [8092, 0, "e"], - [8093, 0, "n"], - [8094, 0, "t"], - [8095, 0, "l"], - [8096, 0, "y"], - [8097, 0, " "], - [8098, 0, "w"], - [8099, 0, "r"], - [8100, 0, "i"], - [8101, 0, "t"], - [8102, 0, "t"], - [8103, 0, "e"], - [8104, 0, "n"], - [8105, 0, " "], - [8106, 0, "t"], - [8107, 0, "o"], - [8108, 0, " "], - [8109, 0, "t"], - [8110, 0, "h"], - [8111, 0, "e"], - [8112, 0, " "], - [8113, 0, "s"], - [8114, 0, "a"], - [8115, 0, "m"], - [8116, 0, "e"], - [8117, 0, " "], - [8118, 0, "k"], - [8119, 0, "e"], - [8120, 0, "y"], - [8121, 0, ","], - [8122, 0, " "], - [8123, 0, "t"], - [8124, 0, "h"], - [8125, 0, "e"], - [8126, 0, " "], - [8127, 0, "d"], - [8128, 0, "a"], - [8129, 0, "t"], - [8130, 0, "a"], - [8131, 0, "b"], - [8132, 0, "a"], - [8133, 0, "s"], - [8134, 0, "e"], - [8135, 0, " "], - [8136, 0, "p"], - [8137, 0, "r"], - [8138, 0, "e"], - [8139, 0, "s"], - [8140, 0, "e"], - [8141, 0, "r"], - [8142, 0, "v"], - [8143, 0, "e"], - [8144, 0, "s"], - [8145, 0, " "], - [8146, 0, "a"], - [8147, 0, "l"], - [8148, 0, "l"], - [8149, 0, " "], - [8150, 0, "o"], - [8151, 0, "f"], - [8152, 0, " "], - [8153, 0, "t"], - [8154, 0, "h"], - [8155, 0, "e"], - [8156, 0, "s"], - [8157, 0, "e"], - [8158, 0, " "], - [8159, 0, "v"], - [8160, 0, "a"], - [8161, 0, "l"], - [8162, 0, "u"], - [8163, 0, "e"], - [8164, 0, "s"], - [8165, 0, ","], - [8166, 0, " "], - [8167, 0, "a"], - [8168, 0, "n"], - [8169, 0, "d"], - [8170, 0, " "], - [8171, 0, "l"], - [8172, 0, "e"], - [8173, 0, "a"], - [8174, 0, "v"], - [8175, 0, "e"], - [8176, 0, "s"], - [8177, 0, " "], - [8178, 0, "c"], - [8179, 0, "o"], - [8180, 0, "n"], - [8181, 0, "f"], - [8182, 0, "l"], - [8183, 0, "i"], - [8184, 0, "c"], - [8185, 0, "t"], - [8186, 0, " "], - [8187, 0, "r"], - [8188, 0, "e"], - [8189, 0, "s"], - [8190, 0, "o"], - [8191, 0, "l"], - [8192, 0, "u"], - [8193, 0, "t"], - [8194, 0, "i"], - [8195, 0, "o"], - [8196, 0, "n"], - [8197, 0, " "], - [8198, 0, "t"], - [8199, 0, "o"], - [8200, 0, " "], - [8201, 0, "a"], - [8202, 0, "p"], - [8203, 0, "p"], - [8204, 0, "l"], - [8205, 0, "i"], - [8206, 0, "c"], - [8207, 0, "a"], - [8208, 0, "t"], - [8209, 0, "i"], - [8210, 0, "o"], - [8211, 0, "n"], - [8212, 0, " "], - [8213, 0, "c"], - [8214, 0, "o"], - [8215, 0, "d"], - [8216, 0, "e"], - [8217, 0, "."], - [8218, 0, " "], - [8219, 0, "N"], - [8220, 0, "a"], - [8221, 0, "i"], - [8222, 0, "v"], - [8223, 0, "e"], - [8224, 0, "l"], - [8225, 0, "y"], - [8226, 0, " "], - [8227, 0, "c"], - [8228, 0, "h"], - [8229, 0, "o"], - [8230, 0, "s"], - [8231, 0, "e"], - [8232, 0, "n"], - [8233, 0, " "], - [8234, 0, "m"], - [8235, 0, "e"], - [8236, 0, "r"], - [8237, 0, "g"], - [8238, 0, "e"], - [8239, 0, " "], - [8240, 0, "f"], - [8241, 0, "u"], - [8242, 0, "n"], - [8243, 0, "c"], - [8244, 0, "t"], - [8245, 0, "i"], - [8246, 0, "o"], - [8247, 0, "n"], - [8248, 0, "s"], - [8249, 0, " "], - [8250, 0, "o"], - [8251, 0, "f"], - [8252, 0, "t"], - [8253, 0, "e"], - [8254, 0, "n"], - [8255, 0, " "], - [8256, 0, "e"], - [8257, 0, "x"], - [8258, 0, "h"], - [8259, 0, "i"], - [8260, 0, "b"], - [8261, 0, "i"], - [8262, 0, "t"], - [8263, 0, " "], - [8264, 0, "a"], - [8265, 0, "n"], - [8266, 0, "o"], - [8267, 0, "m"], - [8268, 0, "a"], - [8269, 0, "l"], - [8270, 0, "i"], - [8271, 0, "e"], - [8272, 0, "s"], - [8273, 0, " "], - [8274, 0, "s"], - [8275, 0, "u"], - [8276, 0, "c"], - [8277, 0, "h"], - [8278, 0, " "], - [8279, 0, "a"], - [8280, 0, "s"], - [8281, 0, " "], - [8282, 0, "t"], - [8283, 0, "h"], - [8284, 0, "e"], - [8285, 0, " "], - [8285, 1], - [8284, 1], - [8283, 1], - [8282, 1], - [8282, 0, "d"], - [8283, 0, "e"], - [8284, 0, "l"], - [8285, 0, "e"], - [8286, 0, "t"], - [8287, 0, "e"], - [8288, 0, "d"], - [8289, 0, " "], - [8290, 0, "i"], - [8291, 0, "t"], - [8292, 0, "e"], - [8293, 0, "m"], - [8294, 0, "s"], - [8295, 0, " "], - [8296, 0, "r"], - [8297, 0, "e"], - [8298, 0, "a"], - [8299, 0, "p"], - [8300, 0, "p"], - [8301, 0, "e"], - [8302, 0, "a"], - [8303, 0, "r"], - [8304, 0, "i"], - [8305, 0, "n"], - [8306, 0, "g"], - [8307, 0, "~"], - [8308, 0, "\\"], - [8309, 0, "c"], - [8310, 0, "i"], - [8311, 0, "t"], - [8312, 0, "e"], - [8313, 0, "{"], - [8314, 0, "D"], - [8315, 0, "e"], - [8316, 0, "C"], - [8317, 0, "a"], - [8318, 0, "n"], - [8319, 0, "d"], - [8320, 0, "i"], - [8321, 0, "a"], - [8322, 0, ":"], - [8323, 0, "2"], - [8324, 0, "0"], - [8325, 0, "0"], - [8326, 0, "7"], - [8327, 0, "u"], - [8328, 0, "i"], - [8329, 0, "}"], - [8330, 0, "."], - [8331, 0, " "], - [8332, 0, "A"], - [8333, 0, "s"], - [8334, 0, " "], - [8335, 0, "t"], - [8336, 0, "h"], - [8337, 0, "e"], - [8338, 0, " "], - [8339, 0, "c"], - [8340, 0, "o"], - [8341, 0, "m"], - [8342, 0, "p"], - [8343, 0, "l"], - [8344, 0, "e"], - [8345, 0, "x"], - [8346, 0, "i"], - [8347, 0, "t"], - [8348, 0, "y"], - [8349, 0, " "], - [8350, 0, "o"], - [8351, 0, "f"], - [8352, 0, " "], - [8353, 0, "t"], - [8354, 0, "h"], - [8355, 0, "i"], - [8356, 0, "s"], - [8357, 0, " "], - [8358, 0, "p"], - [8359, 0, "a"], - [8360, 0, "p"], - [8361, 0, "e"], - [8362, 0, "r"], - [8363, 0, " "], - [8364, 0, "d"], - [8365, 0, "e"], - [8366, 0, "m"], - [8367, 0, "o"], - [8368, 0, "n"], - [8369, 0, "s"], - [8370, 0, "t"], - [8371, 0, "r"], - [8372, 0, "a"], - [8373, 0, "t"], - [8374, 0, "e"], - [8375, 0, "s"], - [8376, 0, ","], - [8377, 0, " "], - [8378, 0, "c"], - [8379, 0, "o"], - [8380, 0, "n"], - [8381, 0, "f"], - [8382, 0, "l"], - [8383, 0, "c"], - [8384, 0, "i"], - [8385, 0, "t"], - [8386, 0, " "], - [8387, 0, "r"], - [8388, 0, "e"], - [8389, 0, "s"], - [8390, 0, "o"], - [8391, 0, "l"], - [8392, 0, "u"], - [8393, 0, "t"], - [8394, 0, "i"], - [8395, 0, "o"], - [8396, 0, "n"], - [8397, 0, " "], - [8398, 0, "i"], - [8399, 0, "s"], - [8400, 0, " "], - [8401, 0, "n"], - [8402, 0, "o"], - [8403, 0, "t"], - [8404, 0, " "], - [8405, 0, "a"], - [8406, 0, " "], - [8407, 0, "s"], - [8408, 0, "i"], - [8409, 0, "m"], - [8410, 0, "p"], - [8411, 0, "l"], - [8412, 0, "e"], - [8413, 0, " "], - [8414, 0, "m"], - [8415, 0, "a"], - [8416, 0, "t"], - [8417, 0, "t"], - [8418, 0, "e"], - [8419, 0, "r"], - [8420, 0, " "], - [8421, 0, "t"], - [8422, 0, "h"], - [8423, 0, "a"], - [8424, 0, "n"], - [8425, 0, " "], - [8425, 1], - [8424, 1], - [8424, 0, "t"], - [8425, 0, " "], - [8426, 0, "c"], - [8427, 0, "a"], - [8428, 0, "n"], - [8429, 0, " "], - [8430, 0, "r"], - [8431, 0, "e"], - [8432, 0, "a"], - [8433, 0, "s"], - [8434, 0, "o"], - [8435, 0, "n"], - [8436, 0, "a"], - [8437, 0, "b"], - [8438, 0, "l"], - [8439, 0, "y"], - [8440, 0, " "], - [8441, 0, "b"], - [8442, 0, "e"], - [8443, 0, " "], - [8444, 0, "l"], - [8445, 0, "e"], - [8446, 0, "f"], - [8447, 0, "t"], - [8448, 0, " "], - [8449, 0, "t"], - [8450, 0, "o"], - [8451, 0, " "], - [8452, 0, "a"], - [8453, 0, "p"], - [8454, 0, "p"], - [8455, 0, "l"], - [8456, 0, "i"], - [8457, 0, "c"], - [8458, 0, "a"], - [8459, 0, "t"], - [8460, 0, "i"], - [8461, 0, "o"], - [8462, 0, "n"], - [8463, 0, " "], - [8464, 0, "p"], - [8465, 0, "r"], - [8466, 0, "o"], - [8467, 0, "g"], - [8468, 0, "r"], - [8469, 0, "a"], - [8470, 0, "m"], - [8471, 0, "m"], - [8472, 0, "e"], - [8473, 0, "r"], - [8474, 0, "s"], - [8475, 0, "."], - [8476, 0, "\n"], - [8477, 0, "\n"], - [8478, 0, "A"], - [8479, 0, "n"], - [8480, 0, "o"], - [8481, 0, "t"], - [8482, 0, "h"], - [8483, 0, "e"], - [8484, 0, "r"], - [8485, 0, " "], - [8486, 0, "f"], - [8487, 0, "r"], - [8488, 0, "e"], - [8489, 0, "q"], - [8490, 0, "u"], - [8491, 0, "e"], - [8492, 0, "n"], - [8493, 0, "t"], - [8494, 0, "l"], - [8495, 0, "y"], - [8496, 0, "-"], - [8497, 0, "u"], - [8498, 0, "s"], - [8499, 0, "e"], - [8500, 0, "d"], - [8501, 0, " "], - [8502, 0, "a"], - [8503, 0, "p"], - [8504, 0, "p"], - [8505, 0, "r"], - [8506, 0, "o"], - [8507, 0, "a"], - [8508, 0, "c"], - [8509, 0, "h"], - [8510, 0, " "], - [8511, 0, "t"], - [8512, 0, "o"], - [8513, 0, " "], - [8514, 0, "c"], - [8515, 0, "o"], - [8516, 0, "n"], - [8517, 0, "f"], - [8518, 0, "l"], - [8519, 0, "i"], - [8520, 0, "c"], - [8521, 0, "t"], - [8522, 0, " "], - [8523, 0, "r"], - [8524, 0, "e"], - [8525, 0, "s"], - [8526, 0, "o"], - [8527, 0, "l"], - [8528, 0, "u"], - [8529, 0, "t"], - [8530, 0, "i"], - [8531, 0, "o"], - [8532, 0, "n"], - [8533, 0, " "], - [8534, 0, "i"], - [8535, 0, "s"], - [8536, 0, " "], - [8537, 0, "\\"], - [8538, 0, "e"], - [8539, 0, "m"], - [8540, 0, "p"], - [8541, 0, "h"], - [8542, 0, "{"], - [8543, 0, "l"], - [8544, 0, "a"], - [8545, 0, "s"], - [8546, 0, "t"], - [8547, 0, " "], - [8548, 0, "w"], - [8549, 0, "r"], - [8550, 0, "i"], - [8551, 0, "t"], - [8552, 0, "e"], - [8553, 0, "r"], - [8554, 0, " "], - [8555, 0, "w"], - [8556, 0, "i"], - [8557, 0, "n"], - [8558, 0, "s"], - [8559, 0, "}"], - [8560, 0, " "], - [8561, 0, "("], - [8562, 0, "L"], - [8563, 0, "W"], - [8564, 0, "W"], - [8565, 0, ")"], - [8566, 0, ","], - [8567, 0, " "], - [8568, 0, "w"], - [8569, 0, "h"], - [8570, 0, "i"], - [8571, 0, "c"], - [8572, 0, "h"], - [8573, 0, " "], - [8574, 0, "a"], - [8575, 0, "r"], - [8576, 0, "b"], - [8577, 0, "i"], - [8578, 0, "t"], - [8579, 0, "r"], - [8580, 0, "a"], - [8581, 0, "r"], - [8582, 0, "i"], - [8583, 0, "l"], - [8584, 0, "y"], - [8585, 0, " "], - [8586, 0, "c"], - [8587, 0, "h"], - [8588, 0, "o"], - [8589, 0, "o"], - [8590, 0, "s"], - [8591, 0, "e"], - [8592, 0, "s"], - [8593, 0, " "], - [8594, 0, "o"], - [8595, 0, "n"], - [8596, 0, "e"], - [8597, 0, " "], - [8598, 0, "a"], - [8599, 0, "m"], - [8600, 0, "o"], - [8601, 0, "n"], - [8602, 0, "g"], - [8603, 0, " "], - [8604, 0, "s"], - [8605, 0, "e"], - [8606, 0, "v"], - [8607, 0, "e"], - [8608, 0, "r"], - [8609, 0, "a"], - [8610, 0, "l"], - [8611, 0, " "], - [8612, 0, "c"], - [8613, 0, "o"], - [8614, 0, "n"], - [8615, 0, "c"], - [8616, 0, "u"], - [8617, 0, "r"], - [8618, 0, "r"], - [8619, 0, "e"], - [8620, 0, "n"], - [8621, 0, "t"], - [8622, 0, " "], - [8623, 0, "w"], - [8624, 0, "r"], - [8625, 0, "i"], - [8626, 0, "t"], - [8627, 0, "e"], - [8628, 0, "s"], - [8629, 0, " "], - [8630, 0, "a"], - [8631, 0, "s"], - [8632, 0, " "], - [8633, 0, "`"], - [8634, 0, "`"], - [8635, 0, "w"], - [8636, 0, "i"], - [8637, 0, "n"], - [8638, 0, "n"], - [8639, 0, "e"], - [8640, 0, "r"], - [8641, 0, "'"], - [8642, 0, "'"], - [8643, 0, " "], - [8644, 0, "a"], - [8645, 0, "n"], - [8646, 0, "d"], - [8647, 0, " "], - [8648, 0, "d"], - [8649, 0, "i"], - [8650, 0, "s"], - [8651, 0, "c"], - [8652, 0, "a"], - [8653, 0, "r"], - [8654, 0, "d"], - [8655, 0, "s"], - [8656, 0, " "], - [8657, 0, "t"], - [8658, 0, "h"], - [8659, 0, "e"], - [8660, 0, " "], - [8661, 0, "o"], - [8662, 0, "t"], - [8663, 0, "h"], - [8664, 0, "e"], - [8665, 0, "r"], - [8666, 0, "s"], - [8667, 0, "."], - [8668, 0, " "], - [8669, 0, "T"], - [8670, 0, "h"], - [8671, 0, "i"], - [8672, 0, "s"], - [8673, 0, " "], - [8674, 0, "a"], - [8675, 0, "p"], - [8676, 0, "p"], - [8677, 0, "r"], - [8678, 0, "o"], - [8679, 0, "a"], - [8680, 0, "c"], - [8681, 0, "h"], - [8682, 0, " "], - [8683, 0, "i"], - [8684, 0, "s"], - [8685, 0, " "], - [8686, 0, "u"], - [8687, 0, "s"], - [8688, 0, "e"], - [8689, 0, "d"], - [8690, 0, " "], - [8691, 0, "i"], - [8692, 0, "n"], - [8693, 0, " "], - [8694, 0, "A"], - [8695, 0, "p"], - [8696, 0, "a"], - [8697, 0, "c"], - [8698, 0, "h"], - [8699, 0, "e"], - [8700, 0, " "], - [8701, 0, "C"], - [8702, 0, "a"], - [8703, 0, "s"], - [8704, 0, "s"], - [8705, 0, "a"], - [8706, 0, "n"], - [8707, 0, "d"], - [8708, 0, "r"], - [8709, 0, "a"], - [8710, 0, ","], - [8711, 0, " "], - [8712, 0, "a"], - [8713, 0, "n"], - [8714, 0, "d"], - [8715, 0, " "], - [8716, 0, "i"], - [8717, 0, "t"], - [8718, 0, " "], - [8719, 0, "i"], - [8720, 0, "s"], - [8721, 0, " "], - [8722, 0, "a"], - [8723, 0, "n"], - [8724, 0, " "], - [8725, 0, "o"], - [8726, 0, "p"], - [8727, 0, "e"], - [8727, 1], - [8727, 0, "t"], - [8728, 0, "i"], - [8729, 0, "o"], - [8730, 0, "n"], - [8731, 0, " "], - [8732, 0, "i"], - [8733, 0, "n"], - [8734, 0, " "], - [8735, 0, "m"], - [8736, 0, "a"], - [8737, 0, "n"], - [8738, 0, "y"], - [8739, 0, " "], - [8740, 0, "o"], - [8741, 0, "t"], - [8742, 0, "h"], - [8743, 0, "e"], - [8744, 0, "r"], - [8745, 0, " "], - [8746, 0, "s"], - [8747, 0, "y"], - [8748, 0, "s"], - [8749, 0, "t"], - [8750, 0, "e"], - [8751, 0, "m"], - [8752, 0, "s"], - [8753, 0, " "], - [8754, 0, "i"], - [8755, 0, "n"], - [8756, 0, "c"], - [8757, 0, "l"], - [8758, 0, "u"], - [8759, 0, "d"], - [8760, 0, "i"], - [8761, 0, "n"], - [8762, 0, "g"], - [8763, 0, " "], - [8764, 0, "R"], - [8765, 0, "i"], - [8766, 0, "a"], - [8767, 0, "k"], - [8768, 0, " "], - [8769, 0, "a"], - [8770, 0, "n"], - [8771, 0, "d"], - [8772, 0, " "], - [8773, 0, "C"], - [8774, 0, "o"], - [8775, 0, "u"], - [8776, 0, "c"], - [8777, 0, "h"], - [8778, 0, "D"], - [8779, 0, "B"], - [8780, 0, "."], - [8781, 0, " "], - [8782, 0, "L"], - [8783, 0, "W"], - [8784, 0, "W"], - [8785, 0, "W"], - [8785, 1], - [8785, 0, " "], - [8786, 0, "d"], - [8787, 0, "o"], - [8788, 0, "e"], - [8789, 0, "s"], - [8790, 0, " "], - [8791, 0, "n"], - [8792, 0, "o"], - [8793, 0, "t"], - [8794, 0, " "], - [8795, 0, "m"], - [8796, 0, "e"], - [8797, 0, "e"], - [8798, 0, "t"], - [8799, 0, " "], - [8800, 0, "o"], - [8801, 0, "u"], - [8802, 0, "r"], - [8803, 0, " "], - [8804, 0, "r"], - [8805, 0, "e"], - [8806, 0, "q"], - [8807, 0, "u"], - [8808, 0, "i"], - [8809, 0, "r"], - [8810, 0, "e"], - [8811, 0, "m"], - [8812, 0, "e"], - [8813, 0, "n"], - [8814, 0, "t"], - [8815, 0, "s"], - [8816, 0, ","], - [8817, 0, " "], - [8818, 0, "s"], - [8819, 0, "i"], - [8820, 0, "n"], - [8821, 0, "c"], - [8822, 0, "e"], - [8823, 0, " "], - [8824, 0, "w"], - [8825, 0, "e"], - [8826, 0, " "], - [8827, 0, "w"], - [8828, 0, "a"], - [8829, 0, "n"], - [8830, 0, "t"], - [8831, 0, " "], - [8832, 0, "n"], - [8833, 0, "o"], - [8834, 0, " "], - [8835, 0, "u"], - [8836, 0, "s"], - [8837, 0, "e"], - [8838, 0, "r"], - [8839, 0, " "], - [8840, 0, "i"], - [8841, 0, "n"], - [8842, 0, "p"], - [8843, 0, "u"], - [8844, 0, "t"], - [8845, 0, " "], - [8846, 0, "t"], - [8847, 0, "o"], - [8848, 0, " "], - [8849, 0, "b"], - [8850, 0, "e"], - [8851, 0, " "], - [8852, 0, "l"], - [8853, 0, "o"], - [8854, 0, "s"], - [8855, 0, "t"], - [8856, 0, " "], - [8857, 0, "d"], - [8858, 0, "u"], - [8859, 0, "e"], - [8860, 0, " "], - [8861, 0, "t"], - [8862, 0, "o"], - [8863, 0, " "], - [8864, 0, "c"], - [8865, 0, "o"], - [8866, 0, "n"], - [8867, 0, "c"], - [8868, 0, "u"], - [8869, 0, "r"], - [8870, 0, "r"], - [8871, 0, "e"], - [8872, 0, "n"], - [8873, 0, "t"], - [8874, 0, " "], - [8875, 0, "m"], - [8876, 0, "o"], - [8877, 0, "d"], - [8878, 0, "i"], - [8879, 0, "f"], - [8880, 0, "i"], - [8881, 0, "c"], - [8882, 0, "a"], - [8883, 0, "t"], - [8884, 0, "i"], - [8885, 0, "o"], - [8886, 0, "n"], - [8887, 0, "s"], - [8888, 0, "."], - [8889, 0, "\n"], - [8890, 0, "\n"], - [8891, 0, "F"], - [8892, 0, "i"], - [8893, 0, "n"], - [8894, 0, "a"], - [8895, 0, "l"], - [8896, 0, "l"], - [8897, 0, "y"], - [8898, 0, ","], - [8899, 0, " "], - [8900, 0, "s"], - [8901, 0, "y"], - [8902, 0, "s"], - [8903, 0, "t"], - [8904, 0, "e"], - [8905, 0, "m"], - [8906, 0, "s"], - [8907, 0, " "], - [8908, 0, "s"], - [8909, 0, "u"], - [8910, 0, "c"], - [8911, 0, "h"], - [8912, 0, " "], - [8913, 0, "a"], - [8914, 0, "s"], - [8915, 0, " "], - [8916, 0, "B"], - [8917, 0, "a"], - [8918, 0, "y"], - [8919, 0, "o"], - [8920, 0, "u"], - [8921, 0, "~"], - [8922, 0, "\\"], - [8923, 0, "c"], - [8924, 0, "i"], - [8925, 0, "t"], - [8926, 0, "e"], - [8927, 0, "{"], - [8928, 0, "T"], - [8929, 0, "e"], - [8930, 0, "r"], - [8931, 0, "r"], - [8932, 0, "y"], - [8933, 0, ":"], - [8934, 0, "1"], - [8935, 0, "0"], - [8935, 1], - [8935, 0, "9"], - [8936, 0, "9"], - [8937, 0, "5"], - [8938, 0, "d"], - [8939, 0, "n"], - [8940, 0, "}"], - [8941, 0, " "], - [8942, 0, "a"], - [8943, 0, "l"], - [8944, 0, "l"], - [8945, 0, "o"], - [8946, 0, "w"], - [8947, 0, " "], - [8948, 0, "o"], - [8949, 0, "f"], - [8950, 0, "f"], - [8951, 0, "l"], - [8952, 0, "i"], - [8953, 0, "n"], - [8954, 0, "e"], - [8955, 0, " "], - [8956, 0, "n"], - [8957, 0, "o"], - [8958, 0, "d"], - [8959, 0, "e"], - [8960, 0, "s"], - [8961, 0, " "], - [8962, 0, "t"], - [8963, 0, "o"], - [8964, 0, " "], - [8965, 0, "e"], - [8966, 0, "x"], - [8967, 0, "e"], - [8968, 0, "c"], - [8969, 0, "u"], - [8970, 0, "t"], - [8971, 0, "e"], - [8972, 0, " "], - [8973, 0, "t"], - [8974, 0, "r"], - [8975, 0, "a"], - [8976, 0, "n"], - [8977, 0, "s"], - [8978, 0, "a"], - [8979, 0, "c"], - [8980, 0, "t"], - [8981, 0, "i"], - [8982, 0, "o"], - [8983, 0, "n"], - [8984, 0, "s"], - [8985, 0, " "], - [8986, 0, "t"], - [8987, 0, "e"], - [8988, 0, "n"], - [8989, 0, "t"], - [8990, 0, "a"], - [8991, 0, "t"], - [8992, 0, "i"], - [8993, 0, "v"], - [8994, 0, "e"], - [8995, 0, "l"], - [8996, 0, "y"], - [8997, 0, ","], - [8998, 0, " "], - [8999, 0, "a"], - [9000, 0, "n"], - [9001, 0, "d"], - [9002, 0, " "], - [9003, 0, " "], - [9004, 0, "o"], - [9005, 0, "n"], - [9005, 1], - [9004, 1], - [9003, 1], - [9003, 0, "c"], - [9004, 0, "o"], - [9005, 0, "n"], - [9006, 0, "f"], - [9007, 0, "i"], - [9008, 0, "r"], - [9009, 0, "m"], - [9010, 0, " "], - [9011, 0, "t"], - [9012, 0, "h"], - [9013, 0, "e"], - [9014, 0, "m"], - [9015, 0, " "], - [9016, 0, "w"], - [9017, 0, "h"], - [9018, 0, "e"], - [9019, 0, "n"], - [9020, 0, " "], - [9021, 0, "t"], - [9022, 0, "h"], - [9023, 0, "e"], - [9024, 0, "y"], - [9025, 0, " "], - [9026, 0, "a"], - [9027, 0, "r"], - [9028, 0, "e"], - [9029, 0, " "], - [9030, 0, "n"], - [9031, 0, "e"], - [9032, 0, "x"], - [9033, 0, "t"], - [9034, 0, " "], - [9035, 0, "o"], - [9036, 0, "n"], - [9037, 0, "l"], - [9038, 0, "i"], - [9039, 0, "n"], - [9040, 0, "e"], - [9041, 0, "."], - [9042, 0, " "], - [9043, 0, "T"], - [9044, 0, "h"], - [9045, 0, "i"], - [9046, 0, "s"], - [9047, 0, " "], - [9048, 0, "a"], - [9049, 0, "p"], - [9050, 0, "p"], - [9051, 0, "r"], - [9052, 0, "o"], - [9053, 0, "a"], - [9054, 0, "c"], - [9055, 0, "h"], - [9056, 0, " "], - [9057, 0, "r"], - [9058, 0, "e"], - [9059, 0, "l"], - [9060, 0, "i"], - [9061, 0, "e"], - [9062, 0, "s"], - [9063, 0, " "], - [9064, 0, "o"], - [9065, 0, "n"], - [9066, 0, " "], - [9067, 0, "a"], - [9068, 0, "l"], - [9069, 0, "l"], - [9070, 0, " "], - [9071, 0, "s"], - [9072, 0, "e"], - [9073, 0, "r"], - [9074, 0, "v"], - [9075, 0, "e"], - [9076, 0, "r"], - [9077, 0, "s"], - [9078, 0, " "], - [9079, 0, "e"], - [9080, 0, "x"], - [9081, 0, "e"], - [9082, 0, "c"], - [9083, 0, "u"], - [9084, 0, "t"], - [9085, 0, "i"], - [9086, 0, "n"], - [9087, 0, "g"], - [9088, 0, " "], - [9089, 0, "t"], - [9090, 0, "r"], - [9091, 0, "a"], - [9092, 0, "n"], - [9093, 0, "s"], - [9094, 0, "a"], - [9095, 0, "c"], - [9096, 0, "t"], - [9097, 0, "i"], - [9098, 0, "o"], - [9099, 0, "n"], - [9100, 0, "s"], - [9101, 0, " "], - [9102, 0, "i"], - [9103, 0, "n"], - [9104, 0, " "], - [9105, 0, "t"], - [9106, 0, "h"], - [9107, 0, "e"], - [9108, 0, " "], - [9109, 0, "s"], - [9110, 0, "a"], - [9111, 0, "m"], - [9112, 0, "e"], - [9113, 0, " "], - [9114, 0, "s"], - [9115, 0, "e"], - [9116, 0, "r"], - [9117, 0, "i"], - [9118, 0, "a"], - [9119, 0, "l"], - [9120, 0, " "], - [9121, 0, "o"], - [9122, 0, "r"], - [9123, 0, "d"], - [9124, 0, "e"], - [9125, 0, "r"], - [9126, 0, ","], - [9127, 0, " "], - [9128, 0, "a"], - [9129, 0, "n"], - [9130, 0, "d"], - [9131, 0, " "], - [9132, 0, "d"], - [9133, 0, "e"], - [9134, 0, "c"], - [9135, 0, "i"], - [9136, 0, "d"], - [9137, 0, "i"], - [9138, 0, "n"], - [9139, 0, "g"], - [9140, 0, " "], - [9141, 0, "w"], - [9142, 0, "h"], - [9143, 0, "e"], - [9144, 0, "t"], - [9145, 0, "h"], - [9146, 0, "e"], - [9147, 0, "r"], - [9148, 0, " "], - [9149, 0, "a"], - [9150, 0, " "], - [9151, 0, "t"], - [9152, 0, "r"], - [9153, 0, "a"], - [9154, 0, "n"], - [9155, 0, "s"], - [9156, 0, "a"], - [9157, 0, "c"], - [9158, 0, "t"], - [9159, 0, "i"], - [9160, 0, "o"], - [9161, 0, "n"], - [9162, 0, " "], - [9163, 0, "w"], - [9164, 0, "a"], - [9165, 0, "n"], - [9165, 1], - [9165, 0, "s"], - [9166, 0, " "], - [9167, 0, "s"], - [9168, 0, "u"], - [9169, 0, "c"], - [9170, 0, "c"], - [9171, 0, "e"], - [9172, 0, "s"], - [9173, 0, "s"], - [9174, 0, "f"], - [9175, 0, "u"], - [9176, 0, "l"], - [9177, 0, " "], - [9178, 0, "d"], - [9179, 0, "e"], - [9180, 0, "p"], - [9181, 0, "e"], - [9182, 0, "n"], - [9183, 0, "d"], - [9184, 0, "i"], - [9185, 0, "n"], - [9186, 0, "g"], - [9187, 0, " "], - [9188, 0, "o"], - [9189, 0, "n"], - [9190, 0, " "], - [9191, 0, "i"], - [9192, 0, "t"], - [9193, 0, "s"], - [9194, 0, " "], - [9195, 0, "p"], - [9196, 0, "r"], - [9197, 0, "e"], - [9198, 0, "c"], - [9199, 0, "o"], - [9200, 0, "n"], - [9201, 0, "d"], - [9202, 0, "i"], - [9203, 0, "t"], - [9204, 0, "i"], - [9205, 0, "o"], - [9206, 0, "n"], - [9207, 0, "s"], - [9208, 0, "."], - [9209, 0, " "], - [9210, 0, "A"], - [9211, 0, "s"], - [9212, 0, " "], - [9213, 0, "d"], - [9214, 0, "i"], - [9215, 0, "s"], - [9216, 0, "c"], - [9217, 0, "u"], - [9218, 0, "s"], - [9219, 0, "s"], - [9220, 0, "e"], - [9221, 0, "d"], - [9222, 0, " "], - [9223, 0, "i"], - [9224, 0, "n"], - [9225, 0, " "], - [9226, 0, "s"], - [9227, 0, "e"], - [9228, 0, "c"], - [9229, 0, "t"], - [9230, 0, "i"], - [9231, 0, "o"], - [9232, 0, "n"], - [9233, 0, "~"], - [9234, 0, "\\"], - [9235, 0, "r"], - [9236, 0, "e"], - [9237, 0, "f"], - [9238, 0, "{"], - [9239, 0, "s"], - [9240, 0, "e"], - [9241, 0, "c"], - [9242, 0, ":"], - [9243, 0, "r"], - [9244, 0, "e"], - [9245, 0, "l"], - [9246, 0, "a"], - [9247, 0, "t"], - [9248, 0, "e"], - [9249, 0, "d"], - [9250, 0, "-"], - [9251, 0, "o"], - [9252, 0, "t"], - [9253, 0, "}"], - [9254, 0, ","], - [9255, 0, " "], - [9256, 0, "s"], - [9257, 0, "u"], - [9258, 0, "c"], - [9259, 0, "h"], - [9260, 0, " "], - [9261, 0, "s"], - [9262, 0, "e"], - [9263, 0, "r"], - [9264, 0, "i"], - [9265, 0, "a"], - [9266, 0, "l"], - [9267, 0, " "], - [9268, 0, "o"], - [9269, 0, "r"], - [9270, 0, "d"], - [9271, 0, "e"], - [9272, 0, "r"], - [9273, 0, "i"], - [9274, 0, "n"], - [9275, 0, "g"], - [9276, 0, " "], - [9277, 0, "r"], - [9278, 0, "e"], - [9279, 0, "q"], - [9280, 0, "u"], - [9281, 0, "i"], - [9282, 0, "r"], - [9283, 0, "e"], - [9284, 0, "m"], - [9285, 0, "e"], - [9286, 0, "n"], - [9287, 0, "t"], - [9288, 0, "s"], - [9289, 0, " "], - [9290, 0, "a"], - [9291, 0, "r"], - [9292, 0, "e"], - [9293, 0, " "], - [9294, 0, "p"], - [9295, 0, "r"], - [9296, 0, "o"], - [9297, 0, "h"], - [9298, 0, "i"], - [9299, 0, "b"], - [9300, 0, "i"], - [9301, 0, "t"], - [9302, 0, "i"], - [9303, 0, "v"], - [9304, 0, "e"], - [9305, 0, " "], - [9306, 0, "i"], - [9307, 0, "n"], - [9308, 0, " "], - [9309, 0, "a"], - [9310, 0, " "], - [9311, 0, "p"], - [9312, 0, "e"], - [9313, 0, "e"], - [9314, 0, "r"], - [9315, 0, "-"], - [9316, 0, "t"], - [9317, 0, "o"], - [9318, 0, "-"], - [9319, 0, "p"], - [9320, 0, "e"], - [9321, 0, "e"], - [9322, 0, "r"], - [9323, 0, " "], - [9324, 0, "s"], - [9325, 0, "y"], - [9326, 0, "s"], - [9327, 0, "t"], - [9328, 0, "e"], - [9329, 0, "m"], - [9330, 0, " "], - [9331, 0, "o"], - [9332, 0, "f"], - [9333, 0, " "], - [9334, 0, "m"], - [9335, 0, "o"], - [9336, 0, "b"], - [9337, 0, "i"], - [9338, 0, "l"], - [9339, 0, "e"], - [9340, 0, " "], - [9341, 0, "d"], - [9342, 0, "e"], - [9343, 0, "v"], - [9344, 0, "i"], - [9345, 0, "c"], - [9346, 0, "e"], - [9347, 0, "s"], - [9348, 0, "."], - [9351, 0, "\n"], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [75235, 1], - [62368, 0, "\n"], - [62369, 0, "\n"], - [62370, 0, "\n"], - [62371, 0, "\\"], - [62372, 0, "s"], - [62373, 0, "e"], - [62374, 0, "c"], - [62375, 0, "t"], - [62376, 0, "i"], - [62377, 0, "o"], - [62378, 0, "n"], - [62379, 0, "{"], - [62380, 0, "C"], - [62381, 0, "o"], - [62382, 0, "n"], - [62383, 0, "c"], - [62384, 0, "l"], - [62385, 0, "u"], - [62386, 0, "s"], - [62387, 0, "i"], - [62388, 0, "o"], - [62389, 0, "n"], - [62390, 0, "}"], - [62391, 0, "\n"], - [62392, 0, "\n"], - [62393, 0, "T"], - [62394, 0, "O"], - [62395, 0, "D"], - [62396, 0, "O"], - [62397, 0, " "], - [62398, 0, "c"], - [62399, 0, "o"], - [62400, 0, "n"], - [62401, 0, "c"], - [62402, 0, "l"], - [62403, 0, "u"], - [62404, 0, "s"], - [62405, 0, "i"], - [62406, 0, "o"], - [62407, 0, "n"], - [62408, 0, "."], - [62409, 0, "\n"], - [62410, 0, "\n"], - [62411, 0, "\n"], - [62412, 0, "\\"], - [62413, 0, "s"], - [62414, 0, "e"], - [62415, 0, "c"], - [62416, 0, "t"], - [62417, 0, "i"], - [62418, 0, "o"], - [62419, 0, "n"], - [62420, 0, "*"], - [62421, 0, "{"], - [62422, 0, "A"], - [62423, 0, "c"], - [62424, 0, "k"], - [62425, 0, "n"], - [62426, 0, "o"], - [62427, 0, "w"], - [62428, 0, "l"], - [62429, 0, "e"], - [62430, 0, "d"], - [62431, 0, "g"], - [62432, 0, "e"], - [62433, 0, "m"], - [62434, 0, "e"], - [62435, 0, "n"], - [62436, 0, "t"], - [62437, 0, "s"], - [62438, 0, "}"], - [62439, 0, "\n"], - [62440, 0, "\n"], - [62441, 0, "T"], - [62442, 0, "h"], - [62443, 0, "i"], - [62444, 0, "s"], - [62445, 0, " "], - [62446, 0, "r"], - [62447, 0, "e"], - [62448, 0, "s"], - [62449, 0, "e"], - [62450, 0, "a"], - [62451, 0, "r"], - [62452, 0, "c"], - [62453, 0, "h"], - [62454, 0, " "], - [62455, 0, "w"], - [62456, 0, "a"], - [62457, 0, "s"], - [62458, 0, " "], - [62459, 0, "s"], - [62460, 0, "u"], - [62461, 0, "p"], - [62462, 0, "p"], - [62463, 0, "o"], - [62464, 0, "r"], - [62465, 0, "t"], - [62466, 0, "e"], - [62467, 0, "d"], - [62468, 0, " "], - [62469, 0, "b"], - [62470, 0, "y"], - [62471, 0, " "], - [62472, 0, "a"], - [62473, 0, " "], - [62474, 0, "g"], - [62475, 0, "r"], - [62476, 0, "a"], - [62477, 0, "n"], - [62478, 0, "t"], - [62479, 0, " "], - [62480, 0, "f"], - [62481, 0, "r"], - [62482, 0, "o"], - [62483, 0, "m"], - [62484, 0, " "], - [62485, 0, "T"], - [62486, 0, "h"], - [62487, 0, "e"], - [62488, 0, " "], - [62489, 0, "B"], - [62490, 0, "o"], - [62491, 0, "e"], - [62492, 0, "i"], - [62493, 0, "n"], - [62494, 0, "g"], - [62495, 0, " "], - [62496, 0, "C"], - [62497, 0, "o"], - [62498, 0, "m"], - [62499, 0, "p"], - [62500, 0, "a"], - [62501, 0, "n"], - [62502, 0, "y"], - [62503, 0, "."], - [62504, 0, "\n"], - [62521, 0, "\\"], - [62522, 0, "a"], - [62523, 0, "p"], - [62524, 0, "p"], - [62525, 0, "e"], - [62526, 0, "n"], - [62527, 0, "d"], - [62528, 0, "i"], - [62529, 0, "c"], - [62530, 0, "e"], - [62531, 0, "s"], - [62532, 0, "\n"], - [62533, 0, "\\"], - [62534, 0, "s"], - [62535, 0, "e"], - [62536, 0, "c"], - [62537, 0, "t"], - [62538, 0, "i"], - [62539, 0, "o"], - [62540, 0, "n"], - [62541, 0, "{"], - [62542, 0, "P"], - [62543, 0, "r"], - [62544, 0, "o"], - [62545, 0, "o"], - [62546, 0, "f"], - [62547, 0, " "], - [62548, 0, "o"], - [62549, 0, "f"], - [62550, 0, " "], - [62551, 0, "c"], - [62552, 0, "o"], - [62553, 0, "n"], - [62554, 0, "v"], - [62555, 0, "e"], - [62556, 0, "r"], - [62557, 0, "g"], - [62558, 0, "e"], - [62559, 0, "n"], - [62560, 0, "c"], - [62561, 0, "e"], - [62562, 0, "}"], - [62563, 0, "\n"], - [62505, 0, "\n"], - [62506, 0, "\\"], - [62507, 0, "b"], - [62508, 0, "i"], - [62509, 0, "b"], - [62510, 0, "l"], - [62511, 0, "i"], - [62512, 0, "o"], - [62513, 0, "g"], - [62514, 0, "r"], - [62515, 0, "a"], - [62516, 0, "p"], - [62517, 0, "h"], - [62518, 0, "y"], - [62519, 0, "s"], - [62520, 0, "t"], - [62521, 0, "y"], - [62522, 0, "l"], - [62523, 0, "e"], - [62524, 0, "{"], - [62525, 0, "I"], - [62526, 0, "E"], - [62527, 0, "E"], - [62528, 0, "E"], - [62529, 0, "t"], - [62530, 0, "r"], - [62531, 0, "a"], - [62532, 0, "n"], - [62533, 0, "}"], - [62534, 0, "\n"], - [62535, 0, "\\"], - [62536, 0, "b"], - [62537, 0, "i"], - [62538, 0, "b"], - [62539, 0, "l"], - [62540, 0, "i"], - [62541, 0, "o"], - [62542, 0, "g"], - [62543, 0, "r"], - [62544, 0, "a"], - [62545, 0, "p"], - [62546, 0, "h"], - [62547, 0, "y"], - [62548, 0, "{"], - [62549, 0, "r"], - [62550, 0, "e"], - [62551, 0, "f"], - [62552, 0, "e"], - [62553, 0, "r"], - [62554, 0, "e"], - [62555, 0, "n"], - [62556, 0, "c"], - [62557, 0, "e"], - [62558, 0, "s"], - [62559, 0, "}"], - [62560, 0, "{"], - [62561, 0, "}"], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75472, 1], - [75471, 1], - [1065, 1], - [1064, 1], - [1063, 1], - [1062, 1], - [1062, 0, "M"], - [1063, 0, "a"], - [1064, 0, "n"], - [1065, 0, "y"], - [1066, 0, " "], - [1067, 0, "a"], - [1068, 0, "p"], - [1069, 0, "p"], - [1070, 0, "l"], - [1071, 0, "i"], - [1072, 0, "c"], - [1073, 0, "a"], - [1074, 0, "t"], - [1075, 0, "i"], - [1076, 0, "o"], - [1077, 0, "n"], - [1078, 0, "s"], - [1079, 0, " "], - [1080, 0, "m"], - [1081, 0, "o"], - [1082, 0, "d"], - [1083, 0, "e"], - [1084, 0, "l"], - [1085, 0, " "], - [1086, 0, "t"], - [1087, 0, "h"], - [1088, 0, "e"], - [1089, 0, "i"], - [1090, 0, "r"], - [1091, 0, " "], - [1092, 0, "d"], - [1093, 0, "a"], - [1094, 0, "t"], - [1095, 0, "a"], - [1096, 0, " "], - [1097, 0, "i"], - [1098, 0, "n"], - [1099, 0, " "], - [1100, 0, "a"], - [1101, 0, " "], - [1102, 0, "g"], - [1103, 0, "e"], - [1104, 0, "n"], - [1105, 0, "e"], - [1106, 0, "r"], - [1107, 0, "a"], - [1108, 0, "l"], - [1109, 0, "-"], - [1110, 0, "p"], - [1111, 0, "u"], - [1112, 0, "r"], - [1113, 0, "p"], - [1114, 0, "o"], - [1115, 0, "s"], - [1116, 0, "e"], - [1117, 0, " "], - [1118, 0, "s"], - [1119, 0, "t"], - [1120, 0, "o"], - [1121, 0, "r"], - [1122, 0, "a"], - [1123, 0, "g"], - [1124, 0, "e"], - [1125, 0, " "], - [1126, 0, "f"], - [1127, 0, "o"], - [1128, 0, "r"], - [1129, 0, "m"], - [1130, 0, "a"], - [1131, 0, "t"], - [1132, 0, " "], - [1133, 0, "s"], - [1134, 0, "u"], - [1135, 0, "c"], - [1136, 0, "h"], - [1137, 0, " "], - [1138, 0, "a"], - [1139, 0, "s"], - [1140, 0, " "], - [1141, 0, "J"], - [1142, 0, "S"], - [1143, 0, "O"], - [1144, 0, "N"], - [1145, 0, "."], - [1146, 0, " "], - [1147, 0, "F"], - [1147, 1], - [1147, 0, "T"], - [1148, 0, "h"], - [1149, 0, "i"], - [1150, 0, "s"], - [1151, 0, " "], - [1152, 0, "d"], - [1153, 0, "a"], - [1154, 0, "t"], - [1155, 0, "a"], - [1156, 0, " "], - [1157, 0, "s"], - [1158, 0, "t"], - [1159, 0, "r"], - [1160, 0, "u"], - [1161, 0, "c"], - [1162, 0, "t"], - [1163, 0, "u"], - [1164, 0, "r"], - [1165, 0, "e"], - [1166, 0, " "], - [1167, 0, "i"], - [1168, 0, "s"], - [1169, 0, " "], - [1170, 0, "m"], - [1171, 0, "o"], - [1172, 0, "d"], - [1173, 0, "i"], - [1174, 0, "f"], - [1175, 0, "i"], - [1176, 0, "e"], - [1177, 0, "d"], - [1178, 0, " "], - [1179, 0, "b"], - [1180, 0, "y"], - [1181, 0, " "], - [1182, 0, "t"], - [1183, 0, "h"], - [1184, 0, "e"], - [1185, 0, " "], - [1186, 0, "a"], - [1187, 0, "p"], - [1188, 0, "p"], - [1189, 0, "l"], - [1190, 0, "i"], - [1191, 0, "c"], - [1192, 0, "a"], - [1193, 0, "t"], - [1194, 0, "i"], - [1195, 0, "o"], - [1196, 0, "n"], - [1197, 0, " "], - [1198, 0, "a"], - [1199, 0, "s"], - [1200, 0, " "], - [1201, 0, "a"], - [1202, 0, " "], - [1203, 0, "r"], - [1204, 0, "e"], - [1205, 0, "s"], - [1206, 0, "u"], - [1207, 0, "l"], - [1208, 0, "t"], - [1209, 0, " "], - [1210, 0, "o"], - [1211, 0, "f"], - [1212, 0, " "], - [1213, 0, "u"], - [1214, 0, "s"], - [1215, 0, "e"], - [1216, 0, "r"], - [1217, 0, " "], - [1218, 0, "i"], - [1219, 0, "n"], - [1220, 0, "p"], - [1221, 0, "u"], - [1222, 0, "t"], - [1223, 0, "."], - [1224, 0, " "], - [1225, 0, "S"], - [1226, 0, "u"], - [1227, 0, "c"], - [1228, 0, "h"], - [1229, 0, " "], - [1230, 0, "m"], - [1231, 0, "o"], - [1232, 0, "d"], - [1233, 0, "i"], - [1234, 0, "f"], - [1235, 0, "i"], - [1236, 0, "c"], - [1237, 0, "a"], - [1238, 0, "t"], - [1239, 0, "i"], - [1240, 0, "o"], - [1241, 0, "n"], - [1242, 0, "s"], - [1243, 0, " "], - [1244, 0, "a"], - [1245, 0, "r"], - [1246, 0, "e"], - [1247, 0, " "], - [1248, 0, "w"], - [1249, 0, "e"], - [1250, 0, "l"], - [1251, 0, "l"], - [1252, 0, " "], - [1253, 0, "u"], - [1254, 0, "n"], - [1255, 0, "d"], - [1256, 0, "e"], - [1257, 0, "r"], - [1258, 0, "s"], - [1259, 0, "t"], - [1260, 0, "o"], - [1261, 0, "o"], - [1262, 0, "d"], - [1263, 0, " "], - [1264, 0, "i"], - [1265, 0, "f"], - [1266, 0, " "], - [1267, 0, "t"], - [1267, 1], - [1267, 0, "p"], - [1268, 0, "e"], - [1269, 0, "r"], - [1270, 0, "f"], - [1271, 0, "o"], - [1272, 0, "r"], - [1273, 0, "m"], - [1274, 0, "e"], - [1275, 0, "d"], - [1276, 0, " "], - [1277, 0, "s"], - [1278, 0, "e"], - [1279, 0, "q"], - [1280, 0, "u"], - [1281, 0, "e"], - [1282, 0, "n"], - [1283, 0, "t"], - [1284, 0, "i"], - [1285, 0, "a"], - [1286, 0, "l"], - [1287, 0, "l"], - [1288, 0, "y"], - [1289, 0, " "], - [1290, 0, "o"], - [1291, 0, "n"], - [1292, 0, " "], - [1293, 0, "a"], - [1294, 0, " "], - [1295, 0, "s"], - [1296, 0, "i"], - [1297, 0, "n"], - [1298, 0, "g"], - [1299, 0, "l"], - [1300, 0, "e"], - [1301, 0, " "], - [1302, 0, "c"], - [1303, 0, "o"], - [1304, 0, "p"], - [1305, 0, "y"], - [1306, 0, " "], - [1307, 0, "o"], - [1308, 0, "f"], - [1309, 0, " "], - [1310, 0, "t"], - [1311, 0, "h"], - [1312, 0, "e"], - [1313, 0, " "], - [1314, 0, "d"], - [1315, 0, "a"], - [1316, 0, "t"], - [1317, 0, "a"], - [1318, 0, ","], - [1319, 0, " "], - [1320, 0, "b"], - [1321, 0, "u"], - [1322, 0, "t"], - [1323, 0, " "], - [1324, 0, "t"], - [1325, 0, "h"], - [1326, 0, "e"], - [1327, 0, " "], - [1328, 0, "s"], - [1329, 0, "e"], - [1330, 0, "m"], - [1331, 0, "a"], - [1332, 0, "n"], - [1333, 0, "t"], - [1334, 0, "i"], - [1335, 0, "c"], - [1336, 0, "s"], - [1337, 0, " "], - [1338, 0, "a"], - [1339, 0, "r"], - [1340, 0, "e"], - [1341, 0, " "], - [1341, 1], - [1340, 1], - [1339, 1], - [1338, 1], - [1338, 0, "i"], - [1339, 0, "s"], - [1340, 0, " "], - [1341, 0, "u"], - [1342, 0, "n"], - [1343, 0, "c"], - [1344, 0, "l"], - [1345, 0, "e"], - [1346, 0, "a"], - [1347, 0, "r"], - [1348, 0, " "], - [1349, 0, "i"], - [1350, 0, "f"], - [1351, 0, " "], - [1352, 0, "d"], - [1353, 0, "a"], - [1354, 0, "t"], - [1354, 1], - [1353, 1], - [1352, 1], - [1352, 0, "t"], - [1353, 0, "h"], - [1354, 0, "e"], - [1355, 0, " "], - [1356, 0, "d"], - [1357, 0, "a"], - [1358, 0, "t"], - [1359, 0, "a"], - [1360, 0, " "], - [1361, 0, "i"], - [1362, 0, "s"], - [1363, 0, " "], - [1364, 0, "r"], - [1365, 0, "e"], - [1366, 0, "p"], - [1367, 0, "l"], - [1368, 0, "i"], - [1369, 0, "c"], - [1370, 0, "a"], - [1371, 0, "t"], - [1372, 0, "e"], - [1373, 0, "d"], - [1374, 0, " "], - [1375, 0, "o"], - [1376, 0, "n"], - [1377, 0, " "], - [1378, 0, "m"], - [1379, 0, "u"], - [1380, 0, "l"], - [1381, 0, "t"], - [1382, 0, "i"], - [1383, 0, "p"], - [1384, 0, "l"], - [1385, 0, "e"], - [1386, 0, " "], - [1387, 0, "d"], - [1388, 0, "e"], - [1389, 0, "v"], - [1390, 0, "i"], - [1391, 0, "c"], - [1392, 0, "e"], - [1393, 0, "s"], - [1394, 0, " "], - [1395, 0, "w"], - [1396, 0, "h"], - [1397, 0, "e"], - [1398, 0, "r"], - [1399, 0, "e"], - [1400, 0, " "], - [1401, 0, "i"], - [1402, 0, "t"], - [1403, 0, " "], - [1404, 0, "m"], - [1405, 0, "a"], - [1406, 0, "y"], - [1407, 0, " "], - [1408, 0, "b"], - [1409, 0, "e"], - [1410, 0, " "], - [1411, 0, "m"], - [1412, 0, "o"], - [1413, 0, "d"], - [1414, 0, "i"], - [1415, 0, "f"], - [1416, 0, "i"], - [1417, 0, "e"], - [1418, 0, "d"], - [1419, 0, " "], - [1419, 1], - [1418, 1], - [1417, 1], - [1416, 1], - [1415, 1], - [1414, 1], - [1413, 1], - [1412, 1], - [1411, 1], - [1410, 1], - [1409, 1], - [1408, 1], - [1407, 1], - [1406, 1], - [1405, 1], - [1404, 1], - [1403, 1], - [1402, 1], - [1401, 1], - [1400, 1], - [1399, 1], - [1398, 1], - [1397, 1], - [1396, 1], - [1396, 0, "i"], - [1396, 1], - [1395, 1], - [1395, 0, "a"], - [1396, 0, "n"], - [1397, 0, "d"], - [1398, 0, " "], - [1399, 0, "m"], - [1400, 0, "o"], - [1401, 0, "d"], - [1402, 0, "i"], - [1403, 0, "f"], - [1404, 0, "i"], - [1405, 0, "e"], - [1406, 0, "d"], - [1407, 0, " "], - [1408, 0, "c"], - [1409, 0, "o"], - [1410, 0, "n"], - [1411, 0, "c"], - [1412, 0, "u"], - [1413, 0, "r"], - [1414, 0, "r"], - [1415, 0, "e"], - [1416, 0, "n"], - [1417, 0, "t"], - [1418, 0, "l"], - [1419, 0, "y"], - [1420, 0, " "], - [1421, 0, "o"], - [1422, 0, "n"], - [1423, 0, " "], - [1424, 0, "m"], - [1425, 0, "u"], - [1426, 0, "l"], - [1427, 0, "t"], - [1428, 0, "i"], - [1429, 0, "p"], - [1430, 0, "l"], - [1431, 0, "e"], - [1432, 0, " "], - [1433, 0, "d"], - [1434, 0, "e"], - [1435, 0, "v"], - [1436, 0, "i"], - [1437, 0, "c"], - [1438, 0, "e"], - [1439, 0, "s"], - [1440, 0, "."], - [1393, 1], - [1392, 1], - [1391, 1], - [1390, 1], - [1389, 1], - [1388, 1], - [1387, 1], - [1386, 1], - [1385, 1], - [1384, 1], - [1383, 1], - [1382, 1], - [1381, 1], - [1380, 1], - [1379, 1], - [1378, 1], - [1377, 1], - [1376, 1], - [1375, 1], - [1374, 1], - [1421, 0, " "], - [1422, 0, "I"], - [1423, 0, "n"], - [1424, 0, " "], - [1425, 0, "t"], - [1426, 0, "h"], - [1427, 0, "i"], - [1428, 0, "s"], - [1429, 0, " "], - [1430, 0, "p"], - [1431, 0, "a"], - [1432, 0, "p"], - [1433, 0, "e"], - [1434, 0, "r"], - [1435, 0, " "], - [1436, 0, "w"], - [1437, 0, "e"], - [1438, 0, " "], - [1439, 0, "p"], - [1440, 0, "r"], - [1441, 0, "e"], - [1442, 0, "s"], - [1443, 0, "e"], - [1444, 0, "n"], - [1445, 0, "t"], - [1446, 0, " "], - [1447, 0, "a"], - [1448, 0, "n"], - [1449, 0, " "], - [1450, 0, "a"], - [1451, 0, "l"], - [1452, 0, "g"], - [1453, 0, "o"], - [1454, 0, "r"], - [1455, 0, "i"], - [1456, 0, "t"], - [1457, 0, "h"], - [1458, 0, "m"], - [1459, 0, " "], - [1460, 0, "a"], - [1461, 0, "n"], - [1462, 0, "d"], - [1463, 0, " "], - [1464, 0, "f"], - [1465, 0, "o"], - [1466, 0, "r"], - [1467, 0, "m"], - [1468, 0, "a"], - [1469, 0, "l"], - [1470, 0, " "], - [1471, 0, "s"], - [1472, 0, "e"], - [1473, 0, "m"], - [1474, 0, "a"], - [1475, 0, "n"], - [1476, 0, "t"], - [1477, 0, "i"], - [1478, 0, "c"], - [1479, 0, "s"], - [1480, 0, " "], - [1481, 0, "f"], - [1482, 0, "o"], - [1483, 0, "r"], - [1484, 0, " "], - [1485, 0, "a"], - [1486, 0, " "], - [1487, 0, "J"], - [1488, 0, "S"], - [1489, 0, "O"], - [1490, 0, "N"], - [1491, 0, " "], - [1492, 0, "d"], - [1493, 0, "a"], - [1494, 0, "t"], - [1495, 0, "a"], - [1496, 0, " "], - [1497, 0, "s"], - [1498, 0, "t"], - [1499, 0, "r"], - [1500, 0, "u"], - [1501, 0, "c"], - [1502, 0, "t"], - [1503, 0, "u"], - [1504, 0, "r"], - [1505, 0, "e"], - [1506, 0, " "], - [1507, 0, "t"], - [1508, 0, "h"], - [1509, 0, "a"], - [1510, 0, "t"], - [1511, 0, " "], - [1512, 0, "a"], - [1513, 0, "u"], - [1514, 0, "t"], - [1515, 0, "o"], - [1516, 0, "m"], - [1517, 0, "a"], - [1518, 0, "t"], - [1519, 0, "i"], - [1520, 0, "c"], - [1521, 0, "a"], - [1522, 0, "l"], - [1523, 0, "l"], - [1524, 0, "y"], - [1525, 0, " "], - [1526, 0, "r"], - [1527, 0, "e"], - [1528, 0, "s"], - [1529, 0, "o"], - [1530, 0, "l"], - [1531, 0, "v"], - [1532, 0, "e"], - [1533, 0, "s"], - [1534, 0, " "], - [1535, 0, "c"], - [1536, 0, "o"], - [1537, 0, "n"], - [1538, 0, "c"], - [1539, 0, "u"], - [1540, 0, "r"], - [1541, 0, "r"], - [1542, 0, "e"], - [1543, 0, "n"], - [1544, 0, "t"], - [1545, 0, " "], - [1546, 0, "m"], - [1547, 0, "o"], - [1548, 0, "d"], - [1549, 0, "i"], - [1550, 0, "f"], - [1551, 0, "i"], - [1552, 0, "c"], - [1553, 0, "a"], - [1554, 0, "t"], - [1555, 0, "i"], - [1556, 0, "o"], - [1557, 0, "n"], - [1558, 0, "s"], - [1559, 0, " "], - [1560, 0, "s"], - [1561, 0, "u"], - [1562, 0, "c"], - [1563, 0, "h"], - [1564, 0, " "], - [1565, 0, "t"], - [1566, 0, "h"], - [1567, 0, "a"], - [1568, 0, "t"], - [1569, 0, " "], - [1570, 0, "n"], - [1571, 0, "o"], - [1572, 0, " "], - [1573, 0, "u"], - [1574, 0, "p"], - [1575, 0, "d"], - [1576, 0, "a"], - [1577, 0, "t"], - [1578, 0, "e"], - [1579, 0, "s"], - [1580, 0, " "], - [1581, 0, "a"], - [1582, 0, "r"], - [1583, 0, "e"], - [1584, 0, " "], - [1585, 0, "l"], - [1586, 0, "o"], - [1587, 0, "s"], - [1588, 0, "t"], - [1589, 0, ","], - [1590, 0, " "], - [1591, 0, "a"], - [1592, 0, "n"], - [1593, 0, "d"], - [1594, 0, " "], - [1595, 0, "t"], - [1596, 0, "h"], - [1597, 0, "a"], - [1598, 0, "t"], - [1599, 0, " "], - [1595, 0, "s"], - [1596, 0, "u"], - [1597, 0, "c"], - [1598, 0, "h"], - [1599, 0, " "], - [1605, 0, "a"], - [1606, 0, "l"], - [1607, 0, "l"], - [1608, 0, " "], - [1609, 0, "r"], - [1610, 0, "e"], - [1611, 0, "p"], - [1612, 0, "l"], - [1613, 0, "i"], - [1614, 0, "c"], - [1615, 0, "a"], - [1616, 0, "s"], - [1617, 0, " "], - [1618, 0, "c"], - [1619, 0, "o"], - [1620, 0, "n"], - [1621, 0, "v"], - [1622, 0, "e"], - [1623, 0, "r"], - [1624, 0, "g"], - [1625, 0, "e"], - [1626, 0, " "], - [1627, 0, "t"], - [1628, 0, "o"], - [1629, 0, "w"], - [1630, 0, "a"], - [1631, 0, "r"], - [1632, 0, "d"], - [1633, 0, "s"], - [1634, 0, " "], - [1635, 0, "t"], - [1636, 0, "h"], - [1637, 0, "e"], - [1638, 0, " "], - [1639, 0, "s"], - [1640, 0, "a"], - [1641, 0, "m"], - [1642, 0, "e"], - [1643, 0, " "], - [1644, 0, "s"], - [1645, 0, "t"], - [1646, 0, "a"], - [1647, 0, "t"], - [1648, 0, "e"], - [1649, 0, "."], - [1650, 0, " "], - [1651, 0, "I"], - [1652, 0, "t"], - [1653, 0, " "], - [1654, 0, "s"], - [1655, 0, "u"], - [1656, 0, "p"], - [1657, 0, "p"], - [1658, 0, "o"], - [1659, 0, "r"], - [1660, 0, "t"], - [1661, 0, "s"], - [1662, 0, " "], - [1663, 0, "a"], - [1664, 0, "r"], - [1665, 0, "b"], - [1666, 0, "i"], - [1667, 0, "t"], - [1668, 0, "r"], - [1669, 0, "a"], - [1670, 0, "r"], - [1671, 0, "i"], - [1672, 0, "l"], - [1673, 0, "y"], - [1674, 0, " "], - [1675, 0, "n"], - [1676, 0, "e"], - [1677, 0, "s"], - [1678, 0, "t"], - [1679, 0, "e"], - [1680, 0, "d"], - [1681, 0, " "], - [1682, 0, "l"], - [1683, 0, "i"], - [1684, 0, "s"], - [1685, 0, "t"], - [1686, 0, " "], - [1687, 0, "a"], - [1688, 0, "n"], - [1689, 0, "d"], - [1690, 0, " "], - [1691, 0, "m"], - [1692, 0, "a"], - [1693, 0, "p"], - [1694, 0, " "], - [1695, 0, "t"], - [1696, 0, "y"], - [1697, 0, "p"], - [1698, 0, "e"], - [1699, 0, "s"], - [1700, 0, "."], - [1701, 0, " "], - [1701, 1], - [1700, 1], - [1700, 0, "."], - [1701, 0, " "], - [1702, 0, "I"], - [1703, 0, "t"], - [1704, 0, " "], - [1700, 0, ","], - [1701, 0, " "], - [1702, 0, "w"], - [1703, 0, "h"], - [1704, 0, "i"], - [1705, 0, "c"], - [1706, 0, "h"], - [1707, 0, " "], - [1708, 0, "c"], - [1709, 0, "a"], - [1710, 0, "n"], - [1711, 0, " "], - [1712, 0, "b"], - [1713, 0, "e"], - [1714, 0, " "], - [1715, 0, "m"], - [1716, 0, "o"], - [1717, 0, "d"], - [1718, 0, "i"], - [1719, 0, "f"], - [1720, 0, "i"], - [1721, 0, "e"], - [1722, 0, "d"], - [1723, 0, " "], - [1724, 0, "b"], - [1725, 0, "y"], - [1726, 0, " "], - [1727, 0, "i"], - [1728, 0, "n"], - [1729, 0, "s"], - [1730, 0, "e"], - [1731, 0, "r"], - [1732, 0, "t"], - [1733, 0, "i"], - [1734, 0, "o"], - [1735, 0, "n"], - [1736, 0, ","], - [1737, 0, " "], - [1738, 0, "d"], - [1739, 0, "e"], - [1740, 0, "l"], - [1741, 0, "e"], - [1742, 0, "t"], - [1743, 0, "i"], - [1744, 0, "o"], - [1745, 0, "n"], - [1746, 0, " "], - [1747, 0, "a"], - [1748, 0, "n"], - [1749, 0, "d"], - [1750, 0, " "], - [1751, 0, "a"], - [1752, 0, "s"], - [1753, 0, "s"], - [1754, 0, "i"], - [1755, 0, "g"], - [1756, 0, "n"], - [1757, 0, "m"], - [1758, 0, "e"], - [1759, 0, "n"], - [1760, 0, "t"], - [1765, 1], - [1764, 1], - [1763, 1], - [1763, 0, "T"], - [1764, 0, "h"], - [1765, 0, "e"], - [1766, 0, " "], - [1767, 0, "a"], - [1768, 0, "l"], - [1769, 0, "g"], - [1770, 0, "o"], - [1771, 0, "r"], - [1772, 0, "i"], - [1773, 0, "t"], - [1774, 0, "h"], - [1775, 0, "m"], - [1776, 0, " "], - [1777, 0, "p"], - [1778, 0, "e"], - [1779, 0, "r"], - [1780, 0, "f"], - [1781, 0, "o"], - [1782, 0, "r"], - [1783, 0, "m"], - [1784, 0, "s"], - [1785, 0, " "], - [1786, 0, "a"], - [1787, 0, "l"], - [1788, 0, "l"], - [1789, 0, " "], - [1790, 0, "m"], - [1791, 0, "e"], - [1792, 0, "r"], - [1793, 0, "g"], - [1794, 0, "i"], - [1795, 0, "n"], - [1796, 0, "g"], - [1797, 0, " "], - [1798, 0, "c"], - [1799, 0, "l"], - [1800, 0, "i"], - [1801, 0, "e"], - [1802, 0, "n"], - [1803, 0, "t"], - [1804, 0, "-"], - [1805, 0, "s"], - [1806, 0, "i"], - [1807, 0, "d"], - [1808, 0, "e"], - [1809, 0, " "], - [1810, 0, "a"], - [1811, 0, "n"], - [1812, 0, "d"], - [1813, 0, " "], - [1814, 0, "d"], - [1815, 0, "o"], - [1816, 0, "e"], - [1817, 0, "s"], - [1818, 0, " "], - [1819, 0, "n"], - [1820, 0, "o"], - [1821, 0, "t"], - [1822, 0, " "], - [1823, 0, "d"], - [1824, 0, "e"], - [1825, 0, "p"], - [1826, 0, "e"], - [1827, 0, "n"], - [1828, 0, "d"], - [1829, 0, " "], - [1830, 0, "o"], - [1831, 0, "n"], - [1832, 0, " "], - [1833, 0, "o"], - [1834, 0, "r"], - [1835, 0, "d"], - [1836, 0, "e"], - [1837, 0, "r"], - [1838, 0, "i"], - [1839, 0, "n"], - [1840, 0, "g"], - [1841, 0, " "], - [1842, 0, "g"], - [1843, 0, "u"], - [1844, 0, "a"], - [1845, 0, "r"], - [1846, 0, "a"], - [1847, 0, "n"], - [1848, 0, "t"], - [1849, 0, "e"], - [1850, 0, "e"], - [1851, 0, "s"], - [1852, 0, " "], - [1853, 0, "f"], - [1854, 0, "r"], - [1855, 0, "o"], - [1856, 0, "m"], - [1857, 0, " "], - [1858, 0, "t"], - [1859, 0, "h"], - [1860, 0, "e"], - [1861, 0, " "], - [1862, 0, "n"], - [1863, 0, "e"], - [1864, 0, "t"], - [1865, 0, "w"], - [1866, 0, "o"], - [1867, 0, "r"], - [1868, 0, "k"], - [1869, 0, ","], - [1870, 0, " "], - [1871, 0, "a"], - [1872, 0, "l"], - [1873, 0, "l"], - [1874, 0, "o"], - [1875, 0, "w"], - [1876, 0, "i"], - [1877, 0, "n"], - [1878, 0, "g"], - [1879, 0, " "], - [1880, 0, "i"], - [1881, 0, "t"], - [1882, 0, " "], - [1883, 0, "t"], - [1884, 0, "o"], - [1885, 0, " "], - [1886, 0, "b"], - [1887, 0, "e"], - [1888, 0, " "], - [1889, 0, "d"], - [1890, 0, "e"], - [1891, 0, "p"], - [1892, 0, "l"], - [1893, 0, "o"], - [1894, 0, "y"], - [1895, 0, "e"], - [1896, 0, "d"], - [1897, 0, " "], - [1898, 0, "i"], - [1899, 0, "n"], - [1900, 0, " "], - [1901, 0, "p"], - [1902, 0, "e"], - [1903, 0, "e"], - [1904, 0, "r"], - [1905, 0, "-"], - [1906, 0, "t"], - [1907, 0, "o"], - [1908, 0, "-"], - [1909, 0, "p"], - [1910, 0, "e"], - [1911, 0, "e"], - [1912, 0, "r"], - [1913, 0, " "], - [1914, 0, "n"], - [1915, 0, "e"], - [1916, 0, "t"], - [1917, 0, "w"], - [1918, 0, "o"], - [1919, 0, "r"], - [1920, 0, "k"], - [1921, 0, "s"], - [1922, 0, " "], - [1923, 0, "a"], - [1924, 0, "n"], - [1925, 0, "d"], - [1926, 0, " "], - [1927, 0, "i"], - [1928, 0, "n"], - [1929, 0, " "], - [1930, 0, "e"], - [1930, 1], - [1930, 0, "m"], - [1931, 0, "e"], - [1932, 0, "s"], - [1933, 0, "s"], - [1934, 0, "a"], - [1935, 0, "g"], - [1936, 0, "i"], - [1937, 0, "n"], - [1938, 0, "g"], - [1939, 0, " "], - [1940, 0, "s"], - [1941, 0, "y"], - [1942, 0, "s"], - [1943, 0, "t"], - [1944, 0, "e"], - [1945, 0, "m"], - [1946, 0, "s"], - [1947, 0, " "], - [1948, 0, "w"], - [1949, 0, "i"], - [1950, 0, "t"], - [1951, 0, "h"], - [1952, 0, " "], - [1953, 0, "e"], - [1954, 0, "n"], - [1955, 0, "d"], - [1956, 0, "-"], - [1957, 0, "t"], - [1958, 0, "o"], - [1959, 0, "-"], - [1960, 0, "e"], - [1961, 0, "n"], - [1962, 0, "d"], - [1963, 0, " "], - [1964, 0, "e"], - [1965, 0, "n"], - [1966, 0, "c"], - [1967, 0, "r"], - [1968, 0, "y"], - [1969, 0, "p"], - [1970, 0, "t"], - [1971, 0, "i"], - [1972, 0, "o"], - [1973, 0, "n"], - [1974, 0, "."], - [1061, 0, "\n"], - [1062, 0, "%"], - [1063, 0, " "], - [1064, 0, "w"], - [1065, 0, "o"], - [1066, 0, "r"], - [1067, 0, "d"], - [1068, 0, " "], - [1069, 0, "l"], - [1070, 0, "i"], - [1071, 0, "m"], - [1072, 0, "i"], - [1073, 0, "t"], - [1074, 0, " "], - [1064, 0, "a"], - [1065, 0, "b"], - [1066, 0, "s"], - [1067, 0, "t"], - [1068, 0, "r"], - [1069, 0, "a"], - [1070, 0, "c"], - [1071, 0, "t"], - [1072, 0, " "], - [1083, 1], - [1083, 0, ":"], - [1084, 0, " "], - [1085, 0, "1"], - [1086, 0, "0"], - [1087, 0, "0"], - [1088, 0, "-"], - [1089, 0, "2"], - [1090, 0, "0"], - [1091, 0, "0"], - [1092, 0, " "], - [1093, 0, "w"], - [1094, 0, "o"], - [1095, 0, "r"], - [1096, 0, "d"], - [1097, 0, "s"], - [2294, 1], - [2293, 1], - [2292, 1], - [2291, 1], - [2290, 1], - [2289, 1], - [2288, 1], - [2287, 1], - [2286, 1], - [2285, 1], - [2284, 1], - [2283, 1], - [2282, 1], - [2281, 1], - [2280, 1], - [2279, 1], - [2294, 0, " "], - [2295, 0, "s"], - [2296, 0, "u"], - [2297, 0, "c"], - [2298, 0, "h"], - [2299, 0, " "], - [2300, 0, "a"], - [2301, 0, "s"], - [2302, 0, " "], - [2303, 0, "s"], - [2304, 0, "m"], - [2305, 0, "a"], - [2306, 0, "r"], - [2307, 0, "t"], - [2308, 0, "p"], - [2309, 0, "h"], - [2310, 0, "o"], - [2311, 0, "n"], - [2312, 0, "e"], - [2313, 0, "s"], - [2324, 1], - [2323, 1], - [2322, 1], - [2321, 1], - [2333, 1], - [2338, 1], - [2337, 1], - [2336, 1], - [2335, 1], - [2334, 1], - [2333, 1], - [2336, 0, " "], - [2337, 0, "c"], - [2338, 0, "o"], - [2339, 0, "n"], - [2340, 0, "t"], - [2341, 0, "i"], - [2342, 0, "n"], - [2343, 0, "u"], - [2344, 0, "e"], - [2350, 0, "i"], - [2351, 0, "n"], - [2352, 0, "g"], - [2294, 0, ","], - [2315, 0, ","], - [2335, 0, "s"], - [2584, 0, " "], - [2585, 0, "t"], - [2586, 0, "o"], - [2587, 0, "o"], - [2588, 0, "l"], - [2589, 0, "s"], - [2590, 0, ","], - [2591, 0, " "], - [2592, 0, "t"], - [2593, 0, "o"], - [2594, 0, "-"], - [2595, 0, "d"], - [2596, 0, "o"], - [2597, 0, " "], - [2598, 0, "l"], - [2599, 0, "i"], - [2600, 0, "s"], - [2601, 0, "t"], - [2602, 0, "s"], - [3082, 0, "~"], - [3083, 0, "\\"], - [3084, 0, "c"], - [3085, 0, "i"], - [3086, 0, "t"], - [3087, 0, "e"], - [3088, 0, "{"], - [3089, 0, "D"], - [3090, 0, "a"], - [3091, 0, "v"], - [3092, 0, "i"], - [3093, 0, "d"], - [3094, 0, "s"], - [3095, 0, "o"], - [3096, 0, "n"], - [3097, 0, ":"], - [3098, 0, "1"], - [3099, 0, "9"], - [3100, 0, "8"], - [3101, 0, "5"], - [3102, 0, "h"], - [3103, 0, "v"], - [3104, 0, "}"], - [2825, 1], - [2824, 1], - [2823, 1], - [2822, 1], - [2821, 1], - [3100, 1], - [3100, 0, "."], - [3103, 1], - [3103, 0, "="], - [3103, 1], - [3102, 1], - [3102, 0, "I"], - [3103, 0, "f"], - [3104, 0, " "], - [3105, 0, "w"], - [3106, 0, "e"], - [3107, 0, " "], - [3108, 0, "r"], - [3109, 0, "e"], - [3110, 0, "q"], - [3111, 0, "u"], - [3112, 0, "i"], - [3113, 0, "r"], - [3114, 0, "e"], - [3115, 0, " "], - [3116, 0, "a"], - [3117, 0, "p"], - [3118, 0, "p"], - [3119, 0, "l"], - [3120, 0, "i"], - [3121, 0, "c"], - [3122, 0, "a"], - [3123, 0, "t"], - [3124, 0, "i"], - [3125, 0, "o"], - [3126, 0, "n"], - [3127, 0, "s"], - [3128, 0, " "], - [3129, 0, "t"], - [3130, 0, "o"], - [3131, 0, " "], - [3132, 0, "w"], - [3133, 0, "o"], - [3134, 0, "r"], - [3135, 0, "k"], - [3136, 0, " "], - [3137, 0, "r"], - [3138, 0, "e"], - [3139, 0, "g"], - [3140, 0, "a"], - [3141, 0, "r"], - [3142, 0, "d"], - [3143, 0, "l"], - [3144, 0, "e"], - [3145, 0, "s"], - [3146, 0, "s"], - [3147, 0, " "], - [3148, 0, "o"], - [3149, 0, "f"], - [3150, 0, " "], - [3151, 0, "t"], - [3152, 0, "h"], - [3153, 0, "e"], - [3154, 0, " "], - [3155, 0, "n"], - [3156, 0, "e"], - [3157, 0, "t"], - [3158, 0, "w"], - [3159, 0, "o"], - [3160, 0, "r"], - [3161, 0, "k"], - [3162, 0, ","], - [3261, 0, " "], - [3262, 0, "t"], - [3263, 0, "h"], - [3264, 0, "a"], - [3265, 0, "t"], - [2938, 0, "a"], - [2939, 0, "p"], - [2940, 0, "p"], - [2941, 0, "r"], - [2942, 0, "o"], - [2943, 0, "a"], - [2944, 0, "c"], - [2945, 0, "h"], - [2946, 0, "e"], - [2947, 0, "s"], - [2948, 0, " "], - [2949, 0, "t"], - [2950, 0, "o"], - [2951, 0, " "], - [2981, 1], - [2980, 1], - [2979, 1], - [2978, 1], - [2977, 1], - [2976, 1], - [2975, 1], - [2974, 1], - [2973, 1], - [2972, 1], - [2971, 1], - [2971, 0, ","], - [2926, 0, "R"], - [2927, 0, "e"], - [2928, 0, "q"], - [2929, 0, "u"], - [2930, 0, "i"], - [2931, 0, "r"], - [2932, 0, "i"], - [2933, 0, "n"], - [2934, 0, "g"], - [2935, 0, " "], - [2936, 0, "s"], - [2937, 0, "e"], - [2938, 0, "r"], - [2939, 0, "i"], - [2940, 0, "a"], - [2941, 0, "l"], - [2942, 0, "i"], - [2943, 0, "z"], - [2944, 0, "a"], - [2945, 0, "b"], - [2946, 0, "i"], - [2947, 0, "l"], - [2948, 0, "i"], - [2949, 0, "t"], - [2950, 0, "y"], - [2951, 0, ","], - [2952, 0, " "], - [2953, 0, "t"], - [2954, 0, "h"], - [2955, 0, "e"], - [2956, 0, " "], - [2957, 1], - [2957, 0, "t"], - [2978, 1], - [2977, 1], - [3024, 1], - [3023, 1], - [3022, 1], - [3021, 1], - [3020, 1], - [3019, 1], - [3018, 1], - [3017, 1], - [3016, 1], - [3015, 1], - [3014, 1], - [3013, 1], - [3012, 1], - [3011, 1], - [3010, 1], - [3009, 1], - [3008, 1], - [3007, 1], - [3006, 1], - [3005, 1], - [3004, 1], - [3003, 1], - [3002, 1], - [3001, 1], - [3125, 0, "t"], - [3126, 0, "h"], - [3127, 0, "a"], - [3128, 0, "t"], - [3129, 0, " "], - [3144, 1], - [3143, 1], - [3142, 1], - [3680, 0, "\n"], - [3681, 0, "\n"], - [3682, 0, "C"], - [3683, 0, "u"], - [3684, 0, "r"], - [3685, 0, "r"], - [3686, 0, "e"], - [3687, 0, "n"], - [3688, 0, "t"], - [3689, 0, "l"], - [3690, 0, "y"], - [3690, 1], - [3689, 1], - [3689, 0, " "], - [3690, 0, "a"], - [3691, 0, "p"], - [3692, 0, "p"], - [3693, 0, "l"], - [3694, 0, "i"], - [3695, 0, "c"], - [3696, 0, "a"], - [3697, 0, "t"], - [3698, 0, "i"], - [3699, 0, "o"], - [3700, 0, "n"], - [3701, 0, "s"], - [3702, 0, " "], - [3703, 0, "s"], - [3704, 0, "o"], - [3705, 0, "l"], - [3706, 0, "v"], - [3707, 0, "e"], - [3708, 0, " "], - [3709, 0, "t"], - [3710, 0, "h"], - [3711, 0, "i"], - [3712, 0, "s"], - [3713, 0, " "], - [3714, 0, "p"], - [3715, 0, "r"], - [3716, 0, "o"], - [3717, 0, "b"], - [3718, 0, "l"], - [3719, 0, "e"], - [3720, 0, "m"], - [3721, 0, " "], - [3722, 0, "w"], - [3723, 0, "i"], - [3724, 0, "t"], - [3725, 0, "h"], - [3726, 0, " "], - [3727, 0, "a"], - [3728, 0, " "], - [3729, 0, "r"], - [3730, 0, "a"], - [3731, 0, "n"], - [3732, 0, "g"], - [3733, 0, "e"], - [3734, 0, " "], - [3735, 0, "o"], - [3736, 0, "f"], - [3737, 0, " "], - [3738, 0, "a"], - [3739, 0, "d"], - [3740, 0, "-"], - [3741, 0, "h"], - [3742, 0, "o"], - [3743, 0, "c"], - [3744, 0, " "], - [3745, 0, "a"], - [3746, 0, "n"], - [3747, 0, "d"], - [3748, 0, " "], - [3749, 0, "a"], - [3750, 0, "p"], - [3751, 0, "p"], - [3752, 0, "l"], - [3753, 0, "i"], - [3754, 0, "c"], - [3755, 0, "a"], - [3756, 0, "t"], - [3757, 0, "i"], - [3758, 0, "o"], - [3759, 0, "n"], - [3760, 0, "-"], - [3761, 0, "s"], - [3762, 0, "p"], - [3763, 0, "e"], - [3764, 0, "c"], - [3765, 0, "i"], - [3766, 0, "f"], - [3767, 0, "i"], - [3768, 0, "c"], - [3769, 0, " "], - [3770, 0, "m"], - [3771, 0, "e"], - [3772, 0, "c"], - [3773, 0, "h"], - [3774, 0, "a"], - [3775, 0, "n"], - [3776, 0, "i"], - [3777, 0, "s"], - [3778, 0, "m"], - [3779, 0, "s"], - [3780, 0, ","], - [3781, 0, " "], - [3782, 0, "t"], - [3783, 0, "h"], - [3784, 0, "e"], - [3785, 0, " "], - [3786, 0, "c"], - [3787, 0, "o"], - [3788, 0, "r"], - [3789, 0, "r"], - [3790, 0, "e"], - [3791, 0, "c"], - [3791, 1], - [3790, 1], - [3789, 1], - [3788, 1], - [3787, 1], - [3786, 1], - [3785, 1], - [3784, 1], - [3783, 1], - [3782, 1], - [3781, 1], - [3780, 1], - [3780, 0, "."], - [3781, 0, " "], - [3782, 0, "A"], - [3783, 0, "s"], - [3784, 0, " "], - [3785, 0, "c"], - [3786, 0, "o"], - [3787, 0, "n"], - [3788, 0, "c"], - [3789, 0, "u"], - [3790, 0, "r"], - [3791, 0, "r"], - [3792, 0, "e"], - [3793, 0, "n"], - [3794, 0, "t"], - [3795, 0, " "], - [3796, 0, "m"], - [3797, 0, "o"], - [3798, 0, "d"], - [3799, 0, "i"], - [3800, 0, "f"], - [3801, 0, "i"], - [3802, 0, "c"], - [3803, 0, "a"], - [3804, 0, "t"], - [3805, 0, "i"], - [3806, 0, "o"], - [3807, 0, "n"], - [3808, 0, "s"], - [3809, 0, " "], - [3810, 0, "a"], - [3811, 0, "r"], - [3812, 0, "e"], - [3813, 0, " "], - [3814, 0, "d"], - [3815, 0, "i"], - [3816, 0, "f"], - [3817, 0, "f"], - [3818, 0, "i"], - [3819, 0, "c"], - [3820, 0, "u"], - [3821, 0, "l"], - [3822, 0, "t"], - [3823, 0, " "], - [3824, 0, "t"], - [3825, 0, "o"], - [3826, 0, " "], - [3827, 0, "r"], - [3828, 0, "e"], - [3829, 0, "a"], - [3830, 0, "s"], - [3831, 0, "o"], - [3832, 0, "n"], - [3833, 0, " "], - [3834, 0, "a"], - [3835, 0, "b"], - [3836, 0, "o"], - [3837, 0, "u"], - [3838, 0, "t"], - [3839, 0, " "], - [3781, 0, " "], - [3782, 0, "I"], - [3783, 0, "n"], - [3784, 0, " "], - [3785, 0, "t"], - [3786, 0, "h"], - [3787, 0, "i"], - [3788, 0, "s"], - [3789, 0, " "], - [3790, 0, "p"], - [3791, 0, "a"], - [3792, 0, "p"], - [3793, 0, "e"], - [3794, 0, "r"], - [3795, 0, " "], - [3796, 0, "w"], - [3797, 0, "e"], - [3798, 0, " "], - [3799, 0, "p"], - [3800, 0, "r"], - [3801, 0, "e"], - [3802, 0, "s"], - [3803, 0, "e"], - [3804, 0, "n"], - [3805, 0, "t"], - [3806, 0, " "], - [3807, 0, "t"], - [3808, 0, "h"], - [3809, 0, "e"], - [3810, 0, " "], - [3811, 0, "f"], - [3812, 0, "i"], - [3813, 0, "r"], - [3814, 0, "s"], - [3815, 0, "t"], - [3815, 1], - [3814, 1], - [3813, 1], - [3812, 1], - [3811, 1], - [3810, 1], - [3809, 1], - [3808, 1], - [3807, 1], - [3807, 0, "a"], - [3808, 0, " "], - [3809, 0, "d"], - [3810, 0, "a"], - [3811, 0, "t"], - [3812, 0, "a"], - [3813, 0, "t"], - [3814, 0, "y"], - [3815, 0, "p"], - [3816, 0, "e"], - [3817, 0, " "], - [3818, 0, "t"], - [3819, 0, "h"], - [3820, 0, "a"], - [3821, 0, "t"], - [3822, 0, " "], - [3823, 0, "p"], - [3824, 0, "r"], - [3825, 0, "o"], - [3826, 0, "v"], - [3827, 0, "i"], - [3828, 0, "d"], - [3829, 0, "e"], - [3830, 0, "s"], - [3831, 0, " "], - [3832, 0, "t"], - [3833, 0, "h"], - [3834, 0, "e"], - [3835, 0, " "], - [3836, 0, "f"], - [3837, 0, "u"], - [3838, 0, "l"], - [3839, 0, "l"], - [3840, 0, " "], - [3841, 0, "e"], - [3842, 0, "x"], - [3843, 0, "p"], - [3844, 0, "r"], - [3845, 0, "e"], - [3846, 0, "s"], - [3847, 0, "s"], - [3848, 0, "i"], - [3849, 0, "v"], - [3850, 0, "e"], - [3851, 0, "n"], - [3852, 0, "e"], - [3853, 0, "s"], - [3854, 0, "s"], - [3855, 0, " "], - [3856, 0, "o"], - [3857, 0, "f"], - [3858, 0, " "], - [3859, 0, "t"], - [3860, 0, "h"], - [3861, 0, "e"], - [3862, 0, " "], - [3863, 0, "J"], - [3864, 0, "S"], - [3865, 0, "O"], - [3866, 0, "N"], - [3867, 0, " "], - [3868, 0, "d"], - [3869, 0, "a"], - [3870, 0, "t"], - [3871, 0, "a"], - [3872, 0, " "], - [3873, 0, "m"], - [3874, 0, "o"], - [3875, 0, "d"], - [3876, 0, "e"], - [3877, 0, "l"], - [3878, 0, ","], - [3879, 0, " "], - [3880, 0, "a"], - [3881, 0, "n"], - [3882, 0, "d"], - [3883, 0, " "], - [3884, 0, "a"], - [3885, 0, "u"], - [3886, 0, "t"], - [3887, 0, "o"], - [3888, 0, "m"], - [3889, 0, "a"], - [3890, 0, "t"], - [3891, 0, "i"], - [3892, 0, "c"], - [3893, 0, "a"], - [3894, 0, "l"], - [3895, 0, "l"], - [3896, 0, "y"], - [3897, 0, " "], - [3898, 0, "m"], - [3899, 0, "e"], - [3900, 0, "r"], - [3901, 0, "g"], - [3902, 0, "e"], - [3903, 0, "s"], - [3904, 0, " "], - [3905, 0, "a"], - [3906, 0, "n"], - [3907, 0, "y"], - [3908, 0, " "], - [3909, 0, "c"], - [3910, 0, "o"], - [3911, 0, "n"], - [3912, 0, "c"], - [3913, 0, "u"], - [3914, 0, "r"], - [3915, 0, "r"], - [3916, 0, "e"], - [3917, 0, "n"], - [3918, 0, "t"], - [3919, 0, " "], - [3920, 0, "m"], - [3921, 0, "o"], - [3922, 0, "d"], - [3923, 0, "i"], - [3924, 0, "f"], - [3925, 0, "i"], - [3926, 0, "c"], - [3927, 0, "a"], - [3928, 0, "t"], - [3929, 0, "i"], - [3930, 0, "o"], - [3931, 0, "n"], - [3932, 0, "s"], - [3933, 0, " "], - [3934, 0, "w"], - [3935, 0, "i"], - [3936, 0, "t"], - [3937, 0, "h"], - [3938, 0, "o"], - [3939, 0, "u"], - [3940, 0, "t"], - [3941, 0, " "], - [3942, 0, "l"], - [3943, 0, "o"], - [3944, 0, "s"], - [3945, 0, "s"], - [3946, 0, " "], - [3947, 0, "o"], - [3948, 0, "f"], - [3949, 0, " "], - [3950, 0, "i"], - [3951, 0, "n"], - [3952, 0, "f"], - [3953, 0, "o"], - [3954, 0, "r"], - [3955, 0, "m"], - [3956, 0, "a"], - [3957, 0, "t"], - [3958, 0, "i"], - [3959, 0, "o"], - [3960, 0, "n"], - [3961, 0, "."], - [3962, 0, " "], - [3963, 0, "W"], - [3964, 0, "e"], - [3965, 0, " "], - [3966, 0, "e"], - [3967, 0, "x"], - [3968, 0, "p"], - [3969, 0, "e"], - [3970, 0, "c"], - [3971, 0, "t"], - [3972, 0, " "], - [3973, 0, "t"], - [3974, 0, "h"], - [3975, 0, "a"], - [3976, 0, "t"], - [3977, 0, " "], - [3978, 0, "t"], - [3979, 0, "h"], - [3980, 0, "i"], - [3981, 0, "s"], - [3982, 0, " "], - [3983, 0, "d"], - [3984, 0, "a"], - [3985, 0, "t"], - [3986, 0, "a"], - [3987, 0, "t"], - [3988, 0, "y"], - [3989, 0, "p"], - [3990, 0, "e"], - [3991, 0, " "], - [3992, 0, "w"], - [3993, 0, "i"], - [3994, 0, "l"], - [3995, 0, "l"], - [3996, 0, " "], - [3808, 0, " "], - [3809, 0, "g"], - [3810, 0, "e"], - [3811, 0, "n"], - [3812, 0, "e"], - [3813, 0, "r"], - [3814, 0, "a"], - [3815, 0, "l"], - [3816, 0, "-"], - [3817, 0, "p"], - [3818, 0, "u"], - [3819, 0, "r"], - [3820, 0, "p"], - [3821, 0, "o"], - [3822, 0, "s"], - [3823, 0, "e"], - [3994, 0, "i"], - [3995, 0, "m"], - [3996, 0, "p"], - [3997, 0, "l"], - [3998, 0, "e"], - [3999, 0, "m"], - [4000, 0, "e"], - [4001, 0, "n"], - [4002, 0, "t"], - [4003, 0, "a"], - [4004, 0, "t"], - [4005, 0, "i"], - [4006, 0, "o"], - [4007, 0, "n"], - [4008, 0, "s"], - [4009, 0, " "], - [4010, 0, "o"], - [4011, 0, "f"], - [4012, 0, " "], - [4031, 0, " "], - [4032, 0, "s"], - [4033, 0, "i"], - [4034, 0, "g"], - [4035, 0, "n"], - [4036, 0, "i"], - [4037, 0, "f"], - [4038, 0, "i"], - [4039, 0, "c"], - [4039, 1], - [4038, 1], - [4037, 1], - [4036, 1], - [4035, 1], - [4034, 1], - [4033, 1], - [4032, 1], - [4032, 0, "d"], - [4033, 0, "r"], - [4034, 0, "a"], - [4035, 0, "s"], - [4036, 0, "t"], - [4037, 0, "i"], - [4038, 0, "c"], - [4039, 0, "a"], - [4040, 0, "l"], - [4041, 0, "l"], - [4042, 0, "y"], - [4043, 0, " "], - [4044, 0, "s"], - [4045, 0, "i"], - [4046, 0, "m"], - [4047, 0, "p"], - [4048, 0, "l"], - [4049, 0, "i"], - [4050, 0, "f"], - [4051, 0, "y"], - [4052, 0, " "], - [4053, 0, "t"], - [4054, 0, "h"], - [4055, 0, "e"], - [4056, 0, " "], - [4057, 0, "d"], - [4058, 0, "e"], - [4059, 0, "v"], - [4060, 0, "e"], - [4061, 0, "l"], - [4062, 0, "o"], - [4063, 0, "p"], - [4064, 0, "m"], - [4065, 0, "e"], - [4066, 0, "n"], - [4067, 0, "t"], - [4068, 0, " "], - [4069, 0, "o"], - [4070, 0, "f"], - [4071, 0, " "], - [4072, 0, "c"], - [4073, 0, "o"], - [4074, 0, "l"], - [4075, 0, "l"], - [4076, 0, "a"], - [4077, 0, "b"], - [4078, 0, "o"], - [4079, 0, "r"], - [4080, 0, "a"], - [4081, 0, "t"], - [4082, 0, "i"], - [4083, 0, "v"], - [4084, 0, "e"], - [4085, 0, " "], - [4086, 0, "a"], - [4087, 0, "n"], - [4088, 0, "d"], - [4089, 0, " "], - [4090, 0, "s"], - [4091, 0, "t"], - [4092, 0, "a"], - [4093, 0, "t"], - [4094, 0, "e"], - [4095, 0, "-"], - [4096, 0, "s"], - [4097, 0, "y"], - [4098, 0, "n"], - [4099, 0, "c"], - [4100, 0, "h"], - [4101, 0, "r"], - [4102, 0, "o"], - [4103, 0, "n"], - [4104, 0, "i"], - [4105, 0, "z"], - [4106, 0, "i"], - [4107, 0, "n"], - [4108, 0, "g"], - [4109, 0, " "], - [4110, 0, "a"], - [4111, 0, "p"], - [4112, 0, "p"], - [4113, 0, "l"], - [4114, 0, "i"], - [4115, 0, "c"], - [4116, 0, "a"], - [4117, 0, "t"], - [4118, 0, "i"], - [4119, 0, "o"], - [4120, 0, "n"], - [4121, 0, "s"], - [4122, 0, " "], - [4123, 0, "f"], - [4124, 0, "o"], - [4125, 0, "r"], - [4126, 0, " "], - [4127, 0, "m"], - [4128, 0, "o"], - [4129, 0, "b"], - [4130, 0, "i"], - [4131, 0, "l"], - [4132, 0, "e"], - [4133, 0, " "], - [4134, 0, "d"], - [4135, 0, "e"], - [4136, 0, "v"], - [4137, 0, "i"], - [4138, 0, "c"], - [4139, 0, "e"], - [4140, 0, "s"], - [4141, 0, "."], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4142, 1], - [4166, 1], - [4165, 1], - [4164, 1], - [4163, 1], - [4162, 1], - [4161, 1], - [4160, 1], - [4159, 1], - [4158, 1], - [4157, 1], - [4156, 1], - [4155, 1], - [4154, 1], - [4153, 1], - [4152, 1], - [4151, 1], - [4150, 1], - [4149, 1], - [4148, 1], - [4147, 1], - [4146, 1], - [4145, 1], - [4144, 1], - [4144, 0, "\\"], - [4145, 0, "s"], - [4146, 0, "u"], - [4147, 0, "b"], - [4148, 0, "s"], - [4149, 0, "e"], - [4150, 0, "c"], - [4151, 0, "t"], - [4152, 0, "i"], - [4153, 0, "o"], - [4154, 0, "n"], - [4155, 0, "{"], - [4156, 0, "J"], - [4157, 0, "S"], - [4158, 0, "O"], - [4159, 0, "N"], - [4160, 0, " "], - [4161, 0, "d"], - [4162, 0, "a"], - [4163, 0, "t"], - [4164, 0, "a"], - [4165, 0, " "], - [4166, 0, "m"], - [4167, 0, "o"], - [4168, 0, "d"], - [4169, 0, "e"], - [4170, 0, "l"], - [4171, 0, "}"], - [64152, 1], - [64152, 0, "]"], - [64131, 1], - [64130, 1], - [64129, 1], - [64128, 1], - [64127, 1], - [64126, 1], - [64125, 1], - [64124, 1], - [64124, 0, "a"], - [64125, 0, "p"], - [64126, 0, "p"], - [64127, 0, "e"], - [64128, 0, "n"], - [64129, 0, "d"], - [64130, 0, "i"], - [64131, 0, "x"], - [64132, 0, "["], - [64121, 1], - [64120, 1], - [64119, 1], - [64118, 1], - [64117, 1], - [64116, 1], - [64115, 1], - [64114, 1], - [64113, 1], - [64112, 1], - [64111, 1], - [64110, 1], - [64142, 0, "\\"], - [64143, 0, "l"], - [64144, 0, "a"], - [64145, 0, "b"], - [64146, 0, "e"], - [64147, 0, "l"], - [64148, 0, "{"], - [64149, 0, "s"], - [64150, 0, "e"], - [64151, 0, "c"], - [64152, 0, ":"], - [64153, 0, "p"], - [64154, 0, "r"], - [64155, 0, "o"], - [64156, 0, "o"], - [64157, 0, "f"], - [64158, 0, "}"], - [4172, 0, "\n"], - [4173, 0, "\n"], - [4174, 0, "J"], - [4175, 0, "S"], - [4176, 0, "O"], - [4177, 0, "N"], - [4178, 0, " "], - [10927, 0, "\\"], - [10928, 0, "l"], - [10929, 0, "a"], - [10930, 0, "b"], - [10931, 0, "e"], - [10932, 0, "l"], - [10933, 0, "{"], - [10934, 0, "s"], - [10935, 0, "e"], - [10936, 0, "c"], - [10937, 0, ":"], - [10938, 0, "c"], - [10939, 0, "o"], - [10940, 0, "m"], - [10941, 0, "p"], - [10942, 0, "o"], - [10943, 0, "s"], - [10944, 0, "i"], - [10945, 0, "n"], - [10946, 0, "g"], - [10947, 0, "}"], - [12653, 0, "\\"], - [12654, 0, "l"], - [12655, 0, "a"], - [12656, 0, "b"], - [12657, 0, "e"], - [12658, 0, "l"], - [12659, 0, "{"], - [12660, 0, "s"], - [12661, 0, "e"], - [12662, 0, "c"], - [12663, 0, ":"], - [12664, 0, "e"], - [12665, 0, "x"], - [12666, 0, "a"], - [12667, 0, "m"], - [12668, 0, "p"], - [12669, 0, "l"], - [12670, 0, "e"], - [12671, 0, "s"], - [12672, 0, "}"], - [20599, 0, "\\"], - [20600, 0, "l"], - [20601, 0, "a"], - [20602, 0, "b"], - [20603, 0, "e"], - [20604, 0, "l"], - [20605, 0, "{"], - [20606, 0, "s"], - [20607, 0, "e"], - [20608, 0, "c"], - [20609, 0, ":"], - [20610, 0, "j"], - [20611, 0, "s"], - [20612, 0, "o"], - [20613, 0, "n"], - [20614, 0, "-"], - [20615, 0, "x"], - [20616, 0, "m"], - [20617, 0, "l"], - [20618, 0, "}"], - [22121, 0, "\\"], - [22122, 0, "l"], - [22123, 0, "a"], - [22124, 0, "b"], - [22125, 0, "e"], - [22126, 0, "l"], - [22127, 0, "{"], - [22128, 0, "s"], - [22129, 0, "e"], - [22130, 0, "c"], - [22131, 0, ":"], - [22132, 0, "c"], - [22133, 0, "l"], - [22134, 0, "i"], - [22135, 0, "e"], - [22136, 0, "n"], - [22137, 0, "t"], - [22138, 0, "-"], - [22139, 0, "a"], - [22140, 0, "p"], - [22141, 0, "i"], - [22142, 0, "}"], - [22137, 1], - [22136, 1], - [22135, 1], - [22134, 1], - [22133, 1], - [22132, 1], - [22132, 0, "e"], - [22133, 0, "d"], - [22134, 0, "i"], - [22135, 0, "t"], - [22136, 0, "i"], - [22137, 0, "n"], - [22138, 0, "g"], - [4179, 0, "I"], - [4180, 0, "t"], - [4181, 0, " "], - [4182, 0, "h"], - [4183, 0, "a"], - [4184, 0, "s"], - [4185, 0, " "], - [4186, 0, "s"], - [4187, 0, "i"], - [4188, 0, "m"], - [4189, 0, "i"], - [4190, 0, "l"], - [4191, 0, "a"], - [4192, 0, "r"], - [4193, 0, "i"], - [4194, 0, "t"], - [4195, 0, "i"], - [4196, 0, "e"], - [4197, 0, "s"], - [4198, 0, " "], - [4199, 0, "t"], - [4200, 0, "o"], - [4201, 0, " "], - [4202, 0, "X"], - [4203, 0, "M"], - [4204, 0, "L"], - [4205, 0, ","], - [4206, 0, " "], - [4207, 0, "a"], - [4208, 0, "n"], - [4209, 0, "d"], - [4210, 0, " "], - [4211, 0, "w"], - [4212, 0, "e"], - [4213, 0, " "], - [4214, 0, "c"], - [4215, 0, "o"], - [4216, 0, "m"], - [4217, 0, "p"], - [4218, 0, "a"], - [4219, 0, "r"], - [4220, 0, "e"], - [4221, 0, " "], - [4222, 0, "t"], - [4223, 0, "h"], - [4224, 0, "e"], - [4225, 0, "m"], - [4226, 0, " "], - [4227, 0, "f"], - [4228, 0, "u"], - [4229, 0, "r"], - [4230, 0, "t"], - [4231, 0, "h"], - [4232, 0, "e"], - [4233, 0, "r"], - [4234, 0, " "], - [4235, 0, "i"], - [4236, 0, "n"], - [4237, 0, " "], - [4238, 0, "s"], - [4239, 0, "e"], - [4240, 0, "c"], - [4241, 0, "t"], - [4242, 0, "i"], - [4243, 0, "o"], - [4244, 0, "n"], - [4245, 0, "~"], - [4246, 0, "\\"], - [4247, 0, "r"], - [4248, 0, "e"], - [4249, 0, "f"], - [4250, 0, "{"], - [4251, 0, "s"], - [4252, 0, "e"], - [4253, 0, "c"], - [4254, 0, ":"], - [4255, 0, "j"], - [4256, 0, "s"], - [4257, 0, "o"], - [4258, 0, "n"], - [4259, 0, "-"], - [4260, 0, "x"], - [4261, 0, "m"], - [4262, 0, "l"], - [4263, 0, "}"], - [4264, 0, "."], - [4178, 0, " "], - [4179, 0, "i"], - [4180, 0, "s"], - [4181, 0, " "], - [4182, 0, "a"], - [4183, 0, " "], - [4184, 0, "p"], - [4185, 0, "o"], - [4186, 0, "p"], - [4187, 0, "u"], - [4188, 0, "l"], - [4189, 0, "a"], - [4190, 0, "r"], - [4191, 0, " "], - [4192, 0, "g"], - [4193, 0, "e"], - [4194, 0, "n"], - [4195, 0, "e"], - [4196, 0, "r"], - [4197, 0, "a"], - [4198, 0, "l"], - [4199, 0, "-"], - [4200, 0, "p"], - [4201, 0, "u"], - [4202, 0, "r"], - [4203, 0, "p"], - [4204, 0, "o"], - [4205, 0, "s"], - [4206, 0, "e"], - [4207, 0, " "], - [4208, 0, "d"], - [4209, 0, "a"], - [4210, 0, "t"], - [4211, 0, "a"], - [4212, 0, " "], - [4213, 0, "e"], - [4214, 0, "n"], - [4215, 0, "c"], - [4216, 0, "o"], - [4217, 0, "d"], - [4218, 0, "i"], - [4219, 0, "n"], - [4220, 0, "g"], - [4221, 0, " "], - [4222, 0, "f"], - [4223, 0, "o"], - [4224, 0, "r"], - [4225, 0, "m"], - [4226, 0, "a"], - [4227, 0, "t"], - [4228, 0, "."], - [4285, 1], - [4284, 1], - [4283, 1], - [4282, 1], - [4281, 1], - [4280, 1], - [4279, 1], - [4278, 1], - [4308, 0, " "], - [4228, 0, ","], - [4229, 0, " "], - [4230, 0, "u"], - [4231, 0, "s"], - [4232, 0, "e"], - [4233, 0, "d"], - [4234, 0, " "], - [4235, 0, "i"], - [4236, 0, "n"], - [4237, 0, " "], - [4238, 0, "m"], - [4239, 0, "a"], - [4240, 0, "n"], - [4241, 0, "y"], - [4242, 0, " "], - [4243, 0, "d"], - [4244, 0, "a"], - [4245, 0, "t"], - [4246, 0, "a"], - [4247, 0, "b"], - [4248, 0, "a"], - [4249, 0, "s"], - [4250, 0, "e"], - [4251, 0, "s"], - [4252, 0, " "], - [4253, 0, "a"], - [4254, 0, "n"], - [4255, 0, "d"], - [4256, 0, " "], - [4257, 0, "w"], - [4258, 0, "e"], - [4259, 0, "b"], - [4260, 0, " "], - [4261, 0, "s"], - [4262, 0, "e"], - [4263, 0, "r"], - [4264, 0, "v"], - [4265, 0, "i"], - [4266, 0, "c"], - [4267, 0, "e"], - [4268, 0, "s"], - [4350, 0, "T"], - [4351, 0, "h"], - [4352, 0, "e"], - [4353, 0, " "], - [4354, 0, "s"], - [4355, 0, "t"], - [4356, 0, "r"], - [4357, 0, "u"], - [4358, 0, "c"], - [4359, 0, "t"], - [4360, 0, "u"], - [4361, 0, "r"], - [4362, 0, "e"], - [4363, 0, " "], - [4364, 0, "o"], - [4365, 0, "f"], - [4366, 0, " "], - [4367, 0, "a"], - [4368, 0, " "], - [4369, 0, "J"], - [4370, 0, "S"], - [4371, 0, "O"], - [4372, 0, "N"], - [4373, 0, " "], - [4374, 0, "d"], - [4375, 0, "o"], - [4376, 0, "c"], - [4377, 0, "u"], - [4378, 0, "m"], - [4379, 0, "e"], - [4380, 0, "n"], - [4381, 0, "t"], - [4382, 0, " "], - [4383, 0, "c"], - [4384, 0, "a"], - [4385, 0, "n"], - [4386, 0, " "], - [4387, 0, "o"], - [4388, 0, "p"], - [4389, 0, "t"], - [4390, 0, "i"], - [4391, 0, "o"], - [4392, 0, "n"], - [4393, 0, "a"], - [4394, 0, "l"], - [4395, 0, "l"], - [4396, 0, "y"], - [4397, 0, " "], - [4398, 0, "b"], - [4399, 0, "e"], - [4400, 0, " "], - [4401, 0, "c"], - [4402, 0, "o"], - [4403, 0, "n"], - [4404, 0, "s"], - [4405, 0, "t"], - [4406, 0, "r"], - [4407, 0, "a"], - [4408, 0, "i"], - [4409, 0, "n"], - [4410, 0, "e"], - [4411, 0, "d"], - [4412, 0, " "], - [4413, 0, "b"], - [4414, 0, "y"], - [4415, 0, " "], - [4416, 0, "a"], - [4417, 0, " "], - [4418, 0, "s"], - [4419, 0, "c"], - [4420, 0, "h"], - [4421, 0, "e"], - [4422, 0, "m"], - [4423, 0, "a"], - [4424, 0, ","], - [4425, 0, " "], - [4426, 0, "b"], - [4427, 0, "u"], - [4428, 0, "t"], - [4429, 0, " "], - [4430, 0, "i"], - [4431, 0, "n"], - [4432, 0, " "], - [4433, 0, "t"], - [4434, 0, "h"], - [4435, 0, "i"], - [4436, 0, "s"], - [4437, 0, " "], - [4438, 0, "p"], - [4439, 0, "a"], - [4440, 0, "p"], - [4441, 0, "e"], - [4442, 0, "r"], - [4443, 0, " "], - [4444, 0, "w"], - [4445, 0, "e"], - [4446, 0, " "], - [4447, 0, "c"], - [4448, 0, "o"], - [4449, 0, "n"], - [4450, 0, "s"], - [4451, 0, "i"], - [4452, 0, "d"], - [4453, 0, "e"], - [4454, 0, "r"], - [4455, 0, " "], - [4456, 0, "`"], - [4457, 0, "`"], - [4457, 1], - [4456, 1], - [4456, 0, "o"], - [4457, 0, "n"], - [4458, 0, "l"], - [4459, 0, "y"], - [4460, 0, " "], - [4461, 0, "u"], - [4462, 0, "n"], - [4463, 0, "t"], - [4464, 0, "y"], - [4465, 0, "p"], - [4466, 0, "e"], - [4467, 0, "d"], - [4468, 0, " "], - [4469, 0, "J"], - [4470, 0, "S"], - [4471, 0, "O"], - [4472, 0, "N"], - [4473, 0, " "], - [4474, 0, "w"], - [4475, 0, "i"], - [4476, 0, "t"], - [4477, 0, "h"], - [4478, 0, "o"], - [4479, 0, "u"], - [4480, 0, "t"], - [4481, 0, " "], - [4482, 0, "a"], - [4483, 0, "n"], - [4484, 0, " "], - [4485, 0, "e"], - [4486, 0, "x"], - [4487, 0, "p"], - [4488, 0, "l"], - [4489, 0, "i"], - [4490, 0, "c"], - [4491, 0, "i"], - [4492, 0, "t"], - [4493, 0, " "], - [4494, 0, "s"], - [4495, 0, "c"], - [4496, 0, "h"], - [4497, 0, "e"], - [4498, 0, "m"], - [4499, 0, "a"], - [4500, 0, "."], - [4428, 1], - [4427, 1], - [4426, 1], - [4425, 1], - [4424, 1], - [4424, 0, ";"], - [4425, 0, " "], - [4426, 0, "f"], - [4427, 0, "o"], - [4428, 0, "r"], - [4429, 0, " "], - [4430, 0, "s"], - [4431, 0, "i"], - [4432, 0, "m"], - [4433, 0, "p"], - [4434, 0, "l"], - [4435, 0, "i"], - [4436, 0, "c"], - [4437, 0, "i"], - [4438, 0, "t"], - [4439, 0, "y"], - [4440, 0, ","], - [4442, 1], - [4442, 1], - [4442, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 1], - [4453, 0, "d"], - [4454, 0, "i"], - [4455, 0, "s"], - [4456, 0, "c"], - [4457, 0, "u"], - [4458, 0, "s"], - [4459, 0, "s"], - [4460, 0, "e"], - [4461, 0, "s"], - [4425, 0, " "], - [4426, 0, "h"], - [4427, 0, "o"], - [4428, 0, "w"], - [4429, 0, "e"], - [4430, 0, "v"], - [4431, 0, "e"], - [4432, 0, "r"], - [4433, 0, ","], - [4517, 0, "\n"], - [4518, 0, "\n"], - [4519, 0, "A"], - [4520, 0, " "], - [4521, 0, "J"], - [4522, 0, "S"], - [4523, 0, "O"], - [4524, 0, "N"], - [4525, 0, " "], - [4526, 0, "d"], - [4527, 0, "o"], - [4528, 0, "c"], - [4529, 0, "u"], - [4530, 0, "m"], - [4531, 0, "e"], - [4532, 0, "n"], - [4533, 0, "t"], - [4534, 0, " "], - [4535, 0, "i"], - [4536, 0, "s"], - [4537, 0, " "], - [4538, 0, "a"], - [4539, 0, " "], - [4540, 0, "t"], - [4541, 0, "r"], - [4542, 0, "e"], - [4543, 0, "e"], - [4544, 0, " "], - [4545, 0, "c"], - [4546, 0, "o"], - [4547, 0, "n"], - [4548, 0, "s"], - [4549, 0, "i"], - [4550, 0, "s"], - [4551, 0, "t"], - [4552, 0, "i"], - [4553, 0, "n"], - [4554, 0, "g"], - [4555, 0, " "], - [4556, 0, "o"], - [4557, 0, "f"], - [4558, 0, " "], - [4559, 0, "t"], - [4560, 0, "h"], - [4561, 0, "e"], - [4562, 0, " "], - [4563, 0, "f"], - [4564, 0, "o"], - [4565, 0, "l"], - [4566, 0, "l"], - [4567, 0, "o"], - [4568, 0, "w"], - [4569, 0, "i"], - [4570, 0, "n"], - [4571, 0, "g"], - [4572, 0, " "], - [4573, 0, "t"], - [4574, 0, "y"], - [4575, 0, "p"], - [4576, 0, "e"], - [4577, 0, "s"], - [4578, 0, " "], - [4579, 0, "o"], - [4580, 0, "f"], - [4581, 0, " "], - [4582, 0, "n"], - [4583, 0, "o"], - [4584, 0, "d"], - [4585, 0, "e"], - [4586, 0, ":"], - [4587, 0, "\n"], - [4588, 0, "\n"], - [4589, 0, "\\"], - [4590, 0, "b"], - [4591, 0, "e"], - [4592, 0, "g"], - [4593, 0, "i"], - [4594, 0, "n"], - [4595, 0, "{"], - [4596, 0, "d"], - [4597, 0, "e"], - [4598, 0, "s"], - [4599, 0, "c"], - [4600, 0, "r"], - [4601, 0, "i"], - [4602, 0, "p"], - [4603, 0, "t"], - [4604, 0, "i"], - [4605, 0, "o"], - [4606, 0, "n"], - [4607, 0, "}"], - [4608, 0, "\n"], - [4609, 0, "\\"], - [4610, 0, "e"], - [4611, 0, "n"], - [4612, 0, "d"], - [4613, 0, "{"], - [4614, 0, "d"], - [4615, 0, "e"], - [4616, 0, "s"], - [4617, 0, "c"], - [4618, 0, "r"], - [4619, 0, "i"], - [4620, 0, "p"], - [4621, 0, "t"], - [4622, 0, "i"], - [4623, 0, "o"], - [4624, 0, "n"], - [4625, 0, "}"], - [4608, 0, "\n"], - [4609, 0, "\\"], - [4610, 0, "i"], - [4611, 0, "t"], - [4612, 0, "e"], - [4613, 0, "m"], - [4614, 0, "["], - [4615, 0, "M"], - [4616, 0, "a"], - [4617, 0, "p"], - [4618, 0, ":"], - [4619, 0, "]"], - [4620, 0, " "], - [4621, 0, "A"], - [4622, 0, " "], - [4623, 0, "b"], - [4624, 0, "r"], - [4625, 0, "a"], - [4626, 0, "n"], - [4627, 0, "c"], - [4628, 0, "h"], - [4629, 0, " "], - [4630, 0, "n"], - [4631, 0, "o"], - [4632, 0, "d"], - [4633, 0, "e"], - [4634, 0, " "], - [4635, 0, "w"], - [4636, 0, "h"], - [4637, 0, "o"], - [4638, 0, "s"], - [4639, 0, "e"], - [4640, 0, " "], - [4641, 0, "c"], - [4642, 0, "h"], - [4643, 0, "i"], - [4644, 0, "l"], - [4645, 0, "d"], - [4646, 0, "r"], - [4647, 0, "e"], - [4648, 0, "n"], - [4649, 0, " "], - [4650, 0, "a"], - [4651, 0, "r"], - [4652, 0, "e"], - [4653, 0, " "], - [4654, 0, "n"], - [4655, 0, "o"], - [4656, 0, "t"], - [4657, 0, " "], - [4658, 0, "o"], - [4659, 0, "r"], - [4660, 0, "d"], - [4661, 0, "e"], - [4662, 0, "r"], - [4663, 0, "e"], - [4664, 0, "d"], - [4664, 1], - [4663, 1], - [4662, 1], - [4661, 1], - [4660, 1], - [4659, 1], - [4658, 1], - [4657, 1], - [4656, 1], - [4655, 1], - [4654, 1], - [4653, 1], - [4652, 1], - [4651, 1], - [4650, 1], - [4650, 0, "h"], - [4651, 0, "a"], - [4652, 0, "v"], - [4653, 0, "e"], - [4654, 0, " "], - [4655, 0, "n"], - [4656, 0, "o"], - [4657, 0, " "], - [4658, 0, "d"], - [4659, 0, "e"], - [4660, 0, "f"], - [4661, 0, "i"], - [4662, 0, "n"], - [4663, 0, "e"], - [4664, 0, "d"], - [4665, 0, " "], - [4666, 0, "o"], - [4667, 0, "r"], - [4668, 0, "d"], - [4669, 0, "e"], - [4670, 0, "r"], - [4671, 0, ","], - [4672, 0, " "], - [4673, 0, "a"], - [4674, 0, "n"], - [4675, 0, "d"], - [4676, 0, " "], - [4677, 0, "w"], - [4678, 0, "h"], - [4679, 0, "e"], - [4680, 0, "r"], - [4681, 0, "e"], - [4682, 0, " "], - [4683, 0, "e"], - [4684, 0, "a"], - [4685, 0, "c"], - [4686, 0, "h"], - [4687, 0, " "], - [4688, 0, "c"], - [4689, 0, "h"], - [4690, 0, "i"], - [4691, 0, "l"], - [4692, 0, "d"], - [4693, 0, " "], - [4694, 0, "i"], - [4695, 0, "s"], - [4696, 0, " "], - [4697, 0, "l"], - [4698, 0, "a"], - [4699, 0, "b"], - [4700, 0, "e"], - [4701, 0, "l"], - [4702, 0, "l"], - [4703, 0, "e"], - [4704, 0, "d"], - [4705, 0, " "], - [4706, 0, "w"], - [4707, 0, "i"], - [4708, 0, "t"], - [4709, 0, "h"], - [4710, 0, " "], - [4711, 0, "a"], - [4712, 0, " "], - [4713, 0, "s"], - [4714, 0, "t"], - [4715, 0, "r"], - [4716, 0, "i"], - [4717, 0, "n"], - [4718, 0, "g"], - [4719, 0, " "], - [4720, 0, "\\"], - [4721, 0, "e"], - [4722, 0, "m"], - [4723, 0, "p"], - [4724, 0, "h"], - [4725, 0, "{"], - [4726, 0, "k"], - [4727, 0, "e"], - [4728, 0, "y"], - [4729, 0, "}"], - [4730, 0, "."], - [4731, 0, " "], - [4732, 0, "A"], - [4733, 0, " "], - [4734, 0, "k"], - [4735, 0, "e"], - [4736, 0, "y"], - [4737, 0, " "], - [4738, 0, "u"], - [4739, 0, "n"], - [4740, 0, "i"], - [4741, 0, "q"], - [4742, 0, "u"], - [4743, 0, "e"], - [4744, 0, "l"], - [4745, 0, "y"], - [4746, 0, " "], - [4747, 0, "i"], - [4748, 0, "d"], - [4749, 0, "e"], - [4750, 0, "n"], - [4751, 0, "t"], - [4752, 0, "i"], - [4753, 0, "f"], - [4754, 0, "i"], - [4755, 0, "e"], - [4756, 0, "s"], - [4757, 0, " "], - [4758, 0, "o"], - [4759, 0, "n"], - [4760, 0, "e"], - [4761, 0, " "], - [4762, 0, "o"], - [4763, 0, "f"], - [4764, 0, " "], - [4765, 0, "t"], - [4766, 0, "h"], - [4767, 0, "e"], - [4768, 0, " "], - [4769, 0, "c"], - [4770, 0, "h"], - [4771, 0, "i"], - [4772, 0, "l"], - [4773, 0, "d"], - [4774, 0, "r"], - [4775, 0, "e"], - [4776, 0, "n"], - [4777, 0, "."], - [4778, 0, " "], - [4779, 0, "A"], - [4780, 0, " "], - [4781, 0, "J"], - [4782, 0, "S"], - [4783, 0, "O"], - [4784, 0, "N"], - [4785, 0, " "], - [4786, 0, "m"], - [4787, 0, "a"], - [4788, 0, "p"], - [4789, 0, " "], - [4790, 0, "i"], - [4791, 0, "s"], - [4792, 0, " "], - [4793, 0, "a"], - [4794, 0, "l"], - [4795, 0, "s"], - [4796, 0, "o"], - [4797, 0, " "], - [4798, 0, "k"], - [4799, 0, "n"], - [4800, 0, "o"], - [4801, 0, "w"], - [4802, 0, "n"], - [4803, 0, " "], - [4804, 0, "a"], - [4805, 0, "s"], - [4806, 0, " "], - [4807, 0, "a"], - [4808, 0, "n"], - [4809, 0, " "], - [4810, 0, "\\"], - [4811, 0, "e"], - [4812, 0, "m"], - [4813, 0, "p"], - [4814, 0, "h"], - [4815, 0, "{"], - [4816, 0, "o"], - [4817, 0, "b"], - [4818, 0, "j"], - [4819, 0, "e"], - [4820, 0, "c"], - [4821, 0, "t"], - [4822, 0, "}"], - [4823, 0, "."], - [4824, 0, "\n"], - [4825, 0, "\\"], - [4826, 0, "i"], - [4827, 0, "t"], - [4828, 0, "e"], - [4829, 0, "m"], - [4830, 0, "{"], - [4831, 0, "L"], - [4832, 0, "i"], - [4833, 0, "s"], - [4834, 0, "t"], - [4835, 0, ":"], - [4830, 1], - [4830, 0, "["], - [4836, 0, "]"], - [4837, 0, " "], - [4838, 0, "A"], - [4839, 0, " "], - [4840, 0, "b"], - [4841, 0, "r"], - [4842, 0, "a"], - [4843, 0, "n"], - [4844, 0, "c"], - [4845, 0, "h"], - [4846, 0, " "], - [4847, 0, "n"], - [4848, 0, "o"], - [4849, 0, "d"], - [4850, 0, "e"], - [4851, 0, " "], - [4852, 0, "w"], - [4853, 0, "h"], - [4854, 0, "o"], - [4855, 0, "s"], - [4856, 0, "e"], - [4857, 0, " "], - [4858, 0, "c"], - [4859, 0, "h"], - [4860, 0, "i"], - [4861, 0, "l"], - [4862, 0, "d"], - [4863, 0, "r"], - [4864, 0, "e"], - [4865, 0, "n"], - [4866, 0, " "], - [4867, 0, "h"], - [4868, 0, "a"], - [4869, 0, "v"], - [4870, 0, "e"], - [4871, 0, " "], - [4872, 0, "a"], - [4873, 0, "n"], - [4874, 0, " "], - [4875, 0, "o"], - [4876, 0, "r"], - [4877, 0, "d"], - [4878, 0, "e"], - [4879, 0, "r"], - [4880, 0, " "], - [4881, 0, "d"], - [4882, 0, "e"], - [4883, 0, "f"], - [4884, 0, "i"], - [4885, 0, "n"], - [4886, 0, "e"], - [4887, 0, "d"], - [4888, 0, " "], - [4889, 0, "b"], - [4890, 0, "y"], - [4891, 0, " "], - [4892, 0, "t"], - [4893, 0, "h"], - [4894, 0, "e"], - [4895, 0, " "], - [4896, 0, "a"], - [4897, 0, "p"], - [4898, 0, "p"], - [4899, 0, "l"], - [4900, 0, "i"], - [4901, 0, "c"], - [4902, 0, "a"], - [4903, 0, "t"], - [4904, 0, "i"], - [4905, 0, "o"], - [4906, 0, "n"], - [4907, 0, "."], - [4908, 0, " "], - [4909, 0, "T"], - [4910, 0, "h"], - [4910, 1], - [4909, 1], - [4909, 0, "A"], - [4910, 0, " "], - [4911, 0, "J"], - [4912, 0, "S"], - [4913, 0, "O"], - [4914, 0, "N"], - [4915, 0, " "], - [4916, 0, "l"], - [4917, 0, "i"], - [4918, 0, "s"], - [4919, 0, "t"], - [4920, 0, " "], - [4921, 0, "i"], - [4922, 0, "s"], - [4923, 0, " "], - [4924, 0, "a"], - [4925, 0, "l"], - [4926, 0, "s"], - [4927, 0, "o"], - [4928, 0, " "], - [4929, 0, "k"], - [4930, 0, "n"], - [4931, 0, "o"], - [4932, 0, "w"], - [4933, 0, "n"], - [4934, 0, " "], - [4935, 0, "a"], - [4936, 0, "s"], - [4937, 0, " "], - [4938, 0, "a"], - [4939, 0, "n"], - [4940, 0, " "], - [4941, 0, "\\"], - [4942, 0, "e"], - [4943, 0, "m"], - [4944, 0, "p"], - [4945, 0, "h"], - [4946, 0, "{"], - [4947, 0, "a"], - [4948, 0, "r"], - [4949, 0, "r"], - [4950, 0, "a"], - [4951, 0, "y"], - [4952, 0, "}"], - [4953, 0, "."], - [4954, 0, "\n"], - [4955, 0, "\\"], - [4956, 0, "i"], - [4957, 0, "t"], - [4958, 0, "e"], - [4959, 0, "m"], - [4960, 0, "["], - [4961, 0, "R"], - [4962, 0, "e"], - [4963, 0, "g"], - [4964, 0, "i"], - [4965, 0, "s"], - [4966, 0, "t"], - [4967, 0, "e"], - [4968, 0, "r"], - [4969, 0, ":"], - [4970, 0, "]"], - [4971, 0, " "], - [4972, 0, "A"], - [4973, 0, " "], - [4974, 0, "l"], - [4975, 0, "e"], - [4976, 0, "a"], - [4977, 0, "f"], - [4978, 0, " "], - [4979, 0, "n"], - [4980, 0, "o"], - [4981, 0, "d"], - [4982, 0, "e"], - [4983, 0, " "], - [4984, 0, "c"], - [4985, 0, "o"], - [4986, 0, "n"], - [4987, 0, "t"], - [4988, 0, "a"], - [4989, 0, "i"], - [4990, 0, "n"], - [4991, 0, "i"], - [4992, 0, "n"], - [4993, 0, "g"], - [4994, 0, " "], - [4995, 0, "a"], - [4996, 0, " "], - [4997, 0, "p"], - [4998, 0, "r"], - [4999, 0, "i"], - [5000, 0, "m"], - [5001, 0, "i"], - [5002, 0, "t"], - [5003, 0, "i"], - [5004, 0, "v"], - [5005, 0, "e"], - [5006, 0, " "], - [5007, 0, "v"], - [5008, 0, "a"], - [5009, 0, "l"], - [5010, 0, "u"], - [5011, 0, "e"], - [5012, 0, " "], - [5013, 0, "("], - [5014, 0, "s"], - [5015, 0, "t"], - [5016, 0, "r"], - [5017, 0, "i"], - [5018, 0, "n"], - [5019, 0, "g"], - [5020, 0, ","], - [5021, 0, " "], - [5022, 0, "n"], - [5023, 0, "u"], - [5024, 0, "m"], - [5025, 0, "b"], - [5026, 0, "e"], - [5027, 0, "r"], - [5028, 0, ","], - [5029, 0, " "], - [5030, 0, "b"], - [5031, 0, "o"], - [5032, 0, "o"], - [5033, 0, "l"], - [5034, 0, "e"], - [5035, 0, "a"], - [5036, 0, "n"], - [5037, 0, " "], - [5038, 0, "o"], - [5039, 0, "r"], - [5037, 0, ","], - [5041, 0, " "], - [5042, 0, "n"], - [5043, 0, "u"], - [5044, 0, "l"], - [5045, 0, "l"], - [5046, 0, ")"], - [5047, 0, "."], - [5048, 0, " "], - [5048, 1], - [4582, 0, "b"], - [4583, 0, "r"], - [4584, 0, "a"], - [4585, 0, "n"], - [4586, 0, "c"], - [4587, 0, "h"], - [4588, 0, " "], - [4635, 1], - [4634, 1], - [4633, 1], - [4632, 1], - [4631, 1], - [4630, 1], - [4629, 1], - [4840, 1], - [4840, 1], - [4840, 1], - [4840, 1], - [4840, 1], - [4840, 1], - [4840, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4948, 1], - [4947, 1], - [4965, 0, "\n"], - [4966, 0, "\n"], - [4824, 0, " "], - [4824, 1], - [4778, 0, " "], - [4779, 0, "K"], - [4780, 0, "e"], - [4781, 0, "y"], - [4782, 0, "s"], - [4783, 0, " "], - [4784, 0, "a"], - [4785, 0, "r"], - [4786, 0, "e"], - [4787, 0, " "], - [4788, 0, "i"], - [4789, 0, "m"], - [4790, 0, "m"], - [4791, 0, "u"], - [4792, 0, "t"], - [4793, 0, "a"], - [4794, 0, "b"], - [4795, 0, "l"], - [4796, 0, "e"], - [4797, 0, ","], - [4798, 0, " "], - [4799, 0, "b"], - [4800, 0, "u"], - [4801, 0, "t"], - [4802, 0, " "], - [4803, 0, "v"], - [4804, 0, "a"], - [4805, 0, "l"], - [4806, 0, "u"], - [4807, 0, "e"], - [4808, 0, "s"], - [4809, 0, " "], - [4810, 0, "a"], - [4811, 0, "r"], - [4812, 0, "e"], - [4813, 0, " "], - [4814, 0, "m"], - [4815, 0, "u"], - [4816, 0, "t"], - [4817, 0, "a"], - [4818, 0, "b"], - [4819, 0, "l"], - [4820, 0, "e"], - [4821, 0, ","], - [4822, 0, " "], - [4823, 0, "a"], - [4824, 0, "n"], - [4825, 0, "d"], - [4826, 0, " "], - [4827, 0, "k"], - [4828, 0, "e"], - [4829, 0, "y"], - [4830, 0, "-"], - [4831, 0, "v"], - [4832, 0, "a"], - [4833, 0, "l"], - [4834, 0, "u"], - [4835, 0, "e"], - [4836, 0, " "], - [4837, 0, "m"], - [4838, 0, "a"], - [4839, 0, "p"], - [4840, 0, "p"], - [4841, 0, "i"], - [4842, 0, "n"], - [4843, 0, "g"], - [4844, 0, "s"], - [4845, 0, " "], - [4846, 0, "c"], - [4847, 0, "a"], - [4848, 0, "n"], - [4849, 0, " "], - [4850, 0, "b"], - [4851, 0, "e"], - [4852, 0, " "], - [4853, 0, "a"], - [4854, 0, "d"], - [4855, 0, "d"], - [4856, 0, "e"], - [4857, 0, "d"], - [4858, 0, " "], - [4859, 0, "a"], - [4860, 0, "n"], - [4861, 0, "d"], - [4862, 0, " "], - [4863, 0, "r"], - [4864, 0, "e"], - [4865, 0, "m"], - [4866, 0, "o"], - [4867, 0, "v"], - [4868, 0, "e"], - [4869, 0, "d"], - [4870, 0, " "], - [4871, 0, "f"], - [4872, 0, "r"], - [4873, 0, "o"], - [4874, 0, "m"], - [4875, 0, " "], - [4876, 0, "t"], - [4877, 0, "h"], - [4878, 0, "e"], - [4879, 0, " "], - [4880, 0, "m"], - [4881, 0, "a"], - [4882, 0, "p"], - [4883, 0, "."], - [5007, 0, " "], - [5008, 0, "T"], - [5009, 0, "h"], - [5010, 0, "e"], - [5011, 0, " "], - [5012, 0, "l"], - [5013, 0, "i"], - [5014, 0, "s"], - [5015, 0, "t"], - [5016, 0, " "], - [5017, 0, "c"], - [5018, 0, "a"], - [5019, 0, "n"], - [5020, 0, " "], - [5021, 0, "b"], - [5022, 0, "e"], - [5023, 0, " "], - [5024, 0, "m"], - [5025, 0, "u"], - [5026, 0, "t"], - [5027, 0, "a"], - [5028, 0, "t"], - [5029, 0, "e"], - [5030, 0, "d"], - [5031, 0, " "], - [5032, 0, "b"], - [5033, 0, "y"], - [5034, 0, " "], - [5035, 0, "i"], - [5036, 0, "n"], - [5037, 0, "s"], - [5038, 0, "e"], - [5039, 0, "r"], - [5040, 0, "t"], - [5041, 0, "i"], - [5042, 0, "n"], - [5043, 0, "g"], - [5044, 0, " "], - [5045, 0, "o"], - [5046, 0, "r"], - [5047, 0, " "], - [5048, 0, "d"], - [5049, 0, "e"], - [5050, 0, "l"], - [5051, 0, "e"], - [5052, 0, "t"], - [5053, 0, "i"], - [5054, 0, "n"], - [5055, 0, "g"], - [5056, 0, " "], - [5057, 0, "l"], - [5058, 0, "i"], - [5059, 0, "s"], - [5060, 0, "t"], - [5061, 0, " "], - [5062, 0, "e"], - [5063, 0, "l"], - [5064, 0, "e"], - [5065, 0, "m"], - [5066, 0, "e"], - [5067, 0, "n"], - [5068, 0, "t"], - [5069, 0, "s"], - [5070, 0, "."], - [5137, 0, "T"], - [5138, 0, "h"], - [5139, 0, "e"], - [5140, 0, " "], - [5141, 0, "l"], - [5142, 0, "e"], - [5143, 0, "a"], - [5144, 0, "v"], - [5145, 0, "e"], - [5146, 0, "s"], - [5147, 0, " "], - [5148, 0, "o"], - [5149, 0, "f"], - [5150, 0, " "], - [5151, 0, "t"], - [5152, 0, "h"], - [5153, 0, "e"], - [5154, 0, " "], - [5155, 0, "t"], - [5156, 0, "r"], - [5157, 0, "e"], - [5158, 0, "e"], - [5159, 0, " "], - [5160, 0, "c"], - [5161, 0, "o"], - [5162, 0, "n"], - [5163, 0, "t"], - [5164, 0, "a"], - [5165, 0, "i"], - [5166, 0, "n"], - [5167, 0, " "], - [5139, 1], - [5138, 1], - [5137, 1], - [5137, 0, "e"], - [5137, 1], - [5137, 0, "A"], - [5138, 0, " "], - [5139, 0, "c"], - [5140, 0, "h"], - [5141, 0, "i"], - [5142, 0, "l"], - [5143, 0, "d"], - [5144, 0, " "], - [5145, 0, "o"], - [5146, 0, "f"], - [5147, 0, " "], - [5148, 0, "a"], - [5149, 0, " "], - [5150, 0, "b"], - [5151, 0, "r"], - [5152, 0, "a"], - [5153, 0, "n"], - [5154, 0, "c"], - [5155, 0, "h"], - [5156, 0, " "], - [5157, 0, "n"], - [5158, 0, "o"], - [5159, 0, "d"], - [5160, 0, "e"], - [5161, 0, " "], - [5162, 0, "c"], - [5163, 0, "a"], - [5164, 0, "n"], - [5165, 0, " "], - [5166, 0, "b"], - [5167, 0, "e"], - [5168, 0, " "], - [5169, 0, "e"], - [5170, 0, "i"], - [5171, 0, "t"], - [5172, 0, "h"], - [5173, 0, "e"], - [5174, 0, "r"], - [5175, 0, " "], - [5176, 0, "a"], - [5177, 0, "n"], - [5178, 0, "o"], - [5179, 0, "t"], - [5180, 0, "h"], - [5181, 0, "e"], - [5182, 0, "r"], - [5183, 0, " "], - [5184, 0, "b"], - [5185, 0, "r"], - [5186, 0, "a"], - [5187, 0, "n"], - [5188, 0, "c"], - [5189, 0, "h"], - [5190, 0, " "], - [5191, 0, "n"], - [5192, 0, "o"], - [5193, 0, "d"], - [5194, 0, "e"], - [5195, 0, ","], - [5196, 0, " "], - [5197, 0, "o"], - [5198, 0, "r"], - [5199, 0, " "], - [5200, 0, "a"], - [5201, 0, " "], - [5202, 0, "l"], - [5203, 0, "e"], - [5204, 0, "a"], - [5205, 0, "f"], - [5206, 0, " "], - [5207, 0, "n"], - [5208, 0, "o"], - [5209, 0, "d"], - [5210, 0, "e"], - [5211, 0, "."], - [5212, 0, " "], - [5213, 0, "A"], - [5220, 1], - [5219, 1], - [5218, 1], - [5218, 0, "f"], - [5239, 1], - [5239, 0, "s"], - [5240, 0, " "], - [5241, 0, "a"], - [5242, 0, " "], - [5243, 0, "p"], - [5244, 0, "r"], - [5245, 0, "i"], - [5246, 0, "m"], - [5247, 0, "i"], - [5248, 0, "t"], - [5249, 0, "i"], - [5250, 0, "v"], - [5251, 0, "e"], - [5252, 0, " "], - [5253, 0, "v"], - [5254, 0, "a"], - [5255, 0, "l"], - [5256, 0, "u"], - [5257, 0, "e"], - [5258, 0, " "], - [5259, 0, "("], - [5260, 0, "s"], - [5261, 0, "t"], - [5262, 0, "r"], - [5263, 0, "i"], - [5264, 0, "n"], - [5265, 0, "g"], - [5266, 0, ","], - [5267, 0, " "], - [5268, 0, "n"], - [5269, 0, "u"], - [5270, 0, "m"], - [5271, 0, "b"], - [5272, 0, "e"], - [5273, 0, "r"], - [5274, 0, ","], - [5275, 0, " "], - [5276, 0, "b"], - [5277, 0, "o"], - [5278, 0, "o"], - [5279, 0, "l"], - [5280, 0, "e"], - [5281, 0, "a"], - [5282, 0, "n"], - [5283, 0, ","], - [5284, 0, " "], - [5285, 0, "o"], - [5286, 0, "r"], - [5287, 0, " "], - [5288, 0, "n"], - [5289, 0, "u"], - [5290, 0, "l"], - [5291, 0, "l"], - [5292, 0, ")"], - [5293, 0, "."], - [5294, 0, " "], - [5295, 0, "W"], - [5296, 0, "e"], - [5297, 0, " "], - [5298, 0, "t"], - [5299, 0, "r"], - [5300, 0, "e"], - [5301, 0, "a"], - [5302, 0, "t"], - [5303, 0, " "], - [5304, 0, "p"], - [5305, 0, "r"], - [5306, 0, "i"], - [5307, 0, "m"], - [5308, 0, "i"], - [5309, 0, "t"], - [5310, 0, "i"], - [5311, 0, "v"], - [5312, 0, "e"], - [5313, 0, " "], - [5314, 0, "v"], - [5315, 0, "a"], - [5316, 0, "l"], - [5317, 0, "u"], - [5318, 0, "e"], - [5319, 0, "s"], - [5320, 0, " "], - [5321, 0, "a"], - [5322, 0, "s"], - [5323, 0, " "], - [5324, 0, "i"], - [5325, 0, "m"], - [5326, 0, "m"], - [5327, 0, "u"], - [5328, 0, "t"], - [5329, 0, "a"], - [5330, 0, "b"], - [5331, 0, "l"], - [5332, 0, "e"], - [5333, 0, ","], - [5334, 0, " "], - [5335, 0, "b"], - [5336, 0, "u"], - [5337, 0, "t"], - [5338, 0, " "], - [5339, 0, "a"], - [5340, 0, "l"], - [5341, 0, "l"], - [5342, 0, "o"], - [5343, 0, "w"], - [5344, 0, " "], - [5345, 0, "a"], - [5346, 0, " "], - [5346, 1], - [5345, 1], - [5345, 0, "t"], - [5346, 0, "h"], - [5347, 0, "e"], - [5348, 0, " "], - [5349, 0, "v"], - [5350, 0, "a"], - [5351, 0, "l"], - [5352, 0, "u"], - [5353, 0, "e"], - [5354, 0, " "], - [5355, 0, "o"], - [5356, 0, "f"], - [5357, 0, " "], - [5358, 0, "a"], - [5359, 0, " "], - [5360, 0, "l"], - [5361, 0, "e"], - [5362, 0, "a"], - [5363, 0, "f"], - [5364, 0, " "], - [5365, 0, "n"], - [5366, 0, "o"], - [5367, 0, "d"], - [5368, 0, "e"], - [5369, 0, " "], - [5370, 0, "t"], - [5371, 0, "o"], - [5372, 0, " "], - [5373, 0, "b"], - [5374, 0, "e"], - [5375, 0, " "], - [5376, 0, "m"], - [5377, 0, "o"], - [5378, 0, "d"], - [5379, 0, "i"], - [5380, 0, "f"], - [5381, 0, "i"], - [5382, 0, "e"], - [5383, 0, "d"], - [5384, 0, " "], - [5385, 0, "b"], - [5386, 0, "y"], - [5387, 0, " "], - [5388, 0, "t"], - [5389, 0, "r"], - [5390, 0, "e"], - [5391, 0, "a"], - [5392, 0, "t"], - [5393, 0, "i"], - [5394, 0, "n"], - [5395, 0, "g"], - [5396, 0, " "], - [5397, 0, "i"], - [5398, 0, "t"], - [5399, 0, " "], - [5400, 0, "a"], - [5401, 0, "s"], - [5402, 0, " "], - [5403, 0, "a"], - [5404, 0, " "], - [5405, 0, "\\"], - [5406, 0, "e"], - [5407, 0, "m"], - [5408, 0, "p"], - [5409, 0, "h"], - [5410, 0, "{"], - [5411, 0, "r"], - [5412, 0, "e"], - [5413, 0, "g"], - [5414, 0, "i"], - [5415, 0, "s"], - [5416, 0, "t"], - [5417, 0, "e"], - [5418, 0, "r"], - [5419, 0, "}"], - [5420, 0, " "], - [5421, 0, "t"], - [5422, 0, "h"], - [5423, 0, "a"], - [5424, 0, "t"], - [5425, 0, " "], - [5426, 0, "c"], - [5427, 0, "a"], - [5428, 0, "n"], - [5429, 0, " "], - [5430, 0, "b"], - [5431, 0, "e"], - [5432, 0, " "], - [5433, 0, "a"], - [5434, 0, "s"], - [5435, 0, "s"], - [5436, 0, "i"], - [5437, 0, "g"], - [5438, 0, "n"], - [5439, 0, "e"], - [5440, 0, "d"], - [5441, 0, " "], - [5442, 0, "a"], - [5443, 0, " "], - [5444, 0, "n"], - [5445, 0, "e"], - [5446, 0, "w"], - [5447, 0, " "], - [5448, 0, "v"], - [5449, 0, "a"], - [5450, 0, "l"], - [5451, 0, "u"], - [5452, 0, "e"], - [5453, 0, "."], - [4571, 1], - [4570, 1], - [4569, 1], - [4568, 1], - [4567, 1], - [4566, 1], - [4565, 1], - [4564, 1], - [4563, 1], - [4562, 1], - [4561, 1], - [4560, 1], - [4559, 1], - [4558, 1], - [4557, 1], - [4556, 1], - [4555, 1], - [4554, 1], - [4553, 1], - [4552, 1], - [4551, 1], - [4550, 1], - [4549, 1], - [4548, 1], - [4548, 0, "n"], - [4549, 0, "t"], - [4550, 0, "a"], - [4551, 0, "i"], - [4552, 0, "n"], - [4552, 1], - [4551, 1], - [4550, 1], - [4549, 1], - [4548, 1], - [4548, 0, "t"], - [4549, 0, "a"], - [4550, 0, "i"], - [4551, 0, "n"], - [4552, 0, "i"], - [4553, 0, "n"], - [4554, 0, "g"], - [4555, 0, " "], - [4556, 0, "t"], - [4557, 0, "w"], - [4558, 0, "o"], - [5441, 0, "\n"], - [5442, 0, "\n"], - [5443, 0, "\\"], - [5443, 1], - [5443, 0, "I"], - [5444, 0, "n"], - [5445, 0, " "], - [5446, 0, "s"], - [5447, 0, "e"], - [5448, 0, "c"], - [5449, 0, "t"], - [5450, 0, "i"], - [5451, 0, "o"], - [5452, 0, "n"], - [5453, 0, "~"], - [5454, 0, "\\"], - [5455, 0, "r"], - [5456, 0, "e"], - [5457, 0, "f"], - [5458, 0, "{"], - [5459, 0, "s"], - [5460, 0, "e"], - [5461, 0, "c"], - [5462, 0, ":"], - [5463, 0, "e"], - [5464, 0, "a"], - [5464, 1], - [5464, 0, "x"], - [5465, 0, "a"], - [5466, 0, "m"], - [5467, 0, "p"], - [5468, 0, "l"], - [5469, 0, "e"], - [5470, 0, "s"], - [5471, 0, "}"], - [5472, 0, " "], - [5473, 0, "w"], - [5474, 0, "e"], - [5475, 0, " "], - [5476, 0, "s"], - [5477, 0, "h"], - [5478, 0, "o"], - [5479, 0, "w"], - [5480, 0, " "], - [5481, 0, "s"], - [5482, 0, "o"], - [5483, 0, "m"], - [5484, 0, "e"], - [5485, 0, " "], - [5486, 0, "e"], - [5487, 0, "x"], - [5487, 1], - [5486, 1], - [5486, 0, "s"], - [5487, 0, "i"], - [5488, 0, "m"], - [5489, 0, "p"], - [5490, 0, "l"], - [5491, 0, "e"], - [5492, 0, " "], - [5493, 0, "e"], - [5494, 0, "x"], - [5495, 0, "a"], - [5496, 0, "m"], - [5497, 0, "p"], - [5498, 0, "l"], - [5499, 0, "e"], - [5500, 0, "s"], - [5501, 0, " "], - [5502, 0, "o"], - [5503, 0, "f"], - [5504, 0, " "], - [5505, 0, "u"], - [5506, 0, "s"], - [5507, 0, "i"], - [5508, 0, "n"], - [5509, 0, "g"], - [5510, 0, " "], - [5511, 0, "J"], - [5512, 0, "S"], - [5513, 0, "O"], - [5514, 0, "N"], - [5515, 0, " "], - [5516, 0, "t"], - [5517, 0, "o"], - [5518, 0, " "], - [5519, 0, "m"], - [5520, 0, "o"], - [5521, 0, "d"], - [5522, 0, "e"], - [5523, 0, "l"], - [5524, 0, " "], - [5525, 0, "a"], - [5526, 0, "p"], - [5527, 0, "p"], - [5528, 0, "l"], - [5529, 0, "i"], - [5530, 0, "c"], - [5531, 0, "a"], - [5532, 0, "t"], - [5533, 0, "i"], - [5534, 0, "o"], - [5535, 0, "n"], - [5536, 0, " "], - [5537, 0, "d"], - [5538, 0, "a"], - [5539, 0, "t"], - [5540, 0, "a"], - [5541, 0, "."], - [5442, 0, "\n"], - [5443, 0, "T"], - [5444, 0, "h"], - [5445, 0, "i"], - [5446, 0, "s"], - [5447, 0, " "], - [5448, 0, "m"], - [5449, 0, "o"], - [5450, 0, "d"], - [5451, 0, "e"], - [5452, 0, "l"], - [5453, 0, " "], - [5454, 0, "i"], - [5455, 0, "s"], - [5456, 0, " "], - [5457, 0, "s"], - [5458, 0, "u"], - [5459, 0, "f"], - [5460, 0, "f"], - [5461, 0, "i"], - [5462, 0, "c"], - [5463, 0, "i"], - [5464, 0, "e"], - [5465, 0, "n"], - [5466, 0, "t"], - [5467, 0, " "], - [5468, 0, "t"], - [5469, 0, "o"], - [5470, 0, " "], - [5471, 0, "e"], - [5472, 0, "x"], - [5473, 0, "p"], - [5474, 0, "r"], - [5475, 0, "e"], - [5476, 0, "s"], - [5477, 0, "s"], - [5478, 0, " "], - [5479, 0, "t"], - [5480, 0, "h"], - [5481, 0, "e"], - [5482, 0, " "], - [5483, 0, "s"], - [5484, 0, "t"], - [5485, 0, "a"], - [5486, 0, "t"], - [5487, 0, "e"], - [5488, 0, " "], - [5489, 0, "o"], - [5490, 0, "f"], - [5491, 0, " "], - [5492, 0, "a"], - [5493, 0, " "], - [5494, 0, "w"], - [5495, 0, "i"], - [5496, 0, "d"], - [5497, 0, "e"], - [5498, 0, " "], - [5499, 0, "r"], - [5500, 0, "a"], - [5501, 0, "n"], - [5502, 0, "g"], - [5503, 0, "e"], - [5504, 0, " "], - [5505, 0, "o"], - [5506, 0, "f"], - [5507, 0, " "], - [5508, 0, "a"], - [5509, 0, "p"], - [5510, 0, "p"], - [5511, 0, "l"], - [5512, 0, "i"], - [5513, 0, "c"], - [5514, 0, "a"], - [5515, 0, "t"], - [5516, 0, "i"], - [5517, 0, "o"], - [5518, 0, "n"], - [5519, 0, "s"], - [5520, 0, "."], - [5521, 0, " "], - [5522, 0, "F"], - [5523, 0, "o"], - [5524, 0, "r"], - [5525, 0, " "], - [5526, 0, "e"], - [5527, 0, "x"], - [5528, 0, "a"], - [5529, 0, "m"], - [5530, 0, "p"], - [5531, 0, "l"], - [5532, 0, "e"], - [5533, 0, ","], - [5534, 0, " "], - [5535, 0, "a"], - [5536, 0, " "], - [5537, 0, "t"], - [5538, 0, "e"], - [5539, 0, "x"], - [5540, 0, "t"], - [5541, 0, " "], - [5542, 0, "d"], - [5543, 0, "o"], - [5544, 0, "c"], - [5545, 0, "u"], - [5546, 0, "m"], - [5547, 0, "e"], - [5548, 0, "n"], - [5549, 0, "t"], - [5550, 0, " "], - [5551, 0, "c"], - [5552, 0, "a"], - [5553, 0, "n"], - [5554, 0, " "], - [5555, 0, "b"], - [5556, 0, "e"], - [5557, 0, " "], - [5558, 0, "r"], - [5559, 0, "e"], - [5560, 0, "p"], - [5561, 0, "r"], - [5562, 0, "e"], - [5563, 0, "s"], - [5564, 0, "e"], - [5565, 0, "n"], - [5566, 0, "t"], - [5567, 0, "e"], - [5568, 0, "d"], - [5569, 0, " "], - [5570, 0, "b"], - [5571, 0, "y"], - [5572, 0, " "], - [5573, 0, "a"], - [5574, 0, "n"], - [5575, 0, " "], - [5576, 0, "o"], - [5577, 0, "r"], - [5578, 0, "d"], - [5579, 0, "e"], - [5580, 0, "r"], - [5581, 0, "e"], - [5582, 0, "d"], - [5583, 0, " "], - [5584, 0, "l"], - [5585, 0, "i"], - [5586, 0, "s"], - [5587, 0, "t"], - [5588, 0, " "], - [5589, 0, "o"], - [5590, 0, "f"], - [5591, 0, " "], - [5592, 0, "i"], - [5593, 0, "n"], - [5594, 0, "d"], - [5595, 0, "i"], - [5596, 0, "v"], - [5582, 1], - [5581, 1], - [5580, 1], - [5579, 1], - [5578, 1], - [5577, 1], - [5576, 1], - [5575, 1], - [5574, 1], - [5588, 0, "i"], - [5589, 0, "d"], - [5590, 0, "u"], - [5591, 0, "a"], - [5592, 0, "l"], - [5593, 0, " "], - [5594, 0, "c"], - [5595, 0, "h"], - [5596, 0, "a"], - [5597, 0, "r"], - [5598, 0, "a"], - [5599, 0, "c"], - [5600, 0, "t"], - [5601, 0, "e"], - [5602, 0, "r"], - [5603, 0, "s"], - [5593, 1], - [5592, 1], - [5591, 1], - [5590, 1], - [5589, 1], - [5588, 1], - [5587, 1], - [5586, 1], - [5585, 1], - [5584, 1], - [5583, 1], - [5583, 0, "s"], - [5584, 0, "i"], - [5585, 0, "n"], - [5586, 0, "g"], - [5587, 0, "l"], - [5588, 0, "e"], - [5589, 0, "-"], - [5599, 1], - [5599, 0, " "], - [5600, 0, "s"], - [5601, 0, "t"], - [5602, 0, "r"], - [5603, 0, "i"], - [5604, 0, "n"], - [5605, 0, "g"], - [5606, 0, "s"], - [5607, 0, ";"], - [5608, 0, " "], - [5609, 0, "c"], - [5610, 0, "h"], - [5611, 0, "a"], - [5612, 0, "r"], - [5613, 0, "a"], - [5614, 0, "c"], - [5615, 0, "t"], - [5616, 0, "e"], - [5617, 0, "r"], - [5618, 0, "-"], - [5619, 0, "b"], - [5620, 0, "y"], - [5621, 0, "-"], - [5622, 0, "c"], - [5623, 0, "h"], - [5624, 0, "a"], - [5625, 0, "r"], - [5626, 0, "a"], - [5627, 0, "c"], - [5628, 0, "t"], - [5629, 0, "e"], - [5630, 0, "r"], - [5631, 0, " "], - [5632, 0, "e"], - [5633, 0, "d"], - [5634, 0, "i"], - [5635, 0, "t"], - [5636, 0, "s"], - [5637, 0, " "], - [5638, 0, "a"], - [5639, 0, "r"], - [5640, 0, "e"], - [5641, 0, " "], - [5642, 0, "t"], - [5643, 0, "h"], - [5644, 0, "e"], - [5645, 0, "n"], - [5646, 0, " "], - [5647, 0, "e"], - [5648, 0, "x"], - [5649, 0, "p"], - [5650, 0, "r"], - [5651, 0, "e"], - [5652, 0, "s"], - [5653, 0, "s"], - [5654, 0, "e"], - [5655, 0, "d"], - [5656, 0, " "], - [5657, 0, "a"], - [5658, 0, "s"], - [5659, 0, " "], - [5660, 0, "i"], - [5661, 0, "n"], - [5662, 0, "s"], - [5663, 0, "e"], - [5664, 0, "r"], - [5665, 0, "t"], - [5666, 0, "i"], - [5667, 0, "o"], - [5668, 0, "n"], - [5669, 0, "s"], - [5670, 0, " "], - [5671, 0, "a"], - [5672, 0, "n"], - [5673, 0, "d"], - [5674, 0, " "], - [5675, 0, "d"], - [5676, 0, "e"], - [5677, 0, "l"], - [5678, 0, "e"], - [5679, 0, "t"], - [5680, 0, "i"], - [5681, 0, "o"], - [5682, 0, "n"], - [5683, 0, "s"], - [5684, 0, " "], - [5685, 0, "o"], - [5686, 0, "f"], - [5687, 0, " "], - [5688, 0, "l"], - [5689, 0, "i"], - [5690, 0, "s"], - [5691, 0, "t"], - [5692, 0, " "], - [5693, 0, "e"], - [5694, 0, "l"], - [5695, 0, "e"], - [5696, 0, "m"], - [5697, 0, "e"], - [5698, 0, "n"], - [5699, 0, "t"], - [5700, 0, "s"], - [5701, 0, "."], - [5702, 1], - [5702, 0, " "], - [5751, 1], - [5750, 1], - [5749, 1], - [5748, 1], - [5747, 1], - [5746, 1], - [5745, 1], - [5744, 1], - [5743, 1], - [5742, 1], - [5741, 1], - [5741, 0, "f"], - [5742, 0, "u"], - [5743, 0, "r"], - [5744, 0, "t"], - [5745, 0, "h"], - [5746, 0, "e"], - [5747, 0, "r"], - [5798, 0, "\n"], - [5799, 0, "\n"], - [5800, 0, "\\"], - [5801, 0, "s"], - [5802, 0, "u"], - [5803, 0, "b"], - [5804, 0, "s"], - [5805, 0, "e"], - [5806, 0, "c"], - [5807, 0, "t"], - [5808, 0, "i"], - [5809, 0, "o"], - [5810, 0, "n"], - [5811, 0, "{"], - [5812, 0, "C"], - [5813, 0, "o"], - [5814, 0, "n"], - [5815, 0, "f"], - [5816, 0, "l"], - [5817, 0, "i"], - [5818, 0, "c"], - [5819, 0, "t"], - [5820, 0, " "], - [5821, 0, "r"], - [5822, 0, "e"], - [5823, 0, "s"], - [5824, 0, "o"], - [5825, 0, "l"], - [5826, 0, "u"], - [5827, 0, "t"], - [5828, 0, "i"], - [5829, 0, "o"], - [5830, 0, "n"], - [5831, 0, "}"], - [5830, 1], - [5829, 1], - [5828, 1], - [5827, 1], - [5826, 1], - [5825, 1], - [5824, 1], - [5823, 1], - [5822, 1], - [5821, 1], - [5820, 1], - [5819, 1], - [5818, 1], - [5817, 1], - [5816, 1], - [5815, 1], - [5814, 1], - [5813, 1], - [5812, 1], - [5812, 0, "R"], - [5813, 0, "e"], - [5814, 0, "p"], - [5815, 0, "l"], - [5816, 0, "i"], - [5817, 0, "c"], - [5818, 0, "a"], - [5819, 0, "t"], - [5820, 0, "i"], - [5821, 0, "o"], - [5822, 0, "n"], - [5823, 0, " "], - [5824, 0, "m"], - [5825, 0, "o"], - [5826, 0, "d"], - [5827, 0, "e"], - [5828, 0, "l"], - [5828, 1], - [5827, 1], - [5826, 1], - [5825, 1], - [5824, 1], - [5824, 0, "a"], - [5825, 0, "n"], - [5826, 0, "d"], - [5827, 0, " "], - [5828, 0, "c"], - [5829, 0, "o"], - [5830, 0, "n"], - [5831, 0, "f"], - [5832, 0, "l"], - [5833, 0, "i"], - [5834, 0, "c"], - [5835, 0, "t"], - [5836, 0, " "], - [5837, 0, "r"], - [5838, 0, "e"], - [5839, 0, "s"], - [5840, 0, "o"], - [5841, 0, "l"], - [5842, 0, "u"], - [5843, 0, "t"], - [5844, 0, "i"], - [5845, 0, "o"], - [5846, 0, "n"], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [12904, 1], - [6127, 0, "\n"], - [6128, 0, "\n"], - [6128, 0, "W"], - [6129, 0, "e"], - [6130, 0, " "], - [6131, 0, "c"], - [6132, 0, "o"], - [6133, 0, "n"], - [6134, 0, "s"], - [6135, 0, "i"], - [6136, 0, "d"], - [6137, 0, "e"], - [6138, 0, "r"], - [6139, 0, " "], - [6140, 0, "s"], - [6141, 0, "y"], - [6142, 0, "s"], - [6143, 0, "t"], - [6144, 0, "e"], - [6145, 0, "m"], - [6146, 0, "s"], - [6147, 0, " "], - [6148, 0, "i"], - [6149, 0, "n"], - [6150, 0, " "], - [6151, 0, "w"], - [6152, 0, "h"], - [6153, 0, "i"], - [6154, 0, "c"], - [6155, 0, "h"], - [6156, 0, " "], - [6157, 0, "a"], - [6158, 0, " "], - [6159, 0, "f"], - [6160, 0, "u"], - [6161, 0, "l"], - [6162, 0, "l"], - [6163, 0, " "], - [6164, 0, "c"], - [6165, 0, "o"], - [6166, 0, "p"], - [6167, 0, "y"], - [6168, 0, " "], - [6169, 0, "o"], - [6170, 0, "f"], - [6171, 0, " "], - [6172, 0, "t"], - [6173, 0, "h"], - [6174, 0, "e"], - [6175, 0, " "], - [6176, 0, "J"], - [6177, 0, "S"], - [6178, 0, "O"], - [6179, 0, "N"], - [6180, 0, " "], - [6181, 0, "d"], - [6182, 0, "o"], - [6183, 0, "c"], - [6184, 0, "u"], - [6185, 0, "m"], - [6186, 0, "e"], - [6187, 0, "n"], - [6188, 0, "t"], - [6189, 0, " "], - [6190, 0, "i"], - [6191, 0, "s"], - [6192, 0, " "], - [6193, 0, "r"], - [6194, 0, "e"], - [6195, 0, "p"], - [6196, 0, "l"], - [6197, 0, "i"], - [6198, 0, "c"], - [6199, 0, "a"], - [6200, 0, "t"], - [6201, 0, "e"], - [6202, 0, "d"], - [6203, 0, " "], - [6204, 0, "o"], - [6205, 0, "n"], - [6206, 0, " "], - [6207, 0, "s"], - [6208, 0, "e"], - [6209, 0, "v"], - [6210, 0, "e"], - [6211, 0, "r"], - [6212, 0, "a"], - [6213, 0, "l"], - [6214, 0, " "], - [6215, 0, "d"], - [6216, 0, "e"], - [6217, 0, "v"], - [6218, 0, "i"], - [6219, 0, "c"], - [6220, 0, "e"], - [6221, 0, "s"], - [6222, 0, "."], - [6223, 0, " "], - [6224, 0, "T"], - [6225, 0, "h"], - [6226, 0, "o"], - [6227, 0, "s"], - [6228, 0, "e"], - [6229, 0, " "], - [6230, 0, "d"], - [6231, 0, "e"], - [6232, 0, "v"], - [6233, 0, "i"], - [6234, 0, "c"], - [6235, 0, "e"], - [6236, 0, "s"], - [6237, 0, " "], - [6238, 0, "c"], - [6239, 0, "o"], - [6240, 0, "u"], - [6241, 0, "l"], - [6242, 0, "d"], - [6243, 0, " "], - [6244, 0, "b"], - [6245, 0, "e"], - [6246, 0, " "], - [6247, 0, "s"], - [6248, 0, "e"], - [6249, 0, "r"], - [6250, 0, "v"], - [6251, 0, "e"], - [6252, 0, "r"], - [6253, 0, "s"], - [6254, 0, " "], - [6255, 0, "i"], - [6256, 0, "n"], - [6257, 0, " "], - [6258, 0, "d"], - [6259, 0, "a"], - [6260, 0, "t"], - [6261, 0, "a"], - [6262, 0, "c"], - [6263, 0, "e"], - [6264, 0, "n"], - [6265, 0, "t"], - [6266, 0, "e"], - [6267, 0, "r"], - [6268, 0, "s"], - [6269, 0, ","], - [6270, 0, " "], - [6271, 0, "b"], - [6272, 0, "u"], - [6273, 0, "t"], - [6274, 0, " "], - [6275, 0, "w"], - [6276, 0, "e"], - [6277, 0, " "], - [6278, 0, "p"], - [6279, 0, "r"], - [6280, 0, "i"], - [6281, 0, "m"], - [6282, 0, "a"], - [6283, 0, "r"], - [6284, 0, "i"], - [6285, 0, "l"], - [6286, 0, "y"], - [6287, 0, " "], - [6287, 1], - [6286, 1], - [6285, 1], - [6284, 1], - [6283, 1], - [6282, 1], - [6281, 1], - [6280, 1], - [6279, 1], - [6278, 1], - [6278, 0, "c"], - [6279, 0, "o"], - [6279, 1], - [6278, 1], - [6278, 0, "p"], - [6278, 1], - [6278, 0, "f"], - [6279, 0, "o"], - [6280, 0, "c"], - [6281, 0, "u"], - [6282, 0, "s"], - [6283, 0, " "], - [6284, 0, "o"], - [6285, 0, "n"], - [6286, 0, " "], - [6287, 0, "m"], - [6288, 0, "o"], - [6289, 0, "b"], - [6290, 0, "i"], - [6291, 0, "l"], - [6292, 0, "e"], - [6293, 0, " "], - [6294, 0, "d"], - [6295, 0, "e"], - [6296, 0, "v"], - [6297, 0, "i"], - [6298, 0, "c"], - [6299, 0, "e"], - [6300, 0, "s"], - [6301, 0, " "], - [6302, 0, "s"], - [6303, 0, "u"], - [6304, 0, "c"], - [6305, 0, "h"], - [6306, 0, " "], - [6307, 0, "a"], - [6308, 0, "s"], - [6309, 0, " "], - [6310, 0, "s"], - [6311, 0, "m"], - [6312, 0, "a"], - [6313, 0, "r"], - [6314, 0, "t"], - [6315, 0, "p"], - [6316, 0, "h"], - [6317, 0, "o"], - [6318, 0, "n"], - [6319, 0, "e"], - [6320, 0, "s"], - [6321, 0, ","], - [6322, 0, " "], - [6323, 0, "t"], - [6324, 0, "a"], - [6325, 0, "b"], - [6326, 0, "l"], - [6327, 0, "e"], - [6327, 1], - [6326, 1], - [6325, 1], - [6324, 1], - [6323, 1], - [6322, 1], - [6321, 1], - [6321, 0, " "], - [6322, 0, "a"], - [6323, 0, "n"], - [6324, 0, "d"], - [6325, 0, " "], - [6326, 0, "l"], - [6327, 0, "a"], - [6328, 0, "p"], - [6329, 0, "t"], - [6330, 0, "o"], - [6331, 0, "p"], - [6332, 0, "s"], - [6333, 0, "."], - [6333, 0, ","], - [6334, 0, " "], - [6335, 0, "w"], - [6336, 0, "h"], - [6337, 0, "i"], - [6338, 0, "c"], - [6339, 0, "h"], - [6340, 0, " "], - [6341, 0, "h"], - [6342, 0, "a"], - [6343, 0, "v"], - [6344, 0, "e"], - [6345, 0, " "], - [6346, 0, "i"], - [6347, 0, "n"], - [6348, 0, "t"], - [6349, 0, "e"], - [6350, 0, "r"], - [6351, 0, "m"], - [6352, 0, "i"], - [6353, 0, "t"], - [6354, 0, "t"], - [6355, 0, "e"], - [6356, 0, "n"], - [6357, 0, "t"], - [6358, 0, " "], - [6359, 0, "n"], - [6360, 0, "e"], - [6361, 0, "t"], - [6362, 0, "w"], - [6363, 0, "o"], - [6364, 0, "r"], - [6365, 0, "k"], - [6366, 0, " "], - [6367, 0, "c"], - [6368, 0, "o"], - [6369, 0, "n"], - [6370, 0, "n"], - [6371, 0, "e"], - [6372, 0, "c"], - [6373, 0, "t"], - [6374, 0, "i"], - [6375, 0, "v"], - [6376, 0, "i"], - [6377, 0, "t"], - [6378, 0, "y"], - [6380, 0, " "], - [6381, 0, "O"], - [6382, 0, "u"], - [6383, 0, "r"], - [6384, 0, " "], - [6385, 0, "m"], - [6386, 0, "o"], - [6387, 0, "d"], - [6388, 0, "e"], - [6389, 0, "l"], - [6390, 0, " "], - [6391, 0, "a"], - [6392, 0, "l"], - [6393, 0, "l"], - [6394, 0, "o"], - [6395, 0, "w"], - [6396, 0, "s"], - [6397, 0, " "], - [6398, 0, "e"], - [6399, 0, "a"], - [6400, 0, "c"], - [6401, 0, "h"], - [6402, 0, " "], - [6403, 0, "r"], - [6404, 0, "e"], - [6405, 0, "p"], - [6405, 1], - [6404, 1], - [6403, 1], - [6403, 0, "d"], - [6404, 0, "e"], - [6405, 0, "v"], - [6406, 0, "i"], - [6407, 0, "c"], - [6408, 0, "e"], - [6409, 0, " "], - [6410, 0, "t"], - [6411, 0, "o"], - [6412, 0, " "], - [6413, 0, "m"], - [6414, 0, "o"], - [6415, 0, "d"], - [6416, 0, "i"], - [6417, 0, "f"], - [6418, 0, "y"], - [6419, 0, " "], - [6420, 0, "i"], - [6421, 0, "t"], - [6422, 0, "s"], - [6423, 0, " "], - [6424, 0, "l"], - [6425, 0, "o"], - [6426, 0, "c"], - [6427, 0, "a"], - [6428, 0, "l"], - [6429, 0, " "], - [6430, 0, "c"], - [6431, 0, "o"], - [6432, 0, "p"], - [6433, 0, "y"], - [6434, 0, " "], - [6434, 1], - [6433, 1], - [6432, 1], - [6431, 1], - [6430, 1], - [6430, 0, "r"], - [6431, 0, "e"], - [6432, 0, "p"], - [6433, 0, "l"], - [6434, 0, "i"], - [6435, 0, "c"], - [6436, 0, "a"], - [6437, 0, " "], - [6438, 0, "o"], - [6439, 0, "f"], - [6440, 0, " "], - [6441, 0, "t"], - [6442, 0, "h"], - [6443, 0, "e"], - [6444, 0, " "], - [6445, 0, "d"], - [6446, 0, "o"], - [6447, 0, "c"], - [6448, 0, "u"], - [6449, 0, "m"], - [6450, 0, "e"], - [6451, 0, "n"], - [6452, 0, "t"], - [6453, 0, ","], - [6454, 0, " "], - [6455, 0, "a"], - [6456, 0, "n"], - [6457, 0, "d"], - [6458, 0, " "], - [6459, 0, "t"], - [6460, 0, "o"], - [6461, 0, " "], - [6462, 0, "a"], - [6463, 0, "s"], - [6464, 0, "y"], - [6465, 0, "n"], - [6466, 0, "c"], - [6467, 0, "h"], - [6468, 0, "r"], - [6469, 0, "o"], - [6470, 0, "n"], - [6471, 0, "o"], - [6472, 0, "u"], - [6473, 0, "s"], - [6474, 0, "l"], - [6475, 0, "y"], - [6476, 0, " "], - [6477, 0, "p"], - [6478, 0, "r"], - [6479, 0, "o"], - [6480, 0, "p"], - [6481, 0, "a"], - [6482, 0, "g"], - [6483, 0, "a"], - [6484, 0, "t"], - [6485, 0, "e"], - [6486, 0, " "], - [6487, 0, "t"], - [6488, 0, "h"], - [6489, 0, "o"], - [6490, 0, "s"], - [6491, 0, "e"], - [6492, 0, " "], - [6493, 0, "e"], - [6494, 0, "d"], - [6495, 0, "i"], - [6496, 0, "t"], - [6497, 0, "s"], - [6498, 0, " "], - [6499, 0, "t"], - [6500, 0, "o"], - [6501, 0, " "], - [6502, 0, "o"], - [6503, 0, "t"], - [6504, 0, "h"], - [6505, 0, "e"], - [6506, 0, "r"], - [6507, 0, " "], - [6508, 0, "r"], - [6509, 0, "e"], - [6510, 0, "p"], - [6511, 0, "l"], - [6512, 0, "i"], - [6513, 0, "c"], - [6514, 0, "a"], - [6515, 0, "s"], - [6516, 0, "."], - [6517, 0, "\n"], - [6518, 0, "\n"], - [6519, 0, "W"], - [6520, 0, "e"], - [6521, 0, " "], - [6521, 1], - [6520, 1], - [6519, 1], - [6519, 0, "O"], - [6520, 0, "u"], - [6521, 0, "r"], - [6522, 0, " "], - [6523, 0, "o"], - [6524, 0, "n"], - [6525, 0, "l"], - [6526, 0, "y"], - [6527, 0, " "], - [6528, 0, "r"], - [6529, 0, "e"], - [6530, 0, "q"], - [6531, 0, "u"], - [6532, 0, "i"], - [6533, 0, "r"], - [6534, 0, "e"], - [6535, 0, "m"], - [6536, 0, "e"], - [6537, 0, "n"], - [6538, 0, "t"], - [6539, 0, " "], - [6540, 0, "o"], - [6541, 0, "f"], - [6542, 0, " "], - [6543, 0, "t"], - [6544, 0, "h"], - [6545, 0, "e"], - [6546, 0, " "], - [6547, 0, "n"], - [6548, 0, "e"], - [6549, 0, "t"], - [6550, 0, "w"], - [6551, 0, "o"], - [6552, 0, "r"], - [6553, 0, "k"], - [6554, 0, " "], - [6555, 0, "i"], - [6556, 0, "s"], - [6557, 0, " "], - [6558, 0, "t"], - [6559, 0, "h"], - [6560, 0, "e"], - [6561, 0, " "], - [6562, 0, "l"], - [6563, 0, "i"], - [6564, 0, "v"], - [6565, 0, "e"], - [6566, 0, "n"], - [6567, 0, "e"], - [6568, 0, "s"], - [6569, 0, "s"], - [6570, 0, " "], - [6571, 0, "c"], - [6572, 0, "o"], - [6573, 0, "n"], - [6574, 0, "d"], - [6575, 0, "i"], - [6576, 0, "t"], - [6577, 0, "i"], - [6578, 0, "o"], - [6579, 0, "n"], - [6580, 0, " "], - [6581, 0, "t"], - [6582, 0, "h"], - [6583, 0, "a"], - [6584, 0, "t"], - [6585, 0, " "], - [6586, 0, "m"], - [6587, 0, "e"], - [6588, 0, "s"], - [6589, 0, "s"], - [6590, 0, "a"], - [6591, 0, "g"], - [6592, 0, "e"], - [6593, 0, "s"], - [6594, 0, " "], - [6595, 0, "a"], - [6596, 0, "r"], - [6597, 0, "e"], - [6598, 0, " "], - [6599, 0, "e"], - [6600, 0, "v"], - [6601, 0, "e"], - [6602, 0, "n"], - [6603, 0, "t"], - [6604, 0, "u"], - [6605, 0, "a"], - [6606, 0, "l"], - [6607, 0, "l"], - [6608, 0, "y"], - [6609, 0, " "], - [6610, 0, "d"], - [6611, 0, "e"], - [6612, 0, "l"], - [6613, 0, "i"], - [6614, 0, "e"], - [6615, 0, "v"], - [6616, 0, "e"], - [6616, 1], - [6615, 1], - [6614, 1], - [6614, 0, "v"], - [6615, 0, "e"], - [6616, 0, "r"], - [6617, 0, "e"], - [6618, 0, "d"], - [6580, 1], - [6579, 1], - [6578, 1], - [6577, 1], - [6576, 1], - [6575, 1], - [6574, 1], - [6573, 1], - [6572, 1], - [6571, 1], - [6570, 1], - [6569, 1], - [6568, 1], - [6567, 1], - [6566, 1], - [6565, 1], - [6564, 1], - [6563, 1], - [6562, 1], - [6561, 1], - [6560, 1], - [6559, 1], - [6558, 1], - [6596, 0, ","], - [6597, 0, " "], - [6598, 0, "a"], - [6599, 0, " "], - [6600, 0, "l"], - [6601, 0, "i"], - [6602, 0, "v"], - [6603, 0, "e"], - [6604, 0, "n"], - [6605, 0, "e"], - [6606, 0, "s"], - [6607, 0, "s"], - [6608, 0, " "], - [6609, 0, "c"], - [6610, 0, "o"], - [6611, 0, "n"], - [6612, 0, "d"], - [6613, 0, "i"], - [6614, 0, "t"], - [6615, 0, "i"], - [6616, 0, "o"], - [6617, 0, "n"], - [6618, 0, "."], - [6619, 0, " "], - [6619, 1], - [6618, 1], - [6617, 1], - [6616, 1], - [6615, 1], - [6614, 1], - [6613, 1], - [6612, 1], - [6611, 1], - [6610, 1], - [6609, 1], - [6608, 1], - [6607, 1], - [6606, 1], - [6605, 1], - [6604, 1], - [6603, 1], - [6602, 1], - [6601, 1], - [6600, 1], - [6599, 1], - [6598, 1], - [6598, 0, "i"], - [6599, 0, "f"], - [6600, 0, " "], - [6601, 0, "n"], - [6602, 0, "e"], - [6603, 0, "c"], - [6604, 0, "e"], - [6605, 0, "s"], - [6606, 0, "s"], - [6607, 0, "a"], - [6608, 0, "r"], - [6609, 0, "y"], - [6610, 0, " "], - [6611, 0, "b"], - [6612, 0, "y"], - [6613, 0, " "], - [6614, 0, "r"], - [6615, 0, "e"], - [6616, 0, "t"], - [6617, 0, "r"], - [6618, 0, "y"], - [6619, 0, "i"], - [6620, 0, "n"], - [6621, 0, "g"], - [6622, 0, " "], - [6623, 0, "i"], - [6624, 0, "f"], - [6625, 0, " "], - [6626, 0, "n"], - [6627, 0, "e"], - [6628, 0, "c"], - [6629, 0, "e"], - [6630, 0, "s"], - [6631, 0, "s"], - [6632, 0, "a"], - [6633, 0, "r"], - [6634, 0, "y"], - [6635, 0, "."], - [6636, 0, "/"], - [6636, 1], - [6613, 1], - [6612, 1], - [6611, 1], - [6610, 1], - [6609, 1], - [6608, 1], - [6607, 1], - [6606, 1], - [6605, 1], - [6604, 1], - [6603, 1], - [6602, 1], - [6601, 1], - [6600, 1], - [6599, 1], - [6598, 1], - [6598, 0, "b"], - [6599, 0, "y"], - [6600, 0, " "], - [6621, 1], - [6620, 1], - [6619, 1], - [6618, 1], - [6617, 1], - [6616, 1], - [6615, 1], - [6614, 1], - [6613, 1], - [6613, 0, "d"], - [6614, 0, "e"], - [6615, 0, "l"], - [6616, 0, "i"], - [6617, 0, "v"], - [6618, 0, "e"], - [6619, 0, "r"], - [6620, 0, "y"], - [6621, 0, " "], - [6622, 0, "f"], - [6623, 0, "a"], - [6624, 0, "i"], - [6625, 0, "l"], - [6626, 0, "s"], - [6628, 0, " "], - [6629, 0, "W"], - [6630, 0, "e"], - [6631, 0, " "], - [6632, 0, "m"], - [6633, 0, "a"], - [6634, 0, "k"], - [6635, 0, "e"], - [6636, 0, " "], - [6637, 0, "n"], - [6638, 0, "o"], - [6639, 0, " "], - [6640, 0, "a"], - [6641, 0, "s"], - [6642, 0, "s"], - [6643, 0, "u"], - [6644, 0, "m"], - [6645, 0, "p"], - [6646, 0, "t"], - [6647, 0, "i"], - [6648, 0, "o"], - [6649, 0, "n"], - [6650, 0, "s"], - [6651, 0, " "], - [6652, 0, "a"], - [6653, 0, "b"], - [6654, 0, "o"], - [6655, 0, "u"], - [6655, 1], - [6654, 1], - [6653, 1], - [6652, 1], - [6651, 1], - [6650, 1], - [6649, 1], - [6648, 1], - [6647, 1], - [6646, 1], - [6645, 1], - [6644, 1], - [6643, 1], - [6642, 1], - [6641, 1], - [6640, 1], - [6639, 1], - [6638, 1], - [6637, 1], - [6636, 1], - [6635, 1], - [6634, 1], - [6633, 1], - [6632, 1], - [6631, 1], - [6630, 1], - [6629, 1], - [6629, 0, "T"], - [6630, 0, "h"], - [6631, 0, "e"], - [6632, 0, " "], - [6633, 0, "n"], - [6634, 0, "e"], - [6635, 0, "t"], - [6636, 0, "w"], - [6637, 0, "o"], - [6638, 0, "r"], - [6639, 0, "k"], - [6640, 0, " "], - [6641, 0, "i"], - [6642, 0, "s"], - [6643, 0, " "], - [6644, 0, "a"], - [6645, 0, "l"], - [6646, 0, "l"], - [6647, 0, "o"], - [6648, 0, "w"], - [6649, 0, "e"], - [6650, 0, "d"], - [6651, 0, " "], - [6652, 0, "t"], - [6653, 0, "o"], - [6654, 0, " "], - [6655, 0, "a"], - [6656, 0, "r"], - [6657, 0, "b"], - [6658, 0, "i"], - [6659, 0, "t"], - [6660, 0, "r"], - [6661, 0, "a"], - [6662, 0, "r"], - [6663, 0, "i"], - [6664, 0, "l"], - [6665, 0, "y"], - [6666, 0, " "], - [6667, 0, "r"], - [6668, 0, "e"], - [6669, 0, "-"], - [6670, 0, "o"], - [6671, 0, "r"], - [6671, 1], - [6670, 1], - [6669, 1], - [6669, 0, "o"], - [6670, 0, "r"], - [6671, 0, "d"], - [6672, 0, "e"], - [6673, 0, "r"], - [6674, 0, " "], - [6675, 0, "o"], - [6676, 0, "r"], - [6677, 0, " "], - [6678, 0, "d"], - [6679, 0, "u"], - [6680, 0, "p"], - [6681, 0, "l"], - [6682, 0, "i"], - [6683, 0, "c"], - [6684, 0, "a"], - [6685, 0, "t"], - [6686, 0, "e"], - [6687, 0, " "], - [6688, 0, "m"], - [6689, 0, "e"], - [6690, 0, "s"], - [6691, 0, "s"], - [6692, 0, "a"], - [6693, 0, "g"], - [6694, 0, "e"], - [6695, 0, "s"], - [6696, 0, "."], - [6697, 0, " "], - [6698, 0, "W"], - [6699, 0, "e"], - [6700, 0, " "], - [6700, 1], - [6699, 1], - [6698, 1], - [6698, 0, "O"], - [6699, 0, "u"], - [6700, 0, "r"], - [6701, 0, " "], - [6702, 0, "a"], - [6703, 0, "l"], - [6704, 0, "g"], - [6705, 0, "o"], - [6706, 0, "r"], - [6707, 0, "i"], - [6708, 0, "t"], - [6709, 0, "h"], - [6710, 0, "m"], - [6711, 0, " "], - [6712, 0, "p"], - [6713, 0, "e"], - [6714, 0, "r"], - [6715, 0, "f"], - [6716, 0, "o"], - [6717, 0, "r"], - [6718, 0, "m"], - [6719, 0, "s"], - [6720, 0, " "], - [6721, 0, "a"], - [6722, 0, "l"], - [6723, 0, "l"], - [6724, 0, " "], - [6725, 0, "w"], - [6726, 0, "o"], - [6727, 0, "r"], - [6728, 0, "k"], - [6729, 0, " "], - [6730, 0, "o"], - [6731, 0, "n"], - [6732, 0, " "], - [6733, 0, "t"], - [6734, 0, "h"], - [6735, 0, "e"], - [6736, 0, " "], - [6737, 0, "c"], - [6738, 0, "l"], - [6739, 0, "i"], - [6740, 0, "e"], - [6741, 0, "n"], - [6742, 0, "t"], - [6743, 0, "s"], - [6744, 0, " "], - [6745, 0, "a"], - [6746, 0, "n"], - [6747, 0, "d"], - [6748, 0, " "], - [6749, 0, "d"], - [6750, 0, "o"], - [6751, 0, "e"], - [6752, 0, "s"], - [6753, 0, " "], - [6754, 0, "n"], - [6755, 0, "o"], - [6756, 0, "t"], - [6757, 0, " "], - [6758, 0, "d"], - [6759, 0, "e"], - [6760, 0, "p"], - [6761, 0, "e"], - [6762, 0, "n"], - [6763, 0, "d"], - [6764, 0, " "], - [6765, 0, "o"], - [6766, 0, "n"], - [6767, 0, " "], - [6768, 0, "a"], - [6769, 0, "n"], - [6770, 0, "y"], - [6771, 0, " "], - [6772, 0, "s"], - [6773, 0, "e"], - [6774, 0, "r"], - [6775, 0, "v"], - [6776, 0, "e"], - [6777, 0, "r"], - [6778, 0, " "], - [6779, 0, "t"], - [6780, 0, "o"], - [6781, 0, " "], - [6782, 0, "t"], - [6783, 0, "r"], - [6784, 0, "a"], - [6785, 0, "n"], - [6786, 0, "s"], - [6787, 0, "f"], - [6788, 0, "o"], - [6789, 0, "r"], - [6790, 0, "m"], - [6791, 0, " "], - [6792, 0, "o"], - [6793, 0, "r"], - [6794, 0, " "], - [6795, 0, "p"], - [6796, 0, "r"], - [6797, 0, "o"], - [6798, 0, "c"], - [6799, 0, "e"], - [6800, 0, "s"], - [6801, 0, "s"], - [6802, 0, " "], - [6803, 0, "m"], - [6804, 0, "e"], - [6805, 0, "s"], - [6806, 0, "s"], - [6807, 0, "a"], - [6808, 0, "g"], - [6809, 0, "e"], - [6810, 0, "s"], - [6735, 1], - [6734, 1], - [6733, 1], - [6732, 1], - [6731, 1], - [6730, 1], - [6729, 1], - [6728, 1], - [6727, 1], - [6726, 1], - [6725, 1], - [6724, 1], - [6723, 1], - [6722, 1], - [6721, 1], - [6720, 1], - [6719, 1], - [6718, 1], - [6717, 1], - [6716, 1], - [6715, 1], - [6714, 1], - [6713, 1], - [6712, 1], - [6712, 0, "w"], - [6713, 0, "o"], - [6714, 0, "r"], - [6715, 0, "k"], - [6716, 0, "s"], - [6724, 0, "-"], - [6726, 0, "i"], - [6727, 0, "d"], - [6728, 0, "e"], - [6596, 0, " "], - [6597, 0, "t"], - [6598, 0, "o"], - [6599, 0, " "], - [6600, 0, "a"], - [6601, 0, "l"], - [6602, 0, "l"], - [6603, 0, " "], - [6604, 0, "r"], - [6605, 0, "e"], - [6606, 0, "p"], - [6607, 0, "l"], - [6608, 0, "i"], - [6609, 0, "c"], - [6610, 0, "a"], - [6611, 0, "s"], - [6571, 0, " "], - [6572, 0, "s"], - [6573, 0, "e"], - [6574, 0, "n"], - [6575, 0, "t"], - [6576, 0, " "], - [6577, 0, "b"], - [6578, 0, "y"], - [6579, 0, " "], - [6580, 0, "o"], - [6581, 0, "n"], - [6582, 0, "e"], - [6583, 0, " "], - [6584, 0, "r"], - [6585, 0, "e"], - [6586, 0, "p"], - [6587, 0, "l"], - [6588, 0, "i"], - [6589, 0, "c"], - [6590, 0, "a"], - [6623, 0, " "], - [6624, 0, "o"], - [6625, 0, "t"], - [6626, 0, "h"], - [6627, 0, "e"], - [6628, 0, "r"], - [6838, 0, ";"], - [6839, 0, " "], - [6840, 0, "t"], - [6841, 0, "h"], - [6842, 0, "i"], - [6843, 0, "s"], - [6844, 0, " "], - [6845, 0, "a"], - [6846, 0, "p"], - [6847, 0, "p"], - [6848, 0, "r"], - [6849, 0, "o"], - [6850, 0, "a"], - [6851, 0, "c"], - [6852, 0, "h"], - [6853, 0, " "], - [6854, 0, "a"], - [6855, 0, "l"], - [6856, 0, "l"], - [6857, 0, "o"], - [6858, 0, "w"], - [6859, 0, "s"], - [6860, 0, " "], - [6861, 0, "a"], - [6862, 0, " "], - [6863, 0, "p"], - [6864, 0, "e"], - [6865, 0, "e"], - [6866, 0, "r"], - [6867, 0, "-"], - [6868, 0, "t"], - [6869, 0, "o"], - [6870, 0, "-"], - [6871, 0, "p"], - [6872, 0, "e"], - [6873, 0, "e"], - [6874, 0, "r"], - [6875, 0, " "], - [6876, 0, "n"], - [6877, 0, "e"], - [6878, 0, "t"], - [6879, 0, "w"], - [6880, 0, "o"], - [6881, 0, "r"], - [6882, 0, "k"], - [6883, 0, " "], - [6884, 0, "a"], - [6885, 0, "n"], - [6886, 0, "d"], - [6887, 0, " "], - [6888, 0, "a"], - [6889, 0, " "], - [6890, 0, "s"], - [6891, 0, "e"], - [6892, 0, "c"], - [6893, 0, "u"], - [6894, 0, "r"], - [6895, 0, "e"], - [6896, 0, " "], - [6897, 0, "m"], - [6898, 0, "e"], - [6899, 0, "s"], - [6900, 0, "s"], - [6901, 0, "a"], - [6902, 0, "g"], - [6903, 0, "i"], - [6904, 0, "n"], - [6905, 0, "g"], - [6906, 0, " "], - [6907, 0, "p"], - [6908, 0, "r"], - [6909, 0, "o"], - [6910, 0, "t"], - [6911, 0, "o"], - [6912, 0, "c"], - [6913, 0, "o"], - [6914, 0, "l"], - [6915, 0, " "], - [6915, 1], - [6915, 0, "~"], - [6916, 0, "\\"], - [6917, 0, "c"], - [6918, 0, "i"], - [6919, 0, "t"], - [6920, 0, "e"], - [6921, 0, "{"], - [6922, 0, "U"], - [6923, 0, "n"], - [6924, 0, "g"], - [6925, 0, "e"], - [6926, 0, "r"], - [6927, 0, ":"], - [6928, 0, "2"], - [6929, 0, "0"], - [6930, 0, "1"], - [6931, 0, "5"], - [6932, 0, "k"], - [6933, 0, "g"], - [6934, 0, "}"], - [6935, 0, " "], - [6936, 0, "t"], - [6937, 0, "o"], - [6938, 0, " "], - [6939, 0, "b"], - [6940, 0, "e"], - [6941, 0, " "], - [6942, 0, "u"], - [6943, 0, "s"], - [6944, 0, "e"], - [6945, 0, "d"], - [6946, 0, "."], - [6840, 1], - [6839, 1], - [6838, 1], - [6837, 1], - [6837, 0, "s"], - [6838, 0, "."], - [6839, 0, " "], - [6840, 0, "T"], - [6946, 0, ","], - [6947, 0, " "], - [6948, 0, "a"], - [6949, 0, "l"], - [6950, 0, "t"], - [6951, 0, "h"], - [6952, 0, "o"], - [6953, 0, "u"], - [6954, 0, "g"], - [6955, 0, "h"], - [6956, 0, " "], - [6957, 0, "t"], - [6958, 0, "h"], - [6959, 0, "e"], - [6960, 0, " "], - [6961, 0, "d"], - [6962, 0, "e"], - [6963, 0, "t"], - [6964, 0, "a"], - [6965, 0, "i"], - [6966, 0, "l"], - [6967, 0, "s"], - [6968, 0, " "], - [6969, 0, "o"], - [6970, 0, "f"], - [6971, 0, " "], - [6972, 0, "t"], - [6973, 0, "h"], - [6974, 0, "e"], - [6975, 0, " "], - [6976, 0, "n"], - [6977, 0, "e"], - [6978, 0, "t"], - [6979, 0, "w"], - [6980, 0, "o"], - [6981, 0, "r"], - [6982, 0, "k"], - [6983, 0, " "], - [6984, 0, "i"], - [6985, 0, "m"], - [6986, 0, "p"], - [6987, 0, "l"], - [6988, 0, "e"], - [6989, 0, "m"], - [6990, 0, "e"], - [6991, 0, "n"], - [6992, 0, "t"], - [6993, 0, "a"], - [6994, 0, "t"], - [6995, 0, "i"], - [6996, 0, "o"], - [6997, 0, "n"], - [6998, 0, " "], - [6999, 0, "a"], - [7000, 0, "n"], - [7001, 0, "d"], - [7002, 0, " "], - [7003, 0, "a"], - [7004, 0, "n"], - [7005, 0, "y"], - [7006, 0, " "], - [7007, 0, "c"], - [7008, 0, "r"], - [7009, 0, "y"], - [7010, 0, "p"], - [7011, 0, "t"], - [7012, 0, "o"], - [7013, 0, "g"], - [7014, 0, "r"], - [7015, 0, "a"], - [7016, 0, "p"], - [7017, 0, "h"], - [7018, 0, "i"], - [7019, 0, "c"], - [7020, 0, " "], - [7021, 0, "p"], - [7022, 0, "r"], - [7023, 0, "o"], - [7024, 0, "t"], - [7025, 0, "o"], - [7026, 0, "c"], - [7027, 0, "o"], - [7028, 0, "l"], - [7029, 0, "s"], - [7030, 0, " "], - [7031, 0, "a"], - [7032, 0, "r"], - [7033, 0, "e"], - [7034, 0, " "], - [7035, 0, "o"], - [7036, 0, "u"], - [7037, 0, "t"], - [7038, 0, "s"], - [7039, 0, "i"], - [7040, 0, "d"], - [7041, 0, "e"], - [7042, 0, " "], - [7043, 0, "o"], - [7044, 0, "f"], - [7045, 0, " "], - [7046, 0, "t"], - [7047, 0, "h"], - [7048, 0, "e"], - [7049, 0, " "], - [7050, 0, "s"], - [7051, 0, "c"], - [7052, 0, "o"], - [7053, 0, "p"], - [7054, 0, "e"], - [7055, 0, " "], - [7056, 0, "o"], - [7057, 0, "f"], - [7058, 0, " "], - [7059, 0, "t"], - [7060, 0, "h"], - [7061, 0, "i"], - [7062, 0, "s"], - [7063, 0, " "], - [7064, 0, "p"], - [7065, 0, "a"], - [7066, 0, "p"], - [7067, 0, "e"], - [7068, 0, "r"], - [6915, 0, " "], - [6916, 0, "w"], - [6917, 0, "i"], - [6918, 0, "t"], - [6919, 0, "h"], - [6920, 0, " "], - [6921, 0, "e"], - [6922, 0, "n"], - [6923, 0, "d"], - [6924, 0, "-"], - [6925, 0, "t"], - [6926, 0, "o"], - [6927, 0, "-"], - [6928, 0, "e"], - [6929, 0, "n"], - [6930, 0, "d"], - [6931, 0, " "], - [6932, 0, "e"], - [6933, 0, "n"], - [6934, 0, "c"], - [6935, 0, "r"], - [6936, 0, "y"], - [6937, 0, "p"], - [6938, 0, "t"], - [6939, 0, "i"], - [6940, 0, "o"], - [6941, 0, "n"], - [7099, 0, " "], - [7099, 0, "W"], - [7100, 0, "h"], - [7101, 0, "e"], - [7102, 0, "n"], - [7103, 0, " "], - [7104, 0, "t"], - [7105, 0, "h"], - [7106, 0, "e"], - [7107, 0, " "], - [7108, 0, "J"], - [7109, 0, "S"], - [7110, 0, "O"], - [7111, 0, "N"], - [7112, 0, " "], - [7113, 0, "d"], - [7114, 0, "o"], - [7115, 0, "c"], - [7116, 0, "u"], - [7117, 0, "m"], - [7118, 0, "e"], - [7119, 0, "n"], - [7120, 0, "t"], - [7121, 0, " "], - [7122, 0, "i"], - [7123, 0, "s"], - [7124, 0, " "], - [7125, 0, "c"], - [7126, 0, "o"], - [7127, 0, "n"], - [7128, 0, "c"], - [7129, 0, "u"], - [7130, 0, "r"], - [7131, 0, "r"], - [7132, 0, "e"], - [7133, 0, "n"], - [7134, 0, "t"], - [7135, 0, "l"], - [7136, 0, "y"], - [7137, 0, " "], - [7138, 0, "m"], - [7139, 0, "o"], - [7140, 0, "d"], - [7141, 0, "i"], - [7142, 0, "f"], - [7143, 0, "i"], - [7144, 0, "e"], - [7145, 0, "d"], - [7146, 0, " "], - [7147, 0, "o"], - [7148, 0, "n"], - [7149, 0, " "], - [7150, 0, "d"], - [7151, 0, "i"], - [7152, 0, "f"], - [7153, 0, "f"], - [7154, 0, "e"], - [7155, 0, "r"], - [7156, 0, "e"], - [7157, 0, "n"], - [7158, 0, "t"], - [7159, 0, " "], - [7160, 0, "d"], - [7161, 0, "e"], - [7162, 0, "v"], - [7163, 0, "i"], - [7164, 0, "c"], - [7165, 0, "e"], - [7166, 0, "s"], - [7167, 0, ","], - [7168, 0, " "], - [7169, 0, "w"], - [7170, 0, "e"], - [7171, 0, " "], - [28766, 0, "\\"], - [28767, 0, "l"], - [28768, 0, "a"], - [28769, 0, "b"], - [28770, 0, "e"], - [28771, 0, "l"], - [28772, 0, "{"], - [28773, 0, "s"], - [28774, 0, "e"], - [28775, 0, "c"], - [28776, 0, ":"], - [28777, 0, "s"], - [28778, 0, "e"], - [28779, 0, "m"], - [28780, 0, "a"], - [28781, 0, "n"], - [28782, 0, "t"], - [28783, 0, "i"], - [28784, 0, "c"], - [28785, 0, "s"], - [28786, 0, "}"], - [7099, 0, " "], - [7099, 0, "I"], - [7100, 0, "n"], - [7101, 0, " "], - [7102, 0, "s"], - [7103, 0, "e"], - [7104, 0, "c"], - [7105, 0, "t"], - [7106, 0, "i"], - [7107, 0, "o"], - [7108, 0, "n"], - [7109, 0, "~"], - [7110, 0, "\\"], - [7111, 0, "r"], - [7112, 0, "e"], - [7113, 0, "f"], - [7114, 0, "{"], - [7115, 0, "s"], - [7116, 0, "e"], - [7117, 0, "c"], - [7118, 0, ":"], - [7119, 0, "s"], - [7120, 0, "e"], - [7121, 0, "m"], - [7122, 0, "a"], - [7123, 0, "n"], - [7124, 0, "t"], - [7125, 0, "i"], - [7126, 0, "c"], - [7127, 0, "s"], - [7128, 0, "}"], - [7129, 0, " "], - [7130, 0, "w"], - [7131, 0, "e"], - [7132, 0, " "], - [7133, 0, "p"], - [7134, 0, "r"], - [7135, 0, "o"], - [7135, 1], - [7134, 1], - [7133, 1], - [7133, 0, "g"], - [7134, 0, "i"], - [7135, 0, "v"], - [7136, 0, "e"], - [7137, 0, " "], - [7138, 0, "f"], - [7139, 0, "o"], - [7140, 0, "r"], - [7141, 0, "m"], - [7142, 0, "a"], - [7143, 0, "l"], - [7144, 0, " "], - [7145, 0, "s"], - [7146, 0, "e"], - [7147, 0, "m"], - [7148, 0, "a"], - [7149, 0, "n"], - [7150, 0, "t"], - [7151, 0, "i"], - [7152, 0, "c"], - [7153, 0, "s"], - [7154, 0, " "], - [7155, 0, "t"], - [7156, 0, "h"], - [7157, 0, "a"], - [7158, 0, "t"], - [7159, 0, " "], - [7160, 0, "d"], - [7161, 0, "e"], - [7162, 0, "s"], - [7163, 0, "c"], - [7164, 0, "r"], - [7165, 0, "i"], - [7166, 0, "b"], - [7167, 0, "e"], - [7168, 0, "s"], - [7169, 0, " "], - [7170, 0, "h"], - [7171, 0, "o"], - [7172, 0, "w"], - [7173, 0, " "], - [7174, 0, "c"], - [7175, 0, "o"], - [7176, 0, "n"], - [7177, 0, "f"], - [7178, 0, "l"], - [7179, 0, "i"], - [7180, 0, "c"], - [7181, 0, "t"], - [7182, 0, "s"], - [7183, 0, " "], - [7184, 0, "a"], - [7185, 0, "r"], - [7186, 0, "e"], - [7187, 0, " "], - [7188, 0, "r"], - [7189, 0, "e"], - [7190, 0, "s"], - [7191, 0, "o"], - [7192, 0, "l"], - [7193, 0, "v"], - [7194, 0, "e"], - [7195, 0, "d"], - [7197, 1], - [7197, 0, "w"], - [7202, 1], - [7202, 1], - [7202, 1], - [7202, 0, "a"], - [7267, 1], - [7266, 1], - [7265, 1], - [7264, 1], - [7263, 1], - [7263, 0, "."], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 1], - [7509, 0, "\\"], - [7510, 0, "s"], - [7511, 0, "u"], - [7512, 0, "b"], - [7513, 0, "s"], - [7514, 0, "e"], - [7515, 0, "c"], - [7516, 0, "t"], - [7517, 0, "i"], - [7518, 0, "o"], - [7519, 0, "n"], - [7520, 0, "{"], - [7521, 0, "O"], - [7522, 0, "u"], - [7523, 0, "r"], - [7524, 0, " "], - [7525, 0, "c"], - [7526, 0, "o"], - [7527, 0, "n"], - [7528, 0, "t"], - [7529, 0, "r"], - [7530, 0, "i"], - [7531, 0, "b"], - [7532, 0, "u"], - [7533, 0, "t"], - [7534, 0, "i"], - [7535, 0, "o"], - [7536, 0, "n"], - [7537, 0, "s"], - [7538, 0, "}"], - [7564, 0, "\\"], - [7565, 0, "a"], - [7566, 0, "b"], - [7567, 0, "l"], - [7568, 0, "e"], - [7568, 1], - [7567, 1], - [7566, 1], - [7565, 1], - [7565, 0, "l"], - [7566, 0, "a"], - [7567, 0, "b"], - [7568, 0, "e"], - [7569, 0, "l"], - [7570, 0, "{"], - [7571, 0, "s"], - [7572, 0, "e"], - [7573, 0, "c"], - [7574, 0, ":"], - [7575, 0, "r"], - [7576, 0, "e"], - [7577, 0, "l"], - [7578, 0, "a"], - [7579, 0, "t"], - [7580, 0, "e"], - [7581, 0, "d"], - [7582, 0, "}"], - [7540, 0, "\n"], - [7541, 0, "O"], - [7542, 0, "u"], - [7543, 0, "r"], - [7544, 0, " "], - [7545, 0, "m"], - [7546, 0, "a"], - [7547, 0, "i"], - [7548, 0, "n"], - [7549, 0, " "], - [7550, 0, "c"], - [7551, 0, "o"], - [7552, 0, "n"], - [7553, 0, "t"], - [7554, 0, "r"], - [7555, 0, "i"], - [7556, 0, "b"], - [7557, 0, "u"], - [7558, 0, "t"], - [7559, 0, "i"], - [7560, 0, "o"], - [7561, 0, "n"], - [7562, 0, " "], - [7563, 0, "i"], - [7564, 0, "n"], - [7565, 0, " "], - [7566, 0, "t"], - [7567, 0, "h"], - [7568, 0, "i"], - [7569, 0, "s"], - [7570, 0, " "], - [7571, 0, "w"], - [7572, 0, "o"], - [7573, 0, "r"], - [7574, 0, "k"], - [7575, 0, " "], - [7576, 0, "i"], - [7577, 0, "s"], - [7578, 0, " "], - [7579, 0, "t"], - [7580, 0, "o"], - [7581, 0, " "], - [7582, 0, "d"], - [7583, 0, "e"], - [7584, 0, "f"], - [7585, 0, "i"], - [7586, 0, "n"], - [7587, 0, "e"], - [7588, 0, " "], - [7589, 0, "a"], - [7590, 0, "n"], - [7591, 0, " "], - [7592, 0, "a"], - [7593, 0, "l"], - [7594, 0, "g"], - [7595, 0, "o"], - [7596, 0, "r"], - [7597, 0, "i"], - [7598, 0, "t"], - [7599, 0, "h"], - [7600, 0, "m"], - [7601, 0, " "], - [7602, 0, "a"], - [7603, 0, "n"], - [7604, 0, "d"], - [7605, 0, " "], - [7606, 0, "f"], - [7607, 0, "o"], - [7607, 1], - [7607, 0, "o"], - [7608, 0, "r"], - [7609, 0, "m"], - [7610, 0, "a"], - [7611, 0, "l"], - [7612, 0, " "], - [7613, 0, "s"], - [7614, 0, "e"], - [7615, 0, "m"], - [7616, 0, "a"], - [7617, 0, "n"], - [7618, 0, "t"], - [7619, 0, "i"], - [7620, 0, "c"], - [7621, 0, "s"], - [7622, 0, " "], - [7623, 0, "f"], - [7624, 0, "o"], - [7625, 0, "r"], - [7626, 0, " "], - [7627, 0, "c"], - [7628, 0, "o"], - [7629, 0, "l"], - [7630, 0, "l"], - [7631, 0, "a"], - [7632, 0, "b"], - [7633, 0, "o"], - [7634, 0, "r"], - [7635, 0, "a"], - [7636, 0, "t"], - [7637, 0, "i"], - [7638, 0, "v"], - [7639, 0, "e"], - [7640, 0, ","], - [7641, 0, " "], - [7642, 0, "c"], - [7643, 0, "o"], - [7644, 0, "n"], - [7645, 0, "c"], - [7646, 0, "u"], - [7647, 0, "r"], - [7648, 0, "r"], - [7649, 0, "e"], - [7650, 0, "n"], - [7651, 0, "t"], - [7652, 0, " "], - [7653, 0, "e"], - [7654, 0, "d"], - [7655, 0, "i"], - [7656, 0, "t"], - [7657, 0, "i"], - [7658, 0, "n"], - [7659, 0, "g"], - [7660, 0, " "], - [7661, 0, "o"], - [7662, 0, "f"], - [7663, 0, " "], - [7664, 0, "J"], - [7665, 0, "S"], - [7666, 0, "O"], - [7667, 0, "N"], - [7668, 0, " "], - [7669, 0, "d"], - [7670, 0, "a"], - [7671, 0, "t"], - [7672, 0, "a"], - [7673, 0, " "], - [7674, 0, "s"], - [7675, 0, "t"], - [7676, 0, "r"], - [7677, 0, "u"], - [7678, 0, "c"], - [7679, 0, "t"], - [7680, 0, "u"], - [7681, 0, "r"], - [7682, 0, "e"], - [7683, 0, "s"], - [7684, 0, " "], - [7685, 0, "w"], - [7686, 0, "i"], - [7687, 0, "t"], - [7688, 0, "h"], - [7689, 0, " "], - [7690, 0, "a"], - [7691, 0, "u"], - [7692, 0, "t"], - [7693, 0, "o"], - [7694, 0, "m"], - [7695, 0, "a"], - [7696, 0, "t"], - [7697, 0, "i"], - [7698, 0, "c"], - [7699, 0, " "], - [7700, 0, "c"], - [7701, 0, "o"], - [7702, 0, "n"], - [7703, 0, "f"], - [7704, 0, "l"], - [7705, 0, "i"], - [7706, 0, "c"], - [7707, 0, "t"], - [7708, 0, " "], - [7709, 0, "r"], - [7710, 0, "e"], - [7711, 0, "s"], - [7712, 0, "o"], - [7713, 0, "l"], - [7714, 0, "u"], - [7715, 0, "t"], - [7716, 0, "i"], - [7717, 0, "o"], - [7718, 0, "n"], - [7719, 0, "."], - [7720, 0, " "], - [7721, 0, "A"], - [7722, 0, "l"], - [7723, 0, "t"], - [7724, 0, "h"], - [7725, 0, "o"], - [7726, 0, "u"], - [7727, 0, "g"], - [7728, 0, "h"], - [7729, 0, " "], - [7730, 0, "s"], - [7731, 0, "i"], - [7732, 0, "m"], - [7733, 0, "i"], - [7734, 0, "l"], - [7735, 0, "a"], - [7736, 0, "r"], - [7737, 0, " "], - [7738, 0, "a"], - [7739, 0, "l"], - [7740, 0, "g"], - [7741, 0, "o"], - [7742, 0, "r"], - [7743, 0, "i"], - [7744, 0, "t"], - [7745, 0, "h"], - [7746, 0, "m"], - [7747, 0, "s"], - [7748, 0, " "], - [7749, 0, "h"], - [7750, 0, "a"], - [7751, 0, "v"], - [7752, 0, "e"], - [7753, 0, " "], - [7754, 0, "p"], - [7755, 0, "r"], - [7756, 0, "e"], - [7757, 0, "v"], - [7758, 0, "i"], - [7759, 0, "o"], - [7760, 0, "u"], - [7761, 0, "s"], - [7762, 0, "l"], - [7763, 0, "y"], - [7764, 0, " "], - [7765, 0, "b"], - [7766, 0, "e"], - [7767, 0, "e"], - [7768, 0, "n"], - [7769, 0, " "], - [7770, 0, "d"], - [7771, 0, "e"], - [7772, 0, "f"], - [7773, 0, "i"], - [7774, 0, "n"], - [7775, 0, "e"], - [7776, 0, "d"], - [7777, 0, " "], - [7778, 0, "f"], - [7779, 0, "o"], - [7780, 0, "r"], - [7781, 0, " "], - [7782, 0, "l"], - [7783, 0, "i"], - [7784, 0, "s"], - [7785, 0, "t"], - [7786, 0, "s"], - [7787, 0, ","], - [7788, 0, " "], - [7789, 0, "m"], - [7790, 0, "a"], - [7791, 0, "p"], - [7792, 0, "s"], - [7793, 0, " "], - [7794, 0, "a"], - [7795, 0, "n"], - [7796, 0, "d"], - [7797, 0, " "], - [7798, 0, "r"], - [7799, 0, "e"], - [7800, 0, "g"], - [7801, 0, "i"], - [7802, 0, "s"], - [7803, 0, "t"], - [7804, 0, "e"], - [7805, 0, "r"], - [7806, 0, "s"], - [7807, 0, " "], - [7808, 0, "i"], - [7809, 0, "n"], - [7810, 0, "d"], - [7811, 0, "i"], - [7812, 0, "v"], - [7813, 0, "i"], - [7814, 0, "d"], - [7815, 0, "u"], - [7816, 0, "a"], - [7817, 0, "l"], - [7818, 0, "l"], - [7819, 0, "y"], - [7820, 0, ","], - [7821, 0, " "], - [7822, 0, "t"], - [7823, 0, "o"], - [7824, 0, " "], - [7825, 0, "o"], - [7826, 0, "u"], - [7827, 0, "r"], - [7828, 0, " "], - [7829, 0, "k"], - [7830, 0, "n"], - [7831, 0, "o"], - [7832, 0, "w"], - [7833, 0, "l"], - [7834, 0, "e"], - [7835, 0, "d"], - [7836, 0, "g"], - [7837, 0, "e"], - [7838, 0, " "], - [7839, 0, "t"], - [7840, 0, "h"], - [7841, 0, "i"], - [7842, 0, "s"], - [7843, 0, " "], - [7844, 0, "p"], - [7845, 0, "a"], - [7846, 0, "p"], - [7847, 0, "e"], - [7848, 0, "r"], - [7849, 0, " "], - [7850, 0, "i"], - [7851, 0, "s"], - [7852, 0, " "], - [7853, 0, "t"], - [7854, 0, "h"], - [7855, 0, "e"], - [7856, 0, " "], - [7857, 0, "f"], - [7858, 0, "i"], - [7859, 0, "r"], - [7860, 0, "s"], - [7861, 0, "t"], - [7862, 0, " "], - [7863, 0, "t"], - [7864, 0, "o"], - [7865, 0, " "], - [7866, 0, "i"], - [7867, 0, "n"], - [7868, 0, "t"], - [7869, 0, "e"], - [7870, 0, "g"], - [7871, 0, "r"], - [7872, 0, "a"], - [7873, 0, "t"], - [7874, 0, "e"], - [7875, 0, " "], - [7876, 0, "a"], - [7877, 0, "l"], - [7878, 0, "l"], - [7879, 0, " "], - [7880, 0, "o"], - [7881, 0, "f"], - [7882, 0, " "], - [7883, 0, "t"], - [7884, 0, "h"], - [7885, 0, "e"], - [7886, 0, "s"], - [7887, 0, "e"], - [7888, 0, " "], - [7889, 0, "s"], - [7890, 0, "t"], - [7891, 0, "r"], - [7892, 0, "u"], - [7893, 0, "c"], - [7894, 0, "t"], - [7895, 0, "u"], - [7896, 0, "r"], - [7897, 0, "e"], - [7898, 0, "s"], - [7899, 0, " "], - [7900, 0, "i"], - [7901, 0, "n"], - [7902, 0, "t"], - [7903, 0, "o"], - [7904, 0, " "], - [7905, 0, "a"], - [7906, 0, "n"], - [7907, 0, " "], - [7908, 0, "a"], - [7909, 0, "r"], - [7910, 0, "b"], - [7911, 0, "i"], - [7912, 0, "t"], - [7913, 0, "r"], - [7914, 0, "a"], - [7915, 0, "r"], - [7916, 0, "i"], - [7917, 0, "l"], - [7918, 0, "y"], - [7919, 0, " "], - [7920, 0, "c"], - [7921, 0, "o"], - [7922, 0, "m"], - [7923, 0, "p"], - [7924, 0, "o"], - [7925, 0, "s"], - [7926, 0, "a"], - [7927, 0, "b"], - [7928, 0, "l"], - [7929, 0, "e"], - [7930, 0, " "], - [7931, 0, "d"], - [7932, 0, "a"], - [7933, 0, "t"], - [7934, 0, "a"], - [7935, 0, "t"], - [7936, 0, "y"], - [7937, 0, "p"], - [7938, 0, "e"], - [7939, 0, "."], - [7820, 0, " "], - [7821, 0, "("], - [7822, 0, "s"], - [7823, 0, "e"], - [7824, 0, "e"], - [7825, 0, " "], - [7826, 0, "s"], - [7827, 0, "e"], - [7828, 0, "c"], - [7829, 0, "t"], - [7830, 0, "i"], - [7831, 0, "o"], - [7832, 0, "n"], - [7833, 0, "~"], - [7834, 0, "\\"], - [7835, 0, "r"], - [7836, 0, "e"], - [7837, 0, "f"], - [7838, 0, "{"], - [7839, 0, "s"], - [7840, 0, "e"], - [7841, 0, "c"], - [7842, 0, ":"], - [7843, 0, "r"], - [7844, 0, "e"], - [7845, 0, "l"], - [7846, 0, "a"], - [7847, 0, "t"], - [7848, 0, "e"], - [7849, 0, "d"], - [7850, 0, "}"], - [7851, 0, ")"], - [7972, 0, "\n"], - [7973, 0, "\n"], - [7974, 0, "C"], - [7975, 0, "o"], - [7976, 0, "m"], - [7977, 0, "p"], - [7978, 0, "o"], - [7979, 0, "s"], - [7980, 0, "i"], - [7981, 0, "n"], - [7982, 0, "g"], - [7983, 0, " "], - [7984, 0, "m"], - [7985, 0, "a"], - [7986, 0, "p"], - [7987, 0, "s"], - [7988, 0, " "], - [7989, 0, "a"], - [7990, 0, "n"], - [7991, 0, "d"], - [7992, 0, " "], - [7993, 0, "l"], - [7994, 0, "i"], - [7995, 0, "s"], - [7996, 0, "t"], - [7997, 0, "s"], - [7998, 0, " "], - [7999, 0, "i"], - [8000, 0, "n"], - [8001, 0, "t"], - [8002, 0, "o"], - [8003, 0, " "], - [8004, 0, "a"], - [8005, 0, "r"], - [8006, 0, "b"], - [8007, 0, "i"], - [8008, 0, "t"], - [8009, 0, "r"], - [8010, 0, "a"], - [8011, 0, "r"], - [8012, 0, "i"], - [8013, 0, "l"], - [8014, 0, "y"], - [8015, 0, " "], - [8016, 0, "n"], - [8017, 0, "e"], - [8018, 0, "s"], - [8019, 0, "t"], - [8020, 0, "e"], - [8021, 0, "d"], - [8022, 0, " "], - [8023, 0, "s"], - [8024, 0, "t"], - [8025, 0, "r"], - [8026, 0, "u"], - [8027, 0, "c"], - [8028, 0, "t"], - [8029, 0, "u"], - [8030, 0, "r"], - [8031, 0, "e"], - [8032, 0, "s"], - [8033, 0, " "], - [8034, 0, "o"], - [8035, 0, "p"], - [8036, 0, "e"], - [8037, 0, "n"], - [8038, 0, "s"], - [8039, 0, " "], - [8040, 0, "u"], - [8041, 0, "p"], - [8042, 0, " "], - [8043, 0, "s"], - [8044, 0, "u"], - [8045, 0, "b"], - [8046, 0, "t"], - [8047, 0, "l"], - [8048, 0, "e"], - [8049, 0, " "], - [8050, 0, "c"], - [8051, 0, "h"], - [8052, 0, "a"], - [8053, 0, "l"], - [8054, 0, "l"], - [8055, 0, "e"], - [8056, 0, "n"], - [8057, 0, "g"], - [8058, 0, "e"], - [8059, 0, "s"], - [8060, 0, " "], - [8061, 0, "t"], - [8062, 0, "h"], - [8063, 0, "a"], - [8064, 0, "t"], - [8065, 0, " "], - [8066, 0, "d"], - [8067, 0, "o"], - [8068, 0, " "], - [8069, 0, "n"], - [8070, 0, "o"], - [8071, 0, "t"], - [8072, 0, " "], - [8073, 0, "a"], - [8074, 0, "r"], - [8075, 0, "i"], - [8076, 0, "s"], - [8077, 0, "e"], - [8078, 0, " "], - [8079, 0, "i"], - [8080, 0, "n"], - [8081, 0, " "], - [8082, 0, "f"], - [8083, 0, "l"], - [8084, 0, "a"], - [8085, 0, "t"], - [8086, 0, " "], - [8087, 0, "s"], - [8088, 0, "t"], - [8089, 0, "r"], - [8090, 0, "u"], - [8091, 0, "c"], - [8092, 0, "t"], - [8093, 0, "u"], - [8094, 0, "r"], - [8095, 0, "e"], - [8096, 0, "s"], - [8097, 0, ","], - [8098, 0, " "], - [8099, 0, "d"], - [8100, 0, "u"], - [8101, 0, "e"], - [8102, 0, " "], - [8103, 0, "t"], - [8104, 0, "o"], - [8105, 0, " "], - [8106, 0, "t"], - [8107, 0, "h"], - [8108, 0, "e"], - [8109, 0, " "], - [8110, 0, "p"], - [8111, 0, "o"], - [8112, 0, "s"], - [8113, 0, "s"], - [8114, 0, "i"], - [8115, 0, "b"], - [8116, 0, "i"], - [8117, 0, "l"], - [8118, 0, "i"], - [8119, 0, "t"], - [8120, 0, "y"], - [8121, 0, " "], - [8122, 0, "o"], - [8123, 0, "f"], - [8124, 0, " "], - [8125, 0, "e"], - [8126, 0, "d"], - [8127, 0, "i"], - [8128, 0, "t"], - [8125, 0, "c"], - [8126, 0, "o"], - [8127, 0, "n"], - [8128, 0, "c"], - [8129, 0, "u"], - [8130, 0, "r"], - [8131, 0, "r"], - [8132, 0, "e"], - [8133, 0, "n"], - [8134, 0, "t"], - [8135, 0, " "], - [8140, 0, "s"], - [8141, 0, " "], - [8142, 0, "a"], - [8143, 0, "t"], - [8144, 0, " "], - [8145, 0, "d"], - [8146, 0, "i"], - [8147, 0, "f"], - [8148, 0, "f"], - [8149, 0, "e"], - [8150, 0, "r"], - [8151, 0, "e"], - [8152, 0, "n"], - [8153, 0, "t"], - [8154, 0, " "], - [8155, 0, "l"], - [8156, 0, "e"], - [8157, 0, "v"], - [8158, 0, "e"], - [8159, 0, "l"], - [8160, 0, "s"], - [8161, 0, " "], - [8162, 0, "o"], - [8163, 0, "f"], - [8164, 0, " "], - [8165, 0, "t"], - [8166, 0, "h"], - [8167, 0, "e"], - [8168, 0, " "], - [8169, 0, "t"], - [8170, 0, "r"], - [8171, 0, "e"], - [8172, 0, "e"], - [8173, 0, "."], - [8174, 0, " "], - [8175, 0, "W"], - [8176, 0, "e"], - [8177, 0, " "], - [8178, 0, "i"], - [8179, 0, "l"], - [8180, 0, "l"], - [8181, 0, "u"], - [8182, 0, "s"], - [8183, 0, "t"], - [8184, 0, "r"], - [8185, 0, "a"], - [8186, 0, "t"], - [8187, 0, "e"], - [8188, 0, " "], - [8189, 0, "s"], - [8190, 0, "o"], - [8191, 0, "m"], - [8192, 0, "e"], - [8193, 0, " "], - [8194, 0, "o"], - [8195, 0, "f"], - [8196, 0, " "], - [8197, 0, "t"], - [8198, 0, "h"], - [8199, 0, "o"], - [8200, 0, "s"], - [8201, 0, "e"], - [8202, 0, " "], - [8203, 0, "c"], - [8204, 0, "h"], - [8205, 0, "a"], - [8206, 0, "l"], - [8207, 0, "l"], - [8208, 0, "e"], - [8209, 0, "n"], - [8210, 0, "g"], - [8211, 0, "e"], - [8212, 0, "s"], - [8213, 0, " "], - [8214, 0, "b"], - [8215, 0, "y"], - [8216, 0, " "], - [8217, 0, "e"], - [8218, 0, "x"], - [8219, 0, "a"], - [8220, 0, "m"], - [8221, 0, "p"], - [8222, 0, "l"], - [8223, 0, "e"], - [8224, 0, " "], - [8225, 0, "i"], - [8226, 0, "n"], - [8227, 0, " "], - [8228, 0, "s"], - [8229, 0, "e"], - [8230, 0, "c"], - [8231, 0, "t"], - [8232, 0, "i"], - [8233, 0, "o"], - [8234, 0, "n"], - [8235, 0, "~"], - [8236, 0, "\\"], - [8237, 0, "r"], - [8238, 0, "e"], - [8239, 0, "f"], - [8240, 0, "{"], - [8241, 0, "s"], - [8242, 0, "e"], - [8243, 0, "c"], - [8244, 0, ":"], - [8245, 0, "e"], - [8246, 0, "x"], - [8247, 0, "a"], - [8248, 0, "m"], - [8249, 0, "p"], - [8250, 0, "l"], - [8251, 0, "e"], - [8252, 0, "s"], - [8253, 0, "}"], - [8254, 0, "."], - [8255, 0, " "], - [8256, 0, "O"], - [8257, 0, "n"], - [8258, 0, " "], - [8259, 0, "t"], - [8260, 0, "h"], - [8261, 0, "e"], - [8262, 0, " "], - [8263, 0, "o"], - [8264, 0, "t"], - [8265, 0, "h"], - [8266, 0, "e"], - [8267, 0, "r"], - [8268, 0, " "], - [8269, 0, "h"], - [8270, 0, "a"], - [8271, 0, "n"], - [8272, 0, "d"], - [8273, 0, ","], - [8274, 0, " "], - [8275, 0, "n"], - [8276, 0, "e"], - [8277, 0, "s"], - [8278, 0, "t"], - [8279, 0, "e"], - [8280, 0, "d"], - [8281, 0, " "], - [8282, 0, "s"], - [8283, 0, "t"], - [8284, 0, "r"], - [8285, 0, "u"], - [8286, 0, "c"], - [8287, 0, "t"], - [8288, 0, "u"], - [8289, 0, "r"], - [8290, 0, "e"], - [8291, 0, "s"], - [8292, 0, " "], - [8293, 0, "a"], - [8294, 0, "r"], - [8295, 0, "e"], - [8296, 0, " "], - [8297, 0, "a"], - [8298, 0, "n"], - [8299, 0, " "], - [8300, 0, "i"], - [8301, 0, "m"], - [8302, 0, "p"], - [8303, 0, "o"], - [8304, 0, "r"], - [8305, 0, "t"], - [8306, 0, "a"], - [8307, 0, "n"], - [8308, 0, "t"], - [8309, 0, " "], - [8310, 0, "r"], - [8311, 0, "e"], - [8312, 0, "q"], - [8313, 0, "u"], - [8314, 0, "i"], - [8315, 0, "r"], - [8316, 0, "e"], - [8317, 0, "m"], - [8318, 0, "e"], - [8319, 0, "n"], - [8320, 0, "t"], - [8321, 0, " "], - [8322, 0, "f"], - [8323, 0, "o"], - [8324, 0, "r"], - [8325, 0, " "], - [8326, 0, "m"], - [8327, 0, "a"], - [8328, 0, "n"], - [8329, 0, "y"], - [8330, 0, " "], - [8331, 0, "a"], - [8332, 0, "p"], - [8333, 0, "p"], - [8334, 0, "l"], - [8335, 0, "i"], - [8336, 0, "c"], - [8337, 0, "a"], - [8338, 0, "t"], - [8339, 0, "i"], - [8340, 0, "o"], - [8341, 0, "n"], - [8342, 0, "s"], - [8343, 0, ";"], - [8344, 0, " "], - [8345, 0, "b"], - [8346, 0, "y"], - [8347, 0, " "], - [8348, 0, "p"], - [8349, 0, "r"], - [8350, 0, "o"], - [8351, 0, "v"], - [8352, 0, "i"], - [8353, 0, "d"], - [8354, 0, "i"], - [8355, 0, "n"], - [8356, 0, "g"], - [8357, 0, " "], - [8358, 0, "a"], - [8359, 0, "n"], - [8360, 0, " "], - [8361, 0, "a"], - [8362, 0, "l"], - [8363, 0, "g"], - [8364, 0, "o"], - [8365, 0, "r"], - [8366, 0, "i"], - [8367, 0, "t"], - [8368, 0, "h"], - [8369, 0, "m"], - [8370, 0, " "], - [8371, 0, "t"], - [8372, 0, "h"], - [8373, 0, "a"], - [8374, 0, "t"], - [8375, 0, " "], - [6413, 0, "o"], - [6414, 0, "p"], - [6415, 0, "t"], - [6416, 0, "i"], - [6417, 0, "m"], - [6418, 0, "i"], - [6419, 0, "s"], - [6420, 0, "t"], - [6421, 0, "i"], - [6422, 0, "c"], - [6423, 0, "a"], - [6424, 0, "l"], - [6425, 0, "l"], - [6426, 0, "y"], - [6427, 0, " "], - [6532, 0, " "], - [6532, 1], - [8391, 0, "h"], - [8392, 0, "a"], - [8393, 0, "n"], - [8394, 0, "d"], - [8395, 0, "l"], - [8396, 0, "e"], - [8397, 0, "s"], - [8398, 0, " "], - [8399, 0, "c"], - [8400, 0, "o"], - [8401, 0, "n"], - [8402, 0, "f"], - [8403, 0, "l"], - [8404, 0, "i"], - [8405, 0, "c"], - [8406, 0, "t"], - [8407, 0, " "], - [8408, 0, "r"], - [8409, 0, "e"], - [8410, 0, "s"], - [8411, 0, "o"], - [8412, 0, "l"], - [8413, 0, "u"], - [8414, 0, "t"], - [8415, 0, "i"], - [8416, 0, "o"], - [8417, 0, "n"], - [8418, 0, " "], - [8419, 0, "o"], - [8420, 0, "n"], - [8421, 0, " "], - [8422, 0, "s"], - [8423, 0, "u"], - [8424, 0, "c"], - [8425, 0, "h"], - [8426, 0, " "], - [8427, 0, "s"], - [8428, 0, "t"], - [8429, 0, "r"], - [8430, 0, "u"], - [8431, 0, "c"], - [8432, 0, "t"], - [8433, 0, "u"], - [8434, 0, "r"], - [8435, 0, "e"], - [8436, 0, "s"], - [8437, 0, ","], - [8438, 0, " "], - [8439, 0, "w"], - [8440, 0, "e"], - [8441, 0, " "], - [8442, 0, "h"], - [8443, 0, "o"], - [8444, 0, "p"], - [8445, 0, "e"], - [8446, 0, " "], - [8447, 0, "t"], - [8448, 0, "o"], - [8449, 0, " "], - [8450, 0, "s"], - [8451, 0, "i"], - [8452, 0, "m"], - [8453, 0, "p"], - [8454, 0, "l"], - [8455, 0, "i"], - [8456, 0, "f"], - [8457, 0, "y"], - [8458, 0, " "], - [8459, 0, "t"], - [8460, 0, "h"], - [8461, 0, "e"], - [8462, 0, " "], - [8463, 0, "t"], - [8464, 0, "h"], - [8465, 0, "e"], - [8466, 0, " "], - [8467, 0, "d"], - [8468, 0, "e"], - [8469, 0, "v"], - [8470, 0, "e"], - [8471, 0, "l"], - [8472, 0, "o"], - [8473, 0, "p"], - [8474, 0, "m"], - [8475, 0, "e"], - [8476, 0, "n"], - [8477, 0, "t"], - [8478, 0, " "], - [8479, 0, "o"], - [8480, 0, "f"], - [8481, 0, " "], - [8482, 0, "a"], - [8483, 0, "p"], - [8484, 0, "p"], - [8485, 0, "l"], - [8486, 0, "i"], - [8487, 0, "c"], - [8488, 0, "a"], - [8489, 0, "t"], - [8490, 0, "i"], - [8491, 0, "o"], - [8492, 0, "n"], - [8493, 0, "s"], - [8494, 0, " "], - [8495, 0, "t"], - [8496, 0, "h"], - [8497, 0, "a"], - [8498, 0, "t"], - [8499, 0, " "], - [8500, 0, "u"], - [8501, 0, "s"], - [8502, 0, "e"], - [8503, 0, " "], - [8504, 0, "o"], - [8505, 0, "p"], - [8506, 0, "t"], - [8507, 0, "i"], - [8508, 0, "m"], - [8509, 0, "i"], - [8510, 0, "s"], - [8511, 0, "t"], - [8512, 0, "i"], - [8513, 0, "c"], - [8514, 0, " "], - [8515, 0, "r"], - [8516, 0, "e"], - [8517, 0, "p"], - [8518, 0, "l"], - [8519, 0, "i"], - [8520, 0, "c"], - [8521, 0, "a"], - [8522, 0, "t"], - [8523, 0, "i"], - [8524, 0, "o"], - [8525, 0, "n"], - [8526, 0, "."], - [8570, 0, "\n"], - [8571, 0, "\n"], - [8572, 0, "I"], - [8573, 0, "n"], - [8574, 0, " "], - [8575, 0, "t"], - [8576, 0, "h"], - [8577, 0, "i"], - [8578, 0, "s"], - [8579, 0, " "], - [8580, 0, "s"], - [8581, 0, "e"], - [8582, 0, "c"], - [8583, 0, "t"], - [8584, 0, "i"], - [8585, 0, "o"], - [8586, 0, "n"], - [8587, 0, " "], - [8588, 0, "w"], - [8589, 0, "e"], - [8590, 0, " "], - [8591, 0, "d"], - [8592, 0, "i"], - [8593, 0, "s"], - [8594, 0, "c"], - [8595, 0, "u"], - [8596, 0, "s"], - [8597, 0, "s"], - [8598, 0, " "], - [8599, 0, "e"], - [8600, 0, "x"], - [8601, 0, "i"], - [8602, 0, "s"], - [8603, 0, "t"], - [8604, 0, "i"], - [8605, 0, "n"], - [8606, 0, "g"], - [8607, 0, " "], - [8608, 0, "a"], - [8609, 0, "p"], - [8610, 0, "p"], - [8611, 0, "r"], - [8612, 0, "o"], - [8613, 0, "a"], - [8614, 0, "c"], - [8615, 0, "h"], - [8616, 0, "e"], - [8617, 0, "s"], - [8618, 0, " "], - [8619, 0, "t"], - [8620, 0, "o"], - [8621, 0, " "], - [8622, 0, "o"], - [8623, 0, "p"], - [8624, 0, "t"], - [8625, 0, "i"], - [8626, 0, "m"], - [8627, 0, "i"], - [8628, 0, "s"], - [8629, 0, "t"], - [8630, 0, "i"], - [8631, 0, "c"], - [8632, 0, " "], - [8633, 0, "r"], - [8634, 0, "e"], - [8635, 0, "p"], - [8636, 0, "l"], - [8637, 0, "i"], - [8638, 0, "c"], - [8639, 0, "a"], - [8640, 0, "t"], - [8641, 0, "i"], - [8642, 0, "o"], - [8643, 0, "n"], - [8644, 0, ","], - [8645, 0, " "], - [8646, 0, "c"], - [8647, 0, "o"], - [8648, 0, "l"], - [8649, 0, "l"], - [8650, 0, "a"], - [8651, 0, "b"], - [8652, 0, "o"], - [8653, 0, "r"], - [8654, 0, "a"], - [8655, 0, "t"], - [8656, 0, "i"], - [8657, 0, "v"], - [8658, 0, "e"], - [8659, 0, " "], - [8660, 0, "e"], - [8661, 0, "d"], - [8662, 0, "i"], - [8663, 0, "t"], - [8664, 0, "i"], - [8665, 0, "n"], - [8666, 0, "g"], - [8667, 0, " "], - [8668, 0, "a"], - [8669, 0, "n"], - [8670, 0, "d"], - [8671, 0, " "], - [8672, 0, "c"], - [8673, 0, "o"], - [8674, 0, "n"], - [8675, 0, "f"], - [8676, 0, "l"], - [8677, 0, "i"], - [8678, 0, "c"], - [8679, 0, "t"], - [8680, 0, " "], - [8681, 0, "r"], - [8682, 0, "e"], - [8683, 0, "s"], - [8684, 0, "o"], - [8685, 0, "l"], - [8686, 0, "u"], - [8687, 0, "t"], - [8688, 0, "i"], - [8689, 0, "o"], - [8690, 0, "n"], - [8691, 0, "."], - [9324, 0, " "], - [9325, 0, "("], - [9326, 0, "s"], - [9327, 0, "e"], - [9328, 0, "e"], - [9329, 0, " "], - [9330, 0, "s"], - [9331, 0, "e"], - [9332, 0, "c"], - [9333, 0, "t"], - [9334, 0, "i"], - [9335, 0, "o"], - [9336, 0, "n"], - [9337, 0, "~"], - [9338, 0, "\\"], - [9339, 0, "r"], - [9340, 0, "e"], - [9341, 0, "f"], - [9342, 0, "{"], - [9343, 0, "s"], - [9344, 0, "e"], - [9345, 0, "c"], - [9346, 0, ":"], - [9347, 0, "j"], - [9348, 0, "s"], - [9349, 0, "o"], - [9350, 0, "n"], - [9351, 0, "-"], - [9352, 0, "x"], - [9353, 0, "m"], - [9354, 0, "l"], - [9355, 0, "}"], - [9356, 0, ")"], - [6380, 0, " "], - [6381, 0, "W"], - [6382, 0, "e"], - [6383, 0, " "], - [6384, 0, "d"], - [6385, 0, "o"], - [6386, 0, " "], - [6387, 0, "n"], - [6388, 0, "o"], - [6389, 0, "t"], - [6390, 0, " "], - [6391, 0, "d"], - [6392, 0, "i"], - [6393, 0, "s"], - [6394, 0, "t"], - [6395, 0, "i"], - [6396, 0, "n"], - [6397, 0, "g"], - [6398, 0, "u"], - [6399, 0, "i"], - [6400, 0, "s"], - [6401, 0, "h"], - [6402, 0, " "], - [6403, 0, "b"], - [6404, 0, "e"], - [6405, 0, "t"], - [6406, 0, "w"], - [6407, 0, "e"], - [6408, 0, "e"], - [6409, 0, "n"], - [6410, 0, " "], - [6411, 0, "d"], - [6412, 0, "e"], - [6413, 0, "v"], - [6414, 0, "i"], - [6415, 0, "c"], - [6416, 0, "e"], - [6417, 0, "s"], - [6418, 0, " "], - [6419, 0, "o"], - [6420, 0, "w"], - [6421, 0, "n"], - [6422, 0, "e"], - [6423, 0, "d"], - [6424, 0, " "], - [6425, 0, "b"], - [6426, 0, "y"], - [6427, 0, " "], - [6428, 0, "t"], - [6429, 0, "h"], - [6430, 0, "e"], - [6431, 0, " "], - [6432, 0, "s"], - [6433, 0, "a"], - [6434, 0, "m"], - [6435, 0, "e"], - [6436, 0, " "], - [6437, 0, "u"], - [6438, 0, "s"], - [6439, 0, "e"], - [6440, 0, "r"], - [6441, 0, " "], - [6442, 0, "a"], - [6443, 0, "n"], - [6444, 0, "d"], - [6445, 0, " "], - [6446, 0, "d"], - [6447, 0, "i"], - [6448, 0, "f"], - [6449, 0, "f"], - [6450, 0, "e"], - [6451, 0, "r"], - [6452, 0, "e"], - [6453, 0, "n"], - [6454, 0, "t"], - [6455, 0, " "], - [6456, 0, "u"], - [6457, 0, "s"], - [6458, 0, "e"], - [6459, 0, "r"], - [6460, 0, "s"], - [6461, 0, "."], - [4766, 0, "W"], - [4767, 0, "e"], - [4768, 0, " "], - [4769, 0, "t"], - [4770, 0, "r"], - [4771, 0, "e"], - [4772, 0, "a"], - [4773, 0, "t"], - [4774, 0, " "], - [4775, 1], - [4775, 0, "k"], - [4780, 1], - [4780, 1], - [4780, 1], - [4780, 0, "a"], - [4781, 0, "s"], - [4807, 1], - [4806, 1], - [4806, 0, "s"], - [6843, 1], - [6843, 0, "\n"], - [6844, 0, "\n"], - [6965, 0, " "], - [6966, 0, "m"], - [6967, 0, "e"], - [6968, 0, "s"], - [6969, 0, "s"], - [6970, 0, "a"], - [6971, 0, "g"], - [6972, 0, "e"], - [6973, 0, "s"], - [6974, 0, " "], - [6975, 0, "t"], - [6976, 0, "o"], - [6977, 0, " "], - [6978, 0, "b"], - [6979, 0, "e"], - [6980, 0, " "], - [6981, 0, "d"], - [6982, 0, "e"], - [6983, 0, "l"], - [6984, 0, "i"], - [6985, 0, "v"], - [6986, 0, "e"], - [6987, 0, "r"], - [6988, 0, "e"], - [6989, 0, "d"], - [6990, 0, " "], - [6991, 0, "v"], - [6992, 0, "i"], - [6993, 0, "a"], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7096, 1], - [7153, 1], - [7153, 1], - [7153, 1], - [7153, 1], - [7409, 1], - [7408, 1], - [7408, 0, "h"], - [7409, 0, "r"], - [7410, 0, "e"], - [7411, 0, "e"], - [7612, 0, "\n"], - [7613, 0, "\\"], - [7614, 0, "i"], - [7615, 0, "t"], - [7616, 0, "e"], - [7617, 0, "m"], - [7618, 0, " "], - [7619, 0, "I"], - [7620, 0, "f"], - [7621, 0, " "], - [7622, 0, "a"], - [7622, 1], - [7621, 1], - [7620, 1], - [7619, 1], - [7619, 0, "F"], - [7620, 0, "o"], - [7621, 0, "r"], - [7622, 0, " "], - [7623, 0, "s"], - [7624, 0, "o"], - [7625, 0, "m"], - [7626, 0, "e"], - [7627, 0, " "], - [7628, 0, "s"], - [7629, 0, "e"], - [7630, 0, "t"], - [7631, 0, " "], - [7631, 1], - [7630, 1], - [7629, 1], - [7628, 1], - [7627, 1], - [7626, 1], - [7625, 1], - [7624, 1], - [7623, 1], - [7622, 1], - [7621, 1], - [7620, 1], - [7619, 1], - [7619, 0, "I"], - [7620, 0, "f"], - [7621, 0, " "], - [7622, 0, "a"], - [7623, 0, "l"], - [7624, 0, "l"], - [7625, 0, " "], - [7626, 0, "s"], - [7627, 0, "e"], - [7628, 0, "q"], - [7629, 0, "u"], - [7630, 0, "e"], - [7631, 0, "n"], - [7632, 0, "t"], - [7633, 0, "i"], - [7634, 0, "a"], - [7635, 0, "l"], - [7636, 0, " "], - [7637, 0, "p"], - [7638, 0, "e"], - [7639, 0, "r"], - [7640, 0, "m"], - [7641, 0, "u"], - [7642, 0, "t"], - [7643, 0, "a"], - [7644, 0, "t"], - [7645, 0, "i"], - [7646, 0, "o"], - [7647, 0, "n"], - [7648, 0, "s"], - [7649, 0, " "], - [7650, 0, "o"], - [7651, 0, "f"], - [7652, 0, " "], - [7653, 0, "u"], - [7654, 0, "p"], - [7655, 0, "d"], - [7656, 0, "a"], - [7657, 0, "t"], - [7658, 0, "e"], - [7659, 0, "s"], - [7660, 0, " "], - [7661, 0, "l"], - [7662, 0, "e"], - [7663, 0, "a"], - [7664, 0, "d"], - [7665, 0, " "], - [7666, 0, "t"], - [7667, 0, "o"], - [7668, 0, " "], - [7669, 0, "t"], - [7670, 0, "h"], - [7671, 0, "e"], - [7672, 0, " "], - [7673, 0, "s"], - [7674, 0, "a"], - [7675, 0, "m"], - [7676, 0, "e"], - [7677, 0, " "], - [7678, 0, "s"], - [7679, 0, "t"], - [7680, 0, "a"], - [7681, 0, "t"], - [7682, 0, "e"], - [7683, 0, ","], - [7684, 0, " "], - [7685, 0, "t"], - [7686, 0, "h"], - [7687, 0, "e"], - [7688, 0, "n"], - [7689, 0, " "], - [7690, 0, "c"], - [7691, 0, "o"], - [7692, 0, "n"], - [7693, 0, "c"], - [7694, 0, "u"], - [7695, 0, "r"], - [7696, 0, "r"], - [7697, 0, "e"], - [7698, 0, "n"], - [7699, 0, "t"], - [7700, 0, " "], - [7701, 0, "e"], - [7702, 0, "x"], - [7703, 0, "e"], - [7704, 0, "c"], - [7705, 0, "u"], - [7706, 0, "t"], - [7707, 0, "i"], - [7708, 0, "o"], - [7709, 0, "n"], - [7710, 0, " "], - [7711, 0, "o"], - [7712, 0, "f"], - [7713, 0, " "], - [7714, 0, "t"], - [7715, 0, "h"], - [7716, 0, "o"], - [7717, 0, "s"], - [7718, 0, "e"], - [7719, 0, " "], - [7720, 0, "u"], - [7721, 0, "p"], - [7722, 0, "d"], - [7723, 0, "a"], - [7724, 0, "t"], - [7725, 0, "e"], - [7726, 0, "s"], - [7727, 0, " "], - [7728, 0, "a"], - [7729, 0, "l"], - [7730, 0, "s"], - [7731, 0, "o"], - [7732, 0, " "], - [7733, 0, "l"], - [7734, 0, "e"], - [7735, 0, "a"], - [7736, 0, "d"], - [7737, 0, "s"], - [7738, 0, " "], - [7739, 0, "t"], - [7740, 0, "o"], - [7741, 0, " "], - [7742, 0, "t"], - [7743, 0, "h"], - [7744, 0, "e"], - [7745, 0, " "], - [7746, 0, "s"], - [7747, 0, "a"], - [7748, 0, "m"], - [7749, 0, "e"], - [7750, 0, " "], - [7751, 0, "s"], - [7752, 0, "t"], - [7753, 0, "a"], - [7754, 0, "t"], - [7755, 0, "e"], - [7756, 0, "~"], - [7757, 0, "\\"], - [7758, 0, "c"], - [7759, 0, "i"], - [7760, 0, "t"], - [7761, 0, "e"], - [7762, 0, "{"], - [7763, 0, "B"], - [7764, 0, "i"], - [7765, 0, "e"], - [7766, 0, "n"], - [7767, 0, "i"], - [7768, 0, "u"], - [7769, 0, "s"], - [7770, 0, "a"], - [7771, 0, ":"], - [7772, 0, "2"], - [7773, 0, "0"], - [7774, 0, "1"], - [7775, 0, "2"], - [7776, 0, "g"], - [7777, 0, "t"], - [7778, 0, "}"], - [7779, 0, "."], - [7257, 0, "a"], - [7258, 0, " "], - [11431, 0, "\n"], - [11432, 0, "C"], - [11433, 0, "o"], - [11434, 0, "n"], - [11435, 0, "f"], - [11436, 0, "l"], - [11437, 0, "i"], - [11438, 0, "c"], - [11439, 0, "t"], - [11440, 0, "-"], - [11441, 0, "f"], - [11442, 0, "r"], - [11443, 0, "e"], - [11444, 0, "e"], - [11445, 0, " "], - [11446, 0, "r"], - [11447, 0, "e"], - [11448, 0, "p"], - [11449, 0, "l"], - [11450, 0, "i"], - [11451, 0, "c"], - [11452, 0, "a"], - [11453, 0, "t"], - [11454, 0, "e"], - [11455, 0, "d"], - [11456, 0, " "], - [11457, 0, "d"], - [11458, 0, "a"], - [11459, 0, "t"], - [11460, 0, "a"], - [11461, 0, "t"], - [11462, 0, "y"], - [11463, 0, "p"], - [11464, 0, "e"], - [11465, 0, "s"], - [11466, 0, " "], - [11467, 0, "a"], - [11468, 0, "r"], - [11469, 0, "e"], - [11470, 0, " "], - [11471, 0, "a"], - [11472, 0, " "], - [11473, 0, "f"], - [11474, 0, "a"], - [11475, 0, "m"], - [11476, 0, "i"], - [11477, 0, "l"], - [11478, 0, "y"], - [11479, 0, " "], - [11480, 0, "o"], - [11481, 0, "f"], - [11482, 0, " "], - [11483, 0, "d"], - [11484, 0, "a"], - [11485, 0, "t"], - [11486, 0, "a"], - [11487, 0, " "], - [11488, 0, "s"], - [11489, 0, "t"], - [11490, 0, "r"], - [11491, 0, "u"], - [11492, 0, "c"], - [11493, 0, "t"], - [11494, 0, "u"], - [11495, 0, "r"], - [11496, 0, "e"], - [11497, 0, "s"], - [11498, 0, " "], - [11499, 0, "\n"], - [11467, 0, "("], - [11468, 0, "C"], - [11469, 0, "R"], - [11470, 0, "D"], - [11471, 0, "T"], - [11472, 0, ")"], - [11473, 0, " "], - [11472, 0, "s"], - [11507, 0, "t"], - [11508, 0, "h"], - [11509, 0, "a"], - [11510, 0, "t"], - [11511, 0, " "], - [11512, 0, "c"], - [11513, 0, "a"], - [11514, 0, "n"], - [11515, 0, " "], - [11516, 0, "b"], - [11517, 0, "e"], - [11518, 0, " "], - [11519, 0, "c"], - [11520, 0, "o"], - [11521, 0, "n"], - [11522, 0, "c"], - [11523, 0, "u"], - [11524, 0, "r"], - [11525, 0, "r"], - [11526, 0, "e"], - [11527, 0, "n"], - [11528, 0, "t"], - [11529, 0, "l"], - [11530, 0, "y"], - [11531, 0, " "], - [11532, 0, "m"], - [11533, 0, "o"], - [11534, 0, "d"], - [11535, 0, "i"], - [11536, 0, "f"], - [11537, 0, "i"], - [11538, 0, "e"], - [11539, 0, "d"], - [11540, 0, " "], - [11541, 0, "a"], - [11542, 0, "n"], - [11543, 0, "d"], - [11544, 0, " "], - [11545, 0, "t"], - [11546, 0, "h"], - [11547, 0, "a"], - [11548, 0, "t"], - [11549, 0, " "], - [11550, 0, "g"], - [11551, 0, "u"], - [11552, 0, "a"], - [11553, 0, "r"], - [11554, 0, "a"], - [11555, 0, "n"], - [11556, 0, "t"], - [11557, 0, "e"], - [11558, 0, "e"], - [11559, 0, " "], - [11560, 0, "c"], - [11561, 0, "o"], - [11562, 0, "n"], - [11563, 0, "v"], - [11564, 0, "e"], - [11565, 0, "r"], - [11566, 0, "g"], - [11567, 0, "e"], - [11568, 0, "n"], - [11569, 0, "c"], - [11570, 0, "e"], - [11571, 0, " "], - [11572, 0, "o"], - [11573, 0, "f"], - [11574, 0, " "], - [11575, 0, "s"], - [11576, 0, "u"], - [11577, 0, "c"], - [11578, 0, "h"], - [11579, 0, " "], - [11580, 0, "c"], - [11581, 0, "o"], - [11582, 0, "n"], - [11583, 0, "c"], - [11584, 0, "u"], - [11585, 0, "r"], - [11586, 0, "r"], - [11587, 0, "e"], - [11588, 0, "n"], - [11589, 0, "t"], - [11590, 0, " "], - [11591, 0, "u"], - [11592, 0, "p"], - [11593, 0, "d"], - [11594, 0, "a"], - [11595, 0, "t"], - [11596, 0, "e"], - [11597, 0, "s"], - [11598, 0, "."], - [11599, 0, " "], - [11600, 0, "T"], - [11601, 0, "h"], - [11602, 0, "e"], - [11603, 0, "y"], - [11604, 0, " "], - [11605, 0, "w"], - [11606, 0, "o"], - [11607, 0, "r"], - [11608, 0, "k"], - [11609, 0, " "], - [11610, 0, "b"], - [11611, 0, "y"], - [11612, 0, " "], - [11613, 0, "a"], - [11614, 0, "t"], - [11615, 0, "t"], - [11616, 0, "a"], - [11617, 0, "c"], - [11618, 0, "h"], - [11619, 0, "i"], - [11620, 0, "n"], - [11621, 0, "g"], - [11622, 0, " "], - [11623, 0, "a"], - [11624, 0, "d"], - [11625, 0, "d"], - [11626, 0, "i"], - [11627, 0, "t"], - [11628, 0, "i"], - [11629, 0, "o"], - [11630, 0, "n"], - [11631, 0, "a"], - [11632, 0, "l"], - [11633, 0, " "], - [11634, 0, "m"], - [11635, 0, "e"], - [11636, 0, "t"], - [11637, 0, "a"], - [11638, 0, "d"], - [11639, 0, "a"], - [11640, 0, "t"], - [11641, 0, "a"], - [11642, 0, " "], - [11643, 0, "t"], - [11644, 0, "o"], - [11645, 0, " "], - [11646, 0, "t"], - [11647, 0, "h"], - [11648, 0, "e"], - [11649, 0, " "], - [11650, 0, "d"], - [11651, 0, "a"], - [11652, 0, "t"], - [11653, 0, "a"], - [11654, 0, " "], - [11655, 0, "s"], - [11656, 0, "t"], - [11657, 0, "r"], - [11658, 0, "u"], - [11659, 0, "c"], - [11660, 0, "t"], - [11661, 0, "u"], - [11662, 0, "r"], - [11663, 0, "e"], - [11664, 0, ","], - [11665, 0, " "], - [11666, 0, "a"], - [11667, 0, "n"], - [11668, 0, "d"], - [11669, 0, " "], - [11670, 0, "m"], - [11671, 0, "a"], - [11672, 0, "k"], - [11673, 0, "i"], - [11674, 0, "n"], - [11675, 0, "g"], - [11676, 0, " "], - [11677, 0, "m"], - [11678, 0, "o"], - [11679, 0, "d"], - [11680, 0, "i"], - [11681, 0, "f"], - [11682, 0, "i"], - [11683, 0, "c"], - [11684, 0, "a"], - [11685, 0, "t"], - [11686, 0, "i"], - [11687, 0, "o"], - [11688, 0, "n"], - [11689, 0, " "], - [11690, 0, "o"], - [11691, 0, "p"], - [11692, 0, "e"], - [11693, 0, "r"], - [11694, 0, "a"], - [11695, 0, "t"], - [11696, 0, "i"], - [11697, 0, "o"], - [11698, 0, "n"], - [11699, 0, "s"], - [11700, 0, " "], - [11701, 0, "c"], - [11702, 0, "o"], - [11703, 0, "m"], - [11704, 0, "m"], - [11705, 0, "u"], - [11706, 0, "t"], - [11707, 0, "a"], - [11708, 0, "t"], - [11709, 0, "i"], - [11710, 0, "v"], - [11711, 0, "e"], - [11712, 0, " "], - [11713, 0, "b"], - [11714, 0, "y"], - [11715, 0, " "], - [11716, 0, "c"], - [11717, 0, "o"], - [11718, 0, "n"], - [11719, 0, "s"], - [11720, 0, "t"], - [11721, 0, "r"], - [11722, 0, "u"], - [11723, 0, "c"], - [11724, 0, "t"], - [11725, 0, "i"], - [11726, 0, "o"], - [11727, 0, "n"], - [11728, 0, "."], - [11599, 0, " "], - [11600, 0, "U"], - [11601, 0, "n"], - [11602, 0, "l"], - [11603, 0, "i"], - [11604, 0, "k"], - [11605, 0, "e"], - [11606, 0, " "], - [11607, 0, "O"], - [11608, 0, "T"], - [11609, 0, ","], - [11610, 0, " "], - [11611, 0, "w"], - [11612, 0, "h"], - [11613, 0, "i"], - [11614, 0, "c"], - [11615, 0, "h"], - [11616, 0, " "], - [11617, 0, "t"], - [11618, 0, "r"], - [11619, 0, "a"], - [11620, 0, "n"], - [11621, 0, "s"], - [11622, 0, "f"], - [11623, 0, "o"], - [11624, 0, "r"], - [11625, 0, "m"], - [11626, 0, "s"], - [11627, 0, " "], - [11628, 0, "o"], - [11629, 0, "p"], - [11630, 0, "e"], - [11631, 0, "r"], - [11632, 0, "a"], - [11633, 0, "t"], - [11634, 0, "i"], - [11635, 0, "o"], - [11636, 0, "n"], - [11637, 0, "s"], - [11638, 0, " "], - [11639, 0, "a"], - [11639, 1], - [11638, 1], - [11637, 1], - [11636, 1], - [11635, 1], - [11634, 1], - [11633, 1], - [11632, 1], - [11631, 1], - [11630, 1], - [11629, 1], - [11628, 1], - [11627, 1], - [11626, 1], - [11625, 1], - [11624, 1], - [11623, 1], - [11622, 1], - [11621, 1], - [11620, 1], - [11619, 1], - [11618, 1], - [11617, 1], - [11616, 1], - [11615, 1], - [11614, 1], - [11613, 1], - [11612, 1], - [11611, 1], - [11610, 1], - [11609, 1], - [11608, 1], - [11607, 1], - [11606, 1], - [11605, 1], - [11604, 1], - [11603, 1], - [11602, 1], - [11601, 1], - [11600, 1], - [11599, 1], - [11729, 0, " "], - [11730, 0, "B"], - [11731, 0, "y"], - [11732, 0, " "], - [11733, 0, "c"], - [11734, 0, "o"], - [11735, 0, "n"], - [11736, 0, "t"], - [11737, 0, "r"], - [11738, 0, "a"], - [11739, 0, "s"], - [11740, 0, "t"], - [11741, 0, ","], - [11742, 0, " "], - [11743, 0, "O"], - [11744, 0, "T"], - [11745, 0, " "], - [11746, 0, "w"], - [11747, 0, "o"], - [11748, 0, "r"], - [11749, 0, "k"], - [11750, 0, "s"], - [11751, 0, " "], - [11752, 0, "b"], - [11753, 0, "y"], - [11754, 0, " "], - [11755, 0, "t"], - [11756, 0, "r"], - [11757, 0, "a"], - [11758, 0, "n"], - [11759, 0, "s"], - [11760, 0, "o"], - [11760, 1], - [11760, 0, "f"], - [11761, 0, "o"], - [11762, 0, "r"], - [11763, 0, "m"], - [11764, 0, "i"], - [11765, 0, "n"], - [11766, 0, "g"], - [11767, 0, " "], - [11768, 0, "n"], - [11769, 0, "o"], - [11770, 0, "n"], - [11771, 0, "-"], - [11772, 0, "c"], - [11773, 0, "o"], - [11774, 0, "m"], - [11775, 0, "m"], - [11776, 0, "u"], - [11777, 0, "t"], - [11778, 0, "a"], - [11779, 0, "t"], - [11780, 0, "i"], - [11781, 0, "v"], - [11782, 0, "e"], - [11783, 0, " "], - [11784, 0, "u"], - [11785, 0, "p"], - [11786, 0, "d"], - [11787, 0, "a"], - [11788, 0, "t"], - [11789, 0, "e"], - [11790, 0, " "], - [11791, 0, "o"], - [11792, 0, "p"], - [11793, 0, "e"], - [11794, 0, "r"], - [11795, 0, "a"], - [11796, 0, "t"], - [11797, 0, "i"], - [11798, 0, "o"], - [11799, 0, "n"], - [11800, 0, "s"], - [11801, 0, " "], - [11801, 1], - [11800, 1], - [11799, 1], - [11798, 1], - [11797, 1], - [11796, 1], - [11795, 1], - [11794, 1], - [11793, 1], - [11792, 1], - [11791, 1], - [11790, 1], - [11789, 1], - [11788, 1], - [11787, 1], - [11786, 1], - [11785, 1], - [11784, 1], - [11783, 1], - [11782, 1], - [11781, 1], - [11780, 1], - [11779, 1], - [11778, 1], - [11777, 1], - [11776, 1], - [11775, 1], - [11774, 1], - [11773, 1], - [11772, 1], - [11771, 1], - [11770, 1], - [11769, 1], - [11768, 1], - [11767, 1], - [11766, 1], - [11765, 1], - [11764, 1], - [11763, 1], - [11762, 1], - [11761, 1], - [11760, 1], - [11759, 1], - [11758, 1], - [11757, 1], - [11756, 1], - [11755, 1], - [11754, 1], - [11753, 1], - [11752, 1], - [11751, 1], - [11750, 1], - [11749, 1], - [11748, 1], - [11747, 1], - [11746, 1], - [11745, 1], - [11744, 1], - [11743, 1], - [11742, 1], - [11741, 1], - [11740, 1], - [11739, 1], - [11738, 1], - [11737, 1], - [11736, 1], - [11735, 1], - [11734, 1], - [11733, 1], - [11732, 1], - [11731, 1], - [11730, 1], - [11729, 1], - [12242, 1], - [12241, 1], - [12240, 1], - [12239, 1], - [12238, 1], - [12237, 1], - [12237, 0, "p"], - [12238, 0, "r"], - [12239, 0, "i"], - [12240, 0, "m"], - [12241, 0, "i"], - [12242, 0, "t"], - [12243, 0, "i"], - [12244, 0, "v"], - [12245, 0, "e"], - [9634, 0, " "], - [9635, 0, "M"], - [9636, 0, "o"], - [9637, 0, "r"], - [9638, 0, "e"], - [9639, 0, "o"], - [9640, 0, "v"], - [9641, 0, "e"], - [9642, 0, "r"], - [9643, 0, ","], - [9644, 0, " "], - [9645, 0, "p"], - [9646, 0, "e"], - [9647, 0, "r"], - [9648, 0, "f"], - [9649, 0, "o"], - [9650, 0, "r"], - [9651, 0, "m"], - [9652, 0, "a"], - [9653, 0, "n"], - [9654, 0, "c"], - [9655, 0, "e"], - [9656, 0, " "], - [9657, 0, "s"], - [9658, 0, "t"], - [9659, 0, "u"], - [9660, 0, "d"], - [9661, 0, "i"], - [9662, 0, "e"], - [9663, 0, "s"], - [9664, 0, " "], - [9665, 0, "h"], - [9666, 0, "a"], - [9667, 0, "v"], - [9668, 0, "e"], - [9669, 0, " "], - [9670, 0, "c"], - [9671, 0, "a"], - [9672, 0, "s"], - [9673, 0, "t"], - [9674, 0, " "], - [9675, 0, "d"], - [9676, 0, "o"], - [9677, 0, "u"], - [9678, 0, "b"], - [9679, 0, "t"], - [9680, 0, " "], - [9681, 0, "o"], - [9682, 0, "n"], - [9683, 0, " "], - [9683, 1], - [9682, 1], - [9681, 1], - [9680, 1], - [9679, 1], - [9678, 1], - [9677, 1], - [9676, 1], - [9675, 1], - [9674, 1], - [9673, 1], - [9672, 1], - [9671, 1], - [9670, 1], - [9669, 1], - [9668, 1], - [9667, 1], - [9666, 1], - [9665, 1], - [9664, 1], - [9663, 1], - [9662, 1], - [9661, 1], - [9660, 1], - [9659, 1], - [9658, 1], - [9657, 1], - [9656, 1], - [9655, 1], - [9645, 0, "t"], - [9646, 0, "h"], - [9647, 0, "e"], - [9648, 0, " "], - [9659, 0, "e"], - [9660, 0, " "], - [9661, 0, "o"], - [9662, 0, "f"], - [9663, 0, " "], - [9664, 0, "O"], - [9665, 0, "T"], - [9666, 0, " "], - [9667, 0, "a"], - [9668, 0, "l"], - [9669, 0, "g"], - [9670, 0, "o"], - [9671, 0, "r"], - [9672, 0, "i"], - [9673, 0, "t"], - [9674, 0, "h"], - [9675, 0, "m"], - [9676, 0, "s"], - [9677, 0, " "], - [9678, 0, "d"], - [9679, 0, "e"], - [9680, 0, "g"], - [9681, 0, "r"], - [9682, 0, "a"], - [9683, 0, "d"], - [9684, 0, "e"], - [9685, 0, "s"], - [9686, 0, " "], - [9687, 0, "r"], - [9688, 0, "a"], - [9689, 0, "p"], - [9690, 0, "i"], - [9691, 0, "d"], - [9692, 0, "l"], - [9693, 0, "y"], - [9694, 0, " "], - [9645, 1], - [9644, 1], - [9643, 1], - [9642, 1], - [9641, 1], - [9640, 1], - [9639, 1], - [9638, 1], - [9637, 1], - [9636, 1], - [9635, 1], - [9635, 0, "T"], - [9685, 0, "a"], - [9686, 0, "s"], - [9687, 0, " "], - [9688, 0, "t"], - [9689, 0, "h"], - [9690, 0, "e"], - [9691, 0, " "], - [9692, 0, "n"], - [9693, 0, "u"], - [9694, 0, "m"], - [9695, 0, "b"], - [9696, 0, "e"], - [9697, 0, "r"], - [9698, 0, " "], - [9699, 0, "o"], - [9700, 0, "f"], - [9701, 0, " "], - [9702, 0, "c"], - [9703, 0, "o"], - [9704, 0, "n"], - [9705, 0, "c"], - [9706, 0, "u"], - [9707, 0, "r"], - [9708, 0, "r"], - [9709, 0, "e"], - [9710, 0, "n"], - [9711, 0, "t"], - [9712, 0, " "], - [9713, 0, "o"], - [9714, 0, "p"], - [9715, 0, "e"], - [9716, 0, "r"], - [9717, 0, "a"], - [9718, 0, "t"], - [9719, 0, "i"], - [9720, 0, "o"], - [9721, 0, "n"], - [9722, 0, "s"], - [9723, 0, " "], - [9724, 0, "i"], - [9725, 0, "n"], - [9726, 0, "c"], - [9727, 0, "r"], - [9728, 0, "e"], - [9729, 0, "a"], - [9730, 0, "s"], - [9731, 0, "e"], - [9732, 0, "s"], - [9733, 0, "~"], - [9734, 0, "\\"], - [9735, 0, "c"], - [9736, 0, "i"], - [9737, 0, "t"], - [9738, 0, "e"], - [9739, 0, "{"], - [9740, 0, "L"], - [9741, 0, "i"], - [9742, 0, ":"], - [9743, 0, "2"], - [9744, 0, "0"], - [9745, 0, "0"], - [9746, 0, "6"], - [9747, 0, "k"], - [9748, 0, "d"], - [9749, 0, "}"], - [9750, 0, "."], - [11846, 0, " "], - [11847, 0, "T"], - [11848, 0, "h"], - [11849, 0, "e"], - [11850, 0, " "], - [11851, 0, "J"], - [11852, 0, "S"], - [11853, 0, "O"], - [11854, 0, "N"], - [11855, 0, " "], - [11856, 0, "d"], - [11857, 0, "a"], - [11858, 0, "t"], - [11859, 0, "a"], - [11860, 0, "t"], - [11861, 0, "y"], - [11862, 0, "p"], - [11863, 0, "e"], - [11864, 0, " "], - [11865, 0, "d"], - [11866, 0, "e"], - [11867, 0, "s"], - [11868, 0, "c"], - [11869, 0, "r"], - [11870, 0, "i"], - [11871, 0, "b"], - [11872, 0, "e"], - [11873, 0, "d"], - [11874, 0, " "], - [11875, 0, "i"], - [11876, 0, "n"], - [11877, 0, " "], - [11878, 0, "t"], - [11879, 0, "h"], - [11880, 0, "i"], - [11881, 0, "s"], - [11882, 0, " "], - [11883, 0, "p"], - [11884, 0, "a"], - [11885, 0, "p"], - [11886, 0, "e"], - [11887, 0, "r"], - [11888, 0, " "], - [11889, 0, "i"], - [11890, 0, "s"], - [11891, 0, " "], - [11892, 0, "a"], - [11893, 0, " "], - [11894, 0, "k"], - [11895, 0, "i"], - [11896, 0, "n"], - [11897, 0, "d"], - [11898, 0, " "], - [11899, 0, "o"], - [11900, 0, "f"], - [11901, 0, " "], - [11902, 0, "C"], - [11903, 0, "R"], - [11904, 0, "D"], - [11905, 0, "T"], - [11906, 0, "."], - [7654, 0, " "], - [7655, 0, "a"], - [7656, 0, " "], - [7657, 0, "s"], - [7658, 0, "e"], - [7659, 0, "t"], - [7660, 0, " "], - [7661, 0, "o"], - [7662, 0, "f"], - [13605, 1], - [13604, 1], - [13603, 1], - [13602, 1], - [13601, 1], - [13600, 1], - [13599, 1], - [13598, 1], - [13597, 1], - [13596, 1], - [13595, 1], - [13594, 1], - [13593, 1], - [13592, 1], - [13591, 1], - [13590, 1], - [13589, 1], - [13588, 1], - [13587, 1], - [13586, 1], - [13585, 1], - [13584, 1], - [13583, 1], - [13582, 1], - [13581, 1], - [13580, 1], - [13579, 1], - [13578, 1], - [13577, 1], - [13576, 1], - [13575, 1], - [13574, 1], - [13573, 1], - [13572, 1], - [13571, 1], - [13570, 1], - [13569, 1], - [13568, 1], - [13567, 1], - [13566, 1], - [13565, 1], - [13564, 1], - [13563, 1], - [13562, 1], - [13561, 1], - [13560, 1], - [13559, 1], - [13558, 1], - [13557, 1], - [13556, 1], - [13555, 1], - [13554, 1], - [13553, 1], - [13552, 1], - [13551, 1], - [13550, 1], - [13549, 1], - [13548, 1], - [13547, 1], - [13546, 1], - [13545, 1], - [13544, 1], - [50753, 0, "\n"], - [50754, 0, "T"], - [50755, 0, "h"], - [50756, 0, "e"], - [50757, 0, " "], - [50758, 0, "\\"], - [50759, 0, "t"], - [50760, 0, "e"], - [50761, 0, "x"], - [50762, 0, "t"], - [50763, 0, "s"], - [50764, 0, "f"], - [50765, 0, "{"], - [50766, 0, "y"], - [50767, 0, "i"], - [50768, 0, "e"], - [50769, 0, "l"], - [50770, 0, "d"], - [50771, 0, "}"], - [50772, 0, " "], - [50773, 0, "c"], - [50774, 0, "o"], - [50775, 0, "m"], - [50776, 0, "m"], - [50777, 0, "a"], - [50778, 0, "n"], - [50779, 0, "d"], - [50780, 0, ","], - [50781, 0, " "], - [50782, 0, "i"], - [50783, 0, "n"], - [50784, 0, "s"], - [50785, 0, "p"], - [50786, 0, "i"], - [50787, 0, "r"], - [50788, 0, "e"], - [50789, 0, "d"], - [50790, 0, " "], - [50791, 0, "b"], - [50792, 0, "y"], - [50793, 0, " "], - [50794, 0, "B"], - [50795, 0, "u"], - [50796, 0, "r"], - [50797, 0, "c"], - [50798, 0, "k"], - [50799, 0, "h"], - [50800, 0, "a"], - [50801, 0, "r"], - [50802, 0, "d"], - [50803, 0, "t"], - [50804, 0, " "], - [50805, 0, "e"], - [50806, 0, "t"], - [50807, 0, " "], - [50808, 0, "a"], - [50809, 0, "l"], - [50810, 0, "."], - [50811, 0, "~"], - [50812, 0, "\\"], - [50813, 0, "c"], - [50814, 0, "i"], - [50815, 0, "t"], - [50816, 0, "e"], - [50817, 0, "{"], - [50818, 0, "B"], - [50819, 0, "u"], - [50820, 0, "r"], - [50821, 0, "c"], - [50822, 0, "k"], - [50823, 0, "h"], - [50824, 0, "a"], - [50825, 0, "r"], - [50826, 0, "d"], - [50827, 0, "t"], - [50828, 0, ":"], - [50829, 0, "2"], - [50830, 0, "0"], - [50831, 0, "1"], - [50832, 0, "2"], - [50833, 0, "j"], - [50834, 0, "y"], - [50835, 0, "}"], - [50836, 0, ","], - [50837, 0, " "], - [50838, 0, "p"], - [50839, 0, "e"], - [50840, 0, "r"], - [50841, 0, "f"], - [50842, 0, "o"], - [50843, 0, "r"], - [50844, 0, "m"], - [50845, 0, "s"], - [50846, 0, " "], - [50847, 0, "n"], - [50848, 0, "e"], - [50849, 0, "t"], - [50850, 0, "w"], - [50851, 0, "o"], - [50852, 0, "r"], - [50853, 0, "k"], - [50854, 0, " "], - [50855, 0, "c"], - [50856, 0, "o"], - [50857, 0, "m"], - [50858, 0, "m"], - [50859, 0, "u"], - [50860, 0, "n"], - [50861, 0, "i"], - [50862, 0, "c"], - [50863, 0, "a"], - [50864, 0, "t"], - [50865, 0, "i"], - [50866, 0, "o"], - [50867, 0, "n"], - [50868, 0, ":"], - [50869, 0, " "], - [50870, 0, "s"], - [50871, 0, "e"], - [50872, 0, "n"], - [50873, 0, "d"], - [50874, 0, "i"], - [50875, 0, "n"], - [50876, 0, "g"], - [50877, 0, " "], - [50878, 0, "a"], - [50879, 0, "n"], - [50880, 0, "d"], - [50881, 0, " "], - [50882, 0, "r"], - [50883, 0, "e"], - [50884, 0, "c"], - [50885, 0, "e"], - [50886, 0, "i"], - [50887, 0, "v"], - [50888, 0, "i"], - [50889, 0, "n"], - [50890, 0, "g"], - [50891, 0, " "], - [50892, 0, "o"], - [50893, 0, "p"], - [50894, 0, "e"], - [50895, 0, "r"], - [50896, 0, "a"], - [50897, 0, "t"], - [50898, 0, "i"], - [50899, 0, "o"], - [50900, 0, "n"], - [50901, 0, "s"], - [50902, 0, " "], - [50903, 0, "t"], - [50904, 0, "o"], - [50905, 0, " "], - [50906, 0, "a"], - [50907, 0, "n"], - [50908, 0, "d"], - [50909, 0, " "], - [50910, 0, "f"], - [50911, 0, "r"], - [50912, 0, "o"], - [50913, 0, "m"], - [50914, 0, " "], - [50915, 0, "o"], - [50916, 0, "t"], - [50917, 0, "h"], - [50918, 0, "e"], - [50919, 0, "r"], - [50920, 0, " "], - [50921, 0, "p"], - [50922, 0, "e"], - [50923, 0, "e"], - [50924, 0, "r"], - [50925, 0, "s"], - [50926, 0, ","], - [50927, 0, " "], - [50928, 0, "a"], - [50929, 0, "n"], - [50930, 0, "d"], - [50931, 0, " "], - [50932, 0, "a"], - [50933, 0, "p"], - [50934, 0, "p"], - [50935, 0, "l"], - [50936, 0, "y"], - [50937, 0, "i"], - [50938, 0, "n"], - [50939, 0, "g"], - [50940, 0, " "], - [50941, 0, "o"], - [50942, 0, "p"], - [50943, 0, "e"], - [50944, 0, "r"], - [50945, 0, "a"], - [50946, 0, "t"], - [50947, 0, "i"], - [50948, 0, "o"], - [50949, 0, "n"], - [50950, 0, "s"], - [50951, 0, " "], - [50952, 0, "f"], - [50953, 0, "r"], - [50954, 0, "o"], - [50955, 0, "m"], - [50956, 0, " "], - [50957, 0, "r"], - [50958, 0, "e"], - [50959, 0, "m"], - [50960, 0, "o"], - [50961, 0, "t"], - [50962, 0, "e"], - [50963, 0, " "], - [50964, 0, "p"], - [50965, 0, "e"], - [50966, 0, "e"], - [50967, 0, "r"], - [50968, 0, "s"], - [50969, 0, "."], - [50970, 1], - [50970, 0, " "], - [50975, 1], - [50975, 1], - [50975, 1], - [50975, 1], - [50975, 1], - [50975, 1], - [50975, 1], - [50975, 1], - [50975, 1], - [50975, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [50981, 1], - [51101, 1], - [51100, 1], - [51099, 1], - [51098, 1], - [51097, 1], - [51096, 1], - [51095, 1], - [51094, 1], - [51079, 1], - [51078, 1], - [51077, 1], - [51076, 1], - [14330, 1], - [14329, 1], - [14328, 1], - [14327, 1], - [14326, 1], - [14325, 1], - [14324, 1], - [14323, 1], - [14322, 1], - [14321, 1], - [14320, 1], - [14319, 1], - [14318, 1], - [14317, 1], - [14316, 1], - [14315, 1], - [14314, 1], - [14313, 1], - [14312, 1], - [14311, 1], - [14310, 1], - [14309, 1], - [14308, 1], - [14307, 1], - [14306, 1], - [14305, 1], - [14304, 1], - [14303, 1], - [14302, 1], - [14301, 1], - [14300, 1], - [14299, 1], - [14298, 1], - [14297, 1], - [14296, 1], - [14295, 1], - [14294, 1], - [14293, 1], - [14292, 1], - [14291, 1], - [14290, 1], - [14289, 1], - [14288, 1], - [14287, 1], - [14286, 1], - [14285, 1], - [14284, 1], - [14283, 1], - [14282, 1], - [14281, 1], - [14280, 1], - [14279, 1], - [14278, 1], - [14277, 1], - [14277, 0, "W"], - [14278, 0, "e"], - [14279, 0, " "], - [14280, 0, "b"], - [14281, 0, "e"], - [14282, 0, "l"], - [14283, 0, "i"], - [14284, 0, "e"], - [14285, 0, "v"], - [14286, 0, "e"], - [14287, 0, " "], - [14288, 0, "t"], - [14289, 0, "h"], - [14290, 0, "a"], - [14291, 0, "t"], - [14292, 0, " "], - [14293, 0, "c"], - [14294, 0, "o"], - [14295, 0, "n"], - [14296, 0, "f"], - [14297, 0, "l"], - [14298, 0, "i"], - [14299, 0, "c"], - [14300, 0, "t"], - [15264, 0, " "], - [15265, 0, "T"], - [15266, 0, "h"], - [15267, 0, "e"], - [15268, 0, " "], - [15269, 0, "p"], - [15270, 0, "o"], - [15271, 0, "s"], - [15272, 0, "s"], - [15273, 0, "i"], - [15274, 0, "b"], - [15275, 0, "i"], - [15276, 0, "l"], - [15277, 0, "i"], - [15278, 0, "t"], - [15279, 0, "y"], - [15280, 0, " "], - [15281, 0, "o"], - [15282, 0, "f"], - [15283, 0, " "], - [15284, 0, "t"], - [15285, 0, "e"], - [15286, 0, "n"], - [15287, 0, "t"], - [15288, 0, "a"], - [15289, 0, "t"], - [15290, 0, "i"], - [15291, 0, "v"], - [15292, 0, "e"], - [15293, 0, " "], - [15294, 0, "t"], - [15295, 0, "r"], - [15296, 0, "a"], - [15297, 0, "n"], - [15298, 0, "s"], - [15299, 0, "a"], - [15300, 0, "c"], - [15301, 0, "t"], - [15302, 0, "i"], - [15303, 0, "o"], - [15304, 0, "n"], - [15305, 0, "s"], - [15306, 0, " "], - [15307, 0, "l"], - [15308, 0, "a"], - [15309, 0, "t"], - [15310, 0, "e"], - [15311, 0, "r"], - [15312, 0, " "], - [15313, 0, "b"], - [15314, 0, "e"], - [15315, 0, "i"], - [15316, 0, "n"], - [15317, 0, "g"], - [15318, 0, " "], - [15319, 0, "r"], - [15320, 0, "o"], - [15321, 0, "l"], - [15322, 0, "l"], - [15323, 0, "e"], - [15324, 0, "d"], - [15325, 0, " "], - [15326, 0, "b"], - [15327, 0, "a"], - [15328, 0, "c"], - [15329, 0, "k"], - [15330, 0, " "], - [15331, 0, "a"], - [15332, 0, "l"], - [15333, 0, "s"], - [15334, 0, "o"], - [15335, 0, " "], - [15336, 0, "o"], - [15337, 0, "p"], - [15338, 0, "e"], - [15339, 0, "n"], - [15340, 0, "s"], - [15341, 0, " "], - [15342, 0, "t"], - [15343, 0, "h"], - [15344, 0, "e"], - [15345, 0, " "], - [15346, 0, "r"], - [15347, 0, "i"], - [15348, 0, "s"], - [15349, 0, "k"], - [15350, 0, " "], - [15351, 0, "o"], - [15352, 0, "f"], - [15353, 0, " "], - [15354, 0, "u"], - [15355, 0, "s"], - [15356, 0, "e"], - [15357, 0, "r"], - [15358, 0, " "], - [15359, 0, "i"], - [15360, 0, "n"], - [15361, 0, "p"], - [15362, 0, "u"], - [15363, 0, "t"], - [15364, 0, " "], - [15365, 0, "b"], - [15366, 0, "e"], - [15367, 0, "i"], - [15368, 0, "n"], - [15369, 0, "g"], - [15370, 0, " "], - [15371, 0, "l"], - [15372, 0, "o"], - [15373, 0, "s"], - [15374, 0, "t"], - [15375, 0, "."], - [15455, 0, "\n"], - [15456, 0, "\n"], - [15455, 0, " "], - [15456, 0, "i"], - [15457, 0, "n"], - [15458, 0, "t"], - [15459, 0, "r"], - [15460, 0, "o"], - [15461, 0, "d"], - [15462, 0, "u"], - [15463, 0, "c"], - [15464, 0, "e"], - [15465, 0, " "], - [15466, 0, "o"], - [15467, 0, "u"], - [15468, 0, "r"], - [15469, 0, " "], - [15470, 0, "a"], - [15471, 0, "p"], - [15472, 0, "p"], - [15473, 0, "r"], - [15474, 0, "o"], - [15475, 0, "a"], - [15476, 0, "c"], - [15477, 0, "h"], - [15478, 0, " "], - [15479, 0, "t"], - [15480, 0, "o"], - [15481, 0, " "], - [15456, 0, "i"], - [15457, 0, "n"], - [15458, 0, "f"], - [15459, 0, "o"], - [15460, 0, "r"], - [15461, 0, "m"], - [15462, 0, "a"], - [15463, 0, "l"], - [15464, 0, "l"], - [15465, 0, "y"], - [15466, 0, " "], - [15493, 0, "c"], - [15494, 0, "o"], - [15495, 0, "l"], - [15496, 0, "l"], - [15497, 0, "a"], - [15498, 0, "b"], - [15499, 0, "o"], - [15500, 0, "r"], - [15501, 0, "a"], - [15502, 0, "t"], - [15503, 0, "i"], - [15504, 0, "v"], - [15505, 0, "e"], - [15506, 0, " "], - [15507, 0, "e"], - [15508, 0, "d"], - [15509, 0, "i"], - [15510, 0, "t"], - [15511, 0, "i"], - [15512, 0, "n"], - [15513, 0, "g"], - [15514, 0, " "], - [15515, 0, "o"], - [15516, 0, "f"], - [15517, 0, " "], - [15518, 0, "J"], - [15519, 0, "S"], - [15520, 0, "O"], - [15521, 0, "N"], - [15522, 0, " "], - [15523, 0, "d"], - [15524, 0, "a"], - [15525, 0, "t"], - [15526, 0, "a"], - [15527, 0, " "], - [15528, 0, "s"], - [15529, 0, "t"], - [15530, 0, "r"], - [15531, 0, "u"], - [15532, 0, "c"], - [15533, 0, "t"], - [15534, 0, "u"], - [15535, 0, "r"], - [15536, 0, "e"], - [15537, 0, "s"], - [15538, 0, "."], - [15539, 0, " "], - [15540, 0, "A"], - [15541, 0, " "], - [15542, 0, "f"], - [15543, 0, "o"], - [15544, 0, "r"], - [15545, 0, "m"], - [15546, 0, "a"], - [15547, 0, "l"], - [15548, 0, " "], - [15549, 0, "p"], - [15550, 0, "r"], - [15551, 0, "e"], - [15552, 0, "s"], - [15553, 0, "e"], - [15554, 0, "n"], - [15555, 0, "t"], - [15556, 0, "a"], - [15557, 0, "t"], - [15558, 0, "i"], - [15559, 0, "o"], - [15560, 0, "n"], - [15561, 0, " "], - [15562, 0, "o"], - [15563, 0, "f"], - [15564, 0, " "], - [15565, 0, "t"], - [15566, 0, "h"], - [15567, 0, "e"], - [15568, 0, " "], - [15569, 0, "a"], - [15570, 0, "l"], - [15571, 0, "g"], - [15572, 0, "o"], - [15573, 0, "r"], - [15574, 0, "i"], - [15575, 0, "t"], - [15576, 0, "h"], - [15577, 0, "m"], - [15578, 0, " "], - [15579, 0, "f"], - [15580, 0, "o"], - [15581, 0, "l"], - [15582, 0, "l"], - [15583, 0, "o"], - [15584, 0, "w"], - [15585, 0, "s"], - [15586, 0, " "], - [15587, 0, "i"], - [15588, 0, "n"], - [15589, 0, " "], - [15590, 0, "s"], - [15591, 0, "e"], - [15592, 0, "c"], - [15593, 0, "t"], - [15594, 0, "i"], - [15595, 0, "o"], - [15596, 0, "n"], - [15597, 0, "~"], - [15598, 0, "\\"], - [15599, 0, "r"], - [15600, 0, "e"], - [15601, 0, "f"], - [15602, 0, "{"], - [15603, 0, "s"], - [15604, 0, "e"], - [15605, 0, "c"], - [15606, 0, ":"], - [15607, 0, "s"], - [15608, 0, "e"], - [15609, 0, "m"], - [15610, 0, "a"], - [15611, 0, "n"], - [15612, 0, "t"], - [15613, 0, "i"], - [15614, 0, "c"], - [15615, 0, "s"], - [15616, 0, "}"], - [15617, 0, "."], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [15620, 1], - [16624, 1], - [16623, 1], - [16622, 1], - [16621, 1], - [16620, 1], - [16619, 1], - [16618, 1], - [16617, 1], - [16616, 1], - [16615, 1], - [16614, 1], - [16613, 1], - [16612, 1], - [16611, 1], - [16610, 1], - [16609, 1], - [16608, 1], - [16607, 1], - [16606, 1], - [16605, 1], - [16604, 1], - [16603, 1], - [16602, 1], - [16601, 1], - [16600, 1], - [16599, 1], - [16598, 1], - [16597, 1], - [16596, 1], - [16595, 1], - [16594, 1], - [16593, 1], - [16592, 1], - [16591, 1], - [16590, 1], - [16589, 1], - [16588, 1], - [16587, 1], - [16586, 1], - [16585, 1], - [16584, 1], - [16583, 1], - [16582, 1], - [16581, 1], - [16580, 1], - [16579, 1], - [16578, 1], - [16577, 1], - [16576, 1], - [16575, 1], - [16574, 1], - [16573, 1], - [16572, 1], - [16571, 1], - [16570, 1], - [16569, 1], - [16568, 1], - [16567, 1], - [16566, 1], - [16565, 1], - [16564, 1], - [16563, 1], - [16562, 1], - [16561, 1], - [16560, 1], - [16559, 1], - [16558, 1], - [16557, 1], - [16556, 1], - [16555, 1], - [16554, 1], - [16553, 1], - [16552, 1], - [16551, 1], - [16550, 1], - [16549, 1], - [16548, 1], - [16547, 1], - [16546, 1], - [16545, 1], - [16544, 1], - [16543, 1], - [16542, 1], - [16541, 1], - [16540, 1], - [16539, 1], - [16538, 1], - [16537, 1], - [16536, 1], - [16535, 1], - [16534, 1], - [16533, 1], - [16532, 1], - [16531, 1], - [16530, 1], - [16529, 1], - [16528, 1], - [16527, 1], - [16526, 1], - [16525, 1], - [16524, 1], - [16523, 1], - [16522, 1], - [16521, 1], - [16520, 1], - [16519, 1], - [16518, 1], - [16517, 1], - [16516, 1], - [16515, 1], - [16514, 1], - [16514, 0, "T"], - [16561, 0, " "], - [16562, 0, "w"], - [16563, 0, "h"], - [16564, 0, "e"], - [16565, 0, "n"], - [16566, 0, " "], - [16567, 0, "J"], - [16568, 0, "S"], - [16569, 0, "O"], - [16570, 0, "N"], - [16571, 0, " "], - [16572, 0, "d"], - [16573, 0, "o"], - [16574, 0, "c"], - [16575, 0, "u"], - [16576, 0, "m"], - [16577, 0, "e"], - [16578, 0, "n"], - [16579, 0, "t"], - [16580, 0, "s"], - [16581, 0, " "], - [16582, 0, "a"], - [16583, 0, "r"], - [16584, 0, "e"], - [16585, 0, " "], - [16586, 0, "c"], - [16587, 0, "o"], - [16588, 0, "n"], - [16589, 0, "c"], - [16590, 0, "u"], - [16591, 0, "r"], - [16592, 0, "r"], - [16593, 0, "e"], - [16594, 0, "n"], - [16595, 0, "t"], - [16596, 0, "l"], - [16597, 0, "y"], - [16598, 0, " "], - [16599, 0, "m"], - [16600, 0, "o"], - [16601, 0, "d"], - [16602, 0, "i"], - [16603, 0, "f"], - [16604, 0, "i"], - [16605, 0, "e"], - [16606, 0, "d"], - [16607, 0, ","], - [16608, 0, " "], - [16609, 0, "w"], - [16610, 0, "e"], - [16611, 0, " "], - [16612, 0, "p"], - [16613, 0, "r"], - [16614, 0, "e"], - [16615, 0, "s"], - [16616, 0, "e"], - [16617, 0, "n"], - [16618, 0, "t"], - [16619, 0, " "], - [16620, 0, "s"], - [16621, 0, "o"], - [16622, 0, "m"], - [16623, 0, "e"], - [16624, 0, " "], - [16625, 0, "e"], - [16626, 0, "x"], - [16627, 0, "a"], - [16628, 0, "m"], - [16629, 0, "p"], - [16630, 0, "l"], - [16631, 0, "e"], - [16632, 0, "s"], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [24966, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [5857, 1], - [6535, 0, "d"], - [6536, 0, "e"], - [6537, 0, "y"], - [6538, 0, "a"], - [6539, 0, "l"], - [6540, 0, "y"], - [6540, 1], - [6539, 1], - [6538, 1], - [6537, 1], - [6537, 0, "l"], - [6538, 0, "a"], - [6539, 0, "y"], - [6540, 0, ","], - [6541, 0, " "], - [6550, 1], - [6550, 1], - [6550, 0, "a"], - [6551, 0, "n"], - [6552, 0, "d"], - [6499, 1], - [6498, 1], - [6497, 1], - [6497, 0, "W"], - [6498, 0, "e"], - [6499, 0, " "], - [6500, 0, "a"], - [6501, 0, "s"], - [6502, 0, "s"], - [6503, 0, "u"], - [6504, 0, "m"], - [6505, 0, "e"], - [6506, 0, " "], - [6507, 0, "t"], - [6508, 0, "h"], - [6509, 0, "e"], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 1], - [6519, 0, "m"], - [6520, 0, "a"], - [6521, 0, "y"], - [7143, 1], - [7142, 1], - [7141, 1], - [7140, 1], - [7139, 1], - [7139, 0, "t"], - [7140, 0, "h"], - [7141, 0, "r"], - [7142, 0, "e"], - [7143, 0, "e"], - [26310, 1], - [26310, 1], - [26310, 1], - [26310, 1], - [26310, 1], - [26310, 0, "r"], - [26311, 0, "e"], - [26312, 0, "p"], - [26313, 0, "l"], - [26314, 0, "i"], - [26315, 0, "c"], - [26316, 0, "a"], - [26317, 0, "s"], - [26342, 1], - [26342, 1], - [26342, 1], - [26342, 1], - [26342, 0, "r"], - [26343, 0, "e"], - [26344, 0, "p"], - [26345, 0, "l"], - [26346, 0, "i"], - [26347, 0, "c"], - [26348, 0, "a"], - [26667, 1], - [26666, 1], - [26665, 1], - [26664, 1], - [26663, 1], - [26663, 0, "r"], - [26664, 0, "e"], - [26665, 0, "p"], - [26666, 0, "l"], - [26667, 0, "i"], - [26668, 0, "c"], - [26669, 0, "a"], - [26670, 0, "s"], - [31466, 1], - [31465, 1], - [31464, 1], - [31463, 1], - [31463, 0, "r"], - [31464, 0, "e"], - [31465, 0, "o"], - [31465, 1], - [31465, 0, "p"], - [31466, 0, "l"], - [31467, 0, "i"], - [31468, 0, "c"], - [31469, 0, "a"], - [36842, 1], - [36842, 1], - [36842, 1], - [36842, 1], - [36842, 0, "r"], - [36843, 0, "e"], - [36844, 0, "p"], - [36845, 0, "l"], - [36846, 0, "i"], - [36847, 0, "c"], - [36848, 0, "a"], - [37072, 1], - [37072, 1], - [37072, 1], - [37072, 1], - [37072, 0, "r"], - [37073, 0, "e"], - [37074, 0, "p"], - [37075, 0, "l"], - [37076, 0, "i"], - [37077, 0, "c"], - [37078, 0, "a"], - [37121, 1], - [37120, 1], - [37119, 1], - [37118, 1], - [37117, 1], - [37117, 0, "r"], - [37118, 0, "e"], - [37119, 0, "p"], - [37120, 0, "l"], - [37121, 0, "i"], - [37122, 0, "c"], - [37123, 0, "a"], - [37124, 0, "s"], - [37274, 1], - [37273, 1], - [37272, 1], - [37271, 1], - [37271, 0, "r"], - [37272, 0, "e"], - [37273, 0, "p"], - [37274, 0, "l"], - [37275, 0, "i"], - [37276, 0, "c"], - [37277, 0, "a"], - [37319, 1], - [37318, 1], - [37317, 1], - [37316, 1], - [37316, 0, "r"], - [37317, 0, "e"], - [37318, 0, "p"], - [37319, 0, "l"], - [37320, 0, "i"], - [37321, 0, "c"], - [37322, 0, "a"], - [38268, 1], - [38268, 1], - [38268, 1], - [38268, 1], - [38268, 0, "r"], - [38269, 0, "e"], - [38270, 0, "p"], - [38271, 0, "l"], - [38272, 0, "i"], - [38273, 0, "c"], - [38274, 0, "a"], - [38953, 1], - [38952, 1], - [38951, 1], - [38950, 1], - [38950, 0, "r"], - [38951, 0, "e"], - [38952, 0, "p"], - [38953, 0, "l"], - [38954, 0, "i"], - [38955, 0, "c"], - [38956, 0, "a"], - [42126, 1], - [42125, 1], - [42124, 1], - [42123, 1], - [42123, 0, "r"], - [42124, 0, "e"], - [42125, 0, "p"], - [42126, 0, "l"], - [42127, 0, "i"], - [42128, 0, "c"], - [42129, 0, "a"], - [42241, 1], - [42241, 1], - [42241, 1], - [42241, 1], - [42241, 0, "r"], - [42242, 0, "e"], - [42243, 0, "p"], - [42244, 0, "l"], - [42245, 0, "i"], - [42246, 0, "c"], - [42247, 0, "a"], - [42542, 1], - [42542, 1], - [42542, 1], - [42542, 1], - [42542, 0, "r"], - [42543, 0, "e"], - [42544, 0, "p"], - [42545, 0, "l"], - [42546, 0, "i"], - [42547, 0, "c"], - [42548, 0, "a"], - [42745, 1], - [42745, 1], - [42745, 1], - [42745, 1], - [42745, 0, "r"], - [42746, 0, "e"], - [42747, 0, "p"], - [42748, 0, "l"], - [42749, 0, "i"], - [42750, 0, "c"], - [42751, 0, "a"], - [42757, 1], - [42757, 1], - [42757, 1], - [42757, 1], - [42757, 0, "r"], - [42758, 0, "e"], - [42759, 0, "p"], - [42760, 0, "l"], - [42761, 0, "i"], - [42762, 0, "c"], - [42763, 0, "a"], - [42805, 1], - [42805, 1], - [42805, 1], - [42805, 1], - [42805, 0, "r"], - [42806, 0, "e"], - [42807, 0, "p"], - [42808, 0, "l"], - [42809, 0, "i"], - [42810, 0, "c"], - [42811, 0, "a"], - [42812, 0, "s"], - [43395, 1], - [43394, 1], - [43393, 1], - [43392, 1], - [43392, 0, "r"], - [43393, 0, "e"], - [43394, 0, "p"], - [43395, 0, "l"], - [43396, 0, "i"], - [43397, 0, "c"], - [43398, 0, "a"], - [43399, 0, "s"], - [43399, 1], - [43513, 1], - [43512, 1], - [43511, 1], - [43510, 1], - [43510, 0, "R"], - [43511, 0, "e"], - [43512, 0, "p"], - [43513, 0, "l"], - [43514, 0, "i"], - [43515, 0, "c"], - [43516, 0, "a"], - [43619, 1], - [43619, 1], - [43619, 0, " "], - [43620, 0, "k"], - [43557, 1], - [43556, 1], - [43555, 1], - [43554, 1], - [43554, 0, "r"], - [43555, 0, "e"], - [43556, 0, "p"], - [43557, 0, "l"], - [43558, 0, "i"], - [43559, 0, "c"], - [43560, 0, "a"], - [43688, 1], - [43688, 1], - [43688, 1], - [43689, 0, "e"], - [43690, 0, "p"], - [43691, 0, "l"], - [43692, 0, "i"], - [43693, 0, "c"], - [43694, 0, "a"], - [43747, 1], - [43746, 1], - [43745, 1], - [43744, 1], - [43744, 0, "r"], - [43745, 0, "e"], - [43746, 0, "p"], - [43747, 0, "l"], - [43748, 0, "i"], - [43749, 0, "c"], - [43750, 0, "a"], - [43865, 1], - [43865, 1], - [43865, 1], - [43866, 0, "e"], - [43867, 0, "p"], - [43868, 0, "l"], - [43869, 0, "i"], - [43870, 0, "c"], - [43871, 0, "a"], - [44956, 1], - [44955, 1], - [44954, 1], - [44953, 1], - [44953, 0, "R"], - [44954, 0, "e"], - [44955, 0, "p"], - [44956, 0, "l"], - [44957, 0, "i"], - [44958, 0, "c"], - [44959, 0, "a"], - [45026, 1], - [45026, 1], - [45026, 1], - [45026, 1], - [45026, 0, "R"], - [45027, 0, "e"], - [45028, 0, "p"], - [45029, 0, "l"], - [45030, 0, "i"], - [45031, 0, "c"], - [45032, 0, "a"], - [46450, 1], - [46449, 1], - [46448, 1], - [46449, 0, "e"], - [46450, 0, "p"], - [46451, 0, "l"], - [46452, 0, "i"], - [46453, 0, "c"], - [46454, 0, "a"], - [46508, 1], - [46507, 1], - [46506, 1], - [46505, 1], - [46505, 0, "r"], - [46506, 0, "e"], - [46507, 0, "p"], - [46508, 0, "l"], - [46509, 0, "i"], - [46510, 0, "c"], - [46511, 0, "a"], - [48978, 1], - [48977, 1], - [48976, 1], - [48975, 1], - [48975, 0, "R"], - [48976, 0, "e"], - [48977, 0, "p"], - [48978, 0, "l"], - [48979, 0, "i"], - [48980, 0, "c"], - [48981, 0, "a"], - [50587, 1], - [50587, 1], - [50587, 1], - [50587, 1], - [50587, 1], - [50587, 0, "r"], - [50588, 0, "e"], - [50589, 0, "p"], - [50590, 0, "l"], - [50591, 0, "i"], - [50592, 0, "c"], - [50593, 0, "s"], - [50593, 1], - [50593, 0, "a"], - [50594, 0, "s"], - [50633, 1], - [50633, 1], - [50633, 1], - [50634, 0, "e"], - [50635, 0, "p"], - [50636, 0, "l"], - [50637, 0, "i"], - [50638, 0, "c"], - [50639, 0, "a"], - [50919, 1], - [50919, 1], - [50919, 1], - [50920, 0, "e"], - [50921, 0, "p"], - [50922, 0, "l"], - [50923, 0, "i"], - [50924, 0, "c"], - [50925, 0, "a"], - [50951, 1], - [50951, 1], - [50951, 1], - [50952, 0, "e"], - [50953, 0, "p"], - [50954, 0, "l"], - [50955, 0, "i"], - [50956, 0, "c"], - [50957, 0, "a"], - [50980, 1], - [50979, 1], - [50978, 1], - [50979, 0, "e"], - [50980, 0, "p"], - [50981, 0, "l"], - [50982, 0, "i"], - [50983, 0, "c"], - [50984, 0, "a"], - [51328, 1], - [51328, 1], - [51328, 1], - [51329, 0, "e"], - [51330, 0, "p"], - [51331, 0, "l"], - [51332, 0, "i"], - [51333, 0, "c"], - [51334, 0, "a"], - [51400, 1], - [51400, 1], - [51400, 1], - [51401, 0, "e"], - [51402, 0, "p"], - [51403, 0, "l"], - [51404, 0, "i"], - [51405, 0, "c"], - [51406, 0, "a"], - [51463, 1], - [51463, 1], - [51463, 1], - [51464, 0, "e"], - [51465, 0, "p"], - [51466, 0, "l"], - [51467, 0, "i"], - [51468, 0, "c"], - [51469, 0, "a"], - [58123, 1], - [58123, 1], - [58123, 1], - [58124, 0, "e"], - [58125, 0, "p"], - [58126, 0, "l"], - [58127, 0, "i"], - [58128, 0, "c"], - [58129, 0, "a"], - [59556, 1], - [59555, 1], - [59554, 1], - [59553, 1], - [59552, 1], - [59552, 0, "r"], - [59553, 0, "e"], - [59554, 0, "p"], - [59555, 0, "l"], - [59556, 0, "i"], - [59557, 0, "c"], - [59558, 0, "a"], - [59559, 0, "s"], - [59768, 1], - [59767, 1], - [59766, 1], - [59767, 0, "e"], - [59768, 0, "p"], - [59769, 0, "l"], - [59770, 0, "i"], - [59771, 0, "c"], - [59772, 0, "a"], - [44117, 1], - [44117, 1], - [44117, 1], - [44118, 0, "e"], - [44119, 0, "p"], - [44120, 0, "l"], - [44121, 0, "i"], - [44122, 0, "c"], - [44123, 0, "a"], - [37082, 1], - [37081, 1], - [37081, 0, "q"], - [37056, 1], - [37055, 1], - [37054, 1], - [37053, 1], - [37053, 0, "q"], - [42328, 1], - [42327, 1], - [42326, 1], - [42325, 1], - [42324, 1], - [42323, 1], - [42322, 1], - [42321, 1], - [42320, 1], - [42319, 1], - [42318, 1], - [42317, 1], - [42316, 1], - [42315, 1], - [42314, 1], - [42313, 1], - [42312, 1], - [42311, 1], - [42310, 1], - [42309, 1], - [42308, 1], - [42307, 1], - [42306, 1], - [42305, 1], - [42304, 1], - [42303, 1], - [42302, 1], - [42301, 1], - [42300, 1], - [42299, 1], - [42298, 1], - [42297, 1], - [42296, 1], - [42295, 1], - [42294, 1], - [42293, 1], - [42292, 1], - [42291, 1], - [42290, 1], - [42289, 1], - [42288, 1], - [42287, 1], - [42286, 1], - [42285, 1], - [42284, 1], - [42283, 1], - [42282, 1], - [42281, 1], - [42280, 1], - [42279, 1], - [42278, 1], - [42758, 1], - [42717, 0, " "], - [42718, 0, "a"], - [42719, 0, "n"], - [42730, 1], - [42716, 1], - [42715, 1], - [42714, 1], - [42713, 1], - [42712, 1], - [42711, 1], - [42710, 1], - [42709, 1], - [42708, 1], - [42707, 1], - [42706, 1], - [42705, 1], - [42704, 1], - [42703, 1], - [42702, 1], - [42701, 1], - [42701, 0, "f"], - [42702, 0, "t"], - [42703, 0, "e"], - [42704, 0, "r"], - [42718, 0, " "], - [42719, 0, "i"], - [42720, 0, "s"], - [42734, 1], - [42733, 1], - [42732, 1], - [42731, 1], - [42731, 0, "a"], - [42747, 0, ","], - [42748, 0, " "], - [42749, 1], - [42749, 0, "i"], - [42750, 0, "t"], - [42751, 0, " "], - [42752, 0, "i"], - [42753, 0, "s"], - [42754, 0, " "], - [42755, 0, "a"], - [42756, 0, "p"], - [42757, 0, "p"], - [42758, 0, "l"], - [42759, 0, "i"], - [42760, 0, "e"], - [42761, 0, "d"], - [42762, 0, " "], - [42763, 0, "l"], - [42764, 0, "o"], - [42765, 0, "c"], - [42766, 0, "a"], - [42767, 0, "l"], - [42768, 0, "l"], - [42769, 0, "y"], - [42733, 0, "f"], - [42734, 0, "r"], - [42735, 0, "o"], - [42736, 0, "m"], - [42737, 0, " "], - [43240, 0, " "], - [43241, 0, "f"], - [43242, 0, "o"], - [43243, 0, "r"], - [43244, 0, " "], - [43245, 0, "p"], - [43246, 0, "e"], - [43247, 0, "r"], - [43241, 1], - [43247, 0, "f"], - [43248, 0, "o"], - [43249, 0, "r"], - [43250, 0, "m"], - [43251, 0, "e"], - [43252, 0, "d"], - [43253, 0, " "], - [43254, 0, "t"], - [43255, 0, "h"], - [43256, 0, "e"], - [43257, 0, " "], - [43258, 0, "r"], - [43259, 0, "e"], - [43260, 0, "g"], - [43261, 0, "i"], - [43262, 0, "s"], - [43263, 0, "t"], - [43264, 0, "e"], - [43265, 0, "r"], - [43266, 0, " "], - [43267, 0, "a"], - [43268, 0, "s"], - [43269, 0, "s"], - [43270, 0, "i"], - [43271, 0, "g"], - [43272, 0, "n"], - [43273, 0, "m"], - [43274, 0, "e"], - [43275, 0, "n"], - [43276, 0, "t"], - [43277, 0, "s"], - [44080, 0, "c"], - [44081, 0, "a"], - [44082, 0, "u"], - [44083, 0, "s"], - [44084, 0, "a"], - [44085, 0, "l"], - [44086, 0, "l"], - [44087, 0, "y"], - [44088, 0, " "], - [44615, 1], - [16201, 0, "."], - [18549, 0, "."], - [20512, 0, "."], - [22183, 0, "."], - [25695, 0, "."], - [26128, 0, "."], - [36795, 1], - [36794, 1], - [36793, 1], - [36792, 1], - [36791, 1], - [36790, 1], - [36789, 1], - [36788, 1], - [36787, 1], - [36786, 1], - [36785, 1], - [36784, 1], - [36783, 1], - [36782, 1], - [36781, 1], - [36780, 1], - [36779, 1], - [36778, 1], - [36777, 1], - [36777, 0, "s"], - [36766, 1], - [36765, 1], - [36764, 1], - [36775, 0, "."], - [49427, 0, "."], - [57463, 1], - [57462, 1], - [57461, 1], - [57460, 1], - [57459, 1], - [57458, 1], - [57457, 1], - [57456, 1], - [57455, 1], - [57454, 1], - [57454, 0, "a"], - [57455, 0, "p"], - [57456, 0, "p"], - [57457, 0, "l"], - [57458, 0, "y"], - [57459, 0, "i"], - [57460, 0, "n"], - [57461, 0, "g"], - [57462, 0, " "], - [57463, 0, "i"], - [57464, 0, "n"], - [57465, 0, "s"], - [57466, 0, "e"], - [57467, 0, "r"], - [57468, 0, "t"], - [57469, 0, "i"], - [57470, 0, "o"], - [57471, 0, "n"], - [57472, 0, " "], - [57473, 0, "a"], - [57474, 0, "n"], - [57475, 0, "d"], - [57476, 0, " "], - [57477, 0, "a"], - [57478, 0, "s"], - [57479, 0, "s"], - [57480, 0, "i"], - [57481, 0, "g"], - [57482, 0, "n"], - [57483, 0, "m"], - [57484, 0, "e"], - [57485, 0, "n"], - [57486, 0, "t"], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 1], - [57498, 0, "."], - [57498, 0, " "], - [57499, 0, "t"], - [57500, 0, "o"], - [57501, 0, " "], - [57502, 0, "t"], - [57503, 0, "h"], - [57504, 0, "e"], - [57505, 0, " "], - [57506, 0, "s"], - [57507, 0, "t"], - [57508, 0, "a"], - [57509, 0, "t"], - [57510, 0, "e"], - [57511, 0, " "], - [57512, 0, "o"], - [57513, 0, "f"], - [57514, 0, " "], - [57515, 0, "a"], - [57516, 0, " "], - [57517, 0, "r"], - [57518, 0, "e"], - [57519, 0, "p"], - [57520, 0, "l"], - [57521, 0, "i"], - [57522, 0, "c"], - [57523, 0, "a"], - [57502, 0, "u"], - [57503, 0, "p"], - [57504, 0, "d"], - [57505, 0, "a"], - [57506, 0, "t"], - [57507, 0, "e"], - [57508, 0, " "], - [64749, 1], - [64748, 1], - [64747, 1], - [64746, 1], - [64745, 1], - [64744, 1], - [64743, 1], - [64742, 1], - [64741, 1], - [64740, 1], - [64739, 1], - [64738, 1], - [64737, 1], - [64736, 1], - [64735, 1], - [64734, 1], - [64733, 1], - [64732, 1], - [64731, 1], - [64730, 1], - [64729, 1], - [64728, 1], - [64723, 0, "a"], - [64724, 0, "p"], - [64725, 0, "p"], - [64726, 0, "l"], - [64727, 0, "y"], - [64728, 0, "i"], - [64729, 0, "n"], - [64730, 0, "g"], - [64731, 0, " "], - [64737, 0, "i"], - [64738, 0, "o"], - [64739, 0, "n"], - [64740, 0, " "], - [64741, 0, "o"], - [64742, 0, "p"], - [64743, 0, "e"], - [64744, 0, "r"], - [64745, 0, "a"], - [64746, 0, "t"], - [64747, 0, "i"], - [64748, 0, "o"], - [64749, 0, "n"], - [64750, 0, "s"], - [64751, 0, " "], - [64752, 0, "t"], - [64753, 0, "o"], - [64754, 0, " "], - [64755, 0, "r"], - [64756, 0, "e"], - [64757, 0, "p"], - [64758, 0, "l"], - [64759, 0, "i"], - [64760, 0, "c"], - [64761, 0, "a"], - [64762, 0, " "], - [64763, 0, "s"], - [64764, 0, "t"], - [64765, 0, "a"], - [64766, 0, "t"], - [64767, 0, "e"], - [64768, 0, "."], - [64755, 1], - [64755, 1], - [64755, 1], - [64755, 1], - [64755, 1], - [64755, 1], - [64755, 1], - [64755, 0, "u"], - [64756, 0, "p"], - [64757, 0, "d"], - [64758, 0, "a"], - [64759, 0, "t"], - [64760, 0, "e"], - [64761, 0, " "], - [64762, 0, "t"], - [64763, 0, "h"], - [64764, 0, "e"], - [64765, 0, " "], - [64765, 1], - [64771, 0, " "], - [64772, 0, "o"], - [64773, 0, "f"], - [64774, 0, " "], - [64775, 0, "a"], - [64776, 0, " "], - [64777, 0, "r"], - [64778, 0, "e"], - [64779, 0, "p"], - [64780, 0, "l"], - [64781, 0, "i"], - [64782, 0, "c"], - [64783, 0, "a"], - [49471, 1], - [49471, 1], - [49471, 1], - [49471, 1], - [49471, 1], - [49471, 1], - [49471, 1], - [49976, 1], - [49975, 1], - [49974, 1], - [49973, 1], - [49972, 1], - [49971, 1], - [49970, 1], - [49969, 1], - [49968, 1], - [49967, 1], - [49966, 1], - [49965, 1], - [49965, 0, "r"], - [49966, 0, "e"], - [49967, 0, "p"], - [49968, 0, "l"], - [49969, 0, "i"], - [49970, 0, "c"], - [49971, 0, "a"], - [49972, 0, " "], - [49973, 0, "$"], - [49974, 0, "p"], - [49975, 0, "$"], - [52675, 0, "\\"], - [52676, 0, "v"], - [52677, 0, "s"], - [52678, 0, "p"], - [52679, 0, "a"], - [52680, 0, "c"], - [52681, 0, "e"], - [52682, 0, "{"], - [52683, 0, "6"], - [52684, 0, "p"], - [52685, 0, "t"], - [52686, 0, "}"], - [53305, 0, "\\"], - [53306, 0, "v"], - [53307, 0, "s"], - [53308, 0, "p"], - [53309, 0, "a"], - [53310, 0, "c"], - [53311, 0, "e"], - [53312, 0, "{"], - [53313, 0, "6"], - [53314, 0, "p"], - [53315, 0, "t"], - [53316, 0, "}"], - [53920, 0, "\\"], - [53921, 0, "v"], - [53922, 0, "s"], - [53923, 0, "p"], - [53924, 0, "a"], - [53925, 0, "c"], - [53926, 0, "e"], - [53927, 0, "{"], - [53928, 0, "6"], - [53929, 0, "p"], - [53930, 0, "t"], - [53931, 0, "}"], - [54324, 0, "\\"], - [54325, 0, "v"], - [54326, 0, "s"], - [54327, 0, "p"], - [54328, 0, "a"], - [54329, 0, "c"], - [54330, 0, "e"], - [54331, 0, "{"], - [54332, 0, "6"], - [54333, 0, "p"], - [54334, 0, "t"], - [54335, 0, "}"], - [55050, 0, "\\"], - [55051, 0, "v"], - [55052, 0, "s"], - [55053, 0, "p"], - [55054, 0, "a"], - [55055, 0, "c"], - [55056, 0, "e"], - [55057, 0, "{"], - [55058, 0, "6"], - [55059, 0, "p"], - [55060, 0, "t"], - [55061, 0, "}"], - [55675, 0, "\\"], - [55676, 0, "v"], - [55677, 0, "s"], - [55678, 0, "p"], - [55679, 0, "a"], - [55680, 0, "c"], - [55681, 0, "e"], - [55682, 0, "{"], - [55683, 0, "6"], - [55684, 0, "p"], - [55685, 0, "t"], - [55686, 0, "}"], - [56290, 0, "\\"], - [56291, 0, "v"], - [56292, 0, "s"], - [56293, 0, "p"], - [56294, 0, "a"], - [56295, 0, "c"], - [56296, 0, "e"], - [56297, 0, "{"], - [56298, 0, "6"], - [56299, 0, "p"], - [56300, 0, "t"], - [56301, 0, "}"], - [56990, 0, "\\"], - [56991, 0, "v"], - [56992, 0, "s"], - [56993, 0, "p"], - [56994, 0, "a"], - [56995, 0, "c"], - [56996, 0, "e"], - [56997, 0, "{"], - [56998, 0, "6"], - [56999, 0, "p"], - [57000, 0, "t"], - [57001, 0, "}"], - [57842, 0, " "], - [57843, 0, "T"], - [57844, 0, "h"], - [57845, 0, "e"], - [57846, 0, " "], - [57847, 0, "c"], - [57848, 0, "o"], - [57849, 0, "n"], - [57850, 0, "t"], - [57851, 0, "e"], - [57852, 0, "x"], - [57853, 0, "t"], - [57854, 0, " "], - [57855, 0, "i"], - [57856, 0, "s"], - [57857, 0, " "], - [57858, 0, "i"], - [57859, 0, "n"], - [57860, 0, "i"], - [57861, 0, "t"], - [57862, 0, "i"], - [57863, 0, "a"], - [57864, 0, "l"], - [57865, 0, "l"], - [57866, 0, "y"], - [57867, 0, " "], - [57868, 0, "t"], - [57869, 0, "h"], - [57870, 0, "e"], - [57871, 0, " "], - [57872, 0, "r"], - [57873, 0, "e"], - [57874, 0, "p"], - [57875, 0, "l"], - [57876, 0, "i"], - [57877, 0, "c"], - [57878, 0, "a"], - [57879, 0, " "], - [57880, 0, "s"], - [57881, 0, "t"], - [57882, 0, "a"], - [57883, 0, "t"], - [57884, 0, "e"], - [57885, 0, "$"], - [57885, 1], - [57885, 0, " "], - [57886, 0, "$"], - [57887, 0, "A"], - [57888, 0, "-"], - [57888, 1], - [57888, 0, "_"], - [57889, 0, "p"], - [57890, 0, "$"], - [57891, 0, ","], - [57892, 0, " "], - [57893, 0, "b"], - [57894, 0, "u"], - [57895, 0, "t"], - [57896, 0, " "], - [57897, 0, "m"], - [57898, 0, "a"], - [57899, 0, "y"], - [57900, 0, " "], - [57901, 0, "r"], - [57902, 0, "e"], - [57903, 0, "f"], - [57904, 0, "e"], - [57905, 0, "r"], - [57906, 0, " "], - [57907, 0, "t"], - [57908, 0, "o"], - [57909, 0, " "], - [57910, 0, "i"], - [57911, 0, "n"], - [57912, 0, "n"], - [57913, 0, "e"], - [57914, 0, "r"], - [57915, 0, " "], - [57916, 0, "p"], - [57917, 0, "a"], - [57918, 0, "r"], - [57919, 0, "t"], - [57920, 0, "s"], - [57921, 0, " "], - [57922, 0, "o"], - [57923, 0, "f"], - [57924, 0, " "], - [57925, 0, "t"], - [57926, 0, "h"], - [57927, 0, "e"], - [57928, 0, " "], - [57929, 0, "s"], - [57930, 0, "t"], - [57931, 0, "a"], - [57932, 0, "t"], - [57933, 0, "e"], - [57934, 0, " "], - [57935, 0, "a"], - [57936, 0, "s"], - [57937, 0, " "], - [57938, 0, "r"], - [57939, 0, "u"], - [57940, 0, "l"], - [57941, 0, "e"], - [57942, 0, "s"], - [57943, 0, " "], - [57944, 0, "a"], - [57945, 0, "r"], - [57946, 0, "e"], - [57947, 0, " "], - [57948, 0, "r"], - [57949, 0, "e"], - [57950, 0, "c"], - [57951, 0, "u"], - [57952, 0, "r"], - [57953, 0, "s"], - [57954, 0, "i"], - [57955, 0, "v"], - [57956, 0, "e"], - [57957, 0, "l"], - [57958, 0, "y"], - [57959, 0, " "], - [57960, 0, "a"], - [57961, 0, "p"], - [57962, 0, "p"], - [57963, 0, "l"], - [57964, 0, "i"], - [57965, 0, "e"], - [57966, 0, "d"], - [57967, 0, "."], - [57920, 1], - [57919, 1], - [57918, 1], - [57917, 1], - [57916, 1], - [57915, 1], - [57914, 1], - [57913, 1], - [57912, 1], - [57911, 1], - [57910, 1], - [57910, 0, "s"], - [57911, 0, "u"], - [57912, 0, "b"], - [57913, 0, "t"], - [57914, 0, "r"], - [57915, 0, "e"], - [57916, 0, "e"], - [57917, 0, "s"], - [58990, 0, " "], - [58991, 0, "p"], - [58992, 0, "r"], - [58993, 0, "i"], - [58994, 0, "m"], - [58995, 0, "i"], - [58996, 0, "t"], - [58997, 0, "i"], - [58998, 0, "v"], - [58999, 0, "e"], - [59000, 0, " "], - [59001, 0, "v"], - [59002, 0, "a"], - [59003, 0, "l"], - [59004, 0, "u"], - [59005, 0, "e"], - [59006, 0, " "], - [59007, 0, "t"], - [59008, 0, "o"], - [59009, 0, " "], - [59010, 0, "a"], - [59980, 0, " "], - [59981, 0, "O"], - [59982, 0, "u"], - [59983, 0, "r"], - [59984, 0, " "], - [59985, 0, "a"], - [59986, 0, "p"], - [59987, 0, "p"], - [59988, 0, "r"], - [59989, 0, "o"], - [59990, 0, "a"], - [59991, 0, "c"], - [59992, 0, "h"], - [59993, 0, " "], - [59994, 0, "f"], - [59995, 0, "o"], - [59996, 0, "r"], - [59997, 0, " "], - [59998, 0, "h"], - [59999, 0, "a"], - [60000, 0, "n"], - [60001, 0, "d"], - [60002, 0, "l"], - [60003, 0, "i"], - [60004, 0, "n"], - [60005, 0, "g"], - [60006, 0, " "], - [60007, 0, "i"], - [60008, 0, "n"], - [60009, 0, "s"], - [60010, 0, "e"], - [60011, 0, "r"], - [60012, 0, "t"], - [60013, 0, "i"], - [60014, 0, "o"], - [60015, 0, "n"], - [60016, 0, "s"], - [60017, 0, " "], - [60018, 0, "i"], - [60019, 0, "s"], - [60020, 0, " "], - [60021, 0, "b"], - [60022, 0, "a"], - [60023, 0, "s"], - [60024, 0, "e"], - [60025, 0, "d"], - [60026, 0, " "], - [60027, 0, "o"], - [60028, 0, "n"], - [60029, 0, " "], - [60030, 0, "t"], - [60031, 0, "h"], - [60032, 0, "e"], - [60033, 0, " "], - [60034, 0, "R"], - [60035, 0, "G"], - [60036, 0, "A"], - [60037, 0, " "], - [60038, 0, "a"], - [60039, 0, "l"], - [60040, 0, "g"], - [60041, 0, "o"], - [60042, 0, "r"], - [60043, 0, "i"], - [60044, 0, "t"], - [60045, 0, "h"], - [60046, 0, "m"], - [60047, 0, "~"], - [60048, 0, "\\"], - [60049, 0, "c"], - [60050, 0, "i"], - [60051, 0, "t"], - [60052, 0, "e"], - [60053, 0, "{"], - [60054, 0, "R"], - [60055, 0, "o"], - [60056, 0, "h"], - [60057, 0, ":"], - [60058, 0, "2"], - [60059, 0, "0"], - [60060, 0, "1"], - [60061, 0, "1"], - [60062, 0, "d"], - [60063, 0, "w"], - [60064, 0, "}"], - [60065, 0, "."], - [65318, 0, ","], - [65319, 0, " "], - [65320, 0, "a"], - [65321, 0, "s"], - [65322, 0, " "], - [65323, 0, "i"], - [65324, 0, "l"], - [65325, 0, "l"], - [65326, 0, "u"], - [65327, 0, "s"], - [65328, 0, "t"], - [65329, 0, "r"], - [65330, 0, "a"], - [65331, 0, "t"], - [65332, 0, "e"], - [65333, 0, "d"], - [65334, 0, " "], - [65335, 0, "i"], - [65336, 0, "n"], - [65337, 0, " "], - [65338, 0, "F"], - [65339, 0, "i"], - [65340, 0, "g"], - [65341, 0, "u"], - [65342, 0, "r"], - [65343, 0, "e"], - [65344, 0, "~"], - [65345, 0, "\\"], - [65346, 0, "r"], - [65347, 0, "e"], - [65348, 0, "f"], - [65349, 0, "{"], - [65350, 0, "f"], - [65351, 0, "i"], - [65352, 0, "g"], - [65353, 0, ":"], - [65354, 0, "m"], - [65355, 0, "a"], - [65356, 0, "p"], - [65357, 0, "-"], - [65358, 0, "r"], - [65359, 0, "e"], - [65360, 0, "m"], - [65361, 0, "o"], - [65362, 0, "v"], - [65363, 0, "e"], - [65364, 0, "}"], - [4322, 1], - [4322, 0, "S"], - [5713, 1], - [5713, 0, "S"], - [6951, 1], - [6951, 0, "S"], - [7856, 1], - [7856, 0, "S"], - [8258, 1], - [8258, 0, "S"], - [9345, 1], - [9345, 0, "S"], - [14871, 1], - [14871, 0, "S"], - [15320, 1], - [15320, 0, "S"], - [67329, 0, "\n"], - [67330, 0, "\\"], - [67331, 0, "s"], - [67332, 0, "u"], - [67333, 0, "b"], - [67334, 0, "s"], - [67335, 0, "e"], - [67336, 0, "c"], - [67337, 0, "t"], - [67338, 0, "i"], - [67339, 0, "o"], - [67340, 0, "n"], - [67341, 0, "{"], - [67342, 0, "C"], - [67343, 0, "o"], - [67344, 0, "n"], - [67345, 0, "v"], - [67346, 0, "e"], - [67347, 0, "r"], - [67348, 0, "g"], - [67349, 0, "e"], - [67350, 0, "n"], - [67351, 0, "c"], - [67352, 0, "e"], - [67353, 0, "}"], - [67354, 0, "\\"], - [67355, 0, "l"], - [67356, 0, "a"], - [67357, 0, "b"], - [67358, 0, "e"], - [67359, 0, "l"], - [67360, 0, "{"], - [67361, 0, "s"], - [67362, 0, "e"], - [67363, 0, "c"], - [67364, 0, ":"], - [67365, 0, "c"], - [67366, 0, "o"], - [67367, 0, "n"], - [67368, 0, "v"], - [67369, 0, "e"], - [67370, 0, "r"], - [67371, 0, "g"], - [67372, 0, "e"], - [67373, 0, "n"], - [67374, 0, "c"], - [67375, 0, "e"], - [67376, 0, "}"], - [67377, 0, "\n"], - [67378, 0, "\n"], - [5855, 0, "l"], - [5856, 0, "a"], - [5857, 0, "b"], - [5857, 1], - [5856, 1], - [5855, 1], - [5855, 0, "\\"], - [5856, 0, "l"], - [5857, 0, "a"], - [5858, 0, "b"], - [5859, 0, "e"], - [5860, 0, "l"], - [5861, 0, "{"], - [5862, 0, "s"], - [5863, 0, "e"], - [5864, 0, "c"], - [5865, 0, ":"], - [5866, 0, "i"], - [5867, 0, "n"], - [5868, 0, "t"], - [5869, 0, "r"], - [5870, 0, "o"], - [5871, 0, "-"], - [5872, 0, "r"], - [5873, 0, "e"], - [5874, 0, "p"], - [5875, 0, "l"], - [5876, 0, "i"], - [5877, 0, "c"], - [5878, 0, "a"], - [5879, 0, "t"], - [5880, 0, "i"], - [5881, 0, "o"], - [5882, 0, "n"], - [5883, 0, "}"], - [67408, 0, "A"], - [67409, 0, "s"], - [67410, 0, " "], - [67411, 0, "o"], - [67412, 0, "u"], - [67413, 0, "t"], - [67414, 0, "l"], - [67415, 0, "i"], - [67416, 0, "n"], - [67417, 0, "e"], - [67418, 0, "d"], - [67419, 0, " "], - [67420, 0, "i"], - [67421, 0, "n"], - [67422, 0, " "], - [67423, 0, "S"], - [67424, 0, "e"], - [67425, 0, "c"], - [67426, 0, "t"], - [67427, 0, "i"], - [67428, 0, "o"], - [67429, 0, "n"], - [67430, 0, "~"], - [67431, 0, "\\"], - [67432, 0, "r"], - [67433, 0, "e"], - [67434, 0, "f"], - [67435, 0, "{"], - [67436, 0, "s"], - [67437, 0, "e"], - [67438, 0, "c"], - [67439, 0, ":"], - [67440, 0, "i"], - [67441, 0, "n"], - [67442, 0, "t"], - [67443, 0, "r"], - [67444, 0, "o"], - [67445, 0, "-"], - [67446, 0, "r"], - [67447, 0, "e"], - [67448, 0, "p"], - [67449, 0, "l"], - [67450, 0, "i"], - [67451, 0, "c"], - [67452, 0, "a"], - [67453, 0, "t"], - [67454, 0, "i"], - [67455, 0, "o"], - [67456, 0, "n"], - [67457, 0, "}"], - [67458, 0, ","], - [67459, 0, " "], - [67460, 0, "w"], - [67461, 0, "e"], - [67462, 0, " "], - [67463, 0, "r"], - [67464, 0, "e"], - [67465, 0, "q"], - [67466, 0, "u"], - [67467, 0, "i"], - [67468, 0, "r"], - [67469, 0, "e"], - [67470, 0, " "], - [67471, 0, "t"], - [67472, 0, "h"], - [67473, 0, "a"], - [67474, 0, "t"], - [67475, 0, " "], - [67476, 0, "a"], - [67477, 0, "l"], - [67478, 0, "l"], - [67479, 0, " "], - [67480, 0, "r"], - [67481, 0, "e"], - [67482, 0, "p"], - [67483, 0, "l"], - [67484, 0, "i"], - [67485, 0, "c"], - [67486, 0, "a"], - [67487, 0, "s"], - [67488, 0, " "], - [67489, 0, "a"], - [67490, 0, "u"], - [67491, 0, "t"], - [67492, 0, "o"], - [67493, 0, "m"], - [67494, 0, "a"], - [67495, 0, "t"], - [67496, 0, "i"], - [67497, 0, "c"], - [67498, 0, "a"], - [67499, 0, "l"], - [67500, 0, "l"], - [67501, 0, "y"], - [67502, 0, " "], - [67503, 0, "c"], - [67504, 0, "o"], - [67505, 0, "n"], - [67506, 0, "v"], - [67507, 0, "e"], - [67508, 0, "r"], - [67509, 0, "g"], - [67510, 0, "e"], - [67511, 0, " "], - [67512, 0, "t"], - [67513, 0, "o"], - [67514, 0, "w"], - [67515, 0, "a"], - [67516, 0, "r"], - [67517, 0, "d"], - [67518, 0, "s"], - [67519, 0, " "], - [67520, 0, "t"], - [67521, 0, "h"], - [67522, 0, "e"], - [67523, 0, " "], - [67524, 0, "s"], - [67525, 0, "a"], - [67526, 0, "m"], - [67527, 0, "e"], - [67528, 0, " "], - [67529, 0, "s"], - [67530, 0, "t"], - [67531, 0, "a"], - [67532, 0, "t"], - [67533, 0, "e"], - [67534, 0, "."], - [67535, 0, " "], - [67536, 0, "T"], - [67537, 0, "h"], - [67538, 0, "i"], - [67538, 1], - [67537, 1], - [67536, 1], - [67534, 0, " "], - [67535, 0, "-"], - [67536, 0, "-"], - [67537, 0, " "], - [67538, 0, "a"], - [67539, 0, " "], - [67540, 0, "k"], - [67541, 0, "e"], - [67542, 0, "y"], - [67543, 0, " "], - [67544, 0, "r"], - [67545, 0, "e"], - [67546, 0, "q"], - [67547, 0, "u"], - [67548, 0, "i"], - [67549, 0, "r"], - [67550, 0, "e"], - [67551, 0, "m"], - [67552, 0, "e"], - [67553, 0, "n"], - [67554, 0, "t"], - [67555, 0, " "], - [67556, 0, "o"], - [67557, 0, "f"], - [67558, 0, " "], - [67559, 0, "a"], - [67560, 0, " "], - [67561, 0, "C"], - [67562, 0, "R"], - [67563, 0, "D"], - [67564, 0, "T"], - [67567, 0, "W"], - [67568, 0, "e"], - [67569, 0, " "], - [67570, 0, "n"], - [67571, 0, "o"], - [67572, 0, "w"], - [67573, 0, " "], - [67574, 0, "f"], - [67575, 0, "o"], - [67576, 0, "r"], - [67577, 0, "m"], - [67578, 0, "a"], - [67579, 0, "l"], - [67580, 0, "i"], - [67581, 0, "z"], - [67582, 0, "e"], - [67583, 0, " "], - [67584, 0, "t"], - [67585, 0, "h"], - [67586, 0, "i"], - [67587, 0, "s"], - [67588, 0, " "], - [67589, 0, "n"], - [67590, 0, "o"], - [67591, 0, "t"], - [67592, 0, "i"], - [67593, 0, "o"], - [67594, 0, "n"], - [67595, 0, ","], - [67596, 0, " "], - [67597, 0, "a"], - [67598, 0, "n"], - [67599, 0, "d"], - [67600, 0, " "], - [67601, 0, "s"], - [67602, 0, "h"], - [67603, 0, "o"], - [67604, 0, "w"], - [67605, 0, " "], - [67606, 0, "t"], - [67607, 0, "h"], - [67608, 0, "a"], - [67609, 0, "t"], - [67610, 0, " "], - [67611, 0, "t"], - [67612, 0, "h"], - [67613, 0, "e"], - [67614, 0, " "], - [67615, 0, "r"], - [67616, 0, "u"], - [67617, 0, "l"], - [67618, 0, "e"], - [67619, 0, "s"], - [67620, 0, " "], - [67621, 0, "i"], - [67622, 0, "n"], - [67623, 0, " "], - [67624, 0, "F"], - [67625, 0, "i"], - [67626, 0, "g"], - [67627, 0, "u"], - [67628, 0, "r"], - [67629, 0, "e"], - [67630, 0, "s"], - [67631, 0, "~"], - [67632, 0, "\\"], - [67633, 0, "r"], - [67634, 0, "e"], - [67635, 0, "f"], - [67636, 0, "{"], - [67637, 0, "f"], - [67638, 0, "i"], - [67639, 0, "g"], - [67640, 0, ":"], - [67641, 0, "e"], - [67642, 0, "x"], - [67643, 0, "p"], - [67644, 0, "r"], - [67645, 0, "-"], - [67646, 0, "r"], - [67647, 0, "u"], - [67648, 0, "l"], - [67649, 0, "e"], - [67650, 0, "s"], - [67651, 0, "}"], - [67652, 0, " "], - [67653, 0, "t"], - [67654, 0, "o"], - [67655, 0, " "], - [67655, 1], - [67655, 0, "~"], - [67656, 0, "\\"], - [67657, 0, "r"], - [67658, 0, "e"], - [67659, 0, "f"], - [67660, 0, "{"], - [67661, 0, "f"], - [67662, 0, "i"], - [67663, 0, "g"], - [67664, 0, ":"], - [67665, 0, "c"], - [67666, 0, "l"], - [67667, 0, "e"], - [67668, 0, "a"], - [67669, 0, "r"], - [67670, 0, "-"], - [67671, 0, "r"], - [67672, 0, "u"], - [67673, 0, "l"], - [67674, 0, "e"], - [67675, 0, "s"], - [67676, 0, "}"], - [67677, 0, " "], - [67678, 0, "s"], - [67679, 0, "a"], - [67680, 0, "t"], - [67681, 0, "i"], - [67682, 0, "s"], - [67683, 0, "f"], - [67684, 0, "y"], - [67685, 0, " "], - [67686, 0, "t"], - [67687, 0, "h"], - [67688, 0, "i"], - [67689, 0, "s"], - [67690, 0, " "], - [67691, 0, "r"], - [67692, 0, "e"], - [67693, 0, "q"], - [67694, 0, "u"], - [67695, 0, "i"], - [67696, 0, "r"], - [67697, 0, "e"], - [67698, 0, "m"], - [67699, 0, "e"], - [67700, 0, "n"], - [67701, 0, "t"], - [67702, 0, "."], - [318, 0, "\n"], - [319, 0, "%"], - [320, 0, " "], - [321, 0, "T"], - [322, 0, "h"], - [323, 0, "e"], - [324, 0, "o"], - [325, 0, "r"], - [326, 0, "e"], - [327, 0, "m"], - [328, 0, " "], - [329, 0, "e"], - [330, 0, "n"], - [331, 0, "v"], - [332, 0, "i"], - [333, 0, "r"], - [334, 0, "o"], - [335, 0, "n"], - [336, 0, "m"], - [337, 0, "e"], - [338, 0, "n"], - [339, 0, "t"], - [340, 0, "s"], - [341, 0, "\n"], - [342, 0, "\\"], - [343, 0, "u"], - [344, 0, "s"], - [345, 0, "e"], - [346, 0, "p"], - [347, 0, "a"], - [348, 0, "c"], - [349, 0, "k"], - [350, 0, "a"], - [351, 0, "g"], - [352, 0, "e"], - [353, 0, "{"], - [354, 0, "a"], - [355, 0, "m"], - [356, 0, "s"], - [357, 0, "t"], - [358, 0, "h"], - [359, 0, "m"], - [360, 0, "}"], - [361, 0, "\n"], - [362, 0, "\n"], - [362, 0, "\\"], - [363, 0, "n"], - [364, 0, "e"], - [365, 0, "w"], - [366, 0, "t"], - [367, 0, "h"], - [368, 0, "e"], - [369, 0, "o"], - [370, 0, "r"], - [371, 0, "e"], - [372, 0, "m"], - [373, 0, "{"], - [374, 0, "t"], - [375, 0, "h"], - [376, 0, "e"], - [377, 0, "o"], - [378, 0, "r"], - [379, 0, "e"], - [380, 0, "m"], - [381, 0, "}"], - [382, 0, "{"], - [383, 0, "T"], - [384, 0, "h"], - [385, 0, "e"], - [386, 0, "o"], - [387, 0, "r"], - [388, 0, "e"], - [389, 0, "m"], - [390, 0, "}"], - [391, 0, "\n"], - [392, 0, "\\"], - [393, 0, "n"], - [394, 0, "e"], - [395, 0, "w"], - [396, 0, "t"], - [397, 0, "h"], - [398, 0, "e"], - [399, 0, "o"], - [400, 0, "r"], - [401, 0, "e"], - [402, 0, "m"], - [403, 0, "{"], - [404, 0, "l"], - [405, 0, "e"], - [406, 0, "m"], - [407, 0, "m"], - [408, 0, "a"], - [409, 0, "}"], - [410, 0, "["], - [411, 0, "t"], - [412, 0, "h"], - [413, 0, "e"], - [414, 0, "o"], - [415, 0, "r"], - [416, 0, "e"], - [417, 0, "m"], - [418, 0, "]"], - [419, 0, "{"], - [420, 0, "L"], - [421, 0, "e"], - [422, 0, "m"], - [423, 0, "m"], - [424, 0, "a"], - [425, 0, "}"], - [581, 1], - [580, 1], - [579, 1], - [578, 1], - [578, 0, "f"], - [579, 0, "a"], - [580, 0, "l"], - [581, 0, "s"], - [582, 0, "e"], - [361, 0, "\n"], - [362, 0, "\\"], - [363, 0, "n"], - [364, 0, "e"], - [365, 0, "w"], - [366, 0, "t"], - [367, 0, "h"], - [368, 0, "e"], - [369, 0, "o"], - [370, 0, "r"], - [371, 0, "e"], - [372, 0, "m"], - [373, 0, "{"], - [374, 0, "d"], - [375, 0, "e"], - [376, 0, "f"], - [377, 0, "i"], - [378, 0, "n"], - [379, 0, "i"], - [380, 0, "t"], - [381, 0, "i"], - [382, 0, "o"], - [383, 0, "n"], - [384, 0, "}"], - [385, 0, "{"], - [386, 0, "D"], - [387, 0, "e"], - [388, 0, "f"], - [389, 0, "i"], - [390, 0, "n"], - [391, 0, "i"], - [392, 0, "t"], - [393, 0, "i"], - [394, 0, "o"], - [395, 0, "n"], - [396, 0, "}"], - [67849, 0, "\n"], - [67850, 0, "\n"], - [67851, 0, "\\"], - [67852, 0, "b"], - [67853, 0, "e"], - [67854, 0, "g"], - [67855, 0, "i"], - [67856, 0, "n"], - [67857, 0, "{"], - [67858, 0, "d"], - [67859, 0, "e"], - [67860, 0, "f"], - [67861, 0, "i"], - [67862, 0, "n"], - [67863, 0, "i"], - [67864, 0, "t"], - [67865, 0, "i"], - [67866, 0, "o"], - [67867, 0, "n"], - [67868, 0, "}"], - [67869, 0, "\n"], - [67870, 0, "\\"], - [67871, 0, "e"], - [67872, 0, "n"], - [67873, 0, "d"], - [67874, 0, "{"], - [67875, 0, "d"], - [67876, 0, "e"], - [67877, 0, "f"], - [67878, 0, "i"], - [67879, 0, "n"], - [67880, 0, "i"], - [67881, 0, "t"], - [67882, 0, "i"], - [67883, 0, "o"], - [67884, 0, "n"], - [67885, 0, "}"], - [67869, 0, "\n"], - [67870, 0, "A"], - [67871, 0, " "], - [67872, 0, "\\"], - [67873, 0, "e"], - [67874, 0, "m"], - [67875, 0, "p"], - [67876, 0, "h"], - [67877, 0, "{"], - [67878, 0, "v"], - [67879, 0, "a"], - [67880, 0, "l"], - [67881, 0, "i"], - [67882, 0, "d"], - [67883, 0, " "], - [67884, 0, "e"], - [67885, 0, "x"], - [67886, 0, "e"], - [67887, 0, "c"], - [67888, 0, "u"], - [67889, 0, "t"], - [67890, 0, "i"], - [67891, 0, "o"], - [67892, 0, "n"], - [67893, 0, "}"], - [67894, 0, " "], - [67895, 0, "i"], - [67896, 0, "s"], - [67897, 0, " "], - [67898, 0, "a"], - [67899, 0, " "], - [67900, 0, "s"], - [67901, 0, "e"], - [67901, 1], - [67900, 1], - [67900, 0, "s"], - [67901, 0, "e"], - [67902, 0, "t"], - [67903, 0, " "], - [67904, 0, "o"], - [67905, 0, "f"], - [67906, 0, " "], - [67907, 0, "o"], - [67908, 0, "p"], - [67909, 0, "e"], - [67910, 0, "r"], - [67911, 0, "a"], - [67912, 0, "t"], - [67913, 0, "i"], - [67914, 0, "o"], - [67915, 0, "n"], - [67916, 0, "s"], - [67917, 0, " "], - [67918, 0, "g"], - [67919, 0, "e"], - [67920, 0, "n"], - [67921, 0, "e"], - [67922, 0, "r"], - [67923, 0, "a"], - [67924, 0, "t"], - [67925, 0, "e"], - [67926, 0, "d"], - [67927, 0, " "], - [67928, 0, "b"], - [67929, 0, "y"], - [67930, 0, " "], - [67931, 0, "a"], - [67932, 0, " "], - [67933, 0, "s"], - [67934, 0, "e"], - [67935, 0, "t"], - [67936, 0, " "], - [67937, 0, "o"], - [67938, 0, "f"], - [67939, 0, " "], - [67940, 0, "r"], - [67941, 0, "e"], - [67942, 0, "p"], - [67943, 0, "l"], - [67944, 0, "i"], - [67945, 0, "c"], - [67946, 0, "a"], - [67947, 0, "s"], - [67948, 0, " "], - [67949, 0, "$"], - [67950, 0, "\\"], - [67951, 0, "{"], - [67952, 0, "p"], - [67953, 0, "_"], - [67954, 0, "1"], - [67955, 0, ","], - [67956, 0, " "], - [67957, 0, "\\"], - [67958, 0, "d"], - [67959, 0, "o"], - [67960, 0, "t"], - [67961, 0, "s"], - [67962, 0, ","], - [67963, 0, " "], - [67964, 0, "p"], - [67965, 0, "_"], - [67966, 0, "k"], - [67967, 0, "\\"], - [67968, 0, "}"], - [67969, 0, " "], - [67970, 0, "="], - [67971, 0, " "], - [67972, 0, "\\"], - [67973, 0, "m"], - [67974, 0, "a"], - [67975, 0, "t"], - [67976, 0, "h"], - [67977, 0, "r"], - [67978, 0, "m"], - [67979, 0, "{"], - [67980, 0, "R"], - [67981, 0, "e"], - [67982, 0, "p"], - [67983, 0, "l"], - [67984, 0, "i"], - [67985, 0, "c"], - [67986, 0, "a"], - [67987, 0, "I"], - [67988, 0, "D"], - [67989, 0, "}"], - [67990, 0, "$"], - [67991, 0, ","], - [67992, 0, " "], - [67993, 0, "e"], - [67994, 0, "a"], - [67995, 0, "h"], - [67995, 1], - [67995, 0, "c"], - [67996, 0, "h"], - [67997, 0, " "], - [67998, 0, "r"], - [67999, 0, "e"], - [68000, 0, "d"], - [68001, 0, "u"], - [68002, 0, "c"], - [68003, 0, "i"], - [68004, 0, "n"], - [68005, 0, "g"], - [68006, 0, " "], - [68007, 0, "a"], - [68008, 0, " "], - [68009, 0, "s"], - [68010, 0, "e"], - [68011, 0, "q"], - [68012, 0, "u"], - [68013, 0, "e"], - [68014, 0, "n"], - [68015, 0, "c"], - [68016, 0, "e"], - [68017, 0, " "], - [68018, 0, "o"], - [68019, 0, "f"], - [68020, 0, " "], - [68021, 0, "c"], - [68022, 0, "o"], - [68023, 0, "m"], - [68024, 0, "m"], - [68025, 0, "a"], - [68026, 0, "n"], - [68027, 0, "d"], - [68028, 0, "s"], - [68029, 0, " "], - [68030, 0, "$"], - [68031, 0, "\\"], - [68032, 0, "l"], - [68033, 0, "a"], - [68034, 0, "n"], - [68035, 0, "g"], - [68036, 0, "l"], - [68037, 0, "e"], - [68038, 0, " "], - [68039, 0, "\\"], - [68040, 0, "m"], - [68041, 0, "a"], - [68042, 0, "t"], - [68043, 0, "h"], - [68044, 0, "i"], - [68045, 0, "t"], - [68046, 0, "{"], - [68047, 0, "c"], - [68048, 0, "m"], - [68049, 0, "d"], - [68050, 0, "}"], - [68051, 0, "_"], - [68052, 0, "1"], - [68053, 0, " "], - [68054, 0, "\\"], - [68055, 0, "m"], - [68056, 0, "a"], - [68057, 0, "t"], - [68058, 0, "h"], - [68059, 0, "b"], - [68060, 0, "i"], - [68061, 0, "n"], - [68062, 0, "{"], - [68063, 0, ";"], - [68064, 0, "}"], - [68065, 0, " "], - [68066, 0, "\\"], - [68067, 0, "d"], - [68068, 0, "o"], - [68069, 0, "t"], - [68070, 0, "s"], - [68071, 0, " "], - [68072, 0, "\\"], - [68073, 0, "m"], - [68074, 0, "a"], - [68075, 0, "t"], - [68076, 0, "h"], - [68077, 0, "b"], - [68078, 0, "i"], - [68079, 0, "n"], - [68080, 0, "{"], - [68081, 0, ";"], - [68082, 0, "]"], - [68082, 1], - [68082, 0, "}"], - [68083, 0, " "], - [68084, 0, "\\"], - [68085, 0, "m"], - [68086, 0, "a"], - [68087, 0, "t"], - [68088, 0, "h"], - [68089, 0, "i"], - [68090, 0, "t"], - [68091, 0, "{"], - [68092, 0, "c"], - [68093, 0, "m"], - [68094, 0, "d"], - [68095, 0, "}"], - [68096, 0, "_"], - [68097, 0, "n"], - [68098, 0, " "], - [68099, 0, "\\"], - [68100, 0, "r"], - [68101, 0, "a"], - [68102, 0, "n"], - [68103, 0, "g"], - [68104, 0, "l"], - [68105, 0, "e"], - [68106, 0, "$"], - [68107, 0, "."], - [68107, 0, " "], - [68108, 0, "w"], - [68109, 0, "i"], - [68110, 0, "t"], - [68111, 0, "h"], - [68112, 0, "o"], - [68113, 0, "u"], - [68114, 0, "t"], - [68115, 0, " "], - [68116, 0, "g"], - [68117, 0, "e"], - [68118, 0, "t"], - [68119, 0, "t"], - [68120, 0, "i"], - [68121, 0, "n"], - [68122, 0, "g"], - [68123, 0, " "], - [68124, 0, "s"], - [68125, 0, "t"], - [68126, 0, "u"], - [68127, 0, "c"], - [68128, 0, "k"], - [68147, 0, "\n"], - [68148, 0, "\n"], - [68149, 0, "B"], - [68150, 0, "y"], - [68151, 0, " "], - [68152, 0, "c"], - [68153, 0, "o"], - [68154, 0, "n"], - [68155, 0, "s"], - [68156, 0, "t"], - [68157, 0, "r"], - [68158, 0, "a"], - [68159, 0, "i"], - [68160, 0, "n"], - [68161, 0, "i"], - [68162, 0, "n"], - [68163, 0, "g"], - [68164, 0, " "], - [68165, 0, "t"], - [68166, 0, "h"], - [68167, 0, "e"], - [68168, 0, " "], - [68168, 1], - [68167, 1], - [68166, 1], - [68165, 1], - [68164, 1], - [68163, 1], - [68162, 1], - [68161, 1], - [68160, 1], - [68159, 1], - [68158, 1], - [68157, 1], - [68156, 1], - [68155, 1], - [68154, 1], - [68153, 1], - [68152, 1], - [68151, 1], - [68150, 1], - [68149, 1], - [68149, 0, "A"], - [68150, 0, " "], - [68151, 0, "r"], - [68152, 0, "e"], - [68153, 0, "d"], - [68154, 0, "u"], - [68155, 0, "c"], - [68156, 0, "t"], - [68157, 0, "i"], - [68158, 0, "o"], - [68159, 0, "n"], - [68160, 0, " "], - [68161, 0, "g"], - [68162, 0, "e"], - [68163, 0, "t"], - [68164, 0, "s"], - [68165, 0, " "], - [68166, 0, "s"], - [68167, 0, "t"], - [68168, 0, "u"], - [68169, 0, "c"], - [68170, 0, "k"], - [68171, 0, " "], - [68172, 0, "i"], - [68173, 0, "f"], - [68174, 0, " "], - [68175, 0, "i"], - [68176, 0, "t"], - [68177, 0, "s"], - [68178, 0, " "], - [68179, 0, "p"], - [68180, 0, "r"], - [68181, 0, "e"], - [68181, 1], - [68180, 1], - [68179, 1], - [68179, 0, "p"], - [68180, 0, "r"], - [68181, 0, "e"], - [68182, 0, "m"], - [68183, 0, "i"], - [68184, 0, "s"], - [68185, 0, "e"], - [68186, 0, "s"], - [68187, 0, " "], - [68188, 0, "c"], - [68189, 0, "a"], - [68190, 0, "n"], - [68191, 0, "n"], - [68192, 0, "o"], - [68192, 1], - [68191, 1], - [68190, 1], - [68189, 1], - [68188, 1], - [68187, 1], - [68186, 1], - [68185, 1], - [68184, 1], - [68183, 1], - [68182, 1], - [68181, 1], - [68180, 1], - [68179, 1], - [68178, 1], - [68177, 1], - [68176, 1], - [68175, 1], - [68175, 0, "a"], - [68176, 0, " "], - [68177, 0, "p"], - [68178, 0, "r"], - [68179, 0, "e"], - [68180, 0, "m"], - [68181, 0, "i"], - [68182, 0, "s"], - [68183, 0, "e"], - [68184, 0, " "], - [68185, 0, "i"], - [68186, 0, "n"], - [68187, 0, " "], - [68188, 0, "o"], - [68189, 0, "n"], - [68190, 0, "e"], - [68191, 0, " "], - [68192, 0, "o"], - [68193, 0, "f"], - [68194, 0, " "], - [68195, 0, "t"], - [68196, 0, "h"], - [68197, 0, "e"], - [68198, 0, " "], - [68199, 0, "r"], - [68200, 0, "u"], - [68201, 0, "l"], - [68202, 0, "e"], - [68203, 0, " "], - [68204, 0, "a"], - [68205, 0, "p"], - [68206, 0, "p"], - [68207, 0, "l"], - [68208, 0, "i"], - [68209, 0, "c"], - [68210, 0, "a"], - [68211, 0, "t"], - [68212, 0, "i"], - [68213, 0, "o"], - [68214, 0, "n"], - [68215, 0, "s"], - [68216, 0, " "], - [68217, 0, "c"], - [68218, 0, "a"], - [68219, 0, "n"], - [68220, 0, "n"], - [68221, 0, "o"], - [68222, 0, "t"], - [68223, 0, " "], - [68224, 0, "b"], - [68225, 0, "e"], - [68226, 0, " "], - [68227, 0, "s"], - [68228, 0, "a"], - [68229, 0, "t"], - [68230, 0, "i"], - [68231, 0, "s"], - [68232, 0, "f"], - [68233, 0, "i"], - [68234, 0, "e"], - [68235, 0, "d"], - [68236, 0, "."], - [68237, 0, " "], - [68238, 0, "F"], - [68239, 0, "o"], - [68240, 0, "r"], - [68241, 0, " "], - [68242, 0, "e"], - [68243, 0, "x"], - [68244, 0, "a"], - [68245, 0, "m"], - [68246, 0, "p"], - [68247, 0, "l"], - [68248, 0, "e"], - [68249, 0, ","], - [68250, 0, " "], - [68251, 0, "t"], - [68252, 0, "h"], - [68253, 0, "e"], - [68254, 0, " "], - [68255, 0, "\\"], - [68256, 0, "t"], - [68257, 0, "e"], - [68258, 0, "x"], - [68259, 0, "t"], - [68260, 0, "s"], - [68261, 0, "c"], - [68255, 0, "$"], - [68263, 0, "{"], - [68264, 0, "N"], - [68265, 0, "e"], - [68266, 0, "x"], - [68267, 0, "t"], - [68268, 0, "}"], - [68269, 0, "_"], - [68270, 0, "{"], - [68271, 0, "2"], - [68272, 0, ","], - [68273, 0, "3"], - [68274, 0, "}"], - [68275, 0, "$"], - [68276, 0, " "], - [68277, 0, "r"], - [68278, 0, "u"], - [68279, 0, "l"], - [68280, 0, "e"], - [68281, 0, "s"], - [68282, 0, " "], - [68283, 0, "i"], - [68284, 0, "n"], - [68285, 0, " "], - [68286, 0, "F"], - [68287, 0, "i"], - [68288, 0, "g"], - [68289, 0, "u"], - [68290, 0, "r"], - [68291, 0, "e"], - [68292, 0, "~"], - [68293, 0, "\\"], - [68294, 0, "r"], - [68295, 0, "e"], - [68296, 0, "f"], - [68297, 0, "{"], - [68298, 0, "f"], - [68299, 0, "i"], - [68300, 0, "g"], - [68301, 0, ":"], - [68302, 0, "e"], - [68303, 0, "x"], - [68304, 0, "p"], - [68305, 0, "r"], - [68306, 0, "-"], - [68307, 0, "r"], - [68308, 0, "u"], - [68309, 0, "l"], - [68310, 0, "e"], - [68311, 0, "s"], - [68312, 0, "}"], - [68313, 0, " "], - [68314, 0, "g"], - [68315, 0, "e"], - [68316, 0, "t"], - [68317, 0, " "], - [68318, 0, "s"], - [68319, 0, "t"], - [68320, 0, "u"], - [68321, 0, "c"], - [68322, 0, "k"], - [68323, 0, " "], - [68324, 0, "i"], - [68325, 0, "f"], - [68326, 0, " "], - [68327, 0, "\\"], - [68328, 0, "t"], - [68329, 0, "e"], - [68330, 0, "x"], - [68331, 0, "t"], - [68332, 0, "s"], - [68333, 0, "f"], - [68334, 0, "{"], - [68335, 0, "n"], - [68336, 0, "e"], - [68337, 0, "x"], - [68338, 0, "t"], - [68339, 0, "}"], - [68340, 0, " "], - [68341, 0, "t"], - [68342, 0, "r"], - [68343, 0, "i"], - [68344, 0, "e"], - [68345, 0, "s"], - [68346, 0, " "], - [68347, 0, "t"], - [68348, 0, "o"], - [68349, 0, " "], - [68350, 0, "i"], - [68351, 0, "t"], - [68352, 0, "e"], - [68353, 0, "r"], - [68354, 0, "a"], - [68355, 0, "t"], - [68356, 0, "e"], - [68357, 0, " "], - [68358, 0, "p"], - [68359, 0, "a"], - [68360, 0, "s"], - [68361, 0, "t"], - [68362, 0, " "], - [68363, 0, "t"], - [68364, 0, "h"], - [68365, 0, "e"], - [68366, 0, " "], - [68367, 0, "e"], - [68368, 0, "n"], - [68369, 0, "d"], - [68370, 0, " "], - [68371, 0, "o"], - [68372, 0, "f"], - [68373, 0, " "], - [68374, 0, "a"], - [68375, 0, " "], - [68376, 0, "l"], - [68377, 0, "i"], - [68378, 0, "s"], - [68379, 0, "t"], - [68380, 0, "."], - [68381, 0, " "], - [68382, 0, "B"], - [68383, 0, "y"], - [68384, 0, " "], - [68385, 0, "c"], - [68386, 0, "o"], - [68387, 0, "n"], - [68388, 0, "s"], - [68389, 0, "t"], - [68390, 0, "r"], - [68391, 0, "a"], - [68392, 0, "i"], - [68393, 0, "n"], - [68394, 0, "i"], - [68395, 0, "n"], - [68396, 0, "g"], - [68397, 0, " "], - [68398, 0, "e"], - [68399, 0, "x"], - [68400, 0, "e"], - [68400, 1], - [68399, 1], - [68398, 1], - [68398, 0, "v"], - [68399, 0, "a"], - [68400, 0, "l"], - [68401, 0, "i"], - [68402, 0, "d"], - [68403, 0, " "], - [68404, 0, "e"], - [68405, 0, "x"], - [68406, 0, "e"], - [68407, 0, "c"], - [68408, 0, "u"], - [68409, 0, "t"], - [68410, 0, "i"], - [68411, 0, "o"], - [68412, 0, "n"], - [68413, 0, "s"], - [68414, 0, " "], - [68415, 0, "t"], - [68416, 0, "o"], - [68417, 0, " "], - [68418, 0, "t"], - [68419, 0, "h"], - [68420, 0, "o"], - [68421, 0, "s"], - [68422, 0, "e"], - [68423, 0, " "], - [68424, 0, "t"], - [68425, 0, "h"], - [68426, 0, "a"], - [68427, 0, "t"], - [68428, 0, " "], - [68429, 0, "d"], - [68430, 0, "o"], - [68431, 0, " "], - [68432, 0, "n"], - [68433, 0, "o"], - [68434, 0, "t"], - [68435, 0, " "], - [68436, 0, "g"], - [68437, 0, "e"], - [68438, 0, "t"], - [68439, 0, " "], - [68440, 0, "s"], - [68441, 0, "t"], - [68442, 0, "u"], - [68443, 0, "c"], - [68444, 0, "k"], - [68445, 0, ","], - [68446, 0, " "], - [68447, 0, "w"], - [68448, 0, "e"], - [68449, 0, " "], - [68450, 0, "e"], - [68451, 0, "n"], - [68452, 0, "s"], - [68381, 0, " "], - [68382, 0, "("], - [68383, 0, "I"], - [68384, 0, "n"], - [68385, 0, " "], - [68386, 0, "a"], - [68387, 0, " "], - [68388, 0, "r"], - [68389, 0, "e"], - [68390, 0, "a"], - [68391, 0, "l"], - [68392, 0, " "], - [68393, 0, "i"], - [68394, 0, "m"], - [68395, 0, "p"], - [68396, 0, "l"], - [68397, 0, "e"], - [68398, 0, "m"], - [68399, 0, "e"], - [68400, 0, "n"], - [68401, 0, "t"], - [68402, 0, "a"], - [68403, 0, "t"], - [68404, 0, "i"], - [68405, 0, "o"], - [68406, 0, "n"], - [68407, 0, " "], - [68408, 0, "t"], - [68409, 0, "h"], - [68410, 0, "i"], - [68411, 0, "s"], - [68412, 0, " "], - [68413, 0, "w"], - [68414, 0, "o"], - [68415, 0, "u"], - [68416, 0, "l"], - [68417, 0, "d"], - [68418, 0, " "], - [68419, 0, "b"], - [68420, 0, "e"], - [68421, 0, " "], - [68422, 0, "a"], - [68423, 0, " "], - [68424, 0, "r"], - [68425, 0, "u"], - [68426, 0, "n"], - [68427, 0, "t"], - [68428, 0, "i"], - [68429, 0, "m"], - [68430, 0, "e"], - [68431, 0, " "], - [68432, 0, "e"], - [68433, 0, "r"], - [68434, 0, "r"], - [68435, 0, "o"], - [68436, 0, "r"], - [68437, 0, "."], - [68383, 1], - [68382, 1], - [68381, 1], - [68380, 1], - [68380, 0, ";"], - [68381, 0, " "], - [68382, 0, "i"], - [68437, 0, " "], - [68437, 1], - [68509, 0, "u"], - [68510, 0, "r"], - [68511, 0, "e"], - [68512, 0, " "], - [68513, 0, "t"], - [68514, 0, "h"], - [68515, 0, "a"], - [68516, 0, "t"], - [68517, 0, " "], - [68518, 0, "o"], - [68519, 0, "p"], - [68520, 0, "e"], - [68521, 0, "r"], - [68522, 0, "a"], - [68523, 0, "t"], - [68524, 0, "i"], - [68525, 0, "o"], - [68526, 0, "n"], - [68527, 0, "s"], - [68528, 0, " "], - [68529, 0, "o"], - [68530, 0, "n"], - [68531, 0, "l"], - [68532, 0, "y"], - [68533, 0, " "], - [68534, 0, "r"], - [68535, 0, "e"], - [68536, 0, "f"], - [68537, 0, "e"], - [68538, 0, "r"], - [68539, 0, " "], - [68540, 0, "t"], - [68541, 0, "o"], - [68542, 0, " "], - [68543, 0, "l"], - [68544, 0, "i"], - [68545, 0, "s"], - [68546, 0, "t"], - [68547, 0, " "], - [68548, 0, "e"], - [68549, 0, "l"], - [68550, 0, "e"], - [68551, 0, "m"], - [68552, 0, "e"], - [68553, 0, "n"], - [68554, 0, "t"], - [68555, 0, "s"], - [68556, 0, " "], - [68557, 0, "t"], - [68558, 0, "h"], - [68559, 0, "a"], - [68560, 0, "t"], - [68561, 0, " "], - [68562, 0, "a"], - [68563, 0, "c"], - [68564, 0, "t"], - [68565, 0, "u"], - [68566, 0, "a"], - [68567, 0, "l"], - [68568, 0, "l"], - [68569, 0, "y"], - [68570, 0, " "], - [68571, 0, "e"], - [68572, 0, "x"], - [68573, 0, "i"], - [68574, 0, "s"], - [68575, 0, "t"], - [68576, 0, "."], - [68577, 0, "\n"], - [68578, 0, "\n"], - [68579, 0, "\\"], - [68580, 0, "b"], - [68581, 0, "e"], - [68582, 0, "g"], - [68583, 0, "i"], - [68584, 0, "n"], - [68585, 0, "{"], - [68586, 0, "d"], - [68587, 0, "e"], - [68588, 0, "f"], - [68589, 0, "i"], - [68590, 0, "n"], - [68591, 0, "i"], - [68592, 0, "t"], - [68593, 0, "i"], - [68594, 0, "o"], - [68595, 0, "n"], - [68596, 0, "}"], - [68597, 0, "\n"], - [68598, 0, "A"], - [68599, 0, " "], - [68600, 0, "\\"], - [68601, 0, "e"], - [68602, 0, "m"], - [68603, 0, "p"], - [68604, 0, "h"], - [68605, 0, "{"], - [68606, 0, "h"], - [68607, 0, "i"], - [68608, 0, "s"], - [68609, 0, "t"], - [68610, 0, "o"], - [68611, 0, "r"], - [68612, 0, "y"], - [68613, 0, "}"], - [68614, 0, " "], - [68615, 0, "\n"], - [68616, 0, "\\"], - [68617, 0, "e"], - [68618, 0, "n"], - [68619, 0, "d"], - [68620, 0, "{"], - [68621, 0, "d"], - [68622, 0, "e"], - [68623, 0, "f"], - [68624, 0, "i"], - [68625, 0, "n"], - [68626, 0, "i"], - [68627, 0, "t"], - [68628, 0, "i"], - [68629, 0, "o"], - [68630, 0, "n"], - [68631, 0, "}"], - [68615, 0, "i"], - [68616, 0, "s"], - [68617, 0, " "], - [68618, 0, "t"], - [68619, 0, "h"], - [68620, 0, "e"], - [68621, 0, " "], - [68622, 0, "s"], - [68623, 0, "e"], - [68624, 0, "q"], - [68625, 0, "u"], - [68626, 0, "e"], - [68627, 0, "n"], - [68628, 0, "c"], - [68629, 0, "e"], - [68630, 0, " "], - [68631, 0, "o"], - [68632, 0, "f"], - [68633, 0, " "], - [68634, 0, "o"], - [68620, 1], - [68619, 1], - [68618, 1], - [68618, 0, "a"], - [68633, 0, "p"], - [68634, 0, "e"], - [68635, 0, "r"], - [68636, 0, "a"], - [68637, 0, "t"], - [68638, 0, "i"], - [68639, 0, "o"], - [68640, 0, "n"], - [68641, 0, "s"], - [68642, 0, " "], - [68643, 0, "i"], - [68644, 0, "n"], - [68645, 0, " "], - [68646, 0, "t"], - [68647, 0, "h"], - [68648, 0, "e"], - [68649, 0, " "], - [68650, 0, "o"], - [68651, 0, "r"], - [68652, 0, "d"], - [68653, 0, "e"], - [68654, 0, "r"], - [68655, 0, " "], - [68656, 0, "i"], - [68657, 0, "t"], - [68658, 0, " "], - [68659, 0, "w"], - [68660, 0, "a"], - [68661, 0, "s"], - [68662, 0, " "], - [68663, 0, "a"], - [68664, 0, "p"], - [68665, 0, "p"], - [68666, 0, "l"], - [68667, 0, "i"], - [68668, 0, "e"], - [68669, 0, "d"], - [68670, 0, " "], - [68671, 0, "a"], - [68672, 0, "t"], - [68673, 0, " "], - [68674, 0, "o"], - [68675, 0, "n"], - [68676, 0, "e"], - [68677, 0, " "], - [68678, 0, "p"], - [68679, 0, "a"], - [68680, 0, "r"], - [68681, 0, "t"], - [68682, 0, "i"], - [68683, 0, "c"], - [68684, 0, "u"], - [68685, 0, "l"], - [68686, 0, "a"], - [68687, 0, "r"], - [68688, 0, " "], - [68689, 0, "r"], - [68690, 0, "e"], - [68691, 0, "p"], - [68692, 0, "l"], - [68693, 0, "i"], - [68694, 0, "c"], - [68695, 0, "a"], - [68696, 0, " "], - [68697, 0, "$"], - [68698, 0, "p"], - [68699, 0, "$"], - [68700, 0, "."], - [68700, 0, ","], - [68701, 0, " "], - [68702, 0, "b"], - [68703, 0, "y"], - [68704, 0, " "], - [68705, 0, "a"], - [68706, 0, "p"], - [68707, 0, "p"], - [68708, 0, "l"], - [68709, 0, "i"], - [68710, 0, "c"], - [68711, 0, "a"], - [68712, 0, "t"], - [68713, 0, "i"], - [68714, 0, "o"], - [68715, 0, "n"], - [68716, 0, " "], - [68717, 0, "o"], - [68718, 0, "f"], - [68719, 0, " "], - [68720, 0, "t"], - [68721, 0, "h"], - [68722, 0, "e"], - [68723, 0, " "], - [68724, 0, "r"], - [68725, 0, "u"], - [68726, 0, "l"], - [68727, 0, "e"], - [68728, 0, "s"], - [68729, 0, " "], - [68730, 0, "\\"], - [68731, 0, "t"], - [68732, 0, "e"], - [68733, 0, "x"], - [68734, 0, "t"], - [68735, 0, "s"], - [68736, 0, "c"], - [68737, 0, "{"], - [68738, 0, "A"], - [68739, 0, "p"], - [68740, 0, "p"], - [68741, 0, "l"], - [68742, 0, "y"], - [68743, 0, "-"], - [68744, 0, "L"], - [68745, 0, "o"], - [68746, 0, "c"], - [68747, 0, "a"], - [68748, 0, "l"], - [68749, 0, "}"], - [68750, 0, " "], - [68751, 0, "a"], - [68752, 0, "n"], - [68753, 0, "d"], - [68754, 0, " "], - [68755, 0, "\\"], - [68756, 0, "t"], - [68757, 0, "e"], - [68758, 0, "x"], - [68759, 0, "t"], - [68760, 0, "s"], - [68761, 0, "c"], - [68762, 0, "{"], - [68763, 0, "A"], - [68764, 0, "p"], - [68765, 0, "p"], - [68766, 0, "l"], - [68767, 0, "y"], - [68768, 0, "-"], - [68769, 0, "R"], - [68770, 0, "e"], - [68771, 0, "m"], - [68772, 0, "o"], - [68773, 0, "t"], - [68774, 0, "e"], - [68775, 0, "}"], - [68794, 0, "\n"], - [68795, 0, "\n"], - [68796, 0, "N"], - [68796, 1], - [68796, 0, "E"], - [68797, 0, "v"], - [68798, 0, "e"], - [68799, 0, "n"], - [68800, 0, " "], - [68801, 0, "i"], - [68802, 0, "f"], - [68803, 0, " "], - [68804, 0, "t"], - [68805, 0, "w"], - [68806, 0, "o"], - [68807, 0, " "], - [68808, 0, "r"], - [68809, 0, "e"], - [68810, 0, "p"], - [68811, 0, "l"], - [68812, 0, "i"], - [68813, 0, "c"], - [68814, 0, "a"], - [68815, 0, "s"], - [68816, 0, " "], - [68817, 0, "a"], - [68818, 0, "p"], - [68819, 0, "p"], - [68820, 0, "l"], - [68821, 0, "i"], - [68822, 0, "e"], - [68823, 0, "d"], - [68824, 0, " "], - [68825, 0, "t"], - [68826, 0, "h"], - [68827, 0, "e"], - [68828, 0, " "], - [68829, 0, "s"], - [68830, 0, "a"], - [68831, 0, "m"], - [68832, 0, "e"], - [68833, 0, " "], - [68834, 0, "s"], - [68835, 0, "e"], - [68836, 0, "t"], - [68837, 0, " "], - [68838, 0, "o"], - [68839, 0, "f"], - [68840, 0, " "], - [68841, 0, "o"], - [68842, 0, "p"], - [68843, 0, "e"], - [68844, 0, "r"], - [68845, 0, "a"], - [68846, 0, "t"], - [68847, 0, "i"], - [68848, 0, "o"], - [68849, 0, "n"], - [68850, 0, "s"], - [68816, 0, " "], - [68817, 0, "$"], - [68818, 0, "p"], - [68819, 0, "$"], - [68820, 0, " "], - [68821, 0, "a"], - [68822, 0, "n"], - [68823, 0, "d"], - [68824, 0, " "], - [68825, 0, "$"], - [68826, 0, "q"], - [68827, 0, "$"], - [68863, 0, ","], - [68864, 0, " "], - [68865, 0, "i"], - [68866, 0, "."], - [68867, 0, "e"], - [68868, 0, "."], - [68869, 0, " "], - [68870, 0, "$"], - [68871, 0, "A"], - [68872, 0, "_"], - [68873, 0, "p"], - [68874, 0, "("], - [68875, 0, "\\"], - [68876, 0, "m"], - [68877, 0, "a"], - [68878, 0, "t"], - [68879, 0, "h"], - [68880, 0, "s"], - [68881, 0, "f"], - [68882, 0, "{"], - [68883, 0, "o"], - [68884, 0, "p"], - [68885, 0, "s"], - [68886, 0, "}"], - [68887, 0, ")"], - [68888, 0, " "], - [68889, 0, "="], - [68890, 0, " "], - [68891, 0, "A"], - [68892, 0, "_"], - [68893, 0, "q"], - [68894, 0, "("], - [68895, 0, "\\"], - [68896, 0, "m"], - [68897, 0, "a"], - [68898, 0, "t"], - [68899, 0, "h"], - [68900, 0, "s"], - [68901, 0, "f"], - [68902, 0, "{"], - [68903, 0, "o"], - [68904, 0, "p"], - [68905, 0, "s"], - [68906, 0, "}"], - [68907, 0, ")"], - [68908, 0, "$"], - [68909, 0, ","], - [68910, 0, " "], - [68911, 0, "t"], - [68912, 0, "h"], - [68913, 0, "e"], - [68914, 0, "y"], - [68915, 0, " "], - [68916, 0, "m"], - [68917, 0, "a"], - [68918, 0, "y"], - [68919, 0, " "], - [68920, 0, "h"], - [68921, 0, "a"], - [68922, 0, "v"], - [68923, 0, "e"], - [68924, 0, " "], - [68925, 0, "a"], - [68926, 0, "p"], - [68927, 0, "p"], - [68928, 0, "l"], - [68929, 0, "i"], - [68930, 0, "e"], - [68931, 0, "d"], - [68932, 0, " "], - [68933, 0, "t"], - [68934, 0, "h"], - [68935, 0, "e"], - [68936, 0, " "], - [68937, 0, "o"], - [68938, 0, "p"], - [68939, 0, "e"], - [68940, 0, "r"], - [68941, 0, "a"], - [68942, 0, "t"], - [68943, 0, "i"], - [68944, 0, "o"], - [68945, 0, "n"], - [68946, 0, "s"], - [68947, 0, " "], - [68948, 0, "i"], - [68949, 0, "n"], - [68950, 0, " "], - [68951, 0, "a"], - [68952, 0, " "], - [68953, 0, "d"], - [68954, 0, "i"], - [68955, 0, "f"], - [68956, 0, "f"], - [68957, 0, "e"], - [68958, 0, "r"], - [68959, 0, "e"], - [68960, 0, "n"], - [68961, 0, "t"], - [68962, 0, " "], - [68963, 0, "o"], - [68964, 0, "r"], - [68965, 0, "d"], - [68966, 0, "e"], - [68967, 0, "r"], - [68968, 0, "."], - [68935, 1], - [68934, 1], - [68933, 1], - [68933, 0, "a"], - [68934, 0, "n"], - [68935, 0, "y"], - [68936, 0, " "], - [68937, 0, "c"], - [68938, 0, "o"], - [68939, 0, "n"], - [68940, 0, "c"], - [68941, 0, "u"], - [68942, 0, "r"], - [68943, 0, "r"], - [68944, 0, "e"], - [68945, 0, "n"], - [68946, 0, "t"], - [68869, 0, " "], - [68870, 0, "i"], - [68871, 0, "f"], - [68577, 0, " "], - [68577, 1], - [68577, 0, "\n"], - [68578, 0, "\n"], - [68579, 0, "N"], - [68580, 0, "o"], - [68581, 0, "t"], - [68582, 0, "e"], - [68583, 0, " "], - [68584, 0, "t"], - [68585, 0, "h"], - [68586, 0, "a"], - [68587, 0, "t"], - [68588, 0, " "], - [68589, 0, "i"], - [68590, 0, "t"], - [68591, 0, " "], - [68592, 0, "i"], - [68593, 0, "s"], - [68594, 0, " "], - [68595, 0, "v"], - [68596, 0, "a"], - [68597, 0, "l"], - [68598, 0, "i"], - [68599, 0, "d"], - [68600, 0, " "], - [68601, 0, "f"], - [68602, 0, "o"], - [68603, 0, "r"], - [68604, 0, " "], - [68605, 0, "a"], - [68606, 0, "n"], - [68607, 0, " "], - [68608, 0, "e"], - [68609, 0, "x"], - [68610, 0, "e"], - [68611, 0, "c"], - [68612, 0, "u"], - [68613, 0, "t"], - [68614, 0, "i"], - [68615, 0, "o"], - [68616, 0, "n"], - [68617, 0, " "], - [68618, 0, "t"], - [68619, 0, "o"], - [68620, 0, " "], - [68621, 0, "n"], - [68622, 0, "e"], - [68623, 0, "v"], - [68624, 0, "e"], - [68625, 0, "r"], - [68626, 0, " "], - [68627, 0, "p"], - [68628, 0, "e"], - [68629, 0, "r"], - [68630, 0, "f"], - [68631, 0, "o"], - [68632, 0, "r"], - [68633, 0, "m"], - [68634, 0, " "], - [68635, 0, "a"], - [68636, 0, "n"], - [68637, 0, "y"], - [68638, 0, " "], - [68639, 0, "n"], - [68640, 0, "e"], - [68641, 0, "t"], - [68642, 0, "w"], - [68643, 0, "o"], - [68644, 0, "r"], - [68645, 0, "k"], - [68646, 0, " "], - [68647, 0, "c"], - [68648, 0, "o"], - [68649, 0, "m"], - [68650, 0, "m"], - [68651, 0, "u"], - [68652, 0, "n"], - [68653, 0, "i"], - [68654, 0, "c"], - [68655, 0, "a"], - [68656, 0, "t"], - [68657, 0, "i"], - [68658, 0, "o"], - [68659, 0, "n"], - [68660, 0, ","], - [68661, 0, " "], - [68662, 0, "e"], - [68663, 0, "i"], - [68664, 0, "t"], - [68665, 0, "h"], - [68666, 0, "e"], - [68667, 0, "r"], - [68668, 0, " "], - [68669, 0, "b"], - [68670, 0, "e"], - [68671, 0, "c"], - [68672, 0, "a"], - [68673, 0, "u"], - [68674, 0, "s"], - [68675, 0, "e"], - [68676, 0, " "], - [68677, 0, "i"], - [68678, 0, "t"], - [68679, 0, " "], - [68680, 0, "n"], - [68681, 0, "e"], - [68682, 0, "v"], - [68683, 0, "e"], - [68684, 0, "r"], - [68685, 0, " "], - [68686, 0, "u"], - [68687, 0, "s"], - [68688, 0, "e"], - [68689, 0, "s"], - [68690, 0, " "], - [68691, 0, "t"], - [68691, 1], - [68690, 1], - [68689, 1], - [68688, 1], - [68687, 1], - [68686, 1], - [68686, 0, "i"], - [68687, 0, "n"], - [68688, 0, "v"], - [68689, 0, "o"], - [68690, 0, "k"], - [68691, 0, "e"], - [68692, 0, "s"], - [68693, 0, " "], - [68694, 0, "t"], - [68695, 0, "h"], - [68696, 0, "e"], - [68697, 0, " "], - [68698, 0, "\\"], - [68699, 0, "t"], - [68700, 0, "e"], - [68701, 0, "x"], - [68702, 0, "t"], - [68703, 0, "s"], - [68704, 0, "f"], - [68705, 0, "{"], - [68706, 0, "y"], - [68707, 0, "i"], - [68708, 0, "e"], - [68709, 0, "l"], - [68710, 0, "d"], - [68711, 0, "}"], - [68712, 0, " "], - [68713, 0, "c"], - [68714, 0, "o"], - [68715, 0, "m"], - [68716, 0, "m"], - [68717, 0, "a"], - [68718, 0, "n"], - [68719, 0, "d"], - [68720, 0, ","], - [68721, 0, " "], - [68722, 0, "o"], - [68723, 0, "r"], - [68724, 0, " "], - [68725, 0, "b"], - [68726, 0, "e"], - [68727, 0, "c"], - [68728, 0, "a"], - [68729, 0, "u"], - [68730, 0, "s"], - [68731, 0, "e"], - [68732, 0, " "], - [68733, 0, "t"], - [68734, 0, "h"], - [68735, 0, "e"], - [68736, 0, " "], - [68737, 0, "n"], - [68738, 0, "o"], - [68739, 0, "n"], - [68740, 0, "d"], - [68741, 0, "e"], - [68742, 0, "t"], - [68743, 0, "e"], - [68744, 0, "r"], - [68745, 0, "m"], - [68746, 0, "i"], - [68747, 0, "n"], - [68748, 0, "i"], - [68749, 0, "s"], - [68750, 0, "t"], - [68751, 0, "i"], - [68752, 0, "c"], - [68753, 0, " "], - [68754, 0, "e"], - [68755, 0, "x"], - [68756, 0, "e"], - [68757, 0, "c"], - [68758, 0, "u"], - [68759, 0, "t"], - [68760, 0, "i"], - [68761, 0, "o"], - [68762, 0, "n"], - [68763, 0, " "], - [68764, 0, "o"], - [68765, 0, "f"], - [68766, 0, " "], - [68767, 0, "\\"], - [68768, 0, "t"], - [68769, 0, "e"], - [68770, 0, "x"], - [68771, 0, "t"], - [68772, 0, "s"], - [68773, 0, "f"], - [68774, 0, "{"], - [68775, 0, "y"], - [68776, 0, "i"], - [68777, 0, "e"], - [68778, 0, "l"], - [68779, 0, "d"], - [68780, 0, "}"], - [68781, 0, " "], - [68782, 0, "n"], - [68783, 0, "e"], - [68784, 0, "v"], - [68785, 0, "e"], - [68786, 0, "r"], - [68787, 0, " "], - [68788, 0, "a"], - [68789, 0, "p"], - [68790, 0, "p"], - [68791, 0, "l"], - [68792, 0, "i"], - [68793, 0, "e"], - [68794, 0, "s"], - [68795, 0, " "], - [68796, 0, "t"], - [68797, 0, "h"], - [68798, 0, "e"], - [68799, 0, " "], - [68800, 0, "\\"], - [68801, 0, "t"], - [68802, 0, "e"], - [68803, 0, "x"], - [68804, 0, "t"], - [68805, 0, "s"], - [68806, 0, "c"], - [68807, 0, "{"], - [68808, 0, "R"], - [68809, 0, "e"], - [68810, 0, "c"], - [68811, 0, "v"], - [68812, 0, "}"], - [68813, 0, " "], - [68814, 0, "r"], - [68815, 0, "u"], - [68816, 0, "l"], - [68817, 0, "e"], - [68818, 0, "."], - [68819, 0, " "], - [68820, 0, "T"], - [68821, 0, "h"], - [68822, 0, "u"], - [68823, 0, "s"], - [68824, 0, ","], - [68825, 0, " "], - [68826, 0, "w"], - [68827, 0, "h"], - [68828, 0, "e"], - [68829, 0, "t"], - [68830, 0, "h"], - [68831, 0, "e"], - [68832, 0, "r"], - [68833, 0, " "], - [68833, 1], - [68832, 1], - [68831, 1], - [68830, 1], - [68829, 1], - [68828, 1], - [68827, 1], - [68827, 0, "e"], - [68828, 0, " "], - [68829, 0, "c"], - [68830, 0, "a"], - [68831, 0, "n"], - [68832, 0, " "], - [68833, 0, "c"], - [68834, 0, "h"], - [68835, 0, "e"], - [68836, 0, "c"], - [68837, 0, "k"], - [68838, 0, " "], - [68839, 0, "w"], - [68840, 0, "h"], - [68841, 0, "e"], - [68842, 0, "t"], - [68843, 0, "h"], - [68844, 0, "e"], - [68845, 0, "r"], - [68846, 0, " "], - [68847, 0, "r"], - [68848, 0, "e"], - [68849, 0, "d"], - [68850, 0, "u"], - [68851, 0, "c"], - [68852, 0, "t"], - [68853, 0, "i"], - [68854, 0, "n"], - [68855, 0, "o"], - [68856, 0, " "], - [68856, 1], - [68855, 1], - [68854, 1], - [68854, 0, "o"], - [68855, 0, "n"], - [68856, 0, " "], - [68826, 1], - [68825, 1], - [68824, 1], - [68823, 1], - [68822, 1], - [68821, 1], - [68820, 1], - [68820, 0, "W"], - [68831, 1], - [68830, 1], - [68829, 1], - [68828, 1], - [68827, 1], - [68826, 1], - [68825, 1], - [68824, 1], - [68823, 1], - [68823, 0, "n"], - [68824, 0, "e"], - [68825, 0, "e"], - [68826, 0, "d"], - [68827, 0, " "], - [68828, 0, "o"], - [68829, 0, "n"], - [68830, 0, "l"], - [68831, 0, "y"], - [68832, 0, " "], - [68833, 0, "a"], - [68834, 0, " "], - [68835, 0, "r"], - [68836, 0, "e"], - [68837, 0, "p"], - [68838, 0, "l"], - [68839, 0, "i"], - [68840, 0, "c"], - [68841, 0, "a"], - [68842, 0, "'"], - [68843, 0, "s"], - [68844, 0, " "], - [68845, 0, "l"], - [68846, 0, "o"], - [68847, 0, "c"], - [68848, 0, "a"], - [68849, 0, "l"], - [68850, 0, " "], - [68851, 0, "s"], - [68852, 0, "t"], - [68853, 0, "a"], - [68854, 0, "t"], - [68855, 0, "e"], - [68856, 0, " "], - [68857, 0, "t"], - [68858, 0, "o"], - [68859, 0, " "], - [68860, 0, "d"], - [68861, 0, "e"], - [68862, 0, "t"], - [68863, 0, "e"], - [68864, 0, "r"], - [68865, 0, "m"], - [68866, 0, "i"], - [68867, 0, "n"], - [68868, 0, "e"], - [68888, 0, "g"], - [68889, 0, "e"], - [68890, 0, "t"], - [68891, 0, "s"], - [68892, 0, " "], - [68893, 0, "s"], - [68894, 0, "t"], - [68895, 0, "u"], - [68896, 0, "c"], - [68897, 0, "k"], - [68898, 0, "."], - [69305, 0, " "], - [69306, 0, "S"], - [69307, 0, "i"], - [69308, 0, "n"], - [69309, 0, "c"], - [69310, 0, "e"], - [69311, 0, " "], - [69312, 0, "t"], - [69313, 0, "h"], - [69314, 0, "e"], - [69315, 0, " "], - [69316, 0, "e"], - [69317, 0, "v"], - [69318, 0, "a"], - [69319, 0, "l"], - [69320, 0, "u"], - [69321, 0, "a"], - [69322, 0, "t"], - [69323, 0, "i"], - [69324, 0, "o"], - [69325, 0, "n"], - [69326, 0, " "], - [69327, 0, "r"], - [69328, 0, "u"], - [69329, 0, "l"], - [69330, 0, "e"], - [69331, 0, "s"], - [69332, 0, " "], - [69333, 0, "s"], - [69334, 0, "e"], - [69335, 0, "q"], - [69336, 0, "u"], - [69337, 0, "e"], - [69338, 0, "n"], - [69339, 0, "t"], - [69340, 0, "i"], - [69341, 0, "a"], - [69342, 0, "l"], - [69343, 0, "l"], - [69344, 0, "y"], - [69345, 0, " "], - [69346, 0, "a"], - [69347, 0, "p"], - [69348, 0, "p"], - [69349, 0, "l"], - [69350, 0, "y"], - [69351, 0, " "], - [69352, 0, "o"], - [69353, 0, "n"], - [69354, 0, "e"], - [69355, 0, " "], - [69356, 0, "o"], - [69357, 0, "p"], - [69358, 0, "e"], - [69359, 0, "r"], - [69360, 0, "a"], - [69361, 0, "t"], - [69362, 0, "i"], - [69363, 0, "o"], - [69364, 0, "n"], - [69365, 0, " "], - [69366, 0, "a"], - [69367, 0, "t"], - [69368, 0, " "], - [69369, 0, "a"], - [69370, 0, " "], - [69371, 0, "t"], - [69372, 0, "i"], - [69373, 0, "m"], - [69374, 0, "e"], - [69375, 0, " "], - [69305, 0, " "], - [69306, 0, "D"], - [69307, 0, "u"], - [69308, 0, "e"], - [69309, 0, " "], - [69310, 0, "t"], - [69311, 0, "o"], - [69312, 0, " "], - [69313, 0, "t"], - [69314, 0, "h"], - [69315, 0, "e"], - [69316, 0, " "], - [69317, 0, "p"], - [69318, 0, "r"], - [69319, 0, "e"], - [69320, 0, "m"], - [69321, 0, "i"], - [69322, 0, "s"], - [69323, 0, "e"], - [69324, 0, " "], - [69325, 0, "$"], - [69326, 0, "\\"], - [69327, 0, "m"], - [69328, 0, "a"], - [69329, 0, "t"], - [69330, 0, "h"], - [69331, 0, "i"], - [69332, 0, "t"], - [69333, 0, "{"], - [69334, 0, "o"], - [69335, 0, "p"], - [69336, 0, "."], - [69337, 0, "i"], - [69338, 0, "d"], - [69338, 1], - [69337, 1], - [69337, 0, "d"], - [69338, 0, "e"], - [69339, 0, "p"], - [69340, 0, "s"], - [69341, 0, "}"], - [69342, 0, " "], - [69343, 0, "\\"], - [69344, 0, "s"], - [69345, 0, "u"], - [69346, 0, "b"], - [69347, 0, "s"], - [69348, 0, "e"], - [69349, 0, "t"], - [69350, 0, "e"], - [69351, 0, "q"], - [69352, 0, " "], - [69353, 0, "A"], - [69354, 0, "_"], - [69355, 0, "p"], - [69356, 0, "("], - [69357, 0, "\\"], - [69358, 0, "m"], - [69359, 0, "a"], - [69360, 0, "t"], - [69361, 0, "h"], - [69362, 0, "s"], - [69363, 0, "f"], - [69364, 0, "{"], - [69365, 0, "o"], - [69366, 0, "p"], - [69367, 0, "s"], - [69368, 0, "}"], - [69369, 0, ")"], - [69370, 0, "$"], - [69371, 0, " "], - [69372, 0, "i"], - [69373, 0, "n"], - [69374, 0, " "], - [69375, 0, "\\"], - [69376, 0, "t"], - [69377, 0, "e"], - [69378, 0, "x"], - [69379, 0, "t"], - [69380, 0, "s"], - [69381, 0, "c"], - [69382, 0, "{"], - [69383, 0, "A"], - [69384, 0, "p"], - [69385, 0, "p"], - [69386, 0, "l"], - [69387, 0, "y"], - [69388, 0, "-"], - [69389, 0, "R"], - [69390, 0, "e"], - [69391, 0, "m"], - [69392, 0, "o"], - [69393, 0, "t"], - [69394, 0, "e"], - [69395, 0, "}"], - [69305, 0, " "], - [69306, 0, "S"], - [69307, 0, "i"], - [69308, 0, "n"], - [69309, 0, "c"], - [69310, 0, " "], - [69311, 0, "e"], - [69312, 0, "t"], - [69313, 0, "h"], - [69313, 1], - [69312, 1], - [69311, 1], - [69310, 1], - [69310, 0, "e"], - [69311, 0, " "], - [69312, 0, "t"], - [69313, 0, "h"], - [69314, 0, "e"], - [69315, 0, " "], - [69316, 0, "e"], - [69317, 0, "v"], - [69318, 0, "a"], - [69319, 0, "l"], - [69320, 0, "u"], - [69321, 0, "a"], - [69322, 0, "t"], - [69323, 0, "i"], - [69324, 0, "o"], - [69325, 0, "n"], - [69326, 0, " "], - [69327, 0, "r"], - [69328, 0, "u"], - [69329, 0, "l"], - [69330, 0, "e"], - [69331, 0, "s"], - [69332, 0, " "], - [69333, 0, "s"], - [69334, 0, "e"], - [69335, 0, "q"], - [69336, 0, "u"], - [69337, 0, "e"], - [69338, 0, "n"], - [69339, 0, "t"], - [69340, 0, "i"], - [69341, 0, "a"], - [69342, 0, "l"], - [69343, 0, "l"], - [69344, 0, "y"], - [69345, 0, " "], - [69346, 0, "a"], - [69347, 0, "p"], - [69348, 0, "p"], - [69349, 0, "l"], - [69350, 0, "y"], - [69351, 0, " "], - [69352, 0, "o"], - [69353, 0, "n"], - [69354, 0, "e"], - [69355, 0, " "], - [69356, 0, "o"], - [69357, 0, "p"], - [69358, 0, "e"], - [69359, 0, "r"], - [69360, 0, "a"], - [69361, 0, "t"], - [69362, 0, "i"], - [69363, 0, "o"], - [69364, 0, "n"], - [69365, 0, " "], - [69366, 0, "a"], - [69367, 0, "t"], - [69368, 0, " "], - [69369, 0, "a"], - [69370, 0, " "], - [69371, 0, "t"], - [69372, 0, "i"], - [69373, 0, "m"], - [69374, 0, "e"], - [69375, 0, ","], - [69376, 0, " "], - [69377, 0, "t"], - [69378, 0, "h"], - [69379, 0, "e"], - [69380, 0, " "], - [69381, 0, "o"], - [69382, 0, "r"], - [69383, 0, "d"], - [69384, 0, "e"], - [69385, 0, "r"], - [69386, 0, " "], - [69387, 0, "i"], - [69388, 0, "s"], - [69389, 0, " "], - [69390, 0, "w"], - [69391, 0, "e"], - [69392, 0, "l"], - [69393, 0, "l"], - [69394, 0, "-"], - [69395, 0, "d"], - [69396, 0, "e"], - [69397, 0, "f"], - [69398, 0, "i"], - [69399, 0, "n"], - [69400, 0, "e"], - [69401, 0, "d"], - [69402, 0, "."], - [69564, 1], - [69563, 1], - [69562, 1], - [69561, 1], - [69560, 1], - [69559, 1], - [69558, 1], - [69557, 1], - [69556, 1], - [69555, 1], - [69554, 1], - [69553, 1], - [69552, 1], - [69551, 1], - [69550, 1], - [69549, 1], - [69548, 1], - [69547, 1], - [69546, 1], - [69545, 1], - [69544, 1], - [69543, 1], - [69542, 1], - [69541, 1], - [69540, 1], - [69539, 1], - [69538, 1], - [69537, 1], - [69536, 1], - [69535, 1], - [69534, 1], - [69533, 1], - [69532, 1], - [69531, 1], - [69530, 1], - [69529, 1], - [69528, 1], - [69527, 1], - [69526, 1], - [69525, 1], - [69524, 1], - [69523, 1], - [69522, 1], - [69521, 1], - [69520, 1], - [69519, 1], - [69518, 1], - [69517, 1], - [69516, 1], - [69515, 1], - [69514, 1], - [69513, 1], - [69512, 1], - [69511, 1], - [69510, 1], - [69509, 1], - [69508, 1], - [69507, 1], - [69506, 1], - [69505, 1], - [69504, 1], - [69503, 1], - [69502, 1], - [69501, 1], - [69500, 1], - [69499, 1], - [69498, 1], - [69497, 1], - [69496, 1], - [69495, 1], - [69494, 1], - [69494, 0, ","], - [69495, 0, " "], - [69496, 0, "t"], - [69497, 0, "h"], - [69498, 0, "e"], - [69499, 0, " "], - [69500, 0, "o"], - [69501, 0, "r"], - [69502, 0, "d"], - [69503, 0, "e"], - [69504, 0, "r"], - [69505, 0, " "], - [69506, 0, "i"], - [69507, 0, "s"], - [69508, 0, " "], - [69509, 0, "c"], - [69510, 0, "o"], - [69511, 0, "n"], - [69512, 0, "s"], - [69513, 0, "i"], - [69514, 0, "s"], - [69515, 0, "t"], - [69516, 0, "e"], - [69517, 0, "n"], - [69518, 0, "t"], - [69519, 0, " "], - [69520, 0, "w"], - [69521, 0, "i"], - [69522, 0, "t"], - [69523, 0, "h"], - [69524, 0, " "], - [69525, 0, "c"], - [69526, 0, "a"], - [69527, 0, "u"], - [69528, 0, "s"], - [69529, 0, "a"], - [69530, 0, "l"], - [69531, 0, "i"], - [69532, 0, "t"], - [69533, 0, "y"], - [69534, 0, " "], - [69535, 0, "("], - [69504, 1], - [69503, 1], - [69502, 1], - [69501, 1], - [69500, 1], - [69499, 1], - [69498, 1], - [69497, 1], - [69496, 1], - [69496, 0, "a"], - [69497, 0, "n"], - [69498, 0, "y"], - [69499, 0, " "], - [69500, 0, "h"], - [69501, 0, "i"], - [69502, 0, "s"], - [69503, 0, "t"], - [69504, 0, "o"], - [69505, 0, "r"], - [69506, 0, "y"], - [69022, 1], - [69117, 0, "S"], - [69118, 0, "i"], - [69119, 0, "n"], - [69120, 0, "c"], - [69121, 0, "e"], - [69122, 0, " "], - [69123, 0, "t"], - [69124, 0, "h"], - [69125, 0, "e"], - [69126, 0, " "], - [69127, 0, "e"], - [69128, 0, "v"], - [69129, 0, "a"], - [69130, 0, "l"], - [69131, 0, "u"], - [69132, 0, "a"], - [69133, 0, "t"], - [69134, 0, "i"], - [69135, 0, "o"], - [69136, 0, "n"], - [69137, 0, " "], - [69138, 0, "r"], - [69139, 0, "u"], - [69140, 0, "l"], - [69141, 0, "e"], - [69142, 0, "s"], - [69143, 0, " "], - [69144, 0, "s"], - [69145, 0, "e"], - [69146, 0, "q"], - [69147, 0, "u"], - [69148, 0, "e"], - [69149, 0, "n"], - [69150, 0, "t"], - [69151, 0, "i"], - [69152, 0, "a"], - [69152, 1], - [69152, 0, "a"], - [69153, 0, "l"], - [69154, 0, "l"], - [69155, 0, "y"], - [69156, 0, " "], - [69157, 0, "a"], - [69158, 0, "p"], - [69159, 0, "p"], - [69160, 0, "l"], - [69161, 0, "y"], - [69162, 0, " "], - [69163, 0, "o"], - [69164, 0, "n"], - [69165, 0, "e"], - [69166, 0, " "], - [69167, 0, "o"], - [69168, 0, "p"], - [69169, 0, "e"], - [69170, 0, "r"], - [69171, 0, "a"], - [69172, 0, "t"], - [69173, 0, "i"], - [69174, 0, "o"], - [69175, 0, "n"], - [69176, 0, " "], - [69177, 0, "a"], - [69178, 0, "t"], - [69179, 0, " "], - [69180, 0, "a"], - [69181, 0, " "], - [69182, 0, "t"], - [69183, 0, "i"], - [69184, 0, "m"], - [69185, 0, "e"], - [69186, 0, ","], - [69187, 0, " "], - [69188, 0, "t"], - [69189, 0, "h"], - [69190, 0, "e"], - [69191, 0, " "], - [69192, 0, "o"], - [69193, 0, "r"], - [69194, 0, "d"], - [69195, 0, "e"], - [69196, 0, "r"], - [69197, 0, " "], - [69198, 0, "i"], - [69199, 0, "s"], - [69200, 0, " "], - [69201, 0, "w"], - [69202, 0, "e"], - [69203, 0, "l"], - [69204, 0, "l"], - [69205, 0, "-"], - [69206, 0, "d"], - [69207, 0, "e"], - [69208, 0, "f"], - [69209, 0, "i"], - [69210, 0, "n"], - [69211, 0, "e"], - [69212, 0, "d"], - [69213, 0, "."], - [69214, 0, " "], - [69500, 1], - [69499, 1], - [69498, 1], - [69497, 1], - [69496, 1], - [69495, 1], - [69494, 1], - [69493, 1], - [69492, 1], - [69491, 1], - [69490, 1], - [69489, 1], - [69488, 1], - [69487, 1], - [69486, 1], - [69485, 1], - [69484, 1], - [69483, 1], - [69482, 1], - [69481, 1], - [69480, 1], - [69479, 1], - [69478, 1], - [69477, 1], - [69476, 1], - [69475, 1], - [69474, 1], - [69473, 1], - [69472, 1], - [69471, 1], - [69470, 1], - [69469, 1], - [69468, 1], - [69467, 1], - [69466, 1], - [69465, 1], - [69464, 1], - [69463, 1], - [69462, 1], - [69461, 1], - [69460, 1], - [69459, 1], - [69458, 1], - [69457, 1], - [69456, 1], - [69455, 1], - [69454, 1], - [69453, 1], - [69452, 1], - [69451, 1], - [69450, 1], - [69449, 1], - [69448, 1], - [69447, 1], - [69446, 1], - [69445, 1], - [69444, 1], - [69443, 1], - [69442, 1], - [69441, 1], - [69440, 1], - [69439, 1], - [69438, 1], - [69437, 1], - [69436, 1], - [69435, 1], - [69434, 1], - [69433, 1], - [69432, 1], - [69431, 1], - [69430, 1], - [69429, 1], - [69428, 1], - [69427, 1], - [69426, 1], - [69425, 1], - [69424, 1], - [69423, 1], - [69422, 1], - [69421, 1], - [69420, 1], - [69419, 1], - [69418, 1], - [69417, 1], - [69416, 1], - [69415, 1], - [69414, 1], - [69413, 1], - [69412, 1], - [69411, 1], - [69410, 1], - [69409, 1], - [69408, 1], - [69407, 1], - [69406, 1], - [69405, 1], - [69404, 1], - [69403, 1], - [69537, 0, "e"], - [69538, 0, "v"], - [69539, 0, "e"], - [69540, 0, "r"], - [69541, 0, "y"], - [69542, 0, " "], - [69543, 0, "o"], - [69544, 0, "p"], - [69545, 0, "e"], - [69546, 0, "r"], - [69547, 0, "a"], - [69548, 0, "t"], - [69549, 0, "i"], - [69550, 0, "o"], - [69551, 0, "n"], - [69552, 0, " "], - [69553, 0, "a"], - [69554, 0, "p"], - [69555, 0, "p"], - [69556, 0, "e"], - [69557, 0, "a"], - [69558, 0, "r"], - [69559, 0, "s"], - [69581, 0, " "], - [69582, 0, "a"], - [69583, 0, "n"], - [69584, 0, "d"], - [69585, 0, " "], - [69586, 0, "f"], - [69587, 0, "u"], - [69588, 0, "r"], - [69589, 0, "t"], - [69590, 0, "h"], - [69591, 0, "e"], - [69592, 0, "r"], - [69593, 0, " "], - [69594, 0, "w"], - [69595, 0, "o"], - [69596, 0, "r"], - [69597, 0, "k"], - [69559, 1], - [69558, 1], - [69557, 1], - [69556, 1], - [69555, 1], - [69554, 1], - [69553, 1], - [69552, 1], - [69551, 1], - [69541, 1], - [69540, 1], - [69539, 1], - [69538, 1], - [69537, 1], - [69537, 0, "i"], - [69538, 0, "f"], - [69539, 0, " "], - [69540, 0, "a"], - [69541, 0, "n"], - [69551, 0, "n"], - [69552, 0, " "], - [69553, 0, "h"], - [69554, 0, "a"], - [69555, 0, "s"], - [69556, 0, " "], - [69557, 0, "c"], - [69558, 0, "a"], - [69559, 0, "u"], - [69560, 0, "s"], - [69561, 0, "a"], - [69562, 0, "l"], - [69563, 0, " "], - [69564, 0, "d"], - [69565, 0, "e"], - [69566, 0, "p"], - [69567, 0, "e"], - [69568, 0, "n"], - [69569, 0, "d"], - [69570, 0, "e"], - [69571, 0, "n"], - [69572, 0, "c"], - [69573, 0, "i"], - [69574, 0, "e"], - [69575, 0, "s"], - [69576, 0, ","], - [69577, 0, " "], - [69578, 0, "i"], - [69579, 0, "t"], - [69580, 0, " "], - [69581, 0, "a"], - [69582, 0, "p"], - [69583, 0, "p"], - [69584, 0, "e"], - [69585, 0, "a"], - [69586, 0, "r"], - [69587, 0, "s"], - [69588, 0, " "], - [69589, 0, "a"], - [69590, 0, "t"], - [69591, 0, " "], - [69592, 0, "s"], - [69593, 0, "o"], - [69594, 0, "m"], - [69595, 0, "e"], - [69596, 0, " "], - [69597, 0, "p"], - [69598, 0, "o"], - [69599, 0, "i"], - [69600, 0, "n"], - [69601, 0, "t"], - [69602, 0, " "], - [69603, 0, "a"], - [69604, 0, "f"], - [69605, 0, "t"], - [69606, 0, "e"], - [69607, 0, "r"], - [69608, 0, " "], - [69609, 0, "t"], - [69610, 0, "h"], - [69611, 0, "o"], - [69612, 0, "s"], - [69613, 0, "e"], - [69614, 0, " "], - [69615, 0, "d"], - [69616, 0, "e"], - [69617, 0, "p"], - [69618, 0, "e"], - [69619, 0, "n"], - [69620, 0, "d"], - [69621, 0, "e"], - [69622, 0, "n"], - [69623, 0, "c"], - [69624, 0, "i"], - [69625, 0, "e"], - [69626, 0, "s"], - [69627, 0, " "], - [69628, 0, "i"], - [69629, 0, "n"], - [69630, 0, " "], - [69631, 0, "t"], - [69632, 0, "h"], - [69633, 0, "e"], - [69634, 0, " "], - [69635, 0, "h"], - [69636, 0, "i"], - [69637, 0, "s"], - [69638, 0, "t"], - [69639, 0, "o"], - [69640, 0, "r"], - [69641, 0, "y"], - [69642, 0, ")"], - [69643, 0, "."], - [68175, 0, "t"], - [68176, 0, "h"], - [68177, 0, "e"], - [68178, 0, "r"], - [68179, 0, "e"], - [68180, 0, " "], - [68181, 0, "i"], - [68182, 0, "s"], - [68183, 0, " "], - [68184, 0, "n"], - [68185, 0, "o"], - [68186, 0, " "], - [68187, 0, "a"], - [68188, 0, "p"], - [68189, 0, "p"], - [68190, 0, "l"], - [68191, 0, "i"], - [68192, 0, "c"], - [68193, 0, "a"], - [68194, 0, "t"], - [68195, 0, "i"], - [68196, 0, "o"], - [68197, 0, "n"], - [68198, 0, " "], - [68199, 0, "o"], - [68200, 0, "f"], - [68201, 0, " "], - [68202, 0, "r"], - [68203, 0, "u"], - [68204, 0, "l"], - [68205, 0, "e"], - [68206, 0, "s"], - [68207, 0, " "], - [68208, 0, "i"], - [68209, 0, "n"], - [68210, 0, " "], - [68211, 0, "w"], - [68212, 0, "h"], - [68213, 0, "i"], - [68214, 0, "c"], - [68215, 0, "h"], - [68216, 0, " "], - [68218, 0, "l"], - [68219, 0, "l"], - [68228, 0, "s"], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 1], - [68230, 0, "a"], - [68231, 0, "r"], - [68232, 0, "e"], - [68233, 0, " "], - [69543, 1], - [69542, 0, ":"], - [69649, 1], - [69650, 0, "\n"], - [69651, 0, "\n"], - [69652, 0, "\\"], - [69653, 0, "b"], - [69654, 0, "e"], - [69655, 0, "g"], - [69656, 0, "i"], - [69657, 0, "n"], - [69658, 0, "{"], - [69659, 0, "t"], - [69660, 0, "h"], - [69661, 0, "e"], - [69662, 0, "o"], - [69663, 0, "r"], - [69664, 0, "e"], - [69665, 0, "m"], - [69666, 0, "*"], - [69667, 0, "}"], - [69668, 0, "\n"], - [69669, 0, "\\"], - [69670, 0, "e"], - [69671, 0, "n"], - [69672, 0, "d"], - [69673, 0, "{"], - [69674, 0, "t"], - [69675, 0, "h"], - [69676, 0, "e"], - [69677, 0, "o"], - [69678, 0, "r"], - [69679, 0, "e"], - [69680, 0, "m"], - [69681, 0, "*"], - [69682, 0, "}"], - [69668, 0, "\n"], - [69669, 0, "F"], - [69670, 0, "o"], - [69671, 0, "r"], - [69672, 0, " "], - [69673, 0, "a"], - [69674, 0, "n"], - [69675, 0, "y"], - [69676, 0, " "], - [69677, 0, "t"], - [69678, 0, "w"], - [69679, 0, "o"], - [69680, 0, " "], - [69681, 0, "r"], - [69682, 0, "e"], - [69683, 0, "p"], - [69684, 0, "l"], - [69685, 0, "i"], - [69686, 0, "c"], - [69687, 0, "a"], - [69688, 0, "s"], - [69689, 0, " "], - [69690, 0, "$"], - [69691, 0, "p"], - [69692, 0, "$"], - [69693, 0, " "], - [69694, 0, "a"], - [69695, 0, "n"], - [69696, 0, "d"], - [69697, 0, " "], - [69698, 0, "$"], - [69699, 0, "q"], - [69700, 0, "$"], - [69701, 0, " "], - [69702, 0, "t"], - [69703, 0, "h"], - [69704, 0, "a"], - [69705, 0, "t"], - [69706, 0, " "], - [69707, 0, "p"], - [69708, 0, "a"], - [69709, 0, "r"], - [69710, 0, "t"], - [69711, 0, "i"], - [69712, 0, "c"], - [69713, 0, "i"], - [69714, 0, "p"], - [69715, 0, "a"], - [69716, 0, "t"], - [69717, 0, "e"], - [69718, 0, "d"], - [69719, 0, " "], - [69720, 0, "i"], - [69721, 0, "n"], - [69722, 0, " "], - [69723, 0, "a"], - [69724, 0, " "], - [69725, 0, "v"], - [69726, 0, "a"], - [69727, 0, "l"], - [69728, 0, "i"], - [69729, 0, "d"], - [69730, 0, " "], - [69731, 0, "e"], - [69732, 0, "x"], - [69733, 0, "e"], - [69734, 0, "c"], - [69735, 0, "u"], - [69736, 0, "t"], - [69737, 0, "i"], - [69738, 0, "o"], - [69739, 0, "n"], - [69740, 0, ","], - [69741, 0, " "], - [69742, 0, "i"], - [69743, 0, "f"], - [69744, 0, " "], - [69745, 0, "$"], - [69746, 0, "A"], - [69747, 0, "_"], - [69748, 0, "p"], - [69749, 0, "("], - [69750, 0, "\\"], - [69751, 0, "m"], - [69752, 0, "a"], - [69753, 0, "t"], - [69754, 0, "h"], - [69755, 0, "s"], - [69756, 0, "f"], - [69757, 0, "{"], - [69758, 0, "o"], - [69759, 0, "p"], - [69760, 0, "s"], - [69761, 0, "}"], - [69762, 0, ")"], - [69763, 0, " "], - [69764, 0, "="], - [69765, 0, " "], - [69766, 0, "$"], - [69766, 1], - [69766, 0, "A"], - [69767, 0, "_"], - [69768, 0, "q"], - [69769, 0, "("], - [69770, 0, "\\"], - [69771, 0, "m"], - [69772, 0, "a"], - [69773, 0, "t"], - [69774, 0, "h"], - [69775, 0, "s"], - [69776, 0, "f"], - [69777, 0, "{"], - [69778, 0, "o"], - [69779, 0, "p"], - [69780, 0, "s"], - [69781, 0, "}"], - [69782, 0, ")"], - [69783, 0, "$"], - [69784, 0, ","], - [69785, 0, " "], - [69786, 0, "t"], - [69787, 0, "h"], - [69788, 0, "e"], - [69789, 0, "n"], - [69790, 0, " "], - [69791, 0, "$"], - [69792, 0, "p"], - [69793, 0, "$"], - [69794, 0, " "], - [69795, 0, "a"], - [69796, 0, "n"], - [69797, 0, "d"], - [69798, 0, " "], - [69799, 0, "$"], - [69800, 0, "q"], - [69801, 0, "$"], - [69802, 0, " "], - [69803, 0, "h"], - [69804, 0, "a"], - [69805, 0, "v"], - [69806, 0, "e"], - [69807, 0, " "], - [69808, 0, "t"], - [69809, 0, "h"], - [69810, 0, "e"], - [69811, 0, " "], - [69812, 0, "s"], - [69813, 0, "a"], - [69814, 0, "m"], - [69815, 0, "e"], - [69816, 0, " "], - [69817, 0, "d"], - [69818, 0, "o"], - [69819, 0, "c"], - [69820, 0, "u"], - [69821, 0, "m"], - [69822, 0, "e"], - [69823, 0, "n"], - [69824, 0, "t"], - [69825, 0, " "], - [69826, 0, "s"], - [69827, 0, "t"], - [69828, 0, "a"], - [69829, 0, "t"], - [69830, 0, "e"], - [69831, 0, "."], - [69847, 0, "\n"], - [69848, 0, "\n"], - [69849, 0, "T"], - [69850, 0, "h"], - [69851, 0, "i"], - [69852, 0, "s"], - [69853, 0, " "], - [69854, 0, "t"], - [69855, 0, "h"], - [69856, 0, "e"], - [69857, 0, "o"], - [69858, 0, "r"], - [69859, 0, "e"], - [69860, 0, "m"], - [69861, 0, " "], - [69862, 0, "i"], - [69863, 0, "s"], - [69864, 0, " "], - [69865, 0, "p"], - [69866, 0, "r"], - [69867, 0, "o"], - [69868, 0, "v"], - [69869, 0, "e"], - [69870, 0, "d"], - [69871, 0, " "], - [69872, 0, "i"], - [69873, 0, "n"], - [69874, 0, " "], - [69875, 0, "t"], - [69876, 0, "h"], - [69877, 0, "e"], - [69878, 0, " "], - [69879, 0, "a"], - [69880, 0, "p"], - [69881, 0, "p"], - [69882, 0, "e"], - [69883, 0, "n"], - [69884, 0, "d"], - [69885, 0, "i"], - [69886, 0, "x"], - [69887, 0, "."], - [69888, 0, " "], - [69889, 0, "I"], - [69890, 0, "t"], - [69891, 0, " "], - [69892, 0, "f"], - [69893, 0, "o"], - [69894, 0, "r"], - [69895, 0, "m"], - [69896, 0, "a"], - [69897, 0, "l"], - [69898, 0, "i"], - [69899, 0, "z"], - [69900, 0, "e"], - [69901, 0, "s"], - [69902, 0, " "], - [69903, 0, "t"], - [69904, 0, "h"], - [69905, 0, "e"], - [69906, 0, " "], - [69907, 0, "s"], - [69908, 0, "a"], - [69909, 0, "f"], - [69910, 0, "e"], - [69911, 0, "t"], - [69912, 0, "y"], - [69913, 0, " "], - [69914, 0, "p"], - [69915, 0, "r"], - [69916, 0, "o"], - [69917, 0, "p"], - [69918, 0, "e"], - [69919, 0, "r"], - [69920, 0, "t"], - [69921, 0, "y"], - [69922, 0, " "], - [69923, 0, "o"], - [69924, 0, "f"], - [69925, 0, " "], - [69926, 0, "c"], - [69927, 0, "o"], - [69928, 0, "n"], - [69929, 0, "v"], - [69930, 0, "e"], - [69931, 0, "r"], - [69932, 0, "g"], - [69933, 0, "e"], - [69934, 0, "n"], - [69935, 0, "c"], - [69936, 0, "e"], - [69937, 0, ":"], - [69938, 0, " "], - [69939, 0, "i"], - [69940, 0, "f"], - [69941, 0, " "], - [69942, 0, "t"], - [69943, 0, "w"], - [69944, 0, "o"], - [69945, 0, " "], - [69946, 0, "r"], - [69947, 0, "e"], - [69948, 0, "p"], - [69949, 0, "l"], - [69950, 0, "i"], - [69951, 0, "c"], - [69952, 0, "a"], - [69953, 0, "s"], - [69954, 0, " "], - [69955, 0, "h"], - [69956, 0, "a"], - [69957, 0, "v"], - [69958, 0, "e"], - [69959, 0, " "], - [69960, 0, "p"], - [69961, 0, "r"], - [69962, 0, "o"], - [69963, 0, "c"], - [69964, 0, "e"], - [69965, 0, "s"], - [69966, 0, "s"], - [69967, 0, "e"], - [69968, 0, "d"], - [69969, 0, " "], - [69970, 0, "t"], - [69971, 0, "h"], - [69972, 0, "e"], - [69973, 0, " "], - [69974, 0, "s"], - [69975, 0, "a"], - [69976, 0, "m"], - [69977, 0, "e"], - [69978, 0, " "], - [69979, 0, "s"], - [69980, 0, "e"], - [69981, 0, "t"], - [69982, 0, " "], - [69983, 0, "o"], - [69984, 0, "f"], - [69985, 0, " "], - [69986, 0, "o"], - [69987, 0, "p"], - [69988, 0, "e"], - [69989, 0, "r"], - [69990, 0, "a"], - [69991, 0, "t"], - [69992, 0, "i"], - [69993, 0, "o"], - [69994, 0, "n"], - [69995, 0, "s"], - [69996, 0, ","], - [69997, 0, " "], - [69998, 0, "p"], - [69999, 0, "o"], - [70000, 0, "s"], - [70001, 0, "s"], - [70002, 0, "i"], - [70003, 0, "b"], - [70004, 0, "l"], - [70005, 0, "y"], - [70006, 0, " "], - [70007, 0, "i"], - [70008, 0, "n"], - [70009, 0, " "], - [70010, 0, "a"], - [70011, 0, " "], - [70012, 0, "d"], - [70013, 0, "i"], - [70014, 0, "f"], - [70015, 0, "f"], - [70016, 0, "e"], - [70017, 0, "r"], - [70018, 0, "e"], - [70019, 0, "n"], - [70020, 0, "t"], - [70021, 0, " "], - [70022, 0, "o"], - [70023, 0, "r"], - [70024, 0, "d"], - [70025, 0, "e"], - [70026, 0, "r"], - [70027, 0, ","], - [70028, 0, " "], - [70029, 0, "t"], - [70030, 0, "h"], - [70031, 0, "e"], - [70032, 0, "n"], - [70033, 0, " "], - [70034, 0, "t"], - [70035, 0, "h"], - [70036, 0, "e"], - [70037, 0, "y"], - [70038, 0, " "], - [70039, 0, "a"], - [70040, 0, "r"], - [70041, 0, "e"], - [70042, 0, " "], - [70043, 0, "i"], - [70044, 0, "n"], - [70045, 0, " "], - [70046, 0, "t"], - [70047, 0, "h"], - [70048, 0, "e"], - [70049, 0, " "], - [70050, 0, "s"], - [70051, 0, "a"], - [70052, 0, "m"], - [70053, 0, "e"], - [70054, 0, " "], - [70055, 0, "s"], - [70056, 0, "t"], - [70057, 0, "a"], - [70058, 0, "t"], - [70059, 0, "e"], - [70060, 0, "."], - [70061, 0, " "], - [70062, 0, "I"], - [70063, 0, "t"], - [70064, 0, " "], - [70065, 0, "n"], - [70066, 0, "e"], - [70067, 0, "e"], - [70068, 0, "d"], - [70069, 0, "s"], - [70070, 0, " "], - [70071, 0, "t"], - [70072, 0, "o"], - [70073, 0, " "], - [70074, 0, "b"], - [70075, 0, "e"], - [70076, 0, " "], - [70077, 0, "c"], - [70078, 0, "o"], - [70079, 0, "u"], - [70080, 0, "p"], - [70081, 0, "l"], - [70082, 0, "e"], - [70083, 0, "d"], - [70084, 0, " "], - [70085, 0, "w"], - [70086, 0, "i"], - [70087, 0, "t"], - [70088, 0, "h"], - [70089, 0, " "], - [70090, 0, "a"], - [70091, 0, " "], - [70092, 0, "l"], - [70093, 0, "i"], - [70094, 0, "v"], - [70095, 0, "e"], - [70096, 0, "n"], - [70097, 0, "e"], - [70098, 0, "s"], - [70099, 0, "s"], - [70100, 0, " "], - [70101, 0, "p"], - [70102, 0, "r"], - [70103, 0, "o"], - [70104, 0, "p"], - [70105, 0, "e"], - [70106, 0, "r"], - [70107, 0, "t"], - [70108, 0, "y"], - [70109, 0, ","], - [70110, 0, " "], - [70111, 0, "n"], - [70112, 0, "a"], - [70113, 0, "m"], - [70114, 0, "e"], - [70115, 0, "l"], - [70116, 0, "y"], - [70117, 0, " "], - [70118, 0, "t"], - [70119, 0, "h"], - [70120, 0, "a"], - [70121, 0, "t"], - [70122, 0, " "], - [70083, 1], - [70082, 1], - [70081, 1], - [70080, 1], - [70079, 1], - [70078, 1], - [70077, 1], - [70076, 1], - [70075, 1], - [70074, 1], - [70073, 1], - [70072, 1], - [70071, 1], - [70070, 1], - [70069, 1], - [70068, 1], - [70067, 1], - [70066, 1], - [70065, 1], - [70064, 1], - [70063, 1], - [70063, 0, "n"], - [70064, 0, " "], - [70065, 0, "c"], - [70066, 0, "o"], - [70067, 0, "m"], - [70068, 0, "b"], - [70069, 0, "i"], - [70070, 0, "n"], - [70071, 0, "a"], - [70072, 0, "t"], - [70073, 0, "i"], - [70074, 0, "o"], - [70075, 0, "n"], - [70115, 0, "e"], - [70116, 0, "v"], - [70117, 0, "e"], - [70118, 0, "r"], - [70119, 0, "y"], - [70120, 0, " "], - [70121, 0, "r"], - [70122, 0, "e"], - [70123, 0, "p"], - [70124, 0, "l"], - [70125, 0, "i"], - [70126, 0, "c"], - [70127, 0, "a"], - [70128, 0, " "], - [70129, 0, "e"], - [70130, 0, "v"], - [70131, 0, "e"], - [70132, 0, "n"], - [70133, 0, "t"], - [70134, 0, "u"], - [70135, 0, "a"], - [70136, 0, "l"], - [70137, 0, "l"], - [70138, 0, "y"], - [70139, 0, " "], - [70140, 0, "p"], - [70141, 0, "r"], - [70142, 0, "o"], - [70143, 0, "c"], - [70144, 0, "e"], - [70145, 0, "s"], - [70146, 0, "s"], - [70147, 0, "e"], - [70148, 0, "s"], - [70149, 0, " "], - [70150, 0, "a"], - [70151, 0, "l"], - [70152, 0, "l"], - [70153, 0, " "], - [70154, 0, "o"], - [70155, 0, "p"], - [70156, 0, "e"], - [70157, 0, "r"], - [70158, 0, "a"], - [70159, 0, "t"], - [70160, 0, "i"], - [70161, 0, "o"], - [70162, 0, "n"], - [70163, 0, "s"], - [70164, 0, ","], - [70165, 0, " "], - [70166, 0, "w"], - [70167, 0, "e"], - [70168, 0, " "], - [70169, 0, "o"], - [70170, 0, "b"], - [70171, 0, "t"], - [70172, 0, "a"], - [70173, 0, "i"], - [70174, 0, "n"], - [70175, 0, " "], - [70176, 0, "t"], - [70177, 0, "h"], - [70178, 0, "e"], - [70179, 0, " "], - [70180, 0, "d"], - [70181, 0, "e"], - [70182, 0, "s"], - [70183, 0, "i"], - [70184, 0, "r"], - [70185, 0, "e"], - [70186, 0, "d"], - [70187, 0, " "], - [70188, 0, "n"], - [70189, 0, "o"], - [70190, 0, "t"], - [70191, 0, "i"], - [70192, 0, "o"], - [70193, 0, "n"], - [70194, 0, " "], - [70195, 0, "o"], - [70196, 0, "f"], - [70197, 0, " "], - [70198, 0, "c"], - [70199, 0, "o"], - [70200, 0, "n"], - [70201, 0, "v"], - [70202, 0, "e"], - [70203, 0, "r"], - [70204, 0, "g"], - [70205, 0, "e"], - [70206, 0, "n"], - [70207, 0, "c"], - [70208, 0, "e"], - [70209, 0, ":"], - [70210, 0, " "], - [70211, 0, "a"], - [70212, 0, "l"], - [70213, 0, "l"], - [70214, 0, " "], - [70215, 0, "r"], - [70216, 0, "e"], - [70217, 0, "p"], - [70218, 0, "l"], - [70219, 0, "i"], - [70220, 0, "c"], - [70221, 0, "a"], - [70222, 0, "s"], - [70223, 0, " "], - [70224, 0, "e"], - [70225, 0, "v"], - [70226, 0, "e"], - [70227, 0, "n"], - [70228, 0, "t"], - [70229, 0, "u"], - [70230, 0, "a"], - [70231, 0, "l"], - [70232, 0, "l"], - [70233, 0, "y"], - [70234, 0, " "], - [70235, 0, "e"], - [70236, 0, "n"], - [70237, 0, "d"], - [70238, 0, " "], - [70239, 0, "u"], - [70240, 0, "p"], - [70241, 0, " "], - [70242, 0, "i"], - [70243, 0, "n"], - [70244, 0, " "], - [70245, 0, "t"], - [70246, 0, "h"], - [70247, 0, "e"], - [70248, 0, " "], - [70249, 0, "s"], - [70250, 0, "a"], - [70251, 0, "m"], - [70252, 0, "e"], - [70253, 0, " "], - [70254, 0, "s"], - [70255, 0, "t"], - [70256, 0, "a"], - [70257, 0, "t"], - [70258, 0, "e"], - [70259, 0, "."], - [70260, 0, "\n"], - [70261, 0, "\n"], - [70262, 0, "T"], - [70263, 0, "h"], - [70264, 0, "e"], - [70265, 0, " "], - [70266, 0, "l"], - [70267, 0, "i"], - [70268, 0, "v"], - [70269, 0, "e"], - [70270, 0, "n"], - [70271, 0, "e"], - [70272, 0, "s"], - [70273, 0, "s"], - [70274, 0, " "], - [70275, 0, "p"], - [70276, 0, "r"], - [70277, 0, "o"], - [70278, 0, "p"], - [70279, 0, "e"], - [70280, 0, "r"], - [70281, 0, "t"], - [70282, 0, "y"], - [70283, 0, " "], - [70284, 0, "d"], - [70285, 0, "e"], - [70286, 0, "p"], - [70287, 0, "e"], - [70288, 0, "n"], - [70289, 0, "d"], - [70290, 0, "s"], - [70291, 0, " "], - [70292, 0, "o"], - [70293, 0, "n"], - [70294, 0, " "], - [70295, 0, "a"], - [70296, 0, "s"], - [70297, 0, "s"], - [70298, 0, "u"], - [70299, 0, "m"], - [70300, 0, "p"], - [70301, 0, "t"], - [70302, 0, "i"], - [70303, 0, "o"], - [70304, 0, "n"], - [70305, 0, "s"], - [70306, 0, " "], - [70307, 0, "o"], - [70308, 0, "f"], - [70309, 0, " "], - [70310, 0, "r"], - [70311, 0, "e"], - [70312, 0, "p"], - [70313, 0, "l"], - [70314, 0, "i"], - [70315, 0, "c"], - [70316, 0, "a"], - [70317, 0, "s"], - [70318, 0, " "], - [70319, 0, "i"], - [70320, 0, "n"], - [70321, 0, "v"], - [70322, 0, "o"], - [70323, 0, "k"], - [70324, 0, "i"], - [70325, 0, "n"], - [70326, 0, "g"], - [70327, 0, " "], - [70328, 0, "\\"], - [70329, 0, "m"], - [70330, 0, "a"], - [70330, 1], - [70329, 1], - [70329, 0, "t"], - [70330, 0, "e"], - [70331, 0, "x"], - [70332, 0, "t"], - [70333, 0, "s"], - [70334, 0, "f"], - [70335, 0, "{"], - [70336, 0, "y"], - [70337, 0, "i"], - [70338, 0, "e"], - [70339, 0, "l"], - [70340, 0, "d"], - [70341, 0, "}"], - [70342, 0, " "], - [70343, 0, "s"], - [70344, 0, "u"], - [70345, 0, "f"], - [70346, 0, "f"], - [70347, 0, "i"], - [70348, 0, "c"], - [70349, 0, "i"], - [70350, 0, "e"], - [70351, 0, "n"], - [70352, 0, "t"], - [70353, 0, "l"], - [70354, 0, "y"], - [70355, 0, " "], - [70356, 0, "o"], - [70357, 0, "f"], - [70358, 0, "t"], - [70359, 0, "e"], - [70360, 0, "n"], - [70361, 0, ","], - [70362, 0, " "], - [70363, 0, "a"], - [70364, 0, "n"], - [70365, 0, "d"], - [70366, 0, " "], - [70367, 0, "a"], - [70368, 0, "l"], - [70369, 0, "l"], - [70370, 0, " "], - [70371, 0, "n"], - [70372, 0, "o"], - [70373, 0, "n"], - [70374, 0, "d"], - [70375, 0, "e"], - [70376, 0, "t"], - [70377, 0, "e"], - [70378, 0, "r"], - [70379, 0, "m"], - [70380, 0, "i"], - [70381, 0, "n"], - [70382, 0, "i"], - [70383, 0, "s"], - [70384, 0, "t"], - [70385, 0, "i"], - [70386, 0, "c"], - [70387, 0, " "], - [70388, 0, "r"], - [70389, 0, "u"], - [70390, 0, "l"], - [70391, 0, "e"], - [70392, 0, "s"], - [70393, 0, " "], - [70394, 0, "f"], - [70395, 0, "o"], - [70396, 0, "r"], - [70397, 0, " "], - [70398, 0, "t"], - [70399, 0, "e"], - [70400, 0, "x"], - [70400, 1], - [70399, 1], - [70398, 1], - [70398, 0, "\\"], - [70399, 0, "t"], - [70400, 0, "e"], - [70401, 0, "x"], - [70402, 0, "t"], - [70403, 0, "s"], - [70404, 0, "f"], - [70405, 0, "{"], - [70406, 0, "y"], - [70407, 0, "i"], - [70408, 0, "e"], - [70409, 0, "l"], - [70410, 0, "d"], - [70411, 0, "}"], - [70412, 0, " "], - [70413, 0, "b"], - [70414, 0, "e"], - [70415, 0, "i"], - [70416, 0, "n"], - [70417, 0, "g"], - [70418, 0, " "], - [70419, 0, "c"], - [70420, 0, "h"], - [70421, 0, "o"], - [70422, 0, "s"], - [70423, 0, "e"], - [70424, 0, "n"], - [70425, 0, " "], - [70426, 0, "f"], - [70427, 0, "a"], - [70428, 0, "i"], - [70429, 0, "r"], - [70430, 0, "l"], - [70431, 0, "y"], - [70432, 0, "."], - [70433, 0, " "], - [70434, 0, "W"], - [70435, 0, "e"], - [70436, 0, " "], - [70437, 0, "w"], - [70438, 0, "i"], - [70439, 0, "l"], - [70440, 0, "l"], - [70441, 0, " "], - [70442, 0, "n"], - [70443, 0, "o"], - [70444, 0, "t"], - [70445, 0, " "], - [70446, 0, "f"], - [70447, 0, "o"], - [70448, 0, "r"], - [70449, 0, "m"], - [70450, 0, "a"], - [70451, 0, "l"], - [70452, 0, "i"], - [70453, 0, "z"], - [70454, 0, "e"], - [70455, 0, " "], - [70456, 0, "t"], - [70457, 0, "h"], - [70458, 0, "e"], - [70459, 0, " "], - [70460, 0, "l"], - [70461, 0, "i"], - [70462, 0, "v"], - [70463, 0, "e"], - [70464, 0, "n"], - [70465, 0, "e"], - [70466, 0, "s"], - [70467, 0, "s"], - [70468, 0, " "], - [70469, 0, "p"], - [70470, 0, "r"], - [70471, 0, "o"], - [70472, 0, "p"], - [70473, 0, "e"], - [70474, 0, "r"], - [70475, 0, "t"], - [70476, 0, "y"], - [70477, 0, " "], - [70478, 0, "i"], - [70479, 0, "n"], - [70480, 0, " "], - [70481, 0, "t"], - [70482, 0, "h"], - [70483, 0, "i"], - [70484, 0, "s"], - [70485, 0, " "], - [70486, 0, "p"], - [70487, 0, "a"], - [70488, 0, "p"], - [70489, 0, "e"], - [70490, 0, "r"], - [70491, 0, ","], - [70492, 0, " "], - [70493, 0, "b"], - [70494, 0, "u"], - [70495, 0, "t"], - [70496, 0, " "], - [70497, 0, "a"], - [70498, 0, "s"], - [70499, 0, "s"], - [70500, 0, "e"], - [70501, 0, "r"], - [70502, 0, "t"], - [70503, 0, " "], - [70504, 0, "t"], - [70505, 0, "h"], - [70506, 0, "a"], - [70507, 0, "t"], - [70508, 0, " "], - [70509, 0, "i"], - [70510, 0, "t"], - [70511, 0, " "], - [70512, 0, "c"], - [70513, 0, "a"], - [70514, 0, "n"], - [70515, 0, " "], - [70516, 0, "b"], - [70517, 0, "e"], - [70518, 0, " "], - [70519, 0, "p"], - [70520, 0, "r"], - [70521, 0, "o"], - [70522, 0, "v"], - [70523, 0, "i"], - [70524, 0, "d"], - [70525, 0, "e"], - [70526, 0, "d"], - [70527, 0, " "], - [70528, 0, "i"], - [70529, 0, "n"], - [70530, 0, " "], - [70531, 0, "p"], - [70532, 0, "r"], - [70533, 0, "a"], - [70534, 0, "c"], - [70535, 0, "t"], - [70536, 0, "i"], - [70537, 0, "c"], - [70538, 0, "e"], - [70539, 0, ","], - [70540, 0, " "], - [70541, 0, "a"], - [70542, 0, "s"], - [70543, 0, " "], - [70544, 0, "n"], - [70545, 0, "e"], - [70546, 0, "t"], - [70547, 0, "w"], - [70548, 0, "o"], - [70549, 0, "r"], - [70550, 0, "k"], - [70551, 0, " "], - [70552, 0, "i"], - [70553, 0, "n"], - [70554, 0, "t"], - [70555, 0, "e"], - [70556, 0, "r"], - [70557, 0, "r"], - [70558, 0, "u"], - [70559, 0, "p"], - [70560, 0, "t"], - [70561, 0, "i"], - [70562, 0, "o"], - [70563, 0, "n"], - [70564, 0, "s"], - [70565, 0, " "], - [70566, 0, "a"], - [70567, 0, "r"], - [70568, 0, "e"], - [70569, 0, " "], - [70570, 0, "u"], - [70571, 0, "s"], - [70572, 0, "u"], - [70573, 0, "a"], - [70574, 0, "l"], - [70575, 0, "l"], - [70576, 0, "y"], - [70577, 0, " "], - [70578, 0, "o"], - [70579, 0, "f"], - [70580, 0, " "], - [70581, 0, "f"], - [70582, 0, "i"], - [70583, 0, "n"], - [70584, 0, "i"], - [70585, 0, "t"], - [70586, 0, "e"], - [70587, 0, " "], - [70588, 0, "d"], - [70589, 0, "u"], - [70590, 0, "r"], - [70591, 0, "a"], - [70592, 0, "t"], - [70593, 0, "i"], - [70594, 0, "o"], - [70595, 0, "n"], - [70596, 0, "."], - [70512, 0, "u"], - [70513, 0, "s"], - [70514, 0, "u"], - [70515, 0, "a"], - [70516, 0, "l"], - [70517, 0, "l"], - [70518, 0, "y"], - [70519, 0, " "], - [70519, 1], - [70518, 1], - [70517, 1], - [70516, 1], - [70515, 1], - [70514, 1], - [70513, 1], - [70512, 1], - [70515, 0, " "], - [70516, 0, "u"], - [70517, 0, "s"], - [70518, 0, "u"], - [70519, 0, "a"], - [70520, 0, "l"], - [70521, 0, "l"], - [70522, 0, "y"], - [69650, 0, "\n"], - [69651, 0, "\n"], - [69652, 0, "\\"], - [69653, 0, "b"], - [69654, 0, "e"], - [69655, 0, "g"], - [69656, 0, "i"], - [69657, 0, "n"], - [69658, 0, "{"], - [69659, 0, "d"], - [69660, 0, "e"], - [69661, 0, "f"], - [69662, 0, "i"], - [69663, 0, "n"], - [69664, 0, "i"], - [69665, 0, "t"], - [69666, 0, "i"], - [69667, 0, "o"], - [69668, 0, "n"], - [69669, 0, "}"], - [69670, 0, "\n"], - [69671, 0, "\\"], - [69672, 0, "e"], - [69673, 0, "n"], - [69674, 0, "d"], - [69675, 0, "{"], - [69676, 0, "d"], - [69677, 0, "e"], - [69678, 0, "f"], - [69679, 0, "i"], - [69680, 0, "n"], - [69681, 0, "i"], - [69682, 0, "t"], - [69683, 0, "i"], - [69684, 0, "o"], - [69685, 0, "n"], - [69686, 0, "}"], - [69670, 0, "\n"], - [69671, 0, "T"], - [69672, 0, "h"], - [69673, 0, "e"], - [69674, 0, " "], - [69675, 0, "\\"], - [69676, 0, "m"], - [69676, 1], - [69676, 0, "e"], - [69677, 0, "m"], - [69678, 0, "p"], - [69679, 0, "h"], - [69680, 0, "{"], - [69681, 0, "d"], - [69682, 0, "o"], - [69683, 0, "c"], - [69684, 0, "u"], - [69685, 0, "m"], - [69686, 0, "e"], - [69687, 0, "n"], - [69688, 0, "t"], - [69689, 0, " "], - [69690, 0, "s"], - [69691, 0, "t"], - [69692, 0, "a"], - [69693, 0, "t"], - [69694, 0, "e"], - [69695, 0, "}"], - [69696, 0, " "], - [69697, 0, "o"], - [69698, 0, "f"], - [69699, 0, " "], - [69700, 0, "a"], - [69701, 0, " "], - [69702, 0, "r"], - [69703, 0, "e"], - [69704, 0, "p"], - [69705, 0, "l"], - [69706, 0, "i"], - [69707, 0, "c"], - [69708, 0, "a"], - [69709, 0, " "], - [69710, 0, "$"], - [69711, 0, "p"], - [69712, 0, "$"], - [69713, 0, " "], - [69714, 0, "i"], - [69715, 0, "s"], - [69716, 0, " "], - [69717, 0, "t"], - [69718, 0, "h"], - [69719, 0, "e"], - [69720, 0, " "], - [69721, 0, "s"], - [69722, 0, "u"], - [69723, 0, "b"], - [69724, 0, "t"], - [69725, 0, "r"], - [69726, 0, "e"], - [69727, 0, "e"], - [69728, 0, " "], - [69729, 0, "o"], - [69730, 0, "f"], - [69731, 0, " "], - [69732, 0, "$"], - [69733, 0, "A"], - [69734, 0, "_"], - [69735, 0, "p"], - [69736, 0, "$"], - [69737, 0, " "], - [69738, 0, "c"], - [69739, 0, "o"], - [69740, 0, "n"], - [69741, 0, "t"], - [69742, 0, "a"], - [69743, 0, "i"], - [69744, 0, "n"], - [69745, 0, "i"], - [69746, 0, "n"], - [69747, 0, "g"], - [69748, 0, " "], - [69749, 0, "t"], - [69750, 0, "h"], - [69751, 0, "e"], - [69752, 0, " "], - [69753, 0, "d"], - [69754, 0, "o"], - [69755, 0, "c"], - [69756, 0, "u"], - [69757, 0, "m"], - [69758, 0, "e"], - [69759, 0, "n"], - [69760, 0, "t"], - [69761, 0, " "], - [69761, 1], - [69761, 0, ":"], - [69762, 0, " "], - [69763, 0, "t"], - [69764, 0, "h"], - [69765, 0, "a"], - [69766, 0, "t"], - [69767, 0, " "], - [69768, 0, "i"], - [69769, 0, "s"], - [69770, 0, ","], - [69771, 0, " "], - [69772, 0, "$"], - [69773, 0, "A"], - [69774, 0, "_"], - [69775, 0, "p"], - [69776, 0, "("], - [69777, 0, "\\"], - [69778, 0, "m"], - [69779, 0, "a"], - [69780, 0, "t"], - [69781, 0, "h"], - [69782, 0, "s"], - [69783, 0, "f"], - [69784, 0, "{"], - [69785, 0, "m"], - [69786, 0, "a"], - [69787, 0, "p"], - [69788, 0, "T"], - [69789, 0, "}"], - [69790, 0, "("], - [69791, 0, "\\"], - [69792, 0, "m"], - [69793, 0, "a"], - [69794, 0, "t"], - [69795, 0, "h"], - [69796, 0, "s"], - [69797, 0, "f"], - [69798, 0, "{"], - [69799, 0, "d"], - [69800, 0, "o"], - [69801, 0, "c"], - [69802, 0, "}"], - [69803, 0, ")"], - [69804, 0, "$"], - [69805, 0, " "], - [69806, 0, "o"], - [69807, 0, "r"], - [69808, 0, " "], - [69809, 0, "$"], - [69810, 0, "A"], - [69811, 0, "_"], - [69812, 0, "p"], - [69813, 0, "("], - [69814, 0, "\\"], - [69815, 0, "m"], - [69816, 0, "a"], - [69817, 0, "t"], - [69818, 0, "h"], - [69819, 0, "s"], - [69820, 0, "f"], - [69821, 0, "{"], - [69822, 0, "l"], - [69823, 0, "i"], - [69824, 0, "s"], - [69825, 0, "t"], - [69826, 0, "T"], - [69827, 0, "}"], - [69828, 0, "("], - [69829, 0, "\\"], - [69830, 0, "m"], - [69831, 0, "a"], - [69832, 0, "t"], - [69833, 0, "h"], - [69834, 0, "s"], - [69835, 0, "f"], - [69836, 0, "{"], - [69837, 0, "d"], - [69838, 0, "o"], - [69839, 0, "c"], - [69840, 0, "}"], - [69841, 0, ")"], - [69842, 0, "$"], - [69843, 0, " "], - [69844, 0, "o"], - [69845, 0, "r"], - [69846, 0, " "], - [69847, 0, "$"], - [69848, 0, "A"], - [69849, 0, "_"], - [69850, 0, "p"], - [69851, 0, "("], - [69852, 0, "\\"], - [69853, 0, "m"], - [69854, 0, "a"], - [69855, 0, "t"], - [69856, 0, "h"], - [69857, 0, "s"], - [69858, 0, "f"], - [69859, 0, "{"], - [69860, 0, "r"], - [69861, 0, "e"], - [69862, 0, "g"], - [69863, 0, "T"], - [69864, 0, "}"], - [69865, 0, "("], - [69866, 0, "\\"], - [69867, 0, "m"], - [69868, 0, "a"], - [69869, 0, "t"], - [69870, 0, "h"], - [69871, 0, "s"], - [69872, 0, "f"], - [69873, 0, "{"], - [69874, 0, "d"], - [69875, 0, "o"], - [69876, 0, "c"], - [69877, 0, "}"], - [69878, 0, ")"], - [69879, 0, "$"], - [69880, 0, ","], - [69881, 0, " "], - [69882, 0, "w"], - [69883, 0, "h"], - [69884, 0, "c"], - [69884, 1], - [69884, 0, "i"], - [69885, 0, "c"], - [69886, 0, "h"], - [69887, 0, "e"], - [69888, 0, "v"], - [69889, 0, "e"], - [69890, 0, "r"], - [69891, 0, " "], - [69892, 0, "i"], - [69893, 0, "s"], - [69894, 0, " "], - [69895, 0, "d"], - [69896, 0, "e"], - [69897, 0, "f"], - [69898, 0, "i"], - [69899, 0, "n"], - [69900, 0, "e"], - [69901, 0, "d"], - [69902, 0, "."], - [69920, 0, "\n"], - [69921, 0, "\n"], - [69922, 0, "T"], - [69923, 0, "h"], - [69924, 0, "e"], - [69925, 0, " "], - [69926, 0, "d"], - [69927, 0, "o"], - [69928, 0, "c"], - [69929, 0, "u"], - [69930, 0, "m"], - [69931, 0, "e"], - [69932, 0, "n"], - [69933, 0, "t"], - [69934, 0, " "], - [69935, 0, "s"], - [69936, 0, "t"], - [69937, 0, "a"], - [69938, 0, "t"], - [69939, 0, "e"], - [69940, 0, " "], - [69941, 0, "e"], - [69942, 0, "x"], - [69943, 0, "c"], - [69944, 0, "l"], - [69945, 0, "u"], - [69946, 0, "d"], - [69947, 0, "e"], - [69948, 0, "s"], - [69949, 0, " "], - [69950, 0, "a"], - [69951, 0, "n"], - [69952, 0, "y"], - [69953, 0, " "], - [69954, 0, "v"], - [69955, 0, "a"], - [69956, 0, "r"], - [69957, 0, "i"], - [69958, 0, "a"], - [69959, 0, "b"], - [69960, 0, "l"], - [69961, 0, "e"], - [69962, 0, "s"], - [69963, 0, " "], - [69964, 0, "d"], - [69965, 0, "e"], - [69966, 0, "f"], - [69967, 0, "i"], - [69968, 0, "n"], - [69969, 0, "e"], - [69970, 0, "d"], - [69971, 0, " "], - [69972, 0, "w"], - [69973, 0, "i"], - [69974, 0, "t"], - [69975, 0, "h"], - [69976, 0, " "], - [69977, 0, "\\"], - [69978, 0, "m"], - [69979, 0, "a"], - [69980, 0, "t"], - [69981, 0, "h"], - [69981, 1], - [69980, 1], - [69979, 1], - [69978, 1], - [69978, 0, "t"], - [69979, 0, "e"], - [69980, 0, "x"], - [69981, 0, "t"], - [69982, 0, "s"], - [69983, 0, "f"], - [69984, 0, "{"], - [69985, 0, "l"], - [69986, 0, "e"], - [69987, 0, "t"], - [69988, 0, "}"], - [69989, 0, ","], - [69990, 0, " "], - [69991, 0, "s"], - [69992, 0, "i"], - [69993, 0, "n"], - [69994, 0, "c"], - [69995, 0, "e"], - [69996, 0, " "], - [69997, 0, "t"], - [69998, 0, "h"], - [69999, 0, "e"], - [70000, 0, "y"], - [70001, 0, " "], - [70002, 0, "a"], - [70003, 0, "r"], - [70004, 0, "e"], - [70005, 0, " "], - [70006, 0, "l"], - [70007, 0, "o"], - [70008, 0, "c"], - [70009, 0, "a"], - [70010, 0, "l"], - [70011, 0, " "], - [70012, 0, "t"], - [70013, 0, "o"], - [70014, 0, " "], - [70015, 0, "o"], - [70016, 0, "n"], - [70017, 0, "e"], - [70018, 0, " "], - [70019, 0, "r"], - [70020, 0, "e"], - [70021, 0, "p"], - [70022, 0, "l"], - [70023, 0, "i"], - [70024, 0, "c"], - [70025, 0, "a"], - [70026, 0, ","], - [70027, 0, " "], - [70028, 0, "a"], - [70029, 0, "n"], - [70030, 0, "d"], - [70031, 0, " "], - [70032, 0, "n"], - [70033, 0, "o"], - [70034, 0, "t"], - [70035, 0, " "], - [70036, 0, "p"], - [70037, 0, "a"], - [70038, 0, "r"], - [70039, 0, "t"], - [70040, 0, " "], - [70041, 0, "o"], - [70042, 0, "f"], - [70043, 0, " "], - [70044, 0, "t"], - [70045, 0, "h"], - [70046, 0, "e"], - [70047, 0, " "], - [70048, 0, "s"], - [70049, 0, "t"], - [70050, 0, "a"], - [70051, 0, "t"], - [70052, 0, "e"], - [70053, 0, " "], - [70054, 0, "t"], - [70055, 0, "h"], - [70056, 0, "a"], - [70057, 0, "t"], - [70058, 0, " "], - [70059, 0, "i"], - [70060, 0, "s"], - [70061, 0, " "], - [70062, 0, "r"], - [70063, 0, "e"], - [70064, 0, "p"], - [70065, 0, "l"], - [70066, 0, "i"], - [70067, 0, "c"], - [70068, 0, "a"], - [70069, 0, "t"], - [70070, 0, "e"], - [70071, 0, "d"], - [70072, 0, "."], - [70047, 0, " "], - [70048, 0, "r"], - [70049, 0, "e"], - [70050, 0, "p"], - [70051, 0, "l"], - [70052, 0, "i"], - [70053, 0, "c"], - [70054, 0, "a"], - [70055, 0, "t"], - [70056, 0, "e"], - [70057, 0, "d"], - [70082, 1], - [70081, 1], - [70080, 1], - [70079, 1], - [70078, 1], - [70077, 1], - [70076, 1], - [70075, 1], - [70074, 1], - [70073, 1], - [70072, 1], - [70071, 1], - [70070, 1], - [70069, 1], - [70068, 1], - [70067, 1], - [70066, 1], - [70065, 1], - [70064, 1], - [69952, 1], - [69951, 1], - [69950, 1], - [69949, 1], - [69948, 1], - [69947, 1], - [69946, 1], - [69945, 1], - [69944, 1], - [69943, 1], - [69942, 1], - [69941, 1], - [69940, 1], - [69939, 1], - [69938, 1], - [69937, 1], - [69936, 1], - [69935, 1], - [69934, 1], - [69933, 1], - [69932, 1], - [69931, 1], - [69930, 1], - [69929, 1], - [69928, 1], - [69927, 1], - [69926, 1], - [69925, 1], - [69924, 1], - [69923, 1], - [69922, 1], - [69922, 0, "$"], - [69923, 0, "A"], - [69924, 0, "_"], - [69925, 0, "p"], - [69926, 0, "$"], - [69922, 0, "W"], - [69923, 0, "e"], - [69924, 0, " "], - [69925, 0, "n"], - [69926, 0, "e"], - [69927, 0, "e"], - [69928, 0, "d"], - [69929, 0, " "], - [69930, 0, "t"], - [69931, 0, "h"], - [69932, 0, "i"], - [69933, 0, "s"], - [69934, 0, " "], - [69935, 0, "d"], - [69936, 0, "e"], - [69937, 0, "f"], - [69938, 0, "i"], - [69939, 0, "n"], - [69940, 0, "i"], - [69941, 0, "t"], - [69942, 0, "i"], - [69943, 0, "o"], - [69944, 0, "n"], - [69945, 0, " "], - [69946, 0, "b"], - [69947, 0, "e"], - [69948, 0, "c"], - [69949, 0, "a"], - [69950, 0, "u"], - [69951, 0, "s"], - [69952, 0, "e"], - [69953, 0, " "], - [69959, 0, " "], - [69960, 0, "c"], - [69961, 0, "o"], - [69962, 0, "n"], - [69963, 0, "t"], - [69964, 0, "a"], - [69965, 0, "i"], - [69966, 0, "n"], - [69967, 0, "s"], - [70015, 1], - [70014, 1], - [70013, 1], - [70012, 1], - [70011, 1], - [70010, 1], - [70009, 1], - [70008, 1], - [70007, 1], - [70006, 1], - [70006, 0, "w"], - [70007, 0, "h"], - [70008, 0, "i"], - [70009, 0, "c"], - [70010, 0, "h"], - [70075, 0, " "], - [70076, 0, "T"], - [69953, 1], - [69952, 1], - [69951, 1], - [69950, 1], - [69949, 1], - [69948, 1], - [69947, 1], - [69946, 1], - [69945, 1], - [69944, 1], - [69943, 1], - [69942, 1], - [69941, 1], - [69940, 1], - [69939, 1], - [69938, 1], - [69937, 1], - [69936, 1], - [69935, 1], - [69934, 1], - [69933, 1], - [69932, 1], - [69931, 1], - [69930, 1], - [69929, 1], - [69928, 1], - [69927, 1], - [69926, 1], - [69925, 1], - [69924, 1], - [69923, 1], - [69922, 1], - [70045, 0, "h"], - [70046, 0, "e"], - [70047, 0, " "], - [70048, 0, "d"], - [70049, 0, "e"], - [70050, 0, "f"], - [70051, 0, "i"], - [70052, 0, "n"], - [70053, 0, "i"], - [70054, 0, "t"], - [70055, 0, "i"], - [70056, 0, "o"], - [70057, 0, "n"], - [70058, 0, " "], - [70059, 0, "o"], - [70060, 0, "f"], - [70061, 0, " "], - [70062, 0, "d"], - [70063, 0, "o"], - [70064, 0, "c"], - [70065, 0, "u"], - [70066, 0, "m"], - [70067, 0, "e"], - [70068, 0, "n"], - [70069, 0, "t"], - [70070, 0, " "], - [70071, 0, "s"], - [70072, 0, "t"], - [70073, 0, "a"], - [70074, 0, "t"], - [70075, 0, "e"], - [70076, 0, " "], - [70077, 0, "e"], - [70078, 0, "x"], - [70079, 0, "c"], - [70080, 0, "l"], - [70081, 0, "u"], - [70082, 0, "d"], - [70083, 0, "e"], - [70084, 0, "s"], - [70085, 0, " "], - [70086, 0, "t"], - [70087, 0, "h"], - [70088, 0, "e"], - [70089, 0, "s"], - [70090, 0, "e"], - [70091, 0, " "], - [70092, 0, "v"], - [70093, 0, "a"], - [70094, 0, "r"], - [70095, 0, "i"], - [70096, 0, "a"], - [70097, 0, "b"], - [70098, 0, "l"], - [70099, 0, "e"], - [70100, 0, "s"], - [70101, 0, "."], - [70118, 1], - [70296, 1], - [70296, 0, "-"], - [70297, 0, "u"], - [70298, 0, "n"], - [70299, 0, "n"], - [70300, 0, "u"], - [70301, 0, "m"], - [70302, 0, "b"], - [70303, 0, "e"], - [70304, 0, "r"], - [70305, 0, "e"], - [70306, 0, "d"], - [70118, 0, "-"], - [70119, 0, "u"], - [70119, 1], - [70118, 1], - [70117, 1], - [70116, 1], - [70115, 1], - [70114, 1], - [70113, 1], - [70113, 0, "m"], - [70114, 0, ":"], - [70115, 0, "c"], - [70116, 0, "o"], - [70117, 0, "n"], - [70118, 0, "v"], - [70119, 0, "e"], - [70120, 0, "r"], - [70121, 0, "g"], - [70122, 0, "e"], - [70123, 0, "n"], - [70124, 0, "c"], - [70125, 0, "e"], - [70314, 1], - [70313, 1], - [70312, 1], - [70311, 1], - [70310, 1], - [70309, 1], - [70308, 1], - [70307, 1], - [70306, 1], - [70305, 1], - [70304, 1], - [70303, 1], - [70302, 1], - [70301, 1], - [70300, 1], - [70299, 1], - [70299, 0, "m"], - [70300, 0, "-"], - [70301, 0, "c"], - [70302, 0, "o"], - [70303, 0, "n"], - [70304, 0, "v"], - [70305, 0, "e"], - [70306, 0, "r"], - [70307, 0, "g"], - [70308, 0, "e"], - [70309, 0, "n"], - [70310, 0, "c"], - [70311, 0, "e"], - [70312, 0, "-"], - [70313, 0, "t"], - [70314, 0, "h"], - [70315, 0, "m"], - [70300, 1], - [70299, 1], - [70298, 1], - [70297, 1], - [70114, 1], - [70113, 1], - [70112, 1], - [70111, 1], - [70122, 0, "-"], - [70123, 0, "t"], - [70124, 0, "h"], - [70125, 0, "m"], - [462, 0, "\n"], - [463, 0, "\\"], - [464, 0, "n"], - [465, 0, "e"], - [466, 0, "w"], - [467, 0, "t"], - [468, 0, "h"], - [469, 0, "e"], - [470, 0, "o"], - [471, 0, "r"], - [472, 0, "e"], - [473, 0, "m"], - [474, 0, "*"], - [475, 0, "{"], - [476, 0, "c"], - [477, 0, "o"], - [478, 0, "n"], - [479, 0, "v"], - [480, 0, "e"], - [481, 0, "r"], - [482, 0, "g"], - [483, 0, "e"], - [484, 0, "n"], - [485, 0, "c"], - [486, 0, "e"], - [487, 0, "-"], - [488, 0, "t"], - [489, 0, "h"], - [490, 0, "m"], - [491, 0, "}"], - [492, 0, "{"], - [493, 0, "T"], - [494, 0, "h"], - [495, 0, "e"], - [496, 0, "o"], - [497, 0, "r"], - [498, 0, "e"], - [499, 0, "m"], - [500, 0, "}"], - [69843, 0, ")"], - [69881, 0, ")"], - [69919, 0, ")"], - [69232, 0, " "], - [69233, 0, "a"], - [69234, 0, "t"], - [69235, 0, " "], - [69236, 0, "a"], - [69237, 0, " "], - [69238, 0, "g"], - [69239, 0, "i"], - [69240, 0, "v"], - [69241, 0, "e"], - [69242, 0, "n"], - [69243, 0, " "], - [69244, 0, "r"], - [69245, 0, "e"], - [69246, 0, "p"], - [69247, 0, "l"], - [69248, 0, "i"], - [69249, 0, "c"], - [69250, 0, "a"], - [69573, 1], - [69572, 1], - [69572, 0, "a"], - [69573, 0, "r"], - [69574, 0, "e"], - [69570, 1], - [69570, 0, "i"], - [69571, 0, "e"], - [69572, 0, "s"], - [69563, 1], - [69562, 1], - [69561, 1], - [69560, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 1], - [71172, 0, "I"], - [71173, 0, "n"], - [71174, 0, " "], - [71175, 0, "t"], - [71176, 0, "h"], - [71177, 0, "i"], - [71178, 0, "s"], - [71179, 0, " "], - [71180, 0, "p"], - [71181, 0, "a"], - [71182, 0, "p"], - [71183, 0, "e"], - [71184, 0, "r"], - [71185, 0, " "], - [71186, 0, "w"], - [71187, 0, "e"], - [71188, 0, " "], - [71189, 0, "d"], - [71190, 0, "e"], - [71191, 0, "m"], - [71192, 0, "o"], - [71193, 0, "n"], - [71194, 0, "s"], - [71195, 0, "t"], - [71196, 0, "r"], - [71197, 0, "a"], - [71198, 0, "t"], - [71199, 0, "e"], - [71200, 0, "d"], - [71201, 0, " "], - [71202, 0, "h"], - [71203, 0, "o"], - [71204, 0, "w"], - [71205, 0, " "], - [71206, 0, "t"], - [71207, 0, "o"], - [71208, 0, " "], - [71209, 0, "c"], - [71210, 0, "o"], - [71211, 0, "m"], - [71212, 0, "p"], - [71213, 0, "o"], - [71214, 0, "s"], - [71215, 0, "e"], - [71216, 0, " "], - [71217, 0, "C"], - [71217, 1], - [71217, 0, "C"], - [71218, 0, "R"], - [71219, 0, "D"], - [71220, 0, "T"], - [71221, 0, "s"], - [71222, 0, " "], - [71223, 0, "f"], - [71224, 0, "o"], - [71225, 0, "r"], - [71226, 0, " "], - [71227, 0, "o"], - [71228, 0, "r"], - [71229, 0, "d"], - [71230, 0, "e"], - [71231, 0, "r"], - [71232, 0, "e"], - [71233, 0, "d"], - [71234, 0, " "], - [71235, 0, "l"], - [71236, 0, "i"], - [71237, 0, "s"], - [71238, 0, "t"], - [71239, 0, "s"], - [71240, 0, ","], - [71241, 0, " "], - [71242, 0, "m"], - [71243, 0, "a"], - [71244, 0, "p"], - [71245, 0, "s"], - [71246, 0, " "], - [71247, 0, "a"], - [71248, 0, "n"], - [71249, 0, "d"], - [71250, 0, " "], - [71251, 0, "r"], - [71252, 0, "e"], - [71253, 0, "g"], - [71254, 0, "i"], - [71255, 0, "s"], - [71256, 0, "t"], - [71257, 0, "e"], - [71258, 0, "r"], - [71259, 0, "s"], - [71260, 0, " "], - [71261, 0, "i"], - [71262, 0, "n"], - [71263, 0, "t"], - [71264, 0, "o"], - [71265, 0, " "], - [71266, 0, "a"], - [71267, 0, " "], - [71268, 0, "c"], - [71269, 0, "o"], - [71270, 0, "m"], - [71271, 0, "p"], - [71272, 0, "o"], - [71273, 0, "u"], - [71274, 0, "n"], - [71275, 0, "d"], - [71276, 0, " "], - [71277, 0, "C"], - [71278, 0, "R"], - [71279, 0, "D"], - [71280, 0, "T"], - [71281, 0, " "], - [71282, 0, "w"], - [71283, 0, "i"], - [71284, 0, "t"], - [71285, 0, "h"], - [71286, 0, " "], - [71287, 0, "a"], - [71288, 0, " "], - [71289, 0, "J"], - [71290, 0, "S"], - [71291, 0, "O"], - [71292, 0, "N"], - [71293, 0, " "], - [71294, 0, "d"], - [71295, 0, "a"], - [71296, 0, "t"], - [71297, 0, "a"], - [71298, 0, " "], - [71299, 0, "m"], - [71300, 0, "o"], - [71301, 0, "d"], - [71302, 0, "e"], - [71303, 0, "l"], - [71304, 0, "."], - [71305, 0, " "], - [71306, 0, "I"], - [71307, 0, "t"], - [71308, 0, " "], - [71309, 0, "s"], - [71310, 0, "u"], - [71311, 0, "p"], - [71312, 0, "p"], - [71313, 0, "o"], - [71314, 0, "r"], - [71315, 0, "t"], - [71316, 0, "s"], - [71317, 0, " "], - [71318, 0, "a"], - [71319, 0, "r"], - [71320, 0, "b"], - [71321, 0, "i"], - [71322, 0, "t"], - [71323, 0, "r"], - [71324, 0, "a"], - [71325, 0, "r"], - [71326, 0, "i"], - [71327, 0, "l"], - [71328, 0, "y"], - [71329, 0, " "], - [71330, 0, "n"], - [71331, 0, "e"], - [71332, 0, "s"], - [71333, 0, "t"], - [71334, 0, "e"], - [71335, 0, "d"], - [71336, 0, " "], - [71337, 0, "l"], - [71338, 0, "i"], - [71339, 0, "s"], - [71340, 0, "t"], - [71341, 0, "s"], - [71342, 0, " "], - [71343, 0, "a"], - [71344, 0, "n"], - [71345, 0, "d"], - [71346, 0, " "], - [71347, 0, "m"], - [71348, 0, "a"], - [71349, 0, "p"], - [71350, 0, "s"], - [71351, 0, ","], - [71352, 0, " "], - [71353, 0, "a"], - [71354, 0, "n"], - [71355, 0, "d"], - [71356, 0, " "], - [71357, 0, "i"], - [71358, 0, "t"], - [71359, 0, " "], - [71360, 0, "l"], - [71360, 1], - [71360, 0, "a"], - [71361, 0, "l"], - [71362, 0, "l"], - [71363, 0, "o"], - [71364, 0, "w"], - [71365, 0, "s"], - [71366, 0, " "], - [71367, 0, "r"], - [71368, 0, "e"], - [71369, 0, "p"], - [71370, 0, "l"], - [71371, 0, "i"], - [71372, 0, "c"], - [71373, 0, "a"], - [71374, 0, "s"], - [71375, 0, " "], - [71376, 0, "t"], - [71377, 0, "o"], - [71378, 0, " "], - [71379, 0, "m"], - [71380, 0, "a"], - [71381, 0, "k"], - [71382, 0, "e"], - [71383, 0, " "], - [71384, 0, "a"], - [71385, 0, "r"], - [71386, 0, "b"], - [71387, 0, "i"], - [71388, 0, "t"], - [71389, 0, "r"], - [71390, 0, "a"], - [71391, 0, "r"], - [71392, 0, "y"], - [71393, 0, " "], - [71394, 0, "c"], - [71395, 0, "h"], - [71396, 0, "a"], - [71397, 0, "n"], - [71398, 0, "g"], - [71399, 0, "e"], - [71400, 0, "s"], - [71401, 0, " "], - [71402, 0, "t"], - [71403, 0, "o"], - [71404, 0, " "], - [71405, 0, "t"], - [71406, 0, "h"], - [71407, 0, "e"], - [71408, 0, " "], - [71409, 0, "d"], - [71410, 0, "a"], - [71411, 0, "t"], - [71412, 0, "a"], - [71413, 0, " "], - [71414, 0, "w"], - [71415, 0, "i"], - [71416, 0, "t"], - [71417, 0, "h"], - [71418, 0, "o"], - [71419, 0, "u"], - [71420, 0, "t"], - [71421, 0, " "], - [71422, 0, "c"], - [71423, 0, "o"], - [71424, 0, "m"], - [71425, 0, "m"], - [71426, 0, "u"], - [71427, 0, "n"], - [71428, 0, "i"], - [71429, 0, "c"], - [71430, 0, "a"], - [71431, 0, "t"], - [71432, 0, "i"], - [71433, 0, "n"], - [71434, 0, "g"], - [71435, 0, " "], - [71436, 0, "w"], - [71437, 0, "i"], - [71438, 0, "t"], - [71439, 0, "h"], - [71440, 0, " "], - [71422, 0, "a"], - [71423, 0, "n"], - [71424, 0, "y"], - [71425, 0, " "], - [71426, 0, "n"], - [71427, 0, "e"], - [71428, 0, "t"], - [71429, 0, "w"], - [71430, 0, "o"], - [71431, 0, "r"], - [71432, 0, "k"], - [71433, 0, " "], - [71446, 1], - [71445, 1], - [71445, 0, "o"], - [71446, 0, "n"], - [71421, 0, " "], - [71422, 0, "r"], - [71423, 0, "e"], - [71424, 0, "q"], - [71425, 0, "i"], - [71426, 0, "o"], - [71427, 0, "r"], - [71428, 0, "o"], - [71429, 0, "m"], - [71430, 0, "g"], - [71430, 1], - [71429, 1], - [71428, 1], - [71427, 1], - [71426, 1], - [71426, 0, "i"], - [71427, 0, "n"], - [71428, 0, "g"], - [71426, 0, "r"], - [71426, 0, "u"], - [71426, 1], - [71425, 1], - [71425, 0, "u"], - [71426, 0, "i"], - [71462, 1], - [71461, 1], - [71460, 1], - [71459, 1], - [71458, 1], - [71457, 1], - [71457, 0, "."], - [71458, 0, " "], - [71459, 0, "R"], - [71460, 0, "e"], - [71461, 0, "p"], - [71462, 0, "l"], - [71463, 0, "i"], - [71464, 0, "c"], - [71465, 0, "a"], - [71466, 0, "s"], - [71467, 0, " "], - [71468, 0, "a"], - [71469, 0, "s"], - [71470, 0, "y"], - [71471, 0, "n"], - [71472, 0, "c"], - [71473, 0, "h"], - [71474, 0, "r"], - [71475, 0, "o"], - [71476, 0, "n"], - [71477, 0, "o"], - [71478, 0, "u"], - [71479, 0, "s"], - [71480, 0, "l"], - [71481, 0, "y"], - [71482, 0, " "], - [71483, 0, "c"], - [71484, 0, "o"], - [71485, 0, "m"], - [71486, 0, "m"], - [71487, 0, "u"], - [71488, 0, "n"], - [71489, 0, "i"], - [71490, 0, "c"], - [71491, 0, "a"], - [71492, 0, "t"], - [71493, 0, "e"], - [71494, 0, " "], - [71495, 0, "c"], - [71496, 0, "h"], - [71497, 0, "a"], - [71497, 1], - [71496, 1], - [71495, 1], - [71495, 0, "e"], - [71496, 0, "d"], - [71497, 0, "i"], - [71498, 0, "t"], - [71499, 0, "s"], - [71500, 0, " "], - [71501, 0, "i"], - [71502, 0, "n"], - [71503, 0, " "], - [71504, 0, "t"], - [71505, 0, "h"], - [71506, 0, "e"], - [71507, 0, " "], - [71508, 0, "f"], - [71509, 0, "o"], - [71510, 0, "r"], - [71511, 0, "m"], - [71499, 1], - [71498, 1], - [71497, 1], - [71496, 1], - [71495, 1], - [71495, 0, "m"], - [71496, 0, "u"], - [71497, 0, "t"], - [71498, 0, "a"], - [71499, 0, "t"], - [71500, 0, "i"], - [71501, 0, "o"], - [71502, 0, "n"], - [71503, 0, "s"], - [71493, 1], - [71492, 1], - [71491, 1], - [71490, 1], - [71489, 1], - [71488, 1], - [71487, 1], - [71486, 1], - [71485, 1], - [71484, 1], - [71483, 1], - [71483, 0, "s"], - [71484, 0, "e"], - [71485, 0, "n"], - [71486, 0, "d"], - [71497, 0, " "], - [71498, 0, "t"], - [71499, 0, "o"], - [71500, 0, " "], - [71501, 0, "o"], - [71502, 0, "t"], - [71503, 0, "h"], - [71504, 0, "e"], - [71505, 0, "r"], - [71506, 0, " "], - [71507, 0, "r"], - [71508, 0, "e"], - [71509, 0, "p"], - [71510, 0, "l"], - [71511, 0, "i"], - [71512, 0, "c"], - [71513, 0, "a"], - [71514, 0, "s"], - [71527, 0, " "], - [71528, 0, "o"], - [71529, 0, "f"], - [71530, 0, " "], - [71531, 0, "o"], - [71532, 0, "p"], - [71533, 0, "e"], - [71534, 0, "r"], - [71535, 0, "a"], - [71536, 0, "t"], - [71537, 0, "i"], - [71538, 0, "o"], - [71539, 0, "n"], - [71540, 0, "s"], - [71541, 0, "."], - [71542, 0, " "], - [71543, 0, "C"], - [71544, 0, "o"], - [71545, 0, "n"], - [71546, 0, "c"], - [71547, 0, "u"], - [71548, 0, "r"], - [71549, 0, "r"], - [71550, 0, "e"], - [71551, 0, "n"], - [71552, 0, "t"], - [71553, 0, " "], - [71554, 0, "o"], - [71555, 0, "p"], - [71556, 0, "e"], - [71557, 0, "r"], - [71558, 0, "a"], - [71559, 0, "t"], - [71560, 0, "i"], - [71561, 0, "o"], - [71562, 0, "n"], - [71563, 0, "s"], - [71564, 0, " "], - [71565, 0, "a"], - [71566, 0, "r"], - [71567, 0, "e"], - [71568, 0, " "], - [71569, 0, "c"], - [71570, 0, "o"], - [71571, 0, "m"], - [71572, 0, "m"], - [71573, 0, "u"], - [71574, 0, "t"], - [71575, 0, "a"], - [71576, 0, "t"], - [71577, 0, "i"], - [71578, 0, "v"], - [71579, 0, "e"], - [71580, 0, ","], - [71581, 0, " "], - [71582, 0, "w"], - [71583, 0, "h"], - [71584, 0, "i"], - [71585, 0, "c"], - [71586, 0, "h"], - [71587, 0, " "], - [71588, 0, "e"], - [71589, 0, "n"], - [71590, 0, "s"], - [71591, 0, "u"], - [71592, 0, "r"], - [71593, 0, "e"], - [71594, 0, "s"], - [71595, 0, " "], - [71596, 0, "t"], - [71597, 0, "h"], - [71598, 0, "a"], - [71599, 0, "t"], - [71600, 0, " "], - [71601, 0, "r"], - [71602, 0, "e"], - [71603, 0, "p"], - [71604, 0, "l"], - [71605, 0, "i"], - [71606, 0, "c"], - [71607, 0, "a"], - [71608, 0, "s"], - [71609, 0, " "], - [71610, 0, "c"], - [71611, 0, "o"], - [71612, 0, "n"], - [71613, 0, "v"], - [71614, 0, "e"], - [71615, 0, "r"], - [71616, 0, "g"], - [71617, 0, "e"], - [71618, 0, " "], - [71619, 0, "t"], - [71620, 0, "o"], - [71621, 0, "w"], - [71622, 0, "a"], - [71623, 0, "r"], - [71624, 0, "d"], - [71625, 0, "s"], - [71626, 0, " "], - [71627, 0, "t"], - [71628, 0, "h"], - [71629, 0, "e"], - [71630, 0, " "], - [71631, 0, "s"], - [71632, 0, "a"], - [71633, 0, "m"], - [71634, 0, "e"], - [71635, 0, " "], - [71636, 0, "s"], - [71637, 0, "t"], - [71638, 0, "a"], - [71639, 0, "t"], - [71640, 0, "e"], - [71641, 0, " "], - [71642, 0, "w"], - [71643, 0, "i"], - [71644, 0, "t"], - [71645, 0, "h"], - [71646, 0, "o"], - [71647, 0, "u"], - [71648, 0, "t"], - [71649, 0, " "], - [71650, 0, "r"], - [71651, 0, "e"], - [71652, 0, "q"], - [71653, 0, "u"], - [71654, 0, "i"], - [71655, 0, "r"], - [71656, 0, "i"], - [71657, 0, "n"], - [71658, 0, "g"], - [71659, 0, " "], - [71660, 0, "a"], - [71661, 0, "n"], - [71662, 0, "y"], - [71663, 0, " "], - [71664, 0, "a"], - [71665, 0, "p"], - [71666, 0, "p"], - [71667, 0, "l"], - [71668, 0, "i"], - [71669, 0, "c"], - [71670, 0, "a"], - [71671, 0, "t"], - [71672, 0, "i"], - [71673, 0, "o"], - [71674, 0, "n"], - [71675, 0, "-"], - [71676, 0, "s"], - [71677, 0, "p"], - [71678, 0, "e"], - [71679, 0, "c"], - [71680, 0, "i"], - [71681, 0, "f"], - [71682, 0, "i"], - [71683, 0, "c"], - [71684, 0, " "], - [71685, 0, "c"], - [71686, 0, "o"], - [71687, 0, "n"], - [71662, 1], - [71661, 1], - [71660, 1], - [71659, 1], - [71684, 0, "f"], - [71685, 0, "l"], - [71686, 0, "i"], - [71687, 0, "c"], - [71688, 0, "t"], - [71689, 0, " "], - [71690, 0, "r"], - [71691, 0, "e"], - [71692, 0, "s"], - [71693, 0, "o"], - [71694, 0, "l"], - [71695, 0, "u"], - [71696, 0, "t"], - [71697, 0, "i"], - [71698, 0, "o"], - [71699, 0, "n"], - [71700, 0, " "], - [71701, 0, "l"], - [71702, 0, "o"], - [71703, 0, "g"], - [71704, 0, "i"], - [71705, 0, "c"], - [71706, 0, "."], - [71707, 0, "\n"], - [71708, 0, "\n"], - [71709, 0, "T"], - [71710, 0, "h"], - [71711, 0, "i"], - [71712, 0, "s"], - [71713, 0, " "], - [71714, 0, "w"], - [71715, 0, "o"], - [71716, 0, "r"], - [71717, 0, "k"], - [71718, 0, " "], - [71719, 0, "f"], - [71720, 0, "o"], - [71721, 0, "c"], - [71722, 0, "u"], - [71723, 0, "s"], - [71724, 0, "e"], - [71725, 0, "d"], - [71726, 0, " "], - [71727, 0, "o"], - [71728, 0, "n"], - [71729, 0, " "], - [71730, 0, "t"], - [71731, 0, "h"], - [71732, 0, "e"], - [71733, 0, " "], - [71734, 0, "f"], - [71735, 0, "o"], - [71736, 0, "r"], - [71737, 0, "m"], - [71738, 0, "a"], - [71739, 0, "l"], - [71740, 0, " "], - [71741, 0, "s"], - [71742, 0, "e"], - [71743, 0, "m"], - [71744, 0, "a"], - [71745, 0, "n"], - [71746, 0, "t"], - [71747, 0, "i"], - [71748, 0, "c"], - [71749, 0, "s"], - [71750, 0, " "], - [71751, 0, "o"], - [71752, 0, "f"], - [71753, 0, " "], - [71754, 0, "t"], - [71755, 0, "h"], - [71756, 0, "e"], - [71757, 0, " "], - [71758, 0, "J"], - [71759, 0, "S"], - [71760, 0, "O"], - [71761, 0, "N"], - [71762, 0, " "], - [71763, 0, "C"], - [71764, 0, "R"], - [71765, 0, "D"], - [71766, 0, "T"], - [71767, 0, ","], - [71768, 0, " "], - [71769, 0, "r"], - [71770, 0, "e"], - [71771, 0, "p"], - [71772, 0, "r"], - [71773, 0, "e"], - [71774, 0, "s"], - [71775, 0, "e"], - [71776, 0, "n"], - [71777, 0, "t"], - [71778, 0, "e"], - [71779, 0, "d"], - [71780, 0, " "], - [71781, 0, "a"], - [71782, 0, "s"], - [71783, 0, " "], - [71784, 0, "a"], - [71785, 0, " "], - [71786, 0, "m"], - [71787, 0, "a"], - [71788, 0, "t"], - [71789, 0, "h"], - [71790, 0, "e"], - [71791, 0, "m"], - [71792, 0, "a"], - [71793, 0, "t"], - [71794, 0, "i"], - [71795, 0, "c"], - [71796, 0, "a"], - [71797, 0, "l"], - [71798, 0, " "], - [71799, 0, "m"], - [71800, 0, "o"], - [71801, 0, "d"], - [71802, 0, "e"], - [71803, 0, "l"], - [71804, 0, "."], - [71805, 0, " "], - [71806, 0, "W"], - [71807, 0, "e"], - [71808, 0, " "], - [71809, 0, "h"], - [71810, 0, "a"], - [71811, 0, "v"], - [71812, 0, "e"], - [71813, 0, " "], - [71814, 0, "a"], - [71815, 0, "l"], - [71816, 0, "s"], - [71817, 0, "o"], - [71818, 0, " "], - [71819, 0, "c"], - [71820, 0, "r"], - [71821, 0, "e"], - [71822, 0, "a"], - [71823, 0, "t"], - [71824, 0, "e"], - [71825, 0, "d"], - [71826, 0, " "], - [71827, 0, "a"], - [71828, 0, " "], - [71829, 0, "p"], - [71830, 0, "r"], - [71831, 0, "a"], - [71832, 0, "c"], - [71833, 0, "t"], - [71834, 0, "i"], - [71835, 0, "c"], - [71836, 0, "a"], - [71837, 0, "l"], - [71838, 0, " "], - [71839, 0, "i"], - [71840, 0, "m"], - [71841, 0, "p"], - [71842, 0, "l"], - [71843, 0, "e"], - [71844, 0, "m"], - [71845, 0, "e"], - [71846, 0, "n"], - [71847, 0, "t"], - [71848, 0, "a"], - [71849, 0, "t"], - [71850, 0, "i"], - [71851, 0, "o"], - [71852, 0, "n"], - [71853, 0, " "], - [71854, 0, "a"], - [71855, 0, "n"], - [71856, 0, "d"], - [71857, 0, " "], - [71858, 0, "w"], - [71859, 0, "i"], - [71860, 0, "l"], - [71861, 0, "l"], - [71862, 0, " "], - [71863, 0, "r"], - [71864, 0, "e"], - [71865, 0, "p"], - [71866, 0, "o"], - [71867, 0, "r"], - [71868, 0, "t"], - [71869, 0, " "], - [71870, 0, "o"], - [71871, 0, "n"], - [71872, 0, " "], - [71873, 0, "i"], - [71874, 0, "t"], - [71875, 0, "s"], - [71876, 0, " "], - [71877, 0, "p"], - [71878, 0, "e"], - [71879, 0, "r"], - [71880, 0, "f"], - [71881, 0, "o"], - [71882, 0, "r"], - [71883, 0, "m"], - [71884, 0, "a"], - [71885, 0, "n"], - [71886, 0, "c"], - [71887, 0, "e"], - [71888, 0, " "], - [71889, 0, "c"], - [71890, 0, "h"], - [71891, 0, "a"], - [71892, 0, "r"], - [71893, 0, "a"], - [71894, 0, "c"], - [71895, 0, "t"], - [71896, 0, "e"], - [71897, 0, "r"], - [71898, 0, "i"], - [71899, 0, "s"], - [71900, 0, "t"], - [71901, 0, "i"], - [71902, 0, "c"], - [71903, 0, "s"], - [71904, 0, " "], - [71905, 0, "i"], - [71906, 0, "n"], - [71907, 0, " "], - [71908, 0, "a"], - [71909, 0, " "], - [71910, 0, "s"], - [71911, 0, "e"], - [71912, 0, "p"], - [71913, 0, "a"], - [71914, 0, "r"], - [71915, 0, "a"], - [71916, 0, "t"], - [71917, 0, "e"], - [71918, 0, " "], - [71919, 0, "p"], - [71920, 0, "a"], - [71921, 0, "p"], - [71922, 0, "e"], - [71923, 0, "r"], - [71924, 0, "."], - [71925, 0, " "], - [71926, 0, "I"], - [71927, 0, "n"], - [71928, 0, " "], - [71923, 1], - [71922, 1], - [71921, 1], - [71920, 1], - [71919, 1], - [71918, 1], - [71917, 1], - [71916, 1], - [71915, 1], - [71914, 1], - [71913, 1], - [71912, 1], - [71911, 1], - [71910, 1], - [71909, 1], - [71908, 1], - [71908, 0, "f"], - [71909, 0, "o"], - [71910, 0, "l"], - [71911, 0, "l"], - [71912, 0, "o"], - [71913, 0, "w"], - [71914, 0, "-"], - [71915, 0, "o"], - [71916, 0, "n"], - [71917, 0, " "], - [71918, 0, "w"], - [71919, 0, "o"], - [71920, 0, "r"], - [71921, 0, "k"], - [71927, 0, "f"], - [71928, 0, "a"], - [71929, 0, "c"], - [71930, 0, "t"], - [71931, 0, ","], - [71932, 0, " "], - [71933, 0, "w"], - [71934, 0, "e"], - [71935, 0, " "], - [71936, 0, "w"], - [71937, 0, "r"], - [71938, 0, "o"], - [71939, 0, "t"], - [71940, 0, "e"], - [71941, 0, " "], - [71942, 0, "t"], - [71943, 0, "h"], - [71944, 0, "e"], - [71945, 0, " "], - [71946, 0, "{"], - [71947, 0, "\\"], - [71948, 0, "L"], - [71949, 0, "a"], - [71950, 0, "T"], - [71951, 0, "e"], - [71952, 0, "X"], - [71953, 0, "}"], - [71954, 0, " "], - [71955, 0, "s"], - [71956, 0, "o"], - [71957, 0, "u"], - [71958, 0, "r"], - [71959, 0, "c"], - [71960, 0, "e"], - [71961, 0, " "], - [71962, 0, "t"], - [71963, 0, "e"], - [71964, 0, "x"], - [71965, 0, "t"], - [71966, 0, " "], - [71967, 0, "o"], - [71968, 0, "f"], - [71969, 0, " "], - [71970, 0, "t"], - [71971, 0, "h"], - [71972, 0, "i"], - [71973, 0, "s"], - [71974, 0, " "], - [71975, 0, "p"], - [71976, 0, "a"], - [71977, 0, "p"], - [71978, 0, "e"], - [71979, 0, "r"], - [71980, 0, " "], - [71981, 0, "u"], - [71982, 0, "s"], - [71983, 0, "i"], - [71984, 0, "n"], - [71985, 0, "g"], - [71986, 0, " "], - [71987, 0, "a"], - [71988, 0, "n"], - [71989, 0, " "], - [71990, 0, "e"], - [71991, 0, "x"], - [71992, 0, "p"], - [71993, 0, "e"], - [71994, 0, "r"], - [71995, 0, "i"], - [71996, 0, "m"], - [71997, 0, "e"], - [71998, 0, "n"], - [71999, 0, "t"], - [72000, 0, "a"], - [72001, 0, "l"], - [72002, 0, " "], - [72003, 0, "c"], - [72004, 0, "o"], - [72005, 0, "l"], - [72006, 0, "l"], - [72007, 0, "a"], - [72008, 0, "b"], - [72009, 0, "o"], - [72010, 0, "r"], - [72011, 0, "a"], - [72012, 0, "t"], - [72013, 0, "i"], - [72014, 0, "v"], - [72015, 0, "e"], - [72016, 0, " "], - [72017, 0, "t"], - [72018, 0, "e"], - [72019, 0, "x"], - [72020, 0, "t"], - [72021, 0, " "], - [72022, 0, "e"], - [72023, 0, "d"], - [72024, 0, "i"], - [72025, 0, "t"], - [72026, 0, "o"], - [72027, 0, "r"], - [72028, 0, " "], - [72029, 0, "u"], - [72030, 0, "s"], - [72031, 0, "i"], - [72032, 0, "n"], - [72033, 0, "g"], - [72034, 0, " "], - [72035, 0, "o"], - [72036, 0, "u"], - [72037, 0, "r"], - [72038, 0, " "], - [72039, 0, "i"], - [72040, 0, "m"], - [72041, 0, "p"], - [72042, 0, "l"], - [72043, 0, "e"], - [72044, 0, "m"], - [72045, 0, "e"], - [72046, 0, "n"], - [72047, 0, "t"], - [72048, 0, "a"], - [72049, 0, "t"], - [72050, 0, "i"], - [72051, 0, "o"], - [72052, 0, "n"], - [72053, 0, " "], - [72054, 0, "o"], - [72055, 0, "f"], - [72056, 0, " "], - [72057, 0, "t"], - [72058, 0, "h"], - [72059, 0, "i"], - [72060, 0, "s"], - [72061, 0, " "], - [72062, 0, "C"], - [72063, 0, "R"], - [72064, 0, "D"], - [72065, 0, "T"], - [72066, 0, "."], - [72067, 0, "\n"], - [72068, 0, "\n"], - [72069, 0, "F"], - [72070, 0, "u"], - [72071, 0, "r"], - [72072, 0, "t"], - [72073, 0, "h"], - [72074, 0, "e"], - [72075, 0, "r"], - [72076, 0, " "], - [72077, 0, "w"], - [72078, 0, "o"], - [72079, 0, "r"], - [72080, 0, "k"], - [72081, 0, " "], - [72082, 0, "w"], - [72083, 0, "i"], - [72084, 0, "l"], - [72085, 0, "l"], - [72086, 0, " "], - [72087, 0, "b"], - [72088, 0, "e"], - [72089, 0, " "], - [72090, 0, "n"], - [72091, 0, "e"], - [72092, 0, "e"], - [72093, 0, "d"], - [72094, 0, "e"], - [72095, 0, "d"], - [72096, 0, " "], - [72097, 0, "t"], - [72098, 0, "o"], - [72099, 0, " "], - [72100, 0, "e"], - [72101, 0, "x"], - [72102, 0, "p"], - [72103, 0, "l"], - [72104, 0, "o"], - [72105, 0, "r"], - [72106, 0, "e"], - [72107, 0, " "], - [72108, 0, "t"], - [72109, 0, "h"], - [72110, 0, "e"], - [72111, 0, " "], - [72112, 0, "s"], - [72113, 0, "e"], - [72114, 0, "m"], - [72115, 0, "a"], - [72116, 0, "n"], - [72117, 0, "t"], - [72118, 0, "i"], - [72119, 0, "c"], - [72120, 0, "s"], - [72121, 0, " "], - [72122, 0, "t"], - [72123, 0, "h"], - [72124, 0, "a"], - [72125, 0, "t"], - [72126, 0, " "], - [72127, 0, "a"], - [72128, 0, "p"], - [72129, 0, "p"], - [72130, 0, "l"], - [72131, 0, "i"], - [72132, 0, "c"], - [72133, 0, "a"], - [72134, 0, "t"], - [72135, 0, "i"], - [72136, 0, "o"], - [72137, 0, "n"], - [72138, 0, " "], - [72139, 0, "p"], - [72140, 0, "r"], - [72141, 0, "o"], - [72142, 0, "g"], - [72143, 0, "r"], - [72144, 0, "a"], - [72145, 0, "m"], - [72146, 0, "m"], - [72147, 0, "e"], - [72148, 0, "r"], - [72149, 0, "s"], - [72150, 0, " "], - [72151, 0, "e"], - [72152, 0, "x"], - [72153, 0, "p"], - [72154, 0, "e"], - [72155, 0, "c"], - [72156, 0, "t"], - [72157, 0, " "], - [72158, 0, "a"], - [72159, 0, "n"], - [72160, 0, "d"], - [72161, 0, " "], - [72162, 0, "r"], - [72163, 0, "e"], - [72164, 0, "q"], - [72165, 0, "u"], - [72166, 0, "i"], - [72167, 0, "r"], - [72168, 0, "e"], - [72169, 0, " "], - [72170, 0, "o"], - [72171, 0, "f"], - [72172, 0, " "], - [72173, 0, "c"], - [72174, 0, "o"], - [72175, 0, "l"], - [72176, 0, "l"], - [72177, 0, "a"], - [72178, 0, "b"], - [72179, 0, "o"], - [72180, 0, "r"], - [72181, 0, "a"], - [72182, 0, "t"], - [72183, 0, "i"], - [72184, 0, "v"], - [72185, 0, "e"], - [72186, 0, "l"], - [72187, 0, "y"], - [72188, 0, " "], - [72189, 0, "e"], - [72190, 0, "d"], - [72191, 0, "i"], - [72192, 0, "t"], - [72193, 0, "a"], - [72194, 0, "b"], - [72195, 0, "l"], - [72196, 0, "e"], - [72197, 0, " "], - [72198, 0, "d"], - [72199, 0, "a"], - [72200, 0, "t"], - [72201, 0, "a"], - [72202, 0, " "], - [72203, 0, "s"], - [72204, 0, "t"], - [72205, 0, "r"], - [72206, 0, "u"], - [72207, 0, "c"], - [72208, 0, "t"], - [72209, 0, "u"], - [72210, 0, "r"], - [72211, 0, "e"], - [72212, 0, "s"], - [72213, 0, "."], - [72214, 0, " "], - [72215, 0, "G"], - [72216, 0, "o"], - [72217, 0, "o"], - [72218, 0, "g"], - [72219, 0, "l"], - [72220, 0, "e"], - [72221, 0, " "], - [72222, 0, "R"], - [72223, 0, "e"], - [72224, 0, "a"], - [72225, 0, "l"], - [72226, 0, "t"], - [72227, 0, "i"], - [72228, 0, "m"], - [72229, 0, "e"], - [72230, 0, " "], - [72231, 0, "A"], - [72232, 0, "P"], - [72233, 0, "I"], - [72234, 0, "~"], - [72235, 0, "\\"], - [72236, 0, "c"], - [72237, 0, "i"], - [72238, 0, "t"], - [72239, 0, "e"], - [72240, 0, "{"], - [72241, 0, "G"], - [72242, 0, "o"], - [72243, 0, "o"], - [72244, 0, "g"], - [72245, 0, "l"], - [72246, 0, "e"], - [72247, 0, ":"], - [72248, 0, "2"], - [72249, 0, "0"], - [72250, 0, "1"], - [72251, 0, "5"], - [72252, 0, "v"], - [72253, 0, "k"], - [72254, 0, "}"], - [72214, 0, " "], - [72033, 1], - [72032, 1], - [72031, 1], - [72030, 1], - [72029, 1], - [72029, 0, "t"], - [72030, 0, "h"], - [72031, 0, "a"], - [72032, 0, "t"], - [72033, 0, " "], - [72034, 0, "i"], - [72035, 0, "s"], - [72036, 0, " "], - [72037, 0, "b"], - [72038, 0, "a"], - [72039, 0, "s"], - [72040, 0, "e"], - [72041, 0, "d"], - [72042, 0, " "], - [72043, 0, "o"], - [72044, 0, "n"], - [72078, 0, " "], - [72079, 0, "W"], - [72080, 0, "e"], - [72081, 0, " "], - [72082, 0, "a"], - [72083, 0, "r"], - [72084, 0, "e"], - [72085, 0, " "], - [72086, 0, "m"], - [72087, 0, "a"], - [72088, 0, "k"], - [72089, 0, "i"], - [72090, 0, "n"], - [72091, 0, "g"], - [72092, 0, " "], - [72093, 0, "t"], - [72094, 0, "h"], - [72095, 0, "e"], - [72096, 0, " "], - [72097, 0, "c"], - [72098, 0, "h"], - [72099, 0, "a"], - [72100, 0, "r"], - [72101, 0, "a"], - [72102, 0, "c"], - [72103, 0, "t"], - [72104, 0, "e"], - [72105, 0, "r"], - [72106, 0, "-"], - [72107, 0, "b"], - [72108, 0, "y"], - [72109, 0, "-"], - [72110, 0, "c"], - [72111, 0, "h"], - [72112, 0, "a"], - [72113, 0, "r"], - [72114, 0, "a"], - [72115, 0, "c"], - [72116, 0, "t"], - [72117, 0, "e"], - [72118, 0, "r"], - [72119, 0, " "], - [72120, 0, "e"], - [72121, 0, "d"], - [72122, 0, "i"], - [72123, 0, "t"], - [72124, 0, "i"], - [72125, 0, "n"], - [72126, 0, "g"], - [72127, 0, " "], - [72128, 0, "t"], - [72129, 0, "r"], - [72130, 0, "a"], - [72131, 0, "c"], - [72132, 0, "e"], - [72133, 0, " "], - [72134, 0, "o"], - [72135, 0, "f"], - [72136, 0, " "], - [72137, 0, "t"], - [72138, 0, "h"], - [72139, 0, "i"], - [72140, 0, "s"], - [72141, 0, " "], - [72142, 0, "d"], - [72143, 0, "o"], - [72144, 0, "c"], - [72145, 0, "u"], - [72146, 0, "m"], - [72147, 0, "e"], - [72148, 0, "n"], - [72149, 0, "t"], - [72150, 0, " "], - [72151, 0, "a"], - [72152, 0, "v"], - [72153, 0, "a"], - [72154, 0, "i"], - [72155, 0, "l"], - [72156, 0, "a"], - [72157, 0, "b"], - [72158, 0, "l"], - [72159, 0, "e"], - [72160, 0, " "], - [72161, 0, "a"], - [72162, 0, "s"], - [72163, 0, " "], - [72164, 0, "s"], - [72165, 0, "u"], - [72166, 0, "p"], - [72167, 0, "p"], - [72168, 0, "l"], - [72169, 0, "e"], - [72170, 0, "m"], - [72171, 0, "e"], - [72172, 0, "n"], - [72173, 0, "t"], - [72174, 0, "a"], - [72175, 0, "l"], - [72176, 0, " "], - [72177, 0, "d"], - [72178, 0, "a"], - [72179, 0, "t"], - [72180, 0, "a"], - [72181, 0, " "], - [72182, 0, "o"], - [72183, 0, "f"], - [72184, 0, " "], - [72185, 0, "t"], - [72186, 0, "h"], - [72187, 0, "i"], - [72188, 0, "s"], - [72189, 0, " "], - [72190, 0, "p"], - [72191, 0, "a"], - [72192, 0, "p"], - [72193, 0, "e"], - [72194, 0, "r"], - [72195, 0, ","], - [72196, 0, " "], - [72197, 0, "i"], - [72198, 0, "n"], - [72199, 0, " "], - [72200, 0, "o"], - [72201, 0, "r"], - [72202, 0, "d"], - [72203, 0, "e"], - [72204, 0, "r"], - [72205, 0, " "], - [72206, 0, "t"], - [72207, 0, "o"], - [72208, 0, " "], - [72209, 0, "p"], - [72210, 0, "r"], - [72211, 0, "o"], - [72212, 0, "v"], - [72213, 0, "i"], - [72214, 0, "d"], - [72215, 0, "e"], - [72216, 0, " "], - [72217, 0, "a"], - [72218, 0, " "], - [72219, 0, "d"], - [72220, 0, "a"], - [72221, 0, "t"], - [72222, 0, "a"], - [72223, 0, "s"], - [72224, 0, "e"], - [72225, 0, "t"], - [72226, 0, " "], - [72227, 0, "f"], - [72228, 0, "o"], - [72229, 0, "r"], - [72230, 0, " "], - [72231, 0, "t"], - [72232, 0, "h"], - [72233, 0, "e"], - [72234, 0, " "], - [72235, 0, "s"], - [72236, 0, "t"], - [72237, 0, "u"], - [72238, 0, "d"], - [72239, 0, "y"], - [72235, 0, "e"], - [72236, 0, "x"], - [72237, 0, "p"], - [72237, 1], - [72236, 1], - [72235, 1], - [72235, 0, "e"], - [72236, 0, "m"], - [72237, 0, "p"], - [72238, 0, "i"], - [72239, 0, "r"], - [72240, 0, "i"], - [72241, 0, "c"], - [72242, 0, "a"], - [72243, 0, "l"], - [72244, 0, " "], - [72250, 0, " "], - [72251, 0, "o"], - [72252, 0, "f"], - [72253, 0, " "], - [72254, 0, "c"], - [72255, 0, "o"], - [72256, 0, "l"], - [72257, 0, "l"], - [72258, 0, "a"], - [72259, 0, "b"], - [72260, 0, "o"], - [72261, 0, "r"], - [72262, 0, "a"], - [72263, 0, "t"], - [72264, 0, "i"], - [72265, 0, "v"], - [72266, 0, "e"], - [72267, 0, " "], - [72268, 0, "e"], - [72269, 0, "d"], - [72270, 0, "i"], - [72271, 0, "t"], - [72272, 0, "i"], - [72273, 0, "n"], - [72274, 0, "g"], - [72275, 0, " "], - [72276, 0, "a"], - [72277, 0, "l"], - [72278, 0, "g"], - [72279, 0, "o"], - [72280, 0, "r"], - [72281, 0, "i"], - [72282, 0, "t"], - [72283, 0, "h"], - [72284, 0, "m"], - [72285, 0, "s"], - [72286, 0, "."], - [72435, 0, "A"], - [72436, 0, "s"], - [72437, 0, " "], - [72438, 0, "i"], - [72439, 0, "l"], - [72440, 0, "l"], - [72441, 0, "u"], - [72442, 0, "s"], - [72443, 0, "t"], - [72444, 0, "r"], - [72445, 0, "a"], - [72446, 0, "t"], - [72447, 0, "e"], - [72448, 0, "d"], - [72449, 0, " "], - [72450, 0, "i"], - [72451, 0, "n"], - [72452, 0, " "], - [72453, 0, "F"], - [72454, 0, "i"], - [72455, 0, "g"], - [72456, 0, "u"], - [72457, 0, "r"], - [72458, 0, "e"], - [72459, 0, "~"], - [72460, 0, "\\"], - [72461, 0, "r"], - [72462, 0, "e"], - [72463, 0, "f"], - [72464, 0, "{"], - [72465, 0, "f"], - [72466, 0, "i"], - [72467, 0, "g"], - [72468, 0, ":"], - [72469, 0, "t"], - [72470, 0, "o"], - [72471, 0, "d"], - [72472, 0, "o"], - [72473, 0, "-"], - [72474, 0, "i"], - [72475, 0, "t"], - [72476, 0, "e"], - [72477, 0, "m"], - [72478, 0, "}"], - [72479, 0, ","], - [72480, 0, " "], - [72289, 0, "A"], - [72290, 0, "s"], - [72291, 0, " "], - [72292, 0, "i"], - [72293, 0, "l"], - [72294, 0, "l"], - [72295, 0, "u"], - [72296, 0, "s"], - [72297, 0, "t"], - [72298, 0, "r"], - [72299, 0, "a"], - [72300, 0, "t"], - [72301, 0, "e"], - [72302, 0, "d"], - [72303, 0, " "], - [72289, 0, "O"], - [72290, 0, "u"], - [72291, 0, "r"], - [72292, 0, " "], - [72293, 0, "p"], - [72294, 0, "r"], - [72295, 0, "i"], - [72296, 0, "n"], - [72297, 0, "c"], - [72298, 0, "i"], - [72299, 0, "p"], - [72300, 0, "l"], - [72301, 0, "e"], - [72302, 0, " "], - [72303, 0, "o"], - [72304, 0, "f"], - [72305, 0, " "], - [72306, 0, "n"], - [72307, 0, "o"], - [72308, 0, "t"], - [72309, 0, " "], - [72310, 0, "l"], - [72311, 0, "o"], - [72312, 0, "s"], - [72313, 0, "i"], - [72314, 0, "n"], - [72315, 0, "g"], - [72316, 0, " "], - [72317, 0, "i"], - [72318, 0, "n"], - [72319, 0, "p"], - [72320, 0, "u"], - [72321, 0, "t"], - [72322, 0, " "], - [72323, 0, "d"], - [72324, 0, "u"], - [72325, 0, "e"], - [72326, 0, " "], - [72327, 0, "t"], - [72328, 0, "o"], - [72329, 0, " "], - [72330, 0, "o"], - [72330, 1], - [72330, 0, "c"], - [72331, 0, "o"], - [72332, 0, "n"], - [72333, 0, "c"], - [72334, 0, "u"], - [72335, 0, "r"], - [72336, 0, "r"], - [72337, 0, "e"], - [72338, 0, "n"], - [72339, 0, "t"], - [72340, 0, " "], - [72341, 0, "m"], - [72342, 0, "o"], - [72343, 0, "d"], - [72344, 0, "i"], - [72345, 0, "f"], - [72346, 0, "i"], - [72347, 0, "c"], - [72348, 0, "a"], - [72349, 0, "t"], - [72350, 0, "i"], - [72351, 0, "o"], - [72352, 0, "n"], - [72353, 0, "s"], - [72354, 0, " "], - [72355, 0, "a"], - [72356, 0, "p"], - [72357, 0, "p"], - [72358, 0, "e"], - [72359, 0, "a"], - [72360, 0, "r"], - [72361, 0, "s"], - [72362, 0, " "], - [72363, 0, "r"], - [72364, 0, "e"], - [72365, 0, "a"], - [72366, 0, "s"], - [72367, 0, "o"], - [72368, 0, "n"], - [72369, 0, "a"], - [72370, 0, "b"], - [72371, 0, "l"], - [72372, 0, "e"], - [72373, 0, ","], - [72374, 0, " "], - [72375, 0, "b"], - [72376, 0, "u"], - [72377, 0, "t"], - [72378, 0, " "], - [72379, 0, "a"], - [72380, 0, "s"], - [72381, 0, " "], - [72382, 0, "i"], - [72383, 0, "l"], - [72384, 0, "l"], - [72385, 0, "u"], - [72386, 0, "s"], - [72387, 0, "t"], - [72388, 0, "r"], - [72389, 0, "a"], - [72390, 0, "t"], - [72391, 0, "e"], - [72392, 0, "d"], - [72393, 0, " "], - [72394, 0, "i"], - [72395, 0, "n"], - [72396, 0, " "], - [72397, 0, "F"], - [72398, 0, "i"], - [72399, 0, "g"], - [72400, 0, "u"], - [72401, 0, "r"], - [72402, 0, "e"], - [72403, 0, "~"], - [72404, 0, "\\"], - [72405, 0, "r"], - [72406, 0, "e"], - [72407, 0, "f"], - [72408, 0, "{"], - [72409, 0, "f"], - [72410, 0, "i"], - [72411, 0, "g"], - [72412, 0, ":"], - [72413, 0, "t"], - [72414, 0, "o"], - [72415, 0, "d"], - [72416, 0, "o"], - [72417, 0, "-"], - [72418, 0, "i"], - [72419, 0, "t"], - [72420, 0, "e"], - [72421, 0, "m"], - [72422, 0, "}"], - [72423, 0, ","], - [72424, 0, " "], - [72425, 1], - [72425, 1], - [72425, 0, "i"], - [72426, 0, "t"], - [72427, 0, " "], - [72428, 0, "l"], - [72429, 0, "e"], - [72430, 0, "a"], - [72431, 0, "d"], - [72432, 0, "s"], - [72433, 0, " "], - [72434, 0, "t"], - [72435, 0, "o"], - [72436, 0, " "], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 1], - [72437, 0, "s"], - [72438, 0, "u"], - [72439, 0, "r"], - [72440, 0, "p"], - [72441, 0, "r"], - [72441, 1], - [72440, 1], - [72439, 1], - [72438, 1], - [72437, 1], - [72437, 0, "m"], - [72438, 0, "e"], - [72439, 0, "r"], - [72440, 0, "g"], - [72441, 0, "e"], - [72442, 0, "d"], - [72443, 0, " "], - [72444, 0, "d"], - [72445, 0, "o"], - [72446, 0, "c"], - [72447, 0, "u"], - [72448, 0, "m"], - [72449, 0, "e"], - [72450, 0, "n"], - [72451, 0, "t"], - [72452, 0, " "], - [72453, 0, "s"], - [72454, 0, "t"], - [72455, 0, "a"], - [72456, 0, "t"], - [72457, 0, "e"], - [72458, 0, "s"], - [72459, 0, " "], - [72460, 0, "t"], - [72461, 0, "h"], - [72462, 0, "a"], - [72463, 0, "t"], - [72464, 0, " "], - [72465, 0, "m"], - [72466, 0, "a"], - [72467, 0, "y"], - [72468, 0, " "], - [72469, 0, "b"], - [72470, 0, "e"], - [72471, 0, " "], - [72472, 0, "s"], - [72473, 0, "u"], - [72474, 0, "r"], - [72475, 0, "p"], - [72476, 0, "r"], - [72477, 0, "i"], - [72478, 0, "s"], - [72479, 0, "i"], - [72480, 0, "n"], - [72481, 0, "g"], - [72482, 0, " "], - [72483, 0, "t"], - [72484, 0, "o"], - [72485, 0, " "], - [72486, 0, "a"], - [72487, 0, "p"], - [72488, 0, "p"], - [72489, 0, "l"], - [72490, 0, "i"], - [72491, 0, "c"], - [72492, 0, "a"], - [72493, 0, "t"], - [72494, 0, "i"], - [72495, 0, "o"], - [72496, 0, "n"], - [72497, 0, " "], - [72498, 0, "p"], - [72499, 0, "r"], - [72500, 0, "o"], - [72501, 0, "g"], - [72502, 0, "r"], - [72503, 0, "a"], - [72504, 0, "m"], - [72505, 0, "m"], - [72506, 0, "e"], - [72507, 0, "r"], - [72508, 0, "s"], - [72509, 0, " "], - [72510, 0, "w"], - [72511, 0, "h"], - [72512, 0, "o"], - [72513, 0, " "], - [72514, 0, "a"], - [72515, 0, "r"], - [72516, 0, "e"], - [72517, 0, " "], - [72518, 0, "m"], - [72519, 0, "o"], - [72520, 0, "r"], - [72521, 0, "e"], - [72522, 0, " "], - [72523, 0, "f"], - [72524, 0, "a"], - [72525, 0, "m"], - [72526, 0, "i"], - [72527, 0, "l"], - [72528, 0, "i"], - [72529, 0, "a"], - [72530, 0, "r"], - [72531, 0, " "], - [72532, 0, "w"], - [72533, 0, "i"], - [72534, 0, "t"], - [72535, 0, "h"], - [72536, 0, " "], - [72537, 0, "s"], - [72538, 0, "e"], - [72539, 0, "q"], - [72540, 0, "u"], - [72541, 0, "e"], - [72542, 0, "n"], - [72543, 0, "t"], - [72544, 0, "i"], - [72545, 0, "a"], - [72546, 0, "l"], - [72547, 0, " "], - [72548, 0, "p"], - [72549, 0, "r"], - [72550, 0, "o"], - [72551, 0, "g"], - [72552, 0, "r"], - [72553, 0, "a"], - [72554, 0, "m"], - [72555, 0, "s"], - [72556, 0, "."], - [72790, 1], - [72789, 1], - [72788, 1], - [72787, 1], - [72786, 1], - [72785, 1], - [72784, 1], - [72783, 1], - [72782, 1], - [72781, 1], - [72780, 1], - [72779, 1], - [72778, 1], - [72777, 1], - [72776, 1], - [72775, 1], - [72774, 1], - [72773, 1], - [72772, 1], - [72771, 1], - [72770, 1], - [72769, 1], - [72768, 1], - [72767, 1], - [72766, 1], - [72765, 1], - [72764, 1], - [72763, 1], - [72762, 1], - [72761, 1], - [72760, 1], - [72759, 1], - [72758, 1], - [72757, 1], - [72756, 1], - [72755, 1], - [72754, 1], - [72753, 1], - [72752, 1], - [72751, 1], - [72750, 1], - [72749, 1], - [72748, 1], - [72747, 1], - [72746, 1], - [72745, 1], - [72744, 1], - [72743, 1], - [72742, 1], - [72741, 1], - [72740, 1], - [72739, 1], - [72738, 1], - [72737, 1], - [72736, 1], - [72735, 1], - [72734, 1], - [72733, 1], - [72732, 1], - [72731, 1], - [72730, 1], - [72729, 1], - [72728, 1], - [72727, 1], - [72726, 1], - [72725, 1], - [72724, 1], - [72723, 1], - [72722, 1], - [72721, 1], - [72720, 1], - [72719, 1], - [72718, 1], - [72717, 1], - [72716, 1], - [72715, 1], - [72714, 1], - [72713, 1], - [72712, 1], - [72711, 1], - [72710, 1], - [72709, 1], - [72708, 1], - [72707, 1], - [72706, 1], - [72705, 1], - [72704, 1], - [72703, 1], - [72703, 0, "\n"], - [71152, 0, "s"], - [72706, 0, "T"], - [72707, 0, "w"], - [72708, 0, "o"], - [72709, 0, " "], - [72710, 0, "i"], - [72711, 0, "m"], - [72712, 0, "p"], - [72713, 0, "o"], - [72714, 0, "r"], - [72715, 0, "t"], - [72716, 0, "a"], - [72717, 0, "n"], - [72718, 0, "t"], - [72719, 0, " "], - [72720, 0, "f"], - [72721, 0, "e"], - [72722, 0, "r"], - [72723, 0, "a"], - [72724, 0, "t"], - [72725, 0, "u"], - [72725, 1], - [72724, 1], - [72723, 1], - [72722, 1], - [72722, 0, "a"], - [72723, 0, "t"], - [72724, 0, "u"], - [72725, 0, "r"], - [72726, 0, "e"], - [72727, 0, "s"], - [72727, 1], - [72726, 1], - [72725, 1], - [72724, 1], - [72723, 1], - [72722, 1], - [72721, 1], - [72720, 1], - [72719, 1], - [72718, 1], - [72717, 1], - [72716, 1], - [72715, 1], - [72714, 1], - [72713, 1], - [72712, 1], - [72711, 1], - [72710, 1], - [72709, 1], - [72708, 1], - [72707, 1], - [72707, 0, "h"], - [72708, 0, "e"], - [72709, 0, " "], - [72710, 0, "C"], - [72711, 0, "R"], - [72712, 0, "D"], - [72713, 0, "T"], - [72714, 0, " "], - [72715, 0, "d"], - [72716, 0, "e"], - [72717, 0, "f"], - [72718, 0, "i"], - [72719, 0, "n"], - [72720, 0, "e"], - [72721, 0, "d"], - [72722, 0, " "], - [72723, 0, "i"], - [72724, 0, "n"], - [72725, 0, " "], - [72726, 0, "t"], - [72727, 0, "h"], - [72728, 0, "i"], - [72729, 0, "s"], - [72730, 0, " "], - [72731, 0, "p"], - [72732, 0, "a"], - [72733, 0, "p"], - [72734, 0, "e"], - [72735, 0, "r"], - [72736, 0, " "], - [72737, 0, "s"], - [72738, 0, "u"], - [72739, 0, "p"], - [72740, 0, "p"], - [72741, 0, "o"], - [72742, 0, "r"], - [72743, 0, "t"], - [72744, 0, "s"], - [72745, 0, " "], - [72746, 0, "i"], - [72747, 0, "n"], - [72748, 0, "s"], - [72749, 0, "e"], - [72750, 0, "r"], - [72751, 0, "t"], - [72752, 0, "i"], - [72753, 0, "o"], - [72754, 0, "n"], - [72755, 0, ","], - [72756, 0, " "], - [72757, 0, "d"], - [72758, 0, "e"], - [72759, 0, "l"], - [72760, 0, "e"], - [72761, 0, "t"], - [72762, 0, "i"], - [72763, 0, "o"], - [72764, 0, "n"], - [72765, 0, " "], - [72766, 0, "a"], - [72767, 0, "n"], - [72768, 0, "d"], - [72769, 0, " "], - [72770, 0, "a"], - [72771, 0, "s"], - [72772, 0, "s"], - [72773, 0, "i"], - [72774, 0, "g"], - [72775, 0, "n"], - [72776, 0, "m"], - [72777, 0, "e"], - [72778, 0, "n"], - [72779, 0, "t"], - [72780, 0, " "], - [72781, 0, "o"], - [72782, 0, "p"], - [72783, 0, "e"], - [72784, 0, "r"], - [72785, 0, "a"], - [72786, 0, "t"], - [72787, 0, "i"], - [72788, 0, "o"], - [72789, 0, "n"], - [72790, 0, "s"], - [72791, 0, "."], - [72792, 0, " "], - [72793, 0, "I"], - [72794, 0, "n"], - [72795, 0, " "], - [72796, 0, "a"], - [72797, 0, "d"], - [72798, 0, "d"], - [72799, 0, "i"], - [72800, 0, "t"], - [72801, 0, "i"], - [72802, 0, "o"], - [72803, 0, "n"], - [72804, 0, " "], - [72805, 0, "t"], - [72806, 0, "o"], - [72807, 0, " "], - [72808, 0, "t"], - [72809, 0, "h"], - [72810, 0, "e"], - [72811, 0, "s"], - [72812, 0, "e"], - [72813, 0, ","], - [72814, 0, " "], - [72815, 0, "i"], - [72816, 0, "t"], - [72817, 0, " "], - [72818, 0, "w"], - [72819, 0, "o"], - [72820, 0, "u"], - [72821, 0, "l"], - [72822, 0, "d"], - [72823, 0, " "], - [72824, 0, "b"], - [72825, 0, "e"], - [72826, 0, " "], - [72827, 0, "u"], - [72828, 0, "s"], - [72829, 0, "e"], - [72830, 0, "f"], - [72831, 0, "u"], - [72832, 0, "l"], - [72833, 0, " "], - [72834, 0, "t"], - [72835, 0, "o"], - [72836, 0, " "], - [72837, 0, "s"], - [72838, 0, "u"], - [72839, 0, "p"], - [72840, 0, "p"], - [72841, 0, "o"], - [72842, 0, "r"], - [72843, 0, "t"], - [72844, 0, " "], - [72845, 0, "a"], - [72846, 0, " "], - [72847, 0, "\\"], - [72848, 0, "e"], - [72849, 0, "m"], - [72850, 0, "p"], - [72851, 0, "h"], - [72852, 0, "{"], - [72853, 0, "m"], - [72854, 0, "o"], - [72855, 0, "v"], - [72856, 0, "e"], - [72857, 0, "}"], - [72858, 0, " "], - [72859, 0, "o"], - [72860, 0, "p"], - [72861, 0, "e"], - [72862, 0, "r"], - [72863, 0, "a"], - [72864, 0, "t"], - [72865, 0, "i"], - [72866, 0, "o"], - [72867, 0, "n"], - [72868, 0, " "], - [72869, 0, "("], - [72870, 0, "t"], - [72871, 0, "o"], - [72872, 0, " "], - [72873, 0, "c"], - [72874, 0, "h"], - [72875, 0, "a"], - [72876, 0, "n"], - [72877, 0, "g"], - [72878, 0, "e"], - [72879, 0, " "], - [72880, 0, "t"], - [72881, 0, "h"], - [72882, 0, "e"], - [72883, 0, " "], - [72884, 0, "o"], - [72885, 0, "r"], - [72886, 0, "d"], - [72887, 0, "e"], - [72888, 0, "r"], - [72889, 0, " "], - [72890, 0, "o"], - [72891, 0, "f"], - [72892, 0, " "], - [72893, 0, "e"], - [72894, 0, "l"], - [72895, 0, "e"], - [72896, 0, "m"], - [72897, 0, "e"], - [72898, 0, "n"], - [72899, 0, "t"], - [72900, 0, "s"], - [72901, 0, " "], - [72902, 0, "i"], - [72903, 0, "n"], - [72904, 0, " "], - [72905, 0, "a"], - [72906, 0, "n"], - [72907, 0, " "], - [72908, 0, "o"], - [72909, 0, "r"], - [72910, 0, "d"], - [72911, 0, "e"], - [72912, 0, "r"], - [72913, 0, "e"], - [72914, 0, "d"], - [72915, 0, " "], - [72916, 0, "l"], - [72917, 0, "i"], - [72918, 0, "s"], - [72919, 0, "t"], - [72920, 0, ","], - [72921, 0, " "], - [72922, 0, "o"], - [72923, 0, "r"], - [72924, 0, " "], - [72925, 0, "t"], - [72926, 0, "o"], - [72927, 0, " "], - [72928, 0, "m"], - [72929, 0, "o"], - [72930, 0, "v"], - [72931, 0, "e"], - [72932, 0, " "], - [72933, 0, "a"], - [72934, 0, " "], - [72935, 0, "s"], - [72936, 0, "u"], - [72937, 0, "b"], - [72938, 0, "t"], - [72939, 0, "r"], - [72940, 0, "e"], - [72941, 0, "e"], - [72942, 0, " "], - [72943, 0, "f"], - [72944, 0, "r"], - [72945, 0, "o"], - [72946, 0, "m"], - [72947, 0, " "], - [72948, 0, "o"], - [72949, 0, "n"], - [72950, 0, "e"], - [72951, 0, " "], - [72952, 0, "p"], - [72953, 0, "o"], - [72954, 0, "s"], - [72955, 0, "i"], - [72956, 0, "t"], - [72957, 0, "i"], - [72958, 0, "o"], - [72959, 0, "n"], - [72960, 0, " "], - [72961, 0, "i"], - [72962, 0, "n"], - [72963, 0, " "], - [72964, 0, "a"], - [72965, 0, " "], - [72966, 0, "d"], - [72967, 0, "o"], - [72968, 0, "c"], - [72969, 0, "u"], - [72970, 0, "m"], - [72971, 0, "e"], - [72972, 0, "n"], - [72973, 0, "t"], - [72974, 0, " "], - [72975, 0, "t"], - [72976, 0, "o"], - [72977, 0, " "], - [72978, 0, "a"], - [72979, 0, "n"], - [72980, 0, "o"], - [72981, 0, "t"], - [72982, 0, "h"], - [72983, 0, "e"], - [72984, 0, "r"], - [72985, 0, ")"], - [72986, 0, " "], - [72987, 0, "a"], - [72988, 0, "n"], - [72989, 0, "d"], - [72990, 0, " "], - [72991, 0, "a"], - [72992, 0, "n"], - [72993, 0, " "], - [72994, 0, "\\"], - [72995, 0, "e"], - [72996, 0, "m"], - [72997, 0, "p"], - [72998, 0, "h"], - [72999, 0, "{"], - [73000, 0, "u"], - [73001, 0, "n"], - [73002, 0, "d"], - [73003, 0, "o"], - [73004, 0, "}"], - [73005, 0, " "], - [73006, 0, "o"], - [73007, 0, "p"], - [73008, 0, "e"], - [73009, 0, "r"], - [73010, 0, "a"], - [73011, 0, "t"], - [73012, 0, "i"], - [73013, 0, "o"], - [73014, 0, "n"], - [73015, 0, "."], - [73016, 0, " "], - [73017, 0, "W"], - [73018, 0, "e"], - [73019, 0, " "], - [73020, 0, "p"], - [73021, 0, "l"], - [73022, 0, "a"], - [73023, 0, "n"], - [73024, 0, " "], - [73025, 0, "t"], - [73026, 0, "o"], - [73027, 0, " "], - [73028, 0, "a"], - [73029, 0, "d"], - [73030, 0, "d"], - [73031, 0, "r"], - [73032, 0, "e"], - [73033, 0, "s"], - [73034, 0, "s"], - [73035, 0, " "], - [73036, 0, "t"], - [73037, 0, "h"], - [73038, 0, "e"], - [73039, 0, "s"], - [73040, 0, "e"], - [73041, 0, " "], - [73042, 0, "m"], - [73043, 0, "i"], - [73044, 0, "s"], - [73045, 0, "s"], - [73046, 0, "i"], - [73047, 0, "n"], - [73048, 0, "g"], - [73049, 0, " "], - [73050, 0, "f"], - [73051, 0, "e"], - [73052, 0, "a"], - [73053, 0, "t"], - [73054, 0, "u"], - [73055, 0, "r"], - [73056, 0, "e"], - [73057, 0, "s"], - [73058, 0, " "], - [73059, 0, "i"], - [73060, 0, "n"], - [73061, 0, " "], - [73062, 0, "f"], - [73063, 0, "u"], - [73064, 0, "t"], - [73065, 0, "u"], - [73066, 0, "r"], - [73067, 0, "e"], - [73068, 0, " "], - [73069, 0, "w"], - [73070, 0, "o"], - [73071, 0, "r"], - [73072, 0, "k"], - [73073, 0, "."], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 1], - [71423, 0, "w"], - [71424, 0, "a"], - [71425, 0, "i"], - [71426, 0, "t"], - [71427, 0, "i"], - [71428, 0, "n"], - [71429, 0, "g"], - [71430, 0, " "], - [71431, 0, "f"], - [71432, 0, "o"], - [71433, 0, "r"], - [657, 1], - [656, 1], - [655, 1], - [654, 1], - [653, 1], - [653, 0, "t"], - [654, 0, "r"], - [655, 0, "u"], - [656, 0, "e"], - [73238, 0, "\n"], - [73239, 0, "\\"], - [73240, 0, "c"], - [73241, 0, "l"], - [73242, 0, "e"], - [73243, 0, "a"], - [73244, 0, "r"], - [73245, 0, "p"], - [73246, 0, "a"], - [73247, 0, "g"], - [73248, 0, "e"], - [73299, 0, "\n"], - [73300, 0, "\n"], - [73300, 0, "I"], - [73301, 0, "n"], - [73302, 0, " "], - [73303, 0, "t"], - [73304, 0, "h"], - [73305, 0, "i"], - [73306, 0, "s"], - [73307, 0, " "], - [73308, 0, "a"], - [73309, 0, "p"], - [73310, 0, "p"], - [73311, 0, "e"], - [73312, 0, "n"], - [73313, 0, "d"], - [73314, 0, "i"], - [73315, 0, "x"], - [73316, 0, " "], - [73317, 0, "w"], - [73318, 0, "e"], - [73319, 0, " "], - [73320, 0, "p"], - [73321, 0, "r"], - [73322, 0, "o"], - [73323, 0, "v"], - [73324, 0, "i"], - [73325, 0, "d"], - [73326, 0, "e"], - [73327, 0, " "], - [73328, 0, "a"], - [73329, 0, " "], - [73330, 0, "p"], - [73331, 0, "r"], - [73332, 0, "o"], - [73333, 0, "o"], - [73334, 0, "f"], - [73335, 0, " "], - [73336, 0, "o"], - [73337, 0, "f"], - [73338, 0, " "], - [73339, 0, "t"], - [73340, 0, "h"], - [73341, 0, "e"], - [73342, 0, " "], - [73343, 0, "t"], - [73344, 0, "h"], - [73345, 0, "e"], - [73346, 0, "o"], - [73347, 0, "r"], - [73348, 0, "e"], - [73349, 0, "m"], - [73350, 0, " "], - [73351, 0, "s"], - [73352, 0, "t"], - [73353, 0, "a"], - [73354, 0, "t"], - [73355, 0, "e"], - [73356, 0, "d"], - [73357, 0, " "], - [73358, 0, "i"], - [73359, 0, "n"], - [73360, 0, " "], - [73361, 0, "s"], - [73362, 0, "e"], - [73362, 1], - [73361, 1], - [73361, 0, "S"], - [73362, 0, "e"], - [73363, 0, "c"], - [73364, 0, "t"], - [73365, 0, "i"], - [73366, 0, "o"], - [73367, 0, "n"], - [73368, 0, "~"], - [73369, 0, "\\"], - [73370, 0, "r"], - [73371, 0, "e"], - [73372, 0, "f"], - [73373, 0, "{"], - [73374, 0, "s"], - [73375, 0, "e"], - [73376, 0, "c"], - [73377, 0, ":"], - [73378, 0, "c"], - [73379, 0, "o"], - [73380, 0, "n"], - [73381, 0, "v"], - [73382, 0, "e"], - [73383, 0, "r"], - [73384, 0, "g"], - [73385, 0, "e"], - [73386, 0, "n"], - [73387, 0, "c"], - [73388, 0, "e"], - [73389, 0, "}"], - [73390, 0, "."], - [73392, 0, "\n"], - [73393, 0, "\n"], - [73393, 0, "\\"], - [73394, 0, "b"], - [73395, 0, "e"], - [73396, 0, "g"], - [73397, 0, "i"], - [73398, 0, "n"], - [73399, 0, "{"], - [73400, 0, "l"], - [73401, 0, "e"], - [73402, 0, "m"], - [73403, 0, "m"], - [73404, 0, "a"], - [73405, 0, "}"], - [73406, 0, "\n"], - [73407, 0, "\\"], - [73408, 0, "e"], - [73409, 0, "n"], - [73410, 0, "d"], - [73411, 0, "{"], - [73412, 0, "l"], - [73413, 0, "e"], - [73414, 0, "m"], - [73415, 0, "m"], - [73416, 0, "a"], - [73417, 0, "}"], - [73406, 0, "\n"], - [73407, 0, "T"], - [73408, 0, "h"], - [73409, 0, "e"], - [73410, 0, " "], - [73411, 0, "e"], - [73412, 0, "v"], - [73413, 0, "a"], - [73414, 0, "l"], - [73415, 0, "u"], - [73416, 0, "a"], - [73417, 0, "t"], - [73417, 1], - [73416, 1], - [73415, 1], - [73414, 1], - [73413, 1], - [73412, 1], - [73411, 1], - [73410, 1], - [73409, 1], - [73408, 1], - [73407, 1], - [73407, 0, "I"], - [73408, 0, "f"], - [73409, 0, " "], - [73410, 0, "$"], - [73411, 0, "\\"], - [73412, 0, "m"], - [73413, 0, "a"], - [73414, 0, "t"], - [73415, 0, "h"], - [73416, 0, "i"], - [73417, 0, "t"], - [73418, 0, "{"], - [73419, 0, "i"], - [73420, 0, "d"], - [73421, 0, "}"], - [73422, 0, "_"], - [73423, 0, "1"], - [73424, 0, "$"], - [73425, 0, " "], - [73426, 0, "a"], - [73427, 0, "p"], - [73428, 0, "p"], - [73429, 0, "e"], - [73430, 0, "a"], - [73431, 0, "r"], - [73432, 0, "s"], - [73433, 0, " "], - [73434, 0, "b"], - [73435, 0, "e"], - [73436, 0, "f"], - [73437, 0, "o"], - [73438, 0, "r"], - [73439, 0, "e"], - [73440, 0, " "], - [73441, 0, "$"], - [73442, 0, "\\"], - [73443, 0, "m"], - [73444, 0, "a"], - [73445, 0, "t"], - [73446, 0, "h"], - [73447, 0, "i"], - [73448, 0, "t"], - [73449, 0, "{"], - [73450, 0, "i"], - [73451, 0, "d"], - [73452, 0, "}"], - [73453, 0, "_"], - [73454, 0, "2"], - [73455, 0, "$"], - [73456, 0, " "], - [73457, 0, "i"], - [73458, 0, "n"], - [73459, 0, " "], - [73460, 0, "a"], - [73461, 0, "n"], - [73462, 0, " "], - [73463, 0, "o"], - [73464, 0, "r"], - [73465, 0, "d"], - [73466, 0, "e"], - [73467, 0, "r"], - [73468, 0, "e"], - [73469, 0, "d"], - [73470, 0, " "], - [73471, 0, "l"], - [73472, 0, "i"], - [73473, 0, "s"], - [73474, 0, "t"], - [73475, 0, ","], - [73476, 0, " "], - [73477, 0, "a"], - [73478, 0, "n"], - [73479, 0, "d"], - [73480, 0, " "], - [73481, 0, "t"], - [73482, 0, "h"], - [73483, 0, "e"], - [73484, 0, " "], - [73485, 0, "l"], - [73486, 0, "i"], - [73487, 0, "s"], - [73488, 0, "t"], - [73489, 0, " "], - [73490, 0, "i"], - [73491, 0, "s"], - [73492, 0, " "], - [73493, 0, "m"], - [73494, 0, "u"], - [73495, 0, "t"], - [73496, 0, "a"], - [73497, 0, "t"], - [73498, 0, "e"], - [73499, 0, "d"], - [73500, 0, " "], - [73501, 0, "a"], - [73502, 0, "c"], - [73503, 0, "c"], - [73504, 0, "o"], - [73505, 0, "r"], - [73506, 0, "d"], - [73507, 0, "i"], - [73508, 0, "n"], - [73509, 0, "g"], - [73510, 0, " "], - [73511, 0, "t"], - [73512, 0, "o"], - [73513, 0, " "], - [73514, 0, "t"], - [73515, 0, "h"], - [73516, 0, "e"], - [73517, 0, " "], - [73518, 0, "v"], - [73518, 1], - [73518, 0, "e"], - [73519, 0, "v"], - [73520, 0, "a"], - [73521, 0, "l"], - [73522, 0, "u"], - [73523, 0, "a"], - [73524, 0, "t"], - [73525, 0, "i"], - [73526, 0, "o"], - [73527, 0, "n"], - [73528, 0, " "], - [73529, 0, "r"], - [73530, 0, "u"], - [73531, 0, "l"], - [73532, 0, "e"], - [73533, 0, "s"], - [73534, 0, ","], - [73535, 0, " "], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 1], - [73426, 0, "p"], - [73427, 0, "r"], - [73428, 0, "e"], - [73429, 0, "c"], - [73430, 0, "e"], - [73431, 0, "d"], - [73432, 0, "e"], - [73433, 0, "s"], - [73530, 0, "$"], - [73531, 0, "\\"], - [73532, 0, "m"], - [73533, 0, "a"], - [73534, 0, "t"], - [73535, 0, "h"], - [73536, 0, "i"], - [73537, 0, "t"], - [73538, 0, "{"], - [73539, 0, "i"], - [73540, 0, "d"], - [73541, 0, "}"], - [73542, 0, "_"], - [73543, 0, "1"], - [73544, 0, "$"], - [73545, 0, " "], - [73546, 0, "a"], - [73547, 0, "l"], - [73548, 0, "s"], - [73549, 0, "o"], - [73550, 0, " "], - [73551, 0, "p"], - [73552, 0, "r"], - [73553, 0, "e"], - [73554, 0, "c"], - [73555, 0, "e"], - [73556, 0, "d"], - [73557, 0, "e"], - [73558, 0, "s"], - [73559, 0, " "], - [73560, 0, "$"], - [73561, 0, "\\"], - [73562, 0, "m"], - [73563, 0, "a"], - [73564, 0, "t"], - [73565, 0, "h"], - [73566, 0, "i"], - [73567, 0, "t"], - [73568, 0, "{"], - [73569, 0, "i"], - [73570, 0, "d"], - [73571, 0, "}"], - [73572, 0, "_"], - [73573, 0, "2"], - [73574, 0, "$"], - [73575, 0, " "], - [73576, 0, "i"], - [73577, 0, "n"], - [73578, 0, " "], - [73579, 0, "a"], - [73580, 0, "l"], - [73581, 0, "l"], - [73582, 0, " "], - [73583, 0, "r"], - [73584, 0, "e"], - [73585, 0, "s"], - [73586, 0, "u"], - [73587, 0, "l"], - [73588, 0, "t"], - [73589, 0, "i"], - [73590, 0, "n"], - [73591, 0, "g"], - [73592, 0, " "], - [73592, 1], - [73591, 1], - [73590, 1], - [73589, 1], - [73588, 1], - [73587, 1], - [73586, 1], - [73585, 1], - [73584, 1], - [73583, 1], - [73583, 0, "s"], - [73584, 0, "u"], - [73585, 0, "c"], - [73586, 0, "c"], - [73587, 0, "e"], - [73588, 0, "s"], - [73589, 0, "s"], - [73590, 0, "i"], - [73591, 0, "v"], - [73592, 0, "e"], - [73593, 0, " "], - [73594, 0, "s"], - [73595, 0, "t"], - [73595, 1], - [73594, 1], - [73594, 0, "d"], - [73595, 0, "o"], - [73596, 0, "c"], - [73597, 0, "u"], - [73598, 0, "m"], - [73599, 0, "e"], - [73600, 0, "n"], - [73601, 0, "t"], - [73602, 0, " "], - [73603, 0, "s"], - [73604, 0, "t"], - [73605, 0, "a"], - [73606, 0, "t"], - [73607, 0, "e"], - [73608, 0, "s"], - [73609, 0, "."], - [73391, 0, "\n"], - [73392, 0, "\n"], - [73393, 0, "\\"], - [73394, 0, "b"], - [73395, 0, "e"], - [73396, 0, "g"], - [73397, 0, "i"], - [73398, 0, "n"], - [73399, 0, "{"], - [73400, 0, "d"], - [73401, 0, "e"], - [73402, 0, "f"], - [73403, 0, "i"], - [73404, 0, "n"], - [73405, 0, "i"], - [73406, 0, "t"], - [73407, 0, "i"], - [73408, 0, "o"], - [73409, 0, "n"], - [73410, 0, "}"], - [73411, 0, "\n"], - [73412, 0, "\\"], - [73413, 0, "e"], - [73414, 0, "n"], - [73415, 0, "d"], - [73416, 0, "{"], - [73417, 0, "d"], - [73418, 0, "e"], - [73419, 0, "f"], - [73420, 0, "i"], - [73421, 0, "n"], - [73422, 0, "i"], - [73423, 0, "t"], - [73424, 0, "i"], - [73425, 0, "o"], - [73426, 0, "n"], - [73427, 0, "}"], - [73411, 0, "\n"], - [73391, 0, " "], - [73392, 0, "W"], - [73393, 0, "e"], - [73394, 0, " "], - [73395, 0, "b"], - [73396, 0, "e"], - [73397, 0, "g"], - [73398, 0, "i"], - [73399, 0, "n"], - [73400, 0, " "], - [73401, 0, "w"], - [73402, 0, "i"], - [73403, 0, "t"], - [73404, 0, "h"], - [73405, 0, " "], - [73406, 0, "s"], - [73407, 0, "o"], - [73408, 0, "m"], - [73409, 0, "e"], - [73410, 0, " "], - [73411, 0, "l"], - [73412, 0, "e"], - [73413, 0, "m"], - [73414, 0, "m"], - [73415, 0, "a"], - [73416, 0, "s"], - [73417, 0, " "], - [73418, 0, "a"], - [73419, 0, "b"], - [73420, 0, "o"], - [73421, 0, "u"], - [73422, 0, "t"], - [73423, 0, " "], - [73424, 0, "o"], - [73425, 0, "r"], - [73426, 0, "d"], - [73427, 0, "e"], - [73428, 0, "r"], - [73429, 0, "e"], - [73430, 0, "d"], - [73431, 0, " "], - [73432, 0, "l"], - [73433, 0, "i"], - [73434, 0, "s"], - [73435, 0, "t"], - [73436, 0, "s"], - [73437, 0, ","], - [73438, 0, " "], - [73439, 0, "a"], - [73440, 0, "n"], - [73441, 0, "d"], - [73442, 0, " "], - [73443, 0, "t"], - [73444, 0, "h"], - [73445, 0, "e"], - [73446, 0, "n"], - [73447, 0, " "], - [73448, 0, "w"], - [73449, 0, "o"], - [73450, 0, "r"], - [73451, 0, "k"], - [73452, 0, " "], - [73453, 0, "o"], - [73454, 0, "u"], - [73455, 0, "r"], - [73456, 0, " "], - [73457, 0, "w"], - [73458, 0, "a"], - [73459, 0, "y"], - [73460, 0, " "], - [73461, 0, "t"], - [73462, 0, "o"], - [73463, 0, "w"], - [73464, 0, "a"], - [73465, 0, "r"], - [73466, 0, "d"], - [73467, 0, "s"], - [73468, 0, " "], - [73469, 0, "m"], - [73470, 0, "o"], - [73471, 0, "r"], - [73472, 0, "e"], - [73473, 0, " "], - [73474, 0, "c"], - [73475, 0, "o"], - [73476, 0, "m"], - [73477, 0, "p"], - [73478, 0, "l"], - [73479, 0, "e"], - [73480, 0, " "], - [73480, 1], - [73480, 0, "x"], - [73481, 0, " "], - [73482, 0, "c"], - [73483, 0, "o"], - [73484, 0, "m"], - [73485, 0, "p"], - [73486, 0, "o"], - [73487, 0, "s"], - [73488, 0, "i"], - [73489, 0, "t"], - [73490, 0, "e"], - [73491, 0, " "], - [73492, 0, "d"], - [73493, 0, "o"], - [73494, 0, "c"], - [73495, 0, "u"], - [73496, 0, "m"], - [73497, 0, "e"], - [73498, 0, "n"], - [73499, 0, "t"], - [73500, 0, "s"], - [73501, 0, "."], - [73492, 0, "J"], - [73493, 0, "S"], - [73494, 0, "O"], - [73495, 0, "N"], - [73496, 0, " "], - [73528, 0, "L"], - [73529, 0, "i"], - [73530, 0, "t"], - [73530, 1], - [73530, 0, "s"], - [73531, 0, "t"], - [73532, 0, " "], - [73533, 0, "e"], - [73534, 0, "l"], - [73535, 0, "e"], - [73536, 0, "m"], - [73537, 0, "e"], - [73538, 0, "n"], - [73539, 0, " "], - [73540, 0, "t"], - [73541, 0, " "], - [73541, 1], - [73540, 1], - [73539, 1], - [73539, 0, "t"], - [73540, 0, " "], - [73541, 0, "$"], - [73542, 0, "k"], - [73543, 0, "_"], - [73544, 0, "1"], - [73545, 0, "$"], - [73593, 1], - [73592, 1], - [73591, 1], - [73590, 1], - [73589, 1], - [73588, 1], - [73587, 1], - [73586, 1], - [73585, 1], - [73584, 1], - [73583, 1], - [73583, 0, "k"], - [73608, 1], - [73607, 1], - [73606, 1], - [73605, 1], - [73604, 1], - [73603, 1], - [73602, 1], - [73601, 1], - [73600, 1], - [73599, 1], - [73598, 1], - [73598, 0, "k"], - [73723, 1], - [73722, 1], - [73721, 1], - [73720, 1], - [73719, 1], - [73718, 1], - [73717, 1], - [73716, 1], - [73715, 1], - [73714, 1], - [73713, 1], - [73713, 0, "k"], - [73693, 1], - [73692, 1], - [73691, 1], - [73690, 1], - [73689, 1], - [73688, 1], - [73687, 1], - [73686, 1], - [73685, 1], - [73684, 1], - [73683, 1], - [73683, 0, "k"], - [73546, 0, " "], - [73547, 0, "\\"], - [73548, 0, "e"], - [73549, 0, "m"], - [73550, 0, "p"], - [73551, 0, "h"], - [73552, 0, "{"], - [73553, 0, "p"], - [73554, 0, "r"], - [73555, 0, "e"], - [73556, 0, "c"], - [73557, 0, "e"], - [73558, 0, "d"], - [73559, 0, "e"], - [73560, 0, "s"], - [73561, 0, "}"], - [73562, 0, " "], - [73563, 0, "l"], - [73564, 0, "i"], - [73565, 0, "s"], - [73566, 0, "t"], - [73567, 0, " "], - [73568, 0, "e"], - [73569, 0, "l"], - [73570, 0, "e"], - [73571, 0, "m"], - [73572, 0, "e"], - [73573, 0, "n"], - [73574, 0, "t"], - [73575, 0, " "], - [73576, 0, "$"], - [73577, 0, "k"], - [73578, 0, "_"], - [73579, 0, "2"], - [73580, 0, "$"], - [73581, 0, " "], - [73582, 0, "i"], - [73583, 0, "n"], - [73584, 0, " "], - [73585, 0, "\\"], - [73585, 1], - [73585, 0, "$"], - [73586, 0, "\\"], - [73587, 0, "m"], - [73588, 0, "a"], - [73589, 0, "t"], - [73590, 0, "h"], - [73591, 0, "i"], - [73592, 0, "t"], - [73593, 0, "{"], - [73594, 0, "c"], - [73595, 0, "t"], - [73596, 0, "x"], - [73597, 0, "}"], - [73598, 0, "$"], - [73599, 0, " "], - [73600, 0, "i"], - [73601, 0, "f"], - [73602, 0, " "], - [73579, 1], - [73579, 0, "n"], - [73603, 0, "t"], - [73604, 0, "h"], - [73605, 0, "e"], - [73606, 0, "r"], - [73607, 0, "e"], - [73608, 0, " "], - [73609, 0, "e"], - [73610, 0, "x"], - [73611, 0, "i"], - [73612, 0, "s"], - [73613, 0, "t"], - [73614, 0, " "], - [73615, 0, "$"], - [73616, 0, "k"], - [73617, 0, "_"], - [73618, 0, "2"], - [73619, 0, ","], - [73620, 0, " "], - [73621, 0, "\\"], - [73622, 0, "d"], - [73623, 0, "o"], - [73624, 0, "t"], - [73625, 0, "s"], - [73626, 0, ","], - [73627, 0, " "], - [73628, 0, "k"], - [73629, 0, "_"], - [73630, 0, "{"], - [73631, 0, "n"], - [73632, 0, "-"], - [73633, 0, "1"], - [73634, 0, "}"], - [73635, 0, "$"], - [73636, 0, " "], - [73637, 0, "s"], - [73638, 0, "u"], - [73639, 0, "c"], - [73640, 0, "h"], - [73641, 0, " "], - [73642, 0, "t"], - [73643, 0, "h"], - [73644, 0, "a"], - [73645, 0, "t"], - [73646, 0, " "], - [73647, 0, "$"], - [73648, 0, "\\"], - [73649, 0, "m"], - [73650, 0, "a"], - [73651, 0, "t"], - [73652, 0, "h"], - [73653, 0, "i"], - [73654, 0, "t"], - [73655, 0, "{"], - [73656, 0, "c"], - [73657, 0, "t"], - [73658, 0, "x"], - [73659, 0, "}"], - [73660, 0, "("], - [73661, 0, "\\"], - [73662, 0, "m"], - [73663, 0, "a"], - [73664, 0, "t"], - [73665, 0, "h"], - [73666, 0, "s"], - [73667, 0, "f"], - [73668, 0, "{"], - [73669, 0, "n"], - [73670, 0, "e"], - [73671, 0, "x"], - [73672, 0, "t"], - [73673, 0, "}"], - [73674, 0, "("], - [73675, 0, "k"], - [73676, 0, "_"], - [73677, 0, "1"], - [73678, 0, ")"], - [73679, 0, ")"], - [73680, 0, " "], - [73681, 0, "="], - [73682, 0, " "], - [73683, 0, "k"], - [73684, 0, "_"], - [73685, 0, "2"], - [73686, 0, " "], - [73687, 0, "\\"], - [73688, 0, ";"], - [73689, 0, "\\"], - [73690, 0, "w"], - [73691, 0, "e"], - [73692, 0, "d"], - [73693, 0, "g"], - [73694, 0, "e"], - [73695, 0, "\\"], - [73696, 0, ";"], - [73697, 0, " "], - [73698, 0, "\\"], - [73699, 0, "m"], - [73700, 0, "a"], - [73701, 0, "t"], - [73702, 0, "h"], - [73703, 0, "i"], - [73704, 0, "t"], - [73705, 0, "{"], - [73706, 0, "c"], - [73707, 0, "t"], - [73708, 0, "x"], - [73709, 0, "}"], - [73710, 0, "("], - [73711, 0, "\\"], - [73712, 0, "m"], - [73713, 0, "a"], - [73714, 0, "t"], - [73715, 0, "h"], - [73716, 0, "s"], - [73717, 0, "f"], - [73718, 0, "{"], - [73719, 0, "n"], - [73720, 0, "e"], - [73721, 0, "x"], - [73722, 0, "t"], - [73723, 0, "}"], - [73724, 0, "("], - [73725, 0, "k"], - [73726, 0, "_"], - [73727, 0, "2"], - [73648, 0, "\\"], - [73649, 0, "f"], - [73650, 0, "o"], - [73651, 0, "r"], - [73652, 0, "a"], - [73653, 0, "l"], - [73654, 0, "l"], - [73655, 0, " "], - [73646, 0, " "], - [73647, 0, "f"], - [73648, 0, "o"], - [73649, 0, "r"], - [73650, 0, " "], - [73651, 0, "a"], - [73652, 0, "l"], - [73653, 0, "l"], - [73654, 0, " "], - [73655, 0, "$"], - [73656, 0, "i"], - [73657, 0, "$"], - [73658, 0, " "], - [73659, 0, "w"], - [73660, 0, "i"], - [73661, 0, "t"], - [73662, 0, "h"], - [73663, 0, " "], - [73664, 0, "$"], - [73665, 0, "1"], - [73666, 0, " "], - [73667, 0, "\\"], - [73668, 0, "l"], - [73669, 0, "e"], - [73670, 0, " "], - [73671, 0, "i"], - [73672, 0, " "], - [73673, 0, "<"], - [73674, 0, " "], - [73675, 0, "n"], - [73676, 0, "$"], - [73677, 0, ","], - [73687, 1], - [73686, 1], - [73685, 1], - [73684, 1], - [73683, 1], - [73682, 1], - [73681, 1], - [73680, 1], - [73709, 1], - [73709, 0, "i"], - [73717, 1], - [73717, 0, "{"], - [73718, 0, "i"], - [73719, 0, "+"], - [73720, 0, "1"], - [73721, 0, "}"], - [73722, 0, "$"], - [73723, 0, "."], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73724, 1], - [73584, 0, " "], - [73585, 0, "t"], - [73586, 0, "h"], - [73587, 0, "e"], - [73588, 0, " "], - [73589, 0, "o"], - [73590, 0, "r"], - [73591, 0, "d"], - [73592, 0, "e"], - [73593, 0, "r"], - [73594, 0, "e"], - [73595, 0, "d"], - [73596, 0, " "], - [73597, 0, "l"], - [73598, 0, "i"], - [73599, 0, "s"], - [73600, 0, "t"], - [73758, 0, "\n"], - [73759, 0, "\n"], - [73760, 0, "T"], - [73761, 0, "h"], - [73762, 0, "e"], - [73763, 0, " "], - [73764, 0, "n"], - [73765, 0, "o"], - [73766, 0, "t"], - [73767, 0, "i"], - [73768, 0, "o"], - [73769, 0, "n"], - [73770, 0, " "], - [73771, 0, "o"], - [73772, 0, "f"], - [73773, 0, " "], - [73774, 0, "\\"], - [73775, 0, "e"], - [73776, 0, "m"], - [73777, 0, "p"], - [73778, 0, "h"], - [73779, 0, "{"], - [73780, 0, "p"], - [73781, 0, "r"], - [73782, 0, "e"], - [73783, 0, "c"], - [73784, 0, "e"], - [73785, 0, "d"], - [73786, 0, "i"], - [73787, 0, "n"], - [73788, 0, "g"], - [73789, 0, "}"], - [73790, 0, " "], - [73791, 0, "c"], - [73792, 0, "o"], - [73793, 0, "r"], - [73794, 0, "r"], - [73795, 0, "e"], - [73796, 0, "s"], - [73797, 0, "p"], - [73798, 0, "o"], - [73799, 0, "n"], - [73800, 0, "d"], - [73801, 0, "s"], - [73802, 0, " "], - [73803, 0, "t"], - [73804, 0, "o"], - [73805, 0, " "], - [73806, 0, "t"], - [73807, 0, "h"], - [73808, 0, "e"], - [73809, 0, " "], - [73810, 0, "o"], - [73811, 0, "r"], - [73812, 0, "d"], - [73813, 0, "e"], - [73814, 0, "r"], - [73815, 0, " "], - [73816, 0, "i"], - [73817, 0, "n"], - [73818, 0, " "], - [73819, 0, "w"], - [73820, 0, "h"], - [73821, 0, "i"], - [73822, 0, "c"], - [73823, 0, "h"], - [73824, 0, " "], - [73825, 0, "t"], - [73826, 0, "h"], - [73827, 0, "e"], - [73828, 0, " "], - [73829, 0, "\\"], - [73830, 0, "t"], - [73831, 0, "e"], - [73832, 0, "x"], - [73833, 0, "t"], - [73834, 0, "s"], - [73835, 0, "c"], - [73836, 0, "{"], - [73837, 0, "N"], - [73838, 0, "e"], - [73839, 0, "x"], - [73840, 0, "t"], - [73841, 0, "}"], - [73842, 0, " "], - [73843, 0, "r"], - [73844, 0, "u"], - [73845, 0, "l"], - [73846, 0, "e"], - [73847, 0, "s"], - [73848, 0, " "], - [73849, 0, "i"], - [73850, 0, "t"], - [73851, 0, "e"], - [73852, 0, "r"], - [73853, 0, "a"], - [73854, 0, "t"], - [73855, 0, "e"], - [73856, 0, " "], - [73857, 0, "o"], - [73858, 0, "v"], - [73859, 0, "e"], - [73860, 0, "r"], - [73861, 0, " "], - [73862, 0, "t"], - [73863, 0, "h"], - [73864, 0, "e"], - [73865, 0, " "], - [73866, 0, "l"], - [73867, 0, "i"], - [73868, 0, "s"], - [73869, 0, "t"], - [73870, 0, "."], - [74062, 0, "\n"], - [74063, 0, "\\"], - [74064, 0, "b"], - [74065, 0, "e"], - [74066, 0, "g"], - [74067, 0, "i"], - [74068, 0, "n"], - [74069, 0, "{"], - [74070, 0, "p"], - [74071, 0, "r"], - [74072, 0, "o"], - [74073, 0, "o"], - [74074, 0, "f"], - [74075, 0, "}"], - [74076, 0, "\n"], - [74077, 0, "\\"], - [74078, 0, "e"], - [74079, 0, "n"], - [74080, 0, "d"], - [74081, 0, "{"], - [74082, 0, "p"], - [74083, 0, "r"], - [74084, 0, "o"], - [74085, 0, "o"], - [74086, 0, "f"], - [74087, 0, "}"], - [74076, 0, "\n"], - [74077, 0, "T"], - [74078, 0, "h"], - [74079, 0, "e"], - [74080, 0, " "], - [74081, 0, "o"], - [74082, 0, "n"], - [74083, 0, "l"], - [74084, 0, "y"], - [74085, 0, " "], - [74086, 0, "r"], - [74087, 0, "u"], - [74088, 0, "l"], - [74089, 0, "e"], - [74090, 0, " "], - [74091, 0, "t"], - [74092, 0, "h"], - [74093, 0, "a"], - [74094, 0, "t"], - [74095, 0, " "], - [74096, 0, "m"], - [74097, 0, "o"], - [74098, 0, "d"], - [74099, 0, "i"], - [74100, 0, "f"], - [74101, 0, "i"], - [74102, 0, "e"], - [74103, 0, "s"], - [74104, 0, " "], - [74105, 0, "t"], - [74106, 0, "h"], - [74107, 0, "e"], - [74108, 0, " "], - [74109, 0, "\\"], - [74110, 0, "t"], - [74111, 0, "e"], - [74112, 0, "x"], - [74113, 0, "t"], - [74114, 0, "s"], - [74115, 0, "f"], - [74116, 0, "{"], - [74117, 0, "n"], - [74118, 0, "e"], - [74119, 0, "x"], - [74120, 0, "t"], - [74121, 0, "}"], - [74122, 0, " "], - [74123, 0, "e"], - [74124, 0, "n"], - [74125, 0, "t"], - [74126, 0, "r"], - [74127, 0, "i"], - [74128, 0, "e"], - [74129, 0, "s"], - [74130, 0, " "], - [74131, 0, "i"], - [74132, 0, "n"], - [74133, 0, " "], - [74134, 0, "t"], - [74135, 0, "h"], - [74136, 0, "e"], - [74137, 0, " "], - [74138, 0, "c"], - [74139, 0, "o"], - [74140, 0, "n"], - [74141, 0, "t"], - [74142, 0, "e"], - [74143, 0, "x"], - [74144, 0, "t"], - [74145, 0, " "], - [74146, 0, "i"], - [74147, 0, "s"], - [74148, 0, " "], - [74149, 0, "$"], - [74150, 0, "\\"], - [74151, 0, "m"], - [74152, 0, "a"], - [74153, 0, "t"], - [74154, 0, "h"], - [74155, 0, "s"], - [74156, 0, "f"], - [74157, 0, "{"], - [74157, 1], - [74156, 1], - [74155, 1], - [74154, 1], - [74153, 1], - [74152, 1], - [74151, 1], - [74151, 0, "t"], - [74152, 0, "e"], - [74153, 0, "x"], - [74154, 0, "t"], - [74155, 0, "s"], - [74156, 0, "c"], - [74157, 0, "{"], - [74158, 0, "I"], - [74159, 0, "n"], - [74160, 0, "s"], - [74161, 0, "e"], - [74162, 0, "r"], - [74163, 0, "t"], - [74164, 0, "}"], - [74165, 0, "_"], - [74166, 0, "1"], - [74167, 0, "$"], - [74168, 0, ","], - [74169, 0, " "], - [74170, 0, "a"], - [74171, 0, "n"], - [74172, 0, "d"], - [74173, 0, " "], - [74174, 0, "i"], - [74175, 0, "t"], - [74176, 0, " "], - [74177, 0, "m"], - [74178, 0, "o"], - [74179, 0, "d"], - [74180, 0, "i"], - [74181, 0, "f"], - [74182, 0, "i"], - [74183, 0, "e"], - [74184, 0, "s"], - [74185, 0, " "], - [74185, 1], - [74184, 1], - [74183, 1], - [74182, 1], - [74181, 1], - [74180, 1], - [74179, 1], - [74178, 1], - [74177, 1], - [74177, 0, "i"], - [74178, 0, "n"], - [74179, 0, "s"], - [74180, 0, "e"], - [74181, 0, "r"], - [74182, 0, "t"], - [74183, 0, "s"], - [74184, 0, " "], - [74185, 0, "a"], - [74186, 0, " "], - [74187, 0, "p"], - [74187, 1], - [74187, 0, "n"], - [74188, 0, "e"], - [74189, 0, "w"], - [74190, 0, " "], - [74191, 0, "l"], - [74192, 0, "i"], - [74193, 0, "s"], - [74194, 0, "t"], - [74195, 0, " "], - [74196, 0, "e"], - [74197, 0, "l"], - [74198, 0, "e"], - [74199, 0, "m"], - [74200, 0, "e"], - [74201, 0, "n"], - [74202, 0, "t"], - [74203, 0, " "], - [74204, 0, "b"], - [74205, 0, "e"], - [74206, 0, "t"], - [74207, 0, "w"], - [74208, 0, "e"], - [74209, 0, "e"], - [74210, 0, "n"], - [74211, 0, " "], - [74212, 0, "r"], - [74212, 1], - [74212, 0, "t"], - [74213, 0, "w"], - [74214, 0, "o"], - [74215, 0, " "], - [74216, 0, "e"], - [74217, 0, "x"], - [74218, 0, "c"], - [74218, 1], - [74218, 0, "i"], - [74219, 0, "s"], - [74220, 0, "t"], - [74221, 0, "i"], - [74222, 0, "n"], - [74223, 0, "g"], - [74224, 0, " "], - [74225, 0, "l"], - [74226, 0, "i"], - [74227, 0, "s"], - [74228, 0, "t"], - [74229, 0, " "], - [74230, 0, "e"], - [74231, 0, "l"], - [74232, 0, "e"], - [74233, 0, "m"], - [74234, 0, "e"], - [74235, 0, "n"], - [74236, 0, "t"], - [74237, 0, "s"], - [74238, 0, " "], - [74239, 0, "("], - [74240, 0, "p"], - [74241, 0, "o"], - [74242, 0, "s"], - [74243, 0, "s"], - [74244, 0, "i"], - [74245, 0, "b"], - [74246, 0, "l"], - [74247, 0, "y"], - [74248, 0, " "], - [74249, 0, "\\"], - [74250, 0, "m"], - [74251, 0, "a"], - [74252, 0, "t"], - [74253, 0, "h"], - [74254, 0, "s"], - [74255, 0, "f"], - [74256, 0, "{"], - [74257, 0, "h"], - [74258, 0, "e"], - [74259, 0, "a"], - [74260, 0, "d"], - [74261, 0, "}"], - [74262, 0, " "], - [74263, 0, "a"], - [74264, 0, "n"], - [74265, 0, "d"], - [74266, 0, "/"], - [74267, 0, "o"], - [74268, 0, "r"], - [74269, 0, " "], - [74270, 0, "\\"], - [74253, 1], - [74252, 1], - [74251, 1], - [74250, 1], - [74250, 0, "t"], - [74251, 0, "e"], - [74252, 0, "x"], - [74253, 0, "t"], - [74271, 0, "t"], - [74272, 0, "e"], - [74273, 0, "x"], - [74274, 0, "t"], - [74275, 0, "s"], - [74276, 0, "f"], - [74277, 0, "{"], - [74278, 0, "t"], - [74279, 0, "a"], - [74280, 0, "i"], - [74281, 0, "l"], - [74282, 0, "}"], - [74283, 0, ")"], - [74284, 0, "."], - [74285, 0, " "], - [74286, 0, "T"], - [74287, 0, "h"], - [74288, 0, "i"], - [74289, 0, "s"], - [74290, 0, " "], - [74291, 0, "m"], - [74292, 0, "o"], - [74293, 0, "d"], - [74294, 0, "i"], - [74295, 0, "f"], - [74296, 0, "i"], - [74297, 0, "c"], - [74298, 0, "a"], - [74299, 0, "t"], - [74300, 0, "i"], - [74301, 0, "o"], - [74302, 0, "n"], - [74303, 0, " "], - [74304, 0, "p"], - [74305, 0, "r"], - [74306, 0, "e"], - [74307, 0, "s"], - [74308, 0, "e"], - [74309, 0, "r"], - [74310, 0, "v"], - [74311, 0, "e"], - [74312, 0, "s"], - [74313, 0, " "], - [74314, 0, "t"], - [74315, 0, "h"], - [74316, 0, "e"], - [74317, 0, " "], - [74318, 0, "p"], - [74319, 0, "r"], - [74320, 0, "e"], - [74321, 0, "c"], - [74322, 0, "e"], - [74323, 0, "d"], - [74324, 0, "e"], - [74325, 0, "n"], - [74326, 0, "c"], - [74327, 0, "e"], - [74328, 0, " "], - [74329, 0, "r"], - [74330, 0, "e"], - [74331, 0, "l"], - [74332, 0, "a"], - [74333, 0, "t"], - [74334, 0, "o"], - [74335, 0, "i"], - [74336, 0, "n"], - [74337, 0, "s"], - [74337, 1], - [74336, 1], - [74335, 1], - [74334, 1], - [74334, 0, "i"], - [74335, 0, "o"], - [74336, 0, "n"], - [74337, 0, "s"], - [74338, 0, "h"], - [74339, 0, "i"], - [74340, 0, "p"], - [74341, 0, " "], - [74342, 0, "b"], - [74343, 0, "e"], - [74344, 0, "t"], - [74345, 0, "w"], - [74346, 0, "e"], - [74347, 0, "e"], - [74348, 0, "n"], - [74349, 0, " "], - [74350, 0, "a"], - [74351, 0, "n"], - [74352, 0, "y"], - [74353, 0, " "], - [74354, 0, "t"], - [74355, 0, "w"], - [74356, 0, "o"], - [74357, 0, " "], - [74358, 0, "e"], - [74359, 0, "x"], - [74360, 0, "i"], - [74361, 0, "s"], - [74362, 0, "t"], - [74363, 0, "i"], - [74364, 0, "n"], - [74365, 0, "g"], - [74366, 0, " "], - [74367, 0, "l"], - [74368, 0, "i"], - [74369, 0, "s"], - [74370, 0, "t"], - [74371, 0, " "], - [74372, 0, "e"], - [74373, 0, "l"], - [74374, 0, "e"], - [74375, 0, "m"], - [74376, 0, "e"], - [74377, 0, "n"], - [74378, 0, "t"], - [74379, 0, "s"], - [74380, 0, "."], - [73769, 1], - [73768, 1], - [73767, 1], - [73766, 1], - [73765, 1], - [73764, 1], - [73764, 0, "d"], - [73765, 0, "e"], - [73766, 0, "f"], - [73767, 0, "i"], - [73768, 0, "n"], - [73769, 0, "i"], - [73770, 0, "o"], - [73771, 0, "n"], - [73771, 1], - [73770, 1], - [73770, 0, "t"], - [73771, 0, "i"], - [73772, 0, "o"], - [73773, 0, "n"], - [74385, 0, " "], - [74386, 0, "S"], - [74387, 0, "i"], - [74388, 0, "n"], - [74389, 0, "c"], - [74390, 0, "e"], - [74391, 0, " "], - [74392, 0, "n"], - [74393, 0, "o"], - [74394, 0, " "], - [74395, 0, "o"], - [74396, 0, "t"], - [74397, 0, "h"], - [74398, 0, "e"], - [74399, 0, "r"], - [74400, 0, " "], - [74401, 0, "r"], - [74402, 0, "u"], - [74403, 0, "l"], - [74404, 0, "e"], - [74405, 0, " "], - [74406, 0, "a"], - [74407, 0, "f"], - [74408, 0, "f"], - [74409, 0, "e"], - [74410, 0, "c"], - [74411, 0, "t"], - [74412, 0, "s"], - [74413, 0, " "], - [74414, 0, "t"], - [74415, 0, "h"], - [74416, 0, "e"], - [74417, 0, " "], - [74418, 0, "l"], - [74419, 0, "i"], - [74420, 0, "s"], - [74421, 0, "t"], - [74422, 0, " "], - [74423, 0, "o"], - [74424, 0, "r"], - [74425, 0, "d"], - [74426, 0, "e"], - [74427, 0, "r"], - [74428, 0, ","], - [74429, 0, " "], - [74430, 0, "p"], - [74431, 0, "r"], - [74432, 0, "e"], - [74433, 0, "c"], - [74434, 0, "e"], - [74435, 0, "d"], - [74436, 0, "e"], - [74437, 0, "n"], - [74438, 0, "c"], - [74439, 0, "e"], - [74440, 0, " "], - [74441, 0, "i"], - [74442, 0, "s"], - [74443, 0, " "], - [74444, 0, "a"], - [74445, 0, "l"], - [74446, 0, "w"], - [74447, 0, "a"], - [74448, 0, "y"], - [74449, 0, "s"], - [74450, 0, " "], - [74451, 0, "p"], - [74452, 0, "r"], - [74453, 0, "e"], - [74454, 0, "s"], - [74455, 0, "e"], - [74456, 0, "r"], - [74457, 0, "v"], - [74458, 0, "e"], - [74459, 0, "d"], - [74460, 0, "."], - [74473, 0, "\n"], - [74474, 0, "\n"], - [74475, 0, "N"], - [74476, 0, "o"], - [74477, 0, "t"], - [74478, 0, "e"], - [74479, 0, " "], - [74480, 0, "t"], - [74481, 0, "h"], - [74482, 0, "a"], - [74483, 0, "t"], - [74484, 0, " "], - [74485, 0, "d"], - [74486, 0, "e"], - [74487, 0, "l"], - [74488, 0, "e"], - [74489, 0, "t"], - [74490, 0, "i"], - [74491, 0, "o"], - [74492, 0, "n"], - [74493, 0, " "], - [74494, 0, "o"], - [74495, 0, "f"], - [74496, 0, " "], - [74497, 0, "a"], - [74498, 0, "l"], - [74498, 1], - [74498, 0, "n"], - [74499, 0, " "], - [74500, 0, "e"], - [74501, 0, "l"], - [74502, 0, "e"], - [74503, 0, "m"], - [74504, 0, "e"], - [74505, 0, "n"], - [74506, 0, "t"], - [74507, 0, " "], - [74508, 0, "f"], - [74509, 0, "r"], - [74510, 0, "o"], - [74511, 0, "m"], - [74512, 0, " "], - [74513, 0, "a"], - [74514, 0, " "], - [74515, 0, "l"], - [74516, 0, "i"], - [74517, 0, "s"], - [74518, 0, "t"], - [74519, 0, " "], - [74520, 0, "d"], - [74521, 0, "o"], - [74522, 0, "e"], - [74523, 0, "s"], - [74524, 0, " "], - [74525, 0, "n"], - [74526, 0, "o"], - [74527, 0, "t"], - [74528, 0, " "], - [74529, 0, "r"], - [74530, 0, "e"], - [74531, 0, "m"], - [74532, 0, "o"], - [74533, 0, "v"], - [74534, 0, "e"], - [74535, 0, " "], - [74536, 0, "i"], - [74537, 0, "t"], - [74538, 0, " "], - [74539, 0, "f"], - [74540, 0, "r"], - [74541, 0, "o"], - [74542, 0, "m"], - [74543, 0, " "], - [74544, 0, "t"], - [74545, 0, "h"], - [74546, 0, "e"], - [74547, 0, " "], - [74548, 0, "s"], - [74549, 0, "e"], - [74550, 0, "q"], - [74551, 0, "u"], - [74552, 0, "e"], - [74553, 0, "n"], - [74554, 0, "c"], - [74555, 0, "e"], - [74556, 0, " "], - [74557, 0, "o"], - [74558, 0, "f"], - [74559, 0, " "], - [74560, 0, "\\"], - [74561, 0, "t"], - [74562, 0, "e"], - [74563, 0, "x"], - [74564, 0, "t"], - [74565, 0, "s"], - [74566, 0, "f"], - [74567, 0, "{"], - [74568, 0, "n"], - [74569, 0, "e"], - [74570, 0, "x"], - [74571, 0, "t"], - [74572, 0, "}"], - [74573, 0, " "], - [74574, 0, "p"], - [74575, 0, "o"], - [74576, 0, "i"], - [74577, 0, "n"], - [74578, 0, "t"], - [74579, 0, "e"], - [74580, 0, "r"], - [74581, 0, "s"], - [74133, 1], - [74132, 1], - [74131, 1], - [74130, 1], - [74129, 1], - [74128, 1], - [74127, 1], - [74127, 0, "p"], - [74128, 0, "o"], - [74129, 0, "i"], - [74130, 0, "n"], - [74131, 0, "t"], - [74132, 0, "e"], - [74133, 0, "r"], - [74134, 0, "s"], - [74583, 0, ","], - [74584, 0, " "], - [74585, 0, "b"], - [74586, 0, "u"], - [74587, 0, "t"], - [74588, 0, " "], - [74589, 0, "o"], - [74590, 0, "n"], - [74591, 0, "l"], - [74592, 0, "y"], - [74593, 0, " "], - [74594, 0, "c"], - [74595, 0, "l"], - [74596, 0, "e"], - [74597, 0, "a"], - [74598, 0, "r"], - [74599, 0, "s"], - [74600, 0, " "], - [74601, 0, "i"], - [74602, 0, "t"], - [74603, 0, "s"], - [74604, 0, " "], - [74605, 0, "p"], - [74606, 0, "r"], - [74607, 0, "e"], - [74608, 0, "s"], - [74609, 0, "e"], - [74610, 0, "n"], - [74611, 0, "c"], - [74612, 0, "e"], - [74613, 0, " "], - [74614, 0, "s"], - [74615, 0, "e"], - [74616, 0, "t"], - [74617, 0, " "], - [74618, 0, "$"], - [74619, 0, "\\"], - [74620, 0, "m"], - [74621, 0, "a"], - [74622, 0, "t"], - [74623, 0, "h"], - [74624, 0, "s"], - [74625, 0, "f"], - [74626, 0, "{"], - [74627, 0, "p"], - [74628, 0, "r"], - [74629, 0, "e"], - [74630, 0, "s"], - [74631, 0, "}"], - [74632, 0, "("], - [74633, 0, "k"], - [74634, 0, ")"], - [74635, 0, "$"], - [74636, 0, "."], - [73890, 0, "\\"], - [73891, 0, "l"], - [73892, 0, "a"], - [73893, 0, "b"], - [73894, 0, "e"], - [73895, 0, "l"], - [73896, 0, "{"], - [73897, 0, "l"], - [73898, 0, "e"], - [73899, 0, "m"], - [73900, 0, ":"], - [73901, 0, "l"], - [73902, 0, "i"], - [73903, 0, "s"], - [73904, 0, "t"], - [73905, 0, "-"], - [73906, 0, "p"], - [73907, 0, "r"], - [73908, 0, "e"], - [73908, 1], - [73907, 1], - [73906, 1], - [73906, 0, "o"], - [73907, 0, "r"], - [73908, 0, "d"], - [73909, 0, "e"], - [73910, 0, "r"], - [73911, 0, "}"], - [73910, 1], - [73909, 1], - [73908, 1], - [73907, 1], - [73906, 1], - [73906, 0, "p"], - [73907, 0, "r"], - [73908, 0, "e"], - [73909, 0, "c"], - [73910, 0, "e"], - [73911, 0, "d"], - [73912, 0, "e"], - [73913, 0, "s"], - [74662, 0, "\n"], - [74663, 0, "\n"], - [74664, 0, "\\"], - [74665, 0, "b"], - [74666, 0, "e"], - [74667, 0, "g"], - [74668, 0, "i"], - [74669, 0, "n"], - [74670, 0, "{"], - [74671, 0, "e"], - [74671, 1], - [74671, 0, "l"], - [74672, 0, "e"], - [74673, 0, "m"], - [74674, 0, "m"], - [74675, 0, "a"], - [74676, 0, "}"], - [74677, 0, "\n"], - [74678, 0, "\\"], - [74679, 0, "e"], - [74680, 0, "n"], - [74681, 0, "d"], - [74682, 0, "{"], - [74683, 0, "l"], - [74684, 0, "e"], - [74685, 0, "m"], - [74686, 0, "m"], - [74687, 0, "a"], - [74688, 0, "}"], - [74677, 0, "\n"], - [74678, 0, "I"], - [74679, 0, "f"], - [74680, 0, " "], - [74681, 0, "o"], - [74682, 0, "n"], - [74683, 0, "e"], - [74684, 0, " "], - [74685, 0, "r"], - [74686, 0, "e"], - [74687, 0, "p"], - [74688, 0, "l"], - [74689, 0, "i"], - [74690, 0, "c"], - [74691, 0, "a"], - [74692, 0, " "], - [74693, 0, "i"], - [74694, 0, "n"], - [74695, 0, "s"], - [74696, 0, "e"], - [74697, 0, "r"], - [74698, 0, "t"], - [74699, 0, "s"], - [74700, 0, " "], - [74701, 0, "a"], - [74702, 0, " "], - [74703, 0, "l"], - [74704, 0, "i"], - [74705, 0, "s"], - [74706, 0, "t"], - [74707, 0, " "], - [74708, 0, "e"], - [74709, 0, "l"], - [74710, 0, "e"], - [74711, 0, "m"], - [74712, 0, "e"], - [74713, 0, "n"], - [74714, 0, "t"], - [74715, 0, " "], - [74716, 0, "$"], - [74717, 0, "k"], - [74718, 0, "{"], - [74718, 1], - [74718, 0, "_"], - [74719, 0, "\\"], - [74720, 0, "m"], - [74721, 0, "a"], - [74722, 0, "t"], - [74723, 0, "h"], - [74724, 0, "i"], - [74725, 0, "t"], - [74726, 0, "{"], - [74727, 0, "n"], - [74728, 0, "e"], - [74729, 0, "w"], - [74730, 0, "}"], - [74731, 0, "$"], - [74732, 0, " "], - [74733, 0, "b"], - [74734, 0, "e"], - [74735, 0, "t"], - [74736, 0, "w"], - [74737, 0, "e"], - [74738, 0, "e"], - [74739, 0, "n"], - [74740, 0, " "], - [74741, 0, "$"], - [74742, 0, "k"], - [74743, 0, "_"], - [74744, 0, "1"], - [74745, 0, "$"], - [74746, 0, " "], - [74747, 0, "A"], - [74748, 0, "N"], - [74749, 0, "D"], - [74750, 0, " "], - [74750, 1], - [74749, 1], - [74748, 1], - [74747, 1], - [74747, 0, "a"], - [74748, 0, "n"], - [74749, 0, "d"], - [74750, 0, " "], - [74751, 0, "$"], - [74752, 0, "k"], - [74753, 0, "_"], - [74754, 0, "2"], - [74755, 0, "$"], - [74756, 0, ","], - [74757, 0, " "], - [74758, 0, "i"], - [74759, 0, "."], - [74760, 0, "e"], - [74761, 0, "."], - [74762, 0, " "], - [74763, 0, "i"], - [74764, 0, "f"], - [74765, 0, " "], - [74766, 0, "$"], - [74767, 0, "\\"], - [74768, 0, "m"], - [74769, 0, "a"], - [74770, 0, "t"], - [74771, 0, "h"], - [74772, 0, "i"], - [74773, 0, "t"], - [74774, 0, "{"], - [74775, 0, "c"], - [74776, 0, "t"], - [74777, 0, "x"], - [74778, 0, "}"], - [74779, 0, "("], - [74780, 0, "n"], - [74781, 0, "e"], - [74781, 1], - [74780, 1], - [74780, 0, "\\"], - [74781, 0, "m"], - [74782, 0, "a"], - [74783, 0, "t"], - [74784, 0, "h"], - [74785, 0, "s"], - [74786, 0, "f"], - [74787, 0, "{"], - [74788, 0, "n"], - [74789, 0, "e"], - [74790, 0, "x"], - [74791, 0, "t"], - [74792, 0, "}"], - [74793, 0, "("], - [74794, 0, "k"], - [74795, 0, "_"], - [74796, 0, "1"], - [74797, 0, ")"], - [74798, 0, ")"], - [74799, 0, " "], - [74800, 0, "="], - [74801, 0, " "], - [74802, 0, "\\"], - [74803, 0, "m"], - [74804, 0, "a"], - [74805, 0, "t"], - [74806, 0, "h"], - [74807, 0, "i"], - [74808, 0, "t"], - [74809, 0, "{"], - [74810, 0, "c"], - [74811, 0, "t"], - [74812, 0, "x"], - [74813, 0, "}"], - [74814, 0, "("], - [74815, 0, "\\"], - [74816, 0, "m"], - [74817, 0, "a"], - [74817, 1], - [74816, 1], - [74815, 1], - [74814, 1], - [74813, 1], - [74812, 1], - [74811, 1], - [74810, 1], - [74809, 1], - [74808, 1], - [74807, 1], - [74806, 1], - [74805, 1], - [74804, 1], - [74803, 1], - [74802, 1], - [74802, 0, "k"], - [74803, 0, "_"], - [74804, 0, "\\"], - [74805, 0, "m"], - [74806, 0, "a"], - [74807, 0, "t"], - [74808, 0, "h"], - [74809, 0, "i"], - [74810, 0, "t"], - [74811, 0, "{"], - [74812, 0, "n"], - [74813, 0, "e"], - [74814, 0, "w"], - [74815, 0, "}"], - [74816, 0, "$"], - [74817, 0, " "], - [74818, 0, "a"], - [74819, 0, "n"], - [74820, 0, "d"], - [74821, 0, " "], - [74822, 0, "$"], - [74823, 0, "\\"], - [74824, 0, "m"], - [74825, 0, "a"], - [74826, 0, "t"], - [74827, 0, "h"], - [74828, 0, "i"], - [74829, 0, "t"], - [74830, 0, "{"], - [74831, 0, "c"], - [74832, 0, "t"], - [74833, 0, "x"], - [74834, 0, "}"], - [74835, 0, "("], - [74836, 0, "\\"], - [74837, 0, "m"], - [74838, 0, "a"], - [74839, 0, "t"], - [74840, 0, "h"], - [74841, 0, "s"], - [74842, 0, "f"], - [74843, 0, "{"], - [74844, 0, "n"], - [74845, 0, "e"], - [74846, 0, "x"], - [74847, 0, "t"], - [74848, 0, "}"], - [74849, 0, "("], - [74850, 0, "k"], - [74851, 0, "_"], - [74852, 0, "\\"], - [74853, 0, "m"], - [74854, 0, "a"], - [74855, 0, "t"], - [74856, 0, "h"], - [74857, 0, "i"], - [74858, 0, "t"], - [74859, 0, "{"], - [74860, 0, "n"], - [74861, 0, "e"], - [74862, 0, "w"], - [74863, 0, "}"], - [74864, 0, ")"], - [74865, 0, ")"], - [74866, 0, " "], - [74867, 0, "="], - [74868, 0, " "], - [74869, 0, "k"], - [74870, 0, "_"], - [74871, 0, "2"], - [74872, 0, "$"], - [74873, 0, " "], - [74874, 0, "o"], - [74875, 0, "n"], - [74876, 0, " "], - [74877, 0, "t"], - [74878, 0, "h"], - [74879, 0, "e"], - [74880, 0, " "], - [74881, 0, "s"], - [74882, 0, "o"], - [74883, 0, "u"], - [74884, 0, "r"], - [74885, 0, "c"], - [74886, 0, "e"], - [74887, 0, " "], - [74888, 0, "r"], - [74889, 0, "e"], - [74890, 0, "p"], - [74891, 0, "l"], - [74892, 0, "i"], - [74893, 0, "c"], - [74894, 0, "a"], - [74895, 0, " "], - [74896, 0, "a"], - [74897, 0, "f"], - [74898, 0, "t"], - [74899, 0, "e"], - [74900, 0, "r"], - [74901, 0, " "], - [74902, 0, "a"], - [74903, 0, "p"], - [74904, 0, "p"], - [74905, 0, "l"], - [74906, 0, "y"], - [74907, 0, "i"], - [74908, 0, "n"], - [74909, 0, "g"], - [74910, 0, " "], - [74911, 0, "\\"], - [74912, 0, "t"], - [74913, 0, "e"], - [74914, 0, "x"], - [74915, 0, "t"], - [74916, 0, "s"], - [74917, 0, "c"], - [74918, 0, "{"], - [74919, 0, "A"], - [74920, 0, "p"], - [74921, 0, "p"], - [74922, 0, "l"], - [74923, 0, "y"], - [74924, 0, "-"], - [74925, 0, "L"], - [74926, 0, "o"], - [74927, 0, "c"], - [74928, 0, "a"], - [74929, 0, "l"], - [74930, 0, "}"], - [74931, 0, ","], - [74932, 0, " "], - [74933, 0, "t"], - [74934, 0, "h"], - [74935, 0, "e"], - [74936, 0, "n"], - [74937, 0, " "], - [74938, 0, "$"], - [74939, 0, "k"], - [74940, 0, "_"], - [74941, 0, "1"], - [74942, 0, "$"], - [74943, 0, " "], - [74944, 0, "p"], - [74945, 0, "r"], - [74946, 0, "e"], - [74947, 0, "c"], - [74948, 0, "e"], - [74949, 0, "d"], - [74950, 0, "e"], - [74951, 0, "s"], - [74952, 0, " "], - [74953, 0, "$"], - [74954, 0, "k"], - [74955, 0, "_"], - [74956, 0, "\\"], - [74957, 0, "m"], - [74958, 0, "a"], - [74959, 0, "t"], - [74960, 0, "h"], - [74961, 0, "i"], - [74962, 0, "t"], - [74963, 0, "{"], - [74964, 0, "n"], - [74965, 0, "e"], - [74966, 0, "w"], - [74967, 0, "}"], - [74968, 0, "$"], - [74969, 0, " "], - [74970, 0, "a"], - [74971, 0, "n"], - [74972, 0, "d"], - [74973, 0, " "], - [74974, 0, "$"], - [74975, 0, "k"], - [74976, 0, "_"], - [74977, 0, "\\"], - [74978, 0, "m"], - [74979, 0, "a"], - [74980, 0, "t"], - [74981, 0, "h"], - [74982, 0, "i"], - [74983, 0, "t"], - [74984, 0, "{"], - [74985, 0, "n"], - [74986, 0, "e"], - [74987, 0, "w"], - [74988, 0, "}"], - [74989, 0, "$"], - [74990, 0, " "], - [74991, 0, "p"], - [74992, 0, "r"], - [74993, 0, "e"], - [74994, 0, "c"], - [74995, 0, "e"], - [74996, 0, "d"], - [74997, 0, "e"], - [74998, 0, "s"], - [74999, 0, " "], - [75000, 0, "$"], - [75001, 0, "k"], - [75002, 0, "_"], - [75003, 0, "2"], - [75004, 0, "$"], - [75005, 0, " "], - [75006, 0, "o"], - [75007, 0, "n"], - [75008, 0, " "], - [75009, 0, "e"], - [75010, 0, "v"], - [75011, 0, "e"], - [75012, 0, "r"], - [75013, 0, "y"], - [75014, 0, " "], - [75015, 0, "o"], - [75016, 0, "t"], - [75017, 0, "h"], - [75018, 0, "e"], - [75019, 0, "r"], - [75020, 0, " "], - [75021, 0, "r"], - [75022, 0, "e"], - [75023, 0, "p"], - [75024, 0, "l"], - [75025, 0, "i"], - [75026, 0, "c"], - [75027, 0, "a"], - [75028, 0, " "], - [75029, 0, "w"], - [75030, 0, "h"], - [75031, 0, "e"], - [75032, 0, "r"], - [75033, 0, "e"], - [75034, 0, " "], - [75035, 0, "t"], - [75036, 0, "h"], - [75037, 0, "a"], - [75038, 0, "t"], - [75039, 0, " "], - [75040, 0, "o"], - [75041, 0, "p"], - [75042, 0, "e"], - [75043, 0, "r"], - [75044, 0, "a"], - [75045, 0, "t"], - [75046, 0, "i"], - [75047, 0, "o"], - [75048, 0, "n"], - [75049, 0, " "], - [75050, 0, "i"], - [75051, 0, "s"], - [75052, 0, " "], - [75053, 0, "a"], - [75054, 0, "p"], - [75055, 0, "p"], - [75056, 0, "l"], - [75057, 0, "i"], - [75058, 0, "e"], - [75059, 0, "d"], - [75060, 0, "."], - [75073, 0, "\n"], - [75074, 0, "\\"], - [75075, 0, "b"], - [75076, 0, "e"], - [75077, 0, "g"], - [75078, 0, "i"], - [75079, 0, "n"], - [75080, 0, "{"], - [75081, 0, "p"], - [75082, 0, "r"], - [75083, 0, "o"], - [75084, 0, "o"], - [75085, 0, "f"], - [75086, 0, "}"], - [74091, 0, "\n"], - [75075, 0, "\n"], - [75089, 0, "\n"], - [75090, 0, "\\"], - [75091, 0, "e"], - [75092, 0, "n"], - [75093, 0, "d"], - [75094, 0, "P"], - [75095, 0, "p"], - [75095, 1], - [75094, 1], - [75094, 0, "{"], - [75095, 0, "}"], - [75095, 0, "p"], - [75096, 0, "r"], - [75097, 0, "o"], - [75098, 0, "o"], - [75099, 0, "f"], - [75089, 0, "\n"], - [75090, 0, "W"], - [75091, 0, "h"], - [75092, 0, "e"], - [75093, 0, "n"], - [75094, 0, " "], - [75095, 0, "t"], - [75096, 0, "h"], - [75097, 0, "e"], - [75098, 0, " "], - [75099, 0, "i"], - [75100, 0, "n"], - [75101, 0, "s"], - [75102, 0, "e"], - [75103, 0, "r"], - [75104, 0, "t"], - [75105, 0, "i"], - [75106, 0, "o"], - [75107, 0, "n"], - [75108, 0, " "], - [75109, 0, "o"], - [75110, 0, "p"], - [75111, 0, "e"], - [75112, 0, "r"], - [75113, 0, "a"], - [75114, 0, "t"], - [75115, 0, "i"], - [75116, 0, "o"], - [75117, 0, "n"], - [75118, 0, " "], - [75119, 0, "i"], - [75120, 0, "s"], - [75121, 0, " "], - [75122, 0, "g"], - [75123, 0, "e"], - [75124, 0, "n"], - [75125, 0, "e"], - [75126, 0, "r"], - [75127, 0, "a"], - [75128, 0, "t"], - [75129, 0, "e"], - [75130, 0, "d"], - [75131, 0, " "], - [75132, 0, "u"], - [75133, 0, "s"], - [75134, 0, "i"], - [75135, 0, "n"], - [75136, 0, "g"], - [75137, 0, " "], - [75138, 0, "t"], - [75139, 0, "h"], - [75140, 0, "e"], - [75141, 0, " "], - [75142, 0, "\\"], - [75143, 0, "t"], - [75144, 0, "e"], - [75145, 0, "x"], - [75146, 0, "t"], - [75147, 0, "s"], - [75148, 0, "c"], - [75149, 0, "{"], - [75150, 0, "M"], - [75151, 0, "a"], - [75152, 0, "k"], - [75153, 0, "e"], - [75154, 0, "-"], - [75155, 0, "O"], - [75156, 0, "p"], - [75157, 0, "}"], - [75158, 0, " "], - [75159, 0, "r"], - [75160, 0, "u"], - [75161, 0, "l"], - [75162, 0, "e"], - [75163, 0, ","], - [75164, 0, " "], - [75165, 0, "i"], - [75166, 0, "t"], - [75167, 0, "s"], - [75168, 0, " "], - [75169, 0, "o"], - [75170, 0, "p"], - [75171, 0, "e"], - [75172, 0, "r"], - [75173, 0, "a"], - [75174, 0, "t"], - [75175, 0, "i"], - [75176, 0, "o"], - [75177, 0, "n"], - [75178, 0, " "], - [75179, 0, "i"], - [75180, 0, "d"], - [75181, 0, "e"], - [75182, 0, "n"], - [75183, 0, "t"], - [75184, 0, "i"], - [75185, 0, "f"], - [75186, 0, "i"], - [75187, 0, "e"], - [75188, 0, "r"], - [75189, 0, " "], - [75190, 0, "c"], - [75191, 0, "o"], - [75192, 0, "n"], - [75193, 0, "t"], - [75194, 0, "a"], - [75195, 0, "i"], - [75196, 0, "n"], - [75197, 0, "s"], - [75198, 0, " "], - [75199, 0, "a"], - [75200, 0, " "], - [75200, 1], - [75199, 1], - [75198, 1], - [75197, 1], - [75196, 1], - [75195, 1], - [75194, 1], - [75193, 1], - [75192, 1], - [75191, 1], - [75190, 1], - [75190, 0, "i"], - [75191, 0, "s"], - [75192, 0, " "], - [75193, 0, "g"], - [75194, 0, "i"], - [75195, 0, "v"], - [75196, 0, "e"], - [75197, 0, "n"], - [75198, 0, " "], - [75199, 0, "a"], - [75200, 0, " "], - [75201, 0, "c"], - [75202, 0, "o"], - [75203, 0, "u"], - [75204, 0, "n"], - [75205, 0, "t"], - [75206, 0, "e"], - [75207, 0, "r"], - [75208, 0, " "], - [75209, 0, "v"], - [75210, 0, "a"], - [75211, 0, "l"], - [75212, 0, "u"], - [75213, 0, "e"], - [75214, 0, " "], - [75215, 0, "\\"], - [75215, 1], - [75215, 0, "$"], - [75216, 0, "\\"], - [75217, 0, "m"], - [75218, 0, "a"], - [75219, 0, "t"], - [75220, 0, "h"], - [75221, 0, "i"], - [75222, 0, "t"], - [75223, 0, "{"], - [75224, 0, "c"], - [75225, 0, "t"], - [75226, 0, "r"], - [75227, 0, "}"], - [75228, 0, "$"], - [75229, 0, " "], - [75230, 0, "t"], - [75231, 0, "h"], - [75232, 0, "a"], - [75233, 0, "t"], - [75234, 0, " "], - [75235, 0, "i"], - [75236, 0, "s"], - [75237, 0, " "], - [75238, 0, "g"], - [75239, 0, "r"], - [75240, 0, "e"], - [75241, 0, "a"], - [75242, 0, "t"], - [75243, 0, "e"], - [75244, 0, "r"], - [75245, 0, " "], - [75246, 0, "t"], - [75247, 0, "h"], - [75248, 0, "a"], - [75249, 0, "n"], - [75250, 0, " "], - [75251, 0, "t"], - [75252, 0, "h"], - [75253, 0, "e"], - [75254, 0, " "], - [75255, 0, "c"], - [75256, 0, "o"], - [75257, 0, "u"], - [75258, 0, "n"], - [75259, 0, "t"], - [75260, 0, "e"], - [75261, 0, "r"], - [75262, 0, " "], - [75263, 0, "o"], - [75264, 0, "f"], - [75265, 0, " "], - [75266, 0, "a"], - [75267, 0, "n"], - [75268, 0, "y"], - [75269, 0, " "], - [75270, 0, "e"], - [75271, 0, "x"], - [75272, 0, "i"], - [75273, 0, "s"], - [75274, 0, "t"], - [75275, 0, "i"], - [75276, 0, "n"], - [75277, 0, "g"], - [75278, 0, " "], - [75279, 0, "o"], - [75280, 0, "p"], - [75281, 0, "e"], - [75282, 0, "r"], - [75283, 0, "a"], - [75284, 0, "t"], - [75285, 0, "i"], - [75286, 0, "o"], - [75287, 0, "n"], - [75288, 0, " "], - [75289, 0, "I"], - [75290, 0, "D"], - [75291, 0, " "], - [75292, 0, "i"], - [75293, 0, "n"], - [75294, 0, " "], - [75295, 0, "$"], - [75296, 0, "\\"], - [75296, 1], - [75296, 0, "A"], - [75297, 0, "-"], - [75297, 1], - [75297, 0, "_"], - [75298, 0, "p"], - [75299, 0, "("], - [75300, 0, "\\"], - [75301, 0, "m"], - [75302, 0, "a"], - [75303, 0, "t"], - [75304, 0, "h"], - [75305, 0, "s"], - [75306, 0, "f"], - [75307, 0, "{"], - [75308, 0, "o"], - [75309, 0, "p"], - [75310, 0, "s"], - [75311, 0, "}"], - [75312, 0, ")"], - [75313, 0, "$"], - [75314, 0, "."], - [75315, 0, " "], - [75316, 0, "I"], - [75317, 0, "f"], - [75318, 0, " "], - [75319, 0, "$"], - [75320, 0, "k"], - [75321, 0, "_"], - [75322, 0, "2"], - [75323, 0, "$"], - [75324, 0, " "], - [75325, 0, "i"], - [75326, 0, "s"], - [75327, 0, " "], - [75328, 0, "a"], - [75329, 0, "n"], - [75330, 0, " "], - [75331, 0, "o"], - [75332, 0, "p"], - [75333, 0, "e"], - [75334, 0, "r"], - [75335, 0, "a"], - [75336, 0, "t"], - [75337, 0, "i"], - [75338, 0, "o"], - [75339, 0, "n"], - [75340, 0, " "], - [75341, 0, "i"], - [75342, 0, "d"], - [75343, 0, "e"], - [75344, 0, "n"], - [75345, 0, "t"], - [75346, 0, "i"], - [75347, 0, "f"], - [75348, 0, "i"], - [75349, 0, "e"], - [75350, 0, "r"], - [75074, 0, "\n"], - [75075, 0, "\n"], - [75076, 0, "T"], - [75076, 1], - [75075, 1], - [75074, 1], - [74663, 0, " "], - [74664, 0, "W"], - [74665, 0, "e"], - [74666, 0, " "], - [74667, 0, "n"], - [74668, 0, "o"], - [74669, 0, "w"], - [74670, 0, " "], - [74671, 0, "c"], - [74672, 0, "o"], - [74673, 0, "n"], - [74674, 0, "s"], - [74675, 0, "i"], - [74676, 0, "d"], - [74677, 0, "e"], - [74678, 0, "r"], - [74679, 0, " "], - [74680, 0, "w"], - [74681, 0, "h"], - [74682, 0, "a"], - [74683, 0, "t"], - [74684, 0, " "], - [74685, 0, "h"], - [74686, 0, "a"], - [74687, 0, "p"], - [74688, 0, "p"], - [74689, 0, "e"], - [74690, 0, "n"], - [74691, 0, "s"], - [74692, 0, " "], - [74693, 0, "w"], - [74694, 0, "h"], - [74695, 0, "e"], - [74696, 0, "n"], - [74697, 0, " "], - [74698, 0, "s"], - [74699, 0, "e"], - [74700, 0, "v"], - [74701, 0, "e"], - [74702, 0, "r"], - [74703, 0, "a"], - [74704, 0, "l"], - [74705, 0, " "], - [74706, 0, "r"], - [74707, 0, "e"], - [74708, 0, "p"], - [74709, 0, "l"], - [74710, 0, "i"], - [74711, 0, "c"], - [74712, 0, "a"], - [74713, 0, "s"], - [74714, 0, " "], - [74715, 0, "c"], - [74716, 0, "o"], - [74717, 0, "n"], - [74718, 0, "c"], - [74719, 0, "u"], - [74720, 0, "r"], - [74721, 0, "r"], - [74722, 0, "e"], - [74723, 0, "n"], - [74724, 0, "t"], - [74725, 0, "l"], - [74726, 0, "y"], - [74727, 0, " "], - [74728, 0, "i"], - [74729, 0, "n"], - [74730, 0, "s"], - [74731, 0, "e"], - [74732, 0, "r"], - [74733, 0, "t"], - [74734, 0, " "], - [74735, 0, "n"], - [74736, 0, "e"], - [74737, 0, "w"], - [74738, 0, " "], - [74739, 0, "e"], - [74740, 0, "l"], - [74741, 0, "e"], - [74742, 0, "m"], - [74743, 0, "e"], - [74744, 0, "n"], - [74745, 0, "t"], - [74746, 0, "s"], - [74747, 0, " "], - [74748, 0, "i"], - [74749, 0, "n"], - [74750, 0, "t"], - [74751, 0, " "], - [74751, 1], - [74751, 0, "o"], - [74752, 0, " "], - [74753, 0, "t"], - [74754, 0, "h"], - [74755, 0, "e"], - [74756, 0, " "], - [74757, 0, "s"], - [74758, 0, "a"], - [74759, 0, "m"], - [74760, 0, "e"], - [74761, 0, " "], - [74762, 0, "l"], - [74763, 0, "i"], - [74764, 0, "s"], - [74765, 0, "t"], - [74766, 0, "."], - [75455, 0, ","], - [75456, 0, " "], - [75457, 0, "w"], - [75458, 0, "e"], - [75459, 0, " "], - [75460, 0, "m"], - [75461, 0, "u"], - [75462, 0, "s"], - [75463, 0, "t"], - [75464, 0, " "], - [75465, 0, "h"], - [75466, 0, "a"], - [75467, 0, "v"], - [75468, 0, "e"], - [75469, 0, " "], - [75470, 0, "$"], - [75471, 0, "k"], - [75472, 0, "_"], - [75473, 0, "2"], - [75474, 0, " "], - [75475, 0, "\\"], - [75476, 0, "o"], - [75477, 0, "n"], - [75477, 1], - [75476, 1], - [75476, 0, "i"], - [75477, 0, "n"], - [75478, 0, " "], - [75479, 0, "A"], - [75480, 0, "_"], - [75481, 0, "p"], - [75482, 0, "("], - [75483, 0, "\\"], - [75484, 0, "m"], - [75485, 0, "a"], - [75486, 0, "t"], - [75487, 0, "h"], - [75488, 0, "s"], - [75489, 0, "f"], - [75490, 0, "{"], - [75491, 0, "o"], - [75492, 0, "p"], - [75493, 0, "s"], - [75494, 0, "}"], - [75495, 0, ")"], - [75496, 0, "$"], - [75497, 0, ","], - [75498, 0, " "], - [75499, 0, "s"], - [75500, 0, "i"], - [75501, 0, "n"], - [75502, 0, "c"], - [75503, 0, "e"], - [75504, 0, " "], - [75505, 0, "b"], - [75506, 0, "o"], - [75507, 0, "t"], - [75508, 0, "h"], - [75509, 0, " "], - [75510, 0, "\\"], - [75511, 0, "t"], - [75512, 0, "e"], - [75513, 0, "x"], - [75514, 0, "t"], - [75515, 0, "s"], - [75516, 0, "c"], - [75517, 0, "{"], - [75518, 0, "A"], - [75519, 0, "p"], - [75520, 0, "p"], - [75521, 0, "l"], - [75522, 0, "y"], - [75523, 0, "_"], - [75523, 1], - [75523, 0, "-"], - [75524, 0, "L"], - [75525, 0, "o"], - [75526, 0, "c"], - [75527, 0, "a"], - [75528, 0, "l"], - [75529, 0, "}"], - [75530, 0, " "], - [75531, 0, "a"], - [75532, 0, "n"], - [75533, 0, "d"], - [75534, 0, " "], - [75535, 0, "\\"], - [75536, 0, "t"], - [75537, 0, "e"], - [75538, 0, "x"], - [75539, 0, "t"], - [75540, 0, "s"], - [75541, 0, "c"], - [75542, 0, "{"], - [75543, 0, "A"], - [75544, 0, "p"], - [75545, 0, "p"], - [75546, 0, "l"], - [75547, 0, "y"], - [75548, 0, "_"], - [75548, 1], - [75548, 0, "-"], - [75549, 0, "R"], - [75550, 0, "e"], - [75551, 0, "m"], - [75552, 0, "o"], - [75553, 0, "t"], - [75554, 0, "e"], - [75555, 0, "}"], - [75556, 0, " "], - [75557, 0, "a"], - [75558, 0, "d"], - [75559, 0, "d"], - [75560, 0, " "], - [75561, 0, "o"], - [75562, 0, "p"], - [75563, 0, "e"], - [75564, 0, "r"], - [75565, 0, "a"], - [75566, 0, "t"], - [75567, 0, "i"], - [75568, 0, "o"], - [75569, 0, "n"], - [75570, 0, " "], - [75571, 0, "I"], - [75572, 0, "D"], - [75573, 0, "s"], - [75574, 0, " "], - [75575, 0, "t"], - [75576, 0, "o"], - [75577, 0, " "], - [75578, 0, "$"], - [75579, 0, "A"], - [75580, 0, "-"], - [75580, 1], - [75580, 0, "_"], - [75581, 0, "p"], - [75582, 0, "("], - [75583, 0, "\\"], - [75584, 0, "m"], - [75585, 0, "a"], - [75586, 0, "t"], - [75587, 0, "h"], - [75588, 0, "s"], - [75589, 0, "f"], - [75590, 0, "{"], - [75591, 0, "o"], - [75592, 0, "p"], - [75593, 0, "s"], - [75594, 0, "}"], - [75595, 0, ")"], - [75596, 0, "$"], - [75597, 0, " "], - [75598, 0, "w"], - [75599, 0, "h"], - [75600, 0, "e"], - [75601, 0, "n"], - [75602, 0, " "], - [75603, 0, "a"], - [75604, 0, "p"], - [75605, 0, "p"], - [75606, 0, "l"], - [75607, 0, "y"], - [75608, 0, "i"], - [75609, 0, "n"], - [75610, 0, "g"], - [75611, 0, " "], - [75612, 0, "a"], - [75613, 0, "n"], - [75614, 0, " "], - [75615, 0, "i"], - [75616, 0, "n"], - [75617, 0, "s"], - [75618, 0, "e"], - [75619, 0, "r"], - [75620, 0, "t"], - [75621, 0, "i"], - [75622, 0, "o"], - [75623, 0, "n"], - [75624, 0, " "], - [75624, 1], - [75624, 0, "."], - [75625, 0, " "], - [75626, 0, "T"], - [75627, 0, "h"], - [75628, 0, "u"], - [75629, 0, "s"], - [75630, 0, ","], - [75630, 1], - [75629, 1], - [75628, 1], - [75627, 1], - [75626, 1], - [75626, 0, "T"], - [75627, 0, "h"], - [75628, 0, "e"], - [75629, 0, " "], - [75630, 0, "o"], - [75631, 0, "n"], - [75632, 0, "l"], - [75633, 0, "y"], - [75634, 0, " "], - [75635, 0, "o"], - [75636, 0, "t"], - [75637, 0, "h"], - [75638, 0, "e"], - [75639, 0, "r"], - [75640, 0, " "], - [75641, 0, "p"], - [75642, 0, "o"], - [75642, 1], - [75641, 1], - [75640, 1], - [75639, 1], - [75638, 1], - [75637, 1], - [75636, 1], - [75635, 1], - [75634, 1], - [75633, 1], - [75632, 1], - [75631, 1], - [75630, 1], - [75629, 1], - [75628, 1], - [75627, 1], - [75626, 1], - [75625, 1], - [75625, 0, " "], - [75626, 0, "I"], - [75627, 0, "f"], - [75628, 0, " "], - [75629, 0, "$"], - [75630, 0, "k"], - [75631, 0, "_"], - [75632, 0, "2"], - [75633, 0, "$"], - [75634, 0, " "], - [75635, 0, "i"], - [75636, 0, "s"], - [75637, 0, " "], - [75638, 0, "n"], - [75639, 0, "o"], - [75640, 0, "t"], - [75641, 0, " "], - [75642, 0, "a"], - [75643, 0, "n"], - [75644, 0, " "], - [75645, 0, "o"], - [75646, 0, "p"], - [75647, 0, "e"], - [75648, 0, "r"], - [75649, 0, "a"], - [75650, 0, "t"], - [75651, 0, "i"], - [75652, 0, "o"], - [75653, 0, "n"], - [75654, 0, " "], - [75655, 0, "i"], - [75656, 0, "d"], - [75657, 0, "e"], - [75658, 0, "n"], - [75659, 0, "t"], - [75660, 0, "i"], - [75661, 0, "f"], - [75662, 0, "i"], - [75663, 0, "e"], - [75664, 0, "r"], - [75665, 0, ","], - [75666, 0, " "], - [75667, 0, "i"], - [75668, 0, "t"], - [75669, 0, " "], - [75670, 0, "m"], - [75671, 0, "u"], - [75672, 0, "s"], - [75673, 0, "t"], - [75674, 0, " "], - [75675, 0, "b"], - [75676, 0, "e"], - [75677, 0, " "], - [75678, 0, "\\"], - [75679, 0, "t"], - [75680, 0, "e"], - [75681, 0, "x"], - [75682, 0, "t"], - [75683, 0, "s"], - [75684, 0, "f"], - [75685, 0, "{"], - [75686, 0, "t"], - [75687, 0, "a"], - [75688, 0, "i"], - [75689, 0, "l"], - [75690, 0, "}"], - [75691, 0, "."], - [75692, 0, " "], - [75193, 0, "\n"], - [75194, 0, "T"], - [75195, 0, "h"], - [75196, 0, "e"], - [75197, 0, " "], - [75198, 0, "r"], - [75199, 0, "u"], - [75200, 0, "l"], - [75201, 0, "e"], - [75202, 0, "s"], - [75203, 0, " "], - [75204, 0, "f"], - [75205, 0, "o"], - [75206, 0, "r"], - [75207, 0, " "], - [75208, 0, "g"], - [75209, 0, "e"], - [75210, 0, "n"], - [75211, 0, "e"], - [75212, 0, "r"], - [75213, 0, "a"], - [75214, 0, "t"], - [75215, 0, "i"], - [75216, 0, "n"], - [75217, 0, "g"], - [75218, 0, " "], - [75219, 0, "l"], - [75220, 0, "i"], - [75221, 0, "s"], - [75222, 0, "t"], - [75223, 0, " "], - [75224, 0, "o"], - [75225, 0, "p"], - [75226, 0, "e"], - [75227, 0, "r"], - [75228, 0, "a"], - [75229, 0, "t"], - [75230, 0, "i"], - [75231, 0, "o"], - [75232, 0, "n"], - [75233, 0, "s"], - [75234, 0, " "], - [75235, 0, "e"], - [75236, 0, "n"], - [75237, 0, "s"], - [75238, 0, "u"], - [75239, 0, "r"], - [75240, 0, "e"], - [75241, 0, " "], - [75242, 0, "t"], - [75243, 0, "h"], - [75244, 0, "a"], - [75245, 0, "t"], - [75246, 0, " "], - [75247, 0, "$"], - [75248, 0, "k"], - [75249, 0, "_"], - [75250, 0, "1"], - [75251, 0, "$"], - [75252, 0, " "], - [75253, 0, "i"], - [75254, 0, "s"], - [75255, 0, " "], - [75256, 0, "e"], - [75257, 0, "i"], - [75258, 0, "t"], - [75259, 0, "h"], - [75260, 0, "e"], - [75261, 0, "r"], - [75262, 0, " "], - [75263, 0, "\\"], - [75264, 0, "t"], - [75265, 0, "e"], - [75266, 0, "x"], - [75267, 0, "t"], - [75268, 0, "s"], - [75269, 0, "f"], - [75270, 0, "{"], - [75271, 0, "h"], - [75272, 0, "e"], - [75273, 0, "a"], - [75274, 0, "d"], - [75275, 0, "}"], - [75276, 0, " "], - [75277, 0, "o"], - [75278, 0, "r"], - [75279, 0, " "], - [75280, 0, "a"], - [75281, 0, "n"], - [75282, 0, " "], - [75283, 0, "o"], - [75284, 0, "p"], - [75285, 0, "e"], - [75286, 0, "r"], - [75287, 0, "a"], - [75288, 0, "t"], - [75289, 0, "i"], - [75290, 0, "o"], - [75291, 0, "n"], - [75292, 0, " "], - [75293, 0, "i"], - [75294, 0, "d"], - [75295, 0, "e"], - [75296, 0, "n"], - [75297, 0, "t"], - [75298, 0, "i"], - [75299, 0, "f"], - [75300, 0, "i"], - [75301, 0, "e"], - [75302, 0, "r"], - [75303, 0, ","], - [75304, 0, " "], - [75305, 0, "a"], - [75306, 0, "n"], - [75307, 0, "d"], - [75308, 0, " "], - [75309, 0, "$"], - [75310, 0, "k"], - [75311, 0, "_"], - [75312, 0, "2"], - [75313, 0, "$"], - [75314, 0, " "], - [75315, 0, "i"], - [75316, 0, "s"], - [75317, 0, " "], - [75318, 0, "e"], - [75319, 0, "i"], - [75320, 0, "t"], - [75321, 0, "h"], - [75322, 0, "e"], - [75323, 0, "r"], - [75324, 0, " "], - [75325, 0, "\\"], - [75326, 0, "t"], - [75327, 0, "e"], - [75328, 0, "x"], - [75329, 0, "t"], - [75330, 0, "s"], - [75331, 0, "c"], - [75331, 1], - [75331, 0, "f"], - [75332, 0, "{"], - [75333, 0, "t"], - [75334, 0, "a"], - [75335, 0, "i"], - [75336, 0, "l"], - [75337, 0, "}"], - [75338, 0, " "], - [75339, 0, "o"], - [75340, 0, "r"], - [75341, 0, " "], - [75342, 0, "a"], - [75343, 0, "n"], - [75344, 0, " "], - [75345, 0, "o"], - [75346, 0, "p"], - [75347, 0, "e"], - [75348, 0, "r"], - [75349, 0, "a"], - [75350, 0, "t"], - [75351, 0, "i"], - [75352, 0, "o"], - [75353, 0, "n"], - [75354, 0, " "], - [75355, 0, "i"], - [75356, 0, "d"], - [75357, 0, "e"], - [75358, 0, "n"], - [75359, 0, "t"], - [75360, 0, "i"], - [75361, 0, "f"], - [75362, 0, "i"], - [75363, 0, "e"], - [75364, 0, "r"], - [75365, 0, "."], - [75366, 1], - [75366, 0, "\n"], - [75367, 0, "\n"], - [75866, 1], - [75865, 1], - [75864, 1], - [75863, 1], - [75862, 1], - [75861, 1], - [75860, 1], - [75859, 1], - [75858, 1], - [75857, 1], - [75856, 1], - [75855, 1], - [75854, 1], - [75853, 1], - [75852, 1], - [75851, 1], - [75850, 1], - [75849, 1], - [75848, 1], - [75847, 1], - [75846, 1], - [75845, 1], - [75844, 1], - [75843, 1], - [75842, 1], - [75841, 1], - [75840, 1], - [75839, 1], - [75838, 1], - [75837, 1], - [75836, 1], - [75835, 1], - [75834, 1], - [75833, 1], - [75832, 1], - [75831, 1], - [75830, 1], - [75829, 1], - [75828, 1], - [75827, 1], - [75826, 1], - [75825, 1], - [75824, 1], - [75823, 1], - [75822, 1], - [75821, 1], - [75820, 1], - [75819, 1], - [75818, 1], - [75817, 1], - [75816, 1], - [75815, 1], - [75814, 1], - [75813, 1], - [75812, 1], - [75811, 1], - [75810, 1], - [75809, 1], - [75808, 1], - [75807, 1], - [75806, 1], - [75805, 1], - [75804, 1], - [75803, 1], - [75802, 1], - [75801, 1], - [75800, 1], - [75800, 0, "T"], - [75801, 0, "h"], - [75802, 0, "u"], - [75803, 0, "s"], - [75804, 0, " "], - [75804, 1], - [75804, 0, ","], - [75805, 0, " "], - [75806, 0, "e"], - [75807, 0, "i"], - [75808, 0, "t"], - [75809, 0, "h"], - [75810, 0, "e"], - [75811, 0, "r"], - [75812, 0, " "], - [75813, 0, "$"], - [75814, 0, "k"], - [75815, 0, "_"], - [75816, 0, "2"], - [75817, 0, " "], - [75818, 0, "<"], - [75819, 0, " "], - [75820, 0, "k"], - [75821, 0, "_"], - [75822, 0, "\\"], - [75823, 0, "m"], - [75824, 0, "a"], - [75825, 0, "t"], - [75826, 0, "h"], - [75827, 0, "i"], - [75828, 0, "t"], - [75829, 0, "{"], - [75830, 0, "n"], - [75831, 0, "e"], - [75832, 0, "w"], - [75833, 0, "}"], - [75834, 0, "$"], - [75835, 0, " "], - [75836, 0, "u"], - [75837, 0, "n"], - [75838, 0, "d"], - [75839, 0, "e"], - [75840, 0, "r"], - [75841, 0, " "], - [75842, 0, "t"], - [75843, 0, "h"], - [75844, 0, "e"], - [75845, 0, " "], - [75846, 0, "o"], - [75847, 0, "r"], - [75848, 0, "d"], - [75849, 0, "e"], - [75850, 0, "r"], - [75851, 0, "i"], - [75852, 0, "n"], - [75853, 0, "g"], - [75854, 0, " "], - [75855, 0, "r"], - [75856, 0, "e"], - [75857, 0, "l"], - [75858, 0, "a"], - [75859, 0, "t"], - [75860, 0, "i"], - [75861, 0, "o"], - [75862, 0, "n"], - [75863, 0, " "], - [75864, 0, "$"], - [75865, 0, "<"], - [75866, 0, "$"], - [75867, 0, " "], - [75868, 0, "f"], - [75869, 0, "o"], - [75870, 0, "r"], - [75871, 0, " "], - [75872, 0, "L"], - [75873, 0, "a"], - [75874, 0, "m"], - [75875, 0, "p"], - [75876, 0, "o"], - [75877, 0, "r"], - [75878, 0, "t"], - [75879, 0, " "], - [75880, 0, "t"], - [75881, 0, "i"], - [75882, 0, "m"], - [75883, 0, "e"], - [75884, 0, "s"], - [75885, 0, "t"], - [75886, 0, "a"], - [75887, 0, "m"], - [75888, 0, "p"], - [75889, 0, "s"], - [75890, 0, ","], - [75891, 0, " "], - [75892, 0, "o"], - [75893, 0, "r"], - [75894, 0, " "], - [75895, 0, "$"], - [75896, 0, "k"], - [75897, 0, "_"], - [75898, 0, "2"], - [75899, 0, " "], - [75900, 0, "="], - [75901, 0, " "], - [75902, 0, "\\"], - [75903, 0, "m"], - [75904, 0, "a"], - [75905, 0, "t"], - [75906, 0, "h"], - [75907, 0, "s"], - [75908, 0, "f"], - [75909, 0, "{"], - [75910, 0, "t"], - [75911, 0, "a"], - [75912, 0, "i"], - [75913, 0, "l"], - [75914, 0, "}"], - [75915, 0, "$"], - [75916, 0, "."], - [75917, 0, "\n"], - [75918, 0, "\n"], - [75919, 0, "W"], - [75920, 0, "h"], - [75921, 0, "e"], - [75922, 0, "n"], - [75923, 0, " "], - [75924, 0, "t"], - [75925, 0, "h"], - [75926, 0, "e"], - [75927, 0, " "], - [75928, 0, "i"], - [75929, 0, "n"], - [75930, 0, "s"], - [75931, 0, "e"], - [75932, 0, "r"], - [75933, 0, "t"], - [75934, 0, "i"], - [75935, 0, "o"], - [75936, 0, "n"], - [75937, 0, " "], - [75938, 0, "o"], - [75939, 0, "p"], - [75940, 0, "e"], - [75941, 0, "r"], - [75942, 0, "a"], - [75943, 0, "t"], - [75944, 0, "i"], - [75945, 0, "o"], - [75946, 0, "n"], - [75947, 0, " "], - [75948, 0, "i"], - [75949, 0, "s"], - [75950, 0, " "], - [75951, 0, "a"], - [75952, 0, "p"], - [75953, 0, "p"], - [75954, 0, "l"], - [75955, 0, "i"], - [75956, 0, "e"], - [75957, 0, "d"], - [75958, 0, " "], - [75959, 0, "o"], - [75960, 0, "n"], - [75961, 0, " "], - [75962, 0, "o"], - [75963, 0, "t"], - [75964, 0, "h"], - [75965, 0, "e"], - [75966, 0, "r"], - [75967, 0, " "], - [75968, 0, "r"], - [75969, 0, "e"], - [75970, 0, "p"], - [75971, 0, "l"], - [75972, 0, "i"], - [75973, 0, "c"], - [75974, 0, "a"], - [75975, 0, "s"], - [75976, 0, "e"], - [75976, 1], - [75976, 0, " "], - [75977, 0, "u"], - [75978, 0, "s"], - [75979, 0, "i"], - [75980, 0, "n"], - [75981, 0, "g"], - [75982, 0, " "], - [75983, 0, "\\"], - [75984, 0, "t"], - [75985, 0, "e"], - [75986, 0, "x"], - [75987, 0, "t"], - [75988, 0, "s"], - [75989, 0, "c"], - [75990, 0, "{"], - [75991, 0, "A"], - [75992, 0, "p"], - [75993, 0, "p"], - [75994, 0, "l"], - [75995, 0, "y"], - [75996, 0, "-"], - [75997, 0, "R"], - [75998, 0, "e"], - [75999, 0, "m"], - [76000, 0, "o"], - [76001, 0, "t"], - [76002, 0, "e"], - [76003, 0, "}"], - [76004, 0, " "], - [76005, 0, "a"], - [76006, 0, "n"], - [76007, 0, "d"], - [76008, 0, " "], - [76009, 0, "$"], - [76010, 0, "\\"], - [76011, 0, "t"], - [76012, 0, "e"], - [76013, 0, "x"], - [76014, 0, "t"], - [76015, 0, "s"], - [76016, 0, "c"], - [76017, 0, "{"], - [76018, 0, "I"], - [76019, 0, "n"], - [76020, 0, "s"], - [76021, 0, "e"], - [76022, 0, "r"], - [76023, 0, "t"], - [76024, 0, "}"], - [76025, 0, "_"], - [76026, 0, "{"], - [76027, 0, "1"], - [76028, 0, ","], - [76029, 0, "2"], - [76030, 0, "}"], - [76031, 0, "$"], - [76032, 0, ","], - [76033, 0, " "], - [76034, 0, "b"], - [76035, 0, "y"], - [76036, 0, " "], - [76037, 0, "L"], - [76037, 1], - [76036, 1], - [76035, 1], - [76034, 1], - [76034, 0, "$"], - [76035, 0, "k"], - [76036, 0, "_"], - [76037, 0, "1"], - [76038, 0, "$"], - [76039, 0, " "], - [76040, 0, "p"], - [76041, 0, "r"], - [76042, 0, "e"], - [76043, 0, "c"], - [76044, 0, "e"], - [76045, 0, "d"], - [76046, 0, "e"], - [76047, 0, "s"], - [76048, 0, " "], - [76049, 0, "$"], - [76050, 0, "k"], - [76051, 0, "_"], - [76052, 0, "2"], - [76053, 0, "$"], - [76054, 0, " "], - [76055, 0, "o"], - [76056, 0, "n"], - [76057, 0, " "], - [76058, 0, "t"], - [76059, 0, "h"], - [76060, 0, "a"], - [76061, 0, "t"], - [76062, 0, " "], - [75962, 0, "a"], - [75963, 0, "n"], - [75977, 1], - [76064, 0, "r"], - [76065, 0, "e"], - [76066, 0, "p"], - [76067, 0, "l"], - [76068, 0, "i"], - [76069, 0, "c"], - [76070, 0, "a"], - [76071, 0, " "], - [76072, 0, "("], - [76073, 0, "b"], - [76074, 0, "y"], - [76075, 0, " "], - [76076, 0, "L"], - [76077, 0, "e"], - [76078, 0, "m"], - [76079, 0, "m"], - [76080, 0, "a"], - [76081, 0, "~"], - [76082, 0, "\\"], - [76083, 0, "r"], - [76084, 0, "e"], - [76085, 0, "f"], - [76086, 0, "{"], - [76087, 0, "l"], - [76088, 0, "e"], - [76089, 0, "m"], - [76090, 0, ":"], - [76091, 0, "l"], - [76092, 0, "i"], - [76093, 0, "s"], - [76094, 0, "t"], - [76095, 0, "-"], - [76096, 0, "p"], - [76097, 0, "r"], - [76098, 0, "e"], - [76099, 0, "c"], - [76100, 0, "e"], - [76101, 0, "d"], - [76102, 0, "e"], - [76103, 0, "s"], - [76104, 0, "}"], - [76105, 0, " "], - [76106, 0, "a"], - [76107, 0, "n"], - [76108, 0, "d"], - [76109, 0, " "], - [76110, 0, "c"], - [76111, 0, "a"], - [76112, 0, "u"], - [76113, 0, "s"], - [76114, 0, "a"], - [76115, 0, "l"], - [76116, 0, "i"], - [76117, 0, "t"], - [76118, 0, "y"], - [76119, 0, ")"], - [76120, 0, "."], - [74782, 0, "\\"], - [74783, 0, "l"], - [74784, 0, "a"], - [74785, 0, "b"], - [74786, 0, "e"], - [74787, 0, "l"], - [74788, 0, "{"], - [74789, 0, "l"], - [74790, 0, "e"], - [74791, 0, "m"], - [74792, 0, ":"], - [74793, 0, "i"], - [74794, 0, "n"], - [74795, 0, "s"], - [74796, 0, "e"], - [74797, 0, "r"], - [74798, 0, "t"], - [74799, 0, "-"], - [74800, 0, "b"], - [74801, 0, "e"], - [74802, 0, "t"], - [74803, 0, "w"], - [74804, 0, "e"], - [74805, 0, "e"], - [74806, 0, "n"], - [74807, 0, "}"], - [76147, 0, " "], - [76148, 0, "$"], - [76148, 1], - [76148, 0, "\n"], - [76148, 1], - [76148, 0, "T"], - [76149, 0, "h"], - [76150, 0, "e"], - [76151, 0, " "], - [76152, 0, "c"], - [76153, 0, "u"], - [76154, 0, "r"], - [76155, 0, "s"], - [76156, 0, "o"], - [76157, 0, "r"], - [76158, 0, " "], - [76159, 0, "o"], - [76160, 0, "f"], - [76161, 0, " "], - [76162, 0, "t"], - [76163, 0, "h"], - [76164, 0, "e"], - [76165, 0, " "], - [76166, 0, "o"], - [76167, 0, "p"], - [76168, 0, "e"], - [76169, 0, "r"], - [76170, 0, "a"], - [76171, 0, "t"], - [76172, 0, "i"], - [76173, 0, "o"], - [76174, 0, "n"], - [76175, 0, " "], - [76176, 0, "i"], - [76177, 0, "s"], - [76178, 0, " "], - [76179, 0, "$"], - [76180, 0, "\\"], - [76181, 0, "m"], - [76182, 0, "a"], - [76183, 0, "t"], - [76184, 0, "h"], - [76185, 0, "s"], - [76186, 0, "f"], - [76187, 0, "{"], - [76188, 0, "c"], - [76189, 0, "u"], - [76190, 0, "r"], - [76191, 0, "s"], - [76192, 0, "o"], - [76193, 0, "r"], - [76194, 0, "}"], - [76195, 0, "("], - [76196, 0, "\\"], - [76197, 0, "l"], - [76198, 0, "a"], - [76199, 0, "n"], - [76200, 0, "g"], - [76201, 0, "l"], - [76202, 0, "e"], - [76203, 0, "\\"], - [76204, 0, "d"], - [76205, 0, "o"], - [76206, 0, "t"], - [76207, 0, "s"], - [76208, 0, "\\"], - [76209, 0, "r"], - [76210, 0, "a"], - [76211, 0, "n"], - [76212, 0, "g"], - [76213, 0, "l"], - [76214, 0, "e"], - [76215, 0, ","], - [76216, 0, " "], - [76217, 0, "k"], - [76218, 0, "_"], - [76219, 0, "1"], - [76220, 0, ")"], - [76221, 0, "$"], - [76222, 0, "."], - [76223, 0, " "], - [76224, 0, "I"], - [76225, 0, "f"], - [76226, 0, " "], - [76227, 0, "o"], - [76228, 0, "t"], - [76229, 0, "h"], - [76230, 0, "e"], - [76231, 0, "r"], - [76232, 0, " "], - [76233, 0, "c"], - [76234, 0, "o"], - [76235, 0, "n"], - [76236, 0, "c"], - [76237, 0, "u"], - [76238, 0, "r"], - [76239, 0, "r"], - [76240, 0, "e"], - [76241, 0, "n"], - [76242, 0, "t"], - [76243, 0, " "], - [76244, 0, "i"], - [76245, 0, "n"], - [76246, 0, "s"], - [76247, 0, "e"], - [76248, 0, "r"], - [76249, 0, "t"], - [76250, 0, "i"], - [76251, 0, "o"], - [76252, 0, "n"], - [76253, 0, "s"], - [76254, 0, " "], - [76255, 0, "o"], - [76256, 0, "c"], - [76257, 0, "c"], - [76258, 0, "u"], - [76259, 0, "r"], - [76260, 0, "r"], - [76261, 0, "e"], - [76262, 0, "d"], - [76263, 0, " "], - [76264, 0, "b"], - [76265, 0, "e"], - [76266, 0, "t"], - [76267, 0, "w"], - [76268, 0, "e"], - [76269, 0, "e"], - [76270, 0, "n"], - [76271, 0, " "], - [76272, 0, "$"], - [76273, 0, "k"], - [76274, 0, "_"], - [76275, 0, "1"], - [76276, 0, "$"], - [76277, 0, " "], - [76278, 0, "a"], - [76279, 0, "n"], - [76280, 0, "d"], - [76281, 0, " "], - [76282, 0, "$"], - [76283, 0, "k"], - [76284, 0, "_"], - [76285, 0, "2"], - [76286, 0, "$"], - [76287, 0, ","], - [76288, 0, " "], - [76289, 0, "t"], - [76290, 0, "h"], - [76291, 0, "e"], - [76292, 0, "i"], - [76293, 0, "r"], - [76294, 0, " "], - [76295, 0, "o"], - [76296, 0, "p"], - [76297, 0, "e"], - [76298, 0, "r"], - [76299, 0, "a"], - [76300, 0, "t"], - [76301, 0, "i"], - [76302, 0, "o"], - [76303, 0, "n"], - [76304, 0, " "], - [76305, 0, "I"], - [76306, 0, "D"], - [76307, 0, " "], - [76308, 0, "m"], - [76309, 0, "a"], - [76310, 0, "y"], - [76311, 0, " "], - [76312, 0, "b"], - [76313, 0, "e"], - [76314, 0, " "], - [76315, 0, "g"], - [76316, 0, "r"], - [76317, 0, "e"], - [76318, 0, "a"], - [76319, 0, "t"], - [76320, 0, "e"], - [76321, 0, "r"], - [76322, 0, " "], - [76323, 0, "t"], - [76324, 0, "h"], - [76325, 0, "a"], - [76326, 0, "n"], - [76327, 0, " "], - [76328, 0, "o"], - [76329, 0, "r"], - [76330, 0, " "], - [76331, 0, "l"], - [76332, 0, "e"], - [76333, 0, "s"], - [76334, 0, "s"], - [76335, 0, " "], - [76336, 0, "t"], - [76337, 0, "h"], - [76338, 0, "a"], - [76339, 0, "n"], - [76340, 0, " "], - [76341, 0, "$"], - [76342, 0, "k"], - [76343, 0, "_"], - [76344, 0, "\\"], - [76345, 0, "m"], - [76346, 0, "a"], - [76347, 0, "t"], - [76348, 0, "h"], - [76349, 0, "i"], - [76350, 0, "t"], - [76351, 0, "{"], - [76352, 0, "n"], - [76353, 0, "e"], - [76354, 0, "w"], - [76355, 0, "}"], - [76356, 0, "$"], - [76357, 0, ","], - [76358, 0, " "], - [76359, 0, "a"], - [76360, 0, "n"], - [76361, 0, "d"], - [76362, 0, " "], - [76363, 0, "t"], - [76364, 0, "h"], - [76365, 0, "u"], - [76366, 0, "s"], - [76367, 0, " "], - [76368, 0, "e"], - [76369, 0, "i"], - [76370, 0, "t"], - [76371, 0, "h"], - [76372, 0, "e"], - [76373, 0, "r"], - [76374, 0, " "], - [76375, 0, "$"], - [76376, 0, "\\"], - [76377, 0, "m"], - [76378, 0, "a"], - [76379, 0, "t"], - [76380, 0, "h"], - [76380, 1], - [76379, 1], - [76378, 1], - [76377, 1], - [76377, 0, "t"], - [76378, 0, "e"], - [76379, 0, "x"], - [76380, 0, "t"], - [76381, 0, "s"], - [76382, 0, "c"], - [76383, 0, "{"], - [76384, 0, "I"], - [76385, 0, "n"], - [76386, 0, "s"], - [76387, 0, "e"], - [76388, 0, "r"], - [76389, 0, "t"], - [76390, 0, "}"], - [76391, 0, "_"], - [76392, 0, "1"], - [76393, 0, "$"], - [76394, 0, " "], - [76395, 0, "o"], - [76396, 0, "r"], - [76397, 0, " "], - [76398, 0, "\\"], - [76398, 1], - [76398, 0, "$"], - [76399, 0, "\\"], - [76400, 0, "t"], - [76401, 0, "e"], - [76402, 0, "x"], - [76403, 0, "t"], - [76404, 0, "s"], - [76405, 0, "c"], - [76406, 0, "{"], - [76407, 0, "I"], - [76408, 0, "n"], - [76409, 0, "s"], - [76410, 0, "e"], - [76411, 0, "r"], - [76412, 0, "t"], - [76413, 0, "}"], - [76414, 0, "_"], - [76415, 0, "2"], - [76416, 0, "$"], - [76417, 0, " "], - [76418, 0, "m"], - [76419, 0, "a"], - [76420, 0, "y"], - [76421, 0, " "], - [76422, 0, "a"], - [76423, 0, "p"], - [76424, 0, "p"], - [76425, 0, "l"], - [76426, 0, "y"], - [76427, 0, "."], - [76428, 0, " "], - [76429, 0, "I"], - [76430, 0, "n"], - [76431, 0, " "], - [76432, 0, "p"], - [76433, 0, "a"], - [76434, 0, "r"], - [76435, 0, "t"], - [76436, 0, "i"], - [76437, 0, "c"], - [76438, 0, "u"], - [76439, 0, "l"], - [76440, 0, "a"], - [76441, 0, "r"], - [76442, 0, ","], - [76443, 0, " "], - [76444, 0, "$"], - [76445, 0, "\\"], - [76446, 0, "t"], - [76447, 0, "e"], - [76448, 0, "x"], - [76449, 0, "t"], - [76450, 0, "s"], - [76451, 0, "c"], - [76452, 0, "{"], - [76453, 0, "I"], - [76454, 0, "n"], - [76455, 0, "s"], - [76456, 0, "e"], - [76457, 0, "r"], - [76458, 0, "t"], - [76459, 0, "}"], - [76460, 0, "_"], - [76461, 0, "2"], - [76462, 0, "$"], - [76463, 0, " "], - [76464, 0, "s"], - [76465, 0, "k"], - [76466, 0, "i"], - [76467, 0, "p"], - [76468, 0, "s"], - [76469, 0, " "], - [76470, 0, "o"], - [76471, 0, "v"], - [76472, 0, "e"], - [76473, 0, "r"], - [76474, 0, " "], - [76475, 0, "a"], - [76476, 0, "n"], - [76477, 0, "y"], - [76478, 0, " "], - [76479, 0, "l"], - [76480, 0, "i"], - [76481, 0, "s"], - [76482, 0, "t"], - [76483, 0, " "], - [76484, 0, "e"], - [76485, 0, "l"], - [76486, 0, "e"], - [76487, 0, "m"], - [76488, 0, "e"], - [76489, 0, "n"], - [76490, 0, "t"], - [76491, 0, "s"], - [76492, 0, " "], - [76493, 0, "w"], - [76494, 0, "h"], - [76495, 0, "o"], - [76496, 0, "s"], - [76497, 0, "e"], - [76498, 0, " "], - [76499, 0, "L"], - [76500, 0, "a"], - [76501, 0, "m"], - [76502, 0, "p"], - [76503, 0, "o"], - [76504, 0, "r"], - [76505, 0, "t"], - [76506, 0, " "], - [76507, 0, "t"], - [76508, 0, "i"], - [76509, 0, "m"], - [76510, 0, "e"], - [76511, 0, "s"], - [76512, 0, "t"], - [76513, 0, "a"], - [76514, 0, "m"], - [76515, 0, "p"], - [76516, 0, " "], - [76517, 0, "i"], - [76518, 0, "s"], - [76519, 0, " "], - [76520, 0, "g"], - [76521, 0, "r"], - [76522, 0, "e"], - [76523, 0, "a"], - [76524, 0, "t"], - [76525, 0, "e"], - [76526, 0, "r"], - [76527, 0, " "], - [76528, 0, "t"], - [76529, 0, "h"], - [76530, 0, "a"], - [76531, 0, "n"], - [76532, 0, " "], - [76533, 0, "$"], - [76534, 0, "k"], - [76535, 0, "_"], - [76536, 0, "\\"], - [76537, 0, "m"], - [76538, 0, "a"], - [76539, 0, "t"], - [76540, 0, "h"], - [76541, 0, "i"], - [76542, 0, "t"], - [76543, 0, "{"], - [76544, 0, "n"], - [76545, 0, "e"], - [76546, 0, "w"], - [76547, 0, "}"], - [76548, 0, "$"], - [76549, 0, "."], - [76222, 0, ","], - [76223, 0, " "], - [76224, 0, "s"], - [76225, 0, "o"], - [76226, 0, " "], - [76227, 0, "t"], - [76228, 0, "h"], - [76229, 0, "e"], - [76230, 0, " "], - [76231, 0, "r"], - [76232, 0, "u"], - [76233, 0, "l"], - [76234, 0, "e"], - [76235, 0, "s"], - [76236, 0, " "], - [76237, 0, "s"], - [76238, 0, "t"], - [76239, 0, "a"], - [76240, 0, "r"], - [76241, 0, "t"], - [76242, 0, " "], - [76243, 0, "i"], - [76244, 0, "t"], - [76245, 0, "e"], - [76246, 0, "r"], - [76247, 0, "a"], - [76248, 0, "t"], - [76249, 0, "i"], - [76250, 0, "n"], - [76251, 0, "g"], - [76252, 0, " "], - [76253, 0, "t"], - [76254, 0, "h"], - [76255, 0, "e"], - [76256, 0, " "], - [76257, 0, "l"], - [76258, 0, "i"], - [76259, 0, "s"], - [76260, 0, "t"], - [76261, 0, " "], - [76262, 0, "a"], - [76263, 0, "t"], - [76264, 0, " "], - [76265, 0, "$"], - [76266, 0, "k"], - [76267, 0, "_"], - [76268, 0, "1"], - [76269, 0, "$"], - [76270, 0, " "], - [76271, 0, "a"], - [76272, 0, "n"], - [76273, 0, "d"], - [76274, 0, " "], - [76275, 0, "n"], - [76276, 0, "e"], - [76277, 0, "v"], - [76278, 0, "e"], - [76279, 0, "r"], - [76280, 0, " "], - [76281, 0, "i"], - [76282, 0, "n"], - [76283, 0, "s"], - [76284, 0, "e"], - [76285, 0, "r"], - [76286, 0, "t"], - [76287, 0, " "], - [76288, 0, "$"], - [76289, 0, "k"], - [76290, 0, "_"], - [76291, 0, "\\"], - [76292, 0, "m"], - [76293, 0, "a"], - [76294, 0, "t"], - [76295, 0, "h"], - [76296, 0, "i"], - [76297, 0, "t"], - [76298, 0, "{"], - [76299, 0, "n"], - [76300, 0, "e"], - [76301, 0, "w"], - [76302, 0, "}"], - [76303, 0, "$"], - [76304, 0, " "], - [76305, 0, "a"], - [76306, 0, "t"], - [76307, 0, " "], - [76308, 0, "a"], - [76309, 0, " "], - [76310, 0, "p"], - [76311, 0, "o"], - [76312, 0, "s"], - [76313, 0, "i"], - [76314, 0, "t"], - [76315, 0, "i"], - [76316, 0, "o"], - [76317, 0, "n"], - [76318, 0, " "], - [76319, 0, "t"], - [76320, 0, "h"], - [76321, 0, "a"], - [76322, 0, "t"], - [76323, 0, " "], - [76324, 0, "p"], - [76325, 0, "r"], - [76326, 0, "e"], - [76327, 0, "c"], - [76328, 0, "e"], - [76329, 0, "d"], - [76330, 0, "e"], - [76331, 0, "s"], - [76332, 0, " "], - [76333, 0, "$"], - [76334, 0, "k"], - [76335, 0, "_"], - [76336, 0, "1"], - [76337, 0, "$"], - [76339, 0, "\n"], - [76340, 0, "\n"], - [76341, 1], - [76667, 0, " "], - [76668, 0, "H"], - [76669, 0, "o"], - [76670, 0, "w"], - [76671, 0, "e"], - [76672, 0, "v"], - [76673, 0, "e"], - [76674, 0, "r"], - [76675, 0, ","], - [76676, 0, " "], - [76677, 0, "w"], - [76678, 0, "e"], - [76679, 0, " "], - [76680, 0, "k"], - [76681, 0, "n"], - [76682, 0, "o"], - [76683, 0, "w"], - [76684, 0, " "], - [76685, 0, "t"], - [76686, 0, "h"], - [76687, 0, "a"], - [76688, 0, "t"], - [76689, 0, " "], - [76690, 0, "$"], - [76691, 0, "k"], - [76692, 0, "_"], - [76693, 0, "2"], - [76694, 0, " "], - [76695, 0, "<"], - [76696, 0, " "], - [76697, 0, "k"], - [76698, 0, "_"], - [76699, 0, "\\"], - [76700, 0, "m"], - [76701, 0, "a"], - [76702, 0, "t"], - [76703, 0, "h"], - [76704, 0, "i"], - [76705, 0, "t"], - [76706, 0, "{"], - [76707, 0, "n"], - [76708, 0, "e"], - [76709, 0, "w"], - [76710, 0, "}"], - [76711, 0, " "], - [76712, 0, "\\"], - [76713, 0, "v"], - [76714, 0, "e"], - [76715, 0, "e"], - [76716, 0, " "], - [76717, 0, "k"], - [76718, 0, "_"], - [76719, 0, "2"], - [76720, 0, " "], - [76721, 0, "="], - [76722, 0, " "], - [76723, 0, "\\"], - [76724, 0, "m"], - [76725, 0, "a"], - [76726, 0, "t"], - [76727, 0, "h"], - [76728, 0, "s"], - [76729, 0, "f"], - [76730, 0, "{"], - [76731, 0, "t"], - [76732, 0, "a"], - [76733, 0, "i"], - [76734, 0, "l"], - [76735, 0, "}"], - [76736, 0, "$"], - [76737, 0, ","], - [76738, 0, " "], - [76739, 0, "a"], - [76740, 0, "n"], - [76741, 0, "d"], - [76742, 0, " "], - [76743, 0, "s"], - [76744, 0, "o"], - [76745, 0, " "], - [76746, 0, "$"], - [76747, 0, "\\"], - [76748, 0, "t"], - [76749, 0, "e"], - [76750, 0, "x"], - [76751, 0, "t"], - [76752, 0, "s"], - [76753, 0, "c"], - [76754, 0, "{"], - [76755, 0, "I"], - [76756, 0, "n"], - [76757, 0, "s"], - [76758, 0, "e"], - [76759, 0, "r"], - [76760, 0, "t"], - [76761, 0, "}"], - [76762, 0, "_"], - [76763, 0, "1"], - [76764, 0, "$"], - [76765, 0, " "], - [76766, 0, "w"], - [76767, 0, "i"], - [76768, 0, "l"], - [76769, 0, "l"], - [76770, 0, " "], - [76771, 0, "a"], - [76772, 0, "p"], - [76773, 0, "p"], - [76774, 0, "l"], - [76775, 0, "y"], - [76776, 0, " "], - [76777, 0, "w"], - [76778, 0, "i"], - [76779, 0, "t"], - [76780, 0, "h"], - [76781, 0, " "], - [76782, 0, "$"], - [76783, 0, "\\"], - [76784, 0, "m"], - [76785, 0, "a"], - [76786, 0, "t"], - [76787, 0, "h"], - [76788, 0, "i"], - [76789, 0, "t"], - [76790, 0, "{"], - [76791, 0, "n"], - [76792, 0, "e"], - [76793, 0, "x"], - [76794, 0, "t"], - [76795, 0, "}"], - [76796, 0, "="], - [76797, 0, "k"], - [76798, 0, "_"], - [76799, 0, "2"], - [76800, 0, "$"], - [76801, 0, " "], - [76802, 0, "a"], - [76803, 0, "t"], - [76804, 0, " "], - [76805, 0, "t"], - [76806, 0, "h"], - [76807, 0, "e"], - [76808, 0, " "], - [76809, 0, "l"], - [76810, 0, "a"], - [76811, 0, "t"], - [76812, 0, "e"], - [76813, 0, "s"], - [76814, 0, "t"], - [76815, 0, "."], - [76816, 0, " "], - [76817, 0, "T"], - [76818, 0, "h"], - [76819, 0, "e"], - [76820, 0, " "], - [76821, 0, "$"], - [76822, 0, "\\"], - [76823, 0, "m"], - [76824, 0, "a"], - [76825, 0, "t"], - [76826, 0, "h"], - [76826, 1], - [76825, 1], - [76824, 1], - [76823, 1], - [76823, 0, "m"], - [76824, 0, "a"], - [76825, 0, "t"], - [76826, 0, "h"], - [76751, 1], - [76750, 1], - [76749, 1], - [76748, 1], - [76748, 0, "m"], - [76749, 0, "a"], - [76750, 0, "t"], - [76751, 0, "h"], - [76520, 1], - [76519, 1], - [76518, 1], - [76517, 1], - [76517, 0, "m"], - [76518, 0, "a"], - [76519, 0, "t"], - [76520, 0, "h"], - [76517, 1], - [76517, 1], - [76517, 1], - [76517, 1], - [76517, 0, "t"], - [76518, 0, "e"], - [76519, 0, "x"], - [76520, 0, "t"], - [76748, 1], - [76748, 1], - [76748, 1], - [76748, 1], - [76748, 0, "t"], - [76749, 0, "e"], - [76750, 0, "x"], - [76751, 0, "t"], - [76826, 1], - [76825, 1], - [76824, 1], - [76823, 1], - [76823, 0, "t"], - [76824, 0, "e"], - [76825, 0, "x"], - [76826, 0, "t"], - [76827, 0, "s"], - [76828, 0, "c"], - [76829, 0, "{"], - [76830, 0, "I"], - [76831, 0, "n"], - [76832, 0, "s"], - [76833, 0, "e"], - [76834, 0, "r"], - [76835, 0, "t"], - [76836, 0, "}"], - [76837, 0, "_"], - [76838, 0, "{"], - [76839, 0, "1"], - [76840, 0, ","], - [76841, 0, "2"], - [76842, 0, "}"], - [76843, 0, "$"], - [76844, 0, " "], - [76845, 0, "r"], - [76846, 0, "u"], - [76847, 0, "l"], - [76848, 0, "e"], - [76849, 0, "s"], - [76850, 0, " "], - [76851, 0, "t"], - [76852, 0, "h"], - [76853, 0, "u"], - [76854, 0, "s"], - [76855, 0, " "], - [76856, 0, "n"], - [76857, 0, "e"], - [76858, 0, "v"], - [76859, 0, "e"], - [76860, 0, "r"], - [76861, 0, " "], - [76862, 0, "i"], - [76863, 0, "t"], - [76864, 0, "e"], - [76865, 0, "r"], - [76866, 0, "a"], - [76867, 0, "t"], - [76868, 0, "e"], - [76869, 0, " "], - [76870, 0, "p"], - [76871, 0, "a"], - [76872, 0, "s"], - [76873, 0, "t"], - [76874, 0, " "], - [76875, 0, "$"], - [76876, 0, "k"], - [76877, 0, "_"], - [76878, 0, "2"], - [76879, 0, "$"], - [76880, 0, ","], - [76881, 0, " "], - [76882, 0, "a"], - [76883, 0, "n"], - [76884, 0, "d"], - [76885, 0, " "], - [76886, 0, "t"], - [76887, 0, "h"], - [76888, 0, "u"], - [76889, 0, "s"], - [76890, 0, " "], - [76891, 0, "a"], - [76892, 0, "l"], - [76893, 0, "w"], - [76894, 0, "a"], - [76895, 0, "y"], - [76896, 0, "s"], - [76897, 0, " "], - [76898, 0, "i"], - [76899, 0, "n"], - [76900, 0, "s"], - [76901, 0, "e"], - [76902, 0, "r"], - [76903, 0, "t"], - [76904, 0, " "], - [76905, 0, "$"], - [76906, 0, "k"], - [76907, 0, "_"], - [76908, 0, "\\"], - [76909, 0, "m"], - [76910, 0, "a"], - [76911, 0, "t"], - [76912, 0, "h"], - [76913, 0, "i"], - [76914, 0, "t"], - [76915, 0, "{"], - [76916, 0, "n"], - [76917, 0, "e"], - [76918, 0, "w"], - [76919, 0, "}"], - [76920, 0, "$"], - [76921, 0, " "], - [76922, 0, "a"], - [76923, 0, "t"], - [76924, 0, " "], - [76925, 0, "a"], - [76926, 0, " "], - [76927, 0, "p"], - [76927, 1], - [76927, 0, "l"], - [76928, 0, "i"], - [76929, 0, "s"], - [76930, 0, "t"], - [76931, 0, " "], - [76932, 0, "p"], - [76933, 0, "o"], - [76934, 0, "s"], - [76935, 0, "i"], - [76936, 0, "t"], - [76937, 0, "i"], - [76938, 0, "o"], - [76939, 0, "n"], - [76940, 0, " "], - [76941, 0, "t"], - [76942, 0, "h"], - [76943, 0, "a"], - [76944, 0, "t"], - [76945, 0, " "], - [76946, 0, "p"], - [76947, 0, "r"], - [76948, 0, "e"], - [76949, 0, "c"], - [76950, 0, "e"], - [76951, 0, "d"], - [76952, 0, "e"], - [76953, 0, "s"], - [76954, 0, " "], - [76955, 0, "$"], - [76956, 0, "k"], - [76957, 0, "_"], - [76958, 0, "2"], - [76959, 0, "$"], - [76960, 0, "."], - [76973, 0, "\n"], - [76974, 0, "\n"], - [76975, 0, "\\"], - [76976, 0, "b"], - [76977, 0, "e"], - [76978, 0, "g"], - [76979, 0, "i"], - [76980, 0, "n"], - [76981, 0, "{"], - [76982, 0, "l"], - [76983, 0, "e"], - [76984, 0, "m"], - [76985, 0, "m"], - [76986, 0, "a"], - [76987, 0, "}"], - [76988, 0, "\\"], - [76989, 0, "l"], - [76990, 0, "a"], - [76991, 0, "b"], - [76992, 0, "e"], - [76993, 0, "l"], - [76994, 0, "{"], - [76995, 0, "l"], - [76996, 0, "e"], - [76997, 0, "m"], - [76998, 0, ":"], - [76999, 0, "i"], - [77000, 0, "n"], - [77001, 0, "s"], - [77002, 0, "e"], - [77003, 0, "r"], - [77004, 0, "t"], - [77005, 0, "-"], - [77006, 0, "c"], - [77007, 0, "o"], - [77008, 0, "m"], - [77009, 0, "m"], - [77010, 0, "u"], - [77011, 0, "t"], - [77012, 0, "e"], - [77013, 0, "}"], - [77014, 0, "\n"], - [77015, 0, "\\"], - [77016, 0, "e"], - [77017, 0, "n"], - [77018, 0, "d"], - [77019, 0, "{"], - [77020, 0, "l"], - [77021, 0, "e"], - [77022, 0, "m"], - [77023, 0, "m"], - [77024, 0, "a"], - [77025, 0, "}"], - [77015, 0, "\n"], - [77015, 0, "C"], - [77016, 0, "o"], - [77017, 0, "n"], - [77018, 0, "c"], - [77019, 0, "u"], - [77020, 0, "r"], - [77021, 0, "r"], - [77022, 0, "e"], - [77023, 0, "n"], - [77024, 0, "t"], - [77025, 0, " "], - [77026, 0, "i"], - [77027, 0, "n"], - [77028, 0, "s"], - [77029, 0, "e"], - [77030, 0, "r"], - [77031, 0, "t"], - [77032, 0, "i"], - [77033, 0, "o"], - [77034, 0, "n"], - [77035, 0, "s"], - [77036, 0, " "], - [77037, 0, "i"], - [77038, 0, "n"], - [77039, 0, "t"], - [77040, 0, "o"], - [77041, 0, " "], - [77042, 0, "t"], - [77043, 0, "h"], - [77044, 0, "e"], - [77045, 0, " "], - [77046, 0, "s"], - [77047, 0, "a"], - [77048, 0, "m"], - [77049, 0, "e"], - [77050, 0, " "], - [77051, 0, "l"], - [77052, 0, "i"], - [77053, 0, "s"], - [77054, 0, "t"], - [77055, 0, " "], - [77056, 0, "a"], - [77057, 0, "r"], - [77058, 0, "e"], - [77059, 0, " "], - [77060, 0, "c"], - [77061, 0, "o"], - [77062, 0, "m"], - [77063, 0, "m"], - [77064, 0, "u"], - [77065, 0, "t"], - [77066, 0, "a"], - [77067, 0, "t"], - [77068, 0, "i"], - [77069, 0, "v"], - [77070, 0, "e"], - [77071, 0, "."], - [77084, 0, "\n"], - [77085, 0, "\n"], - [77086, 0, "\\"], - [77087, 0, "b"], - [77088, 0, "e"], - [77089, 0, "g"], - [77090, 0, "i"], - [77091, 0, "n"], - [77092, 0, "{"], - [77093, 0, "p"], - [77094, 0, "r"], - [77095, 0, "o"], - [77096, 0, "o"], - [77097, 0, "f"], - [77098, 0, "}"], - [77099, 0, "\n"], - [77100, 0, "\\"], - [77101, 0, "e"], - [77102, 0, "n"], - [77103, 0, "d"], - [77104, 0, "{"], - [77105, 0, "p"], - [77106, 0, "r"], - [77107, 0, "o"], - [77108, 0, "o"], - [77109, 0, "f"], - [77110, 0, "}"], - [77099, 0, "\n"], - [77100, 0, "L"], - [77101, 0, "e"], - [77102, 0, "t"], - [77103, 0, " "], - [77104, 0, "$"], - [77105, 0, "\\"], - [77106, 0, "m"], - [77107, 0, "a"], - [77108, 0, "t"], - [77109, 0, "h"], - [77110, 0, "i"], - [77111, 0, "t"], - [77112, 0, "{"], - [77113, 0, "o"], - [77114, 0, "p"], - [77115, 0, "}"], - [77116, 0, "_"], - [77117, 0, "1"], - [77118, 0, "$"], - [77119, 0, " "], - [77120, 0, "a"], - [77121, 0, "n"], - [77122, 0, "d"], - [77123, 0, " "], - [77124, 0, "$"], - [77125, 0, "\\"], - [77126, 0, "m"], - [77127, 0, "a"], - [77128, 0, "t"], - [77129, 0, "h"], - [77130, 0, "i"], - [77131, 0, "t"], - [77132, 0, "{"], - [77133, 0, "o"], - [77134, 0, "p"], - [77135, 0, "}"], - [77136, 0, "_"], - [77137, 0, "2"], - [77138, 0, "$"], - [77139, 0, " "], - [77140, 0, "b"], - [77141, 0, "e"], - [77142, 0, " "], - [77143, 0, "t"], - [77144, 0, "w"], - [77145, 0, "o"], - [77146, 0, " "], - [77147, 0, "c"], - [77148, 0, "o"], - [77149, 0, "m"], - [77150, 0, "m"], - [77151, 0, "u"], - [77152, 0, "t"], - [77153, 0, "a"], - [77154, 0, "t"], - [77155, 0, "i"], - [77156, 0, "v"], - [77157, 0, "e"], - [77158, 0, " "], - [77159, 0, "i"], - [77160, 0, "n"], - [77161, 0, "s"], - [77162, 0, "e"], - [77163, 0, "r"], - [77164, 0, "t"], - [77165, 0, "i"], - [77166, 0, "o"], - [77167, 0, "n"], - [77168, 0, " "], - [77169, 0, "o"], - [77170, 0, "p"], - [77171, 0, "e"], - [77172, 0, "r"], - [77173, 0, "a"], - [77174, 0, "t"], - [77175, 0, "i"], - [77176, 0, "o"], - [77177, 0, "n"], - [77178, 0, "s"], - [77157, 1], - [77156, 1], - [77155, 1], - [77154, 1], - [77153, 1], - [77152, 1], - [77151, 1], - [77150, 1], - [77149, 1], - [77149, 0, "n"], - [77150, 0, "c"], - [77151, 0, "u"], - [77152, 0, "r"], - [77153, 0, "r"], - [77154, 0, "e"], - [77155, 0, "n"], - [77156, 0, "t"], - [77178, 0, ","], - [77179, 0, " "], - [77180, 0, "i"], - [77181, 0, "."], - [77182, 0, "e"], - [77183, 0, "."], - [77184, 0, " "], - [77185, 0, "$"], - [77186, 0, "\\"], - [77187, 0, "m"], - [77188, 0, "a"], - [77189, 0, "t"], - [77190, 0, "h"], - [77191, 0, "i"], - [77192, 0, "t"], - [77193, 0, "{"], - [77194, 0, "o"], - [77195, 0, "p"], - [77196, 0, "_"], - [77196, 1], - [77196, 0, "}"], - [77197, 0, "_"], - [77198, 0, "1"], - [77199, 0, "."], - [77200, 0, "\\"], - [77201, 0, "m"], - [77202, 0, "a"], - [77203, 0, "t"], - [77204, 0, "h"], - [77205, 0, "i"], - [77206, 0, "t"], - [77207, 0, "{"], - [77208, 0, "d"], - [77209, 0, "e"], - [77210, 0, "p"], - [77211, 0, "s"], - [77212, 0, "}"], - [77213, 0, " "], - [77214, 0, "\\"], - [76973, 0, "\n"], - [76974, 0, "\n"], - [76975, 0, "\\"], - [76976, 0, "b"], - [76977, 0, "e"], - [76978, 0, "g"], - [76979, 0, "i"], - [76980, 0, "n"], - [76981, 0, "{"], - [76982, 0, "d"], - [76983, 0, "e"], - [76984, 0, "f"], - [76985, 0, "i"], - [76986, 0, "n"], - [76987, 0, "i"], - [76988, 0, "t"], - [76989, 0, "i"], - [76990, 0, "o"], - [76991, 0, "n"], - [76992, 0, "}"], - [76993, 0, "\\"], - [76994, 0, "l"], - [76995, 0, "a"], - [76996, 0, "b"], - [76997, 0, "e"], - [76998, 0, "l"], - [76999, 0, "{"], - [77000, 0, "d"], - [77001, 0, "e"], - [77002, 0, "f"], - [77003, 0, ":"], - [77004, 0, "c"], - [77005, 0, "o"], - [77006, 0, "n"], - [77007, 0, "c"], - [77008, 0, "u"], - [77009, 0, "r"], - [77010, 0, "r"], - [77011, 0, "e"], - [77012, 0, "n"], - [77013, 0, "t"], - [77014, 0, "}"], - [77015, 0, "\n"], - [77016, 0, "\\"], - [77017, 0, "e"], - [77018, 0, "n"], - [77019, 0, "d"], - [77020, 0, "{"], - [77021, 0, "d"], - [77022, 0, "e"], - [77023, 0, "f"], - [77024, 0, "i"], - [77025, 0, "n"], - [77026, 0, "i"], - [77027, 0, "t"], - [77028, 0, "i"], - [77029, 0, "o"], - [77030, 0, "n"], - [77031, 0, "}"], - [77015, 0, "\n"], - [77016, 0, "T"], - [77017, 0, "w"], - [77018, 0, "o"], - [77019, 0, " "], - [77020, 0, "o"], - [77021, 0, "p"], - [77022, 0, "e"], - [77023, 0, "r"], - [77024, 0, "a"], - [77025, 0, "t"], - [77026, 0, "i"], - [77027, 0, "o"], - [77028, 0, "n"], - [77029, 0, "s"], - [77030, 0, " "], - [77031, 0, "$"], - [77032, 0, "\\"], - [77033, 0, "m"], - [77034, 0, "a"], - [77035, 0, "t"], - [77036, 0, "h"], - [77037, 0, "i"], - [77038, 0, "t"], - [77039, 0, "{"], - [77040, 0, "o"], - [77041, 0, "p"], - [77042, 0, "}"], - [77043, 0, "_"], - [77044, 0, "1"], - [77045, 0, "$"], - [77046, 0, " "], - [77047, 0, "a"], - [77048, 0, "n"], - [77049, 0, "d"], - [77050, 0, " "], - [77051, 0, "$"], - [77052, 0, "\\"], - [77053, 0, "m"], - [77054, 0, "a"], - [77055, 0, "t"], - [77056, 0, "h"], - [77057, 0, "i"], - [77058, 0, "t"], - [77059, 0, "{"], - [77077, 1], - [77076, 1], - [77075, 1], - [77074, 1], - [77073, 1], - [77072, 1], - [77071, 1], - [77070, 1], - [77069, 1], - [77068, 1], - [77067, 1], - [77066, 1], - [77065, 1], - [77064, 1], - [77063, 1], - [77062, 1], - [77061, 1], - [77060, 1], - [77059, 1], - [77058, 1], - [77057, 1], - [77056, 1], - [77055, 1], - [77054, 1], - [77053, 1], - [77052, 1], - [77051, 1], - [77050, 1], - [77049, 1], - [77048, 1], - [77047, 1], - [77046, 1], - [77045, 1], - [77044, 1], - [77043, 1], - [77042, 1], - [77041, 1], - [77040, 1], - [77039, 1], - [77038, 1], - [77037, 1], - [77036, 1], - [77035, 1], - [77034, 1], - [77033, 1], - [77032, 1], - [77031, 1], - [77030, 1], - [77029, 1], - [77028, 1], - [77027, 1], - [77026, 1], - [77025, 1], - [77024, 1], - [77023, 1], - [77022, 1], - [77021, 1], - [77020, 1], - [77019, 1], - [77018, 1], - [77017, 1], - [77016, 1], - [77015, 1], - [77014, 1], - [77013, 1], - [77012, 1], - [77011, 1], - [77010, 1], - [77009, 1], - [77008, 1], - [77007, 1], - [77006, 1], - [77005, 1], - [77004, 1], - [77003, 1], - [77002, 1], - [77001, 1], - [77000, 1], - [76999, 1], - [76998, 1], - [76997, 1], - [76996, 1], - [76995, 1], - [76994, 1], - [76993, 1], - [76992, 1], - [76991, 1], - [76990, 1], - [76989, 1], - [76988, 1], - [76987, 1], - [76986, 1], - [76985, 1], - [76984, 1], - [76983, 1], - [76982, 1], - [76981, 1], - [76980, 1], - [76979, 1], - [76978, 1], - [76977, 1], - [76976, 1], - [76975, 1], - [76974, 1], - [77214, 1], - [77213, 1], - [77212, 1], - [77211, 1], - [77210, 1], - [77209, 1], - [77208, 1], - [77207, 1], - [77206, 1], - [77205, 1], - [77204, 1], - [77203, 1], - [77202, 1], - [77201, 1], - [77200, 1], - [77199, 1], - [77198, 1], - [77197, 1], - [77196, 1], - [77195, 1], - [77194, 1], - [77193, 1], - [77192, 1], - [77191, 1], - [77190, 1], - [77189, 1], - [77188, 1], - [77187, 1], - [77186, 1], - [77185, 1], - [77184, 1], - [77183, 1], - [77182, 1], - [77181, 1], - [77180, 1], - [77179, 1], - [77178, 1], - [77178, 0, "."], - [77179, 0, " "], - [76973, 0, "\n"], - [76974, 0, "\n"], - [76975, 0, "\\"], - [76976, 0, "b"], - [76977, 0, "e"], - [76978, 0, "g"], - [76979, 0, "i"], - [76980, 0, "n"], - [76981, 0, "{"], - [76982, 0, "d"], - [76983, 0, "e"], - [76984, 0, "f"], - [76985, 0, "i"], - [76986, 0, "n"], - [76987, 0, "i"], - [76988, 0, "t"], - [76989, 0, "i"], - [76990, 0, "o"], - [76991, 0, "n"], - [76992, 0, "}"], - [76993, 0, "\\"], - [76994, 0, "l"], - [76995, 0, "a"], - [76996, 0, "b"], - [76997, 0, "e"], - [76998, 0, "l"], - [76999, 0, "{"], - [77000, 0, "d"], - [77001, 0, "e"], - [77002, 0, "f"], - [77003, 0, ":"], - [77004, 0, "c"], - [77005, 0, "o"], - [77006, 0, "m"], - [77007, 0, "m"], - [77008, 0, "a"], - [77008, 1], - [77008, 0, "o"], - [77009, 0, "n"], - [77010, 0, "-"], - [77011, 0, "a"], - [77012, 0, "n"], - [77013, 0, "c"], - [77014, 0, "e"], - [77015, 0, "s"], - [77016, 0, "t"], - [77017, 0, "o"], - [77018, 0, "r"], - [77019, 0, "}"], - [77020, 0, "\n"], - [77021, 0, "\\"], - [77022, 0, "e"], - [77023, 0, "n"], - [77024, 0, "d"], - [77025, 0, "{"], - [77026, 0, "d"], - [77027, 0, "e"], - [77028, 0, "f"], - [77029, 0, "i"], - [77030, 0, "n"], - [77031, 0, "i"], - [77032, 0, "t"], - [77033, 0, "i"], - [77034, 0, "o"], - [77035, 0, "n"], - [77036, 0, "}"], - [77020, 0, "\n"], - [77021, 0, "F"], - [77022, 0, "o"], - [77023, 0, "r"], - [77024, 0, " "], - [77025, 0, "t"], - [77026, 0, "w"], - [77027, 0, "o"], - [77028, 0, " "], - [77029, 0, "c"], - [77030, 0, "o"], - [77031, 0, "n"], - [77032, 0, "c"], - [77033, 0, "u"], - [77034, 0, "r"], - [77035, 0, "r"], - [77036, 0, "e"], - [77037, 0, "n"], - [77038, 0, "t"], - [77039, 0, " "], - [77040, 0, "o"], - [77041, 0, "p"], - [77042, 0, "e"], - [77043, 0, "r"], - [77044, 0, "a"], - [77045, 0, "t"], - [77046, 0, "i"], - [77047, 0, "o"], - [77048, 0, "n"], - [77049, 0, "s"], - [77050, 0, " "], - [77051, 0, "$"], - [77052, 0, "\\"], - [77053, 0, "m"], - [77054, 0, "a"], - [77055, 0, "t"], - [77056, 0, "h"], - [77057, 0, "i"], - [77058, 0, "t"], - [77059, 0, "{"], - [77060, 0, "o"], - [77061, 0, "p"], - [77062, 0, "}"], - [77063, 0, "_"], - [77064, 0, "1"], - [77065, 0, "$"], - [77066, 0, " "], - [77067, 0, "a"], - [77068, 0, "n"], - [77069, 0, "d"], - [77070, 0, " "], - [77071, 0, "$"], - [77072, 0, "\\"], - [77073, 0, "m"], - [77074, 0, "a"], - [77075, 0, "t"], - [77076, 0, "h"], - [77077, 0, "i"], - [77078, 0, "t"], - [77079, 0, "{"], - [77080, 0, "o"], - [77081, 0, "p"], - [77082, 0, "}"], - [77083, 0, "_"], - [77084, 0, "2"], - [77085, 0, "$"], - [77086, 0, ","], - [77087, 0, " "], - [77088, 0, "t"], - [77089, 0, "h"], - [77090, 0, "e"], - [77091, 0, " "], - [77092, 0, "\\"], - [77093, 0, "e"], - [77094, 0, "m"], - [77095, 0, "p"], - [77096, 0, "h"], - [77097, 0, "{"], - [77098, 0, "c"], - [77099, 0, "o"], - [77100, 0, "m"], - [77101, 0, "m"], - [77102, 0, "o"], - [77103, 0, "n"], - [77104, 0, " "], - [77105, 0, "a"], - [77106, 0, "n"], - [77107, 0, "c"], - [77108, 0, "e"], - [77109, 0, "s"], - [77110, 0, "t"], - [77111, 0, "o"], - [77112, 0, "r"], - [77113, 0, "}"], - [77114, 0, " "], - [77115, 0, "i"], - [77116, 0, "s"], - [77117, 0, " "], - [77118, 0, "t"], - [77119, 0, "h"], - [77120, 0, "e"], - [77121, 0, " "], - [77122, 0, "d"], - [77123, 0, "o"], - [77124, 0, "c"], - [77125, 0, "u"], - [77126, 0, "m"], - [77127, 0, "e"], - [77128, 0, "n"], - [77129, 0, "t"], - [77130, 0, " "], - [77131, 0, "s"], - [77132, 0, "t"], - [77133, 0, "a"], - [77134, 0, "t"], - [77135, 0, "e"], - [77136, 0, " "], - [77137, 0, "r"], - [77138, 0, "e"], - [77139, 0, "s"], - [77140, 0, "u"], - [77141, 0, "l"], - [77142, 0, "t"], - [77143, 0, "i"], - [77144, 0, "n"], - [77145, 0, "g"], - [77146, 0, " "], - [77147, 0, "f"], - [77148, 0, "r"], - [77149, 0, "o"], - [77150, 0, "m"], - [77151, 0, " "], - [77152, 0, "a"], - [77153, 0, "p"], - [77154, 0, "p"], - [77155, 0, "l"], - [77156, 0, "y"], - [77157, 0, "i"], - [77158, 0, "n"], - [77159, 0, "g"], - [77160, 0, " "], - [77161, 0, "a"], - [77162, 0, "l"], - [77163, 0, "l"], - [77164, 0, " "], - [77165, 0, "o"], - [77166, 0, "p"], - [77167, 0, "e"], - [77168, 0, "r"], - [77169, 0, "a"], - [77170, 0, "t"], - [77171, 0, "i"], - [77172, 0, "o"], - [77173, 0, "n"], - [77174, 0, "s"], - [77175, 0, " "], - [77176, 0, "i"], - [77177, 0, "n"], - [77178, 0, " "], - [77179, 0, "$"], - [77180, 0, "\\"], - [77181, 0, "m"], - [77182, 0, "a"], - [77183, 0, "t"], - [77184, 0, "h"], - [77185, 0, "i"], - [77186, 0, "t"], - [77187, 0, "{"], - [77188, 0, "o"], - [77189, 0, "p"], - [77190, 0, "}"], - [77191, 0, "_"], - [77192, 0, "1"], - [77193, 0, "."], - [77194, 0, "\\"], - [77195, 0, "m"], - [77196, 0, "a"], - [77197, 0, "t"], - [77198, 0, "h"], - [77199, 0, "i"], - [77200, 0, "t"], - [77201, 0, "{"], - [77202, 0, "d"], - [77203, 0, "e"], - [77204, 0, "p"], - [77205, 0, "s"], - [77206, 0, "}"], - [77207, 0, " "], - [77208, 0, "\\"], - [77209, 0, "c"], - [77210, 0, "u"], - [77211, 0, "p"], - [77212, 0, " "], - [77213, 0, "\\"], - [77214, 0, "m"], - [77215, 0, "a"], - [77216, 0, "t"], - [77217, 0, "h"], - [77218, 0, "i"], - [77219, 0, "t"], - [77220, 0, "{"], - [77221, 0, "o"], - [77222, 0, "p"], - [77223, 0, "}"], - [77224, 0, "_"], - [77225, 0, "2"], - [77226, 0, "."], - [77227, 0, "\\"], - [77228, 0, "m"], - [77229, 0, "a"], - [77230, 0, "t"], - [77231, 0, "h"], - [77232, 0, "i"], - [77233, 0, "t"], - [77234, 0, "{"], - [77235, 0, "d"], - [77236, 0, "e"], - [77237, 0, "p"], - [77238, 0, "s"], - [77239, 0, "}"], - [77240, 0, "$"], - [77241, 0, ","], - [77242, 0, " "], - [77243, 0, "i"], - [77244, 0, "."], - [77245, 0, "e"], - [77246, 0, "."], - [77247, 0, " "], - [77248, 0, "t"], - [77249, 0, "h"], - [77250, 0, "e"], - [77251, 0, " "], - [77252, 0, "m"], - [77253, 0, "o"], - [77254, 0, "s"], - [77255, 0, "t"], - [77256, 0, " "], - [77257, 0, "r"], - [77258, 0, "e"], - [77259, 0, "c"], - [77260, 0, "e"], - [77261, 0, "n"], - [77262, 0, "t"], - [77263, 0, " "], - [77264, 0, "d"], - [77265, 0, "o"], - [77266, 0, "c"], - [77267, 0, "u"], - [77268, 0, "m"], - [77269, 0, "e"], - [77270, 0, "n"], - [77271, 0, "t"], - [77272, 0, " "], - [77273, 0, "s"], - [77274, 0, "t"], - [77275, 0, "a"], - [77276, 0, "t"], - [77277, 0, "e"], - [77278, 0, " "], - [77279, 0, "t"], - [77280, 0, "h"], - [77281, 0, "a"], - [77282, 0, "t"], - [77283, 0, " "], - [77284, 0, "c"], - [77285, 0, "a"], - [77286, 0, "u"], - [77287, 0, "s"], - [77288, 0, "a"], - [77289, 0, "l"], - [77290, 0, "l"], - [77291, 0, "y"], - [77292, 0, " "], - [77293, 0, "p"], - [77294, 0, "r"], - [77295, 0, "e"], - [77296, 0, "c"], - [77297, 0, "e"], - [77298, 0, "d"], - [77299, 0, "e"], - [77300, 0, "s"], - [77301, 0, " "], - [77302, 0, "b"], - [77303, 0, "o"], - [77304, 0, "t"], - [77305, 0, "h"], - [77306, 0, " "], - [77307, 0, "o"], - [77308, 0, "p"], - [77309, 0, "e"], - [77310, 0, "r"], - [77311, 0, "a"], - [77312, 0, "t"], - [77313, 0, "i"], - [77314, 0, "o"], - [77315, 0, "n"], - [77316, 0, "s"], - [77317, 0, ","], - [77318, 0, " "], - [77319, 0, "a"], - [77320, 0, "f"], - [77321, 0, "t"], - [77322, 0, "e"], - [77323, 0, "r"], - [77324, 0, " "], - [77325, 0, "w"], - [77326, 0, "h"], - [77327, 0, "i"], - [77328, 0, "c"], - [77329, 0, "h"], - [77330, 0, " "], - [77331, 0, "t"], - [77332, 0, "h"], - [77333, 0, "e"], - [77334, 0, " "], - [77335, 0, "d"], - [77336, 0, "o"], - [77337, 0, "c"], - [77338, 0, "u"], - [77339, 0, "m"], - [77340, 0, "e"], - [77341, 0, "n"], - [77342, 0, "t"], - [77343, 0, " "], - [77344, 0, "s"], - [77345, 0, "t"], - [77346, 0, "a"], - [77347, 0, "t"], - [77348, 0, "e"], - [77349, 0, "s"], - [77350, 0, " "], - [77351, 0, "d"], - [77352, 0, "i"], - [77353, 0, "v"], - [77354, 0, "e"], - [77355, 0, "r"], - [77356, 0, "g"], - [77357, 0, "e"], - [77358, 0, "d"], - [77359, 0, "."], - [76993, 0, "["], - [76994, 0, "c"], - [76995, 0, "o"], - [76996, 0, "m"], - [76997, 0, "m"], - [76998, 0, "o"], - [76999, 0, "n"], - [77000, 0, " "], - [77001, 0, "a"], - [77002, 0, "n"], - [77003, 0, "c"], - [77004, 0, "e"], - [77005, 0, "s"], - [77006, 0, "t"], - [77007, 0, "]"], - [77008, 0, "r"], - [77008, 1], - [77007, 1], - [77007, 0, "o"], - [77008, 0, "r"], - [77009, 0, "]"], - [73527, 0, "["], - [73528, 0, "l"], - [73529, 0, "i"], - [73530, 0, "s"], - [73531, 0, "t"], - [73532, 0, " "], - [73533, 0, "e"], - [73534, 0, "l"], - [73535, 0, "e"], - [73536, 0, "m"], - [73537, 0, "e"], - [73538, 0, "n"], - [73539, 0, "t"], - [73540, 0, " "], - [73541, 0, "p"], - [73542, 0, "r"], - [73543, 0, "e"], - [73544, 0, "c"], - [73545, 0, "e"], - [73546, 0, "d"], - [73547, 0, "e"], - [73548, 0, "n"], - [73549, 0, "c"], - [73550, 0, "e"], - [73551, 0, "]"], - [69726, 0, "["], - [69727, 0, "d"], - [69728, 0, "o"], - [69729, 0, "c"], - [69730, 0, "u"], - [69731, 0, "m"], - [69732, 0, "e"], - [69733, 0, "n"], - [69734, 0, "t"], - [69735, 0, " "], - [69736, 0, "s"], - [69737, 0, "t"], - [69738, 0, "a"], - [69739, 0, "t"], - [69740, 0, "e"], - [69741, 0, "]"], - [68964, 0, "["], - [68965, 0, "h"], - [68966, 0, "i"], - [68967, 0, "s"], - [68968, 0, "t"], - [68969, 0, "o"], - [68970, 0, "r"], - [68971, 0, "y"], - [68972, 0, "]"], - [67907, 0, "["], - [67908, 0, "v"], - [67909, 0, "a"], - [67910, 0, "l"], - [67911, 0, "i"], - [67912, 0, "d"], - [67913, 0, " "], - [67914, 0, "e"], - [67915, 0, "x"], - [67916, 0, "e"], - [67917, 0, "c"], - [67918, 0, "u"], - [67919, 0, "t"], - [67920, 0, "i"], - [67921, 0, "o"], - [67922, 0, "n"], - [67923, 0, "]"], - [77668, 0, "L"], - [77669, 0, "e"], - [77670, 0, "t"], - [77671, 0, " "], - [77672, 0, "$"], - [77673, 0, "k"], - [77674, 0, "_"], - [77675, 0, "1"], - [77676, 0, "$"], - [77677, 0, " "], - [77678, 0, "b"], - [77679, 0, "e"], - [77680, 0, " "], - [77681, 0, "t"], - [77682, 0, "h"], - [77683, 0, "e"], - [77684, 0, " "], - [77685, 0, "l"], - [77686, 0, "i"], - [77687, 0, "s"], - [77688, 0, "t"], - [77689, 0, " "], - [77690, 0, "e"], - [77691, 0, "l"], - [77692, 0, "e"], - [77693, 0, "m"], - [77694, 0, "e"], - [77695, 0, "n"], - [77696, 0, "t"], - [77697, 0, " "], - [77698, 0, "t"], - [77699, 0, "h"], - [77700, 0, "a"], - [77701, 0, "t"], - [77702, 0, " "], - [77703, 0, "m"], - [77704, 0, "o"], - [77705, 0, "s"], - [77706, 0, "t"], - [77707, 0, " "], - [77708, 0, "c"], - [77709, 0, "l"], - [77710, 0, "o"], - [77711, 0, "s"], - [77712, 0, "e"], - [77713, 0, "l"], - [77714, 0, "y"], - [77715, 0, " "], - [77716, 0, "p"], - [77717, 0, "r"], - [77718, 0, "e"], - [77719, 0, "c"], - [77720, 0, "e"], - [77721, 0, "d"], - [77722, 0, "e"], - [77723, 0, "s"], - [77666, 0, " "], - [77667, 0, "w"], - [77668, 0, "i"], - [77669, 0, "t"], - [77670, 0, "h"], - [77671, 0, " "], - [77672, 0, "a"], - [77673, 0, " "], - [77674, 0, "c"], - [77675, 0, "o"], - [77676, 0, "m"], - [77677, 0, "m"], - [77678, 0, "o"], - [77679, 0, "n"], - [77680, 0, " "], - [77206, 1], - [77206, 1], - [77206, 1], - [77206, 1], - [77206, 1], - [77206, 1], - [77206, 1], - [77206, 1], - [77206, 0, "r"], - [77207, 0, "e"], - [77208, 0, "p"], - [77209, 0, "l"], - [77210, 0, "i"], - [77211, 0, "c"], - [77212, 0, "a"], - [77354, 1], - [77353, 1], - [77352, 1], - [77351, 1], - [77350, 1], - [77349, 1], - [77348, 1], - [77347, 1], - [77347, 0, "r"], - [77348, 0, "e"], - [77349, 0, "p"], - [77350, 0, "l"], - [77351, 0, "i"], - [77352, 0, "c"], - [77353, 0, "a"], - [77431, 1], - [77430, 1], - [77429, 1], - [77428, 1], - [77427, 1], - [77426, 1], - [77425, 1], - [77424, 1], - [77423, 1], - [77422, 1], - [77421, 1], - [77420, 1], - [77419, 1], - [77418, 1], - [77417, 1], - [77416, 1], - [77416, 0, "y"], - [77324, 1], - [77324, 0, "."], - [77325, 0, "\n"], - [77326, 0, "\\"], - [77327, 0, "e"], - [77328, 0, "n"], - [77329, 0, "d"], - [77330, 0, "{"], - [77331, 0, "d"], - [77332, 0, "e"], - [77333, 0, "f"], - [77334, 0, "i"], - [77335, 0, "n"], - [77336, 0, "i"], - [77337, 0, "t"], - [77338, 0, "i"], - [77339, 0, "o"], - [77340, 0, "n"], - [77341, 0, "}"], - [77342, 0, "\n"], - [77343, 0, "\n"], - [77344, 1], - [77344, 1], - [77344, 1], - [77344, 1], - [77344, 1], - [77344, 0, "I"], - [77345, 0, "n"], - [77346, 0, " "], - [77347, 0, "o"], - [77348, 0, "t"], - [77349, 0, "h"], - [77350, 0, "e"], - [77351, 0, "r"], - [77352, 0, " "], - [77353, 0, "w"], - [77354, 0, "o"], - [77355, 0, "r"], - [77356, 0, "d"], - [77357, 0, "s"], - [77358, 0, ","], - [77359, 0, " "], - [77360, 0, "t"], - [77361, 0, "h"], - [77362, 0, "e"], - [77363, 0, " "], - [77364, 0, "c"], - [77365, 0, "o"], - [77366, 0, "m"], - [77367, 0, "m"], - [77368, 0, "o"], - [77369, 0, "n"], - [77370, 0, " "], - [77371, 0, "a"], - [77372, 0, "n"], - [77373, 0, "c"], - [77374, 0, "e"], - [77375, 0, "s"], - [77376, 0, "t"], - [77377, 0, "o"], - [77378, 0, "r"], - [77379, 0, " "], - [77380, 0, "i"], - [77381, 0, "s"], - [77495, 1], - [77494, 1], - [77493, 1], - [77492, 1], - [77491, 1], - [77490, 1], - [77489, 1], - [77488, 1], - [77487, 1], - [77486, 1], - [77485, 1], - [77484, 1], - [77483, 1], - [77482, 1], - [77481, 1], - [77480, 1], - [77479, 1], - [77468, 1], - [77468, 0, " "], - [77469, 0, "r"], - [77470, 0, "e"], - [77471, 0, "p"], - [77472, 0, "l"], - [77473, 0, "i"], - [77474, 0, "c"], - [77475, 0, "a"], - [77476, 0, "s"], - [77487, 0, " "], - [77488, 0, "T"], - [77489, 0, "h"], - [77490, 0, "e"], - [77491, 0, "r"], - [77492, 0, "e"], - [77493, 0, " "], - [77494, 0, "m"], - [77495, 0, "a"], - [77496, 0, "n"], - [77497, 0, "y"], - [77498, 0, " "], - [77499, 0, "b"], - [77500, 0, "e"], - [77501, 0, " "], - [77502, 0, "a"], - [77503, 0, "n"], - [77504, 0, "y"], - [77505, 0, " "], - [77506, 0, "n"], - [77507, 0, "u"], - [77508, 0, "m"], - [77509, 0, "b"], - [77510, 0, "e"], - [77511, 0, "r"], - [77512, 0, " "], - [77513, 0, "o"], - [77514, 0, "f"], - [77515, 0, " "], - [77516, 0, "o"], - [77517, 0, "p"], - [77518, 0, "e"], - [77519, 0, "r"], - [77520, 0, "a"], - [77521, 0, "t"], - [77522, 0, "i"], - [77523, 0, "o"], - [77524, 0, "n"], - [77525, 0, "s"], - [77526, 0, " "], - [77527, 0, "b"], - [77528, 0, "e"], - [77529, 0, "t"], - [77530, 0, "w"], - [77531, 0, "e"], - [77532, 0, "e"], - [77533, 0, "n"], - [77534, 0, " "], - [77535, 0, "t"], - [77536, 0, "h"], - [77537, 0, "e"], - [77538, 0, " "], - [77539, 0, "c"], - [77540, 0, "o"], - [77541, 0, "m"], - [77542, 0, "m"], - [77543, 0, "o"], - [77544, 0, "n"], - [77545, 0, " "], - [77546, 0, "a"], - [77547, 0, "n"], - [77548, 0, "c"], - [77549, 0, "e"], - [77550, 0, "s"], - [77551, 0, "t"], - [77552, 0, "o"], - [77553, 0, "r"], - [77554, 0, " "], - [77555, 0, "a"], - [77556, 0, "n"], - [77557, 0, "d"], - [77558, 0, " "], - [77559, 0, "$"], - [77560, 0, "\\"], - [77561, 0, "m"], - [77562, 0, "a"], - [77563, 0, "t"], - [77564, 0, "h"], - [77565, 0, "i"], - [77566, 0, "t"], - [77567, 0, "{"], - [77568, 0, "o"], - [77569, 0, "p"], - [77570, 0, "}"], - [77571, 0, "_"], - [77572, 0, "{"], - [77573, 0, "1"], - [77574, 0, ","], - [77575, 0, "2"], - [77576, 0, "}"], - [77577, 0, "$"], - [77578, 0, "."], - [77799, 0, "a"], - [77800, 0, "n"], - [77801, 0, "c"], - [77802, 0, "e"], - [77803, 0, "s"], - [77804, 0, "t"], - [77805, 0, "o"], - [77806, 0, "r"], - [77807, 0, " "], - [77808, 0, "#"], - [77809, 0, "$"], - [77809, 1], - [77808, 1], - [77808, 0, "$"], - [77809, 0, "A"], - [77810, 0, "\\"], - [77810, 1], - [77810, 0, "_"], - [77811, 0, "\\"], - [77812, 0, "m"], - [77813, 0, "a"], - [77814, 0, "t"], - [77815, 0, "h"], - [77816, 0, "i"], - [77817, 0, "t"], - [77818, 0, "{"], - [77819, 0, "a"], - [77820, 0, "n"], - [77821, 0, "c"], - [77822, 0, "}"], - [77823, 0, "$"], - [77834, 0, "^"], - [77835, 0, "\\"], - [77836, 0, "m"], - [77837, 0, "a"], - [77838, 0, "t"], - [77839, 0, "h"], - [77840, 0, "i"], - [77841, 0, "t"], - [77842, 0, "{"], - [77843, 0, "b"], - [77843, 1], - [77843, 0, "b"], - [77844, 0, "e"], - [77845, 0, "f"], - [77846, 0, "o"], - [77847, 0, "r"], - [77848, 0, "e"], - [77849, 0, "}"], - [77851, 0, " "], - [77852, 0, "a"], - [77853, 0, "n"], - [77854, 0, "d"], - [77855, 0, " "], - [77856, 0, "$"], - [77857, 0, "k"], - [77858, 0, "_"], - [77859, 0, "2"], - [77860, 0, "^"], - [77861, 0, "&"], - [77861, 1], - [77861, 0, "\\"], - [77862, 0, "m"], - [77863, 0, "a"], - [77864, 0, "t"], - [77865, 0, "h"], - [77866, 0, "i"], - [77867, 0, "t"], - [77868, 0, "{"], - [77869, 0, "b"], - [77870, 0, "e"], - [77871, 0, "f"], - [77872, 0, "o"], - [77873, 0, "r"], - [77874, 0, "e"], - [77875, 0, "}"], - [77876, 0, "$"], - [77897, 0, "s"], - [77898, 0, " "], - [77899, 0, "i"], - [77900, 0, "n"], - [77901, 0, " "], - [77902, 0, "$"], - [77903, 0, "A"], - [77904, 0, "_"], - [77905, 0, "\\"], - [77906, 0, "m"], - [77907, 0, "a"], - [77908, 0, "t"], - [77909, 0, "h"], - [77910, 0, "i"], - [77911, 0, "t"], - [77912, 0, "{"], - [77913, 0, "a"], - [77914, 0, "n"], - [77915, 0, "c"], - [77916, 0, "}"], - [77917, 0, "$"], - [77944, 1], - [77944, 0, " "], - [77945, 0, "t"], - [77946, 0, "h"], - [77947, 0, "e"], - [77948, 0, " "], - [77949, 0, "i"], - [77950, 0, "n"], - [77951, 0, "s"], - [77952, 0, "e"], - [77953, 0, "r"], - [77954, 0, "t"], - [77955, 0, "i"], - [77956, 0, "o"], - [77957, 0, "n"], - [77958, 0, " "], - [77959, 0, "p"], - [77960, 0, "i"], - [77961, 0, "s"], - [77962, 0, "i"], - [77962, 1], - [77961, 1], - [77960, 1], - [77960, 0, "o"], - [77961, 0, "s"], - [77962, 0, "i"], - [77963, 0, "t"], - [77964, 0, "i"], - [77965, 0, "o"], - [77966, 0, "n"], - [77967, 0, " "], - [77968, 0, "o"], - [77969, 0, "f"], - [77970, 0, " "], - [77971, 0, "$"], - [77972, 0, "\\"], - [77973, 0, "m"], - [77974, 0, "a"], - [77975, 0, "t"], - [77976, 0, "h"], - [77977, 0, "i"], - [77978, 0, "t"], - [77979, 0, "{"], - [77980, 0, "o"], - [77981, 0, "p"], - [77982, 0, "}"], - [77983, 0, "_"], - [77984, 0, "1"], - [77985, 0, "$"], - [77986, 0, " "], - [77987, 0, "a"], - [77988, 0, "n"], - [77989, 0, "d"], - [77990, 0, " "], - [77991, 0, "$"], - [77992, 0, "\\"], - [77993, 0, "m"], - [77994, 0, "a"], - [77995, 0, "t"], - [77996, 0, "h"], - [77997, 0, "i"], - [77998, 0, "t"], - [77999, 0, "{"], - [78000, 0, "o"], - [78001, 0, "p"], - [78002, 0, "}"], - [78003, 0, ")"], - [78004, 0, "2"], - [78004, 1], - [78003, 1], - [78003, 0, "_"], - [78004, 0, "2"], - [78005, 0, "$"], - [78006, 0, " "], - [78007, 0, "r"], - [78008, 0, "e"], - [78009, 0, "s"], - [78010, 0, "p"], - [78011, 0, "e"], - [78012, 0, "c"], - [78013, 0, "t"], - [78014, 0, "i"], - [78015, 0, "v"], - [78016, 0, "e"], - [78017, 0, "l"], - [78018, 0, "y"], - [78019, 0, ","], - [78020, 0, " "], - [78021, 0, "a"], - [78022, 0, "n"], - [78023, 0, "d"], - [78024, 0, " "], - [78025, 0, "l"], - [78026, 0, "e"], - [78027, 0, "t"], - [78028, 0, " "], - [78029, 0, "$"], - [78030, 0, "k"], - [78031, 0, "_"], - [78032, 0, "1"], - [78033, 0, "&"], - [78033, 1], - [78033, 0, "^"], - [78034, 0, "\\"], - [78035, 0, "m"], - [78036, 0, "a"], - [78037, 0, "t"], - [78038, 0, "h"], - [78039, 0, "i"], - [78040, 0, "t"], - [78041, 0, "{"], - [78042, 0, "a"], - [78043, 0, "f"], - [78044, 0, "t"], - [78045, 0, "e"], - [78046, 0, "r"], - [78047, 0, "}"], - [78048, 0, "$"], - [78049, 0, " "], - [78050, 0, "a"], - [78051, 0, "n"], - [78052, 0, "d"], - [78053, 0, " "], - [78054, 0, "$"], - [78055, 0, "k"], - [78056, 0, "_"], - [78057, 0, "2"], - [78058, 0, "^"], - [78059, 0, "\\"], - [78060, 0, "m"], - [78061, 0, "a"], - [78062, 0, "t"], - [78063, 0, "h"], - [78064, 0, "i"], - [78065, 0, "t"], - [78066, 0, "{"], - [78067, 0, "a"], - [78068, 0, "f"], - [78069, 0, "t"], - [78070, 0, "e"], - [78071, 0, "r"], - [78072, 0, "}"], - [78073, 0, "$"], - [78074, 0, " "], - [78075, 0, "b"], - [78076, 0, "e"], - [78077, 0, " "], - [78078, 0, "t"], - [78079, 0, "h"], - [78080, 0, "e"], - [78081, 0, " "], - [78082, 0, "l"], - [78083, 0, "i"], - [78084, 0, "s"], - [78085, 0, "t"], - [78086, 0, " "], - [78087, 0, "e"], - [78088, 0, "l"], - [78089, 0, "e"], - [78090, 0, "m"], - [78091, 0, "e"], - [78092, 0, "n"], - [78093, 0, "t"], - [78094, 0, "s"], - [78095, 0, " "], - [78096, 0, "i"], - [78097, 0, "n"], - [78098, 0, " "], - [78099, 0, "$"], - [78100, 0, "A"], - [78101, 0, "_"], - [78102, 0, "\\"], - [78103, 0, "m"], - [78104, 0, "a"], - [78105, 0, "t"], - [78106, 0, "h"], - [78107, 0, "i"], - [78108, 0, "t"], - [78109, 0, "{"], - [78110, 0, "a"], - [78111, 0, "n"], - [78112, 0, "c"], - [78113, 0, "}"], - [78114, 0, "$"], - [78115, 0, " "], - [78116, 0, "m"], - [78117, 0, "o"], - [78118, 0, "s"], - [78119, 0, "t"], - [78120, 0, " "], - [78121, 0, "c"], - [78122, 0, "l"], - [78123, 0, "o"], - [78124, 0, "s"], - [78125, 0, "e"], - [78126, 0, "l"], - [78127, 0, "y"], - [78128, 0, " "], - [78129, 0, "p"], - [78130, 0, "r"], - [78131, 0, "e"], - [78132, 0, "c"], - [78133, 0, "e"], - [78134, 0, "d"], - [78135, 0, "e"], - [78136, 0, "d"], - [78137, 0, " "], - [78138, 0, "b"], - [78139, 0, "y"], - [78140, 0, " "], - [78141, 0, "t"], - [78142, 0, "h"], - [78143, 0, "e"], - [78144, 0, " "], - [78145, 0, "i"], - [78146, 0, "n"], - [78147, 0, "s"], - [78148, 0, "e"], - [78149, 0, "r"], - [78150, 0, "t"], - [78151, 0, "i"], - [78152, 0, "o"], - [78153, 0, "n"], - [78154, 0, " "], - [78155, 0, "p"], - [78156, 0, "o"], - [78157, 0, "s"], - [78158, 0, "i"], - [78159, 0, "t"], - [78160, 0, "i"], - [78161, 0, "o"], - [78162, 0, "n"], - [78163, 0, " "], - [78164, 0, "o"], - [78165, 0, "f"], - [78166, 0, " "], - [78167, 0, "$"], - [78168, 0, "\\"], - [78169, 0, "m"], - [78170, 0, "a"], - [78171, 0, "t"], - [78172, 0, "h"], - [78173, 0, "i"], - [78174, 0, "t"], - [78175, 0, "{"], - [78176, 0, "o"], - [78177, 0, "p"], - [78178, 0, "_"], - [78178, 1], - [78178, 0, "}"], - [78179, 0, "_"], - [78180, 0, "1"], - [78181, 0, "$"], - [78182, 0, " "], - [78183, 0, "a"], - [78184, 0, "n"], - [78185, 0, "d"], - [78186, 0, " "], - [78187, 0, "$"], - [78188, 0, "\\"], - [78189, 0, "m"], - [78190, 0, "a"], - [78191, 0, "t"], - [78192, 0, "h"], - [78193, 0, "i"], - [78194, 0, "t"], - [78195, 0, "{"], - [78196, 0, "o"], - [78197, 0, "p"], - [78198, 0, "}"], - [78199, 0, "_"], - [78200, 0, "2"], - [78201, 0, "$"], - [78202, 0, " "], - [78203, 0, "r"], - [78204, 0, "e"], - [78205, 0, "s"], - [78206, 0, "p"], - [78207, 0, "e"], - [78208, 0, "c"], - [78209, 0, "t"], - [78210, 0, "i"], - [78211, 0, "v"], - [78212, 0, "e"], - [78213, 0, "l"], - [78214, 0, "y"], - [78215, 0, "."], - [78216, 0, "\n"], - [78217, 0, "\n"], - [78218, 0, "B"], - [78219, 0, "y"], - [78220, 0, " "], - [78221, 0, "L"], - [78222, 0, "e"], - [78223, 0, "m"], - [78224, 0, "m"], - [78225, 0, "a"], - [78226, 0, "~"], - [78227, 0, "\\"], - [78228, 0, "r"], - [78229, 0, "e"], - [78230, 0, "f"], - [78231, 0, "{"], - [78232, 0, "l"], - [78233, 0, "e"], - [78234, 0, "m"], - [78235, 0, ":"], - [78236, 0, "i"], - [78237, 0, "n"], - [78238, 0, "s"], - [78239, 0, "e"], - [78240, 0, "r"], - [78241, 0, "t"], - [78242, 0, "-"], - [78243, 0, "b"], - [78244, 0, "e"], - [78245, 0, "t"], - [78246, 0, "w"], - [78247, 0, "e"], - [78248, 0, "e"], - [78249, 0, "n"], - [78250, 0, "}"], - [78251, 0, ","], - [78252, 0, " "], - [78253, 0, "e"], - [78254, 0, "i"], - [78255, 0, "t"], - [78256, 0, "h"], - [78257, 0, "e"], - [78258, 0, "r"], - [78259, 0, " "], - [74964, 0, "$"], - [74965, 0, "k"], - [74966, 0, "1"], - [74966, 1], - [74966, 0, "_"], - [74967, 0, "1"], - [74968, 0, "$"], - [74969, 0, " "], - [74970, 0, "p"], - [74971, 0, "r"], - [74972, 0, "e"], - [74973, 0, "c"], - [74974, 0, "e"], - [74975, 0, "d"], - [74976, 0, "e"], - [74977, 0, "s"], - [74978, 0, " "], - [74979, 0, "$"], - [74980, 0, "k"], - [74981, 0, "_"], - [74982, 0, "\\"], - [74983, 0, "m"], - [74984, 0, "a"], - [74985, 0, "t"], - [74986, 0, "h"], - [74987, 0, "i"], - [74988, 0, "t"], - [74989, 0, "{"], - [74990, 0, "n"], - [74991, 0, "e"], - [74992, 0, "w"], - [74993, 0, "}"], - [74994, 0, " "], - [74995, 0, "i"], - [74996, 0, "n"], - [74997, 0, " "], - [74998, 0, "t"], - [74999, 0, "h"], - [75000, 0, "e"], - [75001, 0, " "], - [75002, 0, "l"], - [75003, 0, "i"], - [75004, 0, "s"], - [75005, 0, "t"], - [75006, 0, " "], - [75007, 0, "a"], - [75008, 0, "n"], - [75009, 0, "d"], - [75010, 0, " "], - [75011, 0, "$"], - [75012, 0, "k"], - [75013, 0, "_"], - [75014, 0, "\\"], - [75015, 0, "m"], - [75016, 0, "a"], - [75017, 0, "t"], - [75018, 0, "h"], - [75019, 0, "i"], - [75020, 0, "t"], - [75021, 0, "{"], - [75022, 0, "n"], - [75023, 0, "e"], - [75024, 0, "w"], - [75025, 0, "}"], - [75026, 0, "$"], - [75027, 0, " "], - [75028, 0, "p"], - [75029, 0, "r"], - [75030, 0, "e"], - [75031, 0, "c"], - [75032, 0, "e"], - [75033, 0, "d"], - [75034, 0, "e"], - [75035, 0, "s"], - [75036, 0, " "], - [75037, 0, "$"], - [75038, 0, "k"], - [75039, 0, "_"], - [75040, 0, "2"], - [75041, 0, "$"], - [75042, 0, " "], - [75043, 0, "i"], - [75044, 0, "n"], - [75045, 0, " "], - [75046, 0, "t"], - [75047, 0, "h"], - [75048, 0, "e"], - [75049, 0, " "], - [75050, 0, "l"], - [75051, 0, "i"], - [75052, 0, "s"], - [75053, 0, "t"], - [75054, 0, " "], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [75055, 1], - [78243, 0, "$"], - [78244, 0, "k"], - [78245, 0, "_"], - [78246, 0, "1"], - [78247, 0, "^"], - [78248, 0, "\\"], - [78249, 0, "m"], - [78250, 0, "a"], - [78251, 0, "t"], - [78252, 0, "h"], - [78253, 0, "i"], - [78254, 0, "t"], - [78255, 0, "{"], - [78256, 0, "b"], - [78257, 0, "e"], - [78258, 0, "f"], - [78259, 0, "o"], - [78260, 0, "r"], - [78261, 0, "e"], - [78262, 0, "}"], - [78263, 0, " "], - [78264, 0, "="], - [78265, 0, " "], - [78266, 0, "k"], - [78267, 0, "_"], - [78268, 0, "2"], - [78269, 0, "^"], - [78270, 0, "\\"], - [78271, 0, "m"], - [78272, 0, "a"], - [78273, 0, "t"], - [78274, 0, "h"], - [78275, 0, "i"], - [78276, 0, "t"], - [78277, 0, "{"], - [78278, 0, "b"], - [78279, 0, "e"], - [78280, 0, "f"], - [78281, 0, "o"], - [78282, 0, "r"], - [78283, 0, "e"], - [78284, 0, "}"], - [78285, 0, " "], - [78286, 0, "\\"], - [78287, 0, "v"], - [78287, 1], - [78287, 0, "w"], - [78288, 0, "e"], - [78289, 0, "d"], - [78290, 0, "g"], - [78291, 0, "e"], - [78292, 0, " "], - [78293, 0, "k"], - [78294, 0, "_"], - [78295, 0, "1"], - [78296, 0, "^"], - [78297, 0, "\\"], - [78298, 0, "m"], - [78299, 0, "a"], - [78300, 0, "t"], - [78301, 0, "h"], - [78302, 0, "i"], - [78303, 0, "t"], - [78304, 0, "{"], - [78305, 0, "a"], - [78306, 0, "f"], - [78307, 0, "t"], - [78308, 0, "e"], - [78309, 0, "r"], - [78310, 0, "}"], - [78311, 0, " "], - [78312, 0, "="], - [78313, 0, " "], - [78314, 0, "k"], - [78315, 0, "_"], - [78316, 0, "2"], - [78317, 0, "^"], - [78318, 0, "\\"], - [78319, 0, "m"], - [78320, 0, "a"], - [78321, 0, "t"], - [78322, 0, "h"], - [78323, 0, "i"], - [78324, 0, "t"], - [78325, 0, "{"], - [78326, 0, "a"], - [78327, 0, "f"], - [78328, 0, "g"], - [78329, 0, "t"], - [78330, 0, "e"], - [78331, 0, "r"], - [78331, 1], - [78330, 1], - [78329, 1], - [78328, 1], - [78328, 0, "t"], - [78329, 0, "e"], - [78330, 0, "r"], - [78331, 0, "}"], - [78332, 0, "$"], - [78333, 0, " "], - [78334, 0, "("], - [78335, 0, "i"], - [78336, 0, "."], - [78337, 0, "e"], - [78338, 0, "."], - [78339, 0, " "], - [78340, 0, "$"], - [78341, 0, "\\"], - [78342, 0, "m"], - [78343, 0, "a"], - [78344, 0, "t"], - [78345, 0, "h"], - [78346, 0, "i"], - [78347, 0, "t"], - [78348, 0, "{"], - [78349, 0, "o"], - [78350, 0, "p"], - [78351, 0, "}"], - [78352, 0, "_"], - [78353, 0, "1"], - [78354, 0, "$"], - [78355, 0, " "], - [78356, 0, "a"], - [78357, 0, "n"], - [78358, 0, "d"], - [78359, 0, " "], - [78360, 0, "$"], - [78361, 0, "\\"], - [78362, 0, "m"], - [78363, 0, "a"], - [78364, 0, "t"], - [78365, 0, "h"], - [78366, 0, "i"], - [78367, 0, "t"], - [78368, 0, "{"], - [78369, 0, "o"], - [78370, 0, "p"], - [78371, 0, "}"], - [78372, 0, ")"], - [78373, 0, "_"], - [78373, 1], - [78372, 1], - [78372, 0, "_"], - [78373, 0, "2"], - [78374, 0, "$"], - [78375, 0, " "], - [78376, 0, "a"], - [78377, 0, "r"], - [78378, 0, "e"], - [78379, 0, " "], - [78380, 0, "i"], - [78381, 0, "n"], - [78382, 0, "s"], - [78383, 0, "e"], - [78384, 0, "r"], - [78385, 0, "t"], - [78386, 0, "i"], - [78387, 0, "n"], - [78388, 0, "g"], - [78389, 0, " "], - [78390, 0, "i"], - [78391, 0, "n"], - [78392, 0, "t"], - [78393, 0, "o"], - [78394, 0, " "], - [78395, 0, "t"], - [78396, 0, "h"], - [78397, 0, "e"], - [78398, 0, " "], - [78399, 0, "s"], - [78400, 0, "a"], - [78401, 0, "m"], - [78402, 0, "e"], - [78403, 0, " "], - [78404, 0, "i"], - [78405, 0, "n"], - [78406, 0, "t"], - [78407, 0, "e"], - [78408, 0, "r"], - [78409, 0, "v"], - [78410, 0, "a"], - [78411, 0, "l"], - [78412, 0, " "], - [78413, 0, "o"], - [78414, 0, "f"], - [78415, 0, " "], - [78416, 0, "l"], - [78417, 0, "i"], - [78418, 0, "s"], - [78419, 0, "t"], - [78420, 0, " "], - [78421, 0, "e"], - [78422, 0, "l"], - [78423, 0, "e"], - [78424, 0, "m"], - [78425, 0, "e"], - [78426, 0, "n"], - [78427, 0, "t"], - [78428, 0, "s"], - [78429, 0, ")"], - [78430, 0, ","], - [78431, 0, " "], - [78432, 0, "o"], - [78433, 0, "r"], - [78434, 0, " "], - [78435, 0, "$"], - [78436, 0, "k"], - [78437, 0, "_"], - [78438, 0, "2"], - [78439, 0, "&"], - [78439, 1], - [78439, 0, "&"], - [78439, 1], - [78439, 0, "^"], - [78440, 0, "\\"], - [78441, 0, "m"], - [78442, 0, "a"], - [78443, 0, "t"], - [78444, 0, "h"], - [78445, 0, "i"], - [78446, 0, "t"], - [78447, 0, "{"], - [78448, 0, "b"], - [78449, 0, "e"], - [78450, 0, "f"], - [78451, 0, "o"], - [78452, 0, "r"], - [78453, 0, "e"], - [78454, 0, "}"], - [78455, 0, " "], - [78456, 0, "\\"], - [78457, 0, "n"], - [78458, 0, "o"], - [78459, 0, "t"], - [78460, 0, "="], - [78461, 0, " "], - [78462, 0, "k"], - [78438, 1], - [78438, 0, "1"], - [78463, 0, "_"], - [78464, 0, "2"], - [78465, 0, "^"], - [78466, 0, "\\"], - [78467, 0, "m"], - [78468, 0, "a"], - [78469, 0, "t"], - [78470, 0, "h"], - [78471, 0, "i"], - [78472, 0, "t"], - [78473, 0, "{"], - [78474, 0, "b"], - [78475, 0, "e"], - [78476, 0, "f"], - [78477, 0, "o"], - [78478, 0, "r"], - [78479, 0, "e"], - [78480, 0, "}"], - [78481, 0, " "], - [78482, 0, "\\"], - [78483, 0, "w"], - [78484, 0, "e"], - [78485, 0, "d"], - [78486, 0, "g"], - [78487, 0, "e"], - [78488, 0, " "], - [78489, 0, "k"], - [78490, 0, "_"], - [78491, 0, "1"], - [78492, 0, "^"], - [78493, 0, "\\"], - [78494, 0, "m"], - [78495, 0, "a"], - [78496, 0, "t"], - [78497, 0, "h"], - [78498, 0, "i"], - [78499, 0, "t"], - [78500, 0, "{"], - [78501, 0, "a"], - [78502, 0, "f"], - [78503, 0, "t"], - [78504, 0, "e"], - [78505, 0, "r"], - [78506, 0, "}"], - [78507, 0, " "], - [78508, 0, "\\"], - [78509, 0, "n"], - [78510, 0, "o"], - [78511, 0, "t"], - [78512, 0, "="], - [78513, 0, " "], - [78514, 0, "k"], - [78515, 0, "_"], - [78516, 0, "2"], - [78517, 0, "^"], - [78518, 0, "\\"], - [78519, 0, "m"], - [78520, 0, "a"], - [78521, 0, "t"], - [78522, 0, "h"], - [78523, 0, "i"], - [78524, 0, "t"], - [78525, 0, "{"], - [78526, 0, "a"], - [78527, 0, "f"], - [78528, 0, "t"], - [78529, 0, "e"], - [78530, 0, "r"], - [78531, 0, "}"], - [78532, 0, "$"], - [78533, 0, " "], - [78534, 0, "("], - [78535, 0, "i"], - [78536, 0, "."], - [78537, 0, "e"], - [78538, 0, "."], - [78539, 0, " "], - [78540, 0, "t"], - [78541, 0, "h"], - [78542, 0, "e"], - [78543, 0, " "], - [78544, 0, "o"], - [78545, 0, "p"], - [78546, 0, "e"], - [78547, 0, "r"], - [78548, 0, "a"], - [78549, 0, "t"], - [78550, 0, "i"], - [78551, 0, "o"], - [78552, 0, "n"], - [78553, 0, "s"], - [78554, 0, " "], - [78555, 0, "a"], - [78556, 0, "r"], - [78557, 0, "e"], - [78558, 0, " "], - [78559, 0, "i"], - [78560, 0, "n"], - [78561, 0, "s"], - [78562, 0, "e"], - [78563, 0, "r"], - [78564, 0, "t"], - [78565, 0, "i"], - [78566, 0, "n"], - [78567, 0, "g"], - [78568, 0, " "], - [78569, 0, "i"], - [78570, 0, "n"], - [78571, 0, "t"], - [78572, 0, "o"], - [78573, 0, " "], - [78574, 0, "d"], - [78575, 0, "i"], - [78576, 0, "s"], - [78577, 0, "j"], - [78578, 0, "o"], - [78579, 0, "i"], - [78580, 0, "n"], - [78581, 0, "t"], - [78582, 0, " "], - [78583, 0, "i"], - [78584, 0, "n"], - [78585, 0, "t"], - [78586, 0, "e"], - [78587, 0, "r"], - [78588, 0, "v"], - [78589, 0, "a"], - [78590, 0, "l"], - [78591, 0, "s"], - [78592, 0, " "], - [78593, 0, "o"], - [78594, 0, "f"], - [78595, 0, " "], - [78596, 0, "l"], - [78597, 0, "i"], - [78598, 0, "s"], - [78599, 0, "t"], - [78600, 0, " "], - [78601, 0, "e"], - [78602, 0, "l"], - [78603, 0, "e"], - [78604, 0, "m"], - [78605, 0, "e"], - [78606, 0, "n"], - [78607, 0, "t"], - [78608, 0, "s"], - [78609, 0, ")"], - [78610, 0, "."], - [78611, 0, " "], - [78612, 0, "I"], - [78613, 0, "n"], - [78614, 0, " "], - [78615, 0, "t"], - [78616, 0, "h"], - [78617, 0, "e"], - [78618, 0, " "], - [78619, 0, "l"], - [78620, 0, "a"], - [78621, 0, "t"], - [78622, 0, "t"], - [78623, 0, "e"], - [78624, 0, "r"], - [78625, 0, " "], - [78626, 0, "c"], - [78627, 0, "a"], - [78628, 0, "s"], - [78629, 0, "e"], - [78630, 0, ","], - [78631, 0, " "], - [78632, 0, "t"], - [78633, 0, "h"], - [78634, 0, "e"], - [78635, 0, " "], - [78636, 0, "t"], - [78637, 0, "w"], - [78638, 0, "o"], - [78639, 0, " "], - [78640, 0, "o"], - [78641, 0, "p"], - [78642, 0, "e"], - [78643, 0, "r"], - [78644, 0, "a"], - [78645, 0, "t"], - [78646, 0, "i"], - [78647, 0, "o"], - [78648, 0, "n"], - [78649, 0, "s"], - [78650, 0, " "], - [78651, 0, "a"], - [78652, 0, "r"], - [78653, 0, "e"], - [78654, 0, " "], - [78655, 0, "t"], - [78656, 0, "r"], - [78657, 0, "i"], - [78658, 0, "v"], - [78659, 0, "i"], - [78660, 0, "a"], - [78661, 0, "l"], - [78662, 0, "l"], - [78663, 0, "y"], - [78664, 0, " "], - [78665, 0, "c"], - [78666, 0, "o"], - [78667, 0, "m"], - [78668, 0, "m"], - [78669, 0, "u"], - [78670, 0, "t"], - [78671, 0, "a"], - [78672, 0, "t"], - [78673, 0, "i"], - [78674, 0, "v"], - [78675, 0, "e"], - [78676, 0, ","], - [78677, 0, " "], - [78678, 0, "a"], - [78679, 0, "s"], - [78680, 0, " "], - [78681, 0, "t"], - [78682, 0, "h"], - [78683, 0, "e"], - [78684, 0, "y"], - [78685, 0, " "], - [78686, 0, "a"], - [78687, 0, "f"], - [78688, 0, "f"], - [78689, 0, "e"], - [78690, 0, "c"], - [78691, 0, "t"], - [78692, 0, " "], - [78693, 0, "d"], - [78694, 0, "i"], - [78695, 0, "f"], - [78696, 0, "f"], - [78697, 0, "e"], - [78698, 0, "r"], - [78699, 0, "e"], - [78700, 0, "n"], - [78701, 0, "t"], - [78702, 0, " "], - [78703, 0, "p"], - [78704, 0, "a"], - [78705, 0, "r"], - [78706, 0, "t"], - [78707, 0, "s"], - [78708, 0, " "], - [78709, 0, "o"], - [78710, 0, "f"], - [78711, 0, " "], - [78712, 0, "t"], - [78713, 0, "h"], - [78714, 0, "e"], - [78715, 0, " "], - [78716, 0, "l"], - [78717, 0, "i"], - [78718, 0, "s"], - [78719, 0, "t"], - [78720, 0, ","], - [78721, 0, " "], - [78722, 0, "a"], - [78723, 0, "n"], - [78724, 0, "d"], - [78725, 0, " "], - [78726, 0, "b"], - [78727, 0, "y"], - [78728, 0, " "], - [78729, 0, "L"], - [78730, 0, "e"], - [78731, 0, "m"], - [78732, 0, "m"], - [78733, 0, "a"], - [78734, 0, "~"], - [78735, 0, "\\"], - [78736, 0, "r"], - [78737, 0, "e"], - [78738, 0, "f"], - [78739, 0, "{"], - [78740, 0, "l"], - [78741, 0, "e"], - [78742, 0, "m"], - [78743, 0, ":"], - [78744, 0, "i"], - [78745, 0, "n"], - [78746, 0, "s"], - [78747, 0, "e"], - [78748, 0, "r"], - [78749, 0, "t"], - [78750, 0, "-"], - [78751, 0, "b"], - [78752, 0, "e"], - [78753, 0, "t"], - [78754, 0, "w"], - [78755, 0, "e"], - [78756, 0, "e"], - [78757, 0, "n"], - [78758, 0, "}"], - [78759, 0, " "], - [78760, 0, "t"], - [78761, 0, "h"], - [78762, 0, "e"], - [78763, 0, "y"], - [78764, 0, " "], - [78765, 0, "d"], - [78766, 0, "o"], - [78767, 0, " "], - [78768, 0, "n"], - [78769, 0, "o"], - [78770, 0, "t"], - [78771, 0, " "], - [78772, 0, "a"], - [78773, 0, "f"], - [78774, 0, "f"], - [78775, 0, "e"], - [78776, 0, "c"], - [78777, 0, "t"], - [78778, 0, " "], - [78779, 0, "p"], - [78780, 0, "a"], - [78781, 0, "r"], - [78782, 0, "t"], - [78783, 0, "s"], - [78784, 0, " "], - [78785, 0, "o"], - [78786, 0, "f"], - [78787, 0, " "], - [78788, 0, "t"], - [78789, 0, "h"], - [78790, 0, "e"], - [78791, 0, " "], - [78792, 0, "l"], - [78793, 0, "i"], - [78794, 0, "s"], - [78795, 0, "t"], - [78796, 0, " "], - [78797, 0, "o"], - [78798, 0, "u"], - [78799, 0, "t"], - [78800, 0, "s"], - [78801, 0, "i"], - [78802, 0, "d"], - [78803, 0, "e"], - [78804, 0, " "], - [78805, 0, "o"], - [78806, 0, "f"], - [78807, 0, " "], - [78808, 0, "t"], - [78809, 0, "h"], - [78810, 0, "e"], - [78811, 0, "i"], - [78812, 0, "r"], - [78813, 0, " "], - [78814, 0, "r"], - [78815, 0, "e"], - [78816, 0, "s"], - [78817, 0, "p"], - [78818, 0, "e"], - [78819, 0, "c"], - [78820, 0, "t"], - [78821, 0, "i"], - [78822, 0, "v"], - [78823, 0, "e"], - [78824, 0, " "], - [78825, 0, "r"], - [78826, 0, "a"], - [78827, 0, "n"], - [78828, 0, "g"], - [78829, 0, "e"], - [78830, 0, "s"], - [78831, 0, "."], - [74994, 0, "$"], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78847, 1], - [78833, 0, "\n"], - [78834, 0, "\n"], - [78835, 0, "F"], - [78836, 0, "o"], - [78837, 0, "r"], - [78838, 0, " "], - [78839, 0, "t"], - [78840, 0, "h"], - [78841, 0, "e"], - [78842, 0, " "], - [78843, 0, "r"], - [78844, 0, "e"], - [78845, 0, "s"], - [78846, 0, "t"], - [78847, 0, " "], - [78848, 0, "o"], - [78849, 0, "f"], - [78850, 0, " "], - [78851, 0, "t"], - [78852, 0, "h"], - [78853, 0, "i"], - [78854, 0, "s"], - [78855, 0, " "], - [78856, 0, "p"], - [78857, 0, "r"], - [78858, 0, "o"], - [78859, 0, "o"], - [78860, 0, "f"], - [78861, 0, ","], - [78862, 0, " "], - [78863, 0, "c"], - [78864, 0, "o"], - [78865, 0, "n"], - [78866, 0, "s"], - [78867, 0, "i"], - [78868, 0, "d"], - [78869, 0, "e"], - [78870, 0, "r"], - [78871, 0, " "], - [78872, 0, "t"], - [78873, 0, "h"], - [78874, 0, "e"], - [78875, 0, " "], - [78876, 0, "c"], - [78877, 0, "a"], - [78878, 0, "s"], - [78879, 0, "e"], - [78880, 0, " "], - [78881, 0, "o"], - [78882, 0, "f"], - [78883, 0, " "], - [78884, 0, "$"], - [78885, 0, "k"], - [78886, 0, "^"], - [78887, 0, "\\"], - [78888, 0, "m"], - [78889, 0, "a"], - [78890, 0, "t"], - [78891, 0, "h"], - [78892, 0, "i"], - [78893, 0, "t"], - [78894, 0, "{"], - [78895, 0, "b"], - [78896, 0, "e"], - [78897, 0, "f"], - [78898, 0, "o"], - [78899, 0, "r"], - [78900, 0, "e"], - [78901, 0, "}"], - [78902, 0, " "], - [78903, 0, "="], - [78904, 0, " "], - [78905, 0, "k"], - [78906, 0, "_"], - [78907, 0, "1"], - [78908, 0, "^"], - [78909, 0, "\\"], - [78910, 0, "m"], - [78911, 0, "a"], - [78912, 0, "t"], - [78913, 0, "h"], - [78914, 0, "i"], - [78915, 0, "t"], - [78916, 0, "{"], - [78917, 0, "b"], - [78918, 0, "e"], - [78919, 0, "f"], - [78920, 0, "o"], - [78921, 0, "r"], - [78922, 0, "e"], - [78923, 0, "}"], - [78924, 0, " "], - [78925, 0, "="], - [78926, 0, " "], - [78927, 0, "k"], - [78928, 0, "_"], - [78929, 0, "2"], - [78930, 0, "^"], - [78931, 0, "\\"], - [78932, 0, "m"], - [78933, 0, "a"], - [78934, 0, "t"], - [78935, 0, "h"], - [78936, 0, "i"], - [78937, 0, "t"], - [78938, 0, "{"], - [78939, 0, "b"], - [78940, 0, "e"], - [78941, 0, "f"], - [78942, 0, "o"], - [78943, 0, "r"], - [78944, 0, "e"], - [78945, 0, "}"], - [78946, 0, "$"], - [78947, 0, " "], - [78948, 0, "a"], - [78949, 0, "n"], - [78950, 0, "d"], - [78951, 0, " "], - [78952, 0, "$"], - [78953, 0, "k"], - [78954, 0, "^"], - [78955, 0, "\\"], - [78956, 0, "a"], - [78957, 0, "f"], - [78958, 0, "t"], - [78959, 0, "e"], - [78960, 0, "r"], - [78956, 0, "m"], - [78957, 0, "a"], - [78958, 0, "t"], - [78959, 0, "h"], - [78960, 0, "i"], - [78961, 0, "t"], - [78962, 0, "{"], - [78968, 0, "}"], - [78969, 0, " "], - [78970, 0, "="], - [78971, 0, " "], - [78972, 0, "k"], - [78973, 0, "_"], - [78974, 0, "1"], - [78975, 0, "^"], - [78976, 0, "\\"], - [78977, 0, "m"], - [78978, 0, "a"], - [78979, 0, "t"], - [78980, 0, "h"], - [78981, 0, "i"], - [78982, 0, "t"], - [78983, 0, "{"], - [78984, 0, "a"], - [78985, 0, "f"], - [78986, 0, "t"], - [78987, 0, "e"], - [78988, 0, "r"], - [78989, 0, "}"], - [78990, 0, " "], - [78991, 0, "="], - [78992, 0, " "], - [78993, 0, "k"], - [78994, 0, "_"], - [78995, 0, "2"], - [78996, 0, "^"], - [78997, 0, "\\"], - [78998, 0, "m"], - [78999, 0, "a"], - [79000, 0, "t"], - [79001, 0, "h"], - [79002, 0, "i"], - [79003, 0, "t"], - [79004, 0, "{"], - [79005, 0, "a"], - [79006, 0, "f"], - [79007, 0, "t"], - [79008, 0, "e"], - [79009, 0, "r"], - [79010, 0, "}"], - [79011, 0, "$"], - [79012, 0, "."], - [79013, 0, " "], - [79014, 0, "W"], - [79015, 0, "e"], - [79016, 0, " "], - [79017, 0, "n"], - [79018, 0, "e"], - [79019, 0, "e"], - [79020, 0, "d"], - [79021, 0, " "], - [79022, 0, "t"], - [79023, 0, "o"], - [79024, 0, " "], - [79025, 0, "s"], - [79026, 0, "h"], - [79027, 0, "o"], - [79028, 0, "w"], - [79029, 0, " "], - [79030, 0, "t"], - [79031, 0, "h"], - [79032, 0, "a"], - [79033, 0, "t"], - [79034, 0, " "], - [87587, 0, ":"], - [87588, 0, "q"], - [87589, 0, "\n"], - [87589, 1], - [87588, 1], - [87587, 1], - [73548, 1], - [73547, 1], - [73546, 1], - [73545, 1], - [73544, 1], - [73543, 1], - [73542, 1], - [73541, 1], - [73540, 1], - [73539, 1], - [73538, 1], - [73537, 1], - [73536, 1], - [73535, 1], - [73534, 1], - [73533, 1], - [73532, 1], - [73531, 1], - [73530, 1], - [73529, 1], - [73528, 1], - [73527, 1], - [73526, 1], - [73525, 1], - [73524, 1], - [73523, 1], - [73522, 1], - [73521, 1], - [73520, 1], - [73519, 1], - [73518, 1], - [73517, 1], - [73516, 1], - [73515, 1], - [73514, 1], - [73513, 1], - [73512, 1], - [73511, 1], - [73510, 1], - [73509, 1], - [73508, 1], - [73507, 1], - [73506, 1], - [73505, 1], - [73504, 1], - [73503, 1], - [73502, 1], - [73501, 1], - [73500, 1], - [73499, 1], - [73498, 1], - [73497, 1], - [73496, 1], - [73495, 1], - [73494, 1], - [73493, 1], - [73492, 1], - [73491, 1], - [73490, 1], - [73489, 1], - [73488, 1], - [73487, 1], - [73486, 1], - [73485, 1], - [73484, 1], - [73483, 1], - [73482, 1], - [73481, 1], - [73480, 1], - [73479, 1], - [73478, 1], - [73477, 1], - [73476, 1], - [73475, 1], - [73474, 1], - [73473, 1], - [73472, 1], - [73471, 1], - [73470, 1], - [73469, 1], - [73468, 1], - [73467, 1], - [73466, 1], - [73465, 1], - [73464, 1], - [73463, 1], - [73462, 1], - [73461, 1], - [73460, 1], - [73459, 1], - [73458, 1], - [73457, 1], - [73456, 1], - [73455, 1], - [73454, 1], - [73453, 1], - [73452, 1], - [73451, 1], - [73450, 1], - [73449, 1], - [73448, 1], - [73447, 1], - [73446, 1], - [73445, 1], - [73444, 1], - [73443, 1], - [73442, 1], - [73441, 1], - [73440, 1], - [73439, 1], - [73438, 1], - [73437, 1], - [73436, 1], - [73435, 1], - [73434, 1], - [73433, 1], - [73432, 1], - [73431, 1], - [73430, 1], - [73429, 1], - [73428, 1], - [73427, 1], - [73426, 1], - [73425, 1], - [73424, 1], - [73423, 1], - [73422, 1], - [73421, 1], - [73420, 1], - [73419, 1], - [73418, 1], - [73417, 1], - [73416, 1], - [73415, 1], - [73414, 1], - [73413, 1], - [73412, 1], - [73411, 1], - [73410, 1], - [73409, 1], - [73408, 1], - [73407, 1], - [73406, 1], - [73405, 1], - [73404, 1], - [73403, 1], - [73402, 1], - [73401, 1], - [73400, 1], - [73399, 1], - [73398, 1], - [73397, 1], - [73396, 1], - [73395, 1], - [73394, 1], - [73393, 1], - [73392, 1], - [73391, 1], - [73390, 1], - [73389, 1], - [73388, 1], - [73387, 1], - [73386, 1], - [73385, 1], - [73384, 1], - [73383, 1], - [73382, 1], - [73381, 1], - [73380, 1], - [73379, 1], - [73378, 1], - [73377, 1], - [73376, 1], - [73375, 1], - [73374, 1], - [73373, 1], - [73372, 1], - [73371, 1], - [73370, 1], - [73369, 1], - [73368, 1], - [73367, 1], - [73366, 1], - [73365, 1], - [73364, 1], - [73363, 1], - [73362, 1], - [73361, 1], - [73360, 1], - [73359, 1], - [73358, 1], - [73357, 1], - [73356, 1], - [73355, 1], - [73354, 1], - [73353, 1], - [73352, 1], - [73351, 1], - [73350, 1], - [73349, 1], - [73348, 1], - [73347, 1], - [73346, 1], - [73345, 1], - [73344, 1], - [73343, 1], - [73342, 1], - [73342, 0, "\\"], - [73343, 0, "b"], - [73344, 0, "e"], - [73345, 0, "g"], - [73346, 0, "i"], - [73347, 0, "n"], - [73348, 0, "{"], - [73349, 0, "t"], - [73350, 0, "h"], - [73351, 0, "e"], - [73352, 0, "o"], - [73353, 0, "r"], - [73354, 0, "e"], - [73355, 0, "m"], - [73356, 0, "}"], - [73357, 0, "\\"], - [73358, 0, "l"], - [73359, 0, "a"], - [73360, 0, "b"], - [73361, 0, "e"], - [73362, 0, "l"], - [73363, 0, "{"], - [73364, 0, "t"], - [73365, 0, "h"], - [73366, 0, "m"], - [73367, 0, ":"], - [73368, 0, "c"], - [73369, 0, "o"], - [73370, 0, "n"], - [73371, 0, "v"], - [73372, 0, "e"], - [73373, 0, "r"], - [73374, 0, "g"], - [73375, 0, "e"], - [73376, 0, "n"], - [73377, 0, "c"], - [73378, 0, "e"], - [73379, 0, "}"], - [73380, 0, "\n"], - [73381, 0, "F"], - [73382, 0, "o"], - [73383, 0, "r"], - [73384, 0, " "], - [73385, 0, "a"], - [73386, 0, "n"], - [73387, 0, "y"], - [73388, 0, " "], - [73389, 0, "t"], - [73390, 0, "w"], - [73391, 0, "o"], - [73392, 0, " "], - [73393, 0, "r"], - [73394, 0, "e"], - [73395, 0, "p"], - [73396, 0, "l"], - [73397, 0, "i"], - [73398, 0, "c"], - [73399, 0, "a"], - [73400, 0, "s"], - [73401, 0, " "], - [73402, 0, "$"], - [73403, 0, "p"], - [73404, 0, "$"], - [73405, 0, " "], - [73406, 0, "a"], - [73407, 0, "n"], - [73408, 0, "d"], - [73409, 0, " "], - [73410, 0, "$"], - [73411, 0, "q"], - [73412, 0, "$"], - [73413, 0, " "], - [73414, 0, "t"], - [73415, 0, "h"], - [73416, 0, "a"], - [73417, 0, "t"], - [73418, 0, " "], - [73419, 0, "p"], - [73420, 0, "a"], - [73421, 0, "r"], - [73422, 0, "t"], - [73423, 0, "i"], - [73424, 0, "c"], - [73425, 0, "i"], - [73426, 0, "p"], - [73427, 0, "a"], - [73428, 0, "t"], - [73429, 0, "e"], - [73430, 0, "d"], - [73431, 0, " "], - [73432, 0, "i"], - [73433, 0, "n"], - [73434, 0, " "], - [73435, 0, "a"], - [73436, 0, " "], - [73437, 0, "v"], - [73438, 0, "a"], - [73439, 0, "l"], - [73440, 0, "i"], - [73441, 0, "d"], - [73442, 0, " "], - [73443, 0, "e"], - [73444, 0, "x"], - [73445, 0, "e"], - [73446, 0, "c"], - [73447, 0, "u"], - [73448, 0, "t"], - [73449, 0, "i"], - [73450, 0, "o"], - [73451, 0, "n"], - [73452, 0, ","], - [73453, 0, " "], - [73454, 0, "i"], - [73455, 0, "f"], - [73456, 0, " "], - [73457, 0, "$"], - [73458, 0, "A"], - [73459, 0, "_"], - [73460, 0, "p"], - [73461, 0, "("], - [73462, 0, "\\"], - [73463, 0, "m"], - [73464, 0, "a"], - [73465, 0, "t"], - [73466, 0, "h"], - [73467, 0, "s"], - [73468, 0, "f"], - [73469, 0, "{"], - [73470, 0, "o"], - [73471, 0, "p"], - [73472, 0, "s"], - [73473, 0, "}"], - [73474, 0, ")"], - [73475, 0, " "], - [73476, 0, "="], - [73477, 0, " "], - [73478, 0, "A"], - [73479, 0, "_"], - [73480, 0, "q"], - [73481, 0, "("], - [73482, 0, "\\"], - [73483, 0, "m"], - [73484, 0, "a"], - [73485, 0, "t"], - [73486, 0, "h"], - [73487, 0, "s"], - [73488, 0, "f"], - [73489, 0, "{"], - [73490, 0, "o"], - [73491, 0, "p"], - [73492, 0, "s"], - [73493, 0, "}"], - [73494, 0, ")"], - [73495, 0, "$"], - [73496, 0, ","], - [73497, 0, " "], - [73498, 0, "t"], - [73499, 0, "h"], - [73500, 0, "e"], - [73501, 0, "n"], - [73502, 0, " "], - [73503, 0, "$"], - [73504, 0, "p"], - [73505, 0, "4"], - [73505, 1], - [73505, 0, "$"], - [73506, 0, " "], - [73507, 0, "a"], - [73508, 0, "n"], - [73509, 0, "d"], - [73510, 0, " "], - [73511, 0, "$"], - [73512, 0, "q"], - [73513, 0, "$"], - [73514, 0, " "], - [73515, 0, "h"], - [73516, 0, "a"], - [73517, 0, "v"], - [73518, 0, "e"], - [73519, 0, " "], - [73520, 0, "t"], - [73521, 0, "h"], - [73522, 0, "e"], - [73523, 0, " "], - [73524, 0, "s"], - [73525, 0, "a"], - [73526, 0, "m"], - [73527, 0, "e"], - [73528, 0, " "], - [73529, 0, "d"], - [73530, 0, "o"], - [73531, 0, "c"], - [73532, 0, "u"], - [73533, 0, "m"], - [73534, 0, "e"], - [73535, 0, "n"], - [73536, 0, "t"], - [73537, 0, " "], - [73538, 0, "s"], - [73539, 0, "t"], - [73540, 0, "a"], - [73541, 0, "t"], - [73542, 0, "e"], - [73543, 0, "."], - [73544, 0, "\n"], - [73545, 0, "\\"], - [73546, 0, "b"], - [73546, 1], - [73546, 0, "e"], - [73547, 0, "n"], - [73548, 0, "d"], - [73549, 0, "{"], - [73550, 0, "t"], - [73551, 0, "h"], - [73552, 0, "e"], - [73553, 0, "o"], - [73554, 0, "r"], - [73555, 0, "e"], - [73556, 0, "m"], - [73557, 0, "}"], - [73558, 0, "\n"], - [73559, 0, "\n"], - [73560, 0, "\\"], - [73561, 0, "b"], - [73562, 0, "e"], - [73563, 0, "g"], - [73564, 0, "i"], - [73565, 0, "n"], - [73566, 0, "{"], - [73567, 0, "p"], - [73568, 0, "r"], - [73569, 0, "o"], - [73570, 0, "o"], - [73571, 0, "f"], - [73572, 0, "}"], - [73573, 0, "\n"], - [73574, 0, "\\"], - [73575, 0, "e"], - [73576, 0, "n"], - [73577, 0, "d"], - [73578, 0, "{"], - [73579, 0, "p"], - [73580, 0, "r"], - [73581, 0, "o"], - [73582, 0, "o"], - [73583, 0, "f"], - [73584, 0, "}"], - [73573, 0, "\n"], - [73574, 0, "C"], - [73575, 0, "o"], - [73576, 0, "n"], - [73577, 0, "s"], - [73578, 0, "i"], - [73579, 0, "d"], - [73580, 0, "e"], - [73581, 0, "r"], - [73582, 0, " "], - [73583, 0, "t"], - [73584, 0, "h"], - [73585, 0, "e"], - [73586, 0, " "], - [73587, 0, "h"], - [73588, 0, "i"], - [73589, 0, "s"], - [73590, 0, "t"], - [73591, 0, "o"], - [73592, 0, "r"], - [73593, 0, "y"], - [73594, 0, " "], - [73594, 1], - [73593, 1], - [73593, 0, "i"], - [73594, 0, "e"], - [73595, 0, "s"], - [73596, 0, " "], - [73597, 0, "$"], - [73598, 0, "H"], - [73599, 0, "_"], - [73600, 0, "p"], - [73601, 0, "$"], - [73602, 0, " "], - [73603, 0, "a"], - [73604, 0, "n"], - [73605, 0, "d"], - [73606, 0, " "], - [73607, 0, "$"], - [73608, 0, "H"], - [73609, 0, "_"], - [73610, 0, "q"], - [73611, 0, "$"], - [73612, 0, " "], - [73613, 0, "a"], - [73614, 0, "t"], - [73615, 0, " "], - [73616, 0, "$"], - [73617, 0, "p"], - [73618, 0, "$"], - [73619, 0, " "], - [73620, 0, "a"], - [73621, 0, "n"], - [73622, 0, "d"], - [73623, 0, " "], - [73624, 0, "$"], - [73625, 0, "q"], - [73626, 0, "$"], - [73627, 0, " "], - [73628, 0, "r"], - [73629, 0, "e"], - [73630, 0, "s"], - [73631, 0, "p"], - [73632, 0, "e"], - [73633, 0, "c"], - [73634, 0, "t"], - [73635, 0, "i"], - [73636, 0, "v"], - [73637, 0, "e"], - [73638, 0, "l"], - [73639, 0, "y"], - [73640, 0, "."], - [73641, 0, " "], - [73640, 0, " "], - [73641, 0, "("], - [73642, 0, "s"], - [73643, 0, "e"], - [73644, 0, "e"], - [73645, 0, " "], - [73646, 0, "D"], - [73647, 0, "e"], - [73648, 0, "f"], - [73649, 0, "i"], - [73650, 0, "n"], - [73651, 0, "i"], - [73652, 0, "t"], - [73653, 0, "i"], - [73654, 0, "o"], - [73655, 0, "n"], - [73656, 0, "~"], - [73657, 0, "\\"], - [73658, 0, "r"], - [73659, 0, "e"], - [73660, 0, "f"], - [73661, 0, "{"], - [73662, 0, "d"], - [73663, 0, "e"], - [73664, 0, "f"], - [73665, 0, ":"], - [73666, 0, "h"], - [73667, 0, "i"], - [73668, 0, "s"], - [73669, 0, "t"], - [73670, 0, "o"], - [73671, 0, "r"], - [73672, 0, "y"], - [73673, 0, "}"], - [73674, 0, ")"], - [69768, 0, "\\"], - [69769, 0, "l"], - [69770, 0, "a"], - [69771, 0, "b"], - [69772, 0, "e"], - [69773, 0, "l"], - [69774, 0, "{"], - [69775, 0, "d"], - [69776, 0, "e"], - [69777, 0, "f"], - [69778, 0, ":"], - [69779, 0, "d"], - [69780, 0, "o"], - [69781, 0, "c"], - [69782, 0, "-"], - [69783, 0, "s"], - [69784, 0, "t"], - [69785, 0, "a"], - [69786, 0, "t"], - [69787, 0, "e"], - [69788, 0, "}"], - [68990, 0, "\\"], - [68991, 0, "l"], - [68992, 0, "a"], - [68993, 0, "b"], - [68994, 0, "e"], - [68995, 0, "l"], - [68996, 0, "{"], - [68997, 0, "d"], - [68998, 0, "e"], - [68999, 0, "f"], - [69000, 0, ":"], - [69001, 0, "h"], - [69002, 0, "i"], - [69003, 0, "s"], - [69004, 0, "t"], - [69005, 0, "o"], - [69006, 0, "r"], - [69007, 0, "y"], - [69008, 0, "}"], - [67924, 0, "\\"], - [67925, 0, "l"], - [67926, 0, "a"], - [67927, 0, "b"], - [67928, 0, "e"], - [67929, 0, "l"], - [67930, 0, "{"], - [67931, 0, "d"], - [67932, 0, "e"], - [67933, 0, "f"], - [67934, 0, ":"], - [67935, 0, "v"], - [67936, 0, "a"], - [67937, 0, "l"], - [67938, 0, "i"], - [67939, 0, "d"], - [67940, 0, "-"], - [67941, 0, "e"], - [67942, 0, "x"], - [67943, 0, "e"], - [67944, 0, "c"], - [67945, 0, "}"], - [73739, 0, "\\"], - [73740, 0, "t"], - [73741, 0, "e"], - [73742, 0, "x"], - [73743, 0, "t"], - [73744, 0, "s"], - [73745, 0, "c"], - [73746, 0, "{"], - [73747, 0, "A"], - [73748, 0, "p"], - [73749, 0, "p"], - [73750, 0, "l"], - [73751, 0, "y"], - [73752, 0, "-"], - [73753, 0, "L"], - [73754, 0, "o"], - [73755, 0, "c"], - [73756, 0, "a"], - [73757, 0, "l"], - [73758, 0, "}"], - [73759, 0, " "], - [73760, 0, "a"], - [73761, 0, "n"], - [73762, 0, "d"], - [73763, 0, " "], - [73764, 0, "\\"], - [73765, 0, "t"], - [73766, 0, "e"], - [73767, 0, "x"], - [73768, 0, "t"], - [73769, 0, "s"], - [73770, 0, "c"], - [73771, 0, "{"], - [73772, 0, "A"], - [73773, 0, "p"], - [73774, 0, "p"], - [73775, 0, "l"], - [73776, 0, "y"], - [73777, 0, "-"], - [73778, 0, "R"], - [73779, 0, "e"], - [73780, 0, "m"], - [73781, 0, "o"], - [73782, 0, "t"], - [73783, 0, "e"], - [73784, 0, "}"], - [73738, 0, " "], - [73739, 0, "T"], - [73740, 0, "h"], - [73741, 0, "e"], - [73742, 0, " "], - [73743, 0, "o"], - [73744, 0, "n"], - [73745, 0, "l"], - [73746, 0, "y"], - [73747, 0, " "], - [73748, 0, "r"], - [73749, 0, "u"], - [73750, 0, "l"], - [73751, 0, "e"], - [73752, 0, "s"], - [73753, 0, " "], - [73754, 0, "t"], - [73755, 0, "h"], - [73756, 0, "a"], - [73757, 0, "t"], - [73758, 0, " "], - [73759, 0, "a"], - [73760, 0, "p"], - [73761, 0, "p"], - [73762, 0, "l"], - [73763, 0, "y"], - [73764, 0, " "], - [73765, 0, "o"], - [73766, 0, "p"], - [73767, 0, "e"], - [73768, 0, "r"], - [73769, 0, "a"], - [73770, 0, "t"], - [73771, 0, "i"], - [73772, 0, "o"], - [73773, 0, "n"], - [73774, 0, "s"], - [73775, 0, " "], - [73776, 0, "a"], - [73777, 0, "n"], - [73778, 0, "d"], - [73779, 0, " "], - [73780, 0, "t"], - [73781, 0, "h"], - [73782, 0, "a"], - [73783, 0, "t"], - [73784, 0, " "], - [73785, 0, "m"], - [73786, 0, "o"], - [73787, 0, "d"], - [73788, 0, "i"], - [73789, 0, "f"], - [73790, 0, "y"], - [73791, 0, " "], - [73792, 0, "$"], - [73793, 0, "A"], - [73794, 0, "_"], - [73795, 0, "p"], - [73796, 0, "("], - [73797, 0, "\\"], - [73798, 0, "m"], - [73799, 0, "a"], - [73800, 0, "t"], - [73801, 0, "h"], - [73802, 0, "s"], - [73803, 0, "f"], - [73804, 0, "{"], - [73805, 0, "o"], - [73806, 0, "p"], - [73807, 0, "s"], - [73808, 0, "}"], - [73809, 0, ")"], - [73810, 0, "$"], - [73811, 0, " "], - [73812, 0, "a"], - [73813, 0, "n"], - [73814, 0, "d"], - [73815, 0, " "], - [73816, 0, "$"], - [73817, 0, "A"], - [73818, 0, "_"], - [73819, 0, "q"], - [73820, 0, "("], - [73821, 0, "\\"], - [73822, 0, "m"], - [73823, 0, "a"], - [73824, 0, "t"], - [73825, 0, "h"], - [73826, 0, "s"], - [73827, 0, "f"], - [73828, 0, "{"], - [73829, 0, "o"], - [73830, 0, "p"], - [73831, 0, "s"], - [73832, 0, ")"], - [73832, 1], - [73832, 0, "}"], - [73833, 0, ")"], - [73834, 0, "$"], - [73835, 0, " "], - [73836, 0, "a"], - [73837, 0, "r"], - [73838, 0, "e"], - [73886, 0, ","], - [73887, 0, " "], - [73888, 0, "a"], - [73889, 0, "n"], - [73890, 0, "d"], - [73891, 0, " "], - [73892, 0, "t"], - [73893, 0, "h"], - [73894, 0, "e"], - [73895, 0, "y"], - [73896, 0, " "], - [73897, 0, "m"], - [73898, 0, "a"], - [73899, 0, "i"], - [73900, 0, "n"], - [73901, 0, "t"], - [73902, 0, "a"], - [73903, 0, "i"], - [73904, 0, "n"], - [73905, 0, " "], - [73906, 0, "t"], - [73907, 0, "h"], - [73908, 0, "e"], - [73909, 0, " "], - [73910, 0, "v"], - [73911, 0, "a"], - [73912, 0, "r"], - [73913, 0, "i"], - [73914, 0, "a"], - [73915, 0, "n"], - [73916, 0, "t"], - [73917, 0, " "], - [73918, 0, "t"], - [73919, 0, "h"], - [73920, 0, "a"], - [73921, 0, "t"], - [73922, 0, " "], - [73923, 0, "a"], - [73924, 0, "n"], - [73925, 0, " "], - [73925, 1], - [73924, 1], - [73923, 1], - [73923, 0, "f"], - [73924, 0, "o"], - [73925, 0, "r"], - [73926, 0, " "], - [73927, 0, "a"], - [73928, 0, "n"], - [73929, 0, "y"], - [73930, 0, " "], - [73931, 0, "o"], - [73932, 0, "p"], - [73933, 0, "e"], - [73934, 0, "r"], - [73935, 0, "a"], - [73936, 0, "t"], - [73937, 0, "i"], - [73938, 0, "o"], - [73939, 0, "n"], - [73940, 0, " "], - [73941, 0, "$"], - [73942, 0, "\\"], - [73943, 0, "m"], - [73944, 0, "a"], - [73945, 0, "t"], - [73946, 0, "h"], - [73947, 0, "i"], - [73948, 0, "t"], - [73949, 0, "{"], - [73950, 0, "o"], - [73951, 0, "p"], - [73952, 0, "}"], - [73953, 0, "$"], - [73954, 0, ","], - [73955, 0, " "], - [73956, 0, "$"], - [73957, 0, "\\"], - [73958, 0, "m"], - [73959, 0, "a"], - [73960, 0, "t"], - [73961, 0, "h"], - [73962, 0, "i"], - [73963, 0, "t"], - [73964, 0, "{"], - [73965, 0, "o"], - [73966, 0, "p"], - [73967, 0, "}"], - [73968, 0, " "], - [73969, 0, "\\"], - [73970, 0, "i"], - [73971, 0, "n"], - [73972, 0, " "], - [73890, 1], - [73889, 1], - [73888, 1], - [73887, 1], - [73886, 1], - [73890, 1], - [73889, 1], - [73888, 1], - [73887, 1], - [73886, 1], - [73900, 0, "i"], - [73901, 0, "n"], - [73921, 1], - [73920, 1], - [73919, 1], - [73918, 1], - [73917, 1], - [73916, 1], - [73915, 1], - [73915, 0, "a"], - [73916, 0, "n"], - [73959, 1], - [73958, 1], - [73957, 1], - [73956, 1], - [73955, 1], - [73954, 1], - [73953, 1], - [73952, 1], - [73951, 1], - [73950, 1], - [73949, 1], - [73948, 1], - [73947, 1], - [73946, 1], - [73945, 1], - [73944, 1], - [73943, 1], - [73942, 1], - [73941, 1], - [73940, 1], - [73939, 1], - [73938, 1], - [73937, 1], - [73936, 1], - [73935, 1], - [73934, 1], - [73933, 1], - [73932, 1], - [73931, 1], - [73930, 1], - [73929, 1], - [73928, 1], - [73928, 0, "i"], - [73929, 0, "s"], - [73930, 0, " "], - [73931, 0, "a"], - [73932, 0, "d"], - [73933, 0, "d"], - [73934, 0, "e"], - [73935, 0, "d"], - [73936, 0, " "], - [73937, 0, "t"], - [73938, 0, "o"], - [73939, 0, " "], - [73940, 0, "$"], - [73941, 0, "A"], - [73942, 0, "_"], - [73943, 0, "p"], - [73944, 0, "("], - [73945, 0, "\\"], - [73946, 0, "m"], - [73947, 0, "a"], - [73948, 0, "t"], - [73949, 0, "h"], - [73950, 0, "s"], - [73951, 0, "f"], - [73952, 0, "{"], - [73953, 0, "o"], - [73954, 0, "p"], - [73955, 0, "s"], - [73956, 0, "}"], - [73957, 0, ")"], - [73958, 0, " "], - [73958, 1], - [73958, 0, "$"], - [73959, 0, " "], - [73960, 0, "o"], - [73961, 0, "r"], - [73962, 0, " "], - [73963, 0, "$"], - [73964, 0, "A"], - [73965, 0, "_"], - [73966, 0, "q"], - [73967, 0, "("], - [73968, 0, "\\"], - [73969, 0, "m"], - [73970, 0, "a"], - [73971, 0, "t"], - [73972, 0, "h"], - [73973, 0, "s"], - [73974, 0, "f"], - [73975, 0, "{"], - [73976, 0, "o"], - [73977, 0, "p"], - [73978, 0, "s"], - [73979, 0, "}"], - [73980, 0, ")"], - [73981, 0, "$"], - [73982, 0, " "], - [73983, 0, "i"], - [73984, 0, "f"], - [73985, 0, "f"], - [73985, 1], - [73985, 0, " "], - [73986, 0, "a"], - [73987, 0, "n"], - [73988, 0, "d"], - [73989, 0, " "], - [73990, 0, "o"], - [73991, 0, "n"], - [73992, 0, "l"], - [73993, 0, "y"], - [73994, 0, " "], - [73995, 0, "i"], - [73996, 0, "f"], - [73997, 0, " "], - [73998, 0, "i"], - [73999, 0, "t"], - [74000, 0, " "], - [74001, 0, "w"], - [74002, 0, "a"], - [74003, 0, "s"], - [74004, 0, " "], - [74005, 0, "a"], - [74006, 0, "p"], - [74007, 0, "p"], - [74008, 0, "l"], - [74009, 0, "i"], - [74010, 0, "e"], - [74011, 0, "d"], - [74012, 0, " "], - [74013, 0, "t"], - [74014, 0, "o"], - [74015, 0, " "], - [74016, 0, "t"], - [74017, 0, "h"], - [74018, 0, "e"], - [74019, 0, " "], - [74020, 0, "d"], - [74021, 0, "o"], - [74022, 0, "c"], - [74023, 0, "u"], - [74024, 0, "m"], - [74025, 0, "e"], - [74026, 0, "n"], - [74027, 0, "t"], - [74028, 0, " "], - [74029, 0, "s"], - [74030, 0, "t"], - [74031, 0, "a"], - [74032, 0, "t"], - [74033, 0, "e"], - [74034, 0, "."], - [73839, 1], - [73838, 1], - [73837, 1], - [73836, 1], - [73835, 1], - [73834, 1], - [73833, 1], - [73832, 1], - [73831, 1], - [73830, 1], - [73829, 1], - [73828, 1], - [73827, 1], - [73826, 1], - [73825, 1], - [73824, 1], - [73823, 1], - [73822, 1], - [73821, 1], - [73820, 1], - [73819, 1], - [73818, 1], - [73817, 1], - [73816, 1], - [73815, 1], - [73814, 1], - [73813, 1], - [73812, 1], - [73811, 1], - [73810, 1], - [73809, 1], - [73808, 1], - [73807, 1], - [73806, 1], - [73805, 1], - [73804, 1], - [73803, 1], - [73802, 1], - [73801, 1], - [73800, 1], - [73799, 1], - [73798, 1], - [73797, 1], - [73796, 1], - [73795, 1], - [73794, 1], - [73793, 1], - [73792, 1], - [73791, 1], - [73790, 1], - [73789, 1], - [73788, 1], - [73787, 1], - [73786, 1], - [73785, 1], - [73784, 1], - [73783, 1], - [73782, 1], - [73781, 1], - [73780, 1], - [73779, 1], - [73778, 1], - [73777, 1], - [73776, 1], - [73775, 1], - [73774, 1], - [73773, 1], - [73772, 1], - [73771, 1], - [73770, 1], - [73769, 1], - [73768, 1], - [73767, 1], - [73766, 1], - [73765, 1], - [73764, 1], - [73763, 1], - [73762, 1], - [73761, 1], - [73760, 1], - [73759, 1], - [73758, 1], - [73757, 1], - [73756, 1], - [73755, 1], - [73754, 1], - [73747, 1], - [73746, 1], - [73745, 1], - [73744, 1], - [73743, 1], - [73944, 0, " "], - [73945, 0, "T"], - [73946, 0, "h"], - [73947, 0, "u"], - [73948, 0, "s"], - [73949, 0, ","], - [73950, 0, " "], - [73951, 0, "i"], - [73952, 0, "f"], - [73953, 0, " "], - [73954, 0, "$"], - [73955, 0, "A"], - [73956, 0, "_"], - [73957, 0, "p"], - [73958, 0, "{"], - [73959, 0, "\\"], - [73959, 1], - [73958, 1], - [73958, 0, "("], - [73959, 0, "\\"], - [73960, 0, "m"], - [73961, 0, "a"], - [73962, 0, "t"], - [73963, 0, "h"], - [73964, 0, "s"], - [73965, 0, "f"], - [73966, 0, "{"], - [73967, 0, "o"], - [73968, 0, "p"], - [73969, 0, "s"], - [73970, 0, "}"], - [73971, 0, ")"], - [73972, 0, " "], - [73973, 0, "="], - [73974, 0, " "], - [73975, 0, "A"], - [73976, 0, "_"], - [73977, 0, "q"], - [73978, 0, "("], - [73979, 0, "\\"], - [73980, 0, "m"], - [73981, 0, "a"], - [73982, 0, "t"], - [73983, 0, "h"], - [73984, 0, "s"], - [73985, 0, "f"], - [73986, 0, "{"], - [73987, 0, "o"], - [73988, 0, "p"], - [73989, 0, "s"], - [73990, 0, "}"], - [73991, 0, ")"], - [73992, 0, "$"], - [73993, 0, " "], - [73994, 0, "t"], - [73995, 0, "h"], - [73996, 0, "e"], - [73997, 0, "n"], - [73998, 0, " "], - [73999, 0, "$"], - [74000, 0, "H"], - [74001, 0, "_"], - [74002, 0, "p"], - [74003, 0, "$"], - [74004, 0, " "], - [74005, 0, "a"], - [74006, 0, "n"], - [74007, 0, "d"], - [74008, 0, " "], - [74009, 0, "$"], - [74010, 0, "H"], - [74011, 0, "_"], - [74012, 0, "q"], - [74013, 0, "$"], - [74014, 0, " "], - [74015, 0, "c"], - [74016, 0, "o"], - [74017, 0, "n"], - [74018, 0, "t"], - [74019, 0, "a"], - [74020, 0, "i"], - [74021, 0, "n"], - [74022, 0, " "], - [74023, 0, "t"], - [74024, 0, "h"], - [74025, 0, "e"], - [74026, 0, " "], - [74027, 0, "s"], - [74028, 0, "a"], - [74029, 0, "m"], - [74030, 0, "e"], - [74031, 0, " "], - [74032, 0, "s"], - [74033, 0, "e"], - [74034, 0, "t"], - [74035, 0, " "], - [74036, 0, "o"], - [74037, 0, "f"], - [74038, 0, " "], - [74039, 0, "o"], - [74040, 0, "p"], - [74041, 0, "e"], - [74042, 0, "r"], - [74043, 0, "a"], - [74044, 0, "t"], - [74045, 0, "i"], - [74046, 0, "o"], - [74047, 0, "n"], - [74048, 0, "s"], - [74049, 0, ","], - [74050, 0, " "], - [74051, 0, "b"], - [74052, 0, "u"], - [74053, 0, "t"], - [74054, 0, " "], - [74055, 0, "p"], - [74056, 0, "o"], - [74057, 0, "t"], - [74058, 0, "e"], - [74059, 0, "n"], - [74060, 0, "t"], - [74061, 0, "i"], - [74062, 0, "a"], - [74063, 0, "l"], - [74064, 0, "l"], - [74065, 0, "y"], - [74066, 0, " "], - [74067, 0, "i"], - [74068, 0, "n"], - [74069, 0, " "], - [74070, 0, "a"], - [74071, 0, " "], - [74072, 0, "d"], - [74073, 0, "i"], - [74074, 0, "f"], - [74075, 0, "f"], - [74076, 0, "e"], - [74077, 0, "r"], - [74078, 0, "e"], - [74079, 0, "n"], - [74080, 0, "t"], - [74081, 0, " "], - [74082, 0, "o"], - [74083, 0, "r"], - [74084, 0, "d"], - [74085, 0, "e"], - [74086, 0, "r"], - [74087, 0, "."], - [73953, 1], - [73952, 1], - [73951, 1], - [73994, 1], - [73993, 1], - [73992, 1], - [73991, 1], - [73991, 0, "i"], - [73992, 0, "f"], - [73993, 0, " "], - [73994, 0, "a"], - [73995, 0, "n"], - [73996, 0, "d"], - [73997, 0, " "], - [73998, 0, "o"], - [73999, 0, "n"], - [74000, 0, "l"], - [74001, 0, "y"], - [74002, 0, " "], - [74002, 1], - [74001, 1], - [74000, 1], - [73999, 1], - [73998, 1], - [73997, 1], - [73996, 1], - [73995, 1], - [73994, 1], - [73993, 1], - [73993, 0, "f"], - [74049, 1], - [74048, 1], - [74047, 1], - [74046, 1], - [74045, 1], - [74046, 0, "("], - [74079, 0, ")"], - [74063, 1], - [74062, 1], - [74077, 0, "s"], - [74080, 0, "\n"], - [74081, 0, "\n"], - [74082, 0, "W"], - [74083, 0, "e"], - [74084, 0, " "], - [74085, 0, "c"], - [74086, 0, "a"], - [74087, 0, "n"], - [74088, 0, " "], - [74089, 0, "p"], - [74090, 0, "r"], - [74091, 0, "o"], - [74092, 0, "v"], - [74093, 0, "e"], - [74094, 0, " "], - [74095, 0, "t"], - [74096, 0, "h"], - [74097, 0, "a"], - [74098, 0, "t"], - [74099, 0, " "], - [74099, 1], - [74098, 1], - [74097, 1], - [74096, 1], - [74095, 1], - [74094, 1], - [74093, 1], - [74092, 1], - [74091, 1], - [74090, 1], - [74089, 1], - [74088, 1], - [74087, 1], - [74086, 1], - [74085, 1], - [74084, 1], - [74083, 1], - [74082, 1], - [74082, 0, "T"], - [74083, 0, "h"], - [74084, 0, "e"], - [74085, 0, " "], - [74086, 0, "f"], - [74087, 0, "i"], - [74088, 0, "n"], - [74089, 0, "a"], - [74090, 0, "."], - [74091, 0, " "], - [74091, 1], - [74090, 1], - [74090, 0, "l"], - [74091, 0, " "], - [74092, 0, "d"], - [74093, 0, "o"], - [74094, 0, "c"], - [74095, 0, "u"], - [74096, 0, "m"], - [74097, 0, "e"], - [74098, 0, "n"], - [74099, 0, "t"], - [74100, 0, " "], - [74101, 0, "s"], - [74102, 0, "t"], - [74103, 0, "a"], - [74104, 0, "t"], - [74105, 0, "e"], - [74106, 0, " "], - [74091, 1], - [74090, 1], - [74089, 1], - [74088, 1], - [74087, 1], - [74086, 1], - [74101, 0, "a"], - [74102, 0, "t"], - [74103, 0, " "], - [74104, 0, "r"], - [74105, 0, "e"], - [74106, 0, "p"], - [74107, 0, "l"], - [74108, 0, "i"], - [74109, 0, "c"], - [74110, 0, "a"], - [74111, 0, " "], - [74112, 0, "$"], - [74113, 0, "p"], - [74114, 0, "$"], - [74115, 0, " "], - [74116, 0, "c"], - [74117, 0, "a"], - [74118, 0, "n"], - [74119, 0, " "], - [74119, 1], - [74118, 1], - [74117, 1], - [74116, 1], - [74116, 0, "i"], - [74117, 0, "s"], - [74118, 0, " "], - [74119, 0, "d"], - [74120, 0, "e"], - [74121, 0, "t"], - [74122, 0, "e"], - [74123, 0, "r"], - [74124, 0, "m"], - [74125, 0, "i"], - [74126, 0, "n"], - [74127, 0, "e"], - [74128, 0, "d"], - [74129, 0, " "], - [74130, 0, "e"], - [74131, 0, "n"], - [74132, 0, "t"], - [74133, 0, "i"], - [74134, 0, "r"], - [74135, 0, "e"], - [74136, 0, "l"], - [74137, 0, "y"], - [74138, 0, " "], - [74138, 1], - [74137, 1], - [74136, 1], - [74135, 1], - [74134, 1], - [74133, 1], - [74132, 1], - [74131, 1], - [74130, 1], - [74129, 1], - [74128, 1], - [74127, 1], - [74126, 1], - [74125, 1], - [74124, 1], - [74123, 1], - [74122, 1], - [74121, 1], - [74121, 0, "r"], - [74122, 0, "i"], - [74123, 0, "v"], - [74124, 0, "e"], - [74125, 0, "d"], - [74126, 0, " "], - [74127, 0, "f"], - [74128, 0, "r"], - [74129, 0, "o"], - [74130, 0, "m"], - [74131, 0, " "], - [74132, 0, "t"], - [74133, 0, "h"], - [74134, 0, "e"], - [74135, 0, " "], - [74136, 0, "h"], - [74137, 0, "i"], - [74138, 0, "s"], - [74139, 0, "t"], - [74140, 0, "o"], - [74141, 0, "r"], - [74142, 0, "y"], - [74143, 0, " "], - [74144, 0, "$"], - [74145, 0, "H"], - [74146, 0, "_"], - [74147, 0, "p"], - [74148, 0, "$"], - [74149, 0, " "], - [74081, 0, "\n"], - [74082, 0, "T"], - [74083, 0, "h"], - [74084, 0, "e"], - [74085, 0, " "], - [74086, 0, "h"], - [74087, 0, "i"], - [74088, 0, "s"], - [74089, 0, "t"], - [74090, 0, "o"], - [74091, 0, "r"], - [74092, 0, "y"], - [74093, 0, " "], - [74094, 0, "i"], - [74095, 0, "s"], - [74096, 0, " "], - [74097, 0, "a"], - [74098, 0, " "], - [74098, 1], - [74097, 1], - [74096, 1], - [74095, 1], - [74094, 1], - [74094, 0, "a"], - [74095, 0, "t"], - [74096, 0, " "], - [74097, 0, "r"], - [74098, 0, "e"], - [74099, 0, "p"], - [74100, 0, "l"], - [74101, 0, "i"], - [74102, 0, "c"], - [74103, 0, "a"], - [74104, 0, " "], - [74105, 0, "$"], - [74106, 0, "p"], - [74107, 0, "$"], - [74108, 0, " "], - [74109, 0, "i"], - [74110, 0, "s"], - [74111, 0, " "], - [74112, 0, "a"], - [74113, 0, " "], - [74114, 0, "s"], - [74115, 0, "e"], - [74116, 0, "q"], - [74117, 0, "u"], - [74118, 0, "e"], - [74119, 0, "n"], - [74120, 0, "c"], - [74121, 0, "e"], - [74122, 0, " "], - [74123, 0, "o"], - [74124, 0, "f"], - [74125, 0, " "], - [74126, 0, "o"], - [74127, 0, "p"], - [74128, 0, "e"], - [74129, 0, "r"], - [74130, 0, "a"], - [74131, 0, "t"], - [74132, 0, "i"], - [74133, 0, "o"], - [74134, 0, "n"], - [74135, 0, "s"], - [74136, 0, " "], - [74137, 0, "$"], - [74138, 0, "H"], - [74139, 0, "_"], - [74140, 0, "p"], - [74141, 0, " "], - [74142, 0, "="], - [74143, 0, " "], - [74144, 0, "o"], - [74145, 0, "_"], - [74146, 0, "1"], - [74147, 0, " "], - [74148, 0, "\\"], - [74149, 0, "d"], - [74150, 0, "o"], - [74151, 0, "t"], - [74152, 0, "s"], - [74153, 0, " "], - [74154, 0, "o"], - [74155, 0, "_"], - [74156, 0, "n"], - [74157, 0, "$"], - [74158, 0, ","], - [74159, 0, " "], - [74160, 0, "a"], - [74161, 0, "n"], - [74162, 0, "d"], - [74163, 0, " "], - [74164, 0, "t"], - [74165, 0, "h"], - [74166, 0, "e"], - [74167, 0, " "], - [74168, 0, "d"], - [74169, 0, "o"], - [74170, 0, "c"], - [74171, 0, "u"], - [74172, 0, "m"], - [74173, 0, "e"], - [74174, 0, "n"], - [74175, 0, "t"], - [74176, 0, " "], - [74177, 0, "s"], - [74178, 0, "t"], - [74179, 0, "a"], - [74180, 0, "t"], - [74181, 0, "e"], - [74182, 0, " "], - [74183, 0, "a"], - [74184, 0, "t"], - [74185, 0, " "], - [74186, 0, "$"], - [74187, 0, "p"], - [74188, 0, "$"], - [74189, 0, " "], - [74190, 0, "i"], - [74191, 0, "s"], - [74192, 0, " "], - [74193, 0, "d"], - [74194, 0, "e"], - [74195, 0, "r"], - [74196, 0, "i"], - [74197, 0, "v"], - [74198, 0, "e"], - [74199, 0, "d"], - [74200, 0, " "], - [74201, 0, "f"], - [74202, 0, "r"], - [74203, 0, "o"], - [74204, 0, "m"], - [74205, 0, " "], - [74206, 0, "$"], - [74207, 0, "H"], - [74208, 0, "_"], - [74209, 0, "p"], - [74210, 0, "$"], - [74211, 0, " "], - [74212, 0, "b"], - [74213, 0, "y"], - [74214, 0, " "], - [74215, 0, "s"], - [74216, 0, "t"], - [74217, 0, "a"], - [74218, 0, "r"], - [74219, 0, "t"], - [74220, 0, "i"], - [74221, 0, "n"], - [74222, 0, "g"], - [74223, 0, " "], - [74224, 0, "i"], - [74225, 0, "n"], - [74226, 0, " "], - [74227, 0, "t"], - [74228, 0, "h"], - [74229, 0, "e"], - [74230, 0, " "], - [74231, 0, "e"], - [74232, 0, "m"], - [74233, 0, "p"], - [74234, 0, "s"], - [74234, 1], - [74234, 0, "t"], - [74235, 0, "y"], - [74236, 0, " "], - [74237, 0, "s"], - [74238, 0, "t"], - [74239, 0, "a"], - [74240, 0, "t"], - [74241, 0, "e"], - [74242, 0, " "], - [74243, 0, "a"], - [74244, 0, "n"], - [74245, 0, "d"], - [74246, 0, " "], - [74247, 0, "a"], - [74248, 0, "p"], - [74249, 0, "p"], - [74250, 0, "l"], - [74251, 0, "y"], - [74252, 0, " "], - [74252, 1], - [74252, 0, "i"], - [74253, 0, "n"], - [74254, 0, "g"], - [74255, 0, " "], - [74256, 0, "t"], - [74257, 0, "h"], - [74258, 0, "e"], - [74259, 0, " "], - [74260, 0, "o"], - [74261, 0, "p"], - [74262, 0, "e"], - [74263, 0, "r"], - [74264, 0, "a"], - [74265, 0, "t"], - [74266, 0, "i"], - [74267, 0, "o"], - [74268, 0, "n"], - [74269, 0, "s"], - [74270, 0, " "], - [74271, 0, "i"], - [74272, 0, "n"], - [74273, 0, " "], - [74274, 0, "o"], - [74275, 0, "r"], - [74276, 0, "d"], - [74277, 0, "e"], - [74278, 0, "r"], - [74279, 0, "."], - [74280, 0, " "], - [74281, 0, "L"], - [74282, 0, "i"], - [74283, 0, "k"], - [74284, 0, "e"], - [74285, 0, " "], - [74285, 1], - [74285, 0, "w"], - [74286, 0, "i"], - [74287, 0, "s"], - [74288, 0, "e"], - [74289, 0, ","], - [74290, 0, " "], - [74291, 0, "t"], - [74292, 0, "h"], - [74293, 0, "e"], - [74294, 0, " "], - [74295, 0, "d"], - [74296, 0, "o"], - [74297, 0, "c"], - [74298, 0, "u"], - [74299, 0, "m"], - [74300, 0, "e"], - [74301, 0, "n"], - [74302, 0, "t"], - [74303, 0, " "], - [74304, 0, "s"], - [74305, 0, "t"], - [74306, 0, "a"], - [74307, 0, "t"], - [74308, 0, "e"], - [74309, 0, " "], - [74310, 0, "a"], - [74311, 0, "t"], - [74312, 0, " "], - [74313, 0, "$"], - [74314, 0, "q"], - [74315, 0, "$"], - [74316, 0, " "], - [74317, 0, "i"], - [74318, 0, "s"], - [74319, 0, " "], - [74320, 0, "d"], - [74321, 0, "e"], - [74322, 0, "r"], - [74323, 0, "i"], - [74324, 0, "v"], - [74325, 0, "e"], - [74326, 0, "d"], - [74327, 0, " "], - [74328, 0, "f"], - [74329, 0, "r"], - [74330, 0, "o"], - [74331, 0, "m"], - [74332, 0, " "], - [74333, 0, "$"], - [74334, 0, "H"], - [74335, 0, "_"], - [74336, 0, "q"], - [74337, 0, "$"], - [74338, 0, ","], - [74339, 0, " "], - [74340, 0, "w"], - [74341, 0, "h"], - [74342, 0, "i"], - [74343, 0, "c"], - [74344, 0, "h"], - [74345, 0, " "], - [74346, 0, "i"], - [74347, 0, "s"], - [74348, 0, " "], - [74349, 0, "a"], - [74350, 0, " "], - [74351, 0, "p"], - [74352, 0, "e"], - [74353, 0, "r"], - [74354, 0, "m"], - [74355, 0, "u"], - [74356, 0, "t"], - [74357, 0, "a"], - [74358, 0, "t"], - [74359, 0, "i"], - [74360, 0, "o"], - [74361, 0, "n"], - [74362, 0, " "], - [74363, 0, "o"], - [74364, 0, "f"], - [74365, 0, " "], - [74366, 0, "$"], - [74367, 0, "H"], - [74368, 0, "_"], - [74369, 0, "p"], - [74370, 0, "$"], - [74371, 0, "."], - [74440, 1], - [74439, 1], - [74438, 1], - [74437, 1], - [74436, 1], - [74435, 1], - [74434, 1], - [74433, 1], - [74432, 1], - [74431, 1], - [74430, 1], - [74429, 1], - [74428, 1], - [74427, 1], - [74426, 1], - [74425, 1], - [74424, 1], - [74423, 1], - [74422, 1], - [74421, 1], - [74420, 1], - [74419, 1], - [74418, 1], - [74417, 1], - [74416, 1], - [74415, 1], - [74414, 1], - [74413, 1], - [74412, 1], - [74411, 1], - [74410, 1], - [74409, 1], - [74408, 1], - [74407, 1], - [74406, 1], - [74405, 1], - [74404, 1], - [74403, 1], - [74402, 1], - [74401, 1], - [74400, 1], - [74399, 1], - [74398, 1], - [74397, 1], - [74396, 1], - [74395, 1], - [74394, 1], - [74393, 1], - [74392, 1], - [74391, 1], - [74390, 1], - [74389, 1], - [74388, 1], - [74387, 1], - [74386, 1], - [74385, 1], - [74384, 1], - [74383, 1], - [74382, 1], - [74381, 1], - [74380, 1], - [74379, 1], - [74378, 1], - [74377, 1], - [74376, 1], - [74375, 1], - [74374, 1], - [74373, 1], - [74372, 1], - [74372, 0, " "], - [74373, 0, "B"], - [74374, 0, "o"], - [74375, 0, "t"], - [74376, 0, "h"], - [74377, 0, " "], - [74378, 0, "h"], - [74379, 0, "i"], - [74380, 0, "s"], - [74381, 0, "t"], - [74382, 0, "o"], - [74383, 0, "r"], - [74384, 0, "i"], - [74385, 0, "e"], - [74386, 0, "s"], - [74387, 0, " "], - [74388, 0, "m"], - [74389, 0, "u"], - [74390, 0, "s"], - [74391, 0, "t"], - [74392, 0, " "], - [74393, 0, "b"], - [74394, 0, "e"], - [74395, 0, " "], - [74396, 0, "c"], - [74397, 0, "o"], - [74398, 0, "n"], - [74399, 0, "s"], - [74400, 0, "i"], - [74401, 0, "s"], - [74402, 0, "t"], - [74403, 0, "e"], - [74404, 0, "n"], - [74405, 0, "t"], - [74406, 0, " "], - [74407, 0, "w"], - [74408, 0, "i"], - [74409, 0, "t"], - [74410, 0, "h"], - [74411, 0, " "], - [74412, 0, "c"], - [74413, 0, "a"], - [74414, 0, "u"], - [74415, 0, "s"], - [74416, 0, "a"], - [74417, 0, "l"], - [74418, 0, "i"], - [74419, 0, "t"], - [74420, 0, "y"], - [74421, 0, ","], - [74422, 0, " "], - [74423, 0, "i"], - [74424, 0, "."], - [74425, 0, "e"], - [74426, 0, "."], - [74427, 0, " "], - [74428, 0, "f"], - [74429, 0, "o"], - [74430, 0, "r"], - [74431, 0, " "], - [74432, 0, "a"], - [74433, 0, "l"], - [74434, 0, "l"], - [74435, 0, " "], - [74436, 0, "#"], - [74436, 1], - [74436, 0, "$"], - [74437, 0, "i"], - [74438, 0, "$"], - [74439, 0, " "], - [74440, 0, "w"], - [74441, 0, "i"], - [74442, 0, "t"], - [74443, 0, "h"], - [74444, 0, " "], - [74445, 0, "$"], - [74446, 0, "1"], - [74447, 0, " "], - [74448, 0, "\\"], - [74449, 0, "e"], - [74449, 1], - [74449, 0, "l"], - [74450, 0, "e"], - [74451, 0, " "], - [74452, 0, "i"], - [74453, 0, " "], - [74454, 0, "\\"], - [74455, 0, "l"], - [74456, 0, "e"], - [74457, 0, " "], - [74458, 0, "n"], - [74459, 0, "$"], - [74460, 0, ","], - [74461, 0, " "], - [74462, 0, "$"], - [74463, 0, "\\"], - [74464, 0, "m"], - [74465, 0, "a"], - [74466, 0, "t"], - [74467, 0, "h"], - [74468, 0, "i"], - [74469, 0, "t"], - [74469, 1], - [74468, 1], - [74467, 1], - [74466, 1], - [74465, 1], - [74464, 1], - [74463, 1], - [74463, 0, "o"], - [74464, 0, "_"], - [74465, 0, "i"], - [74466, 0, "."], - [74467, 0, "\\"], - [74468, 0, "m"], - [74469, 0, "a"], - [74470, 0, "t"], - [74471, 0, "h"], - [74472, 0, "i"], - [74473, 0, "t"], - [74474, 0, "{"], - [74475, 0, "d"], - [74476, 0, "e"], - [74477, 0, "p"], - [74478, 0, "s"], - [74479, 0, "}"], - [74480, 0, " "], - [74481, 0, "\\"], - [74482, 0, "s"], - [74483, 0, "u"], - [74484, 0, "b"], - [74485, 0, "s"], - [74486, 0, "e"], - [74487, 0, "t"], - [74488, 0, "e"], - [74489, 0, "q"], - [74490, 0, " "], - [74491, 0, "{"], - [74492, 0, " "], - [74493, 0, "o"], - [74494, 0, "_"], - [74495, 0, "j"], - [74496, 0, "."], - [74497, 0, "\\"], - [74498, 0, "m"], - [74499, 0, "a"], - [74500, 0, "t"], - [74501, 0, "h"], - [74502, 0, "i"], - [74503, 0, "t"], - [74504, 0, "{"], - [74505, 0, "i"], - [74506, 0, "d"], - [74507, 0, "}"], - [74508, 0, " "], - [74509, 0, "\\"], - [74510, 0, "m"], - [74511, 0, "i"], - [74512, 0, "d"], - [74513, 0, " "], - [74514, 0, "1"], - [74515, 0, " "], - [74516, 0, "\\"], - [74517, 0, "e"], - [74518, 0, " "], - [74518, 1], - [74517, 1], - [74517, 0, "l"], - [74518, 0, "e"], - [74519, 0, " "], - [74520, 0, "j"], - [74521, 0, " "], - [74522, 0, "<"], - [74523, 0, " "], - [74524, 0, "i"], - [74491, 0, "\\"], - [74526, 0, " "], - [74527, 0, "\\"], - [74528, 0, "}"], - [74526, 1], - [74493, 1], - [74527, 0, "$"], - [74528, 0, "."], - [73943, 0, " "], - [73944, 0, "a"], - [73945, 0, "t"], - [73946, 0, " "], - [73947, 0, "$"], - [73948, 0, "p"], - [73949, 0, "$"], - [73950, 0, " "], - [73951, 0, "o"], - [73952, 0, "r"], - [73953, 0, " "], - [73954, 0, "$"], - [73955, 0, "q"], - [73956, 0, "$"], - [74074, 1], - [74073, 1], - [74073, 0, "i"], - [74074, 0, "r"], - [74074, 1], - [74073, 1], - [74073, 0, "o"], - [74074, 0, "r"], - [74075, 0, "d"], - [74076, 0, "e"], - [74077, 0, "r"], - [74078, 0, "e"], - [74079, 0, "d"], - [74096, 1], - [74095, 1], - [74094, 1], - [74093, 1], - [74092, 1], - [74091, 1], - [74090, 1], - [74090, 0, "l"], - [74091, 0, "y"], - [74158, 0, "\\"], - [74159, 0, "l"], - [74160, 0, "a"], - [74161, 0, "n"], - [74162, 0, "g"], - [74163, 0, "l"], - [74164, 0, "e"], - [74165, 0, " "], - [74179, 0, " "], - [74180, 0, "\\"], - [74181, 0, "r"], - [74182, 0, "a"], - [74183, 0, "n"], - [74184, 0, "g"], - [74185, 0, "l"], - [74186, 0, "e"], - [74169, 0, ","], - [74176, 0, ","], - [74786, 0, " "], - [74787, 0, "w"], - [74788, 0, "e"], - [74789, 0, " "], - [74790, 0, "r"], - [74791, 0, "e"], - [74792, 0, "q"], - [74793, 0, "u"], - [74794, 0, "i"], - [74795, 0, "r"], - [74796, 0, "e"], - [74796, 1], - [74795, 1], - [74794, 1], - [74793, 1], - [74792, 1], - [74791, 1], - [74790, 1], - [74789, 1], - [74788, 1], - [74787, 1], - [74786, 1], - [74494, 0, "w"], - [74495, 0, "e"], - [74496, 0, " "], - [74497, 0, "r"], - [74498, 0, "e"], - [74499, 0, "q"], - [74500, 0, "u"], - [74501, 0, "i"], - [74502, 0, "r"], - [74503, 0, "e"], - [74504, 0, " "], - [74572, 0, "\n"], - [74573, 0, "\n"], - [74574, 0, "W"], - [74575, 0, "e"], - [74576, 0, " "], - [74577, 0, "c"], - [74578, 0, "a"], - [74579, 0, "n"], - [74580, 0, " "], - [74581, 0, "p"], - [74582, 0, "r"], - [74583, 0, "o"], - [74584, 0, "v"], - [74585, 0, "e"], - [74586, 0, " "], - [74587, 0, "t"], - [74588, 0, "h"], - [74589, 0, "e"], - [74590, 0, " "], - [74591, 0, "t"], - [74592, 0, "h"], - [74593, 0, "e"], - [74594, 0, "o"], - [74595, 0, "r"], - [74596, 0, "e"], - [74597, 0, "m"], - [74598, 0, " "], - [74599, 0, "b"], - [74600, 0, "y"], - [74601, 0, " "], - [74602, 0, "i"], - [74603, 0, "n"], - [74604, 0, "d"], - [74605, 0, "u"], - [74606, 0, "c"], - [74607, 0, "t"], - [74608, 0, "i"], - [74609, 0, "o"], - [74610, 0, "n"], - [74611, 0, " "], - [74612, 0, "o"], - [74613, 0, "v"], - [74614, 0, "e"], - [74615, 0, "r"], - [74616, 0, " "], - [74617, 0, "h"], - [74618, 0, "i"], - [74619, 0, "s"], - [74620, 0, "t"], - [74621, 0, "o"], - [74622, 0, "r"], - [74623, 0, "i"], - [74624, 0, "e"], - [74625, 0, "s"], - [74625, 1], - [74624, 1], - [74623, 1], - [74622, 1], - [74621, 1], - [74620, 1], - [74619, 1], - [74618, 1], - [74617, 1], - [74617, 0, "t"], - [74618, 0, "h"], - [74619, 0, "e"], - [74620, 0, " "], - [74621, 0, "l"], - [74622, 0, "e"], - [74623, 0, "n"], - [74624, 0, "g"], - [74625, 0, "t"], - [74626, 0, "h"], - [74627, 0, " "], - [74628, 0, "o"], - [74629, 0, "f"], - [74630, 0, " "], - [74631, 0, "h"], - [74632, 0, "i"], - [74633, 0, "s"], - [74634, 0, "t"], - [74635, 0, "o"], - [74636, 0, "r"], - [74637, 0, "y"], - [74638, 0, " "], - [74639, 0, "$"], - [74640, 0, "n"], - [74641, 0, "$"], - [74642, 0, "."], - [74643, 0, "\n"], - [74644, 0, "\n"], - [74645, 0, "\\"], - [74646, 0, "e"], - [74647, 0, "m"], - [74648, 0, "p"], - [74649, 0, "h"], - [74650, 0, "{"], - [74651, 0, "B"], - [74652, 0, "a"], - [74653, 0, "s"], - [74654, 0, "e"], - [74655, 0, " "], - [74656, 0, "c"], - [74657, 0, "a"], - [74658, 0, "s"], - [74659, 0, "e"], - [74660, 0, ":"], - [74661, 0, "}"], - [74662, 0, " "], - [74663, 0, "A"], - [74664, 0, " "], - [74665, 0, "h"], - [74666, 0, "i"], - [74667, 0, "s"], - [74668, 0, "t"], - [74669, 0, "o"], - [74670, 0, "r"], - [74670, 1], - [74669, 1], - [74668, 1], - [74667, 1], - [74666, 1], - [74665, 1], - [74664, 1], - [74664, 0, "n"], - [74665, 0, " "], - [74666, 0, "e"], - [74667, 0, "m"], - [74668, 0, "p"], - [74669, 0, "t"], - [74670, 0, "y"], - [74671, 0, " "], - [74672, 0, "h"], - [74673, 0, "i"], - [74674, 0, "s"], - [74675, 0, "t"], - [74676, 0, "o"], - [74677, 0, "r"], - [74678, 0, "y"], - [74679, 0, " "], - [74680, 0, "w"], - [74681, 0, "i"], - [74682, 0, "t"], - [74683, 0, "h"], - [74684, 0, " "], - [74685, 0, "$"], - [74686, 0, "n"], - [74687, 0, "="], - [74688, 0, "0"], - [74689, 0, "$"], - [74690, 0, " "], - [74691, 0, "d"], - [74692, 0, "e"], - [74693, 0, "s"], - [74694, 0, "c"], - [74695, 0, "r"], - [74696, 0, "i"], - [74697, 0, "b"], - [74698, 0, "e"], - [74699, 0, "s"], - [74700, 0, " "], - [74701, 0, "t"], - [74702, 0, "h"], - [74703, 0, "e"], - [74704, 0, " "], - [74705, 0, "e"], - [74706, 0, "m"], - [74707, 0, "p"], - [74708, 0, "t"], - [74709, 0, "y"], - [74710, 0, " "], - [74711, 0, "d"], - [74712, 0, "o"], - [74713, 0, "c"], - [74714, 0, "u"], - [74715, 0, "m"], - [74716, 0, "e"], - [74717, 0, "n"], - [74718, 0, "t"], - [74719, 0, " "], - [74720, 0, "s"], - [74721, 0, "t"], - [74722, 0, "a"], - [74723, 0, "t"], - [74724, 0, "e"], - [74725, 0, "."], - [74726, 0, " "], - [74727, 0, "T"], - [74728, 0, "h"], - [74729, 0, "e"], - [74730, 0, " "], - [74731, 0, "e"], - [74732, 0, "m"], - [74733, 0, "p"], - [74734, 0, "t"], - [74735, 0, "y"], - [74736, 0, " "], - [74737, 0, "d"], - [74738, 0, "o"], - [74739, 0, "c"], - [74740, 0, "u"], - [74741, 0, "m"], - [74742, 0, "e"], - [74743, 0, "n"], - [74744, 0, "t"], - [74745, 0, " "], - [74746, 0, "i"], - [74747, 0, "s"], - [74748, 0, " "], - [74749, 0, "a"], - [74750, 0, "l"], - [74751, 0, "w"], - [74752, 0, "a"], - [74753, 0, "y"], - [74754, 0, "s"], - [74755, 0, " "], - [74756, 0, "t"], - [74757, 0, "h"], - [74758, 0, "e"], - [74759, 0, " "], - [74760, 0, "s"], - [74761, 0, "a"], - [74762, 0, "m"], - [74763, 0, "e"], - [74764, 0, ","], - [74765, 0, " "], - [74766, 0, "a"], - [74767, 0, "n"], - [74768, 0, "d"], - [74769, 0, " "], - [74770, 0, "s"], - [74771, 0, "o"], - [74772, 0, " "], - [74773, 0, "a"], - [74774, 0, "n"], - [74775, 0, "y"], - [74776, 0, " "], - [74777, 0, "t"], - [74778, 0, "w"], - [74779, 0, "o"], - [74780, 0, " "], - [74781, 0, "r"], - [74782, 0, "e"], - [74783, 0, "p"], - [74784, 0, "l"], - [74785, 0, "i"], - [74786, 0, "c"], - [74787, 0, "a"], - [74788, 0, "s"], - [74789, 0, " "], - [74790, 0, "t"], - [74791, 0, "h"], - [74792, 0, "a"], - [74793, 0, "t"], - [74794, 0, " "], - [74795, 0, "h"], - [74796, 0, "a"], - [74797, 0, "v"], - [74798, 0, "e"], - [74799, 0, " "], - [74800, 0, "n"], - [74801, 0, "o"], - [74802, 0, "t"], - [74803, 0, " "], - [74804, 0, "e"], - [74805, 0, "x"], - [74806, 0, "e"], - [74807, 0, "c"], - [74808, 0, "u"], - [74809, 0, "t"], - [74810, 0, "e"], - [74811, 0, "d"], - [74812, 0, " "], - [74813, 0, "a"], - [74814, 0, "n"], - [74815, 0, "y"], - [74816, 0, " "], - [74817, 0, "o"], - [74818, 0, "p"], - [74819, 0, "e"], - [74820, 0, "r"], - [74821, 0, "a"], - [74822, 0, "t"], - [74823, 0, "i"], - [74824, 0, "o"], - [74825, 0, "n"], - [74826, 0, "s"], - [74827, 0, "a"], - [74828, 0, " "], - [74829, 0, "r"], - [74829, 1], - [74828, 1], - [74827, 1], - [74827, 0, " "], - [74828, 0, "a"], - [74829, 0, "r"], - [74830, 0, "e"], - [74831, 0, " "], - [74832, 0, "b"], - [74833, 0, "y"], - [74834, 0, " "], - [74835, 0, "d"], - [74836, 0, "e"], - [74837, 0, "f"], - [74838, 0, "i"], - [74839, 0, "n"], - [74840, 0, "i"], - [74841, 0, "t"], - [74842, 0, "i"], - [74843, 0, "o"], - [74844, 0, "n"], - [74845, 0, " "], - [74846, 0, "i"], - [74847, 0, "n"], - [74848, 0, " "], - [74849, 0, "t"], - [74850, 0, "h"], - [74851, 0, "e"], - [74852, 0, " "], - [74853, 0, "s"], - [74854, 0, "a"], - [74855, 0, "m"], - [74856, 0, "e"], - [74857, 0, " "], - [74858, 0, "s"], - [74859, 0, "t"], - [74860, 0, "a"], - [74861, 0, "t"], - [74862, 0, "e"], - [74863, 0, "."], - [74864, 0, "\n"], - [74865, 0, "\n"], - [74866, 0, "\\"], - [74867, 0, "e"], - [74868, 0, "m"], - [74869, 0, "p"], - [74870, 0, "h"], - [74871, 0, "{"], - [74872, 0, "I"], - [74873, 0, "n"], - [74874, 0, "d"], - [74875, 0, "u"], - [74876, 0, "c"], - [74877, 0, "t"], - [74878, 0, "i"], - [74879, 0, "o"], - [74880, 0, "n"], - [74881, 0, " "], - [74882, 0, "s"], - [74883, 0, "t"], - [74884, 0, "e"], - [74885, 0, "p"], - [74886, 0, ":"], - [74887, 0, "}"], - [74888, 0, " "], - [74889, 0, "G"], - [74890, 0, "i"], - [74891, 0, "v"], - [74892, 0, "e"], - [74893, 0, "n"], - [74894, 0, " "], - [74895, 0, "h"], - [74896, 0, "i"], - [74897, 0, "s"], - [74898, 0, "t"], - [74899, 0, "o"], - [74900, 0, "r"], - [74901, 0, "i"], - [74902, 0, "e"], - [74903, 0, "s"], - [74904, 0, " "], - [74905, 0, "$"], - [74906, 0, "H"], - [74907, 0, "_"], - [74908, 0, "p"], - [74909, 0, "$"], - [74910, 0, " "], - [74911, 0, "a"], - [74912, 0, "n"], - [74913, 0, "d"], - [74914, 0, " "], - [74915, 0, "$"], - [74916, 0, "H"], - [74917, 0, "_"], - [74918, 0, "q"], - [74919, 0, "$"], - [74920, 0, " "], - [74921, 0, "o"], - [74922, 0, "f"], - [74923, 0, " "], - [74924, 0, "l"], - [74925, 0, "e"], - [74926, 0, "n"], - [74927, 0, "g"], - [74928, 0, "t"], - [74929, 0, "h"], - [74930, 0, " "], - [74931, 0, "$"], - [74932, 0, "n"], - [74933, 0, "$"], - [74934, 0, ","], - [74935, 0, " "], - [74936, 0, "s"], - [74937, 0, "u"], - [74938, 0, "c"], - [74939, 0, "h"], - [74940, 0, " "], - [74941, 0, "t"], - [74942, 0, "h"], - [74943, 0, "a"], - [74944, 0, "t"], - [74945, 0, " "], - [74946, 0, "$"], - [74947, 0, "H"], - [74948, 0, "_"], - [74949, 0, "p"], - [74950, 0, " "], - [74951, 0, "="], - [74952, 0, " "], - [74953, 0, "\\"], - [74954, 0, "l"], - [74955, 0, "a"], - [74956, 0, "n"], - [74957, 0, "g"], - [74958, 0, "l"], - [74959, 0, "e"], - [74960, 0, " "], - [74961, 0, "o"], - [74962, 0, "_"], - [74963, 0, "1"], - [74964, 0, ","], - [74965, 0, " "], - [74966, 0, "\\"], - [74967, 0, "d"], - [74968, 0, "o"], - [74969, 0, "t"], - [74970, 0, "s"], - [74971, 0, ","], - [74972, 0, " "], - [74973, 0, "o"], - [74974, 0, "_"], - [74975, 0, "n"], - [74976, 0, " "], - [74977, 0, "\\"], - [74978, 0, "r"], - [74979, 0, "a"], - [74980, 0, "n"], - [74981, 0, "g"], - [74982, 0, "l"], - [74983, 0, "e"], - [74984, 0, "$"], - [74985, 0, " "], - [74986, 0, "a"], - [74987, 0, "n"], - [74988, 0, "d"], - [74989, 0, " "], - [74990, 0, "$"], - [74991, 0, "H"], - [74992, 0, "_"], - [74993, 0, "q"], - [74994, 0, " "], - [74994, 1], - [74994, 0, "$"], - [74995, 0, " "], - [74996, 0, "i"], - [74997, 0, "s"], - [74998, 0, " "], - [74999, 0, "a"], - [75000, 0, " "], - [75001, 0, "p"], - [75002, 0, "e"], - [75003, 0, "r"], - [75004, 0, "m"], - [75005, 0, "u"], - [75006, 0, "t"], - [75007, 0, "a"], - [75008, 0, "t"], - [75009, 0, "i"], - [75010, 0, "o"], - [75011, 0, "n"], - [75012, 0, " "], - [75013, 0, "o"], - [75014, 0, "f"], - [75015, 0, " "], - [75016, 0, "$"], - [75017, 0, "H"], - [75018, 0, "_"], - [75019, 0, "q"], - [75019, 1], - [75019, 0, "p"], - [75020, 0, "$"], - [75021, 0, ","], - [75022, 0, " "], - [75023, 0, "a"], - [75024, 0, "n"], - [75025, 0, "d"], - [75026, 0, " "], - [75027, 0, "s"], - [75028, 0, "u"], - [75029, 0, "c"], - [75030, 0, "h"], - [75031, 0, " "], - [75032, 0, "t"], - [75033, 0, "h"], - [75034, 0, "a"], - [75035, 0, "t"], - [75036, 0, " "], - [75037, 0, "a"], - [75038, 0, "p"], - [75039, 0, "p"], - [75040, 0, "l"], - [75041, 0, "y"], - [75042, 0, "i"], - [75043, 0, "n"], - [75044, 0, "g"], - [75045, 0, " "], - [75046, 0, "$"], - [75047, 0, "H"], - [75048, 0, "_"], - [75049, 0, "p"], - [75050, 0, "$"], - [75051, 0, " "], - [75052, 0, "r"], - [75053, 0, "e"], - [75054, 0, "s"], - [75055, 0, "u"], - [75056, 0, "l"], - [75057, 0, "t"], - [75058, 0, "s"], - [75059, 0, " "], - [75060, 0, "i"], - [75061, 0, "n"], - [75062, 0, " "], - [75063, 0, "t"], - [75064, 0, "h"], - [75065, 0, "e"], - [75066, 0, " "], - [75067, 0, "s"], - [75068, 0, "a"], - [75069, 0, "m"], - [75070, 0, "e"], - [75071, 0, " "], - [75072, 0, "d"], - [75073, 0, "o"], - [75074, 0, "c"], - [75075, 0, "u"], - [75076, 0, "m"], - [75077, 0, "e"], - [75078, 0, "n"], - [75079, 0, "t"], - [75080, 0, " "], - [75081, 0, "s"], - [75082, 0, "t"], - [75083, 0, "a"], - [75084, 0, "t"], - [75085, 0, "e"], - [75086, 0, " "], - [75087, 0, "a"], - [75088, 0, "s"], - [75089, 0, " "], - [75090, 0, "a"], - [75091, 0, "p"], - [75092, 0, "p"], - [75093, 0, "l"], - [75094, 0, "y"], - [75095, 0, "i"], - [75096, 0, "n"], - [75097, 0, "g"], - [75098, 0, " "], - [75099, 0, "$"], - [75100, 0, "H"], - [75101, 0, "-"], - [75102, 0, "Q"], - [75102, 1], - [75101, 1], - [75101, 0, "_"], - [75102, 0, "q"], - [75103, 0, "$"], - [75104, 0, ","], - [75105, 0, " "], - [75106, 0, "w"], - [75107, 0, "e"], - [75108, 0, " "], - [75109, 0, "c"], - [75110, 0, "a"], - [75111, 0, "n"], - [75112, 0, " "], - [75113, 0, "c"], - [75114, 0, "o"], - [75115, 0, "n"], - [75116, 0, "s"], - [75117, 0, "t"], - [75118, 0, "r"], - [75119, 0, "u"], - [75120, 0, "c"], - [75121, 0, "t"], - [75122, 0, " "], - [75123, 0, "n"], - [75124, 0, "e"], - [75125, 0, "w"], - [75126, 0, " "], - [75127, 0, "h"], - [75128, 0, "i"], - [75129, 0, "s"], - [75130, 0, "t"], - [75131, 0, "o"], - [75132, 0, "r"], - [75133, 0, "i"], - [75134, 0, "e"], - [75135, 0, "s"], - [75136, 0, " "], - [75137, 0, "o"], - [75138, 0, "f"], - [75139, 0, " "], - [75140, 0, "l"], - [75141, 0, "e"], - [75142, 0, "n"], - [75143, 0, "g"], - [75144, 0, "t"], - [75145, 0, "h"], - [75146, 0, " "], - [75147, 0, "$"], - [75148, 0, "n"], - [75149, 0, "+"], - [75150, 0, "1"], - [75151, 0, "$"], - [75152, 0, " "], - [75153, 0, "b"], - [75154, 0, "y"], - [75155, 0, " "], - [75156, 0, "i"], - [75157, 0, "n"], - [75158, 0, "s"], - [75159, 0, "e"], - [75160, 0, "r"], - [75161, 0, "t"], - [75162, 0, "i"], - [75163, 0, "n"], - [75164, 0, "g"], - [75165, 0, " "], - [75166, 0, "a"], - [75167, 0, " "], - [75168, 0, "n"], - [75169, 0, "e"], - [75170, 0, "w"], - [75171, 0, " "], - [75172, 0, "o"], - [75173, 0, "p"], - [75174, 0, "e"], - [75175, 0, "r"], - [75176, 0, "a"], - [75177, 0, "t"], - [75178, 0, "i"], - [75179, 0, "o"], - [75180, 0, "n"], - [75181, 0, " "], - [75182, 0, "$"], - [75183, 0, "o"], - [75184, 0, "_"], - [75185, 0, "{"], - [75186, 0, "n"], - [75187, 0, "+"], - [75188, 0, "1"], - [75189, 0, "}"], - [75190, 0, "$"], - [75191, 0, " "], - [75192, 0, "i"], - [75193, 0, "n"], - [75194, 0, " "], - [75195, 0, "a"], - [75196, 0, "n"], - [75197, 0, "y"], - [75198, 0, " "], - [75198, 1], - [75197, 1], - [75196, 1], - [75195, 1], - [75194, 1], - [75193, 1], - [75192, 1], - [75192, 0, "a"], - [75193, 0, "t"], - [75194, 0, " "], - [75195, 0, "a"], - [75196, 0, "n"], - [75197, 0, "y"], - [75198, 0, " "], - [75199, 0, "c"], - [75200, 0, "a"], - [75201, 0, "u"], - [75202, 0, "s"], - [75203, 0, "a"], - [75204, 0, "l"], - [75205, 0, "l"], - [75206, 0, "y"], - [75207, 0, " "], - [75208, 0, "r"], - [75209, 0, "e"], - [75210, 0, "a"], - [75211, 0, "d"], - [75212, 0, "y"], - [75213, 0, " "], - [75214, 0, "p"], - [75215, 0, "o"], - [75216, 0, "s"], - [75217, 0, "i"], - [75218, 0, "t"], - [75219, 0, "i"], - [75220, 0, "o"], - [75221, 0, "n"], - [75222, 0, " "], - [75223, 0, "i"], - [75224, 0, "n"], - [75225, 0, " "], - [75226, 0, "e"], - [75227, 0, "i"], - [75228, 0, "t"], - [75229, 0, "h"], - [75230, 0, "e"], - [75231, 0, "r"], - [75232, 0, " "], - [75233, 0, "$"], - [75234, 0, "H"], - [75235, 0, "_"], - [75236, 0, "p"], - [75237, 0, "$"], - [75238, 0, " "], - [75239, 0, "o"], - [75240, 0, "r"], - [75241, 0, " "], - [75242, 0, "$"], - [75232, 1], - [75231, 1], - [75230, 1], - [75229, 1], - [75228, 1], - [75227, 1], - [75226, 1], - [75225, 1], - [75225, 0, " "], - [75136, 0, " "], - [75137, 0, "$"], - [75138, 0, "H"], - [75139, 0, "_"], - [75140, 0, "p"], - [75141, 0, "'"], - [75142, 0, "$"], - [75143, 0, " "], - [75144, 0, "a"], - [75145, 0, "n"], - [75146, 0, "d"], - [75147, 0, " "], - [75148, 0, "$"], - [75149, 0, "H"], - [75150, 0, "_"], - [75151, 0, "q"], - [75152, 0, "'"], - [75153, 0, "$"], - [75254, 0, "H"], - [75255, 0, "_"], - [75256, 0, "q"], - [75257, 0, "$"], - [75258, 0, " "], - [75259, 0, "r"], - [75260, 0, "e"], - [75261, 0, "s"], - [75262, 0, "p"], - [75263, 0, "e"], - [75264, 0, "c"], - [75265, 0, "t"], - [75266, 0, "i"], - [75267, 0, "v"], - [75268, 0, "e"], - [75269, 0, "l"], - [75270, 0, "y"], - [75271, 0, "."], - [75272, 0, " "], - [75273, 0, "W"], - [75274, 0, "e"], - [75275, 0, " "], - [75276, 0, "m"], - [75277, 0, "u"], - [75278, 0, "s"], - [75279, 0, "t"], - [75280, 0, " "], - [75281, 0, "t"], - [75282, 0, "h"], - [75283, 0, "e"], - [75284, 0, "n"], - [75285, 0, " "], - [75286, 0, "s"], - [75287, 0, "h"], - [75288, 0, "o"], - [75289, 0, "w"], - [75290, 0, " "], - [75291, 0, "t"], - [75292, 0, "h"], - [75293, 0, "a"], - [75294, 0, "t"], - [75295, 0, " "], - [75296, 0, "f"], - [75297, 0, "o"], - [75298, 0, "r"], - [75299, 0, " "], - [75300, 0, "a"], - [75301, 0, "l"], - [75302, 0, "l"], - [75303, 0, " "], - [75304, 0, "t"], - [75305, 0, "h"], - [75306, 0, "e"], - [75307, 0, " "], - [75308, 0, "h"], - [75309, 0, "i"], - [75310, 0, "s"], - [75311, 0, "t"], - [75312, 0, "o"], - [75313, 0, "r"], - [75314, 0, "i"], - [75315, 0, "e"], - [75316, 0, "s"], - [75317, 0, " "], - [75318, 0, "$"], - [75319, 0, "H"], - [75320, 0, "_"], - [75321, 0, "p"], - [75322, 0, "'"], - [75323, 0, "$"], - [75324, 0, " "], - [75325, 0, "a"], - [75326, 0, "n"], - [75327, 0, "d"], - [75328, 0, " "], - [75329, 0, "$"], - [75330, 0, "H"], - [75331, 0, "_"], - [75332, 0, "q"], - [75333, 0, "'"], - [75334, 0, "$"], - [75335, 0, " "], - [75336, 0, "c"], - [75337, 0, "o"], - [75338, 0, "n"], - [75339, 0, "s"], - [75340, 0, "t"], - [75341, 0, "r"], - [75342, 0, "u"], - [75343, 0, "c"], - [75344, 0, "t"], - [75345, 0, "e"], - [75346, 0, "d"], - [75347, 0, " "], - [75348, 0, "t"], - [75349, 0, "h"], - [75350, 0, "i"], - [75351, 0, "s"], - [75352, 0, " "], - [75353, 0, "w"], - [75354, 0, "a"], - [75355, 0, "y"], - [75356, 0, ","], - [75357, 0, " "], - [75358, 0, "a"], - [75359, 0, "p"], - [75360, 0, "p"], - [75361, 0, "l"], - [75362, 0, "y"], - [75363, 0, "i"], - [75364, 0, "n"], - [75365, 0, "g"], - [75366, 0, " "], - [75367, 0, "t"], - [75368, 0, "h"], - [75369, 0, "e"], - [75370, 0, " "], - [75371, 0, "o"], - [75372, 0, "p"], - [75373, 0, "e"], - [75374, 0, "r"], - [75375, 0, "a"], - [75376, 0, "t"], - [75377, 0, "i"], - [75378, 0, "o"], - [75379, 0, "n"], - [75380, 0, "s"], - [75381, 0, " "], - [75382, 0, "i"], - [75383, 0, "n"], - [75384, 0, " "], - [75385, 0, "o"], - [75386, 0, "r"], - [75387, 0, "d"], - [75388, 0, "e"], - [75389, 0, "r"], - [75390, 0, " "], - [75391, 0, "r"], - [75392, 0, "e"], - [75393, 0, "s"], - [75394, 0, "u"], - [75395, 0, "l"], - [75396, 0, "t"], - [75397, 0, "s"], - [75398, 0, " "], - [75399, 0, "i"], - [75400, 0, "n"], - [75401, 0, " "], - [75402, 0, "t"], - [75403, 0, "h"], - [75404, 0, "e"], - [75405, 0, " "], - [75406, 0, "s"], - [75407, 0, "a"], - [75408, 0, "m"], - [75409, 0, "e"], - [75410, 0, " "], - [75411, 0, "f"], - [75412, 0, "i"], - [75413, 0, "n"], - [75414, 0, "a"], - [75415, 0, "l"], - [75416, 0, " "], - [75416, 1], - [75415, 1], - [75414, 1], - [75413, 1], - [75412, 1], - [75411, 1], - [75411, 0, "d"], - [75412, 0, "o"], - [75413, 0, "c"], - [75414, 0, "u"], - [75415, 0, "m"], - [75416, 0, "e"], - [75417, 0, "n"], - [75418, 0, "t"], - [75419, 0, " "], - [75420, 0, "s"], - [75421, 0, "t"], - [75422, 0, "a"], - [75423, 0, "t"], - [75424, 0, "e"], - [75425, 0, "."], - [75371, 0, "s"], - [75372, 0, "e"], - [75373, 0, "q"], - [75374, 0, "u"], - [75375, 0, "e"], - [75376, 0, "n"], - [75377, 0, "c"], - [75378, 0, "e"], - [75379, 0, " "], - [75380, 0, "o"], - [75381, 0, "f"], - [75382, 0, " "], - [75438, 0, "\n"], - [75439, 0, "\n"], - [75440, 0, "I"], - [75441, 0, "n"], - [75442, 0, " "], - [75443, 0, "o"], - [75444, 0, "r"], - [75445, 0, "d"], - [75446, 0, "e"], - [75447, 0, "r"], - [75448, 0, " "], - [75449, 0, "t"], - [75450, 0, "o"], - [75451, 0, " "], - [75452, 0, "p"], - [75453, 0, "r"], - [75454, 0, "o"], - [75455, 0, "v"], - [75456, 0, "e"], - [75457, 0, " "], - [75458, 0, "t"], - [75459, 0, "h"], - [75460, 0, "e"], - [75461, 0, " "], - [75462, 0, "i"], - [75463, 0, "n"], - [75464, 0, "d"], - [75465, 0, "u"], - [75466, 0, "c"], - [75467, 0, "t"], - [75468, 0, "i"], - [75469, 0, "o"], - [75470, 0, "n"], - [75471, 0, " "], - [75472, 0, "s"], - [75473, 0, "t"], - [75474, 0, "e"], - [75475, 0, "p"], - [75476, 0, ","], - [75477, 0, " "], - [75478, 0, "w"], - [75479, 0, "e"], - [75480, 0, " "], - [75481, 0, "e"], - [75482, 0, "x"], - [75483, 0, "a"], - [75484, 0, "m"], - [75485, 0, "i"], - [75486, 0, "n"], - [75487, 0, "e"], - [75488, 0, " "], - [75489, 0, "t"], - [75490, 0, "h"], - [75491, 0, "e"], - [75492, 0, " "], - [75493, 0, "i"], - [75494, 0, "n"], - [75495, 0, "s"], - [75496, 0, "e"], - [75497, 0, "r"], - [75498, 0, "t"], - [75499, 0, "i"], - [75500, 0, "o"], - [75501, 0, "n"], - [75502, 0, " "], - [75503, 0, "o"], - [75504, 0, "f"], - [75505, 0, " "], - [75506, 0, "$"], - [75507, 0, "o"], - [75508, 0, "_"], - [75509, 0, "{"], - [75510, 0, "n"], - [75511, 0, "+"], - [75512, 0, "1"], - [75513, 0, "}"], - [75514, 0, "$"], - [75515, 0, " "], - [75516, 0, "i"], - [75517, 0, "n"], - [75518, 0, "t"], - [75519, 0, "o"], - [75520, 0, " "], - [75521, 0, "$"], - [75522, 0, "H"], - [75523, 0, "_"], - [75524, 0, "p"], - [75525, 0, "$"], - [75526, 0, " "], - [75527, 0, "a"], - [75528, 0, "n"], - [75529, 0, "d"], - [75530, 0, " "], - [75531, 0, "$"], - [75532, 0, "H"], - [75533, 0, "_"], - [75534, 0, "q"], - [75535, 0, "$"], - [75536, 0, "."], - [75537, 0, " "], - [75538, 0, "E"], - [75539, 0, "a"], - [75540, 0, "c"], - [75541, 0, "h"], - [75542, 0, " "], - [75543, 0, "h"], - [75544, 0, "i"], - [75545, 0, "s"], - [75546, 0, "t"], - [75547, 0, "o"], - [75548, 0, "r"], - [75549, 0, "y"], - [75550, 0, " "], - [75551, 0, "c"], - [75552, 0, "a"], - [75553, 0, "n"], - [75554, 0, " "], - [75555, 0, "b"], - [75556, 0, "e"], - [75557, 0, " "], - [75558, 0, "s"], - [75559, 0, "p"], - [75560, 0, "l"], - [75561, 0, "i"], - [75562, 0, "t"], - [75563, 0, " "], - [75564, 0, "i"], - [75565, 0, "n"], - [75566, 0, "t"], - [75567, 0, "o"], - [75568, 0, " "], - [75569, 0, "a"], - [75570, 0, " "], - [75571, 0, "p"], - [75572, 0, "r"], - [75573, 0, "e"], - [75574, 0, "f"], - [75575, 0, "i"], - [75576, 0, "x"], - [75577, 0, ","], - [75578, 0, " "], - [75579, 0, "w"], - [75580, 0, "h"], - [75581, 0, "i"], - [75582, 0, "c"], - [75583, 0, "h"], - [75584, 0, " "], - [75585, 0, "i"], - [75586, 0, "s"], - [75587, 0, " "], - [75588, 0, "t"], - [75589, 0, "h"], - [75590, 0, "e"], - [75591, 0, " "], - [75592, 0, "m"], - [75593, 0, "i"], - [75594, 0, "n"], - [75595, 0, "i"], - [75596, 0, "m"], - [75597, 0, "a"], - [75598, 0, "l"], - [75599, 0, " "], - [75600, 0, "s"], - [75601, 0, "u"], - [75602, 0, "b"], - [75603, 0, "s"], - [75604, 0, "e"], - [75605, 0, "q"], - [75606, 0, "u"], - [75607, 0, "e"], - [75608, 0, "n"], - [75609, 0, "c"], - [75610, 0, "e"], - [75611, 0, " "], - [75612, 0, "$"], - [75613, 0, "\\"], - [75614, 0, "l"], - [75615, 0, "a"], - [75616, 0, "n"], - [75617, 0, "g"], - [75618, 0, "l"], - [75619, 0, "e"], - [75620, 0, " "], - [75621, 0, "o"], - [75622, 0, "_"], - [75623, 0, "1"], - [75624, 0, ","], - [75625, 0, " "], - [75626, 0, "\\"], - [75627, 0, "d"], - [75628, 0, "o"], - [75629, 0, "t"], - [75630, 0, "s"], - [75631, 0, ","], - [75632, 0, " "], - [75633, 0, "o"], - [75634, 0, "_"], - [75635, 0, "j"], - [75636, 0, " "], - [75637, 0, "\\"], - [75638, 0, "r"], - [75639, 0, "a"], - [75640, 0, "n"], - [75641, 0, "g"], - [75642, 0, "l"], - [75643, 0, "e"], - [75644, 0, "$"], - [75645, 0, " "], - [75646, 0, "s"], - [75647, 0, "u"], - [75648, 0, "c"], - [75649, 0, "h"], - [75650, 0, " "], - [75651, 0, "t"], - [75652, 0, "h"], - [75653, 0, "a"], - [75654, 0, "t"], - [75655, 0, " "], - [75656, 0, "$"], - [75657, 0, "o"], - [75658, 0, "_"], - [75659, 0, "{"], - [75660, 0, "n"], - [75661, 0, "+"], - [75662, 0, "1"], - [75663, 0, "}"], - [75664, 0, "."], - [75665, 0, "\\"], - [75666, 0, "m"], - [75667, 0, "a"], - [75668, 0, "t"], - [75669, 0, "h"], - [75670, 0, "i"], - [75671, 0, "t"], - [75672, 0, "{"], - [75673, 0, "d"], - [75674, 0, "e"], - [75675, 0, "p"], - [75676, 0, "s"], - [75677, 0, "}"], - [75678, 0, " "], - [75679, 0, "\\"], - [75680, 0, "s"], - [75681, 0, "u"], - [75682, 0, "b"], - [75683, 0, "s"], - [75684, 0, "e"], - [75685, 0, "t"], - [75686, 0, "e"], - [75687, 0, "q"], - [75688, 0, " "], - [75689, 0, "\\"], - [75690, 0, "{"], - [75691, 0, "o"], - [75692, 0, "_"], - [75693, 0, "1"], - [75694, 0, "."], - [75695, 0, "\\"], - [75696, 0, "m"], - [75697, 0, "a"], - [75698, 0, "t"], - [75699, 0, "h"], - [75700, 0, "i"], - [75701, 0, "t"], - [75702, 0, "{"], - [75703, 0, "i"], - [75704, 0, "d"], - [75705, 0, "}"], - [75706, 0, ","], - [75707, 0, " "], - [75708, 0, "\\"], - [75709, 0, "d"], - [75710, 0, "o"], - [75711, 0, "t"], - [75712, 0, "s"], - [75713, 0, ","], - [75714, 0, " "], - [75715, 0, "o"], - [75716, 0, "_"], - [75717, 0, "j"], - [75718, 0, "."], - [75719, 0, "\\"], - [75720, 0, "m"], - [75721, 0, "a"], - [75722, 0, "t"], - [75723, 0, "h"], - [75724, 0, "i"], - [75725, 0, "t"], - [75726, 0, "{"], - [75727, 0, "i"], - [75728, 0, "d"], - [75729, 0, "}"], - [75730, 0, "\\"], - [75731, 0, "}"], - [75732, 0, "$"], - [75733, 0, ","], - [75734, 0, " "], - [75735, 0, "a"], - [75736, 0, "n"], - [75737, 0, "d"], - [75738, 0, " "], - [75739, 0, "a"], - [75740, 0, " "], - [75741, 0, "p"], - [75742, 0, "r"], - [75743, 0, "e"], - [75744, 0, "f"], - [75745, 0, "i"], - [75746, 0, "x"], - [75747, 0, ","], - [75748, 0, " "], - [75749, 0, "w"], - [75750, 0, "h"], - [75751, 0, "i"], - [75752, 0, "c"], - [75753, 0, "h"], - [75754, 0, " "], - [75755, 0, "i"], - [75756, 0, "s"], - [75757, 0, " "], - [75758, 0, "t"], - [75759, 0, "h"], - [75760, 0, "e"], - [75761, 0, " "], - [75762, 0, "r"], - [75763, 0, "e"], - [75764, 0, "m"], - [75765, 0, "a"], - [75766, 0, "i"], - [75767, 0, "n"], - [75768, 0, "i"], - [75769, 0, "n"], - [75770, 0, "g"], - [75771, 0, " "], - [75772, 0, "s"], - [75773, 0, "e"], - [75774, 0, "q"], - [75775, 0, "u"], - [75776, 0, "e"], - [75777, 0, "n"], - [75778, 0, "c"], - [75779, 0, "e"], - [75780, 0, " "], - [75781, 0, "$"], - [75782, 0, "\\"], - [75783, 0, "l"], - [75784, 0, "a"], - [75785, 0, "n"], - [75786, 0, "g"], - [75787, 0, "l"], - [75788, 0, "e"], - [75789, 0, " "], - [75790, 0, "o"], - [75791, 0, "_"], - [75792, 0, "{"], - [75793, 0, "j"], - [75794, 0, "+"], - [75795, 0, "1"], - [75796, 0, "}"], - [75797, 0, ","], - [75798, 0, " "], - [75799, 0, "\\"], - [75800, 0, "d"], - [75801, 0, "o"], - [75802, 0, "t"], - [75803, 0, "s"], - [75804, 0, ","], - [75805, 0, " "], - [75806, 0, "o"], - [75807, 0, "_"], - [75808, 0, "n"], - [75809, 0, " "], - [75810, 0, "\\"], - [75811, 0, "r"], - [75812, 0, "a"], - [75813, 0, "n"], - [75814, 0, "g"], - [75815, 0, "l"], - [75816, 0, "e"], - [75817, 0, "$"], - [75818, 0, "."], - [75819, 0, " "], - [75820, 0, "T"], - [75821, 0, "h"], - [75822, 0, "e"], - [75823, 0, " "], - [75824, 0, "e"], - [75825, 0, "a"], - [75826, 0, "r"], - [75827, 0, "l"], - [75828, 0, "i"], - [75829, 0, "e"], - [75830, 0, "s"], - [75831, 0, "t"], - [75832, 0, " "], - [75833, 0, "p"], - [75834, 0, "o"], - [75835, 0, "s"], - [75836, 0, "i"], - [75837, 0, "t"], - [75838, 0, "i"], - [75839, 0, "o"], - [75840, 0, "n"], - [75841, 0, " "], - [75842, 0, "w"], - [75843, 0, "h"], - [75844, 0, "e"], - [75845, 0, "r"], - [75846, 0, "e"], - [75847, 0, " "], - [75848, 0, "$"], - [75849, 0, "o"], - [75850, 0, "_"], - [75851, 0, "{"], - [75852, 0, "n"], - [75853, 0, "+"], - [75854, 0, "1"], - [75855, 0, "}"], - [75856, 0, "$"], - [75857, 0, " "], - [75858, 0, "c"], - [75859, 0, "a"], - [75860, 0, "n"], - [75861, 0, " "], - [75862, 0, "b"], - [75863, 0, "e"], - [75864, 0, " "], - [75865, 0, "i"], - [75866, 0, "n"], - [75867, 0, "s"], - [75868, 0, "e"], - [75869, 0, "r"], - [75870, 0, "t"], - [75871, 0, "e"], - [75872, 0, "d"], - [75873, 0, " "], - [75874, 0, "i"], - [75875, 0, "n"], - [75876, 0, "t"], - [75877, 0, "o"], - [75878, 0, " "], - [75879, 0, "t"], - [75880, 0, "h"], - [75881, 0, "e"], - [75882, 0, " "], - [75883, 0, "h"], - [75884, 0, "i"], - [75885, 0, "s"], - [75886, 0, "t"], - [75887, 0, "o"], - [75888, 0, "r"], - [75889, 0, "y"], - [75890, 0, " "], - [75891, 0, "i"], - [75892, 0, "s"], - [75893, 0, " "], - [75894, 0, "b"], - [75895, 0, "e"], - [75896, 0, "t"], - [75897, 0, "w"], - [75898, 0, "e"], - [75899, 0, "e"], - [75900, 0, "n"], - [75901, 0, " "], - [75902, 0, "t"], - [75903, 0, "h"], - [75904, 0, "e"], - [75905, 0, " "], - [75906, 0, "p"], - [75907, 0, "r"], - [75908, 0, "e"], - [75909, 0, "f"], - [75910, 0, "i"], - [75911, 0, "x"], - [75912, 0, " "], - [75913, 0, "a"], - [75914, 0, "n"], - [75915, 0, "d"], - [75916, 0, " "], - [75917, 0, "t"], - [75918, 0, "h"], - [75919, 0, "e"], - [75920, 0, " "], - [75921, 0, "s"], - [75922, 0, "u"], - [75923, 0, "f"], - [75924, 0, "f"], - [75925, 0, "i"], - [75926, 0, "x"], - [75927, 0, ";"], - [75928, 0, " "], - [75929, 0, "t"], - [75930, 0, "h"], - [75931, 0, "e"], - [75932, 0, " "], - [75933, 0, "l"], - [75934, 0, "a"], - [75935, 0, "t"], - [75936, 0, "e"], - [75937, 0, "s"], - [75938, 0, "t"], - [75939, 0, " "], - [75940, 0, "p"], - [75941, 0, "o"], - [75942, 0, "s"], - [75943, 0, "i"], - [75944, 0, "t"], - [75945, 0, "i"], - [75946, 0, "o"], - [75947, 0, "n"], - [75948, 0, " "], - [75949, 0, "i"], - [75950, 0, "s"], - [75951, 0, " "], - [75952, 0, "a"], - [75953, 0, "t"], - [75954, 0, " "], - [75955, 0, "t"], - [75956, 0, "h"], - [75957, 0, "e"], - [75958, 0, " "], - [75959, 0, "e"], - [75960, 0, "n"], - [75961, 0, "d"], - [75962, 0, " "], - [75963, 0, "o"], - [75964, 0, "f"], - [75965, 0, " "], - [75966, 0, "t"], - [75967, 0, "h"], - [75968, 0, "e"], - [75969, 0, " "], - [75970, 0, "s"], - [75971, 0, "u"], - [75972, 0, "f"], - [75973, 0, "f"], - [75974, 0, "i"], - [75975, 0, "x"], - [75976, 0, ";"], - [75977, 0, " "], - [75978, 0, "o"], - [75979, 0, "r"], - [75980, 0, " "], - [75981, 0, "i"], - [75982, 0, "t"], - [75983, 0, " "], - [75984, 0, "c"], - [75985, 0, "o"], - [75986, 0, "u"], - [75987, 0, "l"], - [75988, 0, "d"], - [75989, 0, " "], - [75990, 0, "b"], - [75991, 0, "e"], - [75992, 0, " "], - [75993, 0, "i"], - [75994, 0, "n"], - [75995, 0, "s"], - [75996, 0, "e"], - [75997, 0, "r"], - [75998, 0, "t"], - [75999, 0, "e"], - [76000, 0, "d"], - [76001, 0, " "], - [76002, 0, "a"], - [76003, 0, "t"], - [76004, 0, " "], - [76005, 0, "a"], - [76006, 0, "n"], - [76007, 0, "y"], - [76008, 0, " "], - [76009, 0, "p"], - [76010, 0, "o"], - [76011, 0, "i"], - [76012, 0, "n"], - [76013, 0, "t"], - [76014, 0, " "], - [76015, 0, "w"], - [76016, 0, "i"], - [76017, 0, "t"], - [76018, 0, "h"], - [76019, 0, "i"], - [76020, 0, "n"], - [76021, 0, " "], - [76022, 0, "t"], - [76023, 0, "h"], - [76024, 0, "e"], - [76025, 0, " "], - [76026, 0, "s"], - [76027, 0, "u"], - [76028, 0, "f"], - [76029, 0, "f"], - [76030, 0, "i"], - [76031, 0, "x"], - [76032, 0, "."], - [75743, 1], - [75742, 1], - [75741, 1], - [75741, 0, "s"], - [75742, 0, "u"], - [75743, 0, "f"], - [75772, 0, "s"], - [75773, 0, "u"], - [75774, 0, "b"], - [76036, 0, "\n"], - [76037, 0, "\n"], - [76038, 0, "W"], - [76039, 0, "e"], - [76040, 0, " "], - [76041, 0, "s"], - [76042, 0, "h"], - [76043, 0, "o"], - [76044, 0, "w"], - [76045, 0, " "], - [76046, 0, "t"], - [76047, 0, "h"], - [76048, 0, "a"], - [76049, 0, "t"], - [76050, 0, " "], - [76051, 0, "t"], - [76052, 0, "h"], - [76053, 0, "e"], - [76054, 0, " "], - [76055, 0, "e"], - [76056, 0, "f"], - [76057, 0, "f"], - [76058, 0, "e"], - [76059, 0, "c"], - [76060, 0, "t"], - [76061, 0, " "], - [76062, 0, "o"], - [76063, 0, "n"], - [76064, 0, " "], - [76065, 0, "t"], - [76066, 0, "h"], - [76067, 0, "e"], - [76068, 0, " "], - [76069, 0, "d"], - [76070, 0, "o"], - [76071, 0, "c"], - [76072, 0, "u"], - [76073, 0, "m"], - [76074, 0, "e"], - [76075, 0, "n"], - [76076, 0, "t"], - [76077, 0, " "], - [76078, 0, "s"], - [76079, 0, "t"], - [76080, 0, "a"], - [76081, 0, "t"], - [76082, 0, "e"], - [76083, 0, " "], - [76084, 0, "i"], - [76085, 0, "s"], - [76086, 0, " "], - [76087, 0, "t"], - [76088, 0, "h"], - [76089, 0, "e"], - [76090, 0, " "], - [76091, 0, "s"], - [76092, 0, "a"], - [76093, 0, "m"], - [76094, 0, "e"], - [76095, 0, ","], - [76096, 0, " "], - [76097, 0, "r"], - [76098, 0, "e"], - [76099, 0, "g"], - [76100, 0, "a"], - [76101, 0, "r"], - [76102, 0, "d"], - [76103, 0, "l"], - [76104, 0, "e"], - [76105, 0, "s"], - [76106, 0, "s"], - [76107, 0, " "], - [76108, 0, "o"], - [76109, 0, "f"], - [76110, 0, " "], - [76111, 0, "t"], - [76112, 0, "h"], - [76113, 0, "e"], - [76114, 0, " "], - [76115, 0, "p"], - [76116, 0, "o"], - [76117, 0, "s"], - [76118, 0, "i"], - [76119, 0, "t"], - [76120, 0, "i"], - [76121, 0, "o"], - [76122, 0, "n"], - [76123, 0, " "], - [76124, 0, "a"], - [76125, 0, "t"], - [76126, 0, " "], - [76127, 0, "w"], - [76128, 0, "h"], - [76129, 0, "i"], - [76130, 0, "c"], - [76131, 0, "h"], - [76132, 0, " "], - [76133, 0, "$"], - [76134, 0, "o"], - [76135, 0, "_"], - [76136, 0, "{"], - [76137, 0, "n"], - [76138, 0, "+"], - [76139, 0, "1"], - [76140, 0, "}"], - [76141, 0, "$"], - [76142, 0, " "], - [76143, 0, "i"], - [76144, 0, "s"], - [76145, 0, " "], - [76146, 0, "i"], - [76147, 0, "n"], - [76148, 0, "s"], - [76149, 0, "e"], - [76150, 0, "r"], - [76151, 0, "t"], - [76152, 0, "e"], - [76153, 0, "d"], - [76154, 0, ","], - [76155, 0, " "], - [76156, 0, "a"], - [76157, 0, "n"], - [76158, 0, "d"], - [76159, 0, " "], - [76160, 0, "r"], - [76161, 0, "e"], - [76162, 0, "g"], - [76163, 0, "a"], - [76164, 0, "r"], - [76165, 0, "d"], - [76166, 0, "l"], - [76167, 0, "e"], - [76168, 0, "s"], - [76169, 0, "s"], - [76170, 0, " "], - [76171, 0, "o"], - [76172, 0, "f"], - [76173, 0, " "], - [76174, 0, "w"], - [76175, 0, "h"], - [76176, 0, "e"], - [76177, 0, "t"], - [76178, 0, "h"], - [76179, 0, "e"], - [76180, 0, "r"], - [76181, 0, " "], - [76182, 0, "i"], - [76183, 0, "t"], - [76184, 0, " "], - [76185, 0, "i"], - [76186, 0, "s"], - [76187, 0, " "], - [76188, 0, "i"], - [76189, 0, "n"], - [76190, 0, "s"], - [76191, 0, "e"], - [76192, 0, "r"], - [76193, 0, "t"], - [76194, 0, "e"], - [76195, 0, "d"], - [76196, 0, " "], - [76197, 0, "i"], - [76198, 0, "n"], - [76199, 0, "o"], - [76199, 1], - [76199, 0, "t"], - [76200, 0, "o"], - [76201, 0, " "], - [76202, 0, "$"], - [76203, 0, "H"], - [76204, 0, "_"], - [76205, 0, "p"], - [76206, 0, "R"], - [76207, 0, "$"], - [76207, 1], - [76206, 1], - [76206, 0, "$"], - [76207, 0, " "], - [76208, 0, "o"], - [76209, 0, "r"], - [76210, 0, " "], - [76211, 0, "$"], - [76212, 0, "H"], - [76213, 0, "-"], - [76213, 1], - [76213, 0, "_"], - [76214, 0, "q"], - [76215, 0, "$"], - [76216, 0, "."], - [76217, 0, " "], - [76218, 0, "W"], - [76219, 0, "e"], - [76220, 0, " "], - [76221, 0, "d"], - [76222, 0, "o"], - [76223, 0, " "], - [76224, 0, "t"], - [76225, 0, "h"], - [76226, 0, "i"], - [76227, 0, "s"], - [76228, 0, " "], - [76229, 0, "b"], - [76230, 0, "y"], - [76231, 0, " "], - [76232, 0, "s"], - [76233, 0, "h"], - [76234, 0, "o"], - [76235, 0, "w"], - [76236, 0, "i"], - [76237, 0, "n"], - [76238, 0, "g"], - [76239, 0, " "], - [76240, 0, "t"], - [76241, 0, "h"], - [76242, 0, "a"], - [76243, 0, "t"], - [76244, 0, " "], - [76245, 0, "$"], - [76246, 0, "o"], - [76247, 0, "_"], - [76248, 0, "{"], - [76249, 0, "n"], - [76250, 0, "+"], - [76251, 0, "1"], - [76252, 0, "}"], - [76253, 0, "$"], - [76254, 0, " "], - [76255, 0, "i"], - [76256, 0, "s"], - [76257, 0, " "], - [76258, 0, "c"], - [76259, 0, "o"], - [76260, 0, "m"], - [76261, 0, "m"], - [76262, 0, "u"], - [76263, 0, "t"], - [76264, 0, "a"], - [76265, 0, "t"], - [76266, 0, "i"], - [76267, 0, "v"], - [76268, 0, "e"], - [76269, 0, " "], - [76270, 0, "w"], - [76271, 0, "i"], - [76272, 0, "t"], - [76273, 0, "h"], - [76274, 0, " "], - [76275, 0, "r"], - [76276, 0, "e"], - [76277, 0, "s"], - [76278, 0, "p"], - [76279, 0, "e"], - [76280, 0, "c"], - [76281, 0, "t"], - [76282, 0, " "], - [76283, 0, "t"], - [76284, 0, "o"], - [76285, 0, " "], - [76286, 0, "a"], - [76287, 0, "l"], - [76288, 0, "l"], - [76289, 0, " "], - [76290, 0, "o"], - [76291, 0, "p"], - [76292, 0, "e"], - [76293, 0, "r"], - [76294, 0, "a"], - [76295, 0, "t"], - [76296, 0, "i"], - [76297, 0, "o"], - [76298, 0, "n"], - [76299, 0, "s"], - [76300, 0, " "], - [76301, 0, "i"], - [76302, 0, "n"], - [76303, 0, " "], - [76304, 0, "t"], - [76305, 0, "h"], - [76306, 0, "e"], - [76307, 0, " "], - [76308, 0, "s"], - [76309, 0, "u"], - [76310, 0, "f"], - [76311, 0, "f"], - [76312, 0, "i"], - [76313, 0, "x"], - [76314, 0, ","], - [76315, 0, " "], - [76316, 0, "i"], - [76317, 0, "."], - [76318, 0, "e"], - [76319, 0, "."], - [76320, 0, " "], - [76321, 0, "w"], - [76322, 0, "i"], - [76323, 0, "t"], - [76324, 0, "h"], - [76325, 0, " "], - [76326, 0, "r"], - [76327, 0, "e"], - [76328, 0, "s"], - [76329, 0, "p"], - [76330, 0, "e"], - [76331, 0, "c"], - [76332, 0, "t"], - [76333, 0, " "], - [76334, 0, "t"], - [76335, 0, "o"], - [76336, 0, " "], - [76337, 0, "a"], - [76338, 0, "l"], - [76339, 0, "l"], - [76340, 0, " "], - [76341, 0, "o"], - [76342, 0, "p"], - [76343, 0, "e"], - [76344, 0, "r"], - [76345, 0, "a"], - [76346, 0, "t"], - [76347, 0, "i"], - [76348, 0, "o"], - [76349, 0, "n"], - [76350, 0, "s"], - [76351, 0, " "], - [76352, 0, "t"], - [76353, 0, "h"], - [76354, 0, "a"], - [76355, 0, "t"], - [76356, 0, " "], - [76357, 0, "a"], - [76358, 0, "r"], - [76359, 0, "e"], - [76360, 0, " "], - [76361, 0, "c"], - [76362, 0, "o"], - [76363, 0, "n"], - [76364, 0, "c"], - [76365, 0, "u"], - [76366, 0, "r"], - [76367, 0, "r"], - [76368, 0, "e"], - [76369, 0, "n"], - [76370, 0, "t"], - [76371, 0, " "], - [76372, 0, "t"], - [76373, 0, "o"], - [76374, 0, " "], - [76375, 0, "$"], - [76376, 0, "O"], - [76377, 0, "-"], - [76377, 1], - [76376, 1], - [76376, 0, "o"], - [76377, 0, "_"], - [76378, 0, "{"], - [76379, 0, "n"], - [76380, 0, "+"], - [76381, 0, "1"], - [76382, 0, "}"], - [76383, 0, "$"], - [76384, 0, "."], - [76385, 0, " "], - [76386, 0, "W"], - [76387, 0, "e"], - [76388, 0, " "], - [76389, 0, "d"], - [76390, 0, "e"], - [76391, 0, "m"], - [76392, 0, "o"], - [76393, 0, "n"], - [76394, 0, "s"], - [76395, 0, "t"], - [76396, 0, "r"], - [76397, 0, "a"], - [76398, 0, "t"], - [76399, 0, "e"], - [76400, 0, " "], - [76401, 0, "t"], - [76402, 0, "h"], - [76403, 0, "i"], - [76404, 0, "s"], - [76405, 0, " "], - [76406, 0, "c"], - [76407, 0, "o"], - [76408, 0, "m"], - [76409, 0, "m"], - [76410, 0, "u"], - [76411, 0, "t"], - [76412, 0, "a"], - [76413, 0, "t"], - [76414, 0, "i"], - [76415, 0, "v"], - [76416, 0, "i"], - [76417, 0, "t"], - [76418, 0, "y"], - [76419, 0, " "], - [76420, 0, "c"], - [76421, 0, "a"], - [76422, 0, "s"], - [76423, 0, "e"], - [76424, 0, "-"], - [76425, 0, "b"], - [76426, 0, "y"], - [76427, 0, "-"], - [76428, 0, "c"], - [76429, 0, "a"], - [76430, 0, "s"], - [76431, 0, "e"], - [76432, 0, " "], - [76433, 0, "d"], - [76434, 0, "e"], - [76435, 0, "p"], - [76436, 0, "e"], - [76437, 0, "n"], - [76438, 0, "d"], - [76439, 0, "o"], - [76440, 0, "n"], - [76440, 1], - [76439, 1], - [76439, 0, "i"], - [76440, 0, "n"], - [76441, 0, "g"], - [76442, 0, " "], - [76443, 0, "o"], - [76444, 0, "n"], - [76445, 0, " "], - [76446, 0, "t"], - [76447, 0, "h"], - [76448, 0, "e"], - [76449, 0, " "], - [76450, 0, "t"], - [76451, 0, "y"], - [76452, 0, "p"], - [76453, 0, "e"], - [76454, 0, " "], - [76455, 0, "o"], - [76456, 0, "f"], - [76457, 0, " "], - [76458, 0, "m"], - [76459, 0, "u"], - [76460, 0, "t"], - [76461, 0, "a"], - [76462, 0, "t"], - [76463, 0, "i"], - [76464, 0, "o"], - [76465, 0, "n"], - [76466, 0, " "], - [76467, 0, "i"], - [76468, 0, "n"], - [76469, 0, " "], - [76470, 0, "$"], - [76471, 0, "o"], - [76472, 0, "_"], - [76473, 0, "{"], - [76474, 0, "n"], - [76475, 0, "+"], - [76476, 0, "1"], - [76477, 0, "}"], - [76478, 0, "$"], - [76479, 0, ":"], - [76480, 0, " "], - [76481, 0, "i"], - [76482, 0, "n"], - [76483, 0, "s"], - [76484, 0, "e"], - [76485, 0, "r"], - [76486, 0, "t"], - [76487, 0, "i"], - [76488, 0, "o"], - [76489, 0, "n"], - [76490, 0, "s"], - [76491, 0, " "], - [76492, 0, "i"], - [76493, 0, "n"], - [76494, 0, " "], - [76495, 0, "L"], - [76496, 0, "e"], - [76497, 0, "m"], - [76498, 0, "m"], - [76499, 0, "a"], - [76500, 0, "~"], - [76501, 0, "\\"], - [76502, 0, "r"], - [76503, 0, "e"], - [76504, 0, "f"], - [76505, 0, "{"], - [76506, 0, "l"], - [76507, 0, "e"], - [76508, 0, "m"], - [76509, 0, ":"], - [76510, 0, "i"], - [76511, 0, "n"], - [76512, 0, "s"], - [76513, 0, "e"], - [76514, 0, "r"], - [76515, 0, "t"], - [76516, 0, "-"], - [76517, 0, "c"], - [76518, 0, "o"], - [76519, 0, "m"], - [76520, 0, "m"], - [76521, 0, "u"], - [76522, 0, "t"], - [76523, 0, "e"], - [76524, 0, "}"], - [76525, 0, ","], - [76526, 0, " "], - [76527, 0, "d"], - [76528, 0, "e"], - [76529, 0, "l"], - [76530, 0, "e"], - [76531, 0, "t"], - [76532, 0, "i"], - [76533, 0, "o"], - [76534, 0, "n"], - [76535, 0, "s"], - [76536, 0, " "], - [76537, 0, "i"], - [76538, 0, "n"], - [76539, 0, " "], - [76540, 0, "L"], - [76541, 0, "e"], - [76542, 0, "m"], - [76543, 0, "m"], - [76544, 0, "a"], - [76545, 0, "~"], - [76546, 0, "\\"], - [76547, 0, "r"], - [76548, 0, "e"], - [76549, 0, "f"], - [76550, 0, "{"], - [76551, 0, "l"], - [76552, 0, "e"], - [76553, 0, "m"], - [76554, 0, ":"], - [76555, 0, "d"], - [76556, 0, "e"], - [76557, 0, "l"], - [76558, 0, "e"], - [76559, 0, "t"], - [76560, 0, "e"], - [76561, 0, "-"], - [76562, 0, "c"], - [76563, 0, "o"], - [76564, 0, "m"], - [76565, 0, "m"], - [76566, 0, "u"], - [76567, 0, "t"], - [76568, 0, "e"], - [76569, 0, "}"], - [76490, 1], - [76534, 1], - [76568, 0, ","], - [76569, 0, " "], - [76570, 0, "a"], - [76571, 0, "n"], - [76572, 0, "d"], - [76573, 0, " "], - [76574, 0, "a"], - [76575, 0, "s"], - [76576, 0, "s"], - [76577, 0, "i"], - [76578, 0, "g"], - [76579, 0, "n"], - [76580, 0, "m"], - [76581, 0, "e"], - [76582, 0, "n"], - [76583, 0, "t"], - [76584, 0, " "], - [76585, 0, "i"], - [76586, 0, "n"], - [76587, 0, " "], - [76588, 0, "L"], - [76589, 0, "e"], - [76590, 0, "m"], - [76591, 0, "m"], - [76592, 0, "a"], - [76593, 0, "~"], - [76594, 0, "\\"], - [76595, 0, "r"], - [76596, 0, "e"], - [76597, 0, "f"], - [76598, 0, "{"], - [76599, 0, "l"], - [76600, 0, "e"], - [76601, 0, "m"], - [76602, 0, ":"], - [76603, 0, "a"], - [76604, 0, "s"], - [76605, 0, "s"], - [76606, 0, "i"], - [76607, 0, "g"], - [76608, 0, "n"], - [76609, 0, "-"], - [76610, 0, "c"], - [76611, 0, "o"], - [76612, 0, "m"], - [76613, 0, "m"], - [76614, 0, "u"], - [76615, 0, "t"], - [76616, 0, "e"], - [76617, 0, "}"], - [76618, 0, "."], - [82130, 0, "\n"], - [82131, 0, "\\"], - [82132, 0, "b"], - [82133, 0, "e"], - [82134, 0, "g"], - [82135, 0, "i"], - [82136, 0, "n"], - [82137, 0, "{"], - [82138, 0, "e"], - [82139, 0, "m"], - [82139, 1], - [82138, 1], - [82138, 0, "l"], - [82139, 0, "e"], - [82140, 0, "m"], - [82141, 0, "m"], - [82142, 0, "a"], - [82143, 0, "}"], - [82144, 0, "\\"], - [82145, 0, "l"], - [82146, 0, "a"], - [82147, 0, "b"], - [82148, 0, "e"], - [82149, 0, "l"], - [82150, 0, "{"], - [82151, 0, "l"], - [82152, 0, "e"], - [82153, 0, "m"], - [82154, 0, ":"], - [82155, 0, "d"], - [82156, 0, "e"], - [82157, 0, "l"], - [82158, 0, "e"], - [82159, 0, "t"], - [82160, 0, "e"], - [82161, 0, "-"], - [82162, 0, "c"], - [82163, 0, "o"], - [82164, 0, "m"], - [82165, 0, "m"], - [82166, 0, "u"], - [82167, 0, "t"], - [82168, 0, "e"], - [82169, 0, "}"], - [82170, 0, "\n"], - [82171, 0, "C"], - [82172, 0, "o"], - [82173, 0, "n"], - [82174, 0, "c"], - [82175, 0, "u"], - [82176, 0, "r"], - [82177, 0, "r"], - [82178, 0, "e"], - [82178, 1], - [82177, 1], - [82176, 1], - [82175, 1], - [82174, 1], - [82173, 1], - [82172, 1], - [82171, 1], - [82171, 0, "D"], - [82172, 0, "e"], - [82173, 0, "l"], - [82174, 0, "e"], - [82175, 0, "t"], - [82176, 0, "i"], - [82177, 0, "o"], - [82178, 0, "n"], - [82179, 0, " "], - [82180, 0, "i"], - [82181, 0, "s"], - [82182, 0, " "], - [82183, 0, "c"], - [82184, 0, "o"], - [82185, 0, "m"], - [82186, 0, "m"], - [82187, 0, "u"], - [82188, 0, "t"], - [82189, 0, "a"], - [82190, 0, "t"], - [82191, 0, "i"], - [82192, 0, "v"], - [82193, 0, "e"], - [82194, 0, " "], - [82195, 0, "w"], - [82196, 0, "i"], - [82197, 0, "t"], - [82198, 0, "h"], - [82199, 0, " "], - [82200, 0, "r"], - [82201, 0, "e"], - [82202, 0, "s"], - [82203, 0, "p"], - [82204, 0, "e"], - [82205, 0, "c"], - [82206, 0, "t"], - [82207, 0, " "], - [82208, 0, "t"], - [82209, 0, "o"], - [82210, 0, " "], - [82211, 0, "o"], - [82212, 0, "t"], - [82213, 0, "h"], - [82214, 0, "e"], - [82215, 0, "r"], - [82216, 0, " "], - [82217, 0, "c"], - [82218, 0, "o"], - [82219, 0, "n"], - [82220, 0, "c"], - [82221, 0, "u"], - [82222, 0, "r"], - [82223, 0, "r"], - [82224, 0, "e"], - [82225, 0, "n"], - [82226, 0, "t"], - [82227, 0, " "], - [82228, 0, "o"], - [82229, 0, "p"], - [82230, 0, "e"], - [82231, 0, "r"], - [82232, 0, "a"], - [82233, 0, "t"], - [82234, 0, "i"], - [82235, 0, "o"], - [82236, 0, "n"], - [82237, 0, "s"], - [82238, 0, "."], - [82239, 0, "\n"], - [82240, 0, "\\"], - [82241, 0, "e"], - [82242, 0, "n"], - [82243, 0, "d"], - [82244, 0, "{"], - [82245, 0, "l"], - [82246, 0, "e"], - [82247, 0, "m"], - [82248, 0, "m"], - [82249, 0, "a"], - [82250, 0, "}"], - [82251, 0, "\n"], - [82252, 0, "\n"], - [82253, 0, "\\"], - [82254, 0, "b"], - [82255, 0, "e"], - [82256, 0, "g"], - [82257, 0, "i"], - [82258, 0, "n"], - [82259, 0, "{"], - [82260, 0, "l"], - [82261, 0, "e"], - [82262, 0, "m"], - [82263, 0, "m"], - [82264, 0, "a"], - [82265, 0, "}"], - [82266, 0, "\\"], - [82267, 0, "l"], - [82268, 0, "a"], - [82269, 0, "b"], - [82270, 0, "e"], - [82271, 0, "l"], - [82272, 0, "{"], - [82273, 0, "l"], - [82274, 0, "e"], - [82275, 0, "m"], - [82276, 0, ":"], - [82277, 0, "a"], - [82278, 0, "s"], - [82279, 0, "s"], - [82280, 0, "i"], - [82281, 0, "g"], - [82282, 0, "n"], - [82283, 0, "-"], - [82284, 0, "c"], - [82285, 0, "o"], - [82286, 0, "m"], - [82287, 0, "m"], - [82288, 0, "u"], - [82289, 0, "t"], - [82290, 0, "e"], - [82291, 0, "}"], - [82292, 0, "\n"], - [82293, 0, "A"], - [82294, 0, "s"], - [82295, 0, "s"], - [82296, 0, "i"], - [82297, 0, "g"], - [82298, 0, "n"], - [82299, 0, "m"], - [82300, 0, "e"], - [82301, 0, "n"], - [82302, 0, "t"], - [82303, 0, " "], - [82304, 0, "i"], - [82305, 0, "s"], - [82306, 0, " "], - [82307, 0, "c"], - [82308, 0, "o"], - [82309, 0, "m"], - [82310, 0, "m"], - [82311, 0, "u"], - [82312, 0, "t"], - [82313, 0, "a"], - [82314, 0, "t"], - [82315, 0, "i"], - [82316, 0, "v"], - [82317, 0, "e"], - [82318, 0, " "], - [82319, 0, "w"], - [82320, 0, "i"], - [82321, 0, "t"], - [82322, 0, "h"], - [82323, 0, " "], - [82324, 0, "r"], - [82325, 0, "e"], - [82326, 0, "s"], - [82327, 0, "p"], - [82328, 0, "e"], - [82329, 0, "c"], - [82330, 0, "t"], - [82331, 0, " "], - [82332, 0, "t"], - [82333, 0, "o"], - [82334, 0, " "], - [82335, 0, "o"], - [82336, 0, "t"], - [82337, 0, "h"], - [82338, 0, "e"], - [82339, 0, "r"], - [82340, 0, " "], - [82341, 0, "c"], - [82342, 0, "o"], - [82343, 0, "n"], - [82344, 0, "c"], - [82345, 0, "u"], - [82346, 0, "r"], - [82347, 0, "r"], - [82348, 0, "e"], - [82349, 0, "n"], - [82350, 0, "t"], - [82351, 0, " "], - [82352, 0, "o"], - [82353, 0, "p"], - [82354, 0, "e"], - [82355, 0, "r"], - [82356, 0, "a"], - [82357, 0, "t"], - [82358, 0, "i"], - [82359, 0, "o"], - [82360, 0, "n"], - [82361, 0, "s"], - [82362, 0, "."], - [82340, 1], - [82339, 1], - [82338, 1], - [82337, 1], - [82336, 1], - [82335, 1], - [82215, 1], - [82214, 1], - [82213, 1], - [82212, 1], - [82211, 1], - [82210, 1], - [82352, 0, "\\"], - [82353, 0, "e"], - [82354, 0, "n"], - [82355, 0, "d"], - [82356, 0, "{"], - [82357, 0, "l"], - [82358, 0, "e"], - [82359, 0, "m"], - [82360, 0, "m"], - [82361, 0, "a"], - [82362, 0, "}"], - [82363, 0, "\n"], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [82391, 1], - [83429, 1], - [83428, 1], - [83427, 1], - [83426, 1], - [83425, 1], - [83424, 1], - [83423, 1], - [83422, 1], - [83421, 1], - [83420, 1], - [83419, 1], - [83418, 1], - [83417, 1], - [83416, 1], - [83415, 1], - [83414, 1], - [83413, 1], - [83412, 1], - [83411, 1], - [83410, 1], - [83409, 1], - [83408, 1], - [83407, 1], - [83406, 1], - [83405, 1], - [83404, 1], - [83403, 1], - [83402, 1], - [83401, 1], - [83400, 1], - [83399, 1], - [83398, 1], - [83397, 1], - [83396, 1], - [83395, 1], - [83394, 1], - [83393, 1], - [83392, 1], - [83391, 1], - [83390, 1], - [83389, 1], - [83388, 1], - [83387, 1], - [83386, 1], - [83385, 1], - [83384, 1], - [83383, 1], - [83382, 1], - [83381, 1], - [83380, 1], - [83379, 1], - [83378, 1], - [83377, 1], - [83376, 1], - [83375, 1], - [83374, 1], - [83373, 1], - [83372, 1], - [83371, 1], - [83370, 1], - [83369, 1], - [83368, 1], - [83367, 1], - [83366, 1], - [83365, 1], - [83364, 1], - [83363, 1], - [83362, 1], - [83361, 1], - [83360, 1], - [83359, 1], - [83358, 1], - [83357, 1], - [83356, 1], - [83355, 1], - [83354, 1], - [83353, 1], - [83352, 1], - [83351, 1], - [83350, 1], - [83349, 1], - [83348, 1], - [83347, 1], - [83346, 1], - [83345, 1], - [83344, 1], - [83343, 1], - [83342, 1], - [83341, 1], - [83340, 1], - [83339, 1], - [83338, 1], - [83337, 1], - [83336, 1], - [83335, 1], - [83334, 1], - [83333, 1], - [83332, 1], - [83331, 1], - [83330, 1], - [83329, 1], - [83328, 1], - [83327, 1], - [83326, 1], - [83325, 1], - [83324, 1], - [83323, 1], - [83322, 1], - [83321, 1], - [83320, 1], - [83319, 1], - [83318, 1], - [83317, 1], - [83316, 1], - [83315, 1], - [83314, 1], - [83313, 1], - [83312, 1], - [83311, 1], - [83310, 1], - [83309, 1], - [83308, 1], - [83307, 1], - [83306, 1], - [83305, 1], - [83304, 1], - [83303, 1], - [83302, 1], - [83301, 1], - [83300, 1], - [83299, 1], - [83298, 1], - [83297, 1], - [83296, 1], - [83295, 1], - [83294, 1], - [83293, 1], - [83292, 1], - [83291, 1], - [83290, 1], - [83289, 1], - [83288, 1], - [83287, 1], - [83286, 1], - [83285, 1], - [83284, 1], - [83283, 1], - [83282, 1], - [83281, 1], - [83280, 1], - [83279, 1], - [83278, 1], - [83277, 1], - [83276, 1], - [83275, 1], - [83274, 1], - [83273, 1], - [83272, 1], - [83271, 1], - [83270, 1], - [83269, 1], - [83268, 1], - [83267, 1], - [83266, 1], - [83265, 1], - [83264, 1], - [83263, 1], - [83262, 1], - [83261, 1], - [83260, 1], - [83259, 1], - [83258, 1], - [83257, 1], - [83256, 1], - [83255, 1], - [83254, 1], - [83253, 1], - [83252, 1], - [83251, 1], - [83250, 1], - [83249, 1], - [83248, 1], - [83247, 1], - [83246, 1], - [83245, 1], - [83244, 1], - [83243, 1], - [83242, 1], - [83241, 1], - [83240, 1], - [83239, 1], - [83238, 1], - [83237, 1], - [83236, 1], - [83235, 1], - [83234, 1], - [83233, 1], - [83232, 1], - [83231, 1], - [83230, 1], - [83229, 1], - [83228, 1], - [83227, 1], - [83226, 1], - [83225, 1], - [83224, 1], - [83223, 1], - [83222, 1], - [83221, 1], - [83220, 1], - [83219, 1], - [83218, 1], - [83217, 1], - [83216, 1], - [83215, 1], - [83214, 1], - [83213, 1], - [83212, 1], - [83211, 1], - [83210, 1], - [83209, 1], - [83208, 1], - [83207, 1], - [83206, 1], - [83205, 1], - [83204, 1], - [83203, 1], - [83202, 1], - [83201, 1], - [83200, 1], - [83199, 1], - [83198, 1], - [83197, 1], - [83196, 1], - [83195, 1], - [83194, 1], - [83193, 1], - [83192, 1], - [83191, 1], - [83190, 1], - [83189, 1], - [83188, 1], - [83187, 1], - [83186, 1], - [83185, 1], - [83184, 1], - [83183, 1], - [83182, 1], - [83181, 1], - [83180, 1], - [83179, 1], - [83178, 1], - [83177, 1], - [83176, 1], - [83175, 1], - [83174, 1], - [83173, 1], - [83172, 1], - [83171, 1], - [83170, 1], - [83169, 1], - [83168, 1], - [83167, 1], - [83166, 1], - [83165, 1], - [83164, 1], - [83163, 1], - [83162, 1], - [83161, 1], - [83160, 1], - [83159, 1], - [83158, 1], - [83157, 1], - [83156, 1], - [83155, 1], - [83154, 1], - [83153, 1], - [83152, 1], - [83151, 1], - [83150, 1], - [83149, 1], - [83148, 1], - [83147, 1], - [83146, 1], - [83145, 1], - [83144, 1], - [83143, 1], - [83142, 1], - [83141, 1], - [83140, 1], - [83139, 1], - [83138, 1], - [83137, 1], - [83136, 1], - [83135, 1], - [83134, 1], - [83133, 1], - [83132, 1], - [83131, 1], - [83130, 1], - [83129, 1], - [83128, 1], - [83127, 1], - [83126, 1], - [83125, 1], - [83124, 1], - [83123, 1], - [83122, 1], - [83121, 1], - [83120, 1], - [83119, 1], - [83118, 1], - [83117, 1], - [83116, 1], - [83115, 1], - [83114, 1], - [83113, 1], - [83112, 1], - [83111, 1], - [83110, 1], - [83109, 1], - [83108, 1], - [83107, 1], - [83106, 1], - [83105, 1], - [83104, 1], - [83103, 1], - [83102, 1], - [83101, 1], - [83100, 1], - [83099, 1], - [83098, 1], - [83097, 1], - [83096, 1], - [83095, 1], - [83094, 1], - [83093, 1], - [83092, 1], - [83091, 1], - [83090, 1], - [83089, 1], - [83088, 1], - [83087, 1], - [83086, 1], - [83085, 1], - [83084, 1], - [83083, 1], - [83082, 1], - [83081, 1], - [83080, 1], - [83079, 1], - [83078, 1], - [83077, 1], - [83076, 1], - [83075, 1], - [83074, 1], - [83073, 1], - [83072, 1], - [83071, 1], - [83070, 1], - [83069, 1], - [83068, 1], - [83067, 1], - [83066, 1], - [83065, 1], - [83064, 1], - [83063, 1], - [83062, 1], - [83061, 1], - [83060, 1], - [83059, 1], - [83058, 1], - [83057, 1], - [83056, 1], - [83055, 1], - [83054, 1], - [83053, 1], - [83052, 1], - [83051, 1], - [83050, 1], - [83049, 1], - [83048, 1], - [83047, 1], - [83046, 1], - [83045, 1], - [83044, 1], - [83043, 1], - [83042, 1], - [83041, 1], - [83040, 1], - [83039, 1], - [83038, 1], - [83037, 1], - [83036, 1], - [83035, 1], - [83034, 1], - [83033, 1], - [83032, 1], - [83031, 1], - [83030, 1], - [83029, 1], - [83028, 1], - [83027, 1], - [83026, 1], - [83025, 1], - [83024, 1], - [83023, 1], - [83022, 1], - [83021, 1], - [83020, 1], - [83019, 1], - [83018, 1], - [83017, 1], - [83016, 1], - [83015, 1], - [83014, 1], - [83013, 1], - [83012, 1], - [83011, 1], - [83010, 1], - [83009, 1], - [83008, 1], - [83007, 1], - [83006, 1], - [83005, 1], - [83004, 1], - [83003, 1], - [83002, 1], - [83001, 1], - [83000, 1], - [82999, 1], - [82998, 1], - [82997, 1], - [82996, 1], - [82995, 1], - [82994, 1], - [82993, 1], - [82992, 1], - [82991, 1], - [82990, 1], - [82989, 1], - [82988, 1], - [82987, 1], - [82986, 1], - [82985, 1], - [82984, 1], - [82983, 1], - [82982, 1], - [82981, 1], - [82980, 1], - [82979, 1], - [82978, 1], - [82977, 1], - [82976, 1], - [82975, 1], - [82974, 1], - [82973, 1], - [82972, 1], - [82971, 1], - [82970, 1], - [82969, 1], - [82968, 1], - [82967, 1], - [82966, 1], - [82965, 1], - [82964, 1], - [82963, 1], - [82962, 1], - [82961, 1], - [82960, 1], - [82959, 1], - [82958, 1], - [82957, 1], - [82956, 1], - [82955, 1], - [82954, 1], - [82953, 1], - [82952, 1], - [82951, 1], - [82950, 1], - [82949, 1], - [82948, 1], - [82947, 1], - [82946, 1], - [82945, 1], - [82944, 1], - [82943, 1], - [82942, 1], - [82941, 1], - [82940, 1], - [82939, 1], - [82938, 1], - [82937, 1], - [82936, 1], - [82935, 1], - [82934, 1], - [82933, 1], - [82932, 1], - [82931, 1], - [82930, 1], - [82929, 1], - [82928, 1], - [82927, 1], - [82926, 1], - [82925, 1], - [82924, 1], - [82923, 1], - [82922, 1], - [82921, 1], - [82920, 1], - [82919, 1], - [82918, 1], - [82917, 1], - [82916, 1], - [82915, 1], - [82914, 1], - [82913, 1], - [82912, 1], - [82911, 1], - [82910, 1], - [82909, 1], - [82908, 1], - [82907, 1], - [82906, 1], - [82905, 1], - [82904, 1], - [82903, 1], - [82902, 1], - [82901, 1], - [82900, 1], - [82899, 1], - [82898, 1], - [82897, 1], - [82896, 1], - [82895, 1], - [82894, 1], - [82893, 1], - [82892, 1], - [82891, 1], - [82890, 1], - [82889, 1], - [82888, 1], - [82887, 1], - [82886, 1], - [82885, 1], - [82884, 1], - [82883, 1], - [82882, 1], - [82881, 1], - [82880, 1], - [82879, 1], - [82878, 1], - [82877, 1], - [82876, 1], - [82875, 1], - [82874, 1], - [82873, 1], - [82872, 1], - [82871, 1], - [82870, 1], - [82869, 1], - [82868, 1], - [82867, 1], - [82866, 1], - [82865, 1], - [82864, 1], - [82863, 1], - [82862, 1], - [82861, 1], - [82860, 1], - [82859, 1], - [82858, 1], - [82857, 1], - [82856, 1], - [82855, 1], - [82854, 1], - [82853, 1], - [82852, 1], - [82851, 1], - [82850, 1], - [82849, 1], - [82848, 1], - [82847, 1], - [82846, 1], - [82845, 1], - [82844, 1], - [82843, 1], - [82842, 1], - [82841, 1], - [82840, 1], - [82839, 1], - [82838, 1], - [82837, 1], - [82836, 1], - [82835, 1], - [82834, 1], - [82833, 1], - [82832, 1], - [82831, 1], - [82830, 1], - [82829, 1], - [82828, 1], - [82827, 1], - [82826, 1], - [82825, 1], - [82824, 1], - [82823, 1], - [82822, 1], - [82821, 1], - [82820, 1], - [82819, 1], - [82818, 1], - [82817, 1], - [82816, 1], - [82815, 1], - [82814, 1], - [82813, 1], - [82812, 1], - [82811, 1], - [82810, 1], - [82809, 1], - [82808, 1], - [82807, 1], - [82806, 1], - [82805, 1], - [82804, 1], - [82803, 1], - [82802, 1], - [82801, 1], - [82800, 1], - [82799, 1], - [82798, 1], - [82797, 1], - [82796, 1], - [82795, 1], - [82794, 1], - [82793, 1], - [82792, 1], - [82791, 1], - [82790, 1], - [82789, 1], - [82788, 1], - [82787, 1], - [82786, 1], - [82785, 1], - [82784, 1], - [82783, 1], - [82782, 1], - [82781, 1], - [82780, 1], - [82779, 1], - [82778, 1], - [82777, 1], - [82776, 1], - [82775, 1], - [82774, 1], - [82773, 1], - [82772, 1], - [82771, 1], - [82770, 1], - [82769, 1], - [82768, 1], - [82767, 1], - [82766, 1], - [82765, 1], - [82764, 1], - [82763, 1], - [82762, 1], - [82761, 1], - [82760, 1], - [82759, 1], - [82758, 1], - [82757, 1], - [82756, 1], - [82755, 1], - [82754, 1], - [82753, 1], - [82752, 1], - [82751, 1], - [82750, 1], - [82749, 1], - [82748, 1], - [82747, 1], - [82746, 1], - [82745, 1], - [82744, 1], - [82743, 1], - [82742, 1], - [82741, 1], - [82740, 1], - [82739, 1], - [82738, 1], - [82737, 1], - [82736, 1], - [82735, 1], - [82734, 1], - [82733, 1], - [82732, 1], - [82731, 1], - [82730, 1], - [82729, 1], - [82728, 1], - [82727, 1], - [82726, 1], - [82725, 1], - [82724, 1], - [82723, 1], - [82722, 1], - [82721, 1], - [82720, 1], - [82719, 1], - [82718, 1], - [82717, 1], - [82716, 1], - [82715, 1], - [82714, 1], - [82713, 1], - [82712, 1], - [82711, 1], - [82710, 1], - [82709, 1], - [82708, 1], - [82707, 1], - [82706, 1], - [82705, 1], - [82704, 1], - [82703, 1], - [82702, 1], - [82701, 1], - [82700, 1], - [82699, 1], - [82698, 1], - [82697, 1], - [82696, 1], - [82695, 1], - [82694, 1], - [82693, 1], - [82692, 1], - [82691, 1], - [82690, 1], - [82689, 1], - [82688, 1], - [82687, 1], - [82686, 1], - [82685, 1], - [82684, 1], - [82683, 1], - [82682, 1], - [82681, 1], - [82680, 1], - [82679, 1], - [82678, 1], - [82677, 1], - [82676, 1], - [82675, 1], - [82674, 1], - [82673, 1], - [82672, 1], - [82671, 1], - [82670, 1], - [82669, 1], - [82668, 1], - [82667, 1], - [82666, 1], - [82665, 1], - [82664, 1], - [82663, 1], - [82662, 1], - [82661, 1], - [82660, 1], - [82659, 1], - [82658, 1], - [82657, 1], - [82656, 1], - [82655, 1], - [82654, 1], - [82653, 1], - [82652, 1], - [82651, 1], - [82650, 1], - [82649, 1], - [82648, 1], - [82647, 1], - [82646, 1], - [82645, 1], - [82644, 1], - [82643, 1], - [82642, 1], - [82641, 1], - [82640, 1], - [82639, 1], - [82638, 1], - [82637, 1], - [82636, 1], - [82635, 1], - [82634, 1], - [82633, 1], - [82632, 1], - [82631, 1], - [82630, 1], - [82629, 1], - [82628, 1], - [82627, 1], - [82626, 1], - [82625, 1], - [82624, 1], - [82623, 1], - [82622, 1], - [82621, 1], - [82620, 1], - [82619, 1], - [82618, 1], - [82617, 1], - [82616, 1], - [82615, 1], - [82614, 1], - [82613, 1], - [82612, 1], - [82611, 1], - [82610, 1], - [82609, 1], - [82608, 1], - [82607, 1], - [82606, 1], - [82605, 1], - [82604, 1], - [82603, 1], - [82602, 1], - [82601, 1], - [82600, 1], - [82599, 1], - [82598, 1], - [82597, 1], - [82596, 1], - [82595, 1], - [82594, 1], - [82593, 1], - [82592, 1], - [82591, 1], - [82590, 1], - [82589, 1], - [82588, 1], - [82587, 1], - [82586, 1], - [82585, 1], - [82584, 1], - [82583, 1], - [82582, 1], - [82581, 1], - [82580, 1], - [82579, 1], - [82578, 1], - [82577, 1], - [82576, 1], - [82575, 1], - [82574, 1], - [82573, 1], - [82572, 1], - [82571, 1], - [82570, 1], - [82569, 1], - [82568, 1], - [82567, 1], - [82566, 1], - [82565, 1], - [82564, 1], - [82563, 1], - [82562, 1], - [82561, 1], - [82560, 1], - [82559, 1], - [82558, 1], - [82557, 1], - [82556, 1], - [82555, 1], - [82554, 1], - [82553, 1], - [82552, 1], - [82551, 1], - [82550, 1], - [82549, 1], - [82548, 1], - [82547, 1], - [82546, 1], - [82545, 1], - [82544, 1], - [82543, 1], - [82542, 1], - [82541, 1], - [82540, 1], - [82539, 1], - [82538, 1], - [82537, 1], - [82536, 1], - [82535, 1], - [82534, 1], - [82533, 1], - [82532, 1], - [82531, 1], - [82530, 1], - [82529, 1], - [82528, 1], - [82527, 1], - [82526, 1], - [82525, 1], - [82524, 1], - [82523, 1], - [82522, 1], - [82521, 1], - [82520, 1], - [82519, 1], - [82518, 1], - [82517, 1], - [82516, 1], - [82515, 1], - [82514, 1], - [82513, 1], - [82512, 1], - [82511, 1], - [82510, 1], - [82509, 1], - [82508, 1], - [82507, 1], - [82506, 1], - [82505, 1], - [82504, 1], - [82503, 1], - [82502, 1], - [82501, 1], - [82500, 1], - [82499, 1], - [82498, 1], - [82497, 1], - [82496, 1], - [82495, 1], - [82494, 1], - [82493, 1], - [82492, 1], - [82491, 1], - [82490, 1], - [82489, 1], - [82488, 1], - [82487, 1], - [82486, 1], - [82485, 1], - [82484, 1], - [82483, 1], - [82482, 1], - [82481, 1], - [82480, 1], - [82479, 1], - [82478, 1], - [82477, 1], - [82476, 1], - [82475, 1], - [82474, 1], - [82473, 1], - [82472, 1], - [82471, 1], - [82470, 1], - [82469, 1], - [82468, 1], - [82467, 1], - [82466, 1], - [82465, 1], - [82464, 1], - [82463, 1], - [82462, 1], - [82461, 1], - [82460, 1], - [82459, 1], - [82458, 1], - [82457, 1], - [82456, 1], - [82455, 1], - [82454, 1], - [82453, 1], - [82452, 1], - [82451, 1], - [82450, 1], - [82449, 1], - [82448, 1], - [82447, 1], - [82446, 1], - [82445, 1], - [82444, 1], - [82443, 1], - [82442, 1], - [82441, 1], - [82440, 1], - [82439, 1], - [82438, 1], - [82437, 1], - [82436, 1], - [82435, 1], - [82434, 1], - [82433, 1], - [82432, 1], - [82431, 1], - [82430, 1], - [82429, 1], - [82428, 1], - [82427, 1], - [82426, 1], - [82425, 1], - [82424, 1], - [82423, 1], - [82422, 1], - [82421, 1], - [82420, 1], - [82419, 1], - [82418, 1], - [82417, 1], - [82416, 1], - [82415, 1], - [82414, 1], - [82413, 1], - [82412, 1], - [82411, 1], - [82410, 1], - [82409, 1], - [82408, 1], - [82407, 1], - [82406, 1], - [82405, 1], - [82404, 1], - [82403, 1], - [82402, 1], - [82401, 1], - [82400, 1], - [82399, 1], - [82398, 1], - [82397, 1], - [82396, 1], - [82395, 1], - [82394, 1], - [82393, 1], - [82392, 1], - [82391, 1], - [82390, 1], - [82389, 1], - [74572, 0, " "], - [74573, 0, "T"], - [74574, 0, "h"], - [74575, 0, "e"], - [74576, 0, " "], - [74577, 0, "c"], - [74578, 0, "a"], - [74579, 0, "u"], - [74580, 0, "s"], - [74581, 0, "a"], - [74582, 0, "l"], - [74583, 0, "i"], - [74584, 0, "t"], - [74585, 0, "y"], - [74586, 0, " "], - [74587, 0, "i"], - [74588, 0, "n"], - [74589, 0, "v"], - [74590, 0, "a"], - [74591, 0, "r"], - [74592, 0, "i"], - [74593, 0, "a"], - [74594, 0, "n"], - [74595, 0, "t"], - [74596, 0, " "], - [74597, 0, "i"], - [74598, 0, "s"], - [74599, 0, " "], - [74600, 0, "m"], - [74601, 0, "a"], - [74602, 0, "i"], - [74603, 0, "n"], - [74604, 0, "t"], - [74605, 0, "a"], - [74606, 0, "i"], - [74607, 0, "n"], - [74608, 0, "e"], - [74609, 0, "d"], - [74610, 0, " "], - [74611, 0, "b"], - [74612, 0, "y"], - [74613, 0, " "], - [74614, 0, "t"], - [74615, 0, "h"], - [74616, 0, "e"], - [74617, 0, " "], - [74618, 0, "\\"], - [74619, 0, "t"], - [74620, 0, "e"], - [74621, 0, "x"], - [74622, 0, "t"], - [74623, 0, "s"], - [74624, 0, "c"], - [74625, 0, "{"], - [74626, 0, "A"], - [74627, 0, "p"], - [74628, 0, "p"], - [74629, 0, "l"], - [74630, 0, "y"], - [74631, 0, "-"], - [74632, 0, "*"], - [74633, 0, "}"], - [74634, 0, " "], - [74635, 0, "r"], - [74636, 0, "u"], - [74637, 0, "l"], - [74638, 0, "e"], - [74639, 0, "s"], - [74640, 0, "."], - [76700, 0, "\n"], - [76701, 0, "\n"], - [76702, 0, "B"], - [76703, 0, "e"], - [76704, 0, "f"], - [76705, 0, "o"], - [76706, 0, "r"], - [76707, 0, "e"], - [76708, 0, " "], - [76709, 0, "w"], - [76710, 0, "e"], - [76711, 0, " "], - [76712, 0, "c"], - [76713, 0, "a"], - [76714, 0, "n"], - [76715, 0, " "], - [76716, 0, "p"], - [76717, 0, "r"], - [76718, 0, "o"], - [76719, 0, "v"], - [76720, 0, "e"], - [76721, 0, " "], - [76722, 0, "t"], - [76723, 0, "h"], - [76724, 0, "e"], - [76725, 0, " "], - [76726, 0, "c"], - [76727, 0, "o"], - [76728, 0, "m"], - [76729, 0, "m"], - [76730, 0, "u"], - [76731, 0, "t"], - [76732, 0, "a"], - [76733, 0, "t"], - [76734, 0, "i"], - [76735, 0, "v"], - [76736, 0, "i"], - [76737, 0, "t"], - [76738, 0, "y"], - [76739, 0, " "], - [76740, 0, "o"], - [76741, 0, "f"], - [76742, 0, " "], - [76743, 0, "i"], - [76744, 0, "n"], - [76745, 0, "s"], - [76746, 0, "e"], - [76747, 0, "r"], - [76748, 0, "t"], - [76749, 0, "i"], - [76750, 0, "o"], - [76751, 0, "n"], - [76752, 0, ","], - [76753, 0, " "], - [76754, 0, "d"], - [76755, 0, "e"], - [76756, 0, "l"], - [76757, 0, "e"], - [76758, 0, "t"], - [76759, 0, "i"], - [76760, 0, "o"], - [76761, 0, "n"], - [76762, 0, " "], - [76763, 0, "a"], - [76764, 0, "n"], - [76765, 0, "d"], - [76766, 0, " "], - [76767, 0, "a"], - [76768, 0, "s"], - [76769, 0, "s"], - [76770, 0, "i"], - [76771, 0, "g"], - [76772, 0, "n"], - [76773, 0, "m"], - [76774, 0, "e"], - [76775, 0, "n"], - [76776, 0, "t"], - [76777, 0, ","], - [76778, 0, " "], - [76779, 0, "w"], - [76780, 0, "e"], - [76781, 0, " "], - [76782, 0, "m"], - [76783, 0, "u"], - [76784, 0, "s"], - [76785, 0, "t"], - [76786, 0, " "], - [76787, 0, "f"], - [76788, 0, "i"], - [76789, 0, "r"], - [76790, 0, "s"], - [76791, 0, "t"], - [76792, 0, " "], - [76793, 0, "p"], - [76794, 0, "r"], - [76795, 0, "o"], - [76796, 0, "v"], - [76797, 0, "e"], - [76798, 0, " "], - [76799, 0, "s"], - [76800, 0, "o"], - [76801, 0, "m"], - [76802, 0, "e"], - [76803, 0, " "], - [76804, 0, "p"], - [76805, 0, "r"], - [76806, 0, "e"], - [76807, 0, "l"], - [76808, 0, "i"], - [76809, 0, "m"], - [76810, 0, "i"], - [76811, 0, "n"], - [76812, 0, "a"], - [76813, 0, "r"], - [76814, 0, "y"], - [76815, 0, " "], - [76816, 0, "l"], - [76817, 0, "e"], - [76818, 0, "m"], - [76819, 0, "m"], - [76820, 0, "a"], - [76821, 0, "s"], - [76822, 0, "."], - [76792, 0, " "], - [76793, 0, "d"], - [76794, 0, "e"], - [76795, 0, "f"], - [76796, 0, "i"], - [76797, 0, "n"], - [76798, 0, "e"], - [76799, 0, " "], - [76800, 0, "s"], - [76801, 0, "o"], - [76802, 0, "m"], - [76803, 0, "e"], - [76804, 0, " "], - [76805, 0, "m"], - [76806, 0, "o"], - [76807, 0, "r"], - [76808, 0, "e"], - [76809, 0, " "], - [76810, 0, "t"], - [76811, 0, "e"], - [76812, 0, "r"], - [76813, 0, "m"], - [76814, 0, "s"], - [76815, 0, " "], - [76816, 0, "a"], - [76817, 0, "n"], - [76818, 0, "d"], - [73117, 0, " "], - [73118, 0, "M"], - [73119, 0, "o"], - [73120, 0, "r"], - [73121, 0, "e"], - [73122, 0, "o"], - [73123, 0, "v"], - [73124, 0, "e"], - [73125, 0, "r"], - [73126, 0, ","], - [73127, 0, " "], - [73128, 0, "g"], - [73129, 0, "a"], - [73130, 0, "r"], - [73131, 0, "b"], - [73132, 0, "a"], - [73133, 0, "g"], - [73134, 0, "e"], - [73135, 0, " "], - [73136, 0, "c"], - [73137, 0, "o"], - [73138, 0, "l"], - [73139, 0, "l"], - [73140, 0, "e"], - [73141, 0, "c"], - [73142, 0, "t"], - [73143, 0, "i"], - [73144, 0, "o"], - [73145, 0, "n"], - [73146, 0, " "], - [73147, 0, "("], - [73148, 0, "t"], - [73149, 0, "o"], - [73150, 0, "m"], - [73151, 0, "b"], - [73152, 0, "s"], - [73153, 0, "t"], - [73154, 0, "o"], - [73155, 0, "n"], - [73156, 0, "e"], - [73157, 0, " "], - [73158, 0, "r"], - [73159, 0, "e"], - [73160, 0, "m"], - [73161, 0, "o"], - [73162, 0, "v"], - [73163, 0, "a"], - [73164, 0, "l"], - [73165, 0, ")"], - [73166, 0, " "], - [73167, 0, "i"], - [73168, 0, "s"], - [73169, 0, " "], - [73170, 0, "r"], - [73171, 0, "e"], - [73172, 0, "q"], - [73173, 0, "u"], - [73174, 0, "i"], - [73175, 0, "r"], - [73176, 0, "e"], - [73177, 0, "d"], - [73178, 0, " "], - [73179, 0, "i"], - [73180, 0, "n"], - [73181, 0, " "], - [73182, 0, "o"], - [73183, 0, "r"], - [73184, 0, "d"], - [73185, 0, "e"], - [73186, 0, "r"], - [73187, 0, " "], - [73188, 0, "t"], - [73189, 0, "o"], - [73190, 0, " "], - [73191, 0, "p"], - [73192, 0, "r"], - [73193, 0, "e"], - [73194, 0, "v"], - [73195, 0, "e"], - [73196, 0, "n"], - [73197, 0, "t"], - [73198, 0, " "], - [73199, 0, "u"], - [73200, 0, "n"], - [73201, 0, "b"], - [73202, 0, "o"], - [73203, 0, "u"], - [73204, 0, "n"], - [73205, 0, "d"], - [73206, 0, "e"], - [73207, 0, "d"], - [73208, 0, " "], - [73209, 0, "g"], - [73210, 0, "r"], - [73211, 0, "o"], - [73212, 0, "w"], - [73213, 0, "t"], - [73214, 0, "h"], - [73215, 0, " "], - [73216, 0, "o"], - [73217, 0, "f"], - [73218, 0, " "], - [73219, 0, "t"], - [73220, 0, "h"], - [73221, 0, "e"], - [73222, 0, " "], - [73223, 0, "d"], - [73224, 0, "a"], - [73225, 0, "t"], - [73226, 0, "a"], - [73227, 0, "s"], - [73228, 0, "t"], - [73229, 0, "r"], - [73230, 0, "u"], - [73231, 0, "c"], - [73232, 0, "t"], - [73233, 0, "u"], - [73234, 0, "r"], - [73235, 0, "e"], - [73236, 0, "."], - [2143, 0, "i"], - [2144, 0, ","], - [2145, 0, " "], - [2145, 1], - [2144, 1], - [2143, 1], - [2143, 0, ","], - [2144, 0, " "], - [2145, 0, "o"], - [2146, 0, "n"], - [2147, 0, " "], - [2148, 0, "m"], - [2149, 0, "o"], - [2150, 0, "b"], - [2151, 0, "i"], - [2152, 0, "l"], - [2153, 0, "e"], - [2154, 0, " "], - [2155, 0, "s"], - [2156, 0, "y"], - [2157, 0, "s"], - [2158, 0, "t"], - [2159, 0, "e"], - [2160, 0, "m"], - [2161, 0, "s"], - [2162, 0, " "], - [2163, 0, "w"], - [2164, 0, "h"], - [2165, 0, "i"], - [2166, 0, "c"], - [2167, 0, "h"], - [2168, 0, " "], - [2169, 0, "s"], - [2170, 0, "u"], - [2171, 0, "u"], - [2171, 1], - [2171, 0, "f"], - [2172, 0, "f"], - [2173, 0, "e"], - [2174, 0, "r"], - [2175, 0, " "], - [2176, 0, "f"], - [2177, 0, "r"], - [2178, 0, "o"], - [2179, 0, "m"], - [2180, 0, " "], - [2181, 0, "p"], - [2182, 0, "e"], - [2183, 0, "r"], - [2184, 0, "i"], - [2185, 0, "o"], - [2186, 0, "d"], - [2187, 0, "s"], - [2188, 0, " "], - [2189, 0, "o"], - [2190, 0, "f"], - [2191, 0, " "], - [2192, 0, "d"], - [2193, 0, "i"], - [2194, 0, "s"], - [2195, 0, "c"], - [2196, 0, "o"], - [2197, 0, "n"], - [2198, 0, "n"], - [2199, 0, "e"], - [2200, 0, "c"], - [2201, 0, "t"], - [2202, 0, "i"], - [2203, 0, "v"], - [2204, 0, "i"], - [2205, 0, "t"], - [2206, 0, "y"], - [2207, 0, ","], - [2161, 1], - [2160, 1], - [2159, 1], - [2158, 1], - [2157, 1], - [2156, 1], - [2155, 1], - [2155, 0, "d"], - [2156, 0, "e"], - [2157, 0, "v"], - [2158, 0, "i"], - [2159, 0, "c"], - [2160, 0, "e"], - [2161, 0, "s"], - [2145, 0, "d"], - [2146, 0, "w"], - [2147, 0, "d"], - [2210, 1], - [2209, 1], - [2208, 1], - [2207, 1], - [2206, 1], - [2205, 1], - [2204, 1], - [2203, 1], - [2202, 1], - [2201, 1], - [2200, 1], - [2199, 1], - [2198, 1], - [2197, 1], - [2196, 1], - [2195, 1], - [2194, 1], - [2193, 1], - [2192, 1], - [2191, 1], - [2190, 1], - [2189, 1], - [2188, 1], - [2187, 1], - [2186, 1], - [2185, 1], - [2184, 1], - [2183, 1], - [2182, 1], - [2181, 1], - [2180, 1], - [2179, 1], - [2178, 1], - [2177, 1], - [2176, 1], - [2175, 1], - [2174, 1], - [2173, 1], - [2172, 1], - [2171, 1], - [2170, 1], - [2169, 1], - [2168, 1], - [2167, 1], - [2166, 1], - [2165, 1], - [2164, 1], - [2163, 1], - [2162, 1], - [2161, 1], - [2160, 1], - [2159, 1], - [2158, 1], - [2157, 1], - [2156, 1], - [2155, 1], - [2154, 1], - [2153, 1], - [2152, 1], - [2151, 1], - [2150, 1], - [2149, 1], - [2148, 1], - [2147, 1], - [2146, 1], - [2145, 1], - [2144, 1], - [2197, 0, "i"], - [2197, 1], - [2197, 0, " "], - [2198, 0, "M"], - [2199, 0, "e"], - [2200, 0, "r"], - [2201, 0, "g"], - [2202, 0, "i"], - [2203, 0, "n"], - [2204, 0, "g"], - [2205, 0, " "], - [2205, 1], - [2204, 1], - [2203, 1], - [2202, 1], - [2201, 1], - [2200, 1], - [2199, 1], - [2198, 1], - [2198, 0, "T"], - [2199, 0, "h"], - [2200, 0, "e"], - [2201, 0, " "], - [2202, 0, "m"], - [2203, 0, "e"], - [2204, 0, "r"], - [2205, 0, "g"], - [2206, 0, "i"], - [2207, 0, "n"], - [2208, 0, "g"], - [2208, 1], - [2207, 1], - [2206, 1], - [2205, 1], - [2204, 1], - [2203, 1], - [2202, 1], - [2201, 1], - [2200, 1], - [2199, 1], - [2198, 1], - [2198, 0, "O"], - [2199, 0, "u"], - [2200, 0, "r"], - [2201, 0, " "], - [2202, 0, "s"], - [2203, 0, "o"], - [2204, 0, "l"], - [2205, 0, "u"], - [2206, 0, "t"], - [2207, 0, "i"], - [2208, 0, "o"], - [2209, 0, "n"], - [2210, 0, " "], - [2211, 0, "i"], - [2212, 0, "s"], - [2213, 0, " "], - [2214, 0, "p"], - [2215, 0, "a"], - [2216, 0, "r"], - [2217, 0, "t"], - [2218, 0, "i"], - [2219, 0, "c"], - [2220, 0, "u"], - [2221, 0, "l"], - [2222, 0, "a"], - [2223, 0, "r"], - [2224, 0, "l"], - [2225, 0, "y"], - [2226, 0, " "], - [2226, 1], - [2225, 1], - [2224, 1], - [2223, 1], - [2222, 1], - [2221, 1], - [2220, 1], - [2219, 1], - [2218, 1], - [2217, 1], - [2216, 1], - [2215, 1], - [2214, 1], - [2213, 1], - [2212, 1], - [2211, 1], - [2210, 1], - [2209, 1], - [2208, 1], - [2207, 1], - [2206, 1], - [2205, 1], - [2204, 1], - [2203, 1], - [2202, 1], - [2201, 1], - [2200, 1], - [2199, 1], - [2198, 1], - [2197, 1], - [2197, 0, "\n"], - [2198, 0, "%"], - [2199, 0, "T"], - [2200, 0, "O"], - [2201, 0, "D"], - [2202, 0, "O"], - [2203, 0, " "], - [2204, 0, "m"], - [2205, 0, "e"], - [2206, 0, "n"], - [2207, 0, "t"], - [2208, 0, "i"], - [2209, 0, "o"], - [2210, 0, "n"], - [2211, 0, " "], - [2212, 0, "h"], - [2213, 0, "e"], - [2214, 0, "r"], - [2215, 0, "e"], - [2216, 0, " "], - [2217, 0, "s"], - [2218, 0, "o"], - [2219, 0, "m"], - [2219, 1], - [2218, 1], - [2217, 1], - [2217, 0, "t"], - [2218, 0, "h"], - [2219, 0, "a"], - [2220, 0, "t"], - [2221, 0, " "], - [2222, 0, "w"], - [2223, 0, "e"], - [2224, 0, " "], - [2225, 0, "s"], - [2226, 0, "h"], - [2227, 0, "o"], - [2228, 0, "u"], - [2229, 0, "l"], - [2230, 0, "d"], - [2231, 0, " "], - [2232, 0, "s"], - [2233, 0, "u"], - [2234, 0, "p"], - [2235, 0, "p"], - [2236, 0, "o"], - [2237, 0, "r"], - [2238, 0, "t"], - [2239, 0, " "], - [2239, 1], - [2238, 1], - [2237, 1], - [2236, 1], - [2235, 1], - [2234, 1], - [2233, 1], - [2232, 1], - [2231, 1], - [2230, 1], - [2229, 1], - [2228, 1], - [2227, 1], - [2226, 1], - [2225, 1], - [2224, 1], - [2223, 1], - [2222, 1], - [2222, 0, "t"], - [2223, 0, "h"], - [2224, 0, "i"], - [2225, 0, "s"], - [2226, 0, " "], - [2227, 0, "i"], - [2228, 0, "s"], - [2229, 0, " "], - [2230, 0, "p"], - [2231, 0, "a"], - [2232, 0, "r"], - [2233, 0, "t"], - [2234, 0, "i"], - [2235, 0, "c"], - [2236, 0, "u"], - [2237, 0, "l"], - [2238, 0, "a"], - [2239, 0, "r"], - [2240, 0, "l"], - [2241, 0, "y"], - [2242, 0, " "], - [2243, 0, "u"], - [2244, 0, "s"], - [2245, 0, "e"], - [2246, 0, "f"], - [2247, 0, "u"], - [2248, 0, "l"], - [2249, 0, " "], - [2250, 0, "f"], - [2251, 0, "o"], - [2252, 0, "r"], - [2253, 0, " "], - [2254, 0, "m"], - [2255, 0, "o"], - [2256, 0, "b"], - [2257, 0, "i"], - [2258, 0, "l"], - [2259, 0, "e"], - [2260, 0, " "], - [2261, 0, "s"], - [2262, 0, "y"], - [2263, 0, "s"], - [2264, 0, "t"], - [2265, 0, "e"], - [2266, 0, "m"], - [2267, 0, "s"], - [2268, 0, " "], - [2269, 0, "w"], - [2270, 0, "i"], - [2271, 0, "c"], - [2272, 0, "h"], - [2273, 0, " "], - [2273, 1], - [2272, 1], - [2271, 1], - [2270, 1], - [2270, 0, "h"], - [2271, 0, "i"], - [2272, 0, "c"], - [2273, 0, "h"], - [2274, 0, " "], - [2275, 0, "a"], - [2276, 0, "l"], - [2277, 0, "s"], - [2278, 0, "o"], - [2279, 0, " "], - [2280, 0, "s"], - [2280, 1], - [2279, 1], - [2278, 1], - [2277, 1], - [2276, 1], - [2275, 1], - [2275, 0, "s"], - [2276, 0, "u"], - [2277, 0, "p"], - [2278, 0, "p"], - [2278, 1], - [2277, 1], - [2277, 0, "f"], - [2278, 0, "f"], - [2279, 0, "e"], - [2280, 0, "r"], - [2281, 0, " "], - [2282, 0, "p"], - [2283, 0, "e"], - [2284, 0, "r"], - [2285, 0, "i"], - [2286, 0, "o"], - [2287, 0, "d"], - [2288, 0, "s"], - [2289, 0, " "], - [2290, 0, "o"], - [2291, 0, "f"], - [2292, 0, " "], - [2293, 0, "d"], - [2294, 0, "i"], - [2295, 0, "s"], - [2296, 0, "c"], - [2297, 0, "o"], - [2298, 0, "n"], - [2299, 0, "n"], - [2300, 0, "e"], - [2301, 0, "t"], - [2301, 1], - [2301, 0, "c"], - [2302, 0, "t"], - [2303, 0, "i"], - [2304, 0, "v"], - [2305, 0, "i"], - [2306, 0, "t"], - [2307, 0, "y"], - [2308, 0, " "], - [2309, 0, "a"], - [2310, 0, "n"], - [2311, 0, "d"], - [2312, 0, " "], - [2313, 0, "a"], - [2314, 0, "l"], - [2315, 0, "s"], - [2316, 0, "o"], - [2317, 0, " "], - [2318, 0, "u"], - [2319, 0, "s"], - [2320, 0, "e"], - [2321, 0, " "], - [2322, 0, "m"], - [2323, 0, "u"], - [2324, 0, "l"], - [2325, 0, "t"], - [2326, 0, "i"], - [2327, 0, "p"], - [2328, 0, "l"], - [2329, 0, "e"], - [2330, 0, " "], - [2331, 0, "i"], - [2332, 0, "n"], - [2333, 0, "t"], - [2334, 0, "e"], - [2335, 0, "r"], - [2336, 0, "f"], - [2337, 0, "a"], - [2338, 0, "c"], - [2339, 0, "e"], - [2340, 0, "s"], - [2341, 0, " "], - [2342, 0, "("], - [2343, 0, "w"], - [2344, 0, "h"], - [2345, 0, "i"], - [2346, 0, "c"], - [2347, 0, "h"], - [2348, 0, " "], - [2349, 0, "m"], - [2350, 0, "e"], - [2351, 0, "s"], - [2352, 0, "s"], - [2353, 0, "e"], - [2354, 0, "s"], - [2355, 0, "s"], - [2356, 0, " "], - [2357, 0, "w"], - [2357, 1], - [2356, 1], - [2355, 1], - [2354, 1], - [2354, 0, " "], - [2354, 1], - [2354, 0, "s"], - [2355, 0, " "], - [2356, 0, "w"], - [2357, 0, "i"], - [2358, 0, "t"], - [2359, 0, "h"], - [2360, 0, " "], - [2361, 0, "o"], - [2362, 0, "r"], - [2363, 0, "d"], - [2364, 0, "e"], - [2365, 0, "r"], - [2366, 0, "i"], - [2367, 0, "n"], - [2368, 0, "g"], - [2369, 0, ")"], - [2370, 0, "?"], - [2683, 0, "i"], - [2684, 0, "c"], - [2685, 0, "o"], - [2685, 1], - [2684, 1], - [2683, 1], - [2683, 0, "c"], - [2684, 0, "o"], - [2685, 0, "l"], - [2686, 0, "l"], - [2687, 0, "a"], - [2688, 0, "b"], - [2689, 0, "o"], - [2690, 0, "r"], - [2691, 0, "a"], - [2692, 0, "t"], - [2693, 0, "i"], - [2694, 0, "v"], - [2695, 0, "e"], - [2696, 0, " "], - [2695, 1], - [2694, 1], - [2693, 1], - [2692, 1], - [2691, 1], - [2690, 1], - [2689, 1], - [2688, 1], - [2687, 1], - [2686, 1], - [2685, 1], - [2684, 1], - [2683, 1], - [2682, 1], - [3040, 0, "i"], - [3040, 1], - [3040, 0, " "], - [3041, 0, "w"], - [3042, 0, "i"], - [3043, 0, "t"], - [3044, 0, "h"], - [3045, 0, " "], - [3046, 0, "t"], - [3047, 0, "h"], - [3048, 0, "e"], - [3049, 0, "s"], - [3050, 0, "e"], - [3051, 0, " "], - [3052, 0, "a"], - [3053, 0, "p"], - [3054, 0, "p"], - [3055, 0, "l"], - [3056, 0, "i"], - [3057, 0, "c"], - [3058, 0, "a"], - [3059, 0, "t"], - [3060, 0, "i"], - [3061, 0, "o"], - [3062, 0, "n"], - [3063, 0, "s"], - [3064, 0, " "], - [3065, 0, "a"], - [3066, 0, "s"], - [3067, 0, " "], - [3068, 0, "w"], - [3069, 0, "e"], - [3070, 0, "l"], - [3071, 0, "l"], - [3072, 0, " "], - [3073, 0, "a"], - [3074, 0, "s"], - [3074, 1], - [3073, 1], - [3072, 1], - [3071, 1], - [3070, 1], - [3069, 1], - [3068, 1], - [3067, 1], - [3066, 1], - [3065, 1], - [3064, 1], - [3063, 1], - [3062, 1], - [3061, 1], - [3060, 1], - [3059, 1], - [3058, 1], - [3057, 1], - [3056, 1], - [3055, 1], - [3054, 1], - [3053, 1], - [3052, 1], - [3051, 1], - [3050, 1], - [3049, 1], - [3048, 1], - [3047, 1], - [3046, 1], - [3045, 1], - [3044, 1], - [3043, 1], - [3042, 1], - [3041, 1], - [3040, 1], - [3128, 0, "\n"], - [3128, 0, "T"], - [3129, 0, "O"], - [3130, 0, "D"], - [3131, 0, "O"], - [3128, 0, "%"], - [3133, 0, " "], - [3134, 0, "T"], - [3135, 0, "h"], - [3136, 0, "i"], - [3137, 0, "s"], - [3138, 0, " "], - [3139, 0, "s"], - [3140, 0, "e"], - [3141, 0, "e"], - [3142, 0, "m"], - [3143, 0, "s"], - [3144, 0, " "], - [3145, 0, "l"], - [3146, 0, "i"], - [3147, 0, "k"], - [3148, 0, "e"], - [3149, 0, " "], - [3150, 0, "a"], - [3151, 0, " "], - [3152, 0, "c"], - [3152, 1], - [3152, 0, "f"], - [3153, 0, "a"], - [3154, 0, "l"], - [3155, 0, "s"], - [3156, 0, "e"], - [3157, 0, " "], - [3158, 0, "d"], - [3159, 0, "i"], - [3160, 0, "c"], - [3161, 0, "o"], - [3161, 1], - [3161, 0, "h"], - [3162, 0, "o"], - [3163, 0, "t"], - [3164, 0, "o"], - [3165, 0, "m"], - [3166, 0, "y"], - [3167, 0, " "], - [3168, 0, "t"], - [3169, 0, "o"], - [3170, 0, " "], - [3171, 0, "m"], - [3172, 0, "e"], - [3173, 0, ":"], - [3174, 0, " "], - [3175, 0, "s"], - [3176, 0, "o"], - [3177, 0, "m"], - [3178, 0, "e"], - [3179, 0, " "], - [3180, 0, "t"], - [3181, 0, "e"], - [3182, 0, "x"], - [3183, 0, "t"], - [3184, 0, " "], - [3185, 0, "d"], - [3186, 0, "o"], - [3187, 0, "c"], - [3188, 0, "u"], - [3189, 0, "m"], - [3190, 0, "e"], - [3191, 0, "n"], - [3192, 0, "t"], - [3193, 0, "s"], - [3194, 0, " "], - [3195, 0, "a"], - [3196, 0, "r"], - [3197, 0, "e"], - [3198, 0, " "], - [3199, 0, "f"], - [3200, 0, "o"], - [3201, 0, "r"], - [3202, 0, " "], - [3203, 0, "a"], - [3204, 0, " "], - [3205, 0, "s"], - [3206, 0, "i"], - [3207, 0, "n"], - [3208, 0, "g"], - [3209, 0, "l"], - [3210, 0, "e"], - [3211, 0, " "], - [3212, 0, "u"], - [3213, 0, "s"], - [3214, 0, "e"], - [3215, 0, "r"], - [3216, 0, " "], - [3217, 0, "m"], - [3218, 0, "e"], - [3219, 0, "r"], - [3220, 0, "g"], - [3221, 0, "e"], - [3222, 0, "d"], - [3223, 0, " "], - [3224, 0, "a"], - [3225, 0, "c"], - [3226, 0, "r"], - [3227, 0, "o"], - [3228, 0, "s"], - [3229, 0, "s"], - [3230, 0, " "], - [3231, 0, "t"], - [3232, 0, "h"], - [3233, 0, "e"], - [3234, 0, "r"], - [3234, 1], - [3234, 0, "i"], - [3235, 0, "r"], - [3236, 0, " "], - [3237, 0, "d"], - [3238, 0, "e"], - [3239, 0, "v"], - [3240, 0, "i"], - [3241, 0, "c"], - [3242, 0, "e"], - [3242, 1], - [3241, 1], - [3240, 1], - [3239, 1], - [3238, 1], - [3237, 1], - [3236, 1], - [3235, 1], - [3234, 1], - [3233, 1], - [3232, 1], - [3231, 1], - [3230, 1], - [3229, 1], - [3228, 1], - [3227, 1], - [3226, 1], - [3225, 1], - [3224, 1], - [3223, 1], - [3222, 1], - [3221, 1], - [3220, 1], - [3219, 1], - [3218, 1], - [3217, 1], - [3216, 1], - [3216, 0, ","], - [3217, 0, " "], - [3218, 0, "r"], - [3219, 0, "e"], - [3220, 0, "p"], - [3221, 0, "l"], - [3222, 0, "i"], - [3223, 0, "c"], - [3224, 0, "a"], - [3225, 0, "t"], - [3226, 0, "e"], - [3227, 0, "d"], - [3228, 0, " "], - [3229, 0, "a"], - [3230, 0, "c"], - [3231, 0, "r"], - [3232, 0, "o"], - [3233, 0, "s"], - [3234, 0, "s"], - [3235, 0, " "], - [3236, 0, "t"], - [3237, 0, "h"], - [3238, 0, "e"], - [3239, 0, "i"], - [3240, 0, "r"], - [3241, 0, " "], - [3242, 0, "d"], - [3243, 0, "e"], - [3244, 0, "v"], - [3245, 0, "i"], - [3246, 0, "c"], - [3247, 0, "e"], - [3248, 0, ","], - [3249, 0, " "], - [3250, 0, "y"], - [3251, 0, "e"], - [3252, 0, "t"], - [3253, 0, " "], - [3253, 1], - [3252, 1], - [3251, 1], - [3250, 1], - [3250, 0, "a"], - [3251, 0, "j"], - [3252, 0, "d"], - [3252, 1], - [3251, 1], - [3251, 0, "n"], - [3252, 0, "d"], - [3253, 0, " "], - [3254, 0, "c"], - [3255, 0, "a"], - [3256, 0, "l"], - [3257, 0, "e"], - [3258, 0, "n"], - [3259, 0, "d"], - [3260, 0, "a"], - [3261, 0, "r"], - [3262, 0, "s"], - [3263, 0, " "], - [3264, 0, "a"], - [3265, 0, "r"], - [3266, 0, "e"], - [3267, 0, " "], - [3268, 0, "o"], - [3269, 0, "f"], - [3270, 0, "t"], - [3271, 0, "e"], - [3272, 0, "n"], - [3273, 0, " "], - [3274, 0, "c"], - [3275, 0, "o"], - [3276, 0, "l"], - [3277, 0, "l"], - [3278, 0, "a"], - [3279, 0, "b"], - [3280, 0, "o"], - [3281, 0, "r"], - [3282, 0, "a"], - [3283, 0, "t"], - [3284, 0, "i"], - [3285, 0, "v"], - [3286, 0, "e"], - [3287, 0, "."], - [3288, 0, "."], - [3289, 0, "."], - [3448, 0, "d"], - [3449, 0, "w"], - [3477, 1], - [3476, 1], - [3475, 1], - [3474, 1], - [3473, 1], - [3472, 1], - [3471, 1], - [3470, 1], - [3469, 1], - [3468, 1], - [3467, 1], - [3466, 1], - [3465, 1], - [3464, 1], - [3463, 1], - [3462, 1], - [3461, 1], - [3460, 1], - [3459, 1], - [3458, 1], - [3457, 1], - [3456, 1], - [3455, 1], - [3454, 1], - [3453, 1], - [3452, 1], - [3451, 1], - [3450, 1], - [3449, 1], - [3448, 1], - [3448, 0, "T"], - [3496, 0, " "], - [3497, 0, "s"], - [3498, 0, "e"], - [3499, 0, "r"], - [3500, 0, "i"], - [3501, 0, "a"], - [3502, 0, "l"], - [3503, 0, "i"], - [3504, 0, "z"], - [3505, 0, "a"], - [3506, 0, "b"], - [3507, 0, "i"], - [3508, 0, "l"], - [3509, 0, "i"], - [3510, 0, "t"], - [3511, 0, "y"], - [3512, 0, ","], - [3677, 1], - [3676, 1], - [3675, 1], - [3674, 1], - [3681, 0, " "], - [3682, 0, "a"], - [3683, 0, "v"], - [3684, 0, "a"], - [3685, 0, "i"], - [3686, 0, "l"], - [3687, 0, "a"], - [3688, 0, "b"], - [3689, 0, "i"], - [3690, 0, "l"], - [3691, 0, "i"], - [3692, 0, "t"], - [3693, 0, "y"], - [3860, 1], - [3859, 1], - [3859, 0, "t"], - [3860, 0, "o"], - [3870, 1], - [3869, 1], - [3869, 0, "e"], - [3869, 1], - [3868, 1], - [3868, 0, "e"], - [3907, 1], - [3906, 1], - [3905, 1], - [3904, 1], - [3903, 1], - [3902, 1], - [3901, 1], - [3900, 1], - [3899, 1], - [3916, 1], - [3915, 1], - [3914, 1], - [3913, 1], - [3913, 0, "w"], - [3914, 0, "h"], - [3915, 0, "e"], - [3916, 0, "n"], - [3918, 0, "a"], - [3919, 0, " "], - [3936, 1], - [3935, 1], - [3935, 0, "s"], - [3934, 1], - [4129, 0, "i"], - [4129, 1], - [4129, 0, " "], - [4130, 0, "a"], - [4131, 0, "n"], - [4132, 0, "d"], - [4133, 0, " "], - [4134, 0, "t"], - [4135, 0, "h"], - [4136, 0, "e"], - [4137, 0, "r"], - [4138, 0, "e"], - [4139, 0, "f"], - [4140, 0, "o"], - [4141, 0, "r"], - [4142, 0, "e"], - [4143, 0, " "], - [4144, 0, "s"], - [4145, 0, "h"], - [4146, 0, "o"], - [4147, 0, "u"], - [4148, 0, "l"], - [4149, 0, "d"], - [4150, 0, " "], - [4151, 0, "b"], - [4152, 0, "e"], - [4154, 0, "a"], - [4155, 0, "v"], - [4156, 0, "o"], - [4157, 0, "i"], - [4158, 0, "d"], - [4159, 0, "e"], - [4160, 0, "d"], - [4161, 0, " "], - [4162, 0, "w"], - [4163, 0, "h"], - [4164, 0, "e"], - [4165, 0, "v"], - [4165, 1], - [4165, 0, "n"], - [4166, 0, "e"], - [4167, 0, "v"], - [4168, 0, "e"], - [4169, 0, "r"], - [4170, 0, " "], - [4171, 0, "p"], - [4172, 0, "o"], - [4173, 0, "s"], - [4174, 0, "s"], - [4175, 0, "i"], - [4176, 0, "b"], - [4177, 0, "l"], - [4178, 0, "e"], - [4179, 0, "."], - [4180, 0, "\n"], - [4240, 1], - [4239, 1], - [4238, 1], - [4237, 1], - [4236, 1], - [4235, 1], - [4234, 1], - [4233, 1], - [4232, 1], - [4231, 1], - [4230, 1], - [4229, 1], - [4228, 1], - [4227, 1], - [4226, 1], - [4225, 1], - [4224, 1], - [4223, 1], - [4222, 1], - [4221, 1], - [4220, 1], - [4219, 1], - [4218, 1], - [4217, 1], - [4216, 1], - [4215, 1], - [4214, 1], - [4213, 1], - [4212, 1], - [4211, 1], - [4210, 1], - [4209, 1], - [4208, 1], - [4207, 1], - [4206, 1], - [4205, 1], - [4204, 1], - [4203, 1], - [4202, 1], - [4201, 1], - [4200, 1], - [4199, 1], - [4198, 1], - [4197, 1], - [4196, 1], - [4195, 1], - [4194, 1], - [4193, 1], - [4192, 1], - [4191, 1], - [4190, 1], - [4189, 1], - [4188, 1], - [4187, 1], - [4186, 1], - [4185, 1], - [4184, 1], - [4183, 1], - [4182, 1], - [4181, 1], - [4180, 1], - [4642, 0, "\n"], - [4643, 0, "%"], - [4644, 0, "T"], - [4645, 0, "O"], - [4646, 0, "D"], - [4647, 0, "O"], - [4648, 0, " "], - [4649, 0, "w"], - [4650, 0, "h"], - [4651, 0, "i"], - [4652, 0, "l"], - [4653, 0, "e"], - [4654, 0, " "], - [4655, 0, "i"], - [4656, 0, "t"], - [4657, 0, " "], - [4658, 0, "i"], - [4659, 0, "s"], - [4660, 0, " "], - [4661, 0, "t"], - [4662, 0, "r"], - [4663, 0, "u"], - [4664, 0, "e"], - [4665, 0, " "], - [4666, 0, "t"], - [4666, 1], - [4665, 1], - [4664, 1], - [4663, 1], - [4662, 1], - [4662, 0, "e"], - [4663, 0, "c"], - [4664, 0, "h"], - [4665, 0, "n"], - [4666, 0, "i"], - [4667, 0, "c"], - [4668, 0, "a"], - [4669, 0, "l"], - [4670, 0, "l"], - [4671, 0, "y"], - [4672, 0, " "], - [4673, 0, "t"], - [4674, 0, "r"], - [4675, 0, "u"], - [4676, 0, " "], - [4676, 1], - [4676, 0, "e"], - [4677, 0, " "], - [4678, 0, "t"], - [4679, 0, "h"], - [4680, 0, "a"], - [4681, 0, "t"], - [4682, 0, " "], - [4683, 0, "w"], - [4684, 0, "e"], - [4685, 0, " "], - [4686, 0, "a"], - [4687, 0, "u"], - [4688, 0, "t"], - [4689, 0, "o"], - [4690, 0, "m"], - [4691, 0, "a"], - [4692, 0, "t"], - [4693, 0, "i"], - [4694, 0, "c"], - [4695, 0, "a"], - [4696, 0, "l"], - [4697, 0, "l"], - [4698, 0, "y"], - [4699, 0, " "], - [4700, 0, "m"], - [4701, 0, "e"], - [4702, 0, "r"], - [4703, 0, "g"], - [4704, 0, "e"], - [4705, 0, " "], - [4706, 0, "c"], - [4707, 0, "o"], - [4708, 0, "n"], - [4709, 0, "n"], - [4710, 0, "c"], - [4711, 0, "u"], - [4712, 0, "r"], - [4713, 0, "r"], - [4714, 0, "e"], - [4715, 0, "n"], - [4716, 0, "t"], - [4717, 0, " "], - [4718, 0, "m"], - [4719, 0, "o"], - [4720, 0, "d"], - [4721, 0, "s"], - [4722, 0, ","], - [4723, 0, " "], - [4724, 0, "w"], - [4725, 0, "e"], - [4726, 0, " "], - [4727, 0, "d"], - [4728, 0, "o"], - [4729, 0, " "], - [4730, 0, "t"], - [4731, 0, "h"], - [4732, 0, "i"], - [4733, 0, "s"], - [4734, 0, " "], - [4735, 0, "b"], - [4736, 0, "y"], - [4737, 0, " "], - [4738, 0, "i"], - [4739, 0, "n"], - [4740, 0, "t"], - [4741, 0, "r"], - [4742, 0, "o"], - [4743, 0, "d"], - [4744, 0, "u"], - [4745, 0, "c"], - [4746, 0, "t"], - [4746, 1], - [4746, 0, "i"], - [4747, 0, "n"], - [4748, 0, "g"], - [4749, 0, " "], - [4750, 0, "m"], - [4751, 0, "u"], - [4752, 0, "l"], - [4753, 0, "t"], - [4754, 0, "i"], - [4755, 0, "-"], - [4756, 0, "v"], - [4757, 0, "a"], - [4758, 0, "l"], - [4759, 0, "u"], - [4760, 0, "e"], - [4761, 0, "d"], - [4762, 0, " "], - [4763, 0, "r"], - [4764, 0, "e"], - [4765, 0, "g"], - [4766, 0, "i"], - [4767, 0, "s"], - [4768, 0, "t"], - [4769, 0, "e"], - [4770, 0, "r"], - [4771, 0, "e"], - [4772, 0, "d"], - [4772, 1], - [4771, 1], - [4771, 0, "s"], - [4772, 0, " "], - [4773, 0, "w"], - [4774, 0, "h"], - [4775, 0, "i"], - [4776, 0, "c"], - [4777, 0, "h"], - [4778, 0, " "], - [4779, 0, "t"], - [4780, 0, "h"], - [4781, 0, "e"], - [4781, 1], - [4780, 1], - [4779, 1], - [4779, 0, "t"], - [4780, 0, "h"], - [4781, 0, "e"], - [4782, 0, "n"], - [4783, 0, " "], - [4784, 0, "r"], - [4785, 0, "e"], - [4786, 0, "q"], - [4787, 0, "u"], - [4788, 0, "i"], - [4789, 0, "r"], - [4790, 0, "e"], - [4791, 0, " "], - [4792, 0, "a"], - [4793, 0, "p"], - [4794, 0, "p"], - [4795, 0, "l"], - [4796, 0, "i"], - [4797, 0, "c"], - [4798, 0, "a"], - [4799, 0, "t"], - [4800, 0, "i"], - [4801, 0, "o"], - [4802, 0, "n"], - [4803, 0, " "], - [4804, 0, "s"], - [4805, 0, "p"], - [4806, 0, "e"], - [4807, 0, "i"], - [4808, 0, "c"], - [4809, 0, "i"], - [4810, 0, "f"], - [4810, 1], - [4809, 1], - [4808, 1], - [4807, 1], - [4807, 0, "c"], - [4808, 0, "i"], - [4809, 0, "f"], - [4810, 0, "i"], - [4811, 0, "c"], - [4812, 0, " "], - [4813, 0, "s"], - [4814, 0, "o"], - [4815, 0, "l"], - [4816, 0, "u"], - [4817, 0, "t"], - [4818, 0, "i"], - [4819, 0, "o"], - [4820, 0, "n"], - [4821, 0, "s"], - [4822, 0, " "], - [4823, 0, "("], - [4824, 0, "a"], - [4825, 0, "n"], - [4826, 0, "d"], - [4827, 0, " "], - [4828, 0, "p"], - [4829, 0, "o"], - [4830, 0, "s"], - [4831, 0, "s"], - [4832, 0, "i"], - [4833, 0, "b"], - [4834, 0, "l"], - [4835, 0, "y"], - [4836, 0, " "], - [4837, 0, "u"], - [4838, 0, "s"], - [4839, 0, "e"], - [4840, 0, "r"], - [4841, 0, " "], - [4842, 0, "i"], - [4843, 0, "n"], - [4844, 0, "t"], - [4845, 0, "e"], - [4846, 0, "r"], - [4847, 0, "v"], - [4848, 0, "e"], - [4849, 0, "n"], - [4850, 0, "t"], - [4851, 0, "i"], - [4852, 0, "o"], - [4853, 0, "n"], - [4854, 0, ")"], - [4855, 0, "."], - [4856, 0, " "], - [4857, 0, "C"], - [4858, 0, "a"], - [4859, 0, "n"], - [4860, 0, " "], - [4861, 0, "w"], - [4862, 0, "e"], - [4863, 0, " "], - [4864, 0, "c"], - [4865, 0, "o"], - [4866, 0, "n"], - [4867, 0, "v"], - [4868, 0, "e"], - [4869, 0, "u"], - [4869, 1], - [4869, 0, "y"], - [4870, 0, " "], - [4871, 0, "t"], - [4872, 0, "h"], - [4873, 0, "i"], - [4874, 0, "s"], - [4875, 0, " "], - [4876, 0, "c"], - [4876, 1], - [4876, 0, "s"], - [4877, 0, "u"], - [4878, 0, "b"], - [4879, 0, "t"], - [4880, 0, "l"], - [4880, 1], - [4880, 0, "e"], - [4881, 0, "l"], - [4882, 0, "t"], - [4883, 0, "y"], - [4884, 0, " "], - [4885, 0, "a"], - [4885, 1], - [4884, 1], - [4883, 1], - [4882, 1], - [4881, 1], - [4880, 1], - [4880, 0, "l"], - [4881, 0, "e"], - [4882, 0, "t"], - [4883, 0, "y"], - [4884, 0, " "], - [4885, 0, "a"], - [4886, 0, "t"], - [4887, 0, " "], - [4888, 0, "t"], - [4889, 0, "h"], - [4890, 0, "i"], - [4891, 0, "s"], - [4892, 0, " "], - [4893, 0, "p"], - [4894, 0, "o"], - [4895, 0, "i"], - [4896, 0, "n"], - [4897, 0, "t"], - [4898, 0, "?"], - [9072, 0, "x"], - [9073, 0, "x"], - [9074, 0, "x"], - [9094, 1], - [9093, 1], - [9092, 1], - [9091, 1], - [9090, 1], - [9089, 1], - [9088, 1], - [9087, 1], - [9086, 1], - [9085, 1], - [9084, 1], - [9083, 1], - [9082, 1], - [9081, 1], - [9080, 1], - [9079, 1], - [9078, 1], - [9077, 1], - [9076, 1], - [9075, 1], - [9074, 1], - [9073, 1], - [9072, 1], - [9072, 0, "i"], - [9073, 0, "N"], - [9072, 1], - [9140, 1], - [9140, 0, "."], - [9221, 0, "\n"], - [9220, 1], - [9219, 1], - [9218, 1], - [9217, 1], - [9216, 1], - [9215, 1], - [9214, 1], - [9213, 1], - [9212, 1], - [9211, 1], - [9210, 1], - [9209, 1], - [9208, 1], - [9207, 1], - [9206, 1], - [9205, 1], - [9204, 1], - [9203, 1], - [9202, 1], - [9201, 1], - [9200, 1], - [9199, 1], - [9198, 1], - [9197, 1], - [9196, 1], - [9195, 1], - [9194, 1], - [9193, 1], - [9192, 1], - [9191, 1], - [9190, 1], - [9189, 1], - [9188, 1], - [9187, 1], - [9186, 1], - [9185, 1], - [9184, 1], - [9183, 1], - [9182, 1], - [9181, 1], - [9180, 1], - [9179, 1], - [9178, 1], - [9177, 1], - [9176, 1], - [9175, 1], - [9174, 1], - [9173, 1], - [9172, 1], - [9171, 1], - [9170, 1], - [9169, 1], - [9168, 1], - [9167, 1], - [9166, 1], - [9165, 1], - [9164, 1], - [9163, 1], - [9162, 1], - [9161, 1], - [9160, 1], - [9159, 1], - [9158, 1], - [9157, 1], - [9156, 1], - [9155, 1], - [9154, 1], - [9153, 1], - [9152, 1], - [9151, 1], - [9150, 1], - [9149, 1], - [9148, 1], - [9147, 1], - [9146, 1], - [9145, 1], - [9144, 1], - [9143, 1], - [9142, 1], - [9141, 1], - [9151, 1], - [9150, 1], - [9149, 1], - [9148, 1], - [9147, 1], - [9146, 1], - [9145, 1], - [9144, 1], - [9143, 1], - [9142, 1], - [9142, 0, "C"], - [9143, 0, "o"], - [9144, 0, "n"], - [9145, 0, "s"], - [9146, 0, "e"], - [9147, 0, "q"], - [9148, 0, "u"], - [9149, 0, "e"], - [9150, 0, "n"], - [9151, 0, "t"], - [9152, 0, "l"], - [9153, 0, "y"], - [9154, 0, " "], - [9155, 0, "t"], - [9156, 0, "h"], - [9157, 0, "e"], - [9158, 0, " "], - [9159, 0, "l"], - [9160, 0, "o"], - [9161, 0, "n"], - [9162, 0, "g"], - [9163, 0, "-"], - [9164, 0, "t"], - [9165, 0, "e"], - [9166, 0, "r"], - [9167, 0, "m"], - [9168, 0, " "], - [9169, 0, "g"], - [9170, 0, "o"], - [9171, 0, "a"], - [9172, 0, "l"], - [9173, 0, " "], - [9174, 0, "o"], - [9175, 0, "f"], - [9176, 0, " "], - [9177, 0, "o"], - [9178, 0, "u"], - [9179, 0, "r"], - [9180, 0, " "], - [9181, 0, "w"], - [9182, 0, "o"], - [9183, 0, "r"], - [9184, 0, "k"], - [9185, 0, " "], - [9186, 0, "i"], - [9187, 0, "s"], - [9188, 0, " "], - [9189, 0, "t"], - [9190, 0, "o"], - [9203, 1], - [9202, 1], - [9201, 1], - [9200, 1], - [9264, 0, "i"], - [9264, 1], - [9264, 0, "i"], - [9264, 1], - [9264, 0, " "], - [9265, 0, "b"], - [9266, 0, "y"], - [9267, 0, " "], - [9268, 0, "p"], - [9269, 0, "r"], - [9270, 0, "o"], - [9271, 0, "v"], - [9272, 0, "i"], - [9273, 0, "d"], - [9274, 0, "i"], - [9275, 0, "n"], - [9276, 0, "g"], - [9277, 0, " "], - [9278, 0, "a"], - [9279, 0, " "], - [9279, 1], - [9279, 0, "n"], - [9280, 0, " "], - [9281, 0, "a"], - [9282, 0, "l"], - [9283, 0, "g"], - [9284, 0, "o"], - [9285, 0, "r"], - [9286, 0, "i"], - [9287, 0, "t"], - [9288, 0, "h"], - [9289, 0, " "], - [9290, 0, "m"], - [9290, 1], - [9289, 1], - [9289, 0, "m"], - [9290, 0, " "], - [9290, 1], - [9289, 1], - [9288, 1], - [9287, 1], - [9286, 1], - [9285, 1], - [9284, 1], - [9283, 1], - [9282, 1], - [9281, 1], - [9280, 1], - [9279, 1], - [9279, 0, " "], - [9280, 0, "g"], - [9281, 0, "e"], - [9282, 0, "n"], - [9283, 0, "e"], - [9284, 0, "r"], - [9285, 0, "a"], - [9286, 0, "l"], - [9287, 0, " "], - [9288, 0, "a"], - [9289, 0, "l"], - [9290, 0, "g"], - [9291, 0, "o"], - [9292, 0, "r"], - [9293, 0, "i"], - [9294, 0, "t"], - [9295, 0, "h"], - [9296, 0, "m"], - [9297, 0, " "], - [9298, 0, "t"], - [9298, 1], - [9298, 0, "f"], - [9299, 0, "o"], - [9300, 0, "r"], - [9301, 0, " "], - [9302, 0, "c"], - [9303, 0, "o"], - [9304, 0, "n"], - [9305, 0, "f"], - [9306, 0, "i"], - [9306, 1], - [9306, 0, "l"], - [9307, 0, "i"], - [9308, 0, "c"], - [9309, 0, "t"], - [9310, 0, " "], - [9311, 0, "r"], - [9312, 0, "e"], - [9313, 0, "s"], - [9314, 0, "o"], - [9315, 0, "l"], - [9316, 0, "u"], - [9317, 0, "t"], - [9318, 0, "i"], - [9319, 0, "o"], - [9320, 0, "n"], - [9321, 1], - [9321, 0, " "], - [9322, 0, "w"], - [9323, 0, "i"], - [9324, 0, "t"], - [9325, 0, "h"], - [9326, 0, " "], - [9326, 1], - [9325, 1], - [9324, 1], - [9323, 1], - [9322, 1], - [9321, 1], - [9321, 0, "."], - [9322, 0, " "], - [9323, 0, "S"], - [9324, 0, "u"], - [9325, 0, "c"], - [9326, 0, "h"], - [9327, 0, " "], - [9328, 0, "a"], - [9329, 0, "l"], - [9329, 1], - [9329, 0, "n"], - [9330, 0, " "], - [9331, 0, "a"], - [9332, 0, "l"], - [9333, 0, "g"], - [9334, 0, "o"], - [9335, 0, "r"], - [9336, 0, "i"], - [9337, 0, "t"], - [9338, 0, "h"], - [9339, 0, "m"], - [9340, 0, " "], - [9341, 0, "n"], - [9342, 0, "e"], - [9343, 0, "e"], - [9344, 0, "d"], - [9345, 0, "s"], - [9346, 0, " "], - [9347, 0, "t"], - [9348, 0, "o"], - [9349, 0, " "], - [9350, 0, "b"], - [9351, 0, "e"], - [9352, 0, " "], - [9352, 1], - [9351, 1], - [9350, 1], - [9349, 1], - [9348, 1], - [9347, 1], - [9346, 1], - [9345, 1], - [9344, 1], - [9343, 1], - [9342, 1], - [9341, 1], - [9341, 0, "m"], - [9342, 0, "u"], - [9343, 0, "s"], - [9344, 0, "t"], - [9345, 0, " "], - [9346, 0, "b"], - [9347, 0, "e"], - [9348, 0, " "], - [9349, 0, "a"], - [9350, 0, "m"], - [9351, 0, "e"], - [9352, 0, "n"], - [9353, 0, "a"], - [9354, 0, "b"], - [9355, 0, "l"], - [9356, 0, "e"], - [9357, 0, " "], - [9358, 0, "t"], - [9359, 0, "o"], - [9360, 0, " "], - [9360, 1], - [9359, 1], - [9358, 1], - [9357, 1], - [9356, 1], - [9355, 1], - [9354, 1], - [9353, 1], - [9352, 1], - [9351, 1], - [9350, 1], - [9349, 1], - [9348, 1], - [9347, 1], - [9346, 1], - [9345, 1], - [9344, 1], - [9343, 1], - [9342, 1], - [9341, 1], - [9340, 1], - [9339, 1], - [9338, 1], - [9337, 1], - [9336, 1], - [9335, 1], - [9334, 1], - [9333, 1], - [9332, 1], - [9331, 1], - [9330, 1], - [9329, 1], - [9328, 1], - [9327, 1], - [9326, 1], - [9325, 1], - [9324, 1], - [9323, 1], - [9322, 1], - [9321, 1], - [9321, 0, " "], - [9322, 0, "t"], - [9323, 0, "h"], - [9324, 0, "a"], - [9325, 0, "t"], - [9326, 0, " "], - [9327, 0, "i"], - [9328, 0, "s"], - [9329, 0, " "], - [9330, 0, "a"], - [9331, 0, "m"], - [9332, 0, "e"], - [9333, 0, "n"], - [9334, 0, "a"], - [9335, 0, "b"], - [9336, 0, "l"], - [9337, 0, "e"], - [9338, 0, " "], - [9339, 0, "t"], - [9340, 0, "o"], - [9341, 0, " "], - [9342, 0, "e"], - [9343, 0, "m"], - [9344, 0, "b"], - [9345, 0, "e"], - [9346, 0, "d"], - [9347, 0, "d"], - [9348, 0, "i"], - [9349, 0, "n"], - [9350, 0, "g"], - [9351, 0, " "], - [9351, 1], - [9350, 1], - [9349, 1], - [9348, 1], - [9347, 1], - [9346, 1], - [9345, 1], - [9344, 1], - [9343, 1], - [9343, 0, "n"], - [9344, 0, "a"], - [9345, 0, "p"], - [9346, 0, "s"], - [9347, 0, "u"], - [9348, 0, "l"], - [9349, 0, "a"], - [9350, 0, "t"], - [9351, 0, "i"], - [9352, 0, "o"], - [9353, 0, "n"], - [9354, 0, " "], - [9355, 0, "i"], - [9356, 0, "n"], - [9357, 0, "s"], - [9358, 0, "i"], - [9359, 0, "d"], - [9360, 0, "e"], - [9361, 0, " "], - [9362, 0, "a"], - [9363, 0, " "], - [9364, 0, "l"], - [9365, 0, "i"], - [9366, 0, "b"], - [9367, 0, "r"], - [9368, 0, "a"], - [9369, 0, "r"], - [9370, 0, "y"], - [9362, 1], - [9361, 1], - [9360, 1], - [9359, 1], - [9358, 1], - [9357, 1], - [9356, 1], - [9355, 1], - [9354, 1], - [9353, 1], - [9352, 1], - [9351, 1], - [9350, 1], - [9349, 1], - [9348, 1], - [9347, 1], - [9346, 1], - [9345, 1], - [9344, 1], - [9343, 1], - [9342, 1], - [9341, 1], - [9340, 1], - [9339, 1], - [9338, 1], - [9337, 1], - [9336, 1], - [9335, 1], - [9334, 1], - [9333, 1], - [9332, 1], - [9331, 1], - [9330, 1], - [9329, 1], - [9328, 1], - [9327, 1], - [9326, 1], - [9325, 1], - [9324, 1], - [9323, 1], - [9322, 1], - [9322, 0, "w"], - [9323, 0, "h"], - [9324, 0, "o"], - [9325, 0, "s"], - [9326, 0, "e"], - [9327, 0, " "], - [9328, 0, "d"], - [9329, 0, "e"], - [9330, 0, "t"], - [9331, 0, "a"], - [9332, 0, "i"], - [9333, 0, "l"], - [9334, 0, "s"], - [9335, 0, " "], - [9336, 0, "c"], - [9337, 0, "a"], - [9338, 0, "n"], - [9339, 0, " "], - [9340, 0, "l"], - [9341, 0, "a"], - [9342, 0, "r"], - [9343, 0, "g"], - [9344, 0, "e"], - [9345, 0, "l"], - [9346, 0, "y"], - [9347, 0, " "], - [9348, 0, "b"], - [9349, 0, "e"], - [9350, 0, " "], - [9351, 0, "i"], - [9352, 0, "n"], - [9352, 1], - [9351, 1], - [9351, 0, "h"], - [9352, 0, "i"], - [9353, 0, "d"], - [9354, 0, "d"], - [9355, 0, "e"], - [9356, 0, "n"], - [9357, 0, " "], - [9358, 0, "i"], - [9359, 0, "n"], - [9360, 0, "s"], - [9361, 0, "i"], - [9362, 0, "d"], - [9363, 0, "e"], - [9364, 0, " "], - [9365, 0, "a"], - [9366, 0, "n"], - [9367, 0, " "], - [9368, 0, "e"], - [9369, 0, "a"], - [9370, 0, "s"], - [9371, 0, "y"], - [9372, 0, "-"], - [9373, 0, "t"], - [9374, 0, "o"], - [9375, 0, "-"], - [9376, 0, "u"], - [9377, 0, "s"], - [9378, 0, "e"], - [9379, 0, " "], - [9380, 0, "s"], - [9381, 0, "o"], - [9382, 0, "f"], - [9383, 0, "t"], - [9384, 0, "a"], - [9384, 1], - [9384, 0, "w"], - [9385, 0, "a"], - [9386, 0, "r"], - [9387, 0, "e"], - [9396, 0, "."], - [9912, 0, "\n"], - [9913, 0, "\n"], - [9913, 1], - [9912, 1], - [9911, 1], - [9910, 1], - [9909, 1], - [9908, 1], - [9952, 1], - [9951, 1], - [9950, 1], - [9950, 0, "b"], - [9951, 0, "y"], - [12223, 1], - [12222, 1], - [12221, 1], - [12220, 1], - [12219, 1], - [12218, 1], - [12218, 0, "s"], - [12219, 0, "u"], - [12220, 0, "p"], - [12221, 0, "p"], - [12222, 0, "o"], - [12223, 0, "r"], - [12224, 0, "t"], - [12237, 1], - [12236, 1], - [12244, 1], - [12243, 1], - [12243, 0, "c"], - [12244, 0, "a"], - [12245, 0, "t"], - [12246, 0, "i"], - [12247, 0, "o"], - [12248, 0, "n"], - [74029, 0, " "], - [74030, 0, "T"], - [74031, 0, "h"], - [74032, 0, "a"], - [74033, 0, "n"], - [74034, 0, "k"], - [74035, 0, " "], - [74036, 0, "y"], - [74037, 0, "o"], - [74038, 0, "u"], - [74039, 0, " "], - [74040, 0, "t"], - [74041, 0, "o"], - [74042, 0, " "], - [74043, 0, "D"], - [74044, 0, "i"], - [74045, 0, "a"], - [74046, 0, "n"], - [74047, 0, "a"], - [74048, 0, " "], - [74049, 0, "V"], - [74050, 0, "a"], - [74051, 0, "s"], - [74052, 0, "i"], - [74053, 0, "l"], - [74054, 0, "e"], - [74055, 0, " "], - [74056, 0, "f"], - [74057, 0, "o"], - [74058, 0, "r"], - [74059, 0, " "], - [74060, 0, "c"], - [74061, 0, "o"], - [74062, 0, "m"], - [74063, 0, "m"], - [74064, 0, "e"], - [74065, 0, "n"], - [74066, 0, "t"], - [74067, 0, "s"], - [74068, 0, " "], - [74069, 0, "o"], - [74070, 0, "n"], - [74071, 0, " "], - [74072, 0, "a"], - [74073, 0, " "], - [74074, 0, "d"], - [74075, 0, "r"], - [74076, 0, "a"], - [74077, 0, "f"], - [74078, 0, "t"], - [74079, 0, " "], - [74080, 0, "o"], - [74081, 0, "f"], - [74082, 0, " "], - [74083, 0, "t"], - [74084, 0, "h"], - [74085, 0, "i"], - [74086, 0, "s"], - [74087, 0, " "], - [74088, 0, "p"], - [74089, 0, "a"], - [74090, 0, "p"], - [74091, 0, "e"], - [74092, 0, "r"], - [74093, 0, "."], - [74043, 0, "D"], - [74044, 0, "o"], - [74045, 0, "m"], - [74046, 0, "i"], - [74047, 0, "n"], - [74048, 0, "i"], - [74049, 0, "c"], - [74050, 0, " "], - [74051, 0, "O"], - [74052, 0, "r"], - [74053, 0, "c"], - [74054, 0, "h"], - [74055, 0, "a"], - [74056, 0, "r"], - [74057, 0, "d"], - [74058, 0, " "], - [74059, 0, "a"], - [74060, 0, "n"], - [74061, 0, "d"], - [74062, 0, " "], - [1568, 1], - [1567, 1], - [1566, 1], - [1565, 1], - [1564, 1], - [1563, 1], - [1562, 1], - [1561, 1], - [1560, 1], - [1559, 1], - [1558, 1], - [1557, 1], - [1556, 1], - [1555, 1], - [1554, 1], - [1553, 1], - [1552, 1], - [1551, 1], - [1550, 1], - [1549, 1], - [1548, 1], - [1547, 1], - [1546, 1], - [1545, 1], - [1544, 1], - [1616, 0, ","], - [1617, 0, " "], - [1618, 0, "i"], - [1619, 0, "t"], - [1620, 0, " "], - [1621, 0, "i"], - [1622, 0, "s"], - [1623, 0, " "], - [1624, 0, "u"], - [1625, 0, "n"], - [1626, 0, "c"], - [1627, 0, "l"], - [1628, 0, "e"], - [1629, 0, "a"], - [1630, 0, "r"], - [1631, 0, " "], - [1632, 0, "w"], - [1633, 0, "h"], - [1634, 0, "a"], - [1635, 0, "t"], - [1636, 0, " "], - [1637, 0, "t"], - [1638, 0, "h"], - [1639, 0, "e"], - [1640, 0, " "], - [1641, 0, "s"], - [1642, 0, "e"], - [1643, 0, "m"], - [1644, 0, "a"], - [1645, 0, "n"], - [1646, 0, "t"], - [1647, 0, "i"], - [1648, 0, "c"], - [1649, 0, "s"], - [1650, 0, " "], - [1651, 0, "s"], - [1652, 0, "h"], - [1653, 0, "o"], - [1654, 0, "u"], - [1655, 0, "l"], - [1656, 0, "d"], - [1657, 0, " "], - [1658, 0, "b"], - [1659, 0, "e"], - [2493, 0, "O"], - [2494, 0, "p"], - [2495, 0, "e"], - [2496, 0, "r"], - [2497, 0, "a"], - [2498, 0, "t"], - [2499, 0, "i"], - [2500, 0, "o"], - [2501, 0, "n"], - [2502, 0, "a"], - [2503, 0, "l"], - [2504, 0, " "], - [7804, 1], - [7803, 1], - [7802, 1], - [7801, 1], - [7800, 1], - [7799, 1], - [7799, 0, "d"], - [7800, 0, "e"], - [7801, 0, "f"], - [7802, 0, "i"], - [7803, 0, "n"], - [7804, 0, "e"], - [7826, 1], - [7825, 1], - [7824, 1], - [7823, 1], - [7822, 1], - [7831, 1], - [7830, 1], - [7830, 0, "i"], - [7831, 0, "n"], - [7832, 0, "g"], - [25278, 1], - [25277, 1], - [25276, 1], - [25275, 1], - [25274, 1], - [25273, 1], - [25272, 1], - [25271, 1], - [25270, 1], - [25269, 1], - [25268, 1], - [25267, 1], - [25266, 1], - [25265, 1], - [25264, 1], - [25263, 1], - [25262, 1], - [25262, 0, "i"], - [25263, 0, "s"], - [25264, 0, " "], - [25265, 0, "k"], - [25266, 0, "e"], - [25267, 0, "y"], - [25268, 0, "-"], - [25269, 0, "v"], - [25270, 0, "a"], - [25271, 0, "l"], - [25272, 0, "u"], - [25273, 0, "e"], - [25274, 0, " "], - [25275, 0, "t"], - [25275, 1], - [25275, 0, "s"], - [25276, 0, "t"], - [25277, 0, "r"], - [25278, 0, "u"], - [25279, 0, "c"], - [25280, 0, "t"], - [25281, 0, "u"], - [25282, 0, "r"], - [25283, 0, "e"], - [25284, 0, " "], - [25285, 0, "i"], - [25286, 0, "s"], - [25310, 0, ","], - [37794, 1], - [37793, 1], - [37792, 1], - [37791, 1], - [37790, 1], - [37789, 1], - [37788, 1], - [37787, 1], - [37786, 1], - [37785, 1], - [37784, 1], - [37783, 1], - [37783, 0, "e"], - [37784, 0, "v"], - [37785, 0, "a"], - [37786, 0, "l"], - [37787, 0, "u"], - [37788, 0, "a"], - [37789, 0, "t"], - [37790, 0, "i"], - [37791, 0, "o"], - [37792, 0, "n"], - [37793, 0, " "], - [37794, 0, "r"], - [37795, 0, "u"], - [37796, 0, "l"], - [37797, 0, "e"], - [37798, 0, "s"], - [37799, 0, " "], - [37800, 0, "o"], - [37801, 0, "f"], - [37849, 1], - [37848, 1], - [37847, 1], - [37846, 1], - [37845, 1], - [37844, 1], - [37843, 1], - [37842, 1], - [37841, 1], - [37840, 1], - [37839, 1], - [37838, 1], - [37837, 1], - [37836, 1], - [37835, 1], - [37834, 1], - [37833, 1], - [37832, 1], - [37831, 1], - [37830, 1], - [37829, 1], - [37828, 1], - [37827, 1], - [37826, 1], - [37825, 1], - [37824, 1], - [37875, 1], - [37874, 1], - [37873, 1], - [37872, 1], - [37871, 1], - [37871, 0, "t"], - [37872, 0, "h"], - [37873, 0, "e"], - [37874, 0, "y"], - [46504, 1], - [46490, 1], - [46489, 1], - [46488, 1], - [46487, 1], - [46486, 1], - [46485, 1], - [46484, 1], - [46483, 1], - [46482, 1], - [46482, 0, "r"], - [46483, 0, "u"], - [46484, 0, "l"], - [46485, 0, "e"], - [46486, 0, "s"], - [46561, 0, "a"], - [46562, 0, "l"], - [46563, 0, "r"], - [46564, 0, "e"], - [46565, 0, "a"], - [46566, 0, "d"], - [46567, 0, "y"], - [46568, 0, " "], - [51702, 1], - [51701, 1], - [51700, 1], - [51699, 1], - [51698, 1], - [51697, 1], - [51696, 1], - [51695, 1], - [51694, 1], - [51693, 1], - [51693, 0, "i"], - [51694, 0, "r"], - [51695, 0, " "], - [51696, 0, "e"], - [51697, 0, "f"], - [51698, 0, "f"], - [51699, 0, "e"], - [51700, 0, "c"], - [51701, 0, "t"], - [73348, 0, " "], - [73349, 0, "u"], - [73350, 0, "n"], - [73351, 0, "d"], - [73352, 0, "e"], - [73353, 0, "r"], - [73354, 0, "s"], - [73355, 0, "t"], - [73356, 0, "a"], - [73357, 0, "n"], - [73358, 0, "d"], - [73359, 0, " "], - [73360, 0, "t"], - [73361, 0, "h"], - [73362, 0, "e"], - [73363, 0, " "], - [73364, 0, "e"], - [73365, 0, "x"], - [73366, 0, "p"], - [73367, 0, "e"], - [73368, 0, "c"], - [73369, 0, "t"], - [73370, 0, "a"], - [73371, 0, "t"], - [73372, 0, "i"], - [73373, 0, "o"], - [73374, 0, "n"], - [73375, 0, "s"], - [73376, 0, " "], - [73377, 0, "o"], - [73378, 0, "f"], - [73379, 0, " "], - [73380, 0, "a"], - [73381, 0, "p"], - [73382, 0, "p"], - [73383, 0, "l"], - [73384, 0, "i"], - [73385, 0, "c"], - [73386, 0, "a"], - [73387, 0, "t"], - [73388, 0, "i"], - [73389, 0, "o"], - [73390, 0, "n"], - [73391, 0, " "], - [73392, 0, "p"], - [73393, 0, "r"], - [73394, 0, "o"], - [73395, 0, "g"], - [73396, 0, "r"], - [73397, 0, "a"], - [73398, 0, "m"], - [73399, 0, "m"], - [73400, 0, "e"], - [73401, 0, "r"], - [73402, 0, "s"], - [73403, 0, " "], - [73404, 0, "a"], - [73405, 0, "n"], - [73406, 0, "d"], - [73407, 0, " "], - [73408, 0, "t"], - [73409, 0, "o"], - [73410, 0, " "], - [73411, 0, "d"], - [73412, 0, "e"], - [73413, 0, "s"], - [73414, 0, "i"], - [73415, 0, "g"], - [73416, 0, "n"], - [73417, 0, " "], - [73418, 0, "d"], - [73419, 0, "a"], - [73420, 0, "t"], - [73421, 0, "a"], - [73422, 0, " "], - [73423, 0, "s"], - [73424, 0, "t"], - [73425, 0, "r"], - [73426, 0, "u"], - [73427, 0, "c"], - [73428, 0, "t"], - [73429, 0, "u"], - [73430, 0, "r"], - [73431, 0, "e"], - [73432, 0, "s"], - [73433, 0, " "], - [73434, 0, "t"], - [73435, 0, "h"], - [73436, 0, "a"], - [73437, 0, "t"], - [73438, 0, " "], - [73439, 0, "a"], - [73440, 0, "r"], - [73441, 0, "e"], - [73442, 0, " "], - [73443, 0, "m"], - [73444, 0, "i"], - [73445, 0, "n"], - [73446, 0, "i"], - [73447, 0, "m"], - [73448, 0, "a"], - [73449, 0, "l"], - [73450, 0, " "], - [73451, 0, "s"], - [73451, 1], - [73450, 1], - [73450, 0, "l"], - [73451, 0, "y"], - [73452, 0, " "], - [73453, 0, "s"], - [73454, 0, "u"], - [73455, 0, "r"], - [73456, 0, "p"], - [73457, 0, "r"], - [73458, 0, "i"], - [73459, 0, "s"], - [73460, 0, "i"], - [73461, 0, "n"], - [73462, 0, "g"], - [73463, 0, " "], - [73464, 0, "u"], - [73465, 0, "n"], - [73466, 0, "d"], - [73467, 0, "e"], - [73468, 0, "r"], - [73469, 0, " "], - [73470, 0, "c"], - [73471, 0, "o"], - [73472, 0, "n"], - [73473, 0, "c"], - [73474, 0, "u"], - [73475, 0, "r"], - [73476, 0, "r"], - [73477, 0, "e"], - [73478, 0, "n"], - [73479, 0, "t"], - [73480, 0, " "], - [73481, 0, "m"], - [73482, 0, "o"], - [73483, 0, "d"], - [73484, 0, "i"], - [73485, 0, "f"], - [73486, 0, "i"], - [73487, 0, "c"], - [73488, 0, "a"], - [73489, 0, "t"], - [73490, 0, "i"], - [73491, 0, "o"], - [73492, 0, "n"], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73493, 1], - [73157, 0, "i"], - [73158, 0, "i"], - [73158, 1], - [73157, 1], - [3157, 0, "s"], - [17640, 0, " "], - [17641, 0, "b"], - [17642, 0, "e"], - [17657, 1], - [17657, 1], - [17657, 1], - [1136, 1], - [1136, 1], - [1136, 1], - [1136, 1], - [1136, 1], - [1136, 1], - [1136, 1], - [1136, 1], - [1136, 0, "M"], - [1137, 0, "a"], - [1138, 0, "r"], - [1139, 0, "t"], - [1140, 0, "i"], - [1141, 0, "n"], - [1142, 0, " "], - [1143, 0, "K"], - [1144, 0, "l"], - [1145, 0, "e"], - [1146, 0, "p"], - [1147, 0, "p"], - [1148, 0, "m"], - [1149, 0, "a"], - [1150, 0, "n"], - [1151, 0, "n"], - [1164, 1], - [1163, 1], - [1162, 1], - [1161, 1], - [1160, 1], - [1159, 1], - [1158, 1], - [1158, 0, "l"], - [1159, 0, "a"], - [1160, 0, "s"], - [1161, 0, "t"], - [1162, 0, "a"], - [1163, 0, "i"], - [1164, 0, "r"], - [1165, 0, " "], - [1166, 0, "R"], - [1167, 0, "."], - [1168, 0, " "], - [1169, 0, "B"], - [1170, 0, "e"], - [1171, 0, "r"], - [1172, 0, "e"], - [1173, 0, "s"], - [1174, 0, "f"], - [1175, 0, "o"], - [1176, 0, "r"], - [1177, 0, "d"], - [1215, 1], - [1214, 1], - [1213, 1], - [1212, 1], - [1211, 1], - [1210, 1], - [1209, 1], - [1208, 1], - [1207, 1], - [1206, 1], - [1205, 1], - [1204, 1], - [1203, 1], - [1202, 1], - [1201, 1], - [1200, 1], - [1199, 1], - [1198, 1], - [1197, 1], - [1196, 1], - [1195, 1], - [1194, 1], - [1193, 1], - [1192, 1], - [1191, 1], - [1190, 1], - [1189, 1], - [1188, 1], - [1187, 1], - [1187, 0, "C"], - [1188, 0, "o"], - [1189, 0, "m"], - [1190, 0, "p"], - [1191, 0, "u"], - [1192, 0, "t"], - [1193, 0, "e"], - [1194, 0, "r"], - [1195, 0, " "], - [1196, 0, "L"], - [1197, 0, "a"], - [1198, 0, "b"], - [1199, 0, "o"], - [1200, 0, "r"], - [1201, 0, "a"], - [1202, 0, "t"], - [1203, 0, "o"], - [1204, 0, "r"], - [1205, 0, "y"], - [1206, 0, ","], - [1207, 0, " "], - [1208, 0, "U"], - [1209, 0, "n"], - [1210, 0, "i"], - [1211, 0, "v"], - [1212, 0, "e"], - [1213, 0, "r"], - [1214, 0, "s"], - [1215, 0, "i"], - [1216, 0, "t"], - [1217, 0, "y"], - [1218, 0, " "], - [1219, 0, "o"], - [1220, 0, "f"], - [1221, 0, " "], - [1222, 0, "C"], - [1223, 0, "a"], - [1224, 0, "m"], - [1225, 0, "b"], - [1226, 0, "r"], - [1227, 0, "i"], - [1228, 0, "d"], - [1229, 0, "g"], - [1230, 0, "e"], - [1231, 0, ","], - [1232, 0, " "], - [1233, 0, "U"], - [1234, 0, "K"], - [1235, 0, "."], - [1236, 0, "\\"], - [1237, 0, "\\"], - [1237, 1], - [1237, 0, "p"], - [1238, 0, "r"], - [1239, 0, "o"], - [1240, 0, "t"], - [1241, 0, "e"], - [1242, 0, "c"], - [1243, 0, "t"], - [1244, 0, "\\"], - [1245, 0, "\\"], - [1246, 0, "\n"], - [1247, 0, "E"], - [1248, 0, "m"], - [1249, 0, "a"], - [1250, 0, "i"], - [1251, 0, "l"], - [1252, 0, ":"], - [1253, 0, " "], - [1254, 0, "\\"], - [1255, 0, "u"], - [1256, 0, "r"], - [1257, 0, "l"], - [1258, 0, "{"], - [1259, 0, "m"], - [1260, 0, "k"], - [1261, 0, "4"], - [1262, 0, "2"], - [1263, 0, "8"], - [1264, 0, "@"], - [1265, 0, "c"], - [1266, 0, "l"], - [1267, 0, "."], - [1268, 0, "c"], - [1269, 0, "a"], - [1270, 0, "m"], - [1271, 0, "."], - [1272, 0, "a"], - [1273, 0, "c"], - [1274, 0, "."], - [1275, 0, "u"], - [1276, 0, "k"], - [1277, 0, "}"], - [1231, 0, " "], - [1232, 0, "C"], - [1233, 0, "o"], - [1234, 0, "m"], - [1235, 0, "p"], - [1236, 0, "u"], - [1237, 0, "t"], - [1238, 0, "e"], - [1239, 0, "r"], - [1240, 0, " "], - [1241, 0, "L"], - [1242, 0, "a"], - [1243, 0, "b"], - [1244, 0, "o"], - [1245, 0, "r"], - [1246, 0, "a"], - [1247, 0, "t"], - [1248, 0, "o"], - [1249, 0, "r"], - [1250, 0, "y"], - [1252, 0, " "], - [1253, 0, "C"], - [1254, 0, "a"], - [1255, 0, "n"], - [1256, 0, "m"], - [1257, 0, "b"], - [1257, 1], - [1256, 1], - [1255, 1], - [1255, 0, "m"], - [1256, 0, "b"], - [1257, 0, "r"], - [1258, 0, "i"], - [1259, 0, "d"], - [1260, 0, "g"], - [1261, 0, "e"], - [1262, 0, ","], - [1206, 1], - [1205, 1], - [1204, 1], - [1203, 1], - [1202, 1], - [1201, 1], - [1200, 1], - [1199, 1], - [1198, 1], - [1197, 1], - [1196, 1], - [1195, 1], - [1194, 1], - [1193, 1], - [1192, 1], - [1191, 1], - [1190, 1], - [1189, 1], - [1188, 1], - [1187, 1], - [1187, 0, "M"], - [1188, 0, "."], - [1189, 0, " "], - [1190, 0, "K"], - [1191, 0, "l"], - [1192, 0, "e"], - [1193, 0, "p"], - [1194, 0, "p"], - [1195, 0, "m"], - [1196, 0, "a"], - [1197, 0, "n"], - [1198, 0, "n"], - [1199, 0, " "], - [1200, 0, "a"], - [1201, 0, "n"], - [1202, 0, "d"], - [1203, 0, " "], - [1204, 0, "A"], - [1205, 0, "."], - [1206, 0, " "], - [1207, 0, "B"], - [1207, 1], - [1206, 1], - [1206, 0, " "], - [1207, 0, "B"], - [1208, 0, "e"], - [1209, 0, "r"], - [1210, 0, "e"], - [1211, 0, "s"], - [1212, 0, "f"], - [1213, 0, "o"], - [1214, 0, "r"], - [1215, 0, "d"], - [1216, 0, " "], - [1217, 0, "a"], - [1218, 0, "r"], - [1219, 0, "e"], - [1220, 0, " "], - [1221, 0, "w"], - [1222, 0, "i"], - [1223, 0, "t"], - [1224, 0, "h"], - [1225, 0, " "], - [1226, 0, "t"], - [1227, 0, "h"], - [1228, 0, "e"], - [1299, 1], - [1330, 0, ","], - [1331, 0, " "], - [1332, 0, "\\"], - [1333, 0, "u"], - [1334, 0, "r"], - [1335, 0, "l"], - [1336, 0, "{"], - [1337, 0, "a"], - [1338, 0, "r"], - [1339, 0, "b"], - [1340, 0, "3"], - [1341, 0, "3"], - [1342, 0, "@"], - [1343, 0, "c"], - [1344, 0, "l"], - [1345, 0, "."], - [1346, 0, "c"], - [1347, 0, "a"], - [1348, 0, "m"], - [1349, 0, "."], - [1350, 0, "a"], - [1351, 0, "c"], - [1352, 0, "."], - [1353, 0, "u"], - [1354, 0, "k"], - [1357, 0, "}"], - [1206, 0, "R"], - [1207, 0, "."], - [1358, 0, "."], - [75198, 0, " "], - [75199, 0, "$"], - [75200, 0, "n"], - [75201, 0, "$"], - [75166, 0, " "], - [75167, 0, "$"], - [75168, 0, "H"], - [75169, 0, "_"], - [75170, 0, "p"], - [75171, 0, "$"], - [75219, 0, ":"], - [76961, 0, " "], - [76962, 0, "T"], - [76963, 0, "h"], - [76964, 0, "e"], - [76965, 0, " "], - [76966, 0, "p"], - [76967, 0, "r"], - [76968, 0, "e"], - [76969, 0, "f"], - [76970, 0, "i"], - [76971, 0, "x"], - [76972, 0, " "], - [76973, 0, "c"], - [76974, 0, "o"], - [76975, 0, "n"], - [76976, 0, "t"], - [76977, 0, "a"], - [76978, 0, "i"], - [76979, 0, "n"], - [76980, 0, "s"], - [76981, 0, " "], - [76982, 0, "a"], - [76983, 0, "l"], - [76984, 0, "l"], - [76985, 0, " "], - [76986, 0, "c"], - [76987, 0, "a"], - [76988, 0, "u"], - [76989, 0, "s"], - [76990, 0, "a"], - [76991, 0, "l"], - [76992, 0, "l"], - [76993, 0, "y"], - [76994, 0, " "], - [76986, 0, "o"], - [76987, 0, "p"], - [76988, 0, "e"], - [76989, 0, "r"], - [76990, 0, "a"], - [76991, 0, "t"], - [76992, 0, "i"], - [76993, 0, "o"], - [76994, 0, "n"], - [76995, 0, "s"], - [76996, 0, " "], - [76997, 0, "t"], - [76998, 0, "h"], - [76999, 0, "a"], - [77000, 0, "t"], - [77001, 0, " "], - [77011, 0, "p"], - [77012, 0, "r"], - [77013, 0, "e"], - [77014, 0, "c"], - [77015, 0, "e"], - [77016, 0, "d"], - [77017, 0, "e"], - [77018, 0, " "], - [77019, 0, "$"], - [77020, 0, "o"], - [77021, 0, "_"], - [77022, 0, "{"], - [77023, 0, "n"], - [77024, 0, "+"], - [77025, 0, "1"], - [77026, 0, "}"], - [77027, 0, "$"], - [77028, 0, ","], - [77029, 0, " "], - [77030, 0, "a"], - [77031, 0, "n"], - [77032, 0, "d"], - [77033, 0, " "], - [77034, 0, "p"], - [77035, 0, "o"], - [77036, 0, "s"], - [77037, 0, "s"], - [77038, 0, "i"], - [77039, 0, "b"], - [77040, 0, "y"], - [77040, 1], - [77040, 0, "l"], - [77041, 0, "y"], - [77042, 0, " "], - [77043, 0, "s"], - [77044, 0, "o"], - [77045, 0, "m"], - [77046, 0, "e"], - [77047, 0, " "], - [77048, 0, "o"], - [77049, 0, "p"], - [77050, 0, "e"], - [77051, 0, "r"], - [77052, 0, "a"], - [77053, 0, "t"], - [77054, 0, "i"], - [77055, 0, "o"], - [77056, 0, "n"], - [77057, 0, "s"], - [77058, 0, " "], - [77059, 0, "c"], - [77059, 1], - [77059, 0, "t"], - [77060, 0, "h"], - [77061, 0, "a"], - [77062, 0, "t"], - [77063, 0, " "], - [77064, 0, "a"], - [77065, 0, "r"], - [77066, 0, "e"], - [77067, 0, " "], - [77068, 0, "c"], - [77069, 0, "o"], - [77070, 0, "n"], - [77071, 0, "c"], - [77072, 0, "u"], - [77073, 0, "r"], - [77074, 0, "r"], - [77075, 0, "e"], - [77076, 0, "n"], - [77077, 0, "t"], - [77078, 0, " "], - [77079, 0, "w"], - [77080, 0, "i"], - [77081, 0, "t"], - [77082, 0, "h"], - [77083, 0, " "], - [77084, 0, "$"], - [77085, 0, "o"], - [77086, 0, "_"], - [77087, 0, "{"], - [77088, 0, "n"], - [77089, 0, "+"], - [77090, 0, "1"], - [77091, 0, "}"], - [77092, 0, "$"], - [77093, 0, ";"], - [77094, 0, " "], - [77095, 0, "t"], - [77096, 0, "h"], - [77097, 0, "e"], - [77098, 0, " "], - [77099, 0, "s"], - [77100, 0, "u"], - [77101, 0, "f"], - [77102, 0, "f"], - [77103, 0, "i"], - [77104, 0, "x"], - [77105, 0, " "], - [77106, 0, "c"], - [77107, 0, "o"], - [77108, 0, "n"], - [77109, 0, "t"], - [77110, 0, "a"], - [77111, 0, "i"], - [77112, 0, "n"], - [77113, 0, "s"], - [77114, 0, " "], - [77115, 0, "o"], - [77116, 0, "n"], - [77117, 0, "l"], - [77118, 0, "y"], - [77119, 0, " "], - [77120, 0, "o"], - [77121, 0, "p"], - [77122, 0, "e"], - [77123, 0, "r"], - [77124, 0, "a"], - [77125, 0, "t"], - [77126, 0, "i"], - [77127, 0, "o"], - [77128, 0, "n"], - [77129, 0, "s"], - [77130, 0, " "], - [77131, 0, "t"], - [77132, 0, "h"], - [77133, 0, "a"], - [77134, 0, "t"], - [77135, 0, " "], - [77136, 0, "a"], - [77137, 0, "r"], - [77138, 0, "e"], - [77139, 0, " "], - [77140, 0, "c"], - [77141, 0, "o"], - [77142, 0, "n"], - [77143, 0, "c"], - [77144, 0, "u"], - [77145, 0, "r"], - [77146, 0, "r"], - [77147, 0, "e"], - [77148, 0, "n"], - [77149, 0, "t"], - [77150, 0, " "], - [77151, 0, "w"], - [77152, 0, "i"], - [77153, 0, "t"], - [77154, 0, "h"], - [77155, 0, " "], - [77156, 0, "$"], - [77157, 0, "o"], - [77158, 0, "_"], - [77159, 0, "{"], - [77160, 0, "n"], - [77161, 0, "+"], - [77162, 0, "1"], - [77163, 0, "}"], - [77164, 0, "$"], - [77165, 0, "."], - [77384, 0, " "], - [77385, 0, "n"], - [77386, 0, "e"], - [77387, 0, "e"], - [77388, 0, "d"], - [77389, 0, " "], - [77390, 0, "t"], - [77391, 0, "o"], - [77692, 0, "="], - [77692, 1], - [77691, 1], - [77690, 1], - [77690, 0, "n"], - [77691, 0, "y"], - [78230, 1], - [78230, 0, "j"], - [78299, 1], - [78299, 0, "j"], - [78343, 1], - [78343, 0, "j"], - [78176, 1], - [78175, 1], - [78174, 1], - [78173, 1], - [78172, 1], - [78171, 1], - [78170, 1], - [78169, 1], - [78168, 1], - [78167, 1], - [78166, 1], - [78166, 0, " "], - [78167, 0, "s"], - [78168, 0, "u"], - [78169, 0, "c"], - [78170, 0, "c"], - [78171, 0, "e"], - [78172, 0, "s"], - [78173, 0, "s"], - [78174, 0, "i"], - [78175, 0, "o"], - [78176, 0, "n"], - [78195, 1], - [78195, 0, "j"], - [78206, 1], - [78205, 1], - [78204, 1], - [78204, 0, "s"], - [78205, 0, "u"], - [78206, 0, "c"], - [78230, 1], - [78230, 0, "1"], - [78437, 1], - [78436, 1], - [78435, 1], - [78435, 0, "s"], - [78436, 0, "u"], - [78437, 0, "c"], - [78438, 0, "c"], - [78438, 1], - [78573, 1], - [78573, 0, "2"], - [78576, 1], - [78576, 1], - [78576, 1], - [78576, 0, "s"], - [78577, 0, "u"], - [78578, 0, "c"], - [78588, 1], - [78588, 0, "1"], - [78673, 1], - [78673, 0, "2"], - [78681, 1], - [78681, 1], - [78681, 1], - [78681, 0, "s"], - [78682, 0, "u"], - [78683, 0, "c"], - [78693, 1], - [78693, 0, "1"], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 1], - [79000, 0, "s"], - [79001, 0, "u"], - [79002, 0, "c"], - [79003, 0, "c"], - [79004, 0, "e"], - [79005, 0, "s"], - [79006, 0, "s"], - [79007, 0, "i"], - [79008, 0, "o"], - [79009, 0, "n"], - [79117, 1], - [79116, 1], - [79115, 1], - [79114, 1], - [79113, 1], - [79112, 1], - [79111, 1], - [79110, 1], - [79109, 1], - [79108, 1], - [79108, 0, "s"], - [79109, 0, "u"], - [79110, 0, "c"], - [79111, 0, "c"], - [79112, 0, "e"], - [79113, 0, "s"], - [79114, 0, "s"], - [79115, 0, "i"], - [79116, 0, "o"], - [79117, 0, "n"], - [79579, 0, " "], - [79580, 0, "s"], - [79581, 0, "u"], - [79582, 0, "c"], - [79583, 0, "c"], - [79584, 0, "e"], - [79585, 0, "e"], - [79586, 0, "d"], - [79587, 0, "s"], - [79588, 0, " "], - [79589, 0, "$"], - [79590, 0, "k"], - [79591, 0, "_"], - [79592, 0, "1"], - [79593, 0, "$"], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [79548, 1], - [78210, 1], - [78209, 0, "e"], - [78440, 0, "e"], - [78558, 1], - [78558, 1], - [78558, 1], - [78558, 1], - [78558, 1], - [78558, 1], - [78558, 1], - [78558, 1], - [78558, 0, "s"], - [78559, 0, "u"], - [78560, 0, "c"], - [78561, 0, "c"], - [78562, 0, "e"], - [78563, 0, "e"], - [78564, 0, "d"], - [78565, 0, "s"], - [78583, 1], - [78582, 0, "e"], - [78686, 0, "e"], - [78689, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 1], - [78704, 0, "l"], - [78705, 0, "a"], - [78706, 0, "t"], - [78707, 0, "e"], - [78708, 0, "r"], - [79591, 0, " "], - [79592, 0, "$"], - [79593, 0, "k"], - [79594, 0, "_"], - [79595, 0, "2"], - [79596, 0, "$"], - [79597, 0, " "], - [79598, 0, "s"], - [79599, 0, "u"], - [79600, 0, "c"], - [79601, 0, "c"], - [79602, 0, "e"], - [79603, 0, "e"], - [79604, 0, "d"], - [79605, 0, "s"], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79624, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79700, 1], - [79716, 0, " "], - [79717, 0, "s"], - [79718, 0, "u"], - [79719, 0, "c"], - [79720, 0, "c"], - [79721, 0, "e"], - [79722, 0, "e"], - [79723, 0, "d"], - [79724, 0, "s"], - [79725, 0, " "], - [79726, 0, "$"], - [79727, 0, "k"], - [79728, 0, "_"], - [79729, 0, "1"], - [79730, 0, "$"], - [79735, 0, " "], - [79736, 0, "$"], - [79737, 0, "k"], - [79738, 0, "_"], - [79739, 0, "2"], - [79740, 0, "$"], - [79741, 0, " "], - [79742, 0, "s"], - [79743, 0, "u"], - [79744, 0, "c"], - [79745, 0, "c"], - [79746, 0, "e"], - [79747, 0, "e"], - [79748, 0, "d"], - [79749, 0, "s"], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [79768, 1], - [78179, 0, "I"], - [78180, 0, "n"], - [78181, 0, " "], - [78182, 0, "t"], - [78183, 0, "h"], - [78184, 0, "e"], - [78185, 0, " "], - [78186, 0, "o"], - [78187, 0, "r"], - [78188, 0, "d"], - [78189, 0, "e"], - [78190, 0, "r"], - [78191, 0, "e"], - [78192, 0, "d"], - [78193, 0, " "], - [78194, 0, "l"], - [78195, 0, "i"], - [78196, 0, "s"], - [78197, 0, "t"], - [78198, 0, " "], - [78199, 0, "$"], - [78200, 0, "\\"], - [78201, 0, "m"], - [78202, 0, "a"], - [78203, 0, "t"], - [78204, 0, "h"], - [78205, 0, "i"], - [78206, 0, "t"], - [78207, 0, "{"], - [78208, 0, "c"], - [78209, 0, "t"], - [78210, 0, "x"], - [78211, 0, "}"], - [78212, 0, "$"], - [78213, 0, ","], - [78214, 0, " "], - [78215, 1], - [78215, 0, "l"], - [78302, 1], - [78301, 1], - [78300, 1], - [78299, 1], - [78298, 1], - [78297, 1], - [78296, 1], - [78295, 1], - [78294, 1], - [78293, 1], - [78292, 1], - [78291, 1], - [78290, 1], - [78289, 1], - [78288, 1], - [78287, 1], - [78286, 1], - [78285, 1], - [78284, 1], - [78283, 1], - [78282, 1], - [78281, 1], - [78280, 1], - [78279, 1], - [78278, 1], - [78277, 1], - [78276, 1], - [78275, 1], - [78274, 1], - [78273, 1], - [78272, 1], - [78271, 1], - [78270, 1], - [78269, 1], - [78268, 1], - [78283, 0, " "], - [78284, 0, "l"], - [78285, 0, "i"], - [78286, 0, "s"], - [78287, 0, "t"], - [78288, 0, " "], - [78288, 1], - [78287, 1], - [78286, 1], - [78285, 1], - [78284, 1], - [78283, 1], - [78283, 0, "s"], - [78284, 0, " "], - [78285, 0, "a"], - [78286, 0, " "], - [78287, 0, "("], - [78288, 0, "p"], - [78289, 0, "o"], - [78290, 0, "s"], - [78291, 0, "s"], - [78292, 0, "i"], - [78293, 0, "b"], - [78294, 0, "l"], - [78295, 0, "y"], - [78296, 0, " "], - [78297, 0, "e"], - [78298, 0, "m"], - [78299, 0, "p"], - [78300, 0, "t"], - [78301, 0, "y"], - [78302, 0, ")"], - [78303, 0, " "], - [78304, 0, "s"], - [78305, 0, "e"], - [78306, 0, "q"], - [78307, 0, "u"], - [78308, 0, "e"], - [78309, 0, "n"], - [78310, 0, "c"], - [78311, 0, "e"], - [78312, 0, " "], - [78313, 0, "o"], - [78314, 0, "f"], - [78315, 0, " "], - [78316, 0, "l"], - [78317, 0, "i"], - [78318, 0, "s"], - [78319, 0, "t"], - [78320, 0, " "], - [78321, 0, "e"], - [78322, 0, "l"], - [78323, 0, "e"], - [78324, 0, "m"], - [78325, 0, "e"], - [78326, 0, "n"], - [78327, 0, "t"], - [78328, 0, "s"], - [78176, 1], - [78175, 1], - [78174, 1], - [78173, 1], - [78172, 1], - [78171, 1], - [78170, 1], - [78169, 1], - [78168, 1], - [78167, 1], - [78166, 1], - [78165, 1], - [78164, 1], - [78163, 1], - [78162, 1], - [78161, 1], - [78160, 1], - [78159, 1], - [78158, 1], - [78157, 1], - [78156, 1], - [78155, 1], - [78154, 1], - [78154, 0, "o"], - [78155, 0, "c"], - [78156, 0, "c"], - [78157, 0, "u"], - [78158, 0, "r"], - [78159, 0, "r"], - [78160, 0, "i"], - [78161, 0, "n"], - [78162, 0, "g"], - [78163, 0, " "], - [78164, 0, "a"], - [78165, 0, "f"], - [78166, 0, "t"], - [78167, 0, "e"], - [78168, 0, "r"], - [78239, 1], - [78238, 1], - [78237, 1], - [78236, 1], - [78235, 1], - [78234, 1], - [78233, 1], - [78232, 1], - [78232, 0, "o"], - [78233, 0, "c"], - [78234, 0, "c"], - [78235, 0, "u"], - [78236, 0, "r"], - [78237, 0, "s"], - [78238, 0, " "], - [78239, 0, "a"], - [78240, 0, "f"], - [78241, 0, "t"], - [78242, 0, "e"], - [78243, 0, "r"], - [78487, 1], - [78486, 1], - [78485, 1], - [78484, 1], - [78237, 1], - [78236, 1], - [78235, 1], - [78234, 1], - [78233, 1], - [78232, 1], - [78232, 0, "a"], - [78233, 0, "p"], - [78234, 0, "p"], - [78235, 0, "e"], - [78236, 0, "a"], - [78237, 0, "r"], - [78238, 0, "s"], - [78162, 1], - [78161, 1], - [78160, 1], - [78159, 1], - [78158, 1], - [78157, 1], - [78156, 1], - [78155, 1], - [78154, 1], - [78154, 0, "a"], - [78155, 0, "p"], - [78156, 0, "p"], - [78157, 0, "e"], - [78158, 0, "a"], - [78159, 0, "r"], - [78160, 0, "i"], - [78161, 0, "n"], - [78162, 0, "g"], - [78484, 1], - [78483, 1], - [78482, 1], - [78481, 1], - [78480, 1], - [78479, 1], - [78479, 0, "a"], - [78480, 0, "p"], - [78481, 0, "p"], - [78482, 0, "e"], - [78483, 0, "a"], - [78484, 0, "r"], - [78485, 0, "i"], - [78486, 0, "n"], - [78487, 0, "g"], - [78488, 0, " "], - [78489, 0, "a"], - [78490, 0, "f"], - [78491, 0, "t"], - [78492, 0, "e"], - [78493, 0, "r"], - [78633, 1], - [78632, 1], - [78631, 1], - [78630, 1], - [78629, 1], - [78628, 1], - [78627, 1], - [78626, 1], - [78626, 0, "a"], - [78627, 0, "p"], - [78628, 0, "p"], - [78629, 0, "e"], - [78630, 0, "a"], - [78631, 0, "r"], - [78632, 0, "s"], - [78633, 0, " "], - [78634, 0, "a"], - [78635, 0, "f"], - [78636, 0, "t"], - [78637, 0, "e"], - [78638, 0, "r"], - [78614, 1], - [78613, 1], - [78612, 1], - [78611, 1], - [78610, 1], - [78609, 1], - [78608, 1], - [78607, 1], - [78607, 0, "a"], - [78608, 0, "f"], - [78609, 0, "t"], - [78610, 0, "e"], - [78611, 0, "r"], - [80804, 1], - [80804, 1], - [80804, 1], - [80804, 1], - [80804, 1], - [80804, 1], - [80804, 1], - [80804, 1], - [80804, 0, "a"], - [80805, 0, "f"], - [80806, 0, "t"], - [80807, 0, "e"], - [80808, 0, "r"], - [78733, 1], - [78733, 1], - [78733, 1], - [78733, 1], - [78733, 1], - [78733, 1], - [78733, 1], - [78733, 1], - [78733, 0, "a"], - [78734, 0, "p"], - [78735, 0, "p"], - [78736, 0, "e"], - [78737, 0, "a"], - [78738, 0, "r"], - [78739, 0, "s"], - [78740, 0, " "], - [78741, 0, "a"], - [78742, 0, "f"], - [78743, 0, "t"], - [78744, 0, "e"], - [78745, 0, "r"], - [79061, 1], - [79060, 1], - [79059, 1], - [79058, 1], - [79057, 1], - [79056, 1], - [79055, 1], - [79054, 1], - [79053, 1], - [79052, 1], - [79052, 0, "a"], - [79053, 0, "p"], - [79054, 0, "p"], - [79055, 0, "e"], - [79056, 0, "a"], - [79057, 0, "r"], - [79058, 0, "s"], - [79059, 0, "-"], - [79060, 0, "a"], - [79061, 0, "f"], - [79062, 0, "t"], - [79063, 0, "e"], - [79064, 0, "r"], - [79172, 1], - [79171, 1], - [79170, 1], - [79169, 1], - [79168, 1], - [79167, 1], - [79166, 1], - [79165, 1], - [79164, 1], - [79163, 1], - [79163, 0, "a"], - [79164, 0, "p"], - [79165, 0, "p"], - [79166, 0, "e"], - [79167, 0, "a"], - [79168, 0, "r"], - [79169, 0, "s"], - [79170, 0, "-"], - [79171, 0, "a"], - [79172, 0, "f"], - [79173, 0, "t"], - [79174, 0, "e"], - [79175, 0, "r"], - [79630, 1], - [79629, 1], - [79628, 1], - [79627, 1], - [79626, 1], - [79625, 1], - [79624, 1], - [79623, 1], - [79623, 0, "a"], - [79624, 0, "p"], - [79625, 0, "p"], - [79626, 0, "e"], - [79627, 0, "a"], - [79628, 0, "r"], - [79629, 0, "s"], - [79630, 0, " "], - [79631, 0, "a"], - [79632, 0, "f"], - [79633, 0, "t"], - [79634, 0, "e"], - [79635, 0, "r"], - [79672, 1], - [79671, 1], - [79670, 1], - [79669, 1], - [79668, 1], - [79667, 1], - [79666, 1], - [79665, 1], - [79665, 0, "a"], - [79666, 0, "p"], - [79667, 0, "p"], - [79668, 0, "e"], - [79669, 0, "a"], - [79670, 0, "r"], - [79671, 0, "s"], - [79672, 0, " "], - [79673, 0, "a"], - [79674, 0, "f"], - [79675, 0, "t"], - [79676, 0, "e"], - [79677, 0, "r"], - [79796, 1], - [79795, 1], - [79794, 1], - [79793, 1], - [79792, 1], - [79791, 1], - [79790, 1], - [79789, 1], - [79789, 0, "a"], - [79790, 0, "p"], - [79791, 0, "p"], - [79792, 0, "e"], - [79793, 0, "a"], - [79794, 0, "r"], - [79795, 0, "s"], - [79796, 0, " "], - [79797, 0, "a"], - [79798, 0, "f"], - [79799, 0, "t"], - [79800, 0, "e"], - [79801, 0, "r"], - [79826, 1], - [79825, 1], - [79824, 1], - [79823, 1], - [79822, 1], - [79821, 1], - [79820, 1], - [79819, 1], - [79819, 0, "a"], - [79820, 0, "p"], - [79821, 0, "p"], - [79822, 0, "e"], - [79823, 0, "a"], - [79824, 0, "r"], - [79825, 0, "s"], - [79826, 0, " "], - [79827, 0, "a"], - [79828, 0, "f"], - [79829, 0, "t"], - [79830, 0, "e"], - [79831, 0, "r"], - [78385, 1], - [78385, 0, "\\"], - [78386, 0, "l"], - [78387, 0, "e"], - [78390, 0, "-"], - [78391, 0, "1"], - [78391, 1], - [78390, 1], - [78387, 1], - [78386, 1], - [78385, 1], - [78385, 0, "<"], - [79475, 1], - [79474, 1], - [79473, 1], - [79472, 1], - [79471, 1], - [79470, 1], - [79469, 1], - [79468, 1], - [79467, 1], - [79466, 1], - [79465, 1], - [79464, 1], - [79463, 1], - [79462, 1], - [79461, 1], - [79460, 1], - [79459, 1], - [79458, 1], - [79457, 1], - [79456, 1], - [79455, 1], - [79454, 1], - [79453, 1], - [79452, 1], - [79451, 1], - [79450, 1], - [79449, 1], - [79448, 1], - [79447, 1], - [79446, 1], - [79445, 1], - [79444, 1], - [79443, 1], - [79442, 1], - [79441, 1], - [79440, 1], - [79439, 1], - [79438, 1], - [79437, 1], - [79436, 1], - [79435, 1], - [79434, 1], - [79433, 1], - [79432, 1], - [79431, 1], - [79430, 1], - [79429, 1], - [79428, 1], - [79427, 1], - [79426, 1], - [79425, 1], - [79424, 1], - [79423, 1], - [79422, 1], - [79421, 1], - [79420, 1], - [79419, 1], - [79418, 1], - [79417, 1], - [79416, 1], - [79415, 1], - [79414, 1], - [79413, 1], - [79412, 1], - [79411, 1], - [79410, 1], - [79409, 1], - [79408, 1], - [79407, 1], - [79406, 1], - [79405, 1], - [79404, 1], - [79403, 1], - [79402, 1], - [79401, 1], - [79400, 1], - [79399, 1], - [79398, 1], - [79397, 1], - [79396, 1], - [79395, 1], - [79394, 1], - [79393, 1], - [79392, 1], - [79391, 1], - [79390, 1], - [79389, 1], - [79388, 1], - [79387, 1], - [79386, 1], - [79385, 1], - [79384, 1], - [79383, 1], - [79382, 1], - [79381, 1], - [79380, 1], - [79379, 1], - [79378, 1], - [79377, 1], - [79376, 1], - [79375, 1], - [79374, 1], - [79373, 1], - [79372, 1], - [80673, 1], - [80673, 0, "2"], - [80676, 1], - [80676, 1], - [80676, 1], - [80676, 1], - [80676, 1], - [80676, 1], - [80676, 1], - [80676, 1], - [80676, 0, "a"], - [80677, 0, "p"], - [80678, 0, "p"], - [80679, 0, "e"], - [80680, 0, "a"], - [80681, 0, "r"], - [80682, 0, "s"], - [80683, 0, " "], - [80684, 0, "a"], - [80685, 0, "f"], - [80686, 0, "t"], - [80687, 0, "e"], - [80688, 0, "r"], - [80693, 1], - [80693, 0, "1"], - [80891, 1], - [80890, 1], - [80889, 1], - [80888, 1], - [80887, 1], - [80886, 1], - [80913, 1], - [80913, 0, "s"], - [80914, 0, "p"], - [80914, 1], - [80914, 0, "o"], - [80915, 0, "m"], - [80916, 0, "e"], - [80939, 1], - [80938, 1], - [80937, 1], - [80936, 1], - [80935, 1], - [80934, 1], - [80933, 1], - [80932, 1], - [80931, 1], - [80930, 1], - [80929, 1], - [80928, 1], - [80927, 1], - [80927, 0, "a"], - [80928, 0, "f"], - [80929, 0, "t"], - [80930, 0, "e"], - [80931, 0, "r"], - [80891, 1], - [80890, 1], - [80889, 1], - [80888, 1], - [80887, 1], - [80886, 1], - [80881, 0, ","], - [80887, 0, "t"], - [80888, 0, "h"], - [80889, 0, "e"], - [80890, 0, "r"], - [80891, 0, "e"], - [80892, 0, "f"], - [80893, 0, "o"], - [80894, 0, "r"], - [80895, 0, "e"], - [80914, 0, "i"], - [80915, 0, "s"], - [80916, 0, " "], - [80917, 0, "i"], - [80918, 0, "n"], - [80919, 0, "s"], - [80920, 0, "e"], - [80921, 0, "r"], - [80922, 0, "t"], - [80923, 0, "e"], - [80924, 0, "d"], - [80925, 0, " "], - [81519, 1], - [81518, 1], - [81517, 1], - [81516, 1], - [81515, 1], - [81514, 1], - [81513, 1], - [81512, 1], - [81511, 1], - [81510, 1], - [81509, 1], - [81508, 1], - [81507, 1], - [81506, 1], - [81524, 0, "i"], - [81525, 0, "s"], - [81526, 0, " "], - [81527, 0, "n"], - [81528, 0, "e"], - [81529, 0, "v"], - [81530, 0, "e"], - [81531, 0, "r"], - [81532, 0, " "], - [81533, 0, "i"], - [81534, 0, "n"], - [81535, 0, "s"], - [81536, 0, "e"], - [81537, 0, "r"], - [81538, 0, "t"], - [81539, 0, "e"], - [81540, 0, "d"], - [81541, 0, " "], - [81573, 1], - [81572, 1], - [81571, 1], - [81570, 1], - [81569, 1], - [81568, 1], - [81567, 1], - [81566, 1], - [81565, 1], - [81564, 1], - [81563, 1], - [81562, 1], - [81562, 0, "h"], - [81563, 0, "a"], - [81564, 0, "t"], - [81565, 0, " "], - [81566, 0, "a"], - [81567, 0, "p"], - [81568, 0, "p"], - [81569, 0, "e"], - [81570, 0, "a"], - [81571, 0, "r"], - [81572, 0, "s"], - [81573, 0, " "], - [81574, 0, "a"], - [81575, 0, "f"], - [81576, 0, "t"], - [81577, 0, "e"], - [81578, 0, "r"], - [81598, 0, "\n"], - [81599, 0, "\n"], - [81600, 0, "%"], - [81601, 0, " "], - [81602, 0, "T"], - [81603, 0, "O"], - [81604, 0, "D"], - [81605, 0, "O"], - [81606, 0, " "], - [81607, 0, "w"], - [81608, 0, "o"], - [81609, 0, "r"], - [81610, 0, "k"], - [81611, 0, "i"], - [81612, 0, "n"], - [81613, 0, " "], - [81614, 0, "g"], - [81615, 0, "p"], - [81615, 1], - [81614, 1], - [81613, 1], - [81612, 1], - [81611, 1], - [81611, 0, " "], - [81612, 0, "i"], - [81613, 0, "n"], - [81614, 0, " "], - [81615, 0, "p"], - [81616, 0, "r"], - [81617, 0, "o"], - [81618, 0, "g"], - [81619, 0, "r"], - [81620, 0, "e"], - [81621, 0, "s"], - [81622, 0, "s"], - [81623, 0, " "], - [81624, 0, "h"], - [81625, 0, "e"], - [81626, 0, "r"], - [81627, 0, "e"], - [81601, 0, "%"], - [81602, 0, "%"], - [81603, 0, "%"], - [81604, 0, "%"], - [81605, 0, "%"], - [81606, 0, "%"], - [81607, 0, "%"], - [81608, 0, "%"], - [81609, 0, "%"], - [81610, 0, "%"], - [81611, 0, "%"], - [81639, 0, " "], - [81640, 0, "%"], - [81641, 0, "%"], - [81642, 0, "%"], - [81643, 0, "%"], - [81644, 0, "%"], - [81645, 0, "%"], - [81646, 0, "%"], - [81647, 0, "%"], - [81648, 0, "%"], - [81649, 0, "%"], - [81650, 0, "%"], - [81651, 0, "%"], - [81652, 0, "%"], - [81653, 0, "%"], - [81654, 0, "%"], - [81655, 0, "%"], - [81656, 0, "%"], - [81657, 0, "%"], - [81658, 0, "%"], - [81659, 0, "%"], - [81660, 0, "%"], - [81598, 0, "\n"], - [81599, 0, "\n"], - [81600, 0, "\\"], - [81601, 0, "b"], - [81602, 0, "e"], - [81603, 0, "g"], - [81604, 0, "i"], - [81605, 0, "n"], - [81606, 0, "{"], - [81607, 0, "l"], - [81608, 0, "e"], - [81609, 0, "m"], - [81610, 0, "m"], - [81611, 0, "a"], - [81612, 0, "}"], - [81613, 0, "\\"], - [81614, 0, "l"], - [81615, 0, "a"], - [81616, 0, "b"], - [81617, 0, "e"], - [81618, 0, "l"], - [81619, 0, "{"], - [81620, 0, "l"], - [81621, 0, "e"], - [81622, 0, "m"], - [81623, 0, ":"], - [81624, 0, "i"], - [81625, 0, "n"], - [81626, 0, "s"], - [81627, 0, "e"], - [81628, 0, "r"], - [81629, 0, "t"], - [81630, 0, "-"], - [81631, 0, "r"], - [81632, 0, "e"], - [81633, 0, "o"], - [81634, 0, "r"], - [81635, 0, "d"], - [81636, 0, "e"], - [81637, 0, "r"], - [81638, 0, "}"], - [81639, 0, "\n"], - [81640, 0, "\\"], - [81641, 0, "e"], - [81642, 0, "n"], - [81643, 0, "d"], - [81644, 0, "{"], - [81645, 0, "l"], - [81646, 0, "e"], - [81647, 0, "m"], - [81648, 0, "m"], - [81649, 0, "a"], - [81650, 0, "}"], - [81640, 0, "\n"], - [81640, 0, "A"], - [81641, 0, "n"], - [81642, 0, " "], - [81643, 0, "i"], - [81644, 0, "n"], - [81645, 0, "s"], - [81646, 0, "e"], - [81647, 0, "r"], - [81648, 0, "t"], - [81649, 0, "i"], - [81650, 0, "o"], - [81651, 0, "n"], - [81652, 0, " "], - [81653, 0, "o"], - [81654, 0, "p"], - [81655, 0, "e"], - [81656, 0, "r"], - [81657, 0, "a"], - [81658, 0, "t"], - [81659, 0, "i"], - [81660, 0, "o"], - [81661, 0, "n"], - [81662, 0, " "], - [81663, 0, "c"], - [81664, 0, "a"], - [81665, 0, "n"], - [81666, 0, " "], - [81667, 0, "b"], - [81668, 0, "e"], - [81669, 0, " "], - [81670, 0, "r"], - [81671, 0, "e"], - [81640, 0, "I"], - [81641, 0, "n"], - [81642, 0, " "], - [81643, 0, "a"], - [81644, 0, "n"], - [81645, 0, " "], - [81646, 0, "o"], - [81647, 0, "p"], - [81648, 0, "e"], - [81649, 0, "r"], - [81650, 0, "a"], - [81651, 0, "t"], - [81652, 0, "i"], - [81653, 0, "o"], - [81654, 0, "n"], - [81655, 0, " "], - [81656, 0, "h"], - [81657, 0, "i"], - [81658, 0, "s"], - [81659, 0, "t"], - [81660, 0, "o"], - [81661, 0, "r"], - [81662, 0, "y"], - [81663, 0, ","], - [81664, 0, " "], - [81665, 1], - [81665, 0, "a"], - [81697, 0, "o"], - [81698, 0, "r"], - [81699, 0, "d"], - [81700, 0, "e"], - [81701, 0, "r"], - [81702, 0, "e"], - [81703, 0, "d"], - [81704, 0, " "], - [81705, 0, "w"], - [81706, 0, "i"], - [81707, 0, "t"], - [81708, 0, "h"], - [81709, 0, " "], - [81710, 0, "r"], - [81711, 0, "e"], - [81712, 0, "s"], - [81713, 0, "p"], - [81714, 0, "e"], - [81715, 0, "c"], - [81716, 0, "t"], - [81717, 0, " "], - [81718, 0, "t"], - [81719, 0, "o"], - [81720, 0, " "], - [81721, 0, "c"], - [81722, 0, "o"], - [81723, 0, "n"], - [81724, 0, "c"], - [81725, 0, "u"], - [81726, 0, "r"], - [81727, 0, "r"], - [81728, 0, "e"], - [81729, 0, "n"], - [81730, 0, "t"], - [81731, 0, " "], - [81732, 0, "i"], - [81733, 0, "n"], - [81734, 0, "s"], - [81735, 0, "e"], - [81736, 0, "r"], - [81737, 0, "t"], - [81738, 0, "i"], - [81739, 0, "o"], - [81740, 0, "n"], - [81741, 0, " "], - [81742, 0, "o"], - [81743, 0, "p"], - [81744, 0, "e"], - [81745, 0, "r"], - [81746, 0, "a"], - [81747, 0, "t"], - [81748, 0, "i"], - [81749, 0, "o"], - [81750, 0, "n"], - [81751, 0, "s"], - [81752, 0, " "], - [81753, 0, "t"], - [81754, 0, "o"], - [81755, 0, " "], - [81756, 0, "t"], - [81757, 0, "h"], - [81758, 0, "e"], - [81759, 0, " "], - [81760, 0, "s"], - [81761, 0, "a"], - [81762, 0, "m"], - [81763, 0, "e"], - [81764, 0, " "], - [81765, 0, "l"], - [81766, 0, "i"], - [81767, 0, "s"], - [81768, 0, "t"], - [81769, 0, " "], - [81770, 0, "w"], - [81771, 0, "i"], - [81772, 0, "t"], - [81773, 0, "h"], - [81774, 0, "o"], - [81775, 0, "u"], - [81776, 0, "t"], - [81777, 0, " "], - [81778, 0, "a"], - [81779, 0, "f"], - [81780, 0, "f"], - [81781, 0, "e"], - [81782, 0, "c"], - [81783, 0, "t"], - [81784, 0, "i"], - [81785, 0, "n"], - [81786, 0, "g"], - [81787, 0, " "], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 1], - [81688, 0, "i"], - [81689, 0, "s"], - [81690, 0, " "], - [81691, 0, "c"], - [81692, 0, "o"], - [81693, 0, "m"], - [81694, 0, "m"], - [81695, 0, "u"], - [81696, 0, "t"], - [81697, 0, "a"], - [81698, 0, "t"], - [81699, 0, "i"], - [81700, 0, "v"], - [81701, 0, "e"], - [81785, 1], - [81784, 1], - [81783, 1], - [81782, 1], - [81781, 1], - [81780, 1], - [81779, 1], - [81778, 1], - [81777, 1], - [81776, 1], - [81775, 1], - [81774, 1], - [81773, 1], - [81772, 1], - [81771, 1], - [81770, 1], - [81769, 1], - [81768, 1], - [81767, 1], - [81767, 0, "."], - [81780, 0, "\n"], - [81781, 0, "\n"], - [81782, 0, "\\"], - [81783, 0, "b"], - [81784, 0, "e"], - [81785, 0, "g"], - [81786, 0, "i"], - [81787, 0, "n"], - [81788, 0, "{"], - [81789, 0, "p"], - [81790, 0, "r"], - [81791, 0, "o"], - [81792, 0, "o"], - [81793, 0, "f"], - [81794, 0, "}"], - [81795, 0, "\n"], - [81796, 0, "\\"], - [81797, 0, "e"], - [81798, 0, "n"], - [81799, 0, "d"], - [81800, 0, "{"], - [81801, 0, "p"], - [81802, 0, "r"], - [81803, 0, "o"], - [81804, 0, "o"], - [81805, 0, "f"], - [81806, 0, "}"], - [81795, 1], - [81795, 0, "\n"], - [81796, 0, "\n"], - [81796, 0, "C"], - [81797, 0, "o"], - [81798, 0, "n"], - [81799, 0, "s"], - [81800, 0, "i"], - [81801, 0, "d"], - [81802, 0, "e"], - [81803, 0, "r"], - [81804, 0, " "], - [81805, 0, "t"], - [81806, 0, "h"], - [81807, 0, "e"], - [81808, 0, " "], - [81809, 0, "o"], - [81810, 0, "p"], - [81811, 0, "e"], - [81812, 0, "r"], - [81813, 0, "a"], - [81814, 0, "t"], - [81815, 0, "i"], - [81816, 0, "o"], - [81817, 0, "n"], - [81818, 0, " "], - [81819, 0, "$"], - [81820, 0, "o"], - [81821, 0, "_"], - [81822, 0, "{"], - [81823, 0, "n"], - [81824, 0, "+"], - [81825, 0, "1"], - [81826, 0, "}"], - [81827, 0, "$"], - [81828, 0, " "], - [81829, 0, "b"], - [81830, 0, "b"], - [81831, 0, "e"], - [81832, 0, "i"], - [81833, 0, "n"], - [81834, 0, "g"], - [81835, 0, " "], - [81835, 1], - [81834, 1], - [81833, 1], - [81832, 1], - [81831, 1], - [81830, 1], - [81830, 0, "e"], - [81831, 0, "i"], - [81832, 0, "n"], - [81833, 0, "g"], - [81834, 0, " "], - [81835, 0, "r"], - [81836, 0, "e"], - [81837, 0, "o"], - [81838, 0, "r"], - [81839, 0, "d"], - [81840, 0, "e"], - [81841, 0, "r"], - [81842, 0, "e"], - [81843, 0, "d"], - [81844, 0, " "], - [81845, 0, "w"], - [81846, 0, "i"], - [81847, 0, "t"], - [81848, 0, "h"], - [81849, 0, " "], - [81850, 0, "r"], - [81851, 0, "e"], - [81852, 0, "s"], - [81853, 0, "p"], - [81854, 0, "e"], - [81855, 0, "c"], - [81856, 0, "t"], - [81857, 0, " "], - [81858, 0, "t"], - [81859, 0, "o"], - [81860, 0, " "], - [81861, 0, "c"], - [81862, 0, "o"], - [81863, 0, "n"], - [81864, 0, "c"], - [81865, 0, "u"], - [81866, 0, "r"], - [81867, 0, "r"], - [81868, 0, "e"], - [81869, 0, "n"], - [81870, 0, "t"], - [81871, 0, " "], - [81872, 0, "o"], - [81873, 0, "p"], - [81874, 0, "e"], - [81875, 0, "r"], - [81876, 0, "a"], - [81877, 0, "t"], - [81878, 0, "i"], - [81879, 0, "o"], - [81880, 0, "n"], - [81881, 0, "s"], - [81882, 0, " "], - [81883, 0, "i"], - [81884, 0, "n"], - [81885, 0, " "], - [81886, 0, "a"], - [81887, 0, " "], - [81888, 0, "h"], - [81889, 0, "i"], - [81890, 0, "s"], - [81891, 0, "t"], - [81892, 0, "o"], - [81893, 0, "r"], - [81894, 0, "y"], - [81895, 0, "."], - [81896, 0, " "], - [81897, 0, "$"], - [81898, 0, "o"], - [81899, 0, "_"], - [81900, 0, "{"], - [81901, 0, "n"], - [81902, 0, "+"], - [81903, 0, "1"], - [81904, 0, "}"], - [81905, 0, "$"], - [81906, 0, " "], - [81907, 0, "i"], - [81908, 0, "s"], - [81909, 0, " "], - [81910, 0, "i"], - [81911, 0, "n"], - [81912, 0, "s"], - [81913, 0, "e"], - [81914, 0, "r"], - [81915, 0, "t"], - [81916, 0, "e"], - [81917, 0, "d"], - [81918, 0, " "], - [81919, 0, "b"], - [81920, 0, "e"], - [81921, 0, "t"], - [81922, 0, "w"], - [81923, 0, "e"], - [81924, 0, "e"], - [81925, 0, "n"], - [81926, 0, " "], - [81927, 0, "s"], - [81928, 0, "o"], - [81929, 0, "m"], - [81930, 0, "e"], - [81931, 0, " "], - [81932, 0, "$"], - [81933, 0, "k"], - [81934, 0, "_"], - [81935, 0, "1"], - [81936, 0, "$"], - [81937, 0, " "], - [81938, 0, "a"], - [81939, 0, "n"], - [81940, 0, "d"], - [81941, 0, " "], - [81942, 0, "$"], - [81943, 0, "k"], - [81944, 0, "_"], - [81945, 0, "2"], - [81946, 0, "$"], - [81947, 0, " "], - [81948, 0, "o"], - [81949, 0, "n"], - [81950, 0, " "], - [81951, 0, "t"], - [81952, 0, "h"], - [81953, 0, "e"], - [81954, 0, " "], - [81955, 0, "r"], - [81956, 0, "e"], - [81957, 0, "p"], - [81958, 0, "l"], - [81959, 0, "i"], - [81960, 0, "c"], - [81961, 0, "a"], - [81962, 0, " "], - [81963, 0, "w"], - [81964, 0, "h"], - [81965, 0, "e"], - [81966, 0, "r"], - [81967, 0, "e"], - [81968, 0, " "], - [81969, 0, "i"], - [81970, 0, "t"], - [81971, 0, " "], - [81972, 0, "o"], - [81973, 0, "r"], - [81974, 0, "i"], - [81975, 0, "g"], - [81976, 0, "i"], - [81977, 0, "n"], - [81978, 0, "a"], - [81979, 0, "t"], - [81980, 0, "e"], - [81981, 0, "d"], - [81982, 0, "."], - [81983, 0, " "], - [81984, 0, "I"], - [81985, 0, "f"], - [81986, 0, " "], - [81987, 0, "a"], - [81988, 0, "n"], - [81989, 0, "y"], - [81990, 0, " "], - [81991, 0, "c"], - [81992, 0, "o"], - [81993, 0, "n"], - [81994, 0, "c"], - [81995, 0, "u"], - [81996, 0, "r"], - [81997, 0, "r"], - [81998, 0, "e"], - [81999, 0, "n"], - [82000, 0, "t"], - [82001, 0, " "], - [82002, 0, "o"], - [82003, 0, "p"], - [82004, 0, "e"], - [82005, 0, "r"], - [82006, 0, "a"], - [82007, 0, "t"], - [82008, 0, "i"], - [82009, 0, "o"], - [82010, 0, "n"], - [82011, 0, " "], - [82012, 0, "j"], - [82012, 1], - [82012, 0, "i"], - [82013, 0, "n"], - [82014, 0, "s"], - [82015, 0, "e"], - [82016, 0, "r"], - [82017, 0, "t"], - [82018, 0, "s"], - [82019, 0, " "], - [82020, 0, "a"], - [82021, 0, "t"], - [82022, 0, " "], - [82023, 0, "a"], - [82024, 0, " "], - [82025, 0, "p"], - [82026, 0, "o"], - [82027, 0, "s"], - [82028, 0, "i"], - [82029, 0, "t"], - [82030, 0, "i"], - [82031, 0, "o"], - [82032, 0, "n"], - [82033, 0, " "], - [82034, 0, "t"], - [82035, 0, "h"], - [82036, 0, "a"], - [82037, 0, "t"], - [82038, 0, " "], - [82039, 0, "i"], - [82040, 0, "s"], - [82041, 0, " "], - [82042, 0, "n"], - [82043, 0, "o"], - [82044, 0, "t"], - [82045, 0, " "], - [82046, 0, "b"], - [82047, 0, "e"], - [82048, 0, "t"], - [82049, 0, "w"], - [82050, 0, "e"], - [82051, 0, "e"], - [82052, 0, "n"], - [82053, 0, " "], - [82054, 0, "$"], - [82055, 0, "k"], - [82056, 0, "_"], - [82057, 0, "1"], - [82058, 0, "$"], - [82059, 0, " "], - [82060, 0, "a"], - [82061, 0, "n"], - [82062, 0, "d"], - [82063, 0, " "], - [82064, 0, "$"], - [82065, 0, "k"], - [82066, 0, "_"], - [82067, 0, "2"], - [82068, 0, "$"], - [82069, 0, ","], - [82070, 0, " "], - [82071, 0, "t"], - [82072, 0, "h"], - [82073, 0, "e"], - [82074, 0, "n"], - [82075, 0, " "], - [82076, 0, "b"], - [82077, 0, "y"], - [82078, 0, " "], - [82079, 0, "L"], - [82080, 0, "e"], - [82081, 0, "m"], - [82082, 0, "m"], - [82083, 0, "a"], - [82084, 0, "~"], - [82085, 0, "\\"], - [82086, 0, "r"], - [82087, 0, "e"], - [82088, 0, "f"], - [82089, 0, "{"], - [82090, 0, "i"], - [82091, 0, "n"], - [82092, 0, "s"], - [82093, 0, "e"], - [82094, 0, "r"], - [82095, 0, "t"], - [82096, 0, "-"], - [82097, 0, "b"], - [82098, 0, "e"], - [82099, 0, "t"], - [82100, 0, "w"], - [82101, 0, "e"], - [82102, 0, "e"], - [82103, 0, "n"], - [82104, 0, "}"], - [82105, 0, " "], - [82106, 0, "t"], - [82107, 0, "h"], - [82108, 0, "e"], - [82109, 0, " "], - [82110, 0, "o"], - [82111, 0, "p"], - [82112, 0, "e"], - [82113, 0, "r"], - [82114, 0, "a"], - [82115, 0, "t"], - [82116, 0, "i"], - [82117, 0, "o"], - [82118, 0, "n"], - [82119, 0, "s"], - [82120, 0, " "], - [82121, 0, "c"], - [82122, 0, "a"], - [82123, 0, "n"], - [82124, 0, "n"], - [82125, 0, "o"], - [82126, 0, "t"], - [82127, 0, " "], - [82128, 0, "a"], - [82129, 0, "f"], - [82130, 0, "f"], - [82131, 0, "e"], - [82132, 0, "c"], - [82133, 0, "t"], - [82134, 0, " "], - [82135, 0, "e"], - [82136, 0, "a"], - [82137, 0, "c"], - [82138, 0, "h"], - [82139, 0, " "], - [82140, 0, "o"], - [82141, 0, "t"], - [82142, 0, "h"], - [82143, 0, "e"], - [82144, 0, "r"], - [82145, 0, ","], - [82146, 0, " "], - [82147, 0, "a"], - [82148, 0, "n"], - [82149, 0, "d"], - [82150, 0, " "], - [82151, 0, "s"], - [82152, 0, "o"], - [82153, 0, " "], - [82154, 0, "t"], - [82155, 0, "h"], - [82156, 0, "e"], - [82157, 0, "y"], - [82158, 0, " "], - [82159, 0, "h"], - [82160, 0, "a"], - [82161, 0, "v"], - [82162, 0, "e"], - [82163, 0, " "], - [82164, 0, "t"], - [82165, 0, "h"], - [82166, 0, "e"], - [82167, 0, " "], - [82168, 0, "s"], - [82169, 0, "a"], - [82170, 0, "m"], - [82171, 0, "e"], - [82172, 0, " "], - [82173, 0, "e"], - [82174, 0, "f"], - [82175, 0, "f"], - [82176, 0, "e"], - [82177, 0, "c"], - [82178, 0, "t"], - [82179, 0, " "], - [82180, 0, "r"], - [82181, 0, "e"], - [82182, 0, "g"], - [82183, 0, "a"], - [82184, 0, "r"], - [82185, 0, "d"], - [82186, 0, "l"], - [82187, 0, "e"], - [82188, 0, "s"], - [82189, 0, "s"], - [82190, 0, " "], - [82191, 0, "o"], - [82192, 0, "f"], - [82193, 0, " "], - [82194, 0, "t"], - [82195, 0, "h"], - [82196, 0, "e"], - [82197, 0, "i"], - [82198, 0, "r"], - [82199, 0, " "], - [82200, 0, "o"], - [82201, 0, "r"], - [82202, 0, "d"], - [82203, 0, "e"], - [82204, 0, "r"], - [82205, 0, "."], - [81983, 0, "\n"], - [81984, 0, "\n"], - [81985, 1], - [82207, 0, " "], - [82208, 0, "F"], - [82209, 0, "o"], - [82210, 0, "r"], - [82211, 0, " "], - [82212, 0, "t"], - [82213, 0, "h"], - [82214, 0, "e"], - [82215, 0, " "], - [82216, 0, "r"], - [82217, 0, "e"], - [82218, 0, "s"], - [82219, 0, "t"], - [82220, 0, " "], - [82221, 0, "o"], - [82222, 0, "f"], - [82223, 0, " "], - [82224, 0, "t"], - [82225, 0, "h"], - [82226, 0, "i"], - [82227, 0, "s"], - [82228, 0, " "], - [82229, 0, "p"], - [82230, 0, "r"], - [82231, 0, "o"], - [82232, 0, "o"], - [82233, 0, "f"], - [82234, 0, ","], - [82235, 0, " "], - [82236, 0, "c"], - [82237, 0, "o"], - [82238, 0, "n"], - [82239, 0, "s"], - [82240, 0, "i"], - [82241, 0, "d"], - [82242, 0, "e"], - [82243, 0, "r"], - [82236, 0, "w"], - [82237, 0, "e"], - [82238, 0, " "], - [82247, 0, " "], - [82248, 0, "o"], - [82249, 0, "n"], - [82250, 0, "l"], - [82251, 0, "y"], - [82252, 0, " "], - [82253, 0, "c"], - [82254, 0, "o"], - [82255, 0, "n"], - [82256, 0, "c"], - [82257, 0, "u"], - [82258, 0, "r"], - [82259, 0, "r"], - [82260, 0, "e"], - [82261, 0, "n"], - [82262, 0, "t"], - [82263, 0, " "], - [82264, 0, "o"], - [82265, 0, "p"], - [82266, 0, "e"], - [82267, 0, "r"], - [82268, 0, "a"], - [82269, 0, "t"], - [82270, 0, "i"], - [82271, 0, "o"], - [82272, 0, "n"], - [82273, 0, "s"], - [82274, 0, " "], - [82275, 0, "t"], - [82276, 0, "h"], - [82277, 0, "a"], - [82278, 0, "t"], - [82279, 0, " "], - [82280, 0, "a"], - [82281, 0, "r"], - [82282, 0, "e"], - [82283, 0, " "], - [82283, 1], - [82282, 1], - [82281, 1], - [82280, 1], - [82280, 0, "i"], - [82281, 0, "n"], - [82282, 0, "s"], - [82283, 0, "e"], - [82284, 0, "r"], - [82285, 0, "t"], - [82286, 0, " "], - [82287, 0, "a"], - [82288, 0, "t"], - [82289, 0, " "], - [82290, 0, "a"], - [82291, 0, " "], - [82292, 0, "p"], - [82293, 0, "o"], - [82294, 0, "s"], - [82295, 0, "i"], - [82296, 0, "t"], - [82297, 0, "i"], - [82298, 0, "o"], - [82299, 0, "n"], - [82300, 0, " "], - [82301, 0, "b"], - [82302, 0, "e"], - [82303, 0, "t"], - [82304, 0, "w"], - [82305, 0, "e"], - [82306, 0, "e"], - [82307, 0, "n"], - [82308, 0, " "], - [82309, 0, "$"], - [82310, 0, "k"], - [82311, 0, "_"], - [82312, 0, "1"], - [82313, 0, "$"], - [82314, 0, " "], - [82315, 0, "a"], - [82316, 0, "n"], - [82317, 0, "d"], - [82318, 0, " "], - [82319, 0, "$"], - [82320, 0, "k"], - [82321, 0, "_"], - [82322, 0, "2"], - [82323, 0, "$"], - [82324, 0, "."], - [82091, 0, "l"], - [82092, 0, "e"], - [82093, 0, "m"], - [82094, 0, ":"], - [78436, 0, " "], - [78437, 0, "M"], - [78438, 0, "o"], - [78439, 0, "r"], - [78440, 0, "e"], - [78441, 0, "o"], - [78442, 0, "v"], - [78443, 0, "e"], - [78444, 0, "r"], - [78445, 0, ","], - [78446, 0, " "], - [78447, 0, "$"], - [78448, 0, "j"], - [78448, 1], - [78448, 0, "k"], - [78449, 0, "_"], - [78450, 0, "j"], - [78451, 0, "$"], - [78452, 0, " "], - [78453, 0, "a"], - [78454, 0, "p"], - [78455, 0, "p"], - [78456, 0, "e"], - [78457, 0, "a"], - [78458, 0, "r"], - [78459, 0, "s"], - [78460, 0, " "], - [78461, 0, "\\"], - [78462, 0, "e"], - [78463, 0, "m"], - [78464, 0, "p"], - [78465, 0, "h"], - [78466, 0, "{"], - [78467, 0, "i"], - [78468, 0, "m"], - [78469, 0, "m"], - [78470, 0, "e"], - [78471, 0, "d"], - [78472, 0, "i"], - [78473, 0, "a"], - [78474, 0, "t"], - [78475, 0, "e"], - [78476, 0, "l"], - [78477, 0, "y"], - [78478, 0, " "], - [78479, 0, "a"], - [78480, 0, "f"], - [78481, 0, "t"], - [78482, 0, "e"], - [78483, 0, "r"], - [78484, 0, "}"], - [78467, 0, "a"], - [78468, 0, "p"], - [78469, 0, "p"], - [78470, 0, "e"], - [78471, 0, "a"], - [78472, 0, "r"], - [78472, 1], - [78471, 1], - [78470, 1], - [78469, 1], - [78468, 1], - [78467, 1], - [78485, 0, " "], - [78486, 0, "$"], - [78487, 0, "k"], - [78488, 0, "_"], - [78489, 0, "1"], - [78490, 0, "$"], - [78491, 0, " "], - [78492, 0, "i"], - [78493, 0, "f"], - [78494, 0, " "], - [78495, 0, "t"], - [78496, 0, "h"], - [78497, 0, "a"], - [78498, 0, "t"], - [78499, 0, " "], - [78500, 0, "s"], - [78501, 0, "e"], - [78502, 0, "q"], - [78503, 0, "u"], - [78504, 0, "e"], - [78505, 0, "n"], - [78506, 0, "c"], - [78507, 0, "e"], - [78508, 0, " "], - [78509, 0, "i"], - [78510, 0, "s"], - [78511, 0, " "], - [78512, 0, "e"], - [78513, 0, "m"], - [78514, 0, "p"], - [78515, 0, "t"], - [78516, 0, "y"], - [78517, 0, ","], - [78518, 0, " "], - [78519, 0, "i"], - [78520, 0, "."], - [78521, 0, "e"], - [78522, 0, "."], - [78523, 0, " "], - [78524, 0, "$"], - [78525, 0, "\\"], - [78526, 0, "m"], - [78527, 0, "a"], - [78528, 0, "t"], - [78529, 0, "h"], - [78530, 0, "i"], - [78531, 0, "t"], - [78532, 0, "{"], - [78533, 0, "c"], - [78534, 0, "t"], - [78535, 0, "x"], - [78536, 0, "}"], - [78537, 0, "("], - [78538, 0, "\\"], - [78539, 0, "m"], - [78540, 0, "a"], - [78541, 0, "t"], - [78542, 0, "h"], - [78543, 0, "s"], - [78544, 0, "f"], - [78545, 0, "{"], - [78546, 0, "n"], - [78547, 0, "e"], - [78548, 0, "x"], - [78549, 0, "t"], - [78550, 0, "}"], - [78551, 0, ")"], - [78551, 1], - [78551, 0, "("], - [78552, 0, "k"], - [78553, 0, "_"], - [78554, 0, "1"], - [78555, 0, ")"], - [78556, 0, ")"], - [78557, 0, "$"], - [78557, 1], - [78557, 0, " "], - [78558, 0, "="], - [78559, 0, " "], - [78560, 0, "k"], - [78561, 0, "_"], - [78562, 0, "j"], - [78563, 0, "$"], - [78564, 0, "."], - [78523, 0, " "], - [78524, 0, "i"], - [78525, 0, "f"], - [78446, 0, " "], - [78447, 0, "w"], - [78448, 0, "e"], - [78449, 0, " "], - [78450, 0, "s"], - [78451, 0, "a"], - [78452, 0, "y"], - [81737, 0, "\n"], - [81738, 0, "\n"], - [81739, 0, "\\"], - [81740, 0, "e"], - [81740, 1], - [81740, 0, "b"], - [81741, 0, "e"], - [81742, 0, "g"], - [81743, 0, "i"], - [81744, 0, "n"], - [81745, 0, "{"], - [81746, 0, "d"], - [81747, 0, "e"], - [81748, 0, "f"], - [81749, 0, "i"], - [81750, 0, "n"], - [81751, 0, "i"], - [81752, 0, "t"], - [81753, 0, "i"], - [81754, 0, "o"], - [81755, 0, "n"], - [81756, 0, "}"], - [81757, 0, "["], - [81758, 0, "c"], - [81759, 0, "o"], - [81760, 0, "m"], - [81761, 0, "m"], - [81762, 0, "a"], - [81763, 0, "n"], - [81763, 1], - [81762, 1], - [81762, 0, "o"], - [81763, 0, "n"], - [81764, 0, " "], - [81765, 0, "a"], - [81766, 0, "n"], - [81767, 0, "c"], - [81768, 0, "e"], - [81769, 0, "s"], - [81770, 0, "t"], - [81771, 0, "o"], - [81772, 0, "r"], - [81773, 0, "]"], - [81774, 0, "\\"], - [81775, 0, "l"], - [81776, 0, "a"], - [81777, 0, "b"], - [81778, 0, "e"], - [81779, 0, "l"], - [81780, 0, "{"], - [81781, 0, "d"], - [81782, 0, "e"], - [81783, 0, "f"], - [81784, 0, ":"], - [81785, 0, "c"], - [81786, 0, "o"], - [81787, 0, "m"], - [81788, 0, "m"], - [81789, 0, "o"], - [81790, 0, "n"], - [81791, 0, "-"], - [81792, 0, "a"], - [81793, 0, "n"], - [81794, 0, "c"], - [81795, 0, "e"], - [81796, 0, "s"], - [81797, 0, "t"], - [81798, 0, "o"], - [81799, 0, "r"], - [81800, 0, "}"], - [81801, 0, "\n"], - [81802, 0, "\\"], - [81803, 0, "e"], - [81804, 0, "n"], - [81805, 0, "d"], - [81806, 0, "{"], - [81807, 0, "d"], - [81808, 0, "e"], - [81809, 0, "f"], - [81810, 0, "i"], - [81811, 0, "n"], - [81812, 0, "i"], - [81813, 0, "t"], - [81814, 0, "i"], - [81815, 0, "o"], - [81816, 0, "n"], - [81817, 0, "}"], - [81801, 0, "\n"], - [81802, 0, "I"], - [81803, 0, "n"], - [81804, 0, " "], - [81805, 0, "a"], - [81806, 0, " "], - [81807, 0, "h"], - [81808, 0, "i"], - [81809, 0, "s"], - [81810, 0, "t"], - [81811, 0, "o"], - [81812, 0, "r"], - [81813, 0, "y"], - [81814, 0, " "], - [81815, 0, "$"], - [81816, 0, "H"], - [81817, 0, "$"], - [81818, 0, ","], - [81819, 0, " "], - [81820, 0, "t"], - [81821, 0, "h"], - [81822, 0, "e"], - [81823, 0, " "], - [81824, 0, "\\"], - [81825, 0, "e"], - [81826, 0, "m"], - [81827, 0, "p"], - [81828, 0, "h"], - [81829, 0, "{"], - [81830, 0, "c"], - [81831, 0, "o"], - [81832, 0, "m"], - [81833, 0, "m"], - [81834, 0, "o"], - [81835, 0, "n"], - [81836, 0, " "], - [81837, 0, "a"], - [81838, 0, "n"], - [81839, 0, "c"], - [81840, 0, "e"], - [81841, 0, "s"], - [81842, 0, "t"], - [81843, 0, "o"], - [81844, 0, "r"], - [81845, 0, "}"], - [81846, 0, " "], - [81847, 0, "o"], - [81848, 0, "f"], - [81849, 0, " "], - [81850, 0, "t"], - [81851, 0, "w"], - [81852, 0, "o"], - [81853, 0, " "], - [81854, 0, "o"], - [81855, 0, "p"], - [81856, 0, "e"], - [81857, 0, "r"], - [81858, 0, "a"], - [81859, 0, "t"], - [81860, 0, "i"], - [81861, 0, "o"], - [81862, 0, "n"], - [81863, 0, "s"], - [81864, 0, " "], - [81865, 0, "$"], - [81866, 0, "o"], - [81867, 0, "_"], - [81868, 0, "1"], - [81869, 0, "$"], - [81870, 0, " "], - [81871, 0, "a"], - [81872, 0, "n"], - [81873, 0, "d"], - [81874, 0, " "], - [81875, 0, "$"], - [81876, 0, "o"], - [81877, 0, "_"], - [81878, 0, "2"], - [81879, 0, "$"], - [81880, 0, "%"], - [81880, 1], - [81880, 0, " "], - [81881, 0, "i"], - [81882, 0, "s"], - [81883, 0, " "], - [81884, 0, "t"], - [81885, 0, "h"], - [81886, 0, "e"], - [81887, 0, " "], - [81888, 0, "l"], - [81888, 1], - [81888, 0, "d"], - [81889, 0, "o"], - [81890, 0, "c"], - [81891, 0, "u"], - [81892, 0, "m"], - [81893, 0, "e"], - [81894, 0, "n"], - [81895, 0, "t"], - [81896, 0, " "], - [81897, 0, "s"], - [81898, 0, "t"], - [81899, 0, "a"], - [81900, 0, "t"], - [81901, 0, "e"], - [81902, 0, " "], - [81903, 0, "t"], - [81904, 0, "h"], - [81905, 0, "a"], - [81906, 0, "t"], - [81907, 0, " "], - [81888, 0, "m"], - [81888, 1], - [81888, 0, "l"], - [81889, 0, "a"], - [81890, 0, "t"], - [81891, 0, "e"], - [81892, 0, "s"], - [81893, 0, "t"], - [81894, 0, " "], - [81915, 0, "c"], - [81916, 0, "a"], - [81917, 0, "u"], - [81918, 0, "s"], - [81919, 0, "a"], - [81920, 0, "l"], - [81921, 0, "l"], - [81922, 0, "y"], - [81923, 0, " "], - [81924, 0, "p"], - [81925, 0, "r"], - [81926, 0, "e"], - [81927, 0, "c"], - [81928, 0, "e"], - [81929, 0, "d"], - [81930, 0, "e"], - [81931, 0, "s"], - [81932, 0, " "], - [81933, 0, "b"], - [81934, 0, "o"], - [81935, 0, "t"], - [81936, 0, "h"], - [81937, 0, " "], - [81938, 0, "$"], - [81939, 0, "o"], - [81940, 0, "_"], - [81941, 0, "1"], - [81942, 0, "$"], - [81943, 0, " "], - [81944, 0, "a"], - [81945, 0, "n"], - [81946, 0, "d"], - [81947, 0, " "], - [81948, 0, "$"], - [81949, 0, "o"], - [81950, 0, "_"], - [81951, 0, "2"], - [81952, 0, "$"], - [81953, 0, "."], - [81972, 0, "\n"], - [81973, 0, "\n"], - [81973, 0, "T"], - [81974, 0, "h"], - [81975, 0, "e"], - [81976, 0, " "], - [81977, 0, "c"], - [81978, 0, "o"], - [81979, 0, "m"], - [81980, 0, "m"], - [81981, 0, "o"], - [81982, 0, "n"], - [81983, 0, " "], - [81984, 0, "a"], - [81985, 0, "n"], - [81986, 0, "c"], - [81987, 0, "e"], - [81988, 0, "s"], - [81989, 0, "t"], - [81990, 0, "o"], - [81991, 0, "r"], - [81992, 0, " "], - [81993, 0, "c"], - [81994, 0, "a"], - [81995, 0, "n"], - [81996, 0, " "], - [81997, 0, "b"], - [81998, 0, "e"], - [81999, 0, " "], - [82000, 0, "d"], - [82001, 0, "e"], - [82002, 0, "f"], - [82003, 0, "i"], - [82004, 0, "n"], - [82005, 0, "e"], - [82006, 0, "d"], - [82007, 0, " "], - [82008, 0, "m"], - [82009, 0, "o"], - [82010, 0, "r"], - [82011, 0, "e"], - [82012, 0, " "], - [82013, 0, "f"], - [82014, 0, "o"], - [82015, 0, "r"], - [82016, 0, "m"], - [82017, 0, "a"], - [82018, 0, "l"], - [82019, 0, "l"], - [82020, 0, "y"], - [82021, 0, " "], - [82022, 0, "a"], - [82023, 0, "s"], - [82024, 0, " "], - [82025, 0, "t"], - [82026, 0, "h"], - [82027, 0, "e"], - [82028, 0, " "], - [82029, 0, "d"], - [82030, 0, "o"], - [82031, 0, "c"], - [82032, 0, "u"], - [82033, 0, "m"], - [82034, 0, "e"], - [82035, 0, "n"], - [82036, 0, "t"], - [82037, 0, " "], - [82038, 0, "s"], - [82039, 0, "t"], - [82040, 0, "a"], - [82041, 0, "t"], - [82042, 0, "e"], - [82043, 0, " "], - [82044, 0, "r"], - [82045, 0, "e"], - [82046, 0, "s"], - [82047, 0, "u"], - [82048, 0, "l"], - [82049, 0, "t"], - [82050, 0, "i"], - [82051, 0, "n"], - [82052, 0, "g"], - [82053, 0, " "], - [82054, 0, "f"], - [82055, 0, "r"], - [82056, 0, "o"], - [82057, 0, "m"], - [82058, 0, " "], - [82059, 0, "a"], - [82060, 0, "p"], - [82061, 0, "p"], - [82062, 0, "l"], - [82063, 0, "y"], - [82064, 0, "i"], - [82065, 0, "n"], - [82066, 0, "g"], - [82067, 0, " "], - [82068, 0, "a"], - [82069, 0, " "], - [82070, 0, "p"], - [82071, 0, "r"], - [82072, 0, "e"], - [82073, 0, "f"], - [82074, 0, "i"], - [82075, 0, "x"], - [82076, 0, " "], - [82077, 0, "o"], - [82078, 0, "f"], - [82079, 0, " "], - [82080, 0, "o"], - [82081, 0, "p"], - [82082, 0, "e"], - [82083, 0, "r"], - [82084, 0, "a"], - [82085, 0, "t"], - [82086, 0, "i"], - [82087, 0, "o"], - [82088, 0, "n"], - [82089, 0, "s"], - [82090, 0, " "], - [82091, 0, "i"], - [82092, 0, "n"], - [82093, 0, " "], - [82094, 0, "$"], - [82095, 0, "H"], - [82096, 0, "$"], - [82078, 1], - [82077, 1], - [82076, 1], - [82075, 1], - [82074, 1], - [82073, 1], - [82072, 1], - [82071, 1], - [82070, 1], - [82070, 0, "s"], - [82071, 0, "e"], - [82072, 0, "q"], - [82073, 0, "u"], - [82074, 0, "e"], - [82075, 0, "n"], - [82076, 0, "c"], - [82077, 0, "e"], - [82078, 0, " "], - [82079, 0, "o"], - [82080, 0, "f"], - [82093, 1], - [82093, 1], - [82093, 0, "t"], - [82094, 0, "h"], - [82094, 1], - [82093, 1], - [82092, 1], - [82092, 0, ","], - [82093, 0, " "], - [82094, 0, "n"], - [82095, 0, "a"], - [82096, 0, "m"], - [82097, 0, "e"], - [82098, 0, "l"], - [82099, 0, "y"], - [82100, 0, " "], - [82101, 0, "t"], - [82102, 0, "h"], - [82103, 0, "e"], - [82104, 0, " "], - [82105, 0, "s"], - [82106, 0, "h"], - [82107, 0, "o"], - [82108, 0, "r"], - [82109, 0, "t"], - [82110, 0, "e"], - [82111, 0, "s"], - [82112, 0, "t"], - [82113, 0, " "], - [82114, 0, "p"], - [82115, 0, "r"], - [82116, 0, "e"], - [82117, 0, "f"], - [82118, 0, "i"], - [82119, 0, "x"], - [82120, 0, " "], - [82121, 0, "o"], - [82122, 0, "f"], - [82127, 0, " "], - [82128, 0, "t"], - [82129, 0, "h"], - [82130, 0, "a"], - [82131, 0, "t"], - [82132, 0, " "], - [82133, 0, "s"], - [82134, 0, "a"], - [82135, 0, "t"], - [82136, 0, "i"], - [82137, 0, "s"], - [82138, 0, "f"], - [82139, 0, "i"], - [82140, 0, "e"], - [82141, 0, "s"], - [82142, 0, " "], - [81992, 0, " "], - [81993, 0, "o"], - [81994, 0, "f"], - [81995, 0, " "], - [81996, 0, "$"], - [81997, 0, "O"], - [81997, 1], - [81997, 0, "o"], - [81998, 0, "_"], - [81999, 0, "1"], - [82000, 0, "$"], - [82001, 0, " "], - [82002, 0, "a"], - [82003, 0, "n"], - [82004, 0, "d"], - [82005, 0, " "], - [82006, 0, "$"], - [82007, 0, "o"], - [82008, 0, "_"], - [82009, 0, "2"], - [82010, 0, "$"], - [81868, 1], - [81868, 0, "r"], - [81878, 1], - [81878, 0, "s"], - [81941, 1], - [81941, 0, "r"], - [81951, 1], - [81951, 0, "s"], - [82009, 1], - [82009, 0, "s"], - [81999, 1], - [81999, 0, "r"], - [81868, 1], - [81868, 0, "s"], - [81878, 1], - [81878, 0, "t"], - [81878, 1], - [81878, 0, "s"], - [81868, 1], - [81868, 0, "r"], - [82111, 0, " "], - [82112, 0, "$"], - [82113, 0, "\\"], - [82114, 0, "a"], - [82114, 1], - [82114, 0, "l"], - [82115, 0, "a"], - [82116, 0, "n"], - [82117, 0, "g"], - [82118, 0, "l"], - [82119, 0, "e"], - [82120, 0, " "], - [82121, 0, "o"], - [82122, 0, "_"], - [82123, 0, "1"], - [82124, 0, ","], - [82125, 0, " "], - [82126, 0, "\\"], - [82127, 0, "d"], - [82128, 0, "o"], - [82129, 0, "t"], - [82130, 0, "s"], - [82131, 0, ","], - [82132, 0, " "], - [82133, 0, "o"], - [82134, 0, "_"], - [82135, 0, "j"], - [82136, 0, " "], - [82137, 0, "\\"], - [82138, 0, "r"], - [82139, 0, "a"], - [82140, 0, "n"], - [82141, 0, "g"], - [82142, 0, "l"], - [82143, 0, "e"], - [82144, 0, "$"], - [82145, 1], - [82146, 1], - [82146, 1], - [82146, 1], - [82146, 1], - [82146, 1], - [82146, 1], - [82146, 0, "t"], - [82147, 0, "h"], - [82148, 0, "a"], - [82149, 0, "t"], - [82150, 0, " "], - [82151, 0, "i"], - [82152, 0, "s"], - [82196, 0, "$"], - [82197, 0, "("], - [82198, 0, "o"], - [82199, 0, "_"], - [82200, 0, "r"], - [82201, 0, "."], - [82202, 0, "\\"], - [82203, 0, "m"], - [82204, 0, "a"], - [82205, 0, "t"], - [82206, 0, "h"], - [82207, 0, "i"], - [82208, 0, "t"], - [82209, 0, "{"], - [82210, 0, "d"], - [82211, 0, "e"], - [82212, 0, "p"], - [82213, 0, "s"], - [82214, 0, "}"], - [82215, 0, " "], - [82216, 0, "\\"], - [82217, 0, "c"], - [82218, 0, "u"], - [82219, 0, "p"], - [82220, 0, " "], - [82221, 0, "o"], - [82222, 0, "_"], - [82223, 0, "s"], - [82224, 0, "\\"], - [82225, 0, "."], - [82226, 0, "m"], - [82227, 0, "a"], - [82228, 0, "t"], - [82229, 0, "h"], - [82230, 0, "i"], - [82231, 0, "t"], - [82232, 0, "{"], - [82233, 0, "d"], - [82234, 0, "e"], - [82235, 0, "p"], - [82236, 0, "s"], - [82237, 0, "}"], - [82238, 0, ")"], - [82239, 0, " "], - [82240, 0, "\\"], - [82241, 0, "s"], - [82242, 0, "u"], - [82243, 0, "b"], - [82244, 0, "s"], - [82245, 0, "e"], - [82246, 0, "t"], - [82247, 0, "e"], - [82248, 0, "q"], - [82249, 0, " "], - [82250, 0, "\\"], - [82251, 0, "{"], - [82252, 0, "o"], - [82253, 0, "_"], - [82254, 0, "1"], - [82255, 0, "."], - [82256, 0, "\\"], - [82257, 0, "m"], - [82258, 0, "a"], - [82259, 0, "t"], - [82260, 0, "h"], - [82261, 0, "i"], - [82262, 0, "t"], - [82263, 0, "{"], - [82264, 0, "i"], - [82265, 0, "d"], - [82266, 0, "}"], - [82267, 0, ","], - [82268, 0, " "], - [82269, 0, "\\"], - [82270, 0, "d"], - [82271, 0, "o"], - [82272, 0, "t"], - [82273, 0, "s"], - [82274, 0, ","], - [82275, 0, " "], - [82276, 0, "o"], - [82277, 0, "_"], - [82278, 0, "j"], - [82279, 0, "."], - [82280, 0, "\\"], - [82281, 0, "m"], - [82282, 0, "a"], - [82283, 0, "t"], - [82284, 0, "h"], - [82285, 0, "i"], - [82286, 0, "t"], - [82287, 0, "{"], - [82288, 0, "i"], - [82289, 0, "d"], - [82290, 0, "}"], - [82291, 0, "\\"], - [82292, 0, "}"], - [82293, 0, "$"], - [82294, 0, "."], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [83103, 1], - [82224, 0, "."], - [82226, 1], - [82327, 1], - [82327, 0, "-"], - [82219, 1], - [82218, 1], - [82217, 1], - [82217, 0, "c"], - [82218, 0, "a"], - [82219, 0, "p"], - [81853, 0, " "], - [81854, 0, "c"], - [81855, 0, "o"], - [81856, 0, "n"], - [81857, 0, "c"], - [81858, 0, "u"], - [81859, 0, "r"], - [81860, 0, "r"], - [81861, 0, "e"], - [81862, 0, "n"], - [81863, 0, "t"], - [82307, 0, "\n"], - [82308, 0, "\n"], - [82308, 0, "\\"], - [82309, 0, "b"], - [82310, 0, "e"], - [82311, 0, "g"], - [82312, 0, "i"], - [82313, 0, "n"], - [82314, 0, "{"], - [82315, 0, "d"], - [82316, 0, "e"], - [82317, 0, "f"], - [82318, 0, "i"], - [82319, 0, "n"], - [82320, 0, "i"], - [82321, 0, "t"], - [82322, 0, "i"], - [82323, 0, "o"], - [82324, 0, "n"], - [82325, 0, "}"], - [82326, 0, "["], - [82327, 0, "i"], - [82328, 0, "n"], - [82329, 0, "s"], - [82330, 0, "e"], - [82331, 0, "r"], - [82332, 0, "t"], - [82333, 0, "i"], - [82334, 0, "o"], - [82335, 0, "n"], - [82336, 0, " "], - [82337, 0, "i"], - [82338, 0, "n"], - [82339, 0, "t"], - [82340, 0, "e"], - [82341, 0, "r"], - [82342, 0, "v"], - [82343, 0, "a"], - [82344, 0, "l"], - [82345, 0, "\n"], - [82345, 1], - [82345, 0, "]"], - [82346, 0, "\\"], - [82347, 0, "l"], - [82348, 0, "a"], - [82349, 0, "b"], - [82350, 0, "e"], - [82351, 0, "l"], - [82352, 0, "{"], - [82353, 0, "d"], - [82354, 0, "e"], - [82355, 0, "f"], - [82356, 0, ":"], - [82357, 0, "i"], - [82358, 0, "n"], - [82359, 0, "s"], - [82360, 0, "e"], - [82361, 0, "r"], - [82362, 0, "t"], - [82363, 0, "-"], - [82364, 0, "i"], - [82365, 0, "n"], - [82366, 0, "t"], - [82367, 0, "e"], - [82368, 0, "r"], - [82369, 0, "v"], - [82370, 0, "a"], - [82371, 0, "l"], - [82372, 0, "}"], - [82373, 0, "\n"], - [82374, 0, "\\"], - [82375, 0, "e"], - [82376, 0, "n"], - [82377, 0, "d"], - [82378, 0, "{"], - [82379, 0, "d"], - [82380, 0, "e"], - [82381, 0, "f"], - [82382, 0, "i"], - [82383, 0, "n"], - [82384, 0, "i"], - [82385, 0, "t"], - [82386, 0, "i"], - [82387, 0, "o"], - [82388, 0, "n"], - [82389, 0, "}"], - [82374, 0, "\n"], - [82374, 0, "T"], - [82374, 1], - [82374, 0, "G"], - [82375, 0, "i"], - [82376, 0, "v"], - [82377, 0, "e"], - [82378, 0, "n"], - [82379, 0, " "], - [82380, 0, "t"], - [82381, 0, "w"], - [82382, 0, "o"], - [82383, 0, " "], - [82384, 0, "i"], - [82385, 0, "n"], - [82386, 0, "s"], - [82387, 0, "e"], - [82388, 0, "r"], - [82389, 0, "t"], - [82389, 1], - [82388, 1], - [82387, 1], - [82386, 1], - [82385, 1], - [82384, 1], - [82384, 0, "o"], - [82385, 0, "p"], - [82386, 0, "e"], - [82387, 0, "r"], - [82388, 0, "a"], - [82389, 0, "t"], - [82390, 0, "i"], - [82391, 0, "o"], - [82392, 0, "n"], - [82393, 0, "s"], - [82394, 0, " "], - [82395, 0, "$"], - [82396, 0, "o"], - [82397, 0, "_"], - [82398, 0, "r"], - [82399, 0, "$"], - [82400, 0, " "], - [82401, 0, "a"], - [82402, 0, "n"], - [82403, 0, "d"], - [82404, 0, " "], - [82405, 0, "$"], - [82406, 0, "o"], - [82407, 0, "_"], - [82408, 0, "s"], - [82409, 0, "$"], - [82410, 0, " "], - [82411, 0, "t"], - [82412, 0, "h"], - [82413, 0, "a"], - [82414, 0, "t"], - [82415, 0, " "], - [82416, 0, "i"], - [82417, 0, "n"], - [82418, 0, "s"], - [82419, 0, "e"], - [82420, 0, "r"], - [82421, 0, "t"], - [82422, 0, " "], - [82423, 0, "i"], - [82424, 0, "n"], - [82425, 0, "t"], - [82426, 0, "o"], - [82427, 0, " "], - [82428, 0, "t"], - [82429, 0, "h"], - [82430, 0, "e"], - [82431, 0, " "], - [82432, 0, "s"], - [82433, 0, "a"], - [82434, 0, "m"], - [82435, 0, "e"], - [82436, 0, " "], - [82437, 0, "l"], - [82438, 0, "i"], - [82439, 0, "s"], - [82440, 0, "t"], - [82441, 0, ","], - [82442, 0, " "], - [82443, 0, "t"], - [82444, 0, "h"], - [82445, 0, "e"], - [82446, 0, " "], - [82447, 0, "\\"], - [82448, 0, "e"], - [82449, 0, "m"], - [82450, 0, "p"], - [82451, 0, "h"], - [82452, 0, "{"], - [82453, 0, "i"], - [82454, 0, "n"], - [82455, 0, "s"], - [82456, 0, "e"], - [82457, 0, "r"], - [82458, 0, "t"], - [82459, 0, "i"], - [82460, 0, "o"], - [82461, 0, "n"], - [82462, 0, " "], - [82463, 0, "i"], - [82464, 0, "n"], - [82465, 0, "t"], - [82466, 0, "e"], - [82467, 0, "r"], - [82468, 0, "v"], - [82469, 0, "a"], - [82470, 0, "l"], - [82471, 0, "}"], - [82472, 0, " "], - [82473, 0, "o"], - [82474, 0, "f"], - [82475, 0, " "], - [82476, 0, "t"], - [82477, 0, "h"], - [82477, 1], - [82476, 1], - [82476, 0, "$"], - [82477, 0, "o"], - [82478, 0, "_"], - [82479, 0, "r"], - [82480, 0, "$"], - [82481, 0, " "], - [82482, 0, "i"], - [82483, 0, "s"], - [82484, 0, " "], - [82485, 0, "t"], - [82486, 0, "h"], - [82487, 0, "e"], - [82488, 0, " "], - [82489, 0, "p"], - [82490, 0, "a"], - [82491, 0, "i"], - [82492, 0, "r"], - [82493, 0, " "], - [82494, 0, "o"], - [82495, 0, "f"], - [82496, 0, " "], - [82497, 0, "k"], - [82498, 0, "e"], - [82499, 0, "y"], - [82500, 0, "s"], - [82501, 0, " "], - [82502, 0, "$"], - [82503, 0, "("], - [82504, 0, "k"], - [82505, 0, "_"], - [82506, 0, "r"], - [82507, 0, "^"], - [82508, 0, "\\"], - [82509, 0, "m"], - [82510, 0, "a"], - [82511, 0, "t"], - [82512, 0, "h"], - [82513, 0, "i"], - [82514, 0, "t"], - [82515, 0, "{"], - [82516, 0, "b"], - [82517, 0, "e"], - [82518, 0, "f"], - [82519, 0, "o"], - [82520, 0, "r"], - [82521, 0, "e"], - [82522, 0, "}"], - [82523, 0, ","], - [82524, 0, " "], - [82525, 0, "k"], - [82526, 0, "_"], - [82527, 0, "r"], - [82528, 0, "&"], - [82528, 1], - [82528, 0, "^"], - [82529, 0, "\\"], - [82530, 0, "m"], - [82531, 0, "a"], - [82532, 0, "t"], - [82533, 0, "h"], - [82534, 0, "i"], - [82535, 0, "t"], - [82536, 0, "{"], - [82537, 0, "a"], - [82538, 0, "f"], - [82539, 0, "t"], - [82540, 0, "e"], - [82541, 0, "r"], - [82542, 0, "}"], - [82543, 0, ")"], - [82544, 0, "$"], - [82535, 1], - [82534, 1], - [82534, 0, "r"], - [82535, 0, "m"], - [82514, 1], - [82513, 1], - [82513, 0, "r"], - [82514, 0, "m"], - [82545, 0, " "], - [82383, 0, " "], - [82384, 0, "c"], - [82385, 0, "o"], - [82386, 0, "n"], - [82387, 0, "c"], - [82388, 0, "u"], - [82389, 0, "r"], - [82390, 0, "r"], - [82391, 0, "e"], - [82392, 0, "n"], - [82393, 0, "t"], - [82557, 0, "s"], - [82558, 0, "u"], - [82559, 0, "c"], - [82560, 0, "h"], - [82561, 0, " "], - [82562, 0, "t"], - [82563, 0, "h"], - [82564, 0, "a"], - [82565, 0, "t"], - [82566, 0, " "], - [82567, 0, "$"], - [82568, 0, "k"], - [82569, 0, "_"], - [82570, 0, "r"], - [82571, 0, "&"], - [82571, 1], - [82571, 0, "^"], - [82572, 0, "\\"], - [82573, 0, "m"], - [82574, 0, "a"], - [82575, 0, "t"], - [82576, 0, "h"], - [82577, 0, "i"], - [82577, 1], - [82577, 0, "r"], - [82578, 0, "m"], - [82579, 0, "{"], - [82580, 0, "b"], - [82581, 0, "e"], - [82582, 0, "f"], - [82583, 0, "o"], - [82584, 0, "r"], - [82585, 0, "e"], - [82586, 0, "}"], - [82587, 0, "$"], - [82566, 0, " "], - [82567, 0, "$"], - [82568, 0, "o"], - [82569, 0, "_"], - [82570, 0, "r"], - [82571, 0, "."], - [82572, 0, "\\"], - [82573, 0, "m"], - [82574, 0, "a"], - [82575, 0, "t"], - [82576, 0, "h"], - [82577, 0, "i"], - [82578, 0, "t"], - [82579, 0, "{"], - [82580, 0, "i"], - [82581, 0, "d"], - [82582, 0, "}"], - [82583, 0, "$"], - [82584, 0, " "], - [82585, 0, "a"], - [82586, 0, "p"], - [82587, 0, "p"], - [82588, 0, "e"], - [82589, 0, "a"], - [82590, 0, "r"], - [82591, 0, "s"], - [82592, 0, " "], - [82593, 0, "a"], - [82594, 0, "f"], - [82595, 0, "t"], - [82596, 0, "e"], - [82597, 0, "r"], - [82620, 0, " "], - [82621, 0, "w"], - [82622, 0, "h"], - [82623, 0, "e"], - [82624, 0, "n"], - [82625, 0, " "], - [82626, 0, "$"], - [82627, 0, "o"], - [82628, 0, "_"], - [82629, 0, "r"], - [82630, 0, "$"], - [82631, 0, " "], - [82632, 0, "h"], - [82633, 0, "a"], - [82634, 0, "s"], - [82635, 0, " "], - [82636, 0, "b"], - [82637, 0, "e"], - [82638, 0, "e"], - [82639, 0, "n"], - [82640, 0, " "], - [82641, 0, "a"], - [82642, 0, "p"], - [82643, 0, "p"], - [82644, 0, "l"], - [82645, 0, "i"], - [82646, 0, "e"], - [82647, 0, "d"], - [82648, 0, ","], - [82649, 0, " "], - [82650, 0, "$"], - [82651, 0, "k"], - [82652, 0, "_"], - [82653, 0, "r"], - [82654, 0, "&"], - [82654, 1], - [82654, 0, "^"], - [82655, 0, "\\"], - [82656, 0, "m"], - [82657, 0, "a"], - [82658, 0, "t"], - [82659, 0, "h"], - [82660, 0, "r"], - [82661, 0, "m"], - [82662, 0, "{"], - [82663, 0, "a"], - [82664, 0, "f"], - [82665, 0, "t"], - [82666, 0, "e"], - [82667, 0, "r"], - [82668, 0, "}"], - [82669, 0, "$"], - [82670, 0, " "], - [82671, 0, "a"], - [82672, 0, "p"], - [82673, 0, "p"], - [82674, 0, "e"], - [82675, 0, "a"], - [82676, 0, "r"], - [82677, 0, "s"], - [82678, 0, " "], - [82679, 0, "a"], - [82680, 0, "f"], - [82681, 0, "t"], - [82682, 0, "e"], - [82683, 0, "r"], - [82684, 0, " "], - [82685, 0, "$"], - [82686, 0, "k"], - [82687, 0, "_"], - [82687, 1], - [82686, 1], - [82686, 0, "o"], - [82687, 0, "_"], - [82688, 0, "r"], - [82689, 0, "."], - [82690, 0, "\\"], - [82691, 0, "m"], - [82692, 0, "a"], - [82693, 0, "t"], - [82694, 0, "h"], - [82695, 0, "i"], - [82696, 0, "t"], - [82697, 0, "{"], - [82698, 0, "i"], - [82699, 0, "d"], - [82700, 0, "}"], - [82701, 0, "$"], - [82702, 0, " "], - [82703, 0, "a"], - [82703, 1], - [82703, 0, "w"], - [82704, 0, "h"], - [82705, 0, "e"], - [82706, 0, "n"], - [82707, 0, " "], - [82708, 0, "$"], - [82709, 0, "o"], - [82710, 0, "_"], - [82711, 0, "r"], - [82712, 0, "$"], - [82713, 0, " "], - [82714, 0, "h"], - [82715, 0, "a"], - [82716, 0, "s"], - [82717, 0, " "], - [82718, 0, "b"], - [82719, 0, "e"], - [82720, 0, "e"], - [82721, 0, "n"], - [82722, 0, " "], - [82723, 0, "a"], - [82724, 0, "p"], - [82725, 0, "p"], - [82726, 0, "l"], - [82727, 0, "i"], - [82728, 0, "e"], - [82729, 0, "d"], - [82730, 0, ","], - [82731, 0, " "], - [82732, 0, "a"], - [82733, 0, "n"], - [82734, 0, "d"], - [82735, 0, " "], - [82736, 0, "$"], - [82737, 0, "k"], - [82738, 0, "_"], - [82739, 0, "r"], - [82740, 0, "^"], - [82741, 0, "\\"], - [82742, 0, "m"], - [82743, 0, "a"], - [82744, 0, "t"], - [82745, 0, "h"], - [82746, 0, "r"], - [82747, 0, "m"], - [82748, 0, "{"], - [82749, 0, "a"], - [82750, 0, "f"], - [82751, 0, "t"], - [82752, 0, "e"], - [82753, 0, "r"], - [82754, 0, "}"], - [82755, 0, " "], - [82756, 0, "a"], - [82757, 0, "p"], - [82758, 0, "p"], - [82759, 0, "e"], - [82760, 0, "a"], - [82761, 0, "r"], - [82762, 0, "s"], - [82763, 0, " "], - [82764, 0, "i"], - [82765, 0, "m"], - [82766, 0, "m"], - [82767, 0, "e"], - [82768, 0, "d"], - [82769, 0, "i"], - [82770, 0, "a"], - [82771, 0, "t"], - [82772, 0, "e"], - [82773, 0, "l"], - [82774, 0, "y"], - [82775, 0, " "], - [82776, 0, "a"], - [82777, 0, "f"], - [82778, 0, "t"], - [82779, 0, "e"], - [82780, 0, "r"], - [82781, 0, " "], - [82782, 0, "$"], - [82783, 0, "k"], - [82784, 0, "_"], - [82785, 0, "r"], - [82786, 0, "&"], - [82786, 1], - [82786, 0, "^"], - [82787, 0, "\\"], - [82788, 0, "m"], - [82789, 0, "a"], - [82790, 0, "t"], - [82791, 0, "h"], - [82792, 0, "r"], - [82793, 0, "m"], - [82794, 0, "{"], - [82795, 0, "b"], - [82796, 0, "e"], - [82797, 0, "f"], - [82798, 0, "o"], - [82799, 0, "r"], - [82800, 0, "e"], - [82801, 0, "}"], - [82802, 0, "$"], - [82755, 0, "$"], - [82804, 0, " "], - [82805, 0, "i"], - [82806, 0, "n"], - [82807, 0, " "], - [82808, 0, "t"], - [82809, 0, "h"], - [82810, 0, "e"], - [82811, 0, " "], - [82812, 0, "c"], - [82813, 0, "o"], - [82814, 0, "m"], - [82815, 0, "m"], - [82816, 0, "o"], - [82817, 0, "n"], - [82818, 0, " "], - [82819, 0, "a"], - [82820, 0, "n"], - [82821, 0, "c"], - [82822, 0, "e"], - [82823, 0, "s"], - [82824, 0, "t"], - [82825, 0, "o"], - [82826, 0, "r"], - [82827, 0, " "], - [82828, 0, "o"], - [82829, 0, "f"], - [82830, 0, " "], - [82831, 0, "$"], - [82832, 0, "o"], - [82833, 0, "_"], - [82834, 0, "r"], - [82835, 0, "$"], - [82836, 0, " "], - [82837, 0, "a"], - [82838, 0, "n"], - [82839, 0, "d"], - [82840, 0, " "], - [82841, 0, "$"], - [82842, 0, "o"], - [82843, 0, "_"], - [82844, 0, "s"], - [82845, 0, "$"], - [82846, 0, "."], - [82847, 0, " "], - [82848, 0, "T"], - [82849, 0, "h"], - [82850, 0, "e"], - [82851, 0, " "], - [82852, 0, "i"], - [82853, 0, "n"], - [82854, 0, "s"], - [82855, 0, "e"], - [82856, 0, "r"], - [82857, 0, "t"], - [82858, 0, "i"], - [82859, 0, "o"], - [82860, 0, "n"], - [82861, 0, " "], - [82862, 0, "i"], - [82863, 0, "n"], - [82864, 0, "t"], - [82865, 0, "e"], - [82866, 0, "r"], - [82867, 0, "v"], - [82868, 0, "a"], - [82869, 0, "l"], - [82870, 0, " "], - [82871, 0, "o"], - [82872, 0, "f"], - [82873, 0, " "], - [82874, 0, "$"], - [82875, 0, "o"], - [82876, 0, "_"], - [82877, 0, "s"], - [82878, 0, "$"], - [82879, 0, " "], - [82880, 0, "i"], - [82881, 0, "s"], - [82882, 0, " "], - [82883, 0, "t"], - [82884, 0, "h"], - [82885, 0, "e"], - [82886, 0, " "], - [82887, 0, "p"], - [82888, 0, "a"], - [82889, 0, "i"], - [82890, 0, "r"], - [82891, 0, " "], - [82892, 0, "o"], - [82893, 0, "f"], - [82894, 0, " "], - [82895, 0, "k"], - [82896, 0, "e"], - [82897, 0, "y"], - [82898, 0, "s"], - [82899, 0, " "], - [82900, 0, "$"], - [82901, 0, "("], - [82902, 0, "k"], - [82903, 0, "_"], - [82904, 0, "s"], - [82905, 0, "^"], - [82906, 0, "\\"], - [82907, 0, "m"], - [82908, 0, "a"], - [82909, 0, "t"], - [82910, 0, "h"], - [82911, 0, "r"], - [82912, 0, "m"], - [82913, 0, "{"], - [82914, 0, "b"], - [82915, 0, "e"], - [82916, 0, "f"], - [82917, 0, "o"], - [82918, 0, "r"], - [82919, 0, "e"], - [82920, 0, "}"], - [82921, 0, ","], - [82922, 0, " "], - [82923, 0, "k"], - [82924, 0, "_"], - [82925, 0, "s"], - [82926, 0, "^"], - [82927, 0, "\\"], - [82928, 0, "m"], - [82929, 0, "a"], - [82930, 0, "t"], - [82931, 0, "h"], - [82932, 0, "r"], - [82933, 0, "m"], - [82934, 0, "{"], - [82935, 0, "a"], - [82936, 0, "f"], - [82937, 0, "t"], - [82938, 0, "e"], - [82939, 0, "r"], - [82940, 0, "}"], - [82941, 0, ")"], - [82942, 0, "$"], - [82943, 0, " "], - [82944, 0, "d"], - [82945, 0, "e"], - [82946, 0, "f"], - [82947, 0, "i"], - [82948, 0, "n"], - [82949, 0, "e"], - [82950, 0, "d"], - [82951, 0, " "], - [82952, 0, "a"], - [82953, 0, "l"], - [82953, 1], - [82952, 1], - [82952, 0, "s"], - [82953, 0, "i"], - [82954, 0, "m"], - [82955, 0, "i"], - [82956, 0, "l"], - [82957, 0, "a"], - [82958, 0, "r"], - [82959, 0, "l"], - [82960, 0, "y"], - [82961, 0, "."], - [82980, 0, "\n"], - [82981, 0, "\n"], - [82981, 0, "I"], - [82982, 0, "f"], - [82983, 0, " "], - [82983, 1], - [82982, 1], - [82982, 0, "t"], - [82983, 0, " "], - [82984, 0, "m"], - [82985, 0, "a"], - [82986, 0, "y"], - [82987, 0, " "], - [82988, 0, "b"], - [82989, 0, "e"], - [82990, 0, " "], - [82991, 0, "t"], - [82992, 0, "h"], - [82993, 0, "e"], - [82994, 0, " "], - [82995, 0, "c"], - [82996, 0, "a"], - [82997, 0, "s"], - [82998, 0, "e"], - [82999, 0, " "], - [83000, 0, "t"], - [83001, 0, "h"], - [83002, 0, "a"], - [83003, 0, "t"], - [83004, 0, " "], - [83005, 0, "$"], - [83006, 0, "K"], - [83006, 1], - [83006, 0, "k"], - [83007, 0, "_"], - [83008, 0, "r"], - [83009, 0, "^"], - [83010, 0, "\\"], - [83011, 0, "m"], - [83012, 0, "a"], - [83013, 0, "t"], - [83014, 0, "h"], - [83015, 0, "r"], - [83016, 0, "m"], - [83017, 0, "{"], - [83018, 0, "b"], - [83019, 0, "e"], - [83020, 0, "f"], - [83021, 0, "o"], - [83022, 0, "r"], - [83023, 0, "e"], - [83024, 0, "}"], - [83025, 0, "$"], - [83026, 0, " "], - [83027, 0, "o"], - [83028, 0, "r"], - [83029, 0, " "], - [83030, 0, "$"], - [83031, 0, "k"], - [83032, 0, "_"], - [83033, 0, "s"], - [83034, 0, "^"], - [83035, 0, "\\"], - [83036, 0, "b"], - [83037, 0, "e"], - [83037, 1], - [83036, 1], - [83036, 0, "m"], - [83037, 0, "a"], - [83038, 0, "t"], - [83039, 0, "h"], - [83040, 0, "r"], - [83041, 0, "m"], - [83042, 0, "{"], - [83043, 0, "b"], - [83044, 0, "e"], - [83045, 0, "f"], - [83046, 0, "o"], - [83047, 0, "r"], - [83048, 0, "e"], - [83049, 0, "}"], - [83050, 0, "$"], - [83051, 0, " "], - [83052, 0, "i"], - [83053, 0, "s"], - [83054, 0, " "], - [83055, 0, "\\"], - [83055, 1], - [83055, 0, "$"], - [83056, 0, "\\"], - [83056, 1], - [83055, 1], - [83055, 0, "\\"], - [83056, 0, "t"], - [83057, 0, "e"], - [83058, 0, "x"], - [83059, 0, "t"], - [83060, 0, "s"], - [83061, 0, "f"], - [83062, 0, "{"], - [83063, 0, "h"], - [83064, 0, "e"], - [83065, 0, "a"], - [83066, 0, "d"], - [83067, 0, "}"], - [83068, 0, " "], - [83068, 1], - [83068, 0, ","], - [83069, 0, " "], - [83070, 0, "a"], - [83071, 0, "n"], - [83072, 0, "d"], - [83073, 0, " "], - [83074, 0, "t"], - [83075, 0, "h"], - [83076, 0, "a"], - [83077, 0, "t"], - [83078, 0, " "], - [83079, 0, "$"], - [83080, 0, "k"], - [83081, 0, "_"], - [83082, 0, "r"], - [83083, 0, "^"], - [83084, 0, "\\"], - [83085, 0, "m"], - [83086, 0, "a"], - [83087, 0, "t"], - [83088, 0, "h"], - [83089, 0, "r"], - [83090, 0, "m"], - [83091, 0, "{"], - [83092, 0, "a"], - [83093, 0, "f"], - [83094, 0, "t"], - [83095, 0, "e"], - [83096, 0, "r"], - [83097, 0, "}"], - [83098, 0, "$"], - [83099, 0, " "], - [83100, 0, "o"], - [83101, 0, "r"], - [83102, 0, " "], - [83103, 0, "$"], - [83104, 0, "\\"], - [83105, 0, "k"], - [83105, 1], - [83104, 1], - [83104, 0, "k"], - [83105, 0, "_"], - [83106, 0, "s"], - [83107, 0, "^"], - [83108, 0, "\\"], - [83109, 0, "m"], - [83110, 0, "a"], - [83111, 0, "t"], - [83112, 0, "h"], - [83113, 0, "r"], - [83114, 0, "m"], - [83115, 0, "{"], - [83116, 0, "a"], - [83117, 0, "f"], - [83118, 0, "t"], - [83119, 0, "e"], - [83120, 0, "r"], - [83121, 0, "}"], - [83122, 0, "$"], - [83123, 0, " "], - [83124, 0, "i"], - [83125, 0, "s"], - [83126, 0, " "], - [83127, 0, "'"], - [83127, 1], - [83127, 0, "\\"], - [83128, 0, "t"], - [83129, 0, "e"], - [83130, 0, "x"], - [83131, 0, "t"], - [83132, 0, "s"], - [83133, 0, "f"], - [83134, 0, "{"], - [83135, 0, "t"], - [83136, 0, "a"], - [83137, 0, "i"], - [83138, 0, "l"], - [83139, 0, "}"], - [83140, 0, "."], - [83141, 0, " "], - [83142, 0, "i"], - [83142, 1], - [83142, 0, "I"], - [83143, 0, "n"], - [83144, 0, " "], - [83145, 0, "p"], - [83146, 0, "a"], - [83147, 0, "r"], - [83148, 0, "t"], - [83149, 0, "i"], - [83150, 0, "c"], - [83151, 0, "u"], - [83152, 0, "l"], - [83153, 0, "a"], - [83154, 0, "r"], - [83155, 0, ","], - [83156, 0, " "], - [83157, 0, "t"], - [83158, 0, "h"], - [83159, 0, "i"], - [83160, 0, "s"], - [83161, 0, " "], - [83162, 0, "i"], - [83163, 0, "s"], - [83164, 0, " "], - [83165, 0, "t"], - [83166, 0, "h"], - [83167, 0, "e"], - [83168, 0, " "], - [83169, 0, "c"], - [83170, 0, "a"], - [83171, 0, "s"], - [83172, 0, "e"], - [83173, 0, " "], - [83174, 0, "i"], - [83175, 0, "f"], - [83176, 0, " "], - [83177, 0, "$"], - [83178, 0, "o"], - [83179, 0, "_"], - [83180, 0, "r"], - [83181, 0, "$"], - [83182, 0, " "], - [83183, 0, "a"], - [83184, 0, "n"], - [83185, 0, "d"], - [83186, 0, " "], - [83187, 0, "$"], - [83188, 0, "o"], - [83189, 0, "_"], - [83190, 0, "s"], - [83191, 0, "$"], - [83192, 0, " "], - [83193, 0, "h"], - [83194, 0, "a"], - [83195, 0, "v"], - [83196, 0, "e"], - [83197, 0, " "], - [83198, 0, "n"], - [83199, 0, "o"], - [83200, 0, " "], - [83201, 0, "c"], - [83202, 0, "o"], - [83203, 0, "m"], - [83204, 0, "m"], - [83205, 0, "o"], - [83206, 0, "n"], - [83207, 0, " "], - [83208, 0, "c"], - [83209, 0, "a"], - [83210, 0, "u"], - [83211, 0, "s"], - [83212, 0, "a"], - [83213, 0, "l"], - [83214, 0, " "], - [83215, 0, "h"], - [83216, 0, "i"], - [83217, 0, "s"], - [83218, 0, "t"], - [83219, 0, "o"], - [83220, 0, "r"], - [83221, 0, "y"], - [83222, 0, ","], - [83223, 0, " "], - [83224, 0, "i"], - [83225, 0, "."], - [83226, 0, "e"], - [83227, 0, "."], - [83228, 0, " "], - [83229, 0, "i"], - [83230, 0, "f"], - [83231, 0, " "], - [83232, 0, "$"], - [83233, 0, "o"], - [83234, 0, "_"], - [83235, 0, "r"], - [83236, 0, "\\"], - [83236, 1], - [83236, 0, "."], - [83237, 0, "\\"], - [83238, 0, "m"], - [83239, 0, "a"], - [83240, 0, "t"], - [83241, 0, "h"], - [83242, 0, "i"], - [83243, 0, "t"], - [83244, 0, "{"], - [83245, 0, "d"], - [83246, 0, "e"], - [83247, 0, "p"], - [83248, 0, "s"], - [83249, 0, "}"], - [83250, 0, " "], - [83251, 0, "\\"], - [83252, 0, "c"], - [83253, 0, "a"], - [83254, 0, "p"], - [83255, 0, " "], - [83256, 0, "o"], - [83257, 0, "_"], - [83258, 0, "s"], - [83259, 0, "."], - [83260, 0, "\\"], - [83261, 0, "m"], - [83262, 0, "a"], - [83263, 0, "t"], - [83264, 0, "h"], - [83265, 0, "i"], - [83266, 0, "t"], - [83267, 0, "{"], - [83268, 0, "d"], - [83269, 0, "e"], - [83270, 0, "p"], - [83271, 0, "s"], - [83272, 0, "}"], - [83273, 0, " "], - [83274, 0, "="], - [83275, 0, " "], - [83276, 0, "\\"], - [83277, 0, "{"], - [83278, 0, "\\"], - [83279, 0, "}"], - [83280, 0, "$"], - [83281, 0, " "], - [83282, 0, "a"], - [83283, 0, "n"], - [83284, 0, "d"], - [83285, 0, " "], - [83286, 0, "s"], - [83287, 0, "o"], - [83288, 0, " "], - [83289, 0, "t"], - [83290, 0, "h"], - [83291, 0, "e"], - [83292, 0, " "], - [83293, 0, "c"], - [83294, 0, "o"], - [83295, 0, "m"], - [83296, 0, "m"], - [83297, 0, "o"], - [83298, 0, "n"], - [83299, 0, " "], - [83300, 0, "a"], - [83301, 0, "n"], - [83302, 0, "c"], - [83303, 0, "e"], - [83304, 0, "s"], - [83305, 0, "t"], - [83306, 0, "o"], - [83307, 0, "r"], - [83308, 0, " "], - [83309, 0, "i"], - [83310, 0, "s"], - [83311, 0, " "], - [83312, 0, "t"], - [83313, 0, "h"], - [83314, 0, "e"], - [83315, 0, " "], - [83316, 0, "e"], - [83317, 0, "m"], - [83318, 0, "p"], - [83319, 0, "t"], - [83320, 0, "y"], - [83321, 0, " "], - [83322, 0, "d"], - [83323, 0, "o"], - [83324, 0, "c"], - [83325, 0, "u"], - [83326, 0, "m"], - [83327, 0, "e"], - [83328, 0, "n"], - [83329, 0, "t"], - [83330, 0, "."], - [83154, 1], - [83153, 1], - [83152, 1], - [83151, 1], - [83150, 1], - [83149, 1], - [83148, 1], - [83147, 1], - [83146, 1], - [83145, 1], - [83144, 1], - [83143, 1], - [83142, 1], - [83142, 0, "F"], - [83143, 0, "o"], - [83144, 0, "r"], - [83145, 0, " "], - [83146, 0, "e"], - [83147, 0, "x"], - [83148, 0, "a"], - [83149, 0, "m"], - [83150, 0, "p"], - [83151, 0, "l"], - [83152, 0, "e"], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83142, 1], - [83141, 1], - [83206, 0, " "], - [83207, 0, "$"], - [83208, 0, "H"], - [83209, 0, "$"], - [83342, 0, "\n"], - [83343, 0, "G"], - [83344, 0, "i"], - [83345, 0, "v"], - [83346, 0, "e"], - [83347, 0, "n"], - [83348, 0, " "], - [83349, 0, "a"], - [83350, 0, "n"], - [83351, 0, "y"], - [83352, 0, " "], - [83353, 0, "t"], - [83354, 0, "w"], - [83355, 0, "o"], - [83356, 0, " "], - [83357, 0, "c"], - [83358, 0, "o"], - [83359, 0, "n"], - [83360, 0, "c"], - [83361, 0, "u"], - [83362, 0, "r"], - [83363, 0, "r"], - [83364, 0, "e"], - [83365, 0, "n"], - [83366, 0, "t"], - [83367, 0, " "], - [83368, 0, "i"], - [83369, 0, "n"], - [83370, 0, "s"], - [83371, 0, "e"], - [83372, 0, "r"], - [83373, 0, "t"], - [83374, 0, "i"], - [83375, 0, "o"], - [83376, 0, "n"], - [83377, 0, " "], - [83378, 0, "o"], - [83379, 0, "p"], - [83380, 0, "e"], - [83381, 0, "r"], - [83382, 0, "a"], - [83383, 0, "t"], - [83384, 0, "i"], - [83385, 0, "o"], - [83386, 0, "n"], - [83387, 0, "s"], - [83388, 0, " "], - [83389, 0, "i"], - [83390, 0, "n"], - [83391, 0, " "], - [83392, 0, "$"], - [83393, 0, "H"], - [83394, 0, "$"], - [83395, 0, ","], - [83396, 0, " "], - [83397, 0, "w"], - [83398, 0, "e"], - [83399, 0, " "], - [83400, 0, "m"], - [83401, 0, "u"], - [83402, 0, "s"], - [83403, 0, "t"], - [83404, 0, " "], - [83405, 0, "s"], - [83406, 0, "h"], - [83407, 0, "o"], - [83408, 0, "w"], - [83409, 0, " "], - [83410, 0, "t"], - [83411, 0, "h"], - [83412, 0, "a"], - [83413, 0, "t"], - [83414, 0, " "], - [83415, 0, "t"], - [83416, 0, "h"], - [83417, 0, "e"], - [83418, 0, " "], - [83419, 0, "d"], - [83420, 0, "o"], - [83421, 0, "c"], - [83422, 0, "u"], - [83423, 0, "m"], - [83424, 0, "e"], - [83388, 0, " "], - [83389, 0, "$"], - [83390, 0, "o"], - [83391, 0, "_"], - [83392, 0, "r"], - [83393, 0, ","], - [83394, 0, " "], - [83395, 0, "$"], - [83396, 0, "o"], - [83397, 0, "_"], - [83398, 0, "s"], - [83399, 0, "$"], - [83437, 0, "n"], - [83438, 0, "t"], - [83439, 0, " "], - [83440, 0, "s"], - [83441, 0, "t"], - [83442, 0, "a"], - [83443, 0, "t"], - [83444, 0, "e"], - [83445, 0, " "], - [83446, 0, "d"], - [83447, 0, "o"], - [83448, 0, "e"], - [83449, 0, "s"], - [83450, 0, " "], - [83451, 0, "n"], - [83452, 0, "o"], - [83453, 0, "t"], - [83454, 0, " "], - [83455, 0, "d"], - [83456, 0, "e"], - [83457, 0, "p"], - [83458, 0, "e"], - [83459, 0, "n"], - [83460, 0, "d"], - [83461, 0, " "], - [83462, 0, "o"], - [83463, 0, "n"], - [83464, 0, " "], - [83465, 0, "t"], - [83466, 0, "h"], - [83467, 0, "e"], - [83468, 0, " "], - [83469, 0, "o"], - [83470, 0, "r"], - [83471, 0, "d"], - [83472, 0, "e"], - [83473, 0, "r"], - [83474, 0, " "], - [83475, 0, "i"], - [83476, 0, "n"], - [83477, 0, " "], - [83478, 0, "w"], - [83479, 0, "h"], - [83480, 0, "i"], - [83481, 0, "c"], - [83482, 0, "h"], - [83483, 0, " "], - [83484, 0, "$"], - [83485, 0, "o"], - [83486, 0, "_"], - [83487, 0, "r"], - [83488, 0, "$"], - [83489, 0, " "], - [83490, 0, "a"], - [83491, 0, "n"], - [83492, 0, "d"], - [83493, 0, " "], - [83494, 0, "$"], - [83495, 0, "o"], - [83496, 0, "_"], - [83497, 0, "s"], - [83498, 0, "$"], - [83499, 0, " "], - [83500, 0, "a"], - [83501, 0, "r"], - [83502, 0, "e"], - [83503, 0, " "], - [83504, 0, "a"], - [83505, 0, "p"], - [83506, 0, "p"], - [83507, 0, "l"], - [83508, 0, "i"], - [83509, 0, "e"], - [83510, 0, "d"], - [83511, 0, "."], - [83512, 0, "\n"], - [83512, 0, "\n"], - [83513, 0, "\n"], - [83514, 0, "E"], - [83515, 0, "i"], - [83516, 0, "t"], - [83517, 0, "h"], - [83518, 0, "e"], - [83519, 0, "r"], - [83520, 0, " "], - [83521, 0, "$"], - [83522, 0, "o"], - [83523, 0, "_"], - [83524, 0, "r"], - [83525, 0, "$"], - [83526, 0, " "], - [83527, 0, "a"], - [83528, 0, "n"], - [83529, 0, "d"], - [83530, 0, " "], - [83531, 0, "$"], - [83532, 0, "o"], - [83533, 0, "_"], - [83534, 0, "s"], - [83535, 0, "$"], - [83536, 0, " "], - [83537, 0, "a"], - [83538, 0, "h"], - [83539, 0, "v"], - [83540, 0, "e"], - [83541, 0, " "], - [83541, 1], - [83540, 1], - [83539, 1], - [83538, 1], - [83537, 1], - [83537, 0, "h"], - [83538, 0, "a"], - [83539, 0, "v"], - [83540, 0, "e"], - [83541, 0, " "], - [83542, 0, "t"], - [83543, 0, "h"], - [83544, 0, "e"], - [83545, 0, " "], - [83546, 0, "s"], - [83547, 0, "a"], - [83548, 0, "m"], - [83549, 0, "e"], - [83550, 0, " "], - [83551, 0, "i"], - [83552, 0, "n"], - [83553, 0, "s"], - [83554, 0, "e"], - [83555, 0, "r"], - [83556, 0, "t"], - [83557, 0, "i"], - [83558, 0, "o"], - [83559, 0, "n"], - [83560, 0, " "], - [83561, 0, "i"], - [83562, 0, "n"], - [83563, 0, "t"], - [83564, 0, "e"], - [83565, 0, "r"], - [83566, 0, "v"], - [83567, 0, "a"], - [83568, 0, "l"], - [83569, 0, " "], - [83570, 0, "a"], - [83571, 0, "s"], - [83572, 0, " "], - [83573, 0, "d"], - [83573, 1], - [83573, 0, "d"], - [83574, 0, "e"], - [83575, 0, "f"], - [83576, 0, "i"], - [83577, 0, "n"], - [83578, 0, "e"], - [83579, 0, "d"], - [83580, 0, " "], - [83581, 0, "i"], - [83582, 0, "n"], - [83583, 0, " "], - [83584, 0, "D"], - [83585, 0, "e"], - [83586, 0, "f"], - [83587, 0, "i"], - [83588, 0, "n"], - [83589, 0, "i"], - [83590, 0, "t"], - [83591, 0, "i"], - [83592, 0, "o"], - [83593, 0, "n"], - [83594, 0, "~"], - [83595, 0, "\\"], - [83596, 0, "r"], - [83597, 0, "e"], - [83598, 0, "f"], - [83599, 0, "{"], - [83600, 0, "d"], - [83601, 0, "e"], - [83602, 0, "f"], - [83603, 0, ":"], - [83604, 0, "i"], - [83605, 0, "n"], - [83606, 0, "s"], - [83607, 0, "e"], - [83608, 0, "r"], - [83609, 0, "t"], - [83610, 0, "-"], - [83611, 0, "i"], - [83612, 0, "n"], - [83613, 0, "t"], - [83614, 0, "e"], - [83615, 0, "r"], - [83616, 0, "v"], - [83617, 0, "a"], - [83618, 0, "l"], - [83619, 0, "}"], - [83620, 0, ","], - [83621, 0, " "], - [83622, 0, "o"], - [83623, 0, "r"], - [83624, 0, " "], - [83625, 0, "t"], - [83626, 0, "h"], - [83627, 0, "e"], - [83628, 0, "y"], - [83629, 0, " "], - [83630, 0, "h"], - [83631, 0, "a"], - [83632, 0, "v"], - [83633, 0, "e"], - [83634, 0, " "], - [83635, 0, "d"], - [83636, 0, "i"], - [83637, 0, "f"], - [83638, 0, "f"], - [83639, 0, "e"], - [83640, 0, "r"], - [83641, 0, "e"], - [83642, 0, "n"], - [83643, 0, "t"], - [83644, 0, " "], - [83645, 0, "i"], - [83646, 0, "n"], - [83647, 0, "s"], - [83648, 0, "e"], - [83649, 0, "r"], - [83650, 0, "t"], - [83651, 0, "i"], - [83652, 0, "o"], - [83653, 0, "n"], - [83654, 0, " "], - [83655, 0, "i"], - [83656, 0, "n"], - [83657, 0, "t"], - [83658, 0, "e"], - [83659, 0, "r"], - [83660, 0, "v"], - [83661, 0, "a"], - [83662, 0, "l"], - [83663, 0, "s"], - [83664, 0, "."], - [83665, 0, " "], - [83666, 0, "I"], - [83667, 0, "f"], - [83668, 0, " "], - [83669, 0, "t"], - [83670, 0, "h"], - [83671, 0, "e"], - [83672, 0, " "], - [83673, 0, "i"], - [83674, 0, "n"], - [83675, 0, "s"], - [83676, 0, "e"], - [83677, 0, "r"], - [83678, 0, "t"], - [83679, 0, "i"], - [83680, 0, "o"], - [83681, 0, "n"], - [83682, 0, " "], - [83683, 0, "i"], - [83684, 0, "n"], - [83685, 0, "t"], - [83686, 0, "e"], - [83687, 0, "r"], - [83688, 0, "v"], - [83689, 0, "a"], - [83690, 0, "l"], - [83691, 0, "s"], - [83692, 0, " "], - [83693, 0, "a"], - [83694, 0, "r"], - [83695, 0, "e"], - [83696, 0, " "], - [83697, 0, "d"], - [83698, 0, "i"], - [83699, 0, "f"], - [83700, 0, "f"], - [83701, 0, "e"], - [83702, 0, "r"], - [83703, 0, "e"], - [83704, 0, "n"], - [83705, 0, "t"], - [83706, 0, ","], - [83707, 0, " "], - [83708, 0, "t"], - [83709, 0, "h"], - [83710, 0, "e"], - [83711, 0, "n"], - [83712, 0, " "], - [83713, 0, "b"], - [83714, 0, "y"], - [83715, 0, " "], - [83716, 0, "L"], - [83717, 0, "e"], - [83718, 0, "m"], - [83719, 0, "m"], - [83720, 0, "a"], - [83721, 0, "~"], - [83722, 0, "\\"], - [83723, 0, "r"], - [83724, 0, "e"], - [83725, 0, "f"], - [83726, 0, "{"], - [83727, 0, "l"], - [83728, 0, "e"], - [83729, 0, "m"], - [83730, 0, ":"], - [83731, 0, "i"], - [83732, 0, "n"], - [83733, 0, "s"], - [83734, 0, "e"], - [83735, 0, "r"], - [83736, 0, "t"], - [83737, 0, "-"], - [83738, 0, "b"], - [83739, 0, "e"], - [83740, 0, "t"], - [83741, 0, "w"], - [83742, 0, "e"], - [83743, 0, "e"], - [83744, 0, "n"], - [83745, 0, "}"], - [83746, 0, " "], - [83747, 0, "t"], - [83748, 0, "h"], - [83749, 0, "e"], - [83750, 0, " "], - [83751, 0, "o"], - [83752, 0, "p"], - [83753, 0, "e"], - [83754, 0, "r"], - [83755, 0, "a"], - [83756, 0, "t"], - [83757, 0, "i"], - [83758, 0, "o"], - [83759, 0, "n"], - [83760, 0, "s"], - [83761, 0, " "], - [83762, 0, "c"], - [83763, 0, "a"], - [83764, 0, "n"], - [83765, 0, "n"], - [83766, 0, "o"], - [83767, 0, "t"], - [83768, 0, " "], - [83769, 0, "a"], - [83770, 0, "f"], - [83771, 0, "f"], - [83772, 0, "e"], - [83773, 0, "c"], - [83774, 0, "t"], - [83775, 0, " "], - [83776, 0, "e"], - [83777, 0, "a"], - [83778, 0, "c"], - [83779, 0, "h"], - [83780, 0, " "], - [83781, 0, "o"], - [83782, 0, "t"], - [83783, 0, "h"], - [83784, 0, "e"], - [83785, 0, "r"], - [83786, 0, ","], - [83787, 0, " "], - [83788, 0, "a"], - [83789, 0, "n"], - [83790, 0, "d"], - [83791, 0, " "], - [83792, 0, "s"], - [83793, 0, "o"], - [83794, 0, " "], - [83795, 0, "t"], - [83796, 0, "h"], - [83797, 0, "e"], - [83798, 0, "y"], - [83799, 0, " "], - [83800, 0, "h"], - [83801, 0, "a"], - [83802, 0, "v"], - [83803, 0, "e"], - [83804, 0, " "], - [83805, 0, "t"], - [83806, 0, "h"], - [83807, 0, "e"], - [83808, 0, " "], - [83809, 0, "s"], - [83810, 0, "a"], - [83811, 0, "m"], - [83812, 0, "e"], - [83813, 0, " "], - [83814, 0, "e"], - [83815, 0, "f"], - [83816, 0, "f"], - [83817, 0, "e"], - [83818, 0, "c"], - [83819, 0, "t"], - [83820, 0, " "], - [83821, 0, "r"], - [83822, 0, "e"], - [83823, 0, "g"], - [83824, 0, "a"], - [83825, 0, "r"], - [83826, 0, "d"], - [83827, 0, "l"], - [83828, 0, "e"], - [83829, 0, "s"], - [83830, 0, "s"], - [83831, 0, " "], - [83832, 0, "o"], - [83833, 0, "f"], - [83834, 0, " "], - [83835, 0, "t"], - [83836, 0, "h"], - [83837, 0, "e"], - [83838, 0, "i"], - [83839, 0, "r"], - [83840, 0, " "], - [83841, 0, "o"], - [83842, 0, "r"], - [83843, 0, "d"], - [83844, 0, "e"], - [83845, 0, "r"], - [83846, 0, "."], - [83847, 0, " "], - [83848, 0, "F"], - [83849, 0, "o"], - [83850, 0, "r"], - [83851, 0, " "], - [83852, 0, "t"], - [83853, 0, "h"], - [83854, 0, "e"], - [83855, 0, " "], - [83856, 0, "r"], - [83857, 0, "e"], - [83858, 0, "s"], - [83859, 0, "t"], - [83859, 1], - [83858, 1], - [83857, 1], - [83856, 1], - [83855, 1], - [83854, 1], - [83853, 1], - [83852, 1], - [83851, 1], - [83850, 1], - [83849, 1], - [83848, 1], - [83848, 0, "A"], - [83848, 1], - [83848, 0, "S"], - [83849, 0, "o"], - [83850, 0, " "], - [83851, 0, "w"], - [83852, 0, "e"], - [83853, 0, " "], - [83854, 0, "n"], - [83855, 0, "e"], - [83856, 0, "e"], - [83857, 0, "d"], - [83858, 0, " "], - [83859, 0, "t"], - [83860, 0, "o"], - [83861, 0, " "], - [83862, 0, "o"], - [83863, 0, "n"], - [83864, 0, "l"], - [83865, 0, "y"], - [83866, 0, " "], - [83867, 0, "a"], - [83868, 0, "n"], - [83869, 0, "a"], - [83870, 0, "l"], - [83871, 0, "y"], - [83872, 0, "z"], - [83873, 0, "e"], - [83874, 0, " "], - [83875, 0, "t"], - [83876, 0, "h"], - [83877, 0, "e"], - [83878, 0, " "], - [83879, 0, "c"], - [83880, 0, "a"], - [83881, 0, "s"], - [83882, 0, "e"], - [83883, 0, " "], - [83884, 0, "i"], - [83885, 0, "n"], - [83886, 0, " "], - [83887, 0, "w"], - [83888, 0, "h"], - [83889, 0, "i"], - [83890, 0, "c"], - [83891, 0, "h"], - [83892, 0, " "], - [83893, 0, "t"], - [83894, 0, "h"], - [83895, 0, "e"], - [83896, 0, "y"], - [83897, 0, " "], - [83898, 0, "h"], - [83899, 0, "a"], - [83900, 0, "v"], - [83901, 0, "e"], - [83902, 0, " "], - [83903, 0, "t"], - [83904, 0, "h"], - [83905, 0, "e"], - [83906, 0, " "], - [83907, 0, "s"], - [83908, 0, "a"], - [83909, 0, "m"], - [83910, 0, "e"], - [83911, 0, " "], - [83912, 0, "i"], - [83913, 0, "n"], - [83914, 0, "s"], - [83915, 0, "e"], - [83916, 0, "r"], - [83917, 0, "t"], - [83918, 0, "i"], - [83919, 0, "o"], - [83920, 0, "n"], - [83921, 0, " "], - [83922, 0, "i"], - [83923, 0, "n"], - [83924, 0, "t"], - [83925, 0, "e"], - [83926, 0, "r"], - [83927, 0, "v"], - [83928, 0, "a"], - [83929, 0, "l"], - [83930, 0, " "], - [83931, 0, "$"], - [83932, 0, "("], - [83933, 0, "k"], - [83934, 0, "^"], - [83935, 0, "\\"], - [83936, 0, "m"], - [83937, 0, "a"], - [83938, 0, "t"], - [83939, 0, "h"], - [83940, 0, "r"], - [83941, 0, "m"], - [83942, 0, "{"], - [83943, 0, "b"], - [83944, 0, "e"], - [83945, 0, "f"], - [83946, 0, "o"], - [83947, 0, "r"], - [83948, 0, "e"], - [83949, 0, "}"], - [83950, 0, ","], - [83951, 0, " "], - [83952, 0, "k"], - [83953, 0, "&"], - [83954, 0, "^"], - [83954, 1], - [83953, 1], - [83953, 0, "^"], - [83954, 0, "\\"], - [83955, 0, "m"], - [83956, 0, "a"], - [83957, 0, "t"], - [83958, 0, "h"], - [83959, 0, "r"], - [83960, 0, "m"], - [83961, 0, "{"], - [83962, 0, "a"], - [83963, 0, "f"], - [83964, 0, "t"], - [83965, 0, "e"], - [83966, 0, "r"], - [83967, 0, "}"], - [83968, 0, ")"], - [83969, 0, "$"], - [83970, 0, "."], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [83973, 1], - [84461, 1], - [84460, 1], - [84459, 1], - [84458, 1], - [84457, 1], - [84456, 1], - [84455, 1], - [84454, 1], - [84453, 1], - [84452, 1], - [84451, 1], - [84450, 1], - [84449, 1], - [84448, 1], - [84447, 1], - [84446, 1], - [84445, 1], - [84444, 1], - [84443, 1], - [84442, 1], - [84441, 1], - [84440, 1], - [84439, 1], - [84438, 1], - [84437, 1], - [84436, 1], - [84435, 1], - [84434, 1], - [84433, 1], - [84432, 1], - [84431, 1], - [84430, 1], - [84429, 1], - [84428, 1], - [84427, 1], - [84426, 1], - [84425, 1], - [84424, 1], - [84423, 1], - [84422, 1], - [84421, 1], - [84420, 1], - [84419, 1], - [84418, 1], - [84417, 1], - [84416, 1], - [84415, 1], - [84414, 1], - [84413, 1], - [84412, 1], - [84411, 1], - [84410, 1], - [84409, 1], - [84408, 1], - [84407, 1], - [84406, 1], - [84405, 1], - [84404, 1], - [84403, 1], - [84402, 1], - [84401, 1], - [84400, 1], - [84399, 1], - [84398, 1], - [84397, 1], - [84396, 1], - [84395, 1], - [84394, 1], - [84393, 1], - [84392, 1], - [84391, 1], - [84390, 1], - [84389, 1], - [84388, 1], - [84387, 1], - [84386, 1], - [84385, 1], - [84384, 1], - [84383, 1], - [84382, 1], - [84381, 1], - [84380, 1], - [84379, 1], - [84378, 1], - [84377, 1], - [84376, 1], - [84375, 1], - [84374, 1], - [84373, 1], - [84372, 1], - [84371, 1], - [84370, 1], - [84369, 1], - [84368, 1], - [84367, 1], - [84366, 1], - [84365, 1], - [84364, 1], - [84363, 1], - [84362, 1], - [84361, 1], - [84360, 1], - [84359, 1], - [84358, 1], - [84357, 1], - [84356, 1], - [84355, 1], - [84354, 1], - [84353, 1], - [84352, 1], - [84351, 1], - [84350, 1], - [84349, 1], - [84348, 1], - [84347, 1], - [84346, 1], - [84345, 1], - [84344, 1], - [84343, 1], - [84342, 1], - [84341, 1], - [84340, 1], - [84339, 1], - [84338, 1], - [84337, 1], - [84336, 1], - [84335, 1], - [84334, 1], - [84333, 1], - [84332, 1], - [84331, 1], - [84330, 1], - [84329, 1], - [84328, 1], - [84327, 1], - [84326, 1], - [84325, 1], - [84324, 1], - [84323, 1], - [84322, 1], - [84321, 1], - [84320, 1], - [84319, 1], - [84318, 1], - [84317, 1], - [84316, 1], - [84315, 1], - [84314, 1], - [84313, 1], - [84312, 1], - [84311, 1], - [84310, 1], - [84309, 1], - [84308, 1], - [84307, 1], - [84306, 1], - [84305, 1], - [84304, 1], - [84303, 1], - [84302, 1], - [84301, 1], - [84300, 1], - [84299, 1], - [84298, 1], - [84297, 1], - [84296, 1], - [84295, 1], - [84294, 1], - [84293, 1], - [84292, 1], - [84291, 1], - [84290, 1], - [84289, 1], - [84288, 1], - [84287, 1], - [84286, 1], - [84285, 1], - [84284, 1], - [84283, 1], - [84282, 1], - [84281, 1], - [84280, 1], - [84279, 1], - [84278, 1], - [84277, 1], - [84276, 1], - [84275, 1], - [84274, 1], - [84273, 1], - [84272, 1], - [84271, 1], - [84270, 1], - [84269, 1], - [84268, 1], - [84267, 1], - [84266, 1], - [84265, 1], - [84264, 1], - [84263, 1], - [84262, 1], - [84261, 1], - [84260, 1], - [84259, 1], - [84258, 1], - [84257, 1], - [84256, 1], - [84255, 1], - [84254, 1], - [84253, 1], - [84252, 1], - [84251, 1], - [84250, 1], - [84249, 1], - [84248, 1], - [84247, 1], - [84246, 1], - [84245, 1], - [84244, 1], - [84243, 1], - [84242, 1], - [84241, 1], - [84240, 1], - [84239, 1], - [84238, 1], - [84237, 1], - [84236, 1], - [84235, 1], - [84234, 1], - [84233, 1], - [84232, 1], - [84231, 1], - [84230, 1], - [84229, 1], - [84228, 1], - [84227, 1], - [84226, 1], - [84225, 1], - [84224, 1], - [84223, 1], - [84222, 1], - [84221, 1], - [84220, 1], - [84219, 1], - [84218, 1], - [84217, 1], - [84216, 1], - [84215, 1], - [84214, 1], - [84213, 1], - [84212, 1], - [84211, 1], - [84210, 1], - [84209, 1], - [84208, 1], - [84207, 1], - [84206, 1], - [84205, 1], - [84204, 1], - [84203, 1], - [84202, 1], - [84201, 1], - [84200, 1], - [84199, 1], - [84198, 1], - [84197, 1], - [84196, 1], - [84195, 1], - [84194, 1], - [84193, 1], - [84192, 1], - [84191, 1], - [84190, 1], - [84189, 1], - [84188, 1], - [84187, 1], - [84186, 1], - [84185, 1], - [84184, 1], - [84183, 1], - [84182, 1], - [84181, 1], - [84180, 1], - [84179, 1], - [84178, 1], - [84177, 1], - [84176, 1], - [84175, 1], - [84174, 1], - [84173, 1], - [84172, 1], - [84171, 1], - [84170, 1], - [84169, 1], - [84168, 1], - [84167, 1], - [84166, 1], - [84165, 1], - [84164, 1], - [84163, 1], - [84162, 1], - [84161, 1], - [84160, 1], - [84159, 1], - [84158, 1], - [84157, 1], - [84156, 1], - [84155, 1], - [84154, 1], - [84153, 1], - [84152, 1], - [84151, 1], - [84150, 1], - [84149, 1], - [84148, 1], - [84147, 1], - [84146, 1], - [84145, 1], - [84144, 1], - [84143, 1], - [84142, 1], - [84141, 1], - [84140, 1], - [84139, 1], - [84138, 1], - [84137, 1], - [84136, 1], - [84135, 1], - [84134, 1], - [84133, 1], - [84132, 1], - [84131, 1], - [84130, 1], - [84129, 1], - [84128, 1], - [84127, 1], - [84126, 1], - [84125, 1], - [84124, 1], - [84123, 1], - [84122, 1], - [84121, 1], - [84120, 1], - [84119, 1], - [84118, 1], - [84117, 1], - [84116, 1], - [84115, 1], - [84114, 1], - [84113, 1], - [84112, 1], - [84111, 1], - [84110, 1], - [84109, 1], - [84108, 1], - [84107, 1], - [84106, 1], - [84105, 1], - [84104, 1], - [84103, 1], - [84102, 1], - [84101, 1], - [84100, 1], - [84099, 1], - [84098, 1], - [84097, 1], - [84096, 1], - [84095, 1], - [84094, 1], - [84093, 1], - [84092, 1], - [84091, 1], - [84090, 1], - [84089, 1], - [84088, 1], - [84087, 1], - [84086, 1], - [84085, 1], - [84084, 1], - [84083, 1], - [84082, 1], - [84081, 1], - [84080, 1], - [84079, 1], - [84078, 1], - [84077, 1], - [84076, 1], - [84075, 1], - [84074, 1], - [84073, 1], - [84072, 1], - [84071, 1], - [84070, 1], - [84069, 1], - [84068, 1], - [84067, 1], - [84066, 1], - [84065, 1], - [84064, 1], - [84063, 1], - [84062, 1], - [84061, 1], - [84060, 1], - [84059, 1], - [84058, 1], - [84057, 1], - [84056, 1], - [84055, 1], - [84054, 1], - [84053, 1], - [84052, 1], - [84051, 1], - [84050, 1], - [84049, 1], - [84048, 1], - [84047, 1], - [84046, 1], - [84045, 1], - [84044, 1], - [84043, 1], - [84042, 1], - [84041, 1], - [84040, 1], - [84039, 1], - [84038, 1], - [84037, 1], - [84036, 1], - [84035, 1], - [84034, 1], - [84033, 1], - [84032, 1], - [84031, 1], - [84030, 1], - [84029, 1], - [84028, 1], - [84027, 1], - [84026, 1], - [84025, 1], - [84024, 1], - [84023, 1], - [84022, 1], - [84021, 1], - [84020, 1], - [84019, 1], - [84018, 1], - [84017, 1], - [84016, 1], - [84015, 1], - [84014, 1], - [84013, 1], - [84012, 1], - [84011, 1], - [84010, 1], - [84009, 1], - [84008, 1], - [84007, 1], - [84006, 1], - [84005, 1], - [84004, 1], - [84003, 1], - [84002, 1], - [84001, 1], - [84000, 1], - [83999, 1], - [83998, 1], - [83997, 1], - [83996, 1], - [83995, 1], - [83994, 1], - [83993, 1], - [83992, 1], - [83991, 1], - [83990, 1], - [83989, 1], - [83988, 1], - [83987, 1], - [83986, 1], - [83985, 1], - [83984, 1], - [83983, 1], - [83982, 1], - [83981, 1], - [83980, 1], - [83979, 1], - [83978, 1], - [83977, 1], - [83976, 1], - [83975, 1], - [83974, 1], - [83973, 1], - [83973, 0, "W"], - [83974, 0, "e"], - [83975, 0, " "], - [83976, 0, "d"], - [83977, 0, "i"], - [83978, 0, "s"], - [83979, 0, "t"], - [83980, 0, "i"], - [83981, 0, "n"], - [83982, 0, "g"], - [83983, 0, "u"], - [83984, 0, "i"], - [83985, 0, "s"], - [83986, 0, "h"], - [83987, 0, " "], - [83988, 0, "f"], - [83989, 0, "o"], - [83990, 0, "u"], - [83991, 0, "r"], - [83992, 0, " "], - [83993, 0, "c"], - [83994, 0, "a"], - [83995, 0, "s"], - [83996, 0, "e"], - [83997, 0, "s"], - [83998, 0, ","], - [83999, 0, " "], - [84000, 0, "b"], - [84001, 0, "a"], - [84002, 0, "s"], - [84003, 0, "e"], - [84004, 0, "d"], - [84005, 0, " "], - [84006, 0, "o"], - [84007, 0, "n"], - [84008, 0, " "], - [84009, 0, "w"], - [84010, 0, "h"], - [84011, 0, "i"], - [84012, 0, "c"], - [84013, 0, "h"], - [84014, 0, " "], - [84015, 0, "o"], - [84016, 0, "f"], - [84017, 0, " "], - [84018, 0, "t"], - [84018, 1], - [84018, 0, "#"], - [84018, 1], - [84018, 0, "$"], - [84019, 0, "o"], - [84020, 0, "_"], - [84021, 0, "r"], - [84022, 0, "$"], - [84023, 0, " "], - [84024, 0, "a"], - [84025, 0, "n"], - [84026, 0, "d"], - [84027, 0, " "], - [84028, 0, "$"], - [84029, 0, "o"], - [84030, 0, "_"], - [84031, 0, "s"], - [84032, 0, "$"], - [84033, 0, " "], - [84034, 0, "h"], - [84035, 0, "a"], - [84036, 0, "s"], - [84037, 0, " "], - [84038, 0, "t"], - [84039, 0, "h"], - [84040, 0, "e"], - [84041, 0, " "], - [84042, 0, "g"], - [84043, 0, "r"], - [84044, 0, "e"], - [84045, 0, "a"], - [84046, 0, "t"], - [84047, 0, "e"], - [84048, 0, "r"], - [84049, 0, " "], - [84050, 0, "o"], - [84051, 0, "p"], - [84052, 0, "e"], - [84053, 0, "r"], - [84054, 0, "a"], - [84055, 0, "t"], - [84056, 0, "i"], - [84057, 0, "o"], - [84058, 0, "n"], - [84059, 0, " "], - [84060, 0, "I"], - [84061, 0, "D"], - [84062, 0, " "], - [84063, 0, "("], - [84064, 0, "l"], - [84065, 0, "a"], - [84066, 0, "m"], - [84067, 0, "p"], - [84068, 0, "o"], - [84068, 1], - [84067, 1], - [84066, 1], - [84065, 1], - [84064, 1], - [84064, 0, "L"], - [84065, 0, "a"], - [84066, 0, "m"], - [84067, 0, "p"], - [84068, 0, "o"], - [84069, 0, "r"], - [84070, 0, "t"], - [84071, 0, " "], - [84072, 0, "t"], - [84073, 0, "i"], - [84074, 0, "m"], - [84075, 0, "e"], - [84076, 0, "s"], - [84077, 0, "t"], - [84078, 0, "a"], - [84079, 0, "m"], - [84080, 0, "p"], - [84081, 0, ")"], - [84082, 0, ","], - [84083, 0, " "], - [84084, 0, "a"], - [84085, 0, "n"], - [84086, 0, "d"], - [84087, 0, " "], - [84088, 0, "w"], - [84089, 0, "h"], - [84090, 0, "i"], - [84091, 0, "c"], - [84092, 0, "h"], - [84093, 0, " "], - [84094, 0, "o"], - [84095, 0, "n"], - [84096, 0, "e"], - [84097, 0, " "], - [84098, 0, "f"], - [84099, 0, "o"], - [84100, 0, " "], - [84101, 0, "t"], - [84102, 0, "h"], - [84103, 0, "e"], - [84104, 0, " "], - [84104, 1], - [84103, 1], - [84102, 1], - [84101, 1], - [84100, 1], - [84099, 1], - [84098, 1], - [84098, 0, "o"], - [84099, 0, "f"], - [84100, 0, " "], - [84101, 0, "t"], - [84102, 0, "h"], - [84103, 0, "e"], - [84104, 0, " "], - [84105, 0, "t"], - [84106, 0, "w"], - [84107, 0, "o"], - [84108, 0, " "], - [84109, 0, "o"], - [84110, 0, "p"], - [84111, 0, "e"], - [84112, 0, "r"], - [84113, 0, "a"], - [84114, 0, "t"], - [84115, 0, "i"], - [84116, 0, "o"], - [84117, 0, "n"], - [84118, 0, "s"], - [84119, 0, " "], - [84120, 0, "i"], - [84121, 0, "s"], - [84122, 0, " "], - [84123, 0, "a"], - [84124, 0, "p"], - [84125, 0, "p"], - [84126, 0, "l"], - [84127, 0, "i"], - [84128, 0, "e"], - [84129, 0, "d"], - [84130, 0, " "], - [84131, 0, "f"], - [84132, 0, "i"], - [84133, 0, "r"], - [84134, 0, "s"], - [84135, 0, "t"], - [84136, 0, "."], - [84137, 0, " "], - [84138, 0, "W"], - [84139, 0, "e"], - [84140, 0, " "], - [84141, 0, "t"], - [84142, 0, "h"], - [84143, 0, "e"], - [84144, 0, "n"], - [84145, 0, " "], - [84146, 0, "s"], - [84147, 0, "h"], - [84148, 0, "o"], - [84149, 0, "w"], - [84150, 0, "s"], - [84151, 0, " "], - [84151, 1], - [84150, 1], - [84150, 0, " "], - [84151, 0, "t"], - [84152, 0, "h"], - [84153, 0, "a"], - [84154, 0, "t"], - [84155, 0, " "], - [84156, 0, "t"], - [84157, 0, "h"], - [84158, 0, "e"], - [84159, 0, " "], - [84160, 0, "f"], - [84161, 0, "i"], - [84162, 0, "n"], - [84163, 0, "a"], - [84164, 0, "l"], - [84165, 0, " "], - [84166, 0, "o"], - [84167, 0, "r"], - [84168, 0, "d"], - [84169, 0, "e"], - [84170, 0, "r"], - [84171, 0, " "], - [84172, 0, "o"], - [84173, 0, "f"], - [84174, 0, " "], - [84175, 0, "e"], - [84176, 0, "l"], - [84177, 0, "e"], - [84178, 0, "m"], - [84179, 0, "e"], - [84180, 0, "n"], - [84181, 0, "t"], - [84182, 0, "s"], - [84183, 0, " "], - [84184, 0, "i"], - [84185, 0, "n"], - [84186, 0, " "], - [84187, 0, "t"], - [84188, 0, "h"], - [84189, 0, "e"], - [84190, 0, " "], - [84191, 0, "l"], - [84192, 0, "i"], - [84193, 0, "s"], - [84194, 0, "t"], - [84195, 0, " "], - [84196, 0, "d"], - [84197, 0, "e"], - [84198, 0, "p"], - [84199, 0, "e"], - [84200, 0, "n"], - [84201, 0, "d"], - [84202, 0, "s"], - [84203, 0, " "], - [84204, 0, "o"], - [84205, 0, "n"], - [84206, 0, "l"], - [84207, 0, "y"], - [84208, 0, " "], - [84209, 0, "o"], - [84210, 0, "n"], - [84211, 0, " "], - [84212, 0, "t"], - [84213, 0, "h"], - [84214, 0, "e"], - [84215, 0, " "], - [84216, 0, "o"], - [84217, 0, "p"], - [84218, 0, "e"], - [84219, 0, "r"], - [84220, 0, "a"], - [84221, 0, "t"], - [84222, 0, "i"], - [84223, 0, "o"], - [84224, 0, "n"], - [84225, 0, " "], - [84226, 0, "I"], - [84227, 0, "D"], - [84228, 0, " "], - [84229, 0, "("], - [84230, 0, "w"], - [84231, 0, "h"], - [84232, 0, "i"], - [84233, 0, "c"], - [84234, 0, "h"], - [84235, 0, " "], - [84236, 0, "i"], - [84237, 0, "s"], - [84238, 0, " "], - [84239, 0, "t"], - [84240, 0, "h"], - [84241, 0, "e"], - [84242, 0, " "], - [84243, 0, "s"], - [84244, 0, "a"], - [84245, 0, "m"], - [84246, 0, "e"], - [84247, 0, " "], - [84248, 0, "o"], - [84249, 0, "n"], - [84250, 0, " "], - [84251, 0, "a"], - [84252, 0, "l"], - [84253, 0, "l"], - [84254, 0, "r"], - [84255, 0, " "], - [84255, 1], - [84254, 1], - [84254, 0, " "], - [84255, 0, "r"], - [84256, 0, "e"], - [84257, 0, "p"], - [84258, 0, "l"], - [84259, 0, "i"], - [84260, 0, "c"], - [84261, 0, "a"], - [84262, 0, "s"], - [84263, 0, ")"], - [84264, 0, ","], - [84265, 0, " "], - [84266, 0, "a"], - [84267, 0, "n"], - [84268, 0, "d"], - [84269, 0, " "], - [84270, 0, "n"], - [84271, 0, "o"], - [84272, 0, "t"], - [84273, 0, " "], - [84274, 0, "o"], - [84275, 0, "n"], - [84276, 0, " "], - [84277, 0, "t"], - [84278, 0, "h"], - [84279, 0, "e"], - [84280, 0, " "], - [84281, 0, "o"], - [84282, 0, "r"], - [84283, 0, "d"], - [84284, 0, "e"], - [84285, 0, "r"], - [84286, 0, " "], - [84287, 0, "i"], - [84288, 0, "n"], - [84289, 0, " "], - [84290, 0, "w"], - [84291, 0, "h"], - [84292, 0, "i"], - [84293, 0, "c"], - [84294, 0, "h"], - [84295, 0, " "], - [84296, 0, "t"], - [84297, 0, "h"], - [84298, 0, "e"], - [84299, 0, " "], - [84300, 0, "o"], - [84301, 0, "p"], - [84302, 0, "e"], - [84303, 0, "r"], - [84304, 0, "a"], - [84305, 0, "t"], - [84306, 0, "i"], - [84307, 0, "o"], - [84308, 0, "n"], - [84309, 0, "s"], - [84310, 0, " "], - [84311, 0, "a"], - [84312, 0, "r"], - [84313, 0, "e"], - [84314, 0, " "], - [84315, 0, "a"], - [84316, 0, "p"], - [84317, 0, "p"], - [84318, 0, "l"], - [84319, 0, "i"], - [84320, 0, "e"], - [84321, 0, "d"], - [84322, 0, "."], - [84323, 0, "\n"], - [84324, 0, "\n"], - [84325, 0, "\\"], - [84326, 0, "b"], - [84327, 0, "e"], - [84328, 0, "g"], - [84329, 0, "i"], - [84330, 0, "n"], - [84331, 0, "{"], - [84332, 0, "e"], - [84333, 0, "n"], - [84334, 0, "u"], - [84335, 0, "m"], - [84336, 0, "e"], - [84337, 0, "r"], - [84338, 0, "a"], - [84339, 0, "t"], - [84340, 0, "e"], - [84341, 0, "}"], - [84342, 0, "\n"], - [84343, 0, "\\"], - [84344, 0, "e"], - [84345, 0, "n"], - [84346, 0, "d"], - [84347, 0, "{"], - [84348, 0, "e"], - [84349, 0, "n"], - [84350, 0, "u"], - [84351, 0, "m"], - [84352, 0, "e"], - [84353, 0, "r"], - [84354, 0, "a"], - [84355, 0, "g"], - [84356, 0, "e"], - [84357, 0, "}"], - [84357, 1], - [84356, 1], - [84355, 1], - [84355, 0, "t"], - [84356, 0, "e"], - [84357, 0, "}"], - [84342, 0, "\n"], - [84343, 0, "\\"], - [84344, 0, "i"], - [84345, 0, "t"], - [84346, 0, "e"], - [84347, 0, "m"], - [84348, 0, " "], - [84349, 0, "x"], - [83395, 1], - [83971, 0, "\n"], - [83972, 0, "\n"], - [83972, 0, "W"], - [83973, 0, "i"], - [83974, 0, "t"], - [83975, 0, "h"], - [83976, 0, "o"], - [83977, 0, "u"], - [83978, 0, "t"], - [83979, 0, " "], - [83980, 0, "l"], - [83981, 0, "o"], - [83982, 0, "s"], - [83983, 0, "s"], - [83984, 0, " "], - [83985, 0, "o"], - [83986, 0, "f"], - [83987, 0, " "], - [83988, 0, "g"], - [83989, 0, "e"], - [83990, 0, "n"], - [83991, 0, "e"], - [83992, 0, "r"], - [83993, 0, "a"], - [83994, 0, "l"], - [83995, 0, "i"], - [83996, 0, "t"], - [83997, 0, "y"], - [83998, 0, ","], - [83999, 0, " "], - [84000, 0, "s"], - [84001, 0, "a"], - [84002, 0, "s"], - [84003, 0, "u"], - [84004, 0, "m"], - [84005, 0, "e"], - [84006, 0, " "], - [84007, 0, "t"], - [84008, 0, "h"], - [84000, 0, "a"], - [84002, 1], - [84009, 0, "a"], - [84010, 0, "t"], - [84011, 0, " "], - [84012, 0, "$"], - [84013, 0, "o"], - [84014, 0, "_"], - [84015, 0, "r"], - [84016, 0, "."], - [84017, 0, "\\"], - [84018, 0, "m"], - [84019, 0, "a"], - [84020, 0, "t"], - [84021, 0, "h"], - [84022, 0, "i"], - [84023, 0, "t"], - [84024, 0, "{"], - [84025, 0, "i"], - [84026, 0, "d"], - [84027, 0, "}"], - [84028, 0, " "], - [84029, 0, "<"], - [84030, 0, " "], - [84031, 0, "o"], - [84032, 0, "_"], - [84033, 0, "s"], - [84034, 0, "."], - [84035, 0, "\\"], - [84036, 0, "m"], - [84037, 0, "a"], - [84038, 0, "t"], - [84039, 0, "h"], - [84040, 0, "i"], - [84041, 0, "t"], - [84042, 0, "{"], - [84043, 0, "i"], - [84044, 0, "d"], - [84045, 0, "}"], - [84046, 0, "$"], - [84047, 0, " "], - [84048, 0, "a"], - [84049, 0, "c"], - [84050, 0, "c"], - [84051, 0, "o"], - [84052, 0, "r"], - [84053, 0, "d"], - [84054, 0, "i"], - [84055, 0, "n"], - [84056, 0, "g"], - [84057, 0, " "], - [84058, 0, "t"], - [84059, 0, "h"], - [84060, 0, "e"], - [84061, 0, " "], - [84061, 1], - [84060, 1], - [84059, 1], - [84059, 0, "o"], - [84060, 0, " "], - [84061, 0, "t"], - [84062, 0, "h"], - [84063, 0, "e"], - [84064, 0, " "], - [84065, 0, "o"], - [84066, 0, "r"], - [84067, 0, "d"], - [84068, 0, "e"], - [84069, 0, "r"], - [84070, 0, "i"], - [84071, 0, "n"], - [84072, 0, "g"], - [84073, 0, " "], - [84074, 0, "r"], - [84075, 0, "e"], - [84076, 0, "l"], - [84077, 0, "a"], - [84078, 0, "t"], - [84079, 0, "i"], - [84080, 0, "o"], - [84081, 0, "n"], - [84082, 0, " "], - [84083, 0, "o"], - [84084, 0, "n"], - [84085, 0, " "], - [84086, 0, "L"], - [84087, 0, "a"], - [84088, 0, "m"], - [84089, 0, "p"], - [84090, 0, "o"], - [84091, 0, "r"], - [84092, 0, "t"], - [84093, 0, " "], - [84094, 0, "t"], - [84095, 0, "i"], - [84096, 0, "m"], - [84097, 0, "e"], - [84098, 0, "s"], - [84099, 0, "t"], - [84100, 0, "a"], - [84101, 0, "m"], - [84102, 0, "p"], - [84103, 0, "s"], - [84104, 0, "."], - [84105, 0, " "], - [84106, 0, "("], - [84107, 0, "I"], - [84108, 0, "f"], - [84109, 0, " "], - [84110, 0, "t"], - [84111, 0, "h"], - [84112, 0, "e"], - [84113, 0, " "], - [84113, 1], - [84112, 1], - [84111, 1], - [84110, 1], - [84110, 0, "t"], - [84111, 0, "h"], - [84112, 0, "e"], - [84113, 0, " "], - [84114, 0, "o"], - [84115, 0, "p"], - [84116, 0, "e"], - [84117, 0, "r"], - [84118, 0, "a"], - [84119, 0, "t"], - [84120, 0, "i"], - [84121, 0, "o"], - [84122, 0, "n"], - [84123, 0, " "], - [84124, 0, "I"], - [84125, 0, "D"], - [84126, 0, " "], - [84127, 0, "o"], - [84128, 0, "f"], - [84129, 0, " "], - [84130, 0, "$"], - [84131, 0, "o"], - [84132, 0, "_"], - [84133, 0, "r"], - [84134, 0, "$"], - [84135, 0, " "], - [84136, 0, "w"], - [84137, 0, "e"], - [84138, 0, "r"], - [84139, 0, "e"], - [84140, 0, " "], - [84141, 0, "g"], - [84142, 0, "r"], - [84143, 0, "e"], - [84144, 0, "a"], - [84145, 0, "t"], - [84146, 0, "e"], - [84147, 0, "r"], - [84148, 0, ","], - [84149, 0, " "], - [84150, 0, "$"], - [84151, 0, "o"], - [84152, 0, "_"], - [84153, 0, "r"], - [84154, 0, "$"], - [84155, 0, " "], - [84156, 0, "a"], - [84157, 0, "n"], - [84158, 0, "d"], - [84159, 0, " "], - [84160, 0, "$"], - [84161, 0, "o"], - [84162, 0, "_"], - [84163, 0, "s"], - [84164, 0, "$"], - [84165, 0, " "], - [84166, 0, "c"], - [84167, 0, "o"], - [84168, 0, "u"], - [84169, 0, "l"], - [84170, 0, "d"], - [84171, 0, " "], - [84172, 0, "b"], - [84173, 0, "e"], - [84174, 0, " "], - [84175, 0, "s"], - [84176, 0, "w"], - [84177, 0, "a"], - [84178, 0, "p"], - [84179, 0, "p"], - [84180, 0, "e"], - [84181, 0, "d"], - [84182, 0, " "], - [84183, 0, "i"], - [84184, 0, "n"], - [84185, 0, " "], - [84186, 0, "t"], - [84187, 0, "h"], - [84188, 0, "i"], - [84189, 0, "s"], - [84190, 0, " "], - [84191, 0, "p"], - [84192, 0, "o"], - [84193, 0, "r"], - [84193, 1], - [84192, 1], - [84192, 0, "r"], - [84193, 0, "o"], - [84194, 0, "o"], - [84195, 0, "f"], - [84196, 0, "."], - [84197, 0, ")"], - [84198, 0, " "], - [84199, 0, "W"], - [84200, 0, "e"], - [84201, 0, " "], - [84202, 0, "n"], - [84203, 0, "o"], - [84204, 0, "w"], - [84205, 0, " "], - [84206, 0, "d"], - [84207, 0, "i"], - [84208, 0, "s"], - [84209, 0, "t"], - [84210, 0, "i"], - [84211, 0, "n"], - [84212, 0, "g"], - [84213, 0, "u"], - [84214, 0, "i"], - [84215, 0, "s"], - [84216, 0, "h"], - [84217, 0, " "], - [84218, 0, "t"], - [84219, 0, "w"], - [84220, 0, "o"], - [84221, 0, " "], - [84222, 0, "c"], - [84223, 0, "a"], - [84224, 0, "s"], - [84225, 0, "e"], - [84226, 0, "s"], - [84227, 0, ":"], - [84606, 1], - [84606, 0, "$"], - [84607, 0, "o"], - [84608, 0, "_"], - [84609, 0, "r"], - [84610, 0, "$"], - [84611, 0, " "], - [84612, 0, "i"], - [84613, 0, "s"], - [84614, 0, " "], - [84615, 0, "a"], - [84616, 0, "p"], - [84617, 0, "p"], - [84618, 0, "l"], - [84619, 0, "i"], - [84620, 0, "e"], - [84621, 0, "d"], - [84622, 0, " "], - [84623, 0, "b"], - [84624, 0, "e"], - [84625, 0, "f"], - [84626, 0, "o"], - [84627, 0, "r"], - [84628, 0, "e"], - [84629, 0, " "], - [84630, 0, "$"], - [84631, 0, "o"], - [84632, 0, "_"], - [84633, 0, "s"], - [84634, 0, "$"], - [84635, 0, " "], - [84636, 0, "i"], - [84637, 0, "n"], - [84638, 0, " "], - [84639, 0, "$"], - [84640, 0, "H"], - [84641, 0, "$"], - [84642, 0, "."], - [84643, 0, "\n"], - [84644, 0, "\\"], - [84645, 0, "i"], - [84646, 0, "t"], - [84647, 0, "e"], - [84648, 0, "m"], - [84649, 0, " "], - [84650, 0, "$"], - [84651, 0, "o"], - [84652, 0, "_"], - [84653, 0, "s"], - [84654, 0, "$"], - [84655, 0, " "], - [84656, 0, "i"], - [84657, 0, "s"], - [84658, 0, " "], - [84659, 0, "a"], - [84660, 0, "p"], - [84661, 0, "p"], - [84662, 0, "l"], - [84663, 0, "i"], - [84664, 0, "e"], - [84665, 0, "d"], - [84666, 0, " "], - [84667, 0, "b"], - [84668, 0, "e"], - [84669, 0, "f"], - [84670, 0, "o"], - [84671, 0, "r"], - [84672, 0, "e"], - [84673, 0, " "], - [84674, 0, "$"], - [84675, 0, "o"], - [84676, 0, "_"], - [84677, 0, "r"], - [84678, 0, "$"], - [84679, 0, " "], - [84680, 0, "i"], - [84681, 0, "n"], - [84682, 0, " "], - [84683, 0, "$"], - [84684, 0, "H"], - [84685, 0, "$"], - [84686, 0, "."], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84230, 1], - [84140, 0, "="], - [84140, 1], - [84139, 1], - [84138, 1], - [84137, 1], - [84136, 1], - [84136, 0, "i"], - [84137, 0, "s"], - [84168, 1], - [84167, 1], - [84166, 1], - [84165, 1], - [84165, 0, "a"], - [84166, 0, "n"], - [83860, 1], - [83859, 1], - [83858, 1], - [84143, 0, " "], - [84144, 0, "t"], - [84145, 0, "h"], - [84146, 0, "a"], - [84147, 0, "t"], - [84148, 0, "n"], - [84149, 0, " "], - [84150, 0, "$"], - [84150, 1], - [84149, 1], - [84148, 1], - [84147, 1], - [84147, 0, "n"], - [84148, 0, " "], - [84149, 0, "$"], - [84150, 0, "o"], - [84151, 0, "_"], - [84152, 0, "s"], - [84153, 0, "$"], - [84295, 0, " "], - [84296, 0, "T"], - [84297, 0, "h"], - [84298, 0, "u"], - [84299, 0, "s"], - [84300, 0, ","], - [84301, 0, " "], - [84302, 0, "w"], - [84303, 0, "h"], - [84304, 0, "e"], - [84305, 0, "n"], - [84306, 0, " "], - [84307, 0, "$"], - [84308, 0, "o"], - [84309, 0, "_"], - [84310, 0, "s"], - [84311, 0, "$"], - [84312, 0, " "], - [84313, 0, "i"], - [84314, 0, "s"], - [84315, 0, " "], - [84316, 0, "a"], - [84317, 0, "p"], - [84318, 0, "p"], - [84319, 0, "l"], - [84320, 0, "i"], - [84321, 0, "e"], - [84322, 0, "d"], - [84323, 0, ","], - [84324, 0, " "], - [84325, 0, "$"], - [84326, 0, "o"], - [84327, 0, "_"], - [84328, 0, "r"], - [84329, 0, "$"], - [84330, 0, " "], - [84331, 0, "a"], - [84332, 0, "n"], - [84333, 0, "d"], - [84334, 0, " "], - [84335, 0, "a"], - [84336, 0, "n"], - [84337, 0, "y"], - [84338, 0, " "], - [84339, 0, "c"], - [84340, 0, "a"], - [84341, 0, "u"], - [84342, 0, "s"], - [84343, 0, "a"], - [84344, 0, "p"], - [84345, 0, " "], - [84346, 0, "d"], - [84346, 1], - [84345, 1], - [84344, 1], - [84344, 0, "l"], - [84345, 0, " "], - [84346, 0, "d"], - [84347, 0, "e"], - [84348, 0, "p"], - [84349, 0, "e"], - [84350, 0, "n"], - [84351, 0, "d"], - [84352, 0, "e"], - [84353, 0, "n"], - [84354, 0, "c"], - [84355, 0, "i"], - [84356, 0, "e"], - [84357, 0, "s"], - [84358, 0, " "], - [84359, 0, "o"], - [84360, 0, "f"], - [84361, 0, " "], - [84361, 1], - [84360, 1], - [84359, 1], - [84358, 1], - [84357, 1], - [84356, 1], - [84355, 1], - [84354, 1], - [84353, 1], - [84352, 1], - [84351, 1], - [84350, 1], - [84349, 1], - [84348, 1], - [84347, 1], - [84346, 1], - [84345, 1], - [84339, 0, "i"], - [84340, 0, "n"], - [84341, 0, "s"], - [84342, 0, "e"], - [84343, 0, "r"], - [84344, 0, "t"], - [84345, 0, "i"], - [84346, 0, "o"], - [84347, 0, "n"], - [84348, 0, "s"], - [84349, 0, " "], - [84356, 0, "l"], - [84357, 0, "y"], - [84358, 0, " "], - [84359, 0, "p"], - [84360, 0, "r"], - [84361, 0, "i"], - [84362, 0, "o"], - [84363, 0, "r"], - [84364, 0, " "], - [84365, 0, "t"], - [84366, 0, "o"], - [84367, 0, " "], - [84368, 0, "$"], - [84369, 0, "o"], - [84370, 0, "_"], - [84371, 0, "r"], - [84372, 0, "$"], - [84373, 0, " "], - [84374, 0, "i"], - [84375, 0, "n"], - [84376, 0, " "], - [84377, 0, "t"], - [84378, 0, "h"], - [84379, 0, "e"], - [84380, 0, " "], - [84381, 0, "s"], - [84382, 0, "a"], - [84383, 0, "m"], - [84384, 0, "e"], - [84385, 0, " "], - [84386, 0, "i"], - [84387, 0, "n"], - [84388, 0, "s"], - [84389, 0, "e"], - [84390, 0, "r"], - [84391, 0, "t"], - [84392, 0, "i"], - [84393, 0, "o"], - [84394, 0, "n"], - [84395, 0, " "], - [84396, 0, "i"], - [84397, 0, "n"], - [84398, 0, "t"], - [84399, 0, "e"], - [84400, 0, "r"], - [84401, 0, "v"], - [84402, 0, "a"], - [84403, 0, "l"], - [84404, 0, " "], - [84405, 0, "h"], - [84406, 0, "a"], - [84407, 0, "v"], - [84408, 0, "e"], - [84409, 0, " "], - [84410, 0, "a"], - [84411, 0, "l"], - [84412, 0, "r"], - [84413, 0, "e"], - [84414, 0, "a"], - [84415, 0, "d"], - [84416, 0, "y"], - [84417, 0, " "], - [84418, 0, "b"], - [84419, 0, "e"], - [84420, 0, "e"], - [84421, 0, "n"], - [84422, 0, " "], - [84423, 0, "a"], - [84424, 0, "p"], - [84425, 0, "p"], - [84426, 0, "l"], - [84427, 0, "i"], - [84428, 0, "e"], - [84429, 0, "d"], - [84430, 0, "."], - [84475, 0, " "], - [84476, 0, "T"], - [84477, 0, "h"], - [84478, 0, "u"], - [84479, 0, "s"], - [84480, 0, ","], - [84481, 0, " "], - [84482, 0, "w"], - [84483, 0, "e"], - [84484, 0, "h"], - [84484, 1], - [84483, 1], - [84483, 0, "h"], - [84484, 0, "e"], - [84485, 0, "n"], - [84486, 0, " "], - [84487, 0, "$"], - [84488, 0, "o"], - [84488, 1], - [84488, 0, "o"], - [84489, 0, "_"], - [84490, 0, "r"], - [84491, 0, "$"], - [84492, 0, " "], - [84493, 0, "i"], - [84494, 0, "s"], - [84495, 0, " "], - [84496, 0, "a"], - [84497, 0, "p"], - [84498, 0, "p"], - [84499, 0, "l"], - [84500, 0, "i"], - [84501, 0, "e"], - [84502, 0, "d"], - [84503, 0, ","], - [84504, 0, " "], - [84505, 0, "$"], - [84506, 0, "o"], - [84507, 0, "_"], - [84508, 0, "s"], - [84509, 0, "$"], - [84510, 0, " "], - [84511, 0, "a"], - [84512, 0, "n"], - [84513, 0, "d"], - [84514, 0, " "], - [84515, 0, "a"], - [84516, 0, "n"], - [84517, 0, "y"], - [84518, 0, " "], - [84519, 0, "i"], - [84520, 0, "n"], - [84521, 0, "s"], - [84522, 0, "e"], - [84523, 0, "r"], - [84524, 0, "t"], - [84525, 0, "i"], - [84526, 0, "o"], - [84527, 0, "n"], - [84528, 0, "s"], - [84529, 0, " "], - [84530, 0, "c"], - [84531, 0, "a"], - [84532, 0, "u"], - [84533, 0, "s"], - [84534, 0, "a"], - [84535, 0, "l"], - [84536, 0, "l"], - [84537, 0, "y"], - [84538, 0, " "], - [84539, 0, "p"], - [84540, 0, "r"], - [84541, 0, "i"], - [84542, 0, "o"], - [84543, 0, "r"], - [84544, 0, " "], - [84545, 0, "t"], - [84546, 0, "o"], - [84547, 0, " "], - [84548, 0, "$"], - [84549, 0, "o"], - [84550, 0, "_"], - [84551, 0, "s"], - [84552, 0, "$"], - [84553, 0, " "], - [84554, 0, "i"], - [84555, 0, "n"], - [84556, 0, " "], - [84557, 0, "t"], - [84558, 0, "h"], - [84559, 0, "e"], - [84560, 0, " "], - [84561, 0, "s"], - [84562, 0, "a"], - [84563, 0, "m"], - [84564, 0, "e"], - [84565, 0, " "], - [84566, 0, "i"], - [84567, 0, "n"], - [84568, 0, "s"], - [84569, 0, "e"], - [84570, 0, "r"], - [84571, 0, "t"], - [84572, 0, "i"], - [84573, 0, "o"], - [84574, 0, "n"], - [84575, 0, " "], - [84576, 0, "i"], - [84577, 0, "n"], - [84578, 0, "t"], - [84579, 0, "e"], - [84580, 0, "r"], - [84581, 0, "v"], - [84582, 0, "a"], - [84583, 0, "l"], - [84584, 0, " "], - [84585, 0, "h"], - [84586, 0, "a"], - [84587, 0, "v"], - [84588, 0, "e"], - [84589, 0, " "], - [84590, 0, "a"], - [84591, 0, "l"], - [84592, 0, "r"], - [84593, 0, "a"], - [84593, 1], - [84593, 0, "e"], - [84594, 0, "a"], - [84595, 0, "d"], - [84596, 0, "y"], - [84597, 0, " "], - [84598, 0, "b"], - [84599, 0, "e"], - [84600, 0, "e"], - [84601, 0, "n"], - [84602, 0, " "], - [84603, 0, "a"], - [84604, 0, "p"], - [84605, 0, "p"], - [84606, 0, "l"], - [84607, 0, "i"], - [84608, 0, "e"], - [84609, 0, "d"], - [84610, 0, "."], - [84408, 1], - [84407, 1], - [84407, 0, "s"], - [84403, 1], - [84402, 1], - [84401, 1], - [84400, 1], - [84399, 1], - [84398, 1], - [84397, 1], - [84396, 1], - [84395, 1], - [84394, 1], - [84393, 1], - [84392, 1], - [84391, 1], - [84390, 1], - [84389, 1], - [84388, 1], - [84387, 1], - [84386, 1], - [84385, 1], - [84384, 1], - [84383, 1], - [84382, 1], - [84381, 1], - [84380, 1], - [84379, 1], - [84378, 1], - [84377, 1], - [84376, 1], - [84375, 1], - [84374, 1], - [84373, 1], - [84372, 1], - [84371, 1], - [84370, 1], - [84369, 1], - [84368, 1], - [84367, 1], - [84366, 1], - [84365, 1], - [84364, 1], - [84363, 1], - [84362, 1], - [84361, 1], - [84360, 1], - [84359, 1], - [84358, 1], - [84357, 1], - [84356, 1], - [84355, 1], - [84354, 1], - [84353, 1], - [84352, 1], - [84351, 1], - [84350, 1], - [84349, 1], - [84348, 1], - [84347, 1], - [84346, 1], - [84345, 1], - [84344, 1], - [84343, 1], - [84342, 1], - [84341, 1], - [84340, 1], - [84339, 1], - [84338, 1], - [84337, 1], - [84336, 1], - [84335, 1], - [84334, 1], - [84333, 1], - [84332, 1], - [84331, 1], - [84330, 1], - [84302, 0, "a"], - [84303, 0, "t"], - [84304, 0, " "], - [84305, 0, "t"], - [84306, 0, "h"], - [84307, 0, "e"], - [84308, 0, " "], - [84309, 0, "t"], - [84310, 0, "i"], - [84311, 0, "m"], - [84312, 0, "e"], - [84313, 0, " "], - [84419, 0, "a"], - [84420, 0, "t"], - [84421, 0, " "], - [84422, 0, "t"], - [84423, 0, "h"], - [84424, 0, "e"], - [84425, 0, " "], - [84426, 0, "t"], - [84427, 0, "i"], - [84428, 0, "m"], - [84429, 0, "e"], - [84430, 0, " "], - [84368, 0, " "], - [84369, 0, "S"], - [84370, 0, "i"], - [84371, 0, "n"], - [84372, 0, "c"], - [84373, 0, "e"], - [84374, 0, " "], - [84375, 0, "$"], - [84376, 0, "o"], - [84377, 0, "_"], - [84378, 0, "r"], - [84379, 0, "$"], - [84380, 0, " "], - [84381, 0, "h"], - [84382, 0, "a"], - [84383, 0, "s"], - [84384, 0, " "], - [84385, 0, "a"], - [84386, 0, " "], - [84387, 0, "l"], - [84388, 0, "e"], - [84389, 0, "s"], - [84390, 0, "s"], - [84391, 0, "e"], - [84392, 0, "r"], - [84393, 0, " "], - [84394, 0, "o"], - [84395, 0, "p"], - [84396, 0, "e"], - [84397, 0, "r"], - [84398, 0, "a"], - [84399, 0, "t"], - [84400, 0, "i"], - [84401, 0, "o"], - [84402, 0, "n"], - [84403, 0, " "], - [84404, 0, "I"], - [84405, 0, "D"], - [84406, 0, ","], - [84407, 0, " "], - [84408, 0, "t"], - [84409, 0, "h"], - [84410, 0, "e"], - [84411, 0, " "], - [84412, 0, "r"], - [84413, 0, "u"], - [84414, 0, "l"], - [84415, 0, "e"], - [84416, 0, " "], - [84417, 0, "$"], - [84418, 0, "\\"], - [84419, 0, "m"], - [84419, 1], - [84419, 0, "t"], - [84420, 0, "e"], - [84421, 0, "x"], - [84422, 0, "t"], - [84423, 0, "s"], - [84424, 0, "c"], - [84425, 0, "{"], - [84426, 0, "I"], - [84427, 0, "n"], - [84428, 0, "s"], - [84429, 0, "e"], - [84430, 0, "r"], - [84431, 0, "t"], - [84432, 0, "}"], - [84433, 0, "_"], - [84434, 0, "1"], - [84435, 0, "$"], - [84436, 0, " "], - [84437, 0, "a"], - [84438, 0, "p"], - [84439, 0, "p"], - [84440, 0, "l"], - [84441, 0, "i"], - [84442, 0, "e"], - [84443, 0, "s"], - [84444, 0, " "], - [84445, 0, "w"], - [84446, 0, "i"], - [84447, 0, "t"], - [84448, 0, "h"], - [84449, 0, " "], - [84450, 0, "$"], - [84451, 0, "\\"], - [84452, 0, "m"], - [84453, 0, "a"], - [84454, 0, "t"], - [84455, 0, "h"], - [84456, 0, "i"], - [84457, 0, "t"], - [84458, 0, "{"], - [84459, 0, "n"], - [84460, 0, "e"], - [84461, 0, "x"], - [84462, 0, "t"], - [84463, 0, "}"], - [84464, 0, " "], - [84465, 0, "="], - [84466, 0, " "], - [84467, 0, "o"], - [84468, 0, "_"], - [84469, 0, "r"], - [84470, 0, "."], - [84471, 0, "\\"], - [84472, 0, "m"], - [84473, 0, "a"], - [84474, 0, "t"], - [84475, 0, "h"], - [84476, 0, "i"], - [84477, 0, "t"], - [84478, 0, "{"], - [84479, 0, "i"], - [84480, 0, "d"], - [84481, 0, "}"], - [84482, 0, "$"], - [84483, 0, " "], - [84484, 0, "a"], - [84485, 0, "t"], - [84486, 0, " "], - [84487, 0, "t"], - [84488, 0, "h"], - [84489, 0, "e"], - [84490, 0, " "], - [84491, 0, "l"], - [84492, 0, "a"], - [84493, 0, "t"], - [84494, 0, "e"], - [84495, 0, "s"], - [84496, 0, "t"], - [84497, 0, ";"], - [84498, 0, " "], - [84499, 0, "i"], - [84500, 0, "t"], - [84501, 0, " "], - [84502, 0, "i"], - [84503, 0, "s"], - [84504, 0, " "], - [84505, 0, "n"], - [84506, 0, "o"], - [84507, 0, "t"], - [84508, 0, " "], - [84509, 0, "p"], - [84510, 0, "o"], - [84511, 0, "s"], - [84512, 0, "s"], - [84513, 0, "i"], - [84514, 0, "b"], - [84515, 0, "l"], - [84516, 0, "e"], - [84517, 0, " "], - [84518, 0, "f"], - [84519, 0, "o"], - [84520, 0, "r"], - [84521, 0, " "], - [84522, 0, "$"], - [84523, 0, "\\"], - [84524, 0, "m"], - [84524, 1], - [84524, 0, "t"], - [84525, 0, "e"], - [84526, 0, "x"], - [84527, 0, "t"], - [84528, 0, "s"], - [84529, 0, "c"], - [84530, 0, "{"], - [84531, 0, "I"], - [84532, 0, "n"], - [84533, 0, "s"], - [84534, 0, "e"], - [84535, 0, "r"], - [84536, 0, "t"], - [84537, 0, "}"], - [84538, 0, "_"], - [84539, 0, "2"], - [84540, 0, "$"], - [84541, 0, "%"], - [84541, 1], - [84541, 0, " "], - [84542, 0, "t"], - [84543, 0, "o"], - [84544, 0, " "], - [84497, 0, ","], - [84498, 0, " "], - [84499, 0, "s"], - [84500, 0, "o"], - [84501, 0, " "], - [84502, 0, "t"], - [84503, 0, "h"], - [84504, 0, "e"], - [84505, 0, " "], - [84506, 0, "i"], - [84507, 0, "n"], - [84508, 0, "s"], - [84509, 0, "e"], - [84510, 0, "r"], - [84511, 0, "t"], - [84512, 0, "i"], - [84513, 0, "o"], - [84514, 0, "n"], - [84515, 0, " "], - [84516, 0, "p"], - [84517, 0, "o"], - [84518, 0, "s"], - [84519, 0, "i"], - [84520, 0, "t"], - [84521, 0, "i"], - [84522, 0, "o"], - [84523, 0, "n"], - [84524, 0, " "], - [84525, 0, "o"], - [84526, 0, "f"], - [84527, 0, " "], - [84528, 0, "$"], - [84529, 0, "o"], - [84530, 0, "_"], - [84531, 0, "s"], - [84532, 0, "$"], - [84533, 0, " "], - [84534, 0, "m"], - [84535, 0, "u"], - [84536, 0, "s"], - [84537, 0, "t"], - [84538, 0, " "], - [84539, 0, "a"], - [84540, 0, "p"], - [84541, 0, "p"], - [84542, 0, "e"], - [84543, 0, "a"], - [84544, 0, "r"], - [84545, 0, " "], - [84546, 0, "b"], - [84547, 0, "e"], - [84548, 0, "f"], - [84549, 0, "o"], - [84550, 0, "r"], - [84551, 0, "e"], - [84552, 0, " "], - [84553, 0, "$"], - [84554, 0, "o"], - [84555, 0, "_"], - [84556, 0, "r"], - [84557, 0, "$"], - [84369, 0, "W"], - [84370, 0, "h"], - [84371, 0, "e"], - [84372, 0, "n"], - [84373, 0, " "], - [84374, 0, "a"], - [84375, 0, "p"], - [84376, 0, "p"], - [84377, 0, "l"], - [84378, 0, "y"], - [84379, 0, "i"], - [84380, 0, "n"], - [84381, 0, "g"], - [84382, 0, " "], - [84383, 0, "$"], - [84384, 0, "o"], - [84385, 0, "_"], - [84386, 0, "s"], - [84387, 0, "$"], - [84388, 0, ","], - [84389, 0, " "], - [84390, 1], - [84390, 0, "s"], - [84579, 1], - [84579, 0, "."], - [84581, 1], - [84581, 0, "I"], - [84627, 0, "s"], - [84628, 0, "k"], - [84629, 0, "i"], - [84630, 0, "p"], - [84631, 0, " "], - [84632, 0, "p"], - [84633, 0, "a"], - [84634, 0, "s"], - [84635, 0, "t"], - [84636, 0, " "], - [84637, 0, "$"], - [84638, 0, "o"], - [84639, 0, "_"], - [84640, 0, "r"], - [84641, 0, "."], - [84641, 1], - [84641, 0, "$"], - [84642, 0, "."], - [84851, 0, "\n"], - [84852, 0, "\n"], - [84853, 0, "I"], - [84854, 0, "n"], - [84855, 0, " "], - [84856, 0, "b"], - [84857, 0, "o"], - [84858, 0, "t"], - [84859, 0, "h"], - [84860, 0, " "], - [84861, 0, "c"], - [84862, 0, "a"], - [84863, 0, "s"], - [84864, 0, "e"], - [84865, 0, "s"], - [84866, 0, ","], - [84867, 0, " "], - [84868, 0, "t"], - [84869, 0, "h"], - [84870, 0, "e"], - [84871, 0, " "], - [84872, 0, "i"], - [84873, 0, "n"], - [84874, 0, "s"], - [84875, 0, "e"], - [84876, 0, "r"], - [84877, 0, "t"], - [84878, 0, "i"], - [84879, 0, "o"], - [84880, 0, "n"], - [84881, 0, " "], - [84882, 0, "p"], - [84883, 0, "o"], - [84884, 0, "s"], - [84885, 0, "i"], - [84886, 0, "t"], - [84887, 0, "i"], - [84888, 0, "o"], - [84889, 0, "n"], - [84890, 0, " "], - [84891, 0, "o"], - [84892, 0, "f"], - [84893, 0, " "], - [84894, 0, "$"], - [84895, 0, "o"], - [84896, 0, "_"], - [84897, 0, "r"], - [84898, 0, "$"], - [84899, 0, " "], - [84900, 0, "a"], - [84901, 0, "p"], - [84902, 0, "p"], - [84903, 0, "e"], - [84904, 0, "a"], - [84905, 0, "r"], - [84906, 0, "s"], - [84907, 0, " "], - [84908, 0, "a"], - [84909, 0, "f"], - [84910, 0, "t"], - [84911, 0, "e"], - [84912, 0, "r"], - [84913, 0, " "], - [84914, 0, "t"], - [84915, 0, "h"], - [84916, 0, "e"], - [84917, 0, " "], - [84918, 0, "i"], - [84919, 0, "n"], - [84920, 0, "s"], - [84921, 0, "e"], - [84922, 0, "r"], - [84923, 0, "t"], - [84924, 0, "i"], - [84925, 0, "o"], - [84926, 0, "n"], - [84927, 0, " "], - [84928, 0, "p"], - [84929, 0, "o"], - [84930, 0, "s"], - [84931, 0, "i"], - [84932, 0, "t"], - [84933, 0, "i"], - [84934, 0, "o"], - [84935, 0, "n"], - [84936, 0, " "], - [84937, 0, "o"], - [84938, 0, "f"], - [84939, 0, " "], - [84940, 0, "$"], - [84941, 0, "o"], - [84942, 0, "_"], - [84943, 0, "s"], - [84944, 0, "$"], - [84945, 0, "."], - [84946, 0, " "], - [84947, 0, "T"], - [84947, 1], - [84946, 1], - [84945, 1], - [84945, 0, ","], - [84946, 0, " "], - [84947, 0, "w"], - [84948, 0, "h"], - [84949, 0, "i"], - [84950, 0, "c"], - [84951, 0, "h"], - [84952, 0, " "], - [84953, 0, "s"], - [84954, 0, "h"], - [84955, 0, "o"], - [84956, 0, "w"], - [84957, 0, "s"], - [84958, 0, " "], - [84959, 0, "t"], - [84960, 0, "h"], - [84961, 0, "a"], - [84962, 0, "t"], - [84963, 0, " "], - [84964, 0, "$"], - [84965, 0, "o"], - [84966, 0, "_"], - [84967, 0, "r"], - [84968, 0, "$"], - [84969, 0, " "], - [84970, 0, "a"], - [84971, 0, "n"], - [84972, 0, "d"], - [84973, 0, " "], - [84974, 0, "$"], - [84975, 0, "o"], - [84976, 0, "_"], - [84977, 0, "s"], - [84978, 0, "$"], - [84979, 0, " "], - [84980, 0, "a"], - [84981, 0, "r"], - [84982, 0, "e"], - [84983, 0, " "], - [84984, 0, "c"], - [84985, 0, "o"], - [84986, 0, "m"], - [84987, 0, "m"], - [84988, 0, "u"], - [84989, 0, "t"], - [84990, 0, "a"], - [84991, 0, "t"], - [84992, 0, "i"], - [84993, 0, "v"], - [84994, 0, "e"], - [84995, 0, "."], - [84945, 1], - [84945, 0, "."], - [84946, 0, " "], - [84947, 0, "S"], - [84948, 0, "i"], - [84949, 0, "n"], - [84950, 0, "c"], - [84951, 0, "e"], - [84952, 0, " "], - [84953, 0, "t"], - [84954, 0, "h"], - [84955, 0, "e"], - [84956, 0, " "], - [84957, 0, "a"], - [84958, 0, "r"], - [84959, 0, "g"], - [84960, 0, "u"], - [84961, 0, "m"], - [84962, 0, "e"], - [84963, 0, "n"], - [84964, 0, "t"], - [84965, 0, " "], - [84966, 0, "a"], - [84967, 0, "p"], - [84968, 0, "p"], - [84969, 0, "l"], - [84970, 0, "i"], - [84971, 0, "e"], - [84972, 0, "s"], - [84973, 0, " "], - [84974, 0, "t"], - [84975, 0, "o"], - [84976, 0, " "], - [84977, 0, "a"], - [84978, 0, "l"], - [84979, 0, "l"], - [84980, 0, " "], - [84981, 0, "p"], - [84982, 0, "a"], - [84983, 0, "i"], - [84984, 0, "r"], - [84985, 0, "s"], - [84986, 0, " "], - [84987, 0, "o"], - [84988, 0, "f"], - [84989, 0, " "], - [84990, 0, "c"], - [84991, 0, "o"], - [84992, 0, "n"], - [84993, 0, "c"], - [84994, 0, "u"], - [84995, 0, "r"], - [84996, 0, "r"], - [84997, 0, "e"], - [84998, 0, "n"], - [84999, 0, "t"], - [85000, 0, " "], - [85001, 0, "o"], - [85002, 0, "p"], - [85003, 0, "e"], - [85004, 0, "r"], - [85005, 0, "a"], - [85006, 0, "t"], - [85007, 0, "i"], - [85008, 0, "o"], - [85009, 0, "n"], - [85010, 0, "s"], - [85011, 0, " "], - [85012, 0, "$"], - [85013, 0, "o"], - [85014, 0, "_"], - [85015, 0, "r"], - [85016, 0, ","], - [85017, 0, " "], - [85018, 0, "$"], - [85019, 0, "o"], - [85020, 0, "_"], - [85020, 1], - [85019, 1], - [85018, 1], - [85017, 1], - [85017, 0, " "], - [85018, 0, "o"], - [85019, 0, "_"], - [85020, 0, "s"], - [85021, 0, "$"], - [85022, 0, " "], - [85023, 0, "i"], - [85024, 0, "n"], - [85025, 0, " "], - [85026, 0, "$"], - [85027, 0, "H"], - [85028, 0, "$"], - [85029, 0, ","], - [85030, 0, " "], - [85031, 0, "w"], - [85032, 0, "e"], - [85033, 0, " "], - [85034, 0, "d"], - [85035, 0, "e"], - [85036, 0, "d"], - [85037, 0, "u"], - [85038, 0, "c"], - [85039, 0, "e"], - [85040, 0, " "], - [85041, 0, "t"], - [85042, 0, "h"], - [85043, 0, "a"], - [85044, 0, "t"], - [85045, 0, " "], - [85046, 0, "t"], - [85047, 0, "h"], - [85048, 0, "e"], - [85049, 0, " "], - [85050, 0, "f"], - [85051, 0, "i"], - [85052, 0, "n"], - [85053, 0, "a"], - [85054, 0, "l"], - [85055, 0, " "], - [85056, 0, "o"], - [85057, 0, "r"], - [85058, 0, "d"], - [85059, 0, "e"], - [85060, 0, "r"], - [85061, 0, " "], - [85062, 0, "o"], - [85063, 0, "f"], - [85064, 0, " "], - [85065, 0, "e"], - [85066, 0, "l"], - [85067, 0, "e"], - [85068, 0, "m"], - [85069, 0, "e"], - [85070, 0, "n"], - [85071, 0, "t"], - [85072, 0, "s"], - [85073, 0, " "], - [85074, 0, "i"], - [85075, 0, "n"], - [85076, 0, " "], - [85077, 0, "t"], - [85078, 0, "h"], - [85079, 0, "e"], - [85080, 0, " "], - [85081, 0, "l"], - [85082, 0, "i"], - [85083, 0, "s"], - [85084, 0, "t"], - [85085, 0, " "], - [85086, 0, "d"], - [85087, 0, "e"], - [85088, 0, "p"], - [85089, 0, "e"], - [85090, 0, "n"], - [85091, 0, "d"], - [85092, 0, "s"], - [85093, 0, " "], - [85094, 0, "o"], - [85095, 0, "n"], - [85096, 0, "l"], - [85097, 0, "y"], - [85098, 0, " "], - [85099, 0, "o"], - [85100, 0, "n"], - [85101, 0, " "], - [85102, 0, "t"], - [85103, 0, "h"], - [85104, 0, "e"], - [85105, 0, " "], - [85106, 0, "o"], - [85107, 0, "p"], - [85108, 0, "e"], - [85109, 0, "r"], - [85110, 0, "a"], - [85111, 0, "t"], - [85112, 0, "i"], - [85113, 0, "o"], - [85114, 0, "n"], - [85115, 0, " "], - [85116, 0, "I"], - [85117, 0, "D"], - [85118, 0, "s"], - [85119, 0, " "], - [85120, 0, "b"], - [85121, 0, "u"], - [85122, 0, "t"], - [85123, 0, " "], - [85124, 0, "n"], - [85125, 0, "o"], - [85126, 0, "t"], - [85127, 0, " "], - [85128, 0, "t"], - [85129, 0, "h"], - [85130, 0, "e"], - [85131, 0, " "], - [85132, 0, "o"], - [85133, 0, "r"], - [85134, 0, "d"], - [85135, 0, "e"], - [85136, 0, "r"], - [85137, 0, " "], - [85138, 0, "o"], - [85139, 0, "f"], - [85140, 0, " "], - [85141, 0, "a"], - [85142, 0, "p"], - [85143, 0, "p"], - [85144, 0, "l"], - [85145, 0, "i"], - [85146, 0, "c"], - [85147, 0, "a"], - [85148, 0, "t"], - [85149, 0, "i"], - [85150, 0, "o"], - [85151, 0, "n"], - [85152, 0, ","], - [85185, 1], - [85184, 1], - [85183, 1], - [85182, 1], - [85181, 1], - [85180, 1], - [85179, 1], - [85178, 1], - [85177, 1], - [85176, 1], - [85175, 1], - [85174, 1], - [85173, 1], - [85172, 1], - [85171, 1], - [85171, 0, "c"], - [85172, 0, "o"], - [85173, 0, "n"], - [85174, 0, "c"], - [85175, 0, "u"], - [85176, 0, "r"], - [85177, 0, "r"], - [85178, 0, "e"], - [85179, 0, "n"], - [85180, 0, "t"], - [85181, 0, " "], - [85182, 0, "i"], - [85183, 0, "n"], - [85184, 0, "s"], - [85185, 0, "e"], - [85186, 0, "r"], - [85187, 0, "t"], - [85188, 0, "i"], - [85189, 0, "o"], - [85190, 0, "n"], - [85191, 0, "s"], - [85192, 0, " "], - [85193, 0, "t"], - [85194, 0, "o"], - [85195, 0, " "], - [85196, 0, "t"], - [85197, 0, "h"], - [85198, 0, "e"], - [85199, 0, " "], - [85200, 0, "s"], - [85201, 0, "a"], - [85202, 0, "m"], - [85203, 0, "e"], - [85204, 0, " "], - [85205, 0, "l"], - [85206, 0, "i"], - [85207, 0, "s"], - [85208, 0, "t"], - [83141, 0, "\n"], - [83142, 0, "\n"], - [83143, 0, "\\"], - [83144, 0, "b"], - [83145, 0, "e"], - [83146, 0, "g"], - [83147, 0, "i"], - [83148, 0, "n"], - [83149, 0, "{"], - [83150, 0, "l"], - [83151, 0, "e"], - [83152, 0, "m"], - [83153, 0, "m"], - [83154, 0, "a"], - [83155, 0, "}"], - [83156, 0, "\\"], - [83157, 0, "l"], - [83158, 0, "a"], - [83159, 0, "b"], - [83160, 0, "e"], - [83161, 0, "l"], - [83162, 0, "{"], - [83163, 0, "l"], - [83164, 0, "e"], - [83165, 0, "m"], - [83166, 0, ":"], - [83167, 0, "i"], - [83168, 0, "n"], - [83169, 0, "s"], - [83170, 0, "e"], - [83171, 0, "r"], - [83172, 0, "t"], - [83173, 0, "-"], - [83174, 0, "c"], - [83175, 0, "o"], - [83176, 0, "n"], - [83177, 0, "f"], - [83178, 0, "l"], - [83179, 0, "i"], - [83180, 0, "c"], - [83181, 0, "t"], - [83182, 0, "}"], - [83183, 0, "\n"], - [83184, 0, "\\"], - [83185, 0, "e"], - [83186, 0, "n"], - [83187, 0, "d"], - [83188, 0, "{"], - [83189, 0, "l"], - [83190, 0, "e"], - [83191, 0, "m"], - [83192, 0, "m"], - [83193, 0, "a"], - [83194, 0, "}"], - [83184, 0, "\n"], - [83184, 0, "I"], - [83185, 0, "n"], - [83186, 0, " "], - [83187, 0, "a"], - [83188, 0, "n"], - [83189, 0, " "], - [83190, 0, "o"], - [83191, 0, "p"], - [83192, 0, "e"], - [83193, 0, "r"], - [83194, 0, "a"], - [83195, 0, "t"], - [83196, 0, "i"], - [83197, 0, "o"], - [83198, 0, "n"], - [83199, 0, " "], - [83200, 0, "h"], - [83201, 0, "i"], - [83202, 0, "s"], - [83203, 0, "t"], - [83204, 0, "o"], - [83205, 0, "r"], - [83206, 0, "y"], - [83207, 0, " "], - [83208, 0, "$"], - [83209, 0, "H"], - [83210, 0, "$"], - [83211, 0, ","], - [83212, 0, " "], - [83213, 0, "g"], - [83213, 1], - [83184, 0, "F"], - [83185, 0, "o"], - [83186, 0, "r"], - [83187, 0, " "], - [83188, 0, "a"], - [83189, 0, "n"], - [83190, 0, "y"], - [83191, 0, " "], - [83192, 0, "t"], - [83193, 0, "w"], - [83194, 0, "o"], - [83195, 0, " "], - [83196, 0, "c"], - [83197, 0, "o"], - [83198, 0, "n"], - [83199, 0, "c"], - [83200, 0, "u"], - [83201, 0, "r"], - [83202, 0, "r"], - [83203, 0, "e"], - [83204, 0, "n"], - [83205, 0, "t"], - [83206, 0, " "], - [83207, 0, "i"], - [83208, 0, "n"], - [83209, 0, "s"], - [83210, 0, "e"], - [83211, 0, "r"], - [83212, 0, "t"], - [83213, 0, "i"], - [83214, 0, "o"], - [83215, 0, "n"], - [83216, 0, " "], - [83217, 0, "o"], - [83218, 0, "p"], - [83219, 0, "e"], - [83220, 0, "r"], - [83221, 0, "a"], - [83222, 0, "t"], - [83223, 0, "i"], - [83224, 0, "o"], - [83225, 0, "n"], - [83226, 0, "s"], - [83227, 0, " "], - [83228, 0, "$"], - [83229, 0, "o"], - [83230, 0, "_"], - [83231, 0, "r"], - [83232, 0, ","], - [83233, 0, " "], - [83234, 0, "o"], - [83235, 0, "_"], - [83236, 0, "s"], - [83237, 0, "$"], - [83238, 0, " "], - [83239, 1], - [83239, 0, "i"], - [83243, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 1], - [83244, 0, "h"], - [83257, 0, "i"], - [83258, 0, "f"], - [83259, 0, " "], - [83260, 0, "t"], - [83261, 0, "h"], - [83262, 0, "e"], - [83263, 0, " "], - [83264, 0, "o"], - [83265, 0, "p"], - [83266, 0, "e"], - [83267, 0, "r"], - [83268, 0, "a"], - [83269, 0, "t"], - [83270, 0, "i"], - [83271, 0, "o"], - [83272, 0, "n"], - [83273, 0, "s"], - [83274, 0, " "], - [83275, 0, "h"], - [83276, 0, "a"], - [83277, 0, "v"], - [83278, 0, "e"], - [83279, 0, " "], - [83280, 0, "t"], - [83281, 0, "h"], - [83282, 0, "e"], - [83283, 0, " "], - [83284, 0, "s"], - [83285, 0, "a"], - [83286, 0, "m"], - [83287, 0, "e"], - [83288, 0, " "], - [83289, 0, "c"], - [83290, 0, "u"], - [83291, 0, "r"], - [83292, 0, "s"], - [83293, 0, "o"], - [83294, 0, "r"], - [83295, 0, " "], - [83296, 0, "("], - [83297, 0, "$"], - [83298, 0, "o"], - [83299, 0, "_"], - [83300, 0, "r"], - [83301, 0, "."], - [83302, 0, "\\"], - [83303, 0, "m"], - [83304, 0, "a"], - [83305, 0, "t"], - [83306, 0, "h"], - [83307, 0, "i"], - [83308, 0, "t"], - [83309, 0, "{"], - [83310, 0, "c"], - [83311, 0, "u"], - [83312, 0, "r"], - [83313, 0, "}"], - [83314, 0, " "], - [83315, 0, "="], - [83316, 0, " "], - [83317, 0, "o"], - [83318, 0, "_"], - [83319, 0, "s"], - [83320, 0, "."], - [83321, 0, "\\"], - [83322, 0, "m"], - [83323, 0, "a"], - [83324, 0, "t"], - [83325, 0, "h"], - [83326, 0, "i"], - [83327, 0, "t"], - [83328, 0, "{"], - [83329, 0, "c"], - [83330, 0, "u"], - [83331, 0, "r"], - [83332, 0, "}"], - [83333, 0, "$"], - [83334, 0, ")"], - [83335, 0, ","], - [83336, 0, " "], - [83337, 0, "t"], - [83338, 0, "h"], - [83339, 0, "e"], - [83340, 0, "n"], - [83341, 0, " "], - [83342, 0, "t"], - [83343, 0, "h"], - [83344, 0, "e"], - [83345, 0, " "], - [83346, 0, "o"], - [83347, 0, "r"], - [83348, 0, "d"], - [83349, 0, "e"], - [83350, 0, "r"], - [83351, 0, " "], - [83352, 0, "a"], - [83353, 0, "t"], - [83354, 0, " "], - [83355, 0, "w"], - [83356, 0, "h"], - [83357, 0, "i"], - [83358, 0, "c"], - [83359, 0, "h"], - [83360, 0, " "], - [83361, 0, "t"], - [83362, 0, "h"], - [83363, 0, "e"], - [83364, 0, " "], - [83365, 0, "i"], - [83366, 0, "n"], - [83367, 0, "s"], - [83368, 0, "e"], - [83369, 0, "r"], - [83370, 0, "t"], - [83371, 0, "i"], - [83372, 0, "o"], - [83373, 0, "n"], - [83374, 0, "s"], - [83375, 0, " "], - [83376, 0, "a"], - [83377, 0, "r"], - [83378, 0, "e"], - [83379, 0, " "], - [83379, 1], - [83378, 1], - [83377, 1], - [83376, 1], - [83376, 0, "a"], - [83377, 0, "p"], - [83378, 0, "p"], - [83379, 0, "e"], - [83380, 0, "a"], - [83381, 0, "r"], - [83382, 0, " "], - [83383, 0, "i"], - [83384, 0, "n"], - [83385, 0, " "], - [83386, 0, "t"], - [83387, 0, "h"], - [83388, 0, "e"], - [83389, 0, " "], - [83390, 0, "l"], - [83391, 0, "i"], - [83392, 0, "s"], - [83393, 0, "t"], - [83394, 0, " "], - [83395, 0, "i"], - [83396, 0, "s"], - [83397, 0, " "], - [83398, 0, "i"], - [83399, 0, "n"], - [83400, 0, "d"], - [83401, 0, "e"], - [83402, 0, "p"], - [83403, 0, "e"], - [83404, 0, "n"], - [83405, 0, "d"], - [83406, 0, "e"], - [83407, 0, "n"], - [83408, 0, "t"], - [83409, 0, " "], - [83410, 0, "o"], - [83411, 0, "f"], - [83412, 0, " "], - [83413, 0, "t"], - [83414, 0, "h"], - [83415, 0, "e"], - [83416, 0, " "], - [83417, 0, "o"], - [83418, 0, "r"], - [83419, 0, "d"], - [83420, 0, "e"], - [83421, 0, "r"], - [83422, 0, " "], - [83423, 0, "i"], - [83424, 0, "n"], - [83425, 0, " "], - [83426, 0, "w"], - [83427, 0, "h"], - [83428, 0, "i"], - [83429, 0, "c"], - [83430, 0, "h"], - [83431, 0, " "], - [83432, 0, "t"], - [83433, 0, "h"], - [83434, 0, "e"], - [83435, 0, " "], - [83436, 0, "o"], - [83437, 0, "p"], - [83438, 0, "e"], - [83439, 0, "r"], - [83440, 0, "a"], - [83441, 0, "t"], - [83442, 0, "i"], - [83443, 0, "o"], - [83444, 0, "n"], - [83445, 0, "s"], - [83446, 0, " "], - [83447, 0, "a"], - [83448, 0, "r"], - [83449, 0, "e"], - [83450, 0, " "], - [83451, 0, "a"], - [83452, 0, "p"], - [83453, 0, "p"], - [83454, 0, "l"], - [83455, 0, "i"], - [83456, 0, "e"], - [83457, 0, "d"], - [83458, 0, "."], - [83471, 0, "\n"], - [83472, 0, "\n"], - [83473, 0, "\\"], - [83474, 0, "b"], - [83475, 0, "e"], - [83476, 0, "g"], - [83477, 0, "i"], - [83478, 0, "n"], - [83479, 0, "{"], - [83480, 0, "p"], - [83481, 0, "r"], - [83482, 0, "o"], - [83483, 0, "o"], - [83484, 0, "f"], - [83485, 0, "}"], - [83486, 0, "\n"], - [83487, 0, "T"], - [83488, 0, "O"], - [83489, 0, "D"], - [83490, 0, "O"], - [83491, 0, "\n"], - [83492, 0, "\\"], - [83493, 0, "e"], - [83494, 0, "n"], - [83495, 0, "d"], - [83496, 0, "{"], - [83497, 0, "p"], - [83498, 0, "r"], - [83499, 0, "o"], - [83500, 0, "o"], - [83501, 0, "f"], - [83502, 0, "}"], - [83353, 1], - [83352, 1], - [83334, 1], - [83296, 1], - [83295, 1], - [83294, 1], - [83293, 1], - [83292, 1], - [83291, 1], - [83290, 1], - [83289, 1], - [83288, 1], - [83287, 1], - [83286, 1], - [83285, 1], - [83284, 1], - [83283, 1], - [83282, 1], - [83281, 1], - [83280, 1], - [83279, 1], - [83278, 1], - [83277, 1], - [83276, 1], - [83275, 1], - [83274, 1], - [83273, 1], - [83272, 1], - [83271, 1], - [83270, 1], - [83269, 1], - [83268, 1], - [83267, 1], - [83266, 1], - [83265, 1], - [83264, 1], - [83263, 1], - [83262, 1], - [83261, 1], - [83260, 1], - [83314, 0, "a"], - [83315, 0, "t"], - [83336, 1], - [83335, 1], - [83334, 1], - [83333, 1], - [83333, 0, "e"], - [83334, 0, "d"], - [83335, 0, " "], - [83336, 0, "e"], - [83337, 0, "l"], - [83338, 0, "e"], - [83339, 0, "m"], - [83340, 0, "e"], - [83341, 0, "n"], - [83342, 0, "t"], - [83343, 0, "s"], - [83366, 0, " "], - [83367, 0, "d"], - [83368, 0, "e"], - [83369, 0, "t"], - [83370, 0, "e"], - [83371, 0, "r"], - [83372, 0, "m"], - [83373, 0, "i"], - [83374, 0, "n"], - [83375, 0, "i"], - [83376, 0, "s"], - [83377, 0, "t"], - [83378, 0, "i"], - [83379, 0, "c"], - [83380, 0, " "], - [83381, 0, "a"], - [83382, 0, "n"], - [83383, 0, "d"], - [83473, 0, "\n"], - [83474, 0, "W"], - [83475, 0, "i"], - [83476, 0, "t"], - [83477, 0, "h"], - [83478, 0, "o"], - [83479, 0, "u"], - [83480, 0, "t"], - [83481, 0, " "], - [83482, 0, "l"], - [83483, 0, "o"], - [83484, 0, "s"], - [83485, 0, "s"], - [83486, 0, " "], - [83487, 0, "o"], - [83488, 0, "f"], - [83489, 0, " "], - [83490, 0, "g"], - [83491, 0, "e"], - [83492, 0, "n"], - [83493, 0, "e"], - [83494, 0, "r"], - [83495, 0, "a"], - [83496, 0, "l"], - [83497, 0, "i"], - [83498, 0, "t"], - [83499, 0, "y"], - [83500, 0, ","], - [83501, 0, " "], - [83502, 0, "a"], - [83503, 0, "s"], - [83504, 0, "s"], - [83505, 0, "u"], - [83506, 0, "m"], - [83507, 0, "e"], - [83508, 0, " "], - [83509, 0, "t"], - [83510, 0, "h"], - [83511, 0, "a"], - [83512, 0, "t"], - [83513, 0, " "], - [83514, 0, "$"], - [83515, 0, "o"], - [83516, 0, "_"], - [83517, 0, "r"], - [83518, 0, "."], - [83519, 0, "\\"], - [83520, 0, "m"], - [83521, 0, "a"], - [83522, 0, "t"], - [83523, 0, "h"], - [83524, 0, "i"], - [83525, 0, "t"], - [83526, 0, "{"], - [83527, 0, "i"], - [83528, 0, "d"], - [83529, 0, "}"], - [83530, 0, " "], - [83531, 0, "<"], - [83532, 0, " "], - [83533, 0, "o"], - [83534, 0, "_"], - [83535, 0, "s"], - [83536, 0, "."], - [83537, 0, "\\"], - [83538, 0, "m"], - [83539, 0, "a"], - [83540, 0, "t"], - [83541, 0, "h"], - [83542, 0, "i"], - [83543, 0, "t"], - [83544, 0, "{"], - [83545, 0, "i"], - [83546, 0, "d"], - [83547, 0, "}"], - [83548, 0, "$"], - [83549, 0, " "], - [83550, 0, "a"], - [83551, 0, "c"], - [83552, 0, "c"], - [83553, 0, "o"], - [83554, 0, "r"], - [83555, 0, "d"], - [83556, 0, "i"], - [83557, 0, "n"], - [83558, 0, "g"], - [83559, 0, " "], - [83560, 0, "t"], - [83561, 0, "o"], - [83562, 0, " "], - [83563, 0, "t"], - [83564, 0, "h"], - [83565, 0, "e"], - [83566, 0, " "], - [83567, 0, "o"], - [83568, 0, "r"], - [83569, 0, "d"], - [83570, 0, "e"], - [83571, 0, "r"], - [83572, 0, "i"], - [83573, 0, "n"], - [83574, 0, "g"], - [83575, 0, " "], - [83576, 0, "r"], - [83577, 0, "e"], - [83578, 0, "l"], - [83579, 0, "a"], - [83580, 0, "t"], - [83581, 0, "i"], - [83582, 0, "o"], - [83583, 0, "n"], - [83584, 0, " "], - [83585, 0, "o"], - [83586, 0, "n"], - [83587, 0, " "], - [83588, 0, "L"], - [83589, 0, "a"], - [83590, 0, "m"], - [83591, 0, "p"], - [83592, 0, "o"], - [83593, 0, "r"], - [83594, 0, "t"], - [83595, 0, " "], - [83596, 0, "t"], - [83597, 0, "i"], - [83598, 0, "m"], - [83599, 0, "e"], - [83600, 0, "s"], - [83601, 0, "t"], - [83602, 0, "a"], - [83603, 0, "m"], - [83604, 0, "p"], - [83605, 0, "s"], - [83606, 0, "."], - [83607, 0, " "], - [83608, 0, "("], - [83609, 0, "I"], - [83610, 0, "f"], - [83611, 0, " "], - [83612, 0, "t"], - [83613, 0, "h"], - [83614, 0, "e"], - [83615, 0, " "], - [83616, 0, "o"], - [83617, 0, "p"], - [83618, 0, "e"], - [83619, 0, "r"], - [83620, 0, "a"], - [83621, 0, "t"], - [83622, 0, "i"], - [83623, 0, "o"], - [83624, 0, "n"], - [83625, 0, " "], - [83626, 0, "I"], - [83627, 0, "D"], - [83628, 0, " "], - [83629, 0, "o"], - [83630, 0, "f"], - [83631, 0, " "], - [83632, 0, "$"], - [83633, 0, "o"], - [83634, 0, "_"], - [83635, 0, "r"], - [83636, 0, "$"], - [83637, 0, " "], - [83638, 0, "i"], - [83639, 0, "s"], - [83640, 0, " "], - [83641, 0, "g"], - [83642, 0, "r"], - [83643, 0, "e"], - [83644, 0, "a"], - [83645, 0, "t"], - [83646, 0, " "], - [83646, 1], - [83646, 0, "e"], - [83647, 0, "r"], - [83648, 0, " "], - [83649, 0, "t"], - [83650, 0, "h"], - [83651, 0, "a"], - [83652, 0, "n"], - [83653, 0, " "], - [83654, 0, "t"], - [83655, 0, "h"], - [83656, 0, "a"], - [83657, 0, "t"], - [83658, 0, " "], - [83659, 0, "o"], - [83660, 0, "f"], - [83661, 0, " "], - [83662, 0, "$"], - [83663, 0, "o"], - [83664, 0, "_"], - [83665, 0, "s"], - [83666, 0, "$"], - [83667, 0, ","], - [83668, 0, " "], - [83669, 0, "t"], - [83670, 0, "h"], - [83671, 0, "e"], - [83672, 0, " "], - [83673, 0, "t"], - [83674, 0, "w"], - [83675, 0, "o"], - [83676, 0, " "], - [83677, 0, "o"], - [83678, 0, "p"], - [83679, 0, "e"], - [83680, 0, "r"], - [83681, 0, "a"], - [83682, 0, "t"], - [83683, 0, "i"], - [83684, 0, "o"], - [83685, 0, "n"], - [83686, 0, "s"], - [83687, 0, " "], - [83688, 0, "c"], - [83689, 0, "a"], - [83690, 0, "n"], - [83691, 0, " "], - [83692, 0, "b"], - [83693, 0, "e"], - [83694, 0, " "], - [83695, 0, "s"], - [83696, 0, "w"], - [83697, 0, "a"], - [83698, 0, "p"], - [83699, 0, "p"], - [83700, 0, "e"], - [83701, 0, "d"], - [83702, 0, " "], - [83703, 0, "i"], - [83704, 0, "n"], - [83705, 0, " "], - [83706, 0, "t"], - [83707, 0, "h"], - [83708, 0, "i"], - [83709, 0, "s"], - [83710, 0, " "], - [83711, 0, "p"], - [83712, 0, "r"], - [83713, 0, "o"], - [83714, 0, "o"], - [83715, 0, "f"], - [83716, 0, "."], - [83717, 0, ")"], - [83718, 0, " "], - [83719, 0, "W"], - [83720, 0, "e"], - [83721, 0, " "], - [83722, 0, "n"], - [83723, 0, "o"], - [83724, 0, "w"], - [83725, 0, " "], - [83726, 0, "d"], - [83727, 0, "i"], - [83728, 0, "s"], - [83729, 0, "t"], - [83730, 0, "i"], - [83731, 0, "n"], - [83732, 0, "g"], - [83733, 0, "u"], - [83734, 0, "i"], - [83735, 0, "s"], - [83736, 0, "h"], - [83737, 0, " "], - [83738, 0, "t"], - [83738, 1], - [83738, 0, "t"], - [83739, 0, "h"], - [83740, 0, "e"], - [83741, 0, " "], - [83742, 0, "t"], - [83743, 0, "w"], - [83744, 0, "o"], - [83745, 0, " "], - [83746, 0, "p"], - [83747, 0, "o"], - [83748, 0, "s"], - [83749, 0, "s"], - [83750, 0, "i"], - [83751, 0, "b"], - [83752, 0, "l"], - [83753, 0, "e"], - [83754, 0, " "], - [83755, 0, "o"], - [83756, 0, "r"], - [83757, 0, "d"], - [83758, 0, "e"], - [83759, 0, "r"], - [83760, 0, "i"], - [83761, 0, "n"], - [83762, 0, "g"], - [83763, 0, "s"], - [83764, 0, " "], - [83764, 1], - [83763, 1], - [83762, 1], - [83761, 1], - [83760, 1], - [83760, 0, "s"], - [83761, 0, " "], - [83762, 0, "o"], - [83763, 0, "f"], - [83764, 0, " "], - [83765, 0, "a"], - [83766, 0, "p"], - [83767, 0, "p"], - [83768, 0, "l"], - [83769, 0, "y"], - [83770, 0, "i"], - [83771, 0, "n"], - [83772, 0, "g"], - [83773, 0, " "], - [83774, 0, "t"], - [83775, 0, "h"], - [83776, 0, "e"], - [83777, 0, " "], - [83778, 0, "o"], - [83779, 0, "p"], - [83780, 0, "e"], - [83781, 0, "r"], - [83782, 0, "a"], - [83783, 0, "t"], - [83784, 0, "i"], - [83785, 0, "o"], - [83786, 0, "n"], - [83787, 0, "s"], - [83788, 0, ":"], - [83789, 0, "\n"], - [83790, 0, "\n"], - [83791, 0, "\\"], - [83792, 0, "b"], - [83793, 0, "e"], - [83794, 0, "g"], - [83795, 0, "i"], - [83796, 0, "n"], - [83797, 0, "{"], - [83798, 0, "e"], - [83799, 0, "n"], - [83800, 0, "u"], - [83801, 0, "m"], - [83802, 0, "e"], - [83803, 0, "r"], - [83804, 0, "a"], - [83805, 0, "t"], - [83806, 0, "e"], - [83807, 0, "}"], - [83812, 1], - [83811, 1], - [83810, 1], - [83809, 1], - [83809, 0, "\\"], - [83810, 0, "e"], - [83811, 0, "n"], - [83812, 0, "d"], - [83813, 0, "{"], - [83814, 0, "e"], - [83815, 0, "n"], - [83816, 0, "u"], - [83817, 0, "m"], - [83818, 0, "e"], - [83819, 0, "r"], - [83820, 0, "a"], - [83821, 0, "t"], - [83822, 0, "e"], - [83823, 0, "}"], - [83808, 0, "\n"], - [83809, 0, "\\"], - [83810, 0, "i"], - [83811, 0, "t"], - [83812, 0, "e"], - [83813, 0, "m"], - [83814, 0, " "], - [83815, 0, "$"], - [83816, 0, "o"], - [83817, 0, "_"], - [83818, 0, "r"], - [83819, 0, "$"], - [83820, 0, " "], - [83821, 0, "i"], - [83822, 0, "s"], - [83823, 0, " "], - [83824, 0, "a"], - [83825, 0, "p"], - [83826, 0, "p"], - [83827, 0, "l"], - [83828, 0, "i"], - [83829, 0, "e"], - [83830, 0, "d"], - [83831, 0, " "], - [83832, 0, "b"], - [83833, 0, "e"], - [83834, 0, "f"], - [83835, 0, "o"], - [83836, 0, "r"], - [83837, 0, "e"], - [83838, 0, " "], - [83839, 0, "$"], - [83840, 0, "o"], - [83841, 0, "_"], - [83842, 0, "s"], - [83843, 0, "$"], - [83844, 0, " "], - [83845, 0, "i"], - [83846, 0, "n"], - [83847, 0, " "], - [83848, 0, "$"], - [83849, 0, "H"], - [83850, 0, "$"], - [83363, 0, " "], - [83364, 0, "a"], - [83365, 0, "f"], - [83366, 0, "t"], - [83367, 0, "e"], - [83368, 0, "r"], - [83369, 0, " "], - [83370, 0, "a"], - [83371, 0, "p"], - [83372, 0, "p"], - [83373, 0, "l"], - [83374, 0, "y"], - [83375, 0, "i"], - [83376, 0, "n"], - [83377, 0, "t"], - [83378, 0, " "], - [83378, 1], - [83377, 1], - [83377, 0, "g"], - [83378, 0, " "], - [83379, 0, "$"], - [83380, 0, "H"], - [83381, 0, "$"], - [83463, 1], - [83462, 1], - [83461, 1], - [83460, 1], - [83459, 1], - [83458, 1], - [83457, 1], - [83456, 1], - [83455, 1], - [83454, 1], - [83453, 1], - [83452, 1], - [83451, 1], - [83450, 1], - [83449, 1], - [83448, 1], - [83447, 1], - [83446, 1], - [83445, 1], - [83444, 1], - [83443, 1], - [83442, 1], - [83441, 1], - [83440, 1], - [83439, 1], - [83438, 1], - [83437, 1], - [83436, 1], - [83435, 1], - [83434, 1], - [83433, 1], - [83432, 1], - [83431, 1], - [83430, 1], - [83429, 1], - [83429, 0, "o"], - [83430, 0, "f"], - [83431, 0, " "], - [83432, 0, "$"], - [83433, 0, "o"], - [83434, 0, "_"], - [83435, 0, "r"], - [83436, 0, "$"], - [83437, 0, " "], - [83438, 0, "a"], - [83439, 0, "n"], - [83440, 0, "d"], - [83441, 0, " "], - [83442, 0, "$"], - [83443, 0, "o"], - [83444, 0, "_"], - [83445, 0, "s"], - [83446, 0, "$"], - [83447, 0, " "], - [83448, 0, "i"], - [83449, 0, "n"], - [83450, 0, " "], - [83451, 0, "$"], - [83452, 0, "H"], - [83453, 0, "$"], - [83860, 0, "."], - [83861, 0, " "], - [83862, 0, "T"], - [83863, 0, "h"], - [83864, 0, "u"], - [83865, 0, "s"], - [83866, 0, ","], - [83867, 0, " "], - [83868, 0, "a"], - [83869, 0, "t"], - [83870, 0, " "], - [83871, 0, "t"], - [83872, 0, "h"], - [83873, 0, "e"], - [83874, 0, " "], - [83875, 0, "t"], - [83876, 0, "i"], - [83877, 0, "m"], - [83878, 0, "e"], - [83879, 0, " "], - [83880, 0, "w"], - [83881, 0, "h"], - [83882, 0, "e"], - [83883, 0, "n"], - [83884, 0, " "], - [83885, 0, "$"], - [83886, 0, "o"], - [83887, 0, "_"], - [83888, 0, "s"], - [83889, 0, "$"], - [83890, 0, " "], - [83891, 0, "i"], - [83892, 0, "s"], - [83893, 0, " "], - [83894, 0, "a"], - [83895, 0, "p"], - [83896, 0, "p"], - [83897, 0, "l"], - [83898, 0, "i"], - [83899, 0, "e"], - [83900, 0, "d"], - [83901, 0, ","], - [83902, 0, " "], - [83903, 0, "$"], - [83904, 0, "o"], - [83905, 0, "_"], - [83906, 0, "r"], - [83907, 0, "$"], - [83908, 0, " "], - [83909, 0, "h"], - [83910, 0, "a"], - [83911, 0, "s"], - [83912, 0, " "], - [83913, 0, "a"], - [83914, 0, "l"], - [83915, 0, "r"], - [83916, 0, "e"], - [83917, 0, "a"], - [83918, 0, "d"], - [83919, 0, "y"], - [83920, 0, " "], - [83921, 0, "b"], - [83922, 0, "e"], - [83923, 0, "e"], - [83924, 0, "n"], - [83925, 0, " "], - [83926, 0, "a"], - [83927, 0, "p"], - [83928, 0, "p"], - [83929, 0, "l"], - [83930, 0, "i"], - [83931, 0, "e"], - [83932, 0, "d"], - [83933, 0, "."], - [83934, 0, " "], - [83935, 0, "W"], - [83936, 0, "h"], - [83937, 0, "e"], - [83938, 0, "n"], - [83939, 0, " "], - [83940, 0, "a"], - [83941, 0, "p"], - [83942, 0, "p"], - [83943, 0, "l"], - [83944, 0, "y"], - [83945, 0, "i"], - [83946, 0, "n"], - [83947, 0, "g"], - [83948, 0, " "], - [83949, 0, "$"], - [83950, 0, "o"], - [83951, 0, "_"], - [83952, 0, "s"], - [83953, 0, "$"], - [83954, 0, ","], - [83955, 0, " "], - [83956, 0, "s"], - [83957, 0, "i"], - [83958, 0, "n"], - [83959, 0, "c"], - [83960, 0, "e"], - [83961, 0, " "], - [83962, 0, "$"], - [83963, 0, "o"], - [83964, 0, "_"], - [83965, 0, "r"], - [83966, 0, "$"], - [83967, 0, " "], - [83968, 0, "h"], - [83969, 0, "a"], - [83970, 0, "s"], - [83971, 0, " "], - [83972, 0, "a"], - [83973, 0, " "], - [83974, 0, "l"], - [83975, 0, "e"], - [83976, 0, "s"], - [83977, 0, "s"], - [83978, 0, "e"], - [83979, 0, "r"], - [83980, 0, " "], - [83981, 0, "o"], - [83982, 0, "p"], - [83983, 0, "e"], - [83984, 0, "r"], - [83985, 0, "a"], - [83986, 0, "t"], - [83987, 0, "i"], - [83988, 0, "o"], - [83989, 0, "n"], - [83990, 0, " "], - [83991, 0, "I"], - [83992, 0, "D"], - [83993, 0, ","], - [83994, 0, " "], - [83995, 0, "t"], - [83996, 0, "h"], - [83997, 0, "e"], - [83998, 0, " "], - [83999, 0, "\\"], - [83999, 1], - [83999, 0, "r"], - [84000, 0, "u"], - [84001, 0, "l"], - [84002, 0, "e"], - [84003, 0, " "], - [84004, 0, "$"], - [84005, 0, "\\"], - [84006, 0, "t"], - [84007, 0, "e"], - [84008, 0, "x"], - [84009, 0, "t"], - [84010, 0, "s"], - [84011, 0, "c"], - [84012, 0, "{"], - [84013, 0, "I"], - [84014, 0, "n"], - [84015, 0, "s"], - [84016, 0, "e"], - [84017, 0, "r"], - [84018, 0, "t"], - [84019, 0, "}"], - [84020, 0, "_"], - [84021, 0, "1"], - [84022, 0, "$"], - [84023, 0, " "], - [84024, 0, "a"], - [84025, 0, "p"], - [84026, 0, "p"], - [84027, 0, "l"], - [84028, 0, "i"], - [84029, 0, "e"], - [84030, 0, "s"], - [84031, 0, " "], - [84032, 0, "w"], - [84033, 0, "i"], - [84034, 0, "t"], - [84035, 0, "h"], - [84036, 0, " "], - [84037, 0, "$"], - [84038, 0, "\\"], - [84039, 0, "m"], - [84040, 0, "a"], - [84041, 0, "t"], - [84042, 0, "h"], - [84043, 0, "i"], - [84044, 0, "t"], - [84045, 0, "{"], - [84046, 0, "n"], - [84047, 0, "e"], - [84048, 0, "x"], - [84049, 0, "t"], - [84050, 0, "}"], - [84051, 0, " "], - [84052, 0, "="], - [84053, 0, " "], - [84054, 0, "o"], - [84055, 0, "_"], - [84056, 0, "r"], - [84057, 0, "."], - [84058, 0, "\\"], - [84059, 0, "m"], - [84060, 0, "a"], - [84061, 0, "t"], - [84062, 0, "h"], - [84063, 0, "i"], - [84064, 0, "t"], - [84065, 0, "{"], - [84066, 0, "i"], - [84067, 0, "d"], - [84068, 0, "}"], - [84069, 0, "$"], - [84070, 0, " "], - [84071, 0, "a"], - [84072, 0, "t"], - [84073, 0, " "], - [84074, 0, "t"], - [84075, 0, "h"], - [84076, 0, "e"], - [84077, 0, " "], - [84078, 0, "l"], - [84079, 0, "a"], - [84080, 0, "t"], - [84081, 0, "e"], - [84082, 0, "s"], - [84083, 0, "t"], - [84084, 0, ","], - [84085, 0, " "], - [84086, 0, "s"], - [84087, 0, "o"], - [84088, 0, " "], - [84089, 0, "t"], - [84090, 0, "h"], - [84091, 0, "e"], - [84092, 0, " "], - [84093, 0, "i"], - [84094, 0, "n"], - [84095, 0, "s"], - [84096, 0, "e"], - [84097, 0, "r"], - [84098, 0, "t"], - [84099, 0, "i"], - [84100, 0, "o"], - [84101, 0, "n"], - [84102, 0, " "], - [84103, 0, "p"], - [84104, 0, "o"], - [84105, 0, "s"], - [84106, 0, "i"], - [84107, 0, "t"], - [84108, 0, "i"], - [84109, 0, "o"], - [84110, 0, "n"], - [84111, 0, " "], - [84112, 0, "o"], - [84113, 0, "f"], - [84114, 0, " "], - [84115, 0, "$"], - [84116, 0, "o"], - [84117, 0, "_"], - [84118, 0, "s"], - [84119, 0, "$"], - [84120, 0, " "], - [84121, 0, "m"], - [84122, 0, "u"], - [84123, 0, "s"], - [84124, 0, "t"], - [84125, 0, " "], - [84126, 0, "a"], - [84127, 0, "p"], - [84128, 0, "p"], - [84129, 0, "e"], - [84130, 0, "a"], - [84131, 0, "r"], - [84132, 0, " "], - [84133, 0, "b"], - [84134, 0, "e"], - [84135, 0, "f"], - [84136, 0, "o"], - [84137, 0, "r"], - [84138, 0, "e"], - [84139, 0, " "], - [84140, 0, "$"], - [84141, 0, "o"], - [84142, 0, "_"], - [84143, 0, "r"], - [84144, 0, "$"], - [84145, 0, "."], - [84146, 0, " "], - [84147, 0, "I"], - [84148, 0, "t"], - [84149, 0, " "], - [84150, 0, "i"], - [84151, 0, "s"], - [84152, 0, " "], - [84153, 0, "n"], - [84154, 0, "o"], - [84155, 0, "t"], - [84156, 0, " "], - [84157, 0, "p"], - [84158, 0, "o"], - [84159, 0, "s"], - [84160, 0, "s"], - [84161, 0, "i"], - [84162, 0, "b"], - [84163, 0, "l"], - [84164, 0, "e"], - [84165, 0, " "], - [84166, 0, "f"], - [84167, 0, "o"], - [84168, 0, "r"], - [84169, 0, " "], - [84170, 0, "I"], - [84171, 0, "n"], - [84172, 0, "s"], - [84173, 0, "e"], - [84174, 0, "r"], - [84175, 0, "t"], - [84170, 0, "$"], - [84171, 0, "\\"], - [84172, 0, "m"], - [84173, 0, "a"], - [84174, 0, "t"], - [84175, 0, "h"], - [84175, 1], - [84174, 1], - [84173, 1], - [84172, 1], - [84172, 0, "t"], - [84173, 0, "e"], - [84174, 0, "x"], - [84175, 0, "t"], - [84176, 0, "s"], - [84177, 0, "c"], - [84178, 0, "{"], - [84185, 0, "}"], - [84186, 0, "_"], - [84187, 0, "2"], - [84188, 0, "$"], - [84189, 0, " "], - [84190, 0, "t"], - [84191, 0, "o"], - [84192, 0, " "], - [84193, 0, "s"], - [84194, 0, "k"], - [84195, 0, "i"], - [84196, 0, "p"], - [84197, 0, " "], - [84198, 0, "p"], - [84199, 0, "a"], - [84200, 0, "s"], - [84201, 0, "t"], - [84202, 0, " "], - [84203, 0, "o"], - [84203, 1], - [84203, 0, "$"], - [84204, 0, "o"], - [84205, 0, "_"], - [84206, 0, "r"], - [84207, 0, "$"], - [84208, 0, "."], - [84209, 0, "\n"], - [84210, 0, "\n"], - [84211, 0, "\\"], - [84212, 0, "i"], - [84213, 0, "t"], - [84214, 0, "e"], - [84215, 0, "m"], - [84216, 0, " "], - [84217, 0, "$"], - [84218, 0, "o"], - [84219, 0, "_"], - [84220, 0, "s"], - [84221, 0, "$"], - [84222, 0, " "], - [84223, 0, "i"], - [84224, 0, "s"], - [84225, 0, " "], - [84226, 0, "a"], - [84227, 0, "p"], - [84228, 0, "p"], - [84229, 0, "l"], - [84230, 0, "i"], - [84231, 0, "e"], - [84232, 0, "d"], - [84233, 0, " "], - [84234, 0, "b"], - [84235, 0, "e"], - [84236, 0, "f"], - [84237, 0, "o"], - [84238, 0, "r"], - [84239, 0, "e"], - [84240, 0, " "], - [84241, 0, "$"], - [84242, 0, "o"], - [84243, 0, "_"], - [84244, 0, "r"], - [84245, 0, "$"], - [84246, 0, " "], - [84247, 0, "i"], - [84248, 0, "n"], - [84249, 0, " "], - [84250, 0, "$"], - [84251, 0, "H"], - [84252, 0, "$"], - [84253, 0, "."], - [84254, 0, " "], - [84255, 0, "T"], - [84256, 0, "h"], - [84257, 0, "u"], - [84258, 0, "s"], - [84259, 0, ","], - [84260, 0, " "], - [84261, 0, "a"], - [84262, 0, "t"], - [84263, 0, " "], - [84264, 0, "t"], - [84265, 0, "h"], - [84266, 0, "e"], - [84267, 0, " "], - [84268, 0, "t"], - [84269, 0, "i"], - [84270, 0, "m"], - [84271, 0, "e"], - [84272, 0, " "], - [84273, 0, "w"], - [84274, 0, "h"], - [84275, 0, "e"], - [84276, 0, "n"], - [84277, 0, " "], - [84278, 0, "$"], - [84279, 0, "o"], - [84280, 0, "_"], - [84281, 0, "r"], - [84282, 0, "$"], - [84283, 0, " "], - [84284, 0, "i"], - [84285, 0, "s"], - [84286, 0, " "], - [84287, 0, "a"], - [84288, 0, "p"], - [84289, 0, "p"], - [84290, 0, "l"], - [84291, 0, "i"], - [84292, 0, "e"], - [84293, 0, "d"], - [84294, 0, ","], - [84295, 0, " "], - [84296, 0, "$"], - [84297, 0, "o"], - [84298, 0, "_"], - [84299, 0, "s"], - [84300, 0, "$"], - [84301, 0, " "], - [84302, 0, "h"], - [84303, 0, "a"], - [84304, 0, "s"], - [84305, 0, " "], - [84306, 0, "a"], - [84307, 0, "l"], - [84308, 0, "r"], - [84309, 0, "e"], - [84310, 0, "a"], - [84311, 0, "d"], - [84312, 0, "y"], - [84313, 0, " "], - [84314, 0, "b"], - [84315, 0, "e"], - [84316, 0, "e"], - [84317, 0, "n"], - [84318, 0, " "], - [84319, 0, "a"], - [84320, 0, "p"], - [84321, 0, "p"], - [84322, 0, "l"], - [84323, 0, "i"], - [84324, 0, "e"], - [84325, 0, "d"], - [84326, 0, "."], - [84327, 0, " "], - [84328, 0, "T"], - [84329, 0, "O"], - [84330, 0, "D"], - [84331, 0, "O"], - [84331, 1], - [84330, 1], - [84329, 1], - [84328, 1], - [84328, 0, "W"], - [84329, 0, "h"], - [84330, 0, "e"], - [84331, 0, "n"], - [84332, 0, " "], - [84333, 0, "a"], - [84334, 0, "p"], - [84335, 0, "p"], - [84336, 0, "l"], - [84337, 0, "y"], - [84338, 0, "i"], - [84339, 0, "n"], - [84340, 0, "g"], - [84341, 0, " "], - [84342, 0, "$"], - [84343, 0, "o"], - [84344, 0, "_"], - [84345, 0, "r"], - [84346, 0, "$"], - [84347, 0, ","], - [84348, 0, " "], - [84349, 0, "t"], - [84350, 0, "h"], - [84351, 0, "e"], - [84352, 0, " "], - [84353, 0, "r"], - [84354, 0, "u"], - [84355, 0, "l"], - [84356, 0, "e"], - [84357, 0, " "], - [84358, 0, "$"], - [84359, 0, "\\"], - [84360, 0, "t"], - [84361, 0, "e"], - [84362, 0, "x"], - [84363, 0, "t"], - [84364, 0, "s"], - [84365, 0, "c"], - [84366, 0, "{"], - [84367, 0, "I"], - [84368, 0, "n"], - [84369, 0, "s"], - [84370, 0, "e"], - [84371, 0, "r"], - [84372, 0, "t"], - [84373, 0, "_"], - [84373, 1], - [84373, 0, "}"], - [84374, 0, "_"], - [84375, 0, "2"], - [84376, 0, "$"], - [84377, 0, " "], - [84378, 0, "a"], - [84379, 0, "p"], - [84380, 0, "p"], - [84381, 0, "l"], - [84382, 0, "i"], - [84383, 0, "e"], - [84384, 0, "s"], - [84385, 0, " "], - [84386, 0, "w"], - [84387, 0, "i"], - [84388, 0, "t"], - [84389, 0, "h"], - [84390, 0, " "], - [84391, 0, "$"], - [84392, 0, "\\"], - [84393, 0, "m"], - [84394, 0, "a"], - [84395, 0, "t"], - [84396, 0, "h"], - [84397, 0, "i"], - [84398, 0, "t"], - [84399, 0, "{"], - [84400, 0, "n"], - [84401, 0, "e"], - [84402, 0, "x"], - [84403, 0, "t"], - [84404, 0, "}"], - [84405, 0, " "], - [84406, 0, "="], - [84407, 0, " "], - [84408, 0, "o"], - [84409, 0, "_"], - [84410, 0, "s"], - [84411, 0, "."], - [84412, 0, "\\"], - [84413, 0, "m"], - [84414, 0, "a"], - [84415, 0, "t"], - [84416, 0, "h"], - [84417, 0, "i"], - [84418, 0, "t"], - [84419, 0, "{"], - [84420, 0, "i"], - [84421, 0, "d"], - [84422, 0, "}"], - [84423, 0, "$"], - [84424, 0, " "], - [84424, 1], - [84424, 0, ","], - [84425, 0, " "], - [84426, 0, "s"], - [84427, 0, "o"], - [84428, 0, " "], - [84429, 0, "t"], - [84430, 0, "h"], - [84431, 0, "e"], - [84432, 0, " "], - [84433, 0, "r"], - [84434, 0, "u"], - [84435, 0, "l"], - [84436, 0, "e"], - [84437, 0, " "], - [84438, 0, "s"], - [84439, 0, "k"], - [84440, 0, "i"], - [84441, 0, "p"], - [84442, 0, "s"], - [84443, 0, " "], - [84444, 0, "o"], - [84445, 0, "v"], - [84446, 0, "e"], - [84447, 0, "r"], - [84448, 0, " "], - [84449, 0, "$"], - [84450, 0, "o"], - [84451, 0, "_"], - [84452, 0, "s"], - [84453, 0, "$"], - [84454, 0, " "], - [84455, 0, "a"], - [84456, 0, "n"], - [84457, 0, "d"], - [84458, 0, " "], - [84447, 1], - [84446, 1], - [84445, 1], - [84444, 1], - [84444, 0, "p"], - [84445, 0, "a"], - [84446, 0, "s"], - [84447, 0, "t"], - [84459, 0, "i"], - [84460, 0, "n"], - [84461, 0, "s"], - [84462, 0, "e"], - [84463, 0, "r"], - [84464, 0, "t"], - [84465, 0, "s"], - [84466, 0, " "], - [84467, 0, "$"], - [84468, 0, "o"], - [84469, 0, "_"], - [84470, 0, "r"], - [84471, 0, "$"], - [84472, 0, " "], - [84473, 0, "a"], - [84474, 0, "t"], - [84475, 0, " "], - [84476, 0, "a"], - [84477, 0, " "], - [84478, 0, "p"], - [84479, 0, "o"], - [84480, 0, "s"], - [84481, 0, "i"], - [84482, 0, "t"], - [84483, 0, "i"], - [84484, 0, "o"], - [84485, 0, "n"], - [84486, 0, " "], - [84487, 0, "a"], - [84488, 0, "f"], - [84489, 0, "t"], - [84490, 0, "e"], - [84491, 0, "r"], - [84492, 0, " "], - [84493, 0, "$"], - [84494, 0, "o"], - [84495, 0, "_"], - [84496, 0, "s"], - [84497, 0, "$"], - [84498, 0, "."], - [84499, 0, " "], - [84500, 0, "M"], - [84501, 0, "o"], - [84502, 0, "r"], - [84503, 0, "e"], - [84504, 0, "o"], - [84505, 0, "v"], - [84506, 0, "e"], - [84507, 0, "r"], - [84508, 0, ","], - [84509, 0, " "], - [84510, 0, "a"], - [84511, 0, "n"], - [84512, 0, "y"], - [84513, 0, " "], - [84514, 0, "l"], - [84515, 0, "i"], - [84516, 0, "s"], - [84517, 0, "t"], - [84518, 0, " "], - [84519, 0, "e"], - [84520, 0, "l"], - [84521, 0, "e"], - [84522, 0, "m"], - [84523, 0, "e"], - [84524, 0, "n"], - [84525, 0, "t"], - [84526, 0, "s"], - [84527, 0, " "], - [84528, 0, "b"], - [84529, 0, "e"], - [84530, 0, "t"], - [84531, 0, "w"], - [84532, 0, "e"], - [84533, 0, "e"], - [84534, 0, "n"], - [84535, 0, " "], - [84536, 0, "$"], - [84537, 0, "o"], - [84538, 0, "_"], - [84539, 0, "s"], - [84540, 0, "."], - [84541, 0, "\\"], - [84542, 0, "m"], - [84543, 0, "a"], - [84544, 0, "t"], - [84545, 0, "h"], - [84546, 0, "i"], - [84547, 0, "t"], - [84548, 0, "{"], - [84549, 0, "c"], - [84550, 0, "u"], - [84551, 0, "r"], - [84552, 0, "}"], - [84553, 0, "$"], - [84554, 0, " "], - [84555, 0, "a"], - [84556, 0, "n"], - [84557, 0, "d"], - [84558, 0, " "], - [84559, 0, "$"], - [84560, 0, "o"], - [84527, 0, " "], - [84528, 0, "t"], - [84529, 0, "h"], - [84530, 0, "a"], - [84531, 0, "t"], - [84532, 0, " "], - [84533, 0, "a"], - [84534, 0, "p"], - [84535, 0, "p"], - [84536, 0, "e"], - [84537, 0, "a"], - [84538, 0, "r"], - [84573, 0, "_"], - [84574, 0, "s"], - [84575, 0, "$"], - [84576, 0, " "], - [84577, 0, "a"], - [84578, 0, "t"], - [84579, 0, " "], - [84580, 0, "t"], - [84581, 0, "h"], - [84582, 0, "e"], - [84583, 0, " "], - [84584, 0, "t"], - [84585, 0, "i"], - [84586, 0, "m"], - [84587, 0, "e"], - [84588, 0, " "], - [84589, 0, "o"], - [84590, 0, "f"], - [84591, 0, " "], - [84592, 0, "i"], - [84593, 0, "n"], - [84594, 0, "s"], - [84595, 0, "e"], - [84596, 0, "r"], - [84597, 0, "t"], - [84598, 0, "i"], - [84599, 0, "n"], - [84600, 0, "g"], - [84601, 0, " "], - [84602, 0, "$"], - [84603, 0, "o"], - [84604, 0, "_"], - [84605, 0, "r"], - [84606, 0, "$"], - [84607, 0, " "], - [84608, 0, "m"], - [84609, 0, "u"], - [84610, 0, "s"], - [84611, 0, "t"], - [84612, 0, " "], - [84613, 0, "h"], - [84614, 0, "a"], - [84615, 0, "v"], - [84616, 0, "e"], - [84617, 0, " "], - [84618, 0, "a"], - [84619, 0, " "], - [84620, 0, "L"], - [84621, 0, "a"], - [84622, 0, "m"], - [84623, 0, "p"], - [84624, 0, "o"], - [84625, 0, "r"], - [84626, 0, "t"], - [84627, 0, " "], - [84628, 0, "t"], - [84629, 0, "i"], - [84630, 0, "m"], - [84631, 0, "e"], - [84632, 0, "s"], - [84633, 0, "t"], - [84634, 0, "a"], - [84635, 0, "m"], - [84636, 0, "p"], - [84637, 0, " "], - [84638, 0, "g"], - [84639, 0, "r"], - [84640, 0, "e"], - [84641, 0, "a"], - [84642, 0, "t"], - [84643, 0, "e"], - [84644, 0, "r"], - [84645, 0, " "], - [84646, 0, "t"], - [84647, 0, "h"], - [84648, 0, "a"], - [84649, 0, "t"], - [84650, 0, "n"], - [84650, 1], - [84649, 1], - [84649, 0, "n"], - [84650, 0, " "], - [84651, 0, "$"], - [84652, 0, "o"], - [84653, 0, "_"], - [84654, 0, "s"], - [84655, 0, "."], - [84656, 0, "\\"], - [84657, 0, "m"], - [84658, 0, "a"], - [84659, 0, "t"], - [84660, 0, "h"], - [84661, 0, "i"], - [84662, 0, "t"], - [84663, 0, "{"], - [84664, 0, "i"], - [84665, 0, "d"], - [84666, 0, "}"], - [84667, 0, "$"], - [84668, 0, ","], - [84669, 0, " "], - [84670, 0, "b"], - [84671, 0, "e"], - [84672, 0, "c"], - [84673, 0, "a"], - [84674, 0, "u"], - [84675, 0, "s"], - [84676, 0, "e"], - [84677, 0, " "], - [84677, 1], - [84676, 1], - [84675, 1], - [84674, 1], - [84673, 1], - [84672, 1], - [84671, 1], - [84670, 1], - [84670, 0, "s"], - [84671, 0, "o"], - [84672, 0, " "], - [84673, 0, "$"], - [84674, 0, "'"], - [84674, 1], - [84674, 0, "\\"], - [84675, 0, "t"], - [84676, 0, "e"], - [84677, 0, "x"], - [84678, 0, "t"], - [84679, 0, "s"], - [84680, 0, "c"], - [84681, 0, "{"], - [84682, 0, "I"], - [84683, 0, "n"], - [84684, 0, "s"], - [84685, 0, "e"], - [84686, 0, "r"], - [84687, 0, "t"], - [84688, 0, "}"], - [84689, 0, "_"], - [84690, 0, "2"], - [84691, 0, "$"], - [84692, 0, " "], - [84693, 0, "a"], - [84694, 0, "l"], - [84695, 0, "s"], - [84696, 0, "o"], - [84697, 0, " "], - [84698, 0, "s"], - [84699, 0, "k"], - [84700, 0, "i"], - [84701, 0, "p"], - [84702, 0, "s"], - [84703, 0, " "], - [84704, 0, "o"], - [84705, 0, "v"], - [84706, 0, "e"], - [84707, 0, "r"], - [84708, 0, " "], - [84709, 0, "t"], - [84710, 0, "h"], - [84711, 0, "o"], - [84712, 0, "s"], - [84713, 0, "e"], - [84714, 0, " "], - [84715, 0, "l"], - [84716, 0, "i"], - [84717, 0, "s"], - [84718, 0, "t"], - [84719, 0, " "], - [84720, 0, "e"], - [84721, 0, "l"], - [84722, 0, "e"], - [84723, 0, "m"], - [84724, 0, "e"], - [84725, 0, "n"], - [84726, 0, "t"], - [84727, 0, "s"], - [84728, 0, " "], - [84729, 0, "w"], - [84730, 0, "h"], - [84731, 0, "e"], - [84732, 0, "n"], - [84733, 0, " "], - [84734, 0, "i"], - [84735, 0, "n"], - [84736, 0, "s"], - [84737, 0, "e"], - [84738, 0, "r"], - [84739, 0, "t"], - [84740, 0, "i"], - [84741, 0, "n"], - [84742, 0, "g"], - [84743, 0, " "], - [84744, 0, "$"], - [84745, 0, "o"], - [84746, 0, "_"], - [84747, 0, "r"], - [84748, 0, "$"], - [84749, 0, "."], - [84750, 0, " "], - [84751, 0, "T"], - [84752, 0, "h"], - [84753, 0, "u"], - [84754, 0, "s"], - [84755, 0, ","], - [84756, 0, " "], - [84757, 0, "t"], - [84758, 0, "h"], - [84759, 0, "e"], - [84760, 0, " "], - [84761, 0, "i"], - [84762, 0, "n"], - [84763, 0, "s"], - [84764, 0, "e"], - [84765, 0, "r"], - [84766, 0, "t"], - [84767, 0, "i"], - [84768, 0, "o"], - [84769, 0, "n"], - [84770, 0, " "], - [84771, 0, "p"], - [84772, 0, "o"], - [84773, 0, "s"], - [84774, 0, "i"], - [84775, 0, "t"], - [84776, 0, "i"], - [84777, 0, "o"], - [84778, 0, "n"], - [84779, 0, " "], - [84780, 0, "o"], - [84781, 0, "f"], - [84782, 0, " "], - [84783, 0, "$"], - [84784, 0, "o"], - [84785, 0, "_"], - [84786, 0, "r"], - [84787, 0, "$"], - [84788, 0, " "], - [84789, 0, "m"], - [84790, 0, "u"], - [84791, 0, "s"], - [84792, 0, "t"], - [84793, 0, " "], - [84794, 0, "b"], - [84795, 0, "e"], - [84796, 0, " "], - [84797, 0, "a"], - [84798, 0, "f"], - [84799, 0, "t"], - [84800, 0, "e"], - [84801, 0, "r"], - [84802, 0, " "], - [84803, 0, "$"], - [84804, 0, "o"], - [84805, 0, "_"], - [84806, 0, "s"], - [84807, 0, "$"], - [84808, 0, "."], - [84826, 0, "\n"], - [84826, 0, "\n"], - [84827, 0, "I"], - [84828, 0, "n"], - [84829, 0, " "], - [84830, 0, "b"], - [84831, 0, "o"], - [84832, 0, "t"], - [84833, 0, "h"], - [84834, 0, " "], - [84835, 0, "c"], - [84836, 0, "a"], - [84837, 0, "s"], - [84838, 0, "e"], - [84839, 0, "s"], - [84840, 0, ","], - [84841, 0, " "], - [84842, 0, "t"], - [84843, 0, "h"], - [84844, 0, "e"], - [84845, 0, " "], - [84846, 0, "i"], - [84847, 0, "n"], - [84848, 0, "s"], - [84849, 0, "e"], - [84850, 0, "r"], - [84851, 0, "t"], - [84852, 0, "i"], - [84853, 0, "o"], - [84854, 0, "n"], - [84855, 0, " "], - [84856, 0, "p"], - [84857, 0, "o"], - [84858, 0, "s"], - [84859, 0, "i"], - [84860, 0, "t"], - [84861, 0, "i"], - [84862, 0, "o"], - [84863, 0, "n"], - [84864, 0, " "], - [84865, 0, "o"], - [84866, 0, "f"], - [84867, 0, " "], - [84868, 0, "$"], - [84869, 0, "o"], - [84870, 0, "_"], - [84871, 0, "r"], - [84872, 0, "$"], - [84873, 0, " "], - [84874, 0, "a"], - [84875, 0, "p"], - [84876, 0, "p"], - [84877, 0, "e"], - [84878, 0, "a"], - [84879, 0, "r"], - [84880, 0, "s"], - [84881, 0, " "], - [84882, 0, "a"], - [84883, 0, "f"], - [84884, 0, "t"], - [84885, 0, "e"], - [84886, 0, "r"], - [84887, 0, " "], - [84888, 0, "t"], - [84889, 0, "h"], - [84890, 0, "e"], - [84891, 0, " "], - [84892, 0, "i"], - [84893, 0, "n"], - [84894, 0, "s"], - [84895, 0, "e"], - [84896, 0, "r"], - [84897, 0, "t"], - [84898, 0, "i"], - [84899, 0, "o"], - [84900, 0, "n"], - [84901, 0, " "], - [84902, 0, "p"], - [84903, 0, "o"], - [84904, 0, "s"], - [84905, 0, "i"], - [84906, 0, "t"], - [84907, 0, "i"], - [84908, 0, "o"], - [84909, 0, "n"], - [84910, 0, " "], - [84911, 0, "o"], - [84912, 0, "f"], - [84913, 0, " "], - [84914, 0, "$"], - [84915, 0, "o"], - [84916, 0, "_"], - [84917, 0, "s"], - [84918, 0, "$"], - [84919, 0, "."], - [84920, 0, " "], - [84920, 1], - [84919, 1], - [84840, 1], - [84839, 1], - [84838, 1], - [84837, 1], - [84836, 1], - [84835, 1], - [84834, 1], - [84833, 1], - [84832, 1], - [84831, 1], - [84830, 1], - [84829, 1], - [84828, 1], - [84827, 1], - [84827, 0, "T"], - [84828, 0, "h"], - [84829, 0, "u"], - [84830, 0, "s"], - [84831, 0, ","], - [84910, 0, ","], - [84911, 0, " "], - [84912, 0, "r"], - [84913, 0, "e"], - [84914, 0, "g"], - [84915, 0, "a"], - [84916, 0, "r"], - [84917, 0, "d"], - [84918, 0, "l"], - [84919, 0, "e"], - [84920, 0, "s"], - [84921, 0, "s"], - [84922, 0, " "], - [84923, 0, "o"], - [84924, 0, "f"], - [84925, 0, " "], - [84926, 0, "t"], - [84927, 0, "h"], - [84928, 0, "e"], - [84929, 0, " "], - [84930, 0, "o"], - [84931, 0, "r"], - [84932, 0, "d"], - [84933, 0, "e"], - [84934, 0, "r"], - [84935, 0, " "], - [84936, 0, "i"], - [84937, 0, "n"], - [84938, 0, " "], - [84939, 0, "w"], - [84940, 0, "h"], - [84941, 0, "i"], - [84942, 0, "c"], - [84943, 0, "h"], - [84944, 0, " "], - [84945, 0, "t"], - [84946, 0, "h"], - [84947, 0, "e"], - [84948, 0, " "], - [84949, 0, "t"], - [84950, 0, "w"], - [84951, 0, "o"], - [84952, 0, " "], - [84953, 0, "o"], - [84954, 0, "p"], - [84955, 0, "e"], - [84956, 0, "r"], - [84957, 0, "a"], - [84958, 0, "t"], - [84959, 0, "i"], - [84960, 0, "o"], - [84961, 0, "n"], - [84962, 0, "s"], - [84963, 0, " "], - [84964, 0, "a"], - [84965, 0, "r"], - [84966, 0, "e"], - [84967, 0, " "], - [84968, 0, "a"], - [84969, 0, "p"], - [84970, 0, "p"], - [84971, 0, "l"], - [84972, 0, "i"], - [84973, 0, "e"], - [84974, 0, "d"], - [84975, 0, "."], - [84976, 0, " "], - [84977, 0, "S"], - [84977, 1], - [84977, 0, "T"], - [84978, 0, "h"], - [84979, 0, "e"], - [84980, 0, " "], - [84981, 0, "o"], - [84982, 0, "r"], - [84983, 0, "d"], - [84984, 0, "e"], - [84985, 0, "r"], - [84986, 0, "i"], - [84987, 0, "n"], - [84988, 0, "g"], - [84989, 0, " "], - [84990, 0, "d"], - [84991, 0, "e"], - [84992, 0, "p"], - [84993, 0, "e"], - [84994, 0, "n"], - [84995, 0, "d"], - [84996, 0, "s"], - [84997, 0, " "], - [84998, 0, "o"], - [84999, 0, "n"], - [85000, 0, "l"], - [85001, 0, "y"], - [85002, 0, " "], - [85003, 0, "o"], - [85004, 0, "n"], - [85005, 0, " "], - [85006, 0, "t"], - [85007, 0, "h"], - [85008, 0, "e"], - [85009, 0, " "], - [85010, 0, "o"], - [85011, 0, "p"], - [85012, 0, "e"], - [85013, 0, "r"], - [85014, 0, "a"], - [85015, 0, "t"], - [85016, 0, "i"], - [85017, 0, "o"], - [85018, 0, "n"], - [85019, 0, " "], - [85020, 0, "I"], - [85021, 0, "D"], - [85022, 0, "s"], - [85023, 0, ","], - [85024, 0, " "], - [85025, 0, "a"], - [85026, 0, "n"], - [85027, 0, "d"], - [85028, 0, " "], - [85029, 0, "s"], - [85030, 0, "i"], - [85031, 0, "n"], - [85032, 0, "c"], - [85033, 0, "e"], - [85034, 0, " "], - [85035, 0, "t"], - [85036, 0, "h"], - [85037, 0, "e"], - [85038, 0, "s"], - [85039, 0, "e"], - [85040, 0, " "], - [85041, 0, "I"], - [85042, 0, "D"], - [85043, 0, "s"], - [85044, 0, " "], - [85045, 0, "a"], - [85046, 0, "r"], - [85047, 0, "e"], - [85048, 0, " "], - [85049, 0, "f"], - [85050, 0, "i"], - [85051, 0, "x"], - [85052, 0, "e"], - [85053, 0, "d"], - [85054, 0, " "], - [85055, 0, "a"], - [85056, 0, "t"], - [85057, 0, " "], - [85058, 0, "t"], - [85059, 0, "h"], - [85060, 0, "e"], - [85061, 0, " "], - [85062, 0, "t"], - [85063, 0, "o"], - [85064, 0, "m"], - [85064, 1], - [85063, 1], - [85063, 0, "i"], - [85064, 0, "m"], - [85065, 0, "e"], - [85066, 0, " "], - [85067, 0, "t"], - [85068, 0, "h"], - [85069, 0, "e"], - [85070, 0, " "], - [85071, 0, "o"], - [85072, 0, "p"], - [85073, 0, "e"], - [85074, 0, "r"], - [85075, 0, "a"], - [85076, 0, "t"], - [85077, 0, "i"], - [85078, 0, "o"], - [85079, 0, "n"], - [85080, 0, "s"], - [85081, 0, " "], - [85082, 0, "a"], - [85083, 0, "r"], - [85084, 0, "e"], - [85085, 0, " "], - [85086, 0, "g"], - [85087, 0, "e"], - [85088, 0, "n"], - [85089, 0, "e"], - [85090, 0, "r"], - [85091, 0, "a"], - [85092, 0, "t"], - [85093, 0, "e"], - [85094, 0, "d"], - [85095, 0, ","], - [85096, 0, " "], - [85097, 0, "t"], - [85098, 0, "h"], - [85099, 0, "e"], - [85100, 0, " "], - [85101, 0, "l"], - [85102, 0, "i"], - [85103, 0, "s"], - [85104, 0, "t"], - [85105, 0, " "], - [85106, 0, "o"], - [85107, 0, "r"], - [85108, 0, "d"], - [85109, 0, "e"], - [85110, 0, "r"], - [85111, 0, " "], - [85112, 0, "i"], - [85113, 0, "s"], - [85114, 0, " "], - [85115, 0, "d"], - [85116, 0, "e"], - [85117, 0, "t"], - [85118, 0, "e"], - [85119, 0, "r"], - [85120, 0, "m"], - [85121, 0, "i"], - [85122, 0, "n"], - [85123, 0, "e"], - [85124, 0, "d"], - [85125, 0, " "], - [85126, 0, "b"], - [85127, 0, "y"], - [85128, 0, " "], - [85129, 0, "t"], - [85130, 0, "h"], - [85131, 0, "e"], - [85132, 0, " "], - [85133, 0, "I"], - [85134, 0, "D"], - [85135, 0, "s"], - [85136, 0, "."], - [86954, 1], - [86953, 1], - [86952, 1], - [86951, 1], - [86950, 1], - [86949, 1], - [86948, 1], - [86947, 1], - [86946, 1], - [86945, 1], - [86944, 1], - [86943, 1], - [86942, 1], - [86941, 1], - [86940, 1], - [86939, 1], - [86938, 1], - [86937, 1], - [86936, 1], - [86935, 1], - [86934, 1], - [86933, 1], - [86932, 1], - [86931, 1], - [86930, 1], - [86929, 1], - [86928, 1], - [86927, 1], - [86926, 1], - [86925, 1], - [86924, 1], - [86923, 1], - [86922, 1], - [86921, 1], - [86920, 1], - [86919, 1], - [86918, 1], - [86917, 1], - [86916, 1], - [86915, 1], - [86914, 1], - [86913, 1], - [86912, 1], - [86911, 1], - [86910, 1], - [86909, 1], - [86908, 1], - [86907, 1], - [86906, 1], - [86905, 1], - [86904, 1], - [86903, 1], - [86902, 1], - [86901, 1], - [86900, 1], - [86899, 1], - [86898, 1], - [86897, 1], - [86896, 1], - [86895, 1], - [86894, 1], - [86893, 1], - [86892, 1], - [86891, 1], - [86890, 1], - [86889, 1], - [86888, 1], - [86887, 1], - [86886, 1], - [86885, 1], - [86884, 1], - [86883, 1], - [86882, 1], - [86881, 1], - [86880, 1], - [86879, 1], - [86878, 1], - [86877, 1], - [86876, 1], - [86875, 1], - [86874, 1], - [86873, 1], - [86872, 1], - [86871, 1], - [86870, 1], - [86869, 1], - [86868, 1], - [86867, 1], - [86866, 1], - [86865, 1], - [86864, 1], - [86863, 1], - [86862, 1], - [86861, 1], - [86858, 1], - [86857, 1], - [86856, 1], - [86855, 1], - [86854, 1], - [86853, 1], - [86852, 1], - [86851, 1], - [86850, 1], - [86849, 1], - [86848, 1], - [86847, 1], - [86846, 1], - [86845, 1], - [86844, 1], - [86843, 1], - [86842, 1], - [86841, 1], - [86840, 1], - [86839, 1], - [86838, 1], - [86837, 1], - [86836, 1], - [86835, 1], - [86834, 1], - [86833, 1], - [86832, 1], - [86831, 1], - [86830, 1], - [86829, 1], - [86828, 1], - [86827, 1], - [86826, 1], - [86825, 1], - [86824, 1], - [86823, 1], - [86822, 1], - [86821, 1], - [86820, 1], - [86819, 1], - [86818, 1], - [86817, 1], - [86816, 1], - [86815, 1], - [86814, 1], - [86813, 1], - [86812, 1], - [86811, 1], - [86810, 1], - [86809, 1], - [86808, 1], - [86807, 1], - [86806, 1], - [86805, 1], - [86804, 1], - [86803, 1], - [86802, 1], - [86801, 1], - [86800, 1], - [86799, 1], - [86798, 1], - [86797, 1], - [86796, 1], - [86795, 1], - [86794, 1], - [86793, 1], - [86792, 1], - [86791, 1], - [86790, 1], - [86789, 1], - [86788, 1], - [86787, 1], - [86786, 1], - [86785, 1], - [86784, 1], - [86783, 1], - [86782, 1], - [86781, 1], - [86780, 1], - [86779, 1], - [86778, 1], - [86777, 1], - [86776, 1], - [86775, 1], - [86774, 1], - [86773, 1], - [86772, 1], - [86771, 1], - [86770, 1], - [86769, 1], - [86768, 1], - [86767, 1], - [86766, 1], - [86765, 1], - [86764, 1], - [86763, 1], - [86762, 1], - [86761, 1], - [86760, 1], - [86759, 1], - [86758, 1], - [86757, 1], - [86756, 1], - [86755, 1], - [86754, 1], - [86753, 1], - [86752, 1], - [86751, 1], - [86750, 1], - [86749, 1], - [86748, 1], - [86747, 1], - [86746, 1], - [86745, 1], - [86744, 1], - [86743, 1], - [86742, 1], - [86741, 1], - [86740, 1], - [86739, 1], - [86738, 1], - [86737, 1], - [86736, 1], - [86735, 1], - [86734, 1], - [86733, 1], - [86732, 1], - [86731, 1], - [86730, 1], - [86729, 1], - [86728, 1], - [86727, 1], - [86726, 1], - [86725, 1], - [86724, 1], - [86723, 1], - [86722, 1], - [86721, 1], - [86720, 1], - [86719, 1], - [86718, 1], - [86717, 1], - [86716, 1], - [86715, 1], - [86714, 1], - [86713, 1], - [86712, 1], - [86711, 1], - [86710, 1], - [86709, 1], - [86708, 1], - [86707, 1], - [86706, 1], - [86705, 1], - [86704, 1], - [86703, 1], - [86702, 1], - [86701, 1], - [86700, 1], - [86699, 1], - [86698, 1], - [86697, 1], - [86696, 1], - [86695, 1], - [86694, 1], - [86693, 1], - [86692, 1], - [86691, 1], - [86690, 1], - [86689, 1], - [86688, 1], - [86687, 1], - [86686, 1], - [86685, 1], - [86684, 1], - [86683, 1], - [86682, 1], - [86681, 1], - [86680, 1], - [86679, 1], - [86678, 1], - [86677, 1], - [86676, 1], - [86675, 1], - [86674, 1], - [86673, 1], - [86672, 1], - [86671, 1], - [86670, 1], - [86669, 1], - [86668, 1], - [86667, 1], - [86666, 1], - [86665, 1], - [86664, 1], - [86663, 1], - [86662, 1], - [86661, 1], - [86660, 1], - [86659, 1], - [86658, 1], - [86657, 1], - [86656, 1], - [86655, 1], - [86654, 1], - [86653, 1], - [86652, 1], - [86651, 1], - [86650, 1], - [86649, 1], - [86648, 1], - [86647, 1], - [86646, 1], - [86645, 1], - [86644, 1], - [86643, 1], - [86642, 1], - [86641, 1], - [86640, 1], - [86639, 1], - [86638, 1], - [86637, 1], - [86636, 1], - [86635, 1], - [86634, 1], - [86633, 1], - [86632, 1], - [86631, 1], - [86630, 1], - [86629, 1], - [86628, 1], - [86627, 1], - [86626, 1], - [86625, 1], - [86624, 1], - [86623, 1], - [86622, 1], - [86621, 1], - [86620, 1], - [86619, 1], - [86618, 1], - [86617, 1], - [86616, 1], - [86615, 1], - [86614, 1], - [86613, 1], - [86612, 1], - [86611, 1], - [86610, 1], - [86609, 1], - [86608, 1], - [86607, 1], - [86606, 1], - [86605, 1], - [86604, 1], - [86603, 1], - [86602, 1], - [86601, 1], - [86600, 1], - [86599, 1], - [86598, 1], - [86597, 1], - [86596, 1], - [86595, 1], - [86594, 1], - [86593, 1], - [86592, 1], - [86591, 1], - [86590, 1], - [86589, 1], - [86588, 1], - [86587, 1], - [86586, 1], - [86585, 1], - [86584, 1], - [86583, 1], - [86582, 1], - [86581, 1], - [86580, 1], - [86579, 1], - [86578, 1], - [86577, 1], - [86576, 1], - [86575, 1], - [86574, 1], - [86573, 1], - [86572, 1], - [86571, 1], - [86570, 1], - [86569, 1], - [86568, 1], - [86567, 1], - [86566, 1], - [86565, 1], - [86564, 1], - [86563, 1], - [86562, 1], - [86561, 1], - [86560, 1], - [86559, 1], - [86558, 1], - [86557, 1], - [86556, 1], - [86555, 1], - [86554, 1], - [86553, 1], - [86552, 1], - [86551, 1], - [86550, 1], - [86549, 1], - [86548, 1], - [86547, 1], - [86546, 1], - [86545, 1], - [86544, 1], - [86543, 1], - [86542, 1], - [86541, 1], - [86540, 1], - [86539, 1], - [86538, 1], - [86537, 1], - [86536, 1], - [86535, 1], - [86534, 1], - [86533, 1], - [86532, 1], - [86531, 1], - [86530, 1], - [86529, 1], - [86528, 1], - [86527, 1], - [86526, 1], - [86525, 1], - [86524, 1], - [86523, 1], - [86522, 1], - [86521, 1], - [86520, 1], - [86519, 1], - [86518, 1], - [86517, 1], - [86516, 1], - [86515, 1], - [86514, 1], - [86513, 1], - [86512, 1], - [86511, 1], - [86510, 1], - [86509, 1], - [86508, 1], - [86507, 1], - [86506, 1], - [86505, 1], - [86504, 1], - [86503, 1], - [86502, 1], - [86501, 1], - [86500, 1], - [86499, 1], - [86498, 1], - [86497, 1], - [86496, 1], - [86495, 1], - [86494, 1], - [86493, 1], - [86492, 1], - [86491, 1], - [86490, 1], - [86489, 1], - [86488, 1], - [86487, 1], - [86486, 1], - [86485, 1], - [86484, 1], - [86483, 1], - [86482, 1], - [86481, 1], - [86480, 1], - [86479, 1], - [86478, 1], - [86477, 1], - [86476, 1], - [86475, 1], - [86474, 1], - [86473, 1], - [86472, 1], - [86471, 1], - [86470, 1], - [86469, 1], - [86468, 1], - [86467, 1], - [86466, 1], - [86465, 1], - [86464, 1], - [86463, 1], - [86462, 1], - [86461, 1], - [86460, 1], - [86459, 1], - [86458, 1], - [86457, 1], - [86456, 1], - [86455, 1], - [86454, 1], - [86453, 1], - [86452, 1], - [86451, 1], - [86450, 1], - [86449, 1], - [86448, 1], - [86447, 1], - [86446, 1], - [86445, 1], - [86444, 1], - [86443, 1], - [86442, 1], - [86441, 1], - [86440, 1], - [86439, 1], - [86438, 1], - [86437, 1], - [86436, 1], - [86435, 1], - [86434, 1], - [86433, 1], - [86432, 1], - [86431, 1], - [86430, 1], - [86429, 1], - [86428, 1], - [86427, 1], - [86426, 1], - [86425, 1], - [86424, 1], - [86423, 1], - [86422, 1], - [86421, 1], - [86420, 1], - [86419, 1], - [86418, 1], - [86417, 1], - [86416, 1], - [86415, 1], - [86414, 1], - [86413, 1], - [86412, 1], - [86411, 1], - [86410, 1], - [86409, 1], - [86408, 1], - [86407, 1], - [86406, 1], - [86405, 1], - [86404, 1], - [86403, 1], - [86402, 1], - [86401, 1], - [86400, 1], - [86399, 1], - [86398, 1], - [86397, 1], - [86396, 1], - [86395, 1], - [86394, 1], - [86393, 1], - [86392, 1], - [86391, 1], - [86390, 1], - [86389, 1], - [86388, 1], - [86387, 1], - [86386, 1], - [86385, 1], - [86384, 1], - [86383, 1], - [86382, 1], - [86381, 1], - [86380, 1], - [86379, 1], - [86378, 1], - [86377, 1], - [86376, 1], - [86375, 1], - [86374, 1], - [86373, 1], - [86372, 1], - [86371, 1], - [86370, 1], - [86369, 1], - [86368, 1], - [86367, 1], - [86366, 1], - [86365, 1], - [86364, 1], - [86363, 1], - [86362, 1], - [86361, 1], - [86360, 1], - [86359, 1], - [86358, 1], - [86357, 1], - [86356, 1], - [86355, 1], - [86354, 1], - [86353, 1], - [86352, 1], - [86351, 1], - [86350, 1], - [86349, 1], - [86348, 1], - [86347, 1], - [86346, 1], - [86345, 1], - [86344, 1], - [86343, 1], - [86342, 1], - [86341, 1], - [86340, 1], - [86339, 1], - [86338, 1], - [86337, 1], - [86336, 1], - [86335, 1], - [86334, 1], - [86333, 1], - [86332, 1], - [86331, 1], - [86330, 1], - [86329, 1], - [86328, 1], - [86327, 1], - [86326, 1], - [86325, 1], - [86324, 1], - [86323, 1], - [86322, 1], - [86321, 1], - [86320, 1], - [86319, 1], - [86318, 1], - [86317, 1], - [86316, 1], - [86315, 1], - [86314, 1], - [86313, 1], - [86312, 1], - [86311, 1], - [86310, 1], - [86309, 1], - [86308, 1], - [86307, 1], - [86306, 1], - [86305, 1], - [86304, 1], - [86303, 1], - [86302, 1], - [86301, 1], - [86300, 1], - [86299, 1], - [86298, 1], - [86297, 1], - [86296, 1], - [86295, 1], - [86294, 1], - [86293, 1], - [86292, 1], - [86291, 1], - [86290, 1], - [86289, 1], - [86288, 1], - [86287, 1], - [86286, 1], - [86285, 1], - [86284, 1], - [86283, 1], - [86282, 1], - [86281, 1], - [86280, 1], - [86279, 1], - [86278, 1], - [86277, 1], - [86276, 1], - [86275, 1], - [86274, 1], - [86273, 1], - [86272, 1], - [86271, 1], - [86270, 1], - [86269, 1], - [86268, 1], - [86267, 1], - [86266, 1], - [86265, 1], - [86264, 1], - [86263, 1], - [86262, 1], - [86261, 1], - [86260, 1], - [86259, 1], - [86258, 1], - [86257, 1], - [86256, 1], - [86255, 1], - [86254, 1], - [86253, 1], - [86252, 1], - [86251, 1], - [86250, 1], - [86249, 1], - [86248, 1], - [86247, 1], - [86246, 1], - [86245, 1], - [86244, 1], - [86243, 1], - [86242, 1], - [86241, 1], - [86240, 1], - [86239, 1], - [86238, 1], - [86237, 1], - [86236, 1], - [86235, 1], - [86234, 1], - [86233, 1], - [86232, 1], - [86231, 1], - [86230, 1], - [86229, 1], - [86228, 1], - [86227, 1], - [86226, 1], - [86225, 1], - [86224, 1], - [86223, 1], - [86222, 1], - [86221, 1], - [86220, 1], - [86219, 1], - [86218, 1], - [86217, 1], - [86216, 1], - [86215, 1], - [86214, 1], - [86213, 1], - [86212, 1], - [86211, 1], - [86210, 1], - [86209, 1], - [86208, 1], - [86207, 1], - [86206, 1], - [86205, 1], - [86204, 1], - [86203, 1], - [86202, 1], - [86201, 1], - [86200, 1], - [86199, 1], - [86198, 1], - [86197, 1], - [86196, 1], - [86195, 1], - [86194, 1], - [86193, 1], - [86192, 1], - [86191, 1], - [86190, 1], - [86189, 1], - [86188, 1], - [86187, 1], - [86186, 1], - [86185, 1], - [86184, 1], - [86183, 1], - [86182, 1], - [86181, 1], - [86180, 1], - [86179, 1], - [86178, 1], - [86177, 1], - [86176, 1], - [86175, 1], - [86174, 1], - [86173, 1], - [86172, 1], - [86171, 1], - [86170, 1], - [86169, 1], - [86168, 1], - [86167, 1], - [86166, 1], - [86165, 1], - [86164, 1], - [86163, 1], - [86162, 1], - [86161, 1], - [86160, 1], - [86159, 1], - [86158, 1], - [86157, 1], - [86156, 1], - [86155, 1], - [86154, 1], - [86153, 1], - [86152, 1], - [86151, 1], - [86150, 1], - [86149, 1], - [86148, 1], - [86147, 1], - [86146, 1], - [86145, 1], - [86144, 1], - [86143, 1], - [86142, 1], - [86141, 1], - [86140, 1], - [86139, 1], - [86138, 1], - [86137, 1], - [86136, 1], - [86135, 1], - [86134, 1], - [86133, 1], - [86132, 1], - [86131, 1], - [86130, 1], - [86129, 1], - [86128, 1], - [86127, 1], - [86126, 1], - [86125, 1], - [86124, 1], - [86123, 1], - [86122, 1], - [86121, 1], - [86120, 1], - [86119, 1], - [86118, 1], - [86117, 1], - [86116, 1], - [86115, 1], - [86114, 1], - [86113, 1], - [86112, 1], - [86111, 1], - [86110, 1], - [86109, 1], - [86108, 1], - [86107, 1], - [86106, 1], - [86105, 1], - [86104, 1], - [86103, 1], - [86102, 1], - [86101, 1], - [86100, 1], - [86099, 1], - [86098, 1], - [86097, 1], - [86096, 1], - [86095, 1], - [86094, 1], - [86093, 1], - [86092, 1], - [86091, 1], - [86090, 1], - [86089, 1], - [86088, 1], - [86087, 1], - [86086, 1], - [86085, 1], - [86084, 1], - [86083, 1], - [86082, 1], - [86081, 1], - [86080, 1], - [86079, 1], - [86078, 1], - [86077, 1], - [86076, 1], - [86075, 1], - [86074, 1], - [86073, 1], - [86072, 1], - [86071, 1], - [86070, 1], - [86069, 1], - [86068, 1], - [86067, 1], - [86066, 1], - [86065, 1], - [86064, 1], - [86063, 1], - [86062, 1], - [86061, 1], - [86060, 1], - [86059, 1], - [86058, 1], - [86057, 1], - [86056, 1], - [86055, 1], - [86054, 1], - [86053, 1], - [86052, 1], - [86051, 1], - [86050, 1], - [86049, 1], - [86048, 1], - [86047, 1], - [86046, 1], - [86045, 1], - [86044, 1], - [86043, 1], - [86042, 1], - [86041, 1], - [86040, 1], - [86039, 1], - [86038, 1], - [86037, 1], - [86036, 1], - [86035, 1], - [86034, 1], - [86033, 1], - [86032, 1], - [86031, 1], - [86030, 1], - [86029, 1], - [86028, 1], - [86027, 1], - [86026, 1], - [86025, 1], - [86024, 1], - [86023, 1], - [86022, 1], - [86021, 1], - [86020, 1], - [86019, 1], - [86018, 1], - [86017, 1], - [86016, 1], - [86015, 1], - [86014, 1], - [86013, 1], - [86012, 1], - [86011, 1], - [86010, 1], - [86009, 1], - [86008, 1], - [86007, 1], - [86006, 1], - [86005, 1], - [86004, 1], - [86003, 1], - [86002, 1], - [86001, 1], - [86000, 1], - [85999, 1], - [85998, 1], - [85997, 1], - [85996, 1], - [85995, 1], - [85994, 1], - [85993, 1], - [85992, 1], - [85991, 1], - [85990, 1], - [85989, 1], - [85988, 1], - [85987, 1], - [85986, 1], - [85985, 1], - [85984, 1], - [85983, 1], - [85982, 1], - [85981, 1], - [85980, 1], - [85979, 1], - [85978, 1], - [85977, 1], - [85977, 0, "E"], - [85978, 0, "i"], - [85979, 0, "t"], - [85980, 0, "h"], - [85981, 0, "e"], - [85982, 0, "r"], - [85983, 0, " "], - [85983, 1], - [85982, 1], - [85981, 1], - [85980, 1], - [85979, 1], - [85978, 1], - [85977, 1], - [85977, 0, "I"], - [85978, 0, "f"], - [85979, 0, " "], - [85980, 0, "$"], - [85981, 0, "o"], - [85982, 0, "_"], - [85983, 0, "r"], - [85984, 0, "."], - [85985, 0, "\\"], - [85986, 0, "m"], - [85987, 0, "a"], - [85988, 0, "t"], - [85989, 0, "h"], - [85990, 0, "i"], - [85991, 0, "t"], - [85992, 0, "{"], - [85993, 0, "c"], - [85994, 0, "u"], - [85995, 0, "r"], - [85996, 0, "}"], - [85997, 0, " "], - [85998, 0, "="], - [85999, 0, " "], - [86000, 0, "o"], - [86001, 0, "_"], - [86002, 0, "s"], - [86003, 0, "."], - [86004, 0, "\\"], - [86005, 0, "m"], - [86006, 0, "a"], - [86007, 0, "t"], - [86008, 0, "h"], - [86009, 0, "i"], - [86010, 0, "t"], - [86011, 0, "{"], - [86012, 0, "c"], - [86013, 0, "u"], - [86014, 0, "r"], - [86015, 0, "}"], - [86016, 0, "$"], - [86017, 0, ","], - [86018, 0, " "], - [86019, 0, "t"], - [86020, 0, "h"], - [86021, 0, "e"], - [86022, 0, "n"], - [86023, 0, " "], - [86024, 0, "b"], - [86025, 0, "y"], - [86026, 0, " "], - [86027, 0, "L"], - [86028, 0, "e"], - [86029, 0, "m"], - [86030, 0, "m"], - [86031, 0, "a"], - [86032, 0, "~"], - [86033, 0, "\\"], - [86034, 0, "r"], - [86035, 0, "e"], - [86036, 0, "f"], - [86037, 0, "{"], - [86038, 0, "l"], - [86039, 0, "e"], - [86040, 0, "m"], - [86041, 0, ":"], - [86042, 0, "i"], - [86043, 0, "n"], - [86044, 0, "s"], - [86045, 0, "e"], - [86046, 0, "r"], - [86047, 0, "t"], - [86048, 0, "-"], - [86049, 0, "c"], - [86050, 0, "o"], - [86051, 0, "n"], - [86052, 0, "f"], - [86053, 0, "l"], - [86054, 0, "i"], - [86055, 0, "c"], - [86056, 0, "t"], - [86057, 0, "}"], - [86058, 0, ","], - [86059, 0, " "], - [86060, 0, "t"], - [86061, 0, "h"], - [86062, 0, "e"], - [86063, 0, " "], - [86064, 0, "o"], - [86065, 0, "p"], - [86066, 0, "e"], - [86067, 0, "r"], - [86068, 0, "a"], - [86069, 0, "t"], - [86070, 0, "i"], - [86071, 0, "o"], - [86072, 0, "n"], - [86073, 0, "s"], - [86074, 0, " "], - [86075, 0, "a"], - [86076, 0, "r"], - [86077, 0, "e"], - [86078, 0, " "], - [86079, 0, "c"], - [86080, 0, "o"], - [86081, 0, "m"], - [86082, 0, "m"], - [86083, 0, "u"], - [86084, 0, "t"], - [86085, 0, "a"], - [86086, 0, "t"], - [86087, 0, "i"], - [86088, 0, "v"], - [86089, 0, "e"], - [86090, 0, "."], - [86091, 0, " "], - [86092, 0, "I"], - [86093, 0, "f"], - [86094, 0, " "], - [86095, 0, "$"], - [86096, 0, "o"], - [86097, 0, "_"], - [86098, 0, "r"], - [86099, 0, "."], - [86100, 0, "\\"], - [86101, 0, "m"], - [86102, 0, "a"], - [86103, 0, "t"], - [86104, 0, "h"], - [86105, 0, "i"], - [86106, 0, "t"], - [86107, 0, "{"], - [86108, 0, "c"], - [86109, 0, "u"], - [86110, 0, "r"], - [86111, 0, "}"], - [86112, 0, " "], - [86113, 0, "\\"], - [86114, 0, "n"], - [86115, 0, "o"], - [86116, 0, "t"], - [86117, 0, "="], - [86118, 0, " "], - [86119, 0, "o"], - [86120, 0, "_"], - [86121, 0, "s"], - [86122, 0, "."], - [86123, 0, "\\"], - [86124, 0, "m"], - [86125, 0, "a"], - [86126, 0, "t"], - [86127, 0, "h"], - [86128, 0, "i"], - [86129, 0, "t"], - [86130, 0, "{"], - [86131, 0, "c"], - [86132, 0, "u"], - [86133, 0, "r"], - [86134, 0, "}"], - [86135, 0, "$"], - [86136, 0, ","], - [86137, 0, " "], - [86138, 0, "T"], - [86139, 0, "O"], - [86140, 0, "D"], - [86141, 0, "O"], - [86142, 0, "\\"], - [86143, 0, "d"], - [86144, 0, "o"], - [86145, 0, "t"], - [86146, 0, "s"], - [86146, 1], - [86145, 1], - [86144, 1], - [86143, 1], - [86142, 1], - [86141, 1], - [86140, 1], - [86139, 1], - [86138, 1], - [86090, 0, ","], - [86091, 0, " "], - [86092, 0, "a"], - [86093, 0, "n"], - [86094, 0, "d"], - [86095, 0, " "], - [86096, 0, "t"], - [86097, 0, "h"], - [86098, 0, "e"], - [86099, 0, " "], - [86100, 0, "o"], - [86101, 0, "p"], - [86102, 0, "e"], - [86103, 0, "r"], - [86104, 0, "a"], - [86105, 0, "t"], - [86106, 0, "i"], - [86107, 0, "o"], - [86108, 0, "n"], - [86109, 0, " "], - [86110, 0, "w"], - [86111, 0, "i"], - [86112, 0, "t"], - [86113, 0, "h"], - [86114, 0, " "], - [86115, 0, "t"], - [86116, 0, "h"], - [86117, 0, "e"], - [86118, 0, " "], - [86119, 0, "g"], - [86120, 0, "r"], - [86121, 0, "e"], - [86122, 0, "a"], - [86123, 0, "t"], - [86124, 0, "e"], - [86125, 0, "r"], - [86126, 0, " "], - [86127, 0, "o"], - [86128, 0, "p"], - [86129, 0, "e"], - [86130, 0, "r"], - [86131, 0, "a"], - [86132, 0, "t"], - [86133, 0, "i"], - [86134, 0, "o"], - [86135, 0, "n"], - [86136, 0, " "], - [86137, 0, "I"], - [86138, 0, "D"], - [86139, 0, " "], - [86140, 0, "a"], - [86141, 0, "p"], - [86142, 0, "p"], - [86143, 0, "e"], - [86144, 0, "a"], - [86145, 0, "r"], - [86146, 0, "s"], - [86147, 0, " "], - [86148, 0, "f"], - [86149, 0, "i"], - [86150, 0, "r"], - [86151, 0, "s"], - [86152, 0, "t"], - [86153, 0, " "], - [86154, 0, "i"], - [86155, 0, "n"], - [86156, 0, " "], - [86157, 0, "t"], - [86158, 0, "h"], - [86159, 0, "e"], - [86160, 0, " "], - [86161, 0, "l"], - [86162, 0, "i"], - [86163, 0, "s"], - [86164, 0, "t"], - [86095, 1], - [86094, 1], - [86093, 1], - [86092, 1], - [86091, 1], - [86090, 1], - [86089, 1], - [86088, 1], - [86087, 1], - [86086, 1], - [86085, 1], - [86084, 1], - [86083, 1], - [86082, 1], - [86081, 1], - [86080, 1], - [86079, 1], - [86078, 1], - [86077, 1], - [86076, 1], - [86075, 1], - [86074, 1], - [86073, 1], - [86072, 1], - [86071, 1], - [86070, 1], - [86069, 1], - [86068, 1], - [86067, 1], - [86066, 1], - [86065, 1], - [86064, 1], - [86063, 1], - [86062, 1], - [86061, 1], - [86060, 1], - [86129, 0, ","], - [86130, 0, " "], - [86131, 0, "r"], - [86132, 0, "e"], - [86133, 0, "g"], - [86134, 0, "a"], - [86135, 0, "r"], - [86136, 0, "d"], - [86137, 0, "l"], - [86138, 0, "e"], - [86139, 0, "s"], - [86140, 0, "s"], - [86141, 0, " "], - [86142, 0, "o"], - [86143, 0, "f"], - [86144, 0, " "], - [86145, 0, "t"], - [86146, 0, "h"], - [86147, 0, "e"], - [86148, 0, " "], - [86149, 0, "o"], - [86150, 0, "r"], - [86151, 0, "d"], - [86152, 0, "e"], - [86153, 0, "r"], - [86154, 0, " "], - [86155, 0, "i"], - [86156, 0, "n"], - [86157, 0, " "], - [86158, 0, "w"], - [86159, 0, "h"], - [86160, 0, "i"], - [86161, 0, "c"], - [86162, 0, "h"], - [86163, 0, " "], - [86164, 0, "t"], - [86165, 0, "h"], - [86166, 0, "e"], - [86167, 0, " "], - [86168, 0, "o"], - [86169, 0, "p"], - [86170, 0, "e"], - [86171, 0, "r"], - [86172, 0, "a"], - [86173, 0, "t"], - [86174, 0, "i"], - [86175, 0, "o"], - [86176, 0, "n"], - [86177, 0, " "], - [86177, 1], - [86177, 0, "s"], - [86178, 0, " "], - [86179, 0, "a"], - [86180, 0, "r"], - [86181, 0, "e"], - [86182, 0, " "], - [86183, 0, "a"], - [86184, 0, "p"], - [86185, 0, "p"], - [86186, 0, "l"], - [86187, 0, "i"], - [86188, 0, "e"], - [86189, 0, "d"], - [86238, 0, "t"], - [86239, 0, "h"], - [86240, 0, "e"], - [86241, 0, "n"], - [86242, 0, " "], - [86243, 0, "o"], - [86244, 0, "n"], - [86245, 0, "e"], - [86246, 0, " "], - [86247, 0, "o"], - [86248, 0, "r"], - [86249, 0, " "], - [86250, 0, "b"], - [86251, 0, "o"], - [86252, 0, "t"], - [86253, 0, "h"], - [86254, 0, " "], - [86255, 0, "o"], - [86256, 0, "f"], - [86257, 0, " "], - [86258, 0, "t"], - [86259, 0, "h"], - [86260, 0, "e"], - [86261, 0, " "], - [86262, 0, "c"], - [86263, 0, "u"], - [86264, 0, "r"], - [86265, 0, "s"], - [86266, 0, "o"], - [86267, 0, "r"], - [86268, 0, "s"], - [86269, 0, " "], - [86270, 0, "m"], - [86271, 0, "u"], - [86272, 0, "s"], - [86273, 0, "t"], - [86274, 0, " "], - [86275, 0, "r"], - [86276, 0, "e"], - [86277, 0, "f"], - [86278, 0, "e"], - [86279, 0, "r"], - [86280, 0, " "], - [86281, 0, "t"], - [86282, 0, "o"], - [86283, 0, " "], - [86284, 0, "a"], - [86285, 0, " "], - [86286, 0, "l"], - [86287, 0, "i"], - [86288, 0, "s"], - [86289, 0, "t"], - [86290, 0, " "], - [86291, 0, "e"], - [86292, 0, "l"], - [86293, 0, "e"], - [86294, 0, "m"], - [86295, 0, "e"], - [86296, 0, "n"], - [86297, 0, "t"], - [86298, 0, " "], - [86299, 0, "t"], - [86300, 0, "h"], - [86301, 0, "a"], - [86302, 0, "t"], - [86303, 0, " "], - [86304, 0, "a"], - [86305, 0, "p"], - [86306, 0, "p"], - [86307, 0, "e"], - [86308, 0, "a"], - [86309, 0, "r"], - [86310, 0, "s"], - [86311, 0, " "], - [86312, 0, "b"], - [86313, 0, "e"], - [86314, 0, "t"], - [86315, 0, "w"], - [86316, 0, "e"], - [86317, 0, "e"], - [86318, 0, "n"], - [86319, 0, " "], - [86320, 0, "$"], - [86321, 0, "k"], - [86322, 0, "^"], - [86323, 0, "\\"], - [86324, 0, "m"], - [86325, 0, "a"], - [86326, 0, "t"], - [86327, 0, "h"], - [86328, 0, "r"], - [86329, 0, "m"], - [86330, 0, "{"], - [86331, 0, "b"], - [86332, 0, "e"], - [86333, 0, "f"], - [86334, 0, "o"], - [86335, 0, "r"], - [86336, 0, "e"], - [86337, 0, "}"], - [86338, 0, "$"], - [86339, 0, " "], - [86340, 0, "a"], - [86341, 0, "n"], - [86342, 0, "d"], - [86343, 0, " "], - [86344, 0, "$"], - [86345, 0, "k"], - [86346, 0, "^"], - [86347, 0, "\\"], - [86348, 0, "m"], - [86349, 0, "a"], - [86350, 0, "t"], - [86351, 0, "h"], - [86352, 0, "r"], - [86353, 0, "m"], - [86354, 0, "{"], - [86355, 0, "a"], - [86356, 0, "f"], - [86357, 0, "t"], - [86358, 0, "e"], - [86359, 0, "r"], - [86360, 0, "}"], - [86361, 0, "$"], - [86362, 0, ","], - [86363, 0, " "], - [86364, 0, "a"], - [86365, 0, "n"], - [86366, 0, "d"], - [86367, 0, " "], - [86368, 0, "t"], - [86369, 0, "h"], - [86370, 0, "a"], - [86371, 0, "t"], - [86372, 0, " "], - [86373, 0, "w"], - [86374, 0, "a"], - [86375, 0, "s"], - [86376, 0, " "], - [86377, 0, "i"], - [86378, 0, "n"], - [86379, 0, "s"], - [86380, 0, "e"], - [86381, 0, "r"], - [86382, 0, "t"], - [86383, 0, "e"], - [86384, 0, "d"], - [86385, 0, " "], - [86385, 1], - [86384, 1], - [86383, 1], - [86382, 1], - [86381, 1], - [86380, 1], - [86379, 1], - [86378, 1], - [86377, 1], - [86376, 1], - [86375, 1], - [86374, 1], - [86373, 1], - [86373, 0, "d"], - [86374, 0, "i"], - [86375, 0, "d"], - [86376, 0, " "], - [86377, 0, "n"], - [86378, 0, "o"], - [86379, 0, "t"], - [86380, 0, " "], - [86381, 0, "y"], - [86382, 0, "e"], - [86383, 0, "t"], - [86384, 0, " "], - [86385, 0, "e"], - [86386, 0, "x"], - [86387, 0, "i"], - [86388, 0, "s"], - [86389, 0, "t"], - [86390, 0, " "], - [86391, 0, "i"], - [86392, 0, "n"], - [86393, 0, " "], - [86394, 0, "t"], - [86395, 0, "h"], - [86396, 0, "e"], - [86397, 0, " "], - [86398, 0, "c"], - [86399, 0, "o"], - [86400, 0, "m"], - [86401, 0, "m"], - [86402, 0, "o"], - [86403, 0, "n"], - [86404, 0, " "], - [86405, 0, "a"], - [86406, 0, "n"], - [86407, 0, "c"], - [86408, 0, "e"], - [86409, 0, "s"], - [86410, 0, "t"], - [86411, 0, "o"], - [86412, 0, "r"], - [86413, 0, " "], - [86414, 0, "("], - [86415, 0, "D"], - [86416, 0, "e"], - [86417, 0, "f"], - [86418, 0, "i"], - [86419, 0, "n"], - [86420, 0, "i"], - [86421, 0, "t"], - [86422, 0, "i"], - [86423, 0, "o"], - [86424, 0, "n"], - [86425, 0, "~"], - [86426, 0, "\\"], - [86427, 0, "r"], - [86428, 0, "e"], - [86429, 0, "f"], - [86430, 0, "{"], - [86431, 0, "d"], - [86432, 0, "e"], - [86433, 0, "f"], - [86434, 0, ":"], - [86435, 0, "c"], - [86436, 0, "o"], - [86437, 0, "m"], - [86438, 0, "m"], - [86439, 0, "o"], - [86440, 0, "n"], - [86441, 0, "-"], - [86442, 0, "a"], - [86443, 0, "n"], - [86444, 0, "c"], - [86445, 0, "e"], - [86446, 0, "s"], - [86447, 0, "t"], - [86448, 0, "o"], - [86449, 0, "r"], - [86450, 0, "}"], - [86451, 0, ")"], - [86452, 0, "."], - [86453, 0, "\n"], - [86454, 0, "\n"], - [86475, 0, " "], - [86476, 0, "a"], - [86477, 0, "b"], - [86478, 0, "o"], - [86479, 0, "v"], - [86480, 0, "e"], - [86455, 0, "T"], - [86456, 0, "a"], - [86457, 0, "k"], - [86458, 0, "e"], - [86459, 0, " "], - [86460, 0, "e"], - [86461, 0, "i"], - [86462, 0, "t"], - [86463, 0, "h"], - [86463, 1], - [86462, 1], - [86461, 1], - [86460, 1], - [86460, 0, "a"], - [86461, 0, " "], - [86462, 0, "c"], - [86463, 0, "u"], - [86464, 0, "r"], - [86465, 0, "s"], - [86466, 0, "o"], - [86467, 0, "r"], - [86468, 0, " "], - [86469, 0, "t"], - [86470, 0, "h"], - [86471, 0, "a"], - [86472, 0, "t"], - [86473, 0, " "], - [86474, 0, "d"], - [86475, 0, "i"], - [86476, 0, "f"], - [86477, 0, "f"], - [86478, 0, "e"], - [86479, 0, "r"], - [86480, 0, "s"], - [86481, 0, " "], - [86482, 0, "f"], - [86483, 0, "r"], - [86484, 0, "o"], - [86485, 0, "m"], - [86486, 0, " "], - [86487, 0, "$"], - [86488, 0, "k"], - [86489, 0, "^"], - [86490, 0, "\\"], - [86491, 0, "m"], - [86492, 0, "a"], - [86493, 0, "t"], - [86494, 0, "h"], - [86495, 0, "r"], - [86496, 0, "m"], - [86497, 0, "{"], - [86498, 0, "b"], - [86499, 0, "e"], - [86500, 0, "f"], - [86501, 0, "o"], - [86502, 0, "r"], - [86503, 0, "e"], - [86504, 0, "}"], - [86505, 0, "$"], - [86506, 0, "."], - [86507, 0, " "], - [86507, 1], - [86506, 1], - [86506, 0, ","], - [86507, 0, " "], - [86507, 1], - [86506, 1], - [86506, 0, ":"], - [86507, 0, " "], - [86508, 0, "t"], - [86509, 0, "h"], - [86510, 0, "e"], - [86511, 0, " "], - [86512, 0, "l"], - [86513, 0, "i"], - [86514, 0, "s"], - [86515, 0, "t"], - [86516, 0, " "], - [86517, 0, "e"], - [86518, 0, "l"], - [86519, 0, "e"], - [86520, 0, "m"], - [86521, 0, "e"], - [86522, 0, "n"], - [86523, 0, "t"], - [86524, 0, " "], - [86525, 0, "i"], - [86526, 0, "t"], - [86527, 0, " "], - [86528, 0, "r"], - [86529, 0, "e"], - [86530, 0, "f"], - [86531, 0, "e"], - [86532, 0, "r"], - [86533, 0, "s"], - [86534, 0, " "], - [86535, 0, "t"], - [86536, 0, "o"], - [86537, 0, " "], - [86538, 0, "w"], - [86539, 0, "a"], - [86540, 0, "s"], - [86541, 0, " "], - [86542, 0, "i"], - [86543, 0, "t"], - [86544, 0, "s"], - [86545, 0, "e"], - [86546, 0, "l"], - [86547, 0, "f"], - [86548, 0, " "], - [86549, 0, "i"], - [86550, 0, "n"], - [86551, 0, "s"], - [86552, 0, "e"], - [86553, 0, "r"], - [86554, 0, "t"], - [86555, 0, "e"], - [86556, 0, "d"], - [86557, 0, " "], - [86558, 0, "b"], - [86559, 0, "y"], - [86560, 0, " "], - [86561, 0, "a"], - [86562, 0, "n"], - [86563, 0, " "], - [86564, 0, "o"], - [86565, 0, "p"], - [86566, 0, "e"], - [86567, 0, "r"], - [86568, 0, "a"], - [86569, 0, "t"], - [86570, 0, "i"], - [86571, 0, "o"], - [86572, 0, "n"], - [86573, 0, " "], - [86574, 0, "w"], - [86575, 0, "i"], - [86576, 0, "t"], - [86577, 0, "h"], - [86578, 0, "i"], - [86579, 0, "n"], - [86580, 0, " "], - [86581, 0, "t"], - [86582, 0, "h"], - [86583, 0, "e"], - [86584, 0, " "], - [86585, 0, "s"], - [86586, 0, "a"], - [86587, 0, "m"], - [86588, 0, "e"], - [86589, 0, " "], - [86590, 0, "i"], - [86591, 0, "n"], - [86592, 0, "s"], - [86593, 0, "e"], - [86594, 0, "r"], - [86595, 0, "t"], - [86596, 0, "i"], - [86597, 0, "o"], - [86598, 0, "n"], - [86599, 0, " "], - [86600, 0, "i"], - [86601, 0, "n"], - [86602, 0, "t"], - [86603, 0, "e"], - [86604, 0, "r"], - [86605, 0, "v"], - [86606, 0, "a"], - [86607, 0, "l"], - [86608, 0, "."], - [86609, 0, " "], - [86579, 1], - [86578, 1], - [86605, 1], - [86604, 1], - [86603, 1], - [86602, 1], - [86601, 1], - [86600, 1], - [86599, 1], - [86598, 1], - [86597, 1], - [86596, 1], - [86595, 1], - [86594, 1], - [86593, 1], - [86592, 1], - [86591, 1], - [86590, 1], - [86589, 1], - [86588, 1], - [86587, 1], - [86586, 1], - [86585, 1], - [86584, 1], - [86583, 1], - [86582, 1], - [86581, 1], - [86580, 1], - [86579, 1], - [86578, 1], - [86577, 1], - [86576, 1], - [86575, 1], - [86574, 1], - [86573, 1], - [86573, 0, ","], - [86574, 0, " "], - [86575, 0, "w"], - [86576, 0, "h"], - [86577, 0, "o"], - [86578, 0, "s"], - [86579, 0, "e"], - [86580, 0, " "], - [86581, 0, "c"], - [86582, 0, "u"], - [86583, 0, "r"], - [86584, 0, "s"], - [86585, 0, "o"], - [86586, 0, "r"], - [86587, 0, " "], - [86588, 0, "i"], - [86589, 0, "n"], - [86590, 0, " "], - [86591, 0, "t"], - [86592, 0, "u"], - [86593, 0, "r"], - [86594, 0, "n"], - [86595, 0, " "], - [86596, 0, "r"], - [86597, 0, "e"], - [86598, 0, "f"], - [86599, 0, "e"], - [86600, 0, "r"], - [86601, 0, "s"], - [86602, 0, " "], - [86603, 0, "t"], - [86604, 0, "o"], - [86605, 0, " "], - [86606, 0, "a"], - [86607, 0, "n"], - [86608, 0, "o"], - [86609, 0, "t"], - [86610, 0, "h"], - [86611, 0, "e"], - [86612, 0, "r"], - [86613, 0, " "], - [86614, 0, "p"], - [86615, 0, "r"], - [86616, 0, "i"], - [86617, 0, "o"], - [86618, 0, "r"], - [86619, 0, " "], - [86620, 0, "o"], - [86621, 0, "p"], - [86622, 0, "e"], - [86623, 0, "r"], - [86624, 0, "a"], - [86625, 0, "t"], - [86626, 0, "i"], - [86627, 0, "o"], - [86628, 0, "n"], - [86562, 1], - [86562, 0, " "], - [86563, 0, "p"], - [86564, 0, "r"], - [86565, 0, "i"], - [86566, 0, "o"], - [86567, 0, "r"], - [86548, 1], - [86547, 1], - [86546, 1], - [86545, 1], - [86544, 1], - [86543, 1], - [86542, 1], - [86627, 0, ","], - [86628, 0, " "], - [86629, 0, "a"], - [86630, 0, "n"], - [86631, 0, "d"], - [86632, 0, " "], - [86633, 0, "s"], - [86634, 0, "o"], - [86635, 0, " "], - [86636, 0, "o"], - [86637, 0, "n"], - [86640, 0, "F"], - [86641, 0, "o"], - [86642, 0, "l"], - [86643, 0, "l"], - [86644, 0, "o"], - [86645, 0, "w"], - [86646, 0, "i"], - [86647, 0, "n"], - [86648, 0, "g"], - [86649, 0, " "], - [86650, 0, "t"], - [86651, 0, "h"], - [86652, 0, "i"], - [86653, 0, "s"], - [86654, 0, " "], - [86655, 0, "c"], - [86656, 0, "h"], - [86657, 0, "a"], - [86658, 0, "i"], - [86659, 0, "n"], - [86660, 0, " "], - [86661, 0, "o"], - [86662, 0, "f"], - [86663, 0, " "], - [86664, 0, "c"], - [86665, 0, "u"], - [86666, 0, "r"], - [86667, 0, "s"], - [86668, 0, "o"], - [86669, 0, "r"], - [86670, 0, "s"], - [86671, 0, " "], - [86672, 0, "l"], - [86673, 0, "e"], - [86674, 0, "a"], - [86675, 0, "d"], - [86676, 0, "s"], - [86677, 0, " "], - [86678, 0, "t"], - [86679, 0, "o"], - [86680, 0, " "], - [86681, 0, "a"], - [86682, 0, "n"], - [86683, 0, " "], - [86684, 0, "o"], - [86685, 0, "p"], - [86686, 0, "e"], - [86687, 0, "r"], - [86688, 0, "a"], - [86689, 0, "t"], - [86690, 0, "i"], - [86691, 0, "o"], - [86692, 0, "n"], - [86693, 0, " "], - [86694, 0, "w"], - [86695, 0, "h"], - [86696, 0, "o"], - [86697, 0, "s"], - [86698, 0, "e"], - [86699, 0, " "], - [86700, 0, "c"], - [86701, 0, "u"], - [86702, 0, "r"], - [86703, 0, "s"], - [86704, 0, "o"], - [86705, 0, "r"], - [86706, 0, " "], - [86707, 0, "r"], - [86708, 0, "e"], - [86709, 0, "f"], - [86710, 0, "e"], - [86711, 0, "r"], - [86712, 0, "s"], - [86713, 0, " "], - [86714, 0, "t"], - [86660, 0, " "], - [86661, 0, "f"], - [86662, 0, "o"], - [86663, 0, "r"], - [86664, 0, " "], - [86665, 0, "a"], - [86666, 0, " "], - [86667, 0, "f"], - [86668, 0, "i"], - [86669, 0, "n"], - [86670, 0, "i"], - [86671, 0, "t"], - [86672, 0, "e"], - [86673, 0, " "], - [86674, 0, "n"], - [86675, 0, "u"], - [86676, 0, "m"], - [86677, 0, "b"], - [86678, 0, "e"], - [86679, 0, "r"], - [86680, 0, " "], - [86681, 0, "o"], - [86682, 0, "f"], - [86683, 0, " "], - [86684, 0, "s"], - [86685, 0, "t"], - [86686, 0, "e"], - [86687, 0, "p"], - [86688, 0, "s"], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86690, 1], - [86660, 0, " "], - [86661, 0, "o"], - [86662, 0, "f"], - [86663, 0, " "], - [86664, 0, "c"], - [86665, 0, "u"], - [86666, 0, "r"], - [86667, 0, "s"], - [86668, 0, "o"], - [86669, 0, "r"], - [86670, 0, "s"], - [86744, 0, "o"], - [86745, 0, " "], - [86746, 0, "$"], - [86747, 0, "k"], - [86748, 0, "&"], - [86748, 1], - [86748, 0, "^"], - [86749, 0, "\\"], - [86750, 0, "m"], - [86751, 0, "a"], - [86752, 0, "t"], - [86753, 0, "h"], - [86754, 0, "r"], - [86755, 0, "m"], - [86756, 0, "{"], - [86757, 0, "b"], - [86758, 0, "e"], - [86759, 0, "f"], - [86760, 0, "o"], - [86761, 0, "r"], - [86762, 0, "e"], - [86763, 0, "}"], - [86764, 0, "$"], - [86765, 0, "."], - [86766, 0, " "], - [86767, 0, "N"], - [86768, 0, "o"], - [86769, 0, "t"], - [86770, 0, "e"], - [86771, 0, " "], - [86772, 0, "t"], - [86773, 0, "h"], - [86774, 0, "a"], - [86775, 0, "t"], - [86776, 0, " "], - [86765, 0, " "], - [86765, 1], - [86765, 0, ","], - [86766, 0, " "], - [86767, 0, "s"], - [86768, 0, "i"], - [86769, 0, "n"], - [86770, 0, "c"], - [86771, 0, "e"], - [86772, 0, " "], - [86773, 0, "a"], - [86774, 0, "n"], - [86775, 0, " "], - [86776, 0, "i"], - [86777, 0, "n"], - [86778, 0, "s"], - [86779, 0, "e"], - [86780, 0, "r"], - [86781, 0, "t"], - [86782, 0, "i"], - [86783, 0, "o"], - [86784, 0, "n"], - [86785, 0, " "], - [86786, 0, "o"], - [86787, 0, "p"], - [86788, 0, "e"], - [86789, 0, "r"], - [86790, 0, "a"], - [86791, 0, "t"], - [86792, 0, "i"], - [86793, 0, "o"], - [86794, 0, "n"], - [86795, 0, " "], - [86796, 0, "a"], - [86797, 0, "l"], - [86798, 0, "w"], - [86799, 0, "a"], - [86800, 0, "y"], - [86801, 0, "s"], - [86802, 0, " "], - [86803, 0, "i"], - [86804, 0, "n"], - [86805, 0, "s"], - [86806, 0, "e"], - [86807, 0, "r"], - [86808, 0, "t"], - [86809, 0, "s"], - [86810, 0, " "], - [86811, 0, "a"], - [86812, 0, "t"], - [86813, 0, " "], - [86814, 0, "a"], - [86815, 0, " "], - [86816, 0, "p"], - [86817, 0, "o"], - [86818, 0, "s"], - [86819, 0, "i"], - [86820, 0, "t"], - [86821, 0, "i"], - [86822, 0, "o"], - [86823, 0, "n"], - [86824, 0, " "], - [86825, 0, "a"], - [86826, 0, "f"], - [86827, 0, "t"], - [86828, 0, "e"], - [86829, 0, "r"], - [86830, 0, " "], - [86831, 0, "t"], - [86832, 0, "h"], - [86833, 0, "e"], - [86834, 0, " "], - [86835, 0, "c"], - [86836, 0, "u"], - [86837, 0, "r"], - [86838, 0, "s"], - [86839, 0, "o"], - [86840, 0, "r"], - [86722, 0, " "], - [86723, 0, "$"], - [86724, 0, "o"], - [86725, 0, "_"], - [86726, 0, "\\"], - [86727, 0, "m"], - [86728, 0, "a"], - [86729, 0, "t"], - [86730, 0, "h"], - [86731, 0, "r"], - [86732, 0, "m"], - [86733, 0, "{"], - [86734, 0, "f"], - [86735, 0, "i"], - [86736, 0, "r"], - [86737, 0, "s"], - [86738, 0, "t"], - [86739, 0, "}"], - [86740, 0, "$"], - [86784, 1], - [86785, 0, "("], - [86860, 0, ")"], - [86873, 0, "a"], - [86874, 0, "l"], - [86875, 0, "l"], - [86876, 0, " "], - [86877, 0, "o"], - [86878, 0, "f"], - [86879, 0, " "], - [86880, 0, "t"], - [86881, 0, "h"], - [86882, 0, "e"], - [86883, 0, " "], - [86884, 0, "o"], - [86885, 0, "p"], - [86886, 0, "e"], - [86887, 0, "r"], - [86888, 0, "a"], - [86889, 0, "t"], - [86890, 0, "i"], - [86891, 0, "o"], - [86892, 0, "n"], - [86893, 0, "s"], - [86894, 0, " "], - [86895, 0, "i"], - [86896, 0, "n"], - [86897, 0, " "], - [86898, 0, "t"], - [86899, 0, "h"], - [86900, 0, "i"], - [86901, 0, "s"], - [86902, 0, " "], - [86903, 0, "c"], - [86904, 0, "h"], - [86905, 0, "a"], - [86906, 0, "i"], - [86907, 0, "n"], - [86908, 0, " "], - [86909, 0, "a"], - [86910, 0, "r"], - [86911, 0, "e"], - [86912, 0, " "], - [86913, 0, "c"], - [86914, 0, "a"], - [86915, 0, "u"], - [86916, 0, "s"], - [86917, 0, "a"], - [86918, 0, "l"], - [86919, 0, "l"], - [86920, 0, "y"], - [86921, 0, " "], - [86922, 0, "d"], - [86923, 0, "e"], - [86924, 0, "p"], - [86925, 0, "e"], - [86926, 0, "n"], - [86927, 0, "d"], - [86928, 0, "e"], - [86929, 0, "n"], - [86930, 0, "t"], - [86931, 0, " "], - [86932, 0, "o"], - [86933, 0, "n"], - [86934, 0, " "], - [86862, 1], - [86862, 0, "\n"], - [86863, 0, "\n"], - [86936, 0, "$"], - [86937, 0, "o"], - [86938, 0, "_"], - [86939, 0, "\\"], - [86940, 0, "m"], - [86941, 0, "a"], - [86942, 0, "t"], - [86943, 0, "h"], - [86944, 0, "r"], - [86945, 0, "m"], - [86946, 0, "{"], - [86947, 0, "f"], - [86948, 0, "i"], - [86949, 0, "r"], - [86950, 0, "s"], - [86951, 0, "t"], - [86952, 0, "}"], - [86953, 0, "$"], - [86954, 0, ","], - [86955, 0, " "], - [86956, 0, "a"], - [86957, 0, "n"], - [86958, 0, "d"], - [86959, 0, " "], - [86960, 0, "s"], - [86961, 0, "o"], - [86962, 0, " "], - [86963, 0, "t"], - [86964, 0, "h"], - [86965, 0, "e"], - [86966, 0, "y"], - [86967, 0, " "], - [86968, 0, "m"], - [86969, 0, "u"], - [86970, 0, "s"], - [86971, 0, "t"], - [86972, 0, " "], - [86973, 0, "h"], - [86974, 0, "a"], - [86975, 0, "v"], - [86976, 0, "e"], - [86977, 0, " "], - [86978, 0, "a"], - [86979, 0, "n"], - [86980, 0, " "], - [86981, 0, "o"], - [86982, 0, "p"], - [86983, 0, "e"], - [86984, 0, "r"], - [86984, 1], - [86983, 1], - [86982, 1], - [86981, 1], - [86980, 1], - [86979, 1], - [86979, 0, " "], - [86980, 0, "L"], - [86981, 0, "a"], - [86982, 0, "m"], - [86983, 0, "p"], - [86984, 0, "o"], - [86985, 0, "r"], - [86986, 0, "t"], - [86987, 0, " "], - [86988, 0, "t"], - [86989, 0, "i"], - [86990, 0, "m"], - [86991, 0, "e"], - [86992, 0, "s"], - [86993, 0, "t"], - [86994, 0, "a"], - [86995, 0, "m"], - [86996, 0, "p"], - [86997, 0, " "], - [86998, 0, "g"], - [86999, 0, "r"], - [87000, 0, "e"], - [87001, 0, "a"], - [87002, 0, "t"], - [87003, 0, "e"], - [87004, 0, "r"], - [87005, 0, " "], - [87006, 0, "t"], - [87007, 0, "h"], - [87008, 0, "a"], - [87009, 0, "n"], - [87010, 0, " "], - [87011, 0, "$"], - [87012, 0, "o"], - [87013, 0, "_"], - [87014, 0, "\\"], - [87015, 0, "m"], - [87016, 0, "a"], - [87017, 0, "t"], - [87018, 0, "h"], - [87019, 0, "r"], - [87020, 0, "m"], - [87021, 0, "{"], - [87022, 0, "f"], - [87023, 0, "i"], - [87024, 0, "r"], - [87025, 0, "s"], - [87026, 0, "t"], - [87027, 0, "}"], - [87028, 0, "$"], - [87029, 0, "."], - [87030, 0, " "], - [87031, 0, "T"], - [87032, 0, "h"], - [87033, 0, "u"], - [87034, 0, "s"], - [87035, 0, ","], - [87036, 0, " "], - [87037, 0, "w"], - [87038, 0, "e"], - [87039, 0, " "], - [87040, 0, "c"], - [87041, 0, "a"], - [87042, 0, "n"], - [87043, 0, " "], - [87044, 0, "a"], - [87045, 0, "p"], - [87046, 0, "p"], - [87047, 0, "l"], - [87048, 0, "y"], - [87049, 0, " "], - [87050, 0, "t"], - [87051, 0, "h"], - [87052, 0, "e"], - [87053, 0, " "], - [87054, 0, "s"], - [87055, 0, "a"], - [87056, 0, "m"], - [87057, 0, "e"], - [87058, 0, " "], - [87059, 0, "a"], - [87060, 0, "r"], - [87061, 0, "g"], - [87062, 0, "u"], - [87063, 0, "m"], - [87064, 0, "e"], - [87065, 0, "n"], - [87066, 0, "t"], - [87067, 0, " "], - [87068, 0, "a"], - [87069, 0, "s"], - [87070, 0, " "], - [87071, 0, "i"], - [87072, 0, "n"], - [87073, 0, " "], - [87074, 0, "L"], - [87075, 0, "e"], - [87076, 0, "m"], - [87077, 0, "m"], - [87078, 0, "a"], - [87079, 0, "~"], - [87080, 0, "\\"], - [87081, 0, "r"], - [87082, 0, "e"], - [87083, 0, "f"], - [87084, 0, "{"], - [87085, 0, "l"], - [87086, 0, "e"], - [87087, 0, "m"], - [87088, 0, ":"], - [87089, 0, "i"], - [87090, 0, "n"], - [87091, 0, "s"], - [87092, 0, "e"], - [87093, 0, "r"], - [87094, 0, "t"], - [87095, 0, "-"], - [87096, 0, "c"], - [87097, 0, "o"], - [87098, 0, "n"], - [87099, 0, "f"], - [87100, 0, "l"], - [87101, 0, "i"], - [87102, 0, "c"], - [87103, 0, "t"], - [87104, 0, "}"], - [87105, 0, "f"], - [87105, 1], - [87105, 0, ":"], - [87106, 0, " "], - [87107, 0, "i"], - [87108, 0, "f"], - [87109, 0, " "], - [87110, 0, "$"], - [87111, 0, "\\"], - [87112, 0, "t"], - [87113, 0, "e"], - [87114, 0, "x"], - [87115, 0, "t"], - [87116, 0, "s"], - [87117, 0, "c"], - [87118, 0, "{"], - [87119, 0, "I"], - [87120, 0, "n"], - [87121, 0, "s"], - [87122, 0, "e"], - [87123, 0, "r"], - [87124, 0, "t"], - [87125, 0, "}"], - [87126, 0, "_"], - [87127, 0, "2"], - [87128, 0, "$"], - [87129, 0, " "], - [87130, 0, "s"], - [87131, 0, "k"], - [87132, 0, "i"], - [87133, 0, "p"], - [87134, 0, "s"], - [87135, 0, " "], - [87136, 0, "o"], - [87137, 0, "v"], - [87138, 0, "e"], - [87139, 0, "r"], - [87140, 0, " "], - [87141, 0, "t"], - [87142, 0, "h"], - [87143, 0, "e"], - [87144, 0, " "], - [87145, 0, "l"], - [87146, 0, "i"], - [87147, 0, "s"], - [87148, 0, "t"], - [87149, 0, " "], - [87150, 0, "e"], - [87151, 0, "l"], - [87152, 0, "e"], - [87153, 0, "m"], - [87154, 0, "e"], - [87155, 0, "n"], - [87156, 0, "t"], - [87157, 0, " "], - [87158, 0, "i"], - [87159, 0, "n"], - [87160, 0, "s"], - [87161, 0, "e"], - [87162, 0, "r"], - [87163, 0, "t"], - [87164, 0, "e"], - [87165, 0, "d"], - [87166, 0, " "], - [87167, 0, "b"], - [87168, 0, "y"], - [87169, 0, " "], - [87170, 0, "$"], - [87171, 0, "o"], - [87172, 0, "_"], - [87173, 0, "\\"], - [87174, 0, "m"], - [87175, 0, "a"], - [87176, 0, "t"], - [87177, 0, "h"], - [87178, 0, "r"], - [87179, 0, "m"], - [87180, 0, "{"], - [87181, 0, "f"], - [87182, 0, "i"], - [87183, 0, "r"], - [87184, 0, "s"], - [87185, 0, "t"], - [87186, 0, "}"], - [87187, 0, "$"], - [87188, 0, ","], - [87189, 0, " "], - [87190, 0, "i"], - [87191, 0, "t"], - [87192, 0, " "], - [87193, 0, "w"], - [87194, 0, "i"], - [87195, 0, "l"], - [87196, 0, "l"], - [87197, 0, " "], - [87198, 0, "a"], - [87199, 0, "l"], - [87200, 0, "s"], - [87201, 0, "o"], - [87202, 0, " "], - [87203, 0, "s"], - [87204, 0, "k"], - [87205, 0, "i"], - [87206, 0, "p"], - [87207, 0, " "], - [87208, 0, "o"], - [87209, 0, "v"], - [87210, 0, "e"], - [87211, 0, "r"], - [87212, 0, " "], - [87213, 0, "a"], - [87214, 0, "l"], - [87215, 0, "l"], - [87216, 0, " "], - [87217, 0, "o"], - [87218, 0, "f"], - [87219, 0, " "], - [87220, 0, "t"], - [87221, 0, "h"], - [87222, 0, "e"], - [87223, 0, " "], - [87224, 0, "l"], - [87225, 0, "i"], - [87226, 0, "s"], - [87227, 0, "t"], - [87228, 0, " "], - [87229, 0, "e"], - [87230, 0, "l"], - [87231, 0, "e"], - [87232, 0, "m"], - [87233, 0, "e"], - [87234, 0, "n"], - [87235, 0, "t"], - [87236, 0, "s"], - [87237, 0, " "], - [87238, 0, "t"], - [87239, 0, "h"], - [87240, 0, "a"], - [87241, 0, "t"], - [87242, 0, " "], - [87243, 0, "a"], - [87244, 0, "r"], - [87245, 0, "e"], - [87246, 0, " "], - [87247, 0, "c"], - [87248, 0, "a"], - [87249, 0, "u"], - [87250, 0, "s"], - [87251, 0, "a"], - [87252, 0, "l"], - [87253, 0, "l"], - [87254, 0, "y"], - [87255, 0, " "], - [87256, 0, "d"], - [87257, 0, "e"], - [87258, 0, "p"], - [87259, 0, "e"], - [87260, 0, "n"], - [87261, 0, "d"], - [87262, 0, "e"], - [87263, 0, "n"], - [87264, 0, "t"], - [87265, 0, " "], - [87266, 0, "o"], - [87267, 0, "n"], - [87268, 0, " "], - [87269, 0, "i"], - [87270, 0, "t"], - [87270, 1], - [87269, 1], - [87269, 0, "$"], - [87270, 0, "o"], - [87271, 0, "_"], - [87272, 0, "\\"], - [87273, 0, "m"], - [87274, 0, "a"], - [87275, 0, "t"], - [87275, 1], - [87274, 1], - [87273, 1], - [87272, 1], - [87271, 1], - [87270, 1], - [87269, 1], - [87269, 0, "i"], - [87270, 0, "t"], - [87271, 0, ";"], - [87272, 0, " "], - [87273, 0, "i"], - [87274, 0, "f"], - [87275, 0, " "], - [87276, 0, "$"], - [87277, 0, "\\"], - [87278, 0, "t"], - [87279, 0, "e"], - [87280, 0, "x"], - [87281, 0, "t"], - [87282, 0, "s"], - [87283, 0, "c"], - [87284, 0, "{"], - [87285, 0, "I"], - [87286, 0, "n"], - [87287, 0, "s"], - [87288, 0, "e"], - [87289, 0, "r"], - [87290, 0, "t"], - [87291, 0, "}"], - [87292, 0, "_"], - [87293, 0, "1"], - [87294, 0, "$"], - [87295, 0, " "], - [87296, 0, "i"], - [87297, 0, "n"], - [87298, 0, "s"], - [87299, 0, "e"], - [87300, 0, "r"], - [87301, 0, "t"], - [87302, 0, "s"], - [87303, 0, " "], - [87304, 0, "a"], - [87305, 0, " "], - [87306, 0, "n"], - [87307, 0, "e"], - [87308, 0, "w"], - [87309, 0, " "], - [87310, 0, "e"], - [87311, 0, "l"], - [87312, 0, "e"], - [87313, 0, "m"], - [87314, 0, "e"], - [87315, 0, "n"], - [87316, 0, "t"], - [87317, 0, " "], - [87318, 0, "b"], - [87319, 0, "e"], - [87320, 0, "f"], - [87321, 0, "o"], - [87322, 0, "r"], - [87323, 0, "e"], - [87324, 0, " "], - [87325, 0, "$"], - [87326, 0, "o"], - [87327, 0, "_"], - [87328, 0, "\\"], - [87329, 0, "m"], - [87330, 0, "a"], - [87331, 0, "t"], - [87332, 0, "h"], - [87333, 0, "r"], - [87334, 0, "m"], - [87335, 0, "{"], - [87336, 0, "f"], - [87337, 0, "i"], - [87338, 0, "r"], - [87339, 0, "s"], - [87340, 0, "t"], - [87341, 0, "}"], - [87342, 0, "$"], - [87343, 0, ","], - [87344, 0, " "], - [87345, 0, "i"], - [87346, 0, "t"], - [87347, 0, " "], - [87348, 0, "i"], - [87349, 0, "s"], - [87350, 0, " "], - [87351, 0, "a"], - [87352, 0, "l"], - [87353, 0, "s"], - [87354, 0, "o"], - [87355, 0, " "], - [87356, 0, "i"], - [87357, 0, "n"], - [87358, 0, "s"], - [87359, 0, "e"], - [87360, 0, "r"], - [87361, 0, "t"], - [87362, 0, "e"], - [87363, 0, "d"], - [87364, 0, " "], - [87365, 0, "b"], - [87366, 0, "e"], - [87367, 0, "f"], - [87368, 0, "o"], - [87369, 0, "r"], - [87370, 0, "e"], - [87371, 0, " "], - [87372, 0, "t"], - [87373, 0, "h"], - [87374, 0, "e"], - [87375, 0, " "], - [87376, 0, "c"], - [87377, 0, "h"], - [87378, 0, "a"], - [87379, 0, "i"], - [87380, 0, "n"], - [87381, 0, " "], - [87382, 0, "o"], - [87383, 0, "f"], - [87384, 0, " "], - [87385, 0, "o"], - [87386, 0, "p"], - [87387, 0, "e"], - [87388, 0, "r"], - [87389, 0, "a"], - [87390, 0, "t"], - [87391, 0, "i"], - [87392, 0, "o"], - [87393, 0, "n"], - [87394, 0, "s"], - [87395, 0, " "], - [87396, 0, "t"], - [87397, 0, "h"], - [87398, 0, "a"], - [87399, 0, "t"], - [87400, 0, " "], - [87401, 0, "i"], - [87402, 0, "s"], - [87403, 0, " "], - [87404, 0, "b"], - [87405, 0, "a"], - [87406, 0, "s"], - [87407, 0, "e"], - [87408, 0, "d"], - [87409, 0, " "], - [87410, 0, "o"], - [87411, 0, "n"], - [87412, 0, " "], - [87413, 0, "i"], - [87414, 0, "t"], - [87415, 0, "."], - [87418, 0, " "], - [87418, 0, "T"], - [87419, 0, "h"], - [87420, 0, "e"], - [87421, 0, "r"], - [87422, 0, "e"], - [87423, 0, "f"], - [87424, 0, "o"], - [87425, 0, "r"], - [87426, 0, "e"], - [87427, 0, ","], - [87428, 0, " "], - [87429, 0, "t"], - [87430, 0, "h"], - [87431, 0, "e"], - [87432, 0, " "], - [87433, 0, "o"], - [87434, 0, "r"], - [87435, 0, "d"], - [87436, 0, "e"], - [87437, 0, "r"], - [87438, 0, " "], - [87439, 0, "o"], - [87440, 0, "f"], - [87441, 0, " "], - [87442, 0, "$"], - [87443, 0, "o"], - [87444, 0, "_"], - [87445, 0, "r"], - [87446, 0, " "], - [87446, 1], - [87446, 0, "$"], - [87447, 0, " "], - [87448, 0, "a"], - [87449, 0, "n"], - [87450, 0, "d"], - [87451, 0, " "], - [87452, 0, "$"], - [87453, 0, "o"], - [87454, 0, "_"], - [87455, 0, "s"], - [87456, 0, "$"], - [87457, 0, " "], - [87458, 0, "i"], - [87459, 0, "n"], - [87460, 0, " "], - [87461, 0, "t"], - [87462, 0, "h"], - [87463, 0, "e"], - [87464, 0, " "], - [87465, 0, "f"], - [87466, 0, "i"], - [87467, 0, "n"], - [87468, 0, "a"], - [87469, 0, "l"], - [87470, 0, " "], - [87471, 0, "l"], - [87472, 0, "i"], - [87473, 0, "s"], - [87474, 0, "t"], - [87475, 0, " "], - [87476, 0, "d"], - [87477, 0, "e"], - [87478, 0, "p"], - [87479, 0, "e"], - [87480, 0, "n"], - [87481, 0, "d"], - [87482, 0, "s"], - [87483, 0, " "], - [87484, 0, "o"], - [87485, 0, "n"], - [87486, 0, " "], - [87487, 0, "t"], - [87488, 0, "h"], - [87489, 0, "e"], - [87490, 0, " "], - [87491, 0, "L"], - [87492, 0, "a"], - [87493, 0, "m"], - [87494, 0, "p"], - [87495, 0, "o"], - [87496, 0, "r"], - [87497, 0, "t"], - [87498, 0, " "], - [87499, 0, "t"], - [87500, 0, "i"], - [87501, 0, "m"], - [87502, 0, "e"], - [87503, 0, "s"], - [87504, 0, "t"], - [87505, 0, "a"], - [87506, 0, "m"], - [87507, 0, "p"], - [87508, 0, " "], - [87509, 0, "o"], - [87510, 0, "f"], - [87511, 0, " "], - [87512, 0, "t"], - [87513, 0, "h"], - [87514, 0, "e"], - [87515, 0, " "], - [87516, 0, "f"], - [87517, 0, "i"], - [87518, 0, "r"], - [87519, 0, "s"], - [87520, 0, "t"], - [87521, 0, " "], - [87522, 0, "o"], - [87523, 0, "p"], - [87524, 0, "e"], - [87525, 0, "r"], - [87526, 0, "a"], - [87527, 0, "t"], - [87528, 0, "i"], - [87529, 0, "o"], - [87530, 0, "n"], - [87531, 0, " "], - [87532, 0, "t"], - [87533, 0, "h"], - [87534, 0, "a"], - [87535, 0, "t"], - [87536, 0, " "], - [87536, 1], - [87535, 1], - [87534, 1], - [87533, 1], - [87532, 1], - [87531, 1], - [87530, 1], - [87529, 1], - [87528, 1], - [87527, 1], - [87526, 1], - [87525, 1], - [87524, 1], - [87523, 1], - [87522, 1], - [87522, 0, "i"], - [87523, 0, "n"], - [87524, 0, "s"], - [87525, 0, "e"], - [87526, 0, "r"], - [87527, 0, "t"], - [87528, 0, "i"], - [87529, 0, "o"], - [87530, 0, "n"], - [87531, 0, " "], - [87508, 0, "s"], - [87532, 0, "s"], - [87533, 0, " "], - [87485, 1], - [87484, 1], - [87483, 1], - [87482, 1], - [87481, 1], - [87480, 1], - [87479, 1], - [87478, 1], - [87477, 1], - [87476, 1], - [87476, 0, "i"], - [87477, 0, "s"], - [87478, 0, " "], - [87479, 0, "d"], - [87480, 0, "e"], - [87481, 0, "t"], - [87482, 0, "e"], - [87483, 0, "r"], - [87484, 0, "m"], - [87485, 0, "i"], - [87486, 0, "n"], - [87487, 0, "e"], - [87488, 0, "d"], - [87489, 0, " "], - [87490, 0, "b"], - [87491, 0, "y"], - [87540, 0, "i"], - [87541, 0, "n"], - [87542, 0, "t"], - [87543, 0, "o"], - [87544, 0, " "], - [87545, 0, "t"], - [87546, 0, "h"], - [87547, 0, "e"], - [87548, 0, " "], - [87549, 0, "i"], - [87550, 0, "n"], - [87551, 0, "s"], - [87552, 0, "e"], - [87553, 0, "r"], - [87554, 0, "t"], - [87555, 0, "i"], - [87556, 0, "o"], - [87557, 0, "n"], - [87558, 0, " "], - [87559, 0, "i"], - [87560, 0, "n"], - [87561, 0, "t"], - [87562, 0, "e"], - [87563, 0, "r"], - [87564, 0, "v"], - [87565, 0, "a"], - [87566, 0, "l"], - [87567, 0, " "], - [87568, 0, "a"], - [87569, 0, "f"], - [87570, 0, "t"], - [87571, 0, "e"], - [87572, 0, "r"], - [87573, 0, " "], - [87574, 0, "t"], - [87575, 0, "h"], - [87576, 0, "e"], - [87577, 0, " "], - [87578, 0, "c"], - [87579, 0, "o"], - [87580, 0, "m"], - [87581, 0, "m"], - [87582, 0, "o"], - [87583, 0, "n"], - [87584, 0, " "], - [87585, 0, "a"], - [87586, 0, "n"], - [87587, 0, "c"], - [87588, 0, "e"], - [87589, 0, "s"], - [87590, 0, "t"], - [87591, 0, "o"], - [87592, 0, "r"], - [87577, 0, "i"], - [87578, 0, "r"], - [87595, 1], - [87595, 0, ","], - [87596, 0, " "], - [87597, 0, "i"], - [87598, 0, "n"], - [87599, 0, " "], - [87600, 0, "t"], - [87601, 0, "h"], - [87602, 0, "e"], - [87603, 0, " "], - [87604, 0, "c"], - [87605, 0, "h"], - [87606, 0, "a"], - [87607, 0, "i"], - [87608, 0, "n"], - [87609, 0, " "], - [87610, 0, "o"], - [87611, 0, "f"], - [87612, 0, " "], - [87613, 0, "c"], - [87614, 0, "u"], - [87615, 0, "r"], - [87616, 0, "s"], - [87617, 0, "o"], - [87618, 0, "r"], - [87619, 0, " "], - [87620, 0, "r"], - [87621, 0, "e"], - [87622, 0, "v"], - [87622, 1], - [87622, 0, "f"], - [87623, 0, "e"], - [87624, 0, "r"], - [87625, 0, "e"], - [87626, 0, "n"], - [87627, 0, "c"], - [87628, 0, "e"], - [87629, 0, "s"], - [87630, 0, " "], - [87631, 0, "o"], - [87632, 0, "f"], - [87633, 0, " "], - [87609, 0, "s"], - [87635, 0, "t"], - [87636, 0, "h"], - [87637, 0, "e"], - [87638, 0, " "], - [87639, 0, "t"], - [87640, 0, "w"], - [87641, 0, "o"], - [87642, 0, " "], - [87643, 0, "o"], - [87644, 0, "p"], - [87645, 0, "e"], - [87646, 0, "r"], - [87647, 0, "a"], - [87648, 0, "t"], - [87649, 0, "i"], - [87650, 0, "o"], - [87651, 0, "n"], - [87652, 0, "s"], - [87653, 0, "."], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [88017, 1], - [97428, 1], - [97427, 1], - [97426, 1], - [97425, 1], - [97424, 1], - [97423, 1], - [97422, 1], - [97421, 1], - [97420, 1], - [97419, 1], - [97418, 1], - [97417, 1], - [97416, 1], - [97415, 1], - [97414, 1], - [97413, 1], - [97412, 1], - [97411, 1], - [97410, 1], - [97409, 1], - [97408, 1], - [97407, 1], - [97406, 1], - [97405, 1], - [97404, 1], - [97403, 1], - [97402, 1], - [97401, 1], - [97400, 1], - [97399, 1], - [97398, 1], - [97397, 1], - [97396, 1], - [97395, 1], - [97394, 1], - [97393, 1], - [97392, 1], - [97391, 1], - [97390, 1], - [97389, 1], - [97388, 1], - [97387, 1], - [97386, 1], - [97385, 1], - [97384, 1], - [97383, 1], - [97382, 1], - [97381, 1], - [97380, 1], - [97379, 1], - [97378, 1], - [97377, 1], - [97376, 1], - [97375, 1], - [97374, 1], - [97373, 1], - [97372, 1], - [97371, 1], - [97370, 1], - [97369, 1], - [97368, 1], - [97367, 1], - [97366, 1], - [97365, 1], - [97364, 1], - [97363, 1], - [97362, 1], - [97361, 1], - [97360, 1], - [97359, 1], - [97358, 1], - [97357, 1], - [97356, 1], - [97355, 1], - [97354, 1], - [97353, 1], - [97352, 1], - [97351, 1], - [97350, 1], - [97349, 1], - [97348, 1], - [97347, 1], - [97346, 1], - [97345, 1], - [97344, 1], - [97343, 1], - [97342, 1], - [97341, 1], - [97340, 1], - [97339, 1], - [97338, 1], - [97337, 1], - [97336, 1], - [97335, 1], - [97334, 1], - [97333, 1], - [97332, 1], - [97331, 1], - [97330, 1], - [97329, 1], - [97328, 1], - [97327, 1], - [97326, 1], - [97325, 1], - [97324, 1], - [97323, 1], - [97322, 1], - [97321, 1], - [97320, 1], - [97319, 1], - [97318, 1], - [97317, 1], - [97316, 1], - [97315, 1], - [97314, 1], - [97313, 1], - [97312, 1], - [97311, 1], - [97310, 1], - [97309, 1], - [97308, 1], - [97307, 1], - [97306, 1], - [97305, 1], - [97304, 1], - [97303, 1], - [97302, 1], - [97301, 1], - [97300, 1], - [97299, 1], - [97298, 1], - [97297, 1], - [97296, 1], - [97295, 1], - [97294, 1], - [97293, 1], - [97292, 1], - [97291, 1], - [97290, 1], - [97289, 1], - [97288, 1], - [97287, 1], - [97286, 1], - [97285, 1], - [97284, 1], - [97283, 1], - [97282, 1], - [97281, 1], - [97280, 1], - [97279, 1], - [97278, 1], - [97277, 1], - [97276, 1], - [97275, 1], - [97274, 1], - [97273, 1], - [97272, 1], - [97271, 1], - [97270, 1], - [97269, 1], - [97268, 1], - [97267, 1], - [97266, 1], - [97265, 1], - [97264, 1], - [97263, 1], - [97262, 1], - [97261, 1], - [97260, 1], - [97259, 1], - [97258, 1], - [97257, 1], - [97256, 1], - [97255, 1], - [97254, 1], - [97253, 1], - [97252, 1], - [97251, 1], - [97250, 1], - [97249, 1], - [97248, 1], - [97247, 1], - [97246, 1], - [97245, 1], - [97244, 1], - [97243, 1], - [97242, 1], - [97241, 1], - [97240, 1], - [97239, 1], - [97238, 1], - [97237, 1], - [97236, 1], - [97235, 1], - [97234, 1], - [97233, 1], - [97232, 1], - [97231, 1], - [97230, 1], - [97229, 1], - [97228, 1], - [97227, 1], - [97226, 1], - [97225, 1], - [97224, 1], - [97223, 1], - [97222, 1], - [97221, 1], - [97220, 1], - [97219, 1], - [97218, 1], - [97217, 1], - [97216, 1], - [97215, 1], - [97214, 1], - [97213, 1], - [97212, 1], - [97211, 1], - [97210, 1], - [97209, 1], - [97208, 1], - [97207, 1], - [97206, 1], - [97205, 1], - [97204, 1], - [97203, 1], - [97202, 1], - [97201, 1], - [97200, 1], - [97199, 1], - [97198, 1], - [97197, 1], - [97196, 1], - [97195, 1], - [97194, 1], - [97193, 1], - [97192, 1], - [97191, 1], - [97190, 1], - [97189, 1], - [97188, 1], - [97187, 1], - [97186, 1], - [97185, 1], - [97184, 1], - [97183, 1], - [97182, 1], - [97181, 1], - [97180, 1], - [97179, 1], - [97178, 1], - [97177, 1], - [97176, 1], - [97175, 1], - [97174, 1], - [97173, 1], - [97172, 1], - [97171, 1], - [97170, 1], - [97169, 1], - [97168, 1], - [97167, 1], - [97166, 1], - [97165, 1], - [97164, 1], - [97163, 1], - [97162, 1], - [97161, 1], - [97160, 1], - [97159, 1], - [97158, 1], - [97157, 1], - [97156, 1], - [97155, 1], - [97154, 1], - [97153, 1], - [97152, 1], - [97151, 1], - [97150, 1], - [97149, 1], - [97148, 1], - [97147, 1], - [97146, 1], - [97145, 1], - [97144, 1], - [97143, 1], - [97142, 1], - [97141, 1], - [97140, 1], - [97139, 1], - [97138, 1], - [97137, 1], - [97136, 1], - [97135, 1], - [97134, 1], - [97133, 1], - [97132, 1], - [97131, 1], - [97130, 1], - [97129, 1], - [97128, 1], - [97127, 1], - [97126, 1], - [97125, 1], - [97124, 1], - [97123, 1], - [97122, 1], - [97121, 1], - [97120, 1], - [97119, 1], - [97118, 1], - [97117, 1], - [97116, 1], - [97115, 1], - [97114, 1], - [97113, 1], - [97112, 1], - [97111, 1], - [97110, 1], - [97109, 1], - [97108, 1], - [97107, 1], - [97106, 1], - [97105, 1], - [97104, 1], - [97103, 1], - [97102, 1], - [97101, 1], - [97100, 1], - [97099, 1], - [97098, 1], - [97097, 1], - [97096, 1], - [97095, 1], - [97094, 1], - [97093, 1], - [97092, 1], - [97091, 1], - [97090, 1], - [97089, 1], - [97088, 1], - [97087, 1], - [97086, 1], - [97085, 1], - [97084, 1], - [97083, 1], - [97082, 1], - [97081, 1], - [97080, 1], - [97079, 1], - [97078, 1], - [97077, 1], - [97076, 1], - [97075, 1], - [97074, 1], - [97073, 1], - [97072, 1], - [97071, 1], - [97070, 1], - [97069, 1], - [97068, 1], - [97067, 1], - [97066, 1], - [97065, 1], - [97064, 1], - [97063, 1], - [97062, 1], - [97061, 1], - [97060, 1], - [97059, 1], - [97058, 1], - [97057, 1], - [97056, 1], - [97055, 1], - [97054, 1], - [97053, 1], - [97052, 1], - [97051, 1], - [97050, 1], - [97049, 1], - [97048, 1], - [97047, 1], - [97046, 1], - [97045, 1], - [97044, 1], - [97043, 1], - [97042, 1], - [97041, 1], - [97040, 1], - [97039, 1], - [97038, 1], - [97037, 1], - [97036, 1], - [97035, 1], - [97034, 1], - [97033, 1], - [97032, 1], - [97031, 1], - [97030, 1], - [97029, 1], - [97028, 1], - [97027, 1], - [97026, 1], - [97025, 1], - [97024, 1], - [97023, 1], - [97022, 1], - [97021, 1], - [97020, 1], - [97019, 1], - [97018, 1], - [97017, 1], - [97016, 1], - [97015, 1], - [97014, 1], - [97013, 1], - [97012, 1], - [97011, 1], - [97010, 1], - [97009, 1], - [97008, 1], - [97007, 1], - [97006, 1], - [97005, 1], - [97004, 1], - [97003, 1], - [97002, 1], - [97001, 1], - [97000, 1], - [96999, 1], - [96998, 1], - [96997, 1], - [96996, 1], - [96995, 1], - [96994, 1], - [96993, 1], - [96992, 1], - [96991, 1], - [96990, 1], - [96989, 1], - [96988, 1], - [96987, 1], - [96986, 1], - [96985, 1], - [96984, 1], - [96983, 1], - [96982, 1], - [96981, 1], - [96980, 1], - [96979, 1], - [96978, 1], - [96977, 1], - [96976, 1], - [96975, 1], - [96974, 1], - [96973, 1], - [96972, 1], - [96971, 1], - [96970, 1], - [96969, 1], - [96968, 1], - [96967, 1], - [96966, 1], - [96965, 1], - [96964, 1], - [96963, 1], - [96962, 1], - [96961, 1], - [96960, 1], - [96959, 1], - [96958, 1], - [96957, 1], - [96956, 1], - [96955, 1], - [96954, 1], - [96953, 1], - [96952, 1], - [96951, 1], - [96950, 1], - [96949, 1], - [96948, 1], - [96947, 1], - [96946, 1], - [96945, 1], - [96944, 1], - [96943, 1], - [96942, 1], - [96941, 1], - [96940, 1], - [96939, 1], - [96938, 1], - [96937, 1], - [96936, 1], - [96935, 1], - [96934, 1], - [96933, 1], - [96932, 1], - [96931, 1], - [96930, 1], - [96929, 1], - [96928, 1], - [96927, 1], - [96926, 1], - [96925, 1], - [96924, 1], - [96923, 1], - [96922, 1], - [96921, 1], - [96920, 1], - [96919, 1], - [96918, 1], - [96917, 1], - [96916, 1], - [96915, 1], - [96914, 1], - [96913, 1], - [96912, 1], - [96911, 1], - [96910, 1], - [96909, 1], - [96908, 1], - [96907, 1], - [96906, 1], - [96905, 1], - [96904, 1], - [96903, 1], - [96902, 1], - [96901, 1], - [96900, 1], - [96899, 1], - [96898, 1], - [96897, 1], - [96896, 1], - [96895, 1], - [96894, 1], - [96893, 1], - [96892, 1], - [96891, 1], - [96890, 1], - [96889, 1], - [96888, 1], - [96887, 1], - [96886, 1], - [96885, 1], - [96884, 1], - [96883, 1], - [96882, 1], - [96881, 1], - [96880, 1], - [96879, 1], - [96878, 1], - [96877, 1], - [96876, 1], - [96875, 1], - [96874, 1], - [96873, 1], - [96872, 1], - [96871, 1], - [96870, 1], - [96869, 1], - [96868, 1], - [96867, 1], - [96866, 1], - [96865, 1], - [96864, 1], - [96863, 1], - [96862, 1], - [96861, 1], - [96860, 1], - [96859, 1], - [96858, 1], - [96857, 1], - [96856, 1], - [96855, 1], - [96854, 1], - [96853, 1], - [96852, 1], - [96851, 1], - [96850, 1], - [96849, 1], - [96848, 1], - [96847, 1], - [96846, 1], - [96845, 1], - [96844, 1], - [96843, 1], - [96842, 1], - [96841, 1], - [96840, 1], - [96839, 1], - [96838, 1], - [96837, 1], - [96836, 1], - [96835, 1], - [96834, 1], - [96833, 1], - [96832, 1], - [96831, 1], - [96830, 1], - [96829, 1], - [96828, 1], - [96827, 1], - [96826, 1], - [96825, 1], - [96824, 1], - [96823, 1], - [96822, 1], - [96821, 1], - [96820, 1], - [96819, 1], - [96818, 1], - [96817, 1], - [96816, 1], - [96815, 1], - [96814, 1], - [96813, 1], - [96812, 1], - [96811, 1], - [96810, 1], - [96809, 1], - [96808, 1], - [96807, 1], - [96806, 1], - [96805, 1], - [96804, 1], - [96803, 1], - [96802, 1], - [96801, 1], - [96800, 1], - [96799, 1], - [96798, 1], - [96797, 1], - [96796, 1], - [96795, 1], - [96794, 1], - [96793, 1], - [96792, 1], - [96791, 1], - [96790, 1], - [96789, 1], - [96788, 1], - [96787, 1], - [96786, 1], - [96785, 1], - [96784, 1], - [96783, 1], - [96782, 1], - [96781, 1], - [96780, 1], - [96779, 1], - [96778, 1], - [96777, 1], - [96776, 1], - [96775, 1], - [96774, 1], - [96773, 1], - [96772, 1], - [96771, 1], - [96770, 1], - [96769, 1], - [96768, 1], - [96767, 1], - [96766, 1], - [96765, 1], - [96764, 1], - [96763, 1], - [96762, 1], - [96761, 1], - [96760, 1], - [96759, 1], - [96758, 1], - [96757, 1], - [96756, 1], - [96755, 1], - [96754, 1], - [96753, 1], - [96752, 1], - [96751, 1], - [96750, 1], - [96749, 1], - [96748, 1], - [96747, 1], - [96746, 1], - [96745, 1], - [96744, 1], - [96743, 1], - [96742, 1], - [96741, 1], - [96740, 1], - [96739, 1], - [96738, 1], - [96737, 1], - [96736, 1], - [96735, 1], - [96734, 1], - [96733, 1], - [96732, 1], - [96731, 1], - [96730, 1], - [96729, 1], - [96728, 1], - [96727, 1], - [96726, 1], - [96725, 1], - [96724, 1], - [96723, 1], - [96722, 1], - [96721, 1], - [96720, 1], - [96719, 1], - [96718, 1], - [96717, 1], - [96716, 1], - [96715, 1], - [96714, 1], - [96713, 1], - [96712, 1], - [96711, 1], - [96710, 1], - [96709, 1], - [96708, 1], - [96707, 1], - [96706, 1], - [96705, 1], - [96704, 1], - [96703, 1], - [96702, 1], - [96701, 1], - [96700, 1], - [96699, 1], - [96698, 1], - [96697, 1], - [96696, 1], - [96695, 1], - [96694, 1], - [96693, 1], - [96692, 1], - [96691, 1], - [96690, 1], - [96689, 1], - [96688, 1], - [96687, 1], - [96686, 1], - [96685, 1], - [96684, 1], - [96683, 1], - [96682, 1], - [96681, 1], - [96680, 1], - [96679, 1], - [96678, 1], - [96677, 1], - [96676, 1], - [96675, 1], - [96674, 1], - [96673, 1], - [96672, 1], - [96671, 1], - [96670, 1], - [96669, 1], - [96668, 1], - [96667, 1], - [96666, 1], - [96665, 1], - [96664, 1], - [96663, 1], - [96662, 1], - [96661, 1], - [96660, 1], - [96659, 1], - [96658, 1], - [96657, 1], - [96656, 1], - [96655, 1], - [96654, 1], - [96653, 1], - [96652, 1], - [96651, 1], - [96650, 1], - [96649, 1], - [96648, 1], - [96647, 1], - [96646, 1], - [96645, 1], - [96644, 1], - [96643, 1], - [96642, 1], - [96641, 1], - [96640, 1], - [96639, 1], - [96638, 1], - [96637, 1], - [96636, 1], - [96635, 1], - [96634, 1], - [96633, 1], - [96632, 1], - [96631, 1], - [96630, 1], - [96629, 1], - [96628, 1], - [96627, 1], - [96626, 1], - [96625, 1], - [96624, 1], - [96623, 1], - [96622, 1], - [96621, 1], - [96620, 1], - [96619, 1], - [96618, 1], - [96617, 1], - [96616, 1], - [96615, 1], - [96614, 1], - [96613, 1], - [96612, 1], - [96611, 1], - [96610, 1], - [96609, 1], - [96608, 1], - [96607, 1], - [96606, 1], - [96605, 1], - [96604, 1], - [96603, 1], - [96602, 1], - [96601, 1], - [96600, 1], - [96599, 1], - [96598, 1], - [96597, 1], - [96596, 1], - [96595, 1], - [96594, 1], - [96593, 1], - [96592, 1], - [96591, 1], - [96590, 1], - [96589, 1], - [96588, 1], - [96587, 1], - [96586, 1], - [96585, 1], - [96584, 1], - [96583, 1], - [96582, 1], - [96581, 1], - [96580, 1], - [96579, 1], - [96578, 1], - [96577, 1], - [96576, 1], - [96575, 1], - [96574, 1], - [96573, 1], - [96572, 1], - [96571, 1], - [96570, 1], - [96569, 1], - [96568, 1], - [96567, 1], - [96566, 1], - [96565, 1], - [96564, 1], - [96563, 1], - [96562, 1], - [96561, 1], - [96560, 1], - [96559, 1], - [96558, 1], - [96557, 1], - [96556, 1], - [96555, 1], - [96554, 1], - [96553, 1], - [96552, 1], - [96551, 1], - [96550, 1], - [96549, 1], - [96548, 1], - [96547, 1], - [96546, 1], - [96545, 1], - [96544, 1], - [96543, 1], - [96542, 1], - [96541, 1], - [96540, 1], - [96539, 1], - [96538, 1], - [96537, 1], - [96536, 1], - [96535, 1], - [96534, 1], - [96533, 1], - [96532, 1], - [96531, 1], - [96530, 1], - [96529, 1], - [96528, 1], - [96527, 1], - [96526, 1], - [96525, 1], - [96524, 1], - [96523, 1], - [96522, 1], - [96521, 1], - [96520, 1], - [96519, 1], - [96518, 1], - [96517, 1], - [96516, 1], - [96515, 1], - [96514, 1], - [96513, 1], - [96512, 1], - [96511, 1], - [96510, 1], - [96509, 1], - [96508, 1], - [96507, 1], - [96506, 1], - [96505, 1], - [96504, 1], - [96503, 1], - [96502, 1], - [96501, 1], - [96500, 1], - [96499, 1], - [96498, 1], - [96497, 1], - [96496, 1], - [96495, 1], - [96494, 1], - [96493, 1], - [96492, 1], - [96491, 1], - [96490, 1], - [96489, 1], - [96488, 1], - [96487, 1], - [96486, 1], - [96485, 1], - [96484, 1], - [96483, 1], - [96482, 1], - [96481, 1], - [96480, 1], - [96479, 1], - [96478, 1], - [96477, 1], - [96476, 1], - [96475, 1], - [96474, 1], - [96473, 1], - [96472, 1], - [96471, 1], - [96470, 1], - [96469, 1], - [96468, 1], - [96467, 1], - [96466, 1], - [96465, 1], - [96464, 1], - [96463, 1], - [96462, 1], - [96461, 1], - [96460, 1], - [96459, 1], - [96458, 1], - [96457, 1], - [96456, 1], - [96455, 1], - [96454, 1], - [96453, 1], - [96452, 1], - [96451, 1], - [96450, 1], - [96449, 1], - [96448, 1], - [96447, 1], - [96446, 1], - [96445, 1], - [96444, 1], - [96443, 1], - [96442, 1], - [96441, 1], - [96440, 1], - [96439, 1], - [96438, 1], - [96437, 1], - [96436, 1], - [96435, 1], - [96434, 1], - [96433, 1], - [96432, 1], - [96431, 1], - [96430, 1], - [96429, 1], - [96428, 1], - [96427, 1], - [96426, 1], - [96425, 1], - [96424, 1], - [96423, 1], - [96422, 1], - [96421, 1], - [96420, 1], - [96419, 1], - [96418, 1], - [96417, 1], - [96416, 1], - [96415, 1], - [96414, 1], - [96413, 1], - [96412, 1], - [96411, 1], - [96410, 1], - [96409, 1], - [96408, 1], - [96407, 1], - [96406, 1], - [96405, 1], - [96404, 1], - [96403, 1], - [96402, 1], - [96401, 1], - [96400, 1], - [96399, 1], - [96398, 1], - [96397, 1], - [96396, 1], - [96395, 1], - [96394, 1], - [96393, 1], - [96392, 1], - [96391, 1], - [96390, 1], - [96389, 1], - [96388, 1], - [96387, 1], - [96386, 1], - [96385, 1], - [96384, 1], - [96383, 1], - [96382, 1], - [96381, 1], - [96380, 1], - [96379, 1], - [96378, 1], - [96377, 1], - [96376, 1], - [96375, 1], - [96374, 1], - [96373, 1], - [96372, 1], - [96371, 1], - [96370, 1], - [96369, 1], - [96368, 1], - [96367, 1], - [96366, 1], - [96365, 1], - [96364, 1], - [96363, 1], - [96362, 1], - [96361, 1], - [96360, 1], - [96359, 1], - [96358, 1], - [96357, 1], - [96356, 1], - [96355, 1], - [96354, 1], - [96353, 1], - [96352, 1], - [96351, 1], - [96350, 1], - [96349, 1], - [96348, 1], - [96347, 1], - [96346, 1], - [96345, 1], - [96344, 1], - [96343, 1], - [96342, 1], - [96341, 1], - [96340, 1], - [96339, 1], - [96338, 1], - [96337, 1], - [96336, 1], - [96335, 1], - [96334, 1], - [96333, 1], - [96332, 1], - [96331, 1], - [96330, 1], - [96329, 1], - [96328, 1], - [96327, 1], - [96326, 1], - [96325, 1], - [96324, 1], - [96323, 1], - [96322, 1], - [96321, 1], - [96320, 1], - [96319, 1], - [96318, 1], - [96317, 1], - [96316, 1], - [96315, 1], - [96314, 1], - [96313, 1], - [96312, 1], - [96311, 1], - [96310, 1], - [96309, 1], - [96308, 1], - [96307, 1], - [96306, 1], - [96305, 1], - [96304, 1], - [96303, 1], - [96302, 1], - [96301, 1], - [96300, 1], - [96299, 1], - [96298, 1], - [96297, 1], - [96296, 1], - [96295, 1], - [96294, 1], - [96293, 1], - [96292, 1], - [96291, 1], - [96290, 1], - [96289, 1], - [96288, 1], - [96287, 1], - [96286, 1], - [96285, 1], - [96284, 1], - [96283, 1], - [96282, 1], - [96281, 1], - [96280, 1], - [96279, 1], - [96278, 1], - [96277, 1], - [96276, 1], - [96275, 1], - [96274, 1], - [96273, 1], - [96272, 1], - [96271, 1], - [96270, 1], - [96269, 1], - [96268, 1], - [96267, 1], - [96266, 1], - [96265, 1], - [96264, 1], - [96263, 1], - [96262, 1], - [96261, 1], - [96260, 1], - [96259, 1], - [96258, 1], - [96257, 1], - [96256, 1], - [96255, 1], - [96254, 1], - [96253, 1], - [96252, 1], - [96251, 1], - [96250, 1], - [96249, 1], - [96248, 1], - [96247, 1], - [96246, 1], - [96245, 1], - [96244, 1], - [96243, 1], - [96242, 1], - [96241, 1], - [96240, 1], - [96239, 1], - [96238, 1], - [96237, 1], - [96236, 1], - [96235, 1], - [96234, 1], - [96233, 1], - [96232, 1], - [96231, 1], - [96230, 1], - [96229, 1], - [96228, 1], - [96227, 1], - [96226, 1], - [96225, 1], - [96224, 1], - [96223, 1], - [96222, 1], - [96221, 1], - [96220, 1], - [96219, 1], - [96218, 1], - [96217, 1], - [96216, 1], - [96215, 1], - [96214, 1], - [96213, 1], - [96212, 1], - [96211, 1], - [96210, 1], - [96209, 1], - [96208, 1], - [96207, 1], - [96206, 1], - [96205, 1], - [96204, 1], - [96203, 1], - [96202, 1], - [96201, 1], - [96200, 1], - [96199, 1], - [96198, 1], - [96197, 1], - [96196, 1], - [96195, 1], - [96194, 1], - [96193, 1], - [96192, 1], - [96191, 1], - [96190, 1], - [96189, 1], - [96188, 1], - [96187, 1], - [96186, 1], - [96185, 1], - [96184, 1], - [96183, 1], - [96182, 1], - [96181, 1], - [96180, 1], - [96179, 1], - [96178, 1], - [96177, 1], - [96176, 1], - [96175, 1], - [96174, 1], - [96173, 1], - [96172, 1], - [96171, 1], - [96170, 1], - [96169, 1], - [96168, 1], - [96167, 1], - [96166, 1], - [96165, 1], - [96164, 1], - [96163, 1], - [96162, 1], - [96161, 1], - [96160, 1], - [96159, 1], - [96158, 1], - [96157, 1], - [96156, 1], - [96155, 1], - [96154, 1], - [96153, 1], - [96152, 1], - [96151, 1], - [96150, 1], - [96149, 1], - [96148, 1], - [96147, 1], - [96146, 1], - [96145, 1], - [96144, 1], - [96143, 1], - [96142, 1], - [96141, 1], - [96140, 1], - [96139, 1], - [96138, 1], - [96137, 1], - [96136, 1], - [96135, 1], - [96134, 1], - [96133, 1], - [96132, 1], - [96131, 1], - [96130, 1], - [96129, 1], - [96128, 1], - [96127, 1], - [96126, 1], - [96125, 1], - [96124, 1], - [96123, 1], - [96122, 1], - [96121, 1], - [96120, 1], - [96119, 1], - [96118, 1], - [96117, 1], - [96116, 1], - [96115, 1], - [96114, 1], - [96113, 1], - [96112, 1], - [96111, 1], - [96110, 1], - [96109, 1], - [96108, 1], - [96107, 1], - [96106, 1], - [96105, 1], - [96104, 1], - [96103, 1], - [96102, 1], - [96101, 1], - [96100, 1], - [96099, 1], - [96098, 1], - [96097, 1], - [96096, 1], - [96095, 1], - [96094, 1], - [96093, 1], - [96092, 1], - [96091, 1], - [96090, 1], - [96089, 1], - [96088, 1], - [96087, 1], - [96086, 1], - [96085, 1], - [96084, 1], - [96083, 1], - [96082, 1], - [96081, 1], - [96080, 1], - [96079, 1], - [96078, 1], - [96077, 1], - [96076, 1], - [96075, 1], - [96074, 1], - [96073, 1], - [96072, 1], - [96071, 1], - [96070, 1], - [96069, 1], - [96068, 1], - [96067, 1], - [96066, 1], - [96065, 1], - [96064, 1], - [96063, 1], - [96062, 1], - [96061, 1], - [96060, 1], - [96059, 1], - [96058, 1], - [96057, 1], - [96056, 1], - [96055, 1], - [96054, 1], - [96053, 1], - [96052, 1], - [96051, 1], - [96050, 1], - [96049, 1], - [96048, 1], - [96047, 1], - [96046, 1], - [96045, 1], - [96044, 1], - [96043, 1], - [96042, 1], - [96041, 1], - [96040, 1], - [96039, 1], - [96038, 1], - [96037, 1], - [96036, 1], - [96035, 1], - [96034, 1], - [96033, 1], - [96032, 1], - [96031, 1], - [96030, 1], - [96029, 1], - [96028, 1], - [96027, 1], - [96026, 1], - [96025, 1], - [96024, 1], - [96023, 1], - [96022, 1], - [96021, 1], - [96020, 1], - [96019, 1], - [96018, 1], - [96017, 1], - [96016, 1], - [96015, 1], - [96014, 1], - [96013, 1], - [96012, 1], - [96011, 1], - [96010, 1], - [96009, 1], - [96008, 1], - [96007, 1], - [96006, 1], - [96005, 1], - [96004, 1], - [96003, 1], - [96002, 1], - [96001, 1], - [96000, 1], - [95999, 1], - [95998, 1], - [95997, 1], - [95996, 1], - [95995, 1], - [95994, 1], - [95993, 1], - [95992, 1], - [95991, 1], - [95990, 1], - [95989, 1], - [95988, 1], - [95987, 1], - [95986, 1], - [95985, 1], - [95984, 1], - [95983, 1], - [95982, 1], - [95981, 1], - [95980, 1], - [95979, 1], - [95978, 1], - [95977, 1], - [95976, 1], - [95975, 1], - [95974, 1], - [95973, 1], - [95972, 1], - [95971, 1], - [95970, 1], - [95969, 1], - [95968, 1], - [95967, 1], - [95966, 1], - [95965, 1], - [95964, 1], - [95963, 1], - [95962, 1], - [95961, 1], - [95960, 1], - [95959, 1], - [95958, 1], - [95957, 1], - [95956, 1], - [95955, 1], - [95954, 1], - [95953, 1], - [95952, 1], - [95951, 1], - [95950, 1], - [95949, 1], - [95948, 1], - [95947, 1], - [95946, 1], - [95945, 1], - [95944, 1], - [95943, 1], - [95942, 1], - [95941, 1], - [95940, 1], - [95939, 1], - [95938, 1], - [95937, 1], - [95936, 1], - [95935, 1], - [95934, 1], - [95933, 1], - [95932, 1], - [95931, 1], - [95930, 1], - [95929, 1], - [95928, 1], - [95927, 1], - [95926, 1], - [95925, 1], - [95924, 1], - [95923, 1], - [95922, 1], - [95921, 1], - [95920, 1], - [95919, 1], - [95918, 1], - [95917, 1], - [95916, 1], - [95915, 1], - [95914, 1], - [95913, 1], - [95912, 1], - [95911, 1], - [95910, 1], - [95909, 1], - [95908, 1], - [95907, 1], - [95906, 1], - [95905, 1], - [95904, 1], - [95903, 1], - [95902, 1], - [95901, 1], - [95900, 1], - [95899, 1], - [95898, 1], - [95897, 1], - [95896, 1], - [95895, 1], - [95894, 1], - [95893, 1], - [95892, 1], - [95891, 1], - [95890, 1], - [95889, 1], - [95888, 1], - [95887, 1], - [95886, 1], - [95885, 1], - [95884, 1], - [95883, 1], - [95882, 1], - [95881, 1], - [95880, 1], - [95879, 1], - [95878, 1], - [95877, 1], - [95876, 1], - [95875, 1], - [95874, 1], - [95873, 1], - [95872, 1], - [95871, 1], - [95870, 1], - [95869, 1], - [95868, 1], - [95867, 1], - [95866, 1], - [95865, 1], - [95864, 1], - [95863, 1], - [95862, 1], - [95861, 1], - [95860, 1], - [95859, 1], - [95858, 1], - [95857, 1], - [95856, 1], - [95855, 1], - [95854, 1], - [95853, 1], - [95852, 1], - [95851, 1], - [95850, 1], - [95849, 1], - [95848, 1], - [95847, 1], - [95846, 1], - [95845, 1], - [95844, 1], - [95843, 1], - [95842, 1], - [95841, 1], - [95840, 1], - [95839, 1], - [95838, 1], - [95837, 1], - [95836, 1], - [95835, 1], - [95834, 1], - [95833, 1], - [95832, 1], - [95831, 1], - [95830, 1], - [95829, 1], - [95828, 1], - [95827, 1], - [95826, 1], - [95825, 1], - [95824, 1], - [95823, 1], - [95822, 1], - [95821, 1], - [95820, 1], - [95819, 1], - [95818, 1], - [95817, 1], - [95816, 1], - [95815, 1], - [95814, 1], - [95813, 1], - [95812, 1], - [95811, 1], - [95810, 1], - [95809, 1], - [95808, 1], - [95807, 1], - [95806, 1], - [95805, 1], - [95804, 1], - [95803, 1], - [95802, 1], - [95801, 1], - [95800, 1], - [95799, 1], - [95798, 1], - [95797, 1], - [95796, 1], - [95795, 1], - [95794, 1], - [95793, 1], - [95792, 1], - [95791, 1], - [95790, 1], - [95789, 1], - [95788, 1], - [95787, 1], - [95786, 1], - [95785, 1], - [95784, 1], - [95783, 1], - [95782, 1], - [95781, 1], - [95780, 1], - [95779, 1], - [95778, 1], - [95777, 1], - [95776, 1], - [95775, 1], - [95774, 1], - [95773, 1], - [95772, 1], - [95771, 1], - [95770, 1], - [95769, 1], - [95768, 1], - [95767, 1], - [95766, 1], - [95765, 1], - [95764, 1], - [95763, 1], - [95762, 1], - [95761, 1], - [95760, 1], - [95759, 1], - [95758, 1], - [95757, 1], - [95756, 1], - [95755, 1], - [95754, 1], - [95753, 1], - [95752, 1], - [95751, 1], - [95750, 1], - [95749, 1], - [95748, 1], - [95747, 1], - [95746, 1], - [95745, 1], - [95744, 1], - [95743, 1], - [95742, 1], - [95741, 1], - [95740, 1], - [95739, 1], - [95738, 1], - [95737, 1], - [95736, 1], - [95735, 1], - [95734, 1], - [95733, 1], - [95732, 1], - [95731, 1], - [95730, 1], - [95729, 1], - [95728, 1], - [95727, 1], - [95726, 1], - [95725, 1], - [95724, 1], - [95723, 1], - [95722, 1], - [95721, 1], - [95720, 1], - [95719, 1], - [95718, 1], - [95717, 1], - [95716, 1], - [95715, 1], - [95714, 1], - [95713, 1], - [95712, 1], - [95711, 1], - [95710, 1], - [95709, 1], - [95708, 1], - [95707, 1], - [95706, 1], - [95705, 1], - [95704, 1], - [95703, 1], - [95702, 1], - [95701, 1], - [95700, 1], - [95699, 1], - [95698, 1], - [95697, 1], - [95696, 1], - [95695, 1], - [95694, 1], - [95693, 1], - [95692, 1], - [95691, 1], - [95690, 1], - [95689, 1], - [95688, 1], - [95687, 1], - [95686, 1], - [95685, 1], - [95684, 1], - [95683, 1], - [95682, 1], - [95681, 1], - [95680, 1], - [95679, 1], - [95678, 1], - [95677, 1], - [95676, 1], - [95675, 1], - [95674, 1], - [95673, 1], - [95672, 1], - [95671, 1], - [95670, 1], - [95669, 1], - [95668, 1], - [95667, 1], - [95666, 1], - [95665, 1], - [95664, 1], - [95663, 1], - [95662, 1], - [95661, 1], - [95660, 1], - [95659, 1], - [95658, 1], - [95657, 1], - [95656, 1], - [95655, 1], - [95654, 1], - [95653, 1], - [95652, 1], - [95651, 1], - [95650, 1], - [95649, 1], - [95648, 1], - [95647, 1], - [95646, 1], - [95645, 1], - [95644, 1], - [95643, 1], - [95642, 1], - [95641, 1], - [95640, 1], - [95639, 1], - [95638, 1], - [95637, 1], - [95636, 1], - [95635, 1], - [95634, 1], - [95633, 1], - [95632, 1], - [95631, 1], - [95630, 1], - [95629, 1], - [95628, 1], - [95627, 1], - [95626, 1], - [95625, 1], - [95624, 1], - [95623, 1], - [95622, 1], - [95621, 1], - [95620, 1], - [95619, 1], - [95618, 1], - [95617, 1], - [95616, 1], - [95615, 1], - [95614, 1], - [95613, 1], - [95612, 1], - [95611, 1], - [95610, 1], - [95609, 1], - [95608, 1], - [95607, 1], - [95606, 1], - [95605, 1], - [95604, 1], - [95603, 1], - [95602, 1], - [95601, 1], - [95600, 1], - [95599, 1], - [95598, 1], - [95597, 1], - [95596, 1], - [95595, 1], - [95594, 1], - [95593, 1], - [95592, 1], - [95591, 1], - [95590, 1], - [95589, 1], - [95588, 1], - [95587, 1], - [95586, 1], - [95585, 1], - [95584, 1], - [95583, 1], - [95582, 1], - [95581, 1], - [95580, 1], - [95579, 1], - [95578, 1], - [95577, 1], - [95576, 1], - [95575, 1], - [95574, 1], - [95573, 1], - [95572, 1], - [95571, 1], - [95570, 1], - [95569, 1], - [95568, 1], - [95567, 1], - [95566, 1], - [95565, 1], - [95564, 1], - [95563, 1], - [95562, 1], - [95561, 1], - [95560, 1], - [95559, 1], - [95558, 1], - [95557, 1], - [95556, 1], - [95555, 1], - [95554, 1], - [95553, 1], - [95552, 1], - [95551, 1], - [95550, 1], - [95549, 1], - [95548, 1], - [95547, 1], - [95546, 1], - [95545, 1], - [95544, 1], - [95543, 1], - [95542, 1], - [95541, 1], - [95540, 1], - [95539, 1], - [95538, 1], - [95537, 1], - [95536, 1], - [95535, 1], - [95534, 1], - [95533, 1], - [95532, 1], - [95531, 1], - [95530, 1], - [95529, 1], - [95528, 1], - [95527, 1], - [95526, 1], - [95525, 1], - [95524, 1], - [95523, 1], - [95522, 1], - [95521, 1], - [95520, 1], - [95519, 1], - [95518, 1], - [95517, 1], - [95516, 1], - [95515, 1], - [95514, 1], - [95513, 1], - [95512, 1], - [95511, 1], - [95510, 1], - [95509, 1], - [95508, 1], - [95507, 1], - [95506, 1], - [95505, 1], - [95504, 1], - [95503, 1], - [95502, 1], - [95501, 1], - [95500, 1], - [95499, 1], - [95498, 1], - [95497, 1], - [95496, 1], - [95495, 1], - [95494, 1], - [95493, 1], - [95492, 1], - [95491, 1], - [95490, 1], - [95489, 1], - [95488, 1], - [95487, 1], - [95486, 1], - [95485, 1], - [95484, 1], - [95483, 1], - [95482, 1], - [95481, 1], - [95480, 1], - [95479, 1], - [95478, 1], - [95477, 1], - [95476, 1], - [95475, 1], - [95474, 1], - [95473, 1], - [95472, 1], - [95471, 1], - [95470, 1], - [95469, 1], - [95468, 1], - [95467, 1], - [95466, 1], - [95465, 1], - [95464, 1], - [95463, 1], - [95462, 1], - [95461, 1], - [95460, 1], - [95459, 1], - [95458, 1], - [95457, 1], - [95456, 1], - [95455, 1], - [95454, 1], - [95453, 1], - [95452, 1], - [95451, 1], - [95450, 1], - [95449, 1], - [95448, 1], - [95447, 1], - [95446, 1], - [95445, 1], - [95444, 1], - [95443, 1], - [95442, 1], - [95441, 1], - [95440, 1], - [95439, 1], - [95438, 1], - [95437, 1], - [95436, 1], - [95435, 1], - [95434, 1], - [95433, 1], - [95432, 1], - [95431, 1], - [95430, 1], - [95429, 1], - [95428, 1], - [95427, 1], - [95426, 1], - [95425, 1], - [95424, 1], - [95423, 1], - [95422, 1], - [95421, 1], - [95420, 1], - [95419, 1], - [95418, 1], - [95417, 1], - [95416, 1], - [95415, 1], - [95414, 1], - [95413, 1], - [95412, 1], - [95411, 1], - [95410, 1], - [95409, 1], - [95408, 1], - [95407, 1], - [95406, 1], - [95405, 1], - [95404, 1], - [95403, 1], - [95402, 1], - [95401, 1], - [95400, 1], - [95399, 1], - [95398, 1], - [95397, 1], - [95396, 1], - [95395, 1], - [95394, 1], - [95393, 1], - [95392, 1], - [95391, 1], - [95390, 1], - [95389, 1], - [95388, 1], - [95387, 1], - [95386, 1], - [95385, 1], - [95384, 1], - [95383, 1], - [95382, 1], - [95381, 1], - [95380, 1], - [95379, 1], - [95378, 1], - [95377, 1], - [95376, 1], - [95375, 1], - [95374, 1], - [95373, 1], - [95372, 1], - [95371, 1], - [95370, 1], - [95369, 1], - [95368, 1], - [95367, 1], - [95366, 1], - [95365, 1], - [95364, 1], - [95363, 1], - [95362, 1], - [95361, 1], - [95360, 1], - [95359, 1], - [95358, 1], - [95357, 1], - [95356, 1], - [95355, 1], - [95354, 1], - [95353, 1], - [95352, 1], - [95351, 1], - [95350, 1], - [95349, 1], - [95348, 1], - [95347, 1], - [95346, 1], - [95345, 1], - [95344, 1], - [95343, 1], - [95342, 1], - [95341, 1], - [95340, 1], - [95339, 1], - [95338, 1], - [95337, 1], - [95336, 1], - [95335, 1], - [95334, 1], - [95333, 1], - [95332, 1], - [95331, 1], - [95330, 1], - [95329, 1], - [95328, 1], - [95327, 1], - [95326, 1], - [95325, 1], - [95324, 1], - [95323, 1], - [95322, 1], - [95321, 1], - [95320, 1], - [95319, 1], - [95318, 1], - [95317, 1], - [95316, 1], - [95315, 1], - [95314, 1], - [95313, 1], - [95312, 1], - [95311, 1], - [95310, 1], - [95309, 1], - [95308, 1], - [95307, 1], - [95306, 1], - [95305, 1], - [95304, 1], - [95303, 1], - [95302, 1], - [95301, 1], - [95300, 1], - [95299, 1], - [95298, 1], - [95297, 1], - [95296, 1], - [95295, 1], - [95294, 1], - [95293, 1], - [95292, 1], - [95291, 1], - [95290, 1], - [95289, 1], - [95288, 1], - [95287, 1], - [95286, 1], - [95285, 1], - [95284, 1], - [95283, 1], - [95282, 1], - [95281, 1], - [95280, 1], - [95279, 1], - [95278, 1], - [95277, 1], - [95276, 1], - [95275, 1], - [95274, 1], - [95273, 1], - [95272, 1], - [95271, 1], - [95270, 1], - [95269, 1], - [95268, 1], - [95267, 1], - [95266, 1], - [95265, 1], - [95264, 1], - [95263, 1], - [95262, 1], - [95261, 1], - [95260, 1], - [95259, 1], - [95258, 1], - [95257, 1], - [95256, 1], - [95255, 1], - [95254, 1], - [95253, 1], - [95252, 1], - [95251, 1], - [95250, 1], - [95249, 1], - [95248, 1], - [95247, 1], - [95246, 1], - [95245, 1], - [95244, 1], - [95243, 1], - [95242, 1], - [95241, 1], - [95240, 1], - [95239, 1], - [95238, 1], - [95237, 1], - [95236, 1], - [95235, 1], - [95234, 1], - [95233, 1], - [95232, 1], - [95231, 1], - [95230, 1], - [95229, 1], - [95228, 1], - [95227, 1], - [95226, 1], - [95225, 1], - [95224, 1], - [95223, 1], - [95222, 1], - [95221, 1], - [95220, 1], - [95219, 1], - [95218, 1], - [95217, 1], - [95216, 1], - [95215, 1], - [95214, 1], - [95213, 1], - [95212, 1], - [95211, 1], - [95210, 1], - [95209, 1], - [95208, 1], - [95207, 1], - [95206, 1], - [95205, 1], - [95204, 1], - [95203, 1], - [95202, 1], - [95201, 1], - [95200, 1], - [95199, 1], - [95198, 1], - [95197, 1], - [95196, 1], - [95195, 1], - [95194, 1], - [95193, 1], - [95192, 1], - [95191, 1], - [95190, 1], - [95189, 1], - [95188, 1], - [95187, 1], - [95186, 1], - [95185, 1], - [95184, 1], - [95183, 1], - [95182, 1], - [95181, 1], - [95180, 1], - [95179, 1], - [95178, 1], - [95177, 1], - [95176, 1], - [95175, 1], - [95174, 1], - [95173, 1], - [95172, 1], - [95171, 1], - [95170, 1], - [95169, 1], - [95168, 1], - [95167, 1], - [95166, 1], - [95165, 1], - [95164, 1], - [95163, 1], - [95162, 1], - [95161, 1], - [95160, 1], - [95159, 1], - [95158, 1], - [95157, 1], - [95156, 1], - [95155, 1], - [95154, 1], - [95153, 1], - [95152, 1], - [95151, 1], - [95150, 1], - [95149, 1], - [95148, 1], - [95147, 1], - [95146, 1], - [95145, 1], - [95144, 1], - [95143, 1], - [95142, 1], - [95141, 1], - [95140, 1], - [95139, 1], - [95138, 1], - [95137, 1], - [95136, 1], - [95135, 1], - [95134, 1], - [95133, 1], - [95132, 1], - [95131, 1], - [95130, 1], - [95129, 1], - [95128, 1], - [95127, 1], - [95126, 1], - [95125, 1], - [95124, 1], - [95123, 1], - [95122, 1], - [95121, 1], - [95120, 1], - [95119, 1], - [95118, 1], - [95117, 1], - [95116, 1], - [95115, 1], - [95114, 1], - [95113, 1], - [95112, 1], - [95111, 1], - [95110, 1], - [95109, 1], - [95108, 1], - [95107, 1], - [95106, 1], - [95105, 1], - [95104, 1], - [95103, 1], - [95102, 1], - [95101, 1], - [95100, 1], - [95099, 1], - [95098, 1], - [95097, 1], - [95096, 1], - [95095, 1], - [95094, 1], - [95093, 1], - [95092, 1], - [95091, 1], - [95090, 1], - [95089, 1], - [95088, 1], - [95087, 1], - [95086, 1], - [95085, 1], - [95084, 1], - [95083, 1], - [95082, 1], - [95081, 1], - [95080, 1], - [95079, 1], - [95078, 1], - [95077, 1], - [95076, 1], - [95075, 1], - [95074, 1], - [95073, 1], - [95072, 1], - [95071, 1], - [95070, 1], - [95069, 1], - [95068, 1], - [95067, 1], - [95066, 1], - [95065, 1], - [95064, 1], - [95063, 1], - [95062, 1], - [95061, 1], - [95060, 1], - [95059, 1], - [95058, 1], - [95057, 1], - [95056, 1], - [95055, 1], - [95054, 1], - [95053, 1], - [95052, 1], - [95051, 1], - [95050, 1], - [95049, 1], - [95048, 1], - [95047, 1], - [95046, 1], - [95045, 1], - [95044, 1], - [95043, 1], - [95042, 1], - [95041, 1], - [95040, 1], - [95039, 1], - [95038, 1], - [95037, 1], - [95036, 1], - [95035, 1], - [95034, 1], - [95033, 1], - [95032, 1], - [95031, 1], - [95030, 1], - [95029, 1], - [95028, 1], - [95027, 1], - [95026, 1], - [95025, 1], - [95024, 1], - [95023, 1], - [95022, 1], - [95021, 1], - [95020, 1], - [95019, 1], - [95018, 1], - [95017, 1], - [95016, 1], - [95015, 1], - [95014, 1], - [95013, 1], - [95012, 1], - [95011, 1], - [95010, 1], - [95009, 1], - [95008, 1], - [95007, 1], - [95006, 1], - [95005, 1], - [95004, 1], - [95003, 1], - [95002, 1], - [95001, 1], - [95000, 1], - [94999, 1], - [94998, 1], - [94997, 1], - [94996, 1], - [94995, 1], - [94994, 1], - [94993, 1], - [94992, 1], - [94991, 1], - [94990, 1], - [94989, 1], - [94988, 1], - [94987, 1], - [94986, 1], - [94985, 1], - [94984, 1], - [94983, 1], - [94982, 1], - [94981, 1], - [94980, 1], - [94979, 1], - [94978, 1], - [94977, 1], - [94976, 1], - [94975, 1], - [94974, 1], - [94973, 1], - [94972, 1], - [94971, 1], - [94970, 1], - [94969, 1], - [94968, 1], - [94967, 1], - [94966, 1], - [94965, 1], - [94964, 1], - [94963, 1], - [94962, 1], - [94961, 1], - [94960, 1], - [94959, 1], - [94958, 1], - [94957, 1], - [94956, 1], - [94955, 1], - [94954, 1], - [94953, 1], - [94952, 1], - [94951, 1], - [94950, 1], - [94949, 1], - [94948, 1], - [94947, 1], - [94946, 1], - [94945, 1], - [94944, 1], - [94943, 1], - [94942, 1], - [94941, 1], - [94940, 1], - [94939, 1], - [94938, 1], - [94937, 1], - [94936, 1], - [94935, 1], - [94934, 1], - [94933, 1], - [94932, 1], - [94931, 1], - [94930, 1], - [94929, 1], - [94928, 1], - [94927, 1], - [94926, 1], - [94925, 1], - [94924, 1], - [94923, 1], - [94922, 1], - [94921, 1], - [94920, 1], - [94919, 1], - [94918, 1], - [94917, 1], - [94916, 1], - [94915, 1], - [94914, 1], - [94913, 1], - [94912, 1], - [94911, 1], - [94910, 1], - [94909, 1], - [94908, 1], - [94907, 1], - [94906, 1], - [94905, 1], - [94904, 1], - [94903, 1], - [94902, 1], - [94901, 1], - [94900, 1], - [94899, 1], - [94898, 1], - [94897, 1], - [94896, 1], - [94895, 1], - [94894, 1], - [94893, 1], - [94892, 1], - [94891, 1], - [94890, 1], - [94889, 1], - [94888, 1], - [94887, 1], - [94886, 1], - [94885, 1], - [94884, 1], - [94883, 1], - [94882, 1], - [94881, 1], - [94880, 1], - [94879, 1], - [94878, 1], - [94877, 1], - [94876, 1], - [94875, 1], - [94874, 1], - [94873, 1], - [94872, 1], - [94871, 1], - [94870, 1], - [94869, 1], - [94868, 1], - [94867, 1], - [94866, 1], - [94865, 1], - [94864, 1], - [94863, 1], - [94862, 1], - [94861, 1], - [94860, 1], - [94859, 1], - [94858, 1], - [94857, 1], - [94856, 1], - [94855, 1], - [94854, 1], - [94853, 1], - [94852, 1], - [94851, 1], - [94850, 1], - [94849, 1], - [94848, 1], - [94847, 1], - [94846, 1], - [94845, 1], - [94844, 1], - [94843, 1], - [94842, 1], - [94841, 1], - [94840, 1], - [94839, 1], - [94838, 1], - [94837, 1], - [94836, 1], - [94835, 1], - [94834, 1], - [94833, 1], - [94832, 1], - [94831, 1], - [94830, 1], - [94829, 1], - [94828, 1], - [94827, 1], - [94826, 1], - [94825, 1], - [94824, 1], - [94823, 1], - [94822, 1], - [94821, 1], - [94820, 1], - [94819, 1], - [94818, 1], - [94817, 1], - [94816, 1], - [94815, 1], - [94814, 1], - [94813, 1], - [94812, 1], - [94811, 1], - [94810, 1], - [94809, 1], - [94808, 1], - [94807, 1], - [94806, 1], - [94805, 1], - [94804, 1], - [94803, 1], - [94802, 1], - [94801, 1], - [94800, 1], - [94799, 1], - [94798, 1], - [94797, 1], - [94796, 1], - [94795, 1], - [94794, 1], - [94793, 1], - [94792, 1], - [94791, 1], - [94790, 1], - [94789, 1], - [94788, 1], - [94787, 1], - [94786, 1], - [94785, 1], - [94784, 1], - [94783, 1], - [94782, 1], - [94781, 1], - [94780, 1], - [94779, 1], - [94778, 1], - [94777, 1], - [94776, 1], - [94775, 1], - [94774, 1], - [94773, 1], - [94772, 1], - [94771, 1], - [94770, 1], - [94769, 1], - [94768, 1], - [94767, 1], - [94766, 1], - [94765, 1], - [94764, 1], - [94763, 1], - [94762, 1], - [94761, 1], - [94760, 1], - [94759, 1], - [94758, 1], - [94757, 1], - [94756, 1], - [94755, 1], - [94754, 1], - [94753, 1], - [94752, 1], - [94751, 1], - [94750, 1], - [94749, 1], - [94748, 1], - [94747, 1], - [94746, 1], - [94745, 1], - [94744, 1], - [94743, 1], - [94742, 1], - [94741, 1], - [94740, 1], - [94739, 1], - [94738, 1], - [94737, 1], - [94736, 1], - [94735, 1], - [94734, 1], - [94733, 1], - [94732, 1], - [94731, 1], - [94730, 1], - [94729, 1], - [94728, 1], - [94727, 1], - [94726, 1], - [94725, 1], - [94724, 1], - [94723, 1], - [94722, 1], - [94721, 1], - [94720, 1], - [94719, 1], - [94718, 1], - [94717, 1], - [94716, 1], - [94715, 1], - [94714, 1], - [94713, 1], - [94712, 1], - [94711, 1], - [94710, 1], - [94709, 1], - [94708, 1], - [94707, 1], - [94706, 1], - [94705, 1], - [94704, 1], - [94703, 1], - [94702, 1], - [94701, 1], - [94700, 1], - [94699, 1], - [94698, 1], - [94697, 1], - [94696, 1], - [94695, 1], - [94694, 1], - [94693, 1], - [94692, 1], - [94691, 1], - [94690, 1], - [94689, 1], - [94688, 1], - [94687, 1], - [94686, 1], - [94685, 1], - [94684, 1], - [94683, 1], - [94682, 1], - [94681, 1], - [94680, 1], - [94679, 1], - [94678, 1], - [94677, 1], - [94676, 1], - [94675, 1], - [94674, 1], - [94673, 1], - [94672, 1], - [94671, 1], - [94670, 1], - [94669, 1], - [94668, 1], - [94667, 1], - [94666, 1], - [94665, 1], - [94664, 1], - [94663, 1], - [94662, 1], - [94661, 1], - [94660, 1], - [94659, 1], - [94658, 1], - [94657, 1], - [94656, 1], - [94655, 1], - [94654, 1], - [94653, 1], - [94652, 1], - [94651, 1], - [94650, 1], - [94649, 1], - [94648, 1], - [94647, 1], - [94646, 1], - [94645, 1], - [94644, 1], - [94643, 1], - [94642, 1], - [94641, 1], - [94640, 1], - [94639, 1], - [94638, 1], - [94637, 1], - [94636, 1], - [94635, 1], - [94634, 1], - [94633, 1], - [94632, 1], - [94631, 1], - [94630, 1], - [94629, 1], - [94628, 1], - [94627, 1], - [94626, 1], - [94625, 1], - [94624, 1], - [94623, 1], - [94622, 1], - [94621, 1], - [94620, 1], - [94619, 1], - [94618, 1], - [94617, 1], - [94616, 1], - [94615, 1], - [94614, 1], - [94613, 1], - [94612, 1], - [94611, 1], - [94610, 1], - [94609, 1], - [94608, 1], - [94607, 1], - [94606, 1], - [94605, 1], - [94604, 1], - [94603, 1], - [94602, 1], - [94601, 1], - [94600, 1], - [94599, 1], - [94598, 1], - [94597, 1], - [94596, 1], - [94595, 1], - [94594, 1], - [94593, 1], - [94592, 1], - [94591, 1], - [94590, 1], - [94589, 1], - [94588, 1], - [94587, 1], - [94586, 1], - [94585, 1], - [94584, 1], - [94583, 1], - [94582, 1], - [94581, 1], - [94580, 1], - [94579, 1], - [94578, 1], - [94577, 1], - [94576, 1], - [94575, 1], - [94574, 1], - [94573, 1], - [94572, 1], - [94571, 1], - [94570, 1], - [94569, 1], - [94568, 1], - [94567, 1], - [94566, 1], - [94565, 1], - [94564, 1], - [94563, 1], - [94562, 1], - [94561, 1], - [94560, 1], - [94559, 1], - [94558, 1], - [94557, 1], - [94556, 1], - [94555, 1], - [94554, 1], - [94553, 1], - [94552, 1], - [94551, 1], - [94550, 1], - [94549, 1], - [94548, 1], - [94547, 1], - [94546, 1], - [94545, 1], - [94544, 1], - [94543, 1], - [94542, 1], - [94541, 1], - [94540, 1], - [94539, 1], - [94538, 1], - [94537, 1], - [94536, 1], - [94535, 1], - [94534, 1], - [94533, 1], - [94532, 1], - [94531, 1], - [94530, 1], - [94529, 1], - [94528, 1], - [94527, 1], - [94526, 1], - [94525, 1], - [94524, 1], - [94523, 1], - [94522, 1], - [94521, 1], - [94520, 1], - [94519, 1], - [94518, 1], - [94517, 1], - [94516, 1], - [94515, 1], - [94514, 1], - [94513, 1], - [94512, 1], - [94511, 1], - [94510, 1], - [94509, 1], - [94508, 1], - [94507, 1], - [94506, 1], - [94505, 1], - [94504, 1], - [94503, 1], - [94502, 1], - [94501, 1], - [94500, 1], - [94499, 1], - [94498, 1], - [94497, 1], - [94496, 1], - [94495, 1], - [94494, 1], - [94493, 1], - [94492, 1], - [94491, 1], - [94490, 1], - [94489, 1], - [94488, 1], - [94487, 1], - [94486, 1], - [94485, 1], - [94484, 1], - [94483, 1], - [94482, 1], - [94481, 1], - [94480, 1], - [94479, 1], - [94478, 1], - [94477, 1], - [94476, 1], - [94475, 1], - [94474, 1], - [94473, 1], - [94472, 1], - [94471, 1], - [94470, 1], - [94469, 1], - [94468, 1], - [94467, 1], - [94466, 1], - [94465, 1], - [94464, 1], - [94463, 1], - [94462, 1], - [94461, 1], - [94460, 1], - [94459, 1], - [94458, 1], - [94457, 1], - [94456, 1], - [94455, 1], - [94454, 1], - [94453, 1], - [94452, 1], - [94451, 1], - [94450, 1], - [94449, 1], - [94448, 1], - [94447, 1], - [94446, 1], - [94445, 1], - [94444, 1], - [94443, 1], - [94442, 1], - [94441, 1], - [94440, 1], - [94439, 1], - [94438, 1], - [94437, 1], - [94436, 1], - [94435, 1], - [94434, 1], - [94433, 1], - [94432, 1], - [94431, 1], - [94430, 1], - [94429, 1], - [94428, 1], - [94427, 1], - [94426, 1], - [94425, 1], - [94424, 1], - [94423, 1], - [94422, 1], - [94421, 1], - [94420, 1], - [94419, 1], - [94418, 1], - [94417, 1], - [94416, 1], - [94415, 1], - [94414, 1], - [94413, 1], - [94412, 1], - [94411, 1], - [94410, 1], - [94409, 1], - [94408, 1], - [94407, 1], - [94406, 1], - [94405, 1], - [94404, 1], - [94403, 1], - [94402, 1], - [94401, 1], - [94400, 1], - [94399, 1], - [94398, 1], - [94397, 1], - [94396, 1], - [94395, 1], - [94394, 1], - [94393, 1], - [94392, 1], - [94391, 1], - [94390, 1], - [94389, 1], - [94388, 1], - [94387, 1], - [94386, 1], - [94385, 1], - [94384, 1], - [94383, 1], - [94382, 1], - [94381, 1], - [94380, 1], - [94379, 1], - [94378, 1], - [94377, 1], - [94376, 1], - [94375, 1], - [94374, 1], - [94373, 1], - [94372, 1], - [94371, 1], - [94370, 1], - [94369, 1], - [94368, 1], - [94367, 1], - [94366, 1], - [94365, 1], - [94364, 1], - [94363, 1], - [94362, 1], - [94361, 1], - [94360, 1], - [94359, 1], - [94358, 1], - [94357, 1], - [94356, 1], - [94355, 1], - [94354, 1], - [94353, 1], - [94352, 1], - [94351, 1], - [94350, 1], - [94349, 1], - [94348, 1], - [94347, 1], - [94346, 1], - [94345, 1], - [94344, 1], - [94343, 1], - [94342, 1], - [94341, 1], - [94340, 1], - [94339, 1], - [94338, 1], - [94337, 1], - [94336, 1], - [94335, 1], - [94334, 1], - [94333, 1], - [94332, 1], - [94331, 1], - [94330, 1], - [94329, 1], - [94328, 1], - [94327, 1], - [94326, 1], - [94325, 1], - [94324, 1], - [94323, 1], - [94322, 1], - [94321, 1], - [94320, 1], - [94319, 1], - [94318, 1], - [94317, 1], - [94316, 1], - [94315, 1], - [94314, 1], - [94313, 1], - [94312, 1], - [94311, 1], - [94310, 1], - [94309, 1], - [94308, 1], - [94307, 1], - [94306, 1], - [94305, 1], - [94304, 1], - [94303, 1], - [94302, 1], - [94301, 1], - [94300, 1], - [94299, 1], - [94298, 1], - [94297, 1], - [94296, 1], - [94295, 1], - [94294, 1], - [94293, 1], - [94292, 1], - [94291, 1], - [94290, 1], - [94289, 1], - [94288, 1], - [94287, 1], - [94286, 1], - [94285, 1], - [94284, 1], - [94283, 1], - [94282, 1], - [94281, 1], - [94280, 1], - [94279, 1], - [94278, 1], - [94277, 1], - [94276, 1], - [94275, 1], - [94274, 1], - [94273, 1], - [94272, 1], - [94271, 1], - [94270, 1], - [94269, 1], - [94268, 1], - [94267, 1], - [94266, 1], - [94265, 1], - [94264, 1], - [94263, 1], - [94262, 1], - [94261, 1], - [94260, 1], - [94259, 1], - [94258, 1], - [94257, 1], - [94256, 1], - [94255, 1], - [94254, 1], - [94253, 1], - [94252, 1], - [94251, 1], - [94250, 1], - [94249, 1], - [94248, 1], - [94247, 1], - [94246, 1], - [94245, 1], - [94244, 1], - [94243, 1], - [94242, 1], - [94241, 1], - [94240, 1], - [94239, 1], - [94238, 1], - [94237, 1], - [94236, 1], - [94235, 1], - [94234, 1], - [94233, 1], - [94232, 1], - [94231, 1], - [94230, 1], - [94229, 1], - [94228, 1], - [94227, 1], - [94226, 1], - [94225, 1], - [94224, 1], - [94223, 1], - [94222, 1], - [94221, 1], - [94220, 1], - [94219, 1], - [94218, 1], - [94217, 1], - [94216, 1], - [94215, 1], - [94214, 1], - [94213, 1], - [94212, 1], - [94211, 1], - [94210, 1], - [94209, 1], - [94208, 1], - [94207, 1], - [94206, 1], - [94205, 1], - [94204, 1], - [94203, 1], - [94202, 1], - [94201, 1], - [94200, 1], - [94199, 1], - [94198, 1], - [94197, 1], - [94196, 1], - [94195, 1], - [94194, 1], - [94193, 1], - [94192, 1], - [94191, 1], - [94190, 1], - [94189, 1], - [94188, 1], - [94187, 1], - [94186, 1], - [94185, 1], - [94184, 1], - [94183, 1], - [94182, 1], - [94181, 1], - [94180, 1], - [94179, 1], - [94178, 1], - [94177, 1], - [94176, 1], - [94175, 1], - [94174, 1], - [94173, 1], - [94172, 1], - [94171, 1], - [94170, 1], - [94169, 1], - [94168, 1], - [94167, 1], - [94166, 1], - [94165, 1], - [94164, 1], - [94163, 1], - [94162, 1], - [94161, 1], - [94160, 1], - [94159, 1], - [94158, 1], - [94157, 1], - [94156, 1], - [94155, 1], - [94154, 1], - [94153, 1], - [94152, 1], - [94151, 1], - [94150, 1], - [94149, 1], - [94148, 1], - [94147, 1], - [94146, 1], - [94145, 1], - [94144, 1], - [94143, 1], - [94142, 1], - [94141, 1], - [94140, 1], - [94139, 1], - [94138, 1], - [94137, 1], - [94136, 1], - [94135, 1], - [94134, 1], - [94133, 1], - [94132, 1], - [94131, 1], - [94130, 1], - [94129, 1], - [94128, 1], - [94127, 1], - [94126, 1], - [94125, 1], - [94124, 1], - [94123, 1], - [94122, 1], - [94121, 1], - [94120, 1], - [94119, 1], - [94118, 1], - [94117, 1], - [94116, 1], - [94115, 1], - [94114, 1], - [94113, 1], - [94112, 1], - [94111, 1], - [94110, 1], - [94109, 1], - [94108, 1], - [94107, 1], - [94106, 1], - [94105, 1], - [94104, 1], - [94103, 1], - [94102, 1], - [94101, 1], - [94100, 1], - [94099, 1], - [94098, 1], - [94097, 1], - [94096, 1], - [94095, 1], - [94094, 1], - [94093, 1], - [94092, 1], - [94091, 1], - [94090, 1], - [94089, 1], - [94088, 1], - [94087, 1], - [94086, 1], - [94085, 1], - [94084, 1], - [94083, 1], - [94082, 1], - [94081, 1], - [94080, 1], - [94079, 1], - [94078, 1], - [94077, 1], - [94076, 1], - [94075, 1], - [94074, 1], - [94073, 1], - [94072, 1], - [94071, 1], - [94070, 1], - [94069, 1], - [94068, 1], - [94067, 1], - [94066, 1], - [94065, 1], - [94064, 1], - [94063, 1], - [94062, 1], - [94061, 1], - [94060, 1], - [94059, 1], - [94058, 1], - [94057, 1], - [94056, 1], - [94055, 1], - [94054, 1], - [94053, 1], - [94052, 1], - [94051, 1], - [94050, 1], - [94049, 1], - [94048, 1], - [94047, 1], - [94046, 1], - [94045, 1], - [94044, 1], - [94043, 1], - [94042, 1], - [94041, 1], - [94040, 1], - [94039, 1], - [94038, 1], - [94037, 1], - [94036, 1], - [94035, 1], - [94034, 1], - [94033, 1], - [94032, 1], - [94031, 1], - [94030, 1], - [94029, 1], - [94028, 1], - [94027, 1], - [94026, 1], - [94025, 1], - [94024, 1], - [94023, 1], - [94022, 1], - [94021, 1], - [94020, 1], - [94019, 1], - [94018, 1], - [94017, 1], - [94016, 1], - [94015, 1], - [94014, 1], - [94013, 1], - [94012, 1], - [94011, 1], - [94010, 1], - [94009, 1], - [94008, 1], - [94007, 1], - [94006, 1], - [94005, 1], - [94004, 1], - [94003, 1], - [94002, 1], - [94001, 1], - [94000, 1], - [93999, 1], - [93998, 1], - [93997, 1], - [93996, 1], - [93995, 1], - [93994, 1], - [93993, 1], - [93992, 1], - [93991, 1], - [93990, 1], - [93989, 1], - [93988, 1], - [93987, 1], - [93986, 1], - [93985, 1], - [93984, 1], - [93983, 1], - [93982, 1], - [93981, 1], - [93980, 1], - [93979, 1], - [93978, 1], - [93977, 1], - [93976, 1], - [93975, 1], - [93974, 1], - [93973, 1], - [93972, 1], - [93971, 1], - [93970, 1], - [93969, 1], - [93968, 1], - [93967, 1], - [93966, 1], - [93965, 1], - [93964, 1], - [93963, 1], - [93962, 1], - [93961, 1], - [93960, 1], - [93959, 1], - [93958, 1], - [93957, 1], - [93956, 1], - [93955, 1], - [93954, 1], - [93953, 1], - [93952, 1], - [93951, 1], - [93950, 1], - [93949, 1], - [93948, 1], - [93947, 1], - [93946, 1], - [93945, 1], - [93944, 1], - [93943, 1], - [93942, 1], - [93941, 1], - [93940, 1], - [93939, 1], - [93938, 1], - [93937, 1], - [93936, 1], - [93935, 1], - [93934, 1], - [93933, 1], - [93932, 1], - [93931, 1], - [93930, 1], - [93929, 1], - [93928, 1], - [93927, 1], - [93926, 1], - [93925, 1], - [93924, 1], - [93923, 1], - [93922, 1], - [93921, 1], - [93920, 1], - [93919, 1], - [93918, 1], - [93917, 1], - [93916, 1], - [93915, 1], - [93914, 1], - [93913, 1], - [93912, 1], - [93911, 1], - [93910, 1], - [93909, 1], - [93908, 1], - [93907, 1], - [93906, 1], - [93905, 1], - [93904, 1], - [93903, 1], - [93902, 1], - [93901, 1], - [93900, 1], - [93899, 1], - [93898, 1], - [93897, 1], - [93896, 1], - [93895, 1], - [93894, 1], - [93893, 1], - [93892, 1], - [93891, 1], - [93890, 1], - [93889, 1], - [93888, 1], - [93887, 1], - [93886, 1], - [93885, 1], - [93884, 1], - [93883, 1], - [93882, 1], - [93881, 1], - [93880, 1], - [93879, 1], - [93878, 1], - [93877, 1], - [93876, 1], - [93875, 1], - [93874, 1], - [93873, 1], - [93872, 1], - [93871, 1], - [93870, 1], - [93869, 1], - [93868, 1], - [93867, 1], - [93866, 1], - [93865, 1], - [93864, 1], - [93863, 1], - [93862, 1], - [93861, 1], - [93860, 1], - [93859, 1], - [93858, 1], - [93857, 1], - [93856, 1], - [93855, 1], - [93854, 1], - [93853, 1], - [93852, 1], - [93851, 1], - [93850, 1], - [93849, 1], - [93848, 1], - [93847, 1], - [93846, 1], - [93845, 1], - [93844, 1], - [93843, 1], - [93842, 1], - [93841, 1], - [93840, 1], - [93839, 1], - [93838, 1], - [93837, 1], - [93836, 1], - [93835, 1], - [93834, 1], - [93833, 1], - [93832, 1], - [93831, 1], - [93830, 1], - [93829, 1], - [93828, 1], - [93827, 1], - [93826, 1], - [93825, 1], - [93824, 1], - [93823, 1], - [93822, 1], - [93821, 1], - [93820, 1], - [93819, 1], - [93818, 1], - [93817, 1], - [93816, 1], - [93815, 1], - [93814, 1], - [93813, 1], - [93812, 1], - [93811, 1], - [93810, 1], - [93809, 1], - [93808, 1], - [93807, 1], - [93806, 1], - [93805, 1], - [93804, 1], - [93803, 1], - [93802, 1], - [93801, 1], - [93800, 1], - [93799, 1], - [93798, 1], - [93797, 1], - [93796, 1], - [93795, 1], - [93794, 1], - [93793, 1], - [93792, 1], - [93791, 1], - [93790, 1], - [93789, 1], - [93788, 1], - [93787, 1], - [93786, 1], - [93785, 1], - [93784, 1], - [93783, 1], - [93782, 1], - [93781, 1], - [93780, 1], - [93779, 1], - [93778, 1], - [93777, 1], - [93776, 1], - [93775, 1], - [93774, 1], - [93773, 1], - [93772, 1], - [93771, 1], - [93770, 1], - [93769, 1], - [93768, 1], - [93767, 1], - [93766, 1], - [93765, 1], - [93764, 1], - [93763, 1], - [93762, 1], - [93761, 1], - [93760, 1], - [93759, 1], - [93758, 1], - [93757, 1], - [93756, 1], - [93755, 1], - [93754, 1], - [93753, 1], - [93752, 1], - [93751, 1], - [93750, 1], - [93749, 1], - [93748, 1], - [93747, 1], - [93746, 1], - [93745, 1], - [93744, 1], - [93743, 1], - [93742, 1], - [93741, 1], - [93740, 1], - [93739, 1], - [93738, 1], - [93737, 1], - [93736, 1], - [93735, 1], - [93734, 1], - [93733, 1], - [93732, 1], - [93731, 1], - [93730, 1], - [93729, 1], - [93728, 1], - [93727, 1], - [93726, 1], - [93725, 1], - [93724, 1], - [93723, 1], - [93722, 1], - [93721, 1], - [93720, 1], - [93719, 1], - [93718, 1], - [93717, 1], - [93716, 1], - [93715, 1], - [93714, 1], - [93713, 1], - [93712, 1], - [93711, 1], - [93710, 1], - [93709, 1], - [93708, 1], - [93707, 1], - [93706, 1], - [93705, 1], - [93704, 1], - [93703, 1], - [93702, 1], - [93701, 1], - [93700, 1], - [93699, 1], - [93698, 1], - [93697, 1], - [93696, 1], - [93695, 1], - [93694, 1], - [93693, 1], - [93692, 1], - [93691, 1], - [93690, 1], - [93689, 1], - [93688, 1], - [93687, 1], - [93686, 1], - [93685, 1], - [93684, 1], - [93683, 1], - [93682, 1], - [93681, 1], - [93680, 1], - [93679, 1], - [93678, 1], - [93677, 1], - [93676, 1], - [93675, 1], - [93674, 1], - [93673, 1], - [93672, 1], - [93671, 1], - [93670, 1], - [93669, 1], - [93668, 1], - [93667, 1], - [93666, 1], - [93665, 1], - [93664, 1], - [93663, 1], - [93662, 1], - [93661, 1], - [93660, 1], - [93659, 1], - [93658, 1], - [93657, 1], - [93656, 1], - [93655, 1], - [93654, 1], - [93653, 1], - [93652, 1], - [93651, 1], - [93650, 1], - [93649, 1], - [93648, 1], - [93647, 1], - [93646, 1], - [93645, 1], - [93644, 1], - [93643, 1], - [93642, 1], - [93641, 1], - [93639, 1], - [93638, 1], - [93637, 1], - [93636, 1], - [93635, 1], - [93634, 1], - [93633, 1], - [93632, 1], - [93631, 1], - [93630, 1], - [93629, 1], - [93628, 1], - [93627, 1], - [93626, 1], - [93625, 1], - [93624, 1], - [93623, 1], - [93622, 1], - [93621, 1], - [93620, 1], - [93619, 1], - [93618, 1], - [93617, 1], - [93616, 1], - [93615, 1], - [93614, 1], - [93613, 1], - [93612, 1], - [93611, 1], - [93610, 1], - [93609, 1], - [93608, 1], - [93607, 1], - [93606, 1], - [93605, 1], - [93604, 1], - [93603, 1], - [93602, 1], - [93601, 1], - [93600, 1], - [93599, 1], - [93598, 1], - [93597, 1], - [93596, 1], - [93595, 1], - [93594, 1], - [93593, 1], - [93592, 1], - [93591, 1], - [93590, 1], - [93589, 1], - [93588, 1], - [93587, 1], - [93586, 1], - [93585, 1], - [93584, 1], - [93583, 1], - [93582, 1], - [93581, 1], - [93580, 1], - [93579, 1], - [93578, 1], - [93577, 1], - [93576, 1], - [93575, 1], - [93574, 1], - [93573, 1], - [93572, 1], - [93571, 1], - [93570, 1], - [93569, 1], - [93568, 1], - [93567, 1], - [93566, 1], - [93565, 1], - [93564, 1], - [93563, 1], - [93562, 1], - [93561, 1], - [93560, 1], - [93559, 1], - [93558, 1], - [93557, 1], - [93556, 1], - [93555, 1], - [93554, 1], - [93553, 1], - [93552, 1], - [93551, 1], - [93550, 1], - [93549, 1], - [93548, 1], - [93547, 1], - [93546, 1], - [93545, 1], - [93544, 1], - [93543, 1], - [93542, 1], - [93541, 1], - [93540, 1], - [93539, 1], - [93538, 1], - [93537, 1], - [93536, 1], - [93535, 1], - [93534, 1], - [93533, 1], - [93532, 1], - [93531, 1], - [93530, 1], - [93529, 1], - [93528, 1], - [93527, 1], - [93526, 1], - [93525, 1], - [93524, 1], - [93523, 1], - [93522, 1], - [93521, 1], - [93520, 1], - [93519, 1], - [93518, 1], - [93517, 1], - [93516, 1], - [93515, 1], - [93514, 1], - [93513, 1], - [93512, 1], - [93511, 1], - [93510, 1], - [93509, 1], - [93508, 1], - [93507, 1], - [93506, 1], - [93505, 1], - [93504, 1], - [93503, 1], - [93502, 1], - [93501, 1], - [93500, 1], - [93499, 1], - [93498, 1], - [93497, 1], - [93496, 1], - [93495, 1], - [93494, 1], - [93493, 1], - [93492, 1], - [93491, 1], - [93490, 1], - [93489, 1], - [93488, 1], - [93487, 1], - [93486, 1], - [93485, 1], - [93484, 1], - [93483, 1], - [93482, 1], - [93481, 1], - [93480, 1], - [93479, 1], - [93478, 1], - [93477, 1], - [93476, 1], - [93475, 1], - [93474, 1], - [93473, 1], - [93472, 1], - [93471, 1], - [93470, 1], - [93469, 1], - [93468, 1], - [93467, 1], - [93466, 1], - [93465, 1], - [93464, 1], - [93463, 1], - [93462, 1], - [93461, 1], - [93460, 1], - [93459, 1], - [93458, 1], - [93457, 1], - [93456, 1], - [93455, 1], - [93454, 1], - [93453, 1], - [93452, 1], - [93451, 1], - [93450, 1], - [93449, 1], - [93448, 1], - [93447, 1], - [93446, 1], - [93445, 1], - [93444, 1], - [93443, 1], - [93442, 1], - [93441, 1], - [93440, 1], - [93439, 1], - [93438, 1], - [93437, 1], - [93436, 1], - [93435, 1], - [93434, 1], - [93433, 1], - [93432, 1], - [93431, 1], - [93430, 1], - [93429, 1], - [93428, 1], - [93427, 1], - [93426, 1], - [93425, 1], - [93424, 1], - [93423, 1], - [93422, 1], - [93421, 1], - [93420, 1], - [93419, 1], - [93418, 1], - [93417, 1], - [93416, 1], - [93415, 1], - [93414, 1], - [93413, 1], - [93412, 1], - [93411, 1], - [93410, 1], - [93409, 1], - [93408, 1], - [93407, 1], - [93406, 1], - [93405, 1], - [93404, 1], - [93403, 1], - [93402, 1], - [93401, 1], - [93400, 1], - [93399, 1], - [93398, 1], - [93397, 1], - [93396, 1], - [93395, 1], - [93394, 1], - [93393, 1], - [93392, 1], - [93391, 1], - [93390, 1], - [93389, 1], - [93388, 1], - [93387, 1], - [93386, 1], - [93385, 1], - [93384, 1], - [93383, 1], - [93382, 1], - [93381, 1], - [93380, 1], - [93379, 1], - [93378, 1], - [93377, 1], - [93376, 1], - [93375, 1], - [93374, 1], - [93373, 1], - [93372, 1], - [93371, 1], - [93370, 1], - [93369, 1], - [93368, 1], - [93367, 1], - [93366, 1], - [93365, 1], - [93364, 1], - [93363, 1], - [93362, 1], - [93361, 1], - [93360, 1], - [93359, 1], - [93358, 1], - [93357, 1], - [93356, 1], - [93355, 1], - [93354, 1], - [93353, 1], - [93352, 1], - [93351, 1], - [93350, 1], - [93349, 1], - [93348, 1], - [93347, 1], - [93346, 1], - [93345, 1], - [93344, 1], - [93343, 1], - [93342, 1], - [93341, 1], - [93340, 1], - [93339, 1], - [93338, 1], - [93337, 1], - [93336, 1], - [93335, 1], - [93334, 1], - [93333, 1], - [93332, 1], - [93331, 1], - [93330, 1], - [93329, 1], - [93328, 1], - [93327, 1], - [93326, 1], - [93325, 1], - [93324, 1], - [93323, 1], - [93322, 1], - [93321, 1], - [93320, 1], - [93319, 1], - [93318, 1], - [93317, 1], - [93316, 1], - [93315, 1], - [93314, 1], - [93313, 1], - [93312, 1], - [93311, 1], - [93310, 1], - [93309, 1], - [93308, 1], - [93307, 1], - [93306, 1], - [93305, 1], - [93304, 1], - [93303, 1], - [93302, 1], - [93301, 1], - [93300, 1], - [93299, 1], - [93298, 1], - [93297, 1], - [93296, 1], - [93295, 1], - [93294, 1], - [93293, 1], - [93292, 1], - [93291, 1], - [93290, 1], - [93289, 1], - [93288, 1], - [93287, 1], - [93286, 1], - [93285, 1], - [93284, 1], - [93283, 1], - [93282, 1], - [93281, 1], - [93280, 1], - [93279, 1], - [93278, 1], - [93277, 1], - [93276, 1], - [93275, 1], - [93274, 1], - [93273, 1], - [93272, 1], - [93271, 1], - [93270, 1], - [93269, 1], - [93268, 1], - [93267, 1], - [93266, 1], - [93265, 1], - [93264, 1], - [93263, 1], - [93262, 1], - [93261, 1], - [93260, 1], - [93259, 1], - [93258, 1], - [93257, 1], - [93256, 1], - [93255, 1], - [93254, 1], - [93253, 1], - [93252, 1], - [93251, 1], - [93250, 1], - [93249, 1], - [93248, 1], - [93247, 1], - [93246, 1], - [93245, 1], - [93244, 1], - [93243, 1], - [93242, 1], - [93241, 1], - [93240, 1], - [93239, 1], - [93238, 1], - [93237, 1], - [93236, 1], - [93235, 1], - [93234, 1], - [93233, 1], - [93232, 1], - [93231, 1], - [93230, 1], - [93229, 1], - [93228, 1], - [93227, 1], - [93226, 1], - [93225, 1], - [93224, 1], - [93223, 1], - [93222, 1], - [93221, 1], - [93220, 1], - [93219, 1], - [93218, 1], - [93217, 1], - [93216, 1], - [93215, 1], - [93214, 1], - [93213, 1], - [93212, 1], - [93211, 1], - [93210, 1], - [93209, 1], - [93208, 1], - [93207, 1], - [93206, 1], - [93205, 1], - [93204, 1], - [93203, 1], - [93202, 1], - [93201, 1], - [93200, 1], - [93199, 1], - [93198, 1], - [93197, 1], - [93196, 1], - [93195, 1], - [93194, 1], - [93193, 1], - [93192, 1], - [93191, 1], - [93190, 1], - [93189, 1], - [93188, 1], - [93187, 1], - [93186, 1], - [93185, 1], - [93184, 1], - [93183, 1], - [93182, 1], - [93181, 1], - [93180, 1], - [93179, 1], - [93178, 1], - [93177, 1], - [93176, 1], - [93175, 1], - [93174, 1], - [93173, 1], - [93172, 1], - [93171, 1], - [93170, 1], - [93169, 1], - [93168, 1], - [93167, 1], - [93166, 1], - [93165, 1], - [93164, 1], - [93163, 1], - [93162, 1], - [93161, 1], - [93160, 1], - [93159, 1], - [93158, 1], - [93157, 1], - [93156, 1], - [93155, 1], - [93154, 1], - [93153, 1], - [93152, 1], - [93151, 1], - [93150, 1], - [93149, 1], - [93148, 1], - [93147, 1], - [93146, 1], - [93145, 1], - [93144, 1], - [93143, 1], - [93142, 1], - [93141, 1], - [93140, 1], - [93139, 1], - [93138, 1], - [93137, 1], - [93136, 1], - [93135, 1], - [93134, 1], - [93133, 1], - [93132, 1], - [93131, 1], - [93130, 1], - [93129, 1], - [93128, 1], - [93127, 1], - [93126, 1], - [93125, 1], - [93124, 1], - [93123, 1], - [93122, 1], - [93121, 1], - [93120, 1], - [93119, 1], - [93118, 1], - [93117, 1], - [93116, 1], - [93115, 1], - [93114, 1], - [93113, 1], - [93112, 1], - [93111, 1], - [93110, 1], - [93109, 1], - [93108, 1], - [93107, 1], - [93106, 1], - [93105, 1], - [93104, 1], - [93103, 1], - [93102, 1], - [93101, 1], - [93100, 1], - [93099, 1], - [93098, 1], - [93097, 1], - [93096, 1], - [93095, 1], - [93094, 1], - [93093, 1], - [93092, 1], - [93091, 1], - [93090, 1], - [93089, 1], - [93088, 1], - [93087, 1], - [93086, 1], - [93085, 1], - [93084, 1], - [93083, 1], - [93082, 1], - [93081, 1], - [93080, 1], - [93079, 1], - [93078, 1], - [93077, 1], - [93076, 1], - [93075, 1], - [93074, 1], - [93073, 1], - [93072, 1], - [93071, 1], - [93070, 1], - [93069, 1], - [93068, 1], - [93067, 1], - [93066, 1], - [93065, 1], - [93064, 1], - [93063, 1], - [93062, 1], - [93061, 1], - [93060, 1], - [93059, 1], - [93058, 1], - [93057, 1], - [93056, 1], - [93055, 1], - [93054, 1], - [93053, 1], - [93052, 1], - [93051, 1], - [93050, 1], - [93049, 1], - [93048, 1], - [93047, 1], - [93046, 1], - [93045, 1], - [93044, 1], - [93043, 1], - [93042, 1], - [93041, 1], - [93040, 1], - [93039, 1], - [93038, 1], - [93037, 1], - [93036, 1], - [93035, 1], - [93034, 1], - [93033, 1], - [93032, 1], - [93031, 1], - [93030, 1], - [93029, 1], - [93028, 1], - [93027, 1], - [93026, 1], - [93025, 1], - [93024, 1], - [93023, 1], - [93022, 1], - [93021, 1], - [93020, 1], - [93019, 1], - [93018, 1], - [93017, 1], - [93016, 1], - [93015, 1], - [93014, 1], - [93013, 1], - [93012, 1], - [93011, 1], - [93010, 1], - [93009, 1], - [93008, 1], - [93007, 1], - [93006, 1], - [93005, 1], - [93004, 1], - [93003, 1], - [93002, 1], - [93001, 1], - [93000, 1], - [92999, 1], - [92998, 1], - [92997, 1], - [92996, 1], - [92995, 1], - [92994, 1], - [92993, 1], - [92992, 1], - [92991, 1], - [92990, 1], - [92989, 1], - [92988, 1], - [92987, 1], - [92986, 1], - [92985, 1], - [92984, 1], - [92983, 1], - [92982, 1], - [92981, 1], - [92980, 1], - [92979, 1], - [92978, 1], - [92977, 1], - [92976, 1], - [92975, 1], - [92974, 1], - [92973, 1], - [92972, 1], - [92971, 1], - [92970, 1], - [92969, 1], - [92968, 1], - [92967, 1], - [92966, 1], - [92965, 1], - [92964, 1], - [92963, 1], - [92962, 1], - [92961, 1], - [92960, 1], - [92959, 1], - [92958, 1], - [92957, 1], - [92956, 1], - [92955, 1], - [92954, 1], - [92953, 1], - [92952, 1], - [92951, 1], - [92950, 1], - [92949, 1], - [92948, 1], - [92947, 1], - [92946, 1], - [92945, 1], - [92944, 1], - [92943, 1], - [92942, 1], - [92941, 1], - [92940, 1], - [92939, 1], - [92938, 1], - [92937, 1], - [92936, 1], - [92935, 1], - [92934, 1], - [92933, 1], - [92932, 1], - [92931, 1], - [92930, 1], - [92929, 1], - [92928, 1], - [92927, 1], - [92926, 1], - [92925, 1], - [92924, 1], - [92923, 1], - [92922, 1], - [92921, 1], - [92920, 1], - [92919, 1], - [92918, 1], - [92917, 1], - [92916, 1], - [92915, 1], - [92914, 1], - [92913, 1], - [92912, 1], - [92911, 1], - [92910, 1], - [92909, 1], - [92908, 1], - [92907, 1], - [92906, 1], - [92905, 1], - [92904, 1], - [92903, 1], - [92902, 1], - [92901, 1], - [92900, 1], - [92899, 1], - [92898, 1], - [92897, 1], - [92896, 1], - [92895, 1], - [92894, 1], - [92893, 1], - [92892, 1], - [92891, 1], - [92890, 1], - [92889, 1], - [92888, 1], - [92887, 1], - [92886, 1], - [92885, 1], - [92884, 1], - [92883, 1], - [92882, 1], - [92881, 1], - [92880, 1], - [92879, 1], - [92878, 1], - [92877, 1], - [92876, 1], - [92875, 1], - [92874, 1], - [92873, 1], - [92872, 1], - [92871, 1], - [92870, 1], - [92869, 1], - [92868, 1], - [92867, 1], - [92866, 1], - [92865, 1], - [92864, 1], - [92863, 1], - [92862, 1], - [92861, 1], - [92860, 1], - [92859, 1], - [92858, 1], - [92857, 1], - [92856, 1], - [92855, 1], - [92854, 1], - [92853, 1], - [92852, 1], - [92851, 1], - [92850, 1], - [92849, 1], - [92848, 1], - [92847, 1], - [92846, 1], - [92845, 1], - [92844, 1], - [92843, 1], - [92842, 1], - [92841, 1], - [92840, 1], - [92839, 1], - [92838, 1], - [92837, 1], - [92836, 1], - [92835, 1], - [92834, 1], - [92833, 1], - [92832, 1], - [92831, 1], - [92830, 1], - [92829, 1], - [92828, 1], - [92827, 1], - [92826, 1], - [92825, 1], - [92824, 1], - [92823, 1], - [92822, 1], - [92821, 1], - [92820, 1], - [92819, 1], - [92818, 1], - [92817, 1], - [92816, 1], - [92815, 1], - [92814, 1], - [92813, 1], - [92812, 1], - [92811, 1], - [92810, 1], - [92809, 1], - [92808, 1], - [92807, 1], - [92806, 1], - [92805, 1], - [92804, 1], - [92803, 1], - [92802, 1], - [92801, 1], - [92800, 1], - [92799, 1], - [92798, 1], - [92797, 1], - [92796, 1], - [92795, 1], - [92794, 1], - [92793, 1], - [92792, 1], - [92791, 1], - [92790, 1], - [92789, 1], - [92788, 1], - [92787, 1], - [92786, 1], - [92785, 1], - [92784, 1], - [92783, 1], - [92782, 1], - [92781, 1], - [92780, 1], - [92779, 1], - [92778, 1], - [92777, 1], - [92776, 1], - [92775, 1], - [92774, 1], - [92773, 1], - [92772, 1], - [92771, 1], - [92770, 1], - [92769, 1], - [92768, 1], - [92767, 1], - [92766, 1], - [92765, 1], - [92764, 1], - [92763, 1], - [92762, 1], - [92761, 1], - [92760, 1], - [92759, 1], - [92758, 1], - [92757, 1], - [92756, 1], - [92755, 1], - [92754, 1], - [92753, 1], - [92752, 1], - [92751, 1], - [92750, 1], - [92749, 1], - [92748, 1], - [92747, 1], - [92746, 1], - [92745, 1], - [92744, 1], - [92743, 1], - [92742, 1], - [92741, 1], - [92740, 1], - [92739, 1], - [92738, 1], - [92737, 1], - [92736, 1], - [92735, 1], - [92734, 1], - [92733, 1], - [92732, 1], - [92731, 1], - [92730, 1], - [92729, 1], - [92728, 1], - [92727, 1], - [92726, 1], - [92725, 1], - [92724, 1], - [92723, 1], - [92722, 1], - [92721, 1], - [92720, 1], - [92719, 1], - [92718, 1], - [92717, 1], - [92716, 1], - [92715, 1], - [92714, 1], - [92713, 1], - [92712, 1], - [92711, 1], - [92710, 1], - [92709, 1], - [92708, 1], - [92707, 1], - [92706, 1], - [92705, 1], - [92704, 1], - [92703, 1], - [92702, 1], - [92701, 1], - [92700, 1], - [92699, 1], - [92698, 1], - [92697, 1], - [92696, 1], - [92695, 1], - [92694, 1], - [92693, 1], - [92692, 1], - [92691, 1], - [92690, 1], - [92689, 1], - [92688, 1], - [92687, 1], - [92686, 1], - [92685, 1], - [92684, 1], - [92683, 1], - [92682, 1], - [92681, 1], - [92680, 1], - [92679, 1], - [92678, 1], - [92677, 1], - [92676, 1], - [92675, 1], - [92674, 1], - [92673, 1], - [92672, 1], - [92671, 1], - [92670, 1], - [92669, 1], - [92668, 1], - [92667, 1], - [92666, 1], - [92665, 1], - [92664, 1], - [92663, 1], - [92662, 1], - [92661, 1], - [92660, 1], - [92659, 1], - [92658, 1], - [92657, 1], - [92656, 1], - [92655, 1], - [92654, 1], - [92653, 1], - [92652, 1], - [92651, 1], - [92650, 1], - [92649, 1], - [92648, 1], - [92647, 1], - [92646, 1], - [92645, 1], - [92644, 1], - [92643, 1], - [92642, 1], - [92641, 1], - [92640, 1], - [92639, 1], - [92638, 1], - [92637, 1], - [92636, 1], - [92635, 1], - [92634, 1], - [92633, 1], - [92632, 1], - [92631, 1], - [92630, 1], - [92629, 1], - [92628, 1], - [92627, 1], - [92626, 1], - [92625, 1], - [92624, 1], - [92623, 1], - [92622, 1], - [92621, 1], - [92620, 1], - [92619, 1], - [92618, 1], - [92617, 1], - [92616, 1], - [92615, 1], - [92614, 1], - [92613, 1], - [92612, 1], - [92611, 1], - [92610, 1], - [92609, 1], - [92608, 1], - [92607, 1], - [92606, 1], - [92605, 1], - [92604, 1], - [92603, 1], - [92602, 1], - [92601, 1], - [92600, 1], - [92599, 1], - [92598, 1], - [92597, 1], - [92596, 1], - [92595, 1], - [92594, 1], - [92593, 1], - [92592, 1], - [92591, 1], - [92590, 1], - [92589, 1], - [92588, 1], - [92587, 1], - [92586, 1], - [92585, 1], - [92584, 1], - [92583, 1], - [92582, 1], - [92581, 1], - [92580, 1], - [92579, 1], - [92578, 1], - [92577, 1], - [92576, 1], - [92575, 1], - [92574, 1], - [92573, 1], - [92572, 1], - [92571, 1], - [92570, 1], - [92569, 1], - [92568, 1], - [92567, 1], - [92566, 1], - [92565, 1], - [92564, 1], - [92563, 1], - [92562, 1], - [92561, 1], - [92560, 1], - [92559, 1], - [92558, 1], - [92557, 1], - [92556, 1], - [92555, 1], - [92554, 1], - [92553, 1], - [92552, 1], - [92551, 1], - [92550, 1], - [92549, 1], - [92548, 1], - [92547, 1], - [92546, 1], - [92545, 1], - [92544, 1], - [92543, 1], - [92542, 1], - [92541, 1], - [92540, 1], - [92539, 1], - [92538, 1], - [92537, 1], - [92536, 1], - [92535, 1], - [92534, 1], - [92533, 1], - [92532, 1], - [92531, 1], - [92530, 1], - [92529, 1], - [92528, 1], - [92527, 1], - [92526, 1], - [92525, 1], - [92524, 1], - [92523, 1], - [92522, 1], - [92521, 1], - [92520, 1], - [92519, 1], - [92518, 1], - [92517, 1], - [92516, 1], - [92515, 1], - [92514, 1], - [92513, 1], - [92512, 1], - [92511, 1], - [92510, 1], - [92509, 1], - [92508, 1], - [92507, 1], - [92506, 1], - [92505, 1], - [92504, 1], - [92503, 1], - [92502, 1], - [92501, 1], - [92500, 1], - [92499, 1], - [92498, 1], - [92497, 1], - [92496, 1], - [92495, 1], - [92494, 1], - [92493, 1], - [92492, 1], - [92491, 1], - [92490, 1], - [92489, 1], - [92488, 1], - [92487, 1], - [92486, 1], - [92485, 1], - [92484, 1], - [92483, 1], - [92482, 1], - [92481, 1], - [92480, 1], - [92479, 1], - [92478, 1], - [92477, 1], - [92476, 1], - [92475, 1], - [92474, 1], - [92473, 1], - [92472, 1], - [92471, 1], - [92470, 1], - [92469, 1], - [92468, 1], - [92467, 1], - [92466, 1], - [92465, 1], - [92464, 1], - [92463, 1], - [92462, 1], - [92461, 1], - [92460, 1], - [92459, 1], - [92458, 1], - [92457, 1], - [92456, 1], - [92455, 1], - [92454, 1], - [92453, 1], - [92452, 1], - [92451, 1], - [92450, 1], - [92449, 1], - [92448, 1], - [92447, 1], - [92446, 1], - [92445, 1], - [92444, 1], - [92443, 1], - [92442, 1], - [92441, 1], - [92440, 1], - [92439, 1], - [92438, 1], - [92437, 1], - [92436, 1], - [92435, 1], - [92434, 1], - [92433, 1], - [92432, 1], - [92431, 1], - [92430, 1], - [92429, 1], - [92428, 1], - [92427, 1], - [92426, 1], - [92425, 1], - [92424, 1], - [92423, 1], - [92422, 1], - [92421, 1], - [92420, 1], - [92419, 1], - [92418, 1], - [92417, 1], - [92416, 1], - [92415, 1], - [92414, 1], - [92413, 1], - [92412, 1], - [92411, 1], - [92410, 1], - [92409, 1], - [92408, 1], - [92407, 1], - [92406, 1], - [92405, 1], - [92404, 1], - [92403, 1], - [92402, 1], - [92401, 1], - [92400, 1], - [92399, 1], - [92398, 1], - [92397, 1], - [92396, 1], - [92395, 1], - [92394, 1], - [92393, 1], - [92392, 1], - [92391, 1], - [92390, 1], - [92389, 1], - [92388, 1], - [92387, 1], - [92386, 1], - [92385, 1], - [92384, 1], - [92383, 1], - [92382, 1], - [92381, 1], - [92380, 1], - [92379, 1], - [92378, 1], - [92377, 1], - [92376, 1], - [92375, 1], - [92374, 1], - [92373, 1], - [92372, 1], - [92371, 1], - [92370, 1], - [92369, 1], - [92368, 1], - [92367, 1], - [92366, 1], - [92365, 1], - [92364, 1], - [92363, 1], - [92362, 1], - [92361, 1], - [92360, 1], - [92359, 1], - [92358, 1], - [92357, 1], - [92356, 1], - [92355, 1], - [92354, 1], - [92353, 1], - [92352, 1], - [92351, 1], - [92350, 1], - [92349, 1], - [92348, 1], - [92347, 1], - [92346, 1], - [92345, 1], - [92344, 1], - [92343, 1], - [92342, 1], - [92341, 1], - [92340, 1], - [92339, 1], - [92338, 1], - [92337, 1], - [92336, 1], - [92335, 1], - [92334, 1], - [92333, 1], - [92332, 1], - [92331, 1], - [92330, 1], - [92329, 1], - [92328, 1], - [92327, 1], - [92326, 1], - [92325, 1], - [92324, 1], - [92323, 1], - [92322, 1], - [92321, 1], - [92320, 1], - [92319, 1], - [92318, 1], - [92317, 1], - [92316, 1], - [92315, 1], - [92314, 1], - [92313, 1], - [92312, 1], - [92311, 1], - [92310, 1], - [92309, 1], - [92308, 1], - [92307, 1], - [92306, 1], - [92305, 1], - [92304, 1], - [92303, 1], - [92302, 1], - [92301, 1], - [92300, 1], - [92299, 1], - [92298, 1], - [92297, 1], - [92296, 1], - [92295, 1], - [92294, 1], - [92293, 1], - [92292, 1], - [92291, 1], - [92290, 1], - [92289, 1], - [92288, 1], - [92287, 1], - [92286, 1], - [92285, 1], - [92284, 1], - [92283, 1], - [92282, 1], - [92281, 1], - [92280, 1], - [92279, 1], - [92278, 1], - [92277, 1], - [92276, 1], - [92275, 1], - [92274, 1], - [92273, 1], - [92272, 1], - [92271, 1], - [92270, 1], - [92269, 1], - [92268, 1], - [92267, 1], - [92266, 1], - [92265, 1], - [92264, 1], - [92263, 1], - [92262, 1], - [92261, 1], - [92260, 1], - [92259, 1], - [92258, 1], - [92257, 1], - [92256, 1], - [92255, 1], - [92254, 1], - [92253, 1], - [92252, 1], - [92251, 1], - [92250, 1], - [92249, 1], - [92248, 1], - [92247, 1], - [92246, 1], - [92245, 1], - [92244, 1], - [92243, 1], - [92242, 1], - [92241, 1], - [92240, 1], - [92239, 1], - [92238, 1], - [92237, 1], - [92236, 1], - [92235, 1], - [92234, 1], - [92233, 1], - [92232, 1], - [92231, 1], - [92230, 1], - [92229, 1], - [92228, 1], - [92227, 1], - [92226, 1], - [92225, 1], - [92224, 1], - [92223, 1], - [92222, 1], - [92221, 1], - [92220, 1], - [92219, 1], - [92218, 1], - [92217, 1], - [92216, 1], - [92215, 1], - [92214, 1], - [92213, 1], - [92212, 1], - [92211, 1], - [92210, 1], - [92209, 1], - [92208, 1], - [92207, 1], - [92206, 1], - [92205, 1], - [92204, 1], - [92203, 1], - [92202, 1], - [92201, 1], - [92200, 1], - [92199, 1], - [92198, 1], - [92197, 1], - [92196, 1], - [92195, 1], - [92194, 1], - [92193, 1], - [92192, 1], - [92191, 1], - [92190, 1], - [92189, 1], - [92188, 1], - [92187, 1], - [92186, 1], - [92185, 1], - [92184, 1], - [92183, 1], - [92182, 1], - [92181, 1], - [92180, 1], - [92179, 1], - [92178, 1], - [92177, 1], - [92176, 1], - [92175, 1], - [92174, 1], - [92173, 1], - [92172, 1], - [92171, 1], - [92170, 1], - [92169, 1], - [92168, 1], - [92167, 1], - [92166, 1], - [92165, 1], - [92164, 1], - [92163, 1], - [92162, 1], - [92161, 1], - [92160, 1], - [92159, 1], - [92158, 1], - [92157, 1], - [92156, 1], - [92155, 1], - [92154, 1], - [92153, 1], - [92152, 1], - [92151, 1], - [92150, 1], - [92149, 1], - [92148, 1], - [92147, 1], - [92146, 1], - [92145, 1], - [92144, 1], - [92143, 1], - [92142, 1], - [92141, 1], - [92140, 1], - [92139, 1], - [92138, 1], - [92137, 1], - [92136, 1], - [92135, 1], - [92134, 1], - [92133, 1], - [92132, 1], - [92131, 1], - [92130, 1], - [92129, 1], - [92128, 1], - [92127, 1], - [92126, 1], - [92125, 1], - [92124, 1], - [92123, 1], - [92122, 1], - [92121, 1], - [92120, 1], - [92119, 1], - [92118, 1], - [92117, 1], - [92116, 1], - [92115, 1], - [92114, 1], - [92113, 1], - [92112, 1], - [92111, 1], - [92110, 1], - [92109, 1], - [92108, 1], - [92107, 1], - [92106, 1], - [92105, 1], - [92104, 1], - [92103, 1], - [92102, 1], - [92101, 1], - [92100, 1], - [92099, 1], - [92098, 1], - [92097, 1], - [92096, 1], - [92095, 1], - [92094, 1], - [92093, 1], - [92092, 1], - [92091, 1], - [92090, 1], - [92089, 1], - [92088, 1], - [92087, 1], - [92086, 1], - [92085, 1], - [92084, 1], - [92083, 1], - [92082, 1], - [92081, 1], - [92080, 1], - [92079, 1], - [92078, 1], - [92077, 1], - [92076, 1], - [92075, 1], - [92074, 1], - [92073, 1], - [92072, 1], - [92071, 1], - [92070, 1], - [92069, 1], - [92068, 1], - [92067, 1], - [92066, 1], - [92065, 1], - [92064, 1], - [92063, 1], - [92062, 1], - [92061, 1], - [92060, 1], - [92059, 1], - [92058, 1], - [92057, 1], - [92056, 1], - [92055, 1], - [92054, 1], - [92053, 1], - [92052, 1], - [92051, 1], - [92050, 1], - [92049, 1], - [92048, 1], - [92047, 1], - [92046, 1], - [92045, 1], - [92044, 1], - [92043, 1], - [92042, 1], - [92041, 1], - [92040, 1], - [92039, 1], - [92038, 1], - [92037, 1], - [92036, 1], - [92035, 1], - [92034, 1], - [92033, 1], - [92032, 1], - [92031, 1], - [92030, 1], - [92029, 1], - [92028, 1], - [92027, 1], - [92026, 1], - [92025, 1], - [92024, 1], - [92023, 1], - [92022, 1], - [92021, 1], - [92020, 1], - [92019, 1], - [92018, 1], - [92017, 1], - [92016, 1], - [92015, 1], - [92014, 1], - [92013, 1], - [92012, 1], - [92011, 1], - [92010, 1], - [92009, 1], - [92008, 1], - [92007, 1], - [92006, 1], - [92005, 1], - [92004, 1], - [92003, 1], - [92002, 1], - [92001, 1], - [92000, 1], - [91999, 1], - [91998, 1], - [91997, 1], - [91996, 1], - [91995, 1], - [91994, 1], - [91993, 1], - [91992, 1], - [91991, 1], - [91990, 1], - [91989, 1], - [91988, 1], - [91987, 1], - [91986, 1], - [91985, 1], - [91984, 1], - [91983, 1], - [91982, 1], - [91981, 1], - [91980, 1], - [91979, 1], - [91978, 1], - [91977, 1], - [91976, 1], - [91975, 1], - [91974, 1], - [91973, 1], - [91972, 1], - [91971, 1], - [91970, 1], - [91969, 1], - [91968, 1], - [91967, 1], - [91966, 1], - [91965, 1], - [91964, 1], - [91963, 1], - [91962, 1], - [91961, 1], - [91960, 1], - [91959, 1], - [91958, 1], - [91957, 1], - [91956, 1], - [91955, 1], - [91954, 1], - [91953, 1], - [91952, 1], - [91951, 1], - [91950, 1], - [91949, 1], - [91948, 1], - [91947, 1], - [91946, 1], - [91945, 1], - [91944, 1], - [91943, 1], - [91942, 1], - [91941, 1], - [91940, 1], - [91939, 1], - [91938, 1], - [91937, 1], - [91936, 1], - [91935, 1], - [91934, 1], - [91933, 1], - [91932, 1], - [91931, 1], - [91930, 1], - [91929, 1], - [91928, 1], - [91927, 1], - [91926, 1], - [91925, 1], - [91924, 1], - [91923, 1], - [91922, 1], - [91921, 1], - [91920, 1], - [91919, 1], - [91918, 1], - [91917, 1], - [91916, 1], - [91915, 1], - [91914, 1], - [91913, 1], - [91912, 1], - [91911, 1], - [91910, 1], - [91909, 1], - [91908, 1], - [91907, 1], - [91906, 1], - [91905, 1], - [91904, 1], - [91903, 1], - [91902, 1], - [91901, 1], - [91900, 1], - [91899, 1], - [91898, 1], - [91897, 1], - [91896, 1], - [91895, 1], - [91894, 1], - [91893, 1], - [91892, 1], - [91891, 1], - [91890, 1], - [91889, 1], - [91888, 1], - [91887, 1], - [91886, 1], - [91885, 1], - [91884, 1], - [91883, 1], - [91882, 1], - [91881, 1], - [91880, 1], - [91879, 1], - [91878, 1], - [91877, 1], - [91876, 1], - [91875, 1], - [91874, 1], - [91873, 1], - [91872, 1], - [91871, 1], - [91870, 1], - [91869, 1], - [91868, 1], - [91867, 1], - [91866, 1], - [91865, 1], - [91864, 1], - [91863, 1], - [91862, 1], - [91861, 1], - [91860, 1], - [91859, 1], - [91858, 1], - [91857, 1], - [91856, 1], - [91855, 1], - [91854, 1], - [91853, 1], - [91852, 1], - [91851, 1], - [91850, 1], - [91849, 1], - [91848, 1], - [91847, 1], - [91846, 1], - [91845, 1], - [91844, 1], - [91843, 1], - [91842, 1], - [91841, 1], - [91840, 1], - [91839, 1], - [91838, 1], - [91837, 1], - [91836, 1], - [91835, 1], - [91834, 1], - [91833, 1], - [91832, 1], - [91831, 1], - [91830, 1], - [91829, 1], - [91828, 1], - [91827, 1], - [91826, 1], - [91825, 1], - [91824, 1], - [91823, 1], - [91822, 1], - [91821, 1], - [91820, 1], - [91819, 1], - [91818, 1], - [91817, 1], - [91816, 1], - [91815, 1], - [91814, 1], - [91813, 1], - [91812, 1], - [91811, 1], - [91810, 1], - [91809, 1], - [91808, 1], - [91807, 1], - [91806, 1], - [91805, 1], - [91804, 1], - [91803, 1], - [91802, 1], - [91801, 1], - [91800, 1], - [91799, 1], - [91798, 1], - [91797, 1], - [91796, 1], - [91795, 1], - [91794, 1], - [91793, 1], - [91792, 1], - [91791, 1], - [91790, 1], - [91789, 1], - [91788, 1], - [91787, 1], - [91786, 1], - [91785, 1], - [91784, 1], - [91783, 1], - [91782, 1], - [91781, 1], - [91780, 1], - [91779, 1], - [91778, 1], - [91777, 1], - [91776, 1], - [91775, 1], - [91774, 1], - [91773, 1], - [91772, 1], - [91771, 1], - [91770, 1], - [91769, 1], - [91768, 1], - [91767, 1], - [91766, 1], - [91765, 1], - [91764, 1], - [91763, 1], - [91762, 1], - [91761, 1], - [91760, 1], - [91759, 1], - [91758, 1], - [91757, 1], - [91756, 1], - [91755, 1], - [91754, 1], - [91753, 1], - [91752, 1], - [91751, 1], - [91750, 1], - [91749, 1], - [91748, 1], - [91747, 1], - [91746, 1], - [91745, 1], - [91744, 1], - [91743, 1], - [91742, 1], - [91741, 1], - [91740, 1], - [91739, 1], - [91738, 1], - [91737, 1], - [91736, 1], - [91735, 1], - [91734, 1], - [91733, 1], - [91732, 1], - [91731, 1], - [91730, 1], - [91729, 1], - [91728, 1], - [91727, 1], - [91726, 1], - [91725, 1], - [91724, 1], - [91723, 1], - [91722, 1], - [91721, 1], - [91720, 1], - [91719, 1], - [91718, 1], - [91717, 1], - [91716, 1], - [91715, 1], - [91714, 1], - [91713, 1], - [91712, 1], - [91711, 1], - [91710, 1], - [91709, 1], - [91708, 1], - [91707, 1], - [91706, 1], - [91705, 1], - [91704, 1], - [91703, 1], - [91702, 1], - [91701, 1], - [91700, 1], - [91699, 1], - [91698, 1], - [91697, 1], - [91696, 1], - [91695, 1], - [91694, 1], - [91693, 1], - [91692, 1], - [91691, 1], - [91690, 1], - [91689, 1], - [91688, 1], - [91687, 1], - [91686, 1], - [91685, 1], - [91684, 1], - [91683, 1], - [91682, 1], - [91681, 1], - [91680, 1], - [91679, 1], - [91678, 1], - [91677, 1], - [91676, 1], - [91675, 1], - [91674, 1], - [91673, 1], - [91672, 1], - [91671, 1], - [91670, 1], - [91669, 1], - [91668, 1], - [91667, 1], - [91666, 1], - [91665, 1], - [91664, 1], - [91663, 1], - [91662, 1], - [91661, 1], - [91660, 1], - [91659, 1], - [91658, 1], - [91657, 1], - [91656, 1], - [91655, 1], - [91654, 1], - [91653, 1], - [91652, 1], - [91651, 1], - [91650, 1], - [91649, 1], - [91648, 1], - [91647, 1], - [91646, 1], - [91645, 1], - [91644, 1], - [91643, 1], - [91642, 1], - [91641, 1], - [91640, 1], - [91639, 1], - [91638, 1], - [91637, 1], - [91636, 1], - [91635, 1], - [91634, 1], - [91633, 1], - [91632, 1], - [91631, 1], - [91630, 1], - [91629, 1], - [91628, 1], - [91627, 1], - [91626, 1], - [91625, 1], - [91624, 1], - [91623, 1], - [91622, 1], - [91621, 1], - [91620, 1], - [91619, 1], - [91618, 1], - [91617, 1], - [91616, 1], - [91615, 1], - [91614, 1], - [91613, 1], - [91612, 1], - [91611, 1], - [91610, 1], - [91609, 1], - [91608, 1], - [91607, 1], - [91606, 1], - [91605, 1], - [91604, 1], - [91603, 1], - [91602, 1], - [91601, 1], - [91600, 1], - [91599, 1], - [91598, 1], - [91597, 1], - [91596, 1], - [91595, 1], - [91594, 1], - [91593, 1], - [91592, 1], - [91591, 1], - [91590, 1], - [91589, 1], - [91588, 1], - [91587, 1], - [91586, 1], - [91585, 1], - [91584, 1], - [91583, 1], - [91582, 1], - [91581, 1], - [91580, 1], - [91579, 1], - [91578, 1], - [91577, 1], - [91576, 1], - [91575, 1], - [91574, 1], - [91573, 1], - [91572, 1], - [91571, 1], - [91570, 1], - [91569, 1], - [91568, 1], - [91567, 1], - [91566, 1], - [91565, 1], - [91564, 1], - [91563, 1], - [91562, 1], - [91561, 1], - [91560, 1], - [91559, 1], - [91558, 1], - [91557, 1], - [91556, 1], - [91555, 1], - [91554, 1], - [91553, 1], - [91552, 1], - [91551, 1], - [91550, 1], - [91549, 1], - [91548, 1], - [91547, 1], - [91546, 1], - [91545, 1], - [91544, 1], - [91543, 1], - [91542, 1], - [91541, 1], - [91540, 1], - [91539, 1], - [91538, 1], - [91537, 1], - [91536, 1], - [91535, 1], - [91534, 1], - [91533, 1], - [91532, 1], - [91531, 1], - [91530, 1], - [91529, 1], - [91528, 1], - [91527, 1], - [91526, 1], - [91525, 1], - [91524, 1], - [91523, 1], - [91522, 1], - [91521, 1], - [91520, 1], - [91519, 1], - [91518, 1], - [91517, 1], - [91516, 1], - [91515, 1], - [91514, 1], - [91513, 1], - [91512, 1], - [91511, 1], - [91510, 1], - [91509, 1], - [91508, 1], - [91507, 1], - [91506, 1], - [91505, 1], - [91504, 1], - [91503, 1], - [91502, 1], - [91501, 1], - [91500, 1], - [91499, 1], - [91498, 1], - [91497, 1], - [91496, 1], - [91495, 1], - [91494, 1], - [91493, 1], - [91492, 1], - [91491, 1], - [91490, 1], - [91489, 1], - [91488, 1], - [91487, 1], - [91486, 1], - [91485, 1], - [91484, 1], - [91483, 1], - [91482, 1], - [91481, 1], - [91480, 1], - [91479, 1], - [91478, 1], - [91477, 1], - [91476, 1], - [91475, 1], - [91474, 1], - [91473, 1], - [91472, 1], - [91471, 1], - [91470, 1], - [91469, 1], - [91468, 1], - [91467, 1], - [91466, 1], - [91465, 1], - [91464, 1], - [91463, 1], - [91462, 1], - [91461, 1], - [91460, 1], - [91459, 1], - [91458, 1], - [91457, 1], - [91456, 1], - [91455, 1], - [91454, 1], - [91453, 1], - [91452, 1], - [91451, 1], - [91450, 1], - [91449, 1], - [91448, 1], - [91447, 1], - [91446, 1], - [91445, 1], - [91444, 1], - [91443, 1], - [91442, 1], - [91441, 1], - [91440, 1], - [91439, 1], - [91438, 1], - [91437, 1], - [91436, 1], - [91435, 1], - [91434, 1], - [91433, 1], - [91432, 1], - [91431, 1], - [91430, 1], - [91429, 1], - [91428, 1], - [91427, 1], - [91426, 1], - [91425, 1], - [91424, 1], - [91423, 1], - [91422, 1], - [91421, 1], - [91420, 1], - [91419, 1], - [91418, 1], - [91417, 1], - [91416, 1], - [91415, 1], - [91414, 1], - [91413, 1], - [91412, 1], - [91411, 1], - [91410, 1], - [91409, 1], - [91408, 1], - [91407, 1], - [91406, 1], - [91405, 1], - [91404, 1], - [91403, 1], - [91402, 1], - [91401, 1], - [91400, 1], - [91399, 1], - [91398, 1], - [91397, 1], - [91396, 1], - [91395, 1], - [91394, 1], - [91393, 1], - [91392, 1], - [91391, 1], - [91390, 1], - [91389, 1], - [91388, 1], - [91387, 1], - [91386, 1], - [91385, 1], - [91384, 1], - [91383, 1], - [91382, 1], - [91381, 1], - [91380, 1], - [91379, 1], - [91378, 1], - [91377, 1], - [91376, 1], - [91375, 1], - [91374, 1], - [91373, 1], - [91372, 1], - [91371, 1], - [91370, 1], - [91369, 1], - [91368, 1], - [91367, 1], - [91366, 1], - [91365, 1], - [91364, 1], - [91363, 1], - [91362, 1], - [91361, 1], - [91360, 1], - [91359, 1], - [91358, 1], - [91357, 1], - [91356, 1], - [91355, 1], - [91354, 1], - [91353, 1], - [91352, 1], - [91351, 1], - [91350, 1], - [91349, 1], - [91348, 1], - [91347, 1], - [91346, 1], - [91345, 1], - [91344, 1], - [91343, 1], - [91342, 1], - [91341, 1], - [91340, 1], - [91339, 1], - [91338, 1], - [91337, 1], - [91336, 1], - [91335, 1], - [91334, 1], - [91333, 1], - [91332, 1], - [91331, 1], - [91330, 1], - [91329, 1], - [91328, 1], - [91327, 1], - [91326, 1], - [91325, 1], - [91324, 1], - [91323, 1], - [91322, 1], - [91321, 1], - [91320, 1], - [91319, 1], - [91318, 1], - [91317, 1], - [91316, 1], - [91315, 1], - [91314, 1], - [91313, 1], - [91312, 1], - [91311, 1], - [91310, 1], - [91309, 1], - [91308, 1], - [91307, 1], - [91306, 1], - [91305, 1], - [91304, 1], - [91303, 1], - [91302, 1], - [91301, 1], - [91300, 1], - [91299, 1], - [91298, 1], - [91297, 1], - [91296, 1], - [91295, 1], - [91294, 1], - [91293, 1], - [91292, 1], - [91291, 1], - [91290, 1], - [91289, 1], - [91288, 1], - [91287, 1], - [91286, 1], - [91285, 1], - [91284, 1], - [91283, 1], - [91282, 1], - [91281, 1], - [91280, 1], - [91279, 1], - [91278, 1], - [91277, 1], - [91276, 1], - [91275, 1], - [91274, 1], - [91273, 1], - [91272, 1], - [91271, 1], - [91270, 1], - [91269, 1], - [91268, 1], - [91267, 1], - [91266, 1], - [91265, 1], - [91264, 1], - [91263, 1], - [91262, 1], - [91261, 1], - [91260, 1], - [91259, 1], - [91258, 1], - [91257, 1], - [91256, 1], - [91255, 1], - [91254, 1], - [91253, 1], - [91252, 1], - [91251, 1], - [91250, 1], - [91249, 1], - [91248, 1], - [91247, 1], - [91246, 1], - [91245, 1], - [91244, 1], - [91243, 1], - [91242, 1], - [91241, 1], - [91240, 1], - [91239, 1], - [91238, 1], - [91237, 1], - [91236, 1], - [91235, 1], - [91234, 1], - [91233, 1], - [91232, 1], - [91231, 1], - [91230, 1], - [91229, 1], - [91228, 1], - [91227, 1], - [91226, 1], - [91225, 1], - [91224, 1], - [91223, 1], - [91222, 1], - [91221, 1], - [91220, 1], - [91219, 1], - [91218, 1], - [91217, 1], - [91216, 1], - [91215, 1], - [91214, 1], - [91213, 1], - [91212, 1], - [91211, 1], - [91210, 1], - [91209, 1], - [91208, 1], - [91207, 1], - [91206, 1], - [91205, 1], - [91204, 1], - [91203, 1], - [91202, 1], - [91201, 1], - [91200, 1], - [91199, 1], - [91198, 1], - [91197, 1], - [91196, 1], - [91195, 1], - [91194, 1], - [91193, 1], - [91192, 1], - [91191, 1], - [91190, 1], - [91189, 1], - [91188, 1], - [91187, 1], - [91186, 1], - [91185, 1], - [91184, 1], - [91183, 1], - [91182, 1], - [91181, 1], - [91180, 1], - [91179, 1], - [91178, 1], - [91177, 1], - [91176, 1], - [91175, 1], - [91174, 1], - [91173, 1], - [91172, 1], - [91171, 1], - [91170, 1], - [91169, 1], - [91168, 1], - [91167, 1], - [91166, 1], - [91165, 1], - [91164, 1], - [91163, 1], - [91162, 1], - [91161, 1], - [91160, 1], - [91159, 1], - [91158, 1], - [91157, 1], - [91156, 1], - [91155, 1], - [91154, 1], - [91153, 1], - [91152, 1], - [91151, 1], - [91150, 1], - [91149, 1], - [91148, 1], - [91147, 1], - [91146, 1], - [91145, 1], - [91144, 1], - [91143, 1], - [91142, 1], - [91141, 1], - [91140, 1], - [91139, 1], - [91138, 1], - [91137, 1], - [91136, 1], - [91135, 1], - [91134, 1], - [91133, 1], - [91132, 1], - [91131, 1], - [91130, 1], - [91129, 1], - [91128, 1], - [91127, 1], - [91126, 1], - [91125, 1], - [91124, 1], - [91123, 1], - [91122, 1], - [91121, 1], - [91120, 1], - [91119, 1], - [91118, 1], - [91117, 1], - [91116, 1], - [91115, 1], - [91114, 1], - [91113, 1], - [91112, 1], - [91111, 1], - [91110, 1], - [91109, 1], - [91108, 1], - [91107, 1], - [91106, 1], - [91105, 1], - [91104, 1], - [91103, 1], - [91102, 1], - [91101, 1], - [91100, 1], - [91099, 1], - [91098, 1], - [91097, 1], - [91096, 1], - [91095, 1], - [91094, 1], - [91093, 1], - [91092, 1], - [91091, 1], - [91090, 1], - [91089, 1], - [91088, 1], - [91087, 1], - [91086, 1], - [91085, 1], - [91084, 1], - [91083, 1], - [91082, 1], - [91081, 1], - [91080, 1], - [91079, 1], - [91078, 1], - [91077, 1], - [91076, 1], - [91075, 1], - [91074, 1], - [91073, 1], - [91072, 1], - [91071, 1], - [91070, 1], - [91069, 1], - [91068, 1], - [91067, 1], - [91066, 1], - [91065, 1], - [91064, 1], - [91063, 1], - [91062, 1], - [91061, 1], - [91060, 1], - [91059, 1], - [91058, 1], - [91057, 1], - [91056, 1], - [91055, 1], - [91054, 1], - [91053, 1], - [91052, 1], - [91051, 1], - [91050, 1], - [91049, 1], - [91048, 1], - [91047, 1], - [91046, 1], - [91045, 1], - [91044, 1], - [91043, 1], - [91042, 1], - [91041, 1], - [91040, 1], - [91039, 1], - [91038, 1], - [91037, 1], - [91036, 1], - [91035, 1], - [91034, 1], - [91033, 1], - [91032, 1], - [91031, 1], - [91030, 1], - [91029, 1], - [91028, 1], - [91027, 1], - [91026, 1], - [91025, 1], - [91024, 1], - [91023, 1], - [91022, 1], - [91021, 1], - [91020, 1], - [91019, 1], - [91018, 1], - [91017, 1], - [91016, 1], - [91015, 1], - [91014, 1], - [91013, 1], - [91012, 1], - [91011, 1], - [91010, 1], - [91009, 1], - [91008, 1], - [91007, 1], - [91006, 1], - [91005, 1], - [91004, 1], - [91003, 1], - [91002, 1], - [91001, 1], - [91000, 1], - [90999, 1], - [90998, 1], - [90997, 1], - [90996, 1], - [90995, 1], - [90994, 1], - [90993, 1], - [90992, 1], - [90991, 1], - [90990, 1], - [90989, 1], - [90988, 1], - [90987, 1], - [90986, 1], - [90985, 1], - [90984, 1], - [90983, 1], - [90982, 1], - [90981, 1], - [90980, 1], - [90979, 1], - [90978, 1], - [90977, 1], - [90976, 1], - [90975, 1], - [90974, 1], - [90973, 1], - [90972, 1], - [90971, 1], - [90970, 1], - [90969, 1], - [90968, 1], - [90967, 1], - [90966, 1], - [90965, 1], - [90964, 1], - [90963, 1], - [90962, 1], - [90961, 1], - [90960, 1], - [90959, 1], - [90958, 1], - [90957, 1], - [90956, 1], - [90955, 1], - [90954, 1], - [90953, 1], - [90952, 1], - [90951, 1], - [90950, 1], - [90949, 1], - [90948, 1], - [90947, 1], - [90946, 1], - [90945, 1], - [90944, 1], - [90943, 1], - [90942, 1], - [90941, 1], - [90940, 1], - [90939, 1], - [90938, 1], - [90937, 1], - [90936, 1], - [90935, 1], - [90934, 1], - [90933, 1], - [90932, 1], - [90931, 1], - [90930, 1], - [90929, 1], - [90928, 1], - [90927, 1], - [90926, 1], - [90925, 1], - [90924, 1], - [90923, 1], - [90922, 1], - [90921, 1], - [90920, 1], - [90919, 1], - [90918, 1], - [90917, 1], - [90916, 1], - [90915, 1], - [90914, 1], - [90913, 1], - [90912, 1], - [90911, 1], - [90910, 1], - [90909, 1], - [90908, 1], - [90907, 1], - [90906, 1], - [90905, 1], - [90904, 1], - [90903, 1], - [90902, 1], - [90901, 1], - [90900, 1], - [90899, 1], - [90898, 1], - [90897, 1], - [90896, 1], - [90895, 1], - [90894, 1], - [90893, 1], - [90892, 1], - [90891, 1], - [90890, 1], - [90889, 1], - [90888, 1], - [90887, 1], - [90886, 1], - [90885, 1], - [90884, 1], - [90883, 1], - [90882, 1], - [90881, 1], - [90880, 1], - [90879, 1], - [90878, 1], - [90877, 1], - [90876, 1], - [90875, 1], - [90874, 1], - [90873, 1], - [90872, 1], - [90871, 1], - [90870, 1], - [90869, 1], - [90868, 1], - [90867, 1], - [90866, 1], - [90865, 1], - [90864, 1], - [90863, 1], - [90862, 1], - [90861, 1], - [90860, 1], - [90859, 1], - [90858, 1], - [90857, 1], - [90856, 1], - [90855, 1], - [90854, 1], - [90853, 1], - [90852, 1], - [90851, 1], - [90850, 1], - [90849, 1], - [90848, 1], - [90847, 1], - [90846, 1], - [90845, 1], - [90844, 1], - [90843, 1], - [90842, 1], - [90841, 1], - [90840, 1], - [90839, 1], - [90838, 1], - [90837, 1], - [90836, 1], - [90835, 1], - [90834, 1], - [90833, 1], - [90832, 1], - [90831, 1], - [90830, 1], - [90829, 1], - [90828, 1], - [90827, 1], - [90826, 1], - [90825, 1], - [90824, 1], - [90823, 1], - [90822, 1], - [90821, 1], - [90820, 1], - [90819, 1], - [90818, 1], - [90817, 1], - [90816, 1], - [90815, 1], - [90814, 1], - [90813, 1], - [90812, 1], - [90811, 1], - [90810, 1], - [90809, 1], - [90808, 1], - [90807, 1], - [90806, 1], - [90805, 1], - [90804, 1], - [90803, 1], - [90802, 1], - [90801, 1], - [90800, 1], - [90799, 1], - [90798, 1], - [90797, 1], - [90796, 1], - [90795, 1], - [90794, 1], - [90793, 1], - [90792, 1], - [90791, 1], - [90790, 1], - [90789, 1], - [90788, 1], - [90787, 1], - [90786, 1], - [90785, 1], - [90784, 1], - [90783, 1], - [90782, 1], - [90781, 1], - [90780, 1], - [90779, 1], - [90778, 1], - [90777, 1], - [90776, 1], - [90775, 1], - [90774, 1], - [90773, 1], - [90772, 1], - [90771, 1], - [90770, 1], - [90769, 1], - [90768, 1], - [90767, 1], - [90766, 1], - [90765, 1], - [90764, 1], - [90763, 1], - [90762, 1], - [90761, 1], - [90760, 1], - [90759, 1], - [90758, 1], - [90757, 1], - [90756, 1], - [90755, 1], - [90754, 1], - [90753, 1], - [90752, 1], - [90751, 1], - [90750, 1], - [90749, 1], - [90748, 1], - [90747, 1], - [90746, 1], - [90745, 1], - [90744, 1], - [90743, 1], - [90742, 1], - [90741, 1], - [90740, 1], - [90739, 1], - [90738, 1], - [90737, 1], - [90736, 1], - [90735, 1], - [90734, 1], - [90733, 1], - [90732, 1], - [90731, 1], - [90730, 1], - [90729, 1], - [90728, 1], - [90727, 1], - [90726, 1], - [90725, 1], - [90724, 1], - [90723, 1], - [90722, 1], - [90721, 1], - [90720, 1], - [90719, 1], - [90718, 1], - [90717, 1], - [90716, 1], - [90715, 1], - [90714, 1], - [90713, 1], - [90712, 1], - [90711, 1], - [90710, 1], - [90709, 1], - [90708, 1], - [90707, 1], - [90706, 1], - [90705, 1], - [90704, 1], - [90703, 1], - [90702, 1], - [90701, 1], - [90700, 1], - [90699, 1], - [90698, 1], - [90697, 1], - [90696, 1], - [90695, 1], - [90694, 1], - [90693, 1], - [90692, 1], - [90691, 1], - [90690, 1], - [90689, 1], - [90688, 1], - [90687, 1], - [90686, 1], - [90685, 1], - [90684, 1], - [90683, 1], - [90682, 1], - [90681, 1], - [90680, 1], - [90679, 1], - [90678, 1], - [90677, 1], - [90676, 1], - [90675, 1], - [90674, 1], - [90673, 1], - [90672, 1], - [90671, 1], - [90670, 1], - [90669, 1], - [90668, 1], - [90667, 1], - [90666, 1], - [90665, 1], - [90664, 1], - [90663, 1], - [90662, 1], - [90661, 1], - [90660, 1], - [90659, 1], - [90658, 1], - [90657, 1], - [90656, 1], - [90655, 1], - [90654, 1], - [90653, 1], - [90652, 1], - [90651, 1], - [90650, 1], - [90649, 1], - [90648, 1], - [90647, 1], - [90646, 1], - [90645, 1], - [90644, 1], - [90643, 1], - [90642, 1], - [90641, 1], - [90640, 1], - [90639, 1], - [90638, 1], - [90637, 1], - [90636, 1], - [90635, 1], - [90634, 1], - [90633, 1], - [90632, 1], - [90631, 1], - [90630, 1], - [90629, 1], - [90628, 1], - [90627, 1], - [90626, 1], - [90625, 1], - [90624, 1], - [90623, 1], - [90622, 1], - [90621, 1], - [90620, 1], - [90619, 1], - [90618, 1], - [90617, 1], - [90616, 1], - [90615, 1], - [90614, 1], - [90613, 1], - [90612, 1], - [90611, 1], - [90610, 1], - [90609, 1], - [90608, 1], - [90607, 1], - [90606, 1], - [90605, 1], - [90604, 1], - [90603, 1], - [90602, 1], - [90601, 1], - [90600, 1], - [90599, 1], - [90598, 1], - [90597, 1], - [90596, 1], - [90595, 1], - [90594, 1], - [90593, 1], - [90592, 1], - [90591, 1], - [90590, 1], - [90589, 1], - [90588, 1], - [90587, 1], - [90586, 1], - [90585, 1], - [90584, 1], - [90583, 1], - [90582, 1], - [90581, 1], - [90580, 1], - [90579, 1], - [90578, 1], - [90577, 1], - [90576, 1], - [90575, 1], - [90574, 1], - [90573, 1], - [90572, 1], - [90571, 1], - [90570, 1], - [90569, 1], - [90568, 1], - [90567, 1], - [90566, 1], - [90565, 1], - [90564, 1], - [90563, 1], - [90562, 1], - [90561, 1], - [90560, 1], - [90559, 1], - [90558, 1], - [90557, 1], - [90556, 1], - [90555, 1], - [90554, 1], - [90553, 1], - [90552, 1], - [90551, 1], - [90550, 1], - [90549, 1], - [90548, 1], - [90547, 1], - [90546, 1], - [90545, 1], - [90544, 1], - [90543, 1], - [90542, 1], - [90541, 1], - [90540, 1], - [90539, 1], - [90538, 1], - [90537, 1], - [90536, 1], - [90535, 1], - [90534, 1], - [90533, 1], - [90532, 1], - [90531, 1], - [90530, 1], - [90529, 1], - [90528, 1], - [90527, 1], - [90526, 1], - [90525, 1], - [90524, 1], - [90523, 1], - [90522, 1], - [90521, 1], - [90520, 1], - [90519, 1], - [90518, 1], - [90517, 1], - [90516, 1], - [90515, 1], - [90514, 1], - [90513, 1], - [90512, 1], - [90511, 1], - [90510, 1], - [90509, 1], - [90508, 1], - [90507, 1], - [90506, 1], - [90505, 1], - [90504, 1], - [90503, 1], - [90502, 1], - [90501, 1], - [90500, 1], - [90499, 1], - [90498, 1], - [90497, 1], - [90496, 1], - [90495, 1], - [90494, 1], - [90493, 1], - [90492, 1], - [90491, 1], - [90490, 1], - [90489, 1], - [90488, 1], - [90487, 1], - [90486, 1], - [90485, 1], - [90484, 1], - [90483, 1], - [90482, 1], - [90481, 1], - [90480, 1], - [90479, 1], - [90478, 1], - [90477, 1], - [90476, 1], - [90475, 1], - [90474, 1], - [90473, 1], - [90472, 1], - [90471, 1], - [90470, 1], - [90469, 1], - [90468, 1], - [90467, 1], - [90466, 1], - [90465, 1], - [90464, 1], - [90463, 1], - [88131, 0, "\n"], - [88132, 0, "\n"], - [88133, 0, "\\"], - [88134, 0, "b"], - [88135, 0, "e"], - [88136, 0, "g"], - [88137, 0, "i"], - [88138, 0, "n"], - [88139, 0, "{"], - [88140, 0, "p"], - [88141, 0, "r"], - [88142, 0, "o"], - [88143, 0, "o"], - [88144, 0, "f"], - [88145, 0, "}"], - [88146, 0, "\n"], - [88147, 0, "\\"], - [88148, 0, "e"], - [88149, 0, "n"], - [88150, 0, "d"], - [88151, 0, "{"], - [88152, 0, "p"], - [88153, 0, "r"], - [88154, 0, "o"], - [88155, 0, "o"], - [88156, 0, "f"], - [88157, 0, "}"], - [88146, 0, "\n"], - [88147, 0, "T"], - [88148, 0, "h"], - [88149, 0, "e"], - [88150, 0, " "], - [88151, 0, "r"], - [88152, 0, "u"], - [88153, 0, "l"], - [88154, 0, "e"], - [88155, 0, "s"], - [88156, 0, " "], - [88157, 0, "i"], - [88158, 0, "n"], - [88159, 0, " "], - [88160, 0, "F"], - [88161, 0, "i"], - [88162, 0, "g"], - [88163, 0, "u"], - [88164, 0, "r"], - [88165, 0, "e"], - [88166, 0, "~"], - [88167, 0, "\\"], - [88168, 0, "r"], - [88169, 0, "e"], - [88170, 0, "f"], - [88171, 0, "{"], - [88172, 0, "f"], - [88173, 0, "i"], - [88174, 0, "g"], - [88175, 0, ":"], - [88176, 0, "c"], - [88177, 0, "l"], - [88178, 0, "e"], - [88179, 0, "a"], - [88180, 0, "r"], - [88181, 0, "_"], - [88181, 1], - [88181, 0, "-"], - [88182, 0, "r"], - [88183, 0, "u"], - [88184, 0, "o"], - [88185, 0, "e"], - [88186, 0, "s"], - [88186, 1], - [88185, 1], - [88184, 1], - [88184, 0, "l"], - [88185, 0, "e"], - [88186, 0, "s"], - [88187, 0, "}"], - [88188, 0, " "], - [88189, 0, "d"], - [88190, 0, "e"], - [88191, 0, "f"], - [88192, 0, "i"], - [88193, 0, "n"], - [88194, 0, "e"], - [88195, 0, " "], - [88196, 0, "h"], - [88197, 0, "o"], - [88198, 0, "w"], - [88199, 0, " "], - [88200, 0, "a"], - [88201, 0, " "], - [88202, 0, "d"], - [88203, 0, "e"], - [88204, 0, "l"], - [88205, 0, "e"], - [88206, 0, "t"], - [88207, 0, "i"], - [88208, 0, "o"], - [88209, 0, "n"], - [88210, 0, " "], - [88211, 0, "o"], - [88212, 0, "p"], - [88213, 0, "e"], - [88214, 0, "r"], - [88215, 0, "a"], - [88216, 0, "t"], - [88217, 0, "i"], - [88218, 0, "o"], - [88219, 0, "n"], - [88220, 0, " "], - [88221, 0, "i"], - [88222, 0, "s"], - [88223, 0, " "], - [88224, 0, "a"], - [88225, 0, "p"], - [88226, 0, "p"], - [88227, 0, "l"], - [88228, 0, "i"], - [88229, 0, "e"], - [88230, 0, "d"], - [88231, 0, ":"], - [88232, 0, " "], - [88233, 0, "s"], - [88234, 0, "t"], - [88235, 0, "a"], - [88236, 0, "r"], - [88237, 0, "t"], - [88238, 0, "i"], - [88239, 0, "n"], - [88240, 0, "g"], - [88241, 0, " "], - [88242, 0, "a"], - [88243, 0, "t"], - [88244, 0, " "], - [88245, 0, "t"], - [88246, 0, "h"], - [88247, 0, "e"], - [88248, 0, " "], - [88249, 0, "c"], - [88250, 0, "u"], - [88251, 0, "r"], - [88252, 0, "s"], - [88253, 0, "o"], - [88254, 0, "r"], - [88255, 0, " "], - [88256, 0, "p"], - [88257, 0, "o"], - [88258, 0, "s"], - [88259, 0, "i"], - [88260, 0, "t"], - [88261, 0, "i"], - [88262, 0, "o"], - [88263, 0, "n"], - [88264, 0, " "], - [88265, 0, "i"], - [88266, 0, "d"], - [88267, 0, "e"], - [88268, 0, "n"], - [88269, 0, "t"], - [88270, 0, "i"], - [88271, 0, "f"], - [88272, 0, "i"], - [88273, 0, "e"], - [88274, 0, "d"], - [88275, 0, " "], - [88276, 0, "i"], - [88277, 0, "n"], - [88278, 0, " "], - [88278, 1], - [88277, 1], - [88276, 1], - [88275, 1], - [88274, 1], - [88273, 1], - [88272, 1], - [88271, 1], - [88270, 1], - [88269, 1], - [88268, 1], - [88267, 1], - [88266, 1], - [88265, 1], - [88264, 1], - [88263, 1], - [88262, 1], - [88261, 1], - [88260, 1], - [88259, 1], - [88258, 1], - [88257, 1], - [88256, 1], - [88256, 0, "i"], - [88257, 0, "n"], - [88258, 0, " "], - [88259, 0, "t"], - [88260, 0, "h"], - [88261, 0, "e"], - [88262, 0, " "], - [88263, 0, "o"], - [88264, 0, "p"], - [88265, 0, "e"], - [88266, 0, "r"], - [88267, 0, "a"], - [88268, 0, "t"], - [88269, 0, "i"], - [88270, 0, "o"], - [88271, 0, "n"], - [88272, 0, ","], - [88273, 0, " "], - [88274, 0, "t"], - [88275, 0, "h"], - [88276, 0, "e"], - [88277, 0, "y"], - [88278, 0, " "], - [88279, 0, "r"], - [88280, 0, "e"], - [88281, 0, "c"], - [88282, 0, "u"], - [88283, 0, "r"], - [88284, 0, "s"], - [88285, 0, "i"], - [88286, 0, "v"], - [88287, 0, "e"], - [88288, 0, "l"], - [88289, 0, "y"], - [88290, 0, " "], - [88291, 0, "d"], - [88292, 0, "e"], - [88293, 0, "s"], - [88294, 0, "c"], - [88295, 0, "e"], - [88296, 0, "n"], - [88297, 0, "d"], - [88298, 0, " "], - [88299, 0, "t"], - [88300, 0, "h"], - [88301, 0, "e"], - [88302, 0, " "], - [88303, 0, "t"], - [88304, 0, "r"], - [88305, 0, "e"], - [88306, 0, "e"], - [88220, 0, " "], - [88221, 0, "$"], - [88222, 0, "o"], - [88223, 0, "_"], - [88224, 0, "\\"], - [88225, 0, "m"], - [88226, 0, "a"], - [88227, 0, "t"], - [88228, 0, "h"], - [88229, 0, "r"], - [88230, 0, "m"], - [88231, 0, "{"], - [88232, 0, "d"], - [88233, 0, "e"], - [88234, 0, "l"], - [88235, 0, "}"], - [88236, 0, "$"], - [88324, 0, ","], - [88325, 0, " "], - [88326, 0, "r"], - [88327, 0, "e"], - [88328, 0, "m"], - [88329, 0, "o"], - [88330, 0, "v"], - [88331, 0, "i"], - [88332, 0, "n"], - [88333, 0, "g"], - [88334, 0, " "], - [88335, 0, "$"], - [88336, 0, "o"], - [88337, 0, "_"], - [88338, 0, "\\"], - [88339, 0, "m"], - [88340, 0, "a"], - [88341, 0, "t"], - [88342, 0, "h"], - [88343, 0, "r"], - [88344, 0, "m"], - [88345, 0, "{"], - [88346, 0, "d"], - [88347, 0, "e"], - [88348, 0, "l"], - [88349, 0, "}"], - [88350, 0, "."], - [88351, 0, "\\"], - [88352, 0, "m"], - [88353, 0, "a"], - [88354, 0, "t"], - [88355, 0, "h"], - [88356, 0, "i"], - [88357, 0, "t"], - [88358, 0, "{"], - [88359, 0, "d"], - [88360, 0, "e"], - [88361, 0, "p"], - [88362, 0, "s"], - [88363, 0, "}"], - [88364, 0, "$"], - [88365, 0, " "], - [88366, 0, "f"], - [88367, 0, "r"], - [88368, 0, "o"], - [88369, 0, "m"], - [88370, 0, " "], - [88320, 0, "s"], - [88321, 0, "u"], - [88322, 0, "b"], - [88374, 0, "a"], - [88375, 0, "l"], - [88376, 0, "l"], - [88377, 0, " "], - [88378, 0, "b"], - [88379, 0, "r"], - [88380, 0, "a"], - [88381, 0, "n"], - [88373, 0, " "], - [88374, 0, "t"], - [88375, 0, "h"], - [88376, 0, "e"], - [88377, 0, " "], - [88378, 0, "p"], - [88379, 0, "r"], - [88380, 0, "e"], - [88381, 0, "s"], - [88382, 0, "e"], - [88383, 0, "n"], - [88384, 0, "c"], - [88385, 0, "e"], - [88386, 0, " "], - [88387, 0, "s"], - [88388, 0, "e"], - [88389, 0, "t"], - [88390, 0, " "], - [88391, 0, "$"], - [88392, 0, "\\"], - [88393, 0, "m"], - [88394, 0, "a"], - [88395, 0, "t"], - [88396, 0, "h"], - [88397, 0, "s"], - [88398, 0, "f"], - [88399, 0, "{"], - [88400, 0, "p"], - [88401, 0, "r"], - [88402, 0, "e"], - [88403, 0, "s"], - [88404, 0, "}"], - [88405, 0, "("], - [88406, 0, "k"], - [88407, 0, ")"], - [88408, 0, "$"], - [88409, 0, " "], - [88410, 0, "a"], - [88411, 0, "t"], - [88421, 0, "c"], - [88422, 0, "h"], - [88423, 0, " "], - [88424, 0, "n"], - [88425, 0, "o"], - [88426, 0, "d"], - [88427, 0, "e"], - [88428, 0, "s"], - [88429, 0, " "], - [88430, 0, "i"], - [88431, 0, "n"], - [88432, 0, " "], - [88433, 0, "t"], - [88434, 0, "h"], - [88435, 0, "e"], - [88436, 0, " "], - [88437, 0, "s"], - [88438, 0, "u"], - [88439, 0, "b"], - [88440, 0, "t"], - [88441, 0, "r"], - [88442, 0, "e"], - [88443, 0, "e"], - [88014, 1], - [88013, 1], - [88012, 1], - [88011, 1], - [88010, 1], - [88009, 1], - [88008, 1], - [88007, 1], - [88006, 1], - [88005, 1], - [88004, 1], - [88003, 1], - [88002, 1], - [88001, 1], - [88000, 1], - [87999, 1], - [87998, 1], - [87997, 1], - [87996, 1], - [87995, 1], - [87994, 1], - [87993, 1], - [87992, 1], - [87991, 1], - [87990, 1], - [87989, 1], - [87988, 1], - [87987, 1], - [87986, 1], - [87985, 1], - [87984, 1], - [87983, 1], - [87982, 1], - [87981, 1], - [87980, 1], - [87979, 1], - [87978, 1], - [87977, 1], - [87976, 1], - [87975, 1], - [87974, 1], - [87973, 1], - [87972, 1], - [87971, 1], - [87970, 1], - [87969, 1], - [87968, 1], - [87967, 1], - [87966, 1], - [87965, 1], - [87964, 1], - [87963, 1], - [87962, 1], - [87961, 1], - [87960, 1], - [87959, 1], - [87958, 1], - [87957, 1], - [87956, 1], - [87955, 1], - [87954, 1], - [87953, 1], - [87952, 1], - [88381, 0, ","], - [88382, 0, " "], - [88383, 0, "a"], - [88384, 0, "n"], - [88385, 0, "d"], - [88386, 0, " "], - [88387, 0, "u"], - [88388, 0, "p"], - [88389, 0, "d"], - [88390, 0, "a"], - [88391, 0, "t"], - [88392, 0, "i"], - [88393, 0, "n"], - [88394, 0, "g"], - [88395, 0, " "], - [88396, 0, "a"], - [88397, 0, "l"], - [88398, 0, "l"], - [88399, 0, " "], - [88400, 0, "r"], - [88401, 0, "e"], - [88402, 0, "g"], - [88403, 0, "i"], - [88404, 0, "s"], - [88405, 0, "t"], - [88406, 0, "e"], - [88407, 0, "r"], - [88408, 0, "s"], - [88409, 0, " "], - [88410, 0, "t"], - [88411, 0, "o"], - [88412, 0, " "], - [88413, 0, "r"], - [88414, 0, "e"], - [88415, 0, "m"], - [88416, 0, "o"], - [88417, 0, "v"], - [88418, 0, "e"], - [88419, 0, " "], - [88420, 0, "a"], - [88421, 0, "n"], - [88422, 0, "y"], - [88423, 0, " "], - [88424, 0, "v"], - [88425, 0, "a"], - [88426, 0, "l"], - [88427, 0, "u"], - [88428, 0, "e"], - [88429, 0, "s"], - [88430, 0, " "], - [88431, 0, "w"], - [88432, 0, "r"], - [88433, 0, "i"], - [88434, 0, "t"], - [88435, 0, "t"], - [88436, 0, "e"], - [88437, 0, "n"], - [88438, 0, " "], - [88439, 0, "b"], - [88440, 0, "y"], - [88441, 0, " "], - [88442, 0, "o"], - [88443, 0, "p"], - [88444, 0, "e"], - [88445, 0, "r"], - [88446, 0, "a"], - [88447, 0, "t"], - [88448, 0, "i"], - [88449, 0, "o"], - [88450, 0, "n"], - [88451, 0, "s"], - [88452, 0, " "], - [88453, 0, "i"], - [88454, 0, "n"], - [88455, 0, " "], - [88456, 0, "$"], - [88457, 0, "o"], - [88458, 0, "_"], - [88459, 0, "\\"], - [88460, 0, "m"], - [88461, 0, "a"], - [88462, 0, "t"], - [88463, 0, "h"], - [88464, 0, "r"], - [88465, 0, "m"], - [88466, 0, "{"], - [88467, 0, "d"], - [88468, 0, "e"], - [88469, 0, "l"], - [88470, 0, "}"], - [88471, 0, "."], - [88472, 0, "\\"], - [88473, 0, "m"], - [88474, 0, "a"], - [88475, 0, "t"], - [88476, 0, "h"], - [88477, 0, "i"], - [88478, 0, "t"], - [88479, 0, "{"], - [88480, 0, "d"], - [88481, 0, "e"], - [88482, 0, "p"], - [88483, 0, "s"], - [88484, 0, "}"], - [88485, 0, "$"], - [88486, 0, "."], - [53419, 0, ","], - [53420, 0, " "], - [53421, 0, "\\"], - [53422, 0, "m"], - [53423, 0, "a"], - [53424, 0, "t"], - [53425, 0, "h"], - [53426, 0, "i"], - [53427, 0, "t"], - [53428, 0, "{"], - [53429, 0, "m"], - [53430, 0, "u"], - [53431, 0, "t"], - [53432, 0, "}"], - [54999, 1], - [54998, 1], - [54997, 1], - [54996, 1], - [54995, 1], - [54994, 1], - [54993, 1], - [54992, 1], - [54991, 1], - [54991, 0, "c"], - [54992, 0, "e"], - [54993, 0, "n"], - [54994, 0, "t"], - [54995, 0, "e"], - [54996, 0, "r"], - [55369, 1], - [55368, 1], - [55367, 1], - [55366, 1], - [55365, 1], - [55364, 1], - [55363, 1], - [55362, 1], - [55361, 1], - [55361, 0, "c"], - [55362, 0, "e"], - [55363, 0, "n"], - [55364, 0, "t"], - [55365, 0, "e"], - [55366, 0, "r"], - [55355, 0, "\n"], - [55356, 0, "\\"], - [55357, 0, "D"], - [55358, 0, "i"], - [55359, 0, "s"], - [55360, 0, "p"], - [55361, 0, "l"], - [55362, 0, "a"], - [55363, 0, "u"], - [55364, 0, "y"], - [55364, 1], - [55363, 1], - [55363, 0, "y"], - [55364, 0, "P"], - [55365, 0, "r"], - [55366, 0, "o"], - [55367, 0, "o"], - [55368, 0, "f"], - [55369, 0, "\\"], - [55370, 0, "h"], - [55371, 0, "s"], - [55372, 0, "p"], - [55373, 0, "a"], - [55374, 0, "c"], - [55375, 0, "e"], - [55376, 0, "{"], - [55377, 0, "3"], - [55378, 0, "e"], - [55379, 0, "m"], - [55380, 0, "}"], - [55381, 0, "\n"], - [55382, 0, "%"], - [55383, 0, "\n"], - [55252, 0, ","], - [55253, 0, " "], - [55254, 0, "\\"], - [55255, 0, "m"], - [55256, 0, "a"], - [55257, 0, "t"], - [55258, 0, "h"], - [55259, 0, "i"], - [55260, 0, "t"], - [55261, 0, "{"], - [55262, 0, "m"], - [55263, 0, "u"], - [55264, 0, "t"], - [55265, 0, "}"], - [55182, 1], - [55182, 0, "T"], - [55183, 0, "r"], - [54998, 0, "\n"], - [54999, 0, "\\"], - [55000, 0, "A"], - [55001, 0, "x"], - [55002, 0, "i"], - [55003, 0, "o"], - [55004, 0, "m"], - [55005, 0, "C"], - [55006, 0, "{"], - [55007, 0, "$"], - [55008, 0, "\\"], - [55009, 0, "m"], - [55010, 0, "a"], - [55011, 0, "t"], - [55012, 0, "h"], - [55013, 0, "i"], - [55014, 0, "t"], - [55015, 0, "{"], - [55016, 0, "m"], - [55017, 0, "u"], - [55018, 0, "t"], - [55019, 0, "}"], - [55020, 0, " "], - [55021, 0, "\\"], - [55022, 0, "n"], - [55023, 0, "o"], - [55024, 0, "t"], - [55025, 0, "="], - [55026, 0, " "], - [55027, 0, "\\"], - [55028, 0, "m"], - [55029, 0, "a"], - [55030, 0, "t"], - [55031, 0, "h"], - [55032, 0, "s"], - [55033, 0, "f"], - [55034, 0, "{"], - [55035, 0, "d"], - [55036, 0, "e"], - [55037, 0, "l"], - [55038, 0, "e"], - [55039, 0, "t"], - [55040, 0, "e"], - [55041, 0, "}"], - [55042, 0, "$"], - [55043, 0, "}"], - [55445, 0, "\\"], - [55446, 0, "A"], - [55447, 0, "x"], - [55448, 0, "i"], - [55449, 0, "o"], - [55450, 0, "m"], - [55451, 0, "C"], - [55452, 0, "{"], - [55453, 0, "$"], - [55454, 0, "\\"], - [55455, 0, "m"], - [55456, 0, "a"], - [55457, 0, "t"], - [55458, 0, "h"], - [55459, 0, "i"], - [55460, 0, "t"], - [55461, 0, "{"], - [55462, 0, "m"], - [55463, 0, "u"], - [55464, 0, "t"], - [55465, 0, "}"], - [55466, 0, " "], - [55467, 0, "="], - [55468, 0, " "], - [55469, 0, "\\"], - [55470, 0, "m"], - [55471, 0, "a"], - [55472, 0, "t"], - [55473, 0, "h"], - [55474, 0, "s"], - [55475, 0, "f"], - [55476, 0, "{"], - [55477, 0, "d"], - [55478, 0, "e"], - [55479, 0, "l"], - [55480, 0, "e"], - [55481, 0, "t"], - [55482, 0, "e"], - [55483, 0, "}"], - [55484, 0, "$"], - [55485, 0, "}"], - [55486, 0, "\n"], - [55487, 0, "\\"], - [55210, 0, "$"], - [55226, 0, "_"], - [55227, 0, "1"], - [55228, 0, "$"], - [55492, 0, "L"], - [55493, 0, "e"], - [55494, 0, "f"], - [55495, 0, "t"], - [55496, 0, "L"], - [55497, 0, "a"], - [55498, 0, "b"], - [55499, 0, "e"], - [55500, 0, "l"], - [55501, 0, "{"], - [55502, 0, "$"], - [55503, 0, "\\"], - [55504, 0, "T"], - [55505, 0, "e"], - [55506, 0, "x"], - [55507, 0, "t"], - [55507, 1], - [55506, 1], - [55505, 1], - [55504, 1], - [55504, 0, "t"], - [55505, 0, "e"], - [55506, 0, "x"], - [55507, 0, "t"], - [55508, 0, "s"], - [55509, 0, "c"], - [55510, 0, "{"], - [55511, 0, "A"], - [55512, 0, "d"], - [55513, 0, "d"], - [55514, 0, "-"], - [55515, 0, "I"], - [55516, 0, "D"], - [55517, 0, "}"], - [55518, 0, "_"], - [55519, 0, "2"], - [55520, 0, "$"], - [55521, 0, "}"], - [55522, 0, "\n"], - [55523, 0, "\\"], - [55524, 0, "U"], - [55525, 0, "n"], - [55526, 0, "a"], - [55527, 0, "r"], - [55528, 0, "y"], - [55529, 0, "I"], - [55530, 0, "n"], - [55531, 0, "f"], - [55532, 0, "C"], - [55533, 0, "{"], - [55534, 0, "$"], - [55535, 0, "\\"], - [55536, 0, "m"], - [55537, 0, "a"], - [55538, 0, "t"], - [55539, 0, "h"], - [55540, 0, "i"], - [55541, 0, "t"], - [55542, 0, "{"], - [55543, 0, "c"], - [55544, 0, "t"], - [55545, 0, "x"], - [55546, 0, "}"], - [55547, 0, ","], - [55548, 0, "\\"], - [55549, 0, ","], - [55550, 0, " "], - [55551, 0, "\\"], - [55552, 0, "m"], - [55553, 0, "a"], - [55554, 0, "t"], - [55555, 0, "h"], - [55556, 0, "s"], - [55557, 0, "f"], - [55558, 0, "{"], - [55559, 0, "a"], - [55560, 0, "d"], - [55561, 0, "d"], - [55562, 0, "I"], - [55563, 0, "d"], - [55564, 0, "}"], - [55565, 0, "("], - [55566, 0, "k"], - [55567, 0, "_"], - [55568, 0, "\\"], - [55569, 0, "m"], - [55570, 0, "a"], - [55571, 0, "t"], - [55572, 0, "h"], - [55573, 0, "i"], - [55574, 0, "t"], - [55575, 0, "{"], - [55576, 0, "t"], - [55577, 0, "a"], - [55578, 0, "g"], - [55579, 0, "}"], - [55580, 0, ","], - [55581, 0, " "], - [55582, 0, "\\"], - [55583, 0, "m"], - [55584, 0, "a"], - [55585, 0, "t"], - [55586, 0, "h"], - [55587, 0, "i"], - [55588, 0, "t"], - [55589, 0, "{"], - [55590, 0, "i"], - [55591, 0, "d"], - [55592, 0, "}"], - [55593, 0, ","], - [55594, 0, " "], - [55595, 0, "\\"], - [55596, 0, "m"], - [55597, 0, "a"], - [55598, 0, "t"], - [55599, 0, "h"], - [55600, 0, "i"], - [55601, 0, "t"], - [55602, 0, "{"], - [55603, 0, "m"], - [55604, 0, "u"], - [55605, 0, "t"], - [55606, 0, "}"], - [55607, 0, ")"], - [55608, 0, " "], - [55609, 0, "\\"], - [55610, 0, "e"], - [55611, 0, "v"], - [55612, 0, "a"], - [55613, 0, "l"], - [55614, 0, "t"], - [55615, 0, "o"], - [55616, 0, " "], - [55617, 0, "\\"], - [55618, 0, "m"], - [55619, 0, "a"], - [55620, 0, "t"], - [55621, 0, "h"], - [55622, 0, "i"], - [55623, 0, "t"], - [55624, 0, "{"], - [55625, 0, "c"], - [55626, 0, "t"], - [55627, 0, "x"], - [55628, 0, "}"], - [55629, 0, "$"], - [55630, 0, "}"], - [55631, 0, "\n"], - [55632, 0, "\\"], - [55633, 0, "D"], - [55634, 0, "i"], - [55635, 0, "s"], - [55636, 0, "p"], - [55637, 0, "l"], - [55638, 0, "a"], - [55639, 0, "y"], - [55640, 0, "P"], - [55641, 0, "r"], - [55642, 0, "o"], - [55643, 0, "o"], - [55644, 0, "f"], - [55645, 0, "\\"], - [55646, 0, "p"], - [55647, 0, "r"], - [55648, 0, "o"], - [55649, 0, "o"], - [55650, 0, "f"], - [55651, 0, "S"], - [55652, 0, "k"], - [55653, 0, "i"], - [55654, 0, "p"], - [55655, 0, "A"], - [55656, 0, "m"], - [55657, 0, "o"], - [55658, 0, "u"], - [55659, 0, "n"], - [55660, 0, "t"], - [55988, 0, ","], - [55989, 0, " "], - [55990, 0, "\\"], - [55991, 0, "m"], - [55992, 0, "a"], - [55993, 0, "t"], - [55994, 0, "h"], - [55995, 0, "s"], - [55996, 0, "f"], - [55997, 0, "{"], - [55998, 0, "a"], - [55999, 0, "s"], - [56000, 0, "s"], - [56001, 0, "i"], - [56002, 0, "g"], - [56003, 0, "n"], - [56004, 0, "}"], - [56005, 0, "("], - [56006, 0, "\\"], - [56007, 0, "m"], - [56008, 0, "a"], - [56009, 0, "t"], - [56010, 0, "h"], - [56011, 0, "i"], - [56012, 0, "t"], - [56013, 0, "{"], - [56014, 0, "v"], - [56015, 0, "a"], - [56016, 0, "l"], - [56017, 0, "}"], - [56018, 0, ")"], - [56020, 0, "\n"], - [56021, 0, " "], - [56022, 0, " "], - [56023, 0, " "], - [56692, 0, ","], - [56693, 0, " "], - [56694, 0, "\\"], - [56695, 0, "m"], - [56696, 0, "a"], - [56697, 0, "t"], - [56698, 0, "h"], - [56699, 0, "s"], - [56700, 0, "f"], - [56701, 0, "{"], - [56702, 0, "a"], - [56703, 0, "s"], - [56704, 0, "s"], - [56705, 0, "i"], - [56706, 0, "g"], - [56707, 0, "n"], - [56708, 0, "}"], - [56709, 0, "("], - [56710, 0, "\\"], - [56711, 0, "m"], - [56712, 0, "a"], - [56713, 0, "t"], - [56714, 0, "h"], - [56715, 0, "i"], - [56716, 0, "t"], - [56717, 0, "{"], - [56718, 0, "v"], - [56719, 0, "a"], - [56720, 0, "l"], - [56721, 0, "}"], - [56722, 0, ")"], - [56724, 0, "\n"], - [56725, 0, " "], - [56726, 0, " "], - [56727, 0, " "], - [57339, 0, ","], - [57340, 0, " "], - [57341, 0, "\\"], - [57342, 0, "m"], - [57343, 0, "a"], - [57344, 0, "t"], - [57345, 0, "h"], - [57346, 0, "s"], - [57347, 0, "f"], - [57348, 0, "{"], - [57349, 0, "a"], - [57350, 0, "s"], - [57351, 0, "s"], - [57352, 0, "i"], - [57353, 0, "g"], - [57354, 0, "n"], - [57355, 0, "}"], - [57356, 0, "("], - [57357, 0, "\\"], - [57358, 0, "m"], - [57359, 0, "a"], - [57360, 0, "t"], - [57361, 0, "h"], - [57362, 0, "i"], - [57363, 0, "t"], - [57364, 0, "{"], - [57365, 0, "v"], - [57366, 0, "a"], - [57367, 0, "l"], - [57368, 0, "}"], - [57369, 0, ")"], - [57371, 0, "\n"], - [57372, 0, " "], - [57373, 0, " "], - [57374, 0, " "], - [78293, 1], - [78292, 1], - [78291, 1], - [78290, 1], - [78289, 1], - [78288, 1], - [78287, 1], - [78287, 0, "r"], - [78288, 0, "e"], - [78289, 0, "o"], - [78290, 0, "r"], - [78291, 0, "d"], - [78292, 0, "e"], - [78293, 0, "r"], - [59993, 0, "$"], - [60009, 0, "_"], - [60010, 0, "{"], - [60011, 0, "1"], - [60012, 0, ","], - [60013, 0, "2"], - [60014, 0, "}"], - [60015, 0, "$"], - [88510, 0, "\n"], - [88511, 0, "G"], - [88512, 0, "i"], - [88513, 0, "v"], - [88514, 0, "e"], - [88515, 0, "n"], - [88516, 0, " "], - [88517, 0, "a"], - [88518, 0, " "], - [88519, 0, "d"], - [88520, 0, "e"], - [88521, 0, "l"], - [88522, 0, "e"], - [88523, 0, "t"], - [88524, 0, "i"], - [88525, 0, "o"], - [88526, 0, "n"], - [88527, 0, " "], - [88528, 0, "o"], - [88529, 0, "p"], - [88530, 0, "e"], - [88531, 0, "r"], - [88532, 0, "a"], - [88533, 0, "t"], - [88534, 0, "i"], - [88535, 0, "o"], - [88536, 0, "n"], - [88537, 0, " "], - [88538, 0, "$"], - [88539, 0, "o"], - [88540, 0, "_"], - [88541, 0, "d"], - [88542, 0, "$"], - [88543, 0, " "], - [88541, 1], - [88541, 0, "\\"], - [88542, 0, "m"], - [88543, 0, "a"], - [88544, 0, "t"], - [88545, 0, "h"], - [88546, 0, "r"], - [88547, 0, "m"], - [88548, 0, "{"], - [88549, 0, "d"], - [88550, 0, "e"], - [88551, 0, "l"], - [88552, 0, "}"], - [88421, 0, "I"], - [88422, 0, "n"], - [88423, 0, " "], - [88424, 0, "a"], - [88425, 0, "n"], - [88426, 0, " "], - [88427, 0, "o"], - [88428, 0, "p"], - [88429, 0, "e"], - [88430, 0, "r"], - [88431, 0, "a"], - [88432, 0, "t"], - [88433, 0, "i"], - [88434, 0, "o"], - [88435, 0, "n"], - [88436, 0, " "], - [88437, 0, "h"], - [88438, 0, "i"], - [88439, 0, "s"], - [88440, 0, "t"], - [88441, 0, "o"], - [88442, 0, "r"], - [88443, 0, "y"], - [88444, 0, " "], - [88445, 0, "$"], - [88446, 0, "H"], - [88447, 0, "$"], - [88448, 0, ","], - [88449, 0, " "], - [88450, 1], - [88450, 0, "d"], - [88450, 0, "a"], - [88451, 0, " "], - [88460, 0, " "], - [88461, 0, "o"], - [88462, 0, "p"], - [88463, 0, "e"], - [88464, 0, "r"], - [88465, 0, "a"], - [88466, 0, "t"], - [88467, 0, "i"], - [88468, 0, "o"], - [88469, 0, "n"], - [88435, 1], - [88434, 1], - [88433, 1], - [88432, 1], - [88431, 1], - [88430, 1], - [88429, 1], - [88428, 1], - [88427, 1], - [88426, 1], - [88425, 1], - [88585, 0, "a"], - [88586, 0, "n"], - [88587, 0, "d"], - [88588, 0, " "], - [88589, 0, "a"], - [88590, 0, "n"], - [88591, 0, "y"], - [88592, 0, " "], - [88593, 0, "o"], - [88594, 0, "t"], - [88595, 0, "h"], - [88596, 0, "e"], - [88597, 0, "r"], - [88598, 0, " "], - [88599, 0, "c"], - [88600, 0, "o"], - [88601, 0, "n"], - [88602, 0, "c"], - [88603, 0, "u"], - [88604, 0, "r"], - [88605, 0, "r"], - [88606, 0, "e"], - [88607, 0, "n"], - [88608, 0, "t"], - [88609, 0, " "], - [88610, 0, "o"], - [88611, 0, "p"], - [88612, 0, "e"], - [88613, 0, "r"], - [88614, 0, "a"], - [88615, 0, "t"], - [88616, 0, "i"], - [88617, 0, "o"], - [88618, 0, "n"], - [88619, 0, " "], - [88620, 0, "$"], - [88621, 0, "o"], - [88622, 0, "_"], - [88623, 0, "c"], - [88624, 0, "$"], - [88625, 0, "\n"], - [88577, 1], - [88576, 1], - [88576, 0, "i"], - [88577, 0, "t"], - [89008, 1], - [89007, 1], - [89007, 0, "i"], - [89008, 0, "t"], - [88710, 1], - [88709, 1], - [88582, 1], - [88581, 1], - [88580, 1], - [88578, 1], - [88577, 1], - [88576, 1], - [88575, 1], - [88574, 1], - [88573, 1], - [88572, 1], - [88571, 1], - [88698, 1], - [88697, 1], - [88696, 1], - [88695, 1], - [88694, 1], - [88693, 1], - [88696, 1], - [88695, 1], - [88694, 1], - [88810, 1], - [88809, 1], - [88808, 1], - [88806, 1], - [88805, 1], - [88804, 1], - [88803, 1], - [88802, 1], - [88801, 1], - [88800, 1], - [88799, 1], - [88976, 1], - [88975, 1], - [88974, 1], - [88973, 1], - [88972, 1], - [88971, 1], - [88970, 1], - [88969, 1], - [88970, 1], - [88970, 1], - [88970, 1], - [88614, 0, ","], - [88615, 0, " "], - [88616, 0, "w"], - [88617, 0, "e"], - [88618, 0, " "], - [88619, 0, "m"], - [88620, 0, "u"], - [88621, 0, "s"], - [88622, 0, "t"], - [88623, 0, " "], - [88624, 0, "s"], - [88625, 0, "h"], - [88626, 0, "o"], - [88627, 0, "w"], - [88628, 0, " "], - [88629, 0, "t"], - [88630, 0, "h"], - [88631, 0, "a"], - [88632, 0, "t"], - [88633, 0, " "], - [88634, 0, "t"], - [88635, 0, "h"], - [88636, 0, "e"], - [88637, 0, " "], - [88638, 0, "d"], - [88639, 0, "o"], - [88640, 0, "c"], - [88641, 0, "u"], - [88642, 0, "m"], - [88643, 0, "e"], - [88644, 0, "n"], - [88645, 0, "t"], - [88646, 0, " "], - [88647, 0, "s"], - [88648, 0, "t"], - [88649, 0, "a"], - [88650, 0, "t"], - [88651, 0, "e"], - [88652, 0, " "], - [88653, 0, "a"], - [88654, 0, "f"], - [88655, 0, "t"], - [88656, 0, "e"], - [88657, 0, "r"], - [88658, 0, " "], - [88659, 0, "a"], - [88660, 0, "p"], - [88661, 0, "p"], - [88662, 0, "l"], - [88663, 0, "y"], - [88664, 0, "i"], - [88665, 0, "n"], - [88666, 0, "g"], - [88667, 0, " "], - [88668, 0, "b"], - [88669, 0, "o"], - [88670, 0, "t"], - [88671, 0, "h"], - [88672, 0, " "], - [88673, 0, "o"], - [88674, 0, "p"], - [88675, 0, "e"], - [88676, 0, "r"], - [88677, 0, "a"], - [88678, 0, "t"], - [88679, 0, "i"], - [88680, 0, "o"], - [88681, 0, "n"], - [88682, 0, "s"], - [88683, 0, " "], - [88684, 0, "d"], - [88685, 0, "o"], - [88686, 0, "e"], - [88687, 0, "s"], - [88688, 0, " "], - [88689, 0, "n"], - [88690, 0, "o"], - [88691, 0, "t"], - [88692, 0, " "], - [88693, 0, "d"], - [88694, 0, "e"], - [88695, 0, "p"], - [88696, 0, "e"], - [88697, 0, "n"], - [88698, 0, "d"], - [88699, 0, " "], - [88700, 0, "o"], - [88701, 0, "n"], - [88702, 0, " "], - [88703, 0, "t"], - [88704, 0, "h"], - [88705, 0, "e"], - [88706, 0, " "], - [88707, 0, "o"], - [88708, 0, "r"], - [88709, 0, "d"], - [88710, 0, "e"], - [88711, 0, "r"], - [88712, 0, " "], - [88713, 0, "i"], - [88714, 0, "n"], - [88715, 0, " "], - [88716, 0, "w"], - [88717, 0, "h"], - [88718, 0, "i"], - [88719, 0, "c"], - [88720, 0, "h"], - [88721, 0, " "], - [88722, 0, "$"], - [88723, 0, "o"], - [88724, 0, "_"], - [88725, 0, "d"], - [88726, 0, "$"], - [88727, 0, " "], - [88728, 0, "a"], - [88729, 0, "n"], - [88730, 0, "d"], - [88731, 0, " "], - [88732, 0, "$"], - [88733, 0, "o"], - [88734, 0, "_"], - [88735, 0, "c"], - [88736, 0, "$"], - [88737, 0, " "], - [88738, 0, "w"], - [88739, 0, "e"], - [88740, 0, "r"], - [88741, 0, "e"], - [88742, 0, " "], - [88743, 0, "a"], - [88744, 0, "p"], - [88745, 0, "p"], - [88746, 0, "l"], - [88747, 0, "i"], - [88748, 0, "e"], - [88749, 0, "d"], - [88750, 0, "."], - [89123, 0, " "], - [89123, 1], - [89123, 0, "\n"], - [89124, 0, "\n"], - [89125, 0, "S"], - [89126, 0, "i"], - [89127, 0, "n"], - [89128, 0, "c"], - [89129, 0, "e"], - [89130, 0, " "], - [89131, 0, "$"], - [89132, 0, "o"], - [89133, 0, "_"], - [89134, 0, "c"], - [89135, 0, "$"], - [89136, 0, " "], - [89137, 0, "i"], - [89138, 0, "s"], - [89139, 0, " "], - [89140, 0, "c"], - [89141, 0, "o"], - [89142, 0, "n"], - [89143, 0, "c"], - [89144, 0, "u"], - [89145, 0, "r"], - [89146, 0, "r"], - [89147, 0, "e"], - [89148, 0, "n"], - [89149, 0, "t"], - [89150, 0, " "], - [89151, 0, "w"], - [89152, 0, "i"], - [89153, 0, "t"], - [89154, 0, "h"], - [89155, 0, " "], - [89156, 0, "$"], - [89157, 0, "o"], - [89158, 0, "_"], - [89159, 0, "d"], - [89160, 0, "$"], - [89161, 0, ","], - [89162, 0, " "], - [89163, 0, "w"], - [89164, 0, "e"], - [89165, 0, " "], - [89166, 0, "k"], - [89167, 0, "n"], - [89168, 0, "o"], - [89169, 0, "w"], - [89170, 0, " "], - [89171, 0, "t"], - [89172, 0, "h"], - [89173, 0, "a"], - [89174, 0, "t"], - [89175, 0, " "], - [89176, 0, "$"], - [89177, 0, "o"], - [89178, 0, "_"], - [89179, 0, "c"], - [89180, 0, "."], - [89181, 0, "\\"], - [89182, 0, "m"], - [89183, 0, "a"], - [89184, 0, "t"], - [89185, 0, "h"], - [89186, 0, "i"], - [89187, 0, "t"], - [89188, 0, "{"], - [89189, 0, "i"], - [89190, 0, "d"], - [89191, 0, "}"], - [89192, 0, " "], - [89193, 0, "\\"], - [89194, 0, "n"], - [89195, 0, "o"], - [89196, 0, "t"], - [89197, 0, "i"], - [89198, 0, "n"], - [89199, 0, " "], - [89200, 0, "o"], - [89201, 0, "_"], - [89202, 0, "d"], - [89203, 0, "."], - [89204, 0, "\\"], - [89205, 0, "m"], - [89206, 0, "a"], - [89207, 0, "t"], - [89208, 0, "h"], - [89209, 0, "i"], - [89210, 0, "t"], - [89211, 0, "{"], - [89212, 0, "d"], - [89213, 0, "e"], - [89214, 0, "p"], - [89215, 0, "s"], - [89216, 0, "}"], - [89217, 0, "$"], - [89218, 0, "."], - [89219, 0, " "], - [89220, 0, "I"], - [89221, 0, "f"], - [89222, 0, " "], - [89223, 0, "$"], - [89224, 0, "o"], - [89225, 0, "_"], - [89226, 0, "c"], - [89227, 0, "$"], - [89228, 0, " "], - [89229, 0, "i"], - [89230, 0, "s"], - [89231, 0, " "], - [89232, 0, "a"], - [89233, 0, "n"], - [89234, 0, " "], - [89235, 0, "a"], - [89236, 0, "s"], - [89237, 0, "s"], - [89238, 0, "i"], - [89239, 0, "g"], - [89240, 0, "n"], - [89241, 0, "m"], - [89242, 0, "e"], - [89243, 0, "n"], - [89244, 0, "t"], - [89245, 0, " "], - [89246, 0, "o"], - [89247, 0, "r"], - [89248, 0, " "], - [89249, 0, "i"], - [89250, 0, "n"], - [89251, 0, "s"], - [89252, 0, "e"], - [89253, 0, "r"], - [89254, 0, "t"], - [89255, 0, "i"], - [89256, 0, "o"], - [89257, 0, "n"], - [89258, 0, " "], - [89259, 0, "o"], - [89260, 0, "p"], - [89261, 0, "e"], - [89262, 0, "r"], - [89263, 0, "a"], - [89264, 0, "t"], - [89265, 0, "i"], - [89266, 0, "o"], - [89267, 0, "n"], - [89268, 0, ","], - [89269, 0, " "], - [89270, 0, "t"], - [89271, 0, "h"], - [89272, 0, "e"], - [89273, 0, " "], - [89274, 0, "\\"], - [89275, 0, "t"], - [89276, 0, "e"], - [89277, 0, "x"], - [89278, 0, "t"], - [89279, 0, "s"], - [89280, 0, "c"], - [89281, 0, "{"], - [89282, 0, "A"], - [89283, 0, "s"], - [89284, 0, "s"], - [89285, 0, "i"], - [89286, 0, "g"], - [89287, 0, "n"], - [89288, 0, "}"], - [89289, 0, ","], - [89290, 0, " "], - [89291, 0, "\\"], - [89292, 0, "t"], - [89293, 0, "e"], - [89294, 0, "x"], - [89295, 0, "t"], - [89296, 0, "s"], - [89297, 0, "c"], - [89298, 0, "{"], - [89299, 0, "E"], - [89300, 0, "m"], - [89301, 0, "p"], - [89302, 0, "t"], - [89303, 0, "y"], - [89304, 0, "-"], - [89305, 0, "M"], - [89306, 0, "a"], - [89307, 0, "p"], - [89308, 0, "}"], - [89309, 0, " "], - [89310, 0, "a"], - [89311, 0, "n"], - [89312, 0, "d"], - [89313, 0, " "], - [89314, 0, "\\"], - [89315, 0, "t"], - [89316, 0, "e"], - [89317, 0, "x"], - [89318, 0, "t"], - [89319, 0, "s"], - [89320, 0, "c"], - [89321, 0, "{"], - [89289, 1], - [89289, 0, " "], - [89290, 0, "r"], - [89291, 0, "u"], - [89292, 0, "l"], - [89293, 0, "e"], - [89294, 0, " "], - [89295, 0, "a"], - [89296, 0, "d"], - [89297, 0, "d"], - [89298, 0, "s"], - [89299, 0, " "], - [89300, 0, "$"], - [89301, 0, "o"], - [89302, 0, "_"], - [89303, 0, "c"], - [89304, 0, "."], - [89305, 0, "\\"], - [89306, 0, "m"], - [89307, 0, "a"], - [89308, 0, "t"], - [89309, 0, "h"], - [89310, 0, "i"], - [89311, 0, "t"], - [89312, 0, "{"], - [89313, 0, "i"], - [89314, 0, "d"], - [89315, 0, "}"], - [89316, 0, "$"], - [89317, 0, " "], - [89318, 0, "t"], - [89319, 0, "o"], - [89320, 0, " "], - [89321, 0, "h"], - [89322, 0, "e"], - [89323, 0, " "], - [89323, 1], - [89322, 1], - [89321, 1], - [89321, 0, "t"], - [89322, 0, "h"], - [89323, 0, "e"], - [89324, 0, " "], - [89325, 0, "s"], - [89326, 0, "e"], - [89327, 0, "t"], - [89328, 0, " "], - [89329, 0, "o"], - [89330, 0, "f"], - [89331, 0, " "], - [89331, 1], - [89330, 1], - [89329, 1], - [89328, 1], - [89327, 1], - [89326, 1], - [89325, 1], - [89325, 0, "m"], - [89326, 0, "a"], - [89327, 0, "p"], - [89328, 0, "p"], - [89329, 0, "i"], - [89330, 0, "n"], - [89331, 0, "g"], - [89332, 0, " "], - [89333, 0, "f"], - [89334, 0, "r"], - [89335, 0, "o"], - [89336, 0, "m"], - [89337, 0, " "], - [89338, 0, "o"], - [89339, 0, "p"], - [89340, 0, "e"], - [89341, 0, "r"], - [89342, 0, "a"], - [89343, 0, "t"], - [89344, 0, "i"], - [89345, 0, "o"], - [89346, 0, "n"], - [89347, 0, " "], - [89348, 0, "I"], - [89349, 0, "D"], - [89350, 0, " "], - [89351, 0, "t"], - [89352, 0, "o"], - [89353, 0, " "], - [89354, 0, "v"], - [89355, 0, "a"], - [89356, 0, "l"], - [89357, 0, "u"], - [89358, 0, "e"], - [89359, 0, " "], - [89360, 0, "f"], - [89361, 0, "o"], - [89362, 0, "r"], - [89363, 0, " "], - [89364, 0, "a"], - [89365, 0, " "], - [89366, 0, "r"], - [89367, 0, "e"], - [89368, 0, "g"], - [89369, 0, "i"], - [89370, 0, "s"], - [89371, 0, "t"], - [89372, 0, "e"], - [89373, 0, "r"], - [89374, 0, ","], - [89375, 0, " "], - [89376, 0, "a"], - [89377, 0, "n"], - [89378, 0, "d"], - [89379, 0, " "], - [89380, 0, "t"], - [89381, 0, "h"], - [89382, 0, "e"], - [89383, 0, " "], - [89384, 0, "\\"], - [89385, 0, "t"], - [89386, 0, "e"], - [89387, 0, "x"], - [89388, 0, "t"], - [89389, 0, "s"], - [89390, 0, "c"], - [89391, 0, "{"], - [89392, 0, "D"], - [89393, 0, "e"], - [89394, 0, "s"], - [89395, 0, "c"], - [89396, 0, "e"], - [89397, 0, "n"], - [89398, 0, "d"], - [89399, 0, "}"], - [89400, 0, ","], - [89401, 0, " "], - [89402, 0, "\\"], - [89403, 0, "t"], - [89404, 0, "e"], - [89405, 0, "x"], - [89406, 0, "t"], - [89407, 0, "s"], - [89408, 0, "c"], - [89409, 0, "{"], - [89410, 0, "A"], - [89411, 0, "s"], - [89412, 0, "s"], - [89413, 0, "i"], - [89414, 0, "g"], - [89415, 0, "n"], - [89416, 0, "}"], - [89417, 0, ","], - [89450, 0, "E"], - [89451, 0, "m"], - [89452, 0, "p"], - [89453, 0, "t"], - [89454, 0, "y"], - [89455, 0, "-"], - [89456, 0, "L"], - [89457, 0, "i"], - [89458, 0, "s"], - [89459, 0, "t"], - [89460, 0, "}"], - [89461, 0, " "], - [89462, 0, "r"], - [89463, 0, "u"], - [89464, 0, "l"], - [89465, 0, "e"], - [89466, 0, "s"], - [89467, 0, " "], - [89468, 0, "a"], - [89469, 0, "d"], - [89470, 0, "d"], - [89471, 0, " "], - [89472, 0, "$"], - [89473, 0, "o"], - [89474, 0, "_"], - [89475, 0, "c"], - [89476, 0, "."], - [89477, 0, "\\"], - [89478, 0, "m"], - [89479, 0, "a"], - [89480, 0, "t"], - [89481, 0, "h"], - [89482, 0, "i"], - [89483, 0, "t"], - [89484, 0, "{"], - [89485, 0, "i"], - [89486, 0, "d"], - [89487, 0, "}"], - [89488, 0, "$"], - [89489, 0, " "], - [89490, 0, "t"], - [89491, 0, "o"], - [89492, 0, " "], - [89493, 0, "t"], - [89494, 0, "h"], - [89495, 0, "e"], - [89496, 0, " "], - [89497, 0, "p"], - [89498, 0, "r"], - [89499, 0, "e"], - [89500, 0, "s"], - [89501, 0, "e"], - [89502, 0, "n"], - [89503, 0, "c"], - [89504, 0, "e"], - [89505, 0, " "], - [89506, 0, "s"], - [89507, 0, "e"], - [89508, 0, "t"], - [89509, 0, "s"], - [89510, 0, " "], - [89511, 0, "$"], - [89512, 0, "\\"], - [89513, 0, "m"], - [89514, 0, "a"], - [89515, 0, "t"], - [89516, 0, "h"], - [89517, 0, "s"], - [89518, 0, "f"], - [89519, 0, "{"], - [89520, 0, "p"], - [89521, 0, "r"], - [89522, 0, "e"], - [89523, 0, "s"], - [89524, 0, "}"], - [89525, 0, "("], - [89526, 0, "k"], - [89527, 0, ")"], - [89528, 0, "$"], - [89529, 0, " "], - [89530, 0, "a"], - [89531, 0, "l"], - [89532, 0, "o"], - [89533, 0, "n"], - [89534, 0, "g"], - [89535, 0, " "], - [89536, 0, "t"], - [89537, 0, "h"], - [89538, 0, "e"], - [89539, 0, " "], - [89540, 0, "p"], - [89541, 0, "a"], - [89542, 0, "t"], - [89543, 0, "h"], - [89544, 0, " "], - [89545, 0, "t"], - [89546, 0, "h"], - [89547, 0, "r"], - [89548, 0, "o"], - [89549, 0, "u"], - [89550, 0, "g"], - [89551, 0, "h"], - [89552, 0, " "], - [89553, 0, "t"], - [89554, 0, "h"], - [89555, 0, "e"], - [89556, 0, " "], - [89557, 0, "d"], - [89558, 0, "o"], - [89559, 0, "c"], - [89560, 0, "u"], - [89561, 0, "m"], - [89562, 0, "e"], - [89563, 0, "n"], - [89564, 0, "t"], - [89565, 0, " "], - [89566, 0, "t"], - [89567, 0, "r"], - [89568, 0, "e"], - [89569, 0, "e"], - [89570, 0, " "], - [89571, 0, "d"], - [89572, 0, "e"], - [89573, 0, "s"], - [89574, 0, "c"], - [89575, 0, "r"], - [89576, 0, "i"], - [89577, 0, "b"], - [89578, 0, "e"], - [89579, 0, "d"], - [89580, 0, " "], - [89581, 0, "b"], - [89582, 0, "h"], - [89583, 0, " "], - [89583, 1], - [89582, 1], - [89582, 0, "y"], - [89583, 0, " "], - [89584, 0, "t"], - [89585, 0, "h"], - [89586, 0, "e"], - [89587, 0, " "], - [89588, 0, "c"], - [89589, 0, "u"], - [89590, 0, "r"], - [89591, 0, "s"], - [89592, 0, "o"], - [89593, 0, "r"], - [89594, 0, "."], - [89595, 0, "\n"], - [89596, 0, "\n"], - [89597, 0, "S"], - [89598, 0, "i"], - [89599, 0, "n"], - [89600, 0, "c"], - [89601, 0, "e"], - [89602, 0, " "], - [89603, 0, "$"], - [89604, 0, "o"], - [89605, 0, "_"], - [89606, 0, "c"], - [89607, 0, "$"], - [89608, 0, " "], - [89609, 0, "i"], - [89610, 0, "s"], - [89611, 0, " "], - [89612, 0, "c"], - [89613, 0, "o"], - [89614, 0, "n"], - [89615, 0, "c"], - [89616, 0, "u"], - [89617, 0, "r"], - [89618, 0, "r"], - [89619, 0, "e"], - [89620, 0, "n"], - [89621, 0, "t"], - [89622, 0, " "], - [89623, 0, "w"], - [89624, 0, "i"], - [89625, 0, "t"], - [89626, 0, "h"], - [89627, 0, " "], - [89628, 0, "$"], - [89629, 0, "o"], - [89630, 0, "_"], - [89631, 0, "d"], - [89632, 0, "$"], - [89633, 0, ","], - [89634, 0, " "], - [89635, 0, "w"], - [89636, 0, "e"], - [89637, 0, " "], - [89638, 0, "k"], - [89639, 0, "n"], - [89640, 0, "o"], - [89641, 0, "w"], - [89642, 0, " "], - [89643, 0, "t"], - [89644, 0, "h"], - [89645, 0, "a"], - [89646, 0, "t"], - [89647, 0, " "], - [89648, 0, "$"], - [89649, 0, "o"], - [89650, 0, "_"], - [89651, 0, "c"], - [89652, 0, "."], - [89653, 0, "\\"], - [89654, 0, "m"], - [89655, 0, "a"], - [89656, 0, "t"], - [89657, 0, "h"], - [89658, 0, "i"], - [89659, 0, "t"], - [89660, 0, "{"], - [89661, 0, "i"], - [89662, 0, "d"], - [89663, 0, "}"], - [89664, 0, " "], - [89665, 0, "\\"], - [89666, 0, "n"], - [89667, 0, "o"], - [89668, 0, "t"], - [89669, 0, "i"], - [89670, 0, "n"], - [89671, 0, " "], - [89672, 0, "o"], - [89673, 0, "_"], - [89674, 0, "d"], - [89675, 0, "."], - [89676, 0, "\\"], - [89677, 0, "m"], - [89678, 0, "a"], - [89679, 0, "t"], - [89680, 0, "h"], - [89681, 0, "i"], - [89682, 0, "t"], - [89683, 0, "{"], - [89684, 0, "d"], - [89685, 0, "e"], - [89686, 0, "p"], - [89687, 0, "s"], - [89688, 0, "}"], - [89689, 0, "$"], - [89690, 0, "."], - [89219, 1], - [89218, 1], - [89217, 1], - [89216, 1], - [89215, 1], - [89214, 1], - [89213, 1], - [89212, 1], - [89211, 1], - [89210, 1], - [89209, 1], - [89208, 1], - [89207, 1], - [89206, 1], - [89205, 1], - [89204, 1], - [89203, 1], - [89202, 1], - [89201, 1], - [89200, 1], - [89199, 1], - [89198, 1], - [89197, 1], - [89196, 1], - [89195, 1], - [89194, 1], - [89193, 1], - [89192, 1], - [89191, 1], - [89190, 1], - [89189, 1], - [89188, 1], - [89187, 1], - [89186, 1], - [89185, 1], - [89184, 1], - [89183, 1], - [89182, 1], - [89181, 1], - [89180, 1], - [89179, 1], - [89178, 1], - [89177, 1], - [89176, 1], - [89175, 1], - [89174, 1], - [89173, 1], - [89172, 1], - [89171, 1], - [89170, 1], - [89169, 1], - [89168, 1], - [89167, 1], - [89166, 1], - [89165, 1], - [89164, 1], - [89163, 1], - [89162, 1], - [89161, 1], - [89160, 1], - [89159, 1], - [89158, 1], - [89157, 1], - [89156, 1], - [89155, 1], - [89154, 1], - [89153, 1], - [89152, 1], - [89151, 1], - [89150, 1], - [89149, 1], - [89148, 1], - [89147, 1], - [89146, 1], - [89145, 1], - [89144, 1], - [89143, 1], - [89142, 1], - [89141, 1], - [89140, 1], - [89139, 1], - [89138, 1], - [89137, 1], - [89136, 1], - [89135, 1], - [89134, 1], - [89133, 1], - [89132, 1], - [89131, 1], - [89130, 1], - [89129, 1], - [89128, 1], - [89127, 1], - [89126, 1], - [89125, 1], - [89596, 0, " "], - [89597, 0, "T"], - [89598, 0, "h"], - [89599, 0, "u"], - [89600, 0, "s"], - [89601, 0, ","], - [89602, 0, " "], - [89603, 0, "i"], - [89604, 0, "f"], - [89605, 0, " "], - [89606, 0, "$"], - [89607, 0, "o"], - [89608, 0, "_"], - [89609, 0, "c"], - [89610, 0, "$"], - [89611, 0, " "], - [89612, 0, "i"], - [89613, 0, "s"], - [89614, 0, " "], - [89615, 0, "a"], - [89616, 0, "p"], - [89617, 0, "p"], - [89618, 0, "l"], - [89619, 0, "i"], - [89620, 0, "e"], - [89621, 0, "d"], - [89622, 0, " "], - [89623, 0, "b"], - [89624, 0, "e"], - [89625, 0, "f"], - [89626, 0, "o"], - [89627, 0, "r"], - [89628, 0, "e"], - [89629, 0, " "], - [89630, 0, "$"], - [89631, 0, "o"], - [89632, 0, "_"], - [89633, 0, "d"], - [89634, 0, "$"], - [89635, 0, " "], - [89636, 0, "i"], - [89637, 0, "n"], - [89638, 0, " "], - [89639, 0, "h"], - [89639, 1], - [89639, 0, "t"], - [89640, 0, "h"], - [89641, 0, "e"], - [89642, 0, " "], - [89643, 0, "h"], - [89644, 0, "i"], - [89645, 0, "s"], - [89646, 0, "t"], - [89647, 0, "o"], - [89648, 0, "r"], - [89649, 0, "y"], - [89500, 0, "\n"], - [89501, 0, "\n"], - [89502, 0, "I"], - [89503, 0, "f"], - [89504, 0, " "], - [89505, 0, "$"], - [89506, 0, "o"], - [89507, 0, "_"], - [89508, 0, "c"], - [89509, 0, "$"], - [89510, 0, " "], - [89511, 0, "d"], - [89509, 0, "."], - [89510, 0, "\\"], - [89511, 0, "m"], - [89512, 0, "a"], - [89513, 0, "t"], - [89514, 0, "h"], - [89515, 0, "i"], - [89516, 0, "t"], - [89517, 0, "{"], - [89518, 0, "c"], - [89519, 0, "u"], - [89520, 0, "r"], - [89521, 0, "}"], - [89525, 0, "o"], - [89526, 0, "e"], - [89527, 0, "s"], - [89528, 0, " "], - [89529, 0, "n"], - [89530, 0, "o"], - [89531, 0, "t"], - [89532, 0, " "], - [89533, 0, "f"], - [89534, 0, "a"], - [89535, 0, "l"], - [89536, 0, "l"], - [89537, 0, " "], - [89538, 0, "w"], - [89539, 0, "i"], - [89540, 0, "t"], - [89541, 0, "h"], - [89542, 0, "i"], - [89543, 0, "n"], - [89544, 0, " "], - [89504, 0, " "], - [89504, 1], - [89504, 0, " "], - [89505, 0, "$"], - [89506, 0, "o"], - [89507, 0, "_"], - [89508, 0, "d"], - [89509, 0, "."], - [89510, 0, "\\"], - [89511, 0, "m"], - [89512, 0, "a"], - [89513, 0, "t"], - [89514, 0, "h"], - [89515, 0, "i"], - [89516, 0, "t"], - [89517, 0, "{"], - [89518, 0, "c"], - [89519, 0, "u"], - [89520, 0, "r"], - [89521, 0, "}"], - [89522, 0, "$"], - [89523, 0, " "], - [89524, 0, "i"], - [89525, 0, "s"], - [89526, 0, " "], - [89527, 0, "n"], - [89528, 0, "o"], - [89529, 0, "t"], - [89530, 0, " "], - [89531, 0, "a"], - [89532, 0, " "], - [89533, 0, "p"], - [89534, 0, "r"], - [89535, 0, "e"], - [89536, 0, "f"], - [89537, 0, "i"], - [89538, 0, "x"], - [89539, 0, " "], - [89540, 0, "o"], - [89541, 0, "f"], - [89582, 1], - [89581, 1], - [89580, 1], - [89579, 1], - [89578, 1], - [89577, 1], - [89576, 1], - [89575, 1], - [89574, 1], - [89573, 1], - [89572, 1], - [89571, 1], - [89570, 1], - [89569, 1], - [89568, 1], - [89567, 1], - [89566, 1], - [89565, 1], - [89564, 1], - [89563, 1], - [89562, 1], - [89561, 1], - [89561, 0, ","], - [89562, 0, " "], - [89563, 0, "t"], - [89564, 0, "h"], - [89565, 0, "e"], - [89566, 0, " "], - [89567, 0, "o"], - [89567, 1], - [89567, 0, "o"], - [89568, 0, "p"], - [89569, 0, "e"], - [89570, 0, "r"], - [89571, 0, "a"], - [89572, 0, "t"], - [89573, 0, "i"], - [89574, 0, "o"], - [89575, 0, "n"], - [89576, 0, "s"], - [89577, 0, " "], - [89578, 0, "a"], - [89579, 0, "f"], - [89580, 0, "f"], - [89581, 0, "e"], - [89582, 0, "c"], - [89583, 0, "t"], - [89584, 0, " "], - [89585, 0, "d"], - [89586, 0, "i"], - [89587, 0, "s"], - [89588, 0, "j"], - [89589, 0, "o"], - [89590, 0, "i"], - [89591, 0, "n"], - [89592, 0, "t"], - [89593, 0, " "], - [89594, 0, "s"], - [89595, 0, "u"], - [89596, 0, "b"], - [89597, 0, "t"], - [89598, 0, "r"], - [89599, 0, "e"], - [89600, 0, "e"], - [89601, 0, "s"], - [89602, 0, " "], - [89603, 0, "o"], - [89604, 0, "f"], - [89605, 0, " "], - [89606, 0, "t"], - [89607, 0, "h"], - [89608, 0, "e"], - [89609, 0, " "], - [89610, 0, "d"], - [89611, 0, "o"], - [89612, 0, "c"], - [89613, 0, "u"], - [89614, 0, "m"], - [89615, 0, "e"], - [89616, 0, "n"], - [89617, 0, "t"], - [89618, 0, ","], - [89619, 0, " "], - [89620, 0, "a"], - [89621, 0, "n"], - [89622, 0, "d"], - [89623, 0, " "], - [89624, 0, "s"], - [89625, 0, "o"], - [89626, 0, " "], - [89627, 0, "t"], - [89628, 0, "h"], - [89629, 0, "e"], - [89630, 0, "y"], - [89631, 0, " "], - [89632, 0, "a"], - [89633, 0, "r"], - [89634, 0, "e"], - [89635, 0, " "], - [89636, 0, "t"], - [89637, 0, "r"], - [89638, 0, "i"], - [89639, 0, "v"], - [89640, 0, "i"], - [89641, 0, "a"], - [89642, 0, "l"], - [89643, 0, "l"], - [89644, 0, "y"], - [89645, 0, " "], - [89646, 0, "c"], - [89647, 0, "o"], - [89648, 0, "m"], - [89649, 0, "m"], - [89650, 0, "u"], - [89651, 0, "t"], - [89652, 0, "a"], - [89653, 0, "t"], - [89654, 0, "i"], - [89655, 0, "v"], - [89656, 0, "e"], - [89657, 0, "."], - [89658, 0, " "], - [89659, 0, "F"], - [89660, 0, "o"], - [89661, 0, "r"], - [89662, 0, " "], - [89663, 0, "t"], - [89664, 0, "h"], - [89665, 0, "e"], - [89666, 0, " "], - [89667, 0, "r"], - [89668, 0, "e"], - [89669, 0, "s"], - [89670, 0, "t"], - [89671, 0, " "], - [89672, 0, "o"], - [89673, 0, "f"], - [89674, 0, " "], - [89675, 0, "t"], - [89676, 0, "h"], - [89677, 0, "i"], - [89678, 0, "s"], - [89679, 0, " "], - [89680, 0, "p"], - [89681, 0, "r"], - [89682, 0, "o"], - [89683, 0, "o"], - [89684, 0, "f"], - [89685, 0, " "], - [89685, 1], - [89685, 0, ","], - [89686, 0, " "], - [89687, 0, "w"], - [89688, 0, "e"], - [89689, 0, " "], - [89690, 0, "f"], - [89691, 0, "o"], - [89692, 0, "c"], - [89693, 0, "u"], - [89694, 0, "s"], - [89695, 0, " "], - [89696, 0, "o"], - [89697, 0, "n"], - [89698, 0, " "], - [89699, 0, "t"], - [89700, 0, "h"], - [89701, 0, "e"], - [89702, 0, " "], - [89703, 0, "c"], - [89704, 0, "a"], - [89705, 0, "s"], - [89706, 0, "e"], - [89707, 0, " "], - [89708, 0, "w"], - [89709, 0, "h"], - [89710, 0, "e"], - [89711, 0, "r"], - [89712, 0, "e"], - [89713, 0, " "], - [89714, 0, "$"], - [89715, 0, "o"], - [89716, 0, "_"], - [89717, 0, "d"], - [89718, 0, "."], - [89719, 0, "\\"], - [89720, 0, "m"], - [89721, 0, "a"], - [89722, 0, "t"], - [89723, 0, "h"], - [89724, 0, "i"], - [89725, 0, "t"], - [89726, 0, "{"], - [89727, 0, "c"], - [89728, 0, "u"], - [89729, 0, "r"], - [89730, 0, "}"], - [89731, 0, " "], - [89732, 0, "i"], - [89733, 0, "s"], - [89734, 0, " "], - [89734, 1], - [89733, 1], - [89732, 1], - [89731, 1], - [89731, 0, "$"], - [89732, 0, " "], - [89733, 0, "i"], - [89734, 0, "s"], - [89735, 0, " "], - [89736, 0, "a"], - [89737, 0, " "], - [89738, 0, "p"], - [89739, 0, "r"], - [89740, 0, "e"], - [89741, 0, "f"], - [89742, 0, "i"], - [89743, 0, "x"], - [89744, 0, " "], - [89745, 0, "o"], - [89746, 0, "f"], - [89747, 0, " "], - [89748, 0, "$"], - [89749, 0, "o"], - [89750, 0, "_"], - [89751, 0, "c"], - [89752, 0, "."], - [89753, 0, "\\"], - [89754, 0, "m"], - [89755, 0, "a"], - [89756, 0, "t"], - [89757, 0, "h"], - [89758, 0, "i"], - [89759, 0, "t"], - [89760, 0, "{"], - [89761, 0, "c"], - [89762, 0, "u"], - [89763, 0, "r"], - [89764, 0, "}"], - [89765, 0, "$"], - [89766, 0, "."], - [89917, 0, ","], - [89918, 0, " "], - [89919, 0, "t"], - [89920, 0, "h"], - [89921, 0, "e"], - [89922, 0, " "], - [89923, 0, "\\"], - [89924, 0, "t"], - [89925, 0, "e"], - [89926, 0, "x"], - [89927, 0, "t"], - [89928, 0, "s"], - [89929, 0, "c"], - [89930, 0, "{"], - [89931, 0, "C"], - [89932, 0, "l"], - [89933, 0, "e"], - [89934, 0, "a"], - [89935, 0, "r"], - [89936, 0, "-"], - [89937, 0, "*"], - [89938, 0, "}"], - [89939, 0, " "], - [89940, 0, "r"], - [89941, 0, "u"], - [89942, 0, "l"], - [89943, 0, "e"], - [89944, 0, "s"], - [89945, 0, " "], - [89946, 0, "a"], - [89947, 0, "p"], - [89948, 0, "p"], - [89949, 0, "l"], - [89950, 0, "y"], - [89951, 0, "i"], - [89952, 0, "n"], - [89953, 0, "g"], - [89954, 0, " "], - [89955, 0, "$"], - [89955, 1], - [89954, 1], - [89953, 1], - [89952, 1], - [89951, 1], - [89950, 1], - [89949, 1], - [89948, 1], - [89947, 1], - [89946, 1], - [89946, 0, "e"], - [89947, 0, "v"], - [89948, 0, "a"], - [89949, 0, "l"], - [89950, 0, "u"], - [89951, 0, "a"], - [89952, 0, "t"], - [89953, 0, "i"], - [89954, 0, "n"], - [89955, 0, "g"], - [89956, 0, " "], - [89957, 0, "$"], - [89958, 0, "o"], - [89959, 0, "_"], - [89960, 0, "d"], - [89961, 0, "$"], - [89962, 0, " "], - [89963, 0, "w"], - [89964, 0, "i"], - [89965, 0, "l"], - [89966, 0, "l"], - [89967, 0, " "], - [89968, 0, "l"], - [89969, 0, "e"], - [89970, 0, "a"], - [89971, 0, "v"], - [89972, 0, "e"], - [89973, 0, " "], - [89974, 0, "a"], - [89975, 0, "n"], - [89976, 0, "y"], - [89977, 0, " "], - [89978, 0, "o"], - [89979, 0, "c"], - [89980, 0, "c"], - [89981, 0, "u"], - [89982, 0, "r"], - [89983, 0, "r"], - [89984, 0, "e"], - [89985, 0, "n"], - [89986, 0, "c"], - [89987, 0, "e"], - [89988, 0, "s"], - [89989, 0, " "], - [89990, 0, "o"], - [89991, 0, "f"], - [89992, 0, " "], - [89993, 0, "$"], - [89994, 0, "o"], - [89995, 0, "_"], - [89996, 0, "c"], - [89997, 0, "."], - [89998, 0, "\\"], - [89999, 0, "m"], - [90000, 0, "a"], - [90001, 0, "t"], - [90002, 0, "h"], - [90003, 0, "i"], - [90004, 0, "t"], - [90005, 0, "{"], - [90006, 0, "i"], - [90007, 0, "d"], - [90008, 0, "}"], - [90009, 0, "$"], - [90010, 0, " "], - [90011, 0, "u"], - [90012, 0, "n"], - [90013, 0, "d"], - [90014, 0, "i"], - [90015, 0, "s"], - [90016, 0, "t"], - [90011, 0, "i"], - [90012, 0, "n"], - [90013, 0, " "], - [90014, 0, "t"], - [90015, 0, "h"], - [90016, 0, "e"], - [90017, 0, " "], - [90018, 0, "d"], - [90019, 0, "o"], - [90020, 0, "c"], - [90021, 0, "u"], - [90022, 0, "m"], - [90023, 0, "e"], - [90024, 0, "n"], - [90025, 0, "t"], - [90026, 0, " "], - [90027, 0, "s"], - [90028, 0, "t"], - [90029, 0, "a"], - [90030, 0, "t"], - [90031, 0, "e"], - [90032, 0, " "], - [90039, 0, "u"], - [90040, 0, "r"], - [90041, 0, "b"], - [90042, 0, "e"], - [90043, 0, "d"], - [90044, 0, "."], - [90045, 0, " "], - [90046, 0, "T"], - [90047, 0, "h"], - [90048, 0, "e"], - [90049, 0, " "], - [90050, 0, "e"], - [90051, 0, "f"], - [90052, 0, "f"], - [90053, 0, "e"], - [90054, 0, "c"], - [90055, 0, "t"], - [90056, 0, " "], - [90057, 0, "o"], - [90058, 0, "f"], - [90059, 0, " "], - [90060, 0, "o"], - [90061, 0, "f"], - [90062, 0, " "], - [90063, 0, "a"], - [90064, 0, "p"], - [90065, 0, "p"], - [90065, 1], - [90064, 1], - [90063, 1], - [90062, 1], - [90061, 1], - [90060, 1], - [90060, 0, "a"], - [90061, 0, "p"], - [90062, 0, "p"], - [90063, 0, "l"], - [90064, 0, "y"], - [90065, 0, "i"], - [90066, 0, "n"], - [90067, 0, "g"], - [90068, 0, " "], - [89966, 1], - [89965, 1], - [89965, 0, "l"], - [89966, 0, "l"], - [90069, 0, "$"], - [90070, 0, "o"], - [90071, 0, "_"], - [90072, 0, "c"], - [90073, 0, "$"], - [90074, 0, " "], - [90075, 0, "b"], - [90076, 0, "e"], - [90077, 0, "f"], - [90078, 0, "o"], - [90079, 0, "r"], - [90080, 0, "e"], - [90081, 0, " "], - [90082, 0, "$"], - [90083, 0, "o"], - [90084, 0, "_"], - [90085, 0, "d"], - [90086, 0, "$"], - [90087, 0, " "], - [90088, 0, "i"], - [90089, 0, "s"], - [90090, 0, " "], - [90091, 0, "t"], - [90092, 0, "h"], - [90093, 0, "u"], - [90094, 0, "s"], - [90095, 0, " "], - [90096, 0, "t"], - [90097, 0, "h"], - [90098, 0, "e"], - [90099, 0, " "], - [90100, 0, "s"], - [90101, 0, "a"], - [90102, 0, "m"], - [90103, 0, "e"], - [90104, 0, " "], - [90105, 0, "a"], - [90106, 0, "s"], - [90107, 0, " "], - [90108, 0, "a"], - [90109, 0, "p"], - [90110, 0, "p"], - [90111, 0, "l"], - [90112, 0, "y"], - [90113, 0, "i"], - [90114, 0, "n"], - [90115, 0, "g"], - [90116, 0, " "], - [90117, 0, "$"], - [90118, 0, "o"], - [90119, 0, "_"], - [90120, 0, "d"], - [90121, 0, "$"], - [90122, 0, " "], - [90123, 0, "b"], - [90124, 0, "e"], - [90125, 0, "f"], - [90126, 0, "o"], - [90127, 0, "r"], - [90128, 0, "e"], - [90129, 0, " "], - [90130, 0, "$"], - [90131, 0, "o"], - [90132, 0, "_"], - [90133, 0, "c"], - [90134, 0, "$"], - [90135, 0, ","], - [90136, 0, " "], - [90137, 0, "s"], - [90138, 0, "o"], - [90139, 0, " "], - [90140, 0, "t"], - [90141, 0, "h"], - [90142, 0, "e"], - [90143, 0, " "], - [90144, 0, "o"], - [90145, 0, "p"], - [90146, 0, "e"], - [90147, 0, "r"], - [90148, 0, "a"], - [90149, 0, "t"], - [90150, 0, "i"], - [90151, 0, "o"], - [90152, 0, "n"], - [90153, 0, "s"], - [90154, 0, " "], - [90155, 0, "c"], - [90156, 0, "o"], - [90157, 0, "m"], - [90158, 0, "m"], - [90159, 0, "u"], - [90160, 0, "t"], - [90161, 0, "e"], - [90162, 0, "."], - [89867, 1], - [89866, 1], - [89866, 0, "e"], - [89867, 0, "r"], - [89868, 0, "e"], - [89869, 0, "f"], - [89870, 0, "o"], - [89871, 0, "r"], - [89872, 0, "e"], - [90049, 0, ","], - [90050, 0, " "], - [90051, 0, "w"], - [90052, 0, "h"], - [90053, 0, "i"], - [90054, 0, "l"], - [90055, 0, "e"], - [90056, 0, " "], - [90057, 0, "r"], - [90058, 0, "e"], - [90059, 0, "m"], - [90060, 0, "o"], - [90061, 0, "v"], - [90062, 0, "i"], - [90063, 0, "n"], - [90064, 0, "g"], - [90065, 0, " "], - [90066, 0, "a"], - [90067, 0, "n"], - [90068, 0, "y"], - [90069, 0, " "], - [90070, 0, "o"], - [90071, 0, "c"], - [90072, 0, "c"], - [90073, 0, "u"], - [90074, 0, "r"], - [90075, 0, "r"], - [90076, 0, "e"], - [90077, 0, "n"], - [90078, 0, "c"], - [90079, 0, "e"], - [90080, 0, "s"], - [90081, 0, " "], - [90082, 0, "o"], - [90083, 0, "f"], - [90084, 0, " "], - [90085, 0, "o"], - [90086, 0, "p"], - [90087, 0, "e"], - [90088, 0, "r"], - [90089, 0, "a"], - [90090, 0, "t"], - [90091, 0, "i"], - [90092, 0, "o"], - [90093, 0, "n"], - [90094, 0, "s"], - [90095, 0, " "], - [90096, 0, "i"], - [90097, 0, "n"], - [90098, 0, " "], - [90099, 0, "$"], - [90100, 0, "o"], - [90101, 0, "_"], - [90102, 0, "d"], - [90103, 0, "."], - [90104, 0, "\\"], - [90105, 0, "m"], - [90106, 0, "a"], - [90107, 0, "t"], - [90108, 0, "h"], - [90109, 0, "i"], - [90110, 0, "t"], - [90111, 0, "{"], - [90112, 0, "d"], - [90113, 0, "e"], - [90114, 0, "p"], - [90115, 0, "s"], - [90116, 0, "}"], - [90117, 0, "$"], - [89658, 0, " "], - [89659, 0, "A"], - [89660, 0, "n"], - [89661, 0, "y"], - [89662, 0, " "], - [89663, 0, "s"], - [89664, 0, "t"], - [89665, 0, "a"], - [89666, 0, "t"], - [89667, 0, "e"], - [89668, 0, " "], - [89669, 0, "c"], - [89670, 0, "h"], - [89671, 0, "a"], - [89672, 0, "n"], - [89673, 0, "g"], - [89674, 0, "e"], - [89675, 0, "s"], - [89676, 0, " "], - [89677, 0, "b"], - [89678, 0, "y"], - [89679, 0, " "], - [89680, 0, "\\"], - [89681, 0, "t"], - [89682, 0, "e"], - [89683, 0, "x"], - [89684, 0, "t"], - [89685, 0, "s"], - [89686, 0, "c"], - [89687, 0, "{"], - [89688, 0, "D"], - [89689, 0, "e"], - [89690, 0, "s"], - [89691, 0, "c"], - [89692, 0, "e"], - [89693, 0, "n"], - [89694, 0, "d"], - [89695, 0, "}"], - [89696, 0, " "], - [89697, 0, "a"], - [89698, 0, "n"], - [89699, 0, "d"], - [89700, 0, " "], - [89701, 0, "$"], - [89702, 0, "\\"], - [89703, 0, "t"], - [89704, 0, "e"], - [89705, 0, "x"], - [89706, 0, "t"], - [89707, 0, "s"], - [89708, 0, "c"], - [89709, 0, "{"], - [89710, 0, "A"], - [89711, 0, "d"], - [89712, 0, "d"], - [89713, 0, "-"], - [89714, 0, "I"], - [89715, 0, "D"], - [89716, 0, "}"], - [89717, 0, "_"], - [89718, 0, "1"], - [89719, 0, "$"], - [89720, 0, " "], - [89721, 0, "a"], - [89722, 0, "l"], - [89723, 0, "o"], - [89724, 0, "n"], - [89725, 0, "g"], - [89726, 0, " "], - [89727, 0, "t"], - [89728, 0, "h"], - [89729, 0, "e"], - [89730, 0, " "], - [89731, 0, "s"], - [89732, 0, "h"], - [89732, 1], - [89731, 1], - [89731, 0, "s"], - [89732, 0, "h"], - [89733, 0, "a"], - [89734, 0, "r"], - [89735, 0, "e"], - [89736, 0, "d"], - [89737, 0, " "], - [89738, 0, "p"], - [89739, 0, "a"], - [89740, 0, "r"], - [89741, 0, "t"], - [89742, 0, " "], - [89743, 0, "o"], - [89744, 0, "f"], - [89745, 0, " "], - [89746, 0, "t"], - [89747, 0, "h"], - [89748, 0, "e"], - [89749, 0, " "], - [89750, 0, "c"], - [89751, 0, "u"], - [89752, 0, "r"], - [89753, 0, "s"], - [89754, 0, "o"], - [89755, 0, "r"], - [89756, 0, " "], - [89757, 0, "p"], - [89758, 0, "a"], - [89759, 0, "t"], - [89760, 0, "h"], - [89761, 0, " "], - [89762, 0, "a"], - [89763, 0, "r"], - [89764, 0, "e"], - [89765, 0, " "], - [89766, 0, "a"], - [89767, 0, "p"], - [89768, 0, "p"], - [89769, 0, "l"], - [89770, 0, "i"], - [89771, 0, "e"], - [89772, 0, "d"], - [89773, 0, " "], - [89774, 0, "u"], - [89775, 0, "s"], - [89776, 0, "i"], - [89777, 0, "n"], - [89778, 0, "g"], - [89779, 0, " "], - [89780, 0, "t"], - [89781, 0, "h"], - [89782, 0, "e"], - [89783, 0, " "], - [89784, 0, "s"], - [89785, 0, "e"], - [89786, 0, "t"], - [89787, 0, " "], - [89788, 0, "u"], - [89789, 0, "n"], - [89790, 0, "i"], - [89791, 0, "o"], - [89792, 0, "n"], - [89793, 0, " "], - [89794, 0, "o"], - [89795, 0, "p"], - [89796, 0, "e"], - [89797, 0, "r"], - [89798, 0, "a"], - [89799, 0, "t"], - [89800, 0, "o"], - [89801, 0, "r"], - [89802, 0, " "], - [89803, 0, "$"], - [89804, 0, "\\"], - [89805, 0, "c"], - [89806, 0, "u"], - [89807, 0, "p"], - [89808, 0, "$"], - [89809, 0, ","], - [89810, 0, " "], - [89811, 0, "w"], - [89812, 0, "h"], - [89813, 0, "i"], - [89814, 0, "c"], - [89815, 0, "h"], - [89816, 0, " "], - [89817, 0, "i"], - [89818, 0, "s"], - [89819, 0, " "], - [89820, 0, "c"], - [89821, 0, "o"], - [89822, 0, "m"], - [89823, 0, "m"], - [89824, 0, "u"], - [89825, 0, "t"], - [89826, 0, "a"], - [89827, 0, "t"], - [89828, 0, "i"], - [89829, 0, "v"], - [89830, 0, "e"], - [89831, 0, "."], - [89832, 0, "\n"], - [89833, 0, "\n"], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 1], - [89834, 0, "N"], - [89835, 0, "o"], - [89836, 0, "w"], - [89837, 0, " "], - [89838, 0, "c"], - [89839, 0, "o"], - [89840, 0, "n"], - [89841, 0, "s"], - [89842, 0, "i"], - [89843, 0, "d"], - [89844, 0, "e"], - [89845, 0, "r"], - [89916, 1], - [89915, 1], - [89915, 0, " "], - [90266, 1], - [90266, 0, "\n"], - [90267, 0, "\n"], - [90266, 0, "\n"], - [90267, 0, "\n"], - [90268, 0, "I"], - [90269, 0, "f"], - [90270, 0, " "], - [90271, 0, "$"], - [90272, 0, "o"], - [90273, 0, "_"], - [90274, 0, "c"], - [90275, 0, "$"], - [90276, 0, " "], - [90277, 0, "i"], - [90278, 0, "s"], - [90279, 0, " "], - [90280, 0, "a"], - [90281, 0, "p"], - [90282, 0, "p"], - [90283, 0, "l"], - [90284, 0, "i"], - [90285, 0, "e"], - [90286, 0, "d"], - [90287, 0, " "], - [90288, 0, "a"], - [90289, 0, "f"], - [90290, 0, "t"], - [90291, 0, "e"], - [90292, 0, "r"], - [90293, 0, " "], - [90294, 0, "$"], - [90295, 0, "o"], - [90296, 0, "_"], - [90297, 0, "d"], - [90298, 0, "$"], - [90299, 0, ","], - [90300, 0, " "], - [90274, 1], - [90274, 0, "d"], - [90292, 1], - [90291, 1], - [90290, 1], - [90289, 1], - [90288, 1], - [90288, 0, "b"], - [90289, 0, "e"], - [90290, 0, "f"], - [90291, 0, "o"], - [90292, 0, "r"], - [90293, 0, "e"], - [90298, 1], - [90298, 0, "c"], - [90302, 0, "t"], - [90303, 0, "h"], - [90304, 0, "e"], - [90305, 0, " "], - [90306, 0, "e"], - [90307, 0, "f"], - [90308, 0, "f"], - [90309, 0, "e"], - [90310, 0, "c"], - [90311, 0, "t"], - [90312, 0, " "], - [90313, 0, "o"], - [90314, 0, "n"], - [90315, 0, " "], - [90316, 0, "p"], - [90317, 0, "r"], - [90318, 0, "e"], - [90319, 0, "s"], - [90320, 0, "e"], - [90321, 0, "n"], - [90322, 0, "c"], - [90323, 0, "e"], - [90324, 0, " "], - [90325, 0, "s"], - [90326, 0, "e"], - [90327, 0, "t"], - [90328, 0, "s"], - [90329, 0, " "], - [90330, 0, "a"], - [90331, 0, "n"], - [90332, 0, "d"], - [90333, 0, " "], - [90334, 0, "r"], - [90335, 0, "e"], - [90336, 0, "g"], - [90337, 0, "i"], - [90338, 0, "s"], - [90339, 0, "t"], - [90340, 0, "e"], - [90341, 0, "r"], - [90342, 0, "s"], - [90343, 0, " "], - [90344, 0, "i"], - [90345, 0, "s"], - [90346, 0, " "], - [90347, 0, "t"], - [90348, 0, "h"], - [90349, 0, "e"], - [90350, 0, " "], - [90351, 0, "s"], - [90352, 0, "a"], - [90353, 0, "m"], - [90354, 0, "e"], - [90355, 0, " "], - [90356, 0, "a"], - [90357, 0, "s"], - [90358, 0, " "], - [90359, 0, "i"], - [90360, 0, "f"], - [90361, 0, " "], - [90362, 0, "t"], - [90363, 0, "h"], - [90364, 0, "e"], - [90365, 0, "y"], - [90366, 0, " "], - [90367, 0, "h"], - [90368, 0, "a"], - [90369, 0, "d"], - [90370, 0, " "], - [90371, 0, "b"], - [90372, 0, "e"], - [90373, 0, "e"], - [90374, 0, "n"], - [90375, 0, " "], - [90376, 0, "e"], - [90377, 0, "x"], - [90378, 0, "e"], - [90379, 0, "c"], - [90380, 0, "u"], - [90381, 0, "t"], - [90382, 0, "e"], - [90382, 1], - [90381, 1], - [90380, 1], - [90379, 1], - [90378, 1], - [90377, 1], - [90376, 1], - [90376, 0, "a"], - [90377, 0, "p"], - [90378, 0, "p"], - [90379, 0, "l"], - [90380, 0, "i"], - [90381, 0, "e"], - [90382, 0, "d"], - [90383, 0, " "], - [90384, 0, "i"], - [90385, 0, "n"], - [90386, 0, " "], - [90387, 0, "t"], - [90388, 0, "h"], - [90389, 0, "e"], - [90390, 0, " "], - [90391, 0, "r"], - [90392, 0, "e"], - [90393, 0, "v"], - [90394, 0, "e"], - [90395, 0, "r"], - [90396, 0, "s"], - [90397, 0, "e"], - [90398, 0, " "], - [90399, 0, "o"], - [90400, 0, "r"], - [90401, 0, "d"], - [90402, 0, "e"], - [90403, 0, "r"], - [90404, 0, ","], - [90405, 0, " "], - [90406, 0, "d"], - [90407, 0, "u"], - [90408, 0, "e"], - [90409, 0, " "], - [90410, 0, "t"], - [90411, 0, "o"], - [90412, 0, " "], - [90413, 0, "t"], - [90414, 0, "h"], - [90415, 0, "e"], - [90416, 0, " "], - [90416, 1], - [90415, 1], - [90414, 1], - [90413, 1], - [90412, 1], - [90411, 1], - [90410, 1], - [90409, 1], - [90408, 1], - [90407, 1], - [90406, 1], - [90405, 1], - [90404, 1], - [90403, 1], - [90403, 0, "r"], - [90404, 0, "."], - [90405, 0, " "], - [90406, 0, "M"], - [90407, 0, "o"], - [90408, 0, "r"], - [90409, 0, "e"], - [90410, 0, "o"], - [90411, 0, "v"], - [90412, 0, "e"], - [90413, 0, "r"], - [90414, 0, " "], - [90414, 1], - [90414, 0, ","], - [90415, 0, " "], - [90416, 0, "$"], - [90417, 0, "o"], - [90418, 0, "_"], - [90419, 0, "c"], - [90420, 0, "$"], - [90421, 0, " "], - [90422, 0, "i"], - [90423, 0, "s"], - [90424, 0, " "], - [90425, 0, "s"], - [90426, 0, "t"], - [90427, 0, "i"], - [90428, 0, "l"], - [90429, 0, "l"], - [90430, 0, " "], - [90431, 0, "a"], - [90432, 0, "b"], - [90433, 0, "l"], - [90434, 0, "e"], - [90435, 0, " "], - [90436, 0, "t"], - [90437, 0, "o"], - [90438, 0, " "], - [90439, 0, "e"], - [90440, 0, "x"], - [90441, 0, "e"], - [90442, 0, "c"], - [90443, 0, "u"], - [90444, 0, "t"], - [90445, 0, "e"], - [90445, 1], - [90444, 1], - [90443, 1], - [90442, 1], - [90441, 1], - [90440, 1], - [90439, 1], - [90438, 1], - [90437, 1], - [90436, 1], - [90435, 1], - [90434, 1], - [90433, 1], - [90432, 1], - [90431, 1], - [90430, 1], - [90429, 1], - [90428, 1], - [90427, 1], - [90426, 1], - [90425, 1], - [90424, 1], - [90423, 1], - [90422, 1], - [90422, 0, "a"], - [90423, 0, "p"], - [90424, 0, "p"], - [90425, 0, "l"], - [90426, 0, "i"], - [90427, 0, "e"], - [90428, 0, "s"], - [90429, 0, " "], - [90430, 0, "i"], - [90431, 0, "n"], - [90432, 0, " "], - [90433, 0, "t"], - [90434, 0, "h"], - [90435, 0, "e"], - [90436, 0, " "], - [90437, 0, "s"], - [90438, 0, "a"], - [90439, 0, "m"], - [90440, 0, "e"], - [90441, 0, " "], - [90442, 0, "w"], - [90443, 0, "a"], - [90444, 0, "s"], - [90444, 1], - [90444, 0, "y"], - [90445, 0, " "], - [90446, 0, "a"], - [90447, 0, "s"], - [90448, 0, " "], - [90449, 0, "i"], - [90450, 0, "f"], - [90451, 0, " "], - [90452, 0, "$"], - [90453, 0, "o"], - [90454, 0, "_"], - [90455, 0, "d"], - [90456, 0, "$"], - [90457, 0, " "], - [90458, 0, "h"], - [90459, 0, "a"], - [90460, 0, "d"], - [90461, 0, " "], - [90462, 0, "n"], - [90463, 0, "o"], - [90464, 0, "t"], - [90465, 0, " "], - [90466, 0, "b"], - [90467, 0, "e"], - [90468, 0, "e"], - [90469, 0, "n"], - [90470, 0, " "], - [90471, 0, "a"], - [90472, 0, "p"], - [90473, 0, "p"], - [90474, 0, "l"], - [90475, 0, "i"], - [90476, 0, "e"], - [90477, 0, "d"], - [90478, 0, " "], - [90479, 0, "p"], - [90480, 0, "r"], - [90481, 0, "e"], - [90482, 0, "v"], - [90483, 0, "i"], - [90484, 0, "o"], - [90485, 0, "u"], - [90486, 0, "s"], - [90487, 0, "l"], - [90488, 0, "y"], - [90489, 0, ","], - [90490, 0, " "], - [90491, 0, "b"], - [90492, 0, "e"], - [90493, 0, "c"], - [90494, 0, "a"], - [90495, 0, "u"], - [90496, 0, "s"], - [90497, 0, "e"], - [90498, 0, " "], - [90499, 0, "$"], - [90500, 0, "o"], - [90501, 0, "_"], - [90502, 0, "d"], - [90503, 0, "$"], - [90504, 0, " "], - [90504, 1], - [90503, 1], - [90502, 1], - [90501, 1], - [90500, 1], - [90499, 1], - [90499, 0, "a"], - [90500, 0, " "], - [90500, 1], - [90499, 1], - [90499, 0, "$"], - [90500, 0, "o"], - [90501, 0, "_"], - [90502, 0, "d"], - [90503, 0, "$"], - [90504, 0, " "], - [90504, 1], - [90503, 1], - [90502, 1], - [90501, 1], - [90500, 1], - [90499, 1], - [90499, 0, "a"], - [90500, 0, "p"], - [90501, 0, "p"], - [90502, 0, "l"], - [90503, 0, "y"], - [90504, 0, "i"], - [90505, 0, "n"], - [90506, 0, "g"], - [90507, 0, " "], - [90508, 0, "a"], - [90509, 0, " "], - [90510, 0, "d"], - [90511, 0, "e"], - [90512, 0, "l"], - [90513, 0, "e"], - [90514, 0, "t"], - [90515, 0, "i"], - [90516, 0, "o"], - [90517, 0, "n"], - [90518, 0, " "], - [90519, 0, "o"], - [90520, 0, "n"], - [90521, 0, "l"], - [90522, 0, "y"], - [90523, 0, " "], - [90524, 0, "m"], - [90525, 0, "o"], - [90526, 0, "d"], - [90527, 0, "i"], - [90528, 0, "f"], - [90529, 0, "i"], - [90530, 0, "e"], - [90531, 0, "s"], - [90532, 0, " "], - [90533, 0, "p"], - [90534, 0, "r"], - [90535, 0, "e"], - [90536, 0, "s"], - [90537, 0, "e"], - [90538, 0, "n"], - [90539, 0, "c"], - [90540, 0, "e"], - [90541, 0, " "], - [90542, 0, "s"], - [90543, 0, "e"], - [90544, 0, "t"], - [90545, 0, "s"], - [90546, 0, " "], - [90547, 0, "a"], - [90548, 0, "n"], - [90549, 0, "d"], - [90550, 0, " "], - [90551, 0, "r"], - [90552, 0, "e"], - [90553, 0, "g"], - [90554, 0, "i"], - [90555, 0, "s"], - [90556, 0, "t"], - [90557, 0, "e"], - [90558, 0, "r"], - [90559, 0, "s"], - [90560, 0, ","], - [90561, 0, " "], - [90562, 0, "b"], - [90563, 0, "u"], - [90564, 0, "t"], - [90565, 0, " "], - [90566, 0, "d"], - [90567, 0, "o"], - [90568, 0, "e"], - [90569, 0, "s"], - [90570, 0, " "], - [90571, 0, "n"], - [90572, 0, "o"], - [90573, 0, "t"], - [90574, 0, " "], - [90575, 0, "a"], - [90576, 0, "c"], - [90577, 0, "t"], - [90578, 0, "u"], - [90579, 0, "a"], - [90580, 0, "l"], - [90581, 0, "l"], - [90582, 0, "y"], - [90583, 0, " "], - [90584, 0, "r"], - [90585, 0, "e"], - [90586, 0, "m"], - [90587, 0, "o"], - [90588, 0, "v"], - [90589, 0, "e"], - [90590, 0, " "], - [90591, 0, "a"], - [90592, 0, "n"], - [90593, 0, "y"], - [90594, 0, " "], - [90595, 0, "m"], - [90596, 0, "a"], - [90597, 0, "p"], - [90598, 0, " "], - [90599, 0, "k"], - [90600, 0, "e"], - [90601, 0, "y"], - [90602, 0, "s"], - [90603, 0, " "], - [90604, 0, "o"], - [90605, 0, "r"], - [90606, 0, " "], - [90607, 0, "l"], - [90608, 0, "i"], - [90609, 0, "s"], - [90610, 0, "t"], - [90611, 0, " "], - [90612, 0, "i"], - [90613, 0, "t"], - [90614, 0, "e"], - [90615, 0, "m"], - [90616, 0, "s"], - [90616, 1], - [90615, 1], - [90614, 1], - [90613, 1], - [90612, 1], - [90612, 0, "e"], - [90613, 0, "l"], - [90614, 0, "e"], - [90615, 0, "m"], - [90616, 0, "e"], - [90617, 0, "n"], - [90618, 0, "t"], - [90619, 0, "s"], - [90620, 0, "."], - [90620, 0, ","], - [90621, 0, " "], - [90622, 0, "a"], - [90623, 0, "n"], - [90624, 0, "d"], - [90625, 0, " "], - [90626, 0, "b"], - [90627, 0, "e"], - [90628, 0, "c"], - [90629, 0, "a"], - [90630, 0, "u"], - [90631, 0, "s"], - [90632, 0, "e"], - [90633, 0, " "], - [90634, 0, "t"], - [90635, 0, "h"], - [90636, 0, "e"], - [90637, 0, " "], - [90638, 0, "r"], - [90639, 0, "u"], - [90640, 0, "l"], - [90641, 0, "e"], - [90642, 0, "s"], - [90643, 0, " "], - [90644, 0, "f"], - [90645, 0, "o"], - [90646, 0, "r"], - [90647, 0, " "], - [90648, 0, "a"], - [90649, 0, "p"], - [90650, 0, "p"], - [90651, 0, "l"], - [90652, 0, "y"], - [90653, 0, "i"], - [90654, 0, "n"], - [90655, 0, "g"], - [90656, 0, " "], - [90657, 0, "a"], - [90658, 0, "n"], - [90659, 0, " "], - [90660, 0, "o"], - [90661, 0, "p"], - [90662, 0, "e"], - [90663, 0, "r"], - [90664, 0, "a"], - [90665, 0, "t"], - [90666, 0, "i"], - [90667, 0, "o"], - [90668, 0, "n"], - [90669, 0, " "], - [90670, 0, "a"], - [90671, 0, "r"], - [90672, 0, "e"], - [90673, 0, " "], - [90674, 0, "n"], - [90675, 0, "o"], - [90676, 0, "t"], - [90677, 0, " "], - [90678, 0, "c"], - [90679, 0, "o"], - [90680, 0, "n"], - [90681, 0, "d"], - [90682, 0, "i"], - [90683, 0, "t"], - [90684, 0, "i"], - [90685, 0, "o"], - [90686, 0, "n"], - [90687, 0, "a"], - [90688, 0, "l"], - [90689, 0, " "], - [90690, 0, "o"], - [90691, 0, "n"], - [90692, 0, " "], - [90693, 0, "t"], - [90694, 0, "h"], - [90695, 0, "e"], - [90696, 0, " "], - [90697, 0, "p"], - [90698, 0, "r"], - [90699, 0, "e"], - [90700, 0, "v"], - [90701, 0, "i"], - [90702, 0, "o"], - [90703, 0, "u"], - [90704, 0, "s"], - [90705, 0, " "], - [90706, 0, "c"], - [90707, 0, "o"], - [90708, 0, "n"], - [90709, 0, "t"], - [90710, 0, "e"], - [90711, 0, "n"], - [90712, 0, "t"], - [90713, 0, " "], - [90714, 0, "o"], - [90715, 0, "f"], - [90716, 0, " "], - [90717, 0, "p"], - [90718, 0, "r"], - [90719, 0, "e"], - [90720, 0, "s"], - [90721, 0, "e"], - [90722, 0, "n"], - [90723, 0, "c"], - [90724, 0, "e"], - [90725, 0, " "], - [90726, 0, "s"], - [90727, 0, "e"], - [90728, 0, "t"], - [90729, 0, "s"], - [90730, 0, " "], - [90731, 0, "a"], - [90732, 0, "n"], - [90733, 0, "d"], - [90734, 0, " "], - [90735, 0, "r"], - [90736, 0, "e"], - [90737, 0, "g"], - [90738, 0, "i"], - [90739, 0, "s"], - [90740, 0, "t"], - [90741, 0, "e"], - [90742, 0, "r"], - [90743, 0, "s"], - [90573, 1], - [90572, 1], - [90571, 1], - [90570, 1], - [90569, 1], - [90568, 1], - [90567, 1], - [90566, 1], - [90565, 1], - [90564, 1], - [90563, 1], - [90562, 1], - [90562, 0, "w"], - [90563, 0, "i"], - [90564, 0, "t"], - [90565, 0, "h"], - [90566, 0, "o"], - [90567, 0, "u"], - [90568, 0, "t"], - [90584, 1], - [90584, 0, "i"], - [90585, 0, "n"], - [90586, 0, "g"], - [90587, 1], - [90587, 1], - [90587, 1], - [90587, 1], - [90740, 0, "T"], - [90741, 0, "h"], - [90742, 0, "u"], - [90743, 0, "s"], - [90744, 0, ","], - [90745, 0, " "], - [90746, 1], - [90746, 0, "t"], - [90790, 1], - [90790, 1], - [90790, 1], - [90790, 1], - [90790, 1], - [93202, 1], - [93201, 1], - [93200, 1], - [93199, 1], - [93198, 1], - [93197, 1], - [93196, 1], - [93195, 1], - [93194, 1], - [93193, 1], - [93192, 1], - [93191, 1], - [93190, 1], - [93189, 1], - [93188, 1], - [93187, 1], - [93186, 1], - [93185, 1], - [93184, 1], - [93183, 1], - [93182, 1], - [93181, 1], - [93180, 1], - [93179, 1], - [93178, 1], - [93177, 1], - [93176, 1], - [93175, 1], - [93174, 1], - [93173, 1], - [93172, 1], - [93171, 1], - [93170, 1], - [93169, 1], - [93168, 1], - [93167, 1], - [93166, 1], - [93165, 1], - [93164, 1], - [93163, 1], - [93162, 1], - [93161, 1], - [93160, 1], - [93159, 1], - [93158, 1], - [93157, 1], - [93156, 1], - [93155, 1], - [93154, 1], - [93153, 1], - [93152, 1], - [93151, 1], - [93150, 1], - [93149, 1], - [93148, 1], - [93147, 1], - [93146, 1], - [93145, 1], - [93144, 1], - [93143, 1], - [93142, 1], - [93141, 1], - [93140, 1], - [93139, 1], - [93138, 1], - [93137, 1], - [93136, 1], - [93135, 1], - [93134, 1], - [93133, 1], - [93132, 1], - [93131, 1], - [93130, 1], - [93129, 1], - [93128, 1], - [93127, 1], - [93126, 1], - [93125, 1], - [93124, 1], - [93123, 1], - [93122, 1], - [93121, 1], - [93120, 1], - [93119, 1], - [93118, 1], - [93117, 1], - [93116, 1], - [93115, 1], - [93114, 1], - [93113, 1], - [93112, 1], - [93111, 1], - [93110, 1], - [93109, 1], - [93108, 1], - [93107, 1], - [93106, 1], - [93105, 1], - [93104, 1], - [93103, 1], - [93102, 1], - [93101, 1], - [93100, 1], - [93099, 1], - [93098, 1], - [93097, 1], - [93096, 1], - [93095, 1], - [93094, 1], - [93093, 1], - [93092, 1], - [93091, 1], - [93090, 1], - [93089, 1], - [93088, 1], - [93087, 1], - [93086, 1], - [93085, 1], - [93084, 1], - [93083, 1], - [93082, 1], - [93081, 1], - [93080, 1], - [93079, 1], - [93078, 1], - [93077, 1], - [93076, 1], - [93075, 1], - [93074, 1], - [93073, 1], - [93072, 1], - [93071, 1], - [93070, 1], - [93069, 1], - [93068, 1], - [93067, 1], - [93066, 1], - [93065, 1], - [93064, 1], - [93063, 1], - [93062, 1], - [93061, 1], - [93060, 1], - [93059, 1], - [93058, 1], - [93057, 1], - [93056, 1], - [93055, 1], - [93054, 1], - [93053, 1], - [93052, 1], - [93051, 1], - [93050, 1], - [93049, 1], - [93048, 1], - [93047, 1], - [93046, 1], - [93045, 1], - [93044, 1], - [93043, 1], - [93042, 1], - [93041, 1], - [93040, 1], - [93039, 1], - [93038, 1], - [93037, 1], - [93036, 1], - [93035, 1], - [93034, 1], - [93033, 1], - [93032, 1], - [93031, 1], - [93030, 1], - [93029, 1], - [93028, 1], - [93027, 1], - [93026, 1], - [93025, 1], - [93024, 1], - [93023, 1], - [93022, 1], - [93021, 1], - [93020, 1], - [93019, 1], - [93018, 1], - [93017, 1], - [93016, 1], - [93015, 1], - [93014, 1], - [93013, 1], - [93012, 1], - [93011, 1], - [93010, 1], - [93009, 1], - [93008, 1], - [93007, 1], - [93006, 1], - [93005, 1], - [93004, 1], - [93003, 1], - [93002, 1], - [93001, 1], - [93000, 1], - [92999, 1], - [92998, 1], - [92997, 1], - [92996, 1], - [92995, 1], - [92994, 1], - [92993, 1], - [92992, 1], - [92991, 1], - [92990, 1], - [92989, 1], - [92988, 1], - [92987, 1], - [92986, 1], - [92985, 1], - [92984, 1], - [92983, 1], - [92982, 1], - [92981, 1], - [92980, 1], - [92979, 1], - [92978, 1], - [92977, 1], - [92976, 1], - [92975, 1], - [92974, 1], - [92973, 1], - [92972, 1], - [92971, 1], - [92970, 1], - [92969, 1], - [92968, 1], - [92967, 1], - [92966, 1], - [92965, 1], - [92964, 1], - [92963, 1], - [92962, 1], - [92961, 1], - [92960, 1], - [92959, 1], - [92958, 1], - [92957, 1], - [92956, 1], - [92955, 1], - [92954, 1], - [92953, 1], - [92952, 1], - [92951, 1], - [92950, 1], - [92949, 1], - [92948, 1], - [92947, 1], - [92946, 1], - [92945, 1], - [92944, 1], - [92943, 1], - [92942, 1], - [92941, 1], - [92940, 1], - [92939, 1], - [92938, 1], - [92937, 1], - [92936, 1], - [92935, 1], - [92934, 1], - [92933, 1], - [92932, 1], - [92931, 1], - [92930, 1], - [92929, 1], - [92928, 1], - [92927, 1], - [92926, 1], - [92925, 1], - [92924, 1], - [92923, 1], - [92922, 1], - [92921, 1], - [92920, 1], - [92919, 1], - [92918, 1], - [92917, 1], - [92916, 1], - [92915, 1], - [92914, 1], - [92913, 1], - [92912, 1], - [92911, 1], - [92910, 1], - [92909, 1], - [92908, 1], - [92907, 1], - [92906, 1], - [92905, 1], - [92904, 1], - [92903, 1], - [92902, 1], - [92901, 1], - [92900, 1], - [92899, 1], - [92898, 1], - [92897, 1], - [92896, 1], - [92895, 1], - [92894, 1], - [92893, 1], - [92892, 1], - [92891, 1], - [92890, 1], - [92889, 1], - [92888, 1], - [92887, 1], - [92886, 1], - [92885, 1], - [92884, 1], - [92883, 1], - [92882, 1], - [92881, 1], - [92880, 1], - [92879, 1], - [92878, 1], - [92877, 1], - [92876, 1], - [92875, 1], - [92874, 1], - [92873, 1], - [92872, 1], - [92871, 1], - [92870, 1], - [92869, 1], - [92868, 1], - [92867, 1], - [92866, 1], - [92865, 1], - [92864, 1], - [92863, 1], - [92862, 1], - [92861, 1], - [92860, 1], - [92859, 1], - [92858, 1], - [92857, 1], - [92856, 1], - [92855, 1], - [92854, 1], - [92853, 1], - [92852, 1], - [92851, 1], - [92850, 1], - [92849, 1], - [92848, 1], - [92847, 1], - [92846, 1], - [92845, 1], - [92844, 1], - [92843, 1], - [92842, 1], - [92841, 1], - [92840, 1], - [92839, 1], - [92838, 1], - [92837, 1], - [92836, 1], - [92835, 1], - [92834, 1], - [92833, 1], - [92832, 1], - [92831, 1], - [92830, 1], - [92829, 1], - [92828, 1], - [92827, 1], - [92826, 1], - [92825, 1], - [92824, 1], - [92823, 1], - [92822, 1], - [92821, 1], - [92820, 1], - [92819, 1], - [92818, 1], - [92817, 1], - [92816, 1], - [92815, 1], - [92814, 1], - [92813, 1], - [92812, 1], - [92811, 1], - [92810, 1], - [92809, 1], - [92808, 1], - [92807, 1], - [92806, 1], - [92805, 1], - [92804, 1], - [92803, 1], - [92802, 1], - [92801, 1], - [92800, 1], - [92799, 1], - [92798, 1], - [92797, 1], - [92796, 1], - [92795, 1], - [92794, 1], - [92793, 1], - [92792, 1], - [92791, 1], - [92790, 1], - [92789, 1], - [92788, 1], - [92787, 1], - [92786, 1], - [92785, 1], - [92784, 1], - [92783, 1], - [92782, 1], - [92781, 1], - [92780, 1], - [92779, 1], - [92778, 1], - [92777, 1], - [92776, 1], - [92775, 1], - [92774, 1], - [92773, 1], - [92772, 1], - [92771, 1], - [92770, 1], - [92769, 1], - [92768, 1], - [92767, 1], - [92766, 1], - [92765, 1], - [92764, 1], - [92763, 1], - [92762, 1], - [92761, 1], - [92760, 1], - [92759, 1], - [92758, 1], - [92757, 1], - [92756, 1], - [92755, 1], - [92754, 1], - [92753, 1], - [92752, 1], - [92751, 1], - [92750, 1], - [92749, 1], - [92748, 1], - [92747, 1], - [92746, 1], - [92745, 1], - [92744, 1], - [92743, 1], - [92742, 1], - [92741, 1], - [92740, 1], - [92739, 1], - [92738, 1], - [92737, 1], - [92736, 1], - [92735, 1], - [92734, 1], - [92733, 1], - [92732, 1], - [92731, 1], - [92730, 1], - [92729, 1], - [92728, 1], - [92727, 1], - [92726, 1], - [92725, 1], - [92724, 1], - [92723, 1], - [92722, 1], - [92721, 1], - [92720, 1], - [92719, 1], - [92718, 1], - [92717, 1], - [92716, 1], - [92715, 1], - [92714, 1], - [92713, 1], - [92712, 1], - [92711, 1], - [92710, 1], - [92709, 1], - [92708, 1], - [92707, 1], - [92706, 1], - [92705, 1], - [92704, 1], - [92703, 1], - [92702, 1], - [92701, 1], - [92700, 1], - [92699, 1], - [92698, 1], - [92697, 1], - [92696, 1], - [92695, 1], - [92694, 1], - [92693, 1], - [92692, 1], - [92691, 1], - [92690, 1], - [92689, 1], - [92688, 1], - [92687, 1], - [92686, 1], - [92685, 1], - [92684, 1], - [92683, 1], - [92682, 1], - [92681, 1], - [92680, 1], - [92679, 1], - [92678, 1], - [92677, 1], - [92676, 1], - [92675, 1], - [92674, 1], - [92673, 1], - [92672, 1], - [92671, 1], - [92670, 1], - [92669, 1], - [92668, 1], - [92667, 1], - [92666, 1], - [92665, 1], - [92664, 1], - [92663, 1], - [92662, 1], - [92661, 1], - [92660, 1], - [92659, 1], - [92658, 1], - [92657, 1], - [92656, 1], - [92655, 1], - [92654, 1], - [92653, 1], - [92652, 1], - [92651, 1], - [92650, 1], - [92649, 1], - [92648, 1], - [92647, 1], - [92646, 1], - [92645, 1], - [92644, 1], - [92643, 1], - [92642, 1], - [92641, 1], - [92640, 1], - [92639, 1], - [92638, 1], - [92637, 1], - [92636, 1], - [92635, 1], - [92634, 1], - [92633, 1], - [92632, 1], - [92631, 1], - [92630, 1], - [92629, 1], - [92628, 1], - [92627, 1], - [92626, 1], - [92625, 1], - [92624, 1], - [92623, 1], - [92622, 1], - [92621, 1], - [92620, 1], - [92619, 1], - [92618, 1], - [92617, 1], - [92616, 1], - [92615, 1], - [92614, 1], - [92613, 1], - [92612, 1], - [92611, 1], - [92610, 1], - [92609, 1], - [92608, 1], - [92607, 1], - [92606, 1], - [92605, 1], - [92604, 1], - [92603, 1], - [92602, 1], - [92601, 1], - [92600, 1], - [92599, 1], - [92598, 1], - [92597, 1], - [92596, 1], - [92595, 1], - [92594, 1], - [92593, 1], - [92592, 1], - [92591, 1], - [92590, 1], - [92589, 1], - [92588, 1], - [92587, 1], - [92586, 1], - [92585, 1], - [92584, 1], - [92583, 1], - [92582, 1], - [92581, 1], - [92580, 1], - [92579, 1], - [92578, 1], - [92577, 1], - [92576, 1], - [92575, 1], - [92574, 1], - [92573, 1], - [92572, 1], - [92571, 1], - [92570, 1], - [92569, 1], - [92568, 1], - [92567, 1], - [92566, 1], - [92565, 1], - [92564, 1], - [92563, 1], - [92562, 1], - [92561, 1], - [92560, 1], - [92559, 1], - [92558, 1], - [92557, 1], - [92556, 1], - [92555, 1], - [92554, 1], - [92553, 1], - [92552, 1], - [92551, 1], - [92550, 1], - [92549, 1], - [92548, 1], - [92547, 1], - [92546, 1], - [92545, 1], - [92544, 1], - [92543, 1], - [92542, 1], - [92541, 1], - [92540, 1], - [92539, 1], - [92538, 1], - [92537, 1], - [92536, 1], - [92535, 1], - [92534, 1], - [92533, 1], - [92532, 1], - [92531, 1], - [92530, 1], - [92529, 1], - [92528, 1], - [92527, 1], - [92526, 1], - [92525, 1], - [92524, 1], - [92523, 1], - [92522, 1], - [92521, 1], - [92520, 1], - [92519, 1], - [92518, 1], - [92517, 1], - [92516, 1], - [92515, 1], - [92514, 1], - [92513, 1], - [92512, 1], - [92511, 1], - [92510, 1], - [92509, 1], - [92508, 1], - [92507, 1], - [92506, 1], - [92505, 1], - [92504, 1], - [92503, 1], - [92502, 1], - [92501, 1], - [92500, 1], - [92499, 1], - [92498, 1], - [92497, 1], - [92496, 1], - [92495, 1], - [92494, 1], - [92493, 1], - [92492, 1], - [92491, 1], - [92490, 1], - [92489, 1], - [92488, 1], - [92487, 1], - [92486, 1], - [92485, 1], - [92484, 1], - [92483, 1], - [92482, 1], - [92481, 1], - [92480, 1], - [92479, 1], - [92478, 1], - [92477, 1], - [92476, 1], - [92475, 1], - [92474, 1], - [92473, 1], - [92472, 1], - [92471, 1], - [92470, 1], - [92469, 1], - [92468, 1], - [92467, 1], - [92466, 1], - [92465, 1], - [92464, 1], - [92463, 1], - [92462, 1], - [92461, 1], - [92460, 1], - [92459, 1], - [92458, 1], - [92457, 1], - [92456, 1], - [92455, 1], - [92454, 1], - [92453, 1], - [92452, 1], - [92451, 1], - [92450, 1], - [92449, 1], - [92448, 1], - [92447, 1], - [92446, 1], - [92445, 1], - [92444, 1], - [92443, 1], - [92442, 1], - [92441, 1], - [92440, 1], - [92439, 1], - [92438, 1], - [92437, 1], - [92436, 1], - [92435, 1], - [92434, 1], - [92433, 1], - [92432, 1], - [92431, 1], - [92430, 1], - [92429, 1], - [92428, 1], - [92427, 1], - [92426, 1], - [92425, 1], - [92424, 1], - [92423, 1], - [92422, 1], - [92421, 1], - [92420, 1], - [92419, 1], - [92418, 1], - [92417, 1], - [92416, 1], - [92415, 1], - [92414, 1], - [92413, 1], - [92412, 1], - [92411, 1], - [92410, 1], - [92409, 1], - [92408, 1], - [92407, 1], - [92406, 1], - [92405, 1], - [92404, 1], - [92403, 1], - [92402, 1], - [92401, 1], - [92400, 1], - [92399, 1], - [92398, 1], - [92397, 1], - [92396, 1], - [92395, 1], - [92394, 1], - [92393, 1], - [92392, 1], - [92391, 1], - [92390, 1], - [92389, 1], - [92388, 1], - [92387, 1], - [92386, 1], - [92385, 1], - [92384, 1], - [92383, 1], - [92382, 1], - [92381, 1], - [92380, 1], - [92379, 1], - [92378, 1], - [92377, 1], - [92376, 1], - [92375, 1], - [92374, 1], - [92373, 1], - [92372, 1], - [92371, 1], - [92370, 1], - [92369, 1], - [92368, 1], - [92367, 1], - [92366, 1], - [92365, 1], - [92364, 1], - [92363, 1], - [92362, 1], - [92361, 1], - [92360, 1], - [92359, 1], - [92358, 1], - [92357, 1], - [92356, 1], - [92355, 1], - [92354, 1], - [92353, 1], - [92352, 1], - [92351, 1], - [92350, 1], - [92349, 1], - [92348, 1], - [92347, 1], - [92346, 1], - [92345, 1], - [92344, 1], - [92343, 1], - [92342, 1], - [92341, 1], - [92340, 1], - [92339, 1], - [92338, 1], - [92337, 1], - [92336, 1], - [92335, 1], - [92334, 1], - [92333, 1], - [92332, 1], - [92331, 1], - [92330, 1], - [92329, 1], - [92328, 1], - [92327, 1], - [92326, 1], - [92325, 1], - [92324, 1], - [92323, 1], - [92322, 1], - [92321, 1], - [92320, 1], - [92319, 1], - [92318, 1], - [92317, 1], - [92316, 1], - [92315, 1], - [92314, 1], - [92313, 1], - [92312, 1], - [92311, 1], - [92310, 1], - [92309, 1], - [92308, 1], - [92307, 1], - [92306, 1], - [92305, 1], - [92304, 1], - [92303, 1], - [92302, 1], - [92301, 1], - [92300, 1], - [92299, 1], - [92298, 1], - [92297, 1], - [92296, 1], - [92295, 1], - [92294, 1], - [92293, 1], - [92292, 1], - [92291, 1], - [92290, 1], - [92289, 1], - [92288, 1], - [92287, 1], - [92286, 1], - [92285, 1], - [92284, 1], - [92283, 1], - [92282, 1], - [92281, 1], - [92280, 1], - [92279, 1], - [92278, 1], - [92277, 1], - [92276, 1], - [92275, 1], - [92274, 1], - [92273, 1], - [92272, 1], - [92271, 1], - [92270, 1], - [92269, 1], - [92268, 1], - [92267, 1], - [92266, 1], - [92265, 1], - [92264, 1], - [92263, 1], - [92262, 1], - [92261, 1], - [92260, 1], - [92259, 1], - [92258, 1], - [92257, 1], - [92256, 1], - [92255, 1], - [92254, 1], - [92253, 1], - [92252, 1], - [92251, 1], - [92250, 1], - [92249, 1], - [92248, 1], - [92247, 1], - [92246, 1], - [92245, 1], - [92244, 1], - [92243, 1], - [92242, 1], - [92241, 1], - [92240, 1], - [92239, 1], - [92238, 1], - [92237, 1], - [92236, 1], - [92235, 1], - [92234, 1], - [92233, 1], - [92232, 1], - [92231, 1], - [92230, 1], - [92229, 1], - [92228, 1], - [92227, 1], - [92226, 1], - [92225, 1], - [92224, 1], - [92223, 1], - [92222, 1], - [92221, 1], - [92220, 1], - [92219, 1], - [92218, 1], - [92217, 1], - [92216, 1], - [92215, 1], - [92214, 1], - [92213, 1], - [92212, 1], - [92211, 1], - [92210, 1], - [92209, 1], - [92208, 1], - [92207, 1], - [92206, 1], - [92205, 1], - [92204, 1], - [92203, 1], - [92202, 1], - [92201, 1], - [92200, 1], - [92199, 1], - [92198, 1], - [92197, 1], - [92196, 1], - [92195, 1], - [92194, 1], - [92193, 1], - [92192, 1], - [92191, 1], - [92190, 1], - [92189, 1], - [92188, 1], - [92187, 1], - [92186, 1], - [92185, 1], - [92184, 1], - [92183, 1], - [92182, 1], - [92181, 1], - [92180, 1], - [92179, 1], - [92178, 1], - [92177, 1], - [92176, 1], - [92175, 1], - [92174, 1], - [92173, 1], - [92172, 1], - [92171, 1], - [92170, 1], - [92169, 1], - [92168, 1], - [92167, 1], - [92166, 1], - [92165, 1], - [92164, 1], - [92163, 1], - [92162, 1], - [92161, 1], - [92160, 1], - [92159, 1], - [92158, 1], - [92157, 1], - [92156, 1], - [92155, 1], - [92154, 1], - [92153, 1], - [92152, 1], - [92151, 1], - [92150, 1], - [92149, 1], - [92148, 1], - [92147, 1], - [92146, 1], - [92145, 1], - [92144, 1], - [92143, 1], - [92142, 1], - [92141, 1], - [92140, 1], - [92139, 1], - [92138, 1], - [92137, 1], - [92136, 1], - [92135, 1], - [92134, 1], - [92133, 1], - [92132, 1], - [92131, 1], - [92130, 1], - [92129, 1], - [92128, 1], - [92127, 1], - [92126, 1], - [92125, 1], - [92124, 1], - [92123, 1], - [92122, 1], - [92121, 1], - [92120, 1], - [92119, 1], - [92118, 1], - [92117, 1], - [92116, 1], - [92115, 1], - [92114, 1], - [92113, 1], - [92112, 1], - [92111, 1], - [92110, 1], - [92109, 1], - [92108, 1], - [92107, 1], - [92106, 1], - [92105, 1], - [92104, 1], - [92103, 1], - [92102, 1], - [92101, 1], - [92100, 1], - [92099, 1], - [92098, 1], - [92097, 1], - [92096, 1], - [92095, 1], - [92094, 1], - [92093, 1], - [92092, 1], - [92091, 1], - [92090, 1], - [92089, 1], - [92088, 1], - [92087, 1], - [92086, 1], - [92085, 1], - [92084, 1], - [92083, 1], - [92082, 1], - [92081, 1], - [92080, 1], - [92079, 1], - [92078, 1], - [92077, 1], - [92076, 1], - [92075, 1], - [92074, 1], - [92073, 1], - [92072, 1], - [92071, 1], - [92070, 1], - [92069, 1], - [92068, 1], - [92067, 1], - [92066, 1], - [92065, 1], - [92064, 1], - [92063, 1], - [92062, 1], - [92061, 1], - [92060, 1], - [92059, 1], - [92058, 1], - [92057, 1], - [92056, 1], - [92055, 1], - [92054, 1], - [92053, 1], - [92052, 1], - [92051, 1], - [92050, 1], - [92049, 1], - [92048, 1], - [92047, 1], - [92046, 1], - [92045, 1], - [92044, 1], - [92043, 1], - [92042, 1], - [92041, 1], - [92040, 1], - [92039, 1], - [92038, 1], - [92037, 1], - [92036, 1], - [92035, 1], - [92034, 1], - [92033, 1], - [92032, 1], - [92031, 1], - [92030, 1], - [92029, 1], - [92028, 1], - [92027, 1], - [92026, 1], - [92025, 1], - [92024, 1], - [92023, 1], - [92022, 1], - [92021, 1], - [92020, 1], - [92019, 1], - [92018, 1], - [92017, 1], - [92016, 1], - [92015, 1], - [92014, 1], - [92013, 1], - [92012, 1], - [92011, 1], - [92010, 1], - [92009, 1], - [92008, 1], - [92007, 1], - [92006, 1], - [92005, 1], - [92004, 1], - [92003, 1], - [92002, 1], - [92001, 1], - [92000, 1], - [91999, 1], - [91998, 1], - [91997, 1], - [91996, 1], - [91995, 1], - [91994, 1], - [91993, 1], - [91992, 1], - [91991, 1], - [91990, 1], - [91989, 1], - [91988, 1], - [91987, 1], - [91986, 1], - [91985, 1], - [91984, 1], - [91983, 1], - [91982, 1], - [91981, 1], - [91980, 1], - [91979, 1], - [91978, 1], - [91977, 1], - [91976, 1], - [91975, 1], - [91974, 1], - [91973, 1], - [91972, 1], - [91971, 1], - [91970, 1], - [91969, 1], - [91968, 1], - [91967, 1], - [91966, 1], - [91965, 1], - [91964, 1], - [91963, 1], - [91962, 1], - [91961, 1], - [91960, 1], - [91959, 1], - [91958, 1], - [91957, 1], - [91956, 1], - [91955, 1], - [91954, 1], - [91953, 1], - [91952, 1], - [91951, 1], - [91950, 1], - [91949, 1], - [91948, 1], - [91947, 1], - [91946, 1], - [91945, 1], - [91944, 1], - [91943, 1], - [91942, 1], - [91941, 1], - [91940, 1], - [91939, 1], - [91938, 1], - [91937, 1], - [91936, 1], - [91935, 1], - [91934, 1], - [91933, 1], - [91932, 1], - [91931, 1], - [91930, 1], - [91929, 1], - [91928, 1], - [91927, 1], - [91926, 1], - [91925, 1], - [91924, 1], - [91923, 1], - [91922, 1], - [91921, 1], - [91920, 1], - [91919, 1], - [91918, 1], - [91917, 1], - [91916, 1], - [91915, 1], - [91914, 1], - [91913, 1], - [91912, 1], - [91911, 1], - [91910, 1], - [91909, 1], - [91908, 1], - [91907, 1], - [91906, 1], - [91905, 1], - [91904, 1], - [91903, 1], - [91902, 1], - [91901, 1], - [91900, 1], - [91899, 1], - [91898, 1], - [91897, 1], - [91896, 1], - [91895, 1], - [91894, 1], - [91893, 1], - [91892, 1], - [91891, 1], - [91890, 1], - [91889, 1], - [91888, 1], - [91887, 1], - [91886, 1], - [91885, 1], - [91884, 1], - [91883, 1], - [91882, 1], - [91881, 1], - [91880, 1], - [91879, 1], - [91878, 1], - [91877, 1], - [91876, 1], - [91875, 1], - [91874, 1], - [91873, 1], - [91872, 1], - [91871, 1], - [91870, 1], - [91869, 1], - [91868, 1], - [91867, 1], - [91866, 1], - [91865, 1], - [91864, 1], - [91863, 1], - [91862, 1], - [91861, 1], - [91860, 1], - [91859, 1], - [91858, 1], - [91857, 1], - [91856, 1], - [91855, 1], - [91854, 1], - [91853, 1], - [91852, 1], - [91851, 1], - [91850, 1], - [91849, 1], - [91848, 1], - [91847, 1], - [91846, 1], - [91845, 1], - [91844, 1], - [91843, 1], - [91842, 1], - [91841, 1], - [91840, 1], - [91839, 1], - [91838, 1], - [91837, 1], - [91836, 1], - [91835, 1], - [91834, 1], - [91833, 1], - [91832, 1], - [91831, 1], - [91830, 1], - [91829, 1], - [91828, 1], - [91827, 1], - [91826, 1], - [91825, 1], - [91824, 1], - [91823, 1], - [91822, 1], - [91821, 1], - [91820, 1], - [91819, 1], - [91818, 1], - [91817, 1], - [91816, 1], - [91815, 1], - [91814, 1], - [91813, 1], - [91812, 1], - [91811, 1], - [91810, 1], - [91809, 1], - [91808, 1], - [91807, 1], - [91806, 1], - [91805, 1], - [91804, 1], - [91803, 1], - [91802, 1], - [91801, 1], - [91800, 1], - [91799, 1], - [91798, 1], - [91797, 1], - [91796, 1], - [91795, 1], - [91794, 1], - [91793, 1], - [91792, 1], - [91791, 1], - [91790, 1], - [91789, 1], - [91788, 1], - [91787, 1], - [91786, 1], - [91785, 1], - [91784, 1], - [91783, 1], - [91782, 1], - [91781, 1], - [91780, 1], - [91779, 1], - [91778, 1], - [91777, 1], - [91776, 1], - [91775, 1], - [91774, 1], - [91773, 1], - [91772, 1], - [91771, 1], - [91770, 1], - [91769, 1], - [91768, 1], - [91767, 1], - [91766, 1], - [91765, 1], - [91764, 1], - [91763, 1], - [91762, 1], - [91761, 1], - [91760, 1], - [91759, 1], - [91758, 1], - [91757, 1], - [91756, 1], - [91755, 1], - [91754, 1], - [91753, 1], - [91752, 1], - [91751, 1], - [91750, 1], - [91749, 1], - [91748, 1], - [91747, 1], - [91746, 1], - [91745, 1], - [91744, 1], - [91743, 1], - [91742, 1], - [91741, 1], - [91740, 1], - [91739, 1], - [91738, 1], - [91737, 1], - [91736, 1], - [91735, 1], - [91734, 1], - [91733, 1], - [91732, 1], - [91731, 1], - [91730, 1], - [91729, 1], - [91728, 1], - [91727, 1], - [91726, 1], - [91725, 1], - [91724, 1], - [91723, 1], - [91722, 1], - [91721, 1], - [91720, 1], - [91719, 1], - [91718, 1], - [91717, 1], - [91716, 1], - [91715, 1], - [91714, 1], - [91713, 1], - [91712, 1], - [91711, 1], - [91710, 1], - [91709, 1], - [91708, 1], - [91707, 1], - [91706, 1], - [91705, 1], - [91704, 1], - [91703, 1], - [91702, 1], - [91701, 1], - [91700, 1], - [91699, 1], - [91698, 1], - [91697, 1], - [91696, 1], - [91695, 1], - [91694, 1], - [91693, 1], - [91692, 1], - [91691, 1], - [91690, 1], - [91689, 1], - [91688, 1], - [91687, 1], - [91686, 1], - [91685, 1], - [91684, 1], - [91683, 1], - [91682, 1], - [91681, 1], - [91680, 1], - [91679, 1], - [91678, 1], - [91677, 1], - [91676, 1], - [91675, 1], - [91674, 1], - [91673, 1], - [91672, 1], - [91671, 1], - [91670, 1], - [91669, 1], - [91668, 1], - [91667, 1], - [91666, 1], - [91665, 1], - [91664, 1], - [91663, 1], - [91662, 1], - [91661, 1], - [91660, 1], - [91659, 1], - [91658, 1], - [91657, 1], - [91656, 1], - [91655, 1], - [91654, 1], - [91653, 1], - [91652, 1], - [91651, 1], - [91650, 1], - [91649, 1], - [91648, 1], - [91647, 1], - [91646, 1], - [91645, 1], - [91644, 1], - [91643, 1], - [91642, 1], - [91641, 1], - [91640, 1], - [91639, 1], - [91638, 1], - [91637, 1], - [91636, 1], - [91635, 1], - [91634, 1], - [91633, 1], - [91632, 1], - [91631, 1], - [91630, 1], - [91629, 1], - [91628, 1], - [91627, 1], - [91626, 1], - [91625, 1], - [91624, 1], - [91623, 1], - [91622, 1], - [91621, 1], - [91620, 1], - [91619, 1], - [91618, 1], - [91617, 1], - [91616, 1], - [91615, 1], - [91614, 1], - [91613, 1], - [91612, 1], - [91611, 1], - [91610, 1], - [91609, 1], - [91608, 1], - [91607, 1], - [91606, 1], - [91605, 1], - [91604, 1], - [91603, 1], - [91602, 1], - [91601, 1], - [91600, 1], - [91599, 1], - [91598, 1], - [91597, 1], - [91596, 1], - [91595, 1], - [91594, 1], - [91593, 1], - [91592, 1], - [91591, 1], - [91590, 1], - [91589, 1], - [91588, 1], - [91587, 1], - [91586, 1], - [91585, 1], - [91584, 1], - [91583, 1], - [91582, 1], - [91581, 1], - [91580, 1], - [91579, 1], - [91578, 1], - [91577, 1], - [91576, 1], - [91575, 1], - [91574, 1], - [91573, 1], - [91572, 1], - [91571, 1], - [91570, 1], - [91569, 1], - [91568, 1], - [91567, 1], - [91566, 1], - [91565, 1], - [91564, 1], - [91563, 1], - [91562, 1], - [91561, 1], - [91560, 1], - [91559, 1], - [91558, 1], - [91557, 1], - [91556, 1], - [91555, 1], - [91554, 1], - [91553, 1], - [91552, 1], - [91551, 1], - [91550, 1], - [91549, 1], - [91548, 1], - [91547, 1], - [91546, 1], - [91545, 1], - [91544, 1], - [91543, 1], - [91542, 1], - [91541, 1], - [91540, 1], - [91539, 1], - [91538, 1], - [91537, 1], - [91536, 1], - [91535, 1], - [91534, 1], - [91533, 1], - [91532, 1], - [91531, 1], - [91530, 1], - [91529, 1], - [91528, 1], - [91527, 1], - [91526, 1], - [91525, 1], - [91524, 1], - [91523, 1], - [91522, 1], - [91521, 1], - [91520, 1], - [91519, 1], - [91518, 1], - [91517, 1], - [91516, 1], - [91515, 1], - [91514, 1], - [91513, 1], - [91512, 1], - [91511, 1], - [91510, 1], - [91509, 1], - [91508, 1], - [91507, 1], - [91506, 1], - [91505, 1], - [91504, 1], - [91503, 1], - [91502, 1], - [91501, 1], - [91500, 1], - [91499, 1], - [91498, 1], - [91497, 1], - [91496, 1], - [91495, 1], - [91494, 1], - [91493, 1], - [91492, 1], - [91491, 1], - [91490, 1], - [91489, 1], - [91488, 1], - [91487, 1], - [91486, 1], - [91485, 1], - [91484, 1], - [91483, 1], - [91482, 1], - [91481, 1], - [91480, 1], - [91479, 1], - [91478, 1], - [91477, 1], - [91476, 1], - [91475, 1], - [91474, 1], - [91473, 1], - [91472, 1], - [91471, 1], - [91470, 1], - [91469, 1], - [91468, 1], - [91467, 1], - [91466, 1], - [91465, 1], - [91464, 1], - [91463, 1], - [91462, 1], - [91461, 1], - [91460, 1], - [91459, 1], - [91458, 1], - [91457, 1], - [91456, 1], - [91455, 1], - [91454, 1], - [91453, 1], - [91452, 1], - [91451, 1], - [91450, 1], - [91449, 1], - [91448, 1], - [91447, 1], - [91446, 1], - [91445, 1], - [91444, 1], - [91443, 1], - [91442, 1], - [91441, 1], - [91440, 1], - [91439, 1], - [91438, 1], - [91437, 1], - [91436, 1], - [91435, 1], - [91434, 1], - [91433, 1], - [91432, 1], - [91431, 1], - [91430, 1], - [91429, 1], - [91428, 1], - [91427, 1], - [91426, 1], - [91425, 1], - [91424, 1], - [91423, 1], - [91422, 1], - [91421, 1], - [91420, 1], - [91419, 1], - [91418, 1], - [91417, 1], - [91416, 1], - [91415, 1], - [91414, 1], - [91413, 1], - [91412, 1], - [91411, 1], - [91410, 1], - [91409, 1], - [91408, 1], - [91407, 1], - [91406, 1], - [91405, 1], - [91404, 1], - [91403, 1], - [91402, 1], - [91401, 1], - [91400, 1], - [91399, 1], - [91398, 1], - [91397, 1], - [91396, 1], - [91395, 1], - [91394, 1], - [91393, 1], - [91392, 1], - [91391, 1], - [91390, 1], - [91389, 1], - [91388, 1], - [91387, 1], - [91386, 1], - [91385, 1], - [91384, 1], - [91383, 1], - [91382, 1], - [91381, 1], - [91380, 1], - [91379, 1], - [91378, 1], - [91377, 1], - [91376, 1], - [91375, 1], - [91374, 1], - [91373, 1], - [91372, 1], - [91371, 1], - [91370, 1], - [91369, 1], - [91368, 1], - [91367, 1], - [91366, 1], - [91365, 1], - [91364, 1], - [91363, 1], - [91362, 1], - [91361, 1], - [91360, 1], - [91359, 1], - [91358, 1], - [91357, 1], - [91356, 1], - [91355, 1], - [91354, 1], - [91353, 1], - [91352, 1], - [91351, 1], - [91350, 1], - [91349, 1], - [91348, 1], - [91347, 1], - [91346, 1], - [91345, 1], - [91344, 1], - [91343, 1], - [91342, 1], - [91341, 1], - [91340, 1], - [91339, 1], - [91338, 1], - [91337, 1], - [91336, 1], - [91335, 1], - [91334, 1], - [91333, 1], - [91332, 1], - [91331, 1], - [91330, 1], - [91329, 1], - [91328, 1], - [91327, 1], - [91326, 1], - [91325, 1], - [91324, 1], - [91323, 1], - [91322, 1], - [91321, 1], - [91320, 1], - [91319, 1], - [91318, 1], - [91317, 1], - [91316, 1], - [91315, 1], - [91314, 1], - [91313, 1], - [91312, 1], - [91311, 1], - [91310, 1], - [91309, 1], - [91308, 1], - [91307, 1], - [91306, 1], - [91305, 1], - [91304, 1], - [91303, 1], - [91302, 1], - [91301, 1], - [91300, 1], - [91299, 1], - [91298, 1], - [91297, 1], - [91296, 1], - [91295, 1], - [91294, 1], - [91293, 1], - [91292, 1], - [91291, 1], - [91290, 1], - [91289, 1], - [91288, 1], - [91287, 1], - [91286, 1], - [91285, 1], - [91284, 1], - [91283, 1], - [91282, 1], - [91281, 1], - [91280, 1], - [91279, 1], - [91278, 1], - [91277, 1], - [91276, 1], - [91275, 1], - [91274, 1], - [91273, 1], - [91272, 1], - [91271, 1], - [91270, 1], - [91269, 1], - [91268, 1], - [91267, 1], - [91266, 1], - [91265, 1], - [91264, 1], - [91263, 1], - [91262, 1], - [91261, 1], - [91260, 1], - [91259, 1], - [91258, 1], - [91257, 1], - [91256, 1], - [91255, 1], - [91254, 1], - [91253, 1], - [91252, 1], - [91251, 1], - [91250, 1], - [91249, 1], - [91248, 1], - [91247, 1], - [91246, 1], - [91245, 1], - [91244, 1], - [91243, 1], - [91242, 1], - [91241, 1], - [91240, 1], - [91239, 1], - [91238, 1], - [91237, 1], - [91236, 1], - [91235, 1], - [91234, 1], - [91233, 1], - [91232, 1], - [91231, 1], - [91230, 1], - [91229, 1], - [91228, 1], - [91227, 1], - [91226, 1], - [91225, 1], - [91224, 1], - [91223, 1], - [91222, 1], - [91221, 1], - [91220, 1], - [91219, 1], - [91218, 1], - [91217, 1], - [91216, 1], - [91215, 1], - [91214, 1], - [91213, 1], - [91212, 1], - [91211, 1], - [91210, 1], - [91209, 1], - [91208, 1], - [91207, 1], - [91206, 1], - [91205, 1], - [91204, 1], - [91203, 1], - [91202, 1], - [91201, 1], - [91200, 1], - [91199, 1], - [91198, 1], - [91197, 1], - [91196, 1], - [91195, 1], - [91194, 1], - [91193, 1], - [91192, 1], - [91191, 1], - [91190, 1], - [91189, 1], - [91188, 1], - [91187, 1], - [91186, 1], - [91185, 1], - [91184, 1], - [91183, 1], - [91182, 1], - [91181, 1], - [91180, 1], - [91179, 1], - [91178, 1], - [91177, 1], - [91176, 1], - [91175, 1], - [91174, 1], - [91173, 1], - [91172, 1], - [91171, 1], - [91170, 1], - [91169, 1], - [91168, 1], - [91167, 1], - [91166, 1], - [91165, 1], - [91164, 1], - [91163, 1], - [91162, 1], - [91161, 1], - [91160, 1], - [91159, 1], - [91158, 1], - [91157, 1], - [91156, 1], - [91155, 1], - [91154, 1], - [91153, 1], - [91152, 1], - [91151, 1], - [91150, 1], - [91149, 1], - [91148, 1], - [91147, 1], - [91146, 1], - [91145, 1], - [91144, 1], - [91143, 1], - [91142, 1], - [91141, 1], - [91140, 1], - [91139, 1], - [91138, 1], - [91137, 1], - [91136, 1], - [91135, 1], - [91134, 1], - [91133, 1], - [91132, 1], - [91131, 1], - [91130, 1], - [91129, 1], - [91128, 1], - [91127, 1], - [91126, 1], - [91125, 1], - [91124, 1], - [91123, 1], - [91122, 1], - [91121, 1], - [91120, 1], - [91119, 1], - [91118, 1], - [91117, 1], - [91116, 1], - [91115, 1], - [91114, 1], - [91113, 1], - [91112, 1], - [91111, 1], - [91110, 1], - [91109, 1], - [91108, 1], - [91107, 1], - [91106, 1], - [91105, 1], - [91104, 1], - [91103, 1], - [91102, 1], - [91101, 1], - [91100, 1], - [91099, 1], - [91098, 1], - [91097, 1], - [91096, 1], - [91095, 1], - [91094, 1], - [91093, 1], - [91092, 1], - [91091, 1], - [91090, 1], - [91089, 1], - [91088, 1], - [91087, 1], - [91086, 1], - [91085, 1], - [91084, 1], - [91083, 1], - [91082, 1], - [91081, 1], - [91080, 1], - [91079, 1], - [91078, 1], - [91077, 1], - [91076, 1], - [91075, 1], - [91074, 1], - [91073, 1], - [91072, 1], - [91071, 1], - [91070, 1], - [91069, 1], - [91068, 1], - [91067, 1], - [91066, 1], - [91065, 1], - [91064, 1], - [91063, 1], - [91062, 1], - [91061, 1], - [91060, 1], - [91059, 1], - [91058, 1], - [91057, 1], - [91056, 1], - [91055, 1], - [91054, 1], - [91053, 1], - [91052, 1], - [91051, 1], - [91050, 1], - [91049, 1], - [91048, 1], - [91047, 1], - [91046, 1], - [91045, 1], - [91044, 1], - [91043, 1], - [91042, 1], - [91041, 1], - [91040, 1], - [91039, 1], - [91038, 1], - [91037, 1], - [91036, 1], - [91035, 1], - [91034, 1], - [91033, 1], - [91032, 1], - [91031, 1], - [91030, 1], - [91029, 1], - [91028, 1], - [91027, 1], - [91026, 1], - [91025, 1], - [91024, 1], - [91023, 1], - [91022, 1], - [91021, 1], - [91020, 1], - [91019, 1], - [91018, 1], - [91017, 1], - [91016, 1], - [91015, 1], - [91014, 1], - [91013, 1], - [91012, 1], - [91011, 1], - [91010, 1], - [91009, 1], - [91008, 1], - [91007, 1], - [91006, 1], - [91005, 1], - [91004, 1], - [91003, 1], - [91002, 1], - [91001, 1], - [91000, 1], - [90999, 1], - [90998, 1], - [90997, 1], - [90996, 1], - [90995, 1], - [90994, 1], - [90993, 1], - [90992, 1], - [90991, 1], - [90990, 1], - [90989, 1], - [90988, 1], - [90988, 0, "\n"], - [91005, 1], - [91004, 1], - [91003, 1], - [91002, 1], - [91001, 1], - [91000, 1], - [90999, 1], - [90998, 1], - [90997, 1], - [90996, 1], - [90995, 1], - [90995, 0, " "], - [90996, 0, "i"], - [90997, 0, "n"], - [90998, 0, "c"], - [90999, 0, "l"], - [91000, 0, "u"], - [91001, 0, "d"], - [91002, 0, "e"], - [91003, 0, " "], - [91003, 1], - [91003, 0, "a"], - [91004, 0, "p"], - [91005, 0, "p"], - [91006, 0, "e"], - [91007, 0, "n"], - [91008, 0, "d"], - [91009, 0, "i"], - [91010, 0, "x"], - [640, 1], - [639, 1], - [638, 1], - [637, 1], - [636, 1], - [635, 1], - [634, 1], - [633, 1], - [632, 1], - [631, 1], - [631, 0, "i"], - [632, 0, "n"], - [633, 0, "c"], - [634, 0, "l"], - [635, 0, "u"], - [636, 0, "d"], - [637, 0, "e"], - [638, 0, "a"], - [639, 0, "p"], - [640, 0, "p"], - [641, 0, "e"], - [642, 0, "n"], - [643, 0, "d"], - [644, 0, "i"], - [645, 0, "x"], - [657, 1], - [656, 1], - [655, 1], - [654, 1], - [653, 1], - [652, 1], - [651, 1], - [650, 1], - [649, 1], - [648, 1], - [648, 0, "i"], - [649, 0, "n"], - [650, 0, "c"], - [651, 0, "l"], - [652, 0, "u"], - [653, 0, "d"], - [654, 0, "e"], - [655, 0, "a"], - [656, 0, "p"], - [657, 0, "p"], - [658, 0, "e"], - [659, 0, "n"], - [660, 0, "d"], - [661, 0, "i"], - [662, 0, "x"], - [74837, 1], - [74836, 1], - [74835, 1], - [74834, 1], - [74833, 1], - [74832, 1], - [74831, 1], - [74830, 1], - [74829, 1], - [74828, 1], - [74828, 0, "i"], - [74829, 0, "n"], - [74830, 0, "c"], - [74831, 0, "l"], - [74832, 0, "u"], - [74833, 0, "d"], - [74834, 0, "e"], - [74835, 0, "a"], - [74836, 0, "p"], - [74837, 0, "p"], - [74838, 0, "e"], - [74839, 0, "n"], - [74840, 0, "d"], - [74841, 0, "i"], - [74842, 0, "x"], - [90927, 0, "I"], - [90928, 0, "n"], - [90929, 0, " "], - [90930, 0, "a"], - [90931, 0, " "], - [90932, 0, "h"], - [90933, 0, "i"], - [90934, 0, "s"], - [90935, 0, "t"], - [90936, 0, "o"], - [90937, 0, "r"], - [90938, 0, "y"], - [90939, 0, " "], - [90940, 0, "$"], - [90941, 0, "H"], - [90942, 0, "$"], - [90943, 0, ","], - [90944, 0, " "], - [90945, 0, "a"], - [90946, 0, "n"], - [90947, 0, " "], - [90948, 1], - [90948, 0, "a"], - [90958, 0, " "], - [90959, 0, "o"], - [90960, 0, "p"], - [90961, 0, "e"], - [90962, 0, "r"], - [90963, 0, "a"], - [90964, 0, "t"], - [90965, 0, "i"], - [90966, 0, "o"], - [90967, 0, "n"], - [91034, 0, "\n"], - [91035, 0, "\n"], - [91036, 0, "\\"], - [91037, 0, "b"], - [91038, 0, "e"], - [91039, 0, "g"], - [91040, 0, "i"], - [91041, 0, "n"], - [91042, 0, "{"], - [91043, 0, "p"], - [91044, 0, "r"], - [91045, 0, "o"], - [91046, 0, "o"], - [91047, 0, "f"], - [91048, 0, "}"], - [91049, 0, "\n"], - [91050, 0, "\\"], - [91051, 0, "e"], - [91052, 0, "n"], - [91053, 0, "d"], - [91054, 0, "{"], - [91055, 0, "p"], - [91056, 0, "r"], - [91057, 0, "o"], - [91058, 0, "o"], - [91059, 0, "f"], - [91060, 0, "}"], - [91049, 0, "\n"], - [91050, 0, "G"], - [91051, 0, "i"], - [91052, 0, "v"], - [91053, 0, "e"], - [91054, 0, "n"], - [91055, 0, " "], - [91056, 0, "a"], - [91057, 0, "n"], - [91058, 0, " "], - [91059, 0, "a"], - [91060, 0, "s"], - [91061, 0, "s"], - [91062, 0, "i"], - [91063, 0, "g"], - [91064, 0, "n"], - [91065, 0, "m"], - [91066, 0, "e"], - [91067, 0, "n"], - [91068, 0, "t"], - [91069, 0, " "], - [91070, 0, "$"], - [91071, 0, "o"], - [91072, 0, "_"], - [91073, 0, "a"], - [91074, 0, "$"], - [91075, 0, " "], - [91076, 0, "a"], - [91077, 0, "n"], - [91078, 0, "d"], - [91079, 0, " "], - [91080, 0, "a"], - [91081, 0, "n"], - [91082, 0, "y"], - [91083, 0, " "], - [91084, 0, "o"], - [91085, 0, "t"], - [91086, 0, "h"], - [91087, 0, "e"], - [91088, 0, "r"], - [91089, 0, " "], - [91090, 0, "c"], - [91091, 0, "o"], - [91092, 0, "n"], - [91093, 0, "c"], - [91094, 0, "u"], - [91095, 0, "r"], - [91096, 0, "r"], - [91097, 0, "e"], - [91098, 0, "n"], - [91099, 0, "t"], - [91100, 0, " "], - [91101, 0, "o"], - [91102, 0, "p"], - [91103, 0, "e"], - [91104, 0, "r"], - [91105, 0, "a"], - [91106, 0, "t"], - [91107, 0, "i"], - [91108, 0, "o"], - [91109, 0, "n"], - [91110, 0, " "], - [91111, 0, "$"], - [91112, 0, "o"], - [91113, 0, "_"], - [91114, 0, "c"], - [91115, 0, "$"], - [91116, 0, ","], - [91117, 0, " "], - [91118, 0, "w"], - [91119, 0, "e"], - [91120, 0, " "], - [91121, 0, "m"], - [91122, 0, "u"], - [91123, 0, "s"], - [91124, 0, "t"], - [91125, 0, " "], - [91126, 0, "s"], - [91127, 0, "h"], - [91128, 0, "o"], - [91129, 0, "w"], - [91130, 0, " "], - [91131, 0, "t"], - [91132, 0, "h"], - [91133, 0, "a"], - [91134, 0, "t"], - [91135, 0, " "], - [91136, 0, "t"], - [91137, 0, "h"], - [91138, 0, "e"], - [91139, 0, " "], - [91140, 0, "d"], - [91141, 0, "o"], - [91142, 0, "c"], - [91143, 0, "u"], - [91144, 0, "m"], - [91145, 0, "e"], - [91146, 0, "n"], - [91147, 0, "t"], - [91148, 0, " "], - [91149, 0, "s"], - [91150, 0, "t"], - [91151, 0, "a"], - [91152, 0, "t"], - [91153, 0, "e"], - [91154, 0, " "], - [91155, 0, "a"], - [91156, 0, "f"], - [91157, 0, "t"], - [91158, 0, "e"], - [91159, 0, "r"], - [91160, 0, " "], - [91161, 0, "a"], - [91162, 0, "p"], - [91163, 0, "p"], - [91164, 0, "l"], - [91165, 0, "y"], - [91166, 0, "i"], - [91167, 0, "n"], - [91168, 0, "g"], - [91169, 0, " "], - [91170, 0, "b"], - [91171, 0, "o"], - [91172, 0, "t"], - [91173, 0, "h"], - [91174, 0, " "], - [91175, 0, "o"], - [91176, 0, "p"], - [91177, 0, "e"], - [91178, 0, "r"], - [91179, 0, "a"], - [91180, 0, "t"], - [91181, 0, "i"], - [91182, 0, "o"], - [91183, 0, "n"], - [91184, 0, "s"], - [91185, 0, " "], - [91186, 0, "d"], - [91187, 0, "o"], - [91188, 0, "e"], - [91189, 0, "s"], - [91190, 0, " "], - [91191, 0, "n"], - [91192, 0, "o"], - [91193, 0, "t"], - [91194, 0, " "], - [91195, 0, "d"], - [91196, 0, "e"], - [91197, 0, "p"], - [91198, 0, "e"], - [91199, 0, "n"], - [91200, 0, "d"], - [91201, 0, " "], - [91202, 0, "o"], - [91203, 0, "n"], - [91204, 0, " "], - [91205, 0, "t"], - [91206, 0, "h"], - [91207, 0, "e"], - [91208, 0, " "], - [91209, 0, "o"], - [91210, 0, "r"], - [91211, 0, "d"], - [91212, 0, "e"], - [91213, 0, "r"], - [91214, 0, " "], - [91215, 0, "i"], - [91216, 0, "n"], - [91217, 0, " "], - [91218, 0, "w"], - [91219, 0, "h"], - [91220, 0, "i"], - [91221, 0, "c"], - [91222, 0, "h"], - [91223, 0, " "], - [91224, 0, "o"], - [91224, 1], - [91224, 0, "$"], - [91225, 0, "o"], - [91226, 0, "_"], - [91227, 0, "a"], - [91228, 0, "$"], - [91229, 0, " "], - [91230, 0, "a"], - [91231, 0, "n"], - [91232, 0, "d"], - [91233, 0, " "], - [91234, 0, "$"], - [91235, 0, "o"], - [91236, 0, "_"], - [91237, 0, "c"], - [91238, 0, "$"], - [91239, 0, " "], - [91240, 0, "w"], - [91241, 0, "e"], - [91242, 0, "r"], - [91243, 0, "e"], - [91244, 0, " "], - [91245, 0, "a"], - [91246, 0, "p"], - [91247, 0, "p"], - [91248, 0, "l"], - [91249, 0, "i"], - [91250, 0, "e"], - [91251, 0, "d"], - [91252, 0, "."], - [91253, 0, "\n"], - [91254, 0, "\n"], - [91255, 0, "T"], - [91256, 0, "h"], - [91257, 0, "e"], - [91258, 0, " "], - [91259, 0, "r"], - [91260, 0, "u"], - [91261, 0, "l"], - [91262, 0, "e"], - [91263, 0, "s"], - [91264, 0, " "], - [91265, 0, "\\"], - [91266, 0, "t"], - [91267, 0, "e"], - [91268, 0, "x"], - [91269, 0, "t"], - [91270, 0, "s"], - [91271, 0, "c"], - [91272, 0, "{"], - [91273, 0, "A"], - [91274, 0, "s"], - [91275, 0, "s"], - [91276, 0, "i"], - [91277, 0, "g"], - [91278, 0, "n"], - [91279, 0, "}"], - [91280, 0, ","], - [91281, 0, " "], - [91282, 0, "\\"], - [91283, 0, "t"], - [91284, 0, "e"], - [91285, 0, "x"], - [91286, 0, "t"], - [91287, 0, "s"], - [91288, 0, "c"], - [91289, 0, "{"], - [91290, 0, "E"], - [91291, 0, "m"], - [91292, 0, "p"], - [91293, 0, "t"], - [91294, 0, "y"], - [91295, 0, "-"], - [91296, 0, "M"], - [91297, 0, "a"], - [91298, 0, "p"], - [91299, 0, "}"], - [91300, 0, " "], - [91301, 0, "a"], - [91302, 0, "n"], - [91303, 0, "d"], - [91304, 0, " "], - [91305, 0, "\\"], - [91306, 0, "t"], - [91307, 0, "e"], - [91308, 0, "x"], - [91309, 0, "t"], - [91310, 0, "s"], - [91311, 0, "c"], - [91312, 0, "{"], - [91313, 0, "E"], - [91314, 0, "m"], - [91315, 0, "p"], - [91316, 0, "t"], - [91317, 0, "y"], - [91318, 0, "-"], - [91319, 0, "L"], - [91320, 0, "i"], - [91321, 0, "s"], - [91322, 0, "t"], - [91323, 0, "}"], - [91324, 0, " "], - [91325, 0, "d"], - [91326, 0, "e"], - [91327, 0, "f"], - [91328, 0, "i"], - [91329, 0, "n"], - [91330, 0, "e"], - [91331, 0, " "], - [91332, 0, "h"], - [91333, 0, "o"], - [91334, 0, "w"], - [91335, 0, " "], - [91336, 0, "a"], - [91337, 0, "n"], - [91338, 0, " "], - [91339, 0, "a"], - [91340, 0, "s"], - [91341, 0, "s"], - [91342, 0, "i"], - [91343, 0, "g"], - [91344, 0, "n"], - [91345, 0, "m"], - [91346, 0, "e"], - [91347, 0, "n"], - [91348, 0, "t"], - [91349, 0, " "], - [91350, 0, "o"], - [91351, 0, "p"], - [91352, 0, "e"], - [91353, 0, "r"], - [91354, 0, "a"], - [91355, 0, "t"], - [91356, 0, "i"], - [91357, 0, "o"], - [91358, 0, "n"], - [91359, 0, " "], - [91360, 0, "$"], - [91361, 0, "o"], - [91362, 0, "_"], - [91363, 0, "a"], - [91364, 0, "$"], - [91365, 0, " "], - [91366, 0, "i"], - [91367, 0, "s"], - [91368, 0, " "], - [91369, 0, "a"], - [91370, 0, "p"], - [91371, 0, "p"], - [91372, 0, "l"], - [91373, 0, "i"], - [91374, 0, "e"], - [91375, 0, "d"], - [91376, 0, ","], - [91377, 0, " "], - [91378, 0, "d"], - [91379, 0, "e"], - [91380, 0, "p"], - [91381, 0, "e"], - [91382, 0, "n"], - [91383, 0, "d"], - [91384, 0, "i"], - [91385, 0, "n"], - [91386, 0, "g"], - [91387, 0, " "], - [91388, 0, "o"], - [91389, 0, "n"], - [91390, 0, " "], - [91391, 0, "t"], - [91392, 0, "h"], - [91393, 0, "e"], - [91394, 0, " "], - [91395, 0, "v"], - [91396, 0, "a"], - [91397, 0, "l"], - [91398, 0, "u"], - [91399, 0, "e"], - [91400, 0, " "], - [91401, 0, "b"], - [91402, 0, "e"], - [91403, 0, "i"], - [91404, 0, "n"], - [91405, 0, "g"], - [91406, 0, " "], - [91407, 0, "a"], - [91408, 0, "s"], - [91409, 0, "s"], - [91410, 0, "i"], - [91411, 0, "g"], - [91412, 0, "n"], - [91413, 0, "e"], - [91414, 0, "d"], - [91415, 0, "."], - [91416, 0, " "], - [91417, 0, "A"], - [91418, 0, "l"], - [91419, 0, "l"], - [91420, 0, " "], - [91421, 0, "t"], - [91422, 0, "h"], - [91423, 0, "r"], - [91424, 0, "e"], - [91425, 0, "e"], - [91426, 0, " "], - [91427, 0, "r"], - [91428, 0, "u"], - [91429, 0, "l"], - [91430, 0, "e"], - [91431, 0, "s"], - [91432, 0, " "], - [91433, 0, "f"], - [91434, 0, "i"], - [91435, 0, "r"], - [91436, 0, "s"], - [91437, 0, "t"], - [91438, 0, " "], - [91439, 0, "c"], - [91440, 0, "l"], - [91441, 0, "e"], - [91442, 0, "a"], - [91443, 0, "r"], - [91444, 0, " "], - [91445, 0, "a"], - [91446, 0, "n"], - [91447, 0, "y"], - [91448, 0, " "], - [91449, 0, "c"], - [91450, 0, "a"], - [91451, 0, "u"], - [91452, 0, "s"], - [91453, 0, "a"], - [91454, 0, "l"], - [91455, 0, "l"], - [91456, 0, "y"], - [91457, 0, " "], - [91458, 0, "p"], - [91459, 0, "r"], - [91460, 0, "i"], - [91461, 0, "o"], - [91462, 0, "r"], - [91463, 0, " "], - [91464, 0, "s"], - [91465, 0, "t"], - [91466, 0, "a"], - [91467, 0, "t"], - [91468, 0, "e"], - [91469, 0, " "], - [91470, 0, "f"], - [91471, 0, "r"], - [91472, 0, "o"], - [91473, 0, "m"], - [91474, 0, " "], - [91475, 0, "t"], - [91476, 0, "h"], - [91477, 0, "e"], - [91478, 0, " "], - [91479, 0, "c"], - [91480, 0, "u"], - [91481, 0, "r"], - [91482, 0, "s"], - [91483, 0, "o"], - [91484, 0, "r"], - [91485, 0, " "], - [91486, 0, "a"], - [91487, 0, "t"], - [91488, 0, " "], - [91489, 0, "w"], - [91490, 0, "h"], - [91491, 0, "i"], - [91492, 0, "c"], - [91493, 0, "h"], - [91494, 0, " "], - [91495, 0, "t"], - [91496, 0, "h"], - [91497, 0, "e"], - [91498, 0, " "], - [91499, 0, "a"], - [91500, 0, "s"], - [91501, 0, "s"], - [91502, 0, "i"], - [91503, 0, "g"], - [91504, 0, "n"], - [91505, 0, "m"], - [91506, 0, "e"], - [91507, 0, "n"], - [91508, 0, "t"], - [91509, 0, " "], - [91510, 0, "i"], - [91511, 0, "s"], - [91512, 0, " "], - [91513, 0, "o"], - [91514, 0, "c"], - [91515, 0, "c"], - [91516, 0, "u"], - [91517, 0, "r"], - [91518, 0, "r"], - [91519, 0, "i"], - [91520, 0, "n"], - [91521, 0, "g"], - [91522, 0, ";"], - [91523, 0, " "], - [91524, 0, "b"], - [91525, 0, "y"], - [91526, 0, " "], - [91527, 0, "L"], - [91528, 0, "e"], - [91529, 0, "m"], - [91530, 0, "m"], - [91531, 0, "a"], - [91532, 0, "~"], - [91533, 0, "\\"], - [91534, 0, "r"], - [91535, 0, "e"], - [91536, 0, "f"], - [91537, 0, "{"], - [91538, 0, "l"], - [91539, 0, "e"], - [91540, 0, "m"], - [91541, 0, ":"], - [91542, 0, "d"], - [91543, 0, "e"], - [91544, 0, "l"], - [91545, 0, "e"], - [91546, 0, "t"], - [91547, 0, "e"], - [91548, 0, "-"], - [91549, 0, "c"], - [91550, 0, "o"], - [91551, 0, "m"], - [91552, 0, "m"], - [91553, 0, "u"], - [91554, 0, "t"], - [91555, 0, "e"], - [91556, 0, "}"], - [91557, 0, ","], - [91558, 0, " "], - [91559, 0, "t"], - [91560, 0, "h"], - [91561, 0, "i"], - [91562, 0, "s"], - [91563, 0, " "], - [91564, 0, "c"], - [91565, 0, "l"], - [91566, 0, "e"], - [91567, 0, "a"], - [91568, 0, "r"], - [91569, 0, "i"], - [91570, 0, "n"], - [91571, 0, "g"], - [91572, 0, " "], - [91573, 0, "o"], - [91574, 0, "p"], - [91575, 0, "e"], - [91576, 0, "r"], - [91577, 0, "a"], - [91578, 0, "t"], - [91579, 0, "i"], - [91580, 0, "o"], - [91581, 0, "n"], - [91582, 0, " "], - [91583, 0, "i"], - [91584, 0, "s"], - [91585, 0, " "], - [91586, 0, "c"], - [91587, 0, "o"], - [91588, 0, "m"], - [91589, 0, "m"], - [91590, 0, "u"], - [91591, 0, "t"], - [91592, 0, "a"], - [91593, 0, "t"], - [91594, 0, "i"], - [91595, 0, "v"], - [91596, 0, "e"], - [91597, 0, " "], - [91598, 0, "w"], - [91599, 0, "i"], - [91600, 0, "t"], - [91601, 0, "h"], - [91602, 0, " "], - [91603, 0, "c"], - [91604, 0, "o"], - [91605, 0, "n"], - [91606, 0, "c"], - [91607, 0, "u"], - [91608, 0, "r"], - [91609, 0, "r"], - [91610, 0, "e"], - [91611, 0, "n"], - [91612, 0, "t"], - [91613, 0, " "], - [91614, 0, "o"], - [91615, 0, "p"], - [91616, 0, "e"], - [91617, 0, "r"], - [91618, 0, "a"], - [91619, 0, "t"], - [91620, 0, "i"], - [91621, 0, "o"], - [91622, 0, "n"], - [91623, 0, "s"], - [91624, 0, ","], - [91625, 0, " "], - [91626, 0, "a"], - [91627, 0, "n"], - [91628, 0, "d"], - [91629, 0, " "], - [91630, 0, "l"], - [91631, 0, "e"], - [91632, 0, "a"], - [91633, 0, "v"], - [91634, 0, "e"], - [91635, 0, "s"], - [91636, 0, " "], - [91637, 0, "u"], - [91638, 0, "p"], - [91639, 0, "d"], - [91640, 0, "a"], - [91641, 0, "t"], - [91642, 0, "e"], - [91643, 0, "s"], - [91644, 0, " "], - [91645, 0, "b"], - [91646, 0, "y"], - [91647, 0, " "], - [91648, 0, "c"], - [91649, 0, "o"], - [91650, 0, "n"], - [91651, 0, "c"], - [91652, 0, "u"], - [91653, 0, "r"], - [91654, 0, "r"], - [91655, 0, "e"], - [91656, 0, "n"], - [91657, 0, "t"], - [91658, 0, " "], - [91659, 0, "o"], - [91660, 0, "p"], - [91661, 0, "e"], - [91662, 0, "r"], - [91663, 0, "a"], - [91664, 0, "t"], - [91665, 0, "i"], - [91666, 0, "o"], - [91667, 0, "n"], - [91668, 0, "s"], - [91669, 0, " "], - [91670, 0, "u"], - [91671, 0, "n"], - [91672, 0, "t"], - [91673, 0, "o"], - [91674, 0, "u"], - [91675, 0, "c"], - [91676, 0, "h"], - [91677, 0, "e"], - [91678, 0, "d"], - [91679, 0, "."], - [91681, 0, "\n"], - [91681, 0, "\n"], - [33674, 1], - [33674, 0, "B"], - [33675, 0, "i"], - [33647, 0, "\n"], - [33648, 0, "\\"], - [33649, 0, "A"], - [33650, 0, "x"], - [33651, 0, "i"], - [33652, 0, "o"], - [33653, 0, "m"], - [33654, 0, "C"], - [33655, 0, "{"], - [33656, 0, "$"], - [33657, 0, "k"], - [33658, 0, "_"], - [33659, 0, "n"], - [33660, 0, " "], - [33661, 0, "\\"], - [33662, 0, "n"], - [33663, 0, "o"], - [33664, 0, "t"], - [33665, 0, "="], - [33666, 0, " "], - [33667, 0, "\\"], - [33668, 0, "m"], - [33669, 0, "a"], - [33670, 0, "t"], - [33671, 0, "h"], - [33672, 0, "s"], - [33673, 0, "f"], - [33674, 0, "{"], - [33675, 0, "h"], - [33676, 0, "e"], - [33677, 0, "a"], - [33678, 0, "d"], - [33679, 0, "}"], - [33680, 0, "$"], - [33681, 0, "}"], - [91718, 0, "T"], - [91719, 0, "h"], - [91720, 0, "e"], - [91721, 0, " "], - [91722, 0, "r"], - [91723, 0, "u"], - [91724, 0, "l"], - [91725, 0, "e"], - [91726, 0, "s"], - [91727, 0, " "], - [91728, 0, "a"], - [91729, 0, "l"], - [91730, 0, "s"], - [91731, 0, "o"], - [91732, 0, " "], - [91733, 0, "a"], - [91734, 0, "d"], - [91735, 0, "d"], - [91736, 0, " "], - [91737, 0, "$"], - [91738, 0, "o"], - [91739, 0, "_"], - [91740, 0, "a"], - [91741, 0, "."], - [91742, 0, "\\"], - [91743, 0, "m"], - [91744, 0, "a"], - [91745, 0, "t"], - [91746, 0, "h"], - [91747, 0, "i"], - [91748, 0, "t"], - [91749, 0, "{"], - [91750, 0, "i"], - [91751, 0, "d"], - [91752, 0, "}"], - [91753, 0, "$"], - [91754, 0, " "], - [91755, 0, "t"], - [91756, 0, "o"], - [91757, 0, " "], - [91758, 0, "t"], - [91759, 0, "h"], - [91760, 0, "e"], - [91761, 0, " "], - [91762, 0, "p"], - [91763, 0, "r"], - [91764, 0, "e"], - [91765, 0, "s"], - [91766, 0, "e"], - [91767, 0, "n"], - [91768, 0, "c"], - [91769, 0, "e"], - [91770, 0, " "], - [91771, 0, "s"], - [91772, 0, "e"], - [91773, 0, "t"], - [91774, 0, " "], - [91775, 0, "i"], - [91776, 0, "d"], - [91777, 0, "e"], - [91778, 0, "n"], - [91779, 0, "t"], - [91780, 0, "i"], - [91781, 0, "f"], - [91782, 0, "i"], - [91783, 0, "e"], - [91784, 0, "d"], - [91785, 0, " "], - [91786, 0, "b"], - [91787, 0, "y"], - [91788, 0, " "], - [91789, 0, "t"], - [91790, 0, "h"], - [91791, 0, "e"], - [91792, 0, " "], - [91793, 0, "c"], - [91794, 0, "u"], - [91795, 0, "r"], - [91796, 0, "s"], - [91797, 0, "o"], - [91798, 0, "r"], - [91799, 0, ","], - [91800, 0, " "], - [91801, 0, "a"], - [91802, 0, "n"], - [91803, 0, "d"], - [91804, 0, " "], - [91805, 0, "\\"], - [91806, 0, "t"], - [91807, 0, "e"], - [91808, 0, "x"], - [91809, 0, "t"], - [91810, 0, "s"], - [91811, 0, "c"], - [91812, 0, "{"], - [91813, 0, "D"], - [91814, 0, "e"], - [91815, 0, "s"], - [91816, 0, "c"], - [91817, 0, "e"], - [91818, 0, "n"], - [91819, 0, "d"], - [91820, 0, "}"], - [91821, 0, " "], - [91822, 0, "a"], - [91823, 0, "d"], - [91824, 0, "d"], - [91825, 0, "s"], - [91826, 0, " "], - [91827, 0, "$"], - [91828, 0, "o"], - [91829, 0, "_"], - [91830, 0, "a"], - [91831, 0, "."], - [91832, 0, "\\"], - [91833, 0, "m"], - [91834, 0, "a"], - [91835, 0, "t"], - [91836, 0, "h"], - [91837, 0, "i"], - [91838, 0, "t"], - [91839, 0, "{"], - [91840, 0, "i"], - [91841, 0, "d"], - [91842, 0, "}"], - [91843, 0, "$"], - [91844, 0, " "], - [91845, 0, "t"], - [91846, 0, "o"], - [91847, 0, " "], - [91848, 0, "t"], - [91849, 0, "h"], - [91850, 0, "e"], - [91851, 0, " "], - [91852, 0, "p"], - [91853, 0, "r"], - [91854, 0, "e"], - [91855, 0, "s"], - [91856, 0, "e"], - [91857, 0, "n"], - [91858, 0, "c"], - [91859, 0, "e"], - [91860, 0, " "], - [91861, 0, "s"], - [91862, 0, "e"], - [91863, 0, "t"], - [91864, 0, "s"], - [91865, 0, " "], - [91866, 0, "a"], - [91867, 0, "l"], - [91867, 1], - [91866, 1], - [91866, 0, "o"], - [91867, 0, "n"], - [91868, 0, " "], - [91869, 0, "t"], - [91870, 0, "h"], - [91871, 0, "e"], - [91872, 0, " "], - [91873, 0, "p"], - [91874, 0, "a"], - [91875, 0, "t"], - [91876, 0, "h"], - [91877, 0, " "], - [91878, 0, "f"], - [91879, 0, "r"], - [91880, 0, "o"], - [91881, 0, "m"], - [91882, 0, " "], - [91883, 0, "t"], - [91884, 0, "h"], - [91885, 0, "e"], - [91886, 0, " "], - [91887, 0, "r"], - [91888, 0, "o"], - [91889, 0, "o"], - [91890, 0, "t"], - [91891, 0, " "], - [91892, 0, "o"], - [91893, 0, "f"], - [91894, 0, " "], - [91895, 0, "t"], - [91896, 0, "h"], - [91897, 0, "e"], - [91898, 0, " "], - [91899, 0, "d"], - [91900, 0, "o"], - [91901, 0, "c"], - [91902, 0, "u"], - [91903, 0, "m"], - [91904, 0, "e"], - [91905, 0, "n"], - [91906, 0, "t"], - [91907, 0, " "], - [91908, 0, "t"], - [91909, 0, "r"], - [91910, 0, "e"], - [91911, 0, "e"], - [91912, 0, " "], - [91913, 0, "d"], - [91914, 0, "e"], - [91915, 0, "s"], - [91916, 0, "c"], - [91917, 0, "r"], - [91918, 0, "i"], - [91919, 0, "b"], - [91920, 0, "e"], - [91921, 0, "d"], - [91922, 0, " "], - [91923, 0, "b"], - [91924, 0, "y"], - [91925, 0, " "], - [91926, 0, "t"], - [91927, 0, "h"], - [91928, 0, "e"], - [91929, 0, " "], - [91930, 0, "c"], - [91931, 0, "u"], - [91932, 0, "r"], - [91933, 0, "s"], - [91934, 0, "o"], - [91935, 0, "r"], - [91936, 0, "."], - [91937, 0, " "], - [91938, 0, "T"], - [91939, 0, "h"], - [91940, 0, "e"], - [91941, 0, "s"], - [91942, 0, "e"], - [91943, 0, " "], - [91944, 0, "s"], - [91945, 0, "t"], - [91946, 0, "a"], - [91947, 0, "t"], - [91948, 0, "e"], - [91949, 0, " "], - [91950, 0, "c"], - [91951, 0, "h"], - [91952, 0, "a"], - [91953, 0, "n"], - [91954, 0, "g"], - [91955, 0, "e"], - [91956, 0, "s"], - [91957, 0, " "], - [91958, 0, "a"], - [91959, 0, "r"], - [91960, 0, "e"], - [91961, 0, " "], - [91962, 0, "a"], - [91963, 0, "p"], - [91964, 0, "p"], - [91965, 0, "l"], - [91966, 0, "i"], - [91967, 0, "e"], - [91968, 0, "d"], - [91969, 0, " "], - [91970, 0, "u"], - [91971, 0, "s"], - [91972, 0, "i"], - [91973, 0, "n"], - [91974, 0, "g"], - [91975, 0, " "], - [91976, 0, "t"], - [91977, 0, "h"], - [91978, 0, "e"], - [91979, 0, " "], - [91980, 0, "s"], - [91981, 0, "e"], - [91982, 0, "t"], - [91983, 0, " "], - [91984, 0, "u"], - [91985, 0, "n"], - [91986, 0, "i"], - [91987, 0, "o"], - [91988, 0, "n"], - [91989, 0, " "], - [91990, 0, "o"], - [91991, 0, "p"], - [91992, 0, "e"], - [91993, 0, "r"], - [91994, 0, "a"], - [91995, 0, "t"], - [91996, 0, "o"], - [91997, 0, "r"], - [91998, 0, " "], - [91999, 0, "$"], - [92000, 0, "\\"], - [92001, 0, "c"], - [92002, 0, "u"], - [92003, 0, "p"], - [92004, 0, "$"], - [92005, 0, ","], - [92006, 0, " "], - [92007, 0, "w"], - [92008, 0, "h"], - [92009, 0, "i"], - [92010, 0, "c"], - [92011, 0, "h"], - [92012, 0, " "], - [92013, 0, "i"], - [92014, 0, "s"], - [92015, 0, " "], - [92016, 0, "c"], - [92017, 0, "o"], - [92018, 0, "m"], - [92019, 0, "m"], - [92020, 0, "u"], - [92021, 0, "t"], - [92022, 0, "a"], - [92023, 0, "t"], - [92024, 0, "i"], - [92025, 0, "v"], - [92026, 0, "e"], - [92027, 0, "."], - [92028, 0, "\n"], - [92029, 0, "\n"], - [92030, 0, "F"], - [92031, 0, "i"], - [92032, 0, "n"], - [92033, 0, "a"], - [92034, 0, "l"], - [92035, 0, "l"], - [92036, 0, "y"], - [92037, 0, " "], - [92037, 1], - [92037, 0, ","], - [92038, 0, " "], - [92039, 0, "i"], - [92040, 0, "n"], - [92041, 0, " "], - [92042, 0, "t"], - [92043, 0, "h"], - [92044, 0, "e"], - [92045, 0, " "], - [92046, 0, "c"], - [92047, 0, "a"], - [92048, 0, "s"], - [92049, 0, "e"], - [92050, 0, " "], - [92051, 0, "w"], - [92052, 0, "h"], - [92053, 0, "e"], - [92054, 0, "r"], - [92055, 0, "e"], - [92056, 0, " "], - [92057, 0, "t"], - [92058, 0, "h"], - [92059, 0, "e"], - [92060, 0, " "], - [92061, 0, "a"], - [92062, 0, "s"], - [92063, 0, "s"], - [92064, 0, "i"], - [92065, 0, "g"], - [92066, 0, "n"], - [92067, 0, "e"], - [92068, 0, "d"], - [92069, 0, " "], - [92070, 0, "v"], - [92071, 0, "a"], - [92072, 0, "l"], - [92073, 0, "u"], - [92074, 0, "e"], - [92075, 0, " "], - [92076, 0, "i"], - [92077, 0, "s"], - [92078, 0, " "], - [92079, 0, "a"], - [92080, 0, " "], - [92081, 0, "p"], - [92082, 0, "r"], - [92083, 0, "i"], - [92084, 0, "m"], - [92085, 0, "i"], - [92086, 0, "t"], - [92087, 0, "i"], - [92088, 0, "v"], - [92089, 0, "e"], - [92090, 0, " "], - [92091, 0, "a"], - [92092, 0, "n"], - [92093, 0, "d"], - [92094, 0, " "], - [92095, 0, "t"], - [92096, 0, "h"], - [92097, 0, "e"], - [92098, 0, " "], - [92099, 0, "\\"], - [92100, 0, "t"], - [92101, 0, "e"], - [92102, 0, "x"], - [92103, 0, "t"], - [92104, 0, "s"], - [92105, 0, "c"], - [92106, 0, "{"], - [92107, 0, "A"], - [92108, 0, "s"], - [92109, 0, "s"], - [92110, 0, "i"], - [92111, 0, "g"], - [92112, 0, "n"], - [92113, 0, "}"], - [92114, 0, " "], - [92115, 0, "r"], - [92116, 0, "u"], - [92117, 0, "l"], - [92118, 0, "e"], - [92119, 0, " "], - [92120, 0, "a"], - [92121, 0, "p"], - [92122, 0, "p"], - [92123, 0, "l"], - [92124, 0, "i"], - [92125, 0, "e"], - [92126, 0, "s"], - [92056, 0, " "], - [92057, 0, "v"], - [92058, 0, "a"], - [92059, 0, "l"], - [92060, 0, "u"], - [92061, 0, "e"], - [92062, 0, " "], - [92063, 0, "a"], - [92064, 0, "s"], - [92065, 0, "s"], - [92066, 0, "i"], - [92067, 0, "g"], - [92068, 0, "n"], - [92069, 0, "e"], - [92070, 0, "d"], - [92071, 0, " "], - [92072, 0, "b"], - [92073, 0, "y"], - [92074, 0, " "], - [92075, 0, "$"], - [92076, 0, "o"], - [92077, 0, "_"], - [92078, 0, "a"], - [92079, 0, "$"], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92081, 1], - [92132, 0, ","], - [92133, 0, " "], - [92134, 0, "t"], - [92135, 0, "h"], - [92136, 0, "e"], - [92137, 0, " "], - [92138, 0, "m"], - [92139, 0, "a"], - [92140, 0, "p"], - [92141, 0, "p"], - [92142, 0, "i"], - [92143, 0, "n"], - [92144, 0, "g"], - [92145, 0, " "], - [92146, 0, "f"], - [92147, 0, "r"], - [92148, 0, "o"], - [92149, 0, "m"], - [92150, 0, " "], - [92151, 0, "o"], - [92152, 0, "p"], - [92153, 0, "e"], - [92154, 0, "r"], - [92155, 0, "a"], - [92156, 0, "t"], - [92157, 0, "i"], - [92158, 0, "o"], - [92159, 0, "n"], - [92160, 0, " "], - [92161, 0, "I"], - [92162, 0, "D"], - [92163, 0, " "], - [92164, 0, "t"], - [92165, 0, "o"], - [92166, 0, " "], - [92167, 0, "v"], - [92168, 0, "a"], - [92169, 0, "l"], - [92170, 0, "u"], - [92171, 0, "e"], - [92172, 0, " "], - [92173, 0, "i"], - [92174, 0, "s"], - [92175, 0, " "], - [92176, 0, "a"], - [92177, 0, "d"], - [92178, 0, "d"], - [92179, 0, "e"], - [92180, 0, "d"], - [92181, 0, " "], - [92182, 0, "t"], - [92183, 0, "o"], - [92184, 0, " "], - [92185, 0, "t"], - [92186, 0, "h"], - [92187, 0, "e"], - [92188, 0, " "], - [92189, 0, "r"], - [92190, 0, "e"], - [92191, 0, "g"], - [92192, 0, "i"], - [92193, 0, "s"], - [92194, 0, "t"], - [92195, 0, "e"], - [92196, 0, "r"], - [92197, 0, " "], - [92198, 0, "u"], - [92199, 0, "s"], - [92200, 0, "i"], - [92201, 0, "n"], - [92202, 0, "g"], - [92203, 0, " "], - [92203, 1], - [92202, 1], - [92201, 1], - [92200, 1], - [92199, 1], - [92198, 1], - [92197, 1], - [92197, 0, ":"], - [92198, 0, " "], - [92199, 0, "#"], - [92199, 1], - [92199, 0, "$"], - [92200, 0, "\\"], - [92201, 0, "m"], - [92202, 0, "a"], - [92203, 0, "t"], - [92204, 0, "h"], - [92205, 0, "i"], - [92206, 0, "t"], - [92207, 0, "{"], - [92208, 0, "c"], - [92209, 0, "h"], - [92210, 0, "i"], - [92211, 0, "l"], - [92212, 0, "d"], - [92213, 0, "}"], - [92214, 0, "["], - [92215, 0, "\\"], - [92216, 0, ","], - [92217, 0, "\\"], - [92218, 0, "m"], - [92219, 0, "a"], - [92220, 0, "t"], - [92221, 0, "h"], - [92222, 0, "i"], - [92223, 0, "t"], - [92224, 0, "{"], - [92225, 0, "i"], - [92226, 0, "d"], - [92227, 0, "}"], - [92228, 0, " "], - [92229, 0, "\\"], - [92230, 0, "m"], - [92231, 0, "a"], - [92232, 0, "p"], - [92233, 0, "s"], - [92234, 0, "t"], - [92235, 0, "o"], - [92236, 0, " "], - [92237, 0, "\\"], - [92238, 0, "m"], - [92239, 0, "a"], - [92240, 0, "t"], - [92241, 0, "h"], - [92242, 0, "i"], - [92243, 0, "t"], - [92244, 0, "{"], - [92245, 0, "v"], - [92246, 0, "a"], - [92247, 0, "l"], - [92248, 0, "}"], - [92249, 0, "\\"], - [92250, 0, ","], - [92251, 0, "]"], - [92252, 0, "$"], - [92253, 0, "."], - [92197, 1], - [92197, 0, " "], - [92198, 0, "b"], - [92199, 0, "y"], - [92200, 0, " "], - [92201, 0, "t"], - [92202, 0, "h"], - [92203, 0, "e"], - [92204, 0, " "], - [92205, 0, "e"], - [92206, 0, "x"], - [92207, 0, "p"], - [92208, 0, "r"], - [92209, 0, "e"], - [92210, 0, "s"], - [92211, 0, "s"], - [92212, 0, "i"], - [92213, 0, "o"], - [92214, 0, "n"], - [92271, 0, " "], - [92272, 0, "S"], - [92273, 0, "i"], - [92274, 0, "n"], - [92275, 0, "c"], - [92276, 0, "e"], - [92277, 0, " "], - [92278, 0, "o"], - [92279, 0, "p"], - [92280, 0, "e"], - [92281, 0, "r"], - [92282, 0, "a"], - [92283, 0, "t"], - [92284, 0, "i"], - [92285, 0, "o"], - [92286, 0, "n"], - [92287, 0, " "], - [92288, 0, "I"], - [92289, 0, "D"], - [92290, 0, "s"], - [92291, 0, " "], - [92292, 0, "("], - [92293, 0, "L"], - [92294, 0, "a"], - [92295, 0, "m"], - [92296, 0, "p"], - [92297, 0, "o"], - [92298, 0, "r"], - [92299, 0, "t"], - [92300, 0, " "], - [92301, 0, "t"], - [92302, 0, "i"], - [92303, 0, "m"], - [92304, 0, "e"], - [92305, 0, "s"], - [92306, 0, "t"], - [92307, 0, "a"], - [92308, 0, "m"], - [92309, 0, "p"], - [92310, 0, "s"], - [92311, 0, ")"], - [92312, 0, " "], - [92313, 0, "a"], - [92314, 0, "r"], - [92315, 0, "e"], - [92316, 0, " "], - [92317, 0, "u"], - [92318, 0, "n"], - [92319, 0, "i"], - [92320, 0, "q"], - [92321, 0, "u"], - [92322, 0, "e"], - [92323, 0, ","], - [92324, 0, " "], - [92325, 0, "a"], - [92326, 0, "n"], - [92327, 0, "d"], - [92328, 0, " "], - [92329, 0, "c"], - [92330, 0, "o"], - [92331, 0, "n"], - [92332, 0, "c"], - [92333, 0, "u"], - [92334, 0, "r"], - [92335, 0, "r"], - [92336, 0, "e"], - [92337, 0, "n"], - [92338, 0, "t"], - [92339, 0, " "], - [92340, 0, "d"], - [92341, 0, "e"], - [92342, 0, "l"], - [92343, 0, "e"], - [92344, 0, "t"], - [92345, 0, "i"], - [92346, 0, "o"], - [92347, 0, "n"], - [92348, 0, " "], - [92349, 0, "o"], - [92350, 0, "p"], - [92351, 0, "e"], - [92352, 0, "r"], - [92353, 0, "a"], - [92354, 0, "t"], - [92355, 0, "i"], - [92356, 0, "o"], - [92357, 0, "n"], - [92358, 0, "s"], - [92359, 0, " "], - [92360, 0, "d"], - [92361, 0, "o"], - [92362, 0, " "], - [92363, 0, "n"], - [92364, 0, "o"], - [92365, 0, "t"], - [92366, 0, " "], - [92367, 0, "r"], - [92368, 0, "e"], - [92369, 0, "m"], - [92370, 0, "o"], - [92371, 0, "v"], - [92372, 0, "e"], - [92373, 0, " "], - [92374, 0, "\\"], - [92375, 0, "m"], - [92376, 0, "a"], - [92377, 0, "t"], - [92378, 0, "h"], - [92379, 0, "i"], - [92380, 0, "t"], - [92381, 0, "{"], - [92382, 0, "i"], - [92383, 0, "d"], - [92384, 0, "}"], - [92385, 0, " "], - [92386, 0, "f"], - [92387, 0, "r"], - [92388, 0, "o"], - [92389, 0, "m"], - [92390, 0, " "], - [92391, 0, "t"], - [92392, 0, "h"], - [92393, 0, "e"], - [92394, 0, " "], - [92395, 0, "m"], - [92396, 0, "a"], - [92397, 0, "p"], - [92398, 0, "p"], - [92399, 0, "i"], - [92400, 0, "n"], - [92401, 0, "g"], - [92402, 0, ","], - [92403, 0, " "], - [92404, 0, "a"], - [92405, 0, " "], - [92406, 0, "c"], - [92407, 0, "o"], - [92408, 0, "n"], - [92409, 0, "c"], - [92410, 0, "u"], - [92411, 0, "r"], - [92412, 0, "r"], - [92413, 0, "e"], - [92414, 0, "n"], - [92415, 0, "t"], - [92416, 0, " "], - [92417, 0, "o"], - [92418, 0, "p"], - [92419, 0, "e"], - [92420, 0, "r"], - [92421, 0, "a"], - [92422, 0, "t"], - [92423, 0, "i"], - [92424, 0, "o"], - [92425, 0, "n"], - [92426, 0, " "], - [92427, 0, "c"], - [92428, 0, "a"], - [92429, 0, "n"], - [92430, 0, "n"], - [92431, 0, "o"], - [92432, 0, "t"], - [92433, 0, " "], - [92434, 0, "a"], - [92435, 0, "f"], - [92436, 0, "f"], - [92437, 0, "e"], - [92438, 0, "c"], - [92439, 0, "t"], - [92440, 0, " "], - [92441, 0, "t"], - [92442, 0, "h"], - [92443, 0, "e"], - [92444, 0, " "], - [92445, 0, "m"], - [92446, 0, "a"], - [92447, 0, "p"], - [92448, 0, "p"], - [92449, 0, "i"], - [92450, 0, "n"], - [92451, 0, "g"], - [92452, 0, " "], - [92453, 0, "o"], - [92454, 0, "f"], - [92455, 0, " "], - [92456, 0, "#"], - [92456, 1], - [92456, 0, "$"], - [92457, 0, "\\"], - [92458, 0, "m"], - [92459, 0, "a"], - [92460, 0, "t"], - [92461, 0, "h"], - [92462, 0, "i"], - [92463, 0, "t"], - [92464, 0, "{"], - [92465, 0, "i"], - [92466, 0, "d"], - [92467, 0, "}"], - [92468, 0, "$"], - [92469, 0, "."], - [92271, 0, " "], - [92271, 1], - [92469, 0, ","], - [92470, 0, " "], - [92471, 0, "r"], - [92472, 0, "e"], - [92473, 0, "g"], - [92474, 0, "a"], - [92475, 0, "r"], - [92476, 0, "d"], - [92477, 0, "l"], - [92478, 0, "e"], - [92479, 0, "s"], - [92480, 0, "s"], - [92481, 0, " "], - [92482, 0, "o"], - [92483, 0, "f"], - [92484, 0, " "], - [92485, 0, "w"], - [92486, 0, "h"], - [92487, 0, "e"], - [92488, 0, "t"], - [92489, 0, "h"], - [92490, 0, "e"], - [92491, 0, "r"], - [92492, 0, " "], - [92493, 0, "i"], - [92494, 0, "t"], - [92495, 0, " "], - [92496, 0, "i"], - [92497, 0, "s"], - [92498, 0, " "], - [92499, 0, "a"], - [92500, 0, "p"], - [92501, 0, "p"], - [92502, 0, "l"], - [92503, 0, "i"], - [92504, 0, "e"], - [92505, 0, "d"], - [92506, 0, " "], - [92507, 0, "b"], - [92508, 0, "e"], - [92509, 0, "f"], - [92510, 0, "o"], - [92511, 0, "r"], - [92512, 0, "e"], - [92513, 0, " "], - [92514, 0, "o"], - [92515, 0, "r"], - [92516, 0, " "], - [92517, 0, "a"], - [92518, 0, "f"], - [92519, 0, "t"], - [92520, 0, "e"], - [92521, 0, "r"], - [92432, 1], - [92431, 1], - [92430, 1], - [92429, 1], - [92428, 1], - [92427, 1], - [92427, 0, "d"], - [92428, 0, "o"], - [92429, 0, "e"], - [92430, 0, "s"], - [92520, 0, " "], - [92521, 0, "$"], - [92522, 0, "o"], - [92523, 0, "_"], - [92524, 0, "a"], - [92525, 0, "$"], - [92527, 0, "\n"], - [92528, 0, "\n"], - [92529, 0, "I"], - [92530, 0, "f"], - [92531, 0, " "], - [92532, 0, "$"], - [92533, 0, "o"], - [92534, 0, "_"], - [92535, 0, "a"], - [92536, 0, "."], - [92537, 0, "\\"], - [92538, 0, "m"], - [92539, 0, "a"], - [92540, 0, "t"], - [92541, 0, "h"], - [92542, 0, "i"], - [92543, 0, "t"], - [92544, 0, "{"], - [92545, 0, "c"], - [92546, 0, "u"], - [92547, 0, "r"], - [92548, 0, "s"], - [92549, 0, "o"], - [92550, 0, "r"], - [92551, 0, "}"], - [92552, 0, " "], - [92553, 0, "\\"], - [92554, 0, "n"], - [92555, 0, "o"], - [92556, 0, "t"], - [92557, 0, "="], - [92558, 0, " "], - [92559, 0, "o"], - [92560, 0, "_"], - [92561, 0, "c"], - [92562, 0, "."], - [92563, 0, "\\"], - [92564, 0, "m"], - [92565, 0, "a"], - [92566, 0, "t"], - [92567, 0, "h"], - [92568, 0, "i"], - [92569, 0, "t"], - [92570, 0, "{"], - [92571, 0, "c"], - [92572, 0, "u"], - [92573, 0, "r"], - [92574, 0, "s"], - [92575, 0, "o"], - [92576, 0, "r"], - [92577, 0, "}"], - [92578, 0, "$"], - [92579, 0, ","], - [92580, 0, " "], - [92581, 0, "t"], - [92582, 0, "h"], - [92583, 0, "e"], - [92584, 0, " "], - [92585, 0, "u"], - [92586, 0, "p"], - [92587, 0, "d"], - [92588, 0, "a"], - [92589, 0, "t"], - [92590, 0, "e"], - [92591, 0, "s"], - [92592, 0, " "], - [92592, 1], - [92591, 1], - [92590, 1], - [92589, 1], - [92588, 1], - [92587, 1], - [92586, 1], - [92585, 1], - [92585, 0, "o"], - [92586, 0, "p"], - [92587, 0, "e"], - [92588, 0, "r"], - [92589, 0, "a"], - [92590, 0, "t"], - [92591, 0, "i"], - [92592, 0, "o"], - [92593, 0, "n"], - [92594, 0, "s"], - [92595, 0, " "], - [92596, 0, "a"], - [92597, 0, "p"], - [92598, 0, "p"], - [92599, 0, "l"], - [92600, 0, "y"], - [92601, 0, " "], - [92602, 0, "t"], - [92603, 0, "o"], - [92604, 0, " "], - [92531, 0, " "], - [92532, 0, "$"], - [92533, 0, "o"], - [92534, 0, "_"], - [92535, 0, "c"], - [92536, 0, "$"], - [92537, 0, " "], - [92538, 0, "i"], - [92539, 0, "s"], - [92540, 0, " "], - [92541, 0, "n"], - [92542, 0, "o"], - [92543, 0, "t"], - [92544, 0, " "], - [92545, 0, "a"], - [92546, 0, "n"], - [92547, 0, " "], - [92548, 0, "a"], - [92549, 0, "s"], - [92550, 0, "s"], - [92551, 0, "i"], - [92552, 0, "g"], - [92553, 0, "n"], - [92554, 0, "m"], - [92555, 0, "e"], - [92556, 0, "n"], - [92557, 0, "t"], - [92558, 0, " "], - [92559, 0, "o"], - [92560, 0, "p"], - [92561, 0, "e"], - [92562, 0, "r"], - [92563, 0, "a"], - [92564, 0, "t"], - [92565, 0, "i"], - [92566, 0, "o"], - [92567, 0, "n"], - [92568, 0, " "], - [92569, 0, "o"], - [92570, 0, "r"], - [92571, 0, " "], - [92572, 0, "i"], - [92573, 0, "f"], - [92647, 1], - [92646, 1], - [92645, 1], - [92644, 1], - [92643, 1], - [92642, 1], - [92641, 1], - [92640, 1], - [92639, 1], - [92639, 0, "a"], - [92640, 0, "r"], - [92641, 0, "e"], - [92642, 0, " "], - [92643, 0, "i"], - [92644, 0, "n"], - [92645, 0, "d"], - [92646, 0, "e"], - [92647, 0, "p"], - [92648, 0, "e"], - [92649, 0, "n"], - [92650, 0, "d"], - [92651, 0, "e"], - [92652, 0, "n"], - [92653, 0, "t"], - [92654, 0, " "], - [92655, 0, "a"], - [92656, 0, "n"], - [92657, 0, "d"], - [92658, 0, " "], - [92659, 0, "t"], - [92660, 0, "h"], - [92661, 0, "u"], - [92662, 0, "s"], - [92663, 0, " "], - [92664, 0, "t"], - [92665, 0, "r"], - [92666, 0, "i"], - [92667, 0, "v"], - [92668, 0, "i"], - [92669, 0, "a"], - [92670, 0, "l"], - [92671, 0, "l"], - [92672, 0, "y"], - [92673, 0, " "], - [92674, 0, "c"], - [92675, 0, "o"], - [92676, 0, "m"], - [92677, 0, "m"], - [92678, 0, "u"], - [92679, 0, "t"], - [92680, 0, "a"], - [92681, 0, "t"], - [92682, 0, "i"], - [92683, 0, "v"], - [92684, 0, "e"], - [92685, 0, "."], - [92686, 0, " "], - [92687, 0, "I"], - [92688, 0, "f"], - [92689, 0, " "], - [92690, 0, "$"], - [92691, 0, "o"], - [92692, 0, "_"], - [92693, 0, "a"], - [92694, 0, "$"], - [92695, 0, " "], - [92696, 0, "a"], - [92697, 0, "n"], - [92698, 0, "d"], - [92699, 0, " "], - [92700, 0, "$"], - [92701, 0, "o"], - [92702, 0, "_"], - [92703, 0, "c"], - [92704, 0, "$"], - [92705, 0, " "], - [92706, 0, "a"], - [92707, 0, "r"], - [92708, 0, "e"], - [92709, 0, " "], - [92710, 0, "a"], - [92711, 0, "s"], - [92712, 0, "s"], - [92713, 0, "i"], - [92714, 0, "g"], - [92715, 0, "n"], - [92716, 0, "m"], - [92717, 0, "e"], - [92718, 0, "n"], - [92719, 0, "t"], - [92720, 0, "s"], - [92721, 0, " "], - [92722, 0, "t"], - [92723, 0, "o"], - [92724, 0, " "], - [92725, 0, "t"], - [92726, 0, "h"], - [92727, 0, "e"], - [92728, 0, " "], - [92729, 0, "s"], - [92730, 0, "a"], - [92731, 0, "m"], - [92732, 0, "e"], - [92733, 0, " "], - [92734, 0, "c"], - [92735, 0, "u"], - [92736, 0, "r"], - [92737, 0, "s"], - [92738, 0, "o"], - [92739, 0, "r"], - [92740, 0, ","], - [92741, 0, " "], - [92742, 0, "w"], - [92743, 0, "e"], - [92744, 0, " "], - [92745, 0, "u"], - [92746, 0, "s"], - [92747, 0, "e"], - [92748, 0, " "], - [92749, 0, "t"], - [92750, 0, "h"], - [92751, 0, "e"], - [92752, 0, " "], - [92753, 0, "f"], - [92754, 0, "a"], - [92755, 0, "c"], - [92756, 0, "t"], - [92757, 0, " "], - [92758, 0, "t"], - [92759, 0, "h"], - [92760, 0, "a"], - [92761, 0, "t"], - [92762, 0, " "], - [92763, 0, "t"], - [92764, 0, "h"], - [92765, 0, "e"], - [92766, 0, " "], - [92767, 0, "o"], - [92768, 0, "r"], - [92769, 0, "d"], - [92770, 0, "e"], - [92771, 0, "r"], - [92772, 0, " "], - [92773, 0, "o"], - [92774, 0, "f"], - [92775, 0, " "], - [92776, 0, "u"], - [92777, 0, "p"], - [92778, 0, "d"], - [92779, 0, "a"], - [92780, 0, "t"], - [92781, 0, "e"], - [92782, 0, "s"], - [92783, 0, " "], - [92784, 0, "t"], - [92785, 0, "o"], - [92786, 0, " "], - [92787, 0, "a"], - [92788, 0, " "], - [92789, 0, "p"], - [92790, 0, "a"], - [92791, 0, "r"], - [92792, 0, "t"], - [92793, 0, "i"], - [92794, 0, "a"], - [92795, 0, "l"], - [92796, 0, " "], - [92797, 0, "f"], - [92798, 0, "u"], - [92799, 0, "n"], - [92800, 0, "c"], - [92801, 0, "t"], - [92802, 0, "i"], - [92803, 0, "o"], - [92804, 0, "n"], - [92775, 1], - [92774, 1], - [92773, 1], - [92772, 1], - [92771, 1], - [92770, 1], - [92769, 1], - [92768, 1], - [92767, 1], - [92766, 1], - [92765, 1], - [92764, 1], - [92763, 1], - [92791, 1], - [92790, 1], - [92789, 1], - [92788, 1], - [92787, 1], - [92786, 1], - [92785, 1], - [92784, 1], - [92783, 1], - [92782, 1], - [92781, 1], - [92780, 1], - [92779, 1], - [92778, 1], - [92777, 1], - [92776, 1], - [92775, 1], - [92774, 1], - [92773, 1], - [92772, 1], - [92771, 1], - [92770, 1], - [92769, 1], - [92768, 1], - [92767, 1], - [92766, 1], - [92765, 1], - [92764, 1], - [92763, 1], - [92763, 0, "$"], - [92764, 0, "\\"], - [92765, 0, "m"], - [92766, 0, "a"], - [92767, 0, "t"], - [92768, 0, "h"], - [92769, 0, "i"], - [92770, 0, "t"], - [92771, 0, "{"], - [92772, 0, "c"], - [92773, 0, "h"], - [92774, 0, "i"], - [92775, 0, "l"], - [92776, 0, "d"], - [92777, 0, "}"], - [92778, 0, "["], - [92779, 0, "\\"], - [92780, 0, ","], - [92781, 0, "\\"], - [92782, 0, "m"], - [92783, 0, "a"], - [92784, 0, "t"], - [92785, 0, "h"], - [92786, 0, "i"], - [92787, 0, "t"], - [92788, 0, "{"], - [92789, 0, "i"], - [92790, 0, "d"], - [92791, 0, "}"], - [92792, 0, "_"], - [92793, 0, "1"], - [92794, 0, " "], - [92795, 0, "\\"], - [92796, 0, "m"], - [92797, 0, "a"], - [92798, 0, "p"], - [92799, 0, "s"], - [92800, 0, "t"], - [92801, 0, "o"], - [92802, 0, " "], - [92803, 0, "\\"], - [92804, 0, "m"], - [92805, 0, "a"], - [92806, 0, "t"], - [92807, 0, "h"], - [92808, 0, "i"], - [92809, 0, "t"], - [92810, 0, "{"], - [92811, 0, "v"], - [92812, 0, "a"], - [92813, 0, "l"], - [92814, 0, "_"], - [92814, 1], - [92814, 0, "}"], - [92815, 0, "_"], - [92816, 0, "1"], - [92817, 0, "\\"], - [92818, 0, ","], - [92819, 0, "]"], - [92820, 0, "["], - [92821, 0, ","], - [92821, 1], - [92821, 0, "\\"], - [92822, 0, ","], - [92823, 0, "\\"], - [92824, 0, "m"], - [92825, 0, "a"], - [92826, 0, "t"], - [92827, 0, "h"], - [92828, 0, "i"], - [92829, 0, "t"], - [92830, 0, "{"], - [92831, 0, "i"], - [92832, 0, "d"], - [92833, 0, "}"], - [92834, 0, "_"], - [92835, 0, "2"], - [92836, 0, " "], - [92837, 0, "\\"], - [92838, 0, "m"], - [92839, 0, "a"], - [92840, 0, "p"], - [92841, 0, "s"], - [92842, 0, "t"], - [92843, 0, "o"], - [92844, 0, " "], - [92845, 0, "\\"], - [92846, 0, "m"], - [92847, 0, "a"], - [92848, 0, "t"], - [92849, 0, "h"], - [92850, 0, "i"], - [92851, 0, "t"], - [92852, 0, "{"], - [92853, 0, "v"], - [92854, 0, "a"], - [92855, 0, "l"], - [92856, 0, "}"], - [92857, 0, "_"], - [92858, 0, "2"], - [92859, 0, "\\"], - [92860, 0, ","], - [92861, 0, "]"], - [92862, 0, " "], - [92863, 0, "="], - [92864, 0, " "], - [92865, 0, "\\"], - [92866, 0, "m"], - [92867, 0, "a"], - [92868, 0, "t"], - [92869, 0, "h"], - [92870, 0, "i"], - [92871, 0, "t"], - [92872, 0, "{"], - [92873, 0, "c"], - [92874, 0, "h"], - [92875, 0, "i"], - [92876, 0, "l"], - [92877, 0, "d"], - [92878, 0, "}"], - [92879, 0, "["], - [92880, 0, "\\"], - [92881, 0, ","], - [92882, 0, "\\"], - [92883, 0, "m"], - [92884, 0, "a"], - [92885, 0, "t"], - [92886, 0, "h"], - [92887, 0, "i"], - [92888, 0, "t"], - [92889, 0, "{"], - [92890, 0, "i"], - [92891, 0, "d"], - [92892, 0, "}"], - [92893, 0, "_"], - [92894, 0, "2"], - [92895, 0, " "], - [92896, 0, "\\"], - [92897, 0, "m"], - [92898, 0, "a"], - [92899, 0, "p"], - [92900, 0, "s"], - [92901, 0, "t"], - [92902, 0, "o"], - [92903, 0, " "], - [92904, 0, "\\"], - [92905, 0, "m"], - [92906, 0, "a"], - [92907, 0, "t"], - [92908, 0, "h"], - [92909, 0, "i"], - [92910, 0, "t"], - [92911, 0, "{"], - [92912, 0, "v"], - [92913, 0, "a"], - [92914, 0, "l"], - [92915, 0, "}"], - [92916, 0, "_"], - [92917, 0, "2"], - [92918, 0, "\\"], - [92919, 0, ","], - [92920, 0, "]"], - [92921, 0, "["], - [92820, 0, "\\"], - [92821, 0, ","], - [92923, 0, "\\"], - [92924, 0, ","], - [92926, 0, "\\"], - [92927, 0, ","], - [92928, 0, "\\"], - [92929, 0, "m"], - [92930, 0, "a"], - [92931, 0, "t"], - [92932, 0, "h"], - [92933, 0, "i"], - [92934, 0, "t"], - [92935, 0, "{"], - [92936, 0, "i"], - [92937, 0, "d"], - [92938, 0, "}"], - [92939, 0, "_"], - [92940, 0, "1"], - [92941, 0, " "], - [92942, 0, "\\"], - [92943, 0, "m"], - [92944, 0, "a"], - [92945, 0, "p"], - [92946, 0, "s"], - [92947, 0, "t"], - [92948, 0, "o"], - [92949, 0, " "], - [92950, 0, "\\"], - [92951, 0, "m"], - [92952, 0, "a"], - [92953, 0, "t"], - [92954, 0, "h"], - [92955, 0, "i"], - [92956, 0, "t"], - [92957, 0, "{"], - [92958, 0, "v"], - [92959, 0, "a"], - [92960, 0, "l"], - [92961, 0, "}"], - [92962, 0, "_"], - [92963, 0, "1"], - [92964, 0, "]"], - [92964, 1], - [92964, 0, "\\"], - [92965, 0, ","], - [92966, 0, "]"], - [92967, 0, "$"], - [92968, 0, " "], - [92969, 0, "p"], - [92970, 0, "r"], - [92971, 0, "o"], - [92972, 0, "v"], - [92973, 0, "i"], - [92974, 0, "d"], - [92975, 0, "e"], - [92976, 0, "d"], - [92977, 0, " "], - [92978, 0, "t"], - [92979, 0, "h"], - [92980, 0, "a"], - [92981, 0, "t"], - [92982, 0, " "], - [92983, 0, "$"], - [92984, 0, "\\"], - [92985, 0, "m"], - [92986, 0, "a"], - [92987, 0, "t"], - [92988, 0, "h"], - [92989, 0, "i"], - [92990, 0, "t"], - [92991, 0, "{"], - [92992, 0, "i"], - [92993, 0, "d"], - [92994, 0, "}"], - [92995, 0, "_"], - [92996, 0, "1"], - [92997, 0, " "], - [92998, 0, "\\"], - [92999, 0, "n"], - [93000, 0, "o"], - [93001, 0, "t"], - [93002, 0, "="], - [93003, 0, " "], - [93004, 0, "\\"], - [93005, 0, "m"], - [93006, 0, "a"], - [93007, 0, "t"], - [93008, 0, "h"], - [93009, 0, "i"], - [93010, 0, "t"], - [93011, 0, "{"], - [93012, 0, "k"], - [93013, 0, "i"], - [93014, 0, "d"], - [93014, 1], - [93013, 1], - [93012, 1], - [93012, 0, "i"], - [93013, 0, "d"], - [93014, 0, "}"], - [93015, 0, "_"], - [93016, 0, "2"], - [93017, 0, "$"], - [93018, 0, "."], - [92374, 0, "$"], - [92386, 0, "$"], - [92763, 1], - [92762, 1], - [92761, 1], - [92760, 1], - [92759, 1], - [92758, 1], - [92757, 1], - [92756, 1], - [92755, 1], - [92755, 0, "c"], - [92756, 0, "o"], - [92757, 0, "m"], - [92758, 0, "m"], - [92759, 0, "u"], - [92760, 0, "t"], - [92761, 0, "a"], - [92762, 0, "t"], - [92763, 0, "i"], - [92764, 0, "v"], - [92765, 0, "i"], - [92766, 0, "t"], - [92767, 0, "y"], - [92768, 0, " "], - [92769, 0, "o"], - [92770, 0, "f"], - [92771, 0, " "], - [92772, 0, "i"], - [92773, 0, "n"], - [92774, 0, "d"], - [92775, 0, "e"], - [92776, 0, "p"], - [92777, 0, "d"], - [92777, 1], - [92777, 0, "e"], - [92778, 0, "n"], - [92779, 0, "d"], - [92780, 0, "e"], - [92781, 0, "n"], - [92782, 0, "t"], - [92783, 0, " "], - [92784, 0, "u"], - [92785, 0, "p"], - [92786, 0, "d"], - [92787, 0, "a"], - [92788, 0, "t"], - [92789, 0, "e"], - [92790, 0, "s"], - [92791, 0, " "], - [92792, 0, "t"], - [92793, 0, "o"], - [92794, 0, " "], - [92795, 0, "a"], - [92796, 0, " "], - [92797, 0, "p"], - [92798, 0, "a"], - [92799, 0, "r"], - [92800, 0, "t"], - [92801, 0, "i"], - [92802, 0, "a"], - [92803, 0, "l"], - [92804, 0, " "], - [92805, 0, "f"], - [92806, 0, "u"], - [92807, 0, "n"], - [92808, 0, "c"], - [92809, 0, "t"], - [92810, 0, "i"], - [92811, 0, "o"], - [92812, 0, "n"], - [92813, 0, ":"], - [93071, 0, "\n"], - [93072, 0, "\n"], - [93073, 0, "T"], - [93074, 0, "h"], - [93075, 0, "u"], - [93076, 0, "s"], - [93077, 0, ","], - [93078, 0, " "], - [93079, 0, "f"], - [93080, 0, "o"], - [93081, 0, "r"], - [93082, 0, " "], - [93083, 0, "a"], - [93084, 0, "l"], - [93085, 0, "l"], - [93086, 0, " "], - [93086, 1], - [93085, 1], - [93084, 1], - [93083, 1], - [93082, 1], - [93081, 1], - [93080, 1], - [93079, 1], - [93079, 0, "a"], - [93080, 0, "l"], - [93081, 0, "l"], - [93082, 0, " "], - [93083, 0, "p"], - [93084, 0, "a"], - [93085, 0, "r"], - [93086, 0, "t"], - [93087, 0, "s"], - [93088, 0, " "], - [93089, 0, "o"], - [93090, 0, "f"], - [93091, 0, " "], - [93092, 0, "t"], - [93093, 0, "h"], - [93094, 0, "e"], - [93095, 0, " "], - [93096, 0, "p"], - [93097, 0, "r"], - [93098, 0, "o"], - [93099, 0, "c"], - [93100, 0, "e"], - [93101, 0, "s"], - [93102, 0, "s"], - [93103, 0, " "], - [93104, 0, "o"], - [93105, 0, "f"], - [93106, 0, " "], - [93107, 0, "a"], - [93108, 0, "p"], - [93109, 0, "p"], - [93110, 0, "l"], - [93111, 0, "y"], - [93112, 0, "i"], - [93113, 0, "n"], - [93114, 0, "g"], - [93115, 0, " "], - [93116, 0, "$"], - [93117, 0, "o"], - [93118, 0, "_"], - [93119, 0, "c"], - [93119, 1], - [93119, 0, "a"], - [93120, 0, "$"], - [93121, 0, " "], - [93122, 0, "h"], - [93123, 0, "a"], - [93124, 0, "v"], - [93125, 0, "e"], - [93126, 0, " "], - [93127, 0, "t"], - [93128, 0, "h"], - [93129, 0, "e"], - [93130, 0, " "], - [93131, 0, "s"], - [93132, 0, "a"], - [93133, 0, "m"], - [93134, 0, "e"], - [93135, 0, " "], - [93136, 0, "e"], - [93137, 0, "f"], - [93138, 0, "f"], - [93139, 0, "e"], - [93140, 0, "c"], - [93141, 0, "t"], - [93142, 0, ","], - [93143, 0, " "], - [93144, 0, "r"], - [93145, 0, "e"], - [93146, 0, "g"], - [93147, 0, "a"], - [93148, 0, "r"], - [93149, 0, "d"], - [93150, 0, "l"], - [93151, 0, "e"], - [93152, 0, "s"], - [93153, 0, "s"], - [93154, 0, " "], - [93155, 0, "o"], - [93156, 0, "f"], - [93157, 0, " "], - [93158, 0, "w"], - [93159, 0, "h"], - [93160, 0, "e"], - [93161, 0, "t"], - [93162, 0, "h"], - [93163, 0, "e"], - [93164, 0, "r"], - [93165, 0, " "], - [93166, 0, "$"], - [93167, 0, "o"], - [93168, 0, "_"], - [93169, 0, "c"], - [93170, 0, "$"], - [93171, 0, " "], - [93172, 0, "w"], - [93173, 0, "a"], - [93174, 0, "s"], - [93175, 0, " "], - [93176, 0, "a"], - [93177, 0, "p"], - [93178, 0, "p"], - [93179, 0, "l"], - [93180, 0, "i"], - [93181, 0, "e"], - [93182, 0, "d"], - [93183, 0, " "], - [93184, 0, "b"], - [93185, 0, "e"], - [93186, 0, "f"], - [93187, 0, "o"], - [93188, 0, "r"], - [93189, 0, "e"], - [93190, 0, " "], - [93191, 0, "o"], - [93192, 0, "r"], - [93193, 0, " "], - [93194, 0, "a"], - [93195, 0, "f"], - [93196, 0, "t"], - [93197, 0, "e"], - [93198, 0, "r"], - [93199, 0, " "], - [93200, 0, "$"], - [93201, 0, "o"], - [93202, 0, "_"], - [93203, 0, "a"], - [93204, 0, "$"], - [93205, 0, "."], - [93142, 0, " "], - [93143, 0, "o"], - [93144, 0, "n"], - [93145, 0, " "], - [93146, 0, "t"], - [93147, 0, "h"], - [93148, 0, "e"], - [93149, 0, " "], - [93150, 0, "d"], - [93151, 0, "o"], - [93152, 0, "c"], - [93153, 0, "u"], - [93154, 0, "m"], - [93155, 0, "e"], - [93156, 0, "n"], - [93157, 0, "t"], - [93158, 0, " "], - [93159, 0, "s"], - [93160, 0, "t"], - [93161, 0, "a"], - [93162, 0, "t"], - [93163, 0, "e"], - [93196, 1], - [93195, 1], - [93194, 1], - [93194, 0, "i"], - [93195, 0, "s"], - [93226, 0, ","], - [93227, 0, " "], - [93228, 0, "s"], - [93229, 0, "o"], - [93230, 0, " "], - [93231, 0, "t"], - [93232, 0, "h"], - [93233, 0, "e"], - [93234, 0, " "], - [93235, 0, "o"], - [93236, 0, "p"], - [93237, 0, "p"], - [93237, 1], - [93237, 0, "e"], - [93238, 0, "r"], - [93239, 0, "a"], - [93240, 0, "t"], - [93241, 0, "i"], - [93242, 0, "o"], - [93243, 0, "n"], - [93244, 0, "s"], - [93245, 0, " "], - [93246, 0, "c"], - [93247, 0, "o"], - [93248, 0, "m"], - [93249, 0, "m"], - [93250, 0, "u"], - [93251, 0, "t"], - [93252, 0, "e"], - [93071, 0, " "], - [93072, 0, "S"], - [93073, 0, "i"], - [93074, 0, "n"], - [93075, 0, "c"], - [93076, 0, "e"], - [93077, 0, " "], - [93078, 0, "o"], - [93079, 0, "p"], - [93080, 0, "e"], - [93081, 0, "r"], - [93082, 0, "a"], - [93083, 0, "t"], - [93084, 0, "i"], - [93085, 0, "o"], - [93086, 0, "n"], - [93087, 0, " "], - [93088, 0, "I"], - [93089, 0, "D"], - [93090, 0, "s"], - [93091, 0, " "], - [93092, 0, "("], - [93093, 0, "L"], - [93094, 0, "a"], - [93095, 0, "m"], - [93096, 0, "p"], - [93097, 0, "o"], - [93098, 0, "r"], - [93099, 0, "t"], - [93100, 0, " "], - [93101, 0, "t"], - [93102, 0, "i"], - [93103, 0, "m"], - [93104, 0, "e"], - [93105, 0, "s"], - [93106, 0, "t"], - [93107, 0, "a"], - [93108, 0, "m"], - [93109, 0, "p"], - [93110, 0, "s"], - [93111, 0, ")"], - [93112, 0, " "], - [93113, 0, "a"], - [93114, 0, "r"], - [93115, 0, "e"], - [93116, 0, " "], - [93117, 0, "u"], - [93118, 0, "n"], - [93119, 0, "i"], - [93120, 0, "q"], - [93121, 0, "u"], - [93122, 0, "e"], - [93123, 0, ","], - [93124, 0, " "], - [93125, 0, "t"], - [93126, 0, "w"], - [93127, 0, "o"], - [93128, 0, " "], - [93129, 0, "c"], - [93130, 0, "o"], - [93131, 0, "n"], - [93132, 0, "c"], - [93133, 0, "u"], - [93134, 0, "r"], - [93135, 0, "r"], - [93136, 0, "e"], - [93137, 0, "n"], - [93138, 0, "t"], - [93139, 0, " "], - [93140, 0, "a"], - [93141, 0, "s"], - [93142, 0, "s"], - [93143, 0, "i"], - [93144, 0, "g"], - [93145, 0, "n"], - [93146, 0, "m"], - [93147, 0, "e"], - [93148, 0, "n"], - [93149, 0, "t"], - [93150, 0, "s"], - [93151, 0, " "], - [93152, 0, "a"], - [93153, 0, "d"], - [93154, 0, "d"], - [93155, 0, " "], - [93156, 0, "t"], - [93157, 0, "w"], - [93158, 0, "o"], - [93159, 0, " "], - [93160, 0, "d"], - [93161, 0, "i"], - [93162, 0, "f"], - [93163, 0, "f"], - [93164, 0, "e"], - [93165, 0, "r"], - [93166, 0, "e"], - [93167, 0, "n"], - [93168, 0, "t"], - [93169, 0, " "], - [93170, 0, "k"], - [93171, 0, "e"], - [93172, 0, "y"], - [93173, 0, "s"], - [93174, 0, " "], - [93175, 0, "t"], - [93176, 0, "o"], - [93177, 0, " "], - [93178, 0, "t"], - [93179, 0, "h"], - [93180, 0, "e"], - [93181, 0, " "], - [93182, 0, "m"], - [93183, 0, "a"], - [93184, 0, "p"], - [93185, 0, "p"], - [93186, 0, "i"], - [93187, 0, "n"], - [93188, 0, "g"], - [93189, 0, "."], - [93189, 0, ","], - [93190, 0, " "], - [93191, 0, "a"], - [93192, 0, "n"], - [93193, 0, "d"], - [93194, 0, " "], - [93195, 0, "t"], - [93196, 0, "h"], - [93197, 0, "e"], - [93198, 0, "i"], - [93199, 0, "r"], - [93200, 0, " "], - [93201, 0, "o"], - [93202, 0, "r"], - [93203, 0, "d"], - [93204, 0, "e"], - [93205, 0, "r"], - [93206, 0, " "], - [93207, 0, "i"], - [93208, 0, "s"], - [93209, 0, " "], - [93210, 0, "i"], - [93211, 0, "m"], - [93212, 0, "m"], - [93213, 0, "a"], - [93214, 0, "t"], - [93215, 0, "e"], - [93216, 0, "r"], - [93217, 0, "i"], - [93218, 0, "a"], - [93219, 0, "l"], - [92530, 1], - [92529, 1], - [92528, 1], - [92527, 1], - [92526, 1], - [92525, 1], - [92524, 1], - [92523, 1], - [92522, 1], - [92521, 1], - [92520, 1], - [92519, 1], - [92518, 1], - [92517, 1], - [92516, 1], - [92515, 1], - [92514, 1], - [92513, 1], - [92512, 1], - [92511, 1], - [92510, 1], - [92509, 1], - [92508, 1], - [92507, 1], - [92506, 1], - [92505, 1], - [92504, 1], - [92503, 1], - [92502, 1], - [92501, 1], - [92500, 1], - [92499, 1], - [92498, 1], - [92497, 1], - [92496, 1], - [92495, 1], - [92494, 1], - [92493, 1], - [92492, 1], - [92491, 1], - [92490, 1], - [92489, 1], - [92488, 1], - [92487, 1], - [92486, 1], - [92485, 1], - [92484, 1], - [92483, 1], - [92482, 1], - [92481, 1], - [92480, 1], - [92479, 1], - [92478, 1], - [92477, 1], - [92476, 1], - [92475, 1], - [92474, 1], - [92473, 1], - [92472, 1], - [92471, 1], - [92470, 1], - [92469, 1], - [92468, 1], - [92467, 1], - [92466, 1], - [92465, 1], - [92464, 1], - [92463, 1], - [92462, 1], - [92461, 1], - [92460, 1], - [92459, 1], - [92458, 1], - [92457, 1], - [92456, 1], - [92455, 1], - [92454, 1], - [92453, 1], - [92452, 1], - [92451, 1], - [92450, 1], - [92449, 1], - [92448, 1], - [92447, 1], - [92446, 1], - [92445, 1], - [92444, 1], - [92443, 1], - [92442, 1], - [92441, 1], - [92440, 1], - [92439, 1], - [92438, 1], - [92437, 1], - [92436, 1], - [92435, 1], - [92434, 1], - [92433, 1], - [92432, 1], - [92431, 1], - [92430, 1], - [92429, 1], - [92428, 1], - [92427, 1], - [92426, 1], - [92425, 1], - [92424, 1], - [92423, 1], - [92422, 1], - [92421, 1], - [92420, 1], - [92419, 1], - [92418, 1], - [92417, 1], - [92416, 1], - [92415, 1], - [92414, 1], - [92413, 1], - [92412, 1], - [92411, 1], - [92410, 1], - [92409, 1], - [92408, 1], - [92407, 1], - [92406, 1], - [92405, 1], - [92404, 1], - [92403, 1], - [92402, 1], - [92401, 1], - [92400, 1], - [92399, 1], - [92398, 1], - [92397, 1], - [92396, 1], - [92395, 1], - [92394, 1], - [92393, 1], - [92392, 1], - [92391, 1], - [92390, 1], - [92389, 1], - [92388, 1], - [92387, 1], - [92386, 1], - [92385, 1], - [92384, 1], - [92383, 1], - [92382, 1], - [92381, 1], - [92380, 1], - [92379, 1], - [92378, 1], - [92377, 1], - [92376, 1], - [92375, 1], - [92374, 1], - [92373, 1], - [92372, 1], - [92371, 1], - [92370, 1], - [92369, 1], - [92368, 1], - [92367, 1], - [92366, 1], - [92365, 1], - [92364, 1], - [92363, 1], - [92362, 1], - [92361, 1], - [92360, 1], - [92359, 1], - [92358, 1], - [92357, 1], - [92356, 1], - [92355, 1], - [92354, 1], - [92353, 1], - [92352, 1], - [92351, 1], - [92350, 1], - [92349, 1], - [92348, 1], - [92347, 1], - [92346, 1], - [92345, 1], - [92344, 1], - [92343, 1], - [92342, 1], - [92341, 1], - [92340, 1], - [92339, 1], - [92338, 1], - [92337, 1], - [92336, 1], - [92335, 1], - [92334, 1], - [92333, 1], - [92332, 1], - [92331, 1], - [92330, 1], - [92329, 1], - [92328, 1], - [92327, 1], - [92326, 1], - [92325, 1], - [92324, 1], - [92323, 1], - [92322, 1], - [92321, 1], - [92320, 1], - [92319, 1], - [92318, 1], - [92317, 1], - [92316, 1], - [92315, 1], - [92314, 1], - [92313, 1], - [92312, 1], - [92311, 1], - [92310, 1], - [92309, 1], - [92308, 1], - [92307, 1], - [92306, 1], - [92305, 1], - [92304, 1], - [92303, 1], - [92302, 1], - [92301, 1], - [92300, 1], - [92299, 1], - [92298, 1], - [92297, 1], - [92296, 1], - [92295, 1], - [92294, 1], - [92293, 1], - [92292, 1], - [92291, 1], - [92290, 1], - [92289, 1], - [92288, 1], - [92287, 1], - [92286, 1], - [92285, 1], - [92284, 1], - [92283, 1], - [92282, 1], - [92281, 1], - [92280, 1], - [92279, 1], - [92278, 1], - [92277, 1], - [92276, 1], - [92275, 1], - [92274, 1], - [92273, 1], - [92272, 1], - [92429, 1], - [92429, 0, "\n"], - [92430, 0, "\n"], - [92525, 1], - [92524, 1], - [92523, 1], - [92522, 1], - [92521, 1], - [92520, 1], - [92519, 1], - [92518, 1], - [92517, 1], - [92516, 1], - [92515, 1], - [92514, 1], - [93146, 0, "\n"], - [93147, 0, "\n"], - [93148, 0, "\\"], - [93149, 0, "b"], - [93150, 0, "e"], - [93151, 0, "g"], - [93152, 0, "i"], - [93153, 0, "n"], - [93154, 0, "{"], - [93155, 0, "l"], - [93156, 0, "e"], - [93157, 0, "m"], - [93158, 0, "m"], - [93159, 0, "a"], - [93160, 0, "}"], - [93161, 0, "\\"], - [93162, 0, "l"], - [93163, 0, "a"], - [93164, 0, "b"], - [93165, 0, "e"], - [93166, 0, "l"], - [93167, 0, "{"], - [93168, 0, "l"], - [93169, 0, "e"], - [93170, 0, "m"], - [93171, 0, ":"], - [93172, 0, "o"], - [93173, 0, "p"], - [93174, 0, "-"], - [93175, 0, "c"], - [93176, 0, "o"], - [93177, 0, "m"], - [93178, 0, "m"], - [93179, 0, "u"], - [93180, 0, "t"], - [93181, 0, "e"], - [93182, 0, "}"], - [93183, 0, "\n"], - [93184, 0, "\\"], - [93185, 0, "e"], - [93186, 0, "n"], - [93187, 0, "d"], - [93188, 0, "{"], - [93189, 0, "l"], - [93190, 0, "e"], - [93191, 0, "m"], - [93192, 0, "m"], - [93193, 0, "a"], - [93194, 0, "}"], - [93183, 0, "\n"], - [93184, 0, "i"], - [93185, 0, "n"], - [93186, 0, "s"], - [93187, 0, "e"], - [93188, 0, "r"], - [93189, 0, "t"], - [93190, 0, "i"], - [93191, 0, "o"], - [93192, 0, "n"], - [93193, 0, " "], - [93194, 0, "t"], - [93195, 0, "o"], - [93196, 0, " "], - [93197, 0, "t"], - [93198, 0, "h"], - [93199, 0, "e"], - [93200, 0, " "], - [93201, 0, "s"], - [93202, 0, "a"], - [93203, 0, "m"], - [93204, 0, "e"], - [93205, 0, " "], - [93206, 0, "l"], - [93207, 0, "i"], - [93208, 0, "s"], - [93209, 0, "t"], - [93210, 0, ":"], - [93211, 0, " "], - [93212, 0, "L"], - [93213, 0, "e"], - [93214, 0, "m"], - [93215, 0, "m"], - [93216, 0, "a"], - [93217, 0, "~"], - [93218, 0, "\\"], - [93219, 0, "r"], - [93220, 0, "e"], - [93221, 0, "f"], - [93222, 0, "{"], - [93223, 0, "l"], - [93224, 0, "e"], - [93225, 0, "m"], - [93226, 0, ":"], - [93227, 0, "i"], - [93228, 0, "n"], - [93229, 0, "s"], - [93230, 0, "e"], - [93231, 0, "r"], - [93232, 0, "t"], - [93233, 0, "-"], - [93234, 0, "r"], - [93235, 0, "e"], - [93236, 0, "o"], - [93237, 0, "r"], - [93238, 0, "d"], - [93239, 0, "e"], - [93240, 0, "r"], - [93241, 0, "}"], - [93242, 0, ";"], - [93243, 0, " "], - [93244, 0, "d"], - [93245, 0, "e"], - [93246, 0, "l"], - [93247, 0, "e"], - [93248, 0, "t"], - [93249, 0, "i"], - [93250, 0, "o"], - [93251, 0, "n"], - [93252, 0, ":"], - [93253, 0, " "], - [93254, 0, "L"], - [93255, 0, "e"], - [93256, 0, "m"], - [93257, 0, "m"], - [93258, 0, "a"], - [93259, 0, "~"], - [93260, 0, "\\"], - [93261, 0, "r"], - [93262, 0, "e"], - [93263, 0, "f"], - [93264, 0, "{"], - [93265, 0, ":"], - [93265, 1], - [93265, 0, "l"], - [93266, 0, "e"], - [93267, 0, "m"], - [93268, 0, ":"], - [93269, 0, "d"], - [93270, 0, "e"], - [93271, 0, "l"], - [93272, 0, "e"], - [93273, 0, "t"], - [93274, 0, "e"], - [93275, 0, "-"], - [93276, 0, "c"], - [93277, 0, "o"], - [93278, 0, "m"], - [93279, 0, "m"], - [93280, 0, "u"], - [93281, 0, "t"], - [93282, 0, "e"], - [93283, 0, "}"], - [93284, 0, ";"], - [93285, 0, " "], - [93286, 0, "a"], - [93287, 0, "s"], - [93288, 0, "s"], - [93289, 0, "i"], - [93290, 0, "g"], - [93291, 0, "n"], - [93292, 0, "m"], - [93293, 0, "e"], - [93294, 0, "n"], - [93295, 0, "t"], - [93296, 0, ":"], - [93297, 0, " "], - [93298, 0, "L"], - [93299, 0, "e"], - [93300, 0, "m"], - [93301, 0, "m"], - [93302, 0, "a"], - [93303, 0, "~"], - [93304, 0, "\\"], - [93305, 0, "r"], - [93306, 0, "e"], - [93307, 0, "f"], - [93308, 0, "{"], - [93309, 0, "l"], - [93310, 0, "e"], - [93311, 0, "m"], - [93312, 0, ":"], - [93313, 0, "a"], - [93314, 0, "s"], - [93315, 0, "s"], - [93316, 0, "i"], - [93317, 0, "g"], - [93318, 0, "n"], - [93319, 0, "-"], - [93320, 0, "c"], - [93321, 0, "o"], - [93322, 0, "m"], - [93323, 0, "m"], - [93324, 0, "u"], - [93325, 0, "t"], - [93326, 0, "e"], - [93327, 0, "}"], - [93328, 0, "."], - [78214, 0, ","], - [78215, 0, " "], - [78216, 0, "i"], - [78217, 0, "n"], - [78218, 0, " "], - [78219, 0, "L"], - [78220, 0, "e"], - [78221, 0, "m"], - [78222, 0, "m"], - [78223, 0, "a"], - [78224, 0, "~"], - [78225, 0, "\\"], - [78226, 0, "r"], - [78227, 0, "e"], - [78228, 0, "f"], - [78229, 0, "{"], - [78058, 0, " "], - [78059, 0, "i"], - [78060, 0, "n"], - [78061, 0, " "], - [78062, 0, "L"], - [78063, 0, "e"], - [78064, 0, "m"], - [78065, 0, "m"], - [78066, 0, "a"], - [78067, 0, "~"], - [78068, 0, "\\"], - [78069, 0, "r"], - [78070, 0, "e"], - [78071, 0, "f"], - [78072, 0, "{"], - [78073, 0, "l"], - [78074, 0, "e"], - [78075, 0, "m"], - [78076, 0, ":"], - [78077, 0, "o"], - [78078, 0, "p"], - [78079, 0, "-"], - [78080, 0, "c"], - [78081, 0, "o"], - [78082, 0, "m"], - [78083, 0, "m"], - [78084, 0, "u"], - [78085, 0, "t"], - [78086, 0, "e"], - [78087, 0, "}"], - [78494, 1], - [78493, 1], - [78492, 1], - [78491, 1], - [78490, 1], - [78489, 1], - [78488, 1], - [78487, 1], - [78486, 1], - [78485, 1], - [78484, 1], - [78483, 1], - [78482, 1], - [78481, 1], - [78480, 1], - [78479, 1], - [78478, 1], - [78477, 1], - [78476, 1], - [78475, 1], - [78474, 1], - [78473, 1], - [78472, 1], - [78471, 1], - [78470, 1], - [78469, 1], - [78468, 1], - [78467, 1], - [78466, 1], - [78465, 1], - [78464, 1], - [78463, 1], - [78462, 1], - [78461, 1], - [78460, 1], - [78459, 1], - [78458, 1], - [78457, 1], - [78456, 1], - [78455, 1], - [78454, 1], - [78453, 1], - [78452, 1], - [78451, 1], - [78450, 1], - [78449, 1], - [78448, 1], - [78447, 1], - [78446, 1], - [78445, 1], - [78444, 1], - [78443, 1], - [78442, 1], - [78441, 1], - [78440, 1], - [78439, 1], - [78438, 1], - [78437, 1], - [78436, 1], - [78435, 1], - [78434, 1], - [78433, 1], - [78432, 1], - [78431, 1], - [78430, 1], - [78429, 1], - [78428, 1], - [78427, 1], - [78426, 1], - [78425, 1], - [78424, 1], - [78423, 1], - [78422, 1], - [78421, 1], - [78420, 1], - [78419, 1], - [78418, 1], - [78417, 1], - [78416, 1], - [78415, 1], - [78414, 1], - [78413, 1], - [78412, 1], - [78411, 1], - [78410, 1], - [78409, 1], - [78408, 1], - [78407, 1], - [78406, 1], - [78405, 1], - [78404, 1], - [78403, 1], - [78402, 1], - [78401, 1], - [78400, 1], - [78399, 1], - [78398, 1], - [78397, 1], - [78396, 1], - [78395, 1], - [78394, 1], - [78393, 1], - [78392, 1], - [78391, 1], - [78390, 1], - [78389, 1], - [78388, 1], - [78387, 1], - [78386, 1], - [78385, 1], - [78384, 1], - [78383, 1], - [78382, 1], - [78381, 1], - [78380, 1], - [78379, 1], - [78378, 1], - [78377, 1], - [78376, 1], - [78375, 1], - [78374, 1], - [78373, 1], - [78372, 1], - [78371, 1], - [78370, 1], - [78369, 1], - [78368, 1], - [78367, 1], - [78366, 1], - [78365, 1], - [78364, 1], - [78363, 1], - [78362, 1], - [78361, 1], - [78360, 1], - [78359, 1], - [78358, 1], - [78357, 1], - [78356, 1], - [78355, 1], - [78354, 1], - [78353, 1], - [78352, 1], - [78351, 1], - [78350, 1], - [78349, 1], - [78348, 1], - [78347, 1], - [78346, 1], - [78345, 1], - [78344, 1], - [78343, 1], - [78342, 1], - [78341, 1], - [78340, 1], - [78339, 1], - [78338, 1], - [78337, 1], - [78336, 1], - [78335, 1], - [78334, 1], - [78333, 1], - [78332, 1], - [78331, 1], - [78330, 1], - [78329, 1], - [78328, 1], - [78327, 1], - [78326, 1], - [78325, 1], - [78324, 1], - [78323, 1], - [78322, 1], - [78321, 1], - [78320, 1], - [78319, 1], - [78318, 1], - [78317, 1], - [78316, 1], - [78315, 1], - [78314, 1], - [78313, 1], - [78312, 1], - [78311, 1], - [78310, 1], - [78309, 1], - [78308, 1], - [78307, 1], - [78306, 1], - [78305, 1], - [78304, 1], - [78303, 1], - [78302, 1], - [78301, 1], - [78300, 1], - [78299, 1], - [78298, 1], - [78297, 1], - [78296, 1], - [78295, 1], - [78294, 1], - [78293, 1], - [78292, 1], - [78291, 1], - [78290, 1], - [78289, 1], - [78288, 1], - [78287, 1], - [78286, 1], - [78285, 1], - [78284, 1], - [78283, 1], - [78282, 1], - [78281, 1], - [78280, 1], - [78279, 1], - [78278, 1], - [78277, 1], - [78276, 1], - [78275, 1], - [78274, 1], - [78273, 1], - [78272, 1], - [78271, 1], - [78270, 1], - [78269, 1], - [78268, 1], - [78267, 1], - [78266, 1], - [78265, 1], - [78264, 1], - [78263, 1], - [78262, 1], - [78261, 1], - [78260, 1], - [78259, 1], - [78258, 1], - [78257, 1], - [78256, 1], - [78255, 1], - [78254, 1], - [78253, 1], - [78252, 1], - [78251, 1], - [78250, 1], - [78249, 1], - [78248, 1], - [78247, 1], - [78246, 1], - [78245, 1], - [78244, 1], - [78244, 0, "."], - [78333, 1], - [78332, 1], - [78331, 1], - [78330, 1], - [78329, 1], - [78328, 1], - [78327, 1], - [78326, 1], - [78325, 1], - [78324, 1], - [78323, 1], - [78322, 1], - [78321, 1], - [78320, 1], - [78319, 1], - [78318, 1], - [78317, 1], - [78316, 1], - [78315, 1], - [78314, 1], - [78313, 1], - [78312, 1], - [78311, 1], - [78310, 1], - [78309, 1], - [78308, 1], - [78307, 1], - [78306, 1], - [78305, 1], - [78304, 1], - [78303, 1], - [78302, 1], - [78301, 1], - [78300, 1], - [78300, 0, "o"], - [78301, 0, "p"], - [78302, 0, "e"], - [78303, 0, "r"], - [78304, 0, "a"], - [78305, 0, "t"], - [78306, 0, "i"], - [78307, 0, "o"], - [78308, 0, "n"], - [78309, 0, "s"], - [92955, 0, "\n"], - [92956, 0, "\\"], - [92957, 0, "e"], - [92958, 0, "n"], - [92959, 0, "d"], - [92960, 0, "{"], - [92961, 0, "l"], - [92962, 0, "e"], - [92963, 0, "m"], - [92964, 0, "m"], - [92965, 0, "a"], - [92966, 0, "}"], - [92967, 0, "\n"], - [92968, 0, "\n"], - [92969, 0, "\\"], - [92970, 0, "b"], - [92971, 0, "e"], - [92972, 0, "g"], - [92973, 0, "i"], - [92974, 0, "n"], - [92975, 0, "{"], - [92976, 0, "p"], - [92977, 0, "r"], - [92978, 0, "o"], - [92979, 0, "o"], - [92980, 0, "f"], - [92981, 0, "}"], - [93138, 1], - [93137, 1], - [93136, 1], - [93135, 1], - [93134, 1], - [93134, 0, "p"], - [93135, 0, "r"], - [93136, 0, "o"], - [93137, 0, "o"], - [93138, 0, "f"], - [92956, 0, "\n"], - [92956, 0, "G"], - [92957, 0, "i"], - [92958, 0, "v"], - [92959, 0, "e"], - [92960, 0, "n"], - [92961, 0, " "], - [92962, 0, "a"], - [92963, 0, "n"], - [92964, 0, " "], - [92965, 0, "o"], - [92966, 0, "p"], - [92967, 0, "e"], - [92968, 0, "r"], - [92969, 0, "a"], - [92970, 0, "t"], - [92971, 0, "i"], - [92972, 0, "o"], - [92973, 0, "n"], - [92974, 0, " "], - [92975, 0, "h"], - [92976, 0, "i"], - [92977, 0, "s"], - [92978, 0, "t"], - [92979, 0, "o"], - [92980, 0, "r"], - [92981, 0, "h"], - [92982, 0, " "], - [92983, 0, "$"], - [92983, 1], - [92982, 1], - [92981, 1], - [92981, 0, "y"], - [92982, 0, " "], - [92983, 0, "$"], - [92984, 0, "H"], - [92985, 0, "="], - [92986, 0, "\\"], - [92987, 0, "l"], - [92988, 0, "a"], - [92989, 0, "n"], - [92990, 0, "g"], - [92991, 0, "l"], - [92992, 0, "e"], - [92993, 0, " "], - [92994, 0, "o"], - [92995, 0, "_"], - [92996, 0, "1"], - [92997, 0, ","], - [92998, 0, " "], - [92999, 0, "\\"], - [93000, 0, "d"], - [93001, 0, "o"], - [93002, 0, "t"], - [93003, 0, "s"], - [93004, 0, ","], - [93005, 0, " "], - [93006, 0, "o"], - [93007, 0, "_"], - [93008, 0, "n"], - [93009, 0, " "], - [93010, 0, "\\"], - [93011, 0, "r"], - [93012, 0, "a"], - [93013, 0, "n"], - [93014, 0, "g"], - [93015, 0, "l"], - [93016, 0, "e"], - [93017, 0, "$"], - [93018, 0, ","], - [93019, 0, " "], - [93020, 0, "a"], - [93021, 0, " "], - [93022, 0, "n"], - [93023, 0, "e"], - [93024, 0, "w"], - [93025, 0, " "], - [93026, 0, "o"], - [93027, 0, "p"], - [93028, 0, "e"], - [93029, 0, "r"], - [93030, 0, "a"], - [93031, 0, "t"], - [93032, 0, "i"], - [93033, 0, "o"], - [93034, 0, "n"], - [93035, 0, " "], - [93018, 0, " "], - [93019, 0, "f"], - [93020, 0, "r"], - [93021, 0, "o"], - [93022, 0, "m"], - [93023, 0, " "], - [93024, 0, "a"], - [93025, 0, " "], - [93026, 0, "v"], - [93027, 0, "a"], - [93028, 0, "l"], - [93029, 0, "i"], - [93030, 0, "d"], - [93031, 0, " "], - [93032, 0, "e"], - [93033, 0, "x"], - [93034, 0, "e"], - [93035, 0, "c"], - [93036, 0, "u"], - [93037, 0, "t"], - [93038, 0, "i"], - [93039, 0, "o"], - [93040, 0, "n"], - [93059, 0, "$"], - [93060, 0, "o"], - [93061, 0, "_"], - [93062, 0, "{"], - [93063, 0, "n"], - [93064, 0, "+"], - [93065, 0, "1"], - [93066, 0, "}"], - [93067, 0, "$"], - [93068, 0, " "], - [93069, 0, "f"], - [93070, 0, "r"], - [93071, 0, "o"], - [93072, 0, "m"], - [93073, 0, " "], - [93074, 0, "t"], - [93075, 0, "h"], - [93076, 0, "a"], - [93077, 0, "t"], - [93078, 0, " "], - [93079, 0, "e"], - [93080, 0, "x"], - [93081, 0, "e"], - [93082, 0, "c"], - [93083, 0, "u"], - [93084, 0, "t"], - [93085, 0, "i"], - [93086, 0, "o"], - [93087, 0, "n"], - [93088, 0, " "], - [93089, 0, "c"], - [93090, 0, "a"], - [93091, 0, "n"], - [93092, 0, " "], - [93093, 0, "b"], - [93094, 0, "e"], - [93095, 0, " "], - [93096, 0, "i"], - [93097, 0, "n"], - [93098, 0, "s"], - [93099, 0, "e"], - [93100, 0, "r"], - [93101, 0, "t"], - [93102, 0, "e"], - [93103, 0, "d"], - [93104, 0, " "], - [93105, 0, "a"], - [93106, 0, "t"], - [93107, 0, " "], - [93108, 0, "a"], - [93109, 0, "n"], - [93110, 0, "y"], - [93111, 0, " "], - [93112, 0, "p"], - [93113, 0, "o"], - [93114, 0, "i"], - [93115, 0, "n"], - [93116, 0, "t"], - [93117, 0, " "], - [93118, 0, "i"], - [93119, 0, "n"], - [93120, 0, " "], - [93121, 0, "$"], - [93122, 0, "H"], - [93123, 0, "$"], - [93124, 0, " "], - [93125, 0, "w"], - [93126, 0, "h"], - [93127, 0, "e"], - [93128, 0, "r"], - [93129, 0, "e"], - [93130, 0, " "], - [93131, 0, "t"], - [93132, 0, "h"], - [93133, 0, "e"], - [93134, 0, " "], - [93135, 0, "c"], - [93136, 0, "a"], - [93137, 0, "u"], - [93138, 0, "s"], - [93139, 0, "a"], - [93140, 0, "l"], - [93141, 0, " "], - [93142, 0, "d"], - [93143, 0, "e"], - [93144, 0, "p"], - [93145, 0, "e"], - [93146, 0, "n"], - [93147, 0, "d"], - [93148, 0, "e"], - [93149, 0, "n"], - [93150, 0, "c"], - [93151, 0, "i"], - [93152, 0, "e"], - [93153, 0, "s"], - [93154, 0, " "], - [93154, 1], - [93153, 1], - [93152, 1], - [93151, 1], - [93150, 1], - [93149, 1], - [93148, 1], - [93147, 1], - [93146, 1], - [93145, 1], - [93144, 1], - [93143, 1], - [93142, 1], - [93141, 1], - [93140, 1], - [93139, 1], - [93138, 1], - [93137, 1], - [93136, 1], - [93135, 1], - [93134, 1], - [93133, 1], - [93132, 1], - [93131, 1], - [93130, 1], - [93129, 1], - [93128, 1], - [93127, 1], - [93126, 1], - [93125, 1], - [93124, 1], - [93124, 0, " "], - [93125, 0, "a"], - [93126, 0, "f"], - [93127, 0, "t"], - [93128, 0, "e"], - [93129, 0, "r"], - [93130, 0, " "], - [93131, 0, "$"], - [93132, 0, "o"], - [93133, 0, "{"], - [93133, 1], - [93133, 0, "_"], - [93134, 0, "{"], - [93135, 0, "n"], - [93136, 0, "+"], - [93137, 0, "1"], - [93138, 0, "}"], - [93139, 0, "."], - [93140, 0, "\\"], - [93141, 0, "m"], - [93142, 0, "a"], - [93143, 0, "t"], - [93144, 0, "h"], - [93145, 0, "i"], - [93146, 0, "t"], - [93147, 0, "{"], - [93148, 0, "d"], - [93149, 0, "e"], - [93150, 0, "p"], - [93151, 0, "s"], - [93152, 0, "}"], - [93153, 0, "$"], - [93154, 0, " "], - [93155, 0, "h"], - [93156, 0, "a"], - [93157, 0, "v"], - [93158, 0, "e"], - [93159, 0, " "], - [93160, 0, "b"], - [93161, 0, "e"], - [93162, 0, "e"], - [93163, 0, "n"], - [93164, 0, " "], - [93165, 0, "a"], - [93166, 0, "p"], - [93167, 0, "p"], - [93168, 0, "l"], - [93169, 0, "i"], - [93170, 0, "e"], - [93171, 0, "d"], - [93172, 0, "."], - [93173, 0, " "], - [93174, 0, "T"], - [93174, 1], - [93174, 0, "A"], - [93175, 0, "l"], - [93176, 0, "l"], - [93177, 0, " "], - [93178, 0, "r"], - [93179, 0, "e"], - [93180, 0, "s"], - [93181, 0, "u"], - [93182, 0, "l"], - [93183, 0, "t"], - [93184, 0, "i"], - [93185, 0, "n"], - [93186, 0, "g"], - [93187, 0, " "], - [93187, 1], - [93186, 1], - [93185, 1], - [93184, 1], - [93183, 1], - [93182, 1], - [93181, 1], - [93180, 1], - [93179, 1], - [93178, 1], - [93177, 1], - [93177, 0, " "], - [93178, 0, "h"], - [93179, 0, "i"], - [93180, 0, "s"], - [93181, 0, "t"], - [93182, 0, "o"], - [93183, 0, "r"], - [93184, 0, "i"], - [93185, 0, "e"], - [93186, 0, "s"], - [93187, 0, " "], - [93188, 0, "t"], - [93189, 0, "h"], - [93190, 0, "a"], - [93191, 0, "t"], - [93192, 0, " "], - [93174, 0, "F"], - [93175, 0, "o"], - [93176, 0, "r"], - [93177, 0, " "], - [93178, 1], - [93178, 0, "a"], - [93197, 0, "c"], - [93198, 0, "a"], - [93199, 0, "n"], - [93200, 0, " "], - [93201, 0, "b"], - [93202, 0, "e"], - [93203, 0, " "], - [93204, 0, "c"], - [93205, 0, "o"], - [93206, 0, "n"], - [93207, 0, "s"], - [93208, 0, "t"], - [93209, 0, "r"], - [93210, 0, "u"], - [93211, 0, "c"], - [93212, 0, "t"], - [93213, 0, "e"], - [93214, 0, "d"], - [93215, 0, " "], - [93216, 0, "t"], - [93217, 0, "h"], - [93218, 0, "i"], - [93219, 0, "s"], - [93220, 0, " "], - [93221, 0, "w"], - [93222, 0, "a"], - [93223, 0, "y"], - [93224, 0, ","], - [93225, 0, " "], - [93226, 0, "t"], - [93227, 0, "h"], - [93228, 0, "e"], - [93229, 0, " "], - [93230, 0, "d"], - [93231, 0, "o"], - [93232, 0, "c"], - [93233, 0, "u"], - [93234, 0, "m"], - [93235, 0, "e"], - [93236, 0, "n"], - [93237, 0, "t"], - [93238, 0, " "], - [93239, 0, "s"], - [93240, 0, "t"], - [93241, 0, "a"], - [93242, 0, "t"], - [93243, 0, "e"], - [93244, 0, " "], - [93245, 0, "r"], - [93246, 0, "e"], - [93247, 0, "s"], - [93248, 0, "u"], - [93249, 0, "l"], - [93250, 0, "t"], - [93251, 0, "i"], - [93252, 0, "n"], - [93253, 0, "g"], - [93254, 0, " "], - [93255, 0, "f"], - [93256, 0, "r"], - [93257, 0, "o"], - [93258, 0, "m"], - [93259, 0, " "], - [93192, 0, "$"], - [93193, 0, "H"], - [93194, 0, "'"], - [93195, 0, "$"], - [93196, 0, " "], - [93265, 0, "a"], - [93266, 0, "p"], - [93267, 0, "p"], - [93268, 0, "l"], - [93269, 0, "y"], - [93270, 0, "i"], - [93271, 0, "n"], - [93272, 0, "g"], - [93273, 0, " "], - [93274, 0, "t"], - [93275, 0, "h"], - [93276, 0, "e"], - [93277, 0, " "], - [93278, 0, "o"], - [93279, 0, "p"], - [93280, 0, "e"], - [93281, 0, "r"], - [93282, 0, "a"], - [93283, 0, "t"], - [93284, 0, "i"], - [93285, 0, "o"], - [93286, 0, "n"], - [93287, 0, "s"], - [93288, 0, " "], - [93289, 0, "i"], - [93290, 0, "n"], - [93291, 0, " "], - [93292, 0, "$"], - [93293, 0, "H"], - [93294, 0, "'"], - [93295, 0, "$"], - [93296, 0, " "], - [93297, 0, "i"], - [93298, 0, "n"], - [93299, 0, " "], - [93300, 0, "o"], - [93301, 0, "r"], - [93302, 0, "d"], - [93303, 0, "e"], - [93304, 0, "r"], - [93305, 0, " "], - [93306, 0, "i"], - [93307, 0, "s"], - [93308, 0, " "], - [93309, 0, "t"], - [93310, 0, "h"], - [93311, 0, "e"], - [93312, 0, " "], - [93313, 0, "s"], - [93314, 0, "a"], - [93315, 0, "m"], - [93316, 0, "e"], - [93317, 0, ","], - [93318, 0, " "], - [93319, 0, "a"], - [93320, 0, "n"], - [93321, 0, "d"], - [93322, 0, " "], - [93323, 0, "i"], - [93324, 0, "n"], - [93325, 0, "d"], - [93326, 0, "e"], - [93327, 0, "p"], - [93328, 0, "e"], - [93329, 0, "n"], - [93330, 0, "d"], - [93331, 0, "e"], - [93332, 0, "n"], - [93333, 0, "t"], - [93334, 0, " "], - [93335, 0, "o"], - [93336, 0, "f"], - [93337, 0, " "], - [93338, 0, "t"], - [93339, 0, "h"], - [93340, 0, "e"], - [93341, 0, " "], - [93342, 0, "o"], - [93343, 0, "r"], - [93344, 0, "d"], - [93345, 0, "e"], - [93346, 0, "r"], - [93347, 0, "i"], - [93348, 0, "n"], - [93349, 0, "g"], - [93350, 0, " "], - [93351, 0, "o"], - [93352, 0, "f"], - [93353, 0, " "], - [93354, 0, "a"], - [93355, 0, "n"], - [93356, 0, "y"], - [93357, 0, " "], - [93358, 0, "c"], - [93359, 0, "o"], - [93360, 0, "n"], - [93361, 0, "c"], - [93362, 0, "u"], - [93363, 0, "r"], - [93364, 0, "r"], - [93365, 0, "e"], - [93366, 0, "n"], - [93367, 0, "t"], - [93368, 0, " "], - [93369, 0, "o"], - [93370, 0, "p"], - [93371, 0, "e"], - [93372, 0, "r"], - [93373, 0, "a"], - [93374, 0, "t"], - [93375, 0, "i"], - [93376, 0, "o"], - [93377, 0, "n"], - [93378, 0, "s"], - [93379, 0, " "], - [93380, 0, "i"], - [93381, 0, "n"], - [93382, 0, " "], - [93383, 0, "$"], - [93384, 0, "H"], - [93385, 0, "$"], - [93386, 0, "."], - [93414, 0, "\n"], - [93415, 0, "\n"], - [93415, 0, "W"], - [93416, 0, "e"], - [93417, 0, " "], - [93418, 0, "p"], - [93419, 0, "r"], - [93420, 0, "o"], - [93421, 0, "v"], - [93422, 0, "e"], - [93423, 0, " "], - [93424, 0, "t"], - [93425, 0, "h"], - [93426, 0, "e"], - [93427, 0, " "], - [93428, 0, "l"], - [93429, 0, "e"], - [93430, 0, "m"], - [93431, 0, "m"], - [93432, 0, "a"], - [93433, 0, " "], - [93434, 0, "c"], - [93435, 0, "a"], - [93436, 0, "s"], - [93437, 0, "e"], - [93438, 0, "-"], - [93439, 0, "b"], - [93440, 0, "y"], - [93441, 0, "-"], - [93442, 0, "c"], - [93443, 0, "a"], - [93444, 0, "s"], - [93445, 0, "e"], - [93446, 0, ","], - [93447, 0, " "], - [93448, 0, "d"], - [93449, 0, "e"], - [93450, 0, "p"], - [93451, 0, "e"], - [93452, 0, "n"], - [93453, 0, "d"], - [93454, 0, "i"], - [93455, 0, "n"], - [93456, 0, "g"], - [93457, 0, " "], - [93458, 0, "o"], - [93459, 0, "n"], - [93460, 0, " "], - [93461, 0, "t"], - [93462, 0, "h"], - [93463, 0, "e"], - [93464, 0, " "], - [93465, 0, "t"], - [93466, 0, "h"], - [93467, 0, "y"], - [93468, 0, "p"], - [93469, 0, "e"], - [93470, 0, " "], - [93470, 1], - [93469, 1], - [93468, 1], - [93467, 1], - [93466, 1], - [93466, 0, "y"], - [93467, 0, "p"], - [93468, 0, "e"], - [93469, 0, " "], - [93470, 0, "o"], - [93471, 0, "f"], - [93472, 0, " "], - [93473, 0, "m"], - [93474, 0, "u"], - [93475, 0, "t"], - [93476, 0, "a"], - [93477, 0, "t"], - [93478, 0, "i"], - [93479, 0, "o"], - [93480, 0, "n"], - [93481, 0, " "], - [93482, 0, "i"], - [93483, 0, "n"], - [93484, 0, " "], - [93485, 0, "$"], - [93486, 0, "o"], - [93487, 0, "_"], - [93488, 0, "{"], - [93489, 0, "n"], - [93490, 0, "+"], - [93491, 0, "1"], - [93492, 0, "}"], - [93493, 0, "$"], - [93494, 0, "."], - [93495, 0, " "], - [93414, 0, "\n"], - [93415, 0, "$"], - [93416, 0, "H"], - [93417, 0, "$"], - [93418, 0, " "], - [93419, 0, "c"], - [93420, 0, "a"], - [93421, 0, "n"], - [93422, 0, " "], - [93423, 0, "b"], - [93424, 0, "e"], - [93425, 0, " "], - [93426, 0, "s"], - [93427, 0, "p"], - [93428, 0, "l"], - [93429, 0, "i"], - [93430, 0, "t"], - [93431, 0, " "], - [93432, 0, "i"], - [93433, 0, "n"], - [93434, 0, "t"], - [93435, 0, "o"], - [93436, 0, " "], - [93437, 0, "a"], - [93438, 0, " "], - [93439, 0, "p"], - [93440, 0, "r"], - [93441, 0, "e"], - [93442, 0, "f"], - [93443, 0, "i"], - [93444, 0, "x"], - [93445, 0, " "], - [93446, 0, "a"], - [93447, 0, "n"], - [93448, 0, "d"], - [93449, 0, " "], - [93450, 0, "a"], - [93451, 0, " "], - [93452, 0, "s"], - [93453, 0, "u"], - [93454, 0, "f"], - [93455, 0, "f"], - [93456, 0, "i"], - [93457, 0, "x"], - [93458, 0, ","], - [93459, 0, " "], - [93460, 0, "a"], - [93461, 0, "s"], - [93462, 0, " "], - [93463, 0, "d"], - [93464, 0, "e"], - [93465, 0, "s"], - [93466, 0, "c"], - [93467, 0, "r"], - [93468, 0, "i"], - [93469, 0, "b"], - [93470, 0, "e"], - [93471, 0, "d"], - [93472, 0, " "], - [93473, 0, "i"], - [93474, 0, "n"], - [93475, 0, " "], - [93476, 0, "t"], - [93477, 0, "h"], - [93478, 0, "e"], - [93479, 0, " "], - [93480, 0, "p"], - [93481, 0, "r"], - [93482, 0, "o"], - [93483, 0, "o"], - [93484, 0, "f"], - [93485, 0, " "], - [93486, 0, "o"], - [93487, 0, "f"], - [93488, 0, " "], - [93489, 0, "T"], - [93490, 0, "h"], - [93491, 0, "e"], - [93492, 0, "o"], - [93493, 0, "r"], - [93494, 0, "e"], - [93495, 0, "m"], - [93496, 0, "~"], - [93497, 0, "\\"], - [93498, 0, "r"], - [93499, 0, "e"], - [93500, 0, "f"], - [93501, 0, "{"], - [93502, 0, "t"], - [93503, 0, "h"], - [93504, 0, "m"], - [93505, 0, ":"], - [93506, 0, "c"], - [93507, 0, "o"], - [93508, 0, "n"], - [93509, 0, "v"], - [93510, 0, "e"], - [93511, 0, "r"], - [93512, 0, "g"], - [93513, 0, "e"], - [93514, 0, "n"], - [93515, 0, "c"], - [93516, 0, "e"], - [93517, 0, "}"], - [93518, 0, "."], - [93519, 0, " "], - [93520, 0, "W"], - [93521, 0, "e"], - [93522, 0, " "], - [93523, 0, "a"], - [93524, 0, "l"], - [93525, 0, "l"], - [93526, 0, "o"], - [93527, 0, "w"], - [93528, 0, " "], - [93529, 0, "$"], - [93530, 0, "o"], - [93531, 0, "_"], - [93532, 0, "{"], - [93533, 0, "n"], - [93534, 0, "+"], - [93535, 0, "1"], - [93536, 0, "}"], - [93537, 0, "$"], - [93538, 0, " "], - [93539, 0, "t"], - [93540, 0, "o"], - [93541, 0, " "], - [93542, 0, "b"], - [93543, 0, "e"], - [93544, 0, " "], - [93545, 0, "i"], - [93546, 0, "n"], - [93547, 0, "s"], - [93548, 0, "e"], - [93549, 0, "r"], - [93550, 0, "t"], - [93551, 0, "e"], - [93552, 0, "d"], - [93553, 0, " "], - [93554, 0, "a"], - [93555, 0, "t"], - [93556, 0, " "], - [93557, 0, "a"], - [93558, 0, "n"], - [93559, 0, "y"], - [93560, 0, " "], - [93561, 0, "p"], - [93562, 0, "o"], - [93563, 0, "i"], - [93564, 0, "n"], - [93565, 0, "t"], - [93566, 0, " "], - [93567, 0, "a"], - [93568, 0, "f"], - [93569, 0, "t"], - [93570, 0, "e"], - [93571, 0, "r"], - [93572, 0, " "], - [93573, 0, "t"], - [93574, 0, "h"], - [93575, 0, "e"], - [93576, 0, " "], - [93577, 0, "p"], - [93578, 0, "r"], - [93579, 0, "e"], - [93580, 0, "f"], - [93581, 0, "i"], - [93582, 0, "x"], - [93583, 0, ","], - [93584, 0, " "], - [93519, 0, " "], - [93520, 0, "T"], - [93521, 0, "h"], - [93522, 0, "e"], - [93523, 0, " "], - [93524, 0, "s"], - [93525, 0, "u"], - [93526, 0, "f"], - [93527, 0, "f"], - [93528, 0, "i"], - [93529, 0, "x"], - [93530, 0, " "], - [93531, 0, "c"], - [93532, 0, "o"], - [93533, 0, "n"], - [93534, 0, "t"], - [93535, 0, "a"], - [93536, 0, "i"], - [93537, 0, "n"], - [93538, 0, "s"], - [93539, 0, " "], - [93540, 0, "o"], - [93541, 0, "n"], - [93542, 0, "l"], - [93543, 0, "y"], - [93544, 0, " "], - [93545, 0, "o"], - [93546, 0, "p"], - [93547, 0, "e"], - [93548, 0, "r"], - [93549, 0, "a"], - [93550, 0, "t"], - [93551, 0, "i"], - [93552, 0, "o"], - [93553, 0, "n"], - [93554, 0, "s"], - [93555, 0, " "], - [93556, 0, "t"], - [93557, 0, "h"], - [93558, 0, "a"], - [93559, 0, "t"], - [93560, 0, " "], - [93561, 0, "a"], - [93562, 0, "r"], - [93563, 0, "e"], - [93564, 0, " "], - [93565, 0, "c"], - [93566, 0, "o"], - [93567, 0, "n"], - [93568, 0, "c"], - [93569, 0, "u"], - [93570, 0, "r"], - [93571, 0, "r"], - [93572, 0, "e"], - [93573, 0, "n"], - [93574, 0, "t"], - [93575, 0, " "], - [93576, 0, "w"], - [93577, 0, "i"], - [93578, 0, "t"], - [93579, 0, "h"], - [93580, 0, " "], - [93581, 0, "$"], - [93582, 0, "o"], - [93583, 0, "_"], - [93584, 0, "{"], - [93585, 0, "n"], - [93586, 0, "+"], - [93587, 0, "1"], - [93588, 0, "}"], - [93589, 0, "$"], - [93590, 0, "."], - [93592, 1], - [93591, 1], - [93590, 1], - [93590, 0, ","], - [93591, 0, " "], - [93592, 0, "a"], - [93593, 0, "n"], - [93594, 0, "d"], - [93595, 0, " "], - [93596, 0, "w"], - [93660, 1], - [93659, 1], - [93659, 0, "."], - [93660, 0, " "], - [93661, 1], - [93663, 0, " "], - [93664, 0, "t"], - [93665, 0, "h"], - [93666, 0, "e"], - [93667, 0, "n"], - [93748, 0, "\n"], - [93749, 0, "\n"], - [93749, 0, "I"], - [93750, 0, "f"], - [93751, 0, " "], - [93752, 0, "$"], - [93753, 0, "o"], - [93754, 0, "_"], - [93755, 0, "n"], - [93756, 0, "{"], - [93756, 1], - [93755, 1], - [93755, 0, "{"], - [93756, 0, "n"], - [93757, 0, "+"], - [93758, 0, "1"], - [93759, 0, "}"], - [93760, 0, "$"], - [93761, 0, " "], - [93762, 0, "i"], - [93763, 0, "s"], - [93764, 0, " "], - [93765, 0, "a"], - [93766, 0, " "], - [93767, 0, "d"], - [93768, 0, "e"], - [93769, 0, "l"], - [93770, 0, "e"], - [93771, 0, "t"], - [93772, 0, "i"], - [93773, 0, "o"], - [93774, 0, "n"], - [93775, 0, ","], - [93776, 0, " "], - [93777, 0, "b"], - [93778, 0, "y"], - [93779, 0, " "], - [93780, 0, "L"], - [93781, 0, "e"], - [93782, 0, "m"], - [93783, 0, "m"], - [93784, 0, "a"], - [93785, 0, "~"], - [93786, 0, "\\"], - [93787, 0, "r"], - [93788, 0, "e"], - [93789, 0, "f"], - [93790, 0, "{"], - [93791, 0, "l"], - [93792, 0, "e"], - [93793, 0, "m"], - [93794, 0, ":"], - [93795, 0, "d"], - [93796, 0, "e"], - [93797, 0, "l"], - [93798, 0, "e"], - [93799, 0, "t"], - [93800, 0, "e"], - [93801, 0, "-"], - [93802, 0, "c"], - [93803, 0, "o"], - [93804, 0, "m"], - [93805, 0, "m"], - [93806, 0, "u"], - [93807, 0, "t"], - [93808, 0, "e"], - [93809, 0, "}"], - [93810, 0, " "], - [93811, 0, "i"], - [93812, 0, "t"], - [93813, 0, " "], - [93814, 0, "i"], - [93815, 0, "s"], - [93816, 0, " "], - [93817, 0, "c"], - [93818, 0, "o"], - [93819, 0, "n"], - [93820, 0, "c"], - [93821, 0, "u"], - [93822, 0, "r"], - [93823, 0, "r"], - [93824, 0, "e"], - [93825, 0, "n"], - [93826, 0, "t"], - [93827, 0, " "], - [93828, 0, "w"], - [93829, 0, "i"], - [93830, 0, "t"], - [93831, 0, "h"], - [93832, 0, " "], - [93833, 0, "a"], - [93834, 0, "l"], - [93835, 0, "l"], - [93836, 0, " "], - [93837, 0, "o"], - [93838, 0, "p"], - [93839, 0, "e"], - [93839, 1], - [93838, 1], - [93837, 1], - [93836, 1], - [93835, 1], - [93834, 1], - [93833, 1], - [93832, 1], - [93831, 1], - [93830, 1], - [93829, 1], - [93828, 1], - [93827, 1], - [93826, 1], - [93825, 1], - [93824, 1], - [93823, 1], - [93822, 1], - [93821, 1], - [93820, 1], - [93819, 1], - [93819, 0, "m"], - [93820, 0, "m"], - [93821, 0, "u"], - [93822, 0, "t"], - [93823, 0, "a"], - [93824, 0, "t"], - [93825, 0, "i"], - [93826, 0, "v"], - [93827, 0, "e"], - [93828, 0, " "], - [93829, 0, "w"], - [93830, 0, "i"], - [93831, 0, "t"], - [93832, 0, "h"], - [93833, 0, " "], - [93834, 0, "a"], - [93835, 0, "l"], - [93836, 0, "l"], - [93837, 0, " "], - [93838, 0, "o"], - [93839, 0, "p"], - [93840, 0, "e"], - [93841, 0, "r"], - [93842, 0, "a"], - [93843, 0, "t"], - [93844, 0, "i"], - [93845, 0, "o"], - [93846, 0, "n"], - [93847, 0, "s"], - [93848, 0, " "], - [93849, 0, "i"], - [93850, 0, "n"], - [93851, 0, " "], - [93852, 0, "t"], - [93853, 0, "h"], - [93854, 0, "e"], - [93855, 0, " "], - [93856, 0, "s"], - [93857, 0, "u"], - [93858, 0, "f"], - [93859, 0, "f"], - [93860, 0, "i"], - [93861, 0, "x"], - [93862, 0, ","], - [93863, 0, " "], - [93864, 0, "a"], - [93865, 0, "n"], - [93866, 0, "d"], - [93867, 0, " "], - [93868, 0, "s"], - [93869, 0, "o"], - [93870, 0, " "], - [93871, 0, "$"], - [93872, 0, "#"], - [93872, 1], - [93872, 0, "o"], - [93873, 0, "_"], - [93874, 0, "{"], - [93875, 0, "n"], - [93876, 0, "+"], - [93877, 0, "1"], - [93878, 0, "}"], - [93879, 0, "$"], - [93880, 0, " "], - [93881, 0, "c"], - [93882, 0, "a"], - [93883, 0, "n"], - [93884, 0, " "], - [93885, 0, "b"], - [93886, 0, "e"], - [93887, 0, " "], - [93888, 0, "i"], - [93889, 0, "n"], - [93890, 0, "s"], - [93891, 0, "e"], - [93892, 0, "r"], - [93893, 0, "t"], - [93894, 0, "e"], - [93895, 0, "d"], - [93896, 0, " "], - [93897, 0, "a"], - [93898, 0, "t"], - [93899, 0, " "], - [93900, 0, "a"], - [93901, 0, "n"], - [93902, 0, "y"], - [93903, 0, " "], - [93904, 0, "p"], - [93905, 0, "o"], - [93906, 0, "i"], - [93907, 0, "n"], - [93908, 0, "t"], - [93909, 0, " "], - [93910, 0, "w"], - [93911, 0, "i"], - [93912, 0, "t"], - [93913, 0, "h"], - [93914, 0, "i"], - [93915, 0, "n"], - [93916, 0, ","], - [93917, 0, " "], - [93918, 0, "b"], - [93919, 0, "e"], - [93920, 0, "f"], - [93921, 0, "o"], - [93922, 0, "r"], - [93923, 0, "e"], - [93924, 0, ","], - [93925, 0, " "], - [93926, 0, "o"], - [93927, 0, "r"], - [93928, 0, " "], - [93929, 0, "a"], - [93930, 0, "f"], - [93931, 0, "t"], - [93932, 0, "e"], - [93933, 0, "r"], - [93934, 0, " "], - [93935, 0, "t"], - [93936, 0, "h"], - [93937, 0, "e"], - [93938, 0, " "], - [93939, 0, "s"], - [93940, 0, "u"], - [93941, 0, "f"], - [93942, 0, "f"], - [93943, 0, "i"], - [93944, 0, "x"], - [93945, 0, " "], - [93946, 0, "w"], - [93947, 0, "i"], - [93948, 0, "t"], - [93949, 0, "h"], - [93950, 0, "o"], - [93951, 0, "u"], - [93952, 0, "t"], - [93953, 0, " "], - [93954, 0, "c"], - [93955, 0, "h"], - [93956, 0, "a"], - [93957, 0, "n"], - [93958, 0, "g"], - [93959, 0, "i"], - [93960, 0, "n"], - [93961, 0, "g"], - [93962, 0, " "], - [93963, 0, "i"], - [93964, 0, "t"], - [93965, 0, "s"], - [93966, 0, "e"], - [93966, 1], - [93966, 0, " "], - [93967, 0, "e"], - [93968, 0, "f"], - [93969, 0, "f"], - [93970, 0, "e"], - [93971, 0, "c"], - [93972, 0, "t"], - [93973, 0, " "], - [93974, 0, "o"], - [93975, 0, "n"], - [93976, 0, " "], - [93977, 0, "t"], - [93978, 0, "h"], - [93979, 0, "e"], - [93980, 0, " "], - [93981, 0, "f"], - [93982, 0, "i"], - [93983, 0, "n"], - [93984, 0, "a"], - [93985, 0, "l"], - [93986, 0, " "], - [93987, 0, "d"], - [93988, 0, "o"], - [93989, 0, "c"], - [93990, 0, "u"], - [93991, 0, "m"], - [93992, 0, "e"], - [93993, 0, "n"], - [93994, 0, "t"], - [93995, 0, " "], - [93996, 0, "s"], - [93997, 0, "t"], - [93998, 0, "a"], - [93999, 0, "t"], - [94000, 0, "e"], - [94001, 0, "."], - [94002, 0, " "], - [94003, 0, "S"], - [94004, 0, "i"], - [94005, 0, "m"], - [94006, 0, "i"], - [94007, 0, "l"], - [94008, 0, "a"], - [94009, 0, "r"], - [94010, 0, "l"], - [94011, 0, "y"], - [94012, 0, ","], - [94013, 0, " "], - [94014, 0, "i"], - [94015, 0, "f"], - [94016, 0, " "], - [94017, 0, "$"], - [94018, 0, "o"], - [94019, 0, "_"], - [94020, 0, "{"], - [94021, 0, "n"], - [94022, 0, "+"], - [94023, 0, "1"], - [94024, 0, "}"], - [94025, 0, "$"], - [94026, 0, " "], - [94027, 0, "i"], - [94028, 0, "s"], - [94029, 0, " "], - [94030, 0, "a"], - [94031, 0, "n"], - [94032, 0, " "], - [94033, 0, "a"], - [94034, 0, "s"], - [94035, 0, "s"], - [94036, 0, "i"], - [94037, 0, "g"], - [94038, 0, "n"], - [94039, 0, "m"], - [94040, 0, "e"], - [94041, 0, "n"], - [94042, 0, "t"], - [94043, 0, ","], - [94044, 0, " "], - [94045, 0, "b"], - [94046, 0, "y"], - [94047, 0, " "], - [94048, 0, "L"], - [94049, 0, "e"], - [94050, 0, "m"], - [94051, 0, "m"], - [94052, 0, "a"], - [94053, 0, "~"], - [94054, 0, "\\"], - [94055, 0, "r"], - [94056, 0, "e"], - [94057, 0, "f"], - [94058, 0, "{"], - [94059, 0, "l"], - [94060, 0, "e"], - [94061, 0, "m"], - [94062, 0, ":"], - [94063, 0, "a"], - [94064, 0, "s"], - [94065, 0, "s"], - [94066, 0, "i"], - [94067, 0, "g"], - [94068, 0, "n"], - [94069, 0, "-"], - [94070, 0, "c"], - [94071, 0, "o"], - [94072, 0, "m"], - [94073, 0, "m"], - [94074, 0, "u"], - [94075, 0, "t"], - [94076, 0, "e"], - [94077, 0, "}"], - [94078, 0, " "], - [94079, 0, "i"], - [94080, 0, "t"], - [94081, 0, " "], - [94082, 0, "i"], - [94083, 0, "s"], - [94084, 0, " "], - [94085, 0, "c"], - [94086, 0, "o"], - [94087, 0, "m"], - [94088, 0, "m"], - [94089, 0, "u"], - [94090, 0, "t"], - [94091, 0, "a"], - [94092, 0, "t"], - [94093, 0, "i"], - [94094, 0, "v"], - [94095, 0, "e"], - [94096, 0, " "], - [94097, 0, "w"], - [94098, 0, "i"], - [94099, 0, "t"], - [94100, 0, "h"], - [94101, 0, " "], - [94102, 0, "a"], - [94103, 0, "l"], - [94104, 0, "l"], - [94105, 0, " "], - [94106, 0, "o"], - [94107, 0, "p"], - [94108, 0, "e"], - [94109, 0, "r"], - [94110, 0, "a"], - [94111, 0, "t"], - [94112, 0, "i"], - [94113, 0, "o"], - [94114, 0, "n"], - [94115, 0, "s"], - [94116, 0, " "], - [94117, 0, "i"], - [94118, 0, "n"], - [94119, 0, " "], - [94120, 0, "t"], - [94121, 0, "h"], - [94122, 0, "e"], - [94123, 0, " "], - [94124, 0, "s"], - [94125, 0, "u"], - [94126, 0, "f"], - [94127, 0, "f"], - [94128, 0, "i"], - [94129, 0, "x"], - [94130, 0, "."], - [94131, 0, "\n"], - [94132, 0, "\n"], - [94133, 0, "I"], - [94134, 0, "f"], - [94135, 0, " "], - [94136, 0, "$"], - [94137, 0, "o"], - [94138, 0, "_"], - [94139, 0, "["], - [94139, 1], - [94139, 0, "{"], - [94140, 0, "n"], - [94141, 0, "+"], - [94142, 0, "1"], - [94143, 0, "}"], - [94144, 0, "$"], - [94145, 0, " "], - [94146, 0, "i"], - [94147, 0, "s"], - [94148, 0, " "], - [94149, 0, "a"], - [94150, 0, "n"], - [94151, 0, " "], - [94152, 0, "i"], - [94153, 0, "n"], - [94154, 0, "s"], - [94155, 0, "e"], - [94156, 0, "r"], - [94157, 0, "t"], - [94158, 0, "i"], - [94159, 0, "o"], - [94160, 0, "n"], - [94161, 0, ","], - [94162, 0, " "], - [94163, 0, "l"], - [94164, 0, "e"], - [94165, 0, "t"], - [94166, 0, " "], - [94167, 0, "$"], - [94168, 0, "o"], - [94169, 0, "_"], - [94170, 0, "c"], - [94171, 0, "$"], - [94172, 0, " "], - [94173, 0, "b"], - [94174, 0, "e"], - [94175, 0, " "], - [94176, 0, "a"], - [94177, 0, "n"], - [94178, 0, "y"], - [94179, 0, " "], - [94180, 0, "o"], - [94181, 0, "p"], - [94182, 0, "e"], - [94183, 0, "r"], - [94184, 0, "a"], - [94185, 0, "t"], - [94186, 0, "i"], - [94187, 0, "o"], - [94188, 0, "n"], - [94189, 0, " "], - [94190, 0, "i"], - [94191, 0, "n"], - [94192, 0, " "], - [94193, 0, "t"], - [94194, 0, "h"], - [94195, 0, "e"], - [94196, 0, " "], - [94197, 0, "s"], - [94198, 0, "u"], - [94199, 0, "f"], - [94200, 0, "f"], - [94201, 0, "i"], - [94202, 0, "x"], - [94203, 0, ","], - [94204, 0, " "], - [94205, 0, "a"], - [94206, 0, "n"], - [94207, 0, "d"], - [94208, 0, " "], - [94209, 0, "c"], - [94210, 0, "o"], - [94211, 0, "n"], - [94212, 0, "s"], - [94213, 0, "i"], - [94214, 0, "d"], - [94215, 0, "e"], - [94216, 0, "r"], - [94217, 0, " "], - [94218, 0, "t"], - [94219, 0, "h"], - [94220, 0, "e"], - [94221, 0, " "], - [94222, 0, "c"], - [94223, 0, "a"], - [94224, 0, "s"], - [94225, 0, "e"], - [94226, 0, "s"], - [94227, 0, " "], - [94228, 0, "w"], - [94229, 0, "h"], - [94230, 0, "e"], - [94231, 0, "t"], - [94232, 0, "h"], - [94232, 1], - [94231, 1], - [94230, 1], - [94229, 1], - [94228, 1], - [94228, 0, "o"], - [94229, 0, "f"], - [94230, 0, " "], - [94231, 0, "$"], - [94232, 0, "o"], - [94233, 0, "_"], - [94234, 0, "{"], - [94235, 0, "n"], - [94236, 0, "+"], - [94237, 0, "1"], - [94238, 0, "}"], - [94239, 0, "$"], - [94240, 0, " "], - [94241, 0, "b"], - [94242, 0, "e"], - [94243, 0, "i"], - [94244, 0, "n"], - [94245, 0, "g"], - [94246, 0, " "], - [94247, 0, "i"], - [94248, 0, "n"], - [94249, 0, "s"], - [94250, 0, "e"], - [94251, 0, "r"], - [94252, 0, "t"], - [94253, 0, "e"], - [94254, 0, "d"], - [94255, 0, " "], - [94256, 0, "b"], - [94257, 0, "e"], - [94258, 0, "f"], - [94259, 0, "o"], - [94260, 0, "r"], - [94261, 0, "e"], - [94262, 0, " "], - [94263, 0, "a"], - [94264, 0, "n"], - [94265, 0, "d"], - [94266, 0, " "], - [94267, 0, "a"], - [94268, 0, "f"], - [94269, 0, "t"], - [94270, 0, "e"], - [94271, 0, "r"], - [94272, 0, " "], - [94273, 0, "$"], - [94274, 0, "o"], - [94275, 0, "_"], - [94276, 0, "c"], - [94277, 0, "$"], - [94278, 0, " "], - [94279, 0, "i"], - [94280, 0, "n"], - [94281, 0, " "], - [94282, 0, "t"], - [94283, 0, "h"], - [94284, 0, "e"], - [94285, 0, " "], - [94286, 0, "h"], - [94287, 0, "i"], - [94288, 0, "s"], - [94289, 0, "t"], - [94290, 0, "o"], - [94291, 0, "r"], - [94292, 0, "y"], - [94293, 0, "."], - [94294, 0, " "], - [94295, 0, "I"], - [94296, 0, "f"], - [94297, 0, " "], - [94298, 0, "$"], - [94299, 0, "o"], - [94300, 0, "_"], - [94301, 0, "c"], - [94302, 0, "$"], - [94303, 0, " "], - [94304, 0, "i"], - [94305, 0, "s"], - [94306, 0, " "], - [94307, 0, "a"], - [94308, 0, " "], - [94309, 0, "d"], - [94310, 0, "e"], - [94311, 0, "l"], - [94312, 0, "e"], - [94313, 0, "t"], - [94314, 0, "i"], - [94315, 0, "o"], - [94316, 0, "n"], - [94317, 0, " "], - [94318, 0, "o"], - [94319, 0, "r"], - [94320, 0, " "], - [94321, 0, "a"], - [94322, 0, "s"], - [94323, 0, "s"], - [94324, 0, "i"], - [94325, 0, "g"], - [94326, 0, "n"], - [94327, 0, "m"], - [94328, 0, "e"], - [94329, 0, "n"], - [94330, 0, "t"], - [94331, 0, ","], - [94332, 0, " "], - [94333, 0, "i"], - [94334, 0, "t"], - [94335, 0, " "], - [94336, 0, "i"], - [94337, 0, "s"], - [94338, 0, " "], - [94339, 0, "c"], - [94340, 0, "o"], - [94341, 0, "m"], - [94342, 0, "m"], - [94343, 0, "u"], - [94344, 0, "t"], - [94345, 0, "a"], - [94346, 0, "t"], - [94347, 0, "i"], - [94348, 0, "v"], - [94349, 0, "e"], - [94350, 0, " "], - [94351, 0, "w"], - [94352, 0, "i"], - [94353, 0, "t"], - [94354, 0, "h"], - [94355, 0, " "], - [94356, 0, "$"], - [94357, 0, "o"], - [94358, 0, "_"], - [94359, 0, "{"], - [94360, 0, "n"], - [94361, 0, "+"], - [94362, 0, "1"], - [94363, 0, "}"], - [94364, 0, "$"], - [94365, 0, " "], - [94366, 0, "b"], - [94367, 0, "y"], - [94368, 0, " "], - [94369, 0, "L"], - [94370, 0, "e"], - [94371, 0, "m"], - [94372, 0, "m"], - [94373, 0, "a"], - [94374, 0, "~"], - [94375, 0, "\\"], - [94376, 0, "r"], - [94377, 0, "e"], - [94378, 0, "f"], - [94379, 0, "{"], - [94380, 0, "l"], - [94381, 0, "e"], - [94382, 0, "m"], - [94383, 0, ":"], - [94384, 0, "a"], - [94385, 0, "s"], - [94386, 0, "s"], - [94386, 1], - [94385, 1], - [94384, 1], - [94384, 0, "d"], - [94385, 0, "e"], - [94386, 0, "l"], - [94387, 0, "e"], - [94388, 0, "t"], - [94389, 0, "e"], - [94390, 0, "-"], - [94391, 0, "c"], - [94392, 0, "o"], - [94393, 0, "m"], - [94394, 0, "m"], - [94395, 0, "u"], - [94396, 0, "t"], - [94397, 0, "e"], - [94398, 0, "}"], - [94399, 0, " "], - [94400, 0, "o"], - [94401, 0, "r"], - [94402, 0, " "], - [94403, 0, "L"], - [94404, 0, "e"], - [94405, 0, "m"], - [94406, 0, "m"], - [94407, 0, "a"], - [94408, 0, "~"], - [94409, 0, "\\"], - [94410, 0, "r"], - [94411, 0, "e"], - [94412, 0, "f"], - [94413, 0, "{"], - [94414, 0, "l"], - [94415, 0, "e"], - [94416, 0, "m"], - [94417, 0, ":"], - [94418, 0, "a"], - [94419, 0, "s"], - [94420, 0, "s"], - [94421, 0, "i"], - [94422, 0, "g"], - [94423, 0, "n"], - [94424, 0, "-"], - [94425, 0, "c"], - [94426, 0, "o"], - [94427, 0, "m"], - [94428, 0, "m"], - [94429, 0, "u"], - [94430, 0, "t"], - [94431, 0, "e"], - [94432, 0, "}"], - [94433, 0, " "], - [94434, 0, "r"], - [94435, 0, "e"], - [94436, 0, "s"], - [94437, 0, "p"], - [94438, 0, "e"], - [94439, 0, "c"], - [94440, 0, "t"], - [94441, 0, "i"], - [94442, 0, "v"], - [94443, 0, "e"], - [94444, 0, "l"], - [94445, 0, "y"], - [94446, 0, "."], - [94447, 0, " "], - [94448, 0, "I"], - [94449, 0, "f"], - [94450, 0, " "], - [94451, 0, "$"], - [94452, 0, "o"], - [94453, 0, "_"], - [94454, 0, "c"], - [94455, 0, "$"], - [94456, 0, " "], - [94457, 0, "i"], - [94458, 0, "s"], - [94459, 0, " "], - [94460, 0, "a"], - [94461, 0, "n"], - [94462, 0, " "], - [94463, 0, "i"], - [94464, 0, "n"], - [94465, 0, "s"], - [94466, 0, "e"], - [94467, 0, "r"], - [94468, 0, "t"], - [94469, 0, "i"], - [94470, 0, "o"], - [94471, 0, "n"], - [94472, 0, " "], - [94473, 0, "i"], - [94474, 0, "n"], - [94475, 0, "t"], - [94476, 0, "o"], - [94477, 0, " "], - [94478, 0, "a"], - [94479, 0, " "], - [94480, 0, "d"], - [94481, 0, "i"], - [94482, 0, "f"], - [94483, 0, "f"], - [94484, 0, "e"], - [94485, 0, "r"], - [94486, 0, "e"], - [94487, 0, "n"], - [94488, 0, "t"], - [94489, 0, " "], - [94490, 0, "l"], - [94491, 0, "i"], - [94492, 0, "s"], - [94493, 0, "t"], - [94494, 0, " "], - [94495, 0, "i"], - [94496, 0, "n"], - [94497, 0, " "], - [94498, 0, "t"], - [94499, 0, "h"], - [94500, 0, "e"], - [94501, 0, " "], - [94502, 0, "d"], - [94503, 0, "o"], - [94504, 0, "c"], - [94505, 0, "u"], - [94506, 0, "m"], - [94507, 0, "e"], - [94508, 0, "n"], - [94509, 0, "t"], - [94510, 0, ","], - [94511, 0, " "], - [94512, 0, "i"], - [94513, 0, "t"], - [94514, 0, "s"], - [94515, 0, " "], - [94516, 0, "e"], - [94517, 0, "f"], - [94518, 0, "f"], - [94519, 0, "e"], - [94520, 0, "c"], - [94521, 0, "t"], - [94522, 0, " "], - [94523, 0, "i"], - [94524, 0, "s"], - [94525, 0, " "], - [94526, 0, "i"], - [94527, 0, "n"], - [94528, 0, "d"], - [94529, 0, "e"], - [94530, 0, "p"], - [94531, 0, "e"], - [94532, 0, "n"], - [94533, 0, "d"], - [94534, 0, "e"], - [94535, 0, "n"], - [94536, 0, "t"], - [94537, 0, " "], - [94538, 0, "f"], - [94539, 0, "r"], - [94540, 0, "o"], - [94541, 0, "m"], - [94542, 0, " "], - [94543, 0, "$"], - [94544, 0, "o"], - [94545, 0, "_"], - [94546, 0, "{"], - [94547, 0, "n"], - [94548, 0, "+"], - [94549, 0, "1"], - [94550, 0, "}"], - [94551, 0, "$"], - [94552, 0, " "], - [94553, 0, "a"], - [94554, 0, "n"], - [94555, 0, "d"], - [94556, 0, " "], - [94557, 0, "s"], - [94558, 0, "o"], - [94559, 0, " "], - [94560, 0, "t"], - [94561, 0, "h"], - [94562, 0, "e"], - [94563, 0, " "], - [94564, 0, "t"], - [94565, 0, "w"], - [94566, 0, "o"], - [94567, 0, " "], - [94568, 0, "o"], - [94569, 0, "p"], - [94570, 0, "e"], - [94571, 0, "r"], - [94572, 0, "a"], - [94573, 0, "t"], - [94574, 0, "i"], - [94575, 0, "o"], - [94576, 0, "n"], - [94577, 0, "s"], - [94578, 0, " "], - [94579, 0, "c"], - [94580, 0, "a"], - [94581, 0, "n"], - [94582, 0, " "], - [94583, 0, "b"], - [94584, 0, "e"], - [94585, 0, " "], - [94586, 0, "a"], - [94587, 0, "p"], - [94588, 0, "p"], - [94589, 0, "l"], - [94590, 0, "i"], - [94591, 0, "e"], - [94592, 0, "d"], - [94593, 0, " "], - [94594, 0, "i"], - [94595, 0, "n"], - [94596, 0, " "], - [94597, 0, "a"], - [94598, 0, "n"], - [94599, 0, "y"], - [94600, 0, " "], - [94601, 0, "o"], - [94602, 0, "r"], - [94603, 0, "d"], - [94604, 0, "e"], - [94605, 0, "r"], - [94606, 0, "."], - [94607, 0, " "], - [94608, 0, "I"], - [94609, 0, "f"], - [94610, 0, " "], - [94611, 0, "$"], - [94612, 0, "o"], - [94613, 0, "_"], - [94614, 0, "c"], - [94615, 0, "$"], - [94616, 0, " "], - [94617, 0, "i"], - [94618, 0, "s"], - [94619, 0, " "], - [94620, 0, "a"], - [94621, 0, "n"], - [94622, 0, " "], - [94623, 0, "i"], - [94624, 0, "n"], - [94625, 0, "s"], - [94626, 0, "e"], - [94627, 0, "r"], - [94628, 0, "t"], - [94629, 0, "i"], - [94630, 0, "o"], - [94631, 0, "n"], - [94632, 0, " "], - [94633, 0, "i"], - [94634, 0, "n"], - [94635, 0, "t"], - [94636, 0, "o"], - [94637, 0, " "], - [94510, 0, " "], - [94511, 0, "t"], - [94512, 0, "h"], - [94513, 0, "a"], - [94513, 1], - [94512, 1], - [94511, 1], - [94510, 1], - [94510, 0, " "], - [94510, 1], - [94447, 0, " "], - [94448, 0, "I"], - [94449, 0, "f"], - [94450, 0, " "], - [94451, 0, "$"], - [94452, 0, "o"], - [94453, 0, "_"], - [94454, 0, "c"], - [94455, 0, "$"], - [94456, 0, " "], - [94457, 0, "i"], - [94458, 0, "s"], - [94459, 0, " "], - [94460, 0, "a"], - [94461, 0, "n"], - [94462, 0, " "], - [94463, 0, "i"], - [94464, 0, "n"], - [94465, 0, "s"], - [94466, 0, "e"], - [94467, 0, "r"], - [94468, 0, "t"], - [94469, 0, "i"], - [94470, 0, "o"], - [94471, 0, "n"], - [94472, 0, " "], - [94473, 0, "i"], - [94474, 0, "n"], - [94475, 0, "t"], - [94476, 0, "o"], - [94477, 0, " "], - [94478, 0, "t"], - [94479, 0, "h"], - [94480, 0, "e"], - [94481, 0, " "], - [94482, 0, "s"], - [94483, 0, "a"], - [94484, 0, "m"], - [94485, 0, "e"], - [94486, 0, " "], - [94487, 0, "l"], - [94488, 0, "i"], - [94489, 0, "s"], - [94490, 0, "t"], - [94491, 0, " "], - [94492, 0, "a"], - [94493, 0, "s"], - [94494, 0, " "], - [94495, 0, "$"], - [94496, 0, "o"], - [94497, 0, "_"], - [94498, 0, "{"], - [94499, 0, "n"], - [94500, 0, "+"], - [94501, 0, "2"], - [94501, 1], - [94501, 0, "1"], - [94502, 0, "}"], - [94503, 0, "$"], - [94504, 0, ","], - [94505, 0, " "], - [94506, 0, "t"], - [94507, 0, "h"], - [94508, 0, "e"], - [94509, 0, "n"], - [94510, 0, " "], - [94511, 0, "b"], - [94512, 0, "y"], - [94513, 0, " "], - [94514, 0, "L"], - [94515, 0, "e"], - [94516, 0, "m"], - [94517, 0, "m"], - [94518, 0, "a"], - [94519, 0, "~"], - [94520, 0, "\\"], - [94521, 0, "r"], - [94522, 0, "e"], - [94523, 0, "f"], - [94524, 0, "{"], - [94525, 0, "l"], - [94526, 0, "e"], - [94527, 0, "m"], - [94528, 0, ":"], - [94529, 0, "i"], - [94530, 0, "n"], - [94531, 0, "s"], - [94532, 0, "e"], - [94533, 0, "r"], - [94534, 0, "t"], - [94535, 0, "-"], - [94536, 0, "r"], - [94537, 0, "e"], - [94538, 0, "o"], - [94539, 0, "r"], - [94540, 0, "d"], - [94541, 0, "e"], - [94542, 0, "r"], - [94543, 0, "}"], - [94544, 0, " "], - [94545, 0, "t"], - [94546, 0, "h"], - [94547, 0, "e"], - [94548, 0, " "], - [94549, 0, "o"], - [94550, 0, "p"], - [94551, 0, "e"], - [94552, 0, "r"], - [94553, 0, "a"], - [94554, 0, "t"], - [94555, 0, "i"], - [94556, 0, "o"], - [94557, 0, "n"], - [94558, 0, "s"], - [94559, 0, " "], - [94560, 0, "a"], - [94561, 0, "r"], - [94562, 0, "e"], - [94563, 0, " "], - [94564, 0, "c"], - [94565, 0, "o"], - [94566, 0, "m"], - [94567, 0, "m"], - [94568, 0, "u"], - [94569, 0, "t"], - [94570, 0, "a"], - [94571, 0, "t"], - [94572, 0, "i"], - [94573, 0, "v"], - [94574, 0, "e"], - [94575, 0, "."], - [94766, 1], - [94765, 1], - [94764, 1], - [94763, 1], - [94762, 1], - [94761, 1], - [94760, 1], - [94759, 1], - [94758, 1], - [94757, 1], - [94756, 1], - [94755, 1], - [94754, 1], - [94753, 1], - [94752, 1], - [94751, 1], - [94750, 1], - [94749, 1], - [94748, 1], - [94747, 1], - [94746, 1], - [94745, 1], - [94744, 1], - [94743, 1], - [94742, 1], - [94741, 1], - [94740, 1], - [94739, 1], - [94738, 1], - [94737, 1], - [94736, 1], - [94882, 1], - [94881, 1], - [94880, 1], - [94879, 1], - [94878, 1], - [94877, 1], - [94876, 1], - [94875, 1], - [94874, 1], - [94873, 1], - [94872, 1], - [94871, 1], - [94870, 1], - [94869, 1], - [94868, 1], - [94867, 1], - [94866, 1], - [94865, 1], - [94864, 1], - [94863, 1], - [94862, 1], - [94861, 1], - [94860, 1], - [94859, 1], - [94858, 1], - [94857, 1], - [94856, 1], - [94855, 1], - [94854, 1], - [94853, 1], - [94852, 1], - [94851, 1], - [94850, 1], - [94849, 1], - [94848, 1], - [94847, 1], - [94846, 1], - [94845, 1], - [94844, 1], - [94843, 1], - [94842, 1], - [94841, 1], - [94840, 1], - [94839, 1], - [94838, 1], - [94837, 1], - [94836, 1], - [94835, 1], - [94834, 1], - [94833, 1], - [94832, 1], - [94831, 1], - [94830, 1], - [94829, 1], - [94828, 1], - [94827, 1], - [94826, 1], - [94825, 1], - [94824, 1], - [94823, 1], - [94822, 1], - [94821, 1], - [94820, 1], - [94819, 1], - [94818, 1], - [94817, 1], - [94816, 1], - [94815, 1], - [94814, 1], - [94813, 1], - [94812, 1], - [94811, 1], - [94810, 1], - [94809, 1], - [94808, 1], - [94807, 1], - [94806, 1], - [94805, 1], - [94804, 1], - [94803, 1], - [94802, 1], - [94801, 1], - [94800, 1], - [94799, 1], - [94798, 1], - [94797, 1], - [94796, 1], - [94795, 1], - [94794, 1], - [94793, 1], - [94792, 1], - [94791, 1], - [94790, 1], - [94789, 1], - [94788, 1], - [94787, 1], - [94786, 1], - [94785, 1], - [94784, 1], - [94783, 1], - [94782, 1], - [94781, 1], - [94780, 1], - [94779, 1], - [94778, 1], - [94777, 1], - [94776, 1], - [94775, 1], - [94774, 1], - [94773, 1], - [94772, 1], - [94771, 1], - [94770, 1], - [94769, 1], - [94768, 1], - [94767, 1], - [94766, 1], - [94765, 1], - [94764, 1], - [94763, 1], - [94762, 1], - [94761, 1], - [94760, 1], - [94759, 1], - [94758, 1], - [94757, 1], - [94756, 1], - [94755, 1], - [94754, 1], - [94753, 1], - [94752, 1], - [94751, 1], - [94750, 1], - [94749, 1], - [94748, 1], - [94747, 1], - [94746, 1], - [94745, 1], - [94744, 1], - [94743, 1], - [94742, 1], - [94741, 1], - [94740, 1], - [94739, 1], - [94738, 1], - [94738, 0, "T"], - [94739, 0, "h"], - [94740, 0, "u"], - [94741, 0, "s"], - [94742, 0, ","], - [94743, 0, " "], - [94744, 0, "t"], - [94745, 0, "h"], - [94746, 0, "e"], - [94747, 0, " "], - [94747, 1], - [94746, 1], - [94745, 1], - [94744, 1], - [94743, 1], - [94743, 0, " "], - [94744, 0, "$"], - [94745, 0, "o"], - [94746, 0, "_"], - [94747, 0, "{"], - [94748, 0, "n"], - [94749, 0, "+"], - [94750, 0, "2"], - [94751, 0, "1"], - [94751, 1], - [94750, 1], - [94750, 0, "1"], - [94751, 0, "}"], - [94752, 0, "$"], - [94753, 0, " "], - [94754, 0, "i"], - [94755, 0, "s"], - [94756, 0, " "], - [94757, 0, "c"], - [94758, 0, "o"], - [94759, 0, "m"], - [94760, 0, "m"], - [94761, 0, "u"], - [94762, 0, "t"], - [94763, 0, "a"], - [94764, 0, "t"], - [94765, 0, "i"], - [94766, 0, "v"], - [94767, 0, "e"], - [94768, 0, " "], - [94769, 0, "w"], - [94770, 0, "i"], - [94771, 0, "t"], - [94772, 0, "h"], - [94773, 0, " "], - [94774, 0, "r"], - [94775, 0, "e"], - [94776, 0, "s"], - [94777, 0, "p"], - [94778, 0, "e"], - [94779, 0, "c"], - [94780, 0, "t"], - [94781, 0, " "], - [94782, 0, "t"], - [94783, 0, "o"], - [94784, 0, " "], - [94785, 0, "a"], - [94786, 0, "n"], - [94787, 0, "y"], - [94788, 0, " "], - [94789, 0, "c"], - [94790, 0, "o"], - [94791, 0, "n"], - [94792, 0, "c"], - [94793, 0, "u"], - [94794, 0, "r"], - [94795, 0, "r"], - [94796, 0, "e"], - [94797, 0, "n"], - [94798, 0, "t"], - [94799, 0, " "], - [94800, 0, "o"], - [94801, 0, "p"], - [94802, 0, "e"], - [94803, 0, "r"], - [94804, 0, "a"], - [94805, 0, "t"], - [94806, 0, "i"], - [94807, 0, "o"], - [94808, 0, "n"], - [94809, 0, " "], - [94810, 0, "i"], - [94811, 0, "n"], - [94812, 0, " "], - [94813, 0, "$"], - [94814, 0, "H"], - [94815, 0, "$"], - [94816, 0, ","], - [94817, 0, " "], - [94818, 0, "a"], - [94819, 0, "n"], - [94820, 0, "d"], - [94821, 0, " "], - [94822, 0, "t"], - [94823, 0, "h"], - [94824, 0, "e"], - [94825, 0, "r"], - [94826, 0, "e"], - [94827, 0, "f"], - [94828, 0, "o"], - [94829, 0, "r"], - [94830, 0, "e"], - [94831, 0, " "], - [94844, 0, "\n"], - [94845, 0, "\n"], - [94846, 0, "T"], - [94847, 0, "h"], - [94848, 0, "i"], - [94849, 0, "s"], - [94850, 0, " "], - [94851, 0, "c"], - [94852, 0, "o"], - [94853, 0, "m"], - [94854, 0, "p"], - [94855, 0, "l"], - [94856, 0, "e"], - [94857, 0, "t"], - [94858, 0, "e"], - [94859, 0, "s"], - [94860, 0, " "], - [94861, 0, "t"], - [94862, 0, "h"], - [94863, 0, "e"], - [94864, 0, " "], - [94865, 0, "i"], - [94866, 0, "n"], - [94867, 0, "d"], - [94868, 0, "u"], - [94869, 0, "c"], - [94870, 0, "t"], - [94871, 0, "i"], - [94872, 0, "o"], - [94873, 0, "n"], - [94874, 0, " "], - [94875, 0, "s"], - [94876, 0, "t"], - [94877, 0, "e"], - [94878, 0, "p"], - [94879, 0, " "], - [94880, 0, "i"], - [94881, 0, "n"], - [94882, 0, " "], - [94883, 0, "t"], - [94884, 0, "h"], - [94885, 0, "e"], - [94886, 0, " "], - [94887, 0, "p"], - [94888, 0, "r"], - [94889, 0, "o"], - [94890, 0, "o"], - [94891, 0, "f"], - [94892, 0, " "], - [94893, 0, "o"], - [94894, 0, "f"], - [94895, 0, " "], - [94896, 0, "T"], - [94897, 0, "h"], - [94898, 0, "e"], - [94899, 0, "o"], - [94900, 0, "r"], - [94901, 0, "e"], - [94902, 0, "m"], - [94903, 0, "~"], - [94904, 0, "\\"], - [94905, 0, "r"], - [94906, 0, "e"], - [94907, 0, "f"], - [94908, 0, "{"], - [94909, 0, "t"], - [94910, 0, "h"], - [94911, 0, "m"], - [94912, 0, ":"], - [94913, 0, "c"], - [94914, 0, "o"], - [94915, 0, "n"], - [94916, 0, "v"], - [94917, 0, "e"], - [94918, 0, "r"], - [94919, 0, "g"], - [94920, 0, "e"], - [94921, 0, "n"], - [94922, 0, "c"], - [94923, 0, "e"], - [94924, 0, "}"], - [94925, 0, ","], - [94926, 0, " "], - [94927, 0, "a"], - [94928, 0, "n"], - [94929, 0, "d"], - [94930, 0, " "], - [94931, 0, "t"], - [94932, 0, "h"], - [94933, 0, "u"], - [94934, 0, "s"], - [94935, 0, " "], - [94936, 0, "p"], - [94937, 0, "r"], - [94938, 0, "o"], - [94939, 0, "v"], - [94940, 0, "e"], - [94941, 0, "s"], - [94942, 0, " "], - [94943, 0, "c"], - [94944, 0, "o"], - [94945, 0, "n"], - [94946, 0, "v"], - [94947, 0, "e"], - [94948, 0, "r"], - [94949, 0, "g"], - [94950, 0, "e"], - [94951, 0, "n"], - [94952, 0, "c"], - [94953, 0, "e"], - [94954, 0, " "], - [94955, 0, "o"], - [94956, 0, "f"], - [94957, 0, " "], - [94958, 0, "o"], - [94959, 0, "u"], - [94960, 0, "r"], - [94961, 0, " "], - [94962, 0, "d"], - [94963, 0, "a"], - [94964, 0, "t"], - [94965, 0, "a"], - [94966, 0, "t"], - [94967, 0, "y"], - [94968, 0, "p"], - [94969, 0, "e"], - [94970, 0, "."], - [94832, 0, "$"], - [94821, 1], - [94820, 1], - [94819, 1], - [94818, 1], - [94817, 1], - [94816, 1], - [94816, 0, "."], - [94817, 0, " "], - [94818, 1], - [94818, 0, "T"], - [94827, 0, ","], - [94830, 0, "o"], - [94831, 0, "_"], - [94832, 0, "{"], - [94833, 0, "n"], - [94834, 0, "+"], - [94835, 0, "1"], - [94836, 0, "}"], - [94837, 0, "$"], - [94838, 0, " "], - [94839, 0, "c"], - [94840, 0, "a"], - [94841, 0, "n"], - [94842, 0, " "], - [94843, 0, "b"], - [94844, 0, "e"], - [94845, 0, " "], - [94846, 0, "i"], - [94847, 0, "n"], - [94848, 0, "s"], - [94849, 0, "e"], - [94850, 0, "r"], - [94851, 0, "t"], - [94852, 0, "e"], - [94853, 0, "d"], - [94854, 0, " "], - [94855, 0, "a"], - [94856, 0, "t"], - [94857, 0, " "], - [94858, 0, "a"], - [94859, 0, "n"], - [94860, 0, "y"], - [94861, 0, " "], - [94862, 0, "p"], - [94863, 0, "o"], - [94864, 0, "i"], - [94865, 0, "n"], - [94866, 0, "t"], - [94867, 0, " "], - [94868, 0, "a"], - [94869, 0, "f"], - [94870, 0, "t"], - [94871, 0, "e"], - [94872, 0, "r"], - [94873, 0, " "], - [94874, 0, "p"], - [94874, 1], - [94874, 0, "i"], - [94875, 0, "t"], - [94876, 0, "s"], - [94877, 0, " "], - [94878, 0, "c"], - [94879, 0, "a"], - [94880, 0, "u"], - [94881, 0, "s"], - [94882, 0, "a"], - [94883, 0, "l"], - [94884, 0, " "], - [94885, 0, "d"], - [94886, 0, "e"], - [94887, 0, "p"], - [94888, 0, "e"], - [94889, 0, "n"], - [94890, 0, "d"], - [94891, 0, "e"], - [94892, 0, "n"], - [94893, 0, "c"], - [94894, 0, "i"], - [94895, 0, "e"], - [94896, 0, "s"], - [94897, 0, ","], - [94898, 0, " "], - [94899, 0, "a"], - [94900, 0, "n"], - [94901, 0, "d"], - [94902, 0, " "], - [94903, 0, "t"], - [94904, 0, "h"], - [94905, 0, "e"], - [94906, 0, " "], - [94854, 0, " "], - [94855, 0, "i"], - [94856, 0, "n"], - [94857, 0, "t"], - [94858, 0, "o"], - [94859, 0, " "], - [94860, 0, "$"], - [94861, 0, "H"], - [94862, 0, "$"], - [94916, 0, "e"], - [94917, 0, "f"], - [94918, 0, "f"], - [94919, 0, "e"], - [94920, 0, "c"], - [94921, 0, "t"], - [94922, 0, " "], - [94923, 0, "o"], - [94924, 0, "n"], - [94925, 0, " "], - [94926, 0, "t"], - [94927, 0, "h"], - [94928, 0, "e"], - [94929, 0, " "], - [94930, 0, "f"], - [94931, 0, "i"], - [94932, 0, "n"], - [94933, 0, "a"], - [94934, 0, "l"], - [94935, 0, " "], - [94936, 0, "d"], - [94937, 0, "o"], - [94938, 0, "c"], - [94939, 0, "u"], - [94940, 0, "m"], - [94941, 0, "e"], - [94942, 0, "n"], - [94943, 0, "t"], - [94944, 0, " "], - [94945, 0, "s"], - [94946, 0, "t"], - [94947, 0, "a"], - [94948, 0, "t"], - [94949, 0, "e"], - [94950, 0, " "], - [94951, 0, "i"], - [94952, 0, "s"], - [94953, 0, " "], - [94954, 0, "i"], - [94955, 0, "n"], - [94956, 0, "d"], - [94957, 0, "e"], - [94958, 0, "p"], - [94959, 0, "e"], - [94960, 0, "n"], - [94961, 0, "d"], - [94962, 0, "e"], - [94963, 0, "n"], - [94964, 0, "t"], - [94965, 0, " "], - [94966, 0, "o"], - [94967, 0, "f"], - [94968, 0, " "], - [94969, 0, "t"], - [94970, 0, "h"], - [94971, 0, "e"], - [94972, 0, " "], - [94973, 0, "p"], - [94974, 0, "o"], - [94975, 0, "s"], - [94976, 0, "i"], - [94977, 0, "t"], - [94978, 0, "i"], - [94979, 0, "o"], - [94980, 0, "n"], - [94981, 0, " "], - [94982, 0, "a"], - [94983, 0, "t"], - [94984, 0, " "], - [94985, 0, "w"], - [94986, 0, "h"], - [94987, 0, "i"], - [94988, 0, "c"], - [94989, 0, "h"], - [94990, 0, " "], - [94991, 0, "t"], - [94992, 0, "h"], - [94993, 0, "e"], - [94994, 0, " "], - [94995, 0, "o"], - [94996, 0, "p"], - [94997, 0, "e"], - [94998, 0, "r"], - [94999, 0, "a"], - [95000, 0, "t"], - [95001, 0, "i"], - [95002, 0, "o"], - [95003, 0, "n"], - [95004, 0, " "], - [95005, 0, "i"], - [95006, 0, "s"], - [95007, 0, " "], - [95008, 0, "i"], - [95009, 0, "n"], - [95010, 0, "s"], - [95011, 0, "e"], - [95012, 0, "r"], - [95013, 0, "t"], - [95014, 0, "e"], - [95015, 0, "d"], - [95016, 0, "."], - [4630, 1], - [4629, 1], - [4628, 1], - [4627, 1], - [4626, 1], - [4625, 1], - [4624, 1], - [4623, 1], - [4622, 1], - [4621, 1], - [4620, 1], - [4619, 1], - [4618, 1], - [4617, 1], - [4616, 1], - [4615, 1], - [4614, 1], - [4613, 1], - [4612, 1], - [4611, 1], - [4610, 1], - [4609, 1], - [4608, 1], - [4607, 1], - [4606, 1], - [4606, 0, "s"], - [4607, 0, "u"], - [4608, 0, "p"], - [4609, 0, "p"], - [4610, 0, "o"], - [4611, 0, "r"], - [4612, 0, "t"], - [4613, 0, "s"], - [4614, 0, " "], - [5088, 1], - [5087, 1], - [5086, 1], - [5085, 1], - [5084, 1], - [5083, 1], - [5082, 1], - [5081, 1], - [5080, 1], - [5079, 1], - [5078, 1], - [5077, 1], - [5076, 1], - [5075, 1], - [5074, 1], - [5073, 1], - [5072, 1], - [5071, 1], - [5070, 1], - [5069, 1], - [5068, 1], - [5067, 1], - [5066, 1], - [5065, 1], - [5064, 1], - [5063, 1], - [5062, 1], - [5061, 1], - [5060, 1], - [5059, 1], - [5058, 1], - [5057, 1], - [5056, 1], - [5055, 1], - [5054, 1], - [5053, 1], - [5052, 1], - [5051, 1], - [5050, 1], - [5049, 1], - [5048, 1], - [5047, 1], - [5046, 1], - [5045, 1], - [5044, 1], - [5043, 1], - [5042, 1], - [5041, 1], - [5040, 1], - [5039, 1], - [5038, 1], - [5037, 1], - [5036, 1], - [5035, 1], - [5034, 1], - [5033, 1], - [5032, 1], - [5031, 1], - [5030, 1], - [5029, 1], - [5028, 1], - [5027, 1], - [5026, 1], - [5025, 1], - [5024, 1], - [5023, 1], - [5022, 1], - [5021, 1], - [5020, 1], - [5019, 1], - [5018, 1], - [5017, 1], - [5016, 1], - [5015, 1], - [5014, 1], - [5013, 1], - [5012, 1], - [5011, 1], - [5010, 1], - [5009, 1], - [5008, 1], - [5007, 1], - [5006, 1], - [5005, 1], - [5004, 1], - [5003, 1], - [5002, 1], - [5001, 1], - [5000, 1], - [4999, 1], - [4998, 1], - [4997, 1], - [4996, 1], - [4995, 1], - [4994, 1], - [4993, 1], - [4992, 1], - [4991, 1], - [4990, 1], - [4989, 1], - [4988, 1], - [4987, 1], - [4986, 1], - [4985, 1], - [4984, 1], - [4983, 1], - [4982, 1], - [4981, 1], - [4980, 1], - [4979, 1], - [4978, 1], - [4977, 1], - [4976, 1], - [4975, 1], - [4974, 1], - [4973, 1], - [4972, 1], - [4971, 1], - [4970, 1], - [4969, 1], - [4968, 1], - [4967, 1], - [4966, 1], - [4965, 1], - [4964, 1], - [4963, 1], - [4962, 1], - [4961, 1], - [4960, 1], - [4959, 1], - [4958, 1], - [4957, 1], - [4956, 1], - [4955, 1], - [4954, 1], - [4953, 1], - [4952, 1], - [4951, 1], - [4950, 1], - [4949, 1], - [4948, 1], - [4947, 1], - [4946, 1], - [4945, 1], - [4944, 1], - [4943, 1], - [4942, 1], - [4941, 1], - [4940, 1], - [4939, 1], - [4938, 1], - [4937, 1], - [4936, 1], - [4935, 1], - [4934, 1], - [4933, 1], - [4932, 1], - [4931, 1], - [4930, 1], - [4929, 1], - [4928, 1], - [4927, 1], - [4926, 1], - [4925, 1], - [4924, 1], - [4923, 1], - [4922, 1], - [4921, 1], - [4920, 1], - [4919, 1], - [4918, 1], - [4917, 1], - [4916, 1], - [4915, 1], - [4914, 1], - [4913, 1], - [4912, 1], - [4911, 1], - [4910, 1], - [4909, 1], - [4908, 1], - [4907, 1], - [4906, 1], - [4905, 1], - [4904, 1], - [4903, 1], - [4902, 1], - [4901, 1], - [4900, 1], - [4899, 1], - [4898, 1], - [4897, 1], - [4896, 1], - [4895, 1], - [4894, 1], - [4893, 1], - [4892, 1], - [4891, 1], - [4890, 1], - [4889, 1], - [4888, 1], - [4887, 1], - [4886, 1], - [4885, 1], - [4884, 1], - [4883, 1], - [4882, 1], - [4881, 1], - [4880, 1], - [4879, 1], - [4878, 1], - [4877, 1], - [4876, 1], - [4875, 1], - [4874, 1], - [4873, 1], - [4872, 1], - [4871, 1], - [4870, 1], - [4869, 1], - [4868, 1], - [4867, 1], - [4866, 1], - [4865, 1], - [4864, 1], - [4863, 1], - [4862, 1], - [4861, 1], - [4860, 1], - [4859, 1], - [4858, 1], - [4857, 1], - [4856, 1], - [4855, 1], - [4854, 1], - [4853, 1], - [4852, 1], - [4851, 1], - [4850, 1], - [4849, 1], - [4848, 1], - [4847, 1], - [4846, 1], - [4845, 1], - [4844, 1], - [4843, 1], - [4842, 1], - [4841, 1], - [4840, 1], - [4839, 1], - [4838, 1], - [4837, 1], - [4836, 1], - [4835, 1], - [4834, 1], - [4833, 1], - [4668, 0, "i"], - [4669, 0, " "], - [4669, 1], - [4668, 1], - [4668, 0, " "], - [4669, 0, "A"], - [4670, 0, "s"], - [4671, 0, " "], - [4672, 0, "w"], - [4673, 0, "e"], - [4674, 0, " "], - [4675, 0, "s"], - [4676, 0, "h"], - [4677, 0, "a"], - [4678, 0, "l"], - [4679, 0, "l"], - [4680, 0, " "], - [4681, 0, "s"], - [4682, 0, "e"], - [4683, 0, "e"], - [4684, 0, " "], - [4685, 0, "l"], - [4686, 0, "a"], - [4687, 0, "t"], - [4688, 0, "e"], - [4689, 0, "r"], - [4690, 0, ","], - [4691, 0, " "], - [4692, 0, "i"], - [4693, 0, "n"], - [4694, 0, " "], - [4695, 0, "s"], - [4696, 0, "o"], - [4697, 0, "m"], - [4698, 0, "e"], - [4699, 0, " "], - [4700, 0, "c"], - [4701, 0, "a"], - [4702, 0, "s"], - [4703, 0, "e"], - [4704, 0, "s"], - [4705, 0, " "], - [4706, 0, "w"], - [4707, 0, "e"], - [4708, 0, " "], - [4709, 0, "n"], - [4710, 0, "e"], - [4711, 0, "e"], - [4712, 0, "d"], - [4713, 0, " "], - [4714, 0, "t"], - [4715, 0, "o"], - [4716, 0, " "], - [4717, 0, "s"], - [4718, 0, "u"], - [4719, 0, "p"], - [4720, 0, "p"], - [4721, 0, "o"], - [4722, 0, "r"], - [4723, 0, "t"], - [4723, 1], - [4722, 1], - [4721, 1], - [4720, 1], - [4719, 1], - [4718, 1], - [4717, 1], - [4716, 1], - [4715, 1], - [4714, 1], - [4713, 1], - [4712, 1], - [4711, 1], - [4710, 1], - [4709, 1], - [4708, 1], - [4707, 1], - [4706, 1], - [4706, 0, "s"], - [4707, 0, "u"], - [4708, 0, "p"], - [4709, 0, "p"], - [4710, 0, "o"], - [4711, 0, "r"], - [4712, 0, "t"], - [4713, 0, " "], - [4714, 0, "a"], - [4714, 1], - [4713, 1], - [4712, 1], - [4711, 1], - [4710, 1], - [4709, 1], - [4708, 1], - [4707, 1], - [4706, 1], - [4705, 1], - [4704, 1], - [4703, 1], - [4702, 1], - [4701, 1], - [4700, 1], - [4699, 1], - [4698, 1], - [4697, 1], - [4696, 1], - [4695, 1], - [4694, 1], - [4693, 1], - [4692, 1], - [4692, 0, "o"], - [4693, 0, "u"], - [4694, 0, "r"], - [4695, 0, " "], - [4696, 0, "a"], - [4697, 0, "p"], - [4698, 0, "p"], - [4699, 0, "r"], - [4700, 0, "o"], - [4701, 0, "a"], - [4702, 0, "c"], - [4703, 0, "h"], - [4704, 0, " "], - [4705, 0, "r"], - [4706, 0, "e"], - [4707, 0, "q"], - [4708, 0, "u"], - [4709, 0, "i"], - [4710, 0, "r"], - [4711, 0, "e"], - [4712, 0, "s"], - [4713, 0, " "], - [4714, 0, "t"], - [4715, 0, "h"], - [4716, 0, "e"], - [4717, 0, " "], - [4718, 0, "u"], - [4719, 0, "s"], - [4720, 0, "e"], - [4721, 0, " "], - [4722, 0, "o"], - [4723, 0, "f"], - [4724, 0, " "], - [4725, 0, "a"], - [4726, 0, " "], - [4727, 0, "m"], - [4728, 0, "u"], - [4729, 0, "l"], - [4730, 0, "t"], - [4731, 0, "i"], - [4732, 0, "-"], - [4733, 0, "v"], - [4734, 0, "a"], - [4734, 1], - [4734, 0, "a"], - [4735, 0, "l"], - [4736, 0, "u"], - [4737, 0, "e"], - [4738, 0, " "], - [4739, 0, "r"], - [4740, 0, "e"], - [4741, 0, "g"], - [4742, 0, "i"], - [4743, 0, "t"], - [4744, 0, "e"], - [4744, 1], - [4743, 1], - [4743, 0, "s"], - [4744, 0, "t"], - [4745, 0, "e"], - [4746, 0, "r"], - [4746, 1], - [4745, 1], - [4744, 1], - [4743, 1], - [4742, 1], - [4741, 1], - [4740, 1], - [4739, 1], - [4738, 1], - [4737, 1], - [4736, 1], - [4735, 1], - [4734, 1], - [4733, 1], - [4732, 1], - [4731, 1], - [4730, 1], - [4729, 1], - [4728, 1], - [4727, 1], - [4726, 1], - [4725, 1], - [4724, 1], - [4723, 1], - [4722, 1], - [4721, 1], - [4720, 1], - [4719, 1], - [4718, 1], - [4717, 1], - [4716, 1], - [4715, 1], - [4714, 1], - [4713, 1], - [4712, 1], - [4711, 1], - [4710, 1], - [4709, 1], - [4708, 1], - [4707, 1], - [4706, 1], - [4705, 1], - [4705, 0, "m"], - [4706, 0, "a"], - [4707, 0, "y"], - [4708, 0, " "], - [4709, 0, "r"], - [4710, 0, "e"], - [4711, 0, "q"], - [4712, 0, "u"], - [4713, 0, "i"], - [4714, 0, "r"], - [4715, 0, "e"], - [4716, 0, " "], - [4717, 0, "a"], - [4718, 0, " "], - [4719, 0, "m"], - [4720, 0, "u"], - [4721, 0, "l"], - [4722, 0, "t"], - [4723, 0, "i"], - [4724, 0, "-"], - [4725, 0, "v"], - [4726, 0, "a"], - [4727, 0, "l"], - [4728, 0, "e"], - [4728, 1], - [4727, 1], - [4727, 0, "l"], - [4728, 0, "u"], - [4729, 0, "e"], - [4730, 0, " "], - [4731, 0, "r"], - [4732, 0, "e"], - [4733, 0, "s"], - [4734, 0, "g"], - [4734, 1], - [4733, 1], - [4733, 0, "g"], - [4734, 0, "i"], - [4735, 0, "s"], - [4736, 0, "t"], - [4737, 0, "e"], - [4738, 0, "r"], - [4739, 0, " "], - [4740, 0, "t"], - [4741, 0, "o"], - [4742, 0, " "], - [4743, 0, "r"], - [4744, 0, "e"], - [4745, 0, "c"], - [4746, 0, "o"], - [4747, 0, "r"], - [4748, 0, "d"], - [4749, 0, " "], - [4750, 0, "p"], - [4751, 0, "o"], - [4752, 0, "t"], - [4753, 0, "e"], - [4754, 0, "n"], - [4755, 0, "t"], - [4756, 0, "i"], - [4757, 0, "a"], - [4758, 0, "l"], - [4759, 0, " "], - [4760, 0, "c"], - [4761, 0, "o"], - [4762, 0, "n"], - [4763, 0, "f"], - [4764, 0, "l"], - [4765, 0, "i"], - [4766, 0, "c"], - [4767, 0, "t"], - [4768, 0, "s"], - [4704, 0, " "], - [4705, 0, "t"], - [4706, 0, "y"], - [4707, 0, "p"], - [4708, 0, "i"], - [4709, 0, "c"], - [4710, 0, "a"], - [4711, 0, "l"], - [4712, 0, "l"], - [4713, 0, "y"], - [4714, 0, " "], - [4715, 0, "s"], - [4715, 1], - [4715, 0, "s"], - [4716, 0, "u"], - [4717, 0, "p"], - [4718, 0, "p"], - [4719, 0, "o"], - [4720, 0, "r"], - [4721, 0, "t"], - [4722, 0, "s"], - [4723, 0, " "], - [4724, 0, "t"], - [4725, 0, "h"], - [4726, 0, "e"], - [4727, 0, " "], - [4728, 0, "m"], - [4729, 0, "e"], - [4730, 0, "r"], - [4731, 0, "g"], - [4732, 0, "i"], - [4733, 0, "n"], - [4733, 1], - [4732, 1], - [4731, 1], - [4730, 1], - [4729, 1], - [4728, 1], - [4728, 0, "a"], - [4729, 0, "u"], - [4730, 0, "t"], - [4731, 0, "o"], - [4732, 0, "m"], - [4733, 0, "a"], - [4734, 0, "t"], - [4735, 0, "i"], - [4736, 0, "c"], - [4737, 0, " "], - [4738, 0, "m"], - [4739, 0, "e"], - [4740, 0, "r"], - [4741, 0, "g"], - [4742, 0, "i"], - [4743, 0, "n"], - [4744, 0, "g"], - [4745, 0, " "], - [4746, 0, "o"], - [4747, 0, "f"], - [4748, 0, " "], - [4749, 0, "m"], - [4750, 0, "o"], - [4751, 0, "d"], - [4752, 0, "i"], - [4753, 0, "f"], - [4754, 0, "i"], - [4755, 0, "c"], - [4756, 0, "a"], - [4757, 0, "t"], - [4758, 0, "i"], - [4759, 0, "o"], - [4760, 0, "n"], - [4761, 0, "s"], - [4762, 0, " "], - [4763, 0, "i"], - [4764, 0, "n"], - [4765, 0, "t"], - [4766, 0, "o"], - [4767, 0, " "], - [4768, 0, "a"], - [4769, 0, " "], - [4770, 0, "J"], - [4771, 0, "S"], - [4772, 0, "O"], - [4773, 0, "N"], - [4774, 0, " "], - [4775, 0, "d"], - [4776, 0, "a"], - [4777, 0, "t"], - [4778, 0, "a"], - [4779, 0, " "], - [4780, 0, "s"], - [4781, 0, "t"], - [4782, 0, "r"], - [4783, 0, "u"], - [4784, 0, "c"], - [4785, 0, "t"], - [4786, 0, "u"], - [4787, 0, "r"], - [4788, 0, "e"], - [4789, 0, "."], - [4790, 0, " "], - [4791, 0, "O"], - [4792, 0, "u"], - [4793, 0, "r"], - [4794, 0, "a"], - [4795, 0, " "], - [4795, 1], - [4794, 1], - [4794, 0, " "], - [4795, 0, "a"], - [4796, 0, "p"], - [4797, 0, "p"], - [4798, 0, "r"], - [4799, 0, "o"], - [4800, 0, "a"], - [4801, 0, "c"], - [4802, 0, "h"], - [4806, 1], - [4805, 1], - [4804, 1], - [4813, 1], - [4812, 1], - [4811, 1], - [4810, 1], - [4809, 1], - [4808, 1], - [4807, 1], - [4806, 1], - [4805, 1], - [4804, 1], - [4804, 0, "i"], - [4805, 0, "n"], - [4806, 0, "t"], - [4807, 0, "r"], - [4808, 0, "o"], - [4809, 0, "d"], - [4810, 0, "u"], - [4811, 0, "c"], - [4812, 0, "e"], - [4813, 0, "s"], - [4814, 0, " "], - [4815, 0, "a"], - [4856, 1], - [4855, 1], - [4854, 1], - [4853, 1], - [4852, 1], - [4851, 1], - [4850, 1], - [4849, 1], - [4848, 1], - [4847, 1], - [4856, 1], - [4856, 0, "i"], - [4857, 0, "n"], - [4858, 0, "g"], - [4859, 0, " "], - [4860, 0, "u"], - [4861, 0, "d"], - [4862, 0, "p"], - [4862, 1], - [4861, 1], - [4861, 0, "p"], - [4862, 0, "d"], - [4863, 0, "a"], - [4864, 0, "t"], - [4865, 0, "e"], - [4866, 0, "s"], - [4867, 0, " "], - [4813, 1], - [4812, 1], - [4811, 1], - [4810, 1], - [4809, 1], - [4808, 1], - [4807, 1], - [4806, 1], - [4805, 1], - [4804, 1], - [4804, 0, "u"], - [4805, 0, "s"], - [4806, 0, "e"], - [4807, 0, "s"], - [4861, 0, " "], - [4862, 0, "t"], - [4863, 0, "o"], - [4864, 0, " "], - [4865, 0, "l"], - [4866, 0, "e"], - [4867, 0, "a"], - [4868, 0, "f"], - [4749, 0, "c"], - [4750, 0, "o"], - [4751, 0, "n"], - [4752, 0, "c"], - [4753, 0, "u"], - [4754, 0, "r"], - [4755, 0, "r"], - [4756, 0, "e"], - [4757, 0, "n"], - [4758, 0, "t"], - [4759, 0, " "], - [4821, 1], - [4820, 1], - [4819, 1], - [4818, 1], - [4817, 1], - [4816, 1], - [4815, 1], - [4815, 0, "i"], - [4816, 0, "n"], - [4817, 0, "t"], - [4818, 0, "r"], - [4819, 0, "o"], - [4820, 0, "d"], - [4821, 0, "u"], - [4822, 0, "c"], - [4823, 0, "e"], - [4824, 0, "s"], - [4825, 0, " "], - [4826, 0, "a"], - [4827, 0, " "], - [4828, 0, "g"], - [4829, 0, "e"], - [4830, 0, "n"], - [4831, 0, "e"], - [4832, 0, "r"], - [4833, 0, "a"], - [4834, 0, "l"], - [4835, 0, " "], - [4836, 0, "m"], - [4837, 0, "e"], - [4838, 0, "c"], - [4839, 0, "h"], - [4840, 0, "a"], - [4841, 0, "n"], - [4842, 0, "s"], - [4843, 0, "i"], - [4844, 0, "m"], - [4845, 0, " "], - [4846, 0, "("], - [4847, 0, "a"], - [4848, 0, " "], - [4869, 0, ")"], - [4908, 0, " "], - [4909, 0, "n"], - [4910, 0, "d"], - [4910, 1], - [4910, 0, "o"], - [4911, 0, "d"], - [4912, 0, "e"], - [4913, 0, "s"], - [4914, 0, ","], - [4915, 0, " "], - [4916, 0, "p"], - [4917, 0, "r"], - [4918, 0, "o"], - [4919, 0, "v"], - [4920, 0, "i"], - [4921, 0, "d"], - [4922, 0, "i"], - [4923, 0, "n"], - [4924, 0, "g"], - [4925, 0, " "], - [4926, 0, "a"], - [4927, 0, " "], - [4928, 0, "g"], - [4929, 0, "e"], - [4930, 0, "n"], - [4931, 0, "e"], - [4932, 0, "r"], - [4933, 0, "a"], - [4934, 0, "l"], - [4935, 0, " "], - [4936, 0, "a"], - [4937, 0, "b"], - [4938, 0, "s"], - [4939, 0, "t"], - [4940, 0, "r"], - [4941, 0, "a"], - [4942, 0, "c"], - [4943, 0, "t"], - [4944, 0, "i"], - [4945, 0, "o"], - [4946, 0, "n"], - [4947, 0, " "], - [4948, 0, "f"], - [4949, 0, "o"], - [4950, 0, "r"], - [4951, 0, " "], - [4914, 0, " "], - [4915, 0, "i"], - [4916, 0, "n"], - [4917, 0, " "], - [4918, 0, "t"], - [4919, 0, "h"], - [4920, 0, "e"], - [4921, 0, " "], - [4922, 0, "J"], - [4922, 1], - [4922, 0, "J"], - [4923, 0, "a"], - [4923, 1], - [4923, 0, "S"], - [4924, 0, "O"], - [4925, 0, "N"], - [4926, 0, " "], - [4927, 0, "d"], - [4928, 0, "a"], - [4929, 0, "t"], - [4930, 0, "a"], - [4931, 0, " "], - [4932, 0, "s"], - [4933, 0, "t"], - [4934, 0, "r"], - [4935, 0, "u"], - [4936, 0, "c"], - [4937, 0, "t"], - [4938, 0, "u"], - [4939, 0, "r"], - [4940, 0, "e"], - [4978, 1], - [4977, 1], - [4976, 1], - [4975, 1], - [4975, 0, "m"], - [4976, 0, "e"], - [4977, 0, "t"], - [4977, 1], - [4977, 0, "c"], - [4978, 0, "h"], - [4979, 0, "a"], - [4980, 0, "n"], - [4981, 0, "s"], - [4982, 0, "i"], - [4983, 0, "s"], - [4984, 0, "m"], - [4984, 1], - [4983, 1], - [4983, 0, "m"], - [4984, 0, "s"], - [4985, 0, " "], - [4986, 0, "w"], - [4987, 0, "h"], - [4988, 0, "i"], - [4989, 0, "c"], - [4990, 0, "h"], - [4991, 0, " "], - [4991, 1], - [4990, 1], - [4989, 1], - [4988, 1], - [4987, 1], - [4986, 1], - [4985, 1], - [4984, 1], - [4984, 0, " "], - [4985, 0, "w"], - [4986, 0, "h"], - [4987, 0, "i"], - [4988, 0, "c"], - [4989, 0, "h"], - [4990, 0, " "], - [4991, 0, "a"], - [4992, 0, "p"], - [4993, 0, "p"], - [4994, 0, "l"], - [4995, 0, "i"], - [4996, 0, "c"], - [4997, 0, "a"], - [4998, 0, "t"], - [4999, 0, "i"], - [5000, 0, "o"], - [5001, 0, "n"], - [5002, 0, "s"], - [5003, 0, " "], - [5004, 0, "c"], - [5005, 0, "a"], - [5006, 0, "n"], - [5007, 0, " "], - [5008, 0, "t"], - [5009, 0, "h"], - [5010, 0, "e"], - [5011, 0, "n"], - [5012, 0, " "], - [5013, 0, "r"], - [5014, 0, "e"], - [5015, 0, "s"], - [5016, 0, "o"], - [5017, 0, "l"], - [5018, 0, "v"], - [5019, 0, "e"], - [5020, 0, " "], - [5021, 0, "e"], - [5022, 0, "i"], - [5023, 0, "t"], - [5024, 0, "h"], - [5025, 0, "e"], - [5026, 0, "r"], - [5027, 0, " "], - [5028, 0, "a"], - [5029, 0, "u"], - [5030, 0, "t"], - [5031, 0, "h"], - [5031, 1], - [5031, 0, "o"], - [5032, 0, "m"], - [5033, 0, "t"], - [5033, 1], - [5033, 0, "a"], - [5034, 0, "t"], - [5035, 0, "i"], - [5036, 0, "c"], - [5037, 0, "a"], - [5038, 0, "l"], - [5039, 0, "l"], - [5040, 0, "y"], - [5041, 0, " "], - [5042, 0, "o"], - [5043, 0, "r"], - [5044, 0, " "], - [5045, 0, "m"], - [5046, 0, "a"], - [5047, 0, "n"], - [5048, 0, "u"], - [5049, 0, "a"], - [5050, 0, "l"], - [5051, 0, "l"], - [5052, 0, "y"], - [5053, 0, " "], - [5054, 0, "d"], - [5055, 0, "e"], - [5056, 0, "p"], - [5057, 0, "e"], - [5058, 0, "n"], - [5059, 0, "d"], - [5060, 0, "i"], - [5061, 0, "n"], - [5062, 0, "g"], - [5063, 0, " "], - [5064, 0, "o"], - [5065, 0, "n"], - [5066, 0, " "], - [5067, 0, "t"], - [5068, 0, "h"], - [5069, 0, "e"], - [5070, 0, "i"], - [5071, 0, "r"], - [5072, 0, " "], - [5073, 0, "s"], - [5074, 0, "e"], - [5075, 0, "m"], - [5076, 0, "a"], - [5077, 0, "n"], - [5078, 0, "t"], - [5079, 0, "i"], - [5080, 0, "c"], - [5081, 0, "s"], - [5082, 0, "."], - [4973, 1], - [4972, 1], - [4971, 1], - [4970, 1], - [4969, 1], - [4968, 1], - [4967, 1], - [4966, 1], - [4965, 1], - [4964, 1], - [4963, 1], - [4962, 1], - [4961, 1], - [4960, 1], - [4959, 1], - [4958, 1], - [4957, 1], - [4956, 1], - [4955, 1], - [4954, 1], - [4953, 1], - [4952, 1], - [4951, 1], - [4950, 1], - [4949, 1], - [4948, 1], - [4947, 1], - [4946, 1], - [4945, 1], - [4944, 1], - [4943, 1], - [4943, 0, "t"], - [4944, 0, "h"], - [4945, 0, "i"], - [4946, 0, "s"], - [4962, 1], - [4961, 1], - [4960, 1], - [4959, 1], - [4958, 1], - [4958, 0, "t"], - [4959, 0, "h"], - [4960, 0, "e"], - [4961, 0, "n"], - [4962, 0, " "], - [4963, 0, "p"], - [4964, 0, "r"], - [4965, 0, "o"], - [4966, 0, "i"], - [4966, 1], - [4966, 0, "v"], - [4967, 0, "i"], - [4968, 0, "d"], - [4969, 0, "e"], - [4970, 0, "s"], - [4971, 0, " "], - [4972, 0, "a"], - [4973, 0, " "], - [4974, 0, "s"], - [4975, 0, "t"], - [4976, 0, "r"], - [4977, 0, "c"], - [4978, 0, "t"], - [4979, 0, "u"], - [4979, 1], - [4978, 1], - [4977, 1], - [4977, 0, "u"], - [4978, 0, "c"], - [4979, 0, "t"], - [4980, 0, "u"], - [4981, 0, "r"], - [4982, 0, "e"], - [4983, 0, " "], - [4984, 0, "o"], - [4985, 0, "n"], - [4986, 0, " "], - [4987, 0, "w"], - [4988, 0, "h"], - [4989, 0, "i"], - [4990, 0, "c"], - [4991, 0, "h"], - [5028, 1], - [5027, 1], - [5026, 1], - [5025, 1], - [5024, 1], - [5023, 1], - [5023, 0, "s"], - [5024, 0, "u"], - [5025, 0, "c"], - [5026, 0, "h"], - [5027, 0, " "], - [5028, 0, "c"], - [5029, 0, "o"], - [5030, 0, "n"], - [5031, 0, "f"], - [5032, 0, "l"], - [5033, 0, "i"], - [5034, 0, "c"], - [5035, 0, "t"], - [5036, 0, "s"], - [5051, 0, ","], - [5064, 0, ","], - [5261, 1], - [4941, 1], - [4941, 0, "."], - [4943, 1], - [4943, 0, "T"], - [4982, 1], - [4981, 1], - [4980, 1], - [4979, 1], - [4978, 1], - [4977, 1], - [4976, 1], - [4975, 1], - [4974, 1], - [4974, 0, "c"], - [4975, 0, "o"], - [4976, 0, "n"], - [4977, 0, "s"], - [4978, 0, "i"], - [4979, 0, "s"], - [4980, 0, "t"], - [4981, 0, "e"], - [4982, 0, "n"], - [4983, 0, "t"], - [4984, 0, " "], - [4985, 0, "b"], - [4986, 0, "a"], - [4987, 0, "s"], - [4988, 0, "i"], - [4989, 0, "s"], - [5020, 1], - [5019, 1], - [5018, 1], - [5017, 1], - [5016, 1], - [5028, 1], - [5027, 1], - [5026, 1], - [5025, 1], - [5024, 1], - [5024, 0, " "], - [5025, 0, "a"], - [5026, 0, "n"], - [5027, 0, "y"], - [5028, 0, " "], - [5029, 0, "r"], - [5030, 0, "e"], - [5031, 0, "m"], - [5032, 0, "a"], - [5033, 0, "i"], - [5034, 0, "n"], - [5035, 0, "i"], - [5036, 0, "n"], - [5037, 0, "g"], - [5075, 1], - [5074, 1], - [5073, 1], - [5072, 1], - [5071, 1], - [5070, 1], - [5069, 1], - [5068, 1], - [5067, 1], - [5066, 1], - [5065, 1], - [5064, 1], - [5063, 1], - [5062, 1], - [5061, 1], - [5060, 1], - [5059, 1], - [5058, 1], - [5057, 1], - [5056, 1], - [5055, 1], - [5054, 1], - [5053, 1], - [5052, 1], - [5051, 1], - [5050, 1], - [5049, 1], - [5049, 0, "t"], - [5050, 0, "h"], - [5051, 0, "r"], - [5052, 0, "o"], - [5053, 0, "u"], - [5054, 0, "g"], - [5055, 0, " "], - [5055, 1], - [5055, 0, "h"], - [5056, 0, " "], - [5057, 0, "a"], - [5058, 0, "u"], - [5059, 0, "t"], - [5060, 0, "o"], - [5061, 0, "m"], - [5062, 0, "a"], - [5063, 0, "t"], - [5064, 0, "i"], - [5065, 0, "c"], - [5066, 0, " "], - [5067, 0, "o"], - [5068, 0, "r"], - [5069, 0, " "], - [5070, 0, "m"], - [5071, 0, "a"], - [5072, 0, "n"], - [5073, 0, "u"], - [5074, 0, "a"], - [5075, 0, "l"], - [5076, 0, " "], - [5077, 0, "m"], - [5078, 0, "e"], - [5079, 0, "a"], - [5080, 0, "n"], - [5081, 0, "s"], - [5110, 1], - [5109, 1], - [5108, 1], - [5107, 1], - [5106, 1], - [5105, 1], - [5104, 1], - [5103, 1], - [5102, 1], - [5101, 1], - [5100, 1], - [5099, 1], - [5098, 1], - [5097, 1], - [5096, 1], - [5095, 1], - [5094, 1], - [5093, 1], - [5092, 1], - [5091, 1], - [5090, 1], - [5089, 1], - [5088, 1], - [5087, 1], - [5086, 1], - [5085, 1], - [5084, 1], - [5083, 1], - [5082, 1], - [5066, 0, " "], - [5067, 0, "("], - [5068, 0, "p"], - [5069, 0, "r"], - [5070, 0, "o"], - [5071, 0, "g"], - [5072, 0, "r"], - [5073, 0, "a"], - [5074, 0, "m"], - [5075, 0, "m"], - [5076, 0, "a"], - [5077, 0, "t"], - [5078, 0, "i"], - [5079, 0, "c"], - [5080, 0, ")"], - [5083, 1], - [5082, 1], - [5081, 1], - [5080, 1], - [5079, 1], - [5078, 1], - [5077, 1], - [5076, 1], - [5075, 1], - [5074, 1], - [5073, 1], - [5072, 1], - [5071, 1], - [5070, 1], - [5069, 1], - [5068, 1], - [5067, 1], - [5066, 1], - [5065, 1], - [5064, 1], - [5063, 1], - [5062, 1], - [5061, 1], - [5060, 1], - [5059, 1], - [5058, 1], - [5057, 1], - [5057, 0, "p"], - [5058, 0, "r"], - [5059, 0, "o"], - [5060, 0, "g"], - [5061, 0, "r"], - [5062, 0, "a"], - [5063, 0, "m"], - [5064, 0, "m"], - [5065, 0, "a"], - [5066, 0, "t"], - [5067, 0, "i"], - [5068, 0, "c"], - [5069, 0, " "], - [5070, 0, "m"], - [5071, 0, "e"], - [5072, 0, "a"], - [5073, 0, "n"], - [5074, 0, "s"], - [5075, 0, " "], - [5076, 0, "o"], - [5077, 0, "r"], - [5090, 1], - [5089, 1], - [5088, 1], - [5087, 1], - [5086, 1], - [5085, 1], - [5084, 1], - [5083, 1], - [5082, 1], - [5081, 1], - [5080, 1], - [5079, 1], - [5079, 0, "f"], - [5080, 0, "u"], - [5081, 0, "r"], - [5082, 0, "t"], - [5083, 0, "h"], - [5084, 0, "e"], - [5085, 0, "r"], - [5086, 0, " "], - [5087, 0, "u"], - [5088, 0, "s"], - [5089, 0, "e"], - [5090, 0, "r"], - [5091, 0, " "], - [5092, 0, "i"], - [5093, 0, "n"], - [5094, 0, "p"], - [5095, 0, "u"], - [5096, 0, "t"], - [5079, 0, "v"], - [5080, 0, "i"], - [5081, 0, "a"], - [5082, 0, " "], - [4813, 1], - [4812, 1], - [4811, 1], - [4810, 1], - [4809, 1], - [4808, 1], - [4807, 1], - [4806, 1], - [4805, 1], - [4804, 1], - [4803, 1], - [4802, 1], - [4802, 0, "W"], - [4803, 0, "e"], - [4814, 1], - [4859, 0, " "], - [4860, 0, "i"], - [4861, 0, "n"], - [4862, 0, "t"], - [4863, 0, "o"], - [4864, 0, " "], - [4865, 0, "o"], - [4866, 0, "u"], - [4867, 0, "r"], - [4868, 0, " "], - [4869, 0, "m"], - [4870, 0, "o"], - [4871, 0, "d"], - [4872, 0, "e"], - [4873, 0, "l"], - [4816, 0, " "], - [4817, 0, "s"], - [4818, 0, "i"], - [4819, 0, "n"], - [4820, 0, "g"], - [4821, 0, "l"], - [4822, 0, "e"], - [4823, 0, ","], - [5087, 0, ","], - [6892, 1], - [6891, 1], - [6890, 1], - [6889, 1], - [6888, 1], - [6887, 1], - [6886, 1], - [6885, 1], - [6884, 1], - [6883, 1], - [6882, 1], - [6881, 1], - [6881, 0, "d"], - [6882, 0, "e"], - [6883, 0, "s"], - [6884, 0, "c"], - [6885, 0, "r"], - [6886, 0, "i"], - [6887, 0, "b"], - [6888, 0, "e"], - [6889, 0, " "], - [6890, 0, "f"], - [6891, 0, "o"], - [6892, 0, "u"], - [6893, 0, "r"], - [6894, 0, " "], - [6895, 0, "m"], - [6896, 0, "o"], - [6897, 0, "r"], - [6898, 0, "e"], - [6899, 0, " "], - [6900, 0, "c"], - [6901, 0, "o"], - [6902, 0, "m"], - [6903, 0, "p"], - [6904, 0, "l"], - [6905, 0, "e"], - [6906, 0, "x"], - [7931, 1], - [7930, 1], - [7929, 1], - [7929, 0, "o"], - [7930, 0, "r"], - [7929, 0, "a"], - [7930, 0, "n"], - [7931, 0, "d"], - [7933, 1], - [7932, 1], - [7931, 1], - [7930, 1], - [7929, 1], - [7929, 0, "a"], - [7930, 0, "s"], - [7931, 0, " "], - [7932, 0, "w"], - [7933, 0, "e"], - [7934, 0, "l"], - [7935, 0, "l"], - [7936, 0, " "], - [7937, 0, "a"], - [7938, 0, "s"], - [8025, 1], - [8024, 1], - [8023, 1], - [8022, 1], - [8021, 1], - [8020, 1], - [8019, 1], - [8018, 1], - [8017, 1], - [8016, 1], - [8015, 1], - [8014, 1], - [8014, 0, "."], - [8015, 0, " "], - [8016, 0, "T"], - [16736, 1], - [16735, 1], - [16734, 1], - [16733, 1], - [16732, 1], - [16733, 1], - [16733, 0, "`"], - [16734, 0, "`"], - [16738, 1], - [16738, 0, "'"], - [16739, 0, "'"], - [16741, 0, " "], - [16742, 1], - [16742, 0, "z"], - [16742, 1], - [16742, 0, "`"], - [16743, 0, "`"], - [16745, 1], - [16745, 0, "'"], - [16746, 0, "'"], - [16747, 0, "\\"], - [16749, 1], - [16784, 1], - [16783, 1], - [16782, 1], - [16781, 1], - [16780, 1], - [16781, 1], - [16781, 0, "`"], - [16782, 0, "`"], - [16786, 1], - [16786, 0, "'"], - [16787, 0, "'"], - [16789, 0, " "], - [16790, 1], - [16790, 0, "`"], - [16791, 0, "`"], - [16793, 1], - [16793, 0, "'"], - [16794, 0, "'"], - [16795, 0, "\\"], - [16797, 1], - [16844, 1], - [16843, 0, "\\"], - [16842, 1], - [16842, 0, "'"], - [16843, 0, "'"], - [16840, 1], - [16840, 0, " "], - [16841, 0, "`"], - [16842, 0, "`"], - [16838, 1], - [16838, 0, "'"], - [16839, 0, "'"], - [16834, 1], - [16834, 0, "`"], - [16835, 0, "`"], - [16832, 1], - [16831, 1], - [16830, 1], - [16829, 1], - [16828, 1], - [16878, 1], - [16877, 1], - [16876, 1], - [16875, 1], - [16874, 1], - [16921, 1], - [16921, 1], - [16921, 1], - [16921, 1], - [16921, 1], - [16875, 1], - [16875, 0, "`"], - [16876, 0, "`"], - [16923, 1], - [16923, 0, "'"], - [16924, 0, "'"], - [16880, 1], - [16880, 0, "`"], - [16881, 0, "`"], - [16881, 1], - [16880, 1], - [16880, 0, "'"], - [16881, 0, "'"], - [16925, 1], - [16924, 1], - [16924, 0, "`"], - [16925, 0, "`"], - [16929, 1], - [16929, 0, "'"], - [16930, 0, "'"], - [16932, 0, " "], - [16883, 0, " "], - [16885, 1], - [16885, 0, "`"], - [16886, 0, "`"], - [16936, 1], - [16936, 0, "`"], - [16937, 0, "`"], - [16888, 1], - [16888, 0, "'"], - [16889, 0, "'"], - [16940, 1], - [16940, 0, "'"], - [16941, 0, "'"], - [16943, 1], - [16891, 1], - [16891, 0, " "], - [16892, 0, "`"], - [16893, 0, "`"], - [16945, 0, " "], - [16946, 0, "`"], - [16947, 0, "`"], - [16949, 1], - [16949, 0, "'"], - [16950, 0, "'"], - [16895, 1], - [16895, 0, "'"], - [16896, 0, "'"], - [16897, 0, "\\"], - [16899, 0, "\\"], - [16901, 1], - [16955, 1], - [16954, 0, "\\"], - [16953, 0, "\\"], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17015, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [17104, 1], - [16725, 1], - [16725, 0, "0"], - [16718, 0, "1"], - [16720, 1], - [16751, 0, "\n"], - [16752, 0, "\\"], - [16753, 0, "n"], - [16754, 0, "o"], - [16755, 0, "d"], - [16756, 0, "e"], - [16757, 0, " "], - [16758, 0, "("], - [16759, 0, "s"], - [16760, 0, "t"], - [16761, 0, "a"], - [16762, 0, "r"], - [16763, 0, "t"], - [16764, 0, "2"], - [16765, 0, ")"], - [16766, 0, " "], - [16767, 0, "a"], - [16768, 0, "t"], - [16769, 0, " "], - [16770, 0, "("], - [16771, 0, "4"], - [16772, 0, ","], - [16773, 0, "3"], - [16774, 0, ")"], - [16775, 0, " "], - [16776, 0, "{"], - [16777, 0, "\\"], - [16778, 0, "{"], - [16779, 0, "`"], - [16780, 0, "`"], - [16781, 0, "k"], - [16782, 0, "e"], - [16783, 0, "y"], - [16784, 0, "'"], - [16785, 0, "'"], - [16786, 0, " "], - [16786, 1], - [16786, 0, ":"], - [16787, 0, " "], - [16788, 0, "`"], - [16789, 0, "`"], - [16790, 0, "A"], - [16791, 0, "'"], - [16792, 0, "'"], - [16793, 0, "]"], - [16793, 1], - [16793, 0, "\\"], - [16794, 0, "}"], - [16795, 0, "}"], - [16796, 0, ";"], - [17029, 0, "1"], - [16718, 1], - [16717, 1], - [16716, 1], - [16715, 1], - [16714, 1], - [16713, 1], - [16713, 0, "l"], - [16714, 0, "e"], - [16715, 0, "f"], - [16716, 0, "t"], - [16717, 0, "0"], - [16763, 1], - [16762, 1], - [16761, 1], - [16760, 1], - [16759, 1], - [16758, 1], - [16758, 0, "r"], - [16759, 0, "i"], - [16760, 0, "g"], - [16761, 0, "h"], - [16762, 0, "t"], - [16763, 0, "1"], - [16763, 1], - [16763, 0, "0"], - [17028, 1], - [17027, 1], - [17026, 1], - [17025, 1], - [17024, 1], - [17023, 1], - [17023, 0, "l"], - [17024, 0, "e"], - [17025, 0, "f"], - [17026, 0, "t"], - [17027, 0, "0"], - [17115, 1], - [17114, 1], - [17113, 1], - [17112, 1], - [17111, 1], - [17111, 0, "r"], - [17112, 0, "i"], - [17113, 0, "g"], - [17114, 0, "h"], - [17115, 0, "t"], - [17116, 0, "0"], - [16929, 0, "\\"], - [16986, 0, "\\"], - [17270, 0, ","], - [17271, 0, "d"], - [17272, 0, "a"], - [17273, 0, "s"], - [17274, 0, "h"], - [17275, 0, "e"], - [17276, 0, "d"], - [17316, 0, "d"], - [17317, 0, "a"], - [17318, 0, "s"], - [17319, 0, "h"], - [17320, 0, "e"], - [17321, 0, "d"], - [17322, 0, ","], - [17526, 0, "*"], - [16667, 0, "*"], - [16727, 1], - [16727, 0, "4"], - [16773, 1], - [16773, 0, "4"], - [16821, 1], - [16820, 1], - [16819, 1], - [16819, 0, "2"], - [16865, 1], - [16865, 1], - [16865, 1], - [16865, 0, "2"], - [17419, 0, "\n"], - [17419, 1], - [16706, 0, "\n"], - [16707, 0, "\\"], - [16708, 0, "p"], - [16709, 0, "a"], - [16710, 0, "t"], - [16711, 0, "h"], - [16712, 0, " "], - [16713, 0, "["], - [16714, 0, "d"], - [16715, 0, "r"], - [16716, 0, "a"], - [16717, 0, "w"], - [16718, 0, "="], - [16718, 1], - [16718, 0, "]"], - [16719, 0, " "], - [16720, 0, "("], - [16721, 0, "2"], - [16722, 0, ","], - [16723, 0, "0"], - [16724, 0, ")"], - [16725, 0, " "], - [16726, 0, "-"], - [16727, 0, "-"], - [16728, 0, " "], - [16729, 0, "("], - [16730, 0, "2"], - [16731, 0, ","], - [16732, 0, "4"], - [16733, 0, ")"], - [16734, 0, ";"], - [16718, 0, ","], - [16719, 0, "d"], - [16720, 0, "a"], - [16721, 0, "s"], - [16722, 0, "h"], - [16722, 1], - [16721, 1], - [16720, 1], - [16720, 0, "o"], - [16721, 0, "t"], - [16722, 0, "t"], - [16723, 0, "e"], - [16724, 0, "d"], - [17004, 1], - [17004, 0, "1"], - [16947, 1], - [16947, 0, "1"], - [16901, 1], - [16901, 0, "3"], - [16855, 1], - [16855, 0, "3"], - [16809, 1], - [16809, 0, "4"], - [16809, 1], - [16809, 0, "5"], - [16763, 1], - [16763, 0, "5"], - [16757, 0, " "], - [16739, 1], - [16739, 0, "6"], - [16742, 0, "\n"], - [16743, 0, "\\"], - [16744, 0, "n"], - [16745, 0, "o"], - [16746, 0, "d"], - [16747, 0, "e"], - [16748, 0, " "], - [16749, 0, "("], - [16750, 0, "r"], - [16751, 0, "e"], - [16752, 0, "p"], - [16752, 1], - [16751, 1], - [16750, 1], - [16750, 0, "l"], - [16751, 0, "e"], - [16752, 0, "f"], - [16753, 0, "t"], - [16754, 0, "R"], - [16755, 0, ")"], - [16756, 0, " "], - [16757, 0, " "], - [16758, 0, "a"], - [16759, 0, "t"], - [16760, 0, " "], - [16761, 0, "("], - [16762, 0, "0"], - [16763, 0, ","], - [16764, 0, "6"], - [16765, 0, ")"], - [16766, 0, " "], - [16767, 0, "{"], - [16768, 0, "R"], - [16769, 0, "p"], - [16769, 1], - [16769, 0, "e"], - [16770, 0, "p"], - [16771, 0, "l"], - [16772, 0, "i"], - [16773, 0, "c"], - [16774, 0, "a"], - [16775, 0, " "], - [16776, 0, "p"], - [16776, 1], - [16776, 0, "$"], - [16777, 0, "p"], - [16778, 0, "_"], - [16779, 0, "1"], - [16780, 0, "$"], - [16781, 0, ":"], - [16782, 0, "}"], - [16783, 0, "\n"], - [16784, 0, "\\"], - [16785, 0, "n"], - [16786, 0, "o"], - [16787, 0, "d"], - [16788, 0, "e"], - [16789, 0, " "], - [16790, 0, "("], - [16791, 0, "r"], - [16792, 0, "i"], - [16793, 0, "g"], - [16794, 0, "h"], - [16795, 0, "t"], - [16796, 0, "R"], - [16797, 0, ")"], - [16798, 0, " "], - [16799, 0, "a"], - [16800, 0, "t"], - [16801, 0, " "], - [16802, 0, "("], - [16803, 0, "4"], - [16804, 0, ","], - [16805, 0, "6"], - [16806, 0, ")"], - [16807, 0, " "], - [16808, 0, "{"], - [16809, 0, "R"], - [16810, 0, "e"], - [16811, 0, "p"], - [16812, 0, "l"], - [16813, 0, "i"], - [16814, 0, "c"], - [16815, 0, "a"], - [16816, 0, " "], - [16817, 0, "$"], - [16818, 0, "p"], - [16819, 0, "_"], - [16820, 0, "2"], - [16821, 0, "$"], - [16822, 0, ":"], - [16823, 0, "}"], - [16848, 0, " "], - [16849, 0, "["], - [16850, 0, "r"], - [16851, 0, "e"], - [16852, 0, "c"], - [16853, 0, "t"], - [16854, 0, "a"], - [16855, 0, "n"], - [16856, 0, "g"], - [16857, 0, "l"], - [16858, 0, "e"], - [16859, 0, ","], - [16860, 0, "d"], - [16861, 0, "r"], - [16862, 0, "a"], - [16863, 0, "w"], - [16864, 0, "]"], - [16911, 0, " "], - [16912, 0, "["], - [16913, 0, "r"], - [16914, 0, "e"], - [16915, 0, "c"], - [16916, 0, "t"], - [16917, 0, "a"], - [16918, 0, "n"], - [16919, 0, "g"], - [16920, 0, "l"], - [16921, 0, "e"], - [16922, 0, ","], - [16923, 0, "d"], - [16924, 0, "r"], - [16925, 0, "a"], - [16926, 0, "w"], - [16927, 0, "]"], - [16974, 0, " "], - [16975, 0, "["], - [16976, 0, "r"], - [16977, 0, "e"], - [16978, 0, "c"], - [16979, 0, "t"], - [16980, 0, "a"], - [16981, 0, "n"], - [16982, 0, "g"], - [16983, 0, "l"], - [16984, 0, "e"], - [16985, 0, ","], - [16986, 0, "d"], - [16987, 0, "r"], - [16988, 0, "a"], - [16989, 0, "w"], - [16990, 0, "]"], - [17037, 0, " "], - [17038, 0, "["], - [17039, 0, "r"], - [17040, 0, "e"], - [17041, 0, "c"], - [17042, 0, "t"], - [17043, 0, "a"], - [17044, 0, "n"], - [17045, 0, "g"], - [17046, 0, "l"], - [17047, 0, "e"], - [17048, 0, ","], - [17049, 0, "d"], - [17050, 0, "r"], - [17051, 0, "a"], - [17052, 0, "w"], - [17053, 0, "]"], - [17100, 0, " "], - [17101, 0, "["], - [17102, 0, "r"], - [17103, 0, "e"], - [17104, 0, "c"], - [17105, 0, "t"], - [17106, 0, "a"], - [17107, 0, "n"], - [17108, 0, "g"], - [17109, 0, "l"], - [17110, 0, "e"], - [17111, 0, ","], - [17112, 0, "d"], - [17113, 0, "r"], - [17114, 0, "a"], - [17115, 0, "w"], - [17116, 0, "]"], - [17174, 0, " "], - [17175, 0, "["], - [17176, 0, "r"], - [17177, 0, "e"], - [17178, 0, "c"], - [17179, 0, "t"], - [17180, 0, "a"], - [17181, 0, "n"], - [17182, 0, "g"], - [17183, 0, "l"], - [17184, 0, "e"], - [17185, 0, ","], - [17186, 0, "d"], - [17187, 0, "r"], - [17188, 0, "a"], - [17189, 0, "w"], - [17190, 0, "]"], - [16783, 0, ";"], - [16825, 0, ";"], - [16779, 1], - [16778, 1], - [16817, 1], - [16817, 1], - [16817, 1], - [16817, 0, "q"], - [17464, 1], - [17463, 1], - [17462, 1], - [17461, 1], - [17460, 1], - [17459, 1], - [17458, 1], - [17457, 1], - [17456, 1], - [17455, 1], - [17454, 1], - [17453, 1], - [17452, 1], - [17451, 1], - [17450, 1], - [17449, 1], - [17448, 1], - [17447, 1], - [17446, 1], - [17445, 1], - [17444, 1], - [17443, 1], - [17442, 1], - [17441, 1], - [17440, 1], - [17439, 1], - [17438, 1], - [17437, 1], - [17436, 1], - [17435, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [17568, 1], - [16737, 1], - [16737, 0, "3"], - [16728, 1], - [16728, 0, "3"], - [16802, 1], - [16802, 0, "6"], - [16905, 1], - [16905, 0, "6"], - [17031, 1], - [17031, 0, "6"], - [17168, 1], - [17168, 0, "6"], - [17486, 0, "."], - [17487, 0, "n"], - [17488, 0, "o"], - [17489, 0, "r"], - [17490, 0, "t"], - [17491, 0, "h"], - [17492, 0, " "], - [17493, 0, "e"], - [17494, 0, "a"], - [17495, 0, "s"], - [17496, 0, "t"], - [17542, 0, "."], - [17543, 0, "n"], - [17544, 0, "o"], - [17545, 0, "r"], - [17546, 0, "t"], - [17547, 0, "h"], - [17548, 0, " "], - [17549, 0, "w"], - [17550, 0, "e"], - [17551, 0, "s"], - [17552, 0, "t"], - [17433, 1], - [17432, 1], - [17431, 1], - [17430, 1], - [17429, 1], - [17428, 1], - [17427, 1], - [17427, 0, "-"], - [17428, 0, "-"], - [17472, 1], - [17471, 1], - [17471, 0, "-"], - [17472, 0, "-"], - [17529, 1], - [17528, 1], - [17528, 0, "-"], - [17529, 0, "-"], - [17583, 1], - [17582, 1], - [17581, 1], - [17580, 1], - [17579, 1], - [17578, 1], - [17577, 1], - [17577, 0, "-"], - [17578, 0, "-"], - [17491, 1], - [17490, 1], - [17489, 1], - [17488, 1], - [17488, 0, "w"], - [17489, 0, "e"], - [17490, 0, "s"], - [17491, 0, "t"], - [17547, 1], - [17546, 1], - [17545, 1], - [17544, 1], - [17544, 0, "e"], - [17545, 0, "a"], - [17546, 0, "s"], - [17547, 0, "t"], - [17469, 0, "."], - [17470, 0, "s"], - [17471, 0, "o"], - [17472, 0, "u"], - [17473, 0, "t"], - [17474, 0, "h"], - [17475, 0, " "], - [17476, 0, "e"], - [17477, 0, "a"], - [17478, 0, "s"], - [17479, 0, "t"], - [17537, 0, "."], - [17538, 0, "s"], - [17539, 0, "o"], - [17540, 0, "u"], - [17541, 0, "t"], - [17542, 0, "h"], - [17543, 0, " "], - [17544, 0, "w"], - [17545, 0, "e"], - [17546, 0, "s"], - [17547, 0, "t"], - [17222, 0, "\n"], - [17223, 0, "\\"], - [17224, 0, "n"], - [17225, 0, "o"], - [17226, 0, "d"], - [17227, 0, "e"], - [17228, 0, " "], - [17229, 0, "("], - [17230, 0, "c"], - [17231, 0, "o"], - [17232, 0, "m"], - [17233, 0, "m"], - [17234, 0, "s"], - [17235, 0, ")"], - [17236, 0, " "], - [17237, 0, " "], - [17238, 0, "a"], - [17239, 0, "t"], - [17240, 0, " "], - [17241, 0, "("], - [17242, 0, "3"], - [17243, 0, ","], - [17244, 0, "2"], - [17245, 0, "."], - [17246, 0, "5"], - [17247, 0, ")"], - [17248, 0, " "], - [17249, 0, "{"], - [17250, 0, "n"], - [17251, 0, "e"], - [17252, 0, "t"], - [17253, 0, "w"], - [17254, 0, "o"], - [17255, 0, "r"], - [17256, 0, "k"], - [17257, 0, " "], - [17258, 0, "c"], - [17259, 0, "o"], - [17260, 0, "m"], - [17261, 0, "m"], - [17262, 0, "u"], - [17263, 0, "n"], - [17264, 0, "i"], - [17265, 0, "c"], - [17266, 0, "a"], - [17267, 0, "t"], - [17268, 0, "i"], - [17269, 0, "o"], - [17270, 0, "n"], - [17271, 0, "}"], - [17272, 0, ";"], - [17257, 0, "\\"], - [17258, 0, "\\"], - [17259, 1], - [17250, 0, "\\"], - [17251, 0, "f"], - [17252, 0, "o"], - [17253, 0, "o"], - [17254, 0, "t"], - [17255, 0, "n"], - [17256, 0, "o"], - [17257, 0, "t"], - [17258, 0, "e"], - [17259, 0, "s"], - [17260, 0, "i"], - [17261, 0, "z"], - [17262, 0, "e"], - [17263, 0, " "], - [17272, 1], - [17271, 1], - [17271, 0, " "], - [17246, 1], - [17246, 0, "8"], - [17524, 0, "b"], - [17525, 0, "l"], - [17526, 0, "u"], - [17527, 0, "e"], - [17528, 0, ","], - [17596, 0, "b"], - [17597, 0, "l"], - [17598, 0, "u"], - [17599, 0, "e"], - [17600, 0, ","], - [17248, 0, " "], - [17249, 0, "["], - [17250, 0, "t"], - [17251, 0, "e"], - [17252, 0, "x"], - [17253, 0, "t"], - [17254, 0, "="], - [17255, 0, "b"], - [17256, 0, "l"], - [17257, 0, "u"], - [17258, 0, "e"], - [17259, 0, "]"], - [16731, 0, "."], - [16732, 0, "5"], - [16742, 0, "."], - [16743, 0, "5"], - [19837, 1], - [19836, 1], - [19835, 1], - [19834, 1], - [19833, 1], - [19832, 1], - [19831, 1], - [19830, 1], - [19829, 1], - [19828, 1], - [19827, 1], - [19826, 1], - [19825, 1], - [19824, 1], - [19823, 1], - [19822, 1], - [19821, 1], - [19820, 1], - [19819, 1], - [19818, 1], - [19817, 1], - [19816, 1], - [19815, 1], - [19814, 1], - [19813, 1], - [19812, 1], - [19811, 1], - [19810, 1], - [19809, 1], - [19808, 1], - [19807, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19851, 1], - [19789, 0, ","], - [19790, 0, "d"], - [19791, 0, "a"], - [19792, 0, "s"], - [19793, 0, "h"], - [19794, 0, "e"], - [19795, 0, "d"], - [19796, 0, ","], - [19797, 0, "b"], - [19798, 0, "l"], - [19799, 0, "u"], - [19800, 0, "e"], - [19844, 0, ","], - [19845, 0, "d"], - [19846, 0, "a"], - [19847, 0, "s"], - [19848, 0, "h"], - [19849, 0, "e"], - [19850, 0, "d"], - [19851, 0, ","], - [19852, 0, "b"], - [19853, 0, "l"], - [19854, 0, "u"], - [19855, 0, "e"], - [19789, 1], - [19788, 1], - [19787, 1], - [19839, 1], - [19839, 1], - [19839, 1], - [19798, 0, ","], - [19799, 0, "-"], - [19800, 0, ">"], - [19853, 0, ","], - [19854, 0, "-"], - [19855, 0, ">"], - [19345, 1], - [19344, 1], - [19343, 1], - [19342, 1], - [19341, 1], - [19389, 1], - [19389, 1], - [19389, 1], - [19389, 1], - [19389, 1], - [19389, 0, "{"], - [19342, 1], - [19342, 0, "`"], - [19343, 0, "`"], - [19391, 1], - [19391, 0, "`"], - [19392, 0, "`"], - [19398, 1], - [19398, 0, "'"], - [19399, 0, "'"], - [19350, 1], - [19350, 0, "'"], - [19351, 0, "'"], - [19354, 0, "\\"], - [19356, 1], - [19356, 0, "`"], - [19357, 0, "`"], - [19361, 1], - [19361, 0, "'"], - [19362, 0, "'"], - [19365, 1], - [19365, 0, "`"], - [19366, 0, "`"], - [19374, 1], - [19374, 0, "'"], - [19375, 0, "'"], - [19408, 1], - [19408, 0, "`"], - [19409, 0, "`"], - [19417, 1], - [19417, 0, "'"], - [19418, 0, "'"], - [19419, 0, "\\"], - [19421, 0, "\\"], - [19423, 1], - [19377, 1], - [19394, 1], - [19394, 1], - [19258, 1], - [19258, 1], - [19258, 1], - [19258, 1], - [19258, 1], - [19258, 1], - [19258, 1], - [19258, 0, "`"], - [19259, 0, "`"], - [19265, 1], - [19265, 0, "'"], - [19266, 0, "'"], - [19269, 1], - [19269, 0, "`"], - [19270, 0, "`"], - [19278, 1], - [19278, 0, "'"], - [19279, 0, "'"], - [19280, 0, "\\"], - [19282, 0, "\\"], - [19284, 1], - [19240, 1], - [19238, 1], - [19238, 0, "'"], - [19239, 0, "'"], - [19230, 1], - [19230, 0, "`"], - [19231, 0, "`"], - [19227, 1], - [19227, 0, "'"], - [19228, 0, "'"], - [19223, 1], - [19223, 0, "`"], - [19224, 0, "`"], - [19222, 0, "\\"], - [19219, 1], - [19219, 0, "'"], - [19220, 0, "'"], - [19212, 1], - [19212, 0, "`"], - [19213, 0, "`"], - [19210, 1], - [19209, 1], - [19208, 1], - [19207, 1], - [19206, 1], - [19123, 1], - [19122, 1], - [19121, 1], - [19120, 1], - [19119, 1], - [19120, 1], - [19120, 0, "`"], - [19121, 0, "`"], - [19128, 1], - [19128, 0, "'"], - [19129, 0, "'"], - [19132, 0, "\\"], - [19134, 1], - [19134, 0, "`"], - [19135, 0, "`"], - [19141, 1], - [19141, 0, "'"], - [19142, 0, "'"], - [19145, 1], - [19145, 0, "`"], - [19146, 0, "`"], - [19154, 1], - [19154, 0, "'"], - [19155, 0, "'"], - [19156, 0, "\\"], - [19158, 0, "\\"], - [19160, 1], - [19087, 1], - [19086, 0, "\\"], - [19085, 0, "\\"], - [19084, 0, "\\"], - [19074, 1], - [19074, 0, "`"], - [19075, 0, "`"], - [19082, 1], - [19082, 0, "'"], - [19083, 0, "'"], - [19072, 1], - [19071, 1], - [19070, 1], - [19069, 1], - [19068, 1], - [19032, 1], - [19031, 0, "\\"], - [19030, 0, "\\"], - [19029, 1], - [19029, 0, "'"], - [19030, 0, "'"], - [19021, 1], - [19021, 0, "`"], - [19022, 0, "`"], - [19014, 1], - [19013, 1], - [19012, 1], - [19011, 1], - [19010, 1], - [19009, 1], - [19008, 1], - [19008, 0, "`"], - [19009, 0, "`"], - [19013, 1], - [19013, 0, "'"], - [19014, 0, "'"], - [18959, 1], - [18958, 1], - [18957, 1], - [18956, 1], - [18955, 1], - [18956, 1], - [18956, 0, "`"], - [18957, 0, "`"], - [18964, 1], - [18964, 0, "'"], - [18965, 0, "'"], - [18968, 0, "\\"], - [18970, 1], - [18970, 0, "`"], - [18971, 0, "`"], - [18976, 1], - [18976, 0, "'"], - [18977, 0, "'"], - [18980, 1], - [18980, 0, "`"], - [18981, 0, "`"], - [18989, 1], - [18989, 0, "'"], - [18990, 0, "'"], - [18992, 1], - [18905, 1], - [18904, 0, "\\"], - [18903, 0, "\\"], - [18902, 1], - [18902, 0, "'"], - [18903, 0, "'"], - [18894, 1], - [18894, 0, "`"], - [18895, 0, "`"], - [18891, 1], - [18891, 0, "'"], - [18892, 0, "'"], - [18886, 1], - [18886, 0, "`"], - [18887, 0, "`"], - [18875, 1], - [18875, 0, "`"], - [18876, 0, "`"], - [18883, 1], - [18883, 0, "'"], - [18884, 0, "'"], - [18887, 0, "\\"], - [18873, 1], - [18872, 1], - [18871, 1], - [18870, 1], - [18869, 1], - [18896, 0, "\\"], - [18986, 0, "\\"], - [19025, 0, "\\"], - [19152, 0, "\\"], - [19153, 0, "\\"], - [19153, 1], - [19241, 0, "\\"], - [19242, 0, "\\"], - [19283, 0, "\\"], - [19242, 1], - [19378, 0, "\\"], - [19419, 0, "\\"], - [19514, 1], - [19513, 1], - [19512, 1], - [19511, 1], - [19510, 1], - [19509, 1], - [19508, 1], - [19507, 1], - [19506, 1], - [19505, 1], - [19504, 1], - [19503, 1], - [19502, 1], - [19501, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [19612, 1], - [18855, 1], - [18854, 1], - [18853, 1], - [18852, 1], - [18851, 1], - [18851, 0, "l"], - [18852, 0, "e"], - [18853, 0, "f"], - [18854, 0, "t"], - [18855, 0, "0"], - [18862, 1], - [18862, 0, "0"], - [18912, 0, "\n"], - [18913, 0, "\\"], - [18914, 0, "n"], - [18915, 0, "o"], - [18916, 0, "d"], - [18917, 0, "e"], - [18918, 0, " "], - [18919, 0, "("], - [18920, 0, "r"], - [18921, 0, "i"], - [18922, 0, "g"], - [18923, 0, "h"], - [18924, 0, "t"], - [18925, 0, "0"], - [18926, 0, ")"], - [18927, 0, " "], - [18928, 0, "a"], - [18929, 0, "t"], - [18930, 0, " "], - [18931, 0, "("], - [18932, 0, "8"], - [18933, 0, ","], - [18934, 0, "4"], - [18935, 0, ")"], - [18936, 0, " "], - [18937, 0, "{"], - [18938, 0, "["], - [18858, 0, " "], - [18939, 1], - [18939, 0, "\\"], - [18940, 0, "{"], - [18941, 0, "`"], - [18942, 0, "`"], - [18943, 0, "c"], - [18944, 0, "o"], - [18945, 0, "l"], - [18946, 0, "o"], - [18947, 0, "r"], - [18948, 0, "s"], - [18949, 0, "'"], - [18950, 0, "'"], - [18951, 0, ":"], - [18952, 0, " "], - [18953, 0, "\\"], - [18954, 0, "{"], - [18955, 0, "`"], - [18956, 0, "`"], - [18957, 0, "b"], - [18958, 0, "l"], - [18959, 0, "u"], - [18960, 0, "e"], - [18961, 0, "'"], - [18962, 0, "'"], - [18963, 0, ":"], - [18964, 0, " "], - [18965, 0, "`"], - [18966, 0, "`"], - [18967, 0, "\\"], - [18968, 0, "#"], - [18969, 0, "0"], - [18970, 0, "0"], - [18971, 0, "0"], - [18972, 0, "0"], - [18973, 0, "f"], - [18974, 0, "f"], - [18975, 0, "'"], - [18976, 0, "'"], - [18977, 0, "\\"], - [18978, 0, "}"], - [18979, 0, "\\"], - [18980, 0, "}"], - [18981, 0, "}"], - [18982, 0, ";"], - [19535, 1], - [19534, 1], - [19533, 1], - [19532, 1], - [19531, 1], - [19531, 0, "l"], - [19532, 0, "e"], - [19533, 0, "f"], - [19534, 0, "t"], - [19535, 0, "0"], - [19646, 1], - [19645, 1], - [19644, 1], - [19643, 1], - [19642, 1], - [19642, 0, "r"], - [19643, 0, "i"], - [19644, 0, "g"], - [19645, 0, "h"], - [19646, 0, "t"], - [19647, 0, "0"], - [19649, 1], - [19871, 1], - [19871, 1], - [19871, 1], - [19871, 1], - [19871, 1], - [19921, 1], - [19921, 1], - [19921, 1], - [19921, 1], - [19921, 1], - [19944, 0, "d"], - [19945, 0, "a"], - [19946, 0, "s"], - [19947, 0, "h"], - [19948, 0, "e"], - [19949, 0, "d"], - [19950, 0, ","], - [19951, 0, "b"], - [19952, 0, "l"], - [19953, 0, "u"], - [19954, 0, "e"], - [19955, 0, ","], - [19956, 0, "-"], - [19956, 1], - [19904, 1], - [19903, 1], - [19902, 1], - [19901, 1], - [19900, 1], - [19899, 1], - [19898, 1], - [19897, 1], - [19896, 1], - [19895, 1], - [19894, 1], - [19893, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19843, 1], - [19971, 0, "d"], - [19972, 0, "a"], - [19973, 0, "s"], - [19974, 0, "h"], - [19975, 0, "e"], - [19976, 0, "d"], - [19977, 0, ","], - [19978, 0, "b"], - [19979, 0, "l"], - [19980, 0, "u"], - [19981, 0, "e"], - [19982, 0, ","], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [19761, 1], - [18867, 0, " "], - [18868, 0, "["], - [18869, 0, "r"], - [18870, 0, "e"], - [18871, 0, "c"], - [18872, 0, "t"], - [18873, 0, "a"], - [18874, 0, "n"], - [18875, 0, "g"], - [18876, 0, "l"], - [18877, 0, "e"], - [18878, 0, ","], - [18879, 0, "d"], - [18880, 0, "r"], - [18881, 0, "a"], - [18882, 0, "w"], - [18883, 0, "]"], - [18954, 0, " "], - [18955, 0, "["], - [18956, 0, "r"], - [18957, 0, "e"], - [18958, 0, "c"], - [18959, 0, "t"], - [18960, 0, "a"], - [18961, 0, "n"], - [18962, 0, "g"], - [18963, 0, "l"], - [18964, 0, "e"], - [18965, 0, ","], - [18966, 0, "d"], - [18967, 0, "r"], - [18968, 0, "a"], - [18969, 0, "w"], - [18970, 0, "]"], - [19049, 0, " "], - [19050, 0, "["], - [19051, 0, "r"], - [19052, 0, "e"], - [19053, 0, "c"], - [19054, 0, "t"], - [19055, 0, "a"], - [19056, 0, "n"], - [19057, 0, "g"], - [19058, 0, "l"], - [19059, 0, "e"], - [19060, 0, ","], - [19061, 0, "d"], - [19062, 0, "r"], - [19063, 0, "a"], - [19064, 0, "w"], - [19065, 0, "]"], - [19193, 0, " "], - [19194, 0, "["], - [19195, 0, "r"], - [19196, 0, "e"], - [19197, 0, "c"], - [19198, 0, "t"], - [19199, 0, "a"], - [19200, 0, "n"], - [19201, 0, "g"], - [19202, 0, "l"], - [19203, 0, "e"], - [19204, 0, ","], - [19205, 0, "d"], - [19206, 0, "r"], - [19207, 0, "a"], - [19208, 0, "w"], - [19209, 0, "]"], - [19260, 0, " "], - [19261, 0, "["], - [19262, 0, "r"], - [19263, 0, "e"], - [19264, 0, "c"], - [19265, 0, "t"], - [19266, 0, "a"], - [19267, 0, "n"], - [19268, 0, "g"], - [19269, 0, "l"], - [19270, 0, "e"], - [19271, 0, ","], - [19272, 0, "d"], - [19273, 0, "r"], - [19274, 0, "a"], - [19275, 0, "w"], - [19276, 0, "]"], - [19356, 0, " "], - [19357, 0, "["], - [19358, 0, "r"], - [19359, 0, "e"], - [19360, 0, "c"], - [19361, 0, "t"], - [19362, 0, "a"], - [19363, 0, "n"], - [19364, 0, "g"], - [19365, 0, "l"], - [19366, 0, "e"], - [19367, 0, ","], - [19368, 0, "d"], - [19369, 0, "r"], - [19370, 0, "a"], - [19371, 0, "w"], - [19372, 0, "]"], - [19510, 0, " "], - [19511, 0, "["], - [19512, 0, "r"], - [19513, 0, "e"], - [19514, 0, "c"], - [19515, 0, "t"], - [19516, 0, "a"], - [19517, 0, "n"], - [19518, 0, "g"], - [19519, 0, "l"], - [19520, 0, "e"], - [19521, 0, ","], - [19522, 0, "d"], - [19523, 0, "r"], - [19524, 0, "a"], - [19525, 0, "w"], - [19526, 0, "]"], - [20047, 0, "."], - [20048, 0, "s"], - [20049, 0, "o"], - [20050, 0, "u"], - [20051, 0, "t"], - [20052, 0, "h"], - [20053, 0, " "], - [20054, 0, "e"], - [20055, 0, "a"], - [20056, 0, "s"], - [20057, 0, "t"], - [20110, 0, "."], - [20111, 0, "s"], - [20112, 0, "o"], - [20113, 0, "u"], - [20114, 0, "t"], - [20115, 0, "h"], - [20116, 0, " "], - [20117, 0, "w"], - [20118, 0, "e"], - [20119, 0, "s"], - [20120, 0, "t"], - [20071, 0, "."], - [20072, 0, "n"], - [20073, 0, "o"], - [20074, 0, "r"], - [20075, 0, "t"], - [20076, 0, "h"], - [20077, 0, " "], - [20078, 0, "w"], - [20079, 0, "e"], - [20080, 0, "s"], - [20081, 0, "t"], - [20143, 0, "."], - [20144, 0, "n"], - [20145, 0, "o"], - [20146, 0, "r"], - [20147, 0, "t"], - [20148, 0, "h"], - [20149, 0, " "], - [20150, 0, "e"], - [20151, 0, "a"], - [20152, 0, "s"], - [20153, 0, "t"], - [18950, 1], - [18950, 0, "6"], - [19189, 1], - [19189, 0, "6"], - [19254, 1], - [19254, 0, "6"], - [19506, 1], - [19506, 0, "6"], - [18843, 0, "\n"], - [18844, 0, "\\"], - [18845, 0, "p"], - [18846, 0, "a"], - [18847, 0, "t"], - [18848, 0, "h"], - [18849, 0, " "], - [18850, 0, "["], - [18851, 0, "d"], - [18852, 0, "r"], - [18853, 0, "a"], - [18854, 0, "w"], - [18855, 0, ","], - [18856, 0, "d"], - [18857, 0, "o"], - [18858, 0, "t"], - [18859, 0, "t"], - [18860, 0, "e"], - [18861, 0, "d"], - [18862, 0, "]"], - [18863, 0, " "], - [18864, 0, "("], - [18865, 0, "3"], - [18866, 0, ","], - [18867, 0, "-"], - [18868, 0, "0"], - [18869, 0, "."], - [18870, 0, "5"], - [18871, 0, ")"], - [18872, 0, " "], - [18873, 0, "-"], - [18874, 0, "-"], - [18875, 0, " "], - [18876, 0, "("], - [18877, 0, "3"], - [18878, 0, ","], - [18879, 0, "5"], - [18880, 0, ")"], - [18881, 0, ";"], - [19297, 1], - [19296, 1], - [19295, 1], - [19295, 0, "2"], - [19230, 1], - [19230, 0, "4"], - [18991, 1], - [18991, 0, "6"], - [18904, 1], - [18904, 0, "6"], - [19086, 1], - [19086, 0, "3"], - [18842, 0, ","], - [18843, 0, "s"], - [18844, 0, "c"], - [18845, 0, "a"], - [18846, 0, "l"], - [18847, 0, "e"], - [18848, 0, "="], - [18849, 0, "0"], - [18850, 0, "."], - [18851, 0, "8"], - [16705, 0, ","], - [16706, 0, "s"], - [16707, 0, "c"], - [16708, 0, "a"], - [16709, 0, "l"], - [16710, 0, "e"], - [16711, 0, "="], - [16712, 0, "0"], - [16713, 0, "."], - [16714, 0, "8"], - [16816, 1], - [16816, 0, "8"], - [16919, 1], - [16919, 0, "8"], - [17045, 1], - [17045, 0, "8"], - [17182, 1], - [17182, 0, "8"], - [17256, 1], - [17256, 0, "4"], - [18885, 1], - [18885, 0, "4"], - [18897, 1], - [18897, 0, "4"], - [18890, 1], - [18889, 1], - [18888, 1], - [18888, 0, "1"], - [18897, 1], - [18897, 0, "6"], - [18898, 0, "."], - [18899, 0, "5"], - [19009, 1], - [19009, 0, "8"], - [19248, 1], - [19248, 0, "8"], - [19313, 1], - [19313, 0, "8"], - [19563, 1], - [19563, 0, "8"], - [20865, 0, ","], - [20866, 0, "s"], - [20867, 0, "c"], - [20868, 0, "a"], - [20869, 0, "l"], - [20870, 0, "e"], - [20871, 0, "="], - [20872, 0, "0"], - [20873, 0, "."], - [20874, 0, "8"], - [20909, 1], - [20908, 1], - [20907, 1], - [20906, 1], - [20905, 1], - [20904, 1], - [20904, 0, "\\"], - [20906, 0, "\\"], - [20908, 1], - [20888, 1], - [20887, 1], - [20886, 1], - [20885, 1], - [20884, 1], - [20884, 0, "l"], - [20885, 0, "e"], - [20886, 0, "f"], - [20887, 0, "t"], - [20888, 0, "0"], - [20910, 0, "\n"], - [20911, 0, "\\"], - [20912, 0, "n"], - [20913, 0, "o"], - [20914, 0, "d"], - [20915, 0, "e"], - [20916, 0, " "], - [20917, 0, "("], - [20918, 0, "r"], - [20919, 0, "i"], - [20920, 0, "g"], - [20921, 0, "h"], - [20922, 0, "t"], - [20923, 0, "0"], - [20924, 0, ")"], - [20925, 0, " "], - [20926, 0, "a"], - [20927, 0, "t"], - [20928, 0, " "], - [20929, 0, "("], - [20930, 0, "8"], - [20931, 0, ","], - [20932, 0, "6"], - [20933, 0, "."], - [20934, 0, "0"], - [20935, 0, ")"], - [20936, 0, " "], - [20937, 0, "{"], - [20938, 0, "\\"], - [20939, 0, "{"], - [20940, 0, "\\"], - [20941, 0, "}"], - [20942, 0, "}"], - [20943, 0, ";"], - [20896, 1], - [20896, 0, "0"], - [21435, 1], - [21434, 1], - [21433, 1], - [21432, 1], - [21431, 1], - [21431, 0, "l"], - [21432, 0, "e"], - [21433, 0, "f"], - [21434, 0, "t"], - [21435, 0, "0"], - [21538, 1], - [21537, 1], - [21536, 1], - [21535, 1], - [21534, 1], - [21534, 0, "r"], - [21535, 0, "i"], - [21536, 0, "g"], - [21537, 0, "h"], - [21538, 0, "t"], - [21539, 0, "0"], - [21541, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19840, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19728, 1], - [19729, 0, " "], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17352, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17428, 1], - [17352, 0, ","], - [17353, 0, " "], - [17354, 0, "i"], - [17355, 0, "n"], - [17356, 0, "n"], - [17357, 0, "e"], - [17358, 0, "r"], - [17359, 0, " "], - [17360, 0, "s"], - [17361, 0, "e"], - [17362, 0, "p"], - [17363, 0, "="], - [17364, 0, "8"], - [17365, 0, "p"], - [17366, 0, "t"], - [17353, 1], - [17442, 0, ","], - [17443, 0, "i"], - [17444, 0, "n"], - [17445, 0, "n"], - [17446, 0, "e"], - [17447, 0, "r"], - [17448, 0, " "], - [17449, 0, "s"], - [17450, 0, "e"], - [17451, 0, "p"], - [17452, 0, "="], - [17453, 0, "8"], - [17454, 0, "p"], - [17455, 0, "t"], - [20941, 1], - [20941, 1], - [20941, 1], - [20941, 1], - [20941, 1], - [20942, 1], - [20942, 0, "`"], - [20943, 0, "`"], - [20947, 1], - [20947, 0, "'"], - [20948, 0, "'"], - [20950, 0, " "], - [20953, 0, "\\"], - [20955, 1], - [21000, 0, "\\"], - [20998, 0, " "], - [20996, 1], - [20996, 0, "'"], - [20997, 0, "'"], - [20992, 1], - [20992, 0, "`"], - [20993, 0, "`"], - [20990, 1], - [20989, 1], - [20988, 1], - [20987, 1], - [20986, 1], - [21032, 1], - [21032, 1], - [21032, 1], - [21032, 1], - [21032, 1], - [21033, 1], - [21033, 0, "`"], - [21034, 0, "`"], - [21081, 1], - [21081, 1], - [21081, 1], - [21081, 1], - [21081, 1], - [21135, 1], - [21135, 1], - [21135, 1], - [21135, 1], - [21135, 1], - [21183, 1], - [21183, 1], - [21183, 1], - [21183, 1], - [21183, 1], - [21239, 1], - [21239, 1], - [21239, 1], - [21239, 1], - [21239, 1], - [21308, 1], - [21308, 1], - [21308, 1], - [21308, 1], - [21308, 1], - [21082, 1], - [21135, 1], - [21182, 1], - [21237, 1], - [21305, 1], - [21082, 0, "`"], - [21083, 0, "`"], - [21137, 0, "`"], - [21138, 0, "`"], - [21186, 0, "`"], - [21187, 0, "`"], - [21243, 0, "`"], - [21244, 0, "`"], - [21313, 0, "`"], - [21314, 0, "`"], - [21038, 1], - [21038, 0, "'"], - [21039, 0, "'"], - [21088, 1], - [21088, 0, "'"], - [21089, 0, "'"], - [21144, 1], - [21144, 0, "'"], - [21145, 0, "'"], - [21194, 1], - [21194, 0, "'"], - [21195, 0, "'"], - [21252, 1], - [21252, 0, "'"], - [21253, 0, "'"], - [21323, 1], - [21323, 0, "'"], - [21324, 0, "'"], - [21041, 0, " "], - [21092, 0, " "], - [21149, 0, " "], - [21200, 0, " "], - [21259, 0, " "], - [21331, 0, " "], - [21043, 1], - [21043, 0, "`"], - [21044, 0, "`"], - [21095, 1], - [21095, 0, "`"], - [21096, 0, "`"], - [21153, 1], - [21153, 0, "`"], - [21154, 0, "`"], - [21205, 1], - [21205, 0, "`"], - [21206, 0, "`"], - [21265, 1], - [21265, 0, "`"], - [21266, 0, "`"], - [21338, 1], - [21338, 0, "`"], - [21339, 0, "`"], - [21049, 1], - [21049, 0, "'"], - [21050, 0, "'"], - [21102, 1], - [21102, 0, "'"], - [21103, 0, "'"], - [21105, 0, " "], - [21106, 1], - [21106, 0, "`"], - [21107, 0, "`"], - [21111, 1], - [21111, 0, "'"], - [21112, 0, "'"], - [21164, 1], - [21164, 0, "'"], - [21165, 0, "'"], - [21217, 1], - [21217, 0, "'"], - [21218, 0, "'"], - [21220, 0, " "], - [21221, 1], - [21221, 0, "`"], - [21222, 0, "`"], - [21228, 1], - [21228, 0, "'"], - [21229, 0, "'"], - [21281, 1], - [21281, 0, "'"], - [21282, 0, "'"], - [21284, 0, " "], - [21285, 1], - [21285, 0, "`"], - [21286, 0, "`"], - [21290, 1], - [21290, 0, "'"], - [21291, 0, "'"], - [21293, 0, " "], - [21294, 1], - [21294, 0, "`"], - [21295, 0, "`"], - [21300, 1], - [21300, 0, "'"], - [21301, 0, "'"], - [21303, 0, " "], - [21304, 1], - [21304, 0, "`"], - [21305, 0, "`"], - [21311, 1], - [21311, 0, "'"], - [21312, 0, "'"], - [21364, 1], - [21364, 0, "'"], - [21365, 0, "'"], - [21367, 0, " "], - [21368, 1], - [21368, 0, "`"], - [21369, 0, "`"], - [21373, 1], - [21373, 0, "'"], - [21374, 0, "'"], - [21375, 0, " "], - [21375, 1], - [21376, 0, " "], - [21377, 1], - [21377, 0, "`"], - [21378, 0, "`"], - [21383, 1], - [21383, 0, "'"], - [21384, 0, "'"], - [21386, 0, " "], - [21387, 1], - [21387, 0, "`"], - [21388, 0, "`"], - [21394, 1], - [21394, 0, "'"], - [21395, 0, "'"], - [21397, 0, "\\"], - [21314, 0, "\\"], - [21316, 1], - [21399, 1], - [21232, 1], - [21231, 0, "\\"], - [21168, 1], - [21167, 0, "\\"], - [21115, 1], - [21114, 0, "\\"], - [21053, 1], - [21052, 0, "\\"], - [21000, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21440, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21527, 1], - [21442, 0, " "], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21444, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21517, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21591, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21680, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21770, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21845, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21909, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21947, 1], - [21970, 0, "d"], - [21971, 0, "a"], - [21972, 0, "s"], - [21973, 0, "h"], - [21974, 0, "e"], - [21975, 0, "d"], - [21976, 0, ","], - [21977, 0, "b"], - [21978, 0, "l"], - [21979, 0, "u"], - [21980, 0, "e"], - [21981, 0, ","], - [22021, 0, "d"], - [22022, 0, "a"], - [22023, 0, "s"], - [22024, 0, "h"], - [22025, 0, "e"], - [22026, 0, "d"], - [22027, 0, ","], - [22028, 0, "b"], - [22029, 0, "l"], - [22030, 0, "u"], - [22031, 0, "e"], - [22032, 0, ","], - [20870, 0, " "], - [20871, 0, "["], - [20872, 0, "r"], - [20873, 0, "e"], - [20874, 0, "c"], - [20875, 0, "t"], - [20876, 0, "a"], - [20877, 0, "n"], - [20878, 0, "g"], - [20879, 0, "l"], - [20880, 0, "e"], - [20881, 0, ","], - [20882, 0, "d"], - [20883, 0, "r"], - [20884, 0, "a"], - [20885, 0, "w"], - [20886, 0, "]"], - [20921, 0, " "], - [20922, 0, "["], - [20923, 0, "r"], - [20924, 0, "e"], - [20925, 0, "c"], - [20926, 0, "t"], - [20927, 0, "a"], - [20928, 0, "n"], - [20929, 0, "g"], - [20930, 0, "l"], - [20931, 0, "e"], - [20932, 0, ","], - [20933, 0, "d"], - [20934, 0, "r"], - [20935, 0, "a"], - [20936, 0, "w"], - [20937, 0, "]"], - [20972, 0, " "], - [20973, 0, "["], - [20974, 0, "r"], - [20975, 0, "e"], - [20976, 0, "c"], - [20977, 0, "t"], - [20978, 0, "a"], - [20979, 0, "n"], - [20980, 0, "g"], - [20981, 0, "l"], - [20982, 0, "e"], - [20983, 0, ","], - [20984, 0, "d"], - [20985, 0, "r"], - [20986, 0, "a"], - [20987, 0, "w"], - [20988, 0, "]"], - [21034, 0, " "], - [21035, 0, "["], - [21036, 0, "r"], - [21037, 0, "e"], - [21038, 0, "c"], - [21039, 0, "t"], - [21040, 0, "a"], - [21041, 0, "n"], - [21042, 0, "g"], - [21043, 0, "l"], - [21044, 0, "e"], - [21045, 0, ","], - [21046, 0, "d"], - [21047, 0, "r"], - [21048, 0, "a"], - [21049, 0, "w"], - [21050, 0, "]"], - [21096, 0, " "], - [21097, 0, "["], - [21098, 0, "r"], - [21099, 0, "e"], - [21100, 0, "c"], - [21101, 0, "t"], - [21102, 0, "a"], - [21103, 0, "n"], - [21104, 0, "g"], - [21105, 0, "l"], - [21106, 0, "e"], - [21107, 0, ","], - [21108, 0, "d"], - [21109, 0, "r"], - [21110, 0, "a"], - [21111, 0, "w"], - [21112, 0, "]"], - [21166, 0, " "], - [21167, 0, "["], - [21168, 0, "r"], - [21169, 0, "e"], - [21170, 0, "c"], - [21171, 0, "t"], - [21172, 0, "a"], - [21173, 0, "n"], - [21174, 0, "g"], - [21175, 0, "l"], - [21176, 0, "e"], - [21177, 0, ","], - [21178, 0, "d"], - [21179, 0, "r"], - [21180, 0, "a"], - [21181, 0, "w"], - [21182, 0, "]"], - [21246, 0, "["], - [21247, 0, "r"], - [21248, 0, "e"], - [21249, 0, "c"], - [21250, 0, "t"], - [21251, 0, "a"], - [21252, 0, "n"], - [21253, 0, "g"], - [21254, 0, "l"], - [21255, 0, "e"], - [21256, 0, ","], - [21257, 0, "d"], - [21258, 0, "r"], - [21259, 0, "a"], - [21260, 0, "w"], - [21261, 0, "]"], - [21262, 0, " "], - [21315, 0, " "], - [21316, 0, "["], - [21317, 0, "r"], - [21318, 0, "e"], - [21319, 0, "c"], - [21320, 0, "t"], - [21321, 0, "n"], - [21322, 0, "a"], - [21322, 1], - [21321, 1], - [21321, 0, "a"], - [21322, 0, "n"], - [21323, 0, "g"], - [21324, 0, "l"], - [21325, 0, "e"], - [21326, 0, ","], - [21327, 0, "d"], - [21328, 0, "r"], - [21329, 0, "a"], - [21330, 0, "w"], - [21331, 0, "]"], - [21397, 0, " "], - [21397, 1], - [21397, 0, "["], - [21398, 0, "r"], - [21399, 0, "e"], - [21400, 0, "c"], - [21401, 0, "t"], - [21402, 0, "a"], - [21403, 0, "n"], - [21404, 0, "g"], - [21405, 0, "l"], - [21406, 0, "e"], - [21407, 0, ","], - [21408, 0, "d"], - [21409, 0, "r"], - [21410, 0, "a"], - [21411, 0, "w"], - [21412, 0, "]"], - [21413, 0, " "], - [21496, 0, " "], - [21497, 0, "["], - [21498, 0, "r"], - [21499, 0, "e"], - [21500, 0, "c"], - [21501, 0, "t"], - [21502, 0, "a"], - [21503, 0, "n"], - [21504, 0, "g"], - [21505, 0, "l"], - [21506, 0, "e"], - [21507, 0, ","], - [21508, 0, "d"], - [21509, 0, "r"], - [21510, 0, "a"], - [21511, 0, "w"], - [21512, 0, "]"], - [21494, 1], - [21493, 1], - [21393, 1], - [21393, 1], - [21311, 1], - [21311, 1], - [21311, 1], - [21311, 0, "2"], - [21241, 1], - [21241, 1], - [21241, 1], - [21241, 0, "4"], - [21162, 1], - [21162, 1], - [21162, 1], - [21162, 0, "2"], - [21092, 1], - [21092, 1], - [21092, 1], - [21092, 0, "4"], - [21030, 1], - [21030, 1], - [21030, 1], - [21030, 0, "6"], - [20968, 1], - [20968, 1], - [20968, 1], - [20968, 0, "6"], - [20917, 1], - [20917, 1], - [20917, 1], - [20917, 0, "8"], - [20866, 1], - [20866, 1], - [20866, 1], - [20866, 0, "8"], - [20913, 1], - [20913, 0, "1"], - [20914, 0, "0"], - [20864, 0, " "], - [20964, 0, " "], - [21025, 1], - [21025, 0, "2"], - [21026, 0, "0"], - [21026, 1], - [21025, 1], - [21025, 0, "1"], - [21026, 0, "0"], - [21086, 0, " "], - [21086, 1], - [21085, 0, " "], - [20964, 1], - [20963, 0, " "], - [20864, 1], - [20863, 0, " "], - [21154, 0, " "], - [21233, 1], - [21233, 0, "1"], - [21234, 0, "0"], - [21302, 1], - [21302, 0, "2"], - [21303, 0, "0"], - [21303, 1], - [21302, 1], - [21302, 0, "1"], - [21303, 0, "0"], - [21381, 0, " "], - [21481, 1], - [21481, 0, "1"], - [21482, 0, "0"], - [22152, 0, "."], - [22153, 0, "s"], - [22154, 0, "o"], - [22155, 0, "u"], - [22156, 0, "t"], - [22157, 0, "h"], - [22158, 0, " "], - [22159, 0, "e"], - [22160, 0, "a"], - [22161, 0, "s"], - [22162, 0, "t"], - [22176, 0, "."], - [22177, 0, "s"], - [22178, 0, "o"], - [22179, 0, "u"], - [22180, 0, "t"], - [22181, 0, "h"], - [22182, 0, " "], - [22183, 0, "w"], - [22184, 0, "e"], - [22185, 0, "s"], - [22186, 0, "t"], - [22226, 0, "."], - [22227, 0, "n"], - [22228, 0, "o"], - [22229, 0, "r"], - [22230, 0, "t"], - [22231, 0, "h"], - [22232, 0, " "], - [22233, 0, "w"], - [22234, 0, "e"], - [22235, 0, "s"], - [22236, 0, "t"], - [22236, 1], - [22235, 1], - [22234, 1], - [22233, 1], - [22233, 0, "e"], - [22234, 0, "a"], - [22235, 0, "s"], - [22236, 0, "t"], - [22248, 0, "."], - [22249, 0, "n"], - [22250, 0, "o"], - [22181, 1], - [22180, 1], - [22179, 1], - [22178, 1], - [22177, 1], - [22177, 0, "n"], - [22178, 0, "o"], - [22179, 0, "r"], - [22180, 0, "t"], - [22181, 0, "h"], - [22231, 1], - [22230, 1], - [22229, 1], - [22228, 1], - [22227, 1], - [22227, 0, "s"], - [22228, 0, "o"], - [22229, 0, "u"], - [22230, 0, "t"], - [22231, 0, "h"], - [22232, 0, " "], - [22233, 0, "w"], - [22234, 0, "e"], - [22235, 0, "s"], - [22236, 0, "t"], - [22237, 1], - [22237, 1], - [22237, 1], - [22237, 1], - [22237, 1], - [22251, 0, "r"], - [22252, 0, "t"], - [22253, 0, "h"], - [22254, 0, " "], - [22255, 0, "e"], - [22256, 0, "a"], - [22257, 0, "s"], - [22258, 0, "t"], - [20844, 0, "\n"], - [20845, 0, "\\"], - [20846, 0, "p"], - [20847, 0, "a"], - [20848, 0, "t"], - [20849, 0, "h"], - [20850, 0, " "], - [20851, 0, "["], - [20852, 0, "d"], - [20853, 0, "r"], - [20854, 0, "a"], - [20855, 0, "w"], - [20856, 0, ","], - [20857, 0, "d"], - [20858, 0, "o"], - [20859, 0, "t"], - [20860, 0, "t"], - [20861, 0, "e"], - [20862, 0, "d"], - [20863, 0, "]"], - [20864, 0, " "], - [20865, 0, "("], - [20866, 0, "5"], - [20867, 0, ","], - [20868, 0, "-"], - [20869, 0, "0"], - [20870, 0, "."], - [20871, 0, "5"], - [20872, 0, ")"], - [20873, 0, " "], - [20874, 0, "-"], - [20875, 0, "-"], - [20876, 0, " "], - [20877, 0, "("], - [20878, 0, "5"], - [20879, 0, ","], - [20880, 0, "8"], - [20881, 0, "."], - [20882, 0, "5"], - [20883, 0, ")"], - [20884, 0, ";"], - [22203, 1], - [22202, 1], - [22201, 1], - [22200, 1], - [22199, 1], - [22268, 1], - [22268, 1], - [22268, 1], - [22268, 1], - [22268, 1], - [22204, 0, " "], - [22205, 0, "["], - [22206, 0, "o"], - [22207, 0, "u"], - [22208, 0, "t"], - [22209, 0, "="], - [22210, 0, "1"], - [22211, 0, "8"], - [22212, 0, "0"], - [22213, 0, "]"], - [22282, 0, " "], - [22283, 0, "["], - [22284, 0, "o"], - [22285, 0, "u"], - [22286, 0, "t"], - [22287, 0, "="], - [22288, 0, "1"], - [22289, 0, "8"], - [22290, 0, "0"], - [22291, 0, "]"], - [22211, 1], - [22210, 1], - [22210, 0, "9"], - [22288, 1], - [22287, 1], - [22287, 0, "9"], - [22287, 1], - [22287, 0, "2"], - [22288, 0, "7"], - [22210, 1], - [22210, 0, "2"], - [22211, 0, "7"], - [22213, 0, ","], - [22214, 0, "i"], - [22215, 0, "n"], - [22216, 0, "="], - [22217, 0, "4"], - [22218, 0, "5"], - [22297, 0, ","], - [22298, 0, "i"], - [22299, 0, "n"], - [22300, 0, "="], - [22301, 0, "1"], - [22302, 0, "3"], - [22303, 0, "5"], - [22218, 1], - [22217, 1], - [22217, 0, "1"], - [22218, 0, "3"], - [22219, 0, "5"], - [22304, 1], - [22303, 1], - [22302, 1], - [22302, 0, "4"], - [22303, 0, "5"], - [20082, 1], - [20081, 1], - [20080, 1], - [20079, 1], - [20078, 1], - [20147, 1], - [20147, 1], - [20147, 1], - [20147, 1], - [20147, 1], - [20083, 0, " "], - [20084, 0, "["], - [20085, 0, "o"], - [20086, 0, "u"], - [20087, 0, "t"], - [20088, 0, "="], - [20089, 0, "2"], - [20090, 0, "7"], - [20091, 0, "0"], - [20092, 0, ","], - [20093, 0, "i"], - [20094, 0, "n"], - [20095, 0, "="], - [20096, 0, "1"], - [20097, 0, "3"], - [20098, 0, "5"], - [20099, 0, "]"], - [20168, 0, " "], - [20169, 0, "["], - [20170, 0, "o"], - [20171, 0, "u"], - [20172, 0, "t"], - [20172, 1], - [20172, 0, "="], - [20172, 1], - [20172, 0, "t"], - [20173, 0, "="], - [20174, 0, "2"], - [20175, 0, "7"], - [20176, 0, "8"], - [20176, 1], - [20176, 0, "0"], - [20177, 0, ","], - [20178, 0, "i"], - [20179, 0, "n"], - [20180, 0, "="], - [20181, 0, "4"], - [20182, 0, "5"], - [20183, 0, "]"], - [20184, 0, " "], - [22330, 0, " "], - [19315, 1], - [19315, 0, "3"], - [19250, 1], - [19250, 0, "5"], - [19106, 1], - [19106, 0, "4"], - [19011, 1], - [19011, 0, "7"], - [18924, 1], - [18924, 0, "7"], - [18897, 1], - [18897, 0, "7"], - [17579, 1], - [17578, 1], - [17578, 0, " "], - [17579, 0, "t"], - [17580, 0, "o"], - [17581, 0, " "], - [17581, 1], - [17653, 1], - [17652, 1], - [17652, 0, "t"], - [17653, 0, "o"], - [17581, 0, " "], - [17582, 0, "["], - [17583, 0, "o"], - [17584, 0, "u"], - [17585, 0, "t"], - [17586, 0, "="], - [17587, 0, "2"], - [17588, 0, "8"], - [17589, 0, "0"], - [17589, 1], - [17588, 1], - [17587, 1], - [17587, 0, "1"], - [17588, 0, "8"], - [17589, 0, "0"], - [17590, 0, "]"], - [17575, 1], - [17574, 1], - [17573, 1], - [17572, 1], - [17571, 1], - [17650, 1], - [17650, 1], - [17650, 1], - [17650, 1], - [17650, 1], - [17654, 0, " "], - [17655, 0, "["], - [17656, 0, "o"], - [17657, 0, "u"], - [17658, 0, "t"], - [17659, 0, "="], - [17659, 1], - [17659, 0, "="], - [17660, 0, "1"], - [17661, 0, "8"], - [17662, 0, "0"], - [17663, 0, "]"], - [17585, 0, ","], - [17586, 0, "i"], - [17587, 0, "n"], - [17588, 0, "="], - [17589, 0, "1"], - [17590, 0, "3"], - [17591, 0, "5"], - [17670, 0, ","], - [17671, 0, "i"], - [17672, 0, "n"], - [17673, 0, "="], - [17674, 0, "4"], - [17675, 0, "5"], - [17677, 0, " "], - [17260, 1], - [17260, 0, "5"], - [17582, 1], - [17582, 1], - [17582, 0, "2"], - [17583, 0, "7"], - [17668, 1], - [17667, 1], - [17667, 0, "2"], - [17668, 0, "7"], - [17110, 1], - [17110, 0, "0"], - [17111, 0, "."], - [17112, 0, "5"], - [17186, 1], - [17186, 0, "0"], - [17187, 0, "."], - [17188, 0, "5"], - [16738, 1], - [16738, 0, "4"], - [16741, 1], - [16741, 1], - [16747, 1], - [16747, 0, "4"], - [17262, 1], - [17261, 1], - [17110, 1], - [17109, 1], - [17183, 1], - [17183, 1], - [16740, 0, "-"], - [16742, 0, "."], - [16743, 0, "5"], - [17259, 1], - [17259, 0, "1"], - [17260, 0, "."], - [17261, 0, "8"], - [19714, 0, "\n"], - [19715, 0, "\\"], - [19716, 0, "n"], - [19717, 0, "o"], - [19718, 0, "d"], - [19719, 0, "e"], - [19720, 0, " "], - [19721, 0, "("], - [19722, 0, "c"], - [19723, 0, "o"], - [19724, 0, "m"], - [19725, 0, "m"], - [19726, 0, "s"], - [19727, 0, ")"], - [19728, 0, " "], - [19729, 0, " "], - [19730, 0, "a"], - [19731, 0, "t"], - [19732, 0, " "], - [19733, 0, "("], - [19734, 0, "4"], - [19735, 0, ","], - [19736, 0, "1"], - [19737, 0, "."], - [19738, 0, "8"], - [19739, 0, ")"], - [19740, 0, " "], - [19741, 0, "["], - [19742, 0, "t"], - [19743, 0, "e"], - [19744, 0, "x"], - [19745, 0, "t"], - [19746, 0, "="], - [19747, 0, "b"], - [19748, 0, "l"], - [19749, 0, "u"], - [19750, 0, "e"], - [19751, 0, "]"], - [19752, 0, " "], - [19753, 0, "{"], - [19754, 0, "\\"], - [19755, 0, "f"], - [19756, 0, "o"], - [19757, 0, "o"], - [19758, 0, "t"], - [19759, 0, "n"], - [19760, 0, "o"], - [19761, 0, "t"], - [19762, 0, "e"], - [19763, 0, "s"], - [19764, 0, "i"], - [19765, 0, "z"], - [19766, 0, "e"], - [19767, 0, " "], - [19768, 0, "n"], - [19769, 0, "e"], - [19770, 0, "t"], - [19771, 0, "w"], - [19772, 0, "o"], - [19773, 0, "r"], - [19774, 0, "k"], - [19775, 0, " "], - [19776, 0, "c"], - [19777, 0, "o"], - [19778, 0, "m"], - [19779, 0, "m"], - [19780, 0, "u"], - [19781, 0, "n"], - [19782, 0, "i"], - [19783, 0, "c"], - [19784, 0, "a"], - [19785, 0, "t"], - [19786, 0, "i"], - [19787, 0, "o"], - [19788, 0, "n"], - [19789, 0, "}"], - [19790, 0, ";"], - [19729, 1], - [19735, 1], - [19735, 1], - [19735, 1], - [19735, 0, "2"], - [19736, 0, "."], - [19737, 0, "5"], - [19737, 1], - [19736, 1], - [19736, 0, "."], - [19737, 0, "1"], - [21727, 0, "\n"], - [21728, 0, "\\"], - [21729, 0, "n"], - [21730, 0, "o"], - [21731, 0, "d"], - [21732, 0, "e"], - [21733, 0, " "], - [21734, 0, "("], - [21735, 0, "c"], - [21736, 0, "o"], - [21737, 0, "m"], - [21738, 0, "m"], - [21739, 0, "s"], - [21740, 0, ")"], - [21741, 0, " "], - [21742, 0, "a"], - [21743, 0, "t"], - [21744, 0, " "], - [21745, 0, "("], - [21745, 1], - [21745, 0, " "], - [21742, 0, " "], - [21746, 1], - [21746, 0, " "], - [21747, 0, "("], - [21748, 0, "5"], - [21749, 0, ","], - [21750, 0, "1"], - [21751, 0, "."], - [21752, 0, "8"], - [21753, 0, ")"], - [21754, 0, " "], - [21755, 0, "["], - [21756, 0, "t"], - [21757, 0, "e"], - [21758, 0, "x"], - [21759, 0, "t"], - [21760, 0, "="], - [21761, 0, "b"], - [21762, 0, "l"], - [21763, 0, "u"], - [21764, 0, "e"], - [21765, 0, "]"], - [21766, 0, " "], - [21767, 0, "{"], - [21768, 0, "\\"], - [21769, 0, "f"], - [21770, 0, "o"], - [21771, 0, "o"], - [21772, 0, "t"], - [21773, 0, "n"], - [21774, 0, "o"], - [21775, 0, "t"], - [21776, 0, "e"], - [21777, 0, "s"], - [21778, 0, "i"], - [21779, 0, "z"], - [21780, 0, "e"], - [21781, 0, " "], - [21782, 0, "n"], - [21783, 0, "e"], - [21784, 0, "t"], - [21785, 0, "w"], - [21786, 0, "o"], - [21787, 0, "r"], - [21788, 0, "k"], - [21789, 0, " "], - [21790, 0, "c"], - [21791, 0, "o"], - [21792, 0, "m"], - [21793, 0, "m"], - [21794, 0, "u"], - [21795, 0, "n"], - [21796, 0, "i"], - [21797, 0, "c"], - [21798, 0, "a"], - [21799, 0, "t"], - [21800, 0, "i"], - [21801, 0, "o"], - [21802, 0, "n"], - [21803, 0, "}"], - [21804, 0, ";"], - [21752, 1], - [21752, 0, "2"], - [21752, 1], - [21752, 0, "4"], - [17261, 1], - [17261, 0, "6"], - [23374, 0, ","], - [23375, 0, "s"], - [23376, 0, "c"], - [23377, 0, "a"], - [23378, 0, "l"], - [23379, 0, "e"], - [23380, 0, "="], - [23381, 0, "0"], - [23382, 0, "."], - [23383, 0, "8"], - [23409, 1], - [23408, 1], - [23407, 1], - [23407, 0, "4"], - [23490, 1], - [23490, 1], - [23490, 1], - [23490, 0, "2"], - [23537, 1], - [23537, 1], - [23537, 1], - [23537, 0, "2"], - [23620, 1], - [23620, 1], - [23681, 1], - [23681, 1], - [23416, 1], - [23415, 1], - [23414, 1], - [23413, 1], - [23412, 1], - [23490, 1], - [23490, 1], - [23490, 1], - [23490, 1], - [23490, 1], - [23532, 1], - [23532, 1], - [23532, 1], - [23532, 1], - [23532, 1], - [23609, 1], - [23609, 1], - [23609, 1], - [23609, 1], - [23609, 1], - [23665, 1], - [23665, 1], - [23665, 1], - [23665, 1], - [23665, 1], - [23413, 1], - [23413, 0, "`"], - [23414, 0, "`"], - [23492, 1], - [23492, 0, "`"], - [23493, 0, "`"], - [23535, 1], - [23535, 0, "`"], - [23536, 0, "`"], - [23613, 1], - [23613, 0, "`"], - [23614, 0, "`"], - [23670, 1], - [23670, 0, "`"], - [23671, 0, "`"], - [23419, 1], - [23419, 0, "'"], - [23420, 0, "'"], - [23499, 1], - [23499, 0, "'"], - [23500, 0, "'"], - [23543, 1], - [23543, 0, "'"], - [23544, 0, "'"], - [23622, 1], - [23622, 0, "'"], - [23623, 0, "'"], - [23680, 1], - [23680, 0, "'"], - [23681, 0, "'"], - [23424, 0, "\\"], - [23426, 1], - [23426, 0, "`"], - [23427, 0, "`"], - [23433, 1], - [23433, 0, "'"], - [23434, 0, "'"], - [23437, 1], - [23437, 0, "`"], - [23438, 0, "`"], - [23447, 1], - [23447, 0, "'"], - [23448, 0, "'"], - [23451, 1], - [23451, 0, "`"], - [23452, 0, "`"], - [23457, 1], - [23457, 0, "'"], - [23458, 0, "'"], - [23466, 0, "\\"], - [23469, 0, "\\"], - [23471, 1], - [23514, 1], - [23513, 0, "\\"], - [23556, 0, "\\"], - [23558, 1], - [23558, 0, "`"], - [23559, 0, "`"], - [23565, 1], - [23565, 0, "'"], - [23566, 0, "'"], - [23569, 1], - [23569, 0, "`"], - [23570, 0, "`"], - [23579, 1], - [23579, 0, "'"], - [23580, 0, "'"], - [23583, 1], - [23583, 0, "`"], - [23584, 0, "`"], - [23589, 1], - [23589, 0, "'"], - [23590, 0, "'"], - [23597, 0, "\\"], - [23600, 0, "\\"], - [23602, 1], - [23643, 0, "\\"], - [23702, 0, "\\"], - [23645, 1], - [23645, 0, "`"], - [23646, 0, "`"], - [23705, 1], - [23705, 0, "`"], - [23706, 0, "`"], - [23651, 1], - [23651, 0, "'"], - [23652, 0, "'"], - [23713, 0, "="], - [23713, 1], - [23712, 1], - [23712, 0, "'"], - [23713, 0, "'"], - [23659, 0, "\\"], - [23721, 0, "\\"], - [23662, 0, "\\"], - [23725, 0, "\\"], - [23727, 1], - [23664, 1], - [23784, 1], - [23783, 1], - [23782, 1], - [23781, 1], - [23780, 1], - [23779, 1], - [23778, 1], - [23777, 1], - [23776, 1], - [23775, 1], - [23774, 1], - [23773, 1], - [23772, 1], - [23771, 1], - [23770, 1], - [23769, 1], - [23768, 1], - [23769, 0, " "], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23868, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23772, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23857, 1], - [23954, 1], - [23954, 1], - [23954, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23940, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [23978, 1], - [24001, 0, "d"], - [24002, 0, "a"], - [24003, 0, "s"], - [24004, 0, "h"], - [24005, 0, "e"], - [24006, 0, "d"], - [24007, 0, ","], - [24008, 0, "b"], - [24009, 0, "l"], - [24010, 0, "u"], - [24011, 0, "e"], - [24012, 0, ","], - [24052, 0, "d"], - [24053, 0, "a"], - [24054, 0, "s"], - [24055, 0, "h"], - [24056, 0, "e"], - [24057, 0, "d"], - [24058, 0, ","], - [24059, 0, "b"], - [24060, 0, "l"], - [24061, 0, "u"], - [24062, 0, "e"], - [24063, 0, ","], - [24023, 0, "."], - [24024, 0, "s"], - [24025, 0, "o"], - [24026, 0, "u"], - [24027, 0, "t"], - [24028, 0, "h"], - [24081, 0, "."], - [24082, 0, "s"], - [24083, 0, "o"], - [24084, 0, "u"], - [24085, 0, "t"], - [24086, 0, "h"], - [24034, 0, " "], - [24035, 0, "["], - [24036, 0, "o"], - [24037, 0, "u"], - [24038, 0, "t"], - [24039, 0, "="], - [24040, 0, "2"], - [24041, 0, "8"], - [24042, 0, "0"], - [24042, 1], - [24041, 1], - [24041, 0, "7"], - [24042, 0, "0"], - [24043, 0, "]"], - [24043, 1], - [24043, 0, ","], - [24044, 0, "i"], - [24045, 0, "n"], - [24046, 0, "="], - [24047, 0, "1"], - [24048, 0, "3"], - [24049, 0, "5"], - [24050, 0, "]"], - [24108, 0, " "], - [24109, 0, "["], - [24110, 0, "o"], - [24111, 0, "u"], - [24112, 0, "t"], - [24113, 0, "="], - [24114, 0, "2"], - [24115, 0, "7"], - [24116, 0, "0"], - [24117, 0, ","], - [24118, 0, "i"], - [24119, 0, "n"], - [24120, 0, "="], - [24121, 0, "4"], - [24122, 0, "5"], - [24123, 0, "]"], - [24124, 0, " "], - [24059, 0, "."], - [24060, 0, "n"], - [24061, 0, "o"], - [24062, 0, "r"], - [24063, 0, "t"], - [24064, 0, "h"], - [24065, 0, " "], - [24066, 0, "w"], - [24067, 0, "e"], - [24068, 0, "s"], - [24069, 0, "t"], - [24143, 0, "."], - [24144, 0, "n"], - [24145, 0, "o"], - [24146, 0, "r"], - [24147, 0, "t"], - [24148, 0, "h"], - [24149, 0, " "], - [24150, 0, "e"], - [24151, 0, "a"], - [24152, 0, "s"], - [24153, 0, "t"], - [23409, 0, " "], - [23410, 0, "["], - [23411, 0, "r"], - [23412, 0, "e"], - [23413, 0, "c"], - [23414, 0, "t"], - [23415, 0, "a"], - [23416, 0, "n"], - [23417, 0, "g"], - [23418, 0, "l"], - [23419, 0, "e"], - [23420, 0, ","], - [23421, 0, "d"], - [23422, 0, "r"], - [23423, 0, "a"], - [23424, 0, "w"], - [23425, 0, "]"], - [23514, 0, " "], - [23515, 0, "["], - [23516, 0, "r"], - [23517, 0, "e"], - [23518, 0, "c"], - [23519, 0, "t"], - [23520, 0, "a"], - [23521, 0, "n"], - [23522, 0, "g"], - [23523, 0, "l"], - [23524, 0, "e"], - [23525, 0, ","], - [23526, 0, "d"], - [23527, 0, "r"], - [23528, 0, "a"], - [23529, 0, "w"], - [23530, 0, "]"], - [23575, 0, " "], - [23576, 0, "["], - [23577, 0, "r"], - [23578, 0, "e"], - [23579, 0, "c"], - [23580, 0, "t"], - [23581, 0, "a"], - [23582, 0, "n"], - [23583, 0, "g"], - [23584, 0, "l"], - [23585, 0, "e"], - [23586, 0, ","], - [23587, 0, "d"], - [23588, 0, "r"], - [23589, 0, "a"], - [23590, 0, "w"], - [23591, 0, "]"], - [23679, 0, " "], - [23680, 0, "["], - [23681, 0, "r"], - [23682, 0, "e"], - [23683, 0, "c"], - [23684, 0, "t"], - [23685, 0, "a"], - [23686, 0, "n"], - [23687, 0, "g"], - [23688, 0, "l"], - [23689, 0, "e"], - [23690, 0, ","], - [23691, 0, "d"], - [23692, 0, "r"], - [23693, 0, "a"], - [23694, 0, "w"], - [23695, 0, "]"], - [23758, 0, " "], - [23759, 0, "["], - [23760, 0, "r"], - [23761, 0, "e"], - [23762, 0, "c"], - [23763, 0, "t"], - [23764, 0, "a"], - [23765, 0, "n"], - [23766, 0, "g"], - [23767, 0, "l"], - [23768, 0, "e"], - [23769, 0, ","], - [23770, 0, "d"], - [23771, 0, "r"], - [23772, 0, "a"], - [23773, 0, "w"], - [23774, 0, "]"], - [23405, 1], - [23405, 0, "0"], - [23407, 1], - [23407, 0, "4"], - [23490, 0, "\n"], - [23491, 0, "\\"], - [23492, 0, "n"], - [23493, 0, "o"], - [23494, 0, "d"], - [23495, 0, "e"], - [23496, 0, " "], - [23497, 0, "("], - [23498, 0, "r"], - [23499, 0, "i"], - [23500, 0, "g"], - [23501, 0, "h"], - [23502, 0, "t"], - [23503, 0, "0"], - [23504, 0, ")"], - [23397, 1], - [23396, 1], - [23395, 1], - [23394, 1], - [23393, 1], - [23393, 0, "l"], - [23394, 0, "e"], - [23395, 0, "f"], - [23396, 0, "t"], - [23397, 0, "0"], - [23505, 0, " "], - [23506, 0, "a"], - [23507, 0, "t"], - [23508, 0, " "], - [23509, 0, "("], - [23510, 0, "8"], - [23511, 0, ","], - [23512, 0, "4"], - [23513, 0, ")"], - [23514, 0, " "], - [23515, 0, "["], - [23516, 0, "r"], - [23517, 0, "e"], - [23518, 0, "c"], - [23519, 0, "t"], - [23520, 0, "a"], - [23521, 0, "n"], - [23522, 0, "g"], - [23523, 0, "l"], - [23524, 0, "e"], - [23525, 0, ","], - [23526, 0, "d"], - [23527, 0, "r"], - [23528, 0, "a"], - [23529, 0, "w"], - [23530, 0, "]"], - [23531, 0, " "], - [23532, 0, "{"], - [23533, 0, "\\"], - [23534, 0, "{"], - [23535, 0, "`"], - [23536, 0, "`"], - [23537, 0, "t"], - [23538, 0, "o"], - [23539, 0, "d"], - [23540, 0, "o"], - [23541, 0, "'"], - [23542, 0, "'"], - [23543, 0, ":"], - [23544, 0, " "], - [23545, 0, "["], - [23546, 0, "\\"], - [23547, 0, "{"], - [23548, 0, "`"], - [23549, 0, "`"], - [23550, 0, "t"], - [23551, 0, "i"], - [23552, 0, "t"], - [23553, 0, "l"], - [23554, 0, "e"], - [23555, 0, "'"], - [23556, 0, "'"], - [23557, 0, ":"], - [23558, 0, " "], - [23559, 0, "`"], - [23560, 0, "`"], - [23561, 0, "b"], - [23562, 0, "u"], - [23563, 0, "y"], - [23564, 0, " "], - [23565, 0, "m"], - [23566, 0, "i"], - [23567, 0, "l"], - [23568, 0, "k"], - [23569, 0, "'"], - [23570, 0, "'"], - [23571, 0, ","], - [23572, 0, " "], - [23573, 0, "`"], - [23574, 0, "`"], - [23575, 0, "d"], - [23576, 0, "o"], - [23577, 0, "n"], - [23578, 0, "e"], - [23579, 0, "'"], - [23580, 0, "'"], - [23581, 0, ":"], - [23582, 0, " "], - [23583, 0, "f"], - [23584, 0, "a"], - [23585, 0, "l"], - [23586, 0, "s"], - [23587, 0, "e"], - [23588, 0, "\\"], - [23589, 0, "}"], - [23590, 0, "]"], - [23591, 0, "\\"], - [23592, 0, "}"], - [23593, 0, "]"], - [23593, 1], - [23593, 0, "}"], - [23594, 0, "'"], - [23594, 1], - [23594, 0, ";"], - [23941, 1], - [23940, 1], - [23939, 1], - [23938, 1], - [23937, 1], - [23937, 0, "l"], - [23938, 0, "e"], - [23939, 0, "f"], - [23940, 0, "t"], - [23941, 0, "0"], - [24026, 1], - [24025, 1], - [24024, 1], - [24023, 1], - [24022, 1], - [24022, 0, "r"], - [24023, 0, "i"], - [24024, 0, "g"], - [24025, 0, "h"], - [24026, 0, "t"], - [24027, 0, "0"], - [24029, 1], - [23391, 0, " "], - [23392, 0, "["], - [23393, 0, "m"], - [23394, 0, "a"], - [23395, 0, "t"], - [23396, 0, "r"], - [23397, 0, "i"], - [23398, 0, "x"], - [23399, 0, "]"], - [23505, 0, " "], - [23506, 0, "["], - [23507, 0, "m"], - [23508, 0, "a"], - [23509, 0, "t"], - [23510, 0, "r"], - [23511, 0, "i"], - [23512, 0, "x"], - [23513, 0, "]"], - [23408, 1], - [23436, 0, "\n"], - [23437, 0, " "], - [23438, 0, " "], - [23439, 0, " "], - [23440, 0, " "], - [23441, 0, "\\"], - [23442, 0, "n"], - [23443, 0, "o"], - [23444, 0, "d"], - [23445, 0, "e"], - [23446, 0, " "], - [23447, 0, "{"], - [23487, 0, "}"], - [23488, 0, ";"], - [23489, 0, " "], - [23490, 0, "\\"], - [23491, 0, "\\"], - [23492, 0, "\n"], - [23493, 0, " "], - [23494, 0, " "], - [23495, 0, " "], - [23496, 0, " "], - [23497, 0, "\\"], - [23498, 0, "\\"], - [23499, 0, "n"], - [23500, 0, "o"], - [23501, 0, "d"], - [23501, 1], - [23500, 1], - [23499, 1], - [23498, 1], - [23498, 0, "n"], - [23499, 0, "o"], - [23500, 0, "d"], - [23501, 0, "e"], - [23502, 0, " "], - [23503, 0, "{"], - [23504, 1], - [23526, 0, " "], - [23527, 0, "\\"], - [23528, 0, "\\"], - [23529, 0, "\n"], - [23530, 0, "}"], - [23531, 0, ";"], - [23584, 0, "\n"], - [23585, 0, " "], - [23586, 0, " "], - [23587, 0, " "], - [23588, 0, " "], - [23589, 0, "\\"], - [23590, 0, "n"], - [23591, 0, "o"], - [23592, 0, "d"], - [23593, 0, "e"], - [23594, 0, " "], - [23595, 0, "{"], - [23635, 0, "}"], - [23636, 0, ";"], - [23637, 0, " "], - [23638, 0, "\\"], - [23639, 0, "\\"], - [23640, 0, "\n"], - [23641, 0, " "], - [23642, 0, " "], - [23644, 0, " "], - [23645, 0, "\\"], - [23646, 0, "n"], - [23647, 0, "o"], - [23648, 0, "d"], - [23649, 0, "e"], - [23650, 0, " "], - [23651, 0, "{"], - [23674, 0, " "], - [23675, 0, "\\"], - [23676, 0, "\\"], - [23677, 0, "\n"], - [23678, 0, "}"], - [23679, 0, ";"], - [23563, 1], - [23563, 0, "5"], - [23415, 1], - [23415, 0, "5"], - [23763, 1], - [23763, 0, "3"], - [23702, 1], - [23702, 0, "3"], - [23563, 1], - [23563, 0, "6"], - [23415, 1], - [23415, 0, "6"], - [23747, 0, " "], - [23748, 0, "["], - [23749, 0, "m"], - [23750, 0, "a"], - [23751, 0, "t"], - [23752, 0, "r"], - [23753, 0, "i"], - [23754, 0, "x"], - [23755, 0, "]"], - [23793, 0, "\n"], - [23794, 0, " "], - [23795, 0, " "], - [23796, 0, " "], - [23797, 0, " "], - [23798, 0, "\\"], - [23799, 0, "n"], - [23800, 0, "o"], - [23801, 0, "d"], - [23802, 0, "e"], - [23803, 0, " "], - [23804, 0, "{"], - [23844, 1], - [23844, 0, "}"], - [23845, 0, ";"], - [23846, 0, " "], - [23847, 0, "\\"], - [23848, 0, "\\"], - [23849, 0, "\n"], - [23850, 0, " "], - [23851, 0, " "], - [23852, 0, " "], - [23853, 0, " "], - [23854, 0, "\\"], - [23855, 0, "n"], - [23856, 0, "o"], - [23857, 0, "d"], - [23858, 0, "e"], - [23859, 0, " "], - [23860, 0, "{"], - [23882, 0, " "], - [23883, 0, "\\"], - [23884, 0, "\\"], - [23885, 0, "\n"], - [23886, 0, "}"], - [23887, 0, ";"], - [23385, 0, "\n"], - [23386, 0, "\\"], - [23387, 0, "n"], - [23388, 0, "o"], - [23389, 0, "d"], - [23390, 0, "e"], - [23391, 0, " "], - [23392, 0, "("], - [23393, 0, "l"], - [23394, 0, "e"], - [23395, 0, "f"], - [23396, 0, "t"], - [23397, 0, "R"], - [23398, 0, ")"], - [23399, 0, " "], - [23400, 0, "a"], - [23401, 0, "t"], - [23402, 0, " "], - [23403, 0, "9"], - [23403, 1], - [23403, 0, "("], - [23404, 0, "0"], - [23405, 0, "."], - [23405, 1], - [23405, 0, ","], - [23406, 0, "8"], - [23407, 0, ")"], - [23408, 0, " "], - [23409, 0, "{"], - [23410, 0, "R"], - [23411, 0, "e"], - [23412, 0, "p"], - [23413, 0, "l"], - [23414, 0, "i"], - [23415, 0, "c"], - [23416, 0, "a"], - [23417, 0, " "], - [23418, 0, "$"], - [23419, 0, "p"], - [23420, 0, "$"], - [23421, 0, ":"], - [23422, 0, "}"], - [23423, 0, ";"], - [23424, 0, "\n"], - [23425, 0, "\\"], - [23426, 0, "n"], - [23427, 0, "o"], - [23428, 0, "d"], - [23429, 0, "e"], - [23430, 0, " "], - [23431, 0, "("], - [23432, 0, "r"], - [23433, 0, "i"], - [23434, 0, "g"], - [23435, 0, "h"], - [23436, 0, "t"], - [23437, 0, "R"], - [23438, 0, ")"], - [23439, 0, " "], - [23400, 0, " "], - [23441, 0, "a"], - [23442, 0, "t"], - [23443, 0, " "], - [23444, 0, "("], - [23445, 0, "8"], - [23446, 0, ","], - [23447, 0, "8"], - [23448, 0, ")"], - [23449, 0, " "], - [23450, 0, "{"], - [23451, 0, "R"], - [23452, 0, "e"], - [23453, 0, "p"], - [23454, 0, "l"], - [23455, 0, "i"], - [23456, 0, "c"], - [23457, 0, "a"], - [23458, 0, " "], - [23459, 0, "$"], - [23460, 0, "q"], - [23461, 0, "$"], - [23462, 0, ":"], - [23463, 0, "}"], - [23464, 0, ";"], - [23447, 1], - [23447, 0, "7"], - [23448, 0, "."], - [23449, 0, "5"], - [23407, 1], - [23407, 0, "7"], - [23408, 0, "."], - [23409, 0, "5"], - [23469, 0, "\n"], - [23470, 0, "\\"], - [23470, 1], - [23469, 1], - [23385, 0, "\n"], - [23386, 0, "\\"], - [23387, 0, "p"], - [23388, 0, "a"], - [23389, 0, "t"], - [23390, 0, "h"], - [23391, 0, " "], - [23392, 0, "["], - [23393, 0, "d"], - [23394, 0, "r"], - [23395, 0, "a"], - [23396, 0, "w"], - [23397, 0, ","], - [23398, 0, "d"], - [23399, 0, "o"], - [23400, 0, "t"], - [23401, 0, "t"], - [23402, 0, "e"], - [23403, 0, "d"], - [23404, 0, "]"], - [23405, 0, " "], - [23406, 0, "("], - [23407, 0, "4"], - [23408, 0, ","], - [23409, 0, "-"], - [23410, 0, "0"], - [23411, 0, "."], - [23412, 0, "5"], - [23413, 0, ")"], - [23414, 0, " "], - [23415, 0, "-"], - [23416, 0, "-"], - [23417, 0, " "], - [23418, 0, "("], - [23419, 0, "4"], - [23420, 0, ","], - [23421, 0, "8"], - [23422, 0, ")"], - [23423, 0, ";"], - [24169, 0, "\n"], - [24170, 0, "\\"], - [24171, 0, "n"], - [24172, 0, "o"], - [24173, 0, "d"], - [24174, 0, "e"], - [24175, 0, " "], - [24176, 0, "("], - [24177, 0, "c"], - [24178, 0, "o"], - [24179, 0, "m"], - [24180, 0, "m"], - [24181, 0, "s"], - [24182, 0, ")"], - [24183, 0, " "], - [24184, 0, " "], - [24185, 0, "a"], - [24186, 0, "t"], - [24187, 0, " "], - [24188, 0, "("], - [24189, 0, "4"], - [24190, 0, ","], - [24191, 0, "1"], - [24192, 0, "."], - [24193, 0, "4"], - [24194, 0, ")"], - [24195, 0, " "], - [24196, 0, "["], - [24197, 0, "t"], - [24198, 0, "e"], - [24199, 0, "x"], - [24200, 0, "t"], - [24201, 0, "="], - [24202, 0, "b"], - [24203, 0, "l"], - [24204, 0, "u"], - [24205, 0, "e"], - [24206, 0, "]"], - [24207, 0, " "], - [24208, 0, "{"], - [24209, 0, "\\"], - [24210, 0, "f"], - [24211, 0, "o"], - [24212, 0, "o"], - [24213, 0, "t"], - [24214, 0, "n"], - [24215, 0, "o"], - [24216, 0, "t"], - [24217, 0, "e"], - [24218, 0, "s"], - [24219, 0, "i"], - [24220, 0, "z"], - [24221, 0, "e"], - [24222, 0, " "], - [24223, 0, "n"], - [24224, 0, "e"], - [24225, 0, "t"], - [24226, 0, "w"], - [24227, 0, "o"], - [24228, 0, "r"], - [24229, 0, "k"], - [24230, 0, " "], - [24231, 0, "c"], - [24232, 0, "o"], - [24233, 0, "m"], - [24234, 0, "m"], - [24235, 0, "u"], - [24236, 0, "n"], - [24237, 0, "i"], - [24238, 0, "c"], - [24239, 0, "a"], - [24240, 0, "t"], - [24241, 0, "i"], - [24242, 0, "o"], - [24243, 0, "n"], - [24244, 0, "}"], - [24245, 0, ";"], - [24193, 1], - [24193, 0, "6"], - [4966, 0, "i"], - [4968, 1], - [18031, 0, " "], - [18032, 0, "I"], - [18033, 0, "n"], - [18034, 0, " "], - [18035, 0, "t"], - [18036, 0, "h"], - [18037, 0, "e"], - [18038, 0, " "], - [18039, 0, "e"], - [18040, 0, "x"], - [18041, 0, "a"], - [18042, 0, "m"], - [18043, 0, "p"], - [18044, 0, "l"], - [18045, 0, "e"], - [18046, 0, " "], - [18047, 0, "t"], - [18048, 0, "h"], - [18049, 0, "e"], - [18050, 0, "r"], - [18051, 0, "e"], - [18052, 0, " "], - [18053, 0, "a"], - [18054, 0, "r"], - [18055, 0, "e"], - [18056, 0, " "], - [18057, 0, "t"], - [18058, 0, "w"], - [18059, 0, "o"], - [18060, 0, " "], - [18061, 0, "r"], - [18062, 0, "e"], - [18062, 1], - [18061, 1], - [18060, 1], - [18059, 1], - [18058, 1], - [18057, 1], - [18056, 1], - [18055, 1], - [18054, 1], - [18053, 1], - [18052, 1], - [18051, 1], - [18050, 1], - [18049, 1], - [18048, 1], - [18047, 1], - [18046, 1], - [18045, 1], - [18044, 1], - [18043, 1], - [18042, 1], - [18041, 1], - [18040, 1], - [18039, 1], - [18038, 1], - [18037, 1], - [18036, 1], - [18035, 1], - [18035, 0, "a"], - [18036, 0, "l"], - [18037, 0, "l"], - [18038, 0, " "], - [18039, 0, "e"], - [18040, 0, "x"], - [18041, 0, "a"], - [18042, 0, "m"], - [18043, 0, "p"], - [18044, 0, "l"], - [18045, 0, "e"], - [18046, 0, "s"], - [18047, 0, " "], - [18047, 1], - [18046, 1], - [18045, 1], - [18044, 1], - [18043, 1], - [18042, 1], - [18041, 1], - [18040, 1], - [18039, 1], - [18038, 1], - [18037, 1], - [18036, 1], - [18035, 1], - [18035, 0, "a"], - [18036, 0, "l"], - [18037, 0, " "], - [18038, 0, "o"], - [18039, 0, "u"], - [18040, 0, "r"], - [18040, 1], - [18039, 1], - [18038, 1], - [18037, 1], - [18037, 0, "l"], - [18038, 0, " "], - [18039, 0, "a"], - [18039, 1], - [18039, 0, "o"], - [18040, 0, "u"], - [18041, 0, "r"], - [18042, 0, " "], - [18043, 0, "e"], - [18044, 0, "x"], - [18045, 0, "a"], - [18046, 0, "m"], - [18047, 0, "p"], - [18048, 0, "l"], - [18049, 0, "e"], - [18050, 0, "s"], - [18051, 0, " "], - [18052, 0, "i"], - [18053, 0, "n"], - [18054, 0, "t"], - [18055, 0, "h"], - [18056, 0, "i"], - [18057, 0, "s"], - [18058, 0, " "], - [18058, 1], - [18057, 1], - [18056, 1], - [18055, 1], - [18054, 1], - [18054, 0, " "], - [18055, 0, "t"], - [18056, 0, "h"], - [18057, 0, "i"], - [18058, 0, "s"], - [18059, 0, " "], - [18060, 0, "p"], - [18061, 0, "a"], - [18062, 0, "p"], - [18063, 0, "e"], - [18064, 0, "r"], - [18065, 0, " "], - [18066, 0, "w"], - [18067, 0, "e"], - [18068, 0, " "], - [18069, 0, "a"], - [18070, 0, "s"], - [18071, 0, "s"], - [18072, 0, "u"], - [18073, 0, "m"], - [18074, 0, "e"], - [18075, 0, " "], - [18076, 0, "t"], - [18077, 0, "w"], - [18078, 0, "o"], - [18079, 0, " "], - [18080, 0, "d"], - [18081, 0, "e"], - [18082, 0, "v"], - [18083, 0, "i"], - [18084, 0, "c"], - [18085, 0, "e"], - [18086, 0, "s"], - [18086, 1], - [18085, 1], - [18084, 1], - [18083, 1], - [18082, 1], - [18081, 1], - [18080, 1], - [18080, 0, "c"], - [18081, 0, "o"], - [18082, 0, "m"], - [18083, 0, "p"], - [18084, 0, "t"], - [18085, 0, "u"], - [18085, 1], - [18084, 1], - [18084, 0, "u"], - [18085, 0, "t"], - [18086, 0, "e"], - [18087, 0, "r"], - [18088, 0, " "], - [18089, 0, "d"], - [18089, 1], - [18088, 1], - [18087, 1], - [18086, 1], - [18086, 0, "i"], - [18087, 0, "n"], - [18088, 0, "g"], - [18089, 0, " "], - [18090, 0, "d"], - [18091, 0, "e"], - [18092, 0, "v"], - [18093, 0, "i"], - [18094, 0, "c"], - [18095, 0, "e"], - [18096, 0, "s"], - [18097, 0, " "], - [18098, 0, "l"], - [18099, 0, "a"], - [18100, 0, "b"], - [18101, 0, "e"], - [18102, 0, "l"], - [18103, 0, "l"], - [18104, 0, "e"], - [18105, 0, "d"], - [18106, 0, " "], - [18107, 0, "a"], - [18108, 0, "s"], - [18109, 0, " "], - [18110, 0, "r"], - [18111, 0, "e"], - [18112, 0, "p"], - [18113, 0, "l"], - [18114, 0, "i"], - [18115, 0, "c"], - [18116, 0, "a"], - [18117, 0, "'"], - [18118, 0, "s"], - [18119, 0, " "], - [18120, 0, "$"], - [18121, 0, "p"], - [18122, 0, "$"], - [18123, 0, " "], - [18124, 0, "a"], - [18125, 0, "n"], - [18126, 0, "d"], - [18127, 0, " "], - [18128, 0, "$"], - [18129, 0, "q"], - [18130, 0, "$"], - [18131, 0, "."], - [18064, 1], - [18063, 1], - [18062, 1], - [18061, 1], - [18060, 1], - [18060, 0, "s"], - [18061, 0, "e"], - [18062, 0, "c"], - [18063, 0, "t"], - [18064, 0, "i"], - [18065, 0, "o"], - [18066, 0, "n"], - [18066, 1], - [18065, 1], - [18064, 1], - [18063, 1], - [18062, 1], - [18061, 1], - [18060, 1], - [18059, 1], - [18058, 1], - [18057, 1], - [18056, 1], - [18055, 1], - [18054, 1], - [18053, 1], - [18052, 1], - [18051, 1], - [18117, 1], - [18116, 1], - [18115, 1], - [18114, 1], - [18113, 1], - [18112, 1], - [18111, 1], - [18110, 1], - [18109, 1], - [18108, 1], - [18107, 1], - [18106, 1], - [18105, 1], - [18104, 1], - [18103, 1], - [18102, 1], - [18101, 1], - [18100, 1], - [18099, 1], - [18098, 1], - [18097, 1], - [18096, 1], - [18095, 1], - [18094, 1], - [18093, 1], - [18092, 1], - [18091, 1], - [18090, 1], - [18089, 1], - [18088, 1], - [18087, 1], - [18086, 1], - [18085, 1], - [18084, 1], - [18083, 1], - [18082, 1], - [18081, 1], - [18080, 1], - [18079, 1], - [18078, 1], - [18077, 1], - [18076, 1], - [18075, 1], - [18074, 1], - [18073, 1], - [18072, 1], - [18071, 1], - [18070, 1], - [18069, 1], - [18068, 1], - [18067, 1], - [18066, 1], - [18065, 1], - [18064, 1], - [18063, 1], - [18062, 1], - [18061, 1], - [18060, 1], - [18059, 1], - [18058, 1], - [18057, 1], - [18056, 1], - [18055, 1], - [18054, 1], - [18053, 1], - [18052, 1], - [18051, 1], - [18050, 1], - [18049, 1], - [18048, 1], - [18047, 1], - [18046, 1], - [18045, 1], - [18044, 1], - [18043, 1], - [18042, 1], - [18041, 1], - [18040, 1], - [18039, 1], - [18038, 1], - [18037, 1], - [18036, 1], - [18035, 1], - [18034, 1], - [18033, 1], - [18032, 1], - [18031, 1], - [17966, 0, " "], - [17966, 1], - [17966, 0, " "], - [17967, 0, "I"], - [17968, 0, "n"], - [17969, 0, " "], - [17970, 0, "a"], - [17971, 0, "l"], - [17972, 0, "l"], - [17973, 0, " "], - [17974, 0, "e"], - [17975, 0, "x"], - [17976, 0, "a"], - [17977, 0, "m"], - [17978, 0, "p"], - [17979, 0, "l"], - [17980, 0, "e"], - [17981, 0, "s"], - [17982, 0, " "], - [17983, 0, "w"], - [17984, 0, "e"], - [17985, 0, " "], - [17986, 0, "a"], - [17987, 0, "s"], - [17988, 0, "s"], - [17989, 0, "u"], - [17990, 0, "m"], - [17991, 0, "e"], - [17992, 0, " "], - [17993, 0, "t"], - [17994, 0, "w"], - [17995, 0, "o"], - [17996, 0, " "], - [17997, 0, "c"], - [17998, 0, "o"], - [17999, 0, "m"], - [18000, 0, "p"], - [18001, 0, "u"], - [18002, 0, "t"], - [18003, 0, "i"], - [18004, 0, "n"], - [18005, 0, "g"], - [18006, 0, " "], - [18007, 0, "d"], - [18008, 0, "e"], - [18009, 0, "v"], - [18010, 0, "i"], - [18011, 0, "c"], - [18012, 0, "e"], - [18013, 0, "s"], - [18014, 0, " "], - [18014, 1], - [18014, 0, ","], - [18015, 0, " "], - [18016, 0, "o"], - [18017, 0, "r"], - [18018, 0, " "], - [18019, 0, "'"], - [18019, 1], - [18019, 0, "\\"], - [18020, 0, "e"], - [18021, 0, "m"], - [18022, 0, "p"], - [18023, 0, "h"], - [18024, 0, "{"], - [18025, 0, "r"], - [18026, 0, "e"], - [18027, 0, "p"], - [18028, 0, "l"], - [18029, 0, "i"], - [18030, 0, "c"], - [18031, 0, "a"], - [18032, 0, "s"], - [18033, 0, "}"], - [18034, 0, " "], - [18035, 0, "w"], - [18036, 0, "i"], - [18037, 0, "t"], - [18038, 0, "h"], - [18039, 0, " "], - [18039, 1], - [18038, 1], - [18037, 1], - [18036, 1], - [18035, 1], - [18035, 0, "l"], - [18036, 0, "a"], - [18037, 0, "b"], - [18038, 0, "e"], - [18039, 0, "l"], - [18040, 0, "l"], - [18041, 0, "e"], - [18042, 0, "d"], - [18043, 0, " "], - [18044, 0, "a"], - [18045, 0, "s"], - [18046, 0, " "], - [18047, 0, "$"], - [18048, 0, "p"], - [18049, 0, "$"], - [18050, 0, " "], - [18051, 0, "a"], - [18052, 0, "n"], - [18053, 0, "d"], - [18053, 1], - [18052, 1], - [18051, 1], - [18051, 0, "("], - [18052, 0, "d"], - [18053, 0, "r"], - [18054, 0, "a"], - [18055, 0, "w"], - [18056, 0, "n"], - [18057, 0, " "], - [18058, 0, "o"], - [18059, 0, "n"], - [18060, 0, " "], - [18061, 0, "t"], - [18062, 0, "h"], - [18063, 0, "e"], - [18064, 0, " "], - [18065, 0, "l"], - [18066, 0, "e"], - [18067, 0, "f"], - [18068, 0, "t"], - [18069, 0, "-"], - [18070, 0, "h"], - [18071, 0, "a"], - [18072, 0, "n"], - [18073, 0, "d"], - [18074, 0, " "], - [18075, 0, "s"], - [18076, 0, "i"], - [18077, 0, "z"], - [18078, 0, "e"], - [18079, 0, ")"], - [18079, 1], - [18078, 1], - [18077, 1], - [18077, 0, "d"], - [18078, 0, "e"], - [18079, 0, ")"], - [18080, 0, " "], - [18081, 0, "a"], - [18082, 0, "n"], - [18083, 0, "d"], - [18084, 0, " "], - [18085, 0, "$"], - [18086, 0, "q"], - [18087, 0, "$"], - [18088, 0, " "], - [18089, 0, "("], - [18090, 0, "r"], - [18091, 0, "i"], - [18092, 0, "g"], - [18093, 0, "h"], - [18094, 0, "t"], - [18095, 0, "-"], - [18096, 0, "h"], - [18097, 0, "a"], - [18098, 0, "n"], - [18099, 0, "d"], - [18100, 0, " "], - [18101, 0, "s"], - [18102, 0, "i"], - [18103, 0, "z"], - [18104, 0, "e"], - [18104, 1], - [18103, 1], - [18102, 1], - [18102, 0, "d"], - [18103, 0, "e"], - [18103, 1], - [18102, 1], - [18102, 0, "i"], - [18103, 0, "d"], - [18104, 0, "e"], - [18105, 0, ")"], - [18106, 0, "."], - [18107, 0, " "], - [18108, 0, "R"], - [18109, 0, "e"], - [18110, 0, "p"], - [18111, 0, "l"], - [18112, 0, "i"], - [18113, 0, "c"], - [18114, 0, "a"], - [18115, 0, "s"], - [18116, 0, " "], - [18117, 0, "p"], - [18118, 0, "r"], - [18119, 0, "o"], - [18120, 0, "c"], - [18121, 0, "e"], - [18122, 0, "s"], - [18123, 0, "s"], - [18124, 0, " "], - [18125, 0, "d"], - [18126, 0, "a"], - [18127, 0, "t"], - [18128, 0, "a"], - [18129, 0, " "], - [18130, 0, "l"], - [18131, 0, "o"], - [18132, 0, "c"], - [18133, 0, "a"], - [18134, 0, "l"], - [18135, 0, "l"], - [18136, 0, "y"], - [18137, 0, " "], - [18137, 1], - [18136, 1], - [18135, 1], - [18134, 1], - [18133, 1], - [18132, 1], - [18131, 1], - [18130, 1], - [18129, 1], - [18128, 1], - [18127, 1], - [18126, 1], - [18125, 1], - [18124, 1], - [18123, 1], - [18122, 1], - [18121, 1], - [18120, 1], - [18119, 1], - [18118, 1], - [18117, 1], - [18117, 0, "m"], - [18118, 0, "u"], - [18119, 0, "t"], - [18120, 0, "a"], - [18121, 0, "t"], - [18122, 0, "e"], - [18123, 0, " "], - [18124, 0, "s"], - [18125, 0, "t"], - [18126, 0, "a"], - [18127, 0, "t"], - [18128, 0, "e"], - [18129, 0, " "], - [18130, 0, "l"], - [18131, 0, "o"], - [18132, 0, "c"], - [18133, 0, "a"], - [18134, 0, "l"], - [18135, 0, "l"], - [18136, 0, "y"], - [18136, 1], - [18135, 1], - [18134, 1], - [18134, 0, "l"], - [18135, 0, "l"], - [18136, 0, "y"], - [18137, 0, " "], - [18138, 0, "a"], - [18139, 0, "n"], - [18140, 0, "d"], - [18141, 0, " "], - [18141, 1], - [18140, 1], - [18139, 1], - [18138, 1], - [18138, 0, "c"], - [18139, 0, "h"], - [18140, 0, "o"], - [18141, 0, "o"], - [18142, 0, "s"], - [18143, 0, "e"], - [18144, 0, " "], - [18145, 0, "w"], - [18146, 0, "h"], - [18147, 0, "e"], - [18148, 0, "n"], - [18149, 0, " "], - [18150, 0, "t"], - [18151, 0, "o"], - [18152, 0, " "], - [18153, 0, "p"], - [18154, 0, "e"], - [18155, 0, "r"], - [18156, 0, "f"], - [18157, 0, "m"], - [18157, 1], - [18157, 0, "o"], - [18158, 0, "r"], - [18159, 0, "m"], - [18160, 0, " "], - [18161, 0, "n"], - [18162, 0, "e"], - [18163, 0, "t"], - [18164, 0, "w"], - [18165, 0, "o"], - [18166, 0, "r"], - [18167, 0, "k"], - [18168, 0, " "], - [18169, 0, "c"], - [18170, 0, "o"], - [18171, 0, "n"], - [18172, 0, "n"], - [18173, 0, "e"], - [18174, 0, "c"], - [18175, 0, "t"], - [18176, 0, "i"], - [18177, 0, "o"], - [18178, 0, "n"], - [18179, 0, " "], - [18180, 0, "w"], - [18181, 0, "i"], - [18182, 0, "t"], - [18183, 0, "h"], - [18184, 0, " "], - [18185, 0, "t"], - [18186, 0, "h"], - [18187, 0, "e"], - [18188, 0, "i"], - [18189, 0, "r"], - [18190, 0, " "], - [18191, 0, "p"], - [18192, 0, "i"], - [18193, 0, "e"], - [18193, 1], - [18192, 1], - [18192, 0, "e"], - [18193, 0, "e"], - [18194, 0, "r"], - [18195, 0, "s"], - [18107, 0, " "], - [18108, 0, "T"], - [18109, 0, "h"], - [18110, 0, "e"], - [18111, 0, " "], - [18112, 0, "c"], - [18113, 0, "h"], - [18114, 0, "o"], - [18115, 0, "i"], - [18116, 0, "c"], - [18117, 0, "e"], - [18118, 0, " "], - [18119, 0, "o"], - [18120, 0, "f"], - [18121, 0, " "], - [18122, 0, "t"], - [18123, 0, "w"], - [18124, 0, "o"], - [18125, 0, " "], - [18126, 0, "r"], - [18127, 0, "e"], - [18128, 0, "l"], - [18128, 1], - [18128, 0, "p"], - [18129, 0, "l"], - [18130, 0, "i"], - [18131, 0, "c"], - [18132, 0, "a"], - [18133, 0, "s"], - [18134, 0, " "], - [18135, 0, "i"], - [18136, 0, "s"], - [18137, 0, " "], - [18138, 0, "p"], - [18139, 0, "u"], - [18140, 0, "r"], - [18141, 0, "e"], - [18142, 0, "l"], - [18143, 0, "y"], - [18144, 0, " "], - [18145, 0, "f"], - [18146, 0, "o"], - [18147, 0, "r"], - [18148, 0, " "], - [18149, 0, "p"], - [18150, 0, "r"], - [18151, 0, "e"], - [18152, 0, "s"], - [18153, 0, "e"], - [18154, 0, "n"], - [18155, 0, "t"], - [18156, 0, "a"], - [18157, 0, "t"], - [18158, 0, "i"], - [18159, 0, "o"], - [18160, 0, "n"], - [18161, 0, "a"], - [18162, 0, "l"], - [18163, 0, " "], - [18164, 0, "p"], - [18165, 0, "u"], - [18166, 0, "r"], - [18167, 0, "p"], - [18168, 0, "o"], - [18169, 0, "s"], - [18170, 0, "e"], - [18171, 0, "s"], - [18172, 0, ","], - [18173, 0, " "], - [18174, 0, "o"], - [18175, 0, "u"], - [18176, 0, "r"], - [18177, 0, " "], - [18177, 1], - [18176, 1], - [18175, 1], - [18174, 1], - [18173, 1], - [18172, 1], - [18172, 0, " "], - [18173, 0, "a"], - [18174, 0, "n"], - [18175, 0, "d"], - [18176, 0, " "], - [18177, 0, "o"], - [18178, 0, "u"], - [18179, 0, "r"], - [18180, 0, " "], - [18181, 0, "a"], - [18182, 0, "l"], - [18183, 0, "g"], - [18184, 0, "o"], - [18185, 0, "r"], - [18186, 0, "i"], - [18187, 0, "t"], - [18188, 0, "h"], - [18189, 0, "m"], - [18190, 0, " "], - [18191, 0, "f"], - [18192, 0, "u"], - [18193, 0, "n"], - [18194, 0, "c"], - [18195, 0, "t"], - [18196, 0, "i"], - [18197, 0, "o"], - [18198, 0, "n"], - [18199, 0, "s"], - [18200, 0, " "], - [18201, 0, "f"], - [18202, 0, "o"], - [18203, 0, "r"], - [18203, 1], - [18202, 1], - [18201, 1], - [18200, 1], - [18199, 1], - [18198, 1], - [18197, 1], - [18196, 1], - [18195, 1], - [18194, 1], - [18193, 1], - [18192, 1], - [18191, 1], - [18191, 0, "w"], - [18192, 0, "o"], - [18193, 0, "r"], - [18194, 0, "k"], - [18195, 0, "s"], - [18196, 0, " "], - [18197, 0, "w"], - [18198, 0, "i"], - [18199, 0, "t"], - [18200, 0, "h"], - [18201, 0, " "], - [18202, 0, "a"], - [18203, 0, "n"], - [18204, 0, " "], - [18204, 1], - [18203, 1], - [18202, 1], - [18201, 1], - [18200, 1], - [18199, 1], - [18198, 1], - [18197, 1], - [18196, 1], - [18195, 1], - [18194, 1], - [18193, 1], - [18192, 1], - [18191, 1], - [18190, 1], - [18189, 1], - [18188, 1], - [18187, 1], - [18186, 1], - [18185, 1], - [18184, 1], - [18183, 1], - [18182, 1], - [18181, 1], - [18180, 1], - [18179, 1], - [18178, 1], - [18177, 1], - [18176, 1], - [18175, 1], - [18174, 1], - [18173, 1], - [18172, 1], - [18171, 1], - [18170, 1], - [18169, 1], - [18168, 1], - [18167, 1], - [18166, 1], - [18165, 1], - [18164, 1], - [18163, 1], - [18162, 1], - [18161, 1], - [18160, 1], - [18159, 1], - [18158, 1], - [18157, 1], - [18156, 1], - [18155, 1], - [18154, 1], - [18153, 1], - [18152, 1], - [18151, 1], - [18150, 1], - [18149, 1], - [18148, 1], - [18147, 1], - [18146, 1], - [18145, 1], - [18144, 1], - [18143, 1], - [18142, 1], - [18141, 1], - [18140, 1], - [18139, 1], - [18138, 1], - [18137, 1], - [18136, 1], - [18135, 1], - [18134, 1], - [18133, 1], - [18132, 1], - [18131, 1], - [18130, 1], - [18129, 1], - [18128, 1], - [18127, 1], - [18126, 1], - [18125, 1], - [18124, 1], - [18123, 1], - [18122, 1], - [18121, 1], - [18120, 1], - [18119, 1], - [18118, 1], - [18117, 1], - [18116, 1], - [18115, 1], - [18114, 1], - [18113, 1], - [18112, 1], - [18111, 1], - [18110, 1], - [18109, 1], - [18108, 1], - [18107, 1], - [18095, 1], - [18069, 1], - [18135, 0, " "], - [18136, 0, "a"], - [18137, 0, "n"], - [18138, 0, "d"], - [18139, 0, " "], - [18140, 0, "c"], - [18141, 0, "a"], - [18142, 0, "n"], - [18202, 0, " "], - [18203, 0, "i"], - [18204, 0, "n"], - [18205, 0, " "], - [18206, 0, "o"], - [18207, 0, "r"], - [18208, 0, "d"], - [18209, 0, "e"], - [18210, 0, "r"], - [18211, 0, " "], - [18212, 0, "t"], - [18213, 0, "o"], - [18214, 0, " "], - [18215, 0, "s"], - [18216, 0, "h"], - [18217, 0, "a"], - [18218, 0, "r"], - [18219, 0, "e"], - [18220, 0, " "], - [18221, 0, "a"], - [18222, 0, "n"], - [18223, 0, "y"], - [18224, 0, " "], - [18024, 1], - [18023, 1], - [18022, 1], - [18021, 1], - [18020, 1], - [18019, 1], - [18018, 1], - [18017, 1], - [18016, 1], - [18015, 1], - [18014, 1], - [18013, 1], - [18012, 1], - [18011, 1], - [18010, 1], - [18009, 1], - [18008, 1], - [18007, 1], - [18006, 1], - [18005, 1], - [18004, 1], - [18003, 1], - [18002, 1], - [18001, 1], - [18000, 1], - [17999, 1], - [17998, 1], - [17997, 1], - [17996, 1], - [17995, 1], - [17994, 1], - [17993, 1], - [18001, 1], - [17993, 0, "t"], - [17994, 0, "w"], - [17995, 0, "o"], - [17996, 0, " "], - [18005, 0, ","], - [18017, 1], - [18016, 1], - [18015, 1], - [18193, 1], - [18192, 1], - [18191, 1], - [18190, 1], - [18189, 1], - [18188, 1], - [18187, 1], - [18186, 1], - [18185, 1], - [18184, 1], - [18183, 1], - [18182, 1], - [18181, 1], - [18180, 1], - [18179, 1], - [18178, 1], - [18177, 1], - [18176, 1], - [18175, 1], - [18174, 1], - [18173, 1], - [18172, 1], - [18171, 1], - [18170, 1], - [18169, 1], - [18168, 1], - [18167, 1], - [18166, 1], - [18165, 1], - [18164, 1], - [18163, 1], - [18162, 1], - [18161, 1], - [18160, 1], - [18159, 1], - [18158, 1], - [18157, 1], - [18156, 1], - [18155, 1], - [18154, 1], - [18153, 1], - [18152, 1], - [18151, 1], - [18150, 1], - [18149, 1], - [18148, 1], - [18147, 1], - [18146, 1], - [18145, 1], - [18144, 1], - [18143, 1], - [18142, 1], - [18141, 1], - [18140, 1], - [18139, 1], - [18138, 1], - [18137, 1], - [18136, 1], - [18135, 1], - [18134, 1], - [18133, 1], - [18132, 1], - [18131, 1], - [18130, 1], - [18129, 1], - [18128, 1], - [18127, 1], - [18126, 1], - [18125, 1], - [18124, 1], - [18123, 1], - [18122, 1], - [18121, 1], - [18120, 1], - [18119, 1], - [18118, 1], - [18117, 1], - [18116, 1], - [18115, 1], - [18114, 1], - [18113, 1], - [18112, 1], - [18111, 1], - [18110, 1], - [18109, 1], - [18108, 1], - [18107, 1], - [18106, 1], - [18105, 1], - [18104, 1], - [18103, 1], - [18102, 1], - [18101, 1], - [18100, 1], - [18099, 1], - [18098, 1], - [18097, 1], - [18096, 1], - [18095, 1], - [18094, 1], - [18094, 0, "t"], - [18095, 0, "e"], - [18096, 0, " "], - [18097, 0, "l"], - [18098, 0, "o"], - [18099, 0, "c"], - [18100, 0, "a"], - [18101, 0, "l"], - [18102, 0, "l"], - [18103, 0, "y"], - [18104, 0, " "], - [18105, 0, "a"], - [18106, 0, "n"], - [18107, 0, "d"], - [18108, 0, " "], - [18109, 0, "n"], - [18110, 0, "e"], - [18111, 0, "t"], - [18112, 0, "o"], - [18112, 1], - [18112, 0, "w"], - [18113, 0, "o"], - [18114, 0, "r"], - [18115, 0, "k"], - [18116, 0, " "], - [18116, 1], - [18115, 1], - [18114, 1], - [18113, 1], - [18112, 1], - [18111, 1], - [18110, 1], - [18109, 1], - [18108, 1], - [18107, 1], - [18106, 1], - [18105, 1], - [18104, 1], - [18103, 1], - [18102, 1], - [18101, 1], - [18100, 1], - [18099, 1], - [18098, 1], - [18097, 1], - [18097, 0, "o"], - [18098, 0, "n"], - [18099, 0, " "], - [18100, 0, "t"], - [18101, 0, "h"], - [18102, 0, "e"], - [18103, 0, "i"], - [18104, 0, "r"], - [18105, 0, " "], - [18106, 0, "l"], - [18107, 0, "o"], - [18108, 0, "c"], - [18109, 0, "a"], - [18110, 0, "l"], - [18111, 0, " "], - [18111, 1], - [18110, 1], - [18109, 1], - [18108, 1], - [18107, 1], - [18106, 1], - [18105, 1], - [18104, 1], - [18103, 1], - [18102, 1], - [18101, 1], - [18100, 1], - [18099, 1], - [18098, 1], - [18097, 1], - [18096, 1], - [18095, 1], - [18094, 1], - [18093, 1], - [18092, 1], - [18091, 1], - [18090, 1], - [18089, 1], - [18088, 1], - [18087, 1], - [18086, 1], - [18085, 1], - [18084, 1], - [18083, 1], - [18082, 1], - [18081, 1], - [18080, 1], - [18079, 1], - [18078, 1], - [18077, 1], - [18076, 1], - [18075, 1], - [18075, 0, "S"], - [18076, 0, "i"], - [18077, 0, "n"], - [18078, 0, "c"], - [18079, 0, "e"], - [18080, 0, " "], - [18081, 0, "r"], - [18082, 0, "e"], - [18083, 0, "p"], - [18084, 0, "l"], - [18085, 0, "i"], - [18086, 0, "c"], - [18087, 0, "a"], - [18088, 0, "s"], - [18089, 0, " "], - [18090, 0, "m"], - [18091, 0, "u"], - [18092, 0, "t"], - [18093, 0, "a"], - [18094, 0, "t"], - [18095, 0, "e"], - [18096, 0, " "], - [18097, 0, "t"], - [18098, 0, "e"], - [18098, 1], - [18098, 0, "h"], - [18099, 0, "e"], - [18100, 0, "i"], - [18101, 0, "r"], - [18102, 0, " "], - [18103, 0, "l"], - [18104, 0, "o"], - [18105, 0, "c"], - [18106, 0, "a"], - [18107, 0, "l"], - [18108, 0, " "], - [18109, 0, "s"], - [18110, 0, "t"], - [18111, 0, "a"], - [18112, 0, "t"], - [18113, 0, "e"], - [18113, 1], - [18112, 1], - [18111, 1], - [18110, 1], - [18109, 1], - [18108, 1], - [18107, 1], - [18106, 1], - [18105, 1], - [18104, 1], - [18103, 1], - [18102, 1], - [18101, 1], - [18100, 1], - [18099, 1], - [18098, 1], - [18097, 1], - [18097, 0, "o"], - [18098, 0, "n"], - [18099, 0, "l"], - [18100, 0, "y"], - [18101, 0, " "], - [18102, 0, "t"], - [18103, 0, "h"], - [18104, 0, "e"], - [18105, 0, "i"], - [18106, 0, "r"], - [18107, 0, " "], - [18108, 0, "l"], - [18109, 0, "o"], - [18110, 0, "c"], - [18111, 0, "a"], - [18112, 0, "l"], - [18113, 0, " "], - [18114, 0, "s"], - [18115, 0, "t"], - [18116, 0, "a"], - [18117, 0, "t"], - [18118, 0, "e"], - [18119, 0, ","], - [18120, 0, " "], - [18121, 0, "e"], - [18122, 0, "n"], - [18122, 1], - [18121, 1], - [18121, 0, "n"], - [18122, 0, "e"], - [18123, 0, "t"], - [18124, 0, "w"], - [18125, 0, "o"], - [18126, 0, "r"], - [18127, 0, "k"], - [18128, 0, " "], - [18128, 1], - [18127, 1], - [18126, 1], - [18125, 1], - [18124, 1], - [18123, 1], - [18122, 1], - [18121, 1], - [18121, 0, "p"], - [18122, 0, "e"], - [18123, 0, "r"], - [18124, 0, "i"], - [18125, 0, "o"], - [18126, 0, "d"], - [18127, 0, "s"], - [18128, 0, " "], - [18129, 0, "o"], - [18130, 0, "d"], - [18131, 0, " "], - [18131, 1], - [18130, 1], - [18130, 0, "f"], - [18131, 0, " "], - [18132, 0, "n"], - [18133, 0, "e"], - [18134, 0, "t"], - [18135, 0, "w"], - [18136, 0, "o"], - [18137, 0, "r"], - [18138, 0, "k"], - [18139, 0, " "], - [18140, 0, "c"], - [18141, 0, "o"], - [18142, 0, "m"], - [18143, 0, "m"], - [18144, 0, "u"], - [18145, 0, "n"], - [18146, 0, "i"], - [18147, 0, "c"], - [18148, 0, "a"], - [18149, 0, "t"], - [18150, 0, "i"], - [18151, 0, "o"], - [18152, 0, "n"], - [18153, 0, " "], - [18154, 0, "a"], - [18155, 0, "r"], - [18155, 1], - [18154, 1], - [18154, 0, "b"], - [18154, 1], - [18153, 1], - [18153, 0, ","], - [18154, 0, " "], - [18155, 0, "w"], - [18156, 0, "h"], - [18157, 0, "e"], - [18158, 0, "n"], - [18159, 0, " "], - [18160, 0, "c"], - [18161, 0, "h"], - [18162, 0, "a"], - [18163, 0, "n"], - [18164, 0, "g"], - [18165, 0, "e"], - [18166, 0, "s"], - [18167, 0, " "], - [18168, 0, "p"], - [18169, 0, "r"], - [18170, 0, "o"], - [18171, 0, "p"], - [18172, 0, "e"], - [18172, 1], - [18172, 0, "a"], - [18173, 0, "g"], - [18174, 0, "e"], - [18174, 1], - [18173, 1], - [18173, 0, "g"], - [18174, 0, "a"], - [18175, 0, "t"], - [18176, 0, "e"], - [18177, 0, " "], - [18178, 0, "b"], - [18179, 0, "e"], - [18180, 0, "t"], - [18181, 0, "w"], - [18182, 0, "e"], - [18183, 0, "e"], - [18184, 0, "n"], - [18185, 0, " "], - [18186, 0, "r"], - [18187, 0, "e"], - [18188, 0, "p"], - [18189, 0, "l"], - [18190, 0, "i"], - [18191, 0, "c"], - [18192, 0, "a"], - [18193, 0, "s"], - [18194, 0, ","], - [18195, 0, " "], - [18196, 0, "a"], - [18197, 0, "r"], - [18198, 0, "e"], - [18199, 0, " "], - [18200, 0, "s"], - [18201, 0, "h"], - [18202, 0, "o"], - [18203, 0, "w"], - [18204, 0, "n"], - [18205, 0, " "], - [18206, 0, "s"], - [18207, 0, "e"], - [18208, 0, "p"], - [18209, 0, "a"], - [18210, 0, "r"], - [18211, 0, "a"], - [18212, 0, "t"], - [18213, 0, "e"], - [18214, 0, "l"], - [18215, 0, "y"], - [18216, 0, " "], - [18217, 0, "o"], - [18218, 0, "n"], - [18219, 0, " "], - [18220, 0, "t"], - [18221, 0, "h"], - [18222, 0, "e"], - [18223, 0, " "], - [18223, 1], - [18222, 1], - [18221, 1], - [18220, 1], - [18219, 1], - [18218, 1], - [18217, 1], - [18217, 0, "i"], - [18218, 0, "n"], - [18219, 0, " "], - [18220, 0, "t"], - [18221, 0, "h"], - [18222, 0, "e"], - [18223, 0, " "], - [18224, 0, "e"], - [18225, 0, "x"], - [18226, 0, "a"], - [18227, 0, "m"], - [18228, 0, "p"], - [18229, 0, "l"], - [18230, 0, "e"], - [18231, 0, "s"], - [18232, 0, "."], - [18073, 1], - [18073, 0, ","], - [18074, 0, " "], - [18075, 0, "w"], - [18076, 0, "i"], - [18077, 0, "t"], - [18078, 0, "h"], - [18079, 0, " "], - [18080, 0, "s"], - [18081, 0, "t"], - [18082, 0, "a"], - [18083, 0, "t"], - [18084, 0, "e"], - [18085, 0, "s"], - [18086, 0, " "], - [18087, 0, "d"], - [18088, 0, "r"], - [18089, 0, "a"], - [18090, 0, "w"], - [18091, 0, "n"], - [18092, 0, " "], - [18092, 1], - [18091, 1], - [18090, 1], - [18089, 1], - [18088, 1], - [18087, 1], - [18086, 1], - [18085, 1], - [18084, 1], - [18083, 1], - [18082, 1], - [18081, 1], - [18080, 1], - [18080, 0, "l"], - [18081, 0, "o"], - [18082, 0, "c"], - [18083, 0, "a"], - [18084, 0, "l"], - [18085, 0, " "], - [18086, 0, "s"], - [18087, 0, "t"], - [18088, 0, "a"], - [18089, 0, "t"], - [18090, 0, "e"], - [18091, 0, " "], - [18092, 0, "d"], - [18092, 1], - [18091, 1], - [18091, 0, " "], - [18092, 0, "d"], - [18093, 0, "r"], - [18094, 0, "a"], - [18095, 0, "w"], - [18096, 0, "n"], - [18097, 0, " "], - [18098, 0, "i"], - [18099, 0, "n"], - [18100, 0, " "], - [18101, 0, "b"], - [18102, 0, "o"], - [18103, 0, "x"], - [18104, 0, "e"], - [18105, 0, "d"], - [18105, 1], - [18105, 0, "s"], - [18106, 0, " "], - [18107, 0, "a"], - [18108, 0, "n"], - [18109, 0, "d"], - [18110, 0, " "], - [18111, 0, "m"], - [18112, 0, "o"], - [18113, 0, "d"], - [18114, 0, "i"], - [18115, 0, "f"], - [18116, 0, "i"], - [18117, 0, "c"], - [18118, 0, "a"], - [18119, 0, "t"], - [18120, 0, "i"], - [18121, 0, "o"], - [18122, 0, "n"], - [18123, 0, "s"], - [18124, 0, " "], - [18125, 0, "s"], - [18126, 0, "h"], - [18127, 0, "o"], - [18128, 0, "w"], - [18129, 0, "n"], - [18130, 0, " "], - [18131, 0, "w"], - [18132, 0, "i"], - [18133, 0, "t"], - [18134, 0, "h"], - [18135, 0, " "], - [18136, 0, "l"], - [18137, 0, "a"], - [18138, 0, "b"], - [18139, 0, "e"], - [18140, 0, "l"], - [18141, 0, "l"], - [18142, 0, "e"], - [18143, 0, "d"], - [18144, 0, " "], - [18145, 0, "s"], - [18146, 0, "l"], - [18147, 0, "o"], - [18147, 1], - [18146, 1], - [18146, 0, "o"], - [18147, 0, "l"], - [18148, 0, "i"], - [18149, 0, "d"], - [18150, 0, " "], - [18151, 0, "a"], - [18152, 0, "r"], - [18153, 0, "r"], - [18154, 0, "o"], - [18155, 0, "w"], - [18156, 0, "s"], - [18157, 0, " "], - [18158, 0, "a"], - [18159, 0, "n"], - [18160, 0, "d"], - [18161, 0, " "], - [18162, 0, "t"], - [18163, 0, "i"], - [18164, 0, "m"], - [18165, 0, "e"], - [18166, 0, " "], - [18167, 0, "r"], - [18168, 0, "u"], - [18169, 0, "n"], - [18170, 0, "n"], - [18171, 0, "i"], - [18172, 0, "n"], - [18173, 0, "g"], - [18174, 0, " "], - [18175, 0, "d"], - [18176, 0, "o"], - [18177, 0, "w"], - [18178, 0, "n"], - [18179, 0, " "], - [18180, 0, "t"], - [18181, 0, "h"], - [18182, 0, "e"], - [18183, 0, " "], - [18184, 0, "a"], - [18185, 0, "p"], - [18186, 0, "g"], - [18187, 0, "e"], - [18188, 0, "."], - [18188, 1], - [18187, 1], - [18186, 1], - [18185, 1], - [18184, 1], - [18184, 0, "p"], - [18185, 0, "a"], - [18186, 0, "g"], - [18187, 0, "e"], - [18188, 0, "."], - [18222, 1], - [18221, 1], - [18220, 1], - [18219, 1], - [18218, 1], - [18217, 1], - [18216, 1], - [18215, 1], - [18214, 1], - [18213, 1], - [18212, 1], - [18211, 1], - [18211, 0, " "], - [18205, 0, "o"], - [18206, 0, "n"], - [18207, 0, "l"], - [18208, 0, "y"], - [18209, 0, " "], - [18228, 1], - [18228, 0, ","], - [18229, 0, " "], - [18125, 0, "t"], - [18126, 0, "o"], - [18127, 0, " "], - [18128, 0, "l"], - [18129, 0, "o"], - [18130, 0, "c"], - [18131, 0, "a"], - [18132, 0, "l"], - [18133, 0, " "], - [18134, 0, "s"], - [18135, 0, "t"], - [18136, 0, "a"], - [18137, 0, "t"], - [18138, 0, " "], - [18138, 1], - [18138, 0, "e"], - [18139, 0, " "], - [18175, 1], - [18174, 1], - [18173, 1], - [18172, 1], - [18172, 0, ";"], - [18185, 1], - [18184, 1], - [18183, 1], - [18182, 1], - [18182, 0, "s"], - [18238, 0, " "], - [18239, 0, "c"], - [18240, 0, "o"], - [18241, 0, "m"], - [18242, 0, "m"], - [18243, 0, "u"], - [18244, 0, "n"], - [18245, 0, "i"], - [18246, 0, "c"], - [18247, 0, "a"], - [18248, 0, "t"], - [18249, 0, "i"], - [18250, 0, "o"], - [18251, 0, "n"], - [18252, 0, " "], - [18253, 0, "o"], - [18254, 0, "f"], - [18255, 0, " "], - [18256, 0, "t"], - [18257, 0, "h"], - [18258, 0, "e"], - [18259, 0, "s"], - [18260, 0, "e"], - [18261, 0, " "], - [18262, 0, "c"], - [18263, 0, "h"], - [18264, 0, "a"], - [18265, 0, "n"], - [18266, 0, "g"], - [18267, 0, "e"], - [18268, 0, "s"], - [18269, 0, " "], - [18270, 0, "i"], - [18271, 0, "s"], - [18272, 0, " "], - [18078, 1], - [18077, 1], - [18076, 1], - [18075, 1], - [18074, 1], - [18073, 1], - [18073, 0, "."], - [18074, 0, " "], - [18077, 1], - [18076, 1], - [18075, 1], - [18075, 0, "L"], - [18076, 0, "o"], - [18087, 0, "f"], - [18088, 0, "o"], - [18089, 0, "r"], - [18090, 0, " "], - [18091, 0, "a"], - [18092, 0, " "], - [18093, 0, "r"], - [18094, 0, "e"], - [18095, 0, "p"], - [18096, 0, "l"], - [18097, 0, "i"], - [18098, 0, "c"], - [18099, 0, "a"], - [18100, 0, " "], - [18101, 0, "i"], - [18102, 0, "s"], - [18103, 0, " "], - [18285, 0, "e"], - [18286, 0, "x"], - [18287, 0, "m"], - [18288, 0, "p"], - [18289, 0, "l"], - [18289, 1], - [18288, 1], - [18287, 1], - [18287, 0, "p"], - [18288, 0, "i"], - [18289, 0, "c"], - [18290, 0, "i"], - [18291, 0, "t"], - [18291, 1], - [18290, 1], - [18289, 1], - [18288, 1], - [18287, 1], - [18287, 0, "p"], - [18288, 0, "l"], - [18289, 0, "i"], - [18290, 0, "c"], - [18291, 0, "i"], - [18292, 0, "t"], - [18293, 0, " "], - [18294, 0, "i"], - [18295, 0, "n"], - [18296, 0, " "], - [18297, 0, "o"], - [18298, 0, "u"], - [18299, 0, "r"], - [18300, 0, " "], - [18301, 0, "m"], - [18302, 0, "o"], - [18303, 0, "d"], - [18304, 0, "e"], - [18305, 0, "l"], - [18306, 0, " "], - [18307, 0, "a"], - [18308, 0, "n"], - [18309, 0, "d"], - [18310, 0, " "], - [18311, 0, "i"], - [18312, 0, "s"], - [18313, 0, " "], - [18314, 0, "s"], - [18315, 0, "h"], - [18316, 0, "o"], - [18317, 0, "w"], - [18318, 0, "n"], - [18319, 0, " "], - [18320, 0, "w"], - [18321, 0, "i"], - [18322, 0, "t"], - [18323, 0, "h"], - [18324, 0, " "], - [18324, 1], - [18323, 1], - [18322, 1], - [18321, 1], - [18320, 1], - [18319, 1], - [18318, 1], - [18317, 1], - [18316, 1], - [18315, 1], - [18314, 1], - [18314, 0, "d"], - [18315, 0, "e"], - [18316, 0, "p"], - [18317, 0, "i"], - [18318, 0, "c"], - [18319, 0, "t"], - [18320, 0, "e"], - [18321, 0, "d"], - [18322, 0, " "], - [18323, 0, "w"], - [18324, 0, "i"], - [18325, 0, "t"], - [18326, 0, "h"], - [18327, 0, " "], - [18328, 0, "d"], - [18329, 0, "a"], - [18330, 0, "s"], - [18331, 0, "h"], - [18332, 0, "e"], - [18333, 0, "d"], - [18334, 0, " "], - [18335, 0, "a"], - [18336, 0, "r"], - [18337, 0, "r"], - [18338, 0, "o"], - [18339, 0, "w"], - [18340, 0, "s"], - [18341, 0, "."], - [18342, 0, "\n"], - [18343, 0, "\n"], - [18457, 1], - [18456, 1], - [18455, 1], - [18454, 1], - [18453, 1], - [18452, 1], - [18451, 1], - [18450, 1], - [18449, 1], - [18448, 1], - [18447, 1], - [18446, 1], - [18445, 1], - [18444, 1], - [18443, 1], - [18442, 1], - [18441, 1], - [18440, 1], - [18439, 1], - [18438, 1], - [18437, 1], - [18436, 1], - [18435, 1], - [18434, 1], - [18433, 1], - [18432, 1], - [18431, 1], - [18430, 1], - [18429, 1], - [18428, 1], - [18427, 1], - [18426, 1], - [18425, 1], - [18424, 1], - [18423, 1], - [18422, 1], - [18421, 1], - [18420, 1], - [18419, 1], - [18418, 1], - [18417, 1], - [18416, 1], - [18415, 1], - [18414, 1], - [18413, 1], - [18412, 1], - [18411, 1], - [18410, 1], - [18409, 1], - [18408, 1], - [18407, 1], - [18406, 1], - [18405, 1], - [18404, 1], - [18403, 1], - [18402, 1], - [18401, 1], - [18400, 1], - [18399, 1], - [18398, 1], - [18397, 1], - [18396, 1], - [18395, 1], - [18394, 1], - [18393, 1], - [18392, 1], - [18391, 1], - [18390, 1], - [18389, 1], - [18388, 1], - [18387, 1], - [18386, 1], - [18385, 1], - [18384, 1], - [18383, 1], - [18382, 1], - [18381, 1], - [18380, 1], - [18379, 1], - [18378, 1], - [18377, 1], - [18376, 1], - [18375, 1], - [18374, 1], - [18373, 1], - [18372, 1], - [18371, 1], - [18370, 1], - [18369, 1], - [18368, 1], - [18367, 1], - [18366, 1], - [18365, 1], - [18364, 1], - [18363, 1], - [18362, 1], - [18361, 1], - [18360, 1], - [18359, 1], - [18358, 1], - [18357, 1], - [18356, 1], - [18355, 1], - [18354, 1], - [18353, 1], - [18352, 1], - [18351, 1], - [18350, 1], - [18349, 1], - [18348, 1], - [18347, 1], - [18346, 1], - [18345, 1], - [18344, 1], - [18343, 1], - [18342, 1], - [18272, 1], - [18271, 1], - [18279, 0, " "], - [18280, 0, "t"], - [18281, 0, "o"], - [18282, 0, " "], - [18283, 0, "l"], - [18284, 0, "o"], - [18285, 0, "c"], - [18286, 0, "a"], - [18287, 0, "l"], - [18288, 0, " "], - [18289, 0, "s"], - [18290, 0, "t"], - [18291, 0, "a"], - [18292, 0, "t"], - [18293, 0, "e"], - [18294, 0, " "], - [18295, 0, "b"], - [18296, 0, "e"], - [18297, 0, "t"], - [18298, 0, "w"], - [18299, 0, "e"], - [18299, 1], - [18298, 1], - [18297, 1], - [18296, 1], - [18295, 1], - [18294, 1], - [18293, 1], - [18293, 0, "e"], - [18264, 0, " "], - [18265, 0, "b"], - [18266, 0, "e"], - [18267, 0, "t"], - [18268, 0, "w"], - [18269, 0, "e"], - [18270, 0, "e"], - [18271, 0, "n"], - [18272, 0, " "], - [18273, 0, "r"], - [18274, 0, "e"], - [18275, 0, "p"], - [18276, 0, "l"], - [18277, 0, "i"], - [18278, 0, "c"], - [18279, 0, "a"], - [18280, 0, "s"], - [18643, 0, " "], - [18644, 0, "v"], - [18645, 0, "i"], - [18646, 0, "a"], - [18647, 0, " "], - [18648, 0, "n"], - [18649, 0, "e"], - [18650, 0, "t"], - [18651, 0, "w"], - [18652, 0, "o"], - [18653, 0, "r"], - [18654, 0, "k"], - [18655, 0, " "], - [18656, 0, "c"], - [18657, 0, "o"], - [18658, 0, "m"], - [18659, 0, "m"], - [18660, 0, "u"], - [18661, 0, "n"], - [18662, 0, "i"], - [18663, 0, "c"], - [18664, 0, "a"], - [18665, 0, "t"], - [18666, 0, "i"], - [18667, 0, "o"], - [18668, 0, "n"], - [19213, 0, " "], - [19214, 0, "t"], - [19215, 0, "h"], - [19216, 0, "e"], - [19217, 0, " "], - [19218, 0, "d"], - [19219, 0, "e"], - [19220, 0, "v"], - [19221, 0, "e"], - [19222, 0, "l"], - [19223, 0, "o"], - [19224, 0, "p"], - [19225, 0, "e"], - [19226, 0, "r"], - [19227, 0, " "], - [19228, 0, "i"], - [19229, 0, "n"], - [19230, 0, " "], - [19231, 0, "a"], - [19232, 0, "u"], - [19233, 0, "t"], - [19234, 0, "o"], - [19235, 0, "m"], - [19236, 0, "a"], - [19237, 0, "t"], - [19238, 0, "i"], - [19239, 0, "c"], - [19240, 0, "a"], - [19241, 0, "l"], - [19242, 0, "l"], - [19243, 0, "y"], - [19244, 0, " "], - [19245, 0, "r"], - [19246, 0, "e"], - [19247, 0, "s"], - [19248, 0, "o"], - [19249, 0, "l"], - [19250, 0, "v"], - [19251, 0, "i"], - [19252, 0, "n"], - [19253, 0, "g"], - [19254, 0, " "], - [19255, 0, "s"], - [19256, 0, "u"], - [19257, 0, "c"], - [19258, 0, "h"], - [19259, 0, " "], - [19260, 0, "c"], - [19261, 0, "o"], - [19262, 0, "n"], - [19263, 0, "f"], - [19264, 0, "i"], - [19265, 0, "c"], - [19265, 1], - [19264, 1], - [19264, 0, "l"], - [19265, 0, "i"], - [19266, 0, "c"], - [19267, 0, "s"], - [19268, 0, "t"], - [19268, 1], - [19267, 1], - [19267, 0, "t"], - [19268, 0, "s"], - [19269, 0, " "], - [19270, 0, "o"], - [19271, 0, "r"], - [19272, 0, " "], - [19273, 0, "p"], - [19274, 0, "t"], - [19275, 0, "e"], - [19276, 0, "n"], - [19276, 1], - [19275, 1], - [19274, 1], - [19274, 0, "o"], - [19275, 0, "t"], - [19276, 0, "e"], - [19277, 0, "n"], - [19278, 0, "t"], - [19279, 0, "i"], - [19280, 0, "a"], - [19281, 0, "l"], - [19282, 0, "l"], - [19283, 0, "y"], - [19284, 0, " "], - [19285, 0, "d"], - [19286, 0, "e"], - [19287, 0, "f"], - [19288, 0, "e"], - [19289, 0, "r"], - [19290, 0, "i"], - [19291, 0, "n"], - [19292, 0, "g"], - [19293, 0, " "], - [19294, 0, "t"], - [19295, 0, "o"], - [19306, 1], - [19305, 1], - [19304, 1], - [19303, 1], - [19303, 0, "f"], - [19304, 0, "o"], - [19305, 0, "r"], - [19313, 0, " "], - [19314, 0, "r"], - [19315, 0, "e"], - [19316, 0, "o"], - [19317, 0, "l"], - [19317, 1], - [19316, 1], - [19316, 0, "s"], - [19317, 0, "o"], - [19318, 0, "l"], - [19319, 0, "i"], - [19319, 1], - [19319, 0, "u"], - [19320, 0, "t"], - [19321, 0, "i"], - [19322, 0, "o"], - [19323, 0, "n"], - [19324, 0, "."], - [19325, 0, "\n"], - [19351, 1], - [19350, 1], - [19349, 1], - [19348, 1], - [19347, 1], - [19346, 1], - [19345, 1], - [19344, 1], - [19343, 1], - [19342, 1], - [19341, 1], - [19340, 1], - [19339, 1], - [19338, 1], - [19337, 1], - [19336, 1], - [19335, 1], - [19334, 1], - [19333, 1], - [19332, 1], - [19331, 1], - [19330, 1], - [19329, 1], - [19328, 1], - [19327, 1], - [19326, 1], - [19325, 1], - [19269, 0, " "], - [19270, 0, "i"], - [19271, 0, "n"], - [19272, 0, " "], - [19273, 0, "a"], - [19274, 0, "n"], - [19275, 0, " "], - [19276, 0, "a"], - [19277, 0, "p"], - [19278, 0, "p"], - [19279, 0, "l"], - [19280, 0, "i"], - [19281, 0, "c"], - [19282, 0, "a"], - [19283, 0, "t"], - [19284, 0, "i"], - [19285, 0, "o"], - [19286, 0, "n"], - [19287, 0, "-"], - [19288, 0, "s"], - [19289, 0, "p"], - [19290, 0, "e"], - [19291, 0, "c"], - [19292, 0, "i"], - [19293, 0, "f"], - [19294, 0, "i"], - [19295, 0, "c"], - [19296, 0, " "], - [19297, 0, "w"], - [19298, 0, "a"], - [19299, 0, "y"], - [19300, 0, ","], - [19315, 1], - [19314, 1], - [19313, 1], - [19312, 1], - [19311, 1], - [19310, 1], - [19309, 1], - [19308, 1], - [19307, 1], - [19306, 1], - [19305, 1], - [19304, 1], - [19309, 0, "r"], - [18504, 1], - [18503, 1], - [18502, 1], - [18501, 1], - [18509, 0, " "], - [18510, 0, "$"], - [18511, 0, "p"], - [18512, 0, "$"], - [18567, 1], - [18566, 1], - [18565, 1], - [18564, 1], - [18563, 1], - [18562, 1], - [18561, 1], - [18561, 0, "r"], - [18562, 0, "e"], - [18563, 0, "p"], - [18564, 0, "l"], - [18565, 0, "i"], - [18566, 0, "c"], - [18567, 0, "a"], - [18568, 0, " "], - [18569, 0, "$"], - [18570, 0, "q"], - [18571, 0, "$"], - [18250, 0, " "], - [18251, 0, "w"], - [18252, 0, "e"], - [18253, 0, " "], - [18254, 0, "m"], - [18255, 0, "a"], - [18256, 0, "k"], - [18257, 0, "e"], - [18273, 0, "o"], - [18274, 0, "f"], - [18275, 0, " "], - [18276, 0, "s"], - [18277, 0, "t"], - [18278, 0, "a"], - [18279, 0, "t"], - [18280, 0, "e"], - [18281, 0, " "], - [18282, 0, "c"], - [18283, 0, "a"], - [18284, 0, "h"], - [18284, 1], - [18283, 1], - [18283, 0, "h"], - [18284, 0, "a"], - [18285, 0, "n"], - [18286, 0, "g"], - [18287, 0, "e"], - [18288, 0, "s"], - [18289, 0, " "], - [18338, 1], - [18337, 1], - [18336, 1], - [18335, 1], - [18334, 1], - [18333, 1], - [18332, 1], - [18331, 1], - [18330, 1], - [18329, 1], - [18328, 1], - [18327, 1], - [18326, 1], - [18325, 1], - [18324, 1], - [18323, 1], - [18322, 1], - [18321, 1], - [18320, 1], - [18319, 1], - [18318, 1], - [18317, 1], - [18316, 1], - [18315, 1], - [18314, 1], - [18313, 1], - [18312, 1], - [18311, 1], - [18310, 1], - [18309, 1], - [18308, 1], - [18307, 1], - [18306, 1], - [18328, 0, "."], - [18332, 1], - [18331, 1], - [18330, 1], - [18330, 0, "T"], - [18331, 0, "h"], - [18332, 0, "i"], - [18333, 0, "s"], - [18333, 1], - [18332, 1], - [18331, 1], - [18330, 1], - [18330, 0, "N"], - [18331, 0, "e"], - [18332, 0, "t"], - [18333, 0, "o"], - [18333, 1], - [18333, 0, "w"], - [18334, 0, "o"], - [18335, 0, "r"], - [18336, 0, "k"], - [18337, 0, " "], - [18338, 0, "c"], - [18339, 0, "o"], - [18340, 0, "m"], - [18341, 0, "m"], - [18342, 0, "u"], - [18343, 0, "n"], - [18344, 0, "i"], - [18345, 0, "c"], - [18346, 0, "a"], - [18347, 0, "t"], - [18348, 0, "i"], - [18349, 0, "o"], - [18350, 0, "n"], - [17792, 1], - [17791, 1], - [17799, 0, " "], - [17800, 0, "\\"], - [17801, 0, "{"], - [17802, 0, "`"], - [17803, 0, "`"], - [17804, 0, "k"], - [17805, 0, "e"], - [17806, 0, "y"], - [17807, 0, "'"], - [17808, 0, "'"], - [17809, 0, ":"], - [17810, 0, " "], - [17811, 0, "`"], - [17812, 0, "`"], - [17813, 0, "A"], - [17814, 0, "'"], - [17815, 0, "'"], - [17816, 0, "\\"], - [17817, 0, "}"], - [17817, 1], - [17816, 1], - [17815, 1], - [17814, 1], - [17813, 1], - [17812, 1], - [17811, 1], - [17810, 1], - [17809, 1], - [17808, 1], - [17807, 1], - [17806, 1], - [17805, 1], - [17804, 1], - [17803, 1], - [17802, 1], - [17801, 1], - [17800, 1], - [17800, 0, "a"], - [17801, 0, "t"], - [17802, 0, " "], - [17802, 1], - [17801, 1], - [17800, 1], - [17799, 1], - [17798, 1], - [17797, 1], - [17796, 1], - [17795, 1], - [17794, 1], - [17793, 1], - [17792, 1], - [17791, 1], - [17791, 0, "t"], - [17792, 0, "h"], - [17793, 0, "e"], - [17794, 0, " "], - [17795, 0, "r"], - [17796, 0, "e"], - [17797, 0, "g"], - [17798, 0, "i"], - [17799, 0, "s"], - [17800, 0, "t"], - [17801, 0, "e"], - [17802, 0, "r"], - [17803, 0, " "], - [17804, 0, "a"], - [17805, 0, "t"], - [17806, 0, " "], - [17807, 0, "d"], - [17808, 0, "o"], - [17809, 0, "c"], - [17810, 0, "["], - [17811, 0, "`"], - [17812, 0, "`"], - [17813, 0, "k"], - [17814, 0, "e"], - [17815, 0, "y"], - [17816, 0, "'"], - [17817, 0, "'"], - [17818, 0, "]"], - [17819, 0, " "], - [17820, 0, "b"], - [17821, 0, "y"], - [17822, 0, " "], - [17823, 0, "r"], - [17824, 0, "e"], - [17825, 0, "g"], - [17826, 0, "i"], - [17827, 0, "s"], - [17828, 0, "t"], - [17829, 0, "e"], - [17830, 0, "r"], - [17830, 1], - [17829, 1], - [17828, 1], - [17827, 1], - [17826, 1], - [17825, 1], - [17825, 0, "p"], - [17826, 0, "l"], - [17827, 0, "i"], - [17828, 0, "c"], - [17829, 0, "a"], - [17830, 0, "s"], - [17831, 0, " "], - [17832, 0, "$"], - [17833, 0, "p"], - [17834, 0, "$"], - [17835, 0, " "], - [17836, 0, "a"], - [17837, 0, "n"], - [17838, 0, "d"], - [17839, 0, " "], - [17840, 0, "$"], - [17841, 0, "q"], - [17842, 0, "$"], - [15776, 0, "i"], - [15776, 1], - [15776, 0, " "], - [15777, 0, "F"], - [15778, 0, "o"], - [15779, 0, "r"], - [15780, 0, " "], - [15781, 0, "e"], - [15782, 0, "x"], - [15783, 0, "a"], - [15784, 0, "m"], - [15785, 0, "p"], - [15786, 0, "l"], - [15787, 0, "e"], - [15788, 0, ","], - [15789, 0, " "], - [15790, 0, "c"], - [15791, 0, "o"], - [15792, 0, "n"], - [15793, 0, "c"], - [15794, 0, "u"], - [15795, 0, "r"], - [15796, 0, "r"], - [15797, 0, "e"], - [15798, 0, "n"], - [15799, 0, "t"], - [15800, 0, " "], - [15801, 0, "e"], - [15802, 0, "d"], - [15803, 0, "i"], - [15804, 0, "t"], - [15805, 0, " "], - [15805, 1], - [15805, 0, "s"], - [15806, 0, " "], - [15807, 0, "t"], - [15808, 0, "o"], - [15809, 0, " "], - [15810, 0, "a"], - [15811, 0, " "], - [15812, 0, "p"], - [15813, 0, "a"], - [15814, 0, "s"], - [15815, 0, "s"], - [15816, 0, "w"], - [15817, 0, "o"], - [15818, 0, "r"], - [15819, 0, "d"], - [15820, 0, " "], - [15821, 0, "m"], - [15822, 0, "a"], - [15823, 0, "n"], - [15824, 0, "a"], - [15825, 0, "g"], - [15826, 0, "e"], - [15827, 0, " "], - [15827, 1], - [15827, 0, "r"], - [15828, 0, " "], - [15829, 0, "o"], - [15830, 0, "n"], - [15831, 0, " "], - [15832, 0, "t"], - [15833, 0, "w"], - [15834, 0, "o"], - [15835, 0, " "], - [15836, 0, "d"], - [15837, 0, "e"], - [15838, 0, "v"], - [15839, 0, "i"], - [15840, 0, "c"], - [15841, 0, "e"], - [15842, 0, "s"], - [15842, 1], - [15841, 1], - [15840, 1], - [15839, 1], - [15838, 1], - [15837, 1], - [15836, 1], - [15835, 1], - [15834, 1], - [15833, 1], - [15832, 1], - [15831, 1], - [15830, 1], - [15829, 1], - [15828, 1], - [15827, 1], - [15826, 1], - [15825, 1], - [15824, 1], - [15823, 1], - [15822, 1], - [15821, 1], - [15820, 1], - [15819, 1], - [15818, 1], - [15817, 1], - [15816, 1], - [15815, 1], - [15814, 1], - [15813, 1], - [15812, 1], - [15811, 1], - [15810, 1], - [15809, 1], - [15808, 1], - [15807, 1], - [15806, 1], - [15805, 1], - [15804, 1], - [15803, 1], - [15802, 1], - [15801, 1], - [15800, 1], - [15799, 1], - [15798, 1], - [15797, 1], - [15796, 1], - [15795, 1], - [15794, 1], - [15793, 1], - [15792, 1], - [15791, 1], - [15790, 1], - [15789, 1], - [15788, 1], - [15787, 1], - [15786, 1], - [15785, 1], - [15784, 1], - [15783, 1], - [15782, 1], - [15781, 1], - [15780, 1], - [15779, 1], - [15778, 1], - [15777, 1], - [15776, 1], - [26009, 1], - [26008, 1], - [26007, 1], - [26006, 1], - [26005, 1], - [26004, 1], - [26003, 1], - [26002, 1], - [26001, 1], - [26184, 0, " "], - [26185, 0, "W"], - [26186, 0, "e"], - [26187, 0, " "], - [26188, 0, "l"], - [26189, 0, "e"], - [26190, 0, "a"], - [26191, 0, "v"], - [26192, 0, "e"], - [26193, 0, " "], - [26194, 0, "t"], - [26195, 0, "e"], - [26195, 1], - [26195, 0, "h"], - [26196, 0, "e"], - [26197, 0, " "], - [26198, 0, "d"], - [26199, 0, "e"], - [26200, 0, "s"], - [26201, 0, "i"], - [26202, 0, "g"], - [26203, 0, "n"], - [26204, 0, " "], - [26205, 0, "o"], - [26206, 0, "f"], - [26207, 0, " "], - [26208, 0, "a"], - [26208, 1], - [26208, 0, "s"], - [26209, 0, "u"], - [26210, 0, "c"], - [26211, 0, "h"], - [26212, 0, " "], - [26213, 0, "a"], - [26214, 0, " "], - [26215, 0, "a"], - [26216, 0, "s"], - [26217, 0, "c"], - [26218, 0, "h"], - [26219, 0, "e"], - [26220, 0, "m"], - [26220, 1], - [26219, 1], - [26218, 1], - [26217, 1], - [26216, 1], - [26215, 1], - [26215, 0, "s"], - [26216, 0, "c"], - [26217, 0, "h"], - [26218, 0, "e"], - [26219, 0, "m"], - [26220, 0, "a"], - [26221, 0, " "], - [26222, 0, "l"], - [26223, 0, "a"], - [26224, 0, "n"], - [26225, 0, "a"], - [26226, 0, "g"], - [26227, 0, "u"], - [26227, 1], - [26226, 1], - [26225, 1], - [26225, 0, "g"], - [26226, 0, "u"], - [26227, 0, "a"], - [26228, 0, "g"], - [26229, 0, "e"], - [26230, 0, " "], - [26231, 0, "t"], - [26231, 1], - [26231, 0, "a"], - [26232, 0, "s"], - [26233, 0, " "], - [26234, 0, "f"], - [26235, 0, "u"], - [26236, 0, "t"], - [26237, 0, "u"], - [26238, 0, "r"], - [26239, 0, "e"], - [26240, 0, " "], - [26241, 0, "w"], - [26242, 0, "o"], - [26243, 0, "r"], - [26244, 0, "k"], - [26245, 0, "."], - [26197, 0, " "], - [26198, 0, "a"], - [26199, 0, "n"], - [26200, 0, "a"], - [26201, 0, "l"], - [26202, 0, "y"], - [26203, 0, "s"], - [26204, 0, "i"], - [26205, 0, "s"], - [26206, 0, " "], - [26207, 0, "o"], - [26208, 0, "f"], - [26209, 0, " "], - [26210, 0, "w"], - [26211, 0, "h"], - [26212, 0, "e"], - [26213, 0, "t"], - [26214, 0, "h"], - [26215, 0, "e"], - [26216, 0, "r"], - [26217, 0, " "], - [26218, 0, "e"], - [26219, 0, "x"], - [26220, 0, "["], - [26221, 0, "l"], - [26221, 1], - [26220, 1], - [26220, 0, "p"], - [26221, 0, "l"], - [26222, 0, "c"], - [26223, 0, "i"], - [26223, 1], - [26222, 1], - [26222, 0, "i"], - [26223, 0, "c"], - [26224, 0, "i"], - [26225, 0, "t"], - [26226, 0, " "], - [26226, 1], - [26225, 1], - [26224, 1], - [26223, 1], - [26222, 1], - [26221, 1], - [26220, 1], - [26219, 1], - [26218, 1], - [26217, 1], - [26216, 1], - [26215, 1], - [26214, 1], - [26213, 1], - [26212, 1], - [26211, 1], - [26210, 1], - [26209, 1], - [26208, 1], - [26207, 1], - [26207, 0, "a"], - [26208, 0, "n"], - [26209, 0, "d"], - [26210, 0, " "], - [26210, 1], - [26206, 0, " "], - [26207, 0, "o"], - [26208, 0, "f"], - [26209, 0, " "], - [26210, 0, "d"], - [26211, 0, "e"], - [26212, 0, "v"], - [26213, 0, "e"], - [26214, 0, "l"], - [26215, 0, "o"], - [26216, 0, "p"], - [26217, 0, "e"], - [26218, 0, "r"], - [26219, 0, " "], - [26220, 0, "e"], - [26221, 0, "x"], - [26222, 0, "p"], - [26223, 0, "e"], - [26224, 0, "c"], - [26225, 0, "t"], - [26226, 0, "a"], - [26227, 0, "t"], - [26228, 0, "i"], - [26229, 0, "o"], - [26230, 0, "n"], - [26235, 0, " "], - [26236, 0, "t"], - [26237, 0, "h"], - [26238, 0, "e"], - [26238, 1], - [26237, 1], - [26236, 1], - [26235, 1], - [26249, 1], - [26248, 1], - [26247, 1], - [26246, 1], - [26245, 1], - [26244, 1], - [26243, 1], - [26242, 1], - [26241, 1], - [26240, 1], - [26239, 1], - [26238, 1], - [26237, 1], - [26236, 1], - [26236, 0, "t"], - [26237, 0, "h"], - [26238, 0, "e"], - [26239, 0, " "], - [26240, 0, "n"], - [26241, 0, "e"], - [26242, 0, "e"], - [26243, 0, "d"], - [26244, 0, " "], - [26245, 0, "f"], - [26246, 0, "o"], - [26247, 0, "r"], - [26248, 0, " "], - [26249, 0, "s"], - [26250, 0, "u"], - [26251, 0, "c"], - [26252, 0, "h"], - [26231, 0, "s"], - [26245, 0, " "], - [26246, 0, "("], - [26247, 0, "o"], - [26248, 0, "r"], - [26249, 0, " "], - [26250, 0, "o"], - [26251, 0, "t"], - [26252, 0, "h"], - [26253, 0, "e"], - [26254, 0, "r"], - [26255, 0, "w"], - [26256, 0, "i"], - [26257, 0, "s"], - [26258, 0, "e"], - [26259, 0, ")"], - [26268, 1], - [26267, 1], - [26266, 1], - [26265, 1], - [26264, 1], - [26556, 1], - [26555, 1], - [26554, 1], - [26553, 1], - [26552, 1], - [26551, 1], - [26550, 1], - [26549, 1], - [26548, 1], - [26547, 1], - [26546, 1], - [26545, 1], - [26544, 1], - [26543, 1], - [26542, 1], - [26541, 1], - [26540, 1], - [26539, 1], - [26538, 1], - [26537, 1], - [26536, 1], - [26535, 1], - [26534, 1], - [26533, 1], - [26532, 1], - [26531, 1], - [26530, 1], - [26529, 1], - [26528, 1], - [26527, 1], - [26526, 1], - [26525, 1], - [26524, 1], - [26523, 1], - [26522, 1], - [26521, 1], - [26520, 1], - [26519, 1], - [26518, 1], - [26517, 1], - [26516, 1], - [26515, 1], - [26514, 1], - [26513, 1], - [26512, 1], - [26511, 1], - [26510, 1], - [26509, 1], - [26508, 1], - [26507, 1], - [26506, 1], - [26505, 1], - [26504, 1], - [26503, 1], - [26502, 1], - [26501, 1], - [26500, 1], - [26499, 1], - [26498, 1], - [26497, 1], - [26496, 1], - [26495, 1], - [26494, 1], - [26493, 1], - [26492, 1], - [26491, 1], - [26490, 1], - [26489, 1], - [26488, 1], - [26487, 1], - [26486, 1], - [26485, 1], - [26484, 1], - [26483, 1], - [26482, 1], - [26481, 1], - [26480, 1], - [26479, 1], - [26478, 1], - [26477, 1], - [26476, 1], - [26475, 1], - [26474, 1], - [26473, 1], - [26472, 1], - [26471, 1], - [26470, 1], - [26469, 1], - [26468, 1], - [26467, 1], - [26466, 1], - [26465, 1], - [26464, 1], - [26463, 1], - [26462, 1], - [26461, 1], - [26460, 1], - [26459, 1], - [26458, 1], - [26457, 1], - [26456, 1], - [26455, 1], - [26454, 1], - [26453, 1], - [26452, 1], - [26451, 1], - [26450, 1], - [26449, 1], - [26448, 1], - [26447, 1], - [26446, 1], - [26445, 1], - [26444, 1], - [26443, 1], - [26442, 1], - [26441, 1], - [26440, 1], - [26439, 1], - [26438, 1], - [26437, 1], - [26436, 1], - [26435, 1], - [26434, 1], - [26433, 1], - [26432, 1], - [26431, 1], - [26430, 1], - [26429, 1], - [26428, 1], - [26427, 1], - [26426, 1], - [26425, 1], - [26424, 1], - [26423, 1], - [26422, 1], - [26421, 1], - [26420, 1], - [26419, 1], - [26418, 1], - [26417, 1], - [26416, 1], - [26415, 1], - [26414, 1], - [26413, 1], - [26412, 1], - [26411, 1], - [26410, 1], - [26409, 1], - [26408, 1], - [26407, 1], - [26406, 1], - [26405, 1], - [26404, 1], - [26403, 1], - [26402, 1], - [26401, 1], - [26400, 1], - [26399, 1], - [26398, 1], - [26397, 1], - [26396, 1], - [26395, 1], - [26394, 1], - [26393, 1], - [26392, 1], - [26391, 1], - [26390, 1], - [26389, 1], - [26388, 1], - [26387, 1], - [26386, 1], - [26385, 1], - [26384, 1], - [26383, 1], - [26382, 1], - [26381, 1], - [26380, 1], - [26379, 1], - [26378, 1], - [26377, 1], - [26376, 1], - [26375, 1], - [26374, 1], - [26373, 1], - [26372, 1], - [26371, 1], - [26370, 1], - [26369, 1], - [26368, 1], - [26367, 1], - [26366, 1], - [26365, 1], - [26364, 1], - [26363, 1], - [26362, 1], - [26361, 1], - [26360, 1], - [26359, 1], - [26358, 1], - [26357, 1], - [26356, 1], - [26355, 1], - [26354, 1], - [26353, 1], - [26352, 1], - [26351, 1], - [26350, 1], - [26349, 1], - [26348, 1], - [26347, 1], - [26346, 1], - [26345, 1], - [26344, 1], - [26343, 1], - [26342, 1], - [26341, 1], - [26340, 1], - [26339, 1], - [26338, 1], - [26337, 1], - [26336, 1], - [26335, 1], - [26334, 1], - [26333, 1], - [26332, 1], - [26331, 1], - [26330, 1], - [26329, 1], - [26328, 1], - [26327, 1], - [26326, 1], - [26325, 1], - [26324, 1], - [26323, 1], - [26322, 1], - [26321, 1], - [26320, 1], - [26319, 1], - [26318, 1], - [26317, 1], - [26316, 1], - [26315, 1], - [26314, 1], - [26313, 1], - [26312, 1], - [26311, 1], - [26310, 1], - [26309, 1], - [26308, 1], - [26307, 1], - [26306, 1], - [26305, 1], - [26304, 1], - [26303, 1], - [26302, 1], - [26301, 1], - [26300, 1], - [26299, 1], - [26298, 1], - [28220, 1], - [28219, 1], - [28218, 1], - [28217, 1], - [28216, 1], - [28216, 0, "$"], - [28217, 0, "$"], - [28217, 0, "\\"], - [28218, 0, "m"], - [28219, 0, "a"], - [28220, 0, "t"], - [28221, 0, "h"], - [28222, 0, "t"], - [28223, 0, "t"], - [28224, 0, "{"], - [28225, 0, "k"], - [28226, 0, "e"], - [28227, 0, "y"], - [28228, 0, "}"], - [28214, 1], - [28213, 1], - [28212, 1], - [28211, 1], - [28210, 1], - [28209, 1], - [28209, 1], - [28210, 0, "["], - [28223, 0, "["], - [28226, 1], - [28225, 1], - [28223, 1], - [28223, 0, "]"], - [27859, 1], - [27858, 1], - [27858, 0, "t"], - [27859, 0, "t"], - [27926, 0, "\\"], - [27927, 0, "t"], - [27928, 0, "e"], - [27929, 0, "x"], - [27930, 0, "t"], - [27931, 0, "t"], - [27932, 0, "t"], - [27933, 0, "{"], - [27936, 0, "}"], - [27990, 0, "$"], - [27997, 1], - [27996, 1], - [27995, 1], - [27994, 1], - [27993, 1], - [27992, 1], - [27992, 0, "t"], - [27993, 0, "e"], - [27994, 0, "x"], - [27995, 0, "t"], - [27996, 0, "t"], - [27997, 0, "t"], - [28007, 0, "$"], - [28009, 0, "$"], - [28011, 1], - [27990, 1], - [27989, 1], - [27989, 0, "$"], - [27998, 0, "."], - [28060, 1], - [28060, 0, "$"], - [28067, 1], - [28066, 1], - [28065, 1], - [28064, 1], - [28063, 1], - [28062, 1], - [28062, 0, "t"], - [28063, 0, "e"], - [28064, 0, "x"], - [28065, 0, "t"], - [28066, 0, "t"], - [28067, 0, "t"], - [28069, 0, "."], - [28077, 1], - [28095, 1], - [28094, 1], - [28094, 0, "t"], - [28095, 0, "t"], - [28159, 1], - [28159, 0, "t"], - [28160, 1], - [28160, 0, "t"], - [28228, 1], - [28227, 1], - [28227, 0, "r"], - [28228, 0, "m"], - [28246, 1], - [28245, 1], - [28245, 0, "r"], - [28246, 0, "m"], - [28289, 1], - [28295, 1], - [28294, 1], - [28294, 0, "t"], - [28295, 0, "t"], - [28297, 0, "."], - [28328, 0, "."], - [28359, 0, "."], - [28326, 1], - [28325, 1], - [28325, 0, "t"], - [28326, 0, "t"], - [28357, 1], - [28357, 0, "t"], - [28358, 0, "t"], - [28358, 1], - [28357, 1], - [28356, 1], - [28356, 0, "t"], - [28357, 0, "t"], - [28388, 1], - [28387, 1], - [28387, 0, "t"], - [28388, 0, "t"], - [28319, 1], - [28349, 1], - [28379, 1], - [28457, 1], - [28456, 1], - [28455, 1], - [28454, 1], - [28453, 1], - [28452, 1], - [28451, 1], - [28450, 1], - [28449, 1], - [28448, 1], - [28447, 1], - [28446, 1], - [28445, 1], - [28444, 1], - [28444, 0, "&"], - [28445, 0, " "], - [28446, 0, "$"], - [28447, 0, "x"], - [28448, 0, "_"], - [28449, 0, "1"], - [28450, 0, "$"], - [28434, 1], - [28433, 1], - [28432, 1], - [28431, 1], - [28430, 1], - [28428, 1], - [28427, 1], - [28425, 1], - [28433, 1], - [28432, 1], - [28431, 1], - [28430, 1], - [28429, 1], - [28428, 1], - [28427, 1], - [28426, 1], - [28433, 1], - [28432, 1], - [28431, 1], - [28431, 0, "x"], - [28432, 0, " "], - [28433, 0, "\\"], - [28434, 0, "i"], - [28435, 0, "n"], - [28436, 0, " "], - [28437, 0, "\\"], - [28438, 0, "m"], - [28439, 0, "a"], - [28440, 0, "t"], - [28441, 0, "h"], - [28442, 0, "r"], - [28443, 0, "m"], - [28444, 0, "{"], - [28445, 0, "S"], - [28446, 0, "t"], - [28447, 0, "r"], - [28448, 0, "i"], - [28449, 0, "n"], - [28450, 0, "g"], - [28451, 0, "}"], - [28445, 0, "V"], - [28446, 0, "a"], - [28447, 0, "r"], - [28523, 1], - [28523, 0, "}"], - [28522, 1], - [28518, 1], - [28517, 1], - [28516, 1], - [28515, 1], - [28514, 1], - [28513, 1], - [28513, 0, "m"], - [28514, 0, "a"], - [28515, 0, "t"], - [28516, 0, "h"], - [28517, 0, "r"], - [28518, 0, "m"], - [28519, 0, "{"], - [28512, 0, "$"], - [28525, 0, "$"], - [28536, 1], - [28535, 1], - [28535, 0, "r"], - [28536, 0, "m"], - [28580, 1], - [28579, 1], - [28578, 1], - [28577, 1], - [28576, 1], - [28576, 0, "t"], - [28577, 0, "e"], - [28578, 0, "x"], - [28579, 0, "t"], - [28580, 0, "t"], - [28581, 0, "t"], - [28582, 0, "{"], - [28587, 1], - [28587, 0, "}"], - [28597, 1], - [28596, 1], - [28595, 1], - [28594, 1], - [28594, 0, "t"], - [28595, 0, "e"], - [28596, 0, "x"], - [28597, 0, "t"], - [28598, 0, "t"], - [28599, 0, "t"], - [28600, 1], - [28600, 0, "{"], - [28606, 1], - [28606, 0, "}"], - [28616, 1], - [28615, 1], - [28614, 1], - [28613, 1], - [28613, 0, "t"], - [28614, 0, "e"], - [28615, 0, "x"], - [28616, 0, "t"], - [28617, 0, "t"], - [28618, 0, "t"], - [28619, 1], - [28619, 0, "{"], - [28624, 1], - [28624, 0, "}"], - [27870, 0, "\\"], - [27871, 0, "t"], - [27872, 0, "e"], - [27873, 0, "x"], - [27874, 0, "t"], - [27875, 0, "t"], - [27876, 0, "t"], - [27877, 0, "{"], - [27879, 0, "}"], - [27934, 0, "$"], - [27948, 0, "$"], - [28016, 0, "("], - [28018, 1], - [28021, 0, "\\"], - [28022, 0, "t"], - [28023, 0, "e"], - [28024, 0, "x"], - [28025, 0, "t"], - [28026, 0, "t"], - [28027, 0, "t"], - [28028, 0, "{"], - [28030, 0, "}"], - [28240, 1], - [28240, 0, "\\"], - [28241, 0, "t"], - [28242, 0, "e"], - [28243, 0, "x"], - [28244, 0, "t"], - [28245, 0, "t"], - [28246, 0, "t"], - [28247, 0, "{"], - [28249, 0, "}"], - [28250, 0, "$"], - [28263, 0, "$"], - [28265, 1], - [28264, 0, "\\"], - [28265, 0, "t"], - [28266, 0, "e"], - [28267, 0, "t"], - [28267, 1], - [28267, 0, "x"], - [28268, 0, "t"], - [28269, 0, "t"], - [28270, 0, "t"], - [28271, 0, "{"], - [28273, 0, "}"], - [28425, 0, "."], - [28138, 0, "\\"], - [28139, 0, "t"], - [28140, 0, "x"], - [28141, 0, "t"], - [28141, 1], - [28140, 1], - [28140, 0, "e"], - [28141, 0, "x"], - [28142, 0, "t"], - [28143, 0, "t"], - [28144, 0, "t"], - [28145, 0, "{"], - [28147, 0, "}"], - [30614, 1], - [30613, 1], - [30613, 0, "t"], - [30614, 0, "t"], - [30727, 1], - [30726, 1], - [30726, 0, "t"], - [30727, 0, "t"], - [30858, 1], - [30857, 1], - [30856, 1], - [30855, 1], - [30854, 1], - [30854, 0, "t"], - [30855, 0, "e"], - [30856, 0, "x"], - [30857, 0, "t"], - [30858, 0, "t"], - [30859, 0, "t"], - [30860, 0, "{"], - [30862, 0, "}"], - [30863, 0, "$"], - [30864, 0, "l"], - [30864, 1], - [30864, 0, "m"], - [30864, 1], - [30864, 0, "\\"], - [30865, 0, "m"], - [30866, 0, "a"], - [30867, 0, "t"], - [30868, 0, "h"], - [30869, 0, "r"], - [30870, 0, "m"], - [30871, 0, "{"], - [30872, 1], - [30875, 1], - [30875, 0, "}"], - [30876, 0, "\\"], - [30877, 0, "t"], - [30878, 0, "e"], - [30879, 0, "x"], - [30880, 0, "t"], - [30881, 0, "t"], - [30882, 0, "t"], - [30883, 0, "{"], - [30885, 0, "}"], - [30886, 1], - [30876, 0, "$"], - [30922, 1], - [30921, 1], - [30921, 0, "t"], - [30922, 0, "t"], - [30978, 1], - [30977, 1], - [30977, 0, "t"], - [30978, 0, "t"], - [31111, 1], - [31110, 1], - [31110, 0, "t"], - [31111, 0, "t"], - [31187, 1], - [31186, 1], - [31186, 0, "t"], - [31187, 0, "t"], - [31261, 1], - [31260, 1], - [31260, 0, "t"], - [31261, 0, "t"], - [31390, 1], - [31389, 1], - [31389, 0, "t"], - [31390, 0, "t"], - [31437, 1], - [31436, 1], - [31436, 0, "t"], - [31437, 0, "t"], - [31569, 0, "\\"], - [31570, 0, "t"], - [31571, 0, "e"], - [31572, 0, "x"], - [31573, 0, "t"], - [31574, 0, "t"], - [31575, 0, "t"], - [31576, 0, "{"], - [31579, 0, "}"], - [31626, 1], - [31625, 1], - [31625, 0, "t"], - [31626, 0, "t"], - [31692, 1], - [31691, 1], - [31691, 0, "t"], - [31692, 0, "t"], - [31948, 1], - [31947, 1], - [31947, 0, "t"], - [31948, 0, "t"], - [31970, 1], - [31969, 1], - [31968, 1], - [31967, 1], - [31966, 1], - [31966, 0, "t"], - [31967, 0, "e"], - [31968, 0, "x"], - [31969, 0, "t"], - [31970, 0, "t"], - [31971, 0, "t"], - [31972, 0, "{"], - [31972, 1], - [31971, 1], - [31970, 1], - [31969, 1], - [31968, 1], - [31967, 1], - [31966, 1], - [31966, 0, "v"], - [31967, 0, "e"], - [31968, 0, "r"], - [31969, 0, "b"], - [31970, 0, "|"], - [32041, 1], - [32040, 1], - [32039, 1], - [32038, 1], - [32037, 1], - [32037, 0, "t"], - [32038, 0, "e"], - [32039, 0, "x"], - [32040, 0, "t"], - [32041, 0, "t"], - [32042, 0, "t"], - [32043, 0, "{"], - [32054, 1], - [32054, 0, "}"], - [32072, 1], - [32071, 1], - [32071, 0, "t"], - [32072, 0, "t"], - [32298, 1], - [32297, 1], - [32297, 0, "t"], - [32298, 0, "t"], - [32457, 1], - [32456, 1], - [32455, 1], - [32454, 1], - [32453, 1], - [32453, 0, "t"], - [32454, 0, "e"], - [32455, 0, "x"], - [32456, 0, "t"], - [32457, 0, "t"], - [32458, 0, "t"], - [32459, 0, "{"], - [32464, 1], - [32464, 0, "}"], - [32548, 1], - [32548, 0, "}"], - [32543, 1], - [32542, 1], - [32541, 1], - [32540, 1], - [32539, 1], - [32539, 0, "t"], - [32540, 0, "e"], - [32541, 0, "x"], - [32542, 0, "t"], - [32543, 0, "t"], - [32544, 0, "t"], - [32545, 0, "{"], - [32906, 1], - [32905, 1], - [32905, 0, "t"], - [32906, 0, "t"], - [30786, 1], - [30785, 1], - [30784, 1], - [30783, 1], - [30782, 1], - [30781, 1], - [30780, 1], - [30779, 1], - [30778, 1], - [30777, 1], - [30776, 1], - [30775, 1], - [30774, 1], - [30773, 1], - [30772, 1], - [30771, 1], - [30770, 1], - [30769, 1], - [30768, 1], - [30767, 1], - [30766, 1], - [30765, 1], - [30764, 1], - [30763, 1], - [30762, 1], - [30761, 1], - [30760, 1], - [30759, 1], - [30758, 1], - [30757, 1], - [30756, 1], - [30755, 1], - [30754, 1], - [30753, 1], - [30752, 1], - [30751, 1], - [30750, 1], - [30749, 1], - [30748, 1], - [30747, 1], - [30746, 1], - [30745, 1], - [30744, 1], - [30743, 1], - [30743, 0, "T"], - [30744, 0, "h"], - [30745, 0, "e"], - [30746, 0, " "], - [30747, 0, "e"], - [30748, 0, "x"], - [30749, 0, "p"], - [30750, 0, "r"], - [30751, 0, "e"], - [30752, 0, "s"], - [30753, 0, "s"], - [30754, 0, "i"], - [30755, 0, "o"], - [30756, 0, "n"], - [30757, 0, " "], - [30758, 0, "d"], - [30759, 0, "e"], - [30760, 0, "f"], - [30761, 0, "i"], - [30762, 0, "n"], - [30763, 0, "e"], - [30764, 0, "s"], - [30765, 0, " "], - [30766, 0, "t"], - [30767, 0, "h"], - [30768, 0, "e"], - [30769, 0, " "], - [30770, 0, "p"], - [30771, 0, "a"], - [30772, 0, "t"], - [30773, 0, "h"], - [30787, 1], - [30786, 1], - [30786, 0, "t"], - [30787, 0, "a"], - [30788, 0, "k"], - [30789, 0, "e"], - [30790, 0, "s"], - [30791, 0, " "], - [30792, 0, "a"], - [30793, 0, "s"], - [30794, 0, " "], - [30795, 0, "i"], - [30796, 0, "t"], - [30806, 1], - [30806, 0, "s"], - [30765, 0, ","], - [30766, 0, " "], - [30767, 0, "l"], - [30768, 0, "e"], - [30769, 0, "f"], - [30770, 0, " "], - [30770, 1], - [30770, 0, "t"], - [30771, 0, " "], - [30772, 0, "t"], - [30773, 0, "o"], - [30774, 0, " "], - [30775, 0, "r"], - [30776, 0, "i"], - [30777, 0, "g"], - [30778, 0, "h"], - [30779, 0, ","], - [30779, 0, "t"], - [30807, 0, ","], - [30808, 0, " "], - [30809, 0, "r"], - [30810, 0, "o"], - [30811, 0, "o"], - [30812, 0, "t"], - [30813, 0, " "], - [30814, 0, "t"], - [30815, 0, "o"], - [30816, 0, "w"], - [30817, 0, "a"], - [30818, 0, "r"], - [30819, 0, "d"], - [30820, 0, "s"], - [30821, 0, " "], - [30822, 0, "l"], - [30823, 0, "e"], - [30824, 0, "a"], - [30825, 0, "f"], - [30826, 0, ","], - [30826, 1], - [30825, 1], - [30824, 1], - [30823, 1], - [30822, 1], - [30821, 1], - [30820, 1], - [30819, 1], - [30818, 1], - [30817, 1], - [30816, 1], - [30815, 1], - [30814, 1], - [30813, 1], - [30812, 1], - [30811, 1], - [30810, 1], - [30809, 1], - [30808, 1], - [30807, 1], - [30840, 0, " "], - [30841, 0, "f"], - [30842, 0, "r"], - [30843, 0, "o"], - [30844, 0, "m"], - [30845, 0, " "], - [30846, 0, "t"], - [30846, 1], - [30845, 1], - [30844, 1], - [30843, 1], - [30842, 1], - [30841, 1], - [30841, 0, "t"], - [30842, 0, "w"], - [30842, 1], - [30842, 0, "o"], - [30843, 0, "w"], - [30844, 0, "a"], - [30845, 0, "r"], - [30846, 0, "d"], - [30847, 0, "s"], - [30848, 0, " "], - [30849, 0, "t"], - [30850, 0, "h"], - [30851, 0, "e"], - [30852, 0, " "], - [30852, 1], - [30851, 1], - [30850, 1], - [30849, 1], - [30849, 0, "t"], - [30850, 0, "h"], - [30851, 0, "e"], - [30852, 0, " "], - [30853, 0, "l"], - [30854, 0, "e"], - [30855, 0, "a"], - [30856, 0, "v"], - [30857, 0, "e"], - [30858, 0, "s"], - [32095, 1], - [32094, 1], - [32093, 1], - [32092, 1], - [32091, 1], - [32091, 0, "e"], - [32092, 0, "x"], - [32093, 0, "e"], - [32094, 0, "c"], - [32095, 0, "u"], - [32096, 0, "t"], - [32097, 0, "e"], - [32098, 0, "s"], - [32098, 1], - [32097, 1], - [32096, 1], - [32095, 1], - [32094, 1], - [32093, 1], - [32092, 1], - [32091, 1], - [32091, 0, "p"], - [32092, 0, "e"], - [32093, 0, "r"], - [32094, 0, "f"], - [32095, 0, "o"], - [32096, 0, "r"], - [32097, 0, "m"], - [32098, 0, "s"], - [32195, 1], - [32194, 1], - [32194, 0, "S"], - [32195, 0, "i"], - [32196, 0, "n"], - [32197, 0, "c"], - [32198, 0, "e"], - [42901, 1], - [42924, 1], - [55210, 1], - [55209, 1], - [55208, 1], - [55207, 1], - [55206, 1], - [55205, 1], - [55204, 1], - [55203, 1], - [55202, 1], - [55201, 1], - [55200, 1], - [55199, 1], - [55198, 1], - [55197, 1], - [55196, 1], - [55195, 1], - [55194, 1], - [55193, 1], - [55192, 1], - [55192, 0, "n"], - [55193, 0, "e"], - [55194, 0, "x"], - [55195, 0, "t"], - [71455, 1], - [71454, 1], - [71453, 1], - [71452, 1], - [71451, 1], - [71450, 1], - [71449, 1], - [71448, 1], - [71447, 1], - [71446, 1], - [71445, 1], - [71444, 1], - [71443, 1], - [71442, 1], - [71441, 1], - [71440, 1], - [71439, 1], - [71438, 1], - [71437, 1], - [71436, 1], - [71435, 1], - [71434, 1], - [75547, 0, "\n"], - [75548, 0, "%"], - [75549, 0, "T"], - [75550, 0, "O"], - [75551, 0, "D"], - [75552, 0, "O"], - [75553, 0, ":"], - [75554, 0, " "], - [75555, 0, "w"], - [75556, 0, "w"], - [75556, 1], - [75556, 0, "e"], - [75557, 0, " "], - [75558, 0, "s"], - [75559, 0, "h"], - [75560, 0, "o"], - [75561, 0, "u"], - [75562, 0, "l"], - [75563, 0, "d"], - [75564, 0, " "], - [75565, 0, "p"], - [75566, 0, "u"], - [75567, 0, "t"], - [75568, 0, " "], - [75569, 0, "t"], - [75570, 0, "h"], - [75571, 0, "i"], - [75572, 0, "s"], - [75573, 0, " "], - [75574, 0, "i"], - [75575, 0, "n"], - [75576, 0, " "], - [75577, 0, "a"], - [75578, 0, "s"], - [75579, 0, " "], - [75580, 0, "p"], - [75581, 0, "a"], - [75582, 0, "r"], - [75583, 0, "t"], - [75583, 1], - [75582, 1], - [75581, 1], - [75580, 1], - [75579, 1], - [75578, 1], - [75577, 1], - [75576, 1], - [75575, 1], - [75574, 1], - [75573, 1], - [75572, 1], - [75571, 1], - [75570, 1], - [75569, 1], - [75568, 1], - [75567, 1], - [75566, 1], - [75565, 1], - [75564, 1], - [75563, 1], - [75562, 1], - [75561, 1], - [75560, 1], - [75559, 1], - [75558, 1], - [75557, 1], - [75556, 1], - [75555, 1], - [75555, 0, "t"], - [75556, 0, "h"], - [75557, 0, "i"], - [75558, 0, "s"], - [75559, 0, " "], - [75560, 0, "d"], - [75561, 0, "o"], - [75562, 0, "e"], - [75563, 0, "s"], - [75564, 0, "n"], - [75565, 0, "'"], - [75566, 0, "t"], - [75567, 0, " "], - [75568, 0, "s"], - [75569, 0, "e"], - [75570, 0, "e"], - [75571, 0, "m"], - [75572, 0, " "], - [75573, 0, "t"], - [75574, 0, "o"], - [75575, 0, " "], - [75576, 0, "b"], - [75577, 0, "e"], - [75578, 0, " "], - [75579, 0, "p"], - [75580, 0, "a"], - [75581, 0, "r"], - [75582, 0, "t"], - [75583, 0, "i"], - [75584, 0, "c"], - [75585, 0, "u"], - [75586, 0, "l"], - [75587, 0, "a"], - [75588, 0, "r"], - [75589, 0, "l"], - [75590, 0, "y"], - [75591, 0, " "], - [75592, 0, "r"], - [75593, 0, "e"], - [75594, 0, "l"], - [75595, 0, "e"], - [75596, 0, "v"], - [75597, 0, "a"], - [75598, 0, "n"], - [75599, 0, "t"], - [75600, 0, " "], - [75601, 0, "t"], - [75602, 0, "o"], - [75603, 0, " "], - [75604, 0, "t"], - [75605, 0, "h"], - [75606, 0, "i"], - [75607, 0, "s"], - [75608, 0, " "], - [75609, 0, "p"], - [75610, 0, "a"], - [75611, 0, "p"], - [75612, 0, "e"], - [75613, 0, "r"], - [75614, 0, " "], - [75615, 0, "i"], - [75615, 1], - [75615, 0, "u"], - [75616, 0, "n"], - [75617, 0, "l"], - [75618, 0, "e"], - [75619, 0, "s"], - [75620, 0, "s"], - [75621, 0, " "], - [75622, 0, "w"], - [75623, 0, "e"], - [75624, 0, " "], - [75625, 0, "a"], - [75626, 0, "n"], - [75627, 0, "a"], - [75628, 0, "l"], - [75629, 0, "y"], - [75630, 0, "s"], - [75631, 0, "e"], - [75632, 0, " "], - [75633, 0, "s"], - [75634, 0, "o"], - [75635, 0, "m"], - [75636, 0, "e"], - [75637, 0, " "], - [75638, 0, "o"], - [75639, 0, "f"], - [75640, 0, " "], - [75641, 0, "t"], - [75642, 0, "h"], - [75643, 0, "e"], - [75644, 0, " "], - [75645, 0, "d"], - [75646, 0, "a"], - [75647, 0, "t"], - [75648, 0, "a"], - [75649, 0, "?"], - [75650, 0, " "], - [75651, 0, "\""], - [75860, 0, "\""], - [76308, 0, " "], - [76309, 0, "I"], - [76310, 0, "t"], - [76311, 0, " "], - [76312, 0, "i"], - [76313, 0, "s"], - [76314, 0, " "], - [76315, 0, "p"], - [76316, 0, "o"], - [76317, 0, "s"], - [76318, 0, "s"], - [76319, 0, "i"], - [76320, 0, "b"], - [76321, 0, "l"], - [76322, 0, "e"], - [76323, 0, " "], - [76324, 0, "t"], - [76325, 0, "h"], - [76326, 0, "a"], - [76327, 0, "t"], - [76328, 0, " "], - [76329, 0, "a"], - [76330, 0, " "], - [76331, 0, "s"], - [76332, 0, "c"], - [76333, 0, "h"], - [76334, 0, "e"], - [76335, 0, "m"], - [76336, 0, "a"], - [76337, 0, " "], - [76338, 0, "l"], - [76339, 0, "a"], - [76340, 0, "n"], - [76341, 0, "g"], - [76342, 0, "u"], - [76343, 0, "a"], - [76344, 0, "g"], - [76345, 0, "e"], - [76346, 0, " "], - [76347, 0, "i"], - [76348, 0, "s"], - [76349, 0, " "], - [76350, 0, "r"], - [76351, 0, "e"], - [76352, 0, "q"], - [76353, 0, "u"], - [76354, 0, "i"], - [76355, 0, "r"], - [76356, 0, "e"], - [76357, 0, "d"], - [76357, 1], - [76356, 1], - [76355, 1], - [76354, 1], - [76353, 1], - [76352, 1], - [76351, 1], - [76350, 1], - [76349, 1], - [76348, 1], - [76347, 1], - [76347, 0, "w"], - [76348, 0, "i"], - [76349, 0, "l"], - [76350, 0, "l"], - [76351, 0, " "], - [76352, 0, "b"], - [76353, 0, "e"], - [76354, 0, " "], - [76355, 0, "r"], - [76356, 0, "e"], - [76357, 0, "q"], - [76358, 0, "u"], - [76359, 0, "i"], - [76360, 0, "r"], - [76361, 0, "e"], - [76362, 0, "d"], - [76363, 0, " "], - [76364, 0, "i"], - [76365, 0, "n"], - [76366, 0, "o"], - [76366, 1], - [76366, 0, " "], - [76367, 0, "o"], - [76367, 1], - [76366, 1], - [76365, 1], - [76364, 1], - [76364, 0, "t"], - [76365, 0, "o"], - [76366, 0, " "], - [76367, 0, "h"], - [76368, 0, "e"], - [76369, 0, "l"], - [76370, 0, "p"], - [76370, 1], - [76369, 1], - [76368, 1], - [76367, 1], - [76367, 0, "m"], - [76368, 0, "a"], - [76369, 0, "n"], - [76370, 0, "a"], - [76371, 0, "g"], - [76372, 0, "e"], - [76373, 0, " "], - [76374, 0, "c"], - [76375, 0, "o"], - [76376, 0, "m"], - [76377, 0, "p"], - [76378, 0, "l"], - [76379, 0, "e"], - [76380, 0, "x"], - [76381, 0, "i"], - [76382, 0, "t"], - [76383, 0, "y"], - [76384, 0, "."], - [76384, 1], - [76383, 1], - [76382, 1], - [76381, 1], - [76380, 1], - [76379, 1], - [76378, 1], - [76377, 1], - [76376, 1], - [76375, 1], - [76374, 1], - [76373, 1], - [76372, 1], - [76371, 1], - [76370, 1], - [76369, 1], - [76368, 1], - [76367, 1], - [76366, 1], - [76365, 1], - [76364, 1], - [76363, 1], - [76362, 1], - [76361, 1], - [76360, 1], - [76359, 1], - [76358, 1], - [76357, 1], - [76356, 1], - [76355, 1], - [76354, 1], - [76353, 1], - [76352, 1], - [76352, 0, "h"], - [76353, 0, "e"], - [76354, 0, "l"], - [76355, 0, "p"], - [76356, 0, " "], - [76357, 0, "m"], - [76358, 0, "a"], - [76359, 0, "n"], - [76360, 0, "a"], - [76361, 0, "g"], - [76362, 0, "e"], - [76363, 0, " "], - [76364, 0, "c"], - [76365, 0, "o"], - [76366, 0, "m"], - [76367, 0, "p"], - [76368, 0, "l"], - [76369, 0, "e"], - [76370, 0, "i"], - [76371, 0, "x"], - [76372, 0, "t"], - [76373, 0, "y"], - [76373, 1], - [76372, 1], - [76371, 1], - [76370, 1], - [76370, 0, "x"], - [76371, 0, "i"], - [76372, 0, "t"], - [76373, 0, "y"], - [76374, 0, "."], - [76322, 1], - [76321, 1], - [76320, 1], - [76319, 1], - [76318, 1], - [76317, 1], - [76316, 1], - [76315, 1], - [76314, 1], - [76313, 1], - [76312, 1], - [76312, 0, "m"], - [76313, 0, "a"], - [76314, 0, "y"], - [76315, 0, " "], - [76316, 0, "t"], - [76317, 0, "i"], - [76317, 1], - [76317, 0, "u"], - [76318, 0, "r"], - [76319, 0, "n"], - [76320, 0, " "], - [76321, 0, "o"], - [76322, 0, "u"], - [76323, 0, "t"], - [76356, 1], - [76355, 1], - [76354, 1], - [76353, 1], - [76353, 0, "b"], - [76354, 0, "e"], - [76355, 0, " "], - [76356, 0, "i"], - [76357, 0, "n"], - [76358, 0, "s"], - [76359, 0, "t"], - [76360, 0, "r"], - [76361, 0, "u"], - [76362, 0, "c"], - [76362, 1], - [76362, 0, "m"], - [76363, 0, "e"], - [76364, 0, "n"], - [76365, 0, "t"], - [76366, 0, "a"], - [76367, 0, "l"], - [76368, 0, " "], - [76369, 0, "i"], - [76370, 0, "n"], - [76371, 0, " "], - [76372, 0, "t"], - [76373, 0, "h"], - [76374, 0, "e"], - [76382, 0, "m"], - [76383, 0, "e"], - [76384, 0, "n"], - [76385, 0, "t"], - [76386, 0, " "], - [76387, 0, "o"], - [76388, 0, "f"], - [76389, 0, " "], - [76390, 0, "u"], - [76391, 0, "p"], - [76392, 0, "d"], - [76393, 0, "a"], - [76393, 1], - [76392, 1], - [76391, 1], - [76390, 1], - [76389, 1], - [76388, 1], - [76387, 1], - [76387, 0, "s"], - [76388, 0, "u"], - [76389, 0, "c"], - [76390, 0, "h"], - [76391, 0, " "], - [76391, 1], - [76390, 1], - [76389, 1], - [76388, 1], - [76387, 1], - [76386, 1], - [76385, 1], - [76384, 1], - [76383, 1], - [76382, 1], - [76381, 1], - [76380, 1], - [76379, 1], - [76378, 1], - [76377, 1], - [76376, 1], - [76375, 1], - [76374, 1], - [76373, 1], - [76372, 1], - [76371, 1], - [76370, 1], - [76369, 1], - [76368, 1], - [76367, 1], - [76366, 1], - [76365, 1], - [76364, 1], - [76363, 1], - [76362, 1], - [76361, 1], - [76360, 1], - [76359, 1], - [76358, 1], - [76357, 1], - [76356, 1], - [76356, 0, "r"], - [76357, 0, "e"], - [76358, 0, "q"], - [76359, 0, "u"], - [76360, 0, "i"], - [76361, 0, "r"], - [76362, 0, "e"], - [76363, 0, "d"], - [76364, 0, " "], - [76365, 0, "f"], - [76366, 0, "o"], - [76367, 0, "r"], - [76368, 0, " "], - [76369, 0, "m"], - [76370, 0, "o"], - [76371, 0, "r"], - [76372, 0, "e"], - [76373, 0, " "], - [76374, 1], - [76383, 1], - [76382, 1], - [76381, 1], - [76381, 0, " "], - [76382, 0, "a"], - [76383, 0, "p"], - [76384, 0, "p"], - [76385, 0, "l"], - [76386, 0, "i"], - [76387, 0, "c"], - [76388, 0, "a"], - [76389, 0, "t"], - [76390, 0, "i"], - [76391, 0, "o"], - [76392, 0, "n"], - [76393, 0, "s"], - [76372, 1], - [76371, 1], - [76370, 1], - [76369, 1], - [76368, 1], - [76367, 1], - [76366, 1], - [76365, 1], - [76365, 0, "t"], - [76366, 0, "o"], - [76367, 0, " "], - [76368, 0, "s"], - [76369, 0, "u"], - [76370, 0, "p"], - [76371, 0, "p"], - [76372, 0, "o"], - [76373, 0, "r"], - [76374, 0, "t"], - [76375, 0, " "], - [76376, 0, "m"], - [76377, 0, "o"], - [76378, 0, "r"], - [76379, 0, "e"], - [75651, 1], - [75650, 1], - [75649, 1], - [75648, 1], - [75647, 1], - [75646, 1], - [75645, 1], - [75644, 1], - [75643, 1], - [75642, 1], - [75641, 1], - [75640, 1], - [75639, 1], - [75638, 1], - [75637, 1], - [75636, 1], - [75635, 1], - [75634, 1], - [75633, 1], - [75632, 1], - [75631, 1], - [75630, 1], - [75629, 1], - [75628, 1], - [75627, 1], - [75626, 1], - [75625, 1], - [75624, 1], - [75623, 1], - [75622, 1], - [75621, 1], - [75620, 1], - [75619, 1], - [75618, 1], - [75617, 1], - [75616, 1], - [75615, 1], - [75614, 1], - [75613, 1], - [75612, 1], - [75611, 1], - [75610, 1], - [75609, 1], - [75608, 1], - [75607, 1], - [75606, 1], - [75605, 1], - [75604, 1], - [75603, 1], - [75602, 1], - [75601, 1], - [75600, 1], - [75599, 1], - [75598, 1], - [75597, 1], - [75596, 1], - [75595, 1], - [75594, 1], - [75593, 1], - [75592, 1], - [75591, 1], - [75590, 1], - [75589, 1], - [75588, 1], - [75587, 1], - [75586, 1], - [75585, 1], - [75584, 1], - [75583, 1], - [75582, 1], - [75581, 1], - [75580, 1], - [75579, 1], - [75578, 1], - [75577, 1], - [75576, 1], - [75575, 1], - [75574, 1], - [75573, 1], - [75572, 1], - [75571, 1], - [75570, 1], - [75569, 1], - [75568, 1], - [75567, 1], - [75566, 1], - [75565, 1], - [75564, 1], - [75563, 1], - [75562, 1], - [75561, 1], - [75560, 1], - [75559, 1], - [75558, 1], - [75557, 1], - [75556, 1], - [75555, 1], - [75554, 1], - [75553, 1], - [75552, 1], - [75551, 1], - [75550, 1], - [75549, 1], - [75548, 1], - [75547, 1], - [75755, 1], - [71434, 0, "$"], - [18080, 0, "-"], - [18106, 0, "-"], - [21741, 1], - [21740, 1], - [21739, 1], - [21739, 0, "g"], - [21740, 0, "r"], - [21741, 0, "i"], - [21741, 1], - [21741, 0, "o"], - [21742, 0, "c"], - [21743, 0, "e"], - [21744, 0, "r"], - [21745, 0, "i"], - [21746, 0, "e"], - [21747, 0, "s"], - [21806, 1], - [21806, 1], - [21806, 1], - [21806, 0, "g"], - [21807, 0, "r"], - [21808, 0, "o"], - [21809, 0, "c"], - [21810, 0, "e"], - [21811, 0, "r"], - [21812, 0, "i"], - [21813, 0, "e"], - [21814, 0, "s"], - [21873, 1], - [21873, 1], - [21873, 1], - [21873, 0, "g"], - [21874, 0, "r"], - [21875, 0, "o"], - [21876, 0, "c"], - [21877, 0, "e"], - [21878, 0, "r"], - [21879, 0, "i"], - [21880, 0, "e"], - [21881, 0, "s"], - [21948, 1], - [21948, 1], - [21948, 1], - [21948, 0, "g"], - [21949, 0, "r"], - [21950, 0, "o"], - [21951, 0, "c"], - [21952, 0, "e"], - [21953, 0, "r"], - [21954, 0, "i"], - [21955, 0, "e"], - [21956, 0, "s"], - [22032, 1], - [22032, 1], - [22032, 1], - [22032, 0, "g"], - [22033, 0, "r"], - [22034, 0, "o"], - [22035, 0, "c"], - [22036, 0, "e"], - [22037, 0, "r"], - [22038, 0, "i"], - [22039, 0, "e"], - [22040, 0, "s"], - [22107, 1], - [22107, 1], - [22107, 1], - [22107, 0, "g"], - [22108, 0, "r"], - [22109, 0, "o"], - [22110, 0, "c"], - [22111, 0, "e"], - [22112, 0, "r"], - [22113, 0, "i"], - [22114, 0, "e"], - [22115, 0, "s"], - [22193, 1], - [22193, 1], - [22193, 1], - [22193, 0, "c"], - [22194, 0, "r"], - [22195, 0, "o"], - [22195, 1], - [22194, 1], - [22193, 1], - [22193, 0, "g"], - [22194, 0, "r"], - [22195, 0, "o"], - [22196, 0, "c"], - [22197, 0, "e"], - [22198, 0, "r"], - [22199, 0, "i"], - [22200, 0, "e"], - [22201, 0, "s"], - [22298, 1], - [22298, 1], - [22298, 1], - [22298, 0, "g"], - [22299, 0, "r"], - [22300, 0, "o"], - [22301, 0, "c"], - [22302, 0, "e"], - [22303, 0, "r"], - [22304, 0, "i"], - [22305, 0, "e"], - [22306, 0, "s"], - [22483, 1], - [22483, 1], - [22483, 1], - [22483, 0, "g"], - [22484, 0, "r"], - [22485, 0, "o"], - [22486, 0, "c"], - [22487, 0, "e"], - [22488, 0, "r"], - [22489, 0, "i"], - [22490, 0, "e"], - [22491, 0, "s"], - [22563, 1], - [22562, 1], - [22562, 1], - [22562, 0, "g"], - [22563, 0, "r"], - [22564, 0, "o"], - [22565, 0, "c"], - [22566, 0, "e"], - [22567, 0, "r"], - [22568, 0, "i"], - [22569, 0, "e"], - [22570, 0, "s"], - [22642, 1], - [22642, 1], - [22642, 1], - [22642, 0, "g"], - [22643, 0, "r"], - [22644, 0, "o"], - [22645, 0, "c"], - [22646, 0, "e"], - [22647, 0, "r"], - [22648, 0, "i"], - [22649, 0, "e"], - [22650, 0, "s"], - [22737, 1], - [22737, 1], - [22737, 1], - [22737, 0, "g"], - [22738, 0, "r"], - [22739, 0, "o"], - [22740, 0, "c"], - [22741, 0, "e"], - [22742, 0, "r"], - [22743, 0, "i"], - [22744, 0, "e"], - [22745, 0, "s"], - [23448, 1], - [23447, 1], - [23446, 1], - [23446, 0, "g"], - [23447, 0, "r"], - [23448, 0, "o"], - [23449, 0, "c"], - [23450, 0, "e"], - [23451, 0, "r"], - [23452, 0, "i"], - [23453, 0, "e"], - [23454, 0, "s"], - [23516, 1], - [23515, 1], - [23514, 1], - [23513, 1], - [23512, 1], - [23511, 1], - [23510, 1], - [23509, 1], - [23508, 1], - [23507, 1], - [23507, 0, "c"], - [23508, 0, "o"], - [23509, 0, "m"], - [23510, 0, "m"], - [23511, 0, "u"], - [23512, 0, "n"], - [23513, 0, "i"], - [23514, 0, "c"], - [23515, 0, "a"], - [23516, 0, "t"], - [23517, 0, "e"], - [23517, 1], - [23516, 1], - [23515, 1], - [23514, 1], - [23513, 1], - [23512, 1], - [23511, 1], - [23510, 1], - [23509, 1], - [23508, 1], - [23507, 1], - [23506, 1], - [23505, 1], - [23504, 1], - [23503, 1], - [23502, 1], - [23501, 1], - [23500, 1], - [23499, 1], - [23498, 1], - [23498, 0, "m"], - [23499, 0, "o"], - [23500, 0, "d"], - [23501, 0, "i"], - [23502, 0, "f"], - [23503, 0, "i"], - [23504, 0, "c"], - [23505, 0, "a"], - [23506, 0, "t"], - [23507, 0, "i"], - [23508, 0, "o"], - [23509, 0, "n"], - [23510, 0, "s"], - [23511, 0, " "], - [23512, 0, "a"], - [23513, 0, "r"], - [23514, 0, "e"], - [23515, 0, " "], - [23516, 0, "c"], - [23517, 0, "o"], - [23518, 0, "m"], - [23519, 0, "b"], - [23520, 0, "i"], - [23521, 0, "n"], - [23522, 0, "e"], - [23523, 0, "d"], - [23557, 1], - [23556, 1], - [23555, 1], - [23554, 1], - [23553, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 1], - [26323, 0, "d"], - [26324, 0, "e"], - [26325, 0, "v"], - [26326, 0, "e"], - [26327, 0, "l"], - [26328, 0, "o"], - [26329, 0, "p"], - [26330, 0, "m"], - [26331, 0, "e"], - [26332, 0, "n"], - [26333, 0, "t"], - [26334, 0, " "], - [26335, 0, "o"], - [26336, 0, "f"], - [28339, 1], - [28338, 1], - [28338, 0, "i"], - [28339, 0, "t"], - [28366, 1], - [28365, 1], - [28365, 0, "i"], - [28366, 0, "t"], - [28657, 1], - [28656, 1], - [28656, 0, "i"], - [28657, 0, "t"], - [28640, 1], - [28639, 1], - [28639, 0, "i"], - [28640, 0, "t"], - [30974, 1], - [30973, 1], - [30973, 0, "i"], - [30974, 0, "t"], - [31318, 0, "s"], - [31318, 1], - [31317, 1], - [31316, 1], - [31315, 1], - [31314, 1], - [31313, 1], - [31313, 0, "c"], - [31314, 0, "o"], - [31315, 0, "n"], - [31316, 0, "t"], - [31317, 0, "e"], - [31318, 0, "n"], - [31319, 0, "t"], - [31320, 0, "s"], - [31328, 0, " "], - [31329, 0, "m"], - [31330, 0, "u"], - [31331, 0, "l"], - [31332, 0, "t"], - [31333, 0, "i"], - [31334, 0, "-"], - [31335, 0, "v"], - [31336, 0, "a"], - [31337, 0, "l"], - [31338, 0, "u"], - [31339, 0, "e"], - [76385, 0, " "], - [76386, 0, "A"], - [76387, 0, " "], - [76388, 0, "s"], - [76389, 0, "c"], - [76390, 0, "h"], - [76391, 0, "e"], - [76392, 0, "m"], - [76393, 0, "a"], - [76394, 0, " "], - [76395, 0, "l"], - [76396, 0, "a"], - [76397, 0, "n"], - [76398, 0, "g"], - [76399, 0, "u"], - [76400, 0, "a"], - [76401, 0, "g"], - [76402, 0, "e"], - [76403, 0, " "], - [76404, 0, "c"], - [76405, 0, "o"], - [76406, 0, "u"], - [76407, 0, "l"], - [76408, 0, "d"], - [76409, 0, " "], - [76410, 0, "a"], - [76411, 0, "l"], - [76412, 0, "s"], - [76413, 0, "o"], - [76414, 0, " "], - [76415, 0, "s"], - [76416, 0, "u"], - [76417, 0, "p"], - [76418, 0, "p"], - [76419, 0, "o"], - [76420, 0, "r"], - [76421, 0, "t"], - [76422, 0, " "], - [76423, 0, "s"], - [76424, 0, "e"], - [76425, 0, "m"], - [76426, 0, "a"], - [76427, 0, "n"], - [76428, 0, "t"], - [76429, 0, "i"], - [76430, 0, "c"], - [76431, 0, " "], - [76432, 0, "a"], - [76433, 0, "n"], - [76434, 0, "n"], - [76435, 0, "o"], - [76436, 0, "t"], - [76437, 0, "a"], - [76438, 0, "t"], - [76439, 0, "i"], - [76440, 0, "o"], - [76441, 0, "n"], - [76442, 0, "s"], - [76443, 0, ","], - [76444, 0, " "], - [76445, 0, "s"], - [76446, 0, "u"], - [76447, 0, "c"], - [76448, 0, "h"], - [76449, 0, " "], - [76450, 0, "a"], - [76451, 0, "s"], - [76452, 0, " "], - [76453, 0, "i"], - [76454, 0, "n"], - [76455, 0, "d"], - [76456, 0, "i"], - [76457, 0, "c"], - [76458, 0, "a"], - [76459, 0, "t"], - [76460, 0, "i"], - [76461, 0, "n"], - [76462, 0, "g"], - [76463, 0, " "], - [76464, 0, "t"], - [76465, 0, "h"], - [76466, 0, "a"], - [76467, 0, "t"], - [76468, 0, " "], - [76469, 0, "a"], - [76470, 0, " "], - [76471, 0, "n"], - [76472, 0, "u"], - [76473, 0, "m"], - [76474, 0, "b"], - [76475, 0, "e"], - [76476, 0, "r"], - [76477, 0, " "], - [76478, 0, "s"], - [76479, 0, "h"], - [76480, 0, "o"], - [76481, 0, "u"], - [76482, 0, "l"], - [76483, 0, "d"], - [76484, 0, " "], - [76485, 0, "b"], - [76486, 0, "e"], - [76487, 0, " "], - [76488, 0, "t"], - [76489, 0, "r"], - [76490, 0, "e"], - [76491, 0, "a"], - [76492, 0, "t"], - [76493, 0, "e"], - [76494, 0, "d"], - [76495, 0, " "], - [76496, 0, "a"], - [76497, 0, "s"], - [76498, 0, " "], - [76499, 0, "a"], - [76500, 0, " "], - [76501, 0, "c"], - [76502, 0, "o"], - [76503, 0, "u"], - [76504, 0, "n"], - [76505, 0, "t"], - [76506, 0, "e"], - [76507, 0, "r"], - [76508, 0, " "], - [76509, 0, "r"], - [76510, 0, "a"], - [76511, 0, "t"], - [76512, 0, "h"], - [76513, 0, "e"], - [76514, 0, "r"], - [76515, 0, " "], - [76516, 0, "t"], - [76517, 0, "h"], - [76518, 0, "a"], - [76519, 0, "n"], - [76520, 0, " "], - [76521, 0, "a"], - [76522, 0, " "], - [76523, 0, "r"], - [76524, 0, "e"], - [76525, 0, "g"], - [76526, 0, "i"], - [76527, 0, "s"], - [76528, 0, "t"], - [76529, 0, "e"], - [76530, 0, "r"], - [76531, 0, "."], - [2284, 0, " "], - [2285, 0, "m"], - [2286, 0, "a"], - [2287, 0, "k"], - [2288, 0, "i"], - [2289, 0, "n"], - [2290, 0, "g"], - [2291, 0, " "], - [2292, 0, "i"], - [2293, 0, "s"], - [2294, 0, " "], - [2294, 1], - [2293, 1], - [2293, 0, "t"], - [2294, 0, " "], - [2295, 0, "s"], - [2296, 0, "u"], - [2297, 0, "i"], - [2298, 0, "t"], - [2299, 0, "a"], - [2300, 0, "b"], - [2301, 0, "l"], - [2302, 0, "e"], - [2303, 0, " "], - [2304, 0, "f"], - [2305, 0, "o"], - [2306, 0, "r"], - [2307, 0, " "], - [2308, 0, "m"], - [2309, 0, "o"], - [2310, 0, "b"], - [2311, 0, "i"], - [2312, 0, "l"], - [2313, 0, "e"], - [2314, 0, " "], - [2315, 0, "d"], - [2316, 0, "e"], - [2317, 0, "v"], - [2318, 0, "i"], - [2319, 0, "c"], - [2320, 0, "e"], - [2321, 0, "s"], - [2322, 0, " "], - [2323, 0, "t"], - [2324, 0, "h"], - [2325, 0, "a"], - [2326, 0, "t"], - [2327, 0, " "], - [2328, 0, "s"], - [2329, 0, "u"], - [2330, 0, "f"], - [2331, 0, "f"], - [2332, 0, "e"], - [2333, 0, "r"], - [2334, 0, " "], - [2335, 0, "p"], - [2336, 0, "e"], - [2337, 0, "r"], - [2338, 0, "i"], - [2339, 0, "o"], - [2340, 0, "d"], - [2341, 0, "s"], - [2341, 1], - [2340, 1], - [2339, 1], - [2338, 1], - [2337, 1], - [2336, 1], - [2335, 1], - [2334, 1], - [2333, 1], - [2332, 1], - [2331, 1], - [2330, 1], - [2329, 1], - [2328, 1], - [2327, 1], - [2326, 1], - [2325, 1], - [2324, 1], - [2323, 1], - [2323, 0, "w"], - [2324, 0, "i"], - [2325, 0, "t"], - [2326, 0, "h"], - [2327, 0, " "], - [2328, 0, "p"], - [2329, 0, "o"], - [2330, 0, "o"], - [2331, 0, "r"], - [2332, 0, " "], - [2333, 0, "n"], - [2334, 0, "e"], - [2335, 0, "t"], - [2336, 0, "w"], - [2337, 0, "o"], - [2338, 0, "r"], - [2339, 0, "k"], - [2340, 0, " "], - [2341, 0, "c"], - [2342, 0, "o"], - [2343, 0, "n"], - [2344, 0, "n"], - [2345, 0, "e"], - [2346, 0, "c"], - [2347, 0, "t"], - [2348, 0, "i"], - [2349, 0, "v"], - [2350, 0, "i"], - [2351, 0, "t"], - [2352, 0, "y"], - [2308, 0, "c"], - [2309, 0, "e"], - [2310, 0, "p"], - [2310, 1], - [2309, 1], - [2308, 1], - [2308, 0, "d"], - [2309, 0, "e"], - [2310, 0, "p"], - [2311, 0, "l"], - [2312, 0, "o"], - [2313, 0, "y"], - [2314, 0, "m"], - [2315, 0, "e"], - [2316, 0, "n"], - [2317, 0, "t"], - [2318, 0, " "], - [2319, 0, "o"], - [2320, 0, "n"], - [2321, 0, " "], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 1], - [2367, 0, ","], - [2620, 1], - [2619, 1], - [2618, 1], - [2617, 1], - [2616, 1], - [2615, 1], - [2614, 1], - [2613, 1], - [2612, 1], - [2611, 1], - [2610, 1], - [2609, 1], - [2608, 1], - [2607, 1], - [2606, 1], - [2605, 1], - [2604, 1], - [2603, 1], - [2602, 1], - [2601, 1], - [2600, 1], - [2599, 1], - [2598, 1], - [2597, 1], - [2596, 1], - [2595, 1], - [2594, 1], - [2593, 1], - [2592, 1], - [2591, 1], - [2590, 1], - [2589, 1], - [2588, 1], - [2587, 1], - [2586, 1], - [2585, 1], - [2584, 1], - [2583, 1], - [2582, 1], - [2581, 1], - [2580, 1], - [2579, 1], - [2578, 1], - [2577, 1], - [2576, 1], - [2575, 1], - [2574, 1], - [2573, 1], - [2572, 1], - [2571, 1], - [2570, 1], - [2569, 1], - [2568, 1], - [2567, 1], - [2566, 1], - [2565, 1], - [2564, 1], - [2563, 1], - [2562, 1], - [2561, 1], - [2560, 1], - [2559, 1], - [2558, 1], - [2557, 1], - [2556, 1], - [2555, 1], - [2554, 1], - [2553, 1], - [2552, 1], - [2551, 1], - [2550, 1], - [2549, 1], - [2548, 1], - [2547, 1], - [2546, 1], - [2545, 1], - [2544, 1], - [2543, 1], - [2542, 1], - [2541, 1], - [2540, 1], - [2539, 1], - [2538, 1], - [2537, 1], - [2536, 1], - [2535, 1], - [2534, 1], - [2533, 1], - [2532, 1], - [2531, 1], - [2530, 1], - [2529, 1], - [2528, 1], - [2527, 1], - [2526, 1], - [2525, 1], - [2524, 1], - [2523, 1], - [2522, 1], - [2521, 1], - [2520, 1], - [2519, 1], - [2518, 1], - [2517, 1], - [2516, 1], - [2515, 1], - [2514, 1], - [2513, 1], - [2512, 1], - [2511, 1], - [2510, 1], - [2509, 1], - [2508, 1], - [2507, 1], - [2506, 1], - [2505, 1], - [2504, 1], - [2503, 1], - [2502, 1], - [2501, 1], - [2500, 1], - [2499, 1], - [2498, 1], - [2497, 1], - [2496, 1], - [2495, 1], - [2494, 1], - [2493, 1], - [2492, 1], - [2491, 1], - [2490, 1], - [2489, 1], - [2488, 1], - [2487, 1], - [2486, 1], - [2485, 1], - [2484, 1], - [2483, 1], - [2482, 1], - [2481, 1], - [2480, 1], - [2479, 1], - [2478, 1], - [2477, 1], - [2476, 1], - [2475, 1], - [2474, 1], - [2473, 1], - [2472, 1], - [2471, 1], - [2470, 1], - [2469, 1], - [2468, 1], - [2467, 1], - [2466, 1], - [2465, 1], - [2464, 1], - [2463, 1], - [2462, 1], - [2461, 1], - [2460, 1], - [2459, 1], - [2458, 1], - [2457, 1], - [2456, 1], - [2455, 1], - [2454, 1], - [2453, 1], - [2452, 1], - [2451, 1], - [2450, 1], - [2449, 1], - [2448, 1], - [2447, 1], - [3378, 1], - [3377, 1], - [3376, 1], - [3375, 1], - [3374, 1], - [3373, 1], - [3372, 1], - [3371, 1], - [3370, 1], - [3369, 1], - [3368, 1], - [3367, 1], - [3366, 1], - [3365, 1], - [3364, 1], - [3363, 1], - [3362, 1], - [3361, 1], - [3360, 1], - [3359, 1], - [3358, 1], - [3357, 1], - [3356, 1], - [3355, 1], - [3354, 1], - [3353, 1], - [3352, 1], - [3351, 1], - [3350, 1], - [3349, 1], - [3348, 1], - [3347, 1], - [3346, 1], - [3345, 1], - [3344, 1], - [3343, 1], - [3342, 1], - [3341, 1], - [3340, 1], - [3339, 1], - [3338, 1], - [3337, 1], - [3336, 1], - [3335, 1], - [3334, 1], - [3333, 1], - [3332, 1], - [3331, 1], - [3330, 1], - [3329, 1], - [3328, 1], - [3327, 1], - [3326, 1], - [3325, 1], - [3324, 1], - [3323, 1], - [3322, 1], - [3321, 1], - [3320, 1], - [3319, 1], - [3318, 1], - [3317, 1], - [3316, 1], - [3315, 1], - [3314, 1], - [3313, 1], - [3312, 1], - [3311, 1], - [3310, 1], - [3309, 1], - [3308, 1], - [3307, 1], - [3306, 1], - [3305, 1], - [3304, 1], - [3303, 1], - [3302, 1], - [3301, 1], - [3300, 1], - [3299, 1], - [3298, 1], - [3297, 1], - [3296, 1], - [3295, 1], - [3294, 1], - [3293, 1], - [3292, 1], - [3291, 1], - [3290, 1], - [3289, 1], - [3288, 1], - [3287, 1], - [3286, 1], - [3285, 1], - [3284, 1], - [3283, 1], - [3282, 1], - [3281, 1], - [3280, 1], - [3279, 1], - [3278, 1], - [3277, 1], - [3276, 1], - [3275, 1], - [3274, 1], - [3273, 1], - [3272, 1], - [3271, 1], - [3270, 1], - [3269, 1], - [3268, 1], - [3267, 1], - [3266, 1], - [3265, 1], - [3264, 1], - [3263, 1], - [3262, 1], - [3261, 1], - [3260, 1], - [3259, 1], - [3258, 1], - [3257, 1], - [3256, 1], - [3255, 1], - [3254, 1], - [3253, 1], - [3252, 1], - [3251, 1], - [3250, 1], - [3249, 1], - [3248, 1], - [3247, 1], - [3246, 1], - [3245, 1], - [3244, 1], - [3243, 1], - [3242, 1], - [3241, 1], - [3240, 1], - [3239, 1], - [3238, 1], - [3237, 1], - [3236, 1], - [3235, 1], - [3234, 1], - [3233, 1], - [3232, 1], - [3231, 1], - [3230, 1], - [3229, 1], - [3228, 1], - [3227, 1], - [3226, 1], - [3225, 1], - [3224, 1], - [3223, 1], - [3222, 1], - [3221, 1], - [3220, 1], - [3219, 1], - [3218, 1], - [3217, 1], - [3216, 1], - [3130, 1], - [3129, 1], - [3128, 1], - [3127, 1], - [3126, 1], - [3125, 1], - [3124, 1], - [3123, 1], - [3122, 1], - [3121, 1], - [3120, 1], - [3119, 1], - [3118, 1], - [3117, 1], - [3116, 1], - [3115, 1], - [3115, 0, "i"], - [3116, 0, "v"], - [3117, 0, "e"], - [3118, 0, " "], - [3119, 0, "e"], - [3120, 0, "d"], - [3121, 0, "i"], - [3122, 0, "t"], - [3123, 0, "i"], - [3124, 0, "n"], - [3125, 0, "g"], - [3126, 0, " "], - [3127, 0, "o"], - [3128, 0, "f"], - [3103, 1], - [3102, 1], - [3101, 1], - [3100, 1], - [3099, 1], - [3098, 1], - [3097, 1], - [3096, 1], - [3095, 1], - [3094, 1], - [3093, 1], - [3092, 1], - [3091, 1], - [3090, 1], - [3089, 1], - [3088, 1], - [3087, 1], - [3086, 1], - [3085, 1], - [3084, 1], - [3083, 1], - [3082, 1], - [3081, 1], - [3080, 1], - [3079, 1], - [3078, 1], - [3077, 1], - [3076, 1], - [3075, 1], - [3075, 0, "S"], - [3076, 0, "i"], - [3077, 0, "m"], - [3078, 0, "i"], - [3079, 0, "l"], - [3080, 0, "a"], - [3081, 0, "r"], - [3082, 0, "l"], - [3083, 0, "y"], - [3084, 0, ","], - [3194, 0, " "], - [3195, 0, "i"], - [3196, 0, "s"], - [3197, 0, " "], - [3098, 1], - [3097, 1], - [3097, 0, "v"], - [3098, 0, "e"], - [3099, 0, " "], - [3100, 0, "w"], - [3101, 0, "o"], - [3102, 0, "r"], - [3103, 0, "k"], - [3104, 0, " "], - [3105, 0, "o"], - [3106, 0, "f"], - [3107, 0, "t"], - [3108, 0, "e"], - [3109, 0, "n"], - [3110, 0, " "], - [3111, 0, "r"], - [3112, 0, "e"], - [3113, 0, "q"], - [3114, 0, "u"], - [3115, 0, "i"], - [3116, 0, "r"], - [3117, 0, "e"], - [3118, 0, "s"], - [3119, 0, " "], - [3120, 0, "s"], - [3121, 0, "e"], - [3122, 0, "v"], - [3123, 0, "e"], - [3124, 0, "r"], - [3125, 0, "a"], - [3126, 0, "l"], - [3127, 0, " "], - [3128, 0, "p"], - [3129, 0, "e"], - [3130, 0, "o"], - [3131, 0, "p"], - [3132, 0, "l"], - [3133, 0, "e"], - [3134, 0, " "], - [3135, 0, "t"], - [3136, 0, "o"], - [3137, 0, " "], - [3138, 0, "w"], - [3139, 0, "o"], - [3140, 0, "r"], - [3141, 0, "k"], - [3142, 0, " "], - [3143, 0, "o"], - [3144, 0, "n"], - [3145, 0, " "], - [3146, 0, "t"], - [3147, 0, "h"], - [3148, 0, "e"], - [3149, 0, " "], - [3150, 0, "s"], - [3151, 0, "a"], - [3152, 0, "m"], - [3153, 0, "e"], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3154, 1], - [3241, 1], - [3240, 1], - [3239, 1], - [3238, 1], - [3238, 0, ";"], - [3239, 0, " "], - [3144, 1], - [3143, 1], - [3142, 1], - [3141, 1], - [3140, 1], - [3139, 1], - [3138, 1], - [3138, 0, "e"], - [3139, 0, "d"], - [3140, 0, "i"], - [3141, 0, "t"], - [3237, 0, "i"], - [3238, 0, "f"], - [3239, 0, " "], - [3240, 0, "e"], - [3241, 0, "a"], - [3242, 0, "c"], - [3243, 0, "h"], - [3244, 0, " "], - [3245, 0, "p"], - [3246, 0, "e"], - [3247, 0, "r"], - [3248, 0, "s"], - [3249, 0, "o"], - [3250, 0, "n"], - [3251, 0, " "], - [3252, 0, "u"], - [3253, 0, "s"], - [3254, 0, "e"], - [3255, 0, "s"], - [3256, 0, " "], - [3257, 0, "t"], - [3258, 0, "h"], - [3259, 0, "e"], - [3260, 0, "i"], - [3261, 0, "r"], - [3262, 0, " "], - [3263, 0, "o"], - [3264, 0, "w"], - [3265, 0, "n"], - [3266, 0, " "], - [3267, 0, "d"], - [3268, 0, "e"], - [3269, 0, "v"], - [3270, 0, "i"], - [3271, 0, "c"], - [3272, 0, "e"], - [3273, 0, ","], - [3274, 0, " "], - [3275, 0, "e"], - [3276, 0, "d"], - [3277, 0, "i"], - [3278, 0, "t"], - [3279, 0, "s"], - [3280, 0, " "], - [3281, 0, "m"], - [3282, 0, "a"], - [3138, 0, "s"], - [3139, 0, "i"], - [3140, 0, "m"], - [3141, 0, "u"], - [3142, 0, "l"], - [3143, 0, "t"], - [3144, 0, "a"], - [3145, 0, "n"], - [3146, 0, "e"], - [3147, 0, "o"], - [3148, 0, "u"], - [3149, 0, "s"], - [3150, 0, "l"], - [3151, 0, "y"], - [3152, 0, " "], - [3180, 1], - [3193, 1], - [3207, 1], - [3216, 1], - [3245, 1], - [3282, 1], - [3281, 1], - [3280, 1], - [3279, 1], - [3278, 1], - [3277, 1], - [3276, 1], - [3275, 1], - [3274, 1], - [3273, 1], - [3272, 1], - [3271, 1], - [3270, 1], - [3269, 1], - [3268, 1], - [3267, 1], - [3266, 1], - [3265, 1], - [3264, 1], - [3263, 1], - [3262, 1], - [3261, 1], - [3260, 1], - [3259, 1], - [3258, 1], - [3257, 1], - [3256, 1], - [3255, 1], - [3254, 1], - [3253, 1], - [3252, 1], - [3251, 1], - [3250, 1], - [3249, 1], - [3248, 1], - [3247, 1], - [3246, 1], - [3245, 1], - [3246, 0, " "], - [3247, 0, "w"], - [3248, 0, "i"], - [3249, 0, "t"], - [3250, 0, "h"], - [3251, 0, " "], - [3252, 0, "o"], - [3253, 0, "n"], - [3254, 0, "e"], - [3255, 0, " "], - [3256, 0, "p"], - [3257, 0, "e"], - [3258, 0, "r"], - [3259, 0, "s"], - [3259, 1], - [3258, 1], - [3257, 1], - [3256, 1], - [3255, 1], - [3254, 1], - [3253, 1], - [3252, 1], - [3252, 0, "e"], - [3253, 0, "a"], - [3254, 0, "c"], - [3255, 0, "h"], - [3256, 0, " "], - [3257, 0, "p"], - [3258, 0, "e"], - [3259, 0, "r"], - [3260, 0, "s"], - [3261, 0, "o"], - [3262, 0, "n"], - [3263, 0, "'"], - [3264, 0, "s"], - [3265, 0, " "], - [3265, 1], - [3273, 1], - [3272, 1], - [3272, 0, "s"], - [3273, 0, "y"], - [3274, 0, "n"], - [3275, 0, "c"], - [3276, 0, "h"], - [3277, 0, "r"], - [3278, 0, "o"], - [3279, 0, "n"], - [3280, 0, "i"], - [3281, 0, "z"], - [3281, 1], - [3280, 1], - [3279, 1], - [3278, 1], - [3277, 1], - [3276, 1], - [3275, 1], - [3274, 1], - [3273, 1], - [3272, 1], - [3272, 0, "r"], - [3273, 0, "e"], - [3274, 0, "f"], - [3275, 0, "l"], - [3276, 0, "e"], - [3277, 0, "c"], - [3278, 0, "t"], - [3279, 0, "e"], - [3280, 0, "d"], - [3281, 0, " "], - [3282, 0, "o"], - [3283, 0, "n"], - [3284, 0, " "], - [3285, 0, "t"], - [3286, 0, "h"], - [3287, 0, "e"], - [3288, 0, " "], - [3289, 0, "o"], - [3290, 0, "t"], - [3291, 0, "h"], - [3292, 0, "e"], - [3293, 0, "r"], - [3294, 0, " "], - [3295, 0, "c"], - [3296, 0, "o"], - [3297, 0, "l"], - [3298, 0, "l"], - [3299, 0, "a"], - [3300, 0, "b"], - [3301, 0, "o"], - [3302, 0, "r"], - [3303, 0, "a"], - [3304, 0, "t"], - [3305, 0, "o"], - [3306, 0, "r"], - [3307, 0, "s"], - [3308, 0, "'"], - [3309, 0, " "], - [3310, 0, "c"], - [3311, 0, "o"], - [3312, 0, "p"], - [3313, 0, "i"], - [3314, 0, "e"], - [3315, 0, "s"], - [3316, 0, " "], - [3317, 0, "o"], - [3318, 0, "f"], - [3319, 0, " "], - [3320, 0, "t"], - [3321, 0, "h"], - [3322, 0, "e"], - [3323, 0, " "], - [3324, 0, "d"], - [3325, 0, "o"], - [3326, 0, "c"], - [3327, 0, "u"], - [3328, 0, "m"], - [3329, 0, "e"], - [3330, 0, "n"], - [3331, 0, "t"], - [3332, 0, " "], - [3333, 0, "w"], - [3334, 0, "i"], - [3335, 0, "t"], - [3336, 0, "h"], - [3337, 0, " "], - [3338, 0, "m"], - [3339, 0, "i"], - [3340, 0, "n"], - [3341, 0, "i"], - [3342, 0, "m"], - [3343, 0, "a"], - [3344, 0, "l"], - [3345, 0, " "], - [3346, 0, "d"], - [3347, 0, "e"], - [3348, 0, "l"], - [3349, 0, "a"], - [3350, 0, "y"], - [9033, 0, "\n"], - [9034, 0, "\n"], - [9035, 0, "I"], - [9036, 0, "n"], - [9037, 0, " "], - [9038, 0, "S"], - [9039, 0, "e"], - [9040, 0, "c"], - [9041, 0, "t"], - [9042, 0, "i"], - [9043, 0, "o"], - [9044, 0, "n"], - [9045, 0, "~"], - [9046, 0, "\\"], - [9047, 0, "r"], - [9048, 0, "e"], - [9049, 0, "f"], - [9050, 0, "{"], - [9051, 0, "s"], - [9052, 0, "e"], - [9053, 0, "c"], - [9054, 0, ":"], - [9055, 0, "c"], - [9056, 0, "o"], - [9057, 0, "n"], - [9058, 0, "v"], - [9059, 0, "e"], - [9060, 0, "r"], - [9061, 0, "g"], - [9062, 0, "e"], - [9063, 0, "n"], - [9064, 0, "c"], - [9065, 0, "e"], - [9066, 0, "}"], - [9067, 0, " "], - [9068, 0, "a"], - [9069, 0, "n"], - [9070, 0, "d"], - [9071, 0, " "], - [9072, 0, "t"], - [9073, 0, "h"], - [9074, 0, "e"], - [9075, 0, " "], - [9076, 0, "a"], - [9077, 0, "p"], - [9078, 0, "p"], - [9079, 0, "e"], - [9080, 0, "n"], - [9081, 0, "d"], - [9082, 0, "i"], - [9083, 0, "x"], - [9084, 0, " "], - [9084, 1], - [9084, 0, "."], - [9035, 0, " "], - [9035, 0, "A"], - [9036, 0, " "], - [9037, 0, "k"], - [9038, 0, "e"], - [9039, 0, "y"], - [9040, 0, " "], - [9041, 0, "r"], - [9042, 0, "e"], - [9043, 0, "q"], - [9044, 0, "u"], - [9045, 0, "i"], - [9046, 0, "r"], - [9047, 0, "e"], - [9048, 0, "m"], - [9049, 0, "e"], - [9050, 0, "n"], - [9051, 0, "t"], - [9052, 0, " "], - [9053, 0, "o"], - [9054, 0, "f"], - [9055, 0, " "], - [9056, 0, "c"], - [9057, 0, "o"], - [9058, 0, "n"], - [9059, 0, "f"], - [9060, 0, "l"], - [9061, 0, "i"], - [9062, 0, "c"], - [9063, 0, "t"], - [9064, 0, " "], - [9065, 0, "r"], - [9066, 0, "e"], - [9067, 0, "s"], - [9068, 0, "o"], - [9069, 0, "l"], - [9070, 0, "u"], - [9071, 0, "t"], - [9072, 0, "i"], - [9073, 0, "o"], - [9074, 0, "n"], - [9075, 0, " "], - [9076, 0, "i"], - [9077, 0, "s"], - [9078, 0, " "], - [9079, 0, "t"], - [9080, 0, "h"], - [9081, 0, "a"], - [9082, 0, "t"], - [9083, 0, " "], - [9084, 0, "r"], - [9085, 0, "e"], - [9086, 0, "p"], - [9087, 0, "l"], - [9088, 0, "i"], - [9089, 0, "c"], - [9090, 0, "a"], - [9091, 0, "s"], - [9092, 0, " "], - [9093, 0, "c"], - [9094, 0, "o"], - [9095, 0, "n"], - [9096, 0, "v"], - [9097, 0, "e"], - [9098, 0, "r"], - [9099, 0, "g"], - [9100, 0, "e"], - [9101, 0, " "], - [9102, 0, "t"], - [9103, 0, "o"], - [9104, 0, "w"], - [9105, 0, "a"], - [9106, 0, "r"], - [9107, 0, "d"], - [9108, 0, "s"], - [9109, 0, " "], - [9110, 0, "t"], - [9111, 0, "h"], - [9112, 0, "e"], - [9113, 0, " "], - [9114, 0, "s"], - [9115, 0, "a"], - [9116, 0, "m"], - [9117, 0, "e"], - [9118, 0, " "], - [9119, 0, "s"], - [9120, 0, "t"], - [9121, 0, "a"], - [9122, 0, "t"], - [9123, 0, "e"], - [9124, 0, ","], - [9125, 0, " "], - [9126, 0, "o"], - [9127, 0, "r"], - [9128, 0, " "], - [9129, 0, "m"], - [9130, 0, "o"], - [9131, 0, "r"], - [9132, 0, "e"], - [9133, 0, " "], - [9134, 0, "f"], - [9135, 0, "o"], - [9136, 0, "r"], - [9137, 0, "m"], - [9138, 0, "a"], - [9139, 0, "l"], - [9140, 0, "l"], - [9141, 0, "y"], - [9142, 0, ","], - [9143, 0, " "], - [9144, 0, "a"], - [9145, 0, "n"], - [9146, 0, "y"], - [9147, 0, " "], - [9148, 0, "t"], - [9149, 0, "w"], - [9150, 0, "o"], - [9151, 0, " "], - [9152, 0, "r"], - [9153, 0, "e"], - [9154, 0, "p"], - [9155, 0, "l"], - [9156, 0, "i"], - [9157, 0, "c"], - [9158, 0, "a"], - [9159, 0, "s"], - [9160, 0, " "], - [9161, 0, "t"], - [9162, 0, "h"], - [9163, 0, "a"], - [9164, 0, "t"], - [9165, 0, " "], - [9166, 0, "h"], - [9167, 0, "a"], - [9168, 0, "v"], - [9169, 0, "e"], - [9170, 0, " "], - [9171, 0, "p"], - [9172, 0, "r"], - [9173, 0, "o"], - [9174, 0, "c"], - [9175, 0, "e"], - [9176, 0, "s"], - [9177, 0, "s"], - [9178, 0, "e"], - [9179, 0, "d"], - [9180, 0, " "], - [9181, 0, "t"], - [9182, 0, "h"], - [9183, 0, "e"], - [9184, 0, " "], - [9185, 0, "s"], - [9186, 0, "a"], - [9187, 0, "m"], - [9188, 0, "e"], - [9189, 0, " "], - [9190, 0, "s"], - [9191, 0, "e"], - [9192, 0, "t"], - [9193, 0, " "], - [9194, 0, "o"], - [9195, 0, "f"], - [9196, 0, " "], - [9197, 0, "o"], - [9198, 0, "p"], - [9199, 0, "e"], - [9200, 0, "r"], - [9084, 0, "a"], - [9085, 0, "l"], - [9086, 0, "l"], - [9087, 0, " "], - [9096, 0, " "], - [9097, 0, "e"], - [9098, 0, "v"], - [9099, 0, "e"], - [9100, 0, "n"], - [9101, 0, "t"], - [9102, 0, "u"], - [9103, 0, "a"], - [9104, 0, "l"], - [9105, 0, "l"], - [9106, 0, "y"], - [9215, 1], - [9214, 1], - [9213, 1], - [9212, 1], - [9211, 1], - [9210, 1], - [9209, 1], - [9208, 1], - [9207, 1], - [9206, 1], - [9205, 1], - [9204, 1], - [9203, 1], - [9202, 1], - [9201, 1], - [9200, 1], - [9199, 1], - [9198, 1], - [9197, 1], - [9196, 1], - [9195, 1], - [9194, 1], - [9193, 1], - [9192, 1], - [9191, 1], - [9190, 1], - [9189, 1], - [9188, 1], - [9187, 1], - [9186, 1], - [9185, 1], - [9184, 1], - [9183, 1], - [9182, 1], - [9181, 1], - [9180, 1], - [9179, 1], - [9178, 1], - [9177, 1], - [9176, 1], - [9175, 1], - [9174, 1], - [9173, 1], - [9172, 1], - [9171, 1], - [9170, 1], - [9169, 1], - [9168, 1], - [9167, 1], - [9166, 1], - [9165, 1], - [9164, 1], - [9163, 1], - [9162, 1], - [9161, 1], - [9160, 1], - [9159, 1], - [9158, 1], - [9157, 1], - [9156, 1], - [9155, 1], - [9154, 1], - [9153, 1], - [9152, 1], - [9151, 1], - [9150, 1], - [9149, 1], - [9148, 1], - [9147, 1], - [9146, 1], - [9145, 1], - [9144, 1], - [9143, 1], - [9142, 1], - [9141, 1], - [9083, 0, " "], - [9084, 0, "a"], - [9085, 0, "f"], - [9086, 0, "t"], - [9087, 0, "e"], - [9088, 0, "r"], - [9089, 0, " "], - [9090, 0, "a"], - [9091, 0, "n"], - [9092, 0, "y"], - [9093, 0, " "], - [9094, 0, "s"], - [9095, 0, "e"], - [9096, 0, "q"], - [9097, 0, "u"], - [9098, 0, "e"], - [9099, 0, "n"], - [9100, 0, "c"], - [9101, 0, "e"], - [9102, 0, " "], - [9103, 0, "o"], - [9104, 0, "f"], - [9105, 0, " "], - [9106, 0, "c"], - [9107, 0, "o"], - [9108, 0, "n"], - [9109, 0, "c"], - [9110, 0, "u"], - [9111, 0, "r"], - [9112, 0, "r"], - [9113, 0, "e"], - [9114, 0, "n"], - [9115, 0, "t"], - [9116, 0, " "], - [9117, 0, "m"], - [9118, 0, "o"], - [9119, 0, "d"], - [9120, 0, "i"], - [9121, 0, "f"], - [9122, 0, "i"], - [9123, 0, "c"], - [9124, 0, "a"], - [9125, 0, "t"], - [9126, 0, "i"], - [9127, 0, "o"], - [9128, 0, "n"], - [9129, 0, "s"], - [9130, 0, ","], - [9188, 1], - [9187, 1], - [9187, 0, "."], - [9238, 0, " "], - [9239, 0, "w"], - [9240, 0, "e"], - [9241, 0, " "], - [9242, 0, "p"], - [9243, 0, "r"], - [9244, 0, "o"], - [9245, 0, "v"], - [9246, 0, "e"], - [9247, 0, " "], - [9248, 0, "t"], - [9249, 0, "h"], - [9250, 0, "a"], - [9251, 0, "t"], - [9252, 0, " "], - [9253, 0, "o"], - [9254, 0, "u"], - [9255, 0, "r"], - [9256, 0, " "], - [9257, 0, "a"], - [9258, 0, "l"], - [9259, 0, "g"], - [9260, 0, "o"], - [9261, 0, "r"], - [9262, 0, "i"], - [9263, 0, "t"], - [9264, 0, "h"], - [9265, 0, "m"], - [9266, 0, " "], - [9267, 0, "s"], - [9268, 0, "a"], - [9269, 0, "t"], - [9270, 0, "i"], - [9271, 0, "s"], - [9272, 0, "f"], - [9273, 0, "i"], - [9274, 0, "e"], - [9275, 0, "s"], - [9276, 0, " "], - [9277, 0, "t"], - [9278, 0, "h"], - [9279, 0, "i"], - [9280, 0, "s"], - [9281, 0, " "], - [9282, 0, "r"], - [9283, 0, "e"], - [9284, 0, "q"], - [9285, 0, "u"], - [9286, 0, "i"], - [9287, 0, "r"], - [9288, 0, "e"], - [9289, 0, "m"], - [9290, 0, "e"], - [9291, 0, "n"], - [9292, 0, "t"], - [9247, 0, " "], - [9248, 0, "a"], - [9249, 0, " "], - [9250, 0, "t"], - [9251, 0, "h"], - [9252, 0, "e"], - [9253, 0, "o"], - [9254, 0, "r"], - [9255, 0, "e"], - [9256, 0, "m"], - [9257, 0, " "], - [9258, 0, "t"], - [9259, 0, "o"], - [9260, 0, " "], - [9261, 0, "s"], - [9262, 0, "h"], - [9263, 0, "o"], - [9264, 0, "w"], - [9032, 0, " "], - [9033, 0, "t"], - [9034, 0, "h"], - [9035, 0, "a"], - [9036, 0, "t"], - [9037, 0, " "], - [9038, 0, "c"], - [9039, 0, "a"], - [9040, 0, "n"], - [9041, 0, " "], - [9042, 0, "b"], - [9043, 0, "e"], - [9044, 0, " "], - [9045, 0, "d"], - [9046, 0, "e"], - [9047, 0, "p"], - [9048, 0, "l"], - [9049, 0, "o"], - [9050, 0, "y"], - [9051, 0, "e"], - [9052, 0, "d"], - [9053, 0, " "], - [9054, 0, "o"], - [9055, 0, "n"], - [9056, 0, " "], - [9057, 0, "a"], - [9058, 0, "n"], - [9059, 0, "y"], - [9060, 0, " "], - [9061, 0, "n"], - [9062, 0, "e"], - [9063, 0, "t"], - [9064, 0, "w"], - [9065, 0, "o"], - [9066, 0, "r"], - [9067, 0, "k"], - [9068, 0, " "], - [9069, 0, "t"], - [9070, 0, "o"], - [9071, 0, "p"], - [9072, 0, "o"], - [9073, 0, "l"], - [9074, 0, "o"], - [9075, 0, "g"], - [9076, 0, "y"], - [9710, 1], - [9710, 0, " "], - [9723, 0, ","], - [15315, 0, " "], - [15316, 0, "-"], - [15317, 0, "-"], - [15318, 0, " "], - [15319, 0, "i"], - [15320, 0, "n"], - [15321, 0, " "], - [15322, 0, "o"], - [15323, 0, "t"], - [15324, 0, "h"], - [15325, 0, "e"], - [15326, 0, "r"], - [15327, 0, " "], - [15328, 0, "w"], - [15329, 0, "o"], - [15330, 0, "r"], - [15331, 0, "d"], - [15332, 0, "s"], - [15333, 0, ","], - [15334, 0, " "], - [15335, 0, "t"], - [15336, 0, "h"], - [15337, 0, "e"], - [15338, 0, " "], - [15339, 0, "o"], - [15340, 0, "n"], - [15341, 0, "l"], - [15342, 0, "y"], - [15343, 0, " "], - [15344, 0, "d"], - [15345, 0, "a"], - [15346, 0, "t"], - [15347, 0, "a"], - [15348, 0, "t"], - [15349, 0, "y"], - [15350, 0, "p"], - [15351, 0, "e"], - [15352, 0, " "], - [15353, 0, "i"], - [15354, 0, "t"], - [15355, 0, " "], - [15356, 0, "s"], - [15357, 0, "u"], - [15358, 0, "p"], - [15359, 0, "p"], - [15360, 0, "o"], - [15361, 0, "r"], - [15362, 0, "t"], - [15363, 0, "s"], - [15364, 0, " "], - [15365, 0, "i"], - [15366, 0, "s"], - [15367, 0, " "], - [15368, 0, "a"], - [15369, 0, " "], - [15370, 0, "m"], - [15371, 0, "u"], - [15372, 0, "l"], - [15373, 0, "t"], - [15374, 0, "i"], - [15375, 0, "-"], - [15376, 0, "v"], - [15377, 0, "a"], - [15378, 0, "l"], - [15379, 0, "u"], - [15380, 0, "e"], - [15381, 0, " "], - [15382, 0, "r"], - [15383, 0, "e"], - [15384, 0, "g"], - [15385, 0, "i"], - [15386, 0, "s"], - [15387, 0, "t"], - [15388, 0, "e"], - [15389, 0, "r"], - [21995, 1], - [21995, 1], - [21995, 1], - [21995, 1], - [21995, 1], - [21995, 1], - [21995, 1], - [21995, 1], - [21995, 1], - [21995, 0, "s"], - [21996, 0, "h"], - [21997, 0, "o"], - [21998, 0, "p"], - [21999, 0, "p"], - [22000, 0, "i"], - [22001, 0, "n"], - [22002, 0, "g"], - [22069, 1], - [22068, 1], - [22067, 1], - [22066, 1], - [22065, 1], - [22064, 1], - [22063, 1], - [22062, 1], - [22061, 1], - [22061, 0, "s"], - [22062, 0, "h"], - [22063, 0, "o"], - [22064, 0, "p"], - [22065, 0, "p"], - [22066, 0, "i"], - [22067, 0, "n"], - [22068, 0, "g"], - [22135, 1], - [22134, 1], - [22133, 1], - [22132, 1], - [22131, 1], - [22130, 1], - [22129, 1], - [22128, 1], - [22127, 1], - [22127, 0, "s"], - [22128, 0, "h"], - [22129, 0, "o"], - [22130, 0, "p"], - [22131, 0, "p"], - [22132, 0, "i"], - [22133, 0, "n"], - [22134, 0, "g"], - [22209, 1], - [22208, 1], - [22207, 1], - [22206, 1], - [22205, 1], - [22204, 1], - [22203, 1], - [22202, 1], - [22201, 1], - [22201, 0, "s"], - [22202, 0, "h"], - [22203, 0, "o"], - [22204, 0, "p"], - [22205, 0, "p"], - [22206, 0, "i"], - [22207, 0, "n"], - [22208, 0, "g"], - [22292, 1], - [22291, 1], - [22290, 1], - [22289, 1], - [22288, 1], - [22287, 1], - [22286, 1], - [22285, 1], - [22284, 1], - [22284, 0, "s"], - [22285, 0, "h"], - [22286, 0, "o"], - [22287, 0, "p"], - [22288, 0, "p"], - [22289, 0, "i"], - [22290, 0, "n"], - [22291, 0, "g"], - [22366, 1], - [22365, 1], - [22364, 1], - [22363, 1], - [22362, 1], - [22361, 1], - [22360, 1], - [22359, 1], - [22358, 1], - [22358, 0, "s"], - [22359, 0, "h"], - [22360, 0, "o"], - [22361, 0, "p"], - [22362, 0, "p"], - [22363, 0, "i"], - [22364, 0, "n"], - [22365, 0, "g"], - [22451, 1], - [22450, 1], - [22449, 1], - [22448, 1], - [22447, 1], - [22446, 1], - [22445, 1], - [22444, 1], - [22443, 1], - [22443, 0, "s"], - [22444, 0, "h"], - [22445, 0, "o"], - [22446, 0, "p"], - [22447, 0, "p"], - [22448, 0, "i"], - [22449, 0, "n"], - [22450, 0, "g"], - [22555, 1], - [22554, 1], - [22553, 1], - [22552, 1], - [22551, 1], - [22550, 1], - [22549, 1], - [22548, 1], - [22547, 1], - [22547, 0, "s"], - [22548, 0, "h"], - [22549, 0, "o"], - [22550, 0, "p"], - [22551, 0, "p"], - [22552, 0, "i"], - [22553, 0, "n"], - [22554, 0, "g"], - [22739, 1], - [22738, 1], - [22737, 1], - [22736, 1], - [22735, 1], - [22734, 1], - [22733, 1], - [22732, 1], - [22731, 1], - [22731, 0, "s"], - [22732, 0, "h"], - [22733, 0, "o"], - [22734, 0, "p"], - [22735, 0, "p"], - [22736, 0, "i"], - [22737, 0, "n"], - [22738, 0, "g"], - [22817, 1], - [22816, 1], - [22815, 1], - [22814, 1], - [22813, 1], - [22812, 1], - [22811, 1], - [22810, 1], - [22809, 1], - [22809, 0, "s"], - [22810, 0, "h"], - [22811, 0, "o"], - [22812, 0, "p"], - [22813, 0, "p"], - [22814, 0, "i"], - [22815, 0, "n"], - [22816, 0, "g"], - [22896, 1], - [22895, 1], - [22894, 1], - [22893, 1], - [22892, 1], - [22891, 1], - [22890, 1], - [22889, 1], - [22888, 1], - [22888, 0, "s"], - [22889, 0, "h"], - [22890, 0, "o"], - [22891, 0, "p"], - [22892, 0, "p"], - [22893, 0, "i"], - [22894, 0, "n"], - [22895, 0, "g"], - [22990, 1], - [22989, 1], - [22988, 1], - [22987, 1], - [22986, 1], - [22985, 1], - [22984, 1], - [22983, 1], - [22982, 1], - [22982, 0, "s"], - [22983, 0, "h"], - [22984, 0, "o"], - [22985, 0, "p"], - [22986, 0, "p"], - [22987, 0, "i"], - [22988, 0, "n"], - [22989, 0, "g"], - [23698, 1], - [23697, 1], - [23696, 1], - [23695, 1], - [23694, 1], - [23693, 1], - [23692, 1], - [23691, 1], - [23690, 1], - [23690, 0, "s"], - [23691, 0, "h"], - [23692, 0, "o"], - [23693, 0, "p"], - [23694, 0, "p"], - [23695, 0, "i"], - [23696, 0, "n"], - [23697, 0, "g"], - [23697, 1], - [23696, 1], - [23695, 1], - [23694, 1], - [23693, 1], - [23692, 1], - [23691, 1], - [23690, 1], - [23690, 0, "g"], - [23691, 0, "r"], - [23692, 0, "o"], - [23693, 0, "c"], - [23694, 0, "e"], - [23695, 0, "r"], - [23696, 0, "y"], - [23697, 0, "t"], - [23697, 1], - [22989, 1], - [22988, 1], - [22987, 1], - [22986, 1], - [22985, 1], - [22984, 1], - [22983, 1], - [22982, 1], - [22982, 0, "g"], - [22983, 0, "r"], - [22984, 0, "o"], - [22985, 0, "c"], - [22986, 0, "e"], - [22987, 0, "r"], - [22988, 0, "y"], - [22895, 1], - [22894, 1], - [22893, 1], - [22892, 1], - [22891, 1], - [22890, 1], - [22889, 1], - [22888, 1], - [22888, 0, "g"], - [22889, 0, "r"], - [22890, 0, "o"], - [22891, 0, "c"], - [22892, 0, "e"], - [22893, 0, "r"], - [22894, 0, "y"], - [22816, 1], - [22815, 1], - [22814, 1], - [22813, 1], - [22812, 1], - [22811, 1], - [22810, 1], - [22809, 1], - [22809, 0, "g"], - [22810, 0, "r"], - [22811, 0, "o"], - [22812, 0, "c"], - [22813, 0, "e"], - [22814, 0, "r"], - [22815, 0, "y"], - [22738, 1], - [22737, 1], - [22736, 1], - [22735, 1], - [22734, 1], - [22733, 1], - [22732, 1], - [22731, 1], - [22731, 0, "g"], - [22732, 0, "r"], - [22733, 0, "o"], - [22734, 0, "c"], - [22735, 0, "e"], - [22736, 0, "r"], - [22737, 0, "y"], - [22554, 1], - [22553, 1], - [22552, 1], - [22551, 1], - [22550, 1], - [22549, 1], - [22548, 1], - [22547, 1], - [22547, 0, "g"], - [22548, 0, "r"], - [22549, 0, "o"], - [22550, 0, "c"], - [22551, 0, "e"], - [22552, 0, "r"], - [22553, 0, "y"], - [22450, 1], - [22449, 1], - [22448, 1], - [22447, 1], - [22446, 1], - [22445, 1], - [22444, 1], - [22443, 1], - [22443, 0, "g"], - [22444, 0, "r"], - [22445, 0, "o"], - [22446, 0, "c"], - [22447, 0, "e"], - [22448, 0, "r"], - [22449, 0, "y"], - [22365, 1], - [22364, 1], - [22363, 1], - [22362, 1], - [22361, 1], - [22360, 1], - [22359, 1], - [22358, 1], - [22358, 0, "g"], - [22359, 0, "r"], - [22360, 0, "o"], - [22361, 0, "c"], - [22362, 0, "e"], - [22363, 0, "r"], - [22364, 0, "y"], - [22291, 1], - [22290, 1], - [22289, 1], - [22288, 1], - [22287, 1], - [22286, 1], - [22285, 1], - [22284, 1], - [22284, 0, "g"], - [22285, 0, "r"], - [22286, 0, "o"], - [22287, 0, "c"], - [22288, 0, "e"], - [22289, 0, "r"], - [22290, 0, "y"], - [22208, 1], - [22207, 1], - [22206, 1], - [22205, 1], - [22204, 1], - [22203, 1], - [22202, 1], - [22201, 1], - [22201, 0, "g"], - [22202, 0, "r"], - [22203, 0, "o"], - [22204, 0, "c"], - [22205, 0, "e"], - [22206, 0, "r"], - [22207, 0, "y"], - [22134, 1], - [22133, 1], - [22132, 1], - [22131, 1], - [22130, 1], - [22129, 1], - [22128, 1], - [22127, 1], - [22127, 0, "g"], - [22128, 0, "r"], - [22129, 0, "o"], - [22130, 0, "c"], - [22131, 0, "e"], - [22132, 0, "r"], - [22133, 0, "y"], - [22068, 1], - [22067, 1], - [22066, 1], - [22065, 1], - [22064, 1], - [22063, 1], - [22062, 1], - [22061, 1], - [22061, 0, "g"], - [22062, 0, "r"], - [22063, 0, "o"], - [22064, 0, "c"], - [22065, 0, "e"], - [22066, 0, "r"], - [22067, 0, "y"], - [22002, 1], - [22001, 1], - [22000, 1], - [21999, 1], - [21998, 1], - [21997, 1], - [21996, 1], - [21995, 1], - [21995, 0, "g"], - [21996, 0, "r"], - [21997, 0, "o"], - [21998, 0, "c"], - [21999, 0, "e"], - [22000, 0, "r"], - [22001, 0, "y"], - [26092, 1], - [26091, 1], - [26090, 1], - [26089, 1], - [26088, 1], - [26087, 1], - [26086, 1], - [26085, 1], - [26084, 1], - [26092, 0, " "], - [26093, 0, "$"], - [26094, 0, "p"], - [26095, 0, "$"], - [26107, 1], - [26106, 1], - [26105, 1], - [26104, 1], - [26103, 1], - [26102, 1], - [26101, 1], - [26101, 0, "v"], - [26102, 0, "i"], - [26103, 0, "n"], - [26104, 0, "g"], - [26321, 1], - [26320, 1], - [26319, 1], - [26318, 1], - [26317, 1], - [26316, 1], - [26315, 1], - [26315, 0, "c"], - [26316, 0, "a"], - [26317, 0, "s"], - [26318, 0, "e"], - [25718, 1], - [25717, 1], - [25716, 1], - [25715, 1], - [25714, 1], - [25714, 0, "F"], - [25719, 0, "l"], - [25720, 0, "y"], - [25721, 0, ","], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [25723, 1], - [26564, 1], - [26563, 1], - [26563, 0, "f"], - [26564, 0, "o"], - [26565, 0, "r"], - [30028, 0, " "], - [30029, 0, "a"], - [30030, 0, "s"], - [30031, 0, "y"], - [30032, 0, "n"], - [30033, 0, "c"], - [30034, 0, "h"], - [30035, 0, "r"], - [30036, 0, "o"], - [30037, 0, "n"], - [30038, 0, "o"], - [30039, 0, "u"], - [30040, 0, "s"], - [30074, 0, "b"], - [30074, 1], - [29964, 0, "i"], - [29965, 0, "m"], - [29966, 0, "m"], - [29967, 0, "e"], - [29968, 0, "d"], - [29969, 0, "i"], - [29970, 0, "a"], - [29971, 0, "t"], - [29972, 0, "e"], - [29973, 0, "l"], - [29974, 0, "y"], - [29975, 0, " "], - [46, 0, "\n"], - [47, 0, "\\"], - [48, 0, "P"], - [49, 0, "a"], - [50, 0, "s"], - [51, 0, "s"], - [52, 0, "O"], - [53, 0, "p"], - [54, 0, "t"], - [55, 0, "i"], - [56, 0, "o"], - [57, 0, "n"], - [58, 0, "s"], - [59, 0, "T"], - [60, 0, "o"], - [61, 0, "P"], - [62, 0, "a"], - [63, 0, "c"], - [64, 0, "k"], - [65, 0, "a"], - [66, 0, "g"], - [67, 0, "e"], - [68, 0, "{"], - [69, 0, "h"], - [70, 0, "y"], - [71, 0, "p"], - [72, 0, "h"], - [73, 0, "e"], - [74, 0, "n"], - [75, 0, "s"], - [76, 0, "}"], - [77, 0, "{"], - [78, 0, "u"], - [79, 0, "r"], - [80, 0, "l"], - [81, 0, "}"], - [300, 1], - [299, 1], - [298, 1], - [297, 1], - [296, 1], - [295, 1], - [294, 1], - [293, 1], - [292, 1], - [291, 1], - [290, 1], - [289, 1], - [288, 1], - [287, 1], - [286, 1], - [285, 1], - [284, 1], - [283, 1], - [282, 1], - [281, 1], - [280, 1], - [279, 1], - [278, 1], - [277, 1], - [276, 1], - [275, 1], - [275, 0, "\n"], - [276, 0, "\\"], - [277, 0, "u"], - [278, 0, "s"], - [279, 0, "e"], - [280, 0, "p"], - [281, 0, "a"], - [282, 0, "c"], - [283, 0, "k"], - [284, 0, "a"], - [285, 0, "g"], - [286, 0, "e"], - [287, 0, "{"], - [288, 0, "u"], - [289, 0, "r"], - [290, 0, "l"], - [291, 0, "}"], - [287, 0, "["], - [288, 0, "h"], - [289, 0, "y"], - [290, 0, "p"], - [291, 0, "h"], - [292, 0, "e"], - [293, 0, "n"], - [294, 0, "s"], - [295, 0, "]"], - [47, 0, "%"], - [82, 1], - [81, 1], - [80, 1], - [79, 1], - [78, 1], - [77, 1], - [76, 1], - [75, 1], - [74, 1], - [73, 1], - [72, 1], - [71, 1], - [70, 1], - [69, 1], - [68, 1], - [67, 1], - [66, 1], - [65, 1], - [64, 1], - [63, 1], - [62, 1], - [61, 1], - [60, 1], - [59, 1], - [58, 1], - [57, 1], - [56, 1], - [55, 1], - [54, 1], - [53, 1], - [52, 1], - [51, 1], - [50, 1], - [49, 1], - [48, 1], - [47, 1], - [46, 1], - [239, 0, "\n"], - [240, 0, "\\"], - [241, 0, "u"], - [242, 0, "s"], - [243, 0, "e"], - [244, 0, "p"], - [245, 0, "a"], - [246, 0, "c"], - [247, 0, "k"], - [248, 0, "a"], - [249, 0, "g"], - [250, 0, "e"], - [251, 0, "["], - [252, 0, "h"], - [253, 0, "y"], - [254, 0, "p"], - [255, 0, "h"], - [256, 0, "e"], - [257, 0, "n"], - [258, 0, "b"], - [259, 0, "r"], - [260, 0, "e"], - [261, 0, "a"], - [262, 0, "k"], - [263, 0, "s"], - [264, 0, "]"], - [265, 0, "{"], - [266, 0, "b"], - [267, 0, "r"], - [268, 0, "e"], - [269, 0, "a"], - [270, 0, "k"], - [271, 0, "u"], - [272, 0, "r"], - [273, 0, "l"], - [274, 0, "}"], - [275, 0, " "], - [276, 0, "%"], - [277, 0, " "], - [278, 0, "F"], - [279, 0, "i"], - [280, 0, "x"], - [281, 0, " "], - [282, 0, "U"], - [283, 0, "R"], - [284, 0, "L"], - [285, 0, " "], - [286, 0, "l"], - [287, 0, "i"], - [288, 0, "n"], - [289, 0, "e"], - [290, 0, " "], - [291, 0, "b"], - [292, 0, "r"], - [293, 0, "e"], - [294, 0, "a"], - [295, 0, "k"], - [296, 0, "i"], - [297, 0, "n"], - [298, 0, "g"], - [299, 0, " "], - [300, 0, "w"], - [301, 0, "h"], - [302, 0, "e"], - [303, 0, "n"], - [304, 0, " "], - [305, 0, "u"], - [306, 0, "s"], - [307, 0, "i"], - [308, 0, "n"], - [309, 0, "g"], - [310, 0, " "], - [311, 0, "d"], - [312, 0, "v"], - [313, 0, "i"], - [314, 0, "p"], - [315, 0, "s"], - [316, 0, " "], - [317, 0, "("], - [318, 0, "e"], - [319, 0, "."], - [320, 0, "g"], - [321, 0, "."], - [322, 0, " "], - [323, 0, "a"], - [324, 0, "r"], - [325, 0, "x"], - [326, 0, "i"], - [327, 0, "v"], - [328, 0, "."], - [329, 0, "o"], - [330, 0, "r"], - [331, 0, "g"], - [332, 0, ")"], - [358, 1], - [357, 1], - [356, 1], - [355, 1], - [354, 1], - [353, 1], - [352, 1], - [351, 1], - [350, 1], - [349, 1], - [348, 1], - [347, 1], - [346, 1], - [345, 1], - [344, 1], - [343, 1], - [342, 1], - [341, 1], - [340, 1], - [339, 1], - [338, 1], - [337, 1], - [336, 1], - [335, 1], - [334, 1], - [333, 1], - [239, 0, "\n"], - [240, 0, "\\"], - [241, 0, "u"], - [242, 0, "s"], - [243, 0, "e"], - [244, 0, "p"], - [245, 0, "a"], - [246, 0, "c"], - [247, 0, "k"], - [248, 0, "a"], - [249, 0, "g"], - [250, 0, "e"], - [251, 0, "["], - [252, 0, "h"], - [253, 0, "y"], - [254, 0, "p"], - [255, 0, "h"], - [256, 0, "e"], - [257, 0, "n"], - [258, 0, "s"], - [259, 0, "]"], - [260, 0, "{"], - [261, 0, "u"], - [262, 0, "r"], - [263, 0, "l"], - [264, 0, "}"], - [239, 0, "\n"], - [240, 0, "\\"], - [241, 0, "u"], - [242, 0, "s"], - [243, 0, "e"], - [244, 0, "p"], - [245, 0, "a"], - [246, 0, "c"], - [247, 0, "k"], - [248, 0, "a"], - [249, 0, "g"], - [250, 0, "e"], - [251, 0, "{"], - [252, 0, "h"], - [253, 0, "y"], - [254, 0, "p"], - [255, 0, "e"], - [256, 0, "r"], - [257, 0, "r"], - [258, 0, "e"], - [259, 0, "f"], - [260, 0, "}"], - [260, 1], - [259, 1], - [258, 1], - [257, 1], - [256, 1], - [255, 1], - [254, 1], - [253, 1], - [252, 1], - [251, 1], - [250, 1], - [249, 1], - [248, 1], - [247, 1], - [246, 1], - [245, 1], - [244, 1], - [243, 1], - [242, 1], - [241, 1], - [240, 1], - [239, 1], - [46, 0, "\n"], - [47, 0, "\\"], - [48, 0, "P"], - [49, 0, "a"], - [50, 0, "s"], - [51, 0, "s"], - [52, 0, "O"], - [53, 0, "p"], - [54, 0, "t"], - [55, 0, "i"], - [56, 0, "o"], - [57, 0, "n"], - [58, 0, "s"], - [59, 0, "T"], - [60, 0, "o"], - [61, 0, "P"], - [62, 0, "a"], - [63, 0, "c"], - [64, 0, "k"], - [65, 0, "a"], - [66, 0, "g"], - [67, 0, "e"], - [68, 0, "{"], - [69, 0, "h"], - [70, 0, "y"], - [71, 0, "p"], - [72, 0, "h"], - [73, 0, "e"], - [74, 0, "n"], - [75, 0, "s"], - [76, 0, "}"], - [77, 0, "{"], - [78, 0, "u"], - [79, 0, "r"], - [80, 0, "l"], - [81, 0, "}"], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 1], - [276, 0, "\n"], - [276, 0, "\\"], - [277, 0, "u"], - [278, 0, "s"], - [279, 0, "e"], - [280, 0, "p"], - [281, 0, "a"], - [282, 0, "c"], - [283, 0, "k"], - [284, 0, "a"], - [285, 0, "g"], - [286, 0, "e"], - [287, 0, "{"], - [288, 0, "h"], - [289, 0, "y"], - [290, 0, "p"], - [291, 0, "e"], - [292, 0, "r"], - [293, 0, "r"], - [294, 0, "e"], - [295, 0, "f"], - [296, 0, "}"], - [412, 1], - [411, 1], - [410, 1], - [409, 1], - [408, 1], - [407, 1], - [406, 1], - [405, 1], - [404, 1], - [403, 1], - [402, 1], - [401, 1], - [400, 1], - [399, 1], - [398, 1], - [397, 1], - [396, 1], - [395, 1], - [394, 1], - [393, 1], - [392, 1], - [391, 1], - [13583, 0, " "], - [13584, 0, "A"], - [13585, 0, "t"], - [13586, 0, "t"], - [13587, 0, "i"], - [13588, 0, "y"], - [13589, 0, "a"], - [13590, 0, " "], - [13591, 0, "e"], - [13592, 0, "t"], - [13593, 0, " "], - [13594, 0, "a"], - [13595, 0, "l"], - [13596, 0, "."], - [13597, 0, "~"], - [13598, 0, "\\"], - [13599, 0, "c"], - [13600, 0, "i"], - [13601, 0, "t"], - [13602, 0, "e"], - [13603, 0, "{"], - [13604, 0, "A"], - [13605, 0, "t"], - [13606, 0, "t"], - [13607, 0, "i"], - [13608, 0, "y"], - [13609, 0, "a"], - [13610, 0, ":"], - [13611, 0, "2"], - [13612, 0, "0"], - [13613, 0, "1"], - [13614, 0, "6"], - [13615, 0, "k"], - [13616, 0, "h"], - [13617, 0, "}"], - [13618, 0, " "], - [13619, 0, "f"], - [13620, 0, "u"], - [13621, 0, "r"], - [13622, 0, "t"], - [13623, 0, "h"], - [13624, 0, "e"], - [13625, 0, "r"], - [13626, 0, " "], - [13627, 0, "a"], - [13628, 0, "n"], - [13629, 0, "a"], - [13630, 0, "l"], - [13631, 0, "y"], - [13632, 0, "z"], - [13633, 0, "e"], - [13634, 0, " "], - [13626, 1], - [13625, 1], - [13624, 1], - [13623, 1], - [13622, 1], - [13621, 1], - [13620, 1], - [13619, 1], - [13627, 0, "t"], - [13628, 0, "h"], - [13629, 0, "e"], - [13630, 0, " "], - [13631, 0, "p"], - [13632, 0, "r"], - [13633, 0, "o"], - [13634, 0, "b"], - [13635, 0, "l"], - [13636, 0, "e"], - [13637, 0, "m"], - [13638, 0, " "], - [13639, 0, "o"], - [13640, 0, "f"], - [13641, 0, " "], - [13642, 0, "c"], - [13643, 0, "o"], - [13644, 0, "l"], - [13645, 0, "l"], - [13646, 0, "a"], - [13647, 0, "b"], - [13648, 0, "o"], - [13649, 0, "r"], - [13650, 0, "a"], - [13651, 0, "t"], - [13652, 0, "i"], - [13653, 0, "v"], - [13654, 0, "e"], - [13655, 0, " "], - [13656, 0, "e"], - [13657, 0, "d"], - [13658, 0, "i"], - [13659, 0, "t"], - [13660, 0, "i"], - [13661, 0, "n"], - [13662, 0, "g"], - [13663, 0, " "], - [13664, 0, "o"], - [13665, 0, "f"], - [13666, 0, " "], - [13667, 0, "o"], - [13668, 0, "r"], - [13669, 0, "d"], - [13670, 0, "e"], - [13671, 0, "r"], - [13672, 0, "e"], - [13673, 0, "d"], - [13674, 0, " "], - [13675, 0, "l"], - [13676, 0, "i"], - [13677, 0, "s"], - [13678, 0, "t"], - [13679, 0, "s"], - [13680, 0, ","], - [13681, 0, " "], - [13682, 0, "a"], - [13683, 0, "n"], - [13684, 0, "d"], - [13685, 0, " "], - [13686, 0, "p"], - [13687, 0, "r"], - [13688, 0, "o"], - [13689, 0, "v"], - [13690, 0, "i"], - [13691, 0, "d"], - [13692, 0, "e"], - [13693, 0, " "], - [13694, 0, "a"], - [13695, 0, " "], - [13696, 0, "c"], - [13697, 0, "o"], - [13698, 0, "r"], - [13699, 0, "r"], - [13700, 0, "e"], - [13701, 0, "c"], - [13702, 0, "t"], - [13703, 0, "n"], - [13704, 0, "e"], - [13705, 0, "s"], - [13706, 0, "s"], - [13707, 0, " "], - [13708, 0, "p"], - [13709, 0, "r"], - [13710, 0, "o"], - [13711, 0, "o"], - [13712, 0, "f"], - [13713, 0, " "], - [13714, 0, "o"], - [13715, 0, "f"], - [13716, 0, " "], - [13717, 0, "t"], - [13718, 0, "h"], - [13719, 0, "e"], - [13720, 0, " "], - [13721, 0, "R"], - [13722, 0, "G"], - [13723, 0, "A"], - [13724, 0, " "], - [13725, 0, "p"], - [13726, 0, "r"], - [13727, 0, "o"], - [13728, 0, "t"], - [13729, 0, "o"], - [13730, 0, "c"], - [13731, 0, "o"], - [13732, 0, "l"], - [13733, 0, "."], - [13640, 1], - [13639, 1], - [13638, 1], - [13637, 1], - [13636, 1], - [13635, 1], - [13634, 1], - [13633, 1], - [13632, 1], - [13631, 1], - [13631, 0, "m"], - [13632, 0, "e"], - [13633, 0, "t"], - [13634, 0, "a"], - [13635, 0, "d"], - [13636, 0, "a"], - [13637, 0, "t"], - [13638, 0, "a"], - [13639, 0, " "], - [13640, 0, "o"], - [13641, 0, "v"], - [13642, 0, "e"], - [13643, 0, "r"], - [13644, 0, "h"], - [13645, 0, "e"], - [13646, 0, "a"], - [13647, 0, "d"], - [13648, 0, " "], - [13649, 0, "o"], - [13650, 0, "f"], - [13665, 0, "l"], - [13666, 0, "y"], - [13674, 1], - [13673, 1], - [13672, 1], - [13672, 0, "e"], - [13673, 0, "d"], - [13675, 1], - [13675, 1], - [13675, 1], - [13785, 1], - [13784, 1], - [13783, 1], - [13782, 1], - [13782, 0, "a"], - [13783, 0, "l"], - [13784, 0, "l"], - [13785, 0, " "], - [13786, 0, "o"], - [13787, 0, "f"], - [13788, 0, " "], - [13789, 0, "t"], - [13790, 0, "h"], - [13791, 0, "e"], - [13792, 0, "s"], - [13793, 0, "e"], - [13794, 0, " "], - [13795, 0, "a"], - [13796, 0, "l"], - [13797, 0, "g"], - [13798, 0, "o"], - [13799, 0, "r"], - [13800, 0, "i"], - [13801, 0, "t"], - [13802, 0, "h"], - [13803, 0, "m"], - [13804, 0, "s"], - [13793, 1], - [13792, 1], - [13792, 0, " "], - [13793, 0, "e"], - [13794, 0, "x"], - [13795, 0, "i"], - [13796, 0, "s"], - [13797, 0, "t"], - [13798, 0, "i"], - [13799, 0, "n"], - [13800, 0, "g"], - [13812, 0, " "], - [13813, 0, "f"], - [13814, 0, "o"], - [13815, 0, "r"], - [13816, 0, " "], - [13817, 0, "C"], - [13818, 0, "R"], - [13819, 0, "D"], - [13820, 0, "T"], - [13821, 0, " "], - [13822, 0, "l"], - [13823, 0, "i"], - [13824, 0, "s"], - [13825, 0, "t"], - [13826, 0, "s"], - [13827, 0, " "], - [13828, 0, "a"], - [13829, 0, "n"], - [13830, 0, "d"], - [13831, 0, " "], - [13832, 0, "m"], - [13833, 0, "a"], - [13834, 0, "p"], - [13835, 0, "s"], - [13800, 1], - [13799, 1], - [13798, 1], - [13797, 1], - [13796, 1], - [13795, 1], - [13794, 1], - [13793, 1], - [13793, 0, "a"], - [13794, 0, "f"], - [13795, 0, "o"], - [13796, 0, "r"], - [13797, 0, "e"], - [13798, 0, "m"], - [13799, 0, "e"], - [13800, 0, "n"], - [13801, 0, "t"], - [13802, 0, "i"], - [13803, 0, "o"], - [13804, 0, "n"], - [13805, 0, "e"], - [13806, 0, "d"], - [13891, 1], - [13890, 1], - [13889, 1], - [13888, 1], - [13887, 1], - [13886, 1], - [13885, 1], - [13884, 1], - [13883, 1], - [13882, 1], - [13881, 1], - [13880, 1], - [13879, 1], - [13878, 1], - [13877, 1], - [13876, 1], - [13875, 1], - [13874, 1], - [13873, 1], - [13872, 1], - [13871, 1], - [13870, 1], - [13869, 1], - [13868, 1], - [13857, 1], - [13856, 1], - [13855, 1], - [13855, 0, "e"], - [13856, 0, "a"], - [13857, 0, "c"], - [13858, 0, "h"], - [13859, 0, " "], - [13860, 0, "o"], - [13861, 0, "f"], - [13862, 0, " "], - [13863, 0, "i"], - [13864, 0, "t"], - [13865, 0, "s"], - [13878, 1], - [13877, 1], - [13876, 1], - [13876, 0, "i"], - [13877, 0, "s"], - [13878, 0, " "], - [13879, 0, "a"], - [13896, 1], - [13863, 1], - [13863, 1], - [13863, 1], - [13863, 0, "t"], - [13864, 0, "h"], - [13865, 0, "e"], - [13866, 0, "i"], - [13867, 0, "r"], - [15002, 0, "\n"], - [15003, 0, "\n"], - [15004, 0, "M"], - [15005, 0, "a"], - [15006, 0, "r"], - [15007, 0, "t"], - [15008, 0, "i"], - [15009, 0, "n"], - [15010, 0, " "], - [15011, 0, "e"], - [15012, 0, "t"], - [15013, 0, " "], - [15014, 0, "a"], - [15015, 0, "l"], - [15016, 0, "."], - [15017, 0, "~"], - [15018, 0, "\\"], - [15019, 0, "c"], - [15020, 0, "i"], - [15021, 0, "t"], - [15022, 0, "e"], - [15023, 0, "{"], - [15024, 0, "M"], - [15025, 0, "a"], - [15026, 0, "r"], - [15027, 0, "t"], - [15028, 0, "i"], - [15029, 0, "n"], - [15030, 0, ":"], - [15031, 0, "2"], - [15032, 0, "0"], - [15033, 0, "1"], - [15034, 0, "0"], - [15035, 0, "i"], - [15036, 0, "h"], - [15037, 0, "}"], - [15038, 0, " "], - [15039, 0, "g"], - [15040, 0, "e"], - [15041, 0, "n"], - [15042, 0, "e"], - [15043, 0, "r"], - [15044, 0, "a"], - [15045, 0, "l"], - [15046, 0, "i"], - [15047, 0, "z"], - [15048, 0, "e"], - [15049, 0, " "], - [15050, 0, "L"], - [15051, 0, "o"], - [15052, 0, "g"], - [15053, 0, "o"], - [15054, 0, "o"], - [15055, 0, "t"], - [15056, 0, "~"], - [15057, 0, "\\"], - [15058, 0, "c"], - [15059, 0, "i"], - [15060, 0, "t"], - [15061, 0, "e"], - [15062, 0, "{"], - [15063, 0, "W"], - [15064, 0, "e"], - [15065, 0, "i"], - [15066, 0, "s"], - [15067, 0, "s"], - [15068, 0, ":"], - [15069, 0, "2"], - [15070, 0, "0"], - [15071, 0, "1"], - [15072, 0, "0"], - [15073, 0, "h"], - [15074, 0, "x"], - [15075, 0, "}"], - [15076, 0, " "], - [15077, 0, "t"], - [15078, 0, "o"], - [15079, 0, " "], - [15080, 0, "s"], - [15081, 0, "u"], - [15082, 0, "p"], - [15083, 0, "p"], - [15084, 0, "o"], - [15085, 0, "r"], - [15086, 0, "t"], - [15087, 0, " "], - [15088, 0, "c"], - [15089, 0, "o"], - [15090, 0, "l"], - [15091, 0, "l"], - [15092, 0, "a"], - [15093, 0, "b"], - [15094, 0, "o"], - [15095, 0, "r"], - [15096, 0, "a"], - [15097, 0, "t"], - [15098, 0, "i"], - [15099, 0, "v"], - [15100, 0, "e"], - [15101, 0, " "], - [15102, 0, "e"], - [15103, 0, "d"], - [15104, 0, "i"], - [15105, 0, "t"], - [15106, 0, "i"], - [15107, 0, "n"], - [15108, 0, "g"], - [15109, 0, " "], - [15110, 0, "o"], - [15111, 0, "f"], - [15112, 0, " "], - [15113, 0, "X"], - [15114, 0, "M"], - [15115, 0, "L"], - [15116, 0, " "], - [15117, 0, "d"], - [15118, 0, "o"], - [15119, 0, "c"], - [15120, 0, "u"], - [15121, 0, "m"], - [15122, 0, "e"], - [15123, 0, "n"], - [15124, 0, "t"], - [15125, 0, "s"], - [15126, 0, "~"], - [15127, 0, "-"], - [15128, 0, "-"], - [15129, 0, " "], - [15130, 0, "t"], - [15131, 0, "h"], - [15132, 0, "a"], - [15133, 0, "t"], - [15134, 0, " "], - [15135, 0, "i"], - [15136, 0, "s"], - [15137, 0, ","], - [15138, 0, " "], - [15139, 0, "a"], - [15140, 0, " "], - [15141, 0, "t"], - [15142, 0, "r"], - [15143, 0, "e"], - [15144, 0, "e"], - [15145, 0, " "], - [15146, 0, "o"], - [15147, 0, "f"], - [15148, 0, " "], - [15149, 0, "n"], - [15150, 0, "e"], - [15151, 0, "s"], - [15152, 0, "t"], - [15153, 0, "e"], - [15154, 0, "d"], - [15155, 0, " "], - [15156, 0, "o"], - [15157, 0, "r"], - [15158, 0, "d"], - [15159, 0, "e"], - [15160, 0, "r"], - [15161, 0, "e"], - [15162, 0, "d"], - [15163, 0, " "], - [15164, 0, "l"], - [15165, 0, "i"], - [15166, 0, "s"], - [15167, 0, "t"], - [15168, 0, "s"], - [15169, 0, "."], - [15170, 0, " "], - [15171, 0, "A"], - [15172, 0, "s"], - [15173, 0, " "], - [15174, 0, "d"], - [15175, 0, "i"], - [15176, 0, "s"], - [15177, 0, "c"], - [15178, 0, "u"], - [15179, 0, "s"], - [15180, 0, "s"], - [15181, 0, "e"], - [15182, 0, "d"], - [15004, 0, "O"], - [15005, 0, "n"], - [15006, 0, " "], - [15007, 0, "t"], - [15008, 0, "h"], - [15009, 0, "e"], - [15010, 0, " "], - [15011, 0, "o"], - [15012, 0, "t"], - [15013, 0, "h"], - [15014, 0, "e"], - [15015, 0, "r"], - [15016, 0, " "], - [15017, 0, "h"], - [15018, 0, "a"], - [15019, 0, "n"], - [15020, 0, "d"], - [15021, 0, ","], - [15022, 0, " "], - [15202, 0, " "], - [15203, 0, "i"], - [15204, 0, "n"], - [15205, 0, " "], - [15206, 0, "S"], - [15207, 0, "e"], - [15208, 0, "c"], - [15209, 0, "t"], - [15210, 0, "i"], - [15211, 0, "o"], - [15212, 0, "n"], - [15213, 0, "~"], - [15214, 0, "\\"], - [15215, 0, "r"], - [15216, 0, "e"], - [15217, 0, "f"], - [15218, 0, "{"], - [15219, 0, "s"], - [15220, 0, "e"], - [15221, 0, "c"], - [15222, 0, ":"], - [15223, 0, "j"], - [15224, 0, "s"], - [15225, 0, "o"], - [15226, 0, "n"], - [15227, 0, "-"], - [15228, 0, "x"], - [15229, 0, "m"], - [15230, 0, "l"], - [15231, 0, "}"], - [15232, 0, ","], - [15233, 0, " "], - [15234, 0, "s"], - [15235, 0, "u"], - [15236, 0, "c"], - [15237, 0, "h"], - [15238, 0, " "], - [15188, 0, "~"], - [15189, 0, "-"], - [15190, 0, "-"], - [15191, 0, " "], - [15192, 0, "w"], - [15193, 0, "i"], - [15194, 0, "t"], - [15195, 0, "h"], - [15196, 0, "o"], - [15197, 0, "u"], - [15198, 0, "t"], - [15199, 0, " "], - [15200, 0, "a"], - [15201, 0, " "], - [15202, 0, "m"], - [15203, 0, "a"], - [15204, 0, "p"], - [15205, 0, " "], - [15206, 0, "d"], - [15207, 0, "a"], - [15208, 0, "t"], - [15209, 0, "a"], - [15209, 1], - [15208, 1], - [15207, 1], - [15206, 1], - [15205, 1], - [15204, 1], - [15203, 1], - [15202, 1], - [15201, 1], - [15200, 1], - [15200, 0, "n"], - [15201, 0, "e"], - [15202, 0, "s"], - [15203, 0, "t"], - [15204, 0, "e"], - [15205, 0, "d"], - [15206, 0, " "], - [15207, 0, "m"], - [15208, 0, "a"], - [15209, 0, "p"], - [15210, 0, "s"], - [15190, 1], - [15189, 1], - [15188, 1], - [15259, 0, "a"], - [15260, 0, " "], - [15261, 0, "s"], - [15262, 0, "t"], - [15263, 0, "r"], - [15264, 0, "u"], - [15265, 0, "c"], - [15266, 0, "t"], - [15267, 0, "u"], - [15268, 0, "r"], - [15269, 0, "e"], - [15270, 0, " "], - [15271, 0, "d"], - [15272, 0, "o"], - [15273, 0, "e"], - [15274, 0, "s"], - [15275, 0, " "], - [15276, 0, "n"], - [15277, 0, "o"], - [15278, 0, "t"], - [15279, 0, " "], - [15280, 0, "c"], - [15281, 0, "a"], - [15282, 0, "p"], - [15283, 0, "t"], - [15284, 0, "u"], - [15285, 0, "r"], - [15286, 0, "e"], - [15287, 0, " "], - [15288, 0, "t"], - [15289, 0, "h"], - [15290, 0, "e"], - [15291, 0, " "], - [15292, 0, "e"], - [15293, 0, "x"], - [15294, 0, "p"], - [15295, 0, "r"], - [15296, 0, "e"], - [15297, 0, "s"], - [15298, 0, "s"], - [15299, 0, "i"], - [15300, 0, "v"], - [15301, 0, "i"], - [15302, 0, "t"], - [15303, 0, "y"], - [15304, 0, " "], - [15305, 0, "o"], - [15306, 0, "f"], - [15307, 0, " "], - [15308, 0, "J"], - [15309, 0, "S"], - [15310, 0, "O"], - [15311, 0, "N"], - [15312, 0, "."], - [15303, 1], - [15302, 1], - [15301, 1], - [15301, 0, "e"], - [15302, 0, "n"], - [15303, 0, "e"], - [15304, 0, "s"], - [15305, 0, "s"], - [41134, 0, " "], - [41135, 0, "d"], - [41136, 0, "o"], - [41137, 0, " "], - [41138, 0, "n"], - [41139, 0, "o"], - [41140, 0, "t"], - [41141, 0, " "], - [41142, 0, "d"], - [41143, 0, "e"], - [41144, 0, "p"], - [41145, 0, "e"], - [41146, 0, "n"], - [41147, 0, "d"], - [41148, 0, " "], - [41149, 0, "o"], - [41150, 0, "n"], - [41151, 0, " "], - [41152, 0, "$"], - [41153, 0, "A"], - [41154, 0, "_"], - [41155, 0, "q"], - [41156, 0, "$"], - [41157, 0, " "], - [41158, 0, "("], - [41159, 0, "t"], - [41160, 0, "h"], - [41161, 0, "e"], - [41162, 0, " "], - [41163, 0, "s"], - [41164, 0, "t"], - [41165, 0, "a"], - [41166, 0, "t"], - [41167, 0, "e"], - [41168, 0, " "], - [41169, 0, "o"], - [41170, 0, "f"], - [41171, 0, " "], - [41172, 0, "a"], - [41173, 0, "n"], - [41174, 0, "y"], - [41175, 0, " "], - [41176, 0, "o"], - [41177, 0, "t"], - [41178, 0, "h"], - [41179, 0, "e"], - [41180, 0, "r"], - [41181, 0, " "], - [41182, 0, "r"], - [41183, 0, "e"], - [41184, 0, "p"], - [41185, 0, "l"], - [41186, 0, "i"], - [41187, 0, "c"], - [41188, 0, "a"], - [41189, 0, " "], - [41190, 0, "$"], - [41191, 0, "q"], - [41192, 0, "\\"], - [41192, 0, " "], - [41194, 0, "n"], - [41195, 0, "e"], - [41196, 0, "q"], - [41197, 0, " "], - [41198, 0, "q"], - [41198, 1], - [41198, 0, "p"], - [41199, 0, "$"], - [41200, 0, ")"], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [41201, 1], - [78117, 0, "\n"], - [78118, 0, "\n"], - [78119, 0, "\\"], - [78120, 0, "b"], - [78121, 0, "e"], - [78122, 0, "g"], - [78123, 0, "i"], - [78124, 0, "n"], - [78125, 0, "{"], - [78126, 0, "I"], - [78127, 0, "E"], - [78128, 0, "E"], - [78129, 0, "E"], - [78130, 0, "b"], - [78131, 0, "i"], - [78132, 0, "o"], - [78133, 0, "g"], - [78134, 0, "r"], - [78135, 0, "a"], - [78136, 0, "p"], - [78137, 0, "h"], - [78138, 0, "y"], - [78139, 0, "}"], - [78140, 0, "{"], - [78141, 0, "M"], - [78142, 0, "a"], - [78143, 0, "r"], - [78144, 0, "t"], - [78145, 0, "i"], - [78146, 0, "n"], - [78147, 0, " "], - [78148, 0, "K"], - [78149, 0, "l"], - [78150, 0, "e"], - [78151, 0, "p"], - [78152, 0, "p"], - [78153, 0, "m"], - [78154, 0, "a"], - [78155, 0, "n"], - [78156, 0, "n"], - [78157, 0, "}"], - [78158, 0, "\n"], - [78159, 0, "T"], - [78160, 0, "O"], - [78161, 0, "D"], - [78162, 0, "O"], - [78163, 0, "\n"], - [78164, 0, "\\"], - [78165, 0, "e"], - [78166, 0, "n"], - [78167, 0, "d"], - [78168, 0, "{"], - [78169, 0, "I"], - [78170, 0, "E"], - [78171, 0, "E"], - [78172, 0, "E"], - [78173, 0, "b"], - [78174, 0, "i"], - [78175, 0, "o"], - [78176, 0, "g"], - [78177, 0, "r"], - [78178, 0, "a"], - [78179, 0, "p"], - [78180, 0, "h"], - [78181, 0, "y"], - [78182, 0, "}"], - [78183, 0, "\n"], - [78184, 0, "\n"], - [78185, 0, "\\"], - [78186, 0, "b"], - [78187, 0, "e"], - [78188, 0, "g"], - [78189, 0, "i"], - [78190, 0, "n"], - [78191, 0, "{"], - [78192, 0, "I"], - [78193, 0, "E"], - [78194, 0, "E"], - [78195, 0, "E"], - [78196, 0, "b"], - [78197, 0, "i"], - [78198, 0, "o"], - [78199, 0, "g"], - [78200, 0, "r"], - [78201, 0, "a"], - [78202, 0, "p"], - [78203, 0, "h"], - [78204, 0, "y"], - [78205, 0, "}"], - [78206, 0, "{"], - [78207, 0, "A"], - [78208, 0, "l"], - [78209, 0, "a"], - [78210, 0, "s"], - [78211, 0, "t"], - [78212, 0, "a"], - [78213, 0, "i"], - [78214, 0, "r"], - [78215, 0, " "], - [78216, 0, "R"], - [78217, 0, "."], - [78218, 0, " "], - [78218, 1], - [78218, 0, "\\"], - [78219, 0, " "], - [78220, 0, "B"], - [78221, 0, "e"], - [78222, 0, "r"], - [78223, 0, "e"], - [78224, 0, "s"], - [78225, 0, "f"], - [78226, 0, "o"], - [78227, 0, "r"], - [78228, 0, "d"], - [78229, 0, "}"], - [78218, 1], - [78229, 0, "\n"], - [78230, 0, "\\"], - [78231, 0, "e"], - [78232, 0, "n"], - [78233, 0, "d"], - [78234, 0, "{"], - [78235, 0, "I"], - [78236, 0, "E"], - [78237, 0, "E"], - [78238, 0, "E"], - [78239, 0, "b"], - [78240, 0, "i"], - [78241, 0, "o"], - [78242, 0, "g"], - [78243, 0, "r"], - [78244, 0, "a"], - [78245, 0, "p"], - [78246, 0, "h"], - [78247, 0, "y"], - [78248, 0, "}"], - [78230, 0, "\n"], - [78230, 0, "T"], - [78231, 0, "O"], - [78232, 0, "D"], - [78233, 0, "O"], - [78140, 0, "["], - [78141, 0, "{"], - [78142, 0, "\\"], - [78143, 0, "i"], - [78144, 0, "n"], - [78145, 0, "c"], - [78146, 0, "l"], - [78147, 0, "u"], - [78148, 0, "d"], - [78149, 0, "e"], - [78150, 0, "g"], - [78151, 0, "r"], - [78152, 0, "a"], - [78153, 0, "p"], - [78154, 0, "h"], - [78155, 0, "i"], - [78156, 0, "c"], - [78157, 0, "s"], - [78158, 0, "["], - [78159, 0, "]"], - [78160, 0, "{"], - [78161, 0, "m"], - [78162, 0, "k"], - [78163, 0, "4"], - [78164, 0, "2"], - [78165, 0, "8"], - [78166, 0, "."], - [78167, 0, "j"], - [78168, 0, "p"], - [78169, 0, "g"], - [78170, 0, "}"], - [78171, 0, "}"], - [78172, 0, "]"], - [78159, 0, "w"], - [78160, 0, "i"], - [78161, 0, "d"], - [78162, 0, "t"], - [78163, 0, "h"], - [78164, 0, "="], - [78165, 0, "1"], - [78166, 0, "i"], - [78167, 0, "n"], - [78248, 0, "["], - [78249, 0, "]"], - [78249, 0, "{"], - [78250, 0, "}"], - [78250, 0, "\\"], - [78251, 0, "i"], - [78252, 0, "n"], - [78253, 0, "c"], - [78254, 0, "l"], - [78255, 0, "u"], - [78256, 0, "d"], - [78257, 0, "e"], - [78258, 0, "g"], - [78259, 0, "r"], - [78260, 0, "a"], - [78261, 0, "p"], - [78262, 0, "h"], - [78263, 0, "i"], - [78264, 0, "c"], - [78265, 0, "s"], - [78266, 0, "["], - [78267, 0, "w"], - [78268, 0, "i"], - [78269, 0, "d"], - [78270, 0, "t"], - [78271, 0, "h"], - [78272, 0, "="], - [78273, 0, "1"], - [78274, 0, "i"], - [78275, 0, "n"], - [78276, 0, "]"], - [78277, 0, "{"], - [78278, 0, "a"], - [78279, 0, "r"], - [78280, 0, "b"], - [78281, 0, "3"], - [78282, 0, "3"], - [78283, 0, "."], - [78284, 0, "j"], - [78285, 0, "p"], - [78286, 0, "g"], - [78287, 0, "}"], - [78287, 1], - [78287, 0, "}"], - [78317, 1], - [78316, 1], - [78315, 1], - [78314, 1], - [78314, 0, "i"], - [78315, 0, "s"], - [78316, 0, " "], - [78317, 0, "a"], - [78318, 0, " "], - [78319, 0, "s"], - [78320, 0, "e"], - [78320, 1], - [78319, 1], - [78319, 0, "S"], - [78320, 0, "e"], - [78321, 0, "n"], - [78322, 0, "i"], - [78323, 0, "o"], - [78324, 0, "r"], - [78325, 0, " "], - [78326, 0, "L"], - [78327, 0, "e"], - [78328, 0, "c"], - [78329, 0, "t"], - [78330, 0, "u"], - [78331, 0, "r"], - [78332, 0, "e"], - [78333, 0, "r"], - [78334, 0, " "], - [78335, 0, "i"], - [78336, 0, "n"], - [78337, 0, " "], - [78338, 0, "t"], - [78339, 0, "h"], - [78340, 0, "e"], - [78341, 0, " "], - [78342, 0, "C"], - [78343, 0, "o"], - [78344, 0, "m"], - [78345, 0, "p"], - [78346, 0, "u"], - [78347, 0, "t"], - [78348, 0, "e"], - [78349, 0, "r"], - [78350, 0, " "], - [78351, 0, "L"], - [78352, 0, "a"], - [78353, 0, "b"], - [78354, 0, "o"], - [78355, 0, "r"], - [78356, 0, "a"], - [78357, 0, "t"], - [78358, 0, "o"], - [78359, 0, "r"], - [78360, 0, "y"], - [78361, 0, " "], - [78362, 0, "a"], - [78363, 0, "t"], - [78364, 0, " "], - [78365, 0, "t"], - [78366, 0, "h"], - [78367, 0, "e"], - [78368, 0, " "], - [78369, 0, "U"], - [78370, 0, "n"], - [78371, 0, "i"], - [78372, 0, "v"], - [78373, 0, "e"], - [78374, 0, "r"], - [78375, 0, "s"], - [78376, 0, "i"], - [78377, 0, "t"], - [78378, 0, "y"], - [78379, 0, " "], - [78380, 0, "o"], - [78381, 0, "f"], - [78382, 0, " "], - [78383, 0, "C"], - [78384, 0, "a"], - [78385, 0, "m"], - [78386, 0, "b"], - [78387, 0, "r"], - [78388, 0, "i"], - [78389, 0, "d"], - [78390, 0, "g"], - [78391, 0, "e"], - [78392, 0, "."], - [78393, 0, " "], - [78394, 0, "H"], - [78395, 0, "e"], - [78396, 0, " "], - [78397, 0, "o"], - [78398, 0, "b"], - [78399, 0, "t"], - [78400, 0, "a"], - [78401, 0, "i"], - [78402, 0, "n"], - [78403, 0, "e"], - [78404, 0, "d"], - [78405, 0, " "], - [78406, 0, "h"], - [78407, 0, "i"], - [78408, 0, "s"], - [78409, 0, " "], - [78410, 0, "P"], - [78411, 0, "h"], - [78412, 0, "D"], - [78413, 0, " "], - [78414, 0, "f"], - [78415, 0, "r"], - [78416, 0, "o"], - [78417, 0, "m"], - [78418, 0, " "], - [78419, 0, "t"], - [78420, 0, "h"], - [78421, 0, "e"], - [78422, 0, " "], - [78423, 0, "U"], - [78424, 0, "n"], - [78425, 0, "i"], - [78426, 0, "v"], - [78427, 0, "e"], - [78428, 0, "r"], - [78429, 0, "s"], - [78430, 0, "i"], - [78431, 0, "t"], - [78432, 0, "y"], - [78433, 0, " "], - [78434, 0, "o"], - [78435, 0, "f"], - [78436, 0, " "], - [78437, 0, "C"], - [78438, 0, "a"], - [78439, 0, "m"], - [78440, 0, "b"], - [78441, 0, "r"], - [78442, 0, "i"], - [78443, 0, "d"], - [78444, 0, "g"], - [78445, 0, "e"], - [78446, 0, ","], - [78447, 0, " "], - [78448, 0, "w"], - [78449, 0, "o"], - [78450, 0, "r"], - [78451, 0, "k"], - [78452, 0, "i"], - [78453, 0, "n"], - [78454, 0, "g"], - [78455, 0, " "], - [78456, 0, "a"], - [78457, 0, "t"], - [78458, 0, " "], - [78459, 0, "t"], - [78460, 0, "h"], - [78461, 0, "e"], - [78462, 0, " "], - [78463, 0, "i"], - [78464, 0, "n"], - [78465, 0, "t"], - [78466, 0, "e"], - [78467, 0, "r"], - [78468, 0, "s"], - [78469, 0, "e"], - [78470, 0, "c"], - [78471, 0, "t"], - [78472, 0, "i"], - [78473, 0, "o"], - [78474, 0, "n"], - [78475, 0, " "], - [78476, 0, "o"], - [78477, 0, "f"], - [78478, 0, " "], - [78479, 0, "m"], - [78480, 0, "o"], - [78481, 0, "b"], - [78482, 0, "i"], - [78483, 0, "l"], - [78484, 0, "e"], - [78485, 0, " "], - [78486, 0, "c"], - [78487, 0, "o"], - [78488, 0, "m"], - [78489, 0, "p"], - [78490, 0, "u"], - [78491, 0, "t"], - [78492, 0, "i"], - [78493, 0, "n"], - [78494, 0, "g"], - [78495, 0, " "], - [78496, 0, "a"], - [78497, 0, "n"], - [78498, 0, "d"], - [78499, 0, " "], - [78500, 0, "c"], - [78501, 0, "o"], - [78502, 0, "m"], - [78503, 0, "p"], - [78504, 0, "u"], - [78505, 0, "t"], - [78506, 0, "e"], - [78507, 0, "r"], - [78508, 0, " "], - [78509, 0, "s"], - [78510, 0, "e"], - [78511, 0, "c"], - [78512, 0, "u"], - [78513, 0, "r"], - [78514, 0, "i"], - [78515, 0, "t"], - [78516, 0, "y"], - [78517, 0, "."], - [78518, 0, " "], - [78519, 0, "T"], - [78520, 0, "O"], - [78521, 0, "D"], - [78522, 0, "O"], - [78523, 0, " "], - [78524, 0, "m"], - [78525, 0, "o"], - [78526, 0, "r"], - [78527, 0, "e"], - [78528, 0, " "], - [78529, 0, "t"], - [78530, 0, "e"], - [78531, 0, "x"], - [78532, 0, "t"], - [78204, 1], - [78203, 1], - [78202, 1], - [78201, 1], - [78201, 0, "i"], - [78202, 0, "s"], - [78203, 0, " "], - [78204, 0, "a"], - [78205, 0, " "], - [78206, 0, "R"], - [78207, 0, "e"], - [78208, 0, "s"], - [78209, 0, "e"], - [78210, 0, "a"], - [78211, 0, "r"], - [78212, 0, "c"], - [78213, 0, "h"], - [78214, 0, " "], - [78215, 0, "A"], - [78216, 0, "s"], - [78217, 0, "s"], - [78218, 0, "o"], - [78219, 0, "c"], - [78220, 0, "i"], - [78221, 0, "a"], - [78222, 0, "t"], - [78223, 0, "e"], - [78224, 0, " "], - [78225, 0, "a"], - [78226, 0, "t"], - [78226, 1], - [78225, 1], - [78225, 0, "i"], - [78226, 0, "n"], - [78227, 0, " "], - [78228, 0, "t"], - [78229, 0, "h"], - [78230, 0, "e"], - [78231, 0, " "], - [78232, 0, "C"], - [78233, 0, "o"], - [78234, 0, "m"], - [78235, 0, "p"], - [78236, 0, "u"], - [78237, 0, "t"], - [78238, 0, "e"], - [78239, 0, "r"], - [78240, 0, " "], - [78241, 0, "L"], - [78242, 0, "a"], - [78243, 0, "b"], - [78244, 0, "o"], - [78245, 0, "r"], - [78246, 0, "a"], - [78247, 0, "t"], - [78248, 0, "o"], - [78249, 0, "r"], - [78250, 0, "y"], - [78251, 0, " "], - [78252, 0, "a"], - [78253, 0, "t"], - [78254, 0, " "], - [78255, 0, "t"], - [78256, 0, "h"], - [78257, 0, "e"], - [78258, 0, " "], - [78259, 0, "U"], - [78260, 0, "n"], - [78261, 0, "i"], - [78262, 0, "v"], - [78263, 0, "e"], - [78264, 0, "r"], - [78265, 0, "s"], - [78266, 0, "i"], - [78267, 0, "t"], - [78268, 0, "y"], - [78269, 0, " "], - [78270, 0, "o"], - [78271, 0, "f"], - [78272, 0, " "], - [78273, 0, "C"], - [78274, 0, "a"], - [78275, 0, "m"], - [78276, 0, "b"], - [78277, 0, "r"], - [78278, 0, "i"], - [78279, 0, "d"], - [78280, 0, "g"], - [78281, 0, "e"], - [78282, 0, "."], - [78283, 0, " "], - [78284, 0, "I"], - [78285, 0, "n"], - [78286, 0, " "], - [78287, 0, "h"], - [78288, 0, "i"], - [78289, 0, "s"], - [78290, 0, " "], - [78291, 0, "c"], - [78292, 0, "u"], - [78293, 0, "r"], - [78294, 0, "r"], - [78295, 0, "e"], - [78295, 1], - [78294, 1], - [78293, 1], - [78292, 1], - [78291, 1], - [78290, 1], - [78289, 1], - [78288, 1], - [78287, 1], - [78286, 1], - [78285, 1], - [78284, 1], - [78284, 0, "H"], - [78284, 1], - [78284, 0, "I"], - [78285, 0, "n"], - [78286, 0, " "], - [78287, 0, "t"], - [78288, 0, "h"], - [78289, 0, "i"], - [78290, 0, "s"], - [78291, 0, " "], - [78292, 0, "c"], - [78293, 0, "u"], - [78294, 0, "r"], - [78295, 0, "r"], - [78296, 0, "e"], - [78297, 0, "n"], - [78298, 0, "t"], - [78299, 0, " "], - [78300, 0, "r"], - [78301, 0, "e"], - [78302, 0, "s"], - [78303, 0, "e"], - [78304, 0, "a"], - [78305, 0, "r"], - [78306, 0, "c"], - [78307, 0, "h"], - [78308, 0, " "], - [78288, 1], - [78287, 1], - [78286, 1], - [78285, 1], - [78284, 1], - [78284, 0, "H"], - [78305, 0, "p"], - [78306, 0, "r"], - [78307, 0, "o"], - [78308, 0, "j"], - [78309, 0, "e"], - [78310, 0, "c"], - [78311, 0, "t"], - [78312, 0, ","], - [78313, 0, " "], - [78314, 0, "T"], - [78315, 0, "R"], - [78316, 0, "V"], - [78317, 0, "E"], - [78318, 0, " "], - [78319, 0, "D"], - [78320, 0, "a"], - [78321, 0, "t"], - [78322, 0, "a"], - [78323, 0, ","], - [78324, 0, " "], - [78325, 0, "i"], - [78326, 0, "s"], - [78327, 0, " "], - [78328, 0, "w"], - [78329, 0, "o"], - [78330, 0, "r"], - [78331, 0, "k"], - [78332, 0, "i"], - [78333, 0, "n"], - [78334, 0, "g"], - [78335, 0, " "], - [78336, 0, "t"], - [78337, 0, "o"], - [78338, 0, "w"], - [78339, 0, "a"], - [78340, 0, "r"], - [78341, 0, "d"], - [78342, 0, "s"], - [78343, 0, " "], - [78344, 0, "b"], - [78345, 0, "e"], - [78346, 0, "t"], - [78347, 0, "t"], - [78348, 0, "e"], - [78349, 0, "r"], - [78350, 0, " "], - [78351, 0, "s"], - [78352, 0, "e"], - [78353, 0, "c"], - [78354, 0, "u"], - [78355, 0, "r"], - [78356, 0, "i"], - [78357, 0, "t"], - [78358, 0, "y"], - [78359, 0, " "], - [78360, 0, "a"], - [78361, 0, "n"], - [78362, 0, "d"], - [78363, 0, " "], - [78364, 0, "p"], - [78365, 0, "r"], - [78366, 0, "i"], - [78367, 0, "v"], - [78368, 0, "a"], - [78369, 0, "c"], - [78370, 0, "y"], - [78371, 0, " "], - [78372, 0, "i"], - [78373, 0, "n"], - [78374, 0, " "], - [78375, 0, "c"], - [78376, 0, "l"], - [78377, 0, "o"], - [78378, 0, "u"], - [78379, 0, "d"], - [78380, 0, " "], - [78381, 0, "a"], - [78382, 0, "p"], - [78383, 0, "p"], - [78384, 0, "l"], - [78385, 0, "i"], - [78386, 0, "c"], - [78387, 0, "a"], - [78388, 0, "t"], - [78389, 0, "i"], - [78390, 0, "o"], - [78391, 0, "n"], - [78392, 0, "s"], - [78375, 0, "c"], - [78376, 0, "o"], - [78377, 0, "l"], - [78378, 0, "l"], - [78379, 0, "a"], - [78380, 0, "b"], - [78381, 0, "o"], - [78382, 0, "r"], - [78383, 0, "a"], - [78384, 0, "t"], - [78385, 0, "i"], - [78386, 0, "v"], - [78387, 0, "e"], - [78388, 0, " "], - [78326, 1], - [78325, 1], - [78324, 1], - [78331, 1], - [78330, 1], - [78329, 1], - [78329, 0, "s"], - [78402, 0, " "], - [78403, 0, "b"], - [78404, 0, "y"], - [78405, 0, " "], - [78406, 0, "a"], - [78407, 0, "p"], - [78408, 0, "p"], - [78409, 0, "l"], - [78410, 0, "y"], - [78411, 0, "i"], - [78412, 0, "n"], - [78413, 0, "g"], - [78414, 0, " "], - [78415, 0, "e"], - [78416, 0, "n"], - [78417, 0, "d"], - [78418, 0, "-"], - [78419, 0, "t"], - [78420, 0, "o"], - [78421, 0, "-"], - [78422, 0, "e"], - [78423, 0, "n"], - [78424, 0, "d"], - [78425, 0, " "], - [78426, 0, "e"], - [78427, 0, "n"], - [78428, 0, "c"], - [78429, 0, "r"], - [78430, 0, "y"], - [78431, 0, "p"], - [78432, 0, "t"], - [78433, 0, "i"], - [78434, 0, "o"], - [78435, 0, "n"], - [78436, 0, " "], - [78383, 1], - [78382, 1], - [78381, 1], - [78380, 1], - [78379, 1], - [78378, 1], - [78377, 1], - [78376, 1], - [78375, 1], - [78374, 1], - [78373, 1], - [78372, 1], - [78371, 1], - [78370, 1], - [78423, 0, "t"], - [78424, 0, "o"], - [78425, 0, " "], - [78426, 0, "c"], - [78427, 0, "o"], - [78428, 0, "l"], - [78429, 0, "l"], - [78430, 0, "a"], - [78431, 0, "b"], - [78432, 0, "o"], - [78433, 0, "r"], - [78434, 0, "a"], - [78435, 0, "t"], - [78436, 0, "i"], - [78437, 0, "v"], - [78438, 0, "e"], - [78439, 0, "l"], - [78440, 0, "y"], - [78441, 0, " "], - [78442, 0, "e"], - [78443, 0, "d"], - [78444, 0, "i"], - [78445, 0, "t"], - [78446, 0, "a"], - [78447, 0, "b"], - [78448, 0, "l"], - [78449, 0, "e"], - [78450, 0, " "], - [78391, 0, " "], - [78392, 0, "m"], - [78393, 0, "a"], - [78394, 0, "i"], - [78395, 0, "n"], - [78396, 0, "t"], - [78397, 0, "a"], - [78398, 0, "i"], - [78399, 0, "n"], - [78400, 0, "i"], - [78401, 0, "n"], - [78402, 0, "g"], - [78403, 0, " "], - [78403, 1], - [78402, 1], - [78401, 1], - [78400, 1], - [78399, 1], - [78398, 1], - [78397, 1], - [78396, 1], - [78395, 1], - [78394, 1], - [78393, 1], - [78392, 1], - [78391, 1], - [78451, 0, "a"], - [78452, 0, "p"], - [78453, 0, "p"], - [78454, 0, "l"], - [78455, 0, "i"], - [78456, 0, "c"], - [78457, 0, "a"], - [78458, 0, "t"], - [78459, 0, "i"], - [78460, 0, "o"], - [78461, 0, "n"], - [78462, 0, " "], - [78463, 0, "d"], - [78464, 0, "a"], - [78465, 0, "t"], - [78466, 0, "a"], - [78467, 0, "."], - [78468, 0, " "], - [78469, 0, "H"], - [78470, 0, "e"], - [78471, 0, " "], - [78472, 0, "p"], - [78473, 0, "r"], - [78474, 0, "e"], - [78475, 0, "v"], - [78476, 0, "i"], - [78477, 0, "o"], - [78478, 0, "u"], - [78479, 0, "s"], - [78480, 0, "l"], - [78481, 0, "y"], - [78482, 0, " "], - [78482, 1], - [78481, 1], - [78480, 1], - [78479, 1], - [78478, 1], - [78477, 1], - [78476, 1], - [78475, 1], - [78474, 1], - [78473, 1], - [78472, 1], - [78471, 1], - [78470, 1], - [78470, 0, "i"], - [78471, 0, "s"], - [78472, 0, " "], - [78473, 0, "b"], - [78474, 0, "o"], - [78475, 0, "o"], - [78476, 0, "k"], - [78477, 0, " "], - [78478, 0, "\\"], - [78479, 0, "e"], - [78480, 0, "m"], - [78481, 0, "p"], - [78482, 0, "h"], - [78483, 0, "{"], - [78484, 0, "D"], - [78485, 0, "e"], - [78486, 0, "s"], - [78487, 0, "i"], - [78488, 0, "g"], - [78489, 0, "n"], - [78490, 0, "i"], - [78491, 0, "n"], - [78492, 0, "g"], - [78493, 0, " "], - [78494, 0, "D"], - [78495, 0, "a"], - [78496, 0, "t"], - [78497, 0, "a"], - [78498, 0, "-"], - [78499, 0, "I"], - [78500, 0, "n"], - [78501, 0, "t"], - [78502, 0, "e"], - [78503, 0, "n"], - [78504, 0, "s"], - [78505, 0, "i"], - [78506, 0, "v"], - [78507, 0, "e"], - [78508, 0, " "], - [78509, 0, "A"], - [78510, 0, "p"], - [78511, 0, "p"], - [78512, 0, "l"], - [78513, 0, "i"], - [78514, 0, "c"], - [78515, 0, "a"], - [78516, 0, "t"], - [78517, 0, "i"], - [78518, 0, "o"], - [78519, 0, "n"], - [78520, 0, "s"], - [78521, 0, "}"], - [78522, 0, " "], - [78523, 0, "w"], - [78524, 0, "a"], - [78525, 0, "s"], - [78526, 0, " "], - [78527, 0, "p"], - [78528, 0, "u"], - [78529, 0, "b"], - [78530, 0, "l"], - [78531, 0, "i"], - [78532, 0, "s"], - [78533, 0, "h"], - [78534, 0, "e"], - [78535, 0, "d"], - [78536, 0, " "], - [78537, 0, "b"], - [78538, 0, "y"], - [78539, 0, " "], - [78540, 0, "O"], - [78541, 0, "'"], - [78542, 0, "R"], - [78543, 0, "e"], - [78544, 0, "i"], - [78545, 0, "l"], - [78546, 0, "l"], - [78547, 0, "y"], - [78548, 0, " "], - [78549, 0, "M"], - [78550, 0, "e"], - [78551, 0, "d"], - [78552, 0, "i"], - [78553, 0, "a"], - [78554, 0, " "], - [78555, 0, "i"], - [78556, 0, "n"], - [78557, 0, " "], - [78558, 0, "2"], - [78559, 0, "0"], - [78560, 0, "0"], - [78561, 0, "7"], - [78562, 0, "."], - [78562, 1], - [78562, 0, "."], - [78560, 1], - [78560, 0, "1"], - [78563, 0, " "], - [78564, 0, "P"], - [78565, 0, "r"], - [78566, 0, "e"], - [78567, 0, "v"], - [78568, 0, "i"], - [78569, 0, "o"], - [78570, 0, "u"], - [78571, 0, "s"], - [78572, 0, "l"], - [78573, 0, "y"], - [78574, 0, " "], - [78574, 1], - [78574, 0, ","], - [78575, 0, " "], - [78576, 0, "e"], - [78576, 1], - [78576, 0, "h"], - [78577, 0, "e"], - [78578, 0, " "], - [78579, 0, "w"], - [78580, 0, "o"], - [78581, 0, "r"], - [78582, 0, "k"], - [78583, 0, "d"], - [78583, 1], - [78583, 0, "e"], - [78584, 0, "d"], - [78585, 0, " "], - [78586, 0, "a"], - [78587, 0, "s"], - [78588, 0, " "], - [78589, 0, "a"], - [78590, 0, " "], - [78591, 0, "s"], - [78592, 0, "o"], - [78593, 0, "f"], - [78594, 0, "t"], - [78595, 0, "w"], - [78596, 0, "a"], - [78597, 0, "r"], - [78598, 0, "e"], - [78599, 0, " "], - [78600, 0, "e"], - [78601, 0, "n"], - [78602, 0, "g"], - [78603, 0, "i"], - [78604, 0, "n"], - [78605, 0, "e"], - [78606, 0, "e"], - [78607, 0, "r"], - [78608, 0, " "], - [78609, 0, "a"], - [78610, 0, "n"], - [78611, 0, "d"], - [78612, 0, " "], - [78613, 0, "e"], - [78614, 0, "n"], - [78615, 0, "t"], - [78616, 0, "r"], - [78617, 0, "e"], - [78618, 0, "p"], - [78619, 0, "r"], - [78620, 0, "e"], - [78621, 0, "n"], - [78622, 0, "e"], - [78623, 0, "u"], - [78624, 0, "r"], - [78625, 0, " "], - [78626, 0, "a"], - [78627, 0, "t"], - [78628, 0, " "], - [78629, 0, "s"], - [78630, 0, "e"], - [78631, 0, "v"], - [78632, 0, "e"], - [78633, 0, "r"], - [78634, 0, "a"], - [78635, 0, "l"], - [78636, 0, " "], - [78637, 0, "i"], - [78638, 0, "n"], - [78639, 0, "t"], - [78640, 0, "e"], - [78641, 0, "r"], - [78642, 0, "n"], - [78643, 0, "e"], - [78644, 0, "t"], - [78645, 0, " "], - [78646, 0, "c"], - [78647, 0, "o"], - [78648, 0, "m"], - [78649, 0, "p"], - [78650, 0, "a"], - [78651, 0, "n"], - [78652, 0, "i"], - [78653, 0, "e"], - [78654, 0, "s"], - [78655, 0, "."], - [79005, 0, "\n"], - [79006, 0, "\\"], - [79007, 0, "v"], - [79008, 0, "f"], - [79009, 0, "i"], - [79010, 0, "l"], - [79011, 0, "l"], - [79012, 0, "\n"], - [4295, 0, " "], - [4296, 0, "a"], - [4297, 0, "n"], - [4298, 0, "d"], - [4299, 0, " "], - [4300, 0, "e"], - [4301, 0, "r"], - [4302, 0, "r"], - [4303, 0, "o"], - [4304, 0, "r"], - [4305, 0, "-"], - [4306, 0, "p"], - [4307, 0, "r"], - [4308, 0, "o"], - [4309, 0, "n"], - [4310, 0, "e"], - [4311, 0, ","], - [8427, 0, " "], - [8428, 0, "("], - [8429, 0, "a"], - [8430, 0, " "], - [8431, 0, "r"], - [8432, 0, "e"], - [8433, 0, "q"], - [8434, 0, "u"], - [8435, 0, "i"], - [8436, 0, "r"], - [8437, 0, "e"], - [8438, 0, "m"], - [8439, 0, "e"], - [8440, 0, "n"], - [8441, 0, "t"], - [8442, 0, " "], - [8443, 0, "k"], - [8444, 0, "n"], - [8445, 0, "o"], - [8446, 0, "w"], - [8447, 0, "n"], - [8448, 0, " "], - [8449, 0, "a"], - [8450, 0, "s"], - [8451, 0, " "], - [8452, 0, "\\"], - [8453, 0, "e"], - [8454, 0, "m"], - [8455, 0, "p"], - [8456, 0, "h"], - [8457, 0, "{"], - [8458, 0, "s"], - [8459, 0, "t"], - [8460, 0, "r"], - [8461, 0, "o"], - [8462, 0, "n"], - [8463, 0, "g"], - [8464, 0, " "], - [8465, 0, "e"], - [8466, 0, "v"], - [8467, 0, "e"], - [8468, 0, "n"], - [8469, 0, "t"], - [8470, 0, "u"], - [8471, 0, "a"], - [8472, 0, "l"], - [8473, 0, " "], - [8474, 0, "c"], - [8475, 0, "o"], - [8476, 0, "n"], - [8477, 0, "s"], - [8478, 0, "i"], - [8479, 0, "s"], - [8480, 0, "t"], - [8481, 0, "e"], - [8482, 0, "n"], - [8483, 0, "c"], - [8484, 0, "y"], - [8485, 0, "}"], - [8486, 0, "~"], - [8487, 0, "\\"], - [8488, 0, "c"], - [8489, 0, "i"], - [8490, 0, "t"], - [8491, 0, "e"], - [8492, 0, "{"], - [8493, 0, "S"], - [8494, 0, "h"], - [8495, 0, "a"], - [8496, 0, "p"], - [8497, 0, "i"], - [8498, 0, "r"], - [8499, 0, "o"], - [8500, 0, ":"], - [8501, 0, "2"], - [8502, 0, "0"], - [8503, 0, "1"], - [8504, 0, "1"], - [8505, 0, "u"], - [8506, 0, "n"], - [8507, 0, "}"], - [8508, 0, ")"], - [11111, 0, ","], - [11112, 0, "M"], - [11113, 0, "e"], - [11114, 0, "h"], - [11115, 0, "d"], - [11116, 0, "i"], - [11117, 0, ":"], - [11118, 0, "2"], - [11119, 0, "0"], - [11120, 0, "1"], - [11121, 0, "1"], - [11122, 0, "k"], - [11123, 0, "e"], - [13279, 1], - [13278, 1], - [13277, 1], - [13276, 1], - [13275, 1], - [13274, 1], - [13273, 1], - [13272, 1], - [13334, 1], - [13333, 1], - [13332, 1], - [13331, 1], - [13330, 1], - [13329, 1], - [13329, 0, "e"], - [13330, 0, "l"], - [13331, 0, "l"], - [13332, 0, "-"], - [13842, 1], - [13841, 1], - [13840, 1], - [13839, 1], - [13838, 1], - [13837, 1], - [13836, 1], - [13835, 1], - [13835, 0, "a"], - [13836, 0, "l"], - [13837, 0, "g"], - [13838, 0, "o"], - [13839, 0, "r"], - [13840, 0, "i"], - [13841, 0, "t"], - [13842, 0, "h"], - [13843, 0, "m"], - [17073, 0, " "], - [17074, 0, "T"], - [17075, 0, "h"], - [17076, 0, "i"], - [17077, 0, "s"], - [17078, 0, " "], - [17079, 0, "a"], - [17080, 0, "p"], - [17081, 0, "p"], - [17082, 0, "r"], - [17083, 0, "o"], - [17084, 0, "a"], - [17085, 0, "c"], - [17086, 0, "h"], - [17087, 0, " "], - [17088, 0, "h"], - [17089, 0, "a"], - [17090, 0, "s"], - [17091, 0, " "], - [17092, 0, "t"], - [17093, 0, "h"], - [17094, 0, "e"], - [17095, 0, " "], - [17096, 0, "a"], - [17097, 0, "d"], - [17098, 0, "v"], - [17099, 0, "a"], - [17100, 0, "n"], - [17101, 0, "t"], - [17102, 0, "a"], - [17103, 0, "g"], - [17104, 0, "e"], - [17105, 0, " "], - [17106, 0, "o"], - [17107, 0, "f"], - [17108, 0, " "], - [17109, 0, "b"], - [17110, 0, "e"], - [17111, 0, "i"], - [17112, 0, "n"], - [17113, 0, "g"], - [17114, 0, " "], - [17115, 0, "a"], - [17116, 0, "b"], - [17117, 0, "l"], - [17118, 0, "e"], - [17119, 0, " "], - [17120, 0, "t"], - [17121, 0, "o"], - [17122, 0, " "], - [17123, 0, "e"], - [17124, 0, "x"], - [17125, 0, "p"], - [17126, 0, "r"], - [17127, 0, "e"], - [17128, 0, "s"], - [17129, 0, "s"], - [17130, 0, " "], - [17131, 0, "g"], - [17132, 0, "l"], - [17133, 0, "o"], - [17134, 0, "b"], - [17135, 0, "a"], - [17136, 0, "l"], - [17137, 0, " "], - [17138, 0, "i"], - [17139, 0, "n"], - [17140, 0, "v"], - [17141, 0, "a"], - [17142, 0, "r"], - [17143, 0, "i"], - [17144, 0, "a"], - [17145, 0, "n"], - [17146, 0, "t"], - [17147, 0, "s"], - [17148, 0, " "], - [17149, 0, "s"], - [17150, 0, "u"], - [17151, 0, "c"], - [17152, 0, "h"], - [17153, 0, " "], - [17154, 0, "a"], - [17155, 0, "s"], - [17156, 0, " "], - [17157, 0, "u"], - [17158, 0, "n"], - [17159, 0, "i"], - [17160, 0, "q"], - [17161, 0, "u"], - [17162, 0, "e"], - [17163, 0, "n"], - [17164, 0, "e"], - [17165, 0, "s"], - [17166, 0, "s"], - [17167, 0, " "], - [17168, 0, "c"], - [17169, 0, "o"], - [17170, 0, "n"], - [17171, 0, "s"], - [17172, 0, "t"], - [17173, 0, "r"], - [17174, 0, "a"], - [17175, 0, "i"], - [17176, 0, "n"], - [17177, 0, "t"], - [17178, 0, "s"], - [17179, 0, ","], - [17180, 0, " "], - [17181, 0, "w"], - [17182, 0, "h"], - [17183, 0, "i"], - [17184, 0, "c"], - [17185, 0, "h"], - [17186, 0, " "], - [17187, 0, "r"], - [17188, 0, "e"], - [17189, 0, "q"], - [17190, 0, "u"], - [17191, 0, "i"], - [17192, 0, "r"], - [17193, 0, "e"], - [17194, 0, " "], - [17195, 0, "s"], - [17196, 0, "e"], - [17197, 0, "r"], - [17198, 0, "i"], - [17199, 0, "a"], - [17200, 0, "l"], - [17201, 0, "i"], - [17202, 0, "z"], - [17203, 0, "a"], - [17204, 0, "t"], - [17205, 0, "i"], - [17206, 0, "o"], - [17207, 0, "n"], - [17208, 0, " "], - [17209, 0, "a"], - [17210, 0, "n"], - [17211, 0, "d"], - [17212, 0, " "], - [17213, 0, "c"], - [17214, 0, "a"], - [17215, 0, "n"], - [17216, 0, "n"], - [17217, 0, "o"], - [17218, 0, "t"], - [17219, 0, " "], - [17220, 0, "b"], - [17221, 0, "e"], - [17222, 0, " "], - [17223, 0, "e"], - [17224, 0, "x"], - [17225, 0, "p"], - [17226, 0, "r"], - [17227, 0, "e"], - [17228, 0, "s"], - [17229, 0, "s"], - [17230, 0, "e"], - [17231, 0, "d"], - [17232, 0, " "], - [17233, 0, "u"], - [17234, 0, "s"], - [17235, 0, "i"], - [17236, 0, "n"], - [17237, 0, "g"], - [17238, 0, " "], - [17239, 0, "C"], - [17240, 0, "R"], - [17241, 0, "D"], - [17242, 0, "T"], - [17243, 0, "s"], - [17244, 0, "."], - [17245, 0, " "], - [17246, 0, "H"], - [17247, 0, "o"], - [17248, 0, "w"], - [17249, 0, "e"], - [17250, 0, "v"], - [17251, 0, "e"], - [17252, 0, "r"], - [17253, 0, ","], - [17254, 0, " "], - [17255, 0, "i"], - [17256, 0, "t"], - [17257, 0, " "], - [17258, 0, "r"], - [17259, 0, "e"], - [17260, 0, "q"], - [17261, 0, "u"], - [17262, 0, "i"], - [17263, 0, "r"], - [17264, 0, "e"], - [17265, 0, "s"], - [17266, 0, " "], - [17267, 0, "a"], - [17268, 0, "t"], - [17269, 0, "o"], - [17270, 0, "m"], - [17271, 0, "i"], - [17272, 0, "c"], - [17273, 0, " "], - [17274, 0, "b"], - [17275, 0, "r"], - [17276, 0, "o"], - [17277, 0, "a"], - [17278, 0, "d"], - [17279, 0, "c"], - [17280, 0, "a"], - [17281, 0, "s"], - [17282, 0, "t"], - [17283, 0, ","], - [17284, 0, " "], - [17285, 0, "w"], - [17286, 0, "h"], - [17287, 0, "i"], - [17288, 0, "c"], - [17289, 0, "h"], - [17290, 0, " "], - [17290, 1], - [17289, 1], - [17288, 1], - [17287, 1], - [17286, 1], - [17285, 1], - [17284, 1], - [17283, 1], - [17282, 1], - [17281, 1], - [17280, 1], - [17279, 1], - [17278, 1], - [17277, 1], - [17276, 1], - [17275, 1], - [17274, 1], - [17273, 1], - [17272, 1], - [17271, 1], - [17270, 1], - [17269, 1], - [17268, 1], - [17267, 1], - [17266, 1], - [17265, 1], - [17264, 1], - [17263, 1], - [17262, 1], - [17261, 1], - [17260, 1], - [17259, 1], - [17258, 1], - [17257, 1], - [17256, 1], - [17255, 1], - [17254, 1], - [17253, 1], - [17252, 1], - [17251, 1], - [17250, 1], - [17249, 1], - [17248, 1], - [17247, 1], - [17246, 1], - [17246, 0, "T"], - [17247, 0, "h"], - [17248, 0, "e"], - [17249, 0, " "], - [17250, 0, "d"], - [17251, 0, "o"], - [17252, 0, "w"], - [17253, 0, "n"], - [17254, 0, "s"], - [17255, 0, "i"], - [17256, 0, "d"], - [17257, 0, "e"], - [17258, 0, " "], - [17259, 0, "i"], - [17260, 0, "s"], - [17261, 0, " "], - [17262, 0, "t"], - [17263, 0, "h"], - [17264, 0, "a"], - [17265, 0, "t"], - [17266, 0, " "], - [17267, 0, "t"], - [17268, 0, "e"], - [17269, 0, "n"], - [17270, 0, "t"], - [17271, 0, "a"], - [17272, 0, "t"], - [17273, 0, "i"], - [17274, 0, "v"], - [17275, 0, "e"], - [17276, 0, " "], - [17277, 0, "t"], - [17278, 0, "r"], - [17279, 0, "a"], - [17280, 0, "n"], - [17281, 0, "s"], - [17282, 0, "a"], - [17283, 0, "c"], - [17284, 0, "t"], - [17285, 0, "i"], - [17286, 0, "o"], - [17287, 0, "n"], - [17288, 0, "s"], - [17289, 0, " "], - [17290, 0, "m"], - [17291, 0, "a"], - [17292, 0, "y"], - [17293, 0, " "], - [17294, 0, "b"], - [17295, 0, "e"], - [17296, 0, " "], - [17297, 0, "r"], - [17298, 0, "o"], - [17299, 0, "l"], - [17300, 0, "l"], - [17301, 0, "e"], - [17302, 0, "d"], - [17303, 0, " "], - [17304, 0, "b"], - [17305, 0, "a"], - [17306, 0, "c"], - [17307, 0, "k"], - [17308, 0, ","], - [17309, 0, " "], - [17310, 0, "r"], - [17311, 0, "e"], - [17312, 0, "q"], - [17313, 0, "u"], - [17314, 0, "i"], - [17315, 0, "r"], - [17316, 0, "i"], - [17317, 0, "n"], - [17318, 0, "g"], - [17319, 0, " "], - [17320, 0, "t"], - [17321, 0, "h"], - [17322, 0, "e"], - [17323, 0, " "], - [17324, 0, "a"], - [17325, 0, "p"], - [17326, 0, "p"], - [17327, 0, "l"], - [17328, 0, "i"], - [17329, 0, "c"], - [17330, 0, "a"], - [17331, 0, "t"], - [17332, 0, "i"], - [17333, 0, "o"], - [17334, 0, "n"], - [17335, 0, " "], - [17336, 0, "t"], - [17337, 0, "o"], - [17338, 0, " "], - [17339, 0, "e"], - [17340, 0, "x"], - [17341, 0, "p"], - [17342, 0, "l"], - [17343, 0, "i"], - [17344, 0, "c"], - [17345, 0, "i"], - [17346, 0, "t"], - [17347, 0, "l"], - [17348, 0, "y"], - [17349, 0, " "], - [17350, 0, "h"], - [17351, 0, "a"], - [17352, 0, "n"], - [17353, 0, "d"], - [17354, 0, "l"], - [17355, 0, "e"], - [17356, 0, " "], - [17357, 0, "r"], - [17358, 0, "o"], - [17359, 0, "l"], - [17360, 0, "l"], - [17361, 0, "b"], - [17362, 0, "a"], - [17363, 0, "c"], - [17364, 0, "k"], - [17365, 0, "s"], - [17366, 0, ","], - [17367, 0, " "], - [17368, 0, "w"], - [17369, 0, "h"], - [17370, 0, "e"], - [17371, 0, "r"], - [17372, 0, "e"], - [17373, 0, "a"], - [17374, 0, "s"], - [17375, 0, " "], - [17376, 0, "C"], - [17377, 0, "R"], - [17378, 0, "D"], - [17379, 0, "T"], - [17380, 0, "s"], - [17381, 0, " "], - [17382, 0, "a"], - [17383, 0, "r"], - [17384, 0, "e"], - [17385, 0, " "], - [17386, 0, "d"], - [17387, 0, "e"], - [17388, 0, "f"], - [17389, 0, "i"], - [17390, 0, "n"], - [17391, 0, "e"], - [17392, 0, "d"], - [17393, 0, " "], - [17394, 0, "s"], - [17395, 0, "u"], - [17396, 0, "c"], - [17397, 0, "h"], - [17398, 0, " "], - [17399, 0, "t"], - [17400, 0, "h"], - [17401, 0, "a"], - [17402, 0, "t"], - [17403, 0, " "], - [17404, 0, "o"], - [17405, 0, "p"], - [17406, 0, "e"], - [17407, 0, "r"], - [17408, 0, "a"], - [17409, 0, "t"], - [17410, 0, "i"], - [17411, 0, "o"], - [17412, 0, "n"], - [17413, 0, "s"], - [17414, 0, " "], - [17415, 0, "c"], - [17416, 0, "a"], - [17417, 0, "n"], - [17418, 0, "n"], - [17419, 0, "o"], - [17420, 0, "t"], - [17421, 0, " "], - [17422, 0, "f"], - [17423, 0, "a"], - [17424, 0, "i"], - [17425, 0, "l"], - [17426, 0, " "], - [17427, 0, "a"], - [17428, 0, "f"], - [17429, 0, "t"], - [17430, 0, "e"], - [17431, 0, "r"], - [17432, 0, " "], - [17433, 0, "t"], - [17434, 0, "h"], - [17435, 0, "e"], - [17436, 0, "y"], - [17437, 0, " "], - [17438, 0, "h"], - [17439, 0, "a"], - [17440, 0, "v"], - [17441, 0, "e"], - [17442, 0, " "], - [17443, 0, "b"], - [17444, 0, "e"], - [17445, 0, "e"], - [17446, 0, "n"], - [17447, 0, " "], - [17448, 0, "p"], - [17449, 0, "e"], - [17450, 0, "r"], - [17451, 0, "f"], - [17452, 0, "o"], - [17453, 0, "r"], - [17454, 0, "m"], - [17455, 0, "e"], - [17456, 0, "d"], - [17457, 0, " "], - [17458, 0, "o"], - [17459, 0, "n"], - [17460, 0, " "], - [17461, 0, "o"], - [17462, 0, "n"], - [17463, 0, "e"], - [17464, 0, " "], - [17465, 0, "r"], - [17466, 0, "e"], - [17467, 0, "p"], - [17468, 0, "l"], - [17469, 0, "i"], - [17470, 0, "c"], - [17471, 0, "a"], - [17472, 0, "."], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17473, 1], - [17086, 1], - [17085, 1], - [17084, 1], - [17083, 1], - [17082, 1], - [17081, 1], - [17080, 1], - [17079, 1], - [17078, 1], - [17077, 1], - [17076, 1], - [17075, 1], - [17074, 1], - [17074, 0, "B"], - [17075, 0, "a"], - [17076, 0, "y"], - [17077, 0, "o"], - [17078, 0, "u"], - [17236, 0, "~"], - [17237, 0, "\\"], - [17238, 0, "c"], - [17239, 0, "i"], - [17240, 0, "t"], - [17241, 0, "e"], - [17242, 0, "{"], - [17243, 0, "B"], - [17244, 0, "a"], - [17245, 0, "i"], - [17246, 0, "l"], - [17247, 0, "i"], - [17248, 0, "s"], - [17249, 0, ":"], - [17250, 0, "2"], - [17251, 0, "0"], - [17252, 0, "1"], - [17253, 0, "4"], - [17254, 0, "t"], - [17255, 0, "h"], - [17256, 0, "}"], - [16545, 1], - [16544, 1], - [16543, 1], - [16542, 1], - [16541, 1], - [16540, 1], - [16539, 1], - [16538, 1], - [16537, 1], - [16536, 1], - [16535, 1], - [16534, 1], - [16533, 1], - [16533, 0, "L"], - [16534, 0, "W"], - [16535, 0, "W"], - [16638, 1], - [16637, 1], - [16636, 1], - [16636, 0, "I"], - [16637, 0, "t"], - [15880, 0, " "], - [15881, 0, "a"], - [15882, 0, "n"], - [15883, 0, "d"], - [15884, 0, " "], - [15885, 0, "C"], - [15886, 0, "o"], - [15887, 0, "u"], - [15888, 0, "c"], - [15889, 0, "h"], - [15890, 0, "D"], - [15891, 0, "B"], - [16645, 1], - [16644, 1], - [16643, 1], - [16642, 1], - [16641, 1], - [16640, 1], - [16639, 1], - [16638, 1], - [16637, 1], - [16636, 1], - [16635, 1], - [16634, 1], - [16633, 1], - [16632, 1], - [16631, 1], - [16630, 1], - [16629, 1], - [16628, 1], - [16627, 1], - [16626, 1], - [16625, 1], - [16624, 1], - [16623, 1], - [16622, 1], - [16621, 1], - [16620, 1], - [16619, 1], - [16618, 1], - [16617, 1], - [16616, 1], - [16615, 1], - [16614, 1], - [16613, 1], - [16612, 1], - [16611, 1], - [16610, 1], - [16609, 1], - [16608, 1], - [16607, 1], - [16606, 1], - [16605, 1], - [16604, 1], - [16603, 1], - [16602, 1], - [16601, 1], - [16600, 1], - [16599, 1], - [16598, 1], - [16597, 1], - [16596, 1], - [16595, 1], - [16594, 1], - [16593, 1], - [16592, 1], - [16591, 1], - [16590, 1], - [16589, 1], - [16588, 1], - [16587, 1], - [16586, 1], - [16585, 1], - [16584, 1], - [16583, 1], - [16582, 1], - [16581, 1], - [16580, 1], - [16579, 1], - [16578, 1], - [16578, 0, "f"], - [16579, 0, "o"], - [16580, 0, "r"], - [16581, 0, " "], - [16582, 0, "e"], - [16583, 0, "x"], - [16584, 0, "a"], - [16585, 0, "m"], - [16586, 0, "p"], - [16587, 0, "l"], - [16588, 0, "e"], - [17205, 1], - [17204, 1], - [17203, 1], - [17203, 0, "B"], - [17204, 0, "a"], - [17205, 0, "y"], - [17206, 0, "o"], - [17207, 0, "u"], - [17208, 0, "'"], - [17209, 0, "s"], - [17299, 1], - [17298, 1], - [17297, 1], - [17296, 1], - [17295, 1], - [17294, 1], - [17293, 1], - [17292, 1], - [17291, 1], - [17290, 1], - [17289, 1], - [17288, 1], - [17287, 1], - [17286, 1], - [17285, 1], - [17284, 1], - [17283, 1], - [17282, 1], - [17281, 1], - [17290, 1], - [17289, 1], - [17295, 1], - [17295, 0, "i"], - [17296, 0, "n"], - [17297, 0, "g"], - [17299, 1], - [17299, 1], - [17299, 1], - [17299, 1], - [17299, 1], - [17299, 1], - [17299, 1], - [17299, 1], - [17299, 1], - [17299, 0, "b"], - [17300, 0, "y"], - [17301, 0, " "], - [17302, 0, "t"], - [17303, 0, "h"], - [17304, 0, "e"], - [17305, 0, " "], - [17306, 0, "a"], - [17307, 0, "p"], - [17308, 0, "p"], - [17309, 0, "l"], - [17310, 0, "i"], - [17311, 0, "c"], - [17312, 0, "a"], - [17313, 0, "t"], - [17314, 0, "i"], - [17315, 0, "o"], - [17316, 0, "n"], - [78208, 1], - [78207, 1], - [78206, 1], - [78205, 1], - [78205, 0, ","], - [78219, 0, ","], - [78220, 0, " "], - [78221, 0, "a"], - [78222, 0, "n"], - [78223, 0, "d"], - [78224, 0, " "], - [78225, 0, "t"], - [78226, 0, "h"], - [78227, 0, "e"], - [78228, 0, " "], - [78229, 0, "a"], - [78230, 0, "n"], - [78231, 0, "o"], - [78232, 0, "n"], - [78233, 0, "y"], - [78234, 0, "m"], - [78235, 0, "o"], - [78236, 0, "u"], - [78237, 0, "s"], - [78238, 0, " "], - [78239, 0, "r"], - [78240, 0, "e"], - [78241, 0, "v"], - [78242, 0, "i"], - [78243, 0, "e"], - [78244, 0, "w"], - [78245, 0, "e"], - [78246, 0, "r"], - [78247, 0, "s"], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 1], - [78262, 0, "t"], - [78263, 0, "h"], - [78264, 0, "a"], - [78265, 0, "t"], - [78266, 0, " "], - [78267, 0, "i"], - [78268, 0, "m"], - [78269, 0, "p"], - [78270, 0, "r"], - [78271, 0, "o"], - [78272, 0, "v"], - [78273, 0, "e"], - [78274, 0, "d"], - [25031, 0, "\n"], - [25032, 0, "\n"], - [25033, 0, "\\"], - [25034, 0, "b"], - [25035, 0, "e"], - [25036, 0, "g"], - [25037, 0, "i"], - [25038, 0, "n"], - [25039, 0, "{"], - [25040, 0, "f"], - [25041, 0, "i"], - [25042, 0, "g"], - [25043, 0, "u"], - [25044, 0, "r"], - [25045, 0, "e"], - [25046, 0, "*"], - [25047, 0, "}"], - [25048, 0, "\n"], - [25049, 0, "\\"], - [25050, 0, "c"], - [25051, 0, "e"], - [25052, 0, "n"], - [25053, 0, "t"], - [25054, 0, "e"], - [25055, 0, "r"], - [25056, 0, "i"], - [25057, 0, "n"], - [25058, 0, "g"], - [25059, 0, "\n"], - [25060, 0, "\\"], - [25061, 0, "b"], - [25062, 0, "e"], - [25063, 0, "g"], - [25064, 0, "i"], - [25065, 0, "n"], - [25066, 0, "{"], - [25067, 0, "t"], - [25068, 0, "i"], - [25069, 0, "k"], - [25070, 0, "z"], - [25071, 0, "p"], - [25072, 0, "i"], - [25073, 0, "c"], - [25074, 0, "t"], - [25075, 0, "u"], - [25076, 0, "r"], - [25077, 0, "e"], - [25078, 0, "}"], - [25079, 0, "["], - [25080, 0, "a"], - [25081, 0, "u"], - [25082, 0, "t"], - [25083, 0, "o"], - [25084, 0, ","], - [25085, 0, "s"], - [25086, 0, "c"], - [25087, 0, "a"], - [25088, 0, "l"], - [25089, 0, "e"], - [25090, 0, "="], - [25091, 0, "0"], - [25092, 0, "."], - [25093, 0, "8"], - [25094, 0, "]"], - [25095, 0, "\n"], - [25096, 0, "\\"], - [25097, 0, "e"], - [25098, 0, "n"], - [25099, 0, "d"], - [25100, 0, "{"], - [25101, 0, "t"], - [25102, 0, "i"], - [25103, 0, "k"], - [25104, 0, "z"], - [25105, 0, "p"], - [25106, 0, "i"], - [25107, 0, "c"], - [25108, 0, "t"], - [25109, 0, "u"], - [25110, 0, "r"], - [25111, 0, "e"], - [25112, 0, "}"], - [25113, 0, "\n"], - [25114, 0, "\\"], - [25115, 0, "c"], - [25116, 0, "a"], - [25117, 0, "p"], - [25118, 0, "t"], - [25119, 0, "i"], - [25120, 0, "o"], - [25121, 0, "n"], - [25122, 0, "{"], - [25123, 0, "C"], - [25124, 0, "o"], - [25125, 0, "n"], - [25126, 0, "c"], - [25127, 0, "u"], - [25128, 0, "r"], - [25129, 0, "r"], - [25130, 0, "e"], - [25131, 0, "n"], - [25132, 0, "t"], - [25133, 0, " "], - [25134, 0, "e"], - [25135, 0, "d"], - [25136, 0, "i"], - [25137, 0, "t"], - [25138, 0, "i"], - [25139, 0, "n"], - [25140, 0, "g"], - [25141, 0, " "], - [25142, 0, "o"], - [25143, 0, "f"], - [25144, 0, " "], - [25145, 0, "a"], - [25146, 0, "n"], - [25147, 0, " "], - [25148, 0, "o"], - [25149, 0, "r"], - [25150, 0, "d"], - [25151, 0, "e"], - [25152, 0, "r"], - [25153, 0, "e"], - [25154, 0, "d"], - [25155, 0, " "], - [25156, 0, "l"], - [25157, 0, "i"], - [25158, 0, "s"], - [25159, 0, "t"], - [25160, 0, " "], - [25161, 0, "o"], - [25162, 0, "f"], - [25163, 0, " "], - [25164, 0, "c"], - [25165, 0, "h"], - [25166, 0, "a"], - [25167, 0, "r"], - [25168, 0, "a"], - [25169, 0, "c"], - [25170, 0, "t"], - [25171, 0, "e"], - [25172, 0, "r"], - [25173, 0, "s"], - [25174, 0, " "], - [25175, 0, "("], - [25176, 0, "i"], - [25177, 0, "."], - [25178, 0, "e"], - [25179, 0, "."], - [25180, 0, ","], - [25181, 0, " "], - [25182, 0, "a"], - [25183, 0, " "], - [25184, 0, "t"], - [25185, 0, "e"], - [25186, 0, "x"], - [25187, 0, "t"], - [25188, 0, " "], - [25189, 0, "d"], - [25190, 0, "o"], - [25191, 0, "c"], - [25192, 0, "u"], - [25193, 0, "m"], - [25194, 0, "e"], - [25195, 0, "n"], - [25196, 0, "t"], - [25197, 0, ")"], - [25198, 0, "."], - [25199, 0, "}"], - [25200, 0, "\n"], - [25201, 0, "\\"], - [25202, 0, "e"], - [25203, 0, "n"], - [25204, 0, "d"], - [25205, 0, "{"], - [25206, 0, "f"], - [25207, 0, "i"], - [25208, 0, "g"], - [25209, 0, "u"], - [25210, 0, "r"], - [25211, 0, "e"], - [25212, 0, "*"], - [25213, 0, "}"], - [25095, 0, "\n"], - [25096, 0, "\\"], - [25097, 0, "n"], - [25098, 0, "o"], - [25099, 0, "d"], - [25100, 0, "e"], - [25101, 0, " "], - [25102, 0, "("], - [25103, 0, "l"], - [25104, 0, "e"], - [25105, 0, "f"], - [25106, 0, "t"], - [25107, 0, "1"], - [25108, 0, ")"], - [25109, 0, " "], - [25110, 0, "a"], - [25111, 0, "t"], - [25112, 0, " "], - [25113, 0, "("], - [25114, 0, "0"], - [25115, 0, ","], - [25116, 0, "0"], - [25117, 0, ")"], - [25118, 0, " "], - [25119, 0, "["], - [25120, 0, "r"], - [25121, 0, "e"], - [25122, 0, "c"], - [25123, 0, "t"], - [25124, 0, "a"], - [25125, 0, "n"], - [25126, 0, "g"], - [25127, 0, "l"], - [25128, 0, "e"], - [25129, 0, ","], - [25130, 0, "d"], - [25131, 0, "r"], - [25132, 0, "a"], - [25133, 0, "w"], - [25134, 0, "]"], - [25135, 0, " "], - [25136, 0, "{"], - [25137, 0, "\\"], - [25138, 0, "{"], - [25139, 0, "`"], - [25140, 0, "`"], - [25141, 0, "t"], - [25142, 0, "e"], - [25143, 0, "x"], - [25144, 0, "t"], - [25145, 0, "'"], - [25146, 0, "'"], - [25147, 0, ":"], - [25148, 0, " "], - [25149, 0, "["], - [25150, 0, "z"], - [25151, 0, "z"], - [25151, 1], - [25150, 1], - [25150, 0, "`"], - [25151, 0, "`"], - [25152, 0, "h"], - [25153, 0, "'"], - [25154, 0, "'"], - [25155, 0, ","], - [25156, 0, " "], - [25157, 0, "`"], - [25158, 0, "`"], - [25159, 0, "i"], - [25160, 0, "'"], - [25161, 0, "'"], - [25162, 0, "]"], - [25163, 0, "\\"], - [25164, 0, "}"], - [25165, 0, "]"], - [25165, 1], - [25165, 0, "]"], - [25165, 1], - [25165, 0, "}"], - [25166, 0, ";"], - [25152, 1], - [25152, 0, "a"], - [25159, 1], - [25159, 0, "b"], - [25162, 0, ","], - [25163, 0, " "], - [25164, 0, "`"], - [25165, 0, "`"], - [25166, 0, "c"], - [25167, 0, "'"], - [25168, 0, "'"], - [29711, 1], - [29710, 1], - [29709, 1], - [29708, 1], - [29708, 0, "a"], - [29709, 0, "t"], - [29710, 0, "("], - [29712, 0, "$"], - [29713, 0, "n"], - [29714, 0, "$"], - [29715, 0, "\\"], - [29716, 0, "t"], - [29717, 0, "e"], - [29718, 0, "x"], - [29719, 0, "t"], - [29720, 0, "t"], - [29721, 0, "t"], - [29722, 0, "{"], - [29723, 0, ")"], - [29724, 0, "}"], - [29725, 0, " "], - [29726, 0, "&"], - [29727, 0, " "], - [29728, 0, "$"], - [29729, 0, "n"], - [29730, 0, " "], - [29731, 0, "/"], - [29732, 0, "g"], - [29733, 0, "e"], - [29733, 1], - [29732, 1], - [29731, 1], - [29731, 0, "\\"], - [29732, 0, "g"], - [29733, 0, "e"], - [29734, 0, " "], - [29735, 0, "0"], - [29736, 0, "$"], - [29769, 1], - [29768, 1], - [29767, 1], - [29766, 1], - [29765, 1], - [29764, 1], - [29763, 1], - [29762, 1], - [29761, 1], - [29760, 1], - [29759, 1], - [29758, 1], - [29757, 1], - [29756, 1], - [29755, 1], - [29754, 1], - [29753, 1], - [29752, 1], - [29751, 1], - [29750, 1], - [29749, 1], - [29748, 1], - [29747, 1], - [29746, 1], - [29745, 1], - [29744, 1], - [29743, 1], - [29742, 1], - [29741, 1], - [29740, 1], - [29620, 1], - [29620, 0, "."], - [29621, 0, "g"], - [29622, 0, "e"], - [29623, 0, "t"], - [29624, 0, "("], - [29713, 1], - [29712, 1], - [29712, 0, "i"], - [29713, 0, "d"], - [29714, 0, "x"], - [29648, 1], - [29648, 0, ")"], - [30260, 1], - [30259, 1], - [30258, 1], - [30257, 1], - [30257, 0, "h"], - [30258, 0, "e"], - [30259, 0, "a"], - [30260, 0, "d"], - [30283, 1], - [30282, 1], - [30281, 1], - [30280, 1], - [30280, 0, "i"], - [30281, 0, "d"], - [30282, 0, "x"], - [30283, 0, "("], - [30284, 0, "0"], - [30285, 0, ")"], - [30267, 1], - [30267, 0, "."], - [30268, 0, "g"], - [30269, 0, "e"], - [30270, 0, "t"], - [30271, 0, "("], - [30282, 1], - [30282, 0, ")"], - [30295, 1], - [30294, 1], - [30293, 1], - [30292, 1], - [30292, 0, "h"], - [30293, 0, "e"], - [30294, 0, "a"], - [30295, 0, "d"], - [30332, 1], - [30331, 1], - [30330, 1], - [30329, 1], - [30328, 1], - [30327, 1], - [30326, 1], - [30325, 1], - [30324, 1], - [30324, 0, "d"], - [30325, 0, "o"], - [30326, 0, "c"], - [30327, 0, "."], - [30328, 0, "g"], - [30329, 0, "e"], - [30330, 0, "t"], - [30331, 0, "("], - [30332, 0, "\""], - [30333, 0, "s"], - [30334, 0, "h"], - [30335, 0, "o"], - [30336, 0, "p"], - [30337, 0, "p"], - [30338, 0, "i"], - [30339, 0, "n"], - [30340, 0, "g"], - [30341, 0, "\""], - [30342, 0, ")"], - [30343, 0, "."], - [30344, 0, "i"], - [30345, 0, "d"], - [30346, 0, "x"], - [30347, 0, "("], - [30348, 0, "1"], - [30349, 0, ")"], - [30376, 1], - [30375, 1], - [30374, 1], - [30373, 1], - [30373, 0, "h"], - [30374, 0, "e"], - [30375, 0, "a"], - [30376, 0, "d"], - [37569, 1], - [37568, 1], - [37567, 1], - [37567, 0, "d"], - [37568, 0, "x"], - [37558, 0, "$"], - [37571, 0, "_"], - [37572, 0, "1"], - [37573, 0, "$"], - [37909, 1], - [37909, 0, "2"], - [37906, 1], - [37905, 1], - [37904, 1], - [37903, 1], - [37903, 0, "I"], - [37904, 0, "d"], - [37905, 0, "x"], - [38177, 1], - [38176, 1], - [38175, 1], - [38174, 1], - [38174, 0, "I"], - [38175, 0, "d"], - [38176, 0, "x"], - [38179, 1], - [38179, 0, "3"], - [38608, 1], - [38608, 0, "4"], - [38605, 1], - [38604, 1], - [38603, 1], - [38602, 1], - [38602, 0, "I"], - [38603, 0, "d"], - [38604, 0, "x"], - [38999, 1], - [38998, 1], - [38997, 1], - [38996, 1], - [38996, 0, "I"], - [38997, 0, "d"], - [38998, 0, "x"], - [39001, 1], - [39001, 0, "5"], - [37620, 1], - [37619, 1], - [37618, 1], - [37618, 0, "d"], - [37619, 0, "x"], - [37620, 0, "("], - [37622, 0, "n"], - [37623, 0, "\\"], - [37624, 0, "m"], - [37625, 0, "a"], - [37626, 0, "t"], - [37627, 0, "h"], - [37628, 0, "s"], - [37629, 0, "f"], - [37630, 0, "{"], - [37631, 0, ")"], - [37632, 0, "}"], - [37577, 1], - [37577, 0, "B"], - [37578, 0, "i"], - [37546, 0, "\n"], - [37547, 0, "\\"], - [37548, 0, "A"], - [37549, 0, "x"], - [37550, 0, "i"], - [37551, 0, "o"], - [37552, 0, "m"], - [37553, 0, "C"], - [37554, 0, "{"], - [37555, 0, "$"], - [37556, 0, "A"], - [37557, 0, "_"], - [37558, 0, "p"], - [37559, 0, ","], - [37560, 0, "\\"], - [37561, 0, ","], - [37562, 0, " "], - [37563, 0, "\\"], - [37564, 0, "m"], - [37565, 0, "a"], - [37566, 0, "t"], - [37567, 0, "h"], - [37568, 0, "s"], - [37569, 0, "f"], - [37570, 0, "{"], - [37571, 0, "c"], - [37572, 0, "u"], - [37573, 0, "r"], - [37574, 0, "s"], - [37575, 0, "o"], - [37576, 0, "r"], - [37577, 0, "}"], - [37578, 0, "("], - [37579, 0, "\\"], - [37580, 0, "l"], - [37581, 0, "a"], - [37582, 0, "n"], - [37583, 0, "g"], - [37584, 0, "l"], - [37585, 0, "e"], - [37586, 0, " "], - [37587, 0, "k"], - [37588, 0, "_"], - [37589, 0, "1"], - [37590, 0, ","], - [37591, 0, " "], - [37592, 0, "\\"], - [37593, 0, "d"], - [37594, 0, "o"], - [37595, 0, "t"], - [37596, 0, "s"], - [37597, 0, ","], - [37598, 0, " "], - [37599, 0, "k"], - [37600, 0, "_"], - [37601, 0, "{"], - [37602, 0, "n"], - [37603, 0, "-"], - [37604, 0, "1"], - [37605, 0, "}"], - [37606, 0, ","], - [37607, 0, " "], - [37608, 0, "\\"], - [37609, 0, "m"], - [37610, 0, "a"], - [37611, 0, "t"], - [37612, 0, "h"], - [37613, 0, "s"], - [37614, 0, "f"], - [37615, 0, "{"], - [37616, 0, "l"], - [37617, 0, "i"], - [37618, 0, "s"], - [37619, 0, "t"], - [37620, 0, "T"], - [37621, 0, "}"], - [37622, 0, "("], - [37623, 0, "k"], - [37624, 0, "_"], - [37625, 0, "n"], - [37626, 0, ")"], - [37627, 0, " "], - [37628, 0, "\\"], - [37629, 0, "r"], - [37630, 0, "a"], - [37631, 0, "n"], - [37632, 0, "g"], - [37633, 0, "l"], - [37634, 0, "e"], - [37635, 0, ","], - [37636, 0, "\\"], - [37637, 0, ","], - [37638, 0, " "], - [37639, 0, "\\"], - [37640, 0, "m"], - [37641, 0, "a"], - [37642, 0, "t"], - [37643, 0, "h"], - [37644, 0, "s"], - [37645, 0, "f"], - [37646, 0, "{"], - [37647, 0, "h"], - [37648, 0, "e"], - [37649, 0, "a"], - [37650, 0, "d"], - [37651, 0, "}"], - [37652, 0, ")"], - [37653, 0, "%"], - [37653, 1], - [37653, 0, "$"], - [37654, 0, "}"], - [37653, 0, " "], - [37654, 0, "\\"], - [37655, 0, "e"], - [37656, 0, "v"], - [37657, 0, "a"], - [37658, 0, "l"], - [37659, 0, "t"], - [37660, 0, "o"], - [37661, 0, " "], - [37653, 1], - [37653, 0, "\n"], - [37654, 0, " "], - [37655, 0, " "], - [37656, 0, " "], - [37657, 0, " "], - [37666, 0, "\\"], - [37667, 0, "m"], - [37668, 0, "a"], - [37669, 0, "t"], - [37670, 0, "h"], - [37671, 0, "i"], - [37672, 0, "t"], - [37673, 0, "{"], - [37674, 0, "c"], - [37675, 0, "u"], - [37676, 0, "r"], - [37677, 0, "}"], - [37678, 0, "'"], - [37653, 0, "."], - [37654, 0, "\\"], - [37655, 0, "m"], - [37656, 0, "a"], - [37657, 0, "t"], - [37658, 0, "h"], - [37659, 0, "s"], - [37660, 0, "f"], - [37661, 0, "{"], - [37662, 0, "i"], - [37663, 0, "d"], - [37664, 0, "x"], - [37665, 0, "("], - [37666, 0, "}"], - [37638, 0, "\n"], - [37639, 0, " "], - [37640, 0, " "], - [37641, 0, " "], - [37674, 1], - [37673, 1], - [37672, 1], - [37671, 1], - [37671, 0, "n"], - [37672, 0, "\\"], - [37673, 0, "m"], - [37674, 0, "a"], - [37675, 0, "t"], - [37676, 0, "h"], - [37677, 0, "s"], - [37678, 0, "f"], - [37679, 0, "{"], - [37680, 0, "}"], - [37680, 1], - [37680, 0, ")"], - [37681, 0, "}"], - [37802, 0, " "], - [37803, 0, "\\"], - [37804, 0, "m"], - [37805, 0, "a"], - [37806, 0, "t"], - [37807, 0, "h"], - [37808, 0, "i"], - [37809, 0, "t"], - [37810, 0, "{"], - [37811, 0, "c"], - [37812, 0, "u"], - [37813, 0, "r"], - [37814, 0, "}"], - [37815, 0, "'"], - [37816, 0, "$"], - [37817, 0, "}"], - [37914, 1], - [37913, 1], - [37912, 1], - [37911, 1], - [37910, 1], - [37909, 1], - [37908, 1], - [37907, 1], - [37906, 1], - [37905, 1], - [37904, 1], - [37903, 1], - [37902, 1], - [37901, 1], - [37900, 1], - [37899, 1], - [37898, 1], - [37897, 1], - [37896, 1], - [37895, 1], - [37894, 1], - [37893, 1], - [37892, 1], - [37891, 1], - [37890, 1], - [37889, 1], - [37888, 1], - [37887, 1], - [37886, 1], - [37885, 1], - [37884, 1], - [37883, 1], - [37882, 1], - [37881, 1], - [37880, 1], - [37879, 1], - [37878, 1], - [37877, 1], - [37876, 1], - [37875, 1], - [37874, 1], - [37873, 1], - [37872, 1], - [37871, 1], - [37870, 1], - [37869, 1], - [37868, 1], - [37867, 1], - [37866, 1], - [37865, 1], - [37864, 1], - [37863, 1], - [37862, 1], - [37861, 1], - [37860, 1], - [37859, 1], - [37858, 1], - [37857, 1], - [37856, 1], - [37855, 1], - [37854, 1], - [37853, 1], - [37852, 1], - [37851, 1], - [37850, 1], - [37849, 1], - [37848, 1], - [37847, 1], - [37846, 1], - [37845, 1], - [37844, 1], - [37843, 1], - [37842, 1], - [37841, 1], - [37840, 1], - [37839, 1], - [37838, 1], - [37837, 1], - [37836, 1], - [37835, 1], - [37834, 1], - [37833, 1], - [37832, 1], - [37831, 1], - [37830, 1], - [37829, 1], - [37828, 1], - [37827, 1], - [37826, 1], - [37825, 1], - [37824, 1], - [37823, 1], - [37822, 1], - [37821, 1], - [37820, 1], - [37819, 1], - [37818, 1], - [38048, 1], - [38047, 1], - [38046, 1], - [38045, 1], - [38045, 0, "i"], - [38046, 0, "d"], - [38047, 0, "x"], - [38048, 0, "("], - [38050, 0, "n"], - [38051, 0, "\\"], - [38052, 0, "m"], - [38053, 0, "a"], - [38054, 0, "t"], - [38055, 0, "h"], - [38056, 0, "s"], - [38057, 0, "f"], - [38058, 0, "{"], - [38059, 0, ")"], - [38060, 0, "}"], - [38018, 1], - [38017, 1], - [38016, 1], - [38016, 0, "\\"], - [38017, 0, "a"], - [38018, 0, "t"], - [38018, 1], - [38017, 1], - [38017, 0, "m"], - [38018, 0, "a"], - [38019, 0, "t"], - [38020, 0, "h"], - [38021, 0, "i"], - [38022, 0, "t"], - [38023, 0, "{"], - [38024, 0, "c"], - [38025, 0, "t"], - [38026, 0, "x"], - [38027, 0, "}"], - [38038, 1], - [38037, 1], - [38037, 0, "s"], - [38038, 0, "f"], - [38043, 1], - [38042, 1], - [38041, 1], - [38040, 1], - [38040, 0, "c"], - [38041, 0, "u"], - [38042, 0, "r"], - [38043, 0, "s"], - [38044, 0, "o"], - [38045, 0, "r"], - [37781, 1], - [37782, 0, "("], - [37784, 0, ")"], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 1], - [37785, 0, " "], - [37681, 1], - [37678, 1], - [37678, 1], - [37677, 1], - [37676, 1], - [37675, 1], - [37674, 1], - [37673, 1], - [37672, 1], - [37670, 1], - [37669, 0, "}"], - [37282, 1], - [37281, 1], - [37281, 0, "s"], - [37282, 0, "f"], - [37284, 1], - [37284, 0, "g"], - [37285, 0, "e"], - [37286, 0, "t"], - [37288, 0, "("], - [37301, 0, ")"], - [37302, 1], - [37302, 1], - [37302, 1], - [37302, 1], - [37302, 1], - [37302, 1], - [37302, 1], - [37302, 1], - [37302, 1], - [37302, 1], - [38023, 0, "("], - [38024, 0, "\\"], - [38025, 0, "l"], - [38026, 0, "a"], - [38027, 0, "n"], - [38028, 0, "g"], - [38029, 0, "l"], - [38030, 0, "e"], - [38031, 0, "\\"], - [38032, 0, "r"], - [38033, 0, "a"], - [38034, 0, "n"], - [38035, 0, "g"], - [38036, 0, "l"], - [38037, 0, "e"], - [38038, 0, ","], - [38039, 0, "\\"], - [38040, 0, ","], - [38041, 0, " "], - [38042, 0, "k"], - [38043, 0, ")"], - [38056, 1], - [38057, 0, "("], - [38058, 1], - [38058, 0, "0"], - [38056, 0, "("], - [38057, 0, "0"], - [38058, 0, ")"], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38060, 1], - [38058, 1], - [38057, 1], - [38056, 1], - [38057, 0, "("], - [38058, 0, "0"], - [38059, 0, ")"], - [38058, 1], - [38058, 0, "n"], - [37948, 1], - [37947, 1], - [37946, 1], - [37945, 1], - [37944, 1], - [37943, 1], - [37942, 1], - [37941, 1], - [37940, 1], - [37939, 1], - [37938, 1], - [37937, 1], - [37936, 1], - [37935, 1], - [37934, 1], - [37933, 1], - [37932, 1], - [37931, 1], - [37930, 1], - [37929, 1], - [37928, 1], - [37927, 1], - [37926, 1], - [37925, 1], - [37924, 1], - [37923, 1], - [37922, 1], - [37921, 1], - [37920, 1], - [37919, 1], - [37918, 1], - [37917, 1], - [37916, 1], - [37915, 1], - [37914, 1], - [37913, 1], - [37912, 1], - [37911, 1], - [37910, 1], - [37909, 1], - [37908, 1], - [37907, 1], - [37906, 1], - [37905, 1], - [37904, 1], - [37903, 1], - [37902, 1], - [37901, 1], - [37900, 1], - [37899, 1], - [37898, 1], - [37897, 1], - [37896, 1], - [37895, 1], - [37894, 1], - [37893, 1], - [37892, 1], - [37891, 1], - [37890, 1], - [37889, 1], - [37888, 1], - [37887, 1], - [37886, 1], - [37885, 1], - [37884, 1], - [37883, 1], - [37882, 1], - [37879, 1], - [37878, 1], - [37877, 1], - [37876, 1], - [37875, 1], - [37874, 1], - [37873, 1], - [37872, 1], - [37871, 1], - [37870, 1], - [37869, 1], - [37868, 1], - [37867, 1], - [37866, 1], - [37865, 1], - [37864, 1], - [37863, 1], - [37862, 1], - [37861, 1], - [37860, 1], - [37859, 1], - [37858, 1], - [37857, 1], - [37856, 1], - [37855, 1], - [37854, 1], - [37853, 1], - [37852, 1], - [37851, 1], - [37850, 1], - [37849, 1], - [37848, 1], - [37847, 1], - [37846, 1], - [37845, 1], - [37844, 1], - [37843, 1], - [37842, 1], - [37841, 1], - [37840, 1], - [37839, 1], - [37839, 0, "n"], - [37840, 0, "="], - [37841, 0, "0"], - [37963, 1], - [37963, 0, "\n"], - [37964, 0, " "], - [37965, 0, " "], - [37966, 0, " "], - [37967, 0, " "], - [37974, 1], - [37973, 1], - [37973, 0, "s"], - [37974, 0, "f"], - [37979, 0, "s"], - [37980, 0, "o"], - [37981, 0, "r"], - [37983, 1], - [37983, 0, "("], - [37984, 0, "\\"], - [37985, 0, "l"], - [37986, 0, "a"], - [37987, 0, "n"], - [37988, 0, "g"], - [37989, 0, "l"], - [37990, 0, "e"], - [37991, 0, "\\"], - [37992, 0, "r"], - [37993, 0, "a"], - [37994, 0, "n"], - [37995, 0, "g"], - [37996, 0, "l"], - [37997, 0, "e"], - [37998, 0, ","], - [37999, 0, "\\"], - [38000, 0, ","], - [38001, 0, " "], - [38002, 0, "k"], - [38003, 0, ")"], - [38041, 0, "\n"], - [38042, 0, "\\"], - [38043, 0, "A"], - [38044, 0, "x"], - [38045, 0, "i"], - [38046, 0, "o"], - [38047, 0, "m"], - [38048, 0, "C"], - [38049, 0, "{"], - [38050, 0, "$"], - [38051, 0, "\\"], - [38052, 0, "m"], - [38053, 0, "a"], - [38054, 0, "t"], - [38055, 0, "h"], - [38056, 0, "i"], - [38057, 0, "t"], - [38058, 0, "{"], - [38058, 1], - [38057, 1], - [38056, 1], - [38055, 1], - [38054, 1], - [38053, 1], - [38052, 1], - [38051, 1], - [38051, 0, "n"], - [38052, 0, ">"], - [38053, 0, "0"], - [38054, 0, "$"], - [38055, 0, "}"], - [38298, 1], - [38297, 1], - [38296, 1], - [38295, 1], - [38295, 0, "i"], - [38296, 0, "d"], - [38297, 0, "x"], - [38299, 0, "("], - [38300, 0, "n"], - [38301, 0, ")"], - [38191, 0, "\n"], - [38066, 0, "n"], - [38067, 0, ">"], - [38068, 0, "0"], - [38069, 0, " "], - [38070, 0, ","], - [38070, 1], - [38070, 0, "\\"], - [38071, 0, ","], - [38072, 0, "\n"], - [38072, 1], - [38072, 0, "\\"], - [38073, 0, "w"], - [38074, 0, "e"], - [38075, 0, "d"], - [38076, 0, "g"], - [38077, 0, "e"], - [38078, 0, "\\"], - [38079, 0, ","], - [38080, 0, " "], - [38055, 1], - [38054, 1], - [38053, 1], - [38052, 1], - [38051, 1], - [38050, 1], - [38049, 1], - [38048, 1], - [38047, 1], - [38046, 1], - [38045, 1], - [38044, 1], - [38043, 1], - [38042, 1], - [38041, 1], - [38192, 0, "\\"], - [38193, 0, "A"], - [38194, 0, "x"], - [38226, 1], - [38226, 0, "R"], - [38226, 1], - [38226, 0, "T"], - [38227, 0, "r"], - [38195, 0, "i"], - [38196, 0, "o"], - [38197, 0, "m"], - [38198, 0, "C"], - [38199, 0, "{"], - [38200, 0, "$"], - [38201, 0, "\\"], - [38202, 0, "m"], - [38203, 0, "a"], - [38204, 0, "t"], - [38205, 0, "h"], - [38206, 0, "i"], - [38207, 0, "t"], - [38208, 0, "{"], - [38209, 0, "c"], - [38210, 0, "t"], - [38211, 0, "x"], - [38212, 0, "}"], - [38213, 0, ","], - [38214, 0, "\\"], - [38215, 0, ","], - [38216, 0, " "], - [38217, 0, "\\"], - [38218, 0, "m"], - [38219, 0, "a"], - [38220, 0, "t"], - [38221, 0, "h"], - [38222, 0, "s"], - [38223, 0, "f"], - [38224, 0, "{"], - [38225, 0, "c"], - [38226, 0, "u"], - [38227, 0, "r"], - [38228, 0, "s"], - [38229, 0, "o"], - [38230, 0, "r"], - [38231, 0, "}"], - [38352, 0, " "], - [38353, 0, "\\"], - [38354, 0, "m"], - [38355, 0, "a"], - [38356, 0, "t"], - [38357, 0, "h"], - [38358, 0, "i"], - [38359, 0, "t"], - [38360, 0, "{"], - [38361, 0, "c"], - [38362, 0, "t"], - [38363, 0, "x"], - [38364, 0, "}"], - [38365, 0, "'"], - [38366, 0, "$"], - [38367, 0, "}"], - [38232, 0, "("], - [38233, 0, "\\"], - [38234, 0, "l"], - [38235, 0, "a"], - [38236, 0, "n"], - [38237, 0, "g"], - [38238, 0, "l"], - [38239, 0, "e"], - [38240, 0, "\\"], - [38241, 0, "r"], - [38242, 0, "a"], - [38243, 0, "n"], - [38244, 0, "g"], - [38245, 0, "l"], - [38246, 0, "e"], - [38247, 0, ","], - [38248, 0, "\\"], - [38249, 0, ","], - [38250, 0, " "], - [38251, 0, "k"], - [38252, 0, "'"], - [38253, 0, ")"], - [38254, 0, "."], - [38255, 0, "\\"], - [38256, 0, "m"], - [38257, 0, "a"], - [38258, 0, "t"], - [38259, 0, "h"], - [38260, 0, "s"], - [38261, 0, "f"], - [38262, 0, "{"], - [38263, 0, "i"], - [38264, 0, "d"], - [38265, 0, "x"], - [38266, 0, "}"], - [38267, 0, "("], - [38268, 0, "n"], - [38269, 0, "-"], - [38270, 0, "1"], - [38271, 0, ")"], - [38272, 0, " "], - [38273, 0, "\\"], - [38274, 0, "e"], - [38275, 0, "v"], - [38276, 0, "a"], - [38277, 0, "l"], - [38278, 0, "t"], - [38279, 0, "o"], - [38280, 0, " "], - [38281, 0, "\\"], - [38282, 0, "m"], - [38283, 0, "a"], - [38284, 0, "t"], - [38285, 0, "h"], - [38286, 0, "i"], - [38287, 0, "t"], - [38288, 0, "{"], - [38289, 0, "c"], - [38290, 0, "t"], - [38291, 0, "x"], - [38292, 0, "}"], - [38293, 0, "'"], - [38294, 0, "$"], - [38295, 0, "}"], - [38475, 1], - [38474, 1], - [38473, 1], - [38472, 1], - [38471, 1], - [38470, 1], - [38469, 1], - [38468, 1], - [38467, 1], - [38466, 1], - [38465, 1], - [38464, 1], - [38463, 1], - [38462, 1], - [38461, 1], - [38460, 1], - [38459, 1], - [38458, 1], - [38457, 1], - [38456, 1], - [38455, 1], - [38454, 1], - [38453, 1], - [38452, 1], - [38451, 1], - [38450, 1], - [38449, 1], - [38448, 1], - [38447, 1], - [38446, 1], - [38445, 1], - [38444, 1], - [38443, 1], - [38442, 1], - [38441, 1], - [38440, 1], - [38439, 1], - [38438, 1], - [38437, 1], - [38436, 1], - [38435, 1], - [38434, 1], - [38433, 1], - [38432, 1], - [37875, 1], - [37875, 1], - [37875, 0, "U"], - [37280, 1], - [37279, 1], - [37278, 1], - [37277, 1], - [37277, 0, "m"], - [37278, 0, "a"], - [37279, 0, "t"], - [37280, 0, "h"], - [38476, 0, "n"], - [38477, 0, ">"], - [38478, 0, "0"], - [38479, 0, " "], - [38480, 0, "\\"], - [38481, 0, ","], - [38482, 0, "\\"], - [38483, 0, "w"], - [38484, 0, "e"], - [38485, 0, "d"], - [38486, 0, "g"], - [38487, 0, "e"], - [38488, 0, "\\"], - [38489, 0, ","], - [38490, 0, " "], - [38687, 1], - [38686, 1], - [38685, 1], - [38684, 1], - [38684, 0, "i"], - [38685, 0, "d"], - [38686, 0, "x"], - [38688, 0, "("], - [38689, 0, "n"], - [38690, 0, "-"], - [38690, 1], - [38690, 0, ")"], - [38823, 1], - [38822, 1], - [38821, 1], - [38820, 1], - [38820, 0, "i"], - [38821, 0, "d"], - [38822, 0, "x"], - [38824, 0, "("], - [38825, 0, "n"], - [38826, 0, ")"], - [39034, 1], - [39033, 1], - [39032, 1], - [39031, 1], - [39031, 0, "i"], - [39032, 0, "d"], - [39033, 0, "x"], - [39035, 0, "("], - [39036, 0, "n"], - [39037, 0, ")"], - [39248, 1], - [39247, 1], - [39246, 1], - [39245, 1], - [39245, 0, "i"], - [39246, 0, "d"], - [39247, 0, "x"], - [39249, 0, "("], - [39250, 0, "n"], - [39251, 0, ")"], - [39250, 1], - [39250, 0, "i"], - [39036, 1], - [39036, 0, "i"], - [38825, 1], - [38825, 0, "i"], - [38689, 1], - [38689, 0, "i"], - [38405, 1], - [38405, 0, "i"], - [38267, 1], - [38267, 0, "i"], - [38476, 1], - [38476, 0, "i"], - [38050, 1], - [38050, 0, "i"], - [37952, 1], - [37952, 0, "i"], - [37839, 1], - [37839, 0, "i"], - [37768, 1], - [37768, 0, "i"], - [37665, 1], - [37665, 0, "i"], - [29718, 1], - [29718, 0, "i"], - [29734, 1], - [29734, 0, "i"], - [37810, 0, "\n"], - [37811, 0, "\n"], - [37812, 0, "\\"], - [37813, 0, "b"], - [37814, 0, "e"], - [37815, 0, "g"], - [37816, 0, "i"], - [37817, 0, "n"], - [37818, 0, "{"], - [37819, 0, "p"], - [37820, 0, "r"], - [37821, 0, "o"], - [37822, 0, "o"], - [37823, 0, "f"], - [37824, 0, "t"], - [37825, 0, "r"], - [37826, 0, "e"], - [37827, 0, "e"], - [37828, 0, "}"], - [37829, 0, "\n"], - [37830, 0, "\\"], - [37831, 0, "e"], - [37832, 0, "n"], - [37833, 0, "d"], - [37834, 0, "{"], - [37835, 0, "p"], - [37836, 0, "r"], - [37837, 0, "o"], - [37838, 0, "o"], - [37839, 0, "f"], - [37840, 0, "t"], - [37841, 0, "r"], - [37842, 0, "e"], - [37843, 0, "e"], - [37844, 0, "}"], - [37829, 0, "\n"], - [37830, 0, "\\"], - [37831, 0, "A"], - [37832, 0, "x"], - [37833, 0, "i"], - [37834, 0, "o"], - [37835, 0, "m"], - [37836, 0, "C"], - [37837, 0, "{"], - [37838, 0, "$"], - [37839, 0, "k"], - [37840, 0, "_"], - [37841, 0, "1"], - [37842, 0, " "], - [37843, 0, "\\"], - [37844, 0, "i"], - [37845, 0, "n"], - [37846, 0, " "], - [37847, 0, "\\"], - [37848, 0, "m"], - [37849, 0, "a"], - [37850, 0, "t"], - [37851, 0, "h"], - [37852, 0, "r"], - [37853, 0, "m"], - [37854, 0, "{"], - [37855, 0, "d"], - [37856, 0, "o"], - [37857, 0, "m"], - [37858, 0, "}"], - [37859, 0, "("], - [37860, 0, "\\"], - [37861, 0, "m"], - [37862, 0, "a"], - [37863, 0, "t"], - [37864, 0, "h"], - [37865, 0, "i"], - [37866, 0, "t"], - [37867, 0, "{"], - [37868, 0, "c"], - [37869, 0, "t"], - [37870, 0, "x"], - [37871, 0, "}"], - [37872, 0, ")"], - [37873, 0, "$"], - [37874, 0, "}"], - [37875, 0, "\n"], - [37876, 0, "\\"], - [37877, 0, "A"], - [37878, 0, "x"], - [37879, 0, "i"], - [37880, 0, "o"], - [37881, 0, "m"], - [37882, 0, "C"], - [37883, 0, "{"], - [37884, 0, "$"], - [37885, 0, "\\"], - [37886, 0, "m"], - [37887, 0, "a"], - [37888, 0, "t"], - [37889, 0, "h"], - [37890, 0, "i"], - [37891, 0, "t"], - [37892, 0, "{"], - [37893, 0, "c"], - [37894, 0, "t"], - [37895, 0, "x"], - [37896, 0, "}"], - [37897, 0, "("], - [37898, 0, "k"], - [37899, 0, "_"], - [37900, 0, "1"], - [37901, 0, ")"], - [37902, 0, ","], - [37903, 0, "\\"], - [37904, 0, ","], - [37905, 0, " "], - [37906, 0, "\\"], - [37907, 0, "m"], - [37908, 0, "a"], - [37909, 0, "t"], - [37910, 0, "h"], - [37911, 0, "s"], - [37912, 0, "f"], - [37913, 0, "{"], - [37914, 0, "c"], - [37915, 0, "u"], - [37916, 0, "r"], - [37917, 0, "s"], - [37918, 0, "o"], - [37919, 0, "r"], - [37920, 0, "}"], - [37921, 0, "("], - [37922, 0, "\\"], - [37923, 0, "l"], - [37924, 0, "a"], - [37925, 0, "n"], - [37926, 0, "g"], - [37927, 0, "l"], - [37928, 0, "e"], - [37929, 0, " "], - [37930, 0, "k"], - [37931, 0, "_"], - [37932, 0, "2"], - [37933, 0, ","], - [37934, 0, " "], - [37935, 0, "\\"], - [37936, 0, "d"], - [37937, 0, "o"], - [37938, 0, "t"], - [37939, 0, "s"], - [37940, 0, ","], - [37941, 0, " "], - [37942, 0, "k"], - [37943, 0, "_"], - [37944, 0, "{"], - [37945, 0, "n"], - [37946, 0, "-"], - [37947, 0, "1"], - [37948, 0, "}"], - [37949, 0, " "], - [37950, 0, "\\"], - [37951, 0, "r"], - [37952, 0, "a"], - [37953, 0, "n"], - [37954, 0, "g"], - [37955, 0, "l"], - [37956, 0, "e"], - [37957, 0, ","], - [37958, 0, "\\"], - [37959, 0, ","], - [37960, 0, " "], - [37961, 0, "k"], - [37962, 0, "_"], - [37963, 0, "n"], - [37964, 0, ")"], - [37965, 0, "."], - [37966, 0, "\\"], - [37967, 0, "m"], - [37968, 0, "a"], - [37969, 0, "t"], - [37970, 0, "h"], - [37971, 0, "s"], - [37972, 0, "f"], - [37973, 0, "{"], - [37974, 0, "i"], - [37975, 0, "d"], - [37976, 0, "x"], - [37977, 0, "}"], - [37978, 0, "("], - [37979, 0, "i"], - [37980, 0, ")"], - [37981, 0, "\n"], - [37982, 0, " "], - [37983, 0, " "], - [37984, 0, " "], - [37985, 0, " "], - [37986, 0, "\\"], - [37987, 0, "e"], - [37988, 0, "v"], - [37989, 0, "a"], - [37990, 0, "l"], - [37991, 0, "t"], - [37992, 0, "o"], - [37993, 0, " "], - [37994, 0, "\\"], - [37995, 0, "m"], - [37996, 0, "a"], - [37997, 0, "t"], - [37998, 0, "h"], - [37999, 0, "s"], - [38000, 0, "f"], - [38001, 0, "{"], - [38002, 0, "c"], - [38003, 0, "u"], - [38004, 0, "r"], - [38005, 0, "s"], - [38006, 0, "o"], - [38007, 0, "r"], - [38008, 0, "}"], - [38009, 0, "("], - [38010, 0, "\\"], - [38011, 0, "l"], - [38012, 0, "a"], - [38013, 0, "n"], - [38014, 0, "g"], - [38015, 0, "l"], - [38016, 0, "e"], - [38017, 0, " "], - [38018, 0, "k"], - [38019, 0, "_"], - [38020, 0, "2"], - [38021, 0, ","], - [38022, 0, " "], - [38023, 0, "\\"], - [38024, 0, "d"], - [38025, 0, "o"], - [38026, 0, "t"], - [38027, 0, "s"], - [38028, 0, ","], - [38029, 0, " "], - [38030, 0, "k"], - [38031, 0, "_"], - [38032, 0, "{"], - [38033, 0, "n"], - [38034, 0, "-"], - [38035, 0, "1"], - [38036, 0, "}"], - [38037, 0, " "], - [38038, 0, "\\"], - [38039, 0, "r"], - [38040, 0, "a"], - [38041, 0, "n"], - [38042, 0, "g"], - [38043, 0, "l"], - [38044, 0, "e"], - [38045, 0, ","], - [38046, 0, "\\"], - [38047, 0, ","], - [38048, 0, " "], - [38049, 0, "k"], - [38050, 0, "_"], - [38051, 0, "n"], - [38052, 0, "'"], - [38053, 0, ")"], - [38054, 0, "$"], - [38055, 0, "}"], - [38056, 0, "\n"], - [38057, 0, "\\"], - [38058, 0, "L"], - [38059, 0, "e"], - [38060, 0, "f"], - [38061, 0, "t"], - [38062, 0, "L"], - [38063, 0, "a"], - [38064, 0, "b"], - [38065, 0, "e"], - [38066, 0, "l"], - [38067, 0, "{"], - [38068, 0, "$"], - [38069, 0, "\\"], - [38070, 0, "t"], - [38071, 0, "e"], - [38072, 0, "x"], - [38073, 0, "t"], - [38074, 0, "s"], - [38075, 0, "c"], - [38076, 0, "{"], - [38077, 0, "I"], - [38078, 0, "d"], - [38079, 0, "x"], - [38080, 0, "}"], - [38081, 0, "_"], - [38082, 0, "2"], - [38083, 0, "$"], - [38084, 0, "\\"], - [38084, 1], - [38084, 0, "}"], - [38085, 0, "\n"], - [38086, 0, "\\"], - [38087, 0, "B"], - [38088, 0, "i"], - [38089, 0, "n"], - [38090, 0, "a"], - [38091, 0, "r"], - [38092, 0, "y"], - [38093, 0, "I"], - [38094, 0, "n"], - [38095, 0, "f"], - [38096, 0, "C"], - [38097, 0, "{"], - [38098, 0, "$"], - [38099, 0, "\\"], - [38100, 0, "m"], - [38101, 0, "a"], - [38102, 0, "t"], - [38103, 0, "h"], - [38104, 0, "i"], - [38105, 0, "t"], - [38106, 0, "{"], - [38107, 0, "c"], - [38108, 0, "t"], - [38109, 0, "x"], - [38110, 0, "}"], - [38111, 0, ","], - [38112, 0, "\\"], - [38113, 0, ","], - [38114, 0, " "], - [38115, 0, "\\"], - [38116, 0, "a"], - [38117, 0, "t"], - [38117, 1], - [38116, 1], - [38116, 0, "m"], - [38117, 0, "a"], - [38118, 0, "t"], - [38119, 0, "h"], - [38120, 0, "s"], - [38121, 0, "f"], - [38122, 0, "{"], - [38123, 0, "c"], - [38124, 0, "u"], - [38125, 0, "r"], - [38126, 0, "s"], - [38127, 0, "o"], - [38128, 0, "r"], - [38129, 0, "}"], - [38130, 0, "("], - [38131, 0, "\\"], - [38132, 0, "l"], - [38133, 0, "a"], - [38134, 0, "n"], - [38135, 0, "g"], - [38136, 0, "l"], - [38137, 0, "e"], - [38138, 0, " "], - [38139, 0, "k"], - [38140, 0, "1"], - [38140, 1], - [38140, 0, "_"], - [38141, 0, "1"], - [38142, 0, ","], - [38143, 0, " "], - [38144, 0, "k"], - [38145, 0, "_"], - [38146, 0, "2"], - [38147, 0, ","], - [38148, 0, " "], - [38149, 0, "\\"], - [38150, 0, "d"], - [38151, 0, "o"], - [38152, 0, "t"], - [38153, 0, "s"], - [38154, 0, ","], - [38155, 0, " "], - [38156, 0, "k"], - [38157, 0, "_"], - [38158, 0, "n"], - [38159, 0, "-"], - [38160, 0, "1"], - [38160, 1], - [38159, 1], - [38158, 1], - [38158, 0, "{"], - [38159, 0, "n"], - [38160, 0, "-"], - [38161, 0, "1"], - [38162, 0, "}"], - [38163, 0, " "], - [38164, 0, "\\"], - [38165, 0, "r"], - [38166, 0, "a"], - [38167, 0, "n"], - [38168, 0, "g"], - [38169, 0, "l"], - [38170, 0, "e"], - [38171, 0, ","], - [38172, 0, "\\"], - [38173, 0, ","], - [38174, 0, " "], - [38175, 0, "k"], - [38176, 0, "_"], - [38177, 0, "n"], - [38178, 0, ")"], - [38179, 0, "\\"], - [38179, 1], - [38179, 0, "."], - [38180, 0, "\\"], - [38181, 0, "m"], - [38182, 0, "a"], - [38183, 0, "t"], - [38184, 0, "h"], - [38185, 0, "s"], - [38186, 0, "f"], - [38187, 0, "{"], - [38188, 0, "i"], - [38189, 0, "d"], - [38190, 0, "x"], - [38191, 0, "}"], - [38192, 0, "("], - [38193, 0, "i"], - [38194, 0, ")"], - [38195, 0, "\n"], - [38196, 0, " "], - [38197, 0, " "], - [38198, 0, " "], - [38199, 0, " "], - [38200, 0, "\\"], - [38201, 0, "e"], - [38202, 0, "v"], - [38203, 0, "a"], - [38204, 0, "l"], - [38205, 0, "t"], - [38206, 0, "o"], - [38207, 0, " "], - [38208, 0, "\\"], - [38209, 0, "m"], - [38210, 0, "a"], - [38211, 0, "t"], - [38212, 0, "h"], - [38213, 0, "s"], - [38214, 0, "f"], - [38215, 0, "{"], - [38216, 0, "c"], - [38217, 0, "u"], - [38218, 0, "r"], - [38219, 0, "s"], - [38220, 0, "o"], - [38221, 0, "r"], - [38222, 0, "}"], - [38223, 0, " "], - [38223, 1], - [38223, 0, "("], - [38224, 0, "\\"], - [38225, 0, "l"], - [38226, 0, "a"], - [38227, 0, "n"], - [38228, 0, "g"], - [38229, 0, "l"], - [38230, 0, "e"], - [38231, 0, " "], - [38232, 0, "k"], - [38233, 0, "_"], - [38234, 0, "1"], - [38235, 0, ","], - [38236, 0, " "], - [38237, 0, "k"], - [38238, 0, "_"], - [38239, 0, "2"], - [38240, 0, ","], - [38241, 0, " "], - [38242, 0, "\\"], - [38243, 0, "d"], - [38244, 0, "o"], - [38245, 0, "t"], - [38246, 0, "s"], - [38247, 0, ","], - [38248, 0, " "], - [38249, 0, "k"], - [38250, 0, "_"], - [38251, 0, "{"], - [38252, 0, "n"], - [38253, 0, "-"], - [38254, 0, "1"], - [38255, 0, "}"], - [38256, 0, " "], - [38257, 0, "\\"], - [38258, 0, "r"], - [38259, 0, "a"], - [38260, 0, "n"], - [38261, 0, "g"], - [38262, 0, "l"], - [38263, 0, "e"], - [38264, 0, ","], - [38265, 0, "\\"], - [38266, 0, ","], - [38267, 0, " "], - [38268, 0, "k"], - [38269, 0, "_"], - [38270, 0, "n"], - [38271, 0, "'"], - [38272, 0, ")"], - [38273, 0, "$"], - [38274, 0, "}"], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39350, 1], - [39348, 0, "\n"], - [39349, 0, "\n"], - [39350, 0, "\\"], - [39351, 0, "b"], - [39352, 0, "e"], - [39353, 0, "g"], - [39354, 0, "i"], - [39355, 0, "n"], - [39356, 0, "{"], - [39357, 0, "p"], - [39358, 0, "r"], - [39359, 0, "o"], - [39360, 0, "o"], - [39361, 0, "f"], - [39362, 0, "t"], - [39363, 0, "r"], - [39364, 0, "e"], - [39365, 0, "e"], - [39366, 0, "}"], - [39367, 0, "\n"], - [39368, 0, "\\"], - [39369, 0, "A"], - [39370, 0, "x"], - [39371, 0, "i"], - [39372, 0, "o"], - [39373, 0, "m"], - [39374, 0, "C"], - [39375, 0, "{"], - [39376, 0, "$"], - [39377, 0, "i"], - [39378, 0, "="], - [39379, 0, "0"], - [39380, 0, "$"], - [39381, 0, "}"], - [39382, 0, "\n"], - [39383, 0, "\\"], - [39384, 0, "L"], - [39385, 0, "e"], - [39386, 0, "f"], - [39387, 0, "t"], - [39388, 0, "L"], - [39389, 0, "a"], - [39390, 0, "b"], - [39391, 0, "e"], - [39392, 0, "l"], - [39393, 0, "{"], - [39394, 0, "$"], - [39395, 0, "\\"], - [39396, 0, "t"], - [39397, 0, "e"], - [39398, 0, "x"], - [39399, 0, "t"], - [39400, 0, "s"], - [39401, 0, "c"], - [39402, 0, "{"], - [39403, 0, "I"], - [39404, 0, "d"], - [39405, 0, "x"], - [39406, 0, "}"], - [39407, 0, "_"], - [39408, 0, "5"], - [39409, 0, "$"], - [39410, 0, "}"], - [39411, 0, "\n"], - [39412, 0, "\\"], - [39413, 0, "U"], - [39414, 0, "n"], - [39415, 0, "a"], - [39416, 0, "r"], - [39417, 0, "y"], - [39418, 0, "I"], - [39419, 0, "n"], - [39420, 0, "f"], - [39421, 0, "C"], - [39422, 0, "{"], - [39423, 0, "$"], - [39424, 0, "\\"], - [39425, 0, "m"], - [39426, 0, "a"], - [39427, 0, "t"], - [39428, 0, "h"], - [39429, 0, "i"], - [39430, 0, "t"], - [39431, 0, "{"], - [39432, 0, "c"], - [39433, 0, "t"], - [39434, 0, "x"], - [39435, 0, "}"], - [39436, 0, ","], - [39437, 0, "\\"], - [39438, 0, ","], - [39439, 0, " "], - [39440, 0, "\\"], - [39441, 0, "m"], - [39442, 0, "a"], - [39443, 0, "t"], - [39444, 0, "h"], - [39445, 0, "s"], - [39446, 0, "f"], - [39447, 0, "{"], - [39448, 0, "c"], - [39449, 0, "u"], - [39450, 0, "r"], - [39451, 0, "s"], - [39452, 0, "o"], - [39453, 0, "r"], - [39454, 0, "}"], - [39455, 0, "("], - [39456, 0, "\\"], - [39457, 0, "l"], - [39458, 0, "a"], - [39459, 0, "n"], - [39460, 0, "g"], - [39461, 0, "l"], - [39462, 0, "e"], - [39463, 0, "\\"], - [39464, 0, "r"], - [39465, 0, "a"], - [39466, 0, "n"], - [39467, 0, "g"], - [39468, 0, "l"], - [39469, 0, "e"], - [39470, 0, ","], - [39471, 0, "\\"], - [39472, 0, ","], - [39473, 0, " "], - [39474, 0, "k"], - [39475, 0, ")"], - [39476, 0, "."], - [39477, 0, "\\"], - [39478, 0, "m"], - [39479, 0, "a"], - [39480, 0, "t"], - [39481, 0, "h"], - [39482, 0, "s"], - [39483, 0, "f"], - [39484, 0, "{"], - [39485, 0, "i"], - [39486, 0, "d"], - [39487, 0, "x"], - [39488, 0, "}"], - [39489, 0, "("], - [39490, 0, "i"], - [39491, 0, ")"], - [39492, 0, " "], - [39493, 0, "\\"], - [39494, 0, "e"], - [39495, 0, "v"], - [39496, 0, "a"], - [39497, 0, "l"], - [39498, 0, "t"], - [39499, 0, "o"], - [39500, 0, "\n"], - [39501, 0, " "], - [39502, 0, " "], - [39503, 0, " "], - [39504, 0, " "], - [39505, 0, "\\"], - [39506, 0, "m"], - [39507, 0, "a"], - [39508, 0, "t"], - [39509, 0, "h"], - [39510, 0, "s"], - [39511, 0, "f"], - [39512, 0, "{"], - [39513, 0, "c"], - [39514, 0, "u"], - [39515, 0, "r"], - [39516, 0, "s"], - [39517, 0, "o"], - [39518, 0, "r"], - [39519, 0, "}"], - [39520, 0, "("], - [39521, 0, "\\"], - [39522, 0, "l"], - [39523, 0, "a"], - [39524, 0, "n"], - [39525, 0, "g"], - [39526, 0, "l"], - [39527, 0, "e"], - [39528, 0, "\\"], - [39529, 0, "r"], - [39530, 0, "a"], - [39531, 0, "n"], - [39532, 0, "g"], - [39533, 0, "l"], - [39534, 0, "e"], - [39535, 0, ","], - [39536, 0, "\\"], - [39537, 0, ","], - [39538, 0, " "], - [39539, 0, "k"], - [39540, 0, ")"], - [39541, 0, "$"], - [39542, 0, "}"], - [39543, 0, "\n"], - [39544, 0, "\\"], - [39545, 0, "e"], - [39546, 0, "n"], - [39547, 0, "d"], - [39548, 0, "{"], - [39549, 0, "p"], - [39550, 0, "r"], - [39551, 0, "o"], - [39552, 0, "o"], - [39553, 0, "f"], - [39554, 0, "t"], - [39555, 0, "r"], - [39556, 0, "e"], - [39557, 0, "e"], - [39558, 0, "}"], - [38501, 1], - [38500, 1], - [38499, 1], - [38498, 1], - [38497, 1], - [38496, 1], - [38495, 1], - [38494, 1], - [38493, 1], - [38492, 1], - [38491, 1], - [38490, 1], - [38489, 1], - [38488, 1], - [38487, 1], - [38486, 1], - [38485, 1], - [38484, 1], - [38483, 1], - [38482, 1], - [38481, 1], - [38480, 1], - [38479, 1], - [38478, 1], - [38477, 1], - [38476, 1], - [38475, 1], - [38474, 1], - [38473, 1], - [38472, 1], - [38471, 1], - [38470, 1], - [38469, 1], - [38468, 1], - [38467, 1], - [38466, 1], - [38465, 1], - [38464, 1], - [38463, 1], - [38462, 1], - [38461, 1], - [38460, 1], - [38459, 1], - [38458, 1], - [38457, 1], - [38456, 1], - [38455, 1], - [38454, 1], - [38453, 1], - [38452, 1], - [38451, 1], - [38450, 1], - [38449, 1], - [38448, 1], - [38447, 1], - [38446, 1], - [38445, 1], - [38444, 1], - [38443, 1], - [38442, 1], - [38441, 1], - [38440, 1], - [38439, 1], - [38438, 1], - [38437, 1], - [38436, 1], - [38435, 1], - [38434, 1], - [38433, 1], - [38432, 1], - [38431, 1], - [38430, 1], - [38429, 1], - [38428, 1], - [38427, 1], - [38426, 1], - [38425, 1], - [38424, 1], - [38423, 1], - [38422, 1], - [38421, 1], - [38420, 1], - [38419, 1], - [38418, 1], - [38417, 1], - [38416, 1], - [38415, 1], - [38414, 1], - [38413, 1], - [38412, 1], - [38411, 1], - [38410, 1], - [38409, 1], - [38408, 1], - [38407, 1], - [38406, 1], - [38405, 1], - [38404, 1], - [38403, 1], - [38402, 1], - [38401, 1], - [38400, 1], - [38399, 1], - [38398, 1], - [38397, 1], - [38396, 1], - [38395, 1], - [38394, 1], - [38393, 1], - [38392, 1], - [38391, 1], - [38390, 1], - [38389, 1], - [38388, 1], - [38387, 1], - [38386, 1], - [38385, 1], - [38384, 1], - [38383, 1], - [38382, 1], - [38381, 1], - [38380, 1], - [38379, 1], - [38378, 1], - [38377, 1], - [38376, 1], - [38375, 1], - [38374, 1], - [38373, 1], - [38372, 1], - [38371, 1], - [38370, 1], - [38369, 1], - [38368, 1], - [38367, 1], - [38366, 1], - [38365, 1], - [38364, 1], - [38363, 1], - [38362, 1], - [38361, 1], - [38360, 1], - [38359, 1], - [38358, 1], - [38357, 1], - [38356, 1], - [38355, 1], - [38354, 1], - [38353, 1], - [38352, 1], - [38351, 1], - [38350, 1], - [38349, 1], - [38348, 1], - [38347, 1], - [38346, 1], - [38345, 1], - [38344, 1], - [38343, 1], - [38342, 1], - [38341, 1], - [38340, 1], - [38339, 1], - [38338, 1], - [38337, 1], - [38336, 1], - [38335, 1], - [38334, 1], - [38333, 1], - [38332, 1], - [38331, 1], - [38330, 1], - [38329, 1], - [38328, 1], - [38327, 1], - [38326, 1], - [38325, 1], - [38324, 1], - [38323, 1], - [38322, 1], - [38321, 1], - [38320, 1], - [38319, 1], - [38318, 1], - [38317, 1], - [38316, 1], - [38315, 1], - [38314, 1], - [38313, 1], - [38312, 1], - [38311, 1], - [38310, 1], - [38309, 1], - [38308, 1], - [38307, 1], - [38306, 1], - [38305, 1], - [38304, 1], - [38303, 1], - [38302, 1], - [38301, 1], - [38300, 1], - [38299, 1], - [38298, 1], - [38297, 1], - [38296, 1], - [38295, 1], - [38294, 1], - [38293, 1], - [38292, 1], - [38291, 1], - [33493, 0, "{"], - [33494, 0, "{"], - [33495, 0, "{"], - [33496, 0, "{"], - [33497, 0, "{"], - [33498, 0, "{"], - [33499, 0, "{"], - [33499, 1], - [33498, 1], - [33497, 1], - [33496, 1], - [33495, 1], - [33494, 1], - [33493, 1], - [30252, 0, "\n"], - [30253, 0, "d"], - [30254, 0, "o"], - [30255, 0, "c"], - [30256, 0, "."], - [30257, 0, "g"], - [30258, 0, "e"], - [30259, 0, "t"], - [30260, 0, "("], - [30261, 0, "\""], - [30262, 0, "s"], - [30263, 0, "h"], - [30264, 0, "o"], - [30265, 0, "p"], - [30266, 0, "p"], - [30267, 0, "i"], - [30268, 0, "n"], - [30269, 0, "g"], - [30270, 0, "\""], - [30271, 0, ")"], - [30272, 0, " "], - [30273, 0, ":"], - [30274, 0, "="], - [30275, 0, " "], - [30276, 0, "["], - [30277, 0, "]"], - [30278, 0, ";"], - [30347, 1], - [30346, 1], - [30345, 1], - [30344, 1], - [30344, 0, "t"], - [30345, 0, "a"], - [30346, 0, "i"], - [30347, 0, "l"], - [30382, 1], - [30381, 1], - [30380, 1], - [30379, 1], - [30379, 0, "t"], - [30380, 0, "a"], - [30381, 0, "i"], - [30382, 0, "l"], - [30423, 0, "t"], - [30424, 0, "a"], - [30425, 0, "i"], - [30426, 0, "l"], - [30427, 0, "."], - [30428, 0, "i"], - [30429, 0, "n"], - [30430, 0, "s"], - [30431, 0, "e"], - [30432, 0, "r"], - [30433, 0, "t"], - [30434, 0, "("], - [30435, 0, "\""], - [30436, 0, "m"], - [30437, 0, "i"], - [30438, 0, "l"], - [30439, 0, "k"], - [30440, 0, "\""], - [30441, 0, ")"], - [30442, 0, ";"], - [30443, 0, "\n"], - [30398, 1], - [30397, 1], - [30396, 1], - [30395, 1], - [30394, 1], - [30393, 1], - [30392, 1], - [30391, 1], - [30390, 1], - [30389, 1], - [30388, 1], - [30387, 1], - [30386, 1], - [30385, 1], - [30384, 1], - [30383, 1], - [30382, 1], - [30381, 1], - [30380, 1], - [30379, 1], - [30378, 1], - [30559, 1], - [30558, 1], - [30557, 1], - [30556, 1], - [30555, 1], - [30554, 1], - [30553, 1], - [30552, 1], - [30551, 1], - [30550, 1], - [30549, 1], - [30548, 1], - [30547, 1], - [30546, 1], - [30545, 1], - [30544, 1], - [30543, 1], - [30542, 1], - [30541, 1], - [30540, 1], - [30539, 1], - [30538, 1], - [30537, 1], - [30536, 1], - [30535, 1], - [30534, 1], - [30533, 1], - [30532, 1], - [30531, 1], - [30530, 1], - [30529, 1], - [30528, 1], - [30527, 1], - [30526, 1], - [30525, 1], - [30524, 1], - [30523, 1], - [30522, 1], - [30521, 1], - [30520, 1], - [30519, 1], - [30518, 1], - [30517, 1], - [30516, 1], - [30515, 1], - [30514, 1], - [30513, 1], - [30512, 1], - [30511, 1], - [30510, 1], - [30509, 1], - [30508, 1], - [30507, 1], - [30506, 1], - [30505, 1], - [30504, 1], - [30503, 1], - [30502, 1], - [30501, 1], - [30500, 1], - [30499, 1], - [30498, 1], - [30497, 1], - [30496, 1], - [30495, 1], - [30494, 1], - [30493, 1], - [30492, 1], - [30491, 1], - [30490, 1], - [30489, 1], - [30488, 1], - [30487, 1], - [30486, 1], - [30485, 1], - [30484, 1], - [30483, 1], - [30482, 1], - [30481, 1], - [30480, 1], - [18448, 1], - [18448, 0, "c"], - [18449, 1], - [18449, 0, "."], - [18450, 0, "g"], - [18451, 0, "e"], - [18452, 0, "t"], - [18453, 0, "("], - [18461, 1], - [18461, 0, ")"], - [18543, 1], - [18543, 0, "."], - [18544, 0, "g"], - [18545, 0, "e"], - [18546, 0, "t"], - [18547, 0, "("], - [18555, 1], - [18555, 0, ")"], - [21501, 1], - [21501, 0, "."], - [21502, 0, "g"], - [21503, 0, "e"], - [21504, 0, "t"], - [21505, 0, "("], - [21516, 1], - [21516, 1], - [21516, 0, ")"], - [21517, 0, "."], - [21518, 0, "g"], - [21519, 0, "e"], - [21520, 0, "t"], - [21521, 0, "("], - [21529, 1], - [21529, 0, ")"], - [21604, 1], - [21604, 0, "."], - [21605, 0, "g"], - [21606, 0, "e"], - [21607, 0, "t"], - [21608, 0, "("], - [21619, 1], - [21619, 0, ")"], - [21686, 1], - [21686, 0, "."], - [21687, 0, "d"], - [21688, 0, "o"], - [21688, 1], - [21687, 1], - [21687, 0, "g"], - [21688, 0, "e"], - [21689, 0, "t"], - [21690, 0, "("], - [21701, 1], - [21701, 1], - [21701, 0, ")"], - [21702, 0, "("], - [21712, 1], - [21712, 0, ")"], - [21702, 0, "."], - [21703, 0, "g"], - [21704, 0, "e"], - [21705, 0, "t"], - [21621, 0, ":"], - [21745, 0, "\n"], - [21746, 0, "n"], - [21747, 0, "o"], - [21748, 0, "d"], - [21749, 0, "e"], - [21750, 0, " "], - [21751, 0, "["], - [21752, 0, "r"], - [21753, 0, "i"], - [21754, 0, "g"], - [21755, 0, "h"], - [21756, 0, "t"], - [21757, 0, ","], - [21758, 0, "t"], - [21759, 0, "e"], - [21760, 0, "x"], - [21761, 0, "t"], - [21762, 0, " "], - [21763, 0, "w"], - [21764, 0, "i"], - [21765, 0, "d"], - [21766, 0, "t"], - [21767, 0, "h"], - [21768, 0, "="], - [21769, 0, "3"], - [21769, 1], - [21769, 0, "1"], - [21770, 0, "c"], - [21771, 0, "m"], - [21772, 0, ","], - [21773, 0, "t"], - [21774, 0, "e"], - [21775, 0, "x"], - [21776, 0, "t"], - [21777, 0, " "], - [21778, 0, "c"], - [21779, 0, "e"], - [21780, 0, "n"], - [21781, 0, "t"], - [21782, 0, "e"], - [21783, 0, "r"], - [21784, 0, "e"], - [21785, 0, "d"], - [21786, 0, "]"], - [21787, 0, " "], - [21788, 0, "{"], - [21789, 0, "d"], - [21790, 0, "o"], - [21791, 0, "c"], - [21792, 0, "."], - [21793, 0, "g"], - [21794, 0, "e"], - [21795, 0, "t"], - [21796, 0, "("], - [21797, 0, "`"], - [21798, 0, "`"], - [21799, 0, "c"], - [21800, 0, "o"], - [21801, 0, "l"], - [21802, 0, "o"], - [21803, 0, "r"], - [21804, 0, "s"], - [21805, 0, "'"], - [21806, 0, "'"], - [21807, 0, ")"], - [21808, 0, "."], - [21809, 0, "g"], - [21810, 0, "e"], - [21811, 0, "t"], - [21812, 0, "("], - [21813, 0, "`"], - [21814, 0, "`"], - [21815, 0, "g"], - [21816, 0, "r"], - [21817, 0, "e"], - [21818, 0, "e"], - [21819, 0, "n"], - [21820, 0, "'"], - [21821, 0, "'"], - [21822, 0, ")"], - [21823, 0, " "], - [21824, 0, ":"], - [21825, 0, "="], - [21826, 0, " "], - [21827, 0, "`"], - [21828, 0, "`"], - [21829, 0, "\\"], - [21830, 0, "#"], - [21831, 0, "0"], - [21832, 0, "0"], - [21833, 0, "f"], - [21834, 0, "f"], - [21835, 0, "0"], - [21836, 0, "0"], - [21837, 0, "'"], - [21838, 0, "'"], - [21839, 0, ";"], - [21840, 0, "}"], - [21735, 1], - [21734, 1], - [21733, 1], - [21732, 1], - [21731, 1], - [21730, 1], - [21729, 1], - [21728, 1], - [21727, 1], - [21726, 1], - [21725, 1], - [21724, 1], - [21723, 1], - [21722, 1], - [21721, 1], - [21720, 1], - [21719, 1], - [21718, 1], - [21717, 1], - [21716, 1], - [21715, 1], - [21714, 1], - [21713, 1], - [21712, 1], - [21711, 1], - [21710, 1], - [21709, 1], - [21708, 1], - [21707, 1], - [21706, 1], - [21705, 1], - [21704, 1], - [21703, 1], - [21702, 1], - [21701, 1], - [21700, 1], - [21699, 1], - [21698, 1], - [21697, 1], - [21696, 1], - [21695, 1], - [21694, 1], - [21693, 1], - [21692, 1], - [21691, 1], - [21690, 1], - [21689, 1], - [21688, 1], - [21687, 1], - [21686, 1], - [21685, 1], - [21684, 1], - [21683, 1], - [21682, 1], - [21681, 1], - [21680, 1], - [21679, 1], - [21678, 1], - [21677, 1], - [21676, 1], - [21675, 1], - [21674, 1], - [21673, 1], - [21672, 1], - [21671, 1], - [21670, 1], - [21669, 1], - [21719, 0, ","], - [21720, 0, "m"], - [21721, 0, "i"], - [21722, 0, "d"], - [21723, 0, "w"], - [21724, 0, "a"], - [21725, 0, "y"], - [21718, 1], - [21717, 1], - [21716, 1], - [21715, 1], - [21714, 1], - [21713, 1], - [21712, 1], - [21711, 1], - [21711, 0, "r"], - [21712, 0, "e"], - [21712, 1], - [21712, 0, "a"], - [21713, 0, "g"], - [21714, 0, "g"], - [21715, 0, "e"], - [21716, 0, "d"], - [21716, 1], - [21715, 1], - [21714, 1], - [21713, 1], - [21712, 1], - [21711, 1], - [21711, 0, "c"], - [21712, 0, "e"], - [21713, 0, "n"], - [21714, 0, "t"], - [21715, 0, "e"], - [21716, 0, "r"], - [21717, 0, "e"], - [21718, 0, "d"], - [21668, 1], - [21667, 1], - [21667, 0, "-"], - [21668, 0, "-"], - [21702, 1], - [21702, 0, "2"], - [21679, 0, " "], - [21680, 0, " "], - [21681, 0, " "], - [21682, 0, " "], - [21481, 0, "-"], - [21482, 0, "-"], - [21483, 0, " "], - [21484, 0, "("], - [21485, 0, "l"], - [21486, 0, "e"], - [21487, 0, "f"], - [21488, 0, "t"], - [21489, 0, "1"], - [21490, 0, ")"], - [21491, 0, "\n"], - [21492, 0, " "], - [21493, 0, " "], - [21494, 0, " "], - [21495, 0, " "], - [21496, 1], - [21496, 1], - [21496, 1], - [21506, 0, ","], - [21507, 0, "t"], - [21508, 0, "e"], - [21509, 0, "x"], - [21510, 0, "t"], - [21511, 0, " "], - [21512, 0, "w"], - [21513, 0, "i"], - [21514, 0, "d"], - [21515, 0, "t"], - [21516, 0, "h"], - [21517, 0, "="], - [21518, 0, "2"], - [21519, 0, "c"], - [21520, 0, "m"], - [21521, 0, ","], - [21522, 0, "t"], - [21523, 0, "e"], - [21524, 0, "x"], - [21525, 0, "t"], - [21526, 0, " "], - [21527, 0, "c"], - [21528, 0, "e"], - [21529, 0, "n"], - [21530, 0, "t"], - [21531, 0, "e"], - [21532, 0, "r"], - [21533, 0, "e"], - [21534, 0, "d"], - [21535, 0, ","], - [21536, 0, "m"], - [21537, 0, "i"], - [21538, 0, "d"], - [21539, 0, "w"], - [21540, 0, "a"], - [21541, 0, "y"], - [21603, 1], - [21602, 1], - [21601, 1], - [21600, 1], - [21599, 1], - [21598, 1], - [21597, 1], - [21596, 1], - [21762, 1], - [21761, 1], - [21760, 1], - [21759, 1], - [21758, 1], - [21757, 1], - [21756, 1], - [21755, 1], - [21755, 0, "r"], - [21756, 0, "a"], - [21757, 0, "g"], - [21758, 0, "g"], - [21759, 0, "e"], - [21760, 0, "d"], - [21760, 1], - [21759, 1], - [21758, 1], - [21757, 1], - [21756, 1], - [21755, 1], - [21755, 0, "c"], - [21756, 0, "e"], - [21757, 0, "n"], - [21758, 0, "t"], - [21759, 0, "e"], - [21760, 0, "r"], - [21761, 0, "e"], - [21762, 0, "d"], - [21746, 1], - [21746, 0, "4"], - [21518, 1], - [21518, 0, "4"], - [21747, 0, "."], - [21748, 0, "2"], - [21519, 0, "."], - [21520, 0, "2"], - [20940, 1], - [20940, 0, "6"], - [20701, 1], - [20701, 0, "8"], - [20614, 1], - [20614, 0, "8"], - [20587, 1], - [20587, 0, "8"], - [23653, 1], - [23653, 0, "."], - [23654, 0, "g"], - [23655, 0, "e"], - [23656, 0, "t"], - [23657, 0, "("], - [23734, 1], - [23734, 0, "."], - [23735, 0, "g"], - [23736, 0, "e"], - [23737, 0, "t"], - [23738, 0, "("], - [23816, 1], - [23816, 0, "."], - [23817, 0, "g"], - [23818, 0, "e"], - [23819, 0, "t"], - [23820, 0, "("], - [23913, 1], - [23913, 0, "."], - [23914, 0, "g"], - [23915, 0, "e"], - [23916, 0, "t"], - [23917, 0, "("], - [23669, 1], - [23669, 0, ")"], - [23750, 1], - [23750, 0, ")"], - [23832, 1], - [23832, 0, ")"], - [23929, 1], - [23929, 0, ")"], - [23837, 1], - [23836, 1], - [23835, 1], - [23835, 0, "d"], - [23836, 0, "x"], - [23837, 0, "("], - [23838, 0, "0"], - [23839, 0, ")"], - [23936, 1], - [23935, 1], - [23934, 1], - [23934, 0, "d"], - [23935, 0, "x"], - [23936, 0, "("], - [23937, 0, "0"], - [23938, 0, ")"], - [24015, 1], - [24014, 1], - [24013, 1], - [24012, 1], - [24012, 0, "d"], - [24013, 0, "o"], - [24014, 0, "c"], - [24015, 0, "."], - [24016, 0, "g"], - [24017, 0, "e"], - [24018, 0, "t"], - [24019, 0, "("], - [24020, 0, "`"], - [24021, 0, "`"], - [24022, 0, "g"], - [24023, 0, "r"], - [24024, 0, "o"], - [24025, 0, "c"], - [24026, 0, "e"], - [24027, 0, "r"], - [24028, 0, "y"], - [24029, 0, "'"], - [24030, 0, "'"], - [24031, 0, ")"], - [24032, 0, "."], - [24033, 0, "i"], - [24034, 0, "d"], - [24035, 0, "x"], - [24036, 0, "("], - [24037, 0, "1"], - [24038, 0, ")"], - [24113, 1], - [24112, 1], - [24111, 1], - [24110, 1], - [24110, 0, "d"], - [24111, 0, "o"], - [24112, 0, "c"], - [24113, 0, "."], - [24114, 0, "g"], - [24115, 0, "e"], - [24116, 0, "t"], - [24117, 0, "("], - [24118, 0, "z"], - [24119, 0, "`"], - [24119, 1], - [24118, 1], - [24118, 0, "`"], - [24119, 0, "`"], - [24120, 0, "g"], - [24121, 0, "r"], - [24122, 0, "o"], - [24123, 0, "c"], - [24124, 0, "y"], - [24124, 1], - [24124, 0, "e"], - [24125, 0, "r"], - [24126, 0, "y"], - [24127, 0, "'"], - [24128, 0, "'"], - [24129, 0, ")"], - [24130, 0, "."], - [24131, 0, "i"], - [24132, 0, "d"], - [24133, 0, "x"], - [24134, 0, "("], - [24135, 0, "1"], - [24136, 0, ")"], - [23797, 1], - [23796, 1], - [23796, 0, "-"], - [23797, 0, "-"], - [23798, 0, " "], - [23799, 0, "("], - [23800, 0, "l"], - [23801, 0, "e"], - [23802, 0, "f"], - [23803, 0, "t"], - [23804, 0, "2"], - [23805, 0, ")"], - [23806, 0, "\n"], - [23807, 0, " "], - [23808, 0, " "], - [23809, 0, " "], - [23821, 0, ","], - [23822, 0, "t"], - [23823, 0, "e"], - [23824, 0, "x"], - [23825, 0, "t"], - [23826, 0, " "], - [23827, 0, "w"], - [23828, 0, "i"], - [23829, 0, "d"], - [23830, 0, "h"], - [23830, 1], - [23830, 0, "t"], - [23831, 0, "h"], - [23832, 0, "="], - [23833, 0, "4"], - [23834, 0, "c"], - [23835, 0, "m"], - [23836, 0, ","], - [23837, 0, "t"], - [23838, 0, "e"], - [23839, 0, "x"], - [23840, 0, "t"], - [23841, 0, " "], - [23842, 0, "c"], - [23843, 0, "e"], - [23844, 0, "n"], - [23845, 0, "t"], - [23846, 0, "e"], - [23847, 0, "r"], - [23848, 0, "e"], - [23849, 0, "d"], - [23850, 0, ","], - [23851, 0, "m"], - [23852, 0, "i"], - [23853, 0, "d"], - [23854, 0, "w"], - [23855, 0, "a"], - [23856, 0, "y"], - [23858, 1], - [23858, 0, " "], - [23888, 0, " "], - [23915, 1], - [23914, 1], - [23913, 1], - [23912, 1], - [23911, 1], - [23910, 1], - [23909, 1], - [23908, 1], - [23936, 0, "-"], - [23937, 0, "-"], - [23938, 0, " "], - [23939, 0, "("], - [23940, 0, "r"], - [23941, 0, "i"], - [23942, 0, "g"], - [23943, 0, "h"], - [23944, 0, "t"], - [23945, 0, "2"], - [23946, 0, ")"], - [23947, 0, "\n"], - [23948, 0, " "], - [23949, 0, " "], - [23950, 0, " "], - [23951, 0, " "], - [23952, 1], - [23952, 1], - [23952, 1], - [23963, 0, ","], - [23964, 0, "t"], - [23965, 0, "e"], - [23966, 0, "x"], - [23967, 0, "t"], - [23968, 0, " "], - [23969, 0, "w"], - [23970, 0, "i"], - [23971, 0, "d"], - [23972, 0, "t"], - [23973, 0, "h"], - [23974, 0, "="], - [23975, 0, "4"], - [23976, 0, "c"], - [23977, 0, "m"], - [23978, 0, ","], - [23979, 0, "t"], - [23980, 0, "e"], - [23981, 0, "x"], - [23982, 0, "t"], - [23983, 0, " "], - [23984, 0, "c"], - [23985, 0, "e"], - [23986, 0, "n"], - [23987, 0, "t"], - [23988, 0, "e"], - [23989, 0, "r"], - [23990, 0, "e"], - [23991, 0, "d"], - [23992, 0, ","], - [23993, 0, "m"], - [23994, 0, "i"], - [23995, 0, "d"], - [23996, 0, "w"], - [23997, 0, "a"], - [23998, 0, "y"], - [24056, 1], - [24055, 1], - [24054, 1], - [24053, 1], - [24052, 1], - [24051, 1], - [24050, 1], - [24049, 1], - [24048, 1], - [24076, 0, "-"], - [24077, 0, "-"], - [24078, 0, " "], - [24079, 0, "("], - [24080, 0, "l"], - [24081, 0, "e"], - [24082, 0, "f"], - [24083, 0, "t"], - [24084, 0, "3"], - [24085, 0, ")"], - [24086, 0, "\n"], - [24087, 1], - [24087, 1], - [24087, 0, " "], - [24088, 0, " "], - [24089, 0, " "], - [24101, 0, ","], - [24102, 0, "t"], - [24103, 0, "e"], - [24104, 0, "x"], - [24105, 0, "t"], - [24106, 0, " "], - [24107, 0, "w"], - [24108, 0, "i"], - [24109, 0, "d"], - [24110, 0, "t"], - [24111, 0, "h"], - [24112, 0, "="], - [24113, 0, "3"], - [24113, 1], - [24113, 0, "4"], - [24114, 0, "c"], - [24115, 0, "m"], - [24116, 0, ","], - [24117, 0, "t"], - [24118, 0, "e"], - [24119, 0, "x"], - [24120, 0, "t"], - [24121, 0, " "], - [24122, 0, "c"], - [24123, 0, "e"], - [24124, 0, "n"], - [24125, 0, "t"], - [24126, 0, "e"], - [24127, 0, "r"], - [24128, 0, "e"], - [24129, 0, "d"], - [24130, 0, ","], - [24131, 0, "m"], - [24132, 0, "i"], - [24133, 0, "d"], - [24134, 0, "w"], - [24135, 0, "a"], - [24136, 0, "y"], - [24029, 0, " "], - [24169, 0, " "], - [24195, 1], - [24194, 1], - [24193, 1], - [24192, 1], - [24191, 1], - [24190, 1], - [24189, 1], - [24188, 1], - [24216, 0, "-"], - [24217, 0, "-"], - [24218, 0, " "], - [24219, 0, "("], - [24220, 0, "r"], - [24221, 0, "i"], - [24222, 0, "g"], - [24223, 0, "h"], - [24224, 0, "t"], - [24225, 0, "3"], - [24226, 0, ")"], - [24227, 0, "\n"], - [24228, 0, " "], - [24229, 0, " "], - [24230, 0, " "], - [24231, 0, " "], - [24232, 1], - [24232, 1], - [24232, 1], - [24243, 0, ","], - [24244, 0, "t"], - [24245, 0, "e"], - [24246, 0, "x"], - [24247, 0, "t"], - [24248, 0, " "], - [24249, 0, "w"], - [24250, 0, "i"], - [24251, 0, "d"], - [24252, 0, "t"], - [24253, 0, "h"], - [24254, 0, "="], - [24255, 0, "4"], - [24256, 0, "c"], - [24257, 0, "m"], - [24258, 0, ","], - [24259, 0, "t"], - [24260, 0, "e"], - [24261, 0, "x"], - [24262, 0, "t"], - [24263, 0, " "], - [24264, 0, "c"], - [24265, 0, "e"], - [24266, 0, "n"], - [24267, 0, "t"], - [24268, 0, "e"], - [24269, 0, "r"], - [24270, 0, "e"], - [24271, 0, "d"], - [24272, 0, ","], - [24273, 0, "m"], - [24274, 0, "i"], - [24275, 0, "d"], - [24276, 0, "w"], - [24277, 0, "a"], - [24278, 0, "y"], - [24309, 0, " "], - [24338, 1], - [24337, 1], - [24336, 1], - [24335, 1], - [24334, 1], - [24333, 1], - [24332, 1], - [24331, 1], - [24330, 1], - [20589, 1], - [20588, 1], - [20612, 1], - [20612, 0, "7"], - [20613, 0, "."], - [20614, 0, "5"], - [20701, 1], - [20701, 0, "7"], - [20702, 0, "."], - [20703, 0, "5"], - [20942, 1], - [20942, 0, "5"], - [20943, 0, "."], - [20944, 0, "5"], - [23193, 0, "."], - [23194, 0, "5"], - [23268, 0, "."], - [23269, 0, "0"], - [23354, 0, "."], - [23355, 0, "0"], - [23459, 0, "."], - [23460, 0, "0"], - [23111, 0, "."], - [23112, 0, "0"], - [23038, 0, "."], - [23039, 0, "5"], - [22972, 1], - [22972, 0, "7"], - [22973, 0, "."], - [22974, 0, "0"], - [22907, 1], - [22907, 0, "7"], - [22908, 0, "."], - [22909, 0, "0"], - [22857, 1], - [22857, 0, "9"], - [22858, 0, "."], - [22859, 0, "0"], - [22807, 1], - [22807, 0, "9"], - [22808, 0, "."], - [22809, 0, "0"], - [22779, 1], - [22779, 0, "9"], - [23281, 1], - [23281, 0, "5"], - [23206, 1], - [23205, 1], - [23204, 1], - [23204, 0, "5"], - [23205, 0, "."], - [23206, 0, "0"], - [23122, 1], - [23122, 0, "5"], - [23047, 1], - [23046, 1], - [23045, 1], - [23045, 0, "5"], - [23046, 0, "."], - [23047, 0, "0"], - [22980, 1], - [22980, 0, "5"], - [22913, 1], - [22913, 0, "5"], - [22861, 1], - [22861, 0, "5"], - [22809, 1], - [22809, 0, "5"], - [22781, 1], - [22780, 1], - [22779, 1], - [22779, 0, "1"], - [22780, 0, "0"], - [25514, 1], - [25513, 1], - [25512, 1], - [25511, 1], - [25510, 1], - [25509, 1], - [25508, 1], - [25507, 1], - [25506, 1], - [25505, 1], - [25504, 1], - [25503, 1], - [25525, 1], - [25524, 1], - [25526, 0, "\n"], - [25527, 0, "\\"], - [25528, 0, "n"], - [25529, 0, "o"], - [25530, 0, "d"], - [25531, 0, "e"], - [25532, 0, " "], - [25533, 0, "("], - [25534, 0, "r"], - [25535, 0, "i"], - [25536, 0, "g"], - [25537, 0, "h"], - [25538, 0, "t"], - [25539, 0, "1"], - [25540, 0, ")"], - [25541, 0, " "], - [25476, 0, " "], - [25543, 0, "a"], - [25544, 0, "t"], - [25545, 0, " "], - [25546, 0, "("], - [25547, 0, "8"], - [25548, 0, "."], - [25548, 1], - [25548, 0, ","], - [25549, 0, "0"], - [25550, 0, ")"], - [25551, 0, " "], - [25552, 0, "["], - [25553, 0, "r"], - [25554, 0, "e"], - [25555, 0, "c"], - [25556, 0, "t"], - [25557, 0, "a"], - [25558, 0, "n"], - [25559, 0, "g"], - [25560, 0, "l"], - [25561, 0, "e"], - [25562, 0, ","], - [25563, 0, "d"], - [25564, 0, "r"], - [25565, 0, "a"], - [25566, 0, "w"], - [25567, 0, "]"], - [25568, 0, " "], - [25569, 0, "{"], - [25570, 0, "["], - [25571, 0, "`"], - [25572, 0, "`"], - [25573, 0, "a"], - [25574, 0, "'"], - [25575, 0, "'"], - [25576, 0, ","], - [25577, 0, " "], - [25578, 0, "`"], - [25579, 0, "`"], - [25580, 0, "b"], - [25581, 0, "'"], - [25582, 0, "'"], - [25583, 0, ","], - [25584, 0, " "], - [25585, 0, "`"], - [25586, 0, "`"], - [25587, 0, "c"], - [25588, 0, "'"], - [25589, 0, "'"], - [25590, 0, "]"], - [25591, 0, "}"], - [25592, 0, ";"], - [25483, 1], - [25483, 0, "8"], - [25549, 1], - [25549, 0, "8"], - [25593, 0, "\n"], - [25594, 0, "\\"], - [25595, 0, "n"], - [25596, 0, "o"], - [25597, 0, "d"], - [25598, 0, "e"], - [25599, 0, " "], - [25600, 0, "("], - [25601, 0, "l"], - [25602, 0, "e"], - [25603, 0, "f"], - [25604, 0, "t"], - [25605, 0, "2"], - [25606, 0, ")"], - [25607, 0, " "], - [25608, 0, " "], - [25609, 0, "a"], - [25610, 0, "t"], - [25611, 0, " "], - [25612, 0, "("], - [25613, 0, "0"], - [25614, 0, ","], - [25615, 0, "6"], - [25616, 0, ")"], - [25617, 0, " "], - [25618, 0, "["], - [25619, 0, "r"], - [25620, 0, "e"], - [25621, 0, "c"], - [25622, 0, "t"], - [25623, 0, "a"], - [25624, 0, "n"], - [25625, 0, "g"], - [25626, 0, "l"], - [25627, 0, "e"], - [25628, 0, ","], - [25629, 0, "d"], - [25630, 0, "r"], - [25631, 0, "a"], - [25632, 0, "w"], - [25633, 0, "]"], - [25634, 0, " "], - [25635, 0, "{"], - [25636, 0, "["], - [25637, 0, "`"], - [25638, 0, "`"], - [25639, 0, "a"], - [25640, 0, "'"], - [25641, 0, "'"], - [25642, 0, ","], - [25643, 0, " "], - [25644, 0, "`"], - [25645, 0, "`"], - [25646, 0, "c"], - [25647, 0, "'"], - [25648, 0, "'"], - [25649, 0, "]"], - [25650, 0, "}"], - [25651, 0, ";"], - [25652, 0, "\n"], - [25653, 0, "\\"], - [25654, 0, "n"], - [25655, 0, "o"], - [25656, 0, "d"], - [25657, 0, "e"], - [25658, 0, " "], - [25659, 0, "("], - [25660, 0, "\n"], - [25661, 0, "\\"], - [25662, 0, "n"], - [25663, 0, "o"], - [25664, 0, "d"], - [25665, 0, "e"], - [25666, 0, " "], - [25667, 0, "("], - [25668, 0, "r"], - [25669, 0, "i"], - [25670, 0, "g"], - [25671, 0, "h"], - [25672, 0, "t"], - [25673, 0, "1"], - [25674, 0, ")"], - [25675, 0, " "], - [25676, 0, "a"], - [25677, 0, "t"], - [25678, 0, " "], - [25679, 0, "("], - [25680, 0, "9"], - [25680, 1], - [25680, 0, "8"], - [25681, 0, ","], - [25682, 0, "8"], - [25683, 0, ")"], - [25684, 0, " "], - [25685, 0, "["], - [25686, 0, "r"], - [25687, 0, "e"], - [25688, 0, "c"], - [25689, 0, "t"], - [25690, 0, "a"], - [25691, 0, "n"], - [25692, 0, "g"], - [25693, 0, "l"], - [25694, 0, "e"], - [25695, 0, ","], - [25696, 0, "d"], - [25697, 0, "r"], - [25698, 0, "a"], - [25699, 0, "w"], - [25700, 0, "]"], - [25701, 0, " "], - [25702, 0, "{"], - [25703, 0, "["], - [25704, 0, "`"], - [25705, 0, "`"], - [25706, 0, "a"], - [25707, 0, "'"], - [25708, 0, "'"], - [25709, 0, ","], - [25710, 0, " "], - [25711, 0, "'"], - [25712, 0, "'"], - [25712, 1], - [25711, 1], - [25711, 0, "a"], - [25712, 0, "a"], - [25713, 0, "`"], - [25713, 1], - [25712, 1], - [25711, 1], - [25711, 0, "a"], - [25711, 1], - [25711, 0, "`"], - [25712, 0, "`"], - [25713, 0, "b"], - [25714, 0, "'"], - [25715, 0, "'"], - [25716, 0, ","], - [25717, 0, " "], - [25718, 0, "`"], - [25719, 0, "`"], - [25720, 0, "c"], - [25721, 0, "'"], - [25722, 0, "'"], - [25723, 0, "]"], - [25724, 0, "}"], - [25725, 0, ";"], - [25592, 1], - [25591, 1], - [25590, 1], - [25589, 1], - [25588, 1], - [25587, 1], - [25586, 1], - [25585, 1], - [25584, 1], - [25583, 1], - [25582, 1], - [25581, 1], - [25580, 1], - [25579, 1], - [25578, 1], - [25577, 1], - [25576, 1], - [25575, 1], - [25574, 1], - [25573, 1], - [25572, 1], - [25571, 1], - [25570, 1], - [25569, 1], - [25568, 1], - [25567, 1], - [25566, 1], - [25565, 1], - [25564, 1], - [25563, 1], - [25562, 1], - [25561, 1], - [25560, 1], - [25559, 1], - [25558, 1], - [25557, 1], - [25556, 1], - [25555, 1], - [25554, 1], - [25553, 1], - [25552, 1], - [25551, 1], - [25550, 1], - [25549, 1], - [25548, 1], - [25547, 1], - [25546, 1], - [25545, 1], - [25544, 1], - [25543, 1], - [25542, 1], - [25541, 1], - [25540, 1], - [25539, 1], - [25538, 1], - [25537, 1], - [25536, 1], - [25535, 1], - [25534, 1], - [25533, 1], - [25532, 1], - [25531, 1], - [25530, 1], - [25529, 1], - [25528, 1], - [25527, 1], - [25594, 0, "l"], - [25595, 0, "e"], - [25596, 0, "f"], - [25597, 0, "t"], - [25598, 0, "3"], - [25599, 0, ")"], - [25600, 0, " "], - [25601, 0, " "], - [25602, 0, "a"], - [25603, 0, "t"], - [25604, 0, " "], - [25605, 0, "("], - [25606, 0, "0"], - [25607, 0, ","], - [25608, 0, "4"], - [25609, 0, ")"], - [25610, 0, " "], - [25611, 0, "["], - [25612, 0, "r"], - [25613, 0, "e"], - [25614, 0, "c"], - [25615, 0, "t"], - [25616, 0, "a"], - [25617, 0, "n"], - [25618, 0, "g"], - [25619, 0, "l"], - [25620, 0, "e"], - [25621, 0, ","], - [25622, 0, "d"], - [25623, 0, "r"], - [25624, 0, "a"], - [25625, 0, "w"], - [25626, 0, "]"], - [25627, 0, " "], - [25628, 0, "{"], - [25629, 0, "["], - [25630, 0, "`"], - [25631, 0, "`"], - [25632, 0, "a"], - [25633, 0, "'"], - [25634, 0, "'"], - [25635, 0, ","], - [25636, 0, " "], - [25637, 0, "`"], - [25638, 0, "`"], - [25639, 0, "x"], - [25640, 0, "'"], - [25641, 0, "'"], - [25642, 0, ","], - [25643, 0, " "], - [25644, 0, "`"], - [25645, 0, "`"], - [25646, 0, "c"], - [25647, 0, "'"], - [25648, 0, "'"], - [25649, 0, "]"], - [25650, 0, "}"], - [25651, 0, ";"], - [25718, 0, "\n"], - [25719, 0, "\\"], - [25720, 0, "n"], - [25721, 0, "o"], - [25722, 0, "d"], - [25723, 0, "e"], - [25724, 0, " "], - [25725, 0, "("], - [25726, 0, "r"], - [25727, 0, "i"], - [25728, 0, "g"], - [25729, 0, "h"], - [25730, 0, "t"], - [25731, 0, "2"], - [25732, 0, ")"], - [25733, 0, " "], - [25734, 0, "a"], - [25735, 0, "t"], - [25736, 0, " "], - [25737, 0, "("], - [25738, 0, "8"], - [25739, 0, ","], - [25740, 0, "6"], - [25741, 0, ")"], - [25742, 0, " "], - [25743, 0, "["], - [25744, 0, "r"], - [25745, 0, "e"], - [25746, 0, "c"], - [25747, 0, "t"], - [25748, 0, "a"], - [25749, 0, "n"], - [25750, 0, "g"], - [25751, 0, "l"], - [25752, 0, "e"], - [25753, 0, ","], - [25754, 0, "d"], - [25755, 0, "r"], - [25756, 0, "a"], - [25757, 0, "w"], - [25758, 0, "]"], - [25759, 0, " "], - [25760, 0, "{"], - [25761, 0, "["], - [25762, 0, "`"], - [25763, 0, "`"], - [25764, 0, "y"], - [25765, 0, "'"], - [25766, 0, "'"], - [25767, 0, ","], - [25768, 0, " "], - [25769, 0, "'"], - [25770, 0, "'"], - [25770, 1], - [25769, 1], - [25769, 0, "`"], - [25770, 0, "`"], - [25771, 0, "a"], - [25772, 0, "'"], - [25773, 0, "'"], - [25774, 0, ","], - [25775, 0, " "], - [25776, 0, "`"], - [25777, 0, "`"], - [25778, 0, "b"], - [25779, 0, "'"], - [25780, 0, "'"], - [25781, 0, ","], - [25782, 0, " "], - [25783, 0, "`"], - [25784, 0, "`"], - [25785, 0, "c"], - [25786, 0, "'"], - [25787, 0, "'"], - [25788, 0, "]"], - [25789, 0, "}"], - [25790, 0, ";"], - [25791, 0, "\n"], - [25792, 0, "\\"], - [25793, 0, "n"], - [25794, 0, "o"], - [25795, 0, "d"], - [25796, 0, "e"], - [25797, 0, " "], - [25798, 0, ")"], - [25799, 0, "("], - [25799, 1], - [25798, 1], - [25798, 0, "("], - [25799, 0, "r"], - [25800, 0, "i"], - [25801, 0, "g"], - [25802, 0, "h"], - [25803, 0, "t"], - [25804, 0, "3"], - [25805, 0, ")"], - [25806, 0, " "], - [25807, 0, "a"], - [25808, 0, "t"], - [25809, 0, " "], - [25810, 0, "("], - [25811, 0, "8"], - [25812, 0, ","], - [25813, 0, "5"], - [25813, 1], - [25813, 0, "4"], - [25814, 0, ")"], - [25815, 0, " "], - [25816, 0, "["], - [25817, 0, "r"], - [25818, 0, "e"], - [25819, 0, "c"], - [25820, 0, "t"], - [25821, 0, "a"], - [25822, 0, "n"], - [25823, 0, "g"], - [25824, 0, "l"], - [25825, 0, "e"], - [25826, 0, ","], - [25827, 0, "d"], - [25828, 0, "r"], - [25829, 0, "a"], - [25830, 0, "w"], - [25831, 0, "]"], - [25832, 0, " "], - [25833, 0, "{"], - [25834, 0, "["], - [25835, 0, "`"], - [25836, 0, "`"], - [25837, 0, "y"], - [25838, 0, "'"], - [25839, 0, "'"], - [25840, 0, ","], - [25841, 0, " "], - [25842, 0, "`"], - [25843, 0, "`"], - [25844, 0, "a"], - [25845, 0, "'"], - [25846, 0, "'"], - [25847, 0, ","], - [25848, 0, " "], - [25849, 0, "`"], - [25850, 0, "`"], - [25851, 0, "z"], - [25852, 0, "'"], - [25853, 0, "'"], - [25854, 0, " "], - [25854, 1], - [25854, 0, ","], - [25855, 0, " "], - [25856, 0, "`"], - [25857, 0, "`"], - [25858, 0, "b"], - [25859, 0, "'"], - [25860, 0, "'"], - [25861, 0, ","], - [25862, 0, " "], - [25863, 0, "`"], - [25864, 0, "`"], - [25865, 0, "c"], - [25866, 0, "'"], - [25867, 0, "'"], - [25868, 0, "]"], - [25869, 0, "}"], - [25870, 0, ";"], - [25652, 0, "\n"], - [25653, 0, "\\"], - [25654, 0, "n"], - [25655, 0, "o"], - [25656, 0, "d"], - [25657, 0, "e"], - [25658, 0, " "], - [25659, 0, "("], - [25660, 0, "l"], - [25661, 0, "e"], - [25662, 0, "f"], - [25663, 0, "t"], - [25664, 0, "4"], - [25665, 0, ")"], - [25666, 0, " "], - [25667, 0, " "], - [25668, 0, "a"], - [25669, 0, "t"], - [25670, 0, " "], - [25671, 0, "("], - [25672, 0, "0"], - [25673, 0, ","], - [25674, 0, "0"], - [25675, 0, ")"], - [25676, 0, " "], - [25677, 0, "["], - [25678, 0, "r"], - [25679, 0, "e"], - [25680, 0, "c"], - [25681, 0, "t"], - [25682, 0, "a"], - [25683, 0, "n"], - [25684, 0, "g"], - [25685, 0, "l"], - [25686, 0, "e"], - [25687, 0, ","], - [25688, 0, "d"], - [25689, 0, "r"], - [25690, 0, "a"], - [25691, 0, "w"], - [25692, 0, "]"], - [25693, 0, " "], - [25694, 0, "["], - [25694, 1], - [25694, 0, "{"], - [25695, 0, "["], - [25696, 0, "`"], - [25697, 0, "`"], - [25698, 0, "y"], - [25699, 0, "'"], - [25700, 0, "'"], - [25701, 0, ","], - [25702, 0, " "], - [25703, 0, "`"], - [25704, 0, "`"], - [25705, 0, "a"], - [25706, 0, "'"], - [25707, 0, "'"], - [25708, 0, ","], - [25709, 0, " "], - [25710, 0, "`"], - [25711, 0, "`"], - [25712, 0, "x"], - [25713, 0, "'"], - [25714, 0, "'"], - [25715, 0, ","], - [25716, 0, " "], - [25717, 0, "`"], - [25718, 0, "`"], - [25719, 0, "z"], - [25720, 0, "'"], - [25721, 0, "'"], - [25722, 0, ","], - [25723, 0, " "], - [25724, 0, "`"], - [25725, 0, "`"], - [25726, 0, "c"], - [25727, 0, "'"], - [25728, 0, "'"], - [25729, 0, "]"], - [25730, 0, "}"], - [25731, 0, ";"], - [25951, 0, "\n"], - [25952, 0, "\\"], - [25953, 0, "n"], - [25954, 0, "o"], - [25955, 0, "d"], - [25956, 0, "e"], - [25957, 0, " "], - [25958, 0, "("], - [25959, 0, "r"], - [25960, 0, "i"], - [25961, 0, "g"], - [25962, 0, "h"], - [25963, 0, "t"], - [25964, 0, "3"], - [25965, 0, ")"], - [25965, 1], - [25964, 1], - [25964, 0, "4"], - [25965, 0, ")"], - [25966, 0, " "], - [25967, 0, "a"], - [25968, 0, "t"], - [25969, 0, " "], - [25970, 0, "("], - [25971, 0, "8"], - [25972, 0, ","], - [25973, 0, "0"], - [25974, 0, ")"], - [25975, 0, " "], - [25976, 0, "["], - [25977, 0, "r"], - [25978, 0, "e"], - [25979, 0, "c"], - [25980, 0, "t"], - [25981, 0, "a"], - [25982, 0, "n"], - [25983, 0, "g"], - [25984, 0, "l"], - [25985, 0, "e"], - [25986, 0, ","], - [25987, 0, "d"], - [25988, 0, "r"], - [25989, 0, "a"], - [25990, 0, "w"], - [25991, 0, "]"], - [25992, 0, " "], - [25993, 0, "{"], - [25994, 0, "["], - [25995, 0, "`"], - [25996, 0, "`"], - [25997, 0, "y"], - [25998, 0, "'"], - [25999, 0, "'"], - [26000, 0, ","], - [26001, 0, " "], - [26002, 0, "'"], - [26002, 1], - [26002, 0, "`"], - [26003, 0, "`"], - [26004, 0, "a"], - [26005, 0, "'"], - [26006, 0, "'"], - [26007, 0, ","], - [26008, 0, " "], - [26009, 0, "`"], - [26010, 0, "`"], - [26011, 0, "x"], - [26012, 0, "'"], - [26013, 0, "'"], - [26014, 0, ","], - [26015, 0, " "], - [26016, 0, "`"], - [26017, 0, "`"], - [26018, 0, "z"], - [26019, 0, "'"], - [26020, 0, "'"], - [26021, 0, ","], - [26022, 0, " "], - [26023, 0, "`"], - [26024, 0, "`"], - [26025, 0, "c"], - [26026, 0, "'"], - [26027, 0, "'"], - [26028, 0, "]"], - [26029, 0, "}"], - [26030, 0, ";"], - [26031, 0, "\n"], - [26032, 0, "\\"], - [26033, 0, "d"], - [26034, 0, "r"], - [26035, 0, "a"], - [26036, 0, "w"], - [26037, 0, " "], - [26038, 0, "["], - [26039, 0, "t"], - [26040, 0, "h"], - [26041, 0, "i"], - [26042, 0, "c"], - [26043, 0, "k"], - [26044, 0, ","], - [26045, 0, "-"], - [26046, 0, ">"], - [26047, 0, "]"], - [26048, 0, " "], - [26049, 0, "("], - [26050, 0, "l"], - [26051, 0, "e"], - [26052, 0, "f"], - [26053, 0, "t"], - [26054, 0, "1"], - [26055, 0, ")"], - [26056, 0, " "], - [26057, 0, " "], - [26058, 0, "t"], - [26059, 0, "o"], - [26060, 0, " "], - [26061, 0, "n"], - [26062, 0, "o"], - [26063, 0, "d"], - [26064, 0, "e"], - [26065, 0, " "], - [26066, 0, "["], - [26067, 0, "l"], - [26068, 0, "e"], - [26069, 0, "f"], - [26070, 0, "t"], - [26071, 0, "]"], - [26072, 0, " "], - [26073, 0, " "], - [26074, 0, "{"], - [26075, 0, "d"], - [26076, 0, "o"], - [26077, 0, "c"], - [26078, 0, "."], - [26079, 0, "i"], - [26080, 0, "d"], - [26081, 0, "x"], - [26082, 0, "("], - [26083, 0, "2"], - [26084, 0, ")"], - [26085, 0, "."], - [26086, 0, "d"], - [26087, 0, "e"], - [26088, 0, "l"], - [26089, 0, "e"], - [26090, 0, "t"], - [26091, 0, "e"], - [26092, 0, ";"], - [26093, 0, "}"], - [26094, 0, " "], - [26095, 0, "("], - [26096, 0, "l"], - [26097, 0, "e"], - [26098, 0, "f"], - [26099, 0, "t"], - [26100, 0, "2"], - [26101, 0, ")"], - [26102, 0, ";"], - [26103, 0, "\n"], - [26104, 0, "\\"], - [26105, 0, "d"], - [26106, 0, "r"], - [26107, 0, "a"], - [26108, 0, "w"], - [26109, 0, " "], - [26110, 0, "["], - [26111, 0, "t"], - [26112, 0, "h"], - [26113, 0, "i"], - [26114, 0, "c"], - [26115, 0, "k"], - [26116, 0, ","], - [26117, 0, "-"], - [26118, 0, ">"], - [26119, 0, "]"], - [26120, 0, " "], - [26121, 0, "("], - [26122, 0, "l"], - [26123, 0, "e"], - [26124, 0, "f"], - [26125, 0, "t"], - [26126, 0, "2"], - [26127, 0, " "], - [26127, 1], - [26127, 0, ")"], - [26128, 0, " "], - [26129, 0, " "], - [26130, 0, "t"], - [26131, 0, "o"], - [26132, 0, " "], - [26133, 0, "n"], - [26134, 0, "o"], - [26135, 0, "d"], - [26136, 0, "e"], - [26137, 0, " "], - [26138, 0, "["], - [26139, 0, "l"], - [26140, 0, "e"], - [26141, 0, "f"], - [26142, 0, "t"], - [26143, 0, "]"], - [26144, 0, " "], - [26145, 0, " "], - [26146, 0, "{"], - [26147, 0, "d"], - [26148, 0, "o"], - [26149, 0, "c"], - [26150, 0, "."], - [26151, 0, "i"], - [26152, 0, "d"], - [26153, 0, "x"], - [26154, 0, "("], - [26155, 0, "1"], - [26156, 0, ")"], - [26157, 0, "."], - [26158, 0, "i"], - [26159, 0, "n"], - [26160, 0, "s"], - [26161, 0, "e"], - [26162, 0, "r"], - [26163, 0, "t"], - [26164, 0, "("], - [26165, 0, "`"], - [26166, 0, "`"], - [26167, 0, "x"], - [26168, 0, "'"], - [26169, 0, "'"], - [26170, 0, ")"], - [26171, 0, ";"], - [26172, 0, "}"], - [26173, 0, " "], - [26174, 0, "("], - [26175, 0, "l"], - [26176, 0, "e"], - [26177, 0, "f"], - [26178, 0, "t"], - [26179, 0, "3"], - [26180, 0, ")"], - [26181, 0, ";"], - [26182, 0, "\n"], - [26183, 0, "\\"], - [26184, 0, "d"], - [26185, 0, "r"], - [26186, 0, "a"], - [26187, 0, "w"], - [26188, 0, " "], - [26189, 0, "["], - [26190, 0, "t"], - [26191, 0, "h"], - [26192, 0, "i"], - [26193, 0, "c"], - [26194, 0, "k"], - [26195, 0, ","], - [26196, 0, "-"], - [26197, 0, ">"], - [26198, 0, "]"], - [26199, 0, " "], - [26200, 0, "("], - [26201, 0, "r"], - [26202, 0, "i"], - [26203, 0, "g"], - [26204, 0, "h"], - [26205, 0, "t"], - [26206, 0, "1"], - [26207, 0, ")"], - [26208, 0, " "], - [26209, 0, "t"], - [26210, 0, "o"], - [26211, 0, " "], - [26212, 0, "n"], - [26213, 0, "o"], - [26214, 0, "d"], - [26215, 0, "e"], - [26216, 0, " "], - [26217, 0, "["], - [26218, 0, "r"], - [26219, 0, "i"], - [26220, 0, "g"], - [26221, 0, "h"], - [26222, 0, "t"], - [26223, 0, "]"], - [26224, 0, " "], - [26225, 0, "{"], - [26226, 0, "d"], - [26227, 0, "o"], - [26228, 0, "c"], - [26229, 0, "."], - [26230, 0, "i"], - [26231, 0, "d"], - [26232, 0, "x"], - [26233, 0, "("], - [26234, 0, "1"], - [26234, 1], - [26234, 0, "0"], - [26235, 0, ")"], - [26236, 0, "."], - [26237, 0, "i"], - [26238, 0, "n"], - [26239, 0, "s"], - [26240, 0, "e"], - [26241, 0, "r"], - [26242, 0, "t"], - [26243, 0, "("], - [26244, 0, "`"], - [26245, 0, "`"], - [26246, 0, "y"], - [26247, 0, "'"], - [26248, 0, "'"], - [26249, 0, ")"], - [26250, 0, ";"], - [26251, 0, "}"], - [26252, 0, " "], - [26253, 0, "("], - [26254, 0, "r"], - [26255, 0, "i"], - [26256, 0, "g"], - [26257, 0, "h"], - [26258, 0, "t"], - [26259, 0, "2"], - [26260, 0, ")"], - [26261, 0, ";"], - [26262, 0, "\n"], - [26263, 0, "\\"], - [26264, 0, "d"], - [26265, 0, "r"], - [26266, 0, "a"], - [26267, 0, "w"], - [26268, 0, "["], - [26268, 1], - [26268, 0, " "], - [26269, 0, "["], - [26270, 0, "t"], - [26271, 0, "h"], - [26272, 0, "i"], - [26273, 0, "c"], - [26274, 0, "k"], - [26275, 0, ","], - [26276, 0, "-"], - [26277, 0, ">"], - [26278, 0, "]"], - [26279, 0, " "], - [26280, 0, "("], - [26281, 0, "r"], - [26282, 0, "i"], - [26283, 0, "g"], - [26284, 0, "h"], - [26285, 0, "t"], - [26286, 0, "2"], - [26287, 0, ")"], - [26288, 0, " "], - [26289, 0, "t"], - [26290, 0, "o"], - [26291, 0, " "], - [26292, 0, "n"], - [26293, 0, "o"], - [26294, 0, "d"], - [26295, 0, "e"], - [26296, 0, " "], - [26297, 0, "["], - [26298, 0, "r"], - [26299, 0, "i"], - [26300, 0, "g"], - [26301, 0, "h"], - [26302, 0, "t"], - [26303, 0, "]"], - [26304, 0, " "], - [26305, 0, "{"], - [26306, 0, "d"], - [26307, 0, "o"], - [26308, 0, "c"], - [26309, 0, "."], - [26310, 0, "i"], - [26311, 0, "d"], - [26312, 0, "x"], - [26313, 0, "("], - [26314, 0, "2"], - [26315, 0, ")"], - [26316, 0, "."], - [26317, 0, "i"], - [26318, 0, "n"], - [26319, 0, "s"], - [26320, 0, "e"], - [26321, 0, "r"], - [26322, 0, "t"], - [26323, 0, "("], - [26324, 0, "`"], - [26325, 0, "`"], - [26326, 0, "z"], - [26327, 0, "'"], - [26328, 0, "'"], - [26329, 0, ")"], - [26330, 0, ";"], - [26331, 0, "}"], - [26332, 0, " "], - [26333, 0, "("], - [26334, 0, "r"], - [26335, 0, "i"], - [26336, 0, "g"], - [26337, 0, "h"], - [26338, 0, "t"], - [26339, 0, "3"], - [26340, 0, ")"], - [26341, 0, ";"], - [25893, 1], - [25893, 0, "3"], - [25820, 1], - [25820, 0, "5"], - [25754, 1], - [25754, 0, "7"], - [25608, 1], - [25608, 0, "3"], - [25549, 1], - [25549, 0, "5"], - [25483, 1], - [25483, 0, "7"], - [26342, 0, "\n"], - [26343, 0, "\\"], - [26344, 0, "d"], - [26345, 0, "r"], - [26346, 0, "a"], - [26347, 0, "w"], - [26348, 0, " "], - [26349, 0, "["], - [26350, 0, "t"], - [26351, 0, "h"], - [26352, 0, "i"], - [26353, 0, "c"], - [26354, 0, "k"], - [26355, 0, ","], - [26356, 0, "d"], - [26357, 0, "a"], - [26358, 0, "s"], - [26359, 0, "h"], - [26360, 0, "e"], - [26361, 0, "d"], - [26362, 0, ","], - [26363, 0, "b"], - [26364, 0, "l"], - [26365, 0, "u"], - [26366, 0, "e"], - [26367, 0, ","], - [26368, 0, "-"], - [26369, 0, ">"], - [26370, 0, "]"], - [26371, 0, " "], - [26372, 0, "("], - [26373, 0, "l"], - [26374, 0, "e"], - [26375, 0, "f"], - [26376, 0, "t"], - [26377, 0, "3"], - [26378, 0, "."], - [26379, 0, "s"], - [26380, 0, "o"], - [26381, 0, "u"], - [26382, 0, "t"], - [26383, 0, "h"], - [26384, 0, ")"], - [26385, 0, " "], - [26386, 0, " "], - [26387, 0, "t"], - [26388, 0, "o"], - [26389, 0, " "], - [26390, 0, "["], - [26391, 0, "o"], - [26392, 0, "u"], - [26393, 0, "t"], - [26394, 0, "="], - [26395, 0, "2"], - [26396, 0, "7"], - [26397, 0, "0"], - [26398, 0, ","], - [26399, 0, "i"], - [26400, 0, "n"], - [26401, 0, "="], - [26402, 0, "1"], - [26403, 0, "3"], - [26404, 0, "5"], - [26405, 0, "]"], - [26406, 0, " "], - [26407, 0, "("], - [26408, 0, "r"], - [26409, 0, "i"], - [26410, 0, "g"], - [26411, 0, "h"], - [26412, 0, "t"], - [26413, 0, "4"], - [26414, 0, "."], - [26415, 0, "n"], - [26416, 0, "o"], - [26417, 0, "r"], - [26418, 0, "t"], - [26419, 0, "h"], - [26420, 0, " "], - [26421, 0, "w"], - [26422, 0, "e"], - [26423, 0, "s"], - [26424, 0, "t"], - [26425, 0, ")"], - [26426, 0, ";"], - [26427, 0, "\n"], - [26428, 0, "\\"], - [26429, 0, "d"], - [26430, 0, "r"], - [26431, 0, "a"], - [26432, 0, "w"], - [26433, 0, " "], - [26434, 0, "["], - [26435, 0, "t"], - [26436, 0, "h"], - [26437, 0, "i"], - [26438, 0, "c"], - [26439, 0, "k"], - [26440, 0, ","], - [26441, 0, "d"], - [26442, 0, "a"], - [26443, 0, "s"], - [26444, 0, "h"], - [26445, 0, "e"], - [26446, 0, "d"], - [26447, 0, ","], - [26448, 0, "b"], - [26449, 0, "l"], - [26450, 0, "u"], - [26451, 0, "e"], - [26452, 0, ","], - [26453, 0, "-"], - [26454, 0, ">"], - [26455, 0, " "], - [26456, 0, "("], - [26457, 0, "r"], - [26458, 0, "i"], - [26459, 0, "g"], - [26460, 0, "h"], - [26461, 0, "t"], - [26462, 0, "3"], - [26463, 0, "."], - [26464, 0, "s"], - [26465, 0, "o"], - [26466, 0, "u"], - [26455, 0, "]"], - [26468, 0, "t"], - [26469, 0, "h"], - [26470, 0, ")"], - [26471, 0, " "], - [26472, 0, "t"], - [26473, 0, "o"], - [26474, 0, " "], - [26475, 0, "["], - [26476, 0, "o"], - [26477, 0, "u"], - [26478, 0, "t"], - [26479, 0, "="], - [26480, 0, "2"], - [26481, 0, "7"], - [26482, 0, "0"], - [26483, 0, ","], - [26484, 0, "i"], - [26485, 0, "n"], - [26486, 0, "="], - [26487, 0, "4"], - [26488, 0, "5"], - [26489, 0, "]"], - [26490, 0, " "], - [26491, 0, " "], - [26492, 0, "("], - [26493, 0, "l"], - [26494, 0, "e"], - [26495, 0, "f"], - [26496, 0, "t"], - [26497, 0, "4"], - [26498, 0, "."], - [26499, 0, "n"], - [26500, 0, "o"], - [26501, 0, "r"], - [26502, 0, "t"], - [26503, 0, "h"], - [26504, 0, " "], - [26505, 0, "e"], - [26506, 0, "a"], - [26507, 0, "s"], - [26508, 0, "t"], - [26509, 0, ")"], - [26510, 0, ";"], - [26031, 0, "\n"], - [26032, 0, "\\"], - [26033, 0, "n"], - [26034, 0, "o"], - [26035, 0, "d"], - [26036, 0, "e"], - [26037, 0, " "], - [26038, 0, "("], - [26039, 0, "c"], - [26040, 0, "o"], - [26041, 0, "m"], - [26042, 0, "m"], - [26043, 0, "s"], - [26044, 0, ")"], - [26045, 0, " "], - [26046, 0, " "], - [26047, 0, "a"], - [26048, 0, "t"], - [26049, 0, " "], - [26050, 0, "("], - [26051, 0, "5"], - [26052, 0, ","], - [26053, 0, " "], - [26054, 0, "1"], - [26055, 0, "."], - [26056, 0, "4"], - [26057, 0, ")"], - [26058, 0, " "], - [26059, 0, "["], - [26060, 0, "t"], - [26061, 0, "e"], - [26062, 0, "x"], - [26063, 0, "t"], - [26064, 0, "="], - [26065, 0, "b"], - [26066, 0, "l"], - [26067, 0, "u"], - [26068, 0, "e"], - [26069, 0, "]"], - [26070, 0, " "], - [26071, 0, "{"], - [26072, 0, "\\"], - [26073, 0, "f"], - [26074, 0, "o"], - [26075, 0, "o"], - [26076, 0, "t"], - [26077, 0, "n"], - [26078, 0, "o"], - [26079, 0, "t"], - [26080, 0, "e"], - [26081, 0, "s"], - [26082, 0, "i"], - [26083, 0, "z"], - [26084, 0, "e"], - [26085, 0, " "], - [26086, 0, "n"], - [26087, 0, "e"], - [26088, 0, "t"], - [26089, 0, "w"], - [26090, 0, "o"], - [26091, 0, "r"], - [26092, 0, "k"], - [26093, 0, " "], - [26094, 0, "c"], - [26095, 0, "o"], - [26096, 0, "m"], - [26097, 0, "m"], - [26098, 0, "u"], - [26099, 0, "n"], - [26100, 0, "i"], - [26101, 0, "c"], - [26102, 0, "a"], - [26103, 0, "t"], - [26104, 0, "i"], - [26105, 0, "o"], - [26106, 0, "n"], - [26107, 0, "}"], - [26108, 0, ";"], - [25461, 0, "\n"], - [25462, 0, "\\"], - [25463, 0, "d"], - [25464, 0, "r"], - [25465, 0, "a"], - [25466, 0, "w"], - [25467, 0, " "], - [25468, 0, "["], - [25469, 0, "p"], - [25470, 0, "a"], - [25471, 0, "t"], - [25472, 0, "h"], - [25472, 1], - [25471, 1], - [25470, 1], - [25469, 1], - [25468, 1], - [25467, 1], - [25466, 1], - [25465, 1], - [25464, 1], - [25463, 1], - [25463, 0, "p"], - [25464, 0, "a"], - [25465, 0, "t"], - [25466, 0, "h"], - [25467, 0, " "], - [25468, 0, "["], - [25469, 0, "d"], - [25470, 0, "r"], - [25471, 0, "a"], - [25472, 0, "w"], - [25473, 0, ","], - [25474, 0, "d"], - [25475, 0, "o"], - [25476, 0, "t"], - [25477, 0, "t"], - [25478, 0, "e"], - [25479, 0, "d"], - [25480, 0, "]"], - [25481, 0, " "], - [25482, 0, "("], - [25483, 0, "4"], - [25484, 0, ","], - [25485, 0, "-"], - [25486, 0, "0"], - [25487, 0, "5"], - [25487, 1], - [25487, 0, "."], - [25488, 0, "5"], - [25489, 0, ")"], - [25490, 0, " "], - [25491, 0, "-"], - [25492, 0, "-"], - [25493, 0, " "], - [25494, 0, "("], - [25495, 0, "4"], - [25496, 0, ","], - [25497, 0, "7"], - [25498, 0, "."], - [25499, 0, "5"], - [25500, 0, ")"], - [25501, 0, ";"], - [25502, 0, "\n"], - [25503, 0, "\\"], - [25504, 0, "n"], - [25505, 0, "o"], - [25506, 0, "d"], - [25507, 0, "e"], - [25508, 0, " "], - [25509, 0, "("], - [25510, 0, "l"], - [25511, 0, "e"], - [25512, 0, "f"], - [25513, 0, "t"], - [25514, 0, "R"], - [25515, 0, ")"], - [25516, 0, " "], - [25517, 0, " "], - [25518, 0, "a"], - [25519, 0, "t"], - [25520, 0, " "], - [25521, 0, "("], - [25522, 0, "0"], - [25523, 0, ","], - [25524, 0, "8"], - [25525, 0, "."], - [25526, 0, "5"], - [25499, 1], - [25498, 1], - [25497, 1], - [25497, 0, "9"], - [25525, 0, ")"], - [25526, 0, " "], - [25527, 0, "{"], - [25528, 0, "R"], - [25529, 0, "e"], - [25530, 0, "p"], - [25531, 0, "l"], - [25532, 0, "i"], - [25533, 0, "c"], - [25534, 0, "a"], - [25535, 0, " "], - [25536, 0, "$"], - [25537, 0, "p"], - [25538, 0, "$"], - [25539, 0, ":"], - [25540, 0, "}"], - [25541, 0, ";"], - [25542, 0, "\n"], - [25543, 0, "\\"], - [25544, 0, "n"], - [25545, 0, "o"], - [25546, 0, "d"], - [25547, 0, "e"], - [25548, 0, " "], - [25549, 0, "("], - [25550, 0, "r"], - [25551, 0, "i"], - [25552, 0, "g"], - [25553, 0, "h"], - [25554, 0, "t"], - [25555, 0, "R"], - [25556, 0, ")"], - [25557, 0, " "], - [25558, 0, "a"], - [25559, 0, "t"], - [25560, 0, " "], - [25561, 0, "("], - [25562, 0, "8"], - [25563, 0, ","], - [25564, 0, "8"], - [25565, 0, "."], - [25566, 0, "5"], - [25567, 0, ")"], - [25568, 0, " "], - [25569, 0, "{"], - [25570, 0, "R"], - [25571, 0, "e"], - [25572, 0, "p"], - [25573, 0, "l"], - [25574, 0, "i"], - [25575, 0, "c"], - [25576, 0, "a"], - [25577, 0, " "], - [25578, 0, "$"], - [25579, 0, "q"], - [25580, 0, "$"], - [25581, 0, ":"], - [25582, 0, "}"], - [25583, 0, ";"], - [26931, 1], - [26931, 0, "6"], - [26932, 0, "."], - [26933, 0, "5"], - [27019, 1], - [27018, 1], - [27017, 1], - [27016, 1], - [27015, 1], - [27014, 1], - [27013, 1], - [27012, 1], - [27011, 1], - [27010, 1], - [27009, 1], - [27008, 1], - [27007, 1], - [27006, 1], - [27005, 1], - [27004, 1], - [27003, 1], - [27002, 1], - [27001, 1], - [27000, 1], - [26999, 1], - [26998, 1], - [26997, 1], - [26996, 1], - [26995, 1], - [26994, 1], - [26993, 1], - [26992, 1], - [26991, 1], - [26990, 1], - [26989, 1], - [26988, 1], - [26987, 1], - [26986, 1], - [26985, 1], - [26984, 1], - [26983, 1], - [26982, 1], - [26981, 1], - [26980, 1], - [26979, 1], - [26978, 1], - [26977, 1], - [26976, 1], - [26975, 1], - [26974, 1], - [26973, 1], - [26972, 1], - [26971, 1], - [26970, 1], - [26969, 1], - [26968, 1], - [26967, 1], - [26966, 1], - [26965, 1], - [26964, 1], - [26963, 1], - [26962, 1], - [26961, 1], - [26960, 1], - [26959, 1], - [26958, 1], - [26957, 1], - [26956, 1], - [26955, 1], - [26954, 1], - [26953, 1], - [26952, 1], - [26951, 1], - [26950, 1], - [26949, 1], - [26948, 1], - [26947, 1], - [26946, 1], - [26945, 1], - [26944, 1], - [26943, 1], - [26942, 1], - [26941, 1], - [26940, 1], - [26939, 1], - [26938, 1], - [26937, 1], - [26936, 1], - [26174, 1], - [26174, 0, "4"], - [26179, 1], - [26179, 0, "5"], - [25566, 1], - [25565, 1], - [25523, 1], - [25523, 1], - [25497, 1], - [25497, 0, "8"], - [25498, 0, "."], - [25499, 0, "5"], - [26710, 0, "\n"], - [26711, 0, "\\"], - [26712, 0, "d"], - [26713, 0, "r"], - [26713, 1], - [26712, 1], - [26711, 1], - [26710, 1], - [26541, 0, "\n"], - [26542, 0, "\\"], - [26543, 0, "d"], - [26544, 0, "r"], - [26545, 0, "a"], - [26546, 0, "w"], - [26547, 0, " "], - [26548, 0, "["], - [26549, 0, "t"], - [26550, 0, "h"], - [26551, 0, "i"], - [26552, 0, "c"], - [26553, 0, "k"], - [26554, 0, ","], - [26555, 0, "-"], - [26556, 0, ">"], - [26557, 0, " "], - [26558, 0, "("], - [26558, 1], - [26557, 1], - [26557, 0, "]"], - [26558, 0, " "], - [26559, 0, "("], - [26560, 0, "l"], - [26561, 0, "e"], - [26562, 0, "f"], - [26563, 0, "t"], - [26564, 0, "3"], - [26565, 0, ")"], - [26566, 0, " "], - [26567, 0, "t"], - [26568, 0, "o"], - [26569, 0, " "], - [26567, 0, " "], - [26571, 0, "("], - [26572, 0, "l"], - [26573, 0, "e"], - [26574, 0, "f"], - [26575, 0, "t"], - [26576, 0, "4"], - [26577, 0, ")"], - [26578, 0, ";"], - [26579, 0, "\n"], - [26580, 0, "\\"], - [26581, 0, "d"], - [26582, 0, "r"], - [26583, 0, "a"], - [26584, 0, "w"], - [26585, 0, " "], - [26586, 0, "["], - [26587, 0, "t"], - [26588, 0, "h"], - [26589, 0, "i"], - [26590, 0, "c"], - [26591, 0, "k"], - [26592, 0, ","], - [26593, 0, "-"], - [26594, 0, ">"], - [26595, 0, "]"], - [26596, 0, " "], - [26597, 0, "("], - [26598, 0, "r"], - [26599, 0, "i"], - [26600, 0, "g"], - [26601, 0, "h"], - [26602, 0, "t"], - [26603, 0, "3"], - [26604, 0, ")"], - [26605, 0, " "], - [26606, 0, "t"], - [26607, 0, "o"], - [26608, 0, " "], - [26609, 0, "("], - [26610, 0, "r"], - [26611, 0, "i"], - [26612, 0, "g"], - [26613, 0, "h"], - [26614, 0, "t"], - [26615, 0, "3"], - [26615, 1], - [26615, 0, "4"], - [26616, 0, ")"], - [26617, 0, ";"], - [27008, 1], - [27007, 1], - [27006, 1], - [27006, 0, "7"], - [27007, 0, "."], - [27008, 0, "0"], - [27796, 1], - [27796, 0, "."], - [27797, 0, "g"], - [27798, 0, "e"], - [27799, 0, "t"], - [27800, 0, "("], - [27885, 1], - [27885, 0, "."], - [27886, 0, "g"], - [27887, 0, "e"], - [27888, 0, "t"], - [27889, 0, "("], - [27809, 1], - [27809, 0, ")"], - [27810, 0, "."], - [27811, 0, "i"], - [27812, 0, "d"], - [27813, 0, "x"], - [27814, 0, "("], - [27815, 0, "1"], - [27816, 0, ")"], - [27817, 1], - [27817, 1], - [27817, 1], - [27817, 1], - [27817, 1], - [27817, 1], - [27817, 1], - [27817, 1], - [27817, 1], - [27817, 1], - [27900, 1], - [27899, 1], - [27898, 1], - [27897, 1], - [27896, 1], - [27895, 1], - [27895, 0, ")"], - [27897, 0, "i"], - [27898, 0, "d"], - [27899, 0, "x"], - [27900, 0, "("], - [27901, 0, "1"], - [27902, 0, ")"], - [27903, 0, "."], - [27904, 1], - [27904, 1], - [27904, 1], - [27904, 1], - [27904, 1], - [27904, 0, "g"], - [27905, 0, "e"], - [27906, 0, "t"], - [27907, 0, "("], - [27916, 1], - [27916, 0, ")"], - [26906, 0, "\n"], - [26907, 0, "\n"], - [26908, 0, "\\"], - [26909, 0, "b"], - [26910, 0, "e"], - [26911, 0, "g"], - [26912, 0, "i"], - [26913, 0, "n"], - [26914, 0, "{"], - [26915, 0, "f"], - [26916, 0, "i"], - [26917, 0, "g"], - [26918, 0, "u"], - [26919, 0, "r"], - [26920, 0, "e"], - [26921, 0, "*"], - [26922, 0, "}"], - [26923, 0, "\n"], - [26924, 0, "\\"], - [26925, 0, "c"], - [26926, 0, "e"], - [26927, 0, "n"], - [26928, 0, "t"], - [26929, 0, "e"], - [26930, 0, "r"], - [26931, 0, "i"], - [26932, 0, "n"], - [26933, 0, "g"], - [26934, 0, "\n"], - [26935, 0, "\\"], - [26936, 0, "b"], - [26937, 0, "e"], - [26938, 0, "g"], - [26939, 0, "i"], - [26940, 0, "n"], - [26941, 0, "{"], - [26942, 0, "t"], - [26943, 0, "i"], - [26944, 0, "k"], - [26945, 0, "z"], - [26946, 0, "p"], - [26947, 0, "i"], - [26948, 0, "c"], - [26949, 0, "t"], - [26950, 0, "u"], - [26951, 0, "r"], - [26952, 0, "e"], - [26953, 0, "}"], - [26954, 0, "["], - [26955, 0, "a"], - [26956, 0, "u"], - [26957, 0, "t"], - [26958, 0, "o"], - [26959, 0, ","], - [26960, 0, "s"], - [26961, 0, "c"], - [26962, 0, "a"], - [26963, 0, "l"], - [26964, 0, "e"], - [26965, 0, "="], - [26966, 0, "0"], - [26967, 0, "."], - [26968, 0, "8"], - [26969, 0, "]"], - [26970, 0, "\n"], - [26971, 0, "\\"], - [26972, 0, "e"], - [26973, 0, "n"], - [26974, 0, "d"], - [26975, 0, "{"], - [26976, 0, "t"], - [26977, 0, "i"], - [26978, 0, "k"], - [26979, 0, "z"], - [26980, 0, "p"], - [26981, 0, "i"], - [26982, 0, "c"], - [26983, 0, "t"], - [26984, 0, "u"], - [26985, 0, "r"], - [26986, 0, "e"], - [26987, 0, "}"], - [26988, 0, "\n"], - [26989, 0, "\\"], - [26990, 0, "c"], - [26991, 0, "a"], - [26992, 0, "p"], - [26993, 0, "t"], - [26994, 0, "i"], - [26995, 0, "o"], - [26996, 0, "n"], - [26997, 0, "{"], - [26998, 0, "C"], - [26999, 0, "o"], - [27000, 0, "n"], - [27001, 0, "c"], - [27002, 0, "u"], - [27003, 0, "r"], - [27004, 0, "r"], - [27005, 0, "e"], - [27006, 0, "n"], - [27007, 0, "t"], - [27008, 0, "l"], - [27009, 0, "y"], - [27010, 0, " "], - [27011, 0, "a"], - [27012, 0, "s"], - [27013, 0, "s"], - [27014, 0, "i"], - [27015, 0, "g"], - [27016, 0, "n"], - [27017, 0, "i"], - [27018, 0, "n"], - [27019, 0, "g"], - [27020, 0, " "], - [27021, 0, "v"], - [27022, 0, "a"], - [27023, 0, "l"], - [27024, 0, "u"], - [27025, 0, "e"], - [27026, 0, "s"], - [27027, 0, " "], - [27028, 0, "o"], - [27029, 0, "f"], - [27030, 0, " "], - [27031, 0, "d"], - [27032, 0, "i"], - [27033, 0, "f"], - [27034, 0, "f"], - [27035, 0, "e"], - [27036, 0, "r"], - [27037, 0, "e"], - [27038, 0, "n"], - [27039, 0, "t"], - [27040, 0, " "], - [27041, 0, "t"], - [27042, 0, "y"], - [27043, 0, "p"], - [27044, 0, "e"], - [27045, 0, "s"], - [27046, 0, " "], - [27047, 0, "t"], - [27048, 0, "o"], - [27049, 0, " "], - [27050, 0, "t"], - [27051, 0, "h"], - [27052, 0, "e"], - [27053, 0, " "], - [27054, 0, "s"], - [27055, 0, "a"], - [27056, 0, "m"], - [27057, 0, "e"], - [27058, 0, " "], - [27059, 0, "m"], - [27060, 0, "a"], - [27061, 0, "p"], - [27062, 0, " "], - [27063, 0, "k"], - [27064, 0, "e"], - [27065, 0, "y"], - [27066, 0, "."], - [27067, 0, "}"], - [27068, 0, "\n"], - [27069, 0, "\\"], - [27070, 0, "e"], - [27071, 0, "n"], - [27072, 0, "d"], - [27073, 0, "{"], - [27074, 0, "f"], - [27075, 0, "i"], - [27076, 0, "g"], - [27077, 0, "u"], - [27078, 0, "r"], - [27079, 0, "e"], - [27080, 0, "*"], - [27081, 0, "}"], - [26970, 0, "\n"], - [26971, 0, "\\"], - [26972, 0, "p"], - [26973, 0, "a"], - [26974, 0, "t"], - [26975, 0, "h"], - [26976, 0, " "], - [26977, 0, "["], - [26978, 0, "d"], - [26979, 0, "r"], - [26980, 0, "a"], - [26981, 0, "w"], - [26982, 0, ","], - [26983, 0, "d"], - [26984, 0, "o"], - [26985, 0, "t"], - [26986, 0, "t"], - [26987, 0, "e"], - [26988, 0, "d"], - [26989, 0, "]"], - [26990, 0, " "], - [26991, 0, "("], - [26992, 0, "4"], - [26993, 0, ","], - [26994, 0, "-"], - [26995, 0, "0"], - [26996, 0, "."], - [26997, 0, "5"], - [26998, 0, ")"], - [26999, 0, " "], - [27000, 0, "-"], - [27001, 0, "-"], - [27002, 0, " "], - [27003, 0, "("], - [27004, 0, "4"], - [27005, 0, ","], - [27006, 0, "8"], - [27007, 0, "."], - [27008, 0, "5"], - [27009, 0, ")"], - [27010, 0, ";"], - [27011, 0, "\n"], - [27012, 0, "\\"], - [27013, 0, "n"], - [27014, 0, "o"], - [27015, 0, "d"], - [27016, 0, "e"], - [27017, 0, " "], - [27018, 0, "("], - [27019, 0, "l"], - [27020, 0, "e"], - [27021, 0, "f"], - [27022, 0, "t"], - [27023, 0, "1"], - [27024, 0, ")"], - [27025, 0, " "], - [27026, 0, " "], - [27027, 0, "a"], - [27028, 0, "t"], - [27029, 0, " "], - [27030, 0, "("], - [27031, 0, "0"], - [27032, 0, ","], - [27033, 0, "7"], - [27034, 0, ")"], - [27035, 0, " "], - [27036, 0, "["], - [27037, 0, "r"], - [27038, 0, "e"], - [27039, 0, "c"], - [27040, 0, "t"], - [27041, 0, "a"], - [27042, 0, "n"], - [27043, 0, "g"], - [27044, 0, "l"], - [27045, 0, "e"], - [27046, 0, ","], - [27047, 0, "d"], - [27048, 0, "r"], - [27049, 0, "a"], - [27050, 0, "w"], - [27051, 0, "}"], - [27051, 1], - [27051, 0, "]"], - [27052, 0, " "], - [27053, 0, "{"], - [27054, 0, "\\"], - [27055, 0, "{"], - [27056, 0, "\\"], - [27057, 0, "}"], - [27058, 0, "}"], - [27059, 0, ";"], - [27060, 0, "\n"], - [27061, 0, "\\"], - [27062, 0, "n"], - [27063, 0, "o"], - [27064, 0, "d"], - [27065, 0, "e"], - [27066, 0, " "], - [27067, 0, "("], - [27068, 0, "r"], - [27069, 0, "i"], - [27070, 0, "g"], - [27071, 0, "h"], - [27072, 0, "t"], - [27073, 0, "1"], - [27074, 0, ")"], - [27075, 0, " "], - [27076, 0, "a"], - [27077, 0, "t"], - [27078, 0, " "], - [27079, 0, "("], - [27080, 0, "0"], - [27080, 1], - [27080, 0, "8"], - [27081, 0, ","], - [27082, 0, "7"], - [27083, 0, ")"], - [27084, 0, " "], - [27085, 0, "["], - [27086, 0, "r"], - [27087, 0, "e"], - [27088, 0, "c"], - [27089, 0, "t"], - [27090, 0, "a"], - [27091, 0, "n"], - [27092, 0, "g"], - [27093, 0, "l"], - [27094, 0, "e"], - [27095, 0, ","], - [27096, 0, "d"], - [27097, 0, "r"], - [27098, 0, "a"], - [27099, 0, "w"], - [27100, 0, "]"], - [27101, 0, " "], - [27102, 0, "{"], - [27103, 0, "\\"], - [27104, 0, "{"], - [27105, 0, "\\"], - [27106, 0, "}"], - [27107, 0, "}"], - [27108, 0, ";"], - [27060, 0, "\n"], - [27061, 0, "\\"], - [27062, 0, "n"], - [27063, 0, "o"], - [27064, 0, "d"], - [27065, 0, "e"], - [27066, 0, " "], - [27067, 0, "("], - [27068, 0, "l"], - [27069, 0, "e"], - [27070, 0, "f"], - [27071, 0, "t"], - [27072, 0, "2"], - [27073, 0, ")"], - [27074, 0, " "], - [27075, 0, " "], - [27076, 0, "a"], - [27077, 0, "t"], - [27078, 0, " "], - [27079, 0, "("], - [27080, 0, "0"], - [27081, 0, ","], - [27082, 0, "5"], - [27083, 0, ")"], - [27084, 0, " "], - [27085, 0, "["], - [27086, 0, "r"], - [27087, 0, "e"], - [27088, 0, "c"], - [27089, 0, "t"], - [27090, 0, "a"], - [27091, 0, "n"], - [27092, 0, "g"], - [27093, 0, "l"], - [27094, 0, "e"], - [27095, 0, ","], - [27096, 0, "d"], - [27097, 0, "r"], - [27098, 0, "a"], - [27099, 0, "w"], - [27100, 0, "]"], - [27101, 0, " "], - [27102, 0, "{"], - [27103, 0, "\\"], - [27104, 0, "{"], - [27105, 0, "`"], - [27106, 0, "`"], - [27107, 0, "a"], - [27108, 0, "'"], - [27109, 0, "'"], - [27110, 0, ":"], - [27111, 0, " "], - [27112, 0, "\\"], - [27113, 0, "{"], - [27114, 0, "\\"], - [27115, 0, "}"], - [27116, 0, "\\"], - [27117, 0, "}"], - [27118, 0, "}"], - [27119, 0, ";"], - [27120, 0, "\n"], - [27121, 0, "\\"], - [27122, 0, "n"], - [27123, 0, "o"], - [27124, 0, "d"], - [27125, 0, "e"], - [27126, 0, " "], - [27127, 0, "("], - [27128, 0, "l"], - [27129, 0, "e"], - [27130, 0, "f"], - [27131, 0, "t"], - [27132, 0, "3"], - [27133, 0, ")"], - [27134, 0, " "], - [27135, 0, " "], - [27136, 0, "a"], - [27137, 0, "t"], - [27138, 0, " "], - [27139, 0, "("], - [27140, 0, "0"], - [27141, 0, ","], - [27142, 0, "4"], - [27142, 1], - [27142, 0, "3"], - [27143, 0, ")"], - [27144, 0, " "], - [27145, 0, "["], - [27146, 0, "r"], - [27147, 0, "e"], - [27148, 0, "c"], - [27149, 0, "t"], - [27150, 0, "a"], - [27151, 0, "n"], - [27152, 0, "g"], - [27153, 0, "l"], - [27154, 0, "e"], - [27155, 0, ","], - [27156, 0, "d"], - [27157, 0, "r"], - [27158, 0, "w"], - [27159, 0, "a"], - [27160, 0, "w"], - [27160, 1], - [27159, 1], - [27158, 1], - [27158, 0, "a"], - [27159, 0, "w"], - [27160, 0, "]"], - [27161, 0, " "], - [27162, 0, "{"], - [27163, 0, "\\"], - [27164, 0, "{"], - [27165, 0, "`"], - [27166, 0, "`"], - [27167, 0, "a"], - [27168, 0, "'"], - [27169, 0, "'"], - [27170, 0, ":"], - [27171, 0, " "], - [27172, 0, "\\"], - [27173, 0, "{"], - [27174, 0, "`"], - [27175, 0, "`"], - [27176, 0, "x"], - [27177, 0, "'"], - [27178, 0, "'"], - [27179, 0, ":"], - [27180, 0, " "], - [27181, 0, "`"], - [27182, 0, "`"], - [27183, 0, "y"], - [27184, 0, "'"], - [27185, 0, "'"], - [27186, 0, "\\"], - [27187, 0, "}"], - [27188, 0, "\\"], - [27189, 0, "}"], - [27190, 0, "}"], - [27191, 0, ";"], - [27241, 0, "\n"], - [27242, 0, "\\"], - [27243, 0, "n"], - [27244, 0, "o"], - [27245, 0, "d"], - [27246, 0, "e"], - [27247, 0, " "], - [27248, 0, "("], - [27249, 0, "r"], - [27250, 0, "i"], - [27251, 0, "g"], - [27252, 0, "h"], - [27253, 0, "t"], - [27254, 0, "2"], - [27255, 0, ")"], - [27256, 0, " "], - [27257, 0, "a"], - [27258, 0, "t"], - [27259, 0, " "], - [27260, 0, "("], - [27261, 0, "8"], - [27262, 0, ","], - [27263, 0, "5"], - [27264, 0, ")"], - [27265, 0, " "], - [27266, 0, "["], - [27267, 0, "r"], - [27268, 0, "e"], - [27269, 0, "c"], - [27270, 0, "t"], - [27271, 0, "a"], - [27272, 0, "n"], - [27273, 0, "g"], - [27274, 0, "l"], - [27275, 0, "e"], - [27276, 0, ","], - [27277, 0, "d"], - [27278, 0, "r"], - [27279, 0, "a"], - [27280, 0, "w"], - [27281, 0, "]"], - [27282, 0, " "], - [27283, 0, "["], - [27283, 1], - [27283, 0, "{"], - [27284, 0, "\\"], - [27285, 0, "{"], - [27286, 0, "`"], - [27287, 0, "`"], - [27288, 0, "a"], - [27289, 0, "'"], - [27290, 0, "'"], - [27291, 0, ":"], - [27292, 0, " "], - [27293, 0, "["], - [27294, 0, "]"], - [27295, 0, "\\"], - [27296, 0, "}"], - [27297, 0, "}"], - [27298, 0, ";"], - [27299, 0, "\n"], - [27300, 0, "\\"], - [27301, 0, "n"], - [27302, 0, "o"], - [27303, 0, "d"], - [27304, 0, "e"], - [27305, 0, " "], - [27306, 0, "("], - [27307, 0, "r"], - [27308, 0, "i"], - [27309, 0, "g"], - [27310, 0, "h"], - [27311, 0, "t"], - [27312, 0, "3"], - [27313, 0, ")"], - [27314, 0, " "], - [27315, 0, "a"], - [27316, 0, "t"], - [27317, 0, " "], - [27318, 0, "("], - [27319, 0, "8"], - [27320, 0, ","], - [27321, 0, "4"], - [27321, 1], - [27321, 0, "3"], - [27322, 0, ")"], - [27323, 0, " "], - [27324, 0, "["], - [27325, 0, "r"], - [27326, 0, "e"], - [27327, 0, "c"], - [27328, 0, "t"], - [27329, 0, "a"], - [27330, 0, "n"], - [27331, 0, "g"], - [27332, 0, "l"], - [27333, 0, "e"], - [27334, 0, ","], - [27335, 0, "d"], - [27336, 0, "r"], - [27337, 0, "a"], - [27338, 0, "w"], - [27339, 0, "]"], - [27340, 0, " "], - [27341, 0, "{"], - [27342, 0, "\\"], - [27343, 0, "{"], - [27344, 0, "`"], - [27345, 0, "`"], - [27346, 0, "a"], - [27347, 0, "'"], - [27348, 0, "'"], - [27349, 0, ":"], - [27350, 0, " "], - [27351, 0, "["], - [27352, 0, "`"], - [27353, 0, "`"], - [27354, 0, "z"], - [27355, 0, "'"], - [27356, 0, "'"], - [27357, 0, "]"], - [27358, 0, "\\"], - [27359, 0, "}"], - [27360, 0, "]"], - [27361, 0, ";"], - [27360, 1], - [27360, 0, "\n"], - [27360, 1], - [27360, 0, "}"], - [27192, 0, "\n"], - [27193, 0, "\\"], - [27194, 0, "n"], - [27195, 0, "o"], - [27196, 0, "d"], - [27197, 0, "e"], - [27198, 0, " "], - [27199, 0, "("], - [27200, 0, "l"], - [27201, 0, "e"], - [27202, 0, "f"], - [27203, 0, "t"], - [27204, 0, "3"], - [27204, 1], - [27204, 0, "4"], - [27205, 0, ")"], - [27206, 0, " "], - [27207, 0, " "], - [27208, 0, "a"], - [27209, 0, "t"], - [27210, 0, " "], - [27211, 0, "("], - [27212, 0, "0"], - [27213, 0, ","], - [27214, 0, "0"], - [27215, 0, ")"], - [27216, 0, " "], - [27217, 0, "["], - [27218, 0, "r"], - [27219, 0, "e"], - [27220, 0, "c"], - [27221, 0, "t"], - [27222, 0, "a"], - [27223, 0, "n"], - [27224, 0, "g"], - [27225, 0, "l"], - [27226, 0, "e"], - [27227, 0, ","], - [27228, 0, "d"], - [27229, 0, "r"], - [27230, 0, "a"], - [27231, 0, "w"], - [27232, 0, "]"], - [27233, 0, " "], - [27234, 0, "{"], - [27235, 0, "\\"], - [27236, 0, "_"], - [27236, 1], - [27236, 0, "{"], - [27237, 0, "`"], - [27238, 0, "`"], - [27239, 0, "a"], - [27240, 0, "'"], - [27237, 0, "m"], - [27238, 0, "a"], - [27239, 0, "p"], - [27240, 0, "T"], - [27241, 0, "("], - [27246, 0, "'"], - [27247, 0, ")"], - [27248, 0, ":"], - [27249, 0, " "], - [27250, 0, "\\"], - [27251, 0, "{"], - [27252, 0, "`"], - [27253, 0, "`"], - [27254, 0, "x"], - [27255, 0, "'"], - [27256, 0, "'"], - [27257, 0, ":"], - [27258, 0, " "], - [27259, 0, "`"], - [27260, 0, "`"], - [27261, 0, "y"], - [27262, 0, "'"], - [27263, 0, "'"], - [27264, 0, "\\"], - [27265, 0, "}"], - [27266, 0, ","], - [27267, 0, " "], - [27268, 0, "l"], - [27269, 0, "i"], - [27270, 0, "s"], - [27271, 0, "t"], - [27272, 0, "T"], - [27273, 0, "("], - [27274, 0, "`"], - [27275, 0, "`"], - [27276, 0, "a"], - [27277, 0, "'"], - [27278, 0, "'"], - [27278, 1], - [27278, 0, "'"], - [27279, 0, ")"], - [27280, 0, ":"], - [27281, 0, " "], - [27282, 0, "["], - [27283, 0, "`"], - [27284, 0, "`"], - [27285, 0, "z"], - [27286, 0, "'"], - [27287, 0, "'"], - [27288, 0, "]"], - [27289, 0, "\\"], - [27290, 0, "}"], - [27291, 0, "}"], - [27292, 0, ";"], - [27198, 0, " "], - [27199, 0, "["], - [27200, 0, "m"], - [27201, 0, "a"], - [27202, 0, "t"], - [27203, 0, "r"], - [27204, 0, "i"], - [27205, 0, "x"], - [27206, 0, "]"], - [27216, 1], - [27243, 0, "\n"], - [27244, 0, " "], - [27245, 0, " "], - [27246, 0, " "], - [27247, 0, " "], - [27248, 0, "\\"], - [27249, 0, "n"], - [27250, 0, "o"], - [27251, 0, "d"], - [27252, 0, "e"], - [27253, 0, " "], - [27254, 0, "{"], - [27287, 0, "}"], - [27288, 0, ";"], - [27289, 0, " "], - [27290, 0, "\\"], - [27291, 0, "\\"], - [27292, 0, "\n"], - [27293, 0, " "], - [27294, 0, " "], - [27295, 0, " "], - [27296, 0, " "], - [27297, 0, "\\"], - [27298, 0, "n"], - [27299, 0, "o"], - [27300, 0, "d"], - [27301, 0, "e"], - [27302, 0, " "], - [27303, 0, "{"], - [27304, 1], - [27329, 0, " "], - [27330, 0, "\\"], - [27331, 0, "\\"], - [27332, 0, "\n"], - [27333, 0, "}"], - [27334, 0, ";"], - [27505, 0, "\n"], - [27506, 0, "\\"], - [27507, 0, "n"], - [27508, 0, "o"], - [27509, 0, "d"], - [27510, 0, "e"], - [27511, 0, " "], - [27512, 0, "["], - [27513, 0, "m"], - [27514, 0, "a"], - [27515, 0, "t"], - [27516, 0, "r"], - [27517, 0, "i"], - [27518, 0, "x"], - [27519, 0, "]"], - [27520, 0, " "], - [27521, 0, "("], - [27522, 0, "r"], - [27523, 0, "i"], - [27524, 0, "g"], - [27525, 0, "h"], - [27526, 0, "t"], - [27527, 0, "4"], - [27528, 0, "3"], - [27528, 1], - [27528, 0, ")"], - [27529, 0, " "], - [27530, 0, "a"], - [27531, 0, "t"], - [27532, 0, " "], - [27533, 0, "("], - [27534, 0, "8"], - [27535, 0, ","], - [27536, 0, "0"], - [27537, 0, ")"], - [27538, 0, " "], - [27539, 0, "["], - [27540, 0, "r"], - [27541, 0, "e"], - [27542, 0, "c"], - [27543, 0, "t"], - [27544, 0, "a"], - [27545, 0, "n"], - [27546, 0, "g"], - [27547, 0, "l"], - [27548, 0, "e"], - [27549, 0, ","], - [27550, 0, "d"], - [27551, 0, "r"], - [27552, 0, "a"], - [27553, 0, "w"], - [27554, 0, "]"], - [27555, 0, " "], - [27556, 0, "{"], - [27557, 0, "\n"], - [27558, 0, " "], - [27559, 0, " "], - [27560, 0, " "], - [27561, 0, " "], - [27562, 0, "\\"], - [27563, 0, "n"], - [27564, 0, "o"], - [27565, 0, "d"], - [27566, 0, "e"], - [27567, 0, " "], - [27568, 0, "{"], - [27569, 0, "\\"], - [27570, 0, "{"], - [27571, 0, "m"], - [27572, 0, "a"], - [27573, 0, "p"], - [27574, 0, "T"], - [27575, 0, "("], - [27576, 0, "`"], - [27577, 0, "`"], - [27578, 0, "a"], - [27579, 0, "'"], - [27580, 0, "'"], - [27581, 0, ")"], - [27582, 0, ":"], - [27583, 0, " "], - [27584, 0, "`"], - [27585, 0, "{"], - [27585, 1], - [27584, 1], - [27584, 0, "\\"], - [27585, 0, "{"], - [27586, 0, "`"], - [27587, 0, "`"], - [27588, 0, "x"], - [27589, 0, "'"], - [27590, 0, "'"], - [27591, 0, ":"], - [27592, 0, " "], - [27593, 0, "`"], - [27594, 0, "`"], - [27595, 0, "y"], - [27596, 0, "'"], - [27597, 0, "'"], - [27598, 0, "\\"], - [27599, 0, "}"], - [27600, 0, ","], - [27601, 0, "}"], - [27602, 0, ";"], - [27603, 0, " "], - [27604, 0, "\\"], - [27605, 0, "\\"], - [27606, 0, "\n"], - [27607, 0, " "], - [27608, 0, " "], - [27609, 0, " "], - [27610, 0, " "], - [27611, 0, "\\"], - [27612, 0, "n"], - [27613, 0, "o"], - [27614, 0, "d"], - [27615, 0, "e"], - [27616, 0, " "], - [27617, 0, "{"], - [27618, 0, "l"], - [27619, 0, "i"], - [27620, 0, "s"], - [27621, 0, "t"], - [27622, 0, "T"], - [27623, 0, "("], - [27624, 0, "`"], - [27625, 0, "`"], - [27626, 0, "a"], - [27627, 0, "'"], - [27628, 0, "'"], - [27629, 0, ")"], - [27630, 0, ":"], - [27631, 0, " "], - [27632, 0, "["], - [27633, 0, "`"], - [27634, 0, "`"], - [27635, 0, "z"], - [27636, 0, "'"], - [27637, 0, "'"], - [27638, 0, "]"], - [27639, 0, "\\"], - [27640, 0, "}"], - [27641, 0, "}"], - [27642, 0, ";"], - [27643, 0, " "], - [27644, 0, "\\"], - [27645, 0, "\\"], - [27646, 0, "\n"], - [27647, 0, "}"], - [27648, 0, ";"], - [27649, 0, "\n"], - [27650, 0, "\\"], - [27651, 0, "d"], - [27652, 0, "r"], - [27653, 0, "a"], - [27654, 0, "w"], - [27655, 0, " "], - [27656, 0, "["], - [27657, 0, "t"], - [27658, 0, "h"], - [27659, 0, "i"], - [27660, 0, "c"], - [27661, 0, "k"], - [27662, 0, ","], - [27663, 0, "-"], - [27664, 0, ">"], - [27665, 0, " "], - [27665, 1], - [27665, 0, "]"], - [27666, 0, " "], - [27667, 0, "("], - [27668, 0, "l"], - [27669, 0, "e"], - [27670, 0, "f"], - [27671, 0, "t"], - [27672, 0, "1"], - [27673, 0, ")"], - [27674, 0, " "], - [27675, 0, " "], - [27676, 0, "t"], - [27677, 0, "o"], - [27678, 0, " "], - [27679, 0, "n"], - [27680, 0, "o"], - [27681, 0, "d"], - [27682, 0, "e"], - [27683, 0, " "], - [27684, 0, "["], - [27685, 0, "l"], - [27686, 0, "e"], - [27687, 0, "f"], - [27688, 0, "t"], - [27689, 0, " "], - [27689, 1], - [27689, 0, "]"], - [27690, 0, " "], - [27691, 0, " "], - [27692, 0, "{"], - [27693, 0, "d"], - [27694, 0, "o"], - [27695, 0, "c"], - [27696, 0, "."], - [27697, 0, "g"], - [27698, 0, "e"], - [27699, 0, "t"], - [27700, 0, "("], - [27701, 0, "`"], - [27702, 0, "`"], - [27703, 0, "a"], - [27704, 0, "'"], - [27705, 0, "'"], - [27706, 0, ")"], - [27707, 0, " "], - [27708, 0, ":"], - [27709, 0, "="], - [27710, 0, " "], - [27711, 0, "\\"], - [27712, 0, "{"], - [27713, 0, "\\"], - [27714, 0, "}"], - [27715, 0, ";"], - [27716, 0, "}"], - [27717, 0, " "], - [27718, 0, "("], - [27719, 0, "l"], - [27720, 0, "e"], - [27721, 0, "f"], - [27722, 0, "t"], - [27723, 0, "2"], - [27724, 0, ")"], - [27725, 0, ";"], - [27726, 0, "\n"], - [27727, 0, "\\"], - [27728, 0, "d"], - [27729, 0, "r"], - [27730, 0, "a"], - [27731, 0, "w"], - [27732, 0, " "], - [27733, 0, "["], - [27734, 0, "t"], - [27735, 0, "h"], - [27736, 0, "i"], - [27737, 0, "c"], - [27738, 0, "k"], - [27739, 0, ","], - [27740, 0, "-"], - [27741, 0, ">"], - [27742, 0, " "], - [27742, 1], - [27742, 0, "]"], - [27743, 0, " "], - [27744, 0, "("], - [27745, 0, "l"], - [27746, 0, "e"], - [27747, 0, "f"], - [27748, 0, "t"], - [27749, 0, "2"], - [27750, 0, ")"], - [27751, 0, " "], - [27752, 0, " "], - [27753, 0, "t"], - [27754, 0, "o"], - [27755, 0, " "], - [27756, 0, "n"], - [27757, 0, "o"], - [27758, 0, "d"], - [27759, 0, "e"], - [27760, 0, " "], - [27761, 0, "["], - [27762, 0, "l"], - [27763, 0, "e"], - [27764, 0, "f"], - [27765, 0, "t"], - [27766, 0, "]"], - [27767, 0, " "], - [27768, 0, " "], - [27769, 0, "("], - [27770, 0, "d"], - [27771, 0, "o"], - [27772, 0, "c"], - [27773, 0, "."], - [27774, 0, "g"], - [27775, 0, "e"], - [27776, 0, "t"], - [27777, 0, "("], - [27778, 0, "`"], - [27779, 0, "`"], - [27780, 0, "a"], - [27781, 0, "'"], - [27782, 0, "'"], - [27783, 0, ")"], - [27784, 0, "."], - [27785, 0, "g"], - [27786, 0, "e"], - [27787, 0, "t"], - [27788, 0, "("], - [27789, 0, "`"], - [27790, 0, "`"], - [27791, 0, "x"], - [27792, 0, "'"], - [27793, 0, "'"], - [27794, 0, ")"], - [27795, 0, " "], - [27796, 0, ":"], - [27797, 0, "="], - [27798, 0, " "], - [27799, 0, "`"], - [27800, 0, "`"], - [27801, 0, "y"], - [27802, 0, "'"], - [27803, 0, "'"], - [27804, 0, ";"], - [27805, 0, "}"], - [27806, 0, " "], - [27807, 0, "("], - [27808, 0, "l"], - [27809, 0, "e"], - [27810, 0, "f"], - [27811, 0, "t"], - [27812, 0, "3"], - [27813, 0, ")"], - [27814, 0, ";"], - [27815, 0, "\n"], - [27816, 0, "\\"], - [27817, 0, "d"], - [27818, 0, "r"], - [27819, 0, "a"], - [27820, 0, "w"], - [27821, 0, " "], - [27822, 0, "["], - [27823, 0, "t"], - [27824, 0, "h"], - [27825, 0, "i"], - [27826, 0, "c"], - [27827, 0, "k"], - [27828, 0, ","], - [27829, 0, "-"], - [27830, 0, ">"], - [27831, 0, " "], - [27831, 1], - [27831, 0, "]"], - [27832, 0, " "], - [27833, 0, "("], - [27834, 0, "r"], - [27835, 0, "i"], - [27836, 0, "g"], - [27837, 0, "h"], - [27838, 0, "t"], - [27839, 0, "1"], - [27840, 0, ")"], - [27841, 0, " "], - [27842, 0, "t"], - [27843, 0, "o"], - [27844, 0, " "], - [27845, 0, "n"], - [27846, 0, "o"], - [27847, 0, "d"], - [27848, 0, "e"], - [27849, 0, " "], - [27850, 0, "["], - [27851, 0, "r"], - [27852, 0, "i"], - [27853, 0, "g"], - [27854, 0, "h"], - [27855, 0, "t"], - [27856, 0, "]"], - [27857, 0, " "], - [27769, 1], - [27769, 0, "{"], - [27858, 0, "{"], - [27859, 0, "d"], - [27860, 0, "o"], - [27861, 0, "c"], - [27862, 0, "."], - [27863, 0, "g"], - [27864, 0, "e"], - [27865, 0, "t"], - [27866, 0, "("], - [27867, 0, "`"], - [27868, 0, "`"], - [27869, 0, "a"], - [27870, 0, "'"], - [27871, 0, "'"], - [27872, 0, ")"], - [27873, 0, " "], - [27874, 0, ":"], - [27875, 0, "="], - [27876, 0, " "], - [27877, 0, "["], - [27878, 0, "]"], - [27879, 0, ";"], - [27880, 0, "}"], - [27881, 0, " "], - [27882, 0, "("], - [27883, 0, "r"], - [27884, 0, "i"], - [27885, 0, "g"], - [27886, 0, "h"], - [27887, 0, "t"], - [27888, 0, "2"], - [27889, 0, ")"], - [27890, 0, ";"], - [27891, 0, "\n"], - [27892, 0, "\\"], - [27893, 0, "d"], - [27894, 0, "r"], - [27895, 0, "a"], - [27896, 0, "w"], - [27897, 0, " "], - [27898, 0, "["], - [27899, 0, "t"], - [27900, 0, "h"], - [27901, 0, "i"], - [27902, 0, "c"], - [27903, 0, "k"], - [27904, 0, ","], - [27905, 0, "-"], - [27906, 0, ">"], - [27907, 0, " "], - [27908, 0, "]"], - [27908, 1], - [27907, 1], - [27907, 0, "]"], - [27908, 0, " "], - [27909, 0, "("], - [27910, 0, "r"], - [27911, 0, "i"], - [27912, 0, "g"], - [27913, 0, "h"], - [27914, 0, "t"], - [27915, 0, "2"], - [27916, 0, ")"], - [27917, 0, " "], - [27918, 0, "t"], - [27919, 0, "o"], - [27920, 0, " "], - [27921, 0, "n"], - [27922, 0, "o"], - [27923, 0, "d"], - [27924, 0, "e"], - [27925, 0, " "], - [27926, 0, "["], - [27927, 0, "r"], - [27928, 0, "i"], - [27929, 0, "g"], - [27930, 0, "h"], - [27931, 0, "t"], - [27932, 0, "]"], - [27933, 0, " "], - [27934, 0, "{"], - [27935, 0, "d"], - [27936, 0, "o"], - [27937, 0, "c"], - [27938, 0, "."], - [27939, 0, "g"], - [27940, 0, "e"], - [27941, 0, "t"], - [27942, 0, "("], - [27943, 0, "`"], - [27944, 0, "`"], - [27945, 0, "a"], - [27946, 0, "'"], - [27947, 0, "'"], - [27948, 0, ")"], - [27949, 0, " "], - [27949, 1], - [27949, 0, "."], - [27950, 0, "i"], - [27951, 0, "d"], - [27952, 0, "x"], - [27953, 0, "("], - [27954, 0, "0"], - [27955, 0, ")"], - [27956, 0, "."], - [27957, 0, "i"], - [27958, 0, "n"], - [27959, 0, "s"], - [27960, 0, "e"], - [27961, 0, "r"], - [27962, 0, "t"], - [27963, 0, "("], - [27964, 0, "`"], - [27965, 0, "`"], - [27966, 0, "z"], - [27967, 0, "'"], - [27968, 0, "'"], - [27969, 0, ")"], - [27970, 0, ";"], - [27971, 0, "}"], - [27972, 0, " "], - [27973, 0, "("], - [27974, 0, "r"], - [27975, 0, "i"], - [27976, 0, "g"], - [27977, 0, "h"], - [27978, 0, "t"], - [27979, 0, "3"], - [27980, 0, ")"], - [27981, 0, ";"], - [27982, 0, "\n"], - [27983, 0, "\\"], - [27984, 0, "d"], - [27985, 0, "r"], - [27986, 0, "a"], - [27987, 0, "w"], - [27988, 0, " "], - [27989, 0, "["], - [27990, 0, "t"], - [27991, 0, "h"], - [27992, 0, "i"], - [27993, 0, "c"], - [27994, 0, "k"], - [27995, 0, ","], - [27996, 0, "-"], - [27997, 0, ">"], - [27998, 0, "]"], - [27999, 0, " "], - [28000, 0, "("], - [28001, 0, "l"], - [28002, 0, "e"], - [28003, 0, "f"], - [28004, 0, "t"], - [28005, 0, "3"], - [28006, 0, ")"], - [28007, 0, " "], - [28008, 0, " "], - [28009, 0, "t"], - [28010, 0, "o"], - [28011, 0, " "], - [28012, 0, "n"], - [28012, 1], - [28012, 0, "("], - [28013, 0, "l"], - [28014, 0, "e"], - [28015, 0, "f"], - [28016, 0, "t"], - [28017, 0, "4"], - [28018, 0, ")"], - [28019, 0, ";"], - [28020, 0, "\n"], - [28021, 0, "\\"], - [28022, 0, "d"], - [28023, 0, "r"], - [28024, 0, "a"], - [28025, 0, "w"], - [28026, 0, " "], - [28027, 0, "["], - [28028, 0, "t"], - [28029, 0, "h"], - [28030, 0, "i"], - [28031, 0, "c"], - [28032, 0, "k"], - [28033, 0, ","], - [28034, 0, "-"], - [28035, 0, ">"], - [28036, 0, "]"], - [28037, 0, " "], - [28038, 0, "("], - [28039, 0, "l"], - [28039, 1], - [28039, 0, "r"], - [28040, 0, "i"], - [28041, 0, "g"], - [28042, 0, "h"], - [28043, 0, "t"], - [28044, 0, "3"], - [28045, 0, ")"], - [28046, 0, " "], - [28047, 0, "t"], - [28048, 0, "o"], - [28049, 0, " "], - [28050, 0, "("], - [28051, 0, "r"], - [28052, 0, "i"], - [28053, 0, "g"], - [28054, 0, "h"], - [28055, 0, "t"], - [28056, 0, "4"], - [28057, 0, ")"], - [28058, 0, ";"], - [28059, 0, "\n"], - [28060, 0, "\\"], - [28061, 0, "d"], - [28062, 0, "r"], - [28063, 0, "a"], - [28064, 0, "w"], - [28065, 0, " "], - [28066, 0, "["], - [28067, 0, "t"], - [28068, 0, "h"], - [28069, 0, "i"], - [28070, 0, "c"], - [28071, 0, "k"], - [28072, 0, ","], - [28073, 0, "d"], - [28074, 0, "a"], - [28075, 0, "s"], - [28076, 0, "h"], - [28077, 0, "e"], - [28078, 0, "d"], - [28079, 0, ","], - [28080, 0, "b"], - [28081, 0, "l"], - [28082, 0, "u"], - [28083, 0, "e"], - [28084, 0, ","], - [28085, 0, "-"], - [28086, 0, ">"], - [28087, 0, "]"], - [28088, 0, " "], - [28089, 0, "("], - [28090, 0, "l"], - [28091, 0, "e"], - [28092, 0, "f"], - [28093, 0, "t"], - [28094, 0, "3"], - [28095, 0, "."], - [28096, 0, "s"], - [28097, 0, "o"], - [28098, 0, "u"], - [28099, 0, "t"], - [28100, 0, "h"], - [28101, 0, ")"], - [28102, 0, " "], - [28103, 0, " "], - [28104, 0, "t"], - [28105, 0, "o"], - [28106, 0, " "], - [28107, 0, "["], - [28108, 0, "o"], - [28109, 0, "u"], - [28110, 0, "t"], - [28111, 0, "="], - [28112, 0, "2"], - [28113, 0, "7"], - [28114, 0, "0"], - [28115, 0, ","], - [28116, 0, "i"], - [28117, 0, "n"], - [28118, 0, "="], - [28119, 0, "1"], - [28120, 0, "3"], - [28121, 0, "5"], - [28122, 0, "]"], - [28123, 0, " "], - [28124, 0, "("], - [28125, 0, "r"], - [28126, 0, "i"], - [28127, 0, "g"], - [28128, 0, "h"], - [28129, 0, "t"], - [28130, 0, "4"], - [28131, 0, "."], - [28132, 0, "n"], - [28133, 0, "o"], - [28134, 0, "r"], - [28135, 0, "t"], - [28136, 0, "h"], - [28137, 0, " "], - [28138, 0, "w"], - [28139, 0, "e"], - [28140, 0, "s"], - [28141, 0, "t"], - [28142, 0, ")"], - [28143, 0, ";"], - [28144, 0, "\n"], - [28145, 0, "\\"], - [28146, 0, "d"], - [28147, 0, "r"], - [28148, 0, "a"], - [28149, 0, "w"], - [28150, 0, " "], - [28151, 0, "["], - [28152, 0, "t"], - [28153, 0, "h"], - [28154, 0, "i"], - [28155, 0, "c"], - [28156, 0, "k"], - [28157, 0, ","], - [28158, 0, "d"], - [28159, 0, "a"], - [28160, 0, "s"], - [28161, 0, "h"], - [28162, 0, "e"], - [28163, 0, "d"], - [28164, 0, ","], - [28165, 0, "b"], - [28166, 0, "l"], - [28167, 0, "u"], - [28168, 0, "e"], - [28169, 0, ","], - [28170, 0, "-"], - [28171, 0, ">"], - [28172, 0, " "], - [28173, 0, "["], - [28173, 1], - [28172, 1], - [28172, 0, "]"], - [28173, 0, " "], - [28174, 0, "("], - [28175, 0, "r"], - [28176, 0, "i"], - [28177, 0, "g"], - [28178, 0, "h"], - [28179, 0, "t"], - [28180, 0, "3"], - [28181, 0, "."], - [28182, 0, "s"], - [28183, 0, "o"], - [28184, 0, "u"], - [28185, 0, "t"], - [28186, 0, "h"], - [28187, 0, ")"], - [28188, 0, " "], - [28189, 0, "t"], - [28190, 0, "o"], - [28191, 0, " "], - [28192, 0, "["], - [28193, 0, "o"], - [28194, 0, "u"], - [28195, 0, "t"], - [28196, 0, "="], - [28197, 0, "2"], - [28198, 0, "7"], - [28199, 0, "0"], - [28200, 0, ","], - [28201, 0, "i"], - [28202, 0, "n"], - [28203, 0, "="], - [28204, 0, "4"], - [28205, 0, "5"], - [28206, 0, "]"], - [28207, 0, " "], - [28208, 0, " "], - [28209, 0, "("], - [28210, 0, "l"], - [28211, 0, "e"], - [28212, 0, "f"], - [28213, 0, "t"], - [28214, 0, "4"], - [28215, 0, "."], - [28216, 0, "n"], - [28217, 0, "o"], - [28218, 0, "r"], - [28219, 0, "t"], - [28220, 0, "h"], - [28221, 0, " "], - [28222, 0, "e"], - [28223, 0, "a"], - [28224, 0, "s"], - [28225, 0, "t"], - [28226, 0, ")"], - [28227, 0, ";"], - [27006, 1], - [27006, 0, "7"], - [26997, 1], - [26996, 1], - [26995, 1], - [26995, 0, "1"], - [27647, 0, "\n"], - [27648, 0, "\\"], - [27649, 0, "n"], - [27650, 0, "o"], - [27651, 0, "d"], - [27652, 0, "e"], - [27653, 0, " "], - [27654, 0, "("], - [27655, 0, "c"], - [27656, 0, "o"], - [27657, 0, "m"], - [27658, 0, "m"], - [27659, 0, "s"], - [27660, 0, ")"], - [27661, 0, " "], - [27662, 0, " "], - [27663, 0, "a"], - [27664, 0, "t"], - [27665, 0, " "], - [27666, 0, "("], - [27667, 0, "4"], - [27668, 0, ","], - [27669, 0, "1"], - [27670, 0, "."], - [27671, 0, "5"], - [27672, 0, ")"], - [27673, 0, " "], - [27674, 0, "["], - [27675, 0, "t"], - [27676, 0, "e"], - [27677, 0, "x"], - [27678, 0, "t"], - [27679, 0, "="], - [27680, 0, "b"], - [27681, 0, "l"], - [27682, 0, "u"], - [27683, 0, "e"], - [27684, 0, "]"], - [27685, 0, " "], - [27686, 0, "{"], - [27687, 0, "\\"], - [27688, 0, "f"], - [27689, 0, "o"], - [27690, 0, "o"], - [27691, 0, "t"], - [27692, 0, "n"], - [27693, 0, "o"], - [27694, 0, "t"], - [27695, 0, "e"], - [27696, 0, "s"], - [27697, 0, "i"], - [27698, 0, "z"], - [27699, 0, "e"], - [27700, 0, " "], - [27701, 0, "n"], - [27702, 0, "e"], - [27703, 0, "t"], - [27704, 0, "w"], - [27705, 0, "o"], - [27706, 0, "r"], - [27707, 0, "k"], - [27708, 0, " "], - [27709, 0, "c"], - [27710, 0, "o"], - [27711, 0, "m"], - [27712, 0, "m"], - [27713, 0, "u"], - [27714, 0, "n"], - [27715, 0, "i"], - [27716, 0, "c"], - [27717, 0, "a"], - [27718, 0, "t"], - [27719, 0, "i"], - [27720, 0, "o"], - [27721, 0, "n"], - [27722, 0, "}"], - [27723, 0, ";"], - [27671, 1], - [27670, 1], - [27669, 1], - [27669, 0, "2"], - [27670, 0, "."], - [27671, 0, "0"], - [79206, 0, "/"], - [79207, 0, "B"], - [79208, 0, "e"], - [79209, 0, "r"], - [79210, 0, "e"], - [79211, 0, "s"], - [79212, 0, "f"], - [79213, 0, "o"], - [79214, 0, "r"], - [79215, 0, "d"], - [79216, 0, "\n"], - [79215, 1], - [79214, 1], - [79213, 1], - [79212, 1], - [79211, 1], - [79210, 1], - [79209, 1], - [79208, 1], - [79207, 1], - [79206, 1], - [79206, 1], - [82614, 0, "d"], - [82615, 0, "w"], - [82629, 1], - [82628, 1], - [82627, 1], - [82626, 1], - [82625, 1], - [82624, 1], - [82623, 1], - [82622, 1], - [82621, 1], - [82620, 1], - [82619, 1], - [82618, 1], - [82617, 1], - [82616, 1], - [82615, 1], - [82614, 1], - [82614, 0, "M"], - [82615, 0, "o"], - [82616, 0, "r"], - [82617, 0, "e"], - [82618, 0, " "], - [82619, 0, "r"], - [82620, 0, "e"], - [82621, 0, "c"], - [82622, 0, "e"], - [82623, 0, "n"], - [82624, 0, "t"], - [82625, 0, "l"], - [82626, 0, "y"], - [82627, 0, " "], - [82628, 0, "h"], - [82629, 0, "e"], - [82630, 0, " "], - [82631, 0, "h"], - [82631, 1], - [82630, 1], - [82629, 1], - [82628, 1], - [82627, 1], - [82626, 1], - [82625, 1], - [82624, 1], - [82623, 1], - [82622, 1], - [82621, 1], - [82620, 1], - [82619, 1], - [82618, 1], - [82617, 1], - [82616, 1], - [82615, 1], - [82614, 1], - [82614, 0, "H"], - [82615, 0, "i"], - [82616, 0, "s"], - [82617, 0, " "], - [82618, 0, "c"], - [82619, 0, "u"], - [82620, 0, "r"], - [82621, 0, "r"], - [82622, 0, "e"], - [82623, 0, "n"], - [82624, 0, "t"], - [82625, 0, " "], - [82626, 0, "r"], - [82627, 0, "e"], - [82628, 0, "s"], - [82629, 0, "e"], - [82630, 0, "a"], - [82631, 0, "r"], - [82632, 0, "c"], - [82633, 0, "h"], - [82634, 0, " "], - [82635, 0, "w"], - [82636, 0, "i"], - [82637, 0, "t"], - [82637, 1], - [82636, 1], - [82635, 1], - [82635, 0, "i"], - [82636, 0, "n"], - [82637, 0, "t"], - [82638, 0, "e"], - [82639, 0, "r"], - [82640, 0, "e"], - [82641, 0, "s"], - [82642, 0, "t"], - [82643, 0, "e"], - [82643, 1], - [82643, 0, "s"], - [82644, 0, " "], - [82645, 0, "c"], - [82646, 0, "o"], - [82647, 0, "v"], - [82648, 0, "e"], - [82649, 0, "r"], - [82650, 0, " "], - [82650, 1], - [82649, 1], - [82648, 1], - [82647, 1], - [82646, 1], - [82645, 1], - [82644, 1], - [82644, 0, " "], - [82645, 0, "i"], - [82646, 0, "n"], - [82647, 0, "c"], - [82648, 0, "l"], - [82649, 0, "u"], - [82650, 0, "d"], - [82651, 0, "e"], - [82651, 1], - [82650, 1], - [82649, 1], - [82648, 1], - [82647, 1], - [82646, 1], - [82646, 0, "f"], - [82647, 0, "o"], - [82647, 1], - [82646, 1], - [82645, 1], - [82644, 1], - [82643, 1], - [82642, 1], - [82641, 1], - [82640, 1], - [82639, 1], - [82638, 1], - [82637, 1], - [82636, 1], - [82635, 1], - [82635, 0, "w"], - [82636, 0, "o"], - [82637, 0, "r"], - [82638, 0, "k"], - [82639, 0, " "], - [82640, 0, "e"], - [82641, 0, "x"], - [82642, 0, "p"], - [82643, 0, "o"], - [82644, 0, "r"], - [82645, 0, "e"], - [82645, 1], - [82644, 1], - [82643, 1], - [82643, 0, "l"], - [82644, 0, "o"], - [82645, 0, "r"], - [82646, 0, "e"], - [82647, 0, "s"], - [82648, 0, " "], - [82649, 0, "t"], - [82650, 0, "h"], - [82651, 0, "e"], - [82652, 0, " "], - [82653, 0, "s"], - [82654, 0, "e"], - [82655, 0, "c"], - [82656, 0, "u"], - [82657, 0, "r"], - [82658, 0, "i"], - [82659, 0, "t"], - [82660, 0, "y"], - [82661, 0, " "], - [82662, 0, "a"], - [82663, 0, "n"], - [82664, 0, "d"], - [82665, 0, " "], - [82666, 0, "p"], - [82667, 0, "r"], - [82668, 0, "i"], - [82669, 0, "v"], - [82670, 0, "a"], - [82671, 0, "c"], - [82672, 0, "y"], - [82673, 0, " "], - [82674, 0, "o"], - [82675, 0, "f"], - [82676, 0, " "], - [82677, 0, "l"], - [82678, 0, "a"], - [82679, 0, "r"], - [82680, 0, "g"], - [82681, 0, "e"], - [82682, 0, "-"], - [82683, 0, "s"], - [82684, 0, "c"], - [82685, 0, "a"], - [82686, 0, "l"], - [82687, 0, "e"], - [82688, 0, " "], - [82689, 0, "d"], - [82690, 0, "i"], - [82691, 0, "s"], - [82692, 0, "t"], - [82693, 0, "r"], - [82694, 0, "i"], - [82695, 0, "b"], - [82696, 0, "u"], - [82697, 0, "t"], - [82698, 0, "e"], - [82699, 0, "d"], - [82700, 0, " "], - [82701, 0, "s"], - [82702, 0, "y"], - [82703, 0, "s"], - [82704, 0, "t"], - [82705, 0, "e"], - [82706, 0, "m"], - [82707, 0, "s"], - [82708, 0, ","], - [82709, 0, " "], - [82710, 0, "w"], - [82711, 0, "i"], - [82712, 0, "t"], - [82713, 0, "h"], - [82714, 0, " "], - [82715, 0, "p"], - [82715, 1], - [82715, 0, "a"], - [82716, 0, " "], - [82717, 0, "p"], - [82718, 0, "a"], - [82719, 0, "r"], - [82720, 0, "t"], - [82721, 0, "i"], - [82722, 0, "c"], - [82723, 0, "u"], - [82724, 0, "l"], - [82725, 0, "a"], - [82726, 0, "r"], - [82727, 0, " "], - [82728, 0, "f"], - [82729, 0, "o"], - [82730, 0, "c"], - [82731, 0, "u"], - [82732, 0, "s"], - [82733, 0, " "], - [82734, 0, "o"], - [82735, 0, "n"], - [82736, 0, " "], - [82737, 0, "m"], - [82738, 0, "o"], - [82739, 0, "b"], - [82740, 0, "i"], - [82740, 1], - [82739, 1], - [82738, 1], - [82737, 1], - [82737, 0, "n"], - [82738, 0, "e"], - [82739, 0, "t"], - [82740, 0, "o"], - [82741, 0, "w"], - [82742, 0, "k"], - [82743, 0, "r"], - [82743, 1], - [82742, 1], - [82741, 1], - [82740, 1], - [82740, 0, "w"], - [82741, 0, "o"], - [82742, 0, "r"], - [82743, 0, "k"], - [82744, 0, "e"], - [82745, 0, "d"], - [82746, 0, " "], - [82747, 0, "m"], - [82748, 0, "o"], - [82749, 0, "i"], - [82750, 0, "l"], - [82750, 1], - [82749, 1], - [82749, 0, "b"], - [82750, 0, "i"], - [82751, 0, "l"], - [82752, 0, "e"], - [82753, 0, " "], - [82754, 0, "d"], - [82755, 0, "e"], - [82756, 0, "v"], - [82757, 0, "i"], - [82758, 0, "c"], - [82759, 0, "e"], - [82760, 0, "s"], - [82761, 0, " "], - [82762, 0, "s"], - [82763, 0, "u"], - [82764, 0, "c"], - [82765, 0, "h"], - [82766, 0, " "], - [82767, 0, "a"], - [82768, 0, "s"], - [82769, 0, " "], - [82770, 0, "s"], - [82771, 0, "m"], - [82772, 0, "a"], - [82773, 0, "r"], - [82774, 0, "t"], - [82775, 0, "p"], - [82776, 0, "h"], - [82777, 0, "o"], - [82778, 0, "n"], - [82779, 0, "e"], - [82780, 0, "s"], - [82781, 0, " "], - [82781, 1], - [82781, 0, ","], - [82782, 0, " "], - [82783, 0, "t"], - [82784, 0, "a"], - [82785, 0, "b"], - [82786, 0, "l"], - [82787, 0, "e"], - [82788, 0, "t"], - [82789, 0, "s"], - [82790, 0, " "], - [82791, 0, "a"], - [82792, 0, "n"], - [82793, 0, "d"], - [82794, 0, " "], - [82795, 0, "l"], - [82796, 0, "a"], - [82797, 0, "b"], - [82797, 1], - [82797, 0, "p"], - [82798, 0, "t"], - [82799, 0, "o"], - [82800, 0, "p"], - [82801, 0, "s"], - [82802, 0, "."], - [82611, 1], - [82610, 1], - [82609, 1], - [82608, 1], - [82607, 1], - [82606, 1], - [82605, 1], - [82604, 1], - [82603, 1], - [82602, 1], - [82601, 1], - [82600, 1], - [82599, 1], - [82598, 1], - [82597, 1], - [82596, 1], - [82595, 1], - [82594, 1], - [82593, 1], - [82592, 1], - [82591, 1], - [82590, 1], - [82589, 1], - [82588, 1], - [82587, 1], - [82586, 1], - [82585, 1], - [82584, 1], - [82583, 1], - [82582, 1], - [82581, 1], - [82580, 1], - [82579, 1], - [82578, 1], - [82577, 1], - [82576, 1], - [82575, 1], - [82574, 1], - [82573, 1], - [82572, 1], - [82571, 1], - [82570, 1], - [82569, 1], - [82568, 1], - [82567, 1], - [82566, 1], - [82565, 1], - [82564, 1], - [82563, 1], - [82562, 1], - [82561, 1], - [82560, 1], - [82559, 1], - [82558, 1], - [82557, 1], - [82556, 1], - [82555, 1], - [82554, 1], - [82553, 1], - [82552, 1], - [82551, 1], - [82550, 1], - [82549, 1], - [82548, 1], - [82547, 1], - [82546, 1], - [82545, 1], - [82544, 1], - [82543, 1], - [82543, 0, "e"], - [82544, 0, "x"], - [82545, 0, "p"], - [82546, 0, "l"], - [82547, 0, "o"], - [82548, 0, "r"], - [82549, 0, "e"], - [82550, 0, "d"], - [82551, 0, " "], - [82552, 0, "t"], - [82553, 0, "h"], - [82554, 0, "e"], - [82555, 0, " "], - [82556, 0, "e"], - [82557, 0, "f"], - [82558, 0, "f"], - [82559, 0, "e"], - [82560, 0, "c"], - [82561, 0, "t"], - [82562, 0, "i"], - [82563, 0, "v"], - [82564, 0, "e"], - [82565, 0, "n"], - [82566, 0, "e"], - [82567, 0, "s"], - [82568, 0, "s"], - [82569, 0, " "], - [82570, 0, "o"], - [82571, 0, "f"], - [82572, 0, " "], - [82573, 0, "a"], - [82574, 0, "n"], - [82575, 0, "o"], - [82576, 0, "n"], - [82577, 0, "y"], - [82578, 0, "m"], - [82579, 0, "i"], - [82580, 0, "t"], - [82581, 0, "y"], - [82582, 0, " "], - [82583, 0, "a"], - [82584, 0, "s"], - [82585, 0, " "], - [82586, 0, "a"], - [82587, 0, " "], - [82588, 0, "m"], - [82589, 0, "e"], - [82590, 0, "a"], - [82591, 0, "n"], - [82592, 0, "s"], - [82593, 0, " "], - [82594, 0, "o"], - [82595, 0, "f"], - [82596, 0, " "], - [82597, 0, "p"], - [82598, 0, "r"], - [82599, 0, "o"], - [82600, 0, "v"], - [82601, 0, "i"], - [82602, 0, "d"], - [82603, 0, "e"], - [82603, 1], - [82603, 0, "i"], - [82604, 0, "n"], - [82605, 0, "g"], - [82606, 0, " "], - [82607, 0, "l"], - [82608, 0, "o"], - [82609, 0, "c"], - [82610, 0, "a"], - [82611, 0, "t"], - [82612, 0, "i"], - [82613, 0, "o"], - [82614, 0, "n"], - [82615, 0, " "], - [82616, 0, "p"], - [82617, 0, "r"], - [82618, 0, "o"], - [82619, 0, "v"], - [82620, 0, "a"], - [82620, 1], - [82619, 1], - [82618, 1], - [82618, 0, "i"], - [82619, 0, "v"], - [82620, 0, "a"], - [82621, 0, "c"], - [82622, 0, "y"], - [82623, 0, " "], - [82624, 0, "i"], - [82625, 0, "n"], - [82626, 0, " "], - [82627, 0, "a"], - [82628, 0, " "], - [82629, 0, "m"], - [82630, 0, "o"], - [82631, 0, "b"], - [82632, 0, "i"], - [82633, 0, "l"], - [82634, 0, "e"], - [82635, 0, " "], - [82636, 0, "c"], - [82637, 0, "o"], - [82638, 0, "m"], - [82639, 0, "p"], - [82640, 0, "u"], - [82641, 0, "t"], - [82642, 0, "i"], - [82643, 0, "n"], - [82644, 0, "g"], - [82645, 0, " "], - [82646, 0, "s"], - [82647, 0, "e"], - [82648, 0, "t"], - [82649, 0, "t"], - [82650, 0, "i"], - [82651, 0, "n"], - [82652, 0, "g"], - [82543, 0, "w"], - [82544, 0, "h"], - [82545, 0, "i"], - [82546, 0, "h"], - [82547, 0, "c"], - [82547, 1], - [82546, 1], - [82546, 0, "c"], - [82547, 0, "h"], - [82548, 0, " "], - [82659, 1], - [82658, 1], - [82657, 1], - [82656, 1], - [82655, 1], - [82654, 1], - [82653, 1], - [82652, 1], - [82651, 1], - [82650, 1], - [82649, 1], - [82648, 1], - [82647, 1], - [82646, 1], - [82645, 1], - [82644, 1], - [82643, 1], - [82642, 1], - [82641, 1], - [82640, 1], - [82639, 1], - [82638, 1], - [82637, 1], - [82636, 1], - [82635, 1], - [82634, 1], - [82633, 1], - [82632, 1], - [82631, 1], - [82630, 1], - [82629, 1], - [82628, 1], - [82627, 1], - [82626, 1], - [82625, 1], - [82624, 1], - [82623, 1], - [82622, 1], - [82621, 1], - [82620, 1], - [82619, 1], - [82618, 1], - [82617, 1], - [82616, 1], - [82615, 1], - [82614, 1], - [82613, 1], - [82612, 1], - [82611, 1], - [82610, 1], - [82609, 1], - [82608, 1], - [82607, 1], - [82606, 1], - [82605, 1], - [82604, 1], - [82603, 1], - [82602, 1], - [82601, 1], - [82600, 1], - [82599, 1], - [82598, 1], - [82597, 1], - [82596, 1], - [82595, 1], - [82594, 1], - [82593, 1], - [82592, 1], - [82591, 1], - [82590, 1], - [82589, 1], - [82588, 1], - [82587, 1], - [82586, 1], - [82585, 1], - [82584, 1], - [82583, 1], - [82582, 1], - [82581, 1], - [82580, 1], - [82579, 1], - [82578, 1], - [82577, 1], - [82576, 1], - [82575, 1], - [82574, 1], - [82573, 1], - [82572, 1], - [82571, 1], - [82570, 1], - [82569, 1], - [82568, 1], - [82567, 1], - [82566, 1], - [82565, 1], - [82564, 1], - [82563, 1], - [82562, 1], - [82561, 1], - [82560, 1], - [82559, 1], - [82558, 1], - [82557, 1], - [82556, 1], - [82555, 1], - [82554, 1], - [82553, 1], - [82552, 1], - [82551, 1], - [82550, 1], - [82549, 1], - [82548, 1], - [82547, 1], - [82546, 1], - [82545, 1], - [82544, 1], - [82543, 1], - [82542, 1], - [82541, 1], - [82540, 1], - [82539, 1], - [82538, 1], - [82537, 1], - [82536, 1], - [82535, 1], - [82534, 1], - [82533, 1], - [82532, 1], - [82531, 1], - [82530, 1], - [82529, 1], - [82528, 1], - [82527, 1], - [82526, 1], - [82525, 1], - [82524, 1], - [82523, 1], - [82522, 1], - [82521, 1], - [82520, 1], - [82519, 1], - [82518, 1], - [82517, 1], - [82516, 1], - [82515, 1], - [82514, 1], - [82513, 1], - [82512, 1], - [82511, 1], - [82510, 1], - [82509, 1], - [82508, 1], - [82507, 1], - [82506, 1], - [82505, 1], - [82504, 1], - [82503, 1], - [82502, 1], - [82501, 1], - [82500, 1], - [82499, 1], - [82498, 1], - [82497, 1], - [82496, 1], - [82495, 1], - [82494, 1], - [82493, 1], - [82492, 1], - [82491, 1], - [82490, 1], - [82489, 1], - [82488, 1], - [82499, 1], - [82498, 1], - [82497, 1], - [82496, 1], - [82495, 1], - [82494, 1], - [82493, 1], - [82492, 1], - [82670, 0, " "], - [82671, 0, "H"], - [82672, 0, "e"], - [82673, 0, " "], - [82674, 0, "l"], - [82675, 0, "o"], - [82676, 0, "o"], - [82677, 0, "k"], - [82678, 0, "s"], - [82679, 0, " "], - [82680, 0, "a"], - [82681, 0, "t"], - [82682, 0, " "], - [82683, 0, "t"], - [82684, 0, "h"], - [82685, 0, "i"], - [82686, 0, "s"], - [82687, 0, " "], - [82688, 0, "d"], - [82689, 0, "o"], - [82690, 0, "m"], - [82691, 0, "a"], - [82692, 0, "i"], - [82693, 0, "n"], - [82694, 0, " "], - [82695, 0, "f"], - [82696, 0, "r"], - [82697, 0, "e"], - [82698, 0, "o"], - [82699, 0, "m"], - [82700, 0, " "], - [82701, 0, "t"], - [82702, 0, "h"], - [82703, 0, "r"], - [82704, 0, "e"], - [82705, 0, "e"], - [82706, 0, " "], - [82707, 0, "a"], - [82708, 0, "n"], - [82709, 0, "g"], - [82710, 0, "l"], - [82711, 0, "e"], - [82712, 0, "s"], - [82712, 1], - [82711, 1], - [82710, 1], - [82709, 1], - [82708, 1], - [82707, 1], - [82706, 1], - [82705, 1], - [82704, 1], - [82703, 1], - [82702, 1], - [82701, 1], - [82700, 1], - [82699, 1], - [82698, 1], - [82697, 1], - [82696, 1], - [82695, 1], - [82694, 1], - [82693, 1], - [82692, 1], - [82691, 1], - [82690, 1], - [82689, 1], - [82688, 1], - [82687, 1], - [82686, 1], - [82685, 1], - [82685, 0, "e"], - [82686, 0, " "], - [82687, 0, "s"], - [82688, 0, "e"], - [82689, 0, "c"], - [82690, 0, "u"], - [82691, 0, "r"], - [82692, 0, "i"], - [82693, 0, "t"], - [82694, 0, "y"], - [82695, 0, " "], - [82696, 0, "a"], - [82697, 0, "n"], - [82698, 0, "d"], - [82699, 0, " "], - [82700, 0, "p"], - [82701, 0, "r"], - [82702, 0, "i"], - [82703, 0, "v"], - [82704, 0, "a"], - [82705, 0, "c"], - [82706, 0, "y"], - [82707, 0, " "], - [82708, 0, "o"], - [82709, 0, "f"], - [82710, 0, " "], - [82711, 0, "t"], - [82712, 0, "h"], - [82713, 0, "e"], - [82714, 0, " "], - [82715, 0, "d"], - [82716, 0, "e"], - [82717, 0, "v"], - [82718, 0, "i"], - [82719, 0, "c"], - [82720, 0, "e"], - [82721, 0, "s"], - [82722, 0, " "], - [82723, 0, "t"], - [82724, 0, "h"], - [82725, 0, "e"], - [82726, 0, "m"], - [82727, 0, "s"], - [82728, 0, "e"], - [82729, 0, "l"], - [82730, 0, "v"], - [82731, 0, "e"], - [82732, 0, "s"], - [82733, 0, ","], - [82734, 0, " "], - [82735, 0, "a"], - [82736, 0, "s"], - [82737, 0, " "], - [82738, 0, "w"], - [82739, 0, "e"], - [82740, 0, "l"], - [82741, 0, "l"], - [82742, 0, " "], - [82743, 0, "a"], - [82744, 0, "s"], - [82745, 0, " "], - [82746, 0, "t"], - [82747, 0, "h"], - [82748, 0, "e"], - [82749, 0, " "], - [82750, 0, "s"], - [82751, 0, "e"], - [82752, 0, "u"], - [82753, 0, "c"], - [82754, 0, "r"], - [82754, 1], - [82753, 1], - [82752, 1], - [82752, 0, "c"], - [82753, 0, "u"], - [82754, 0, "r"], - [82755, 0, "i"], - [82756, 0, "t"], - [82757, 0, "y"], - [82758, 0, " "], - [82759, 0, "a"], - [82760, 0, "n"], - [82761, 0, "d"], - [82762, 0, " "], - [82763, 0, "p"], - [82764, 0, "r"], - [82765, 0, "o"], - [82766, 0, "v"], - [82766, 1], - [82765, 1], - [82765, 0, "i"], - [82766, 0, "v"], - [82767, 0, "a"], - [82768, 0, "c"], - [82769, 0, "y"], - [82770, 0, " "], - [82771, 0, "p"], - [82772, 0, "r"], - [82773, 0, "o"], - [82774, 0, "b"], - [82775, 0, "l"], - [82776, 0, "e"], - [82777, 0, "m"], - [82778, 0, "s"], - [82779, 0, " "], - [82780, 0, "i"], - [82781, 0, "n"], - [82782, 0, "d"], - [82783, 0, "u"], - [82784, 0, "c"], - [82785, 0, "e"], - [82786, 0, "d"], - [82787, 0, " "], - [82788, 0, "b"], - [82789, 0, "y"], - [82790, 0, " "], - [82791, 0, "t"], - [82792, 0, "h"], - [82793, 0, "e"], - [82794, 0, " "], - [82795, 0, "i"], - [82796, 0, "n"], - [82797, 0, "t"], - [82798, 0, "e"], - [82799, 0, "r"], - [82800, 0, "a"], - [82801, 0, "c"], - [82802, 0, "t"], - [82803, 0, "i"], - [82804, 0, "o"], - [82805, 0, "n"], - [82806, 0, " "], - [82807, 0, "b"], - [82808, 0, "e"], - [82809, 0, "t"], - [82810, 0, "w"], - [82811, 0, "e"], - [82812, 0, "e"], - [82813, 0, "n"], - [82814, 0, " "], - [82815, 0, "m"], - [82816, 0, "o"], - [82817, 0, "b"], - [82818, 0, "i"], - [82819, 0, "l"], - [82820, 0, "e"], - [82821, 0, " "], - [82822, 0, "d"], - [82823, 0, "e"], - [82824, 0, "v"], - [82825, 0, "i"], - [82826, 0, "c"], - [82827, 0, "e"], - [82828, 0, "s"], - [82829, 0, " "], - [82830, 0, "a"], - [82831, 0, "n"], - [82832, 0, "d"], - [82833, 0, " "], - [82834, 0, "c"], - [82835, 0, "l"], - [82836, 0, "o"], - [82837, 0, "u"], - [82838, 0, "b"], - [82838, 1], - [82838, 0, "d"], - [82839, 0, "-"], - [82840, 0, "b"], - [82841, 0, "a"], - [82842, 0, "s"], - [82843, 0, "e"], - [82844, 0, "d"], - [82845, 0, " "], - [82846, 0, "I"], - [82847, 0, "n"], - [82848, 0, "t"], - [82849, 0, "e"], - [82850, 0, "r"], - [82851, 0, "n"], - [82852, 0, "e"], - [82853, 0, "t"], - [82854, 0, " "], - [82855, 0, "s"], - [82856, 0, "e"], - [82857, 0, "r"], - [82858, 0, "v"], - [82859, 0, "i"], - [82860, 0, "c"], - [82861, 0, "e"], - [82862, 0, "s"], - [82863, 0, "."], - [81968, 0, " "], - [81969, 0, "i"], - [81970, 0, "s"], - [81976, 1], - [81976, 0, "i"], - [81977, 0, "n"], - [81978, 0, "g"], - [82304, 0, ","], - [82305, 0, " "], - [82306, 0, "i"], - [82307, 0, "n"], - [82308, 0, "c"], - [82309, 0, "l"], - [82310, 0, "u"], - [82311, 0, "d"], - [82312, 0, "i"], - [82313, 0, "n"], - [82314, 0, "g"], - [82315, 0, " "], - [82316, 0, "R"], - [82317, 0, "a"], - [82318, 0, "p"], - [82319, 0, "p"], - [82320, 0, "o"], - [82321, 0, "r"], - [82322, 0, "t"], - [82323, 0, "i"], - [82324, 0, "v"], - [82325, 0, "e"], - [82326, 0, " "], - [82327, 0, "a"], - [82328, 0, "n"], - [82329, 0, "d"], - [82330, 0, " "], - [82331, 0, "L"], - [82332, 0, "i"], - [82333, 0, "n"], - [82334, 0, "k"], - [82335, 0, "e"], - [82336, 0, "d"], - [82337, 0, "I"], - [82338, 0, "n"], - [17586, 0, ","], - [17587, 0, " "], - [17588, 0, "a"], - [17589, 0, "n"], - [17590, 0, "d"], - [17591, 0, " "], - [17592, 0, "g"], - [17593, 0, "i"], - [17594, 0, "v"], - [17595, 0, "e"], - [17596, 0, " "], - [17597, 0, "s"], - [17598, 0, "o"], - [17599, 0, "m"], - [17600, 0, "e"], - [17601, 0, " "], - [17602, 0, "e"], - [17603, 0, "x"], - [17604, 0, "a"], - [17605, 0, "m"], - [17606, 0, "p"], - [17607, 0, "l"], - [17608, 0, "e"], - [17609, 0, "s"], - [17610, 0, " "], - [17611, 0, "o"], - [17612, 0, "f"], - [17613, 0, " "], - [17613, 1], - [17612, 1], - [17611, 1], - [17610, 1], - [17609, 1], - [17608, 1], - [17607, 1], - [17606, 1], - [17605, 1], - [17604, 1], - [17603, 1], - [17602, 1], - [17601, 1], - [17600, 1], - [17599, 1], - [17598, 1], - [17597, 1], - [17596, 1], - [17595, 1], - [17594, 1], - [17593, 1], - [17592, 1], - [17592, 0, "i"], - [17593, 0, "l"], - [17594, 0, "l"], - [17595, 0, "u"], - [17596, 0, "s"], - [17597, 0, "t"], - [17598, 0, "r"], - [17599, 0, "a"], - [17600, 0, "t"], - [17601, 0, "e"], - [17602, 0, " "], - [17603, 0, "s"], - [17604, 0, "o"], - [17605, 0, "m"], - [17606, 0, "e"], - [17607, 0, " "], - [17608, 0, "p"], - [17609, 0, "e"], - [17610, 0, "c"], - [17611, 0, "u"], - [17612, 0, "l"], - [17613, 0, "i"], - [17614, 0, "a"], - [17615, 0, "r"], - [17616, 0, "i"], - [17617, 0, "t"], - [17618, 0, "i"], - [17619, 0, "e"], - [17620, 0, "s"], - [17621, 0, " "], - [17622, 0, "o"], - [17623, 0, "f"], - [17624, 0, " "], - [17625, 0, "c"], - [17626, 0, "o"], - [17627, 0, "n"], - [17628, 0, "c"], - [17629, 0, "u"], - [17630, 0, "r"], - [17631, 0, "r"], - [17632, 0, "e"], - [17633, 0, "n"], - [17634, 0, "t"], - [17635, 0, " "], - [17636, 0, "n"], - [17637, 0, "e"], - [17638, 0, "s"], - [17639, 0, "t"], - [17640, 0, "e"], - [17641, 0, "d"], - [17642, 0, " "], - [17643, 0, "s"], - [17644, 0, "t"], - [17645, 0, "r"], - [17646, 0, "u"], - [17647, 0, "c"], - [17648, 0, "t"], - [17649, 0, "u"], - [17650, 0, "r"], - [17651, 0, "e"], - [17652, 0, "s"], - [17653, 0, " "], - [17654, 0, "t"], - [17655, 0, "h"], - [17656, 0, "a"], - [17657, 0, "t"], - [17658, 0, " "], - [17659, 0, "d"], - [17660, 0, "o"], - [17661, 0, " "], - [17662, 0, "n"], - [17663, 0, "o"], - [17664, 0, "t"], - [17665, 0, " "], - [17666, 0, "a"], - [17667, 0, "r"], - [17668, 0, "i"], - [17669, 0, "s"], - [17670, 0, "e"], - [17671, 0, " "], - [17672, 0, "u"], - [17673, 0, "n"], - [17674, 0, "d"], - [17675, 0, "e"], - [17676, 0, "r"], - [17677, 0, " "], - [17677, 1], - [17676, 1], - [17675, 1], - [17674, 1], - [17673, 1], - [17672, 1], - [17672, 0, "i"], - [17673, 0, "n"], - [17674, 0, " "], - [17675, 0, "s"], - [17676, 0, "e"], - [17677, 0, "q"], - [17678, 0, "u"], - [17679, 0, "e"], - [17680, 0, "n"], - [17681, 0, "t"], - [17682, 0, "i"], - [17683, 0, "a"], - [17684, 0, "l"], - [17685, 0, " "], - [17686, 0, "e"], - [17687, 0, "x"], - [17688, 0, "e"], - [17689, 0, "c"], - [17690, 0, "u"], - [17691, 0, "t"], - [17692, 0, "i"], - [17693, 0, "o"], - [17694, 0, "n"], - [17695, 0, "s"], - [17643, 0, "d"], - [17644, 0, "a"], - [17645, 0, "t"], - [17646, 0, "a"], - [17647, 0, " "], - [27007, 0, "\\"], - [27008, 0, "l"], - [27009, 0, "a"], - [27010, 0, "b"], - [27011, 0, "e"], - [27012, 0, "l"], - [27013, 0, "{"], - [27014, 0, "f"], - [27015, 0, "i"], - [27016, 0, "g"], - [27017, 0, ":"], - [27018, 0, "t"], - [27019, 0, "e"], - [27020, 0, "x"], - [27021, 0, "t"], - [27022, 0, "-"], - [27023, 0, "e"], - [27024, 0, "d"], - [27025, 0, "i"], - [27026, 0, "t"], - [27027, 0, "}"], - [28537, 0, "\\"], - [28538, 0, "l"], - [28539, 0, "a"], - [28540, 0, "b"], - [28541, 0, "e"], - [28542, 0, "l"], - [28543, 0, "{"], - [28544, 0, "f"], - [28545, 0, "i"], - [28546, 0, "g"], - [28547, 0, ";"], - [28548, 0, "t"], - [28549, 0, "y"], - [28550, 0, "p"], - [28550, 1], - [28549, 1], - [28548, 1], - [28547, 1], - [28547, 0, ":"], - [28548, 0, "t"], - [28549, 0, "y"], - [28550, 0, "p"], - [28551, 0, "e"], - [28552, 0, "-"], - [28553, 0, "c"], - [28554, 0, "l"], - [28555, 0, "a"], - [28556, 0, "s"], - [28557, 0, "h"], - [28558, 0, "}"], - [19086, 0, "\n"], - [19087, 0, "\n"], - [17700, 1], - [17699, 1], - [17698, 1], - [17697, 1], - [17696, 1], - [17695, 1], - [17694, 1], - [17693, 1], - [17692, 1], - [17691, 1], - [17690, 1], - [17689, 1], - [17688, 1], - [17687, 1], - [17686, 1], - [17685, 1], - [17684, 1], - [17683, 1], - [17682, 1], - [17681, 1], - [17680, 1], - [17679, 1], - [17678, 1], - [17677, 1], - [17676, 1], - [17675, 1], - [17674, 1], - [17673, 1], - [17672, 1], - [17671, 1], - [17670, 1], - [17669, 1], - [17668, 1], - [17667, 1], - [17666, 1], - [17665, 1], - [17664, 1], - [17663, 1], - [17662, 1], - [17661, 1], - [17660, 1], - [17659, 1], - [17658, 1], - [19044, 0, "T"], - [19045, 0, "h"], - [19046, 0, "e"], - [19047, 0, " "], - [19048, 0, "d"], - [19049, 0, "i"], - [19050, 0, "f"], - [19051, 0, "f"], - [19052, 0, "i"], - [19053, 0, "c"], - [19054, 0, "u"], - [19055, 0, "l"], - [19056, 0, "t"], - [19057, 0, "y"], - [19058, 0, " "], - [19059, 0, "o"], - [19060, 0, "f"], - [19061, 0, " "], - [19062, 0, "d"], - [19063, 0, "e"], - [19064, 0, "f"], - [19065, 0, "i"], - [19066, 0, "n"], - [19067, 0, "i"], - [19068, 0, "n"], - [19069, 0, "g"], - [19070, 0, " "], - [19071, 0, "a"], - [19072, 0, " "], - [19073, 0, "J"], - [19074, 0, "S"], - [19075, 0, "O"], - [19076, 0, "N"], - [19077, 0, " "], - [19077, 1], - [19076, 1], - [19075, 1], - [19074, 1], - [19073, 1], - [19073, 0, "C"], - [19074, 0, "R"], - [19075, 0, "D"], - [19076, 0, "T"], - [19077, 0, " "], - [19078, 0, "f"], - [19079, 0, "o"], - [19080, 0, "r"], - [19081, 0, " "], - [19082, 0, "J"], - [19083, 0, "S"], - [19084, 0, "O"], - [19085, 0, "N"], - [19086, 0, " "], - [19087, 0, "d"], - [19088, 0, "a"], - [19089, 0, "t"], - [19090, 0, "a"], - [19091, 0, " "], - [19092, 0, "i"], - [19093, 0, "s"], - [19094, 0, " "], - [19095, 0, "d"], - [19096, 0, "u"], - [19097, 0, "e"], - [19098, 0, " "], - [19099, 0, "t"], - [19100, 0, "o"], - [19101, 0, " "], - [19102, 0, "t"], - [19103, 0, "h"], - [19104, 0, "e"], - [19105, 0, " "], - [19106, 0, "i"], - [19107, 0, "n"], - [19108, 0, "t"], - [19109, 0, "e"], - [19110, 0, "r"], - [19111, 0, "a"], - [19112, 0, "c"], - [19113, 0, "t"], - [19114, 0, "i"], - [19115, 0, "o"], - [19116, 0, "n"], - [19117, 0, " "], - [19118, 0, "b"], - [19119, 0, "e"], - [19120, 0, "t"], - [19121, 0, "w"], - [19122, 0, "e"], - [19123, 0, "e"], - [19124, 0, "n"], - [19125, 0, " "], - [19043, 0, "\n"], - [19044, 0, "\n"], - [19044, 0, "T"], - [19045, 0, "h"], - [19046, 0, "e"], - [19047, 0, " "], - [19048, 0, "s"], - [19049, 0, "e"], - [19050, 0, "q"], - [19051, 0, "u"], - [19052, 0, "e"], - [19053, 0, "n"], - [19054, 0, "t"], - [19055, 0, "i"], - [19056, 0, "a"], - [19057, 0, "l"], - [19058, 0, " "], - [19059, 0, "s"], - [19060, 0, "e"], - [19061, 0, "m"], - [19062, 0, "a"], - [19063, 0, "n"], - [19064, 0, "t"], - [19065, 0, "i"], - [19066, 0, "c"], - [19067, 0, "s"], - [19068, 0, " "], - [19069, 0, "o"], - [19070, 0, "f"], - [19071, 0, " "], - [19072, 0, "e"], - [19073, 0, "d"], - [19074, 0, "i"], - [19075, 0, "t"], - [19076, 0, "i"], - [19077, 0, "n"], - [19078, 0, "g"], - [19079, 0, " "], - [19080, 0, "a"], - [19081, 0, " "], - [19082, 0, "J"], - [19083, 0, "S"], - [19084, 0, "O"], - [19085, 0, "N"], - [19086, 0, " "], - [19087, 0, "d"], - [19088, 0, "a"], - [19089, 0, "t"], - [19090, 0, "a"], - [19091, 0, " "], - [19092, 0, "s"], - [19093, 0, "t"], - [19094, 0, "r"], - [19095, 0, "u"], - [19096, 0, "c"], - [19097, 0, "t"], - [19098, 0, "u"], - [19099, 0, "r"], - [19100, 0, "e"], - [19101, 0, " "], - [19102, 0, "a"], - [19103, 0, "r"], - [19104, 0, "e"], - [19105, 0, " "], - [19106, 0, "w"], - [19107, 0, "e"], - [19108, 0, "l"], - [19109, 0, "l"], - [19110, 0, "-"], - [19111, 0, "k"], - [19112, 0, "n"], - [19113, 0, "o"], - [19114, 0, "w"], - [19115, 0, "n"], - [19116, 0, ","], - [19117, 0, " "], - [19118, 0, "a"], - [19119, 0, "n"], - [19120, 0, "d"], - [19121, 0, " "], - [19122, 0, "t"], - [19123, 0, "h"], - [19124, 0, "e"], - [19125, 0, " "], - [19126, 0, "s"], - [19127, 0, "e"], - [19128, 0, "m"], - [19129, 0, "a"], - [19130, 0, "n"], - [19131, 0, "t"], - [19132, 0, "i"], - [19133, 0, "c"], - [19134, 0, "s"], - [19135, 0, " "], - [19136, 0, "o"], - [19137, 0, "f"], - [19138, 0, " "], - [19139, 0, "c"], - [19140, 0, "o"], - [19141, 0, "n"], - [19142, 0, "c"], - [19143, 0, "u"], - [19144, 0, "r"], - [19145, 0, "r"], - [19146, 0, "e"], - [19147, 0, "n"], - [19148, 0, "t"], - [19149, 0, "l"], - [19150, 0, "y"], - [19151, 0, " "], - [19152, 0, "e"], - [19153, 0, "d"], - [19154, 0, "i"], - [19155, 0, "t"], - [19156, 0, "i"], - [19157, 0, "n"], - [19158, 0, "g"], - [19159, 0, " "], - [19160, 0, "a"], - [19161, 0, " "], - [19162, 0, "f"], - [19163, 0, "l"], - [19164, 0, "a"], - [19165, 0, "t"], - [19166, 0, " "], - [19167, 0, "m"], - [19168, 0, "a"], - [19169, 0, "p"], - [19170, 0, " "], - [19171, 0, "o"], - [19172, 0, "r"], - [19173, 0, " "], - [19174, 0, "l"], - [19175, 0, "i"], - [19176, 0, "s"], - [19177, 0, "t"], - [19178, 0, " "], - [19179, 0, "d"], - [19180, 0, "a"], - [19181, 0, "t"], - [19182, 0, "a"], - [19183, 0, " "], - [19184, 0, "s"], - [19185, 0, "t"], - [19186, 0, "r"], - [19187, 0, "u"], - [19188, 0, "c"], - [19189, 0, "t"], - [19190, 0, "u"], - [19191, 0, "r"], - [19192, 0, "e"], - [19193, 0, " "], - [19194, 0, "h"], - [19195, 0, "a"], - [19196, 0, "v"], - [19197, 0, "e"], - [19198, 0, " "], - [19199, 0, "b"], - [19200, 0, "e"], - [19201, 0, "e"], - [19202, 0, "n"], - [19203, 0, " "], - [19204, 0, "t"], - [19205, 0, "h"], - [19206, 0, "o"], - [19207, 0, "r"], - [19208, 0, "o"], - [19209, 0, "u"], - [19210, 0, "g"], - [19211, 0, "h"], - [19212, 0, "l"], - [19213, 0, "y"], - [19214, 0, " "], - [19215, 0, "e"], - [19216, 0, "x"], - [19217, 0, "p"], - [19218, 0, "l"], - [19219, 0, "o"], - [19220, 0, "r"], - [19221, 0, "e"], - [19222, 0, "d"], - [19223, 0, " "], - [19224, 0, "i"], - [19225, 0, "n"], - [19226, 0, " "], - [19227, 0, "t"], - [19228, 0, "h"], - [19229, 0, "e"], - [19230, 0, " "], - [19231, 0, "l"], - [19232, 0, "i"], - [19233, 0, "t"], - [19234, 0, "e"], - [19235, 0, "r"], - [19236, 0, "a"], - [19237, 0, "t"], - [19238, 0, "u"], - [19239, 0, "r"], - [19240, 0, "e"], - [19241, 0, " "], - [19242, 0, "("], - [19243, 0, "s"], - [19244, 0, "e"], - [19245, 0, "e"], - [19246, 0, " "], - [19247, 0, "S"], - [19248, 0, "e"], - [19249, 0, "c"], - [19250, 0, "t"], - [19251, 0, "i"], - [19252, 0, "o"], - [19253, 0, "n"], - [19254, 0, "~"], - [19255, 0, "\\"], - [19256, 0, "r"], - [19257, 0, "e"], - [19258, 0, "f"], - [19259, 0, "{"], - [19260, 0, "}"], - [19261, 0, ")"], - [19262, 0, "."], - [17828, 0, "}"], - [17829, 0, "}"], - [17829, 1], - [17828, 1], - [19260, 0, "s"], - [19261, 0, "e"], - [19262, 0, "c"], - [19263, 0, ":"], - [19264, 0, "r"], - [19265, 0, "e"], - [19266, 0, "l"], - [19267, 0, "a"], - [19268, 0, "t"], - [19269, 0, "e"], - [19270, 0, "d"], - [19274, 0, " "], - [19275, 0, "H"], - [19276, 0, "o"], - [19277, 0, "w"], - [19278, 0, "e"], - [19279, 0, "v"], - [19280, 0, "e"], - [19281, 0, "r"], - [19282, 0, ","], - [19283, 0, " "], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 1], - [19284, 0, "w"], - [19285, 0, "h"], - [19286, 0, "e"], - [19287, 0, "n"], - [19318, 0, ","], - [19319, 0, " "], - [19320, 0, "d"], - [19321, 0, "i"], - [19322, 0, "f"], - [19323, 0, "f"], - [19324, 0, "i"], - [19325, 0, "c"], - [19326, 0, "u"], - [19327, 0, "l"], - [19328, 0, "t"], - [19329, 0, "i"], - [19330, 0, "e"], - [19331, 0, "s"], - [19332, 0, " "], - [19333, 0, "a"], - [19334, 0, "r"], - [19335, 0, "i"], - [19336, 0, "s"], - [19337, 0, "e"], - [19338, 1], - [19338, 1], - [19338, 1], - [19370, 0, "c"], - [19371, 0, "o"], - [19372, 0, "n"], - [19373, 0, "c"], - [19374, 0, "u"], - [19375, 0, "r"], - [19376, 0, "r"], - [19377, 0, "e"], - [19378, 0, "n"], - [19379, 0, "c"], - [19380, 0, "y"], - [19381, 0, " "], - [19382, 0, "a"], - [19383, 0, "n"], - [19384, 0, "d"], - [19385, 0, " "], - [19386, 0, "n"], - [19387, 0, "e"], - [19388, 0, "s"], - [19389, 0, "t"], - [19390, 0, "e"], - [19391, 0, "d"], - [19392, 0, " "], - [19393, 0, "d"], - [19394, 0, "a"], - [19395, 0, "t"], - [19396, 0, "a"], - [19397, 0, " "], - [19398, 0, "s"], - [19399, 0, "t"], - [19400, 0, "r"], - [19401, 0, "u"], - [19402, 0, "c"], - [19403, 0, "t"], - [19404, 0, "u"], - [19405, 0, "r"], - [19406, 0, "e"], - [19407, 0, "s"], - [19408, 0, "."], - [19409, 0, " "], - [19409, 1], - [19411, 0, "I"], - [19412, 0, "n"], - [19413, 0, " "], - [19414, 0, "t"], - [19415, 0, "h"], - [19416, 0, " "], - [19417, 0, "e"], - [19418, 0, "f"], - [19419, 0, "o"], - [19420, 0, "l"], - [19420, 1], - [19419, 1], - [19418, 1], - [19417, 1], - [19416, 1], - [19416, 0, "e"], - [19417, 0, " "], - [19418, 0, "f"], - [19419, 0, "o"], - [19420, 0, "l"], - [19421, 0, "l"], - [19422, 0, "o"], - [19423, 0, "w"], - [19424, 0, "i"], - [19425, 0, "n"], - [19426, 0, "g"], - [19427, 0, " "], - [19428, 0, "e"], - [19429, 0, "x"], - [19430, 0, "a"], - [19431, 0, "m"], - [19432, 0, "p"], - [19433, 0, "l"], - [19434, 0, "e"], - [19435, 0, "s"], - [19436, 0, " "], - [19437, 0, "w"], - [19438, 0, "e"], - [19439, 0, " "], - [19440, 0, "i"], - [19441, 0, "l"], - [19442, 0, "l"], - [19443, 0, "u"], - [19444, 0, "s"], - [19445, 0, "t"], - [19446, 0, "r"], - [19447, 0, "a"], - [19448, 0, "t"], - [19449, 0, "e"], - [19449, 1], - [19448, 1], - [19447, 1], - [19446, 1], - [19445, 1], - [19444, 1], - [19443, 1], - [19442, 1], - [19441, 1], - [19440, 1], - [19440, 0, "s"], - [19441, 0, "h"], - [19442, 0, "o"], - [19443, 0, "w"], - [19444, 0, " "], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19445, 1], - [19449, 0, " "], - [19450, 0, "s"], - [19451, 0, "i"], - [19452, 0, "t"], - [19453, 0, "u"], - [19454, 0, "a"], - [19455, 0, "t"], - [19456, 0, "i"], - [19457, 0, "o"], - [19458, 0, "n"], - [19459, 0, "s"], - [19460, 0, " "], - [19461, 0, "t"], - [19462, 0, "h"], - [19463, 0, "a"], - [19464, 0, "t"], - [19465, 0, " "], - [19466, 0, "c"], - [19467, 0, "a"], - [19468, 0, "n"], - [19469, 0, " "], - [19470, 0, "o"], - [19471, 0, "c"], - [19472, 0, "c"], - [19473, 0, "u"], - [19474, 0, "r"], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19475, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 1], - [19523, 0, "a"], - [19524, 0, "n"], - [19525, 0, "d"], - [19526, 0, " "], - [19527, 0, "d"], - [19528, 0, "e"], - [19529, 0, "m"], - [19530, 0, "o"], - [19531, 0, "n"], - [19532, 0, "s"], - [19533, 0, "t"], - [19534, 0, "r"], - [19535, 0, "a"], - [19536, 0, "t"], - [19537, 0, "e"], - [19538, 0, " "], - [19539, 0, "h"], - [19540, 0, "o"], - [19541, 0, "w"], - [19542, 0, " "], - [19543, 0, "t"], - [19544, 0, "h"], - [19545, 0, "e"], - [19546, 0, "y"], - [19547, 0, " "], - [19548, 0, "a"], - [19549, 0, "r"], - [19550, 0, "e"], - [19551, 0, " "], - [19552, 0, "h"], - [19553, 0, "a"], - [19554, 0, "n"], - [19555, 0, "d"], - [19556, 0, "l"], - [19557, 0, "e"], - [19558, 0, "d"], - [19559, 0, " "], - [19560, 0, "i"], - [19560, 1], - [19560, 0, "b"], - [19561, 0, "y"], - [19562, 0, " "], - [19563, 0, "o"], - [19564, 0, "u"], - [19565, 0, "r"], - [19566, 0, " "], - [19567, 0, "a"], - [19568, 0, "l"], - [19569, 0, "g"], - [19570, 0, "o"], - [19571, 0, "r"], - [19572, 0, "i"], - [19573, 0, "t"], - [19574, 0, "h"], - [19575, 0, "m"], - [19361, 0, "s"], - [19469, 1], - [19468, 1], - [19467, 1], - [19467, 0, "m"], - [19468, 0, "g"], - [19469, 0, "i"], - [19469, 1], - [19468, 1], - [19468, 0, "i"], - [19469, 0, "g"], - [19470, 0, "h"], - [19471, 0, "t"], - [19734, 0, ","], - [19768, 0, " "], - [19769, 0, "a"], - [19770, 0, "r"], - [19771, 0, "e"], - [20716, 0, "\n"], - [20717, 0, "\n"], - [20715, 1], - [20715, 0, "\n"], - [20716, 0, "\n"], - [20717, 0, "A"], - [20718, 0, " "], - [20719, 0, "m"], - [20720, 0, "u"], - [20721, 0, "l"], - [20722, 0, "t"], - [20723, 0, "i"], - [20724, 0, "="], - [20724, 1], - [20724, 0, "-"], - [20725, 0, "v"], - [20726, 0, "a"], - [20727, 0, "l"], - [20728, 0, "u"], - [20729, 0, "e"], - [20730, 0, " "], - [20731, 0, "r"], - [20732, 0, "e"], - [20733, 0, "g"], - [20734, 0, "i"], - [20735, 0, "s"], - [20736, 0, "t"], - [20737, 0, "e"], - [20738, 0, "r"], - [20739, 0, " "], - [20740, 0, "i"], - [20741, 0, "s"], - [20742, 0, " "], - [20743, 0, "h"], - [20744, 0, "a"], - [20745, 0, "r"], - [20746, 0, "d"], - [20747, 0, "l"], - [20748, 0, "y"], - [20749, 0, " "], - [20750, 0, "a"], - [20751, 0, "n"], - [20752, 0, " "], - [20753, 0, "i"], - [20754, 0, "m"], - [20755, 0, "p"], - [20756, 0, "r"], - [20757, 0, "e"], - [20758, 0, "s"], - [20759, 0, "s"], - [20760, 0, "i"], - [20761, 0, "v"], - [20762, 0, "e"], - [20763, 0, " "], - [20764, 0, "C"], - [20765, 0, "R"], - [20766, 0, "D"], - [20767, 0, "T"], - [20768, 0, ","], - [20769, 0, " "], - [20770, 0, "s"], - [20771, 0, "i"], - [20772, 0, "n"], - [20773, 0, "c"], - [20774, 0, "e"], - [20775, 0, " "], - [20776, 0, "i"], - [20777, 0, "t"], - [20778, 0, " "], - [20779, 0, "d"], - [20780, 0, "o"], - [20781, 0, "e"], - [20782, 0, "s"], - [20783, 0, " "], - [20784, 0, "n"], - [20785, 0, "o"], - [20786, 0, "t"], - [20787, 0, " "], - [20788, 0, "a"], - [20789, 0, "c"], - [20790, 0, "t"], - [20791, 0, "u"], - [20792, 0, "a"], - [20793, 0, "l"], - [20794, 0, "l"], - [20795, 0, "y"], - [20796, 0, " "], - [20797, 0, "p"], - [20798, 0, "e"], - [20799, 0, "r"], - [20800, 0, "f"], - [20801, 0, "o"], - [20802, 0, "r"], - [20803, 0, "m"], - [20804, 0, " "], - [20805, 0, "a"], - [20806, 0, "n"], - [20807, 0, "y"], - [20808, 0, " "], - [20809, 0, "c"], - [20810, 0, "o"], - [20811, 0, "n"], - [20812, 0, "f"], - [20813, 0, "l"], - [20814, 0, "i"], - [20815, 0, "c"], - [20816, 0, "t"], - [20817, 0, " "], - [20818, 0, "r"], - [20819, 0, "e"], - [20820, 0, "s"], - [20821, 0, "o"], - [20822, 0, "l"], - [20823, 0, "u"], - [20824, 0, "t"], - [20825, 0, "i"], - [20826, 0, "o"], - [20827, 0, "n"], - [20828, 0, "."], - [20829, 0, " "], - [20830, 0, "I"], - [20831, 0, "t"], - [20832, 0, "s"], - [20833, 0, " "], - [20833, 1], - [20832, 1], - [20831, 1], - [20830, 1], - [20830, 0, "W"], - [20831, 0, "e"], - [20832, 0, " "], - [20833, 0, "u"], - [20834, 0, "s"], - [20835, 0, "e"], - [20836, 0, " "], - [20837, 0, "i"], - [20838, 0, "t"], - [20839, 0, " "], - [20840, 0, "o"], - [20841, 0, "n"], - [20842, 0, "l"], - [20843, 0, "y"], - [20844, 0, " "], - [20845, 0, "f"], - [20846, 0, "o"], - [20847, 0, "r"], - [20848, 0, " "], - [20849, 0, "p"], - [20850, 0, "r"], - [20851, 0, "i"], - [20852, 0, "m"], - [20853, 0, "i"], - [20854, 0, "t"], - [20855, 0, "i"], - [20856, 0, "v"], - [20857, 0, "e"], - [20858, 0, " "], - [20859, 0, "v"], - [20860, 0, "a"], - [20861, 0, "l"], - [20862, 0, "u"], - [20863, 0, "e"], - [20864, 0, "s"], - [20865, 0, " "], - [20866, 0, "f"], - [20867, 0, "o"], - [20868, 0, "r"], - [20869, 0, " "], - [20870, 0, "w"], - [20871, 0, "h"], - [20872, 0, "i"], - [20873, 0, "c"], - [20874, 0, "h"], - [20875, 0, " "], - [20876, 0, "n"], - [20877, 0, "o"], - [20878, 0, " "], - [20879, 0, "o"], - [20880, 0, "t"], - [20881, 0, "h"], - [20882, 0, "e"], - [20883, 0, "r"], - [20884, 0, " "], - [20885, 0, "m"], - [20886, 0, "e"], - [20887, 0, "r"], - [20888, 0, "g"], - [20889, 0, "e"], - [20890, 0, " "], - [20883, 1], - [20882, 1], - [20881, 1], - [20880, 1], - [20879, 1], - [20879, 0, "a"], - [20880, 0, "u"], - [20881, 0, "t"], - [20882, 0, "o"], - [20883, 0, "m"], - [20884, 0, "a"], - [20885, 0, "i"], - [20885, 1], - [20885, 0, "t"], - [20886, 0, "i"], - [20887, 0, "c"], - [20895, 0, "f"], - [20896, 0, "u"], - [20897, 0, "n"], - [20898, 0, "c"], - [20899, 0, "t"], - [20900, 0, "i"], - [20901, 0, "o"], - [20902, 0, "n"], - [20903, 0, " "], - [20904, 0, "i"], - [20905, 0, "s"], - [20906, 0, " "], - [20907, 0, "d"], - [20908, 0, "e"], - [20909, 0, "f"], - [20910, 0, "i"], - [20911, 0, "n"], - [20912, 0, "e"], - [20913, 0, "d"], - [20914, 0, "."], - [20915, 0, " "], - [20916, 0, "O"], - [20917, 0, "t"], - [20918, 0, "h"], - [20919, 0, "e"], - [20920, 0, "r"], - [20921, 0, " "], - [20922, 0, "C"], - [20923, 0, "R"], - [20924, 0, "D"], - [20925, 0, "T"], - [20926, 0, "s"], - [20927, 0, " "], - [20928, 0, "c"], - [20929, 0, "o"], - [20930, 0, "u"], - [20931, 0, "l"], - [20932, 0, "d"], - [20933, 0, " "], - [20934, 0, "b"], - [20935, 0, "e"], - [20936, 0, " "], - [20937, 0, "s"], - [20938, 0, "u"], - [20939, 0, "b"], - [20940, 0, "s"], - [20941, 0, "t"], - [20942, 0, "i"], - [20943, 0, "t"], - [20944, 0, "u"], - [20945, 0, "t"], - [20946, 0, "e"], - [20947, 0, "d"], - [20948, 0, " "], - [20949, 0, "i"], - [20950, 0, "n"], - [20951, 0, " "], - [20952, 0, "i"], - [20953, 0, "t"], - [20954, 0, "s"], - [20955, 0, " "], - [20956, 0, "p"], - [20957, 0, "l"], - [20958, 0, "a"], - [20959, 0, "c"], - [20960, 0, "e"], - [20961, 0, ":"], - [20962, 0, " "], - [20963, 0, "f"], - [20964, 0, "o"], - [20965, 0, "r"], - [20966, 0, " "], - [20967, 0, "e"], - [20968, 0, "x"], - [20969, 0, "a"], - [20970, 0, "m"], - [20971, 0, "p"], - [20972, 0, "l"], - [20973, 0, "e"], - [20974, 0, ","], - [20975, 0, " "], - [20976, 0, "a"], - [20977, 0, " "], - [20978, 0, "c"], - [20979, 0, "o"], - [20980, 0, "u"], - [20981, 0, "t"], - [20981, 1], - [20981, 0, "n"], - [20982, 0, "t"], - [20983, 0, "e"], - [20984, 0, "r"], - [20985, 0, " "], - [20986, 0, "C"], - [20987, 0, "R"], - [20988, 0, "D"], - [20989, 0, "T"], - [20990, 0, " "], - [20991, 0, "f"], - [20992, 0, "o"], - [20993, 0, "r"], - [20994, 0, " "], - [20995, 0, "a"], - [20996, 0, " "], - [20997, 0, "n"], - [20998, 0, "u"], - [20999, 0, "m"], - [21000, 0, "b"], - [21001, 0, "e"], - [21002, 0, "r"], - [21003, 0, " "], - [21004, 0, "t"], - [21005, 0, "h"], - [21006, 0, "a"], - [21007, 0, "t"], - [21008, 0, " "], - [21009, 0, "c"], - [21010, 0, "a"], - [21011, 0, "n"], - [21012, 0, " "], - [21013, 0, "o"], - [21014, 0, "n"], - [21015, 0, "l"], - [21016, 0, "y"], - [21017, 0, " "], - [21018, 0, "b"], - [21019, 0, "e"], - [21020, 0, " "], - [21021, 0, "i"], - [21022, 0, "n"], - [21023, 0, "c"], - [21024, 0, "r"], - [21025, 0, "e"], - [21026, 0, "m"], - [21027, 0, "e"], - [21028, 0, "n"], - [21029, 0, "t"], - [21030, 0, "e"], - [21031, 0, "d"], - [21032, 0, " "], - [21033, 0, "a"], - [21034, 0, "n"], - [21035, 0, "d"], - [21036, 0, " "], - [21037, 0, "d"], - [21038, 0, "e"], - [21039, 0, "c"], - [21040, 0, "r"], - [21041, 0, "e"], - [21042, 0, "m"], - [21043, 0, "e"], - [21044, 0, "n"], - [21045, 0, "t"], - [21046, 0, "e"], - [21047, 0, "d"], - [21048, 0, ","], - [21049, 0, " "], - [21050, 0, "o"], - [21051, 0, "r"], - [21052, 0, " "], - [21053, 0, "a"], - [21054, 0, "n"], - [21055, 0, " "], - [21056, 0, "o"], - [21057, 0, "r"], - [21058, 0, "d"], - [21059, 0, "e"], - [21060, 0, "r"], - [21061, 0, "e"], - [21062, 0, "d"], - [21063, 0, " "], - [21064, 0, "l"], - [21065, 0, "i"], - [21066, 0, "s"], - [21067, 0, "t"], - [21068, 0, " "], - [21069, 0, "o"], - [21070, 0, "f"], - [21071, 0, " "], - [21072, 0, "c"], - [21073, 0, "h"], - [21074, 0, "a"], - [21075, 0, "r"], - [21076, 0, "a"], - [21077, 0, "c"], - [21078, 0, "t"], - [21079, 0, "e"], - [21080, 0, "r"], - [21081, 0, "s"], - [21082, 0, " "], - [21083, 0, "f"], - [21084, 0, "o"], - [21085, 0, "r"], - [21086, 0, " "], - [21087, 0, "a"], - [21088, 0, " "], - [21089, 0, "c"], - [21090, 0, "o"], - [21091, 0, "l"], - [21092, 0, "l"], - [21093, 0, "a"], - [21094, 0, "b"], - [21095, 0, "o"], - [21096, 0, "r"], - [21097, 0, "a"], - [21098, 0, "t"], - [21099, 0, "i"], - [21100, 0, "v"], - [21101, 0, "e"], - [21102, 0, "l"], - [21103, 0, "y"], - [21104, 0, " "], - [21105, 0, "e"], - [21106, 0, "d"], - [21107, 0, "i"], - [21108, 0, "t"], - [21109, 0, "a"], - [21110, 0, "b"], - [21111, 0, "l"], - [21112, 0, "e"], - [21113, 0, " "], - [21114, 0, "s"], - [21115, 0, "t"], - [21116, 0, "r"], - [21117, 0, "i"], - [21118, 0, "n"], - [21119, 0, "g"], - [21120, 0, " "], - [21121, 0, "("], - [21122, 0, "s"], - [21123, 0, "e"], - [21124, 0, "e"], - [21125, 0, " "], - [21126, 0, "a"], - [21127, 0, "l"], - [21128, 0, "s"], - [21129, 0, "o"], - [21130, 0, " "], - [21131, 0, "F"], - [21132, 0, "i"], - [21133, 0, "g"], - [21134, 0, "u"], - [21135, 0, "r"], - [21136, 0, "e"], - [21137, 0, "~"], - [21138, 0, "\\"], - [21139, 0, "r"], - [21140, 0, "e"], - [21141, 0, "f"], - [21142, 0, "{"], - [21143, 0, "f"], - [21144, 0, "i"], - [21145, 0, "g"], - [21146, 0, ":"], - [21147, 0, "t"], - [21148, 0, "e"], - [21149, 0, "x"], - [21150, 0, "t"], - [21151, 0, "-"], - [21152, 0, "e"], - [21153, 0, "d"], - [21154, 0, "i"], - [21155, 0, "t"], - [21156, 0, "}"], - [21157, 0, ")"], - [21158, 0, "."], - [21159, 0, " "], - [21159, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21161, 1], - [21160, 1], - [21159, 1], - [18966, 1], - [18966, 0, "."], - [18967, 0, "g"], - [18968, 0, "e"], - [18969, 0, "t"], - [18970, 0, "("], - [18978, 1], - [18978, 0, ")"], - [22936, 1], - [22935, 1], - [22934, 1], - [22933, 1], - [22932, 1], - [22931, 1], - [22930, 1], - [22929, 1], - [22928, 1], - [22927, 1], - [22926, 1], - [22925, 1], - [22924, 1], - [22923, 1], - [22922, 1], - [22921, 1], - [22920, 1], - [22919, 1], - [22918, 1], - [22917, 1], - [22916, 1], - [22915, 1], - [22914, 1], - [22913, 1], - [22912, 1], - [22911, 1], - [22910, 1], - [22909, 1], - [22936, 0, " "], - [22937, 0, "g"], - [22938, 0, "i"], - [22939, 0, "v"], - [22940, 0, "e"], - [22941, 0, "s"], - [22942, 0, " "], - [22943, 0, "a"], - [22944, 0, "n"], - [22945, 0, " "], - [22946, 0, "e"], - [22947, 0, "x"], - [22948, 0, "a"], - [22949, 0, "m"], - [22950, 0, "p"], - [22951, 0, "l"], - [22952, 0, "e"], - [22953, 0, " "], - [22954, 0, "o"], - [22955, 0, "f"], - [22956, 0, " "], - [22957, 0, "c"], - [22958, 0, "o"], - [22959, 0, "n"], - [22960, 0, "c"], - [22961, 0, "u"], - [22962, 0, "r"], - [22963, 0, "r"], - [22964, 0, "e"], - [22965, 0, "n"], - [22966, 0, "t"], - [22967, 0, " "], - [22968, 0, "e"], - [22969, 0, "d"], - [22970, 0, "i"], - [22971, 0, "t"], - [22972, 0, "s"], - [22973, 0, " "], - [22974, 0, "a"], - [22975, 0, "t"], - [22976, 0, " "], - [22977, 0, "d"], - [22978, 0, "i"], - [22979, 0, "f"], - [22980, 0, "f"], - [22981, 0, "e"], - [22982, 0, "r"], - [22983, 0, "e"], - [22984, 0, "n"], - [22985, 0, "t"], - [22986, 0, " "], - [22987, 0, "l"], - [22988, 0, "e"], - [22989, 0, "v"], - [22990, 0, "e"], - [22991, 0, "l"], - [22992, 0, "s"], - [22993, 0, " "], - [22994, 0, "o"], - [22995, 0, "f"], - [22996, 0, " "], - [22997, 0, "t"], - [22998, 0, "h"], - [22999, 0, "e"], - [23000, 0, " "], - [23001, 0, "t"], - [23002, 0, "r"], - [23003, 0, "e"], - [23004, 0, "e"], - [23159, 0, " "], - [23160, 0, "I"], - [23161, 0, "n"], - [23162, 0, "s"], - [23163, 0, "t"], - [23164, 0, "e"], - [23165, 0, "a"], - [23166, 0, "d"], - [23167, 0, " "], - [23168, 0, "o"], - [23169, 0, "f"], - [23170, 0, " "], - [23171, 0, "a"], - [23172, 0, "s"], - [23173, 0, "s"], - [23174, 0, "i"], - [23175, 0, "g"], - [23176, 0, "n"], - [23177, 0, "i"], - [23178, 0, "n"], - [23179, 0, "g"], - [23180, 0, " "], - [23181, 0, "a"], - [23182, 0, "n"], - [23183, 0, " "], - [23184, 0, "e"], - [23185, 0, "m"], - [23186, 0, "p"], - [23187, 0, "t"], - [23188, 0, "y"], - [23189, 0, " "], - [23190, 0, "m"], - [23191, 0, "a"], - [23192, 0, "p"], - [23016, 1], - [23015, 1], - [23014, 1], - [23013, 1], - [23020, 0, " "], - [23021, 0, "$"], - [23022, 0, "p"], - [23023, 0, "$"], - [23090, 1], - [23089, 1], - [23088, 1], - [23087, 1], - [23086, 1], - [23085, 1], - [23084, 1], - [23083, 1], - [23082, 1], - [23081, 1], - [23080, 1], - [23079, 1], - [23078, 1], - [23077, 1], - [23076, 1], - [23064, 0, "r"], - [23065, 0, "e"], - [23066, 0, "p"], - [23067, 0, "l"], - [23068, 0, "i"], - [23069, 0, "c"], - [23070, 0, "a"], - [23071, 0, " "], - [23072, 0, "$"], - [23073, 0, "q"], - [23074, 0, "$"], - [23075, 0, " "], - [23190, 0, ","], - [23191, 0, " "], - [23192, 0, "$"], - [23193, 0, "q"], - [23194, 0, "$"], - [23195, 0, " "], - [23196, 0, "c"], - [23197, 0, "o"], - [23198, 0, "u"], - [23199, 0, "l"], - [23200, 0, "d"], - [23201, 0, " "], - [23202, 0, "e"], - [23203, 0, "q"], - [23204, 0, "u"], - [23205, 0, "i"], - [23206, 0, "v"], - [23207, 0, "a"], - [23208, 0, "l"], - [23209, 0, "e"], - [23210, 0, "n"], - [23211, 0, "t"], - [23212, 0, "l"], - [23213, 0, "y"], - [23214, 0, " "], - [23215, 0, "r"], - [23216, 0, "e"], - [23217, 0, "m"], - [23218, 0, "o"], - [23219, 0, "v"], - [23220, 0, "e"], - [23221, 0, " "], - [23222, 0, "t"], - [23223, 0, "h"], - [23224, 0, "e"], - [23225, 0, " "], - [23226, 0, "e"], - [23227, 0, "n"], - [23228, 0, "t"], - [23229, 0, "i"], - [23230, 0, "r"], - [23231, 0, "e"], - [23232, 0, " "], - [23233, 0, "k"], - [23234, 0, "e"], - [23235, 0, "y"], - [23236, 0, " "], - [23237, 0, "`"], - [23238, 0, "`"], - [23239, 0, "c"], - [23240, 0, "o"], - [23241, 0, "l"], - [23242, 0, "o"], - [23243, 0, "r"], - [23244, 0, "s"], - [23245, 0, "'"], - [23246, 0, "'"], - [23247, 0, " "], - [23248, 0, "f"], - [23249, 0, "r"], - [23250, 0, "o"], - [23251, 0, "m"], - [23252, 0, " "], - [23253, 0, "t"], - [23254, 0, "h"], - [23255, 0, "e"], - [23256, 0, " "], - [23257, 0, "o"], - [23258, 0, "u"], - [23259, 0, "t"], - [23260, 0, "e"], - [23261, 0, "r"], - [23262, 0, " "], - [23263, 0, "m"], - [23264, 0, "a"], - [23265, 0, "p"], - [23266, 0, ","], - [23267, 0, " "], - [23268, 0, "a"], - [23269, 0, "n"], - [23270, 0, "d"], - [23271, 0, " "], - [23272, 0, "t"], - [23273, 0, "h"], - [23274, 0, "e"], - [23275, 0, "n"], - [23276, 0, " "], - [23277, 0, "a"], - [23278, 0, "s"], - [23279, 0, "s"], - [23280, 0, "i"], - [23281, 0, "g"], - [23282, 0, "n"], - [23283, 0, " "], - [23284, 0, "a"], - [23285, 0, " "], - [23286, 0, "n"], - [23287, 0, "e"], - [23288, 0, "w"], - [23289, 0, " "], - [23290, 0, "e"], - [23291, 0, "m"], - [23292, 0, "p"], - [23293, 0, "t"], - [23294, 0, "y"], - [23295, 0, " "], - [23296, 0, "m"], - [23297, 0, "a"], - [23298, 0, "p"], - [23299, 0, " "], - [23300, 0, "t"], - [23301, 0, "o"], - [23302, 0, " "], - [23303, 0, "t"], - [23304, 0, "h"], - [23305, 0, "a"], - [23306, 0, "t"], - [23307, 0, " "], - [23308, 0, "k"], - [23309, 0, "e"], - [23310, 0, "y"], - [23311, 0, "."], - [23312, 0, "\n"], - [23313, 0, "\n"], - [23312, 0, " "], - [23313, 0, "T"], - [23314, 0, "h"], - [23315, 0, "e"], - [23316, 0, " "], - [23317, 0, "d"], - [23318, 0, "i"], - [23319, 0, "f"], - [23320, 0, "f"], - [23321, 0, "i"], - [23322, 0, "c"], - [23323, 0, "u"], - [23324, 0, "l"], - [23325, 0, "t"], - [23326, 0, "y"], - [23327, 0, " "], - [23328, 0, "i"], - [23329, 0, "n"], - [23330, 0, " "], - [23331, 0, "t"], - [23332, 0, "h"], - [23333, 0, "i"], - [23334, 0, "s"], - [23335, 0, " "], - [23336, 0, "e"], - [23337, 0, "x"], - [23338, 0, "a"], - [23339, 0, "m"], - [23340, 0, "p"], - [23341, 0, "l"], - [23342, 0, "e"], - [23343, 0, " "], - [23582, 0, "\n"], - [23583, 0, "\n"], - [23583, 0, "T"], - [23584, 0, "h"], - [23585, 0, "e"], - [23586, 0, " "], - [23587, 0, "b"], - [23588, 0, "e"], - [23589, 0, "h"], - [23590, 0, "a"], - [23591, 0, "v"], - [23592, 0, "i"], - [23593, 0, "o"], - [23594, 0, "r"], - [23595, 0, " "], - [23596, 0, "w"], - [23597, 0, "e"], - [23598, 0, " "], - [23599, 0, "d"], - [23600, 0, "e"], - [23601, 0, "f"], - [23602, 0, "i"], - [23603, 0, "n"], - [23604, 0, "e"], - [23605, 0, " "], - [23606, 0, "i"], - [23607, 0, "s"], - [23608, 0, " "], - [23608, 1], - [23607, 1], - [23606, 1], - [23606, 0, "m"], - [23607, 0, "a"], - [23608, 0, "t"], - [23609, 0, "c"], - [23610, 0, "h"], - [23611, 0, "e"], - [23612, 0, "s"], - [23613, 0, " "], - [23614, 0, "t"], - [23615, 0, "h"], - [23616, 0, "a"], - [23617, 0, "t"], - [23618, 0, " "], - [23619, 0, "o"], - [23620, 0, "f"], - [23621, 0, " "], - [23622, 0, "C"], - [23623, 0, "R"], - [23624, 0, "D"], - [23625, 0, "T"], - [23626, 0, " "], - [23627, 0, "m"], - [23628, 0, "a"], - [23629, 0, "p"], - [23630, 0, "s"], - [23631, 0, " "], - [23632, 0, "i"], - [23633, 0, "n"], - [23634, 0, " "], - [23635, 0, "R"], - [23636, 0, "i"], - [23637, 0, "a"], - [23638, 0, "k"], - [23639, 0, "~"], - [23640, 0, "\\"], - [23641, 0, "c"], - [23642, 0, "i"], - [23643, 0, "t"], - [23644, 0, "e"], - [23645, 0, "{"], - [23646, 0, "B"], - [23647, 0, "r"], - [23648, 0, "o"], - [23649, 0, "w"], - [23650, 0, "n"], - [23651, 0, ":"], - [23652, 0, "2"], - [23653, 0, "0"], - [23654, 0, "1"], - [23655, 0, "4"], - [23656, 0, "h"], - [23657, 0, "s"], - [23658, 0, ","], - [23659, 0, "B"], - [23660, 0, "r"], - [23661, 0, "o"], - [23662, 0, "w"], - [23663, 0, "n"], - [23664, 0, ":"], - [23665, 0, "2"], - [23666, 0, "0"], - [23667, 0, "1"], - [23668, 0, "3"], - [23669, 0, "w"], - [23670, 0, "y"], - [23671, 0, "}"], - [23672, 0, "."], - [23344, 0, "i"], - [23345, 0, "s"], - [23346, 0, " "], - [23347, 0, "t"], - [23348, 0, "h"], - [23349, 0, "a"], - [23350, 0, "t"], - [23351, 0, " "], - [23352, 0, "t"], - [23353, 0, "h"], - [23354, 0, "e"], - [23355, 0, " "], - [23356, 0, "a"], - [23357, 0, "d"], - [23358, 0, "d"], - [23359, 0, "i"], - [23360, 0, "t"], - [23361, 0, "i"], - [23362, 0, "o"], - [23363, 0, "n"], - [23364, 0, " "], - [23365, 0, "o"], - [23366, 0, "f"], - [23367, 0, " "], - [23368, 0, "`"], - [23369, 0, "`"], - [23370, 0, "r"], - [23371, 0, "e"], - [23372, 0, "d"], - [23373, 0, "'"], - [23374, 0, "'"], - [23375, 0, " "], - [23376, 0, "o"], - [23377, 0, "c"], - [23378, 0, "c"], - [23379, 0, "u"], - [23380, 0, "r"], - [23381, 0, "s"], - [23382, 0, " "], - [23383, 0, "a"], - [23384, 0, "t"], - [23385, 0, " "], - [23386, 0, "a"], - [23387, 0, " "], - [23388, 0, "l"], - [23389, 0, "o"], - [23390, 0, "w"], - [23391, 0, "e"], - [23392, 0, "r"], - [23393, 0, " "], - [23394, 0, "l"], - [23395, 0, "e"], - [23396, 0, "v"], - [23397, 0, "e"], - [23398, 0, "l"], - [23399, 0, " "], - [23400, 0, "o"], - [23401, 0, "f"], - [23402, 0, " "], - [23403, 0, "t"], - [23404, 0, "h"], - [23405, 0, "e"], - [23406, 0, " "], - [23407, 0, "t"], - [23408, 0, "r"], - [23409, 0, "e"], - [23410, 0, "e"], - [23411, 0, ","], - [23412, 0, " "], - [23413, 0, "w"], - [23414, 0, "h"], - [23415, 0, "i"], - [23416, 0, "l"], - [23417, 0, "e"], - [23418, 0, " "], - [23419, 0, "c"], - [23420, 0, "o"], - [23421, 0, "n"], - [23422, 0, "c"], - [23423, 0, "u"], - [23424, 0, "r"], - [23425, 0, "r"], - [23426, 0, "e"], - [23427, 0, "n"], - [23428, 0, "t"], - [23429, 0, "l"], - [23430, 0, "y"], - [23431, 0, " "], - [23432, 0, "t"], - [23433, 0, "h"], - [23434, 0, "e"], - [23435, 0, " "], - [23436, 0, "r"], - [23437, 0, "e"], - [23438, 0, "m"], - [23439, 0, "o"], - [23440, 0, "v"], - [23441, 0, "a"], - [23442, 0, "l"], - [23443, 0, " "], - [23444, 0, "o"], - [23445, 0, "f"], - [23446, 0, " "], - [23447, 0, "t"], - [23448, 0, "h"], - [23449, 0, "e"], - [23450, 0, " "], - [23451, 0, "m"], - [23452, 0, "a"], - [23453, 0, "p"], - [23454, 0, " "], - [23455, 0, "o"], - [23456, 0, "f"], - [23457, 0, " "], - [23458, 0, "c"], - [23459, 0, "o"], - [23460, 0, "l"], - [23461, 0, "o"], - [23462, 0, "r"], - [23463, 0, "s"], - [23464, 0, " "], - [23465, 0, "o"], - [23466, 0, "c"], - [23467, 0, "c"], - [23468, 0, "u"], - [23469, 0, "r"], - [23470, 0, "s"], - [23471, 0, " "], - [23472, 0, "a"], - [23473, 0, "t"], - [23474, 0, " "], - [23475, 0, "a"], - [23476, 0, " "], - [23477, 0, "h"], - [23478, 0, "i"], - [23479, 0, "g"], - [23480, 0, "h"], - [23481, 0, "e"], - [23482, 0, "r"], - [23483, 0, " "], - [23484, 0, "l"], - [23485, 0, "e"], - [23486, 0, "v"], - [23487, 0, "e"], - [23488, 0, "l"], - [23489, 0, " "], - [23490, 0, "o"], - [23491, 0, "f"], - [23492, 0, " "], - [23493, 0, "t"], - [23494, 0, "h"], - [23495, 0, "e"], - [23496, 0, " "], - [23497, 0, "t"], - [23498, 0, "r"], - [23499, 0, "e"], - [23500, 0, "e"], - [23501, 0, "."], - [23502, 0, "\n"], - [23503, 0, "\n"], - [23504, 0, "O"], - [23505, 0, "n"], - [23506, 0, "e"], - [23507, 0, " "], - [23508, 0, "p"], - [23509, 0, "o"], - [23510, 0, "s"], - [23511, 0, "s"], - [23512, 0, "i"], - [23513, 0, "b"], - [23514, 0, "l"], - [23515, 0, "e"], - [23516, 0, " "], - [23517, 0, "w"], - [23518, 0, "a"], - [23519, 0, "y"], - [23520, 0, " "], - [23521, 0, "o"], - [23522, 0, "f"], - [23523, 0, " "], - [23524, 0, "h"], - [23525, 0, "a"], - [23526, 0, "n"], - [23527, 0, "d"], - [23528, 0, "l"], - [23529, 0, "i"], - [23530, 0, "n"], - [23531, 0, "g"], - [23532, 0, " "], - [23533, 0, "s"], - [23534, 0, "u"], - [23535, 0, "c"], - [23536, 0, "h"], - [23537, 0, " "], - [23538, 0, "a"], - [23539, 0, " "], - [23540, 0, "c"], - [23541, 0, "o"], - [23542, 0, "n"], - [23543, 0, "f"], - [23544, 0, "l"], - [23545, 0, "i"], - [23546, 0, "c"], - [23547, 0, "t"], - [23548, 0, " "], - [23549, 0, "w"], - [23550, 0, "o"], - [23551, 0, "u"], - [23552, 0, "l"], - [23553, 0, "d"], - [23554, 0, " "], - [23555, 0, "b"], - [23556, 0, "e"], - [23557, 0, " "], - [23558, 0, "t"], - [23559, 0, "o"], - [23560, 0, " "], - [23561, 0, "l"], - [23562, 0, "e"], - [23563, 0, "t"], - [23564, 0, " "], - [23565, 0, "e"], - [23566, 0, "d"], - [23567, 0, "i"], - [23568, 0, "t"], - [23569, 0, "s"], - [23570, 0, " "], - [23571, 0, "a"], - [23572, 0, "t"], - [23573, 0, " "], - [23574, 0, "h"], - [23575, 0, "i"], - [23576, 0, "g"], - [23577, 0, "h"], - [23578, 0, "e"], - [23579, 0, "r"], - [23580, 0, " "], - [23581, 0, "l"], - [23582, 0, "e"], - [23583, 0, "v"], - [23584, 0, "e"], - [23585, 0, "l"], - [23586, 0, "s"], - [23587, 0, " "], - [23588, 0, "o"], - [23589, 0, "f"], - [23590, 0, " "], - [23591, 0, "a"], - [23592, 0, " "], - [23593, 0, "t"], - [23594, 0, "r"], - [23595, 0, "e"], - [23596, 0, "e"], - [23597, 0, " "], - [23598, 0, "a"], - [23599, 0, "l"], - [23600, 0, "w"], - [23601, 0, "a"], - [23602, 0, "y"], - [23603, 0, "s"], - [23604, 0, " "], - [23605, 0, "o"], - [23606, 0, "v"], - [23607, 0, "e"], - [23608, 0, "r"], - [23609, 0, "r"], - [23610, 0, "i"], - [23611, 0, "d"], - [23612, 0, "e"], - [23613, 0, " "], - [23614, 0, "c"], - [23615, 0, "o"], - [23616, 0, "n"], - [23617, 0, "c"], - [23618, 0, "u"], - [23619, 0, "r"], - [23620, 0, "r"], - [23621, 0, "e"], - [23622, 0, "n"], - [23623, 0, "t"], - [23624, 0, " "], - [23625, 0, "e"], - [23626, 0, "d"], - [23627, 0, "i"], - [23628, 0, "t"], - [23629, 0, "s"], - [23630, 0, " "], - [23631, 0, "w"], - [23632, 0, "i"], - [23633, 0, "t"], - [23634, 0, "h"], - [23635, 0, "i"], - [23636, 0, "n"], - [23637, 0, " "], - [23638, 0, "t"], - [23639, 0, "h"], - [23640, 0, "a"], - [23641, 0, "t"], - [23642, 0, " "], - [23643, 0, "s"], - [23644, 0, "u"], - [23645, 0, "b"], - [23646, 0, "t"], - [23647, 0, "r"], - [23648, 0, "e"], - [23649, 0, "e"], - [23650, 0, " "], - [23651, 0, "("], - [23652, 0, "i"], - [23653, 0, "n"], - [23654, 0, " "], - [23655, 0, "t"], - [23656, 0, "h"], - [23657, 0, "i"], - [23658, 0, "s"], - [23659, 0, " "], - [23660, 0, "c"], - [23661, 0, "a"], - [23662, 0, "s"], - [23663, 0, "e"], - [23664, 0, ","], - [23665, 0, " "], - [23666, 0, "t"], - [23667, 0, "h"], - [23668, 0, "a"], - [23669, 0, "t"], - [23670, 0, " "], - [23671, 0, "w"], - [23672, 0, "o"], - [23673, 0, "u"], - [23674, 0, "l"], - [23675, 0, "d"], - [23676, 0, " "], - [23677, 0, "m"], - [23678, 0, "e"], - [23679, 0, "a"], - [23680, 0, "n"], - [23681, 0, " "], - [23682, 0, "t"], - [23683, 0, "h"], - [23684, 0, "e"], - [23685, 0, " "], - [23686, 0, "a"], - [23687, 0, "d"], - [23688, 0, "d"], - [23689, 0, "i"], - [23690, 0, "t"], - [23691, 0, "i"], - [23692, 0, "o"], - [23693, 0, "n"], - [23694, 0, " "], - [23695, 0, "o"], - [23696, 0, "f"], - [23697, 0, " "], - [23698, 0, "`"], - [23699, 0, "`"], - [23700, 0, "r"], - [23701, 0, "e"], - [23702, 0, "d"], - [23703, 0, "'"], - [23704, 0, "'"], - [23705, 0, " "], - [23706, 0, "w"], - [23707, 0, "o"], - [23708, 0, "u"], - [23709, 0, "l"], - [23710, 0, "d"], - [23711, 0, " "], - [23712, 0, "b"], - [23713, 0, "e"], - [23714, 0, " "], - [23715, 0, "d"], - [23716, 0, "i"], - [23717, 0, "s"], - [23718, 0, "c"], - [23719, 0, "a"], - [23720, 0, "r"], - [23721, 0, "d"], - [23722, 0, "e"], - [23723, 0, "d"], - [23724, 0, ","], - [23725, 0, " "], - [23726, 0, "s"], - [23727, 0, "i"], - [23728, 0, "n"], - [23729, 0, "c"], - [23730, 0, "e"], - [23731, 0, " "], - [23732, 0, "i"], - [23733, 0, "t"], - [23734, 0, " "], - [23735, 0, "w"], - [23736, 0, "o"], - [23737, 0, "u"], - [23738, 0, "l"], - [23739, 0, "d"], - [23740, 0, " "], - [23741, 0, "b"], - [23742, 0, "e"], - [23743, 0, " "], - [23744, 0, "o"], - [23745, 0, "v"], - [23746, 0, "e"], - [23747, 0, "r"], - [23748, 0, "r"], - [23749, 0, "i"], - [23750, 0, "d"], - [23751, 0, "d"], - [23752, 0, "e"], - [23753, 0, "n"], - [23754, 0, " "], - [23755, 0, "b"], - [23756, 0, "y"], - [23757, 0, " "], - [23758, 0, "t"], - [23759, 0, "h"], - [23760, 0, "e"], - [23761, 0, " "], - [23762, 0, "b"], - [23763, 0, "l"], - [23764, 0, "a"], - [23765, 0, "n"], - [23766, 0, "k"], - [23767, 0, "i"], - [23768, 0, "n"], - [23769, 0, "g"], - [23770, 0, "-"], - [23771, 0, "o"], - [23772, 0, "u"], - [23773, 0, "t"], - [23774, 0, " "], - [23775, 0, "o"], - [23776, 0, "f"], - [23777, 0, " "], - [23778, 0, "t"], - [23779, 0, "h"], - [23780, 0, "e"], - [23781, 0, " "], - [23782, 0, "e"], - [23783, 0, "n"], - [23784, 0, "t"], - [23785, 0, "i"], - [23786, 0, "r"], - [23787, 0, "e"], - [23788, 0, " "], - [23789, 0, "m"], - [23790, 0, "a"], - [23791, 0, "p"], - [23792, 0, " "], - [23793, 0, "o"], - [23794, 0, "f"], - [23795, 0, " "], - [23796, 0, "c"], - [23797, 0, "o"], - [23798, 0, "l"], - [23799, 0, "o"], - [23800, 0, "r"], - [23801, 0, "s"], - [23802, 0, ")"], - [23803, 0, "."], - [23804, 0, " "], - [23805, 0, "H"], - [23806, 0, "o"], - [23807, 0, "w"], - [23808, 0, "e"], - [23809, 0, "v"], - [23810, 0, "e"], - [23811, 0, "r"], - [23812, 0, ","], - [23813, 0, " "], - [23814, 0, "t"], - [23815, 0, "h"], - [23816, 0, "a"], - [23817, 0, "t"], - [23818, 0, " "], - [23819, 0, "b"], - [23820, 0, "e"], - [23821, 0, "h"], - [23822, 0, "a"], - [23823, 0, "v"], - [23824, 0, "i"], - [23825, 0, "o"], - [23826, 0, "r"], - [23827, 0, " "], - [23828, 0, "w"], - [23829, 0, "o"], - [23830, 0, "u"], - [23831, 0, "l"], - [23832, 0, "d"], - [23833, 0, " "], - [23834, 0, "n"], - [23835, 0, "o"], - [23836, 0, "t"], - [23837, 0, " "], - [23838, 0, "m"], - [23839, 0, "e"], - [23840, 0, "e"], - [23841, 0, "t"], - [23842, 0, " "], - [23843, 0, "o"], - [23844, 0, "u"], - [23845, 0, "r"], - [23846, 0, " "], - [23847, 0, "r"], - [23848, 0, "e"], - [23849, 0, "q"], - [23850, 0, "u"], - [23851, 0, "i"], - [23852, 0, "r"], - [23853, 0, "e"], - [23854, 0, "m"], - [23855, 0, "e"], - [23856, 0, "n"], - [23857, 0, "t"], - [23858, 0, " "], - [23859, 0, "o"], - [23860, 0, "f"], - [23861, 0, " "], - [23861, 1], - [23860, 1], - [23859, 1], - [23859, 0, "t"], - [23860, 0, "h"], - [23861, 0, "a"], - [23862, 0, "t"], - [23863, 0, " "], - [23864, 0, "e"], - [23865, 0, "d"], - [23866, 0, "i"], - [23867, 0, "t"], - [23868, 0, "s"], - [23869, 0, " "], - [23869, 1], - [23868, 1], - [23867, 1], - [23866, 1], - [23865, 1], - [23864, 1], - [23864, 0, "n"], - [23865, 0, "o"], - [23866, 0, " "], - [23867, 0, "u"], - [23868, 0, "s"], - [23869, 0, "e"], - [23870, 0, "r"], - [23871, 0, " "], - [23872, 0, "i"], - [23873, 0, "n"], - [23874, 0, "p"], - [23875, 0, "u"], - [23876, 0, "t"], - [23877, 0, " "], - [23878, 0, "s"], - [23879, 0, "h"], - [23880, 0, "o"], - [23881, 0, "u"], - [23882, 0, "l"], - [23883, 0, "d"], - [23884, 0, " "], - [23885, 0, "b"], - [23886, 0, "e"], - [23887, 0, " "], - [23888, 0, "l"], - [23889, 0, "o"], - [23890, 0, "s"], - [23891, 0, "t"], - [23892, 0, " "], - [23893, 0, "d"], - [23894, 0, "u"], - [23895, 0, "e"], - [23896, 0, " "], - [23897, 0, "t"], - [23898, 0, "o"], - [23899, 0, " "], - [23900, 0, "c"], - [23901, 0, "o"], - [23902, 0, "n"], - [23903, 0, "c"], - [23904, 0, "u"], - [23905, 0, "r"], - [23906, 0, "r"], - [23907, 0, "e"], - [23908, 0, "n"], - [23909, 0, "t"], - [23910, 0, " "], - [23911, 0, "m"], - [23912, 0, "o"], - [23913, 0, "d"], - [23914, 0, "i"], - [23915, 0, "f"], - [23916, 0, "i"], - [23917, 0, "c"], - [23918, 0, "a"], - [23919, 0, "t"], - [23920, 0, "i"], - [23921, 0, "o"], - [23922, 0, "n"], - [23923, 0, "s"], - [23924, 0, "."], - [23925, 0, " "], - [23926, 0, "I"], - [23927, 0, "n"], - [23928, 0, "s"], - [23929, 0, "t"], - [23930, 0, "e"], - [23931, 0, "a"], - [23932, 0, "d"], - [23933, 0, ","], - [23934, 0, " "], - [23935, 0, "w"], - [23936, 0, "e"], - [23937, 0, " "], - [23938, 0, "d"], - [23939, 0, "e"], - [23940, 0, "f"], - [23941, 0, "i"], - [23942, 0, "n"], - [23943, 0, "e"], - [23944, 0, " "], - [23945, 0, "a"], - [23946, 0, " "], - [23947, 0, "m"], - [23947, 1], - [23946, 1], - [23945, 1], - [23945, 0, "m"], - [23946, 0, "e"], - [23947, 0, "r"], - [23948, 0, "g"], - [23949, 0, "e"], - [23950, 0, " "], - [23951, 0, "s"], - [23952, 0, "e"], - [23953, 0, "m"], - [23954, 0, "a"], - [23955, 0, "n"], - [23956, 0, "t"], - [23957, 0, "i"], - [23958, 0, "c"], - [23959, 0, "s"], - [23960, 0, " "], - [23961, 0, "t"], - [23962, 0, "h"], - [23963, 0, "a"], - [23964, 0, "t"], - [23965, 0, " "], - [23966, 0, "p"], - [23967, 0, "r"], - [23968, 0, "e"], - [23969, 0, "s"], - [23970, 0, "e"], - [23971, 0, "r"], - [23972, 0, "v"], - [23973, 0, "e"], - [23974, 0, " "], - [23975, 0, "a"], - [23976, 0, "l"], - [23977, 0, "l"], - [23978, 0, " "], - [23979, 0, "c"], - [23980, 0, "h"], - [23981, 0, "a"], - [23982, 0, "n"], - [23983, 0, "g"], - [23984, 0, "e"], - [23985, 0, "s"], - [23986, 0, ":"], - [24054, 1], - [24053, 1], - [24052, 1], - [24051, 1], - [24050, 1], - [24049, 1], - [24048, 1], - [24047, 1], - [24046, 1], - [24045, 1], - [24044, 1], - [24043, 1], - [24042, 1], - [24041, 1], - [24040, 1], - [24039, 1], - [24038, 1], - [24037, 1], - [24036, 1], - [24035, 1], - [24034, 1], - [24033, 1], - [24032, 1], - [24031, 1], - [24030, 1], - [24029, 1], - [24028, 1], - [24027, 1], - [24026, 1], - [24025, 1], - [24024, 1], - [24023, 1], - [24022, 1], - [24021, 1], - [24020, 1], - [24019, 1], - [24018, 1], - [24017, 1], - [24016, 1], - [24015, 1], - [24014, 1], - [24013, 1], - [24012, 1], - [24011, 1], - [24010, 1], - [24009, 1], - [24008, 1], - [24007, 1], - [24006, 1], - [24005, 1], - [24004, 1], - [24003, 1], - [24002, 1], - [24001, 1], - [24000, 1], - [23999, 1], - [23998, 1], - [23997, 1], - [23996, 1], - [23995, 1], - [23994, 1], - [23993, 1], - [23992, 1], - [23991, 1], - [23990, 1], - [23989, 1], - [23988, 1], - [23987, 1], - [24157, 1], - [24156, 1], - [24156, 0, " "], - [24159, 1], - [24159, 0, "i"], - [24160, 0, "s"], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 1], - [24171, 0, "m"], - [24172, 0, "a"], - [24173, 0, "t"], - [23986, 0, ","], - [23987, 0, " "], - [23988, 0, "a"], - [23989, 0, "s"], - [23990, 0, " "], - [23991, 0, "s"], - [23992, 0, "h"], - [23993, 0, "o"], - [23994, 0, "w"], - [23995, 0, "n"], - [23996, 0, " "], - [23997, 0, "i"], - [23998, 0, "n"], - [23999, 0, " "], - [24000, 0, "F"], - [24001, 0, "i"], - [24002, 0, "g"], - [24003, 0, "u"], - [24004, 0, "r"], - [24005, 0, "e"], - [24006, 0, "~"], - [24007, 0, "\\"], - [24008, 0, "r"], - [24009, 0, "e"], - [24010, 0, "f"], - [24011, 0, "{"], - [24012, 0, "f"], - [24013, 0, "i"], - [24014, 0, "g"], - [24015, 0, ":"], - [24016, 0, "m"], - [24017, 0, "a"], - [24018, 0, "p"], - [24019, 0, "-"], - [24020, 0, "r"], - [24021, 0, "e"], - [24022, 0, "m"], - [24023, 0, "o"], - [24024, 0, "v"], - [24025, 0, "e"], - [24026, 0, "}"], - [24296, 0, "["], - [24297, 0, "p"], - [24298, 0, "]"], - [21180, 0, "["], - [21181, 0, "p"], - [21182, 0, "]"], - [17817, 0, "["], - [17818, 0, "p"], - [17819, 0, "]"], - [27023, 0, "["], - [27024, 0, "p"], - [27025, 0, "]"], - [28556, 0, "["], - [28557, 0, "p"], - [28558, 0, "]"], - [30090, 0, "["], - [30091, 0, "p"], - [30092, 0, "]"], - [26002, 0, "j"], - [26003, 0, "j"], - [26004, 0, "j"], - [26005, 0, "j"], - [26005, 1], - [26002, 1], - [26002, 1], - [26002, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [26345, 1], - [30825, 0, "j"], - [30825, 1], - [30839, 0, "\n"], - [30840, 0, "\n"], - [30840, 0, "F"], - [30841, 0, "i"], - [30842, 0, "g"], - [30843, 0, "u"], - [30844, 0, "r"], - [30845, 0, "e"], - [30846, 0, "~"], - [30847, 0, "\\"], - [30848, 0, "r"], - [30849, 0, "e"], - [30850, 0, "f"], - [30851, 0, "{"], - [30852, 0, "f"], - [30853, 0, "i"], - [30854, 0, "g"], - [30855, 0, ":"], - [30856, 0, "m"], - [30857, 0, "a"], - [30858, 0, "p"], - [30859, 0, "-"], - [30860, 0, "r"], - [30861, 0, "e"], - [30862, 0, "m"], - [30863, 0, "o"], - [30864, 0, "v"], - [30865, 0, "e"], - [30866, 0, "}"], - [30867, 0, " "], - [30868, 0, "g"], - [30869, 0, "i"], - [30870, 0, "v"], - [30871, 0, "e"], - [30872, 0, "s"], - [30873, 0, " "], - [30874, 0, "a"], - [30875, 0, "n"], - [30876, 0, " "], - [30877, 0, "e"], - [30878, 0, "x"], - [30879, 0, "a"], - [30880, 0, "m"], - [30881, 0, "p"], - [30882, 0, "l"], - [30883, 0, "e"], - [30884, 0, " "], - [30885, 0, "o"], - [30886, 0, "f"], - [30887, 0, " "], - [30888, 0, "c"], - [30889, 0, "o"], - [30890, 0, "n"], - [30891, 0, "c"], - [30892, 0, "u"], - [30893, 0, "r"], - [30894, 0, "r"], - [30895, 0, "e"], - [30896, 0, "n"], - [30897, 0, "t"], - [30898, 0, " "], - [30899, 0, "e"], - [30900, 0, "d"], - [30901, 0, "i"], - [30902, 0, "t"], - [30903, 0, "s"], - [30904, 0, " "], - [30905, 0, "a"], - [30906, 0, "t"], - [30907, 0, " "], - [30908, 0, "d"], - [30909, 0, "i"], - [30910, 0, "f"], - [30911, 0, "f"], - [30912, 0, "e"], - [30913, 0, "r"], - [30914, 0, "e"], - [30915, 0, "n"], - [30916, 0, "t"], - [30917, 0, " "], - [30918, 0, "l"], - [30919, 0, "e"], - [30920, 0, "v"], - [30921, 0, "e"], - [30922, 0, "l"], - [30923, 0, "s"], - [30924, 0, " "], - [30925, 0, "o"], - [30926, 0, "f"], - [30927, 0, " "], - [30928, 0, "t"], - [30929, 0, "h"], - [30930, 0, "e"], - [30931, 0, " "], - [30932, 0, "J"], - [30933, 0, "S"], - [30934, 0, "O"], - [30935, 0, "N"], - [30936, 0, " "], - [30937, 0, "t"], - [30938, 0, "r"], - [30939, 0, "e"], - [30940, 0, "e"], - [30941, 0, "."], - [30942, 0, " "], - [30943, 0, "H"], - [30944, 0, "e"], - [30945, 0, "r"], - [30946, 0, "e"], - [30947, 0, ","], - [30948, 0, " "], - [30949, 0, "r"], - [30950, 0, "e"], - [30951, 0, "p"], - [30952, 0, "l"], - [30953, 0, "i"], - [30954, 0, "c"], - [30955, 0, "a"], - [30956, 0, " "], - [30957, 0, "$"], - [30958, 0, "p"], - [30959, 0, "$"], - [30960, 0, " "], - [30961, 0, "a"], - [30962, 0, "d"], - [30963, 0, "d"], - [30964, 0, "s"], - [30965, 0, " "], - [30966, 0, "`"], - [30967, 0, "`"], - [30968, 0, "r"], - [30969, 0, "e"], - [30970, 0, "d"], - [30971, 0, "'"], - [30972, 0, "'"], - [30973, 0, " "], - [30974, 0, "t"], - [30975, 0, "o"], - [30976, 0, " "], - [30977, 0, "a"], - [30978, 0, " "], - [30979, 0, "m"], - [30980, 0, "a"], - [30981, 0, "p"], - [30982, 0, " "], - [30983, 0, "o"], - [30984, 0, "f"], - [30985, 0, " "], - [30986, 0, "c"], - [30987, 0, "o"], - [30988, 0, "l"], - [30989, 0, "o"], - [30990, 0, "r"], - [30991, 0, "s"], - [30992, 0, ","], - [30993, 0, " "], - [30994, 0, "w"], - [30995, 0, "h"], - [30996, 0, "i"], - [30997, 0, "l"], - [30998, 0, "e"], - [30999, 0, " "], - [31000, 0, "r"], - [31001, 0, "e"], - [31002, 0, "p"], - [31003, 0, "l"], - [31004, 0, "i"], - [31005, 0, "c"], - [31006, 0, "a"], - [31007, 0, " "], - [31008, 0, "$"], - [31009, 0, "q"], - [31010, 0, "$"], - [31011, 0, " "], - [31012, 0, "c"], - [31013, 0, "o"], - [31014, 0, "n"], - [31015, 0, "c"], - [31016, 0, "u"], - [31017, 0, "r"], - [31018, 0, "r"], - [31019, 0, "e"], - [31020, 0, "n"], - [31021, 0, "t"], - [31022, 0, "l"], - [31023, 0, "y"], - [31024, 0, " "], - [31025, 0, "b"], - [31026, 0, "l"], - [31027, 0, "a"], - [31028, 0, "n"], - [31029, 0, "k"], - [31030, 0, "s"], - [31031, 0, " "], - [31032, 0, "o"], - [31033, 0, "u"], - [31034, 0, "t"], - [31035, 0, " "], - [31036, 0, "t"], - [31037, 0, "h"], - [31038, 0, "e"], - [31039, 0, " "], - [31040, 0, "e"], - [31041, 0, "n"], - [31042, 0, "t"], - [31043, 0, "i"], - [31044, 0, "r"], - [31045, 0, "e"], - [31046, 0, " "], - [31047, 0, "m"], - [31048, 0, "a"], - [31049, 0, "p"], - [31050, 0, " "], - [31051, 0, "o"], - [31052, 0, "f"], - [31053, 0, " "], - [31054, 0, "c"], - [31055, 0, "o"], - [31056, 0, "l"], - [31057, 0, "o"], - [31058, 0, "r"], - [31059, 0, "s"], - [31060, 0, ","], - [31061, 0, " "], - [31062, 0, "a"], - [31063, 0, "n"], - [31064, 0, "d"], - [31065, 0, " "], - [31066, 0, "t"], - [31067, 0, "h"], - [31068, 0, "e"], - [31069, 0, "n"], - [31070, 0, " "], - [31071, 0, "a"], - [31072, 0, "d"], - [31073, 0, "d"], - [31074, 0, "s"], - [31075, 0, " "], - [31060, 1], - [31075, 0, "`"], - [31076, 0, "`"], - [31077, 0, "g"], - [31078, 0, "r"], - [31079, 0, "e"], - [31080, 0, "e"], - [31081, 0, "n"], - [31082, 0, "'"], - [31083, 0, "'"], - [31084, 0, "."], - [31085, 0, " "], - [31086, 0, "I"], - [31087, 0, "n"], - [31088, 0, "s"], - [31089, 0, "t"], - [31090, 0, "e"], - [31091, 0, "a"], - [31092, 0, "d"], - [31093, 0, "e"], - [31093, 1], - [31093, 0, " "], - [31094, 0, "o"], - [31095, 0, "f"], - [31096, 0, " "], - [31097, 0, "a"], - [31098, 0, "s"], - [31099, 0, "s"], - [31100, 0, "i"], - [31101, 0, "g"], - [31102, 0, "n"], - [31103, 0, "i"], - [31104, 0, "n"], - [31105, 0, "g"], - [31106, 0, " "], - [31107, 0, "a"], - [31108, 0, "n"], - [31109, 0, " "], - [31110, 0, "e"], - [31111, 0, "m"], - [31112, 0, "p"], - [31113, 0, "t"], - [31114, 0, "y"], - [31115, 0, " "], - [31116, 0, "m"], - [31117, 0, "a"], - [31118, 0, "p"], - [31119, 0, ","], - [31120, 0, " "], - [31121, 0, "$"], - [31122, 0, "q"], - [31123, 0, "$"], - [31124, 0, " "], - [31125, 0, "c"], - [31126, 0, "o"], - [31127, 0, "u"], - [31128, 0, "l"], - [31129, 0, "d"], - [31130, 0, " "], - [31131, 0, "e"], - [31132, 0, "q"], - [31133, 0, "u"], - [31134, 0, "i"], - [31135, 0, "v"], - [31136, 0, "a"], - [31137, 0, "l"], - [31138, 0, "e"], - [31139, 0, "n"], - [31140, 0, "t"], - [31141, 0, "l"], - [31142, 0, "y"], - [31143, 0, " "], - [31144, 0, "r"], - [31145, 0, "e"], - [31146, 0, "m"], - [31147, 0, "o"], - [31148, 0, "v"], - [31149, 0, "e"], - [31150, 0, " "], - [31151, 0, "t"], - [31152, 0, "h"], - [31153, 0, "e"], - [31154, 0, " "], - [31155, 0, "e"], - [31156, 0, "n"], - [31157, 0, "t"], - [31158, 0, "i"], - [31159, 0, "r"], - [31160, 0, "e"], - [31161, 0, " "], - [31162, 0, "k"], - [31163, 0, "e"], - [31164, 0, "y"], - [31165, 0, " "], - [31166, 0, "`"], - [31167, 0, "`"], - [31168, 0, "c"], - [31169, 0, "o"], - [31170, 0, "l"], - [31171, 0, "o"], - [31172, 0, "r"], - [31173, 0, "s"], - [31174, 0, "'"], - [31175, 0, "'"], - [31176, 0, " "], - [31177, 0, "f"], - [31178, 0, "r"], - [31179, 0, "o"], - [31180, 0, "m"], - [31181, 0, " "], - [31182, 0, "t"], - [31183, 0, "h"], - [31184, 0, "e"], - [31185, 0, " "], - [31186, 0, "o"], - [31187, 0, "u"], - [31188, 0, "t"], - [31189, 0, "e"], - [31190, 0, "r"], - [31191, 0, " "], - [31192, 0, "m"], - [31193, 0, "a"], - [31194, 0, "p"], - [31195, 0, ","], - [31196, 0, " "], - [31197, 0, "a"], - [31198, 0, "n"], - [31199, 0, "d"], - [31200, 0, " "], - [31201, 0, "t"], - [31202, 0, "h"], - [31203, 0, "e"], - [31204, 0, "n"], - [31205, 0, " "], - [31206, 0, "a"], - [31207, 0, "s"], - [31208, 0, "s"], - [31209, 0, "i"], - [31210, 0, "g"], - [31211, 0, "n"], - [31212, 0, " "], - [31213, 0, "a"], - [31214, 0, " "], - [31215, 0, "n"], - [31216, 0, "e"], - [31217, 0, "w"], - [31218, 0, " "], - [31219, 0, "e"], - [31220, 0, "m"], - [31221, 0, "t"], - [31221, 1], - [31221, 0, "p"], - [31222, 0, "t"], - [31223, 0, "y"], - [31224, 0, " "], - [31225, 0, "m"], - [31226, 0, "a"], - [31227, 0, "p"], - [31228, 0, " "], - [31229, 0, "t"], - [31230, 0, "o"], - [31231, 0, " "], - [31232, 0, "t"], - [31233, 0, "h"], - [31234, 0, "a"], - [31235, 0, "t"], - [31236, 0, " "], - [31237, 0, "k"], - [31238, 0, "e"], - [31239, 0, "y"], - [31240, 0, "."], - [31241, 0, " "], - [31242, 0, "T"], - [31243, 0, "h"], - [31244, 0, "e"], - [31245, 0, " "], - [31246, 0, "d"], - [31247, 0, "i"], - [31248, 0, "f"], - [31249, 0, "f"], - [31250, 0, "i"], - [31251, 0, "c"], - [31252, 0, "u"], - [31253, 0, "l"], - [31254, 0, "t"], - [31255, 0, "y"], - [31256, 0, " "], - [31257, 0, "i"], - [31258, 0, "n"], - [31259, 0, " "], - [31260, 0, "t"], - [31261, 0, "h"], - [31262, 0, "i"], - [31263, 0, "s"], - [31264, 0, " "], - [31265, 0, "e"], - [31266, 0, "x"], - [31267, 0, "a"], - [31268, 0, "m"], - [31269, 0, "p"], - [31270, 0, "l"], - [31271, 0, "e"], - [31272, 0, " "], - [31273, 0, "i"], - [31274, 0, "s"], - [31275, 0, " "], - [31276, 0, "t"], - [31277, 0, "h"], - [31278, 0, "a"], - [31279, 0, "t"], - [31280, 0, " "], - [31281, 0, "t"], - [31282, 0, "h"], - [31283, 0, "e"], - [31284, 0, " "], - [31285, 0, "a"], - [31286, 0, "d"], - [31287, 0, "d"], - [31288, 0, "i"], - [31289, 0, "t"], - [31290, 0, "i"], - [31291, 0, "o"], - [31292, 0, "n"], - [31293, 0, " "], - [31294, 0, "o"], - [31295, 0, "f"], - [31296, 0, " "], - [31297, 0, "`"], - [31298, 0, "`"], - [31299, 0, "r"], - [31300, 0, "e"], - [31301, 0, "d"], - [31302, 0, "'"], - [31303, 0, "'"], - [31304, 0, " "], - [31305, 0, "o"], - [31306, 0, "c"], - [31307, 0, "c"], - [31308, 0, "u"], - [31309, 0, "r"], - [31310, 0, "s"], - [31311, 0, " "], - [31312, 0, "a"], - [31313, 0, "t"], - [31314, 0, " "], - [31315, 0, "a"], - [31316, 0, " "], - [31317, 0, "l"], - [31318, 0, "o"], - [31319, 0, "w"], - [31320, 0, "e"], - [31321, 0, "r"], - [31322, 0, " "], - [31323, 0, "l"], - [31324, 0, "e"], - [31325, 0, "v"], - [31326, 0, "e"], - [31327, 0, "l"], - [31328, 0, " "], - [31329, 0, "o"], - [31330, 0, "f"], - [31331, 0, " "], - [31332, 0, "t"], - [31333, 0, "h"], - [31334, 0, "e"], - [31335, 0, " "], - [31336, 0, "t"], - [31337, 0, "r"], - [31338, 0, "e"], - [31339, 0, "e"], - [31340, 0, ","], - [31341, 0, " "], - [31342, 0, "w"], - [31343, 0, "h"], - [31344, 0, "i"], - [31345, 0, "l"], - [31346, 0, "e"], - [31347, 0, " "], - [31348, 0, "c"], - [31349, 0, "o"], - [31350, 0, "n"], - [31351, 0, "c"], - [31352, 0, "u"], - [31353, 0, "r"], - [31354, 0, "r"], - [31355, 0, "e"], - [31356, 0, "n"], - [31357, 0, "t"], - [31358, 0, "l"], - [31359, 0, "y"], - [31360, 0, " "], - [31361, 0, "t"], - [31362, 0, "h"], - [31363, 0, "e"], - [31364, 0, " "], - [31365, 0, "r"], - [31366, 0, "e"], - [31367, 0, "m"], - [31368, 0, "o"], - [31369, 0, "v"], - [31370, 0, "a"], - [31371, 0, "l"], - [31372, 0, " "], - [31373, 0, "o"], - [31374, 0, "f"], - [31375, 0, " "], - [31376, 0, "t"], - [31377, 0, "h"], - [31378, 0, "e"], - [31379, 0, " "], - [31380, 0, "m"], - [31381, 0, "a"], - [31382, 0, "p"], - [31383, 0, " "], - [31384, 0, "o"], - [31385, 0, "f"], - [31386, 0, " "], - [31387, 0, "c"], - [31388, 0, "o"], - [31389, 0, "l"], - [31390, 0, "o"], - [31391, 0, "r"], - [31392, 0, "s"], - [31393, 0, " "], - [31394, 0, "o"], - [31395, 0, "c"], - [31396, 0, "c"], - [31397, 0, "u"], - [31398, 0, "r"], - [31399, 0, "s"], - [31400, 0, " "], - [31401, 0, "a"], - [31402, 0, "t"], - [31403, 0, " "], - [31404, 0, "a"], - [31405, 0, " "], - [31406, 0, "h"], - [31407, 0, "i"], - [31408, 0, "g"], - [31409, 0, "h"], - [31410, 0, "e"], - [31411, 0, "r"], - [31412, 0, " "], - [31413, 0, "l"], - [31414, 0, "e"], - [31415, 0, "v"], - [31416, 0, "e"], - [31417, 0, "l"], - [31418, 0, " "], - [31419, 0, "o"], - [31420, 0, "f"], - [31421, 0, " "], - [31422, 0, "t"], - [31423, 0, "h"], - [31424, 0, "e"], - [31425, 0, " "], - [31426, 0, "t"], - [31427, 0, "r"], - [31428, 0, "e"], - [31429, 0, "e"], - [31430, 0, "."], - [31431, 0, "\n"], - [31432, 0, "\n"], - [31433, 0, "O"], - [31434, 0, "n"], - [31435, 0, "e"], - [31436, 0, " "], - [31437, 0, "p"], - [31438, 0, "o"], - [31439, 0, "s"], - [31440, 0, "s"], - [31441, 0, "i"], - [31442, 0, "b"], - [31443, 0, "l"], - [31444, 0, "e"], - [31445, 0, " "], - [31446, 0, "w"], - [31447, 0, "a"], - [31448, 0, "y"], - [31449, 0, " "], - [31450, 0, "o"], - [31451, 0, "f"], - [31452, 0, " "], - [31453, 0, "h"], - [31454, 0, "a"], - [31455, 0, "n"], - [31456, 0, "d"], - [31457, 0, "l"], - [31458, 0, "i"], - [31459, 0, "n"], - [31460, 0, "g"], - [31461, 0, " "], - [31462, 0, "s"], - [31463, 0, "u"], - [31464, 0, "c"], - [31465, 0, "h"], - [31466, 0, " "], - [31467, 0, "a"], - [31468, 0, " "], - [31469, 0, "c"], - [31470, 0, "o"], - [31471, 0, "n"], - [31472, 0, "f"], - [31473, 0, "l"], - [31474, 0, "i"], - [31475, 0, "c"], - [31476, 0, "t"], - [31477, 0, " "], - [31478, 0, "w"], - [31479, 0, "o"], - [31480, 0, "u"], - [31481, 0, "l"], - [31482, 0, "d"], - [31483, 0, " "], - [31484, 0, "b"], - [31485, 0, "e"], - [31486, 0, " "], - [31487, 0, "t"], - [31488, 0, "o"], - [31489, 0, " "], - [31490, 0, "l"], - [31491, 0, "e"], - [31492, 0, "t"], - [31493, 0, " "], - [31494, 0, "e"], - [31495, 0, "d"], - [31496, 0, "i"], - [31497, 0, "t"], - [31498, 0, "s"], - [31499, 0, " "], - [31500, 0, "a"], - [31501, 0, "t"], - [31502, 0, " "], - [31503, 0, "h"], - [31504, 0, "i"], - [31505, 0, "g"], - [31506, 0, "h"], - [31507, 0, "e"], - [31508, 0, "r"], - [31509, 0, " "], - [31510, 0, "l"], - [31511, 0, "e"], - [31512, 0, "v"], - [31513, 0, "e"], - [31514, 0, "l"], - [31515, 0, "s"], - [31516, 0, " "], - [31517, 0, "o"], - [31518, 0, "f"], - [31519, 0, " "], - [31520, 0, "t"], - [31521, 0, "h"], - [31522, 0, "e"], - [31523, 0, " "], - [31524, 0, "t"], - [31525, 0, "r"], - [31526, 0, "e"], - [31527, 0, "e"], - [31528, 0, " "], - [31529, 0, "a"], - [31530, 0, "l"], - [31531, 0, "w"], - [31532, 0, "a"], - [31533, 0, "y"], - [31534, 0, "s"], - [31535, 0, " "], - [31536, 0, "o"], - [31537, 0, "v"], - [31538, 0, "e"], - [31539, 0, "r"], - [31540, 0, "r"], - [31541, 0, "i"], - [31542, 0, "d"], - [31543, 0, "e"], - [31544, 0, " "], - [31545, 0, "c"], - [31546, 0, "o"], - [31547, 0, "n"], - [31548, 0, "c"], - [31549, 0, "u"], - [31550, 0, "r"], - [31551, 0, "r"], - [31552, 0, "e"], - [31553, 0, "n"], - [31554, 0, "t"], - [31555, 0, " "], - [31556, 0, "e"], - [31557, 0, "d"], - [31558, 0, "i"], - [31559, 0, "t"], - [31560, 0, "s"], - [31561, 0, " "], - [31562, 0, "w"], - [31563, 0, "i"], - [31564, 0, "t"], - [31565, 0, "h"], - [31566, 0, "i"], - [31567, 0, "n"], - [31568, 0, " "], - [31569, 0, "t"], - [31570, 0, "h"], - [31571, 0, "a"], - [31572, 0, "t"], - [31573, 0, " "], - [31574, 0, "s"], - [31575, 0, "u"], - [31576, 0, "b"], - [31577, 0, "t"], - [31578, 0, "r"], - [31579, 0, "e"], - [31580, 0, "e"], - [31581, 0, "."], - [31582, 0, " "], - [31583, 0, "I"], - [31584, 0, "n"], - [31585, 0, " "], - [31586, 0, "t"], - [31587, 0, "h"], - [31588, 0, "i"], - [31589, 0, "s"], - [31590, 0, " "], - [31591, 0, "c"], - [31592, 0, "a"], - [31593, 0, "s"], - [31594, 0, "e"], - [31595, 0, ","], - [31596, 0, " "], - [31597, 0, "t"], - [31598, 0, "h"], - [31599, 0, "a"], - [31600, 0, "t"], - [31601, 0, " "], - [31602, 0, "w"], - [31603, 0, "o"], - [31604, 0, "u"], - [31605, 0, "l"], - [31606, 0, "d"], - [31607, 0, " "], - [31608, 0, "m"], - [31609, 0, "e"], - [31610, 0, "a"], - [31611, 0, "n"], - [31612, 0, " "], - [31613, 0, "t"], - [31614, 0, "h"], - [31615, 0, "e"], - [31616, 0, " "], - [31617, 0, "a"], - [31618, 0, "d"], - [31619, 0, "d"], - [31620, 0, "i"], - [31621, 0, "t"], - [31622, 0, "i"], - [31623, 0, "o"], - [31624, 0, "n"], - [31625, 0, " "], - [31626, 0, "o"], - [31627, 0, "f"], - [31628, 0, " "], - [31629, 0, "`"], - [31630, 0, "`"], - [31631, 0, "r"], - [31632, 0, "e"], - [31633, 0, "d"], - [31634, 0, "'"], - [31635, 0, "'"], - [31636, 0, " "], - [31637, 0, "w"], - [31638, 0, "o"], - [31639, 0, "u"], - [31640, 0, "l"], - [31641, 0, "d"], - [31642, 0, " "], - [31643, 0, "b"], - [31644, 0, "e"], - [31645, 0, " "], - [31646, 0, "d"], - [31647, 0, "i"], - [31648, 0, "s"], - [31649, 0, "c"], - [31650, 0, "a"], - [31651, 0, "r"], - [31652, 0, "d"], - [31653, 0, "e"], - [31654, 0, "d"], - [31655, 0, ","], - [31656, 0, " "], - [31657, 0, "s"], - [31658, 0, "i"], - [31659, 0, "n"], - [31660, 0, "c"], - [31661, 0, "e"], - [31662, 0, " "], - [31663, 0, "i"], - [31664, 0, "t"], - [31665, 0, " "], - [31666, 0, "w"], - [31667, 0, "o"], - [31668, 0, "u"], - [31669, 0, "l"], - [31670, 0, "d"], - [31671, 0, " "], - [31672, 0, "b"], - [31673, 0, "e"], - [31674, 0, " "], - [31675, 0, "o"], - [31676, 0, "v"], - [31677, 0, "e"], - [31678, 0, "r"], - [31679, 0, "r"], - [31680, 0, "i"], - [31681, 0, "d"], - [31682, 0, "d"], - [31683, 0, "e"], - [31684, 0, "n"], - [31685, 0, " "], - [31686, 0, "b"], - [31687, 0, "y"], - [31688, 0, " "], - [31689, 0, "t"], - [31690, 0, "h"], - [31691, 0, "e"], - [31692, 0, " "], - [31693, 0, "b"], - [31694, 0, "l"], - [31695, 0, "a"], - [31696, 0, "n"], - [31697, 0, "k"], - [31698, 0, "i"], - [31699, 0, "n"], - [31700, 0, "g"], - [31701, 0, "-"], - [31702, 0, "o"], - [31703, 0, "u"], - [31704, 0, "t"], - [31705, 0, " "], - [31706, 0, "o"], - [31707, 0, "f"], - [31708, 0, " "], - [31709, 0, "t"], - [31710, 0, "h"], - [31711, 0, "e"], - [31712, 0, " "], - [31713, 0, "e"], - [31714, 0, "n"], - [31715, 0, "t"], - [31716, 0, "i"], - [31717, 0, "r"], - [31718, 0, "e"], - [31719, 0, " "], - [31720, 0, "m"], - [31721, 0, "a"], - [31722, 0, "p"], - [31723, 0, " "], - [31724, 0, "o"], - [31725, 0, "f"], - [31726, 0, " "], - [31727, 0, "c"], - [31728, 0, "o"], - [31729, 0, "l"], - [31730, 0, "o"], - [31731, 0, "r"], - [31732, 0, "s"], - [31733, 0, "."], - [31734, 0, " "], - [31735, 0, "H"], - [31736, 0, "o"], - [31737, 0, "w"], - [31738, 0, "e"], - [31739, 0, "v"], - [31740, 0, "e"], - [31741, 0, "r"], - [31742, 0, ","], - [31743, 0, " "], - [31744, 0, "t"], - [31745, 0, "h"], - [31746, 0, "a"], - [31747, 0, "t"], - [31748, 0, " "], - [31749, 0, "b"], - [31750, 0, "e"], - [31751, 0, "h"], - [31752, 0, "a"], - [31753, 0, "v"], - [31754, 0, "i"], - [31755, 0, "o"], - [31756, 0, "r"], - [31757, 0, " "], - [31758, 0, "w"], - [31759, 0, "o"], - [31760, 0, "u"], - [31761, 0, "l"], - [31762, 0, "d"], - [31763, 0, " "], - [31764, 0, "n"], - [31765, 0, "o"], - [31766, 0, "t"], - [31767, 0, " "], - [31768, 0, "m"], - [31769, 0, "e"], - [31770, 0, "e"], - [31771, 0, "t"], - [31772, 0, " "], - [31773, 0, "o"], - [31774, 0, "u"], - [31775, 0, "r"], - [31776, 0, " "], - [31777, 0, "r"], - [31778, 0, "e"], - [31779, 0, "q"], - [31780, 0, "u"], - [31781, 0, "i"], - [31782, 0, "r"], - [31783, 0, "e"], - [31784, 0, "m"], - [31785, 0, "e"], - [31786, 0, "n"], - [31787, 0, "t"], - [31788, 0, " "], - [31789, 0, "t"], - [31790, 0, "h"], - [31791, 0, "a"], - [31792, 0, "t"], - [31793, 0, " "], - [31771, 1], - [31770, 1], - [31769, 1], - [31768, 1], - [31767, 1], - [31766, 1], - [31765, 1], - [31764, 1], - [31764, 0, "v"], - [31765, 0, "i"], - [31766, 0, "o"], - [31767, 0, "l"], - [31768, 0, "a"], - [31769, 0, "t"], - [31770, 0, "e"], - [31793, 0, "n"], - [31794, 0, "o"], - [31795, 0, " "], - [31796, 0, "u"], - [31797, 0, "s"], - [31798, 0, "e"], - [31799, 0, "r"], - [31800, 0, " "], - [31801, 0, "i"], - [31802, 0, "n"], - [31803, 0, "p"], - [31804, 0, "u"], - [31805, 0, "t"], - [31806, 0, " "], - [31807, 0, "s"], - [31808, 0, "h"], - [31809, 0, "o"], - [31810, 0, "u"], - [31811, 0, "l"], - [31812, 0, "d"], - [31813, 0, " "], - [31814, 0, "b"], - [31815, 0, "e"], - [31816, 0, " "], - [31817, 0, "l"], - [31818, 0, "o"], - [31819, 0, "s"], - [31820, 0, "t"], - [31821, 0, " "], - [31822, 0, "d"], - [31823, 0, "u"], - [31824, 0, "e"], - [31825, 0, " "], - [31826, 0, "t"], - [31827, 0, "o"], - [31828, 0, " "], - [31829, 0, "c"], - [31830, 0, "o"], - [31831, 0, "n"], - [31832, 0, "c"], - [31833, 0, "u"], - [31834, 0, "r"], - [31835, 0, "r"], - [31836, 0, "e"], - [31837, 0, "n"], - [31838, 0, "t"], - [31839, 0, " "], - [31840, 0, "m"], - [31841, 0, "o"], - [31842, 0, "d"], - [31843, 0, "i"], - [31844, 0, "f"], - [31845, 0, "i"], - [31846, 0, "c"], - [31847, 0, "a"], - [31848, 0, "t"], - [31849, 0, "i"], - [31850, 0, "o"], - [31851, 0, "n"], - [31852, 0, "s"], - [31853, 0, "."], - [31854, 0, " "], - [31855, 0, "I"], - [31856, 0, "n"], - [31857, 0, "s"], - [31858, 0, "t"], - [31859, 0, "e"], - [31860, 0, "a"], - [31861, 0, "d"], - [31862, 0, ","], - [31863, 0, " "], - [31864, 0, "w"], - [31865, 0, "e"], - [31866, 0, " "], - [31867, 0, "e"], - [31867, 1], - [31867, 0, "d"], - [31868, 0, "e"], - [31869, 0, "f"], - [31870, 0, "i"], - [31871, 0, "n"], - [31872, 0, "e"], - [31873, 0, " "], - [31874, 0, "m"], - [31875, 0, "e"], - [31876, 0, "r"], - [31877, 0, "g"], - [31878, 0, "e"], - [31879, 0, " "], - [31880, 0, "s"], - [31881, 0, "e"], - [31882, 0, "m"], - [31883, 0, "a"], - [31884, 0, "n"], - [31885, 0, "t"], - [31886, 0, "i"], - [31887, 0, "c"], - [31888, 0, "s"], - [31889, 0, " "], - [31890, 0, "t"], - [31891, 0, "h"], - [31892, 0, "a"], - [31893, 0, "t"], - [31894, 0, " "], - [31895, 0, "p"], - [31896, 0, "r"], - [31897, 0, "e"], - [31898, 0, "s"], - [31899, 0, "e"], - [31900, 0, "r"], - [31901, 0, "v"], - [31902, 0, "e"], - [31903, 0, " "], - [31904, 0, "a"], - [31905, 0, "l"], - [31906, 0, "l"], - [31907, 0, " "], - [31908, 0, "c"], - [31909, 0, "h"], - [31910, 0, "a"], - [31911, 0, "n"], - [31912, 0, "g"], - [31913, 0, "e"], - [31914, 0, "s"], - [31915, 0, ","], - [31916, 0, " "], - [31917, 0, "a"], - [31918, 0, "s"], - [31919, 0, " "], - [31920, 0, "s"], - [31921, 0, "h"], - [31922, 0, "o"], - [31923, 0, "w"], - [31924, 0, "n"], - [31925, 0, " "], - [31926, 0, "i"], - [31927, 0, "n"], - [31928, 0, " "], - [31929, 0, "F"], - [31930, 0, "i"], - [31931, 0, "g"], - [31932, 0, "u"], - [31933, 0, "r"], - [31934, 0, "e"], - [31935, 0, "~"], - [31936, 0, "\\"], - [31937, 0, "r"], - [31938, 0, "e"], - [31939, 0, "f"], - [31940, 0, "{"], - [31941, 0, "f"], - [31942, 0, "i"], - [31943, 0, "g"], - [31944, 0, ":"], - [31945, 0, "m"], - [31946, 0, "a"], - [31947, 0, "p"], - [31948, 0, "-"], - [31949, 0, "r"], - [31950, 0, "e"], - [31951, 0, "m"], - [31952, 0, "o"], - [31953, 0, "v"], - [31954, 0, "e"], - [31955, 0, "}"], - [31956, 0, ":"], - [31957, 0, " "], - [31958, 0, "`"], - [31959, 0, "`"], - [31960, 0, "b"], - [31961, 0, "l"], - [31962, 0, "u"], - [31963, 0, "e"], - [31964, 0, "'"], - [31965, 0, "'"], - [31966, 0, " "], - [31967, 0, "m"], - [31968, 0, "u"], - [31969, 0, "s"], - [31970, 0, "t"], - [31971, 0, " "], - [31972, 0, "b"], - [31973, 0, "e"], - [31974, 0, " "], - [31975, 0, "a"], - [31976, 0, "b"], - [31977, 0, "s"], - [31978, 0, "e"], - [31979, 0, "n"], - [31980, 0, "t"], - [31981, 0, " "], - [31982, 0, "f"], - [31983, 0, "r"], - [31984, 0, "o"], - [31985, 0, "m"], - [31986, 0, " "], - [31987, 0, "t"], - [31988, 0, "h"], - [31989, 0, "e"], - [31990, 0, " "], - [31991, 0, "f"], - [31992, 0, "i"], - [31993, 0, "n"], - [31994, 0, "a"], - [31995, 0, "l"], - [31996, 0, " "], - [31997, 0, "m"], - [31998, 0, "a"], - [31999, 0, "p"], - [32000, 0, ","], - [32001, 0, " "], - [32002, 0, "s"], - [32003, 0, "i"], - [32004, 0, "n"], - [32005, 0, "c"], - [32006, 0, "e"], - [32007, 0, " "], - [32008, 0, "i"], - [32009, 0, "t"], - [32010, 0, " "], - [32011, 0, "w"], - [32012, 0, "a"], - [32013, 0, "s"], - [32014, 0, " "], - [32015, 0, "r"], - [32016, 0, "e"], - [32017, 0, "m"], - [32018, 0, "o"], - [32019, 0, "v"], - [32020, 0, "e"], - [32021, 0, "d"], - [32022, 0, " "], - [32023, 0, "b"], - [32024, 0, "y"], - [32025, 0, " "], - [32026, 0, "b"], - [32027, 0, "l"], - [32028, 0, "a"], - [32029, 0, "n"], - [32030, 0, "k"], - [32031, 0, "i"], - [32032, 0, "n"], - [32033, 0, "g"], - [32034, 0, " "], - [32035, 0, "o"], - [32036, 0, "u"], - [32037, 0, "t"], - [32038, 0, " "], - [32039, 0, "t"], - [32040, 0, "h"], - [32041, 0, "e"], - [32042, 0, " "], - [32043, 0, "m"], - [32044, 0, "a"], - [32045, 0, "p"], - [32046, 0, ","], - [32047, 0, " "], - [32048, 0, "w"], - [32049, 0, "h"], - [32050, 0, "i"], - [32051, 0, "l"], - [32052, 0, "e"], - [32053, 0, " "], - [32054, 0, "`"], - [32055, 0, "`"], - [32056, 0, "r"], - [32057, 0, "e"], - [32058, 0, "d"], - [32059, 0, "'"], - [32060, 0, "'"], - [32061, 0, " "], - [32062, 0, "a"], - [32063, 0, "n"], - [32064, 0, "d"], - [32065, 0, " "], - [32066, 0, "`"], - [32067, 0, "`"], - [32068, 0, "g"], - [32069, 0, "r"], - [32070, 0, "e"], - [32071, 0, "e"], - [32072, 0, "n"], - [32073, 0, "'"], - [32074, 0, "'"], - [32075, 0, " "], - [32076, 0, "m"], - [32077, 0, "u"], - [32078, 0, "s"], - [32079, 0, "t"], - [32080, 0, " "], - [32081, 0, "b"], - [32082, 0, "e"], - [32083, 0, " "], - [32084, 0, "p"], - [32085, 0, "r"], - [32086, 0, "e"], - [32087, 0, "s"], - [32088, 0, "e"], - [32089, 0, "n"], - [32090, 0, "t"], - [32091, 0, " "], - [32091, 1], - [32091, 0, ","], - [32092, 0, " "], - [32093, 0, "s"], - [32094, 0, "i"], - [32095, 0, "n"], - [32096, 0, "c"], - [32097, 0, "e"], - [32098, 0, " "], - [32099, 0, "t"], - [32100, 0, "h"], - [32101, 0, "e"], - [32102, 0, "y"], - [32103, 0, " "], - [32104, 0, "w"], - [32105, 0, "e"], - [32106, 0, "r"], - [32107, 0, "e"], - [32108, 0, " "], - [32109, 0, "e"], - [32110, 0, "x"], - [32111, 0, "p"], - [32112, 0, "l"], - [32113, 0, "i"], - [32114, 0, "c"], - [32115, 0, "i"], - [32116, 0, "t"], - [32117, 0, "l"], - [32118, 0, "y"], - [32119, 0, " "], - [32120, 0, "a"], - [32121, 0, "d"], - [32122, 0, "d"], - [32123, 0, "e"], - [32124, 0, "d"], - [32125, 0, "."], - [32126, 0, " "], - [32127, 0, "T"], - [32128, 0, "h"], - [32129, 0, "i"], - [32130, 0, "s"], - [32131, 0, " "], - [32132, 0, "b"], - [32133, 0, "e"], - [32134, 0, "h"], - [32135, 0, "a"], - [32136, 0, "v"], - [32137, 0, "i"], - [32138, 0, "o"], - [32139, 0, "r"], - [32140, 0, " "], - [32141, 0, "m"], - [32142, 0, "a"], - [32143, 0, "t"], - [32144, 0, "c"], - [32145, 0, "h"], - [32146, 0, "e"], - [32147, 0, "s"], - [32148, 0, " "], - [32149, 0, "t"], - [32150, 0, "h"], - [32151, 0, "a"], - [32152, 0, "t"], - [32153, 0, " "], - [32154, 0, "o"], - [32155, 0, "f"], - [32156, 0, " "], - [32157, 0, "C"], - [32158, 0, "R"], - [32159, 0, "D"], - [32160, 0, "T"], - [32161, 0, " "], - [32162, 0, "m"], - [32163, 0, "a"], - [32164, 0, "p"], - [32165, 0, "s"], - [32166, 0, " "], - [32167, 0, "i"], - [32168, 0, "n"], - [32169, 0, " "], - [32170, 0, "R"], - [32171, 0, "i"], - [32172, 0, "a"], - [32173, 0, "k"], - [32174, 0, "~"], - [32175, 0, "\\"], - [32176, 0, "c"], - [32177, 0, "i"], - [32178, 0, "t"], - [32179, 0, "e"], - [32180, 0, "{"], - [32181, 0, "B"], - [32182, 0, "r"], - [32183, 0, "o"], - [32184, 0, "w"], - [32185, 0, "n"], - [32186, 0, ":"], - [32187, 0, "2"], - [32188, 0, "0"], - [32189, 0, "1"], - [32190, 0, "4"], - [32191, 0, "h"], - [32192, 0, "s"], - [32193, 0, ","], - [32194, 0, "B"], - [32195, 0, "r"], - [32196, 0, "o"], - [32197, 0, "w"], - [32198, 0, "n"], - [32199, 0, ":"], - [32200, 0, "2"], - [32201, 0, "0"], - [32202, 0, "1"], - [32203, 0, "3"], - [32204, 0, "w"], - [32205, 0, "y"], - [32206, 0, "}"], - [32207, 0, "."], - [24284, 1], - [24283, 1], - [24282, 1], - [24281, 1], - [24280, 1], - [24279, 1], - [24278, 1], - [24277, 1], - [24276, 1], - [24275, 1], - [24274, 1], - [24273, 1], - [24272, 1], - [24271, 1], - [24270, 1], - [24269, 1], - [24268, 1], - [24267, 1], - [24266, 1], - [24265, 1], - [24264, 1], - [24263, 1], - [24262, 1], - [24261, 1], - [24260, 1], - [24259, 1], - [24258, 1], - [24257, 1], - [24256, 1], - [24255, 1], - [24254, 1], - [24253, 1], - [24252, 1], - [24251, 1], - [24250, 1], - [24249, 1], - [24248, 1], - [24247, 1], - [24246, 1], - [24245, 1], - [24244, 1], - [24243, 1], - [24242, 1], - [24241, 1], - [24240, 1], - [24239, 1], - [24238, 1], - [24237, 1], - [24236, 1], - [24235, 1], - [24234, 1], - [24233, 1], - [24232, 1], - [24231, 1], - [24230, 1], - [24229, 1], - [24228, 1], - [24227, 1], - [24226, 1], - [24225, 1], - [24224, 1], - [24223, 1], - [24222, 1], - [24221, 1], - [24220, 1], - [24219, 1], - [24218, 1], - [24217, 1], - [24216, 1], - [24215, 1], - [24214, 1], - [24213, 1], - [24212, 1], - [24211, 1], - [24210, 1], - [24209, 1], - [24208, 1], - [24207, 1], - [24206, 1], - [24205, 1], - [24204, 1], - [24203, 1], - [24202, 1], - [24201, 1], - [24200, 1], - [24199, 1], - [24198, 1], - [24197, 1], - [24196, 1], - [24195, 1], - [24194, 1], - [24193, 1], - [24192, 1], - [24191, 1], - [24190, 1], - [24189, 1], - [24188, 1], - [24187, 1], - [24186, 1], - [24185, 1], - [24184, 1], - [24183, 1], - [24182, 1], - [24181, 1], - [24180, 1], - [24179, 1], - [24178, 1], - [24177, 1], - [24176, 1], - [24175, 1], - [24174, 1], - [24173, 1], - [24172, 1], - [24171, 1], - [24170, 1], - [24169, 1], - [24168, 1], - [24167, 1], - [24166, 1], - [24165, 1], - [24164, 1], - [24163, 1], - [24162, 1], - [24161, 1], - [24160, 1], - [24159, 1], - [24158, 1], - [24157, 1], - [24156, 1], - [24155, 1], - [24154, 1], - [24153, 1], - [24152, 1], - [24151, 1], - [24150, 1], - [24149, 1], - [24148, 1], - [24147, 1], - [24146, 1], - [24145, 1], - [24144, 1], - [24143, 1], - [24142, 1], - [24141, 1], - [24140, 1], - [24139, 1], - [24138, 1], - [24137, 1], - [24136, 1], - [24135, 1], - [24134, 1], - [24133, 1], - [24132, 1], - [24131, 1], - [24130, 1], - [24129, 1], - [24128, 1], - [24127, 1], - [24126, 1], - [24125, 1], - [24124, 1], - [24123, 1], - [24122, 1], - [24121, 1], - [24120, 1], - [24119, 1], - [24118, 1], - [24117, 1], - [24116, 1], - [24115, 1], - [24114, 1], - [24113, 1], - [24112, 1], - [24111, 1], - [24110, 1], - [24109, 1], - [24108, 1], - [24107, 1], - [24106, 1], - [24105, 1], - [24104, 1], - [24103, 1], - [24102, 1], - [24101, 1], - [24100, 1], - [24099, 1], - [24098, 1], - [24097, 1], - [24096, 1], - [24095, 1], - [24094, 1], - [24093, 1], - [24092, 1], - [24091, 1], - [24090, 1], - [24089, 1], - [24088, 1], - [24087, 1], - [24086, 1], - [24085, 1], - [24084, 1], - [24083, 1], - [24082, 1], - [24081, 1], - [24080, 1], - [24079, 1], - [24078, 1], - [24077, 1], - [24076, 1], - [24075, 1], - [24074, 1], - [24073, 1], - [24072, 1], - [24071, 1], - [24070, 1], - [24069, 1], - [24068, 1], - [24067, 1], - [24066, 1], - [24065, 1], - [24064, 1], - [24063, 1], - [24062, 1], - [24061, 1], - [24060, 1], - [24059, 1], - [24058, 1], - [24057, 1], - [24056, 1], - [24055, 1], - [24054, 1], - [24053, 1], - [24052, 1], - [24051, 1], - [24050, 1], - [24049, 1], - [24048, 1], - [24047, 1], - [24046, 1], - [24045, 1], - [24044, 1], - [24043, 1], - [24042, 1], - [24041, 1], - [24040, 1], - [24039, 1], - [24038, 1], - [24037, 1], - [24036, 1], - [24035, 1], - [24034, 1], - [24033, 1], - [24032, 1], - [24031, 1], - [24030, 1], - [24029, 1], - [24028, 1], - [24027, 1], - [24026, 1], - [24025, 1], - [24024, 1], - [24023, 1], - [24022, 1], - [24021, 1], - [24020, 1], - [24019, 1], - [24018, 1], - [24017, 1], - [24016, 1], - [24015, 1], - [24014, 1], - [24013, 1], - [24012, 1], - [24011, 1], - [24010, 1], - [24009, 1], - [24008, 1], - [24007, 1], - [24006, 1], - [24005, 1], - [24004, 1], - [24003, 1], - [24002, 1], - [24001, 1], - [24000, 1], - [23999, 1], - [23998, 1], - [23997, 1], - [23996, 1], - [23995, 1], - [23994, 1], - [23993, 1], - [23992, 1], - [23991, 1], - [23990, 1], - [23989, 1], - [23988, 1], - [23987, 1], - [23986, 1], - [23985, 1], - [23984, 1], - [23983, 1], - [23982, 1], - [23981, 1], - [23980, 1], - [23979, 1], - [23978, 1], - [23977, 1], - [23976, 1], - [23975, 1], - [23974, 1], - [23973, 1], - [23972, 1], - [23971, 1], - [23970, 1], - [23969, 1], - [23968, 1], - [23967, 1], - [23966, 1], - [23965, 1], - [23964, 1], - [23963, 1], - [23962, 1], - [23961, 1], - [23960, 1], - [23959, 1], - [23958, 1], - [23957, 1], - [23956, 1], - [23955, 1], - [23954, 1], - [23953, 1], - [23952, 1], - [23951, 1], - [23950, 1], - [23949, 1], - [23948, 1], - [23947, 1], - [23946, 1], - [23945, 1], - [23944, 1], - [23943, 1], - [23942, 1], - [23941, 1], - [23940, 1], - [23939, 1], - [23938, 1], - [23937, 1], - [23936, 1], - [23935, 1], - [23934, 1], - [23933, 1], - [23932, 1], - [23931, 1], - [23930, 1], - [23929, 1], - [23928, 1], - [23927, 1], - [23926, 1], - [23925, 1], - [23924, 1], - [23923, 1], - [23922, 1], - [23921, 1], - [23920, 1], - [23919, 1], - [23918, 1], - [23917, 1], - [23916, 1], - [23915, 1], - [23914, 1], - [23913, 1], - [23912, 1], - [23911, 1], - [23910, 1], - [23909, 1], - [23908, 1], - [23907, 1], - [23906, 1], - [23905, 1], - [23904, 1], - [23903, 1], - [23902, 1], - [23901, 1], - [23900, 1], - [23899, 1], - [23898, 1], - [23897, 1], - [23896, 1], - [23895, 1], - [23894, 1], - [23893, 1], - [23892, 1], - [23891, 1], - [23890, 1], - [23889, 1], - [23888, 1], - [23887, 1], - [23886, 1], - [23885, 1], - [23884, 1], - [23883, 1], - [23882, 1], - [23881, 1], - [23880, 1], - [23879, 1], - [23878, 1], - [23877, 1], - [23876, 1], - [23875, 1], - [23874, 1], - [23873, 1], - [23872, 1], - [23871, 1], - [23870, 1], - [23869, 1], - [23868, 1], - [23867, 1], - [23866, 1], - [23865, 1], - [23864, 1], - [23863, 1], - [23862, 1], - [23861, 1], - [23860, 1], - [23859, 1], - [23858, 1], - [23857, 1], - [23856, 1], - [23855, 1], - [23854, 1], - [23853, 1], - [23852, 1], - [23851, 1], - [23850, 1], - [23849, 1], - [23848, 1], - [23847, 1], - [23846, 1], - [23845, 1], - [23844, 1], - [23843, 1], - [23842, 1], - [23841, 1], - [23840, 1], - [23839, 1], - [23838, 1], - [23837, 1], - [23836, 1], - [23835, 1], - [23834, 1], - [23833, 1], - [23832, 1], - [23831, 1], - [23830, 1], - [23829, 1], - [23828, 1], - [23827, 1], - [23826, 1], - [23825, 1], - [23824, 1], - [23823, 1], - [23822, 1], - [23821, 1], - [23820, 1], - [23819, 1], - [23818, 1], - [23817, 1], - [23816, 1], - [23815, 1], - [23814, 1], - [23813, 1], - [23812, 1], - [23811, 1], - [23810, 1], - [23809, 1], - [23808, 1], - [23807, 1], - [23806, 1], - [23805, 1], - [23804, 1], - [23803, 1], - [23802, 1], - [23801, 1], - [23800, 1], - [23799, 1], - [23798, 1], - [23797, 1], - [23796, 1], - [23795, 1], - [23794, 1], - [23793, 1], - [23792, 1], - [23791, 1], - [23790, 1], - [23789, 1], - [23788, 1], - [23787, 1], - [23786, 1], - [23785, 1], - [23784, 1], - [23783, 1], - [23782, 1], - [23781, 1], - [23780, 1], - [23779, 1], - [23778, 1], - [23777, 1], - [23776, 1], - [23775, 1], - [23774, 1], - [23773, 1], - [23772, 1], - [23771, 1], - [23770, 1], - [23769, 1], - [23768, 1], - [23767, 1], - [23766, 1], - [23765, 1], - [23764, 1], - [23763, 1], - [23762, 1], - [23761, 1], - [23760, 1], - [23759, 1], - [23758, 1], - [23757, 1], - [23756, 1], - [23755, 1], - [23754, 1], - [23753, 1], - [23752, 1], - [23751, 1], - [23750, 1], - [23749, 1], - [23748, 1], - [23747, 1], - [23746, 1], - [23745, 1], - [23744, 1], - [23743, 1], - [23742, 1], - [23741, 1], - [23740, 1], - [23739, 1], - [23738, 1], - [23737, 1], - [23736, 1], - [23735, 1], - [23734, 1], - [23733, 1], - [23732, 1], - [23731, 1], - [23730, 1], - [23729, 1], - [23728, 1], - [23727, 1], - [23726, 1], - [23725, 1], - [23724, 1], - [23723, 1], - [23722, 1], - [23721, 1], - [23720, 1], - [23719, 1], - [23718, 1], - [23717, 1], - [23716, 1], - [23715, 1], - [23714, 1], - [23713, 1], - [23712, 1], - [23711, 1], - [23710, 1], - [23709, 1], - [23708, 1], - [23707, 1], - [23706, 1], - [23705, 1], - [23704, 1], - [23703, 1], - [23702, 1], - [23701, 1], - [23700, 1], - [23699, 1], - [23698, 1], - [23697, 1], - [23696, 1], - [23695, 1], - [23694, 1], - [23693, 1], - [23692, 1], - [23691, 1], - [23690, 1], - [23689, 1], - [23688, 1], - [23687, 1], - [23686, 1], - [23685, 1], - [23684, 1], - [23683, 1], - [23682, 1], - [23681, 1], - [23680, 1], - [23679, 1], - [23678, 1], - [23677, 1], - [23676, 1], - [23675, 1], - [23674, 1], - [23673, 1], - [23672, 1], - [23671, 1], - [23670, 1], - [23669, 1], - [23668, 1], - [23667, 1], - [23666, 1], - [23665, 1], - [23664, 1], - [23663, 1], - [23662, 1], - [23661, 1], - [23660, 1], - [23659, 1], - [23658, 1], - [23657, 1], - [23656, 1], - [23655, 1], - [23654, 1], - [23653, 1], - [23652, 1], - [23651, 1], - [23650, 1], - [23649, 1], - [23648, 1], - [23647, 1], - [23646, 1], - [23645, 1], - [23644, 1], - [23643, 1], - [23642, 1], - [23641, 1], - [23640, 1], - [23639, 1], - [23638, 1], - [23637, 1], - [23636, 1], - [23635, 1], - [23634, 1], - [23633, 1], - [23632, 1], - [23631, 1], - [23630, 1], - [23629, 1], - [23628, 1], - [23627, 1], - [23626, 1], - [23625, 1], - [23624, 1], - [23623, 1], - [23622, 1], - [23621, 1], - [23620, 1], - [23619, 1], - [23618, 1], - [23617, 1], - [23616, 1], - [23615, 1], - [23614, 1], - [23613, 1], - [23612, 1], - [23611, 1], - [23610, 1], - [23609, 1], - [23608, 1], - [23607, 1], - [23606, 1], - [23605, 1], - [23604, 1], - [23603, 1], - [23602, 1], - [23601, 1], - [23600, 1], - [23599, 1], - [23598, 1], - [23597, 1], - [23596, 1], - [23595, 1], - [23594, 1], - [23593, 1], - [23592, 1], - [23591, 1], - [23590, 1], - [23589, 1], - [23588, 1], - [23587, 1], - [23586, 1], - [23585, 1], - [23584, 1], - [23583, 1], - [23582, 1], - [23581, 1], - [23580, 1], - [23579, 1], - [23578, 1], - [23577, 1], - [23576, 1], - [23575, 1], - [23574, 1], - [23573, 1], - [23572, 1], - [23571, 1], - [23570, 1], - [23569, 1], - [23568, 1], - [23567, 1], - [23566, 1], - [23565, 1], - [23564, 1], - [23563, 1], - [23562, 1], - [23561, 1], - [23560, 1], - [23559, 1], - [23558, 1], - [23557, 1], - [23556, 1], - [23555, 1], - [23554, 1], - [23553, 1], - [23552, 1], - [23551, 1], - [23550, 1], - [23549, 1], - [23548, 1], - [23547, 1], - [23546, 1], - [23545, 1], - [23544, 1], - [23543, 1], - [23542, 1], - [23541, 1], - [23540, 1], - [23539, 1], - [23538, 1], - [23537, 1], - [23536, 1], - [23535, 1], - [23534, 1], - [23533, 1], - [23532, 1], - [23531, 1], - [23530, 1], - [23529, 1], - [23528, 1], - [23527, 1], - [23526, 1], - [23525, 1], - [23524, 1], - [23523, 1], - [23522, 1], - [23521, 1], - [23520, 1], - [23519, 1], - [23518, 1], - [23517, 1], - [23516, 1], - [23515, 1], - [23514, 1], - [23513, 1], - [23512, 1], - [23511, 1], - [23510, 1], - [23509, 1], - [23508, 1], - [23507, 1], - [23506, 1], - [23505, 1], - [23504, 1], - [23503, 1], - [23502, 1], - [23501, 1], - [23500, 1], - [23499, 1], - [23498, 1], - [23497, 1], - [23496, 1], - [23495, 1], - [23494, 1], - [23493, 1], - [23492, 1], - [23491, 1], - [23490, 1], - [23489, 1], - [23488, 1], - [23487, 1], - [23486, 1], - [23485, 1], - [23484, 1], - [23483, 1], - [23482, 1], - [23481, 1], - [23480, 1], - [23479, 1], - [23478, 1], - [23477, 1], - [23476, 1], - [23475, 1], - [23474, 1], - [23473, 1], - [23472, 1], - [23471, 1], - [23470, 1], - [23469, 1], - [23468, 1], - [23467, 1], - [23466, 1], - [23465, 1], - [23464, 1], - [23463, 1], - [23462, 1], - [23461, 1], - [23460, 1], - [23459, 1], - [23458, 1], - [23457, 1], - [23456, 1], - [23455, 1], - [23454, 1], - [23453, 1], - [23452, 1], - [23451, 1], - [23450, 1], - [23449, 1], - [23448, 1], - [23447, 1], - [23446, 1], - [23445, 1], - [23444, 1], - [23443, 1], - [23442, 1], - [23441, 1], - [23440, 1], - [23439, 1], - [23438, 1], - [23437, 1], - [23436, 1], - [23435, 1], - [23434, 1], - [23433, 1], - [23432, 1], - [23431, 1], - [23430, 1], - [23429, 1], - [23428, 1], - [23427, 1], - [23426, 1], - [23425, 1], - [23424, 1], - [23423, 1], - [23422, 1], - [23421, 1], - [23420, 1], - [23419, 1], - [23418, 1], - [23417, 1], - [23416, 1], - [23415, 1], - [23414, 1], - [23413, 1], - [23412, 1], - [23411, 1], - [23410, 1], - [23409, 1], - [23408, 1], - [23407, 1], - [23406, 1], - [23405, 1], - [23404, 1], - [23403, 1], - [23402, 1], - [23401, 1], - [23400, 1], - [23399, 1], - [23398, 1], - [23397, 1], - [23396, 1], - [23395, 1], - [23394, 1], - [23393, 1], - [23392, 1], - [23391, 1], - [23390, 1], - [23389, 1], - [23388, 1], - [23387, 1], - [23386, 1], - [23385, 1], - [23384, 1], - [23383, 1], - [23382, 1], - [23381, 1], - [23380, 1], - [23379, 1], - [23378, 1], - [23377, 1], - [23376, 1], - [23375, 1], - [23374, 1], - [23373, 1], - [23372, 1], - [23371, 1], - [23370, 1], - [23369, 1], - [23368, 1], - [23367, 1], - [23366, 1], - [23365, 1], - [23364, 1], - [23363, 1], - [23362, 1], - [23361, 1], - [23360, 1], - [23359, 1], - [23358, 1], - [23357, 1], - [23356, 1], - [23355, 1], - [23354, 1], - [23353, 1], - [23352, 1], - [23351, 1], - [23350, 1], - [23349, 1], - [23348, 1], - [23347, 1], - [23346, 1], - [23345, 1], - [23344, 1], - [23343, 1], - [23342, 1], - [23341, 1], - [23340, 1], - [23339, 1], - [23338, 1], - [23337, 1], - [23336, 1], - [23335, 1], - [23334, 1], - [23333, 1], - [23332, 1], - [23331, 1], - [23330, 1], - [23329, 1], - [23328, 1], - [23327, 1], - [23326, 1], - [23325, 1], - [23324, 1], - [23323, 1], - [23322, 1], - [23321, 1], - [23320, 1], - [23319, 1], - [23318, 1], - [23317, 1], - [23316, 1], - [23315, 1], - [23314, 1], - [23313, 1], - [23312, 1], - [23311, 1], - [23310, 1], - [23309, 1], - [23308, 1], - [23307, 1], - [23306, 1], - [23305, 1], - [23304, 1], - [23303, 1], - [23302, 1], - [23301, 1], - [23300, 1], - [23299, 1], - [23298, 1], - [23297, 1], - [23296, 1], - [23295, 1], - [23294, 1], - [23293, 1], - [23292, 1], - [23291, 1], - [23290, 1], - [23289, 1], - [23288, 1], - [23287, 1], - [23286, 1], - [23285, 1], - [23284, 1], - [23283, 1], - [23282, 1], - [23281, 1], - [23280, 1], - [23279, 1], - [23278, 1], - [23277, 1], - [23276, 1], - [23275, 1], - [23274, 1], - [23273, 1], - [23272, 1], - [23271, 1], - [23270, 1], - [23269, 1], - [23268, 1], - [23267, 1], - [23266, 1], - [23265, 1], - [23264, 1], - [23263, 1], - [23262, 1], - [23261, 1], - [23260, 1], - [23259, 1], - [23258, 1], - [23257, 1], - [23256, 1], - [23255, 1], - [23254, 1], - [23253, 1], - [23252, 1], - [23251, 1], - [23250, 1], - [23249, 1], - [23248, 1], - [23247, 1], - [23246, 1], - [23245, 1], - [23244, 1], - [23243, 1], - [23242, 1], - [23241, 1], - [23240, 1], - [23239, 1], - [23238, 1], - [23237, 1], - [23236, 1], - [23235, 1], - [23234, 1], - [23233, 1], - [23232, 1], - [23231, 1], - [23230, 1], - [23229, 1], - [23228, 1], - [23227, 1], - [23226, 1], - [23225, 1], - [23224, 1], - [23223, 1], - [23222, 1], - [23221, 1], - [23220, 1], - [23219, 1], - [23218, 1], - [23217, 1], - [23216, 1], - [23215, 1], - [23214, 1], - [23213, 1], - [23212, 1], - [23211, 1], - [23210, 1], - [23209, 1], - [23208, 1], - [23207, 1], - [23206, 1], - [23205, 1], - [23204, 1], - [23203, 1], - [23202, 1], - [23201, 1], - [23200, 1], - [23199, 1], - [23198, 1], - [23197, 1], - [23196, 1], - [23195, 1], - [23194, 1], - [23193, 1], - [23192, 1], - [23191, 1], - [23190, 1], - [23189, 1], - [23188, 1], - [23187, 1], - [23186, 1], - [23185, 1], - [23184, 1], - [23183, 1], - [23182, 1], - [23181, 1], - [23180, 1], - [23179, 1], - [23178, 1], - [23177, 1], - [23176, 1], - [23175, 1], - [23174, 1], - [23173, 1], - [23172, 1], - [23171, 1], - [23170, 1], - [23169, 1], - [23168, 1], - [23167, 1], - [23166, 1], - [23165, 1], - [23164, 1], - [23163, 1], - [23162, 1], - [23161, 1], - [23160, 1], - [23159, 1], - [23158, 1], - [23157, 1], - [23156, 1], - [23155, 1], - [23154, 1], - [23153, 1], - [23152, 1], - [23151, 1], - [23150, 1], - [23149, 1], - [23148, 1], - [23147, 1], - [23146, 1], - [23145, 1], - [23144, 1], - [23143, 1], - [23142, 1], - [23141, 1], - [23140, 1], - [23139, 1], - [23138, 1], - [23137, 1], - [23136, 1], - [23135, 1], - [23134, 1], - [23133, 1], - [23132, 1], - [23131, 1], - [23130, 1], - [23129, 1], - [23128, 1], - [23127, 1], - [23126, 1], - [23125, 1], - [23124, 1], - [23123, 1], - [23122, 1], - [23121, 1], - [23120, 1], - [23119, 1], - [23118, 1], - [23117, 1], - [23116, 1], - [23115, 1], - [23114, 1], - [23113, 1], - [23112, 1], - [23111, 1], - [23110, 1], - [23109, 1], - [23108, 1], - [23107, 1], - [23106, 1], - [23105, 1], - [23104, 1], - [23103, 1], - [23102, 1], - [23101, 1], - [23100, 1], - [23099, 1], - [23098, 1], - [23097, 1], - [23096, 1], - [23095, 1], - [23094, 1], - [23093, 1], - [23092, 1], - [23091, 1], - [23090, 1], - [23089, 1], - [23088, 1], - [23087, 1], - [23086, 1], - [23085, 1], - [23084, 1], - [23083, 1], - [23082, 1], - [23081, 1], - [23080, 1], - [23079, 1], - [23078, 1], - [23077, 1], - [23076, 1], - [23075, 1], - [23074, 1], - [23073, 1], - [23072, 1], - [23071, 1], - [23070, 1], - [23069, 1], - [23068, 1], - [23067, 1], - [23066, 1], - [23065, 1], - [23064, 1], - [23063, 1], - [23062, 1], - [23061, 1], - [23060, 1], - [23059, 1], - [23058, 1], - [23057, 1], - [23056, 1], - [23055, 1], - [23054, 1], - [23053, 1], - [23052, 1], - [23051, 1], - [23050, 1], - [23049, 1], - [23048, 1], - [23047, 1], - [23046, 1], - [23045, 1], - [23044, 1], - [23043, 1], - [23042, 1], - [23041, 1], - [23040, 1], - [23039, 1], - [23038, 1], - [23037, 1], - [23036, 1], - [23035, 1], - [23034, 1], - [23033, 1], - [23032, 1], - [23031, 1], - [23030, 1], - [23029, 1], - [23028, 1], - [23027, 1], - [23026, 1], - [23025, 1], - [23024, 1], - [23023, 1], - [23022, 1], - [23021, 1], - [23020, 1], - [23019, 1], - [23018, 1], - [23017, 1], - [23016, 1], - [23015, 1], - [23014, 1], - [23013, 1], - [23012, 1], - [23011, 1], - [23010, 1], - [23009, 1], - [23008, 1], - [23007, 1], - [23006, 1], - [23005, 1], - [23004, 1], - [23003, 1], - [23002, 1], - [23001, 1], - [23000, 1], - [22999, 1], - [22998, 1], - [22997, 1], - [22996, 1], - [22995, 1], - [22994, 1], - [22993, 1], - [22992, 1], - [22991, 1], - [22990, 1], - [22989, 1], - [22988, 1], - [22987, 1], - [22986, 1], - [22985, 1], - [22984, 1], - [22983, 1], - [22982, 1], - [22981, 1], - [22980, 1], - [22979, 1], - [22978, 1], - [22977, 1], - [22976, 1], - [22975, 1], - [22974, 1], - [22973, 1], - [22972, 1], - [22971, 1], - [22970, 1], - [22969, 1], - [22968, 1], - [22967, 1], - [22966, 1], - [22965, 1], - [22964, 1], - [22963, 1], - [22962, 1], - [22961, 1], - [22960, 1], - [22959, 1], - [22958, 1], - [22957, 1], - [22956, 1], - [22955, 1], - [22954, 1], - [22953, 1], - [22952, 1], - [22951, 1], - [22950, 1], - [22949, 1], - [22948, 1], - [22947, 1], - [22946, 1], - [22945, 1], - [22944, 1], - [22943, 1], - [22942, 1], - [22941, 1], - [22940, 1], - [22939, 1], - [22938, 1], - [22937, 1], - [22936, 1], - [22935, 1], - [22934, 1], - [22933, 1], - [22932, 1], - [22931, 1], - [22930, 1], - [22929, 1], - [22928, 1], - [22927, 1], - [22926, 1], - [22925, 1], - [22924, 1], - [22923, 1], - [22922, 1], - [22921, 1], - [22920, 1], - [22919, 1], - [22918, 1], - [22917, 1], - [22916, 1], - [22915, 1], - [22914, 1], - [22913, 1], - [19536, 1], - [19535, 1], - [19534, 1], - [19533, 1], - [19582, 0, ","], - [19583, 0, " "], - [19584, 0, "a"], - [19585, 0, "n"], - [19586, 0, "d"], - [19587, 0, " "], - [19588, 0, "e"], - [19589, 0, "x"], - [19590, 0, "p"], - [19591, 0, "l"], - [19592, 0, "a"], - [19593, 0, "i"], - [19594, 0, "n"], - [19595, 0, " "], - [19596, 0, "t"], - [19597, 0, "h"], - [19598, 0, "e"], - [19599, 0, " "], - [19600, 0, "r"], - [19601, 0, "a"], - [19602, 0, "t"], - [19603, 0, "i"], - [19604, 0, "o"], - [19605, 0, "n"], - [19606, 0, "a"], - [19607, 0, "l"], - [19608, 0, "e"], - [19609, 0, " "], - [19610, 0, "f"], - [19611, 0, "o"], - [19612, 0, "r"], - [19613, 0, " "], - [19614, 0, "o"], - [19615, 0, "u"], - [19616, 0, "r"], - [19617, 0, " "], - [19618, 0, "d"], - [19619, 0, "e"], - [19620, 0, "s"], - [19621, 0, "i"], - [19622, 0, "g"], - [19623, 0, "n"], - [19624, 0, " "], - [19625, 0, "d"], - [19626, 0, "e"], - [19627, 0, "c"], - [19628, 0, "i"], - [19629, 0, "s"], - [19630, 0, "i"], - [19631, 0, "o"], - [19632, 0, "n"], - [19633, 0, "s"], - [30884, 0, "\n"], - [30885, 0, "\n"], - [30886, 0, "F"], - [30887, 0, "i"], - [30888, 0, "g"], - [30889, 0, "u"], - [30890, 0, "r"], - [30891, 0, "e"], - [30892, 0, "~"], - [30893, 0, "\\"], - [30894, 0, "r"], - [30895, 0, "e"], - [30896, 0, "f"], - [30897, 0, "{"], - [30898, 0, "f"], - [30899, 0, "i"], - [30900, 0, "g"], - [30901, 0, ":"], - [30902, 0, "t"], - [30903, 0, "w"], - [30904, 0, "o"], - [30905, 0, "-"], - [30906, 0, "l"], - [30907, 0, "i"], - [30908, 0, "s"], - [30909, 0, "t"], - [30910, 0, "s"], - [30911, 0, "}"], - [30912, 0, " "], - [30913, 0, "i"], - [30914, 0, "l"], - [30915, 0, "l"], - [30916, 0, "u"], - [30917, 0, "s"], - [30918, 0, "t"], - [30919, 0, "r"], - [30920, 0, "a"], - [30921, 0, "t"], - [30922, 0, "e"], - [30923, 0, "s"], - [30924, 0, " "], - [30925, 0, "a"], - [30926, 0, "n"], - [30927, 0, "o"], - [30928, 0, "t"], - [30929, 0, "h"], - [30930, 0, "e"], - [30931, 0, "r"], - [30932, 0, " "], - [30933, 0, "p"], - [30934, 0, "r"], - [30935, 0, "o"], - [30936, 0, "b"], - [30937, 0, "l"], - [30938, 0, "e"], - [30939, 0, "m"], - [30940, 0, " "], - [30941, 0, "w"], - [30942, 0, "i"], - [30943, 0, "t"], - [30944, 0, "h"], - [30945, 0, " "], - [30946, 0, "m"], - [30947, 0, "a"], - [30948, 0, "p"], - [30949, 0, "s"], - [30950, 0, ":"], - [30951, 0, " "], - [30952, 0, "t"], - [30953, 0, "w"], - [30954, 0, "o"], - [30955, 0, " "], - [30956, 0, "r"], - [30957, 0, "e"], - [30958, 0, "p"], - [30959, 0, "l"], - [30960, 0, "i"], - [30961, 0, "c"], - [30962, 0, "a"], - [30963, 0, "s"], - [30964, 0, " "], - [30965, 0, "c"], - [30966, 0, "a"], - [30967, 0, "n"], - [30968, 0, " "], - [30969, 0, "c"], - [30970, 0, "o"], - [30971, 0, "n"], - [30972, 0, "c"], - [30973, 0, "u"], - [30974, 0, "r"], - [30975, 0, "r"], - [30976, 0, "e"], - [30977, 0, "n"], - [30978, 0, "t"], - [30979, 0, "l"], - [30980, 0, "y"], - [30981, 0, " "], - [30982, 0, "i"], - [30983, 0, "n"], - [30984, 0, "s"], - [30985, 0, "e"], - [30986, 0, "r"], - [30987, 0, "t"], - [30988, 0, " "], - [30989, 0, "t"], - [30990, 0, "h"], - [30991, 0, "e"], - [30992, 0, " "], - [30993, 0, "s"], - [30994, 0, "a"], - [30995, 0, "m"], - [30996, 0, "e"], - [30997, 0, " "], - [30998, 0, "m"], - [30999, 0, "a"], - [31000, 0, "p"], - [31001, 0, " "], - [31002, 0, "k"], - [31003, 0, "e"], - [31004, 0, "y"], - [31005, 0, "."], - [31006, 0, " "], - [31007, 0, "H"], - [31008, 0, "e"], - [31009, 0, "r"], - [31010, 0, "e"], - [31011, 0, ","], - [31012, 0, " "], - [31013, 0, "$"], - [31014, 0, "p"], - [31015, 0, "$"], - [31016, 0, " "], - [31017, 0, "a"], - [31018, 0, "n"], - [31019, 0, "d"], - [31020, 0, " "], - [31021, 0, "$"], - [31022, 0, "q"], - [31023, 0, "$"], - [31024, 0, " "], - [31025, 0, "e"], - [31026, 0, "a"], - [31027, 0, "c"], - [31028, 0, "h"], - [31029, 0, " "], - [31030, 0, "i"], - [31031, 0, "n"], - [31032, 0, "d"], - [31033, 0, "e"], - [31034, 0, "p"], - [31035, 0, "e"], - [31036, 0, "n"], - [31037, 0, "d"], - [31038, 0, "e"], - [31039, 0, "n"], - [31040, 0, "t"], - [31041, 0, "l"], - [31042, 0, "y"], - [31043, 0, " "], - [31044, 0, "c"], - [31045, 0, "r"], - [31046, 0, "e"], - [31047, 0, "a"], - [31048, 0, "t"], - [31049, 0, "e"], - [31050, 0, " "], - [31051, 0, "a"], - [31052, 0, " "], - [31053, 0, "n"], - [31054, 0, "e"], - [31055, 0, "w"], - [31056, 0, " "], - [31057, 0, "s"], - [31058, 0, "h"], - [31059, 0, "o"], - [31060, 0, "p"], - [31061, 0, "p"], - [31062, 0, "i"], - [31063, 0, "n"], - [31064, 0, "g"], - [31065, 0, " "], - [31066, 0, "l"], - [31067, 0, "i"], - [31068, 0, "s"], - [31069, 0, "t"], - [31070, 0, " "], - [31071, 0, "u"], - [31072, 0, "n"], - [31073, 0, "d"], - [31074, 0, "e"], - [31075, 0, "r"], - [31076, 0, " "], - [31077, 0, "t"], - [31078, 0, "h"], - [31079, 0, "e"], - [31080, 0, " "], - [31081, 0, "s"], - [31082, 0, "a"], - [31083, 0, "m"], - [31084, 0, "e"], - [31085, 0, " "], - [31086, 0, "m"], - [31087, 0, "a"], - [31088, 0, "p"], - [31089, 0, " "], - [31090, 0, "k"], - [31091, 0, "e"], - [31092, 0, "y"], - [31093, 0, " "], - [31094, 0, "`"], - [31095, 0, "`"], - [31096, 0, "g"], - [31097, 0, "r"], - [31098, 0, "o"], - [31099, 0, "c"], - [31100, 0, "e"], - [31101, 0, "r"], - [31102, 0, "y"], - [31103, 0, "'"], - [31104, 0, "'"], - [31105, 0, ","], - [31106, 0, " "], - [31107, 0, "a"], - [31108, 0, "n"], - [31109, 0, "d"], - [31110, 0, " "], - [31111, 0, "a"], - [31112, 0, "d"], - [31113, 0, "d"], - [31114, 0, " "], - [31115, 0, "i"], - [31116, 0, "t"], - [31117, 0, "e"], - [31118, 0, "m"], - [31119, 0, "s"], - [31120, 0, " "], - [31121, 0, "t"], - [31122, 0, "o"], - [31123, 0, " "], - [31124, 0, "t"], - [31125, 0, "h"], - [31126, 0, "e"], - [31127, 0, " "], - [31128, 0, "l"], - [31129, 0, "i"], - [31130, 0, "s"], - [31131, 0, "t"], - [31132, 0, "."], - [31133, 0, " "], - [31134, 0, "I"], - [31135, 0, "n"], - [31136, 0, " "], - [31137, 0, "t"], - [31138, 0, "h"], - [31139, 0, "e"], - [31140, 0, " "], - [31141, 0, "c"], - [31142, 0, "a"], - [31143, 0, "s"], - [31144, 0, "e"], - [31145, 0, " "], - [31146, 0, "o"], - [31147, 0, "f"], - [31148, 0, " "], - [31149, 0, "F"], - [31150, 0, "i"], - [31151, 0, "g"], - [31152, 0, "u"], - [31153, 0, "r"], - [31154, 0, "e"], - [31155, 0, "~"], - [31156, 0, "\\"], - [31157, 0, "r"], - [31158, 0, "e"], - [31159, 0, "f"], - [31160, 0, "{"], - [31161, 0, "f"], - [31162, 0, "i"], - [31163, 0, "g"], - [31164, 0, ":"], - [31165, 0, "r"], - [31166, 0, "e"], - [31167, 0, "g"], - [31168, 0, "i"], - [31169, 0, "s"], - [31170, 0, "t"], - [31171, 0, "e"], - [31172, 0, "r"], - [31173, 0, "-"], - [31174, 0, "a"], - [31175, 0, "s"], - [31176, 0, "s"], - [31177, 0, "i"], - [31178, 0, "g"], - [31179, 0, "n"], - [31180, 0, "}"], - [31181, 0, ","], - [31182, 0, " "], - [31183, 0, "c"], - [31184, 0, "o"], - [31185, 0, "n"], - [31186, 0, "c"], - [31187, 0, "u"], - [31188, 0, "r"], - [31189, 0, "r"], - [31190, 0, "e"], - [31191, 0, "n"], - [31192, 0, "t"], - [31193, 0, " "], - [31194, 0, "a"], - [31195, 0, "s"], - [31196, 0, "s"], - [31197, 0, "i"], - [31198, 0, "g"], - [31199, 0, "n"], - [31200, 0, "m"], - [31201, 0, "e"], - [31202, 0, "n"], - [31203, 0, "t"], - [31204, 0, "s"], - [31205, 0, " "], - [31206, 0, "t"], - [31207, 0, "o"], - [31208, 0, " "], - [31209, 0, "t"], - [31210, 0, "h"], - [31211, 0, "e"], - [31212, 0, " "], - [31213, 0, "s"], - [31214, 0, "a"], - [31215, 0, "m"], - [31216, 0, "e"], - [31217, 0, " "], - [31218, 0, "m"], - [31219, 0, "a"], - [31220, 0, "p"], - [31221, 0, " "], - [31222, 0, "k"], - [31223, 0, "e"], - [31224, 0, "y"], - [31225, 0, " "], - [31226, 0, "w"], - [31227, 0, "e"], - [31228, 0, "r"], - [31229, 0, "e"], - [31230, 0, " "], - [31231, 0, "l"], - [31232, 0, "e"], - [31233, 0, "f"], - [31234, 0, "t"], - [31235, 0, " "], - [31236, 0, "t"], - [31237, 0, "o"], - [31238, 0, " "], - [31239, 0, "b"], - [31240, 0, "e"], - [31241, 0, " "], - [31242, 0, "r"], - [31243, 0, "e"], - [31244, 0, "s"], - [31245, 0, "o"], - [31246, 0, "l"], - [31247, 0, "v"], - [31248, 0, "e"], - [31249, 0, "d"], - [31250, 0, " "], - [31251, 0, "b"], - [31252, 0, "y"], - [31253, 0, " "], - [31254, 0, "t"], - [31255, 0, "h"], - [31256, 0, "e"], - [31257, 0, " "], - [31258, 0, "a"], - [31259, 0, "p"], - [31260, 0, "p"], - [31261, 0, "l"], - [31262, 0, "i"], - [31263, 0, "c"], - [31264, 0, "a"], - [31265, 0, "t"], - [31266, 0, "i"], - [31267, 0, "o"], - [31268, 0, "n"], - [31269, 0, ","], - [31270, 0, " "], - [31271, 0, "b"], - [31272, 0, "u"], - [31273, 0, "t"], - [31274, 0, " "], - [31275, 0, "i"], - [31276, 0, "n"], - [31277, 0, " "], - [31278, 0, "F"], - [31279, 0, "i"], - [31280, 0, "g"], - [31281, 0, "u"], - [31282, 0, "r"], - [31283, 0, "e"], - [31284, 0, "~"], - [31285, 0, "\\"], - [31286, 0, "r"], - [31287, 0, "e"], - [31288, 0, "f"], - [31289, 0, "{"], - [31290, 0, "f"], - [31291, 0, "i"], - [31292, 0, "g"], - [31293, 0, ":"], - [31294, 0, "t"], - [31295, 0, "w"], - [31296, 0, "o"], - [31297, 0, "-"], - [31298, 0, "l"], - [31299, 0, "i"], - [31300, 0, "s"], - [31301, 0, "t"], - [31302, 0, "s"], - [31303, 0, "}"], - [31304, 0, ","], - [31305, 0, " "], - [31306, 0, "b"], - [31307, 0, "o"], - [31308, 0, "t"], - [31309, 0, "h"], - [31310, 0, " "], - [31311, 0, "v"], - [31312, 0, "a"], - [31313, 0, "l"], - [31314, 0, "u"], - [31315, 0, "e"], - [31316, 0, "s"], - [31317, 0, " "], - [31318, 0, "a"], - [31319, 0, "r"], - [31320, 0, "e"], - [31321, 0, " "], - [31322, 0, "l"], - [31323, 0, "i"], - [31324, 0, "s"], - [31325, 0, "t"], - [31326, 0, "s"], - [31327, 0, " "], - [31328, 0, "a"], - [31329, 0, "n"], - [31330, 0, "d"], - [31331, 0, " "], - [31332, 0, "s"], - [31333, 0, "o"], - [31334, 0, " "], - [31335, 0, "t"], - [31336, 0, "h"], - [31337, 0, "e"], - [31338, 0, "y"], - [31339, 0, " "], - [31340, 0, "c"], - [31341, 0, "a"], - [31342, 0, "n"], - [31343, 0, " "], - [31344, 0, "b"], - [31345, 0, "e"], - [31346, 0, " "], - [31347, 0, "m"], - [31348, 0, "e"], - [31349, 0, "r"], - [31350, 0, "g"], - [31351, 0, "e"], - [31352, 0, "d"], - [31353, 0, " "], - [31354, 0, "a"], - [31355, 0, "u"], - [31356, 0, "t"], - [31357, 0, "o"], - [31358, 0, "m"], - [31359, 0, "a"], - [31360, 0, "t"], - [31361, 0, "i"], - [31362, 0, "c"], - [31363, 0, "a"], - [31364, 0, "l"], - [31365, 0, "l"], - [31366, 0, "y"], - [31367, 0, "."], - [31368, 0, " "], - [31369, 0, "W"], - [31370, 0, "e"], - [31371, 0, " "], - [31372, 0, "p"], - [31373, 0, "r"], - [31374, 0, "e"], - [31375, 0, "s"], - [31376, 0, "e"], - [31377, 0, "r"], - [31378, 0, "v"], - [31379, 0, "e"], - [31380, 0, " "], - [31381, 0, "t"], - [31382, 0, "h"], - [31383, 0, "e"], - [31384, 0, " "], - [31385, 0, "o"], - [31386, 0, "r"], - [31387, 0, "d"], - [31388, 0, "e"], - [31389, 0, "r"], - [31390, 0, "i"], - [31391, 0, "n"], - [31392, 0, "g"], - [31393, 0, " "], - [31394, 0, "a"], - [31395, 0, "n"], - [31396, 0, "d"], - [31397, 0, " "], - [31398, 0, "a"], - [31399, 0, "d"], - [31400, 0, "j"], - [31401, 0, "a"], - [31402, 0, "c"], - [31403, 0, "e"], - [31404, 0, "n"], - [31405, 0, "c"], - [31406, 0, "y"], - [31407, 0, " "], - [31408, 0, "o"], - [31409, 0, "f"], - [31410, 0, " "], - [31411, 0, "i"], - [31412, 0, "t"], - [31413, 0, "e"], - [31414, 0, "m"], - [31415, 0, "s"], - [31416, 0, " "], - [31417, 0, "i"], - [31418, 0, "n"], - [31419, 0, "s"], - [31420, 0, "e"], - [31421, 0, "r"], - [31422, 0, "t"], - [31423, 0, "e"], - [31424, 0, "d"], - [31425, 0, " "], - [31426, 0, "a"], - [31427, 0, "t"], - [31428, 0, " "], - [31429, 0, "e"], - [31430, 0, "a"], - [31431, 0, "c"], - [31432, 0, "h"], - [31433, 0, " "], - [31434, 0, "r"], - [31435, 0, "e"], - [31436, 0, "p"], - [31437, 0, "l"], - [31438, 0, "i"], - [31439, 0, "c"], - [31440, 0, "a"], - [31441, 0, ","], - [31442, 0, " "], - [31443, 0, "s"], - [31444, 0, "o"], - [31445, 0, " "], - [31446, 0, "`"], - [31447, 0, "`"], - [31448, 0, "h"], - [31449, 0, "a"], - [31450, 0, "m"], - [31451, 0, "'"], - [31452, 0, "'"], - [31453, 0, " "], - [31454, 0, "a"], - [31455, 0, "p"], - [31456, 0, "p"], - [31457, 0, "e"], - [31458, 0, "a"], - [31459, 0, "r"], - [31460, 0, "s"], - [31461, 0, " "], - [31462, 0, "a"], - [31463, 0, "f"], - [31464, 0, "t"], - [31465, 0, "e"], - [31466, 0, "r"], - [31467, 0, " "], - [31468, 0, "`"], - [31469, 0, "`"], - [31470, 0, "e"], - [31471, 0, "g"], - [31472, 0, "g"], - [31473, 0, "s"], - [31474, 0, "'"], - [31475, 0, "'"], - [31476, 0, ","], - [31477, 0, " "], - [31478, 0, "a"], - [31479, 0, "n"], - [31480, 0, "d"], - [31481, 0, " "], - [31482, 0, "`"], - [31483, 0, "`"], - [31484, 0, "f"], - [31485, 0, "l"], - [31486, 0, "o"], - [31487, 0, "u"], - [31488, 0, "r"], - [31489, 0, "'"], - [31490, 0, "'"], - [31491, 0, " "], - [31492, 0, "a"], - [31493, 0, "p"], - [31494, 0, "p"], - [31495, 0, "e"], - [31496, 0, "a"], - [31497, 0, "r"], - [31498, 0, "s"], - [31499, 0, " "], - [31500, 0, "a"], - [31501, 0, "f"], - [31502, 0, "t"], - [31503, 0, "e"], - [31504, 0, "r"], - [31505, 0, " "], - [31506, 0, "`"], - [31507, 0, "`"], - [31508, 0, "m"], - [31509, 0, "i"], - [31510, 0, "l"], - [31511, 0, "k"], - [31512, 0, "'"], - [31513, 0, "'"], - [31514, 0, " "], - [31515, 0, "i"], - [31516, 0, "n"], - [31517, 0, " "], - [31518, 0, "t"], - [31519, 0, "h"], - [31520, 0, "e"], - [31521, 0, " "], - [31522, 0, "m"], - [31523, 0, "e"], - [31524, 0, "r"], - [31525, 0, "g"], - [31526, 0, "e"], - [31527, 0, "d"], - [31528, 0, " "], - [31529, 0, "r"], - [31530, 0, "e"], - [31531, 0, "s"], - [31532, 0, "u"], - [31533, 0, "l"], - [31534, 0, "t"], - [31535, 0, "."], - [31536, 0, " "], - [31537, 0, "T"], - [31538, 0, "h"], - [31539, 0, "e"], - [31540, 0, "r"], - [31541, 0, "e"], - [31542, 0, " "], - [31543, 0, "i"], - [31544, 0, "s"], - [31545, 0, " "], - [31546, 0, "n"], - [31547, 0, "o"], - [31548, 0, " "], - [31549, 0, "i"], - [31550, 0, "n"], - [31551, 0, "f"], - [31552, 0, "o"], - [31553, 0, "r"], - [31554, 0, "m"], - [31555, 0, "a"], - [31556, 0, "t"], - [31557, 0, "i"], - [31558, 0, "o"], - [31559, 0, "n"], - [31560, 0, " "], - [31561, 0, "o"], - [31562, 0, "n"], - [31563, 0, " "], - [31564, 0, "w"], - [31565, 0, "h"], - [31566, 0, "i"], - [31567, 0, "c"], - [31568, 0, "h"], - [31569, 0, " "], - [31570, 0, "r"], - [31571, 0, "e"], - [31572, 0, "p"], - [31573, 0, "l"], - [31574, 0, "i"], - [31575, 0, "c"], - [31576, 0, "a"], - [31577, 0, "'"], - [31578, 0, "s"], - [31579, 0, " "], - [31580, 0, "i"], - [31581, 0, "t"], - [31582, 0, "e"], - [31583, 0, "m"], - [31584, 0, "s"], - [31585, 0, " "], - [31586, 0, "s"], - [31587, 0, "h"], - [31588, 0, "o"], - [31589, 0, "u"], - [31590, 0, "l"], - [31591, 0, "d"], - [31592, 0, " "], - [31593, 0, "a"], - [31594, 0, "p"], - [31595, 0, "p"], - [31596, 0, "e"], - [31597, 0, "a"], - [31598, 0, "r"], - [31599, 0, " "], - [31600, 0, "f"], - [31601, 0, "i"], - [31602, 0, "r"], - [31603, 0, "s"], - [31604, 0, "t"], - [31605, 0, " "], - [31606, 0, "i"], - [31607, 0, "n"], - [31608, 0, " "], - [31609, 0, "t"], - [31610, 0, "h"], - [31611, 0, "e"], - [31612, 0, " "], - [31613, 0, "m"], - [31614, 0, "e"], - [31615, 0, "r"], - [31616, 0, "g"], - [31617, 0, "e"], - [31618, 0, "d"], - [31619, 0, " "], - [31620, 0, "r"], - [31621, 0, "e"], - [31622, 0, "s"], - [31623, 0, "u"], - [31624, 0, "l"], - [31625, 0, "t"], - [31626, 0, ","], - [31627, 0, " "], - [31628, 0, "s"], - [31629, 0, "o"], - [31630, 0, " "], - [31631, 0, "t"], - [31632, 0, "h"], - [31633, 0, "e"], - [31634, 0, " "], - [31635, 0, "a"], - [31636, 0, "l"], - [31637, 0, "g"], - [31638, 0, "o"], - [31639, 0, "r"], - [31640, 0, "i"], - [31641, 0, "t"], - [31642, 0, "h"], - [31643, 0, "m"], - [31644, 0, " "], - [31645, 0, "c"], - [31646, 0, "a"], - [31647, 0, "n"], - [31648, 0, " "], - [31649, 0, "m"], - [31650, 0, "a"], - [31651, 0, "k"], - [31652, 0, "e"], - [31653, 0, " "], - [31654, 0, "a"], - [31655, 0, "n"], - [31656, 0, " "], - [31657, 0, "a"], - [31658, 0, "r"], - [31659, 0, "b"], - [31660, 0, "i"], - [31661, 0, "t"], - [31662, 0, "r"], - [31663, 0, "a"], - [31664, 0, "r"], - [31665, 0, "y"], - [31666, 0, " "], - [31667, 0, "c"], - [31668, 0, "h"], - [31669, 0, "o"], - [31670, 0, "i"], - [31671, 0, "c"], - [31672, 0, "e"], - [31673, 0, " "], - [31674, 0, "b"], - [31675, 0, "e"], - [31676, 0, "t"], - [31677, 0, "w"], - [31678, 0, "e"], - [31679, 0, "e"], - [31680, 0, "n"], - [31681, 0, " "], - [31682, 0, "`"], - [31683, 0, "`"], - [31684, 0, "e"], - [31685, 0, "g"], - [31686, 0, "g"], - [31687, 0, "s"], - [31688, 0, ","], - [31689, 0, " "], - [31690, 0, "h"], - [31691, 0, "a"], - [31692, 0, "m"], - [31693, 0, ","], - [31694, 0, " "], - [31695, 0, "m"], - [31696, 0, "i"], - [31697, 0, "l"], - [31698, 0, "k"], - [31699, 0, ","], - [31700, 0, " "], - [31701, 0, "f"], - [31702, 0, "l"], - [31703, 0, "o"], - [31704, 0, "u"], - [31705, 0, "r"], - [31706, 0, "'"], - [31707, 0, "'"], - [31708, 0, " "], - [31709, 0, "a"], - [31710, 0, "n"], - [31711, 0, "d"], - [31712, 0, " "], - [31713, 0, "`"], - [31714, 0, "`"], - [31715, 0, "m"], - [31716, 0, "i"], - [31717, 0, "l"], - [31718, 0, "k"], - [31719, 0, ","], - [31720, 0, " "], - [31721, 0, "f"], - [31722, 0, "l"], - [31723, 0, "o"], - [31724, 0, "u"], - [31725, 0, "r"], - [31726, 0, ","], - [31727, 0, " "], - [31728, 0, "e"], - [31729, 0, "g"], - [31730, 0, "g"], - [31731, 0, "s"], - [31732, 0, ","], - [31733, 0, " "], - [31734, 0, "h"], - [31735, 0, "a"], - [31736, 0, "m"], - [31737, 0, "'"], - [31738, 0, "'"], - [31739, 0, ","], - [31740, 0, " "], - [31741, 0, "p"], - [31742, 0, "r"], - [31743, 0, "o"], - [31744, 0, "v"], - [31745, 0, "i"], - [31746, 0, "d"], - [31747, 0, "e"], - [31748, 0, "d"], - [31749, 0, " "], - [31750, 0, "t"], - [31751, 0, "h"], - [31752, 0, "a"], - [31753, 0, "t"], - [31754, 0, " "], - [31755, 0, "a"], - [31756, 0, "l"], - [31757, 0, "l"], - [31758, 0, " "], - [31759, 0, "r"], - [31760, 0, "e"], - [31761, 0, "p"], - [31762, 0, "l"], - [31763, 0, "i"], - [31764, 0, "c"], - [31765, 0, "a"], - [31766, 0, "s"], - [31767, 0, " "], - [31768, 0, "e"], - [31769, 0, "n"], - [31770, 0, "d"], - [31771, 0, " "], - [31772, 0, "u"], - [31773, 0, "p"], - [31774, 0, " "], - [31775, 0, "w"], - [31776, 0, "i"], - [31777, 0, "t"], - [31778, 0, "h"], - [31779, 0, " "], - [31780, 0, "t"], - [31781, 0, "h"], - [31782, 0, "e"], - [31783, 0, " "], - [31784, 0, "s"], - [31785, 0, "a"], - [31786, 0, "m"], - [31787, 0, "e"], - [31788, 0, " "], - [31789, 0, "o"], - [31790, 0, "r"], - [31791, 0, "d"], - [31792, 0, "e"], - [31793, 0, "r"], - [31794, 0, "."], - [31783, 0, " "], - [31784, 0, "i"], - [31785, 0, "t"], - [31786, 0, "e"], - [31787, 0, "m"], - [31788, 0, "s"], - [31789, 0, " "], - [31790, 0, "i"], - [31791, 0, "n"], - [31792, 0, " "], - [31793, 0, "t"], - [31794, 0, "h"], - [31795, 0, "e"], - [31808, 0, "\n"], - [31809, 0, "\n"], - [31810, 0, "F"], - [31811, 0, "i"], - [31812, 0, "g"], - [31813, 0, "u"], - [31814, 0, "r"], - [31815, 0, "e"], - [31816, 0, "~"], - [31817, 0, "\\"], - [31818, 0, "r"], - [31819, 0, "e"], - [31820, 0, "f"], - [31821, 0, "{"], - [31822, 0, "f"], - [31823, 0, "i"], - [31824, 0, "g"], - [31825, 0, ":"], - [31826, 0, "t"], - [31827, 0, "e"], - [31828, 0, "x"], - [31829, 0, "t"], - [31830, 0, "-"], - [31831, 0, "e"], - [31832, 0, "d"], - [31833, 0, "i"], - [31834, 0, "t"], - [31835, 0, "}"], - [31836, 0, " "], - [31837, 0, "s"], - [31838, 0, "h"], - [31839, 0, "o"], - [31840, 0, "w"], - [31841, 0, "s"], - [31842, 0, " "], - [31843, 0, "h"], - [31844, 0, "o"], - [31845, 0, "w"], - [31846, 0, " "], - [31847, 0, "a"], - [31848, 0, " "], - [31849, 0, "c"], - [31850, 0, "o"], - [31851, 0, "l"], - [31852, 0, "l"], - [31853, 0, "a"], - [31854, 0, "b"], - [31855, 0, "o"], - [31856, 0, "r"], - [31857, 0, "a"], - [31858, 0, "t"], - [31859, 0, "i"], - [31860, 0, "v"], - [31861, 0, "e"], - [31862, 0, " "], - [31863, 0, "t"], - [31864, 0, "e"], - [31865, 0, "x"], - [31866, 0, "t"], - [31867, 0, " "], - [31868, 0, "e"], - [31869, 0, "d"], - [31870, 0, "i"], - [31871, 0, "t"], - [31872, 0, "o"], - [31873, 0, "r"], - [31874, 0, " "], - [31875, 0, "c"], - [31876, 0, "a"], - [31877, 0, "n"], - [31878, 0, " "], - [31879, 0, "b"], - [31880, 0, "e"], - [31881, 0, " "], - [31882, 0, "i"], - [31883, 0, "m"], - [31884, 0, "p"], - [31885, 0, "l"], - [31886, 0, "e"], - [31887, 0, "m"], - [31888, 0, "e"], - [31889, 0, "n"], - [31890, 0, "t"], - [31891, 0, "e"], - [31892, 0, "d"], - [31893, 0, ","], - [31894, 0, " "], - [31895, 0, "u"], - [31896, 0, "s"], - [31897, 0, "i"], - [31898, 0, "n"], - [31899, 0, "g"], - [31900, 0, " "], - [31901, 0, "a"], - [31902, 0, " "], - [31902, 1], - [31901, 1], - [31900, 1], - [31899, 1], - [31898, 1], - [31897, 1], - [31896, 1], - [31895, 1], - [31895, 0, "b"], - [31896, 0, "y"], - [31897, 0, " "], - [31898, 0, "t"], - [31899, 0, "r"], - [31900, 0, "e"], - [31901, 0, "a"], - [31902, 0, "t"], - [31903, 0, "i"], - [31904, 0, "n"], - [31905, 0, "g"], - [31906, 0, " "], - [31907, 0, "t"], - [31908, 0, "h"], - [31909, 0, "e"], - [31910, 0, " "], - [31911, 0, "d"], - [31912, 0, "o"], - [31913, 0, "c"], - [31914, 0, "u"], - [31915, 0, "m"], - [31916, 0, "e"], - [31917, 0, "n"], - [31918, 0, "t"], - [31919, 0, " "], - [31920, 0, "a"], - [31921, 0, "s"], - [31922, 0, " "], - [31923, 0, "a"], - [31924, 0, " "], - [31925, 0, "l"], - [31926, 0, "i"], - [31927, 0, "s"], - [31928, 0, "t"], - [31929, 0, " "], - [31930, 0, "o"], - [31931, 0, "f"], - [31932, 0, " "], - [31933, 0, "c"], - [31934, 0, "h"], - [31935, 0, "a"], - [31936, 0, "r"], - [31937, 0, "a"], - [31938, 0, "c"], - [31939, 0, "t"], - [31940, 0, "e"], - [31941, 0, "r"], - [31942, 0, "s"], - [31943, 0, "."], - [31944, 0, " "], - [31945, 0, "`"], - [31946, 0, "`"], - [31947, 0, "y"], - [31948, 0, "'"], - [31949, 0, "'"], - [31950, 0, " "], - [31951, 0, "i"], - [31952, 0, "s"], - [31953, 0, " "], - [31954, 0, "i"], - [31955, 0, "n"], - [31956, 0, "s"], - [31957, 0, "e"], - [31958, 0, "r"], - [31959, 0, "t"], - [31960, 0, "e"], - [31961, 0, "d"], - [31962, 0, " "], - [31963, 0, "b"], - [31964, 0, "e"], - [31965, 0, "f"], - [31966, 0, "o"], - [31967, 0, "r"], - [31968, 0, "e"], - [31969, 0, " "], - [31970, 0, "`"], - [31971, 0, "`"], - [31972, 0, "a"], - [31973, 0, "'"], - [31974, 0, "'"], - [31975, 0, ","], - [31976, 0, " "], - [31977, 0, "`"], - [31978, 0, "`"], - [31979, 0, "b"], - [31980, 0, "'"], - [31981, 0, "'"], - [31982, 0, " "], - [31983, 0, "i"], - [31984, 0, "s"], - [31985, 0, " "], - [31986, 0, "d"], - [31987, 0, "e"], - [31988, 0, "l"], - [31989, 0, "e"], - [31990, 0, "t"], - [31991, 0, "e"], - [31992, 0, "d"], - [31993, 0, ","], - [31994, 0, " "], - [31995, 0, "a"], - [31996, 0, "n"], - [31997, 0, "d"], - [31998, 0, " "], - [31975, 1], - [31975, 0, ";"], - [31944, 0, " "], - [31945, 0, "A"], - [31946, 0, "l"], - [31947, 0, "l"], - [31948, 0, " "], - [31949, 0, "c"], - [31950, 0, "h"], - [31951, 0, "a"], - [31952, 0, "n"], - [31953, 0, "g"], - [31954, 0, "e"], - [31955, 0, "s"], - [31956, 0, " "], - [31957, 0, "a"], - [31958, 0, "r"], - [31959, 0, "e"], - [31960, 0, " "], - [31961, 0, "p"], - [31962, 0, "r"], - [31963, 0, "e"], - [31964, 0, "s"], - [31965, 0, "e"], - [31966, 0, "r"], - [31967, 0, "v"], - [31968, 0, "e"], - [31969, 0, "d"], - [31970, 0, " "], - [31971, 0, "i"], - [31972, 0, "n"], - [31973, 0, " "], - [31974, 0, "t"], - [31975, 0, "h"], - [31976, 0, "e"], - [31977, 0, " "], - [31978, 0, "m"], - [31979, 0, "e"], - [31980, 0, "r"], - [31981, 0, "g"], - [31982, 0, "e"], - [31983, 0, "d"], - [31984, 0, " "], - [31985, 0, "r"], - [31986, 0, "e"], - [31987, 0, "s"], - [31988, 0, "u"], - [31989, 0, "l"], - [31990, 0, "t"], - [31991, 0, ":"], - [32041, 1], - [32041, 0, ";"], - [32047, 0, "z"], - [32048, 0, "z"], - [32048, 1], - [32047, 1], - [32047, 0, "`"], - [32048, 0, "`"], - [32048, 1], - [32047, 1], - [32046, 1], - [32045, 1], - [32044, 1], - [32043, 1], - [32042, 1], - [32041, 1], - [32024, 0, " "], - [32025, 0, "`"], - [32026, 0, "`"], - [32027, 0, "x"], - [32028, 0, "'"], - [32029, 0, "'"], - [32030, 0, " "], - [32031, 0, "a"], - [32032, 0, "n"], - [32033, 0, "d"], - [32034, 0, " "], - [32035, 0, "`"], - [32036, 0, "`"], - [32037, 0, "z"], - [32038, 0, "'"], - [32039, 0, "'"], - [32040, 0, " "], - [32041, 0, "a"], - [32042, 0, "r"], - [32043, 0, "e"], - [32044, 0, " "], - [32045, 0, "i"], - [32046, 0, "n"], - [32047, 0, "s"], - [32048, 0, "e"], - [32049, 0, "r"], - [32050, 0, "t"], - [32051, 0, "e"], - [32052, 0, "c"], - [32053, 0, " "], - [32053, 1], - [32052, 1], - [32052, 0, "d"], - [32053, 0, " "], - [32054, 0, "b"], - [32055, 0, "e"], - [32056, 0, "t"], - [32057, 0, "w"], - [32058, 0, "e"], - [32059, 0, "e"], - [32060, 0, "n"], - [32061, 0, " "], - [32062, 0, "a"], - [32063, 0, "a"], - [32063, 1], - [32062, 1], - [32062, 0, "`"], - [32063, 0, "`"], - [32064, 0, "a"], - [32065, 0, "'"], - [32066, 0, "'"], - [32067, 0, " "], - [32068, 0, "a"], - [32069, 0, "n"], - [32070, 0, "d"], - [32071, 0, " "], - [32072, 0, "`"], - [32073, 0, "`"], - [32074, 0, "c"], - [32075, 0, "'"], - [32076, 0, "'"], - [32077, 0, ";"], - [32078, 0, " "], - [32079, 0, "a"], - [32080, 0, "n"], - [32081, 0, "d"], - [32099, 0, "."], - [32100, 0, "\n"], - [32101, 0, "\n"], - [32102, 0, "F"], - [32103, 0, "i"], - [32104, 0, "g"], - [32105, 0, "u"], - [32106, 0, "r"], - [32107, 0, "e"], - [32108, 0, "~"], - [32109, 0, "\\"], - [32110, 0, "r"], - [32111, 0, "e"], - [32112, 0, "f"], - [32113, 0, "{"], - [32114, 0, "f"], - [32115, 0, "i"], - [32116, 0, "g"], - [32117, 0, ":"], - [32118, 0, "t"], - [32119, 0, "y"], - [32120, 0, "p"], - [32121, 0, "e"], - [32122, 0, "-"], - [32123, 0, "c"], - [32124, 0, "l"], - [32125, 0, "a"], - [32126, 0, "s"], - [32127, 0, "h"], - [32128, 0, "}"], - [32129, 0, " "], - [32130, 0, "d"], - [32131, 0, "e"], - [32132, 0, "m"], - [32133, 0, "o"], - [32134, 0, "n"], - [32135, 0, "s"], - [32136, 0, "t"], - [32137, 0, "r"], - [32138, 0, "a"], - [32139, 0, "t"], - [32140, 0, "e"], - [32141, 0, "s"], - [32142, 0, " "], - [32143, 0, "a"], - [32144, 0, " "], - [32145, 0, "v"], - [32146, 0, "a"], - [32147, 0, "r"], - [32148, 0, "i"], - [32149, 0, "a"], - [32150, 0, "n"], - [32151, 0, "t"], - [32152, 0, " "], - [32153, 0, "o"], - [32154, 0, "f"], - [32155, 0, " "], - [32156, 0, "t"], - [32157, 0, "h"], - [32158, 0, "e"], - [32159, 0, " "], - [32160, 0, "s"], - [32161, 0, "i"], - [32162, 0, "t"], - [32163, 0, "u"], - [32164, 0, "a"], - [32165, 0, "t"], - [32166, 0, "i"], - [32167, 0, "o"], - [32168, 0, "n"], - [32169, 0, " "], - [32170, 0, "i"], - [32171, 0, "n"], - [32172, 0, " "], - [32173, 0, "F"], - [32174, 0, "i"], - [32175, 0, "g"], - [32176, 0, "u"], - [32177, 0, "r"], - [32178, 0, "e"], - [32179, 0, "~"], - [32180, 0, "\\"], - [32181, 0, "r"], - [32182, 0, "e"], - [32183, 0, "f"], - [32184, 0, "{"], - [32185, 0, "f"], - [32186, 0, "i"], - [32187, 0, "g"], - [32188, 0, ":"], - [32189, 0, "t"], - [32190, 0, "w"], - [32191, 0, "o"], - [32192, 0, "-"], - [32193, 0, "l"], - [32194, 0, "i"], - [32195, 0, "s"], - [32196, 0, "t"], - [32197, 0, "s"], - [32198, 0, "}"], - [32199, 0, ","], - [32200, 0, " "], - [32201, 0, "w"], - [32202, 0, "h"], - [32203, 0, "e"], - [32204, 0, "r"], - [32205, 0, "e"], - [32206, 0, " "], - [32207, 0, "$"], - [32207, 1], - [32207, 0, "t"], - [32208, 0, "w"], - [32209, 0, "o"], - [32210, 0, " "], - [32211, 0, "r"], - [32212, 0, "e"], - [32213, 0, "p"], - [32214, 0, "l"], - [32215, 0, "i"], - [32216, 0, "c"], - [32217, 0, "a"], - [32218, 0, "s"], - [32219, 0, " "], - [32220, 0, "c"], - [32221, 0, "o"], - [32222, 0, "n"], - [32223, 0, "c"], - [32224, 0, "u"], - [32225, 0, "r"], - [32226, 0, "r"], - [32227, 0, "e"], - [32228, 0, "n"], - [32229, 0, "t"], - [32230, 0, "l"], - [32231, 0, "y"], - [32232, 0, " "], - [32233, 0, "i"], - [32234, 0, "n"], - [32235, 0, "s"], - [32236, 0, "e"], - [32237, 0, "r"], - [32238, 0, "t"], - [32239, 0, " "], - [32240, 0, "t"], - [32241, 0, "h"], - [32242, 0, "e"], - [32243, 0, " "], - [32244, 0, "s"], - [32245, 0, "a"], - [32246, 0, "m"], - [32247, 0, "e"], - [32248, 0, " "], - [32249, 0, "m"], - [32250, 0, "a"], - [32251, 0, "p"], - [32252, 0, " "], - [32253, 0, "k"], - [32254, 0, "e"], - [32255, 0, "y"], - [32256, 0, ","], - [32257, 0, " "], - [32258, 0, "b"], - [32259, 0, "u"], - [32260, 0, "t"], - [32261, 0, " "], - [32262, 0, "t"], - [32263, 0, "h"], - [32264, 0, "e"], - [32265, 0, "y"], - [32266, 0, " "], - [32267, 0, "d"], - [32268, 0, "o"], - [32269, 0, " "], - [32270, 0, "s"], - [32271, 0, "o"], - [32272, 0, " "], - [32273, 0, "w"], - [32274, 0, "i"], - [32275, 0, "t"], - [32276, 0, "h"], - [32277, 0, " "], - [32278, 0, "d"], - [32279, 0, "i"], - [32280, 0, "f"], - [32281, 0, "f"], - [32282, 0, "e"], - [32283, 0, "r"], - [32284, 0, "e"], - [32285, 0, "n"], - [32286, 0, "t"], - [32287, 0, " "], - [32288, 0, "d"], - [32289, 0, "a"], - [32290, 0, "t"], - [32291, 0, "a"], - [32292, 0, "t"], - [32293, 0, "y"], - [32294, 0, "p"], - [32295, 0, "e"], - [32296, 0, "s"], - [32297, 0, " "], - [32298, 0, "a"], - [32299, 0, "s"], - [32300, 0, " "], - [32301, 0, "v"], - [32302, 0, "a"], - [32303, 0, "l"], - [32304, 0, "u"], - [32305, 0, "e"], - [32306, 0, "s"], - [32307, 0, ":"], - [32308, 0, " "], - [32309, 0, "$"], - [32310, 0, "q"], - [32310, 1], - [32310, 0, "p"], - [32311, 0, "$"], - [32312, 0, " "], - [32313, 0, "i"], - [32314, 0, "n"], - [32315, 0, "s"], - [32316, 0, "e"], - [32317, 0, "r"], - [32318, 0, "t"], - [32319, 0, "s"], - [32320, 0, " "], - [32321, 0, "a"], - [32322, 0, " "], - [32323, 0, "n"], - [32324, 0, "e"], - [32325, 0, "s"], - [32326, 0, "t"], - [32327, 0, "e"], - [32328, 0, "d"], - [32329, 0, " "], - [32330, 0, "m"], - [32331, 0, "a"], - [32332, 0, "p"], - [32333, 0, ","], - [32334, 0, " "], - [32335, 0, "w"], - [32336, 0, "h"], - [32337, 0, "e"], - [32338, 0, "r"], - [32339, 0, "e"], - [32340, 0, "a"], - [32341, 0, "s"], - [32342, 0, " "], - [32343, 0, "$"], - [32344, 0, "q"], - [32345, 0, "$"], - [32346, 0, " "], - [32347, 0, "i"], - [32348, 0, "n"], - [32349, 0, "s"], - [32350, 0, "e"], - [32351, 0, "r"], - [32352, 0, "t"], - [32353, 0, "s"], - [32354, 0, " "], - [32355, 0, "a"], - [32356, 0, " "], - [32357, 0, "l"], - [32358, 0, "i"], - [32359, 0, "s"], - [32360, 0, "t"], - [32361, 0, "."], - [32362, 0, " "], - [32363, 0, "T"], - [32364, 0, "h"], - [32365, 0, "e"], - [32366, 0, "s"], - [32367, 0, "e"], - [32368, 0, " "], - [32369, 0, "d"], - [32370, 0, "a"], - [32371, 0, "t"], - [32372, 0, "a"], - [32373, 0, "t"], - [32374, 0, "y"], - [32375, 0, "p"], - [32376, 0, "e"], - [32377, 0, "s"], - [32378, 0, " "], - [32379, 0, "c"], - [32380, 0, "a"], - [32381, 0, "n"], - [32382, 0, "n"], - [32383, 0, "o"], - [32384, 0, "t"], - [32385, 0, " "], - [32386, 0, "m"], - [32387, 0, "e"], - [32388, 0, "a"], - [32389, 0, "n"], - [32390, 0, "i"], - [32391, 0, "n"], - [32392, 0, "g"], - [32393, 0, "f"], - [32394, 0, "u"], - [32395, 0, "l"], - [32396, 0, "l"], - [32397, 0, "y"], - [32398, 0, " "], - [32399, 0, "b"], - [32400, 0, "e"], - [32401, 0, " "], - [32402, 0, "m"], - [32403, 0, "e"], - [32404, 0, "r"], - [32405, 0, "g"], - [32406, 0, "e"], - [32407, 0, "d"], - [32408, 0, ","], - [32409, 0, " "], - [32410, 0, "s"], - [32411, 0, "o"], - [32412, 0, " "], - [32413, 0, "w"], - [32414, 0, "e"], - [32415, 0, " "], - [32416, 0, "p"], - [32417, 0, "r"], - [32418, 0, "e"], - [32419, 0, "s"], - [32420, 0, "e"], - [32421, 0, "r"], - [32422, 0, "v"], - [32423, 0, "e"], - [32424, 0, " "], - [32425, 0, "b"], - [32426, 0, "o"], - [32427, 0, "t"], - [32428, 0, "h"], - [32429, 0, " "], - [32430, 0, "v"], - [32431, 0, "a"], - [32432, 0, "l"], - [32433, 0, "u"], - [32434, 0, "e"], - [32435, 0, "s"], - [32436, 0, " "], - [32437, 0, "s"], - [32438, 0, "e"], - [32439, 0, "p"], - [32440, 0, "a"], - [32441, 0, "r"], - [32442, 0, "a"], - [32443, 0, "t"], - [32444, 0, "e"], - [32445, 0, "l"], - [32446, 0, "y"], - [32447, 0, "."], - [32448, 0, " "], - [32449, 0, "W"], - [32450, 0, "e"], - [32451, 0, " "], - [32452, 0, "d"], - [32453, 0, "o"], - [32454, 0, " "], - [32455, 0, "t"], - [32456, 0, "h"], - [32457, 0, "i"], - [32458, 0, "s"], - [32459, 0, " "], - [32460, 0, "b"], - [32461, 0, "y"], - [32462, 0, " "], - [32463, 0, "a"], - [32464, 0, "d"], - [32465, 0, "d"], - [32466, 0, "i"], - [32467, 0, "n"], - [32468, 0, "g"], - [32469, 0, " "], - [32470, 0, "a"], - [32471, 0, " "], - [32472, 0, "t"], - [32473, 0, "y"], - [32474, 0, "p"], - [32475, 0, "e"], - [32476, 0, " "], - [32477, 0, "t"], - [32478, 0, "a"], - [32479, 0, "g"], - [32480, 0, " "], - [32480, 1], - [32479, 1], - [32478, 1], - [32477, 1], - [32476, 1], - [32475, 1], - [32474, 1], - [32473, 1], - [32472, 1], - [32471, 1], - [32470, 1], - [32469, 1], - [32468, 1], - [32467, 1], - [32466, 1], - [32465, 1], - [32464, 1], - [32463, 1], - [32462, 1], - [32462, 0, " "], - [32463, 0, "t"], - [32464, 0, "a"], - [32465, 0, "g"], - [32466, 0, "g"], - [32467, 0, "i"], - [32468, 0, "n"], - [32469, 0, "g"], - [32470, 0, " "], - [32471, 0, "e"], - [32472, 0, "a"], - [32473, 0, "c"], - [32474, 0, "h"], - [32475, 0, " "], - [32476, 0, "m"], - [32477, 0, "a"], - [32478, 0, "p"], - [32479, 0, " "], - [32480, 0, "k"], - [32481, 0, "e"], - [32482, 0, "y"], - [32483, 0, " "], - [32484, 0, "w"], - [32485, 0, "i"], - [32486, 0, "t"], - [32487, 0, "h"], - [32488, 0, " "], - [32489, 0, "a"], - [32490, 0, " "], - [32491, 0, "t"], - [32492, 0, "y"], - [32493, 0, "p"], - [32494, 0, "e"], - [32495, 0, " "], - [32496, 0, "a"], - [32497, 0, "n"], - [32498, 0, "n"], - [32499, 0, "o"], - [32500, 0, "t"], - [32501, 0, "a"], - [32502, 0, "t"], - [32503, 0, "i"], - [32504, 0, "o"], - [32505, 0, "n"], - [32506, 0, " "], - [32507, 0, "("], - [32508, 0, "\\"], - [32509, 0, "t"], - [32510, 0, "e"], - [32511, 0, "x"], - [32512, 0, "t"], - [32513, 0, "s"], - [32514, 0, "f"], - [32515, 0, "{"], - [32516, 0, "m"], - [32517, 0, "a"], - [32518, 0, "p"], - [32519, 0, "T"], - [32520, 0, "}"], - [32521, 0, " "], - [32522, 0, "o"], - [32523, 0, "r"], - [32524, 0, " "], - [32525, 0, "\\"], - [32526, 0, "t"], - [32527, 0, "e"], - [32528, 0, "x"], - [32529, 0, "t"], - [32530, 0, "s"], - [32531, 0, "f"], - [32532, 0, "{"], - [32533, 0, "r"], - [32534, 0, "e"], - [32534, 1], - [32533, 1], - [32533, 0, "l"], - [32534, 0, "i"], - [32535, 0, "s"], - [32536, 0, "t"], - [32537, 0, "T"], - [32538, 0, "}"], - [32523, 1], - [32522, 1], - [32521, 1], - [32521, 0, ","], - [32537, 0, ","], - [32538, 0, " "], - [32539, 0, "o"], - [32540, 0, "r"], - [32541, 0, " "], - [32542, 0, "\\"], - [32543, 0, "t"], - [32544, 0, "e"], - [32545, 0, "x"], - [32546, 0, "t"], - [32547, 0, "s"], - [32548, 0, "f"], - [32549, 0, "{"], - [32550, 0, "r"], - [32551, 0, "e"], - [32552, 0, "g"], - [32553, 0, "T"], - [32554, 0, "}"], - [32555, 0, " "], - [32556, 0, "f"], - [32557, 0, "o"], - [32558, 0, "r"], - [32559, 0, " "], - [32560, 0, "a"], - [32561, 0, " "], - [32562, 0, "m"], - [32563, 0, "a"], - [32564, 0, "p"], - [32565, 0, ","], - [32566, 0, " "], - [32567, 0, "l"], - [32568, 0, "i"], - [32569, 0, "s"], - [32570, 0, "t"], - [32571, 0, ","], - [32572, 0, " "], - [32573, 0, "o"], - [32574, 0, "r"], - [32575, 0, " "], - [32576, 0, "r"], - [32577, 0, "e"], - [32578, 0, "g"], - [32579, 0, "i"], - [32580, 0, "s"], - [32581, 0, "t"], - [32582, 0, "e"], - [32583, 0, "r"], - [32584, 0, " "], - [32585, 0, "v"], - [32586, 0, "a"], - [32587, 0, "l"], - [32588, 0, "u"], - [32589, 0, "e"], - [32590, 0, " "], - [32591, 0, "r"], - [32592, 0, "e"], - [32593, 0, "s"], - [32594, 0, "p"], - [32595, 0, "e"], - [32596, 0, "c"], - [32597, 0, "t"], - [32598, 0, "i"], - [32599, 0, "v"], - [32600, 0, "e"], - [32601, 0, "l"], - [32602, 0, "y"], - [32603, 0, ")"], - [32604, 0, ","], - [32605, 0, " "], - [32606, 0, "s"], - [32607, 0, "o"], - [32608, 0, " "], - [32609, 0, "e"], - [32610, 0, "a"], - [32611, 0, "c"], - [32612, 0, "h"], - [32613, 0, " "], - [32614, 0, "t"], - [32615, 0, "y"], - [32616, 0, "p"], - [32617, 0, "e"], - [32618, 0, " "], - [32619, 0, "i"], - [32620, 0, "n"], - [32621, 0, "h"], - [32622, 0, "a"], - [32623, 0, "b"], - [32624, 0, "i"], - [32625, 0, "t"], - [32626, 0, "s"], - [32627, 0, " "], - [32628, 0, "a"], - [32629, 0, " "], - [32630, 0, "s"], - [32631, 0, "e"], - [32632, 0, "p"], - [32633, 0, "a"], - [32634, 0, "r"], - [32635, 0, "a"], - [32636, 0, "t"], - [32637, 0, "e"], - [32638, 0, " "], - [32639, 0, "n"], - [32640, 0, "a"], - [32641, 0, "m"], - [32642, 0, "e"], - [32643, 0, "s"], - [32644, 0, "p"], - [32645, 0, "a"], - [32646, 0, "c"], - [32647, 0, "e"], - [32648, 0, "."], - [32649, 0, " "], - [32650, 0, "T"], - [32651, 0, "h"], - [32652, 0, "e"], - [32653, 0, " "], - [32654, 0, "a"], - [32655, 0, "p"], - [32656, 0, "p"], - [32656, 1], - [32655, 1], - [32654, 1], - [32653, 1], - [32652, 1], - [32651, 1], - [32650, 1], - [32649, 1], - [34419, 0, "s"], - [34430, 0, "s"], - [34451, 0, " "], - [34452, 0, "a"], - [34453, 0, "n"], - [34454, 0, "d"], - [34455, 0, "~"], - [34456, 0, "\\"], - [34457, 0, "r"], - [34458, 0, "e"], - [34459, 0, "f"], - [34460, 0, "{"], - [34461, 0, "f"], - [34462, 0, "i"], - [34463, 0, "g"], - [34464, 0, ":"], - [34465, 0, "t"], - [34466, 0, "y"], - [34467, 0, "p"], - [34468, 0, "e"], - [34469, 0, "-"], - [34470, 0, "c"], - [34471, 0, "l"], - [34472, 0, "a"], - [34473, 0, "s"], - [34474, 0, "h"], - [34475, 0, "}"], - [34419, 1], - [34418, 1], - [34417, 1], - [34416, 1], - [34415, 1], - [34414, 1], - [34413, 1], - [34412, 1], - [34412, 0, "s"], - [34413, 0, "c"], - [34414, 0, "e"], - [34415, 0, "n"], - [34416, 0, "a"], - [34417, 0, "r"], - [34418, 0, "i"], - [34419, 0, "o"], - [34420, 0, "s"], - [38114, 1], - [38113, 1], - [38112, 1], - [38111, 1], - [38110, 1], - [38109, 1], - [38108, 1], - [38107, 1], - [38106, 1], - [38105, 1], - [38122, 1], - [38122, 0, "."], - [38123, 0, "g"], - [38124, 0, "e"], - [38125, 0, "t"], - [38126, 0, "("], - [38150, 1], - [38150, 0, ")"], - [38180, 0, " "], - [38181, 0, "a"], - [38182, 0, "n"], - [38183, 0, "d"], - [38184, 0, " "], - [38184, 1], - [38196, 1], - [38195, 1], - [38194, 1], - [38193, 1], - [38193, 0, "."], - [38194, 0, "i"], - [38195, 0, "d"], - [38196, 0, "x"], - [38197, 0, "("], - [38199, 0, "$"], - [38200, 0, "\\"], - [38201, 0, "m"], - [38202, 0, "a"], - [38203, 0, "t"], - [38204, 0, "h"], - [38205, 0, "i"], - [38206, 0, "t"], - [38207, 0, "{"], - [38208, 0, "n"], - [38209, 0, "}"], - [38209, 1], - [38208, 1], - [38207, 1], - [38206, 1], - [38205, 1], - [38204, 1], - [38203, 1], - [38202, 1], - [38201, 1], - [38200, 1], - [38200, 0, "n"], - [38201, 0, "$"], - [38202, 0, "\\"], - [38203, 0, "t"], - [38204, 0, "e"], - [38205, 0, "x"], - [38206, 0, "t"], - [38207, 0, "t"], - [38208, 0, "t"], - [38209, 0, "{"], - [38210, 0, ")"], - [38211, 0, "}"], - [38212, 0, " "], - [38213, 0, "s"], - [38214, 0, "l"], - [38214, 1], - [38214, 0, "e"], - [38215, 0, "e"], - [38215, 1], - [38215, 0, "l"], - [38216, 0, "e"], - [38217, 0, "c"], - [38218, 0, "t"], - [38219, 0, "s"], - [38220, 0, " "], - [38221, 0, "t"], - [38222, 0, "h"], - [38223, 0, "e"], - [38224, 0, " "], - [38225, 0, "$"], - [38226, 0, "n"], - [38227, 0, "$"], - [38228, 0, "t"], - [38229, 0, "h"], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38231, 1], - [38258, 0, " "], - [38259, 0, "L"], - [38260, 0, "i"], - [38261, 0, "s"], - [38262, 0, "t"], - [38263, 0, "s"], - [38264, 0, " "], - [38265, 0, "a"], - [38266, 0, "r"], - [38267, 0, "e"], - [38268, 0, " "], - [38269, 0, "i"], - [38270, 0, "n"], - [38271, 0, "d"], - [38272, 0, "e"], - [38273, 0, "x"], - [38274, 0, "e"], - [38275, 0, "d"], - [38276, 0, " "], - [38277, 0, "s"], - [38278, 0, "t"], - [38279, 0, "a"], - [38280, 0, "r"], - [38281, 0, "t"], - [38282, 0, "i"], - [38283, 0, "n"], - [38284, 0, "g"], - [38285, 0, " "], - [38286, 0, "f"], - [38287, 0, "r"], - [38288, 0, "o"], - [38289, 0, "m"], - [38290, 0, " "], - [38291, 0, "1"], - [38292, 0, ","], - [38293, 0, " "], - [38294, 0, "a"], - [38295, 0, "n"], - [38296, 0, "d"], - [38297, 0, " "], - [38298, 0, "\\"], - [38299, 0, "t"], - [38300, 0, "e"], - [38301, 0, "x"], - [38302, 0, "t"], - [38303, 0, "t"], - [38304, 0, "t"], - [38305, 0, "{"], - [38306, 0, "."], - [38307, 0, "i"], - [38308, 0, "d"], - [38309, 0, "x"], - [38310, 0, "("], - [38311, 0, "0"], - [38312, 0, ")"], - [38313, 0, "}"], - [38314, 0, " "], - [38315, 0, "i"], - [38316, 0, "s"], - [38317, 0, " "], - [38318, 0, "a"], - [38319, 0, " "], - [38320, 0, "s"], - [38321, 0, "p"], - [38322, 0, "e"], - [38323, 0, "c"], - [38324, 0, "i"], - [38325, 0, "a"], - [38326, 0, "l"], - [38327, 0, " "], - [38328, 0, "c"], - [38329, 0, "u"], - [38330, 0, "r"], - [38331, 0, "s"], - [38332, 0, "o"], - [38333, 0, "r"], - [38334, 0, " "], - [38335, 0, "i"], - [38336, 0, "n"], - [38337, 0, "d"], - [38338, 0, "i"], - [38339, 0, "c"], - [38340, 0, "a"], - [38341, 0, "t"], - [38342, 0, "i"], - [38343, 0, "n"], - [38344, 0, "g"], - [38345, 0, " "], - [38346, 0, "t"], - [38347, 0, "h"], - [38348, 0, "e"], - [38349, 0, " "], - [38350, 0, "h"], - [38351, 0, "e"], - [38352, 0, "a"], - [38353, 0, "d"], - [38354, 0, " "], - [38355, 0, "o"], - [38356, 0, "f"], - [38357, 0, " "], - [38358, 0, "a"], - [38359, 0, " "], - [38360, 0, "l"], - [38361, 0, "i"], - [38362, 0, "s"], - [38363, 0, "t"], - [38364, 0, "."], - [38984, 0, " "], - [38985, 0, "p"], - [38986, 0, "l"], - [38987, 0, "a"], - [38988, 0, "c"], - [38989, 0, "e"], - [38990, 0, "s"], - [38991, 0, " "], - [38992, 0, "a"], - [38993, 0, " "], - [38994, 0, "n"], - [38995, 0, "e"], - [38996, 0, "w"], - [38997, 0, " "], - [38998, 0, "e"], - [38999, 0, "l"], - [39000, 0, "e"], - [39001, 0, "m"], - [39002, 0, "e"], - [39003, 0, "n"], - [39004, 0, "t"], - [39005, 0, " "], - [39006, 0, "a"], - [39007, 0, "f"], - [39008, 0, "t"], - [39009, 0, "e"], - [39010, 0, "r"], - [39011, 0, " "], - [39012, 0, "t"], - [39013, 0, "h"], - [39014, 0, "e"], - [39015, 0, " "], - [39016, 0, "p"], - [39017, 0, "o"], - [39018, 0, "s"], - [39019, 0, "i"], - [39020, 0, "t"], - [39021, 0, "i"], - [39022, 0, "o"], - [39023, 0, "n"], - [39024, 0, " "], - [39025, 0, "i"], - [39026, 0, "d"], - [39027, 0, "e"], - [39028, 0, "n"], - [39029, 0, "t"], - [39030, 0, "i"], - [39031, 0, "f"], - [39032, 0, "i"], - [39033, 0, "e"], - [39034, 0, "d"], - [39035, 0, " "], - [39036, 0, "b"], - [39037, 0, "y"], - [39038, 0, " "], - [39039, 0, "t"], - [39040, 0, "h"], - [39041, 0, "e"], - [39042, 0, " "], - [39043, 0, "c"], - [39044, 0, "u"], - [39045, 0, "r"], - [39046, 0, "s"], - [39047, 0, "o"], - [39048, 0, "r"], - [39049, 0, ","], - [39050, 0, " "], - [39051, 0, "a"], - [39052, 0, "n"], - [39053, 0, "d"], - [39054, 0, " "], - [39055, 0, "\\"], - [39056, 0, "t"], - [39057, 0, "e"], - [39058, 0, "x"], - [39059, 0, "t"], - [39060, 0, "t"], - [39061, 0, "t"], - [39062, 0, "{"], - [39063, 0, "."], - [39064, 0, "i"], - [39065, 0, "d"], - [39066, 0, "x"], - [39067, 0, "("], - [39068, 0, "0"], - [39069, 0, ")"], - [39070, 0, "."], - [39071, 0, "i"], - [39072, 0, "n"], - [39073, 0, "s"], - [39074, 0, "e"], - [39075, 0, "r"], - [39076, 0, "t"], - [39077, 0, "}"], - [39078, 0, " "], - [39079, 0, "i"], - [39080, 0, "n"], - [39081, 0, "s"], - [39082, 0, "e"], - [39083, 0, "r"], - [39084, 0, "t"], - [39085, 0, "s"], - [39086, 0, " "], - [39087, 0, "a"], - [39088, 0, "t"], - [39089, 0, " "], - [39090, 0, "t"], - [39091, 0, "h"], - [39092, 0, "e"], - [39093, 0, " "], - [39094, 0, "h"], - [39095, 0, "e"], - [39096, 0, "a"], - [39097, 0, "d"], - [39098, 0, " "], - [39099, 0, "o"], - [39100, 0, "f"], - [39101, 0, " "], - [39102, 0, "a"], - [39103, 0, " "], - [39104, 0, "l"], - [39105, 0, "i"], - [39106, 0, "s"], - [39107, 0, "t"], - [39174, 0, " "], - [39175, 0, "r"], - [39176, 0, "e"], - [39177, 0, "m"], - [39178, 0, "o"], - [39179, 0, "v"], - [39180, 0, "e"], - [39181, 0, "s"], - [39182, 0, " "], - [39183, 0, "t"], - [39184, 0, "h"], - [39185, 0, "e"], - [39186, 0, " "], - [39187, 0, "i"], - [39188, 0, "t"], - [39189, 0, "e"], - [39189, 1], - [39188, 1], - [39187, 1], - [39187, 0, "e"], - [39188, 0, "l"], - [39189, 0, "e"], - [39190, 0, "m"], - [39191, 0, "e"], - [39192, 0, "n"], - [39193, 0, "t"], - [39194, 0, " "], - [39195, 0, "i"], - [39196, 0, "d"], - [39197, 0, "e"], - [39198, 0, "n"], - [39199, 0, "t"], - [39200, 0, "i"], - [39201, 0, "f"], - [39202, 0, "i"], - [39203, 0, "e"], - [39204, 0, "d"], - [39205, 0, " "], - [39206, 0, "b"], - [39207, 0, "y"], - [39208, 0, " "], - [39209, 0, "t"], - [39210, 0, "h"], - [39211, 0, "e"], - [39212, 0, " "], - [39213, 0, "c"], - [39214, 0, "u"], - [39215, 0, "r"], - [39216, 0, "s"], - [39217, 0, "o"], - [39218, 0, "r"], - [38893, 1], - [38892, 1], - [38891, 1], - [38890, 1], - [38889, 1], - [38888, 1], - [38902, 1], - [38901, 1], - [38900, 1], - [38899, 1], - [38898, 1], - [38897, 1], - [38896, 1], - [38895, 1], - [38894, 1], - [38893, 1], - [38892, 1], - [38912, 0, " "], - [38913, 0, "s"], - [38914, 0, "e"], - [38915, 0, "t"], - [38916, 0, "s"], - [38917, 0, " "], - [38918, 0, "t"], - [38919, 0, "h"], - [38920, 0, "e"], - [38921, 0, " "], - [38922, 0, "v"], - [38923, 0, "a"], - [38924, 0, "l"], - [38925, 0, "u"], - [38926, 0, "e"], - [38927, 0, " "], - [38928, 0, "o"], - [38929, 0, "f"], - [38930, 0, " "], - [38931, 0, "t"], - [38932, 0, "h"], - [38933, 0, "e"], - [38934, 0, " "], - [38935, 0, "r"], - [38936, 0, "e"], - [38937, 0, "g"], - [38938, 0, "i"], - [38939, 0, "s"], - [38940, 0, "t"], - [38941, 0, "e"], - [38942, 0, "r"], - [38943, 0, " "], - [38944, 0, "i"], - [38945, 0, "d"], - [38946, 0, "e"], - [38947, 0, "n"], - [38948, 0, "t"], - [38949, 0, "i"], - [38950, 0, "f"], - [38951, 0, "i"], - [38952, 0, "e"], - [38953, 0, "d"], - [38954, 0, " "], - [38955, 0, "b"], - [38956, 0, "y"], - [38957, 0, " "], - [38958, 0, "t"], - [38959, 0, "h"], - [38960, 0, "e"], - [38961, 0, " "], - [38962, 0, "c"], - [38963, 0, "u"], - [38964, 0, "r"], - [38965, 0, "s"], - [38966, 0, "o"], - [38967, 0, "r"], - [38874, 1], - [38873, 1], - [38872, 1], - [38871, 1], - [38870, 1], - [38869, 1], - [38868, 1], - [38867, 1], - [38866, 1], - [38865, 1], - [38864, 1], - [38863, 1], - [38862, 1], - [38861, 1], - [38860, 1], - [38859, 1], - [38858, 1], - [38857, 1], - [38856, 1], - [38855, 1], - [38854, 1], - [38853, 1], - [38853, 0, "w"], - [38854, 0, "r"], - [38855, 0, "i"], - [38856, 0, "t"], - [38857, 0, "i"], - [38858, 0, "n"], - [38859, 0, "g"], - [38860, 0, " "], - [38861, 0, "t"], - [38862, 0, "o"], - [38904, 1], - [38903, 1], - [38902, 1], - [38901, 1], - [38901, 0, "a"], - [38902, 0, "s"], - [38903, 0, "s"], - [38904, 0, "i"], - [38905, 0, "g"], - [38906, 0, "n"], - [38907, 0, "s"], - [39036, 0, "\\"], - [39037, 0, "e"], - [39038, 0, "m"], - [39039, 0, "p"], - [39040, 0, "h"], - [39041, 0, "{"], - [39047, 0, "}"], - [39060, 1], - [39059, 1], - [39058, 1], - [39057, 1], - [39056, 1], - [39055, 1], - [39054, 1], - [39053, 1], - [39053, 0, "e"], - [39054, 0, "x"], - [39055, 0, "i"], - [39056, 0, "s"], - [39057, 0, "t"], - [39058, 0, "i"], - [39059, 0, "n"], - [39060, 0, "g"], - [39061, 0, " "], - [39062, 0, "l"], - [39063, 0, "i"], - [39064, 0, "s"], - [39065, 0, "t"], - [39066, 0, " "], - [39067, 0, "e"], - [39068, 0, "l"], - [39069, 0, "e"], - [39070, 0, "m"], - [39071, 0, "e"], - [39072, 0, "n"], - [39073, 0, "t"], - [39051, 1], - [39050, 1], - [39049, 1], - [39049, 0, "a"], - [39050, 0, "n"], - [39375, 1], - [39374, 1], - [39373, 1], - [39372, 1], - [39371, 1], - [39370, 1], - [39369, 1], - [39368, 1], - [39367, 1], - [39366, 1], - [39365, 1], - [39364, 1], - [39363, 1], - [39362, 1], - [39361, 1], - [39360, 1], - [39359, 1], - [39358, 1], - [39357, 1], - [39356, 1], - [39355, 1], - [39354, 1], - [39353, 1], - [39352, 1], - [39351, 1], - [39350, 1], - [39349, 1], - [39348, 1], - [39347, 1], - [39346, 1], - [39345, 1], - [39344, 1], - [39343, 1], - [39342, 1], - [39341, 1], - [39340, 1], - [39339, 1], - [39338, 1], - [39337, 1], - [39336, 1], - [39335, 1], - [39334, 1], - [39333, 1], - [39332, 1], - [39331, 1], - [39330, 1], - [39329, 1], - [39328, 1], - [39327, 1], - [39326, 1], - [39325, 1], - [39324, 1], - [39323, 1], - [39322, 1], - [39321, 1], - [39320, 1], - [39319, 1], - [39318, 1], - [39317, 1], - [39316, 1], - [39315, 1], - [39314, 1], - [39313, 1], - [39312, 1], - [39311, 1], - [39310, 1], - [39309, 1], - [39308, 1], - [39307, 1], - [39306, 1], - [39305, 1], - [39304, 1], - [39303, 1], - [39302, 1], - [39301, 1], - [39300, 1], - [39299, 1], - [39298, 1], - [39297, 1], - [39296, 1], - [39295, 1], - [39294, 1], - [39293, 1], - [39292, 1], - [39291, 1], - [39290, 1], - [39289, 1], - [39288, 1], - [39287, 1], - [39286, 1], - [39285, 1], - [39284, 1], - [39283, 1], - [39282, 1], - [39281, 1], - [39280, 1], - [39279, 1], - [39278, 1], - [39277, 1], - [39276, 1], - [39275, 1], - [39274, 1], - [39273, 1], - [39272, 1], - [39271, 1], - [39270, 1], - [39458, 0, ","], - [39459, 0, " "], - [39460, 0, "a"], - [39461, 0, "n"], - [39462, 0, "d"], - [39463, 0, " "], - [39464, 0, "t"], - [39465, 0, "h"], - [39466, 0, "e"], - [39467, 0, "n"], - [39468, 0, " "], - [39469, 0, "t"], - [39470, 0, "h"], - [39471, 0, "e"], - [39472, 0, " "], - [39473, 0, "k"], - [39474, 0, "e"], - [39475, 0, "y"], - [39476, 0, " "], - [39477, 0, "`"], - [39478, 0, "`"], - [39479, 0, "h"], - [39479, 1], - [39478, 1], - [39477, 1], - [39477, 0, "\\"], - [39478, 0, "t"], - [39479, 0, "e"], - [39480, 0, "x"], - [39481, 0, "t"], - [39482, 0, "t"], - [39483, 0, "t"], - [39484, 0, "{"], - [39485, 0, "\""], - [39486, 0, "s"], - [39487, 0, "h"], - [39488, 0, "o"], - [39489, 0, "p"], - [39490, 0, "p"], - [39491, 0, "i"], - [39492, 0, "n"], - [39493, 0, "g"], - [39494, 0, "\""], - [39495, 0, "}"], - [39495, 1], - [39495, 0, "|"], - [39484, 1], - [39483, 1], - [39482, 1], - [39481, 1], - [39480, 1], - [39479, 1], - [39478, 1], - [39478, 0, "v"], - [39479, 0, "e"], - [39480, 0, "r"], - [39481, 0, "b"], - [39482, 0, "|"], - [39494, 0, " "], - [39495, 0, "w"], - [39496, 0, "i"], - [39497, 0, "t"], - [39498, 0, "h"], - [39499, 0, "i"], - [39500, 0, "n"], - [39501, 0, " "], - [39502, 0, "t"], - [39503, 0, "h"], - [39504, 0, "a"], - [39505, 0, "t"], - [39506, 0, " "], - [39507, 0, "m"], - [39508, 0, "a"], - [39509, 0, "p"], - [39510, 0, " "], - [39511, 0, "i"], - [39512, 0, "s"], - [39513, 0, " "], - [39514, 0, "s"], - [39515, 0, "e"], - [39516, 0, "t"], - [39517, 0, " "], - [39518, 0, "t"], - [39519, 0, "o"], - [39520, 0, " "], - [39521, 0, "t"], - [39522, 0, "h"], - [39523, 0, "e"], - [39524, 0, " "], - [39525, 0, "e"], - [39526, 0, "m"], - [39527, 0, "p"], - [39528, 0, "t"], - [39529, 0, "y"], - [39530, 0, " "], - [39531, 0, "l"], - [39532, 0, "i"], - [39533, 0, "s"], - [39534, 0, "t"], - [39535, 0, " "], - [39536, 0, "\\"], - [39537, 0, "v"], - [39538, 0, "e"], - [39539, 0, "r"], - [39540, 0, "b"], - [39541, 0, "|"], - [39542, 0, "["], - [39543, 0, "]"], - [39544, 0, "|"], - [39556, 1], - [39555, 1], - [39554, 1], - [39553, 1], - [39552, 1], - [39551, 1], - [39551, 0, "t"], - [39552, 0, "h"], - [39553, 0, "i"], - [39554, 0, "r"], - [39555, 0, "d"], - [39590, 1], - [39589, 1], - [39588, 1], - [39587, 1], - [39586, 1], - [39585, 1], - [39584, 1], - [39584, 0, "v"], - [39585, 0, "e"], - [39586, 0, "r"], - [39587, 0, "b"], - [39588, 0, "|"], - [39599, 1], - [39599, 0, "|"], - [39673, 1], - [39672, 1], - [39671, 1], - [39670, 1], - [39669, 1], - [39668, 1], - [39667, 1], - [39666, 1], - [39665, 1], - [39664, 1], - [39663, 1], - [39662, 1], - [39661, 1], - [39660, 1], - [39659, 1], - [39658, 1], - [39657, 1], - [39656, 1], - [39655, 1], - [39654, 1], - [39653, 1], - [39652, 1], - [39651, 1], - [39650, 1], - [39649, 1], - [39648, 1], - [39647, 1], - [39646, 1], - [39645, 1], - [39644, 1], - [39643, 1], - [39642, 1], - [39641, 1], - [39640, 1], - [39639, 1], - [39638, 1], - [39637, 1], - [39636, 1], - [39635, 1], - [39634, 1], - [39633, 1], - [39632, 1], - [39631, 1], - [39630, 1], - [39629, 1], - [39628, 1], - [39627, 1], - [39626, 1], - [39625, 1], - [39624, 1], - [39623, 1], - [39622, 1], - [39621, 1], - [39620, 1], - [39619, 1], - [39618, 1], - [39617, 1], - [39616, 1], - [39615, 1], - [39614, 1], - [39613, 1], - [39612, 1], - [39611, 1], - [39610, 1], - [39609, 1], - [39608, 1], - [39607, 1], - [39606, 1], - [39605, 1], - [39604, 1], - [39603, 1], - [39602, 1], - [39601, 1], - [39714, 1], - [39713, 1], - [39712, 1], - [39711, 1], - [39710, 1], - [39709, 1], - [39708, 1], - [39707, 1], - [39706, 1], - [39705, 1], - [39704, 1], - [39703, 1], - [39702, 1], - [39701, 1], - [39700, 1], - [39699, 1], - [39698, 1], - [39697, 1], - [39696, 1], - [39695, 1], - [39694, 1], - [39693, 1], - [39692, 1], - [39691, 1], - [39690, 1], - [39689, 1], - [39688, 1], - [39687, 1], - [39686, 1], - [39685, 1], - [39684, 1], - [39683, 1], - [39682, 1], - [39681, 1], - [39680, 1], - [39679, 1], - [39678, 1], - [39677, 1], - [39676, 1], - [39675, 1], - [39674, 1], - [39673, 1], - [39672, 1], - [39671, 1], - [39670, 1], - [39669, 1], - [39668, 1], - [39667, 1], - [39666, 1], - [39665, 1], - [39664, 1], - [39663, 1], - [39662, 1], - [39661, 1], - [39660, 1], - [39659, 1], - [39658, 1], - [39657, 1], - [39656, 1], - [39655, 1], - [39654, 1], - [39653, 1], - [39652, 1], - [39651, 1], - [39650, 1], - [39649, 1], - [39648, 1], - [39647, 1], - [39646, 1], - [39645, 1], - [39644, 1], - [39643, 1], - [39642, 1], - [39641, 1], - [39640, 1], - [39639, 1], - [39638, 1], - [39637, 1], - [39636, 1], - [39635, 1], - [39634, 1], - [39633, 1], - [39633, 0, ","], - [39634, 0, " "], - [39635, 0, "p"], - [39636, 0, "l"], - [39637, 0, "a"], - [39638, 0, "c"], - [39639, 0, "i"], - [39640, 0, "n"], - [39641, 0, "g"], - [39642, 0, " "], - [39643, 0, "t"], - [39644, 0, "h"], - [39645, 0, "e"], - [39646, 0, " "], - [39647, 0, "c"], - [39648, 0, "u"], - [39649, 0, "r"], - [39650, 0, "s"], - [39651, 0, "o"], - [39652, 0, "r"], - [39653, 0, " "], - [39654, 0, "i"], - [39655, 0, "n"], - [39656, 0, " "], - [39657, 0, "a"], - [39658, 0, " "], - [39659, 0, "v"], - [39660, 0, "a"], - [39661, 0, "r"], - [39662, 0, "i"], - [39663, 0, "a"], - [39664, 0, "b"], - [39665, 0, "l"], - [39666, 0, "e"], - [39667, 0, " "], - [39668, 0, "c"], - [39669, 0, "a"], - [39670, 0, "l"], - [39671, 0, "l"], - [39672, 0, "e"], - [39673, 0, "d"], - [39674, 0, " "], - [39675, 0, "\\"], - [39676, 0, "t"], - [39677, 0, "e"], - [39678, 0, "x"], - [39679, 0, "t"], - [39680, 0, "t"], - [39681, 0, "t"], - [39682, 0, "{"], - [39683, 0, "h"], - [39684, 0, "e"], - [39685, 0, "a"], - [39686, 0, "d"], - [39687, 0, "}"], - [39689, 0, "\n"], - [39690, 0, "\n"], - [39689, 0, " "], - [39690, 0, "T"], - [39691, 0, "h"], - [39692, 0, "e"], - [39693, 0, " "], - [39694, 0, "l"], - [39695, 0, "i"], - [39696, 0, "s"], - [39697, 0, "t"], - [39698, 0, " "], - [39699, 0, "e"], - [39700, 0, "l"], - [39701, 0, "e"], - [39702, 0, "m"], - [39703, 0, "e"], - [39704, 0, "n"], - [39705, 0, "t"], - [39706, 0, " "], - [39707, 0, "`"], - [39708, 0, "`"], - [39709, 0, "e"], - [39710, 0, "g"], - [39711, 0, "g"], - [39712, 0, "s"], - [39713, 0, "'"], - [39714, 0, "'"], - [39715, 0, " "], - [39716, 0, "i"], - [39717, 0, "s"], - [39718, 0, " "], - [39719, 0, "i"], - [39720, 0, "n"], - [39721, 0, "s"], - [39722, 0, "e"], - [39723, 0, "r"], - [39724, 0, "t"], - [39725, 0, "e"], - [39726, 0, "d"], - [39727, 0, " "], - [39728, 0, "a"], - [39729, 0, "t"], - [39730, 0, " "], - [39731, 0, "t"], - [39732, 0, "h"], - [39733, 0, "e"], - [39734, 0, " "], - [39735, 0, "h"], - [39736, 0, "e"], - [39737, 0, "a"], - [39738, 0, "d"], - [39739, 0, " "], - [39740, 0, "o"], - [39741, 0, "f"], - [39742, 0, " "], - [39743, 0, "t"], - [39744, 0, "h"], - [39745, 0, "e"], - [39746, 0, " "], - [39747, 0, "l"], - [39748, 0, "i"], - [39749, 0, "s"], - [39750, 0, "t"], - [39751, 0, "."], - [39752, 0, " "], - [39753, 0, "I"], - [39754, 0, "n"], - [39755, 0, " "], - [39756, 0, "l"], - [39757, 0, "i"], - [39758, 0, "n"], - [39759, 0, "e"], - [39760, 0, " "], - [39761, 0, "5"], - [39762, 0, ","], - [39763, 0, " "], - [24204, 0, "A"], - [24205, 0, "f"], - [24206, 0, "t"], - [24207, 0, "e"], - [24208, 0, "r"], - [24350, 0, "A"], - [24351, 0, "f"], - [24352, 0, "t"], - [24353, 0, "e"], - [24354, 0, "r"], - [24495, 0, "A"], - [24496, 0, "f"], - [24497, 0, "t"], - [24498, 0, "e"], - [24499, 0, "r"], - [24640, 0, "A"], - [24641, 0, "f"], - [24642, 0, "t"], - [24643, 0, "e"], - [24644, 0, "r"], - [26008, 0, "A"], - [26009, 0, "F"], - [26010, 0, "t"], - [26011, 0, "e"], - [26012, 0, "r"], - [26012, 1], - [26011, 1], - [26010, 1], - [26009, 1], - [26009, 0, "f"], - [26010, 0, "t"], - [26011, 0, "e"], - [26012, 0, "r"], - [26092, 0, "A"], - [26093, 0, "f"], - [26094, 0, "t"], - [26095, 0, "e"], - [26096, 0, "r"], - [26177, 0, "A"], - [26178, 0, "f"], - [26179, 0, "t"], - [26180, 0, "e"], - [26181, 0, "r"], - [27722, 0, "A"], - [27723, 0, "f"], - [27724, 0, "t"], - [27725, 0, "e"], - [27726, 0, "r"], - [35302, 0, "A"], - [35303, 0, "f"], - [35304, 0, "t"], - [35305, 0, "e"], - [35306, 0, "r"], - [36258, 0, "A"], - [36259, 0, "f"], - [36260, 0, "t"], - [36261, 0, "e"], - [36262, 0, "r"], - [36323, 0, "A"], - [36324, 0, "f"], - [36325, 0, "t"], - [36326, 0, "e"], - [36327, 0, "r"], - [36351, 0, "A"], - [36352, 0, "f"], - [36353, 0, "t"], - [36354, 0, "e"], - [36355, 0, "r"], - [39073, 0, "A"], - [39074, 0, "f"], - [39075, 0, "t"], - [39076, 0, "e"], - [39077, 0, "r"], - [39101, 1], - [39101, 1], - [39101, 1], - [39101, 1], - [39101, 1], - [39101, 1], - [39106, 1], - [39184, 0, "A"], - [39185, 0, "f"], - [39186, 0, "t"], - [39187, 0, "e"], - [39188, 0, "r"], - [32425, 0, "b"], - [32425, 1], - [32425, 0, " "], - [32426, 0, "b"], - [32427, 0, "e"], - [32441, 1], - [32441, 1], - [32441, 1], - [38424, 0, " "], - [38425, 0, "("], - [38426, 0, "a"], - [38427, 0, " "], - [38428, 0, "v"], - [38429, 0, "i"], - [38430, 0, "r"], - [38431, 0, "t"], - [38432, 0, "u"], - [38433, 0, "a"], - [38434, 0, "l"], - [38435, 0, " "], - [38436, 0, "p"], - [38437, 0, "o"], - [38438, 0, "s"], - [38439, 0, "i"], - [38440, 0, "t"], - [38441, 0, "i"], - [38442, 0, "o"], - [38443, 0, "n"], - [38444, 0, " "], - [38445, 0, "b"], - [38446, 0, "e"], - [38447, 0, "f"], - [38448, 0, "o"], - [38449, 0, "r"], - [38450, 0, "e"], - [38451, 0, " "], - [38452, 0, "t"], - [38453, 0, "h"], - [38454, 0, "e"], - [38455, 0, " "], - [38456, 0, "f"], - [38457, 0, "i"], - [38458, 0, "r"], - [38459, 0, "s"], - [38460, 0, "t"], - [38461, 0, " "], - [38462, 0, "l"], - [38463, 0, "i"], - [38464, 0, "s"], - [38465, 0, "t"], - [38466, 0, " "], - [38467, 0, "e"], - [38468, 0, "l"], - [38469, 0, "e"], - [38470, 0, "m"], - [38471, 0, "e"], - [38472, 0, "n"], - [38473, 0, "t"], - [38474, 0, ")"], - [39159, 1], - [39158, 1], - [39158, 0, "t"], - [39159, 0, "h"], - [39160, 0, "e"], - [39879, 0, "t"], - [39880, 0, "h"], - [39881, 0, "e"], - [39882, 0, " "], - [39883, 0, "v"], - [39884, 0, "a"], - [39885, 0, "r"], - [39886, 0, "i"], - [39887, 0, "a"], - [39888, 0, "b"], - [39889, 0, "l"], - [39890, 0, "e"], - [39891, 0, " "], - [39892, 0, "\\"], - [39893, 0, "t"], - [39894, 0, "e"], - [39895, 0, "x"], - [39896, 0, "t"], - [39897, 0, "t"], - [39898, 0, "t"], - [39899, 0, "{"], - [39900, 0, "t"], - [39901, 0, "a"], - [39902, 0, "i"], - [39903, 0, "l"], - [39904, 0, "}"], - [39905, 0, " "], - [39906, 0, "i"], - [39907, 0, "s"], - [39908, 0, " "], - [39909, 0, "s"], - [39910, 0, "e"], - [39911, 0, "t"], - [39912, 0, " "], - [39913, 0, "t"], - [39914, 0, "o"], - [39915, 0, " "], - [39916, 0, "a"], - [39917, 0, " "], - [39918, 0, "c"], - [39919, 0, "u"], - [39920, 0, "r"], - [39921, 0, "s"], - [39922, 0, "o"], - [39923, 0, "r"], - [39924, 0, " "], - [39925, 0, "p"], - [39926, 0, "o"], - [39927, 0, "i"], - [39928, 0, "n"], - [39929, 0, "t"], - [39930, 0, "i"], - [39931, 0, "n"], - [39932, 0, "g"], - [39933, 0, " "], - [39934, 0, "a"], - [39935, 0, "t"], - [39936, 0, " "], - [39937, 0, "t"], - [39938, 0, "h"], - [39939, 0, "e"], - [39940, 0, " "], - [39941, 0, "l"], - [39942, 0, "i"], - [39943, 0, "s"], - [39944, 0, "t"], - [39945, 0, " "], - [39946, 0, "e"], - [39947, 0, "l"], - [39948, 0, "e"], - [39949, 0, "m"], - [39950, 0, "e"], - [39951, 0, "n"], - [39952, 0, "t"], - [39953, 0, " "], - [39954, 0, "`"], - [39955, 0, "`"], - [39956, 0, "e"], - [39957, 0, "g"], - [39958, 0, "g"], - [39959, 0, "s"], - [39960, 0, "'"], - [39961, 0, "'"], - [39962, 0, "."], - [39963, 0, " "], - [36280, 1], - [36279, 1], - [36278, 1], - [36277, 1], - [36277, 0, "e"], - [36278, 0, "g"], - [36279, 0, "g"], - [36280, 0, "s"], - [36343, 1], - [36342, 1], - [36341, 1], - [36340, 1], - [36340, 0, "e"], - [36341, 0, "g"], - [36342, 0, "g"], - [36343, 0, "s"], - [39903, 1], - [39902, 1], - [39901, 1], - [39900, 1], - [39900, 0, "e"], - [39901, 0, "g"], - [39902, 0, "g"], - [39903, 0, "s"], - [39964, 0, "T"], - [39965, 0, "h"], - [39966, 0, "e"], - [39967, 0, "n"], - [39968, 0, " "], - [39969, 0, "t"], - [39970, 0, "w"], - [39971, 0, "o"], - [39972, 0, " "], - [39973, 0, "m"], - [39974, 0, "o"], - [39975, 0, "r"], - [39976, 0, "e"], - [39977, 0, " "], - [39978, 0, "l"], - [39979, 0, "i"], - [39980, 0, "s"], - [39981, 0, "t"], - [39982, 0, " "], - [39983, 0, "e"], - [39984, 0, "l"], - [39985, 0, "e"], - [39986, 0, "m"], - [39987, 0, "e"], - [39988, 0, "n"], - [39989, 0, "t"], - [39990, 0, "s"], - [39991, 0, " "], - [39992, 0, "a"], - [39993, 0, "r"], - [39994, 0, "e"], - [39995, 0, " "], - [39996, 0, "i"], - [39997, 0, "n"], - [39998, 0, "s"], - [39999, 0, "e"], - [40000, 0, "r"], - [40001, 0, "t"], - [40002, 0, "e"], - [40003, 0, "d"], - [40004, 0, ":"], - [40005, 0, " "], - [40006, 0, "`"], - [40007, 0, "`"], - [40008, 0, "c"], - [40009, 0, "h"], - [40010, 0, "e"], - [40011, 0, "e"], - [40012, 0, "s"], - [40013, 0, "e"], - [40014, 0, "'"], - [40015, 0, "'"], - [40016, 0, " "], - [40017, 0, "i"], - [40018, 0, "s"], - [40019, 0, " "], - [40020, 0, "i"], - [40021, 0, "n"], - [40022, 0, "s"], - [40023, 0, "e"], - [40024, 0, "r"], - [40024, 1], - [40023, 1], - [40022, 1], - [40021, 1], - [40020, 1], - [40019, 1], - [40018, 1], - [40017, 1], - [40017, 0, "a"], - [40018, 0, "t"], - [40019, 0, " "], - [40020, 0, "t"], - [40021, 0, "h"], - [40022, 0, "e"], - [40023, 0, " "], - [40024, 0, "h"], - [40025, 0, "e"], - [40026, 0, "a"], - [40027, 0, "d"], - [40028, 0, ","], - [40029, 0, " "], - [40030, 0, "a"], - [40031, 0, "n"], - [40032, 0, "d"], - [40033, 0, " "], - [40034, 0, "`"], - [40035, 0, "`"], - [40036, 0, "m"], - [40037, 0, "i"], - [40038, 0, "l"], - [40039, 0, "k"], - [40040, 0, "'"], - [40041, 0, "'"], - [40042, 0, " "], - [40043, 0, "a"], - [40044, 0, "f"], - [40045, 0, "t"], - [40046, 0, "e"], - [40047, 0, "r"], - [40048, 0, " "], - [40049, 0, "`"], - [40050, 0, "`"], - [40051, 0, "e"], - [40052, 0, "g"], - [40053, 0, "g"], - [40054, 0, "s"], - [40055, 0, "'"], - [40056, 0, "'"], - [40057, 0, "."], - [40058, 0, " "], - [40059, 0, "N"], - [40060, 0, "o"], - [40061, 0, "t"], - [40062, 0, "e"], - [40063, 0, " "], - [40064, 0, "t"], - [40065, 0, "h"], - [40066, 0, "a"], - [40067, 0, "t"], - [40068, 0, " "], - [40069, 0, "t"], - [40070, 0, "h"], - [40071, 0, "e"], - [40072, 0, " "], - [40073, 0, "c"], - [40074, 0, "u"], - [40075, 0, "r"], - [40076, 0, "s"], - [40077, 0, "o"], - [40078, 0, "r"], - [40079, 0, " "], - [40080, 0, "i"], - [40081, 0, "d"], - [40082, 0, "e"], - [40083, 0, "n"], - [40084, 0, "t"], - [40085, 0, "i"], - [40085, 1], - [40084, 1], - [40083, 1], - [40082, 1], - [40081, 1], - [40080, 1], - [40080, 0, "\\"], - [40081, 0, "t"], - [40082, 0, "e"], - [40083, 0, "x"], - [40084, 0, "t"], - [40085, 0, "t"], - [40086, 0, "t"], - [40087, 0, "{"], - [40088, 0, "e"], - [40089, 0, "g"], - [40090, 0, "g"], - [40091, 0, "s"], - [40092, 0, "}"], - [40093, 0, " "], - [40094, 0, "i"], - [40095, 0, "d"], - [40096, 0, "e"], - [40097, 0, "n"], - [40098, 0, "t"], - [40099, 0, "i"], - [40100, 0, "f"], - [40101, 0, "i"], - [40102, 0, "e"], - [40103, 0, "s"], - [40104, 0, " "], - [40105, 0, "t"], - [40106, 0, "h"], - [40107, 0, "e"], - [40108, 0, " "], - [40109, 0, "l"], - [40110, 0, "i"], - [40111, 0, "s"], - [40112, 0, "t"], - [40113, 0, " "], - [40114, 0, "e"], - [40115, 0, "l"], - [40116, 0, "e"], - [40117, 0, "m"], - [40118, 0, "e"], - [40119, 0, "n"], - [40120, 0, "t"], - [40121, 0, " "], - [40122, 0, "b"], - [40123, 0, "y"], - [40124, 0, " "], - [40125, 0, "i"], - [40126, 0, "d"], - [40127, 0, "e"], - [40128, 0, "n"], - [40129, 0, "t"], - [40130, 0, "i"], - [40131, 0, "t"], - [40132, 0, "y"], - [40133, 0, ","], - [40134, 0, " "], - [40135, 0, "n"], - [40136, 0, "o"], - [40137, 0, "t"], - [40138, 0, " "], - [40139, 0, "b"], - [40140, 0, "y"], - [40141, 0, " "], - [40142, 0, "i"], - [40143, 0, "t"], - [40144, 0, "s"], - [40145, 0, " "], - [40146, 0, "i"], - [40147, 0, "n"], - [40148, 0, "d"], - [40149, 0, "e"], - [40150, 0, "x"], - [40151, 0, ":"], - [40152, 0, " "], - [40153, 0, "a"], - [40154, 0, "f"], - [40155, 0, "t"], - [40156, 0, "e"], - [40157, 0, "r"], - [40158, 0, " "], - [40159, 0, "t"], - [40160, 0, "h"], - [40161, 0, "e"], - [40162, 0, " "], - [40163, 0, "i"], - [40164, 0, "n"], - [40165, 0, "s"], - [40166, 0, "e"], - [40167, 0, "r"], - [40168, 0, "t"], - [40169, 0, "i"], - [40170, 0, "o"], - [40171, 0, "n"], - [40172, 0, " "], - [40173, 0, "o"], - [40174, 0, "f"], - [40175, 0, " "], - [40176, 0, "`"], - [40177, 0, "`"], - [40178, 0, "c"], - [40179, 0, "h"], - [40180, 0, "e"], - [40181, 0, "e"], - [40182, 0, "s"], - [40183, 0, "e"], - [40184, 0, "'"], - [40185, 0, "'"], - [40186, 0, ","], - [40187, 0, " "], - [40188, 0, "t"], - [40189, 0, "h"], - [40190, 0, "e"], - [40191, 0, " "], - [40192, 0, "e"], - [40193, 0, "l"], - [40194, 0, "e"], - [40195, 0, "m"], - [40196, 0, "e"], - [40197, 0, "n"], - [40198, 0, "t"], - [40199, 0, " "], - [40200, 0, "`"], - [40201, 0, "`"], - [40202, 0, "e"], - [40203, 0, "g"], - [40204, 0, "g"], - [40205, 0, "s"], - [40206, 0, "'"], - [40207, 0, "'"], - [40208, 0, " "], - [40209, 0, "h"], - [40210, 0, "a"], - [40211, 0, "s"], - [40212, 0, " "], - [40213, 0, "i"], - [40214, 0, "n"], - [40215, 0, "d"], - [40216, 0, "e"], - [40217, 0, "x"], - [40218, 0, " "], - [40219, 0, "2"], - [40220, 0, ","], - [40221, 0, " "], - [40222, 0, "b"], - [40223, 0, "u"], - [40224, 0, "t"], - [40225, 0, " "], - [40226, 0, "t"], - [40227, 0, "h"], - [40228, 0, "e"], - [40229, 0, " "], - [40229, 1], - [40228, 1], - [40227, 1], - [40226, 1], - [40226, 0, "`"], - [40227, 0, "`"], - [40228, 0, "m"], - [40229, 0, "i"], - [40230, 0, "l"], - [40231, 0, "k"], - [40232, 0, "'"], - [40233, 0, "'"], - [40234, 0, " "], - [40235, 0, "i"], - [40236, 0, "s"], - [40237, 0, " "], - [40238, 0, "n"], - [40239, 0, "e"], - [40240, 0, "v"], - [40241, 0, "e"], - [40242, 0, "r"], - [40243, 0, "t"], - [40244, 0, "h"], - [40245, 0, "e"], - [40246, 0, "l"], - [40247, 0, "e"], - [40248, 0, "s"], - [40249, 0, "s"], - [40250, 0, " "], - [40251, 0, "a"], - [40252, 0, "f"], - [40252, 1], - [40251, 1], - [40251, 0, "i"], - [40252, 0, "n"], - [40253, 0, "s"], - [40254, 0, "e"], - [40255, 0, "r"], - [40256, 0, "t"], - [40257, 0, "e"], - [40258, 0, "d"], - [40259, 0, " "], - [40260, 0, "a"], - [40261, 0, "f"], - [40262, 0, "t"], - [40263, 0, "e"], - [40264, 0, "r"], - [40265, 0, " "], - [40266, 0, "`"], - [40267, 0, "`"], - [40268, 0, "e"], - [40269, 0, "g"], - [40270, 0, "g"], - [40271, 0, "s"], - [40272, 0, "'"], - [40273, 0, "'"], - [40274, 0, "."], - [40058, 1], - [40058, 0, "\n"], - [40059, 0, "\n"], - [40276, 0, " "], - [40277, 0, "T"], - [40278, 0, "h"], - [40279, 0, "i"], - [40280, 0, "s"], - [40281, 0, " "], - [40281, 1], - [40280, 1], - [40279, 1], - [40278, 1], - [40277, 1], - [40277, 0, "A"], - [40278, 0, "s"], - [40279, 0, " "], - [40280, 0, "w"], - [40281, 0, "e"], - [40282, 0, " "], - [40283, 0, "s"], - [40284, 0, "h"], - [40285, 0, "a"], - [40286, 0, "l"], - [40287, 0, "l"], - [40288, 0, " "], - [40289, 0, "s"], - [40290, 0, "e"], - [40291, 0, "e"], - [40292, 0, " "], - [40293, 0, "l"], - [40294, 0, "a"], - [40295, 0, "t"], - [40296, 0, "e"], - [40297, 0, "r"], - [40298, 0, ","], - [40299, 0, " "], - [40300, 0, "t"], - [40301, 0, "h"], - [40302, 0, "i"], - [40303, 0, "s"], - [40304, 0, " "], - [40305, 0, "f"], - [40306, 0, "e"], - [40307, 0, "a"], - [40308, 0, "t"], - [40309, 0, "u"], - [40310, 0, "r"], - [40311, 0, "e"], - [40312, 0, " "], - [40313, 0, "i"], - [40314, 0, "s"], - [40315, 0, " "], - [40316, 0, "h"], - [40317, 0, "e"], - [40318, 0, "l"], - [40319, 0, "p"], - [40320, 0, "f"], - [40321, 0, "u"], - [40322, 0, "l"], - [40323, 0, " "], - [40324, 0, "f"], - [40325, 0, "o"], - [40326, 0, "r"], - [40327, 0, " "], - [40328, 0, "a"], - [40329, 0, "c"], - [40330, 0, "h"], - [40331, 0, "i"], - [40332, 0, "e"], - [40333, 0, "v"], - [40334, 0, "i"], - [40335, 0, "n"], - [40336, 0, "g"], - [40337, 0, " "], - [40338, 0, "d"], - [40339, 0, "e"], - [40340, 0, "s"], - [40341, 0, "i"], - [40342, 0, "r"], - [40343, 0, "a"], - [40344, 0, "b"], - [40345, 0, "l"], - [40346, 0, "e"], - [40347, 0, " "], - [40348, 0, "s"], - [40349, 0, "e"], - [40350, 0, "m"], - [40351, 0, "a"], - [40352, 0, "n"], - [40353, 0, "t"], - [40354, 0, "i"], - [40355, 0, "c"], - [40356, 0, "s"], - [40357, 0, " "], - [40358, 0, "i"], - [40359, 0, "n"], - [40360, 0, " "], - [40361, 0, "t"], - [40362, 0, "h"], - [40363, 0, "e"], - [40364, 0, " "], - [40365, 0, "p"], - [40366, 0, "r"], - [40367, 0, "e"], - [40368, 0, "s"], - [40369, 0, "e"], - [40370, 0, "n"], - [40371, 0, "c"], - [40372, 0, "e"], - [40373, 0, " "], - [40374, 0, "o"], - [40375, 0, "f"], - [40376, 0, " "], - [40377, 0, "c"], - [40378, 0, "o"], - [40379, 0, "n"], - [40380, 0, "c"], - [40381, 0, "u"], - [40382, 0, "r"], - [40383, 0, "r"], - [40384, 0, "e"], - [40385, 0, "n"], - [40386, 0, "t"], - [40387, 0, " "], - [40388, 0, "m"], - [40389, 0, "o"], - [40390, 0, "d"], - [40391, 0, "i"], - [40392, 0, "f"], - [40393, 0, "i"], - [40394, 0, "c"], - [40395, 0, "a"], - [40396, 0, "t"], - [40397, 0, "i"], - [40398, 0, "o"], - [40399, 0, "n"], - [40400, 0, "s"], - [40401, 0, "."], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40404, 1], - [40212, 1], - [40211, 1], - [40210, 1], - [40210, 0, "m"], - [40211, 0, "o"], - [40212, 0, "v"], - [40213, 0, "e"], - [40214, 0, "s"], - [40215, 0, " "], - [40216, 0, "f"], - [40217, 0, "r"], - [40218, 0, "o"], - [40219, 0, "m"], - [40220, 0, " "], - [40221, 0, "i"], - [40222, 0, "n"], - [40223, 0, "d"], - [40224, 0, "e"], - [40225, 0, "x"], - [40226, 0, " "], - [40227, 0, "1"], - [40228, 0, " "], - [40229, 0, "t"], - [40230, 0, "o"], - [40232, 1], - [40232, 1], - [40232, 1], - [40232, 1], - [40232, 1], - [40232, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [40416, 1], - [47380, 0, "H"], - [47380, 1], - [47380, 0, "W"], - [47381, 0, "e"], - [47382, 0, " "], - [47383, 0, "n"], - [47384, 0, "o"], - [47385, 0, "w"], - [47386, 0, " "], - [47387, 0, "e"], - [47388, 0, "x"], - [47389, 0, "p"], - [47390, 0, "l"], - [47391, 0, "a"], - [47392, 0, "i"], - [47393, 0, "n"], - [47394, 0, " "], - [47395, 0, "f"], - [47396, 0, "o"], - [47397, 0, "r"], - [47398, 0, "m"], - [47399, 0, "a"], - [47400, 0, "l"], - [47401, 0, "l"], - [47402, 0, "y"], - [47403, 0, " "], - [47404, 0, "h"], - [47405, 0, "o"], - [47406, 0, "w"], - [47407, 0, " "], - [47408, 0, "t"], - [47409, 0, "o"], - [47410, 0, " "], - [47411, 0, "a"], - [47412, 0, "c"], - [47413, 0, "h"], - [47414, 0, "i"], - [47415, 0, "e"], - [47416, 0, "v"], - [47417, 0, "e"], - [47418, 0, " "], - [47419, 0, "t"], - [47420, 0, "h"], - [47421, 0, "e"], - [47422, 0, " "], - [47423, 0, "c"], - [47424, 0, "o"], - [47425, 0, "n"], - [47426, 0, "c"], - [47427, 0, "u"], - [47428, 0, "r"], - [47429, 0, "r"], - [47430, 0, "e"], - [47431, 0, "n"], - [47432, 0, "t"], - [47433, 0, " "], - [47434, 0, "s"], - [47435, 0, "e"], - [47436, 0, "m"], - [47437, 0, "a"], - [47438, 0, "n"], - [47439, 0, "t"], - [47440, 0, "i"], - [47441, 0, "c"], - [47442, 0, "s"], - [47443, 0, " "], - [47444, 0, "o"], - [47445, 0, "u"], - [47446, 0, "t"], - [47447, 0, "l"], - [47448, 0, "i"], - [47449, 0, "n"], - [47450, 0, "e"], - [47451, 0, "d"], - [47452, 0, " "], - [47453, 0, "i"], - [47454, 0, "n"], - [47455, 0, " "], - [47456, 0, "S"], - [47457, 0, "e"], - [47458, 0, "c"], - [47459, 0, "t"], - [47460, 0, "i"], - [47461, 0, "o"], - [47462, 0, "n"], - [47463, 0, "~"], - [47464, 0, "\\"], - [47465, 0, "r"], - [47466, 0, "e"], - [47467, 0, "f"], - [47468, 0, "{"], - [47469, 0, "s"], - [47470, 0, "e"], - [47471, 0, "c"], - [47472, 0, ":"], - [47473, 0, "c"], - [47474, 0, "o"], - [47475, 0, "m"], - [47476, 0, "p"], - [47477, 0, "o"], - [47478, 0, "s"], - [47479, 0, "i"], - [47480, 0, "n"], - [47481, 0, "g"], - [47482, 0, "}"], - [47483, 0, "."], - [47484, 0, " "], - [41974, 1], - [41973, 1], - [41972, 1], - [41971, 1], - [41970, 1], - [41969, 1], - [41968, 1], - [41967, 1], - [41966, 1], - [41965, 1], - [41964, 1], - [41963, 1], - [41962, 1], - [41961, 1], - [41960, 1], - [41959, 1], - [41958, 1], - [41957, 1], - [41956, 1], - [41955, 1], - [41954, 1], - [41953, 1], - [41952, 1], - [41951, 1], - [41950, 1], - [41949, 1], - [41948, 1], - [41947, 1], - [41946, 1], - [41945, 1], - [41944, 1], - [41943, 1], - [41942, 1], - [41941, 1], - [41940, 1], - [41939, 1], - [41938, 1], - [41937, 1], - [41936, 1], - [41935, 1], - [41934, 1], - [41933, 1], - [41932, 1], - [41931, 1], - [41930, 1], - [41929, 1], - [41928, 1], - [41927, 1], - [41926, 1], - [41925, 1], - [41924, 1], - [41923, 1], - [41922, 1], - [41921, 1], - [41920, 1], - [41919, 1], - [41918, 1], - [41917, 1], - [41916, 1], - [41915, 1], - [41914, 1], - [41913, 1], - [41912, 1], - [41911, 1], - [41910, 1], - [41909, 1], - [41908, 1], - [41907, 1], - [41906, 1], - [41905, 1], - [41904, 1], - [41903, 1], - [41902, 1], - [41901, 1], - [41900, 1], - [41899, 1], - [41898, 1], - [41897, 1], - [41896, 1], - [41895, 1], - [41894, 1], - [41893, 1], - [41892, 1], - [41891, 1], - [41890, 1], - [41889, 1], - [41888, 1], - [41887, 1], - [41886, 1], - [41885, 1], - [41884, 1], - [41883, 1], - [41882, 1], - [41881, 1], - [41880, 1], - [41879, 1], - [41878, 1], - [41877, 1], - [41876, 1], - [41875, 1], - [41874, 1], - [41873, 1], - [41872, 1], - [41871, 1], - [41870, 1], - [41869, 1], - [41868, 1], - [41867, 1], - [41866, 1], - [41865, 1], - [41864, 1], - [41863, 1], - [41862, 1], - [41861, 1], - [41860, 1], - [41859, 1], - [41858, 1], - [41857, 1], - [41856, 1], - [41855, 1], - [41854, 1], - [41853, 1], - [41852, 1], - [41851, 1], - [41850, 1], - [41849, 1], - [41848, 1], - [41847, 1], - [41846, 1], - [41845, 1], - [41844, 1], - [41843, 1], - [41842, 1], - [41841, 1], - [41840, 1], - [41839, 1], - [41838, 1], - [41837, 1], - [41836, 1], - [41835, 1], - [41834, 1], - [41833, 1], - [41832, 1], - [41831, 1], - [41830, 1], - [41829, 1], - [41828, 1], - [41827, 1], - [41826, 1], - [41825, 1], - [41824, 1], - [41823, 1], - [41822, 1], - [41821, 1], - [41820, 1], - [41819, 1], - [41818, 1], - [41817, 1], - [41816, 1], - [41815, 1], - [41814, 1], - [41813, 1], - [41812, 1], - [41811, 1], - [41810, 1], - [41809, 1], - [41808, 1], - [41807, 1], - [41806, 1], - [41805, 1], - [41804, 1], - [41803, 1], - [41802, 1], - [41801, 1], - [41800, 1], - [41799, 1], - [41798, 1], - [41797, 1], - [41796, 1], - [41795, 1], - [41794, 1], - [41793, 1], - [41792, 1], - [41791, 1], - [41790, 1], - [41789, 1], - [41788, 1], - [41787, 1], - [41786, 1], - [41785, 1], - [41784, 1], - [41783, 1], - [41782, 1], - [41781, 1], - [41780, 1], - [41779, 1], - [41778, 1], - [41777, 1], - [41776, 1], - [41775, 1], - [41774, 1], - [41773, 1], - [41772, 1], - [41771, 1], - [41770, 1], - [41769, 1], - [41768, 1], - [41767, 1], - [41766, 1], - [41765, 1], - [41764, 1], - [41763, 1], - [41762, 1], - [41761, 1], - [41760, 1], - [41759, 1], - [41758, 1], - [41757, 1], - [41756, 1], - [41755, 1], - [41754, 1], - [41753, 1], - [41752, 1], - [41751, 1], - [41750, 1], - [41749, 1], - [41748, 1], - [41747, 1], - [41746, 1], - [41745, 1], - [41744, 1], - [41743, 1], - [41742, 1], - [41741, 1], - [41740, 1], - [41739, 1], - [41738, 1], - [41737, 1], - [41736, 1], - [41735, 1], - [41734, 1], - [41733, 1], - [41732, 1], - [41731, 1], - [41730, 1], - [41729, 1], - [41728, 1], - [41727, 1], - [41726, 1], - [41725, 1], - [41724, 1], - [41723, 1], - [41722, 1], - [41721, 1], - [41720, 1], - [41719, 1], - [41718, 1], - [41717, 1], - [41716, 1], - [41715, 1], - [41714, 1], - [41713, 1], - [41712, 1], - [41711, 1], - [41710, 1], - [41709, 1], - [41708, 1], - [41707, 1], - [41706, 1], - [41705, 1], - [41704, 1], - [41703, 1], - [41702, 1], - [41701, 1], - [41700, 1], - [41699, 1], - [41698, 1], - [41697, 1], - [41696, 1], - [41695, 1], - [41694, 1], - [41693, 1], - [41692, 1], - [41691, 1], - [41690, 1], - [41689, 1], - [41688, 1], - [41687, 1], - [41686, 1], - [41685, 1], - [41684, 1], - [41683, 1], - [41682, 1], - [41681, 1], - [41680, 1], - [41679, 1], - [41678, 1], - [41677, 1], - [41676, 1], - [41675, 1], - [41674, 1], - [41673, 1], - [41672, 1], - [41671, 1], - [41670, 1], - [41669, 1], - [41668, 1], - [41667, 1], - [41666, 1], - [41665, 1], - [41664, 1], - [41663, 1], - [41662, 1], - [41661, 1], - [41660, 1], - [41659, 1], - [41658, 1], - [41657, 1], - [41656, 1], - [41655, 1], - [41654, 1], - [41653, 1], - [41652, 1], - [41651, 1], - [41650, 1], - [41649, 1], - [41648, 1], - [41647, 1], - [41646, 1], - [41645, 1], - [41644, 1], - [41643, 1], - [41642, 1], - [41641, 1], - [41640, 1], - [41639, 1], - [41638, 1], - [41637, 1], - [41636, 1], - [41635, 1], - [41634, 1], - [41633, 1], - [41632, 1], - [41631, 1], - [41630, 1], - [41629, 1], - [41628, 1], - [41627, 1], - [41626, 1], - [41625, 1], - [41624, 1], - [41623, 1], - [41622, 1], - [41621, 1], - [41620, 1], - [41619, 1], - [41618, 1], - [41617, 1], - [41616, 1], - [41615, 1], - [41614, 1], - [41613, 1], - [41612, 1], - [41611, 1], - [41610, 1], - [41609, 1], - [41608, 1], - [41607, 1], - [41606, 1], - [41605, 1], - [41604, 1], - [41603, 1], - [41602, 1], - [41601, 1], - [41600, 1], - [41599, 1], - [41598, 1], - [41597, 1], - [41596, 1], - [41595, 1], - [41594, 1], - [41593, 1], - [41592, 1], - [41591, 1], - [41590, 1], - [41589, 1], - [41588, 1], - [41587, 1], - [41586, 1], - [41585, 1], - [41584, 1], - [41583, 1], - [41582, 1], - [41581, 1], - [41580, 1], - [41579, 1], - [41578, 1], - [41577, 1], - [41576, 1], - [41575, 1], - [41574, 1], - [41573, 1], - [41572, 1], - [41571, 1], - [41570, 1], - [41569, 1], - [41568, 1], - [41567, 1], - [41566, 1], - [41565, 1], - [41564, 1], - [41563, 1], - [41562, 1], - [41561, 1], - [41560, 1], - [41559, 1], - [41558, 1], - [41557, 1], - [41556, 1], - [41555, 1], - [41554, 1], - [41553, 1], - [41552, 1], - [41551, 1], - [41550, 1], - [41549, 1], - [41548, 1], - [41547, 1], - [41546, 1], - [41545, 1], - [41544, 1], - [41543, 1], - [41542, 1], - [41541, 1], - [41540, 1], - [41539, 1], - [41538, 1], - [41537, 1], - [41536, 1], - [41535, 1], - [41534, 1], - [41533, 1], - [41532, 1], - [41531, 1], - [41530, 1], - [41529, 1], - [41528, 1], - [41527, 1], - [41526, 1], - [41525, 1], - [41524, 1], - [41523, 1], - [41522, 1], - [41521, 1], - [41520, 1], - [41519, 1], - [41518, 1], - [41517, 1], - [41516, 1], - [41515, 1], - [41514, 1], - [41513, 1], - [41512, 1], - [41511, 1], - [41510, 1], - [41509, 1], - [41508, 1], - [41507, 1], - [41506, 1], - [41505, 1], - [41504, 1], - [41503, 1], - [41502, 1], - [41501, 1], - [41500, 1], - [41499, 1], - [41498, 1], - [41497, 1], - [41496, 1], - [41495, 1], - [41494, 1], - [41493, 1], - [41492, 1], - [41491, 1], - [41490, 1], - [41489, 1], - [41488, 1], - [41487, 1], - [41486, 1], - [41485, 1], - [41484, 1], - [41483, 1], - [41482, 1], - [41481, 1], - [41480, 1], - [41479, 1], - [41478, 1], - [41477, 1], - [41476, 1], - [41475, 1], - [41474, 1], - [41473, 1], - [41472, 1], - [41471, 1], - [41470, 1], - [41469, 1], - [41468, 1], - [41467, 1], - [41466, 1], - [41465, 1], - [41464, 1], - [41463, 1], - [41462, 1], - [41461, 1], - [41460, 1], - [41459, 1], - [41458, 1], - [41457, 1], - [41456, 1], - [41455, 1], - [41454, 1], - [41453, 1], - [41452, 1], - [41451, 1], - [41450, 1], - [41449, 1], - [41448, 1], - [41447, 1], - [41446, 1], - [41445, 1], - [41444, 1], - [41443, 1], - [41442, 1], - [41441, 1], - [41440, 1], - [41439, 1], - [41438, 1], - [41437, 1], - [41436, 1], - [41435, 1], - [41434, 1], - [41433, 1], - [41432, 1], - [41431, 1], - [41430, 1], - [41429, 1], - [41428, 1], - [41427, 1], - [41426, 1], - [41425, 1], - [41424, 1], - [41423, 1], - [41422, 1], - [41421, 1], - [41420, 1], - [41419, 1], - [41418, 1], - [41417, 1], - [41416, 1], - [41415, 1], - [41414, 1], - [41413, 1], - [41412, 1], - [41411, 1], - [41410, 1], - [41409, 1], - [41408, 1], - [41407, 1], - [41406, 1], - [41405, 1], - [41404, 1], - [41403, 1], - [41402, 1], - [41401, 1], - [41400, 1], - [41399, 1], - [41398, 1], - [41397, 1], - [41396, 1], - [41395, 1], - [41394, 1], - [41393, 1], - [41392, 1], - [41391, 1], - [41390, 1], - [41389, 1], - [41388, 1], - [41387, 1], - [41386, 1], - [41385, 1], - [41384, 1], - [41383, 1], - [41382, 1], - [41381, 1], - [41380, 1], - [41379, 1], - [41378, 1], - [41377, 1], - [41376, 1], - [41375, 1], - [41374, 1], - [41373, 1], - [41372, 1], - [41371, 1], - [41370, 1], - [41369, 1], - [41368, 1], - [41367, 1], - [41366, 1], - [41365, 1], - [41364, 1], - [41363, 1], - [41362, 1], - [41361, 1], - [41360, 1], - [41359, 1], - [41358, 1], - [41357, 1], - [41356, 1], - [41355, 1], - [41354, 1], - [41353, 1], - [41352, 1], - [41351, 1], - [41350, 1], - [41349, 1], - [41348, 1], - [41347, 1], - [41346, 1], - [41345, 1], - [41344, 1], - [41343, 1], - [41342, 1], - [41341, 1], - [41340, 1], - [41339, 1], - [41338, 1], - [41337, 1], - [41336, 1], - [41335, 1], - [41334, 1], - [41333, 1], - [41332, 1], - [41331, 1], - [41330, 1], - [41329, 1], - [41328, 1], - [41327, 1], - [41326, 1], - [41325, 1], - [41324, 1], - [41323, 1], - [41322, 1], - [41321, 1], - [41320, 1], - [41319, 1], - [41318, 1], - [41317, 1], - [41316, 1], - [41315, 1], - [41314, 1], - [41313, 1], - [41312, 1], - [41311, 1], - [41310, 1], - [41309, 1], - [41308, 1], - [41307, 1], - [41306, 1], - [41305, 1], - [41304, 1], - [41303, 1], - [41302, 1], - [41301, 1], - [41300, 1], - [41299, 1], - [41298, 1], - [41297, 1], - [41296, 1], - [41295, 1], - [41294, 1], - [41293, 1], - [41292, 1], - [41291, 1], - [41290, 1], - [41289, 1], - [41288, 1], - [41287, 1], - [41286, 1], - [41285, 1], - [41284, 1], - [41283, 1], - [41282, 1], - [41281, 1], - [41280, 1], - [41279, 1], - [41278, 1], - [41277, 1], - [41276, 1], - [41275, 1], - [41274, 1], - [41273, 1], - [41272, 1], - [41271, 1], - [41270, 1], - [41269, 1], - [41268, 1], - [41267, 1], - [41266, 1], - [41265, 1], - [41264, 1], - [41263, 1], - [41262, 1], - [41261, 1], - [41260, 1], - [41259, 1], - [41258, 1], - [41257, 1], - [41256, 1], - [41255, 1], - [41254, 1], - [41253, 1], - [41252, 1], - [41251, 1], - [41250, 1], - [41249, 1], - [41248, 1], - [41247, 1], - [41246, 1], - [41245, 1], - [41244, 1], - [41243, 1], - [41242, 1], - [41241, 1], - [41240, 1], - [41239, 1], - [41238, 1], - [41237, 1], - [41236, 1], - [41235, 1], - [41234, 1], - [41233, 1], - [41232, 1], - [41231, 1], - [41230, 1], - [41229, 1], - [41228, 1], - [41227, 1], - [41226, 1], - [41225, 1], - [41224, 1], - [41223, 1], - [41222, 1], - [41221, 1], - [41220, 1], - [41219, 1], - [41218, 1], - [41217, 1], - [41216, 1], - [41215, 1], - [41214, 1], - [41213, 1], - [41212, 1], - [41211, 1], - [41210, 1], - [41209, 1], - [41208, 1], - [41207, 1], - [41206, 1], - [41205, 1], - [41204, 1], - [41203, 1], - [41202, 1], - [41201, 1], - [41200, 1], - [41199, 1], - [41198, 1], - [41197, 1], - [41196, 1], - [41195, 1], - [41194, 1], - [41193, 1], - [41192, 1], - [41191, 1], - [41190, 1], - [41189, 1], - [41188, 1], - [41187, 1], - [41186, 1], - [41185, 1], - [41184, 1], - [41183, 1], - [41182, 1], - [41181, 1], - [41180, 1], - [41179, 1], - [41178, 1], - [41177, 1], - [41176, 1], - [41175, 1], - [41174, 1], - [41173, 1], - [41172, 1], - [41171, 1], - [41170, 1], - [41169, 1], - [41168, 1], - [41167, 1], - [41166, 1], - [41165, 1], - [41164, 1], - [41163, 1], - [41162, 1], - [41161, 1], - [41160, 1], - [41159, 1], - [41158, 1], - [41157, 1], - [41156, 1], - [41155, 1], - [41154, 1], - [41153, 1], - [41152, 1], - [41151, 1], - [41150, 1], - [41149, 1], - [41148, 1], - [41147, 1], - [41146, 1], - [41145, 1], - [41144, 1], - [41143, 1], - [41142, 1], - [41141, 1], - [41140, 1], - [41139, 1], - [41138, 1], - [41137, 1], - [41136, 1], - [41135, 1], - [41134, 1], - [41133, 1], - [41132, 1], - [41131, 1], - [41130, 1], - [41129, 1], - [41128, 1], - [41127, 1], - [41126, 1], - [41125, 1], - [41124, 1], - [41123, 1], - [41122, 1], - [41121, 1], - [41120, 1], - [41119, 1], - [41118, 1], - [41117, 1], - [41116, 1], - [41115, 1], - [41114, 1], - [41113, 1], - [41112, 1], - [41111, 1], - [41110, 1], - [41109, 1], - [41108, 1], - [41107, 1], - [41106, 1], - [41105, 1], - [41104, 1], - [41103, 1], - [41102, 1], - [41101, 1], - [41100, 1], - [41099, 1], - [41098, 1], - [41097, 1], - [41096, 1], - [41095, 1], - [41094, 1], - [41093, 1], - [41092, 1], - [41091, 1], - [41090, 1], - [41089, 1], - [41088, 1], - [41087, 1], - [41086, 1], - [41085, 1], - [41084, 1], - [41083, 1], - [41082, 1], - [41081, 1], - [41080, 1], - [41079, 1], - [41078, 1], - [41077, 1], - [41076, 1], - [41075, 1], - [41074, 1], - [41073, 1], - [41072, 1], - [41071, 1], - [41070, 1], - [41069, 1], - [41068, 1], - [41067, 1], - [41066, 1], - [41065, 1], - [41064, 1], - [41063, 1], - [41062, 1], - [41061, 1], - [41060, 1], - [41059, 1], - [41058, 1], - [41057, 1], - [41056, 1], - [41055, 1], - [41054, 1], - [41053, 1], - [41052, 1], - [41051, 1], - [41050, 1], - [41049, 1], - [41048, 1], - [41047, 1], - [41046, 1], - [41045, 1], - [41044, 1], - [41043, 1], - [41042, 1], - [41041, 1], - [41040, 1], - [41039, 1], - [41038, 1], - [41037, 1], - [41036, 1], - [41035, 1], - [41034, 1], - [41033, 1], - [41032, 1], - [41031, 1], - [41030, 1], - [41029, 1], - [41028, 1], - [41027, 1], - [41026, 1], - [41025, 1], - [41024, 1], - [41023, 1], - [41022, 1], - [41021, 1], - [41020, 1], - [41019, 1], - [41018, 1], - [41017, 1], - [41016, 1], - [41015, 1], - [41014, 1], - [41013, 1], - [41012, 1], - [41011, 1], - [41010, 1], - [41009, 1], - [41008, 1], - [41007, 1], - [41006, 1], - [41005, 1], - [41004, 1], - [41003, 1], - [41002, 1], - [41001, 1], - [41000, 1], - [40999, 1], - [40998, 1], - [40997, 1], - [40996, 1], - [40995, 1], - [40994, 1], - [40993, 1], - [40992, 1], - [40991, 1], - [40990, 1], - [40989, 1], - [40988, 1], - [40987, 1], - [40986, 1], - [40985, 1], - [40984, 1], - [40983, 1], - [40982, 1], - [40981, 1], - [40980, 1], - [40979, 1], - [40978, 1], - [40977, 1], - [40976, 1], - [40975, 1], - [40974, 1], - [40973, 1], - [40972, 1], - [40971, 1], - [40970, 1], - [40969, 1], - [40968, 1], - [40967, 1], - [40966, 1], - [40965, 1], - [40964, 1], - [40963, 1], - [40962, 1], - [40961, 1], - [40960, 1], - [40959, 1], - [40958, 1], - [40957, 1], - [40956, 1], - [40955, 1], - [40954, 1], - [40953, 1], - [40952, 1], - [40951, 1], - [40950, 1], - [40949, 1], - [40948, 1], - [40947, 1], - [40946, 1], - [40945, 1], - [40944, 1], - [40943, 1], - [40942, 1], - [40941, 1], - [40940, 1], - [40939, 1], - [40938, 1], - [40937, 1], - [40936, 1], - [40935, 1], - [40934, 1], - [40933, 1], - [40932, 1], - [40931, 1], - [40930, 1], - [40929, 1], - [40928, 1], - [40927, 1], - [40926, 1], - [40925, 1], - [40924, 1], - [40923, 1], - [40922, 1], - [40921, 1], - [40920, 1], - [40919, 1], - [40918, 1], - [40917, 1], - [40916, 1], - [40915, 1], - [40914, 1], - [40913, 1], - [40912, 1], - [40911, 1], - [40910, 1], - [40909, 1], - [40908, 1], - [40907, 1], - [40906, 1], - [40905, 1], - [40904, 1], - [40903, 1], - [40902, 1], - [40901, 1], - [40900, 1], - [40899, 1], - [40898, 1], - [40897, 1], - [40896, 1], - [40895, 1], - [40894, 1], - [40893, 1], - [40892, 1], - [40891, 1], - [40890, 1], - [40889, 1], - [40888, 1], - [40887, 1], - [40886, 1], - [40885, 1], - [40884, 1], - [40883, 1], - [40882, 1], - [40881, 1], - [40880, 1], - [40879, 1], - [40878, 1], - [40877, 1], - [40876, 1], - [40875, 1], - [40874, 1], - [40873, 1], - [40872, 1], - [40871, 1], - [40870, 1], - [40869, 1], - [40868, 1], - [40867, 1], - [40866, 1], - [40865, 1], - [40864, 1], - [40863, 1], - [40862, 1], - [40861, 1], - [40860, 1], - [40859, 1], - [40858, 1], - [40857, 1], - [40856, 1], - [40855, 1], - [40854, 1], - [40853, 1], - [40852, 1], - [40851, 1], - [40850, 1], - [40849, 1], - [40848, 1], - [40847, 1], - [40846, 1], - [40845, 1], - [40844, 1], - [40843, 1], - [40842, 1], - [40841, 1], - [40840, 1], - [40839, 1], - [40838, 1], - [40837, 1], - [40836, 1], - [40835, 1], - [40834, 1], - [40833, 1], - [40832, 1], - [40831, 1], - [40830, 1], - [40829, 1], - [40828, 1], - [40827, 1], - [40826, 1], - [40825, 1], - [40824, 1], - [40823, 1], - [40822, 1], - [40821, 1], - [40820, 1], - [40819, 1], - [40818, 1], - [40817, 1], - [40816, 1], - [40815, 1], - [40814, 1], - [40813, 1], - [40812, 1], - [40811, 1], - [40810, 1], - [40809, 1], - [40808, 1], - [40807, 1], - [40806, 1], - [40805, 1], - [40804, 1], - [40803, 1], - [40802, 1], - [40801, 1], - [40800, 1], - [40799, 1], - [40798, 1], - [40797, 1], - [40796, 1], - [40795, 1], - [40794, 1], - [40793, 1], - [40792, 1], - [40791, 1], - [40790, 1], - [40789, 1], - [40788, 1], - [40787, 1], - [40786, 1], - [40785, 1], - [40784, 1], - [40783, 1], - [40782, 1], - [40781, 1], - [40780, 1], - [40779, 1], - [40778, 1], - [40777, 1], - [40776, 1], - [40775, 1], - [40774, 1], - [40773, 1], - [40772, 1], - [40771, 1], - [40770, 1], - [40769, 1], - [40768, 1], - [40767, 1], - [40766, 1], - [40765, 1], - [40764, 1], - [40763, 1], - [40762, 1], - [40761, 1], - [40760, 1], - [40759, 1], - [40758, 1], - [40757, 1], - [40756, 1], - [40755, 1], - [40754, 1], - [40753, 1], - [40752, 1], - [40751, 1], - [40750, 1], - [40749, 1], - [40748, 1], - [40747, 1], - [40746, 1], - [40745, 1], - [40744, 1], - [40743, 1], - [40742, 1], - [40741, 1], - [40740, 1], - [40739, 1], - [40738, 1], - [40737, 1], - [40736, 1], - [40735, 1], - [40734, 1], - [40733, 1], - [40732, 1], - [40731, 1], - [40730, 1], - [40729, 1], - [40728, 1], - [40727, 1], - [40726, 1], - [40725, 1], - [40724, 1], - [40723, 1], - [40722, 1], - [40721, 1], - [40720, 1], - [40719, 1], - [40718, 1], - [40717, 1], - [40716, 1], - [40715, 1], - [40714, 1], - [40713, 1], - [40712, 1], - [40711, 1], - [40710, 1], - [40709, 1], - [40708, 1], - [40707, 1], - [40706, 1], - [40705, 1], - [40704, 1], - [40703, 1], - [40702, 1], - [40701, 1], - [40700, 1], - [40699, 1], - [40698, 1], - [40697, 1], - [40696, 1], - [40695, 1], - [40694, 1], - [40693, 1], - [40692, 1], - [40691, 1], - [40690, 1], - [40689, 1], - [40688, 1], - [40687, 1], - [40686, 1], - [40685, 1], - [40684, 1], - [40683, 1], - [40682, 1], - [40681, 1], - [40680, 1], - [40679, 1], - [40678, 1], - [40677, 1], - [40676, 1], - [40675, 1], - [40674, 1], - [40673, 1], - [40672, 1], - [40671, 1], - [40670, 1], - [40669, 1], - [40668, 1], - [40667, 1], - [40666, 1], - [40665, 1], - [40664, 1], - [40663, 1], - [40662, 1], - [40661, 1], - [40660, 1], - [40659, 1], - [40658, 1], - [40657, 1], - [40656, 1], - [40655, 1], - [40654, 1], - [40653, 1], - [40652, 1], - [40651, 1], - [40650, 1], - [40649, 1], - [40648, 1], - [40647, 1], - [40646, 1], - [40645, 1], - [40644, 1], - [40643, 1], - [40642, 1], - [40641, 1], - [40640, 1], - [40639, 1], - [40638, 1], - [40637, 1], - [40636, 1], - [40635, 1], - [40634, 1], - [40633, 1], - [40632, 1], - [40631, 1], - [40630, 1], - [40629, 1], - [40628, 1], - [40627, 1], - [40626, 1], - [40625, 1], - [40624, 1], - [40623, 1], - [40622, 1], - [40621, 1], - [40620, 1], - [40619, 1], - [40618, 1], - [40617, 1], - [40616, 1], - [40615, 1], - [40614, 1], - [40613, 1], - [40612, 1], - [40611, 1], - [40610, 1], - [40609, 1], - [40608, 1], - [40607, 1], - [40606, 1], - [40605, 1], - [40604, 1], - [40603, 1], - [40602, 1], - [40601, 1], - [40600, 1], - [40599, 1], - [40598, 1], - [40597, 1], - [40596, 1], - [40595, 1], - [40594, 1], - [40593, 1], - [40592, 1], - [40591, 1], - [40590, 1], - [40589, 1], - [40588, 1], - [40587, 1], - [40586, 1], - [40585, 1], - [40584, 1], - [40583, 1], - [40582, 1], - [40581, 1], - [40580, 1], - [40579, 1], - [40578, 1], - [40577, 1], - [40576, 1], - [40575, 1], - [40574, 1], - [40573, 1], - [40572, 1], - [40571, 1], - [40570, 1], - [40569, 1], - [40568, 1], - [40567, 1], - [40566, 1], - [40565, 1], - [40564, 1], - [40563, 1], - [40562, 1], - [40561, 1], - [40560, 1], - [40559, 1], - [40558, 1], - [40557, 1], - [40556, 1], - [40555, 1], - [40554, 1], - [40553, 1], - [40552, 1], - [40551, 1], - [40550, 1], - [40549, 1], - [40548, 1], - [40547, 1], - [40546, 1], - [40545, 1], - [40544, 1], - [40543, 1], - [40542, 1], - [40541, 1], - [40540, 1], - [40539, 1], - [40538, 1], - [40537, 1], - [40536, 1], - [40535, 1], - [40534, 1], - [40533, 1], - [40532, 1], - [40531, 1], - [40530, 1], - [40529, 1], - [40528, 1], - [40527, 1], - [40526, 1], - [40525, 1], - [40524, 1], - [40523, 1], - [40522, 1], - [40521, 1], - [40520, 1], - [40519, 1], - [40518, 1], - [40517, 1], - [40516, 1], - [40515, 1], - [40514, 1], - [40513, 1], - [40512, 1], - [40511, 1], - [40510, 1], - [40509, 1], - [40508, 1], - [40507, 1], - [40506, 1], - [40505, 1], - [40504, 1], - [40503, 1], - [40502, 1], - [40501, 1], - [40500, 1], - [40499, 1], - [40498, 1], - [40497, 1], - [40496, 1], - [40495, 1], - [40494, 1], - [40493, 1], - [40492, 1], - [40491, 1], - [40490, 1], - [40489, 1], - [40488, 1], - [40487, 1], - [40486, 1], - [40485, 1], - [40484, 1], - [40483, 1], - [40482, 1], - [40481, 1], - [40480, 1], - [40479, 1], - [40478, 1], - [40477, 1], - [40476, 1], - [40475, 1], - [40474, 1], - [40473, 1], - [40472, 1], - [40471, 1], - [40470, 1], - [40469, 1], - [40468, 1], - [40467, 1], - [40466, 1], - [40465, 1], - [40464, 1], - [40463, 1], - [40462, 1], - [40461, 1], - [40460, 1], - [40459, 1], - [40458, 1], - [40457, 1], - [40456, 1], - [40455, 1], - [40454, 1], - [40453, 1], - [40452, 1], - [40451, 1], - [40450, 1], - [40449, 1], - [40448, 1], - [40447, 1], - [40446, 1], - [40445, 1], - [40444, 1], - [40443, 1], - [40442, 1], - [40441, 1], - [40440, 1], - [40439, 1], - [40438, 1], - [40437, 1], - [40436, 1], - [40435, 1], - [40434, 1], - [40433, 1], - [40432, 1], - [40431, 1], - [40430, 1], - [40429, 1], - [40428, 1], - [40427, 1], - [40426, 1], - [40425, 1], - [40424, 1], - [40423, 1], - [40422, 1], - [40421, 1], - [40420, 1], - [40419, 1], - [40418, 1], - [40417, 1], - [40416, 1], - [40415, 1], - [45818, 0, "\n"], - [45819, 0, "\n"], - [45820, 0, "\\"], - [45821, 0, "s"], - [45822, 0, "e"], - [45823, 0, "c"], - [45824, 0, "t"], - [45825, 0, "i"], - [45826, 0, "o"], - [45827, 0, "n"], - [45828, 0, "{"], - [45829, 0, "F"], - [45830, 0, "o"], - [45831, 0, "r"], - [45832, 0, "m"], - [45833, 0, "a"], - [45834, 0, "l"], - [45835, 0, " "], - [45836, 0, "s"], - [45837, 0, "e"], - [45838, 0, "m"], - [45839, 0, "a"], - [45840, 0, "n"], - [45841, 0, "t"], - [45842, 0, "i"], - [45843, 0, "c"], - [45844, 0, "s"], - [45845, 0, "}"], - [45846, 0, "\\"], - [45847, 0, "l"], - [45848, 0, "a"], - [45849, 0, "b"], - [45850, 0, "e"], - [45851, 0, "l"], - [45852, 0, "{"], - [45853, 0, "s"], - [45854, 0, "e"], - [45855, 0, "c"], - [45856, 0, ":"], - [45857, 0, "s"], - [45858, 0, "e"], - [45859, 0, "m"], - [45860, 0, "a"], - [45861, 0, "n"], - [45862, 0, "t"], - [45863, 0, "i"], - [45864, 0, "c"], - [45865, 0, "s"], - [45866, 0, "}"], - [45836, 1], - [45836, 0, "S"], - [5276, 1], - [5276, 0, "D"], - [5281, 1], - [5281, 0, "M"], - [6964, 1], - [6964, 0, "C"], - [6973, 1], - [6973, 0, "R"], - [8789, 1], - [8789, 0, "C"], - [10189, 1], - [10189, 0, "W"], - [10361, 1], - [10361, 0, "T"], - [15659, 1], - [15659, 0, " "], - [15660, 1], - [15660, 0, "A"], - [17446, 1], - [17446, 0, "D"], - [17451, 1], - [17451, 0, "S"], - [17763, 1], - [17763, 0, "E"], - [17771, 1], - [17771, 0, "E"], - [33575, 1], - [33575, 0, "V"], - [35042, 1], - [35042, 0, "E"], - [47234, 1], - [47234, 0, "E"], - [51434, 1], - [51434, 0, "O"], - [51993, 1], - [51993, 0, "T"], - [53963, 1], - [53963, 0, "S"], - [55789, 1], - [55789, 0, "G"], - [55800, 1], - [55800, 0, "O"], - [61177, 0, "o"], - [61177, 1], - [61177, 1], - [61177, 0, "O"], - [69734, 1], - [69734, 0, "P"], - [69740, 1], - [69740, 0, "S"], - [80585, 1], - [80585, 0, "F"], - [80593, 1], - [80593, 0, "W"], - [84376, 1], - [84376, 0, "C"], - [47208, 1], - [47207, 1], - [47206, 1], - [47205, 1], - [47204, 1], - [47203, 1], - [47202, 1], - [47201, 1], - [47200, 1], - [47199, 1], - [47198, 1], - [47197, 1], - [47196, 1], - [47195, 1], - [47194, 1], - [47193, 1], - [47192, 1], - [47191, 1], - [47190, 1], - [47189, 1], - [47188, 1], - [47187, 1], - [47186, 1], - [47185, 1], - [47184, 1], - [47183, 1], - [47182, 1], - [47181, 1], - [47180, 1], - [47179, 1], - [47178, 1], - [47177, 1], - [47176, 1], - [47175, 1], - [47174, 1], - [47173, 1], - [47172, 1], - [47171, 1], - [47170, 1], - [47169, 1], - [47168, 1], - [47167, 1], - [47166, 1], - [47165, 1], - [47164, 1], - [47163, 1], - [47162, 1], - [47161, 1], - [47160, 1], - [47159, 1], - [47158, 1], - [47157, 1], - [47156, 1], - [47155, 1], - [47154, 1], - [47153, 1], - [47152, 1], - [47151, 1], - [47150, 1], - [47149, 1], - [47148, 1], - [47147, 1], - [47146, 1], - [47145, 1], - [47144, 1], - [47143, 1], - [47142, 1], - [47141, 1], - [47140, 1], - [47139, 1], - [47138, 1], - [47137, 1], - [47136, 1], - [47135, 1], - [47134, 1], - [47133, 1], - [47132, 1], - [47131, 1], - [47130, 1], - [47129, 1], - [47128, 1], - [47127, 1], - [47126, 1], - [47125, 1], - [47124, 1], - [47123, 1], - [47122, 1], - [47121, 1], - [47120, 1], - [47119, 1], - [47118, 1], - [47117, 1], - [47116, 1], - [47115, 1], - [47114, 1], - [47113, 1], - [47112, 1], - [47111, 1], - [47110, 1], - [47109, 1], - [47108, 1], - [47107, 1], - [47106, 1], - [47105, 1], - [47104, 1], - [47103, 1], - [47102, 1], - [47101, 1], - [47100, 1], - [47099, 1], - [47098, 1], - [47097, 1], - [47096, 1], - [47095, 1], - [47094, 1], - [47093, 1], - [47092, 1], - [47091, 1], - [47090, 1], - [47089, 1], - [47088, 1], - [47087, 1], - [47086, 1], - [47085, 1], - [47084, 1], - [47083, 1], - [47082, 1], - [47081, 1], - [47080, 1], - [47079, 1], - [47078, 1], - [47077, 1], - [47076, 1], - [47075, 1], - [47074, 1], - [47073, 1], - [47072, 1], - [47071, 1], - [47070, 1], - [47069, 1], - [47068, 1], - [47067, 1], - [47066, 1], - [47065, 1], - [47064, 1], - [47063, 1], - [47062, 1], - [47061, 1], - [47060, 1], - [47059, 1], - [47058, 1], - [47057, 1], - [47056, 1], - [47055, 1], - [47054, 1], - [47053, 1], - [47052, 1], - [47051, 1], - [47050, 1], - [47049, 1], - [47048, 1], - [47047, 1], - [47046, 1], - [47045, 1], - [47044, 1], - [47043, 1], - [47042, 1], - [47041, 1], - [47040, 1], - [47039, 1], - [47038, 1], - [47037, 1], - [47036, 1], - [47035, 1], - [47034, 1], - [47033, 1], - [47032, 1], - [47031, 1], - [47030, 1], - [47029, 1], - [47028, 1], - [47027, 1], - [47026, 1], - [47025, 1], - [47024, 1], - [47023, 1], - [47022, 1], - [47021, 1], - [47020, 1], - [47019, 1], - [47018, 1], - [47017, 1], - [47016, 1], - [47015, 1], - [47014, 1], - [47013, 1], - [47012, 1], - [47011, 1], - [47010, 1], - [47009, 1], - [47008, 1], - [47007, 1], - [47006, 1], - [47005, 1], - [47004, 1], - [47003, 1], - [47002, 1], - [47001, 1], - [47000, 1], - [46999, 1], - [46998, 1], - [46997, 1], - [46996, 1], - [46995, 1], - [46994, 1], - [46993, 1], - [46992, 1], - [46991, 1], - [46990, 1], - [46989, 1], - [46988, 1], - [46987, 1], - [46986, 1], - [46985, 1], - [46984, 1], - [46983, 1], - [46982, 1], - [46981, 1], - [46980, 1], - [46979, 1], - [46978, 1], - [46977, 1], - [46976, 1], - [46975, 1], - [46974, 1], - [46973, 1], - [46972, 1], - [46971, 1], - [46970, 1], - [46969, 1], - [46968, 1], - [46967, 1], - [46966, 1], - [46965, 1], - [46964, 1], - [46963, 1], - [46962, 1], - [46961, 1], - [46960, 1], - [46959, 1], - [46958, 1], - [46957, 1], - [46956, 1], - [46955, 1], - [46954, 1], - [46953, 1], - [46952, 1], - [46951, 1], - [46950, 1], - [46949, 1], - [46948, 1], - [46947, 1], - [46946, 1], - [46945, 1], - [46944, 1], - [46943, 1], - [46942, 1], - [46941, 1], - [46940, 1], - [46939, 1], - [46938, 1], - [46937, 1], - [46936, 1], - [46935, 1], - [46934, 1], - [46933, 1], - [46932, 1], - [46931, 1], - [46930, 1], - [46929, 1], - [46928, 1], - [46927, 1], - [46926, 1], - [46925, 1], - [46924, 1], - [46923, 1], - [46922, 1], - [46921, 1], - [46920, 1], - [46919, 1], - [46918, 1], - [46917, 1], - [46916, 1], - [46915, 1], - [46914, 1], - [46913, 1], - [46912, 1], - [46911, 1], - [46910, 1], - [46909, 1], - [46908, 1], - [46907, 1], - [46906, 1], - [46905, 1], - [46904, 1], - [46903, 1], - [46902, 1], - [46901, 1], - [46900, 1], - [46899, 1], - [46898, 1], - [46897, 1], - [46896, 1], - [46895, 1], - [46894, 1], - [46893, 1], - [46892, 1], - [46891, 1], - [46890, 1], - [46889, 1], - [46888, 1], - [46887, 1], - [46886, 1], - [46885, 1], - [46884, 1], - [46883, 1], - [46882, 1], - [46881, 1], - [46880, 1], - [46879, 1], - [46878, 1], - [46877, 1], - [46876, 1], - [46875, 1], - [46874, 1], - [46873, 1], - [46872, 1], - [46871, 1], - [46870, 1], - [46869, 1], - [46868, 1], - [46867, 1], - [46866, 1], - [46865, 1], - [46864, 1], - [46863, 1], - [46862, 1], - [46861, 1], - [46860, 1], - [46859, 1], - [46858, 1], - [46857, 1], - [46856, 1], - [46855, 1], - [46854, 1], - [46853, 1], - [46852, 1], - [46851, 1], - [46850, 1], - [46849, 1], - [46848, 1], - [46847, 1], - [46846, 1], - [46845, 1], - [46844, 1], - [46843, 1], - [46842, 1], - [46841, 1], - [46840, 1], - [46839, 1], - [46838, 1], - [46837, 1], - [46836, 1], - [46835, 1], - [46834, 1], - [46833, 1], - [46832, 1], - [46831, 1], - [46830, 1], - [46829, 1], - [46828, 1], - [46827, 1], - [46826, 1], - [46825, 1], - [46824, 1], - [46823, 1], - [46822, 1], - [46821, 1], - [46820, 1], - [46819, 1], - [46818, 1], - [46817, 1], - [46816, 1], - [46815, 1], - [46814, 1], - [46813, 1], - [46812, 1], - [46811, 1], - [46810, 1], - [46809, 1], - [46808, 1], - [46807, 1], - [46806, 1], - [46805, 1], - [46804, 1], - [46803, 1], - [46802, 1], - [46801, 1], - [46800, 1], - [46799, 1], - [46798, 1], - [46797, 1], - [46796, 1], - [46795, 1], - [46794, 1], - [46793, 1], - [46792, 1], - [46791, 1], - [46790, 1], - [46789, 1], - [46788, 1], - [46787, 1], - [46786, 1], - [46785, 1], - [46784, 1], - [46783, 1], - [46782, 1], - [46781, 1], - [46780, 1], - [46779, 1], - [46778, 1], - [46777, 1], - [46776, 1], - [46775, 1], - [46774, 1], - [46773, 1], - [46772, 1], - [46771, 1], - [46770, 1], - [46769, 1], - [46768, 1], - [46767, 1], - [46766, 1], - [46765, 1], - [46764, 1], - [46763, 1], - [46762, 1], - [46761, 1], - [46760, 1], - [46759, 1], - [46758, 1], - [46757, 1], - [46756, 1], - [46755, 1], - [46754, 1], - [46753, 1], - [46752, 1], - [46751, 1], - [46750, 1], - [46749, 1], - [46748, 1], - [46747, 1], - [46746, 1], - [46745, 1], - [46744, 1], - [46743, 1], - [46742, 1], - [46741, 1], - [46740, 1], - [46739, 1], - [46738, 1], - [46737, 1], - [46736, 1], - [46735, 1], - [46734, 1], - [46733, 1], - [46732, 1], - [46731, 1], - [46730, 1], - [46729, 1], - [46728, 1], - [46727, 1], - [46726, 1], - [46725, 1], - [46724, 1], - [46723, 1], - [46722, 1], - [46721, 1], - [46720, 1], - [46719, 1], - [46718, 1], - [46717, 1], - [46716, 1], - [46715, 1], - [46714, 1], - [46713, 1], - [46712, 1], - [46711, 1], - [46710, 1], - [46709, 1], - [46708, 1], - [46707, 1], - [46706, 1], - [46705, 1], - [46704, 1], - [46703, 1], - [46702, 1], - [46701, 1], - [46700, 1], - [46699, 1], - [46698, 1], - [46697, 1], - [46696, 1], - [46695, 1], - [46694, 1], - [46693, 1], - [46692, 1], - [46691, 1], - [46690, 1], - [46689, 1], - [46688, 1], - [46687, 1], - [46686, 1], - [46685, 1], - [46684, 1], - [46683, 1], - [46682, 1], - [46681, 1], - [46680, 1], - [46679, 1], - [46678, 1], - [46677, 1], - [46676, 1], - [46675, 1], - [46674, 1], - [46673, 1], - [46672, 1], - [46671, 1], - [46670, 1], - [46669, 1], - [46668, 1], - [46667, 1], - [46666, 1], - [46665, 1], - [46664, 1], - [46663, 1], - [46662, 1], - [46661, 1], - [46660, 1], - [46659, 1], - [46658, 1], - [46657, 1], - [46656, 1], - [46655, 1], - [46654, 1], - [46653, 1], - [46652, 1], - [46651, 1], - [46650, 1], - [46649, 1], - [46648, 1], - [46647, 1], - [46646, 1], - [46645, 1], - [46644, 1], - [46643, 1], - [46642, 1], - [46641, 1], - [46640, 1], - [46639, 1], - [46638, 1], - [46637, 1], - [46636, 1], - [46635, 1], - [46634, 1], - [46633, 1], - [46632, 1], - [46631, 1], - [46630, 1], - [46629, 1], - [46628, 1], - [46627, 1], - [46626, 1], - [46625, 1], - [46624, 1], - [46623, 1], - [46622, 1], - [46621, 1], - [46620, 1], - [46619, 1], - [46618, 1], - [46617, 1], - [46616, 1], - [46615, 1], - [46614, 1], - [46613, 1], - [46612, 1], - [46611, 1], - [46610, 1], - [46609, 1], - [46608, 1], - [46607, 1], - [46606, 1], - [46605, 1], - [46604, 1], - [46603, 1], - [46602, 1], - [46601, 1], - [46600, 1], - [46599, 1], - [46598, 1], - [46597, 1], - [46596, 1], - [46595, 1], - [46594, 1], - [46593, 1], - [46592, 1], - [46591, 1], - [46590, 1], - [46589, 1], - [46588, 1], - [46587, 1], - [46586, 1], - [46585, 1], - [46584, 1], - [46583, 1], - [46582, 1], - [46581, 1], - [46580, 1], - [46579, 1], - [46578, 1], - [46577, 1], - [46576, 1], - [46575, 1], - [46574, 1], - [46573, 1], - [46572, 1], - [46571, 1], - [46570, 1], - [46569, 1], - [46568, 1], - [46567, 1], - [46566, 1], - [46565, 1], - [46564, 1], - [46563, 1], - [46562, 1], - [46561, 1], - [46560, 1], - [46559, 1], - [46558, 1], - [46557, 1], - [46556, 1], - [46555, 1], - [46554, 1], - [46553, 1], - [46552, 1], - [46551, 1], - [46550, 1], - [46549, 1], - [46548, 1], - [46547, 1], - [46546, 1], - [46545, 1], - [46544, 1], - [46543, 1], - [46542, 1], - [46541, 1], - [46540, 1], - [46539, 1], - [46538, 1], - [46537, 1], - [46536, 1], - [46535, 1], - [46534, 1], - [46533, 1], - [46532, 1], - [46531, 1], - [46530, 1], - [46529, 1], - [46528, 1], - [46527, 1], - [46526, 1], - [46525, 1], - [46524, 1], - [46523, 1], - [46522, 1], - [46521, 1], - [46520, 1], - [46519, 1], - [46518, 1], - [46517, 1], - [46516, 1], - [46515, 1], - [46514, 1], - [46513, 1], - [46512, 1], - [46511, 1], - [46510, 1], - [46509, 1], - [46508, 1], - [46507, 1], - [46506, 1], - [46505, 1], - [46504, 1], - [46503, 1], - [46502, 1], - [46501, 1], - [46500, 1], - [46499, 1], - [46498, 1], - [46497, 1], - [46496, 1], - [46495, 1], - [46494, 1], - [46493, 1], - [46492, 1], - [46491, 1], - [46490, 1], - [46489, 1], - [46488, 1], - [46487, 1], - [46486, 1], - [46485, 1], - [46484, 1], - [46483, 1], - [46482, 1], - [46481, 1], - [46480, 1], - [46479, 1], - [46478, 1], - [46477, 1], - [46476, 1], - [46475, 1], - [46474, 1], - [46473, 1], - [46472, 1], - [46471, 1], - [46470, 1], - [46469, 1], - [46468, 1], - [46467, 1], - [46466, 1], - [46465, 1], - [46464, 1], - [46463, 1], - [46462, 1], - [46461, 1], - [46460, 1], - [46459, 1], - [46458, 1], - [46457, 1], - [46456, 1], - [46455, 1], - [46454, 1], - [46453, 1], - [46452, 1], - [46451, 1], - [46450, 1], - [46449, 1], - [46448, 1], - [46447, 1], - [46446, 1], - [46445, 1], - [46444, 1], - [46443, 1], - [46442, 1], - [46441, 1], - [46440, 1], - [46439, 1], - [46438, 1], - [46437, 1], - [46436, 1], - [46435, 1], - [46434, 1], - [46433, 1], - [46432, 1], - [46431, 1], - [46430, 1], - [46429, 1], - [46428, 1], - [46427, 1], - [46426, 1], - [46425, 1], - [46424, 1], - [46423, 1], - [46422, 1], - [46421, 1], - [46420, 1], - [46419, 1], - [46418, 1], - [46417, 1], - [46416, 1], - [46415, 1], - [46414, 1], - [46413, 1], - [46412, 1], - [46411, 1], - [47619, 0, " "], - [47620, 0, "l"], - [47621, 0, "o"], - [47622, 0, "c"], - [47623, 0, "a"], - [47624, 0, "l"], - [47625, 0, " "], - [47626, 0, "r"], - [47627, 0, "e"], - [47628, 0, "p"], - [47629, 0, "l"], - [47630, 0, "i"], - [47631, 0, "c"], - [47632, 0, "a"], - [47633, 0, " "], - [47634, 0, "s"], - [47635, 0, "t"], - [47636, 0, "a"], - [47637, 0, "t"], - [47638, 0, "e"], - [47649, 0, " "], - [47650, 0, "$"], - [47651, 0, "A"], - [47652, 0, "_"], - [47653, 0, "p"], - [47654, 0, "$"], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [47655, 1], - [51491, 1], - [51491, 0, "I"], - [51498, 0, ","], - [51499, 0, " "], - [51500, 0, "w"], - [51501, 0, "h"], - [51502, 0, "e"], - [51503, 0, "n"], - [51504, 0, "e"], - [51505, 0, "v"], - [51506, 0, "e"], - [51507, 0, "r"], - [51508, 0, " "], - [51509, 0, "a"], - [51510, 0, "n"], - [51511, 0, " "], - [51512, 0, "e"], - [51513, 0, "l"], - [51514, 0, "e"], - [51515, 0, "m"], - [51516, 0, "e"], - [51517, 0, "n"], - [51518, 0, "t"], - [51519, 0, " "], - [51520, 0, "i"], - [51521, 0, "s"], - [51522, 0, " "], - [51523, 0, "i"], - [51524, 0, "n"], - [51525, 0, "s"], - [51526, 0, "e"], - [51527, 0, "r"], - [51528, 0, "t"], - [51529, 0, "e"], - [51530, 0, "d"], - [51531, 0, " "], - [51532, 0, "i"], - [51533, 0, "n"], - [51534, 0, "t"], - [51535, 0, "o"], - [51536, 0, " "], - [51537, 0, "a"], - [51538, 0, " "], - [51539, 0, "l"], - [51540, 0, "i"], - [51541, 0, "s"], - [51542, 0, "t"], - [51543, 0, " "], - [51544, 0, "o"], - [51545, 0, "r"], - [51546, 0, " "], - [51547, 0, "a"], - [51548, 0, " "], - [51549, 0, "v"], - [51550, 0, "a"], - [51551, 0, "l"], - [51552, 0, "u"], - [51553, 0, "e"], - [51554, 0, " "], - [51555, 0, "i"], - [51556, 0, "s"], - [51557, 0, " "], - [51558, 0, "a"], - [51559, 0, "s"], - [51560, 0, "s"], - [51561, 0, "i"], - [51562, 0, "g"], - [51563, 0, "n"], - [51564, 0, "e"], - [51565, 0, "d"], - [51566, 0, " "], - [51567, 0, "t"], - [51568, 0, "o"], - [51569, 0, " "], - [51570, 0, "a"], - [51571, 0, " "], - [51572, 0, "r"], - [51573, 0, "e"], - [51574, 0, "g"], - [51575, 0, "i"], - [51576, 0, "s"], - [51577, 0, "t"], - [51578, 0, "e"], - [51579, 0, "r"], - [51580, 0, ","], - [51581, 0, " "], - [51582, 0, "t"], - [51583, 0, "h"], - [51584, 0, "e"], - [51585, 0, " "], - [51586, 0, "o"], - [51587, 0, "p"], - [51588, 0, "e"], - [51589, 0, "r"], - [51590, 0, "a"], - [51591, 0, "t"], - [51592, 0, "i"], - [51593, 0, "o"], - [51594, 0, "n"], - [51595, 0, " "], - [51595, 1], - [51594, 1], - [51593, 1], - [51592, 1], - [51591, 1], - [51590, 1], - [51589, 1], - [51588, 1], - [51587, 1], - [51586, 1], - [51586, 0, "n"], - [51587, 0, "e"], - [51588, 0, "w"], - [51589, 0, " "], - [51590, 0, "l"], - [51591, 0, "i"], - [51592, 0, "s"], - [51593, 0, "t"], - [51594, 0, " "], - [51595, 0, "e"], - [51596, 0, "l"], - [51597, 0, "e"], - [51598, 0, "m"], - [51599, 0, "e"], - [51600, 0, "n"], - [51601, 0, "t"], - [51602, 0, " "], - [51603, 0, "o"], - [51604, 0, "r"], - [51605, 0, " "], - [51606, 0, "r"], - [51607, 0, "e"], - [51608, 0, "g"], - [51609, 0, "i"], - [51610, 0, "s"], - [51611, 0, "t"], - [51612, 0, "e"], - [51613, 0, "r"], - [51614, 0, " "], - [51615, 0, "v"], - [51616, 0, "a"], - [51617, 0, "l"], - [51618, 0, "u"], - [51619, 0, "e"], - [51620, 0, " "], - [51621, 0, "i"], - [51622, 0, "s"], - [51623, 0, " "], - [51624, 0, "i"], - [51625, 0, "d"], - [51626, 0, "e"], - [51627, 0, "n"], - [51628, 0, "t"], - [51629, 0, "i"], - [51630, 0, "f"], - [51631, 0, "i"], - [51632, 0, "e"], - [51633, 0, "d"], - [51634, 0, " "], - [51635, 0, "b"], - [51636, 0, "y"], - [51637, 0, " "], - [51638, 0, "t"], - [51639, 0, "h"], - [51640, 0, "e"], - [51641, 0, " "], - [51642, 0, "i"], - [51643, 0, "d"], - [51644, 0, "e"], - [51645, 0, "n"], - [51646, 0, "t"], - [51647, 0, "i"], - [51648, 0, "f"], - [51649, 0, "i"], - [51650, 0, "e"], - [51651, 0, "r"], - [51652, 0, " "], - [51653, 0, "o"], - [51654, 0, "f"], - [51655, 0, " "], - [51656, 0, "t"], - [51657, 0, "h"], - [51658, 0, "e"], - [51659, 0, " "], - [51660, 0, "o"], - [51661, 0, "p"], - [51662, 0, "e"], - [51663, 0, "r"], - [51664, 0, "a"], - [51665, 0, "t"], - [51666, 0, "i"], - [51667, 0, "o"], - [51668, 0, "n"], - [51669, 0, " "], - [51670, 0, "t"], - [51671, 0, "h"], - [51672, 0, "a"], - [51673, 0, "t"], - [51674, 0, " "], - [51675, 0, "c"], - [51676, 0, "r"], - [51677, 0, "e"], - [51678, 0, "a"], - [51679, 0, "t"], - [51680, 0, "e"], - [51681, 0, "d"], - [51682, 0, " "], - [51683, 0, "i"], - [51684, 0, "t"], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51685, 1], - [51500, 1], - [51500, 0, "W"], - [51499, 1], - [51498, 1], - [51497, 1], - [51496, 1], - [51495, 1], - [51494, 1], - [51493, 1], - [51492, 1], - [51491, 1], - [51490, 1], - [51489, 1], - [51488, 1], - [51487, 1], - [51486, 1], - [51485, 1], - [51484, 1], - [51483, 1], - [51482, 1], - [51481, 1], - [51480, 1], - [51479, 1], - [51478, 1], - [51477, 1], - [51476, 1], - [51475, 1], - [51474, 1], - [51473, 1], - [51472, 1], - [51471, 1], - [51470, 1], - [51469, 1], - [51468, 1], - [51467, 1], - [51466, 1], - [51465, 1], - [51464, 1], - [51463, 1], - [51462, 1], - [51461, 1], - [51460, 1], - [51459, 1], - [51458, 1], - [51457, 1], - [51456, 1], - [51455, 1], - [51454, 1], - [51453, 1], - [51452, 1], - [51451, 1], - [51450, 1], - [51449, 1], - [51448, 1], - [51447, 1], - [51446, 1], - [51445, 1], - [51444, 1], - [51443, 1], - [51442, 1], - [51441, 1], - [51440, 1], - [51439, 1], - [51438, 1], - [51437, 1], - [51436, 1], - [51435, 1], - [51434, 1], - [51433, 1], - [51432, 1], - [51431, 1], - [51430, 1], - [51429, 1], - [51428, 1], - [51427, 1], - [51426, 1], - [51425, 1], - [51424, 1], - [51423, 1], - [51422, 1], - [51421, 1], - [51420, 1], - [51419, 1], - [51418, 1], - [51417, 1], - [51416, 1], - [51415, 1], - [51414, 1], - [51413, 1], - [51412, 1], - [51411, 1], - [51410, 1], - [51409, 1], - [51408, 1], - [51407, 1], - [51406, 1], - [51405, 1], - [51404, 1], - [51403, 1], - [51402, 1], - [51401, 1], - [51400, 1], - [51399, 1], - [51398, 1], - [51397, 1], - [51396, 1], - [51395, 1], - [51394, 1], - [51393, 1], - [51392, 1], - [51391, 1], - [51390, 1], - [51389, 1], - [51388, 1], - [51387, 1], - [51386, 1], - [51385, 1], - [51384, 1], - [51383, 1], - [51382, 1], - [51381, 1], - [51380, 1], - [51379, 1], - [51378, 1], - [51377, 1], - [51376, 1], - [51375, 1], - [51374, 1], - [51373, 1], - [51372, 1], - [51371, 1], - [51370, 1], - [51369, 1], - [51368, 1], - [51367, 1], - [51366, 1], - [51365, 1], - [51364, 1], - [51363, 1], - [51362, 1], - [51361, 1], - [51360, 1], - [51359, 1], - [51358, 1], - [51357, 1], - [51356, 1], - [51355, 1], - [51354, 1], - [51353, 1], - [51352, 1], - [51351, 1], - [51350, 1], - [51349, 1], - [51348, 1], - [51347, 1], - [51346, 1], - [51345, 1], - [51344, 1], - [51343, 1], - [51342, 1], - [51341, 1], - [51340, 1], - [51339, 1], - [51338, 1], - [51337, 1], - [51336, 1], - [51335, 1], - [51334, 1], - [51333, 1], - [51332, 1], - [51331, 1], - [51330, 1], - [51329, 1], - [51328, 1], - [51327, 1], - [51326, 1], - [51325, 1], - [51324, 1], - [51323, 1], - [51322, 1], - [51321, 1], - [51320, 1], - [51319, 1], - [51318, 1], - [51317, 1], - [51316, 1], - [51315, 1], - [51314, 1], - [51313, 1], - [51312, 1], - [51311, 1], - [51310, 1], - [51309, 1], - [51308, 1], - [48640, 1], - [48640, 0, "."], - [48641, 0, "g"], - [48642, 0, "e"], - [48643, 0, "t"], - [48644, 0, "("], - [48655, 1], - [48655, 0, ")"], - [48844, 1], - [48844, 0, "."], - [48845, 0, "g"], - [48846, 0, "e"], - [48847, 0, "t"], - [48848, 0, "("], - [48852, 1], - [48852, 0, ")"], - [46817, 1], - [46816, 1], - [46815, 1], - [46814, 1], - [46813, 1], - [46812, 1], - [46811, 1], - [46811, 0, "."], - [46812, 0, " "], - [46813, 0, "T"], - [46811, 0, " "], - [46812, 0, "("], - [46813, 0, "t"], - [46814, 0, "h"], - [46815, 0, "e"], - [46816, 0, " "], - [46817, 0, "n"], - [46818, 0, "o"], - [46819, 0, "t"], - [46820, 0, "a"], - [46821, 0, "t"], - [46822, 0, "i"], - [46823, 0, "o"], - [46824, 0, "n"], - [46825, 0, " "], - [46826, 0, "$"], - [46827, 0, "A"], - [46828, 0, "_"], - [46829, 0, "p"], - [46830, 0, "["], - [46831, 0, "\\"], - [46832, 0, ","], - [46833, 0, "x"], - [46834, 0, " "], - [46835, 0, "\\"], - [46836, 0, ","], - [46837, 0, "\\"], - [46838, 0, "m"], - [46839, 0, "a"], - [46840, 0, "p"], - [46841, 0, "s"], - [46842, 0, "t"], - [46843, 0, "o"], - [46844, 0, "\\"], - [46845, 0, ","], - [46846, 0, " "], - [46847, 0, "\\"], - [46848, 0, "m"], - [46849, 0, "a"], - [46850, 0, "t"], - [46851, 0, "h"], - [46852, 0, "i"], - [46853, 0, "t"], - [46854, 0, "{"], - [46855, 0, "c"], - [46856, 0, "u"], - [46857, 0, "r"], - [46858, 0, "}"], - [46859, 0, "\\"], - [46860, 0, ","], - [46861, 0, "]"], - [46862, 0, "$"], - [46863, 0, " "], - [46864, 0, "d"], - [46865, 0, "e"], - [46866, 0, "n"], - [46867, 0, "o"], - [46868, 0, "t"], - [46869, 0, "e"], - [46870, 0, "s"], - [46871, 0, " "], - [46872, 0, "a"], - [46873, 0, " "], - [46874, 0, "p"], - [46875, 0, "a"], - [46876, 0, "r"], - [46877, 0, "t"], - [46878, 0, "i"], - [46879, 0, "a"], - [46880, 0, "l"], - [46881, 0, " "], - [46882, 0, "f"], - [46883, 0, "u"], - [46884, 0, "n"], - [46885, 0, "c"], - [46886, 0, "t"], - [46887, 0, "i"], - [46888, 0, "o"], - [46889, 0, "n"], - [46890, 0, " "], - [46891, 0, "t"], - [46892, 0, "h"], - [46893, 0, "a"], - [46894, 0, "t"], - [46895, 0, " "], - [46896, 0, "i"], - [46897, 0, "s"], - [46898, 0, " "], - [46899, 0, "t"], - [46900, 0, "h"], - [46901, 0, "e"], - [46902, 0, " "], - [46903, 0, "s"], - [46904, 0, "a"], - [46905, 0, "m"], - [46906, 0, "e"], - [46907, 0, " "], - [46908, 0, "a"], - [46909, 0, "s"], - [46910, 0, " "], - [46911, 0, "$"], - [46912, 0, "A"], - [46913, 0, "_"], - [46914, 0, "p"], - [46915, 0, "$"], - [46916, 0, ","], - [46917, 0, " "], - [46918, 0, "e"], - [46919, 0, "x"], - [46920, 0, "c"], - [46921, 0, "e"], - [46922, 0, "p"], - [46923, 0, "t"], - [46924, 0, " "], - [46925, 0, "t"], - [46926, 0, "h"], - [46927, 0, "a"], - [46928, 0, "t"], - [46929, 0, " "], - [46930, 0, "$"], - [46931, 0, "A"], - [46932, 0, "_"], - [46933, 0, "p"], - [46934, 0, "("], - [46935, 0, "x"], - [46936, 0, ")"], - [46937, 0, " "], - [46938, 0, "="], - [46939, 0, " "], - [46940, 0, "\\"], - [46941, 0, "m"], - [46942, 0, "a"], - [46943, 0, "t"], - [46944, 0, "h"], - [46945, 0, "i"], - [46946, 0, "t"], - [46947, 0, "{"], - [46948, 0, "c"], - [46949, 0, "u"], - [46950, 0, "r"], - [46951, 0, "}"], - [46952, 0, "$"], - [46953, 0, ")"], - [47071, 0, " "], - [47072, 0, "f"], - [47073, 0, "o"], - [47074, 0, "l"], - [47075, 0, "l"], - [47076, 0, "o"], - [47077, 0, "w"], - [47078, 0, "i"], - [47079, 0, "n"], - [47080, 0, "g"], - [51355, 0, "\\"], - [51356, 0, "l"], - [51357, 0, "a"], - [51358, 0, "b"], - [51359, 0, "e"], - [51360, 0, "l"], - [51361, 0, "{"], - [51362, 0, "s"], - [51363, 0, "e"], - [51364, 0, "c"], - [51365, 0, ":"], - [51366, 0, "l"], - [51367, 0, "a"], - [51368, 0, "m"], - [51369, 0, "p"], - [51370, 0, "o"], - [51371, 0, "r"], - [51372, 0, "t"], - [51373, 0, "}"], - [51373, 0, "-"], - [51374, 0, "t"], - [51375, 0, "s"], - [47723, 0, ","], - [47724, 0, " "], - [47725, 0, "a"], - [47726, 0, "s"], - [47727, 0, "s"], - [47728, 0, "u"], - [47729, 0, "m"], - [47730, 0, "i"], - [47731, 0, "n"], - [47732, 0, "g"], - [47733, 0, " "], - [47734, 0, "t"], - [47735, 0, "h"], - [47736, 0, "a"], - [47737, 0, "t"], - [47738, 0, " "], - [47739, 0, "$"], - [47740, 0, "\\"], - [47741, 0, "m"], - [47742, 0, "a"], - [47743, 0, "t"], - [47744, 0, "h"], - [47745, 0, "i"], - [47746, 0, "t"], - [47747, 0, "{"], - [47748, 0, "i"], - [47749, 0, "d"], - [47750, 0, "}"], - [47751, 0, "_"], - [47752, 0, "1"], - [47753, 0, "$"], - [47754, 0, " "], - [47755, 0, "i"], - [47756, 0, "s"], - [47757, 0, " "], - [47758, 0, "t"], - [47759, 0, "h"], - [47760, 0, "e"], - [47761, 0, " "], - [47762, 0, "u"], - [47763, 0, "n"], - [47764, 0, "i"], - [47765, 0, "q"], - [47766, 0, "u"], - [47767, 0, "e"], - [47768, 0, " "], - [47769, 0, "i"], - [47770, 0, "d"], - [47771, 0, "e"], - [47772, 0, "n"], - [47773, 0, "t"], - [47774, 0, "i"], - [47775, 0, "f"], - [47776, 0, "i"], - [47777, 0, "e"], - [47778, 0, "r"], - [47779, 0, " "], - [47780, 0, "o"], - [47781, 0, "f"], - [47782, 0, " "], - [47783, 0, "t"], - [47784, 0, "h"], - [47785, 0, "e"], - [47786, 0, " "], - [47787, 0, "o"], - [47788, 0, "p"], - [47789, 0, "e"], - [47790, 0, "r"], - [47791, 0, "a"], - [47792, 0, "t"], - [47793, 0, "i"], - [47794, 0, "o"], - [47795, 0, "n"], - [47796, 0, " "], - [47797, 0, "t"], - [47798, 0, "h"], - [47799, 0, "a"], - [47800, 0, "t"], - [47801, 0, " "], - [47802, 0, "i"], - [47803, 0, "n"], - [47804, 0, "s"], - [47805, 0, "e"], - [47806, 0, "r"], - [47807, 0, "t"], - [47808, 0, "e"], - [47809, 0, "d"], - [47810, 0, " "], - [47811, 0, "t"], - [47812, 0, "h"], - [47813, 0, "i"], - [47814, 0, "s"], - [47815, 0, " "], - [47816, 0, "l"], - [47817, 0, "i"], - [47818, 0, "s"], - [47819, 0, "t"], - [47820, 0, " "], - [47821, 0, "e"], - [47822, 0, "l"], - [47823, 0, "e"], - [47824, 0, "m"], - [47825, 0, "e"], - [47826, 0, "n"], - [47827, 0, "t"], - [47828, 0, " "], - [47829, 0, "("], - [47830, 0, "w"], - [47831, 0, "e"], - [47832, 0, " "], - [47833, 0, "w"], - [47834, 0, "i"], - [47835, 0, "l"], - [47836, 0, "l"], - [47837, 0, " "], - [47838, 0, "d"], - [47839, 0, "i"], - [47840, 0, "s"], - [47841, 0, "c"], - [47842, 0, "u"], - [47843, 0, "s"], - [47844, 0, "s"], - [47845, 0, " "], - [47846, 0, "i"], - [47847, 0, "n"], - [47848, 0, " "], - [47849, 0, "S"], - [47850, 0, "e"], - [47851, 0, "c"], - [47852, 0, "t"], - [47853, 0, "i"], - [47854, 0, "o"], - [47855, 0, "n"], - [47856, 0, "~"], - [47857, 0, "\\"], - [47858, 0, "r"], - [47859, 0, "e"], - [47860, 0, "f"], - [47861, 0, "{"], - [47862, 0, "s"], - [47863, 0, "e"], - [47864, 0, "c"], - [47865, 0, ":"], - [47866, 0, "l"], - [47867, 0, "a"], - [47868, 0, "m"], - [47869, 0, "p"], - [47870, 0, "o"], - [47871, 0, "r"], - [47872, 0, "t"], - [47873, 0, "-"], - [47874, 0, "t"], - [47875, 0, "s"], - [47876, 0, "}"], - [47877, 0, " "], - [47878, 0, "h"], - [47879, 0, "o"], - [47880, 0, "w"], - [47881, 0, " "], - [47882, 0, "t"], - [47883, 0, "o"], - [47884, 0, " "], - [47885, 0, "g"], - [47886, 0, "e"], - [47887, 0, "n"], - [47888, 0, "e"], - [47889, 0, "r"], - [47890, 0, "a"], - [47891, 0, "t"], - [47892, 0, "e"], - [47893, 0, " "], - [47894, 0, "t"], - [47895, 0, "h"], - [47896, 0, "e"], - [47897, 0, "s"], - [47898, 0, "e"], - [47899, 0, " "], - [47900, 0, "i"], - [47901, 0, "d"], - [47902, 0, "e"], - [47903, 0, "n"], - [47904, 0, "t"], - [47905, 0, "i"], - [47906, 0, "f"], - [47907, 0, "i"], - [47908, 0, "e"], - [47909, 0, "r"], - [47910, 0, "s"], - [47911, 0, ")"], - [47914, 1], - [47914, 1], - [47914, 0, "T"], - [47915, 0, "h"], - [47916, 0, "e"], - [47917, 0, " "], - [47918, 0, "c"], - [47919, 0, "u"], - [47920, 0, "r"], - [47921, 0, "s"], - [47922, 0, "o"], - [47923, 0, "r"], - [48186, 1], - [48185, 1], - [48184, 1], - [48183, 1], - [48183, 0, "t"], - [48184, 0, "h"], - [48185, 0, "a"], - [48186, 0, "t"], - [48187, 0, " "], - [48188, 0, "h"], - [48189, 0, "a"], - [48190, 0, "s"], - [48629, 0, " "], - [48630, 0, "b"], - [48631, 0, "e"], - [48632, 0, "i"], - [48633, 0, "n"], - [48634, 0, "g"], - [48635, 0, " "], - [48636, 0, "t"], - [48637, 0, "r"], - [48638, 0, "a"], - [48639, 0, "v"], - [48640, 0, "e"], - [48641, 0, "r"], - [48642, 0, "s"], - [48643, 0, "e"], - [48644, 0, "d"], - [49333, 0, " "], - [49334, 0, "r"], - [49335, 0, "u"], - [49336, 0, "l"], - [49337, 0, "e"], - [49338, 0, "s"], - [49340, 0, "$"], - [49353, 0, "="], - [49354, 0, "="], - [49354, 1], - [49353, 1], - [49352, 1], - [49351, 1], - [49350, 1], - [49350, 0, "d"], - [49351, 0, "x"], - [49353, 0, "_"], - [49354, 0, "{"], - [49355, 0, "1"], - [49356, 0, "\\"], - [49356, 1], - [49356, 0, " "], - [49357, 0, "\\"], - [49358, 0, "d"], - [49359, 0, "o"], - [49360, 0, "t"], - [49361, 0, "s"], - [49362, 0, " "], - [49363, 0, "5"], - [49364, 0, "}"], - [49365, 0, "$"], - [49366, 0, " "], - [49367, 0, "d"], - [49368, 0, "e"], - [49369, 0, "f"], - [49370, 0, "i"], - [49371, 0, "n"], - [49372, 0, "e"], - [49373, 0, " "], - [49374, 0, "h"], - [49375, 0, "o"], - [49376, 0, "w"], - [49377, 0, " "], - [49378, 0, "t"], - [49379, 0, "o"], - [49380, 0, " "], - [49381, 0, "e"], - [49382, 0, "v"], - [49383, 0, "a"], - [49384, 0, "l"], - [49385, 0, "u"], - [49386, 0, "a"], - [49387, 0, "t"], - [49388, 0, "e"], - [49389, 0, " "], - [49390, 0, "t"], - [49391, 0, "h"], - [49392, 0, "e"], - [49393, 0, " "], - [49394, 0, "e"], - [49395, 0, "x"], - [49396, 0, "p"], - [49397, 0, "r"], - [49398, 0, "e"], - [49399, 0, "s"], - [49400, 0, "s"], - [49401, 0, "i"], - [49402, 0, "o"], - [49403, 0, "n"], - [49404, 0, " "], - [49405, 0, "\\"], - [49406, 0, "v"], - [49407, 0, "e"], - [49408, 0, "r"], - [49409, 0, "b"], - [49410, 0, "|"], - [49411, 0, "d"], - [49412, 0, "o"], - [49413, 0, "c"], - [49414, 0, "."], - [49415, 0, "i"], - [49416, 0, "d"], - [49417, 0, "x"], - [49418, 0, "("], - [49419, 0, "|"], - [49420, 0, "$"], - [49421, 0, "n"], - [49422, 0, "$"], - [49422, 1], - [49422, 0, "$"], - [49423, 0, "\\"], - [49424, 0, "v"], - [49425, 0, "e"], - [49426, 0, "r"], - [49427, 0, "b"], - [49428, 0, "|"], - [49429, 0, ")"], - [49430, 0, "|"], - [49431, 0, "\n"], - [49432, 0, "\n"], - [49431, 0, ","], - [49432, 0, " "], - [49433, 0, "m"], - [49434, 0, "o"], - [49435, 0, "v"], - [49436, 0, "i"], - [49437, 0, "n"], - [49438, 0, "g"], - [49439, 0, " "], - [49440, 0, "t"], - [49441, 0, "h"], - [49442, 0, "e"], - [49443, 0, " "], - [49444, 0, "c"], - [49445, 0, "u"], - [49446, 0, "r"], - [49447, 0, "s"], - [49448, 0, "o"], - [49449, 0, "r"], - [49450, 0, " "], - [49451, 0, "t"], - [49452, 0, "o"], - [49453, 0, " "], - [49454, 0, "a"], - [49455, 0, " "], - [49456, 0, "p"], - [49457, 0, "a"], - [49458, 0, "r"], - [49459, 0, "t"], - [49460, 0, "i"], - [49461, 0, "c"], - [49462, 0, "u"], - [49463, 0, "l"], - [49464, 0, "a"], - [49465, 0, "r"], - [49466, 0, " "], - [49467, 0, "e"], - [49468, 0, "l"], - [49469, 0, "e"], - [49470, 0, "m"], - [49471, 0, "e"], - [49472, 0, "n"], - [49473, 0, "t"], - [49474, 0, " "], - [49475, 0, "o"], - [49476, 0, "f"], - [49477, 0, " "], - [49478, 0, "a"], - [49479, 0, " "], - [49480, 0, "l"], - [49481, 0, "i"], - [49482, 0, "s"], - [49483, 0, "t"], - [49484, 0, "."], - [49485, 0, " "], - [49486, 0, "F"], - [49487, 0, "i"], - [49488, 0, "r"], - [49489, 0, "s"], - [49490, 0, "t"], - [49491, 0, ","], - [49492, 0, " "], - [49493, 0, "\\"], - [49493, 1], - [49493, 0, "$"], - [49494, 0, "\\"], - [49495, 0, "t"], - [49496, 0, "e"], - [49497, 0, "x"], - [49498, 0, "t"], - [49499, 0, "s"], - [49500, 0, "c"], - [49501, 0, "{"], - [49502, 0, "I"], - [49503, 0, "d"], - [49504, 0, "x"], - [49505, 0, "}"], - [49506, 0, "_"], - [49507, 0, "1"], - [49508, 0, "$"], - [49509, 0, " "], - [49510, 0, "c"], - [49511, 0, "o"], - [49512, 0, "n"], - [49513, 0, "s"], - [49514, 0, "t"], - [49515, 0, "r"], - [49516, 0, "u"], - [49517, 0, "c"], - [49518, 0, "t"], - [49519, 0, "s"], - [49520, 0, " "], - [49521, 0, "a"], - [49522, 0, " "], - [49523, 0, "c"], - [49524, 0, "u"], - [49525, 0, "r"], - [49526, 0, "s"], - [49527, 0, "o"], - [49528, 0, "r"], - [49529, 0, " "], - [49530, 0, "r"], - [49531, 0, "e"], - [49532, 0, "p"], - [49533, 0, "r"], - [49534, 0, "e"], - [49535, 0, "s"], - [49536, 0, "e"], - [49537, 0, "n"], - [49538, 0, "t"], - [49539, 0, "i"], - [49540, 0, "n"], - [49541, 0, "g"], - [49542, 0, " "], - [49543, 0, "t"], - [49544, 0, "h"], - [49545, 0, "e"], - [49546, 0, " "], - [49547, 0, "h"], - [49548, 0, "e"], - [49549, 0, "a"], - [49550, 0, "d"], - [49551, 0, " "], - [49552, 0, "o"], - [49553, 0, "f"], - [49554, 0, " "], - [49555, 0, "t"], - [49556, 0, "h"], - [49557, 0, "e"], - [49558, 0, " "], - [49559, 0, "l"], - [49560, 0, "i"], - [49561, 0, "s"], - [49562, 0, "t"], - [49563, 0, ","], - [49564, 0, " "], - [49492, 1], - [49491, 1], - [49490, 1], - [49489, 1], - [49488, 1], - [49487, 1], - [49486, 1], - [49558, 0, "a"], - [49559, 0, "n"], - [49560, 0, "d"], - [49561, 0, " "], - [49562, 0, "d"], - [49563, 0, "e"], - [49564, 0, "l"], - [49565, 0, "e"], - [49566, 0, "g"], - [49567, 0, "a"], - [49568, 0, "t"], - [49569, 0, "e"], - [49570, 0, "s"], - [49571, 0, " "], - [49572, 0, "t"], - [49573, 0, "o"], - [49574, 0, " "], - [49575, 0, "t"], - [49576, 0, "h"], - [49577, 0, "e"], - [49578, 0, " "], - [49579, 0, "s"], - [49580, 0, "u"], - [49581, 0, "b"], - [49582, 0, "s"], - [49583, 0, "e"], - [49584, 0, "q"], - [49585, 0, "u"], - [49586, 0, "e"], - [49587, 0, "n"], - [49588, 0, "t"], - [49589, 0, " "], - [49590, 0, "r"], - [49591, 0, "u"], - [49592, 0, "l"], - [49593, 0, "e"], - [49594, 0, "s"], - [49595, 0, " "], - [49596, 0, "t"], - [49597, 0, "o"], - [49598, 0, " "], - [49599, 0, "s"], - [49600, 0, "c"], - [49601, 0, "a"], - [49602, 0, "n"], - [49603, 0, " "], - [49604, 0, "o"], - [49605, 0, "v"], - [49606, 0, "e"], - [49607, 0, "r"], - [49608, 0, " "], - [49609, 0, "t"], - [49610, 0, "h"], - [49611, 0, "e"], - [49612, 0, " "], - [49613, 0, "l"], - [49614, 0, "i"], - [49615, 0, "s"], - [49616, 0, "t"], - [49617, 0, "."], - [49618, 0, " "], - [49619, 0, "$"], - [49620, 0, "\\"], - [49621, 0, "t"], - [49622, 0, "e"], - [49623, 0, "x"], - [49624, 0, "t"], - [49625, 0, "s"], - [49626, 0, "c"], - [49627, 0, "{"], - [49628, 0, "I"], - [49629, 0, "d"], - [49630, 0, "x"], - [49631, 0, "}"], - [49632, 0, "_"], - [49633, 0, "2"], - [49634, 0, "$"], - [49635, 0, " "], - [49636, 0, "r"], - [49637, 0, "e"], - [49638, 0, "c"], - [49639, 0, "u"], - [49640, 0, "r"], - [49641, 0, "s"], - [49642, 0, "i"], - [49643, 0, "v"], - [49644, 0, "e"], - [49645, 0, "l"], - [49646, 0, "y"], - [49647, 0, " "], - [49648, 0, "d"], - [49649, 0, "e"], - [49650, 0, "s"], - [49651, 0, "c"], - [49652, 0, "e"], - [49653, 0, "n"], - [49654, 0, "d"], - [49655, 0, "s"], - [49656, 0, " "], - [49657, 0, "t"], - [49658, 0, "h"], - [49659, 0, "e"], - [49660, 0, " "], - [49661, 0, "l"], - [49662, 0, "o"], - [49663, 0, "c"], - [49664, 0, "a"], - [49665, 0, "l"], - [49666, 0, " "], - [49667, 0, "s"], - [49668, 0, "t"], - [49669, 0, "a"], - [49670, 0, "t"], - [49671, 0, "e"], - [49672, 0, " "], - [49673, 0, "a"], - [49674, 0, "c"], - [49675, 0, "c"], - [49676, 0, "o"], - [49677, 0, "r"], - [49678, 0, "d"], - [49679, 0, "i"], - [49680, 0, "n"], - [49681, 0, "g"], - [49682, 0, " "], - [49683, 0, "t"], - [49684, 0, "o"], - [49685, 0, " "], - [49686, 0, "t"], - [49687, 0, "h"], - [49688, 0, "e"], - [49689, 0, " "], - [49690, 0, "v"], - [49691, 0, "e"], - [49692, 0, "c"], - [49693, 0, "t"], - [49694, 0, "o"], - [49695, 0, "r"], - [49696, 0, " "], - [49697, 0, "o"], - [49698, 0, "f"], - [49699, 0, " "], - [49700, 0, "k"], - [49701, 0, "e"], - [49702, 0, "y"], - [49703, 0, "s"], - [49704, 0, " "], - [49705, 0, "i"], - [49706, 0, "n"], - [49707, 0, " "], - [49708, 0, "t"], - [49709, 0, "h"], - [49710, 0, "e"], - [49711, 0, " "], - [49712, 0, "c"], - [49713, 0, "u"], - [49714, 0, "r"], - [49715, 0, "s"], - [49716, 0, "o"], - [49717, 0, "r"], - [49718, 0, "."], - [49719, 0, " "], - [49720, 0, "W"], - [49721, 0, "h"], - [49722, 0, "e"], - [49723, 0, "n"], - [49724, 0, " "], - [49725, 0, "t"], - [49726, 0, "h"], - [49727, 0, "e"], - [49728, 0, " "], - [49729, 0, "v"], - [49730, 0, "e"], - [49731, 0, "c"], - [49732, 0, "t"], - [49733, 0, "o"], - [49734, 0, "r"], - [49735, 0, " "], - [49736, 0, "o"], - [49737, 0, "f"], - [49738, 0, " "], - [49739, 0, "k"], - [49740, 0, "e"], - [49741, 0, "y"], - [49742, 0, "s"], - [49743, 0, " "], - [49744, 0, "i"], - [49745, 0, "s"], - [49746, 0, " "], - [49747, 0, "e"], - [49748, 0, "m"], - [49749, 0, "p"], - [49750, 0, "t"], - [49751, 0, "y"], - [49752, 0, ","], - [49753, 0, " "], - [49754, 0, "t"], - [49755, 0, "h"], - [49756, 0, "e"], - [49757, 0, " "], - [49758, 0, "c"], - [49759, 0, "o"], - [49760, 0, "n"], - [49761, 0, "t"], - [49762, 0, "e"], - [49763, 0, "x"], - [49764, 0, "t"], - [49765, 0, " "], - [49766, 0, "$"], - [49767, 0, "\\"], - [49768, 0, "m"], - [49769, 0, "a"], - [49770, 0, "t"], - [49771, 0, "h"], - [49772, 0, "i"], - [49773, 0, "t"], - [49774, 0, "{"], - [49775, 0, "c"], - [49776, 0, "t"], - [49777, 0, "x"], - [49778, 0, "}"], - [49779, 0, "$"], - [49780, 0, " "], - [49781, 0, "i"], - [49782, 0, "s"], - [49783, 0, " "], - [49784, 0, "t"], - [49785, 0, "h"], - [49786, 0, "e"], - [49787, 0, " "], - [49788, 0, "s"], - [49789, 0, "u"], - [49790, 0, "b"], - [49791, 0, "t"], - [49792, 0, "r"], - [49793, 0, "e"], - [49794, 0, "e"], - [49795, 0, " "], - [49796, 0, "o"], - [49797, 0, "f"], - [49798, 0, " "], - [49799, 0, "$"], - [49800, 0, "A"], - [49801, 0, "_"], - [49802, 0, "p"], - [49803, 0, "$"], - [49804, 0, " "], - [49805, 0, "r"], - [49806, 0, "e"], - [49807, 0, "p"], - [49808, 0, "r"], - [49809, 0, "e"], - [49810, 0, "s"], - [49811, 0, "e"], - [49812, 0, "n"], - [49813, 0, "t"], - [49814, 0, "i"], - [49815, 0, "n"], - [49816, 0, "g"], - [49817, 0, " "], - [49817, 1], - [49816, 1], - [49815, 1], - [49814, 1], - [49813, 1], - [49812, 1], - [49811, 1], - [49810, 1], - [49809, 1], - [49808, 1], - [49807, 1], - [49806, 1], - [49805, 1], - [49805, 0, "t"], - [49806, 0, "h"], - [49807, 0, "a"], - [49808, 0, "t"], - [49809, 0, " "], - [49810, 0, "s"], - [49811, 0, "t"], - [49812, 0, "o"], - [49813, 0, "r"], - [49814, 0, "e"], - [49815, 0, "s"], - [49816, 0, " "], - [49817, 0, "t"], - [49818, 0, "h"], - [49819, 0, "e"], - [49820, 0, " "], - [49821, 0, "l"], - [49822, 0, "i"], - [49823, 0, "s"], - [49824, 0, "t"], - [49825, 0, " "], - [49826, 0, "i"], - [49827, 0, "n"], - [49828, 0, " "], - [49829, 0, "q"], - [49830, 0, "u"], - [49831, 0, "e"], - [49832, 0, "s"], - [49833, 0, "t"], - [49834, 0, "i"], - [49835, 0, "o"], - [49836, 0, "n"], - [49837, 0, ","], - [49838, 0, " "], - [49839, 0, "a"], - [49840, 0, "n"], - [49841, 0, "d"], - [49842, 0, " "], - [49843, 0, "t"], - [49844, 0, "h"], - [49845, 0, "e"], - [49846, 0, " "], - [49847, 0, "r"], - [49848, 0, "u"], - [49849, 0, "l"], - [49850, 0, "e"], - [49851, 0, "s"], - [49852, 0, " "], - [49853, 0, "$"], - [49854, 0, "\\"], - [49855, 0, "t"], - [49856, 0, "e"], - [49857, 0, "x"], - [49858, 0, "t"], - [49859, 0, "s"], - [49860, 0, "c"], - [49861, 0, "{"], - [49862, 0, "I"], - [49863, 0, "d"], - [49864, 0, "x"], - [49865, 0, "}"], - [49866, 0, "_"], - [49867, 0, "{"], - [49868, 0, "3"], - [49869, 0, ","], - [49870, 0, "4"], - [49871, 0, ","], - [49872, 0, "5"], - [49873, 0, "}"], - [49874, 0, "$"], - [49875, 0, " "], - [49876, 0, "i"], - [49877, 0, "t"], - [49878, 0, "e"], - [49879, 0, "r"], - [49880, 0, "a"], - [49881, 0, "t"], - [49882, 0, "e"], - [49883, 0, " "], - [49884, 0, "o"], - [49885, 0, "v"], - [49886, 0, "e"], - [49887, 0, "r"], - [49888, 0, " "], - [49889, 0, "t"], - [49890, 0, "h"], - [49891, 0, "a"], - [49892, 0, "t"], - [49893, 0, " "], - [49894, 0, "l"], - [49895, 0, "i"], - [49896, 0, "s"], - [49897, 0, "t"], - [49898, 0, " "], - [49899, 0, "u"], - [49900, 0, "n"], - [49901, 0, "t"], - [49902, 0, "i"], - [49903, 0, "l"], - [49904, 0, " "], - [49905, 0, "t"], - [49906, 0, "h"], - [49907, 0, "e"], - [49908, 0, " "], - [49909, 0, "d"], - [49910, 0, "e"], - [49911, 0, "s"], - [49912, 0, "i"], - [49913, 0, "r"], - [49914, 0, "e"], - [49915, 0, "d"], - [49916, 0, " "], - [49917, 0, "e"], - [49918, 0, "l"], - [49919, 0, "e"], - [49920, 0, "m"], - [49921, 0, "e"], - [49922, 0, "n"], - [49923, 0, "t"], - [49924, 0, " "], - [49925, 0, "i"], - [49926, 0, "s"], - [49927, 0, " "], - [49928, 0, "f"], - [49929, 0, "i"], - [49930, 0, "n"], - [49930, 1], - [49929, 1], - [49929, 0, "o"], - [49930, 0, "u"], - [49931, 0, "n"], - [49932, 0, "d"], - [49933, 0, "."], - [49934, 0, "\n"], - [49935, 0, "\n"], - [49936, 0, "$"], - [49937, 0, "\\"], - [49938, 0, "t"], - [49939, 0, "e"], - [49940, 0, "x"], - [49941, 0, "t"], - [49942, 0, "s"], - [49943, 0, "c"], - [49944, 0, "{"], - [49945, 0, "I"], - [49946, 0, "d"], - [49947, 0, "x"], - [49948, 0, "}"], - [49949, 0, "_"], - [49950, 0, "5"], - [49951, 0, "$"], - [49952, 0, " "], - [49953, 0, "t"], - [49954, 0, "e"], - [49955, 0, "r"], - [49956, 0, "m"], - [49957, 0, "i"], - [49958, 0, "n"], - [49959, 0, "a"], - [49960, 0, "t"], - [49961, 0, "e"], - [49962, 0, "s"], - [49963, 0, " "], - [49964, 0, "t"], - [49965, 0, "h"], - [49966, 0, "e"], - [49967, 0, " "], - [49968, 0, "i"], - [49969, 0, "t"], - [49970, 0, "e"], - [49971, 0, "r"], - [49972, 0, "a"], - [49973, 0, "t"], - [49974, 0, "i"], - [49975, 0, "o"], - [49976, 0, "n"], - [49977, 0, " "], - [49978, 0, "w"], - [49979, 0, "h"], - [49980, 0, "e"], - [49981, 0, "n"], - [49982, 0, " "], - [49983, 0, "t"], - [49984, 0, "h"], - [49985, 0, "e"], - [49986, 0, " "], - [49987, 0, "i"], - [49988, 0, "n"], - [49989, 0, "d"], - [49990, 0, "e"], - [49991, 0, "x"], - [49992, 0, " "], - [49993, 0, "r"], - [49994, 0, "e"], - [49995, 0, "a"], - [49996, 0, "c"], - [49997, 0, "h"], - [49998, 0, "e"], - [49999, 0, "s"], - [50000, 0, " "], - [50001, 0, "z"], - [50002, 0, "e"], - [50003, 0, "r"], - [50004, 0, "o"], - [50005, 0, ","], - [50006, 0, " "], - [50007, 0, "w"], - [50008, 0, "h"], - [50009, 0, "i"], - [50010, 0, "l"], - [50011, 0, "e"], - [50012, 0, " "], - [50013, 0, "$"], - [50014, 0, "\\"], - [50015, 0, "t"], - [50016, 0, "e"], - [50017, 0, "x"], - [50018, 0, "t"], - [50019, 0, "s"], - [50020, 0, "c"], - [50021, 0, "{"], - [50022, 0, "I"], - [50023, 0, "d"], - [50024, 0, "x"], - [50025, 0, "}"], - [50026, 0, "_"], - [50027, 0, "3"], - [50028, 0, "$"], - [50029, 0, " "], - [50030, 0, "m"], - [50031, 0, "o"], - [50032, 0, "v"], - [50033, 0, "e"], - [50034, 0, "s"], - [50035, 0, " "], - [50036, 0, "t"], - [50037, 0, "o"], - [50038, 0, " "], - [50039, 0, "t"], - [50040, 0, "h"], - [50041, 0, "e"], - [50042, 0, " "], - [50043, 0, "n"], - [50044, 0, "e"], - [50045, 0, "x"], - [50046, 0, "t"], - [50047, 0, " "], - [50048, 0, "e"], - [50049, 0, "l"], - [50050, 0, "e"], - [50051, 0, "m"], - [50052, 0, "e"], - [50053, 0, "n"], - [50054, 0, "t"], - [50055, 0, " "], - [50056, 0, "a"], - [50057, 0, "n"], - [50058, 0, "d"], - [50059, 0, " "], - [50060, 0, "d"], - [50061, 0, "e"], - [50062, 0, "c"], - [50063, 0, "r"], - [50064, 0, "e"], - [50065, 0, "m"], - [50066, 0, "e"], - [50067, 0, "n"], - [50068, 0, "t"], - [50069, 0, "s"], - [50070, 0, " "], - [50071, 0, "t"], - [50072, 0, "h"], - [50073, 0, "e"], - [50074, 0, " "], - [50075, 0, "i"], - [50076, 0, "n"], - [50077, 0, "d"], - [50078, 0, "e"], - [50079, 0, "x"], - [50080, 0, ","], - [50081, 0, " "], - [50082, 0, "a"], - [50083, 0, "n"], - [50084, 0, "d"], - [50085, 0, " "], - [50086, 0, "$"], - [50087, 0, "\\"], - [50088, 0, "t"], - [50089, 0, "e"], - [50090, 0, "x"], - [50091, 0, "t"], - [50092, 0, "s"], - [50093, 0, "c"], - [50094, 0, "{"], - [50095, 0, "I"], - [50096, 0, "d"], - [50097, 0, "x"], - [50098, 0, "}"], - [50099, 0, "_"], - [50100, 0, "4"], - [50101, 0, "$"], - [50102, 0, " "], - [50103, 0, "s"], - [50104, 0, "k"], - [50105, 0, "i"], - [50106, 0, "p"], - [50107, 0, "s"], - [50108, 0, " "], - [50109, 0, "o"], - [50110, 0, "v"], - [50111, 0, "e"], - [50112, 0, "r"], - [50113, 0, " "], - [50114, 0, "d"], - [50115, 0, "e"], - [50116, 0, "l"], - [50117, 0, "e"], - [50118, 0, "t"], - [50119, 0, "e"], - [50120, 0, "d"], - [50121, 0, " "], - [50122, 0, "l"], - [50123, 0, "i"], - [50124, 0, "s"], - [50125, 0, "t"], - [50126, 0, " "], - [50127, 0, "e"], - [50128, 0, "l"], - [50129, 0, "e"], - [50130, 0, "m"], - [50131, 0, "e"], - [50132, 0, "n"], - [50133, 0, "t"], - [50134, 0, "s"], - [50135, 0, "."], - [50136, 0, " "], - [50137, 0, "T"], - [50138, 0, "h"], - [50139, 0, "e"], - [50140, 0, " "], - [50141, 0, "l"], - [50142, 0, "i"], - [50143, 0, "s"], - [50144, 0, "t"], - [50145, 0, " "], - [50146, 0, "s"], - [50147, 0, "t"], - [50148, 0, "r"], - [50149, 0, "u"], - [50150, 0, "c"], - [50151, 0, "t"], - [50152, 0, "u"], - [50153, 0, "r"], - [50154, 0, "e"], - [50155, 0, " "], - [50156, 0, "r"], - [50157, 0, "e"], - [50158, 0, "s"], - [50159, 0, "e"], - [50160, 0, "m"], - [50161, 0, "b"], - [50162, 0, "l"], - [50163, 0, "e"], - [50164, 0, "d"], - [50164, 1], - [50164, 0, "s"], - [50165, 0, " "], - [50166, 0, "a"], - [50167, 0, " "], - [50168, 0, "l"], - [50169, 0, "i"], - [50170, 0, "n"], - [50171, 0, "k"], - [50172, 0, "e"], - [50173, 0, "d"], - [50174, 0, " "], - [50175, 0, "l"], - [50176, 0, "i"], - [50177, 0, "s"], - [50178, 0, "t"], - [50145, 1], - [50144, 1], - [50143, 1], - [50142, 1], - [50141, 1], - [50174, 0, ":"], - [50175, 0, " "], - [50176, 0, "e"], - [50177, 0, "a"], - [50178, 0, "c"], - [50179, 0, "h"], - [50180, 0, " "], - [50181, 0, "l"], - [50182, 0, "i"], - [50183, 0, "s"], - [50184, 0, "t"], - [50185, 0, " "], - [50186, 0, "e"], - [50187, 0, "l"], - [50188, 0, "e"], - [50189, 0, "m"], - [50190, 0, "e"], - [50191, 0, "n"], - [50192, 0, "t"], - [50193, 0, " "], - [50194, 0, "h"], - [50195, 0, "a"], - [50196, 0, "s"], - [50197, 0, " "], - [50198, 0, "a"], - [50199, 0, " "], - [50200, 0, "u"], - [50201, 0, "n"], - [50202, 0, "i"], - [50203, 0, "q"], - [50204, 0, "u"], - [50205, 0, "e"], - [50206, 0, " "], - [50207, 0, "i"], - [50208, 0, "d"], - [50209, 0, "e"], - [50210, 0, "n"], - [50211, 0, "t"], - [50212, 0, "i"], - [50213, 0, "f"], - [50214, 0, "i"], - [50215, 0, "e"], - [50216, 0, "r"], - [50217, 0, " "], - [50218, 0, "$"], - [50219, 0, "k"], - [50220, 0, "$"], - [50221, 0, ","], - [50222, 0, " "], - [50223, 0, "a"], - [50224, 0, "n"], - [50225, 0, "d"], - [50226, 0, " "], - [50227, 0, "t"], - [50228, 0, "h"], - [50229, 0, "e"], - [50230, 0, " "], - [50231, 0, "p"], - [50232, 0, "a"], - [50233, 0, "r"], - [50234, 0, "t"], - [50235, 0, "i"], - [50236, 0, "a"], - [50237, 0, "l"], - [50238, 0, " "], - [50239, 0, "f"], - [50240, 0, "u"], - [50241, 0, "n"], - [50242, 0, "c"], - [50243, 0, "t"], - [50244, 0, "i"], - [50245, 0, "o"], - [50246, 0, "n"], - [50247, 0, " "], - [50248, 0, "r"], - [50249, 0, "e"], - [50250, 0, "p"], - [50251, 0, "r"], - [50252, 0, "e"], - [50253, 0, "s"], - [50254, 0, "e"], - [50255, 0, "n"], - [50256, 0, "t"], - [50257, 0, "i"], - [50258, 0, "n"], - [50259, 0, "g"], - [50260, 0, " "], - [50261, 0, "l"], - [50262, 0, "o"], - [50263, 0, "c"], - [50264, 0, "a"], - [50265, 0, "l"], - [50266, 0, " "], - [50267, 0, "s"], - [50268, 0, "t"], - [50269, 0, "a"], - [50270, 0, "t"], - [50271, 0, "e"], - [50272, 0, " "], - [50273, 0, "m"], - [50274, 0, "a"], - [50275, 0, "s"], - [50275, 1], - [50275, 0, "p"], - [50276, 0, "s"], - [50277, 0, " "], - [50278, 0, "$"], - [50279, 0, "\\"], - [50280, 0, "m"], - [50281, 0, "a"], - [50282, 0, "t"], - [50283, 0, "h"], - [50284, 0, "s"], - [50285, 0, "f"], - [50286, 0, "{"], - [50287, 0, "n"], - [50288, 0, "e"], - [50289, 0, "x"], - [50290, 0, "t"], - [50291, 0, "}"], - [50292, 0, "("], - [50293, 0, "k"], - [50294, 0, ")"], - [50295, 0, "$"], - [50296, 0, " "], - [50297, 0, "t"], - [50298, 0, "o"], - [50299, 0, " "], - [50300, 0, "t"], - [50301, 0, "h"], - [50302, 0, "e"], - [50303, 0, " "], - [50304, 0, "I"], - [50305, 0, "D"], - [50306, 0, " "], - [50307, 0, "o"], - [50308, 0, "f"], - [50309, 0, " "], - [50310, 0, "t"], - [50311, 0, "h"], - [50312, 0, "e"], - [50313, 0, " "], - [50314, 0, "l"], - [50315, 0, "i"], - [50316, 0, "s"], - [50317, 0, "t"], - [50318, 0, " "], - [50319, 0, "e"], - [50320, 0, "l"], - [50321, 0, "e"], - [50322, 0, "m"], - [50323, 0, "e"], - [50324, 0, "n"], - [50325, 0, "t"], - [50326, 0, " "], - [50327, 0, "t"], - [50328, 0, "h"], - [50329, 0, "a"], - [50330, 0, "t"], - [50331, 0, " "], - [50332, 0, "f"], - [50333, 0, "o"], - [50334, 0, "l"], - [50335, 0, "l"], - [50336, 0, "o"], - [50337, 0, "w"], - [50338, 0, "s"], - [50339, 0, " "], - [50340, 0, "$"], - [50341, 0, "k"], - [50342, 0, "$"], - [50343, 0, "."], - [50344, 0, " "], - [50345, 0, "W"], - [50346, 0, "h"], - [50347, 0, "e"], - [50348, 0, "n"], - [50349, 0, " "], - [50350, 0, "a"], - [50351, 0, " "], - [50352, 0, "l"], - [50353, 0, "i"], - [50354, 0, "s"], - [50355, 0, "t"], - [50356, 0, " "], - [50356, 1], - [50355, 1], - [50354, 1], - [50353, 1], - [50352, 1], - [50351, 1], - [50350, 1], - [50349, 1], - [50348, 1], - [50347, 1], - [50346, 1], - [50345, 1], - [50345, 0, "E"], - [50346, 0, "a"], - [50347, 0, "c"], - [50348, 0, "h"], - [50349, 0, " "], - [50350, 0, "l"], - [50351, 0, "i"], - [50352, 0, "s"], - [50353, 0, "t"], - [50354, 0, " "], - [50355, 0, "e"], - [50356, 0, "l"], - [50357, 0, "e"], - [50358, 0, "m"], - [50359, 0, "m"], - [50360, 0, "e"], - [50361, 0, "n"], - [50362, 0, "t"], - [50362, 1], - [50361, 1], - [50360, 1], - [50359, 1], - [50359, 0, "e"], - [50360, 0, "n"], - [50361, 0, "b"], - [50362, 0, "t"], - [50363, 0, " "], - [50363, 1], - [50362, 1], - [50361, 1], - [50361, 0, "t"], - [50362, 0, " "], - [50363, 0, "a"], - [50364, 0, "l"], - [50365, 0, "s"], - [50366, 0, "o"], - [50367, 0, " "], - [50368, 0, "h"], - [50369, 0, "a"], - [50370, 0, "s"], - [50371, 0, " "], - [50121, 1], - [50120, 1], - [50119, 1], - [50118, 1], - [50117, 1], - [50116, 1], - [50115, 1], - [50114, 1], - [50127, 0, " "], - [50128, 0, "t"], - [50129, 0, "h"], - [50130, 0, "a"], - [50131, 0, "t"], - [50132, 0, " "], - [50133, 0, "a"], - [50134, 0, "r"], - [50135, 0, "e"], - [50136, 0, " "], - [50137, 0, "m"], - [50138, 0, "a"], - [50139, 0, "r"], - [50140, 0, "k"], - [50141, 0, "e"], - [50142, 0, "d"], - [50143, 0, " "], - [50144, 0, "a"], - [50145, 0, "s"], - [50146, 0, " "], - [50147, 0, "d"], - [50148, 0, "e"], - [50149, 0, "l"], - [50150, 0, "e"], - [50151, 0, "t"], - [50152, 0, "e"], - [50153, 0, "d"], - [50363, 0, " "], - [50364, 0, "D"], - [50365, 0, "e"], - [50366, 0, "l"], - [50367, 0, "e"], - [50368, 0, "t"], - [50369, 0, "e"], - [50370, 0, "d"], - [50371, 0, " "], - [50372, 0, "l"], - [50373, 0, "i"], - [50374, 0, "s"], - [50375, 0, "t"], - [50376, 0, " "], - [50377, 0, "e"], - [50378, 0, "l"], - [50379, 0, "e"], - [50380, 0, "m"], - [50381, 0, "e"], - [50382, 0, "n"], - [50383, 0, "t"], - [50384, 0, "s"], - [50385, 0, " "], - [50386, 0, "a"], - [50387, 0, "r"], - [50388, 0, "e"], - [50389, 0, " "], - [50390, 0, "n"], - [50391, 0, "e"], - [50392, 0, "v"], - [50393, 0, "e"], - [50394, 0, "r"], - [50395, 0, " "], - [50396, 0, "r"], - [50397, 0, "e"], - [50398, 0, "m"], - [50399, 0, "o"], - [50400, 0, "v"], - [50401, 0, "e"], - [50402, 0, "d"], - [50403, 0, " "], - [50404, 0, "f"], - [50405, 0, "r"], - [50406, 0, "o"], - [50407, 0, "m"], - [50408, 0, " "], - [50409, 0, "t"], - [50410, 0, "h"], - [50411, 0, "e"], - [50375, 1], - [50374, 1], - [50373, 1], - [50372, 1], - [50371, 1], - [50407, 0, " "], - [50408, 0, "l"], - [50409, 0, "i"], - [50410, 0, "n"], - [50411, 0, "k"], - [50412, 0, "e"], - [50413, 0, "d"], - [50414, 0, " "], - [50415, 0, "l"], - [50416, 0, "i"], - [50417, 0, "s"], - [50418, 0, "t"], - [50419, 0, " "], - [50420, 0, "s"], - [50421, 0, "t"], - [50422, 0, "r"], - [50423, 0, "u"], - [50424, 0, "c"], - [50425, 0, "t"], - [50426, 0, "u"], - [50427, 0, "r"], - [50428, 0, "e"], - [50363, 1], - [50363, 0, "\n"], - [50364, 0, "\n"], - [50457, 1], - [50456, 1], - [50455, 1], - [50454, 1], - [50453, 1], - [50452, 1], - [50451, 1], - [50450, 1], - [50449, 1], - [50448, 1], - [50447, 1], - [50446, 1], - [50445, 1], - [50444, 1], - [50443, 1], - [50442, 1], - [50441, 1], - [50440, 1], - [50439, 1], - [50438, 1], - [50437, 1], - [50436, 1], - [50435, 1], - [50434, 1], - [50433, 1], - [50432, 1], - [50431, 1], - [50430, 1], - [50430, 0, ","], - [50431, 0, " "], - [50432, 0, "b"], - [50433, 0, "u"], - [50434, 0, "t"], - [50435, 0, " "], - [50436, 0, "o"], - [50437, 0, "n"], - [50438, 0, "l"], - [50439, 0, "y"], - [50440, 0, " "], - [50441, 0, "m"], - [50442, 0, "a"], - [50443, 0, "r"], - [50444, 0, "k"], - [50445, 0, "e"], - [50446, 0, "d"], - [50447, 0, " "], - [50448, 0, "a"], - [50449, 0, "s"], - [50450, 0, " "], - [50451, 0, "d"], - [50452, 0, "e"], - [50453, 0, "l"], - [50454, 0, "e"], - [50455, 0, "t"], - [50456, 0, "e"], - [50457, 0, "d"], - [50458, 0, "."], - [50459, 0, " "], - [50460, 0, "T"], - [50461, 0, "o"], - [50462, 0, " "], - [50463, 0, "t"], - [50464, 0, "h"], - [50465, 0, "i"], - [50466, 0, "s"], - [50467, 0, " "], - [50468, 0, "e"], - [50469, 0, "n"], - [50470, 0, "d"], - [50471, 0, ","], - [50472, 0, " "], - [50473, 0, "t"], - [50474, 0, "h"], - [50475, 0, "e"], - [50476, 0, " "], - [50477, 0, "l"], - [50478, 0, "o"], - [50479, 0, "c"], - [50480, 0, "a"], - [50481, 0, "l"], - [50482, 0, " "], - [50483, 0, "s"], - [50484, 0, "t"], - [50485, 0, "a"], - [50486, 0, "t"], - [50487, 0, "e"], - [50488, 0, " "], - [50489, 0, "c"], - [50490, 0, "o"], - [50491, 0, "n"], - [50492, 0, "t"], - [50493, 0, "a"], - [50494, 0, "i"], - [50495, 0, "n"], - [50496, 0, "s"], - [50497, 0, " "], - [50498, 0, "a"], - [50499, 0, " "], - [50500, 0, "\\"], - [50501, 0, "e"], - [50502, 0, "m"], - [50503, 0, "p"], - [50504, 0, "h"], - [50505, 0, "{"], - [50506, 0, "p"], - [50507, 0, "r"], - [50508, 0, "e"], - [50509, 0, "s"], - [50510, 0, "e"], - [50511, 0, "n"], - [50512, 0, "c"], - [50513, 0, "e"], - [50514, 0, " "], - [50515, 0, "s"], - [50516, 0, "e"], - [50517, 0, "t"], - [50518, 0, "}"], - [50519, 0, " "], - [50520, 0, "$"], - [50521, 0, "\\"], - [50522, 0, "m"], - [50523, 0, "a"], - [50524, 0, "t"], - [50525, 0, "h"], - [50526, 0, "s"], - [50527, 0, "f"], - [50528, 0, "{"], - [50529, 0, "p"], - [50530, 0, "r"], - [50531, 0, "e"], - [50532, 0, "s"], - [50533, 0, "}"], - [50534, 0, "("], - [50535, 0, "k"], - [50536, 0, ")"], - [50537, 0, "$"], - [50538, 0, " "], - [50539, 0, "f"], - [50540, 0, "o"], - [50541, 0, "r"], - [50542, 0, " "], - [50543, 0, "e"], - [50544, 0, "a"], - [50545, 0, "c"], - [50546, 0, "h"], - [50547, 0, " "], - [50548, 0, "l"], - [50549, 0, "i"], - [50550, 0, "s"], - [50551, 0, "t"], - [50552, 0, " "], - [50553, 0, "e"], - [50554, 0, "l"], - [50555, 0, "e"], - [50556, 0, "m"], - [50557, 0, "e"], - [50558, 0, "n"], - [50559, 0, "t"], - [50560, 0, " "], - [50561, 0, "w"], - [50562, 0, "i"], - [50563, 0, "t"], - [50564, 0, "h"], - [50565, 0, " "], - [50566, 0, "I"], - [50567, 0, "D"], - [50568, 0, " "], - [50569, 0, "$"], - [50570, 0, "k"], - [50571, 0, "$"], - [50572, 0, "."], - [50546, 1], - [50545, 1], - [50544, 1], - [50543, 1], - [50543, 0, "a"], - [50489, 1], - [50489, 1], - [50489, 1], - [50489, 0, "m"], - [50490, 0, "a"], - [50491, 0, "i"], - [50492, 0, "n"], - [50544, 1], - [50544, 0, "t"], - [50545, 0, "h"], - [50546, 0, "e"], - [50573, 0, " "], - [50574, 0, "T"], - [50575, 0, "h"], - [50576, 0, "i"], - [50577, 0, "s"], - [50578, 0, " "], - [50579, 0, "s"], - [50579, 1], - [50578, 1], - [50577, 1], - [50576, 1], - [50575, 1], - [50574, 1], - [50574, 0, "T"], - [50575, 0, "h"], - [50575, 1], - [50574, 1], - [50573, 1], - [50573, 0, " "], - [50574, 0, "I"], - [50575, 0, "t"], - [50576, 0, " "], - [50577, 0, "i"], - [50578, 0, "s"], - [50579, 0, " "], - [50580, 0, "t"], - [50581, 0, "h"], - [50582, 0, "e"], - [50583, 0, " "], - [50584, 0, "s"], - [50585, 0, "e"], - [50586, 0, "t"], - [50587, 0, " "], - [50588, 0, "o"], - [50589, 0, "f"], - [50590, 0, " "], - [50591, 0, "a"], - [50592, 0, "l"], - [50593, 0, "l"], - [50594, 0, " "], - [50595, 0, "o"], - [50596, 0, "p"], - [50597, 0, "e"], - [50598, 0, "r"], - [50599, 0, "a"], - [50600, 0, "t"], - [50601, 0, "i"], - [50602, 0, "o"], - [50603, 0, "n"], - [50604, 0, "s"], - [50605, 0, " "], - [50606, 0, "t"], - [50607, 0, "h"], - [50608, 0, "a"], - [50609, 0, "t"], - [50610, 0, " "], - [50611, 0, "h"], - [50612, 0, "a"], - [50613, 0, "v"], - [50614, 0, "e"], - [50615, 0, " "], - [50616, 0, "a"], - [50617, 0, "s"], - [50618, 0, "s"], - [50619, 0, "e"], - [50620, 0, "r"], - [50621, 0, "t"], - [50622, 0, "e"], - [50623, 0, "d"], - [50624, 0, " "], - [50625, 0, "t"], - [50626, 0, "h"], - [50627, 0, "e"], - [50628, 0, " "], - [50629, 0, "e"], - [50630, 0, "x"], - [50631, 0, "i"], - [50632, 0, "s"], - [50633, 0, "t"], - [50634, 0, "e"], - [50635, 0, "n"], - [50636, 0, "c"], - [50637, 0, "e"], - [50638, 0, " "], - [50639, 0, "o"], - [50640, 0, "f"], - [50641, 0, " "], - [50642, 0, "t"], - [50643, 0, "h"], - [50644, 0, "e"], - [50645, 0, " "], - [50646, 0, "l"], - [50647, 0, "i"], - [50648, 0, "s"], - [50649, 0, "t"], - [50650, 0, " "], - [50651, 0, "e"], - [50652, 0, "l"], - [50653, 0, "e"], - [50654, 0, "m"], - [50655, 0, "e"], - [50656, 0, "n"], - [50657, 0, "t"], - [50658, 0, "."], - [50659, 0, " "], - [50660, 0, "W"], - [50661, 0, "h"], - [50662, 0, "e"], - [50663, 0, "n"], - [50664, 0, " "], - [50665, 0, "a"], - [50666, 0, " "], - [50667, 0, "l"], - [50668, 0, "i"], - [50669, 0, "s"], - [50670, 0, "t"], - [50671, 0, " "], - [50672, 0, "e"], - [50673, 0, "l"], - [50674, 0, "e"], - [50675, 0, "m"], - [50676, 0, "e"], - [50677, 0, "n"], - [50678, 0, "t"], - [50679, 0, " "], - [50680, 0, "i"], - [50681, 0, "s"], - [50682, 0, " "], - [50683, 0, "d"], - [50684, 0, "e"], - [50685, 0, "l"], - [50686, 0, "e"], - [50687, 0, "t"], - [50688, 0, "e"], - [50689, 0, "d"], - [50690, 0, ","], - [50691, 0, " "], - [50692, 0, "t"], - [50693, 0, "h"], - [50694, 0, "e"], - [50695, 0, " "], - [50696, 0, "p"], - [50697, 0, "r"], - [50698, 0, "e"], - [50699, 0, "c"], - [50700, 0, "e"], - [50700, 1], - [50699, 1], - [50699, 0, "s"], - [50700, 0, "e"], - [50701, 0, "n"], - [50702, 0, "c"], - [50703, 0, "e"], - [50704, 0, " "], - [50705, 0, "s"], - [50706, 0, "e"], - [50707, 0, "t"], - [50708, 0, " "], - [50709, 0, "i"], - [50710, 0, "s"], - [50711, 0, " "], - [50712, 0, "s"], - [50713, 0, "e"], - [50714, 0, "t"], - [50715, 0, " "], - [50716, 0, "t"], - [50717, 0, "o"], - [50718, 0, " "], - [50719, 0, "t"], - [50720, 0, "h"], - [50721, 0, "e"], - [50722, 0, " "], - [50723, 0, "e"], - [50724, 0, "m"], - [50725, 0, "p"], - [50726, 0, "t"], - [50727, 0, "y"], - [50728, 0, " "], - [50729, 0, "s"], - [50730, 0, "e"], - [50731, 0, "t"], - [50732, 0, ","], - [50733, 0, " "], - [50734, 0, "m"], - [50735, 0, "a"], - [50736, 0, "r"], - [50737, 0, "k"], - [50738, 0, "i"], - [50739, 0, "n"], - [50740, 0, "g"], - [50741, 0, " "], - [50742, 0, "i"], - [50743, 0, "t"], - [50744, 0, " "], - [50745, 0, "a"], - [50746, 0, "s"], - [50747, 0, " "], - [50748, 0, "d"], - [50749, 0, "e"], - [50750, 0, "l"], - [50751, 0, "e"], - [50752, 0, "t"], - [50753, 0, "e"], - [50754, 0, "d"], - [50755, 0, ";"], - [50756, 0, " "], - [50757, 0, "h"], - [50758, 0, "o"], - [50759, 0, "w"], - [50760, 0, "e"], - [50761, 0, "v"], - [50762, 0, "e"], - [50763, 0, "r"], - [50764, 0, ","], - [50765, 0, " "], - [50766, 0, "a"], - [50767, 0, " "], - [50768, 0, "c"], - [50769, 0, "o"], - [50770, 0, "n"], - [50771, 0, "c"], - [50772, 0, "u"], - [50773, 0, "r"], - [50774, 0, "r"], - [50775, 0, "e"], - [50776, 0, "n"], - [50777, 0, "t"], - [50778, 0, " "], - [50779, 0, "o"], - [50780, 0, "p"], - [50781, 0, "e"], - [50782, 0, "r"], - [50783, 0, "a"], - [50784, 0, "t"], - [50785, 0, "i"], - [50786, 0, "o"], - [50787, 0, "n"], - [50788, 0, " "], - [50789, 0, "t"], - [50790, 0, "h"], - [50791, 0, "a"], - [50792, 0, "t"], - [50793, 0, " "], - [50794, 0, "r"], - [50795, 0, "e"], - [50796, 0, "f"], - [50797, 0, "e"], - [50798, 0, "r"], - [50799, 0, "e"], - [50800, 0, "n"], - [50801, 0, "c"], - [50802, 0, "e"], - [50803, 0, "s"], - [50804, 0, " "], - [50805, 0, "t"], - [50806, 0, "h"], - [50807, 0, "e"], - [50808, 0, " "], - [50809, 0, "l"], - [50810, 0, "i"], - [50811, 0, "s"], - [50812, 0, "t"], - [50813, 0, " "], - [50814, 0, "e"], - [50815, 0, "l"], - [50816, 0, "e"], - [50817, 0, "m"], - [50818, 0, "e"], - [50819, 0, "n"], - [50820, 0, "t"], - [50821, 0, " "], - [50822, 0, "c"], - [50823, 0, "a"], - [50824, 0, "n"], - [50825, 0, " "], - [50826, 0, "c"], - [50827, 0, "a"], - [50828, 0, "u"], - [50829, 0, "s"], - [50830, 0, "e"], - [50831, 0, " "], - [50832, 0, "t"], - [50833, 0, "h"], - [50834, 0, "e"], - [50835, 0, " "], - [50836, 0, "p"], - [50837, 0, "r"], - [50838, 0, "e"], - [50839, 0, "s"], - [50840, 0, "e"], - [50841, 0, "n"], - [50842, 0, "c"], - [50843, 0, "e"], - [50844, 0, " "], - [50845, 0, "s"], - [50846, 0, "e"], - [50847, 0, "t"], - [50848, 0, " "], - [50849, 0, "t"], - [50850, 0, "o"], - [50851, 0, " "], - [50852, 0, "b"], - [50853, 0, "e"], - [50854, 0, " "], - [50855, 0, "c"], - [50856, 0, "o"], - [50857, 0, "m"], - [50858, 0, "e"], - [50859, 0, " "], - [50860, 0, "n"], - [50861, 0, "o"], - [50862, 0, "n"], - [50863, 0, "-"], - [50864, 0, "e"], - [50865, 0, "m"], - [50866, 0, "p"], - [50867, 0, "t"], - [50868, 0, "y"], - [50869, 0, " "], - [50870, 0, "a"], - [50871, 0, "g"], - [50872, 0, "a"], - [50873, 0, "i"], - [50874, 0, "n"], - [50875, 0, " "], - [50876, 0, "("], - [50877, 0, "l"], - [50878, 0, "e"], - [50879, 0, "a"], - [50880, 0, "d"], - [50881, 0, "i"], - [50882, 0, "n"], - [50883, 0, "g"], - [50884, 0, " "], - [50885, 0, "t"], - [50886, 0, "o"], - [50887, 0, " "], - [50888, 0, "t"], - [50889, 0, "h"], - [50890, 0, "e"], - [50891, 0, " "], - [50892, 0, "s"], - [50893, 0, "i"], - [50894, 0, "t"], - [50895, 0, "u"], - [50896, 0, "a"], - [50897, 0, "t"], - [50898, 0, "i"], - [50899, 0, "o"], - [50900, 0, "n"], - [50901, 0, "s"], - [50902, 0, " "], - [50903, 0, "i"], - [50904, 0, "n"], - [50905, 0, " "], - [50906, 0, "F"], - [50907, 0, "i"], - [50908, 0, "g"], - [50909, 0, "u"], - [50910, 0, "r"], - [50911, 0, "e"], - [50912, 0, "s"], - [50913, 0, "~"], - [50914, 0, "\\"], - [50915, 0, "r"], - [50916, 0, "e"], - [50917, 0, "f"], - [50918, 0, "{"], - [50919, 0, "f"], - [50920, 0, "i"], - [50921, 0, "g"], - [50922, 0, ":"], - [50923, 0, "m"], - [50924, 0, "a"], - [50925, 0, "p"], - [50926, 0, "-"], - [50927, 0, "r"], - [50928, 0, "e"], - [50929, 0, "m"], - [50930, 0, "o"], - [50931, 0, "v"], - [50932, 0, "e"], - [50933, 0, "}"], - [50934, 0, " "], - [50935, 0, "a"], - [50936, 0, "n"], - [50937, 0, "d"], - [50938, 0, " "], - [50938, 1], - [50938, 0, "~"], - [50939, 0, "\\"], - [50940, 0, "r"], - [50941, 0, "e"], - [50942, 0, "f"], - [50943, 0, "{"], - [50944, 0, "f"], - [50945, 0, "i"], - [50946, 0, "g"], - [50947, 0, ":"], - [50948, 0, "t"], - [50949, 0, "o"], - [50950, 0, "d"], - [50951, 0, "o"], - [50952, 0, "-"], - [50953, 0, "i"], - [50954, 0, "t"], - [50955, 0, "e"], - [50956, 0, "m"], - [50957, 0, "}"], - [50958, 0, ")"], - [50959, 0, "."], - [50575, 1], - [50574, 1], - [50573, 1], - [50572, 1], - [50572, 0, ","], - [50573, 0, " "], - [50574, 0, "w"], - [50575, 0, "h"], - [50576, 0, "i"], - [50577, 0, "c"], - [50578, 0, "h"], - [50647, 1], - [50647, 0, "i"], - [50648, 0, "s"], - [50744, 1], - [50743, 1], - [50742, 1], - [50742, 0, "s"], - [50738, 0, "w"], - [50739, 0, "h"], - [50740, 0, "i"], - [50741, 0, "c"], - [50742, 0, "h"], - [50743, 0, " "], - [50968, 0, " "], - [50969, 0, "$"], - [50969, 1], - [50969, 0, "R"], - [50970, 0, "u"], - [50971, 0, "l"], - [50972, 0, "e"], - [50973, 0, " "], - [50974, 0, "$"], - [50975, 0, "\\"], - [50976, 0, "t"], - [50977, 0, "e"], - [50978, 0, "x"], - [50979, 0, "t"], - [50980, 0, "s"], - [50981, 0, "c"], - [50982, 0, "{"], - [50983, 0, "I"], - [50984, 0, "d"], - [50985, 0, "x"], - [50986, 0, "}"], - [50987, 0, "_"], - [50988, 0, "4"], - [50989, 0, "$"], - [50990, 0, " "], - [50991, 0, "h"], - [50992, 0, "a"], - [50993, 0, "n"], - [50994, 0, "d"], - [50995, 0, "l"], - [50996, 0, "e"], - [50997, 0, "s"], - [50998, 0, " "], - [50999, 0, "l"], - [51000, 0, "i"], - [51001, 0, "s"], - [51002, 0, "t"], - [51003, 0, " "], - [51004, 0, "e"], - [51005, 0, "l"], - [51006, 0, "e"], - [51007, 0, "m"], - [51008, 0, "e"], - [51009, 0, "n"], - [51010, 0, "t"], - [51011, 0, " "], - [51011, 1], - [51011, 0, "s"], - [51012, 0, " "], - [51013, 0, "w"], - [51014, 0, "i"], - [51015, 0, "t"], - [51016, 0, "h"], - [51017, 0, " "], - [51018, 0, "e"], - [51019, 0, "m"], - [51020, 0, "p"], - [51021, 0, "t"], - [51022, 0, "y"], - [51023, 0, " "], - [51024, 0, "p"], - [51025, 0, "r"], - [51026, 0, "e"], - [51027, 0, "s"], - [51028, 0, "e"], - [51029, 0, "n"], - [51030, 0, "c"], - [51031, 0, "e"], - [51018, 0, "a"], - [51019, 0, "n"], - [51020, 0, " "], - [51035, 0, " "], - [51036, 0, "s"], - [51037, 0, "e"], - [51038, 0, "t"], - [51039, 0, " "], - [51040, 0, "b"], - [51041, 0, "y"], - [51042, 0, " "], - [51043, 0, "m"], - [51044, 0, "o"], - [51045, 0, "v"], - [51046, 0, "i"], - [51047, 0, "n"], - [51048, 0, "g"], - [51049, 0, " "], - [51050, 0, "t"], - [51051, 0, "o"], - [51052, 0, " "], - [51053, 0, "t"], - [51054, 0, "h"], - [51055, 0, "e"], - [51056, 0, " "], - [51057, 0, "n"], - [51058, 0, "e"], - [51059, 0, "x"], - [51060, 0, "t"], - [51061, 0, " "], - [51062, 0, "l"], - [51063, 0, "i"], - [51064, 0, "s"], - [51065, 0, "t"], - [51066, 0, " "], - [51067, 0, "e"], - [51068, 0, "l"], - [51069, 0, "e"], - [51070, 0, "m"], - [51071, 0, "e"], - [51072, 0, "n"], - [51073, 0, "t"], - [51074, 0, " "], - [51075, 0, "w"], - [51076, 0, "i"], - [51077, 0, "t"], - [51078, 0, "h"], - [51079, 0, "o"], - [51080, 0, "u"], - [51081, 0, "t"], - [51082, 0, " "], - [51083, 0, "d"], - [51084, 0, "e"], - [51085, 0, "c"], - [51086, 0, "r"], - [51087, 0, "e"], - [51088, 0, "m"], - [51089, 0, "e"], - [51090, 0, "n"], - [51091, 0, "t"], - [51092, 0, "i"], - [51093, 0, "n"], - [51094, 0, "g"], - [51095, 0, " "], - [51096, 0, "t"], - [51097, 0, "h"], - [51098, 0, "e"], - [51099, 0, " "], - [51100, 0, "i"], - [51101, 0, "n"], - [51102, 0, "d"], - [51103, 0, "e"], - [51104, 0, "x"], - [51105, 0, "."], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [51108, 1], - [47846, 0, "t"], - [47847, 0, "h"], - [47848, 0, "e"], - [47849, 0, "s"], - [47850, 0, "e"], - [47851, 0, " "], - [47852, 0, "i"], - [47853, 0, "d"], - [47854, 0, "e"], - [47855, 0, "n"], - [47856, 0, "t"], - [47857, 0, "i"], - [47858, 0, "f"], - [47859, 0, "i"], - [47860, 0, "e"], - [47861, 0, "r"], - [47862, 0, "s"], - [47863, 0, " "], - [47928, 1], - [47927, 1], - [47926, 1], - [47925, 1], - [47924, 1], - [47923, 1], - [47922, 1], - [47921, 1], - [47920, 1], - [47919, 1], - [47918, 1], - [47917, 1], - [47916, 1], - [47915, 1], - [47914, 1], - [47913, 1], - [47912, 1], - [47911, 1], - [47910, 1], - [47909, 1], - [47908, 1], - [47907, 1], - [47906, 1], - [47905, 1], - [47904, 1], - [47903, 1], - [47902, 1], - [47901, 1], - [47900, 1], - [47899, 1], - [47898, 1], - [47897, 1], - [47896, 1], - [47895, 1], - [49397, 1], - [49396, 1], - [49395, 1], - [51086, 0, ","], - [51087, 0, " "], - [51088, 0, "i"], - [51089, 0, "."], - [51090, 0, "e"], - [51091, 0, "."], - [51092, 0, " "], - [51093, 0, "n"], - [51094, 0, "o"], - [51095, 0, "t"], - [51096, 0, " "], - [51097, 0, "c"], - [51098, 0, "o"], - [51099, 0, "u"], - [51100, 0, "n"], - [51101, 0, "t"], - [51102, 0, "i"], - [51103, 0, "n"], - [51104, 0, "g"], - [51105, 0, " "], - [51106, 0, "t"], - [51107, 0, "h"], - [51108, 0, "e"], - [51109, 0, "m"], - [51110, 0, " "], - [51111, 0, "a"], - [51112, 0, "s"], - [51113, 0, " "], - [51114, 0, "l"], - [51115, 0, "i"], - [51116, 0, "s"], - [51117, 0, "t"], - [51118, 0, " "], - [51119, 0, "e"], - [51120, 0, "l"], - [51121, 0, "e"], - [51122, 0, "m"], - [51123, 0, "e"], - [51124, 0, "n"], - [51125, 0, "t"], - [51126, 0, "s"], - [51588, 1], - [51587, 1], - [51586, 1], - [51585, 1], - [51585, 0, "I"], - [51586, 0, "d"], - [51587, 0, "x"], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [51679, 1], - [52207, 0, "s"], - [52208, 0, "a"], - [52209, 0, "m"], - [52210, 0, "e"], - [52211, 0, " "], - [52415, 1], - [52414, 1], - [52413, 1], - [52412, 1], - [52411, 1], - [52410, 1], - [52409, 1], - [52408, 1], - [52407, 1], - [52406, 1], - [52405, 1], - [52404, 1], - [52403, 1], - [52402, 1], - [52401, 1], - [52400, 1], - [52399, 1], - [52398, 1], - [52397, 1], - [52396, 1], - [52395, 1], - [52394, 1], - [52393, 1], - [52392, 1], - [52391, 1], - [52390, 1], - [52389, 1], - [52388, 1], - [52387, 1], - [52386, 1], - [52385, 1], - [52384, 1], - [52383, 1], - [52382, 1], - [52381, 1], - [52380, 1], - [52379, 1], - [52378, 1], - [52377, 1], - [52376, 1], - [52375, 1], - [52374, 1], - [52373, 1], - [52372, 1], - [52371, 1], - [52370, 1], - [52369, 1], - [52368, 1], - [52367, 1], - [52366, 1], - [52365, 1], - [52364, 1], - [52363, 1], - [52362, 1], - [52361, 1], - [52360, 1], - [52359, 1], - [52358, 1], - [52357, 1], - [52356, 1], - [52355, 1], - [52354, 1], - [52353, 1], - [52352, 1], - [52351, 1], - [52350, 1], - [52349, 1], - [52348, 1], - [52347, 1], - [52346, 1], - [52345, 1], - [52344, 1], - [52343, 1], - [52342, 1], - [52341, 1], - [52340, 1], - [52339, 1], - [52338, 1], - [52337, 1], - [52336, 1], - [52335, 1], - [52334, 1], - [52333, 1], - [52332, 1], - [52331, 1], - [52330, 1], - [52329, 1], - [52328, 1], - [52327, 1], - [52326, 1], - [52325, 1], - [52324, 1], - [52323, 1], - [52322, 1], - [52321, 1], - [52320, 1], - [52319, 1], - [52318, 1], - [52317, 1], - [52316, 1], - [52315, 1], - [52314, 1], - [52313, 1], - [52312, 1], - [52311, 1], - [52310, 1], - [52309, 1], - [52308, 1], - [52307, 1], - [52306, 1], - [52305, 1], - [52304, 1], - [52303, 1], - [52302, 1], - [52301, 1], - [52300, 1], - [52299, 1], - [52298, 1], - [52297, 1], - [52296, 1], - [52295, 1], - [52294, 1], - [52293, 1], - [52292, 1], - [52291, 1], - [52290, 1], - [52289, 1], - [52288, 1], - [52287, 1], - [52286, 1], - [52285, 1], - [52284, 1], - [52283, 1], - [52282, 1], - [52281, 1], - [52280, 1], - [52279, 1], - [52278, 1], - [52277, 1], - [52488, 0, ","], - [54900, 0, "\\"], - [54901, 0, "e"], - [54902, 0, "m"], - [54903, 0, "p"], - [54904, 0, "h"], - [54905, 0, "{"], - [54925, 0, "}"], - [54943, 0, "."], - [54944, 0, " "], - [54945, 0, "A"], - [54946, 0, " "], - [54947, 0, "c"], - [54947, 1], - [54946, 1], - [54946, 0, " "], - [54947, 0, "c"], - [54948, 0, "a"], - [54949, 0, "u"], - [54950, 0, "s"], - [54951, 0, "a"], - [54952, 0, "l"], - [54953, 0, " "], - [54954, 0, "d"], - [54955, 0, "e"], - [54956, 0, "p"], - [54957, 0, "e"], - [54958, 0, "n"], - [54959, 0, "d"], - [54960, 0, "e"], - [54961, 0, "n"], - [54962, 0, "c"], - [54963, 0, "y"], - [54964, 0, " "], - [54965, 0, "i"], - [54966, 0, "s"], - [54967, 0, " "], - [54967, 1], - [54966, 1], - [54965, 1], - [54965, 0, "o"], - [54966, 0, "f"], - [54967, 0, " "], - [54968, 0, "o"], - [54969, 0, "p"], - [54970, 0, "e"], - [54971, 0, "r"], - [54972, 0, "a"], - [54973, 0, "t"], - [54974, 0, "i"], - [54975, 0, "o"], - [54976, 0, "n"], - [54977, 0, " "], - [54978, 0, "$"], - [54979, 0, "o"], - [54980, 0, "_"], - [54981, 0, "2"], - [54982, 0, "$"], - [54983, 0, " "], - [54984, 0, "i"], - [54985, 0, "s"], - [54986, 0, " "], - [54987, 0, "a"], - [54988, 0, "n"], - [54989, 0, "y"], - [54990, 0, " "], - [54991, 0, "o"], - [54992, 0, "p"], - [54993, 0, "e"], - [54994, 0, "r"], - [54995, 0, "a"], - [54996, 0, "t"], - [54997, 0, "i"], - [54998, 0, "o"], - [54999, 0, "n"], - [55000, 0, " "], - [55001, 0, "$"], - [55002, 0, "o"], - [55003, 0, "_"], - [55004, 0, "1"], - [55005, 0, "$"], - [55006, 0, " "], - [55007, 0, "t"], - [55008, 0, "h"], - [55009, 0, "a"], - [55010, 0, "t"], - [55011, 0, " "], - [55012, 0, "h"], - [55013, 0, "a"], - [55014, 0, "d"], - [55015, 0, " "], - [55016, 0, "b"], - [55017, 0, "e"], - [55018, 0, "e"], - [55019, 0, "n"], - [55020, 0, " "], - [55021, 0, "a"], - [55022, 0, "p"], - [55023, 0, "p"], - [55024, 0, "l"], - [55025, 0, "i"], - [55026, 0, "e"], - [55027, 0, "d"], - [55028, 0, " "], - [55029, 0, "a"], - [55030, 0, "t"], - [55031, 0, " "], - [55032, 0, "t"], - [55033, 0, "h"], - [55034, 0, "e"], - [55035, 0, " "], - [55036, 0, "r"], - [55037, 0, "e"], - [55038, 0, "p"], - [55039, 0, "l"], - [55040, 0, "i"], - [55041, 0, "c"], - [55042, 0, "a"], - [55043, 0, " "], - [55044, 0, "w"], - [55045, 0, "h"], - [55046, 0, "e"], - [55047, 0, "r"], - [55048, 0, "e"], - [55049, 0, " "], - [55050, 0, "$"], - [55051, 0, "o"], - [55052, 0, "_"], - [55053, 0, "2"], - [55054, 0, "$"], - [55055, 0, " "], - [55056, 0, "w"], - [55057, 0, "a"], - [55058, 0, "s"], - [55059, 0, " "], - [55015, 0, " "], - [55016, 0, "a"], - [55017, 0, "l"], - [55018, 0, "r"], - [55019, 0, "e"], - [55020, 0, "a"], - [55021, 0, "d"], - [55022, 0, "y"], - [54944, 0, " "], - [54945, 0, "I"], - [54946, 0, "f"], - [54947, 0, " "], - [54948, 0, "o"], - [54949, 0, "p"], - [54950, 0, "e"], - [54951, 0, "r"], - [54952, 0, "a"], - [54953, 0, "t"], - [54954, 0, "i"], - [54955, 0, "o"], - [54956, 0, "n"], - [54957, 0, " "], - [54958, 0, "$"], - [54959, 0, "o"], - [54960, 0, "_"], - [54961, 0, "2"], - [54962, 0, "$"], - [54963, 0, " "], - [54964, 0, "w"], - [54965, 0, "a"], - [54966, 0, "s"], - [54967, 0, " "], - [54968, 0, "g"], - [54969, 0, "e"], - [54970, 0, "n"], - [54971, 0, "e"], - [54972, 0, "r"], - [54973, 0, "a"], - [54974, 0, "t"], - [54975, 0, "e"], - [54976, 0, "d"], - [54977, 0, " "], - [54978, 0, "b"], - [54979, 0, "y"], - [54980, 0, " "], - [54981, 0, "r"], - [54982, 0, "e"], - [54983, 0, "p"], - [54984, 0, "l"], - [54985, 0, "i"], - [54986, 0, "c"], - [54987, 0, "a"], - [54988, 0, " "], - [54989, 0, "$"], - [54990, 0, "p"], - [54991, 0, "$"], - [54992, 0, ","], - [54993, 0, " "], - [54994, 0, "t"], - [54995, 0, "h"], - [54996, 0, "e"], - [54997, 0, "n"], - [54999, 1], - [54999, 0, "a"], - [55030, 1], - [55029, 1], - [55028, 1], - [55027, 1], - [55026, 1], - [55025, 1], - [55024, 1], - [55023, 1], - [55022, 1], - [55021, 1], - [55080, 0, " "], - [55081, 0, "o"], - [55082, 0, "n"], - [55083, 0, " "], - [55084, 0, "$"], - [55085, 0, "p"], - [55086, 0, "$"], - [55087, 0, " "], - [55088, 0, "a"], - [55089, 0, "t"], - [55090, 0, " "], - [55091, 0, "t"], - [55092, 0, "h"], - [55093, 0, "e"], - [55094, 0, " "], - [55095, 0, "t"], - [55096, 0, "i"], - [55097, 0, "m"], - [55098, 0, "e"], - [55099, 0, " "], - [55100, 0, "w"], - [55101, 0, "h"], - [55102, 0, "e"], - [55103, 0, "n"], - [55104, 0, " "], - [55105, 0, "$"], - [55106, 0, "o"], - [55107, 0, "_"], - [55108, 0, "2"], - [55109, 0, "$"], - [55110, 0, " "], - [55111, 0, "w"], - [55112, 0, "a"], - [55113, 0, "s"], - [55114, 0, " "], - [55115, 0, "g"], - [55116, 0, "e"], - [55117, 0, "n"], - [55118, 0, "e"], - [55119, 0, "r"], - [55120, 0, "a"], - [55121, 0, "t"], - [55122, 0, "e"], - [55123, 0, "d"], - [55124, 0, "."], - [55125, 0, " "], - [55126, 0, "I"], - [55127, 0, "n"], - [55128, 0, " "], - [55129, 0, "t"], - [55130, 0, "h"], - [55131, 0, "i"], - [55132, 0, "s"], - [55133, 0, " "], - [55134, 0, "p"], - [55135, 0, "a"], - [55136, 0, "p"], - [55137, 0, "e"], - [55138, 0, "r"], - [55139, 0, ","], - [55140, 0, " "], - [55141, 0, "w"], - [55142, 0, "e"], - [55143, 0, " "], - [55144, 0, "d"], - [55145, 0, "e"], - [55146, 0, "f"], - [55147, 0, "i"], - [55148, 0, "n"], - [55149, 0, "e"], - [55150, 0, "d"], - [55150, 1], - [55150, 0, " "], - [55151, 0, "t"], - [55152, 0, "h"], - [55153, 0, "e"], - [55154, 0, " "], - [55154, 1], - [55153, 1], - [55152, 1], - [55151, 1], - [55151, 0, "\\"], - [55152, 0, "m"], - [55153, 0, "a"], - [55153, 1], - [55152, 1], - [55151, 1], - [55151, 0, "$"], - [55152, 0, "\\"], - [55153, 0, "m"], - [55154, 0, "a"], - [55155, 0, "t"], - [55156, 0, "h"], - [55157, 0, "i"], - [55158, 0, "t"], - [55159, 0, "{"], - [55160, 0, "d"], - [55161, 0, "e"], - [55162, 0, "p"], - [55163, 0, "s"], - [55164, 0, "}"], - [55165, 0, "$"], - [55166, 0, " "], - [55167, 0, "a"], - [55168, 0, "s"], - [55169, 0, " "], - [55170, 0, "t"], - [55171, 0, "h"], - [55172, 0, "e"], - [55173, 0, " "], - [55174, 0, "s"], - [55175, 0, "e"], - [55176, 0, "t"], - [55177, 0, " "], - [55178, 0, "o"], - [55179, 0, "f"], - [55180, 0, " "], - [55181, 0, "L"], - [55182, 0, "a"], - [55183, 0, "m"], - [55184, 0, "p"], - [55185, 0, "o"], - [55186, 0, "r"], - [55187, 0, "t"], - [55188, 0, " "], - [55189, 0, "t"], - [55190, 0, "i"], - [55191, 0, "m"], - [55192, 0, "e"], - [55193, 0, "s"], - [55194, 0, "t"], - [55195, 0, "a"], - [55196, 0, "m"], - [55197, 0, "p"], - [55198, 0, "s"], - [55199, 0, " "], - [55200, 0, "o"], - [55201, 0, "f"], - [55202, 0, " "], - [55203, 0, "a"], - [55204, 0, "l"], - [55205, 0, "l"], - [55206, 0, " "], - [55207, 0, "c"], - [55208, 0, "a"], - [55209, 0, "u"], - [55210, 0, "s"], - [55211, 0, "a"], - [55212, 0, "l"], - [55213, 0, " "], - [55214, 0, "d"], - [55215, 0, "e"], - [55216, 0, "p"], - [55217, 0, "e"], - [55218, 0, "n"], - [55219, 0, "d"], - [55220, 0, "e"], - [55221, 0, "n"], - [55222, 0, "c"], - [55223, 0, "i"], - [55224, 0, "e"], - [55225, 0, "s"], - [55226, 0, "."], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [55228, 1], - [54944, 0, " "], - [54945, 0, "I"], - [54946, 0, "t"], - [54947, 0, " "], - [54948, 0, "i"], - [54949, 0, "s"], - [54950, 0, " "], - [54951, 0, "d"], - [54952, 0, "e"], - [54953, 0, "f"], - [54954, 0, "i"], - [54955, 0, "n"], - [54956, 0, "e"], - [54957, 0, "d"], - [54958, 0, " "], - [54959, 0, "a"], - [54960, 0, "s"], - [54961, 0, " "], - [54962, 0, "f"], - [54963, 0, "o"], - [54964, 0, "l"], - [54965, 0, "l"], - [54966, 0, "o"], - [54967, 0, "w"], - [54968, 0, "s"], - [54969, 0, ":"], - [54971, 1], - [54971, 0, "i"], - [56788, 0, "A"], - [56789, 0, "f"], - [56790, 0, "t"], - [56791, 0, "e"], - [56792, 0, "r"], - [78015, 1], - [78014, 1], - [78013, 1], - [78012, 1], - [78012, 0, "I"], - [78013, 0, "d"], - [78014, 0, "x"], - [78085, 1], - [78084, 1], - [78083, 1], - [78082, 1], - [78082, 0, "i"], - [78083, 0, "d"], - [78084, 0, "x"], - [78074, 0, "$"], - [78087, 0, "("], - [78088, 0, "n"], - [78089, 0, ")"], - [78090, 0, "$"], - [78079, 1], - [78078, 1], - [78077, 1], - [78076, 1], - [78075, 1], - [78075, 0, "\\"], - [78076, 0, "m"], - [78077, 0, "a"], - [78078, 0, "t"], - [78079, 0, "h"], - [78079, 1], - [78078, 1], - [78077, 1], - [78076, 1], - [78076, 0, "t"], - [78077, 0, "e"], - [78078, 0, "x"], - [78078, 1], - [78077, 1], - [78076, 1], - [78076, 0, "m"], - [78077, 0, "a"], - [78078, 0, "t"], - [78079, 0, "h"], - [78019, 1], - [78018, 1], - [78019, 0, ","], - [78020, 0, "4"], - [88740, 1], - [88740, 1], - [88740, 1], - [88740, 1], - [88740, 0, "I"], - [88741, 0, "d"], - [88742, 0, "x"], - [78131, 0, " "], - [78132, 0, "b"], - [78133, 0, "e"], - [78134, 0, "c"], - [78135, 0, "a"], - [78136, 0, "u"], - [78137, 0, "s"], - [78138, 0, "e"], - [78139, 0, " "], - [78140, 0, "$"], - [78141, 0, "n"], - [78142, 0, "$"], - [78143, 0, " "], - [78144, 0, "i"], - [78145, 0, "s"], - [78146, 0, " "], - [78147, 0, "g"], - [78148, 0, "r"], - [78149, 0, "e"], - [78150, 0, "a"], - [78151, 0, "t"], - [78152, 0, "e"], - [78153, 0, "r"], - [78154, 0, " "], - [78155, 0, "t"], - [78156, 0, "h"], - [78157, 0, "a"], - [78158, 0, "n"], - [78159, 0, " "], - [78160, 0, "t"], - [78161, 0, "h"], - [78162, 0, "e"], - [78163, 0, " "], - [78164, 0, "n"], - [78165, 0, "u"], - [78166, 0, "m"], - [78167, 0, "b"], - [78168, 0, "e"], - [78169, 0, "r"], - [78170, 0, " "], - [78171, 0, "o"], - [78172, 0, "f"], - [78173, 0, " "], - [78174, 0, "n"], - [78175, 0, "o"], - [78176, 0, "n"], - [78177, 0, "-"], - [78178, 0, "d"], - [78179, 0, "e"], - [78180, 0, "l"], - [78181, 0, "e"], - [78182, 0, "t"], - [78183, 0, "e"], - [78184, 0, "d"], - [78185, 0, " "], - [78186, 0, "e"], - [78187, 0, "l"], - [78188, 0, "e"], - [78189, 0, "m"], - [78190, 0, "e"], - [78191, 0, "n"], - [78192, 0, "t"], - [78193, 0, "s"], - [78194, 0, " "], - [78195, 0, "i"], - [78196, 0, "n"], - [78197, 0, " "], - [78198, 0, "t"], - [78199, 0, "h"], - [78200, 0, "e"], - [78201, 0, " "], - [78202, 0, "l"], - [78203, 0, "i"], - [78204, 0, "s"], - [78205, 0, "t"], - [78138, 1], - [78137, 1], - [78136, 1], - [78135, 1], - [78134, 1], - [78133, 1], - [78132, 1], - [78131, 1], - [78131, 0, ","], - [78132, 0, " "], - [78133, 0, "w"], - [78134, 0, "h"], - [78135, 0, "i"], - [78136, 0, "c"], - [78137, 0, "h"], - [78138, 0, " "], - [78139, 0, "w"], - [78140, 0, "o"], - [78141, 0, "u"], - [78142, 0, "l"], - [78143, 0, "d"], - [78144, 0, " "], - [78145, 0, "h"], - [78146, 0, "a"], - [78147, 0, "p"], - [78148, 0, "p"], - [78149, 0, "e"], - [78150, 0, "n"], - [78151, 0, " "], - [78152, 0, "i"], - [78153, 0, "f"], - [51086, 1], - [51086, 0, " "], - [51087, 1], - [51087, 0, "("], - [51092, 0, ","], - [51128, 0, ")"], - [56024, 1], - [56025, 0, "("], - [56030, 0, ","], - [56067, 1], - [56067, 0, ")"], - [56067, 0, " "], - [56068, 0, "i"], - [56069, 0, "n"], - [56070, 0, " "], - [56071, 0, "e"], - [56072, 0, "i"], - [56073, 0, "t"], - [56074, 0, "h"], - [56075, 0, "e"], - [56076, 0, "r"], - [56077, 0, " "], - [56078, 0, "d"], - [56079, 0, "i"], - [56080, 0, "r"], - [56081, 0, "e"], - [56082, 0, "c"], - [56083, 0, "t"], - [56084, 0, "i"], - [56085, 0, "o"], - [56086, 0, "n"], - [68783, 1], - [68782, 1], - [68781, 1], - [68780, 1], - [68780, 0, "w"], - [68781, 0, "h"], - [68782, 0, "i"], - [68783, 0, "c"], - [68784, 0, "h"], - [68785, 0, " "], - [68786, 0, "i"], - [68787, 0, "s"], - [68788, 0, " "], - [68789, 0, "t"], - [68790, 0, "h"], - [68791, 0, "e"], - [68792, 0, " "], - [68793, 0, "c"], - [68794, 0, "a"], - [68795, 0, "s"], - [68796, 0, "e"], - [59857, 1], - [59856, 1], - [59855, 1], - [59854, 1], - [59853, 1], - [59852, 1], - [59851, 1], - [59850, 1], - [59849, 1], - [59848, 1], - [59847, 1], - [59846, 1], - [59845, 1], - [59845, 0, "i"], - [59846, 0, "t"], - [59847, 0, "s"], - [59847, 1], - [59846, 1], - [59845, 1], - [59845, 0, "t"], - [59846, 0, "h"], - [59847, 0, "e"], - [61346, 1], - [61345, 1], - [61344, 1], - [61343, 1], - [61342, 1], - [61341, 1], - [61340, 1], - [61339, 1], - [61338, 1], - [61337, 1], - [61335, 1], - [61334, 1], - [61333, 1], - [61333, 0, "i"], - [61334, 0, "t"], - [61335, 0, "s"], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [60398, 1], - [61440, 1], - [61439, 1], - [61438, 1], - [61437, 1], - [61436, 1], - [61435, 1], - [61434, 1], - [61433, 1], - [61432, 1], - [61431, 1], - [61431, 0, "a"], - [61432, 0, "p"], - [61433, 0, "p"], - [61434, 0, "l"], - [61435, 0, "y"], - [61436, 0, "i"], - [61437, 0, "n"], - [61438, 0, "g"], - [61250, 1], - [61249, 1], - [61248, 1], - [61247, 1], - [61246, 1], - [61245, 1], - [61244, 1], - [61243, 1], - [61242, 1], - [61242, 0, "a"], - [61243, 0, "p"], - [61244, 0, "p"], - [61245, 0, "l"], - [61246, 0, "i"], - [61247, 0, "e"], - [61248, 0, "s"], - [67605, 1], - [67604, 1], - [67603, 1], - [67602, 1], - [67601, 1], - [67600, 1], - [67599, 1], - [67598, 1], - [67598, 0, "a"], - [67599, 0, "p"], - [67600, 0, "p"], - [67601, 0, "l"], - [67602, 0, "y"], - [67636, 1], - [67635, 1], - [67634, 1], - [67633, 1], - [67632, 1], - [67631, 1], - [67631, 0, "t"], - [67632, 0, "o"], - [67662, 1], - [67661, 1], - [67660, 1], - [67659, 1], - [67666, 1], - [67666, 0, "i"], - [67667, 0, "n"], - [67668, 0, "g"], - [67964, 1], - [67963, 1], - [67970, 0, "'"], - [67971, 0, "s"], - [67972, 0, " "], - [67973, 0, "v"], - [67974, 0, "e"], - [67975, 0, "c"], - [67976, 0, "t"], - [67977, 0, "o"], - [67978, 0, "r"], - [67979, 0, " "], - [67980, 0, "o"], - [67981, 0, "f"], - [67982, 0, " "], - [67983, 0, "k"], - [67984, 0, "e"], - [67985, 0, "y"], - [67986, 0, "s"], - [67987, 0, " "], - [67988, 0, "i"], - [67989, 0, "s"], - [67990, 0, " "], - [67991, 0, "n"], - [67992, 0, "o"], - [67993, 0, "n"], - [67994, 0, "-"], - [67995, 0, "e"], - [67996, 0, "m"], - [67997, 0, "p"], - [67998, 0, "t"], - [67999, 0, "y"], - [68000, 0, ","], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68002, 1], - [68135, 1], - [68134, 1], - [68133, 1], - [68132, 1], - [68131, 1], - [68130, 1], - [68129, 1], - [68128, 1], - [68127, 1], - [68126, 1], - [68125, 1], - [68124, 1], - [68123, 1], - [68122, 1], - [68121, 1], - [68120, 1], - [68119, 1], - [68118, 1], - [68117, 1], - [68116, 1], - [68115, 1], - [68114, 1], - [68113, 1], - [68112, 1], - [68111, 1], - [68110, 1], - [68109, 1], - [68108, 1], - [68107, 1], - [68106, 1], - [68105, 1], - [68104, 1], - [68103, 1], - [68102, 1], - [68101, 1], - [68100, 1], - [68099, 1], - [68098, 1], - [68097, 1], - [68096, 1], - [68095, 1], - [68094, 1], - [68093, 1], - [68092, 1], - [68091, 1], - [68090, 1], - [68089, 1], - [68088, 1], - [68087, 1], - [68086, 1], - [68085, 1], - [68085, 0, "b"], - [68086, 0, "y"], - [68087, 0, " "], - [68088, 0, "f"], - [68089, 0, "o"], - [68090, 0, "l"], - [68091, 0, "l"], - [68092, 0, "o"], - [68093, 0, "w"], - [68094, 0, "i"], - [68095, 0, "n"], - [68096, 0, "g"], - [68097, 0, " "], - [68098, 0, "t"], - [68099, 0, "h"], - [68100, 0, "e"], - [68101, 0, " "], - [68102, 0, "p"], - [68103, 0, "a"], - [68104, 0, "t"], - [68105, 0, "h"], - [68106, 0, " "], - [68107, 0, "d"], - [68108, 0, "e"], - [68109, 0, "s"], - [68110, 0, "c"], - [68111, 0, "r"], - [68112, 0, "i"], - [68113, 0, "b"], - [68114, 0, "e"], - [68115, 0, "d"], - [68116, 0, " "], - [68117, 0, "b"], - [68118, 0, "y"], - [68119, 0, " "], - [68120, 0, "t"], - [68121, 0, "h"], - [68122, 0, "e"], - [68123, 0, "s"], - [68124, 0, "e"], - [68125, 0, " "], - [68126, 0, "k"], - [68127, 0, "e"], - [68128, 0, "y"], - [68129, 0, "s"], - [68124, 1], - [68123, 1], - [76500, 0, ","], - [81608, 0, "\n"], - [81609, 0, "\n"], - [81608, 0, "a"], - [81609, 0, "r"], - [81610, 0, "e"], - [81611, 0, " "], - [81612, 0, "a"], - [81613, 0, "l"], - [81614, 0, "s"], - [81615, 0, "o"], - [81616, 0, " "], - [81617, 0, "w"], - [81618, 0, "o"], - [81619, 0, "r"], - [81620, 0, "k"], - [81621, 0, "i"], - [81622, 0, "n"], - [81623, 0, "g"], - [81624, 0, " "], - [81625, 0, "o"], - [81626, 0, "n"], - [81627, 0, " "], - [81628, 0, "a"], - [81629, 0, " "], - [81630, 0, "p"], - [81631, 0, "r"], - [81632, 0, "a"], - [81633, 0, "c"], - [81634, 0, "t"], - [81635, 0, "i"], - [81636, 0, "c"], - [81637, 0, "a"], - [81638, 0, "l"], - [81639, 0, " "], - [81640, 0, "i"], - [81641, 0, "m"], - [81642, 0, "p"], - [81643, 0, "l"], - [81644, 0, "e"], - [81645, 0, "m"], - [81646, 0, "e"], - [81647, 0, "n"], - [81648, 0, "t"], - [81649, 0, "a"], - [81650, 0, "t"], - [81651, 0, "i"], - [81652, 0, "o"], - [81653, 0, "n"], - [81654, 0, " "], - [81655, 0, "o"], - [81656, 0, "f"], - [81657, 0, " "], - [81658, 0, "t"], - [81659, 0, "h"], - [81660, 0, "e"], - [81661, 0, " "], - [81662, 0, "a"], - [81663, 0, "l"], - [81664, 0, "g"], - [81665, 0, "o"], - [81666, 0, "r"], - [81667, 0, "i"], - [81668, 0, "t"], - [81669, 0, "h"], - [81670, 0, "m"], - [81671, 0, ","], - [81672, 0, " "], - [81673, 0, "a"], - [81674, 0, "n"], - [81675, 0, "d"], - [81676, 0, " "], - [81677, 0, "w"], - [81678, 0, "i"], - [81679, 0, "l"], - [81680, 0, "l"], - [81681, 0, " "], - [81682, 0, "r"], - [81683, 0, "e"], - [81684, 0, "p"], - [81685, 0, "o"], - [81686, 0, "r"], - [81687, 0, "t"], - [81688, 0, " "], - [81689, 0, "o"], - [81690, 0, "n"], - [81691, 0, " "], - [81692, 0, "i"], - [81693, 0, "t"], - [81694, 0, "s"], - [81695, 0, " "], - [81696, 0, "p"], - [81697, 0, "e"], - [81698, 0, "r"], - [81699, 0, "f"], - [81700, 0, "o"], - [81701, 0, "r"], - [81702, 0, "m"], - [81703, 0, "a"], - [81704, 0, "n"], - [81705, 0, "c"], - [81706, 0, "e"], - [81707, 0, " "], - [81708, 0, "c"], - [81709, 0, "h"], - [81710, 0, "a"], - [81711, 0, "r"], - [81712, 0, "a"], - [81713, 0, "c"], - [81714, 0, "t"], - [81715, 0, "e"], - [81716, 0, "r"], - [81717, 0, "i"], - [81718, 0, "s"], - [81719, 0, "t"], - [81720, 0, "i"], - [81721, 0, "c"], - [81722, 0, "s"], - [81723, 0, " "], - [81724, 0, "i"], - [81725, 0, "n"], - [81726, 0, " "], - [81727, 0, "f"], - [81728, 0, "o"], - [81729, 0, "l"], - [81730, 0, "l"], - [81731, 0, "o"], - [81732, 0, "w"], - [81733, 0, "-"], - [81734, 0, "o"], - [81735, 0, "n"], - [81736, 0, " "], - [81737, 0, "w"], - [81738, 0, "o"], - [81739, 0, "r"], - [81740, 0, "k"], - [81741, 0, "."], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [81744, 1], - [50439, 0, " "], - [50440, 0, "("], - [50441, 0, "t"], - [50442, 0, "h"], - [50443, 0, "i"], - [50444, 0, "s"], - [50445, 0, " "], - [50445, 1], - [50444, 1], - [50443, 1], - [50442, 1], - [50441, 1], - [50441, 0, "t"], - [50442, 0, "h"], - [50443, 0, "e"], - [50444, 0, "y"], - [50445, 0, " "], - [50446, 0, "b"], - [50447, 0, "e"], - [50448, 0, "c"], - [50449, 0, "o"], - [50450, 0, "m"], - [50451, 0, "e"], - [50452, 0, " "], - [50453, 0, "\\"], - [50454, 0, "e"], - [50455, 0, "m"], - [50456, 0, "p"], - [50457, 0, "h"], - [50458, 0, "{"], - [50459, 0, "t"], - [50460, 0, "o"], - [50461, 0, "m"], - [50462, 0, "b"], - [50463, 0, "s"], - [50464, 0, "t"], - [50465, 0, "o"], - [50466, 0, "n"], - [50467, 0, "e"], - [50468, 0, "s"], - [50469, 0, "}"], - [50470, 0, ")"], - [50453, 0, "s"], - [50454, 0, "o"], - [50455, 0, "-"], - [50456, 0, "c"], - [50456, 1], - [50455, 0, "c"], - [50455, 1], - [50456, 0, "c"], - [50457, 0, "a"], - [50458, 0, "l"], - [50459, 0, "l"], - [50460, 0, "e"], - [50461, 0, "d"], - [50462, 0, " "], - [51273, 1], - [51272, 1], - [51271, 1], - [51270, 1], - [51269, 1], - [51268, 1], - [51267, 1], - [51266, 1], - [51265, 1], - [51264, 1], - [51263, 1], - [51262, 1], - [51261, 1], - [51260, 1], - [51259, 1], - [51258, 1], - [51257, 1], - [81843, 0, "a"], - [81844, 0, "t"], - [81845, 0, " "], - [81846, 0, "f"], - [81847, 0, "i"], - [81848, 0, "r"], - [81849, 0, "s"], - [81850, 0, "t"], - [81851, 0, " "], - [81852, 0, "g"], - [81853, 0, "l"], - [81854, 0, "a"], - [81855, 0, "n"], - [81856, 0, "c"], - [81857, 0, "e"], - [81858, 0, " "], - [81859, 0, "t"], - [81860, 0, "o"], - [81861, 0, " "], - [81862, 0, "b"], - [81863, 0, "e"], - [81864, 0, " "], - [82145, 0, ","], - [83232, 0, "\n"], - [83233, 0, "\\"], - [83234, 0, "v"], - [83235, 0, "f"], - [83236, 0, "i"], - [83237, 0, "l"], - [83238, 0, "l"], - [83231, 1], - [83238, 0, "\n"], - [84410, 1], - [84409, 1], - [84408, 1], - [84407, 1], - [84406, 1], - [84405, 1], - [84404, 1], - [84403, 1], - [12217, 1], - [12217, 1], - [12217, 1], - [12217, 1], - [12217, 1], - [12217, 1], - [12217, 1], - [12217, 1], - [12217, 0, "q"], - [12218, 0, "u"], - [12219, 0, "o"], - [12220, 0, "r"], - [12221, 0, "u"], - [12222, 0, "m"], - [12474, 0, "s"], - [12475, 0, "t"], - [12476, 0, "r"], - [12477, 0, "u"], - [12478, 0, "g"], - [12479, 0, "g"], - [12480, 0, "l"], - [12481, 0, "e"], - [12482, 0, " "], - [12483, 0, "t"], - [12484, 0, "o"], - [12485, 0, " "], - [12486, 0, "r"], - [12487, 0, "e"], - [12488, 0, "a"], - [12489, 0, "c"], - [12490, 0, "h"], - [12491, 0, " "], - [12492, 0, "a"], - [12493, 0, " "], - [12494, 0, "q"], - [12495, 0, "u"], - [12496, 0, "o"], - [12497, 0, "r"], - [12498, 0, "u"], - [12499, 0, "m"], - [12500, 0, " "], - [12501, 0, "a"], - [12502, 0, "n"], - [12503, 0, "d"], - [12504, 0, " "], - [12412, 1], - [12411, 1], - [12410, 1], - [12409, 1], - [12408, 1], - [12407, 1], - [12406, 1], - [12405, 1], - [12404, 1], - [12403, 1], - [12402, 1], - [12401, 1], - [12400, 1], - [12399, 1], - [12398, 1], - [12397, 1], - [12396, 1], - [12395, 1], - [12394, 1], - [12393, 1], - [12393, 0, "e"], - [12394, 0, " "], - [12395, 0, "o"], - [12396, 0, "f"], - [12397, 0, "f"], - [12398, 0, "l"], - [12399, 0, "i"], - [12400, 0, "n"], - [12401, 0, "e"], - [12402, 0, " "], - [12403, 0, "a"], - [12404, 0, "t"], - [12405, 0, " "], - [12406, 0, "a"], - [12407, 0, "n"], - [12408, 0, "y"], - [12409, 0, " "], - [12410, 0, "o"], - [12411, 0, "n"], - [12412, 0, "e"], - [12376, 1], - [12375, 1], - [12374, 1], - [12373, 1], - [12372, 1], - [12371, 1], - [12370, 1], - [12369, 1], - [12368, 1], - [12367, 1], - [12366, 1], - [12365, 1], - [12364, 1], - [12363, 1], - [12362, 1], - [12361, 1], - [12360, 1], - [12359, 1], - [12359, 0, "m"], - [12360, 0, "a"], - [12361, 0, "n"], - [12362, 0, "y"], - [12511, 0, "W"], - [12512, 0, "i"], - [12513, 0, "t"], - [12514, 0, "h"], - [12515, 0, "o"], - [12516, 0, "u"], - [12517, 0, "t"], - [12518, 0, " "], - [12519, 0, "q"], - [12520, 0, "u"], - [12521, 0, "o"], - [12522, 0, "r"], - [12523, 0, "u"], - [12524, 0, "m"], - [12525, 0, "s"], - [12526, 0, ","], - [12527, 0, " "], - [12528, 1], - [12528, 0, "t"], - [12556, 1], - [12555, 1], - [12554, 1], - [12553, 1], - [12552, 1], - [12006, 0, " "], - [12007, 0, "w"], - [12008, 0, "i"], - [12009, 0, "t"], - [12010, 0, "h"], - [12011, 0, "o"], - [12012, 0, "u"], - [12013, 0, "t"], - [12014, 0, " "], - [12015, 0, "u"], - [12016, 0, "s"], - [12017, 0, "i"], - [12018, 0, "n"], - [12019, 0, "g"], - [12020, 0, " "], - [12021, 0, "a"], - [12022, 0, " "], - [12023, 0, "s"], - [12024, 0, "i"], - [12025, 0, "n"], - [12026, 0, "g"], - [12027, 0, "l"], - [12028, 0, "e"], - [12029, 0, " "], - [12030, 0, "s"], - [12031, 0, "e"], - [12032, 0, "r"], - [12033, 0, "v"], - [12034, 0, "e"], - [12035, 0, "r"], - [12137, 1], - [12136, 1], - [12135, 1], - [12134, 1], - [12133, 1], - [12132, 1], - [12131, 1], - [12130, 1], - [12129, 1], - [12128, 1], - [12127, 1], - [12126, 1], - [12125, 1], - [12124, 1], - [12123, 1], - [12122, 1], - [12121, 1], - [12120, 1], - [12119, 1], - [12118, 1], - [12117, 1], - [12116, 1], - [12115, 1], - [12114, 1], - [12113, 1], - [12112, 1], - [12111, 1], - [12110, 1], - [12109, 1], - [12108, 1], - [12107, 1], - [12106, 1], - [12105, 1], - [12104, 1], - [12103, 1], - [12102, 1], - [12101, 1], - [12100, 1], - [12099, 1], - [12098, 1], - [12097, 1], - [12242, 1], - [12241, 1], - [12240, 1], - [12239, 1], - [12238, 1], - [12237, 1], - [12236, 1], - [12235, 1], - [12234, 1], - [12233, 1], - [12232, 1], - [12300, 0, " "], - [12301, 0, "p"], - [12302, 0, "a"], - [12303, 0, "r"], - [12304, 0, "t"], - [12305, 0, "i"], - [12306, 0, "c"], - [12307, 0, "i"], - [12308, 0, "p"], - [12309, 0, "a"], - [12310, 0, "n"], - [12311, 0, "t"], - [12312, 0, "s"], - [12313, 1], - [12313, 1], - [12313, 1], - [12391, 1], - [12390, 1], - [12389, 1], - [12388, 1], - [12387, 1], - [12386, 1], - [12385, 1], - [12384, 1], - [12383, 1], - [12382, 1], - [12381, 1], - [12380, 1], - [12379, 1], - [12378, 1], - [12377, 1], - [12376, 1], - [12367, 1], - [12366, 1], - [12365, 1], - [12364, 1], - [12363, 1], - [12362, 1], - [12361, 1], - [12360, 1], - [12359, 1], - [12358, 1], - [12357, 1], - [12356, 1], - [12355, 1], - [12354, 1], - [12353, 1], - [12352, 1], - [12351, 1], - [12350, 1], - [12349, 1], - [12348, 1], - [12347, 1], - [12346, 1], - [12345, 1], - [12344, 1], - [12343, 1], - [12342, 1], - [12341, 1], - [12340, 1], - [12339, 1], - [12338, 1], - [12337, 1], - [12336, 1], - [12335, 1], - [12334, 1], - [12333, 1], - [12332, 1], - [16660, 0, "\n"], - [16661, 0, "\n"], - [16662, 0, "R"], - [16663, 0, "e"], - [16664, 0, "s"], - [16665, 0, "o"], - [16666, 0, "l"], - [16667, 0, "v"], - [16668, 0, "i"], - [16669, 0, "n"], - [16670, 0, "g"], - [16671, 0, " "], - [16672, 0, "c"], - [16673, 0, "o"], - [16674, 0, "n"], - [16675, 0, "c"], - [16676, 0, "u"], - [16677, 0, "r"], - [16678, 0, "r"], - [16679, 0, "e"], - [16680, 0, "n"], - [16681, 0, "t"], - [16682, 0, " "], - [16683, 0, "u"], - [16684, 0, "p"], - [16685, 0, "d"], - [16686, 0, "a"], - [16687, 0, "t"], - [16688, 0, "e"], - [16689, 0, "s"], - [16690, 0, " "], - [16691, 0, "o"], - [16692, 0, "n"], - [16693, 0, " "], - [16694, 0, "t"], - [16695, 0, "r"], - [16696, 0, "e"], - [16697, 0, "e"], - [16698, 0, " "], - [16699, 0, "s"], - [16700, 0, "t"], - [16701, 0, "r"], - [16702, 0, "u"], - [16703, 0, "c"], - [16704, 0, "t"], - [16705, 0, "u"], - [16706, 0, "r"], - [16707, 0, "e"], - [16708, 0, "s"], - [16709, 0, " "], - [16710, 0, "h"], - [16711, 0, "a"], - [16712, 0, "s"], - [16713, 0, " "], - [16714, 0, "b"], - [16715, 0, "e"], - [16716, 0, "e"], - [16717, 0, "n"], - [16718, 0, " "], - [16719, 0, "s"], - [16720, 0, "t"], - [16721, 0, "u"], - [16722, 0, "d"], - [16723, 0, "i"], - [16724, 0, "e"], - [16725, 0, "d"], - [16726, 0, " "], - [16727, 0, "i"], - [16728, 0, "n"], - [16729, 0, " "], - [16730, 0, "t"], - [16731, 0, "h"], - [16732, 0, "e"], - [16733, 0, " "], - [16734, 0, "c"], - [16735, 0, "o"], - [16736, 0, "n"], - [16737, 0, "t"], - [16738, 0, "e"], - [16739, 0, "x"], - [16740, 0, "t"], - [16741, 0, " "], - [16742, 0, "o"], - [16743, 0, "f"], - [16744, 0, " "], - [16745, 0, "f"], - [16746, 0, "i"], - [16747, 0, "l"], - [16748, 0, "e"], - [16749, 0, "s"], - [16750, 0, "y"], - [16751, 0, "s"], - [16752, 0, "t"], - [16753, 0, "e"], - [16754, 0, "m"], - [16755, 0, " "], - [16756, 0, "s"], - [16757, 0, "y"], - [16758, 0, "n"], - [16759, 0, "c"], - [16760, 0, "h"], - [16761, 0, "r"], - [16762, 0, "o"], - [16763, 0, "n"], - [16764, 0, "i"], - [16765, 0, "z"], - [16766, 0, "a"], - [16767, 0, "t"], - [16768, 0, "i"], - [16769, 0, "o"], - [16770, 0, "n"], - [16771, 0, "~"], - [16772, 0, "\\"], - [16773, 0, "c"], - [16774, 0, "i"], - [16775, 0, "t"], - [16776, 0, "e"], - [16777, 0, "{"], - [16778, 0, "B"], - [16779, 0, "a"], - [16780, 0, "l"], - [16781, 0, "a"], - [16782, 0, "s"], - [16783, 0, "u"], - [16784, 0, "b"], - [16785, 0, "r"], - [16786, 0, "a"], - [16787, 0, "m"], - [16788, 0, "a"], - [16789, 0, "n"], - [16790, 0, "i"], - [16791, 0, "a"], - [16792, 0, "m"], - [16793, 0, ":"], - [16794, 0, "1"], - [16795, 0, "9"], - [16796, 0, "9"], - [16797, 0, "8"], - [16798, 0, "j"], - [16799, 0, "h"], - [16800, 0, ","], - [16801, 0, "R"], - [16802, 0, "a"], - [16803, 0, "m"], - [16804, 0, "s"], - [16805, 0, "e"], - [16806, 0, "y"], - [16807, 0, ":"], - [16808, 0, "2"], - [16809, 0, "0"], - [16810, 0, "0"], - [16811, 0, "1"], - [16812, 0, "c"], - [16813, 0, "e"], - [16814, 0, ","], - [16814, 1], - [16814, 0, "}"], - [16815, 0, "."], - [16754, 1], - [16753, 1], - [16752, 1], - [16751, 1], - [16750, 1], - [16749, 1], - [13003, 1], - [13003, 1], - [13003, 1], - [13003, 1], - [13003, 1], - [13121, 1], - [13120, 1], - [13119, 1], - [13118, 1], - [13031, 1], - [13030, 1], - [13029, 1], - [13028, 1], - [13027, 1], - [13733, 1], - [13732, 1], - [13731, 1], - [13730, 1], - [13729, 1], - [13728, 1], - [13727, 1], - [13726, 1], - [13602, 0, ","], - [13263, 0, ","], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [13865, 1], - [4817, 1], - [4816, 1], - [4816, 0, "i"], - [4817, 0, "s"], - [60611, 0, "s"], - [61308, 1], - [82969, 0, " "], - [2167, 0, " "], - [2168, 0, "("], - [2169, 0, "a"], - [2170, 0, " "], - [2171, 0, "c"], - [2172, 0, "o"], - [2173, 0, "n"], - [2174, 0, "f"], - [2175, 0, "l"], - [2176, 0, "i"], - [2177, 0, "c"], - [2178, 0, "t"], - [2179, 0, "-"], - [2180, 0, "f"], - [2181, 0, "r"], - [2182, 0, "e"], - [2183, 0, "e"], - [2184, 0, " "], - [2185, 0, "r"], - [2186, 0, "e"], - [2187, 0, "p"], - [2188, 0, "l"], - [2189, 0, "i"], - [2190, 0, "c"], - [2191, 0, "a"], - [2192, 0, "t"], - [2193, 0, "e"], - [2194, 0, "d"], - [2195, 0, " "], - [2196, 0, "d"], - [2197, 0, "a"], - [2198, 0, "t"], - [2199, 0, "a"], - [2200, 0, "t"], - [2201, 0, "y"], - [2202, 0, "p"], - [2203, 0, "e"], - [2204, 0, " "], - [2205, 0, "o"], - [2206, 0, "r"], - [2207, 0, " "], - [2208, 0, "C"], - [2209, 0, "R"], - [2210, 0, "D"], - [2211, 0, "T"], - [2212, 0, ")"] -]; -const finalText = "\\documentclass[10pt,journal,compsoc]{IEEEtran}\n\\PassOptionsToPackage{hyphens}{url}\n\\usepackage[utf8]{inputenc}\n\\usepackage{amsmath} % align environment\n\\usepackage{amssymb} % mathbb\n\\usepackage{bussproofs} % notation for inference rules\n\\usepackage{rotating} % sidewaysfigure\n\\usepackage{hyperref}\n\\usepackage[hyphenbreaks]{breakurl} % Fix URL line breaking when using dvips (e.g. arxiv.org)\n\\usepackage[nocompress]{cite}\n\n% Theorem environments\n\\usepackage{amsthm}\n\\newtheorem{definition}{Definition}\n\\newtheorem{theorem}{Theorem}\n\\newtheorem{lemma}[theorem]{Lemma}\n\\newtheorem*{convergence-thm}{Theorem}\n\n% Diagrams\n\\usepackage{tikz}\n\\usetikzlibrary{arrows}\n\n\\hyphenation{da-ta-cen-ter da-ta-cen-ters net-works time-stamp}\n\n\\newif\\ifincludeappendix\n\\includeappendixtrue\n\n\\newcommand{\\evalto}{\\;\\Longrightarrow\\;}\n\n% Placeholder character like \\textvisiblespace, but works in math mode\n\\newcommand{\\placeholder}{%\n \\makebox[0.7em]{%\n \\kern.07em\n \\vrule height.3ex\n \\hrulefill\n \\vrule height.3ex\n \\kern.07em\n }%\n}\n\n% Span multiple columns within an alignat math environment\n\\newcommand{\\multialign}[2]{%\n \\multispan{#1}\\mbox{$\\displaystyle{}#2$}%\n}\n\n\\begin{document}\n\\sloppy\n\\title{A Conflict-Free Replicated JSON Datatype}\n\\author{Martin Kleppmann and Alastair R. Beresford\n\\thanks{M. Kleppmann and A.R. Beresford are with the University of Cambridge Computer Laboratory, Cambridge, UK.\\protect\\\\Email: \\url{mk428@cl.cam.ac.uk}, \\url{arb33@cl.cam.ac.uk}.}}\n\n\\IEEEtitleabstractindextext{%\n\\begin{abstract}\n% abstract word limit: 100-200 words\nMany applications model their data in a general-purpose storage format such as JSON. This data structure is modified by the application as a result of user input. Such modifications are well understood if performed sequentially on a single copy of the data, but if the data is replicated and modified concurrently on multiple devices, it is unclear what the semantics should be. In this paper we present an algorithm and formal semantics for a JSON data structure that automatically resolves concurrent modifications such that no updates are lost, and such that all replicas converge towards the same state (a conflict-free replicated datatype or CRDT). It supports arbitrarily nested list and map types, which can be modified by insertion, deletion and assignment. The algorithm performs all merging client-side and does not depend on ordering guarantees from the network, making it suitable for deployment on mobile devices with poor network connectivity, in peer-to-peer networks, and in messaging systems with end-to-end encryption.\n\\end{abstract}\n\n\\begin{IEEEkeywords}\nCRDTs, Collaborative Editing, P2P, JSON, Optimistic Replication, Operational Semantics, Eventual Consistency.\n\\end{IEEEkeywords}}\n\\maketitle\n\n\\IEEEraisesectionheading{\\section{Introduction}\\label{sec:introduction}}\n\n\\IEEEPARstart{U}{sers} of mobile devices, such as smartphones, expect applications to continue working while the device is offline or has poor network connectivity, and to synchronize its state with the user's other devices when the network is available. Examples of such applications include calendars, address books, note-taking tools, to-do lists, and password managers. Similarly, collaborative work often requires several people to simultaneously edit the same text document, spreadsheet, presentation, graphic, and other kinds of document, with each person's edits reflected on the other collaborators' copies of the document with minimal delay.\n\nWhat these applications have in common is that the application state needs to be replicated to several devices, each of which may modify the state locally. The traditional approach to concurrency control, serializability, would cause the application to become unusable at times of poor network connectivity~\\cite{Davidson:1985hv}. If we require that applications work regardless of network availability, we must assume that users can make arbitrary modifications concurrently on different devices, and that any resulting conflicts must be resolved.\n\nThe simplest way to resolve conflicts is to discard some modifications when a conflict occurs, for example using a ``last writer wins'' policy. However, this approach is undesirable as it incurs data loss. An alternative is to let the user manually resolve the conflict, which is tedious and error-prone, and therefore should be avoided whenever possible.\n\nCurrent applications solve this problem with a range of ad-hoc and application-specific mechanisms. In this paper we present a general-purpose datatype that provides the full expressiveness of the JSON data model, and supports concurrent modifications without loss of information. As we shall see later, our approach typically supports the automatic merging of concurrent modifications into a JSON data structure. We introduce a single, general mechanism (a multi-value register) into our model to record conflicting updates to leaf nodes in the JSON data structure. This mechanism then provides a consistent basis on which applications can resolve any remaining conflicts through programmatic means, or via further user input. We expect that implementations of this datatype will drastically simplify the development of collaborative and state-synchronizing applications for mobile devices.\n\n\\subsection{JSON Data Model}\n\nJSON is a popular general-purpose data encoding format, used in many databases and web services. It has similarities to XML, and we compare them in Section~\\ref{sec:json-xml}. The structure of a JSON document can optionally be constrained by a schema; however, for simplicity, this paper discusses only untyped JSON without an explicit schema.\n\nA JSON document is a tree containing two types of branch node:\n\n\\begin{description}\n\\item[Map:] A node whose children have no defined order, and where each child is labelled with a string \\emph{key}. A key uniquely identifies one of the children. We treat keys as immutable, but values as mutable, and key-value mappings can be added and removed from the map. A JSON map is also known as an \\emph{object}.\n\\item[List:] A node whose children have an order defined by the application. The list can be mutated by inserting or deleting list elements. A JSON list is also known as an \\emph{array}.\n\\end{description}\n\nA child of a branch node can be either another branch node, or a leaf node. A leaf of the tree contains a primitive value (string, number, boolean, or null). We treat primitive values as immutable, but allow the value of a leaf node to be modified by treating it as a \\emph{register} that can be assigned a new value.\n\nThis model is sufficient to express the state of a wide range of applications. For example, a text document can be represented by a list of single-character strings; character-by-character edits are then expressed as insertions and deletions of list elements. In Section~\\ref{sec:examples} we describe four more complex examples of using JSON to model application data.\n\n\\subsection{Replication and Conflict Resolution}\\label{sec:intro-replication}\n\nWe consider systems in which a full copy of the JSON document is replicated on several devices. Those devices could be servers in datacenters, but we focus on mobile devices such as smartphones and laptops, which have intermittent network connectivity. We do not distinguish between devices owned by the same user and different users. Our model allows each device to optimistically modify its local replica of the document, and to asynchronously propagate those edits to other replicas.\n\nOur only requirement of the network is that messages sent by one replica are eventually delivered to all other replicas, by retrying if delivery fails. We assume the network may arbitrarily delay, reorder and duplicate messages.\n\nOur algorithm works client-side and does not depend on any server to transform or process messages. This approach allows messages to be delivered via a peer-to-peer network as well as a secure messaging protocol with end-to-end encryption~\\cite{Unger:2015kg}. The details of the network implementation and cryptographic protocols are outside of the scope of this paper.\n\nIn Section~\\ref{sec:semantics} we define formal semantics describing how conflicts are resolved when a JSON document is concurrently modified on different devices. Our design is based on three simple principles:\n\\begin{enumerate}\n\\item All replicas of the data structure should automatically converge towards the same state (a requirement known as \\emph{strong eventual consistency}~\\cite{Shapiro:2011un}).\n\\item No user input should be lost due to concurrent modifications.\n\\item If all sequential permutations of a set of updates lead to the same state, then concurrent execution of those updates also leads to the same state~\\cite{Bieniusa:2012gt}.\n\\end{enumerate}\n\n\\subsection{Our Contributions}\n\nOur main contribution in this work is to define an algorithm and formal semantics for collaborative, concurrent editing of JSON data structures with automatic conflict resolution. Although similar algorithms have previously been defined for lists, maps and registers individually (see Section~\\ref{sec:related}), to our knowledge this paper is the first to integrate all of these structures into an arbitrarily composable datatype that can be deployed on any network topology.\n\nA key requirement of conflict resolution is that after any sequence of concurrent modifications, all replicas eventually converge towards the same state. In Section~\\ref{sec:convergence} and the appendix we prove a theorem to show that our algorithm satisfies this requirement.\n\nComposing maps and lists into arbitrarily nested structures opens up subtle challenges that do not arise in flat structures, due to the possibility of concurrent edits at different levels of the tree. We illustrate some of those challenges by example in Section~\\ref{sec:examples}. Nested structures are an important requirement for many applications. Consequently, the long-term goal of our work is to simplify the development of applications that use optimistic replication by providing a general algorithm for conflict resolution whose details can largely be hidden inside an easy-to-use software library.\n\n\\section{Related Work}\\label{sec:related}\n\nIn this section we discuss existing approaches to optimistic replication, collaborative editing and conflict resolution.\n\n\\subsection{Operational Transformation}\\label{sec:related-ot}\n\nAlgorithms based on \\emph{operational transformation} (OT) have long been used for collaborative editing applications~\\cite{Ellis:1989ue,Ressel:1996wx,Sun:1998vf,Nichols:1995fd}. Most of them treat a document as a single ordered list (of characters, for example) and do not support nested tree structures that are required by many applications. Some algorithms generalize OT to editing XML documents~\\cite{Davis:2002iv,Ignat:2003jy,Wang:2015vo}, which provides nesting of ordered lists, but these algorithms do not support key-value maps as defined in this paper (see Section~\\ref{sec:json-xml}). The performance of OT algorithms degrades rapidly as the number of concurrent operations increases~\\cite{Li:2006kd,Mehdi:2011ke}.\n\nMost deployed OT collaboration systems, including Google Docs~\\cite{DayRichter:2010tt}, Etherpad~\\cite{Etherpad:2011um}, Novell Vibe~\\cite{Spiewak:2010vw} and Apache Wave (formerly Google Wave~\\cite{Wang:2015vo}), rely on a single server to decide on a total ordering of operations~\\cite{Lemonik:2016wh}, a design decision inherited from the Jupiter system~\\cite{Nichols:1995fd}. This approach has the advantage of making the transformation functions simpler and less error-prone~\\cite{Imine:2003ks}, but it does not meet our requirements, since we want to support peer-to-peer collaboration without requiring a single server.\n\nMany secure messaging protocols, which we plan to use for encrypted collaboration, do not guarantee that different recipients will see messages in the same order~\\cite{Unger:2015kg}. Although it is possible to decide on a total ordering of operations without using a single server by using an atomic broadcast protocol~\\cite{Defago:2004ji}, such protocols are equivalent to consensus~\\cite{Chandra:1996cp}, so they can only safely make progress if a quorum of participants are reachable. We expect that in peer-to-peer systems of mobile devices participants will frequently be offline, and so any algorithm requiring atomic broadcast would struggle to reach a quorum and become unavailable. Without quorums, the strongest guarantee a system can give is causal ordering~\\cite{Attiya:2015dm}.\n\nThe Google Realtime API~\\cite{Google:2015vk} is to our knowledge the only implementation of OT that supports arbitrary nesting of lists and maps. Like Google Docs, it relies on a single server~\\cite{Lemonik:2016wh}. As a proprietary product, details of its algorithms have not been published.\n\n\\subsection{CRDTs}\\label{sec:related-crdts}\n\nConflict-free replicated datatypes (CRDTs) are a family of data structures that support concurrent modification and guarantee convergence of concurrent updates. They work by attaching additional metadata to the data structure, making modification operations commutative by construction. The JSON datatype described in this paper is a CRDT.\n\nCRDTs for registers, counters, maps, and sets are well-known~\\cite{Shapiro:2011un,Shapiro:2011wy}, and have been implemented in various deployed systems such as Riak~\\cite{Brown:2014hs,Brown:2013wy}. For ordered lists, various algorithms have been proposed, including WOOT~\\cite{Oster:2006wj}, RGA~\\cite{Roh:2011dw}, Treedoc~\\cite{Preguica:2009fz}, Logoot~\\cite{Weiss:2010hx}, and LSEQ~\\cite{Nedelec:2013ky}. Attiya et al.~\\cite{Attiya:2016kh} analyze the metadata overhead of collaboratively edited lists, and provide a correctness proof of the RGA algorithm. However, none of them support nesting: all of the aforementioned algorithms assume that each of their elements is a primitive value, not another CRDT.\n\nThe problem of nesting one CRDT inside another (also known as \\emph{composition} or \\emph{embedding}) has only been studied more recently. Riak allows nesting of counters and registers inside maps, and of maps within other maps~\\cite{Brown:2014hs,Brown:2013wy}. Embedding counters inside maps raises questions of semantics, which have been studied by Baquero, Almeida and Lerche~\\cite{Baquero:2016iv}. Almeida et al.~\\cite{Almeida:2016tk} also define delta mutations for nested maps, and Baquero et al.~\\cite{Baquero:2015tm} define a theoretical framework for composition of state-based CRDTs, based on lattices. None of this work integrates CRDTs for ordered lists, but the treatment of causality in these datatypes forms a basis for the semantics developed in this paper.\n\nBurckhardt et al.~\\cite{Burckhardt:2012jy} define \\emph{cloud types}, which are similar to CRDTs and can be composed. They define \\emph{cloud arrays}, which behave similarly to our map datatype, and \\emph{entities}, which are like unordered sets or relations; ordered lists are not defined in this framework.\n\nOn the other hand, Martin et al.~\\cite{Martin:2010ih} generalize Logoot~\\cite{Weiss:2010hx} to support collaborative editing of XML documents~-- that is, a tree of nested ordered lists without nested maps. As discussed in Section~\\ref{sec:json-xml}, such a structure does not capture the expressiveness of JSON.\n\nAlthough CRDTs for registers, maps and ordered lists have existed for years in isolation, we are not aware of any prior work that allows them all to be composed into an arbitrarily nested CRDT with a JSON-like structure.\n\n\\subsection{Other Approaches}\\label{sec:related-other}\n\nMany replicated data systems need to deal with the problem of concurrent, conflicting modifications, but the solutions are often ad-hoc. For example, in Dynamo~\\cite{DeCandia:2007ui} and CouchDB, if several values are concurrently written to the same key, the database preserves all of these values, and leaves conflict resolution to application code -- in other words, the only datatype it supports is a multi-value register. Naively chosen merge functions often exhibit anomalies such as deleted items reappearing~\\cite{DeCandia:2007ui}. We believe that conflict resolution is not a simple matter that can reasonably be left to application programmers.\n\nAnother frequently-used approach to conflict resolution is \\emph{last writer wins} (LWW), which arbitrarily chooses one among several concurrent writes as ``winner'' and discards the others. LWW is used in Apache Cassandra, for example. It does not meet our requirements, since we want no user input to be lost due to concurrent modifications.\n\nResolving concurrent updates on tree structures has been studied in the context of file synchronization~\\cite{Balasubramaniam:1998jh,Ramsey:2001ce}.\n\nFinally, systems such as Bayou~\\cite{Terry:1995dn} allow offline nodes to execute transactions tentatively, and confirm them when they are next online. This approach relies on all servers executing transactions in the same serial order, and deciding whether a transaction was successful depending on its preconditions. Bayou has the advantage of being able to express global invariants such as uniqueness constraints, which require serialization and cannot be expressed using CRDTs~\\cite{Bailis:2014th}. Bayou's downside is that tentative transactions may be rolled back, requiring explicit handling by the application, whereas CRDTs are defined such that operations cannot fail after they have been performed on one replica.\n\n\n\\section{Composing Data Structures}\\label{sec:composing}\n\nIn this section we informally introduce our approach to collaborative editing of JSON data structures, and illustrate some peculiarities of concurrent nested data structures. A formal presentation of the algorithm follows in Section~\\ref{sec:semantics}.\n\n\\subsection{Concurrent Editing Examples}\\label{sec:examples}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-0.5) -- (4,6.5);\n\\node (leftR) at (0,6) {Replica $p$:};\n\\node (rightR) at (8,6) {Replica $q$:};\n\\node (left0) at (0,5) [rectangle,draw] {\\{``key'': ``A''\\}};\n\\node (right0) at (8,5) [rectangle,draw] {\\{``key'': ``A''\\}};\n\\node (left1) at (0,3) [rectangle,draw] {\\{``key'': ``B''\\}};\n\\node (right1) at (8,3) [rectangle,draw] {\\{``key'': ``C''\\}};\n\\node (left2) at (0,0) [rectangle,draw] {\\{``key'': \\{``B'', ``C''\\}\\}};\n\\node (right2) at (8,0) [rectangle,draw] {\\{``key'': \\{``B'', ``C''\\}\\}};\n\\node (comms) at (4,1.6) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) to node [left,inner sep=8pt] {doc.get(``key'') := ``B'';} (left1);\n\\draw [thick,->] (right0) to node [right,inner sep=8pt] {doc.get(``key'') := ``C'';} (right1);\n\\draw [thick,->] (left1) -- (left2);\n\\draw [thick,dashed,blue,->] (left1.south) to [out=270,in=135] (right2.north west);\n\\draw [thick,dashed,blue,->] (right1.south) to [out=270,in=45] (left2.north east);\n\\draw [thick,->] (right1) -- (right2);\n\\end{tikzpicture}\n\\caption{Concurrent assignment to the register at doc.get(``key'') by replicas $p$ and $q$.}\\label{fig:register-assign}\n\\end{figure*}\n\nThe sequential semantics of editing a JSON data structure are well-known, and the semantics of concurrently editing a flat map or list data structure have been thoroughly explored in the literature (see Section~\\ref{sec:related}). However, when defining a CRDT for JSON data, difficulties arise due to the interactions between concurrency and nested data structures.\n\nIn the following examples we show some situations that might occur when JSON documents are concurrently modified, demonstrate how they are handled by our algorithm, and explain the rationale for our design decisions. In all examples we assume two replicas, labelled $p$ (drawn on the left-hand side) and $q$ (right-hand side). Local state for a replica is drawn in boxes, and modifications to local state are shown with labelled solid arrows; time runs down the page. Since replicas only mutate local state, we make communication of state changes between replicas explicit in our model. Network communication is depicted with dashed arrows.\n\nOur first example is shown in Figure~\\ref{fig:register-assign}. In a document that maps ``key'' to a register with value ``A'', replica $p$ sets the value of the register to ``B'', while replica $q$ concurrently sets it to ``C''. As the replicas subsequently exchange edits via network communication, they detect the conflict. Since we do not want to simply discard one of the edits, and the strings ``B'' and ``C'' cannot be meaningfully merged, the system must preserve both concurrent updates. This datatype is known as a \\emph{multi-value register}: although a replica can only assign a single value to the register, reading the register may return a set of multiple values that were concurrently written.\n\nA multi-value register is hardly an impressive CRDT, since it does not actually perform any conflict resolution. We use it only for primitive values for which no automatic merge function is defined. Other CRDTs could be substituted in its place: for example, a counter CRDT for a number that can only be incremented and decremented, or an ordered list of characters for a collaboratively editable string (see also Figure~\\ref{fig:text-edit}).\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-1) -- (4,8);\n\\node (left0) at (0,7.5) [rectangle,draw] {\\{``colors'': \\{``blue'': ``\\#0000ff''\\}\\}};\n\\node (right0) at (8,7.5) [rectangle,draw] {\\{``colors'': \\{``blue'': ``\\#0000ff''\\}\\}};\n\\node [matrix] (left1) at (0,4) [rectangle,draw] {\n \\node {\\{``colors'': \\{``blue'': ``\\#0000ff'',}; \\\\\n \\node {``red'': ``\\#ff0000''\\}\\}}; \\\\\n};\n\\node (right1) at (8,5.5) [rectangle,draw] {\\{``colors'': \\{\\}\\}};\n\\node (right2) at (8,3) [rectangle,draw] {\\{``colors'': \\{``green'': ``\\#00ff00''\\}\\}};\n\\node [matrix] (left2) at (0,0) [rectangle,draw] {\n \\node {\\{``colors'': \\{``red'': ``\\#ff0000'',}; \\\\\n \\node {``green'': ``\\#00ff00''\\}\\}}; \\\\\n};\n\\node [matrix] (right3) at (8,0) [rectangle,draw] {\n \\node {\\{``colors'': \\{``red'': ``\\#ff0000'',}; \\\\\n \\node {``green'': ``\\#00ff00''\\}\\}}; \\\\\n};\n\\node (comms) at (4,2.1) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) -- (left1)\n node [left,text width=4.2cm,text centered,midway] {doc.get(``colors'').get(``red'') := ``\\#ff0000'';};\n\\draw [thick,->] (right0) to node [right] {doc.get(``colors'') := \\{\\};} (right1);\n\\draw [thick,->] (right1) -- (right2)\n node [right,text width=4.2cm,text centered,midway] {doc.get(``colors'').get(``green'') := ``\\#00ff00'';};\n\\draw [thick,->] (left1) to (left2);\n\\draw [thick,->] (right2) to (right3);\n\\draw [thick,dashed,blue,->] (left1.south) to [out=270,in=135] (right3.north west);\n\\draw [thick,dashed,blue,->] (right2.south) to [out=270,in=45] (left2.north east);\n\\end{tikzpicture}\n\\caption{Modifying the contents of a nested map while concurrently the entire map is overwritten.}\\label{fig:map-remove}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (5,-0.5) -- (5,10);\n\\node (left0) at (0,9.5) [rectangle,draw] {\\{\\}};\n\\node (right0) at (10,9.5) [rectangle,draw] {\\{\\}};\n\\node (left1) at (0,7.5) [rectangle,draw] {\\{``grocery'': []\\}};\n\\node (right1) at (10,7.5) [rectangle,draw] {\\{``grocery'': []\\}};\n\\node (left2) at (0,5.0) [rectangle,draw] {\\{``grocery'': [``eggs'']\\}};\n\\node (left3) at (0,2.5) [rectangle,draw] {\\{``grocery'': [``eggs'', ``ham'']\\}};\n\\node (right2) at (10,5.0) [rectangle,draw] {\\{``grocery'': [``milk'']\\}};\n\\node (right3) at (10,2.5) [rectangle,draw] {\\{``grocery'': [``milk'', ``flour'']\\}};\n\\node (left4) at (0,0.0) [rectangle,draw] {\\{``grocery'': [``eggs'', ``ham'', ``milk'', ``flour'']\\}};\n\\node (right4) at (10,0.0) [rectangle,draw] {\\{``grocery'': [``eggs'', ``ham'', ``milk'', ``flour'']\\}};\n\\node (comms) at (5,1.4) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) to node [left] {doc.get(``grocery'') := [];} (left1);\n\\draw [thick,->] (right0) to node [right] {doc.get(``grocery'') := [];} (right1);\n\\draw [thick,->] (left1) -- (left2)\n node [left,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(0) .insertAfter(``eggs'');};\n\\draw [thick,->] (right1) -- (right2)\n node [right,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(0) .insertAfter(``milk'');};\n\\draw [thick,->] (left2) -- (left3)\n node [left,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(1) .insertAfter(``ham'');};\n\\draw [thick,->] (right2) -- (right3)\n node [right,text width=4cm,text centered,midway] {doc.get(``grocery'').idx(1) .insertAfter(``flour'');};\n\\draw [thick,->] (left3) to (left4);\n\\draw [thick,->] (right3) to (right4);\n\\draw [thick,dashed,blue,->] (left3.south) to [out=270,in=135] (right4.north west);\n\\draw [thick,dashed,blue,->] (right3.south) to [out=270,in=45] (left4.north east);\n\\end{tikzpicture}\n\\caption{Two replicas concurrently create ordered lists under the same map key.}\\label{fig:two-lists}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-0.5) -- (4,8.5);\n\\node (leftR) at (0,8) {Replica $p$:};\n\\node (rightR) at (8,8) {Replica $q$:};\n\\node (left1) at (0,7) [rectangle,draw] {[``a'', ``b'', ``c'']};\n\\node (left2) at (0,5) [rectangle,draw] {[``a'', ``c'']};\n\\node (left3) at (0,3) [rectangle,draw] {[``a'', ``x'', ``c'']};\n\\node (left4) at (0,0) [rectangle,draw] {[``y'', ``a'', ``x'', ``z'', ``c'']};\n\\node (right1) at (8,7) [rectangle,draw] {[``a'', ``b'', ``c'']};\n\\node (right2) at (8,5) [rectangle,draw] {[``y'', ``a'', ``b'', ``c'']};\n\\node (right3) at (8,3) [rectangle,draw] {[``y'', ``a'', ``z'', ``b'', ``c'']};\n\\node (right4) at (8,0) [rectangle,draw] {[``y'', ``a'', ``x'', ``z'', ``c'']};\n\\node (comms) at (4, 1.5) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left1) to node [left] {doc.idx(2).delete;} (left2);\n\\draw [thick,->] (left2) to node [left] {doc.idx(1).insertAfter(``x'');} (left3);\n\\draw [thick,->] (right1) to node [right] {doc.idx(0).insertAfter(``y'');} (right2);\n\\draw [thick,->] (right2) to node [right] {doc.idx(2).insertAfter(``z'');} (right3);\n\\draw [thick,->] (left3) to (left4);\n\\draw [thick,->] (right3) to (right4);\n\\draw [thick,dashed,blue,->] (left3.south) to [out=270,in=135] (right4.north west);\n\\draw [thick,dashed,blue,->] (right3.south) to [out=270,in=45] (left4.north east);\n\\end{tikzpicture}\n\\caption{Concurrent editing of an ordered list of characters (i.e., a text document).}\\label{fig:text-edit}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-1) -- (4,7.5);\n\\node (left1) at (0,7) [rectangle,draw] {\\{\\}};\n\\node (left2) at (0,5) [rectangle,draw] {\\{``a'': \\{\\}\\}};\n\\node (left3) at (0,3) [rectangle,draw] {\\{``a'': \\{``x'': ``y''\\}\\}};\n\\node [matrix] (left4) at (0,0) [rectangle,draw] {\n \\node {\\{mapT(``a''): \\{``x'': ``y''\\},}; \\\\\n \\node {listT(``a''): [``z'']\\}}; \\\\\n};\n\\node (right1) at (8,7) [rectangle,draw] {\\{\\}};\n\\node (right2) at (8,5) [rectangle,draw] {\\{``a'': []\\}};\n\\node (right3) at (8,3) [rectangle,draw] {\\{``a'': [``z'']\\}};\n\\node [matrix] (right4) at (8,0) [rectangle,draw] {\n \\node {\\{mapT(``a''): \\{``x'': ``y''\\},}; \\\\\n \\node {listT(``a''): [``z'']\\}}; \\\\\n};\n\\node (comms) at (4,2.0) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left1) to node [left] {doc.get(``a'') := \\{\\};} (left2);\n\\draw [thick,->] (left2) to node [left] {doc.get(``a'').get(``x'') := ``y'';} (left3);\n\\draw [thick,->] (right1) to node [right] {doc.get(``a'') := [];} (right2);\n\\draw [thick,->] (right2) to node [right] {doc.get(``a'').idx(0).insertAfter(``z'');} (right3);\n\\draw [thick,->] (left3) to (left4);\n\\draw [thick,->] (right3) to (right4);\n\\draw [thick,dashed,blue,->] (left3.south) to [out=270,in=135] (right4.north west);\n\\draw [thick,dashed,blue,->] (right3.south) to [out=270,in=45] (left4.north east);\n\\end{tikzpicture}\n\\caption{Concurrently assigning values of different types to the same map key.}\\label{fig:type-clash}\n\\end{figure*}\n\n\\begin{figure*}[p]\n\\centering\n\\begin{tikzpicture}[auto,scale=0.8]\n\\path [draw,dotted] (4,-0.5) -- (4,7.0);\n\\node [matrix] (left0) at (0,6) [rectangle,draw] {\n \\node {\\{``todo'': [\\{``title'': ``buy milk'',}; \\\\\n \\node {``done'': false\\}]\\}}; \\\\\n};\n\\node [matrix] (right0) at (8,6) [rectangle,draw] {\n \\node {\\{``todo'': [\\{``title'': ``buy milk'',}; \\\\\n \\node {``done'': false\\}]\\}}; \\\\\n};\n\\node (left1) at (0,3) [rectangle,draw] {\\{``todo'': []\\}};\n\\node [matrix] (right1) at (8,3) [rectangle,draw] {\n \\node {\\{``todo'': [\\{``title'': ``buy milk'',}; \\\\\n \\node {``done'': true\\}]\\}}; \\\\\n};\n\\node (left2) at (0,0) [rectangle,draw] {\\{``todo'': [\\{``done'': true\\}]\\}};\n\\node (right2) at (8,0) [rectangle,draw] {\\{``todo'': [\\{``done'': true\\}]\\}};\n\\node (comms) at (4,1.6) [text=blue] {\\footnotesize network communication};\n\\draw [thick,->] (left0) to node [left] {doc.get(``todo'').idx(1).delete;} (left1);\n\\draw [thick,->] (right0) to node [right] {doc.get(``todo'').idx(1).get(``done'') := true;} (right1);\n\\draw [thick,->] (left1) to (left2);\n\\draw [thick,->] (right1) to (right2);\n\\draw [thick,dashed,blue,->] (left1.south) to [out=270,in=135] (right2.north west);\n\\draw [thick,dashed,blue,->] (right1.south) to [out=270,in=45] (left2.north east);\n\\end{tikzpicture}\n\\caption{One replica removes a list element, while another concurrently updates its contents.}\\label{fig:todo-item}\n\\end{figure*}\n\nFigure~\\ref{fig:map-remove} gives an example of concurrent edits at different levels of the JSON tree. Here, replica $p$ adds ``red'' to a map of colors, while replica $q$ concurrently blanks out the entire map of colors and then adds ``green''. Instead of assigning an empty map, $q$ could equivalently remove the entire key ``colors'' from the outer map, and then assign a new empty map to that key. The difficulty in this example is that the addition of ``red'' occurs at a lower level of the tree, while concurrently the removal of the map of colors occurs at a higher level of the tree.\n\nOne possible way of handling such a conflict would be to let edits at higher levels of the tree always override concurrent edits within that subtree. In this case, that would mean the addition of ``red'' would be discarded, since it would be overridden by the blanking-out of the entire map of colors. However, that behavior would violate our requirement that no user input should be lost due to concurrent modifications. Instead, we define merge semantics that preserve all changes, as shown in Figure~\\ref{fig:map-remove}: ``blue'' must be absent from the final map, since it was removed by blanking out the map, while ``red'' and ``green'' must be present, since they were explicitly added. This behavior matches that of CRDT maps in Riak~\\cite{Brown:2014hs,Brown:2013wy}.\n\nFigure~\\ref{fig:two-lists} illustrates another problem with maps: two replicas can concurrently insert the same map key. Here, $p$ and $q$ each independently create a new shopping list under the same map key ``grocery'', and add items to the list. In the case of Figure~\\ref{fig:register-assign}, concurrent assignments to the same map key were left to be resolved by the application, but in Figure~\\ref{fig:two-lists}, both values are lists and so they can be merged automatically. We preserve the ordering and adjacency of items inserted at each replica, so ``ham'' appears after ``eggs'', and ``flour'' appears after ``milk'' in the merged result. There is no information on which replica's items should appear first in the merged result, so the algorithm can make an arbitrary choice between ``eggs, ham, milk, flour'' and ``milk, flour, eggs, ham'', provided that all replicas end up with the items in the same order.\n\nFigure~\\ref{fig:text-edit} shows how a collaborative text editor can be implemented, by treating the document as a list of characters. All changes are preserved in the merged result: ``y'' is inserted before ``a''; ``x'' and ``z'' are inserted between ``a'' and ``c''; and ``b'' is deleted.\n\nFigure~\\ref{fig:type-clash} demonstrates a variant of the situation in Figure~\\ref{fig:two-lists}, where two replicas concurrently insert the same map key, but they do so with different datatypes as values: $p$ inserts a nested map, whereas $q$ inserts a list. These datatypes cannot be meaningfully merged, so we preserve both values separately. We do this by tagging each map key with a type annotation (\\textsf{mapT}, \\textsf{listT}, or \\textsf{regT} for a map, list, or register value respectively), so each type inhabits a separate namespace.\n\nFinally, Figure~\\ref{fig:todo-item} shows a limitation of the principle of preserving all user input. In a to-do list application, one replica removes a to-do item from the list, while another replica concurrently marks the same item as done. As the changes are merged, the update of the map key ``done'' effectively causes the list item to be resurrected on replica $p$, leaving a to-do item without a title (since the title was deleted as part of deleting the list item). This behavior is consistent with the example in Figure~\\ref{fig:map-remove}, but it is perhaps surprising. In this case it may be more desirable to discard one of the concurrent updates, and thus preserve the implicit schema that a to-do item has both a ``title'' and a ``done'' field. We leave the analysis of developer expectations and the development of a schema language for future work.\n\n\\subsection{JSON Versus XML}\\label{sec:json-xml}\n\nThe most common alternative to JSON is XML, and collaborative editing of XML documents has been previously studied~\\cite{Davis:2002iv,Ignat:2003jy,Wang:2015vo}. Besides the superficial syntactical differences, the tree structure of XML and JSON appears quite similar. However, there is an important difference that we should highlight.\n\nJSON has two collection constructs that can be arbitrarily nested: maps for unordered key-value pairs, and lists for ordered sequences. In XML, the children of an element form an ordered sequence, while the attributes of an element are unordered key-value pairs. However, XML does not allow nested elements inside attributes -- the value of an attribute can only be a primitive datatype. Thus, XML supports maps within lists, but not lists within maps. In this regard, XML is less expressive than JSON: the scenarios in Figures~\\ref{fig:two-lists} and~\\ref{fig:type-clash} cannot occur in XML.\n\nSome applications may attach map-like semantics to the children of an XML document, for example by interpreting the child element name as key. However, this key-value structure is not part of XML itself, and would not be enforced by existing collaborative editing algorithms for XML. If multiple children with the same key are concurrently created, existing algorithms would create duplicate children with the same key rather than merging them like in Figure~\\ref{fig:two-lists}.\n\n\\subsection{Document Editing API}\\label{sec:editing-api}\n\n\\begin{figure}\n\\centering\n\\begin{tabular}{rcll}\nCMD & ::= & \\texttt{let} $x$ \\texttt{=} EXPR & $x \\in \\mathrm{VAR}$ \\\\\n& $|$ & $\\mathrm{EXPR}$ \\texttt{:=} $v$ & $v \\in \\mathrm{VAL}$ \\\\\n& $|$ & $\\mathrm{EXPR}$\\texttt{.insertAfter(}$v$\\texttt{)} & $v \\in \\mathrm{VAL}$ \\\\\n& $|$ & $\\mathrm{EXPR}$\\texttt{.delete} \\\\\n& $|$ & \\texttt{yield} \\\\\n& $|$ & CMD\\texttt{;} CMD \\vspace{0.5em}\\\\\nEXPR & ::= & \\texttt{doc} \\\\\n& $|$ & $x$ & $x \\in \\mathrm{VAR}$ \\\\\n& $|$ & EXPR\\texttt{.get(}$\\mathit{key}$\\texttt{)} & $\\mathit{key} \\in \\mathrm{String}$ \\\\\n& $|$ & EXPR\\texttt{.idx(}$i$\\texttt{)} & $i \\ge 0$ \\\\\n& $|$ & EXPR\\texttt{.keys} \\\\\n& $|$ & EXPR\\texttt{.values} \\vspace{0.5em}\\\\\nVAR & ::= & $x$ & $x \\in \\mathrm{VarString}$\\\\\nVAL & ::= & $n$ & $n \\in \\mathrm{Number}$ \\\\\n& $|$ & $\\mathit{str}$ & $\\mathit{str} \\in \\mathrm{String}$ \\\\\n& $|$ & \\texttt{true} $|$ \\texttt{false} $|$ \\texttt{null} \\\\\n& $|$ & \\verb|{}| $|$ \\verb|[]|\n\\end{tabular}\n\\caption{Syntax of command language for querying and modifying a document.}\\label{fig:local-syntax}\n\\end{figure}\n\n\\begin{figure}\n\\centering\n\\begin{verbatim}\ndoc := {};\ndoc.get(\"shopping\") := [];\nlet head = doc.get(\"shopping\").idx(0);\nhead.insertAfter(\"eggs\");\nlet eggs = doc.get(\"shopping\").idx(1);\nhead.insertAfter(\"cheese\");\neggs.insertAfter(\"milk\");\n\n// Final state:\n{\"shopping\": [\"cheese\", \"eggs\", \"milk\"]}\n\\end{verbatim}\n\\caption{Example of programmatically constructing a JSON document.}\\label{fig:make-doc}\n\\end{figure}\n\nTo define the semantics for collaboratively editable data structures, we first define a simple command language that is executed locally at any of the replicas, and which allows that replica's local copy of the document to be queried and modified. Performing read-only queries has no side-effects, but modifying the document has the effect of producing \\emph{operations} describing the mutation. Those operations are immediately applied to the local copy of the document, and also enqueued for asynchronous broadcasting to other replicas.\n\nThe syntax of the command language is given in Figure~\\ref{fig:local-syntax}. It is not a full programming language, but rather an API through which the document state is queried and modified. We assume that the program accepts user input and issues a (possibly infinite) sequence of commands to the API. We model only the semantics of those commands, and do not assume anything about the program in which the command language is embedded. The API differs slightly from the JSON libraries found in many programming languages, in order to allow us to define consistent merge semantics.\n\nWe first explain the language informally, before giving its formal semantics. The expression construct EXPR is used to construct a \\emph{cursor} which identifies a position in the document. An expression starts with either the special token \\texttt{doc}, identifying the root of the JSON document tree, or a variable $x$ that was previously defined in a \\texttt{let} command. The expression defines, left to right, the path the cursor takes as it navigates through the tree towards the leaves: the operator \\texttt{.get(}$\\mathit{key}$\\texttt{)} selects a key within a map, and \\texttt{.idx(}$n$\\texttt{)} selects the $n$th element of an ordered list. Lists are indexed starting from 1, and \\texttt{.idx(0)} is a special cursor indicating the head of a list (a virtual position before the first list element).\n\nThe expression construct EXPR can also query the state of the document: \\texttt{keys} returns the set of keys in the map at the current cursor, and \\texttt{values} returns the contents of the multi-value register at the current cursor. (\\texttt{values} is not defined if the cursor refers to a map or list.)\n\nA command CMD either sets the value of a local variable (\\texttt{let}), performs network communication (\\texttt{yield}), or modifies the document. A document can be modified by writing to a register (the operator \\texttt{:=} assigns the value of the register identified by the cursor), by inserting an element into a list (\\texttt{insertAfter} places a new element after the existing list element identified by the cursor, and \\texttt{.idx(0).insertAfter} inserts at the head of a list), or by deleting an element from a list or a map (\\texttt{delete} removes the element identified by the cursor).\n\nFigure~\\ref{fig:make-doc} shows an example sequence of commands that constructs a new document representing a shopping list. First \\texttt{doc} is set to \\verb|{}|, the empty map literal, and then the key \\verb|\"shopping\"| within that map is set to the empty list \\verb|[]|. The third line navigates to the key \\verb|\"shopping\"| and selects the head of the list, placing the cursor in a variable called \\texttt{head}. The list element ``eggs'' is inserted at the head of the list. In line 5, the variable \\texttt{eggs} is set to a cursor pointing at the list element ``eggs''. Then two more list elements are inserted: ``cheese'' at the head, and ``milk'' after ``eggs''.\n\nNote that the cursor \\texttt{eggs} identifies the list element by identity, not by its index: after the insertion of ``cheese'', the element ``eggs'' moves from index 1 to 2, but ``milk'' is nevertheless inserted after ``eggs''. As we shall see later, this feature is helpful for achieving desirable semantics in the presence of concurrent modifications.\n\n\n\\begin{figure*}\n\\begin{center}\n\\AxiomC{$\\mathit{cmd}_1 \\mathbin{:} \\mathrm{CMD}$}\n\\AxiomC{$A_p,\\, \\mathit{cmd}_1 \\evalto A_p'$}\n\\LeftLabel{\\textsc{Exec}}\n\\BinaryInfC{$A_p,\\, \\langle \\mathit{cmd}_1 \\mathbin{;} \\mathit{cmd}_2 \\mathbin{;} \\dots \\rangle\n \\evalto A_p',\\, \\langle \\mathit{cmd}_2 \\mathbin{;} \\dots \\rangle$}\n\\DisplayProof\\hspace{4em}\n%\n\\AxiomC{}\n\\LeftLabel{\\textsc{Doc}}\n\\UnaryInfC{$A_p,\\, \\mathsf{doc} \\evalto \\mathsf{cursor}(\\langle\\rangle,\\, \\mathsf{doc})$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\n\n\\begin{center}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\LeftLabel{\\textsc{Let}}\n\\UnaryInfC{$A_p,\\, \\mathsf{let}\\; x = \\mathit{expr} \\evalto A_p[\\,x \\,\\mapsto\\, \\mathit{cur}\\,]$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$x \\in \\mathrm{dom}(A_p)$}\n\\LeftLabel{\\textsc{Var}}\n\\UnaryInfC{$A_p,\\, x \\evalto A_p(x)$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n)$}\n\\AxiomC{$k_n \\not= \\mathsf{head}$}\n\\LeftLabel{\\textsc{Get}}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{get}(\\mathit{key}) \\evalto\n \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1}, \\mathsf{mapT}(k_n) \\rangle,\\, \\mathit{key})$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n)$}\n\\AxiomC{$A_p,\\, \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1}, \\mathsf{listT}(k_n) \\rangle,\\,\n \\mathsf{head}).\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\LeftLabel{$\\textsc{Idx}_1$}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k_1 \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(k_1),\\, \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{idx}(i)\n \\evalto \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n')$}\n\\LeftLabel{$\\textsc{Idx}_2$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{idx}(i)\n \\evalto \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n')$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$i>0 \\,\\wedge\\, \\mathit{ctx}(\\mathsf{next}(k)) = k' \\,\\wedge\\, k' \\not= \\mathsf{tail}$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{pres}(k')) \\not= \\{\\}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k').\\mathsf{idx}(i-1) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{$\\textsc{Idx}_3$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{idx}(i) \\evalto \\mathit{ctx}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$i>0 \\,\\wedge\\, \\mathit{ctx}(\\mathsf{next}(k)) = k' \\,\\wedge\\, k' \\not= \\mathsf{tail}$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{pres}(k')) = \\{\\}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k').\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\LeftLabel{$\\textsc{Idx}_4$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{idx}(i) \\evalto \\mathit{cur}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$i=0$}\n\\LeftLabel{$\\textsc{Idx}_5$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{idx}(i) \\evalto\n \\mathsf{cursor}(\\langle\\rangle,\\, k)$}\n\\end{prooftree}\n\n\\[ \\mathrm{keys}(\\mathit{ctx}) = \\{\\; k \\mid\n \\mathsf{mapT}(k) \\in \\mathrm{dom}(\\mathit{ctx}) \\,\\vee\\,\n \\mathsf{listT}(k) \\in \\mathrm{dom}(\\mathit{ctx}) \\,\\vee\\,\n \\mathsf{regT}(k) \\in \\mathrm{dom}(\\mathit{ctx})\n\\;\\} \\]\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$A_p,\\, \\mathit{cur}.\\mathsf{keys} \\evalto \\mathit{keys}$}\n\\LeftLabel{$\\textsc{Keys}_1$}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{keys} \\evalto \\mathit{keys}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{map} = \\mathit{ctx}(\\mathsf{mapT}(k))$}\n\\AxiomC{$\\mathit{keys} = \\{\\; k \\mid k \\in \\mathrm{keys}(\\mathit{map}) \\,\\wedge\\,\n \\mathit{map}(\\mathsf{pres}(k)) \\not= \\{\\} \\;\\}$}\n\\LeftLabel{$\\textsc{Keys}_2$}\n\\BinaryInfC{$A_p,\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{keys} \\evalto \\mathit{keys}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k_1 \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(k_1),\\, \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{keys}\n \\evalto \\mathit{keys}$}\n\\LeftLabel{$\\textsc{Keys}_3$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{keys}\n \\evalto \\mathit{keys}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$A_p,\\, \\mathit{cur}.\\mathsf{values} \\evalto \\mathit{val}$}\n\\LeftLabel{$\\textsc{Val}_1$}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{values} \\evalto \\mathit{val}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{regT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{val} = \\mathrm{range}(\\mathit{ctx}(\\mathsf{regT}(k)))$}\n\\LeftLabel{$\\textsc{Val}_2$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle\\rangle,\\, k).\\mathsf{values} \\evalto \\mathit{val}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k_1 \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(k_1),\\, \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{values}\n \\evalto \\mathit{val}$}\n\\LeftLabel{$\\textsc{Val}_3$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n).\\mathsf{values}\n \\evalto \\mathit{val}$}\n\\end{prooftree}\n\\caption{Rules for evaluating expressions.}\\label{fig:expr-rules}\n\\end{figure*}\n\n\\section{Formal Semantics}\\label{sec:semantics}\n\nWe now explain formally how to achieve the concurrent semantics outlined in Section~\\ref{sec:composing}. The state of replica $p$ is described by $A_p$, a finite partial function. The evaluation rules of the command language inspect and modify this local state $A_p$, and they do not depend on $A_q$ (the state of any other replica $q \\neq p$). The only communication between replicas occurs in the evaluation of the \\textsf{yield} command, which we discuss later. For now, we concentrate on the execution of commands at a single replica $p$.\n\n\\subsection{Expression Evaluation}\n\nFigure~\\ref{fig:expr-rules} gives the rules for evaluating EXPR expressions in the command language, which are evaluated in the context of the local replica state $A_p$. The \\textsc{Exec} rule formalizes the assumption that commands are executed sequentially. The \\textsc{Let} rule allows the program to define a local variable, which is added to the local state (the notation $A_p[\\,x \\,\\mapsto\\, \\mathit{cur}\\,]$ denotes a partial function that is the same as $A_p$, except that $A_p(x) = \\mathit{cur}$). The corresponding \\textsc{Var} rule allows the program to retrieve the value of a previously defined variable.\n\nThe following rules in Figure~\\ref{fig:expr-rules} show how an expression is evaluated to a cursor, which unambiguously identifies a particular position in a JSON document by describing a path from the root of the document tree to some branch or leaf node. A cursor consists only of immutable keys and identifiers, so it can be sent over the network to another replica, where it can be used to locate the same position in the document.\n\nFor example,\n\\[ \\mathsf{cursor}(\\langle \\mathsf{mapT}(\\mathsf{doc}), \\mathsf{listT}(\\text{``shopping''}) \\rangle,\\, \\mathit{id}_1) \\]\nis a cursor representing the list element \\verb|\"eggs\"| in Figure~\\ref{fig:make-doc}, assuming that $\\mathit{id}_1$ is the unique identifier of the operation that inserted this list element (we will discuss these identifiers in Section~\\ref{sec:lamport-ts}). The cursor can be interpreted as a path through the local replica state structure $A_p$, read from left to right: starting from the \\textsf{doc} map at the root, it traverses through the map entry ``shopping'' of type \\textsf{listT}, and finishes with the list element that has identifier $\\mathit{id}_1$.\n\nIn general, $\\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n)$ consists of a (possibly empty) vector of keys $\\langle k_1, \\dots, k_{n-1} \\rangle$, and a final key $k_n$ which is always present. $k_n$ can be thought of as the final element of the vector, with the distinction that it is not tagged with a datatype, whereas the elements of the vector are tagged with the datatype of the branch node being traversed, either \\textsf{mapT} or \\textsf{listT}.\n\nThe \\textsc{Doc} rule in Figure~\\ref{fig:expr-rules} defines the simplest cursor $\\mathsf{cursor}(\\langle\\rangle,\\, \\mathsf{doc})$, referencing the root of the document using the special atom \\textsf{doc}. The \\textsc{Get} rule navigates a cursor to a particular key within a map. For example, the expression \\verb|doc.get(\"shopping\")| evaluates to $\\mathsf{cursor}(\\langle \\mathsf{mapT}(\\mathsf{doc}) \\rangle,\\, \\text{``shopping''})$ by applying the \\textsc{Doc} and \\textsc{Get} rules. Note that the expression \\verb|doc.get(...)| implicitly asserts that \\textsf{doc} is of type \\textsf{mapT}, and this assertion is encoded in the cursor.\n\nThe rules $\\textsc{Idx}_{1 \\dots 5}$ define how to evaluate the expression \\verb|.idx(|$n$\\verb|)|, moving the cursor to a particular element of a list. $\\textsc{Idx}_1$ constructs a cursor representing the head of the list, and delegates to the subsequent rules to scan over the list. $\\textsc{Idx}_2$ recursively descends the local state according to the vector of keys in the cursor. When the vector of keys is empty, the context $\\mathit{ctx}$ is the subtree of $A_p$ that stores the list in question, and the rules $\\textsc{Idx}_{3,4,5}$ iterate over that list until the desired element is found.\n\n$\\textsc{Idx}_5$ terminates the iteration when the index reaches zero, while $\\textsc{Idx}_3$ moves to the next element and decrements the index, and $\\textsc{Idx}_4$ skips over list elements that are marked as deleted. The structure resembles a linked list: each list element has a unique identifier $k$, and the partial function representing local state maps $\\mathsf{next}(k)$ to the ID of the list element that follows $k$.\n\nDeleted elements are never removed from the linked list structure, but only marked as deleted (they become so-called \\emph{tombstones}). To this end, the local state maintains a \\emph{presence set} $\\mathsf{pres}(k)$ for the list element with ID $k$, which is the set of all operations that have asserted the existence of this list element. When a list element is deleted, the presence set is set to the empty set, which marks it as deleted; however, a concurrent operation that references the list element can cause the presence set to be come non-empty again (leading to the situations in Figures~\\ref{fig:map-remove} and~\\ref{fig:todo-item}). Rule $\\textsc{Idx}_4$ handles list elements with an empty presence set by moving to the next list element without decrementing the index (i.e., not counting them as list elements).\n\nThe $\\textsc{Keys}_{1,2,3}$ rules allow the application to inspect the set of keys in a map. This set is determined by examining the local state, and excluding any keys for which the presence set is empty (indicating that the key has been deleted).\n\nFinally, the $\\textsc{Val}_{1,2,3}$ rules allow the application to read the contents of a register at a particular cursor position, using a similar recursive rule structure as the \\textsc{Idx} rules. A register is expressed using the \\textsf{regT} type annotation in the local state. Although a replica can only assign a single value to a register, a register can nevertheless contain multiple values if multiple replicas concurrently assign values to it.\n\n\\subsection{Generating Operations}\n\nWhen commands mutate the state of the document, they generate \\emph{operations} that describe the mutation. In our semantics, a command never directly modifies the local replica state $A_p$, but only generates an operation. That operation is then immediately applied to $A_p$ so that it takes effect locally, and the same operation is also asynchronously broadcast to the other replicas.\n\n\\subsubsection{Lamport Timestamps}\\label{sec:lamport-ts}\n\nEvery operation in our model is given a unique identifier, which is used in the local state and in cursors. Whenever an element is inserted into a list, or a value is assigned to a register, the new list element or register value is identified by the identifier of the operation that created it.\n\nIn order to generate globally unique operation identifiers without requiring synchronous coordination between replicas we use Lamport timestamps~\\cite{Lamport:1978jq}. A Lamport timestamp is a pair $(c, p)$ where $p \\in \\mathrm{ReplicaID}$ is the unique identifier of the replica on which the edit is made (for example, a hash of its public key), and $c \\in \\mathbb{N}$ is a counter that is stored at each replica and incremented for every operation. Since each replica generates a strictly monotonically increasing sequence of counter values $c$, the pair $(c, p)$ is unique.\n\nIf a replica receives an operation with a counter value $c$ that is greater than the locally stored counter value, the local counter is increased to the value of the incoming counter. This ensures that if operation $o_1$ causally happened before $o_2$ (that is, the replica that generated $o_2$ had received and processed $o_1$ before $o_2$ was generated), then $o_2$ must have a greater counter value than $o_1$. Only concurrent operations can have equal counter values.\n\nWe can thus define a total ordering $<$ for Lamport timestamps:\n\\[ (c_1, p_1) < (c_2, p_2) \\;\\text{ iff }\\; (c_1 < c_2) \\vee (c_1 = c_2 \\wedge p_1 < p_2). \\]\nIf one operation happened before another, this ordering is consistent with causality (the earlier operation has a lower timestamp). If two operations are concurrent, their order according to $<$ is arbitrary but deterministic. This ordering property is important for our definition of the semantics of ordered lists.\n\n\\subsubsection{Operation Structure}\n\nAn operation is a tuple of the form\n\\begin{alignat*}{3}\n& \\mathsf{op}( \\\\\n&& \\mathit{id} &: \\mathbb{N} \\times \\mathrm{ReplicaID}, \\\\\n&& \\mathit{deps} &: \\mathcal{P}(\\mathbb{N} \\times \\mathrm{ReplicaID}), \\\\\n&& \\mathit{cur} &: \\mathsf{cursor}(\\langle k_1, \\dots, k_{n-1} \\rangle,\\, k_n), \\\\\n&& \\mathit{mut} &: \\mathsf{insert}(v) \\mid \\mathsf{delete} \\mid \\mathsf{assign}(v) && \\quad v: \\mathrm{VAL} \\\\\n& )\n\\end{alignat*}\nwhere $\\mathit{id}$ is the Lamport timestamp that uniquely identifies the operation, $\\mathit{cur}$ is the cursor describing the position in the document being modified, and $\\mathit{mut}$ is the mutation that was requested at the specified position.\n\n$\\mathit{deps}$ is the set of \\emph{causal dependencies} of the operation. It is defined as follows: if operation $o_2$ was generated by replica $p$, then a causal dependency of $o_2$ is any operation $o_1$ that had already been applied on $p$ at the time when $o_2$ was generated. In this paper, we define $\\mathit{deps}$ as the set of Lamport timestamps of all causal dependencies. In a real implementation, this set would become impracticably large, so a compact representation of causal history would be used instead -- for example, version vectors~\\cite{ParkerJr:1983jb}, state vectors~\\cite{Ellis:1989ue}, or dotted version vectors~\\cite{Preguica:2012fx}. However, to avoid ambiguity in our semantics we give the dependencies as a simple set of operation IDs.\n\nThe purpose of the causal dependencies $\\mathit{deps}$ is to impose a partial ordering on operations: an operation can only be applied after all operations that ``happened before'' it have been applied. In particular, this means that the sequence of operations generated at one particular replica will be applied in the same order at every other replica. Operations that are concurrent (i.e., where there is no causal dependency in either direction) can be applied in any order.\n\n\\subsubsection{Semantics of Generating Operations}\n\n\\begin{figure*}\n\\centering\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$\\mathit{val}: \\mathrm{VAL}$}\n\\AxiomC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathsf{assign}(\\mathit{val})) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Assign}}\n\\TrinaryInfC{$A_p,\\, \\mathit{expr} \\,\\text{ := }\\, \\mathit{val} \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$\\mathit{val}: \\mathrm{VAL}$}\n\\AxiomC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathsf{insert}(\\mathit{val})) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Insert}}\n\\TrinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{insertAfter}(\\mathit{val}) \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{expr} \\evalto \\mathit{cur}$}\n\\AxiomC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathsf{delete}) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Delete}}\n\\BinaryInfC{$A_p,\\, \\mathit{expr}.\\mathsf{delete} \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctr} = \\mathrm{max}(\\{0\\} \\,\\cup\\, \\{ c_i \\mid (c_i, p_i) \\in A_p(\\mathsf{ops}) \\}$}\n\\AxiomC{$A_p,\\, \\mathsf{apply}(\\mathsf{op}((\\mathit{ctr} + 1, p), A_p(\\mathsf{ops}),\n \\mathit{cur}, \\mathit{mut})) \\evalto A_p'$}\n\\LeftLabel{\\textsc{Make-Op}}\n\\BinaryInfC{$A_p,\\, \\mathsf{makeOp}(\\mathit{cur}, \\mathit{mut}) \\evalto A_p'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathit{op} \\evalto A_p'$}\n\\LeftLabel{\\textsc{Apply-Local}}\n\\UnaryInfC{$A_p,\\, \\mathsf{apply}(\\mathit{op}) \\evalto A_p'[\\,\n \\mathsf{queue} \\,\\mapsto\\, A_p'(\\mathsf{queue}) \\,\\cup\\, \\{\\mathit{op}\\},\\;\n \\mathsf{ops} \\,\\mapsto\\, A_p'(\\mathsf{ops}) \\,\\cup\\, \\{\\mathit{op.id}\\}\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{op} \\in A_p(\\mathsf{recv})$}\n\\AxiomC{$\\mathit{op.id} \\notin A_p(\\mathsf{ops})$}\n\\AxiomC{$\\mathit{op.deps} \\subseteq A_p(\\mathsf{ops})$}\n\\AxiomC{$A_p,\\, \\mathit{op} \\evalto A_p'$}\n\\LeftLabel{\\textsc{Apply-Remote}}\n\\QuaternaryInfC{$A_p,\\, \\mathsf{yield} \\evalto\n A_p'[\\,\\mathsf{ops} \\,\\mapsto\\, A_p'(\\mathsf{ops}) \\,\\cup\\, \\{\\mathit{op.id}\\}\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{}\n\\LeftLabel{\\textsc{Send}}\n\\UnaryInfC{$A_p,\\, \\mathsf{yield} \\evalto\n A_p[\\,\\mathsf{send} \\,\\mapsto\\, A_p(\\mathsf{send}) \\,\\cup\\, A_p(\\mathsf{queue})\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$q: \\mathrm{ReplicaID}$}\n\\LeftLabel{\\textsc{Recv}}\n\\UnaryInfC{$A_p,\\, \\mathsf{yield} \\evalto\n A_p[\\,\\mathsf{recv} \\,\\mapsto\\, A_p(\\mathsf{recv}) \\,\\cup\\, A_q(\\mathsf{send})\\,]$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$A_p,\\, \\mathsf{yield} \\evalto A_p'$}\n\\AxiomC{$A_p',\\, \\mathsf{yield} \\evalto A_p''$}\n\\LeftLabel{\\textsc{Yield}}\n\\BinaryInfC{$A_p,\\, \\mathsf{yield} \\evalto A_p''$}\n\\end{prooftree}\n\\caption{Rules for generating, sending, and receiving operations.}\n\\label{fig:send-recv}\n\\end{figure*}\n\nThe evaluation rules for commands are given in Figure~\\ref{fig:send-recv}. The \\textsc{Make-Assign}, \\textsc{Make-Insert} and \\textsc{Make-Delete} rules define how these respective commands mutate the document: all three delegate to the \\textsc{Make-Op} rule to generate and apply the operation. \\textsc{Make-Op} generates a new Lamport timestamp by choosing a counter value that is 1 greater than any existing counter in $A_p(\\mathsf{ops})$, the set of all operation IDs that have been applied to replica $p$.\n\n\\textsc{Make-Op} constructs an \\textsf{op()} tuple of the form described above, and delegates to the \\textsc{Apply-Local} rule to process the operation. \\textsc{Apply-Local} does three things: it evaluates the operation to produce a modified local state $A_p'$, it adds the operation to the queue of generated operations $A_p(\\mathsf{queue})$, and it adds the ID to the set of processed operations $A_p(\\mathsf{ops})$.\n\nThe \\textsf{yield} command, inspired by Burckhardt et al.~\\cite{Burckhardt:2012jy}, performs network communication: sending and receiving operations to and from other replicas, and applying operations from remote replicas. The rules \\textsc{Apply-Remote}, \\textsc{Send}, \\textsc{Recv} and \\textsc{Yield} define the semantics of \\textsf{yield}. Since any of these rules can be used to evaluate \\textsf{yield}, their effect is nondeterministic, which models the asynchronicity of the network: a message sent by one replica arrives at another replica at some arbitrarily later point in time, and there is no message ordering guarantee in the network.\n\nThe \\textsc{Send} rule takes any operations that were placed in $A_p(\\mathsf{queue})$ by \\textsc{Apply-Local} and adds them to a send buffer $A_p(\\mathsf{send})$. Correspondingly, the \\textsc{Recv} rule takes operations in the send buffer of replica $q$ and adds them to the receive buffer $A_p(\\mathsf{recv})$ of replica $p$. This is the only rule that involves more than one replica, and it models all network communication.\n\nOnce an operation appears in the receive buffer $A_p(\\mathsf{recv})$, the rule \\textsc{Apply-Remote} may apply. Under the preconditions that the operation has not already been processed and that its causal dependencies are satisfied, \\textsc{Apply-Remote} applies the operation in the same way as \\textsc{Apply-Local}, and adds its ID to the set of processed operations $A_p(\\mathsf{ops})$.\n\nThe actual document modifications are performed by applying the operations, which we discuss next.\n\n\\subsection{Applying Operations}\n\n\\begin{sidewaysfigure*}\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx},\\, k_1 \\evalto \\mathit{child}$}\n\\AxiomC{$\\mathit{child},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle k_2, \\dots, k_{n-1} \\rangle,\\, k_n), \\mathit{mut}) \\evalto \\mathit{child}'$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{addId}(k_1, \\mathit{id}, \\mathit{mut}) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{\\textsc{Descend}}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle k_1, k_2, \\dots, k_{n-1} \\rangle,\\, k_n), \\mathit{mut}) \\evalto\n \\mathit{ctx}' [\\, k_1 \\,\\mapsto\\, \\mathit{child}' \\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{center}\n\\AxiomC{$k \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-Get}}\n\\UnaryInfC{$\\mathit{ctx},\\, k \\evalto \\mathit{ctx}(k)$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{mapT}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-Map}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{mapT}(k) \\evalto \\{\\}$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{listT}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-List}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{listT}(k) \\evalto\n \\{\\,\\mathsf{next}(\\mathsf{head}) \\,\\mapsto\\, \\mathsf{tail} \\,\\}$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\\vspace{6pt}\n\n\\begin{center}\n\\AxiomC{$\\mathsf{regT}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Child-Reg}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{regT}(k) \\evalto \\{\\}$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{pres}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{$\\textsc{Presence}_1$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{pres}(k) \\evalto \\mathit{ctx}(\\mathsf{pres}(k))$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathsf{pres}(k) \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{$\\textsc{Presence}_2$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{pres}(k) \\evalto \\{\\}$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\\vspace{6pt}\n\n\\begin{center}\n\\AxiomC{$\\mathit{mut} \\not= \\mathsf{delete}$}\n\\AxiomC{$k_\\mathit{tag} \\in \\{\\mathsf{mapT}(k), \\mathsf{listT}(k), \\mathsf{regT}(k)\\}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{pres}(k) \\evalto \\mathit{pres}$}\n\\LeftLabel{$\\textsc{Add-ID}_1$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{addId}(k_\\mathit{tag}, \\mathit{id}, \\mathit{mut}) \\evalto\n \\mathit{ctx}[\\, \\mathsf{pres}(k) \\,\\mapsto\\, \\mathit{pres} \\,\\cup\\, \\{\\mathit{id}\\} \\,]$}\n\\DisplayProof\\hspace{3em}\n%\n\\AxiomC{$\\mathit{mut} = \\mathsf{delete}$}\n\\LeftLabel{$\\textsc{Add-ID}_2$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{addId}(k_\\mathit{tag}, \\mathit{id}, \\mathit{mut}) \\evalto \\mathit{ctx}$}\n\\DisplayProof\\proofSkipAmount\n\\end{center}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{val} \\not= \\texttt{[]} \\,\\wedge\\, \\mathit{val} \\not= \\texttt{\\string{\\string}}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{regT}(k)) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{addId}(\\mathsf{regT}(k), \\mathit{id}, \\mathsf{assign}(\\mathit{val}))\n \\evalto \\mathit{ctx}''$}\n\\AxiomC{$\\mathit{ctx}'',\\, \\mathsf{regT}(k) \\evalto \\mathit{child}$}\n\\LeftLabel{\\textsc{Assign}}\n\\QuaternaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{assign}(\\mathit{val})) \\evalto\n \\mathit{ctx}''[\\, \\mathsf{regT}(k) \\,\\mapsto\\,\n \\mathit{child}[\\, \\mathit{id} \\,\\mapsto\\, \\mathit{val} \\,]\\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{val} = \\texttt{\\string{\\string}}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{addId}(\\mathsf{mapT}(k), \\mathit{id}, \\mathsf{assign}(\\mathit{val}))\n \\evalto \\mathit{ctx}''$}\n\\AxiomC{$\\mathit{ctx}'',\\, \\mathsf{mapT}(k) \\evalto \\mathit{child}$}\n\\LeftLabel{\\textsc{Empty-Map}}\n\\QuaternaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{assign}(\\mathit{val})) \\evalto\n \\mathit{ctx}''[\\, \\mathsf{mapT}(k) \\,\\mapsto\\, \\mathit{child} \\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{val} = \\texttt{[]}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{addId}(\\mathsf{listT}(k), \\mathit{id}, \\mathsf{assign}(\\mathit{val}))\n \\evalto \\mathit{ctx}''$}\n\\AxiomC{$\\mathit{ctx}'',\\, \\mathsf{listT}(k) \\evalto \\mathit{child}$}\n\\LeftLabel{\\textsc{Empty-List}}\n\\QuaternaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{assign}(\\mathit{val})) \\evalto\n \\mathit{ctx}''[\\, \\mathsf{listT}(k) \\,\\mapsto\\, \\mathit{child} \\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{next}(\\mathit{prev})) = \\mathit{next}$}\n\\AxiomC{$\\mathit{next} < \\mathit{id} \\,\\vee\\, \\mathit{next} = \\mathsf{tail}$}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{id}), \\mathsf{assign}(\\mathit{val})) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{$\\textsc{Insert}_1$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{prev}), \\mathsf{insert}(\\mathit{val})) \\evalto\n \\mathit{ctx}'[\\,\\mathsf{next}(\\mathit{prev}) \\,\\mapsto\\, \\mathit{id},\\;\n \\mathsf{next}(\\mathit{id}) \\,\\mapsto\\, \\mathit{next}\\,]$}\n\\end{prooftree}\\vspace{6pt}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{next}(\\mathit{prev})) = \\mathit{next}$}\n\\AxiomC{$\\mathit{id} < \\mathit{next}$}\n\\AxiomC{$ctx,\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{next}), \\mathsf{insert}(\\mathit{val})) \\evalto \\mathit{ctx}'$}\n\\LeftLabel{$\\textsc{Insert}_2$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, \\mathit{prev}), \\mathsf{insert}(\\mathit{val})) \\evalto \\mathit{ctx}'$}\n\\end{prooftree}\n\\caption{Rules for applying insertion and assignment operations to update the state of a replica.}\\label{fig:operation-rules}\n\\end{sidewaysfigure*}\n\nFigure~\\ref{fig:operation-rules} gives the rules that apply an operation $\\mathsf{op}$ to a context $\\mathit{ctx}$, producing an updated context $\\mathit{ctx}'$. The context is initially the replica state $A_p$, but may refer to subtrees of the state as rules are recursively applied. These rules are used by \\textsc{Apply-Local} and \\textsc{Apply-Remote} to perform the state updates on a document.\n\nWhen the operation cursor's vector of keys is non-empty, the \\textsc{Descend} rule first applies. It recursively descends the document tree by following the path described by the keys. If the tree node already exists in the local replica state, \\textsc{Child-Get} finds it, otherwise \\textsc{Child-Map} and \\textsc{Child-List} create an empty map or list respectively.\n\nThe \\textsc{Descend} rule also invokes $\\textsc{Add-ID}_{1,2}$ at each tree node along the path described by the cursor, adding the operation ID to the presence set $\\mathsf{pres}(k)$ to indicate that the subtree includes a mutation made by this operation.\n\nThe remaining rules in Figure~\\ref{fig:operation-rules} apply when the vector of keys in the cursor is empty, which is the case when descended to the context of the tree node to which the mutation applies. The \\textsc{Assign} rule handles assignment of a primitive value to a register, \\textsc{Empty-Map} handles assignment where the value is the empty map literal \\verb|{}|, and \\textsc{Empty-List} handles assignment of the empty list \\verb|[]|. These three rules for \\textsf{assign} have a similar structure: first clearing the prior value at the cursor (as discussed in the next section), then adding the operation ID to the presence set, and finally incorporating the new value into the tree of local state.\n\nThe $\\textsc{Insert}_{1,2}$ rules handle insertion of a new element into an ordered list. In this case, the cursor refers to the list element $\\mathit{prev}$, and the new element is inserted after that position in the list. $\\textsc{Insert}_1$ performs the insertion by manipulating the linked list structure. $\\textsc{Insert}_2$ handles the case of multiple replicas concurrently inserting list elements at the same position, and uses the ordering relation $<$ on Lamport timestamps to consistently determine the insertion point. Our approach for handling insertions is based on the RGA algorithm~\\cite{Roh:2011dw}. We show later that these rules ensure all replicas converge towards the same state.\n\n\\subsubsection{Clearing Prior State}\n\n\\begin{figure*}\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto \\mathit{ctx}',\\, \\mathit{pres}$}\n\\LeftLabel{\\textsc{Delete}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{op}(\\mathit{id}, \\mathit{deps},\n \\mathsf{cursor}(\\langle\\rangle,\\, k), \\mathsf{delete}) \\evalto \\mathit{ctx}'$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{ctx},\\, \\mathsf{clearAny}(\\mathit{deps}, k) \\evalto \\mathit{ctx}', \\mathit{pres}_1$}\n\\AxiomC{$\\mathit{ctx}',\\, \\mathsf{pres}(k) \\evalto \\mathit{pres}_2$}\n\\AxiomC{$\\mathit{pres}_3 = \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2 \\setminus \\mathit{deps}$}\n\\LeftLabel{\\textsc{Clear-Elem}}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\evalto\n \\mathit{ctx}' [\\, \\mathsf{pres}(k) \\,\\mapsto\\, \\mathit{pres}_3 \\,],\\, \\mathit{pres}_3$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{mapT}(k)) \\\\\n \\evalto \\mathit{ctx}_1,\\, \\mathit{pres}_1 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}_1,\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{listT}(k)) \\\\\n \\evalto \\mathit{ctx}_2,\\, \\mathit{pres}_2 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}_2,\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{regT}(k)) \\\\\n \\evalto \\mathit{ctx}_3,\\, \\mathit{pres}_3 \\end{matrix}$}\n\\LeftLabel{\\textsc{Clear-Any}}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearAny}(\\mathit{deps}, k) \\evalto\n \\mathit{ctx}_3,\\, \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2 \\,\\cup\\, \\mathit{pres}_3$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k \\notin \\mathrm{dom}(\\mathit{ctx})$}\n\\LeftLabel{\\textsc{Clear-None}}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, k) \\evalto \\mathit{ctx},\\, \\{\\}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{regT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{concurrent} = \\{ \\mathit{id} \\mapsto v \\mid\n (\\mathit{id} \\mapsto v) \\in \\mathit{ctx}(\\mathsf{regT}(k))\n \\,\\wedge\\, \\mathit{id} \\notin \\mathit{deps} \\}$}\n\\LeftLabel{\\textsc{Clear-Reg}}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{regT}(k)) \\evalto\n \\mathit{ctx}[\\, \\mathsf{regT}(k) \\,\\mapsto\\, \\mathit{concurrent} \\,],\\, \\mathrm{dom}(\\mathit{concurrent})$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{mapT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{mapT}(k)),\\, \\mathsf{clearMap}(\\mathit{deps}, \\{\\}) \\evalto\n \\mathit{cleared},\\, \\mathit{pres}$}\n\\LeftLabel{$\\textsc{Clear-Map}_1$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{mapT}(k)) \\evalto\n \\mathit{ctx} [\\, \\mathsf{mapT}(k) \\,\\mapsto\\, \\mathit{cleared} \\,],\\, \\mathit{pres}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\begin{matrix}\n k \\in \\mathrm{keys}(\\mathit{ctx}) \\\\\n \\wedge\\, k \\notin \\mathit{done} \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\\\\n \\evalto \\mathit{ctx}', \\mathit{pres}_1 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}',\\, \\mathsf{clearMap}(\\mathit{deps}, \\mathit{done} \\cup \\{k\\}) \\\\\n \\evalto \\mathit{ctx}'',\\, \\mathit{pres}_2 \\end{matrix}$}\n\\LeftLabel{$\\textsc{Clear-Map}_2$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearMap}(\\mathit{deps}, \\mathit{done})\n \\evalto \\mathit{ctx}'',\\, \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathit{done} = \\mathrm{keys}(\\mathit{ctx})$}\n\\LeftLabel{$\\textsc{Clear-Map}_3$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{clearMap}(\\mathit{deps}, \\mathit{done}) \\evalto \\mathit{ctx},\\, \\{\\}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\mathsf{listT}(k) \\in \\mathrm{dom}(\\mathit{ctx})$}\n\\AxiomC{$\\mathit{ctx}(\\mathsf{listT}(k)),\\, \\mathsf{clearList}(\\mathit{deps}, \\mathsf{head})\n \\evalto \\mathit{cleared},\\, \\mathit{pres}$}\n\\LeftLabel{$\\textsc{Clear-List}_1$}\n\\BinaryInfC{$\\mathit{ctx},\\, \\mathsf{clear}(\\mathit{deps}, \\mathsf{listT}(k)) \\evalto\n \\mathit{ctx}[\\, \\mathsf{listT}(k) \\,\\mapsto\\, \\mathit{cleared} \\,],\\, \\mathit{pres}$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$\\begin{matrix}\n k \\not= \\mathsf{tail} \\,\\wedge\\\\\n \\mathit{ctx}(\\mathsf{next}(k)) = \\mathit{next} \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx},\\, \\mathsf{clearElem}(\\mathit{deps}, k) \\\\\n \\evalto \\mathit{ctx}', \\mathit{pres}_1 \\end{matrix}$}\n\\AxiomC{$\\begin{matrix}\n \\mathit{ctx}',\\, \\mathsf{clearList}(\\mathit{deps}, \\mathit{next}) \\\\\n \\evalto \\mathit{ctx}'', \\mathit{pres}_2 \\end{matrix}$}\n\\LeftLabel{$\\textsc{Clear-List}_2$}\n\\TrinaryInfC{$\\mathit{ctx},\\, \\mathsf{clearList}(\\mathit{deps}, k) \\evalto\n \\mathit{ctx}'',\\, \\mathit{pres}_1 \\,\\cup\\, \\mathit{pres}_2$}\n\\end{prooftree}\n\n\\begin{prooftree}\n\\AxiomC{$k = \\mathsf{tail}$}\n\\LeftLabel{$\\textsc{Clear-List}_3$}\n\\UnaryInfC{$\\mathit{ctx},\\, \\mathsf{clearList}(\\mathit{deps}, k) \\evalto \\mathit{ctx},\\, \\{\\}$}\n\\end{prooftree}\n\\caption{Rules for applying deletion operations to update the state of a replica.}\\label{fig:clear-rules}\n\\end{figure*}\n\nAssignment and deletion operations require that prior state (the value being overwritten or deleted) is cleared, while also ensuring that concurrent modifications are not lost, as illustrated in Figure~\\ref{fig:map-remove}. The rules to handle this clearing process are given in Figure~\\ref{fig:clear-rules}. Intuitively, the effect of clearing something is to reset it to its empty state by undoing any operations that causally precede the current operation, while leaving the effect of any concurrent operations untouched.\n\nA \\textsf{delete} operation can be used to delete either an element from an ordered list or a key from a map, depending on what the cursor refers to. The \\textsc{Delete} rule shows how this operation is evaluated by delegating to \\textsc{Clear-Elem}. In turn, \\textsc{Clear-Elem} uses \\textsc{Clear-Any} to clear out any data with a given key, regardless of whether it is of type \\textsf{mapT}, \\textsf{listT} or \\textsf{regT}, and also updates the presence set to include any nested operation IDs, but exclude any operations in $\\mathit{deps}$.\n\nThe premises of \\textsc{Clear-Any} are satisfied by $\\textsc{Clear-Map}_1$, $\\textsc{Clear-List}_1$ and \\textsc{Clear-Reg} if the respective key appears in $\\mathit{ctx}$, or by \\textsc{Clear-None} (which does nothing) if the key is absent.\n\nAs defined by the \\textsc{Assign} rule, a register maintains a mapping from operation IDs to values. \\textsc{Clear-Reg} updates a register by removing all operation IDs that appear in $\\mathit{deps}$ (i.e., which causally precede the clearing operation), but retaining all operation IDs that do not appear in $\\mathit{deps}$ (from assignment operations that are concurrent with the clearing operation).\n\nClearing maps and lists takes a similar approach: each element of the map or list is recursively cleared using \\textsf{clearElem}, and presence sets are updated to exclude $\\mathit{deps}$. Thus, any list elements or map entries whose modifications causally precede the clearing operation will end up with empty presence sets, and thus be considered deleted. Any map or list elements containing operations that are concurrent with the clearing operation are preserved.\n\n\\subsection{Convergence}\\label{sec:convergence}\n\nAs outlined in Section~\\ref{sec:intro-replication}, we require that all replicas automatically converge towards the same state -- a key requirement of a CRDT. We now formalize this notion, and show that the rules in Figures~\\ref{fig:expr-rules} to~\\ref{fig:clear-rules} satisfy this requirement.\n\n\\begin{definition}[valid execution]\\label{def:valid-exec}\nA \\emph{valid execution} is a set of operations generated by a set of replicas $\\{p_1, \\dots, p_k\\}$, each reducing a sequence of commands $\\langle \\mathit{cmd}_1 \\mathbin{;} \\dots \\mathbin{;} \\mathit{cmd}_n \\rangle$ without getting stuck.\n\\end{definition}\n\nA reduction gets stuck if there is no application of rules in which all premises are satisfied. For example, the $\\textsc{Idx}_{3,4}$ rules in Figure~\\ref{fig:expr-rules} get stuck if $\\mathsf{idx}(n)$ tries to iterate past the end of a list, which would happen if $n$ is greater than the number of non-deleted elements in the list; in a real implementation this would be a runtime error. By constraining valid executions to those that do not get stuck, we ensure that operations only refer to list elements that actually exist.\n\nNote that it is valid for an execution to never perform any network communication, either because it never invokes the \\textsf{yield} command, or because the nondeterministic execution of \\textsf{yield} never applies the \\textsc{Recv} rule. We need only a replica's local state to determine whether reduction gets stuck.\n\n\\begin{definition}[history]\\label{def:history}\nA \\emph{history} is a sequence of operations in the order it was applied at one particular replica $p$ by application of the rules \\textsc{Apply-Local} and \\textsc{Apply-Remote}.\n\\end{definition}\n\nSince the evaluation rules sequentially apply one operation at a time at a given replica, the order is well-defined. Even if two replicas $p$ and $q$ applied the same set of operations, i.e. if $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$, they may have applied any concurrent operations in a different order. Due to the premise $\\mathit{op.deps} \\subseteq A_p(\\mathsf{ops})$ in \\textsc{Apply-Remote}, histories are consistent with causality: if an operation has causal dependencies, it appears at some point after those dependencies in the history.\n\n\\begin{definition}[document state]\\label{def:doc-state}\nThe \\emph{document state} of a replica $p$ is the subtree of $A_p$ containing the document: that is, $A_p(\\mathsf{mapT}(\\mathsf{doc}))$ or $A_p(\\mathsf{listT}(\\mathsf{doc}))$ or $A_p(\\mathsf{regT}(\\mathsf{doc}))$, whichever is defined.\n\\end{definition}\n\n$A_p$ contains variables defined with \\textsf{let}, which are local to one replica, and not part of the replicated state. The definition of document state excludes these variables.\n\n\\begin{convergence-thm}\nFor any two replicas $p$ and $q$ that participated in a valid execution, if $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$, then $p$ and $q$ have the same document state.\n\\end{convergence-thm}\n\nThis theorem is proved in the appendix. It formalizes the safety property of convergence: if two replicas have processed the same set of operations, possibly in a different order, then they are in the same state. In combination with a liveness property, namely that every replica eventually processes all operations, we obtain the desired notion of convergence: all replicas eventually end up in the same state.\n\nThe liveness property depends on assumptions of replicas invoking \\textsf{yield} sufficiently often, and all nondeterministic rules for \\textsf{yield} being chosen fairly. We will not formalize the liveness property in this paper, but assert that it can usually be provided in practice, as network interruptions are usually of finite duration.\n\n\\section{Conclusions and Further Work}\n\nIn this paper we demonstrated how to compose CRDTs for ordered lists, maps and registers into a compound CRDT with a JSON data model. It supports arbitrarily nested lists and maps, and it allows replicas to make arbitrary changes to the data without waiting for network communication. Replicas asynchronously send mutations to other replicas in the form of operations. Concurrent operations are commutative, which ensures that replicas converge towards the same state without requiring application-specific conflict resolution logic.\n\nThis work focused on the formal semantics of the JSON CRDT, represented as a mathematical model. We are also working on a practical implementation of the algorithm, and will report on its performance characteristics in follow-on work.\n\nOur principle of not losing input due to concurrent modifications appears at first glance to be reasonable, but as illustrated in Figure~\\ref{fig:todo-item}, it leads to merged document states that may be surprising to application programmers who are more familiar with sequential programs. Further work will be needed to understand the expectations of application programmers, and to design data structures that are minimally surprising under concurrent modification. It may turn out that a schema language will be required to support more complex applications. A schema language could also support semantic annotations, such as indicating that a number should be treated as a counter rather than a register.\n\nThe CRDT defined in this paper supports insertion, deletion and assignment operations. In addition to these, it would be useful to support a \\emph{move} operation (to change the order of elements in an ordered list, or to move a subtree from one position in a document to another) and an \\emph{undo} operation. Moreover, garbage collection (tombstone removal) is required in order to prevent unbounded growth of the data structure. We plan to address these missing features in future work.\n\n\\section*{Acknowledgements}\n\nThis research was supported by a grant from The Boeing Company. Thank you to Dominic Orchard, Diana Vasile, and the anonymous reviewers for comments that improved this paper.\n\n\\bibliographystyle{IEEEtran}\n\\bibliography{references}{}\n\\vfill\n\n\\begin{IEEEbiography}[{\\includegraphics[width=1in]{mk428.jpg}}]{Martin Kleppmann}\nis a Research Associate in the Computer Laboratory at the University of Cambridge. His current research project, TRVE Data, is working towards better security and privacy in cloud applications by applying end-to-end encryption to collaboratively editable application data. His book \\emph{Designing Data-Intensive Applications} was published by O'Reilly Media in 2017. Previously, he worked as a software engineer and entrepreneur at several internet companies, including Rapportive and LinkedIn.\n\\end{IEEEbiography}\n\n\\begin{IEEEbiography}[{\\includegraphics[width=1in]{arb33.jpg}}]{Alastair R. Beresford}\nis a Senior Lecturer in the Computer Laboratory at the University of Cambridge. His research work explores the security and privacy of large-scale distributed systems, with a particular focus on networked mobile devices such as smartphones, tablets and laptops. He looks at the security and privacy of the devices themselves, as well as the security and privacy problems induced by the interaction between mobile devices and cloud-based Internet services.\n\\end{IEEEbiography}\n\n\\ifincludeappendix\n\\clearpage\n\\appendix[Proof of Convergence]\\label{sec:proof}\n\n\\begin{theorem}\\label{thm:convergence}\nFor any two replicas $p$ and $q$ that participated in a valid execution, if $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$, then $p$ and $q$ have the same document state.\n\\end{theorem}\n\n\\begin{proof}\nConsider the histories $H_p$ and $H_q$ at $p$ and $q$ respectively (see Definition~\\ref{def:history}). The rules \\textsc{Apply-Local} and \\textsc{Apply-Remote} maintain the invariant that an operation is added to $A_p(\\mathsf{ops})$ or $A_q(\\mathsf{ops})$ if and only if it was applied to the document state at $p$ or $q$. Thus, $A_p(\\mathsf{ops}) = A_q(\\mathsf{ops})$ iff $H_p$ and $H_q$ contain the same set of operations (potentially ordered differently).\n\nThe history $H_p$ at replica $p$ is a sequence of $n$ operations: $H_p = \\langle o_1, \\dots, o_n \\rangle$, and the document state at $p$ is derived from $H_p$ by starting in the empty state and applying the operations in order. Likewise, the document state at $q$ is derived from $H_q$, which is a permutation of $H_p$. Both histories must be consistent with causality, i.e. for all $i$ with $1 \\le i \\le n$, we require $o_i.\\mathit{deps} \\subseteq \\{o_j.\\mathit{id} \\mid 1 \\le j < i\\}$. The causality invariant is maintained by the \\textsc{Apply-*} rules.\n\nWe can prove the theorem by induction over the length of history $n$.\n\n\\emph{Base case:} An empty history with $n=0$ describes the empty document state. The empty document is always the same, and so any two replicas that have not executed any operations are by definition in the same state.\n\n\\emph{Induction step:} Given histories $H_p$ and $H_q$ of length $n$, such that $H_p = \\langle o_1, \\dots, o_n \\rangle$ and $H_q$ is a permutation of $H_p$, and such that applying $H_p$ results in the same document state as applying $H_q$, we can construct new histories $H_p'$ and $H_q'$ of length $n+1$ by inserting a new operation $o_{n+1}$ at any causally ready position in $H_p$ or $H_q$ respectively. We must then show that for all the histories $H_p'$ and $H_q'$ constructed this way, applying the sequence of operations in order results in the same document state.\n\nIn order to prove the induction step, we examine the insertion of $o_{n+1}$ into $H_p$ and $H_q$. Each history can be split into a prefix, which is the minimal subsequence $\\langle o_1, \\dots, o_j \\rangle$ such that $o_{n+1}.\\mathit{deps} \\subseteq \\{o_1.\\mathit{id}, \\dots, o_j.\\mathit{id}\\}$, and a suffix, which is the remaining subsequence $\\langle o_{j+1}, \\dots, o_n \\rangle$. The prefix contains all operations that causally precede $o_{n+1}$, and possibly some operations that are concurrent with $o_{n+1}$; the suffix contains only operations that are concurrent with $o_{n+1}$. The earliest position where $o_{n+1}$ can be inserted into the history is between the prefix and the suffix; the latest position is at the end of the suffix; or it could be inserted at any point within the suffix.\n\nWe need to show that the effect on the document state is the same, regardless of the position at which $o_{n+1}$ is inserted, and regardless of whether it is inserted into $H_p$ or $H_q$. We do this in Lemma~\\ref{lem:op-commute} by showing that $o_{n+1}$ is commutative with respect to all operations in the suffix, i.e. with respect to any operations that are concurrent to $o_{n+1}$.\n\\end{proof}\n\nBefore we can prove the commutativity of operations, we must first define some more terms and prove some preliminary lemmas.\n\n\\begin{definition}[appearing after]\nIn the ordered list $\\mathit{ctx}$, list element $k_j$ \\emph{appears after} list element $k_1$ if there exists a (possibly empty) sequence of list elements $k_2, \\dots, k_{j-1}$ such that for all $i$ with $1 \\le i < j$, $\\mathit{ctx}(\\mathsf{next}(k_i)) = k_{i+1}$. Moreover, we say $k_j$ appears \\emph{immediately after} $k_1$ if that sequence is empty, i.e. if $\\mathit{ctx}(\\mathsf{next}(k_1)) = k_j$.\n\\end{definition}\n\nThe definition of \\emph{appearing after} corresponds to the order in which the \\textsc{Idx} rules iterate over the list.\n\n\\begin{lemma}\\label{lem:list-after}\nIf $k_2$ appears after $k_1$ in an ordered list, and the list is mutated according to the evaluation rules, $k_2$ also appears after $k_1$ in all later document states.\n\\end{lemma}\n\n\\begin{proof}\nThe only rule that modifies the \\textsf{next} pointers in the context is $\\textsc{Insert}_1$, and it inserts a new list element between two existing list elements (possibly \\textsf{head} and/or \\textsf{tail}). This modification preserves the appears-after relationship between any two existing list elements. Since no other rule affects the list order, appears-after is always preserved.\n\\end{proof}\n\nNote that deletion of an element from a list does not remove it from the sequence of \\textsf{next} pointers, but only clears its presence set $\\mathsf{pres}(k)$.\n\n\\begin{lemma}\\label{lem:insert-between}\nIf one replica inserts a list element $k_\\mathit{new}$ between $k_1$ and $k_2$, i.e. if $k_\\mathit{new}$ appears after $k_1$ in the list and $k_2$ appears after $k_\\mathit{new}$ in the list on the source replica after applying \\textsc{Apply-Local}, then $k_\\mathit{new}$ appears after $k_1$ and $k_2$ appears after $k_\\mathit{new}$ on every other replica where that operation is applied.\n\\end{lemma}\n\n\\begin{proof}\nThe rules for generating list operations ensure that $k_1$ is either \\textsf{head} or an operation identifier, and $k_2$ is either \\textsf{tail} or an operation identifier.\n\nWhen the insertion operation is generated using the \\textsc{Make-Op} rule, its operation identifier is given a counter value $\\mathit{ctr}$ that is greater than the counter of any existing operation ID in $A_p(\\mathsf{ops})$. If $k_2$ is an operation identifier, we must have $k_2 \\in A_p(\\mathsf{ops})$, since both \\textsc{Apply-Local} and \\textsc{Apply-Remote} add operation IDs to $A_p(\\mathsf{ops})$ when applying an insertion. Thus, either $k_2 < k_\\mathit{new}$ under the ordering relation $<$ for Lamport timestamps, or $k_2 = \\mathsf{tail}$.\n\nWhen the insertion operation is applied on another replica using \\textsc{Apply-Remote} and $\\textsc{Insert}_{1,2}$, $k_2$ appears after $k_1$ on that replica (by Lemma~\\ref{lem:list-after} and causality). The cursor of the operation is $\\mathsf{cursor}(\\langle\\dots\\rangle, k_1)$, so the rules start iterating the list at $k_1$, and therefore $k_\\mathit{new}$ is inserted at some position after $k_1$.\n\nIf other concurrent insertions occurred between $k_1$ and $k_2$, their operation ID may be greater than or less than $k_\\mathit{new}$, and thus either $\\textsc{Insert}_1$ or $\\textsc{Insert}_2$ may apply. In particular, $\\textsc{Insert}_2$ skips over any list elements whose Lamport timestamp is greater than $k_\\mathit{new}$. However, we know that $k_2 < k_\\mathit{new} \\vee k_2 = \\mathsf{tail}$, and so $\\textsc{Insert}_1$ will apply with $\\mathit{next}=k_2$ at the latest. The $\\textsc{Insert}_{1,2}$ rules thus never iterate past $k_2$, and thus $k_\\mathit{new}$ is never inserted at a list position that appears after $k_2$.\n\\end{proof}\n\n\\begin{definition}[common ancestor]\\label{def:common-ancestor}\nIn a history $H$, the \\emph{common ancestor} of two concurrent operations $o_r$ and $o_s$ is the latest document state that causally precedes both $o_r$ and $o_s$.\n\\end{definition}\n\nThe common ancestor of $o_r$ and $o_s$ can be defined more formally as the document state resulting from applying a sequence of operations $\\langle o_1, \\dots, o_j \\rangle$ that is the shortest prefix of $H$ that satisfies $(o_r.\\mathit{deps} \\cap o_s.\\mathit{deps}) \\subseteq \\{o_1.\\mathit{id}, \\dots, o_j.\\mathit{id}\\}$.\n\n\\begin{definition}[insertion interval]\\label{def:insert-interval}\nGiven two concurrent operations $o_r$ and $o_s$ that insert into the same list, the \\emph{insertion interval} of $o_r$ is the pair of keys $(k_r^\\mathrm{before}, k_r^\\mathrm{after})$ such that $o_r.\\mathit{id}$ appears after $k_r^\\mathrm{before}$ when $o_r$ has been applied, $k_r^\\mathrm{after}$ appears after $o_r.\\mathit{id}$ when $o_r$ has been applied, and $k_r^\\mathrm{after}$ appears immediately after $k_r^\\mathrm{before}$ in the common ancestor of $o_r$ and $o_s$. The insertion interval of $o_s$ is the pair of keys $(k_s^\\mathrm{before}, k_s^\\mathrm{after})$ defined similarly.\n\\end{definition}\n\nIt may be the case that $k_r^\\mathrm{before}$ or $k_s^\\mathrm{before}$ is \\textsf{head}, and that $k_r^\\mathrm{after}$ or $k_s^\\mathrm{after}$ is \\textsf{tail}.\n\n\\begin{lemma}\\label{lem:insert-conflict}\nFor any two concurrent insertion operations $o_r, o_s$ in a history $H$, if $o_r.\\mathit{cur} = o_s.\\mathit{cur}$, then the order at which the inserted elements appear in the list after applying $H$ is deterministic and independent of the order of $o_r$ and $o_s$ in $H$.\n\\end{lemma}\n\n\\begin{proof}\nWithout loss of generality, assume that $o_r.\\mathit{id} < o_s.\\mathit{id}$ according to the ordering relation on Lamport timestamps. (If the operation ID of $o_r$ is greater than that of $o_s$, the two operations can be swapped in this proof.) We now distinguish the two possible orders of applying the operations:\n\n\\begin{enumerate}\n\\item $o_r$ is applied before $o_s$ in $H$. Thus, at the time when $o_s$ is applied, $o_r$ has already been applied. When applying $o_s$, since $o_r$ has a lesser operation ID, the rule $\\textsc{Insert}_1$ applies with $\\mathit{next} = o_r.\\mathit{id}$ at the latest, so the insertion position of $o_s$ must appear before $o_r$. It is not possible for $\\textsc{Insert}_2$ to skip past $o_r$.\n\n\\item $o_s$ is applied before $o_r$ in $H$. Thus, at the time when $o_r$ is applied, $o_s$ has already been applied. When applying $o_r$, the rule $\\textsc{Insert}_2$ applies with $\\mathit{next} = o_s.\\mathit{id}$, so the rule skips past $o_s$ and inserts $o_r$ at a position after $o_s$. Moreover, any list elements that appear between $o_s.\\mathit{cur}$ and $o_s$ at the time of inserting $o_r$ must have a Lamport timestamp greater than $o_s.\\mathit{id}$, so $\\textsc{Insert}_2$ also skips over those list elements when inserting $o_r$. Thus, the insertion position of $o_r$ must be after $o_s$.\n\\end{enumerate}\n\nThus, the insertion position of $o_r$ appears after the insertion position of $o_s$, regardless of the order in which the two operations are applied. The ordering depends only on the operation IDs, and since these IDs are fixed at the time the operations are generated, the list order is determined by the IDs.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:insert-reorder}\nIn an operation history $H$, an insertion operation is commutative with respect to concurrent insertion operations to the same list.\n\\end{lemma}\n\n\\begin{proof}\nGiven any two concurrent insertion operations $o_r, o_s$ in $H$, we must show that the document state does not depend on the order in which $o_r$ and $o_s$ are applied.\n\nEither $o_r$ and $o_s$ have the same insertion interval as defined in Definition~\\ref{def:insert-interval}, or they have different insertion intervals. If the insertion intervals are different, then by Lemma~\\ref{lem:insert-between} the operations cannot affect each other, and so they have the same effect regardless of their order. So we need only analyze the case in which they have the same insertion interval $(k^\\mathrm{before}, k^\\mathrm{after})$.\n\nIf $o_r.\\mathit{cur} = o_s.\\mathit{cur}$, then by Lemma~\\ref{lem:insert-conflict}, the operation with the greater operation ID appears first in the list, regardless of the order in which the operations are applied. If $o_r.\\mathit{cur} \\not= o_s.\\mathit{cur}$, then one or both of the cursors must refer to a list element that appears between $k^\\mathrm{before}$ and $k^\\mathrm{after}$, and that did not yet exist in the common ancestor (Definition~\\ref{def:common-ancestor}).\n\nTake a cursor that differs from $k^\\mathrm{before}$: the list element it refers to was inserted by a prior operation, whose cursor in turn refers to another prior operation, and so on. Following this chain of cursors for a finite number of steps leads to an operation $o_\\mathrm{first}$ whose cursor refers to $k^\\mathrm{before}$ (since an insertion operation always inserts at a position after the cursor).\n\nNote that all of the operations in this chain are causally dependent on $o_\\mathrm{first}$, and so they must have a Lamport timestamp greater than $o_\\mathrm{first}$. Thus, we can apply the same argument as in Lemma~\\ref{lem:insert-conflict}: if $\\textsc{Insert}_2$ skips over the list element inserted by $o_\\mathrm{first}$, it will also skip over all of the list elements that are causally dependent on it; if $\\textsc{Insert}_1$ inserts a new element before $o_\\mathrm{first}$, it is also inserted before the chain of operations that is based on it.\n\nTherefore, the order of $o_r$ and $o_s$ in the final list is determined by the Lamport timestamps of the first insertions into the insertion interval after their common ancestor, in the chains of cursor references of the two operations. Since the argument above applies to all pairs of concurrent operations $o_r, o_s$ in $H$, we deduce that the final order of elements in the list depends only on the operation IDs but not the order of application, which shows that concurrent insertions to the same list are commutative.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:delete-commute}\nIn a history $H$, a deletion operation is commutative with respect to concurrent operations.\n\\end{lemma}\n\n\\begin{proof}\nGiven a deletion operation $o_d$ and any other concurrent operation $o_c$, we must show that the document state after applying both operations does not depend on the order in which $o_d$ and $o_c$ were applied.\n\nThe rules in Figure~\\ref{fig:clear-rules} define how a deletion operation $o_d$ is applied: starting at the cursor in the operation, they recursively descend the subtree, removing $o_d.\\mathit{deps}$ from the presence set $\\mathsf{pres}(k)$ at all branch nodes in the subtree, and updating all registers to remove any values written by operations in $o_d.\\mathit{deps}$.\n\nIf $o_c$ is an assignment or insertion operation, the \\textsc{Assign} rule adds $o_c.\\mathit{id}$ to the mapping from operation ID to value for a register, and the \\textsc{Descend}, \\textsc{Assign}, \\textsc{Empty-Map} and \\textsc{Empty-List} rules add $o_c.\\mathit{id}$ to the presence sets $\\mathsf{pres}(k)$ along the path through the document tree described by the cursor.\n\nIf $o_d.\\mathit{cur}$ is not a prefix of $o_c.\\mathit{cur}$, the operations affect disjoint subtrees of the document, and so they are trivially commutative. Any state changes by \\textsc{Descend} and $\\textsc{Add-ID}_1$ along the shared part of the cursor path are applied using the set union operator $\\cup$, which is commutative.\n\nNow consider the case where $o_d.\\mathit{cur}$ is a prefix of $o_c.\\mathit{cur}$. Since $o_c$ is concurrent with $o_d$, we know that $o_c.\\mathit{id} \\notin o_d.\\mathit{deps}$. Therefore, if $o_c$ is applied before $o_d$ in the history, the \\textsc{Clear-*} rules evaluating $o_d$ will leave any occurrences of $o_c.\\mathit{id}$ in the document state undisturbed, while removing any occurrences of operations in $o_d.\\mathit{deps}$.\n\nIf $o_d$ is applied before $o_c$, the effect on presence sets and registers is the same as if they had been applied in the reverse order. Moreover, $o_c$ applies in the same way as if $o_d$ had not been applied previously, because applying a deletion only modifies presence sets and registers, without actually removing map keys or list elements, and because the rules for applying an operation are not conditional on the previous content of presence sets and registers.\n\nThus, the effect of applying $o_c$ before $o_d$ is the same as applying $o_d$ before $o_c$, so the operations commute.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:assign-commute}\nIn a history $H$, an assignment operation is commutative with respect to concurrent operations.\n\\end{lemma}\n\n\\begin{proof}\nGiven an assignment $o_a$ and any other concurrent operation $o_c$, we must show that the document state after applying both operations does not depend on the order in which $o_a$ and $o_c$ were applied.\n\nThe rules \\textsc{Assign}, \\textsc{Empty-Map} and \\textsc{Empty-List} define how an assignment operation $o_a$ is applied, depending on the value being assigned. All three rules first clear any causally prior state from the cursor at which the assignment is occurring; by Lemma~\\ref{lem:delete-commute}, this clearing operation is commutative with concurrent operations, and leaves updates by concurrent operations untouched.\n\nThe rules also add $o_a.\\mathit{id}$ to the presence set identified by the cursor, and \\textsc{Descend} adds $o_a.\\mathit{id}$ to the presence sets on the path from the root of the document tree described by the cursor. These state changes are applied using the set union operator $\\cup$, which is commutative.\n\nFinally, in the case where value assigned by $o_a$ is a primitive and the \\textsc{Assign} rule applies, the mapping from operation ID to value is added to the register by the expression $\\mathit{child}[\\,\\mathit{id} \\mapsto \\mathit{val}\\,]$. If $o_c$ is not an assignment operation or if $o_a.\\mathit{cursor} \\not= o_c.\\mathit{cursor}$, the operations are independent and thus trivially commutative.\n\nIf $o_a$ and $o_c$ are assignments to the same cursor, we use the commutativity of updates to a partial function: $\\mathit{child}[\\,\\mathit{id}_1 \\mapsto \\mathit{val}_1\\,]\\,[\\,\\mathit{id}_2 \\mapsto \\mathit{val}_2\\,] = \\mathit{child}[\\,\\mathit{id}_2 \\mapsto \\mathit{val}_2\\,]\\,[\\,\\mathit{id}_1 \\mapsto \\mathit{val}_1\\,]$ provided that $\\mathit{id}_1 \\not= \\mathit{id}_2$. Since operation IDs (Lamport timestamps) are unique, two concurrent assignments add two different keys to the mapping, and their order is immaterial.\n\nThus, all parts of the process of applying $o_a$ have the same effect on the document state, regardless of whether $o_c$ is applied before or after $o_a$, so the operations commute.\n\\end{proof}\n\n\\begin{lemma}\\label{lem:op-commute}\nGiven an operation history $H=\\langle o_1, \\dots, o_n \\rangle$ from a valid execution, a new operation $o_{n+1}$ from that execution can be inserted at any point in $H$ after $o_{n+1}.\\mathit{deps}$ have been applied. For all histories $H'$ that can be constructed this way, the document state resulting from applying the operations in $H'$ in order is the same, and independent of the ordering of any concurrent operations in $H$.\n\\end{lemma}\n\n\\begin{proof}\n$H$ can be split into a prefix and a suffix, as described in the proof of Theorem~\\ref{thm:convergence}. The suffix contains only operations that are concurrent with $o_{n+1}$, and we allow $o_{n+1}$ to be inserted at any point after the prefix. We then prove the lemma case-by-case, depending on the type of mutation in $o_{n+1}$. \n\nIf $o_{n+1}$ is a deletion, by Lemma~\\ref{lem:delete-commute} it is commutative with all operations in the suffix, and so $o_{n+1}$ can be inserted at any point within, before, or after the suffix without changing its effect on the final document state. Similarly, if $o_{n+1}$ is an assignment, by Lemma~\\ref{lem:assign-commute} it is commutative with all operations in the suffix.\n\nIf $o_{n+1}$ is an insertion, let $o_c$ be any operation in the suffix, and consider the cases of $o_{n+1}$ being inserted before and after $o_c$ in the history. If $o_c$ is a deletion or assignment, it is commutative with $o_{n+1}$ by Lemma~\\ref{lem:delete-commute} or Lemma~\\ref{lem:assign-commute} respectively. If $o_c$ is an insertion into the same list as $o_{n+1}$, then by Lemma~\\ref{lem:insert-reorder} the operations are commutative. If $o_c$ is an insertion into a different list in the document, its effect is independent from $o_{n+1}$ and so the two operations can be applied in any order.\n\nThus, $o_{n+1}$ is commutative with respect to any concurrent operation in $H$. Therefore, $o_{n+1}$ can be inserted into $H$ at any point after its causal dependencies, and the effect on the final document state is independent of the position at which the operation is inserted.\n\\end{proof}\n\nThis completes the induction step in the proof of Theorem~\\ref{thm:convergence}, and thus proves convergence of our datatype.\n\n\\fi % includeappendix\n\\end{document}\n"; - -if (typeof module === 'object') module.exports = { edits, finalText } diff --git a/rust/edit-trace/edits.json b/rust/edit-trace/edits.json deleted file mode 100644 index bbb4609d..00000000 --- a/rust/edit-trace/edits.json +++ /dev/null @@ -1 +0,0 @@ -[[0,0,"\\"],[1,0,"d"],[2,0,"o"],[3,0,"c"],[4,0,"u"],[5,0,"m"],[6,0,"e"],[7,0,"n"],[8,0,"t"],[9,0,"c"],[10,0,"l"],[11,0,"a"],[12,0,"s"],[13,0,"s"],[14,0,"["],[15,0,"a"],[16,0,"4"],[17,0,"p"],[18,0,"a"],[19,0,"p"],[20,0,"e"],[21,0,"r"],[22,0,","],[23,0,"t"],[24,0,"w"],[25,0,"o"],[26,0,"c"],[27,0,"o"],[28,0,"l"],[29,0,"u"],[30,0,"m"],[31,0,"n"],[32,0,","],[33,0,"1"],[34,0,"0"],[35,0,"p"],[36,0,"t"],[37,0,"]"],[38,0,"{"],[39,0,"a"],[40,0,"r"],[41,0,"t"],[42,0,"i"],[43,0,"c"],[44,0,"l"],[45,0,"e"],[46,0,"}"],[47,0,"\n"],[48,0,"\\"],[49,0,"u"],[50,0,"s"],[51,0,"e"],[52,0,"p"],[53,0,"a"],[54,0,"c"],[55,0,"k"],[56,0,"a"],[57,0,"g"],[58,0,"e"],[59,0,"{"],[59,1],[59,0,"["],[60,0,"u"],[61,0,"t"],[62,0,"f"],[63,0,"8"],[64,0,"]"],[65,0,"{"],[66,0,"i"],[67,0,"n"],[68,0,"p"],[69,0,"u"],[70,0,"t"],[71,0,"e"],[72,0,"n"],[73,0,"c"],[74,0,"}"],[75,0,"\n"],[76,0,"\\"],[77,0,"u"],[78,0,"s"],[79,0,"e"],[80,0,"p"],[81,0,"a"],[82,0,"c"],[83,0,"k"],[84,0,"a"],[85,0,"g"],[86,0,"e"],[87,0,"{"],[88,0,"m"],[89,0,"a"],[90,0,"t"],[91,0,"h"],[92,0,"p"],[93,0,"t"],[94,0,"m"],[95,0,"x"],[96,0,"}"],[97,0," "],[98,0,"%"],[99,0," "],[100,0,"t"],[101,0,"i"],[102,0,"m"],[103,0,"e"],[104,0,"s"],[105,0," "],[106,0,"r"],[107,0,"o"],[108,0,"m"],[109,0,"a"],[110,0,"n"],[111,0,","],[112,0," "],[113,0,"i"],[114,0,"n"],[115,0,"c"],[116,0,"l"],[117,0,"u"],[118,0,"d"],[119,0,"i"],[120,0,"n"],[121,0,"g"],[122,0," "],[123,0,"m"],[124,0,"a"],[125,0,"t"],[126,0,"h"],[127,0,"\n"],[128,0,"\\"],[129,0,"u"],[130,0,"s"],[131,0,"e"],[132,0,"p"],[133,0,"a"],[134,0,"c"],[135,0,"k"],[136,0,"a"],[137,0,"g"],[138,0,"e"],[139,0,"["],[140,0,"h"],[141,0,"y"],[142,0,"p"],[143,0,"h"],[144,0,"e"],[145,0,"n"],[146,0,"s"],[147,0,"]"],[148,0,"{"],[149,0,"u"],[150,0,"r"],[151,0,"l"],[152,0,"}"],[153,0,"\n"],[154,0,"\\"],[155,0,"u"],[156,0,"s"],[157,0,"e"],[158,0,"p"],[159,0,"a"],[160,0,"c"],[161,0,"k"],[162,0,"a"],[163,0,"g"],[164,0,"e"],[165,0,"{"],[166,0,"d"],[167,0,"o"],[168,0,"i"],[169,0,"}"],[170,0,"\n"],[171,0,"\\"],[172,0,"u"],[173,0,"s"],[174,0,"e"],[175,0,"p"],[176,0,"a"],[177,0,"c"],[178,0,"k"],[179,0,"a"],[180,0,"g"],[181,0,"e"],[182,0,"{"],[183,0,"h"],[184,0,"y"],[185,0,"p"],[186,0,"e"],[187,0,"r"],[188,0,"r"],[189,0,"e"],[190,0,"f"],[191,0,"}"],[192,0,"\n"],[193,0,"\\"],[194,0,"u"],[195,0,"s"],[196,0,"e"],[197,0,"p"],[198,0,"a"],[199,0,"c"],[200,0,"k"],[201,0,"a"],[202,0,"g"],[203,0,"e"],[204,0,"["],[205,0,"n"],[206,0,"u"],[207,0,"m"],[208,0,"b"],[209,0,"e"],[210,0,"r"],[211,0,"s"],[212,0,","],[213,0,"s"],[214,0,"o"],[215,0,"r"],[216,0,"t"],[217,0,"]"],[218,0,"{"],[219,0,"n"],[220,0,"a"],[221,0,"t"],[222,0,"b"],[223,0,"i"],[224,0,"t"],[224,1],[224,0,"b"],[225,0,"}"],[226,0,"\n"],[227,0,"\\"],[228,0,"h"],[229,0,"y"],[230,0,"p"],[231,0,"h"],[232,0,"e"],[233,0,"n"],[234,0,"a"],[235,0,"t"],[236,0,"i"],[237,0,"o"],[238,0,"n"],[239,0,"{"],[240,0,"d"],[241,0,"a"],[242,0,"t"],[243,0,"a"],[243,1],[242,1],[242,0,"-"],[243,0,"d"],[243,1],[243,0,"t"],[244,0,"a"],[245,0,"-"],[246,0,"c"],[247,0,"e"],[248,0,"n"],[249,0,"-"],[250,0,"t"],[251,0,"e"],[252,0,"r"],[253,0," "],[254,0,"d"],[255,0,"a"],[256,0,"-"],[257,0,"t"],[258,0,"a"],[259,0,"-"],[260,0,"c"],[261,0,"e"],[262,0,"n"],[263,0,"-"],[264,0,"t"],[265,0,"e"],[266,0,"r"],[267,0,"s"],[268,0,"}"],[269,0,"\n"],[270,0,"\\"],[271,0,"f"],[272,0,"r"],[273,0,"e"],[274,0,"n"],[275,0,"c"],[276,0,"h"],[277,0,"s"],[278,0,"p"],[279,0,"a"],[280,0,"c"],[281,0,"i"],[282,0,"n"],[283,0,"g"],[284,0,"\n"],[285,0,"\n"],[286,0,"\\"],[287,0,"b"],[288,0,"e"],[289,0,"g"],[290,0,"i"],[291,0,"n"],[292,0,"{"],[293,0,"d"],[294,0,"o"],[295,0,"c"],[296,0,"u"],[297,0,"m"],[298,0,"e"],[299,0,"n"],[300,0,"t"],[301,0,"}"],[302,0,"\n"],[303,0,"\\"],[304,0,"s"],[305,0,"l"],[306,0,"o"],[307,0,"p"],[308,0,"p"],[309,0,"y"],[310,0,"\n"],[311,0,"\\"],[312,0,"t"],[313,0,"i"],[314,0,"t"],[315,0,"l"],[316,0,"e"],[317,0,"{"],[318,0,"C"],[319,0,"o"],[320,0,"m"],[321,0,"p"],[322,0,"o"],[323,0,"s"],[324,0,"i"],[325,0,"n"],[326,0,"g"],[327,0," "],[328,0,"D"],[329,0,"a"],[330,0,"t"],[331,0,"a"],[332,0," "],[333,0,"S"],[334,0,"t"],[335,0,"r"],[336,0,"u"],[337,0,"c"],[338,0,"t"],[339,0,"u"],[340,0,"r"],[341,0,"e"],[342,0,"s"],[343,0," "],[344,0,"f"],[345,0,"o"],[346,0,"r"],[347,0," "],[348,0,"C"],[349,0,"o"],[350,0,"l"],[351,0,"l"],[352,0,"a"],[353,0,"b"],[354,0,"o"],[355,0,"r"],[356,0,"a"],[357,0,"t"],[358,0,"i"],[359,0,"v"],[360,0,"e"],[361,0," "],[362,0,"D"],[363,0,"o"],[364,0,"u"],[365,0,"m"],[366,0,"e"],[367,0,"n"],[368,0,"t"],[368,1],[367,1],[366,1],[365,1],[364,1],[364,0,"c"],[365,0,"u"],[366,0,"m"],[367,0,"e"],[368,0,"n"],[369,0,"t"],[370,0," "],[371,0,"E"],[372,0,"d"],[373,0,"i"],[374,0,"t"],[375,0,"i"],[376,0,"n"],[377,0,"g"],[378,0,"}"],[379,0,"\n"],[380,0,"\\"],[381,0,"a"],[382,0,"u"],[383,0,"t"],[384,0,"h"],[385,0,"o"],[386,0,"r"],[387,0,"{"],[388,0,"}"],[389,0,"\n"],[390,0,"\\"],[391,0,"m"],[392,0,"a"],[393,0,"k"],[394,0,"e"],[395,0,"t"],[396,0,"i"],[397,0,"t"],[398,0,"l"],[399,0,"e"],[400,0,"\n"],[401,0,"\n"],[402,0,"\\"],[403,0,"s"],[404,0,"u"],[405,0,"b"],[406,0,"s"],[407,0,"e"],[408,0,"c"],[409,0,"t"],[410,0,"i"],[411,0,"o"],[412,0,"n"],[413,0,"*"],[414,0,"{"],[415,0,"A"],[416,0,"b"],[417,0,"s"],[418,0,"t"],[419,0,"r"],[420,0,"a"],[421,0,"c"],[422,0,"g"],[423,0,"t"],[424,0,"}"],[424,1],[423,1],[422,1],[422,0,"t"],[423,0,"}"],[424,0,"\n"],[425,0,"\n"],[426,0,"\\"],[427,0,"s"],[428,0,"e"],[429,0,"c"],[430,0,"t"],[431,0,"i"],[432,0,"o"],[433,0,"n"],[434,0,"{"],[435,0,"I"],[436,0,"n"],[437,0,"t"],[438,0,"r"],[439,0,"o"],[440,0,"d"],[441,0,"u"],[442,0,"c"],[443,0,"t"],[444,0,"i"],[445,0,"o"],[446,0,"n"],[447,0,"}"],[448,0,"\n"],[449,0,"\n"],[450,0,"\n"],[451,0,"\\"],[452,0,"e"],[453,0,"n"],[454,0,"d"],[455,0,"{"],[456,0,"d"],[457,0,"o"],[458,0,"c"],[459,0,"u"],[460,0,"m"],[461,0,"e"],[462,0,"n"],[463,0,"t"],[464,0,"}"],[465,0,"\n"],[450,0,"\n"],[451,0,"{"],[452,0,"\\"],[453,0,"f"],[454,0,"o"],[455,0,"o"],[456,0,"t"],[457,0,"n"],[458,0,"o"],[459,0,"t"],[460,0,"e"],[461,0,"s"],[462,0,"i"],[463,0,"z"],[464,0,"e"],[465,0,"\n"],[466,0,"\\"],[467,0,"b"],[468,0,"i"],[469,0,"b"],[470,0,"l"],[471,0,"i"],[472,0,"o"],[473,0,"g"],[474,0,"r"],[475,0,"a"],[476,0,"p"],[477,0,"h"],[478,0,"y"],[479,0,"s"],[480,0,"t"],[481,0,"y"],[482,0,"l"],[483,0,"e"],[484,0,"{"],[485,0,"p"],[486,0,"l"],[487,0,"a"],[488,0,"i"],[489,0,"n"],[490,0,"n"],[491,0,"a"],[492,0,"t"],[493,0,"}"],[494,0,"\n"],[495,0,"\\"],[496,0,"b"],[497,0,"i"],[498,0,"b"],[499,0,"l"],[500,0,"i"],[501,0,"o"],[502,0,"g"],[503,0,"r"],[504,0,"a"],[505,0,"p"],[506,0,"h"],[507,0,"y"],[508,0,"{"],[509,0,"r"],[510,0,"e"],[511,0,"f"],[512,0,"e"],[513,0,"r"],[514,0,"e"],[515,0,"n"],[516,0,"c"],[517,0,"e"],[518,0,"s"],[519,0,"}"],[520,0,"{"],[521,0,"}"],[522,0,"}"],[449,0,"\n"],[450,0,"\\"],[451,0,"c"],[452,0,"i"],[453,0,"t"],[454,0,"e"],[455,0,"{"],[456,0,"R"],[457,0,"o"],[458,0,"h"],[459,0,":"],[460,0,"2"],[461,0,"0"],[462,0,"1"],[463,0,"1"],[464,0,"d"],[465,0,"w"],[466,0,"}"],[456,0,"S"],[457,0,"h"],[458,0,"a"],[459,0,"p"],[460,0,"i"],[461,0,"r"],[462,0,"o"],[463,0,":"],[464,0,"2"],[465,0,"0"],[466,0,"1"],[467,0,"1"],[468,0,"w"],[469,0,"y"],[470,0,","],[450,0,"C"],[451,0,"R"],[452,0,"D"],[453,0,"T"],[454,0,"s"],[455,0,"~"],[489,0,"\n"],[489,0,"\n"],[490,0,"\\"],[491,0,"s"],[492,0,"e"],[493,0,"c"],[494,0,"t"],[495,0,"i"],[496,0,"o"],[497,0,"n"],[498,0,"{"],[499,0,"O"],[500,0,"p"],[501,0,"e"],[502,0,"r"],[503,0,"a"],[504,0,"t"],[505,0,"i"],[506,0,"o"],[507,0,"n"],[508,0,"a"],[509,0,"l"],[510,0," "],[511,0,"S"],[512,0,"e"],[513,0,"m"],[514,0,"a"],[515,0,"n"],[516,0,"t"],[517,0,"i"],[518,0,"c"],[519,0,"s"],[520,0,"}"],[521,0,"\n"],[522,0,"\n"],[523,0,"T"],[524,0,"h"],[525,0,"e"],[526,0," "],[527,0,"R"],[528,0,"e"],[529,0,"p"],[530,0,"l"],[530,1],[529,1],[528,1],[527,1],[527,0,"\\"],[528,0,"e"],[529,0,"m"],[530,0,"p"],[531,0,"h"],[532,0,"{"],[533,0,"R"],[534,0,"e"],[535,0,"p"],[536,0,"l"],[537,0,"i"],[538,0,"c"],[539,0,"a"],[540,0,"t"],[541,0,"e"],[542,0,"d"],[543,0," "],[544,0,"G"],[545,0,"r"],[546,0,"o"],[547,0,"w"],[548,0,"a"],[549,0,"b"],[550,0,"l"],[551,0,"e"],[552,0," "],[553,0,"A"],[554,0,"r"],[555,0,"r"],[556,0,"a"],[557,0,"y"],[558,0,"}"],[559,0," "],[560,0,"("],[561,0,"R"],[562,0,"G"],[563,0,"A"],[564,0,")"],[565,0," "],[566,0,"d"],[567,0,"a"],[568,0,"t"],[569,0,"a"],[570,0,"t"],[571,0,"y"],[572,0,"p"],[573,0,"e"],[574,0," "],[575,0,"w"],[576,0,"a"],[577,0,"s"],[578,0," "],[579,0,"o"],[580,0,"r"],[581,0,"i"],[582,0,"g"],[583,0,"i"],[584,0,"n"],[585,0,"a"],[586,0,"l"],[587,0,"l"],[588,0,"y"],[589,0," "],[590,0,"d"],[591,0,"e"],[592,0,"f"],[593,0,"i"],[594,0,"n"],[595,0,"e"],[596,0,"d"],[597,0," "],[598,0,"b"],[599,0,"y"],[600,0," "],[601,0,"R"],[602,0,"o"],[603,0,"h"],[604,0," "],[605,0,"e"],[606,0,"t"],[607,0," "],[608,0,"a"],[609,0,"l"],[610,0,"."],[611,0,"\\"],[612,0," "],[613,0,"u"],[614,0,"s"],[615,0,"i"],[616,0,"n"],[617,0,"g"],[618,0," "],[619,0,"p"],[620,0,"s"],[621,0,"e"],[622,0,"u"],[623,0,"d"],[624,0,"o"],[625,0,"c"],[626,0,"o"],[627,0,"d"],[628,0,"e"],[629,0,"~"],[630,0,"\\"],[631,0,"c"],[632,0,"i"],[633,0,"t"],[634,0,"e"],[635,0,"{"],[636,0,"R"],[637,0,"o"],[638,0,"h"],[639,0,":"],[640,0,"2"],[641,0,"0"],[642,0,"1"],[643,0,"1"],[644,0,"d"],[645,0,"w"],[646,0,"}"],[647,0,"."],[648,0," "],[649,0,"I"],[650,0,"n"],[651,0," "],[652,0,"t"],[653,0,"h"],[654,0,"i"],[655,0,"s"],[656,0," "],[657,0,"s"],[658,0,"e"],[659,0,"c"],[660,0,"t"],[661,0,"i"],[662,0,"o"],[663,0,"n"],[664,0," "],[665,0,"w"],[666,0,"e"],[667,0," "],[668,0,"p"],[669,0,"r"],[670,0,"e"],[671,0,"s"],[672,0,"e"],[673,0,"n"],[674,0,"t"],[675,0," "],[676,0,"t"],[677,0,"h"],[678,0,"e"],[679,0," "],[680,0,"a"],[681,0,"l"],[682,0,"g"],[683,0,"o"],[684,0,"r"],[685,0,"i"],[686,0,"t"],[687,0,"h"],[688,0,"m"],[689,0," "],[690,0,"i"],[691,0,"n"],[692,0," "],[693,0,"a"],[694,0,"n"],[695,0," "],[696,0,"a"],[697,0,"l"],[698,0,"t"],[699,0,"e"],[700,0,"r"],[701,0,"n"],[702,0,"a"],[703,0,"t"],[704,0,"i"],[705,0,"v"],[706,0,"e"],[707,0," "],[708,0,"f"],[709,0,"o"],[710,0,"r"],[711,0,"m"],[712,0," "],[713,0,"w"],[714,0,"h"],[715,0,"i"],[716,0,"c"],[717,0,"h"],[718,0," "],[719,0,"i"],[720,0,"s"],[721,0," "],[722,0,"m"],[723,0,"o"],[724,0,"r"],[725,0,"e"],[726,0," "],[727,0,"a"],[728,0,"m"],[729,0,"e"],[730,0,"n"],[731,0,"a"],[732,0,"b"],[733,0,"l"],[734,0,"e"],[735,0," "],[736,0,"t"],[737,0,"o"],[738,0," "],[739,0,"p"],[740,0,"r"],[741,0,"o"],[742,0,"o"],[743,0,"f"],[744,0,"s"],[745,0,"."],[746,0,"\n"],[747,0,"\n"],[748,0,"E"],[749,0,"a"],[750,0,"c"],[751,0,"h"],[752,0," "],[753,0,"p"],[754,0,"e"],[755,0,"e"],[756,0,"r"],[757,0," "],[758,0,"t"],[759,0,"h"],[760,0,"a"],[761,0,"t"],[762,0," "],[763,0,"m"],[764,0,"a"],[765,0,"i"],[766,0,"n"],[767,0,"t"],[768,0,"a"],[769,0,"i"],[770,0,"n"],[771,0,"s"],[772,0," "],[773,0,"a"],[774,0," "],[775,0,"r"],[776,0,"e"],[777,0,"p"],[778,0,"l"],[779,0,"i"],[780,0,"c"],[781,0,"a"],[782,0," "],[783,0,"o"],[784,0,"f"],[785,0," "],[786,0,"a"],[787,0,"n"],[788,0," "],[789,0,"R"],[790,0,"G"],[791,0,"A"],[792,0," "],[793,0,"s"],[794,0,"t"],[795,0,"o"],[796,0,"r"],[797,0,"e"],[798,0,"s"],[799,0," "],[800,0,"a"],[801,0," "],[802,0,"c"],[803,0,"o"],[804,0,"p"],[805,0,"y"],[806,0," "],[807,0,"o"],[808,0,"f"],[809,0," "],[810,0,"i"],[811,0,"t"],[812,0,"s"],[813,0," "],[814,0,"s"],[815,0,"t"],[816,0,"a"],[817,0,"t"],[818,0,"e"],[819,0," "],[820,0,"$"],[821,0,"A"],[822,0,"$"],[823,0,","],[824,0," "],[825,0,"w"],[826,0,"h"],[827,0,"i"],[828,0,"c"],[829,0,"h"],[830,0," "],[831,0,"i"],[832,0,"s"],[833,0," "],[834,0,"a"],[835,0," "],[836,0,"s"],[837,0,"e"],[838,0,"t"],[839,0," "],[840,0,"o"],[841,0,"f"],[842,0," "],[843,0,"t"],[844,0,"r"],[845,0,"i"],[846,0,"p"],[847,0,"l"],[848,0,"e"],[849,0,"s"],[850,0," "],[851,0,"("],[851,1],[851,0,"$"],[852,0,"("],[853,0,"\\"],[854,0,"m"],[855,0,"a"],[856,0,"t"],[857,0,"h"],[858,0,"i"],[859,0,"t"],[860,0,"{"],[861,0,"i"],[862,0,"d"],[863,0,"}"],[864,0,","],[865,0," "],[866,0,"\\"],[867,0,"m"],[868,0,"a"],[869,0,"t"],[870,0,"h"],[871,0,"i"],[872,0,"t"],[873,0,"{"],[874,0,"v"],[875,0,"a"],[876,0,"l"],[877,0,"u"],[878,0,"e"],[879,0,"}"],[880,0,","],[881,0," "],[882,0,"\\"],[883,0,"m"],[884,0,"a"],[885,0,"t"],[886,0,"h"],[887,0,"i"],[888,0,"t"],[889,0,"{"],[890,0,"n"],[891,0,"e"],[892,0,"x"],[893,0,"t"],[894,0,"}"],[895,0,")"],[896,0,"$"],[897,0,"."],[898,0," "],[899,0,"T"],[900,0,"h"],[901,0,"e"],[902,0," "],[903,0,"e"],[904,0,"m"],[905,0,"p"],[906,0,"t"],[907,0,"y"],[908,0," "],[909,0,"a"],[910,0,"r"],[911,0,"r"],[912,0,"a"],[913,0,"y"],[914,0," "],[915,0,"i"],[916,0,"s"],[917,0," "],[918,0,"r"],[919,0,"e"],[920,0,"p"],[921,0,"r"],[922,0,"e"],[923,0,"s"],[924,0,"e"],[925,0,"n"],[914,0," "],[915,0,"$"],[916,0,"A"],[917,0,"_"],[918,0,"\\"],[919,0,"e"],[920,0,"m"],[921,0,"p"],[922,0,"t"],[923,0,"y"],[924,0,"s"],[925,0,"e"],[926,0,"t"],[927,0,"$"],[940,0,"t"],[941,0,"e"],[942,0,"d"],[943,0," "],[944,0,"b"],[945,0,"y"],[946,0," "],[947,0,"a"],[948,0," "],[949,0,"s"],[950,0,"e"],[951,0,"t"],[952,0," "],[953,0,"c"],[954,0,"o"],[955,0,"n"],[956,0,"t"],[957,0,"a"],[958,0,"i"],[959,0,"n"],[960,0,"i"],[961,0,"n"],[962,0,"g"],[963,0," "],[964,0,"a"],[965,0," "],[966,0,"s"],[967,0,"i"],[968,0,"n"],[969,0,"g"],[970,0,"l"],[971,0,"e"],[972,0," "],[973,0,"t"],[974,0,"u"],[975,0,"p"],[976,0,"l"],[977,0,"e"],[978,0,":"],[979,0,"\n"],[980,0,"\\"],[981,0,"b"],[982,0,"e"],[983,0,"g"],[984,0,"i"],[985,0,"n"],[986,0,"{"],[987,0,"e"],[988,0,"q"],[989,0,"u"],[990,0,"a"],[991,0,"t"],[992,0,"i"],[993,0,"o"],[994,0,"n"],[995,0,"}"],[996,0,"\n"],[997,0,"\\"],[998,0,"e"],[999,0,"n"],[1000,0,"d"],[1001,0,"{"],[1002,0,"e"],[1003,0,"q"],[1004,0,"u"],[1005,0,"a"],[1006,0,"t"],[1007,0,"i"],[1008,0,"o"],[1009,0,"n"],[1010,0,"}"],[996,0,"\n"],[997,0,"A"],[998,0,"_"],[999,0,"\\"],[1000,0,"e"],[1001,0,"m"],[1002,0,"p"],[1003,0,"t"],[1004,0,"y"],[1005,0,"s"],[1006,0,"e"],[1007,0,"t"],[1008,0," "],[1009,0,"="],[1010,0," "],[1011,0,"{"],[1012,0,"("],[1013,0,"\\"],[1014,0,"v"],[1015,0,"d"],[1016,0,"a"],[1017,0,"s"],[1018,0,"h"],[1019,0,","],[1020,0," "],[1021,0,"\\"],[1022,0,"b"],[1023,0,"o"],[1024,0,"t"],[1025,0,","],[1026,0," "],[1027,0,"\\"],[1028,0,"d"],[1029,0,"a"],[1030,0,"s"],[1031,0,"h"],[1032,0,"v"],[1033,0,")"],[1034,0,"}"],[1050,0,"\n"],[1051,0,"w"],[1052,0,"h"],[1053,0,"e"],[1054,0,"r"],[1055,0,"e"],[1056,0," "],[1057,0,"$"],[1058,0,"\\"],[1059,0,"v"],[1060,0,"d"],[1061,0,"a"],[1062,0,"s"],[1063,0,"h"],[1064,0,"$"],[1065,0," "],[1066,0,"i"],[1067,0,"s"],[1068,0," "],[1069,0,"a"],[1070,0," "],[1071,0,"s"],[1072,0,"p"],[1073,0,"e"],[1074,0,"c"],[1075,0,"i"],[1076,0,"a"],[1077,0,"l"],[1078,0," "],[1079,0,"I"],[1080,0,"D"],[1081,0," "],[1082,0,"d"],[1083,0,"e"],[1084,0,"n"],[1085,0,"o"],[1086,0,"t"],[1087,0,"i"],[1088,0,"n"],[1089,0,"g"],[1090,0," "],[1091,0,"t"],[1092,0,"h"],[1093,0,"e"],[1094,0," "],[1095,0,"h"],[1096,0,"e"],[1097,0,"a"],[1098,0,"d"],[1099,0," "],[1100,0,"o"],[1101,0,"f"],[1102,0," "],[1103,0,"t"],[1104,0,"h"],[1105,0,"e"],[1106,0," "],[1107,0,"l"],[1108,0,"i"],[1109,0,"s"],[1110,0,"t"],[1111,0,","],[1112,0," "],[1113,0,"$"],[1114,0,"\\"],[1115,0,"d"],[1116,0,"a"],[1117,0,"s"],[1118,0,"h"],[1119,0,"v"],[1120,0,"$"],[1121,0," "],[1122,0,"i"],[1123,0,"n"],[1124,0,"d"],[1125,0,"i"],[1126,0,"c"],[1127,0,"a"],[1128,0,"t"],[1129,0,"e"],[1130,0,"s"],[1131,0," "],[1132,0,"t"],[1133,0,"h"],[1134,0,"e"],[1135,0," "],[1136,0,"e"],[1137,0,"n"],[1138,0,"d"],[1139,0," "],[1140,0,"o"],[1141,0,"f"],[1142,0," "],[1143,0,"t"],[1144,0,"h"],[1145,0,"e"],[1146,0," "],[1147,0,"l"],[1148,0,"i"],[1149,0,"s"],[1150,0,"t"],[1151,0,","],[1152,0," "],[1153,0,"a"],[1154,0,"n"],[1155,0,"d"],[1156,0," "],[1157,0,"$"],[1158,0,"\\"],[1159,0,"b"],[1160,0,"o"],[1161,0,"t"],[1162,0,"$"],[1163,0," "],[1164,0,"i"],[1165,0,"s"],[1166,0," "],[1167,0,"t"],[1168,0,"h"],[1169,0,"e"],[1170,0," "],[1171,0,"b"],[1171,1],[1171,0,"a"],[1172,0,"b"],[1173,0,"s"],[1174,0,"e"],[1175,0,"n"],[1176,0,"c"],[1177,0,"e"],[1178,0," "],[1179,0,"o"],[1180,0,"f"],[1181,0," "],[1182,0,"a"],[1183,0," "],[1184,0,"v"],[1185,0,"a"],[1186,0,"l"],[1187,0,"u"],[1188,0,"e"],[1189,0,"."],[1011,0,"\\"],[1035,0,"\\"],[995,0,"*"],[997,1],[996,1],[995,1],[994,1],[993,1],[992,1],[991,1],[990,1],[989,1],[988,1],[987,1],[986,1],[985,1],[984,1],[983,1],[982,1],[981,1],[980,1],[980,0,"$"],[981,0,"$"],[982,0," "],[1037,1],[1036,1],[1035,1],[1034,1],[1033,1],[1032,1],[1031,1],[1030,1],[1029,1],[1028,1],[1027,1],[1026,1],[1025,1],[1024,1],[1023,1],[1023,0," "],[1024,0,"$"],[1025,0,"$"],[739,0,"c"],[740,0,"o"],[741,0,"r"],[742,0,"r"],[743,0,"e"],[744,0,"c"],[745,0,"t"],[746,0,"n"],[747,0,"e"],[748,0,"s"],[749,0,"s"],[750,0," "],[1178,0,"\n"],[1179,0,"\n"],[1180,0,"W"],[1181,0,"e"],[1182,0," "],[1183,0,"c"],[1184,0,"a"],[1185,0,"n"],[1186,0," "],[1186,1],[1185,1],[1184,1],[1183,1],[1183,0,"t"],[1183,1],[1183,0,"d"],[1184,0,"e"],[1185,0,"f"],[1186,0,"i"],[1187,0,"n"],[1188,0,"e"],[1189,0," "],[1190,0,"s"],[1191,0,"o"],[1192,0,"m"],[1193,0,"e"],[1194,0," "],[1195,0,"c"],[1196,0,"o"],[1197,0,"n"],[1198,0,"v"],[1199,0,"e"],[1200,0,"n"],[1201,0,"i"],[1202,0,"c"],[1202,1],[1202,0,"e"],[1203,0,"n"],[1204,0,"c"],[1205,0,"e"],[1206,0," "],[1207,0,"f"],[1208,0,"u"],[1209,0,"n"],[1210,0,"c"],[1211,0,"t"],[1212,0,"i"],[1213,0,"o"],[1214,0,"n"],[1215,0,"s"],[1216,0," "],[1217,0,"f"],[1218,0,"o"],[1219,0,"r"],[1220,0," "],[1221,0,"a"],[1222,0,"c"],[1223,0,"c"],[1224,0,"e"],[1225,0,"s"],[1226,0,"s"],[1227,0,"i"],[1228,0,"n"],[1229,0,"g"],[1230,0," "],[1231,0,"t"],[1232,0,"h"],[1233,0,"e"],[1234,0," "],[1235,0,"s"],[1236,0,"t"],[1237,0,"a"],[1238,0,"t"],[1239,0,"e"],[1240,0," "],[1241,0,"$"],[1242,0,"A"],[1243,0,"$"],[1244,0,":"],[1245,0,"\n"],[1246,0,"\\"],[1247,0,"b"],[1248,0,"e"],[1249,0,"g"],[1250,0,"i"],[1251,0,"n"],[1252,0,"{"],[1253,0,"e"],[1254,0,"q"],[1255,0,"n"],[1256,0,"a"],[1257,0,"r"],[1258,0,"r"],[1259,0,"a"],[1260,0,"y"],[1261,0,"*"],[1262,0,"}"],[1263,0,"\n"],[1264,0,"\\"],[1265,0,"e"],[1266,0,"n"],[1267,0,"d"],[1268,0,"{"],[1269,0,"e"],[1270,0,"q"],[1271,0,"n"],[1272,0,"a"],[1273,0,"r"],[1274,0,"r"],[1275,0,"a"],[1276,0,"y"],[1277,0,"*"],[1278,0,"}"],[1263,0,"\n"],[1264,0,"\\"],[1265,0,"m"],[1266,0,"a"],[1267,0,"t"],[1268,0,"h"],[1269,0,"r"],[1270,0,"m"],[1271,0,"{"],[1272,0,"n"],[1273,0,"e"],[1274,0,"x"],[1275,0,"t"],[1276,0,"}"],[1277,0,"("],[1278,0,"A"],[1279,0,","],[1280,0," "],[1281,0,"\\"],[1282,0,"m"],[1283,0,"a"],[1284,0,"t"],[1285,0,"h"],[1286,0,"i"],[1287,0,"t"],[1288,0,"{"],[1289,0,"i"],[1290,0,"d"],[1291,0,"}"],[1292,0,")"],[1293,0," "],[1294,0,"="],[1295,0," "],[1294,0,"&"],[1296,0,"&"],[1298,0,"n"],[1299,0," "],[1300,0,"\\"],[1301,0,"q"],[1302,0,"u"],[1303,0,"a"],[1304,0,"t"],[1304,1],[1304,0,"d"],[1305,0," "],[1306,0,"\\"],[1307,0,"m"],[1308,0,"a"],[1309,0,"t"],[1310,0,"h"],[1311,0,"r"],[1312,0,"m"],[1313,0,"{"],[1314,0,"s"],[1315,0,"u"],[1316,0,"c"],[1317,0,"h"],[1318,0," "],[1319,0,"t"],[1320,0,"h"],[1321,0,"a"],[1322,0,"t"],[1323,0,"}"],[1324,0," "],[1325,0,"\\"],[1326,0,";"],[1327,0," "],[1328,0,"("],[1329,0,"\\"],[1330,0,"m"],[1331,0,"a"],[1332,0,"t"],[1333,0,"h"],[1334,0,"i"],[1335,0,"t"],[1336,0,"{"],[1337,0,"i"],[1338,0,"d"],[1339,0,"}"],[1340,0,","],[1341,0," "],[1342,0,"\\"],[1343,0,"v"],[1344,0,"i"],[1345,0,"s"],[1346,0,"i"],[1347,0,"b"],[1348,0,"l"],[1349,0,"e"],[1350,0,"s"],[1351,0,"p"],[1352,0,"a"],[1353,0,"c"],[1354,0,"e"],[1355,0,","],[1356,0," "],[1357,0,"n"],[1358,0,")"],[1359,0," "],[1360,0,"\\"],[1361,0,"i"],[1362,0,"n"],[1363,0," "],[1364,0,"A"],[1343,0,"t"],[1344,0,"e"],[1345,0,"x"],[1346,0,"t"],[1260,1],[1259,1],[1258,1],[1257,1],[1256,1],[1255,1],[1254,1],[1253,1],[1253,0,"a"],[1254,0,"l"],[1255,0,"i"],[1256,0,"g"],[1257,0,"n"],[1379,1],[1378,1],[1377,1],[1376,1],[1375,1],[1374,1],[1373,1],[1372,1],[1372,0,"a"],[1373,0,"l"],[1374,0,"i"],[1375,0,"g"],[1376,0,"n"],[75,0,"\n"],[76,0,"\\"],[77,0,"u"],[78,0,"s"],[79,0,"e"],[80,0,"p"],[81,0,"a"],[82,0,"c"],[83,0,"k"],[84,0,"a"],[85,0,"g"],[86,0,"e"],[87,0,"{"],[88,0,"a"],[89,0,"m"],[90,0,"s"],[91,0,"m"],[92,0,"a"],[93,0,"t"],[94,0,"h"],[95,0,"}"],[96,0," "],[97,0,"%"],[98,0," "],[99,0,"a"],[100,0,"l"],[101,0,"i"],[102,0,"g"],[103,0,"n"],[104,0," "],[105,0,"e"],[106,0,"n"],[107,0,"v"],[107,1],[106,1],[106,0,"n"],[107,0,"v"],[108,0,"i"],[109,0,"r"],[110,0,"o"],[111,0,"n"],[112,0,"m"],[113,0,"e"],[114,0,"n"],[115,0,"t"],[1334,1],[1349,1],[1348,1],[1347,1],[1346,1],[1345,1],[1344,1],[1344,0,"t"],[1345,0,"e"],[1346,0,"x"],[1347,0,"t"],[1361,1],[1361,0,"q"],[1362,0,"u"],[1363,0,"a"],[1364,0,"d"],[1407,0,"\n"],[1408,0,"\\"],[1409,0,"m"],[1410,0,"a"],[1411,0,"t"],[1412,0,"h"],[1413,0,"r"],[1414,0,"m"],[1415,0,"{"],[1416,0,"v"],[1417,0,"a"],[1418,0,"l"],[1419,0,"}"],[1420,0,"("],[1421,0,"A"],[1422,0,","],[1423,0," "],[1424,0,"\\"],[1425,0,"m"],[1426,0,"a"],[1427,0,"t"],[1428,0,"h"],[1429,0,"i"],[1430,0,"t"],[1431,0,"{"],[1432,0,"i"],[1433,0,"d"],[1434,0,"}"],[1435,0,")"],[1436,0," "],[1437,0," "],[1438,0,"&"],[1439,0,"="],[1440,0," "],[1441,0,"n"],[1442,0," "],[1443,0,"\\"],[1444,0,"q"],[1445,0,"u"],[1446,0,"a"],[1447,0,"d"],[1448,0," "],[1449,0,"\\"],[1450,0,"t"],[1451,0,"e"],[1452,0,"x"],[1453,0,"t"],[1454,0,"{"],[1455,0,"s"],[1456,0,"u"],[1457,0,"c"],[1458,0,"h"],[1459,0," "],[1460,0,"t"],[1461,0,"h"],[1462,0,"a"],[1463,0,"t"],[1464,0,"}"],[1465,0," "],[1466,0,"\\"],[1467,0,"q"],[1468,0,"u"],[1469,0,"a"],[1470,0,"d"],[1471,0," "],[1472,0,"("],[1473,0,"\\"],[1474,0,"m"],[1475,0,"a"],[1476,0,"t"],[1477,0,"h"],[1478,0,"i"],[1479,0,"d"],[1480,0,"{"],[1481,0,"i"],[1482,0,"d"],[1483,0,"}"],[1484,0,","],[1485,0," "],[1441,1],[1441,0,"v"],[1486,0,"v"],[1487,0,","],[1488,0," "],[1489,0,"\\"],[1490,0,"t"],[1491,0,"e"],[1492,0,"x"],[1493,0,"t"],[1494,0,"v"],[1495,0,"i"],[1496,0,"s"],[1497,0,"i"],[1498,0,"s"],[1498,1],[1498,0,"b"],[1499,0,"l"],[1500,0,"e"],[1501,0,"s"],[1502,0,"p"],[1503,0,"a"],[1504,0,"c"],[1505,0,"e"],[1506,0,")"],[1507,0," "],[1508,0,"\\"],[1509,0,"i"],[1510,0,"n"],[1511,0," "],[1512,0,"A"],[1407,0," "],[1408,0,"\\"],[1409,0,"\\"],[325,0,"\n"],[326,0,"\n"],[327,0,"%"],[328,0," "],[329,0,"L"],[330,0,"i"],[331,0,"k"],[332,0,"e"],[333,0," "],[334,0,"\\"],[335,0,"t"],[336,0,"e"],[337,0,"x"],[338,0,"t"],[339,0,"v"],[340,0,"i"],[341,0,"s"],[342,0,"i"],[343,0,"b"],[344,0,"l"],[345,0,"e"],[346,0,"s"],[347,0,"p"],[348,0,"a"],[349,0,"c"],[350,0,"e"],[329,0,"P"],[330,0,"l"],[331,0,"a"],[332,0,"c"],[333,0,"e"],[334,0," "],[334,1],[334,0,"h"],[335,0,"j"],[336,0,"o"],[336,1],[335,1],[335,0,"o"],[336,0,"l"],[337,0,"d"],[338,0,"e"],[339,0,"r"],[340,0," "],[341,0,"c"],[342,0,"h"],[343,0,"a"],[344,0,"r"],[345,0,"a"],[346,0,"c"],[347,0,"t"],[348,0,"e"],[349,0,"r"],[350,0," "],[351,1],[351,0,"l"],[373,0,","],[374,0," "],[375,0,"b"],[376,0,"u"],[377,0,"t"],[378,0," "],[379,0,"w"],[380,0,"o"],[381,0,"r"],[382,0,"k"],[383,0,"s"],[384,0," "],[385,0,"i"],[386,0,"n"],[387,0," "],[388,0,"m"],[389,0,"a"],[390,0,"t"],[391,0,"h"],[392,0," "],[393,0,"m"],[394,0,"o"],[395,0,"d"],[396,0,"e"],[397,0,"\n"],[398,0,"\\"],[399,0,"n"],[400,0,"e"],[401,0,"w"],[402,0,"c"],[403,0,"o"],[404,0,"m"],[405,0,"m"],[406,0,"a"],[407,0,"n"],[408,0,"d"],[409,0,"\\"],[410,0,"p"],[411,0,"l"],[412,0,"a"],[413,0,"c"],[414,0,"e"],[415,0,"h"],[416,0,"o"],[417,0,"l"],[418,0,"d"],[419,0,"e"],[420,0,"r"],[421,0,"{"],[422,0,"%"],[423,0,"\n"],[424,0," "],[425,0," "],[426,0,"\\"],[427,0,"m"],[428,0,"a"],[429,0,"k"],[430,0,"e"],[431,0,"b"],[432,0,"o"],[433,0,"x"],[434,0,"["],[435,0,"0"],[436,0,"."],[437,0,"5"],[438,0,"e"],[439,0,"m"],[440,0,"]"],[441,0,"{"],[442,0,"%"],[443,0,"\n"],[444,0," "],[445,0," "],[446,0," "],[447,0," "],[448,0,"\\"],[449,0,"k"],[450,0,"e"],[451,0,"r"],[452,0,"n"],[453,0,"0"],[454,0,"."],[454,1],[453,1],[452,1],[452,0,"n"],[453,0,"."],[454,0,"0"],[455,0,"7"],[456,0,"e"],[457,0,"m"],[458,0,"\n"],[459,0," "],[460,0," "],[461,0," "],[462,0," "],[463,0,"\\"],[464,0,"v"],[465,0,"r"],[466,0,"u"],[467,0,"l"],[468,0,"e"],[469,0," "],[470,0,"h"],[471,0,"e"],[472,0,"i"],[473,0,"g"],[474,0,"h"],[475,0,"t"],[476,0,"."],[477,0,"3"],[478,0,"e"],[479,0,"x"],[480,0,"\n"],[481,0," "],[482,0," "],[483,0," "],[484,0," "],[485,0,"\\"],[486,0,"h"],[487,0,"r"],[488,0,"u"],[489,0,"l"],[490,0,"e"],[491,0,"f"],[492,0,"i"],[493,0,"l"],[494,0,"l"],[495,0,"\n"],[496,0," "],[497,0," "],[498,0," "],[499,0," "],[500,0,"\\"],[501,0,"v"],[502,0,"r"],[503,0,"u"],[504,0,"l"],[505,0,"e"],[506,0," "],[507,0,"h"],[508,0,"e"],[509,0,"i"],[510,0,"g"],[511,0,"h"],[512,0,"t"],[513,0,"."],[514,0,"3"],[515,0,"e"],[516,0,"x"],[517,0,"\n"],[518,0," "],[519,0," "],[520,0," "],[521,0," "],[522,0," "],[522,1],[522,0,"\\"],[523,0,"k"],[524,0,"e"],[525,0,"r"],[526,0,"n"],[527,0,"."],[528,0,"0"],[529,0,"7"],[530,0,"e"],[531,0,"m"],[532,0,"\n"],[533,0," "],[534,0," "],[535,0,"}"],[536,0,"%"],[537,0,"\n"],[538,0,"}"],[1722,1],[1721,1],[1720,1],[1719,1],[1718,1],[1717,1],[1716,1],[1715,1],[1714,1],[1713,1],[1712,1],[1711,1],[1710,1],[1709,1],[1708,1],[1707,1],[1707,0,"p"],[1708,0,"l"],[1709,0,"a"],[1710,0,"c"],[1711,0,"e"],[1712,0,"h"],[1713,0,"o"],[1714,0,"l"],[1715,0,"d"],[1716,0,"e"],[1717,0,"r"],[1610,1],[1609,1],[1608,1],[1607,1],[1606,1],[1605,1],[1604,1],[1603,1],[1602,1],[1601,1],[1600,1],[1599,1],[1598,1],[1597,1],[1596,1],[1595,1],[1595,0,"p"],[1596,0,"l"],[1597,0,"a"],[1598,0,"c"],[1599,0,"e"],[1600,0,"h"],[1601,0,"o"],[1602,0,"l"],[1603,0,"d"],[1604,0,"e"],[1605,0,"r"],[1691,1],[1691,0,"t"],[1692,0,"q"],[1692,1],[1557,0,"&"],[1662,0,"&"],[1612,0,"&"],[1718,0,"&"],[437,1],[437,0,"8"],[1557,1],[1662,1],[1573,0,"&"],[1679,0,"&"],[437,1],[437,0,"7"],[1573,1],[1678,1],[1716,1],[1611,1],[1116,1],[1115,1],[1114,1],[1113,1],[1112,1],[1111,1],[1110,1],[1109,1],[1108,1],[1107,1],[1106,1],[1105,1],[1104,1],[1103,1],[1103,0,"p"],[1104,0,"a"],[1105,0,"r"],[1106,0,"t"],[1107,0,"i"],[1108,0,"a"],[1109,0,"l"],[1110,0," "],[1111,0,"f"],[1112,0,"u"],[1113,0,"n"],[1114,0,"c"],[1115,0,"t"],[1116,0,"i"],[1117,0,"o"],[1118,0,"n"],[1119,0," "],[1120,0,"f"],[1121,0,"r"],[1122,0,"o"],[1123,0,"m"],[1124,0," "],[1125,0,"a"],[1126,0,"n"],[1127,0," "],[1128,0,"I"],[1129,0,"t"],[1130,0,"e"],[1131,0,"m"],[1132,0,"I"],[1133,0,"D"],[1136,1],[1147,0,"$"],[1148,0," "],[1149,0,"t"],[1150,0,"o"],[1151,0," "],[1152,0,"a"],[1153,0," "],[1154,0,"p"],[1155,0,"a"],[1156,0,"i"],[1157,0,"r"],[1158,0," "],[1159,0,"o"],[1160,0,"f"],[1161,0," "],[1163,1],[1162,1],[1162,0,"$"],[1163,0,"("],[1275,1],[1274,1],[1273,1],[1272,1],[1271,1],[1270,1],[1269,1],[1268,1],[1267,1],[1266,1],[1265,1],[1264,1],[1263,1],[1262,1],[1261,1],[1260,1],[1259,1],[1258,1],[1257,1],[1256,1],[1255,1],[1254,1],[1253,1],[1252,1],[1251,1],[1250,1],[1249,1],[1248,1],[1247,1],[1133,1],[1132,1],[1131,1],[1130,1],[1129,1],[1128,1],[1127,1],[1126,1],[1125,1],[1124,1],[1143,1],[1142,1],[1146,0,"s"],[1200,1],[1199,1],[1198,1],[1197,1],[1196,1],[1196,0,"l"],[1197,0,"i"],[1198,0,"s"],[1199,0,"t"],[1234,1],[1233,1],[1232,1],[1231,1],[1230,1],[1230,0,"a"],[1231,0,"s"],[1232,0," "],[1233,0,"f"],[1234,0,"o"],[1235,0,"l"],[1236,0,"l"],[1237,0,"o"],[1238,0,"w"],[1239,0,"s"],[1261,1],[1269,0,"("],[1267,1],[1267,0," "],[1268,0,"\\"],[1269,0,"m"],[1270,0,"a"],[1271,0,"p"],[1272,0,"s"],[1273,0,"t"],[1274,0,"o"],[1266,1],[1265,1],[1264,1],[1263,1],[1262,1],[1262,0,"m"],[1263,0,"a"],[1264,0,"t"],[1265,0,"h"],[1266,0,"s"],[1267,0,"f"],[1268,0,"{"],[1269,0,"h"],[1270,0,"e"],[1271,0,"a"],[1272,0,"d"],[1273,0,"}"],[1295,1],[1294,1],[1293,1],[1292,1],[1291,1],[1291,0,"m"],[1292,0,"a"],[1293,0,"t"],[1294,0,"h"],[1295,0,"s"],[1296,0,"f"],[1297,0,"{"],[1298,0,"t"],[1299,0,"a"],[1300,0,"i"],[1301,0,"l"],[1302,0,"}"],[1322,1],[1321,1],[1320,1],[1319,1],[1318,1],[1318,0,"m"],[1319,0,"a"],[1320,0,"t"],[1321,0,"h"],[1322,0,"s"],[1323,0,"f"],[1324,0,"{"],[1325,0,"h"],[1326,0,"e"],[1327,0,"a"],[1328,0,"d"],[1329,0,"}"],[1331,0," "],[1332,0,"a"],[1333,0,"n"],[1334,0,"d"],[1335,0," "],[1336,0,"$"],[1337,0,"\\"],[1338,0,"m"],[1339,0,"a"],[1340,0,"t"],[1341,0,"h"],[1342,0,"s"],[1343,0,"f"],[1344,0,"{"],[1345,0,"t"],[1346,0,"a"],[1347,0,"i"],[1348,0,"l"],[1349,0,"}"],[1350,0,"$"],[1353,1],[1352,1],[1351,1],[1353,0,"r"],[1354,0,"e"],[1366,0,"s"],[1385,0," "],[1386,0,"a"],[1387,0,"n"],[1388,0,"d"],[1389,0," "],[1390,0,"t"],[1391,0,"a"],[1392,0,"i"],[1393,0,"l"],[1407,0," "],[1408,0,"r"],[1409,0,"e"],[1410,0,"s"],[1411,0,"p"],[1412,0,"e"],[1413,0,"c"],[1414,0,"t"],[1415,0,"i"],[1416,0,"v"],[1417,0,"e"],[1418,0,"l"],[1419,0,"y"],[1458,1],[1457,1],[1456,1],[1455,1],[1454,1],[1453,1],[1452,1],[1451,1],[1450,1],[1449,1],[1448,1],[1447,1],[1446,1],[1445,1],[1444,1],[1443,1],[1442,1],[1441,1],[1440,1],[1439,1],[1438,1],[1437,1],[1436,1],[1435,1],[1434,1],[1433,1],[1432,1],[1431,1],[1430,1],[1429,1],[1428,1],[1427,1],[1426,1],[1425,1],[1424,1],[1423,1],[1422,1],[1421,1],[1420,1],[1434,1],[1433,1],[1433,0,"d"],[1434,0,"e"],[1435,0,"n"],[1436,0,"o"],[1437,0,"t"],[1438,0,"e"],[1439,0,"s"],[1763,1],[1762,1],[1761,1],[1760,1],[1759,1],[1758,1],[1757,1],[1756,1],[1755,1],[1754,1],[1753,1],[1752,1],[1751,1],[1750,1],[1749,1],[1748,1],[1747,1],[1746,1],[1745,1],[1744,1],[1743,1],[1742,1],[1741,1],[1740,1],[1739,1],[1738,1],[1737,1],[1736,1],[1735,1],[1734,1],[1733,1],[1732,1],[1731,1],[1730,1],[1729,1],[1728,1],[1727,1],[1726,1],[1725,1],[1724,1],[1723,1],[1722,1],[1721,1],[1720,1],[1719,1],[1718,1],[1717,1],[1716,1],[1715,1],[1714,1],[1713,1],[1712,1],[1711,1],[1710,1],[1709,1],[1708,1],[1707,1],[1706,1],[1705,1],[1704,1],[1703,1],[1702,1],[1701,1],[1700,1],[1699,1],[1698,1],[1697,1],[1696,1],[1695,1],[1694,1],[1693,1],[1692,1],[1691,1],[1690,1],[1689,1],[1688,1],[1687,1],[1686,1],[1685,1],[1684,1],[1683,1],[1682,1],[1681,1],[1680,1],[1679,1],[1678,1],[1677,1],[1676,1],[1675,1],[1674,1],[1673,1],[1672,1],[1671,1],[1670,1],[1669,1],[1668,1],[1667,1],[1666,1],[1665,1],[1664,1],[1663,1],[1662,1],[1661,1],[1660,1],[1659,1],[1658,1],[1657,1],[1656,1],[1655,1],[1654,1],[1653,1],[1652,1],[1651,1],[1650,1],[1649,1],[1648,1],[1647,1],[1646,1],[1645,1],[1644,1],[1643,1],[1642,1],[1641,1],[1640,1],[1639,1],[1638,1],[1637,1],[1636,1],[1635,1],[1634,1],[1633,1],[1632,1],[1631,1],[1630,1],[1629,1],[1628,1],[1627,1],[1626,1],[1625,1],[1624,1],[1623,1],[1622,1],[1621,1],[1620,1],[1619,1],[1618,1],[1617,1],[1616,1],[1615,1],[1614,1],[1613,1],[1612,1],[1611,1],[1610,1],[1609,1],[1608,1],[1607,1],[1606,1],[1605,1],[1604,1],[1603,1],[1602,1],[1601,1],[1600,1],[1599,1],[1598,1],[1597,1],[1596,1],[1595,1],[1594,1],[1593,1],[1592,1],[1591,1],[1590,1],[1589,1],[1588,1],[1587,1],[1586,1],[1585,1],[1584,1],[1583,1],[1582,1],[1581,1],[1580,1],[1579,1],[1578,1],[1577,1],[1576,1],[1575,1],[1574,1],[1573,1],[1572,1],[1571,1],[1570,1],[1569,1],[1568,1],[1567,1],[1566,1],[1565,1],[1564,1],[1563,1],[1562,1],[1561,1],[1560,1],[1559,1],[1558,1],[1557,1],[1556,1],[1555,1],[1554,1],[1553,1],[1552,1],[1551,1],[1550,1],[1549,1],[1548,1],[1547,1],[1546,1],[1545,1],[1544,1],[1543,1],[1542,1],[1541,1],[1540,1],[1539,1],[1538,1],[1537,1],[1536,1],[1535,1],[1534,1],[1533,1],[1532,1],[1531,1],[1530,1],[1529,1],[1528,1],[1527,1],[1526,1],[1525,1],[1524,1],[1523,1],[1522,1],[1521,1],[1520,1],[1519,1],[1518,1],[1517,1],[1516,1],[1515,1],[1514,1],[1513,1],[1512,1],[1511,1],[1510,1],[1509,1],[1508,1],[1507,1],[1506,1],[1505,1],[1504,1],[1503,1],[1502,1],[1501,1],[1500,1],[1499,1],[1498,1],[1497,1],[1496,1],[1495,1],[1494,1],[1493,1],[1492,1],[1491,1],[1490,1],[1489,1],[1488,1],[1487,1],[1486,1],[1485,1],[1484,1],[1483,1],[1482,1],[1481,1],[1480,1],[1479,1],[1478,1],[1477,1],[1476,1],[1475,1],[1474,1],[1473,1],[1472,1],[1471,1],[1470,1],[1469,1],[1468,1],[1467,1],[1466,1],[1239,1],[1238,1],[1237,1],[1236,1],[1235,1],[1234,1],[1233,1],[1233,0,"a"],[1234,0," "],[1235,0,"f"],[1236,0,"u"],[1237,0,"n"],[1238,0,"c"],[1239,0,"t"],[1240,0,"i"],[1241,0,"o"],[1242,0,"n"],[1243,0," "],[1244,0,"w"],[1245,0,"h"],[1246,0,"o"],[1247,0,"s"],[1248,0,"e"],[1249,0," "],[1250,0,"d"],[1251,0,"o"],[1252,0,"m"],[1253,0,"a"],[1254,0,"i"],[1255,0,"n"],[1256,0," "],[1257,0,"i"],[1258,0,"s"],[1259,0," "],[1260,0,"t"],[1261,0,"h"],[1262,0,"e"],[1263,0," "],[1264,0,"s"],[1265,0,"i"],[1266,0,"n"],[1267,0,"g"],[1268,0,"l"],[1269,0,"e"],[1270,0," "],[1271,0,"v"],[1272,0,"a"],[1273,0,"l"],[1274,0,"u"],[1275,0,"e"],[1276,0," "],[1277,0,"$"],[1278,0,"\\"],[1279,0,"m"],[1280,0,"a"],[1281,0,"t"],[1282,0,"h"],[1283,0,"i"],[1284,0,"t"],[1285,0,"{"],[1286,0,"h"],[1287,0,"e"],[1288,0,"a"],[1289,0,"d"],[1290,0,"}"],[1291,0,"$"],[1284,1],[1283,1],[1283,0,"s"],[1284,0,"f"],[1518,0,"W"],[1519,0,"e"],[1520,0," "],[1521,0,"u"],[1522,0,"s"],[1523,0,"e"],[1524,0," "],[1525,0,"t"],[1526,0,"h"],[1527,0,"e"],[1528,0," "],[1529,0,"n"],[1530,0,"o"],[1531,0,"t"],[1532,0,"a"],[1533,0,"t"],[1534,0,"i"],[1535,0,"o"],[1536,0,"n"],[1537,0," "],[1538,0,"$"],[1539,0,"A"],[1540,0,"\\"],[1541,0,"["],[1542,0,"a"],[1543,0," "],[1544,0,"\\"],[1545,0,"m"],[1546,0,"a"],[1547,0,"p"],[1548,0,"s"],[1549,0,"t"],[1550,0,"o"],[1551,0," "],[1552,0,"("],[1553,0,"b"],[1554,0,","],[1555,0," "],[1556,0,"c"],[1557,0,")"],[1558,0,"\\"],[1559,0,"]"],[1560,0,"$"],[1561,0," "],[1562,0,"t"],[1563,0,"o"],[1564,0," "],[1565,0,"d"],[1566,0,"e"],[1567,0,"n"],[1568,0,"o"],[1569,0,"t"],[1570,0,"e"],[1571,0," "],[1572,0,"a"],[1573,0," "],[1574,0,"f"],[1575,0,"u"],[1576,0,"n"],[1577,0,"c"],[1578,0,"t"],[1579,0,"i"],[1580,0,"o"],[1581,0,"n"],[1582,0," "],[1583,0,"i"],[1584,0,"d"],[1585,0,"e"],[1586,0,"n"],[1587,0,"t"],[1588,0,"i"],[1589,0,"c"],[1590,0,"a"],[1591,0,"l"],[1592,0," "],[1593,0,"t"],[1594,0,"o"],[1595,0," "],[1596,0,"$"],[1597,0,"A"],[1598,0,"$"],[1599,0,","],[1600,0," "],[1601,0,"e"],[1602,0,"x"],[1603,0,"c"],[1604,0,"e"],[1605,0,"p"],[1606,0,"t"],[1607,0," "],[1608,0,"t"],[1609,0,"h"],[1610,0,"a"],[1611,0,"t"],[1612,0," "],[1613,0,"$"],[1614,0,"A"],[1615,0,"("],[1616,0,"a"],[1617,0,")"],[1618,0,"="],[1619,0,"("],[1620,0,"b"],[1621,0,","],[1622,0,"c"],[1623,0,")"],[1624,0,"$"],[1625,0,"."],[1558,1],[1540,1],[1625,0,"\n"],[1626,0,"\n"],[1626,0,"T"],[1627,0,"h"],[1628,0,"e"],[1629,0," "],[1630,0,"o"],[1631,0,"p"],[1632,0,"e"],[1633,0,"r"],[1634,0,"a"],[1635,0,"t"],[1636,0,"i"],[1637,0,"o"],[1638,0,"n"],[1639,0," "],[1640,0,"$"],[1641,0,"\\"],[1642,0,"m"],[1643,0,"a"],[1644,0,"t"],[1645,0,"h"],[1646,0,"s"],[1647,0,"f"],[1648,0,"{"],[1649,0,"i"],[1650,0,"n"],[1651,0,"s"],[1652,0,"e"],[1653,0,"r"],[1654,0,"t"],[1655,0,"}"],[1656,0,"("],[1657,0,"\\"],[1658,0,"m"],[1659,0,"a"],[1660,0,"t"],[1661,0,"h"],[1662,0,"i"],[1663,0,"t"],[1664,0,"{"],[1665,0,"i"],[1666,0,"d"],[1667,0,"}"],[1668,0,","],[1669,0," "],[1670,0,"\\"],[1671,0,"m"],[1672,0,"a"],[1673,0,"t"],[1674,0,"h"],[1675,0,"i"],[1676,0,"t"],[1677,0,"{"],[1678,0,"p"],[1679,0,"r"],[1680,0,"e"],[1681,0,"v"],[1682,0,"}"],[1683,0," "],[1683,1],[1683,0,","],[1684,0," "],[1685,0,"v"],[1686,0,")"],[1687,0,"$"],[1688,0," "],[1689,0,"i"],[1690,0,"s"],[1691,0," "],[1692,0,"a"],[1693,0,"n"],[1694,0," "],[1695,0,"i"],[1696,0,"n"],[1697,0,"s"],[1698,0,"t"],[1699,0,"r"],[1700,0,"u"],[1701,0,"c"],[1702,0,"t"],[1703,0,"i"],[1704,0,"o"],[1705,0,"n"],[1706,0," "],[1707,0,"t"],[1708,0,"o"],[1709,0," "],[1710,0,"i"],[1711,0,"n"],[1712,0,"s"],[1713,0,"e"],[1714,0,"r"],[1715,0,"t"],[1716,0," "],[1717,0,"t"],[1718,0,"h"],[1719,0,"e"],[1720,0," "],[1721,0,"v"],[1722,0,"a"],[1723,0,"l"],[1724,0,"u"],[1725,0,"e"],[1726,0," "],[1727,0,"$"],[1728,0,"v"],[1729,0,"$"],[1730,0," "],[1731,0,"i"],[1732,0,"n"],[1733,0,"t"],[1734,0,"o"],[1735,0," "],[1736,0,"a"],[1737,0," "],[1738,0,"l"],[1739,0,"i"],[1740,0,"s"],[1741,0,"t"],[1742,0," "],[1743,0,"a"],[1744,0,"t"],[1745,0," "],[1746,0,"a"],[1747,0," "],[1748,0,"p"],[1749,0,"o"],[1750,0,"s"],[1751,0,"i"],[1752,0,"t"],[1753,0,"i"],[1754,0,"o"],[1755,0,"n"],[1756,0," "],[1757,0,"f"],[1758,0,"o"],[1759,0,"l"],[1760,0,"l"],[1761,0,"o"],[1762,0,"w"],[1763,0,"i"],[1764,0,"n"],[1765,0,"g"],[1766,0," "],[1767,0,"t"],[1768,0,"h"],[1769,0,"e"],[1770,0," "],[1771,0,"e"],[1772,0,"x"],[1773,0,"i"],[1774,0,"s"],[1775,0,"t"],[1776,0,"i"],[1777,0,"n"],[1778,0,"g"],[1779,0," "],[1780,0,"l"],[1781,0,"i"],[1782,0,"s"],[1783,0,"t"],[1784,0," "],[1785,0,"e"],[1786,0,"l"],[1787,0,"e"],[1788,0,"m"],[1789,0,"e"],[1790,0,"n"],[1791,0,"t"],[1792,0," "],[1793,0,"w"],[1794,0,"i"],[1795,0,"t"],[1796,0,"h"],[1797,0," "],[1798,0,"I"],[1799,0,"D"],[1800,0," "],[1801,0,"$"],[1802,0,"\\"],[1803,0,"m"],[1804,0,"a"],[1805,0,"t"],[1806,0,"h"],[1807,0,"i"],[1808,0,"t"],[1809,0,"{"],[1810,0,"p"],[1811,0,"r"],[1812,0,"e"],[1813,0,"v"],[1814,0,"}"],[1815,0,"$"],[1816,0," "],[1817,0,"("],[1817,1],[1816,1],[1816,0,"."],[1817,0," "],[1818,0,"A"],[1819,0,"n"],[1820,0," "],[1821,0,"i"],[1822,0,"n"],[1823,0,"s"],[1824,0,"e"],[1825,0,"r"],[1826,0,"t"],[1827,0,"i"],[1828,0,"o"],[1829,0,"n"],[1830,0," "],[1831,0,"a"],[1832,0,"t"],[1833,0," "],[1834,0,"t"],[1835,0,"h"],[1836,0,"e"],[1837,0," "],[1838,0,"h"],[1839,0,"e"],[1840,0,"a"],[1841,0,"d"],[1842,0," "],[1843,0,"o"],[1844,0,"f"],[1845,0," "],[1846,0,"t"],[1847,0,"h"],[1848,0,"e"],[1849,0," "],[1850,0,"l"],[1851,0,"i"],[1852,0,"s"],[1853,0,"t"],[1854,0," "],[1855,0,"i"],[1856,0,"s"],[1857,0," "],[1858,0,"e"],[1859,0,"x"],[1860,0,"p"],[1861,0,"r"],[1862,0,"e"],[1863,0,"s"],[1864,0,"s"],[1865,0,"e"],[1866,0,"d"],[1867,0," "],[1868,0,"a"],[1869,0,"s"],[1870,0," "],[1871,0,"$"],[1872,0,"\\"],[1873,0,"m"],[1874,0,"a"],[1875,0,"t"],[1876,0,"h"],[1877,0,"s"],[1878,0,"f"],[1879,0,"{"],[1880,0,"i"],[1881,0,"n"],[1882,0,"s"],[1883,0,"e"],[1884,0,"r"],[1885,0,"t"],[1886,0,"}"],[1887,0,"("],[1888,0,"\\"],[1889,0,"m"],[1890,0,"a"],[1891,0,"t"],[1892,0,"h"],[1893,0,"i"],[1894,0,"d"],[1894,1],[1894,0,"t"],[1895,0,"{"],[1896,0,"i"],[1897,0,"d"],[1898,0,"}"],[1899,0,","],[1900,0," "],[1901,0,"\\"],[1902,0,"m"],[1903,0,"a"],[1904,0,"t"],[1905,0,"h"],[1906,0,"s"],[1907,0,"f"],[1908,0,"{"],[1909,0,"h"],[1910,0,"e"],[1911,0,"a"],[1912,0,"d"],[1913,0,"}"],[1914,0,","],[1915,0," "],[1916,0,"v"],[1917,0,")"],[1918,0,"$"],[1919,0,"."],[1920,0," "],[1921,0,"T"],[1922,0,"h"],[1923,0,"e"],[1924,0," "],[1925,0,"$"],[1926,0,"\\"],[1927,0,"m"],[1928,0,"a"],[1929,0,"t"],[1930,0,"h"],[1931,0,"i"],[1932,0,"t"],[1933,0,"{"],[1934,0,"i"],[1935,0,"d"],[1936,0,"}"],[1937,0,"$"],[1938,0," "],[1939,0,"i"],[1940,0,"s"],[1941,0," "],[1942,0,"t"],[1943,0,"h"],[1944,0,"e"],[1945,0," "],[1946,0,"u"],[1947,0,"n"],[1948,0,"i"],[1949,0,"q"],[1950,0,"u"],[1951,0,"e"],[1952,0," "],[1953,0,"I"],[1954,0,"D"],[1955,0," "],[1956,0,"o"],[1957,0,"f"],[1958,0," "],[1959,0,"t"],[1960,0,"h"],[1961,0,"i"],[1962,0,"s"],[1963,0," "],[1964,0,"o"],[1965,0,"p"],[1966,0,"e"],[1967,0,"r"],[1968,0,"a"],[1969,0,"t"],[1970,0,"i"],[1971,0,"o"],[1972,0,"n"],[1973,0,"."],[1974,0,"\n"],[1975,0,"\n"],[1976,0,"T"],[1977,0,"h"],[1978,0,"e"],[1979,0," "],[1979,1],[1978,1],[1977,1],[1976,1],[1976,0,"W"],[1977,0,"h"],[1978,0,"e"],[1979,0,"n"],[1980,0," "],[1981,0,"t"],[1982,0,"h"],[1983,0,"e"],[1984,0," "],[1985,0,"o"],[1986,0,"p"],[1987,0,"e"],[1988,0,"r"],[1989,0,"a"],[1990,0,"t"],[1991,0,"i"],[1992,0,"o"],[1993,0,"n"],[1994,0," "],[1995,0,"i"],[1996,0,"s"],[1997,0," "],[1998,0,"a"],[1999,0,"p"],[2000,0,"p"],[2001,0,"l"],[2002,0,"i"],[2003,0,"e"],[2004,0,"d"],[2005,0," "],[2006,0,"t"],[2007,0,"o"],[2008,0," "],[2009,0,"a"],[2010,0," "],[2010,1],[2009,1],[2009,0,"t"],[2010,0,"h"],[2011,0,"e"],[2012,0," "],[2013,0,"l"],[2014,0,"i"],[2015,0,"s"],[2016,0,"t"],[2017,0," "],[2018,0,"s"],[2019,0,"t"],[2020,0,"a"],[2021,0,"t"],[2022,0,"e"],[2023,0," "],[2024,0,"$"],[2025,0,"A"],[2026,0,"$"],[2027,0,","],[2028,0," "],[2029,0,"i"],[2030,0,"t"],[2031,0," "],[2032,0,"p"],[2033,0,"r"],[2034,0,"o"],[2035,0,"d"],[2036,0,"u"],[2037,0,"c"],[2038,0,"e"],[2039,0,"s"],[2040,0," "],[2041,0,"a"],[2042,0," "],[2043,0,"m"],[2044,0,"o"],[2045,0,"d"],[2046,0,"i"],[2047,0,"f"],[2048,0,"i"],[2049,0,"e"],[2050,0,"d"],[2051,0," "],[2052,0,"l"],[2053,0,"i"],[2054,0,"s"],[2055,0,"t"],[2056,0," "],[2057,0,"s"],[2058,0,"t"],[2059,0,"a"],[2060,0,"t"],[2061,0,"e"],[2062,0," "],[2063,0,"$"],[2064,0,"A"],[2065,0,"^"],[2066,0,"\\"],[2067,0,"p"],[2068,0,"r"],[2069,0,"i"],[2070,0,"m"],[2071,0,"e"],[2072,0,"$"],[2073,0," "],[2074,0,"a"],[2075,0,"s"],[2076,0," "],[2077,0,"f"],[2078,0,"o"],[2079,0,"l"],[2080,0,"l"],[2081,0,"o"],[2082,0,"w"],[2083,0,"s"],[2084,0,":"],[2085,0,"\n"],[2086,0,"\\"],[2087,0,"b"],[2088,0,"e"],[2089,0,"g"],[2090,0,"i"],[2091,0,"n"],[2092,0,"{"],[2093,0,"a"],[2094,0,"l"],[2095,0,"i"],[2096,0,"g"],[2097,0,"n"],[2098,0,"&"],[2099,0,"*"],[2099,1],[2098,1],[2098,0,"*"],[2099,0,"}"],[2100,0,"\n"],[2101,0,"\\"],[2102,0,"e"],[2103,0,"n"],[2104,0,"d"],[2105,0,"{"],[2106,0,"a"],[2107,0,"l"],[2108,0,"i"],[2109,0,"g"],[2110,0,"n"],[2111,0,"*"],[2112,0,"&"],[2112,1],[2112,0,"}"],[2100,0,"\n"],[2101,0,"A"],[2102,0,"^"],[2103,0,"\\"],[2104,0,"p"],[2105,0,"r"],[2106,0,"i"],[2107,0,"m"],[2108,0,"e"],[2109,0," "],[2110,0,"="],[2111,0," "],[2112,0,"\\"],[2113,0,"m"],[2114,0,"a"],[2115,0,"t"],[2116,0,"h"],[2117,0,"r"],[2118,0,"m"],[2119,0,"{"],[2120,0,"a"],[2121,0,"p"],[2122,0,"p"],[2123,0,"l"],[2124,0,"y"],[2125,0,"}"],[2126,0,"("],[2127,0,"A"],[2128,0,","],[2129,0," "],[2130,0,"\\"],[2131,0,"m"],[2132,0,"a"],[2133,0,"t"],[2134,0,"h"],[2135,0,"s"],[2136,0,"f"],[2137,0,"{"],[2138,0,"i"],[2139,0,"n"],[2140,0,"s"],[2141,0,"e"],[2142,0,"r"],[2143,0,"t"],[2144,0,"}"],[2145,0,"("],[2146,0,"\\"],[2147,0,"m"],[2148,0,"a"],[2149,0,"t"],[2150,0,"h"],[2151,0,"i"],[2152,0,"t"],[2153,0,"{"],[2154,0,"i"],[2155,0,"d"],[2156,0,"}"],[2157,0," "],[2157,1],[2157,0,","],[2158,0," "],[2159,0,"\\"],[2160,0,"m"],[2161,0,"a"],[2162,0,"t"],[2163,0,"h"],[2164,0,"i"],[2165,0,"t"],[2166,0,"{"],[2167,0,"p"],[2168,0,"r"],[2169,0,"e"],[2170,0,"v"],[2171,0,"}"],[2172,0,","],[2173,0," "],[2174,0,"v"],[2175,0,")"],[2176,0,")"],[2177,0," "],[2178,0,"="],[2071,1],[2070,1],[2069,1],[2068,1],[2067,1],[2066,1],[2065,1],[2065,0,"'"],[2102,1],[2101,1],[2100,1],[2099,1],[2098,1],[2097,1],[2096,1],[2096,0,"'"],[2167,0," "],[2168,0,"\\"],[2169,0,"\\"],[2170,0,"\n"],[2171,0,"\\"],[2172,0,"b"],[2173,0,"e"],[2174,0,"g"],[2175,0,"i"],[2176,0,"n"],[2177,0,"{"],[2178,0,"c"],[2179,0,"a"],[2180,0,"s"],[2181,0,"e"],[2182,0,"s"],[2183,0,"}"],[2184,0,"\n"],[2185,0,"\\"],[2186,0,"e"],[2187,0,"n"],[2188,0,"d"],[2189,0,"{"],[2190,0,"c"],[2191,0,"a"],[2192,0,"s"],[2193,0,"e"],[2194,0,"s"],[2195,0,"}"],[2184,0,"\n"],[2185,0,"a"],[2186,0," "],[2187,0,"&"],[2188,0," "],[2189,0,"\\"],[2190,0,"q"],[2191,0,"u"],[2192,0,"a"],[2193,0,"d"],[2194,0,"\\"],[2195,0,"t"],[2196,0,"e"],[2197,0,"x"],[2198,0,"t"],[2199,0,"{"],[2200,0,"i"],[2201,0,"f"],[2202,0," "],[2203,0,"f"],[2204,0,"o"],[2205,0,"o"],[2206,0,"}"],[2205,1],[2204,1],[2203,1],[2185,1],[2185,0,"\\"],[2186,0,"m"],[2187,0,"a"],[2188,0,"t"],[2189,0,"h"],[2190,0,"r"],[2191,0,"m"],[2192,0,"{"],[2193,0,"a"],[2194,0,"p"],[2195,0,"p"],[2196,0,"l"],[2197,0,"y"],[2198,0,"}"],[2199,0,"("],[2200,0,"A"],[2201,0,","],[2202,0," "],[2203,0,"\\"],[2204,0,"m"],[2205,0,"a"],[2206,0,"t"],[2207,0,"h"],[2208,0,"s"],[2209,0,"f"],[2210,0,"{"],[2211,0,"i"],[2212,0,"n"],[2213,0,"s"],[2214,0,"e"],[2215,0,"r"],[2216,0,"t"],[2217,0,"}"],[2218,0,"("],[2219,0,"\\"],[2220,0,"m"],[2221,0,"a"],[2222,0,"t"],[2223,0,"h"],[2224,0,"i"],[2225,0,"t"],[2226,0,"{"],[2227,0,"i"],[2228,0,"d"],[2229,0,"}"],[2230,0,","],[2231,0," "],[2232,0,"n"],[2233,0,","],[2234,0," "],[2235,0,"v"],[2236,0,")"],[2237,0,")"],[2256,0," "],[2257,0,"A"],[2258,0,"("],[2259,0,"\\"],[2260,0,"m"],[2261,0,"a"],[2262,0,"t"],[2263,0,"h"],[2264,0,"i"],[2265,0,"t"],[2266,0,"{"],[2267,0,"p"],[2268,0,"r"],[2269,0,"e"],[2270,0,"v"],[2271,0,"}"],[2272,0,")"],[2273,0," "],[2274,0,"="],[2275,0," "],[2276,0,"("],[2277,0,"\\"],[2278,0,"p"],[2279,0,"l"],[2280,0,"a"],[2281,0,"c"],[2282,0,"e"],[2283,0,"h"],[2284,0,"o"],[2285,0,"l"],[2286,0,"d"],[2287,0,"e"],[2288,0,"r"],[2289,0,","],[2290,0," "],[2291,0,"n"],[2292,0,")"],[2091,1],[2090,1],[2089,1],[2088,1],[2087,1],[2088,1],[2087,1],[2086,1],[2085,1],[2084,1],[2083,1],[2082,1],[2081,1],[2080,1],[2080,0,"$"],[2081,0,"$"],[2305,1],[2304,1],[2303,1],[2302,1],[2301,1],[2300,1],[2299,1],[2298,1],[2297,1],[2296,1],[2295,1],[2294,1],[2294,0,"$"],[2295,0,"$"],[2082,1],[2082,0," "],[2293,1],[2293,0," "],[2081,1],[2080,1],[2080,0,"\\"],[2081,0,"b"],[2082,0,"e"],[2083,0,"g"],[2084,0,"i"],[2085,0,"n"],[2086,0,"{"],[2087,0,"e"],[2088,0,"q"],[2089,0,"u"],[2090,0,"a"],[2091,0,"t"],[2092,0,"i"],[2093,0,"o"],[2094,0,"n"],[2095,0,"*"],[2096,0,"}"],[2097,0,"\n"],[2098,1],[2310,1],[2309,1],[2308,1],[2308,1],[2308,0,"\n"],[2309,0,"\\"],[2310,0,"e"],[2311,0,"n"],[2312,0,"d"],[2313,0,"{"],[2314,0,"e"],[2315,0,"q"],[2316,0,"u"],[2317,0,"a"],[2318,0,"t"],[2319,0,"i"],[2320,0,"o"],[2321,0,"n"],[2322,0,"*"],[2323,0,"}"],[2324,0,"\n"],[2296,0," "],[2297,0,"\\"],[2298,0,"\\"],[2299,0,"\n"],[2300,0,"A"],[2301,0,"["],[2302,0,"\\"],[2303,0,"m"],[2304,0,"a"],[2305,0,"t"],[2306,0,"h"],[2307,0,"i"],[2308,0,"t"],[2309,0,"{"],[2310,0,"p"],[2311,0,"r"],[2312,0,"e"],[2313,0,"v"],[2314,0,"]"],[2314,1],[2314,0,"}"],[2315,0," "],[2316,0,"\\"],[2317,0,"m"],[2318,0,"a"],[2319,0,"p"],[2320,0,"s"],[2321,0,"t"],[2322,0,"o"],[2323,0," "],[2324,0,"("],[2325,0,"v"],[2326,0,"_"],[2327,0,"p"],[2328,0,","],[2329,0," "],[2330,0,"\\"],[2331,0,"m"],[2332,0,"a"],[2333,0,"t"],[2334,0,"h"],[2335,0,"i"],[2336,0,"t"],[2337,0,"{"],[2338,0,"i"],[2339,0,"d"],[2340,0,"}"],[2341,0,")"],[2342,0,","],[2343,0," "],[2344,0,"\\"],[2345,0,"m"],[2346,0,"a"],[2347,0,"t"],[2348,0,"h"],[2349,0,"i"],[2350,0,"t"],[2351,0,"{"],[2352,0,"i"],[2353,0,"d"],[2354,0,"}"],[2355,0," "],[2356,0,"\\"],[2357,0,"m"],[2358,0,"a"],[2359,0,"p"],[2360,0,"s"],[2361,0,"t"],[2362,0,"o"],[2363,0," "],[2364,0,"("],[2365,0,"v"],[2366,0,","],[2367,0," "],[2368,0,"n"],[2369,0,")"],[2370,0," "],[2371,0,"&"],[2372,0," "],[2373,0,"\\"],[2374,0,"q"],[2375,0,"u"],[2376,0,"a"],[2377,0,"d"],[2378,0,"\\"],[2379,0,"t"],[2380,0,"e"],[2381,0,"x"],[2382,0,"t"],[2383,0,"{"],[2384,0,"i"],[2385,0,"f"],[2386,0," "],[2387,0,"}"],[2370,0,"]"],[2370,0,"\\"],[2371,0,","],[2302,0,"\\"],[2303,0,","],[1541,0,"\\"],[1542,0,","],[1559,0,"\\"],[1560,0,","],[2246,1],[2246,0,"\\"],[2247,0,"\\"],[2248,1],[2248,0,"\n"],[2249,0," "],[2250,0," "],[2251,0," "],[2252,0," "],[2385,1],[2385,0,"\\"],[2386,0,"\\"],[2387,0,"\n"],[2388,0," "],[2389,0," "],[2390,0," "],[2098,1],[2097,1],[2096,1],[2095,1],[2094,1],[2093,1],[2092,1],[2091,1],[2091,0,"a"],[2092,0,"l"],[2093,0,"i"],[2094,0,"g"],[2095,0,"n"],[2429,1],[2428,1],[2427,1],[2426,1],[2425,1],[2424,1],[2423,1],[2422,1],[2422,0,"a"],[2423,0,"l"],[2424,0,"i"],[2425,0,"g"],[2426,0,"n"],[2265,0,"\\"],[2266,0,"l"],[2266,1],[2266,0,";"],[2263,1],[2403,1],[2404,0,"\\"],[2405,0,";"],[2403,0," "],[2263,0," "],[2304,0," "],[2305,0,"\\"],[2306,0,"w"],[2307,0,"e"],[2308,0,"d"],[2309,0,"g"],[2310,0,"e"],[2311,0," "],[2312,0,"n"],[2313,0," "],[2314,0,">"],[2315,0," "],[2315,1],[2314,1],[2313,1],[2312,1],[2312,0,"\\"],[2313,0,"m"],[2314,0,"a"],[2315,0,"t"],[2316,0,"h"],[2317,0,"i"],[2318,0,"t"],[2319,0,"{"],[2320,0,"i"],[2321,0,"d"],[2322,0,"}"],[2323,0," "],[2324,0,"<"],[2325,0," "],[2326,0,"n"],[2431,0," "],[2432,0,"A"],[2433,0,"("],[2434,0,"\\"],[2435,0,"m"],[2436,0,"a"],[2437,0,"t"],[2438,0,"h"],[2439,0,"i"],[2440,0,"t"],[2441,0,"{"],[2442,0,"p"],[2443,0,"r"],[2444,0,"e"],[2445,0,"v"],[2446,0,"}"],[2447,0,")"],[2448,0," "],[2449,0,"="],[2450,0," "],[2451,0,"("],[2452,0,"v"],[2453,0,"_"],[2454,0,"p"],[2455,0,","],[2456,0," "],[2457,0,"n"],[2458,0,")"],[2459,0," "],[2460,0,"\\"],[2461,0,"w"],[2462,0,"e"],[2463,0,"d"],[2464,0,"g"],[2465,0,"e"],[2466,0," "],[2467,0,"n"],[2468,0," "],[2469,0,"<"],[2470,0," "],[2471,0,"\\"],[2472,0,"m"],[2473,0,"a"],[2474,0,"t"],[2475,0,"h"],[2476,0,"i"],[2477,0,"t"],[2478,0,"{"],[2479,0,"i"],[2480,0,"d"],[2481,0,"}"],[2305,0,"\\"],[2306,0,";"],[2313,0,"\\"],[2314,0,";"],[2464,0,"\\"],[2465,0,";"],[2472,0,"\\"],[2473,0,"'"],[2473,1],[2473,0,";"],[2419,0,"q"],[2335,0,"\\"],[2336,0,"q"],[2337,0,"u"],[2338,0,"a"],[2339,0,"d"],[2340,0," "],[2189,0,"\\"],[2190,0,"q"],[2191,0,"u"],[2192,0,"a"],[2193,0,"d"],[2194,0," "],[2257,0,"q"],[2172,0,"&"],[2172,1],[2102,0,"&"],[2175,0,"&"],[2395,0,"\\"],[2396,0,";"],[2176,0,"="],[2175,0," "],[2535,0,"\n"],[2536,0,"\n"],[2537,0,"E"],[2538,0,"x"],[2539,0,"p"],[2540,0,"l"],[2541,0,"a"],[2542,0,"i"],[2543,0,"n"],[2544,0,"e"],[2545,0,"d"],[2546,0," "],[2547,0,"i"],[2548,0,"n"],[2549,0,"f"],[2550,0,"o"],[2551,0,"r"],[2552,0,"m"],[2553,0,"a"],[2554,0,"l"],[2555,0,"l"],[2556,0,"y"],[2557,0,","],[2558,0," "],[2559,0,"a"],[2560,0,"p"],[2561,0,"p"],[2562,0,"l"],[2563,0,"y"],[2564,0,"i"],[2565,0,"n"],[2566,0,"g"],[2567,0," "],[2568,0,"a"],[2569,0,"n"],[2570,0," "],[2571,0,"\\"],[2571,1],[2571,0,"$"],[2572,0,"\\"],[2573,0,"m"],[2574,0,"a"],[2575,0,"t"],[2576,0,"h"],[2577,0,"s"],[2578,0,"f"],[2579,0,"{"],[2580,0,"i"],[2581,0,"n"],[2582,0,"s"],[2583,0,"e"],[2584,0,"r"],[2585,0,"t"],[2586,0,"}"],[2587,0,"$"],[2588,0," "],[2589,0,"o"],[2590,0,"p"],[2591,0,"e"],[2592,0,"r"],[2593,0,"a"],[2594,0,"t"],[2595,0,"i"],[2596,0,"o"],[2597,0,"n"],[2598,0," "],[2599,0,"i"],[2600,0,"s"],[2601,0," "],[2602,0,"l"],[2603,0,"i"],[2604,0,"k"],[2605,0,"e"],[2606,0," "],[2607,0,"i"],[2608,0,"n"],[2609,0,"s"],[2610,0,"e"],[2611,0,"r"],[2612,0,"t"],[2613,0,"i"],[2614,0,"n"],[2615,0,"g"],[2616,0," "],[2617,0,"a"],[2618,0,"n"],[2619,0," "],[2620,0,"e"],[2621,0,"l"],[2622,0,"e"],[2623,0,"m"],[2624,0,"e"],[2625,0,"n"],[2626,0,"t"],[2627,0," "],[2628,0,"i"],[2629,0,"n"],[2630,0,"t"],[2631,0,"o"],[2632,0," "],[2633,0,"a"],[2634,0," "],[2635,0,"l"],[2636,0,"i"],[2637,0,"n"],[2638,0,"k"],[2639,0,"e"],[2640,0,"d"],[2641,0," "],[2642,0,"l"],[2643,0,"i"],[2644,0,"s"],[2645,0,"t"],[2646,0,","],[2647,0," "],[2648,0,"w"],[2649,0,"i"],[2650,0,"t"],[2651,0,"h"],[2652,0," "],[2653,0,"t"],[2654,0,"h"],[2655,0,"e"],[2655,1],[2654,1],[2653,1],[2652,1],[2651,1],[2650,1],[2649,1],[2648,1],[2648,0,"e"],[2649,0,"x"],[2650,0,"c"],[2651,0,"e"],[2652,0,"p"],[2653,0,"t"],[2654,0," "],[2655,0,"t"],[2656,0,"h"],[2657,0,"a"],[2658,0,"t"],[2659,0," "],[2660,0,"t"],[2661,0,"h"],[2662,0,"e"],[2663,0," "],[2664,0,"f"],[2665,0,"u"],[2666,0,"n"],[2667,0,"c"],[2668,0,"t"],[2669,0,"i"],[2670,0,"o"],[2671,0,"n"],[2672,0," "],[2673,0,"f"],[2674,0,"i"],[2675,0,"r"],[2676,0,"s"],[2677,0,"t"],[2678,0," "],[2679,0,"s"],[2680,0,"k"],[2681,0,"i"],[2682,0,"p"],[2683,0,"s"],[2684,0," "],[2685,0,"o"],[2686,0,"v"],[2687,0,"e"],[2688,0,"r"],[2689,0," "],[2690,0,"l"],[2691,0,"i"],[2692,0,"s"],[2693,0,"t"],[2694,0," "],[2695,0,"e"],[2696,0,"l"],[2697,0,"e"],[2698,0,"m"],[2699,0,"e"],[2700,0,"n"],[2701,0,"t"],[2702,0,"s"],[2703,0," "],[2704,0,"t"],[2705,0,"h"],[2706,0,"a"],[2707,0,"t"],[2708,0," "],[2708,1],[2707,1],[2706,1],[2705,1],[2704,1],[2704,0,"w"],[2705,0,"i"],[2706,0,"t"],[2707,0,"h"],[2708,0," "],[2709,0,"a"],[2710,0,"n"],[2711,0," "],[2712,0,"I"],[2713,0,"D"],[2714,0," "],[2559,1],[2558,1],[2557,1],[2556,1],[2555,1],[2554,1],[2553,1],[2552,1],[2551,1],[2550,1],[2549,1],[2548,1],[2547,1],[2546,1],[2545,1],[2544,1],[2543,1],[2542,1],[2541,1],[2540,1],[2539,1],[2538,1],[2537,1],[2537,0,"A"],[2693,0,"g"],[2694,0,"r"],[2695,0,"e"],[2696,0,"a"],[2697,0,"t"],[2698,0,"e"],[2699,0,"r"],[2700,0," "],[2701,0,"t"],[2702,0,"h"],[2703,0,"a"],[2704,0,"n"],[2705,0," "],[2706,0,"t"],[2707,0,"h"],[2708,0,"e"],[2709,0," "],[2710,0,"I"],[2711,0,"D"],[2712,0," "],[2713,0,"o"],[2714,0,"f"],[2715,0," "],[2716,0,"t"],[2717,0,"h"],[2718,0,"e"],[2719,0," "],[2720,0,"n"],[2721,0,"e"],[2722,0,"w"],[2723,0," "],[2724,0,"e"],[2725,0,"l"],[2726,0,"e"],[2727,0,"m"],[2728,0,"e"],[2729,0,"n"],[2730,0,"t"],[2731,0," "],[2732,0,"b"],[2733,0,"e"],[2734,0,"i"],[2735,0,"n"],[2736,0,"g"],[2737,0," "],[2738,0,"i"],[2739,0,"n"],[2740,0,"s"],[2741,0,"e"],[2742,0,"r"],[2743,0,"t"],[2744,0,"e"],[2745,0,"d"],[2746,0,"."],[2747,0," "],[2748,0,"T"],[2749,0,"h"],[2750,0,"u"],[2751,0,"s"],[2752,0," "],[2752,1],[2751,1],[2750,1],[2750,0,"i"],[2751,0,"s"],[2752,0," "],[2753,0,"h"],[2754,0,"a"],[2755,0,"s"],[2756,0," "],[2757,0,"t"],[2758,0,"h"],[2759,0,"e"],[2760,0," "],[2761,0,"e"],[2762,0,"f"],[2763,0,"f"],[2764,0,"e"],[2765,0,"c"],[2766,0,"t"],[2767,0," "],[2768,0,"o"],[2769,0,"f"],[2770,0," "],[2771,0,"d"],[2772,0,"e"],[2773,0,"t"],[2774,0,"e"],[2775,0,"r"],[2776,0,"m"],[2777,0,"i"],[2778,0,"n"],[2779,0,"i"],[2780,0,"s"],[2781,0,"t"],[2782,0,"i"],[2783,0,"c"],[2784,0,"a"],[2785,0,"l"],[2786,0,"l"],[2787,0,"y"],[2788,0," "],[2789,0,"o"],[2790,0,"r"],[2791,0,"d"],[2792,0,"e"],[2793,0,"r"],[2794,0,"i"],[2795,0,"n"],[2796,0,"g"],[2797,0," "],[2798,0,"c"],[2799,0,"o"],[2800,0,"n"],[2801,0,"c"],[2802,0,"u"],[2803,0,"r"],[2804,0,"r"],[2805,0,"e"],[2806,0,"n"],[2807,0,"t"],[2808,0," "],[2809,0,"i"],[2810,0,"n"],[2811,0,"s"],[2812,0,"e"],[2813,0,"r"],[2814,0,"t"],[2815,0,"i"],[2816,0,"o"],[2817,0,"n"],[2818,0,"s"],[2819,0," "],[2820,0,"m"],[2821,0,"a"],[2822,0,"d"],[2823,0,"e"],[2824,0," "],[2825,0,"a"],[2826,0,"t"],[2827,0," "],[2828,0,"t"],[2829,0,"h"],[2830,0,"e"],[2831,0," "],[2832,0,"s"],[2833,0,"a"],[2834,0,"m"],[2835,0,"e"],[2836,0," "],[2837,0,"p"],[2838,0,"o"],[2839,0,"s"],[2840,0,"i"],[2841,0,"t"],[2842,0,"i"],[2843,0,"o"],[2844,0,"n"],[2845,0," "],[2846,0,"o"],[2847,0,"f"],[2848,0," "],[2849,0,"t"],[2850,0,"h"],[2851,0,"e"],[2852,0," "],[2853,0,"l"],[2854,0,"i"],[2855,0,"s"],[2856,0,"t"],[2857,0,"."],[2858,0," "],[2859,0,"T"],[2860,0,"h"],[2861,0,"i"],[2862,0,"s"],[2863,0," "],[2864,0,"p"],[2865,0,"r"],[2866,0,"o"],[2867,0,"p"],[2868,0,"e"],[2869,0,"r"],[2870,0,"t"],[2871,0,"y"],[2872,0," "],[2873,0,"i"],[2874,0,"s"],[2875,0," "],[2876,0,"p"],[2877,0,"r"],[2878,0,"o"],[2879,0,"v"],[2880,0,"e"],[2881,0,"d"],[2882,0," "],[2883,0,"f"],[2884,0,"o"],[2885,0,"r"],[2886,0,"m"],[2887,0,"a"],[2888,0,"l"],[2889,0,"l"],[2890,0,"y"],[2891,0," "],[2892,0,"b"],[2893,0,"e"],[2894,0,"l"],[2895,0,"o"],[2896,0,"w"],[2897,0,"."],[2898,0,"\n"],[2899,0,"\n"],[2900,0,"T"],[2901,0,"h"],[2902,0,"e"],[2903,0," "],[2904,0,"o"],[2905,0,"p"],[2906,0,"e"],[2907,0,"r"],[2908,0,"a"],[2909,0,"t"],[2910,0,"i"],[2911,0,"o"],[2912,0,"n"],[2913,0," "],[2914,0,"\\"],[2914,1],[2914,0,"$"],[2915,0,"\\"],[2916,0,"m"],[2917,0,"a"],[2918,0,"t"],[2919,0,"h"],[2920,0,"s"],[2921,0,"f"],[2922,0,"{"],[2923,0,"d"],[2924,0,"e"],[2925,0,"l"],[2926,0,"e"],[2927,0,"t"],[2928,0,"e"],[2929,0,"}"],[2930,0,"$"],[2931,0," "],[2932,0,"i"],[2933,0,"s"],[2934,0," "],[2935,0,"a"],[2936,0,"n"],[2937,0," "],[2938,0,"i"],[2939,0,"n"],[2940,0,"s"],[2941,0,"t"],[2942,0,"r"],[2943,0,"u"],[2944,0,"c"],[2945,0,"t"],[2946,0,"i"],[2947,0,"o"],[2948,0,"n"],[2949,0," "],[2950,0,"t"],[2951,0,"o"],[2952,0," "],[2953,0,"d"],[2954,0,"e"],[2955,0,"l"],[2956,0,"e"],[2957,0,"t"],[2958,0,"e"],[2959,0," "],[2930,0,"("],[2931,0,"\\"],[2932,0,"m"],[2933,0,"a"],[2934,0,"t"],[2935,0,"h"],[2936,0,"i"],[2937,0,"t"],[2938,0,"{"],[2939,0,"i"],[2940,0,"d"],[2941,0,"}"],[2942,0,")"],[2973,0,"t"],[2974,0,"h"],[2975,0,"e"],[2976,0," "],[2977,0,"e"],[2978,0,"l"],[2979,0,"e"],[2980,0,"m"],[2981,0,"e"],[2982,0,"n"],[2983,0,"t"],[2984,0," "],[2985,0,"w"],[2986,0,"i"],[2987,0,"t"],[2988,0,"h"],[2989,0," "],[2990,0,"I"],[2991,0,"D"],[2992,0," "],[2993,0,"$"],[2994,0,"\\"],[2995,0,"m"],[2996,0,"a"],[2997,0,"t"],[2998,0,"h"],[2999,0,"i"],[3000,0,"t"],[3001,0,"{"],[3002,0,"i"],[3003,0,"d"],[3004,0,"}"],[3005,0,"$"],[3006,0," "],[3007,0,"f"],[3008,0,"r"],[3009,0,"o"],[3010,0,"m"],[3011,0," "],[3012,0,"t"],[3013,0,"h"],[3014,0,"e"],[3015,0," "],[3016,0,"l"],[3017,0,"i"],[3018,0,"s"],[3019,0,"t"],[3020,0,"."],[3021,0," "],[3022,0,"W"],[3023,0,"h"],[3024,0,"e"],[3025,0,"n"],[3026,0," "],[3027,0,"t"],[3028,0,"h"],[3029,0,"e"],[3030,0," "],[3031,0,"o"],[3032,0,"p"],[3033,0,"e"],[3034,0,"r"],[3035,0,"a"],[3036,0,"t"],[3037,0,"i"],[3038,0,"o"],[3039,0,"n"],[3040,0," "],[3041,0,"i"],[3042,0,"s"],[3043,0," "],[3044,0,"a"],[3045,0,"p"],[3046,0,"p"],[3047,0,"l"],[3048,0,"i"],[3049,0,"e"],[3050,0,"d"],[3051,0," "],[3052,0,"t"],[3027,1],[3026,1],[3025,1],[3024,1],[3023,1],[3022,1],[3022,0,"T"],[3047,1],[3046,1],[3045,1],[3044,1],[3043,1],[3042,1],[3041,1],[3040,1],[3039,1],[3038,1],[3037,1],[3036,1],[3036,0,"h"],[3037,0,"a"],[3038,0,"s"],[3039,0," "],[3040,0,"t"],[3041,0,"h"],[3042,0,"e"],[3043,0," "],[3044,0,"f"],[3045,0,"o"],[3046,0,"l"],[3047,0,"l"],[3048,0,"o"],[3049,0,"w"],[3050,0,"i"],[3051,0,"n"],[3052,0,"g"],[3053,0," "],[3054,0,"s"],[3055,0,"e"],[3056,0,"m"],[3057,0,"a"],[3058,0,"n"],[3059,0,"t"],[3060,0,"i"],[3061,0,"c"],[3062,0,"s"],[3063,0,":"],[3064,0,"\n"],[3065,0,"\\"],[3066,0,"e"],[3067,0,"b"],[3068,0,"e"],[3069,0,"g"],[3069,1],[3068,1],[3067,1],[3066,1],[3066,0,"b"],[3067,0,"e"],[3068,0,"g"],[3069,0,"i"],[3070,0,"n"],[3071,0,"{"],[3072,0,"a"],[3073,0,"l"],[3074,0,"i"],[3075,0,"g"],[3076,0,"n"],[3077,0,"*"],[3078,0,"}"],[3079,0,"\n"],[3080,0,"A"],[3081,0,"'"],[3082,0," "],[3083,0,"&"],[3084,0,"="],[3085,0," "],[3086,0,"\\"],[3087,0,"m"],[3088,0,"a"],[3089,0,"t"],[3090,0,"h"],[3091,0,"r"],[3092,0,"m"],[3093,0,"{"],[3094,0,"a"],[3095,0,"p"],[3096,0,"p"],[3097,0,"l"],[3098,0,"y"],[3099,0,"}"],[3100,0,"("],[3101,0,"\\"],[3102,0,"m"],[3103,0,"a"],[3104,0,"t"],[3105,0,"h"],[3106,0,"s"],[3107,0,"f"],[3108,0,"{"],[3109,0,"d"],[3110,0,"e"],[3111,0,"l"],[3112,0,"e"],[3113,0,"t"],[3114,0,"e"],[3115,0,"("],[3115,1],[3115,0,"}"],[3116,0,"{"],[3117,0,"\\"],[3118,0,"m"],[3119,0,"a"],[3120,0,"t"],[3121,0,"h"],[3122,0,"i"],[3123,0,"t"],[3124,0,"{"],[3125,0,"i"],[3126,0,"d"],[3127,0,"}"],[3116,1],[3116,0,"("],[3128,0,")"],[3129,0,")"],[3130,0," "],[3131,0,"="],[3132,0," "],[3134,0,"\\"],[3135,0,"b"],[3136,0,"e"],[3137,0,"g"],[3138,0,"i"],[3139,0,"n"],[3140,0,"{"],[3141,0,"a"],[3142,0,"l"],[3143,0,"i"],[3144,0,"g"],[3145,0,"n"],[3146,0,"&"],[3146,1],[3146,0,"*"],[3147,0,"}"],[3148,0,"\n"],[3133,0,"A"],[3134,0,"["],[3135,0,"\\"],[3136,0,","],[3137,0,"\\"],[3138,0,"m"],[3139,0,"a"],[3140,0,"t"],[3141,0,"h"],[3142,0,"i"],[3143,0,"t"],[3144,0,"{"],[3145,0,"i"],[3146,0,"d"],[3147,0,"}"],[3148,0," "],[3149,0,"\\"],[3150,0,"m"],[3151,0,"a"],[3152,0,"p"],[3153,0,"s"],[3154,0,"t"],[3155,0,"o"],[3156,0," "],[3157,0,"("],[3158,0,"\\"],[3159,0,"b"],[3160,0,"o"],[3161,0,"t"],[3162,0,","],[3163,0," "],[3164,0,"n"],[3165,0,")"],[3166,0,"\\"],[3167,0,","],[3168,0,"]"],[3169,0," "],[3170,0,"\\"],[3171,0,";"],[3172,0,"\\"],[3173,0,"t"],[3174,0,"e"],[3175,0,"x"],[3176,0,"t"],[3177,0,"{"],[3178,0,"i"],[3179,0,"f"],[3180,0,"}"],[3181,0," "],[3182,0,"A"],[3183,0,"("],[3184,0,"\\"],[3185,0,"m"],[3186,0,"a"],[3187,0,"t"],[3188,0,"h"],[3189,0,"i"],[3190,0,"t"],[3191,0,"{"],[3192,0,"i"],[3193,0,"d"],[3194,0,"}"],[3195,0,")"],[3196,0," "],[3169,1],[3169,0,"\n"],[3197,0,"="],[3198,0," "],[3199,0,"("],[3200,0,"\\"],[3201,0,"p"],[3202,0,"l"],[3203,0,"a"],[3204,0,"c"],[3205,0,"e"],[3206,0,"h"],[3207,0,"o"],[3208,0,"l"],[3209,0,"d"],[3210,0,"e"],[3211,0,"r"],[3212,0,","],[3213,0," "],[3214,0,"n"],[3215,0,")"],[3180,0," "],[3182,0,"\\"],[3183,0,";"],[3171,1],[3171,0,"q"],[3172,0,"u"],[3173,0,"a"],[3174,0,"d"],[3228,1],[3227,1],[3226,1],[3225,1],[3224,1],[3224,0,"e"],[3225,0,"n"],[3226,0,"d"],[2172,1],[2171,1],[3129,0,"\\"],[3130,0,"\\"],[3131,0," "],[3132,0,"&"],[3134,1],[3134,0,"\n"],[777,0,"\n"],[778,0,"\\"],[779,0,"s"],[780,0,"b"],[780,1],[780,0,"u"],[781,0,"b"],[782,0,"s"],[783,0,"e"],[784,0,"c"],[785,0,"t"],[786,0,"i"],[787,0,"o"],[788,0,"n"],[789,0,"{"],[790,0,"O"],[791,0,"r"],[792,0,"d"],[793,0,"e"],[794,0,"r"],[795,0,"e"],[796,0,"d"],[797,0," "],[798,0,"L"],[799,0,"i"],[800,0,"s"],[801,0,"t"],[802,0," "],[803,0,"O"],[804,0,"P"],[805,0,"e"],[806,0,"r"],[807,0,"a"],[807,1],[806,1],[805,1],[804,1],[804,0,"p"],[805,0,"e"],[806,0,"r"],[807,0,"a"],[808,0,"t"],[809,0,"i"],[810,0,"o"],[811,0,"n"],[812,0,"s"],[813,0,"}"],[814,0,"\n"],[776,0,"\n"],[777,0,"\n"],[778,0,"W"],[779,0,"e"],[780,0," "],[781,0,"a"],[782,0,"s"],[783,0,"s"],[784,0,"u"],[785,0,"m"],[786,0,"e"],[787,0," "],[788,0,"t"],[789,0,"h"],[790,0,"a"],[791,0,"t"],[792,0," "],[793,0,"e"],[794,0,"a"],[795,0,"c"],[796,0,"h"],[797,0," "],[798,0,"p"],[799,0,"e"],[800,0,"e"],[801,0,"r"],[802,0," "],[803,0,"h"],[804,0,"a"],[805,0,"s"],[806,0," "],[807,0,"a"],[808,0," "],[809,0,"u"],[810,0,"n"],[811,0,"i"],[812,0,"q"],[813,0,"u"],[814,0,"e"],[815,0," "],[816,0,"i"],[817,0,"d"],[818,0,"e"],[819,0,"n"],[820,0,"t"],[821,0,"i"],[822,0,"f"],[823,0,"i"],[824,0,"e"],[825,0,"r"],[826,0," "],[827,0,"("],[828,0,"f"],[829,0,"o"],[830,0,"r"],[831,0," "],[832,0,"e"],[833,0,"x"],[834,0,"a"],[835,0,"m"],[836,0,"p"],[837,0,"l"],[838,0,"e"],[839,0,","],[840,0," "],[841,0,"t"],[842,0,"h"],[843,0,"e"],[844,0," "],[845,0,"h"],[846,0,"a"],[847,0,"s"],[848,0,"h"],[849,0," "],[850,0,"o"],[851,0,"f"],[852,0," "],[853,0,"i"],[854,0,"t"],[855,0,"s"],[856,0," "],[857,0,"p"],[858,0,"u"],[859,0,"b"],[860,0,"l"],[861,0,"i"],[862,0,"c"],[863,0," "],[864,0,"k"],[865,0,"e"],[866,0,"y"],[867,0,")"],[868,0,"."],[869,0," "],[870,0,"W"],[871,0,"e"],[872,0," "],[873,0,"c"],[874,0,"a"],[875,0,"n"],[876,0," "],[877,0,"t"],[878,0,"h"],[879,0,"e"],[880,0,"n"],[881,0," "],[881,1],[880,1],[879,1],[878,1],[877,1],[876,1],[875,1],[874,1],[873,1],[872,1],[871,1],[870,1],[870,0,"W"],[871,0,"h"],[872,0,"e"],[873,0,"n"],[874,0,"e"],[875,0,"v"],[876,0,"e"],[877,0,"r"],[878,0," "],[879,0,"a"],[880,0,"n"],[881,0," "],[882,0,"e"],[883,0,"d"],[884,0,"i"],[885,0,"t"],[886,0," "],[887,0,"t"],[888,0,"o"],[889,0," "],[890,0,"a"],[891,0," "],[892,0,"d"],[893,0,"o"],[894,0,"c"],[895,0,"u"],[896,0,"m"],[897,0,"e"],[898,0,"n"],[899,0,"t"],[900,0," "],[901,0,"i"],[902,0,"s"],[903,0," "],[904,0,"m"],[905,0,"a"],[906,0,"d"],[907,0,"e"],[908,0," "],[909,0,"a"],[910,0,"t"],[911,0," "],[912,0,"o"],[913,0,"n"],[914,0,"e"],[915,0," "],[916,0,"o"],[917,0,"f"],[918,0," "],[919,0,"t"],[920,0,"h"],[921,0,"e"],[922,0," "],[923,0,"p"],[924,0,"e"],[925,0,"e"],[926,0,"r"],[927,0,"s"],[928,0,","],[929,0," "],[930,0,"w"],[931,0,"e"],[932,0," "],[933,0,"g"],[934,0,"e"],[935,0,"n"],[936,0,"e"],[937,0,"r"],[938,0,"a"],[939,0,"t"],[940,0,"e"],[941,0," "],[942,0,"a"],[943,0," "],[944,0,"u"],[945,0,"n"],[946,0,"i"],[947,0,"q"],[948,0,"u"],[949,0,"e"],[950,0," "],[951,0,"i"],[952,0,"d"],[953,0,"e"],[954,0,"n"],[955,0,"t"],[956,0,"i"],[957,0,"f"],[958,0,"i"],[959,0,"e"],[960,0,"r"],[961,0," "],[962,0,"f"],[963,0,"o"],[964,0,"r"],[965,0," "],[966,0,"t"],[967,0,"h"],[968,0,"a"],[969,0,"t"],[970,0," "],[971,0,"e"],[972,0,"d"],[973,0,"i"],[974,0,"t"],[975,0," "],[976,0,"o"],[977,0,"p"],[978,0,"e"],[979,0,"r"],[980,0,"a"],[981,0,"t"],[982,0,"i"],[983,0,"o"],[984,0,"n"],[985,0," "],[986,0,"u"],[987,0,"s"],[988,0,"i"],[989,0,"n"],[990,0,"g"],[991,0," "],[992,0,"L"],[993,0,"a"],[994,0,"m"],[995,0,"p"],[996,0,"o"],[997,0,"r"],[998,0,"t"],[999,0," "],[1000,0,"t"],[1001,0,"i"],[1002,0,"m"],[1003,0,"e"],[1004,0,"s"],[1005,0,"t"],[1006,0,"a"],[1007,0,"m"],[1008,0,"p"],[1009,0,"s"],[1010,0,"~"],[1011,0,"\\"],[1012,0,"c"],[1013,0,"i"],[1014,0,"t"],[1015,0,"e"],[1016,0,"{"],[1017,0,"L"],[1018,0,"a"],[1019,0,"m"],[1020,0,"p"],[1021,0,"o"],[1022,0,"r"],[1023,0,"t"],[1024,0,":"],[1025,0,"1"],[1026,0,"9"],[1027,0,"7"],[1028,0,"8"],[1029,0,"j"],[1030,0,"q"],[1031,0,"}"],[1032,0,"."],[1033,0," "],[1033,1],[1033,0,"\n"],[1034,0,"\n"],[1035,0,"A"],[1036,0," "],[1037,0,"L"],[1038,0,"a"],[1039,0,"m"],[1040,0,"p"],[1041,0,"o"],[1042,0,"r"],[1043,0,"t"],[1044,0," "],[1045,0,"t"],[1046,0,"i"],[1047,0,"m"],[1048,0,"e"],[1049,0,"s"],[1050,0,"t"],[1051,0,"a"],[1052,0,"m"],[1053,0,"p"],[1054,0," "],[1055,0,"i"],[1056,0,"s"],[1057,0," "],[1058,0,"a"],[1059,0," "],[1060,0,"p"],[1061,0,"a"],[1062,0,"i"],[1063,0,"r"],[1064,0," "],[1065,0,"("],[1065,1],[1065,0,"$"],[1066,0,"("],[1067,0,")"],[1067,1],[1067,0,"c"],[1068,0,","],[1069,0," "],[1070,0,"n"],[1071,0,")"],[1072,0,"$"],[1073,0," "],[1074,0,"w"],[1075,0,"h"],[1076,0,"e"],[1077,0,"r"],[1078,0,"e"],[1079,0," "],[1080,0,"$"],[1081,0,"c"],[1082,0,"$"],[1083,0," "],[1084,0,"i"],[1085,0,"s"],[1086,0," "],[1087,0,"a"],[1088,0," "],[1089,0,"c"],[1090,0,"o"],[1091,0,"u"],[1092,0,"n"],[1093,0,"t"],[1094,0,"e"],[1095,0,"r"],[1096,0," "],[1097,0,"t"],[1098,0,"h"],[1099,0,"a"],[1100,0,"t"],[1101,0," "],[1102,0,"i"],[1103,0,"s"],[1104,0," "],[1105,0,"s"],[1106,0,"t"],[1107,0,"o"],[1108,0,"r"],[1109,0,"e"],[1110,0,"d"],[1111,0," "],[1112,0,"a"],[1113,0,"t"],[1114,0," "],[1115,0,"n"],[1116,0,"o"],[1117,0,"d"],[1118,0,"e"],[1119,0," "],[1079,0," "],[1080,0,"$"],[1081,0,"n"],[1082,0,"$"],[1083,0," "],[1084,0,"i"],[1085,0,"s"],[1086,0," "],[1087,0,"t"],[1088,0,"h"],[1089,0,"e"],[1090,0," "],[1091,0,"u"],[1092,0,"n"],[1093,0,"i"],[1094,0,"q"],[1095,0,"u"],[1096,0,"e"],[1097,0," "],[1098,0,"i"],[1099,0,"d"],[1100,0,"e"],[1101,0,"n"],[1102,0,"t"],[1103,0,"i"],[1104,0,"f"],[1105,0,"i"],[1106,0,"e"],[1107,0,"r"],[1108,0," "],[1109,0,"o"],[1110,0,"f"],[1111,0," "],[1112,0,"t"],[1113,0,"h"],[1114,0,"e"],[1115,0," "],[1116,0,"n"],[1117,0,"o"],[1118,0,"d"],[1119,0,"e"],[1120,0," "],[1121,0,"o"],[1122,0,"n"],[1123,0," "],[1124,0,"w"],[1125,0,"h"],[1126,0,"i"],[1127,0,"c"],[1128,0,"h"],[1129,0," "],[1130,0,"t"],[1131,0,"h"],[1132,0,"e"],[1133,0," "],[1134,0,"e"],[1135,0,"d"],[1136,0,"i"],[1137,0,"t"],[1138,0," "],[1139,0,"i"],[1140,0,"s"],[1141,0," "],[1142,0,"m"],[1143,0,"a"],[1144,0,"d"],[1145,0,"e"],[1146,0,","],[1147,0," "],[1148,0,"a"],[1149,0,"n"],[1150,0,"d"],[1150,1],[1149,1],[1148,1],[1147,1],[1146,1],[1146,0,"."],[1187,1],[1186,1],[1185,1],[1184,1],[1183,1],[1183,0,"e"],[1184,0,"a"],[1185,0,"c"],[1186,0,"h"],[1187,0," "],[1188,0,"n"],[1189,0,"o"],[1190,0,"d"],[1191,0,"e"],[1192,0," "],[1193,0,"a"],[1194,0,"n"],[1195,0,"d"],[1196,0," "],[1197,0,"i"],[1198,0,"n"],[1199,0,"c"],[1200,0,"r"],[1201,0,"e"],[1202,0,"m"],[1203,0,"e"],[1204,0,"n"],[1205,0,"t"],[1206,0,"e"],[1207,0,"d"],[1208,0," "],[1209,0,"f"],[1210,0,"o"],[1211,0,"r"],[1212,0," "],[1213,0,"e"],[1214,0,"v"],[1215,0,"e"],[1216,0,"r"],[1217,0,"y"],[1218,0," "],[1219,0,"o"],[1220,0,"p"],[1221,0,"e"],[1222,0,"r"],[1223,0,"a"],[1224,0,"t"],[1225,0,"i"],[1226,0,"o"],[1227,0,"n"],[1228,0,"."],[1229,0," "],[1230,0,"M"],[1231,0,"o"],[1232,0,"r"],[1233,0,"e"],[1234,0,"o"],[1235,0,"v"],[1236,0,"e"],[1237,0,"r"],[1238,0,","],[1239,0," "],[1240,0,"w"],[1241,0,"h"],[1242,0,"e"],[1243,0,"n"],[1244,0,"e"],[1245,0,"v"],[1246,0,"e"],[1247,0,"r"],[1248,0," "],[1070,1],[1070,0,"p"],[1081,1],[1081,0,"p"],[1119,1],[1118,1],[1117,1],[1116,1],[1116,0,"p"],[1117,0,"e"],[1118,0,"e"],[1119,0,"r"],[1191,1],[1190,1],[1189,1],[1188,1],[1188,0,"p"],[1189,0,"e"],[1190,0,"e"],[1191,0,"r"],[1249,0,"a"],[1250,0," "],[1251,0,"p"],[1252,0,"e"],[1253,0,"e"],[1254,0,"r"],[1255,0," "],[1256,0,"r"],[1257,0,"e"],[1258,0,"c"],[1259,0,"e"],[1260,0,"i"],[1261,0,"v"],[1262,0,"e"],[1263,0,"s"],[1264,0," "],[1265,0,"a"],[1266,0,"n"],[1267,0," "],[1238,1],[1237,1],[1236,1],[1235,1],[1234,1],[1233,1],[1232,1],[1231,1],[1230,1],[1230,0,"T"],[1231,0,"h"],[1232,0,"e"],[1233,0," "],[1234,0,"p"],[1235,0,"a"],[1236,0,"i"],[1237,0,"r"],[1238,0," "],[1239,0,"$"],[1240,0,"("],[1241,0,"c"],[1242,0,","],[1243,0," "],[1244,0,"p"],[1245,0,")"],[1246,0,"$"],[1247,0," "],[1248,0,"i"],[1249,0,"s"],[1250,0," "],[1251,0,"s"],[1252,0,"e"],[1253,0,"n"],[1254,0,"t"],[1255,0," "],[1256,0,"t"],[1257,0,"o"],[1258,0," "],[1259,0,"o"],[1260,0,"t"],[1261,0,"h"],[1262,0,"e"],[1263,0,"r"],[1237,1],[1236,1],[1235,1],[1234,1],[1233,1],[1232,1],[1231,1],[1230,1],[1230,0,"W"],[1231,0,"h"],[1232,0,"e"],[1233,0,"n"],[1234,0,"e"],[1235,0,"v"],[1236,0,"e"],[1237,0,"r"],[1238,0," "],[1239,0,"a"],[1240,0,"n"],[1241,0," "],[1242,0,"o"],[1243,0,"p"],[1244,0,"e"],[1245,0,"r"],[1246,0,"a"],[1247,0,"t"],[1248,0,"i"],[1249,0,"o"],[1250,0,"n"],[1251,0," "],[1252,0,"i"],[1253,0,"s"],[1254,0," "],[1255,0,"s"],[1256,0,"e"],[1257,0,"n"],[1258,0,"t"],[1259,0," "],[1260,0,"t"],[1261,0,"o"],[1262,0," "],[1263,0,"o"],[1264,0,"t"],[1265,0,"h"],[1266,0,"e"],[1267,0,"r"],[1268,0," "],[1269,0,"p"],[1270,0,"e"],[1271,0,"e"],[1272,0,"r"],[1273,0,"s"],[1274,0,","],[1275,0," "],[1276,0,"t"],[1277,0,"h"],[1278,0,"e"],[1279,0," "],[1280,0,"L"],[1281,0,"a"],[1282,0,"m"],[1283,0,"p"],[1284,0,"o"],[1285,0,"r"],[1286,0,"t"],[1287,0," "],[1288,0,"t"],[1289,0,"i"],[1290,0,"m"],[1291,0,"e"],[1292,0,"s"],[1293,0,"t"],[1294,0,"a"],[1295,0,"m"],[1296,0,"p"],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,1],[1310,0,"i"],[1311,0,"n"],[1312,0,"c"],[1313,0,"l"],[1314,0,"u"],[1315,0,"d"],[1316,0,"e"],[1317,0,"d"],[1318,0," "],[1319,0,"i"],[1320,0,"n"],[1321,0," "],[1322,0,"t"],[1323,0,"h"],[1324,0,"e"],[1325,0," "],[1326,0,"m"],[1327,0,"e"],[1328,0,"s"],[1329,0,"s"],[1330,0,"a"],[1331,0,"g"],[1332,0,"e"],[1333,0,"."],[1334,0," "],[1335,0,"I"],[1306,0," "],[1307,0,"f"],[1308,0,"o"],[1309,0,"r"],[1310,0," "],[1311,0,"t"],[1312,0,"h"],[1313,0,"a"],[1314,0,"t"],[1315,0," "],[1316,0,"o"],[1317,0,"p"],[1318,0,"e"],[1319,0,"r"],[1320,0,"a"],[1321,0,"t"],[1322,0,"i"],[1323,0,"o"],[1324,0,"n"],[1354,1],[1354,0,"W"],[1355,0,"h"],[1356,0,"e"],[1357,0,"n"],[1358,0," "],[1358,1],[1357,1],[1356,1],[1355,1],[1354,1],[1354,0,"I"],[1355,0,"f"],[1356,0," "],[1357,0,"a"],[1358,0," "],[1359,0,"p"],[1360,0,"e"],[1361,0,"e"],[1362,0,"r"],[1363,0," "],[1364,0,"r"],[1365,0,"e"],[1366,0,"c"],[1367,0,"e"],[1368,0,"i"],[1369,0,"v"],[1370,0,"e"],[1371,0,"s"],[1372,0," "],[1373,0,"a"],[1374,0,"n"],[1375,0," "],[1376,0,"o"],[1377,0,"p"],[1378,0,"e"],[1379,0,"r"],[1380,0,"a"],[1381,0,"t"],[1382,0,"i"],[1383,0,"o"],[1384,0,"n"],[1385,0," "],[1386,0,"w"],[1387,0,"i"],[1388,0,"t"],[1389,0,"h"],[1390,0," "],[1391,0,"a"],[1392,0," "],[1393,0,"c"],[1394,0,"o"],[1395,0,"u"],[1396,0,"n"],[1397,0,"t"],[1398,0,"e"],[1399,0,"r"],[1400,0," "],[1401,0,"v"],[1402,0,"a"],[1403,0,"l"],[1404,0,"u"],[1405,0,"e"],[1406,0," "],[1407,0,"$"],[1408,0,"c"],[1409,0,"$"],[1410,0," "],[1411,0,"t"],[1412,0,"h"],[1413,0,"a"],[1414,0,"t"],[1415,0," "],[1416,0,"i"],[1417,0,"s"],[1418,0," "],[1419,0,"g"],[1420,0,"r"],[1421,0,"e"],[1422,0,"a"],[1423,0,"t"],[1424,0," "],[1424,1],[1424,0,"e"],[1425,0,"r"],[1426,0," "],[1427,0,"t"],[1428,0,"h"],[1429,0,"a"],[1430,0,"n"],[1431,0," "],[1432,0,"t"],[1433,0,"h"],[1434,0,"e"],[1435,0," "],[1436,0,"l"],[1437,0,"o"],[1438,0,"c"],[1439,0,"a"],[1440,0,"l"],[1441,0,"l"],[1442,0,"y"],[1443,0," "],[1444,0,"s"],[1445,0,"t"],[1446,0,"o"],[1447,0,"r"],[1448,0,"e"],[1449,0,"d"],[1450,0," "],[1451,0,"c"],[1452,0,"o"],[1453,0,"u"],[1454,0,"n"],[1455,0,"t"],[1456,0,"e"],[1457,0,"r"],[1458,0," "],[1459,0,"v"],[1460,0,"a"],[1461,0,"l"],[1462,0,"u"],[1463,0,"e"],[1464,0,","],[1465,0," "],[1466,0,"t"],[1467,0,"h"],[1468,0,"e"],[1469,0," "],[1470,0,"l"],[1471,0,"o"],[1472,0,"c"],[1473,0,"a"],[1474,0,"l"],[1475,0," "],[1476,0,"c"],[1477,0,"o"],[1478,0,"u"],[1479,0,"n"],[1480,0,"t"],[1481,0,"e"],[1482,0,"r"],[1483,0," "],[1484,0,"i"],[1485,0,"s"],[1486,0," "],[1487,0,"i"],[1488,0,"n"],[1489,0,"c"],[1490,0,"r"],[1491,0,"e"],[1492,0,"a"],[1493,0,"s"],[1494,0,"e"],[1495,0,"d"],[1496,0," "],[1497,0,"t"],[1498,0,"o"],[1499,0," "],[1500,0,"t"],[1501,0,"h"],[1502,0,"e"],[1503,0," "],[1504,0,"v"],[1505,0,"a"],[1506,0,"l"],[1507,0,"u"],[1508,0,"e"],[1509,0," "],[1510,0,"o"],[1511,0,"f"],[1512,0," "],[1513,0,"t"],[1514,0,"h"],[1515,0,"e"],[1516,0," "],[1517,0,"i"],[1518,0,"n"],[1519,0,"c"],[1520,0,"o"],[1521,0,"m"],[1522,0,"i"],[1523,0,"n"],[1524,0,"g"],[1525,0," "],[1526,0,"c"],[1527,0,"o"],[1528,0,"u"],[1529,0,"n"],[1530,0,"t"],[1531,0,"e"],[1532,0,"r"],[1533,0,"."],[1353,1],[1353,0,"\n"],[1354,0,"\n"],[1535,0," "],[1536,0,"T"],[1537,0,"h"],[1538,0,"i"],[1539,0,"s"],[1540,0," "],[1541,0,"e"],[1542,0,"n"],[1543,0,"s"],[1544,0,"u"],[1545,0,"r"],[1546,0,"e"],[1547,0,"s"],[1548,0," "],[1549,0,"t"],[1550,0,"h"],[1551,0,"a"],[1552,0,"t"],[1553,0," "],[1554,0,"i"],[1555,0,"f"],[1556,0," "],[1557,0,"o"],[1558,0,"p"],[1559,0,"e"],[1560,0,"r"],[1561,0,"a"],[1562,0,"t"],[1563,0,"i"],[1564,0,"o"],[1565,0,"n"],[1566,0," "],[1567,0,"$"],[1568,0,"o"],[1569,0,"_"],[1570,0,"1"],[1571,0,"$"],[1572,0," "],[1573,0,"h"],[1574,0,"a"],[1575,0,"p"],[1576,0,"p"],[1577,0,"e"],[1578,0,"n"],[1579,0,"e"],[1580,0,"d"],[1581,0," "],[1582,0,"b"],[1583,0,"e"],[1584,0,"f"],[1585,0,"o"],[1586,0,"r"],[1587,0,"e"],[1588,0," "],[1589,0,"$"],[1590,0,"o"],[1591,0,"_"],[1592,0,"2"],[1593,0,"$"],[1594,0," "],[1595,0,"("],[1596,0,"t"],[1597,0,"h"],[1598,0,"a"],[1599,0,"t"],[1600,0," "],[1601,0,"i"],[1602,0,"s"],[1603,0,","],[1604,0," "],[1605,0,"t"],[1606,0,"h"],[1607,0,"e"],[1608,0," "],[1609,0,"p"],[1610,0,"e"],[1611,0,"e"],[1612,0,"r"],[1613,0," "],[1614,0,"t"],[1615,0,"h"],[1616,0,"a"],[1617,0,"t"],[1618,0," "],[1619,0,"g"],[1620,0,"e"],[1621,0,"n"],[1622,0,"e"],[1623,0,"r"],[1624,0,"a"],[1625,0,"t"],[1626,0,"e"],[1627,0,"d"],[1628,0," "],[1629,0,"$"],[1630,0,"o"],[1631,0,"_"],[1632,0,"2"],[1633,0,"$"],[1634,0," "],[1635,0,"k"],[1636,0,"n"],[1637,0,"e"],[1638,0,"w"],[1639,0," "],[1640,0,"a"],[1641,0,"b"],[1642,0,"o"],[1643,0,"u"],[1644,0,"t"],[1645,0," "],[1646,0,"t"],[1647,0,"h"],[1648,0,"e"],[1649,0," "],[1649,1],[1648,1],[1647,1],[1646,1],[1645,1],[1644,1],[1643,1],[1642,1],[1641,1],[1640,1],[1639,1],[1638,1],[1637,1],[1636,1],[1635,1],[1635,0,"h"],[1636,0,"a"],[1637,0,"d"],[1638,0," "],[1639,0,"r"],[1640,0,"e"],[1641,0,"c"],[1642,0,"e"],[1643,0,"i"],[1644,0,"v"],[1645,0,"e"],[1646,0,"d"],[1647,0," "],[1648,0,"a"],[1649,0,"n"],[1650,0,"d"],[1651,0," "],[1652,0,"p"],[1653,0,"r"],[1654,0,"o"],[1655,0,"c"],[1656,0,"e"],[1657,0,"s"],[1658,0,"s"],[1659,0,"e"],[1660,0,"d"],[1661,0," "],[1662,0,"$"],[1663,0,"o"],[1664,0,"_"],[1665,0,"1"],[1666,0,"$"],[1667,0," "],[1668,0,"b"],[1669,0,"e"],[1670,0,"f"],[1671,0,"o"],[1672,0,"r"],[1673,0,"e"],[1674,0," "],[1675,0,"$"],[1676,0,"o"],[1677,0,"_"],[1678,0,"2"],[1679,0,"$"],[1680,0," "],[1681,0,"w"],[1682,0,"a"],[1683,0,"s"],[1684,0," "],[1685,0,"g"],[1686,0,"e"],[1687,0,"n"],[1688,0,"e"],[1689,0,"r"],[1690,0,"a"],[1691,0,"t"],[1692,0,"e"],[1693,0,"d"],[1694,0,")"],[1695,0,","],[1696,0," "],[1697,0,"t"],[1698,0,"h"],[1699,0,"e"],[1700,0,"n"],[1701,0," "],[1702,0,"$"],[1703,0,"o"],[1704,0,"_"],[1705,0,"2"],[1706,0,"$"],[1707,0," "],[1708,0,"m"],[1709,0,"u"],[1710,0,"s"],[1711,0,"t"],[1712,0," "],[1713,0,"h"],[1714,0,"a"],[1715,0,"v"],[1716,0,"e"],[1717,0," "],[1718,0,"a"],[1719,0," "],[1720,0,"g"],[1721,0,"r"],[1722,0,"e"],[1723,0,"a"],[1724,0,"t"],[1725,0,"e"],[1726,0,"r"],[1727,0," "],[1728,0,"c"],[1729,0,"o"],[1730,0,"u"],[1731,0,"n"],[1732,0,"t"],[1733,0,"e"],[1734,0,"r"],[1735,0," "],[1736,0,"v"],[1737,0,"a"],[1738,0,"l"],[1739,0,"u"],[1740,0,"e"],[1741,0," "],[1742,0,"t"],[1743,0,"h"],[1744,0,"a"],[1745,0,"n"],[1746,0," "],[1747,0,"$"],[1748,0,"o"],[1749,0,"_"],[1750,0,"1"],[1751,0,"$"],[1752,0,"."],[1753,0," "],[1754,0,"O"],[1755,0,"n"],[1756,0,"l"],[1757,0,"y"],[1758,0," "],[1759,0,"c"],[1760,0,"o"],[1761,0,"n"],[1762,0,"c"],[1763,0,"u"],[1764,0,"r"],[1765,0,"r"],[1766,0,"e"],[1767,0,"n"],[1768,0,"t"],[1769,0," "],[1770,0,"o"],[1771,0,"p"],[1772,0,"e"],[1773,0,"r"],[1774,0,"a"],[1775,0,"t"],[1776,0,"i"],[1777,0,"o"],[1778,0,"n"],[1779,0,"s"],[1780,0," "],[1781,0,"c"],[1782,0,"a"],[1783,0,"n"],[1784,0," "],[1785,0,"h"],[1786,0,"a"],[1787,0,"v"],[1788,0,"e"],[1789,0," "],[1790,0,"e"],[1791,0,"q"],[1792,0,"u"],[1793,0,"a"],[1794,0,"l"],[1795,0," "],[1796,0,"c"],[1797,0,"o"],[1798,0,"u"],[1799,0,"n"],[1800,0,"t"],[1801,0,"e"],[1802,0,"r"],[1803,0," "],[1804,0,"v"],[1805,0,"a"],[1806,0,"l"],[1807,0,"u"],[1808,0,"e"],[1809,0,"s"],[1810,0,"."],[1811,0,"\n"],[1812,0,"\n"],[1813,0,"W"],[1814,0,"e"],[1815,0," "],[1816,0,"c"],[1817,0,"a"],[1818,0,"n"],[1819,0," "],[1820,0,"t"],[1821,0,"h"],[1822,0,"u"],[1823,0,"s"],[1824,0," "],[1825,0,"d"],[1826,0,"e"],[1827,0,"f"],[1828,0,"i"],[1829,0,"n"],[1830,0,"e"],[1831,0," "],[1832,0,"a"],[1833,0," "],[1834,0,"t"],[1835,0,"o"],[1836,0,"t"],[1837,0,"a"],[1838,0,"l"],[1839,0," "],[1840,0,"o"],[1841,0,"r"],[1842,0,"d"],[1843,0,"e"],[1844,0,"r"],[1845,0,"i"],[1846,0,"n"],[1847,0,"g"],[1848,0," "],[1849,0,"o"],[1850,0,"n"],[1851,0," "],[1852,0,"o"],[1853,0,"p"],[1854,0,"e"],[1855,0,"r"],[1856,0,"a"],[1857,0,"t"],[1858,0,"i"],[1859,0,"o"],[1860,0,"n"],[1861,0,"s"],[1862,0,"."],[1863,0," "],[1850,1],[1849,1],[1861,1],[1860,1],[1859,1],[1858,1],[1857,1],[1856,1],[1855,1],[1854,1],[1853,1],[1852,1],[1851,1],[1850,1],[1849,1],[1849,0,"f"],[1850,0,"o"],[1851,0,"r"],[1852,0," "],[1853,0,"L"],[1854,0,"a"],[1855,0,"m"],[1856,0,"p"],[1857,0,"o"],[1858,0,"r"],[1859,0,"t"],[1860,0," "],[1861,0,"t"],[1862,0,"i"],[1863,0,"m"],[1864,0,"e"],[1865,0,"s"],[1866,0,"t"],[1867,0,"a"],[1868,0,"m"],[1869,0,"p"],[1870,0,"s"],[1871,0,":"],[1872,0,"\n"],[1873,0,"$"],[1874,0,"$"],[1875,0," "],[1875,1],[1875,0,"("],[1876,0,"c"],[1877,0,"_"],[1878,0,"1"],[1879,0,","],[1880,0," "],[1881,0,"p"],[1882,0,"_"],[1883,0,"1"],[1884,0,")"],[1885,0," "],[1886,0,"<"],[1887,0," "],[1888,0,"("],[1889,0,"c"],[1890,0,"_"],[1891,0,"2"],[1892,0,","],[1893,0," "],[1894,0,"p"],[1895,0,"_"],[1896,0,"2"],[1897,0,")"],[1898,0," "],[1899,0,"\\"],[1900,0,"q"],[1901,0,"u"],[1902,0,"a"],[1903,0,"d"],[1904,0,"{"],[1904,1],[1904,0,"\\"],[1905,0,"t"],[1906,0,"e"],[1907,0,"x"],[1908,0,"t"],[1909,0,"{"],[1910,0,"i"],[1911,0,"f"],[1912,0,"f"],[1913,0,"}"],[1914,0,"\\"],[1915,0,"q"],[1916,0,"u"],[1917,0,"a"],[1918,0,"d"],[1919,0," "],[1920,0,"("],[1921,0,"c"],[1922,0,"_"],[1923,0,"1"],[1924,0," "],[1925,0,"<"],[1926,0," "],[1927,0,"c"],[1928,0,"_"],[1929,0,"2"],[1930,0,")"],[1931,0," "],[1932,0,"\\"],[1933,0,"v"],[1934,0,"e"],[1935,0,"e"],[1936,0," "],[1937,0,"("],[1938,0,"c"],[1939,0,"_"],[1940,0,"1"],[1941,0," "],[1942,0,"="],[1943,0," "],[1944,0,"c"],[1945,0,"_"],[1946,0,"2"],[1947,0," "],[1948,0,"\\"],[1949,0,"w"],[1950,0,"e"],[1951,0,"d"],[1952,0,"g"],[1953,0,"e"],[1954,0," "],[1955,0,"p"],[1956,0,"_"],[1957,0,"1"],[1958,0," "],[1959,0,"<"],[1960,0," "],[1961,0,"p"],[1962,0,"_"],[1963,0,"2"],[1964,0,")"],[1965,0,"."],[1966,0,"$"],[1967,0,"$"],[1968,0,"\n"],[1969,0,"T"],[1970,0,"h"],[1971,0,"i"],[1972,0,"s"],[1973,0," "],[1974,0,"o"],[1975,0,"r"],[1976,0,"d"],[1977,0,"e"],[1978,0,"r"],[1979,0,"i"],[1980,0,"n"],[1981,0,"g"],[1982,0," "],[1983,0,"i"],[1984,0,"s"],[1985,0," "],[1986,0,"c"],[1987,0,"o"],[1988,0,"n"],[1989,0,"s"],[1990,0,"i"],[1991,0,"s"],[1992,0,"t"],[1993,0,"e"],[1994,0,"n"],[1995,0,"t"],[1996,0," "],[1997,0,"w"],[1998,0,"i"],[1999,0,"t"],[2000,0,"h"],[2001,0," "],[2002,0,"c"],[2003,0,"a"],[2004,0,"u"],[2005,0,"s"],[2006,0,"a"],[2007,0,"l"],[2008,0,"i"],[2009,0,"t"],[2010,0,"y"],[2011,0,","],[2012,0," "],[2013,0,"t"],[2014,0,"h"],[2015,0,"a"],[2016,0,"t"],[2017,0," "],[2018,0,"i"],[2019,0,"s"],[2020,0,","],[2021,0," "],[2022,0,"i"],[2023,0,"f"],[2024,0," "],[2025,0,"o"],[2026,0,"p"],[2027,0,"e"],[2028,0,"r"],[2029,0,"a"],[2030,0,"t"],[2031,0,"i"],[2032,0,"o"],[2033,0,"n"],[2034,0," "],[2035,0,"$"],[2036,0,"o"],[2037,0,"_"],[2038,0,"1"],[2039,0,"$"],[2040,0," "],[2041,0,"h"],[2042,0,"a"],[2043,0,"p"],[2044,0,"p"],[2045,0,"e"],[2046,0,"n"],[2047,0,"e"],[2048,0,"d"],[2049,0," "],[2050,0,"b"],[2051,0,"e"],[2052,0,"f"],[2053,0,"o"],[2054,0,"r"],[2055,0,"e"],[2056,0," "],[2057,0,"$"],[2058,0,"o"],[2059,0,"_"],[2060,0,"2"],[2061,0,"$"],[2062,0,","],[2063,0," "],[2064,0,"t"],[2065,0,"h"],[2066,0,"e"],[2067,0,"n"],[2068,0," "],[2069,0,"$"],[2070,0,"o"],[2071,0,"_"],[2072,0,"1"],[2073,0,"$"],[2074,0," "],[2075,0,"i"],[2076,0,"s"],[2077,0," "],[2078,0,"g"],[2079,0,"u"],[2080,0,"a"],[2081,0,"r"],[2082,0,"a"],[2083,0,"n"],[2084,0,"t"],[2085,0,"e"],[2086,0,"e"],[2086,1],[2085,1],[2084,1],[2083,1],[2082,1],[2081,1],[2080,1],[2079,1],[2078,1],[2077,1],[2076,1],[2075,1],[2075,0,"h"],[2076,0,"a"],[2077,0,"s"],[2078,0," "],[2079,0,"a"],[2080,0," "],[2081,0,"l"],[2082,0,"o"],[2083,0,"w"],[2084,0,"e"],[2084,1],[2083,1],[2082,1],[2081,1],[2080,1],[2079,1],[2078,1],[2077,1],[2076,1],[2075,1],[2074,1],[2073,1],[2072,1],[2071,1],[2070,1],[2069,1],[2068,1],[2067,1],[2066,1],[2065,1],[2064,1],[2063,1],[2062,1],[2061,1],[2060,1],[2059,1],[2058,1],[2057,1],[2056,1],[2055,1],[2054,1],[2053,1],[2052,1],[2051,1],[2050,1],[2049,1],[2048,1],[2047,1],[2046,1],[2045,1],[2044,1],[2043,1],[2042,1],[2041,1],[2040,1],[2039,1],[2038,1],[2037,1],[2036,1],[2035,1],[2034,1],[2033,1],[2032,1],[2031,1],[2030,1],[2029,1],[2028,1],[2027,1],[2026,1],[2025,1],[2024,1],[2023,1],[2022,1],[2021,1],[2020,1],[2019,1],[2018,1],[2017,1],[2016,1],[2015,1],[2014,1],[2013,1],[2012,1],[2011,1],[2010,1],[2009,1],[2008,1],[2007,1],[2006,1],[2005,1],[2004,1],[2003,1],[2002,1],[2001,1],[2000,1],[1999,1],[1998,1],[1997,1],[1996,1],[1995,1],[1994,1],[1993,1],[1992,1],[1991,1],[1990,1],[1989,1],[1988,1],[1987,1],[1986,1],[1985,1],[1984,1],[1983,1],[1982,1],[1981,1],[1980,1],[1979,1],[1978,1],[1977,1],[1976,1],[1975,1],[1974,1],[1973,1],[1972,1],[1971,1],[1970,1],[1969,1],[1969,0,"I"],[1970,0,"f"],[1971,0," "],[1972,0,"o"],[1973,0,"n"],[1974,0,"e"],[1975,0," "],[1976,0,"o"],[1977,0,"p"],[1978,0,"e"],[1979,0,"r"],[1980,0,"a"],[1981,0,"t"],[1982,0,"i"],[1983,0,"o"],[1984,0,"n"],[1985,0," "],[1986,0,"h"],[1987,0,"a"],[1988,0,"p"],[1989,0,"p"],[1990,0,"e"],[1991,0,"n"],[1992,0,"e"],[1993,0,"d"],[1994,0," "],[1995,0,"b"],[1996,0,"e"],[1997,0,"f"],[1998,0,"o"],[1999,0,"r"],[2000,0,"e"],[2001,0," "],[2002,0,"a"],[2003,0,"n"],[2004,0,"o"],[2005,0,"t"],[2006,0,"h"],[2007,0,"e"],[2008,0,"r"],[2009,0,","],[2010,0," "],[2011,0,"t"],[2012,0,"h"],[2013,0,"i"],[2014,0,"s"],[2015,0," "],[2016,0,"o"],[2017,0,"r"],[2018,0,"d"],[2019,0,"e"],[2020,0,"r"],[2021,0,"i"],[2022,0,"n"],[2023,0,"g"],[2024,0," "],[2025,0,"i"],[2026,0,"s"],[2027,0," "],[2028,0,"c"],[2029,0,"o"],[2030,0,"n"],[2031,0,"s"],[2032,0,"i"],[2033,0,"s"],[2034,0,"t"],[2035,0,"e"],[2036,0,"n"],[2037,0,"t"],[2038,0," "],[2039,0,"w"],[2040,0,"i"],[2041,0,"t"],[2042,0,"h"],[2043,0," "],[2044,0,"c"],[2045,0,"a"],[2046,0,"u"],[2047,0,"s"],[2048,0,"a"],[2049,0,"l"],[2050,0,"i"],[2051,0,"t"],[2052,0,"y"],[2053,0," "],[2054,0,"("],[2055,0,"t"],[2056,0,"h"],[2057,0,"e"],[2058,0," "],[2059,0,"e"],[2060,0,"a"],[2061,0,"r"],[2062,0,"l"],[2063,0,"i"],[2064,0,"e"],[2065,0,"r"],[2066,0," "],[2067,0,"o"],[2068,0,"p"],[2069,0,"e"],[2070,0,"r"],[2071,0,"a"],[2072,0,"t"],[2073,0,"i"],[2074,0,"o"],[2075,0,"n"],[2076,0," "],[2077,0,"h"],[2078,0,"a"],[2079,0,"s"],[2080,0," "],[2081,0,"a"],[2082,0," "],[2083,0,"l"],[2084,0,"o"],[2085,0,"w"],[2086,0,"e"],[2087,0,"r"],[2088,0," "],[2089,0,"t"],[2090,0,"i"],[2091,0,"m"],[2092,0,"e"],[2093,0,"s"],[2094,0,"e"],[2095,0,"t"],[2096,0,"a"],[2097,0,"m"],[2098,0,"p"],[2099,0,")"],[2100,0,"."],[2101,0," "],[2102,0,"I"],[2103,0,"f"],[2104,0," "],[2105,0,"t"],[2106,0,"w"],[2107,0,"o"],[2108,0," "],[2109,0,"o"],[2110,0,"p"],[2111,0,"e"],[2112,0,"r"],[2113,0,"a"],[2114,0,"t"],[2115,0,"i"],[2116,0,"o"],[2117,0,"n"],[2118,0,"s"],[2119,0," "],[2120,0,"a"],[2121,0,"r"],[2122,0,"e"],[2123,0," "],[2124,0,"c"],[2125,0,"o"],[2126,0,"n"],[2127,0,"c"],[2128,0,"u"],[2129,0,"r"],[2130,0,"r"],[2131,0,"e"],[2132,0,"n"],[2133,0,"t"],[2134,0,","],[2135,0," "],[2136,0,"t"],[2137,0,"h"],[2138,0,"i"],[2139,0,"s"],[2140,0," "],[2141,0,"o"],[2142,0,"r"],[2143,0,"d"],[2144,0,"e"],[2145,0,"r"],[2146,0,"i"],[2147,0,"n"],[2148,0,"g"],[2149,0," "],[2150,0,"i"],[2151,0,"s"],[2152,0," "],[2153,0,"a"],[2154,0,"r"],[2155,0,"b"],[2156,0,"i"],[2157,0,"t"],[2158,0,"r"],[2159,0,"a"],[2160,0,"r"],[2161,0,"y"],[2162,0," "],[2163,0,"b"],[2164,0,"u"],[2165,0,"t"],[2166,0," "],[2167,0,"d"],[2168,0,"e"],[2169,0,"t"],[2170,0,"e"],[2171,0,"r"],[2172,0,"m"],[2173,0,"i"],[2174,0,"n"],[2175,0,"i"],[2176,0,"s"],[2177,0,"t"],[2178,0,"i"],[2179,0,"c"],[2180,0,"."],[1903,1],[1902,1],[1901,1],[1900,1],[1900,0,";"],[1915,1],[1914,1],[1913,1],[1912,1],[1912,0,";"],[1913,0,"\\"],[1914,0,";"],[1912,1],[1911,1],[1910,0," "],[1907,0," "],[2135,1],[2134,1],[2134,0,"e"],[2143,1],[2142,1],[2141,1],[2141,0," "],[2142,0,"$"],[2143,0,"<"],[2144,0,"$"],[1848,0," "],[1849,0,"$"],[1850,0,"<"],[1851,0,"$"],[2139,0,"i"],[2140,0,"r"],[2147,0," "],[2148,0,"a"],[2149,0,"c"],[2150,0,"c"],[2151,0,"o"],[2152,0,"r"],[2153,0,"d"],[2154,0,"i"],[2155,0,"n"],[2156,0,"g"],[2157,0," "],[2158,0,"t"],[2159,0,"o"],[2160,0,"1"],[2160,1],[2643,0," "],[2644,0,"T"],[2645,0,"h"],[2646,0,"e"],[2647,0," "],[2648,0,"p"],[2649,0,"a"],[2650,0,"r"],[2651,0,"a"],[2652,0,"m"],[2653,0,"e"],[2654,0,"t"],[2655,0,"e"],[2656,0,"r"],[2657,0," "],[2658,0,"$"],[2659,0,"\\"],[2660,0,"m"],[2661,0,"a"],[2662,0,"t"],[2663,0,"h"],[2664,0,"i"],[2665,0,"d"],[2665,1],[2665,0,"t"],[2666,0,"{"],[2667,0,"i"],[2668,0,"d"],[2669,0,"}"],[2670,0,"$"],[2671,0," "],[2672,0,"i"],[2673,0,"s"],[2674,0," "],[2675,0,"e"],[2676,0,"i"],[2677,0,"t"],[2678,0,"h"],[2679,0,"e"],[2680,0,"r"],[2681,0," "],[2682,0,"a"],[2683,0," "],[2684,0,"L"],[2685,0,"a"],[2686,0,"m"],[2687,0,"p"],[2688,0,"o"],[2689,0,"r"],[2690,0,"t"],[2691,0," "],[2692,0,"t"],[2693,0,"i"],[2694,0,"m"],[2695,0,"e"],[2696,0,"s"],[2697,0,"t"],[2698,0,"a"],[2699,0,"m"],[2700,0,"p"],[2701,0," "],[2702,0,"o"],[2703,0,"r"],[2704,0," "],[2705,0,"t"],[2706,0,"h"],[2707,0,"e"],[2708,0," "],[2709,0,"s"],[2710,0,"p"],[2711,0,"e"],[2712,0,"c"],[2713,0,"i"],[2714,0,"a"],[2715,0,"l"],[2716,0," "],[2717,0,"s"],[2718,0,"y"],[2719,0,"m"],[2720,0,"b"],[2721,0,"o"],[2722,0,"l"],[2723,0," "],[2724,0,"$"],[2725,0,"\\"],[2726,0,"m"],[2727,0,"a"],[2728,0,"t"],[2729,0,"h"],[2730,0,"s"],[2731,0,"f"],[2732,0,"{"],[2733,0,"h"],[2734,0,"e"],[2735,0,"a"],[2736,0,"d"],[2737,0,"}"],[2738,0,"$"],[2739,0,","],[2740,0," "],[2741,0,"i"],[2742,0,"n"],[2743,0,"d"],[2744,0,"i"],[2745,0,"c"],[2746,0,"a"],[2747,0,"t"],[2748,0,"i"],[2749,0,"n"],[2750,0,"g"],[2751,0," "],[2752,0,"t"],[2753,0,"h"],[2754,0,"e"],[2755,0," "],[2756,0,"h"],[2757,0,"e"],[2758,0,"a"],[2759,0,"d"],[2760,0," "],[2761,0,"o"],[2762,0,"f"],[2763,0," "],[2764,0,"t"],[2765,0,"h"],[2766,0,"e"],[2767,0," "],[2768,0,"l"],[2769,0,"i"],[2770,0,"s"],[2771,0,"t"],[2772,0,"."],[2773,0," "],[2774,0,"%"],[2774,1],[2774,0,"$"],[2775,0,"\\"],[2776,0,"m"],[2777,0,"a"],[2778,0,"t"],[2779,0,"h"],[2780,0,"i"],[2781,0,"t"],[2782,0,"{"],[2783,0,"n"],[2784,0,"e"],[2785,0,"x"],[2786,0,"t"],[2787,0,"}"],[2788,0,"$"],[2789,0," "],[2790,0,"i"],[2791,0,"s"],[2792,0," "],[2793,0,"e"],[2794,0,"i"],[2795,0,"t"],[2796,0,"h"],[2797,0,"e"],[2798,0,"r"],[2799,0," "],[2800,0,"a"],[2801,0," "],[2802,0,"L"],[2803,0,"a"],[2804,0,"m"],[2805,0,"p"],[2806,0,"o"],[2807,0,"r"],[2808,0,"t"],[2809,0," "],[2810,0,"t"],[2811,0,"i"],[2812,0,"m"],[2813,0,"e"],[2814,0,"s"],[2815,0,"t"],[2816,0,"a"],[2817,0,"m"],[2818,0,"p"],[2819,0," "],[2820,0,"o"],[2821,0,"r"],[2822,0," "],[2823,0,"t"],[2824,0,"h"],[2825,0,"e"],[2826,0," "],[2827,0,"s"],[2828,0,"y"],[2829,0,"m"],[2830,0,"b"],[2831,0,"o"],[2832,0,"l"],[2833,0," "],[2834,0,"$"],[2835,0,"\\"],[2836,0,"m"],[2837,0,"a"],[2838,0,"t"],[2839,0,"h"],[2840,0,"s"],[2841,0,"f"],[2842,0,"{"],[2843,0,"t"],[2844,0,"a"],[2845,0,"i"],[2846,0,"l"],[2847,0,"}"],[2848,0,"$"],[2849,0,","],[2850,0," "],[2851,0,"d"],[2852,0,"e"],[2853,0,"n"],[2854,0,"o"],[2855,0,"t"],[2856,0,"i"],[2857,0,"n"],[2858,0,"g"],[2859,0," "],[2860,0,"t"],[2861,0,"h"],[2862,0,"e"],[2863,0," "],[2864,0,"e"],[2865,0,"n"],[2866,0,"d"],[2867,0," "],[2868,0,"o"],[2869,0,"f"],[2870,0," "],[2871,0,"t"],[2872,0,"h"],[2873,0,"e"],[2874,0," "],[2875,0,"l"],[2876,0,"i"],[2877,0,"s"],[2878,0,"t"],[2879,0,"."],[2880,0,"\n"],[2881,0,"\n"],[2882,1],[3054,1],[3054,0,"."],[3055,0," "],[3212,1],[3211,1],[3210,1],[3209,1],[3208,1],[3207,1],[3206,1],[3205,1],[3204,1],[3203,1],[3202,1],[3201,1],[3200,1],[3199,1],[3198,1],[3197,1],[3196,1],[3195,1],[3194,1],[3193,1],[3192,1],[3191,1],[3190,1],[3189,1],[3188,1],[3187,1],[3186,1],[3185,1],[3184,1],[3183,1],[3182,1],[3181,1],[3180,1],[3179,1],[3178,1],[3177,1],[3176,1],[3175,1],[3174,1],[3173,1],[3172,1],[3171,1],[3170,1],[3169,1],[3168,1],[3167,1],[3166,1],[3165,1],[3164,1],[3163,1],[3162,1],[3161,1],[3160,1],[3159,1],[3158,1],[3157,1],[3156,1],[3155,1],[3154,1],[3153,1],[3152,1],[3151,1],[3150,1],[3149,1],[3148,1],[3147,1],[3146,1],[3145,1],[3144,1],[3143,1],[3142,1],[3141,1],[3140,1],[3139,1],[3138,1],[3137,1],[3136,1],[3135,1],[3134,1],[3133,1],[3132,1],[3131,1],[3130,1],[3129,1],[3128,1],[3127,1],[3126,1],[3125,1],[3124,1],[3123,1],[3122,1],[3121,1],[3120,1],[3119,1],[3118,1],[3117,1],[3116,1],[3115,1],[3114,1],[3113,1],[3112,1],[3111,1],[3110,1],[3109,1],[3108,1],[3107,1],[3106,1],[3105,1],[3104,1],[3103,1],[3102,1],[3101,1],[3100,1],[3099,1],[3098,1],[3097,1],[3096,1],[3095,1],[3094,1],[3093,1],[3092,1],[3091,1],[3090,1],[3089,1],[3088,1],[3087,1],[3086,1],[3085,1],[3084,1],[3083,1],[3082,1],[3081,1],[3080,1],[3079,1],[3078,1],[3077,1],[3076,1],[3075,1],[3074,1],[3073,1],[3072,1],[3071,1],[3070,1],[3069,1],[3068,1],[3067,1],[3066,1],[3065,1],[3064,1],[3063,1],[3062,1],[3061,1],[3060,1],[3059,1],[3058,1],[2880,0," "],[2881,0,"$"],[2882,0,"\\"],[2883,0,"m"],[2884,0,"a"],[2885,0,"t"],[2886,0,"h"],[2887,0,"i"],[2888,0,"t"],[2889,0,"{"],[2890,0,"v"],[2891,0,"a"],[2892,0,"l"],[2893,0,"u"],[2894,0,"e"],[2895,0,"}"],[2896,0,"$"],[2897,0," "],[2898,0,"i"],[2899,0,"s"],[2900,0," "],[2901,0,"a"],[2902,0,"n"],[2903,0,"y"],[2904,0," "],[2905,0,"v"],[2906,0,"a"],[2907,0,"l"],[2908,0,"u"],[2909,0,"e"],[2910,0," "],[2911,0,"o"],[2912,0,"f"],[2913,0," "],[2914,0,"t"],[2915,0,"h"],[2916,0,"e"],[2917,0," "],[2918,0,"d"],[2919,0,"a"],[2920,0,"t"],[2921,0,"a"],[2922,0,"t"],[2923,0,"y"],[2924,0,"p"],[2925,0,"e"],[2926,0," "],[2927,0,"o"],[2928,0,"f"],[2929,0," "],[2930,0,"l"],[2931,0,"i"],[2932,0,"s"],[2933,0,"t"],[2934,0," "],[2935,0,"e"],[2936,0,"l"],[2937,0,"e"],[2938,0,"m"],[2939,0,"e"],[2940,0,"n"],[2941,0,"t"],[2942,0,"s"],[2943,0,","],[2944,0," "],[2945,0,"o"],[2946,0,"r"],[2947,0," "],[2948,0,"t"],[2949,0,"h"],[2950,0,"e"],[2951,0," "],[2952,0,"s"],[2953,0,"p"],[2954,0,"e"],[2955,0,"c"],[2956,0,"i"],[2957,0,"a"],[2958,0,"l"],[2959,0," "],[2960,0,"v"],[2961,0,"a"],[2962,0,"l"],[2963,0,"u"],[2964,0,"e"],[2965,0," "],[2966,0,"$"],[2967,0,"\\"],[2968,0,"b"],[2969,0,"o"],[2970,0,"t"],[2971,0,"$"],[2972,0,","],[2973,0," "],[2974,0,"i"],[2975,0,"n"],[2976,0,"d"],[2977,0,"i"],[2978,0,"c"],[2979,0,"a"],[2980,0,"t"],[2981,0,"i"],[2982,0,"n"],[2983,0,"g"],[2984,0," "],[2985,0,"t"],[2986,0,"h"],[2987,0,"e"],[2988,0," "],[2989,0,"a"],[2990,0,"b"],[2991,0,"s"],[2992,0,"e"],[2993,0,"n"],[2994,0,"c"],[2995,0,"e"],[2996,0," "],[2997,0,"o"],[2998,0,"f"],[2999,0," "],[3000,0,"a"],[3001,0," "],[3002,0,"v"],[3003,0,"a"],[3004,0,"l"],[3005,0,"u"],[3006,0,"e"],[3007,0,"."],[4203,0,"\n"],[4204,0,"w"],[4205,0,"h"],[4206,0,"e"],[4207,0,"r"],[4208,0,"e"],[4209,0," "],[4210,0,"$"],[4211,0,"<"],[4212,0,"$"],[4213,0," "],[4214,0,"i"],[4215,0,"s"],[4216,0," "],[4217,0,"t"],[4218,0,"h"],[4219,0,"e"],[4220,0," "],[4221,0,"t"],[4222,0,"o"],[4223,0,"t"],[4224,0,"a"],[4225,0,"l"],[4226,0," "],[4227,0,"o"],[4228,0,"r"],[4229,0,"d"],[4230,0,"e"],[4231,0,"r"],[4232,0," "],[4233,0,"o"],[4234,0,"n"],[4235,0," "],[4236,0,"L"],[4237,0,"a"],[4238,0,"m"],[4239,0,"p"],[4240,0,"o"],[4241,0,"r"],[4242,0,"t"],[4243,0," "],[4244,0,"t"],[4245,0,"i"],[4246,0,"m"],[4247,0,"e"],[4248,0,"s"],[4249,0,"t"],[4250,0,"a"],[4251,0,"m"],[4252,0,"p"],[4253,0,"s"],[4254,0,","],[4255,0," "],[4256,0,"w"],[4257,0,"i"],[4258,0,"t"],[4259,0,"h"],[4260,0," "],[4261,0,"t"],[4262,0,"h"],[4263,0,"e"],[4264,0," "],[4265,0,"a"],[4266,0,"d"],[4267,0,"d"],[4268,0,"i"],[4269,0,"t"],[4270,0,"i"],[4271,0,"o"],[4272,0,"n"],[4273,0," "],[4274,0,"t"],[4275,0,"h"],[4276,0,"a"],[4277,0,"t"],[4278,0," "],[4279,0,"$"],[4280,0,"\\"],[4281,0,"m"],[4282,0,"a"],[4283,0,"t"],[4284,0,"h"],[4285,0,"s"],[4286,0,"f"],[4287,0,"{"],[4288,0,"t"],[4289,0,"a"],[4290,0,"i"],[4291,0,"l"],[4292,0,"}"],[4293,0," "],[4294,0,"<"],[4295,0," "],[4296,0,"("],[4297,0,"c"],[4298,0,","],[4299,0," "],[4300,0,"p"],[4301,0,")"],[4302,0," "],[4303,0,"<"],[4304,0," "],[4305,0,"m"],[4306,0,"a"],[4306,1],[4305,1],[4305,0,"\\"],[4306,0,"m"],[4307,0,"a"],[4308,0,"t"],[4309,0,"h"],[4310,0,"s"],[4311,0,"f"],[4312,0,"{"],[4313,0,"h"],[4314,0,"e"],[4315,0,"a"],[4316,0,"d"],[4317,0,"}"],[4318,0,"$"],[4319,0," "],[4320,0,"f"],[4321,0,"o"],[4322,0,"r"],[4323,0," "],[4324,0,"a"],[4325,0,"n"],[4326,0,"y"],[4327,0," "],[4328,0,"L"],[4329,0,"a"],[4330,0,"m"],[4331,0,"p"],[4332,0,"o"],[4333,0,"r"],[4334,0,"t"],[4335,0," "],[4336,0,"t"],[4337,0,"i"],[4338,0,"m"],[4339,0,"e"],[4340,0,"s"],[4341,0,"t"],[4342,0,"a"],[4343,0,"m"],[4344,0,"p"],[4345,0," "],[4346,0,"("],[4346,1],[4346,0,"$"],[4347,0,"("],[4348,0,"c"],[4349,0,","],[4350,0," "],[4351,0,"p"],[4352,0,")"],[4353,0,"$"],[4354,0,"."],[4111,0,"\\"],[4112,0,"q"],[4113,0,"u"],[4114,0,"a"],[4115,0,"d"],[3934,0,"\\"],[3935,0,"q"],[3936,0,"u"],[3937,0,"a"],[3938,0,"d"],[3298,0,"\n"],[3299,0,"\n"],[3300,0,"L"],[3301,0,"i"],[3302,0,"s"],[3303,0,"t"],[3304,0," "],[3305,0,"i"],[3306,0,"t"],[3307,0,"e"],[3308,0,"m"],[3309,0,"s"],[3310,0," "],[3311,0,"a"],[3312,0,"r"],[3313,0,"e"],[3314,0," "],[3315,0,"i"],[3316,0,"n"],[3317,0,"s"],[3318,0,"e"],[3319,0,"r"],[3320,0,"t"],[3321,0,"e"],[3322,0,"d"],[3323,0," "],[3323,1],[3322,1],[3321,1],[3320,1],[3319,1],[3318,1],[3317,1],[3316,1],[3315,1],[3314,1],[3313,1],[3312,1],[3311,1],[3310,1],[3309,1],[3308,1],[3307,1],[3306,1],[3305,1],[3304,1],[3303,1],[3302,1],[3301,1],[3300,1],[3300,0,"E"],[3301,0,"a"],[3302,0,"c"],[3303,0,"h"],[3304,0," "],[3305,0,"l"],[3306,0,"i"],[3307,0,"s"],[3308,0,"t"],[3309,0," "],[3310,0,"i"],[3311,0,"t"],[3312,0,"e"],[3313,0,"m"],[3314,0," "],[3315,0,"i"],[3316,0,"s"],[3317,0," "],[3318,0,"u"],[3319,0,"n"],[3320,0,"i"],[3321,0,"q"],[3322,0,"u"],[3323,0,"e"],[3324,0,"l"],[3325,0,"y"],[3326,0," "],[3327,0,"i"],[3328,0,"d"],[3329,0,"e"],[3330,0,"n"],[3331,0,"t"],[3332,0,"i"],[3333,0,"f"],[3334,0,"i"],[3335,0,"e"],[3336,0,"d"],[3337,0," "],[3338,0,"b"],[3339,0,"y"],[3340,0," "],[3341,0,"t"],[3342,0,"h"],[3343,0,"e"],[3344,0," "],[3345,0,"L"],[3346,0,"a"],[3347,0,"m"],[3348,0,"p"],[3349,0,"o"],[3350,0,"r"],[3351,0,"t"],[3352,0," "],[3353,0,"t"],[3354,0,"i"],[3355,0,"m"],[3356,0,"e"],[3357,0,"s"],[3358,0,"t"],[3359,0,"a"],[3360,0,"m"],[3361,0,"p"],[3362,0," "],[3363,0,"o"],[3364,0,"f"],[3365,0," "],[3366,0,"t"],[3367,0,"h"],[3368,0,"e"],[3369,0," "],[3370,0,"\\"],[3370,1],[3370,0,"$"],[3371,0,"\\"],[3372,0,"m"],[3373,0,"a"],[3374,0,"t"],[3375,0,"h"],[3376,0,"s"],[3377,0,"f"],[3378,0,"{"],[3379,0,"i"],[3380,0,"n"],[3381,0,"s"],[3382,0,"e"],[3383,0,"r"],[3384,0,"t"],[3385,0,"}"],[3386,0," "],[3386,1],[3386,0,"$"],[3387,0," "],[3388,0,"o"],[3389,0,"p"],[3390,0,"e"],[3391,0,"r"],[3392,0,"a"],[3393,0,"t"],[3394,0,"i"],[3395,0,"o"],[3396,0,"n"],[3397,0," "],[3398,0,"t"],[3399,0,"h"],[3400,0,"a"],[3401,0,"t"],[3402,0," "],[3403,0,"i"],[3404,0,"n"],[3405,0,"s"],[3406,0,"e"],[3407,0,"r"],[3408,0,"t"],[3409,0,"e"],[3410,0,"d"],[3411,0," "],[3412,0,"t"],[3413,0,"h"],[3414,0,"e"],[3415,0," "],[3416,0,"i"],[3417,0,"t"],[3418,0,"e"],[3419,0,"m"],[3420,0,"."],[3421,0," "],[3422,0,"T"],[3423,0,"h"],[3313,1],[3312,1],[3311,1],[3310,1],[3310,0,"e"],[3311,0,"l"],[3312,0,"e"],[3313,0,"m"],[3314,0,"e"],[3315,0,"n"],[3316,0,"t"],[3422,1],[3421,1],[3420,1],[3419,1],[3418,1],[3417,1],[3416,1],[3415,1],[3415,0,"i"],[3416,0,"t"],[3413,1],[3412,1],[3411,1],[3410,1],[3409,1],[3408,1],[3407,1],[3406,1],[3406,0,"c"],[3407,0,"r"],[3408,0,"e"],[3409,0,"a"],[3410,0,"t"],[3411,0,"e"],[3412,0,"d"],[3419,1],[3418,1],[3418,0,"W"],[3419,0,"e"],[3420,0," "],[3421,0,"c"],[3422,0,"a"],[3423,0,"l"],[3424,0,"l"],[3425,0," "],[3426,0,"t"],[3427,0,"h"],[3428,0,"e"],[3429,0," "],[3430,0,"L"],[3431,0,"a"],[3432,0,"m"],[3433,0,"p"],[3434,0,"o"],[3435,0,"r"],[3436,0,"t"],[3437,0," "],[3438,0,"t"],[3439,0,"i"],[3440,0,"m"],[3441,0,"e"],[3442,0,"s"],[3443,0,"t"],[3444,0,"a"],[3445,0,"m"],[3446,0,"p"],[3447,0," "],[3447,1],[3446,1],[3445,1],[3444,1],[3443,1],[3442,1],[3441,1],[3440,1],[3439,1],[3438,1],[3437,1],[3436,1],[3435,1],[3434,1],[3433,1],[3432,1],[3431,1],[3430,1],[3429,1],[3428,1],[3427,1],[3426,1],[3425,1],[3424,1],[3423,1],[3422,1],[3421,1],[3420,1],[3419,1],[3418,1],[3417,1],[3417,0," "],[3417,1],[3299,0,"\n"],[3300,0,"L"],[3301,0,"i"],[3302,0,"s"],[3302,1],[3301,1],[3300,1],[3300,0,"E"],[3301,0,"l"],[3302,0,"e"],[3303,0,"m"],[3304,0,"e"],[3305,0,"n"],[3306,0,"t"],[3307,0," "],[3307,1],[3306,1],[3305,1],[3304,1],[3303,1],[3302,1],[3301,1],[3300,1],[3300,0,"A"],[3301,0," "],[3302,0,"l"],[3303,0,"i"],[3304,0,"s"],[3305,0,"t"],[3306,0," "],[3307,0,"e"],[3308,0,"l"],[3309,0,"e"],[3310,0,"m"],[3311,0,"e"],[3312,0,"n"],[3313,0,"t"],[3314,0," "],[3315,0,"i"],[3316,0,"s"],[3317,0," "],[3318,0,"c"],[3319,0,"r"],[3320,0,"e"],[3321,0,"a"],[3322,0,"t"],[3323,0,"e"],[3324,0,"d"],[3325,0," "],[3326,0,"w"],[3327,0,"i"],[3328,0,"t"],[3329,0,"h"],[3330,0," "],[3331,0,"a"],[3332,0,"n"],[3333,0," "],[3334,0,"$"],[3335,0,"\\"],[3336,0,"m"],[3337,0,"a"],[3338,0,"t"],[3339,0,"h"],[3340,0,"s"],[3341,0,"f"],[3342,0,"{"],[3343,0,"i"],[3344,0,"n"],[3345,0,"s"],[3346,0,"e"],[3347,0,"r"],[3348,0,"t"],[3349,0,"}"],[3350,0,"$"],[3351,0," "],[3352,0,"o"],[3353,0,"p"],[3354,0,"e"],[3355,0,"r"],[3356,0,"a"],[3357,0,"t"],[3358,0,"i"],[3359,0,"o"],[3360,0,"n"],[3361,0,"."],[3362,0," "],[3363,0,"S"],[3364,0,"i"],[3365,0,"n"],[3366,0,"c"],[3367,0,"e"],[3368,0," "],[3369,0,"e"],[3370,0,"a"],[3371,0,"c"],[3372,0,"h"],[3373,0," "],[3374,0,"o"],[3375,0,"p"],[3376,0,"e"],[3377,0,"r"],[3378,0,"a"],[3379,0,"t"],[3380,0,"i"],[3381,0,"o"],[3382,0,"n"],[3383,0," "],[3384,0,"h"],[3385,0,"a"],[3386,0,"s"],[3387,0," "],[3388,0,"a"],[3389,0," "],[3390,0,"L"],[3391,0,"a"],[3392,0,"m"],[3393,0,"p"],[3394,0,"o"],[3395,0,"r"],[3396,0,"t"],[3397,0," "],[3398,0,"t"],[3399,0,"i"],[3400,0,"m"],[3401,0,"e"],[3402,0,"s"],[3403,0,"t"],[3404,0,"a"],[3405,0,"m"],[3406,0,"p"],[3407,0,","],[3408,0," "],[3409,0,"a"],[3410,0," "],[3411,0,"l"],[3412,0,"i"],[3413,0,"s"],[3414,0,"t"],[3415,0," "],[3416,0,"e"],[3417,0,"l"],[3418,0,"e"],[3419,0,"m"],[3420,0,"e"],[3421,0,"n"],[3422,0,"t"],[3423,0," "],[3424,0,"c"],[3425,0,"a"],[3426,0,"n"],[3427,0," "],[3428,0,"b"],[3429,0,"e"],[3430,0," "],[3430,1],[3429,1],[3428,1],[3427,1],[3426,1],[3425,1],[3424,1],[3441,1],[3440,1],[3439,1],[3438,1],[3437,1],[3436,1],[3435,1],[3434,1],[3433,1],[3432,1],[3431,1],[3430,1],[3429,1],[3428,1],[3427,1],[3426,1],[3425,1],[3424,1],[3423,1],[3460,1],[3459,1],[3458,1],[3457,1],[3456,1],[3455,1],[3454,1],[3453,1],[3452,1],[3451,1],[3450,1],[3450,0,"i"],[3451,0,"t"],[3452,0,"s"],[3463,0,","],[3464,0," "],[3465,0,"w"],[3466,0,"h"],[3467,0,"i"],[3468,0,"c"],[3469,0,"h"],[3470,0," "],[3471,0,"r"],[3472,0,"e"],[3473,0,"m"],[3474,0,"a"],[3475,0,"i"],[3476,0,"n"],[3477,0,"s"],[3478,0," "],[3479,0,"i"],[3480,0,"m"],[3481,0,"m"],[3482,0,"u"],[3483,0,"t"],[3484,0,"a"],[3485,0,"b"],[3486,0,"l"],[3487,0,"e"],[3488,0,"."],[3488,0," "],[3489,0,"f"],[3490,0,"o"],[3491,0,"r"],[3492,0," "],[3493,0,"t"],[3494,0,"h"],[3495,0,"e"],[3496,0," "],[3497,0,"l"],[3498,0,"i"],[3499,0,"f"],[3500,0,"e"],[3501,0,"t"],[3502,0,"i"],[3503,0,"m"],[3504,0,"e"],[3505,0," "],[3506,0,"o"],[3507,0,"f"],[3508,0," "],[3509,0,"t"],[3510,0,"h"],[3511,0,"e"],[3512,0," "],[3513,0,"d"],[3514,0,"o"],[3515,0,"c"],[3516,0,"u"],[3517,0,"m"],[3518,0,"e"],[3519,0,"n"],[3520,0,"t"],[3522,0," "],[3523,0,"W"],[3524,0,"e"],[3525,0," "],[3526,0,"c"],[3527,0,"a"],[3528,0,"l"],[3529,0,"l"],[3530,0," "],[3531,0,"t"],[3532,0,"h"],[3533,0,"a"],[3534,0,"t"],[3535,0," "],[3536,0,"L"],[3537,0,"a"],[3538,0,"m"],[3539,0,"p"],[3540,0,"o"],[3541,0,"r"],[3542,0,"t"],[3543,0," "],[3544,0,"t"],[3545,0,"i"],[3546,0,"m"],[3547,0,"e"],[3548,0,"s"],[3549,0,"t"],[3550,0,"a"],[3551,0,"m"],[3552,0,"p"],[3553,0," "],[3554,0,"t"],[3555,0,"h"],[3556,0,"e"],[3557,0," "],[3558,0,"I"],[3559,0,"D"],[3560,0," "],[3561,0,"o"],[3562,0,"f"],[3563,0," "],[3564,0,"t"],[3565,0,"h"],[3566,0,"e"],[3567,0," "],[3568,0,"l"],[3569,0,"i"],[3570,0,"s"],[3571,0,"t"],[3572,0," "],[3573,0,"e"],[3574,0,"l"],[3575,0,"e"],[3576,0,"m"],[3577,0,"e"],[3578,0,"n"],[3579,0,"t"],[3580,0,"."],[3632,1],[3631,1],[3630,1],[3629,1],[3628,1],[3627,1],[3626,1],[3625,1],[3624,1],[3623,1],[3622,1],[3621,1],[3620,1],[3619,1],[3618,1],[3617,1],[3616,1],[3615,1],[3614,1],[3613,1],[3612,1],[3611,1],[3610,1],[3609,1],[3608,1],[3607,1],[3606,1],[3605,1],[3604,1],[3603,1],[3602,1],[3601,1],[3600,1],[3599,1],[3598,1],[3597,1],[3596,1],[3595,1],[3594,1],[3593,1],[3592,1],[3591,1],[3590,1],[3589,1],[3588,1],[3587,1],[3586,1],[3585,1],[3584,1],[3583,1],[3582,1],[3581,1],[4566,0,"a"],[4567,0,"l"],[4568,0," "],[4569,0,"r"],[4570,0,"e"],[4571,0,"q"],[4572,0,"u"],[4573,0,"i"],[4574,0,"r"],[4575,0,"e"],[4576,0,"m"],[4577,0,"e"],[4578,0,"n"],[4579,0,"t"],[4624,1],[4623,1],[4622,1],[4621,1],[4620,1],[4619,1],[4618,1],[4617,1],[4616,1],[4615,1],[4614,1],[4613,1],[4612,1],[4611,1],[4610,1],[4609,1],[5350,0,"\n"],[5351,0,"\n"],[5352,0,"T"],[5353,0,"h"],[5354,0,"e"],[5355,0," "],[5356,0,"u"],[5357,0,"s"],[5358,0,"e"],[5359,0,"r"],[5360,0," "],[5361,0,"v"],[5362,0,"i"],[5363,0,"e"],[5364,0,"w"],[5365,0," "],[5366,0,"o"],[5367,0,"f"],[5368,0," "],[5369,0,"a"],[5370,0," "],[5371,0,"l"],[5372,0,"i"],[5373,0,"s"],[5374,0,"t"],[5375,0," "],[5376,0,"A"],[5377,0," "],[5378,0,"i"],[5379,0,"t"],[5380,0,"e"],[5381,0,"r"],[5382,0,"a"],[5383,0,"t"],[5384,0,"e"],[5385,0,"s"],[5386,0," "],[5387,0,"o"],[5388,0,"v"],[5389,0,"e"],[5390,0,"r"],[5391,0," "],[5392,0,"t"],[5393,0,"h"],[5394,0,"e"],[5395,0," "],[5396,0,"l"],[5397,0,"i"],[5398,0,"s"],[5399,0,"t"],[5400,0," "],[5401,0,"e"],[5402,0,"l"],[5403,0,"e"],[5404,0,"m"],[5405,0,"e"],[5406,0,"n"],[5407,0,"t"],[5408,0,"s"],[5409,0," "],[5410,0,"f"],[5411,0,"r"],[5412,0,"o"],[5413,0,"m"],[5414,0," "],[5415,0,"\\"],[5415,1],[5415,0,"$"],[5416,0,"\\"],[5417,0,"m"],[5418,0,"a"],[5419,0,"t"],[5420,0,"h"],[5421,0,"s"],[5422,0,"f"],[5423,0,"{"],[5424,0,"h"],[5425,0,"e"],[5426,0,"a"],[5427,0,"d"],[5428,0,"}"],[5429,0,"$"],[5430,0," "],[5431,0,"t"],[5432,0,"o"],[5433,0," "],[5434,0,"$"],[5435,0,"\\"],[5436,0,"m"],[5437,0,"a"],[5438,0,"t"],[5439,0,"h"],[5440,0,"s"],[5441,0,"f"],[5442,0,"{"],[5443,0,"t"],[5444,0,"a"],[5445,0,"i"],[5446,0,"l"],[5447,0,"}"],[5448,0,"$"],[5449,0,","],[5450,0," "],[5451,0,"s"],[5452,0,"k"],[5453,0,"i"],[5454,0,"p"],[5455,0,"p"],[5456,0,"i"],[5457,0,"n"],[5458,0,"g"],[5459,0," "],[5460,0,"a"],[5461,0,"n"],[5462,0,"y"],[5463,0," "],[5464,0,"d"],[5465,0,"e"],[5466,0,"l"],[5467,0,"e"],[5468,0,"t"],[5469,0,"e"],[5470,0,"d"],[5471,0," "],[5472,0,"e"],[5473,0,"l"],[5474,0,"e"],[5475,0,"m"],[5476,0,"e"],[5477,0,"n"],[5478,0,"t"],[5479,0,"s"],[5480,0," "],[5481,0,"("],[5482,0,"t"],[5483,0,"o"],[5484,0,"m"],[5485,0,"b"],[5486,0,"s"],[5487,0,"t"],[5488,0,"o"],[5489,0,"n"],[5490,0,"e"],[5491,0,"s"],[5492,0,")"],[5493,0,":"],[5494,0,"\n"],[5495,0,"\\"],[5496,0,"b"],[5497,0,"e"],[5498,0,"g"],[5499,0,"i"],[5500,0,"n"],[5501,0,"{"],[5502,0,"a"],[5503,0,"l"],[5504,0,"i"],[5505,0,"g"],[5506,0,"n"],[5507,0,"*"],[5508,0,"}"],[5509,0,"\n"],[5510,0,"\\"],[5511,0,"e"],[5512,0,"n"],[5513,0,"d"],[5514,0,"{"],[5515,0,"a"],[5516,0,"l"],[5517,0,"i"],[5518,0,"g"],[5519,0,"n"],[5520,0,"*"],[5521,0,"}"],[5509,0,"\n"],[5510,0,"\\"],[5511,0,"m"],[5512,0,"a"],[5513,0,"t"],[5514,0,"h"],[5515,0,"r"],[5516,0,"m"],[5517,0,"("],[5517,1],[5517,0,"{"],[5518,0,"v"],[5519,0,"i"],[5520,0,"e"],[5521,0,"w"],[5522,0,"}"],[5523,0,"("],[5524,0,"A"],[5525,0,")"],[5526,0," "],[5527,0,"="],[5528,0," "],[5529,0,"\\"],[5530,0,"a"],[5531,0,"t"],[5531,1],[5530,1],[5530,0,"m"],[5531,0,"a"],[5532,0,"t"],[5533,0,"h"],[5534,0,"r"],[5535,0,"m"],[5536,0,"{"],[5537,0,"i"],[5538,0,"t"],[5539,0,"e"],[5540,0,"r"],[5541,0,"}"],[5542,0,"("],[5543,0,"A"],[5544,0,","],[5545,0," "],[5546,0,"\\"],[5547,0,"m"],[5548,0,"a"],[5549,0,"t"],[5550,0,"h"],[5551,0,"s"],[5552,0,"f"],[5553,0,"{"],[5554,0,"h"],[5555,0,"e"],[5556,0,"a"],[5557,0,"d"],[5558,0,"}"],[5559,0,")"],[5560,0," "],[5561,0,"\\"],[5562,0,"\\"],[5527,0,"&"],[5564,0,"\n"],[5565,0,"\\"],[5566,0,"m"],[5567,0,"a"],[5568,0,"t"],[5569,0,"h"],[5570,0,"r"],[5571,0,"m"],[5572,0,"{"],[5573,0,"i"],[5574,0,"t"],[5575,0,"e"],[5576,0,"r"],[5577,0,"}"],[5578,0,"("],[5579,0,"A"],[5580,0,","],[5581,0," "],[5582,0,"\\"],[5583,0,"m"],[5584,0,"a"],[5585,0,"t"],[5586,0,"h"],[5587,0,"i"],[5588,0,"t"],[5589,0,"{"],[5590,0,"I"],[5590,1],[5590,0,"i"],[5591,0,"d"],[5592,0,"}"],[5593,0,")"],[5594,0," "],[5595,0,"&"],[5596,0,"="],[5597,0," "],[5598,0,"\\"],[5599,0,"b"],[5600,0,"e"],[5601,0,"g"],[5602,0,"i"],[5603,0,"n"],[5604,0,"{"],[5605,0,"c"],[5606,0,"a"],[5607,0,"s"],[5608,0,"e"],[5609,0,"s"],[5610,0,"}"],[5611,0,"\n"],[5612,0,"\\"],[5613,0,"e"],[5614,0,"n"],[5615,0,"d"],[5616,0,"["],[5616,1],[5616,0,"{"],[5617,0,"c"],[5618,0,"a"],[5619,0,"s"],[5620,0,"e"],[5621,0,"s"],[5622,0,"}"],[5611,0,"\n"],[5612,0," "],[5613,0," "],[5614,0," "],[5615,0," "],[5616,0,"["],[5617,0,"v"],[5618,0,"]"],[5619,0," "],[5620,0,":"],[5621,0,":"],[5622,0," "],[5622,1],[5621,1],[5620,1],[5619,1],[5619,0," "],[5620,0,"\\"],[5621,0,"m"],[5622,0,"a"],[5623,0,"t"],[5624,0,"h"],[5625,0,"b"],[5626,0,"i"],[5627,0,"n"],[5628,0,"{"],[5629,0,":"],[5630,0,":"],[5631,0,"}"],[5632,0," "],[5633,0,"\\"],[5634,0,"m"],[5635,0,"a"],[5636,0,"t"],[5637,0,"h"],[5638,0,"r"],[5639,0,"m"],[5640,0,"{"],[5641,0,"i"],[5642,0,"t"],[5643,0,"e"],[5644,0,"r"],[5645,0,"}"],[5646,0,"("],[5647,0,"A"],[5648,0,","],[5649,0," "],[5650,0,"n"],[5651,0,")"],[5652,0," "],[5653,0,"\\"],[5654,0,"q"],[5655,0,"u"],[5656,0,"a"],[5657,0,"d"],[5658,0," "],[5659,0,"\\"],[5660,0,"t"],[5661,0,"e"],[5662,0,"x"],[5663,0,"t"],[5664,0,"{"],[5665,0,"i"],[5666,0,"f"],[5667,0," "],[5668,0,"}"],[5669,0,";"],[5669,1],[5669,0,"\\"],[5670,0,";"],[5671,0," "],[5672,0,"A"],[5673,0,"("],[5674,0,"\\"],[5675,0,"m"],[5676,0,"a"],[5677,0,"t"],[5678,0,"h"],[5679,0,"i"],[5680,0,"t"],[5681,0,"{"],[5682,0,"i"],[5683,0,"d"],[5684,0,"}"],[5685,0,")"],[5686,0," "],[5687,0,"="],[5688,0," "],[5689,0,"("],[5690,0,"v"],[5691,0,","],[5692,0," "],[5693,0,"n"],[5694,0,")"],[5695,0," "],[5696,0,"\\"],[5697,0,";"],[5698,0,"w"],[5698,1],[5698,0,"\\"],[5699,0,"w"],[5700,0,"e"],[5701,0,"d"],[5702,0,"g"],[5703,0,"e"],[5704,0,"\\"],[5705,0,";"],[5706,0," "],[5707,0,"v"],[5708,0," "],[5709,0,"\\"],[5710,0,"n"],[5711,0,"e"],[5712,0,"q"],[5713,0," "],[5714,0,"\\"],[5715,0,"b"],[5716,0,"o"],[5717,0,"t"],[5718,0," "],[5719,0,"\\"],[5720,0,"\\"],[5721,0,"\n"],[5722,0," "],[5723,0," "],[5724,0," "],[5725,0," "],[5726,0,"\\"],[5727,0,"m"],[5728,0,"a"],[5729,0,"t"],[5730,0,"h"],[5731,0,"r"],[5732,0,"m"],[5733,0,"{"],[5734,0,"i"],[5735,0,"t"],[5736,0,"e"],[5737,0,"r"],[5738,0,"}"],[5739,0,"("],[5740,0,"A"],[5741,0,","],[5742,0," "],[5743,0,"n"],[5744,0,")"],[5745,0," "],[5746,0,"\\"],[5747,0,"q"],[5748,0,"u"],[5749,0,"a"],[5750,0,"d"],[5751,0," "],[5752,0,"\\"],[5753,0,"t"],[5754,0,"e"],[5755,0,"x"],[5756,0,"t"],[5726,0," "],[5727,0," "],[5728,0," "],[5729,0," "],[5730,0," "],[5731,0," "],[5732,0," "],[5733,0," "],[5734,0," "],[5735,0," "],[5736,0," "],[5737,0," "],[5738,0," "],[5739,0," "],[5740,0," "],[5741,0," "],[5742,0," "],[5743,0," "],[5744,0," "],[5745,0," "],[5746,0," "],[5747,0," "],[5748,0," "],[5749,0," "],[5750,0," "],[5751,0," "],[5752,0," "],[5753,0," "],[5754,0," "],[5755,0," "],[5755,1],[5754,1],[5753,1],[5752,1],[5751,1],[5750,1],[5749,1],[5748,1],[5747,1],[5746,1],[5745,1],[5744,1],[5743,1],[5774,0,"{"],[5775,0,"i"],[5776,0,"f"],[5777,0," "],[5778,0,"}"],[5779,0,"\\"],[5780,0,";"],[5781,0," "],[5782,0,"A"],[5783,0,"("],[5784,0,"\\"],[5785,0,"m"],[5786,0,"a"],[5787,0,"t"],[5788,0,"h"],[5789,0,"i"],[5790,0,"t"],[5791,0,"{"],[5792,0,"i"],[5793,0,"d"],[5794,0,"}"],[5795,0,")"],[5796,0," "],[5797,0,"="],[5798,0," "],[5799,0,"("],[5800,0,"v"],[5801,0,","],[5802,0," "],[5803,0,"n"],[5804,0,")"],[5805,0," "],[5806,0,"\\"],[5807,0,";"],[5808,0,"\\"],[5809,0,"w"],[5810,0,"e"],[5811,0,"d"],[5812,0,"g"],[5813,0,"e"],[5814,0,"\\"],[5815,0,";"],[5816,0," "],[5817,0,"v"],[5818,0," "],[5819,0,"="],[5820,0," "],[5821,0,"\\"],[5822,0,"b"],[5823,0,"o"],[5824,0,"t"],[5825,0," "],[5826,0,"\\"],[5827,0,"\\"],[5828,0,"\n"],[5829,0," "],[5830,0," "],[5831,0," "],[5832,0," "],[5833,0,"p"],[5833,1],[5833,0,"["],[5834,0,"]"],[5835,0," "],[5836,0,"\\"],[5837,0,"q"],[5838,0,"u"],[5839,0,"a"],[5840,0,"d"],[5841,0," "],[5842,0,"\\"],[5843,0,"t"],[5844,0,"e"],[5845,0,"x"],[5846,0,"t"],[5847,0,"{"],[5848,0,"i"],[5849,0,"f"],[5850,0," "],[5851,0,"}"],[5852,0,";"],[5852,1],[5852,0,"\\"],[5853,0,";"],[5854,0," "],[5855,0,"\\"],[5856,0,"m"],[5857,0,"a"],[5858,0,"t"],[5859,0,"h"],[5860,0,"i"],[5861,0,"t"],[5862,0,"{"],[5863,0,"i"],[5864,0,"d"],[5865,0,"}"],[5866,0," "],[5867,0,"="],[5868,0," "],[5869,0,"\\"],[5870,0,"m"],[5871,0,"a"],[5872,0,"t"],[5873,0,"h"],[5874,0,"s"],[5875,0,"f"],[5876,0,"{"],[5877,0,"t"],[5878,0,"a"],[5879,0,"i"],[5880,0,"l"],[5881,0,"}"],[5658,1],[5657,1],[5656,1],[5655,1],[5654,1],[5653,1],[5653,0,"&"],[5763,1],[5762,1],[5761,1],[5760,1],[5759,1],[5758,1],[5758,0,"&"],[5759,0," "],[5654,0," "],[5832,1],[5831,1],[5830,1],[5829,1],[5828,1],[5828,0,"&"],[5826,0,"\\"],[5827,0,","],[5576,1],[5575,1],[5642,1],[5641,1],[5745,1],[5745,1],[5541,1],[5540,1],[5540,0,"r"],[5574,0,"r"],[5641,0,"r"],[5746,0,"r"],[5893,0,"\n"],[5894,0,"\n"],[5895,0,"\\"],[5896,0,"s"],[5897,0,"u"],[5898,0,"b"],[5899,0,"s"],[5900,0,"e"],[5901,0,"c"],[5902,0,"t"],[5903,0,"i"],[5904,0,"o"],[5905,0,"n"],[5906,0,"{"],[5907,0,"C"],[5908,0,"o"],[5909,0,"n"],[5910,0,"v"],[5911,0,"e"],[5912,0,"r"],[5913,0,"g"],[5914,0,"e"],[5915,0,"n"],[5916,0,"c"],[5917,0,"e"],[5918,0,"}"],[5919,0,"\n"],[5920,0,"\n"],[5921,0,"W"],[5922,0,"e"],[5923,0," "],[5924,0,"n"],[5925,0,"o"],[5926,0,"w"],[5927,0," "],[5928,0,"p"],[5929,0,"r"],[5930,0,"o"],[5931,0,"v"],[5932,0,"e"],[5933,0," "],[5934,0,"t"],[5935,0,"h"],[5936,0,"e"],[5937,0," "],[5938,0,"c"],[5939,0,"o"],[5940,0,"n"],[5941,0,"v"],[5942,0,"e"],[5943,0,"r"],[5944,0,"g"],[5945,0,"e"],[5946,0,"n"],[5947,0,"c"],[5948,0,"e"],[5949,0," "],[5950,0,"p"],[5951,0,"r"],[5952,0,"o"],[5953,0,"p"],[5954,0,"e"],[5955,0,"r"],[5956,0,"t"],[5957,0,"y"],[5958,0,","],[5959,0," "],[5960,0,"a"],[5961,0,"l"],[5962,0,"s"],[5963,0,"o"],[5964,0," "],[5965,0,"k"],[5966,0,"n"],[5967,0,"o"],[5968,0,"w"],[5969,0,"n"],[5970,0," "],[5971,0,"a"],[5972,0,"s"],[5973,0," "],[5974,0,"\\"],[5975,0,"e"],[5976,0,"m"],[5977,0,"p"],[5978,0,"h"],[5979,0,"{"],[5980,0,"e"],[5981,0,"v"],[5982,0,"e"],[5983,0,"n"],[5984,0,"t"],[5985,0,"u"],[5986,0,"a"],[5987,0,"l"],[5988,0," "],[5989,0,"c"],[5990,0,"o"],[5991,0,"n"],[5992,0,"s"],[5993,0,"i"],[5994,0,"s"],[5995,0,"t"],[5996,0,"e"],[5997,0,"n"],[5998,0,"c"],[5999,0,"y"],[6000,0,"}"],[6001,0,","],[6002,0," "],[6003,0,"f"],[6004,0,"o"],[6005,0,"r"],[6006,0," "],[6007,0,"t"],[6008,0,"h"],[6009,0,"i"],[6010,0,"s"],[6011,0," "],[6012,0,"d"],[6013,0,"a"],[6014,0,"t"],[6015,0,"a"],[6016,0," "],[6017,0,"s"],[6018,0,"t"],[6019,0,"r"],[6020,0,"u"],[6021,0,"c"],[6022,0,"t"],[6023,0,"u"],[6024,0,"r"],[6025,0,"e"],[6026,0,"."],[6027,0,"\n"],[6028,0,"\n"],[6029,0,"\\"],[6030,0,"t"],[6031,0,"e"],[6032,0,"x"],[6033,0,"t"],[6034,0,"b"],[6035,0,"f"],[6036,0,"{"],[6037,0,"T"],[6038,0,"h"],[6039,0,"e"],[6040,0,"o"],[6041,0,"r"],[6042,0,"e"],[6043,0,"m"],[6044,0,"."],[6045,0,"}"],[6046,0," "],[6047,0,"I"],[6048,0,"f"],[6049,0," "],[6050,0,"t"],[6051,0,"w"],[6052,0,"o"],[6053,0," "],[6054,0,"p"],[6055,0,"e"],[6056,0,"e"],[6057,0,"r"],[6058,0,"s"],[6059,0," "],[6060,0,"p"],[6061,0,"r"],[6062,0,"o"],[6063,0,"c"],[6064,0,"e"],[6065,0,"s"],[6066,0,"s"],[6067,0," "],[6068,0,"t"],[6069,0,"h"],[6070,0,"e"],[6071,0," "],[6072,0,"s"],[6073,0,"a"],[6074,0,"m"],[6075,0,"e"],[6076,0," "],[6077,0,"s"],[6078,0,"e"],[6079,0,"t"],[6080,0," "],[6081,0,"o"],[6082,0,"f"],[6083,0," "],[6084,0,"\\"],[6084,1],[6084,0,"$"],[6085,0,"\\"],[6086,0,"t"],[6087,0,"e"],[6087,1],[6086,1],[6086,0,"m"],[6087,0,"a"],[6088,0,"t"],[6089,0,"h"],[6090,0,"s"],[6091,0,"f"],[6092,0,"{"],[6093,0,"i"],[6094,0,"n"],[6095,0,"s"],[6096,0,"e"],[6097,0,"r"],[6098,0,"t"],[6099,0,"}"],[6100,0,"$"],[6101,0," "],[6102,0,"a"],[6103,0,"n"],[6104,0,"d"],[6105,0," "],[6106,0,"$"],[6107,0,"\\"],[6108,0,"m"],[6109,0,"a"],[6110,0,"t"],[6111,0,"h"],[6112,0,"s"],[6113,0,"f"],[6114,0,"{"],[6115,0,"d"],[6116,0,"e"],[6117,0,"l"],[6118,0,"e"],[6119,0,"t"],[6120,0,"e"],[6121,0,"}"],[6122,0,"$"],[6123,0," "],[6124,0,"o"],[6125,0,"p"],[6126,0,"e"],[6127,0,"r"],[6128,0,"a"],[6129,0,"t"],[6130,0,"i"],[6131,0,"o"],[6132,0,"n"],[6133,0,"s"],[6134,0,","],[6135,0," "],[6136,0,"i"],[6137,0,"n"],[6138,0," "],[6139,0,"d"],[6140,0,"i"],[6141,0,"f"],[6142,0,"f"],[6143,0,"e"],[6144,0,"r"],[6145,0,"e"],[6146,0,"n"],[6147,0,"t"],[6148,0," "],[6149,0,"c"],[6150,0,"a"],[6151,0,"u"],[6152,0,"s"],[6153,0,"a"],[6154,0,"l"],[6155,0,"l"],[6156,0,"y"],[6157,0," "],[6158,0,"c"],[6159,0,"o"],[6160,0,"n"],[6161,0,"s"],[6162,0,"i"],[6163,0,"s"],[6164,0,"t"],[6165,0,"e"],[6166,0,"n"],[6167,0,"t"],[6168,0," "],[6169,0,"o"],[6170,0,"r"],[6171,0,"d"],[6172,0,"e"],[6173,0,"r"],[6174,0,"s"],[6175,0,","],[6176,0," "],[6177,0,"t"],[6178,0,"h"],[6179,0,"e"],[6180,0,"i"],[6181,0,"r"],[6182,0," "],[6183,0,"f"],[6184,0,"i"],[6185,0,"n"],[6186,0,"a"],[6187,0,"l"],[6188,0," "],[6189,0,"s"],[6190,0,"t"],[6191,0,"a"],[6192,0,"t"],[6193,0,"e"],[6194,0," "],[6195,0,"i"],[6196,0,"s"],[6197,0," "],[6198,0,"i"],[6199,0,"d"],[6200,0,"e"],[6201,0,"n"],[6202,0,"t"],[6203,0,"i"],[6204,0,"c"],[6205,0,"a"],[6206,0,"l"],[6207,0,"."],[6208,0,"\n"],[6209,0,"\n"],[6177,0,"t"],[6178,0,"h"],[6179,0,"e"],[6180,0,"n"],[6181,0,"b"],[6182,0," "],[6182,1],[6181,1],[6181,0," "],[6199,0,"s"],[6202,1],[6201,1],[6201,0,"a"],[6202,0,"r"],[6203,0,"e"],[6200,0," "],[6201,0,"a"],[6202,0,"f"],[6203,0,"t"],[6204,0,"e"],[6205,0,"r"],[6206,0," "],[6207,0,"p"],[6208,0,"r"],[6209,0,"o"],[6210,0,"c"],[6211,0,"e"],[6212,0,"s"],[6213,0,"s"],[6214,0,"i"],[6215,0,"n"],[6216,0,"g"],[6217,0," "],[6218,0,"a"],[6219,0,"l"],[6220,0,"l"],[6221,0," "],[6222,0,"o"],[6223,0,"p"],[6224,0,"e"],[6225,0,"r"],[6226,0,"a"],[6227,0,"t"],[6228,0,"i"],[6229,0,"o"],[6230,0,"n"],[6231,0,"s"],[6231,1],[6230,1],[6229,1],[6228,1],[6227,1],[6226,1],[6225,1],[6224,1],[6223,1],[6222,1],[6221,1],[6220,1],[6219,1],[6218,1],[6217,1],[6216,1],[6215,1],[6214,1],[6213,1],[6212,1],[6211,1],[6210,1],[6209,1],[6208,1],[6207,1],[6206,1],[6205,1],[6204,1],[6203,1],[6202,1],[6201,1],[6200,1],[6217,0,"W"],[6218,0,"e"],[6219,0," "],[6220,0,"c"],[6221,0,"o"],[6222,0,"n"],[6223,0,"s"],[6224,0,"i"],[6224,1],[6223,1],[6222,1],[6221,1],[6220,1],[6219,1],[6218,1],[6217,1],[6217,0,"C"],[6218,0,"o"],[6219,0,"n"],[6220,0,"s"],[6221,0,"i"],[6222,0,"d"],[6223,0,"e"],[6224,0,"r"],[6224,1],[6223,1],[6222,1],[6221,1],[6220,1],[6219,1],[6218,1],[6217,1],[6217,0,"S"],[6218,0,"i"],[6219,0,"n"],[6220,0,"c"],[6221,0,"e"],[6222,0," "],[6223,0,"e"],[6224,0,"a"],[6225,0,"c"],[6226,0,"h"],[6227,0," "],[6228,0,"p"],[6229,0,"e"],[6230,0,"e"],[6231,0,"r"],[6232,0," "],[6233,0,"p"],[6234,0,"r"],[6235,0,"o"],[6236,0,"c"],[6237,0,"e"],[6238,0,"s"],[6239,0,"s"],[6240,0,"e"],[6241,0,"s"],[6242,0," "],[6243,0,"o"],[6244,0,"p"],[6245,0,"e"],[6246,0,"r"],[6247,0,"a"],[6248,0,"t"],[6249,0,"i"],[6250,0,"o"],[6251,0,"n"],[6252,0,"s"],[6253,0," "],[6254,0,"i"],[6255,0,"n"],[6256,0," "],[6257,0,"s"],[6258,0,"o"],[6259,0,"m"],[6260,0,"e"],[6261,0," "],[6262,0,"s"],[6263,0,"e"],[6264,0,"q"],[6265,0,"u"],[6266,0,"e"],[6267,0,"n"],[6268,0,"t"],[6269,0,"i"],[6270,0,"a"],[6271,0,"l"],[6272,0," "],[6273,0,"o"],[6274,0,"r"],[6275,0,"d"],[6276,0,"e"],[6277,0,"r"],[6278,0,","],[6279,0," "],[6280,0,"a"],[6281,0,"n"],[6282,0,"d"],[6283,0," "],[6284,0,"t"],[6285,0,"h"],[6286,0,"e"],[6287,0," "],[6288,0,"s"],[6289,0,"t"],[6290,0,"a"],[6291,0,"t"],[6292,0,"e"],[6293,0," "],[6294,0,"o"],[6295,0,"f"],[6296,0," "],[6297,0,"a"],[6298,0," "],[6299,0,"p"],[6300,0,"e"],[6301,0,"e"],[6302,0,"r"],[6303,0," "],[6304,0,"i"],[6305,0,"s"],[6306,0," "],[6307,0,"m"],[6308,0,"o"],[6309,0,"d"],[6310,0,"i"],[6311,0,"f"],[6312,0,"i"],[6313,0,"e"],[6314,0,"d"],[6315,0," "],[6316,0,"o"],[6317,0,"n"],[6318,0,"l"],[6319,0,"y"],[6320,0," "],[6321,0,"b"],[6322,0,"y"],[6323,0," "],[6324,0,"o"],[6325,0,"p"],[6326,0,"e"],[6327,0,"r"],[6328,0,"a"],[6329,0,"t"],[6330,0,"i"],[6331,0,"o"],[6332,0,"n"],[6333,0,"s"],[6334,0,","],[6335,0," "],[6336,0,"w"],[6337,0,"e"],[6338,0," "],[6339,0,"c"],[6340,0,"a"],[6341,0,"n"],[6342,0," "],[6343,0,"d"],[6344,0,"e"],[6345,0,"s"],[6346,0,"c"],[6347,0,"r"],[6348,0,"i"],[6349,0,"b"],[6350,0,"e"],[6351,0," "],[6351,1],[6350,1],[6349,1],[6348,1],[6347,1],[6346,1],[6345,1],[6345,0,"r"],[6346,0,"i"],[6347,0,"v"],[6348,0,"e"],[6349,0," "],[6350,0,"t"],[6351,0,"h"],[6352,0,"e"],[6353,0," "],[6354,0,"s"],[6355,0,"t"],[6356,0,"a"],[6357,0,"t"],[6358,0,"e"],[6359,0," "],[6360,0,"o"],[6361,0,"f"],[6362,0," "],[6363,0,"a"],[6364,0," "],[6365,0,"p"],[6366,0,"e"],[6367,0,"e"],[6368,0,"r"],[6369,0," "],[6370,0,"b"],[6371,0,"y"],[6372,0," "],[6373,0,"c"],[6374,0,"o"],[6375,0,"n"],[6376,0,"s"],[6377,0,"i"],[6378,0,"d"],[6379,0,"e"],[6380,0,"r"],[6381,0,"i"],[6382,0,"n"],[6383,0,"g"],[6384,0," "],[6385,0,"t"],[6386,0,"h"],[6387,0,"e"],[6388,0," "],[6389,0,"\\"],[6390,0,"e"],[6391,0,"m"],[6392,0,"p"],[6393,0,"h"],[6394,0,"{"],[6395,0,"h"],[6396,0,"i"],[6397,0,"s"],[6398,0,"t"],[6399,0,"o"],[6400,0,"r"],[6401,0,"y"],[6402,0,"}"],[6403,0," "],[6404,0,"o"],[6405,0,"f"],[6406,0," "],[6407,0,"o"],[6408,0,"p"],[6050,0,"a"],[6051,0,"n"],[6052,0,"y"],[6053,0," "],[6413,0,"e"],[6414,0,"r"],[6415,0,"a"],[6416,0,"t"],[6417,0,"i"],[6418,0,"o"],[6419,0,"n"],[6420,0,"s"],[6421,0," "],[6422,0,"a"],[6423,0,"t"],[6424,0," "],[6425,0,"e"],[6426,0,"a"],[6427,0,"c"],[6428,0,"h"],[6429,0," "],[6430,0,"p"],[6431,0,"e"],[6432,0,"e"],[6433,0,"r"],[6434,0," "],[6435,0,"a"],[6436,0,"n"],[6437,0,"d"],[6438,0," "],[6439,0,"a"],[6440,0,"p"],[6441,0,"p"],[6442,0,"l"],[6443,0,"y"],[6444,0,"i"],[6445,0,"n"],[6446,0,"g"],[6447,0," "],[6448,0,"t"],[6449,0,"h"],[6450,0,"e"],[6451,0," "],[6452,0,"o"],[6453,0,"p"],[6454,0,"e"],[6455,0,"r"],[6456,0,"a"],[6457,0,"t"],[6458,0,"i"],[6459,0,"o"],[6460,0,"n"],[6461,0,"s"],[6462,0," "],[6463,0,"i"],[6464,0,"n"],[6465,0," "],[6466,0,"t"],[6467,0,"h"],[6468,0,"e"],[6469,0," "],[6470,0,"o"],[6471,0,"r"],[6472,0,"d"],[6473,0,"e"],[6474,0,"r"],[6475,0," "],[6476,0,"o"],[6477,0,"f"],[6478,0," "],[6479,0,"t"],[6480,0,"h"],[6481,0,"e"],[6482,0," "],[6483,0,"h"],[6484,0,"i"],[6485,0,"s"],[6486,0,"t"],[6487,0,"o"],[6488,0,"r"],[6489,0,"y"],[6490,0,"."],[6491,0,"\n"],[6492,0,"\n"],[6493,0,"W"],[6493,1],[6493,0,"C"],[6493,1],[6493,0,"W"],[6494,0,"e"],[6495,0," "],[6496,0,"c"],[6497,0,"a"],[6498,0,"n"],[6499,0," "],[6500,0,"p"],[6501,0,"r"],[6502,0,"o"],[6503,0,"v"],[6504,0,"e"],[6505,0," "],[6506,0,"t"],[6507,0,"h"],[6508,0,"e"],[6509,0," "],[6510,0,"t"],[6511,0,"h"],[6512,0,"e"],[6513,0,"o"],[6514,0,"r"],[6515,0,"e"],[6516,0,"m"],[6517,0," "],[6518,0,"b"],[6519,0,"y"],[6520,0," "],[6521,0,"i"],[6522,0,"n"],[6523,0,"d"],[6524,0,"u"],[6525,0,"c"],[6526,0,"t"],[6527,0,"i"],[6528,0,"o"],[6529,0,"n"],[6493,0,"C"],[6494,0,"o"],[6495,0,"n"],[6496,0,"s"],[6497,0,"i"],[6498,0,"d"],[6499,0,"e"],[6500,0,"r"],[6501,0," "],[6502,0,"t"],[6503,0,"h"],[6504,0,"e"],[6505,0," "],[6506,0,"h"],[6507,0,"i"],[6508,0,"s"],[6509,0,"t"],[6510,0,"o"],[6511,0,"r"],[6512,0,"y"],[6513,0," "],[6514,0,"o"],[6515,0,"f"],[6516,0," "],[6517,0,"o"],[6518,0,"p"],[6519,0,"e"],[6520,0,"r"],[6521,0,"a"],[6522,0,"t"],[6523,0,"i"],[6524,0,"o"],[6525,0,"n"],[6526,0,"s"],[6527,0," "],[6528,0,"a"],[6529,0,"t"],[6530,0," "],[6530,1],[6529,1],[6528,1],[6528,0,"$"],[6529,0,"H"],[6530,0,"_"],[6531,0,"p"],[6532,0,"$"],[6533,0," "],[6534,0,"a"],[6535,0,"t"],[6536,0," "],[6537,0,"p"],[6538,0,"e"],[6539,0,"e"],[6540,0,"r"],[6541,0," "],[6542,0,"$"],[6543,0,"p"],[6544,0,"$"],[6545,0,","],[6546,0," "],[6547,0,"c"],[6548,0,"o"],[6549,0,"n"],[6550,0,"s"],[6551,0,"i"],[6552,0,"s"],[6553,0,"t"],[6554,0,"i"],[6555,0,"n"],[6556,0,"g"],[6557,0," "],[6558,0,"o"],[6559,0,"f"],[6560,0," "],[6561,0,"a"],[6562,0," "],[6563,0,"s"],[6564,0,"e"],[6565,0,"q"],[6566,0,"u"],[6567,0,"e"],[6568,0,"n"],[6569,0,"c"],[6570,0,"e"],[6571,0," "],[6572,0,"o"],[6573,0,"f"],[6574,0," "],[6575,0,"o"],[6576,0,"p"],[6577,0,"e"],[6578,0,"r"],[6579,0,"a"],[6580,0,"t"],[6581,0,"i"],[6582,0,"o"],[6583,0,"n"],[6584,0,"s"],[6585,0," "],[6586,0,"$"],[6587,0,"H"],[6588,0,"_"],[6589,0,"p"],[6590,0,"="],[6591,0,"o"],[6592,0,"_"],[6593,0,"1"],[6594,0," "],[6595,0,"\\"],[6596,0,"d"],[6597,0,"o"],[6598,0,"t"],[6599,0,"s"],[6600,0," "],[6601,0,"o"],[6602,0,"_"],[6603,0,"n"],[6604,0,"$"],[6605,0,"."],[6606,0," "],[6644,0," "],[6645,0,"o"],[6646,0,"v"],[6647,0,"e"],[6648,0,"r"],[6649,0," "],[6650,0,"t"],[6651,0,"h"],[6652,0,"e"],[6653,0," "],[6654,0,"l"],[6655,0,"e"],[6656,0,"n"],[6657,0,"g"],[6658,0,"t"],[6659,0,"h"],[6660,0," "],[6661,0,"o"],[6662,0,"f"],[6663,0," "],[6664,0,"t"],[6665,0,"h"],[6666,0,"e"],[6667,0," "],[6668,0,"h"],[6669,0,"i"],[6670,0,"s"],[6671,0,"t"],[6672,0,"o"],[6673,0,"r"],[6674,0,"n"],[6675,0," "],[6676,0,"$"],[6676,1],[6675,1],[6674,1],[6674,0,"y"],[6675,0," "],[6676,0,"$"],[6677,0,"n"],[6678,0,"$"],[6679,0,"."],[6680,0,"\n"],[6681,0,"\n"],[6682,0,"B"],[6683,0,"a"],[6684,0,"s"],[6685,0,"e"],[6686,0," "],[6687,0,"c"],[6688,0,"a"],[6689,0,"s"],[6690,0,"e"],[6691,0,":"],[6682,0,"\\"],[6683,0,"e"],[6684,0,"m"],[6685,0,"p"],[6686,0,"h"],[6687,0,"{"],[6698,0,"}"],[6699,0," "],[6700,0,"A"],[6701,0," "],[6702,0,"h"],[6703,0,"i"],[6704,0,"s"],[6705,0,"t"],[6706,0,"o"],[6707,0,"r"],[6708,0,"y"],[6709,0," "],[6710,0,"o"],[6711,0,"f"],[6712,0," "],[6713,0,"$"],[6714,0,"n"],[6715,0,"="],[6716,0,"0"],[6717,0,"$"],[6718,0," "],[6719,0,"o"],[6720,0,"p"],[6721,0,"e"],[6722,0,"r"],[6723,0,"a"],[6724,0,"t"],[6725,0,"i"],[6726,0,"o"],[6727,0,"n"],[6728,0,"s"],[6729,0," "],[6730,0,"d"],[6731,0,"e"],[6732,0,"s"],[6733,0,"c"],[6734,0,"r"],[6735,0,"i"],[6736,0,"b"],[6737,0,"e"],[6738,0,"s"],[6739,0," "],[6740,0,"a"],[6741,0,"n"],[6742,0," "],[6743,0,"e"],[6744,0,"m"],[6745,0,"p"],[6746,0,"t"],[6747,0,"y"],[6748,0," "],[6749,0,"d"],[6750,0,"o"],[6751,0,"c"],[6752,0,"u"],[6753,0,"m"],[6754,0,"e"],[6755,0,"n"],[6756,0,"t"],[6757,0,"."],[6758,0," "],[6759,0,"A"],[6760,0,"n"],[6761,0," "],[6762,0,"e"],[6763,0,"m"],[6764,0,"p"],[6765,0,"t"],[6766,0,"y"],[6767,0," "],[6768,0,"d"],[6769,0,"o"],[6770,0,"c"],[6771,0,"u"],[6772,0,"m"],[6773,0,"e"],[6774,0,"n"],[6775,0,"t"],[6776,0," "],[6777,0,"i"],[6778,0,"s"],[6779,0," "],[6780,0,"d"],[6781,0,"e"],[6782,0,"t"],[6783,0,"e"],[6784,0,"r"],[6785,0,"m"],[6786,0,"i"],[6787,0,"n"],[6788,0,"i"],[6789,0,"s"],[6790,0,"t"],[6791,0,"i"],[6792,0,"c"],[6793,0,"a"],[6794,0,"l"],[6795,0,"l"],[6796,0,"y"],[6797,0," "],[6798,0,"d"],[6799,0,"e"],[6800,0,"f"],[6801,0,"i"],[6802,0,"n"],[6803,0,"e"],[6804,0,"d"],[6805,0,","],[6806,0," "],[6807,0,"s"],[6808,0,"o"],[6809,0," "],[6810,0,"a"],[6811,0,"n"],[6812,0,"y"],[6813,0," "],[6814,0,"t"],[6815,0,"w"],[6816,0,"o"],[6817,0," "],[6818,0,"p"],[6819,0,"e"],[6820,0,"e"],[6821,0,"r"],[6822,0,"s"],[6823,0," "],[6824,0,"t"],[6825,0,"h"],[6826,0,"a"],[6827,0,"t"],[6828,0," "],[6829,0,"h"],[6830,0,"a"],[6831,0,"v"],[6832,0,"e"],[6833,0," "],[6834,0,"n"],[6835,0,"o"],[6836,0,"t"],[6837,0," "],[6838,0,"e"],[6839,0,"x"],[6840,0,"e"],[6841,0,"c"],[6842,0,"u"],[6843,0,"t"],[6844,0,"e"],[6845,0,"d"],[6846,0," "],[6847,0,"a"],[6848,0,"n"],[6849,0,"y"],[6850,0," "],[6851,0,"o"],[6852,0,"p"],[6853,0,"e"],[6854,0,"r"],[6855,0,"a"],[6856,0,"t"],[6857,0,"i"],[6858,0,"o"],[6859,0,"n"],[6860,0,"s"],[6861,0," "],[6862,0,"a"],[6863,0,"r"],[6864,0,"e"],[6865,0," "],[6866,0,"b"],[6867,0,"y"],[6868,0," "],[6869,0,"d"],[6870,0,"e"],[6871,0,"f"],[6872,0,"i"],[6873,0,"n"],[6874,0,"i"],[6875,0,"t"],[6876,0,"i"],[6877,0,"o"],[6878,0,"n"],[6879,0," "],[6880,0,"i"],[6881,0,"n"],[6882,0," "],[6883,0,"t"],[6884,0,"h"],[6885,0,"e"],[6886,0," "],[6887,0,"s"],[6888,0,"a"],[6889,0,"m"],[6890,0,"e"],[6891,0," "],[6892,0,"s"],[6893,0,"t"],[6894,0,"a"],[6895,0,"t"],[6896,0,"e"],[6897,0,"."],[6898,0,"\n"],[6899,0,"\n"],[6900,0,"\\"],[6901,0,"e"],[6902,0,"m"],[6903,0,"p"],[6904,0,"h"],[6905,0,"{"],[6906,0,"I"],[6907,0,"n"],[6908,0,"d"],[6909,0,"u"],[6910,0,"c"],[6911,0,"t"],[6912,0,"i"],[6913,0,"o"],[6914,0,"n"],[6915,0," "],[6916,0,"s"],[6917,0,"t"],[6918,0,"e"],[6919,0,"p"],[6920,0,":"],[6921,0,"}"],[6922,0," "],[6923,0,"G"],[6924,0,"i"],[6925,0,"v"],[6926,0,"e"],[6927,0,"n"],[6928,0," "],[6929,0,"c"],[6930,0,"a"],[6931,0,"u"],[6932,0,"s"],[6933,0,"a"],[6934,0,"l"],[6935,0," "],[6936,0,"h"],[6937,0,"i"],[6938,0,"s"],[6939,0,"t"],[6940,0,"o"],[6941,0,"r"],[6942,0,"i"],[6943,0,"e"],[6944,0,"s"],[6945,0," "],[6946,0,"H"],[6946,1],[6946,0,"$"],[6947,0,"H"],[6948,0,"_"],[6949,0,"1"],[6950,0,"$"],[6951,0," "],[6952,0,"a"],[6953,0,"n"],[6954,0,"d"],[6955,0," "],[6956,0,"$"],[6957,0,"H"],[6958,0,"_"],[6959,0,"2"],[6960,0,"$"],[6961,0,","],[6962,0," "],[6963,0,"s"],[6964,0,"u"],[6965,0,"c"],[6966,0,"h"],[6967,0," "],[6968,0,"t"],[6969,0,"h"],[6970,0,"a"],[6971,0,"t"],[6972,0," "],[6973,0,"$"],[6974,0,"H"],[6975,0,"_"],[6976,0,"1"],[6977,0,"="],[6978,0,"o"],[6979,0,"_"],[6980,0,"1"],[6981,0," "],[6982,0,"\\"],[6983,0,"d"],[6984,0,"o"],[6985,0,"t"],[6986,0,"s"],[6987,0," "],[6988,0,"o"],[6989,0,"_"],[6990,0,"n"],[6991,0,"$"],[6992,0," "],[6993,0,"a"],[6994,0,"n"],[6995,0,"d"],[6996,0," "],[6997,0,"$"],[6998,0,"H"],[6999,0,"_"],[7000,0,"2"],[7001,0,"$"],[7002,0," "],[7003,0,"i"],[7004,0,"s"],[7005,0," "],[7006,0,"a"],[7007,0," "],[7008,0,"p"],[7009,0,"e"],[7010,0,"r"],[7011,0,"m"],[7012,0,"u"],[7013,0,"t"],[7014,0,"a"],[7015,0,"t"],[7016,0,"i"],[7017,0,"o"],[7018,0,"n"],[7019,0," "],[7020,0,"o"],[7021,0,"f"],[7022,0," "],[7023,0,"$"],[7024,0,"H"],[7025,0,"1"],[7025,1],[7025,0,"_"],[7026,0,"1"],[7027,0,"$"],[7028,0,","],[7029,0," "],[7030,0,"w"],[7030,1],[7030,0,"a"],[7031,0,"n"],[7032,0,"d"],[7033,0," "],[7034,0,"s"],[7035,0,"u"],[7036,0,"c"],[7037,0,"h"],[7038,0," "],[7039,0,"t"],[7040,0,"h"],[7041,0,"a"],[7042,0,"t"],[7043,0," "],[7044,0,"a"],[7045,0,"p"],[7046,0,"p"],[7047,0,"l"],[7048,0,"y"],[7049,0,"i"],[7050,0,"n"],[7051,0,"g"],[7052,0," "],[7053,0,"$"],[7054,0,"H"],[7055,0,"_"],[7056,0,"1"],[7057,0,"$"],[7058,0," "],[7059,0,"r"],[7060,0,"e"],[7061,0,"s"],[7062,0,"u"],[7063,0,"l"],[7064,0,"t"],[7065,0,"s"],[7066,0," "],[7067,0,"i"],[7068,0,"n"],[7069,0," "],[7070,0,"t"],[7071,0,"h"],[7072,0,"e"],[7073,0," "],[7074,0,"s"],[7075,0,"a"],[7076,0,"m"],[7077,0,"e"],[7078,0," "],[7079,0,"s"],[7080,0,"t"],[7081,0,"a"],[7082,0,"t"],[7083,0,"e"],[7084,0," "],[7085,0,"a"],[7086,0,"s"],[7087,0," "],[7088,0,"a"],[7089,0,"p"],[7090,0,"p"],[7091,0,"l"],[7092,0,"y"],[7093,0,"i"],[7094,0,"n"],[7095,0,"g"],[7096,0," "],[7097,0,"$"],[7098,0,"H"],[7099,0,"_"],[7100,0,"2"],[7101,0,"$"],[6928,0," "],[6929,0,"a"],[6930,0,"m"],[6931,0,"u"],[6931,1],[6930,1],[6930,0,"n"],[6931,0,"y"],[6932,0," "],[6932,1],[6931,1],[6930,1],[6929,1],[6928,1],[7102,0,","],[7103,0," "],[7104,0,"w"],[7105,0,"e"],[7106,0," "],[7107,0,"c"],[7108,0,"a"],[7109,0,"n"],[7110,0," "],[7111,0,"e"],[7112,0,"x"],[7113,0,"t"],[7114,0,"e"],[7115,0,"n"],[7116,0,"d"],[7117,0," "],[7118,0,"t"],[7119,0,"h"],[7120,0,"e"],[7121,0," "],[7122,0,"h"],[7123,0,"i"],[7124,0,"s"],[7125,0,"t"],[7126,0,"o"],[7127,0,"r"],[7128,0,"y"],[7129,0," "],[7130,0,"b"],[7131,0,"y"],[7132,0," "],[7132,1],[7131,1],[7130,1],[7129,1],[7128,1],[7127,1],[7126,1],[7125,1],[7124,1],[7123,1],[7122,1],[7121,1],[7120,1],[7119,1],[7118,1],[7117,1],[7116,1],[7115,1],[7114,1],[7113,1],[7112,1],[7111,1],[7111,0,"c"],[7112,0,"o"],[7113,0,"n"],[7114,0,"s"],[7115,0,"t"],[7116,0,"r"],[7117,0,"u"],[7118,0,"c"],[7119,0,"t"],[7120,0," "],[7121,0,"n"],[7122,0,"e"],[7123,0,"w"],[7124,0," "],[7125,0,"h"],[7126,0,"i"],[7127,0,"s"],[7128,0,"t"],[7129,0,"o"],[7130,0,"r"],[7131,0,"i"],[7132,0,"e"],[7133,0,"s"],[7134,0," "],[7135,0,"o"],[7136,0,"f"],[7137,0," "],[7138,0,"l"],[7139,0,"e"],[7140,0,"n"],[7141,0,"g"],[7142,0,"t"],[7143,0,"h"],[7144,0," "],[7145,0,"$"],[7146,0,"n"],[7147,0,"+"],[7148,0,"1"],[7149,0,"$"],[7150,0," "],[7151,0,"b"],[7152,0,"y"],[7153,0," "],[7154,0,"i"],[7155,0,"n"],[7156,0,"s"],[7157,0,"e"],[7158,0,"r"],[7159,0,"t"],[7160,0,"i"],[7161,0,"n"],[7162,0,"g"],[7163,0," "],[7164,0,"a"],[7165,0,"n"],[7166,0," "],[7167,0,"o"],[7168,0,"p"],[7169,0,"e"],[7170,0,"r"],[7171,0,"a"],[7172,0,"t"],[7173,0,"i"],[7174,0,"o"],[7175,0,"n"],[7176,0," "],[7177,0,"$"],[7178,0,"o"],[7179,0,"_"],[7180,0,"{"],[7181,0,"n"],[7182,0,"+"],[7183,0,"1"],[7184,0,"}"],[7185,0,"$"],[7186,0," "],[7187,0,"a"],[7188,0,"t"],[7189,0," "],[7190,0,"a"],[7191,0,"n"],[7192,0,"y"],[7193,0," "],[7194,0,"c"],[7195,0,"a"],[7196,0,"u"],[7197,0,"s"],[7198,0,"a"],[7199,0,"l"],[7200,0,"l"],[7201,0,"y"],[7202,0," "],[7203,0,"r"],[7204,0,"e"],[7205,0,"a"],[7206,0,"d"],[7207,0,"y"],[7208,0," "],[6961,0," "],[6962,0,"o"],[6963,0,"f"],[6964,0," "],[6965,0,"l"],[6966,0,"e"],[6967,0,"n"],[6968,0,"g"],[6969,0,"t"],[6970,0,"h"],[6971,0," "],[6972,0,"$"],[6973,0,"n"],[6974,0,"$"],[7223,0,"p"],[7224,0,"o"],[7225,0,"s"],[7226,0,"i"],[7227,0,"t"],[7228,0,"i"],[7229,0,"o"],[7230,0,"n"],[7231,0," "],[7232,0,"i"],[7233,0,"n"],[7234,0," "],[7235,0,"e"],[7236,0,"i"],[7237,0,"t"],[7238,0,"h"],[7239,0,"e"],[7240,0,"r"],[7241,0," "],[7242,0,"h"],[7243,0,"i"],[7244,0,"s"],[7245,0,"t"],[7246,0,"o"],[7247,0,"r"],[7248,0,"y"],[7249,0,"."],[7250,0," "],[7250,1],[7249,1],[7248,1],[7247,1],[7246,1],[7245,1],[7244,1],[7243,1],[7242,1],[7242,0,"$"],[7243,0,"H"],[7244,0,"_"],[7245,0,"1"],[7246,0,"$"],[7247,0," "],[7248,0,"o"],[7249,0,"r"],[7250,0," "],[7251,0,"$"],[7252,0,"H"],[7253,0,"_"],[7254,0,"2"],[7255,0,"$"],[7256,0,"."],[7257,0," "],[7258,0,"W"],[7259,0,"e"],[7260,0," "],[7261,0,"m"],[7262,0,"u"],[7263,0,"s"],[7264,0,"t"],[7265,0," "],[7266,0,"t"],[7267,0,"h"],[7268,0,"e"],[7269,0,"n"],[7270,0," "],[7271,0,"s"],[7272,0,"h"],[7273,0,"o"],[7274,0,"w"],[7275,0," "],[7276,0,"t"],[7277,0,"h"],[7278,0,"a"],[7279,0,"t"],[7280,0," "],[7281,0,"a"],[7282,0,"l"],[7283,0,"l"],[7284,0," "],[7285,0,"o"],[7286,0,"f"],[7287,0," "],[7288,0,"t"],[7289,0,"h"],[7290,0,"e"],[7291,0," "],[7292,0,"h"],[7293,0,"i"],[7294,0,"s"],[7295,0,"t"],[7296,0,"o"],[7297,0,"r"],[7298,0,"i"],[7299,0,"e"],[7300,0,"s"],[7301,0," "],[7302,0,"c"],[7303,0,"o"],[7304,0,"n"],[7305,0,"s"],[7306,0,"t"],[7307,0,"r"],[7308,0,"u"],[7309,0,"c"],[7310,0,"t"],[7311,0,"e"],[7312,0,"d"],[7313,0," "],[7314,0,"t"],[7315,0,"h"],[7316,0,"i"],[7317,0,"s"],[7318,0," "],[7319,0,"w"],[7320,0,"a"],[7321,0,"y"],[7322,0," "],[7281,0,"a"],[7282,0,"p"],[7283,0,"p"],[7284,0,"l"],[7285,0,"y"],[7286,0,"i"],[7287,0,"n"],[7288,0,"g"],[7289,0," "],[7289,1],[7288,1],[7287,1],[7286,1],[7285,1],[7284,1],[7283,1],[7282,1],[7281,1],[7281,0,"f"],[7282,0,"o"],[7283,0,"r"],[7284,0," "],[7326,1],[7326,0,","],[7327,0," "],[7328,0,"a"],[7329,0,"p"],[7330,0,"p"],[7331,0,"l"],[7332,0,"y"],[7333,0,"i"],[7334,0,"n"],[7335,0,"g"],[7336,0," "],[7337,0,"t"],[7338,0,"h"],[7339,0,"e"],[7340,0," "],[7341,0,"o"],[7342,0,"p"],[7343,0,"e"],[7344,0,"r"],[7345,0,"a"],[7346,0,"t"],[7347,0,"i"],[7348,0,"o"],[7349,0,"n"],[7350,0,"s"],[7351,0," "],[7352,0,"r"],[7353,0,"e"],[7354,0,"s"],[7355,0,"u"],[7356,0,"l"],[7357,0,"t"],[7358,0,"s"],[7359,0," "],[7360,0,"i"],[7361,0,"n"],[7362,0," "],[7363,0,"t"],[7364,0,"h"],[7365,0,"e"],[7366,0," "],[7367,0,"s"],[7368,0,"a"],[7369,0,"m"],[7370,0,"e"],[7371,0," "],[7372,0,"f"],[7373,0,"i"],[7374,0,"n"],[7375,0,"a"],[7376,0,"l"],[7377,0," "],[7378,0,"s"],[7379,0,"t"],[7380,0,"a"],[7381,0,"t"],[7382,0,"e"],[7383,0,"."],[6152,0," "],[6153,0,"b"],[6154,0,"u"],[6155,0,"t"],[6155,1],[6154,1],[6153,1],[6152,1],[6151,1],[6150,1],[6149,1],[6148,1],[6147,1],[6146,1],[6145,1],[6144,1],[6143,1],[6143,0,"a"],[6144,0,"n"],[6145,0,"y"],[6172,1],[6172,0," "],[6173,0,"("],[6174,0,"b"],[6175,0,"u"],[6176,0,"t"],[6177,0," "],[6178,0,"n"],[6179,0,"o"],[6180,0,"t"],[6181,0," "],[6182,0,"n"],[6183,0,"e"],[6184,0,"c"],[6185,0,"e"],[6186,0,"s"],[6187,0,"s"],[6188,0,"a"],[6189,0,"r"],[6190,0,"i"],[6191,0,"l"],[6192,0,"y"],[6193,0," "],[6194,0,"t"],[6195,0,"h"],[6196,0,"e"],[6197,0," "],[6198,0,"s"],[6199,0,"a"],[6200,0,"m"],[6201,0,"e"],[6202,0," "],[6203,0,"o"],[6204,0,"r"],[6205,0,"d"],[6206,0,"e"],[6207,0,"r"],[6208,0,")"],[6520,1],[6520,0,":"],[6521,0,"\n"],[6522,0,"$"],[6523,0,"$"],[6524,0," "],[6525,0,"A"],[6526,0,"_"],[6527,0,"\\"],[6528,0,"m"],[6529,0,"a"],[6530,0,"t"],[6531,0,"h"],[6532,0,"r"],[6533,0,"m"],[6534,0,"{"],[6535,0,"f"],[6536,0,"i"],[6537,0,"n"],[6538,0,"a"],[6539,0,"l"],[6540,0,"}"],[6541,0,"}"],[6527,0,"{"],[6543,0," "],[6544,0,"="],[6545,0," "],[5212,0,"A"],[5213,0,","],[5214,0," "],[6549,0,"\\"],[6550,0,"m"],[6551,0,"a"],[6552,0,"t"],[6553,0,"h"],[6554,0,"r"],[6555,0,"m"],[6556,0,"{"],[6557,0,"a"],[6558,0,"p"],[6559,0,"p"],[6560,0,"l"],[6561,0,"y"],[6562,0,"}"],[6563,0,"("],[6564,0,"\\"],[6565,0,"m"],[6566,0,"a"],[6567,0,"t"],[6568,0,"h"],[6569,0,"r"],[6570,0,"m"],[6571,0,"{"],[6572,0,"a"],[6573,0,"p"],[6574,0,"p"],[6575,0,"l"],[6576,0,"y"],[6577,0,"}"],[6578,0,"("],[6579,0,"\\"],[6580,0,"d"],[6581,0,"o"],[6582,0,"t"],[6583,0,"s"],[6584,0," "],[6585,0,"\\"],[6586,0,"m"],[6587,0,"a"],[6588,0,"t"],[6589,0,"h"],[6590,0,"r"],[6591,0,"m"],[6592,0,"{"],[6593,0,"a"],[6594,0,"p"],[6595,0,"p"],[6596,0,"l"],[6597,0,"y"],[6598,0,"}"],[6599,0,"("],[6600,0,"A"],[6601,0,"_"],[6602,0,"\\"],[6603,0,"e"],[6604,0,"m"],[6605,0,"p"],[6606,0,"t"],[6607,0,"y"],[6608,0,"s"],[6609,0,"e"],[6610,0,"t"],[6611,0,","],[6612,0," "],[6613,0,"o"],[6614,0,"_"],[6615,0,"1"],[6616,0,")"],[6617,0,","],[6618,0," "],[6619,0,"\\"],[6620,0,"d"],[6621,0,"o"],[6622,0,"t"],[6623,0,"s"],[6624,0,","],[6625,0," "],[6626,0,"o"],[6627,0,"_"],[6628,0,"{"],[6629,0,"n"],[6630,0,"-"],[6631,0,"1"],[6632,0,"}"],[6633,0,")"],[6634,0,","],[6635,0," "],[6636,0,"o"],[6637,0,"_"],[6638,0,"n"],[6639,0,")"],[6640,0," "],[6641,0,"$"],[6642,0,"$"],[6260,1],[6259,1],[6258,1],[6257,1],[6256,1],[6255,1],[6254,1],[6254,0,"E"],[6367,1],[6366,1],[6365,1],[6365,0,"."],[6366,0," "],[6367,0,"T"],[6368,0,"h"],[6369,0,"e"],[6370,0,"r"],[6371,0,"e"],[6372,0,"f"],[6373,0,"o"],[6374,0,"r"],[6375,0,"e"],[6376,0,","],[6377,0," "],[6378,0,"w"],[6390,1],[6390,0,"e"],[6425,1],[6424,1],[6423,1],[6422,1],[6421,1],[6420,1],[6419,1],[6418,1],[6417,1],[6416,1],[6415,1],[6414,1],[6413,1],[6412,1],[6412,0,"f"],[6413,0,"r"],[6414,0,"o"],[6415,0,"m"],[6434,1],[6426,1],[6425,1],[6424,1],[6423,1],[6422,1],[6421,1],[6442,0," "],[6405,1],[6404,1],[6409,0," "],[6410,0,"$"],[6411,0,"p"],[6412,0,"$"],[6445,0,"$"],[6446,0,"H"],[6447,0,"_"],[6448,0,"p"],[6449,0,"="],[6450,0,"o"],[6451,0,"_"],[6452,0,"1"],[6453,0," "],[6454,0,"\\"],[6455,0,"d"],[6456,0,"o"],[6457,0,"t"],[6458,0,"s"],[6459,0," "],[6460,0,"o"],[6461,0,"_"],[6462,0,"n"],[6463,0,"$"],[6464,0," "],[6465,0,"a"],[6466,0,"p"],[6467,0,"p"],[6468,0,"l"],[6469,0,"i"],[6470,0,"e"],[6471,0,"d"],[6479,1],[6478,1],[6477,1],[6476,1],[6476,0,"t"],[6477,0,"h"],[6478,0,"a"],[6479,0,"t"],[6512,1],[6511,1],[6510,1],[6509,1],[6508,1],[6507,1],[6506,1],[6505,1],[6504,1],[6503,1],[6502,1],[6501,1],[6500,1],[6499,1],[6498,1],[6497,1],[6496,1],[6495,1],[6494,1],[6493,1],[6492,1],[6491,1],[6490,1],[6489,1],[6488,1],[6487,1],[6486,1],[6485,1],[6485,0,","],[6487,0,"p"],[6488,0,"r"],[6489,0,"o"],[6490,0,"c"],[6491,0,"e"],[6492,0,"s"],[6493,0,"s"],[6494,0,"e"],[6495,0,"d"],[6496,0," "],[6641,0,"."],[6760,1],[6759,1],[6758,1],[6757,1],[6756,1],[6755,1],[6754,1],[6753,1],[6752,1],[6751,1],[6750,1],[6749,1],[6748,1],[6747,1],[6746,1],[6745,1],[6744,1],[6743,1],[6742,1],[6741,1],[6740,1],[6739,1],[6738,1],[6737,1],[6736,1],[6735,1],[6734,1],[6733,1],[6732,1],[6731,1],[6730,1],[6729,1],[6728,1],[6727,1],[6726,1],[6725,1],[6724,1],[6723,1],[6722,1],[6721,1],[6720,1],[6719,1],[6718,1],[6717,1],[6716,1],[6715,1],[6714,1],[6713,1],[6712,1],[6711,1],[6710,1],[6709,1],[6708,1],[6707,1],[6706,1],[6705,1],[6704,1],[6703,1],[6702,1],[6701,1],[6700,1],[6699,1],[6698,1],[6697,1],[6696,1],[6695,1],[6694,1],[6693,1],[6692,1],[6691,1],[6690,1],[6689,1],[6688,1],[6687,1],[6686,1],[6685,1],[6684,1],[6683,1],[6682,1],[6681,1],[6680,1],[6679,1],[6678,1],[6677,1],[6676,1],[6675,1],[6674,1],[6673,1],[6672,1],[6671,1],[6670,1],[6669,1],[6668,1],[6667,1],[6666,1],[6665,1],[6664,1],[6663,1],[6662,1],[6661,1],[6660,1],[6659,1],[6658,1],[6657,1],[6656,1],[6655,1],[6654,1],[6653,1],[6652,1],[6651,1],[6650,1],[6649,1],[6648,1],[6647,1],[6545,1],[6544,1],[6543,1],[6542,1],[6541,1],[6540,1],[6539,1],[6538,1],[6537,1],[6536,1],[6535,1],[6534,1],[6533,1],[6532,1],[6532,0,"H"],[6533,0,"_"],[6534,0,"p"],[6254,0,"\\"],[6255,0,"t"],[6256,0,"e"],[6257,0,"x"],[6258,0,"t"],[6259,0,"b"],[6260,0,"f"],[6261,0,"{"],[6262,0,"P"],[6263,0,"r"],[6264,0,"o"],[6265,0,"o"],[6266,0,"f"],[6267,0,"."],[6268,0," "],[6268,1],[6268,0,"}"],[6269,0," "],[7429,0,"\n"],[7430,0,"\n"],[7431,0,"W"],[7432,0,"e"],[7433,0," "],[7434,0,"s"],[7435,0,"h"],[7436,0,"o"],[7437,0,"w"],[7438,0," "],[7439,0,"t"],[7440,0,"h"],[7441,0,"e"],[7442,0," "],[7443,0,"i"],[7444,0,"n"],[7445,0,"d"],[7446,0,"u"],[7447,0,"c"],[7448,0,"t"],[7449,0,"i"],[7450,0,"o"],[7451,0,"n"],[7452,0," "],[7453,0,"s"],[7454,0,"t"],[7455,0,"e"],[7456,0,"p"],[7457,0," "],[7458,0,"c"],[7459,0,"a"],[7460,0,"s"],[7461,0,"e"],[7462,0," "],[7463,0,"b"],[7464,0,"y"],[7465,0," "],[7466,0,"c"],[7467,0,"a"],[7468,0,"s"],[7469,0,"e"],[7470,0,","],[7471,0," "],[7472,0,"c"],[7473,0,"o"],[7474,0,"n"],[7475,0,"s"],[7476,0,"i"],[7477,0,"d"],[7478,0,"e"],[7479,0,"r"],[7480,0,"i"],[7481,0,"n"],[7482,0,"g"],[7483,0," "],[7484,0,"e"],[7485,0,"a"],[7486,0,"c"],[7487,0,"h"],[7488,0," "],[7489,0,"t"],[7490,0,"y"],[7491,0,"p"],[7492,0,"e"],[7493,0," "],[7494,0,"o"],[7495,0,"f"],[7496,0," "],[7497,0,"o"],[7498,0,"p"],[7499,0,"e"],[7500,0,"r"],[7501,0,"a"],[7502,0,"t"],[7503,0,"i"],[7504,0,"o"],[7505,0,"n"],[7506,0," "],[7507,0,"$"],[7508,0,"P"],[7508,1],[7508,0,"o"],[7509,0,"_"],[7510,0,"{"],[7511,0,"n"],[7512,0,"+"],[7513,0,"1"],[7514,0,"}"],[7515,0,"$"],[7516,0," "],[7517,0,"t"],[7518,0,"h"],[7519,0,"a"],[7520,0,"t"],[7521,0," "],[7522,0,"m"],[7523,0,"a"],[7524,0,"y"],[7525,0," "],[7526,0,"b"],[7527,0,"e"],[7528,0," "],[7529,0,"i"],[7530,0,"n"],[7531,0,"s"],[7532,0,"e"],[7533,0,"r"],[7534,0,"t"],[7535,0,"e"],[7536,0,"d"],[7537,0,"."],[7538,0," "],[7539,0,"F"],[7540,0,"i"],[7541,0,"r"],[7542,0,"s"],[7543,0,"t"],[7544,0," "],[7545,0,"c"],[7546,0,"o"],[7547,0,"n"],[7548,0,"s"],[7549,0,"i"],[7550,0,"d"],[7551,0,"e"],[7552,0,"r"],[7553,0," "],[7554,0,"t"],[7555,0,"h"],[7556,0,"e"],[7557,0," "],[7558,0,"c"],[7559,0,"a"],[7560,0,"s"],[7561,0,"e"],[7562,0," "],[7563,0,"t"],[7564,0,"h"],[7565,0,"a"],[7566,0,"t"],[7567,0," "],[7568,0,"$"],[7569,0,"o"],[7570,0,"_"],[7538,1],[7538,0,"\n"],[7539,0,"\n"],[7572,0,"{"],[7573,0,"n"],[7574,0,"+"],[7575,0,"1"],[7576,0,"}"],[7577,0,"="],[7578,0,"\\"],[7579,0,"m"],[7580,0,"a"],[7581,0,"t"],[7582,0,"h"],[7583,0,"s"],[7584,0,"f"],[7585,0,"{"],[7586,0,"d"],[7587,0,"e"],[7588,0,"l"],[7589,0,"e"],[7590,0,"t"],[7591,0,"e"],[7592,0,"}"],[7593,0,"("],[7594,0,"\\"],[7595,0,"m"],[7596,0,"a"],[7597,0,"t"],[7598,0,"h"],[7599,0,"i"],[7600,0,"t"],[7601,0,"{"],[7602,0,"i"],[7603,0,"d"],[7604,0,"}"],[7605,0,")"],[7606,0,"$"],[7607,0,"."],[7608,0," "],[7609,0,"B"],[7610,0,"y"],[7611,0," "],[7612,0,"c"],[7613,0,"a"],[7614,0,"u"],[7615,0,"s"],[7616,0,"a"],[7617,0,"l"],[7618,0,"i"],[7619,0,"t"],[7620,0,"y"],[7621,0,","],[7622,0," "],[7623,0,"t"],[7624,0,"h"],[7624,1],[7623,1],[7622,1],[7621,1],[7620,1],[7619,1],[7618,1],[7617,1],[7616,1],[7615,1],[7614,1],[7613,1],[7612,1],[7611,1],[7610,1],[7609,1],[7609,0,"A"],[7610,0," "],[7611,0,"l"],[7612,0,"i"],[7613,0,"s"],[7614,0,"t"],[7615,0," "],[7616,0,"e"],[7617,0,"l"],[7618,0,"e"],[7619,0,"m"],[7620,0,"e"],[7621,0,"n"],[7622,0,"t"],[7623,0," "],[7624,0,"c"],[7625,0,"a"],[7626,0,"n"],[7627,0," "],[7628,0,"o"],[7629,0,"n"],[7630,0,"l"],[7631,0,"y"],[7632,0," "],[7633,0,"b"],[7634,0,"e"],[7635,0," "],[7636,0,"d"],[7637,0,"e"],[7638,0,"l"],[7639,0,"e"],[7640,0,"t"],[7641,0,"e"],[7642,0,"d"],[7643,0," "],[7644,0,"i"],[7645,0,"f"],[7646,0," "],[7647,0,"i"],[7648,0,"t"],[7649,0," "],[7650,0,"e"],[7651,0,"x"],[7652,0,"i"],[7653,0,"s"],[7654,0,"t"],[7655,0,"s"],[7656,0," "],[7657,0,"i"],[7658,0,"n"],[7659,0," "],[7660,0,"t"],[7661,0,"h"],[7662,0,"e"],[7663,0," "],[7664,0,"l"],[7665,0,"i"],[7666,0,"s"],[7667,0,"t"],[7668,0,","],[7669,0," "],[7670,0,"s"],[7671,0,"o"],[7672,0," "],[7673,0,"b"],[7674,0,"y"],[7675,0," "],[7676,0,"c"],[7677,0,"a"],[7678,0,"u"],[7679,0,"s"],[7680,0,"a"],[7681,0,"l"],[7682,0,"i"],[7683,0,"t"],[7684,0,"y"],[7685,0,","],[7686,0," "],[7687,0,"t"],[7688,0,"h"],[7689,0,"e"],[7690,0,"r"],[7691,0,"e"],[7692,0," "],[7693,0,"m"],[7694,0,"u"],[7695,0,"s"],[7696,0,"t"],[7697,0," "],[7698,0,"b"],[7699,0,"e"],[7700,0," "],[7701,0,"a"],[7702,0," "],[7703,0,"p"],[7704,0,"r"],[7705,0,"i"],[7706,0,"o"],[7707,0,"r"],[7708,0," "],[7708,1],[7707,1],[7706,1],[7705,1],[7704,1],[7703,1],[7702,1],[7702,0,"n"],[7703,0," "],[7704,0,"o"],[7705,0,"p"],[7706,0,"e"],[7707,0,"r"],[7708,0,"a"],[7709,0,"t"],[7710,0,"i"],[7711,0,"o"],[7712,0,"n"],[7713,0," "],[7714,0,"$"],[7715,0,"o"],[7716,0,"_"],[7717,0,"i"],[7718,0,"="],[7719,0,"\\"],[7720,0,"m"],[7721,0,"a"],[7722,0,"t"],[7723,0,"h"],[7724,0,"s"],[7725,0,"f"],[7726,0,"{"],[7727,0,"i"],[7728,0,"n"],[7729,0,"s"],[7730,0,"e"],[7731,0,"r"],[7732,0,"t"],[7733,0,"}"],[7734,0,"("],[7735,0,"\\"],[7736,0,"m"],[7737,0,"a"],[7738,0,"t"],[7739,0,"h"],[7740,0,"i"],[7741,0,"t"],[7742,0,"{"],[7743,0,"i"],[7744,0,"d"],[7745,0,"}"],[7746,0,","],[7747,0," "],[7748,0,"\\"],[7749,0,"p"],[7750,0,"l"],[7751,0,"a"],[7752,0,"c"],[7753,0,"e"],[7754,0,"h"],[7755,0,"o"],[7756,0,"l"],[7757,0,"d"],[7758,0,"e"],[7759,0,"r"],[7760,0,","],[7761,0," "],[7762,0,"\\"],[7763,0,"p"],[7764,0,"l"],[7765,0,"a"],[7766,0,"c"],[7767,0,"e"],[7768,0,"h"],[7769,0,"o"],[7770,0,"l"],[7771,0,"d"],[7772,0,"e"],[7773,0,"r"],[7774,0,")"],[7775,0,"$"],[7776,0," "],[7777,0,"a"],[7778,0,"t"],[7779,0," "],[7780,0,"a"],[7781,0," "],[7782,0,"p"],[7783,0,"r"],[7784,0,"i"],[7785,0,"o"],[7786,0,"r"],[7787,0," "],[7788,0,"p"],[7789,0,"o"],[7790,0,"i"],[7791,0,"n"],[7792,0,"t"],[7793,0," "],[7794,0,"i"],[7795,0,"n"],[7796,0," "],[7797,0,"t"],[7798,0,"h"],[7799,0,"e"],[7800,0," "],[7801,0,"h"],[7802,0,"i"],[7803,0,"s"],[7804,0,"t"],[7805,0,"o"],[7806,0,"r"],[7807,0,"y"],[7808,0,"."],[7809,0," "],[7810,0,"M"],[7811,0,"o"],[7812,0,"r"],[7813,0,"e"],[7814,0,"o"],[7815,0,"v"],[7816,0,"e"],[7817,0,"r"],[7818,0,","],[7819,0," "],[7820,0,"L"],[7821,0,"a"],[7822,0,"m"],[7823,0,"p"],[7824,0,"o"],[7825,0,"r"],[7826,0,"t"],[7827,0," "],[7828,0,"t"],[7829,0,"i"],[7830,0,"m"],[7831,0,"e"],[7832,0,"s"],[7833,0,"t"],[7834,0,"a"],[7835,0,"m"],[7836,0,"p"],[7837,0,"s"],[7838,0," "],[7839,0,"u"],[7840,0,"s"],[7841,0,"e"],[7842,0,"d"],[7843,0," "],[7820,0,"t"],[7821,0,"h"],[7822,0,"e"],[7823,0," "],[7841,1],[7847,0,"a"],[7848,0,"s"],[7849,0," "],[7850,0,"\\"],[7850,1],[7850,0,"$"],[7851,0,"\\"],[7852,0,"m"],[7853,0,"a"],[7854,0,"t"],[7855,0,"h"],[7856,0,"i"],[7857,0,"d"],[7858,0,"{"],[7858,1],[7857,1],[7857,0,"t"],[7858,0,"{"],[7859,0,"i"],[7860,0,"d"],[7861,0,"}"],[7862,0,"$"],[7863,0," "],[7864,0,"i"],[7865,0,"s"],[7866,0," "],[7867,0,"u"],[7868,0,"n"],[7869,0,"i"],[7870,0,"q"],[7871,0,"u"],[7872,0,"e"],[7873,0,","],[7874,0," "],[7875,0,"s"],[7876,0,"o"],[7877,0," "],[7878,0,"t"],[7879,0,"h"],[7880,0,"e"],[7881,0,"r"],[7882,0,"e"],[7883,0," "],[7884,0,"m"],[7885,0,"u"],[7886,0,"s"],[7887,0,"t"],[7888,0," "],[7889,0,"b"],[7890,0,"e"],[7891,0," "],[7892,0,"e"],[7893,0,"x"],[7894,0,"a"],[7895,0,"c"],[7896,0,"t"],[7897,0,"l"],[7898,0,"y"],[7899,0," "],[7900,0,"o"],[7901,0,"n"],[7902,0,"e"],[7903,0," "],[7904,0,"s"],[7905,0,"u"],[7906,0,"c"],[7907,0,"h"],[7908,0," "],[7909,0,"$"],[7910,0,"\\"],[7911,0,"m"],[7912,0,"a"],[7913,0,"t"],[7914,0,"h"],[7915,0,"s"],[7916,0,"f"],[7917,0,"{"],[7918,0,"i"],[7919,0,"n"],[7920,0,"s"],[7921,0,"e"],[7922,0,"r"],[7923,0,"t"],[7924,0,"}"],[7925,0,"$"],[7926,0," "],[7927,0,"o"],[7928,0,"p"],[7929,0,"e"],[7930,0,"r"],[7931,0,"a"],[7932,0,"t"],[7933,0,"i"],[7934,0,"o"],[7935,0,"n"],[7936,0,","],[7937,0," "],[7938,0,"a"],[7939,0,"n"],[7940,0,"d"],[7941,0," "],[7942,0,"t"],[7943,0,"h"],[7944,0,"e"],[7945,0,"r"],[7946,0,"e"],[7947,0," "],[7948,0,"c"],[7949,0,"a"],[7950,0,"n"],[7951,0,"n"],[7952,0,"o"],[7953,0,"t"],[7954,0," "],[7955,0,"b"],[7956,0,"e"],[7957,0," "],[7958,0,"a"],[7959,0,"n"],[7960,0,"y"],[7961,0," "],[7962,0,"$"],[7963,0,"\\"],[7964,0,"m"],[7965,0,"a"],[7966,0,"t"],[7967,0,"h"],[7968,0,"s"],[7969,0,"f"],[7970,0,"{"],[7971,0,"i"],[7972,0,"s"],[7973,0,"n"],[7974,0,"e"],[7975,0,"r"],[7976,0,"t"],[7976,1],[7975,1],[7974,1],[7973,1],[7972,1],[7972,0,"n"],[7973,0,"s"],[7974,0,"e"],[7975,0,"r"],[7976,0,"t"],[7977,0,"}"],[7978,0,"$"],[7979,0," "],[7980,0,"o"],[7981,0,"p"],[7982,0,"e"],[7983,0,"r"],[7984,0,"a"],[7985,0,"t"],[7986,0,"i"],[7987,0,"o"],[7988,0,"n"],[7989,0," "],[7990,0,"f"],[7991,0,"o"],[7992,0,"r"],[7993,0," "],[7994,0,"t"],[7995,0,"h"],[7996,0,"e"],[7997,0," "],[7998,0,"s"],[7999,0,"a"],[8000,0,"m"],[8001,0,"e"],[8002,0," "],[8003,0,"$"],[8004,0,"\\"],[8005,0,"m"],[8006,0,"a"],[8007,0,"t"],[8008,0,"h"],[8009,0,"i"],[8010,0,"t"],[8011,0,"{"],[8012,0,"i"],[8013,0,"d"],[8014,0,"}"],[8015,0,"$"],[8016,0," "],[8017,0,"a"],[8018,0,"t"],[8019,0," "],[8020,0,"a"],[8021,0," "],[8022,0,"p"],[8023,0,"o"],[8024,0,"i"],[8025,0,"n"],[8026,0,"t"],[8027,0," "],[8028,0,"a"],[8029,0,"f"],[8030,0,"t"],[8031,0,"e"],[8032,0,"r"],[8033,0," "],[8034,0,"$"],[8035,0,"o"],[8036,0,"_"],[8037,0,"{"],[8038,0,"n"],[8039,0,"+"],[8040,0,"1"],[8041,0,"}"],[8042,0,"$"],[8043,0," "],[8044,0,"i"],[8045,0,"n"],[8046,0," "],[8047,0,"t"],[8048,0,"h"],[8049,0,"e"],[8050,0," "],[8051,0,"h"],[8052,0,"i"],[8053,0,"s"],[8054,0,"t"],[8055,0,"o"],[8056,0,"r"],[8057,0,"y"],[8058,0,"."],[8059,0,"\n"],[8060,0,"\n"],[8061,0,"T"],[8062,0,"h"],[8063,0,"u"],[8064,0,"s"],[8065,0,","],[8066,0," "],[8067,0,"t"],[8068,0,"h"],[8069,0,"e"],[8070,0," "],[8071,0,"o"],[8072,0,"n"],[8073,0,"l"],[8074,0,"y"],[8075,0," "],[8076,0,"m"],[8076,1],[8076,0,"o"],[8077,0,"p"],[8078,0,"e"],[8079,0,"r"],[8080,0,"a"],[8081,0,"t"],[8082,0,"i"],[8083,0,"o"],[8084,0,"n"],[8085,0," "],[8086,0,"t"],[8087,0,"h"],[8088,0,"a"],[8089,0,"t"],[8090,0," "],[8091,0,"c"],[8092,0,"a"],[8093,0,"n"],[8094,0," "],[8095,0,"m"],[8096,0,"o"],[8097,0,"d"],[8098,0,"i"],[8099,0,"f"],[8100,0,"y"],[8101,0," "],[8102,0,"t"],[8103,0,"h"],[8104,0,"e"],[8105,0," "],[8106,0,"m"],[8107,0,"a"],[8108,0,"p"],[8109,0,"p"],[8110,0,"i"],[8111,0,"n"],[8112,0,"g"],[8113,0," "],[8114,0,"f"],[8115,0,"o"],[8116,0,"r"],[8117,0," "],[8118,0,"t"],[8119,0,"h"],[8120,0,"e"],[8121,0," "],[8121,1],[8120,1],[8119,1],[8118,1],[8118,0,"$"],[8119,0,"A"],[8120,0,"("],[8121,0,"\\"],[8122,0,"m"],[8123,0,"a"],[8124,0,"t"],[8125,0,"h"],[8126,0,"i"],[8127,0,"t"],[8128,0,"{"],[8129,0,"i"],[8130,0,"d"],[8131,0,"}"],[8132,0,"$"],[8132,1],[8132,0,")"],[8133,0,"$"],[8134,0," "],[8060,0,"\n"],[8061,0,"N"],[8062,0,"o"],[8063,0,"t"],[8064,0,"e"],[8065,0," "],[8066,0,"t"],[8067,0,"h"],[8068,0,"a"],[8069,0,"t"],[8070,0," "],[8071,0,"t"],[8072,0,"h"],[8073,0,"e"],[8074,0," "],[8074,1],[8073,1],[8072,1],[8071,1],[8071,0,"a"],[8072,0,"p"],[8073,0,"p"],[8074,0,"l"],[8075,0,"y"],[8076,0,"i"],[8077,0,"n"],[8078,0,"g"],[8079,0," "],[8080,0,"$"],[8081,0,"\\"],[8082,0,"m"],[8083,0,"a"],[8084,0,"t"],[8085,0,"h"],[8086,0,"s"],[8087,0,"f"],[8088,0,"{"],[8089,0,"d"],[8090,0,"e"],[8091,0,"l"],[8092,0,"e"],[8093,0,"t"],[8094,0,"e"],[8095,0,"}"],[8096,0,"("],[8097,0,"\\"],[8098,0,"m"],[8099,0,"a"],[8100,0,"t"],[8101,0,"h"],[8102,0,"i"],[8103,0,"t"],[8104,0,"{"],[8105,0,"i"],[8106,0,"d"],[8107,0,"}"],[8108,0,")"],[8109,0,"$"],[8110,0," "],[8145,1],[8144,1],[8143,1],[8142,1],[8141,1],[8140,1],[8139,1],[8138,1],[8137,1],[8136,1],[8135,1],[8134,1],[8133,1],[8132,1],[8131,1],[8130,1],[8129,1],[8128,1],[8127,1],[8126,1],[8125,1],[8124,1],[8123,1],[8122,1],[8121,1],[8120,1],[8119,1],[8118,1],[8117,1],[8116,1],[8115,1],[8114,1],[8113,1],[8112,1],[8111,1],[8116,1],[8116,0,"i"],[8117,0,"e"],[8118,0,"s"],[8119,0," "],[8120,0,"o"],[8121,0,"n"],[8122,0,"l"],[8123,0,"y"],[8158,0,"i"],[8159,0,"n"],[8160,0," "],[8161,0,"t"],[8162,0,"h"],[8163,0,"e"],[8164,0," "],[8165,0,"s"],[8166,0,"t"],[8167,0,"a"],[8168,0,"t"],[8169,0,"e"],[8170,0," "],[8157,0,","],[8160,1],[8159,1],[8159,0,"a"],[8160,0,"n"],[8161,0,"d"],[8162,0," "],[8163,0,"o"],[8164,0,"t"],[8165,0,"h"],[8166,0,"e"],[8167,0,"r"],[8168,0,"w"],[8169,0,"i"],[8170,0,"s"],[8171,0,"e"],[8172,0," "],[8173,0,"l"],[8174,0,"e"],[8175,0,"a"],[8176,0,"v"],[8177,0,"e"],[8178,0,"s"],[8190,0,"$"],[8191,0,"A"],[8192,0,"$"],[8193,0," "],[8194,0,"u"],[8195,0,"n"],[8196,0,"c"],[8197,0,"h"],[8198,0,"a"],[8199,0,"n"],[8200,0,"g"],[8201,0,"e"],[8202,0,"d"],[8203,0,"."],[8204,0," "],[8205,0,"T"],[8206,0,"h"],[8207,0,"e"],[8208,0," "],[8209,0,"o"],[8210,0,"p"],[8211,0,"e"],[8212,0,"r"],[8213,0,"a"],[8214,0,"t"],[8215,0,"i"],[8216,0,"o"],[8217,0,"n"],[8218,0," "],[8219,0,"c"],[8220,0,"a"],[8221,0,"n"],[8222,0," "],[8223,0,"t"],[8224,0,"h"],[8225,0,"u"],[8226,0,"s"],[8227,0," "],[8228,0,"o"],[8229,0,"n"],[8230,0,"l"],[8231,0,"y"],[8232,0," "],[8233,0,"i"],[8234,0,"n"],[8235,0,"t"],[8236,0,"e"],[8237,0,"r"],[8238,0,"a"],[8239,0,"c"],[8240,0,"t"],[8241,0," "],[8242,0,"w"],[8243,0,"i"],[8244,0,"t"],[8245,0,"h"],[8246,0," "],[8247,0,"a"],[8248,0,"n"],[8249,0,"o"],[8250,0,"t"],[8251,0,"h"],[8252,0,"e"],[8253,0,"r"],[8254,0," "],[8255,0,"o"],[8256,0,"p"],[8257,0,"e"],[8258,0,"r"],[8259,0,"a"],[8260,0,"t"],[8261,0,"i"],[8262,0,"o"],[8263,0,"n"],[8264,0," "],[8265,0,"t"],[8266,0,"h"],[8267,0,"a"],[8268,0,"t"],[8269,0," "],[8270,0,"m"],[8271,0,"o"],[8272,0,"d"],[8273,0,"i"],[8274,0,"f"],[8275,0,"i"],[8276,0,"e"],[8277,0,"s"],[8278,0," "],[8279,0,"t"],[8280,0,"h"],[8281,0,"e"],[8282,0," "],[8283,0,"m"],[8284,0,"a"],[8285,0,"p"],[8286,0,"p"],[8287,0,"i"],[8288,0,"n"],[8289,0,"g"],[8290,0," "],[8291,0,"f"],[8292,0,"o"],[8293,0,"r"],[8294,0," "],[8295,0,"$"],[8296,0,"A"],[8297,0,"("],[8298,0,"\\"],[8299,0,"m"],[8300,0,"a"],[8301,0,"t"],[8302,0,"h"],[8303,0,"i"],[8304,0,"t"],[8305,0,"{"],[8306,0,"i"],[8307,0,"d"],[8308,0,"}"],[8309,0,")"],[8310,0,"$"],[8311,0,";"],[8312,0," "],[8313,0,"i"],[8314,0,"t"],[8315,0," "],[8316,0,"i"],[8317,0,"s"],[8318,0," "],[8319,0,"t"],[8320,0,"r"],[8321,0,"i"],[8322,0,"v"],[8323,0,"i"],[8324,0,"a"],[8325,0,"l"],[8326,0,"l"],[8327,0,"y"],[8328,0," "],[8311,1],[8311,0,","],[8312,0," "],[8313,0,"a"],[8314,0,"n"],[8315,0,"d"],[8333,0,"c"],[8334,0,"o"],[8335,0,"m"],[8336,0,"m"],[8337,0,"u"],[8338,0,"t"],[8339,0,"a"],[8340,0,"t"],[8341,0,"i"],[8342,0,"v"],[8343,0,"e"],[8344,0," "],[8345,0,"w"],[8346,0,"i"],[8347,0,"t"],[8348,0,"h"],[8349,0," "],[8350,0,"r"],[8351,0,"e"],[8352,0,"s"],[8353,0,"p"],[8354,0,"e"],[8355,0,"c"],[8356,0,"t"],[8357,0," "],[8358,0,"t"],[8359,0,"o"],[8360,0," "],[8361,0,"a"],[8203,0,","],[8204,0," "],[8205,0,"s"],[8206,0,"o"],[8207,0," "],[8208,0,"i"],[8209,0,"t"],[8210,0," "],[8211,0,"i"],[8212,0,"s"],[8213,0," "],[8214,0,"t"],[8215,0,"r"],[8216,0,"i"],[8217,0,"v"],[8218,0,"i"],[8219,0,"a"],[8220,0,"l"],[8221,0,"l"],[8222,0,"y"],[8223,0," "],[8224,0,"c"],[8225,0,"o"],[8226,0,"m"],[8227,0,"m"],[8228,0,"u"],[8229,0,"t"],[8230,0,"a"],[8231,0,"t"],[8232,0,"i"],[8233,0,"v"],[8234,0,"e"],[8235,0," "],[8236,0,"w"],[8237,0,"i"],[8238,0,"t"],[8239,0,"h"],[8240,0," "],[8241,0,"r"],[8242,0,"e"],[8243,0,"s"],[8244,0,"p"],[8245,0,"e"],[8246,0,"c"],[8247,0,"t"],[8248,0," "],[8249,0,"t"],[8250,0,"o"],[8251,0," "],[8252,0,"a"],[8253,0,"n"],[8254,0,"y"],[8255,0," "],[8256,0,"o"],[8257,0,"p"],[8258,0,"e"],[8259,0,"r"],[8260,0,"a"],[8261,0,"t"],[8262,0,"i"],[8263,0,"o"],[8264,0,"n"],[8265,0," "],[8266,0,"t"],[8267,0,"h"],[8268,0,"a"],[8269,0,"t"],[8270,0," "],[8271,0,"d"],[8272,0,"o"],[8273,0,"e"],[8274,0,"s"],[8275,0," "],[8276,0,"n"],[8277,0,"o"],[8278,0,"t"],[8279,0," "],[8280,0,"m"],[8281,0,"o"],[8282,0,"d"],[8283,0,"i"],[8284,0,"f"],[8285,0,"y"],[8286,0," "],[8287,0,"o"],[8288,0,"r"],[8289,0," "],[8290,0,"d"],[8291,0,"e"],[8292,0,"p"],[8293,0,"e"],[8294,0,"n"],[8295,0,"d"],[8296,0," "],[8297,0,"o"],[8298,0,"n"],[8299,0," "],[8300,0,"$"],[8301,0,"A"],[8302,0,"("],[8303,0,"\\"],[8304,0,"m"],[8305,0,"a"],[8306,0,"t"],[8307,0,"h"],[8308,0,"i"],[8309,0,"t"],[8310,0,"{"],[8311,0,"i"],[8312,0,"d"],[8313,0,"}"],[8314,0,")"],[8315,0,"$"],[8317,0,"\n"],[8318,0,"\n"],[7539,0,"\n"],[7540,0,"\\"],[7541,0,"s"],[7542,0,"u"],[7543,0,"b"],[7544,0,"s"],[7545,0,"u"],[7546,0,"b"],[7547,0,"s"],[7548,0,"e"],[7549,0,"c"],[7550,0,"t"],[7551,0,"i"],[7552,0,"o"],[7553,0,"n"],[7554,0,"{"],[7555,0,"D"],[7556,0,"e"],[7557,0,"l"],[7558,0,"e"],[7559,0,"t"],[7560,0,"i"],[7561,0,"o"],[7562,0,"n"],[7563,0,"}"],[7564,0,"\n"],[7555,0,"C"],[7556,0,"o"],[7557,0,"m"],[7558,0,"m"],[7559,0,"u"],[7560,0,"t"],[7561,0,"a"],[7562,0,"t"],[7563,0,"i"],[7564,0,"v"],[7565,0,"i"],[7566,0,"t"],[7567,0,"y"],[7568,0," "],[7569,0,"o"],[7570,0,"f"],[7571,0," "],[7572,1],[7572,0,"d"],[8519,1],[8518,1],[8517,1],[8516,1],[8515,1],[8514,1],[8513,1],[8512,1],[8511,1],[8510,1],[8509,1],[8508,1],[8507,1],[8506,1],[8505,1],[8504,1],[8503,1],[8502,1],[8501,1],[8500,1],[8499,1],[8498,1],[8497,1],[8496,1],[8495,1],[8494,1],[8493,1],[8492,1],[8491,1],[8490,1],[8489,1],[8488,1],[8487,1],[8486,1],[8485,1],[8484,1],[8483,1],[8482,1],[8481,1],[8480,1],[8479,1],[8478,1],[8477,1],[8476,1],[8475,1],[8474,1],[8473,1],[8472,1],[8471,1],[8470,1],[8469,1],[8468,1],[8467,1],[8466,1],[8465,1],[8464,1],[8463,1],[8462,1],[8461,1],[8460,1],[8459,1],[8458,1],[8457,1],[8456,1],[8455,1],[8454,1],[8453,1],[8452,1],[8451,1],[8450,1],[8449,1],[8448,1],[8447,1],[8446,1],[8445,1],[8444,1],[8443,1],[8442,1],[8441,1],[8440,1],[8439,1],[8438,1],[8437,1],[8436,1],[8435,1],[8434,1],[8433,1],[8432,1],[8431,1],[8430,1],[8429,1],[8428,1],[8427,1],[8426,1],[8425,1],[8424,1],[8423,1],[8422,1],[8421,1],[8420,1],[8419,1],[8418,1],[8417,1],[8416,1],[8415,1],[8414,1],[8413,1],[8412,1],[8411,1],[8410,1],[8409,1],[8408,1],[8407,1],[8406,1],[8405,1],[8404,1],[8403,1],[8402,1],[8401,1],[8400,1],[8399,1],[8398,1],[8397,1],[8396,1],[8395,1],[8394,1],[8393,1],[8392,1],[8391,1],[8390,1],[8389,1],[8388,1],[8387,1],[8386,1],[8385,1],[8384,1],[8383,1],[8382,1],[8381,1],[8380,1],[8379,1],[8378,1],[8377,1],[8376,1],[8375,1],[8374,1],[8373,1],[8372,1],[8371,1],[8370,1],[8369,1],[8368,1],[8367,1],[8366,1],[8365,1],[8364,1],[8363,1],[8362,1],[7742,1],[7741,1],[7741,0,"e"],[7742,0,"x"],[7743,0,"i"],[7744,0,"s"],[7745,0,"t"],[8365,0,"T"],[8366,0,"h"],[8367,0,"e"],[8368,0," "],[8369,0,"f"],[8370,0,"i"],[8371,0,"r"],[8372,0,"s"],[8373,0,"t"],[8374,0," "],[8375,0,"k"],[8376,0,"i"],[8377,0,"n"],[8378,0,"d"],[8379,0," "],[8380,0,"o"],[8381,0,"f"],[8382,0," "],[8383,0,"o"],[8384,0,"p"],[8385,0,"e"],[8386,0,"r"],[8387,0,"a"],[8388,0,"t"],[8389,0,"i"],[8390,0,"o"],[8391,0,"n"],[8392,0," "],[8393,0,"t"],[8394,0,"h"],[8395,0,"a"],[8396,0,"t"],[8397,0," "],[8398,0,"c"],[8399,0,"a"],[8400,0,"n"],[8401,0," "],[8402,0,"a"],[8402,1],[8402,0,"m"],[8403,0,"o"],[8404,0,"d"],[8405,0,"i"],[8406,0,"f"],[8407,0,"y"],[8408,0," "],[8409,0,"t"],[8410,0,"h"],[8411,0,"e"],[8412,0," "],[8413,0,"s"],[8414,0,"a"],[8415,0,"m"],[8416,0,"e"],[8417,0," "],[8418,0,"$"],[8419,0,"A"],[8420,0,"("],[8421,0,"\\"],[8422,0,"m"],[8423,0,"a"],[8424,0,"t"],[8425,0,"h"],[8426,0,"i"],[8427,0,"t"],[8428,0,"{"],[8429,0,"i"],[8430,0,"d"],[8431,0,"}"],[8432,0,")"],[8433,0,"$"],[8434,0," "],[8435,0,"i"],[8436,0,"s"],[8437,0," "],[8438,0,"a"],[8439,0," "],[8440,0,"$"],[8441,0,"\\"],[8442,0,"m"],[8443,0,"a"],[8444,0,"t"],[8445,0,"h"],[8446,0,"s"],[8447,0,"f"],[8448,0,"{"],[8449,0,"d"],[8450,0,"e"],[8451,0,"l"],[8452,0,"e"],[8453,0,"t"],[8454,0,"e"],[8455,0,"}"],[8456,0,"$"],[8457,0," "],[8458,0,"o"],[8459,0,"p"],[8460,0,"e"],[8461,0,"r"],[8462,0,"a"],[8463,0,"t"],[8464,0,"i"],[8465,0,"o"],[8466,0,"n"],[8467,0," "],[8468,0,"f"],[8469,0,"o"],[8470,0,"r"],[8471,0," "],[8472,0,"t"],[8473,0,"h"],[8474,0,"e"],[8475,0," "],[8476,0,"s"],[8477,0,"a"],[8478,0,"m"],[8479,0,"e"],[8480,0," "],[8481,0,"l"],[8482,0,"i"],[8483,0,"s"],[8484,0,"t"],[8485,0," "],[8486,0,"e"],[8487,0,"l"],[8488,0,"e"],[8489,0,"m"],[8490,0,"e"],[8491,0,"n"],[8492,0,"t"],[8493,0," "],[8494,0,"$"],[8495,0,"\\"],[8496,0,"m"],[8497,0,"a"],[8498,0,"t"],[8499,0,"h"],[8500,0,"i"],[8501,0,"t"],[8502,0,"{"],[8503,0,"i"],[8504,0,"d"],[8505,0,"}"],[8506,0,"$"],[8507,0,"."],[8508,0," "],[8509,0,"A"],[8510,0,"s"],[8511,0," "],[8512,0,"t"],[8513,0,"h"],[8514,0,"e"],[8515,0," "],[8516,0,"r"],[8517,0,"u"],[8518,0,"l"],[8519,0,"e"],[8520,0," "],[8521,0,"f"],[8522,0,"o"],[8523,0,"r"],[8524,0," "],[8525,0,"a"],[8526,0,"p"],[8527,0,"p"],[8528,0,"l"],[8529,0,"y"],[8530,0,"i"],[8531,0,"n"],[8532,0,"g"],[8533,0," "],[8534,0,"t"],[8535,0,"h"],[8536,0,"i"],[8537,0,"s"],[8538,0," "],[8539,0,"o"],[8540,0,"p"],[8541,0,"e"],[8542,0,"r"],[8543,0,"a"],[8544,0,"t"],[8545,0,"i"],[8546,0,"o"],[8547,0,"n"],[8548,0," "],[8549,0,"i"],[8550,0,"s"],[8551,0," "],[8552,0,"i"],[8553,0,"d"],[8554,0,"e"],[8555,0,"m"],[8556,0,"p"],[8557,0,"o"],[8558,0,"t"],[8559,0,"e"],[8560,0,"n"],[8561,0,"t"],[8562,0,","],[8563,0," "],[8564,0,"t"],[8565,0,"h"],[8566,0,"e"],[8567,0," "],[8568,0,"p"],[8569,0,"r"],[8570,0,"e"],[8571,0,"s"],[8572,0,"e"],[8573,0,"n"],[8574,0,"c"],[8575,0,"e"],[8576,0," "],[8577,0,"o"],[8578,0,"f"],[8579,0," "],[8580,0,"a"],[8581,0,"n"],[8582,0,"y"],[8583,0," "],[8584,0,"o"],[8585,0,"t"],[8586,0,"h"],[8587,0,"e"],[8588,0,"r"],[8589,0," "],[8590,0,"$"],[8591,0,"\\"],[8592,0,"m"],[8593,0,"a"],[8594,0,"t"],[8595,0,"h"],[8596,0,"s"],[8597,0,"f"],[8598,0,"{"],[8599,0,"d"],[8600,0,"e"],[8601,0,"l"],[8602,0,"e"],[8603,0,"t"],[8604,0,"e"],[8605,0,"}"],[8606,0,"("],[8607,0,"\\"],[8608,0,"m"],[8609,0,"a"],[8610,0,"t"],[8611,0,"h"],[8612,0,"i"],[8613,0,"t"],[8614,0,"{"],[8615,0,"i"],[8616,0,"d"],[8617,0,"}"],[8618,0,")"],[8619,0,"$"],[8620,0," "],[8621,0,"o"],[8622,0,"p"],[8623,0,"e"],[8624,0,"r"],[8625,0,"a"],[8626,0,"t"],[8627,0,"i"],[8628,0,"o"],[8629,0,"n"],[8630,0,"s"],[8631,0," "],[8632,0,"b"],[8633,0,"e"],[8634,0,"f"],[8635,0,"o"],[8636,0,"r"],[8637,0,"e"],[8638,0," "],[8639,0,"o"],[8640,0,"r"],[8641,0," "],[8642,0,"a"],[8643,0,"f"],[8644,0,"t"],[8645,0,"e"],[8646,0,"r"],[8647,0," "],[8648,0,"$"],[8649,0,"{"],[8649,1],[8649,0,"o"],[8650,0,"_"],[8651,0,"{"],[8652,0,"n"],[8653,0,"+"],[8654,0,"1"],[8655,0,"}"],[8656,0,"$"],[8657,0," "],[8658,0,"i"],[8659,0,"n"],[8660,0," "],[8661,0,"t"],[8662,0,"h"],[8663,0,"e"],[8664,0," "],[8665,0,"h"],[8666,0,"i"],[8667,0,"s"],[8668,0,"t"],[8669,0,"o"],[8670,0,"r"],[8671,0,"y"],[8672,0," "],[8673,0,"d"],[8674,0,"o"],[8675,0,"e"],[8676,0,"s"],[8677,0," "],[8678,0,"n"],[8679,0,"o"],[8680,0,"t"],[8681,0," "],[8682,0,"h"],[8683,0,"a"],[8684,0,"v"],[8685,0,"e"],[8686,0," "],[8687,0,"a"],[8688,0,"n"],[8689,0,"y"],[8690,0," "],[8691,0,"e"],[8692,0,"f"],[8693,0,"f"],[8694,0,"e"],[8695,0,"c"],[8696,0,"t"],[8697,0," "],[8698,0,"o"],[8699,0,"n"],[8700,0," "],[8701,0,"t"],[8702,0,"h"],[8703,0,"e"],[8704,0," "],[8705,0,"f"],[8706,0,"i"],[8707,0,"n"],[8708,0,"a"],[8709,0,"l"],[8710,0," "],[8711,0,"s"],[8712,0,"t"],[8713,0,"a"],[8714,0,"t"],[8715,0,"e"],[8716,0,"."],[8717,0,"\n"],[8718,0,"\n"],[8719,0,"T"],[8720,0,"h"],[8721,0,"e"],[8722,0," "],[8723,0,"o"],[8724,0,"n"],[8725,0,"l"],[8726,0,"y"],[8727,0," "],[8728,0,"o"],[8729,0,"t"],[8730,0,"h"],[8731,0,"e"],[8732,0,"r"],[8733,0," "],[8734,0,"k"],[8735,0,"i"],[8736,0,"n"],[8737,0,"d"],[8738,0," "],[8739,0,"o"],[8740,0,"f"],[8741,0," "],[8742,0,"o"],[8743,0,"p"],[8744,0,"e"],[8745,0,"r"],[8746,0,"a"],[8747,0,"t"],[8748,0,"i"],[8749,0,"o"],[8750,0,"n"],[8751,0," "],[8752,0,"t"],[8753,0,"h"],[8754,0,"a"],[8755,0,"t"],[8756,0," "],[8757,0,"c"],[8758,0,"a"],[8759,0,"n"],[8760,0," "],[8761,0,"d"],[8762,0,"e"],[8763,0,"p"],[8764,0,"e"],[8765,0,"n"],[8766,0,"d"],[8767,0," "],[8768,0,"o"],[8769,0,"n"],[8770,0," "],[8771,0,"o"],[8772,0,"r"],[8773,0," "],[8774,0,"m"],[8775,0,"o"],[8776,0,"d"],[8777,0,"i"],[8778,0,"f"],[8779,0,"y"],[8780,0," "],[8781,0,"$"],[8782,0,"A"],[8783,0,"("],[8784,0,"\\"],[8785,0,"m"],[8786,0,"a"],[8787,0,"t"],[8788,0,"h"],[8789,0,"i"],[8790,0,"t"],[8791,0,"{"],[8792,0,"i"],[8793,0,"d"],[8794,0,"}"],[8795,0,")"],[8796,0,"$"],[8797,0," "],[8798,0,"i"],[8799,0,"s"],[8800,0," "],[8801,0,"a"],[8802,0,"n"],[8803,0," "],[8804,0,"\\"],[8804,1],[8804,0,"$"],[8805,0,"\\"],[8806,0,"m"],[8807,0,"a"],[8808,0,"t"],[8809,0,"h"],[8810,0,"s"],[8811,0,"f"],[8812,0,"{"],[8813,0,"i"],[8814,0,"n"],[8815,0,"s"],[8816,0,"e"],[8817,0,"r"],[8818,0,"t"],[8819,0,"}"],[8820,0,"$"],[8821,0," "],[8822,0,"o"],[8823,0,"p"],[8824,0,"e"],[8825,0,"r"],[8826,0,"a"],[8827,0,"t"],[8828,0,"i"],[8829,0,"o"],[8830,0,"n"],[8831,0," "],[8832,0,"i"],[8833,0,"n"],[8834,0," "],[8835,0,"w"],[8836,0,"h"],[8837,0,"i"],[8838,0,"c"],[8839,0,"h"],[8840,0," "],[8840,1],[8839,1],[8838,1],[8837,1],[8836,1],[8835,1],[8834,1],[8833,1],[8832,1],[8831,1],[8820,0,"("],[8821,0,"\\"],[8822,0,"p"],[8823,0,"l"],[8824,0,"a"],[8825,0,"c"],[8826,0,"e"],[8827,0,"h"],[8828,0,"o"],[8829,0,"l"],[8830,0,"d"],[8831,0,"e"],[8832,0,"r"],[8833,0,","],[8834,0," "],[8835,0,"\\"],[8836,0,"m"],[8837,0,"a"],[8838,0,"t"],[8839,0,"h"],[8840,0,"i"],[8841,0,"t"],[8842,0,"{"],[8843,0,"i"],[8844,0,"d"],[8845,0,"}"],[8846,0,","],[8847,0," "],[8848,0,"\\"],[8849,0,"p"],[8850,0,"l"],[8851,0,"a"],[8852,0,"c"],[8853,0,"e"],[8854,0,"h"],[8855,0,"o"],[8856,0,"l"],[8857,0,"d"],[8858,0,"e"],[8859,0,"r"],[8860,0,")"],[8872,0,"."],[8719,0," "],[8719,0,"W"],[8720,0,"e"],[8721,0," "],[8722,0,"s"],[8723,0,"h"],[8724,0,"o"],[8725,0,"w"],[8726,0,"e"],[8727,0,"d"],[8728,0," "],[8729,0,"t"],[8730,0,"h"],[8731,0,"a"],[8732,0,"t"],[8733,0," "],[8734,0,"a"],[8735,0,"n"],[8736,0," "],[8737,0,"$"],[8738,0,"\\"],[8739,0,"m"],[8740,0,"a"],[8741,0,"t"],[8742,0,"h"],[8743,0,"s"],[8744,0,"f"],[8745,0,"{"],[8746,0,"i"],[8747,0,"n"],[8748,0,"s"],[8749,0,"e"],[8750,0,"r"],[8751,0,"t"],[8752,0,"}"],[8753,0,"("],[8754,0,"\\"],[8755,0,"m"],[8756,0,"a"],[8757,0,"t"],[8758,0,"h"],[8759,0,"i"],[8760,0,"t"],[8761,0,"{"],[8762,0,"i"],[8763,0,"d"],[8764,0,"}"],[8765,0,","],[8766,0," "],[8767,0,"\\"],[8768,0,"p"],[8769,0,"l"],[8770,0,"a"],[8771,0,"c"],[8772,0,"e"],[8773,0,"h"],[8774,0,"o"],[8775,0,"l"],[8776,0,"d"],[8777,0,"e"],[8778,0,"r"],[8779,0,","],[8780,0," "],[8781,0,"\\"],[8782,0,"p"],[8783,0,"l"],[8784,0,"a"],[8785,0,"c"],[8786,0,"e"],[8787,0,"h"],[8788,0,"o"],[8789,0,"l"],[8790,0,"d"],[8791,0,"e"],[8792,0,"r"],[8793,0,")"],[8794,0,"$"],[8795,0," "],[8796,0,"o"],[8797,0,"p"],[8798,0,"e"],[8799,0,"r"],[8800,0,"a"],[8801,0,"t"],[8802,0,"i"],[8803,0,"o"],[8804,0,"n"],[8805,0," "],[8806,0,"c"],[8807,0,"a"],[8808,0,"n"],[8809,0," "],[8810,0,"o"],[8811,0,"n"],[8812,0,"l"],[8813,0,"y"],[8814,0," "],[8815,0,"o"],[8816,0,"c"],[8817,0,"c"],[8818,0,"u"],[8819,0,"r"],[8820,0," "],[8821,0,"p"],[8822,0,"r"],[8823,0,"i"],[8824,0,"o"],[8825,0,"r"],[8826,0," "],[8827,0,"t"],[8828,0,"o"],[8829,0," "],[8830,0,"$"],[8831,0,"\\"],[8832,0,"m"],[8833,0,"a"],[8834,0,"t"],[8835,0,"h"],[8836,0,"s"],[8837,0,"f"],[8838,0,"{"],[8839,0,"d"],[8840,0,"e"],[8841,0,"l"],[8842,0,"e"],[8843,0,"t"],[8844,0,"e"],[8845,0,"}"],[8846,0,"("],[8847,0,"\\"],[8848,0,"m"],[8849,0,"a"],[8850,0,"t"],[8851,0,"h"],[8852,0,"i"],[8853,0,"t"],[8854,0,"{"],[8855,0,"i"],[8856,0,"d"],[8857,0,"}"],[8858,0,")"],[8859,0,"$"],[8860,0,"."],[8861,0," "],[8862,0,"T"],[8863,0,"h"],[8864,0,"u"],[8865,0,"s"],[8866,0,","],[8868,1],[8868,0,"t"],[9021,0,","],[9022,0," "],[9023,0,"o"],[9024,0,"r"],[9025,0," "],[9026,0,"a"],[9027,0," "],[9028,0,"r"],[9029,0,"e"],[9030,0,"c"],[9031,0,"u"],[9032,0,"r"],[9033,0,"s"],[9034,0,"i"],[9035,0,"v"],[9036,0,"e"],[9037,0," "],[9038,0,"c"],[9039,0,"a"],[9040,0,"l"],[9041,0,"l"],[9042,0," "],[9043,0,"t"],[9044,0,"o"],[9045,0," "],[9046,0,"t"],[9047,0,"h"],[9048,0,"e"],[9049,0," "],[9050,0,"$"],[9051,0,"\\"],[9052,0,"m"],[9053,0,"a"],[9054,0,"t"],[9055,0,"h"],[9056,0,"r"],[9057,0,"m"],[9058,0,"{"],[9059,0,"a"],[9060,0,"p"],[9061,0,"p"],[9062,0,"l"],[9063,0,"y"],[9064,0,"}"],[9065,0,"$"],[9066,0," "],[9067,0,"f"],[9068,0,"u"],[9069,0,"n"],[9070,0,"c"],[9071,0,"t"],[9072,0,"i"],[9073,0,"o"],[9074,0,"n"],[9075,0," "],[9076,0,"t"],[9077,0,"h"],[9078,0,"a"],[9079,0,"t"],[9080,0," "],[9081,0,"u"],[9082,0,"s"],[9083,0,"e"],[9084,0,"s"],[9085,0," "],[9086,0,"s"],[9087,0,"u"],[9088,0,"c"],[9089,0,"h"],[9090,0," "],[9091,0,"a"],[9092,0,"n"],[9093,0," "],[9094,0,"o"],[9095,0,"p"],[9096,0,"e"],[9097,0,"r"],[9098,0,"a"],[9099,0,"t"],[9100,0,"i"],[9101,0,"o"],[9102,0,"n"],[9103,0," "],[9104,0,"i"],[9105,0,"n"],[9106,0,"t"],[9107,0,"e"],[9108,0,"r"],[9109,0,"n"],[9110,0,"a"],[9111,0,"l"],[9112,0,"l"],[9113,0,"y"],[9115,0," "],[9116,0,"N"],[9117,0,"o"],[9118,0,"t"],[9119,0,"e"],[9120,0," "],[9121,0,"t"],[9122,0,"h"],[9123,0,"a"],[9124,0,"t"],[9125,0," "],[9126,0,"a"],[9127,0,"l"],[9128,0,"l"],[9129,0," "],[9130,0,"l"],[9131,0,"o"],[9132,0,"o"],[9133,0,"k"],[9134,0,"u"],[9135,0,"p"],[9136,0,"s"],[9137,0," "],[9137,1],[9136,1],[9135,1],[9134,1],[9133,1],[9132,1],[9131,1],[9130,1],[9129,1],[9128,1],[9127,1],[9126,1],[9126,0,"w"],[9127,0,"h"],[9128,0,"e"],[9129,0,"n"],[9130,0," "],[9131,0,"a"],[9132,0,"p"],[9133,0,"p"],[9134,0,"l"],[9135,0,"y"],[9136,0,"i"],[9137,0,"n"],[9138,0,"g"],[9139,0," "],[9140,0,"s"],[9141,0,"u"],[9142,0,"c"],[9143,0,"h"],[9144,0," "],[9145,0,"a"],[9146,0,"n"],[9147,0," "],[9148,0,"i"],[9149,0,"n"],[9150,0,"s"],[9151,0,"e"],[9152,0,"r"],[9152,1],[9151,1],[9150,1],[9149,1],[9148,1],[9148,0,"$"],[9149,0,"\\"],[9150,0,"m"],[9151,0,"a"],[9152,0,"t"],[9153,0,"h"],[9154,0,"s"],[9155,0,"f"],[9156,0,"{"],[9157,0,"i"],[9158,0,"n"],[9159,0,"s"],[9160,0,"e"],[9161,0,"r"],[9162,0,"t"],[9163,0,"}"],[9164,0,"$"],[9165,0," "],[9166,0,"o"],[9167,0,"p"],[9168,0,"e"],[9169,0,"r"],[9170,0,"a"],[9171,0,"t"],[9172,0,"i"],[9173,0,"o"],[9174,0,"n"],[9175,0,","],[9176,0," "],[9177,0,"t"],[9178,0,"h"],[9179,0,"e"],[9180,0," "],[9181,0,"q"],[9182,0,"u"],[9183,0,"e"],[9184,0,"r"],[9185,0,"y"],[9186,0," "],[9187,0,"f"],[9188,0,"o"],[9189,0,"r"],[9190,0," "],[9191,0,"$"],[9192,0,"A"],[9193,0,"("],[9194,0,"\\"],[9195,0,"m"],[9196,0,"a"],[9197,0,"t"],[9198,0,"h"],[9199,0,"i"],[9200,0,"t"],[9201,0,"{"],[9202,0,"p"],[9203,0,"r"],[9204,0,"e"],[9205,0,"v"],[9206,0,"}"],[9207,0,")"],[9208,0,"$"],[9209,0," "],[9210,0,"i"],[9211,0,"g"],[9212,0,"n"],[9213,0,"o"],[9214,0,"r"],[9215,0,"e"],[9216,0,"s"],[9217,0," "],[9218,0,"t"],[9219,0,"h"],[9220,0,"e"],[9221,0," "],[9222,0,"\\"],[9223,0,"m"],[9224,0,"a"],[9225,0,"t"],[9226,0,"h"],[9227,0,"i"],[9228,0,"t"],[9229,0,"{"],[9230,0,"v"],[9231,0,"a"],[9232,0,"l"],[9233,0,"u"],[9234,0,"e"],[9235,0,"}"],[9222,0,"$"],[9237,0,"$"],[9238,0," "],[9239,0,"e"],[9240,0,"l"],[9241,0,"e"],[9242,0,"m"],[9243,0,"e"],[9244,0,"n"],[9245,0,"t"],[9246,0," "],[9247,0,"o"],[9248,0,"f"],[9249,0," "],[9250,0,"t"],[9251,0,"h"],[9252,0,"e"],[9253,0," "],[9185,1],[9185,0,"i"],[9186,0,"e"],[9187,0,"s"],[9218,1],[9217,1],[9216,1],[9215,1],[9214,1],[9213,1],[9212,1],[9212,0,"i"],[9213,0,"g"],[9214,0,"n"],[9215,0,"o"],[9216,0,"r"],[9217,0,"e"],[9255,0,"t"],[9256,0,"u"],[9257,0,"p"],[9258,0,"l"],[9259,0,"e"],[9260,0," "],[9261,0,"a"],[9262,0,"n"],[9263,0,"d"],[9264,0," "],[9265,0,"l"],[9266,0,"e"],[9267,0,"a"],[9268,0,"v"],[9269,0,"e"],[9270,0," "],[9271,0,"i"],[9272,0,"t"],[9273,0," "],[9274,0,"u"],[9275,0,"n"],[9276,0,"a"],[9276,1],[9276,0,"c"],[9277,0,"h"],[9278,0,"a"],[9279,0,"n"],[9280,0,"g"],[9281,0,"e"],[9282,0,"d"],[9283,0,","],[9284,0," "],[9285,0,"a"],[9286,0,"n"],[9287,0,"d"],[9288,0," "],[9289,0,"o"],[9290,0,"n"],[9291,0,"l"],[9292,0,"y"],[9293,0," "],[9294,0,"e"],[9295,0,"x"],[9296,0,"a"],[9297,0,"m"],[9298,0,"i"],[9299,0,"n"],[9300,0,"e"],[9301,0," "],[9302,0,"a"],[9303,0,"n"],[9304,0,"d"],[9305,0," "],[9306,0,"m"],[9307,0,"o"],[9308,0,"d"],[9309,0,"i"],[9310,0,"f"],[9311,0,"y"],[9312,0," "],[9313,0,"t"],[9314,0,"h"],[9315,0,"e"],[9316,0," "],[9317,0,"$"],[9318,0,"\\"],[9319,0,"m"],[9320,0,"a"],[9321,0,"t"],[9322,0,"h"],[9323,0,"i"],[9324,0,"t"],[9325,0,"{"],[9326,0,"n"],[9327,0,"e"],[9328,0,"x"],[9329,0,"t"],[9330,0,"}"],[9331,0,"$"],[9332,0," "],[9333,0,"e"],[9334,0,"l"],[9335,0,"e"],[9336,0,"m"],[9337,0,"e"],[9338,0,"n"],[9339,0,"t"],[9340,0," "],[9341,0,"o"],[9342,0,"f"],[9343,0," "],[9344,0,"t"],[9345,0,"h"],[9346,0,"e"],[9347,0," "],[9348,0,"t"],[9349,0,"u"],[9350,0,"p"],[9351,0,"l"],[9352,0,"e"],[9353,0,"."],[9354,0," "],[9355,0,"B"],[9356,0,"y"],[9357,0," "],[9358,0,"c"],[9359,0,"o"],[9360,0,"n"],[9361,0,"t"],[9362,0,"r"],[9363,0,"a"],[9364,0,"s"],[9365,0,"t"],[9366,0,","],[9367,0," "],[9368,0,"$"],[9368,1],[9368,0,"a"],[9369,0,"p"],[9370,0,"p"],[9371,0,"l"],[9372,0,"y"],[9373,0,"i"],[9374,0,"n"],[9375,0,"g"],[9376,0," "],[9377,0,"$"],[9378,0,"|"],[9378,1],[9378,0,"\\"],[9379,0,"m"],[9380,0,"a"],[9381,0,"t"],[9382,0,"h"],[9383,0,"s"],[9384,0,"f"],[9385,0,"{"],[9386,0,"d"],[9387,0,"e"],[9388,0,"l"],[9389,0,"e"],[9390,0,"t"],[9391,0,"e"],[9392,0,"}"],[9393,0,"("],[9394,0,"\\"],[9395,0,"m"],[9396,0,"a"],[9397,0,"t"],[9398,0,"h"],[9399,0,"i"],[9400,0,"t"],[9401,0,"{"],[9402,0,"i"],[9403,0,"d"],[9404,0,"}"],[9405,0,")"],[9406,0,"$"],[9407,0," "],[9408,0,"m"],[9409,0,"o"],[9410,0,"d"],[9411,0,"i"],[9412,0,"f"],[9413,0,"i"],[9414,0,"e"],[9415,0,"s"],[9416,0," "],[9417,0,"o"],[9418,0,"n"],[9419,0,"l"],[9420,0,"y"],[9421,0," "],[9422,0,"t"],[9423,0,"h"],[9424,0,"e"],[9425,0," "],[9426,0,"$"],[9427,0,"\\"],[9428,0,"m"],[9429,0,"a"],[9430,0,"t"],[9431,0,"h"],[9432,0,"i"],[9433,0,"t"],[9434,0,"{"],[9435,0,"v"],[9436,0,"a"],[9437,0,"l"],[9438,0,"u"],[9439,0,"e"],[9440,0,"}"],[9441,0,"$"],[9442,0," "],[9443,0,"e"],[9444,0,"l"],[9445,0,"e"],[9446,0,"m"],[9447,0,"e"],[9448,0,"n"],[9449,0,"t"],[9450,0," "],[9451,0,"o"],[9452,0,"f"],[9453,0," "],[9454,0,"$"],[9455,0,"A"],[9456,0,"("],[9457,0,"\\"],[9458,0,"m"],[9459,0,"a"],[9460,0,"t"],[9461,0,"h"],[9462,0,"i"],[9463,0,"t"],[9464,0,"{"],[9465,0,"i"],[9466,0,"d"],[9467,0,"}"],[9468,0,")"],[9469,0,"$"],[9470,0,","],[9471,0," "],[9472,0,"a"],[9473,0,"n"],[9474,0,"d"],[9475,0," "],[9475,1],[9474,1],[9473,1],[9472,1],[9472,0,"a"],[9473,0,"n"],[9474,0,"d"],[9475,0," "],[9476,0,"l"],[9477,0,"e"],[9478,0,"a"],[9479,0,"v"],[9480,0,"e"],[9481,0,"s"],[9482,0," "],[9483,0,"t"],[9484,0,"h"],[9485,0,"e"],[9486,0," "],[9487,0,"$"],[9488,0,"\\"],[9489,0,"m"],[9490,0,"a"],[9491,0,"t"],[9492,0,"h"],[9493,0,"i"],[9494,0,"t"],[9495,0,"{"],[9496,0,"n"],[9497,0,"e"],[9498,0,"x"],[9499,0,"t"],[9500,0,"}"],[9501,0,"$"],[9502,0," "],[9503,0,"e"],[9504,0,"l"],[9505,0,"e"],[9506,0,"m"],[9507,0,"e"],[9508,0,"n"],[9509,0,"t"],[9510,0," "],[9511,0,"u"],[9512,0,"n"],[9513,0,"c"],[9514,0,"h"],[9515,0,"a"],[9516,0,"n"],[9517,0,"g"],[9518,0,"e"],[9519,0,"d"],[9520,0,"."],[9521,0," "],[9522,0,"T"],[9523,0,"h"],[9524,0,"u"],[9525,0,"s"],[9526,0,","],[9527,0," "],[9528,0,"t"],[9529,0,"h"],[9530,0,"e"],[9531,0," "],[9531,1],[9530,1],[9529,1],[9528,1],[9527,1],[9526,1],[9525,1],[9524,1],[9523,1],[9522,1],[9521,1],[9521,0,"\n"],[9522,0,"\n"],[9523,0,"T"],[9524,0,"h"],[9525,0,"u"],[9526,0,"s"],[9527,0,","],[9528,0," "],[9529,0,"i"],[9530,0,"n"],[9531,0,"s"],[9532,0,"e"],[9533,0,"r"],[9534,0,"t"],[9535,0,"i"],[9536,0,"n"],[9537,0,"g"],[9538,0," "],[9539,0,"$"],[9540,0,"o"],[9541,0,"_"],[9542,0,"{"],[9543,0,"n"],[9544,0,"+"],[9545,0,"1"],[9546,0,"}"],[9547,0,"="],[9548,0,"\\"],[9549,0,"m"],[9550,0,"a"],[9551,0,"t"],[9552,0,"h"],[9553,0,"s"],[9554,0,"f"],[9555,0,"{"],[9556,0,"d"],[9557,0,"e"],[9558,0,"l"],[9559,0,"e"],[9560,0,"t"],[9561,0,"e"],[9562,0,"}"],[9563,0,"("],[9564,0,"\\"],[9565,0,"m"],[9566,0,"a"],[9567,0,"t"],[9568,0,"h"],[9569,0,"i"],[9570,0,"t"],[9571,0,"{"],[9572,0,"i"],[9573,0,"d"],[9574,0,"}"],[9575,0,")"],[9576,0,"$"],[9577,0," "],[9578,0,"a"],[9579,0,"t"],[9580,0," "],[9581,0,"a"],[9582,0,"n"],[9583,0,"y"],[9584,0," "],[9585,0,"c"],[9586,0,"a"],[9587,0,"u"],[9588,0,"s"],[9589,0,"a"],[9590,0,"l"],[9591,0,"l"],[9592,0,"y"],[9593,0," "],[9594,0,"r"],[9595,0,"e"],[9596,0,"a"],[9597,0,"d"],[9598,0,"y"],[9599,0," "],[9600,0,"p"],[9601,0,"o"],[9602,0,"i"],[9603,0,"n"],[9604,0,"t"],[9605,0," "],[9606,0,"i"],[9607,0,"n"],[9608,0," "],[9609,0,"a"],[9610,0," "],[9611,0,"h"],[9612,0,"i"],[9613,0,"s"],[9614,0,"t"],[9615,0,"o"],[9616,0,"r"],[9617,0,"y"],[9618,0," "],[9537,1],[9536,1],[9535,1],[9534,1],[9533,1],[9532,1],[9531,1],[9530,1],[9529,1],[9529,0,"i"],[9530,0,"f"],[9571,0,"i"],[9572,0,"s"],[9573,0," "],[9574,0,"i"],[9575,0,"n"],[9576,0,"s"],[9577,0,"e"],[9578,0,"r"],[9579,0,"t"],[9580,0,"e"],[9581,0,"d"],[9582,0," "],[9623,1],[9623,0,","],[9624,0," "],[9625,0,"t"],[9626,0,"h"],[9627,0,"e"],[9628,0," "],[9629,0,"f"],[9630,0,"i"],[9631,0,"n"],[9632,0,"a"],[9633,0,"l"],[9634,0," "],[9635,0,"s"],[9636,0,"t"],[9637,0,"a"],[9638,0,"t"],[9639,0,"e"],[9640,0," "],[9641,0,"d"],[9642,0,"o"],[9643,0,"e"],[9644,0,"s"],[9645,0," "],[9646,0,"n"],[9647,0,"o"],[9648,0,"t"],[9649,0," "],[9650,0,"d"],[9651,0,"e"],[9652,0,"p"],[9653,0,"e"],[9654,0,"n"],[9655,0,"d"],[9656,0," "],[9657,0,"o"],[9658,0,"n"],[9659,0," "],[9660,0,"t"],[9661,0,"h"],[9662,0,"e"],[9663,0," "],[9664,0,"i"],[9665,0,"n"],[9666,0,"s"],[9667,0,"e"],[9668,0,"r"],[9669,0,"t"],[9670,0,"i"],[9671,0,"o"],[9672,0,"n"],[9673,0," "],[9674,0,"p"],[9675,0,"o"],[9676,0,"i"],[9677,0,"n"],[9678,0,"t"],[9679,0,","],[9680,0," "],[9681,0,"b"],[9682,0,"e"],[9683,0,"c"],[9684,0,"a"],[9685,0,"u"],[9686,0,"s"],[9687,0,"e"],[9688,0," "],[9689,0,"t"],[9690,0,"h"],[9691,0,"e"],[9692,0," "],[9693,0,"i"],[9694,0,"n"],[9695,0,"s"],[9696,0,"e"],[9697,0,"r"],[9698,0,"t"],[9699,0,"e"],[9700,0,"d"],[9701,0," "],[9702,0,"o"],[9703,0,"p"],[9704,0,"e"],[9705,0,"r"],[9706,0,"a"],[9707,0,"t"],[9708,0,"i"],[9709,0,"o"],[9710,0,"n"],[9711,0," "],[9712,0,"d"],[9713,0,"o"],[9714,0,"e"],[9715,0,"s"],[9716,0," "],[9717,0,"n"],[9718,0,"o"],[9719,0,"t"],[9720,0," "],[9721,0,"i"],[9722,0,"n"],[9723,0,"t"],[9724,0,"e"],[9725,0,"r"],[9726,0,"a"],[9727,0,"c"],[9728,0,"t"],[9729,0," "],[9730,0,"w"],[9731,0,"i"],[9732,0,"t"],[9733,0,"h"],[9734,0," "],[9735,0,"a"],[9736,0,"n"],[9737,0,"y"],[9738,0," "],[9739,0,"p"],[9740,0,"r"],[9741,0,"i"],[9742,0,"o"],[9743,0,"r"],[9744,0," "],[9745,0,"o"],[9746,0,"r"],[9747,0," "],[9748,0,"f"],[9749,0,"o"],[9750,0,"l"],[9751,0,"l"],[9752,0,"o"],[9753,0,"w"],[9754,0,"i"],[9755,0,"n"],[9756,0,"g"],[9757,0," "],[9758,0,"o"],[9759,0,"p"],[9760,0,"e"],[9761,0,"r"],[9762,0,"a"],[9763,0,"t"],[9764,0,"i"],[9765,0,"o"],[9766,0,"n"],[9767,0,"s"],[9768,0,"."],[9769,0,"\n"],[9770,0,"\n"],[9771,0,"\\"],[9772,0,"s"],[9773,0,"u"],[9774,0,"b"],[9775,0,"s"],[9776,0,"u"],[9777,0,"b"],[9778,0,"s"],[9779,0,"e"],[9780,0,"c"],[9781,0,"t"],[9782,0,"i"],[9783,0,"o"],[9784,0,"n"],[9785,0,"{"],[9786,0,"C"],[9787,0,"o"],[9788,0,"m"],[9789,0,"m"],[9790,0,"u"],[9791,0,"t"],[9792,0,"a"],[9793,0,"t"],[9794,0,"i"],[9795,0,"v"],[9796,0,"i"],[9797,0,"t"],[9798,0,"y"],[9799,0," "],[9800,0,"o"],[9801,0,"f"],[9802,0," "],[9803,0,"i"],[9804,0,"n"],[9805,0,"s"],[9806,0,"e"],[9807,0,"r"],[9808,0,"t"],[9809,0,"i"],[9810,0,"o"],[9811,0,"n"],[9812,0,"}"],[9813,0,"\n"],[9814,0,"\n"],[9815,0,"N"],[9816,0,"o"],[9817,0,"w"],[9818,0," "],[9819,0,"c"],[9820,0,"o"],[9821,0,"n"],[9822,0,"s"],[9823,0,"i"],[9824,0,"d"],[9825,0,"e"],[9826,0,"r"],[9827,0," "],[9828,0,"t"],[9829,0,"h"],[9830,0,"e"],[9831,0," "],[9832,0,"c"],[9833,0,"a"],[9834,0,"s"],[9835,0,"e"],[9836,0," "],[9837,0,"t"],[9838,0,"h"],[9839,0,"a"],[9840,0,"t"],[9841,0," "],[9842,0,"$"],[9843,0,"{"],[9843,1],[9843,0,"o"],[9844,0,"_"],[9845,0,"{"],[9846,0,"n"],[9847,0,"+"],[9848,0,"1"],[9849,0,"}"],[9850,0,"="],[9851,0,"\\"],[9852,0,"m"],[9853,0,"a"],[9854,0,"t"],[9855,0,"h"],[9856,0,"s"],[9857,0,"f"],[9858,0,"{"],[9859,0,"i"],[9860,0,"n"],[9861,0,"s"],[9862,0,"e"],[9863,0,"r"],[9864,0,"t"],[9865,0,"}"],[9866,0,"("],[9867,0,"\\"],[9868,0,"m"],[9869,0,"a"],[9870,0,"t"],[9871,0,"h"],[9872,0,"i"],[9873,0,"t"],[9874,0,"{"],[9875,0,"i"],[9876,0,"d"],[9877,0,"}"],[9878,0,","],[9879,0," "],[9880,0,"\\"],[9881,0,"m"],[9882,0,"a"],[9883,0,"t"],[9884,0,"h"],[9885,0,"i"],[9886,0,"t"],[9887,0,"{"],[9888,0,"p"],[9889,0,"r"],[9890,0,"e"],[9891,0,"v"],[9892,0,"}"],[9893,0,","],[9894,0," "],[9895,0,"v"],[9896,0,")"],[9897,0,"$"],[9898,0,"."],[9899,0," "],[9900,0,"I"],[9901,0,"n"],[9902,0," "],[9903,0,"t"],[9904,0,"h"],[9905,0,"i"],[9906,0,"s"],[9907,0," "],[9908,0,"o"],[9909,0,"p"],[9910,0,"e"],[9911,0,"r"],[9912,0,"a"],[9913,0,"t"],[9914,0,"i"],[9915,0,"o"],[9916,0,"n"],[9917,0,","],[9918,0," "],[9919,0,"$"],[9920,0,"\\"],[9921,0,"m"],[9922,0,"a"],[9923,0,"t"],[9924,0,"h"],[9925,0,"i"],[9926,0,"t"],[9927,0,"{"],[9928,0,"i"],[9929,0,"d"],[9930,0,"}"],[9931,0,"$"],[9932,0," "],[9933,0,"i"],[9934,0,"s"],[9935,0," "],[9936,0,"a"],[9937,0," "],[9938,0,"f"],[9939,0,"r"],[9940,0,"e"],[9941,0,"s"],[9942,0,"h"],[9943,0,"l"],[9944,0,"y"],[9945,0," "],[9946,0,"g"],[9947,0,"e"],[9948,0,"n"],[9949,0,"e"],[9950,0,"r"],[9951,0,"a"],[9952,0,"t"],[9953,0,"e"],[9954,0,"d"],[9955,0," "],[9956,0,"L"],[9957,0,"a"],[9958,0,"m"],[9959,0,"p"],[9960,0,"o"],[9961,0,"r"],[9962,0,"t"],[9963,0," "],[9964,0,"t"],[9965,0,"i"],[9966,0,"m"],[9967,0,"e"],[9968,0,"s"],[9969,0,"t"],[9970,0,"a"],[9971,0,"m"],[9972,0,"p"],[9917,1],[9916,1],[9915,1],[9914,1],[9913,1],[9912,1],[9911,1],[9910,1],[9909,1],[9908,1],[9907,1],[9906,1],[9905,1],[9904,1],[9903,1],[9902,1],[9901,1],[9900,1],[9900,0,"T"],[9901,0,"h"],[9902,0,"e"],[9903,0," "],[9904,0,"L"],[9905,0,"a"],[9906,0,"m"],[9907,0,"p"],[9908,0,"o"],[9909,0,"r"],[9910,0,"t"],[9911,0," "],[9912,0,"t"],[9913,0,"i"],[9914,0,"m"],[9915,0,"e"],[9916,0,"s"],[9917,0,"t"],[9918,0,"a"],[9919,0,"m"],[9920,0,"p"],[9939,1],[9938,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9957,1],[9958,0,"b"],[9959,0,"y"],[9960,0," "],[9961,0,"t"],[9961,1],[9960,1],[9959,1],[9958,1],[9957,0,"b"],[9958,0,"y"],[9959,0," "],[9960,0,"t"],[9961,0,"h"],[9962,0,"e"],[9963,0," "],[9964,0,"p"],[9965,0,"e"],[9966,0,"e"],[9967,0,"r"],[9968,0," "],[9969,0,"o"],[9970,0,"n"],[9971,0," "],[9972,0,"w"],[9973,0,"h"],[9974,0,"i"],[9975,0,"c"],[9976,0,"h"],[9977,0," "],[9978,0,"t"],[9979,0,"h"],[9980,0,"e"],[9981,0," "],[9982,0,"e"],[9983,0,"d"],[9984,0,"i"],[9985,0,"t"],[9986,0," "],[9987,0,"w"],[9988,0,"a"],[9989,0,"s"],[9990,0," "],[9991,0,"p"],[9992,0,"e"],[9993,0,"r"],[9994,0,"f"],[9995,0,"o"],[9996,0,"r"],[9997,0,"m"],[9998,0,"e"],[9999,0,"d"],[10000,0,"."],[10001,0," "],[10002,0,"B"],[9900,0,"\n"],[9901,0,"\n"],[9900,0,"L"],[9901,0,"e"],[9902,0,"t"],[9903,0," "],[9904,0,"$"],[9905,0,"A"],[9906,0,"_"],[9907,0,"o"],[9908,0,"$"],[9909,0," "],[9910,0,"b"],[9911,0,"e"],[9912,0," "],[9913,0,"t"],[9914,0,"h"],[9915,0,"e"],[9916,0," "],[9917,0,"s"],[9918,0,"t"],[9919,0,"a"],[9920,0,"t"],[9921,0,"e"],[9922,0," "],[9923,0,"o"],[9924,0,"f"],[9925,0," "],[9926,0,"t"],[9927,0,"h"],[9928,0,"e"],[9929,0," "],[9930,0,"p"],[9931,0,"e"],[9932,0,"e"],[9933,0,"r"],[9934,0," "],[9935,0,"o"],[9936,0,"n"],[9937,0," "],[9938,0,"w"],[9939,0,"h"],[9940,0,"i"],[9941,0,"c"],[9942,0,"h"],[9943,0," "],[9944,0,"$"],[9945,0,"o"],[9946,0,"_"],[9947,0,"{"],[9948,0,"n"],[9949,0,"+"],[9950,0,"1"],[9951,0,"}"],[9952,0,"$"],[9953,0," "],[9954,0,"w"],[9955,0,"a"],[9956,0,"s"],[9957,0," "],[9958,0,"g"],[9959,0,"e"],[9960,0,"n"],[9961,0,"e"],[9962,0,"r"],[9963,0,"a"],[9964,0,"t"],[9965,0,"e"],[9966,0,"d"],[9967,0,","],[9968,0," "],[9969,0,"i"],[9970,0,"m"],[9971,0,"m"],[9972,0,"e"],[9973,0,"d"],[9974,0,"i"],[9975,0,"a"],[9976,0,"t"],[9977,0,"e"],[9978,0,"l"],[9979,0,"y"],[9980,0," "],[9981,0,"a"],[9982,0,"f"],[9983,0,"t"],[9984,0,"e"],[9985,0,"r"],[9986,0," "],[9987,0,"$"],[9988,0,"o"],[9989,0,"_"],[9990,0,"{"],[9991,0,"n"],[9992,0,"+"],[9993,0,"1"],[9994,0,"}"],[9995,0,"$"],[9996,0," "],[9997,0,"w"],[9998,0,"a"],[9999,0,"s"],[10000,0," "],[10001,0,"l"],[10002,0,"o"],[10003,0,"c"],[10004,0,"a"],[10005,0,"l"],[10006,0,"l"],[10007,0,"y"],[10008,0," "],[10009,0,"a"],[10010,0,"p"],[10011,0,"p"],[10012,0,"l"],[10013,0,"i"],[10014,0,"e"],[10015,0,"d"],[10016,0,"."],[10017,0," "],[10122,1],[10122,0,"L"],[10123,0,"e"],[10124,0,"t"],[10125,0," "],[10126,0,"$"],[10127,0,"A"],[10128,0,"_"],[10129,0,"o"],[10130,0,"$"],[10131,0," "],[10132,0,"b"],[10133,0,"e"],[10134,0," "],[10135,0,"t"],[10136,0,"h"],[10137,0,"e"],[10138,0," "],[10139,0,"s"],[10140,0,"t"],[10141,0,"a"],[10142,0,"t"],[10143,0,"e"],[10144,0," "],[10145,0,"o"],[10146,0,"f"],[10147,0," "],[10148,0,"t"],[10149,0,"h"],[10150,0,"e"],[10151,0," "],[10152,0,"p"],[10153,0,"e"],[10154,0,"e"],[10155,0,"r"],[10156,0," "],[10157,0,"o"],[10158,0,"n"],[10159,0," "],[10160,0,"w"],[10161,0,"h"],[10162,0,"i"],[10163,0,"c"],[10164,0,"h"],[10165,0," "],[10166,0,"$"],[10167,0,"o"],[10168,0,"_"],[10169,0,"{"],[10170,0,"n"],[10171,0,"+"],[10172,0,"1"],[10173,0,"}"],[10174,0,"$"],[10175,0," "],[10176,0,"w"],[10177,0,"a"],[10178,0,"s"],[10179,0," "],[10180,0,"g"],[10181,0,"e"],[10182,0,"n"],[10183,0,"e"],[10184,0,"r"],[10185,0,"a"],[10186,0,"t"],[10187,0,"e"],[10188,0,"d"],[10189,0,","],[10190,0," "],[10191,0,"i"],[10192,0,"m"],[10193,0,"m"],[10194,0,"e"],[10195,0,"d"],[10196,0,"i"],[10197,0,"a"],[10198,0,"t"],[10199,0,"e"],[10200,0,"l"],[10201,0,"y"],[10202,0," "],[10203,0,"a"],[10204,0,"f"],[10205,0,"t"],[10206,0,"e"],[10207,0,"r"],[10208,0," "],[10209,0,"$"],[10210,0,"#"],[10210,1],[10210,0,"o"],[10211,0,"_"],[10212,0,"{"],[10213,0,"n"],[10214,0,"+"],[10215,0,"1"],[10216,0,"}"],[10217,0,"$"],[10218,0," "],[10219,0,"w"],[10220,0,"a"],[10221,0,"s"],[10222,0," "],[10223,0,"l"],[10224,0,"o"],[10225,0,"c"],[10226,0,"a"],[10227,0,"l"],[10228,0,"l"],[10229,0,"y"],[10230,0," "],[10231,0,"a"],[10232,0,"p"],[10233,0,"p"],[10234,0,"l"],[10235,0,"i"],[10236,0,"e"],[10237,0,"d"],[10238,0,"."],[10019,1],[10018,1],[10017,1],[10016,1],[10015,1],[10014,1],[10013,1],[10012,1],[10011,1],[10010,1],[10009,1],[10008,1],[10007,1],[10006,1],[10005,1],[10004,1],[10003,1],[10002,1],[10001,1],[10000,1],[9999,1],[9998,1],[9997,1],[9996,1],[9995,1],[9994,1],[9993,1],[9992,1],[9991,1],[9990,1],[9989,1],[9988,1],[9987,1],[9986,1],[9985,1],[9984,1],[9983,1],[9982,1],[9981,1],[9980,1],[9979,1],[9978,1],[9977,1],[9976,1],[9975,1],[9974,1],[9973,1],[9972,1],[9971,1],[9970,1],[9969,1],[9968,1],[9967,1],[9966,1],[9965,1],[9964,1],[9963,1],[9962,1],[9961,1],[9960,1],[9959,1],[9958,1],[9957,1],[9956,1],[9955,1],[9954,1],[9953,1],[9952,1],[9951,1],[9950,1],[9949,1],[9948,1],[9947,1],[9946,1],[9945,1],[9944,1],[9943,1],[9942,1],[9941,1],[9940,1],[9939,1],[9938,1],[9937,1],[9936,1],[9935,1],[9934,1],[9933,1],[9932,1],[9931,1],[9930,1],[9929,1],[9928,1],[9927,1],[9926,1],[9925,1],[9924,1],[9923,1],[9922,1],[9921,1],[9920,1],[9919,1],[9918,1],[9917,1],[9916,1],[9915,1],[9914,1],[9913,1],[9912,1],[9911,1],[9910,1],[9909,1],[9908,1],[9907,1],[9906,1],[9905,1],[9904,1],[9903,1],[9902,1],[9901,1],[9900,1],[10119,0," "],[10120,0,"B"],[10121,0,"y"],[10122,0," "],[10123,0,"t"],[10124,0,"h"],[10125,0,"e"],[10126,0," "],[10127,0,"d"],[10128,0,"e"],[10129,0,"f"],[10130,0,"i"],[10131,0,"n"],[10132,0,"i"],[10133,0,"t"],[10134,0,"i"],[10135,0,"o"],[10136,0,"n"],[10137,0," "],[10138,0,"o"],[10139,0,"f"],[10140,0," "],[10141,0,"L"],[10142,0,"a"],[10143,0,"m"],[10144,0,"p"],[10145,0,"o"],[10146,0,"r"],[10147,0,"t"],[10148,0," "],[10149,0,"t"],[10150,0,"i"],[10151,0,"m"],[10152,0,"e"],[10153,0,"s"],[10154,0,"t"],[10155,0,"a"],[10156,0,"m"],[10157,0,"p"],[10158,0,"s"],[10159,0,","],[10160,0," "],[10161,0,"$"],[10162,0,"\\"],[10163,0,"m"],[10164,0,"a"],[10165,0,"t"],[10166,0,"h"],[10167,0,"i"],[10168,0,"t"],[10169,0,"{"],[10170,0,"i"],[10171,0,"d"],[10172,0,"}"],[10173,0,"$"],[10174,0," "],[10175,0,"i"],[10176,0,"s"],[10177,0," "],[10178,0,"t"],[10179,0,"h"],[10180,0,"e"],[10181,0," "],[10182,0,"g"],[10183,0,"r"],[10184,0,"e"],[10185,0,"a"],[10186,0,"t"],[10187,0,"e"],[10188,0,"s"],[10189,0,"t"],[10190,0," "],[10191,0,"t"],[10192,0,"i"],[10193,0,"m"],[10194,0,"e"],[10195,0,"s"],[10196,0,"t"],[10197,0,"a"],[10198,0,"m"],[10199,0,"p"],[10200,0," "],[10201,0,"i"],[10202,0,"n"],[10203,0," "],[10204,0,"$"],[10205,0,"A"],[10206,0,"_"],[10207,0,"o"],[10208,0,"$"],[10209,0,"."],[10210,0," "],[10211,0,"T"],[10212,0,"h"],[10213,0,"e"],[10214,0,"r"],[10215,0,"e"],[10216,0,"f"],[10217,0,"o"],[10218,0,"r"],[10219,0,"e"],[10220,0,","],[10221,0," "],[10222,0,"t"],[10223,0,"h"],[10224,0,"e"],[10225,0," "],[10226,0,"$"],[10227,0,"\\"],[10228,0,"m"],[10229,0,"a"],[10230,0,"t"],[10231,0,"h"],[10232,0,"r"],[10233,0,"m"],[10234,0,"{"],[10235,0,"a"],[10236,0,"p"],[10237,0,"p"],[10238,0,"l"],[10239,0,"y"],[10240,0,"}"],[10241,0,"$"],[10242,0," "],[10009,1],[10009,0,"p"],[10069,1],[10086,1],[10085,1],[10084,1],[10083,1],[10082,1],[10082,0,"b"],[10083,0,"e"],[10084,0,"f"],[10085,0,"o"],[10086,0,"r"],[10087,0,"e"],[10109,1],[10108,1],[10107,1],[10106,1],[10105,1],[10104,1],[10103,1],[10102,1],[10110,0,","],[10111,0," "],[10112,0,"a"],[10113,0,"n"],[10114,0,"d"],[10115,0," "],[10116,0,"l"],[10117,0,"e"],[10118,0,"t"],[10119,0," "],[10120,0,"$"],[10121,0,"A"],[10122,0,"_"],[10123,0,"p"],[10124,0,"'"],[10125,0,"$"],[10126,0," "],[10127,0,"b"],[10128,0,"e"],[10129,0," "],[10130,0,"t"],[10131,0,"h"],[10132,0,"e"],[10133,0," "],[10134,0,"s"],[10135,0,"t"],[10136,0,"a"],[10137,0,"t"],[10138,0,"e"],[10139,0," "],[10140,0,"o"],[10141,0,"f"],[10142,0," "],[10143,0,"t"],[10144,0,"h"],[10145,0,"e"],[10146,0," "],[10147,0,"s"],[10148,0,"a"],[10149,0,"m"],[10150,0,"e"],[10151,0," "],[10152,0,"p"],[10153,0,"e"],[10154,0,"e"],[10155,0,"r"],[10156,0," "],[10157,0,"i"],[10158,0,"m"],[10159,0,"m"],[10160,0,"e"],[10161,0,"d"],[10162,0,"i"],[10163,0,"a"],[10164,0,"t"],[10165,0,"e"],[10166,0,"l"],[10167,0,"y"],[10168,0," "],[10169,0,"a"],[10170,0,"f"],[10171,0,"t"],[10172,0,"e"],[10173,0,"r"],[10174,0," "],[10175,0,"$"],[10176,0,"o"],[10177,0,"{"],[10177,1],[10177,0,"_"],[10178,0,"{"],[10179,0,"n"],[10180,0,"+"],[10181,0,"1"],[10182,0,"}"],[10183,0,"$"],[10184,0," "],[10185,0,"w"],[10186,0,"a"],[10187,0,"s"],[10188,0," "],[10189,0,"a"],[10190,0,"p"],[10191,0,"p"],[10192,0,"l"],[10193,0,"i"],[10194,0,"e"],[10195,0,"d"],[10197,1],[10197,0,"\n"],[10198,0,"\n"],[10287,0,"'"],[10289,0,","],[10290,0," "],[10291,0,"a"],[10292,0,"n"],[10293,0,"d"],[10294,0," "],[10295,0,"g"],[10296,0,"r"],[10297,0,"e"],[10298,0,"a"],[10299,0,"t"],[10300,0,"e"],[10301,0,"r"],[10302,0," "],[10303,0,"t"],[10304,0,"h"],[10305,0,"a"],[10306,0,"n"],[10307,0," "],[10308,0,"a"],[10309,0,"n"],[10310,0,"y"],[10311,0," "],[10312,0,"t"],[10313,0,"i"],[10314,0,"m"],[10315,0,"e"],[10316,0,"s"],[10317,0,"t"],[10318,0,"a"],[10319,0,"m"],[10320,0,"p"],[10321,0," "],[10322,0,"o"],[10323,0,"c"],[10324,0,"c"],[10325,0,"u"],[10326,0,"r"],[10327,0,"r"],[10328,0,"i"],[10329,0,"n"],[10330,0,"g"],[10331,0," "],[10332,0,"i"],[10333,0,"n"],[10334,0," "],[10335,0,"$"],[10336,0,"A"],[10337,0,"_"],[10338,0,"p"],[10339,0,"$"],[10286,1],[10286,0,"p"],[10374,0,"f"],[10375,0,"u"],[10376,0,"n"],[10377,0,"c"],[10378,0,"t"],[10379,0,"i"],[10380,0,"o"],[10381,0,"n"],[10382,0," "],[10383,0,"t"],[10384,0,"h"],[10385,0,"a"],[10386,0,"t"],[10387,0," "],[10388,0,"t"],[10389,0,"r"],[10390,0,"a"],[10391,0,"n"],[10392,0,"s"],[10393,0,"f"],[10394,0,"o"],[10395,0,"r"],[10396,0,"m"],[10397,0,"e"],[10398,0,"d"],[10399,0," "],[10400,0,"$"],[10401,0,"A"],[10402,0,"_"],[10403,0,"p"],[10404,0,"$"],[10405,0," "],[10406,0,"i"],[10407,0,"n"],[10408,0,"t"],[10409,0,"o"],[10410,0," "],[10411,0,"$"],[10412,0,"A"],[10413,0,"_"],[10414,0,"p"],[10415,0,"'"],[10416,0,"$"],[10417,0," "],[10417,1],[10416,1],[10415,1],[10414,1],[10413,1],[10412,1],[10411,1],[10410,1],[10409,1],[10408,1],[10407,1],[10406,1],[10405,1],[10404,1],[10403,1],[10402,1],[10401,1],[10400,1],[10399,1],[10398,1],[10397,1],[10396,1],[10395,1],[10394,1],[10393,1],[10392,1],[10391,1],[10390,1],[10389,1],[10388,1],[10387,1],[10386,1],[10385,1],[10384,1],[10383,1],[10382,1],[10381,1],[10380,1],[10379,1],[10378,1],[10377,1],[10376,1],[10375,1],[10374,1],[10373,1],[10372,1],[10356,0," "],[10356,1],[10353,0,"i"],[10354,0,"n"],[10355,0," "],[10359,0," "],[10360,0,"s"],[10361,0,"t"],[10362,0,"a"],[10363,0,"t"],[10364,0,"e"],[10365,0," "],[10366,0,"u"],[10367,0,"p"],[10368,0,"d"],[10369,0,"a"],[10370,0,"t"],[10371,0,"e"],[10374,0,"A"],[10375,0,"P"],[10375,1],[10375,0,"_"],[10376,0,"p"],[10377,0,"'"],[10378,0," "],[10379,0,"="],[10380,0," "],[10395,0,"("],[10396,0,"A"],[10397,0,"_"],[10398,0,"p"],[10399,0,","],[10400,0," "],[10401,0,"\\"],[10402,0,"m"],[10403,0,"a"],[10404,0,"t"],[10405,0,"h"],[10406,0,"s"],[10407,0,"f"],[10408,0,"{"],[10409,0,"i"],[10410,0,"n"],[10411,0,"s"],[10412,0,"e"],[10413,0,"r"],[10414,0,"t"],[10415,0,"}"],[10416,0,"("],[10417,0,"\\"],[10418,0,"m"],[10419,0,"a"],[10420,0,"t"],[10421,0,"h"],[10422,0,"i"],[10423,0,"t"],[10424,0,"{"],[10425,0,"i"],[10426,0,"d"],[10427,0,"}"],[10428,0,","],[10429,0," "],[10430,0,"\\"],[10431,0,"m"],[10432,0,"a"],[10433,0,"t"],[10434,0,"h"],[10435,0,"i"],[10436,0,"t"],[10437,0,"{"],[10438,0,"p"],[10439,0,"r"],[10440,0,"e"],[10441,0,"v"],[10442,0,"}"],[10443,0,","],[10444,0," "],[10445,0,"v"],[10446,0,")"],[10447,0,")"],[10448,0,"$"],[10449,0," "],[10450,0,"t"],[10451,0,"h"],[10452,0,"e"],[10453,0," "],[10454,0,"s"],[10455,0,"e"],[10456,0,"c"],[10456,1],[10455,1],[10454,1],[10454,0,"n"],[10455,0,"o"],[10456,0,"n"],[10457,0,"-"],[10458,0,"r"],[10459,0,"e"],[10460,0,"c"],[10461,0,"u"],[10462,0,"r"],[10463,0,"s"],[10464,0,"i"],[10465,0,"v"],[10466,0,"e"],[10467,0," "],[10468,0,"c"],[10469,0,"a"],[10470,0,"s"],[10471,0,"e"],[10472,0," "],[10473,0,"("],[10474,0,"$"],[10475,0,"n"],[10476,0," "],[10477,0,"<"],[10478,0," "],[10479,0,"\\"],[10480,0,"m"],[10481,0,"a"],[10482,0,"t"],[10483,0,"h"],[10484,0,"i"],[10485,0,"t"],[10486,0,"{"],[10487,0,"i"],[10488,0,"d"],[10489,0,"}"],[10490,0,"$"],[10491,0,")"],[10492,0," "],[10493,0,"m"],[10494,0,"u"],[10495,0,"s"],[10496,0,"t"],[10497,0," "],[10498,0,"a"],[10499,0,"p"],[10500,0,"p"],[10501,0,"l"],[10502,0,"y"],[10005,0," "],[10006,0,"$"],[10007,0,"p"],[10008,0,"$"],[10009,0," "],[10010,0,"b"],[10011,0,"y"],[10012,0," "],[10013,0,"t"],[10014,0,"h"],[10015,0,"e"],[10016,0," "],[10017,0,"p"],[10018,0,"e"],[10019,0,"e"],[10020,0,"r"],[10021,0," "],[10022,0,"o"],[10023,0,"n"],[10024,0," "],[10025,0,"w"],[10026,0,"h"],[10027,0,"i"],[10028,0,"c"],[10029,0,"h"],[10030,0," "],[10031,0,"$"],[10032,0,"{"],[10032,1],[10032,0,"o"],[10033,0,"_"],[10034,0,"{"],[10035,0,"n"],[10036,0,"+"],[10037,0,"1"],[10038,0,"}"],[10039,0,"$"],[10040,0," "],[10041,0,"w"],[10042,0,"a"],[10043,0,"s"],[10044,0," "],[10045,0,"g"],[10046,0,"e"],[10047,0,"n"],[10048,0,"e"],[10049,0,"r"],[10050,0,"a"],[10051,0,"t"],[10052,0,"e"],[10053,0,"d"],[10054,0,","],[10055,0," "],[10056,0,"l"],[10057,0,"e"],[10058,0,"t"],[10122,1],[10121,1],[10120,1],[10119,1],[10118,1],[10117,1],[10116,1],[10115,1],[10114,1],[10113,1],[10112,1],[10111,1],[10110,1],[10109,1],[10108,1],[10107,1],[10106,1],[10105,1],[10104,1],[10103,1],[10102,1],[10101,1],[10100,1],[10099,1],[10098,1],[10097,1],[10096,1],[10095,1],[10094,1],[10093,1],[10092,1],[10091,1],[10090,1],[10089,1],[10088,1],[10087,1],[10086,1],[10085,1],[10084,1],[10083,1],[10082,1],[10082,0,"$"],[10083,0,"p"],[10084,0,"$"],[10171,1],[10170,1],[10169,1],[10168,1],[10167,1],[10166,1],[10165,1],[10164,1],[10163,1],[10162,1],[10161,1],[10160,1],[10159,1],[10159,0,"$"],[10160,0,"p"],[10161,0,"$"],[10509,0,"."],[309,0," "],[310,0,"t"],[311,0,"i"],[312,0,"m"],[313,0,"e"],[314,0,"-"],[315,0,"s"],[316,0,"t"],[317,0,"a"],[318,0,"m"],[319,0,"p"],[10466,0,","],[10466,1],[10465,0,","],[10522,0," "],[10523,0,"T"],[10524,0,"h"],[10525,0,"e"],[10526,0,"r"],[10527,0,"e"],[10528,0,"f"],[10529,0,"o"],[10530,0,"r"],[10531,0,"e"],[10532,0," "],[10533,0,"w"],[10534,0,"e"],[10535,0," "],[10536,0,"h"],[10537,0,"a"],[10538,0,"v"],[10539,0,"e"],[10540,0,":"],[10541,0,"\n"],[10542,0,"$"],[10543,0,"$"],[10544,0," "],[10545,0,"A"],[10546,0,"_"],[10547,0,"p"],[10548,0,"'"],[10549,0," "],[10550,0,"="],[10551,0," "],[10552,0,"A"],[10553,0,"["],[10554,0,"\\"],[10555,0,","],[10556,0,"\\"],[10557,0,"m"],[10558,0,"a"],[10559,0,"t"],[10560,0,"h"],[10561,0,"i"],[10562,0,"t"],[10563,0,"{"],[10564,0,"p"],[10565,0,"r"],[10566,0,"e"],[10567,0,"v"],[10568,0,"}"],[10569,0," "],[10570,0,"\\"],[10571,0,"m"],[10572,0,"a"],[10573,0,"p"],[10574,0,"s"],[10575,0,"t"],[10576,0,"o"],[10553,0,"_"],[10554,0,"p"],[10579,0," "],[10580,0,"("],[10581,0,"v"],[10582,0,"_"],[10583,0,"p"],[10584,0,","],[10585,0," "],[10586,0,"\\"],[10587,0,"m"],[10588,0,"a"],[10589,0,"t"],[10590,0,"h"],[10591,0,"i"],[10592,0,"t"],[10593,0,"{"],[10594,0,"i"],[10595,0,"d"],[10596,0,"}"],[10597,0,")"],[10598,0,","],[10599,0," "],[10600,0,"\\"],[10601,0,"m"],[10602,0,"a"],[10603,0,"t"],[10604,0,"h"],[10599,0,"\\"],[10600,0,";"],[10607,0,"i"],[10608,0,"t"],[10609,0,"{"],[10610,0,"i"],[10611,0,"d"],[10612,0,"}"],[10613,0," "],[10614,0,"\\"],[10615,0,"m"],[10616,0,"a"],[10617,0,"p"],[10618,0,"s"],[10619,0,"t"],[10620,0,"o"],[10621,0," "],[10622,0,"("],[10623,0,"v"],[10624,0,","],[10625,0," "],[10626,0,"n"],[10627,0,")"],[10628,0,"\\"],[10629,0,","],[10630,0,"]"],[10631,0,"\n"],[10632,0,"\\"],[10633,0,"q"],[10634,0,"u"],[10635,0,"a"],[10636,0,"d"],[10637,0,"\\"],[10638,0,"t"],[10639,0,"e"],[10640,0,"x"],[10641,0,"t"],[10642,0,"{"],[10643,0," "],[10644,0,"w"],[10645,0,"h"],[10646,0,"e"],[10647,0,"r"],[10648,0,"e"],[10649,0," "],[10650,0,"}"],[10651,0,"\\"],[10652,0,";"],[10653,0," "],[10654,0,"A"],[10655,0,"("],[10656,0,"\\"],[10657,0,"m"],[10658,0,"a"],[10659,0,"t"],[10660,0,"h"],[10661,0,"i"],[10662,0,"t"],[10663,0,"{"],[10664,0,"p"],[10665,0,"r"],[10666,0,"e"],[10667,0,"v"],[10668,0,"}"],[10669,0,")"],[10670,0," "],[10671,0,"="],[10672,0," "],[10673,0,"("],[10674,0,"v"],[10675,0,"_"],[10676,0,"p"],[10677,0,","],[10678,0," "],[10679,0,"n"],[10680,0,")"],[10681,0,"."],[10682,0," "],[10683,0,"$"],[10684,0,"$"],[10643,1],[10648,1],[10650,1],[10650,0,"q"],[10651,0,"u"],[10652,0,"a"],[10653,0,"d"],[10631,0," "],[10632,0,"$"],[10633,0,"$"],[10645,1],[10644,1],[10643,1],[10642,1],[10641,1],[10640,1],[10639,1],[10638,1],[10637,1],[10636,1],[10635,1],[10645,1],[10644,1],[10643,1],[10642,1],[10641,1],[10640,1],[10640,0," "],[10641,0,"$"],[10642,1],[10672,1],[10670,1],[10643,0,"_"],[10644,0,"p"],[10669,1],[10669,0,"\\"],[10670,0,"m"],[10671,0,"a"],[10672,0,"t"],[10673,0,"h"],[10674,0,"i"],[10675,0,"t"],[10676,0,"{"],[10677,0,"n"],[10678,0,"e"],[10679,0,"x"],[10680,0,"t"],[10681,0,"}"],[10666,0,"\\"],[10667,0,"m"],[10668,0,"a"],[10669,0,"t"],[10670,0,"h"],[10671,0,"i"],[10672,0,"t"],[10673,0,"{"],[10672,1],[10671,1],[10671,0,"r"],[10672,0,"m"],[10675,0,"r"],[10676,0,"e"],[10677,0,"v"],[10678,0,"}"],[10583,1],[10583,0,"\\"],[10584,0,"m"],[10585,0,"a"],[10586,0,"t"],[10587,0,"h"],[10588,0,"r"],[10589,0,"m"],[10590,0,"{"],[10591,0,"p"],[10592,0,"r"],[10593,0,"e"],[10594,0,"v"],[10595,0,"}"],[10638,1],[10638,0,"\\"],[10639,0,"m"],[10640,0,"a"],[10641,0,"t"],[10642,0,"h"],[10643,0,"i"],[10644,0,"t"],[10645,0,"{"],[10646,0,"n"],[10647,0,"e"],[10648,0,"x"],[10649,0,"t"],[10650,0,"}"],[10589,1],[10588,1],[10588,0,"i"],[10589,0,"t"],[10696,1],[10695,1],[10695,0,"i"],[10696,0,"t"],[10719,1],[10720,0," "],[10721,0,"a"],[10722,0,"n"],[10723,0,"d"],[10724,0," "],[10725,0,"$"],[10726,0,"\\"],[10727,0,"m"],[10728,0,"a"],[10729,0,"t"],[10730,0,"h"],[10731,0,"i"],[10732,0,"t"],[10733,0,"{"],[10734,0,"p"],[10735,0,"r"],[10736,0,"e"],[10737,0,"v"],[10738,0,"}"],[10739,0," "],[10740,0,"<"],[10741,0," "],[10742,0,"\\"],[10743,0,"m"],[10744,0,"a"],[10745,0,"t"],[10746,0,"h"],[10747,0,"i"],[10748,0,"t"],[10749,0,"{"],[10750,0,"i"],[10751,0,"d"],[10752,0,"}"],[10753,0,"$"],[10754,0," "],[10755,0,"a"],[10756,0,"n"],[10757,0,"d"],[10758,0," "],[10759,0,"$"],[10760,0,"\\"],[10761,0,"m"],[10762,0,"a"],[10763,0,"t"],[10764,0,"h"],[10765,0,"i"],[10766,0,"t"],[10767,0,"{"],[10768,0,"n"],[10769,0,"e"],[10770,0,"x"],[10771,0,"t"],[10772,0,"}"],[10773,0," "],[10774,0,"<"],[10775,0," "],[10776,0,"\\"],[10777,0,"m"],[10778,0,"a"],[10779,0,"t"],[10780,0,"h"],[10781,0,"i"],[10782,0,"t"],[10783,0,"{"],[10784,0,"n"],[10784,1],[10784,0,"i"],[10785,0,"d"],[10786,0,"}"],[10787,0,"$"],[10788,0,"."],[10541,0,"\n"],[10542,0,"\\"],[10543,0,"b"],[10544,0,"e"],[10545,0,"g"],[10546,0,"i"],[10547,0,"n"],[10548,0,"{"],[10549,0,"a"],[10550,0,"l"],[10551,0,"i"],[10552,0,"g"],[10553,0,"n"],[10554,0,"*"],[10555,0,"}"],[10559,1],[10558,1],[10557,1],[10669,1],[10668,1],[10668,0,"\\"],[10669,0,"\\"],[10671,0,"\\"],[10672,0,"t"],[10673,0,"e"],[10674,0,"x"],[10675,0,"t"],[10676,0,"{"],[10682,0,"}"],[10683,0,"\\"],[10684,0,"q"],[10685,0,"u"],[10686,0,"a"],[10687,0,"d"],[10749,1],[10748,1],[10747,1],[10746,1],[10745,1],[10744,1],[10743,1],[10743,0," "],[10744,0,"\\"],[10745,0,"\\"],[10746,0,"\n"],[10774,1],[10775,0,"\\"],[10776,0,"q"],[10777,0,"u"],[10778,0,"a"],[10779,0,"d"],[10780,0,"\\"],[10781,0,"t"],[10782,0,"e"],[10783,0,"x"],[10784,0,"t"],[10785,0,"{"],[10789,0,"}"],[10790,0,"\\"],[10791,0,"q"],[10792,0,"u"],[10793,0,"a"],[10794,0,"d"],[10796,1],[10823,1],[10824,0,"\n"],[10825,0,"\\"],[10826,0,"e"],[10827,0,"n"],[10828,0,"d"],[10829,0,"{"],[10830,0,"a"],[10831,0,"l"],[10832,0,"i"],[10833,0,"g"],[10834,0,"n"],[10835,0,"*"],[10836,0,"}"],[10689,1],[10562,0,"&"],[10709,0,"&"],[10748,0,"&"],[10749,0," "],[10690,0,"&"],[10691,0," "],[10711,1],[10564,0,"&"],[10692,0,"&"],[10689,1],[10688,1],[10687,1],[10686,1],[10685,1],[10746,0,"&"],[10746,1],[10686,1],[10685,0,"\\"],[10686,0,"q"],[10687,0,"u"],[10688,0,"a"],[10689,0,"d"],[10564,1],[10565,0,"&"],[10566,0," "],[10562,1],[10563,0,"\\"],[10564,0,";"],[10845,0,"\n"],[10846,0,"\n"],[10846,0,"T"],[10847,0,"h"],[10848,0,"e"],[10849,0," "],[10850,0,"r"],[10851,0,"u"],[10852,0,"l"],[10853,0,"e"],[10854,0,"s"],[10855,0," "],[10856,0,"t"],[10857,0,"h"],[10858,0,"a"],[10859,0,"t"],[10860,0," "],[10861,0,"m"],[10862,0,"o"],[10863,0,"d"],[10864,0,"i"],[10865,0,"f"],[10866,0,"y"],[10867,0," "],[10868,0,"a"],[10869,0," "],[10870,0,"p"],[10871,0,"p"],[10871,1],[10871,0,"e"],[10872,0,"e"],[10873,0,"r"],[10874,0,"'"],[10875,0,"s"],[10876,0," "],[10877,0,"s"],[10878,0,"t"],[10879,0,"a"],[10880,0,"t"],[10881,0,"e"],[10882,0," "],[10883,0,"n"],[10884,0,"e"],[10885,0,"v"],[10886,0,"e"],[10887,0,"r"],[10888,0," "],[10889,0,"r"],[10890,0,"e"],[10891,0,"m"],[10892,0,"o"],[10893,0,"v"],[10894,0,"e"],[10895,0," "],[10896,0,"a"],[10897,0,"n"],[10898,0," "],[10899,0,"I"],[10900,0,"D"],[10901,0," "],[10902,0,"f"],[10903,0,"r"],[10904,0,"o"],[10905,0,"m"],[10906,0," "],[10907,0,"t"],[10908,0,"h"],[10909,0,"e"],[10910,0," "],[10911,0,"s"],[10912,0,"t"],[10913,0,"a"],[10914,0,"t"],[10915,0,"e"],[10916,0," "],[10917,0,"("],[10915,1],[10914,1],[10913,1],[10912,1],[10911,1],[10910,1],[10909,1],[10908,1],[10907,1],[10906,1],[10905,1],[10904,1],[10903,1],[10902,1],[10901,1],[10903,0,"i"],[10904,0,"."],[10905,0,"e"],[10906,0,"."],[10907,0,"\\"],[10908,0," "],[10909,0,"t"],[10910,0,"h"],[10911,0,"e"],[10912,0," "],[10913,0,"d"],[10914,0,"o"],[10915,0,"m"],[10916,0,"a"],[10917,0,"i"],[10918,0,"n"],[10919,0," "],[10920,0,"o"],[10921,0,"f"],[10922,0," "],[10923,0,"t"],[10924,0,"h"],[10925,0,"e"],[10926,0," "],[10927,0,"p"],[10928,0,"a"],[10929,0,"r"],[10930,0,"t"],[10931,0,"i"],[10932,0,"a"],[10933,0,"l"],[10934,0," "],[10935,0,"f"],[10936,0,"u"],[10937,0,"n"],[10938,0,"c"],[10939,0,"t"],[10940,0,"i"],[10941,0,"o"],[10942,0,"n"],[10943,0," "],[10944,0,"$"],[10945,0,"A"],[10946,0,"$"],[10947,0," "],[10948,0,"m"],[10949,0,"o"],[10950,0,"n"],[10951,0,"o"],[10952,0,"t"],[10953,0,"o"],[10954,0,"n"],[10955,0,"i"],[10956,0,"c"],[10957,0,"a"],[10958,0,"l"],[10959,0,"l"],[10960,0,"y"],[10961,0," "],[10962,0,"g"],[10963,0,"r"],[10964,0,"o"],[10965,0,"w"],[10966,0,"s"],[10967,0," "],[10968,0,"a"],[10969,0,"s"],[10970,0," "],[10971,0,"o"],[10972,0,"p"],[10973,0,"e"],[10974,0,"r"],[10975,0,"a"],[10976,0,"t"],[10977,0,"i"],[10978,0,"o"],[10979,0,"n"],[10980,0,"s"],[10981,0," "],[10982,0,"a"],[10983,0,"r"],[10984,0,"e"],[10985,0," "],[10986,0,"a"],[10987,0,"p"],[10988,0,"p"],[10989,0,"l"],[10990,0,"i"],[10991,0,"e"],[10992,0,"d"],[10993,0,")"],[10994,0,"."],[10995,0," "],[10996,0,"T"],[10997,0,"h"],[10998,0,"u"],[10999,0,"s"],[11000,0,","],[11001,0," "],[11002,0,"w"],[11003,0,"h"],[11004,0,"e"],[11005,0,"n"],[11006,0," "],[11007,0,"$"],[11008,0,"o"],[11009,0,"_"],[11010,0,"{"],[11011,0,"n"],[11012,0,"+"],[11013,0,"1"],[11014,0,"}"],[11015,0,"$"],[11016,0," "],[11017,0,"i"],[11018,0,"s"],[11019,0," "],[11020,0,"a"],[11021,0,"p"],[11022,0,"p"],[11023,0,"l"],[11024,0,"i"],[11025,0,"e"],[11026,0,"d"],[11027,0," "],[11028,0,"a"],[11029,0,"t"],[11030,0," "],[11031,0,"a"],[11032,0,"n"],[11033,0,"o"],[11034,0,"t"],[11035,0,"h"],[11036,0,"e"],[11037,0,"r"],[11038,0," "],[11039,0,"p"],[11040,0,"e"],[11041,0,"e"],[11042,0,"r"],[11043,0," "],[11044,0,"$"],[11045,0,"q"],[11046,0,"$"],[11047,0," "],[11048,0,"a"],[11049,0,"t"],[11050,0," "],[11051,0,"a"],[11052,0,"n"],[11053,0,"y"],[11054,0," "],[11055,0,"c"],[11056,0,"a"],[11057,0,"u"],[11058,0,"s"],[11059,0,"a"],[11060,0,"l"],[11061,0,"l"],[11062,0,"y"],[11063,0," "],[11064,0,"r"],[11065,0,"e"],[11066,0,"a"],[11067,0,"d"],[11068,0,"y"],[11069,0," "],[11070,0,"t"],[11071,0,"i"],[11072,0,"m"],[11073,0,"e"],[11074,0," "],[11075,0,"i"],[11076,0,"n"],[11077,0," "],[11078,0,"i"],[11079,0,"t"],[11080,0,"s"],[11081,0," "],[11082,0,"h"],[11083,0,"i"],[11084,0,"s"],[11085,0,"t"],[11086,0,"o"],[11087,0,"r"],[11088,0,"y"],[11089,0,","],[11090,0," "],[11091,0,"$"],[11092,0,"\\"],[11093,0,"m"],[11094,0,"a"],[11095,0,"t"],[11096,0,"h"],[11097,0,"i"],[11098,0,"t"],[11099,0,"{"],[11100,0,"p"],[11101,0,"r"],[11102,0,"e"],[11103,0,"v"],[11104,0,"}"],[11105,0,"$"],[11106,0," "],[11092,0,"A"],[11093,0,"_"],[11094,0,"q"],[11095,0,"("],[11109,0,")"],[11112,0,"a"],[11113,0,"n"],[11114,0,"d"],[11115,0," "],[11116,0,"$"],[11117,0,"A"],[11118,0,"_"],[11119,0,"q"],[11120,0,"("],[11121,0,"\\"],[11122,0,"m"],[11123,0,"a"],[11124,0,"t"],[11125,0,"h"],[11126,0,"i"],[11127,0,"t"],[11128,0,"{"],[11129,0,"n"],[11130,0,"e"],[11131,0,"x"],[11132,0,"t"],[11133,0,"}"],[11134,0,")"],[11135,0,"$"],[11136,0," "],[11137,0,"m"],[11138,0,"u"],[11139,0,"s"],[11140,0,"t"],[11141,0," "],[11142,0,"b"],[11143,0,"e"],[11144,0," "],[11145,0,"d"],[11146,0,"e"],[11147,0,"f"],[11148,0,"i"],[11149,0,"n"],[11150,0,"e"],[11151,0,"d"],[11152,0," "],[11153,0,"i"],[11154,0,"n"],[11155,0," "],[11156,0,"t"],[11157,0,"h"],[11158,0,"e"],[11159,0," "],[11160,0,"s"],[11161,0,"t"],[11162,0,"a"],[11163,0,"t"],[11164,0,"e"],[11165,0," "],[11166,0,"$"],[11167,0,"A"],[11168,0,"_"],[11169,0,"q"],[11170,0,"$"],[11171,0," "],[11172,0,"o"],[11173,0,"f"],[11174,0," "],[11175,0,"$"],[11176,0,"Q"],[11176,1],[11176,0,"q"],[11177,0,"$"],[11178,0," "],[11179,0,"a"],[11180,0,"t"],[11181,0," "],[11182,0,"t"],[11183,0,"h"],[11184,0,"e"],[11185,0," "],[11186,0,"t"],[11187,0,"i"],[11188,0,"m"],[11189,0,"e"],[11190,0," "],[11191,0,"w"],[11192,0,"h"],[11193,0,"e"],[11194,0,"n"],[11195,0," "],[11196,0,"$"],[11197,0,"O"],[11197,1],[11197,0,"o"],[11198,0,"_"],[11199,0,"{"],[11200,0,"n"],[11201,0,"+"],[11202,0,"1"],[11203,0,"}"],[11204,0,"$"],[11205,0," "],[11206,0,"i"],[11207,0,"s"],[11208,0," "],[11209,0,"a"],[11210,0,"p"],[11211,0,"p"],[11212,0,"l"],[11213,0,"i"],[11214,0,"e"],[11215,0,"d"],[11216,0,"."],[11215,1],[11214,1],[11213,1],[11212,1],[11211,1],[11210,1],[11209,1],[11208,1],[11207,1],[11206,1],[11205,1],[11204,1],[11203,1],[11202,1],[11201,1],[11200,1],[11199,1],[11198,1],[11197,1],[11196,1],[11195,1],[11194,1],[11193,1],[11192,1],[11191,1],[11190,1],[11189,1],[11188,1],[11187,1],[11186,1],[11185,1],[11184,1],[11183,1],[11182,1],[11181,1],[11180,1],[11179,1],[11178,1],[11177,1],[11177,0,"$"],[11177,1],[11176,1],[11175,1],[11174,1],[11173,1],[11172,1],[11171,1],[11172,0,"\n"],[11173,0,"\n"],[11174,0,"N"],[11175,0,"o"],[11176,0,"t"],[11177,0,"e"],[11178,0," "],[11179,0,"t"],[11180,0,"h"],[11181,0,"s"],[11181,1],[11181,0,"a"],[11182,0,"t"],[11183,0," "],[11184,0,"t"],[11185,0,"h"],[11186,0,"e"],[11187,0," "],[11188,0,"l"],[11189,0,"i"],[11190,0,"n"],[11191,0,"k"],[11192,0,"e"],[11193,0,"d"],[11194,0," "],[11195,0,"l"],[11196,0,"i"],[11197,0,"s"],[11198,0,"t"],[11199,0," "],[11200,0,"s"],[11201,0,"t"],[11202,0,"r"],[11203,0,"u"],[11204,0,"c"],[11205,0,"t"],[11206,0,"u"],[11207,0,"r"],[11208,0,"e"],[11209,0," "],[11210,0,"i"],[11211,0,"s"],[11212,0," "],[11213,0,"o"],[11214,0,"n"],[11215,0,"l"],[11216,0,"y"],[11217,0," "],[11218,0,"m"],[11219,0,"o"],[11220,0,"d"],[11221,0,"i"],[11222,0,"f"],[11223,0,"i"],[11224,0,"e"],[11225,0,"d"],[11226,0," "],[11227,0,"b"],[11228,0,"y"],[11229,0," "],[11230,0,"a"],[11231,0,"p"],[11232,0,"p"],[11233,0,"l"],[11234,0,"y"],[11235,0,"i"],[11236,0,"n"],[11237,0,"g"],[11238,0," "],[11239,0,"$"],[11240,0,"\\"],[11241,0,"]"],[11241,1],[11241,0,"m"],[11242,0,"a"],[11243,0,"t"],[11244,0,"h"],[11245,0,"s"],[11246,0,"f"],[11247,0,"{"],[11248,0,"i"],[11249,0,"n"],[11250,0,"s"],[11251,0,"e"],[11252,0,"r"],[11253,0,"t"],[11254,0,"}"],[11255,0,"$"],[11256,0," "],[11257,0,"o"],[11258,0,"p"],[11259,0,"e"],[11260,0,"r"],[11261,0,"a"],[11262,0,"t"],[11263,0,"i"],[11264,0,"o"],[11265,0,"n"],[11266,0,"s"],[11267,0," "],[11268,0,"("],[11269,0,"$"],[11270,0,"\\"],[11271,0,"m"],[11272,0,"a"],[11273,0,"t"],[11274,0,"h"],[11275,0,"s"],[11276,0,"f"],[11277,0,"{"],[11278,0,"d"],[11279,0,"e"],[11280,0,"l"],[11281,0,"e"],[11282,0,"t"],[11283,0,"e"],[11284,0,"}"],[11285,0," "],[11285,1],[11285,0,"$"],[11286,0," "],[11287,0,"o"],[11288,0,"p"],[11289,0,"e"],[11290,0,"r"],[11291,0,"a"],[11292,0,"t"],[11293,0,"i"],[11294,0,"o"],[11295,0,"n"],[11296,0,"s"],[11297,0," "],[11298,0,"m"],[11299,0,"o"],[11300,0,"d"],[11301,0,"i"],[11302,0,"f"],[11303,0,"y"],[11304,0," "],[11305,0,"v"],[11306,0,"a"],[11307,0,"l"],[11308,0,"u"],[11309,0,"e"],[11310,0,"s"],[11311,0,","],[11312,0," "],[11313,0,"b"],[11314,0,"u"],[11315,0,"t"],[11316,0," "],[11317,0,"t"],[11317,1],[11317,0,"n"],[11318,0,"o"],[11319,0,"t"],[11320,0," "],[11321,0,"t"],[11322,0,"h"],[11323,0,"e"],[11324,0," "],[11325,0,"o"],[11326,0,"r"],[11327,0,"d"],[11328,0,"e"],[11329,0,"r"],[11330,0," "],[11331,0,"o"],[11332,0,"f"],[11333,0," "],[11334,0,"i"],[11335,0,"t"],[11336,0,"e"],[11337,0,"m"],[11338,0,"s"],[11339,0," "],[11340,0,"i"],[11341,0,"n"],[11342,0," "],[11343,0,"t"],[11344,0,"h"],[11345,0,"e"],[11346,0," "],[11347,0,"l"],[11348,0,"i"],[11349,0,"s"],[11350,0,"t"],[11351,0,")"],[11352,0,","],[11353,0," "],[11354,0,"a"],[11355,0,"n"],[11356,0,"d"],[11357,0," "],[11358,0,"a"],[11359,0,"p"],[11360,0,"p"],[11361,0,"l"],[11362,0,"y"],[11363,0,"i"],[11364,0,"n"],[11365,0,"g"],[11366,0," "],[11367,0,"a"],[11368,0,"n"],[11369,0," "],[11370,0,"$"],[11371,0,"\\"],[11372,0,"m"],[11373,0,"a"],[11374,0,"t"],[11375,0,"h"],[11376,0,"s"],[11377,0,"f"],[11378,0,"{"],[11379,0,"i"],[11380,0,"n"],[11381,0,"s"],[11382,0,"e"],[11383,0,"r"],[11384,0,"t"],[11385,0,"}"],[11386,0,"$"],[11387,0," "],[11388,0,"o"],[11389,0,"p"],[11390,0,"e"],[11391,0,"r"],[11392,0,"a"],[11393,0,"t"],[11394,0,"i"],[11395,0,"o"],[11396,0,"n"],[11397,0," "],[11398,0,"a"],[11399,0,"l"],[11400,0,"w"],[11401,0,"a"],[11402,0,"y"],[11403,0,"s"],[11404,0," "],[4621,0," "],[4622,0,"a"],[4623,0,"n"],[4624,0,"d"],[4625,0," "],[4626,0,"$"],[4627,0,"\\"],[4628,0,"m"],[4629,0,"a"],[4630,0,"t"],[4631,0,"h"],[4632,0,"s"],[4633,0,"f"],[4634,0,"{"],[4635,0,"h"],[4636,0,"e"],[4637,0,"a"],[4638,0,"d"],[4639,0,"}"],[4640,0," "],[4641,0,"<"],[4642,0," "],[4643,0,"("],[4644,0,"c"],[4645,0,","],[4646,0," "],[4647,0,"p"],[4648,0,")"],[4649,0,"$"],[11433,1],[11432,1],[11431,1],[11430,1],[11429,1],[11428,1],[11427,1],[11426,1],[11425,1],[11424,1],[11423,1],[11422,1],[11421,1],[11420,1],[11419,1],[11418,1],[11417,1],[11416,1],[11415,1],[11414,1],[11413,1],[11412,1],[11411,1],[11410,1],[11409,1],[11408,1],[11407,1],[11406,1],[11405,1],[11404,1],[11403,1],[11402,1],[11401,1],[11400,1],[11399,1],[11398,1],[11397,1],[11396,1],[11395,1],[11394,1],[11393,1],[11392,1],[11391,1],[11390,1],[11389,1],[11388,1],[11387,1],[11386,1],[11385,1],[11384,1],[11383,1],[11382,1],[11381,1],[11381,0,"."],[11381,0,","],[11382,0," "],[11383,0,"s"],[11384,0,"o"],[11385,0," "],[11386,0,"$"],[11387,0,"o"],[11388,0,"_"],[11389,0,"{"],[11390,0,"n"],[11391,0,"+"],[11392,0,"1"],[11393,0,"}"],[11394,0,"$"],[11395,0," "],[11381,1],[11381,0,"."],[11382,0," "],[11383,0,"C"],[11384,0,"a"],[11385,0,"u"],[11386,0,"s"],[11387,0,"a"],[11388,0,"l"],[11389,0,"l"],[11390,0,"y"],[11391,0," "],[11392,0,"o"],[11393,0,"r"],[11394,0,"d"],[11395,0,"e"],[11396,0,"r"],[11397,0,"e"],[11398,0,"d"],[11399,0," "],[11400,0,"d"],[11401,0,"e"],[11402,0,"l"],[11403,0,"i"],[11404,0,"v"],[11405,0,"e"],[11406,0,"r"],[11407,0,"y"],[11408,0," "],[11409,0,"r"],[11410,0,"e"],[11411,0,"q"],[11412,0,"u"],[11413,0,"i"],[11414,0,"r"],[11415,0,"e"],[11416,0,"s"],[11417,0," "],[11418,0,"$"],[11419,0,"o"],[11420,0,"_"],[11421,0,"{"],[11422,0,"n"],[11423,0,"+"],[11424,0,"1"],[11425,0,"}"],[11426,0,"$"],[11427,0," "],[11428,0,"t"],[11429,0,"o"],[11430,0," "],[11431,0,"b"],[11432,0,"e"],[11433,0," "],[11434,0,"d"],[11435,0,"e"],[11436,0,"l"],[11437,0,"i"],[11438,0,"v"],[11439,0,"e"],[11440,0,"r"],[11441,0,"e"],[11442,0,"d"],[11443,0," "],[11444,0,"a"],[11445,0,"f"],[11446,0,"t"],[11446,1],[11445,1],[11444,1],[11443,1],[11442,1],[11441,1],[11440,1],[11439,1],[11438,1],[11437,1],[11436,1],[11435,1],[11434,1],[11434,0,"a"],[11435,0,"p"],[11436,0,"p"],[11437,0,"l"],[11438,0,"i"],[11439,0,"e"],[11440,0,"d"],[11441,0," "],[11407,1],[11406,1],[11405,1],[11404,1],[11403,1],[11402,1],[11401,1],[11400,1],[11399,1],[11398,1],[11397,1],[11397,0,"i"],[11398,0,"n"],[11399,0,"g"],[11434,0,"a"],[11435,0,"f"],[11436,0,"t"],[11437,0,"e"],[11438,0,"r"],[11439,0," "],[11440,0,"a"],[11441,0,"n"],[11442,0,"y"],[11443,0," "],[11444,0,"o"],[11445,0,"p"],[11446,0,"e"],[11447,0,"r"],[11448,0,"a"],[11449,0,"t"],[11450,0,"i"],[11451,0,"o"],[11452,0,"n"],[11453,0," "],[11454,0,"t"],[11455,0,"h"],[11456,0,"a"],[11457,0,"t"],[11458,0," "],[11459,0,"h"],[11460,0,"a"],[11461,0,"p"],[11462,0,"p"],[11463,0,"e"],[11464,0,"n"],[11465,0,"e"],[11466,0,"d"],[11467,0," "],[11468,0,"b"],[11469,0,"e"],[11470,0,"f"],[11471,0,"o"],[11472,0,"r"],[11473,0,"e"],[11474,0," "],[11475,0,"a"],[11476,0,"n"],[11477,0,"d"],[11478,0," "],[11479,0,"b"],[11480,0,"e"],[11481,0,"f"],[11482,0,"o"],[11483,0,"r"],[11484,0,"e"],[11485,0," "],[11486,0,"a"],[11487,0,"n"],[11488,0,"y"],[11489,0," "],[11490,0,"o"],[11491,0,"p"],[11492,0,"e"],[11493,0,"r"],[11494,0,"a"],[11495,0,"t"],[11496,0,"i"],[11497,0,"o"],[11498,0,"n"],[11499,0," "],[11500,0,"t"],[11501,0,"h"],[11502,0,"a"],[11503,0,"t"],[11504,0," "],[11505,0,"h"],[11506,0,"a"],[11507,0,"p"],[11508,0,"p"],[11509,0,"e"],[11510,0,"n"],[11511,0,"e"],[11512,0,"d"],[11513,0," "],[11514,0,"c"],[11515,0,"a"],[11516,0,"u"],[11517,0,"s"],[11518,0,"a"],[11519,0,"l"],[11520,0,"l"],[11521,0,"y"],[11522,0," "],[11523,0,"l"],[11524,0,"a"],[11525,0,"t"],[11526,0,"e"],[11527,0,"r"],[11528,0,","],[11532,0," "],[11533,0,"w"],[11534,0,"e"],[11535,0," "],[11536,0,"n"],[11537,0,"e"],[11538,0,"e"],[11539,0,"d"],[11540,0," "],[11541,0,"o"],[11542,0,"n"],[11543,0,"l"],[11544,0,"y"],[11545,0," "],[11546,0,"c"],[11547,0,"o"],[11548,0,"n"],[11549,0,"s"],[11550,0,"i"],[11551,0,"d"],[11552,0,"e"],[11553,0,"r"],[11554,0," "],[11555,0,"a"],[11556,0,"l"],[11557,0,"l"],[11558,0," "],[11559,0,"p"],[11560,0,"o"],[11561,0,"s"],[11562,0,"s"],[11563,0,"i"],[11564,0,"b"],[11565,0,"l"],[11566,0,"e"],[11567,0," "],[11568,0,"o"],[11569,0,"r"],[11570,0,"d"],[11571,0,"e"],[11572,0,"r"],[11573,0,"i"],[11574,0,"n"],[11575,0,"g"],[11576,0,"s"],[11577,0," "],[11578,0,"o"],[11579,0,"f"],[11591,0,"w"],[11592,0,"i"],[11593,0,"t"],[11594,0,"h"],[11595,0," "],[11596,0,"r"],[11597,0,"e"],[11598,0,"s"],[11599,0,"p"],[11600,0,"e"],[11601,0,"c"],[11602,0,"t"],[11603,0," "],[11604,0,"t"],[11605,0,"o"],[11606,0," "],[11607,0,"o"],[11608,0,"t"],[11609,0,"h"],[11610,0,"e"],[11611,0,"r"],[11612,0," "],[11613,0,"c"],[11614,0,"o"],[11615,0,"n"],[11616,0,"c"],[11617,0,"u"],[11618,0,"r"],[11619,0,"r"],[11620,0,"e"],[11621,0,"n"],[11622,0,"t"],[11623,0," "],[11624,0,"\\"],[11624,1],[11624,0,"$"],[11625,0,"\\"],[11626,0,"m"],[11627,0,"a"],[11628,0,"t"],[11629,0,"h"],[11630,0,"s"],[11631,0,"f"],[11632,0,"{"],[11633,0,"i"],[11634,0,"n"],[11635,0,"s"],[11636,0,"e"],[11637,0,"r"],[11638,0,"t"],[11639,0,"}"],[11640,0,"$"],[11641,0," "],[11642,0,"o"],[11643,0,"p"],[11644,0,"e"],[11645,0,"r"],[11646,0,"a"],[11647,0,"t"],[11648,0,"i"],[11649,0,"o"],[11650,0,"n"],[11651,0,"s"],[11390,1],[11389,1],[11652,0,"\n"],[11653,0,"\n"],[11653,0,"M"],[11654,0,"o"],[11655,0,"r"],[11656,0,"e"],[11657,0,"o"],[11658,0,"v"],[11659,0,"e"],[11660,0,"r"],[11661,0,","],[11662,0," "],[11663,0,"t"],[11664,0,"h"],[11665,0,"e"],[11666,0," "],[11667,0,"l"],[11668,0,"i"],[11669,0,"s"],[11670,0,"t"],[11671,0," "],[11672,0,"s"],[11673,0,"t"],[11674,0,"r"],[11675,0,"u"],[11676,0,"c"],[11677,0,"t"],[11678,0,"u"],[11679,0,"r"],[11680,0,"e"],[11681,0," "],[11682,0,"i"],[11683,0,"s"],[11684,0," "],[11685,0,"o"],[11686,0,"n"],[11687,0,"l"],[11688,0,"y"],[11689,0," "],[11690,0,"m"],[11691,0,"o"],[11692,0,"d"],[11693,0,"i"],[11694,0,"f"],[11695,0,"i"],[11696,0,"e"],[11697,0,"d"],[11698,0," "],[11699,0,"b"],[11700,0,"y"],[11701,0," "],[11702,0,"i"],[11703,0,"n"],[11704,0,"s"],[11705,0,"e"],[11706,0,"r"],[11707,0,"t"],[11708,0,"i"],[11709,0,"n"],[11710,0,"g"],[11711,0," "],[11712,0,"a"],[11713,0," "],[11714,0,"n"],[11715,0,"e"],[11716,0,"w"],[11717,0," "],[11718,0,"e"],[11719,0,"l"],[11720,0,"e"],[11721,0,"m"],[11722,0,"e"],[11723,0,"n"],[11724,0,"t"],[11725,0," "],[11726,0,"b"],[11727,0,"e"],[11728,0,"t"],[11729,0,"w"],[11730,0,"e"],[11731,0,"e"],[11732,0,"n"],[11733,0," "],[11734,0,"t"],[11735,0,"w"],[11736,0,"o"],[11737,0," "],[11738,0,"e"],[11739,0,"x"],[11740,0,"i"],[11741,0,"s"],[11742,0,"t"],[11743,0,"i"],[11744,0,"n"],[11745,0,"g"],[11746,0,","],[11747,0," "],[11748,0,"a"],[11749,0,"d"],[11750,0,"j"],[11751,0,"a"],[11752,0,"c"],[11753,0,"e"],[11754,0,"n"],[11755,0,"t"],[11756,0," "],[11757,0,"e"],[11758,0,"l"],[11759,0,"e"],[11760,0,"m"],[11761,0,"e"],[11762,0,"n"],[11763,0,"t"],[11764,0,"s"],[11765,0,"."],[11766,0," "],[11767,0,"W"],[11768,0,"h"],[11769,0,"e"],[11770,0,"n"],[11771,0," "],[11772,0,"$"],[11773,0,"o"],[11774,0,"{"],[11774,1],[11774,0,"_"],[11775,0,"{"],[11776,0,"n"],[11777,0,"+"],[11778,0,"1"],[11779,0,"}"],[11780,0,"$"],[11781,0," "],[11782,0,"i"],[11783,0,"s"],[11784,0," "],[11785,0,"a"],[11786,0,"p"],[11787,0,"p"],[11788,0,"l"],[11789,0,"i"],[11790,0,"e"],[11791,0,"d"],[11792,0," "],[11793,0,"a"],[11794,0,"t"],[11795,0," "],[11796,0,"p"],[11797,0,"e"],[11798,0,"e"],[11799,0,"r"],[11800,0," "],[11801,0,"$"],[11802,0,"q"],[11803,0,"$"],[11804,0,","],[11805,0," "],[11806,0,"t"],[11807,0,"h"],[11808,0,"e"],[11809,0," "],[11810,0,"e"],[11811,0,"l"],[11812,0,"e"],[11813,0,"m"],[11814,0,"e"],[11815,0,"n"],[11816,0,"t"],[11817,0,"s"],[11818,0," "],[11819,0,"$"],[11820,0,"\\"],[11821,0,"m"],[11822,0,"a"],[11823,0,"t"],[11824,0,"h"],[11825,0,"i"],[11826,0,"t"],[11827,0,"{"],[11828,0,"p"],[11829,0,"r"],[11830,0,"e"],[11831,0,"v"],[11832,0,"}"],[11833,0,"$"],[11834,0," "],[11835,0,"a"],[11836,0,"n"],[11837,0,"d"],[11838,0," "],[11818,0," "],[11819,0,"i"],[11820,0,"d"],[11821,0,"e"],[11822,0,"n"],[11823,0,"t"],[11824,0,"i"],[11825,0,"f"],[11826,0,"i"],[11827,0,"e"],[11828,0,"d"],[11829,0," "],[11830,0,"b"],[11831,0,"y"],[11853,0,"$"],[11854,0,"\\"],[11855,0,"m"],[11856,0,"a"],[11857,0,"t"],[11858,0,"h"],[11859,0,"i"],[11860,0,"t"],[11861,0,"{"],[11862,0,"n"],[11863,0,"e"],[11864,0,"x"],[11865,0,"t"],[11866,0,"}"],[11867,0,"$"],[11868,0," "],[11869,0,"a"],[11870,0,"r"],[11871,0,"e"],[11872,0," "],[11873,0,"n"],[11874,0,"o"],[11875,0," "],[11876,0,"l"],[11877,0,"o"],[11878,0,"n"],[11879,0,"g"],[11880,0,"e"],[11881,0,"r"],[11882,0," "],[11883,0,"n"],[11884,0,"e"],[11885,0,"c"],[11886,0,"e"],[11887,0,"s"],[11888,0,"s"],[11889,0,"a"],[11890,0,"r"],[11891,0,"i"],[11892,0,"l"],[11893,0,"y"],[11894,0," "],[11895,0,"a"],[11896,0,"d"],[11897,0,"j"],[11898,0,"a"],[11899,0,"c"],[11900,0,"e"],[11901,0,"n"],[11902,0,"t"],[11903,0," "],[11904,0,"("],[11905,0,"a"],[11906,0,"s"],[11907,0," "],[11908,0,"a"],[11908,1],[11907,1],[11906,1],[11905,1],[11904,1],[11904,0,"i"],[11905,0,"n"],[11906,0," "],[11907,0,"$"],[11908,0,"A"],[11909,0,"_"],[11910,0,"q"],[11911,0,"4"],[11911,1],[11911,0,"$"],[11912,0,","],[11913,0," "],[11914,0,"B"],[11915,0,"U"],[11916,0,"T"],[11917,0," "],[11917,1],[11916,1],[11915,1],[11914,1],[11914,0,"b"],[11915,0,"u"],[11916,0,"t"],[11917,0," "],[11918,0,"w"],[11919,0,"e"],[11920,0," "],[11921,0,"k"],[11922,0,"n"],[11923,0,"o"],[11924,0,"w"],[11925,0," "],[11926,0,"f"],[11927,0,"r"],[11928,0,"o"],[11929,0,"m"],[11930,0," "],[11930,1],[11929,1],[11928,1],[11927,1],[11926,1],[11926,0,"t"],[11927,0,"h"],[11928,0,"a"],[11929,0,"t"],[11930,0," "],[11931,0,"a"],[11932,0,"n"],[11933,0,"y"],[11934,0," "],[11935,0,"o"],[11936,0,"t"],[11937,0,"h"],[11938,0,"e"],[11939,0,"r"],[11940,0," "],[11941,0,"I"],[11942,0,"D"],[11943,0," "],[11944,0,"i"],[11945,0,"n"],[11946,0,"s"],[11947,0,"e"],[11948,0,"r"],[11949,0,"t"],[11950,0,"e"],[11951,0,"d"],[11952,0," "],[11953,0,"b"],[11954,0,"e"],[11955,0,"t"],[11956,0,"w"],[11957,0,"e"],[11958,0,"e"],[11959,0,"n"],[11960,0," "],[11961,0,"t"],[11962,0,"h"],[11963,0,"o"],[11964,0,"s"],[11965,0,"e"],[11966,0," "],[11967,0,"e"],[11968,0,"l"],[11969,0,"e"],[11970,0,"m"],[11971,0,"e"],[11972,0,"n"],[11973,0,"t"],[11974,0,"s"],[11975,0," "],[11976,0,"m"],[11977,0,"u"],[11978,0,"s"],[11979,0,"t"],[11980,0," "],[11981,0,"h"],[11982,0,"a"],[11983,0,"v"],[11984,0,"e"],[11985,0," "],[11986,0,"$"],[11987,0,"\\"],[11988,0,"m"],[11989,0,"a"],[11990,0,"t"],[11991,0,"h"],[11992,0,"i"],[11993,0,"t"],[11994,0,"{"],[11995,0,"p"],[11996,0,"r"],[11997,0,"e"],[11998,0,"v"],[11943,0," "],[11944,0,"$"],[11945,0,"\\"],[11946,0,"m"],[11947,0,"a"],[11948,0,"t"],[11949,0,"h"],[11950,0,"i"],[11951,0,"t"],[11952,0,"{"],[11953,0,"i"],[11954,0,"d"],[11955,0,"}"],[11956,0,"'"],[11957,0,"$"],[12014,0,"}"],[12015,0," "],[12016,0,"<"],[12017,0," "],[12018,0,"\\"],[12019,0,"m"],[12020,0,"a"],[12021,0,"t"],[12022,0,"h"],[12023,0,"i"],[12024,0,"t"],[12025,0,"{"],[12026,0,"i"],[12027,0,"d"],[12028,0,"}"],[12029,0,"'"],[12030,0,"$"],[12031,0," "],[12032,0,"a"],[12033,0,"n"],[12034,0,"d"],[12035,0," "],[12036,0,"$"],[12037,0,"\\"],[12038,0,"m"],[12039,0,"a"],[12040,0,"t"],[12041,0,"h"],[12042,0,"i"],[12043,0,"t"],[12044,0,"{"],[12045,0,"n"],[12046,0,"e"],[12047,0,"x"],[12048,0,"t"],[12049,0,"}"],[12050,0," "],[12051,0,"<"],[12052,0," "],[12053,0,"\\"],[12054,0,"m"],[12055,0,"a"],[12056,0,"t"],[12057,0,"h"],[12058,0,"i"],[12059,0,"t"],[12060,0,"{"],[12061,0,"i"],[12062,0,"d"],[12063,0,"}"],[12064,0,"'"],[12065,0,"$"],[12066,0," "],[12067,0,"a"],[12068,0,"c"],[12069,0,"c"],[12070,0,"o"],[12071,0,"r"],[12072,0,"d"],[12073,0,"i"],[12074,0,"n"],[12075,0,"g"],[12076,0," "],[12077,0,"t"],[12078,0,"o"],[12079,0," "],[12080,0,"t"],[12081,0,"h"],[12082,0,"e"],[12083,0," "],[12084,0,"o"],[12085,0,"b"],[12086,0,"s"],[12087,0,"e"],[12088,0,"r"],[12089,0,"v"],[12090,0,"a"],[12091,0,"t"],[12092,0,"i"],[12093,0,"o"],[12094,0,"n"],[12095,0," "],[12096,0,"a"],[12097,0,"b"],[12098,0,"o"],[12099,0,"v"],[12100,0,"e"],[12101,0,"."],[11931,0,"t"],[11932,0,"h"],[11933,0,"e"],[11934,0,"y"],[11935,0," "],[11936,0,"m"],[11937,0,"u"],[11938,0,"s"],[11939,0,"t"],[11940,0," "],[11941,0,"s"],[11942,0,"t"],[11943,0,"i"],[11944,0,"l"],[11945,0,"l"],[11946,0," "],[11947,0,"b"],[11948,0,"e"],[11949,0," "],[11950,0,"i"],[11951,0,"n"],[11952,0," "],[11953,0,"t"],[11954,0,"h"],[11955,0,"e"],[11956,0," "],[11957,0,"s"],[11958,0,"a"],[11959,0,"m"],[11960,0,"e"],[11961,0," "],[11962,0,"o"],[11963,0,"r"],[11964,0,"d"],[11965,0,"e"],[11966,0,"r"],[11967,0,","],[11968,0," "],[11969,0,"a"],[11970,0,"n"],[11971,0,"d"],[11972,0," "],[11973,0,"w"],[11974,0,"e"],[11975,0," "],[11975,1],[11974,1],[11973,1],[11972,1],[11971,1],[11970,1],[11969,1],[11968,1],[11967,1],[11967,0,"."],[11968,0," "],[11969,0,"A"],[11970,0,"c"],[11971,0,"c"],[11972,0,"o"],[11973,0,"r"],[11974,0,"d"],[11975,0,"i"],[11976,0,"n"],[11977,0,"g"],[11978,0," "],[11979,0,"t"],[11980,0,"o"],[11981,0," "],[11982,0,"t"],[11983,0,"h"],[11984,0,"e"],[11985,0," "],[11986,0,"o"],[11987,0,"b"],[11988,0,"s"],[11989,0,"e"],[11990,0,"r"],[11991,0,"v"],[11992,0,"a"],[11993,0,"t"],[11994,0,"i"],[11995,0,"o"],[11996,0,"n"],[11997,0," "],[11998,0,"a"],[11999,0,"b"],[12000,0,"o"],[12001,0,"v"],[12002,0,"e"],[12003,0,","],[12004,0," "],[12005,0,"w"],[12006,0,"e"],[12007,0," "],[12008,0,"a"],[12009,0,"l"],[12010,0,"s"],[12011,0,"o"],[12012,0," "],[12013,0,"k"],[12014,0,"n"],[12015,0,"o"],[12016,0,"w"],[12017,0," "],[12018,0,"t"],[12019,0,"h"],[12020,0,"a"],[12021,0,"t"],[12022,0," "],[12192,1],[12191,1],[12190,1],[12189,1],[12188,1],[12187,1],[12186,1],[12185,1],[12184,1],[12183,1],[12182,1],[12181,1],[12180,1],[12179,1],[12178,1],[12177,1],[12176,1],[12175,1],[12174,1],[12173,1],[12172,1],[12171,1],[12170,1],[12169,1],[12168,1],[12167,1],[12166,1],[12165,1],[12164,1],[12163,1],[12162,1],[12161,1],[12160,1],[12159,1],[12158,1],[11881,1],[11880,1],[11879,1],[11878,1],[11877,1],[11876,1],[11875,1],[11875,0,"t"],[11472,0,","],[12154,0,"\n"],[12155,0,"\n"],[11200,0,","],[11201,0," "],[11202,0,"o"],[11203,0,"r"],[11204,0," "],[11205,0,"\\"],[11206,0,"m"],[11207,0,"a"],[11208,0,"t"],[11205,0,"$"],[11210,0,"h"],[11211,0,"i"],[11212,0,"t"],[11213,0,"{"],[11214,0,"n"],[11215,0,"e"],[11216,0,"x"],[11217,0,"t"],[11218,0,"}"],[11219,0," "],[11220,0,"="],[11221,0," "],[11222,0,"\\"],[11223,0,"m"],[11224,0,"a"],[11225,0,"t"],[11226,0,"h"],[11227,0,"s"],[11228,0,"f"],[11229,0,"{"],[11230,0,"t"],[11231,0,"a"],[11232,0,"i"],[11233,0,"l"],[11234,0,"}"],[11235,0,"$"],[12192,0,"B"],[12193,0,"y"],[12194,0," "],[12195,0,"t"],[12196,0,"h"],[12197,0,"e"],[12198,0," "],[12199,0,"i"],[12200,0,"n"],[12201,0,"d"],[12202,0,"u"],[12203,0,"c"],[12204,0,"t"],[12205,0,"i"],[12206,0,"o"],[12207,0,"n"],[12208,0," "],[12209,0,"h"],[12210,0,"y"],[12211,0,"p"],[12212,0,"o"],[12213,0,"t"],[12214,0,"h"],[12215,0,"e"],[12216,0,"s"],[12217,0,"i"],[12218,0,"s"],[12219,0," "],[12219,1],[12219,0,","],[12220,0," "],[12221,0,"a"],[12222,0,"s"],[12223,0,"s"],[12224,0,"u"],[12225,0,"m"],[12226,0,"e"],[12227,0," "],[12228,0,"a"],[12229,0," "],[12229,1],[12228,1],[12228,0,"w"],[12229,0,"e"],[12230,0," "],[12231,0,"h"],[12232,0,"a"],[12233,0,"v"],[12234,0,"e"],[12235,0," "],[12235,1],[12234,1],[12233,1],[12232,1],[12231,1],[12230,1],[12229,1],[12228,1],[12227,1],[12226,1],[12225,1],[12224,1],[12223,1],[12222,1],[12221,1],[12221,0,"l"],[12222,0,"e"],[12223,0,"t"],[12224,0," "],[12225,0,"h"],[12226,0,"i"],[12227,0,"s"],[12228,0,"t"],[12228,1],[12227,1],[12227,0,"s"],[12228,0,"t"],[12229,0,"o"],[12230,0,"r"],[12231,0,"i"],[12232,0,"e"],[12233,0,"s"],[12234,0," "],[12235,0,"H"],[12236,0,"1"],[12236,1],[12235,1],[12235,0,"$"],[12236,0,"#"],[12236,1],[12236,0,"H"],[12237,0,"_"],[12238,0,"1"],[12239,0,"$"],[12240,0," "],[12241,0,"a"],[12242,0,"n"],[12243,0,"d"],[12244,0," "],[12245,0,"$"],[12246,0,"H"],[12247,0,"J"],[12247,1],[12247,0,"_"],[12248,0,"@"],[12248,1],[12248,0,"2"],[12249,0,"$"],[12250,0," "],[12234,1],[12233,1],[12232,1],[12231,1],[12230,1],[12229,1],[12228,1],[12227,1],[12226,1],[12225,1],[12241,0,"b"],[12242,0,"e"],[12243,0," "],[12244,0,"c"],[12245,0,"a"],[12246,0,"u"],[12247,0,"s"],[12248,0,"a"],[12249,0,"l"],[12250,0," "],[12251,0,"h"],[12252,0,"i"],[12253,0,"s"],[12254,0,"t"],[12255,0,"o"],[12256,0,"r"],[12257,0,"i"],[12258,0,"e"],[12259,0,"s"],[12260,0," "],[12261,0,"o"],[12262,0,"f"],[12263,0," "],[12264,0,"o"],[12265,0,"p"],[12266,0,"e"],[12267,0,"r"],[12268,0,"a"],[12269,0,"t"],[12270,0,"i"],[12271,0,"o"],[12272,0,"n"],[12273,0,"s"],[12274,0," "],[12275,0,"$"],[12276,0,"o"],[12277,0,"_"],[12278,0,"n"],[12279,0,"1"],[12280,0," "],[12280,1],[12279,1],[12278,1],[12278,0,"1"],[12279,0," "],[12280,0,"\\"],[12281,0,"d"],[12282,0,"o"],[12283,0,"t"],[12284,0,"s"],[12285,0," "],[12286,0,"o"],[12287,0,"_"],[12288,0,"n"],[12289,0,"$"],[12290,0," "],[12291,0,"w"],[12292,0,"h"],[12293,0,"i"],[12294,0,"c"],[12295,0,"h"],[12296,0," "],[12297,0,"r"],[12298,0,"e"],[12299,0,"s"],[12300,0,"u"],[12301,0,"l"],[12302,0,"t"],[12303,0," "],[12304,0,"i"],[12305,0,"n"],[12306,0," "],[12307,0,"t"],[12308,0,"h"],[12309,0,"e"],[12310,0," "],[12311,0,"s"],[12312,0,"a"],[12313,0,"m"],[12314,0,"e"],[12315,0," "],[12316,0,"f"],[12317,0,"i"],[12318,0,"n"],[12319,0,"a"],[12320,0,"l"],[12321,0," "],[12322,0,"s"],[12323,0,"t"],[12324,0,"a"],[12325,0,"t"],[12326,0,"e"],[12327,0," "],[12328,0,"w"],[12329,0,"h"],[12330,0,"e"],[12331,0,"n"],[12332,0," "],[12333,0,"a"],[12334,0,"p"],[12335,0,"p"],[12336,0,"l"],[12337,0,"i"],[12338,0,"e"],[12339,0,"d"],[12340,0,"."],[12341,0," "],[12342,0,"W"],[12343,0,"h"],[12344,0,"e"],[12345,0,"n"],[12346,0," "],[12347,0,"$"],[12348,0,"o"],[12349,0,"_"],[12350,0,"{"],[12351,0,"n"],[12352,0,"+"],[12353,0,"1"],[12354,0,"}"],[12355,0,"$"],[12356,0," "],[12357,0,"i"],[12358,0,"s"],[12359,0," "],[12360,0,"i"],[12361,0,"n"],[12362,0,"s"],[12363,0,"e"],[12364,0,"r"],[12365,0,"t"],[12366,0,"e"],[12367,0,"d"],[12368,0," "],[12369,0,"i"],[12370,0,"n"],[12371,0,"t"],[12372,0,"o"],[12373,0," "],[12374,0,"t"],[12375,0,"i"],[12376,0,"e"],[12377,0,"h"],[12378,0,"t"],[12378,1],[12377,1],[12376,1],[12375,1],[12374,1],[12374,0,"e"],[12375,0,"i"],[12376,0,"t"],[12377,0,"h"],[12378,0,"e"],[12379,0,"r"],[12380,0," "],[12381,0,"o"],[12382,0,"f"],[12383,0," "],[12384,0,"t"],[12385,0,"h"],[12386,0,"e"],[12387,0,"s"],[12388,0,"e"],[12389,0," "],[12390,0,"h"],[12391,0,"i"],[12392,0,"s"],[12393,0,"t"],[12394,0,"o"],[12395,0,"r"],[12396,0,"i"],[12397,0,"e"],[12398,0,"s"],[12399,0,","],[12400,0," "],[12401,0,"c"],[12402,0,"a"],[12403,0,"u"],[12404,0,"s"],[12405,0,"a"],[12406,0,"l"],[12407,0,"i"],[12408,0,"t"],[12409,0,"y"],[12410,0," "],[12411,0,"d"],[12412,0,"e"],[12413,0,"m"],[12414,0,"a"],[12415,0,"n"],[12416,0,"d"],[12417,0,"s"],[12418,0," "],[12419,0,"t"],[12420,0,"h"],[12421,0,"a"],[12422,0,"t"],[12423,0," "],[12424,0,"$"],[12425,0,"\\"],[12426,0,"m"],[12427,0,"a"],[12428,0,"t"],[12429,0,"h"],[12430,0,"i"],[12431,0,"t"],[12432,0,"{"],[12433,0,"p"],[12434,0,"r"],[12435,0,"e"],[12436,0,"v"],[12437,0,"}"],[12438,0,"$"],[12439,0," "],[12440,0,"a"],[12441,0,"n"],[12442,0,"d"],[12443,0," "],[12444,0,"$"],[12445,0,"\\"],[12446,0,"m"],[12447,0,"a"],[12448,0,"t"],[12449,0,"h"],[12450,0,"i"],[12451,0,"t"],[12452,0,"{"],[12453,0,"n"],[12454,0,"e"],[12455,0,"x"],[12456,0,"t"],[12457,0,"}"],[12458,0,"$"],[12424,0,"l"],[12425,0,"i"],[12426,0,"s"],[12427,0,"t"],[12428,0," "],[12429,0,"e"],[12430,0,"l"],[12431,0,"e"],[12432,0,"m"],[12433,0,"e"],[12434,0,"n"],[12435,0,"t"],[12436,0,"s"],[12437,0," "],[12473,0," "],[12474,0,"a"],[12475,0,"r"],[12476,0,"e"],[12477,0," "],[12478,0,"i"],[12479,0,"n"],[12480,0,"s"],[12481,0,"e"],[12482,0,"r"],[12483,0,"t"],[12484,0,"e"],[12485,0,"d"],[12486,0," "],[12487,0,"b"],[12487,1],[12487,0,"a"],[12488,0,"t"],[12489,0," "],[12490,0,"s"],[12491,0,"o"],[12492,0,"m"],[12493,0,"e"],[12494,0," "],[12495,0,"p"],[12496,0,"o"],[12497,0,"i"],[12498,0,"n"],[12499,0,"t"],[12500,0," "],[12501,0,"p"],[12502,0,"r"],[12503,0,"i"],[12504,0,"o"],[12505,0,"r"],[12506,0," "],[12507,0,"t"],[12508,0,"o"],[12509,0," "],[12510,0,"$"],[12511,0,"o"],[12512,0,"_"],[12513,0,"{"],[12514,0,"n"],[12515,0,"+"],[12516,0,"1"],[12517,0,"}"],[12518,0,"$"],[12519,0," "],[12520,0,"i"],[12521,0,"n"],[12522,0," "],[12523,0,"t"],[12524,0,"h"],[12525,0,"e"],[12526,0," "],[12527,0,"h"],[12528,0,"i"],[12529,0,"s"],[12530,0,"t"],[12531,0,"o"],[12532,0,"r"],[12533,0,"y"],[12534,0,"."],[12535,0," "],[12536,0,"W"],[12537,0,"h"],[12538,0,"e"],[12539,0,"n"],[12540,0," "],[12541,0,"$"],[12542,0,"o"],[12543,0,"_"],[12544,0,"{"],[12545,0,"n"],[12546,0,"+"],[12547,0,"1"],[12548,0,"}"],[12549,0,"$"],[12550,0," "],[12551,0,"i"],[12552,0,"s"],[12553,0," "],[12554,0,"a"],[12555,0,"p"],[12556,0,"p"],[12557,0,"l"],[12558,0,"i"],[12559,0,"e"],[12560,0,"d"],[12561,0,","],[12562,0," "],[12563,0,"t"],[12564,0,"h"],[12565,0,"e"],[12566,0," "],[12567,0,"$"],[12568,0,"\\"],[12569,0,"m"],[12570,0,"a"],[12571,0,"t"],[12572,0,"h"],[12573,0,"r"],[12574,0,"m"],[12575,0,"{"],[12576,0,"a"],[12577,0,"p"],[12578,0,"p"],[12579,0,"l"],[12580,0,"y"],[12581,0,"}"],[12582,0,"("],[12583,0,"\\"],[12584,0,"p"],[12585,0,"l"],[12586,0,"a"],[12587,0,"c"],[12588,0,"e"],[12589,0,"h"],[12590,0,"o"],[12591,0,"l"],[12592,0,"d"],[12593,0,"e"],[12594,0,"r"],[12595,0,","],[12596,0," "],[12597,0,"\\"],[12598,0,"m"],[12599,0,"a"],[12600,0,"t"],[12601,0,"h"],[12602,0,"s"],[12603,0,"f"],[12604,0,"{"],[12605,0,"i"],[12606,0,"n"],[12607,0,"s"],[12608,0,"e"],[12609,0,"r"],[12610,0,"t"],[12611,0,"}"],[12612,0,"("],[12613,0,"\\"],[12614,0,"m"],[12615,0,"a"],[12616,0,"t"],[12617,0,"h"],[12618,0,"i"],[12619,0,"t"],[12620,0,"{"],[12621,0,"i"],[12622,0,"d"],[12623,0,"}"],[12624,0,","],[12625,0," "],[12626,0,"\\"],[12627,0,"m"],[12628,0,"a"],[12629,0,"t"],[12630,0,"h"],[12631,0,"i"],[12632,0,"t"],[12633,0,"{"],[12634,0,"p"],[12635,0,"r"],[12636,0,"e"],[12637,0,"v"],[12638,0,"}"],[12639,0,","],[12640,0," "],[12641,0,"v"],[12642,0,")"],[12643,0,")"],[12644,0,"$"],[12645,0," "],[12646,0,"r"],[12647,0,"u"],[12648,0,"l"],[12649,0,"e"],[12650,0," "],[12651,0,"s"],[12652,0,"t"],[12653,0,"a"],[12654,0,"r"],[12655,0,"t"],[12656,0,"s"],[12657,0," "],[12658,0,"i"],[12659,0,"t"],[12660,0,"e"],[12661,0,"r"],[12662,0,"a"],[12663,0,"t"],[12664,0,"i"],[12665,0,"n"],[12666,0,"g"],[12667,0," "],[12668,0,"a"],[12669,0,"t"],[12670,0," "],[12671,0,"$"],[12672,0,"\\"],[12673,0,"m"],[12674,0,"a"],[12675,0,"t"],[12676,0,"h"],[12677,0,"i"],[12678,0,"t"],[12679,0,"{"],[12680,0,"p"],[12681,0,"r"],[12682,0,"e"],[12683,0,"v"],[12684,0,"}"],[12685,0,"$"],[12686,0," "],[12687,0,"a"],[12688,0,"n"],[12689,0,"d"],[12690,0," "],[12691,0,"s"],[12692,0,"k"],[12693,0,"i"],[12694,0,"p"],[12695,0,"s"],[12696,0," "],[12697,0,"o"],[12698,0,"v"],[12699,0,"e"],[12700,0,"r"],[12701,0," "],[12702,0,"a"],[12703,0,"n"],[12704,0,"y"],[12705,0," "],[12706,0,"e"],[12707,0,"l"],[12708,0,"e"],[12709,0,"m"],[12710,0,"e"],[12711,0,"n"],[12712,0,"t"],[12713,0,"s"],[12714,0," "],[12715,0,"w"],[12716,0,"i"],[12717,0,"t"],[12718,0,"h"],[12719,0," "],[12720,0,"a"],[12721,0,"n"],[12722,0," "],[12723,0,"I"],[12724,0,"D"],[12725,0," "],[12726,0,"g"],[12727,0,"r"],[12728,0,"e"],[12729,0,"a"],[12730,0,"t"],[12731,0,"e"],[12732,0,"r"],[12733,0," "],[12734,0,"t"],[12735,0,"h"],[12736,0,"a"],[12737,0,"n"],[12738,0," "],[12739,0,"$"],[12740,0,"\\"],[12741,0,"m"],[12742,0,"a"],[12743,0,"t"],[12744,0,"h"],[12745,0,"i"],[12746,0,"t"],[12747,0,"{"],[12748,0,"i"],[12749,0,"d"],[12750,0,"}"],[12751,0,"$"],[12752,0,"."],[12753,0," "],[12754,0,"S"],[12755,0,"i"],[12756,0,"n"],[12757,0,"c"],[12758,0,"e"],[12759,0," "],[12760,0,"$"],[12761,0,"\\"],[12762,0,"m"],[12763,0,"a"],[12764,0,"t"],[12765,0,"h"],[12766,0,"i"],[12767,0,"d"],[12768,0,"{"],[12769,0,"n"],[12770,0,"e"],[12771,0,"x"],[12772,0,"t"],[12773,0,"}"],[12774,0," "],[12775,0,"<"],[12776,0," "],[12777,0,"\\"],[12778,0,"m"],[12779,0,"a"],[12780,0,"t"],[12781,0,"h"],[12782,0,"i"],[12783,0,"d"],[12784,0,"{"],[12785,0,"i"],[12786,0,"d"],[12787,0,"}"],[12783,1],[12783,0,"t"],[12788,0,"$"],[12789,0,","],[12790,0," "],[12791,0,"t"],[12792,0,"h"],[12793,0,"i"],[12794,0,"s"],[12795,0," "],[12796,0,"i"],[12797,0,"t"],[12798,0,"e"],[12799,0,"r"],[12800,0,"a"],[12801,0,"t"],[12802,0,"i"],[12803,0,"o"],[12804,0,"n"],[12805,0," "],[12805,1],[12804,1],[12803,1],[12802,1],[12801,1],[12800,1],[12799,1],[12798,1],[12797,1],[12796,1],[12795,1],[12794,1],[12793,1],[12793,0,"e"],[12794,0," "],[12795,0,"r"],[12796,0,"e"],[12797,0,"c"],[12798,0,"u"],[12799,0,"r"],[12800,0,"s"],[12801,0,"i"],[12802,0,"o"],[12803,0,"n"],[12804,0," "],[12805,0,"n"],[12806,0,"e"],[12807,0,"v"],[12808,0,"e"],[12809,0,"r"],[12810,0," "],[12811,0,"c"],[12812,0,"o"],[12813,0,"n"],[12814,0,"t"],[12815,0,"i"],[12816,0,"n"],[12817,0,"u"],[12818,0,"e"],[12819,0,"s"],[12820,0," "],[12821,0,"b"],[12822,0,"e"],[12823,0,"y"],[12824,0,"o"],[12825,0,"n"],[12826,0,"d"],[12827,0," "],[12828,0,"$"],[12829,0,"\\"],[12830,0,"m"],[12831,0,"a"],[12832,0,"t"],[12833,0,"h"],[12834,0,"i"],[12835,0,"t"],[12836,0,"{"],[12837,0,"n"],[12838,0,"e"],[12839,0,"x"],[12840,0,"t"],[12841,0,"}"],[12842,0,"$"],[12843,0,"."],[12844,0," "],[12845,0,"T"],[12846,0,"h"],[12847,0,"u"],[12848,0,"s"],[12849,0,","],[12850,0," "],[12851,0,"t"],[12852,0,"h"],[12853,0,"e"],[12854,0," "],[12855,0,"$"],[12856,0,"\\"],[12857,0,"m"],[12858,0,"a"],[12859,0,"t"],[12860,0,"h"],[12861,0,"i"],[12862,0,"t"],[12863,0,"{"],[12864,0,"a"],[12865,0,"p"],[12866,0,"p"],[12866,1],[12865,1],[12864,1],[12863,1],[12862,1],[12861,1],[12861,0,"r"],[12862,0,"m"],[12863,0,"{"],[12864,0,"a"],[12865,0,"p"],[12866,0,"p"],[12867,0,"l"],[12868,0,"y"],[12869,0,"}"],[12870,0,"$"],[12871,0," "],[12872,0,"r"],[12873,0,"u"],[12874,0,"l"],[12875,0,"e"],[12876,0," "],[12877,0,"i"],[12878,0,"s"],[12879,0," "],[12880,0,"g"],[12881,0,"u"],[12882,0,"a"],[12883,0,"r"],[12884,0,"a"],[12885,0,"n"],[12886,0,"t"],[12887,0,"e"],[12888,0,"e"],[12889,0,"d"],[12890,0," "],[12891,0,"t"],[12892,0,"o"],[12893,0," "],[12894,0,"i"],[12895,0,"n"],[12896,0,"s"],[12897,0,"e"],[12898,0,"r"],[12899,0,"t"],[12900,0," "],[12901,0,"$"],[12902,0,"\\"],[12903,0,"m"],[12904,0,"a"],[12905,0,"t"],[12906,0,"h"],[12907,0,"i"],[12908,0,"t"],[12909,0,"{"],[12910,0,"i"],[12911,0,"d"],[12912,0,"}"],[12913,0,"$"],[12914,0," "],[12915,0,"a"],[12916,0,"t"],[12917,0," "],[12918,0,"s"],[12919,0,"o"],[12920,0,"m"],[12921,0,"e"],[12922,0," "],[12923,0,"p"],[12924,0,"o"],[12925,0,"s"],[12926,0,"i"],[12927,0,"t"],[12928,0,"i"],[12929,0,"o"],[12930,0,"n"],[12931,0," "],[12932,0,"b"],[12933,0,"e"],[12934,0,"t"],[12935,0,"w"],[12936,0,"e"],[12937,0,"e"],[12938,0,"n"],[12939,0," "],[12940,0,"$"],[12941,0,"\\"],[12942,0,"m"],[12943,0,"a"],[12944,0,"t"],[12945,0,"h"],[12946,0,"i"],[12947,0,"t"],[12948,0,"{"],[12949,0,"p"],[12950,0,"r"],[12951,0,"e"],[12952,0,"v"],[12953,0,"}"],[12954,0,"$"],[12955,0," "],[12956,0,"a"],[12957,0,"n"],[12958,0,"d"],[12959,0," "],[12960,0,"$"],[12961,0,"\\"],[12962,0,"m"],[12963,0,"a"],[12964,0,"t"],[12965,0,"h"],[12966,0,"i"],[12967,0,"t"],[12968,0,"{"],[12969,0,"n"],[12970,0,"e"],[12971,0,"x"],[12972,0,"t"],[12973,0,"}"],[12974,0,"$"],[12975,0,"."],[12767,1],[12767,0,"t"],[12476,1],[12475,1],[12474,1],[12474,0,"w"],[12475,0,"e"],[12476,0,"r"],[12477,0,"e"],[12478,0," "],[12479,0,"a"],[12480,0,"l"],[12481,0,"r"],[12482,0,"e"],[12483,0,"a"],[12484,0,"d"],[12485,0,"y"],[12509,0," "],[12510,0,"i"],[12511,0,"n"],[12512,0," "],[12513,0,"t"],[12514,0,"h"],[12515,0,"e"],[12516,0," "],[12517,0,"h"],[12518,0,"i"],[12519,0,"s"],[12520,0,"t"],[12521,0,"o"],[12522,0,"r"],[12523,0,"y"],[12557,1],[12556,1],[12555,1],[12554,1],[12553,1],[12552,1],[12551,1],[12550,1],[12549,1],[12548,1],[12547,1],[12546,1],[12545,1],[12544,1],[12543,1],[12985,0,"\n"],[12986,0,"\n"],[12987,0,"T"],[12988,0,"h"],[12989,0,"u"],[12990,0,"s"],[12991,0,","],[12992,0," "],[12993,0,"w"],[12994,0,"e"],[12995,0," "],[12995,1],[12994,1],[12993,1],[12992,1],[12991,1],[12990,1],[12989,1],[12989,0,"h"],[12990,0,"e"],[12991,0,"r"],[12991,1],[12990,1],[12989,1],[12989,0,"e"],[12990,0,"r"],[12991,0,"e"],[12992,0,"f"],[12993,0,"o"],[12994,0,"r"],[12995,0,"e"],[12996,0," "],[12996,1],[12996,0,","],[12997,0," "],[12998,0,"w"],[12999,0,"e"],[13000,0," "],[13001,0,"n"],[13002,0,"e"],[13003,0,"e"],[13004,0,"d"],[13005,0," "],[13006,0,"o"],[13007,0,"n"],[13008,0,"l"],[13009,0,"y"],[13010,0," "],[13011,0,"c"],[13012,0,"o"],[13013,0,"n"],[13014,0,"s"],[13015,0,"i"],[13016,0,"d"],[13017,0,"e"],[13018,0,"r"],[13019,0," "],[13020,0,"i"],[13021,0,"n"],[13022,0,"s"],[13023,0,"e"],[13024,0,"r"],[13025,0,"t"],[13026,0,"i"],[13027,0,"o"],[13028,0,"n"],[13029,0,"s"],[13030,0," "],[13031,0,"t"],[13032,0,"h"],[13033,0,"a"],[13034,0,"t"],[13035,0," "],[13036,0,"a"],[13037,0,"r"],[13038,0,"e"],[13039,0," "],[13040,0,"c"],[13041,0,"o"],[13042,0,"n"],[13043,0,"c"],[13044,0,"u"],[13045,0,"r"],[13046,0,"r"],[13047,0,"e"],[13048,0,"n"],[13049,0,"t"],[13050,0," "],[13051,0,"t"],[13052,0,"o"],[13053,0," "],[13054,0,"$"],[13055,0,"o"],[13056,0,"_"],[13057,0,"["],[13057,1],[13057,0,"{"],[13058,0,"n"],[13059,0,"+"],[13060,0,"1"],[13061,0,"}"],[13062,0,"$"],[13063,0," "],[13064,0,"a"],[13065,0,"n"],[13066,0,"d"],[13067,0," "],[13068,0,"t"],[13069,0,"h"],[13070,0,"a"],[13071,0,"t"],[13072,0," "],[13073,0,"i"],[13074,0,"n"],[13075,0,"s"],[13076,0,"e"],[13077,0,"r"],[13078,0,"t"],[13079,0," "],[13080,0,"a"],[13081,0,"t"],[13082,0," "],[13083,0,"s"],[13084,0,"o"],[13085,0,"m"],[13086,0,"e"],[13087,0," "],[13088,0,"p"],[13089,0,"o"],[13090,0,"s"],[13091,0,"i"],[13092,0,"t"],[13093,0,"i"],[13094,0,"o"],[13095,0,"n"],[13096,0," "],[13097,0,"b"],[13098,0,"e"],[13099,0,"t"],[13100,0,"w"],[13101,0,"e"],[13102,0,"e"],[13103,0,"n"],[13104,0," "],[13105,0,"$"],[13106,0,"\\"],[13107,0,"m"],[13108,0,"a"],[13109,0,"t"],[13110,0,"h"],[13111,0,"i"],[13112,0,"t"],[13113,0,"{"],[13114,0,"p"],[13115,0,"r"],[13116,0,"e"],[13117,0,"v"],[13118,0,"}"],[13119,0,"$"],[13120,0," "],[13121,0,"a"],[13122,0,"n"],[13123,0,"d"],[13124,0," "],[13125,0,"$"],[13126,0,"\\"],[13127,0,"m"],[13128,0,"a"],[13129,0,"t"],[13130,0,"h"],[13131,0,"i"],[13132,0,"t"],[13133,0,"{"],[13134,0,"n"],[13135,0,"e"],[13136,0,"x"],[13137,0,"t"],[13138,0,"}"],[13139,0,"$"],[13140,0,"."],[13141,0," "],[13142,0,"N"],[13143,0,"o"],[13144,0,"t"],[13145,0,"e"],[13146,0," "],[13147,0,"t"],[13148,0,"h"],[13149,0,"a"],[13150,0,"t"],[13151,0," "],[13152,0,"t"],[13153,0,"h"],[13154,0,"e"],[13155,0," "],[13156,0,"$"],[13157,0,"\\"],[13158,0,"m"],[13159,0,"a"],[13160,0,"t"],[13161,0,"h"],[13162,0,"r"],[13163,0,"m"],[13164,0,"{"],[13165,0,"a"],[13166,0,"p"],[13167,0,"p"],[13168,0,"l"],[13169,0,"y"],[13170,0,"}"],[13171,0,"$"],[13172,0," "],[13173,0,"r"],[13174,0,"u"],[13175,0,"l"],[13176,0,"e"],[13177,0," "],[13178,0,"h"],[13179,0,"a"],[13180,0,"s"],[13180,1],[13179,1],[13178,1],[13178,0,"e"],[13179,0,"n"],[13180,0,"s"],[13181,0,"u"],[13182,0,"r"],[13183,0,"e"],[13184,0,"s"],[13185,0," "],[13186,0,"t"],[13187,0,"h"],[13188,0,"a"],[13189,0,"t"],[13190,0," "],[13191,0,"a"],[13192,0,"f"],[13193,0,"t"],[13194,0,"e"],[13195,0,"r"],[13196,0," "],[13197,0,"$"],[13198,0,"\\"],[13199,0,"m"],[13200,0,"a"],[13201,0,"t"],[13202,0,"h"],[13203,0,"i"],[13204,0,"t"],[13205,0,"{"],[13206,0,"i"],[13207,0,"d"],[13208,0,"}"],[13209,0,"$"],[13210,0," "],[13211,0,"i"],[13212,0,"s"],[13213,0," "],[13214,0,"i"],[13215,0,"n"],[13216,0,"s"],[13217,0,"e"],[13218,0,"r"],[13219,0,"t"],[13220,0,"e"],[13221,0,"d"],[13222,0,","],[13223,0," "],[13224,0,"a"],[13225,0,"l"],[13226,0,"l"],[13227,0," "],[13228,0,"l"],[13229,0,"i"],[13230,0,"s"],[13231,0,"t"],[13232,0," "],[13233,0,"e"],[13234,0,"l"],[13235,0,"e"],[13236,0,"m"],[13237,0,"e"],[13238,0,"n"],[13239,0,"t"],[13240,0,"s"],[13241,0," "],[13242,0,"b"],[13243,0,"e"],[13244,0,"t"],[13245,0,"w"],[13246,0,"e"],[13247,0,"e"],[13248,0,"n"],[13249,0," "],[13250,0,"$"],[13251,0,"\\"],[13252,0,"m"],[13253,0,"a"],[13254,0,"t"],[13255,0,"h"],[13256,0,"i"],[13257,0,"t"],[13258,0,"{"],[13259,0,"p"],[13260,0,"r"],[13261,0,"e"],[13262,0,"v"],[13263,0,"}"],[13264,0,"$"],[13265,0," "],[13266,0,"a"],[13267,0,"n"],[13268,0,"d"],[13269,0," "],[13270,0,"$"],[13271,0,"\\"],[13272,0,"m"],[13273,0,"a"],[13274,0,"t"],[13275,0,"h"],[13276,0,"i"],[13277,0,"t"],[13278,0,"{"],[13279,0,"i"],[13280,0,"d"],[13281,0,"}"],[13282,0,"$"],[13283,0," "],[13284,0,"a"],[13285,0,"r"],[13286,0,"e"],[13287,0," "],[13287,1],[13286,1],[13285,1],[13284,1],[13284,0,"h"],[13285,0,"a"],[13286,0,"v"],[13287,0,"e"],[13288,0," "],[13289,0,"a"],[13290,0,"n"],[13291,0," "],[13292,0,"I"],[13293,0,"D"],[13294,0," "],[13295,0,"g"],[13296,0,"r"],[13297,0,"e"],[13298,0,"a"],[13299,0,"t"],[13300,0,"e"],[13301,0,"r"],[13302,0," "],[13303,0,"t"],[13304,0,"h"],[13305,0,"a"],[13306,0,"n"],[13307,0," "],[13308,0,"$"],[13309,0,"\\"],[13310,0,"m"],[13311,0,"a"],[13312,0,"t"],[13313,0,"h"],[13314,0,"i"],[13315,0,"t"],[13316,0,"{"],[13317,0,"i"],[13318,0,"d"],[13319,0,"}"],[13320,0,"$"],[13321,0,","],[13322,0," "],[13323,0,"a"],[13324,0,"n"],[13325,0,"d"],[13326,0," "],[13282,1],[13281,1],[13280,1],[13279,1],[13278,1],[13277,1],[13276,1],[13275,1],[13274,1],[13273,1],[13272,1],[13271,1],[13270,1],[13270,0,"t"],[13271,0,"h"],[13272,0,"e"],[13273,0," "],[13274,0,"i"],[13275,0,"n"],[13276,0,"s"],[13277,0,"e"],[13278,0,"r"],[13279,0,"t"],[13280,0,"i"],[13281,0,"o"],[13282,0,"n"],[13283,0," "],[13284,0,"p"],[13285,0,"o"],[13286,0,"i"],[13287,0,"n"],[13288,0,"t"],[13333,0,"t"],[13334,0,"h"],[13335,0,"e"],[13336,0," "],[13337,0,"l"],[13338,0,"i"],[13339,0,"s"],[13340,0,"t"],[13341,0," "],[13342,0,"e"],[13343,0,"l"],[13344,0,"e"],[13345,0,"m"],[13346,0,"e"],[13347,0,"n"],[13348,0,"t"],[13349,0," "],[13350,0,"f"],[13351,0,"o"],[13352,0,"l"],[13353,0,"l"],[13354,0,"o"],[13355,0,"w"],[13356,0,"i"],[13357,0,"n"],[13358,0,"g"],[13359,0," "],[13360,0,"t"],[13361,0,"h"],[13362,0,"e"],[13363,0," "],[13364,0,"i"],[13365,0,"n"],[13366,0,"s"],[13367,0,"e"],[13368,0,"r"],[13369,0,"t"],[13370,0,"i"],[13371,0,"o"],[13372,0,"n"],[13373,0," "],[13374,0,"p"],[13375,0,"o"],[13376,0,"i"],[13377,0,"n"],[13378,0,"t"],[13379,0," "],[13380,0,"h"],[13381,0,"a"],[13382,0,"s"],[13383,0," "],[13384,0,"a"],[13385,0,"n"],[13386,0," "],[13387,0,"I"],[13388,0,"D"],[13389,0," "],[13390,0,"l"],[13391,0,"e"],[13392,0,"s"],[13393,0,"s"],[13394,0," "],[13395,0,"t"],[13396,0,"h"],[13397,0,"a"],[13398,0,"n"],[13399,0," "],[13400,0,"$"],[13401,0,"\\"],[13402,0,"m"],[13403,0,"a"],[13404,0,"t"],[13405,0,"h"],[13406,0,"i"],[13407,0,"t"],[13408,0,"{"],[13409,0,"i"],[13410,0,"d"],[13411,0,"}"],[13412,0,"$"],[13413,0,"."],[13414,0," "],[13415,0,"W"],[13416,0,"e"],[13417,0," "],[13418,0,"u"],[13419,0,"s"],[13420,0,"e"],[13421,0," "],[13422,0,"t"],[13423,0,"h"],[13424,0,"i"],[13425,0,"s"],[13426,0," "],[13427,0,"p"],[13428,0,"o"],[13428,1],[13428,0,"r"],[13429,0,"o"],[13430,0,"p"],[13431,0,"e"],[13432,0,"r"],[13433,0,"t"],[13434,0,"y"],[13435,0," "],[13436,0,"t"],[13437,0,"o"],[13438,0," "],[13439,0,"s"],[13440,0,"h"],[13441,0,"o"],[13442,0,"w"],[13443,0," "],[13444,0,"t"],[13445,0,"h"],[13446,0,"a"],[13447,0,"t"],[13448,0," "],[13449,0,"n"],[13450,0,"o"],[13451,0," "],[13452,0,"m"],[13453,0,"a"],[13454,0,"t"],[13455,0,"t"],[13456,0,"e"],[13457,0,"r"],[13458,0," "],[13459,0,"w"],[13460,0,"h"],[13461,0,"e"],[13462,0,"r"],[13463,0,"e"],[13464,0," "],[13465,0,"$"],[13466,0,"o"],[13467,0,"{"],[13467,1],[13467,0,"_"],[13468,0,"{"],[13469,0,"n"],[13470,0,"+"],[13471,0,"1"],[13472,0,"}"],[13473,0,"$"],[13474,0," "],[13475,0,"i"],[13476,0,"s"],[13477,0," "],[13478,0,"i"],[13479,0,"n"],[13480,0,"s"],[13481,0,"e"],[13482,0,"r"],[13483,0,"t"],[13484,0,"e"],[13485,0,"d"],[13486,0," "],[13487,0,"i"],[13488,0,"n"],[13489,0," "],[13490,0,"$"],[13491,0,"H"],[13492,0,"-"],[13492,1],[13492,0,"_"],[13493,0,"1"],[13494,0,"$"],[13495,0," "],[13496,0,"a"],[13497,0,"n"],[13498,0,"d"],[13499,0," "],[13500,0,"$"],[13501,0,"H"],[13502,0,"_"],[13503,0,"2"],[13504,0,"$"],[13505,0,","],[13506,0," "],[13507,0,"t"],[13508,0,"h"],[13509,0,"e"],[13510,0," "],[13511,0,"o"],[13512,0,"u"],[13513,0,"t"],[13514,0,"c"],[13515,0,"o"],[13516,0,"m"],[13517,0,"e"],[13518,0," "],[13519,0,"i"],[13520,0,"s"],[13521,0," "],[13522,0,"t"],[13523,0,"h"],[13524,0,"e"],[13525,0," "],[13526,0,"s"],[13527,0,"a"],[13528,0,"m"],[13529,0,"e"],[13530,0," "],[13531,0,"s"],[13532,0,"e"],[13533,0,"q"],[13534,0,"u"],[13535,0,"e"],[13536,0,"n"],[13537,0,"c"],[13538,0,"e"],[13539,0," "],[13540,0,"o"],[13541,0,"f"],[13542,0," "],[13543,0,"l"],[13544,0,"i"],[13545,0,"s"],[13546,0,"t"],[13547,0," "],[13548,0,"e"],[13549,0,"l"],[13550,0,"e"],[13551,0,"m"],[13552,0,"e"],[13553,0,"n"],[13554,0,"t"],[13555,0,"s"],[13556,0,"."],[13557,0,"\n"],[13558,0,"\n"],[13559,0,"L"],[13560,0,"e"],[13561,0,"t"],[13562,0," "],[13563,0,"$"],[13564,0,"H"],[13565,0,"_"],[13566,0,"c"],[13567,0,"$"],[13568,0," "],[13569,0,"b"],[13570,0,"e"],[13571,0," "],[13572,0,"a"],[13573,0," "],[13574,0,"h"],[13575,0,"i"],[13576,0,"s"],[13577,0,"t"],[13578,0,"o"],[13579,0,"r"],[13580,0,"y"],[13581,0," "],[13582,0,"o"],[13583,0,"f"],[13584,0," "],[13585,0,"o"],[13586,0,"p"],[13587,0,"e"],[13588,0,"r"],[13589,0,"a"],[13590,0,"t"],[13591,0,"i"],[13592,0,"o"],[13593,0,"n"],[13594,0,"s"],[13595,0," "],[13595,1],[13595,0,","],[13596,0," "],[13597,0,"d"],[13598,0,"e"],[13599,0,"r"],[13600,0,"i"],[13601,0,"v"],[13602,0,"e"],[13603,0,"d"],[13604,0," "],[13605,0,"b"],[13605,1],[13605,0,"f"],[13606,0,"r"],[13607,0,"o"],[13608,0,"m"],[13609,0," "],[13610,0,"e"],[13611,0,"i"],[13612,0,"t"],[13613,0,"h"],[13614,0,"e"],[13615,0,"r"],[13616,0," "],[13617,0,"$"],[13618,0,"H"],[13619,0,"_"],[13620,0,"1"],[13621,0,"$"],[13622,0," "],[13623,0,"o"],[13624,0,"r"],[13625,0," "],[13626,0,"$"],[13627,0,"H"],[13628,0,"_"],[13629,0,"2"],[13630,0,"$"],[13631,0," "],[13632,0,"b"],[13633,0,"y"],[13634,0," "],[13635,0,"c"],[13636,0,"o"],[13637,0,"n"],[13638,0,"d"],[13639,0,"i"],[13640,0,"d"],[13641,0,"e"],[13642,0,"r"],[13643,0,"i"],[13644,0,"n"],[13645,0,"g"],[13646,0," "],[13647,0,"o"],[13648,0,"n"],[13649,0,"l"],[13650,0,"y"],[13651,0," "],[13652,0,"i"],[13653,0,"n"],[13654,0,"s"],[13655,0,"e"],[13656,0,"r"],[13657,0,"t"],[13658,0," "],[13659,0,"o"],[13660,0,"p"],[13652,0,"$"],[13653,0,"\\"],[13654,0,"m"],[13655,0,"a"],[13656,0,"t"],[13657,0,"h"],[13658,0,"s"],[13659,0,"f"],[13660,0,"{"],[13667,0,"}"],[13668,0,"$"],[13672,0,"e"],[13673,0,"r"],[13674,0,"a"],[13675,0,"t"],[13676,0,"i"],[13677,0,"o"],[13678,0,"n"],[13679,0,"s"],[13680,0," "],[13681,0,"t"],[13682,0,"h"],[13683,0,"a"],[13684,0,"t"],[13685,0," "],[13686,0,"a"],[13687,0,"r"],[13688,0,"e"],[13689,0," "],[13690,0,"c"],[13691,0,"o"],[13692,0,"n"],[13693,0,"c"],[13694,0,"u"],[13695,0,"r"],[13696,0,"r"],[13697,0,"e"],[13698,0,"n"],[13699,0,"t"],[13700,0," "],[13701,0,"w"],[13702,0,"i"],[13703,0,"t"],[13704,0,"h"],[13705,0," "],[13706,0,"$"],[13707,0,"o"],[13708,0,"_"],[13709,0,"{"],[13710,0,"n"],[13711,0,"+"],[13712,0,"1"],[13713,0,"}"],[13714,0,"$"],[13645,1],[13644,1],[13643,1],[13642,1],[13641,1],[13640,1],[13639,1],[13638,1],[13637,1],[13636,1],[13635,1],[13635,0,"s"],[13636,0,"e"],[13637,0,"l"],[13638,0,"e"],[13639,0,"c"],[13640,0,"t"],[13641,0,"i"],[13642,0,"n"],[13643,0,"g"],[13713,0," "],[13714,0,"a"],[13715,0,"n"],[13716,0,"d"],[13717,0," "],[13718,0,"t"],[13719,0,"h"],[13720,0,"a"],[13721,0,"t"],[13722,0," "],[13723,0,"i"],[13724,0,"n"],[13725,0,"s"],[13726,0,"e"],[13727,0,"r"],[13728,0,"t"],[13729,0," "],[13730,0,"a"],[13731,0,"t"],[13732,0," "],[13733,0,"a"],[13734,0," "],[13735,0,"p"],[13736,0,"o"],[13737,0,"s"],[13738,0,"i"],[13739,0,"t"],[13740,0,"i"],[13741,0,"o"],[13742,0,"n"],[13743,0," "],[13744,0,"b"],[13745,0,"e"],[13746,0,"t"],[13747,0,"w"],[13748,0,"e"],[13749,0,"e"],[13750,0,"n"],[13751,0," "],[13752,0,"$"],[13753,0,"\\"],[13754,0,"m"],[13755,0,"a"],[13756,0,"t"],[13757,0,"h"],[13758,0,"i"],[13759,0,"t"],[13760,0,"{"],[13761,0,"p"],[13762,0,"r"],[13763,0,"e"],[13764,0,"v"],[13765,0,"}"],[13766,0,"$"],[13767,0," "],[13768,0,"a"],[13769,0,"n"],[13770,0,"d"],[13771,0," "],[13772,0,"$"],[13773,0,"\\"],[13774,0,"m"],[13775,0,"a"],[13776,0,"t"],[13777,0,"h"],[13778,0,"i"],[13779,0,"t"],[13780,0,"{"],[13781,0,"n"],[13782,0,"e"],[13783,0,"x"],[13784,0,"t"],[13785,0,"}"],[13786,0,"$"],[13787,0,"."],[13788,0," "],[13789,0,"A"],[13790,0,"m"],[13791,0,"o"],[13792,0,"n"],[13793,0,"g"],[13794,0," "],[13795,0,"t"],[13796,0,"h"],[13797,0,"e"],[13798,0," "],[13799,0,"o"],[13800,0,"p"],[13801,0,"e"],[13802,0,"r"],[13803,0,"a"],[13804,0,"t"],[13805,0,"i"],[13806,0,"o"],[13807,0,"n"],[13808,0,"s"],[13809,0," "],[13810,0,"i"],[13811,0,"n"],[13812,0," "],[13813,0,"$"],[13814,0,"H"],[13815,0,"_"],[13816,0,"c"],[13817,0,"$"],[13818,0," "],[13819,0,"t"],[13820,0,"h"],[13821,0,"e"],[13822,0,"r"],[13823,0,"e"],[13824,0," "],[13825,0,"i"],[13826,0,"s"],[13827,0," "],[13828,0,"a"],[13829,0," "],[13830,0,"s"],[13831,0,"u"],[13832,0,"b"],[13833,0,"s"],[13834,0,"e"],[13835,0,"t"],[13836,0," "],[13837,0,"o"],[13838,0,"f"],[13839,0," "],[13840,0,"o"],[13841,0,"p"],[13842,0,"e"],[13843,0,"r"],[13844,0,"a"],[13845,0,"t"],[13846,0,"i"],[13847,0,"o"],[13848,0,"n"],[13849,0,"s"],[13850,0," "],[13851,0,"$"],[13852,0,"H"],[13853,0,"_"],[13854,0,"s"],[13855,0,"$"],[13856,0," "],[13857,0,"t"],[13858,0,"h"],[13859,0,"a"],[13860,0,"t"],[13861,0," "],[13862,0,"a"],[13863,0,"r"],[13864,0,"e"],[13865,0," "],[13866,0,"`"],[13867,0,"`"],[13868,0,"s"],[13869,0,"t"],[13870,0,"a"],[13871,0,"r"],[13872,0,"t"],[13873,0,"i"],[13874,0,"n"],[13875,0,"g"],[13876,0," "],[13877,0,"o"],[13878,0,"p"],[13879,0,"e"],[13880,0,"r"],[13881,0,"a"],[13882,0,"t"],[13883,0,"i"],[13884,0,"o"],[13885,0,"n"],[13886,0,"s"],[13887,0,"'"],[13888,0,"'"],[13889,0,":"],[13890,0," "],[13891,0,"t"],[13892,0,"h"],[13893,0,"e"],[13894,0,"y"],[13895,0," "],[13896,0,"d"],[13897,0,"o"],[13898,0," "],[13899,0,"n"],[13900,0,"o"],[13901,0,"t"],[13902,0," "],[13903,0,"c"],[13904,0,"u"],[13904,1],[13904,0,"a"],[13905,0,"u"],[13906,0,"s"],[13907,0,"a"],[13908,0,"l"],[13909,0,"l"],[13910,0,"y"],[13911,0," "],[13912,0,"d"],[13913,0,"e"],[13914,0,"p"],[13915,0,"e"],[13916,0,"n"],[13917,0,"d"],[13918,0," "],[13919,0,"o"],[13920,0,"n"],[13921,0," "],[13922,0,"a"],[13923,0,"n"],[13924,0,"y"],[13925,0," "],[13926,0,"o"],[13927,0,"t"],[13928,0,"h"],[13929,0,"e"],[13930,0,"r"],[13931,0," "],[13932,0,"o"],[13933,0,"p"],[13934,0,"e"],[13935,0,"r"],[13936,0,"a"],[13937,0,"t"],[13938,0,"i"],[13939,0,"o"],[13940,0,"n"],[13941,0," "],[13942,0,"i"],[13943,0,"n"],[13944,0," "],[13945,0,"$"],[13946,0,"H"],[13947,0,"_"],[13948,0,"c"],[13949,0,"$"],[13950,0,"."],[13789,0,"L"],[13790,0,"e"],[13791,0,"t"],[13792,0," "],[13793,0,"$"],[13794,0,"H"],[13795,0,"-"],[13795,1],[13795,0,"_"],[13796,0,"s"],[13797,0,"$"],[13798,0," "],[13799,0,"b"],[13800,0,"e"],[13801,0," "],[13802,0,"t"],[13803,0,"h"],[13804,0,"e"],[13805,0," "],[13814,1],[13813,1],[13812,1],[13811,1],[13810,1],[13809,1],[13808,1],[13807,1],[13806,1],[13806,0,"s"],[13807,0,"u"],[13808,0,"b"],[13809,0,"s"],[13810,0,"e"],[13811,0,"t"],[13812,0," "],[13813,0,"o"],[13814,0,"f"],[13872,1],[13871,1],[13870,1],[13869,1],[13868,1],[13867,1],[13866,1],[13865,1],[13864,1],[13863,1],[13862,1],[13861,1],[13860,1],[13859,1],[13858,1],[13857,1],[13856,1],[13855,1],[13854,1],[13853,1],[13852,1],[13851,1],[13850,1],[13849,1],[13848,1],[13847,1],[13846,1],[13845,1],[13844,1],[13843,1],[13842,1],[13841,1],[13840,1],[13839,1],[13838,1],[13837,1],[13836,1],[13835,1],[13930,0," "],[13931,0,"A"],[13932,0,"f"],[13933,0,"t"],[13934,0,"e"],[13935,0,"r"],[13936,0," "],[13937,0,"a"],[13938,0,"p"],[13939,0,"p"],[13940,0,"l"],[13941,0,"y"],[13942,0,"i"],[13943,0,"n"],[13944,0,"g"],[13945,0," "],[13946,0,"$"],[13947,0,"#"],[13947,1],[13947,0,"o"],[13948,0,"_"],[13949,0,"{"],[13950,0,"n"],[13950,1],[13949,1],[13948,1],[13947,1],[13946,1],[13945,1],[13944,1],[13943,1],[13942,1],[13941,1],[13940,1],[13939,1],[13938,1],[13937,1],[13936,1],[13935,1],[13934,1],[13933,1],[13932,1],[13931,1],[13931,0,"N"],[13932,0,"o"],[13933,0,"t"],[13934,0,"e"],[13935,0," "],[13936,0,"t"],[13937,0,"h"],[13938,0,"a"],[13939,0,"t"],[13940,0," "],[13941,0,"$"],[13942,0,"o"],[13943,0,"_"],[13944,0,"{"],[13945,0,"n"],[13946,0,"+"],[13947,0,"1"],[13948,0,"}"],[13949,0,"$"],[13950,0," "],[13951,0,"i"],[13952,0,"s"],[13953,0," "],[13954,0,"a"],[13955,0,"l"],[13956,0,"s"],[13957,0,"o"],[13958,0," "],[13959,0,"a"],[13960,0," "],[13961,0,"s"],[13962,0,"t"],[13963,0,"a"],[13964,0,"r"],[13965,0,"t"],[13966,0,"i"],[13967,0,"n"],[13968,0,"g"],[13969,0," "],[13970,0,"o"],[13971,0,"p"],[13972,0,"e"],[13973,0,"r"],[13974,0,"a"],[13975,0,"t"],[13976,0,"i"],[13977,0,"o"],[13978,0,"n"],[13979,0,"."],[13979,0,","],[13980,0," "],[13981,0,"s"],[13982,0,"i"],[13983,0,"n"],[13984,0,"c"],[13985,0,"e"],[13986,0," "],[13987,0,"i"],[13988,0,"t"],[13989,0," "],[13990,0,"d"],[13991,0,"o"],[13992,0,"e"],[13993,0,"s"],[13994,0," "],[13995,0,"n"],[13996,0,"o"],[13997,0,"t"],[13998,0," "],[13999,0,"h"],[14000,0,"a"],[14001,0,"v"],[14002,0,"e"],[14003,0," "],[14004,0,"a"],[14005,0,"n"],[14006,0,"y"],[14007,0," "],[14008,0,"c"],[14009,0,"a"],[14010,0,"u"],[14011,0,"s"],[14012,0,"a"],[14013,0,"l"],[14014,0," "],[14015,0,"d"],[14016,0,"e"],[14017,0,"p"],[14018,0,"e"],[14019,0,"n"],[14020,0,"d"],[14021,0,"e"],[14022,0,"n"],[14023,0,"c"],[14024,0,"i"],[14025,0,"e"],[14026,0,"s"],[14027,0," "],[14028,0,"i"],[14029,0,"n"],[14030,0," "],[14031,0,"$"],[14032,0,"H"],[14033,0,"_"],[14034,0,"c"],[14035,0,"$"],[14037,0,"\n"],[14038,0,"\n"],[14039,0,"L"],[14040,0,"e"],[14041,0,"t"],[14042,0," "],[14043,0,"$"],[14044,0,"O"],[14044,1],[14044,0,"o"],[14045,0,"_"],[14046,0,"i"],[14047,0,"$"],[14048,0," "],[14049,0,"b"],[14050,0,"e"],[14051,0," "],[14052,0,"a"],[14053,0," "],[14054,0,"s"],[14055,0,"t"],[14056,0,"a"],[14057,0,"r"],[14058,0,"t"],[14059,0,"i"],[14060,0,"n"],[14061,0,"g"],[14062,0," "],[14047,0," "],[14048,0,"\\"],[14049,0,"i"],[14050,0,"n"],[14051,0," "],[14052,0,"H"],[14053,0,"_"],[14054,0,"s"],[14071,0,"o"],[14072,0,"p"],[14073,0,"e"],[14074,0,"r"],[14075,0,"a"],[14076,0,"t"],[14077,0,"i"],[14078,0,"o"],[14079,0,"n"],[14080,0,"."],[14081,0," "],[14082,0,"N"],[14083,0,"o"],[14084,0,"t"],[14085,0,"e"],[14086,0," "],[14087,0,"t"],[14088,0,"h"],[14089,0,"a"],[14090,0,"t"],[14091,0," "],[14092,0,"b"],[14093,0,"y"],[14094,0," "],[14095,0,"t"],[14096,0,"h"],[14097,0,"e"],[14098,0," "],[14099,0,"d"],[14100,0,"e"],[14101,0,"f"],[14102,0,"i"],[14103,0,"n"],[14104,0,"i"],[14105,0,"t"],[14106,0,"i"],[14107,0,"o"],[14108,0,"n"],[14109,0," "],[14110,0,"o"],[14111,0,"f"],[14112,0," "],[14113,0,"L"],[14114,0,"a"],[14115,0,"m"],[14116,0,"p"],[14117,0,"o"],[14118,0,"r"],[14119,0,"t"],[14120,0," "],[14121,0,"t"],[14122,0,"i"],[14123,0,"m"],[14124,0,"e"],[14125,0,"s"],[14126,0,"t"],[14127,0,"a"],[14128,0,"m"],[14129,0,"p"],[14130,0,"s"],[14131,0,","],[14132,0," "],[14133,0,"a"],[14134,0,"n"],[14135,0,"y"],[14136,0," "],[14137,0,"o"],[14138,0,"p"],[14139,0,"e"],[14140,0,"r"],[14141,0,"a"],[14142,0,"t"],[14143,0,"i"],[14144,0,"o"],[14145,0,"n"],[14146,0," "],[14147,0,"t"],[14148,0,"h"],[14149,0,"a"],[14150,0,"t"],[14151,0," "],[14152,0,"c"],[14153,0,"a"],[14154,0,"u"],[14155,0,"s"],[14156,0,"a"],[14157,0,"l"],[14158,0,"l"],[14159,0,"y"],[14160,0," "],[14161,0,"d"],[14162,0,"e"],[14163,0,"p"],[14164,0,"e"],[14165,0,"n"],[14166,0,"d"],[14167,0,"s"],[14168,0," "],[14169,0,"o"],[14170,0,"n"],[14171,0," "],[14172,0,"$"],[14173,0,"o"],[14174,0,"_"],[14175,0,"i"],[14176,0,"$"],[14177,0," "],[14178,0,"m"],[14179,0,"u"],[14180,0,"s"],[14181,0,"t"],[14182,0," "],[14183,0,"h"],[14184,0,"a"],[14185,0,"v"],[14186,0,"e"],[14187,0," "],[14188,0,"a"],[14189,0," "],[14190,0,"g"],[14191,0,"r"],[14192,0,"e"],[14193,0,"a"],[14194,0,"t"],[14195,0,"e"],[14196,0,"r"],[14197,0," "],[14198,0,"t"],[14199,0,"i"],[14200,0,"m"],[14201,0,"e"],[14202,0,"s"],[14203,0,"t"],[14204,0,"a"],[14205,0,"m"],[14206,0,"p"],[14207,0," "],[14208,0,"t"],[14209,0,"h"],[14210,0,"a"],[14211,0,"n"],[14212,0," "],[14213,0,"$"],[14214,0,"o"],[14215,0,"_"],[14216,0,"i"],[14217,0,"$"],[14218,0,"."],[14219,0," "],[14220,0,"T"],[14221,0,"h"],[14222,0,"u"],[14223,0,"s"],[14224,0,","],[14225,0," "],[14226,0,"$"],[14226,1],[14226,0,"i"],[14227,0,"f"],[14228,0," "],[14229,0,"t"],[14230,0,"h"],[14231,0,"e"],[14232,0," "],[14233,0,"$"],[14234,0,"\\"],[14235,0,"m"],[14236,0,"a"],[14237,0,"t"],[14238,0,"h"],[14239,0,"r"],[14240,0,"m"],[14241,0,"{"],[14242,0,"a"],[14243,0,"p"],[14244,0,"p"],[14245,0,"l"],[14246,0,"y"],[14247,0,"}"],[14248,0,"$"],[14249,0," "],[14250,0,"r"],[14251,0,"u"],[14252,0,"l"],[14253,0,"e"],[14254,0," "],[14255,0,"i"],[14256,0,"n"],[14257,0,"s"],[14258,0,"e"],[14259,0,"r"],[14260,0,"t"],[14261,0,"s"],[14262,0," "],[14263,0,"$"],[14264,0,"o"],[14265,0,"_"],[14266,0,"{"],[14267,0,"n"],[14268,0,"+"],[14269,0,"1"],[14270,0,"}"],[14271,0,"$"],[14272,0," "],[14273,0,"a"],[14274,0,"f"],[14275,0,"t"],[14276,0,"e"],[14277,0,"r"],[14278,0," "],[14279,0,"$"],[14280,0,"o"],[14281,0,"_"],[14282,0,"i"],[14283,0,"$"],[14284,0,","],[14285,0," "],[14286,0,"t"],[14287,0,"h"],[14288,0,"e"],[14289,0,"n"],[14290,0," "],[14291,0,"$"],[14292,0,"o"],[14292,1],[14291,1],[14291,0,"a"],[14292,0,"l"],[14293,0,"l"],[14294,0," "],[14295,0,"o"],[14296,0,"p"],[14297,0,"e"],[14298,0,"r"],[14299,0,"a"],[14300,0,"t"],[14301,0,"i"],[14302,0,"o"],[14303,0,"n"],[14304,0,"s"],[14305,0," "],[14306,0,"t"],[14307,0,"h"],[14308,0,"a"],[14309,0,"t"],[14310,0," "],[14311,0,"c"],[14312,0,"a"],[14313,0,"u"],[14314,0,"s"],[14315,0,"a"],[14316,0,"l"],[14317,0,"l"],[14318,0,"y"],[14319,0," "],[14320,0,"d"],[14321,0,"e"],[14322,0,"p"],[14323,0,"e"],[14324,0,"n"],[14325,0,"d"],[14326,0," "],[14327,0,"o"],[14328,0,"n"],[14329,0," "],[14330,0,"$"],[14331,0,"o"],[14332,0,"_"],[14333,0,"i"],[14334,0,"$"],[14335,0," "],[14336,0,"n"],[14337,0,"e"],[14338,0,"c"],[14339,0,"e"],[14340,0,"s"],[14341,0,"s"],[14342,0,"a"],[14343,0,"r"],[14344,0,"i"],[14345,0,"l"],[14346,0,"y"],[14347,0," "],[14348,0,"a"],[14349,0,"l"],[14350,0,"s"],[14351,0,"o"],[14352,0," "],[14353,0,"a"],[14354,0,"p"],[14355,0,"p"],[14356,0,"e"],[14357,0,"a"],[14358,0,"r"],[14359,0," "],[14360,0,"b"],[14361,0,"e"],[14362,0,"f"],[14363,0,"o"],[14364,0,"r"],[14365,0,"e"],[14366,0," "],[14367,0,"$"],[14368,0,"o"],[14369,0,"_"],[14370,0,"{"],[14371,0,"n"],[14372,0,"+"],[14373,0,"1"],[14374,0,"}"],[14375,0,"$"],[14376,0," "],[14377,0,"i"],[14378,0,"n"],[14379,0," "],[14380,0,"t"],[14381,0,"h"],[14382,0,"e"],[14383,0," "],[14384,0,"f"],[14385,0,"i"],[14386,0,"n"],[14387,0,"a"],[14388,0,"l"],[14389,0," "],[14390,0,"s"],[14391,0,"t"],[14392,0,"a"],[14393,0,"t"],[14394,0,"e"],[14395,0,"."],[14396,0,"\n"],[14397,0,"\n"],[13142,0,"\n"],[13143,0,"\n"],[13142,0,"L"],[13143,0,"e"],[13144,0,"t"],[13145,0," "],[13146,0,"$"],[13147,0,"H"],[13148,0,"_"],[13149,0,"c"],[13150,0,"$"],[13151,0," "],[13152,0,"b"],[13153,0,"e"],[13154,0," "],[13155,0,"a"],[13156,0," "],[13157,0,"h"],[13158,0,"i"],[13159,0,"s"],[13160,0,"t"],[13161,0,"o"],[13162,0,"r"],[13163,0,"y"],[13164,0," "],[13165,0,"o"],[13166,0,"f"],[13167,0," "],[13168,0,"o"],[13169,0,"p"],[13170,0,"e"],[13171,0,"r"],[13172,0,"a"],[13173,0,"t"],[13174,0,"i"],[13175,0,"o"],[13176,0,"n"],[13177,0,"s"],[13178,0,","],[13179,0," "],[13180,0,"d"],[13181,0,"e"],[13182,0,"r"],[13183,0,"i"],[13184,0,"v"],[13185,0,"e"],[13186,0,"d"],[13187,0," "],[13188,0,"f"],[13189,0,"r"],[13190,0,"o"],[13191,0,"m"],[13192,0," "],[13193,0,"e"],[13194,0,"i"],[13195,0,"t"],[13196,0,"h"],[13197,0,"e"],[13198,0,"r"],[13199,0," "],[13200,0,"$"],[13201,0,"H"],[13202,0,"_"],[13203,0,"1"],[13204,0,"$"],[13205,0," "],[13206,0,"o"],[13207,0,"r"],[13208,0," "],[13209,0,"$"],[13210,0,"H"],[13211,0,"_"],[13212,0,"2"],[13213,0,"$"],[13214,0," "],[13215,0,"b"],[13216,0,"y"],[13217,0," "],[13218,0,"s"],[13219,0,"e"],[13220,0,"l"],[13221,0,"e"],[13222,0,"c"],[13223,0,"t"],[13224,0,"i"],[13225,0,"n"],[13226,0,"g"],[13227,0," "],[13228,0,"o"],[13229,0,"n"],[13230,0,"l"],[13231,0,"y"],[13232,0," "],[13233,0,"$"],[13234,0,"\\"],[13235,0,"m"],[13236,0,"a"],[13237,0,"t"],[13238,0,"h"],[13239,0,"s"],[13240,0,"f"],[13241,0,"{"],[13242,0,"i"],[13243,0,"n"],[13244,0,"s"],[13245,0,"e"],[13246,0,"r"],[13247,0,"t"],[13248,0,"}"],[13249,0,"$"],[13250,0," "],[13251,0,"o"],[13252,0,"p"],[13253,0,"e"],[13254,0,"r"],[13255,0,"a"],[13256,0,"t"],[13257,0,"i"],[13258,0,"o"],[13259,0,"n"],[13260,0,"s"],[13261,0," "],[13262,0,"t"],[13263,0,"h"],[13264,0,"a"],[13265,0,"t"],[13266,0," "],[13267,0,"a"],[13268,0,"r"],[13269,0,"e"],[13270,0," "],[13271,0,"c"],[13272,0,"o"],[13273,0,"n"],[13274,0,"c"],[13275,0,"u"],[13276,0,"r"],[13277,0,"r"],[13278,0,"e"],[13279,0,"n"],[13280,0,"t"],[13281,0," "],[13282,0,"w"],[13283,0,"i"],[13284,0,"t"],[13285,0,"h"],[13286,0," "],[13287,0,"$"],[13288,0,"{"],[13288,1],[13288,0,"o"],[13289,0,"_"],[13290,0,"{"],[13291,0,"n"],[13292,0,"+"],[13293,0,"1"],[13294,0,"}"],[13295,0,"$"],[13296,0," "],[13297,0,"a"],[13298,0,"n"],[13299,0,"d"],[13300,0," "],[13301,0,"t"],[13302,0,"h"],[13303,0,"a"],[13304,0,"t"],[13305,0," "],[13306,0,"i"],[13307,0,"n"],[13308,0,"s"],[13309,0,"e"],[13310,0,"r"],[13311,0,"t"],[13312,0," "],[13313,0,"a"],[13314,0," "],[13314,1],[13314,0,"t"],[13315,0," "],[13316,0,"a"],[13317,0," "],[13318,0,"p"],[13319,0,"o"],[13320,0,"s"],[13321,0,"i"],[13322,0,"t"],[13323,0,"i"],[13324,0,"o"],[13325,0,"n"],[13326,0," "],[13327,0,"w"],[13328,0,"i"],[13329,0,"t"],[13330,0,"h"],[13331,0,"i"],[13332,0,"n"],[13333,0," "],[13334,0,"t"],[13335,0,"h"],[13336,0,"e"],[13337,0," "],[13338,0,"i"],[13339,0,"n"],[13340,0,"t"],[13341,0,"e"],[13342,0,"r"],[13343,0,"v"],[13344,0,"a"],[13345,0,"l"],[13346,0," "],[13347,0,"f"],[13348,0,"r"],[13349,0,"o"],[13350,0,"m"],[13351,0," "],[13352,0,"$"],[13353,0,"\\"],[13354,0,"m"],[13355,0,"a"],[13356,0,"t"],[13357,0,"h"],[13358,0,"i"],[13359,0,"t"],[13360,0,"{"],[13361,0,"p"],[13362,0,"r"],[13363,0,"e"],[13364,0,"v"],[13365,0,"}"],[13366,0,"$"],[13367,0," "],[13368,0,"t"],[13369,0,"o"],[13370,0," "],[13371,0,"$"],[13372,0,"\\"],[13373,0,"m"],[13374,0,"a"],[13375,0,"t"],[13376,0,"h"],[13377,0,"i"],[13378,0,"t"],[13379,0,"{"],[13380,0,"n"],[13381,0,"e"],[13382,0,"x"],[13383,0,"t"],[13384,0,"}"],[13385,0,"$"],[13386,0,"."],[13387,0," "],[13388,0,"T"],[13389,0,"h"],[13390,0,"e"],[13391,0," "],[13392,0,"o"],[13393,0,"p"],[13394,0,"e"],[13395,0,"r"],[13396,0,"a"],[13397,0,"t"],[13398,0,"i"],[13399,0,"o"],[13400,0,"n"],[13401,0,"s"],[13402,0," "],[13403,0,"i"],[13404,0,"n"],[13405,0," "],[13406,0,"$"],[13407,0,"H"],[13408,0,"_"],[13409,0,"c"],[13410,0,"$"],[13411,0," "],[13412,0,"d"],[13413,0,"e"],[13414,0,"t"],[13415,0,"e"],[13416,0,"r"],[13417,0,"m"],[13418,0,"i"],[13419,0,"n"],[13420,0,"e"],[13421,0," "],[13422,0,"t"],[13423,0,"h"],[13424,0,"e"],[13425,0," "],[13426,0,"f"],[13427,0,"i"],[13428,0,"n"],[13429,0,"a"],[13430,0,"l"],[13431,0," "],[13432,0,"o"],[13433,0,"r"],[13434,0,"d"],[13435,0,"e"],[13436,0,"r"],[13437,0," "],[13438,0,"o"],[13439,0,"f"],[13440,0," "],[13441,0,"l"],[13442,0,"i"],[13443,0,"s"],[13444,0,"t"],[13445,0," "],[13446,0,"e"],[13447,0,"l"],[13448,0,"e"],[13449,0,"m"],[13450,0,"t"],[13451,0,"n"],[13452,0,"s"],[13453,0," "],[13453,1],[13452,1],[13451,1],[13450,1],[13450,0,"e"],[13451,0,"m"],[13452,0,"t"],[13452,1],[13451,1],[13451,0,"n"],[13452,0,"t"],[13453,0,"s"],[13454,0," "],[13455,0,"w"],[13456,0,"i"],[13457,0,"t"],[13458,0,"h"],[13459,0,"i"],[13460,0,"n"],[13461,0," "],[13462,0,"t"],[13463,0,"h"],[13464,0,"a"],[13465,0,"t"],[13466,0," "],[13467,0,"i"],[13468,0,"n"],[13469,0,"t"],[13470,0,"e"],[13471,0,"r"],[13472,0,"v"],[13473,0,"a"],[13474,0,"l"],[13475,0,","],[13476,0," "],[13477,0,"a"],[13478,0,"n"],[13479,0,"d"],[13480,0," "],[13481,0,"d"],[13482,0,"o"],[13483,0," "],[13484,0,"n"],[13485,0,"o"],[13486,0,"t"],[13487,0," "],[13488,0,"a"],[13489,0,"f"],[13490,0,"f"],[13491,0,"e"],[13492,0,"c"],[13493,0,"t"],[13494,0," "],[13495,0,"("],[13496,0,"a"],[13497,0,"n"],[13498,0,"d"],[13499,0," "],[13500,0,"a"],[13501,0,"r"],[13502,0,"e"],[13503,0," "],[13504,0,"n"],[13505,0,"o"],[13506,0,"t"],[13507,0," "],[13508,0,"a"],[13509,0,"f"],[13510,0,"f"],[13511,0,"e"],[13512,0,"c"],[13513,0,"t"],[13514,0,"e"],[13515,0,"d"],[13516,0," "],[13517,0,"b"],[13518,0,"y"],[13519,0,")"],[13520,0," "],[13521,0,"t"],[13522,0,"h"],[13523,0,"e"],[13524,0," "],[13525,0,"o"],[13526,0,"r"],[13527,0,"d"],[13528,0,"e"],[13529,0,"r"],[13529,1],[13528,1],[13527,1],[13526,1],[13525,1],[13525,0,"l"],[13526,0,"i"],[13527,0,"s"],[13528,0,"t"],[13529,0," "],[13530,0,"o"],[13531,0,"r"],[13532,0,"d"],[13533,0,"e"],[13534,0,"r"],[13535,0," "],[13536,0,"o"],[13537,0,"u"],[13538,0,"t"],[13539,0,"s"],[13540,0,"i"],[13541,0,"d"],[13542,0,"e"],[13543,0," "],[13544,0,"o"],[13545,0,"f"],[13546,0," "],[13547,0,"t"],[13548,0,"h"],[13549,0,"a"],[13550,0,"t"],[13551,0," "],[13552,0,"i"],[13553,0,"n"],[13554,0,"t"],[13555,0,"e"],[13556,0,"r"],[13557,0,"v"],[13558,0,"a"],[13559,0,"l"],[13560,0,"."],[13561,0," "],[13562,0,"B"],[13563,0,"y"],[13564,0," "],[13565,0,"t"],[13566,0,"h"],[13567,0,"e"],[13568,0," "],[13569,0,"i"],[13570,0,"n"],[13571,0,"d"],[13572,0,"u"],[13573,0,"c"],[13574,0,"t"],[13575,0,"i"],[13576,0,"o"],[13577,0,"n"],[13578,0," "],[13579,0,"h"],[13580,0,"y"],[13581,0,"p"],[13582,0,"o"],[13583,0,"t"],[13584,0,"h"],[13585,0,"e"],[13586,0,"s"],[13587,0,"i"],[13588,0,"s"],[13589,0,","],[13590,0," "],[13591,0,"t"],[13592,0,"h"],[13593,0,"e"],[13594,0," "],[13595,0,"o"],[13596,0,"p"],[13597,0,"e"],[13598,0,"r"],[13599,0,"a"],[13600,0,"t"],[13601,0,"i"],[13602,0,"o"],[13603,0,"n"],[13604,0,"s"],[13605,0," "],[13606,0,"i"],[13607,0,"n"],[13608,0," "],[13609,0,"$"],[13610,0,"H"],[13611,0,"_"],[13612,0,"c"],[13613,0,"$"],[13614,0," "],[13607,1],[13606,1],[13605,1],[13604,1],[13603,1],[13602,1],[13601,1],[13600,1],[13599,1],[13598,1],[13597,1],[13596,1],[13595,1],[13594,1],[13593,1],[13592,1],[13591,1],[13591,0,"a"],[13592,0,"l"],[13593,0,"l"],[13594,0," "],[13595,0,"p"],[13596,0,"o"],[13597,0,"s"],[13598,0,"s"],[13599,0,"i"],[13600,0,"b"],[13601,0,"l"],[13602,0,"e"],[13603,0," "],[13604,0,"c"],[13605,0,"h"],[13606,0,"o"],[13607,0,"i"],[13608,0,"c"],[13609,0,"e"],[13610,0,"s"],[13611,0," "],[13612,0,"o"],[13613,0,"f"],[13621,0,"r"],[13622,0,"e"],[13623,0,"s"],[13624,0,"u"],[13625,0,"l"],[13626,0,"t"],[13627,0," "],[13628,0,"i"],[13629,0,"n"],[13630,0," "],[13631,0,"t"],[13632,0,"h"],[13633,0,"e"],[13634,0," "],[13635,0,"s"],[13636,0,"a"],[13637,0,"m"],[13638,0,"e"],[13639,0," "],[13640,0,"f"],[13641,0,"i"],[13642,0,"n"],[13643,0,"a"],[13644,0,"l"],[13645,0," "],[13646,0,"l"],[13647,0,"i"],[13648,0,"s"],[13649,0,"t"],[13650,0," "],[13651,0,"o"],[13652,0,"r"],[13653,0,"d"],[13654,0,"e"],[13655,0,"r"],[13656,0," "],[13657,0,"w"],[13658,0,"i"],[13659,0,"t"],[13660,0,"h"],[13661,0,"i"],[13662,0,"n"],[13663,0," "],[13387,0," "],[13388,0,"B"],[13389,0,"y"],[13390,0," "],[13391,0,"t"],[13392,0,"h"],[13393,0,"e"],[13394,0," "],[13395,0,"i"],[13396,0,"n"],[13397,0,"d"],[13398,0,"u"],[13399,0,"c"],[13400,0,"t"],[13401,0,"i"],[13402,0,"o"],[13403,0,"n"],[13404,0," "],[13405,0,"h"],[13406,0,"y"],[13407,0,"p"],[13408,0,"o"],[13409,0,"t"],[13410,0,"h"],[13411,0,"e"],[13412,0,"s"],[13413,0,"i"],[13414,0,"s"],[13415,0,","],[13433,1],[13432,1],[13431,1],[13430,1],[13429,1],[13428,1],[13427,1],[13426,1],[13425,1],[13424,1],[13423,1],[13422,1],[13421,1],[13420,1],[13419,1],[13418,1],[13417,1],[13417,0,"a"],[13418,0,"l"],[13419,0,"l"],[13420,0," "],[13421,0,"p"],[13422,0,"o"],[13423,0,"s"],[13424,0,"s"],[13425,0,"i"],[13426,0,"b"],[13427,0,"l"],[13428,0,"e"],[13429,0," "],[13430,0,"s"],[13431,0,"u"],[13432,0,"b"],[13433,0,"-"],[13434,0,"h"],[13435,0,"i"],[13436,0,"s"],[13437,0,"t"],[13438,0,"o"],[13439,0,"r"],[13440,0,"i"],[13441,0,"e"],[13442,0,"s"],[13458,1],[13457,1],[13456,1],[13455,1],[13454,1],[13453,1],[13452,1],[13451,1],[13450,1],[13450,0,"r"],[13451,0,"e"],[13452,0,"s"],[13453,0,"u"],[13454,0,"l"],[13455,0,"t"],[13456,0," "],[13457,0,"i"],[13458,0,"n"],[13459,0," "],[13460,0,"t"],[13461,0,"h"],[13461,1],[13460,1],[13459,1],[13463,0," "],[13464,0,"s"],[13465,0,"a"],[13466,0,"m"],[13467,0,"e"],[13522,1],[13521,1],[13520,1],[13519,1],[13518,1],[13518,0,"."],[13519,0," "],[13520,0,"T"],[13521,0,"h"],[13522,0,"e"],[13523,0," "],[13524,0,"o"],[13525,0,"p"],[13526,0,"e"],[13527,0,"r"],[13528,0,"a"],[13529,0,"t"],[13530,0,"i"],[13531,0,"o"],[13532,0,"n"],[13533,0,"s"],[13534,0," "],[13535,0,"i"],[13536,0,"n"],[13537,0," "],[13538,0,"$"],[13539,0,"H"],[13540,0,"_"],[13541,0,"c"],[13542,0,"$"],[13726,1],[13725,1],[13724,1],[13723,1],[13722,1],[13721,1],[13720,1],[13719,1],[13718,1],[13717,1],[13716,1],[13715,1],[13714,1],[13713,1],[13712,1],[13711,1],[13710,1],[13709,1],[13708,1],[13707,1],[13706,1],[13705,1],[13704,1],[13703,1],[13702,1],[13701,1],[13700,1],[13699,1],[13698,1],[13697,1],[13696,1],[13695,1],[13694,1],[13693,1],[13692,1],[13691,1],[13690,1],[13689,1],[13688,1],[13687,1],[13686,1],[13685,1],[13684,1],[13683,1],[13682,1],[13681,1],[13680,1],[13679,1],[13678,1],[13677,1],[13676,1],[13675,1],[13674,1],[13673,1],[13672,1],[13671,1],[13670,1],[13669,1],[13668,1],[13667,1],[13666,1],[13665,1],[13664,1],[13663,1],[13662,1],[13661,1],[13660,1],[13659,1],[13658,1],[13657,1],[13656,1],[13655,1],[13654,1],[13653,1],[13652,1],[13651,1],[13650,1],[13649,1],[13648,1],[13647,1],[13646,1],[13645,1],[13644,1],[13643,1],[13642,1],[13641,1],[13640,1],[13639,1],[13638,1],[13637,1],[13636,1],[13635,1],[13634,1],[13633,1],[13632,1],[13631,1],[13630,1],[13629,1],[13628,1],[13627,1],[13626,1],[13625,1],[13624,1],[13623,1],[13623,0,","],[13624,0," "],[13625,0,"s"],[13626,0,"o"],[13627,0," "],[13628,0,"w"],[13629,0,"e"],[13630,0," "],[13631,0,"c"],[13632,0,"a"],[13633,0,"n"],[13634,0," "],[13635,0,"c"],[13636,0,"o"],[13637,0,"n"],[13638,0,"s"],[13639,0,"i"],[13640,0,"d"],[13641,0,"e"],[13642,0,"r"],[13643,0," "],[13644,0,"$"],[13645,0,"H"],[13646,0,"_"],[13647,0,"c"],[13648,0,"$"],[13649,0," "],[13650,0,"i"],[13651,0,"n"],[13652,0," "],[13653,0,"i"],[13654,0,"s"],[13655,0,"o"],[13656,0,"l"],[13657,0,"a"],[13658,0,"t"],[13659,0,"i"],[13660,0,"o"],[13661,0,"n"],[13662,0,"."],[14311,1],[14310,1],[14309,1],[14308,1],[14307,1],[14306,1],[14305,1],[14304,1],[14303,1],[14302,1],[14301,1],[14300,1],[14299,1],[14298,1],[14297,1],[14296,1],[14295,1],[14294,1],[14293,1],[14292,1],[14291,1],[14290,1],[14289,1],[14288,1],[14287,1],[14286,1],[14285,1],[14284,1],[14283,1],[14282,1],[14281,1],[14280,1],[14279,1],[14278,1],[14277,1],[14276,1],[14275,1],[14274,1],[14273,1],[14272,1],[14271,1],[14270,1],[14269,1],[14268,1],[14267,1],[14266,1],[14265,1],[14264,1],[14263,1],[14262,1],[14261,1],[14260,1],[14259,1],[14258,1],[14257,1],[14256,1],[14255,1],[14254,1],[14253,1],[14252,1],[14251,1],[14250,1],[14249,1],[14248,1],[14247,1],[14246,1],[14245,1],[14244,1],[14243,1],[14242,1],[14241,1],[14240,1],[14239,1],[14238,1],[14237,1],[14236,1],[14235,1],[14234,1],[14233,1],[14232,1],[14231,1],[14230,1],[14229,1],[14228,1],[14227,1],[14226,1],[14225,1],[14224,1],[14223,1],[14222,1],[14221,1],[14220,1],[14219,1],[14218,1],[14217,1],[14216,1],[14215,1],[14214,1],[14213,1],[14212,1],[14211,1],[14210,1],[14209,1],[14208,1],[14207,1],[14206,1],[14205,1],[14204,1],[14203,1],[14202,1],[14201,1],[14200,1],[14199,1],[14198,1],[14197,1],[14196,1],[14195,1],[14194,1],[14193,1],[14192,1],[14191,1],[14190,1],[14189,1],[14188,1],[14187,1],[14186,1],[14185,1],[14184,1],[14183,1],[14182,1],[14181,1],[14180,1],[14179,1],[14178,1],[14177,1],[14176,1],[14175,1],[14174,1],[14173,1],[14172,1],[14171,1],[14170,1],[14169,1],[14168,1],[14167,1],[14166,1],[14165,1],[14164,1],[14163,1],[14162,1],[14161,1],[14160,1],[14159,1],[14158,1],[14157,1],[14156,1],[14155,1],[14154,1],[14153,1],[14152,1],[14151,1],[14150,1],[14149,1],[14148,1],[14147,1],[14146,1],[14145,1],[14144,1],[14143,1],[14142,1],[14141,1],[14140,1],[14139,1],[14138,1],[14137,1],[14136,1],[14135,1],[14134,1],[14133,1],[14132,1],[14131,1],[14130,1],[14129,1],[14128,1],[14127,1],[14126,1],[14125,1],[14124,1],[14123,1],[14122,1],[14121,1],[14120,1],[14119,1],[14118,1],[14117,1],[14116,1],[14115,1],[14114,1],[14113,1],[14112,1],[14111,1],[14110,1],[14109,1],[14108,1],[14107,1],[14106,1],[14105,1],[14104,1],[14103,1],[14102,1],[14101,1],[14100,1],[14099,1],[14098,1],[14097,1],[14096,1],[14095,1],[14094,1],[14093,1],[14092,1],[14091,1],[14090,1],[14089,1],[14088,1],[14087,1],[14086,1],[14085,1],[14084,1],[14083,1],[14082,1],[13663,0,"\n"],[13664,0,"\n"],[13665,0,"L"],[13666,0,"e"],[13667,0,"t"],[13668,0," "],[13669,0,"$"],[13670,0,"["],[13671,0,"\\"],[13672,0,"m"],[13673,0,"a"],[13674,0,"t"],[13675,0,"h"],[13676,0,"i"],[13677,0,"t"],[13678,0,"{"],[13679,0,"i"],[13680,0,"d"],[13681,0,"}"],[13682,0,"_"],[13683,0,"1"],[13684,0,","],[13685,0," "],[13686,0,"\\"],[13687,0,"d"],[13688,0,"o"],[13689,0,"t"],[13690,0,"s"],[13691,0,","],[13692,0," "],[13693,0,"\\"],[13694,0,"m"],[13695,0,"a"],[13696,0,"t"],[13697,0,"h"],[13698,0,"i"],[13699,0,"t"],[13700,0,"{"],[13701,0,"i"],[13702,0,"d"],[13703,0,"}"],[13704,0,"_"],[13705,0,"k"],[13706,0,"]"],[13707,0,"$"],[13708,0," "],[13709,0,"b"],[13710,0,"e"],[13711,0," "],[13712,0,"t"],[13713,0,"h"],[13714,0,"e"],[13715,0," "],[13716,0,"o"],[13717,0,"r"],[13718,0,"d"],[13719,0,"e"],[13720,0,"r"],[13721,0," "],[13722,0,"o"],[13723,0,"f"],[13724,0," "],[13725,0,"l"],[13726,0,"i"],[13727,0,"s"],[13728,0,"t"],[13729,0," "],[13730,0,"e"],[13731,0,"l"],[13732,0,"e"],[13733,0,"m"],[13734,0,"e"],[13735,0,"n"],[13736,0,"t"],[13737,0,"s"],[13738,0," "],[13715,0," "],[13716,0,"L"],[13717,0,"a"],[13718,0,"m"],[13719,0,"p"],[13720,0,"o"],[13721,0,"r"],[13722,0,"t"],[13723,0," "],[13724,0,"t"],[13725,0,"i"],[13726,0,"m"],[13727,0,"e"],[13728,0,"s"],[13729,0,"t"],[13730,0,"a"],[13731,0,"m"],[13732,0,"p"],[13733,0,"s"],[13734,0," "],[13735,0,"o"],[13736,0,"f"],[13745,1],[13744,1],[13743,1],[13742,1],[13741,1],[13740,1],[13739,1],[13738,1],[13738,0,"t"],[13739,0,"h"],[13740,0,"e"],[13756,0,"i"],[13757,0,"n"],[13758,0,"s"],[13759,0,"e"],[13760,0,"r"],[13761,0,"t"],[13761,1],[13760,1],[13759,1],[13758,1],[13757,1],[13756,1],[13756,0,"d"],[13757,0,"e"],[13758,0,"f"],[13759,0,"i"],[13760,0,"n"],[13761,0,"e"],[13761,1],[13760,1],[13759,1],[13758,1],[13757,1],[13756,1],[13756,0,"i"],[13757,0,"n"],[13758,0," "],[13759,0,"t"],[13760,0,"h"],[13761,0,"e"],[13762,0," "],[13763,0,"i"],[13764,0,"n"],[13765,0,"t"],[13766,0,"e"],[13767,0,"r"],[13768,0,"v"],[13769,0,"a"],[13770,0,"l"],[13771,0," "],[13772,0,"b"],[13773,0,"e"],[13774,0,"t"],[13775,0,"w"],[13776,0,"e"],[13777,0,"e"],[13778,0,"n"],[13779,0," "],[13780,0,"$"],[13781,0,"\\"],[13782,0,"m"],[13783,0,"a"],[13784,0,"t"],[13785,0,"h"],[13786,0,"i"],[13787,0,"t"],[13788,0,"{"],[13789,0,"p"],[13790,0,"r"],[13791,0,"e"],[13792,0,"v"],[13793,0,"}"],[13794,0,"$"],[13795,0," "],[13796,0,"a"],[13797,0,"n"],[13798,0,"d"],[13799,0," "],[13800,0,"$"],[13801,0,"\\"],[13802,0,"m"],[13803,0,"a"],[13804,0,"t"],[13805,0,"h"],[13806,0,"i"],[13807,0,"t"],[13808,0,"{"],[13809,0,"n"],[13810,0,"e"],[13811,0,"x"],[13812,0,"t"],[13813,0,"}"],[13814,0,"$"],[13815,0,","],[13816,0," "],[13817,0,"i"],[13818,0,"n"],[13819,0," "],[13820,0,"t"],[13821,0,"h"],[13822,0,"e"],[13823,0," "],[13824,0,"l"],[13825,0,"i"],[13826,0,"s"],[13827,0,"t"],[13828,0," "],[13829,0,"o"],[13830,0,"r"],[13831,0,"d"],[13832,0,"e"],[13833,0,"r"],[13834,0," "],[13835,0,"u"],[13836,0,"n"],[13837,0,"a"],[13838,0,"m"],[13839,0,"b"],[13840,0,"i"],[13841,0,"g"],[13842,0,"u"],[13843,0,"o"],[13844,0,"u"],[13845,0,"s"],[13846,0,"l"],[13847,0,"y"],[13848,0," "],[13849,0,"d"],[13850,0,"e"],[13851,0,"f"],[13852,0,"i"],[13853,0,"n"],[13854,0,"e"],[13855,0,"d"],[13856,0," "],[13857,0,"b"],[13858,0,"y"],[13859,0," "],[13860,0,"$"],[13861,0,"H"],[13862,0,"_"],[13863,0,"c"],[13864,0,"$"],[13865,0,"."],[13866,0," "],[13867,0,"W"],[13868,0,"e"],[13869,0," "],[13870,0,"n"],[13871,0,"e"],[13872,0,"e"],[13873,0,"d"],[13874,0," "],[13875,0,"t"],[13876,0,"o"],[13877,0," "],[13878,0,"s"],[13879,0,"h"],[13880,0,"o"],[13881,0,"w"],[13882,0," "],[13883,0,"t"],[13884,0,"h"],[13885,0,"a"],[13886,0,"t"],[13887,0," "],[13888,0,"r"],[13889,0,"e"],[13890,0,"g"],[13891,0,"a"],[13892,0,"r"],[13893,0,"d"],[13894,0,"l"],[13895,0,"e"],[13896,0,"s"],[13897,0,"s"],[13898,0," "],[13899,0,"a"],[13900,0,"t"],[13901,0," "],[13902,0,"w"],[13903,0,"h"],[13904,0,"a"],[13905,0,"t"],[13906,0," "],[13907,0,"p"],[13908,0,"o"],[13909,0,"s"],[13910,0,"i"],[13911,0,"t"],[13912,0,"i"],[13913,0,"o"],[13914,0,"n"],[13915,0," "],[13916,0,"i"],[13917,0,"n"],[13918,0," "],[13919,0,"$"],[13920,0,"H"],[13921,0,"_"],[13922,0,"c"],[13923,0,"$"],[13924,0," "],[13925,0,"w"],[13926,0,"e"],[13927,0," "],[13928,0,"i"],[13929,0,"n"],[13930,0,"s"],[13931,0,"e"],[13932,0,"r"],[13933,0,"t"],[13934,0," "],[13935,0,"t"],[13936,0,"h"],[13937,0,"e"],[13938,0," "],[13939,0,"o"],[13940,0,"p"],[13941,0,"e"],[13942,0,"r"],[13943,0,"a"],[13944,0,"t"],[13945,0,"i"],[13946,0,"o"],[13947,0,"n"],[13948,0," "],[13949,0,"$"],[13950,0,"o"],[13951,0,"_"],[13952,0,"{"],[13953,0,"n"],[13954,0,"+"],[13955,0,"1"],[13956,0,"}"],[13957,0,"$"],[13958,0,","],[13959,0," "],[13960,0,"t"],[13961,0,"h"],[13962,0,"e"],[13963,0," "],[13964,0,"o"],[13965,0,"u"],[13966,0,"t"],[13967,0,"c"],[13968,0,"o"],[13969,0,"m"],[13970,0,"e"],[13971,0," "],[13972,0,"i"],[13973,0,"s"],[13974,0," "],[13975,0,"t"],[13976,0,"h"],[13977,0,"e"],[13978,0," "],[13979,0,"s"],[13980,0,"a"],[13981,0,"m"],[13982,0,"e"],[13983,0," "],[13984,0,"s"],[13985,0,"e"],[13986,0,"q"],[13987,0,"u"],[13988,0,"e"],[13989,0,"n"],[13990,0,"c"],[13991,0,"e"],[13992,0," "],[13993,0,"o"],[13994,0,"f"],[13995,0," "],[13996,0,"l"],[13997,0,"i"],[13998,0,"s"],[13999,0,"t"],[14000,0," "],[14001,0,"e"],[14002,0,"l"],[14003,0,"e"],[14004,0,"m"],[14005,0,"e"],[14006,0,"n"],[14007,0,"t"],[14008,0,"s"],[14009,0,"."],[14010,0," "],[14011,0,"E"],[14012,0,"q"],[14013,0,"u"],[14014,0,"i"],[14015,0,"v"],[14016,0,"a"],[14017,0,"l"],[14018,0,"e"],[14019,0,"n"],[14020,0,"t"],[14021,0,"l"],[14022,0,"y"],[14023,0,","],[14024,0," "],[14025,0,"w"],[14026,0,"e"],[14027,0," "],[14028,0,"c"],[14029,0,"a"],[14030,0,"n"],[14031,0," "],[14032,0,"s"],[14033,0,"h"],[14034,0,"o"],[14035,0,"w"],[14036,0," "],[14036,1],[14035,1],[14034,1],[14033,1],[14032,1],[14031,1],[14030,1],[14029,1],[14028,1],[14027,1],[14026,1],[14025,1],[14024,1],[14023,1],[14022,1],[14021,1],[14020,1],[14019,1],[14018,1],[14017,1],[14016,1],[14015,1],[14014,1],[14013,1],[14012,1],[14011,1],[14010,1],[14009,1],[14008,1],[14008,0,"s"],[14009,0," "],[14010,0,"$"],[14011,0,"["],[14012,0,"\\"],[14013,0,"m"],[14014,0,"a"],[14015,0,"t"],[14016,0,"h"],[14017,0,"i"],[14018,0,"t"],[14019,0,"{"],[14020,0,"i"],[14021,0,"d"],[14022,0,"_"],[14023,0,"1"],[14024,0,","],[14025,0," "],[14026,0,"\\"],[14027,0,"d"],[14028,0,"o"],[14029,0,"t"],[14030,0,"s"],[14031,0,","],[14032,0," "],[14022,0,"}"],[14034,0,"\\"],[14035,0,"m"],[14036,0,"a"],[14037,0,"t"],[14038,0,"h"],[14039,0,"i"],[14040,0,"t"],[14041,0,"{"],[14042,0,"i"],[14043,0,"d"],[14044,0,"}"],[14045,0,","],[14046,0," "],[14047,0,"\\"],[14048,0,"d"],[14049,0,"o"],[14050,0,"t"],[14051,0,"s"],[14052,0,","],[14053,0," "],[14054,0,"\\"],[14055,0,"m"],[14056,0,"a"],[14057,0,"t"],[14058,0,"h"],[14059,0,"i"],[14060,0,"t"],[14061,0,"{"],[14062,0,"i"],[14063,0,"d"],[14064,0,"}"],[14065,0,"_"],[14066,0,"k"],[14067,0,"]"],[14068,0,"$"],[14069,0,"."],[14070,0," "],[14070,1],[14070,0,"\n"],[14071,0,"\n"],[14072,0,"S"],[14073,0,"i"],[14074,0,"n"],[14075,0,"c"],[14076,0,"e"],[14077,0," "],[14078,0,"i"],[14079,0,"n"],[14079,1],[14078,1],[14078,0,"$"],[14079,0,"\\"],[14080,0,"m"],[14081,0,"a"],[14082,0,"t"],[14083,0,"h"],[14084,0,"i"],[14085,0,"t"],[14086,0,"{"],[14086,1],[14085,1],[14084,1],[14084,0,"s"],[14085,0,"f"],[14086,0,"{"],[14087,0,"i"],[14088,0,"n"],[14089,0,"s"],[14090,0,"e"],[14091,0,"r"],[14092,0,"t"],[14093,0,"}"],[14094,0,"$"],[14095,0," "],[14096,0,"o"],[14097,0,"p"],[14098,0,"e"],[14099,0,"r"],[14100,0,"a"],[14101,0,"t"],[14102,0,"i"],[14103,0,"o"],[14104,0,"n"],[14105,0,"s"],[14106,0," "],[14107,0,"o"],[14108,0,"n"],[14109,0,"l"],[14110,0,"y"],[14111,0," "],[14112,0,"a"],[14113,0,"d"],[14114,0,"d"],[14115,0," "],[14116,0,"a"],[14117,0," "],[14118,0,"n"],[14119,0,"e"],[14120,0,"w"],[14121,0," "],[14122,0,"e"],[14123,0,"l"],[14124,0,"e"],[14125,0,"m"],[14126,0,"e"],[14127,0,"n"],[14128,0,"t"],[14129,0," "],[14130,0,"b"],[14131,0,"e"],[14132,0,"t"],[14133,0,"w"],[14134,0,"e"],[14135,0,"e"],[14136,0,"n"],[14137,0," "],[14138,0,"t"],[14139,0,"w"],[14140,0,"o"],[14141,0," "],[14142,0,"a"],[14143,0,"d"],[14143,1],[14142,1],[14142,0,"e"],[14143,0,"x"],[14144,0,"i"],[14145,0,"s"],[14146,0,"t"],[14147,0,"i"],[14148,0,"n"],[14149,0,"g"],[14150,0,","],[14151,0," "],[14152,0,"a"],[14153,0,"d"],[14154,0,"j"],[14155,0,"a"],[14156,0,"c"],[14157,0,"e"],[14158,0,"n"],[14159,0,"t"],[14160,0," "],[14161,0,"e"],[14162,0,"l"],[14163,0,"e"],[14164,0,"m"],[14165,0,"e"],[14166,0,"n"],[14167,0,"t"],[14168,0,"s"],[14169,0,","],[14170,0," "],[14171,0,"i"],[14172,0,"t"],[14173,0," "],[14174,0,"i"],[14175,0,"s"],[14176,0," "],[14177,0,"e"],[14178,0,"q"],[14179,0,"u"],[14180,0,"i"],[14181,0,"v"],[14182,0,"a"],[14183,0,"l"],[14184,0,"e"],[14185,0,"n"],[14186,0,"t"],[14187,0," "],[14188,0,"t"],[14189,0,"o"],[14190,0," "],[14191,0,"s"],[14192,0,"h"],[14193,0,"o"],[14194,0,"w"],[14195,0," "],[14196,0,"t"],[14197,0,"h"],[14198,0,"a"],[14199,0,"t"],[14200,0," "],[14201,0,"r"],[14202,0,"e"],[14203,0,"g"],[14204,0,"a"],[14205,0,"r"],[14206,0,"d"],[14207,0,"l"],[14208,0,"e"],[14209,0,"s"],[14210,0,"s"],[14211,0," "],[14212,0,"w"],[14213,0,"h"],[14214,0,"e"],[14215,0,"r"],[14216,0,"e"],[14217,0," "],[14218,0,"$"],[14219,0,"o"],[14220,0,"_"],[14221,0,"{"],[14222,0,"n"],[14223,0,"+"],[14224,0,"$"],[14224,1],[14224,0,"1"],[14225,0,"}"],[14226,0,"$"],[14227,0," "],[14228,0,"i"],[14229,0,"s"],[14230,0," "],[14231,0,"a"],[14232,0,"d"],[14233,0,"d"],[14234,0,"e"],[14234,1],[14233,1],[14232,1],[14231,1],[14231,0,"i"],[14232,0,"n"],[14233,0,"s"],[14234,0,"e"],[14235,0,"r"],[14236,0,"t"],[14237,0,"e"],[14238,0,"d"],[14239,0," "],[14240,0,"t"],[14241,0,"o"],[14242,0," "],[14243,0,"$"],[14244,0,"H"],[14245,0,"_"],[14246,0,"c"],[14247,0,"$"],[14033,0," "],[14034,0,"\\"],[14035,0,"m"],[14036,0,"a"],[14037,0,"t"],[14038,0,"h"],[14039,0,"i"],[14040,0,"t"],[14041,0,"{"],[14042,0,"i"],[14043,0,"d"],[14044,0,"}"],[14045,0,"_"],[14046,0,"m"],[14047,0,","],[14061,0," "],[14062,0,"\\"],[14063,0,"m"],[14064,0,"a"],[14065,0,"t"],[14066,0,"h"],[14067,0,"i"],[14068,0,"t"],[14069,0,"{"],[14070,0,"i"],[14071,0,"d"],[14072,0,"}"],[14073,0,"_"],[14074,0,"{"],[14075,0,"m"],[14076,0,"+"],[14077,0,"1"],[14078,0,"}"],[14079,0,","],[14282,0,","],[14283,0," "],[14284,0,"t"],[14285,0,"h"],[14286,0,"e"],[14287,0," "],[14288,0,"s"],[14289,0,"e"],[14290,0,"t"],[14291,0," "],[14292,0,"o"],[14293,0,"f"],[14294,0," "],[14295,0,"l"],[14296,0,"i"],[14297,0,"s"],[14298,0,"t"],[14299,0," "],[14300,0,"e"],[14301,0,"l"],[14302,0,"e"],[14303,0,"m"],[14304,0,"e"],[14305,0,"n"],[14306,0,"t"],[14307,0,"s"],[14308,0," "],[14309,0,"$"],[14310,0,"\\"],[14311,0,"m"],[14312,0,"a"],[14313,0,"t"],[14314,0,"h"],[14315,0,"i"],[14316,0,"t"],[14317,0,"{"],[14318,0,"i"],[14319,0,"d"],[14320,0,"}"],[14321,0,"_"],[14322,0,"1"],[14310,0,"{"],[14310,0,"\\"],[14325,0,","],[14326,0," "],[14327,0,"\\"],[14328,0,"d"],[14329,0,"o"],[14330,0,"t"],[14331,0,"s"],[14332,0,","],[14333,0," "],[14334,0,"\\"],[14335,0,"m"],[14336,0,"a"],[14337,0,"t"],[14338,0,"h"],[14339,0,"i"],[14340,0,"t"],[14341,0,"{"],[14342,0,"i"],[14343,0,"d"],[14344,0,"}"],[14345,0,"_"],[14346,0,"m"],[14347,0,"\\"],[14348,0,"}"],[14349,0,"$"],[14350,0," "],[14351,0,"t"],[14352,0,"h"],[14353,0,"a"],[14354,0,"t"],[14355,0," "],[14356,0,"a"],[14357,0,"p"],[14358,0,"p"],[14359,0,"e"],[14360,0,"a"],[14361,0,"r"],[14362,0," "],[14363,0,"\\"],[14364,0,"e"],[14365,0,"m"],[14366,0,"p"],[14367,0,"h"],[14368,0,"{"],[14369,0,"b"],[14370,0,"e"],[14371,0,"f"],[14372,0,"o"],[14373,0,"r"],[14374,0,"e"],[14375,0,"}"],[14376,0," "],[14377,0,"$"],[14377,1],[14377,0,"t"],[14378,0,"h"],[14379,0,"e"],[14380,0," "],[14381,0,"l"],[14382,0,"i"],[14383,0,"s"],[14384,0,"t"],[14385,0," "],[14386,0,"e"],[14387,0,"l"],[14388,0,"e"],[14389,0,"m"],[14390,0,"e"],[14391,0,"n"],[14392,0,"t"],[14393,0," "],[14394,0,"f"],[14395,0,"o"],[14396,0,"r"],[14397,0," "],[14398,0,"$"],[14399,0,"o"],[14400,0,"_"],[14401,0,"{"],[14402,0,"n"],[14403,0,"+"],[14404,0,"1"],[14405,0,"}"],[14406,0,"$"],[14407,0," "],[14408,0,"i"],[14409,0,"s"],[14410,0," "],[14411,0,"t"],[14412,0,"h"],[14413,0,"e"],[14414,0," "],[14415,0,"s"],[14416,0,"a"],[14417,0,"m"],[14418,0,"e"],[14419,0,"."],[14420,0," "],[14421,0,"B"],[14422,0,"y"],[14423,0," "],[14220,1],[14219,1],[14218,1],[14217,1],[14216,1],[14215,1],[14214,1],[14213,1],[14212,1],[14211,1],[14211,0,"s"],[14212,0,"u"],[14213,0,"f"],[14214,0,"f"],[14215,0,"i"],[14216,0,"c"],[14217,0,"i"],[14218,0,"e"],[14219,0,"n"],[14220,0,"t"],[14423,1],[14422,1],[14421,1],[14420,1],[14694,0,"\n"],[14695,0,"\n"],[14694,0," "],[14695,0,"F"],[14696,0,"u"],[14697,0,"r"],[14698,0,"t"],[14699,0,"h"],[14700,0,"e"],[14701,0,"r"],[14702,0," "],[14703,0,"n"],[14704,0,"o"],[14705,0,"t"],[14706,0,"e"],[14707,0," "],[14708,0,"t"],[14709,0,"h"],[14710,0,"a"],[14711,0,"t"],[14712,0," "],[14713,0,"b"],[14714,0,"y"],[14715,0," "],[14716,0,"t"],[14717,0,"h"],[14718,0,"e"],[14719,0," "],[14720,0,"d"],[14721,0,"e"],[14722,0,"f"],[14723,0,"i"],[14724,0,"n"],[14725,0,"i"],[14726,0,"t"],[14727,0,"i"],[14728,0,"o"],[14729,0,"n"],[14730,0," "],[14731,0,"o"],[14732,0,"f"],[14733,0," "],[14734,0,"L"],[14735,0,"a"],[14736,0,"m"],[14737,0,"p"],[14738,0,"o"],[14739,0,"r"],[14740,0,"t"],[14741,0," "],[14742,0,"t"],[14743,0,"i"],[14744,0,"m"],[14745,0,"e"],[14746,0,"s"],[14747,0,"t"],[14748,0,"a"],[14749,0,"m"],[14750,0,"p"],[14751,0,"s"],[14752,0,","],[14753,0," "],[14754,0,"a"],[14755,0,"n"],[14756,0,"y"],[14757,0," "],[14758,0,"o"],[14759,0,"p"],[14760,0,"e"],[14761,0,"r"],[14762,0,"a"],[14763,0,"t"],[14764,0,"i"],[14765,0,"o"],[14766,0,"n"],[14767,0," "],[14768,0,"t"],[14769,0,"h"],[14770,0,"a"],[14771,0,"t"],[14772,0," "],[14773,0,"c"],[14774,0,"a"],[14775,0,"u"],[14776,0,"s"],[14777,0,"a"],[14778,0,"l"],[14779,0,"l"],[14780,0,"y"],[14781,0," "],[14782,0,"d"],[14783,0,"e"],[14784,0,"p"],[14785,0,"e"],[14786,0,"n"],[14787,0,"d"],[14788,0,"s"],[14789,0," "],[14790,0,"o"],[14791,0,"n"],[14792,0," "],[14793,0,"a"],[14794,0,"n"],[14795,0," "],[14796,0,"o"],[14797,0,"p"],[14798,0,"e"],[14799,0,"r"],[14800,0,"a"],[14801,0,"t"],[14802,0,"i"],[14803,0,"o"],[14804,0,"n"],[14805,0," "],[14806,0,"$"],[14807,0,"O"],[14807,1],[14807,0,"o"],[14808,0,"_"],[14809,0,"i"],[14810,0,"$"],[14811,0," "],[14812,0,"m"],[14813,0,"u"],[14814,0,"s"],[14815,0,"t"],[14816,0," "],[14817,0,"h"],[14818,0,"a"],[14819,0,"v"],[14820,0,"e"],[14821,0," "],[14822,0,"a"],[14823,0," "],[14824,0,"g"],[14825,0,"r"],[14826,0,"e"],[14827,0,"a"],[14828,0,"t"],[14829,0,"e"],[14830,0,"r"],[14831,0," "],[14832,0,"I"],[14833,0,"D"],[14834,0," "],[14835,0,"t"],[14836,0,"h"],[14837,0,"a"],[14838,0,"n"],[14839,0," "],[14840,0,"$"],[14841,0,"o"],[14842,0,"_"],[14843,0,"i"],[14844,0,"$"],[14845,0,"."],[14990,1],[14989,1],[14988,1],[14987,1],[14986,1],[14985,1],[14984,1],[14983,1],[14982,1],[14981,1],[14980,1],[14979,1],[14978,1],[14977,1],[14976,1],[14975,1],[14974,1],[14973,1],[14972,1],[14971,1],[14970,1],[14969,1],[14968,1],[14967,1],[14966,1],[14965,1],[14964,1],[14963,1],[14962,1],[14961,1],[14960,1],[14959,1],[14958,1],[14957,1],[14956,1],[14955,1],[14954,1],[14953,1],[14952,1],[14951,1],[14950,1],[14949,1],[14948,1],[14947,1],[14946,1],[14945,1],[14944,1],[14943,1],[14942,1],[14941,1],[14940,1],[14939,1],[14938,1],[14937,1],[14936,1],[14935,1],[14934,1],[14933,1],[14932,1],[14931,1],[14930,1],[14929,1],[14928,1],[14927,1],[14926,1],[14925,1],[14924,1],[14923,1],[14922,1],[14921,1],[14920,1],[14919,1],[14918,1],[14917,1],[14916,1],[14915,1],[14914,1],[14913,1],[14912,1],[14911,1],[14910,1],[14909,1],[14908,1],[14907,1],[14906,1],[14905,1],[14904,1],[14903,1],[14902,1],[14901,1],[14900,1],[14899,1],[14898,1],[14897,1],[14896,1],[14895,1],[14894,1],[14893,1],[14892,1],[14891,1],[14890,1],[14889,1],[14888,1],[14887,1],[14886,1],[14885,1],[14884,1],[14883,1],[14882,1],[14881,1],[14880,1],[14879,1],[14878,1],[14877,1],[14876,1],[14875,1],[14874,1],[14873,1],[14872,1],[14871,1],[14870,1],[14869,1],[14868,1],[14867,1],[14866,1],[14865,1],[14864,1],[14863,1],[14862,1],[14861,1],[14860,1],[14859,1],[14858,1],[14857,1],[14856,1],[14855,1],[14854,1],[14853,1],[14852,1],[14851,1],[14850,1],[14849,1],[14848,1],[14103,0,","],[14104,0," "],[14105,0,"w"],[14106,0,"h"],[14107,0,"e"],[14108,0,"r"],[14109,0,"e"],[14110,0," "],[14111,0,"$"],[14112,0,"\\"],[14113,0,"m"],[14114,0,"a"],[14115,0,"t"],[14116,0,"h"],[14117,0,"i"],[14118,0,"t"],[14119,0,"{"],[14120,0,"i"],[14121,0,"d"],[14122,0,"}"],[14123,0,"$"],[14124,0," "],[14125,0,"i"],[14126,0,"s"],[14127,0," "],[14128,0,"t"],[14129,0,"h"],[14130,0,"e"],[14131,0," "],[14132,0,"L"],[14133,0,"a"],[14134,0,"m"],[14135,0,"p"],[14136,0,"o"],[14137,0,"r"],[14138,0,"t"],[14139,0," "],[14140,0,"t"],[14141,0,"i"],[14142,0,"m"],[14143,0,"e"],[14144,0,"s"],[14145,0,"t"],[14146,0,"a"],[14147,0,"m"],[14148,0,"p"],[14149,0," "],[14150,0,"o"],[14151,0,"f"],[14152,0," "],[14153,0,"$"],[14154,0,"o"],[14155,0,"_"],[14156,0,"{"],[14157,0,"n"],[14158,0,"+"],[14159,0,"1"],[14160,0,"}"],[14161,0,"$"],[14464,1],[14463,1],[14462,1],[14461,1],[14460,1],[14459,1],[14458,1],[14458,0,"\\"],[14459,0,"m"],[14460,0,"a"],[14461,0,"t"],[14462,0,"h"],[14463,0,"i"],[14464,0,"t"],[14465,0,"{"],[14466,0,"i"],[14467,0,"d"],[14468,0,"}"],[14456,1],[14455,1],[14454,1],[14453,1],[14452,1],[14451,1],[14450,1],[14449,1],[14448,1],[14447,1],[14446,1],[14445,1],[14444,1],[14443,1],[14442,1],[14441,1],[14440,1],[14439,1],[14438,1],[14437,1],[14436,1],[14434,1],[14427,1],[14426,1],[14425,1],[14424,1],[14423,1],[14422,1],[14442,0," "],[14443,0,"i"],[14444,0,"n"],[14445,0," "],[14446,0,"t"],[14447,0,"h"],[14448,0,"e"],[14449,0," "],[14450,0,"f"],[14451,0,"i"],[14452,0,"n"],[14453,0,"a"],[14454,0,"l"],[14455,0," "],[14456,0,"o"],[14457,0,"r"],[14458,0,"d"],[14459,0,"e"],[14460,0,"r"],[14474,0," "],[14475,0,"T"],[14476,0,"h"],[14477,0,"i"],[14478,0,"s"],[14479,0," "],[14479,1],[14478,1],[14477,1],[14476,1],[14475,1],[14474,1],[14902,0,"L"],[14903,0,"e"],[14904,0,"t"],[14905,0," "],[14906,0,"$"],[14907,0,"o"],[14908,0,"_"],[14909,0,"i"],[14910,0,"$"],[14907,1],[14907,0,"\\"],[14908,0,"m"],[14909,0,"a"],[14910,0,"t"],[14911,0,"h"],[14912,0,"i"],[14913,0,"t"],[14914,0,"{"],[14915,0,"i"],[14916,0,"d"],[14917,0,"}"],[14920,0," "],[14921,0,"\\"],[14922,0,"i"],[14923,0,"n"],[14924,0," "],[14925,0,"{"],[14926,0,"\\"],[14927,0,"m"],[14928,0,"a"],[14929,0,"t"],[14930,0,"h"],[14931,0,"i"],[14932,0,"t"],[14933,0,"{"],[14934,0,"i"],[14935,0,"d"],[14936,0,"_"],[14937,0,"1"],[14938,0,","],[14939,0," "],[14936,0,"}"],[14941,0,"\\"],[14942,0,"d"],[14943,0,"o"],[14944,0,"t"],[14945,0,"s"],[14946,0,","],[14947,0," "],[14948,0,"\\"],[14949,0,"m"],[14950,0,"a"],[14951,0,"t"],[14952,0,"h"],[14953,0,"i"],[14954,0,"t"],[14955,0,"{"],[14956,0,"i"],[14957,0,"d"],[14958,0,"}"],[14959,0,"_"],[14960,0,"m"],[14961,0,"}"],[14961,0,"\\"],[14925,0,"\\"],[14965,0," "],[14966,0,"b"],[14967,0,"e"],[14968,0," "],[14969,0,"t"],[14970,0,"h"],[14971,0,"e"],[14972,0," "],[14973,0,"I"],[14974,0,"D"],[14975,0," "],[14976,0,"o"],[14977,0,"f"],[14978,0," "],[14979,0,"a"],[14980,0,"n"],[14981,0,"y"],[14982,0," "],[14983,0,"l"],[14984,0,"i"],[14985,0,"s"],[14986,0,"t"],[14987,0," "],[14988,0,"e"],[14989,0,"l"],[14990,0,"e"],[14991,0,"m"],[14992,0,"e"],[14993,0,"n"],[14994,0,"t"],[14995,0," "],[14996,0,"t"],[14997,0,"h"],[14998,0,"a"],[14999,0,"t"],[15000,0," "],[15001,0,"a"],[15002,0,"p"],[15003,0,"p"],[15004,0,"e"],[15005,0,"a"],[15006,0,"r"],[15007,0,"s"],[15008,0," "],[15009,0,"b"],[15010,0,"e"],[15011,0,"f"],[15012,0,"o"],[15013,0,"r"],[15014,0,"e"],[15015,0," "],[15016,0,"$"],[15017,0,"o"],[15018,0,"_"],[15019,0,"{"],[15020,0,"n"],[15021,0,"+"],[15022,0,"1"],[15023,0,"}"],[15024,0,"$"],[15025,0," "],[15026,0,"i"],[15027,0,"n"],[15028,0," "],[15029,0,"t"],[15030,0,"h"],[15031,0,"e"],[15032,0," "],[15033,0,"f"],[15034,0,"i"],[15035,0,"n"],[15036,0,"a"],[15037,0,"l"],[15038,0," "],[15039,0,"o"],[15040,0,"r"],[15041,0,"d"],[15042,0,"e"],[15043,0,"r"],[15044,0,"."],[15045,0," "],[15046,0,"T"],[15047,0,"h"],[15048,0,"e"],[15049,0," "],[15050,0,"o"],[15051,0,"p"],[15052,0,"e"],[15053,0,"r"],[15054,0,"a"],[15055,0,"t"],[15056,0,"i"],[15057,0,"o"],[15058,0,"n"],[15059,0," "],[15060,0,"$"],[15061,0,"O"],[15061,1],[15061,0,"o"],[15062,0,"_"],[15063,0,"i"],[15064,0,"#"],[15065,0,"$"],[15065,1],[15064,1],[15064,0,"$"],[15065,0," "],[15066,0,"t"],[15067,0,"h"],[15068,0,"a"],[15069,0,"t"],[15070,0," "],[15071,0,"i"],[15072,0,"n"],[15073,0,"s"],[15074,0,"e"],[15075,0,"r"],[15076,0,"t"],[15077,0,"s"],[15078,0," "],[15079,0,"$"],[15080,0,"\\"],[15081,0,"m"],[15082,0,"a"],[15083,0,"t"],[15084,0,"h"],[15085,0,"i"],[15086,0,"t"],[15087,0,"{"],[15088,0,"i"],[15089,0,"d"],[15090,0,"}"],[15091,0,"_"],[15092,0,"i"],[15093,0,"$"],[15094,0," "],[15095,0,"o"],[15096,0,"c"],[15097,0,"c"],[15098,0,"u"],[15099,0,"r"],[15100,0,"s"],[15101,0," "],[15102,0,"e"],[15103,0,"i"],[15104,0,"t"],[15105,0,"h"],[15106,0,"e"],[15107,0,"r"],[15108,0," "],[15109,0,"b"],[15110,0,"e"],[15111,0,"f"],[15112,0,"o"],[15113,0,"r"],[15114,0,"e"],[15115,0," "],[15116,0,"o"],[15117,0,"r"],[15118,0," "],[15119,0,"a"],[15120,0,"f"],[15121,0,"t"],[15122,0,"e"],[15123,0,"r"],[15124,0," "],[15125,0,"$"],[15126,0,"o"],[15127,0,"_"],[15128,0,"{"],[15129,0,"n"],[15130,0,"+"],[15131,0,"1"],[15132,0,"}"],[15133,0,"$"],[15134,0," "],[15135,0,"i"],[15136,0,"n"],[15137,0," "],[15138,0,"$"],[15139,0,"H"],[15140,0,"_"],[15141,0,"c"],[15142,0,"$"],[15143,0,"."],[15144,0," "],[15100,1],[15099,1],[15098,1],[15097,1],[15096,1],[15095,1],[15095,0,"i"],[15096,0,"s"],[15097,0," "],[15098,0,"a"],[15099,0,"p"],[15100,0,"p"],[15101,0,"l"],[15102,0,"i"],[15103,0,"e"],[15104,0,"d"],[15149,0,"I"],[15150,0,"f"],[15151,0," "],[15152,0,"$"],[15153,0,"o"],[15154,0,"_"],[15155,0,"i"],[15156,0,"$"],[15157,0," "],[15158,0,"i"],[15159,0,"s"],[15160,0," "],[15161,0,"a"],[15162,0,"p"],[15163,0,"p"],[15164,0,"l"],[15165,0,"i"],[15166,0,"e"],[15167,0,"d"],[15168,0," "],[15169,0,"b"],[15170,0,"e"],[15171,0,"f"],[15172,0,"o"],[15173,0,"r"],[15174,0,"e"],[15175,0," "],[15176,0,"$"],[15177,0,"o"],[15178,0,"_"],[15179,0,"{"],[15180,0,"n"],[15181,0,"+"],[15182,0,"1"],[15183,0,"}"],[15184,0,"$"],[15185,0,","],[15186,0," "],[15187,0,"t"],[15188,0,"h"],[15189,0,"a"],[15190,0,"t"],[15191,0," "],[15192,0,"i"],[15193,0,"m"],[15194,0,"p"],[15195,0,"l"],[15196,0,"i"],[15197,0,"e"],[15198,0,"s"],[15199,0," "],[15200,0,"$"],[15201,0,"\\"],[15202,0,"m"],[15203,0,"a"],[15204,0,"t"],[15205,0,"h"],[15206,0,"i"],[15207,0,"t"],[15208,0,"{"],[15209,0,"i"],[15210,0,"d"],[15211,0,"}"],[15212,0,"_"],[15213,0,"i"],[15214,0," "],[15214,1],[15214,0,"$"],[15215,0,"."],[15201,0,"\\"],[15202,0,"m"],[15203,0,"a"],[15204,0,"t"],[15205,0,"h"],[15206,0,"i"],[15207,0,"t"],[15208,0,"{"],[15209,0,"i"],[15210,0,"d"],[15211,0,"}"],[15212,0," "],[15213,0,"<"],[15214,0," "],[14900,0,"\n"],[14901,0,"\n"],[14902,0,"L"],[14903,0,"e"],[14904,0,"t"],[14905,0," "],[14906,0,"$"],[14907,0,"O"],[14908,0,"_"],[14909,0,"{"],[14909,1],[14909,0,"\\"],[14910,0,"m"],[14911,0,"a"],[14912,0,"t"],[14913,0,"h"],[14914,0,"i"],[14915,0,"t"],[14916,0,"{"],[14917,0,"l"],[14918,0,"e"],[14919,0,"f"],[14920,0,"t"],[14921,0,"}"],[14922,0," "],[14923,0,"="],[14924,0," "],[14907,1],[14907,0,"T"],[14925,0,"\\"],[14926,0,"{"],[14927,0,"\\"],[14928,0,"m"],[14929,0,"a"],[14930,0,"t"],[14931,0,"h"],[14932,0,"i"],[14933,0,"t"],[14934,0,"{"],[14935,0,"i"],[14936,0,"d"],[14937,0,"}"],[14938,0,"_"],[14939,0,"i"],[14940,0," "],[14941,0,"\\"],[14942,0,"m"],[14943,0,"i"],[14944,0,"d"],[14945,0," "],[14946,0,"\\"],[14947,0,"m"],[14948,0,"a"],[14949,0,"t"],[14950,0,"h"],[14951,0,"s"],[14952,0,"f"],[14953,0,"{"],[14954,0,"i"],[14955,0,"n"],[14956,0,"s"],[14957,0,"e"],[14958,0,"r"],[14959,0,"t"],[14960,0,"}"],[14961,0,"("],[14962,0,"\\"],[14963,0,"m"],[14964,0,"a"],[14965,0,"t"],[14966,0,"h"],[14967,0,"i"],[14968,0,"d"],[14969,0,"{"],[14969,1],[14968,1],[14968,0,"t"],[14969,0,"{"],[14970,0,"i"],[14971,0,"d"],[14972,0,"}"],[14973,0,"_"],[14974,0,"i"],[14975,0,","],[14976,0," "],[14977,0,"\\"],[14978,0,"m"],[14979,0,"a"],[14980,0,"t"],[14981,0,"h"],[14982,0,"i"],[14983,0,"t"],[14984,0,"{"],[14985,0,"p"],[14986,0,"r"],[14987,0,"e"],[14988,0,"v"],[14989,0,"}"],[14990,0,","],[14991,0," "],[14992,0,"\\"],[14993,0,"p"],[14994,0,"l"],[14995,0,"a"],[14996,0,"c"],[14997,0,"e"],[14998,0,"h"],[14999,0,"o"],[15000,0,"l"],[15001,0,"d"],[15002,0,"e"],[15003,0,"r"],[15004,0,")"],[15005,0," "],[15006,0,"\\"],[15007,0,"i"],[15008,0,"n"],[15009,0," "],[15010,0,"H"],[15011,0,"_"],[15012,0,"c"],[15013,0,"\\"],[15014,0,"}"],[15015,0,"$"],[15016,0," "],[15017,0,"b"],[15018,0,"e"],[15019,0," "],[15020,0,"t"],[15021,0,"h"],[15022,0,"e"],[15023,0," "],[15024,0,"I"],[15025,0,"D"],[15026,0,"s"],[15027,0," "],[15028,0,"o"],[15029,0,"f"],[15030,0," "],[15031,0,"a"],[15032,0,"l"],[15033,0,"l"],[15034,0," "],[15035,0,"o"],[15036,0,"p"],[15037,0,"e"],[15038,0,"r"],[15039,0,"a"],[15040,0,"t"],[15041,0,"i"],[15042,0,"o"],[15043,0,"n"],[15044,0,"s"],[15045,0," "],[15046,0,"i"],[15047,0,"n"],[15048,0," "],[15049,0,"$"],[15050,0,"H"],[15051,0,"_"],[15052,0,"c"],[15053,0,"$"],[15054,0," "],[15055,0,"t"],[15056,0,"h"],[15057,0,"a"],[15058,0,"t"],[15059,0," "],[15060,0,"u"],[15061,0,"s"],[15062,0,"e"],[15063,0," "],[15064,0,"$"],[15065,0,"\\"],[15066,0,"m"],[15067,0,"a"],[15068,0,"t"],[15069,0,"h"],[15070,0,"i"],[15071,0,"t"],[15072,0,"{"],[15073,0,"p"],[15074,0,"r"],[15075,0,"e"],[15076,0,"v"],[15077,0,"}"],[15078,0,"$"],[15079,0," "],[15080,0,"a"],[15081,0,"s"],[15082,0," "],[15083,0,"t"],[15084,0,"h"],[15085,0,"e"],[15086,0,"i"],[15087,0,"r"],[15088,0," "],[15089,0,"r"],[15090,0,"e"],[15091,0,"f"],[15092,0,"e"],[15093,0,"r"],[15094,0,"e"],[15095,0,"n"],[15096,0,"c"],[15097,0,"e"],[15098,0," "],[15099,0,"p"],[15100,0,"o"],[15101,0,"s"],[15102,0,"i"],[15103,0,"t"],[15104,0,"i"],[15105,0,"o"],[15106,0,"n"],[15107,0,"."],[15015,0," "],[15016,0,"\\"],[15017,0,"c"],[15018,0,"u"],[15019,0," "],[15020,0,"p"],[15020,1],[15019,1],[15019,0,"p"],[15020,0," "],[15021,0,"\\"],[15022,0,"m"],[15023,0,"a"],[15024,0,"t"],[15025,0,"h"],[15026,0,"i"],[15027,0,"t"],[15021,0,"\\"],[15022,0,"{"],[15030,0,"{"],[15031,0,"i"],[15032,0,"d"],[15033,0,"}"],[15034,0,"\\"],[15035,0,"}"],[15075,0," "],[15076,0,"a"],[15077,0,"n"],[15078,0,"d"],[15079,0," "],[15080,0,"$"],[15080,1],[15079,1],[15078,1],[15077,1],[15076,1],[15075,1],[15035,1],[15034,1],[15033,1],[15032,1],[15031,1],[15030,1],[15029,1],[15028,1],[15027,1],[15026,1],[15025,1],[15024,1],[15023,1],[15022,1],[15021,1],[15020,1],[15019,1],[15018,1],[15017,1],[15016,1],[15015,1],[14905,0," "],[14906,0,"t"],[14907,0,"h"],[14908,0,"e"],[14909,0," "],[14910,0,"s"],[14911,0,"e"],[14912,0,"t"],[15026,1],[15025,1],[15025,0,"c"],[15026,0,"o"],[15027,0,"n"],[15028,0,"t"],[15029,0,"a"],[15030,0,"i"],[15031,0,"n"],[15121,0," "],[15122,0,"A"],[15123,0,"n"],[15124,0,"y"],[15125,0," "],[15126,0,"h"],[15127,0,"i"],[15128,0,"s"],[15129,0,"t"],[15130,0,"o"],[15131,0,"r"],[15132,0,"y"],[15133,0," "],[15134,0,"c"],[15135,0,"o"],[15136,0,"n"],[15137,0,"t"],[15138,0,"a"],[15139,0,"i"],[15140,0,"n"],[15141,0,"i"],[15142,0,"n"],[15143,0,"g"],[15144,0," "],[15145,0,"t"],[15146,0,"h"],[15147,0,"e"],[15148,0,"s"],[15149,0,"e"],[15150,0," "],[15151,0,"o"],[15152,0,"p"],[15153,0,"e"],[15154,0,"r"],[15155,0,"a"],[15156,0,"t"],[15157,0,"i"],[15158,0,"o"],[15159,0,"n"],[15160,0,"s"],[15145,0,"o"],[15146,0,"n"],[15147,0,"l"],[15148,0,"y"],[15149,0," "],[15143,1],[15142,1],[15141,1],[15140,1],[15139,1],[15138,1],[15137,1],[15137,0,"s"],[15138,0,"i"],[15139,0,"s"],[15140,0,"t"],[15141,0,"i"],[15142,0,"n"],[15143,0,"g"],[15149,0," "],[15150,0,"o"],[15151,0,"f"],[15169,0," "],[15169,1],[15169,0,","],[15170,0," "],[15171,0,"i"],[15172,0,"n"],[15173,0," "],[15174,0,"a"],[15175,0,"n"],[15176,0,"y"],[15177,0," "],[15178,0,"o"],[15179,0,"r"],[15180,0,"d"],[15181,0,"e"],[15182,0,"r"],[15183,0,","],[15184,0," "],[15185,0,"r"],[15186,0,"e"],[15187,0,"s"],[15188,0,"u"],[15189,0,"l"],[15190,0,"t"],[15191,0,"s"],[15192,0," "],[15193,0,"i"],[15194,0,"n"],[15195,0," "],[15196,0,"t"],[15197,0,"h"],[15198,0,"e"],[15199,0," "],[15200,0,"s"],[15201,0,"a"],[15202,0,"m"],[15203,0,"e"],[15204,0," "],[15205,0,"f"],[15206,0,"i"],[15207,0,"n"],[15208,0,"a"],[15209,0,"l"],[15210,0," "],[15211,0,"l"],[15212,0,"i"],[15213,0,"s"],[15214,0,"t"],[15215,0," "],[15216,0,"o"],[15217,0,"r"],[15218,0,"d"],[15219,0,"e"],[15220,0,"r"],[15221,0,","],[15222,0," "],[15223,0,"n"],[15224,0,"a"],[15225,0,"m"],[15226,0,"e"],[15227,0,"l"],[15228,0,"y"],[15229,0," "],[15230,0,"i"],[15231,0,"n"],[15232,0," "],[15233,0,"o"],[15234,0,"r"],[15235,0,"d"],[15236,0,"e"],[15237,0,"r"],[15238,0," "],[15239,0,"o"],[15240,0,"f"],[15241,0," "],[15242,0,"d"],[15243,0,"e"],[15244,0,"s"],[15245,0,"c"],[15246,0,"e"],[15247,0,"n"],[15248,0,"d"],[15249,0,"i"],[15250,0,"n"],[15251,0,"g"],[15252,0," "],[15253,0,"L"],[15254,0,"a"],[15255,0,"m"],[15256,0,"p"],[15257,0,"o"],[15258,0,"r"],[15259,0,"t"],[15260,0," "],[15261,0,"t"],[15262,0,"i"],[15263,0,"m"],[15264,0,"e"],[15265,0,"s"],[15266,0,"t"],[15267,0,"a"],[15268,0,"m"],[15269,0,"p"],[15270,0,"."],[15271,0," "],[15272,0,"S"],[15273,0,"i"],[15274,0,"n"],[15275,0,"c"],[15276,0,"e"],[15277,0," "],[15278,0,"L"],[15279,0,"a"],[15280,0,"m"],[15281,0,"p"],[15282,0,"o"],[15283,0,"r"],[15284,0,"t"],[15285,0," "],[15286,0,"t"],[15287,0,"i"],[15288,0,"m"],[15289,0,"e"],[15290,0,"s"],[15291,0,"t"],[15292,0,"a"],[15293,0,"m"],[15294,0,"p"],[15295,0,"s"],[15296,0," "],[15297,0,"a"],[15298,0,"r"],[15299,0,"e"],[15300,0," "],[15301,0,"t"],[15302,0,"o"],[15303,0,"t"],[15304,0,"a"],[15305,0,"l"],[15306,0,"l"],[15307,0,"y"],[15308,0," "],[15309,0,"o"],[15310,0,"r"],[15311,0,"d"],[15312,0,"e"],[15313,0,"r"],[15314,0,"e"],[15315,0,"d"],[15316,0,","],[15317,0," "],[15318,0,"t"],[15319,0,"h"],[15320,0,"i"],[15321,0,"s"],[15322,0," "],[15323,0,"l"],[15324,0,"i"],[15325,0,"s"],[15326,0,"t"],[15327,0," "],[15328,0,"o"],[15329,0,"r"],[15330,0,"d"],[15331,0,"e"],[15332,0,"r"],[15333,0," "],[15334,0,"i"],[15335,0,"s"],[15336,0," "],[15337,0,"d"],[15338,0,"e"],[15339,0,"t"],[15340,0,"e"],[15341,0,"r"],[15342,0,"m"],[15343,0,"i"],[15344,0,"n"],[15345,0,"i"],[15346,0,"s"],[15347,0,"t"],[15348,0,"i"],[15349,0,"c"],[15350,0," "],[15351,0,"a"],[15352,0,"n"],[15353,0,"d"],[15354,0," "],[15355,0,"u"],[15356,0,"n"],[15357,0,"q"],[15358,0,"i"],[15358,1],[15357,1],[15357,0,"i"],[15358,0,"q"],[15359,0,"u"],[15360,0,"e"],[15361,0,"."],[15362,0,"\n"],[15363,0,"\n"],[15364,0,"W"],[15365,0,"h"],[15366,0,"e"],[15367,0,"n"],[15368,0," "],[15369,0,"o"],[15370,0,"p"],[15371,0,"e"],[15372,0,"r"],[15373,0,"a"],[15374,0,"t"],[15375,0,"i"],[15376,0,"o"],[15377,0,"n"],[15378,0,"s"],[15379,0," "],[15380,0,"a"],[15381,0,"r"],[15382,0,"e"],[15383,0," "],[15384,0,"a"],[15385,0,"d"],[15386,0,"d"],[15387,0,"e"],[15388,0,"d"],[15270,0," "],[15271,0,"("],[15272,0,"T"],[15273,0,"O"],[15274,0,"D"],[15275,0,"O"],[15276,0," "],[15277,0,"p"],[15278,0,"r"],[15279,0,"o"],[15280,0,"v"],[15281,0,"e"],[15282,0," "],[15283,0,"t"],[15284,0,"h"],[15285,0,"i"],[15286,0,"s"],[15287,0," "],[15288,0,"i"],[15289,0,"n"],[15290,0," "],[15291,0,"a"],[15292,0," "],[15293,0,"l"],[15294,0,"e"],[15295,0,"m"],[15296,0,"m"],[15297,0,"a"],[15298,0,")"],[15298,0,","],[15299,0," "],[15300,0,"i"],[15301,0,"t"],[15302,0," "],[15303,0,"m"],[15304,0,"i"],[15305,0,"g"],[15306,0,"h"],[15307,0,"t"],[15308,0," "],[15309,0,"n"],[15310,0,"o"],[15311,0,"t"],[15312,0," "],[15313,0,"b"],[15314,0,"e"],[15315,0," "],[15316,0,"o"],[15317,0,"b"],[15318,0,"v"],[15319,0,"i"],[15320,0,"o"],[15321,0,"u"],[15322,0,"s"],[15433,0," "],[15421,1],[15420,1],[15419,1],[15418,1],[15418,0,"A"],[15419,0,"n"],[15420,0,"y"],[15433,0,"i"],[15434,0,"n"],[15435,0," "],[15436,0,"$"],[15437,0,"H"],[15438,0,"_"],[15439,0,"c"],[15440,0,"$"],[15441,0," "],[15416,0," "],[15417,0,"$"],[15418,0,"\\"],[15419,0,"m"],[15420,0,"a"],[15421,0,"t"],[15422,0,"h"],[15423,0,"i"],[15424,0,"t"],[15425,0,"{"],[15426,0,"i"],[15427,0,"d"],[15428,0,"}"],[15429,0,"$"],[15430,0," "],[15431,0,"h"],[15432,0,"a"],[15433,0,"s"],[15434,0," "],[15435,0,"a"],[15436,0," "],[15437,0,"d"],[15438,0,"e"],[15439,0,"t"],[15440,0,"e"],[15441,0,"r"],[15442,0,"m"],[15443,0,"i"],[15444,0,"n"],[15445,0,"i"],[15446,0,"s"],[15447,0,"t"],[15448,0,"i"],[15449,0,"c"],[15450,0," "],[15451,0,"p"],[15452,0,"o"],[15453,0,"s"],[15454,0,"i"],[15455,0,"t"],[15456,0,"i"],[15457,0,"o"],[15458,0,"n"],[15459,0," "],[15460,0,"w"],[15461,0,"i"],[15462,0,"t"],[15463,0,"h"],[15464,0,"i"],[15465,0,"n"],[15466,0," "],[15467,0,"t"],[15468,0,"h"],[15469,0,"i"],[15470,0,"s"],[15471,0," "],[15472,0,"o"],[15473,0,"r"],[15474,0,"d"],[15475,0,"e"],[15476,0,"r"],[15477,0,"."],[15513,1],[15512,1],[15511,1],[15510,1],[15509,1],[15508,1],[15507,1],[15506,1],[15505,1],[15504,1],[15504,0,"t"],[15505,0,"h"],[15506,0,"a"],[15507,0,"t"],[15508,0," "],[15509,0,"u"],[15510,0,"s"],[15511,0,"e"],[15512,0," "],[15513,0,"a"],[15514,0," "],[15515,0,"d"],[15516,0,"i"],[15517,0,"f"],[15518,0,"f"],[15519,0,"e"],[15520,0,"r"],[15521,0,"e"],[15522,0,"n"],[15523,0,"t"],[15524,0," "],[15525,0,"l"],[15526,0,"i"],[15527,0,"s"],[15528,0,"t"],[15529,0," "],[15530,0,"e"],[15531,0,"l"],[15532,0,"e"],[15533,0,"m"],[15534,0,"e"],[15535,0,"n"],[15536,0,"t"],[15537,0," "],[15538,0,"("],[15539,0,"n"],[15540,0,"o"],[15541,0,"t"],[15542,0," "],[15543,0,"$"],[15544,0,"\\"],[15545,0,"m"],[15546,0,"a"],[15547,0,"t"],[15548,0,"h"],[15549,0,"i"],[15550,0,"t"],[15551,0,"{"],[15552,0,"p"],[15553,0,"r"],[15554,0,"e"],[15555,0,"v"],[15556,0,"}"],[15557,0,"$"],[15558,0," "],[15558,1],[15558,0,")"],[15559,0," "],[15560,0,"a"],[15561,0,"s"],[15562,0," "],[15563,0,"t"],[15564,0,"h"],[15565,0,"e"],[15566,0,"i"],[15567,0,"r"],[15568,0," "],[15569,0,"r"],[15570,0,"e"],[15571,0,"f"],[15572,0,"e"],[15573,0,"r"],[15574,0,"e"],[15575,0,"n"],[15576,0,"c"],[15577,0,"e"],[15578,0," "],[15579,0,"p"],[15580,0,"o"],[15581,0,"s"],[15582,0,"i"],[15583,0,"t"],[15584,0,"i"],[15585,0,"o"],[15586,0,"n"],[15587,0," "],[15588,0,"a"],[15589,0,"p"],[15590,0,"p"],[15591,0,"e"],[15592,0,"a"],[15593,0,"r"],[15594,0," "],[15595,0,"a"],[15595,1],[15595,0,"a"],[15596,0,"t"],[15597,0," "],[15598,0,"s"],[15599,0,"o"],[15600,0,"m"],[15601,0,"e"],[15602,0," "],[15603,0,"p"],[15604,0,"o"],[15605,0,"s"],[15606,0,"i"],[15607,0,"t"],[15608,0,"i"],[15609,0,"o"],[15610,0,"n"],[15611,0," "],[15612,0,"a"],[15613,0,"f"],[15614,0,"t"],[15615,0,"e"],[15616,0,"r"],[15617,0," "],[15618,0,"t"],[15619,0,"h"],[15620,0,"e"],[15621,0,"i"],[15622,0,"r"],[15623,0," "],[15624,0,"r"],[15625,0,"e"],[15626,0,"f"],[15627,0,"e"],[15628,0,"r"],[15629,0,"e"],[15630,0,"n"],[15631,0,"c"],[15632,0,"e"],[15633,0," "],[15634,0,"e"],[15635,0,"l"],[15636,0,"e"],[15637,0,"m"],[15638,0,"e"],[15639,0,"n"],[15640,0,"t"],[15641,0," "],[15642,0,"i"],[15643,0,"n"],[15644,0," "],[15645,0,"t"],[15646,0,"h"],[15647,0,"e"],[15648,0," "],[15649,0,"f"],[15650,0,"i"],[15651,0,"n"],[15652,0,"a"],[15653,0,"l"],[15654,0," "],[15655,0,"l"],[15656,0,"i"],[15657,0,"s"],[15658,0,"t"],[15659,0," "],[15660,0,"o"],[15661,0,"r"],[15662,0,"d"],[15663,0,"e"],[15664,0,"r"],[15665,0,","],[15666,0," "],[15667,0,"a"],[15668,0,"n"],[15669,0,"d"],[15670,0," "],[15671,0,"h"],[15672,0,"a"],[15673,0,"v"],[15674,0,"e"],[15675,0," "],[15676,0,"a"],[15677,0," "],[15678,0,"L"],[15679,0,"a"],[15680,0,"m"],[15681,0,"p"],[15682,0,"o"],[15683,0,"r"],[15684,0,"t"],[15685,0," "],[15686,0,"t"],[15687,0,"i"],[15688,0,"m"],[15689,0,"e"],[15690,0,"s"],[15691,0,"t"],[15692,0,"a"],[15693,0,"m"],[15694,0,"p"],[15695,0," "],[15696,0,"g"],[15697,0,"r"],[15698,0,"e"],[15699,0,"a"],[15700,0,"t"],[15701,0,"e"],[15702,0,"r"],[15703,0," "],[15704,0,"t"],[15705,0,"h"],[15706,0,"a"],[15707,0,"n"],[15708,0," "],[15709,0,"t"],[15710,0,"h"],[15711,0,"e"],[15712,0,"i"],[15713,0,"r"],[15714,0," "],[15715,0,"r"],[15716,0,"e"],[15717,0,"f"],[15718,0,"e"],[15719,0,"r"],[15720,0,"e"],[15721,0,"n"],[15722,0,"c"],[15723,0,"e"],[15724,0," "],[15725,0,"e"],[15726,0,"l"],[15727,0,"e"],[15728,0,"m"],[15729,0,"e"],[15730,0,"n"],[15731,0,"t"],[15732,0,"."],[15733,0," "],[15734,0,"I"],[15735,0,"f"],[15736,0," "],[15737,0,"t"],[15738,0,"h"],[15739,0,"e"],[15740,0," "],[15741,0,"r"],[15742,0,"e"],[15743,0,"f"],[15744,0,"e"],[15745,0,"r"],[15746,0,"e"],[15747,0,"n"],[15748,0,"c"],[15749,0,"e"],[15750,0," "],[15751,0,"e"],[15752,0,"l"],[15753,0,"e"],[15754,0,"m"],[15755,0,"e"],[15756,0,"n"],[15757,0,"t"],[15758,0," "],[15759,0,"a"],[15760,0,"p"],[15761,0,"p"],[15762,0,"e"],[15763,0,"a"],[15764,0,"r"],[15765,0,"s"],[15766,0," "],[15767,0,"b"],[15768,0,"e"],[15769,0,"f"],[15770,0,"o"],[15771,0,"r"],[15772,0,"e"],[15773,0," "],[15774,0,"$"],[15775,0,"o"],[15776,0,"_"],[15777,0,"{"],[15778,0,"n"],[15779,0,"+"],[15780,0,"1"],[15781,0,"}"],[15782,0,"$"],[15783,0," "],[15784,0,"i"],[15785,0,"n"],[15786,0," "],[15787,0,"t"],[15788,0,"h"],[15789,0,"e"],[15790,0," "],[15791,0,"f"],[15792,0,"i"],[15793,0,"n"],[15794,0,"a"],[15795,0,"l"],[15796,0," "],[15797,0,"o"],[15798,0,"r"],[15799,0,"d"],[15800,0,"e"],[15801,0,"r"],[15802,0,","],[15803,0," "],[15804,0,"a"],[15805,0,"n"],[15806,0,"d"],[15807,0," "],[15493,1],[15493,0," "],[15494,0,"$"],[15495,0,"o"],[15496,0,"_"],[15497,0,"i"],[15498,0,"$"],[15517,0,"s"],[15573,1],[15572,1],[15571,1],[15570,1],[15569,1],[15568,1],[15568,0," "],[15569,0,"i"],[15570,0,"t"],[15571,0,"s"],[15598,0,"s"],[15627,1],[15626,1],[15625,1],[15624,1],[15623,1],[15623,0,"i"],[15624,0,"t"],[15625,0,"s"],[15677,1],[15676,1],[15676,0,"s"],[15715,1],[15714,1],[15713,1],[15712,1],[15711,1],[15711,0,"i"],[15712,0,"t"],[15713,0,"s"],[15808,0,"a"],[15809,0,"n"],[15810,0,"d"],[15811,0," "],[15812,0,"$"],[15812,1],[15811,1],[15810,1],[15809,1],[15808,1],[15808,0,"$"],[15809,0,"o"],[15810,0,"_"],[15811,0,"i"],[15812,0,"$"],[15813,0," "],[15814,0,"a"],[15815,0,"p"],[15816,0,"p"],[15817,0,"e"],[15818,0,"a"],[15819,0,"r"],[15820,0,"s"],[15821,0," "],[15822,0,"b"],[15823,0,"e"],[15824,0,"f"],[15825,0,"o"],[15826,0,"r"],[15827,0,"e"],[15828,0," "],[15829,0,"$"],[15830,0,"o"],[15831,0,"_"],[15832,0,"{"],[15833,0,"n"],[15834,0,"+"],[15835,0,"1"],[15836,0,"}"],[15837,0,"$"],[15838,0," "],[15839,0,"i"],[15840,0,"n"],[15841,0," "],[15842,0,"t"],[15843,0,"h"],[15844,0,"e"],[15845,0," "],[15846,0,"h"],[15847,0,"i"],[15848,0,"s"],[15849,0,"t"],[15850,0,"o"],[15851,0,"r"],[15852,0,"y"],[15853,0,","],[15854,0," "],[15855,0,"t"],[15856,0,"h"],[15857,0,"e"],[15858,0,"n"],[15859,0," "],[15860,0,"t"],[15861,0,"h"],[15862,0,"e"],[15863,0," "],[15864,0,"a"],[15865,0,"p"],[15866,0,"p"],[15867,0,"l"],[15868,0,"y"],[15869,0," "],[15870,0,"r"],[15871,0,"u"],[15872,0,"l"],[15873,0,"e"],[15874,0," "],[15875,0,"w"],[15876,0,"i"],[15877,0,"l"],[15878,0,"l"],[15879,0," "],[15879,1],[15878,1],[15877,1],[15876,1],[15875,1],[15875,0,"f"],[15876,0,"o"],[15877,0,"r"],[15878,0," "],[15879,0,"#"],[15879,1],[15879,0,"$"],[15880,0,"o"],[15881,0,"_"],[15882,0,"{"],[15883,0,"n"],[15884,0,"+"],[15885,0,"1"],[15886,0,"}"],[15887,0,"$"],[15888,0," "],[15889,0,"s"],[15890,0,"k"],[15891,0,"i"],[15892,0,"p"],[15893,0,"s"],[15894,0," "],[15895,0,"o"],[15896,0,"v"],[15897,0,"e"],[15898,0,"r"],[15899,0," "],[15900,0,"b"],[15901,0,"o"],[15902,0,"t"],[15903,0,"h"],[15904,0," "],[15905,0,"$"],[15906,0,"o"],[15907,0,"_"],[15908,0,"i"],[15909,0,"$"],[15910,0," "],[15911,0,"a"],[15912,0,"n"],[15913,0,"d"],[15914,0," "],[15915,0,"t"],[15916,0,"h"],[15917,0,"e"],[15918,0," "],[15919,0,"r"],[15920,0,"e"],[15921,0,"f"],[15922,0,"e"],[15923,0,"r"],[15924,0,"e"],[15925,0,"n"],[15926,0,"c"],[15927,0,"e"],[15928,0," "],[15929,0,"e"],[15930,0,"l"],[15931,0,"e"],[15932,0,"m"],[15933,0,"e"],[15934,0,"n"],[15935,0,"t"],[15936,0,","],[15937,0," "],[15938,0,"s"],[15939,0,"i"],[15940,0,"n"],[15941,0,"c"],[15942,0,"e"],[15943,0," "],[15944,0,"t"],[15945,0,"h"],[15946,0,"e"],[15947,0,"y"],[15948,0," "],[15949,0,"m"],[15950,0,"u"],[15951,0,"s"],[15952,0,"t"],[15953,0," "],[15954,0,"b"],[15955,0,"o"],[15956,0,"t"],[15957,0,"h"],[15958,0," "],[15959,0,"h"],[15960,0,"a"],[15961,0,"v"],[15962,0,"e"],[15963,0," "],[15964,0,"t"],[15965,0,"i"],[15966,0,"m"],[15967,0,"e"],[15968,0,"s"],[15969,0,"t"],[15970,0,"a"],[15971,0,"m"],[15972,0,"p"],[15973,0,"s"],[15974,0," "],[15975,0,"g"],[15976,0,"r"],[15977,0,"e"],[15978,0,"a"],[15979,0,"t"],[15980,0,"h"],[15981,0,"e"],[15982,0,"r"],[15983,0," "],[15984,0,"t"],[15985,0,"h"],[15986,0,"a"],[15986,1],[15985,1],[15984,1],[15983,1],[15982,1],[15981,1],[15980,1],[15980,0,"e"],[15981,0,"r"],[15982,0," "],[15983,0,"t"],[15984,0,"h"],[15985,0,"a"],[15986,0,"n"],[15987,0," "],[15988,0,"$"],[15989,0,"\\"],[15990,0,"m"],[15991,0,"a"],[15992,0,"t"],[15993,0,"h"],[15994,0,"i"],[15995,0,"t"],[15996,0,"{"],[15997,0,"i"],[15998,0,"d"],[15999,0,"}"],[16000,0,"$"],[16001,0,"."],[16002,0," "],[16003,0,"I"],[16004,0,"f"],[16005,0," "],[16006,0,"t"],[16007,0,"h"],[16008,0,"e"],[16009,0," "],[16010,0,"r"],[16011,0,"e"],[16012,0,"f"],[16013,0,"e"],[16014,0,"r"],[16015,0,"e"],[16016,0,"n"],[16017,0,"c"],[16018,0,"e"],[16019,0," "],[16020,0,"e"],[16021,0,"l"],[16022,0,"e"],[16023,0,"m"],[16024,0,"e"],[16025,0,"n"],[16026,0,"t"],[16027,0," "],[16028,0,"a"],[16029,0,"p"],[16030,0,"p"],[16031,0,"e"],[16032,0,"a"],[16033,0,"r"],[16034,0,"s"],[16035,0," "],[16036,0,"b"],[16037,0,"e"],[16038,0,"f"],[16039,0,"o"],[16040,0,"r"],[16041,0,"e"],[16042,0," "],[16043,0,"$"],[16044,0,"o"],[16045,0,"_"],[16046,0,"{"],[16047,0,"n"],[16048,0,"+"],[16049,0,"1"],[16050,0,"}"],[16051,0,"$"],[16052,0," "],[16053,0,"i"],[16054,0,"n"],[16055,0," "],[16056,0,"t"],[16057,0,"h"],[16058,0,"e"],[16059,0," "],[16060,0,"f"],[16061,0,"i"],[16062,0,"n"],[16063,0,"a"],[16064,0,"l"],[16065,0," "],[16066,0,"o"],[16067,0,"r"],[16068,0,"d"],[16069,0,"e"],[16070,0,"r"],[16071,0,","],[16072,0," "],[16073,0,"a"],[16074,0,"n"],[16075,0,"d"],[16076,0," "],[16077,0,"$"],[16078,0,"o"],[16079,0,"_"],[16080,0,"i"],[16081,0,"$"],[16082,0," "],[16083,0,"a"],[16084,0,"p"],[16085,0,"p"],[16086,0,"e"],[16087,0,"a"],[16088,0,"r"],[16089,0,"s"],[16090,0," "],[16091,0,"a"],[16092,0,"f"],[16093,0,"t"],[16094,0,"e"],[16095,0,"r"],[16096,0," "],[16097,0,"$"],[16098,0,"#"],[16098,1],[16098,0,"o"],[16099,0,"_"],[16100,0,"{"],[16101,0,"n"],[16102,0,"+"],[16103,0,"1"],[16104,0,"}"],[16105,0,"$"],[16106,0," "],[16107,0,"i"],[16108,0,"n"],[16109,0," "],[16110,0,"t"],[16111,0,"h"],[16112,0,"e"],[16113,0,"i"],[16113,1],[16113,0," "],[16114,0,"h"],[16115,0,"i"],[16116,0,"s"],[16117,0,"t"],[16118,0,"o"],[16119,0,"r"],[16120,0,"y"],[15803,0," "],[15804,0,"t"],[15805,0,"h"],[15806,0,"a"],[15807,0,"t"],[15808,0," "],[15809,0,"m"],[15810,0,"e"],[15811,0,"a"],[15812,0,"n"],[15813,0,"s"],[15814,0," "],[15815,0,"t"],[15816,0,"h"],[15817,0,"e"],[15818,0," "],[15819,0,"t"],[15820,0,"i"],[15821,0,"m"],[15822,0,"e"],[15823,0,"s"],[15824,0,"t"],[15825,0,"a"],[15826,0,"m"],[15827,0,"p"],[15828,0," "],[15829,0,"o"],[15830,0,"f"],[15831,0," "],[15832,0,"t"],[15833,0,"h"],[15834,0,"e"],[15835,0," "],[15836,0,"r"],[15837,0,"e"],[15838,0,"f"],[15839,0,"e"],[15840,0,"r"],[15841,0,"e"],[15842,0,"n"],[15843,0,"c"],[15844,0,"e"],[15845,0," "],[15846,0,"e"],[15847,0,"l"],[15848,0,"e"],[15849,0,"m"],[15850,0,"e"],[15851,0,"n"],[15852,0,"t"],[15853,0," "],[15854,0,"i"],[15855,0,"s"],[15856,0," "],[15857,0,"g"],[15858,0,"r"],[15859,0,"e"],[15860,0,"a"],[15861,0,"t"],[15862,0,"e"],[15863,0,"r"],[15864,0," "],[15865,0,"t"],[15866,0,"h"],[15867,0,"a"],[15868,0,"n"],[15869,0," "],[15870,0,"$"],[15871,0,"\\"],[15872,0,"m"],[15873,0,"a"],[15874,0,"t"],[15875,0,"h"],[15876,0,"i"],[15877,0,"t"],[15878,0,"{"],[15879,0,"i"],[15880,0,"d"],[15881,0,"}"],[15882,0,"$"],[15855,1],[15854,1],[15854,0,"a"],[15855,0,"n"],[15856,0,"d"],[15857,0," "],[15857,1],[15856,1],[15855,1],[15854,1],[15854,0,"i"],[15855,0,"s"],[15883,0,","],[15888,0," "],[15889,0,"s"],[15890,0,"o"],[15891,0," "],[15892,0,"t"],[15893,0,"h"],[15894,0,"e"],[15895,0," "],[15896,0,"t"],[15897,0,"i"],[15898,0,"m"],[15899,0,"e"],[15900,0,"s"],[15901,0,"t"],[15902,0,"a"],[15903,0,"m"],[15904,0,"p"],[15905,0," "],[15906,0,"o"],[15907,0,"f"],[15908,0," "],[15908,1],[15914,0," "],[15915,0,"i"],[15916,0,"s"],[15917,0," "],[15918,0,"a"],[15919,0,"l"],[15920,0,"s"],[15921,0,"o"],[15922,0," "],[15923,0,"g"],[15924,0,"r"],[15925,0,"e"],[15926,0,"a"],[15927,0,"t"],[15928,0,"e"],[15929,0,"r"],[15930,0," "],[15931,0,"t"],[15932,0,"h"],[15933,0,"a"],[15934,0,"n"],[15935,0," "],[15936,0,"$"],[15937,0,"{"],[15937,1],[15937,0,"\n"],[15937,1],[15937,0,"\\"],[15938,0,"m"],[15939,0,"a"],[15940,0,"t"],[15941,0,"h"],[15942,0,"i"],[15943,0,"t"],[15944,0,"{"],[15945,0,"i"],[15946,0,"d"],[15947,0,"}"],[15948,0,"$"],[15949,0,"."],[15950,0," "],[15951,0,"I"],[15952,0,"f"],[15953,0," "],[15954,0,"$"],[15955,0,"o"],[15956,0,"_"],[15957,0,"{"],[15958,0,"n"],[15959,0,"+"],[15960,0,"1"],[15961,0,"}"],[15962,0,"$"],[15987,1],[15986,1],[15985,1],[15984,1],[15983,1],[15982,1],[15981,1],[15980,1],[15979,1],[15978,1],[15977,1],[15976,1],[15975,1],[15974,1],[15973,1],[15972,1],[15972,0,"a"],[15973,0,"f"],[15974,0,"t"],[15975,0,"e"],[15976,0,"r"],[15977,0," "],[15978,0,"$"],[15979,0,"o"],[15980,0,"_"],[15981,0,"i"],[15982,0,"$"],[16145,1],[16144,1],[16143,1],[16142,1],[16141,1],[16140,1],[16139,1],[16138,1],[16137,1],[16136,1],[16135,1],[16134,1],[16133,1],[16132,1],[16131,1],[16130,1],[16129,1],[16128,1],[16127,1],[16126,1],[16125,1],[16124,1],[16123,1],[16122,1],[16121,1],[16120,1],[16119,1],[16118,1],[16117,1],[16116,1],[16115,1],[16114,1],[16113,1],[16112,1],[16111,1],[16110,1],[16109,1],[16108,1],[16107,1],[16106,1],[16105,1],[16104,1],[16103,1],[16102,1],[16101,1],[16100,1],[16099,1],[16098,1],[16097,1],[16096,1],[16095,1],[16094,1],[16093,1],[16092,1],[16091,1],[16090,1],[16089,1],[16088,1],[16087,1],[16086,1],[16085,1],[16084,1],[16083,1],[16082,1],[16081,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[16086,1],[15733,0," "],[15734,0,"i"],[15735,0,"f"],[15736,0," "],[15736,1],[15735,1],[15734,1],[15734,0,"I"],[15735,0,"f"],[15736,0," "],[15737,0,"t"],[15738,0,"h"],[15739,0,"e"],[15740,0," "],[15741,0,"r"],[15742,0,"e"],[15743,0,"f"],[15744,0,"e"],[15745,0,"r"],[15746,0,"e"],[15747,0,"n"],[15748,0,"c"],[15749,0,"e"],[15750,0," "],[15751,0,"e"],[15752,0,"l"],[15753,0,"e"],[15754,0,"m"],[15755,0,"e"],[15756,0,"n"],[15757,0,"t"],[15758,0," "],[15759,0,"a"],[15760,0,"p"],[15761,0,"p"],[15762,0,"e"],[15763,0,"a"],[15764,0,"r"],[15765,0,"s"],[15766,0," "],[15767,0,"a"],[15768,0,"f"],[15769,0,"t"],[15770,0,"e"],[15771,0,"r"],[15772,0," "],[15773,0,"$"],[15774,0,"o"],[15775,0,"_"],[15776,0,"{"],[15777,0,"n"],[15778,0,"+"],[15779,0,"1"],[15780,0,"}"],[15781,0,"$"],[15782,0," "],[15783,0,"i"],[15784,0,"n"],[15785,0," "],[15786,0,"t"],[15787,0,"h"],[15788,0,"e"],[15789,0," "],[15790,0,"f"],[15791,0,"i"],[15792,0,"n"],[15793,0,"a"],[15794,0,"l"],[15795,0," "],[15796,0,"o"],[15797,0,"r"],[15798,0,"d"],[15799,0,"e"],[15800,0,"r"],[15801,0,","],[15802,0," "],[15803,0,"$"],[15804,0,"o"],[15805,0,"_"],[15806,0,"i"],[15807,0,"$"],[15808,0," "],[15809,0,"a"],[15810,0,"l"],[15811,0,"s"],[15812,0,"o"],[15813,0," "],[15814,0,"a"],[15815,0,"p"],[15816,0,"p"],[15817,0,"e"],[15818,0,"a"],[15819,0,"r"],[15820,0,"s"],[15821,0," "],[15822,0,"a"],[15823,0,"f"],[15824,0,"t"],[15825,0,"e"],[15826,0,"r"],[15827,0," "],[15828,0,"$"],[15829,0,"o"],[15830,0,"_"],[15831,0,"{"],[15832,0,"n"],[15833,0,"+"],[15834,0,"1"],[15835,0,"}"],[15836,0,"$"],[15837,0,","],[15838,0," "],[15839,0,"r"],[15840,0,"e"],[15841,0,"g"],[15842,0,"a"],[15843,0,"r"],[15844,0,"d"],[15845,0,"l"],[15846,0,"e"],[15847,0,"s"],[15848,0,"s"],[15849,0," "],[15850,0,"o"],[15851,0,"f"],[15852,0," "],[15853,0,"t"],[15854,0,"h"],[15855,0,"e"],[15856,0," "],[15857,0,"o"],[15858,0,"r"],[15859,0,"d"],[15860,0,"e"],[15861,0,"r"],[15862,0," "],[15863,0,"o"],[15864,0,"f"],[15865,0," "],[15865,1],[15864,1],[15863,1],[15862,1],[15862,0," "],[15863,0,"i"],[15864,0,"n"],[15865,0," "],[15866,0,"w"],[15867,0,"h"],[15868,0,"i"],[15869,0,"c"],[15870,0,"h"],[15871,0," "],[15872,0,"o"],[15873,0,"p"],[15874,0,"e"],[15875,0,"r"],[15876,0,"a"],[15877,0,"t"],[15878,0,"i"],[15879,0,"o"],[15880,0,"n"],[15881,0,"s"],[15882,0," "],[15883,0,"a"],[15884,0,"r"],[15885,0,"e"],[15886,0," "],[15887,0,"a"],[15888,0,"p"],[15889,0,"p"],[15890,0,"l"],[15891,0,"i"],[15892,0,"e"],[15893,0,"d"],[15894,0,"."],[15895,1],[15895,0,"\n"],[15896,0,"\n"],[16293,0,","],[16294,0," "],[16295,0,"t"],[16296,0,"h"],[16297,0,"e"],[16298,0," "],[16299,0,"a"],[16300,0,"p"],[16301,0,"p"],[16302,0,"l"],[16303,0,"y"],[16304,0," "],[16305,0,"r"],[16306,0,"u"],[16307,0,"l"],[16308,0,"e"],[16309,0," "],[16310,0,"f"],[16311,0,"o"],[16312,0,"r"],[16313,0," "],[16314,0,"$"],[16315,0,"o"],[16316,0,"_"],[16317,0,"i"],[16318,0,"$"],[16319,0," "],[16320,0,"d"],[16321,0,"o"],[16322,0,"e"],[16323,0,"s"],[16324,0," "],[16325,0,"n"],[16326,0,"o"],[16327,0,"t"],[16328,0," "],[16329,0,"s"],[16330,0,"k"],[16331,0,"i"],[16332,0,"p"],[16333,0," "],[16334,0,"o"],[16335,0,"v"],[16336,0,"e"],[16337,0,"r"],[16338,0," "],[16339,0,"$"],[16340,0,"o"],[16341,0,"_"],[16342,0,"{"],[16343,0,"n"],[16344,0,"+"],[16345,0,"1"],[16346,0,"}"],[16347,0,"$"],[16338,0," "],[16339,0,"t"],[16340,0,"h"],[16341,0,"e"],[16342,0," "],[16343,0,"l"],[16344,0,"i"],[16345,0,"s"],[16346,0,"t"],[16347,0," "],[16348,0,"e"],[16349,0,"l"],[16350,0,"e"],[16351,0,"m"],[16352,0,"e"],[16353,0,"n"],[16354,0,"t"],[16355,0," "],[16356,0,"f"],[16357,0,"o"],[16358,0,"r"],[16369,0,","],[16370,0," "],[16371,0,"b"],[16372,0,"e"],[16373,0,"c"],[16374,0,"a"],[16375,0,"u"],[16376,0,"s"],[16377,0,"e"],[16378,0," "],[16371,0,"a"],[16372,0,"g"],[16373,0,"a"],[16374,0,"i"],[16375,0,"n"],[16376,0," "],[16385,0,"t"],[16386,0,"h"],[16387,0,"e"],[16388,0," "],[16389,0,"t"],[16390,0,"i"],[16391,0,"m"],[16392,0,"e"],[16393,0,"s"],[16394,0,"t"],[16395,0,"a"],[16396,0,"m"],[16397,0,"p"],[16398,0," "],[16399,0,"f"],[16400,0,"o"],[16401,0,"r"],[16402,0," "],[16403,0,"$"],[16404,0,"o"],[16405,0,"_"],[16406,0,"i"],[16407,0,"$"],[16408,0," "],[16409,0,"i"],[16410,0,"s"],[16411,0," "],[16412,0,"g"],[16413,0,"r"],[16414,0,"e"],[16415,0,"a"],[16416,0,"t"],[16417,0,"h"],[16418,0,"e"],[16419,0,"r"],[16420,0," "],[16421,0,"t"],[16422,0,"h"],[16423,0,"a"],[16424,0,"n"],[16424,1],[16423,1],[16422,1],[16421,1],[16420,1],[16419,1],[16418,1],[16417,1],[16417,0,"e"],[16418,0,"r"],[16419,0," "],[16420,0,"t"],[16421,0,"h"],[16422,0,"a"],[16423,0,"n"],[16424,0," "],[16425,0,"$"],[16426,0,"\\"],[16427,0,"m"],[16428,0,"a"],[16429,0,"t"],[16430,0,"h"],[16431,0,"i"],[16432,0,"t"],[16433,0,"{"],[16434,0,"i"],[16435,0,"d"],[16436,0,"}"],[16437,0,"$"],[16438,0,"."],[16439,0," "],[16440,0,"E"],[16441,0,"i"],[16442,0,"t"],[16443,0,"h"],[16444,0,"e"],[16445,0,"r"],[16446,0," "],[16447,0,"w"],[16448,0,"a"],[16449,0,"y"],[16450,0,","],[16451,0," "],[16452,0,"b"],[16453,0,"o"],[16454,0,"t"],[16455,0,"h"],[16456,0," "],[16456,1],[16455,1],[16454,1],[16453,1],[16452,1],[16452,0,"i"],[16453,0,"f"],[16454,0," "],[16455,0,"t"],[16456,0,"h"],[16457,0,"e"],[16458,0," "],[16459,0,"r"],[16460,0,"e"],[16461,0,"f"],[16462,0,"e"],[16463,0,"r"],[16464,0,"e"],[16465,0,"n"],[16466,0,"c"],[16467,0,"e"],[16468,0," "],[16469,0,"e"],[16470,0,"l"],[16471,0,"e"],[16472,0,"m"],[16473,0,"e"],[16474,0,"n"],[16475,0,"t"],[16476,0," "],[16477,0,"a"],[16478,0,"p"],[16479,0,"p"],[16480,0,"e"],[16481,0,"a"],[16482,0,"r"],[16483,0,"s"],[16484,0," "],[16485,0,"b"],[16486,0,"e"],[16487,0,"f"],[16488,0,"o"],[16489,0,"r"],[16490,0,"e"],[16491,0," "],[16492,0,"$"],[16493,0,"o"],[16494,0,"_"],[16495,0,"["],[16495,1],[16495,0,"{"],[16496,0,"n"],[16497,0,"+"],[16498,0,"1"],[16499,0,"}"],[16500,0,"$"],[16501,0," "],[16502,0,"i"],[16503,0,"n"],[16504,0," "],[16505,0,"t"],[16506,0,"h"],[16507,0,"e"],[16508,0," "],[16509,0,"f"],[16510,0,"i"],[16511,0,"n"],[16512,0,"a"],[16513,0,"l"],[16514,0," "],[16515,0,"o"],[16516,0,"r"],[16517,0,"d"],[16518,0,"e"],[16519,0,"r"],[16520,0,","],[16521,0," "],[16522,0,"s"],[16523,0,"o"],[16524,0," "],[16525,0,"d"],[16526,0,"o"],[16527,0,"e"],[16528,0,"s"],[16529,0," "],[16530,0,"$"],[16531,0,"o"],[16532,0,"_"],[16533,0,"i"],[16534,0,"$"],[16535,0,","],[16536,0," "],[16537,0,"r"],[16538,0,"e"],[16539,0,"g"],[16540,0,"a"],[16541,0,"r"],[16542,0,"d"],[16543,0,"l"],[16544,0,"e"],[16545,0,"s"],[16546,0,"s"],[16547,0," "],[16548,0,"o"],[16549,0,"f"],[16550,0," "],[16551,0,"t"],[16552,0,"h"],[16553,0,"e"],[16554,0," "],[16555,0,"o"],[16556,0,"r"],[16557,0,"d"],[16558,0,"e"],[16559,0,"r"],[16560,0," "],[16561,0,"i"],[16562,0,"n"],[16563,0," "],[16564,0,"w"],[16565,0,"h"],[16566,0,"i"],[16567,0,"c"],[16568,0,"h"],[16569,0," "],[16570,0,"a"],[16570,1],[16570,0,"o"],[16571,0,"p"],[16572,0,"e"],[16573,0,"r"],[16574,0,"a"],[16575,0,"t"],[16576,0,"i"],[16577,0,"o"],[16578,0,"n"],[16579,0,"s"],[16580,0," "],[16581,0,"a"],[16582,0,"r"],[16583,0,"e"],[16584,0," "],[16585,0,"a"],[16586,0,"p"],[16587,0,"p"],[16588,0,"l"],[16589,0,"i"],[16590,0,"e"],[16591,0,"d"],[16592,0,"."],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,1],[16595,0,"T"],[16596,0,"O"],[16597,0,"D"],[16598,0,"O"],[16599,0," "],[16600,0,"t"],[16601,0,"h"],[16602,0,"a"],[16603,0,"t"],[16604,0," "],[16605,0,"l"],[16606,0,"a"],[16607,0,"s"],[16608,0,"t"],[16609,0," "],[16610,0,"b"],[16611,0,"i"],[16612,0,"t"],[16613,0," "],[16614,0,"o"],[16615,0,"f"],[16616,0," "],[16617,0,"t"],[16618,0,"h"],[16619,0,"e"],[16620,0," "],[16621,0,"a"],[16622,0,"r"],[16623,0,"g"],[16624,0,"u"],[16625,0,"m"],[16626,0,"e"],[16627,0,"n"],[16628,0,"t"],[16629,0," "],[16630,0,"i"],[16631,0,"s"],[16632,0," "],[16633,0,"a"],[16634,0," "],[16635,0,"b"],[16636,0,"i"],[16637,0,"t"],[16638,0," "],[16639,0,"h"],[16640,0,"a"],[16641,0,"n"],[16642,0,"d"],[16643,0,"-"],[16644,0,"w"],[16645,0,"a"],[16646,0,"v"],[16647,0,"y"],[16648,0,","],[16649,0," "],[16650,0,"n"],[16651,0,"e"],[16652,0,"e"],[16653,0,"d"],[16654,0," "],[16655,0,"t"],[16656,0,"o"],[16657,0," "],[16658,0,"m"],[16659,0,"a"],[16660,0,"k"],[16661,0,"e"],[16662,0," "],[16663,0,"i"],[16664,0,"t"],[16665,0," "],[16666,0,"m"],[16667,0,"o"],[16668,0,"r"],[16669,0,"e"],[16670,0," "],[16671,0,"p"],[16672,0,"r"],[16673,0,"e"],[16674,0,"c"],[16675,0,"i"],[16676,0,"s"],[16677,0,"e"],[16678,0,"."],[16679,0," "],[16680,0,"B"],[16681,0,"u"],[16682,0,"t"],[16683,0," "],[16684,0,"I"],[16685,0," "],[16686,0,"t"],[16687,0,"h"],[16688,0,"i"],[16689,0,"n"],[16690,0,"k"],[16691,0," "],[16692,0,"t"],[16693,0,"h"],[16694,0,"e"],[16695,0," "],[16696,0,"g"],[16697,0,"e"],[16698,0,"n"],[16699,0,"e"],[16700,0,"r"],[16701,0,"a"],[16702,0,"l"],[16703,0," "],[16704,0,"a"],[16705,0,"p"],[16706,0,"p"],[16707,0,"r"],[16708,0,"o"],[16709,0,"a"],[16710,0,"c"],[16711,0,"h"],[16712,0," "],[16713,0,"i"],[16714,0,"s"],[16715,0," "],[16716,0,"o"],[16717,0,"k"],[16718,0,"."],[16719,0," "],[16720,0,"T"],[16721,0,"h"],[16722,0,"a"],[16723,0,"t"],[16724,0," "],[16725,0,"c"],[16726,0,"o"],[16727,0,"m"],[16728,0,"p"],[16729,0,"l"],[16730,0,"e"],[16731,0,"t"],[16732,0,"e"],[16733,0,"s"],[16734,0," "],[16735,0,"t"],[16736,0,"h"],[16737,0,"e"],[16738,0," "],[16739,0,"i"],[16740,0,"n"],[16741,0,"d"],[16742,0,"u"],[16743,0,"c"],[16744,0,"t"],[16745,0,"i"],[16746,0,"o"],[16747,0,"n"],[16748,0," "],[16749,0,"s"],[16750,0,"t"],[16751,0,"e"],[16752,0,"p"],[16753,0,","],[16754,0," "],[16755,0,"a"],[16756,0,"n"],[16757,0,"d"],[16758,0," "],[16759,0,"t"],[16760,0,"h"],[16761,0,"u"],[16762,0,"s"],[16763,0," "],[16764,0,"t"],[16765,0,"h"],[16766,0,"e"],[16767,0," "],[16768,0,"p"],[16769,0,"r"],[16770,0,"o"],[16771,0,"o"],[16772,0,"f"],[16773,0,"."],[16774,1],[16774,1],[3942,0,"\n"],[3943,0,"\n"],[3944,0,"\\"],[3945,0,"b"],[3946,0,"e"],[3947,0,"g"],[3948,0,"i"],[3949,0,"n"],[3950,0,"{"],[3951,0,"f"],[3952,0,"i"],[3953,0,"g"],[3954,0,"u"],[3955,0,"r"],[3956,0,"e"],[3957,0,"*"],[3958,0,"}"],[3959,0,"\n"],[3960,0,"\\"],[3961,0,"e"],[3962,0,"n"],[3963,0,"d"],[3964,0,"{"],[3965,0,"f"],[3966,0,"i"],[3967,0,"g"],[3968,0,"u"],[3969,0,"r"],[3970,0,"e"],[3971,0,"*"],[3972,0,"}"],[3959,0,"\n"],[3960,0,"\\"],[3961,0,"c"],[3962,0,"a"],[3963,0,"p"],[3964,0,"t"],[3965,0,"u"],[3965,1],[3965,0,"i"],[3966,0,"o"],[3967,0,"n"],[3968,0,"{"],[3969,0,"R"],[3970,0,"u"],[3971,0,"l"],[3972,0,"e"],[3973,0,"s"],[3974,0," "],[3975,0,"f"],[3976,0,"o"],[3977,0,"r"],[3978,0," "],[3979,0,"m"],[3980,0,"u"],[3981,0,"t"],[3982,0,"a"],[3983,0,"t"],[3984,0,"i"],[3985,0,"n"],[3986,0,"g"],[3987,0," "],[3988,0,"a"],[3989,0,"n"],[3990,0," "],[3991,0,"o"],[3992,0,"r"],[3993,0,"d"],[3994,0,"e"],[3995,0,"r"],[3996,0,"e"],[3997,0,"d"],[3998,0," "],[3999,0,"l"],[4000,0,"i"],[4001,0,"s"],[4002,0,"t"],[4003,0,"}"],[4004,0,"\n"],[4005,0,"\\"],[4006,0,"l"],[4007,0,"a"],[4008,0,"b"],[4009,0,"e"],[4010,0,"l"],[4011,0,"{"],[4012,0,"f"],[4013,0,"i"],[4014,0,"g"],[4015,0,":"],[4016,0,"r"],[4017,0,"g"],[4018,0,"a"],[4019,0,"-"],[4020,0,"r"],[4021,0,"u"],[4022,0,"l"],[4023,0,"e"],[4024,0,"s"],[4025,0,"}"],[168,0,"\n"],[169,0,"\\"],[170,0,"u"],[171,0,"s"],[172,0,"e"],[173,0,"p"],[174,0,"a"],[175,0,"c"],[176,0,"k"],[177,0,"a"],[178,0,"g"],[179,0,"e"],[180,0,"{"],[181,0,"p"],[182,0,"a"],[182,1],[181,1],[181,0,"m"],[182,0,"a"],[183,0,"t"],[184,0,"h"],[185,0,"p"],[186,0,"a"],[187,0,"r"],[188,0,"t"],[189,0,"i"],[190,0,"r"],[191,0,"}"],[192,0," "],[193,0,"%"],[194,0," "],[195,0,"i"],[196,0,"n"],[197,0,"f"],[198,0,"e"],[199,0,"r"],[200,0,"e"],[201,0,"n"],[202,0,"c"],[203,0,"e"],[204,0," "],[205,0,"r"],[206,0,"u"],[207,0,"l"],[208,0,"e"],[209,0,"s"],[195,0,"n"],[196,0,"o"],[197,0,"t"],[198,0,"a"],[199,0,"t"],[200,0,"i"],[201,0,"o"],[202,0,"n"],[203,0," "],[204,0,"f"],[205,0,"o"],[206,0,"r"],[207,0," "],[4014,0,"\n"],[4015,0,"\\"],[4016,0,"i"],[4017,0,"n"],[4018,0,"f"],[4019,0,"e"],[4020,0,"r"],[4021,0,"r"],[4022,0,"u"],[4023,0,"l"],[4024,0,"e"],[4025,0,"["],[4026,0,"i"],[4027,0,"n"],[4028,0,"s"],[4029,0,"e"],[4030,0,"r"],[4031,0,"t"],[4032,0,"]"],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,0,"s"],[182,0,"e"],[183,0,"m"],[184,0,"a"],[185,0,"n"],[186,0,"t"],[187,0,"i"],[188,0,"c"],[4031,0,"\n"],[4032,0,"\\"],[4033,0,"i"],[4034,0,"n"],[4035,0,"f"],[4036,0,"e"],[4037,0,"r"],[4038,0,"e"],[4039,0,"n"],[4040,0,"c"],[4041,0,"e"],[4042,0,"["],[4043,0,"i"],[4044,0,"n"],[4045,0,"s"],[4046,0,"e"],[4047,0,"r"],[4048,0,"t"],[4048,1],[4047,1],[4046,1],[4045,1],[4044,1],[4043,1],[4043,0,"I"],[4044,0,"n"],[4045,0,"s"],[4046,0,"e"],[4047,0,"r"],[4048,0,"t"],[4049,0,"]"],[4030,1],[4029,1],[4028,1],[4027,1],[4026,1],[4025,1],[4024,1],[4023,1],[4022,1],[4021,1],[4020,1],[4019,1],[4018,1],[4017,1],[4016,1],[4015,1],[4014,1],[4013,1],[4012,1],[4031,0,"{"],[4032,0,"\n"],[4033,0," "],[4034,0," "],[4035,0," "],[4036,0," "],[4037,0,"\\"],[4038,0,"e"],[4039,0,"x"],[4040,0,"i"],[4041,0,"s"],[4042,0,"t"],[4043,0,"s"],[4044,0," "],[390,0,"\n"],[391,0,"\\"],[392,0,"r"],[393,0,"e"],[394,0,"n"],[395,0,"e"],[396,0,"w"],[397,0,"c"],[398,0,"o"],[399,0,"m"],[400,0,"m"],[401,0,"a"],[402,0,"n"],[403,0,"d"],[404,0,"{"],[405,0,"\\"],[406,0,"p"],[407,0,"r"],[408,0,"e"],[409,0,"d"],[410,0,"i"],[411,0,"a"],[412,0,"t"],[413,0,"e"],[414,0,"}"],[415,0,"["],[416,0,"1"],[417,0,"]"],[418,0,"{"],[419,0,"$"],[420,0," "],[421,0,"#"],[422,0,"1"],[423,0," "],[424,0,"$"],[425,0,"}"],[426,0,"\n"],[390,0,"\n"],[391,0,"$"],[392,0," "],[392,1],[391,1],[391,0,"%"],[392,0," "],[393,0,"F"],[394,0,"o"],[395,0,"r"],[396,0," "],[397,0,"s"],[398,0,"e"],[399,0,"m"],[400,0,"a"],[401,0,"n"],[402,0,"t"],[403,0,"i"],[404,0,"c"],[405,0," "],[406,0,"p"],[407,0,"a"],[408,0,"c"],[409,0,"k"],[410,0,"a"],[411,0,"g"],[412,0,"e"],[413,0,","],[414,0," "],[415,0,"u"],[416,0,"s"],[417,0,"e"],[418,0," "],[419,0,"m"],[420,0,"a"],[421,0,"t"],[422,0,"h"],[423,0," "],[424,0,"m"],[425,0,"o"],[426,0,"d"],[427,0,"e"],[428,0," "],[429,0,"f"],[430,0,"o"],[431,0,"r"],[432,0," "],[433,0,"a"],[434,0,"l"],[435,0,"l"],[436,0," "],[437,0,"p"],[438,0,"r"],[439,0,"e"],[440,0,"m"],[441,0,"i"],[442,0,"s"],[443,0,"e"],[444,0,"s"],[445,0," "],[445,1],[444,1],[443,1],[442,1],[441,1],[440,1],[439,1],[438,1],[437,1],[436,1],[435,1],[434,1],[433,1],[432,1],[431,1],[430,1],[429,1],[428,1],[428,0," "],[429,0,"w"],[430,0,"i"],[431,0,"t"],[432,0,"h"],[433,0,"i"],[434,0,"n"],[435,0," "],[436,0,"i"],[437,0,"n"],[438,0,"f"],[439,0,"e"],[440,0,"r"],[441,0,"e"],[442,0,"n"],[443,0,"c"],[444,0,"e"],[445,0," "],[446,0,"r"],[447,0,"u"],[448,0,"l"],[449,0,"e"],[450,0,"s"],[472,0,"c"],[4144,0,"v"],[4145,0,"P"],[4145,1],[4145,0,"_"],[4146,0,"p"],[4147,0,","],[4148,0," "],[4149,0,"\\"],[4150,0,"m"],[4151,0,"a"],[4152,0,"t"],[4153,0,"h"],[4154,0,"i"],[4155,0,"t"],[4156,0,"{"],[4157,0,"n"],[4158,0,"e"],[4159,0,"x"],[4160,0,"t"],[4161,0,"}"],[4162,0,"."],[4163,0," "],[4164,0,"A"],[4165,0,"("],[4166,0,"\\"],[4167,0,"m"],[4168,0,"a"],[4169,0,"t"],[4170,0,"h"],[4171,0,"i"],[4172,0,"t"],[4173,0,"{"],[4174,0,"p"],[4175,0,"r"],[4176,0,"e"],[4177,0,"v"],[4178,0,"}"],[4179,0,")"],[4180,0," "],[4181,0,"="],[4182,0," "],[4183,0,"("],[4184,0,"v"],[4185,0,"_"],[4186,0,"p"],[4187,0,","],[4188,0," "],[4189,0,"\\"],[4190,0,"n"],[4190,1],[4190,0,"m"],[4191,0,"a"],[4192,0,"t"],[4193,0,"h"],[4194,0,"i"],[4195,0,"t"],[4196,0,"{"],[4197,0,"n"],[4198,0,"e"],[4199,0,"x"],[4200,0,"t"],[4201,0,"}"],[4202,0,")"],[4203,0," "],[4204,0,"&"],[4205,0," "],[4206,0,"\\"],[4207,0,"m"],[4208,0,"a"],[4209,0,"t"],[4210,0,"h"],[4211,0,"i"],[4212,0,"t"],[4213,0,"{"],[4214,0,"i"],[4215,0,"d"],[4216,0,"}"],[4217,0," "],[4218,0,"<"],[4219,0," "],[4220,0,"\\"],[4221,0,"m"],[4222,0,"a"],[4223,0,"t"],[4224,0,"h"],[4225,0,"i"],[4226,0,"t"],[4227,0,"{"],[4228,0,"n"],[4229,0,"e"],[4230,0,"x"],[4231,0,"t"],[4232,0,"}"],[4233,0,"\n"],[4234,0,"}"],[4235,0,"{"],[4236,0,"\n"],[4237,0," "],[4238,0," "],[4239,0," "],[4240,0," "],[4241,0,"A"],[4242,0,","],[4243,0," "],[4244,0,"\\"],[4245,0,"m"],[4246,0,"a"],[4247,0,"t"],[4248,0,"h"],[4249,0,"r"],[4250,0,"m"],[4251,0,"{"],[4252,0,"a"],[4253,0,"p"],[4254,0,"p"],[4255,0,"l"],[4256,0,"y"],[4257,0,"}"],[4258,0,"("],[4258,1],[4257,1],[4256,1],[4255,1],[4254,1],[4253,1],[4252,1],[4251,1],[4250,1],[4249,1],[4248,1],[4247,1],[4246,1],[4245,1],[4244,1],[4244,0,"\\"],[4245,0,"m"],[4246,0,"a"],[4247,0,"t"],[4248,0,"h"],[4249,0,"s"],[4250,0,"f"],[4251,0,"{"],[4252,0,"i"],[4253,0,"n"],[4254,0,"s"],[4255,0,"e"],[4256,0,"r"],[4257,0,"t"],[4258,0,"}"],[4259,0,"("],[4260,0,"\\"],[4261,0,"m"],[4262,0,"a"],[4263,0,"t"],[4264,0,"h"],[4265,0,"i"],[4266,0,"t"],[4267,0,"{"],[4268,0,"i"],[4269,0,"d"],[4270,0,"}"],[4271,0,","],[4272,0," "],[4273,0,"\\"],[4274,0,"m"],[4275,0,"a"],[4276,0,"t"],[4277,0,"h"],[4278,0,"i"],[4279,0,"t"],[4280,0,"{"],[4281,0,"p"],[4282,0,"r"],[4283,0,"e"],[4284,0,"v"],[4285,0,"}"],[4286,0,","],[4287,0," "],[4288,0,"v"],[4289,0,")"],[4290,0," "],[4291,0,"="],[4292,0,"="],[4293,0,">"],[4294,0," "],[4295,0,"A"],[4296,0,"'"],[4233,0," "],[4234,0,"&"],[4235,0,"\n"],[4236,0," "],[4237,0," "],[4238,0," "],[4239,0," "],[4240,0,"A"],[4241,0,","],[4242,0," "],[4243,0,"\\"],[4244,0,"m"],[4245,0,"a"],[4246,0,"t"],[4247,0,"h"],[4248,0,"s"],[4249,0,"f"],[4250,0,"{"],[4251,0,"i"],[4252,0,"n"],[4253,0,"s"],[4254,0,"e"],[4255,0,"r"],[4256,0,"t"],[4257,0,"}"],[4258,0,"("],[4259,0,"\\"],[4260,0,"m"],[4261,0,"a"],[4262,0,"t"],[4263,0,"h"],[4264,0,"i"],[4265,0,"t"],[4266,0,"{"],[4267,0,"i"],[4268,0,"d"],[4269,0,"}"],[4270,0,","],[4271,0," "],[4272,0,"\\"],[4273,0,"m"],[4274,0,"a"],[4275,0,"t"],[4276,0,"h"],[4277,0,"i"],[4278,0,"t"],[4279,0,"{"],[4280,0,"n"],[4281,0,"e"],[4282,0,"x"],[4283,0,"t"],[4284,0,"}"],[4285,0,","],[4286,0," "],[4287,0,"v"],[4288,0,")"],[4289,0," "],[4290,0,"="],[4291,0,"="],[4292,0,">"],[4293,0," "],[4294,0,"A"],[4295,0,"'"],[4360,0,"\n"],[4361,0,"}"],[4163,0,"\\"],[4164,0,";"],[4164,1],[4163,1],[4162,1],[4162,0," "],[4163,0,"\\"],[4164,0,"m"],[4165,0,"a"],[4166,0,"t"],[4167,0,"h"],[4168,0,"b"],[4169,0,"i"],[4170,0,"n"],[4171,0,"{"],[4172,0,":"],[4173,0,"}"],[4303,1],[4302,1],[4301,1],[4300,1],[4300,0," "],[4301,0,"\\"],[4302,0,"e"],[4303,0,"v"],[4304,0,"a"],[4305,0,"l"],[4306,0,"t"],[4307,0,"o"],[4371,1],[4370,1],[4369,1],[4368,1],[4368,0," "],[4369,0,"\\"],[4370,0,"e"],[4371,0,"v"],[4372,0,"a"],[4373,0,"l"],[4374,0,"t"],[4375,0,"o"],[572,0,"{"],[585,0,"}"],[488,0,"\n"],[489,0,"\n"],[490,0,"\\"],[491,0,"n"],[492,0,"e"],[493,0,"w"],[494,0,"c"],[495,0,"o"],[496,0,"m"],[497,0,"m"],[498,0,"a"],[499,0,"n"],[500,0,"d"],[501,0,"{"],[502,0,"\\"],[503,0,"e"],[504,0,"v"],[505,0,"a"],[506,0,"l"],[507,0,"t"],[508,0,"o"],[509,0,"}"],[510,0,"{"],[511,0,"\\"],[512,0,"q"],[513,0,"u"],[514,0,"a"],[515,0,"d"],[516,0,"\\"],[517,0,"L"],[518,0,"o"],[519,0,"n"],[520,0,"g"],[521,0,"r"],[522,0,"i"],[523,0,"g"],[524,0,"h"],[525,0,"t"],[526,0,"a"],[527,0,"r"],[528,0,"r"],[529,0,"o"],[530,0,"w"],[531,0,"\\"],[532,0,"q"],[533,0,"u"],[534,0,"a"],[535,0,"d"],[536,0,"}"],[515,1],[514,1],[513,1],[512,1],[512,0,";"],[529,1],[529,1],[529,1],[529,1],[529,0,";"],[452,0,"%"],[488,1],[487,1],[486,1],[485,1],[484,1],[483,1],[482,1],[481,1],[480,1],[479,1],[478,1],[477,1],[476,1],[475,1],[474,1],[473,1],[472,1],[471,1],[470,1],[469,1],[468,1],[467,1],[466,1],[465,1],[464,1],[463,1],[462,1],[461,1],[460,1],[459,1],[458,1],[457,1],[456,1],[455,1],[454,1],[453,1],[452,1],[451,1],[450,1],[449,1],[448,1],[447,1],[446,1],[445,1],[444,1],[443,1],[442,1],[441,1],[440,1],[439,1],[438,1],[437,1],[436,1],[435,1],[434,1],[433,1],[432,1],[431,1],[430,1],[429,1],[428,1],[427,1],[426,1],[425,1],[424,1],[423,1],[422,1],[421,1],[420,1],[419,1],[418,1],[417,1],[416,1],[415,1],[414,1],[413,1],[412,1],[411,1],[410,1],[409,1],[408,1],[407,1],[406,1],[405,1],[404,1],[403,1],[402,1],[401,1],[400,1],[399,1],[398,1],[397,1],[396,1],[395,1],[394,1],[393,1],[392,1],[391,1],[390,1],[389,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,0,"m"],[182,0,"a"],[183,0,"t"],[184,0,"h"],[185,0,"p"],[186,0,"a"],[187,0,"r"],[188,0,"t"],[189,0,"i"],[190,0,"t"],[190,1],[190,0,"r"],[4069,1],[4068,1],[4067,1],[4066,1],[4066,0,"r"],[4067,0,"u"],[4068,0,"l"],[4069,0,"e"],[4163,1],[4163,0,"\\"],[4164,0,"\\"],[4165,0,"\n"],[4166,0," "],[4167,0," "],[4168,0," "],[4169,0," "],[4169,1],[4198,1],[4198,0,"\\"],[4199,0,"\\"],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,1],[181,0,"b"],[182,0,"u"],[183,0,"s"],[184,0,"s"],[185,0,"p"],[186,0,"r"],[187,0,"o"],[188,0,"o"],[189,0,"f"],[190,0,"s"],[191,0,"q"],[191,1],[4044,0,"\n"],[4044,1],[4060,0,"\n"],[4060,0,"\\"],[4061,0,"b"],[4062,0,"e"],[4063,0,"g"],[4064,0,"i"],[4065,0,"n"],[4066,0,"{"],[4067,0,"p"],[4068,0,"r"],[4069,0,"o"],[4070,0,"o"],[4071,0,"f"],[4072,0,"t"],[4073,0,"r"],[4074,0,"e"],[4075,0,"e"],[4076,0,"}"],[4096,1],[4095,1],[4094,1],[4093,1],[4092,1],[4091,1],[4090,1],[4089,1],[4088,1],[4087,1],[4086,1],[4085,1],[4084,1],[4083,1],[4082,1],[4081,1],[4080,1],[4079,1],[4078,1],[4078,1],[4078,1],[4078,1],[4078,1],[4078,1],[4078,0," "],[4079,0," "],[4080,0," "],[4081,0," "],[4082,0,"\\"],[4083,0,"A"],[4084,0,"x"],[4085,0,"i"],[4086,0,"o"],[4087,0,"m"],[4088,0,"C"],[4089,0,"{"],[4090,0,"$"],[4171,1],[4170,1],[4169,1],[4169,0,"}"],[4175,0,"\\"],[4176,0,"A"],[4177,0,"x"],[4178,0,"i"],[4179,0,"o"],[4180,0,"m"],[4181,0,"C"],[4182,0,"{"],[4212,1],[4211,1],[4210,1],[4210,0,"}"],[4216,0,"\\"],[4217,0,"A"],[4218,0,"x"],[4219,0,"i"],[4220,0,"o"],[4221,0,"m"],[4222,0,"C"],[4223,0,"{"],[4284,0,"}"],[4284,0,"$"],[4224,0,"$"],[4183,0,"$"],[4211,0,"$"],[4291,1],[4290,1],[4290,0," "],[4291,0," "],[4292,0," "],[4293,0," "],[4294,0,"\\"],[4295,0,"T"],[4296,0,"r"],[4297,0,"i"],[4298,0,"n"],[4299,0,"a"],[4300,0,"r"],[4301,0,"y"],[4302,0,"I"],[4303,0,"n"],[4304,0,"f"],[4305,0,"C"],[4306,0,"{"],[4307,1],[4307,1],[4307,1],[4307,1],[4307,1],[4307,0,"$"],[4368,0,"$"],[4369,0,"}"],[4371,1],[4371,0,"\\"],[4372,0,"e"],[4373,0,"n"],[4374,0,"d"],[4375,0,"{"],[4376,0,"p"],[4377,0,"r"],[4378,0,"o"],[4379,0,"o"],[4380,0,"f"],[4381,0,"t"],[4382,0,"r"],[4383,0,"e"],[4384,0,"e"],[4385,0,"}"],[4169,0,"$"],[4128,1],[4127,1],[4126,1],[4125,1],[4124,1],[4123,1],[4122,1],[4121,1],[4120,1],[4119,1],[4118,1],[4117,1],[4117,0,"."],[4118,0,"\\"],[4119,0,";"],[4281,0,"\n"],[4282,0," "],[4283,0," "],[4284,0," "],[4285,0," "],[4286,0,"\\"],[4287,0,"L"],[4288,0,"e"],[4289,0,"f"],[4290,0,"t"],[4291,0,"L"],[4292,0,"a"],[4293,0,"b"],[4294,0,"e"],[4295,0,"l"],[4296,0,"{"],[4297,0,"\\"],[4298,0,"t"],[4299,0,"e"],[4300,0,"x"],[4301,0,"t"],[4302,0,"s"],[4303,0,"c"],[4304,0,"{"],[4305,0,"I"],[4306,0,"n"],[4307,0,"s"],[4308,0,"e"],[4309,0,"r"],[4310,0,"t"],[4311,0,"}"],[4312,0,"}"],[4059,0,"\n"],[4060,0,"\\"],[4061,0,"b"],[4062,0,"e"],[4063,0,"g"],[4064,0,"i"],[4065,0,"n"],[4066,0,"{"],[4067,0,"p"],[4068,0,"r"],[4069,0,"o"],[4070,0,"o"],[4071,0,"f"],[4072,0,"t"],[4073,0,"r"],[4074,0,"e"],[4075,0,"e"],[4076,0,"}"],[4077,0,"\n"],[4078,0,"}"],[4078,1],[4078,0,"\\"],[4079,0,"e"],[4080,0,"n"],[4081,0,"d"],[4082,0,"{"],[4083,0,"p"],[4084,0,"r"],[4085,0,"o"],[4086,0,"o"],[4087,0,"f"],[4088,0,"t"],[4089,0,"r"],[4090,0,"e"],[4091,0,"e"],[4092,0,"}"],[4093,0,"\n"],[4077,0,"\n"],[4078,0," "],[4079,0," "],[4080,0," "],[4081,0," "],[4082,0,"\\"],[4083,0,"A"],[4084,0,"x"],[4085,0,"i"],[4086,0,"o"],[4087,0,"m"],[4088,0,"C"],[4089,0,"{"],[4090,0,"$"],[4091,0,"\\"],[4092,0,"e"],[4093,0,"x"],[4094,0,"i"],[4095,0,"s"],[4096,0,"t"],[4097,0,"s"],[4098,0," "],[4099,0,"v"],[4100,0,"_"],[4101,0,"p"],[4102,0,","],[4103,0," "],[4104,0,"\\"],[4105,0,"m"],[4106,0,"a"],[4107,0,"t"],[4108,0,"h"],[4109,0,"i"],[4110,0,"t"],[4111,0,"{"],[4112,0,"n"],[4113,0,"e"],[4114,0,"x"],[4115,0,"t"],[4116,0,"}"],[4117,0,"."],[4118,0,"\\"],[4119,0,";"],[4120,0," "],[4121,0,"A"],[4122,0,"("],[4123,0,"\\"],[4124,0,"m"],[4125,0,"a"],[4126,0,"t"],[4127,0,"h"],[4128,0,"i"],[4129,0,"t"],[4130,0,"{"],[4131,0,"p"],[4132,0,"r"],[4133,0,"e"],[4134,0,"v"],[4135,0,"}"],[4136,0,")"],[4137,0," "],[4138,0,"="],[4139,0," "],[4140,0,"("],[4141,0,"v"],[4142,0,"_"],[4143,0,"p"],[4144,0,","],[4145,0," "],[4146,0,"\\"],[4147,0,"m"],[4148,0,"a"],[4149,0,"t"],[4150,0,"h"],[4151,0,"i"],[4152,0,"t"],[4153,0,"{"],[4154,0,"n"],[4155,0,"e"],[4156,0,"x"],[4157,0,"t"],[4158,0,"}"],[4159,0,")"],[4160,0,"$"],[4161,0,"}"],[4162,0,"\n"],[4163,0," "],[4164,0," "],[4165,0," "],[4166,0," "],[4167,0,"\\"],[4168,0,"A"],[4169,0,"x"],[4170,0,"i"],[4171,0,"o"],[4172,0,"m"],[4173,0,"C"],[4174,0,"{"],[4175,0,"$"],[4176,0,"\\"],[4177,0,"m"],[4178,0,"a"],[4179,0,"t"],[4180,0,"h"],[4181,0,"i"],[4182,0,"t"],[4183,0,"{"],[4184,0,"n"],[4185,0,"e"],[4186,0,"x"],[4187,0,"t"],[4188,0,"}"],[4189,0," "],[4190,0,"<"],[4191,0," "],[4192,0,"\\"],[4193,0,"m"],[4194,0,"a"],[4195,0,"t"],[4196,0,"h"],[4197,0,"i"],[4198,0,"t"],[4199,0,"{"],[4200,0,"i"],[4201,0,"d"],[4202,0,"}"],[4203,0,"$"],[4204,0,"}"],[4205,0,"\n"],[4206,0," "],[4207,0," "],[4208,0," "],[4209,0," "],[4210,0,"\\"],[4211,0,"L"],[4212,0,"e"],[4213,0,"f"],[4214,0,"t"],[4215,0,"L"],[4216,0,"a"],[4217,0,"b"],[4218,0,"e"],[4219,0,"l"],[4220,0,"{"],[4221,0,"\\"],[4221,0,"$"],[4223,0,"m"],[4224,0,"a"],[4225,0,"t"],[4226,0,"h"],[4227,0,"s"],[4228,0,"c"],[4229,0,"{"],[4230,0,"I"],[4231,0,"n"],[4232,0,"s"],[4233,0,"}"],[4234,0,"_"],[4235,0,"1"],[4236,0,"$"],[4237,0,"}"],[4238,0,"\n"],[4239,0," "],[4240,0," "],[4241,0," "],[4242,0," "],[4243,0,"\\"],[4244,0,"B"],[4245,0,"i"],[4246,0,"n"],[4247,0,"a"],[4248,0,"r"],[4249,0,"y"],[4250,0,"I"],[4251,0,"n"],[4252,0,"f"],[4253,0,"C"],[4254,0,"{"],[4255,0,"$"],[4256,0,"A"],[4257,0,","],[4258,0," "],[4259,0,"\\"],[4260,0,"m"],[4261,0,"a"],[4262,0,"t"],[4263,0,"h"],[4264,0,"s"],[4265,0,"f"],[4266,0,"{"],[4267,0,"i"],[4268,0,"n"],[4269,0,"s"],[4270,0,"e"],[4271,0,"r"],[4272,0,"t"],[4273,0,"}"],[4274,0,"("],[4275,0,"\\"],[4276,0,"m"],[4277,0,"a"],[4278,0,"t"],[4279,0,"h"],[4280,0,"i"],[4281,0,"t"],[4282,0,"{"],[4283,0,"i"],[4284,0,"d"],[4285,0,"}"],[4286,0,","],[4287,0," "],[4288,0,"\\"],[4289,0,"m"],[4290,0,"a"],[4291,0,"t"],[4292,0,"h"],[4293,0,"i"],[4294,0,"t"],[4295,0,"{"],[4296,0,"p"],[4297,0,"r"],[4298,0,"e"],[4299,0,"v"],[4300,0,"}"],[4301,0,","],[4302,0," "],[4303,0,"v"],[4304,0,")"],[4305,0," "],[4306,0,"\\"],[4307,0,"e"],[4308,0,"v"],[4309,0,"a"],[4310,0,"l"],[4311,0,"t"],[4312,0,"o"],[4313,0," "],[4313,1],[4313,0,"\n"],[4314,0," "],[4315,0," "],[4316,0," "],[4317,0," "],[4318,0," "],[4319,0," "],[4320,0," "],[4321,0," "],[4577,0,"$"],[4582,1],[4581,1],[4580,1],[4579,1],[4579,0,"m"],[4580,0,"a"],[4581,0,"t"],[4582,0,"h"],[4591,1],[4590,1],[4589,1],[4590,0,"_"],[4591,0,"2"],[4592,0,"$"],[4322,0,"A"],[4323,0,"["],[4324,0,"\\"],[4325,0,","],[4326,0,"\\"],[4327,0,"m"],[4328,0,"a"],[4329,0,"t"],[4330,0,"h"],[4331,0,"i"],[4332,0,"t"],[4333,0,"{"],[4334,0,"p"],[4335,0,"r"],[4336,0,"e"],[4337,0,"v"],[4338,0,"}"],[4339,0," "],[4340,0,"\\"],[4341,0,"m"],[4342,0,"a"],[4343,0,"p"],[4344,0,"s"],[4345,0,"t"],[4346,0,"o"],[4347,0," "],[4348,0,"("],[4349,0,"v"],[4350,0,"_"],[4351,0,"p"],[4352,0,","],[4353,0," "],[4354,0,"\\"],[4355,0,"m"],[4356,0,"a"],[4357,0,"t"],[4358,0,"h"],[4359,0,"i"],[4360,0,"t"],[4361,0,"{"],[4362,0,"i"],[4363,0,"d"],[4364,0,"}"],[4365,0,")"],[4366,0,","],[4367,0,"\\"],[4368,0,";"],[4369,0," "],[4370,0,"\\"],[4371,0,"m"],[4372,0,"a"],[4373,0,"t"],[4374,0,"h"],[4375,0,"i"],[4376,0,"t"],[4377,0,"{"],[4378,0,"i"],[4379,0,"d"],[4380,0,"}"],[4381,0," "],[4382,0,"\\"],[4383,0,"m"],[4384,0,"a"],[4385,0,"p"],[4386,0,"s"],[4387,0,"t"],[4388,0,"o"],[4389,0," "],[4390,0,"("],[4391,0,"v"],[4392,0,","],[4393,0," "],[4394,0,"\\"],[4395,0,"m"],[4396,0,"a"],[4397,0,"t"],[4398,0,"h"],[4399,0,"i"],[4400,0,"t"],[4401,0,"{"],[4402,0,"n"],[4403,0,"e"],[4404,0,"x"],[4405,0,"t"],[4406,0,"}"],[4407,0,")"],[4408,0,"\\"],[4409,0,","],[4410,0,"]"],[4411,0,"}"],[4226,1],[4225,1],[4224,1],[4223,1],[4223,0,"t"],[4224,0,"e"],[4225,0,"x"],[4226,0,"t"],[4672,1],[4671,1],[4670,1],[4669,1],[4669,0,"t"],[4670,0,"e"],[4671,0,"x"],[4672,0,"t"],[4411,0,"$"],[4491,1],[4490,1],[4489,1],[4488,1],[4487,1],[4486,1],[4485,1],[4484,1],[4483,1],[4482,1],[4481,1],[4480,1],[4479,1],[4478,1],[4477,1],[4476,1],[4475,1],[4474,1],[4473,1],[4472,1],[4471,1],[4470,1],[4469,1],[4468,1],[4467,1],[4466,1],[4465,1],[4464,1],[4463,1],[4462,1],[4120,1],[4119,1],[4118,1],[4117,1],[4116,1],[4115,1],[4114,1],[4113,1],[4112,1],[4111,1],[4110,1],[4109,1],[4108,1],[4107,1],[4106,1],[4105,1],[4104,1],[4103,1],[4102,1],[4101,1],[4100,1],[4099,1],[4098,1],[4097,1],[4096,1],[4095,1],[4094,1],[4093,1],[4092,1],[4091,1],[4200,0,"A"],[4201,0,"p"],[4202,0,"p"],[4203,0,"l"],[4204,0,"y"],[4205,0,"-"],[4623,0,"A"],[4624,0,"p"],[4625,0,"p"],[4626,0,"l"],[4627,0,"y"],[4628,0,"-"],[4734,0,"\n"],[4735,0,"\n"],[4736,0,"\\"],[4737,0,"b"],[4738,0,"e"],[4739,0,"g"],[4740,0,"i"],[4741,0,"n"],[4742,0,"{"],[4743,0,"p"],[4744,0,"r"],[4745,0,"o"],[4746,0,"o"],[4747,0,"f"],[4748,0,"t"],[4749,0,"r"],[4750,0,"e"],[4751,0,"e"],[4752,0,"}"],[4753,0,"\n"],[4754,0,"\\"],[4755,0,"e"],[4756,0,"n"],[4757,0,"d"],[4758,0,"{"],[4759,0,"p"],[4760,0,"r"],[4761,0,"o"],[4762,0,"o"],[4763,0,"f"],[4764,0,"t"],[4765,0,"r"],[4766,0,"e"],[4767,0,"e"],[4768,0,"}"],[4753,0,"\n"],[4754,0," "],[4755,0," "],[4756,0," "],[4757,0," "],[4758,0,"\\"],[4759,0,"A"],[4760,0,"x"],[4761,0,"i"],[4762,0,"o"],[4763,0,"m"],[4764,0,"C"],[4765,0,"{"],[4766,0,"$"],[4767,0,"A"],[4768,0,"("],[4769,0,"\\"],[4770,0,"m"],[4771,0,"a"],[4772,0,"t"],[4773,0,"h"],[4774,0,"i"],[4775,0,"t"],[4776,0,"{"],[4777,0,"t"],[4778,0,"a"],[4779,0,"r"],[4780,0,"g"],[4781,0,"e"],[4782,0,"t"],[4783,0,"}"],[4784,0,")"],[4785,0," "],[4786,0,"="],[4787,0," "],[4788,0,"("],[4789,0,"v"],[4790,0,","],[4791,0," "],[4792,0,"\\"],[4793,0,"m"],[4794,0,"a"],[4795,0,"t"],[4796,0,"h"],[4797,0,"i"],[4798,0,"t"],[4799,0,"{"],[4800,0,"n"],[4801,0,"e"],[4802,0,"x"],[4803,0,"t"],[4804,0,"}"],[4805,0,")"],[4806,0,"$"],[4807,0,"}"],[4808,0,"\n"],[4809,0," "],[4810,0," "],[4811,0," "],[4812,0," "],[4813,0,"\\"],[4814,0,"L"],[4815,0,"e"],[4816,0,"f"],[4817,0,"t"],[4818,0,"L"],[4819,0,"a"],[4820,0,"b"],[4821,0,"e"],[4822,0,"l"],[4823,0,"{"],[4824,0,"$"],[4825,0,"\\"],[4826,0,"t"],[4827,0,"e"],[4828,0,"x"],[4829,0,"t"],[4830,0,"s"],[4831,0,"c"],[4832,0,"{"],[4833,0,"A"],[4834,0,"p"],[4835,0,"p"],[4836,0,"l"],[4837,0,"y"],[4838,0,"-"],[4839,0,"D"],[4840,0,"e"],[4841,0,"l"],[4842,0,"}"],[4843,0,"$"],[4843,1],[4824,1],[4842,0,"}"],[4843,0,"\n"],[4844,0," "],[4845,0," "],[4846,0," "],[4847,0," "],[4848,0,"\\"],[4849,0,"U"],[4850,0,"n"],[4851,0,"a"],[4852,0,"r"],[4853,0,"y"],[4854,0,"I"],[4855,0,"n"],[4856,0,"f"],[4857,0,"C"],[4858,0,"{"],[4859,0,"$"],[4860,0,"A"],[4861,0,","],[4862,0," "],[4863,0,"\\"],[4864,0,"a"],[4865,0,"m"],[4865,1],[4864,1],[4864,0,"m"],[4865,0,"a"],[4866,0,"t"],[4867,0,"h"],[4868,0,"s"],[4869,0,"f"],[4870,0,"{"],[4871,0,"d"],[4872,0,"e"],[4873,0,"l"],[4874,0,"e"],[4875,0,"t"],[4876,0,"e"],[4877,0,"}"],[4878,0,"("],[4879,0,"\\"],[4880,0,"m"],[4881,0,"a"],[4882,0,"t"],[4883,0,"h"],[4884,0,"i"],[4885,0,"d"],[4885,1],[4885,0,"t"],[4886,0,"{"],[4887,0,"i"],[4888,0,"d"],[4889,0,"}"],[4890,0,","],[4891,0," "],[4892,0,"\\"],[4893,0,"m"],[4894,0,"a"],[4895,0,"t"],[4896,0,"h"],[4897,0,"i"],[4898,0,"t"],[4899,0,"{"],[4900,0,"t"],[4901,0,"a"],[4902,0,"r"],[4903,0,"g"],[4904,0,"e"],[4905,0,"t"],[4906,0,"}"],[4907,0,")"],[4908,0," "],[4909,0,"\\"],[4910,0,"e"],[4911,0,"v"],[4912,0,"a"],[4913,0,"l"],[4914,0,"t"],[4915,0,"o"],[4916,0," "],[4916,1],[4916,0,"\n"],[4917,0," "],[4918,0," "],[4919,0," "],[4920,0," "],[4921,0," "],[4922,0," "],[4923,0," "],[4924,0," "],[4925,0,"A"],[4926,0,"["],[4927,0,"\\"],[4928,0,","],[4929,0,"\\"],[4930,0,"m"],[4931,0,"a"],[4932,0,"t"],[4933,0,"h"],[4934,0,"i"],[4935,0,"t"],[4936,0,"{"],[4937,0,"t"],[4938,0,"a"],[4939,0,"r"],[4940,0,"g"],[4941,0,"e"],[4942,0,"t"],[4943,0,"}"],[4944,0," "],[4945,0,"\\"],[4946,0,"m"],[4947,0,"a"],[4948,0,"p"],[4949,0,"s"],[4950,0,"t"],[4951,0,"o"],[4952,0," "],[4953,0,"("],[4954,0,"\\"],[4955,0,"b"],[4956,0,"o"],[4957,0,"t"],[4958,0,","],[4959,0," "],[4960,0,"\\"],[4961,0,"m"],[4962,0,"a"],[4963,0,"t"],[4964,0,"h"],[4965,0,"i"],[4966,0,"t"],[4967,0,"{"],[4968,0,"n"],[4969,0,"e"],[4970,0,"x"],[4971,0,"t"],[4972,0,"}"],[4973,0,")"],[4974,0,"\\"],[4975,0,","],[4976,0,"]"],[4977,0,"$"],[4978,0,"}"],[4110,0,"\\"],[4111,0,"m"],[4112,0,"a"],[4113,0,"t"],[4114,0,"h"],[4115,0,"s"],[4116,0,"f"],[4117,0,"{"],[4118,0,"l"],[4119,0,"i"],[4120,0,"s"],[4121,0,"t"],[4122,0,"E"],[4123,0,"l"],[4124,0,"}"],[4339,0,"\\"],[4340,0,"m"],[4341,0,"a"],[4342,0,"t"],[4343,0,"h"],[4344,0,"s"],[4345,0,"f"],[4346,0,"{"],[4347,0,"l"],[4348,0,"i"],[4349,0,"s"],[4350,0,"t"],[4351,0,"E"],[4352,0,"l"],[4353,0,"}"],[4375,1],[4375,0,"\n"],[4376,0," "],[4377,0," "],[4378,0," "],[4379,0," "],[4380,0," "],[4381,0," "],[4382,0," "],[4383,0," "],[4404,0,"\\"],[4405,0,"m"],[4406,0,"a"],[4407,0,"t"],[4408,0,"h"],[4409,0,"s"],[4410,0,"f"],[4411,0,"{"],[4412,0,"l"],[4413,0,"i"],[4414,0,"s"],[4415,0,"t"],[4416,0,"E"],[4417,0,"l"],[4418,0,"}"],[4510,0,"\\"],[4511,0,"m"],[4512,0,"a"],[4513,0,"t"],[4514,0,"h"],[4515,0,"s"],[4516,0,"f"],[4517,0,"{"],[4518,0,"l"],[4519,0,"i"],[4520,0,"s"],[4521,0,"t"],[4522,0,"E"],[4523,0,"l"],[4524,0,"}"],[4856,0,"\\"],[4857,0,"m"],[4858,0,"a"],[4859,0,"t"],[4860,0,"h"],[4861,0,"s"],[4862,0,"f"],[4863,0,"{"],[4864,0,"l"],[4865,0,"i"],[4866,0,"s"],[4867,0,"t"],[4868,0,"E"],[4869,0,"l"],[4870,0,"}"],[5036,0,"\\"],[5037,0,"m"],[5038,0,"a"],[5039,0,"t"],[5040,0,"h"],[5041,0,"s"],[5042,0,"f"],[5043,0,"{"],[5044,0,"l"],[5045,0,"i"],[5046,0,"s"],[5047,0,"t"],[5048,0,"E"],[5049,0,"l"],[5050,0,"}"],[4059,0,"\n"],[4060,0,"\\"],[4061,0,"b"],[4062,0,"e"],[4063,0,"g"],[4064,0,"i"],[4065,0,"n"],[4065,1],[4064,1],[4063,1],[4062,1],[4061,1],[4060,1],[4060,0,"\\"],[4061,0,"A"],[4062,0,"x"],[4063,0,"i"],[4064,0,"o"],[4065,0,"m"],[4066,0,"C"],[4067,0,"{"],[4068,0,"$"],[4068,1],[4067,1],[4066,1],[4065,1],[4064,1],[4063,1],[4062,1],[4061,1],[4060,1],[4059,1],[4237,1],[4236,1],[4235,1],[4235,0,"T"],[4236,0,"r"],[4237,0,"i"],[4238,0,"n"],[4077,0,"\n"],[4078,0," "],[4079,0," "],[4080,0," "],[4081,0," "],[4082,0,"\\"],[4083,0,"A"],[4084,0,"x"],[4085,0,"i"],[4086,0,"o"],[4087,0,"m"],[4088,0,"C"],[4089,0,"{"],[4090,0,"$"],[4091,0,"\\"],[4092,0,"m"],[4093,0,"a"],[4094,0,"t"],[4095,0,"h"],[4096,0,"i"],[4097,0,"t"],[4098,0,"{"],[4099,0,"i"],[4100,0,"d"],[4101,0,"}"],[4102,0," "],[4103,0,"\\"],[4104,0,"n"],[4105,0,"o"],[4106,0,"t"],[4107,0,"\\"],[4108,0,"i"],[4109,0,"n"],[4110,0," "],[4111,0,"\\"],[4112,0,"m"],[4113,0,"a"],[4114,0,"t"],[4115,0,"h"],[4116,0,"r"],[4117,0,"m"],[4118,0,"("],[4118,1],[4118,0,"{"],[4119,0,"d"],[4120,0,"o"],[4121,0,"m"],[4122,0,"}"],[4123,0,"("],[4124,0,"A"],[4125,0,")"],[4126,0,"$"],[4127,0,"}"],[4059,0,"\n"],[4060,0,"\\"],[4061,0,"b"],[4062,0,"e"],[4063,0,"g"],[4064,0,"i"],[4065,0,"n"],[4066,0,"{"],[4067,0,"p"],[4068,0,"r"],[4069,0,"o"],[4070,0,"o"],[4071,0,"f"],[4072,0,"t"],[4073,0,"r"],[4074,0,"e"],[4075,0,"e"],[4076,0,"}"],[4077,0,"\n"],[4078,0,"\\"],[4079,0,"e"],[4080,0,"n"],[4081,0,"d"],[4082,0,"{"],[4083,0,"p"],[4084,0,"r"],[4085,0,"o"],[4086,0,"o"],[4087,0,"f"],[4088,0,"t"],[4089,0,"r"],[4090,0,"e"],[4091,0,"e"],[4092,0,"}"],[4093,0,"\n"],[4077,0,"\n"],[4078,0," "],[4079,0," "],[4080,0," "],[4081,0," "],[4082,0,"\\"],[4083,0,"L"],[4084,0,"e"],[4085,0,"f"],[4086,0,"t"],[4087,0,"L"],[4088,0,"a"],[4089,0,"b"],[4090,0,"e"],[4091,0,"l"],[4092,0,"{"],[4093,0,"\\"],[4094,0,"t"],[4095,0,"e"],[4096,0,"x"],[4097,0,"t"],[4098,0,"s"],[4099,0,"c"],[4100,0,"{"],[4101,0,"A"],[4102,0,"p"],[4103,0,"p"],[4104,0,"l"],[4105,0,"y"],[4106,0,"-"],[4107,0,"T"],[4108,0,"S"],[4109,0,"}"],[4110,0,"}"],[4111,0,"\n"],[4112,0," "],[4113,0," "],[4114,0," "],[4115,0," "],[4116,0,"\\"],[4117,0,"U"],[4118,0,"N"],[4119,0,"a"],[4120,0,"r"],[4077,0,"\n"],[4078,0," "],[4079,0," "],[4080,0," "],[4081,0," "],[4082,0,"\\"],[4083,0,"A"],[4084,0,"x"],[4085,0,"i"],[4086,0,"o"],[4087,0,"m"],[4088,0,"C"],[4089,0,"{"],[4090,0,"}"],[4134,1],[4133,1],[4132,1],[4132,0,"n"],[4133,0,"a"],[4134,0,"r"],[4135,0,"y"],[4136,0,"I"],[4137,0,"n"],[4138,0,"f"],[4139,0,"C"],[4140,0,"{"],[4141,0,"$"],[4142,0,"$"],[4143,0,"}"],[4142,0,"A"],[4143,0,","],[4144,0," "],[4145,0,"\\"],[4146,0,"m"],[4147,0,"a"],[4148,0,"t"],[4149,0,"h"],[4150,0,"s"],[4151,0,"f"],[4152,0,"{"],[4153,0,"t"],[4154,0,"s"],[4155,0,"}"],[4156,0,"("],[4157,0,"\\"],[4158,0,"m"],[4159,0,"a"],[4160,0,"t"],[4161,0,"h"],[4162,0,"i"],[4163,0,"t"],[4164,0,"{"],[4165,0,"i"],[4166,0,"d"],[4167,0,"}"],[4168,0,")"],[4169,0," "],[4170,0,"\\"],[4171,0,"e"],[4172,0,"v"],[4173,0,"a"],[4174,0,"l"],[4175,0,"t"],[4176,0,"o"],[4177,0," "],[4178,0,"A"],[4179,0,"["],[4180,0,"\\"],[4181,0,","],[4182,0,"\\"],[4183,0,"m"],[4184,0,"a"],[4185,0,"t"],[4186,0,"h"],[4187,0,"i"],[4188,0,"t"],[4188,1],[4187,1],[4187,0,"s"],[4188,0,"f"],[4189,0,"{"],[4190,0,"c"],[4191,0,"t"],[4192,0,"r"],[4193,0,"}"],[4194,0," "],[4195,0,"\\"],[4196,0,"m"],[4197,0,"a"],[4198,0,"p"],[4199,0,"s"],[4200,0,"t"],[4201,0,"o"],[4202,0," "],[4203,0,"\\"],[4204,0,"m"],[4205,0,"a"],[4206,0,"t"],[4207,0,"h"],[4208,0,"r"],[4209,0,"m"],[4210,0,"{"],[4177,1],[4177,0,"\n"],[4178,0," "],[4179,0," "],[4180,0," "],[4181,0," "],[4182,0," "],[4183,0," "],[4184,0," "],[4185,0," "],[4219,0,"m"],[4220,0,"a"],[4221,0,"x"],[4222,0,"}"],[4223,0,"("],[4224,0,"A"],[4225,0,"("],[4226,0,"\\"],[4227,0,"m"],[4228,0,"a"],[4229,0,"t"],[4230,0,"h"],[4231,0,"s"],[4232,0,"f"],[4233,0,"{"],[4234,0,"c"],[4235,0,"t"],[4236,0,"r"],[4237,0,"}"],[4238,0,")"],[4239,0,","],[4240,0," "],[4241,0,"c"],[4242,0,")"],[4243,0,"\\"],[4244,0,","],[4245,0,"]"],[4090,0,"\\"],[4091,0,"m"],[4092,0,"a"],[4093,0,"t"],[4094,0,"h"],[4095,0,"i"],[4096,0,"t"],[4097,0,"{"],[4098,0,"i"],[4099,0,"d"],[4090,0,"$"],[4102,0," "],[4103,0,"="],[4104,0," "],[4105,0,"("],[4106,0,"c"],[4107,0,","],[4108,0," "],[4109,0,"p"],[4110,0,")"],[4111,0,"$"],[4112,0,"}"],[4469,0,"\n"],[4470,0," "],[4471,0," "],[4472,0," "],[4473,0," "],[4474,0,"\\"],[4475,0,"A"],[4476,0,"x"],[4477,0,"i"],[4478,0,"o"],[4479,0,"m"],[4480,0,"C"],[4481,0,"{"],[4482,0,"$"],[4483,0,"A"],[4484,0,","],[4485,0," "],[4486,0,"\\"],[4487,0,"m"],[4488,0,"a"],[4489,0,"t"],[4490,0,"h"],[4491,0,"s"],[4492,0,"f"],[4493,0,"{"],[4494,0,"t"],[4495,0,"s"],[4496,0,"}"],[4497,0,"("],[4498,0,"\\"],[4499,0,"m"],[4500,0,"a"],[4501,0,"t"],[4502,0,"h"],[4503,0,"i"],[4504,0,"t"],[4505,0,"{"],[4506,0,"i"],[4507,0,"d"],[4508,0,"}"],[4509,0,")"],[4510,0," "],[4511,0,"\\"],[4512,0,"e"],[4513,0,"v"],[4514,0,"a"],[4515,0,"l"],[4516,0,"t"],[4517,0,"o"],[4518,0," "],[4519,0,"A"],[4520,0,"'"],[4521,0,"$"],[4522,0,"}"],[4570,1],[4569,1],[4568,1],[4568,0,"Q"],[4569,0,"u"],[4570,0,"a"],[4571,0,"t"],[4572,0,"e"],[4573,0,"r"],[4651,0,"'"],[5270,1],[5270,0,"B"],[5271,0,"i"],[5229,0,"\n"],[5230,0," "],[5231,0," "],[5232,0," "],[5233,0," "],[5234,0,"\\"],[5235,0,"A"],[5236,0,"x"],[5237,0,"i"],[5238,0,"o"],[5239,0,"m"],[5240,0,"C"],[5241,0,"{"],[5242,0,"$"],[5243,0,"A"],[5244,0,","],[5245,0," "],[5246,0,"\\"],[5247,0,"m"],[5248,0,"a"],[5249,0,"t"],[5250,0,"h"],[5251,0,"s"],[5252,0,"f"],[5253,0,"{"],[5254,0,"t"],[5255,0,"s"],[5256,0,"}"],[5257,0,"("],[5258,0,"\\"],[5259,0,"m"],[5260,0,"a"],[5261,0,"t"],[5262,0,"h"],[5263,0,"i"],[5264,0,"t"],[5265,0,"{"],[5266,0,"i"],[5267,0,"d"],[5268,0,"}"],[5269,0,")"],[5270,0," "],[5271,0,"\\"],[5272,0,"e"],[5273,0,"v"],[5274,0,"a"],[5275,0,"l"],[5276,0,"t"],[5277,0,"o"],[5278,0," "],[5279,0,"A"],[5280,0,"'"],[5281,0,"$"],[5282,0,"}"],[5402,0,"'"],[4221,0,"o"],[4222,0,"u"],[4223,0,"n"],[4225,0,"e"],[4261,0,"o"],[4262,0,"u"],[4263,0,"n"],[4265,0,"e"],[4265,1],[4263,1],[4262,1],[4261,1],[4225,1],[4223,1],[4222,1],[4221,1],[4059,0,"\n"],[4060,0,"\\"],[4061,0,"A"],[4062,0,"x"],[4063,0,"i"],[4064,0,"o"],[4065,0,"m"],[4066,0,"C"],[4067,0,"{"],[4068,0,"$"],[4069,0,"A"],[4070,0,"("],[4071,0,"\\"],[4072,0,"m"],[4073,0,"a"],[4074,0,"t"],[4075,0,"h"],[4076,0,"s"],[4077,0,"f"],[4078,0,"{"],[4079,0,"c"],[4080,0,"t"],[4081,0,"r"],[4082,0,"}"],[4083,0,")"],[4084,0," "],[4085,0,"="],[4086,0," "],[4087,0,"c"],[4088,0,"$"],[4089,0,"}"],[4090,0,"\n"],[4091,0,"\\"],[4092,0,"L"],[4093,0,"e"],[4094,0,"f"],[4095,0,"t"],[4096,0,"L"],[4097,0,"a"],[4098,0,"b"],[4099,0,"e"],[4100,0,"l"],[4101,0,"{"],[4102,0,"\\"],[4103,0,"t"],[4104,0,"e"],[4105,0,"x"],[4106,0,"t"],[4107,0,"s"],[4108,0,"c"],[4109,0,"{"],[4110,0,"G"],[4111,0,"e"],[4112,0,"n"],[4113,0,"-"],[4114,0,"T"],[4115,0,"S"],[4116,0,"}"],[4117,0,"}"],[4118,0,"\n"],[4119,0,"\\"],[4120,0,"U"],[4121,0,"n"],[4122,0,"a"],[4123,0,"r"],[4124,0,"y"],[4125,0,"I"],[4126,0,"n"],[4127,0,"f"],[4128,0,"C"],[4129,0,"{"],[4130,0,"$"],[4131,0,"A"],[4132,0,","],[4133,0," "],[4134,0,"\\"],[4135,0,"m"],[4136,0,"a"],[4137,0,"t"],[4138,0,"h"],[4139,0,"S"],[4140,0,"F"],[4140,1],[4139,1],[4139,0,"s"],[4140,0,"f"],[4141,0,"{"],[4142,0,"n"],[4143,0,"e"],[4144,0,"w"],[4145,0,"I"],[4146,0,"D"],[4147,0,"}"],[4148,0," "],[4149,0,"\\"],[4150,0,"e"],[4151,0,"v"],[4152,0,"a"],[4153,0,"l"],[4154,0,"t"],[4155,0,"o"],[4156,0," "],[4157,0,"A"],[4158,0,"["],[4159,0,"\\"],[4160,0,","],[4161,0,"\\"],[4162,0,"m"],[4163,0,"a"],[4090,0,"\n"],[4091,0,"\\"],[4092,0,"A"],[4093,0,"x"],[4094,0,"i"],[4095,0,"o"],[4096,0,"m"],[4097,0,"C"],[4098,0,"{"],[4099,0,"$"],[4100,0,"p"],[4101,0," "],[4102,0,"="],[4103,0," "],[4104,0,"m"],[4105,0,"a"],[4106,0,"t"],[4107,0,"h"],[4108,0,"r"],[4104,0,"\\"],[4110,0,"m"],[4111,0,"{"],[4112,0,"m"],[4113,0,"y"],[4114,0,"P"],[4115,0,"e"],[4116,0,"e"],[4117,0,"r"],[4118,0,"I"],[4119,0,"D"],[4120,0,"("],[4121,0,")"],[4122,0,"}"],[4123,0,"$"],[4124,0,"}"],[4155,1],[4155,0,"B"],[4156,0,"i"],[4200,0,"t"],[4201,0,"h"],[4202,0,"s"],[4203,0,"f"],[4204,0,"{"],[4205,0,"c"],[4206,0,"t"],[4207,0,"r"],[4208,0,"}"],[4209,0," "],[4210,0,"\\"],[4211,0,"m"],[4212,0,"a"],[4213,0,"p"],[4214,0,"s"],[4215,0,"t"],[4216,0,"o"],[4217,0," "],[4218,0,"c"],[4219,0,"+"],[4220,0,"1"],[4221,0,"\\"],[4222,0,","],[4223,0,"]"],[4224,0,","],[4225,0,"\\"],[4226,0,";"],[4227,0,"("],[4228,0,"c"],[4229,0,","],[4227,0," "],[4231,0," "],[4232,0,"p"],[4233,0,")"],[4234,0,"$"],[4235,0,"}"],[4236,0,"\n"],[4237,0,"\n"],[4237,1],[4237,0,"\\"],[4238,0,"D"],[4239,0,"i"],[4240,0,"s"],[4241,0,"p"],[4242,0,"l"],[4243,0,"a"],[4244,0,"y"],[4245,0,"P"],[4246,0,"r"],[4247,0,"o"],[4248,0,"o"],[4249,0,"f"],[4250,0,"\n"],[4169,0,"\\"],[4170,0,","],[4170,1],[4170,0,";"],[4270,1],[4269,1],[4268,1],[4267,1],[4266,1],[4265,1],[4264,1],[4263,1],[4262,1],[4261,1],[4260,1],[4259,1],[4258,1],[4257,1],[4256,1],[4255,1],[4254,1],[4253,1],[4461,1],[4460,1],[4459,1],[4458,1],[4457,1],[4456,1],[4455,1],[4454,1],[4453,1],[4452,1],[4451,1],[4450,1],[4449,1],[4448,1],[4448,0,"D"],[4449,0,"i"],[4450,0,"s"],[4451,0,"p"],[4452,0,"l"],[4453,0,"a"],[4454,0,"y"],[4455,0,"P"],[4456,0,"r"],[4457,0,"o"],[4458,0,"o"],[4459,0,"f"],[4232,0,"+"],[4233,0,"1"],[4344,0,"\\"],[4345,0,";"],[4663,0,"\\"],[4664,0,";"],[4766,0,"\\"],[4767,0,";"],[5126,0,"\\"],[5127,0,";"],[5248,0,"\\"],[5249,0,";"],[5431,0,"\\"],[5432,0,";"],[5526,0,"\\"],[5527,0,";"],[4184,1],[4183,1],[4182,1],[4181,1],[4180,1],[4180,0,"n"],[4181,0,"e"],[4182,0,"w"],[4183,0,"I"],[4184,0,"D"],[4254,0,"\n"],[4255,0,"\n"],[4256,0,"h"],[4257,0,"e"],[4258,0,"l"],[4259,0,"l"],[4260,0,"o"],[4472,0,"\n"],[4473,0,"w"],[4474,0,"o"],[4475,0,"r"],[4476,0,"l"],[4477,0,"d"],[4478,0,"\n"],[4262,1],[4261,1],[4260,1],[4259,1],[4258,1],[4257,1],[4256,1],[4255,1],[4255,1],[4255,1],[4255,1],[4255,1],[4287,1],[4287,1],[4287,1],[4287,1],[4317,1],[4317,1],[4317,1],[4317,1],[4367,1],[4367,1],[4367,1],[4371,1],[4254,0,"\n"],[4255,0,"%"],[4256,0,"%"],[4256,1],[4456,1],[4455,1],[4454,1],[4453,1],[4452,1],[4451,1],[4450,1],[4059,0,"\n"],[4060,0,"\\"],[4061,0,"c"],[4062,0,"e"],[4063,0,"n"],[4064,0,"t"],[4065,0,"e"],[4066,0,"r"],[4067,0,"i"],[4068,0,"n"],[4069,0,"g"],[4070,0,"\n"],[4070,1],[4265,0,"\\"],[4266,0,"h"],[4267,0,"f"],[4268,0,"i"],[4269,0,"l"],[4270,0,"l"],[4080,0,"c"],[4081,0," "],[4082,0,"="],[4083,0," "],[4102,1],[4101,1],[4100,1],[4099,1],[4466,0,"\n"],[4467,0,"\n"],[4085,0,"_"],[4086,0,"p"],[4181,0,"_"],[4182,0,"p"],[4211,0,"_"],[4212,0,"p"],[4308,0,"_"],[4309,0,"\\"],[4310,0,"m"],[4311,0,"a"],[4312,0,"t"],[4313,0,"h"],[4314,0,"i"],[4315,0,"t"],[4316,0,"{"],[4317,0,"i"],[4318,0,"d"],[4319,0,"}"],[4367,0,"_"],[4368,0,"p"],[4411,0,"_"],[4412,0,"p"],[4557,0,"_"],[4558,0,"p"],[4577,0,"_"],[4578,0,"p"],[4615,1],[4615,0,"\\"],[4616,0,"m"],[4617,0,"a"],[4618,0,"t"],[4619,0,"h"],[4620,0,"i"],[4621,0,"t"],[4622,0,"{"],[4623,0,"p"],[4624,0,"r"],[4625,0,"e"],[4626,0,"v"],[4627,0,"}"],[4704,0,"_"],[4705,0,"p"],[4809,0,"_"],[4810,0,"p"],[4744,0,"_"],[4745,0,"p"],[4881,0,"_"],[4882,0,"p"],[4927,1],[4927,0,"]"],[4927,1],[4927,0,"\\"],[4928,0,"m"],[4929,0,"a"],[4930,0,"t"],[4931,0,"h"],[4932,0,"i"],[4933,0,"t"],[4934,0,"{"],[4935,0,"p"],[4936,0,"r"],[4937,0,"e"],[4938,0,"v"],[4939,0,"}"],[5074,0,"_"],[5075,0,"p"],[5112,1],[5112,0,"\\"],[5113,0,"m"],[5114,0,"a"],[5115,0,"t"],[5116,0,"h"],[5117,0,"i"],[5118,0,"t"],[5119,0,"{"],[5120,0,"p"],[5121,0,"r"],[5122,0,"e"],[5123,0,"v"],[5124,0,"}"],[5261,0,"_"],[5262,0,"p"],[5201,0,"_"],[5202,0,"p"],[5327,0,"_"],[5328,0,"p"],[5389,0,"_"],[5390,0,"p"],[5444,0,"_"],[5445,0,"p"],[5516,0,"_"],[5517,0,"p"],[5556,0,"_"],[5557,0,"p"],[5615,0,"_"],[5616,0,"p"],[5684,0,"_"],[5685,0,"p"],[4490,0,"\\"],[4491,0,"b"],[4492,0,"e"],[4493,0,"g"],[4494,0,"i"],[4495,0,"n"],[4496,0,"{"],[4497,0,"p"],[4498,0,"r"],[4499,0,"o"],[4500,0,"o"],[4501,0,"f"],[4502,0,"t"],[4503,0,"r"],[4504,0,"e"],[4505,0,"e"],[4506,0,"}"],[4507,0,"\n"],[4508,0,"\\"],[4509,0,"e"],[4510,0,"n"],[4511,0,"d"],[4512,0,"{"],[4513,0,"p"],[4514,0,"r"],[4514,1],[4513,1],[4512,1],[4511,1],[4510,1],[4509,1],[4508,1],[4507,1],[4506,1],[4505,1],[4504,1],[4503,1],[4502,1],[4501,1],[4500,1],[4499,1],[4498,1],[4497,1],[4496,1],[4495,1],[4494,1],[4493,1],[4492,1],[4491,1],[4491,0,"A"],[4492,0,"x"],[4493,0,"i"],[4494,0,"o"],[4495,0,"m"],[4496,0,"C"],[4497,0,"{"],[4498,0,"$"],[4499,0,"q"],[4500,0," "],[4501,0,"\\"],[4502,0,"i"],[4503,0,"n"],[4504,0," "],[4505,0,"\\"],[4506,0,"m"],[4507,0,"a"],[4508,0,"t"],[4509,0,"h"],[4510,0,"i"],[4511,0,"t"],[4512,0,"{"],[4513,0,"p"],[4514,0,"e"],[4515,0,"e"],[4516,0,"r"],[4517,0,"s"],[4518,0,"}"],[4519,0,"$"],[4520,0,"}"],[4521,0,"\n"],[4522,0,"\\"],[4523,0,"L"],[4524,0,"e"],[4525,0,"f"],[4526,0,"t"],[4527,0,"L"],[4528,0,"a"],[4529,0,"b"],[4530,0,"e"],[4531,0,"l"],[4532,0,"{"],[4533,0,"\\"],[4534,0,"t"],[4535,0,"e"],[4536,0,"x"],[4537,0,"t"],[4538,0,"s"],[4539,0,"c"],[4540,0,"{"],[4541,0,"R"],[4542,0,"e"],[4543,0,"c"],[4544,0,"v"],[4545,0,"}"],[4546,0,"}"],[4547,0,"\n"],[4548,0,"\\"],[4549,0,"U"],[4550,0,"n"],[4551,0,"a"],[4552,0,"r"],[4553,0,"y"],[4554,0,"I"],[4555,0,"n"],[4556,0,"f"],[4557,0,"C"],[4558,0,"{"],[4559,0,"$"],[4560,0,"A"],[4561,0,"_"],[4562,0,"p"],[4563,0,","],[4564,0,"\\"],[4565,0,";"],[4566,0," "],[4567,0,"\\"],[4568,0,"m"],[4569,0,"a"],[4570,0,"t"],[4571,0,"h"],[4572,0,"s"],[4573,0,"f"],[4574,0,"{"],[4575,0,"y"],[4576,0,"i"],[4577,0,"e"],[4578,0,"l"],[4579,0,"d"],[4580,0,"|"],[4580,1],[4580,0,"}"],[4581,0," "],[4582,0,"\\"],[4583,0,"e"],[4584,0,"v"],[4585,0,"a"],[4586,0,"l"],[4587,0,"t"],[4588,0,"o"],[4589,0," "],[4590,0,"A"],[4591,0,"_"],[4592,0,"p"],[4593,0,"["],[4594,0,","],[4594,1],[4594,0,"\\"],[4595,0,","],[4596,0,"\\"],[4597,0,"m"],[4598,0,"a"],[4599,0,"t"],[4600,0,"h"],[4601,0,"s"],[4602,0,"f"],[4603,0,"{"],[4604,0,"r"],[4605,0,"e"],[4606,0,"c"],[4607,0,"v"],[4608,0,"}"],[4609,0," "],[4610,0,"\\"],[4611,0,"m"],[4612,0,"a"],[4613,0,"p"],[4614,0,"s"],[4615,0,"t"],[4616,0,"o"],[4617,0," "],[4618,0,"A"],[4619,0,"_"],[4620,0,"p"],[4621,0,"("],[4622,0,"\\"],[4623,0,"m"],[4624,0,"a"],[4625,0,"t"],[4626,0,"h"],[4627,0,"s"],[4628,0,"f"],[4629,0,"{"],[4630,0,"r"],[4631,0,"e"],[4632,0,"c"],[4633,0,"v"],[4634,0,"}"],[4635,0,")"],[4636,0," "],[4637,0,"\\"],[4638,0,"c"],[4639,0,"u"],[4640,0,"p"],[4641,0," "],[4642,0,"A"],[4643,0,"_"],[4644,0,"q"],[4645,0,"("],[4646,0,"\\"],[4647,0,"m"],[4648,0,"a"],[4649,0,"t"],[4650,0,"h"],[4651,0,"s"],[4652,0,"f"],[4653,0,"{"],[4654,0,"s"],[4655,0,"e"],[4656,0,"n"],[4657,0,"d"],[4658,0,"}"],[4659,0,")"],[4660,0,"\\"],[4661,0,","],[4662,0,"]"],[4663,0,"$"],[4664,0,"}"],[4665,0,"\n"],[4666,0,"\\"],[4667,0,"D"],[4668,0,"i"],[4669,0,"s"],[4670,0,"p"],[4671,0,"l"],[4672,0,"a"],[4673,0,"y"],[4674,0,"P"],[4675,0,"r"],[4676,0,"o"],[4677,0,"o"],[4678,0,"f"],[4678,1],[4677,1],[4676,1],[4675,1],[4674,1],[4673,1],[4672,1],[4671,1],[4670,1],[4669,1],[4668,1],[4667,1],[4667,0,"e"],[4668,0,"n"],[4669,0,"d"],[4670,0,"{"],[4671,0,"p"],[4672,0,"r"],[4673,0,"o"],[4674,0,"o"],[4675,0,"f"],[4676,0,"t"],[4677,0,"r"],[4678,0,"e"],[4679,0,"e"],[4680,0,"}"],[4489,0,"\n"],[4490,0,"\\"],[4491,0,"b"],[4492,0,"e"],[4493,0,"g"],[4494,0,"i"],[4495,0,"n"],[4496,0,"{"],[4497,0,"p"],[4498,0,"r"],[4499,0,"o"],[4500,0,"o"],[4501,0,"f"],[4502,0,"t"],[4503,0,"r"],[4504,0,"e"],[4505,0,"e"],[4506,0,"}"],[4506,1],[4505,1],[4504,1],[4503,1],[4502,1],[4501,1],[4500,1],[4499,1],[4498,1],[4497,1],[4496,1],[4495,1],[4494,1],[4493,1],[4492,1],[4491,1],[4490,1],[4490,0,"\\"],[4491,0,"p"],[4492,0,"r"],[4493,0,"o"],[4494,0,"o"],[4495,0,"f"],[4496,0,"S"],[4497,0,"k"],[4498,0,"i"],[4499,0,"p"],[4500,0,"A"],[4501,0,"m"],[4502,0,"o"],[4503,0,"u"],[4504,0,"n"],[4505,0,"t"],[4506,0," "],[4507,0,"\\"],[4508,0,"l"],[4509,0,"e"],[4510,0,"a"],[4511,0,"v"],[4512,0,"e"],[4513,0,"v"],[4514,0,"m"],[4515,0,"o"],[4516,0,"d"],[4517,0,"e"],[4506,1],[4708,1],[4707,1],[4706,1],[4705,1],[4704,1],[4703,1],[4702,1],[4701,1],[4700,1],[4699,1],[4698,1],[4697,1],[4696,1],[4695,1],[4695,0,"p"],[4696,0,"r"],[4697,0,"o"],[4698,0,"o"],[4699,0,"f"],[4700,0,"S"],[4701,0,"k"],[4702,0,"i"],[4703,0,"p"],[4704,0,"A"],[4705,0,"m"],[4706,0,"o"],[4707,0,"u"],[4708,0,"n"],[4709,0,"t"],[4517,0,"\n"],[4518,0,"\\"],[4519,0,"A"],[4520,0,"x"],[4521,0,"i"],[4522,0,"o"],[4523,0,"m"],[4524,0,"C"],[4525,0,"{"],[4526,0,"}"],[4527,0,"\n"],[4528,0,"\\"],[4529,0,"L"],[4530,0,"e"],[4531,0,"f"],[4532,0,"t"],[4533,0,"L"],[4534,0,"a"],[4535,0,"b"],[4536,0,"e"],[4537,0,"l"],[4538,0,"{"],[4539,0,"\\"],[4540,0,"t"],[4541,0,"e"],[4542,0,"x"],[4543,0,"t"],[4544,0,"s"],[4545,0,"c"],[4546,0,"{"],[4547,0,"S"],[4548,0,"e"],[4549,0,"n"],[4550,0,"d"],[4551,0,"}"],[4552,0,"}"],[4553,0,"\n"],[4554,0,"\\"],[4555,0,"U"],[4556,0,"n"],[4557,0,"a"],[4558,0,"r"],[4559,0,"y"],[4560,0,"I"],[4561,0,"n"],[4562,0,"f"],[4563,0,"C"],[4564,0,"{"],[4565,0,"$"],[4566,0,"A"],[4567,0,"_"],[4568,0,"p"],[4569,0,","],[4570,0,"\\"],[4571,0,";"],[4572,0," "],[4573,0,"\\"],[4574,0,"m"],[4575,0,"a"],[4576,0,"t"],[4577,0,"h"],[4578,0,"s"],[4579,0,"f"],[4580,0,"{"],[4581,0,"y"],[4582,0,"i"],[4583,0,"e"],[4584,0,"l"],[4585,0,"d"],[4586,0,"}"],[4587,0," "],[4588,0,"\\"],[4589,0,"e"],[4590,0,"v"],[4591,0,"a"],[4592,0,"l"],[4593,0,"t"],[4594,0,"o"],[4595,0," "],[4596,0,"A"],[4597,0,"_"],[4598,0,"p"],[4599,0,"["],[4600,0,"\\"],[4601,0,","],[4602,0,"\\"],[4603,0,"m"],[4604,0,"a"],[4605,0,"t"],[4606,0,"h"],[4607,0,"s"],[4608,0,"f"],[4609,0,"{"],[4610,0,"s"],[4611,0,"e"],[4612,0,"n"],[4613,0,"d"],[4614,0,"}"],[4615,0," "],[4616,0,"\\"],[4617,0,"m"],[4618,0,"a"],[4619,0,"p"],[4620,0,"s"],[4621,0,"t"],[4622,0,"o"],[4623,0," "],[4624,0,"A"],[4625,0,"_"],[4626,0,"p"],[4627,0,"("],[4628,0,"\\"],[4629,0,"m"],[4630,0,"a"],[4631,0,"t"],[4632,0,"h"],[4633,0,"s"],[4634,0,"f"],[4635,0,"{"],[4636,0,"s"],[4637,0,"e"],[4638,0,"n"],[4639,0,"d"],[4640,0,"}"],[4641,0,")"],[4642,0," "],[4643,0,"\\"],[4644,0,"c"],[4645,0,"u"],[4646,0,"p"],[4647,0," "],[4648,0,"A"],[4649,0,"_"],[4650,0,"p"],[4651,0,"("],[4652,0,"\\"],[4653,0,"m"],[4654,0,"a"],[4655,0,"t"],[4656,0,"h"],[4657,0,"s"],[4658,0,"f"],[4659,0,"{"],[4660,0,"n"],[4661,0,"e"],[4662,0,"w"],[4663,0,"O"],[4664,0,"p"],[4665,0,"s"],[4666,0,"}"],[4667,0,")"],[4668,0,"\\"],[4669,0,","],[4670,0,"]"],[4671,0,"$"],[4672,0,"}"],[4673,0,"\n"],[4674,0,"\\"],[4675,0,"D"],[4676,0,"i"],[4677,0,"s"],[4678,0,"p"],[4679,0,"l"],[4680,0,"a"],[4681,0,"y"],[4682,0,"P"],[4683,0,"r"],[4684,0,"o"],[4685,0,"o"],[4686,0,"f"],[4687,0,"\\"],[4688,0,"h"],[4689,0,"f"],[4690,0,"i"],[4691,0,"l"],[4692,0,"l"],[4693,0,"\n"],[4694,0,"%"],[4872,0,"\\"],[4873,0,"D"],[4874,0,"i"],[4875,0,"s"],[4876,0,"p"],[4877,0,"l"],[4878,0,"a"],[4879,0,"y"],[4880,0,"P"],[4881,0,"r"],[4882,0,"o"],[4883,0,"o"],[4884,0,"f"],[4516,1],[4515,1],[4514,1],[4513,1],[4512,1],[4511,1],[4510,1],[4509,1],[4508,1],[4507,1],[4506,1],[4505,1],[4504,1],[4503,1],[4502,1],[4501,1],[4500,1],[4499,1],[4498,1],[4497,1],[4496,1],[4495,1],[4494,1],[4493,1],[4492,1],[4491,1],[4491,0,"b"],[4492,0,"e"],[4493,0,"g"],[4494,0,"i"],[4495,0,"n"],[4496,0,"{"],[4497,0,"p"],[4498,0,"r"],[4499,0,"o"],[4500,0,"o"],[4501,0,"f"],[4502,0,"t"],[4503,0,"r"],[4504,0,"e"],[4505,0,"e"],[4506,0,"}"],[4683,0,"\n"],[4684,0,"\\"],[4685,0,"e"],[4686,0,"n"],[4687,0,"d"],[4688,0,"{"],[4689,0,"p"],[4690,0,"r"],[4691,0,"o"],[4692,0,"o"],[4693,0,"f"],[4694,0,"t"],[4695,0,"r"],[4696,0,"e"],[4697,0,"e"],[4698,0,"}"],[4700,1],[4700,0,"\n"],[4701,0,"\\"],[4702,0,"b"],[4703,0,"e"],[4704,0,"g"],[4705,0,"i"],[4706,0,"n"],[4707,0,"P"],[4707,1],[4707,0,"{"],[4708,0,"p"],[4709,0,"r"],[4710,0,"o"],[4711,0,"o"],[4712,0,"f"],[4713,0,"t"],[4714,0,"r"],[4715,0,"e"],[4716,0,"e"],[4717,0,"}"],[4923,1],[4922,1],[4921,1],[4920,1],[4919,1],[4918,1],[4917,1],[4916,1],[4915,1],[4914,1],[4913,1],[4912,1],[4911,1],[4910,1],[4909,1],[4908,1],[4907,1],[4906,1],[4905,1],[4904,1],[4903,1],[4902,1],[4901,1],[4900,1],[4899,1],[4898,1],[4897,1],[4896,1],[4896,0,"e"],[4897,0,"n"],[4898,0,"d"],[4899,0,"{"],[4900,0,"p"],[4901,0,"r"],[4902,0,"o"],[4903,0,"o"],[4904,0,"f"],[4905,0,"t"],[4906,0,"r"],[4907,0,"e"],[4908,0,"e"],[4909,0,"}"],[4682,1],[4681,1],[4680,1],[4679,1],[4678,1],[4677,1],[4676,1],[4675,1],[4674,1],[4673,1],[4672,1],[4671,1],[4670,1],[4669,1],[4668,1],[4667,1],[4666,1],[4665,1],[4664,1],[4663,1],[4890,0,"\n"],[4891,0,"\n"],[4892,0,"\\"],[4893,0,"b"],[4894,0,"e"],[4895,0,"g"],[4896,0,"i"],[4897,0,"n"],[4898,0,"{"],[4899,0,"p"],[4900,0,"r"],[4901,0,"o"],[4902,0,"o"],[4903,0,"f"],[4904,0,"t"],[4905,0,"r"],[4906,0,"e"],[4907,0,"e"],[4908,0,"}"],[4909,0,"\n"],[4910,0,"\\"],[4911,0,"e"],[4912,0,"n"],[4913,0,"d"],[4914,0,"{"],[4915,0,"p"],[4916,0,"r"],[4917,0,"o"],[4918,0,"o"],[4919,0,"f"],[4920,0,"t"],[4921,0,"r"],[4922,0,"e"],[4923,0,"e"],[4924,0,"}"],[4909,0,"\n"],[4910,0,"\\"],[4911,0,"A"],[4912,0,"x"],[4913,0,"i"],[4914,0,"o"],[4915,0,"m"],[4916,0,"C"],[4917,0,"{"],[4918,0,"$"],[4919,0,"("],[4920,0,"\\"],[4921,0,"m"],[4922,0,"a"],[4923,0,"t"],[4924,0,"h"],[4925,0,"s"],[4926,0,"f"],[4927,0,"{"],[4927,1],[4926,1],[4925,1],[4925,0,"i"],[4926,0,"t"],[4927,0,"{"],[4928,0,"d"],[4929,0,"e"],[4930,0,"p"],[4931,0,"s"],[4932,0,"}"],[4933,0,","],[4934,0," "],[4935,0,"\\"],[4936,0,"m"],[4937,0,"a"],[4938,0,"t"],[4939,0,"h"],[4940,0,"i"],[4941,0,"t"],[4942,0,"{"],[4943,0,"i"],[4944,0,"p"],[4944,1],[4943,1],[4943,0,"o"],[4944,0,"p"],[4945,0,"}"],[4946,0,")"],[4947,0," "],[4948,0,"\\"],[4949,0,"i"],[4950,0,"n"],[4951,0," "],[4952,0,"A"],[4953,0,"_"],[4954,0,"p"],[4955,0,"("],[4956,0,"\\"],[4957,0,"m"],[4958,0,"a"],[4959,0,"t"],[4960,0,"h"],[4961,0,"s"],[4962,0,"f"],[4963,0,"{"],[4964,0,"r"],[4965,0,"e"],[4966,0,"c"],[4967,0,"v"],[4968,0,"}"],[4969,0,")"],[4970,0,"$"],[4971,0,"}"],[4972,0,"\n"],[4973,0,"\\"],[4974,0,"A"],[4975,0,"x"],[4976,0,"i"],[4977,0,"o"],[4978,0,"m"],[4979,0,"C"],[4980,0,"{"],[4981,0,"$"],[4982,0," "],[4982,1],[4982,0,"\\"],[4983,0,"m"],[4984,0,"a"],[4985,0,"t"],[4986,0,"h"],[4987,0,"i"],[4988,0,"t"],[4989,0,"{"],[4990,0,"d"],[4991,0,"e"],[4992,0,"p"],[4993,0,"s"],[4994,0,"}"],[4995,0," "],[4996,0,"\\"],[4997,0,"s"],[4998,0,"u"],[4999,0,"b"],[5000,0,"s"],[5001,0,"e"],[5002,0,"t"],[5003,0,"e"],[5004,0,"q"],[5005,0," "],[5006,0,"A"],[5007,0,"_"],[5008,0,"p"],[5009,0,"("],[5010,0,"\\"],[5011,0,"m"],[5012,0,"a"],[5013,0,"t"],[5014,0,"h"],[5015,0,"s"],[5016,0,"f"],[5017,0,"{"],[5018,0,"o"],[5019,0,"p"],[5020,0,"s"],[5021,0,"}"],[5022,0,")"],[5023,0,"$"],[5024,0,"}"],[5025,0,"\n"],[5026,0,"\\"],[5027,0,"A"],[5028,0,"x"],[5029,0,"i"],[5030,0,"o"],[5031,0,"m"],[5032,0,"C"],[5033,0,"{"],[5034,0,"$"],[5035,0,"A"],[5036,0,"_"],[5037,0,"p"],[5038,0,","],[5039,0," "],[5040,0,"\\"],[5041,0,"m"],[5042,0,"a"],[5043,0,"t"],[5044,0,"h"],[5045,0,"i"],[5046,0,"t"],[5047,0,"{"],[5048,0,"o"],[5049,0,"p"],[5050,0,"}"],[5051,0," "],[5052,0,"\\"],[5053,0,"e"],[5054,0,"v"],[5055,0,"a"],[5056,0,"l"],[5057,0,"t"],[5058,0,"o"],[5059,0," "],[5060,0,"A"],[5061,0,"_"],[5062,0,"p"],[5063,0,"'"],[5064,0,"$"],[5065,0,"}"],[5066,0,"\n"],[5067,0,"\\"],[5068,0,"L"],[5069,0,"e"],[5070,0,"f"],[5071,0,"t"],[5072,0,"L"],[5073,0,"a"],[5074,0,"b"],[5075,0,"e"],[5076,0,"l"],[5077,0,"{"],[5078,0,"\\"],[5079,0,"t"],[5080,0,"e"],[5081,0,"x"],[5082,0,"t"],[5083,0,"s"],[5084,0,"c"],[5085,0,"{"],[5086,0,"A"],[5087,0,"p"],[5088,0,"p"],[5089,0,"l"],[5090,0,"y"],[5091,0,"}"],[5092,0,"}"],[5093,0,"\n"],[5094,0,"\\"],[5095,0,"T"],[5096,0,"e"],[5097,0,"r"],[5098,0,"n"],[5099,0,"a"],[5100,0,"r"],[5101,0,"y"],[5101,1],[5100,1],[5099,1],[5098,1],[5097,1],[5096,1],[5096,0,"r"],[5097,0,"i"],[5098,0,"n"],[5099,0,"a"],[5100,0,"r"],[5101,0,"y"],[5102,0,"I"],[5103,0,"n"],[5104,0,"f"],[5105,0,"C"],[5106,0,"{"],[5107,0,"$"],[5108,0,"A"],[5109,0,"_"],[5110,0,"p"],[5111,0,","],[5112,0,"\\"],[5113,0,";"],[5114,0," "],[5115,0,"\\"],[5116,0,"m"],[5117,0,"a"],[5118,0,"t"],[5119,0,"h"],[5120,0,"s"],[5121,0,"f"],[5122,0,"{"],[5123,0,"y"],[5124,0,"i"],[5125,0,"e"],[5126,0,"l"],[5127,0,"d"],[5128,0,"}"],[5129,0," "],[5130,0,"\\"],[5131,0,"e"],[5132,0,"v"],[5133,0,"a"],[5134,0,"l"],[5135,0,"t"],[5136,0,"o"],[5137,0," "],[5138,0,"A"],[5139,0,"_"],[5140,0,"p"],[5141,0,"'"],[5142,0,"["],[5143,0,"\\"],[5144,0,","],[5145,0,"\\"],[5146,0,"m"],[5147,0,"a"],[5148,0,"t"],[5149,0,"h"],[5150,0,"s"],[5151,0,"f"],[5152,0,"{"],[5153,0,"o"],[5154,0,"p"],[5155,0,"s"],[5156,0,"}"],[5157,0," "],[5158,0,"\\"],[5159,0,"m"],[5160,0,"a"],[5161,0,"p"],[5162,0,"s"],[5163,0,"t"],[5164,0,"o"],[5165,0," "],[5166,0,"A"],[5167,0,"_"],[5168,0,"p"],[5169,0,"'"],[5170,0,"("],[5171,0,"\\"],[5172,0,"m"],[5173,0,"a"],[5174,0,"t"],[5175,0,"h"],[5176,0,"s"],[5177,0,"f"],[5178,0,"{"],[5179,0,"o"],[5180,0,"p"],[5181,0,"s"],[5182,0,"}"],[5183,0,")"],[5184,0," "],[5185,0,"\\"],[5186,0,"c"],[5187,0,"u"],[5188,0,"p"],[5189,0," "],[5190,0,"\\"],[5191,0,"{"],[5192,0,"o"],[5193,0,"p"],[5194,0,"\\"],[5195,0,"}"],[5196,0,"\\"],[5197,0,","],[5198,0,"]"],[5199,0,"$"],[5200,0,"}"],[5192,0,"\\"],[5193,0,"m"],[5194,0,"a"],[5195,0,"t"],[5196,0,"h"],[5197,0,"i"],[5198,0,"t"],[5199,0,"{"],[5202,0,"}"],[5039,0,"\\"],[5040,0,";"],[5228,0,"\n"],[5229,0,"\\"],[5230,0,"c"],[5231,0,"a"],[5232,0,"p"],[5233,0,"t"],[5234,0,"i"],[5235,0,"o"],[5236,0,"n"],[5237,0,"{"],[5238,0,"R"],[5239,0,"u"],[5240,0,"l"],[5241,0,"e"],[5242,0,"s"],[5243,0," "],[5244,0,"f"],[5245,0,"o"],[5246,0,"r"],[5247,0," "],[5248,0,"m"],[5249,0,"a"],[5250,0,"i"],[5251,0,"n"],[5252,0,"t"],[5253,0,"i"],[5253,1],[5252,1],[5251,1],[5250,1],[5249,1],[5248,1],[5248,0,"L"],[5249,0,"a"],[5250,0,"m"],[5251,0,"p"],[5252,0,"o"],[5253,0,"r"],[5254,0,"t"],[5255,0," "],[5256,0,"t"],[5257,0,"i"],[5258,0,"m"],[5259,0,"e"],[5260,0,"s"],[5261,0,"t"],[5262,0,"a"],[5263,0,"m"],[5264,0,"p"],[5265,0,"s"],[5266,0,","],[5267,0," "],[5268,0,"s"],[5269,0,"e"],[5270,0,"n"],[5271,0,"d"],[5272,0,"c"],[5273,0,"i"],[5274,0,"n"],[5274,1],[5273,1],[5272,1],[5272,0,"i"],[5273,0,"n"],[5274,0,"g"],[5275,0," "],[5276,0,"a"],[5277,0,"n"],[5278,0,"d"],[5279,0," "],[5280,0,"r"],[5281,0,"e"],[5282,0,"c"],[5283,0,"e"],[5284,0,"i"],[5285,0,"v"],[5286,0,"i"],[5287,0,"n"],[5288,0,"g"],[5289,0," "],[5290,0,"o"],[5291,0,"p"],[5292,0,"e"],[5293,0,"r"],[5294,0,"a"],[5295,0,"t"],[5296,0,"i"],[5297,0,"o"],[5298,0,"n"],[5299,0,"s"],[5300,0,"}"],[5301,0,"\n"],[5302,0,"\\"],[5303,0,"l"],[5304,0,"a"],[5305,0,"b"],[5306,0,"e"],[5307,0,"l"],[5308,0,"{"],[5309,0,"f"],[5310,0,"i"],[5311,0,"g"],[5312,0,":"],[5313,0,"s"],[5314,0,"e"],[5315,0,"n"],[5316,0,"d"],[5317,0,"-"],[5318,0,"r"],[5319,0,"e"],[5320,0,"c"],[5321,0,"v"],[5322,0,"}"],[5323,0,"\n"],[5324,0,"\\"],[5325,0,"e"],[5326,0,"n"],[5327,0,"d"],[5328,0,"{"],[5329,0,"f"],[5330,0,"i"],[5331,0,"g"],[5332,0,"u"],[5333,0,"r"],[5334,0,"e"],[5335,0,"*"],[5336,0,"}"],[5338,0,"\n"],[5339,0,"\\"],[5340,0,"b"],[5341,0,"e"],[5342,0,"g"],[5343,0,"i"],[5344,0,"n"],[5345,0,"{"],[5346,0,"f"],[5347,0,"i"],[5348,0,"g"],[5349,0,"u"],[5350,0,"r"],[5351,0,"e"],[5352,0,"*"],[5353,0,"}"],[4697,1],[4696,1],[4695,1],[4694,1],[4693,1],[4692,1],[4691,1],[4690,1],[4689,1],[4688,1],[4687,1],[4686,1],[4685,1],[4684,1],[4683,1],[4682,1],[4682,0,"p"],[4683,0,"r"],[4684,0,"o"],[4685,0,"o"],[4686,0,"f"],[4687,0,"S"],[4688,0,"k"],[4689,0,"i"],[4690,0,"p"],[4691,0,"A"],[4692,0,"m"],[4693,0,"o"],[4694,0,"u"],[4695,0,"n"],[4696,0,"t"],[4697,0,"'"],[4698,0,"l"],[4699,0,"e"],[4700,0,"a"],[4701,0,"v"],[4702,0,"e"],[4703,0,"v"],[4704,0,"m"],[4705,0,"o"],[4706,0,"d"],[4707,0,"e"],[4697,1],[4697,0,"\\"],[4899,1],[4898,1],[4897,1],[4896,1],[4895,1],[4894,1],[4893,1],[4892,1],[4891,1],[4890,1],[4889,1],[4888,1],[4887,1],[4886,1],[4886,0,"D"],[4887,0,"i"],[4888,0,"s"],[4889,0,"p"],[4890,0,"l"],[4891,0,"a"],[4892,0,"y"],[4893,0,"P"],[4894,0,"r"],[4895,0,"o"],[4896,0,"o"],[4897,0,"f"],[4898,0,"\\"],[4898,1],[4898,0,"\n"],[4899,0,"%"],[4900,0,"\n"],[4901,0,"\\"],[4902,0,"D"],[4903,0,"i"],[4904,0,"s"],[4905,0,"p"],[4906,0,"l"],[4907,0,"a"],[4908,0,"y"],[4909,0,"P"],[4910,0,"r"],[4911,0,"o"],[4912,0,"o"],[4913,0,"f"],[4914,0,"\\"],[4915,0,"p"],[4916,0,"r"],[4917,0,"o"],[4918,0,"o"],[4919,0,"f"],[4920,0,"S"],[4921,0,"k"],[4922,0,"i"],[4923,0,"p"],[4924,0,"A"],[4925,0,"m"],[4926,0,"o"],[4927,0,"u"],[4928,0,"n"],[4929,0,"t"],[4900,0,"\n"],[4901,0,"\\"],[4902,0,"A"],[4903,0,"x"],[4904,0,"i"],[4905,0,"o"],[4906,0,"m"],[4907,0,"C"],[4908,0,"{"],[4909,0,"}"],[4910,0,"\n"],[4911,0,"\\"],[4912,0,"L"],[4913,0,"e"],[4914,0,"f"],[4915,0,"t"],[4916,0,"L"],[4917,0,"a"],[4918,0,"b"],[4919,0,"e"],[4920,0,"l"],[4921,0,"{"],[4922,0,"\\"],[4923,0,"T"],[4924,0,"e"],[4925,0,"x"],[4926,0,"t"],[4927,0,"s"],[4928,0,"c"],[4923,1],[4923,0,"t"],[4929,0,"{"],[4930,0,"Y"],[4931,0,"i"],[4932,0,"e"],[4933,0,"l"],[4934,0,"d"],[4935,0,"-"],[4936,0,"N"],[4937,0,"O"],[4938,0,"P"],[4939,0,"}"],[4940,0,"}"],[4941,0,"\n"],[4942,0,"\\"],[4943,0,"U"],[4944,0,"n"],[4945,0,"a"],[4946,0,"r"],[4947,0,"y"],[4948,0,"I"],[4949,0,"n"],[4950,0,"f"],[4951,0,"C"],[4952,0,"{"],[4953,0,"$"],[4954,0,"A"],[4955,0,"_"],[4956,0,"p"],[4957,0,","],[4958,0,"\\"],[4959,0,";"],[4960,0," "],[4961,0,"\\"],[4962,0,"m"],[4963,0,"a"],[4964,0,"t"],[4965,0,"h"],[4966,0,"s"],[4967,0,"f"],[4968,0,"{"],[4969,0,"y"],[4970,0,"i"],[4971,0,"e"],[4972,0,"l"],[4973,0,"d"],[4974,0,"}"],[4975,0," "],[4976,0,"\\"],[4977,0,"e"],[4978,0,"v"],[4979,0,"a"],[4980,0,"l"],[4981,0,"t"],[4982,0,"o"],[4983,0," "],[4984,0,"A"],[4985,0,"_"],[4986,0,"p"],[4987,0,"$"],[4988,0,"}"],[4898,0,"\\"],[4899,0,"h"],[4900,0,"s"],[4901,0,"p"],[4902,0,"a"],[4903,0,"c"],[4904,0,"e"],[4905,0,"{"],[4906,0,"3"],[4907,0,"0"],[4908,0,"p"],[4909,0,"t"],[4910,0,"}"],[4909,1],[4908,1],[4907,1],[4907,0,"e"],[4908,0,"m"],[5495,0,"\n"],[5496,0,"\\"],[5497,0,"b"],[5498,0,"e"],[5499,0,"g"],[5500,0,"i"],[5501,0,"n"],[5502,0,"{"],[5503,0,"p"],[5504,0,"r"],[5505,0,"o"],[5506,0,"o"],[5507,0,"f"],[5508,0,"t"],[5509,0,"r"],[5510,0,"e"],[5511,0,"e"],[5512,0,"}"],[5513,0,"\n"],[5514,0,"\\"],[5515,0,"e"],[5516,0,"n"],[5517,0,"d"],[5518,0,"{"],[5519,0,"P"],[5519,1],[5519,0,"p"],[5520,0,"r"],[5521,0,"o"],[5522,0,"o"],[5523,0,"f"],[5524,0,"t"],[5525,0,"r"],[5526,0,"e"],[5527,0,"e"],[5528,0,"}"],[5529,0,"\n"],[5513,0,"\n"],[5514,0,"\\"],[5515,0,"L"],[5516,0,"e"],[5517,0,"f"],[5518,0,"t"],[5519,0,"L"],[5520,0,"a"],[5521,0,"b"],[5522,0,"e"],[5523,0,"l"],[5524,0,"{"],[5525,0,"\\"],[5526,0,"t"],[5527,0,"e"],[5528,0,"x"],[5529,0,"t"],[5530,0,"s"],[5531,0,"c"],[5532,0,"{"],[5533,0,"I"],[5534,0,"n"],[5535,0,"s"],[5536,0,"e"],[5537,0,"r"],[5538,0,"t"],[5539,0,"}"],[5540,0,"}"],[5541,0,"\n"],[5541,1],[5513,0,"\n"],[5514,0,"\\"],[5515,0,"A"],[5516,0,"x"],[5517,0,"i"],[5518,0,"o"],[5519,0,"m"],[5520,0,"C"],[5521,0,"{"],[5522,0,"$"],[5523,0,"$"],[5524,0,"}"],[5523,0,"A"],[5524,0,"_"],[5525,0,"p"],[5526,0,","],[5527,0,";"],[5527,1],[5527,0,"\\"],[5528,0,";"],[5529,0,"\\"],[5530,0,"m"],[5531,0,"a"],[5532,0,"t"],[5533,0,"h"],[5534,0,"s"],[5535,0,"f"],[5536,0,"{"],[5537,0,"n"],[5538,0,"e"],[5539,0,"w"],[5540,0,"I"],[5541,0,"D"],[5542,0,"}"],[5529,0," "],[5544,0," "],[5545,0,"\\"],[5546,0,"e"],[5547,0,"v"],[5548,0,"a"],[5549,0,"l"],[5550,0,"t"],[5551,0,"o"],[5552,0," "],[5553,0,"A"],[5554,0,"_"],[5555,0,"p"],[5556,0,"'"],[5557,0,","],[5558,0,"\\"],[5559,0,";"],[5560,0," "],[5561,0,"\\"],[5562,0,"m"],[5563,0,"a"],[5564,0,"t"],[5565,0,"h"],[5566,0,"i"],[5567,0,"d"],[5568,0,"{"],[5569,0,"i"],[5570,0,"d"],[5571,0,"}"],[5567,1],[5567,0,"t"],[5602,0,"\n"],[5603,0,"\\"],[5604,0,"T"],[5605,0,"r"],[5606,0,"i"],[5607,0,"n"],[5608,0,"a"],[5609,0,"r"],[5610,0,"y"],[5611,0,"I"],[5612,0,"n"],[5613,0,"f"],[5614,0,"C"],[5615,0,"{"],[5616,0,"$"],[5617,0,"A"],[5618,0,"_"],[5619,0,"p"],[5620,0,","],[5621,0,"\\"],[5622,0,";"],[5623,0," "],[5624,0,"\\"],[5625,0,"m"],[5626,0,"a"],[5627,0,"t"],[5628,0,"h"],[5629,0,"s"],[5630,0,"f"],[5631,0,"{"],[5632,0,"i"],[5633,0,"n"],[5634,0,"s"],[5635,0,"e"],[5636,0,"r"],[5637,0,"t"],[5638,0,"L"],[5639,0,"o"],[5640,0,"c"],[5641,0,"a"],[5642,0,"l"],[5643,0,"}"],[5644,0,"("],[5645,0,"\\"],[5646,0,"m"],[5647,0,"a"],[5648,0,"t"],[5649,0,"h"],[5650,0,"i"],[5651,0,"t"],[5652,0,"{"],[5653,0,"p"],[5654,0,"r"],[5655,0,"e"],[5656,0,"v"],[5657,0,"}"],[5658,0,")"],[5513,0,"\n"],[5514,0,"\\"],[5515,0,"A"],[5516,0,"x"],[5517,0,"i"],[5518,0,"o"],[5519,0,"m"],[5520,0,"C"],[5521,0,"{"],[5522,0,"$"],[5523,0,"A"],[5523,1],[5523,0,"\\"],[5524,0,"m"],[5525,0,"a"],[5526,0,"t"],[5527,0,"h"],[5528,0,"i"],[5529,0,"t"],[5530,0,"{"],[5531,0,"p"],[5532,0,"r"],[5533,0,"e"],[5534,0,"v"],[5535,0,"}"],[5536,0," "],[5537,0,"\\"],[5538,0,"i"],[5539,0,"n"],[5540,0," "],[5541,0,"\\"],[5542,0,"m"],[5543,0,"a"],[5544,0,"t"],[5545,0,"h"],[5546,0,"r"],[5547,0,"m"],[5548,0,"{"],[5549,0,"d"],[5550,0,"o"],[5551,0,"m"],[5552,0,"}"],[5553,0,"("],[5554,0,"A"],[5555,0,"_"],[5556,0,"p"],[5557,0,")"],[5558,0,"$"],[5559,0,"}"],[5705,0,","],[5706,0," "],[5707,0,"v"],[5709,0," "],[5710,0,"\\"],[5711,0,"e"],[5712,0,"v"],[5713,0,"a"],[5714,0,"l"],[5715,0,"t"],[5716,0,"o"],[5717,0," "],[5718,0,"A"],[5719,0,"_"],[5720,0,"p"],[5721,0,"'"],[5722,0,"'"],[5723,0,"$"],[5724,0,"}"],[5621,0,"\n"],[5622,0,"\\"],[5623,0,"A"],[5624,0,"x"],[5625,0,"i"],[5626,0,"o"],[5627,0,"m"],[5628,0,"C"],[5629,0,"{"],[5630,0,"$"],[5631,0,"A"],[5632,0,"_"],[5633,0,"p"],[5634,0,"'"],[5635,0,","],[5636,0,"\\"],[5637,0,";"],[5637,1],[5636,1],[5635,1],[5634,1],[5633,1],[5632,1],[5631,1],[5631,0,"\\"],[5632,0,"m"],[5633,0,"a"],[5634,0,"t"],[5635,0,"h"],[5636,0,"i"],[5637,0,"t"],[5638,0,"{"],[5639,0,"o"],[5640,0,"p"],[5641,0,"}"],[5738,1],[5738,0,"\n"],[5739,0," "],[5740,0," "],[5741,0," "],[5742,0," "],[5748,0,"["],[5749,0,"\\"],[5750,0,","],[5751,0,"\\"],[5752,0,"m"],[5753,0,"a"],[5754,0,"t"],[5755,0,"h"],[5756,0,"i"],[5757,0,"t"],[5757,1],[5756,1],[5756,0,"s"],[5757,0,"f"],[5758,0,"{"],[5759,0,"n"],[5760,0,"e"],[5761,0,"w"],[5762,0,"O"],[5763,0,"p"],[5764,0,"s"],[5765,0,"}"],[5766,0," "],[5767,0,"\\"],[5768,0,"m"],[5769,0,"a"],[5770,0,"p"],[5771,0,"s"],[5772,0,"t"],[5773,0,"o"],[5774,0," "],[5775,0,"A"],[5776,0,"_"],[5777,0,"p"],[5778,0,"'"],[5779,0,"'"],[5780,0,"("],[5781,0,"\\"],[5782,0,"m"],[5783,0,"a"],[5784,0,"t"],[5785,0,"h"],[5786,0,"s"],[5787,0,"f"],[5788,0,"{"],[5789,0,"n"],[5790,0,"e"],[5791,0,"w"],[5792,0,"O"],[5793,0,"p"],[5794,0,"s"],[5795,0,"}"],[5796,0,")"],[5797,0," "],[5798,0,"\\"],[5799,0,"c"],[5800,0,"u"],[5801,0,"p"],[5802,0," "],[5803,0,"\\"],[5804,0,"{"],[5805,0,"\\"],[5806,0,"m"],[5807,0,"a"],[5808,0,"t"],[5809,0,"h"],[5810,0,"i"],[5811,0,"t"],[5812,0,"{"],[5813,0,"o"],[5814,0,"p"],[5815,0,"}"],[5816,0,"\\"],[5817,0,"}"],[5818,0,"\\"],[5819,0,","],[5820,0,"]"],[5805,0,"\\"],[5805,1],[5805,0,"("],[5806,0,"A"],[5807,0,"_"],[5808,0,"p"],[5809,0,"'"],[5810,0,"'"],[5811,0,"("],[5812,0,"\\"],[5813,0,"m"],[5814,0,"a"],[5815,0,"t"],[5816,0,"h"],[5817,0,"i"],[5818,0,"t"],[5819,0,"{"],[5819,1],[5818,1],[5817,1],[5817,0,"s"],[5818,0,"f"],[5819,0,"{"],[5820,0,"o"],[5821,0,"p"],[5822,0,"s"],[5823,0,"}"],[5824,0,")"],[5825,0,","],[5826,0," "],[5838,0,")"],[5642,0," "],[5643,0,"="],[5644,0," "],[5645,0,"\\"],[5646,0,"m"],[5647,0,"a"],[5648,0,"t"],[5649,0,"h"],[5650,0,"s"],[5651,0,"f"],[5652,0,"{"],[5653,0,"i"],[5654,0,"n"],[5655,0,"s"],[5656,0,"e"],[5657,0,"r"],[5658,0,"t"],[5659,0,"}"],[5660,0,"("],[5661,0,"\\"],[5662,0,"m"],[5663,0,"a"],[5664,0,"t"],[5665,0,"h"],[5666,0,"i"],[5667,0,"t"],[5668,0,"{"],[5669,0,"i"],[5670,0,"d"],[5671,0,"}"],[5672,0,","],[5673,0," "],[5674,0,"\\"],[5675,0,"m"],[5676,0,"a"],[5677,0,"t"],[5678,0,"h"],[5679,0,"i"],[5680,0,"t"],[5681,0,"{"],[5682,0,"p"],[5683,0,"r"],[5684,0,"e"],[5685,0,"v"],[5686,0,"}"],[5687,0,","],[5688,0," "],[5689,0,"v"],[5690,0,")"],[5691,0,"$"],[5692,0,"}"],[5693,0,"\n"],[5694,0,"\\"],[5695,0,"A"],[5696,0,"x"],[5697,0,"c"],[5697,1],[5697,0,"i"],[5698,0,"o"],[5699,0,"m"],[5700,0,"C"],[5701,0,"{"],[5702,0,"$"],[5703,0,"$"],[5704,0,"}"],[5703,0,"A"],[5704,0,"_"],[5705,0,"p"],[5706,0,"'"],[5707,0,","],[5708,0," "],[5709,0,"\\"],[5710,0,"m"],[5711,0,"a"],[5712,0,"t"],[5713,0,"h"],[5714,0,"i"],[5715,0,"t"],[5716,0,"{"],[5717,0,"o"],[5718,0,"p"],[5719,0,"}"],[5720,0," "],[5721,0,"\\"],[5722,0,"e"],[5723,0,"v"],[5724,0,"a"],[5725,0,"l"],[5726,0,"t"],[5727,0,"o"],[5728,0," "],[5729,0,"A"],[5730,0,"_"],[5731,0,"p"],[5732,0,"'"],[5733,0,"'"],[5768,1],[5767,1],[5766,1],[5766,0,"Q"],[5767,0,"u"],[5768,0,"a"],[5769,0,"t"],[5770,0,"e"],[5771,0,"r"],[5938,0,","],[5939,0,"\\"],[5940,0,";"],[5941,0,"\n"],[5942,0," "],[5943,0," "],[5944,0," "],[5945,0," "],[5946,0,"\\"],[5947,0,"m"],[5948,0,"a"],[5949,0,"t"],[5950,0,"h"],[5951,0,"s"],[5952,0,"f"],[5953,0,"{"],[5954,0,"o"],[5955,0,"p"],[5956,0,"s"],[5957,0,"}"],[5861,1],[5860,1],[5859,1],[5858,1],[5857,1],[5856,1],[5856,0,"q"],[5857,0,"u"],[5858,0,"e"],[5859,0,"u"],[5860,0,"e"],[5890,1],[5889,1],[5888,1],[5887,1],[5886,1],[5885,1],[5885,0,"q"],[5886,0,"u"],[5887,0,"e"],[5888,0,"u"],[5889,0,"e"],[4655,1],[4654,1],[4653,1],[4652,1],[4651,1],[4650,1],[4650,0,"q"],[4651,0,"u"],[4652,0,"e"],[4653,0,"u"],[4654,0,"e"],[5000,1],[4999,1],[4998,1],[4997,1],[4996,1],[4995,1],[4994,1],[4993,1],[4992,1],[4991,1],[4990,1],[4989,1],[4988,1],[4987,1],[4986,1],[4985,1],[4984,1],[4983,1],[4982,1],[4981,1],[4980,1],[4979,1],[4978,1],[4977,1],[4976,1],[4975,1],[4974,1],[4973,1],[4972,1],[4971,1],[4970,1],[4969,1],[4968,1],[4967,1],[4966,1],[4965,1],[4964,1],[4963,1],[4962,1],[4961,1],[4960,1],[4959,1],[4958,1],[4957,1],[4956,1],[4955,1],[4954,1],[4953,1],[4952,1],[4951,1],[4950,1],[4949,1],[4948,1],[4947,1],[4946,1],[4945,1],[4944,1],[4943,1],[4942,1],[4941,1],[4940,1],[4939,1],[4938,1],[4937,1],[4936,1],[4935,1],[4934,1],[4933,1],[4932,1],[4931,1],[4930,1],[4929,1],[4928,1],[4927,1],[4926,1],[4925,1],[4924,1],[4923,1],[4922,1],[4921,1],[4920,1],[4919,1],[4918,1],[4917,1],[4916,1],[4915,1],[4914,1],[4913,1],[4912,1],[4911,1],[4910,1],[4909,1],[4908,1],[4907,1],[4906,1],[4905,1],[4904,1],[4903,1],[4902,1],[4901,1],[4900,1],[4899,1],[4898,1],[4897,1],[4896,1],[4895,1],[4894,1],[4893,1],[4892,1],[4891,1],[4890,1],[4889,1],[4888,1],[4887,1],[4886,1],[4885,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,1],[4884,0,"\\"],[4885,0,"e"],[4886,0,"n"],[4887,0,"d"],[4888,0,"{"],[4889,0,"p"],[4890,0,"r"],[4891,0,"o"],[4892,0,"o"],[4893,0,"f"],[4894,0,"t"],[4895,0,"r"],[4896,0,"e"],[4897,0,"e"],[4898,0,"}"],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,1],[4680,0,"\\"],[4681,0,"b"],[4682,0,"e"],[4683,0,"g"],[4684,0,"i"],[4685,0,"n"],[4686,0,"{"],[4687,0,"p"],[4688,0,"r"],[4689,0,"o"],[4690,0,"o"],[4691,0,"f"],[4692,0,"t"],[4693,0,"r"],[4694,0,"e"],[4695,0,"e"],[4696,0,"}"],[5814,0," "],[5815,0,"\\"],[5816,0,"m"],[5817,0,"a"],[5818,0,"p"],[5819,0,"s"],[5820,0,"t"],[5821,0,"o"],[5822,0," "],[5823,0,"A"],[5824,0,"_"],[5825,0,"p"],[5826,0,"'"],[5827,0,"'"],[5828,0,"("],[5829,0,"\\"],[5830,0,"m"],[5831,0,"a"],[5832,0,"t"],[5833,0,"h"],[5834,0,"s"],[5835,0,"f"],[5836,0,"{"],[5837,0,"o"],[5838,0,"p"],[5839,0,"s"],[5840,0,"}"],[5841,0," "],[5842,0,"\\"],[5842,1],[5841,1],[5840,1],[5840,0,"}"],[5841,0,")"],[5842,0," "],[5843,0,"\\"],[5844,0,"c"],[5845,0,"u"],[5846,0,"p"],[5847,0," "],[5848,0,"\\"],[5849,0,"{"],[5850,0,"\\"],[5851,0,"m"],[5852,0,"a"],[5853,0,"t"],[5854,0,"h"],[5855,0,"i"],[5856,0,"t"],[5857,0,"{"],[5858,0,"o"],[5859,0,"p"],[5860,0,"}"],[5861,0,"\\"],[5862,0,"}"],[5227,0,"\n"],[5228,0,"\n"],[5229,0,"\\"],[5230,0,"b"],[5231,0,"e"],[5232,0,"g"],[5233,0,"i"],[5234,0,"n"],[5235,0,"{"],[5236,0,"p"],[5237,0,"r"],[5238,0,"o"],[5239,0,"o"],[5240,0,"f"],[5241,0,"t"],[5242,0,"r"],[5243,0,"e"],[5244,0,"e"],[5245,0,"}"],[5246,0,"\n"],[5247,0,"\\"],[5248,0,"e"],[5249,0,"n"],[5250,0,"d"],[5251,0,"{"],[5252,0,"p"],[5253,0,"r"],[5254,0,"o"],[5255,0,"o"],[5256,0,"f"],[5257,0,"t"],[5258,0,"r"],[5259,0,"e"],[5260,0,"e"],[5261,0,"}"],[5246,0,"\n"],[5247,0,"\\"],[5248,0,"B"],[5249,0,"i"],[5250,0,"n"],[5251,0,"a"],[5252,0,"r"],[5253,0,"y"],[5254,0,"I"],[5255,0,"n"],[5256,0,"f"],[5257,0,"C"],[5258,0,"{"],[5259,0,"$"],[5260,0,"A"],[5261,0,"_"],[5262,0,"p"],[5263,0,","],[5264,0,"\\"],[5265,0,";"],[5092,0,"-"],[5093,0,"R"],[5093,1],[5092,1],[5266,0," "],[5267,0,"\\"],[5268,0,"m"],[5269,0,"a"],[5270,0,"t"],[5271,0,"h"],[5272,0,"i"],[5273,0,"t"],[5274,0,"{"],[5275,0,"c"],[5276,0,"m"],[5277,0,"d"],[5278,0,"}"],[5279,0," "],[5280,0,"\\"],[5281,0,"e"],[5282,0,"v"],[5283,0,"a"],[5284,0,"l"],[5285,0,"t"],[5286,0,"o"],[5287,0," "],[5288,0,"A"],[5289,0,"_"],[5290,0,"p"],[5291,0,"'"],[5292,0,","],[5293,0,"\\"],[5294,0,";"],[5295,0," "],[5295,1],[5294,1],[5293,1],[5292,1],[5292,0,"["],[5293,0,"\\"],[5294,0,","],[5246,0,"\n"],[5247,0,"\\"],[5248,0,"A"],[5249,0,"x"],[5250,0,"i"],[5251,0,"o"],[5252,0,"m"],[5253,0,"C"],[5254,0,"{"],[5255,0,"$"],[5256,0,"A"],[5257,0,"_"],[5258,0,"p"],[5259,0,","],[5260,0,"\\"],[5261,0,";"],[5262,0," "],[5263,0,"\\"],[5264,0,"m"],[5265,0,"a"],[5266,0,"t"],[5267,0,"h"],[5268,0,"i"],[5269,0,"t"],[5270,0,"{"],[5271,0,"c"],[5272,0,"m"],[5273,0,"d"],[5274,0,"}"],[5275,0," "],[5276,0,"\\"],[5277,0,"e"],[5278,0,"v"],[5279,0,"a"],[5280,0,"l"],[5281,0,"t"],[5282,0,"o"],[5283,0," "],[5284,0,"A"],[5285,0,"_"],[5286,0,"p"],[5287,0,"'"],[5288,0,","],[5289,0,"\\"],[5290,0,";"],[5291,0,"\\"],[5292,0,"m"],[5293,0,"a"],[5291,0," "],[5295,0,"t"],[5296,0,"h"],[5297,0,"i"],[5298,0,"t"],[5299,0,"{"],[5300,0,"o"],[5301,0,"p"],[5302,0,"}"],[5303,0,"$"],[5304,0,"}"],[5307,1],[5307,1],[5307,0,"U"],[5305,0,"\n"],[5306,0,"\\"],[5307,0,"L"],[5308,0,"e"],[5309,0,"f"],[5310,0,"t"],[5311,0,"L"],[5312,0,"a"],[5313,0,"b"],[5314,0,"e"],[5315,0,"l"],[5092,0,"-"],[5093,0,"R"],[5094,0,"e"],[5095,0,"m"],[5096,0,"o"],[5097,0,"t"],[5098,0,"e"],[5323,0,"{"],[5324,0,"\\"],[5325,0,"t"],[5326,0,"e"],[5327,0,"x"],[5328,0,"t"],[5329,0,"s"],[5330,0,"c"],[5331,0,"{"],[5332,0,"A"],[5333,0,"p"],[5334,0,"p"],[5335,0,"l"],[5336,0,"y"],[5337,0,"-"],[5338,0,"L"],[5339,0,"o"],[5340,0,"c"],[5341,0,"a"],[5342,0,"l"],[5343,0,"}"],[5344,0,"}"],[5393,0,"\n"],[5394,0," "],[5395,0," "],[5396,0," "],[5397,0," "],[5398,0,"\\"],[5399,0,"m"],[5400,0,"a"],[5401,0,"t"],[5402,0,"h"],[5403,0,"s"],[5404,0,"f"],[5405,0,"{"],[5406,0,"q"],[5407,0,"u"],[5408,0,"e"],[5409,0,"u"],[5410,0,"e"],[5411,0,"}"],[5412,0," "],[5413,0,"\\"],[5414,0,"m"],[5415,0,"a"],[5416,0,"p"],[5417,0,"s"],[5418,0,"t"],[5419,0,"o"],[5420,0," "],[5421,0,"\\"],[5421,1],[5421,0,"A"],[5422,0,"_"],[5423,0,"p"],[5424,0,"'"],[5425,0,"("],[5426,0,"\\"],[5427,0,"m"],[5428,0,"a"],[5429,0,"t"],[5430,0,"h"],[5431,0,"s"],[5432,0,"f"],[5433,0,"{"],[5434,0,"q"],[5435,0,"u"],[5436,0,"e"],[5437,0,"u"],[5438,0,"e"],[5439,0,"}"],[5440,0,")"],[5441,0," "],[5442,0,"\\"],[5443,0,"c"],[5444,0,"u"],[5445,0,"p"],[5446,0," "],[5447,0,"\\"],[5448,0,"{"],[5449,0,"("],[5450,0,"A"],[5451,0,"_"],[5452,0,"p"],[5453,0,"'"],[5454,0,"("],[5455,0,"\\"],[5456,0,"m"],[5457,0,"a"],[5458,0,"t"],[5459,0,"h"],[5460,0,"s"],[5461,0,"f"],[5462,0,"{"],[5463,0,"o"],[5464,0,"p"],[5465,0,"s"],[5466,0,"}"],[5467,0,")"],[5468,0,","],[5469,0," "],[5470,0,"\\"],[5471,0,"m"],[5472,0,"a"],[5473,0,"t"],[5474,0,"h"],[5475,0,"i"],[5476,0,"t"],[5477,0,"{"],[5478,0,"o"],[5479,0,"p"],[5480,0,"}"],[5481,0,")"],[5482,0,"\\"],[5483,0,"}"],[5484,0,","],[5485,0,"\\"],[5486,0,";"],[5487,0,"\n"],[5488,0," "],[5489,0," "],[5490,0," "],[5491,0," "],[5492,0,"\\"],[5493,0,"m"],[5494,0,"a"],[5495,0,"t"],[5496,0,"h"],[5497,0,"s"],[5498,0,"f"],[5499,0,"{"],[5500,0,"o"],[5501,0,"p"],[5502,0,"s"],[5503,0,"}"],[5504,0," "],[5505,0,"\\"],[5506,0,"m"],[5507,0,"a"],[5508,0,"p"],[5509,0,"s"],[5510,0,"t"],[5511,0,"o"],[5512,0," "],[5513,0,"A"],[5514,0,"_"],[5515,0,"p"],[5516,0,"'"],[5517,0,"("],[5518,0,"\\"],[5519,0,"m"],[5520,0,"a"],[5521,0,"t"],[5522,0,"h"],[5523,0,"s"],[5524,0,"f"],[5525,0,"{"],[5526,0,"o"],[5527,0,"p"],[5528,0,"s"],[5529,0,"}"],[5530,0,")"],[5531,0," "],[5532,0,"\\"],[5533,0,"c"],[5534,0,"u"],[5535,0,"p"],[5536,0," "],[5537,0,"\\"],[5538,0,"{"],[5539,0,"\\"],[5540,0,"m"],[5541,0,"a"],[5542,0,"t"],[5543,0,"h"],[5544,0,"i"],[5545,0,"t"],[5546,0,"{"],[5547,0,"o"],[5548,0,"p"],[5549,0,"}"],[5550,0,"\\"],[5551,0,"}"],[5552,0,"\\"],[5553,0,","],[5554,0,"]"],[5555,0,"$"],[5556,0,"}"],[4889,0,"\n"],[4890,0,"\n"],[4891,0,"\\"],[4892,0,"b"],[4893,0,"e"],[4894,0,"g"],[4895,0,"i"],[4896,0,"n"],[4897,0,"{"],[4898,0,"p"],[4899,0,"r"],[4900,0,"o"],[4901,0,"o"],[4902,0,"f"],[4903,0,"t"],[4904,0,"r"],[4905,0,"e"],[4906,0,"e"],[4907,0,"}"],[4908,0,"\n"],[4909,0,"\\"],[4910,0,"A"],[4911,0,"x"],[4912,0,"i"],[4913,0,"o"],[4914,0,"m"],[4915,0,"C"],[4916,0,"{"],[4917,0,"$"],[4918,0,"A"],[4919,0,"_"],[4920,0,"p"],[4921,0,","],[4922,0,"\\"],[4923,0,";"],[4924,0," "],[4925,0,"\\"],[4926,0,"m"],[4927,0,"a"],[4928,0,"t"],[4929,0,"h"],[4930,0,"i"],[4931,0,"t"],[4932,0,"{"],[4933,0,"c"],[4934,0,"m"],[4935,0,"d"],[4936,0,"}"],[4937,0," "],[4938,0,"\\"],[4939,0,"e"],[4940,0,"v"],[4941,0,"a"],[4942,0,"l"],[4943,0,"t"],[4944,0,"o"],[4945,0," "],[4946,0,"A"],[4947,0,"_"],[4948,0,"p"],[4949,0,"'"],[4950,0,","],[4951,0,"\\"],[4952,0,";"],[4953,0," "],[4954,0,"\\"],[4955,0,"m"],[4956,0,"a"],[4957,0,"t"],[4958,0,"h"],[4959,0,"i"],[4960,0,"t"],[4961,0,"{"],[4962,0,"o"],[4963,0,"p"],[4964,0,"}"],[4965,0,"$"],[4966,0,"}"],[4967,0,"\n"],[4968,0,"\\"],[4969,0,"L"],[4970,0,"e"],[4971,0,"f"],[4972,0,"t"],[4973,0,"L"],[4974,0,"a"],[4975,0,"b"],[4976,0,"e"],[4977,0,"l"],[4978,0,"{"],[4979,0,"\\"],[4980,0,"t"],[4981,0,"e"],[4982,0,"x"],[4983,0,"t"],[4984,0,"s"],[4985,0,"c"],[4986,0,"{"],[4987,0,"A"],[4988,0,"p"],[4989,0,"p"],[4990,0,"l"],[4991,0,"y"],[4992,0,"-"],[4993,0,"L"],[4994,0,"o"],[4995,0,"c"],[4996,0,"a"],[4997,0,"l"],[4998,0,"}"],[4999,0,"}"],[5000,0,"\n"],[5001,0,"\\"],[5002,0,"U"],[5003,0,"n"],[5004,0,"a"],[5005,0,"r"],[5006,0,"y"],[5007,0,"I"],[5008,0,"n"],[5009,0,"f"],[5010,0,"C"],[5011,0,"{"],[5012,0,"$"],[5013,0,"A"],[5014,0,"_"],[5015,0,"p"],[5016,0,","],[5017,0,"\\"],[5018,0,";"],[5019,0," "],[5020,0,"\\"],[5021,0,"m"],[5022,0,"a"],[5023,0,"t"],[5024,0,"h"],[5025,0,"i"],[5026,0,"t"],[5027,0,"{"],[5028,0,"c"],[5029,0,"m"],[5030,0,"d"],[5031,0,"}"],[5032,0," "],[5033,0,"\\"],[5034,0,"e"],[5035,0,"v"],[5036,0,"a"],[5037,0,"l"],[5038,0,"t"],[5039,0,"o"],[5040,0," "],[5041,0,"A"],[5042,0,"_"],[5043,0,"p"],[5044,0,"'"],[5045,0,","],[5046,0,"\\"],[5046,1],[5045,1],[5045,0,"["],[5046,0,"\\"],[5047,0,","],[5048,0,"\n"],[5049,0," "],[5050,0," "],[5051,0," "],[5052,0," "],[5053,0,"\\"],[5054,0,"m"],[5055,0,"a"],[5056,0,"t"],[5057,0,"h"],[5058,0,"s"],[5059,0,"f"],[5060,0,"{"],[5061,0,"q"],[5062,0,"u"],[5063,0,"e"],[5064,0,"u"],[5065,0,"e"],[5066,0,"}"],[5067,0," "],[5068,0,"\\"],[5069,0,"m"],[5070,0,"a"],[5071,0,"p"],[5072,0,"s"],[5073,0,"t"],[5074,0,"o"],[5075,0," "],[5076,0,"A"],[5077,0,"_"],[5078,0,"p"],[5079,0,"'"],[5080,0,"("],[5081,0,"\\"],[5082,0,"m"],[5083,0,"a"],[5084,0,"t"],[5085,0,"h"],[5086,0,"s"],[5087,0,"f"],[5088,0,"{"],[5089,0,"q"],[5090,0,"u"],[5091,0,"e"],[5092,0,"u"],[5093,0,"e"],[5094,0,"}"],[5095,0,")"],[5096,0," "],[5097,0,"\\"],[5098,0,"c"],[5099,0,"u"],[5100,0,"p"],[5101,0," "],[5102,0,"\\"],[5103,0,"{"],[5104,0,"("],[5105,0,"A"],[5106,0,"_"],[5107,0,"p"],[5108,0,"'"],[5109,0,"("],[5110,0,"\\"],[5111,0,"m"],[5112,0,"a"],[5113,0,"t"],[5114,0,"h"],[5115,0,"s"],[5116,0,"f"],[5117,0,"{"],[5118,0,"o"],[5119,0,"p"],[5120,0,"s"],[5121,0,"}"],[5122,0,")"],[5123,0,","],[5124,0," "],[5125,0,"\\"],[5126,0,"m"],[5127,0,"a"],[5128,0,"t"],[5129,0,"h"],[5130,0,"i"],[5131,0,"t"],[5132,0,"{"],[5133,0,"o"],[5134,0,"p"],[5135,0,"}"],[5136,0,")"],[5137,0,"\\"],[5138,0,"}"],[5139,0,","],[5140,0,"\\"],[5141,0,"'"],[5141,1],[5141,0,";"],[5142,0,"\n"],[5143,0," "],[5144,0," "],[5145,0," "],[5146,0," "],[5147,0,"\\"],[5148,0,"m"],[5149,0,"a"],[5150,0,"t"],[5151,0,"h"],[5152,0,"s"],[5153,0,"f"],[5154,0,"{"],[5155,0,"o"],[5156,0,"p"],[5157,0,"s"],[5158,0,"}"],[5159,0," "],[5160,0,"\\"],[5161,0,"m"],[5162,0,"a"],[5163,0,"p"],[5164,0,"s"],[5165,0,"t"],[5166,0,"o"],[5167,0," "],[5168,0,"\\"],[5169,0,"A"],[5170,0,"_"],[5171,0,"p"],[5172,0,"'"],[5173,0,"("],[5174,0,"\\"],[5175,0,"m"],[5176,0,"a"],[5177,0,"t"],[5178,0,"h"],[5179,0,"s"],[5180,0,"f"],[5181,0,"{"],[5182,0,"o"],[5183,0,"p"],[5184,0,"s"],[5185,0,"}"],[5186,0,")"],[5187,0," "],[5188,0,"\\"],[5189,0,"c"],[5190,0,"u"],[5191,0,"p"],[5097,0,"\\"],[5098,0,";"],[5103,0,"\\"],[5104,0,";"],[5196,0," "],[5197,0,"\\"],[5198,0,"{"],[5199,0,"\\"],[5200,0,"m"],[5201,0,"a"],[5202,0,"t"],[5203,0,"h"],[5204,0,"i"],[5205,0,"t"],[5206,0,"{"],[5207,0,"o"],[5208,0,"p"],[5209,0,"}"],[5210,0,"\\"],[5211,0,"}"],[5212,0,"\\"],[5213,0,","],[5214,0,"]"],[5215,0,"$"],[5216,0,"}"],[5217,0,"\n"],[5218,0,"\\"],[5219,0,"e"],[5220,0,"n"],[5221,0,"d"],[5222,0,"{"],[5223,0,"p"],[5224,0,"r"],[5225,0,"o"],[5226,0,"o"],[5227,0,"f"],[5228,0,"t"],[5229,0,"r"],[5230,0,"e"],[5231,0,"e"],[5232,0,"}"],[5916,1],[5915,1],[5914,1],[5913,1],[5912,1],[5911,1],[5910,1],[5909,1],[5908,1],[5907,1],[5906,1],[5905,1],[5904,1],[5903,1],[5902,1],[5901,1],[5900,1],[5899,1],[5898,1],[5897,1],[5896,1],[5895,1],[5894,1],[5893,1],[5892,1],[5891,1],[5890,1],[5889,1],[5888,1],[5887,1],[5886,1],[5885,1],[5884,1],[5883,1],[5882,1],[5881,1],[5880,1],[5879,1],[5878,1],[5877,1],[5876,1],[5875,1],[5874,1],[5873,1],[5872,1],[5871,1],[5870,1],[5869,1],[5868,1],[5867,1],[5866,1],[5865,1],[5864,1],[5863,1],[5862,1],[5861,1],[5860,1],[5859,1],[5858,1],[5857,1],[5856,1],[5855,1],[5854,1],[5853,1],[5852,1],[5851,1],[5850,1],[5849,1],[5848,1],[5847,1],[5846,1],[5845,1],[5844,1],[5843,1],[5842,1],[5841,1],[5840,1],[5839,1],[5838,1],[5837,1],[5836,1],[5835,1],[5834,1],[5833,1],[5832,1],[5831,1],[5830,1],[5829,1],[5828,1],[5827,1],[5826,1],[5825,1],[5824,1],[5823,1],[5822,1],[5821,1],[5820,1],[5819,1],[5818,1],[5817,1],[5816,1],[5815,1],[5814,1],[5813,1],[5812,1],[5811,1],[5810,1],[5809,1],[5808,1],[5807,1],[5806,1],[5805,1],[5804,1],[5803,1],[5802,1],[5801,1],[5800,1],[5799,1],[5798,1],[5797,1],[5796,1],[5795,1],[5794,1],[5793,1],[5792,1],[5791,1],[5790,1],[5789,1],[5788,1],[5787,1],[5786,1],[5785,1],[5784,1],[5783,1],[5782,1],[5781,1],[5780,1],[5779,1],[5778,1],[5777,1],[5776,1],[5775,1],[5774,1],[5773,1],[5772,1],[5771,1],[5770,1],[5769,1],[5768,1],[5767,1],[5766,1],[5765,1],[5764,1],[5763,1],[5762,1],[5761,1],[5760,1],[5759,1],[5758,1],[5757,1],[5756,1],[5755,1],[5754,1],[5753,1],[5752,1],[5751,1],[5750,1],[5749,1],[5748,1],[5747,1],[5746,1],[5745,1],[5744,1],[5743,1],[5742,1],[5741,1],[5740,1],[5739,1],[5738,1],[5737,1],[5736,1],[5735,1],[5734,1],[5733,1],[5732,1],[5731,1],[5730,1],[5729,1],[5728,1],[5727,1],[5726,1],[5725,1],[5724,1],[5723,1],[5722,1],[5721,1],[5720,1],[5719,1],[5718,1],[5717,1],[5716,1],[5715,1],[5714,1],[5713,1],[5712,1],[5711,1],[5710,1],[5709,1],[5708,1],[5707,1],[5706,1],[5705,1],[5704,1],[5703,1],[5702,1],[5701,1],[5700,1],[5699,1],[5698,1],[5697,1],[5696,1],[5695,1],[5694,1],[5693,1],[5692,1],[5691,1],[5690,1],[5689,1],[5688,1],[5687,1],[5686,1],[5685,1],[5684,1],[5683,1],[5682,1],[5681,1],[5680,1],[5679,1],[5678,1],[5677,1],[5676,1],[5675,1],[5674,1],[5673,1],[5672,1],[5671,1],[5670,1],[5669,1],[5668,1],[5667,1],[5666,1],[5665,1],[5664,1],[5663,1],[5662,1],[5661,1],[5660,1],[5659,1],[5658,1],[5657,1],[5656,1],[5655,1],[5654,1],[5653,1],[5652,1],[5651,1],[5650,1],[5649,1],[5648,1],[5647,1],[5646,1],[5645,1],[5644,1],[5643,1],[5642,1],[5641,1],[5640,1],[5639,1],[5638,1],[5637,1],[5636,1],[5635,1],[5634,1],[5633,1],[5632,1],[5631,1],[5630,1],[5629,1],[5628,1],[5627,1],[5626,1],[5625,1],[5624,1],[5623,1],[5622,1],[5621,1],[5620,1],[5619,1],[5618,1],[5617,1],[5616,1],[5615,1],[5614,1],[5613,1],[5612,1],[5611,1],[5610,1],[5609,1],[5608,1],[5607,1],[5606,1],[5605,1],[5604,1],[5603,1],[5602,1],[5601,1],[5600,1],[5599,1],[5598,1],[5597,1],[5596,1],[5595,1],[5594,1],[5593,1],[5592,1],[5591,1],[5590,1],[5589,1],[5588,1],[5587,1],[5586,1],[5585,1],[5584,1],[5583,1],[5582,1],[5581,1],[5580,1],[5579,1],[5578,1],[5172,1],[5191,0,"\\"],[5192,0,";"],[5197,0,"\\"],[5198,0,";"],[5540,0,"'"],[5541,0,";"],[5541,1],[5540,1],[5540,0,"\\"],[5541,0,";"],[5546,0,"\\"],[5547,0,";"],[5492,0,"\n"],[5493,0," "],[5494,0," "],[5495,0," "],[4797,0,"\n"],[4798,0," "],[4799,0," "],[4800,0," "],[4853,0,"\\"],[4854,0,";"],[4849,0,"\\"],[4850,0,";"],[4585,0,"\n"],[4586,0," "],[4587,0," "],[4588,0," "],[4641,0,"\\"],[4642,0,";"],[4637,0,"\\"],[4638,0,";"],[4638,1],[4638,0,","],[4644,1],[4644,0,","],[4864,1],[4864,0,","],[4858,1],[4858,0,","],[4830,0,"\\"],[4831,0,","],[4839,0,"\\"],[4840,0,","],[4610,0,"\\"],[4611,0,","],[4619,0,"\\"],[4620,0,","],[5092,0,"\\"],[5093,0,","],[5101,0,"\\"],[5102,0,","],[5192,0,"\\"],[5193,0,","],[5201,0,"\\"],[5202,0,","],[5230,1],[5230,0,","],[5224,1],[5224,0,","],[5132,1],[5132,0,","],[5126,1],[5126,0,","],[5577,1],[5577,0,","],[5583,1],[5583,0,","],[5549,0,"\\"],[5550,0,","],[5558,0,"\\"],[5559,0,","],[6100,1],[6100,0,","],[6101,0,"\\"],[6102,0,";"],[6103,0," "],[6104,0,"\\"],[6105,0,"m"],[6106,0,"a"],[6107,0,"t"],[6108,0,"h"],[6109,0,"s"],[6110,0,"f"],[6111,0,"{"],[6112,0,"i"],[6113,0,"n"],[6114,0,"s"],[6115,0,"e"],[6116,0,"r"],[6117,0,"t"],[6118,0,"}"],[6119,0,"("],[6120,0,"\\"],[6121,0,"m"],[6122,0,"a"],[6123,0,"t"],[6124,0,"h"],[6125,0,"i"],[6126,0,"t"],[6127,0,"{"],[6128,0,"i"],[6129,0,"d"],[6130,0,"}"],[6131,0,","],[6132,0," "],[6133,0,"\\"],[6134,0,"m"],[6135,0,"a"],[6136,0,"t"],[6137,0,"h"],[6138,0,"i"],[6139,0,"t"],[6140,0,"{"],[6141,0,"p"],[6142,0,"r"],[6143,0,"e"],[6144,0,"v"],[6145,0,"}"],[6146,0,","],[6147,0," "],[6148,0,"v"],[6149,0,")"],[6150,0,"$"],[6151,0,"}"],[6152,0,"\n"],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[6153,1],[5991,1],[5990,1],[5989,1],[5988,1],[5987,1],[5986,1],[5985,1],[5984,1],[5983,1],[5982,1],[5981,1],[5980,1],[5979,1],[5978,1],[5977,1],[5976,1],[5975,1],[5974,1],[5973,1],[5972,1],[5971,1],[5970,1],[5969,1],[5968,1],[5967,1],[5966,1],[5965,1],[5964,1],[5963,1],[5962,1],[5961,1],[5960,1],[5959,1],[5958,1],[5957,1],[5956,1],[5955,1],[5954,1],[5953,1],[5952,1],[5951,1],[5950,1],[5949,1],[5948,1],[5947,1],[5946,1],[5945,1],[5944,1],[5943,1],[5942,1],[5941,1],[5940,1],[5939,1],[5938,1],[5937,1],[5936,1],[5935,1],[5934,1],[5933,1],[5932,1],[5931,1],[5930,1],[5929,1],[5928,1],[5927,1],[5926,1],[5925,1],[5924,1],[5923,1],[5922,1],[5921,1],[5920,1],[5919,1],[5918,1],[5917,1],[5916,1],[5915,1],[5914,1],[5913,1],[5912,1],[5911,1],[5910,1],[5909,1],[5908,1],[5907,1],[5906,1],[5905,1],[5904,1],[5903,1],[5902,1],[5901,1],[5900,1],[5899,1],[5898,1],[5897,1],[5896,1],[5895,1],[5894,1],[5893,1],[5892,1],[5891,1],[5890,1],[5889,1],[5888,1],[5887,1],[5886,1],[5885,1],[5884,1],[5883,1],[5882,1],[5881,1],[5880,1],[5879,1],[5878,1],[5877,1],[5907,1],[5907,1],[5907,1],[5907,1],[5907,1],[5907,1],[5907,0,"B"],[5908,0,"i"],[4488,0,"\\"],[4489,0,"p"],[4490,0,"r"],[4491,0,"o"],[4492,0,"o"],[4493,0,"f"],[4494,0,"S"],[4495,0,"k"],[4496,0,"i"],[4497,0,"p"],[4498,0,"A"],[4499,0,"m"],[4500,0,"o"],[4501,0,"u"],[4502,0,"n"],[4503,0,"t"],[7250,1],[7250,1],[7250,1],[7250,1],[7172,1],[7172,1],[7172,1],[7172,1],[7137,1],[7137,1],[7137,1],[7137,1],[7077,1],[7077,1],[7077,1],[7077,1],[7005,1],[7005,1],[7005,1],[7005,1],[6883,1],[6883,1],[6883,1],[6883,1],[6844,1],[6844,1],[6844,1],[6844,1],[6762,1],[6762,1],[6762,1],[6762,1],[6719,1],[6719,1],[6719,1],[6719,1],[6635,1],[6635,1],[6635,1],[6635,1],[6533,1],[6533,1],[6533,1],[6533,1],[6447,1],[6447,1],[6447,1],[6447,1],[6364,1],[6364,1],[6364,1],[6364,1],[6325,1],[6325,1],[6325,1],[6325,1],[6265,1],[6265,1],[6265,1],[6265,1],[6222,1],[6222,1],[6222,1],[6222,1],[6138,1],[6138,1],[6138,1],[6138,1],[6085,1],[6085,1],[6085,1],[6085,1],[6065,0,"\n"],[6066,0,"\n"],[6067,0,"\\"],[6068,0,"b"],[6069,0,"e"],[6070,0,"g"],[6071,0,"i"],[6072,0,"n"],[6073,0,"{"],[6074,0,"p"],[6075,0,"r"],[6076,0,"o"],[6077,0,"o"],[6078,0,"f"],[6079,0,"t"],[6080,0,"r"],[6081,0,"e"],[6082,0,"e"],[6083,0,"}"],[6084,0,"\n"],[6085,0,"\\"],[6086,0,"e"],[6087,0,"n"],[6088,0,"d"],[6089,0,"{"],[6090,0,"p"],[6091,0,"r"],[6092,0,"o"],[6093,0,"o"],[6094,0,"f"],[6095,0,"t"],[6096,0,"r"],[6097,0,"e"],[6098,0,"e"],[6099,0,"}"],[6084,0,"\n"],[6085,0,"\\"],[6086,0,"A"],[6087,0,"x"],[6088,0,"i"],[6089,0,"o"],[6090,0,"m"],[6091,0,"C"],[6092,0,"{"],[6093,0,"$"],[6094,0,"\\"],[6095,0,"m"],[6096,0,"a"],[6097,0,"t"],[6098,0,"h"],[6099,0,"i"],[6100,0,"t"],[6101,0,"{"],[6102,0,"t"],[6103,0,"a"],[6104,0,"r"],[6105,0,"g"],[6106,0,"e"],[6107,0,"t"],[6108,0,"}"],[6109,0," "],[6110,0,"\\"],[6111,0,"i"],[6112,0,"n"],[6113,0," "],[6114,0,"\\"],[6115,0,"m"],[6116,0,"a"],[6117,0,"t"],[6118,0,"h"],[6119,0,"r"],[6120,0,"m"],[6121,0,"{"],[6122,0,"d"],[6123,0,"o"],[6124,0,"m"],[6125,0,"}"],[6126,0,"("],[6127,0,"A"],[6128,0,"_"],[6129,0,"p"],[6130,0,")"],[6131,0,"$"],[6132,0,"}"],[6133,0,"\n"],[6134,0,"\\"],[6135,0,"A"],[6136,0,"x"],[6137,0,"i"],[6138,0,"o"],[6139,0,"m"],[6140,0,"C"],[6141,0,"{"],[6142,0,"$"],[6143,0,"A"],[6144,0,"_"],[6145,0,"p"],[6146,0,","],[6147,0,"\\"],[6148,0,";"],[6149,0," "],[6150,0,"\\"],[6151,0,"m"],[6152,0,"a"],[6153,0,"t"],[6154,0,"h"],[6155,0,"s"],[6156,0,"f"],[6157,0,"{"],[6158,0,"n"],[6159,0,"e"],[6160,0,"w"],[6161,0,"I"],[6162,0,"D"],[6163,0,"}"],[6164,0," "],[6165,0,"\\"],[6166,0,"e"],[6167,0,"v"],[6168,0,"a"],[6169,0,"l"],[6170,0,"t"],[6171,0,"o"],[6172,0," "],[6173,0,"A"],[6174,0,"_"],[6175,0,"p"],[6176,0,"'"],[6177,0,","],[6178,0,"\\"],[6179,0,";"],[6180,0," "],[6181,0,"\\"],[6182,0,"m"],[6183,0,"a"],[6184,0,"t"],[6185,0,"h"],[6186,0,"i"],[6187,0,"t"],[6188,0,"{"],[6189,0,"i"],[6190,0,"d"],[6191,0,"}"],[6192,0,"$"],[6193,0,"}"],[6194,0,"\n"],[6195,0,"\\"],[6196,0,"L"],[6197,0,"e"],[6198,0,"f"],[6199,0,"t"],[6200,0,"L"],[6201,0,"a"],[6202,0,"b"],[6203,0,"e"],[6204,0,"l"],[6205,0,"{"],[6206,0,"\\"],[6207,0,"T"],[6208,0,"e"],[6209,0,"x"],[6210,0,"t"],[6207,1],[6207,0,"t"],[6211,0,"s"],[6212,0,"c"],[6213,0,"{"],[6214,0,"D"],[6215,0,"e"],[6216,0,"l"],[6217,0,"e"],[6218,0,"t"],[6219,0,"e"],[6220,0,"}"],[6221,0,"}"],[6222,0,"\n"],[6223,0,"\\"],[6224,0,"B"],[6225,0,"i"],[6226,0,"n"],[6227,0,"a"],[6228,0,"r"],[6229,0,"y"],[6230,0,"I"],[6231,0,"n"],[6232,0,"f"],[6233,0,"C"],[6234,0,"{"],[6235,0,"$"],[6236,0,"A"],[6237,0,"_"],[6238,0,"p"],[6239,0,","],[6240,0,"\\"],[6241,0,";"],[6242,0," "],[6243,0,"\\"],[6244,0,"m"],[6245,0,"a"],[6246,0,"t"],[6247,0,"h"],[6248,0,"s"],[6249,0,"f"],[6250,0,"{"],[6251,0,"d"],[6252,0,"e"],[6253,0,"l"],[6254,0,"e"],[6255,0,"t"],[6256,0,"e"],[6257,0,"L"],[6258,0,"o"],[6259,0,"c"],[6260,0,"a"],[6261,0,"l"],[6262,0,"}"],[6263,0,"("],[6264,0,"\\"],[6265,0,"m"],[6266,0,"a"],[6267,0,"t"],[6268,0,"h"],[6269,0,"i"],[6270,0,"t"],[6271,0,"{"],[6272,0,"t"],[6273,0,"a"],[6274,0,"r"],[6275,0,"g"],[6276,0,"e"],[6277,0,"t"],[6278,0,"}"],[6279,0,")"],[6280,0," "],[6281,0,"\\"],[6282,0,"e"],[6283,0,"v"],[6284,0,"a"],[6285,0,"l"],[6286,0,"t"],[6287,0,"o"],[6288,0,"\n"],[6289,0," "],[6290,0," "],[6291,0," "],[6292,0," "],[6293,0,"A"],[6294,0,"_"],[6295,0,"p"],[6296,0,"'"],[6297,0,","],[6298,0,"\\"],[6299,0,";"],[6300,0," "],[6301,0,"\\"],[6302,0,"m"],[6303,0,"a"],[6304,0,"t"],[6305,0,"h"],[6306,0,"s"],[6307,0,"f"],[6308,0,"{"],[6309,0,"d"],[6310,0,"e"],[6311,0,"l"],[6312,0,"e"],[6313,0,"t"],[6314,0,"e"],[6315,0,"}"],[6316,0,"("],[6317,0,"\\"],[6318,0,"m"],[6319,0,"a"],[6320,0,"t"],[6321,0,"h"],[6322,0,"i"],[6323,0,"t"],[6324,0,"{"],[6325,0,"i"],[6326,0,"d"],[6327,0,"}"],[6328,0,","],[6329,0," "],[6330,0,"\\"],[6331,0,"m"],[6332,0,"a"],[6333,0,"t"],[6334,0,"h"],[6335,0,"i"],[6336,0,"t"],[6337,0,"{"],[6338,0,"t"],[6339,0,"a"],[6340,0,"r"],[6341,0,"g"],[6342,0,"e"],[6343,0,"t"],[6344,0,"}"],[6345,0,")"],[6346,0,"$"],[6347,0,"}"],[6747,0,"\\"],[6748,0,","],[6756,0,"\\"],[6757,0,","],[6824,0,"\\"],[6825,0,","],[6833,0,"\\"],[6834,0,","],[7516,0,"\\"],[7517,0,","],[7525,0,"\\"],[7526,0,","],[5042,1],[5042,0,"B"],[5043,0,"i"],[5007,0,"\n"],[5008,0,"\\"],[5009,0,"A"],[5010,0,"x"],[5011,0,"i"],[5012,0,"o"],[5013,0,"m"],[5014,0,"C"],[5015,0,"{"],[5016,0,"$"],[5017,0,"A"],[5018,0,"_"],[5019,0,"p"],[5020,0,"'"],[5021,0,","],[5022,0,"\\"],[5023,0,";"],[5024,0," "],[5025,0,"\\"],[5026,0,"m"],[5027,0,"a"],[5028,0,"t"],[5029,0,"h"],[5030,0,"i"],[5031,0,"t"],[5032,0,"{"],[5033,0,"o"],[5034,0,"p"],[5035,0,"}"],[5036,0," "],[5037,0,"\\"],[5038,0,"e"],[5039,0,"v"],[5040,0,"a"],[5041,0,"l"],[5042,0,"t"],[5043,0,"o"],[5044,0," "],[5045,0,"A"],[5046,0,"_"],[5047,0,"p"],[5048,0,"'"],[5049,0,"'"],[5050,0,"$"],[5051,0,"}"],[5130,0,"'"],[5170,0,"'"],[5204,0,"'"],[5272,0,"'"],[6010,1],[6009,1],[6008,1],[6007,1],[6006,1],[6006,0,"C"],[6007,0,"m"],[6008,0,"d"],[6008,1],[6007,1],[6006,1],[6006,0,"L"],[6007,0,"o"],[6008,0,"c"],[6009,0,"a"],[6010,0,"l"],[6010,1],[6009,1],[6008,1],[6007,1],[6006,1],[6006,0,"C"],[6007,0,"m"],[6008,0,"d"],[6309,1],[6308,1],[6307,1],[6306,1],[6305,1],[6304,1],[6304,0,"e"],[6305,0,"C"],[6306,0,"m"],[6307,0,"d"],[5973,1],[5973,1],[5973,0,"T"],[5974,0,"r"],[5975,0,"i"],[5943,0,"\n"],[5944,0,"\\"],[5945,0,"A"],[5946,0,"x"],[5947,0,"i"],[5948,0,"o"],[5949,0,"m"],[5950,0,"C"],[5951,0,"{"],[5952,0,"$"],[5953,0,"A"],[5954,0,"_"],[5955,0,"p"],[5956,0,"'"],[5957,0,","],[5958,0,"\\"],[5959,0,";"],[5960,0," "],[5961,0,"\\"],[5962,0,"m"],[5963,0,"a"],[5964,0,"t"],[5965,0,"h"],[5966,0,"s"],[5967,0,"f"],[5968,0,"{"],[5969,0,"a"],[5970,0,"p"],[5971,0,"p"],[5972,0,"l"],[5973,0,"y"],[5974,0,"}"],[5975,0,"("],[5976,0,"\\"],[5977,0,"m"],[5978,0,"a"],[5979,0,"t"],[5980,0,"h"],[5981,0,"s"],[5982,0,"f"],[5983,0,"{"],[5984,0,"i"],[5985,0,"n"],[5986,0,"s"],[5987,0,"e"],[5988,0,"r"],[5989,0,"t"],[5990,0,"}"],[5991,0,"("],[5992,0,"\\"],[5993,0,"m"],[5994,0,"a"],[5995,0,"t"],[5996,0,"h"],[5997,0,"i"],[5998,0,"t"],[5999,0,"{"],[6000,0,"i"],[6001,0,"d"],[6002,0,"}"],[6003,0,","],[6004,0," "],[6005,0,"\\"],[6006,0,"m"],[6007,0,"a"],[6008,0,"t"],[6009,0,"h"],[6010,0,"i"],[6011,0,"t"],[6012,0,"{"],[6013,0,"p"],[6014,0,"r"],[6015,0,"e"],[6016,0,"v"],[6017,0,"}"],[6018,0,","],[6019,0," "],[6020,0,"v"],[6021,0,")"],[6022,0,")"],[6023,0," "],[6024,0,"\\"],[6025,0,"e"],[6026,0,"v"],[6027,0,"a"],[6028,0,"l"],[6029,0,"t"],[6030,0,"o"],[6031,0," "],[6032,0,"A"],[6033,0,"_"],[6034,0,"p"],[6035,0,"'"],[6036,0,"'"],[6037,0,"$"],[6038,0,"}"],[6133,0," "],[6134,0,"A"],[6135,0,"_"],[6136,0,"p"],[6137,0,"'"],[6138,0,"'"],[6139,0,","],[6140,0,"\\"],[6141,0,";"],[6142,0," "],[6143,0,"\\"],[6144,0,"m"],[6145,0,"a"],[6146,0,"t"],[6147,0,"h"],[6148,0,"i"],[6149,0,"t"],[6150,0,"{"],[6151,0,"i"],[6152,0,"d"],[6153,0,"}"],[6154,0,"$"],[6155,0,"}"],[6216,1],[6215,1],[6214,1],[6213,1],[6212,1],[6211,1],[6210,1],[6209,1],[6208,1],[6207,1],[6206,1],[6205,1],[6204,1],[6203,1],[6202,1],[6201,1],[6200,1],[6199,1],[6198,1],[6197,1],[6196,1],[6195,1],[6194,1],[6193,1],[6192,1],[6191,1],[6190,1],[6189,1],[6188,1],[6187,1],[6186,1],[6185,1],[6184,1],[6183,1],[6182,1],[6181,1],[6180,1],[6179,1],[6178,1],[6177,1],[6176,1],[6175,1],[6174,1],[6173,1],[6172,1],[6171,1],[6170,1],[6169,1],[6168,1],[6167,1],[6166,1],[6165,1],[6164,1],[6163,1],[6162,1],[6161,1],[6160,1],[6159,1],[6158,1],[6157,1],[6156,1],[6331,1],[6331,0,"T"],[6332,0,"r"],[6301,0,"\n"],[6302,0,"\\"],[6303,0,"A"],[6304,0,"x"],[6305,0,"i"],[6306,0,"o"],[6307,0,"m"],[6308,0,"C"],[6309,0,"{"],[6310,0,"$"],[6311,0,"A"],[6312,0,"_"],[6313,0,"p"],[6314,0,"'"],[6315,0,","],[6316,0,"\\"],[6317,0,";"],[6318,0," "],[6319,0,"\\"],[6320,0,"m"],[6321,0,"a"],[6322,0,"t"],[6323,0,"h"],[6324,0,"s"],[6325,0,"f"],[6326,0,"{"],[6327,0,"a"],[6328,0,"p"],[6329,0,"p"],[6330,0,"l"],[6331,0,"y"],[6332,0,"}"],[6333,0,"("],[6334,0,"\\"],[6335,0,"m"],[6336,0,"a"],[6337,0,"t"],[6338,0,"h"],[6339,0,"s"],[6340,0,"f"],[6341,0,"{"],[6342,0,"d"],[6343,0,"e"],[6344,0,"l"],[6345,0,"e"],[6346,0,"t"],[6347,0,"e"],[6348,0,"}"],[6349,0,"("],[6350,0,"\\"],[6351,0,"m"],[6352,0,"a"],[6353,0,"t"],[6354,0,"h"],[6355,0,"i"],[6356,0,"t"],[6357,0,"{"],[6358,0,"i"],[6359,0,"d"],[6360,0,"}"],[6361,0,","],[6362,0," "],[6363,0,"\\"],[6364,0,"m"],[6365,0,"a"],[6366,0,"t"],[6367,0,"h"],[6368,0,"i"],[6369,0,"t"],[6370,0,"{"],[6371,0,"t"],[6372,0,"a"],[6373,0,"r"],[6374,0,"g"],[6375,0,"e"],[6376,0,"t"],[6377,0,"}"],[6378,0,")"],[6379,0,")"],[6380,0," "],[6381,0,"\\"],[6382,0,"e"],[6383,0,"v"],[6384,0,"a"],[6385,0,"l"],[6386,0,"t"],[6387,0,"o"],[6388,0," "],[6389,0,"A"],[6390,0,"_"],[6391,0,"p"],[6392,0,"'"],[6393,0,"'"],[6394,0,"$"],[6395,0,"}"],[6489,0," "],[6490,0,"A"],[6491,0,"_"],[6492,0,"p"],[6493,0,"'"],[6494,0,"'"],[6495,0,"$"],[6496,0,"}"],[6556,1],[6555,1],[6554,1],[6553,1],[6552,1],[6551,1],[6550,1],[6549,1],[6548,1],[6547,1],[6546,1],[6545,1],[6544,1],[6543,1],[6542,1],[6541,1],[6540,1],[6539,1],[6538,1],[6537,1],[6536,1],[6535,1],[6534,1],[6533,1],[6532,1],[6531,1],[6530,1],[6529,1],[6528,1],[6527,1],[6526,1],[6525,1],[6524,1],[6523,1],[6522,1],[6521,1],[6520,1],[6519,1],[6518,1],[6517,1],[6516,1],[6515,1],[6514,1],[6513,1],[6512,1],[6511,1],[6510,1],[6509,1],[6508,1],[6507,1],[6506,1],[6505,1],[6504,1],[6503,1],[6502,1],[6501,1],[6500,1],[6499,1],[6498,1],[6497,1],[6495,0,"\\"],[6496,0,";"],[6497,0," "],[6498,0,"\\"],[6499,0,"b"],[6500,0,"o"],[6501,0,"t"],[6495,0,","],[5116,1],[5115,1],[5114,1],[5114,0,"o"],[5115,0,"p"],[5106,0,"\n"],[5106,1],[5106,0,"\\"],[5107,0,"m"],[5108,0,"a"],[5109,0,"t"],[5110,0,"h"],[5111,0,"s"],[5112,0,"f"],[5113,0,"{"],[5114,0,"a"],[5115,0,"p"],[5116,0,"p"],[5117,0,"l"],[5118,0,"y"],[5119,0,"}"],[5120,0,"("],[5132,0,")"],[4975,1],[4974,1],[4973,1],[4973,0,"o"],[4974,0,"p"],[5003,1],[5002,1],[5001,1],[5000,1],[4999,1],[4998,1],[4997,1],[4996,1],[4995,1],[4994,1],[4993,1],[4992,1],[4991,1],[4990,1],[4989,1],[5035,1],[5034,1],[5033,1],[5032,1],[5031,1],[5030,1],[5029,1],[5028,1],[5027,1],[5026,1],[5025,1],[5024,1],[5023,1],[5022,1],[5021,1],[5020,1],[5019,1],[5018,1],[5017,1],[5016,1],[5015,1],[5014,1],[5013,1],[5012,1],[5011,1],[5010,1],[5009,1],[5008,1],[5007,1],[5006,1],[5005,1],[5004,1],[5003,1],[5002,1],[5001,1],[5001,0,"q"],[5002,0," "],[5003,0,"="],[5004,0," "],[5005,0,"A"],[5006,0,"'"],[5006,1],[5006,0,"_"],[5007,0,"p"],[5008,0,"'"],[5009,0,"("],[5010,0,"\\"],[5011,0,"m"],[5012,0,"a"],[5013,0,"t"],[5014,0,"h"],[5015,0,"s"],[5016,0,"f"],[5017,0,"{"],[5018,0,"q"],[5019,0,"u"],[5020,0,"e"],[5021,0,"u"],[5022,0,"e"],[5023,0,"}"],[5024,0,")"],[5025,0," "],[5026,0,"\\"],[5027,0,","],[5028,0,"\\"],[5029,0,"c"],[5030,0,"u"],[5031,0,"p"],[5032,0,"\\"],[5033,0,","],[5034,0," "],[5035,0,"\\"],[5036,0,"P"],[5037,0,"{"],[5037,1],[5036,1],[5036,0,"{"],[5037,0,"("],[5038,0,"A"],[5039,0,"_"],[5040,0,"p"],[5041,0,"'"],[5042,0,"("],[5043,0,"\\"],[5044,0,"m"],[5045,0,"a"],[5046,0,"t"],[5047,0,"h"],[5048,0,"s"],[5049,0,"f"],[5050,0,"{"],[5051,0,"o"],[5052,0,"p"],[5053,0,"s"],[5054,0,"}"],[5055,0,")"],[5056,0,","],[5057,0," "],[5058,0,"\\"],[5059,0,"m"],[5060,0,"a"],[5061,0,"t"],[5062,0,"h"],[5063,0,"i"],[5064,0,"t"],[5065,0,"{"],[5066,0,"o"],[5067,0,"p"],[5068,0,"}"],[5069,0,")"],[5070,0,"\\"],[5071,0,"}"],[5072,0,"$"],[5073,0,"}"],[5167,1],[5271,1],[5270,1],[5269,1],[5268,1],[5267,1],[5266,1],[5265,1],[5264,1],[5263,1],[5262,1],[5261,1],[5260,1],[5259,1],[5258,1],[5257,1],[5256,1],[5255,1],[5254,1],[5253,1],[5252,1],[5251,1],[5250,1],[5249,1],[5248,1],[5247,1],[5246,1],[5245,1],[5244,1],[5243,1],[5242,1],[5241,1],[5240,1],[5239,1],[5238,1],[5237,1],[5236,1],[5235,1],[5234,1],[5233,1],[5232,1],[5231,1],[5230,1],[5229,1],[5228,1],[5227,1],[5226,1],[5225,1],[5224,1],[5223,1],[5222,1],[5221,1],[5220,1],[5219,1],[5218,1],[5217,1],[5216,1],[5215,1],[5214,1],[5213,1],[5212,1],[5211,1],[5210,1],[5209,1],[5208,1],[5207,1],[5206,1],[5205,1],[5204,1],[5203,1],[5203,0,"q"],[5203,0,"\\"],[5204,0,"m"],[5205,0,"a"],[5206,0,"t"],[5207,0,"h"],[5208,0,"s"],[5209,0,"f"],[5209,1],[5208,1],[5208,0,"i"],[5209,0,"t"],[5210,0,"{"],[5212,0,"u"],[5213,0,"e"],[5214,0,"u"],[5215,0,"e"],[5216,0,"}"],[5001,1],[5001,0,"\\"],[5002,0,"m"],[5003,0,"a"],[5004,0,"t"],[5005,0,"h"],[5006,0,"i"],[5007,0,"t"],[5008,0,"{"],[5009,0,"q"],[5010,0,"u"],[5011,0,"e"],[5012,0,"u"],[5013,0,"e"],[5014,0,"}"],[5984,0,"O"],[5985,0,"p"],[6344,0,"O"],[6345,0,"p"],[6836,0,"O"],[6837,0,"p"],[7216,0,"O"],[7217,0,"p"],[7336,0,"O"],[7337,0,"p"],[7610,0,"O"],[7611,0,"p"],[5735,1],[5734,1],[5733,1],[5732,1],[5732,0,","],[5743,0,","],[5744,0," "],[5745,0,"a"],[5746,0,"n"],[5747,0,"d"],[5748,0," "],[5749,0,"a"],[5750,0,"p"],[5751,0,"p"],[5752,0,"l"],[5753,0,"y"],[5754,0,"i"],[5755,0,"n"],[5756,0,"g"],[5822,0,"\n"],[5823,0,"\\"],[5824,0,"b"],[5825,0,"e"],[5826,0,"g"],[5827,0,"i"],[5828,0,"n"],[5829,0,"{"],[5830,0,"p"],[5831,0,"r"],[5832,0,"o"],[5833,0,"o"],[5834,0,"f"],[5835,0,"t"],[5836,0,"r"],[5837,0,"e"],[5838,0,"e"],[5839,0,"}"],[5840,0,"\n"],[5841,0,"\\"],[5842,0,"e"],[5843,0,"n"],[5844,0,"d"],[5845,0,"{"],[5846,0,"p"],[5847,0,"r"],[5848,0,"o"],[5849,0,"o"],[5850,0,"f"],[5851,0,"t"],[5852,0,"r"],[5853,0,"e"],[5854,0,"e"],[5855,0,"}"],[5856,0,"\n"],[5840,0,"\n"],[5841,0,"\\"],[5842,0,"A"],[5843,0,"x"],[5844,0,"i"],[5845,0,"o"],[5846,0,"m"],[5847,0,"C"],[5848,0,"{"],[5849,0,"A"],[5850,0,"_"],[5851,0,"p"],[5852,0,","],[5853,0,"\\"],[5854,0,";"],[5855,0,"\\"],[5856,0,"m"],[5857,0,"a"],[5858,0,"t"],[5859,0,"h"],[5860,0,"s"],[5861,0,"f"],[5862,0,"{"],[5863,0,"n"],[5864,0,"e"],[5865,0,"w"],[5866,0,"I"],[5867,0,"D"],[5868,0,"}"],[5869,0," "],[5870,0,"\\"],[5871,0,"e"],[5872,0,"v"],[5873,0,"a"],[5874,0,"l"],[5875,0,"t"],[5876,0,"o"],[5877,0," "],[5878,0,"A"],[5879,0,"_"],[5880,0,"p"],[5881,0,"'"],[5882,0,","],[5883,0,"\\"],[5884,0,";"],[5885,0," "],[5886,0,"\\"],[5887,0,"m"],[5888,0,"a"],[5889,0,"t"],[5890,0,"h"],[5891,0,"i"],[5892,0,"t"],[5893,0,"{"],[5894,0,"i"],[5895,0,"d"],[5896,0,"}"],[5897,0,"$"],[5898,0,"}"],[5899,0,"\n"],[5849,0,"$"],[5901,0,"\\"],[5902,0,"A"],[5903,0,"x"],[5904,0,"i"],[5905,0,"o"],[5906,0,"m"],[5907,0,"C"],[5908,0,"{"],[5909,0,"$"],[5910,0,"A"],[5911,0,"_"],[5912,0,"p"],[5913,0,"'"],[5914,0,","],[5915,0,"\\"],[5916,0,";"],[5917,0," "],[5918,0,"\\"],[5919,0,"m"],[5920,0,"a"],[5921,0,"t"],[5922,0,"h"],[5923,0,"s"],[5924,0,"f"],[5925,0,"{"],[5926,0,"a"],[5927,0,"p"],[5928,0,"p"],[5929,0,"l"],[5930,0,"y"],[5931,0,"}"],[5932,0,"("],[5933,0,"\\"],[5934,0,"m"],[5935,0,"a"],[5936,0,"t"],[5937,0,"h"],[5938,0,"s"],[5939,0,"f"],[5940,0,"{"],[5941,0,"l"],[5942,0,"i"],[5943,0,"s"],[5944,0,"t"],[5945,0,"O"],[5946,0,"p"],[5941,1],[5941,0,"l"],[5947,0,"}"],[5948,0,"("],[5949,0,"\\"],[5950,0,"m"],[5951,0,"a"],[5952,0,"t"],[5953,0,"h"],[5954,0,"i"],[5955,0,"t"],[5956,0,"{"],[5957,0,"i"],[5958,0,"d"],[5959,0,"}"],[5960,0,")"],[5961,0,")"],[5962,0," "],[5963,0,"\\"],[5964,0,"e"],[5965,0,"v"],[5966,0,"a"],[5967,0,"l"],[5968,0,"t"],[5969,0,"o"],[5970,0," "],[5971,0,"A"],[5972,0,"_"],[5973,0,"p"],[5974,0,"'"],[5975,0,"'"],[5976,0,"$"],[5977,0,"}"],[5978,0,"\n"],[5979,0,"\\"],[5980,0,"L"],[5981,0,"e"],[5982,0,"v"],[5983,0,"e"],[5983,1],[5982,1],[5982,0,"f"],[5983,0,"t"],[5984,0,"L"],[5985,0,"a"],[5986,0,"b"],[5987,0,"e"],[5988,0,"l"],[5989,0,"{"],[5990,0,"\\"],[5991,0,"t"],[5992,0,"e"],[5993,0,"x"],[5994,0,"t"],[5995,0,"s"],[5996,0,"c"],[5997,0,"{"],[5998,0,"A"],[5999,0,"l"],[6000,0,"l"],[6001,0,"o"],[6002,0,"c"],[6003,0,"-"],[6004,0,"L"],[6005,0,"i"],[6006,0,"s"],[6007,0,"t"],[6008,0,"}"],[6009,0,"}"],[6010,0,"\n"],[6011,0,"\\"],[6012,0,"B"],[6013,0,"i"],[6014,0,"n"],[6015,0,"a"],[6016,0,"r"],[6017,0,"y"],[6018,0,"I"],[6019,0,"n"],[6020,0,"f"],[6021,0,"C"],[6022,0,"{"],[6023,0,"$"],[6024,0,"A"],[6025,0,"_"],[6026,0,"p"],[6027,0,","],[6028,0,"\\"],[6029,0,";"],[6030,0," "],[6031,0,"\\"],[6032,0,"m"],[6033,0,"a"],[6034,0,"t"],[6035,0,"h"],[6036,0,"s"],[6037,0,"f"],[6038,0,"{"],[6039,0,"a"],[6039,1],[6039,0,"l"],[6040,0,"i"],[6041,0,"s"],[6042,0,"t"],[6043,0,"C"],[6044,0,"m"],[6045,0,"d"],[6046,0,"}"],[6047,0,"("],[6048,0,"\\"],[6048,1],[6047,1],[6047,0," "],[6048,0,"\\"],[6049,0,"e"],[6050,0,"v"],[6051,0,"a"],[6052,0,"l"],[6053,0,"t"],[6054,0,"o"],[6055,0," "],[6056,0,"A"],[6057,0,"_"],[6058,0,"p"],[6059,0,"'"],[6060,0,"'"],[6061,0,","],[6062,0," "],[6062,1],[6062,0,"\\"],[6063,0,";"],[6064,0," "],[6065,0,"\\"],[6066,0,"m"],[6067,0,"a"],[6068,0,"t"],[6069,0,"h"],[6070,0,"i"],[6071,0,"t"],[6072,0,"{"],[6073,0,"i"],[6074,0,"d"],[6075,0,"}"],[6076,0,"$"],[6077,0,"}"],[6803,0,"\n"],[6804,0,"\n"],[6805,0,"\\"],[6806,0,"b"],[6807,0,"e"],[6808,0,"g"],[6809,0,"i"],[6810,0,"n"],[6811,0,"{"],[6812,0,"p"],[6813,0,"r"],[6814,0,"o"],[6815,0,"o"],[6816,0,"f"],[6817,0,"t"],[6818,0,"r"],[6819,0,"e"],[6820,0,"e"],[6821,0,"}"],[6822,0,"\n"],[6823,0,"\\"],[6824,0,"e"],[6825,0,"n"],[6826,0,"d"],[6827,0,"{"],[6828,0,"p"],[6829,0,"r"],[6830,0,"o"],[6831,0,"o"],[6832,0,"f"],[6833,0,"t"],[6834,0,"r"],[6835,0,"e"],[6836,0,"e"],[6837,0,"}"],[6822,0,"\n"],[6823,0,"\\"],[6824,0,"L"],[6825,0,"e"],[6826,0,"f"],[6827,0,"t"],[6828,0,"L"],[6829,0,"a"],[6830,0,"b"],[6831,0,"e"],[6832,0,"l"],[6833,0,"{"],[6834,0,"\\"],[6835,0,"t"],[6836,0,"e"],[6837,0,"x"],[6838,0,"t"],[6839,0,"s"],[6840,0,"c"],[6841,0,"{"],[6842,0,"A"],[6843,0,"p"],[6844,0,"p"],[6845,0,"l"],[6846,0,"y"],[6847,0,"-"],[6848,0,"L"],[6849,0,"i"],[6850,0,"s"],[6851,0,"t"],[6852,0,"}"],[6853,0,"}"],[6822,0,"\n"],[6823,0,"\\"],[6824,0,"A"],[6825,0,"x"],[6826,0,"i"],[6827,0,"o"],[6828,0,"m"],[6829,0,"C"],[6830,0,"{"],[6831,0,"$"],[6832,0,"\\"],[6833,0,"m"],[6834,0,"a"],[6835,0,"t"],[6836,0,"h"],[6837,0,"i"],[6838,0,"t"],[6839,0,"{"],[6840,0,"i"],[6841,0,"d"],[6842,0,"}"],[6843,0," "],[6844,0,"\\"],[6845,0,"n"],[6846,0,"o"],[6847,0,"t"],[6848,0,"\\"],[6849,0,"i"],[6850,0,"n"],[6851,0," "],[6852,0,"\\"],[6853,0,"m"],[6854,0,"a"],[6855,0,"t"],[6856,0,"h"],[6857,0,"r"],[6858,0,"m"],[6859,0,"{"],[6860,0,"d"],[6861,0,"o"],[6862,0,"m"],[6863,0,"}"],[6864,0,"("],[6865,0,"A"],[6866,0,"_"],[6867,0,"p"],[6868,0,"}"],[6868,1],[6868,0,")"],[6869,0,"$"],[6870,0,"}"],[6871,0,"\n"],[6872,0,"\\"],[6873,0,"A"],[6874,0,"x"],[6875,0,"i"],[6876,0,"o"],[6877,0,"m"],[6878,0,"C"],[6879,0,"{"],[6880,0,"$"],[6881,0,"\\"],[6882,0,"m"],[6883,0,"a"],[6884,0,"t"],[6885,0,"h"],[6886,0,"i"],[6887,0,"t"],[6888,0,"{"],[6889,0,"i"],[6890,0,"d"],[6891,0,"}"],[6881,0,"A"],[6882,0,"_"],[6883,0,"p"],[6884,0,","],[6885,0,"\\"],[6886,0,";"],[6887,0," "],[6888,0,"\\"],[6889,0,"m"],[6890,0,"a"],[6891,0,"t"],[6892,0,"h"],[6893,0,"s"],[6894,0,"f"],[6895,0,"{"],[6896,0,"t"],[6897,0,"s"],[6898,0,"}"],[6899,0,"("],[6911,0,")"],[6912,0," "],[6913,0,"\\"],[6914,0,"e"],[6915,0,"v"],[6916,0,"a"],[6917,0,"l"],[6918,0,"t"],[6919,0,"o"],[6920,0," "],[6921,0,"A"],[6922,0,"_"],[6923,0,"p"],[6924,0,"'"],[6925,0,"$"],[6926,0,"}"],[6959,0,"\n"],[6960,0,"\\"],[6961,0,"B"],[6962,0,"i"],[6963,0,"n"],[6964,0,"a"],[6965,0,"r"],[6966,0,"y"],[6967,0,"I"],[6968,0,"n"],[6969,0,"f"],[6970,0,"C"],[6971,0,"{"],[6972,0,"$"],[6973,0,"$"],[6974,0,"}"],[6973,0,"A"],[6974,0,"_"],[6975,0,"p"],[6976,0,","],[6977,0,"\\"],[6978,0,";"],[6979,0," "],[6980,0,"\\"],[6981,0,"m"],[6982,0,"a"],[6983,0,"t"],[6984,0,"h"],[6985,0,"s"],[6986,0,"f"],[6987,0,"{"],[6988,0,"l"],[6989,0,"i"],[6990,0,"s"],[6991,0,"t"],[6992,0,"O"],[6993,0,"p"],[6994,0,"}"],[6995,0,"("],[6996,0,"\\"],[6997,0,"m"],[6998,0,"a"],[6999,0,"t"],[7000,0,"h"],[7001,0,"i"],[7002,0,"t"],[7003,0,"{"],[7004,0,"i"],[7005,0,"d"],[7006,0,"}"],[7007,0,")"],[7008,0," "],[7009,0,"\\"],[7010,0,"e"],[7011,0,"v"],[7012,0,"a"],[7013,0,"l"],[7014,0,"t"],[7015,0,"o"],[7016,0," "],[7017,0,"A"],[7018,0,"_"],[7019,0,"p"],[7016,0,"\n"],[7017,0," "],[7018,0," "],[7019,0," "],[7024,0,"'"],[7025,0,"["],[7026,0,"\\"],[7027,0,","],[7028,0,"\\"],[7029,0,"m"],[7030,0,"a"],[7031,0,"t"],[7032,0,"h"],[7033,0,"i"],[7034,0,"t"],[7035,0,"{"],[7036,0,"i"],[7037,0,"d"],[7038,0,"}"],[7039,0," "],[7040,0,"\\"],[7041,0,"m"],[7042,0,"a"],[7043,0,"p"],[7044,0,"s"],[7045,0,"t"],[7046,0,"o"],[7040,0,"\\"],[7041,0,","],[7049,0,"\\"],[7050,0,","],[7051,0," "],[7052,0,"\\"],[7053,0,"m"],[7054,0,"a"],[7055,0,"t"],[7056,0,"h"],[7057,0,"s"],[7058,0,"f"],[7059,0,"{"],[7060,0,"l"],[7061,0,"i"],[7062,0,"s"],[7063,0,"t"],[7064,0,"E"],[7065,0,"l"],[7066,0,"}"],[7067,0,"("],[7068,0,"\\"],[7069,0,"b"],[7070,0,"o"],[7071,0,"t"],[7072,0,","],[7073,0," "],[7074,0,"\\"],[7075,0,"m"],[7076,0,"a"],[7077,0,"t"],[7078,0,"h"],[7079,0,"s"],[7080,0,"f"],[7081,0,"{"],[7082,0,"t"],[7083,0,"a"],[7084,0,"i"],[7085,0,"l"],[7086,0,"}"],[7087,0,")"],[7088,0,"\\"],[7089,0,","],[7090,0,"]"],[7267,0,"\\"],[7268,0,"m"],[7269,0,"a"],[7270,0,"t"],[7271,0,"h"],[7272,0,"i"],[7273,0,"t"],[7274,0,"{"],[7275,0,"n"],[7276,0,"e"],[7277,0,"x"],[7278,0,"t"],[7279,0,"}"],[7280,0," "],[7281,0,"="],[7282,0," "],[7283,0,"\\"],[7284,0,"m"],[7285,0,"a"],[7286,0,"t"],[7287,0,"h"],[7288,0,"s"],[7289,0,"f"],[7290,0,"{"],[7291,0,"t"],[7292,0,"a"],[7292,1],[7291,1],[7290,1],[7289,1],[7288,1],[7287,1],[7286,1],[7285,1],[7284,1],[7283,1],[7282,1],[7281,1],[7280,1],[7279,1],[7278,1],[7277,1],[7276,1],[7275,1],[7274,1],[7273,1],[7272,1],[7271,1],[7270,1],[7269,1],[7268,1],[7267,1],[7294,0," "],[7295,0,"\\"],[7296,0,"v"],[7297,0,"e"],[7298,0,"e"],[7299,0," "],[7300,0,"\\"],[7301,0,"m"],[7302,0,"a"],[7303,0,"t"],[7304,0,"h"],[7305,0,"i"],[7306,0,"t"],[7307,0,"{"],[7308,0,"n"],[7309,0,"e"],[7310,0,"x"],[7311,0,"t"],[7312,0,"}"],[7313,0," "],[7314,0,"="],[7315,0," "],[7316,0,"\\"],[7317,0,"m"],[7318,0,"a"],[7319,0,"t"],[7320,0,"h"],[7321,0,"s"],[7322,0,"f"],[7323,0,"{"],[7324,0,"t"],[7325,0,"a"],[7326,0,"i"],[7327,0,"l"],[7328,0,"}"],[7295,0,"\\"],[7296,0,","],[7301,0,"\\"],[7302,0,","],[855,0,"\n"],[856,0,"\n"],[856,0,"%"],[857,0," "],[858,0,"T"],[859,0,"O"],[860,0,"D"],[861,0,"O"],[862,0," "],[863,0,"p"],[864,0,"a"],[865,0,"p"],[866,0,"e"],[867,0,"r"],[868,0,"s"],[869,0," "],[870,0,"o"],[871,0,"n"],[872,0," "],[873,0,"f"],[874,0,"o"],[875,0,"r"],[876,0,"m"],[877,0,"a"],[878,0,"l"],[879,0," "],[880,0,"v"],[881,0,"e"],[882,0,"r"],[883,0,"i"],[884,0,"f"],[885,0,"i"],[886,0,"c"],[887,0,"a"],[888,0,"t"],[889,0,"i"],[890,0,"o"],[891,0,"n"],[892,0," "],[893,0,"o"],[894,0,"f"],[895,0," "],[896,0,"C"],[897,0,"R"],[898,0,"D"],[899,0,"T"],[900,0,"s"],[901,0," "],[902,0,"o"],[903,0,"r"],[904,0," "],[905,0,"s"],[906,0,"i"],[907,0,"m"],[908,0,"i"],[909,0,"l"],[910,0,"a"],[911,0,"r"],[912,0,":"],[913,0,"\n"],[914,0,"%"],[915,0," "],[916,0,"G"],[917,0,"o"],[918,0,"t"],[919,0,"s"],[920,0,"m"],[921,0,"a"],[922,0,"n"],[923,0," "],[924,0,"e"],[925,0,"t"],[926,0," "],[927,0,"a"],[928,0,"l"],[929,0,","],[930,0," "],[931,0,"\""],[932,0,"c"],[933,0,"a"],[934,0,"u"],[935,0,"s"],[936,0,"e"],[937,0," "],[938,0,"I"],[939,0,"'"],[940,0,"m"],[941,0," "],[942,0,"s"],[943,0,"t"],[944,0,"r"],[945,0,"o"],[946,0,"n"],[947,0,"g"],[948,0," "],[949,0,"e"],[950,0,"n"],[951,0,"o"],[952,0,"u"],[953,0,"g"],[954,0,"h"],[955,0,"\""],[956,0,","],[957,0," "],[958,0,"P"],[959,0,"O"],[960,0,"P"],[961,0,"L"],[962,0," "],[963,0,"2"],[964,0,"0"],[965,0,"1"],[966,0,"6"],[967,0,"\n"],[968,0,"%"],[969,0," "],[970,0,"v"],[971,0,"a"],[972,0,"r"],[973,0,"i"],[974,0,"o"],[975,0,"u"],[976,0,"s"],[977,0," "],[978,0,"p"],[979,0,"a"],[980,0,"p"],[981,0,"e"],[982,0,"r"],[983,0,"s"],[984,0," "],[985,0,"b"],[986,0,"y"],[987,0," "],[988,0,"S"],[989,0,"e"],[990,0,"b"],[991,0,"a"],[992,0,"s"],[993,0,"t"],[994,0,"i"],[995,0,"a"],[996,0,"n"],[997,0," "],[998,0,"B"],[999,0,"u"],[1000,0,"r"],[1001,0,"c"],[1002,0,"k"],[1003,0,"h"],[1004,0,"a"],[1005,0,"r"],[1006,0,"d"],[1007,0,"t"],[1008,0,"\n"],[1009,0,"%"],[1010,0," "],[1011,0,"R"],[1012,0,"o"],[1013,0,"h"],[1014,0," "],[1015,0,"e"],[1016,0,"t"],[1017,0," "],[1018,0,"a"],[1019,0,"l"],[1020,0,"'"],[1021,0,"s"],[1022,0," "],[1023,0,"t"],[1024,0,"e"],[1025,0,"c"],[1026,0,"h"],[1027,0," "],[1028,0,"r"],[1029,0,"e"],[1030,0,"p"],[1031,0,"o"],[1032,0,"r"],[1033,0,"t"],[1034,0," "],[1035,0,"("],[1036,0,"l"],[1037,0,"e"],[1038,0,"m"],[1039,0,"m"],[1040,0,"a"],[1041,0,"s"],[1042,0," "],[1043,0,"8"],[1044,0,"-"],[1045,0,"1"],[1046,0,"3"],[1047,0,","],[1048,0," "],[1049,0,"t"],[1050,0,"h"],[1051,0,"e"],[1052,0,"o"],[1053,0,"r"],[1054,0,"e"],[1055,0,"m"],[1056,0," "],[1057,0,"4"],[1058,0,")"],[1059,0,"\n"],[1060,0,"%"],[1061,0," "],[1062,0,"Z"],[1063,0,"e"],[1064,0,"l"],[1065,0,"l"],[1066,0,"e"],[1067,0,"r"],[1068,0," "],[1069,0,"&"],[1070,0," "],[1071,0,"B"],[1072,0,"i"],[1073,0,"e"],[1074,0,"n"],[1075,0,"i"],[1076,0,"u"],[1077,0,"s"],[1078,0,"a"],[4325,1],[4324,1],[4323,1],[4322,1],[4321,1],[4320,1],[4319,1],[4318,1],[4317,1],[4316,1],[4315,1],[4314,1],[4313,1],[4312,1],[4311,1],[4310,1],[4309,1],[4308,1],[4308,0," "],[4309,0,"\\"],[4310,0,"m"],[4311,0,"a"],[4312,0,"t"],[4313,0,"h"],[4314,0,"r"],[4315,0,"m"],[4316,0,"{"],[4317,0,"m"],[4318,0,"a"],[4319,0,"x"],[4320,0,"}"],[4321,0,"("],[4322,0,")"],[4322,0,"\\"],[4323,0,"{"],[4324,0,"\\"],[4325,0,"}"],[4306,0,"_"],[4307,0,"\\"],[4308,0,"m"],[4309,0,"a"],[4310,0,"t"],[4311,0,"h"],[4312,0,"i"],[4313,0,"t"],[4314,0,"{"],[4315,0,"m"],[4316,0,"a"],[4317,0,"x"],[4318,0,"}"],[4337,0,"c"],[4338,0," "],[4339,0,"\\"],[4340,0,"m"],[4341,0,"i"],[4342,0,"d"],[4343,0," "],[4360,0,"_"],[4361,0,"\\"],[4362,0,"m"],[4363,0,"a"],[4364,0,"t"],[4365,0,"h"],[4366,0,"i"],[4367,0,"t"],[4368,0,"{"],[4369,0,"s"],[4370,0,"e"],[4371,0,"l"],[4372,0,"f"],[4373,0,"}"],[4343,0," "],[4344,0,"\\"],[4345,0,"e"],[4346,0,"x"],[4347,0,"i"],[4348,0,"s"],[4349,0,"t"],[4350,0,"s"],[4351,0," "],[4352,0,"p"],[4353,0,"."],[4354,0," "],[4358,1],[4357,1],[4356,1],[4355,1],[4354,1],[4353,1],[4352,1],[4351,1],[4350,1],[4349,1],[4348,1],[4347,1],[4346,1],[4345,1],[4344,1],[4343,1],[4342,1],[4341,1],[4340,1],[4339,1],[4338,1],[4337,1],[4336,1],[4335,1],[4334,1],[4333,1],[4332,1],[4331,1],[4330,1],[4329,1],[4328,1],[4327,1],[4326,1],[4325,1],[4324,1],[4323,1],[4322,1],[4321,1],[4320,1],[4319,1],[4318,1],[4317,1],[4316,1],[4315,1],[4314,1],[4313,1],[4312,1],[4311,1],[4310,1],[4309,1],[4308,1],[4307,1],[4306,1],[4306,0," "],[4307,0,"="],[4308,0," "],[4309,0,"A"],[4310,0,"_"],[4311,0,"p"],[4312,0,"("],[4313,0,"\\"],[4314,0,"m"],[4315,0,"a"],[4316,0,"t"],[4317,0,"h"],[4318,0,"s"],[4319,0,"f"],[4320,0,"{"],[4321,0,"c"],[4322,0,"t"],[4323,0,"r"],[4324,0,"}"],[4325,0,")"],[4352,1],[4351,1],[4350,1],[4349,1],[4348,1],[4347,1],[4346,1],[4345,1],[4344,1],[4343,1],[4342,1],[4341,1],[4340,1],[4339,1],[4757,0,"~"],[4757,1],[8448,1],[8448,0,","],[8357,1],[8357,0,","],[8174,1],[8174,0,","],[8054,1],[8054,0,","],[7674,1],[7674,0,","],[7575,1],[7575,0,","],[7203,1],[7203,0,","],[7111,1],[7111,0,","],[6951,1],[6951,0,","],[7004,1],[7004,0,","],[6822,1],[6822,0,","],[6760,1],[6760,0,","],[6791,1],[6791,0,","],[6646,1],[6646,0,","],[6592,1],[6592,0,","],[6462,1],[6462,0,","],[6400,1],[6400,0,","],[6431,1],[6431,0,","],[6288,1],[6288,0,","],[6254,1],[6254,0,","],[6141,1],[6141,0,","],[6080,1],[6080,0,","],[6081,0," "],[6111,1],[6111,0,","],[5785,1],[5785,0,","],[5703,1],[5703,0,","],[5364,1],[5364,0,","],[5188,1],[5188,0,","],[5026,1],[5026,0,","],[4802,1],[4802,0,","],[4596,1],[4596,0,","],[4410,1],[4410,0,","],[4470,1],[4470,0,","],[8603,0,"\n"],[8604,0,"\n"],[8604,1],[8603,1],[1079,0,"\n"],[1080,0,"%"],[1081,0,"\n"],[1082,0,"%"],[1083,0," "],[1084,0,"L"],[1085,0,"o"],[1086,0,"o"],[1087,0,"k"],[1088,0," "],[1089,0,"a"],[1090,0,"t"],[1091,0," "],[1092,0,"K"],[1093,0,"C"],[1094,0,"'"],[1095,0,"s"],[1096,0," "],[1097,0,"Q"],[1098,0,"u"],[1099,0,"e"],[1100,0,"l"],[1101,0,"e"],[1102,0,"a"],[1103,0," "],[1104,0,"("],[1105,0,"a"],[1106,0,"l"],[1107,0,"s"],[1108,0,"o"],[1109,0," "],[1110,0,"i"],[1111,0,"n"],[1112,0," "],[1113,0,"D"],[1114,0,"E"],[1115,0,"B"],[1116,0,"u"],[1117,0,"l"],[1118,0,"l"],[1119,0," "],[1120,0,"M"],[1121,0,"a"],[1122,0,"r"],[1123,0,"c"],[1124,0,"h"],[1125,0,")"],[1125,0," "],[1126,0,"i"],[1127,0,"s"],[1128,0,"s"],[1129,0,"u"],[1130,0,"e"],[1166,0,"\n"],[1167,0,"\\"],[1168,0,"s"],[1169,0,"u"],[1170,0,"b"],[1171,0,"s"],[1172,0,"e"],[1173,0,"c"],[1174,0,"t"],[1175,0,"i"],[1176,0,"o"],[1177,0,"n"],[1178,0,"{"],[1179,0,"L"],[1180,0,"a"],[1181,0,"m"],[1182,0,"p"],[1183,0,"o"],[1184,0,"r"],[1185,0,"t"],[1186,0," "],[1187,0,"t"],[1188,0,"i"],[1189,0,"m"],[1190,0,"e"],[1191,0,"s"],[1192,0,"t"],[1193,0,"a"],[1194,0,"m"],[1195,0,"p"],[1196,0,"s"],[1197,0,"}"],[1198,0,"\n"],[1165,0,"\n"],[1166,0,"\n"],[1167,0,"W"],[1168,0,"e"],[1169,0," "],[1170,0,"g"],[1171,0,"o"],[1172,0," "],[1173,0,"a"],[1174,0,"b"],[1175,0,"o"],[1176,0,"u"],[1177,0,"t"],[1178,0," "],[1179,0,"d"],[1180,0,"e"],[1181,0,"f"],[1182,0,"i"],[1183,0,"n"],[1184,0,"i"],[1185,0,"n"],[1186,0,"g"],[1187,0," "],[1188,0,"t"],[1189,0,"h"],[1190,0,"e"],[1191,0," "],[1192,0,"s"],[1193,0,"e"],[1194,0,"m"],[1195,0,"a"],[1196,0,"n"],[1197,0,"t"],[1198,0,"i"],[1199,0,"c"],[1200,0,"s"],[1201,0," "],[1202,0,"f"],[1203,0,"o"],[1204,0,"r"],[1205,0," "],[1206,0,"c"],[1207,0,"o"],[1208,0,"l"],[1209,0,"l"],[1210,0,"a"],[1211,0,"b"],[1212,0,"o"],[1213,0,"r"],[1214,0,"a"],[1215,0,"t"],[1216,0,"i"],[1217,0,"v"],[1218,0,"e"],[1219,0,"l"],[1220,0,"y"],[1221,0," "],[1222,0,"e"],[1223,0,"d"],[1224,0,"i"],[1225,0,"t"],[1226,0,"a"],[1227,0,"b"],[1228,0,"l"],[1229,0,"e"],[1230,0," "],[1231,0,"d"],[1232,0,"a"],[1233,0,"t"],[1234,0,"a"],[1235,0," "],[1236,0,"s"],[1237,0,"t"],[1238,0,"r"],[1239,0,"u"],[1240,0,"c"],[1241,0,"t"],[1242,0,"u"],[1243,0,"r"],[1244,0,"e"],[1245,0,"s"],[1246,0," "],[1247,0,"a"],[1248,0,"s"],[1249,0," "],[1250,0,"f"],[1251,0,"o"],[1252,0,"l"],[1253,0,"l"],[1254,0,"w"],[1255,0,"0"],[1255,1],[1254,1],[1254,0,"o"],[1255,0,"w"],[1256,0,"s"],[1257,0,"."],[1258,0," "],[1259,0,"F"],[1260,0,"i"],[1261,0,"r"],[1262,0,"s"],[1263,0,"t"],[1264,0,"l"],[1265,0,"y"],[1266,0,","],[1267,0," "],[1268,0,"w"],[1269,0,"e"],[1270,0," "],[1271,0,"d"],[1272,0,"e"],[1273,0,"f"],[1274,0,"i"],[1275,0,"n"],[1276,0,"e"],[1277,0," "],[1278,0,"a"],[1279,0," "],[1280,0,"s"],[1281,0,"i"],[1282,0,"m"],[1283,0,"p"],[1284,0,"l"],[1285,0,"e"],[1286,0," "],[1287,0,"c"],[1288,0,"o"],[1289,0,"m"],[1290,0,"m"],[1291,0,"a"],[1292,0,"n"],[1293,0,"d"],[1294,0," "],[1295,0,"l"],[1296,0,"a"],[1297,0,"n"],[1298,0,"g"],[1299,0,"u"],[1300,0,"a"],[1301,0,"g"],[1302,0,"e"],[1303,0," "],[1304,0,"t"],[1305,0,"h"],[1306,0,"a"],[1307,0,"t"],[1308,0," "],[1309,0,"i"],[1310,0,"s"],[1311,0," "],[1312,0,"e"],[1313,0,"x"],[1314,0,"e"],[1315,0,"c"],[1316,0,"u"],[1317,0,"t"],[1318,0,"e"],[1319,0,"d"],[1320,0," "],[1321,0,"l"],[1322,0,"o"],[1323,0,"c"],[1324,0,"a"],[1325,0,"l"],[1326,0,"l"],[1327,0,"y"],[1328,0," "],[1329,0,"o"],[1330,0,"n"],[1331,0," "],[1332,0,"o"],[1333,0,"n"],[1334,0,"e"],[1335,0," "],[1336,0,"o"],[1336,1],[1335,1],[1334,1],[1333,1],[1332,1],[1331,1],[1330,1],[1329,1],[1329,0,"a"],[1330,0,"t"],[1331,0," "],[1332,0,"a"],[1333,0,"n"],[1334,0,"y"],[1335,0," "],[1336,0,"o"],[1337,0,"f"],[1338,0," "],[1339,0,"t"],[1340,0,"h"],[1341,0,"e"],[1342,0," "],[1343,0,"p"],[1344,0,"e"],[1345,0,"e"],[1346,0,"r"],[1347,0,"s"],[1348,0,","],[1349,0," "],[1350,0,"a"],[1351,0,"n"],[1352,0,"d"],[1353,0," "],[1354,0,"w"],[1355,0,"h"],[1356,0,"i"],[1357,0,"c"],[1358,0,"h"],[1359,0," "],[1360,0,"a"],[1361,0,"l"],[1362,0,"l"],[1363,0,"o"],[1364,0,"w"],[1365,0,"s"],[1366,0," "],[1367,0,"t"],[1368,0,"h"],[1369,0,"e"],[1370,0," "],[1371,0,"l"],[1372,0,"o"],[1373,0,"c"],[1374,0,"a"],[1375,0,"l"],[1376,0," "],[1377,0,"s"],[1378,0,"t"],[1379,0,"a"],[1380,0,"t"],[1381,0,"e"],[1382,0," "],[1383,0,"o"],[1384,0,"f"],[1385,0," "],[1386,0,"t"],[1387,0,"h"],[1388,0,"a"],[1389,0,"t"],[1390,0," "],[1391,0,"p"],[1392,0,"e"],[1393,0,"e"],[1394,0,"r"],[1395,0,"'"],[1396,0,"s"],[1397,0," "],[1398,0,"c"],[1399,0,"o"],[1400,0,"p"],[1401,0,"y"],[1402,0," "],[1403,0,"o"],[1404,0,"f"],[1405,0," "],[1406,0,"t"],[1407,0,"h"],[1408,0,"e"],[1409,0," "],[1410,0,"d"],[1411,0,"o"],[1412,0,"c"],[1413,0,"u"],[1414,0,"m"],[1415,0,"e"],[1416,0,"n"],[1417,0,"t"],[1418,0," "],[1419,0,"t"],[1420,0,"o"],[1421,0," "],[1422,0,"b"],[1423,0,"e"],[1424,0," "],[1425,0,"q"],[1426,0,"u"],[1427,0,"e"],[1428,0,"r"],[1429,0,"i"],[1430,0,"e"],[1431,0,"d"],[1432,0," "],[1433,0,"a"],[1434,0,"n"],[1435,0,"d"],[1436,0," "],[1437,0,"m"],[1438,0,"o"],[1439,0,"d"],[1440,0,"i"],[1441,0,"f"],[1442,0,"i"],[1443,0,"e"],[1444,0,"d"],[1445,0,"."],[1446,0," "],[1447,0,"P"],[1448,0,"e"],[1449,0,"r"],[1450,0,"f"],[1451,0,"o"],[1452,0,"r"],[1453,0,"m"],[1454,0,"i"],[1455,0,"n"],[1456,0,"g"],[1457,0," "],[1458,0,"q"],[1459,0,"u"],[1460,0,"e"],[1461,0,"r"],[1462,0,"i"],[1463,0,"e"],[1464,0,"s"],[1465,0," "],[1465,1],[1464,1],[1463,1],[1462,1],[1461,1],[1460,1],[1459,1],[1458,1],[1458,0,"r"],[1459,0,"e"],[1460,0,"a"],[1461,0,"d"],[1462,0,"-"],[1463,0,"o"],[1464,0,"n"],[1465,0,"l"],[1466,0,"y"],[1467,0," "],[1468,0,"q"],[1469,0,"u"],[1470,0,"e"],[1471,0,"r"],[1472,0,"i"],[1473,0,"e"],[1474,0,"s"],[1475,0," "],[1476,0,"h"],[1477,0,"a"],[1478,0,"s"],[1479,0," "],[1480,0,"n"],[1481,0,"o"],[1482,0," "],[1483,0,"s"],[1484,0,"i"],[1485,0,"d"],[1486,0,"e"],[1487,0,"-"],[1488,0,"e"],[1489,0,"f"],[1490,0,"f"],[1491,0,"e"],[1492,0,"c"],[1493,0,"t"],[1494,0,"s"],[1495,0,","],[1496,0," "],[1497,0,"b"],[1498,0,"u"],[1499,0,"t"],[1500,0," "],[1501,0,"p"],[1502,0,"e"],[1503,0,"r"],[1503,1],[1502,1],[1501,1],[1501,0,"m"],[1502,0,"o"],[1503,0,"d"],[1504,0,"i"],[1505,0,"f"],[1506,0,"y"],[1507,0,"i"],[1508,0,"n"],[1509,0,"g"],[1510,0," "],[1511,0,"t"],[1512,0,"h"],[1513,0,"e"],[1514,0," "],[1515,0,"d"],[1516,0,"o"],[1517,0,"c"],[1518,0,"u"],[1519,0,"m"],[1520,0,"e"],[1521,0,"n"],[1522,0,"t"],[1523,0," "],[1524,0,"h"],[1525,0,"a"],[1526,0,"s"],[1527,0," "],[1528,0,"t"],[1529,0,"h"],[1530,0,"e"],[1531,0," "],[1532,0,"e"],[1533,0,"f"],[1534,0,"f"],[1535,0,"e"],[1536,0,"c"],[1537,0,"t"],[1538,0," "],[1539,0,"o"],[1540,0,"f"],[1541,0," "],[1542,0,"p"],[1543,0,"r"],[1544,0,"o"],[1545,0,"d"],[1546,0,"u"],[1547,0,"c"],[1548,0,"i"],[1549,0,"n"],[1550,0,"g"],[1551,0," "],[1552,0,"\\"],[1553,0,"e"],[1554,0,"m"],[1555,0,"p"],[1556,0,"h"],[1557,0,"{"],[1558,0,"o"],[1559,0,"p"],[1560,0,"e"],[1561,0,"r"],[1562,0,"a"],[1563,0,"t"],[1564,0,"i"],[1565,0,"o"],[1566,0,"n"],[1567,0,"s"],[1568,0,"}"],[1569,0," "],[1570,0,"d"],[1571,0,"e"],[1572,0,"s"],[1573,0,"c"],[1574,0,"r"],[1575,0,"i"],[1576,0,"b"],[1577,0,"i"],[1578,0,"n"],[1579,0,"g"],[1580,0," "],[1581,0,"t"],[1582,0,"h"],[1583,0,"e"],[1584,0," "],[1585,0,"m"],[1586,0,"u"],[1587,0,"t"],[1588,0,"a"],[1589,0,"t"],[1590,0,"i"],[1591,0,"o"],[1592,0,"n"],[1593,0,"."],[1594,0," "],[1595,0,"T"],[1596,0,"h"],[1597,0,"o"],[1598,0,"s"],[1599,0,"e"],[1600,0," "],[1601,0,"o"],[1602,0,"p"],[1603,0,"e"],[1604,0,"r"],[1605,0,"a"],[1606,0,"t"],[1607,0,"i"],[1608,0,"o"],[1609,0,"n"],[1610,0,"s"],[1611,0," "],[1612,0,"a"],[1613,0,"r"],[1614,0,"e"],[1615,0," "],[1616,0,"a"],[1617,0,"p"],[1618,0,"p"],[1619,0,"l"],[1620,0,"i"],[1621,0,"e"],[1622,0,"d"],[1623,0," "],[1624,0,"t"],[1625,0,"o"],[1626,0," "],[1627,0,"t"],[1628,0,"h"],[1629,0,"e"],[1630,0," "],[1631,0,"l"],[1632,0,"o"],[1633,0,"c"],[1634,0,"a"],[1635,0,"l"],[1636,0," "],[1637,0,"c"],[1638,0,"o"],[1639,0,"p"],[1640,0,"y"],[1641,0," "],[1642,0,"o"],[1643,0,"f"],[1644,0," "],[1645,0,"t"],[1646,0,"h"],[1647,0,"e"],[1648,0," "],[1649,0,"d"],[1650,0,"o"],[1651,0,"c"],[1652,0,"u"],[1653,0,"m"],[1654,0,"e"],[1655,0,"n"],[1656,0,"t"],[1657,0," "],[1657,1],[1657,0,","],[1658,0," "],[1659,0,"a"],[1660,0,"n"],[1661,0,"d"],[1662,0," "],[1663,0,"a"],[1664,0,"l"],[1665,0,"s"],[1666,0,"o"],[1667,0," "],[1668,0,"e"],[1669,0,"n"],[1670,0,"q"],[1671,0,"u"],[1672,0,"e"],[1673,0,"u"],[1674,0,"e"],[1675,0,"d"],[1676,0," "],[1677,0,"f"],[1678,0,"o"],[1679,0,"r"],[1680,0," "],[1681,0,"b"],[1682,0,"r"],[1683,0,"o"],[1684,0,"a"],[1685,0,"d"],[1686,0,"c"],[1687,0,"a"],[1688,0,"s"],[1689,0,"t"],[1690,0,"i"],[1691,0,"n"],[1692,0,"g"],[1693,0," "],[1694,0,"t"],[1695,0,"o"],[1696,0," "],[1697,0,"o"],[1698,0,"t"],[1699,0,"h"],[1700,0,"e"],[1701,0,"r"],[1702,0," "],[1703,0,"p"],[1704,0,"e"],[1705,0,"e"],[1706,0,"r"],[1707,0,"s"],[1708,0,"."],[1709,0," "],[1710,0,"\n"],[1711,0,"\n"],[1712,0,"\\"],[1713,0,"b"],[1714,0,"e"],[1715,0,"g"],[1716,0,"i"],[1717,0,"n"],[1718,0,"{"],[1719,0,"f"],[1720,0,"i"],[1721,0,"g"],[1722,0,"u"],[1723,0,"r"],[1724,0,"e"],[1725,0,"}"],[1726,0,"\n"],[1727,0,"\\"],[1728,0,"e"],[1729,0,"n"],[1730,0,"d"],[1731,0,"{"],[1732,0,"f"],[1733,0,"i"],[1734,0,"g"],[1735,0,"u"],[1736,0,"r"],[1737,0,"e"],[1738,0,"}"],[1726,0,"\n"],[1727,0,"\\"],[1728,0,"c"],[1729,0,"a"],[1730,0,"p"],[1731,0,"t"],[1732,0,"i"],[1733,0,"o"],[1734,0,"n"],[1735,0,"{"],[1736,0,"S"],[1737,0,"y"],[1738,0,"n"],[1739,0,"t"],[1740,0,"a"],[1741,0,"x"],[1742,0," "],[1743,0,"o"],[1744,0,"f"],[1745,0," "],[1746,0,"c"],[1747,0,"o"],[1748,0,"m"],[1749,0,"m"],[1750,0,"a"],[1751,0,"n"],[1752,0,"d"],[1753,0," "],[1754,0,"l"],[1755,0,"a"],[1756,0,"n"],[1757,0,"g"],[1758,0,"u"],[1759,0,"a"],[1760,0,"g"],[1761,0,"e"],[1762,0," "],[1763,0,"f"],[1764,0,"o"],[1765,0,"r"],[1766,0," "],[1767,0,"l"],[1768,0,"o"],[1769,0,"c"],[1770,0,"a"],[1771,0,"l"],[1772,0,"l"],[1773,0,"y"],[1774,0," "],[1774,1],[1773,1],[1772,1],[1771,1],[1770,1],[1769,1],[1768,1],[1767,1],[1767,0,"q"],[1768,0,"u"],[1769,0,"e"],[1770,0,"r"],[1771,0,"y"],[1772,0,"i"],[1773,0,"n"],[1774,0,"g"],[1775,0," "],[1776,0,"a"],[1777,0,"n"],[1778,0,"d"],[1779,0," "],[1780,0,"m"],[1781,0,"o"],[1782,0,"d"],[1783,0,"i"],[1784,0,"f"],[1785,0,"y"],[1786,0,"i"],[1787,0,"n"],[1788,0,"g"],[1789,0," "],[1790,0,"a"],[1791,0," "],[1792,0,"d"],[1793,0,"o"],[1794,0,"c"],[1795,0,"u"],[1796,0,"m"],[1797,0,"e"],[1798,0,"n"],[1799,0,"t"],[1800,0,"}"],[1801,0,"\\"],[1802,0,"l"],[1803,0,"a"],[1804,0,"b"],[1805,0,"e"],[1806,0,"l"],[1807,0,"{"],[1808,0,"f"],[1809,0,"i"],[1810,0,"g"],[1811,0,":"],[1812,0,"l"],[1813,0,"o"],[1814,0,"c"],[1815,0,"a"],[1816,0,"l"],[1817,0,"-"],[1818,0,"s"],[1819,0,"y"],[1820,0,"n"],[1821,0,"t"],[1822,0,"a"],[1823,0,"x"],[1824,0,"}"],[1726,0,"\n"],[1727,0,"\\"],[1728,0,"b"],[1729,0,"e"],[1730,0,"g"],[1731,0,"i"],[1732,0,"n"],[1733,0,"{"],[1734,0,"t"],[1735,0,"a"],[1736,0,"b"],[1737,0,"u"],[1738,0,"l"],[1739,0,"a"],[1740,0,"r"],[1741,0,"}"],[1742,0,"\n"],[1743,0,"\\"],[1744,0,"e"],[1745,0,"n"],[1746,0,"d"],[1747,0,"{"],[1748,0,"t"],[1749,0,"a"],[1750,0,"b"],[1751,0,"u"],[1752,0,"l"],[1753,0,"a"],[1754,0,"r"],[1755,0,"}"],[1742,0,"\n"],[1743,0,"C"],[1744,0,"M"],[1745,0,"D"],[1746,0," "],[1747,0,"&"],[1748,0," "],[1749,0,":"],[1750,0,":"],[1751,0,"="],[1752,0," "],[1753,0,"&"],[1754,0," "],[1755,0,"l"],[1755,1],[1755,0,"\\"],[1756,0,"m"],[1757,0,"a"],[1757,1],[1756,1],[1756,0,"t"],[1757,0,"e"],[1758,0,"x"],[1759,0,"t"],[1760,0,"s"],[1761,0,"f"],[1762,0,"{"],[1763,0,"l"],[1764,0,"e"],[1765,0,"t"],[1766,0,"}"],[1767,0," "],[1768,0,"$"],[1769,0,"x"],[1770,0,"$"],[1771,0," "],[1772,0,"="],[1773,0," "],[1774,0,"E"],[1775,0,"X"],[1776,0,"P"],[1777,0,"R"],[1778,0," "],[1779,0,"&"],[1780,0," "],[1781,0,"$"],[1782,0,"x"],[1783,0," "],[1784,0,"\\"],[1785,0,"i"],[1786,0,"n"],[1787,0," "],[1788,0,"\\"],[1789,0,"m"],[1790,0,"a"],[1791,0,"t"],[1792,0,"h"],[1793,0,"r"],[1794,0,"m"],[1795,0,"{"],[1796,0,"V"],[1797,0,"A"],[1798,0,"R"],[1799,0,"}"],[1800,0,"$"],[1742,0,"{"],[1743,0,"r"],[1744,0,"c"],[1745,0,"l"],[1746,0,"l"],[1747,0,"}"],[1807,0," "],[1808,0,"\\"],[1809,0,"\\"],[1810,0,"\n"],[1811,0,"&"],[1812,0," "],[1813,0,"|"],[1814,0," "],[1815,0,"&"],[1816,0," "],[1817,0,"E"],[1818,0,"X"],[1819,0,"P"],[1820,0,"R"],[1821,0," "],[1822,0,"="],[1823,0," "],[1824,0,"$"],[1825,0,"v"],[1826,0,"$"],[1827,0," "],[1828,0,"&"],[1829,0," "],[1830,0,"$"],[1831,0,"v"],[1832,0," "],[1833,0,"\\"],[1834,0,"i"],[1835,0,"n"],[1836,0," "],[1837,0,"V"],[1838,0,"A"],[1839,0,"L"],[1837,0,"\\"],[1838,0,"m"],[1839,0,"a"],[1840,0,"t"],[1841,0,"h"],[1842,0,"r"],[1843,0,"m"],[1844,0,"{"],[1848,0,"}"],[1849,0,"$"],[1850,0," "],[1851,0,"\\"],[1852,0,"\\"],[1813,0,"|"],[1813,1],[1813,0,"\\"],[1813,1],[1813,0,"$"],[1815,0,"$"],[1855,0,"\n"],[1856,0,"^"],[1856,1],[1856,0,"&"],[1857,0," "],[1858,0,"$"],[1859,0,"|"],[1860,0,"$"],[1861,0," "],[1862,0,"&"],[1863,0," "],[1864,0,"C"],[1865,0,"M"],[1866,0,"D"],[1867,0,";"],[1868,0," "],[1869,0,"C"],[1870,0,"M"],[1871,0,"D"],[1872,0," "],[1873,0,"\\"],[1874,0,"\\"],[1875,0,"\n"],[1876,0,"E"],[1877,0,"X"],[1878,0,"P"],[1879,0,"R"],[1880,0," "],[1881,0,"&"],[1882,0," "],[1883,0,":"],[1884,0,":"],[1885,0,"="],[1886,0," "],[1887,0,"&"],[1888,0," "],[1889,0,"\\"],[1890,0,"t"],[1891,0,"e"],[1892,0,"x"],[1893,0,"t"],[1894,0,"s"],[1895,0,"f"],[1896,0,"{"],[1897,0,"d"],[1898,0,"o"],[1899,0,"c"],[1900,0,"}"],[1901,0," "],[1902,0,"\\"],[1903,0,"\\"],[1904,0,"\n"],[1905,0,"&"],[1906,0," "],[1907,0,"$"],[1908,0,"|"],[1909,0,"$"],[1910,0," "],[1911,0,"E"],[1912,0,"X"],[1913,0,"P"],[1914,0,"R"],[1915,0,"."],[1916,0,"\\"],[1917,0,"m"],[1918,0,"a"],[1919,0,"t"],[1920,0,"h"],[1921,0,"s"],[1922,0,"f"],[1923,0,"{"],[1924,0,"g"],[1925,0,"e"],[1926,0,"t"],[1927,0,"}"],[1928,0,"("],[1920,1],[1919,1],[1918,1],[1917,1],[1917,0,"t"],[1918,0,"e"],[1919,0,"x"],[1920,0,"t"],[1929,0,"\\"],[1930,0,"t"],[1931,0,"e"],[1932,0,"x"],[1933,0,"t"],[1934,0,"i"],[1935,0,"t"],[1936,0,"{"],[1937,0,"k"],[1938,0,"e"],[1939,0,"y"],[1940,0,"}"],[1941,0,")"],[1942,0," "],[1943,0,"&"],[1944,0," "],[1945,0,"\\"],[1946,0,"\\"],[1946,1],[1945,1],[1945,0,"$"],[1946,0,"\\"],[1947,0,"m"],[1948,0,"a"],[1949,0,"t"],[1950,0,"h"],[1951,0,"i"],[1952,0,"t"],[1953,0,"{"],[1954,0,"k"],[1955,0,"e"],[1956,0,"y"],[1957,0,"}"],[1958,0," "],[1959,0,"\\"],[1960,0,"i"],[1961,0,"n"],[1962,0," "],[1963,0,"\\"],[1964,0,"m"],[1965,0,"a"],[1966,0,"t"],[1967,0,"h"],[1968,0,"r"],[1969,0,"m"],[1970,0," "],[1970,1],[1970,0,"{"],[1971,0,"V"],[1972,0,"A"],[1973,0,"L"],[1974,0,"}"],[1975,0,"$"],[1976,0," "],[1977,0,"\\"],[1978,0,"\\"],[1979,0,"\n"],[1980,0,"&"],[1981,0," "],[1982,0,"$"],[1983,0,"|"],[1984,0,"$"],[1985,0," "],[1986,0,"E"],[1987,0,"X"],[1988,0,"P"],[1989,0,"R"],[1990,0,"."],[1991,0,"\\"],[1992,0,"t"],[1993,0,"e"],[1994,0,"x"],[1995,0,"t"],[1996,0,"s"],[1997,0,"f"],[1998,0,"{"],[1999,0,"n"],[2000,0,"e"],[2001,0,"x"],[2002,0,"t"],[2003,0,"}"],[2004,0," "],[2005,0,"\\"],[2006,0,"\\"],[2007,0,"\n"],[2008,0,"&"],[2009,0," "],[2010,0,"$"],[2011,0,"|"],[2012,0,"$"],[2013,0," "],[2014,0,"E"],[2015,0,"X"],[2016,0,"P"],[2017,0,"R"],[2018,0,"."],[2019,0,"\\"],[2019,1],[2019,0,"\\"],[2020,0,"t"],[2021,0,"e"],[2022,0,"x"],[2023,0,"t"],[2024,0,"s"],[2025,0,"f"],[2026,0,"{"],[2027,0,"v"],[2028,0,"a"],[2029,0,"l"],[2030,0,"u"],[2031,0,"e"],[2032,0,"s"],[2033,0,"}"],[2034,0,"\n"],[2034,1],[1855,0,"\n"],[1856,0,"^"],[1857,0," "],[1857,1],[1856,1],[1856,0,"&"],[1857,0," "],[1858,0,"$"],[1859,0,"|"],[1860,0,"$"],[1861,0," "],[1862,0,"&"],[1863,0," "],[1864,0,"\\"],[1865,0,"m"],[1866,0,"a"],[1867,0,"t"],[1868,0,"h"],[1869,0,"s"],[1870,0,"f"],[1871,0,"{"],[1872,0,"y"],[1873,0,"i"],[1874,0,"e"],[1875,0,"l"],[1876,0,"d"],[1877,0,"}"],[1878,0," "],[1879,0,"\\"],[1880,0,"\\"],[1868,1],[1867,1],[1866,1],[1865,1],[1865,0,"t"],[1866,0,"e"],[1867,0,"x"],[1868,0,"t"],[1937,0,"&"],[1938,0," "],[2014,0,"&"],[2015,0," "],[2044,0,"&"],[2045,0," "],[1901,0,"\\"],[1902,0,"v"],[1903,0,"s"],[1904,0,"p"],[1905,0,"a"],[1906,0,"c"],[1907,0,"e"],[1908,0,"{"],[1909,0,"1"],[1910,0,"0"],[1911,0,"p"],[1912,0,"t"],[1913,0,"}"],[1912,1],[1911,1],[1910,1],[1910,0,"e"],[1911,0,"m"],[1913,0,"\\"],[1914,0,"\\"],[1900,1],[1899,1],[2019,0,"\n"],[2020,0,"&"],[2021,0," "],[2022,0,"$"],[2023,0,"|"],[2024,0,"$"],[2025,0," "],[2026,0,"&"],[2027,0," "],[2028,0,"E"],[2029,0,"X"],[2030,0,"P"],[2031,0,"R"],[2032,0,"."],[2033,0,"\\"],[2034,0,"t"],[2035,0,"e"],[2036,0,"x"],[2037,0,"t"],[2038,0,"s"],[2039,0,"f"],[2040,0,"{"],[2041,0,"d"],[2042,0,"e"],[2043,0,"l"],[2044,0,"K"],[2045,0,"e"],[2046,0,"y"],[2047,0,"}"],[2048,0," "],[2049,0,"\\"],[2050,0,"\\"],[2081,0,"\n"],[2082,0,"&"],[2083,0," "],[2084,0,"$"],[2085,0,"|"],[2086,0,"$"],[2087,0," "],[2088,0,"&"],[2089,0," "],[2090,0,"E"],[2091,0,"X"],[2092,0,"P"],[2093,0,"R"],[2094,0,"."],[2095,0,"\\"],[2096,0,"t"],[2097,0,"e"],[2098,0,"x"],[2099,0,"t"],[2100,0,"s"],[2101,0,"f"],[2102,0,"{"],[2103,0,"d"],[2104,0,"e"],[2105,0,"l"],[2043,1],[2042,1],[2041,1],[2041,0,"r"],[2042,0,"m"],[2104,1],[2103,1],[2102,1],[2102,0,"r"],[2103,0,"m"],[2104,0,"E"],[2105,0,"l"],[2106,0,"e"],[2107,0,"m"],[2108,0,"}"],[2109,0," "],[2110,0,"\\"],[2111,0,"\\"],[2141,0," "],[2142,0,"\\"],[2143,0,"\\"],[2144,0,"\n"],[2145,0,"&"],[2146,0," "],[2147,0,"$"],[2148,0,"|"],[2149,0,"$"],[2150,0," "],[2151,0,"&"],[2152,0," "],[2153,0,"$"],[2154,0,"x"],[2155,0,"$"],[2156,0," "],[2157,0,"&"],[2158,0," "],[2159,0,"$"],[2160,0,"x"],[2161,0," "],[2162,0,"\\"],[2163,0,"i"],[2164,0,"n"],[2165,0," "],[2166,0,"\\"],[2167,0,"m"],[2168,0,"a"],[2169,0,"t"],[2170,0,"h"],[2171,0,"r"],[2172,0,"m"],[2173,0,"{"],[2174,0,"V"],[2175,0,"A"],[2176,0,"R"],[2177,0,"}"],[2178,0,"$"],[2179,0," "],[2180,0,"\\"],[2181,0,"v"],[2182,0,"s"],[2183,0,"p"],[2184,0,"a"],[2185,0,"c"],[2186,0,"e"],[2187,0,"{"],[2188,0,"1"],[2189,0,"e"],[2190,0,"m"],[2191,0,"}"],[2192,0,"\\"],[2193,0,"\\"],[2194,0,"\n"],[2195,0,"V"],[2196,0,"A"],[2197,0,"R"],[2198,0," "],[2199,0,"&"],[2200,0," "],[2201,0,":"],[2202,0,":"],[2203,0,"="],[2204,0," "],[2205,0,"&"],[2206,0," "],[2207,0,"$"],[2208,0,"{"],[2209,0,"x"],[2210,0,"_"],[2211,0,"1"],[2212,0,","],[2213,0," "],[2214,0,"x"],[2215,0,"_"],[2216,0,"2"],[2217,0,","],[2218,0," "],[2219,0,"\\"],[2220,0,"d"],[2221,0,"o"],[2222,0,"t"],[2223,0,"s"],[2224,0,"}"],[2225,0,"$"],[2226,0,"\n"],[2227,0,"V"],[2228,0,"A"],[2229,0,"L"],[2230,0," "],[2231,0,"&"],[2232,0," "],[2233,0,":"],[2234,0,":"],[2235,0,"="],[2236,0," "],[2237,0,"&"],[2238,0," "],[2239,0,"\\"],[2240,0,"m"],[2241,0,"a"],[2242,0,"t"],[2243,0,"h"],[2244,0,"b"],[2245,0,"b"],[2239,0,"$"],[2247,0,"{"],[2248,0,"N"],[2249,0,"}"],[2250,0," "],[2251,0,"\\"],[2252,0,"c"],[2253,0,"u"],[2254,0,"p"],[2255,0," "],[2256,0,"\\"],[2257,0,"m"],[2258,0,"a"],[2259,0,"t"],[2260,0,"h"],[2261,0,"r"],[2262,0,"m"],[2263,0,"{"],[2264,0,"S"],[2265,0,"t"],[2266,0,"r"],[2267,0,"i"],[2268,0,"n"],[2269,0,"g"],[2270,0,"}"],[2271,0,"$"],[2226,0," "],[2227,0,"\\"],[2228,0,"\\"],[116,0,"\n"],[117,0,"\\"],[118,0,"u"],[119,0,"s"],[120,0,"e"],[121,0,"p"],[122,0,"a"],[123,0,"c"],[124,0,"k"],[125,0,"a"],[126,0,"g"],[127,0,"e"],[128,0,"{"],[129,0,"a"],[130,0,"m"],[131,0,"s"],[132,0,"s"],[133,0,"y"],[134,0,"m"],[135,0,"b"],[136,0,"}"],[137,0," "],[138,0,"%"],[139,0," "],[140,0,"m"],[141,0,"a"],[142,0,"t"],[143,0,"h"],[144,0,"b"],[145,0,"b"],[2257,0,"\\"],[2258,0,"v"],[2259,0,"s"],[2260,0,"p"],[2261,0,"a"],[2262,0,"c"],[2263,0,"e"],[2264,0,"{"],[2265,0,"0"],[2266,0,"."],[2267,0,"5"],[2268,0,"e"],[2269,0,"m"],[2270,0,"}"],[2218,1],[2218,0,"0"],[2219,0,"."],[2220,0,"5"],[1937,1],[1937,0,"0"],[1938,0,"."],[1939,0,"5"],[2302,0,"\\"],[2303,0,";"],[2308,0,"\\"],[2309,0,";"],[1885,0,"\n"],[1886,0,"&"],[1887,0," "],[1888,0,"$"],[1889,0,"|"],[1890,0,"$"],[1891,0," "],[1892,0,"&"],[1893,0," "],[1894,0,"E"],[1895,0,"X"],[1896,0,"P"],[1897,0,"R"],[1898,0,"."],[1899,0,"\\"],[1900,0,"m"],[1901,0,"a"],[1901,1],[1900,1],[1900,0,"t"],[1901,0,"e"],[1902,0,"x"],[1903,0,"t"],[1904,0,"s"],[1905,0,"f"],[1906,0,"{"],[1907,0,"i"],[1908,0,"n"],[1909,0,"s"],[1910,0,"e"],[1911,0,"r"],[1912,0,"t"],[1913,0,"A"],[1914,0,"f"],[1915,0,"t"],[1916,0,"e"],[1917,0,"r"],[1918,0,"}"],[1919,0,"("],[1917,1],[1916,1],[1915,1],[1914,1],[1913,1],[1894,0,"$"],[1895,0,"\\"],[1896,0,"m"],[1897,0,"a"],[1898,0,"t"],[1899,0,"h"],[1900,0,"r"],[1901,0,"m"],[1902,0,"{"],[1907,0,"}"],[1910,1],[1910,1],[1910,1],[1910,1],[1910,0,"m"],[1911,0,"a"],[1912,0,"t"],[1913,0,"h"],[1925,0,"v"],[1926,0,")"],[1927,0,"$"],[1928,0," "],[1929,0,"&"],[1930,0," "],[1931,0,"$"],[1932,0,"v"],[1933,0," "],[1934,0,"\\"],[1935,0,"i"],[1936,0,"n"],[1937,0," "],[1938,0,"\\"],[1939,0,"m"],[1940,0,"a"],[1941,0,"t"],[1942,0,"h"],[1943,0,"r"],[1944,0,"m"],[1945,0,"{"],[1946,0,"V"],[1947,0,"A"],[1948,0,"L"],[1949,0,"}"],[1950,0,"$"],[1951,0," "],[1952,0,"\\"],[1953,0,"\\"],[1954,0,"\n"],[1955,0,"&"],[1956,0," "],[1957,0,"$"],[1957,1],[1957,0,"$"],[1958,0,"|"],[1959,0,"$"],[1960,0," "],[1961,0,"&"],[1962,0," "],[1963,0,"\\"],[1964,0,"m"],[1965,0,"a"],[1966,0,"t"],[1967,0,"h"],[1968,0,"r"],[1969,0,"m"],[1963,0,"%"],[1963,1],[1963,0,"$"],[1849,0,"$"],[1850,0,"\\"],[1851,0,"m"],[1852,0,"a"],[1853,0,"t"],[1854,0,"h"],[1855,0,"r"],[1856,0,"m"],[1857,0,"{"],[1862,0,"}"],[1866,1],[1980,0,"{"],[1981,0,"E"],[1982,0,"X"],[1983,0,"P"],[1984,0,"R"],[1985,0,"}"],[1986,0,"."],[1987,0,"\\"],[1988,0,"m"],[1989,0,"a"],[1990,0,"t"],[1991,0,"h"],[1992,0,"s"],[1993,0,"f"],[1994,0,"{"],[1995,0,"r"],[1996,0,"m"],[1997,0,"K"],[1998,0,"e"],[1999,0,"y"],[1999,1],[1998,1],[1997,1],[1996,1],[1995,1],[1995,0,"d"],[1996,0,"e"],[1997,0,"l"],[1998,0,"e"],[1999,0,"t"],[2000,0,"e"],[2001,0,"}"],[2002,0," "],[2003,0,"\\"],[2004,0,"\\"],[2002,0,"$"],[2202,1],[2201,1],[2200,1],[2199,1],[2198,1],[2197,1],[2196,1],[2195,1],[2194,1],[2193,1],[2192,1],[2191,1],[2190,1],[2189,1],[2188,1],[2187,1],[2186,1],[2185,1],[2184,1],[2183,1],[2182,1],[2181,1],[2180,1],[2179,1],[2178,1],[2177,1],[2176,1],[2175,1],[2174,1],[2173,1],[2172,1],[2171,1],[2171,0,"\\"],[2233,1],[2232,1],[2231,1],[2230,1],[2229,1],[2228,1],[2227,1],[2226,1],[2225,1],[2224,1],[2223,1],[2222,1],[2221,1],[2220,1],[2219,1],[2218,1],[2217,1],[2216,1],[2215,1],[2214,1],[2213,1],[2212,1],[2211,1],[2210,1],[2209,1],[2208,1],[2207,1],[2206,1],[2205,1],[2204,1],[2203,1],[2202,1],[2095,0,"\n"],[2096,0,"&"],[2097,0," "],[2098,0,"$"],[2099,0,"|"],[2100,0,"$"],[2101,0," "],[2102,0,"&"],[2103,0," "],[2104,0,"$"],[2105,0,"x"],[2106,0,"$"],[2107,0," "],[2108,0,"&"],[2109,0," "],[2110,0,"$"],[2111,0,"x"],[2112,0," "],[2113,0,"\\"],[2114,0,"i"],[2115,0,"n"],[2116,0," "],[2117,0,"\\"],[2118,0,"m"],[2119,0,"a"],[2120,0,"t"],[2121,0,"h"],[2122,0,"r"],[2123,0,"m"],[2124,0,"{"],[2125,0,"V"],[2126,0,"A"],[2127,0,"R"],[2128,0,"}"],[2129,0," "],[2130,0,"$"],[2130,1],[2129,1],[2129,0,"$"],[2130,0," "],[2131,0,"\\"],[2132,0,"\\"],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2273,1],[2270,0,"\\"],[2271,0,"v"],[2272,0,"s"],[2273,0,"p"],[2274,0,"a"],[2275,0,"c"],[2276,0,"e"],[2277,0,"{"],[2278,0,"0"],[2279,0,"."],[2280,0,"5"],[2281,0,"e"],[2282,0,"m"],[2283,0,"}"],[2204,1],[2203,1],[2202,1],[2202,0,"S"],[2203,0,"t"],[2204,0,"r"],[2205,0,"i"],[2206,0,"n"],[2207,0,"g"],[2006,0,"\n"],[2007,0,"&"],[2008,0," "],[2009,0,"$"],[2010,0,"|"],[2011,0,"$"],[2012,0," "],[2013,0,"&"],[2014,0," "],[2015,0,"$"],[2016,0,"\\"],[2017,0,"m"],[2018,0,"a"],[2019,0,"t"],[2020,0,"h"],[2021,0,"r"],[2022,0,"m"],[2023,0,"{"],[2024,0,"E"],[2025,0,"X"],[2026,0,"P"],[2027,0,"R"],[2028,0,"}"],[2029,0,"."],[2030,0,"\\"],[2031,0,"m"],[2032,0,"a"],[2033,0,"t"],[2034,0,"h"],[2035,0,"s"],[2036,0,"f"],[2037,0,"{"],[2038,0,"i"],[2039,0,"n"],[2040,0,"c"],[2041,0,"r"],[2042,0,"}"],[2043,0,"("],[2044,0,"n"],[2045,0,")"],[2046,0,"$"],[2047,0," "],[2048,0,"&"],[2049,0," "],[2050,0,"$"],[2051,0,"n"],[2052,0," "],[2053,0,"\\"],[2054,0,"i"],[2055,0,"n"],[2056,0," "],[2057,0,"\\"],[2058,0,"m"],[2059,0,"a"],[2060,0,"t"],[2061,0,"h"],[2062,0,"b"],[2063,0,"b"],[2064,0,"{"],[2065,0,"N"],[2066,0,"}"],[2067,0,"$"],[2068,0," "],[2069,0,"\\"],[2070,0,"\\"],[2415,0," "],[2416,0,"n"],[2417,0," "],[2418,0,"&"],[2421,0,"n"],[2422,0," "],[2423,0,"\\"],[2424,0," "],[2424,1],[2424,0,"i"],[2425,0,"n"],[2426,0," "],[2461,1],[2460,1],[2459,1],[2458,1],[2457,1],[2456,1],[2455,1],[2454,1],[2453,1],[2452,1],[2451,1],[2450,1],[2449,1],[2448,1],[2447,1],[2446,1],[2445,1],[2444,1],[2443,1],[2442,1],[2441,1],[2440,1],[2439,1],[2438,1],[2437,1],[2438,0,"\n"],[2439,0,"&"],[2440,0," "],[2441,0,"|"],[2441,1],[2441,0,"$"],[2442,0,"|"],[2443,0,"$"],[2444,0," "],[2445,0,"&"],[2446,0," "],[2447,0,"s"],[2416,0,"$"],[2418,0,"$"],[2449,0,"$"],[2451,0,"$"],[2452,0," "],[2453,0,"&"],[2454,0," "],[2455,0,"$"],[2456,0,"s"],[2457,0," "],[2458,0,"\\"],[2459,0,"i"],[2460,0,"n"],[2461,0," "],[2462,0,"\\"],[2463,0,"m"],[2464,0,"a"],[2465,0,"t"],[2466,0,"h"],[2467,0,"r"],[2468,0,"m"],[2469,0,"{"],[2470,0,"S"],[2471,0,"t"],[2472,0,"r"],[2473,0,"i"],[2474,0,"n"],[2475,0,"g"],[2476,0,"}"],[2477,0,"$"],[2440,0," "],[2441,0,"\\"],[2442,0,"\\"],[2481,0," "],[2482,0,"\\"],[2483,0,"\\"],[2484,0,"\n"],[2485,0,"&"],[2486,0," "],[2487,0,"$"],[2488,0,"|"],[2489,0,"$"],[2490,0," "],[2491,0,"&"],[2492,0," "],[2493,0,"\\"],[2494,0,"m"],[2495,0,"a"],[2495,1],[2494,1],[2494,0,"t"],[2495,0,"e"],[2496,0,"x"],[2497,0,"t"],[2498,0,"s"],[2499,0,"f"],[2500,0,"{"],[2501,0,"\\"],[2502,0,"{"],[2503,0,"\\"],[2504,0,"}"],[2505,0,"}"],[2506,0," "],[2507,0,"\\"],[2508,0,"\\"],[2509,0,"\n"],[2510,0,"&"],[2511,0," "],[2512,0,"|"],[2512,1],[2512,0,"$"],[2513,0,"|"],[2514,0,"$"],[2515,0," "],[2516,0,"&"],[2517,0," "],[2518,0,"\\"],[2519,0,"t"],[2520,0,"e"],[2521,0,"x"],[2522,0,"t"],[2523,0,"s"],[2524,0,"f"],[2525,0,"{"],[2526,0,"\\"],[2527,0,"["],[2528,0,"\\"],[2529,0,"]"],[2530,0,"}"],[2526,1],[2529,1],[2528,1],[2527,1],[2526,1],[2525,1],[2524,1],[2523,1],[2522,1],[2521,1],[2520,1],[2519,1],[2518,1],[2518,0,"$"],[2519,0,"\\"],[2520,0,"m"],[2521,0,"a"],[2522,0,"t"],[2523,0,"h"],[2524,0,"s"],[2525,0,"f"],[2526,0,"{"],[2527,0,"["],[2528,0,"]"],[2529,0,"}"],[2530,0,"$"],[2528,0,"\\"],[2529,0,","],[2499,1],[2498,1],[2498,0,"t"],[2499,0,"t"],[2525,1],[2524,1],[2524,0,"t"],[2525,0,"t"],[2505,1],[2504,1],[2503,1],[2502,1],[2501,1],[2500,1],[2499,1],[2498,1],[2497,1],[2496,1],[2495,1],[2494,1],[2494,0,"v"],[2495,0,"e"],[2496,0,"r"],[2497,0,"b"],[2498,0,"|"],[2499,0,"{"],[2500,0,"}"],[2501,0,"|"],[2528,1],[2527,1],[2526,1],[2525,1],[2524,1],[2523,1],[2522,1],[2521,1],[2520,1],[2519,1],[2518,1],[2517,1],[2516,1],[2515,1],[2514,1],[2513,1],[2513,0," "],[2514,0,"\n"],[2515,0,"v"],[2516,0,"e"],[2517,0,"r"],[2517,1],[2516,1],[2515,1],[2514,1],[2514,0,"\\"],[2515,0,"v"],[2516,0,"e"],[2517,0,"r"],[2518,0,"b"],[2519,0,"|"],[2520,0,"["],[2521,0,"]"],[2522,0,"|"],[2452,0,"\\"],[2453,0,"v"],[2454,0,"e"],[2455,0,"r"],[2456,0,"b"],[2457,0,"|"],[2458,0,"\""],[2459,0,"|"],[2460,0," "],[2464,0," "],[2465,0,"\\"],[2466,0,"v"],[2467,0,"e"],[2468,0,"r"],[2469,0,"b"],[2470,0,"|"],[2471,0,"\""],[2472,0,"|"],[2459,0,"s"],[2460,0,"t"],[2461,0,"r"],[2462,0,"|"],[2462,1],[2462,0,"\""],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2465,1],[2468,0,"\\"],[2469,0,"m"],[2470,0,"a"],[2471,0,"t"],[2472,0,"h"],[2473,0,"t"],[2474,0,"t"],[2475,0,"{"],[2477,0,"t"],[2478,0,"r"],[2479,0,"}"],[2669,0,"\n"],[2670,0,"\n"],[2671,0,"\\"],[2672,0,"s"],[2673,0,"u"],[2674,0,"b"],[2675,0,"s"],[2676,0,"e"],[2677,0,"c"],[2678,0,"t"],[2679,0,"i"],[2680,0,"o"],[2681,0,"n"],[2682,0,"{"],[2683,0,"C"],[2684,0,"o"],[2685,0,"m"],[2686,0,"m"],[2687,0,"a"],[2688,0,"n"],[2689,0,"d"],[2690,0," "],[2691,0,"l"],[2692,0,"a"],[2693,0,"n"],[2694,0,"g"],[2695,0,"u"],[2696,0,"a"],[2697,0,"g"],[2698,0,"e"],[2699,0,"}"],[2700,0,"\n"],[2701,0,"\n"],[2702,0,"T"],[2703,0,"R"],[2703,1],[2703,0,"h"],[2704,0,"e"],[2705,0," "],[2706,0,"s"],[2707,0,"y"],[2708,0,"n"],[2709,0,"t"],[2710,0,"a"],[2711,0,"x"],[2712,0," "],[2713,0,"o"],[2714,0,"f"],[2715,0," "],[2716,0,"t"],[2717,0,"h"],[2718,0,"e"],[2719,0," "],[2720,0,"c"],[2721,0,"o"],[2722,0,"m"],[2723,0,"m"],[2724,0,"a"],[2725,0,"n"],[2726,0,"d"],[2727,0," "],[2728,0,"l"],[2729,0,"a"],[2730,0,"n"],[2731,0,"g"],[2732,0,"u"],[2733,0,"a"],[2734,0,"g"],[2735,0,"e"],[2736,0," "],[2737,0,"i"],[2738,0,"s"],[2739,0," "],[2740,0,"g"],[2741,0,"i"],[2742,0,"v"],[2743,0,"e"],[2744,0,"n"],[2745,0," "],[2746,0,"i"],[2747,0,"n"],[2748,0," "],[2749,0,"F"],[2750,0,"i"],[2751,0,"g"],[2752,0,"u"],[2753,0,"r"],[2754,0,"e"],[2755,0,"~"],[2756,0,"\\"],[2757,0,"r"],[2758,0,"e"],[2759,0,"f"],[2760,0,"{"],[2761,0,"f"],[2762,0,"i"],[2763,0,"g"],[2764,0,":"],[2765,0,"l"],[2766,0,"o"],[2767,0,"c"],[2768,0,"a"],[2769,0,"l"],[2770,0,"-"],[2771,0,"s"],[2772,0,"y"],[2773,0,"n"],[2774,0,"t"],[2775,0,"a"],[2776,0,"x"],[2777,0,"}"],[2778,0,"."],[2779,0," "],[2780,0,"A"],[2781,0," "],[2782,0,"p"],[2783,0,"r"],[2784,0,"o"],[2785,0,"g"],[2786,0,"r"],[2787,0,"a"],[2788,0,"m"],[2789,0," "],[2790,0,"i"],[2791,0,"s"],[2792,0," "],[2793,0,"a"],[2794,0,"s"],[2795,0,"s"],[2796,0,"u"],[2797,0,"m"],[2798,0,"e"],[2799,0,"d"],[2800,0," "],[2801,0,"t"],[2802,0,"o"],[2803,0," "],[2804,0,"b"],[2805,0,"e"],[2806,0," "],[2807,0,"a"],[2808,0," "],[2809,0,"l"],[2810,0,"i"],[2811,0,"n"],[2812,0,"e"],[2813,0,"a"],[2814,0,"r"],[2815,0,","],[2816,0," "],[2817,0,"p"],[2818,0,"o"],[2819,0,"s"],[2820,0,"s"],[2821,0,"i"],[2822,0,"b"],[2823,0,"l"],[2824,0,"y"],[2825,0," "],[2826,0,"i"],[2827,0,"n"],[2828,0,"f"],[2829,0,"i"],[2830,0,"n"],[2831,0,"i"],[2832,0,"t"],[2833,0,"e"],[2834,0,","],[2835,0," "],[2836,0,"s"],[2837,0,"e"],[2838,0,"q"],[2839,0,"u"],[2840,0,"e"],[2841,0,"n"],[2842,0,"c"],[2843,0,"e"],[2844,0," "],[2845,0,"o"],[2846,0,"f"],[2847,0," "],[2848,0,"c"],[2849,0,"o"],[2850,0,"m"],[2851,0,"m"],[2852,0,"a"],[2853,0,"n"],[2854,0,"d"],[2855,0,"s"],[2856,0,"."],[2857,0," "],[2858,0,"T"],[2859,0,"h"],[2860,0,"e"],[2861,0," "],[2862,0,"l"],[2863,0,"a"],[2864,0,"n"],[2865,0,"g"],[2866,0,"u"],[2867,0,"a"],[2868,0,"g"],[2869,0,"e"],[2870,0," "],[2871,0,"o"],[2872,0,"f"],[2873,0," "],[2874,0,"F"],[2875,0,"i"],[2876,0,"g"],[2877,0,"u"],[2878,0,"r"],[2879,0,"e"],[2880,0,"`"],[2881,0,"\\"],[2882,0,"r"],[2883,0,"e"],[2883,1],[2882,1],[2881,1],[2880,1],[2880,0,"~"],[2881,0,"\\"],[2882,0,"r"],[2883,0,"e"],[2884,0,"f"],[2885,0,"{"],[2886,0,"f"],[2887,0,"i"],[2888,0,"g"],[2889,0,":"],[2890,0,"l"],[2891,0,"o"],[2892,0,"c"],[2893,0,"a"],[2894,0,"l"],[2895,0,"-"],[2896,0,"s"],[2897,0,"y"],[2898,0,"n"],[2899,0,"t"],[2900,0,"a"],[2901,0,"x"],[2902,0,"}"],[2903,0," "],[2904,0,"d"],[2905,0,"o"],[2906,0,"e"],[2907,0,"s"],[2908,0," "],[2909,0,"n"],[2910,0,"o"],[2911,0,"t"],[2912,0," "],[2913,0,"p"],[2914,0,"r"],[2915,0,"o"],[2916,0,"v"],[2917,0,"i"],[2918,0,"d"],[2919,0,"e"],[2920,0," "],[2921,0,"l"],[2922,0,"o"],[2923,0,"o"],[2924,0,"p"],[2925,0,"s"],[2926,0,","],[2927,0," "],[2928,0,"c"],[2929,0,"o"],[2930,0,"n"],[2931,0,"d"],[2932,0,"i"],[2933,0,"t"],[2933,1],[2932,1],[2931,1],[2930,1],[2929,1],[2928,1],[2927,1],[2926,1],[2925,1],[2924,1],[2923,1],[2922,1],[2921,1],[2860,1],[2859,1],[2858,1],[2858,0,"F"],[2859,0,"o"],[2860,0,"r"],[2861,0," "],[2862,0,"b"],[2863,0,"r"],[2864,0,"e"],[2865,0,"v"],[2866,0,"i"],[2867,0,"t"],[2868,0,"y"],[2869,0,","],[2870,0," "],[2871,0,"t"],[2872,0,"h"],[2873,0,"e"],[2934,0,"t"],[2935,0,"h"],[2936,0,"e"],[2937,0," "],[2938,0,"u"],[2939,0,"s"],[2940,0,"u"],[2941,0,"a"],[2942,0,"l"],[2943,0," "],[2944,0,"c"],[2945,0,"o"],[2946,0,"n"],[2947,0,"s"],[2948,0,"t"],[2948,1],[2947,1],[2946,1],[2946,0,"n"],[2947,0,"t"],[2948,0,"r"],[2949,0,"o"],[2950,0,"l"],[2951,0," "],[2952,0,"s"],[2953,0,"t"],[2954,0,"r"],[2955,0,"u"],[2956,0,"c"],[2957,0,"t"],[2958,0,"u"],[2959,0,"r"],[2960,0,"e"],[2961,0,"s"],[2962,0," "],[2963,0,"s"],[2964,0,"u"],[2965,0,"c"],[2966,0,"h"],[2967,0," "],[2968,0,"a"],[2969,0,"s"],[2970,0," "],[2971,0,"c"],[2972,0,"o"],[2973,0,"n"],[2974,0,"d"],[2975,0,"i"],[2976,0,"t"],[2977,0,"i"],[2978,0,"o"],[2979,0,"n"],[2980,0,"a"],[2981,0,"l"],[2982,0,"s"],[2983,0,","],[2984,0," "],[2985,0,"l"],[2986,0,"o"],[2987,0,"o"],[2988,0,"p"],[2989,0,"s"],[2990,0,","],[2991,0," "],[2992,0,"f"],[2993,0,"u"],[2994,0,"n"],[2995,0,"c"],[2996,0,"t"],[2997,0,"i"],[2998,0,"o"],[2999,0,"n"],[2991,0," "],[2992,0,"o"],[2993,0,"r"],[3003,0,"s"],[3004,0,","],[3005,0," "],[3006,0,"b"],[3007,0,"u"],[3008,0,"t"],[3009,0," "],[3010,0,"s"],[3011,0,"u"],[3012,0,"c"],[3013,0,"h"],[3014,0," "],[3015,0,"f"],[3016,0,"a"],[3017,0,"c"],[3018,0,"i"],[3019,0,"l"],[3020,0,"i"],[3021,0,"t"],[3022,0,"i"],[3023,0,"e"],[3024,0,"s"],[3025,0," "],[3026,0,"c"],[3027,0,"a"],[3028,0,"n"],[3029,0," "],[3030,0,"e"],[3031,0,"a"],[3032,0,"s"],[3033,0,"i"],[3034,0,"l"],[3035,0,"y"],[3036,0," "],[3037,0,"b"],[3038,0,"e"],[3039,0," "],[3040,0,"p"],[3041,0,"r"],[3042,0,"o"],[3043,0,"v"],[3044,0,"i"],[3045,0,"d"],[3045,1],[3044,1],[3043,1],[3042,1],[3041,1],[3040,1],[3040,0,"i"],[3041,0,"m"],[3042,0,"p"],[3043,0,"l"],[3044,0,"e"],[3045,0,"m"],[3046,0,"e"],[3047,0,"n"],[3048,0,"t"],[3049,0,"e"],[3050,0,"d"],[3051,0," "],[3052,0,"b"],[3053,0,"y"],[3054,0," "],[3055,0,"e"],[3056,0,"m"],[3057,0,"b"],[3058,0,"e"],[3059,0,"d"],[3060,0,"d"],[3061,0,"i"],[3062,0,"n"],[3063,0,"g"],[3064,0," "],[3065,0,"t"],[3066,0,"h"],[3067,0,"i"],[3068,0,"s"],[3069,0," "],[3070,0,"c"],[3071,0,"o"],[3072,0,"m"],[3073,0,"m"],[3074,0,"a"],[3075,0,"n"],[3076,0,"d"],[3077,0," "],[3078,0,"l"],[3079,0,"a"],[3080,0,"n"],[3081,0,"g"],[3082,0,"u"],[3083,0,"a"],[3084,0,"g"],[3085,0,"e"],[3086,0," "],[3087,0,"i"],[3088,0,"n"],[3089,0," "],[3090,0,"a"],[3091,0," "],[3092,0,"g"],[3093,0,"e"],[3094,0,"n"],[3095,0,"e"],[3096,0,"r"],[3097,0,"a"],[3098,0,"l"],[3099,0,"-"],[3100,0,"p"],[3101,0,"u"],[3102,0,"r"],[3103,0,"p"],[3104,0,"o"],[3105,0,"s"],[3106,0,"e"],[3107,0," "],[3108,0,"p"],[3109,0,"r"],[3110,0,"o"],[3111,0,"g"],[3112,0,"r"],[3113,0,"a"],[3114,0,"m"],[3115,0,"m"],[3116,0,"i"],[3117,0,"n"],[3118,0,"g"],[3119,0," "],[3120,0,"l"],[3121,0,"a"],[3122,0,"n"],[3123,0,"g"],[3124,0,"u"],[3125,0,"a"],[3126,0,"g"],[3127,0,"e"],[3128,0,"."],[3129,0,"\n"],[3130,0,"\n"],[3131,0,"T"],[3132,0,"h"],[3133,0,"e"],[3134,0," "],[3135,0,"c"],[3136,0,"o"],[3137,0,"m"],[3138,0,"m"],[3139,0,"a"],[3140,0,"n"],[3141,0,"d"],[3142,0," "],[3143,0,"l"],[3144,0,"a"],[3145,0,"n"],[3146,0,"g"],[3147,0,"u"],[3148,0,"a"],[3149,0,"g"],[3150,0,"e"],[3151,0," "],[3152,0,"h"],[3153,0,"a"],[3154,0,"s"],[3155,0," "],[3156,0,"t"],[3157,0,"w"],[3158,0,"o"],[3159,0," "],[3160,0,"m"],[3161,0,"a"],[3162,0,"i"],[3163,0,"n"],[3164,0,"s"],[3165,0," "],[3166,0,"k"],[3166,1],[3165,1],[3164,1],[3163,1],[3163,0," "],[3163,1],[3163,0,"n"],[3164,0," "],[3165,0,"k"],[3166,0,"i"],[3167,0,"n"],[3168,0,"d"],[3169,0,"s"],[3170,0," "],[3171,0,"o"],[3172,0,"f"],[3173,0," "],[3174,0,"c"],[3175,0,"o"],[3176,0,"n"],[3177,0,"s"],[3178,0,"t"],[3179,0,"r"],[3180,0,"u"],[3181,0,"c"],[3182,0,"t"],[3183,0,":"],[3184,0," "],[3185,0,"a"],[3186,0,"n"],[3187,0," "],[3188,0,"e"],[3189,0,"x"],[3190,0,"p"],[3191,0,"r"],[3192,0,"e"],[3193,0,"s"],[3194,0,"s"],[3195,0,"i"],[3196,0,"o"],[3197,0,"n"],[3198,0," "],[3199,0,"E"],[3200,0,"X"],[3201,0,"P"],[3202,0,"R"],[3203,0,","],[3204,0," "],[3205,0,"w"],[3206,0,"h"],[3207,0,"i"],[3208,0,"c"],[3209,0,"h"],[3210,0," "],[3211,0,"q"],[3212,0,"u"],[3213,0,"e"],[3214,0,"r"],[3215,0,"i"],[3216,0,"e"],[3217,0,"s"],[3218,0," "],[3219,0,"t"],[3220,0,"h"],[3221,0,"e"],[3222,0," "],[3223,0,"s"],[3224,0,"t"],[3225,0,"a"],[3226,0,"t"],[3227,0,"e"],[3228,0," "],[3229,0,"o"],[3230,0,"f"],[3231,0," "],[3232,0,"a"],[3233,0," "],[3234,0,"d"],[3235,0,"o"],[3236,0,"c"],[3237,0,"u"],[3238,0,"m"],[3239,0,"e"],[3240,0,"n"],[3241,0,"t"],[3242,0," "],[3243,0,"a"],[3244,0,"n"],[3245,0,"d"],[3246,0," "],[3247,0,"i"],[3248,0,"d"],[3249,0,"e"],[3250,0,"n"],[3251,0,"t"],[3252,0,"i"],[3253,0,"f"],[3254,0,"i"],[3255,0,"e"],[3256,0,"s"],[3257,0," "],[3258,0,"a"],[3259,0," "],[3260,0,"p"],[3261,0,"o"],[3262,0,"s"],[3263,0,"i"],[3264,0,"t"],[3265,0,"i"],[3266,0,"o"],[3267,0,"n"],[3268,0," "],[3269,0,"w"],[3270,0,"i"],[3271,0,"t"],[3272,0,"h"],[3273,0,"i"],[3274,0,"n"],[3275,0," "],[3276,0,"a"],[3277,0," "],[3278,0,"d"],[3279,0,"o"],[3280,0,"c"],[3281,0,"u"],[3282,0,"m"],[3283,0,"e"],[3284,0,"n"],[3285,0,"t"],[3286,0,","],[3287,0," "],[3288,0,"a"],[3289,0,"n"],[3290,0,"d"],[3291,0," "],[3292,0,"a"],[3293,0," "],[3294,0,"c"],[3295,0,"o"],[3296,0,"m"],[3297,0,"m"],[3187,1],[3186,1],[3185,1],[3184,1],[3184,0," "],[3195,0,"s"],[3215,1],[3214,1],[3213,1],[3213,0,"y"],[3252,1],[3251,1],[3250,1],[3249,1],[3249,0,"f"],[3250,0,"y"],[3183,1],[3182,1],[3181,1],[3180,1],[3179,1],[3178,1],[3177,1],[3176,1],[3175,1],[3174,1],[3173,1],[3172,1],[3171,1],[3170,1],[3169,1],[3168,1],[3167,1],[3166,1],[3165,1],[3164,1],[3163,1],[3162,1],[3161,1],[3160,1],[3159,1],[3158,1],[3157,1],[3156,1],[3155,1],[3154,1],[3153,1],[3152,1],[3151,1],[3150,1],[3149,1],[3148,1],[3147,1],[3146,1],[3145,1],[3144,1],[3143,1],[3142,1],[3141,1],[3140,1],[3139,1],[3138,1],[3137,1],[3136,1],[3135,1],[3134,1],[3145,1],[3145,0," "],[3146,0,"c"],[3147,0,"o"],[3148,0,"n"],[3149,0,"s"],[3150,0,"t"],[3151,0,"r"],[3152,0,"u"],[3153,0,"c"],[3154,0,"t"],[3166,1],[3165,1],[3164,1],[3163,1],[3162,1],[3161,1],[3160,1],[3160,0," "],[3161,0,"i"],[3162,0,"s"],[3163,0," "],[3164,0,"u"],[3165,0,"s"],[3166,0,"e"],[3167,0,"d"],[3168,0," "],[3169,0,"t"],[3170,0,"o"],[3201,0,"."],[3202,0," "],[3203,0,"A"],[3204,0,"n"],[3205,0," "],[3206,0,"e"],[3207,0,"x"],[3208,0,"p"],[3209,0,"r"],[3210,0,"e"],[3211,0,"s"],[3212,0,"s"],[3213,0,"i"],[3214,0,"o"],[3215,0,"n"],[3216,0," "],[3217,0,"s"],[3218,0,"t"],[3219,0,"a"],[3220,0,"r"],[3221,0,"t"],[3222,0,"s"],[3223,0," "],[3224,0,"w"],[3225,0,"i"],[3226,0,"t"],[3227,0,"h"],[3228,0," "],[3229,0,"e"],[3230,0,"i"],[3231,0,"t"],[3232,0,"h"],[3233,0,"e"],[3234,0,"r"],[3235,0," "],[3236,0,"t"],[3237,0,"h"],[3238,0,"e"],[3239,0," "],[3240,0,"s"],[3241,0,"p"],[3242,0,"e"],[3243,0,"c"],[3244,0,"i"],[3245,0,"a"],[3246,0,"l"],[3247,0," "],[3248,0,"t"],[3249,0,"o"],[3250,0,"k"],[3251,0,"e"],[3252,0,"n"],[3253,0," "],[3254,0,"\\"],[3255,0,"t"],[3256,0,"e"],[3257,0,"x"],[3258,0,"t"],[3259,0,"s"],[3260,0,"f"],[3261,0,"{"],[3262,0,"d"],[3263,0,"o"],[3264,0,"c"],[3265,0,"}"],[3266,0,","],[3267,0," "],[3268,0,"i"],[3269,0,"d"],[3270,0,"e"],[3271,0,"n"],[3272,0,"t"],[3273,0,"i"],[3274,0,"f"],[3275,0,"y"],[3276,0,"i"],[3277,0,"n"],[3278,0,"g"],[3279,0," "],[3280,0,"t"],[3281,0,"h"],[3282,0,"e"],[3283,0," "],[3284,0,"r"],[3285,0,"o"],[3286,0,"o"],[3287,0,"t"],[3288,0," "],[3289,0,"o"],[3290,0,"f"],[3291,0," "],[3292,0,"t"],[3293,0,"h"],[3294,0,"e"],[3295,0," "],[3296,0,"J"],[3297,0,"S"],[3298,0,"O"],[3299,0,"N"],[3300,0," "],[3301,0,"d"],[3302,0,"o"],[3303,0,"c"],[3304,0,"u"],[3305,0,"m"],[3306,0,"e"],[3307,0,"n"],[3308,0,"t"],[3309,0," "],[3310,0,"t"],[3311,0,"r"],[3312,0,"e"],[3313,0,"e"],[3314,0,","],[3315,0," "],[3316,0,"o"],[3317,0,"r"],[3318,0," "],[3319,0,"a"],[3320,0," "],[3321,0,"v"],[3322,0,"a"],[3323,0,"r"],[3324,0,"i"],[3325,0,"a"],[3326,0,"b"],[3327,0,"l"],[3328,0,"e"],[3329,0," "],[3330,0,"$"],[3331,0,"x"],[3332,0,"$"],[3333,0," "],[3334,0,"t"],[3335,0,"h"],[3336,0,"a"],[3337,0,"t"],[3338,0," "],[3339,0,"w"],[3340,0,"a"],[3341,0,"s"],[3342,0," "],[3343,0,"p"],[3344,0,"r"],[3345,0,"e"],[3346,0,"v"],[3347,0,"i"],[3348,0,"o"],[3349,0,"u"],[3350,0,"s"],[3351,0,"l"],[3352,0,"y"],[3353,0," "],[3354,0,"d"],[3355,0,"e"],[3356,0,"f"],[3357,0,"i"],[3358,0,"n"],[3359,0,"e"],[3360,0,"d"],[3361,0," "],[3362,0,"i"],[3363,0,"n"],[3364,0," "],[3365,0,"a"],[3366,0," "],[3367,0,"]"],[3367,1],[3367,0,"\\"],[3368,0,"t"],[3369,0,"e"],[3370,0,"x"],[3371,0,"t"],[3372,0,"s"],[3373,0,"f"],[3374,0,"{"],[3375,0,"l"],[3376,0,"e"],[3377,0,"t"],[3378,0,"}"],[3379,0," "],[3380,0,"e"],[3381,0,"x"],[3382,0,"p"],[3383,0,"r"],[3384,0,"e"],[3385,0,"s"],[3385,1],[3384,1],[3383,1],[3382,1],[3381,1],[3380,1],[3380,0,"c"],[3381,0,"o"],[3382,0,"m"],[3383,0,"m"],[3384,0,"a"],[3385,0,"n"],[3386,0,"d"],[3387,0,"."],[3388,0," "],[3389,0,"T"],[3390,0,"h"],[3391,0,"e"],[3392,0," "],[3393,0,"e"],[3394,0,"x"],[3395,0,"p"],[3396,0,"r"],[3397,0,"e"],[3398,0,"s"],[3399,0,"s"],[3400,0,"i"],[3401,0,"o"],[3402,0,"n"],[3403,0," "],[3404,0,"t"],[3405,0,"h"],[3406,0,"e"],[3407,0,"n"],[3408,0," "],[3409,0,"c"],[3410,0,"o"],[3411,0,"n"],[3412,0,"t"],[3413,0,"i"],[3414,0,"n"],[3415,0,"u"],[3416,0,"e"],[3417,0,"s"],[3418,0," "],[3419,0,"w"],[3420,0,"i"],[3421,0,"t"],[3422,0,"h"],[3423,0," "],[3424,0,"a"],[3425,0," "],[3426,0,"s"],[3427,0,"e"],[3428,0,"q"],[3429,0,"u"],[3430,0,"e"],[3431,0,"n"],[3432,0,"c"],[3433,0,"e"],[3434,0," "],[3435,0,"o"],[3436,0,"f"],[3437,0," "],[3438,0,"f"],[3439,0,"u"],[3440,0,"n"],[3441,0,"c"],[3442,0,"t"],[3443,0,"i"],[3444,0,"o"],[3445,0,"n"],[3446,0," "],[3446,1],[3445,1],[3444,1],[3443,1],[3442,1],[3441,1],[3440,1],[3439,1],[3438,1],[3438,0,"m"],[3439,0,"e"],[3440,0,"t"],[3441,0,"h"],[3442,0,"o"],[3443,0,"d"],[3444,0," "],[3445,0,"c"],[3446,0,"a"],[3447,0,"l"],[3448,0,"l"],[3449,0,"s"],[3450,0,":"],[3451,0," "],[3452,0,"$"],[3453,0,"\\"],[3454,0,"m"],[3455,0,"a"],[3456,0,"t"],[3457,0,"h"],[3458,0,"s"],[3459,0,"f"],[3460,0,"{"],[3461,0,"g"],[3462,0,"e"],[3463,0,"t"],[3464,0,"}"],[3465,0,"("],[3466,0,"\\"],[3467,0,"m"],[3468,0,"a"],[3469,0,"t"],[3470,0,"h"],[3471,0,"i"],[3472,0,"t"],[3473,0,"{"],[3474,0,"k"],[3475,0,"e"],[3476,0,"y"],[3477,0,"}"],[3478,0,"_"],[3478,1],[3478,0,")"],[3479,0,"$"],[3480,0," "],[3481,0,"s"],[3482,0,"e"],[3483,0,"l"],[3484,0,"e"],[3485,0,"c"],[3486,0,"t"],[3487,0,"s"],[3488,0," "],[3489,0,"a"],[3490,0," "],[3491,0,"k"],[3492,0,"e"],[3493,0,"y"],[3494,0," "],[3495,0,"w"],[3496,0,"i"],[3497,0,"t"],[3498,0,"h"],[3499,0,"i"],[3500,0,"n"],[3501,0," "],[3502,0,"a"],[3503,0," "],[3504,0,"m"],[3505,0,"a"],[3506,0,"p"],[3507,0," "],[3508,0,"("],[3509,0,"a"],[3510,0," "],[3511,0,"J"],[3512,0,"S"],[3513,0,"O"],[3514,0,"N"],[3515,0," "],[3516,0,"o"],[3517,0,"b"],[3518,0,"j"],[3519,0,"e"],[3520,0,"c"],[3521,0,"t"],[3522,0,")"],[3523,0,","],[3524,0," "],[3525,0,"$"],[3525,1],[3525,0,"\\"],[3526,0,"t"],[3527,0,"e"],[3528,0,"x"],[3529,0,"t"],[3530,0,"s"],[3531,0,"f"],[3532,0,"{"],[3533,0,"n"],[3534,0,"e"],[3535,0,"x"],[3536,0,"t"],[3537,0,"}"],[3538,0," "],[3539,0,"m"],[3540,0,"o"],[3541,0,"v"],[3542,0,"e"],[3543,0,"s"],[3544,0," "],[3545,0,"t"],[3546,0,"o"],[3547,0," "],[3548,0,"t"],[3549,0,"h"],[3550,0,"e"],[3551,0," "],[3552,0,"n"],[3553,0,"e"],[3554,0,"x"],[3555,0,"t"],[3556,0," "],[3557,0,"e"],[3558,0,"l"],[3559,0,"e"],[3560,0,"m"],[3561,0,"e"],[3562,0,"n"],[3563,0,"t"],[3564,0," "],[3565,0,"o"],[3566,0,"f"],[3567,0," "],[3568,0,"a"],[3569,0,"n"],[3570,0," "],[3571,0,"o"],[3572,0,"r"],[3573,0,"d"],[3574,0,"e"],[3575,0,"r"],[3576,0,"e"],[3577,0,"d"],[3578,0," "],[3579,0,"l"],[3580,0,"i"],[3581,0,"s"],[3582,0,"t"],[3583,0,","],[3584,0," "],[3585,0,"a"],[3586,0,"n"],[3587,0,"d"],[3588,0," "],[3589,0,"\\"],[3590,0,"t"],[3591,0,"e"],[3592,0,"x"],[3593,0,"t"],[3594,0,"s"],[3595,0,"f"],[3596,0,"{"],[3597,0,"v"],[3598,0,"a"],[3599,0,"l"],[3600,0,"u"],[3601,0,"e"],[3602,0,"s"],[3603,0,"}"],[3604,0," "],[3619,1],[3618,1],[3617,1],[3616,1],[3615,1],[3614,1],[3613,1],[3612,1],[3611,1],[3610,1],[3609,1],[3608,1],[3607,1],[3606,1],[3605,1],[3605,0,"r"],[3606,0,"e"],[3607,0,"t"],[3608,0,"u"],[3609,0,"r"],[3610,0,"n"],[3611,0,"s"],[3612,0," "],[3613,0,"t"],[3614,0,"h"],[3615,0,"e"],[3616,0," "],[3617,0,"v"],[3618,0,"a"],[3619,0,"l"],[3620,0,"u"],[3621,0,"e"],[3622,0," "],[3623,0,"a"],[3624,0,"t"],[3625,0," "],[3626,0,"t"],[3627,0,"h"],[3628,0,"e"],[3629,0," "],[3630,0,"c"],[3631,0,"u"],[3632,0,"r"],[3633,0,"r"],[3634,0,"e"],[3635,0,"n"],[3636,0,"t"],[3654,1],[3654,0,"t"],[3655,0,"h"],[3656,0,"e"],[3677,1],[3676,1],[3675,1],[3674,1],[3673,1],[3672,1],[3671,1],[3670,1],[3669,1],[3668,1],[3667,1],[3666,1],[3666,0,"."],[3131,0," "],[3131,0,"W"],[3132,0,"e"],[3133,0," "],[3134,0,"f"],[3135,0,"i"],[3136,0,"r"],[3137,0,"s"],[3138,0,"t"],[3139,0," "],[3140,0,"e"],[3141,0,"x"],[3142,0,"p"],[3143,0,"l"],[3144,0,"a"],[3145,0,"i"],[3146,0,"n"],[3147,0," "],[3148,0,"t"],[3149,0,"h"],[3150,0,"e"],[3151,0," "],[3152,0,"l"],[3153,0,"a"],[3154,0,"n"],[3155,0,"g"],[3156,0,"u"],[3157,0,"a"],[3158,0,"g"],[3159,0,"e"],[3160,0," "],[3161,0,"i"],[3162,0,"n"],[3163,0,"f"],[3164,0,"o"],[3165,0,"r"],[3166,0,"m"],[3167,0,"a"],[3168,0,"l"],[3169,0,"l"],[3170,0,"y"],[3171,0,","],[3172,0," "],[3173,0,"b"],[3174,0,"e"],[3175,0,"f"],[3176,0,"o"],[3177,0,"r"],[3178,0,"e"],[3179,0," "],[3180,0,"g"],[3181,0,"i"],[3182,0,"v"],[3183,0,"i"],[3184,0,"n"],[3185,0,"g"],[3186,0," "],[3187,0,"i"],[3188,0,"t"],[3189,0,"s"],[3190,0," "],[3191,0,"f"],[3192,0,"o"],[3193,0,"r"],[3194,0,"m"],[3195,0,"a"],[3196,0,"l"],[3197,0," "],[3198,0,"s"],[3199,0,"e"],[3200,0,"m"],[3201,0,"a"],[3202,0,"n"],[3203,0,"t"],[3204,0,"i"],[3205,0,"c"],[3206,0,"s"],[3207,0,"."],[3745,0,"\n"],[3746,0,"\n"],[2669,0,"\n"],[2670,0,"\n"],[2671,0,"\\"],[2672,0,"b"],[2673,0,"e"],[2674,0,"g"],[2675,0,"i"],[2676,0,"n"],[2677,0,"{"],[2678,0,"f"],[2679,0,"i"],[2680,0,"g"],[2681,0,"u"],[2682,0,"r"],[2683,0,"e"],[2684,0,"}"],[2685,0,"\n"],[2686,0,"\\"],[2687,0,"c"],[2688,0,"e"],[2689,0,"n"],[2690,0,"t"],[2691,0,"e"],[2692,0,"r"],[2693,0,"i"],[2694,0,"n"],[2695,0,"g"],[2696,0,"\n"],[2697,0,"\\"],[2698,0,"c"],[2699,0,"a"],[2700,0,"p"],[2701,0,"t"],[2702,0,"i"],[2703,0,"o"],[2704,0,"n"],[2705,0,"{"],[1756,0,"\n"],[1757,0,"\\"],[1758,0,"c"],[1759,0,"e"],[1760,0,"n"],[1761,0,"t"],[1762,0,"e"],[1763,0,"r"],[1764,0,"i"],[1765,0,"n"],[1766,0,"g"],[2717,0,"E"],[2718,0,"x"],[2719,0,"a"],[2720,0,"m"],[2721,0,"p"],[2722,0,"l"],[2723,0,"e"],[2724,0," "],[2725,0,"o"],[2726,0,"f"],[2727,0," "],[2728,0,"p"],[2729,0,"r"],[2730,0,"o"],[2731,0,"g"],[2732,0,"r"],[2733,0,"a"],[2734,0,"m"],[2735,0,"m"],[2736,0,"a"],[2737,0,"t"],[2738,0,"i"],[2739,0,"c"],[2740,0,"a"],[2741,0,"l"],[2742,0,"l"],[2743,0,"y"],[2744,0," "],[2745,0,"c"],[2746,0,"o"],[2747,0,"n"],[2748,0,"s"],[2749,0,"t"],[2750,0,"r"],[2751,0,"u"],[2752,0,"c"],[2753,0,"t"],[2754,0,"i"],[2755,0,"n"],[2756,0,"g"],[2757,0," "],[2758,0,"a"],[2759,0," "],[2760,0,"J"],[2761,0,"S"],[2762,0,"O"],[2763,0,"N"],[2764,0," "],[2765,0,"d"],[2766,0,"o"],[2767,0,"c"],[2768,0,"u"],[2769,0,"m"],[2770,0,"e"],[2771,0,"n"],[2772,0,"t"],[2773,0,"}"],[2774,0,"\\"],[2775,0,"l"],[2776,0,"a"],[2777,0,"b"],[2778,0,"e"],[2779,0,"l"],[2780,0,"{"],[2781,0,"f"],[2782,0,"i"],[2783,0,"g"],[2784,0,":"],[2785,0,"m"],[2786,0,"a"],[2787,0,"k"],[2788,0,"e"],[2789,0,"-"],[2790,0,"d"],[2791,0,"o"],[2792,0,"c"],[2793,0,"}"],[2794,0,"\n"],[2795,0,"\\"],[2796,0,"e"],[2797,0,"n"],[2798,0,"d"],[2799,0,"{"],[2800,0,"f"],[2801,0,"i"],[2802,0,"g"],[2803,0,"u"],[2804,0,"r"],[2805,0,"e"],[2806,0,"}"],[2707,0,"\n"],[2708,0,"\\"],[2709,0,"b"],[2710,0,"e"],[2711,0,"g"],[2712,0,"i"],[2713,0,"n"],[2714,0,"{"],[2715,0,"t"],[2716,0,"a"],[2717,0,"b"],[2718,0,"u"],[2719,0,"l"],[2720,0,"a"],[2721,0,"r"],[2722,0,"}"],[2723,0,"{"],[2724,0,"l"],[2725,0,"}"],[2726,0,"\n"],[2727,0,"\\"],[2728,0,"e"],[2729,0,"n"],[2730,0,"d"],[2731,0,"{"],[2732,0,"t"],[2733,0,"a"],[2734,0,"b"],[2735,0,"u"],[2736,0,"l"],[2737,0,"a"],[2738,0,"r"],[2739,0,"}"],[2726,0,"\n"],[2727,0,"\\"],[2728,0,"t"],[2729,0,"e"],[2730,0,"x"],[2731,0,"t"],[2732,0,"s"],[2733,0,"f"],[2734,0,"{"],[2735,0,"d"],[2736,0,"o"],[2737,0,"c"],[2738,0,"}"],[2739,0," "],[2740,0,"="],[2741,0," "],[2742,0,"\\"],[2743,0,"v"],[2744,0,"e"],[2745,0,"r"],[2746,0,"b"],[2747,0,"|"],[2748,0,"{"],[2749,0,"}"],[2750,0,"|"],[2751,0,";"],[2752,0,"\\"],[2753,0,"\\"],[2754,0,"\n"],[2755,0,"\\"],[2756,0,"t"],[2757,0,"e"],[2758,0,"x"],[2759,0,"t"],[2760,0,"s"],[2761,0,"f"],[2762,0,"{"],[2763,0,"d"],[2764,0,"o"],[2765,0,"c"],[2766,0,"}"],[2766,0,"."],[2767,0,"g"],[2768,0,"e"],[2769,0,"t"],[2771,0,"("],[2772,0,"\\"],[2773,0,"m"],[2774,0,"a"],[2775,0,"t"],[2776,0,"h"],[2776,1],[2775,1],[2774,1],[2773,1],[2773,0,"t"],[2774,0,"e"],[2775,0,"x"],[2776,0,"t"],[2776,1],[2775,1],[2774,1],[2773,1],[2772,1],[2772,0,"\\"],[2773,0,"v"],[2774,0,"e"],[2775,0,"r"],[2776,0,"b"],[2777,0,"|"],[2778,0,"\""],[2779,0,"s"],[2780,0,"h"],[2781,0,"o"],[2782,0,"p"],[2783,0,"p"],[2784,0,"i"],[2785,0,"n"],[2786,0,"g"],[2787,0,"|"],[2787,1],[2787,0,"\""],[2788,0,"|"],[2789,0,")"],[2790,0," "],[2791,0,"="],[2792,0," "],[2793,0,"\\"],[2794,0,"v"],[2795,0,"e"],[2796,0,"r"],[2797,0,"b"],[2798,0,"|"],[2799,0,"["],[2800,0,"]"],[2801,0,"|"],[2802,0,";"],[2803,0,"\\"],[2804,0,"\\"],[2805,0,"\n"],[2806,0,"\\"],[2807,0,"t"],[2808,0,"e"],[2809,0,"x"],[2810,0,"t"],[2811,0,"s"],[2812,0,"f"],[2813,0,"{"],[2814,0,"d"],[2815,0,"o"],[2816,0,"c"],[2817,0,"."],[2818,0,"g"],[2819,0,"e"],[2820,0,"t"],[2821,0,"}"],[2822,0,"("],[2823,0,"\\"],[2824,0,"v"],[2825,0,"e"],[2826,0,"r"],[2827,0,"b"],[2828,0,"\""],[2828,1],[2828,0,"|"],[2829,0,"\""],[2830,0,"s"],[2831,0,"h"],[2832,0,"o"],[2833,0,"p"],[2834,0,"p"],[2835,0,"i"],[2836,0,"n"],[2837,0,"g"],[2838,0,"\""],[2839,0,"|"],[2840,0,")"],[2841,0,"."],[2806,0,"\\"],[2807,0,"t"],[2808,0,"e"],[2809,0,"x"],[2810,0,"t"],[2811,0,"s"],[2812,0,"f"],[2813,0," "],[2813,1],[2813,0,"{"],[2814,0,"l"],[2815,0,"e"],[2816,0,"t"],[2817,0,"}"],[2818,0," "],[2819,0,"\\"],[2820,0,"t"],[2821,0,"e"],[2822,0,"x"],[2823,0,"t"],[2824,0,"i"],[2825,0,"t"],[2826,0,"{"],[2827,0,"s"],[2828,0,"h"],[2829,0,"o"],[2830,0,"p"],[2831,0,"p"],[2831,1],[2830,1],[2829,1],[2828,1],[2827,1],[2827,0,"l"],[2828,0,"i"],[2829,0,"s"],[2830,0,"t"],[2831,0,"}"],[2832,0," "],[2833,0,"="],[2834,0," "],[2870,1],[2870,0,";"],[2871,0,"\\"],[2872,0,"\\"],[2871,0," "],[2803,0," "],[2752,0," "],[2876,0,"\n"],[2877,0,"\\"],[2878,0,"t"],[2879,0,"e"],[2880,0,"x"],[2881,0,"t"],[2882,0,"i"],[2883,0,"t"],[2884,0,"{"],[2885,0,"l"],[2886,0,"i"],[2887,0,"s"],[2888,0,"t"],[2889,0,"}"],[2890,0,"."],[2891,0,"\\"],[2892,0,"t"],[2893,0,"e"],[2894,0,"x"],[2895,0,"t"],[2896,0,"s"],[2897,0,"f"],[2898,0,"{"],[2899,0,"i"],[2900,0,"n"],[2901,0,"s"],[2902,0,"e"],[2903,0,"r"],[2904,0,"t"],[2905,0,"}"],[2906,0,"("],[2907,0,"\\"],[2908,0,"v"],[2909,0,"e"],[2910,0,"r"],[2911,0,"b"],[2912,0,"\\"],[2913,0,"\""],[2913,1],[2913,0,"|"],[2914,0,"e"],[2915,0,"g"],[2916,0,"g"],[2917,0,"s"],[2918,0,"\\"],[2919,0,"\""],[2919,1],[2918,1],[2914,0,"\""],[2919,0,"\""],[2920,0,"|"],[2912,1],[2920,0,")"],[2921,0,";"],[2922,0," "],[2923,0,"\\"],[2924,0,"\\"],[2925,0,"\n"],[2926,0,"\\"],[2927,0,"t"],[2928,0,"e"],[2929,0,"x"],[2930,0,"t"],[2931,0,"i"],[2932,0,"t"],[2933,0,"{"],[2934,0,"l"],[2935,0,"i"],[2936,0,"s"],[2937,0,"t"],[2938,0,"}"],[2939,0,"."],[2940,0,"\\"],[2941,0,"t"],[2942,0,"e"],[2943,0,"x"],[2944,0,"t"],[2945,0,"s"],[2946,0,"f"],[2947,0,"{"],[2948,0,"i"],[2949,0,"n"],[2950,0,"s"],[2951,0,"e"],[2952,0,"r"],[2953,0,"t"],[2954,0,"}"],[2955,0,"("],[2956,0,"\\"],[2957,0,"v"],[2958,0,"e"],[2959,0,"r"],[2960,0,"b"],[2961,0,"|"],[2962,0,"\""],[2963,0,"m"],[2964,0,"i"],[2965,0,"l"],[2966,0,"k"],[2967,0,"\""],[2968,0,"|"],[2969,0,"}"],[2970,0,")"],[2970,1],[2969,1],[2969,0,")"],[2970,0,";"],[2985,0,"\n"],[2986,0,"F"],[2987,0,"i"],[2988,0,"n"],[2989,0,"a"],[2990,0,"l"],[2991,0," "],[2992,0,"s"],[2993,0,"t"],[2994,0,"a"],[2995,0,"t"],[2996,0,"e"],[2997,0,":"],[2998,0,"\n"],[2999,0,"\n"],[2999,1],[2999,0,"\\"],[3000,0,"b"],[3001,0,"e"],[3002,0,"g"],[3003,0,"i"],[3004,0,"n"],[3005,0,"{"],[3006,0,"v"],[3007,0,"e"],[3008,0,"r"],[3009,0,"b"],[3010,0,"a"],[3011,0,"t"],[3012,0,"i"],[3013,0,"m"],[3014,0,"}"],[3015,0,"\n"],[3016,0,"\\"],[3017,0,"e"],[3018,0,"n"],[3019,0,"d"],[3020,0,"{"],[3021,0,"v"],[3022,0,"e"],[3023,0,"r"],[3024,0,"b"],[3025,0,"a"],[3026,0,"t"],[3027,0,"i"],[3028,0,"m"],[3029,0,"}"],[3015,0,"\n"],[3016,0,"{"],[3017,0,"\""],[3018,0,"s"],[3019,0,"h"],[3020,0,"o"],[3021,0,"p"],[3022,0,"p"],[3023,0,"i"],[3024,0,"n"],[3025,0,"g"],[3026,0,"\""],[3027,0,":"],[3028,0," "],[3029,0,"["],[3030,0,"\""],[3031,0,"e"],[3032,0,"g"],[3033,0,"g"],[3034,0,"s"],[3035,0,"\""],[3036,0,","],[2877,0,"\\"],[2878,0,"t"],[2879,0,"e"],[2880,0,"x"],[2881,0,"t"],[2882,0,"s"],[2883,0,"f"],[2884,0,"{"],[2885,0,"l"],[2886,0,"e"],[2887,0,"t"],[2888,0,"}"],[2889,0," "],[2901,1],[2900,1],[2899,1],[2898,1],[2898,0,"e"],[2899,0,"g"],[2900,0,"g"],[2901,0,"s"],[2903,0," "],[2904,0,"="],[2905,0," "],[2906,0,"\\"],[2907,0,"t"],[2908,0,"e"],[2909,0,"x"],[2910,0,"t"],[2911,0,"s"],[2912,0,"f"],[2913,0,"{"],[2914,0,"d"],[2915,0,"o"],[2916,0,"c"],[2917,0,"."],[2918,0,"g"],[2919,0,"e"],[2920,0,"t"],[2921,0,")"],[2922,0,"("],[2922,1],[2921,1],[2921,0,"}"],[2922,0,"("],[2923,0,"\\"],[2924,0,"v"],[2925,0,"e"],[2926,0,"r"],[2927,0,"b"],[2928,0,"\""],[2928,1],[2928,0,"|"],[2929,0,"\""],[2930,0,"s"],[2931,0,"h"],[2932,0,"o"],[2933,0,"p"],[2934,0,"p"],[2935,0,"i"],[2936,0,"n"],[2937,0,"g"],[2938,0,"\""],[2939,0,"|"],[2940,0,")"],[2875,1],[2874,1],[2873,1],[2872,1],[2871,1],[2870,1],[2869,1],[2868,1],[2867,1],[2866,1],[2865,1],[2864,1],[2863,1],[2862,1],[2861,1],[2860,1],[2859,1],[2858,1],[2857,1],[2856,1],[2855,1],[2854,1],[2853,1],[2852,1],[2851,1],[2850,1],[2849,1],[2848,1],[2847,1],[2846,1],[2845,1],[2844,1],[2843,1],[2842,1],[2841,1],[2840,1],[2839,1],[2838,1],[2837,1],[2836,1],[2835,1],[2834,1],[2833,1],[2832,1],[2831,1],[2830,1],[2829,1],[2828,1],[2827,1],[2826,1],[2825,1],[2824,1],[2823,1],[2822,1],[2821,1],[2820,1],[2819,1],[2818,1],[2817,1],[2816,1],[2815,1],[2814,1],[2813,1],[2812,1],[2811,1],[2810,1],[2809,1],[2808,1],[2807,1],[2919,1],[2918,1],[2917,1],[2916,1],[2916,0,"e"],[2917,0,"g"],[2918,0,"g"],[2919,0,"s"],[3019,0," "],[3020,0,"\""],[3021,0,"m"],[3022,0,"i"],[3023,0,"l"],[3024,0,"k"],[3025,0,"\""],[3026,0,"]"],[3027,0,"}"],[2997,0,"\n"],[2998,0,"d"],[2999,0,"o"],[3000,0,"c"],[3001,0," "],[3002,0,"="],[3003,0," "],[3004,0,"{"],[3005,0,"}"],[3006,0,";"],[3007,0,"\n"],[3008,0,"d"],[3009,0,"o"],[3010,0,"c"],[3011,0,"."],[3012,0,"g"],[3013,0,"e"],[3014,0,"t"],[3015,0,"("],[3016,0,"\""],[3017,0,"s"],[3018,0,"h"],[3019,0,"o"],[3020,0,"p"],[3021,0,"p"],[3022,0,"i"],[3023,0,"n"],[3024,0,"g"],[3025,0,"\""],[3026,0,"}"],[3026,1],[3026,0,")"],[3027,0," "],[3028,0,"="],[3029,0," "],[3030,0,"["],[3031,0,"]"],[3032,0,";"],[3033,0,"\n"],[3034,0,"l"],[3035,0,"e"],[3036,0,"t"],[3037,0," "],[3038,0,"e"],[3039,0,"g"],[3040,0,"g"],[3041,0,"s"],[3042,0," "],[3043,0,"="],[3044,0," "],[3045,0,"d"],[3046,0,"o"],[3047,0,"c"],[3048,0,"."],[3049,0,"g"],[3050,0,"e"],[3051,0,"t"],[3052,0,"("],[3053,0,"\""],[3054,0,"s"],[3055,0,"h"],[3056,0,"o"],[3057,0,"p"],[3058,0,"p"],[3059,0,"i"],[3060,0,"n"],[3061,0,"g"],[3062,0,"\""],[3063,0,")"],[3064,0,"."],[3065,0,"i"],[3066,0,"n"],[3067,0,"s"],[3068,0,"e"],[3069,0,"r"],[3070,0,"t"],[3071,0,"("],[3072,0,"\""],[3073,0,"e"],[3074,0,"g"],[3075,0,"g"],[3076,0,"s"],[3077,0,"\""],[3078,0,")"],[3079,0,";"],[3080,0,"\n"],[3081,0,"e"],[3082,0,"g"],[3083,0,"g"],[3084,0,"s"],[3085,0,"."],[3086,0,"i"],[3087,0,"n"],[3088,0,"s"],[3089,0,"e"],[3090,0,"r"],[3091,0,"t"],[3092,0,"("],[3093,0,"\""],[3094,0,"m"],[3095,0,"i"],[3096,0,"l"],[3097,0,"k"],[3098,0,"\""],[3099,0,")"],[3100,0,";"],[3101,0,"\n"],[3102,0,"\n"],[3103,0,"/"],[3104,0,"/"],[3105,0," "],[3106,0,"F"],[3107,0,"i"],[3108,0,"n"],[3109,0,"a"],[3110,0,"l"],[3111,0," "],[3112,0,"s"],[3113,0,"t"],[3114,0,"a"],[3115,0,"t"],[3116,0,"e"],[3117,0,":"],[2979,1],[2978,1],[2977,1],[2976,1],[2975,1],[2974,1],[2973,1],[2972,1],[2971,1],[2970,1],[2969,1],[2968,1],[2967,1],[2966,1],[2965,1],[2964,1],[2963,1],[2962,1],[2961,1],[2960,1],[2959,1],[2958,1],[2957,1],[2956,1],[2955,1],[2954,1],[2953,1],[2952,1],[2951,1],[2950,1],[2949,1],[2948,1],[2947,1],[2946,1],[2945,1],[2944,1],[2943,1],[2942,1],[2941,1],[2940,1],[2939,1],[2938,1],[2937,1],[2936,1],[2935,1],[2934,1],[2933,1],[2932,1],[2931,1],[2930,1],[2929,1],[2928,1],[2927,1],[2926,1],[2925,1],[2924,1],[2923,1],[2922,1],[2921,1],[2920,1],[2919,1],[2918,1],[2917,1],[2916,1],[2915,1],[2914,1],[2913,1],[2912,1],[2911,1],[2910,1],[2909,1],[2908,1],[2907,1],[2906,1],[2905,1],[2904,1],[2903,1],[2902,1],[2901,1],[2900,1],[2899,1],[2898,1],[2897,1],[2896,1],[2895,1],[2894,1],[2893,1],[2892,1],[2891,1],[2890,1],[2889,1],[2888,1],[2887,1],[2886,1],[2885,1],[2884,1],[2883,1],[2882,1],[2881,1],[2880,1],[2879,1],[2878,1],[2877,1],[2876,1],[2875,1],[2874,1],[2873,1],[2872,1],[2871,1],[2870,1],[2869,1],[2868,1],[2867,1],[2866,1],[2865,1],[2864,1],[2863,1],[2862,1],[2861,1],[2860,1],[2859,1],[2858,1],[2857,1],[2856,1],[2855,1],[2854,1],[2853,1],[2852,1],[2851,1],[2850,1],[2849,1],[2848,1],[2847,1],[2846,1],[2845,1],[2844,1],[2843,1],[2842,1],[2841,1],[2840,1],[2839,1],[2838,1],[2837,1],[2836,1],[2835,1],[2834,1],[2833,1],[2832,1],[2831,1],[2830,1],[2829,1],[2828,1],[2827,1],[2826,1],[2825,1],[2824,1],[2823,1],[2822,1],[2821,1],[2820,1],[2819,1],[2818,1],[2817,1],[2816,1],[2815,1],[2814,1],[2813,1],[2812,1],[2811,1],[2810,1],[2809,1],[2808,1],[2807,1],[2806,1],[2805,1],[2804,1],[2803,1],[2802,1],[2801,1],[2800,1],[2799,1],[2798,1],[2797,1],[2796,1],[2795,1],[2794,1],[2793,1],[2792,1],[2791,1],[2790,1],[2789,1],[2788,1],[2787,1],[2786,1],[2785,1],[2784,1],[2783,1],[2782,1],[2781,1],[2780,1],[2779,1],[2778,1],[2777,1],[2776,1],[2775,1],[2774,1],[2773,1],[2772,1],[2771,1],[2770,1],[2769,1],[2768,1],[2767,1],[2766,1],[2765,1],[2764,1],[2763,1],[2762,1],[2761,1],[2760,1],[2759,1],[2758,1],[2757,1],[2756,1],[2755,1],[2754,1],[2753,1],[2752,1],[2751,1],[2750,1],[2749,1],[2748,1],[2747,1],[2746,1],[2745,1],[2744,1],[2743,1],[2742,1],[2741,1],[2740,1],[2739,1],[2738,1],[2737,1],[2736,1],[2735,1],[2734,1],[2733,1],[2732,1],[2731,1],[2730,1],[2729,1],[2728,1],[2727,1],[2726,1],[2725,1],[2724,1],[2723,1],[2722,1],[2721,1],[2720,1],[2719,1],[2718,1],[2717,1],[2716,1],[2715,1],[2714,1],[2713,1],[2712,1],[2711,1],[2710,1],[2709,1],[2708,1],[2707,1],[2735,0,"l"],[2736,0,"e"],[2737,0,"t"],[2738,0," "],[2739,0,"l"],[2740,0,"i"],[2741,0,"s"],[2742,0,"t"],[2743,0," "],[2744,0,"="],[2745,0," "],[2765,0,"\n"],[2766,0,"l"],[2767,0,"i"],[2768,0,"s"],[2769,0,"t"],[2781,0,"f"],[2781,1],[2806,1],[2805,1],[2804,1],[2803,1],[2802,1],[2801,1],[2800,1],[2799,1],[2798,1],[2797,1],[2796,1],[2795,1],[2794,1],[2793,1],[2792,1],[2791,1],[2790,1],[2789,1],[2788,1],[2788,0,"l"],[2789,0,"i"],[2790,0,"s"],[2791,0,"t"],[1875,0,":"],[2730,0,":"],[2773,0,":"],[2767,0,";"],[4074,0,"A"],[4075,0," "],[4076,0,"c"],[4077,0,"o"],[4078,0,"m"],[4079,0,"m"],[4080,0,"a"],[4081,0,"n"],[4082,0,"d"],[4083,0," "],[4084,0,"C"],[4085,0,"M"],[4086,0,"D"],[4087,0," "],[4088,0,"e"],[4089,0,"i"],[4090,0,"t"],[4091,0,"h"],[4092,0,"e"],[4093,0,"r"],[4094,0," "],[4095,0,"s"],[4096,0,"e"],[4097,0,"t"],[4098,0,"s"],[4099,0," "],[4100,0,"t"],[4101,0,"h"],[4102,0,"e"],[4103,0," "],[4104,0,"v"],[4105,0,"a"],[4106,0,"l"],[4107,0,"u"],[4108,0,"e"],[4109,0," "],[4110,0,"o"],[4111,0,"f"],[4112,0," "],[4113,0,"a"],[4114,0," "],[4115,0,"l"],[4116,0,"o"],[4117,0,"c"],[4118,0,"a"],[4119,0,"l"],[4120,0," "],[4121,0,"v"],[4122,0,"a"],[4123,0,"r"],[4124,0,"i"],[4125,0,"a"],[4126,0,"b"],[4127,0,"l"],[4128,0,"e"],[4129,0," "],[4130,0,"("],[4131,0,"\\"],[4132,0,"m"],[4132,1],[4132,0,"t"],[4133,0,"e"],[4134,0,"x"],[4135,0,"t"],[4136,0,"s"],[4137,0,"f"],[4138,0,"{"],[4139,0,"l"],[4140,0,"e"],[4141,0,"t"],[4142,0,"}"],[4143,0,")"],[4144,0,","],[4145,0," "],[4146,0,"p"],[4147,0,"e"],[4148,0,"r"],[4149,0,"f"],[4150,0,"o"],[4151,0,"r"],[4152,0,"m"],[4153,0,"s"],[4154,0," "],[4155,0,"n"],[4156,0,"e"],[4157,0,"t"],[4158,0,"w"],[4159,0,"o"],[4160,0,"r"],[4161,0,"k"],[4162,0," "],[4163,0,"c"],[4164,0,"o"],[4165,0,"m"],[4166,0,"m"],[4167,0,"u"],[4168,0,"n"],[4169,0,"i"],[4170,0,"c"],[4171,0,"a"],[4172,0,"t"],[4173,0,"i"],[4174,0,"o"],[4175,0,"n"],[4176,0," "],[4177,0,"("],[4178,0,"\\"],[4179,0,"t"],[4180,0,"e"],[4181,0,"x"],[4182,0,"t"],[4183,0,"s"],[4184,0,"f"],[4185,0,"{"],[4186,0,"y"],[4187,0,"i"],[4188,0,"e"],[4189,0,"l"],[4190,0,"d"],[4191,0,"}"],[4192,0,")"],[4193,0,","],[4194,0," "],[4195,0,"o"],[4196,0,"r"],[4197,0," "],[4198,0,"m"],[4199,0,"o"],[4200,0,"d"],[4201,0,"i"],[4202,0,"f"],[4203,0,"i"],[4204,0,"e"],[4205,0,"s"],[4206,0," "],[4207,0,"t"],[4208,0,"h"],[4209,0,"e"],[4210,0," "],[4211,0,"d"],[4212,0,"o"],[4213,0,"c"],[4214,0,"u"],[4215,0,"m"],[4216,0,"e"],[4217,0,"n"],[4218,0,"t"],[4219,0," "],[4220,0,"("],[4221,0,"\\"],[4221,1],[4221,0,":"],[4222,0,"="],[4223,0,","],[4224,0," "],[4225,0,"\\"],[4226,0,"t"],[4227,0,"e"],[4228,0,"x"],[4228,1],[4227,1],[4226,1],[4225,1],[4224,1],[4223,1],[4222,1],[4221,1],[4220,1],[4219,1],[4218,1],[4217,1],[4217,0,"n"],[4218,0,"t"],[4219,0,"."],[4220,0," "],[4221,0,"A"],[4222,0," "],[4223,0,"d"],[4224,0,"o"],[4225,0,"c"],[4226,0,"u"],[4227,0,"m"],[4228,0,"e"],[4229,0,"n"],[4230,0,"t"],[4231,0," "],[4232,0,"c"],[4233,0,"a"],[4234,0,"n"],[4235,0," "],[4236,0,"b"],[4237,0,"e"],[4238,0," "],[4239,0,"m"],[4240,0,"o"],[4241,0,"d"],[4242,0,"i"],[4243,0,"f"],[4244,0,"i"],[4245,0,"e"],[4246,0,"d"],[4247,0," "],[4248,0,"b"],[4249,0,"y"],[4250,0," "],[4251,0,"a"],[4252,0,"s"],[4253,0,"s"],[4254,0,"i"],[4255,0,"g"],[4256,0,"n"],[4257,0,"i"],[4258,0,"n"],[4259,0,"g"],[4260,0," "],[4261,0,"t"],[4262,0,"h"],[4263,0,"e"],[4264,0," "],[4265,0,"v"],[4266,0,"a"],[4267,0,"l"],[4268,0,"u"],[4269,0,"e"],[4270,0," "],[4271,0,"o"],[4272,0,"f"],[4273,0," "],[4274,0,"s"],[4275,0,"o"],[4276,0,"m"],[4277,0,"e"],[4278,0," "],[4279,0,"f"],[4280,0,"i"],[4281,0,"e"],[4282,0,"l"],[4283,0,"d"],[4284,0," "],[4285,0,"("],[4286,0,"u"],[4287,0,"s"],[4288,0,"i"],[4289,0,"n"],[4290,0,"g"],[4291,0," "],[2833,0,"\n"],[2834,0,"l"],[2835,0,"i"],[2836,0,"s"],[2837,0,"t"],[2838,0,"."],[2839,0,"i"],[2840,0,"n"],[2841,0,"s"],[2842,0,"e"],[2843,0,"r"],[2844,0,"t"],[2845,0,"("],[2846,0,"\""],[2847,0,"c"],[2848,0,"h"],[2849,0,"e"],[2850,0,"e"],[2851,0,"s"],[2852,0,"e"],[2853,0,"\""],[2854,0,")"],[2855,0,";"],[2888,0,"\""],[2889,0,"c"],[2890,0,"h"],[2891,0,"e"],[2892,0,"e"],[2893,0,"s"],[2894,0,"e"],[2895,0,"\""],[2896,0,","],[2897,0," "],[4325,0,"t"],[4326,0,"h"],[4327,0,"e"],[4328,0," "],[4329,0,"a"],[4330,0,"s"],[4331,0,"s"],[4332,0,"i"],[4333,0,"g"],[4334,0,"n"],[4335,0,"m"],[4336,0,"e"],[4337,0,"n"],[4338,0,"t"],[4339,0," "],[4340,0,"o"],[4341,0,"p"],[4342,0,"e"],[4343,0,"r"],[4344,0,"a"],[4345,0,"t"],[4346,0,"o"],[4347,0,"r"],[4348,0," "],[4349,0,":"],[4350,0,"="],[4351,0,")"],[4352,0,","],[4353,0," "],[4354,0,"b"],[4355,0,"y"],[4356,0," "],[4357,0,"i"],[4358,0,"n"],[4359,0,"s"],[4360,0,"e"],[4361,0,"r"],[4362,0,"t"],[4363,0,"i"],[4364,0,"n"],[4365,0,"g"],[4316,1],[4315,1],[4314,1],[4313,1],[4312,1],[4311,1],[4311,0," "],[4312,0,"o"],[4313,0,"b"],[4314,0,"j"],[4315,0,"e"],[4316,0,"c"],[4317,0,"t"],[4317,1],[4316,1],[4315,1],[4314,1],[4313,1],[4312,1],[4312,0,"f"],[4313,0,"i"],[4314,0,"e"],[4315,0,"l"],[4316,0,"d"],[4366,0," "],[4367,0,"a"],[4368,0,"n"],[4369,0," "],[4370,0,"e"],[4371,0,"l"],[4372,0,"e"],[4373,0,"m"],[4374,0,"e"],[4375,0,"n"],[4376,0,"t"],[4377,0," "],[4378,0,"i"],[4379,0,"n"],[4380,0,"t"],[4381,0,"o"],[4382,0," "],[4383,0,"a"],[4384,0," "],[4385,0,"l"],[4386,0,"i"],[4387,0,"s"],[4388,0,"t"],[4389,0," "],[4390,0,"("],[4391,0,"\\"],[4392,0,"t"],[4393,0,"e"],[4394,0,"x"],[4395,0,"t"],[4396,0,"s"],[4397,0,"f"],[4398,0,"{"],[4399,0,"i"],[4400,0,"s"],[4401,0,"n"],[4402,0,"e"],[4403,0,"r"],[4404,0,"t"],[4405,0,"}"],[4406,0,")"],[4400,1],[4401,0,"s"],[4407,0,","],[4408,0," "],[4409,0,"b"],[4410,0,"y"],[4411,0," "],[4412,0,"d"],[4413,0,"e"],[4414,0,"l"],[4415,0,"e"],[4416,0,"t"],[4417,0,"i"],[4418,0,"n"],[4419,0,"g"],[4420,0," "],[4421,0,"a"],[4422,0,"n"],[4423,0," "],[4424,0,"e"],[4425,0,"l"],[4426,0,"e"],[4427,0,"m"],[4428,0,"e"],[4429,0,"n"],[4430,0,"t"],[4431,0," "],[4432,0,"f"],[4433,0,"r"],[4434,0,"o"],[4435,0,"m"],[4436,0," "],[4437,0,"a"],[4438,0," "],[4439,0,"l"],[4440,0,"i"],[4441,0,"s"],[4442,0,"t"],[4443,0," "],[4444,0,"o"],[4445,0,"r"],[4446,0," "],[4447,0,"a"],[4448,0," "],[4449,0,"m"],[4450,0,"a"],[4451,0,"p"],[4452,0," "],[4453,0,"("],[4454,0,"\\"],[4455,0,"t"],[4456,0,"e"],[4457,0,"x"],[4458,0,"t"],[4459,0,"f"],[4459,1],[4459,0,"s"],[4460,0,"f"],[4461,0,"{"],[4462,0,"d"],[4463,0,"e"],[4464,0,"l"],[4465,0,"e"],[4466,0,"t"],[4467,0,"e"],[4468,0,"}"],[4469,0,")"],[4470,0,","],[4471,0," "],[4472,0,"o"],[4473,0,"r"],[4474,0," "],[4475,0,"b"],[4476,0,"y"],[4477,0," "],[4478,0,"i"],[4479,0,"n"],[4480,0,"c"],[4481,0,"r"],[4482,0,"e"],[4483,0,"m"],[4484,0,"e"],[4485,0,"n"],[4486,0,"t"],[4487,0,"i"],[4488,0,"n"],[4489,0,"g"],[4490,0," "],[4491,0,"a"],[4492,0," "],[4493,0,"c"],[4494,0,"o"],[4495,0,"u"],[4496,0,"n"],[4497,0,"t"],[4498,0,"e"],[4499,0,"r"],[4500,0," "],[4501,0,"("],[4502,0,"\\"],[4503,0,"t"],[4504,0,"e"],[4505,0,"x"],[4506,0,"t"],[4507,0,"s"],[4508,0,"f"],[4509,0,"{"],[4510,0,"i"],[4511,0,"n"],[4512,0,"c"],[4513,0,"r"],[4514,0,"}"],[4515,0,")"],[4516,0,"."],[4517,0," "],[4518,0,"T"],[4519,0,"h"],[4520,0,"e"],[4521,0," "],[4522,0,"p"],[4523,0,"a"],[4524,0,"r"],[4525,0,"t"],[4526,0," "],[4526,1],[4525,1],[4524,1],[4523,1],[4522,1],[4521,1],[4520,1],[4519,1],[4518,1],[4517,1],[4517,0,"\n"],[4518,0,"\n"],[4519,0,"T"],[4520,0,"h"],[4521,0,"e"],[4522,0," "],[4517,0," "],[4518,0,"T"],[4519,0,"h"],[4520,0,"e"],[4521,0," "],[4522,0,"p"],[4523,0,"a"],[4524,0,"r"],[4525,0,"t"],[4526,0," "],[4527,0,"o"],[4528,0,"f"],[4529,0," "],[4530,0,"t"],[4531,0,"h"],[4532,0,"e"],[4533,0," "],[4534,0,"d"],[4535,0,"o"],[4536,0,"c"],[4537,0,"u"],[4538,0,"m"],[4539,0,"e"],[4540,0,"n"],[4541,0,"t"],[4542,0," "],[4543,0,"b"],[4544,0,"e"],[4545,0,"i"],[4546,0,"n"],[4547,0,"g"],[4548,0," "],[4549,0,"m"],[4550,0,"o"],[4551,0,"d"],[4552,0,"i"],[4553,0,"f"],[4554,0,"i"],[4555,0,"e"],[4556,0,"d"],[4557,0," "],[4558,0,"i"],[4559,0,"s"],[4560,0," "],[4561,0,"d"],[4561,1],[4560,1],[4559,1],[4558,1],[4557,1],[4556,1],[4555,1],[4554,1],[4553,1],[4552,1],[4551,1],[4550,1],[4549,1],[4548,1],[4547,1],[4546,1],[4545,1],[4544,1],[4543,1],[4542,1],[4541,1],[4540,1],[4539,1],[4538,1],[4537,1],[4536,1],[4535,1],[4534,1],[4533,1],[4532,1],[4531,1],[4530,1],[4529,1],[4528,1],[4527,1],[4526,1],[4525,1],[4524,1],[4523,1],[4522,1],[4521,1],[4521,0," "],[4522,0,"p"],[4523,0,"r"],[4524,0,"e"],[4525,0,"c"],[4526,0,"e"],[4527,0,"d"],[4528,0,"i"],[4529,0,"n"],[4530,0,"g"],[4531,0," "],[4532,0,"e"],[4533,0,"x"],[4534,0,"p"],[4535,0,"r"],[4536,0,"e"],[4537,0,"s"],[4538,0,"s"],[4539,0,"i"],[4540,0,"o"],[4541,0,"n"],[4542,0," "],[4543,0,"E"],[4544,0,"X"],[4545,0,"P"],[4546,0,"R"],[4547,0," "],[4548,0,"i"],[4549,0,"d"],[4550,0,"e"],[4551,0,"n"],[4552,0,"t"],[4553,0,"i"],[4554,0,"f"],[4555,0,"i"],[4556,0,"e"],[4557,0,"s"],[4558,0," "],[4559,0,"t"],[4560,0,"h"],[4561,0,"e"],[4562,0," "],[4563,0,"p"],[4564,0,"a"],[4565,0,"r"],[4566,0,"t"],[4567,0," "],[4568,0,"o"],[4569,0,"f"],[4570,0," "],[4571,0,"t"],[4572,0,"h"],[4573,0,"e"],[4574,0," "],[4575,0,"d"],[4576,0,"o"],[4577,0,"c"],[4578,0,"u"],[4579,0,"m"],[4580,0,"e"],[4581,0,"n"],[4582,0,"t"],[4583,0," "],[4584,0,"b"],[4585,0,"e"],[4586,0,"i"],[4587,0,"n"],[4588,0,"g"],[4589,0," "],[4590,0,"m"],[4591,0,"o"],[4592,0,"d"],[4593,0,"i"],[4594,0,"f"],[4595,0,"i"],[4596,0,"e"],[4597,0,"d"],[4598,0,"."],[4604,1],[4603,1],[4602,1],[4601,1],[4601,0,"F"],[4602,0,"i"],[4603,0,"g"],[4604,0,"u"],[4605,0,"r"],[4606,0,"e"],[4607,0,"~"],[4608,0,"\\"],[4609,0,"r"],[4610,0,"e"],[4611,0,"f"],[4612,0,"{"],[4613,0,"f"],[4614,0,"i"],[4615,0,"g"],[4616,0,":"],[4617,0,"m"],[4618,0,"a"],[4619,0,"k"],[4620,0,"e"],[4621,0,"-"],[4622,0,"d"],[4623,0,"o"],[4624,0,"c"],[4625,0,"}"],[4626,0," "],[4627,0,"s"],[4628,0,"h"],[4629,0,"o"],[4630,0,"w"],[4631,0,"s"],[4632,0," "],[4633,0,"a"],[4634,0,"n"],[4635,0," "],[4636,0,"e"],[4637,0,"x"],[4638,0,"a"],[4639,0,"m"],[4640,0,"p"],[4641,0,"l"],[4642,0,"e"],[4643,0," "],[4644,0,"o"],[4645,0,"f"],[4646,0," "],[4647,0,"a"],[4648,0," "],[4649,0,"s"],[4650,0,"e"],[4651,0,"q"],[4652,0,"u"],[4653,0,"e"],[4654,0,"n"],[4655,0,"c"],[4656,0,"e"],[4657,0," "],[4658,0,"o"],[4659,0,"f"],[4660,0," "],[4661,0,"c"],[4662,0,"o"],[4663,0,"m"],[4664,0,"m"],[4665,0,"a"],[4666,0,"n"],[4667,0,"d"],[4668,0,"s"],[4669,0," "],[4670,0,"c"],[4671,0,"o"],[4672,0,"n"],[4673,0,"s"],[4674,0,"t"],[4675,0,"r"],[4676,0,"u"],[4677,0,"c"],[4678,0,"t"],[4679,0,"i"],[4680,0,"n"],[4681,0,"g"],[4682,0," "],[4683,0,"a"],[4684,0," "],[4685,0,"n"],[4686,0,"e"],[4687,0,"w"],[4688,0," "],[4689,0,"d"],[4690,0,"o"],[4691,0,"c"],[4692,0,"u"],[4693,0,"m"],[4694,0,"e"],[4695,0,"n"],[4696,0,"t"],[4697,0," "],[4698,0,"r"],[4699,0,"e"],[4700,0,"p"],[4701,0,"r"],[4702,0,"e"],[4703,0,"s"],[4704,0,"e"],[4705,0,"n"],[4706,0,"t"],[4707,0,"i"],[4708,0,"n"],[4709,0,"g"],[4710,0,"a"],[4711,0," "],[4711,1],[4710,1],[4710,0," "],[4711,0,"a"],[4712,0," "],[4713,0,"s"],[4714,0,"h"],[4715,0,"o"],[4716,0,"p"],[4717,0,"p"],[4718,0,"i"],[4719,0,"n"],[4720,0,"g"],[4721,0," "],[4722,0,"l"],[4723,0,"i"],[4724,0,"s"],[4725,0,"t"],[4726,0,"."],[4727,0," "],[4728,0,"F"],[4729,0,"i"],[4730,0,"r"],[4731,0,"s"],[4732,0,"t"],[4733,0," "],[4734,0,"\\"],[4735,0,"t"],[4736,0,"e"],[4737,0,"x"],[4738,0,"t"],[4739,0,"s"],[4740,0,"f"],[4741,0,"{"],[4742,0,"d"],[4743,0,"o"],[4744,0,"c"],[4745,0,"}"],[4746,0," "],[4747,0,"i"],[4748,0,"s"],[4749,0," "],[4750,0,"a"],[4751,0,"s"],[4752,0,"s"],[4752,1],[4751,1],[4750,1],[4750,0,"s"],[4751,0,"e"],[4752,0,"t"],[4753,0," "],[4754,0,"t"],[4755,0,"o"],[4756,0," "],[4757,0,"\\"],[4758,0,"v"],[4759,0,"e"],[4760,0,"r"],[4761,0,"b"],[4762,0,"|"],[4763,0,"{"],[4764,0,"}"],[4765,0,"|"],[4766,0,","],[4767,0," "],[4768,0,"t"],[4769,0,"h"],[4770,0,"e"],[4771,0," "],[4772,0,"e"],[4773,0,"m"],[4774,0,"p"],[4775,0,"t"],[4776,0,"y"],[4777,0," "],[4778,0,"m"],[4779,0,"a"],[4780,0,"p"],[4781,0," "],[4782,0,"l"],[4783,0,"i"],[4784,0,"t"],[4785,0,"e"],[4786,0,"r"],[4787,0,"a"],[4788,0,"l"],[4789,0,"."],[4790,0," "],[4791,0,"W"],[4792,0,"i"],[4793,0,"t"],[4794,0,"h"],[4795,0,"i"],[4796,0,"n"],[4797,0," "],[4798,0,"t"],[4799,0,"h"],[4800,0,"a"],[4801,0,"t"],[4802,0," "],[4803,0,"m"],[4804,0,"a"],[4805,0,"p"],[4806,0,","],[4807,0," "],[4808,0,"t"],[4809,0,"h"],[4810,0,"e"],[4811,0," "],[4812,0,"k"],[4813,0,"e"],[4814,0,"y"],[4815,0," "],[4816,0,"\\"],[4817,0,"\""],[4817,1],[4816,1],[4816,0,"\\"],[4817,0,"v"],[4818,0,"e"],[4819,0,"r"],[4820,0,"b"],[4821,0,"|"],[4822,0,"\""],[4823,0,"s"],[4824,0,"h"],[4825,0,"o"],[4826,0,"p"],[4827,0,"p"],[4828,0,"i"],[4829,0,"n"],[4830,0,"g"],[4831,0,"\""],[4832,0,"|"],[4833,0," "],[4834,0,"i"],[4835,0,"s"],[4836,0," "],[4837,0,"s"],[4838,0,"e"],[4839,0,"t"],[4840,0," "],[4841,0,"t"],[4842,0,"o"],[4843,0," "],[4844,0,"t"],[4845,0,"h"],[4846,0,"e"],[4847,0," "],[4848,0,"e"],[4849,0,"m"],[4850,0,"p"],[4851,0,"t"],[4852,0,"y"],[4853,0," "],[4854,0,"l"],[4855,0,"i"],[4856,0,"s"],[4857,0,"t"],[4858,0," "],[4859,0,"\\"],[4860,0,"v"],[4861,0,"e"],[4862,0,"r"],[4863,0,"b"],[4864,0,"|"],[4865,0,"["],[4866,0,"]"],[4867,0,"|"],[4868,0,","],[4869,0," "],[4870,0,"a"],[4871,0,"n"],[4872,0,"d"],[4873,0," "],[4874,0,"t"],[4875,0,"h"],[4876,0,"e"],[4877,0,"n"],[4878,0," "],[4879,0,"t"],[4880,0,"h"],[4881,0,"r"],[4882,0,"e"],[4883,0,"e"],[4884,0," "],[4885,0,"i"],[4886,0,"t"],[4887,0,"e"],[4888,0,"m"],[4889,0,"s"],[4890,0," "],[4891,0,"a"],[4892,0,"r"],[4893,0,"e"],[4894,0," "],[4895,0,"i"],[4896,0,"n"],[4897,0,"s"],[4898,0,"e"],[4899,0,"r"],[4900,0,"t"],[4901,0,"e"],[4902,0,"d"],[4903,0," "],[4904,0,"i"],[4905,0,"n"],[4906,0,"t"],[4907,0,"o"],[4908,0," "],[4909,0,"t"],[4910,0,"h"],[4911,0,"e"],[4912,0," "],[4913,0,"l"],[4914,0,"i"],[4915,0,"s"],[4916,0,"t"],[4917,0,"."],[4918,0," "],[4919,0,"T"],[4920,0,"h"],[4921,0,"e"],[4922,0," "],[4923,0,"\\"],[4924,0,"t"],[4925,0,"e"],[4926,0,"x"],[4927,0,"t"],[4928,0,"s"],[4929,0,"f"],[4930,0,"{"],[4931,0,"i"],[4932,0,"n"],[4933,0,"s"],[4934,0,"e"],[4935,0,"r"],[4936,0,"t"],[4937,0,"}"],[4938,0," "],[4939,0,"c"],[4940,0,"o"],[4941,0,"m"],[4942,0,"m"],[4943,0,"a"],[4944,0,"n"],[4945,0,"d"],[4946,0," "],[4547,0," "],[4548,0,"a"],[4549,0,"c"],[4550,0,"t"],[4551,0,"s"],[4552,0," "],[4553,0,"a"],[4554,0,"s"],[4555,0," "],[4556,0,"a"],[4557,0," "],[4558,0,"c"],[4559,0,"u"],[4560,0,"r"],[4561,0,"s"],[4562,0,"o"],[4563,0,"r"],[4564,0,","],[4575,1],[4574,1],[4573,1],[4573,0,"y"],[4574,0,"i"],[4575,0,"n"],[4576,0,"g"],[4966,0,"a"],[4967,0,"d"],[4968,0,"d"],[4969,0,"s"],[4970,0," "],[4971,0,"a"],[4972,0,"n"],[4973,0," "],[4973,1],[4972,1],[4972,0," "],[4973,0,"n"],[4974,0,"e"],[4975,0,"w"],[4976,0," "],[4977,0,"l"],[4978,0,"i"],[4979,0,"s"],[4980,0,"t"],[4981,0," "],[4982,0,"a"],[4982,1],[4982,0,"e"],[4983,0,"l"],[4984,0,"e"],[4985,0,"m"],[4986,0,"e"],[4987,0,"n"],[4988,0,"t"],[4989,0," "],[4990,0,"\\"],[4991,0,"e"],[4992,0,"m"],[4993,0,"p"],[4994,0,"h"],[4995,0,"{"],[4996,0,"a"],[4997,0,"f"],[4998,0,"t"],[4999,0,"e"],[5000,0,"r"],[5001,0,"}"],[5002,0," "],[5003,0,"t"],[5004,0,"h"],[5005,0,"e"],[5006,0," "],[5007,0,"c"],[5008,0,"u"],[5009,0,"r"],[5010,0,"r"],[5011,0,"e"],[5012,0,"n"],[5013,0,"t"],[5014,0," "],[5015,0,"c"],[5016,0,"u"],[5017,0,"r"],[5018,0,"s"],[5019,0,"o"],[5020,0,"r"],[5021,0," "],[5022,0,"p"],[5023,0,"o"],[5024,0,"s"],[5025,0,"i"],[5026,0,"t"],[5027,0,"i"],[5028,0,"o"],[5029,0,"n"],[5030,0,","],[5031,0," "],[5032,0,"a"],[5033,0,"n"],[5034,0,"d"],[5035,0," "],[5036,0,"r"],[5037,0,"e"],[5038,0,"t"],[5039,0,"u"],[5040,0,"r"],[5041,0,"n"],[5042,0,"s"],[5043,0," "],[5044,0,"t"],[5045,0,"h"],[5046,0,"e"],[5047,0," "],[5048,0,"c"],[5049,0,"u"],[5050,0,"r"],[5051,0,"s"],[5052,0,"o"],[5053,0,"r"],[5054,0," "],[5055,0,"p"],[5056,0,"o"],[5057,0,"s"],[5058,0,"i"],[5059,0,"t"],[5060,0,"i"],[5061,0,"o"],[5062,0,"n"],[5063,0," "],[5064,0,"o"],[5065,0,"f"],[5066,0," "],[5067,0,"t"],[5068,0,"h"],[5069,0,"e"],[5070,0," "],[5071,0,"n"],[5072,0,"e"],[5073,0,"w"],[5074,0," "],[5074,1],[5074,0,"l"],[5075,0,"y"],[5076,0," "],[5077,0,"i"],[5078,0,"n"],[5079,0,"s"],[5080,0,"e"],[5081,0,"r"],[5082,0,"t"],[5083,0,"e"],[5084,0,"d"],[5085,0," "],[5086,0,"e"],[5087,0,"l"],[5088,0,"e"],[5089,0,"m"],[5090,0,"e"],[5091,0,"n"],[5092,0,"t"],[5093,0,"."],[5094,0," "],[5095,0,"T"],[5096,0,"h"],[5097,0,"u"],[5098,0,"s"],[5099,0,","],[5100,0," "],[5101,0,"\\"],[5101,1],[5101,0,"m"],[5102,0,"i"],[5103,0,"l"],[5104,0,"k"],[5105,0," "],[5106,0,"i"],[5107,0,"s"],[5108,0," "],[5109,0,"i"],[5110,0,"n"],[5111,0,"s"],[5112,0,"e"],[5113,0,"r"],[5114,0,"t"],[5115,0,"e"],[5116,0,"d"],[5117,0," "],[5118,0,"a"],[5119,0,"f"],[5120,0,"t"],[5121,0,"e"],[5122,0,"r"],[5123,0," "],[5124,0,"e"],[5125,0,"g"],[5126,0,"g"],[5127,0,"s"],[5128,0,","],[5129,0," "],[5130,0,"b"],[5131,0,"u"],[5132,0,"t"],[5133,0," "],[5134,0,"c"],[5135,0,"h"],[5136,0,"e"],[5137,0,"e"],[5138,0,"s"],[5139,0,"e"],[5140,0," "],[5141,0,"i"],[5142,0,"n"],[5143,0,"s"],[5143,1],[5142,1],[5142,0,"s"],[5143,0," "],[5144,0,"i"],[5145,0,"n"],[5146,0,"s"],[5147,0,"e"],[5148,0,"r"],[5149,0,"t"],[5150,0,"e"],[5151,0,"d"],[5152,0," "],[5153,0,"a"],[5154,0,"t"],[5155,0," "],[5094,0," "],[5095,0,"I"],[5096,0,"f"],[5097,0," "],[5098,0,"t"],[5099,0,"h"],[5100,0,"e"],[5101,0," "],[5102,0,"c"],[5103,0,"u"],[5104,0,"r"],[5105,0,"s"],[5106,0,"o"],[5107,0,"r"],[5108,0," "],[5109,0,"r"],[5110,0,"e"],[5111,0,"f"],[5112,0,"e"],[5113,0,"r"],[5114,0,"s"],[5115,0," "],[5116,0,"t"],[5117,0,"o"],[5118,0," "],[5119,0,"t"],[5120,0,"h"],[5121,0,"e"],[5122,0," "],[5123,0,"l"],[5124,0,"i"],[5125,0,"s"],[5126,0,"t"],[5127,0," "],[5128,0,"a"],[5129,0,"s"],[5130,0," "],[5131,0,"a"],[5132,0," "],[5133,0,"w"],[5134,0,"h"],[5135,0,"o"],[5136,0,"l"],[5137,0,"e"],[5138,0,","],[5139,0," "],[5140,0,"i"],[5141,0,"n"],[5142,0,"s"],[5143,0,"e"],[5144,0,"r"],[5145,0,"t"],[5146,0,"i"],[5147,0,"o"],[5148,0,"n"],[5149,0," "],[5150,0,"h"],[5151,0,"a"],[5152,0,"p"],[5153,0,"p"],[5154,0,"e"],[5155,0,"n"],[5156,0,"s"],[5157,0," "],[5158,0,"a"],[5159,0,"t"],[5160,0," "],[5161,0,"t"],[5162,0,"h"],[5163,0,"e"],[5164,0," "],[5165,0,"h"],[5166,0,"e"],[5167,0,"a"],[5168,0,"d"],[5169,0," "],[5170,0,"o"],[5171,0,"f"],[5172,0," "],[5173,0,"t"],[5174,0,"h"],[5175,0,"e"],[5176,0," "],[5177,0,"l"],[5178,0,"i"],[5179,0,"s"],[5180,0,"t"],[5181,0,"."],[2767,0,"."],[2768,0,"n"],[2769,0,"e"],[2770,0,"x"],[2771,0,"t"],[2784,1],[2783,1],[2782,1],[2781,1],[2780,1],[2779,1],[2778,1],[2777,1],[2776,1],[2775,1],[2774,1],[2773,1],[4818,1],[4817,1],[4816,1],[4815,1],[4814,1],[4813,1],[4812,1],[4811,1],[4810,1],[4809,1],[4808,1],[4807,1],[4806,1],[4805,1],[4804,1],[4803,1],[4803,0,"T"],[4804,0,"h"],[4805,0,"e"],[4806,0," "],[4807,0,"s"],[4808,0,"e"],[4809,0,"c"],[4810,0,"o"],[4811,0,"n"],[4812,0,"d"],[4813,0," "],[4814,0,"l"],[4815,0,"i"],[4816,0,"n"],[4817,0,"e"],[4818,0," "],[4819,0,"n"],[4820,0,"a"],[4821,0,"v"],[4822,0,"i"],[4823,0,"g"],[4824,0,"a"],[4825,0,"t"],[4826,0,"e"],[4827,0,"s"],[4828,0," "],[4829,0,"t"],[4830,0,"o"],[4858,0,"("],[4859,0,"w"],[4860,0,"h"],[4861,0,"i"],[4862,0,"c"],[4863,0,"h"],[4864,0," "],[4865,0,"i"],[4866,0,"s"],[4867,0," "],[4868,0,"i"],[4869,0,"m"],[4870,0,"p"],[4871,0,"l"],[4872,0,"i"],[4873,0,"c"],[4874,0,"i"],[4875,0,"t"],[4876,0,"l"],[4877,0,"y"],[4878,0," "],[4879,0,"c"],[4880,0,"r"],[4881,0,"e"],[4882,0,"a"],[4883,0,"t"],[4884,0,"e"],[4885,0,"d"],[4886,0," "],[4887,0,"i"],[4888,0,"f"],[4889,0," "],[4890,0,"i"],[4891,0,"t"],[4892,0," "],[4893,0,"d"],[4894,0,"o"],[4895,0,"e"],[4896,0,"s"],[4897,0," "],[4898,0,"n"],[4899,0,"o"],[4900,0,"t"],[4901,0," "],[4902,0,"e"],[4903,0,"x"],[4904,0,"i"],[4905,0,"s"],[4906,0,"t"],[4907,0,")"],[4908,0,","],[4909,0," "],[4910,0,"a"],[4911,0,"n"],[4912,0,"d"],[4913,0," "],[4914,0,"c"],[4915,0,"a"],[4916,0,"l"],[4917,0,"l"],[4918,0,"s"],[4919,0," "],[4920,0,"\\"],[4921,0,"t"],[4922,0,"e"],[4923,0,"x"],[4924,0,"t"],[4925,0,"s"],[4926,0,"f"],[4927,0,"{"],[4928,0,"n"],[4929,0,"e"],[4930,0,"x"],[4931,0,"t"],[4932,0,"}"],[4933,0,","],[4934,0," "],[4935,0,"w"],[4936,0,"h"],[4937,0,"i"],[4938,0,"c"],[4939,0,"h"],[4940,0," "],[4941,0,"m"],[4942,0,"o"],[4943,0,"v"],[4944,0,"e"],[4945,0,"s"],[4946,0," "],[4947,0,"t"],[4948,0,"o"],[4949,0," "],[4950,0,"t"],[4951,0,"h"],[4952,0,"e"],[4953,0," "],[4953,1],[4952,1],[4951,1],[4950,1],[4949,1],[4948,1],[4947,1],[4946,1],[4945,1],[4944,1],[4943,1],[4942,1],[4941,1],[4941,0,"t"],[4942,0,"r"],[4943,0,"e"],[4944,0,"a"],[4945,0,"t"],[4946,0,"s"],[4947,0," "],[4948,0,"t"],[4949,0,"h"],[4950,0,"e"],[4951,0," "],[4952,0,"v"],[4953,0,"a"],[4954,0,"l"],[4955,0,"u"],[4956,0,"e"],[4957,0," "],[4958,0,"a"],[4959,0,"t"],[4960,0," "],[4961,0,"t"],[4962,0,"h"],[4963,0,"a"],[4964,0,"t"],[4965,0," "],[4966,0,"k"],[4967,0,"e"],[4968,0,"y"],[4969,0," "],[4970,0,"a"],[4971,0,"s"],[4972,0," "],[4973,0,"a"],[4974,0," "],[4975,0,"l"],[4976,0,"i"],[4977,0,"s"],[4978,0,"t"],[4979,0," "],[4980,0,"a"],[4981,0,"n"],[4982,0,"d"],[4983,0," "],[4984,0,"s"],[4985,0,"e"],[4986,0,"l"],[4987,0,"e"],[4988,0,"c"],[4989,0,"t"],[4990,0,"s"],[4991,0," "],[4992,0,"t"],[4993,0,"h"],[4994,0,"e"],[4995,0," "],[4996,0,"h"],[4997,0,"e"],[4998,0,"a"],[4999,0,"d"],[5000,0," "],[5001,0,"o"],[5002,0,"f"],[5003,0," "],[5004,0,"t"],[5005,0,"h"],[5006,0,"e"],[5007,0," "],[5008,0,"l"],[5009,0,"i"],[5010,0,"s"],[5011,0,"t"],[5012,0,"."],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,1],[5013,0," "],[5014,0,"F"],[5015,0,"i"],[5016,0,"n"],[5017,0,"a"],[5018,0,"l"],[5019,0,"l"],[5020,0,"y"],[5021,0,","],[5307,1],[5306,1],[5305,1],[5304,1],[5303,1],[5302,1],[5301,1],[5300,1],[5299,1],[5298,1],[5297,1],[5296,1],[5295,1],[5294,1],[5293,1],[5292,1],[5291,1],[5290,1],[5289,1],[5288,1],[5287,1],[5286,1],[5285,1],[5284,1],[5283,1],[5282,1],[5281,1],[5280,1],[5279,1],[5278,1],[5277,1],[5276,1],[5275,1],[5274,1],[5273,1],[5272,1],[5271,1],[5270,1],[5269,1],[5268,1],[5267,1],[5266,1],[5265,1],[5264,1],[5263,1],[5262,1],[5261,1],[5260,1],[5259,1],[5258,1],[5257,1],[5256,1],[5255,1],[5254,1],[5253,1],[5252,1],[5251,1],[5250,1],[5249,1],[5248,1],[5247,1],[5246,1],[5245,1],[5244,1],[5243,1],[5242,1],[5241,1],[5240,1],[5239,1],[5238,1],[5237,1],[5236,1],[5235,1],[5234,1],[5233,1],[5232,1],[5231,1],[5230,1],[5229,1],[5228,1],[5227,1],[5226,1],[5225,1],[5224,1],[5223,1],[5222,1],[5221,1],[5220,1],[5281,0,"t"],[5282,0,"h"],[5283,0,"e"],[5284,0," "],[5285,0,"h"],[5286,0,"e"],[5287,0,"a"],[5288,0,"d"],[5289,0," "],[5290,0,"o"],[5291,0,"f"],[5292,0," "],[5293,0,"t"],[5294,0,"h"],[5295,0,"e"],[5296,0," "],[5297,0,"l"],[5298,0,"i"],[5299,0,"s"],[5300,0,"t"],[5301,0,","],[5302,0," "],[5303,0,"b"],[5304,0,"e"],[5305,0,"c"],[5306,0,"a"],[5307,0,"u"],[5308,0,"s"],[5309,0,"e"],[5310,0," "],[5311,0,"t"],[5312,0,"h"],[5313,0,"e"],[5314,0," "],[5315,0,"v"],[5316,0,"a"],[5317,0,"r"],[5318,0,"i"],[5319,0,"a"],[5320,0,"b"],[5321,0,"l"],[5322,0,"e"],[5323,0," "],[5324,0,"\\"],[5325,0,"v"],[5326,0,"e"],[5327,0,"r"],[5328,0,"b"],[5329,0,"|"],[5330,0,"l"],[5331,0,"i"],[5332,0,"s"],[5333,0,"t"],[5334,0,"|"],[5335,0," "],[5336,0,"c"],[5337,0,"o"],[5338,0,"n"],[5339,0,"t"],[5340,0,"i"],[5341,0,"n"],[5342,0,"u"],[5343,0,"e"],[5344,0,"s"],[5345,0," "],[5346,0,"t"],[5347,0,"o"],[5348,0," "],[5349,0,"r"],[5350,0,"e"],[5351,0,"f"],[5352,0,"e"],[5353,0,"r"],[5354,0," "],[5355,0,"t"],[5356,0,"o"],[5357,0," "],[5358,0,"t"],[5359,0,"h"],[5360,0,"e"],[5361,0," "],[5362,0,"h"],[5363,0,"e"],[5364,0,"a"],[5365,0,"d"],[5366,0,"."],[5367,0,"\n"],[5368,0,"\n"],[5369,0,"A"],[5370,0," "],[5371,0,"f"],[5372,0,"e"],[5373,0,"w"],[5374,0," "],[5375,0,"f"],[5376,0,"e"],[5377,0,"a"],[5378,0,"t"],[5379,0,"u"],[5380,0,"r"],[5381,0,"e"],[5382,0,"s"],[5383,0," "],[5384,0,"o"],[5385,0,"f"],[5386,0," "],[5387,0,"t"],[5388,0,"h"],[5389,0,"i"],[5390,0,"s"],[5391,0," "],[5392,0,"l"],[5393,0,"a"],[5394,0,"n"],[5395,0,"g"],[5396,0,"u"],[5397,0,"a"],[5398,0,"g"],[5399,0,"e"],[5400,0," "],[5401,0,"d"],[5402,0,"e"],[5403,0,"l"],[5404,0,"i"],[5405,0,"b"],[5406,0,"e"],[5407,0,"r"],[5408,0,"a"],[5409,0,"t"],[5410,0,"e"],[5411,0,"l"],[5412,0,"y"],[5413,0," "],[5414,0,"d"],[5415,0,"i"],[5416,0,"f"],[5417,0,"f"],[5418,0,"e"],[5419,0,"r"],[5420,0," "],[5421,0,"f"],[5422,0,"r"],[5423,0,"o"],[5424,0,"m"],[5425,0," "],[5426,0,"m"],[5427,0,"o"],[5428,0,"s"],[5429,0,"t"],[5430,0," "],[5431,0,"m"],[5432,0,"a"],[5433,0,"i"],[5434,0,"n"],[5435,0,"s"],[5436,0,"t"],[5437,0,"e"],[5437,1],[5437,0,"r"],[5438,0,"e"],[5439,0,"a"],[5440,0,"m"],[5441,0," "],[5442,0,"p"],[5443,0,"r"],[5444,0,"o"],[5445,0,"g"],[5446,0,"r"],[5447,0,"a"],[5448,0,"m"],[5449,0,"m"],[5450,0,"i"],[5451,0,"n"],[5452,0,"g"],[5453,0," "],[5454,0,"l"],[5455,0,"a"],[5456,0,"n"],[5457,0,"g"],[5458,0,"u"],[5459,0,"a"],[5460,0,"g"],[5461,0,"e"],[5462,0,"s"],[5463,0,":"],[5464,0," "],[5465,0,"t"],[5466,0,"h"],[5466,1],[5465,1],[5465,0,"k"],[5466,0,"e"],[5467,0,"y"],[5468,0,"s"],[5469,0," "],[5470,0,"i"],[5471,0,"n"],[5472,0," "],[5473,0,"m"],[5474,0,"a"],[5475,0,"p"],[5476,0,"s"],[5477,0," "],[5478,0,"a"],[5479,0,"r"],[5480,0,"e"],[5481,0," "],[5482,0,"i"],[5483,0,"m"],[5484,0,"p"],[5485,0,"l"],[5486,0,"i"],[5487,0,"c"],[5488,0,"i"],[5489,0,"t"],[5490,0,"l"],[5491,0,"y"],[5492,0," "],[5493,0,"c"],[5494,0,"r"],[5495,0,"e"],[5496,0,"a"],[5497,0,"t"],[5498,0,"e"],[5499,0,"d"],[5500,0," "],[5501,0,"w"],[5502,0,"h"],[5503,0,"e"],[5504,0,"n"],[5505,0," "],[5506,0,"t"],[5507,0,"h"],[5508,0,"e"],[5509,0,"y"],[5510,0," "],[5511,0,"a"],[5512,0,"r"],[5513,0,"e"],[5514,0," "],[5515,0,"f"],[5516,0,"i"],[5517,0,"r"],[5518,0,"s"],[5519,0,"t"],[5520,0," "],[5521,0,"a"],[5522,0,"c"],[5523,0,"c"],[5524,0,"e"],[5525,0,"s"],[5526,0,"s"],[5527,0,"e"],[5528,0,"d"],[5529,0,";"],[5530,0," "],[5531,0,"l"],[5532,0,"i"],[5533,0,"s"],[5534,0,"t"],[5535,0,"s"],[5536,0," "],[5537,0,"c"],[5538,0,"a"],[5539,0,"n"],[5540,0," "],[5541,0,"o"],[5542,0,"n"],[5543,0,"l"],[5544,0,"y"],[5545,0," "],[5546,0,"n"],[5546,1],[5546,0,"b"],[5547,0,"e"],[5548,0," "],[5549,0,"n"],[5550,0,"a"],[5551,0,"v"],[5552,0,"i"],[5553,0,"g"],[5554,0,"a"],[5555,0,"t"],[5556,0,"e"],[5557,0,"d"],[5558,0," "],[5559,0,"b"],[5560,0,"y"],[5561,0," "],[5562,0,"i"],[5563,0,"t"],[5564,0,"e"],[5565,0,"r"],[5566,0,"a"],[5567,0,"t"],[5568,0,"i"],[5569,0,"o"],[5570,0,"n"],[5571,0," "],[5572,0,"("],[5573,0,"\\"],[5574,0,"t"],[5575,0,"e"],[5576,0,"x"],[5577,0,"t"],[5578,0,"s"],[5579,0,"f"],[5580,0,"{"],[5581,0,"n"],[5582,0,"e"],[5583,0,"x"],[5584,0,"t"],[5585,0,"}"],[5586,0,")"],[5587,0," "],[5588,0,"b"],[5589,0,"u"],[5590,0,"t"],[5591,0," "],[5592,0,"n"],[5593,0,"o"],[5594,0,"t"],[5595,0," "],[5596,0,"b"],[5597,0,"y"],[5598,0," "],[5599,0,"i"],[5600,0,"n"],[5601,0,"d"],[5602,0,"e"],[5603,0,"x"],[5604,0,";"],[5605,0," "],[5606,0,"a"],[5607,0,"n"],[5608,0,"d"],[5609,0," "],[5610,0,"t"],[5611,0,"h"],[5612,0,"e"],[5613,0," "],[5614,0,"l"],[5615,0,"a"],[5616,0,"n"],[5617,0,"g"],[5618,0,"u"],[5619,0,"a"],[5620,0,"g"],[5621,0,"e"],[5622,0," "],[5623,0,"h"],[5624,0,"a"],[5625,0,"s"],[5626,0," "],[5627,0,"l"],[5628,0,"i"],[5629,0,"t"],[5630,0,"e"],[5631,0,"r"],[5632,0,"a"],[5633,0,"l"],[5634,0,"s"],[5635,0," "],[5636,0,"f"],[5637,0,"o"],[5638,0,"r"],[5639,0," "],[5640,0,"e"],[5641,0,"m"],[5642,0,"p"],[5643,0,"t"],[5644,0,"y"],[5645,0," "],[5646,0,"m"],[5647,0,"a"],[5648,0,"p"],[5649,0,"s"],[5650,0," "],[5651,0,"a"],[5652,0,"n"],[5653,0,"d"],[5654,0," "],[5655,0,"l"],[5656,0,"i"],[5657,0,"s"],[5658,0,"t"],[5659,0,"s"],[5660,0,","],[5661,0," "],[5662,0,"b"],[5663,0,"u"],[5664,0,"t"],[5665,0," "],[5666,0,"n"],[5667,0,"o"],[5668,0,"t"],[5669,0," "],[5670,0,"f"],[5671,0,"o"],[5672,0,"r"],[5673,0," "],[5674,0,"m"],[5675,0,"a"],[5676,0,"p"],[5677,0,"s"],[5678,0," "],[5678,1],[5678,0," "],[5679,0,"a"],[5680,0,"n"],[5681,0,"d"],[5682,0," "],[5683,0,"l"],[5684,0,"i"],[5685,0,"s"],[5686,0,"t"],[5687,0,"s"],[5688,0," "],[5689,0,"c"],[5689,1],[5688,1],[5687,1],[5686,1],[5685,1],[5684,1],[5683,1],[5682,1],[5681,1],[5680,1],[5679,1],[5678,1],[5677,1],[5676,1],[5675,1],[5674,1],[5673,1],[5672,1],[5671,1],[5670,1],[5669,1],[5668,1],[5667,1],[5666,1],[5665,1],[5664,1],[5663,1],[5662,1],[5661,1],[5660,1],[5646,0,"b"],[5646,1],[5660,0,","],[5661,0," "],[5662,0,"b"],[5663,0,"u"],[5664,0,"t"],[5665,0," "],[5666,0,"n"],[5667,0,"o"],[5668,0,"t"],[5669,0," "],[5670,0,"f"],[5671,0,"o"],[5672,0,"r"],[5673,0," "],[5674,0,"n"],[5675,0,"o"],[5676,0,"n"],[5677,0,"-"],[5678,0,"e"],[5679,0,"m"],[5680,0,"p"],[5681,0,"t"],[5682,0,"y"],[5683,0," "],[5684,0,"c"],[5685,0,"o"],[5686,0,"l"],[5687,0,"l"],[5688,0,"e"],[5689,0,"c"],[5690,0,"t"],[5691,0,"i"],[5692,0,"o"],[5693,0,"n"],[5694,0,"s"],[5695,0,"."],[5696,0," "],[5697,0,"A"],[5698,0,"s"],[5699,0," "],[5700,0,"w"],[5701,0,"e"],[5702,0," "],[5703,0,"s"],[5704,0,"h"],[5705,0,"a"],[5706,0,"l"],[5707,0,"l"],[5708,0," "],[5709,0,"s"],[5710,0,"e"],[5711,0,"e"],[5712,0," "],[5713,0,"l"],[5714,0,"a"],[5715,0,"t"],[5716,0,"e"],[5717,0,"r"],[5718,0,","],[5719,0," "],[5720,0,"t"],[5721,0,"h"],[5722,0,"e"],[5723,0,"s"],[5724,0,"e"],[5725,0," "],[5726,0,"f"],[5727,0,"e"],[5728,0,"a"],[5729,0,"t"],[5730,0,"u"],[5731,0,"r"],[5732,0,"e"],[5733,0,"s"],[5734,0," "],[5735,0,"a"],[5736,0,"r"],[5737,0,"e"],[5738,0," "],[5739,0,"h"],[5740,0,"e"],[5741,0,"l"],[5742,0,"p"],[5743,0,"f"],[5744,0,"u"],[5745,0,"l"],[5746,0," "],[5747,0,"f"],[5748,0,"o"],[5749,0,"r"],[5750,0," "],[5750,1],[5749,1],[5748,1],[5747,1],[5746,1],[5745,1],[5744,1],[5743,1],[5742,1],[5741,1],[5740,1],[5739,1],[5738,1],[5737,1],[5736,1],[5736,0,"r"],[5737,0,"e"],[5738,0," "],[5739,0,"h"],[5740,0,"e"],[5741,0,"l"],[5742,0,"p"],[5743,0,"f"],[5744,0,"u"],[5745,0,"l"],[5746,0," "],[5747,0,"f"],[5748,0,"o"],[5749,0,"r"],[5750,0," "],[5751,0,"d"],[5752,0,"e"],[5752,1],[5751,1],[5751,0,"a"],[5752,0,"c"],[5753,0,"h"],[5754,0,"i"],[5755,0,"e"],[5756,0,"v"],[5757,0,"i"],[5758,0,"n"],[5759,0,"g"],[5760,0," "],[5761,0,"d"],[5762,0,"e"],[5763,0,"s"],[5764,0,"i"],[5765,0,"r"],[5766,0,"a"],[5767,0,"b"],[5768,0,"l"],[5769,0,"e"],[5770,0," "],[5771,0,"s"],[5772,0,"e"],[5773,0,"m"],[5774,0,"a"],[5775,0,"n"],[5776,0,"t"],[5777,0,"i"],[5778,0,"c"],[5779,0,"s"],[5780,0," "],[5781,0,"i"],[5782,0,"n"],[5783,0," "],[5784,0,"t"],[5785,0,"h"],[5786,0,"e"],[5787,0," "],[5788,0,"p"],[5789,0,"r"],[5790,0,"e"],[5791,0,"s"],[5792,0,"e"],[5793,0,"n"],[5794,0,"c"],[5795,0,"e"],[5796,0," "],[5797,0,"o"],[5798,0,"f"],[5799,0," "],[5800,0,"c"],[5801,0,"o"],[5802,0,"n"],[5803,0,"c"],[5804,0,"u"],[5805,0,"r"],[5806,0,"r"],[5807,0,"e"],[5808,0,"n"],[5809,0,"t"],[5810,0," "],[5811,0,"m"],[5812,0,"o"],[5813,0,"d"],[5814,0,"i"],[5815,0,"f"],[5816,0,"i"],[5817,0,"c"],[5818,0,"a"],[5819,0,"t"],[5820,0,"i"],[5821,0,"o"],[5822,0,"n"],[5823,0,"s"],[5824,0,"."],[5639,0," "],[5640,0,"c"],[5641,0,"r"],[5642,0,"e"],[5643,0,"a"],[5644,0,"t"],[5645,0,"i"],[5646,0,"n"],[5647,0,"g"],[5834,0,"\n"],[5835,0,"\n"],[5836,0,"\\"],[5837,0,"s"],[5838,0,"u"],[5839,0,"b"],[5840,0,"s"],[5841,0,"u"],[5842,0,"b"],[5843,0,"s"],[5844,0,"e"],[5845,0,"c"],[5846,0,"t"],[5847,0,"i"],[5848,0,"o"],[5849,0,"n"],[5850,0,"{"],[5851,0,"O"],[5852,0,"p"],[5853,0,"e"],[5854,0,"r"],[5855,0,"a"],[5856,0,"t"],[5857,0,"i"],[5858,0,"o"],[5859,0,"n"],[5860,0,"a"],[5861,0,"l"],[5862,0," "],[5863,0,"s"],[5864,0,"e"],[5865,0,"m"],[5866,0,"a"],[5867,0,"n"],[5868,0,"t"],[5869,0,"i"],[5870,0,"c"],[5871,0,"s"],[5872,0," "],[5873,0,"o"],[5874,0,"f"],[5875,0," "],[5876,0,"c"],[5877,0,"o"],[5878,0,"m"],[5879,0,"m"],[5880,0,"a"],[5881,0,"n"],[5882,0,"d"],[5883,0," "],[5884,0,"l"],[5885,0,"a"],[5886,0,"n"],[5887,0,"g"],[5888,0,"u"],[5889,0,"a"],[5890,0,"g"],[5891,0,"e"],[5892,0,"}"],[2771,1],[2770,1],[2769,1],[2768,1],[2768,0,"i"],[2769,0,"t"],[2770,0,"e"],[2771,0,"r"],[2290,0,"\n"],[2291,0,"&"],[2292,0," "],[2293,0,"$"],[2294,0,"|"],[2295,0,"$"],[2296,0," "],[2297,0,"&"],[2298,0," "],[2299,0,"E"],[2300,0,"X"],[2301,0,"P"],[2302,0,"R"],[2303,0,"."],[2304,0,"\\"],[2305,0,"t"],[2306,0,"e"],[2307,0,"x"],[2308,0,"t"],[2309,0,"s"],[2310,0,"f"],[2311,0,"{"],[2312,0,"i"],[2313,0,"t"],[2314,0,"e"],[2315,0,"r"],[2316,0,"}"],[2317,0," "],[2318,0,"\\"],[2319,0,"\\"],[3986,0,"\\"],[3987,0,"t"],[3988,0,"e"],[3989,0,"x"],[3990,0,"t"],[3991,0,"s"],[3992,0,"f"],[3993,0,"{"],[3994,0,"i"],[3995,0,"t"],[3996,0,"e"],[3997,0,"r"],[3998,0,"}"],[3999,0," "],[4000,0,"s"],[4001,0,"t"],[4002,0,"a"],[4003,0,"r"],[4004,0,"t"],[4005,0,"s"],[4006,0," "],[4007,0,"i"],[4008,0,"t"],[4009,0,"e"],[4010,0,"r"],[4011,0,"a"],[4012,0,"t"],[4013,0,"i"],[4014,0,"n"],[4015,0,"g"],[4016,0," "],[4017,0,"o"],[4018,0,"v"],[4019,0,"e"],[4020,0,"r"],[4021,0," "],[4022,0,"a"],[4023,0,"n"],[4024,0," "],[4025,0,"o"],[4026,0,"r"],[4027,0,"d"],[4028,0,"e"],[4029,0,"r"],[4030,0,"e"],[4031,0,"d"],[4032,0," "],[4033,0,"l"],[4034,0,"i"],[4035,0,"s"],[4036,0,"t"],[4037,0,","],[4038,0," "],[5014,1],[5013,1],[5012,1],[5011,1],[5011,0,"i"],[5012,0,"t"],[5013,0,"e"],[5014,0,"r"],[5977,0,"\n"],[5978,0,"\n"],[5978,0,"\\"],[5979,0,"b"],[5980,0,"e"],[5981,0,"g"],[5982,0,"i"],[5983,0,"n"],[5984,0,"{"],[5985,0,"f"],[5986,0,"i"],[5987,0,"g"],[5988,0,"u"],[5989,0,"r"],[5990,0,"e"],[5991,0,"*"],[5992,0,"}"],[5993,0,"\n"],[5994,0,"\\"],[5995,0,"e"],[5996,0,"n"],[5997,0,"d"],[5998,0,"{"],[5999,0,"f"],[6000,0,"i"],[6001,0,"g"],[6002,0,"u"],[6003,0,"r"],[6004,0,"e"],[6005,0,"*"],[6006,0,"}"],[5993,0,"\n"],[5994,0,"\\"],[5995,0,"c"],[5996,0,"e"],[5997,0,"n"],[5998,0,"t"],[5999,0,"e"],[6000,0,"r"],[6001,0,"i"],[6002,0,"n"],[6003,0,"g"],[6004,0,"\n"],[6005,0,"\\"],[6006,0,"c"],[6007,0,"a"],[6008,0,"p"],[6009,0,"t"],[6010,0,"i"],[6011,0,"o"],[6012,0,"n"],[6013,0,"{"],[6014,0,"R"],[6015,0,"u"],[6016,0,"l"],[6017,0,"e"],[6018,0,"s"],[6019,0," "],[6020,0,"f"],[6021,0,"o"],[6022,0,"r"],[6023,0," "],[6024,0,"e"],[6025,0,"v"],[6026,0,"a"],[6027,0,"l"],[6028,0,"u"],[6029,0,"a"],[6030,0,"t"],[6031,0,"i"],[6032,0,"n"],[6033,0,"g"],[6034,0," "],[6035,0,"a"],[6036,0,"n"],[6037,0," "],[6038,0,"e"],[6039,0,"x"],[6040,0,"p"],[6041,0,"r"],[6042,0,"e"],[6043,0,"s"],[6044,0,"s"],[6045,0,"i"],[6046,0,"o"],[6047,0,"n"],[6048,0," "],[6049,0,"t"],[6050,0,"o"],[6051,0," "],[6052,0,"o"],[6053,0,"b"],[6054,0,"t"],[6055,0,"a"],[6056,0,"i"],[6057,0,"n"],[6058,0," "],[6059,0,"a"],[6060,0," "],[6061,0,"c"],[6062,0,"u"],[6063,0,"r"],[6064,0,"s"],[6065,0,"o"],[6066,0,"r"],[6067,0,"}"],[6068,0,"\\"],[6069,0,"l"],[6070,0,"a"],[6071,0,"b"],[6072,0,"e"],[6073,0,"l"],[6074,0,"{"],[6075,0,"f"],[6076,0,"i"],[6077,0,"g"],[6078,0,":"],[6079,0,"c"],[6079,1],[6079,0,"e"],[6080,0,"x"],[6081,0,"p"],[6082,0,"r"],[6083,0,"-"],[6084,0,"r"],[6085,0,"u"],[6086,0,"l"],[6087,0,"e"],[6088,0,"s"],[6089,0,"}"],[6004,0,"\n"],[6005,0,"\\"],[6006,0,"A"],[6007,0,"x"],[6008,0,"i"],[6009,0,"o"],[6010,0,"m"],[6011,0,"C"],[6012,0,"{"],[6013,0,"$"],[6014,0,"\\"],[6015,0,"a"],[6015,1],[6015,0,"m"],[6016,0,"a"],[6017,0,"t"],[6018,0,"h"],[6019,0,"i"],[6020,0,"t"],[6021,0,"{"],[6022,0,"c"],[6023,0,"m"],[6024,0,"d"],[6025,0,"}"],[6026,0,"_"],[6027,0,"1"],[6028,0," "],[6029,0,"\\"],[6030,0,"m"],[6031,0,"a"],[6032,0,"t"],[6033,0,"h"],[6034,0,"b"],[6035,0,"i"],[6036,0,"n"],[6037,0,"{"],[6038,0,":"],[6039,0,"}"],[6040,0," "],[6041,0,"\\"],[6042,0,"m"],[6043,0,"a"],[6044,0,"t"],[6045,0,"h"],[6046,0,"r"],[6047,0,"m"],[6048,0,"{"],[6049,0,"C"],[6050,0,"M"],[6051,0,"D"],[6052,0,"}"],[6053,0,"$"],[6054,0,"}"],[6055,0,"\n"],[6056,0,"\\"],[6057,0,"A"],[6058,0,"x"],[6059,0,"i"],[6060,0,"o"],[6061,0,"m"],[6062,0,"C"],[6063,0,"{"],[6064,0,"$"],[6065,0,"A"],[6066,0,"_"],[6067,0,"p"],[6068,0,","],[6069,0,"\\"],[6070,0,","],[6071,0," "],[6072,0,"\\"],[6073,0,"m"],[6074,0,"a"],[6075,0,"t"],[6076,0,"h"],[6077,0,"i"],[6078,0,"t"],[6079,0,"{"],[6080,0,"c"],[6081,0,"m"],[6082,0,"d"],[6083,0,"}"],[6084,0,"_"],[6085,0,"1"],[6072,0,"<"],[6072,1],[6072,0,"\\"],[6073,0,"l"],[6074,0,"a"],[6075,0,"n"],[6076,0,"g"],[6077,0,"l"],[6078,0,"e"],[6093,0," "],[6094,0,"\\"],[6095,0,"m"],[6096,0,"a"],[6097,0,"t"],[6098,0,"h"],[6099,0,"b"],[6100,0,"i"],[6101,0,"n"],[6102,0,"{"],[6103,0,";"],[6104,0,"}"],[6105,0," "],[6106,0,"\\"],[6107,0,"m"],[6108,0,"a"],[6109,0,"t"],[6110,0,"h"],[6111,0,"i"],[6112,0,"t"],[6079,0," "],[6114,0,"{"],[6115,0,"c"],[6116,0,"m"],[6117,0,"d"],[6118,0,"}"],[6119,0,"_"],[6120,0,"2"],[6121,0," "],[6122,0,"\\"],[6123,0,"m"],[6124,0,"a"],[6125,0,"t"],[6126,0,"h"],[6127,0,"b"],[6128,0,"i"],[6129,0,"n"],[6130,0,"{"],[6131,0,";"],[6132,0,"}"],[6133,0," "],[6134,0,"\\"],[6135,0,"d"],[6136,0,"o"],[6137,0,"t"],[6138,0,"s"],[6139,0," "],[6140,0,"\\"],[6141,0,"r"],[6142,0,"a"],[6143,0,"n"],[6144,0,"g"],[6145,0,"l"],[6146,0,"e"],[6062,1],[6061,1],[6060,1],[6059,1],[6058,1],[6057,1],[6057,0,"B"],[6058,0,"i"],[6059,0,"n"],[6060,0,"a"],[6061,0,"r"],[6062,0,"y"],[6063,0,"I"],[6064,0,"n"],[6065,0,"f"],[6066,0,"C"],[6055,0,"\n"],[6056,0,"\\"],[6057,0,"L"],[6058,0,"e"],[6059,0,"f"],[6060,0,"t"],[6061,0,"L"],[6062,0,"a"],[6063,0,"b"],[6064,0,"e"],[6065,0,"l"],[6066,0,"{"],[6067,0,"\\"],[6068,0,"t"],[6069,0,"e"],[6070,0,"x"],[6071,0,"t"],[6072,0,"s"],[6073,0,"c"],[6074,0,"{"],[6075,0,"E"],[6076,0,"x"],[6077,0,"e"],[6078,0,"c"],[6079,0,"}"],[6080,0,"}"],[6055,0,"\n"],[6056,0,"\\"],[6057,0,"E"],[6057,1],[6057,0,"A"],[6058,0,"x"],[6059,0,"i"],[6060,0,"o"],[6061,0,"m"],[6062,0,"C"],[6063,0,"{"],[6064,0,"$"],[6065,0,"A"],[6066,0,"_"],[6067,0,"p"],[6068,0,","],[6069,0,"\\"],[6070,0,","],[6071,0," "],[6072,0,"\\"],[6073,0,"m"],[6074,0,"a"],[6075,0,"t"],[6076,0,"h"],[6077,0,"i"],[6078,0,"t"],[6079,0,"{"],[6080,0,"c"],[6081,0,"m"],[6082,0,"d"],[6083,0,"}"],[6084,0,"_"],[6085,0,"1"],[6086,0," "],[6087,0,"\\"],[6088,0,"e"],[6089,0,"v"],[6090,0,"a"],[6091,0,"l"],[6092,0,"t"],[6093,0,"o"],[6094,0," "],[6095,0,"A"],[6096,0,"_"],[6097,0,"p"],[6098,0,"'"],[6099,0,"$"],[6100,0,"}"],[6223,0,"\n"],[6224,0," "],[6225,0," "],[6226,0," "],[6227,0," "],[6228,0,"\\"],[6229,0,"e"],[6230,0,"v"],[6231,0,"a"],[6232,0,"l"],[6233,0,"t"],[6234,0,"o"],[6235,0," "],[6236,0,"A"],[6237,0,"_"],[6238,0,"p"],[6239,0,"'"],[6240,0,","],[6241,0," "],[6241,1],[6241,0,"\\"],[6242,0,","],[6243,0," "],[6244,0,"\\"],[6245,0,"l"],[6246,0,"a"],[6247,0,"n"],[6248,0,"g"],[6249,0,"l"],[6250,0,"e"],[6251,0," "],[6252,0,"\\"],[6253,0,"m"],[6254,0,"a"],[6255,0,"t"],[6256,0,"h"],[6257,0,"i"],[6258,0,"t"],[6259,0,"{"],[6260,0,"c"],[6261,0,"m"],[6262,0,"d"],[6263,0,"}"],[6264,0,"_"],[6265,0,"2"],[6266,0," "],[6267,0,"\\"],[6268,0,"m"],[6269,0,"a"],[6270,0,"t"],[6271,0,"h"],[6272,0,"b"],[6273,0,"i"],[6274,0,"n"],[6275,0,"{"],[6276,0,";"],[6277,0,"}"],[6278,0," "],[6279,0,"\\"],[6280,0,"d"],[6281,0,"o"],[6282,0,"t"],[6283,0,"s"],[6284,0," "],[6285,0,"\\"],[6286,0,"r"],[6287,0,"a"],[6288,0,"n"],[6289,0,"g"],[6290,0,"l"],[6291,0,"e"],[6292,0,"$"],[6293,0,"}"],[6294,0,"\n"],[6295,0,"\\"],[6296,0,"D"],[6297,0,"i"],[6298,0,"s"],[6299,0,"p"],[6300,0,"l"],[6301,0,"a"],[6302,0,"y"],[6303,0,"P"],[6304,0,"r"],[6305,0,"o"],[6306,0,"o"],[6307,0,"f"],[6308,0,"\\"],[6309,0,"h"],[6310,0,"f"],[6311,0,"i"],[6312,0,"l"],[6313,0,"l"],[6314,0,"\n"],[6315,0,"%"],[6316,0,"\n"],[6317,0,"\\"],[6318,0,"A"],[6319,0,"x"],[6320,0,"i"],[6321,0,"o"],[6322,0,"m"],[6323,0,"C"],[6324,0,"{"],[6325,0,"}"],[6326,0,"\n"],[6327,0,"\\"],[6328,0,"L"],[6329,0,"e"],[6330,0,"f"],[6331,0,"t"],[6332,0,"L"],[6333,0,"a"],[6334,0,"b"],[6335,0,"e"],[6336,0,"l"],[6337,0,"{"],[6338,0,"\\"],[6339,0,"t"],[6340,0,"e"],[6341,0,"x"],[6342,0,"t"],[6343,0,"s"],[6344,0,"c"],[6345,0,"{"],[6346,0,"D"],[6347,0,"o"],[6348,0,"c"],[6349,0,"}"],[6350,0,"}"],[6351,0,"\n"],[6352,0,"\\"],[6353,0,"U"],[6354,0,"n"],[6355,0,"a"],[6356,0,"r"],[6357,0,"y"],[6358,0,"I"],[6359,0,"n"],[6360,0,"f"],[6361,0,"C"],[6362,0,"{"],[6363,0,"$"],[6364,0,"A"],[6365,0,"_"],[6366,0,"p"],[6367,0,","],[6368,0,"\\"],[6369,0,","],[6370,0," "],[6371,0,"\\"],[6372,0,"m"],[6373,0,"a"],[6374,0,"t"],[6375,0,"h"],[6376,0,"s"],[6377,0,"f"],[6378,0,"{"],[6379,0,"d"],[6380,0,"o"],[6381,0,"c"],[6382,0,"}"],[6383,0," "],[6384,0,"\\"],[6385,0,"e"],[6386,0,"v"],[6387,0,"a"],[6388,0,"l"],[6389,0,"t"],[6390,0,"o"],[6391,0," "],[6392,0,"\\"],[6393,0,"m"],[6394,0,"a"],[6395,0,"t"],[6396,0,"h"],[6397,0,"s"],[6398,0,"f"],[6399,0,"{"],[6400,0,"c"],[6401,0,"u"],[6402,0,"r"],[6403,0,"s"],[6404,0,"o"],[6405,0,"r"],[6406,0,"}"],[6407,0,"("],[6408,0,"\\"],[6409,0,"l"],[6410,0,"a"],[6411,0,"n"],[6412,0,"g"],[6413,0,"l"],[6414,0,"e"],[6415,0,"\\"],[6416,0,"r"],[6417,0,"a"],[6418,0,"n"],[6419,0,"g"],[6420,0,"l"],[6421,0,"e"],[6422,0,","],[6423,0," "],[6424,0,"\\"],[6425,0,"m"],[6426,0,"a"],[6427,0,"t"],[6428,0,"h"],[6429,0,"s"],[6430,0,"f"],[6431,0,"{"],[6432,0,"d"],[6433,0,"o"],[6434,0,"c"],[6435,0,"}"],[6436,0,")"],[6437,0,"$"],[6438,0,"}"],[6439,0,"\n"],[6440,0,"D"],[6441,0,"i"],[6441,1],[6440,1],[6440,0,"\\"],[6441,0,"D"],[6442,0,"i"],[6443,0,"s"],[6444,0,"p"],[6445,0,"l"],[6446,0,"a"],[6447,0,"y"],[6448,0,"P"],[6449,0,"r"],[6450,0,"o"],[6451,0,"o"],[6452,0,"f"],[6453,0,"\\"],[6454,0,"p"],[6455,0,"r"],[6456,0,"o"],[6457,0,"o"],[6458,0,"f"],[6459,0,"S"],[6460,0,"k"],[6461,0,"i"],[6462,0,"p"],[6463,0,"A"],[6464,0,"m"],[6465,0,"o"],[6466,0,"u"],[6467,0,"n"],[6468,0,"t"],[6469,0,"\n"],[6470,0,"\n"],[6471,0,"\\"],[6472,0,"A"],[6473,0,"x"],[6474,0,"i"],[6475,0,"o"],[6476,0,"m"],[6477,0,"C"],[6478,0,"{"],[6479,0,"$"],[6480,0,"\\"],[6480,1],[6480,0,"A"],[6481,0,"_"],[6482,0,"p"],[6483,0,","],[6484,0,"\\"],[6485,0,","],[6486,0," "],[6487,0,"\\"],[6488,0,"m"],[6489,0,"a"],[6490,0,"t"],[6491,0,"h"],[6492,0,"i"],[6493,0,"t"],[6494,0,"{"],[6495,0,"e"],[6496,0,"x"],[6497,0,"p"],[6498,0,"r"],[6499,0,"}"],[6500,0," "],[6501,0,"\\"],[6502,0,"e"],[6503,0,"v"],[6504,0,"a"],[6505,0,"l"],[6506,0,"t"],[6507,0,"o"],[6508,0," "],[6509,0,"\\"],[6510,0,"m"],[6511,0,"a"],[6512,0,"t"],[6513,0,"h"],[6514,0,"i"],[6515,0,"t"],[6516,0,"{"],[6517,0,"c"],[6518,0,"u"],[6519,0,"r"],[6520,0,"}"],[6521,0,"$"],[6522,0,"}"],[6523,0,"\n"],[6524,0,"\\"],[6525,0,"L"],[6526,0,"e"],[6527,0,"f"],[6528,0,"t"],[6529,0,"L"],[6530,0,"a"],[6531,0,"b"],[6532,0,"e"],[6533,0,"l"],[6534,0,"{"],[6535,0,"\\"],[6536,0,"t"],[6537,0,"e"],[6538,0,"x"],[6539,0,"t"],[6540,0,"s"],[6541,0,"c"],[6542,0,"{"],[6543,0,"L"],[6544,0,"e"],[6545,0,"t"],[6546,0,"}"],[6547,0,"}"],[6548,0,"\n"],[6549,0,"\\"],[6550,0,"U"],[6551,0,"n"],[6552,0,"a"],[6553,0,"r"],[6554,0,"y"],[6555,0,"I"],[6556,0,"n"],[6557,0,"f"],[6558,0,"C"],[6559,0,"{"],[6560,0,"$"],[6561,0,"A"],[6562,0,"_"],[6563,0,"p"],[6564,0,","],[6565,0,"\\"],[6566,0,","],[6567,0," "],[6568,0,"\\"],[6569,0,"m"],[6570,0,"a"],[6571,0,"t"],[6572,0,"h"],[6573,0,"s"],[6574,0,"f"],[6575,0,"{"],[6576,0,"l"],[6577,0,"e"],[6578,0,"t"],[6579,0,"}"],[6580,0," "],[6581,0,"x"],[6582,0," "],[6583,0,"="],[6584,0," "],[6585,0,"\\"],[6586,0,"m"],[6587,0,"a"],[6588,0,"t"],[6589,0,"h"],[6590,0,"i"],[6591,0,"t"],[6592,0,"{"],[6593,0,"e"],[6594,0,"x"],[6595,0,"p"],[6596,0,"r"],[6597,0,"}"],[6598,0," "],[6599,0,"\\"],[6600,0,"e"],[6601,0,"v"],[6602,0,"a"],[6603,0,"l"],[6604,0,"t"],[6605,0,"o"],[6606,0," "],[6607,0,"A"],[6608,0,"_"],[6609,0,"p"],[6610,0,"["],[6611,0,"\\"],[6612,0,","],[6613,0,"x"],[6614,0," "],[6615,0,"\\"],[6616,0,"m"],[6617,0,"a"],[6618,0,"p"],[6619,0,"s"],[6620,0,"t"],[6621,0,"o"],[6622,0," "],[6615,0,"\\"],[6616,0,","],[6624,1],[6624,0,"\\"],[6625,0,","],[6626,0," "],[6627,0,"\\"],[6628,0,"m"],[6629,0,"a"],[6630,0,"t"],[6631,0,"h"],[6632,0,"i"],[6633,0,"t"],[6634,0,"{"],[6635,0,"c"],[6636,0,"u"],[6637,0,"r"],[6638,0,"}"],[6639,0,"\\"],[6640,0,","],[6641,0,"]"],[6642,0,"$"],[6643,0,"}"],[6644,0,"\n"],[6645,0,"\\"],[6646,0,"D"],[6647,0,"i"],[6648,0,"s"],[6649,0,"p"],[6650,0,"l"],[6651,0,"a"],[6652,0,"y"],[6653,0,"P"],[6654,0,"r"],[6655,0,"o"],[6656,0,"o"],[6657,0,"f"],[6658,0,"\\"],[6659,0,"h"],[6660,0,"f"],[6661,0,"i"],[6662,0,"l"],[6663,0,"l"],[6664,0,"\n"],[6665,0,"%"],[6666,0,"\n"],[6667,0,"\\"],[6668,0,"A"],[6669,0,"x"],[6670,0,"i"],[6671,0,"o"],[6672,0,"m"],[6673,0,"C"],[6674,0,"{"],[6675,0,"$"],[6676,0,"x"],[6677,0," "],[6678,0,"\\"],[6679,0,"i"],[6680,0,"n"],[6681,0," "],[6682,0,"\\"],[6683,0,"m"],[6684,0,"a"],[6685,0,"t"],[6686,0,"h"],[6687,0,"r"],[6688,0,"m"],[6689,0,"{"],[6690,0,"d"],[6691,0,"o"],[6692,0,"m"],[6693,0,"}"],[6694,0,"("],[6695,0,"A"],[6696,0,"_"],[6697,0,"p"],[6698,0,")"],[6699,0,"$"],[6700,0,"}"],[6701,0,"\n"],[6702,0,"\\"],[6703,0,"A"],[6704,0,"x"],[6705,0,"i"],[6706,0,"o"],[6707,0,"m"],[6708,0,"C"],[6709,0,"{"],[6710,0,"$"],[6711,0,"%"],[6711,1],[6710,1],[6709,1],[6708,1],[6707,1],[6706,1],[6705,1],[6704,1],[6703,1],[6703,0,"L"],[6704,0,"e"],[6705,0,"f"],[6706,0,"t"],[6707,0,"L"],[6708,0,"a"],[6709,0,"b"],[6710,0,"e"],[6711,0,"l"],[6712,0,"{"],[6713,0,"|"],[6714,0,"t"],[6715,0,"e"],[6715,1],[6714,1],[6713,1],[6713,0,"\\"],[6714,0,"t"],[6715,0,"e"],[6716,0,"x"],[6717,0,"t"],[6718,0,"s"],[6719,0,"c"],[6720,0,"{"],[6721,0,"V"],[6722,0,"a"],[6723,0,"r"],[6724,0,"}"],[6725,0,"}"],[6726,0,"\n"],[6727,0,"\\"],[6728,0,"U"],[6729,0,"n"],[6730,0,"a"],[6731,0,"r"],[6732,0,"y"],[6733,0,"I"],[6734,0,"n"],[6735,0,"f"],[6736,0,"C"],[6737,0,"{"],[6738,0,"$"],[6739,0,"A"],[6740,0,"_"],[6741,0,"p"],[6742,0,","],[6743,0,"\\"],[6744,0,","],[6745,0," "],[6746,0,"x"],[6747,0," "],[6748,0,"\\"],[6749,0,"e"],[6750,0,"v"],[6751,0,"a"],[6752,0,"l"],[6753,0,"t"],[6754,0,"o"],[6755,0," "],[6756,0,"A"],[6757,0,"_"],[6758,0,"p"],[6759,0,"("],[6760,0,"x"],[6761,0,")"],[6762,0,"$"],[6763,0,"}"],[6764,0,"\n"],[6765,0,"\\"],[6766,0,"D"],[6767,0,"I"],[6768,0,"S"],[6769,0,"P"],[6770,0,"L"],[6771,0,"A"],[6772,0,"Y"],[6773,0,"P"],[6774,0,"R"],[6775,0,"O"],[6776,0,"O"],[6777,0,"F"],[6777,1],[6776,1],[6775,1],[6774,1],[6773,1],[6772,1],[6771,1],[6770,1],[6769,1],[6768,1],[6767,1],[6767,0,"i"],[6768,0,"s"],[6769,0,"p"],[6770,0,"l"],[6771,0,"a"],[6772,0,"y"],[6773,0,"P"],[6774,0,"r"],[6775,0,"o"],[6776,0,"o"],[6777,0,"f"],[6778,0,"\\"],[6779,0,"h"],[6779,1],[6779,0,"p"],[6780,0,"r"],[6781,0,"o"],[6782,0,"o"],[6783,0,"f"],[6784,0,"S"],[6785,0,"k"],[6786,0,"i"],[6787,0,"p"],[6788,0,"A"],[6789,0,"M"],[6790,0,"o"],[6791,0,"u"],[6792,0,"n"],[6793,0,"t"],[6793,1],[6792,1],[6791,1],[6790,1],[6789,1],[6789,0,"m"],[6790,0,"o"],[6791,0,"u"],[6792,0,"n"],[6793,0,"t"],[6313,1],[6312,1],[6311,1],[6310,1],[6310,0,"s"],[6311,0,"p"],[6312,0,"a"],[6313,0,"c"],[6314,0,"e"],[6315,0,"{"],[6316,0,"6"],[6317,0,"e"],[6318,0,"m"],[6319,0,"}"],[6669,1],[6668,1],[6667,1],[6666,1],[6666,0,"s"],[6667,0,"p"],[6668,0,"a"],[6669,0,"c"],[6670,0,"e"],[6671,0,"{"],[6672,0,"6"],[6673,0,"e"],[6674,0,"m"],[6675,0,"}"],[6477,0,"\\"],[6478,0,"p"],[6479,0,"r"],[6480,0,"o"],[6481,0,"o"],[6482,0,"f"],[6483,0,"S"],[6484,0,"k"],[6485,0,"i"],[6486,0,"p"],[6487,0,"A"],[6488,0,"m"],[6489,0,"o"],[6490,0,"u"],[6491,0,"n"],[6492,0,"t"],[6602,0,"\\"],[6603,0,";"],[6429,0,"\\"],[6430,0,","],[6316,1],[6316,0,"4"],[6692,1],[6692,0,"3"],[6826,0,"\n"],[6827,0,"\n"],[6828,0,"\\"],[6829,0,"b"],[6830,0,"e"],[6831,0,"g"],[6832,0,"i"],[6833,0,"n"],[6834,0,"{"],[6835,0,"r"],[6835,1],[6835,0,"p"],[6836,0,"r"],[6837,0,"o"],[6838,0,"o"],[6839,0,"f"],[6840,0,"t"],[6841,0,"r"],[6842,0,"e"],[6843,0,"e"],[6844,0,"}"],[6845,0,"\n"],[6846,0,"\\"],[6847,0,"e"],[6848,0,"n"],[6849,0,"d"],[6850,0,"{"],[6851,0,"p"],[6852,0,"r"],[6853,0,"o"],[6854,0,"o"],[6855,0,"f"],[6856,0,"t"],[6857,0,"r"],[6858,0,"e"],[6859,0,"e"],[6860,0,"}"],[6860,1],[6859,1],[6858,1],[6857,1],[6856,1],[6855,1],[6854,1],[6853,1],[6852,1],[6851,1],[6850,1],[6849,1],[6848,1],[6847,1],[6846,1],[6845,1],[6844,1],[6843,1],[6842,1],[6841,1],[6840,1],[6839,1],[6838,1],[6837,1],[6836,1],[6835,1],[6834,1],[6833,1],[6832,1],[6831,1],[6830,1],[6829,1],[6828,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6479,1],[6812,0,"\\"],[6813,0,"A"],[6814,0,"x"],[6815,0,"i"],[6816,0,"o"],[6817,0,"m"],[6818,0,"C"],[6819,0,"{"],[6820,0,"$"],[6821,0,"A"],[6822,0,"_"],[6823,0,"p"],[6824,0,","],[6825,0,"\\"],[6826,0,","],[6827,0," "],[6828,0,"\\"],[6829,0,"m"],[6830,0,"a"],[6831,0,"t"],[6832,0,"h"],[6833,0,"i"],[6834,0,"t"],[6835,0,"{"],[6836,0,"e"],[6837,0,"x"],[6838,0,"p"],[6839,0,"r"],[6840,0,"}"],[6841,0,"."],[6842,0,"\\"],[6843,0,"m"],[6844,0,"a"],[6845,0,"t"],[6846,0,"h"],[6847,0,"s"],[6848,0,"f"],[6849,0,"{"],[6850,0,"g"],[6851,0,"e"],[6852,0,"t"],[6853,0,"}"],[6854,0,"("],[6855,0,"\\"],[6856,0,"m"],[6857,0,"a"],[6858,0,"t"],[6859,0,"h"],[6860,0,"i"],[6861,0,"t"],[6862,0,"{"],[6863,0,"k"],[6864,0,"e"],[6865,0,"y"],[6866,0,"}"],[6867,0,")"],[6868,0," "],[6869,0,"\\"],[6870,0,"e"],[6871,0,"v"],[6872,0,"a"],[6873,0,"l"],[6874,0,"t"],[6875,0,"o"],[6820,0,"\n"],[6821,0,"\\"],[6822,0,"U"],[6823,0,"n"],[6824,0,"a"],[6825,0,"r"],[6826,0,"y"],[6827,0,"I"],[6828,0,"n"],[6829,0,"f"],[6830,0,"C"],[6831,0,"{"],[6820,0,"$"],[6821,0,"A"],[6822,0,"_"],[6823,0,"p"],[6824,0,","],[6825,0,"\\"],[6826,0,","],[6827,0," "],[6828,0,"\\"],[6829,0,"m"],[6830,0,"a"],[6831,0,"t"],[6832,0,"h"],[6833,0,"i"],[6834,0,"t"],[6835,0,"{"],[6836,0,"e"],[6837,0,"x"],[6838,0,"p"],[6839,0,"r"],[6840,0,"}"],[6841,0," "],[6842,0,"\\"],[6843,0,"e"],[6844,0,"v"],[6845,0,"a"],[6846,0,"l"],[6847,0,"t"],[6848,0,"o"],[6849,0," "],[6850,0,"\\"],[6851,0,"m"],[6852,0,"a"],[6853,0,"t"],[6854,0,"h"],[6855,0,"i"],[6856,0,"t"],[6857,0,"{"],[6857,1],[6856,1],[6855,1],[6855,0,"s"],[6856,0,"f"],[6857,0,"{"],[6858,0,"c"],[6859,0,"u"],[6860,0,"r"],[6861,0,"s"],[6862,0,"o"],[6863,0,"r"],[6864,0,"}"],[6865,0,"("],[6866,0,"\\"],[6867,0,"l"],[6868,0,"a"],[6869,0,"n"],[6870,0,"g"],[6871,0,"l"],[6872,0,"e"],[6873,0," "],[6874,0,"k"],[6875,0,"_"],[6876,0,"1"],[6877,0,","],[6878,0," "],[6879,0,"\\"],[6880,0,"d"],[6881,0,"o"],[6882,0,"t"],[6883,0,"s"],[6884,0,","],[6885,0," "],[6886,0,"\\"],[6886,1],[6886,0,"k"],[6887,0,"_"],[6888,0,"{"],[6889,0,"n"],[6890,0,"-"],[6891,0,"1"],[6892,0,"}"],[6893,0," "],[6894,0,"\\"],[6895,0,"r"],[6896,0,"a"],[6897,0,"n"],[6898,0,"g"],[6899,0,"l"],[6900,0,"e"],[6901,0,","],[6902,0," "],[6902,1],[6902,0,"\\"],[6903,0,","],[6904,0," "],[6905,0,"k"],[6906,0,"_"],[6907,0,"n"],[6908,0,")"],[6909,0,"$"],[6910,0,"}"],[6911,0,"\n"],[6912,0,"\\"],[6913,0,"L"],[6914,0,"e"],[6915,0,"f"],[6916,0,"t"],[6917,0,"L"],[6918,0,"a"],[6919,0,"b"],[6920,0,"e"],[6921,0,"l"],[6922,0,"{"],[6923,0,"\\"],[6924,0,"t"],[6925,0,"e"],[6926,0,"x"],[6927,0,"t"],[6928,0,"s"],[6929,0,"c"],[6930,0,"{"],[6931,0,"G"],[6932,0,"e"],[6933,0,"t"],[6934,0,"}"],[6935,0,"}"],[7004,0,"\n"],[7005,0," "],[7006,0," "],[7007,0," "],[7008,0," "],[7009,0,"\\"],[7010,0,"m"],[7011,0,"a"],[7012,0,"t"],[7013,0,"h"],[7014,0,"s"],[7015,0,"f"],[7016,0,"{"],[7017,0,"c"],[7018,0,"u"],[7019,0,"r"],[7020,0,"s"],[7021,0,"o"],[7022,0,"r"],[7023,0,"}"],[7024,0,"("],[7025,0,"\\"],[7026,0,"l"],[7027,0,"a"],[7028,0,"n"],[7029,0,"g"],[7030,0,"l"],[7031,0,"e"],[7032,0," "],[7033,0,"k"],[7034,0,"_"],[7035,0,"1"],[7036,0,","],[7037,0," "],[7038,0,"\\"],[7039,0,"d"],[7040,0,"o"],[7041,0,"t"],[7042,0,"s"],[7043,0,","],[7044,0," "],[7045,0,"k"],[7046,0,"_"],[7047,0,"{"],[7048,0,"n"],[7049,0,"-"],[7050,0,"1"],[7051,0,"}"],[7052,0,","],[7053,0," "],[7054,0,"\\"],[7055,0,"m"],[7056,0,"a"],[7057,0,"t"],[7058,0,"h"],[7059,0,"s"],[7060,0,"f"],[7061,0,"{"],[7062,0,"m"],[7063,0,"a"],[7064,0,"p"],[7065,0,"T"],[7066,0,"}"],[7067,0,"("],[7068,0,"k"],[7069,0,"_"],[7070,0,"n"],[7071,0,")"],[7072,0," "],[7073,0,"\\"],[7074,0,"r"],[7075,0,"a"],[7076,0,"n"],[7077,0,"g"],[7078,0,"l"],[7079,0,"e"],[7080,0,","],[7081,0," "],[7082,0,"\\"],[7083,0,"m"],[7084,0,"a"],[7085,0,"t"],[7086,0,"h"],[7087,0,"i"],[7088,0,"t"],[7089,0,"{"],[7090,0,"k"],[7091,0,"e"],[7092,0,"y"],[7093,0,"}"],[7094,0,")"],[7095,0,"$"],[7096,0,"}"],[7097,0,"\n"],[7098,0,"\\"],[7099,0,"D"],[7100,0,"i"],[7101,0,"s"],[7102,0,"p"],[7103,0,"l"],[7104,0,"a"],[7105,0,"y"],[7106,0,"P"],[7107,0,"r"],[7108,0,"o"],[7109,0,"o"],[7110,0,"f"],[7111,0,"\\"],[7112,0,"h"],[7113,0,"s"],[7114,0,"p"],[7115,0,"a"],[7116,0,"c"],[7117,0,"e"],[7118,0,"{"],[7119,0,"4"],[7120,0,"e"],[7121,0,"m"],[7122,0,"}"],[7123,0,"\n"],[7124,0,"%"],[7125,0,"\n"],[7126,0,"\\"],[7127,0,"A"],[7128,0,"x"],[7129,0,"i"],[7130,0,"o"],[7131,0,"m"],[7132,0,"C"],[7133,0,"{"],[7134,0,"$"],[7135,0,"A"],[7136,0,"_"],[7137,0,"p"],[7138,0,","],[7139,0,"\\"],[7140,0,","],[7141,0," "],[7142,0,"\\"],[7143,0,"m"],[7144,0,"a"],[7145,0,"t"],[7146,0,"h"],[7147,0,"i"],[7148,0,"t"],[7149,0,"{"],[7150,0,"e"],[7151,0,"x"],[7152,0,"p"],[7153,0,"r"],[7154,0,"}"],[7155,0," "],[7156,0,"\\"],[7157,0,"e"],[7158,0,"v"],[7159,0,"a"],[7160,0,"l"],[7161,0,"t"],[7162,0,"o"],[7163,0," "],[7164,0,"\\"],[7165,0,"m"],[7166,0,"a"],[7167,0,"t"],[7168,0,"h"],[7169,0,"s"],[7170,0,"f"],[7171,0,"{"],[7172,0,"c"],[7173,0,"u"],[7174,0,"r"],[7175,0,"s"],[7176,0,"o"],[7177,0,"r"],[7178,0,"}"],[7179,0," "],[7179,1],[7179,0,"("],[7180,0,"\\"],[7181,0,"l"],[7182,0,"a"],[7183,0,"n"],[7184,0,"g"],[7185,0,"l"],[7186,0,"e"],[7187,0," "],[7188,0,"k"],[7189,0,"_"],[7190,0,"1"],[7191,0,","],[7192,0," "],[7193,0,"\\"],[7194,0,"d"],[7195,0,"o"],[7196,0,"t"],[7197,0,"s"],[7198,0,","],[7199,0," "],[7200,0,"\\"],[7200,1],[7200,0,"k"],[7201,0,"_"],[7202,0,"{"],[7203,0,"n"],[7204,0,"-"],[7205,0,"1"],[7206,0,"}"],[7207,0," "],[7208,0,"\\"],[7209,0,"r"],[7210,0,"a"],[7211,0,"n"],[7212,0,"g"],[7213,0,"l"],[7214,0,"e"],[7215,0,","],[7216,0,"\\"],[7217,0,","],[7218,0," "],[7219,0,"k"],[7220,0,"_"],[7221,0,"n"],[7222,0,")"],[7223,0,"$"],[7224,0,"%"],[7225,0,"}"],[7225,1],[7224,1],[7224,0,"}"],[7225,0,"\n"],[7226,0,"\\"],[7227,0,"L"],[7228,0,"e"],[7229,0,"f"],[7230,0,"t"],[7231,0,"L"],[7232,0,"a"],[7233,0,"b"],[7234,0,"e"],[7235,0,"l"],[7236,0,"{"],[7237,0,"\\"],[7238,0,"t"],[7239,0,"e"],[7240,0,"x"],[7241,0,"t"],[7242,0,"s"],[7243,0,"c"],[7244,0,"{"],[7245,0,"I"],[7246,0,"t"],[7247,0,"e"],[7248,0,"r"],[7249,0,"}"],[7250,0,"}"],[7251,0,"\n"],[7252,0,"\\"],[7253,0,"U"],[7254,0,"n"],[7255,0,"a"],[7256,0,"r"],[7257,0,"y"],[7258,0,"I"],[7259,0,"n"],[7260,0,"f"],[7261,0,"C"],[7262,0,"{"],[7263,0,"$"],[7264,0,"A"],[7265,0,"_"],[7266,0,"p"],[7267,0,","],[7268,0,"\\"],[7269,0,","],[7270,0," "],[7271,0,"\\"],[7272,0,"m"],[7273,0,"a"],[7274,0,"t"],[7275,0,"h"],[7276,0,"i"],[7277,0,"t"],[7278,0,"{"],[7279,0,"e"],[7280,0,"x"],[7281,0,"p"],[7282,0,"r"],[7283,0,"}"],[7284,0,"."],[7285,0,"\\"],[7286,0,"m"],[7287,0,"a"],[7288,0,"t"],[7289,0,"h"],[7290,0,"s"],[7291,0,"f"],[7292,0,"{"],[7293,0,"i"],[7294,0,"t"],[7295,0,"e"],[7296,0,"r"],[7297,0,"}"],[7298,0," "],[7299,0,"\\"],[7300,0,"e"],[7301,0,"v"],[7302,0,"a"],[7303,0,"l"],[7304,0,"t"],[7305,0,"o"],[7306,0," "],[7306,1],[7306,0,"\n"],[7307,0," "],[7308,0," "],[7309,0," "],[7310,0," "],[7311,0,"\\"],[7312,0,"m"],[7313,0,"a"],[7314,0,"t"],[7315,0,"h"],[7316,0,"s"],[7317,0,"f"],[7318,0,"{"],[7319,0,"c"],[7320,0,"u"],[7321,0,"r"],[7322,0,"s"],[7323,0,"o"],[7324,0,"r"],[7325,0,"}"],[7326,0,"("],[7327,0,"\\"],[7328,0,"l"],[7329,0,"a"],[7330,0,"n"],[7331,0,"g"],[7332,0,"l"],[7333,0,"e"],[7334,0," "],[7335,0,"k"],[7336,0,"_"],[7337,0,"1"],[7338,0,","],[7339,0," "],[7340,0,"\\"],[7341,0,"d"],[7342,0,"o"],[7343,0,"t"],[7344,0,"s"],[7345,0,","],[7346,0," "],[7347,0,"k"],[7348,0,"_"],[7349,0,"{"],[7350,0,"n"],[7351,0,"-"],[7352,0,"1"],[7353,0,"}"],[7354,0,","],[7355,0," "],[7356,0,"\\"],[7357,0,"m"],[7358,0,"a"],[7359,0,"t"],[7360,0,"h"],[7361,0,"s"],[7362,0,"f"],[7363,0,"{"],[7364,0,"l"],[7365,0,"i"],[7366,0,"s"],[7367,0,"t"],[7368,0,"T"],[7369,0,"}"],[7370,0,"("],[7371,0,"k"],[7372,0,"_"],[7373,0,"n"],[7374,0,")"],[7375,0," "],[7376,0,"\\"],[7377,0,"r"],[7378,0,"a"],[7379,0,"n"],[7380,0,"g"],[7381,0,"l"],[7382,0,"e"],[7383,0,","],[7384,0,"\\"],[7385,0,","],[7081,0,"\\"],[7082,0,","],[7388,0," "],[7389,0,"\\"],[7390,0,"m"],[7391,0,"a"],[7392,0,"t"],[7393,0,"h"],[7394,0,"s"],[7395,0,"f"],[7396,0,"{"],[7397,0,"h"],[7398,0,"e"],[7399,0,"a"],[7400,0,"d"],[7401,0,"}"],[7402,0,")"],[7403,0,"$"],[7404,0,"}"],[7405,0,"\n"],[7406,0,"\\"],[7407,0,"D"],[7408,0,"i"],[7409,0,"s"],[7410,0,"p"],[7411,0,"l"],[7412,0,"a"],[7413,0,"y"],[7414,0,"P"],[7415,0,"r"],[7416,0,"o"],[7417,0,"o"],[7418,0,"f"],[7419,0,"\\"],[7420,0,"p"],[7421,0,"r"],[7422,0,"o"],[7423,0,"o"],[7424,0,"f"],[7425,0,"S"],[7426,0,"k"],[7427,0,"i"],[7428,0,"p"],[7429,0,"A"],[7430,0,"m"],[7431,0,"o"],[7432,0,"u"],[7433,0,"n"],[7434,0,"t"],[7121,1],[7121,0,"0"],[6811,0,"\n"],[6812,0,"\\"],[6813,0,"b"],[6814,0,"e"],[6815,0,"g"],[6816,0,"i"],[6817,0,"n"],[6818,0,"{"],[6819,0,"p"],[6820,0,"r"],[6821,0,"o"],[6822,0,"o"],[6823,0,"f"],[6824,0,"t"],[6825,0,"r"],[6826,0,"e"],[6827,0,"e"],[6828,0,"}"],[7144,1],[7143,1],[7142,1],[7141,1],[7140,1],[7139,1],[7138,1],[7137,1],[7136,1],[7135,1],[7134,1],[7133,1],[7132,1],[7131,1],[7130,1],[7129,1],[7128,1],[7127,1],[7126,1],[7125,1],[7124,1],[7123,1],[7122,1],[7121,1],[7120,1],[7119,1],[7119,0,"e"],[7120,0,"n"],[7121,0,"d"],[7122,0,"{"],[7123,0,"p"],[7124,0,"r"],[7125,0,"o"],[7126,0,"o"],[7127,0,"f"],[7128,0,"t"],[7129,0,"r"],[7130,0,"e"],[7131,0,"e"],[7132,0,"}"],[7133,0,"\n"],[7134,0,"\n"],[7135,0,"\\"],[7136,0,"b"],[7137,0,"e"],[7138,0,"g"],[7139,0,"i"],[7140,0,"n"],[7141,0,"{"],[7142,0,"P"],[7142,1],[7142,0,"p"],[7143,0,"r"],[7144,0,"o"],[7145,0,"o"],[7146,0,"f"],[7147,0,"t"],[7148,0,"r"],[7149,0,"e"],[7150,0,"e"],[7151,0,"}"],[7459,1],[7458,1],[7457,1],[7456,1],[7455,1],[7454,1],[7453,1],[7452,1],[7451,1],[7450,1],[7449,1],[7448,1],[7447,1],[7446,1],[7445,1],[7444,1],[7443,1],[7442,1],[7441,1],[7440,1],[7439,1],[7438,1],[7437,1],[7436,1],[7435,1],[7434,1],[7433,1],[7432,1],[7432,0,"e"],[7433,0,"n"],[7434,0,"d"],[7435,0,"{"],[7436,0,"p"],[7437,0,"r"],[7438,0,"o"],[7439,0,"o"],[7440,0,"f"],[7441,0,"t"],[7442,0,"r"],[7443,0,"e"],[7444,0,"e"],[7445,0,"}"],[6003,1],[6002,1],[6001,1],[6000,1],[5999,1],[5998,1],[5997,1],[5996,1],[5995,1],[5995,0,"b"],[5996,0,"e"],[5997,0,"g"],[5998,0,"i"],[5999,0,"n"],[6000,0,"{"],[6001,0,"c"],[6002,0,"e"],[6003,0,"n"],[6004,0,"t"],[6005,0,"e"],[6006,0,"r"],[6007,0,"}"],[6481,0,"\n"],[6482,0,"\\"],[6483,0,"e"],[6484,0,"n"],[6485,0,"d"],[6486,0,"{"],[6487,0,"c"],[6488,0,"e"],[6489,0,"n"],[6490,0,"t"],[6491,0,"e"],[6492,0,"r"],[6493,0,"}"],[6495,0,"\n"],[6496,0,"\\"],[6497,0,"b"],[6498,0,"e"],[6499,0,"g"],[6500,0,"i"],[6501,0,"n"],[6502,0,"{"],[6503,0,"c"],[6504,0,"e"],[6505,0,"n"],[6506,0,"t"],[6507,0,"e"],[6508,0,"r"],[6509,0,"}"],[6842,0,"\n"],[6843,0,"\\"],[6844,0,"e"],[6845,0,"n"],[6846,0,"d"],[6847,0,"{"],[6848,0,"c"],[6849,0,"e"],[6850,0,"n"],[6851,0,"t"],[6852,0,"e"],[6853,0,"r"],[6854,0,"}"],[7491,0,"\n"],[7492,0,"\n"],[7493,0,"\\"],[7494,0,"b"],[7495,0,"e"],[7496,0,"g"],[7497,0,"i"],[7498,0,"n"],[7499,0,"{"],[7500,0,"p"],[7501,0,"r"],[7502,0,"o"],[7503,0,"o"],[7504,0,"f"],[7505,0,"t"],[7506,0,"r"],[7507,0,"e"],[7508,0,"e"],[7509,0,"}"],[7510,0,"\n"],[7511,0,"\\"],[7512,0,"e"],[7513,0,"n"],[7514,0,"d"],[7515,0,"{"],[7516,0,"["],[7517,0,"r"],[7518,0,"o"],[7519,0,"p"],[7520,0,"o"],[7521,0,"f"],[7521,1],[7520,1],[7519,1],[7518,1],[7517,1],[7516,1],[7516,0,"p"],[7517,0,"r"],[7518,0,"o"],[7519,0,"o"],[7520,0,"f"],[7521,0,"t"],[7522,0,"r"],[7523,0,"e"],[7524,0,"e"],[7525,0,"}"],[7510,0,"\n"],[7511,0,"\\"],[7512,0,"A"],[7513,0,"x"],[7514,0,"i"],[7515,0,"o"],[7516,0,"m"],[7517,0,"C"],[7518,0,"{"],[7519,0,"$"],[7520,0,"A"],[7521,0,"_"],[7522,0,"p"],[7523,0,","],[7524,0,"\\"],[7525,0,","],[7526,0," "],[7527,0,"\\"],[7528,0,"m"],[7529,0,"a"],[7530,0,"t"],[7531,0,"h"],[7532,0,"i"],[7533,0,"t"],[7534,0,"{"],[7535,0,"e"],[7536,0,"x"],[7537,0,"p"],[7538,0,"r"],[7539,0,"}"],[7540,0," "],[7541,0,"\\"],[7542,0,"e"],[7543,0,"v"],[7544,0,"a"],[7545,0,"l"],[7546,0,"t"],[7547,0,"o"],[7548,0," "],[7549,0,"\\"],[7550,0,"m"],[7551,0,"a"],[7552,0,"t"],[7553,0,"h"],[7554,0,"i"],[7555,0,"t"],[7556,0,"{"],[7557,0,"c"],[7558,0,"u"],[7559,0,"r"],[7560,0,"}"],[7561,0,"$"],[7562,0,"}"],[7563,0,"\n"],[7564,0,"\\"],[7565,0,"A"],[7566,0,"x"],[7567,0,"i"],[7568,0,"o"],[7569,0,"m"],[7570,0,"C"],[7571,0,"{"],[7572,0,"$"],[7573,0,"A"],[7574,0,"_"],[7575,0,"p"],[7576,0,","],[7577,0,"\\"],[7578,0,","],[7579,0," "],[7580,0,"\\"],[7581,0,"m"],[7582,0,"a"],[7583,0,"t"],[7584,0,"h"],[7585,0,"i"],[7586,0,"t"],[7587,0,"{"],[7588,0,"c"],[7589,0,"u"],[7590,0,"r"],[7591,0,"}"],[7592,0,"."],[7593,0,"\\"],[7594,0,"m"],[7595,0,"a"],[7596,0,"t"],[7597,0,"h"],[7598,0,"s"],[7599,0,"f"],[7600,0,"{"],[7601,0,"n"],[7602,0,"e"],[7603,0,"x"],[7604,0,"t"],[7605,0,"}"],[7606,0," "],[7607,0,"\\"],[7608,0,"e"],[7609,0,"v"],[7610,0,"a"],[7611,0,"l"],[7612,0,"t"],[7613,0,"o"],[7614,0," "],[7615,0,"\\"],[7616,0,"m"],[7617,0,"a"],[7618,0,"t"],[7619,0,"h"],[7620,0,"i"],[7621,0,"t"],[7622,0,"{"],[7623,0,"c"],[7624,0,"u"],[7625,0,"r"],[7626,0,"}"],[7627,0,"'"],[7628,0,"$"],[7629,0,"}"],[7630,0,"\n"],[7631,0,"\\"],[7632,0,"L"],[7633,0,"e"],[7634,0,"f"],[7635,0,"t"],[7636,0,"L"],[7637,0,"a"],[7638,0,"b"],[7639,0,"e"],[7640,0,"l"],[7641,0,"{"],[7642,0,"$"],[7643,0,"\\"],[7644,0,"m"],[7645,0,"a"],[7645,1],[7644,1],[7644,0,"t"],[7645,0,"e"],[7646,0,"s"],[7646,1],[7646,0,"x"],[7647,0,"t"],[7648,0,"s"],[7649,0,"c"],[7650,0,"{"],[7651,0,"N"],[7652,0,"e"],[7653,0,"x"],[7654,0,"t"],[7655,0,"}"],[7656,0,"_"],[7657,0,"1"],[7658,0,"$"],[7659,0,"}"],[7660,0,"\n"],[7661,0,"A"],[7661,1],[7661,0,"\\"],[7662,0,"B"],[7663,0,"i"],[7664,0,"n"],[7665,0,"a"],[7666,0,"r"],[7667,0,"e"],[7668,0,"y"],[7668,1],[7667,1],[7667,0,"y"],[7668,0,"I"],[7669,0,"n"],[7670,0,"f"],[7671,0,"C"],[7672,0,"{"],[7673,0,"$"],[7674,0,"A"],[7675,0,"_"],[7676,0,"p"],[7677,0,","],[7678,0,"\\"],[7679,0,","],[7680,0," "],[7681,0,"\\"],[7682,0,"m"],[7683,0,"a"],[7684,0,"t"],[7685,0,"h"],[7686,0,"i"],[7687,0,"t"],[7688,0,"{"],[7689,0,"e"],[7690,0,"x"],[7691,0,"p"],[7692,0,"r"],[7693,0,"}"],[7694,0,"."],[7695,0,"\\"],[7696,0,"m"],[7697,0,"a"],[7698,0,"t"],[7699,0,"h"],[7700,0,"s"],[7701,0,"f"],[7702,0,"{"],[7703,0,"n"],[7704,0," "],[7705,0,"e"],[7706,0,"x"],[7706,1],[7705,1],[7704,1],[7704,0,"e"],[7705,0,"x"],[7706,0,"t"],[7707,0,"}"],[7708,0," "],[7709,0,"\\"],[7710,0,"e"],[7711,0,"v"],[7712,0,"a"],[7713,0,"l"],[7714,0,"t"],[7715,0,"o"],[7716,0," "],[7717,0,"\\"],[7718,0,"m"],[7719,0,"a"],[7720,0,"t"],[7721,0,"h"],[7722,0,"i"],[7723,0,"t"],[7724,0,"{"],[7725,0,"c"],[7726,0,"u"],[7727,0,"r"],[7728,0,"}"],[7729,0,"'"],[7730,0,"$"],[7731,0,"}"],[7748,0,"\n"],[7749,0,"\n"],[7750,0,"\\"],[7751,0,"b"],[7752,0,"e"],[7753,0,"g"],[7754,0,"i"],[7755,0,"n"],[7756,0,"{"],[7757,0,"p"],[7758,0,"r"],[7759,0,"o"],[7760,0,"o"],[7761,0,"f"],[7762,0,"t"],[7763,0,"r"],[7764,0,"e"],[7765,0,"e"],[7766,0,"}"],[7767,0,"\n"],[7768,0,"\\"],[7769,0,"e"],[7770,0,"n"],[7771,0,"d"],[7772,0,"P"],[7772,1],[7772,0,"{"],[7773,0,"p"],[7774,0,"r"],[7775,0,"o"],[7776,0,"o"],[7777,0,"f"],[7778,0,"t"],[7779,0,"r"],[7780,0,"e"],[7781,0,"e"],[7782,0,"}"],[7767,0,"\n"],[7768,0,"A"],[7769,0,"x"],[7770,0,"i"],[7771,0,"o"],[7772,0,"m"],[7773,0,"C"],[7768,0,"\\"],[7775,0,"{"],[7776,0,"$"],[7777,0,"\\"],[7778,0,"m"],[7779,0,"a"],[7780,0,"t"],[7781,0,"h"],[7782,0,"s"],[7783,0,"f"],[7784,0,"{"],[7785,0,"n"],[7786,0,"e"],[7787,0,"x"],[7788,0,"t"],[7789,0,"}"],[7790,0,"("],[7791,0,"k"],[7792,0,")"],[7793,0," "],[7794,0,"\\"],[7795,0,"i"],[7796,0,"n"],[7797,0," "],[7798,0,"\\"],[7799,0,"m"],[7800,0,"a"],[7801,0,"t"],[7802,0,"h"],[7803,0,"r"],[7804,0,"m"],[7805,0,"{"],[7806,0,"d"],[7807,0,"o"],[7808,0,"m"],[7809,0,"}"],[7810,0,"("],[7811,0,"\\"],[7812,0,"m"],[7813,0,"a"],[7814,0,"t"],[7815,0,"h"],[7816,0,"i"],[7817,0,"t"],[7818,0,"{"],[7819,0,"c"],[7820,0,"t"],[7821,0,"x"],[7822,0,"}"],[7823,0,")"],[7824,0,"$"],[7825,0,"}"],[7826,0,"\n"],[7827,0,"\\"],[7828,0,"A"],[7829,0,"x"],[7830,0,"i"],[7831,0,"o"],[7832,0,"m"],[7833,0,"C"],[7834,0,"{"],[7835,0,"$"],[7836,0,"\\"],[7837,0,"m"],[7838,0,"a"],[7839,0,"t"],[7840,0,"h"],[7841,0,"i"],[7842,0,"t"],[7843,0,"{"],[7844,0,"c"],[7845,0,"t"],[7846,0,"x"],[7847,0,"}"],[7848,0,"("],[7849,0,"\\"],[7850,0,"m"],[7851,0,"a"],[7852,0,"t"],[7853,0,"h"],[7854,0,"s"],[7855,0,"f"],[7856,0,"{"],[7857,0,"n"],[7858,0,"e"],[7859,0,"x"],[7860,0,"t"],[7861,0,"}"],[7862,0,"("],[7863,0,"k"],[7864,0,")"],[7865,0,")"],[7866,0," "],[7867,0,"="],[7868,0," "],[7869,0,"k"],[7870,0,"'"],[7871,0,"$"],[7872,0,"}"],[7873,0,"\n"],[7874,0,"\\"],[7875,0,"L"],[7876,0,"e"],[7877,0,"f"],[7878,0,"t"],[7879,0,"L"],[7880,0,"a"],[7881,0,"b"],[7882,0,"e"],[7883,0,"l"],[7884,0,"{"],[7885,0,"$"],[7886,0,"\\"],[7887,0,"t"],[7888,0,"e"],[7889,0,"x"],[7890,0,"t"],[7891,0,"s"],[7892,0,"c"],[7893,0,"{"],[7894,0,"N"],[7895,0,"e"],[7896,0,"x"],[7897,0,"t"],[7898,0,"}"],[7899,0,"_"],[7900,0,"2"],[7901,0,"$"],[7902,0,"}"],[7903,0,"\n"],[7904,0,"\\"],[7905,0,"B"],[7906,0,"i"],[7907,0,"n"],[7908,0,"a"],[7909,0,"r"],[7910,0,"y"],[7911,0,"I"],[7912,0,"n"],[7913,0,"f"],[7914,0,"C"],[7915,0,"{"],[7916,0,"$"],[7917,0,"\\"],[7918,0,"m"],[7919,0,"a"],[7920,0,"t"],[7921,0,"h"],[7922,0,"i"],[7923,0,"t"],[7924,0,"{"],[7925,0,"c"],[7926,0,"t"],[7927,0,"x"],[7928,0,"}"],[7929,0,","],[7930,0,"\\"],[7931,0,","],[7932,0," "],[7933,0,"\\"],[7934,0,"m"],[7935,0,"a"],[7936,0,"t"],[7937,0,"h"],[7938,0,"s"],[7939,0,"f"],[7940,0,"{"],[7941,0,"c"],[7942,0,"u"],[7943,0,"r"],[7944,0,"s"],[7945,0,"o"],[7946,0,"r"],[7947,0,"}"],[7948,0,"("],[7949,0,"\\"],[7950,0,"l"],[7951,0,"a"],[7952,0,"n"],[7953,0,"g"],[7954,0,"l"],[7955,0,"e"],[7956,0,"\\"],[7957,0,"r"],[7958,0,"a"],[7959,0,"n"],[7960,0,"g"],[7961,0,"l"],[7962,0,"e"],[7963,0,","],[7964,0,"\\"],[7965,0,","],[7966,0," "],[7967,0,"k"],[7968,0,")"],[7969,0,"."],[7970,0,"\\"],[7971,0,"m"],[7972,0,"a"],[7973,0,"t"],[7974,0,"h"],[7975,0,"s"],[7976,0,"f"],[7977,0,"{"],[7978,0,"n"],[7979,0,"e"],[7980,0,"x"],[7981,0,"t"],[7982,0,"}"],[7983,0," "],[7984,0,"\\"],[7985,0,"e"],[7986,0,"v"],[7987,0,"a"],[7988,0,"l"],[7989,0,"t"],[7990,0,"o"],[7991,0," "],[7991,1],[7991,0,"\n"],[7992,0," "],[7993,0," "],[7994,0," "],[7995,0," "],[7996,0,"\\"],[7997,0,"m"],[7998,0,"a"],[7999,0,"t"],[8000,0,"h"],[8001,0,"s"],[8002,0,"f"],[8003,0,"{"],[8004,0,"c"],[8005,0,"u"],[8006,0,"r"],[8007,0,"s"],[8008,0,"o"],[8009,0,"r"],[8010,0,"}"],[8011,0,"("],[8012,0,"\\"],[8013,0,"l"],[8014,0,"a"],[8015,0,"n"],[8016,0,"g"],[8017,0,"l"],[8018,0,"e"],[8019,0,"\\"],[8020,0,"r"],[8021,0,"a"],[8022,0,"n"],[8023,0,"g"],[8024,0,"l"],[8025,0,"e"],[8026,0,","],[8027,0,"\\"],[8028,0,","],[8029,0," "],[8030,0,"k"],[8031,0,"'"],[8032,0,")"],[8033,0,"$"],[8034,0,"}"],[8051,0,"\n"],[8052,0,"\n"],[8053,0,"\\"],[8054,0,"b"],[8055,0,"e"],[8056,0,"g"],[8057,0,"i"],[8058,0,"n"],[8059,0,"{"],[8060,0,"p"],[8061,0,"r"],[8062,0,"o"],[8063,0,"o"],[8064,0,"f"],[8065,0,"t"],[8066,0,"r"],[8067,0,"e"],[8068,0,"e"],[8069,0,"}"],[8070,0,"\n"],[8071,0,"\\"],[8072,0,"e"],[8073,0,"n"],[8074,0,"d"],[8075,0,"{"],[8076,0,"p"],[8077,0,"r"],[8078,0,"o"],[8079,0,"o"],[8080,0,"f"],[8081,0,"t"],[8082,0,"r"],[8083,0,"e"],[8084,0,"e"],[8085,0,"}"],[8070,0,"\n"],[8071,0,"\\"],[8072,0,"A"],[8073,0,"x"],[8074,0,"i"],[8075,0,"o"],[8076,0,"m"],[8077,0,"C"],[8078,0,"{"],[8079,0,"$"],[8080,0,"k"],[8081,0,"_"],[8082,0,"1"],[8083,0," "],[8084,0,"\\"],[8085,0,"i"],[8086,0,"n"],[8087,0," "],[8088,0,"\\"],[8089,0,"m"],[8090,0,"a"],[8091,0,"t"],[8092,0,"h"],[8093,0,"r"],[8094,0,"m"],[8095,0,"{"],[8096,0,"d"],[8097,0,"o"],[8098,0,"m"],[8099,0,"}"],[8100,0,"("],[8101,0,"\\"],[8102,0,"m"],[8103,0,"a"],[8104,0,"t"],[8105,0,"h"],[8106,0,"i"],[8107,0,"t"],[8108,0,"{"],[8109,0,"c"],[8110,0,"t"],[8111,0,"x"],[8112,0,"}"],[8113,0,")"],[8114,0,"$"],[8115,0,"}"],[8116,0,"\n"],[8117,0,"\\"],[8118,0,"A"],[8119,0,"x"],[8120,0,"i"],[8121,0,"o"],[8122,0,"m"],[8123,0,"C"],[8124,0,"{"],[8125,0,"$"],[8126,0,"\\"],[8127,0,"m"],[8128,0,"a"],[8129,0,"t"],[8130,0,"h"],[8131,0,"i"],[8132,0,"t"],[8133,0,"{"],[8134,0,"c"],[8135,0,"t"],[8136,0,"x"],[8137,0,"}"],[8138,0,"("],[8139,0,"k"],[8140,0,"_"],[8141,0,"1"],[8142,0,")"],[8143,0,","],[8144,0,"\\"],[8145,0,","],[8146,0," "],[8147,0,"\\"],[8148,0,"m"],[8149,0,"a"],[8150,0,"t"],[8151,0,"h"],[8152,0,"s"],[8153,0,"f"],[8154,0,"{"],[8155,0,"}"],[8155,0,"c"],[8156,0,"u"],[8157,0,"r"],[8158,0,"s"],[8159,0,"o"],[8160,0,"r"],[8162,0,"("],[8163,0,"\\"],[8164,0,"l"],[8165,0,"a"],[8166,0,"n"],[8167,0,"g"],[8168,0,"l"],[8169,0,"e"],[8170,0," "],[8171,0,"k"],[8172,0,"_"],[8173,0,"2"],[8174,0,","],[8175,0," "],[8176,0,"\\"],[8177,0,"d"],[8178,0,"o"],[8179,0,"t"],[8180,0,"s"],[8181,0,","],[8182,0," "],[8183,0,"k"],[8184,0,"_"],[8185,0,"{"],[8186,0,"n"],[8187,0,"-"],[8188,0,"1"],[8189,0,"}"],[8190,0," "],[8191,0,"\\"],[8192,0,"r"],[8193,0,"a"],[8194,0,"n"],[8195,0,"g"],[8196,0,"l"],[8197,0,"e"],[8198,0,","],[8199,0,"\\"],[8200,0,","],[8201,0," "],[8202,0,"k"],[8203,0,"_"],[8204,0,"n"],[8205,0,")"],[8206,0,"."],[8207,0,"\\"],[8208,0,"m"],[8209,0,"a"],[8210,0,"t"],[8211,0,"h"],[8212,0,"s"],[8213,0,"f"],[8214,0,"{"],[8215,0,"n"],[8216,0,"e"],[8217,0,"x"],[8218,0,"t"],[8219,0,"}"],[8220,0," "],[8221,0,"\\"],[8222,0,"e"],[8223,0,"v"],[8224,0,"a"],[8224,1],[8223,1],[8222,1],[8221,1],[8220,1],[8220,0,"\n"],[8221,0," "],[8222,0," "],[8223,0," "],[8224,0," "],[8225,0,"'"],[8226,0,"e"],[8226,1],[8225,1],[8225,0,"\\"],[8226,0,"e"],[8227,0,"v"],[8228,0,"a"],[8229,0,"l"],[8230,0,"t"],[8231,0,"o"],[8232,0," "],[8233,0,"\\"],[8234,0,"m"],[8235,0,"a"],[8236,0,"t"],[8237,0,"h"],[8238,0,"s"],[8239,0,"f"],[8240,0,"{"],[8241,0,"c"],[8242,0,"u"],[8243,0,"r"],[8244,0,"s"],[8245,0,"o"],[8246,0,"r"],[8247,0,"}"],[8248,0,"("],[8249,0,"\\"],[8250,0,"l"],[8251,0,"a"],[8252,0,"n"],[8253,0,"g"],[8254,0,"l"],[8255,0,"e"],[8256,0," "],[8257,0,"k"],[8258,0,"_"],[8259,0,"2"],[8260,0,","],[8261,0," "],[8262,0,"\\"],[8263,0,"d"],[8264,0,"o"],[8265,0,"t"],[8266,0,"s"],[8267,0,","],[8268,0," "],[8269,0,"k"],[8270,0,"_"],[8271,0,"{"],[8272,0,"n"],[8273,0,"-"],[8274,0,"1"],[8275,0,"}"],[8276,0," "],[8277,0,"\\"],[8278,0,"r"],[8279,0,"a"],[8280,0,"n"],[8281,0,"g"],[8282,0,"l"],[8283,0,"e"],[8284,0,","],[8285,0,"\\"],[8286,0,","],[8287,0," "],[8288,0,"k"],[8289,0,"_"],[8290,0,"n"],[8291,0,"'"],[8292,0,")"],[8293,0,"$"],[8294,0,"}"],[8295,0,"\n"],[8296,0,"\\"],[8297,0,"L"],[8298,0,"e"],[8299,0,"f"],[8300,0,"t"],[8301,0,"L"],[8302,0,"a"],[8303,0,"b"],[8304,0,"e"],[8305,0,"l"],[8306,0,"{"],[8307,0,"$"],[8308,0,"\\"],[8309,0,"t"],[8310,0,"e"],[8311,0,"x"],[8312,0,"t"],[8313,0,"s"],[8314,0,"c"],[8315,0,"{"],[8316,0,"N"],[8317,0,"e"],[8318,0,"x"],[8319,0,"t"],[8320,0,"}"],[8321,0,"_"],[8322,0,"3"],[8323,0,"$"],[8324,0,"}"],[8325,0,"\n"],[8326,0,"\\"],[8327,0,"B"],[8328,0,"i"],[8329,0,"n"],[8330,0,"a"],[8331,0,"r"],[8332,0,"y"],[8333,0,"I"],[8334,0,"n"],[8335,0,"f"],[8336,0,"C"],[8337,0,"{"],[8338,0,"%"],[8339,0,"$"],[8339,1],[8338,1],[8338,0,"%"],[8338,1],[8338,0,"$"],[8339,0,"\\"],[8340,0,"m"],[8341,0,"a"],[8342,0,"t"],[8343,0,"h"],[8344,0,"i"],[8345,0,"t"],[8346,0,"{"],[8347,0,"c"],[8348,0,"t"],[8349,0,"x"],[8350,0,"}"],[8351,0,","],[8352,0,"\\"],[8353,0,","],[8354,0," "],[8355,0,"\\"],[8356,0,"m"],[8357,0,"a"],[8358,0,"t"],[8359,0,"h"],[8360,0,"s"],[8361,0,"f"],[8362,0,"{"],[8363,0,"c"],[8364,0,"u"],[8365,0,"r"],[8366,0,"s"],[8367,0,"o"],[8368,0,"r"],[8369,0,"}"],[8370,0,"("],[8371,0,"\\"],[8372,0,"l"],[8373,0,"a"],[8374,0,"n"],[8375,0,"g"],[8376,0,"l"],[8377,0,"e"],[8378,0," "],[8379,0,"k"],[8380,0,"_"],[8381,0,"1"],[8382,0,","],[8383,0," "],[8384,0,"k"],[8385,0,"_"],[8386,0,"2"],[8387,0,","],[8388,0," "],[8389,0,"\\"],[8390,0,"d"],[8391,0,"o"],[8392,0,"t"],[8393,0,"s"],[8394,0,","],[8395,0," "],[8396,0,"k"],[8397,0,"{"],[8397,1],[8397,0,"_"],[8398,0,"{"],[8399,0,"n"],[8400,0,"-"],[8401,0,"1"],[8402,0,"}"],[8403,0," "],[8404,0,"\\"],[8405,0,"r"],[8406,0,"a"],[8407,0,"n"],[8408,0,"g"],[8409,0,"l"],[8410,0,"e"],[8411,0,","],[8412,0,"\\"],[8413,0,","],[8414,0," "],[8415,0,"k"],[8416,0,"_"],[8417,0,"n"],[8418,0,")"],[8419,0,"\\"],[8420,0,"."],[8420,1],[8419,1],[8419,0,"."],[8420,0,"\\"],[8421,0,"m"],[8422,0,"a"],[8423,0,"t"],[8424,0,"h"],[8425,0,"s"],[8426,0,"f"],[8427,0,"{"],[8428,0,"n"],[8429,0,"e"],[8430,0,"x"],[8431,0,"t"],[8432,0,"}"],[8433,0,"\n"],[8434,0," "],[8435,0," "],[8436,0," "],[8437,0," "],[8438,0,"\\"],[8439,0,"e"],[8440,0,"v"],[8441,0,"a"],[8442,0,"l"],[8443,0,"t"],[8444,0,"o"],[8445,0," "],[8446,0,"\\"],[8447,0,"m"],[8448,0,"a"],[8449,0,"t"],[8450,0,"h"],[8451,0,"s"],[8452,0,"f"],[8453,0,"{"],[8454,0,"c"],[8455,0,"u"],[8456,0,"r"],[8457,0,"s"],[8458,0,"o"],[8459,0,"r"],[8460,0,"}"],[8461,0,"("],[8462,0,"\\"],[8463,0,"l"],[8464,0,"a"],[8465,0,"n"],[8466,0,"g"],[8467,0,"l"],[8468,0,"e"],[8469,0," "],[8470,0,"k"],[8471,0,"_"],[8472,0,"1"],[8473,0,","],[8474,0," "],[8475,0,"k"],[8476,0,"_"],[8477,0,"2"],[8478,0,","],[8479,0," "],[8480,0,"\\"],[8481,0,"d"],[8482,0,"o"],[8483,0,"t"],[8484,0,"s"],[8485,0,","],[8486,0," "],[8487,0,"k"],[8488,0,"_"],[8489,0,"{"],[8490,0,"n"],[8491,0,"-"],[8492,0,"1"],[8493,0,"}"],[8494,0," "],[8495,0,"\\"],[8496,0,"r"],[8497,0,"a"],[8498,0,"n"],[8499,0,"g"],[8500,0,"l"],[8501,0,"e"],[8502,0,","],[8503,0,"\\"],[8504,0,","],[8505,0," "],[8506,0,"k"],[8507,0,"_"],[8508,0,"n"],[8509,0,"'"],[8510,0,")"],[8511,0,"$"],[8512,0,"}"],[7508,1],[7507,1],[7506,1],[7505,1],[7504,1],[7503,1],[7502,1],[7501,1],[7500,1],[7500,0,"c"],[7501,0,"e"],[7502,0,"n"],[7503,0,"t"],[7504,0,"e"],[7505,0,"r"],[7730,0,"%"],[7747,0,"%"],[7749,0,"%"],[8050,1],[8049,1],[8048,1],[8047,1],[8046,1],[8045,1],[8044,1],[8043,1],[8042,1],[8041,1],[8041,0,"c"],[8042,0,"e"],[8043,0,"n"],[8044,0,"t"],[8045,0,"e"],[8046,0,"r"],[8047,0,"}"],[8035,0,"\n"],[8036,0,"\\"],[8037,0,"D"],[8038,0,"i"],[8039,0,"s"],[8040,0,"p"],[8041,0,"l"],[8042,0,"a"],[8043,0,"y"],[8044,0,"P"],[8045,0,"r"],[8046,0,"o"],[8047,0,"o"],[8048,0,"f"],[8049,0,"\\"],[8050,0,"p"],[8051,0,"r"],[8052,0,"o"],[8053,0,"o"],[8054,0,"f"],[8055,0,"S"],[8056,0,"k"],[8057,0,"i"],[8058,0,"p"],[8059,0,"A"],[8060,0,"m"],[8061,0,"o"],[8062,0,"u"],[8063,0,"n"],[8064,0,"t"],[7729,0,"\n"],[7730,0,"\\"],[7731,0,"D"],[7732,0,"i"],[7733,0,"s"],[7734,0,"p"],[7735,0,"l"],[7736,0,"a"],[7737,0,"y"],[7738,0,"P"],[7739,0,"r"],[7740,0,"o"],[7741,0,"o"],[7742,0,"f"],[7743,0,"\\"],[7744,0,"q"],[7745,0,"u"],[7746,0,"a"],[7747,0,"d"],[7747,1],[7746,1],[7745,1],[7744,1],[7744,0,"h"],[7745,0,"s"],[7746,0,"p"],[7747,0,"a"],[7748,0,"c"],[7749,0,"e"],[7750,0,"{"],[7751,0,"2"],[7752,0,"e"],[7753,0,"m"],[7754,0,"}"],[7751,1],[7751,0,"1"],[7754,1],[7753,1],[7752,1],[7751,1],[7750,1],[7749,1],[7748,1],[7747,1],[7746,1],[7745,1],[7745,0,"f"],[7746,0,"i"],[7747,0,"l"],[7748,0,"l"],[7765,1],[7764,1],[7763,1],[7762,1],[7761,1],[7760,1],[7759,1],[7758,1],[7757,1],[7756,1],[7755,1],[7754,1],[7753,1],[7752,1],[7751,1],[7750,1],[7749,1],[7769,1],[7768,1],[7767,1],[7766,1],[7765,1],[7764,1],[7763,1],[7762,1],[7761,1],[7760,1],[7759,1],[7758,1],[7757,1],[7756,1],[7755,1],[7754,1],[7753,1],[7752,1],[7751,1],[5977,0,"\n"],[5978,0,"\\"],[5979,0,"b"],[5980,0,"e"],[5981,0,"g"],[5982,0,"i"],[5983,0,"n"],[5984,0,"{"],[5985,0,"f"],[5986,0,"i"],[5987,0,"g"],[5988,0,"u"],[5989,0,"r"],[5990,0,"e"],[5991,0,"}"],[5992,0,"\n"],[5993,0,"\\"],[5994,0,"e"],[5995,0,"n"],[5996,0,"d"],[5997,0,"{"],[5998,0,"f"],[5999,0,"i"],[6000,0,"g"],[6001,0,"u"],[6002,0,"r"],[6003,0,"e"],[6004,0,"}"],[6005,0,"\n"],[5992,0,"\n"],[5993,0,"\\"],[5994,0,"c"],[5995,0,"e"],[5996,0,"n"],[5997,0,"t"],[5998,0,"e"],[5999,0,"r"],[6000,0,"i"],[6001,0,"n"],[6002,0,"g"],[6003,0,"\n"],[6004,0,"\\"],[6005,0,"b"],[6006,0,"e"],[6007,0,"g"],[6008,0,"i"],[6009,0,"n"],[6010,0,"{"],[6011,0,"t"],[6012,0,"a"],[6013,0,"b"],[6014,0,"u"],[6015,0,"l"],[6016,0,"a"],[6017,0,"r"],[6018,0,"}"],[6019,0,"{"],[6020,0,"l"],[6021,0,"l"],[6022,0,"}"],[6023,0,"\n"],[6024,0,"\\"],[6025,0,"e"],[6026,0,"n"],[6027,0,"d"],[6028,0,"{"],[6029,0,"t"],[6030,0,"a"],[6031,0,"b"],[6032,0,"u"],[6033,0,"l"],[6034,0,"a"],[6035,0,"r"],[6036,0,"}"],[6037,0,"\n"],[6038,0,"\\"],[6039,0,"c"],[6040,0,"a"],[6041,0,"p"],[6042,0,"t"],[6043,0,"i"],[6044,0,"o"],[6045,0,"n"],[6046,0,"{"],[6047,0,"I"],[6048,0,"n"],[6049,0,"t"],[6050,0,"e"],[6051,0,"r"],[6052,0,"n"],[6053,0,"a"],[6054,0,"l"],[6055,0," "],[6056,0,"r"],[6057,0,"e"],[6058,0,"p"],[6059,0,"r"],[6060,0,"e"],[6061,0,"s"],[6062,0,"e"],[6063,0,"n"],[6064,0,"t"],[6065,0,"a"],[6066,0,"t"],[6067,0,"i"],[6068,0,"o"],[6069,0,"n"],[6070,0," "],[6071,0,"o"],[6072,0,"f"],[6073,0," "],[6074,0,"t"],[6075,0,"h"],[6076,0,"e"],[6077,0," "],[6078,0,"e"],[6079,0,"x"],[6080,0,"a"],[6081,0,"m"],[6082,0,"p"],[6083,0,"l"],[6084,0,"e"],[6085,0," "],[6086,0,"o"],[6087,0,"f"],[6088,0," "],[6089,0,"F"],[6090,0,"i"],[6091,0,"g"],[6092,0,"u"],[6093,0,"r"],[6094,0,"e"],[6095,0,"~"],[6096,0,"\\"],[6097,0,"r"],[6098,0,"e"],[6099,0,"f"],[6100,0,"{"],[6101,0,"f"],[6102,0,"i"],[6103,0,"g"],[6104,0,":"],[6105,0,"m"],[6106,0,"a"],[6107,0,"k"],[6108,0,"e"],[6109,0,"-"],[6110,0,"d"],[6111,0,"o"],[6112,0,"c"],[6113,0,"}"],[6114,0,"."],[6115,0,"}"],[6116,0,"\\"],[6117,0,"l"],[6118,0,"a"],[6119,0,"b"],[6120,0,"e"],[6121,0,"l"],[6122,0,"{"],[6123,0,"f"],[6124,0,"i"],[6125,0,"g"],[6126,0,":"],[6127,0,"s"],[6128,0,"t"],[6129,0,"a"],[6130,0,"t"],[6131,0,"e"],[6132,0,"-"],[6133,0,"e"],[6134,0,"x"],[6135,0,"a"],[6136,0,"m"],[6137,0,"p"],[6138,0,"l"],[6139,0,"e"],[6140,0,"}"],[6023,0,"\n"],[6003,0,"\n"],[6003,1],[6003,0," "],[6004,0,"\\"],[6005,0,"["],[6020,1],[6019,1],[6018,1],[6017,1],[6016,1],[6015,1],[6014,1],[6014,0,"a"],[6015,0,"r"],[6016,0,"r"],[6017,0,"a"],[6018,0,"y"],[6037,1],[6036,1],[6035,1],[6034,1],[6033,1],[6032,1],[6031,1],[6031,0,"a"],[6032,0,"r"],[6033,0,"r"],[6034,0,"a"],[6035,0,"y"],[6037,0," "],[6038,0,"\\"],[6039,0,"]"],[6025,0,"A"],[6026,0,"_"],[6027,0,"p"],[6028,0," "],[6029,0,"="],[6030,0," "],[6031,0,"{"],[6032,0,"\\"],[6033,0,";"],[6034,0," "],[6035,0,"&"],[6036,0," "],[6037,0,"\\"],[6038,0,"m"],[6039,0,"a"],[6040,0,"t"],[6041,0,"h"],[6042,0,"s"],[6043,0,"f"],[6044,0,"{"],[6045,0,"d"],[6046,0,"o"],[6046,1],[6045,1],[6045,0,"m"],[6046,0,"a"],[6047,0,"p"],[6048,0,"T"],[6049,0,"}"],[6050,0,"("],[6051,0,"\\"],[6052,0,"m"],[6053,0,"a"],[6054,0,"t"],[6055,0,"h"],[6056,0,"s"],[6057,0,"f"],[6058,0,"{"],[6059,0,"d"],[6060,0,"o"],[6061,0,"c"],[6062,0,"}"],[6063,0,")"],[6064,0," "],[6065,0,"\\"],[6066,0,"m"],[6067,0,"a"],[6068,0,"p"],[6069,0,"s"],[6070,0,"t"],[6071,0,"o"],[6072,0," "],[6073,0,"{"],[6031,0,"\\"],[6074,0,"\\"],[6141,1],[6140,1],[6140,0,"d"],[6141,0,"o"],[6142,0,"c"],[6143,0,"u"],[6144,0,"m"],[6145,0,"e"],[6146,0,"n"],[6147,0,"t"],[6148,0," "],[6149,0,"i"],[6150,0,"n"],[6150,1],[6149,1],[6149,0,"f"],[6150,0,"r"],[6151,0,"o"],[6152,0,"m"],[6076,0," "],[6077,0,"\\"],[6078,0,"m"],[6079,0,"a"],[6080,0,"t"],[6081,0,"h"],[6082,0,"s"],[6083,0,"f"],[6084,0,"{"],[6085,0,"l"],[6086,0,"i"],[6087,0,"s"],[6088,0,"t"],[6089,0,"T"],[6090,0,"}"],[6091,0,"("],[6092,0,"\\"],[6093,0,"v"],[6094,0,"e"],[6095,0,"r"],[6096,0,"b"],[6097,0,"\""],[6097,1],[6097,0,"|"],[6098,0,"\""],[6099,0,"s"],[6100,0,"h"],[6101,0,"o"],[6102,0,"p"],[6103,0,"p"],[6104,0,"i"],[6105,0,"n"],[6106,0,"g"],[6107,0,"\""],[6108,0,"|"],[6109,0,")"],[6110,0," "],[6111,0,"\\"],[6112,0,"m"],[6113,0,"a"],[6114,0,"p"],[6115,0,"s"],[6116,0,"t"],[6117,0,"o"],[6118,0," "],[6119,0,"\\"],[6120,0,"{"],[6121,0,"\\"],[6122,0,"\\"],[6121,0," "],[6076,0,"\\"],[6077,0,";"],[6023,1],[6022,1],[6021,1],[6020,1],[6019,1],[6018,1],[6017,1],[6016,1],[6015,1],[6014,1],[6013,1],[6012,1],[6011,1],[6010,1],[6009,1],[6008,1],[6007,1],[6006,1],[6119,1],[6118,1],[6117,1],[6116,1],[6115,1],[6114,1],[6113,1],[6112,1],[6111,1],[6110,1],[6109,1],[6109,0,"\\"],[6110,0,"m"],[6111,0,"a"],[6112,0,"t"],[6113,0,"h"],[6114,0,"s"],[6115,0,"f"],[6116,0,"{"],[6117,0,"n"],[6118,0,"e"],[6119,0,"x"],[6120,0,"t"],[6121,0,"}"],[6122,0,"("],[6123,0,"\\"],[6124,0,"m"],[6125,0,"a"],[6126,0,"t"],[6127,0,"h"],[6128,0,"i"],[6129,0,"t"],[6130,0,"{"],[6131,0,"i"],[6132,0,"d"],[6133,0,"}"],[6134,0,"-"],[6134,1],[6134,0,"_"],[6135,0,"3"],[6136,0,")"],[6137,0," "],[6138,0,"\\"],[6139,0,"m"],[6140,0,"a"],[6141,0,"p"],[6142,0,"s"],[6143,0,"t"],[6144,0,"o"],[6145,0," "],[6123,0,"\\"],[6124,0,"m"],[6125,0,"a"],[6126,0,"t"],[6127,0,"h"],[6128,0,"s"],[6129,0,"f"],[6130,0,"{"],[6131,0,"h"],[6132,0,"e"],[6133,0,"a"],[6134,0,"d"],[6135,0,"}"],[6136,0,")"],[6137,0," "],[6138,0,"\\"],[6139,0,"m"],[6140,0,"a"],[6141,0,"p"],[6142,0,"s"],[6143,0,"t"],[6144,0,"o"],[6145,0," "],[6168,1],[6167,1],[6166,1],[6165,1],[6164,1],[6163,1],[6162,1],[6161,1],[6160,1],[6159,1],[6158,1],[6158,0,"3"],[6159,0," "],[6160,0,"\\"],[6161,0,"\\"],[6162,0,"\n"],[6163,0,"\\"],[6164,0,"m"],[6165,0,"a"],[6166,0,"t"],[6167,0,"h"],[6168,0,"s"],[6169,0,"f"],[6170,0,"{"],[6171,0,"n"],[6172,0,"e"],[6173,0,"x"],[6174,0,"t"],[6175,0,"}"],[6176,0,"("],[6177,0,"\\"],[6178,0,"m"],[6179,0,"a"],[6180,0,"t"],[6181,0,"h"],[6182,0,"i"],[6183,0,"t"],[6184,0,"{"],[6185,0,"i"],[6186,0,"d"],[6187,0,"}"],[6188,0,"_"],[6189,0,"2"],[6190,0,"3"],[6190,1],[6189,1],[6189,0,"3"],[6190,0,")"],[6191,0," "],[6192,0,"\\"],[6193,0,"m"],[6194,0,"a"],[6195,0,"p"],[6196,0,"s"],[6197,0,"t"],[6198,0,"o"],[6199,0," "],[6200,0,"\\"],[6201,0,"m"],[6202,0,"a"],[6203,0,"t"],[6204,0,"h"],[6205,0,"i"],[6206,0,"t"],[6207,0,"{"],[6208,0,"i"],[6209,0,"d"],[6210,0,"_"],[6211,0,"1"],[6212,0,"}"],[6213,0," "],[6214,0,"\\"],[6215,0,"\\"],[6216,0,"\n"],[6217,0,"\\"],[6218,0,"m"],[6219,0,"a"],[6220,0,"t"],[6221,0,"h"],[6222,0,"s"],[6223,0,"f"],[6224,0,"{"],[6225,0,"n"],[6226,0,"e"],[6227,0,"x"],[6228,0,"t"],[6229,0,"}"],[6230,0,"("],[6231,0,"m"],[6231,1],[6231,0,"\\"],[6232,0,"m"],[6233,0,"a"],[6234,0,"t"],[6235,0,"h"],[6236,0,"i"],[6237,0,"t"],[6238,0,"{"],[6239,0,"i"],[6240,0,"d"],[6241,0,"_"],[6242,0,"1"],[6243,0,"}"],[6243,1],[6241,0,"}"],[6244,0,")"],[6245,0," "],[6246,0,"\\"],[6247,0,"m"],[6248,0,"a"],[6249,0,"p"],[6250,0,"s"],[6251,0,"t"],[6252,0,"o"],[6253,0," "],[6254,0,"\\"],[6255,0,"m"],[6256,0,"n"],[6257,0,"a"],[6257,1],[6256,1],[6256,0,"a"],[6257,0,"t"],[6258,0,"h"],[6259,0,"i"],[6260,0,"t"],[6261,0,"{"],[6262,0,"i"],[6263,0,"d"],[6264,0,"_"],[6265,0,"2"],[6266,0,"}"],[6267,0," "],[6268,0,"\\"],[6269,0,"\\"],[6270,0,"\n"],[6271,0,"\\"],[6272,0,"m"],[6273,0,"a"],[6274,0,"t"],[6275,0,"h"],[6276,0,"s"],[6277,0,"f"],[6278,0,"{"],[6279,0,"n"],[6280,0,"e"],[6281,0,"x"],[6282,0,"t"],[6283,0,"}"],[6284,0,"("],[6285,0,"\\"],[6286,0,"m"],[6287,0,"a"],[6288,0,"t"],[6289,0,"h"],[6290,0,"i"],[6291,0,"t"],[6292,0,"{"],[6293,0,"i"],[6294,0,"d"],[6295,0,"}"],[6296,0,"_"],[6297,0,"2"],[6298,0,")"],[6299,0," "],[6300,0,"\\"],[6301,0,"m"],[6302,0,"a"],[6303,0,"p"],[6304,0,"s"],[6305,0,"t"],[6306,0,"o"],[6307,0," "],[6308,0,"\\"],[6309,0,"m"],[6310,0,"a"],[6311,0,"t"],[6312,0,"h"],[6313,0,"s"],[6314,0,"f"],[6315,0,"{"],[6316,0,"t"],[6317,0,"a"],[6318,0,"i"],[6319,0,"l"],[6320,0,"}"],[6019,1],[6018,1],[6006,0," "],[6007,0,"\\"],[6008,0,"b"],[6009,0,"e"],[6010,0,"g"],[6011,0,"i"],[6012,0,"n"],[6013,0,"{"],[6014,0,"a"],[6015,0,"l"],[6016,0,"i"],[6017,0,"g"],[6018,0,"n"],[6019,0,"a"],[6020,0,"t"],[6021,0,"*"],[6022,0,"}"],[6023,0,"{"],[6024,0,"2"],[6025,0,"}"],[6066,0,"&"],[6067,0," "],[6129,0,"&"],[6130,0," "],[6185,0,"&"],[6186,0," "],[6241,0,"&"],[6242,0," "],[6297,0,"&"],[6298,0," "],[6349,0," "],[6350,0,"\\"],[6351,0,"e"],[6352,0,"n"],[6353,0,"d"],[6354,0,"{"],[6355,0,"a"],[6356,0,"l"],[6357,0,"i"],[6358,0,"g"],[6359,0,"n"],[6360,0,"a"],[6361,0,"t"],[6362,0,"*"],[6363,0,"}"],[6349,1],[6349,0,"\n"],[6366,1],[6365,1],[6364,1],[6006,1],[6005,1],[6004,1],[6030,0,"&"],[6031,0," "],[6128,0,"&"],[6185,0,"&"],[6242,0,"&"],[6299,0,"&"],[6367,0," "],[6368,0,"\\"],[6369,0,"]"],[6003,0," "],[6004,0,"\\"],[6005,0,"["],[6030,0," "],[6031,0,"&"],[6035,1],[6035,1],[6005,1],[6005,0,"b"],[6006,0,"e"],[6007,0,"g"],[6008,0,"i"],[6009,0,"n"],[6010,0,"{"],[6011,0,"e"],[6012,0,"q"],[6013,0,"u"],[6014,0,"a"],[6015,0,"t"],[6016,0,"i"],[6017,0,"o"],[6018,0,"n"],[6019,0,"*"],[6020,0,"}"],[6021,1],[6386,1],[6385,1],[6384,1],[6383,1],[6383,0,"\\"],[6384,0,"e"],[6385,0,"n"],[6386,0,"d"],[6387,0,"{"],[6388,0,"e"],[6389,0,"q"],[6390,0,"u"],[6391,0,"a"],[6392,0,"t"],[6393,0,"i"],[6394,0,"o"],[6395,0,"n"],[6396,0,"*"],[6397,0,"}"],[6383,0,"}"],[6083,0,"&"],[6146,0,"&"],[6204,0,"&"],[6262,0,"&"],[6320,0,"&"],[6146,0,"%"],[6205,0,"%"],[6264,0,"%"],[6323,0,"%"],[6041,0,"%"],[6020,1],[6019,1],[6018,1],[6017,1],[6016,1],[6015,1],[6014,1],[6013,1],[6012,1],[6011,1],[6010,1],[6009,1],[6008,1],[6007,1],[6006,1],[6005,1],[6004,1],[6391,1],[6390,1],[6389,1],[6388,1],[6387,1],[6386,1],[6385,1],[6384,1],[6383,1],[6382,1],[6381,1],[6380,1],[6379,1],[6378,1],[6377,1],[6024,1],[6129,1],[6187,1],[6245,1],[6303,1],[6081,0,"%"],[6081,0,"\\"],[6082,0,"\\"],[6067,1],[6066,1],[6065,1],[6050,0,"&"],[6051,0,"&"],[6064,0,"f"],[6065,0,"f"],[6066,0,"f"],[6067,0,"f"],[6068,0,"f"],[6068,1],[6067,1],[6066,1],[6065,1],[6064,1],[6082,1],[6081,1],[6080,1],[6079,1],[6079,0," "],[6101,1],[6100,1],[6099,1],[6098,1],[6097,1],[6096,1],[6096,0,"m"],[6097,0,"a"],[6098,0,"t"],[6099,0,"h"],[6100,0,"s"],[6101,0,"f"],[6102,0,"{"],[6103,0,"`"],[6104,0,"`"],[6114,1],[6113,1],[6113,0,"'"],[6114,0,"'"],[6115,0,"}"],[6101,1],[6100,1],[6099,1],[6098,1],[6097,1],[6096,1],[6096,0,"t"],[6097,0,"e"],[6098,0,"x"],[6099,0,"t"],[6184,0,","],[6243,0,","],[6302,0,","],[6163,0,"&"],[6164,0," "],[6224,0,"&"],[6225,0," "],[6285,0,"&"],[6286,0," "],[6346,0,"&"],[6347,0," "],[6313,1],[6252,1],[6191,1],[6130,1],[6051,1],[6050,1],[6065,0,"&"],[6066,0,"&"],[6067,0," "],[6366,0," "],[6367,0,"\\"],[6368,0,"\\"],[6369,0,"\n"],[6370,0,"&"],[6371,0," "],[6372,0,"\\"],[6373,0,"}"],[6374,0,"\\"],[6375,0,","],[6375,1],[6375,0,";"],[6376,0,"\\"],[6377,0,"}"],[6378,0,"\\"],[6379,0,";"],[6380,0,"\\"],[6381,0,"}"],[6036,0," "],[6037,0,"&"],[6067,1],[6028,1],[6028,1],[6029,0," "],[6030,0,"&"],[6038,1],[6037,1],[6050,0,"&"],[6067,1],[6066,1],[6093,0,"&"],[6029,0,"\\"],[6030,0,"l"],[6031,0,";"],[6030,1],[6065,0,"f"],[6066,0,"f"],[6067,0,"f"],[6068,0,"f"],[6069,0,"f"],[6069,1],[6068,1],[6067,1],[6066,1],[6065,1],[6081,0,"&"],[6096,1],[6191,0,"\n"],[6192,0,"&"],[6193,0,"&"],[6194,0," "],[6195,0,"\\"],[6196,0,"m"],[6197,0,"a"],[6198,0,"t"],[6199,0,"h"],[6200,0,"s"],[6201,0,"f"],[6202,0,"{"],[6203,0,"r"],[6204,0,"e"],[6205,0,"g"],[6206,0,"T"],[6207,0,"}"],[6208,0,"("],[6209,0,"\\"],[6210,0,"m"],[6211,0,"a"],[6212,0,"t"],[6213,0,"h"],[6214,0,"i"],[6215,0,"t"],[6216,0,"{"],[6217,0,"i"],[6218,0,"d"],[6219,0,"}"],[6220,0,"_"],[6221,0,"3"],[6222,0,")"],[6223,0," "],[6224,0,"&"],[6225,0," "],[6226,0,"\\"],[6227,0,"m"],[6228,0,"a"],[6229,0,"p"],[6230,0,"s"],[6231,0,"t"],[6232,0,"o"],[6233,0," "],[6234,0,"\\"],[6235,0,"{"],[6236,0,"\\"],[6237,0,","],[6238,0,"\\"],[6239,0,"m"],[6240,0,"a"],[6241,0,"t"],[6242,0,"h"],[6243,0,"s"],[6244,0,"f"],[6245,0,"{"],[6246,0,"o"],[6247,0,"p"],[6248,0,"}"],[6249,0,"("],[6250,0,"\\"],[6251,0,"m"],[6252,0,"a"],[6253,0,"t"],[6254,0,"h"],[6255,0,"i"],[6256,0,"t"],[6256,1],[6255,1],[6255,0,"s"],[6256,0,"f"],[6257,0,"{"],[6258,0,"i"],[6259,0,"d"],[6260,0,"}"],[6261,0,":"],[6262,0," "],[6263,0,"\\"],[6264,0,"m"],[6265,0,"a"],[6266,0,"t"],[6267,0,"h"],[6268,0,"i"],[6269,0,"t"],[6270,0,"{"],[6271,0,"i"],[6272,0,"d"],[6273,0,"}"],[6274,0,"_"],[6275,0,"3"],[6276,0,","],[6277,0," "],[6278,0,"\\"],[6279,0,"m"],[6280,0,"a"],[6281,0,"t"],[6282,0,"h"],[6283,0,"s"],[6284,0,"f"],[6285,0,"{"],[6286,0,"v"],[6287,0,"a"],[6288,0,"l"],[6289,0,"u"],[6290,0,"e"],[6291,0,"}"],[6292,0,":"],[6293,0," "],[6294,0,"\\"],[6295,0,"t"],[6296,0,"e"],[6297,0,"x"],[6298,0,"t"],[6299,0,"{"],[6300,0,"`"],[6301,0,"`"],[6302,0,"c"],[6303,0,"h"],[6304,0,"e"],[6305,0,"e"],[6306,0,"s"],[6307,0,"e"],[6308,0,"'"],[6309,0,"'"],[6310,0,"}"],[6311,0,")"],[6312,0,"\\"],[6313,0,","],[6314,0,"\\"],[6315,0,"}"],[6233,0,"\n"],[6234,0," "],[6235,0," "],[6236,0," "],[6320,0," "],[6321,0,"\\"],[6322,0,"\\"],[6081,1],[6067,0," "],[6068,0,"&"],[6052,1],[6032,0,"&"],[6504,1],[6504,1],[6504,0,"&"],[6505,0,"&"],[6506,0," "],[6506,1],[6505,1],[6504,1],[6282,0,"\\"],[6283,0,","],[6386,0,"\n"],[6387,0,"&"],[6388,0,"&"],[6389,0," "],[6390,0,"\\"],[6391,0,"m"],[6392,0,"a"],[6393,0,"t"],[6394,0,"h"],[6395,0,"s"],[6396,0,"f"],[6397,0,"{"],[6398,0,"r"],[6399,0,"e"],[6400,0,"g"],[6401,0,"T"],[6402,0,"}"],[6403,0,"("],[6404,0,"\\"],[6405,0,"m"],[6406,0,"a"],[6407,0,"t"],[6408,0,"h"],[6409,0,"i"],[6410,0,"t"],[6411,0,"{"],[6412,0,"i"],[6413,0,"d"],[6414,0,"}"],[6415,0,"_"],[6416,0,"1"],[6417,0,")"],[6418,0," "],[6419,0,"&"],[6420,0," "],[6421,0,"\\"],[6422,0,"m"],[6423,0,"a"],[6424,0,"p"],[6425,0,"s"],[6426,0,"t"],[6427,0,"o"],[6428,0," "],[6428,1],[6428,0,"\n"],[6429,0," "],[6430,0," "],[6431,0," "],[6432,0," "],[6433,0,"\\"],[6434,0,"{"],[6435,0,"\\"],[6436,0,","],[6437,0,"\\"],[6438,0,"m"],[6439,0,"a"],[6440,0,"t"],[6441,0,"h"],[6442,0,"s"],[6443,0,"f"],[6444,0,"{"],[6445,0,"o"],[6446,0,"p"],[6447,0,"}"],[6448,0,"("],[6449,0,"\\"],[6450,0,"m"],[6451,0,"a"],[6452,0,"t"],[6453,0,"h"],[6454,0,"s"],[6455,0,"f"],[6456,0,"{"],[6457,0,"i"],[6458,0,"d"],[6459,0,"}"],[6460,0,":"],[6461,0," "],[6462,0,"\\"],[6463,0,"m"],[6464,0,"a"],[6465,0,"t"],[6466,0,"h"],[6467,0,"i"],[6468,0,"t"],[6469,0,"{"],[6470,0,"i"],[6471,0,"d"],[6472,0,"}"],[6473,0,"_"],[6474,0,"1"],[6475,0,","],[6476,0,"\\"],[6477,0,","],[6478,0," "],[6479,0,"\\"],[6480,0,"m"],[6481,0,"a"],[6482,0,"t"],[6483,0,"h"],[6484,0,"s"],[6485,0,"f"],[6486,0,"{"],[6487,0,"v"],[6488,0,"a"],[6489,0,"l"],[6490,0,"u"],[6491,0,"e"],[6492,0,"}"],[6493,0,":"],[6494,0," "],[6495,0,"\\"],[6496,0,"t"],[6497,0,"e"],[6498,0,"x"],[6499,0,"t"],[6500,0,"{"],[6501,0,"`"],[6502,0,"`"],[6503,0,"e"],[6504,0,"g"],[6505,0,"g"],[6506,0,"s"],[6507,0,"'"],[6508,0,"'"],[6509,0,"}"],[6510,0,")"],[6511,0,","],[6512,0,"\\"],[6513,0,","],[6514,0,"\\"],[6515,0,"}"],[6516,0," "],[6517,0,"\\"],[6518,0,"\\"],[6579,0,"\n"],[6580,0,"&"],[6581,0,"&"],[6582,0," "],[6583,0,"\\"],[6584,0,"m"],[6585,0,"a"],[6586,0,"t"],[6587,0,"h"],[6588,0,"s"],[6589,0,"f"],[6590,0,"{"],[6591,0,"r"],[6592,0,"e"],[6593,0,"g"],[6594,0,"T"],[6595,0,"}"],[6596,0,"("],[6597,0,"\\"],[6598,0,"m"],[6599,0,"a"],[6600,0,"t"],[6601,0,"h"],[6602,0,"i"],[6603,0,"t"],[6604,0,"{"],[6605,0,"i"],[6606,0,"d"],[6607,0,"_"],[6607,1],[6607,0,"}"],[6608,0,"_"],[6609,0,"2"],[6610,0,")"],[6611,0," "],[6612,0,"&"],[6613,0," "],[6614,0,"\\"],[6615,0,"m"],[6616,0,"a"],[6617,0,"p"],[6618,0,"s"],[6619,0,"t"],[6620,0,"o"],[6621,0," "],[6622,0,"'"],[6622,1],[6621,1],[6621,0,"\n"],[6622,0," "],[6623,0," "],[6624,0," "],[6625,0," "],[6626,0,"\\"],[6627,0,"{"],[6628,0,"\\"],[6629,0,","],[6630,0,"\\"],[6631,0,"m"],[6632,0,"a"],[6633,0,"t"],[6634,0,"h"],[6635,0,"s"],[6636,0,"f"],[6637,0,"{"],[6638,0,"o"],[6639,0,"p"],[6640,0,"}"],[6641,0,"("],[6642,0,"\\"],[6643,0,"m"],[6644,0,"a"],[6645,0,"t"],[6646,0,"h"],[6647,0,"s"],[6648,0,"f"],[6649,0,"{"],[6650,0,"i"],[6651,0,"d"],[6652,0,"}"],[6653,0,":"],[6654,0," "],[6655,0,"\\"],[6656,0,"m"],[6657,0,"n"],[6658,0,"a"],[6658,1],[6657,1],[6657,0,"a"],[6658,0,"t"],[6659,0,"h"],[6660,0,"i"],[6661,0,"t"],[6662,0,"{"],[6663,0,"i"],[6664,0,"d"],[6665,0,"}"],[6666,0,"_"],[6667,0,"2"],[6668,0,","],[6669,0,"\\"],[6670,0,","],[6671,0," "],[6672,0,"\\"],[6673,0,"m"],[6674,0,"a"],[6675,0,"t"],[6676,0,"h"],[6677,0,"s"],[6678,0,"f"],[6679,0,"{"],[6680,0,"v"],[6681,0,"a"],[6682,0,"l"],[6683,0,"u"],[6684,0,"e"],[6685,0,"}"],[6686,0,":"],[6687,0," "],[6688,0,"\\"],[6689,0,"t"],[6690,0,"e"],[6691,0,"x"],[6692,0,"t"],[6693,0,"{"],[6694,0,"`"],[6695,0,"`"],[6696,0,"m"],[6697,0,"i"],[6698,0,"l"],[6699,0,"k"],[6700,0,"'"],[6701,0,"'"],[6702,0,"}"],[6703,0,")"],[6511,1],[6703,0,"\\"],[6704,0,","],[6705,0,"\\"],[6706,0,"}"],[6707,0," "],[6708,0,"\\"],[6709,0,"\\"],[6707,0,","],[6515,0,","],[6323,0,","],[9590,0,"\n"],[9591,0,"\n"],[9592,0,"T"],[9593,0,"h"],[9594,0,"e"],[9595,0," "],[9596,0,"s"],[9597,0,"t"],[9598,0,"a"],[9599,0,"t"],[9600,0,"e"],[9601,0," "],[9602,0,"o"],[9603,0,"f"],[9604,0," "],[9605,0,"p"],[9606,0,"e"],[9607,0,"e"],[9608,0,"r"],[9609,0," "],[9610,0,"$"],[9611,0,"p"],[9612,0,"$"],[9613,0," "],[9614,0,"i"],[9615,0,"s"],[9616,0," "],[9617,0,"d"],[9618,0,"e"],[9619,0,"s"],[9620,0,"c"],[9621,0,"r"],[9622,0,"i"],[9623,0,"b"],[9624,0,"e"],[9625,0,"d"],[9626,0," "],[9627,0,"w"],[9628,0,"i"],[9629,0,"t"],[9630,0,"h"],[9631,0," "],[9632,0,"$"],[9633,0,"A"],[9634,0,"_"],[9635,0,"p"],[9636,0,"$"],[9637,0,","],[9638,0," "],[9639,0,"a"],[9640,0," "],[9641,0,"f"],[9642,0,"i"],[9643,0,"n"],[9644,0,"i"],[9645,0,"t"],[9646,0,"e"],[9647,0," "],[9648,0,"p"],[9649,0,"a"],[9650,0,"r"],[9651,0,"t"],[9652,0,"i"],[9653,0,"a"],[9654,0,"l"],[9655,0," "],[9656,0,"f"],[9657,0,"u"],[9658,0,"n"],[9659,0,"c"],[9660,0,"t"],[9661,0,"i"],[9662,0,"o"],[9663,0,"n"],[9664,0,"."],[9630,1],[9629,1],[9628,1],[9627,1],[9627,0,"b"],[9628,0,"y"],[9663,0," "],[9664,0,"E"],[9664,1],[9664,0,"T"],[9665,0,"h"],[9666,0,"e"],[9667,0," "],[9668,0,"s"],[9669,0,"e"],[9670,0,"m"],[9671,0,"e"],[9671,1],[9671,0,"a"],[9672,0,"n"],[9673,0,"t"],[9674,0,"i"],[9675,0,"c"],[9676,0,"s"],[9677,0," "],[9678,0,"o"],[9679,0,"f"],[9680,0," "],[9681,0,"t"],[9682,0,"h"],[9683,0,"e"],[9684,0," "],[9685,0,"c"],[9686,0,"o"],[9687,0,"m"],[9688,0,"m"],[9689,0,"a"],[9690,0,"n"],[9691,0,"d"],[9692,0," "],[9693,0,"l"],[9694,0,"a"],[9695,0,"n"],[9696,0,"g"],[9697,0,"u"],[9698,0,"a"],[9699,0,"g"],[9700,0,"e"],[9701,0," "],[9702,0,"a"],[9703,0,"r"],[9704,0,"e"],[9705,0," "],[9706,0,"d"],[9707,0,"e"],[9708,0,"f"],[9709,0,"i"],[9710,0,"n"],[9711,0,"e"],[9712,0,"d"],[9713,0," "],[9714,0,"b"],[9715,0,"y"],[9716,0," "],[9717,0,"r"],[9718,0,"u"],[9719,0,"l"],[9720,0,"e"],[9721,0,"s"],[9722,0," "],[9723,0,"t"],[9724,0,"h"],[9725,0,"a"],[9726,0,"t"],[9727,0," "],[9728,0,"i"],[9729,0,"n"],[9730,0,"s"],[9731,0,"p"],[9732,0,"e"],[9733,0,"c"],[9734,0,"t"],[9735,0," "],[9736,0,"a"],[9737,0,"n"],[9738,0,"d"],[9739,0," "],[9740,0,"m"],[9741,0,"o"],[9742,0,"d"],[9743,0,"i"],[9744,0,"f"],[9745,0,"y"],[9746,0," "],[9747,0,"t"],[9748,0,"h"],[9749,0,"i"],[9750,0,"s"],[9751,0," "],[9752,0,"l"],[9753,0,"o"],[9754,0,"c"],[9755,0,"a"],[9756,0,"l"],[9757,0," "],[9758,0,"s"],[9759,0,"t"],[9760,0,"a"],[9761,0,"t"],[9762,0,"e"],[9763,0," "],[9764,0,"$"],[9765,0,"A"],[9766,0,"-"],[9767,0,"P"],[9767,1],[9766,1],[9765,1],[9765,0,"A"],[9766,0,"_"],[9767,0,"p"],[9768,0,"$"],[9769,0,","],[9770,0," "],[9771,0,"a"],[9772,0,"n"],[9773,0,"d"],[9774,0," "],[9775,0,"w"],[9776,0,"h"],[9777,0,"i"],[9778,0,"c"],[9779,0,"h"],[9780,0," "],[9781,0,"a"],[9782,0,"r"],[9783,0,"e"],[9784,0," "],[9785,0,"i"],[9786,0,"n"],[9787,0,"d"],[9788,0,"e"],[9789,0,"p"],[9790,0,"e"],[9791,0,"n"],[9792,0,"t"],[9792,1],[9792,0,"d"],[9793,0,"e"],[9794,0,"n"],[9795,0,"t"],[9796,0," "],[9797,0,"o"],[9798,0,"f"],[9799,0," "],[9800,0,"t"],[9801,0,"h"],[9802,0,"e"],[9803,0," "],[9804,0,"s"],[9805,0,"t"],[9806,0,"a"],[9807,0,"t"],[9808,0,"e"],[9809,0," "],[9810,0,"o"],[9811,0,"f"],[9812,0," "],[9812,1],[9811,1],[9810,1],[9810,0,"$"],[9811,0,"A"],[9812,0,"_"],[9813,0,"{"],[9814,0,"p"],[9815,0,"'"],[9816,0,"}"],[9817,0,"$"],[9818,0," "],[9819,0,"o"],[9820,0,"f"],[9821,0," "],[9822,0,"a"],[9823,0,"n"],[9824,0,"y"],[9825,0," "],[9826,0,"o"],[9827,0,"t"],[9828,0,"h"],[9829,0,"e"],[9830,0,"r"],[9831,0," "],[9832,0,"p"],[9833,0,"e"],[9834,0,"e"],[9835,0,"r"],[9836,0," "],[9837,0,"$"],[9838,0,"p"],[9839,0,"'"],[9840,0,"$"],[9841,0,"."],[9842,0," "],[9843,0,"T"],[9844,0,"h"],[9845,0,"e"],[9846,0," "],[9847,0,"o"],[9848,0,"n"],[9849,0,"l"],[9850,0,"y"],[9851,0," "],[9852,0,"c"],[9853,0,"o"],[9854,0,"m"],[9855,0,"m"],[9856,0,"u"],[9857,0,"n"],[9858,0,"i"],[9859,0,"c"],[9860,0,"a"],[9861,0,"t"],[9862,0,"i"],[9863,0,"o"],[9864,0,"n"],[9865,0," "],[9866,0,"p"],[9867,0,"e"],[9867,1],[9866,1],[9866,0,"b"],[9867,0,"e"],[9868,0,"t"],[9869,0,"w"],[9870,0,"e"],[9871,0,"e"],[9872,0,"n"],[9873,0," "],[9874,0,"p"],[9875,0,"e"],[9876,0,"e"],[9877,0,"r"],[9878,0,"s"],[9879,0," "],[9880,0,"o"],[9881,0,"c"],[9882,0,"c"],[9883,0,"u"],[9884,0,"r"],[9885,0,"s"],[9886,0," "],[9887,0,"i"],[9888,0,"n"],[9889,0," "],[9890,0,"t"],[9891,0,"h"],[9892,0,"e"],[9893,0," "],[9894,0,"e"],[9895,0,"v"],[9896,0,"a"],[9897,0,"l"],[9898,0,"u"],[9899,0,"a"],[9900,0,"t"],[9901,0,"i"],[9902,0,"o"],[9903,0,"n"],[9904,0," "],[9905,0,"o"],[9906,0,"f"],[9907,0," "],[9908,0,"t"],[9909,0,"h"],[9910,0,"e"],[9911,0," "],[9912,0,"\\"],[9913,0,"t"],[9914,0,"e"],[9915,0,"x"],[9916,0,"t"],[9917,0,"s"],[9918,0,"f"],[9919,0,"{"],[9920,0,"y"],[9921,0,"i"],[9922,0,"e"],[9923,0,"l"],[9924,0,"d"],[9925,0,"}"],[9926,0," "],[9927,0,"c"],[9928,0,"o"],[9929,0,"m"],[9930,0,"m"],[9931,0,"a"],[9932,0,"n"],[9933,0,"d"],[9934,0,","],[9935,0," "],[9936,0,"w"],[9937,0,"h"],[9938,0,"i"],[9939,0,"c"],[9940,0,"h"],[9941,0," "],[9942,0,"w"],[9943,0,"e"],[9944,0," "],[9945,0,"d"],[9946,0,"i"],[9947,0,"s"],[9948,0,"c"],[9949,0,"u"],[9950,0,"s"],[9951,0,"s"],[9952,0," "],[9953,0,"l"],[9954,0,"a"],[9955,0,"t"],[9956,0,"e"],[9957,0,"r"],[9958,0,"."],[9959,0," "],[9960,0,"F"],[9961,0,"o"],[9962,0,"r"],[9963,0," "],[9964,0,"n"],[9965,0,"o"],[9966,0,"w"],[9967,0," "],[9967,1],[9967,0,","],[9968,0," "],[9969,0,"w"],[9970,0,"e"],[9971,0," "],[9972,0,"c"],[9973,0,"o"],[9974,0,"n"],[9975,0,"c"],[9976,0,"e"],[9977,0,"n"],[9978,0,"t"],[9979,0,"r"],[9980,0,"a"],[9981,0,"t"],[9982,0,"e"],[9983,0," "],[9984,0,"o"],[9985,0,"n"],[9986,0," "],[9987,0,"t"],[9988,0,"h"],[9989,0,"e"],[9990,0," "],[9991,0,"e"],[9992,0,"x"],[9993,0,"e"],[9994,0,"c"],[9995,0,"u"],[9996,0,"t"],[9997,0,"i"],[9998,0,"o"],[9999,0,"n"],[10000,0," "],[10001,0,"o"],[10002,0,"f"],[10003,0," "],[10004,0,"c"],[10005,0,"o"],[10006,0,"m"],[10007,0,"m"],[10008,0,"a"],[10009,0,"n"],[10010,0,"d"],[10011,0,"s"],[10012,0," "],[10013,0,"a"],[10014,0,"t"],[10015,0," "],[10016,0,"a"],[10017,0," "],[10018,0,"s"],[10019,0,"i"],[10020,0,"n"],[10021,0,"g"],[10022,0,"l"],[10023,0,"e"],[10024,0," "],[10025,0,"p"],[10026,0,"e"],[10027,0,"e"],[10028,0,"r"],[10029,0," "],[10030,0,"$"],[10031,0,"p"],[10032,0,"$"],[10033,0,"."],[10034,0,"\n"],[10035,0,"\n"],[10036,0,"A"],[10037,0,"n"],[10038,0," "],[10039,0,"i"],[10040,0,"l"],[10041,0,"l"],[10042,0,"u"],[10043,0,"s"],[10044,0,"t"],[10045,0,"r"],[10046,0,"a"],[10047,0,"t"],[10048,0,"i"],[10049,0,"v"],[10050,0,"e"],[10051,0," "],[10052,0,"e"],[10053,0,"x"],[10054,0,"a"],[10055,0,"m"],[10056,0,"p"],[10057,0,"l"],[10058,0,"e"],[10059,0," "],[10060,0,"o"],[10061,0,"f"],[10062,0," "],[10063,0,"t"],[10064,0,"h"],[10065,0,"e"],[10066,0," "],[10067,0,"p"],[10068,0,"e"],[10069,0,"e"],[10070,0,"r"],[10071,0," "],[10072,0,"s"],[10073,0,"t"],[10074,0,"a"],[10075,0,"t"],[10076,0,"e"],[10077,0," "],[10078,0,"$"],[10079,0,"A"],[10080,0,"_"],[10081,0,"p"],[10082,0,"$"],[10083,0," "],[10084,0,"i"],[10085,0,"s"],[10086,0," "],[10087,0,"g"],[10088,0,"i"],[10089,0,"v"],[10090,0,"e"],[10091,0,"n"],[10092,0," "],[10093,0,"i"],[10094,0,"n"],[10095,0," "],[10096,0,"F"],[10097,0,"i"],[10098,0,"g"],[10099,0,"u"],[10100,0,"r"],[10101,0,"e"],[10102,0,"~"],[10103,0,"\\"],[10104,0,"r"],[10105,0,"e"],[10106,0,"f"],[10107,0,"{"],[10108,0,"f"],[10109,0,"i"],[10110,0,"g"],[10111,0,":"],[10112,0,"s"],[10113,0,"t"],[10114,0,"a"],[10115,0,"t"],[10116,0,"e"],[10117,0,"-"],[10118,0,"e"],[10119,0,"x"],[10120,0,"a"],[10121,0,"m"],[10122,0,"p"],[10123,0,"l"],[10124,0,"e"],[10125,0,"}"],[10126,0,","],[10127,0," "],[10128,0,"w"],[10129,0,"h"],[10130,0,"i"],[10131,0,"c"],[10132,0,"h"],[10133,0," "],[10134,0,"c"],[10135,0,"o"],[10136,0,"r"],[10137,0,"r"],[10138,0,"e"],[10139,0,"s"],[10140,0,"p"],[10141,0,"o"],[10142,0,"n"],[10143,0,"d"],[10144,0,"s"],[10145,0," "],[10146,0,"t"],[10147,0,"o"],[10148,0," "],[10149,0,"t"],[10150,0,"h"],[10151,0,"e"],[10152,0," "],[10153,0,"s"],[10154,0,"h"],[10155,0,"o"],[10156,0,"p"],[10157,0,"p"],[10158,0,"i"],[10159,0,"n"],[10160,0,"g"],[10161,0," "],[10162,0,"l"],[10163,0,"i"],[10164,0,"s"],[10165,0,"t"],[10166,0," "],[10167,0,"e"],[10168,0,"x"],[10169,0,"a"],[10170,0,"m"],[10171,0,"p"],[10172,0,"l"],[10173,0,"e"],[10174,0," "],[10175,0,"o"],[10176,0,"f"],[10177,0," "],[10178,0,"F"],[10179,0,"i"],[10180,0,"g"],[10181,0,"u"],[10182,0,"r"],[10183,0,"e"],[10184,0,"~"],[10185,0,"\\"],[10186,0,"r"],[10187,0,"e"],[10188,0,"f"],[10189,0,"{"],[10190,0,"f"],[10191,0,"i"],[10192,0,"g"],[10193,0,":"],[10194,0,"m"],[10195,0,"a"],[10196,0,"k"],[10197,0,"e"],[10198,0,"-"],[10199,0,"d"],[10200,0,"o"],[10201,0,"c"],[10202,0,"}"],[10203,0,"."],[10204,0," "],[10205,0,"I"],[10206,0,"n"],[10207,0," "],[10208,0,"F"],[10209,0,"i"],[10210,0,"g"],[10211,0,"u"],[10212,0,"r"],[10213,0,"e"],[10214,0,"~"],[10215,0,"\\"],[10216,0,"r"],[10217,0,"e"],[10218,0,"f"],[10219,0,"{"],[10220,0,"s"],[10220,1],[10220,0,"f"],[10221,0,"i"],[10222,0,"g"],[10223,0,":"],[10224,0,"s"],[10225,0,"t"],[10226,0,"a"],[10227,0,"t"],[10228,0,"e"],[10229,0,"-"],[10230,0,"e"],[10231,0,"x"],[10232,0,"a"],[10233,0,"m"],[10234,0,"p"],[10235,0,"l"],[10236,0,"e"],[10237,0,"}"],[10238,0,","],[10239,0," "],[10240,0,"$"],[10241,0,"A"],[10242,0,"_"],[10243,0,"p"],[10244,0,"$"],[10245,0," "],[10246,0,"i"],[10247,0,"s"],[10248,0," "],[10249,0,"a"],[10250,0," "],[10251,0,"p"],[10252,0,"a"],[10253,0,"r"],[10254,0,"t"],[10255,0,"i"],[10256,0,"a"],[10257,0,"l"],[10258,0," "],[10259,0,"f"],[10260,0,"u"],[10261,0,"n"],[10262,0,"c"],[10263,0,"t"],[10264,0,"i"],[10265,0,"o"],[10266,0,"n"],[10267,0," "],[10268,0,"w"],[10269,0,"h"],[10270,0,"o"],[10271,0,"s"],[10272,0,"e"],[10273,0," "],[10274,0,"d"],[10275,0,"o"],[10276,0,"m"],[10277,0,"a"],[10278,0,"i"],[10279,0,"n"],[10280,0," "],[10281,0,"i"],[10282,0,"s"],[10283,0," "],[10284,0,"t"],[10285,0,"h"],[10286,0,"e"],[10287,0," "],[10288,0,"s"],[10289,0,"i"],[10290,0,"n"],[10291,0,"g"],[10292,0,"l"],[10293,0,"e"],[10294,0," "],[10295,0,"a"],[10296,0,"t"],[10297,0,"o"],[10298,0,"m"],[10299,0," "],[10300,0,"$"],[10301,0,"\\"],[10301,1],[10300,1],[10300,0,"\\"],[10301,0,"m"],[10301,1],[10301,0,"t"],[10302,0,"e"],[10303,0,"x"],[10304,0,"t"],[10305,0,"s"],[10306,0,"f"],[10307,0,"{"],[10308,0,"m"],[10309,0,"a"],[10310,0,"p"],[10311,0,"T"],[10312,0,"("],[10313,0,"d"],[10314,0,"o"],[10315,0,"c"],[10316,0,")"],[10317,0,"}"],[10318,0,","],[10319,0," "],[10320,0,"w"],[10321,0,"h"],[10322,0,"i"],[10323,0,"c"],[10324,0,"h"],[10325,0," "],[10326,0,"d"],[10327,0,"e"],[10328,0,"n"],[10329,0,"o"],[10330,0,"t"],[10331,0,"e"],[10332,0,"s"],[10333,0," "],[10334,0,"t"],[10335,0,"h"],[10336,0,"a"],[10337,0,"t"],[10338,0," "],[10339,0,"t"],[10340,0,"h"],[10341,0,"e"],[10342,0," "],[10343,0,"d"],[10344,0,"o"],[10345,0,"c"],[10346,0,"u"],[10347,0,"m"],[10348,0,"e"],[10349,0,"n"],[10350,0,"t"],[10351,0," "],[10352,0,"\\"],[10353,0,"m"],[10353,1],[10353,0,"t"],[10354,0,"e"],[10355,0,"x"],[10356,0,"t"],[10357,0,"s"],[10358,0,"f"],[10359,0,"{"],[10360,0,"d"],[10361,0,"o"],[10362,0,"c"],[10363,0,"}"],[10364,0," "],[10365,0,"i"],[10366,0,"s"],[10367,0," "],[10368,0,"o"],[10369,0,"f"],[10369,1],[10368,1],[10368,0,"o"],[10369,0,"f"],[10370,0," "],[10371,0,"a"],[10372,0," "],[10373,0,"m"],[10374,0,"a"],[10375,0,"p"],[10376,0," "],[10377,0,"t"],[10378,0,"y"],[10379,0,"p"],[10380,0,"e"],[10380,1],[10379,1],[10378,1],[10377,1],[10376,1],[10375,1],[10374,1],[10373,1],[10372,1],[10371,1],[10371,0,"t"],[10372,0,"y"],[10373,0,"p"],[10374,0,"e"],[10375,0," "],[10376,0,"m"],[10377,0,"a"],[10378,0,"p"],[10379,0,"."],[10380,0," "],[10381,0,"\\"],[10382,0,"t"],[10383,0,"e"],[10384,0,"x"],[10385,0,"t"],[10386,0,"s"],[10387,0,"f"],[10388,0,"{"],[10389,0,"m"],[10390,0,"a"],[10391,0,"p"],[10392,0,"T"],[10393,0,"("],[10394,0,"d"],[10395,0,"o"],[10396,0,"c"],[10397,0,"}"],[10398,0," "],[10398,1],[10397,1],[10397,0,")"],[10398,0,"}"],[10399,0," "],[10400,0,"m"],[10401,0,"a"],[10402,0,"p"],[10403,0,"s"],[10404,0," "],[10405,0,"t"],[10406,0,"o"],[10407,0," "],[10408,0,"a"],[10409,0," "],[10409,1],[10409,0,"n"],[10410,0,"o"],[10411,0,"t"],[10412,0,"h"],[10413,0,"e"],[10414,0,"r"],[10415,0," "],[10416,0,"p"],[10417,0,"a"],[10418,0,"r"],[10419,0,"t"],[10420,0,"i"],[10421,0,"a"],[10422,0,"l"],[10423,0," "],[10424,0,"f"],[10425,0,"u"],[10426,0,"n"],[10427,0,"c"],[10428,0,"t"],[10429,0,"i"],[10430,0,"o"],[10431,0,"n"],[10432,0," "],[10433,0,"c"],[10434,0,"o"],[10435,0,"n"],[10436,0,"t"],[10437,0,"a"],[10438,0,"i"],[10439,0,"n"],[10440,0,"i"],[10441,0,"n"],[10442,0,"g"],[10443,0," "],[10444,0,"t"],[10445,0,"h"],[10446,0,"e"],[10447,0," "],[10448,0,"k"],[10449,0,"e"],[10450,0,"y"],[10451,0,"-"],[10452,0,"v"],[10453,0,"a"],[10454,0,"l"],[10455,0,"u"],[10456,0,"e"],[10457,0," "],[10458,0,"p"],[10459,0,"a"],[10460,0,"i"],[10461,0,"r"],[10462,0,"s"],[10463,0," "],[10464,0,"o"],[10465,0,"f"],[10466,0," "],[10467,0,"t"],[10468,0,"h"],[10469,0,"e"],[10470,0," "],[10471,0,"m"],[10472,0,"a"],[10473,0,"p"],[10474,0,";"],[10475,0," "],[10476,0,"i"],[10477,0,"n"],[10478,0," "],[10479,0,"t"],[10479,1],[10478,1],[10477,1],[10476,1],[10476,0,"h"],[10477,0,"e"],[10478,0,"r"],[10479,0,"e"],[10480,0,","],[10481,0," "],[10482,0,"t"],[10483,0,"h"],[10484,0,"e"],[10485,0," "],[10486,0,"o"],[10487,0,"n"],[10488,0,"l"],[10489,0,"y"],[10490,0," "],[10491,0,"e"],[10492,0,"n"],[10493,0,"t"],[10494,0,"r"],[10495,0,"y"],[10496,0," "],[10497,0,"i"],[10498,0,"s"],[10499,0," "],[10500,0,"t"],[10501,0,"h"],[10502,0,"e"],[10503,0," "],[10504,0,"k"],[10505,0,"e"],[10506,0,"y"],[10507,0," "],[10508,0,"`"],[10509,0,"`"],[10510,0,"s"],[10511,0,"h"],[10512,0,"o"],[10513,0,"p"],[10514,0,"p"],[10515,0,"i"],[10516,0,"n"],[10517,0,"g"],[10518,0,"'"],[10519,0,"'"],[10520,0," "],[10521,0,"o"],[10522,0,"f"],[10523,0," "],[10524,0,"t"],[10525,0,"y"],[10526,0,"p"],[10527,0,"e"],[10528,0," "],[10529,0,"\\"],[10530,0,"t"],[10531,0,"e"],[10532,0,"x"],[10533,0,"t"],[10534,0,"s"],[10535,0,"f"],[10536,0,"{"],[10537,0,"l"],[10538,0,"i"],[10539,0,"s"],[10540,0,"t"],[10541,0,"T"],[10542,0,"}"],[10543,0,"."],[10544,0," "],[10545,0,"T"],[10546,0,"h"],[10547,0,"e"],[10548,0," "],[10549,0,"l"],[10550,0,"i"],[10551,0,"s"],[10552,0,"t"],[10553,0," "],[10554,0,"i"],[10555,0,"s"],[10556,0," "],[10557,0,"r"],[10558,0,"e"],[10559,0,"p"],[10560,0,"r"],[10561,0,"e"],[10562,0,"s"],[10563,0,"e"],[10564,0,"n"],[10565,0,"t"],[10566,0,"e"],[10567,0,"d"],[10568,0," "],[10569,0,"i"],[10570,0,"n"],[10571,0," "],[10572,0,"a"],[10573,0," "],[10574,0,"m"],[10575,0,"a"],[10576,0,"n"],[10577,0,"n"],[10578,0,"e"],[10579,0,"r"],[10580,0," "],[10581,0,"r"],[10582,0,"e"],[10583,0,"s"],[10584,0,"e"],[10585,0,"m"],[10586,0,"b"],[10587,0,"l"],[10588,0,"i"],[10589,0,"n"],[10590,0,"g"],[10591,0," "],[10592,0,"a"],[10593,0," "],[10594,0,"l"],[10595,0,"i"],[10596,0,"n"],[10597,0,"k"],[10598,0,"e"],[10599,0,"d"],[10600,0," "],[10601,0,"l"],[10602,0,"i"],[10603,0,"s"],[10604,0,"t"],[10605,0,","],[10606,0," "],[10607,0,"w"],[10608,0,"i"],[10609,0,"t"],[10610,0,"h"],[10611,0," "],[10612,0,"e"],[10613,0,"a"],[10614,0,"c"],[10615,0,"h"],[10616,0," "],[10617,0,"l"],[10618,0,"i"],[10619,0,"s"],[10620,0,"t"],[10621,0," "],[10622,0,"e"],[10623,0,"l"],[10624,0,"e"],[10625,0,"m"],[10626,0,"e"],[10627,0,"n"],[10628,0,"t"],[10629,0," "],[10630,0,"a"],[10631,0,"s"],[10632,0,"s"],[10633,0,"i"],[10634,0,"g"],[10635,0,"n"],[10636,0,"e"],[10637,0,"d"],[10638,0," "],[10639,0,"a"],[10640,0," "],[10641,0,"u"],[10642,0,"n"],[10643,0,"i"],[10644,0,"q"],[10645,0,"u"],[10646,0,"e"],[10647,0," "],[10648,0,"i"],[10649,0,"d"],[10650,0,"e"],[10651,0,"n"],[10652,0,"t"],[10653,0,"i"],[10654,0,"f"],[10655,0,"i"],[10656,0,"e"],[10657,0,"r"],[10658,0," "],[10659,0,"("],[10660,0,"$"],[10661,0,"\\"],[10662,0,"m"],[10663,0,"a"],[10664,0,"t"],[10665,0,"h"],[10666,0,"i"],[10667,0,"t"],[10668,0,"{"],[10669,0,"i"],[10670,0,"d"],[10671,0,"}"],[10672,0,"_"],[10673,0,"1"],[10674,0,","],[10675,0," "],[10676,0,"\\"],[10677,0,"m"],[10678,0,"a"],[10679,0,"t"],[10680,0,"h"],[10681,0,"i"],[10682,0,"t"],[10683,0,"{"],[10684,0,"i"],[10685,0,"d"],[10686,0,"}"],[10687,0,"_"],[10688,0,"2"],[10689,0,","],[10690,0," "],[10691,0,"\\"],[10692,0,"m"],[10693,0,"a"],[10694,0,"t"],[10695,0,"h"],[10696,0,"i"],[10697,0,"t"],[10698,0,"{"],[10699,0,"3"],[10699,1],[10699,0,"i"],[10700,0,"d"],[10701,0,"}"],[10702,0,"_"],[10703,0,"3"],[10704,0,"$"],[10705,0,")"],[10706,0," "],[10706,1],[10706,0,","],[10707,0," "],[10708,0,"a"],[10709,0,"n"],[10710,0,"d"],[10711,0," "],[10712,0,"s"],[10713,0,"p"],[10714,0,"e"],[10715,0,"c"],[10716,0,"i"],[10717,0,"a"],[10718,0,"l"],[10719,0," "],[10720,0,"\\"],[10721,0,"t"],[10722,0,"e"],[10723,0,"x"],[10724,0,"t"],[10725,0,"s"],[10726,0,"f"],[10727,0,"{"],[10728,0,"h"],[10729,0,"e"],[10730,0,"a"],[10731,0,"d"],[10732,0,"}"],[10733,0," "],[10734,0,"a"],[10735,0,"n"],[10736,0,"d"],[10737,0," "],[10738,0,"\\"],[10739,0,"t"],[10740,0,"e"],[10741,0,"x"],[10742,0,"t"],[10743,0,"s"],[10744,0,"f"],[10745,0,"{"],[10746,0,"t"],[10747,0,"a"],[10748,0,"i"],[10749,0,"l"],[10750,0,"}"],[10751,0," "],[10752,0,"a"],[10753,0,"t"],[10754,0,"o"],[10755,0,"m"],[10756,0,"s"],[10757,0," "],[10758,0,"d"],[10759,0,"e"],[10760,0,"n"],[10761,0,"o"],[10762,0,"t"],[10763,0,"i"],[10764,0,"n"],[10765,0,"g"],[10766,0," "],[10767,0,"t"],[10768,0,"h"],[10769,0,"e"],[10770,0," "],[10771,0,"b"],[10772,0,"e"],[10773,0,"g"],[10774,0,"i"],[10775,0,"n"],[10776,0,"n"],[10777,0,"i"],[10778,0,"n"],[10779,0,"g"],[10780,0," "],[10781,0,"a"],[10782,0,"n"],[10783,0,"d"],[10784,0," "],[10785,0,"e"],[10786,0,"n"],[10787,0,"d"],[10788,0," "],[10789,0,"o"],[10790,0,"f"],[10791,0," "],[10792,0,"t"],[10793,0,"h"],[10794,0,"e"],[10795,0," "],[10796,0,"l"],[10797,0,"i"],[10798,0,"s"],[10799,0,"t"],[10800,0,"."],[10801,0,"\n"],[10802,0,"\n"],[10803,0,"T"],[10804,0,"h"],[10805,0,"e"],[10806,0," "],[10807,0,"r"],[10808,0,"u"],[10809,0,"l"],[10810,0,"e"],[10811,0,"s"],[10812,0," "],[10813,0,"f"],[10814,0,"o"],[10815,0,"r"],[10816,0," "],[10817,0,"e"],[10818,0,"v"],[10819,0,"a"],[10820,0,"l"],[10821,0,"u"],[10822,0,"a"],[10823,0,"t"],[10824,0,"i"],[10825,0,"n"],[10826,0,"g"],[10827,0," "],[10828,0,"E"],[10829,0,"X"],[10830,0,"P"],[10831,0,"R"],[10832,0," "],[10833,0,"e"],[10834,0,"x"],[10835,0,"p"],[10836,0,"r"],[10837,0,"e"],[10838,0,"s"],[10839,0,"s"],[10840,0,"i"],[10841,0,"o"],[10842,0,"n"],[10843,0,"s"],[10844,0," "],[10845,0,"i"],[10846,0,"n"],[10847,0," "],[10848,0,"t"],[10849,0,"h"],[10850,0,"e"],[10851,0," "],[10852,0,"c"],[10853,0,"o"],[10854,0,"m"],[10855,0,"m"],[10856,0,"a"],[10857,0,"n"],[10858,0,"d"],[10859,0," "],[10860,0,"l"],[10861,0,"a"],[10862,0,"n"],[10863,0,"g"],[10864,0,"u"],[10865,0,"a"],[10866,0,"g"],[10867,0,"e"],[10803,0,"F"],[10804,0,"i"],[10805,0,"g"],[10806,0,"u"],[10807,0,"r"],[10808,0,"e"],[10809,0,"~"],[10810,0,"\\"],[10811,0,"r"],[10812,0,"e"],[10813,0,"f"],[10814,0,"{"],[10815,0,"r"],[10815,1],[10815,0,"f"],[10816,0,"i"],[10817,0,"g"],[10818,0,":"],[10819,0,"e"],[10820,0,"x"],[10821,0,"p"],[10822,0,"r"],[10823,0,"-"],[10824,0,"r"],[10825,0,"u"],[10826,0,"l"],[10827,0,"e"],[10828,0,"s"],[10829,0,"}"],[10830,0," "],[10831,0,"g"],[10832,0,"i"],[10833,0,"v"],[10834,0,"e"],[10835,0,"s"],[10836,0," "],[10837,1],[10837,0,"t"],[10902,0,","],[10903,0," "],[10904,0,"w"],[10905,0,"h"],[10906,0,"i"],[10907,0,"c"],[10908,0,"h"],[10909,0," "],[10910,0,"a"],[10911,0,"r"],[10912,0,"e"],[10913,0," "],[10914,0,"a"],[10915,0,"p"],[10916,0,"p"],[10917,0,"l"],[10918,0,"i"],[10919,0,"e"],[10920,0,"d"],[10921,0," "],[10922,0,"i"],[10923,0,"n"],[10924,0," "],[10925,0,"t"],[10926,0,"h"],[10927,0,"e"],[10928,0," "],[10929,0,"c"],[10930,0,"o"],[10931,0,"n"],[10932,0,"t"],[10933,0,"e"],[10934,0,"x"],[10935,0,"t"],[10936,0," "],[10937,0,"o"],[10938,0,"f"],[10939,0," "],[10940,0,"t"],[10941,0,"h"],[10942,0,"e"],[10943,0," "],[10944,0,"l"],[10945,0,"o"],[10946,0,"c"],[10947,0,"a"],[10948,0,"l"],[10949,0," "],[10950,0,"p"],[10951,0,"e"],[10952,0,"e"],[10953,0,"r"],[10954,0," "],[10955,0,"s"],[10956,0,"t"],[10957,0,"a"],[10958,0,"t"],[10959,0,"e"],[10960,0," "],[10961,0,"$"],[10962,0,"A"],[10963,0,"_"],[10964,0,"p"],[10965,0,"$"],[10966,0,"."],[10920,1],[10919,1],[10918,1],[10917,1],[10916,1],[10915,1],[10914,1],[10914,0,"e"],[10915,0,"v"],[10916,0,"a"],[10917,0,"l"],[10918,0,"u"],[10919,0,"a"],[10920,0,"t"],[10921,0,"e"],[10922,0,"d"],[10969,0," "],[10970,0,"T"],[10971,0,"h"],[10972,0,"e"],[10973,0," "],[10974,0,"\\"],[10975,0,"t"],[10976,0,"e"],[10977,0,"x"],[10978,0,"t"],[10979,0,"s"],[10980,0,"c"],[10981,0,"{"],[10982,0,"E"],[10983,0,"x"],[10984,0,"e"],[10985,0,"c"],[10986,0,"}"],[10987,0," "],[10988,0,"r"],[10989,0,"u"],[10990,0,"l"],[10991,0,"e"],[10992,0," "],[10993,0,"d"],[10994,0,"e"],[10995,0,"f"],[10996,0,"i"],[10997,0,"n"],[10998,0,"e"],[10999,0,"s"],[11000,0," "],[11001,0,"t"],[11002,0,"h"],[11003,0,"a"],[11004,0,"t"],[11005,0," "],[11006,0,"c"],[11007,0,"o"],[11008,0,"m"],[11009,0,"m"],[11010,0,"a"],[11011,0,"n"],[11012,0,"d"],[11013,0,"s"],[11014,0," "],[11015,0,"a"],[11016,0,"r"],[11017,0,"e"],[11018,0," "],[11019,0,"e"],[11020,0,"x"],[11021,0,"e"],[11022,0,"c"],[11023,0,"u"],[11024,0,"t"],[11025,0,"e"],[11026,0,"d"],[11027,0," "],[11028,0,"s"],[11029,0,"e"],[11030,0,"q"],[11031,0,"u"],[11032,0,"e"],[11033,0,"n"],[11034,0,"t"],[11035,0,"i"],[11036,0,"a"],[11037,0,"l"],[11038,0,"l"],[11039,0,"y"],[11040,0,"."],[11041,0," "],[11042,0,"T"],[11043,0,"h"],[11044,0,"e"],[11045,0," "],[11046,0,"\\"],[11047,0,"t"],[11048,0,"e"],[11049,0,"x"],[11050,0,"t"],[11051,0,"s"],[11052,0,"c"],[11053,0,"{"],[11054,0,"L"],[11055,0,"e"],[11056,0,"t"],[11057,0,"}"],[11058,0," "],[11059,0,"r"],[11060,0,"u"],[11061,0,"l"],[11062,0,"e"],[11063,0," "],[11064,0,"a"],[11065,0,"l"],[11066,0,"l"],[11067,0,"o"],[11068,0,"w"],[11069,0,"s"],[11070,0," "],[11071,0,"t"],[11072,0,"h"],[11073,0,"e"],[11074,0," "],[11075,0,"p"],[11076,0,"r"],[11077,0,"o"],[11078,0,"g"],[11079,0,"r"],[11080,0,"a"],[11081,0,"m"],[11082,0," "],[11083,0,"t"],[11084,0,"o"],[11085,0," "],[11086,0,"d"],[11087,0,"e"],[11088,0,"f"],[11089,0,"i"],[11090,0,"n"],[11091,0,"e"],[11092,0," "],[11093,0,"a"],[11094,0," "],[11095,0,"l"],[11096,0,"o"],[11097,0,"c"],[11098,0,"a"],[11099,0,"l"],[11100,0," "],[11101,0,"v"],[11102,0,"a"],[11103,0,"r"],[11104,0,"i"],[11105,0,"a"],[11106,0,"b"],[11107,0,"l"],[11108,0,"e"],[11109,0,","],[11110,0," "],[11111,0,"w"],[11112,0,"h"],[11113,0,"i"],[11114,0,"c"],[11115,0,"h"],[11116,0," "],[11117,0,"i"],[11118,0,"s"],[11119,0," "],[11120,0,"a"],[11121,0,"d"],[11122,0,"d"],[11123,0,"e"],[11124,0,"d"],[11125,0," "],[11126,0,"t"],[11127,0,"o"],[11128,0," "],[11129,0,"t"],[11130,0,"h"],[11131,0,"e"],[11132,0," "],[11133,0,"l"],[11134,0,"o"],[11135,0,"c"],[11136,0,"a"],[11137,0,"l"],[11138,0," "],[11139,0,"s"],[11140,0,"t"],[11141,0,"a"],[11142,0,"t"],[11143,0,"e"],[11144,0,","],[11145,0," "],[11146,0,"a"],[11147,0,"n"],[11148,0,"d"],[11149,0," "],[11150,0,"t"],[11151,0,"h"],[11152,0,"e"],[11153,0," "],[11154,0,"c"],[11155,0,"o"],[11156,0,"r"],[11157,0,"r"],[11158,0,"e"],[11159,0,"s"],[11160,0,"p"],[11161,0,"o"],[11162,0,"n"],[11163,0,"d"],[11164,0,"i"],[11165,0,"n"],[11166,0,"g"],[11167,0," "],[11168,0,"\\"],[11169,0,"t"],[11170,0,"e"],[11171,0,"x"],[11172,0,"t"],[11173,0,"s"],[11174,0,"c"],[11175,0,"{"],[11176,0,"V"],[11177,0,"a"],[11178,0,"r"],[11179,0,"}"],[11180,0," "],[11181,0,"r"],[11182,0,"u"],[11183,0,"l"],[11184,0,"e"],[11185,0," "],[11186,0,"a"],[11187,0,"l"],[11188,0,"l"],[11189,0,"o"],[11190,0,"w"],[11191,0,"s"],[11192,0," "],[11193,0,"t"],[11194,0,"h"],[11195,0,"e"],[11196,0," "],[11197,0,"p"],[11198,0,"r"],[11199,0,"o"],[11200,0,"g"],[11201,0,"r"],[11202,0,"a"],[11203,0,"m"],[11204,0," "],[11205,0,"t"],[11206,0,"o"],[11207,0," "],[11208,0,"r"],[11209,0,"e"],[11210,0,"t"],[11211,0,"r"],[11212,0,"i"],[11213,0,"e"],[11214,0,"v"],[11215,0,"e"],[11216,0," "],[11217,0,"t"],[11218,0,"h"],[11219,0,"e"],[11220,0," "],[11221,0,"v"],[11222,0,"a"],[11223,0,"l"],[11224,0,"u"],[11225,0,"e"],[11226,0," "],[11227,0,"o"],[11228,0,"f"],[11229,0," "],[11230,0,"a"],[11231,0," "],[11232,0,"p"],[11233,0,"r"],[11234,0,"e"],[11235,0,"v"],[11236,0,"i"],[11237,0,"o"],[11238,0,"u"],[11239,0,"s"],[11240,0,"l"],[11241,0,"y"],[11242,0," "],[11243,0,"d"],[11244,0,"e"],[11245,0,"f"],[11246,0,"i"],[11247,0,"n"],[11248,0,"e"],[11249,0,"d"],[11250,0," "],[11251,0,"v"],[11252,0,"a"],[11253,0,"r"],[11254,0,"i"],[11255,0,"a"],[11256,0,"b"],[11257,0,"l"],[11258,0,"e"],[11259,0,"."],[11260,0,"\n"],[11261,0,"\n"],[11262,0,"T"],[11263,0,"h"],[11264,0,"e"],[11265,0," "],[11266,0,"o"],[11267,0,"t"],[11268,0,"h"],[11269,0,"e"],[11270,0,"r"],[11270,1],[11269,1],[11268,1],[11267,1],[11266,1],[11266,0,"r"],[11267,0,"e"],[11268,0,"m"],[11269,0,"a"],[11270,0,"i"],[11271,0,"n"],[11272,0,"i"],[11273,0,"n"],[11274,0,"g"],[11275,0," "],[11276,0,"r"],[11277,0,"u"],[11278,0,"l"],[11279,0,"e"],[11280,0,"s"],[11281,0," "],[11282,0,"i"],[11283,0,"n"],[11284,0," "],[11285,0,"f"],[11285,1],[11285,0,"F"],[11286,0,"i"],[11287,0,"g"],[11288,0,"u"],[11289,0,"r"],[11290,0,"e"],[11291,0,"~"],[11292,0,"\\"],[11293,0,"r"],[11294,0,"e"],[11295,0,"f"],[11296,0,"{"],[11297,0,"f"],[11298,0,"i"],[11299,0,"g"],[11300,0,":"],[11301,0,"e"],[11302,0,"x"],[11303,0,"p"],[11304,0,"r"],[11305,0,"-"],[11306,0,"r"],[11307,0,"u"],[11308,0,"l"],[11309,0,"e"],[11310,0,"s"],[11311,0,"}"],[11312,0," "],[11313,0,"o"],[11314,0,"p"],[11315,0,"e"],[11316,0,"r"],[11317,0,"a"],[11318,0,"t"],[11319,0,"o"],[11320,0,"r"],[11320,1],[11319,1],[11319,0,"e"],[11320,0," "],[11320,1],[11319,1],[11318,1],[11317,1],[11316,1],[11315,1],[11314,1],[11313,1],[11313,0,"e"],[11314,0,"v"],[11315,0,"a"],[11316,0,"l"],[11317,0,"u"],[11318,0,"a"],[11319,0,"t"],[11320,0,"e"],[11321,0," "],[11322,0,"t"],[11323,0,"o"],[11324,0," "],[11325,0,"a"],[11326,0," "],[11327,0,"\\"],[11328,0,"e"],[11329,0,"m"],[11330,0,"p"],[11331,0,"h"],[11332,0,"{"],[11333,0,"c"],[11334,0,"u"],[11335,0,"r"],[11336,0,"s"],[11337,0,"o"],[11338,0,"r"],[11339,0,"}"],[11340,0," "],[11341,0,"a"],[11342,0,"t"],[11343,0,"o"],[11344,0,"m"],[11345,0,","],[11346,0," "],[11274,1],[11273,1],[11272,1],[11271,1],[11270,1],[11269,1],[11268,1],[11267,1],[11266,1],[11265,1],[11281,0,"f"],[11281,1],[11302,0," "],[11303,0,"s"],[11304,0,"h"],[11305,0,"o"],[11306,0,"w"],[11307,0," "],[11308,0,"h"],[11309,0,"o"],[11310,0,"w"],[11311,0," "],[11312,0,"a"],[11313,0,"n"],[11314,0," "],[11315,0,"e"],[11316,0,"x"],[11317,0,"p"],[11318,0,"r"],[11319,0,"e"],[11320,0,"s"],[11321,0,"s"],[11322,0,"i"],[11323,0,"o"],[11324,0,"n"],[11325,0," "],[11326,0,"i"],[11327,0,"s"],[11337,0,"d"],[11363,1],[11362,1],[11362,0,"."],[11363,0," "],[11363,1],[11362,1],[11362,0,","],[11363,0," "],[11364,0,"w"],[11365,0,"h"],[11366,0,"i"],[11367,0,"c"],[11368,0,"h"],[11369,0," "],[11370,0,"i"],[11371,0,"s"],[11372,0," "],[11372,1],[11371,1],[11370,1],[11369,1],[11368,1],[11367,1],[11366,1],[11365,1],[11364,1],[11363,1],[11362,1],[11362,0,"."],[11363,0," "],[11364,0,"A"],[11365,0," "],[11366,0,"c"],[11367,0,"u"],[11368,0,"r"],[11369,0,"s"],[11370,0,"o"],[11371,0,"r"],[11372,0," "],[11373,0,"i"],[11374,0,"d"],[11375,0,"e"],[11376,0,"n"],[11377,0,"t"],[11378,0,"i"],[11379,0,"f"],[11380,0,"i"],[11381,0,"e"],[11382,0,"s"],[11383,0," "],[11384,0,"a"],[11385,0," "],[11373,0,"u"],[11374,0,"n"],[11375,0,"a"],[11376,0,"m"],[11377,0,"b"],[11378,0,"i"],[11379,0,"g"],[11380,0,"u"],[11381,0,"o"],[11382,0,"u"],[11383,0,"s"],[11384,0,"l"],[11385,0,"y"],[11386,0," "],[11400,0,"p"],[11401,0,"a"],[11402,0,"r"],[11403,0,"t"],[11404,0,"i"],[11405,0,"c"],[11406,0,"u"],[11407,0,"l"],[11408,0,"a"],[11409,0,"r"],[11410,0," "],[11411,0,"p"],[11412,0,"o"],[11413,0,"s"],[11414,0,"i"],[11415,0,"t"],[11416,0,"i"],[11417,0,"o"],[11418,0,"n"],[11419,0," "],[11420,0,"i"],[11421,0,"n"],[11422,0," "],[11423,0,"a"],[11424,0," "],[11425,0,"J"],[11426,0,"S"],[11427,0,"O"],[11428,0,"N"],[11429,0," "],[11430,0,"d"],[11431,0,"o"],[11432,0,"c"],[11433,0,"u"],[11434,0,"m"],[11435,0,"e"],[11436,0,"n"],[11437,0,"t"],[11438,0," "],[11439,0,"b"],[11440,0,"y"],[11441,0," "],[11442,0,"d"],[11443,0,"e"],[11444,0,"s"],[11445,0,"c"],[11446,0,"r"],[11447,0,"i"],[11448,0,"b"],[11449,0,"i"],[11450,0,"n"],[11451,0,"g"],[11452,0," "],[11453,0,"a"],[11454,0," "],[11455,0,"p"],[11456,0,"a"],[11457,0,"t"],[11458,0,"h"],[11459,0," "],[11460,0,"f"],[11461,0,"r"],[11462,0,"o"],[11463,0,"m"],[11464,0," "],[11465,0,"t"],[11466,0,"h"],[11467,0,"e"],[11468,0," "],[11469,0,"r"],[11470,0,"o"],[11471,0,"o"],[11472,0,"t"],[11473,0," "],[11474,0,"o"],[11475,0,"f"],[11476,0," "],[11477,0,"t"],[11478,0,"h"],[11479,0,"e"],[11480,0," "],[11481,0,"d"],[11482,0,"o"],[11483,0,"c"],[11484,0,"u"],[11485,0,"m"],[11486,0,"e"],[11487,0,"n"],[11488,0,"t"],[11489,0," "],[11490,0,"t"],[11491,0,"r"],[11492,0,"e"],[11493,0,"e"],[11494,0," "],[11495,0,"t"],[11496,0,"o"],[11497,0," "],[11498,0,"s"],[11499,0,"o"],[11500,0,"m"],[11501,0,"e"],[11502,0," "],[11503,0,"b"],[11504,0,"r"],[11505,0,"a"],[11506,0,"n"],[11507,0,"c"],[11508,0,"h"],[11509,0," "],[11510,0,"o"],[11511,0,"r"],[11512,0," "],[11513,0,"l"],[11514,0,"e"],[11515,0,"a"],[11516,0,"f"],[11517,0," "],[11518,0,"n"],[11519,0,"o"],[11520,0,"d"],[11521,0,"e"],[11522,0,"."],[11523,0," "],[11524,0,"S"],[11524,1],[11524,0,"A"],[11525,0," "],[11526,0,"c"],[11527,0,"u"],[11528,0,"r"],[11529,0,"s"],[11530,0,"o"],[11531,0,"r"],[11532,0," "],[11533,0,"c"],[11534,0,"o"],[11535,0,"n"],[11536,0,"s"],[11537,0,"i"],[11538,0,"s"],[11539,0,"t"],[11540,0,"s"],[11541,0," "],[11542,0,"o"],[11543,0,"n"],[11544,0,"l"],[11545,0,"y"],[11546,0," "],[11547,0,"o"],[11548,0,"f"],[11549,0," "],[11550,0,"i"],[11551,0,"m"],[11552,0,"m"],[11553,0,"u"],[11554,0,"t"],[11555,0,"a"],[11556,0,"b"],[11557,0,"l"],[11558,0,"e"],[11559,0," "],[11560,0,"k"],[11561,0,"e"],[11562,0,"y"],[11563,0,"s"],[11564,0," "],[11565,0,"a"],[11566,0,"n"],[11567,0,"d"],[11568,0," "],[11569,0,"i"],[11570,0,"d"],[11571,0,"e"],[11572,0,"n"],[11573,0,"t"],[11574,0,"i"],[11575,0,"f"],[11576,0,"i"],[11577,0,"e"],[11578,0,"r"],[11579,0,"s"],[11580,0,","],[11581,0," "],[11582,0,"s"],[11583,0,"o"],[11584,0," "],[11585,0,"i"],[11586,0,"t"],[11587,0," "],[11588,0,"c"],[11589,0,"a"],[11590,0,"n"],[11591,0," "],[11592,0,"b"],[11593,0,"e"],[11594,0," "],[11595,0,"s"],[11596,0,"e"],[11597,0,"n"],[11598,0,"t"],[11599,0," "],[11600,0,"o"],[11601,0,"v"],[11602,0,"e"],[11603,0,"r"],[11604,0," "],[11605,0,"t"],[11606,0,"h"],[11607,0,"e"],[11608,0," "],[11609,0,"n"],[11610,0,"e"],[11611,0,"t"],[11612,0,"w"],[11613,0,"o"],[11614,0,"r"],[11615,0,"k"],[11616,0," "],[11617,0,"t"],[11618,0,"o"],[11619,0," "],[11620,0,"a"],[11621,0,"n"],[11622,0,"o"],[11623,0,"t"],[11624,0,"h"],[11625,0,"e"],[11626,0,"r"],[11627,0," "],[11628,0,"p"],[11629,0,"e"],[11630,0,"e"],[11631,0,"r"],[11632,0,","],[11633,0," "],[11634,0,"w"],[11635,0,"h"],[11636,0,"e"],[11637,0,"r"],[11638,0,"e"],[11639,0," "],[11640,0,"i"],[11641,0,"t"],[11642,0," "],[11643,0,"c"],[11644,0,"a"],[11645,0,"n"],[11646,0," "],[11647,0,"b"],[11648,0,"e"],[11649,0," "],[11650,0,"u"],[11651,0,"s"],[11652,0,"e"],[11653,0,"d"],[11654,0," "],[11655,0,"t"],[11656,0,"o"],[11657,0," "],[11658,0,"l"],[11659,0,"o"],[11660,0,"c"],[11661,0,"a"],[11662,0,"t"],[11663,0,"e"],[11664,0," "],[11665,0,"t"],[11666,0,"h"],[11667,0,"e"],[11668,0," "],[11669,0,"s"],[11670,0,"a"],[11671,0,"m"],[11672,0,"e"],[11673,0," "],[11674,0,"p"],[11675,0,"o"],[11676,0,"s"],[11677,0,"i"],[11678,0,"t"],[11679,0,"i"],[11680,0,"o"],[11681,0,"n"],[11682,0," "],[11683,0,"i"],[11684,0,"n"],[11685,0," "],[11686,0,"t"],[11687,0,"h"],[11688,0,"e"],[11689,0," "],[11690,0,"d"],[11691,0,"o"],[11692,0,"c"],[11693,0,"u"],[11694,0,"m"],[11695,0,"e"],[11696,0,"n"],[11697,0,"t"],[11698,0,"."],[11699,0,"\n"],[11700,0,"\n"],[11701,0,"F"],[11702,0,"o"],[11703,0,"r"],[11704,0," "],[11705,0,"e"],[11706,0,"x"],[11707,0,"a"],[11708,0,"m"],[11709,0,"p"],[11710,0,"l"],[11711,0,"e"],[11712,0,","],[11713,0," "],[11714,0,"$"],[11715,0,"\\"],[11716,0,"m"],[11717,0,"a"],[11718,0,"t"],[11719,0,"h"],[11720,0,"s"],[11721,0,"f"],[11722,0,"{"],[11723,0,"c"],[11724,0,"u"],[11725,0,"r"],[11726,0,"s"],[11727,0,"o"],[11728,0,"r"],[11729,0,"}"],[11730,0,"("],[11731,0,"\\"],[11732,0,"l"],[11733,0,"a"],[11734,0,"n"],[11735,0,"g"],[11736,0,"l"],[11737,0,"e"],[11738,0," "],[11739,0,"\\"],[11740,0,"m"],[11741,0,"a"],[11742,0,"t"],[11743,0,"h"],[11744,0,"s"],[11745,0,"f"],[11746,0,"{"],[11747,0,"m"],[11748,0,"a"],[11749,0,"p"],[11750,0,"T"],[11751,0,"}"],[11752,0,"("],[11753,0,"\\"],[11754,0,"m"],[11755,0,"a"],[11756,0,"t"],[11757,0,"h"],[11758,0,"s"],[11759,0,"f"],[11760,0,"{"],[11761,0,"d"],[11762,0,"o"],[11763,0,"c"],[11764,0,"}"],[11765,0,")"],[11766,0,","],[11767,0," "],[11768,0,"\\"],[11769,0,"m"],[11770,0,"a"],[11771,0,"t"],[11772,0,"h"],[11773,0,"s"],[11774,0,"f"],[11775,0,"{"],[11776,0,"l"],[11777,0,"i"],[11778,0,"s"],[11779,0,"t"],[11780,0,"T"],[11781,0,"}"],[11782,0,"("],[11783,0,"\\"],[11784,0,"t"],[11785,0,"e"],[11786,0,"x"],[11787,0,"t"],[11788,0,"{"],[11789,0,"`"],[11790,0,"`"],[11791,0,"s"],[11792,0,"h"],[11793,0,"o"],[11794,0,"p"],[11795,0,"p"],[11796,0,"i"],[11797,0,"n"],[11798,0,"g"],[11799,0,"'"],[11800,0,"'"],[11801,0,"}"],[11802,0,")"],[11803,0," "],[11804,0,"\\"],[11805,0,"r"],[11806,0,"a"],[11807,0,"n"],[11808,0,"g"],[11809,0,"l"],[11810,0,"e"],[11811,0,","],[11812,0,"\\"],[11813,0,","],[11814,0," "],[11815,0,"\\"],[11816,0,"m"],[11817,0,"a"],[11818,0,"t"],[11819,0,"h"],[11820,0,"i"],[11821,0,"t"],[11822,0,"{"],[11823,0,"i"],[11824,0,"d"],[11825,0,"}"],[11826,0,"_"],[11827,0,"1"],[11828,0,")"],[11829,0,"$"],[11830,0," "],[11831,0,"i"],[11832,0,"s"],[11833,0," "],[11834,0,"a"],[11835,0," "],[11836,0,"c"],[11837,0,"u"],[11838,0,"r"],[11839,0,"s"],[11840,0,"o"],[11841,0,"r"],[11842,0," "],[11843,0,"r"],[11844,0,"e"],[11845,0,"p"],[11846,0,"r"],[11847,0,"e"],[11848,0,"s"],[11849,0,"e"],[11850,0,"n"],[11851,0,"t"],[11852,0,"i"],[11853,0,"n"],[11854,0,"g"],[11855,0," "],[11856,0,"t"],[11857,0,"h"],[11858,0,"e"],[11859,0," "],[11860,0,"l"],[11861,0,"i"],[11862,0,"s"],[11863,0,"t"],[11864,0," "],[11865,0,"e"],[11866,0,"l"],[11867,0,"e"],[11868,0,"m"],[11869,0,"e"],[11870,0,"n"],[11871,0,"t"],[11872,0," "],[11873,0,"\\"],[11874,0,"v"],[11875,0,"e"],[11876,0,"r"],[11877,0,"b"],[11878,0,"|"],[11879,0,"\""],[11880,0,"e"],[11881,0,"g"],[11882,0,"g"],[11883,0,"s"],[11884,0,"\""],[11885,0,"|"],[11886,0," "],[11887,0,"i"],[11888,0,"n"],[11889,0," "],[11890,0,"F"],[11891,0,"i"],[11892,0,"g"],[11893,0,"u"],[11894,0,"r"],[11895,0,"e"],[11896,0,"~"],[11897,0,"\\"],[11898,0,"r"],[11899,0,"e"],[11900,0,"f"],[11901,0,"{"],[11902,0,"f"],[11903,0,"i"],[11904,0,"g"],[11905,0,":"],[11906,0,"m"],[11907,0,"a"],[11908,0,"k"],[11909,0,"e"],[11910,0,"-"],[11911,0,"d"],[11912,0,"o"],[11913,0,"c"],[11914,0,"}"],[11915,0,"."],[11916,0," "],[11917,0,"T"],[11918,0,"h"],[11919,0,"e"],[11920,0," "],[11921,0,"c"],[11922,0,"u"],[11923,0,"r"],[11923,1],[11922,1],[11921,1],[11920,1],[11919,1],[11918,1],[11917,1],[11917,0,"I"],[11918,0,"t"],[11919,0," "],[11920,0,"c"],[11921,0,"a"],[11922,0,"n"],[11923,0," "],[11924,0,"b"],[11925,0,"e"],[11926,0," "],[11927,0,"i"],[11928,0,"n"],[11929,0,"t"],[11930,0,"e"],[11931,0,"r"],[11932,0,"p"],[11933,0,"r"],[11934,0,"e"],[11935,0,"t"],[11936,0,"e"],[11937,0,"d"],[11938,0," "],[11939,0,"a"],[11940,0,"s"],[11941,0," "],[11942,0,"a"],[11943,0," "],[11944,0,"p"],[11945,0,"a"],[11946,0,"t"],[11947,0,"h"],[11948,0,","],[11949,0," "],[11950,0,"r"],[11951,0,"e"],[11952,0,"a"],[11953,0,"d"],[11954,0," "],[11955,0,"f"],[11956,0,"r"],[11957,0,"o"],[11958,0,"m"],[11959,0," "],[11960,0,"l"],[11961,0,"e"],[11962,0,"f"],[11963,0,"t"],[11964,0," "],[11965,0,"t"],[11966,0,"o"],[11967,0," "],[11968,0,"r"],[11969,0,"i"],[11970,0,"g"],[11971,0,"h"],[11972,0,"t"],[11973,0,":"],[11974,0," "],[11948,0," "],[11949,0,"t"],[11950,0,"h"],[11951,0,"r"],[11952,0,"o"],[11953,0,"u"],[11954,0,"g"],[11955,0,"h"],[11956,0," "],[11957,0,"t"],[11958,0,"h"],[11959,0,"e"],[11960,0," "],[11961,0,"s"],[11962,0,"t"],[11963,0,"r"],[11964,0,"u"],[11965,0,"c"],[11966,0,"t"],[11967,0,"u"],[11968,0,"r"],[11969,0,"e"],[11970,0," "],[11971,0,"i"],[11972,0,"n"],[11973,0," "],[11974,0,"F"],[11975,0,"i"],[11976,0,"g"],[11977,0,"u"],[11978,0,"r"],[11979,0,"e"],[11980,0,"~"],[11981,0,"\\"],[11982,0,"r"],[11983,0,"e"],[11984,0,"f"],[11985,0,"{"],[11986,0,"f"],[11987,0,"i"],[11988,0,"g"],[11989,0,":"],[11990,0,"s"],[11991,0,"t"],[11992,0,"a"],[11993,0,"t"],[11994,0,"e"],[11995,0,"-"],[11996,0,"e"],[11997,0,"x"],[11998,0,"a"],[11999,0,"m"],[12000,0,"p"],[12001,0,"l"],[12002,0,"e"],[12003,0,"}"],[12031,0,"s"],[12032,0,"t"],[12033,0,"a"],[12034,0,"r"],[12035,0,"t"],[12036,0,"i"],[12037,0,"n"],[12038,0,"g"],[12039,0," "],[12040,0,"f"],[12041,0,"r"],[12042,0,"o"],[12043,0,"m"],[12044,0," "],[12045,0,"t"],[12046,0,"h"],[12047,0,"e"],[12048,0," "],[12049,0,"\\"],[12050,0,"m"],[12051,0,"a"],[12051,1],[12050,1],[12050,0,"t"],[12051,0,"e"],[12052,0,"x"],[12053,0,"t"],[12054,0,"s"],[12055,0,"f"],[12056,0,"{"],[12057,0,"d"],[12058,0,"o"],[12059,0,"c"],[12060,0,"}"],[12061,0," "],[12062,0,"m"],[12063,0,"a"],[12064,0,"p"],[12065,0," "],[12066,0,"a"],[12067,0,"t"],[12068,0," "],[12069,0,"t"],[12070,0,"h"],[12071,0,"e"],[12072,0," "],[12073,0,"r"],[12074,0,"o"],[12075,0,"o"],[12076,0,"t"],[12077,0,","],[12078,0," "],[12079,0,"i"],[12080,0,"t"],[12081,0," "],[12082,0,"t"],[12083,0,"r"],[12084,0,"a"],[12085,0,"v"],[12086,0,"e"],[12087,0,"r"],[12088,0,"s"],[12089,0,"e"],[12090,0,"s"],[12091,0," "],[12092,0,"t"],[12093,0,"h"],[12094,0,"r"],[12095,0,"o"],[12096,0,"u"],[12097,0,"g"],[12098,0,"h"],[12099,0," "],[12100,0,"t"],[12101,0,"h"],[12102,0,"e"],[12103,0," "],[12104,0,"m"],[12105,0,"a"],[12106,0,"p"],[12107,0," "],[12108,0,"k"],[12109,0,"e"],[12110,0,"y"],[12111,0," "],[12112,0,"`"],[12113,0,"`"],[12114,0,"s"],[12115,0,"h"],[12116,0,"o"],[12117,0,"p"],[12118,0,"p"],[12119,0,"i"],[12120,0,"n"],[12121,0,"g"],[12122,0,"'"],[12123,0,"'"],[12124,0," "],[12125,0,"o"],[12126,0,"f"],[12127,0," "],[12128,0,"t"],[12129,0,"y"],[12130,0,"p"],[12131,0,"e"],[12132,0," "],[12133,0,"l"],[12134,0,"i"],[12135,0,"s"],[12136,0,"t"],[12110,1],[12109,1],[12108,1],[12108,0,"e"],[12109,0,"n"],[12110,0,"t"],[12111,0,"r"],[12112,0,"y"],[12135,0,"\\"],[12136,0,"m"],[12137,0,"a"],[12138,0,"t"],[12139,0,"h"],[12140,0,"s"],[12141,0,"f"],[12142,0,"{"],[12147,0,"T"],[12148,0,"}"],[12149,0,","],[12150,0," "],[12151,0,"a"],[12152,0,"n"],[12153,0,"d"],[12154,0," "],[12155,0,"e"],[12156,0,"n"],[12157,0,"d"],[12158,0,"s"],[12159,0," "],[12160,0,"w"],[12161,0,"i"],[12162,0,"t"],[12163,0,"h"],[12164,0," "],[12165,0,"t"],[12166,0,"h"],[12167,0,"e"],[12168,0," "],[12169,0,"l"],[12170,0,"i"],[12171,0,"s"],[12172,0,"t"],[12173,0," "],[12174,0,"e"],[12175,0,"l"],[12176,0,"e"],[12177,0,"m"],[12178,0,"e"],[12179,0,"n"],[12180,0,"t"],[12181,0," "],[12182,0,"w"],[12183,0,"i"],[12184,0,"t"],[12185,0,"h"],[12186,0," "],[12187,0,"i"],[12188,0,"d"],[12189,0,"e"],[12190,0,"n"],[12191,0,"t"],[12192,0,"i"],[12193,0,"f"],[12194,0,"i"],[12195,0,"e"],[12196,0,"r"],[12197,0," "],[12198,0,"$"],[12199,0,"\\"],[12200,0,"m"],[12201,0,"a"],[12202,0,"t"],[12203,0,"h"],[12204,0,"i"],[12205,0,"t"],[12206,0,"{"],[12207,0,"i"],[12208,0,"d"],[12209,0,"}"],[12210,0,"_"],[12211,0,"1"],[12212,0,"$"],[12213,0,"."],[12139,1],[12138,1],[12137,1],[12136,1],[12136,0,"t"],[12137,0,"e"],[12138,0,"x"],[12139,0,"t"],[11713,1],[11712,1],[11711,1],[11710,1],[11709,1],[11708,1],[11707,1],[11707,0,"a"],[11708,0,"m"],[11709,0,"p"],[11710,0,"k"],[11711,0,"e"],[11711,1],[11710,1],[11709,1],[11709,0,"p"],[11710,0,"l"],[11711,0,"e"],[11712,0,","],[11713,0," "],[11713,1],[11713,0,"\n"],[11714,0,"$"],[11831,0,"$"],[11832,0,"\n"],[11833,1],[10800,0,","],[10801,0," "],[10802,0,"r"],[10803,0,"e"],[10804,0,"s"],[10805,0,"p"],[10806,0,"e"],[10807,0,"c"],[10808,0,"t"],[10809,0,"i"],[10810,0,"v"],[10811,0,"e"],[10812,0,"l"],[10813,0,"y"],[12174,1],[12173,1],[12172,1],[12171,1],[12171,0,"f"],[12172,0,"i"],[12173,0,"n"],[12174,0,"i"],[12175,0,"s"],[12176,0,"h"],[12177,0,"e"],[12178,0,"s"],[12234,0,"\n"],[12235,0,"\n"],[12236,0,"I"],[12237,0,"n"],[12238,0," "],[12239,0,"g"],[12240,0,"e"],[12241,0,"n"],[12242,0,"e"],[12243,0,"r"],[12244,0,"a"],[12245,0,"l"],[12246,0,","],[12247,0," "],[12248,0,"a"],[12249,0," "],[12250,0,"c"],[12251,0,"u"],[12252,0,"r"],[12253,0,"s"],[12254,0,"o"],[12255,0,"r"],[12256,0," "],[12257,0,"c"],[12258,0,"o"],[12259,0,"n"],[12260,0,"t"],[12261,0,"a"],[12262,0,"i"],[12263,0,"n"],[12264,0,"s"],[12264,1],[12263,1],[12262,1],[12261,1],[12260,1],[12260,0,"s"],[12261,0,"i"],[12262,0,"s"],[12263,0,"t"],[12264,0,"s"],[12265,0," "],[12266,0,"o"],[12267,0,"f"],[12268,0," "],[12268,1],[12267,1],[12266,1],[12265,1],[12264,1],[12263,1],[12262,1],[12261,1],[12260,1],[12259,1],[12258,1],[12257,1],[12256,1],[12255,1],[12254,1],[12253,1],[12252,1],[12251,1],[12250,1],[12249,1],[12248,1],[12248,0,"$"],[12249,0,"\\"],[12250,0,"m"],[12251,0,"a"],[12252,0,"t"],[12253,0,"h"],[12254,0,"s"],[12255,0,"f"],[12256,0,"{"],[12257,0,"c"],[12258,0,"u"],[12259,0,"r"],[12260,0,"s"],[12261,0,"o"],[12262,0,"r"],[12263,0,"}"],[12264,0,"("],[12265,0,"\\"],[12266,0,"l"],[12267,0,"a"],[12268,0,"n"],[12269,0,"g"],[12270,0,"l"],[12271,0,"e"],[12272,0," "],[12273,0,"k"],[12274,0,"_"],[12275,0,"1"],[12276,0,","],[12277,0," "],[12278,0,"\\"],[12279,0,"d"],[12280,0,"o"],[12281,0,"t"],[12282,0,"s"],[12283,0,","],[12284,0," "],[12285,0,"\\"],[12286,0,"k"],[12286,1],[12285,1],[12285,0,"k"],[12286,0,"_"],[12287,0,"{"],[12288,0,"n"],[12289,0,"-"],[12290,0,"1"],[12291,0,"}"],[12292,0," "],[12293,0,"\\"],[12294,0,"r"],[12295,0,"a"],[12296,0,"n"],[12297,0,"g"],[12298,0,"l"],[12299,0,"e"],[12300,0,","],[12301,0,"\\"],[12302,0,","],[12303,0," "],[12304,0,"k"],[12305,0,"_"],[12306,0,"n"],[12307,0,")"],[12308,0,"$"],[12309,0," "],[12310,0,"c"],[12311,0,"o"],[12312,0,"n"],[12313,0,"s"],[12314,0,"i"],[12315,0,"s"],[12316,0,"t"],[12317,0,"s"],[12318,0," "],[12319,0,"o"],[12320,0,"f"],[12321,0," "],[12322,0,"a"],[12323,0," "],[12324,0,"v"],[12325,0,"e"],[12326,0,"c"],[12327,0,"t"],[12328,0,"o"],[12329,0,"r"],[12330,0," "],[12331,0,"o"],[12332,0,"f"],[12333,0," "],[12334,0,"k"],[12335,0,"e"],[12336,0,"y"],[12337,0,"s"],[12338,0," "],[12339,0,"$"],[12340,0,"\\"],[12341,0,"l"],[12342,0,"a"],[12343,0,"n"],[12344,0,"g"],[12345,0,"l"],[12346,0,"e"],[12347,0," "],[12348,0,"k"],[12349,0,"_"],[12350,0,"1"],[12351,0,","],[12352,0," "],[12353,0,"\\"],[12354,0,"d"],[12355,0,"o"],[12356,0,"t"],[12357,0,"s"],[12323,0," "],[12324,0,"("],[12325,0,"p"],[12326,0,"o"],[12327,0,"s"],[12328,0,"s"],[12329,0,"i"],[12330,0,"b"],[12331,0,"l"],[12332,0,"y"],[12333,0," "],[12334,0,"e"],[12335,0,"m"],[12336,0,"p"],[12337,0,"t"],[12338,0,"y"],[12339,0,")"],[12375,0,","],[12376,0," "],[12377,0,"k"],[12378,0,"_"],[12379,0,"{"],[12380,0,"n"],[12381,0,"-"],[12382,0,"1"],[12383,0,"}"],[12384,0," "],[12385,0,"\\"],[12386,0,"r"],[12387,0,"a"],[12388,0,"n"],[12389,0,"g"],[12390,0,"l"],[12391,0,"e"],[12392,0,"$"],[12393,0,","],[12394,0," "],[12395,0,"a"],[12396,0,"n"],[12397,0,"d"],[12398,0," "],[12399,0,"a"],[12400,0," "],[12401,0,"f"],[12402,0,"i"],[12403,0,"n"],[12404,0,"a"],[12405,0,"l"],[12406,0," "],[12407,0,"k"],[12408,0,"e"],[12409,0,"y"],[12410,0," "],[12411,0,"$"],[12412,0,"k"],[12413,0,"_"],[12414,0,"n"],[12415,0,"$"],[12416,0," "],[12417,0,"("],[12418,0,"w"],[12419,0,"h"],[12420,0,"i"],[12421,0,"c"],[12422,0,"h"],[12423,0," "],[12424,0,"i"],[12425,0,"s"],[12426,0," "],[12427,0,"a"],[12428,0,"l"],[12429,0,"w"],[12430,0,"a"],[12431,0,"y"],[12432,0,"s"],[12433,0," "],[12434,0,"p"],[12435,0,"r"],[12436,0,"e"],[12437,0,"s"],[12438,0,"e"],[12439,0,"n"],[12440,0,"t"],[12441,0,")"],[12442,0,"."],[12443,0," "],[12444,0,"$"],[12445,0,"k"],[12446,0,"_"],[12447,0,"n"],[12448,0,"$"],[12449,0," "],[12450,0,"c"],[12451,0,"a"],[12452,0,"n"],[12453,0," "],[12454,0,"b"],[12455,0,"e"],[12456,0," "],[12457,0,"t"],[12458,0,"h"],[12459,0,"o"],[12460,0,"u"],[12461,0,"g"],[12462,0,"h"],[12463,0,"t"],[12464,0," "],[12465,0,"o"],[12466,0,"f"],[12467,0," "],[12468,0,"a"],[12469,0,"s"],[12470,0," "],[12471,0,"t"],[12472,0,"h"],[12473,0,"e"],[12474,0," "],[12475,0,"f"],[12476,0,"i"],[12477,0,"n"],[12478,0,"a"],[12479,0,"l"],[12480,0," "],[12481,0,"e"],[12482,0,"l"],[12483,0,"e"],[12484,0,"m"],[12485,0,"e"],[12486,0,"n"],[12487,0,"t"],[12488,0," "],[12489,0,"o"],[12490,0,"f"],[12491,0," "],[12492,0,"t"],[12493,0,"h"],[12494,0,"e"],[12495,0," "],[12496,0,"v"],[12497,0,"e"],[12498,0,"c"],[12499,0,"t"],[12500,0,"o"],[12501,0,"r"],[12502,0,","],[12503,0," "],[12504,0,"w"],[12505,0,"i"],[12506,0,"t"],[12507,0,"h"],[12508,0," "],[12509,0,"t"],[12510,0,"h"],[12511,0,"e"],[12512,0," "],[12513,0,"d"],[12514,0,"i"],[12515,0,"s"],[12516,0,"t"],[12517,0,"i"],[12518,0,"n"],[12519,0,"c"],[12520,0,"t"],[12521,0,"i"],[12522,0,"o"],[12523,0,"n"],[12524,0," "],[12525,0,"t"],[12526,0,"h"],[12527,0,"a"],[12528,0,"t"],[12529,0," "],[12530,0,"i"],[12531,0,"s"],[12531,1],[12531,0,"t"],[12532,0," "],[12533,0,"i"],[12534,0,"s"],[12535,0," "],[12536,0,"n"],[12537,0,"o"],[12538,0,"t"],[12539,0," "],[12540,0,"t"],[12541,0,"a"],[12542,0,"g"],[12543,0,"g"],[12544,0,"e"],[12545,0,"d"],[12546,0," "],[12547,0,"w"],[12548,0,"i"],[12549,0,"t"],[12550,0,"h"],[12551,0," "],[12552,0,"a"],[12553,0," "],[12554,0,"d"],[12555,0,"a"],[12556,0,"t"],[12557,0,"a"],[12558,0,"t"],[12559,0,"y"],[12560,0,"p"],[12561,0,"e"],[12562,0,","],[12563,0," "],[12564,0,"w"],[12565,0,"h"],[12566,0,"e"],[12567,0,"r"],[12568,0,"e"],[12569,0,"a"],[12570,0,"s"],[12571,0," "],[12572,0,"t"],[12573,0,"h"],[12574,0,"e"],[12575,0," "],[12576,0,"e"],[12577,0,"l"],[12578,0,"e"],[12579,0,"m"],[12580,0,"e"],[12581,0,"n"],[12582,0,"t"],[12583,0,"s"],[12584,0," "],[12585,0,"o"],[12586,0,"f"],[12587,0," "],[12588,0,"t"],[12589,0,"h"],[12590,0,"e"],[12591,0," "],[12592,0,"v"],[12593,0,"e"],[12594,0,"c"],[12595,0,"t"],[12596,0,"o"],[12597,0,"r"],[12598,0," "],[12599,0,"h"],[12600,0,"a"],[12601,0,"v"],[12602,0,"e"],[12603,0," "],[12604,0,"a"],[12605,0," "],[12606,0,"d"],[12607,0,"a"],[12608,0,"t"],[12609,0,"a"],[12610,0,"t"],[12611,0,"y"],[12612,0,"p"],[12613,0,"e"],[12614,0," "],[12615,0,"a"],[12616,0,"n"],[12617,0,"n"],[12617,1],[12616,1],[12615,1],[12615,0,"a"],[12616,0,"t"],[12617,0,"o"],[12618,0,"m"],[12619,0," "],[12620,0,"s"],[12621,0,"u"],[12622,0,"c"],[12623,0,"h"],[12624,0," "],[12625,0,"a"],[12626,0,"s"],[12627,0," "],[12628,0,"$"],[12629,0,"\\"],[12629,1],[12628,1],[12628,0,"\\"],[12629,0,"t"],[12630,0,"e"],[12631,0,"x"],[12632,0,"t"],[12633,0,"s"],[12634,0,"f"],[12635,0,"{"],[12636,0,"m"],[12637,0,"a"],[12638,0,"p"],[12639,0,"T"],[12640,0,"}"],[12641,0," "],[12642,0,"o"],[12643,0,"r"],[12644,0," "],[12645,0,"\\"],[12646,0,"t"],[12647,0,"e"],[12648,0,"x"],[12649,0,"t"],[12650,0,"s"],[12651,0,"f"],[12652,0,"{"],[12653,0,"l"],[12654,0,"i"],[12655,0,"s"],[12656,0,"t"],[12657,0,"T"],[12658,0,"}"],[12659,0,"."],[12660,0,"\n"],[12661,0,"\n"],[12662,0,"T"],[12663,0,"h"],[12664,0,"e"],[12665,0," "],[12666,0,"\\"],[12667,0,"m"],[12668,0,"a"],[12669,0,"t"],[12669,1],[12668,1],[12667,1],[12667,0,"t"],[12668,0,"e"],[12669,0,"x"],[12670,0,"t"],[12671,0,"s"],[12672,0,"c"],[12673,0,"{"],[12674,0,"D"],[12675,0,"o"],[12676,0,"c"],[12677,0,"}"],[12678,0," "],[12679,0,"r"],[12680,0,"u"],[12681,0,"l"],[12682,0,"e"],[12683,0," "],[12684,0,"i"],[12685,0,"n"],[12686,0," "],[12687,0,"F"],[12688,0,"i"],[12689,0,"g"],[12690,0,"u"],[12691,0,"r"],[12692,0,"e"],[12693,0,"~"],[12694,0,"\\"],[12695,0,"r"],[12696,0,"e"],[12697,0,"f"],[12698,0,"{"],[12699,0,"f"],[12700,0,"i"],[12701,0,"g"],[12702,0,":"],[12703,0,"e"],[12704,0,"x"],[12705,0,"p"],[12706,0,"r"],[12707,0,"-"],[12708,0,"r"],[12709,0,"u"],[12710,0,"l"],[12711,0,"e"],[12712,0,"s"],[12713,0,"}"],[12714,0," "],[12715,0,"d"],[12716,0,"e"],[12717,0,"f"],[12718,0,"i"],[12719,0,"n"],[12720,0,"e"],[12721,0,"s"],[12722,0," "],[12723,0,"t"],[12724,0,"h"],[12725,0,"e"],[12726,0," "],[12727,0,"s"],[12728,0,"i"],[12729,0,"m"],[12730,0,"p"],[12731,0,"l"],[12732,0,"e"],[12733,0,"s"],[12734,0,"t"],[12735,0," "],[12736,0,"c"],[12737,0,"u"],[12738,0,"r"],[12739,0,"s"],[12740,0,"o"],[12741,0,"r"],[12742,0,","],[12743,0," "],[12744,0,"r"],[12745,0,"e"],[12746,0,"f"],[12747,0,"e"],[12748,0,"r"],[12749,0,"e"],[12750,0,"n"],[12751,0,"c"],[12752,0,"i"],[12753,0,"n"],[12754,0,"g"],[12755,0," "],[12756,0,"t"],[12757,0,"h"],[12758,0,"e"],[12759,0," "],[12760,0,"r"],[12761,0,"o"],[12762,0,"o"],[12763,0,"t"],[12764,0," "],[12765,0,"o"],[12766,0,"f"],[12767,0," "],[12768,0,"t"],[12769,0,"h"],[12770,0,"e"],[12771,0," "],[12772,0,"d"],[12773,0,"o"],[12774,0,"c"],[12775,0,"u"],[12776,0,"m"],[12777,0,"e"],[12778,0,"n"],[12779,0,"t"],[12780,0," "],[12781,0,"u"],[12782,0,"s"],[12783,0,"i"],[12784,0,"n"],[12785,0,"g"],[12786,0," "],[12787,0,"t"],[12788,0,"h"],[12789,0,"e"],[12790,0," "],[12791,0,"s"],[12792,0,"p"],[12793,0,"e"],[12794,0,"c"],[12795,0,"i"],[12796,0,"a"],[12797,0,"l"],[12798,0," "],[12799,0,"a"],[12800,0,"t"],[12801,0,"o"],[12802,0,"m"],[12803,0," "],[12804,0,"\\"],[12805,0,"m"],[12806,0,"a"],[12806,1],[12805,1],[12805,0,"t"],[12806,0,"e"],[12807,0,"x"],[12808,0,"t"],[12809,0,"s"],[12810,0,"f"],[12811,0,"{"],[12812,0,"d"],[12813,0,"o"],[12814,0,"c"],[12815,0,"}"],[12816,0,"."],[12817,0," "],[12818,0,"I"],[12819,0,"f"],[12820,0," "],[12821,0,"t"],[12822,0,"h"],[12823,0,"e"],[12824,0," "],[12825,0,"r"],[12826,0,"o"],[12827,0,"o"],[12828,0,"t"],[12829,0," "],[12830,0,"i"],[12831,0,"s"],[12832,0," "],[12833,0,"a"],[12834,0," "],[12835,0,"m"],[12836,0,"a"],[12837,0,"p"],[12838,0," "],[12839,0,"("],[12840,0,"a"],[12841,0,"s"],[12842,0," "],[12843,0,"i"],[12844,0,"n"],[12845,0," "],[12846,0,"t"],[12847,0,"h"],[12848,0,"e"],[12849,0," "],[12850,0,"e"],[12851,0,"x"],[12852,0,"a"],[12853,0,"m"],[12854,0,"p"],[12855,0,"l"],[12856,0,"e"],[12857,0," "],[12858,0,"o"],[12859,0,"f"],[12860,0," "],[12860,1],[12859,1],[12858,1],[12857,1],[12856,1],[12855,1],[12854,1],[12853,1],[12852,1],[12851,1],[12850,1],[12849,1],[12848,1],[12847,1],[12846,1],[12845,1],[12844,1],[12843,1],[12842,1],[12841,1],[12840,1],[12839,1],[12838,1],[12837,1],[12836,1],[12835,1],[12834,1],[12833,1],[12832,1],[12831,1],[12830,1],[12829,1],[12828,1],[12827,1],[12826,1],[12825,1],[12824,1],[12823,1],[12822,1],[12821,1],[12820,1],[12819,1],[12818,1],[12818,0,"T"],[12819,0,"h"],[12820,0,"e"],[12821,0," "],[12822,0,"\\"],[12823,0,"t"],[12824,0,"e"],[12825,0,"x"],[12826,0,"t"],[12827,0,"s"],[12828,0,"c"],[12829,0,"{"],[12830,0,"G"],[12831,0,"e"],[12832,0,"t"],[12833,0,"}"],[12834,0," "],[12835,0,"r"],[12836,0,"u"],[12837,0,"l"],[12838,0,"e"],[12839,0," "],[12840,0,"n"],[12841,0,"a"],[12842,0,"v"],[12843,0,"i"],[12844,0,"g"],[12845,0,"a"],[12846,0,"t"],[12847,0,"e"],[12848,0,"s"],[12849,0," "],[12850,0,"a"],[12851,0," "],[12852,0,"c"],[12853,0,"u"],[12854,0,"r"],[12855,0,"s"],[12856,0,"o"],[12857,0,"r"],[12858,0," "],[12742,0," "],[12743,0,"$"],[12744,0,"\\"],[12745,0,"m"],[12746,0,"a"],[12747,0,"t"],[12748,0,"h"],[12749,0,"s"],[12750,0,"f"],[12751,0,"{"],[12752,0,"c"],[12753,0,"u"],[12754,0,"r"],[12755,0,"s"],[12756,0,"o"],[12757,0,"r"],[12758,0,"}"],[12759,0,"("],[12760,0,"\\"],[12761,0,"l"],[12762,0,"a"],[12763,0,"n"],[12764,0,"g"],[12765,0,"l"],[12766,0,"e"],[12767,0,"\\"],[12768,0,"r"],[12769,0,"a"],[12770,0,"n"],[12771,0,"g"],[12772,0,"l"],[12773,0,"e"],[12774,0,","],[12775,0,"\\"],[12776,0,","],[12777,0," "],[12778,0,"\\"],[12779,0,"m"],[12780,0,"a"],[12781,0,"t"],[12782,0,"h"],[12783,0,"s"],[12784,0,"f"],[12785,0,"{"],[12786,0,"d"],[12787,0,"o"],[12788,0,"c"],[12789,0,"}"],[12790,0,")"],[12791,0,"$"],[12909,0,"t"],[12910,0,"o"],[12911,0," "],[12912,0,"a"],[12913,0," "],[12914,0,"p"],[12915,0,"a"],[12916,0,"r"],[12917,0,"t"],[12918,0,"i"],[12919,0,"c"],[12920,0,"u"],[12921,0,"l"],[12922,0,"a"],[12923,0,"r"],[12924,0," "],[12925,0,"k"],[12926,0,"e"],[12927,0,"y"],[12928,0," "],[12929,0,"w"],[12930,0,"i"],[12931,0,"t"],[12932,0,"h"],[12933,0,"i"],[12934,0,"n"],[12935,0," "],[12936,0,"a"],[12937,0," "],[12938,0,"m"],[12939,0,"a"],[12940,0,"p"],[12941,0,","],[12942,0," "],[12943,0,"s"],[12944,0,"o"],[12945,0," "],[12946,0,"t"],[12947,0,"h"],[12948,0,"e"],[12949,0," "],[12950,0,"k"],[12951,0,"e"],[12952,0,"y"],[12953,0," "],[12954,0,"`"],[12955,0,"`"],[12956,0,"w"],[12957,0,"h"],[12957,1],[12956,1],[12956,0,"s"],[12957,0,"h"],[12958,0,"o"],[12959,0,"p"],[12960,0,"p"],[12961,0,"i"],[12962,0,"n"],[12963,0,"g"],[12964,0,"'"],[12965,0,"'"],[12966,0," "],[12967,0,"i"],[12968,0,"n"],[12969,0," "],[12970,0,"t"],[12971,0,"h"],[12972,0,"e"],[12973,0," "],[12974,0,"r"],[12975,0,"o"],[12976,0,"o"],[12977,0,"t"],[12978,0," "],[12979,0,"d"],[12980,0,"o"],[12981,0,"c"],[12982,0,"u"],[12983,0,"m"],[12984,0,"e"],[12985,0,"n"],[12986,0,"t"],[12987,0," "],[12988,0,"i"],[12989,0,"s"],[12990,0," "],[12991,0,"r"],[12992,0,"e"],[12993,0,"p"],[12994,0,"r"],[12995,0,"e"],[12996,0,"s"],[12997,0,"e"],[12998,0,"n"],[12999,0,"t"],[13000,0,"e"],[13001,0,"d"],[13002,0," "],[13002,1],[13001,1],[13000,1],[12999,1],[12998,1],[12997,1],[12996,1],[12995,1],[12994,1],[12993,1],[12992,1],[12991,1],[12990,1],[12989,1],[12988,1],[12987,1],[12986,1],[12985,1],[12984,1],[12983,1],[12982,1],[12981,1],[12980,1],[12979,1],[12978,1],[12977,1],[12976,1],[12975,1],[12974,1],[12973,1],[12972,1],[12971,1],[12970,1],[12969,1],[12968,1],[12967,1],[12966,1],[12965,1],[12964,1],[12963,1],[12962,1],[12961,1],[12960,1],[12959,1],[12958,1],[12957,1],[12956,1],[12955,1],[12954,1],[12953,1],[12952,1],[12951,1],[12950,1],[12949,1],[12948,1],[12947,1],[12946,1],[12945,1],[12944,1],[12943,1],[12942,1],[12941,1],[12940,1],[12939,1],[12938,1],[12938,0,"m"],[12939,0,"a"],[12940,0,"p"],[12941,0,"."],[12942,0," "],[12943,0,"F"],[12944,0,"o"],[12945,0,"r"],[12946,0," "],[12947,0,"e"],[12948,0,"x"],[12949,0,"a"],[12950,0,"m"],[12951,0,"p"],[12952,0,"l"],[12953,0,"e"],[12954,0,","],[12955,0," "],[12956,0,"t"],[12957,0,"h"],[12958,0,"e"],[12959,0," "],[12960,0,"e"],[12961,0,"x"],[12962,0,"p"],[12963,0,"r"],[12964,0,"e"],[12965,0,"s"],[12966,0,"s"],[12967,0,"i"],[12968,0,"o"],[12969,0,"n"],[12970,0," "],[12971,0,"$"],[12972,0,"\\"],[12972,1],[12971,1],[12971,0,"\\"],[12972,0,"v"],[12973,0,"e"],[12974,0,"r"],[12975,0,"b"],[12976,0,"|"],[12977,0,"d"],[12978,0,"o"],[12979,0,"c"],[12980,0,"."],[12981,0,"g"],[12982,0,"e"],[12983,0,"t"],[12984,0,"("],[12985,0,"\""],[12986,0,"s"],[12987,0,"h"],[12988,0,"o"],[12989,0,"p"],[12990,0,"p"],[12991,0,"i"],[12992,0,"n"],[12993,0,"g"],[12994,0,"\""],[12995,0,")"],[12996,0,"|"],[12997,0," "],[12998,0,"e"],[12999,0,"v"],[13000,0,"a"],[13001,0,"l"],[13002,0,"u"],[13003,0,"a"],[13004,0,"t"],[13005,0,"e"],[13006,0,"s"],[13007,0," "],[13008,0,"t"],[13009,0,"o"],[13010,0," "],[13011,0,"t"],[13012,0,"h"],[13013,0,"e"],[13014,0," "],[13015,0,"c"],[13016,0,"u"],[13017,0,"r"],[13018,0,"s"],[13019,0,"o"],[13020,0,"r"],[13021,0," "],[13022,0,"$"],[13022,1],[13021,1],[13020,1],[13019,1],[13018,1],[13017,1],[13016,1],[13015,1],[13014,1],[13013,1],[13012,1],[13011,1],[13011,0,"$"],[13012,0,"\\"],[13013,0,"m"],[13014,0,"a"],[13015,0,"t"],[13016,0,"h"],[13017,0,"s"],[13018,0,"f"],[13019,0,"{"],[13020,0,"c"],[13021,0,"u"],[13022,0,"r"],[13023,0,"s"],[13024,0,"o"],[13025,0,"r"],[13026,0,"}"],[13027,0,"("],[13028,0,"\\"],[13029,0,"l"],[13030,0,"a"],[13031,0,"n"],[13032,0,"g"],[13033,0,"l"],[13034,0,"e"],[13035,0," "],[13036,0,"\\"],[13037,0,"m"],[13038,0,"a"],[13039,0,"t"],[13040,0,"h"],[13041,0,"s"],[13042,0,"f"],[13043,0,"{"],[13044,0,"m"],[13045,0,"a"],[13046,0,"p"],[13047,0,"T"],[13048,0,"}"],[13049,0,"("],[13050,0,"\\"],[13051,0,"m"],[13052,0,"a"],[13053,0,"t"],[13054,0,"h"],[13055,0,"s"],[13056,0,"f"],[13057,0,"{"],[13058,0,"d"],[13059,0,"o"],[13060,0,"c"],[13061,0,"}"],[13062,0,")"],[13063,0," "],[13064,0,"\\"],[13065,0,"r"],[13066,0,"a"],[13067,0,"n"],[13068,0,"g"],[13069,0,"l"],[13070,0,"e"],[13071,0,","],[13072,0,"\\"],[13073,0,","],[13074,0," "],[13075,0,"\\"],[13076,0,"t"],[13077,0,"e"],[13078,0,"x"],[13079,0,"t"],[13080,0,"{"],[13081,0,"`"],[13082,0,"`"],[13083,0,"s"],[13084,0,"h"],[13085,0,"o"],[13086,0,"p"],[13087,0,"p"],[13088,0,"i"],[13089,0,"n"],[13090,0,"g"],[13091,0,"'"],[13092,0,"'"],[13093,0,"}"],[13094,0,")"],[13095,0,"$"],[13096,0," "],[13097,0,"b"],[13098,0,"y"],[13099,0," "],[13100,0,"a"],[13101,0,"p"],[13102,0,"p"],[13103,0,"l"],[13104,0,"y"],[13105,0,"i"],[13106,0,"n"],[13107,0,"g"],[13108,0," "],[13109,0,"t"],[13110,0,"h"],[13111,0,"e"],[13112,0," "],[13113,0,"\\"],[13114,0,"t"],[13115,0,"e"],[13116,0,"x"],[13117,0,"t"],[13118,0,"s"],[13119,0,"c"],[13120,0,"{"],[13121,0,"D"],[13122,0,"o"],[13123,0,"c"],[13124,0,"}"],[13125,0," "],[13126,0,"a"],[13127,0,"n"],[13128,0,"d"],[13129,0," "],[13130,0,"\\"],[13131,0,"t"],[13132,0,"e"],[13133,0,"x"],[13134,0,"t"],[13135,0,"s"],[13136,0,"c"],[13137,0,"{"],[13138,0,"G"],[13139,0,"e"],[13140,0,"t"],[13141,0,"}"],[13142,0," "],[13143,0,"r"],[13144,0,"u"],[13145,0,"l"],[13146,0,"e"],[13147,0,"s"],[13148,0,"."],[13149,0,"\n"],[13150,0,"\n"],[13151,0,"T"],[13152,0,"h"],[13153,0,"e"],[13154,0," "],[13155,0,"\\"],[13156,0,"t"],[13157,0,"e"],[13158,0,"x"],[13159,0,"t"],[13160,0,"s"],[13161,0,"c"],[13162,0,"{"],[13163,0,"I"],[13164,0,"t"],[13165,0,"e"],[13166,0,"r"],[13167,0,"}"],[13168,0," "],[13169,0,"r"],[13170,0,"u"],[13171,0,"l"],[13172,0,"e"],[13173,0," "],[13174,0,"s"],[13175,0,"h"],[13176,0,"u"],[13176,1],[13176,0,"i"],[13177,0,"f"],[13178,0,"t"],[13179,0,"s"],[13180,0," "],[13181,0,"t"],[13182,0,"h"],[13183,0,"e"],[13184,0," "],[13185,0,"c"],[13186,0,"u"],[13187,0,"r"],[13188,0,"s"],[13189,0,"o"],[13190,0,"r"],[13191,0," "],[13192,0,"i"],[13193,0,"n"],[13194,0,"t"],[13195,0,"o"],[13196,0," "],[13197,0,"a"],[13198,0," "],[13199,0,"l"],[13200,0,"i"],[13201,0,"s"],[13202,0,"t"],[13203,0," "],[13204,0,"v"],[13205,0,"a"],[13206,0,"l"],[13206,1],[13205,1],[13204,1],[13203,1],[13203,0," "],[13204,0,"a"],[13205,0,"n"],[13206,0,"d"],[13207,0," "],[13208,0,"p"],[13209,0,"o"],[13210,0,"s"],[13211,0,"i"],[13212,0,"t"],[13213,0,"i"],[13214,0,"o"],[13215,0,"n"],[13216,0,"s"],[13217,0," "],[13218,0,"t"],[13219,0,"h"],[13220,0,"e"],[13221,0," "],[13221,1],[13220,1],[13219,1],[13218,1],[13218,0,"i"],[13219,0,"t"],[13220,0," "],[13221,0,"a"],[13222,0,"t"],[13223,0," "],[13224,0,"t"],[13225,0,"h"],[13226,0,"e"],[13227,0," "],[13228,0,"\\"],[13229,0,"m"],[13230,0,"a"],[13230,1],[13229,1],[13229,0,"t"],[13230,0,"e"],[13231,0,"x"],[13232,0,"t"],[13233,0,"s"],[13234,0,"f"],[13235,0,"{"],[13236,0,"h"],[13237,0,"e"],[13238,0,"a"],[13239,0,"d"],[13240,0,"}"],[13241,0," "],[13242,0,"o"],[13243,0,"f"],[13244,0," "],[13245,0,"t"],[13246,0,"h"],[13247,0,"e"],[13248,0," "],[13249,0,"l"],[13250,0,"i"],[13251,0,"s"],[13252,0,"t"],[13253,0,"."],[13254,0," "],[13255,0,"T"],[13256,0,"h"],[13257,0,"i"],[13258,0,"s"],[13259,0," "],[13260,0,"r"],[13261,0,"u"],[13262,0,"l"],[13263,0,"e"],[13264,0," "],[13265,0,"a"],[13266,0,"p"],[13267,0,"p"],[13268,0,"l"],[13269,0,"i"],[13270,0,"e"],[13271,0,"s"],[13272,0," "],[13273,0,"e"],[13274,0,"v"],[13275,0,"e"],[13276,0,"n"],[13277,0," "],[13278,0,"i"],[13279,0,"f"],[13280,0," "],[13281,0,"$"],[13281,1],[13281,0,"t"],[13282,0,"h"],[13283,0,"e"],[13284,0," "],[13285,0,"l"],[13286,0,"i"],[13287,0,"s"],[13288,0,"t"],[13289,0," "],[13290,0,"i"],[13291,0,"s"],[13292,0," "],[13293,0,"e"],[13294,0,"m"],[13295,0,"p"],[13296,0,"t"],[13297,0,"y"],[13298,0," "],[13299,0,"o"],[13300,0,"r"],[13301,0," "],[13302,0,"n"],[13303,0,"o"],[13304,0,"n"],[13305,0,"e"],[13306,0,"x"],[13307,0,"i"],[13308,0,"s"],[13309,0,"t"],[13310,0,"e"],[13311,0,"n"],[13312,0,"t"],[13313,0," "],[13314,0,"i"],[13315,0,"n"],[13316,0," "],[13317,0,"$"],[13318,0,"A"],[13319,0,"_"],[13320,0,"p"],[13321,0,"$"],[13322,0,"."],[13323,0," "],[13324,0,"T"],[13325,0,"h"],[13326,0,"e"],[13327,0," "],[13328,0,"t"],[13329,0,"h"],[13330,0,"r"],[13331,0,"e"],[13332,0,"e"],[13333,0," "],[13334,0,"r"],[13335,0,"u"],[13336,0,"l"],[13337,0,"e"],[13338,0,"s"],[13339,0," "],[13340,0,"$"],[13341,0,"\\"],[13342,0,"t"],[13343,0,"e"],[13344,0,"x"],[13345,0,"t"],[13346,0,"s"],[13347,0,"c"],[13348,0,"{"],[13349,0,"N"],[13350,0,"e"],[13351,0,"x"],[13352,0,"t"],[13353,0,"}"],[13354,0,"_"],[13355,0,"1"],[13356,0,"$"],[13357,0,","],[13358,0," "],[13359,0,"$"],[13360,0,"\\"],[13361,0,"t"],[13362,0,"e"],[13363,0,"x"],[13364,0,"t"],[13365,0,"s"],[13366,0,"c"],[13367,0,"{"],[13368,0,"N"],[13369,0,"e"],[13370,0,"x"],[13371,0,"t"],[13372,0,"}"],[13373,0,"_"],[13374,0,"2"],[13375,0,"$"],[13376,0," "],[13377,0,"a"],[13378,0,"n"],[13379,0,"d"],[13380,0," "],[13381,0,"$"],[13382,0,"\\"],[13383,0,"t"],[13384,0,"e"],[13385,0,"x"],[13386,0,"t"],[13387,0,"s"],[13388,0,"c"],[13389,0,"{"],[13390,0,"N"],[13391,0,"e"],[13392,0,"x"],[13393,0,"t"],[13394,0,"}"],[13395,0,"$"],[13396,0," "],[13397,0,"h"],[13398,0,"a"],[13399,0,"n"],[13400,0,"d"],[13401,0,"l"],[13402,0,"e"],[13403,0," "],[13404,0,"i"],[13405,0,"t"],[13406,0,"e"],[13407,0,"r"],[13408,0,"a"],[13409,0,"t"],[13410,0,"i"],[13411,0,"o"],[13412,0,"n"],[13413,0," "],[13414,0,"t"],[13415,0,"h"],[13416,0,"r"],[13417,0,"o"],[13418,0,"u"],[13419,0,"g"],[13420,0,"h"],[13421,0," "],[13422,0,"a"],[13423,0," "],[13424,0,"l"],[13425,0,"i"],[13426,0,"n"],[13427,0,"k"],[13428,0,"e"],[13429,0,"d"],[13430,0," "],[13431,0,"l"],[13432,0,"i"],[13433,0,"s"],[13434,0,"t"],[13435,0," "],[13436,0,"b"],[13437,0,"y"],[13438,0," "],[13439,0,"s"],[13440,0,"e"],[13441,0,"t"],[13442,0,"t"],[13443,0,"i"],[13444,0,"n"],[13445,0,"g"],[13446,0," "],[13447,0,"t"],[13448,0,"h"],[13449,0,"e"],[13450,0," "],[13451,0,"f"],[13452,0,"i"],[13453,0,"n"],[13454,0,"a"],[13455,0,"l"],[13456,0," "],[13457,0,"k"],[13458,0,"e"],[13459,0,"y"],[13460,0," "],[13461,0,"i"],[13462,0,"n"],[13463,0," "],[13464,0,"t"],[13465,0,"h"],[13466,0,"e"],[13467,0," "],[13468,0,"c"],[13469,0,"u"],[13470,0,"r"],[13471,0,"s"],[13472,0,"o"],[13473,0,"r"],[13474,0," "],[13475,0,"t"],[13476,0,"o"],[13477,0," "],[13478,0,"t"],[13479,0,"h"],[13480,0,"e"],[13481,0," "],[13355,0,"{"],[13357,0,","],[13358,0,"2"],[13359,0,","],[13360,0,"3"],[13361,0,"}"],[13400,1],[13399,1],[13398,1],[13397,1],[13396,1],[13395,1],[13394,1],[13393,1],[13392,1],[13391,1],[13390,1],[13389,1],[13388,1],[13387,1],[13386,1],[13385,1],[13384,1],[13383,1],[13382,1],[13381,1],[13380,1],[13379,1],[13378,1],[13377,1],[13376,1],[13375,1],[13374,1],[13373,1],[13372,1],[13371,1],[13370,1],[13369,1],[13368,1],[13367,1],[13366,1],[13365,1],[13364,1],[13363,1],[13362,1],[13449,0,"i"],[13450,0,"d"],[13451,0,"e"],[13452,0,"n"],[13453,0,"t"],[13454,0,"i"],[13455,0,"f"],[13456,0,"i"],[13457,0,"e"],[13458,0,"r"],[13459,0," "],[13460,0,"o"],[13461,0,"f"],[13462,0," "],[13463,0,"t"],[13464,0,"h"],[13465,0,"e"],[13466,0," "],[13467,0,"n"],[13468,0,"e"],[13469,0,"x"],[13470,0,"t"],[13471,0," "],[13472,0,"l"],[13473,0,"i"],[13474,0,"s"],[13475,0,"t"],[13476,0," "],[13477,0,"e"],[13478,0,"l"],[13479,0,"e"],[13480,0,"m"],[13481,0,"e"],[13482,0,"n"],[13483,0,"t"],[13484,0,"."],[13485,0," "],[13486,0,"T"],[13487,0,"h"],[13488,0,"e"],[13489,0," "],[13490,0,"\\"],[13491,0,"t"],[13492,0,"e"],[13493,0,"x"],[13494,0,"t"],[13495,0,"s"],[13496,0,"c"],[13497,0,"{"],[13498,0,"N"],[13499,0,"e"],[13500,0,"x"],[13501,0,"t"],[13502,0,"}"],[13503,0," "],[13504,0,"r"],[13505,0,"u"],[13506,0,"l"],[13507,0,"e"],[13508,0,"s"],[13509,0," "],[13510,0,"a"],[13511,0,"p"],[13512,0,"p"],[13513,0,"l"],[13514,0,"y"],[13515,0," "],[13516,0,"o"],[13517,0,"n"],[13518,0,"l"],[13519,0,"y"],[13520,0," "],[13521,0,"i"],[13522,0,"f"],[13523,0," "],[13524,0,"t"],[13525,0,"h"],[13526,0,"e"],[13527,0," "],[13528,0,"l"],[13529,0,"i"],[13530,0,"s"],[13531,0,"t"],[13532,0," "],[13533,0,"e"],[13534,0,"x"],[13535,0,"i"],[13536,0,"s"],[13537,0,"t"],[13538,0,"s"],[13539,0," "],[13540,0,"i"],[13541,0,"n"],[13542,0," "],[13543,0,"$"],[13544,0,"A"],[13545,0,"_"],[13546,0,"p"],[13547,0,"$"],[13548,0,","],[13549,0," "],[13550,0,"a"],[13551,0,"n"],[13552,0,"d"],[13553,0," "],[13554,0,"t"],[13555,0,"h"],[13556,0,"e"],[13557,0," "],[13558,0,"\\"],[13559,0,"t"],[13560,0,"e"],[13561,0,"x"],[13562,0,"t"],[13563,0,"s"],[13564,0,"c"],[13565,0,"{"],[13566,0,"N"],[13567,0,"e"],[13568,0,"x"],[13569,0,"t"],[13570,0,"}"],[13571,0,"+"],[13572,0,"_"],[13573,0,"3"],[13571,1],[13558,0,"$"],[13574,0,"$"],[13575,0," "],[13576,0,"r"],[13577,0,"e"],[13578,0,"c"],[13579,0,"u"],[13580,0,"r"],[13581,0,"s"],[13582,0,"i"],[13583,0,"v"],[13584,0,"e"],[13585,0,"l"],[13586,0,"y"],[13587,0," "],[13588,0,"d"],[13589,0,"e"],[13590,0,"s"],[13591,0,"c"],[13592,0,"e"],[13593,0,"n"],[13594,0,"d"],[13595,0,"s"],[13596,0," "],[13597,0,"t"],[13598,0,"h"],[13599,0,"e"],[13600,0," "],[13601,0,"l"],[13602,0,"o"],[13603,0,"c"],[13604,0,"a"],[13605,0,"l"],[13606,0," "],[13607,0,"s"],[13608,0,"t"],[13609,0,"a"],[13610,0,"t"],[13611,0,"e"],[13612,0," "],[13613,0,"a"],[13614,0,"c"],[13615,0,"c"],[13616,0,"o"],[13617,0,"r"],[13618,0,"d"],[13619,0,"i"],[13620,0,"n"],[13621,0,"g"],[13622,0," "],[13623,0,"t"],[13624,0,"o"],[13625,0," "],[13626,0,"t"],[13627,0,"h"],[13628,0,"e"],[13629,0," "],[13630,0,"v"],[13631,0,"e"],[13632,0,"c"],[13633,0,"t"],[13634,0,"o"],[13635,0,"r"],[13636,0," "],[13637,0,"o"],[13638,0,"f"],[13639,0," "],[13640,0,"k"],[13641,0,"e"],[13642,0,"y"],[13643,0,"s"],[13644,0," "],[13645,0,"i"],[13646,0,"n"],[13647,0," "],[13648,0,"t"],[13649,0,"h"],[13650,0,"e"],[13651,0," "],[13652,0,"c"],[13653,0,"u"],[13654,0,"r"],[13655,0,"s"],[13656,0,"o"],[13657,0,"r"],[13658,0,"."],[6685,1],[6684,1],[6491,1],[6491,1],[6296,1],[6296,1],[9484,0,"\n"],[9485,0,"\n"],[9486,0,"\\"],[9487,0,"b"],[9488,0,"e"],[9489,0,"g"],[9490,0,"i"],[9491,0,"n"],[9492,0,"{"],[9493,0,"p"],[9494,0,"r"],[9495,0,"o"],[9496,0,"o"],[9497,0,"f"],[9498,0,"t"],[9499,0,"r"],[9500,0,"e"],[9501,0,"e"],[9502,0,"}"],[9503,0,"\n"],[9504,0,"\\"],[9505,0,"e"],[9506,0,"n"],[9507,0,"d"],[9508,0,"{"],[9509,0,"p"],[9510,0,"r"],[9511,0,"o"],[9512,0,"o"],[9513,0,"f"],[9514,0,"t"],[9515,0,"r"],[9516,0,"e"],[9517,0,"e"],[9518,0,"}"],[9503,0,"\n"],[9504,0,"\\"],[9505,0,"A"],[9506,0,"x"],[9507,0,"i"],[9508,0,"o"],[9509,0,"m"],[9510,0,"C"],[9511,0,"{"],[9512,0,"$"],[9513,0,"A"],[9514,0,"_"],[9515,0,"p"],[9516,0,","],[9517,0,"\\"],[9518,0,","],[9519,0," "],[9520,0,"\\"],[9521,0,"m"],[9522,0,"a"],[9523,0,"t"],[9524,0,"h"],[9525,0,"i"],[9526,0,"t"],[9527,0,"{"],[9528,0,"e"],[9529,0,"x"],[9530,0,"p"],[9531,0,"r"],[9532,0,"}"],[9533,0," "],[9534,0,"\\"],[9535,0,"e"],[9536,0,"v"],[9537,0,"a"],[9538,0,"l"],[9539,0,"t"],[9540,0,"o"],[9541,0," "],[9542,0,"\\"],[9543,0,"m"],[9544,0,"a"],[9545,0,"t"],[9546,0,"h"],[9547,0,"i"],[9548,0,"t"],[9549,0,"{"],[9550,0,"v"],[9551,0,"a"],[9552,0,"l"],[9553,0,"}"],[9554,0,"$"],[9555,0,"}"],[9556,0,"\n"],[9557,0,"\\"],[9558,0,"A"],[9559,0,"x"],[9560,0,"i"],[9561,0,"o"],[9562,0,"m"],[9563,0,"C"],[9564,0,"{"],[9565,0,"$"],[9566,0,"A"],[9567,0,"_"],[9568,0,"p"],[9569,0,","],[9570,0,"\\"],[9571,0,","],[9572,0," "],[9573,0,"\\"],[9574,0,"m"],[9575,0,"a"],[9576,0,"t"],[9577,0,"h"],[9578,0,"i"],[9579,0,"t"],[9580,0,"{"],[9550,1],[9550,1],[9550,1],[9550,0,"c"],[9551,0,"u"],[9552,0,"r"],[9581,0,"c"],[9582,0,"u"],[9583,0,"r"],[9584,0,"}"],[9585,0,"."],[9586,0,"\\"],[9587,0,"m"],[9588,0,"a"],[9589,0,"t"],[9590,0,"h"],[9591,0,"s"],[9592,0,"f"],[9593,0,"{"],[9594,0,"v"],[9595,0,"a"],[9596,0,"l"],[9597,0,"u"],[9598,0,"e"],[9599,0,"s"],[9600,0,"}"],[9601,0," "],[9602,0,"\\"],[9603,0,"e"],[9604,0,"v"],[9605,0,"a"],[9606,0,"l"],[9607,0,"t"],[9608,0,"o"],[9609,0," "],[9610,0,"\\"],[9611,0,"m"],[9612,0,"a"],[9613,0,"t"],[9614,0,"h"],[9615,0,"i"],[9616,0,"t"],[9617,0,"{"],[9618,0,"c"],[9618,1],[9618,0,"v"],[9619,0,"a"],[9620,0,"l"],[9621,0,"}"],[9622,0,"$"],[9623,0,"}"],[9624,0,"\n"],[9625,0,"\\"],[9626,0,"L"],[9627,0,"e"],[9628,0,"f"],[9629,0,"t"],[9630,0,"L"],[9631,0,"a"],[9632,0,"b"],[9633,0,"e"],[9634,0,"l"],[9635,0,"{"],[9636,0,"$"],[9637,0,"\\"],[9638,0,"t"],[9639,0,"e"],[9640,0,"x"],[9641,0,"t"],[9642,0,"s"],[9643,0,"c"],[9644,0,"{"],[9645,0,"V"],[9646,0,"a"],[9647,0,"l"],[9648,0,"}"],[9649,0,"_"],[9650,0,"1"],[9651,0,"$"],[9652,0,"}"],[9653,0,"\n"],[9654,0,"\\"],[9655,0,"B"],[9656,0,"i"],[9657,0,"n"],[9658,0,"a"],[9659,0,"r"],[9660,0,"y"],[9661,0,"I"],[9662,0,"n"],[9663,0,"f"],[9664,0,"C"],[9665,0,"{"],[9666,0,"$"],[9667,0,"A"],[9668,0,"_"],[9669,0,"p"],[9670,0,","],[9671,0,"\\"],[9672,0,","],[9673,0," "],[9674,0,"\\"],[9675,0,"m"],[9676,0,"a"],[9677,0,"t"],[9678,0,"h"],[9679,0,"i"],[9680,0,"t"],[9681,0,"{"],[9682,0,"e"],[9683,0,"x"],[9684,0,"p"],[9685,0,"r"],[9686,0,"}"],[9687,0,"."],[9688,0,"\\"],[9689,0,"m"],[9690,0,"a"],[9691,0,"t"],[9692,0,"h"],[9693,0,"s"],[9694,0,"f"],[9695,0,"{"],[9696,0,"v"],[9697,0,"a"],[9698,0,"l"],[9699,0,"u"],[9700,0,"e"],[9701,0,"s"],[9702,0,"}"],[9703,0," "],[9704,0,"\\"],[9705,0,"e"],[9706,0,"v"],[9707,0,"a"],[9708,0,"l"],[9709,0,"t"],[9710,0,"o"],[9711,0," "],[9712,0,"\\"],[9713,0,"m"],[9714,0,"a"],[9715,0,"t"],[9716,0,"h"],[9717,0,"i"],[9718,0,"t"],[9719,0,"{"],[9720,0,"v"],[9721,0,"a"],[9722,0,"l"],[9723,0,"}"],[9724,0,"$"],[9725,0,"}"],[9742,0,"\n"],[9743,0,"\n"],[9744,0,"\\"],[9745,0,"b"],[9746,0,"e"],[9747,0,"g"],[9748,0,"i"],[9749,0,"n"],[9750,0,"{"],[9751,0,"p"],[9752,0,"r"],[9753,0,"o"],[9754,0,"o"],[9755,0,"f"],[9756,0,"t"],[9757,0,"r"],[9758,0,"e"],[9759,0,"e"],[9760,0,"}"],[9761,0,"\n"],[9762,0,"\\"],[9763,0,"A"],[9764,0,"x"],[9765,0,"i"],[9766,0,"o"],[9767,0,"m"],[9768,0,"C"],[9769,0,"{"],[9770,0,"$"],[9771,0,"\\"],[9772,0,"m"],[9773,0,"a"],[9774,0,"t"],[9775,0,"h"],[9776,0,"s"],[9777,0,"f"],[9778,0,"{"],[9779,0,"r"],[9780,0,"e"],[9781,0,"g"],[9782,0,"T"],[9783,0,"}"],[9784,0,"("],[9785,0,"k"],[9786,0,")"],[9787,0," "],[9788,0,"\\"],[9789,0,"i"],[9790,0,"n"],[9791,0," "],[9792,0,"\\"],[9793,0,"m"],[9794,0,"a"],[9795,0,"t"],[9796,0,"h"],[9797,0,"r"],[9798,0,"m"],[9799,0,"{"],[9800,0,"d"],[9801,0,"o"],[9802,0,"m"],[9803,0,"}"],[9804,0,"("],[9805,0,"\\"],[9806,0,"m"],[9807,0,"a"],[9808,0,"t"],[9809,0,"h"],[9810,0,"i"],[9811,0,"t"],[9812,0,"{"],[9813,0,"c"],[9814,0,"t"],[9815,0,"x"],[9816,0,"}"],[9817,0,")"],[9818,0,"$"],[9819,0,"}"],[9820,0,"\n"],[9821,0,"\\"],[9822,0,"A"],[9823,0,"x"],[9824,0,"i"],[9825,0,"o"],[9826,0,"m"],[9827,0,"C"],[9828,0,"{"],[9829,0,"$"],[9830,0,"\\"],[9831,0,"m"],[9832,0,"a"],[9833,0,"t"],[9834,0,"h"],[9835,0,"i"],[9836,0,"t"],[9837,0,"{"],[9838,0,"v"],[9839,0,"a"],[9840,0,"l"],[9841,0,"}"],[9842,0," "],[9843,0,"="],[9844,0," "],[9845,0,"\\"],[9846,0,"{"],[9847,0,"\\"],[9848,0,","],[9849,0," "],[9850,0,"\\"],[9851,0,"m"],[9852,0,"a"],[9853,0,"t"],[9854,0,"h"],[9855,0,"i"],[9856,0,"t"],[9857,0,"{"],[9858,0,"o"],[9859,0,"p"],[9860,0,"}"],[9861,0,"."],[9862,0,"\\"],[9863,0,"m"],[9864,0,"a"],[9865,0,"t"],[9866,0,"h"],[9867,0,"s"],[9868,0,"f"],[9869,0,"{"],[9870,0,"v"],[9871,0,"a"],[9872,0,"l"],[9873,0,"}"],[9874,0," "],[9875,0,"\\"],[9876,0,"m"],[9877,0,"i"],[9878,0,"d"],[9879,0," "],[9880,0,"\\"],[9881,0,"m"],[9882,0,"a"],[9883,0,"t"],[9884,0,"h"],[9885,0,"i"],[9886,0,"t"],[9887,0,"{"],[9888,0,"o"],[9889,0,"p"],[9890,0,"}"],[9891,0," "],[9892,0,"\\"],[9893,0,"i"],[9894,0,"n"],[9895,0," "],[9896,0,"\\"],[9897,0,"m"],[9898,0,"a"],[9899,0,"t"],[9900,0,"h"],[9901,0,"i"],[9902,0,"t"],[9903,0,"{"],[9904,0,"c"],[9905,0,"t"],[9906,0,"x"],[9907,0,"}"],[9908,0,"("],[9909,0,"\\"],[9910,0,"m"],[9911,0,"a"],[9912,0,"t"],[9913,0,"h"],[9914,0,"s"],[9915,0,"f"],[9916,0,"{"],[9917,0,"r"],[9918,0,"e"],[9919,0,"g"],[9920,0,"T"],[9921,0,"}"],[9922,0,"("],[9923,0,"k"],[9924,0,")"],[9925,0,")"],[9926,0," "],[9927,0,"\\"],[9928,0,","],[9929,0,"\\"],[9930,0,"}"],[9931,0,"$"],[9932,0,"}"],[9933,0,"\n"],[9934,0,"\\"],[9935,0,"L"],[9936,0,"e"],[9937,0,"f"],[9938,0,"t"],[9939,0,"L"],[9940,0,"a"],[9941,0,"b"],[9942,0,"e"],[9943,0,"l"],[9944,0,"{"],[9945,0,"$"],[9946,0,"\\"],[9947,0,"t"],[9948,0,"e"],[9949,0,"x"],[9950,0,"t"],[9951,0,"s"],[9952,0,"c"],[9953,0,"{"],[9954,0,"V"],[9955,0,"a"],[9956,0,"l"],[9957,0,"}"],[9958,0,"_"],[9959,0,"2"],[9960,0,"$"],[9961,0,"}"],[9962,0,"\n"],[9963,0,"'"],[9963,1],[9963,0,"\\"],[9964,0,"B"],[9965,0,"i"],[9966,0,"n"],[9967,0,"a"],[9968,0,"r"],[9969,0,"y"],[9970,0,"I"],[9971,0,"n"],[9972,0,"f"],[9973,0,"C"],[9974,0,"{"],[9975,0,"$"],[9976,0,"A"],[9977,0,"_"],[9978,0,"p"],[9979,0,","],[9980,0,"\\"],[9981,0,","],[9982,0," "],[9982,1],[9981,1],[9980,1],[9979,1],[9978,1],[9977,1],[9976,1],[9976,0,"\\"],[9977,0,"m"],[9978,0,"a"],[9979,0,"t"],[9980,0,"h"],[9981,0,"i"],[9982,0,"t"],[9983,0,"{"],[9984,0,"c"],[9985,0,"t"],[9986,0,"x"],[9987,0,"}"],[9988,0,","],[9989,0,"\\"],[9990,0,","],[9991,0," "],[9992,0,"\\"],[9993,0,"m"],[9994,0,"a"],[9995,0,"t"],[9996,0,"h"],[9997,0,"s"],[9998,0,"f"],[9999,0,"{"],[10000,0,"c"],[10001,0,"u"],[10002,0,"r"],[10003,0,"s"],[10004,0,"o"],[10005,0,"r"],[10006,0,"}"],[10007,0,"("],[10008,0,"\\"],[10009,0,"l"],[10010,0,"a"],[10011,0,"n"],[10012,0,"g"],[10013,0,"l"],[10014,0,"e"],[10015,0,"\\"],[10016,0,"r"],[10017,0,"a"],[10018,0,"n"],[10019,0,"g"],[10020,0,"l"],[10021,0,"e"],[10022,0,","],[10023,0,"\\"],[10024,0,","],[10025,0," "],[10026,0,"k"],[10027,0,")"],[10028,0,"."],[10029,0,"\\"],[10030,0,"m"],[10031,0,"a"],[10032,0,"t"],[10033,0,"h"],[10034,0,"s"],[10035,0,"f"],[10036,0,"{"],[10037,0,"v"],[10038,0,"a"],[10039,0,"l"],[10040,0,"u"],[10041,0,"e"],[10042,0,"s"],[10043,0,"}"],[10044,0," "],[10045,0,"\\"],[10046,0,"e"],[10047,0,"v"],[10048,0,"a"],[10049,0,"l"],[10050,0,"t"],[10051,0,"o"],[10052,0," "],[10053,0,"\\"],[10054,0,"m"],[10055,0,"a"],[10056,0,"t"],[10057,0,"h"],[10058,0,"i"],[10059,0,"t"],[10060,0,"{"],[10061,0,"v"],[10062,0,"a"],[10063,0,"l"],[10064,0,"}"],[10065,0,"$"],[10066,0,"}"],[10067,0,"\n"],[10068,0,"\\"],[10069,0,"e"],[10070,0,"n"],[10071,0,"d"],[10072,0,"{"],[10073,0,"p"],[10074,0,"r"],[10075,0,"o"],[10076,0,"o"],[10077,0,"f"],[10078,0,"t"],[10079,0,"r"],[10080,0,"e"],[10081,0,"e"],[10082,0,"}"],[10083,0,"\n"],[10084,0,"\n"],[10085,0,"\\"],[10086,0,"b"],[10087,0,"e"],[10088,0,"g"],[10089,0,"i"],[10090,0,"n"],[10091,0,"{"],[10092,0,"p"],[10093,0,"r"],[10094,0,"o"],[10095,0,"o"],[10096,0,"f"],[10097,0,"t"],[10098,0,"r"],[10099,0,"e"],[10100,0,"e"],[10101,0,"}"],[10102,0,"\n"],[10103,0,"\\"],[10104,0,"e"],[10105,0,"n"],[10106,0,"d"],[10107,0,"{"],[10108,0,"p"],[10109,0,"r"],[10110,0,"o"],[10111,0,"o"],[10112,0,"f"],[10113,0,"t"],[10114,0,"r"],[10115,0,"e"],[10116,0,"e"],[10117,0,"}"],[10102,0,"\n"],[10103,0,"\\"],[10104,0,"A"],[10105,0,"x"],[10106,0,"i"],[10107,0,"o"],[10108,0,"m"],[10109,0,"C"],[10110,0,"{"],[10111,0,"$"],[10112,0,"k"],[10113,0,"_"],[10114,0,"1"],[10115,0," "],[10116,0,"\\"],[10117,0,"i"],[10118,0,"n"],[10119,0," "],[10120,0,"\\"],[10121,0,"m"],[10122,0,"a"],[10123,0,"t"],[10124,0,"h"],[10125,0,"r"],[10126,0,"m"],[10127,0,"{"],[10128,0,"d"],[10129,0,"o"],[10130,0,"m"],[10131,0,"}"],[10132,0,"("],[10133,0,"\\"],[10134,0,"m"],[10135,0,"a"],[10136,0,"t"],[10137,0,"h"],[10138,0,"i"],[10139,0,"t"],[10140,0,"{"],[10141,0,"c"],[10142,0,"t"],[10143,0,"x"],[10144,0,"}"],[10145,0,")"],[10146,0,"$"],[10147,0,"}"],[10148,0,"\n"],[10149,0,"\\"],[10150,0,"A"],[10151,0,"x"],[10152,0,"i"],[10153,0,"o"],[10154,0,"m"],[10155,0,"C"],[10156,0,"{"],[10157,0,"$"],[10158,0,"\\"],[10159,0,"m"],[10160,0,"a"],[10161,0,"t"],[10162,0,"h"],[10163,0,"i"],[10164,0,"t"],[10165,0,"{"],[10166,0,"c"],[10167,0,"t"],[10168,0,"x"],[10169,0,"}"],[10170,0,"("],[10171,0,"k"],[10172,0,"_"],[10173,0,"1"],[10174,0,"}"],[10174,1],[10174,0,")"],[10175,0,","],[10176,0,"\\"],[10177,0,","],[10178,0," "],[10179,0,"\\"],[10180,0,"m"],[10181,0,"a"],[10182,0,"t"],[10183,0,"h"],[10184,0,"s"],[10185,0,"f"],[10186,0,"{"],[10187,0,"c"],[10188,0,"u"],[10189,0,"r"],[10190,0,"s"],[10191,0,"o"],[10192,0,"r"],[10193,0,"("],[10193,0,"}"],[10195,0,"\\"],[10196,0,"l"],[10197,0,"a"],[10198,0,"n"],[10199,0,"g"],[10200,0,"l"],[10201,0,"e"],[10202,0," "],[10203,0,"k"],[10204,0,"_"],[10205,0,"2"],[10206,0,","],[10207,0," "],[10208,0,"\\"],[10209,0,"d"],[10210,0,"o"],[10211,0,"t"],[10212,0,"s"],[10213,0,","],[10214,0," "],[10215,0,"k"],[10216,0,"{"],[10216,1],[10216,0,"_"],[10217,0,"{"],[10218,0,"n"],[10219,0,"-"],[10220,0,"1"],[10221,0,"}"],[10222,0," "],[10223,0,"\\"],[10224,0,"r"],[10225,0,"a"],[10226,0,"n"],[10227,0,"g"],[10228,0,"l"],[10229,0,"e"],[10230,0,","],[10231,0,"\\"],[10232,0,","],[10233,0," "],[10234,0,"k"],[10235,0,"_"],[10236,0,"n"],[10237,0,")"],[10238,0,"."],[10239,0,"\\"],[10240,0,"m"],[10241,0,"a"],[10242,0,"t"],[10243,0,"h"],[10244,0,"s"],[10245,0,"f"],[10246,0,"{"],[10247,0,"v"],[10248,0,"a"],[10249,0,"l"],[10250,0,"u"],[10251,0,"e"],[10252,0,"s"],[10253,0,"}"],[10254,0,"\n"],[10255,0," "],[10256,0," "],[10257,0," "],[10258,0," "],[10259,0,"\\"],[10260,0,"e"],[10261,0,"v"],[10262,0,"a"],[10263,0,"l"],[10264,0,"t"],[10265,0,"o"],[10266,0," "],[10267,0,"\\"],[10268,0,"m"],[10269,0,"a"],[10270,0,"t"],[10271,0,"h"],[10272,0,"i"],[10273,0,"t"],[10274,0,"{"],[10275,0,"v"],[10276,0,"a"],[10277,0,"l"],[10278,0,"}"],[10279,0,"$"],[10280,0,"}"],[10281,0,"\n"],[10282,0,"\\"],[10283,0,"L"],[10284,0,"e"],[10285,0,"f"],[10286,0,"t"],[10287,0,"L"],[10288,0,"a"],[10289,0,"b"],[10290,0,"e"],[10291,0,"l"],[10292,0,"{"],[10293,0,"$"],[10294,0,"\\"],[10295,0,"t"],[10296,0,"e"],[10297,0,"x"],[10298,0,"t"],[10299,0,"s"],[10300,0,"c"],[10301,0,"{"],[10302,0,"V"],[10303,0,"a"],[10304,0,"l"],[10305,0,"}"],[10306,0,"_"],[10307,0,"3"],[10308,0,"$"],[10309,0,"}"],[10310,0,"\n"],[10311,0,"\\"],[10312,0,"B"],[10313,0,"i"],[10314,0,"n"],[10315,0,"a"],[10316,0,"r"],[10317,0,"y"],[10318,0,"I"],[10319,0,"n"],[10320,0,"f"],[10321,0,"C"],[10322,0,"{"],[10323,0,"$"],[10324,0,"\\"],[10325,0,"m"],[10326,0,"a"],[10327,0,"t"],[10328,0,"h"],[10329,0,"i"],[10330,0,"t"],[10331,0,"{"],[10332,0,"c"],[10333,0,"t"],[10334,0,"x"],[10335,0,"}"],[10336,0,","],[10337,0,"\\"],[10338,0,","],[10339,0," "],[10340,0,"\\"],[10341,0,"m"],[10342,0,"a"],[10343,0,"t"],[10344,0,"h"],[10345,0,"s"],[10346,0,"f"],[10347,0,"{"],[10348,0,"c"],[10349,0,"u"],[10350,0,"r"],[10351,0,"s"],[10352,0,"o"],[10353,0,"r"],[10354,0,"}"],[10355,0,"("],[10356,0,"\\"],[10357,0,"l"],[10358,0,"a"],[10359,0,"n"],[10360,0,"g"],[10361,0,"l"],[10362,0,"e"],[10363,0," "],[10364,0,"k"],[10365,0,"_"],[10366,0,"1"],[10367,0,","],[10368,0," "],[10369,0,"k"],[10370,0,"_"],[10371,0,"2"],[10372,0,","],[10373,0," "],[10374,0,"\\"],[10375,0,"d"],[10376,0,"o"],[10377,0,"t"],[10378,0,"s"],[10379,0,","],[10380,0," "],[10381,0,"k"],[10382,0,"_"],[10383,0,"{"],[10384,0,"n"],[10385,0,"-"],[10386,0,"1"],[10387,0,"}"],[10388,0," "],[10389,0,"\\"],[10390,0,"r"],[10391,0,"a"],[10392,0,"n"],[10393,0,"g"],[10394,0,"l"],[10395,0,"e"],[10396,0,","],[10397,0,"\\"],[10398,0,","],[10399,0," "],[10400,0,"k"],[10401,0,"_"],[10402,0,"n"],[10403,0,")"],[10404,0,"."],[10405,0,"\\"],[10406,0,"m"],[10407,0,"a"],[10408,0,"t"],[10409,0,"h"],[10410,0,"s"],[10411,0,"f"],[10412,0,"{"],[10413,0,"v"],[10414,0,"a"],[10415,0,"l"],[10416,0,"u"],[10417,0,"e"],[10418,0,"s"],[10419,0,"}"],[10420,0,"\n"],[10421,0," "],[10422,0," "],[10423,0," "],[10424,0," "],[10425,0,"\\"],[10426,0,"e"],[10427,0,"v"],[10428,0,"a"],[10429,0,"l"],[10430,0,"t"],[10431,0,"o"],[10432,0," "],[10433,0,"\\"],[10434,0,"m"],[10435,0,"a"],[10436,0,"t"],[10437,0,"h"],[10438,0,"i"],[10439,0,"t"],[10440,0,"{"],[10441,0,"v"],[10442,0,"a"],[10443,0,"l"],[10444,0,"}"],[10445,0,"$"],[10446,0,"}"],[14122,0," "],[14123,0,"N"],[14124,0,"o"],[14125,0,"t"],[14126,0,"e"],[14127,0," "],[14128,0,"t"],[14129,0,"h"],[14130,0,"a"],[14131,0,"t"],[14132,0," "],[14133,0,"t"],[14134,0,"h"],[14135,0,"e"],[14136,0," "],[14136,1],[14135,1],[14134,1],[14133,1],[14133,0,"t"],[14134,0,"h"],[14135,0,"e"],[14136,0," "],[14137,0,"e"],[14138,0,"x"],[14139,0,"p"],[14140,0,"r"],[14141,0,"e"],[14142,0,"s"],[14143,0,"s"],[14144,0,"i"],[14145,0,"o"],[14146,0,"n"],[14147,0," "],[14148,0,"\\"],[14149,0,"v"],[14150,0,"e"],[14151,0,"r"],[14152,0,"b"],[14153,0,"\""],[14153,1],[14153,0,"|"],[14154,0,"d"],[14155,0,"o"],[14156,0,"c"],[14157,0,"."],[14158,0,"g"],[14159,0,"e"],[14160,0,"t"],[14161,0,"|"],[14162,0," "],[14163,0,"i"],[14164,0,"m"],[14165,0,"p"],[14166,0,"l"],[14167,0,"i"],[14168,0,"c"],[14169,0,"i"],[14170,0,"t"],[14171,0,"l"],[14172,0,"y"],[14173,0," "],[14174,0,"a"],[14175,0,"s"],[14176,0,"s"],[14177,0,"e"],[14178,0,"r"],[14179,0,"t"],[14180,0,"s"],[14181,0," "],[14182,0,"t"],[14183,0,"h"],[14184,0,"a"],[14185,0,"t"],[14186,0," "],[14187,0,"\\"],[14188,0,"m"],[14189,0,"a"],[14190,0,"t"],[14191,0,"h"],[14192,0,"s"],[14193,0,"f"],[14194,0,"{"],[14195,0,"d"],[14196,0,"o"],[14197,0,"c"],[14198,0,"}"],[14199,0," "],[14200,0,"i"],[14201,0,"s"],[14202,0," "],[14203,0,"o"],[14204,0,"f"],[14205,0," "],[14206,0,"t"],[14207,0,"y"],[14208,0,"p"],[14209,0,"e"],[14210,0," "],[14211,0,"\\"],[14212,0,"m"],[14213,0,"a"],[14214,0,"p"],[14214,1],[14213,1],[14212,1],[14188,1],[14188,1],[14188,1],[14188,1],[14188,0,"t"],[14189,0,"e"],[14190,0,"x"],[14191,0,"t"],[14212,0,"t"],[14213,0,"e"],[14214,0,"x"],[14215,0,"t"],[14216,0,"s"],[14217,0,"f"],[14218,0,"{"],[14219,0,"m"],[14220,0,"a"],[14221,0,"p"],[14222,0,"T"],[14223,0,"}"],[14224,0,","],[14225,0," "],[14226,0,"a"],[14227,0,"n"],[14228,0,"d"],[14229,0," "],[14230,0,"t"],[14231,0,"h"],[14232,0,"i"],[14233,0,"s"],[14234,0," "],[14235,0,"a"],[14236,0,"s"],[14237,0,"s"],[14238,0,"e"],[14239,0,"r"],[14240,0,"t"],[14241,0,"i"],[14242,0,"o"],[14243,0,"n"],[14244,0," "],[14245,0,"i"],[14246,0,"s"],[14247,0," "],[14248,0,"e"],[14249,0,"n"],[14250,0,"c"],[14251,0,"o"],[14252,0,"d"],[14253,0,"e"],[14254,0,"d"],[14255,0," "],[14256,0,"i"],[14257,0,"n"],[14258,0," "],[14259,0,"t"],[14260,0,"h"],[14261,0,"e"],[14262,0," "],[14263,0,"c"],[14264,0,"u"],[14265,0,"r"],[14266,0,"s"],[14267,0,"o"],[14268,0,"r"],[14269,0,"."],[14780,0,"\n"],[14781,0,"\n"],[14782,0,"F"],[14783,0,"i"],[14784,0,"n"],[14785,0,"a"],[14786,0,"l"],[14787,0,"l"],[14788,0,"y"],[14789,0,","],[14790,0," "],[14791,0,"t"],[14792,0,"h"],[14793,0,"e"],[14794,0," "],[14795,0,"$"],[14796,0,"\\"],[14797,0,"t"],[14798,0,"e"],[14799,0,"x"],[14800,0,"t"],[14801,0,"s"],[14802,0,"c"],[14803,0,"{"],[14804,0,"V"],[14805,0,"a"],[14806,0,"l"],[14807,0,"}"],[14808,0,"_"],[14809,0,"{"],[14810,0,"1"],[14811,0,","],[14812,0,"2"],[14813,0,","],[14814,0,"3"],[14815,0,"}"],[14816,0,"$"],[14817,0," "],[14818,0,"r"],[14819,0,"u"],[14820,0,"l"],[14821,0,"e"],[14822,0,"s"],[14823,0," "],[14824,0,"d"],[14824,1],[14824,0,"a"],[14825,0,"l"],[14826,0,"l"],[14827,0,"o"],[14828,0,"w"],[14829,0," "],[14830,0,"a"],[14831,0," "],[14832,0,"p"],[14833,0,"r"],[14834,0,"o"],[14835,0,"g"],[14836,0,"r"],[14837,0,"a"],[14838,0,"m"],[14839,0," "],[14840,0,"t"],[14841,0,"o"],[14842,0," "],[14843,0,"r"],[14844,0,"e"],[14845,0,"a"],[14846,0,"d"],[14847,0," "],[14848,0,"t"],[14849,0,"h"],[14850,0,"e"],[14851,0," "],[14852,0,"v"],[14853,0,"a"],[14854,0,"l"],[14855,0,"u"],[14856,0,"e"],[14857,0," "],[14857,1],[14856,1],[14855,1],[14854,1],[14853,1],[14852,1],[14852,0,"c"],[14853,0,"o"],[14854,0,"n"],[14855,0,"t"],[14856,0,"e"],[14857,0,"n"],[14858,0,"t"],[14859,0,"s"],[14860,0," "],[14861,0,"o"],[14862,0,"f"],[14863,0," "],[14864,0,"t"],[14865,0,"h"],[14866,0,"e"],[14867,0," "],[14868,0,"d"],[14869,0,"o"],[14870,0,"c"],[14871,0,"u"],[14872,0,"m"],[14873,0,"e"],[14874,0,"n"],[14875,0,"t"],[14876,0," "],[14877,0,"a"],[14878,0,"t"],[14879,0," "],[14880,0,"a"],[14881,0," "],[14882,0,"p"],[14883,0,"a"],[14884,0,"r"],[14885,0,"t"],[14886,0,"i"],[14887,0,"c"],[14888,0,"u"],[14889,0,"l"],[14890,0,"a"],[14891,0,"r"],[14892,0," "],[14893,0,"c"],[14894,0,"u"],[14895,0,"r"],[14896,0,"s"],[14897,0,"o"],[14898,0,"r"],[14899,0," "],[14900,0,"p"],[14901,0,"o"],[14902,0,"s"],[14903,0,"i"],[14904,0,"t"],[14905,0,"i"],[14906,0,"o"],[14907,0,"n"],[14908,0,"."],[14909,0," "],[14910,0,"T"],[14911,0,"h"],[14912,0,"e"],[14913,0," "],[14914,0,"l"],[14915,0,"e"],[14916,0,"a"],[14917,0,"v"],[14918,0,"e"],[14919,0,"s"],[14920,0," "],[14921,0,"o"],[14922,0,"f"],[14923,0," "],[14924,0,"t"],[14925,0,"h"],[14926,0,"e"],[14927,0," "],[14928,0,"d"],[14929,0,"o"],[14930,0,"c"],[14931,0,"u"],[14932,0,"m"],[14933,0,"e"],[14934,0,"n"],[14935,0,"t"],[14936,0," "],[14937,0,"t"],[14938,0,"r"],[14939,0,"e"],[14940,0,"e"],[14941,0," "],[14942,0,"a"],[14943,0,"r"],[14944,0,"e"],[14945,0," "],[14946,0,"a"],[14947,0,"l"],[14948,0,"w"],[14949,0,"a"],[14950,0,"y"],[14951,0,"s"],[14952,0," "],[14953,0,"\\"],[14954,0,"e"],[14955,0,"m"],[14956,0,"p"],[14957,0,"h"],[14958,0,"{"],[14959,0,"r"],[14960,0,"e"],[14961,0,"g"],[14962,0,"i"],[14963,0,"s"],[14964,0,"t"],[14965,0,"e"],[14966,0,"r"],[14967,0,"s"],[14968,0,"}"],[14969,0," "],[14970,0,"e"],[14971,0,"x"],[14972,0,"p"],[14969,0,","],[14974,0,"p"],[14975,0,"r"],[14976,0,"e"],[14977,0,"s"],[14978,0,"s"],[14974,1],[14978,0,"e"],[14979,0,"d"],[14980,0," "],[14981,0,"u"],[14982,0,"s"],[14983,0,"i"],[14984,0,"n"],[14985,0,"g"],[14986,0," "],[14987,0,"t"],[14988,0,"h"],[14989,0,"e"],[14990,0," "],[14991,0,"$"],[14992,0,"\\"],[14992,1],[14991,1],[14991,0,"\\"],[14992,0,"t"],[14993,0,"e"],[14994,0,"x"],[14995,0,"t"],[14996,0,"s"],[14997,0,"f"],[14998,0,"{"],[14999,0,"r"],[15000,0,"e"],[15001,0,"g"],[15002,0,"T"],[15003,0,"}"],[15004,0," "],[15005,0,"t"],[15006,0,"y"],[15007,0,"p"],[15008,0,"e"],[15009,0," "],[15010,0,"a"],[15011,0,"n"],[15012,0,"n"],[15013,0,"o"],[15014,0,"t"],[15015,0,"a"],[15016,0,"t"],[15017,0,"i"],[15018,0,"o"],[15019,0,"n"],[15020,0," "],[15021,0,"i"],[15022,0,"n"],[15023,0," "],[15024,0,"t"],[15025,0,"h"],[15026,0,"e"],[15027,0," "],[15028,0,"l"],[15029,0,"o"],[15030,0,"c"],[15031,0,"a"],[15032,0,"l"],[15033,0," "],[15034,0,"s"],[15035,0,"t"],[15036,0,"a"],[15037,0,"t"],[15038,0,"e"],[15039,0,"."],[15040,0," "],[15041,0,"A"],[15042,0," "],[15043,0,"r"],[15044,0,"e"],[15045,0,"g"],[15046,0,"u"],[15046,1],[15046,0,"i"],[15047,0,"s"],[15048,0,"t"],[15049,0,"e"],[15050,0,"r"],[15051,0," "],[15052,0,"m"],[15053,0,"a"],[15054,0,"y"],[15055,0," "],[15056,0,"h"],[15057,0,"a"],[15058,0,"v"],[15059,0,"e"],[15060,0," "],[15061,0,"m"],[15062,0,"u"],[15062,1],[15061,1],[15060,1],[15059,1],[15058,1],[15057,1],[15056,1],[15055,1],[15054,1],[15053,1],[15052,1],[15051,1],[15050,1],[15049,1],[15048,1],[15047,1],[15046,1],[15045,1],[15044,1],[15043,1],[15042,1],[15042,0,"l"],[15043,0,"t"],[15044,0,"h"],[15045,0,"o"],[15046,0,"u"],[15047,0,"g"],[15048,0,"h"],[15049,0," "],[15050,0,"a"],[15051,0," "],[15052,0,"s"],[15053,0,"i"],[15054,0,"n"],[15055,0,"g"],[15056,0,"l"],[15056,1],[15056,0,"l"],[15057,0,"e"],[15058,0," "],[15059,0,"p"],[15060,0,"e"],[15061,0,"e"],[15062,0,"r"],[15063,0," "],[15064,0,"c"],[15065,0,"a"],[15066,0,"n"],[15067,0," "],[15068,0,"o"],[15069,0,"n"],[15070,0,"l"],[15071,0,"y"],[15072,0," "],[15073,0,"a"],[15058,1],[15057,1],[15056,1],[15055,1],[15054,1],[15053,1],[15052,1],[15067,0,"s"],[15068,0,"s"],[15069,0,"i"],[15070,0,"g"],[15071,0,"n"],[15072,0," "],[15073,0,"a"],[15074,0," "],[15075,0,"s"],[15076,0,"i"],[15077,0,"n"],[15078,0,"g"],[15079,0,"l"],[15080,0,"e"],[15081,0," "],[15082,0,"v"],[15083,0,"a"],[15084,0,"l"],[15085,0,"u"],[15086,0,"e"],[15087,0," "],[15088,0,"t"],[15089,0,"o"],[15090,0," "],[15091,0,"a"],[15092,0," "],[15093,0,"r"],[15094,0,"e"],[15095,0,"g"],[15096,0,"i"],[15097,0,"s"],[15098,0,"t"],[15099,0,"e"],[15100,0,"r"],[15101,0,","],[15102,0," "],[15103,0,"a"],[15104,0," "],[15105,0,"r"],[15106,0,"e"],[15107,0,"g"],[15108,0,"i"],[15109,0,"s"],[15110,0,"t"],[15111,0,"e"],[15112,0,"r"],[15113,0," "],[15114,0,"c"],[15115,0,"a"],[15116,0,"n"],[15117,0," "],[15118,0,"n"],[15119,0,"e"],[15120,0,"v"],[15121,0,"e"],[15122,0,"r"],[15123,0,"t"],[15124,0,"h"],[15125,0,"e"],[15126,0,"l"],[15127,0,"e"],[15128,0,"s"],[15129,0,"s"],[15130,0," "],[15131,0,"c"],[15132,0,"o"],[15133,0,"n"],[15134,0,"t"],[15135,0,"a"],[15136,0,"i"],[15137,0,"n"],[15138,0," "],[15139,0,"m"],[15140,0,"u"],[15141,0,"l"],[15142,0,"t"],[15143,0,"i"],[15144,0,"p"],[15145,0,"l"],[15146,0,"e"],[15147,0," "],[15148,0,"v"],[15149,0,"a"],[15150,0,"l"],[15151,0,"u"],[15152,0,"e"],[15153,0,"s"],[15154,0," "],[15155,0,"i"],[15156,0,"f"],[15157,0," "],[15158,0,"m"],[15159,0,"u"],[15160,0,"l"],[15161,0,"t"],[15162,0,"i"],[15163,0,"l"],[15163,1],[15163,0,"p"],[15164,0,"l"],[15165,0,"e"],[15166,0," "],[15167,0,"p"],[15168,0,"e"],[15169,0,"e"],[15170,0,"r"],[15171,0,"s"],[15172,0," "],[15173,0,"c"],[15174,0,"o"],[15175,0,"n"],[15176,0,"c"],[15177,0,"u"],[15178,0,"r"],[15179,0,"r"],[15180,0,"e"],[15181,0,"n"],[15182,0,"t"],[15183,0,"l"],[15184,0,"y"],[15185,0," "],[15186,0,"a"],[15187,0,"s"],[15188,0,"s"],[15189,0,"i"],[15190,0,"g"],[15191,0,"n"],[15192,0," "],[15193,0,"v"],[15194,0,"a"],[15195,0,"l"],[15196,0,"u"],[15197,0,"e"],[15198,0,"s"],[15199,0," "],[15200,0,"t"],[15201,0,"o"],[15202,0," "],[15203,0,"i"],[15204,0,"t"],[15205,0,","],[15206,0," "],[15207,0,"a"],[15208,0,"n"],[15209,0," "],[15210,0,"i"],[15211,0,"s"],[15212,0,"s"],[15213,0,"u"],[15214,0,"e"],[15215,0," "],[15216,0,"w"],[15217,0,"e"],[15218,0," "],[15219,0,"w"],[15220,0,"i"],[15221,0,"l"],[15222,0,"l"],[15223,0," "],[15224,0,"e"],[15225,0,"x"],[15226,0,"p"],[15227,0,"o"],[15227,1],[15227,0,"l"],[15228,0,";"],[15229,0,"o"],[15229,1],[15228,1],[15228,0,"o"],[15229,0,"r"],[15230,0,"e"],[15231,0," "],[15232,0,"i"],[15233,0,"n"],[15234,0," "],[15235,0,"g"],[15236,0,"r"],[15237,0,"e"],[15238,0,"a"],[15239,0,"t"],[15240,0,"e"],[15241,0,"r"],[15242,0," "],[15243,0,"d"],[15244,0,"e"],[15245,0,"p"],[15246,0,"t"],[15247,0,"h"],[15248,0," "],[15249,0,"l"],[15250,0,"a"],[15251,0,"t"],[15252,0,"e"],[15253,0,"r"],[15254,0,"."],[14908,0,","],[14909,0," "],[14910,0,"u"],[14911,0,"s"],[14912,0,"i"],[14913,0,"n"],[14914,0,"g"],[14915,0," "],[14916,0,"a"],[14917,0," "],[14918,0,"s"],[14919,0,"i"],[14920,0,"m"],[14921,0,"i"],[14922,0,"l"],[14923,0,"a"],[14924,0,"r"],[14925,0," "],[14926,0,"r"],[14927,0,"e"],[14928,0,"c"],[14929,0,"u"],[14930,0,"r"],[14931,0,"s"],[14932,0,"i"],[14933,0,"v"],[14934,0,"e"],[14935,0," "],[14936,0,"r"],[14937,0,"u"],[14938,0,"l"],[14939,0,"e"],[14940,0," "],[14941,0,"s"],[14942,0,"t"],[14943,0,"r"],[14944,0,"u"],[14945,0,"c"],[14946,0,"t"],[14947,0,"u"],[14948,0,"r"],[14949,0,"e"],[14950,0," "],[14951,0,"a"],[14952,0,"s"],[14953,0," "],[14954,0,"t"],[14955,0,"h"],[14956,0,"e"],[14957,0," "],[14958,0,"\\"],[14959,0,"t"],[14960,0,"e"],[14961,0,"x"],[14962,0,"t"],[14963,0,"s"],[14964,0,"c"],[14965,0,"{"],[14966,0,"N"],[14967,0,"e"],[14968,0,"x"],[14969,0,"t"],[14970,0,"}"],[14971,0," "],[14972,0,"r"],[14973,0,"u"],[14974,0,"l"],[14975,0,"e"],[14976,0,"s"],[15324,0,"\n"],[15325,0,"\n"],[15326,0,"\\"],[15327,0,"s"],[15328,0,"u"],[15329,0,"b"],[15330,0,"s"],[15331,0,"u"],[15332,0,"b"],[15333,0,"s"],[15334,0,"e"],[15335,0,"c"],[15336,0,"t"],[15337,0,"i"],[15338,0,"o"],[15339,0,"n"],[15340,0,"{"],[15341,0,"O"],[15342,0,"p"],[15343,0,"e"],[15344,0,"r"],[15345,0,"a"],[15346,0,"t"],[15347,0,"i"],[15348,0,"o"],[15349,0,"n"],[15350,0,"a"],[15351,0,"l"],[15352,0," "],[15352,1],[15351,1],[15350,1],[15349,1],[15348,1],[15347,1],[15346,1],[15345,1],[15344,1],[15343,1],[15342,1],[15341,1],[15341,0,"S"],[15342,0,"e"],[15343,0,"m"],[15344,0,"a"],[15345,0,"n"],[15346,0,"t"],[15347,0,"i"],[15348,0,"c"],[15349,0,"s"],[15350,0," "],[15351,0,"o"],[15352,0,"f"],[15353,0," "],[15354,0,"l"],[15355,0,"o"],[15356,0,"c"],[15357,0,"a"],[15358,0,"l"],[15359,0," "],[15360,0,"m"],[15361,0,"u"],[15362,0,"t"],[15363,0,"a"],[15364,0,"t"],[15365,0,"i"],[15366,0,"o"],[15367,0,"n"],[15368,0,"s"],[15369,0,"}"],[5974,1],[5973,1],[5972,1],[5971,1],[5970,1],[5969,1],[5968,1],[5967,1],[5966,1],[5965,1],[5964,1],[5963,1],[5962,1],[5961,1],[5960,1],[5959,1],[5959,0,"e"],[5960,0,"x"],[5961,0,"p"],[5962,0,"r"],[5963,0,"e"],[5964,0,"s"],[5965,0,"s"],[5966,0,"i"],[5967,0,"o"],[5968,0,"n"],[5969,0," "],[5970,0,"e"],[5971,0,"v"],[5972,0,"a"],[5973,0,"l"],[5974,0,"u"],[5975,0,"a"],[5976,0,"t"],[5977,0,"i"],[5978,0,"o"],[5979,0,"n"],[5946,1],[5945,1],[5944,1],[5943,1],[5942,1],[5941,1],[5940,1],[5939,1],[5938,1],[5937,1],[5936,1],[5935,1],[5934,1],[5934,0,"S"],[2937,0,"\n"],[2938,0,"\n"],[2939,0,"e"],[2940,0,"g"],[2941,0,"g"],[2942,0,"s"],[2943,0,"."],[2944,0,"v"],[2945,0,"a"],[2946,0,"l"],[2947,0,"u"],[2948,0,"e"],[2949,0,"s"],[2950,0," "],[2951,0,"/"],[2952,0,"/"],[2953,0," "],[2954,0,"e"],[2955,0,"v"],[2956,0,"a"],[2957,0,"l"],[2958,0,"u"],[2959,0,"a"],[2960,0,"t"],[2961,0,"e"],[2962,0,"s"],[2963,0," "],[2964,0,"t"],[2965,0,"o"],[2966,0," "],[2967,0,"{"],[2968,0,"\""],[2969,0,"e"],[2970,0,"g"],[2971,0,"g"],[2972,0,"s"],[2973,0,"\""],[2974,0,"}"],[2975,0,"\n"],[2976,0,"e"],[2977,0,"g"],[2978,0,"g"],[2979,0,"s"],[2980,0,"."],[2981,0,"n"],[2982,0,"e"],[2983,0,"x"],[2984,0,"t"],[2985,0,"."],[2986,0,"v"],[2987,0,"a"],[2988,0,"l"],[2989,0,"u"],[2990,0,"e"],[2991,0,"s"],[2992,0," "],[2993,0,"/"],[2994,0,"/"],[2995,0," "],[2996,0,"e"],[2997,0,"v"],[2998,0,"a"],[2999,0,"l"],[3000,0,"u"],[3001,0,"a"],[3002,0,"t"],[3003,0,"e"],[3004,0,"s"],[3005,0," "],[3006,0,"t"],[3007,0,"o"],[3008,0," "],[3009,0,"{"],[3010,0,"\""],[3011,0,"m"],[3012,0,"i"],[3013,0,"l"],[3014,0,"k"],[3015,0,"}"],[3015,1],[3015,0,"\""],[3016,0,"}"],[6883,0,"f"],[6884,0,"f"],[6885,0,"f"],[6886,0,"f"],[6887,0,"f"],[6887,1],[6886,1],[6885,1],[6884,1],[6883,1],[6912,1],[6911,1],[6910,1],[6909,1],[6908,1],[6907,1],[6906,1],[6905,1],[6914,0," "],[6915,0,"r"],[6916,0,"e"],[6917,0,"s"],[6918,0,"u"],[6919,0,"l"],[6920,0,"t"],[6921,0,"i"],[6922,0,"n"],[6923,0,"g"],[6929,0," "],[6930,0,"t"],[6931,0,"h"],[6932,0,"e"],[6933,0," "],[6934,0,"e"],[6935,0,"x"],[6936,0,"e"],[6937,0,"c"],[6938,0,"u"],[6939,0,"t"],[6940,0,"i"],[6941,0,"o"],[6942,0,"n"],[6943,0," "],[6944,0,"o"],[6945,0,"f"],[6946,0," "],[6947,0,"t"],[6948,0,"h"],[6949,0,"e"],[6950,0," "],[6951,0,"c"],[6952,0,"o"],[6953,0,"m"],[6954,0,"m"],[6955,0,"a"],[6956,0,"n"],[6957,0,"d"],[6958,0,"s"],[6959,0," "],[6960,0,"i"],[6961,0,"n"],[6340,1],[6339,1],[6338,1],[6337,1],[6336,1],[6335,1],[6334,1],[6333,1],[6332,1],[6331,1],[6330,1],[6329,1],[6328,1],[6327,1],[6326,1],[6325,1],[6324,1],[6323,1],[6322,1],[6321,1],[6320,1],[6319,1],[6318,1],[6317,1],[6316,1],[6331,1],[6330,1],[6329,1],[6329,0," "],[6330,0,"\\"],[6331,0,"m"],[6332,0,"a"],[6333,0,"p"],[6334,0,"s"],[6335,0,"t"],[6336,0,"o"],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6338,1],[6308,1],[6308,1],[6308,1],[6307,1],[6462,1],[6462,1],[6462,1],[6462,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6467,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,1],[6480,0," "],[6481,0,"\\"],[6482,0,"m"],[6483,0,"a"],[6484,0,"p"],[6485,0,"s"],[6486,0,"t"],[6487,0,"o"],[6615,1],[6615,1],[6615,1],[6615,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6620,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,1],[6633,0," "],[6634,0,"\\"],[6635,0,"m"],[6636,0,"a"],[6637,0,"p"],[6638,0,"s"],[6639,0,"t"],[6640,0,"o"],[6814,1],[6813,1],[6812,1],[6811,1],[6810,1],[6809,1],[6808,1],[6807,1],[6806,1],[6805,1],[6804,1],[6803,1],[6802,1],[6801,1],[6800,1],[6799,1],[6798,1],[6797,1],[6796,1],[6795,1],[6794,1],[6793,1],[6792,1],[6791,1],[6790,1],[6789,1],[6788,1],[6787,1],[6786,1],[6785,1],[6784,1],[6783,1],[6782,1],[6781,1],[6780,1],[6779,1],[6778,1],[6777,1],[6776,1],[6775,1],[6774,1],[6773,1],[6772,1],[6771,1],[6770,1],[6770,0,"s"],[6771,0,"t"],[6772,0,"a"],[6773,0,"t"],[6774,0,"e"],[6775,0," "],[6776,0,"$"],[6777,0,"A"],[6778,0,"_"],[6779,0,"p"],[6780,0,"$"],[6781,0," "],[6782,0,"o"],[6783,0,"f"],[6784,0," "],[6785,0,"p"],[6786,0,"e"],[6787,0,"e"],[6788,0,"r"],[6789,0," "],[6790,0,"$"],[6791,0,"p"],[6792,0,"$"],[6793,0," "],[6794,0,"a"],[6795,0,"f"],[6796,0,"t"],[6797,0,"e"],[6798,0,"r"],[6736,0," "],[6737,0,"\\"],[6738,0,"\\"],[6739,0,"\n"],[6740,0,"\\"],[6741,0,"m"],[6742,0,"a"],[6743,0,"t"],[6744,0,"h"],[6745,0,"s"],[6746,0,"f"],[6747,0,"{"],[6748,0,"l"],[6749,0,"i"],[6750,0,"s"],[6751,0,"t"],[6752,0,"}"],[6753,0," "],[6754,0," "],[6754,1],[6740,0,"&"],[6741,0,"&"],[6742,0," "],[6757,0,"&"],[6758,0," "],[6759,0,"\\"],[6760,0,"m"],[6761,0,"a"],[6762,0,"p"],[6763,0,"s"],[6764,0,"t"],[6765,0,"o"],[6766,0," "],[6767,0,"\\"],[6768,0,"m"],[6769,0,"a"],[6770,0,"t"],[6771,0,"h"],[6772,0,"s"],[6773,0,"f"],[6774,0,"{"],[6775,0,"c"],[6776,0,"u"],[6777,0,"r"],[6778,0,"s"],[6779,0,"o"],[6780,0,"r"],[6781,0,"}"],[6782,0,"("],[6783,0,"\\"],[6784,0,"l"],[6785,0,"a"],[6786,0,"n"],[6787,0,"g"],[6788,0,"l"],[6789,0,"e"],[6790,0," "],[6791,0,"\\"],[6792,0,"m"],[6793,0,"a"],[6794,0,"t"],[6795,0,"h"],[6796,0,"s"],[6797,0,"f"],[6798,0,"{"],[6799,0,"m"],[6800,0,"a"],[6801,0,"p"],[6802,0,"T"],[6803,0,"}"],[6804,0,"("],[6805,0,"\\"],[6806,0,"m"],[6807,0,"a"],[6808,0,"t"],[6809,0,"h"],[6810,0,"s"],[6811,0,"f"],[6812,0,"{"],[6813,0,"d"],[6814,0,"o"],[6815,0,"c"],[6816,0,"}"],[6817,0,")"],[6818,0,","],[6819,0," "],[6820,0,"\\"],[6821,0,"m"],[6822,0,"a"],[6823,0,"t"],[6824,0,"h"],[6825,0,"s"],[6826,0,"f"],[6827,0,"{"],[6828,0,"l"],[6829,0,"i"],[6830,0,"s"],[6831,0,"t"],[6832,0,"T"],[6833,0,"}"],[6834,0,"("],[6835,0,"\\"],[6836,0,"t"],[6837,0,"e"],[6838,0,"x"],[6839,0,"t"],[6840,0,"{"],[6841,0,"`"],[6842,0,"`"],[6843,0,"s"],[6844,0,"h"],[6845,0,"o"],[6846,0,"p"],[6847,0,"p"],[6848,0,"i"],[6849,0,"n"],[6850,0,"g"],[6851,0,"'"],[6852,0,"'"],[6853,0,"}"],[6854,0,")"],[6855,0,"\\"],[6856,0,"r"],[6857,0,"a"],[6858,0,"n"],[6859,0,"g"],[6860,0,"l"],[6861,0,"e"],[6862,0,","],[6863,0,"\\"],[6864,0,","],[6819,0,"\n"],[6820,0," "],[6821,0," "],[6822,0," "],[6869,0," "],[6870,0,"\\"],[6871,0,"m"],[6872,0,"a"],[6873,0,"t"],[6874,0,"h"],[6875,0,"s"],[6876,0,"f"],[6877,0,"{"],[6878,0,"h"],[6879,0,"e"],[6880,0,"a"],[6881,0,"d"],[6882,0,"}"],[6883,0,")"],[6884,0,","],[6885,0," "],[6886,0,"\\"],[6887,0,"\\"],[6888,0,"\n"],[6889,0,"&"],[6890,0,"&"],[6891,0," "],[6892,0,"\\"],[6893,0,"m"],[6894,0,"a"],[6895,0,"t"],[6896,0,"h"],[6897,0,"s"],[6898,0,"f"],[6899,0,"{"],[6900,0,"e"],[6901,0,"g"],[6902,0,"g"],[6903,0,"s"],[6904,0,"}"],[6905,0," "],[6906,0,"&"],[6907,0," "],[6908,0,"\\"],[6909,0,"m"],[6910,0,"a"],[6911,0,"p"],[6912,0,"s"],[6913,0,"t"],[6914,0,"o"],[6915,0," "],[6916,0,"\\"],[6917,0,"m"],[6918,0,"a"],[6919,0,"t"],[6920,0,"h"],[6921,0,"s"],[6922,0,"f"],[6923,0,"{"],[6924,0,"c"],[6925,0,"u"],[6926,0,"r"],[6927,0,"s"],[6928,0,"o"],[6929,0,"r"],[6930,0,"}"],[6931,0,"("],[6932,0,"\\"],[6933,0,"l"],[6934,0,"a"],[6935,0,"n"],[6936,0,"g"],[6937,0,"l"],[6938,0,"e"],[6939,0," "],[6940,0,"\\"],[6941,0,"m"],[6942,0,"a"],[6943,0,"t"],[6944,0,"h"],[6945,0,"s"],[6946,0,"f"],[6947,0,"{"],[6948,0,"m"],[6949,0,"a"],[6950,0,"p"],[6951,0,"T"],[6952,0,"}"],[6953,0,"("],[6954,0,"\\"],[6955,0,"m"],[6956,0,"a"],[6957,0,"t"],[6958,0,"h"],[6959,0,"s"],[6960,0,"f"],[6961,0,"{"],[6962,0,"d"],[6963,0,"o"],[6964,0,"c"],[6965,0,"}"],[6966,0,")"],[6967,0,","],[6968,0,"\n"],[6969,0," "],[6970,0," "],[6971,0," "],[6972,0," "],[6973,0,"\\"],[6974,0,"m"],[6975,0,"a"],[6976,0,"t"],[6977,0,"h"],[6978,0,"s"],[6979,0,"f"],[6980,0,"{"],[6981,0,"l"],[6982,0,"i"],[6983,0,"s"],[6984,0,"t"],[6985,0,"T"],[6986,0,"}"],[6987,0,"("],[6988,0,"\\"],[6989,0,"t"],[6990,0,"e"],[6991,0,"x"],[6992,0,"t"],[6993,0,"{"],[6994,0,"`"],[6995,0,"`"],[6996,0,"s"],[6997,0,"h"],[6998,0,"o"],[6999,0,"p"],[7000,0,"p"],[7001,0,"i"],[7002,0,"n"],[7003,0,"g"],[7004,0,"'"],[7005,0,"'"],[7006,0,"}"],[7007,0,")"],[7008,0,"\\"],[7009,0,"r"],[7010,0,"a"],[7011,0,"n"],[7012,0,"g"],[7013,0,"l"],[7014,0,"e"],[7015,0,","],[7016,0,"\\"],[7017,0,","],[7018,0," "],[7019,0,"\\"],[7020,0,"m"],[7021,0,"a"],[7022,0,"t"],[7023,0,"h"],[7024,0,"i"],[7025,0,"t"],[7026,0,"{"],[7027,0,"i"],[7028,0,"d"],[7029,0,"}"],[7030,0,"_"],[7031,0,"1"],[7032,0,")"],[7033,0," "],[7034,0,"\\"],[7035,0,"\\"],[7036,0,"\n"],[7037,0,"\\"],[7038,0,"}"],[6726,1],[6726,1],[6726,1],[6726,1],[6732,0,","],[6105,1],[6097,0,"&"],[6098,0," "],[7035,0,"&"],[7036,0," "],[6094,1],[6094,0,"3"],[6157,0,"&"],[6157,1],[6172,0,"&"],[6173,0,"&"],[6209,0,"&"],[6210,0,"&"],[6271,0,"&"],[6272,0,"&"],[6368,0,"&"],[6369,0,"&"],[6430,0,"&"],[6431,0,"&"],[6525,0,"&"],[6526,0,"&"],[6587,0,"&"],[6588,0,"&"],[6682,0,"&"],[6683,0,"&"],[6743,0,"&"],[6744,0,"&"],[6745,0," "],[6776,0,"\\"],[6777,0,"m"],[6778,0,"u"],[6779,0,"l"],[6780,0,"t"],[6781,0,"i"],[6782,0,"c"],[6783,0,"o"],[6784,0,"l"],[6785,0,"u"],[6786,0,"m"],[6787,0,"n"],[6788,0,"{"],[6789,0,"2"],[6790,0,"}"],[6791,0,"{"],[6792,0,"l"],[6793,0,"}"],[6794,0,"{"],[6921,0,"}"],[6970,0,"b"],[6971,0,"b"],[6972,0,"b"],[6973,0,"b"],[6974,0,"b"],[6975,0,"b"],[6976,0,"b"],[6977,0,"b"],[6970,1],[6970,1],[6970,1],[6970,1],[6970,1],[6970,1],[6970,1],[6970,1],[6945,0,"\\"],[6946,0,"m"],[6947,0,"u"],[6948,0,"l"],[6949,0,"t"],[6950,0,"i"],[6951,0,"c"],[6952,0,"o"],[6953,0,"l"],[6954,0,"u"],[6955,0,"m"],[6956,0,"n"],[6957,0,"{"],[6958,0,"2"],[6959,0,"}"],[6960,0,"{"],[6961,0,"l"],[6962,0,"}"],[6963,0,"{"],[7089,0,"}"],[7089,1],[6963,1],[6962,1],[6961,1],[6960,1],[6959,1],[6958,1],[6957,1],[6956,1],[6955,1],[6954,1],[6953,1],[6952,1],[6951,1],[6951,0,"s"],[6952,0,"p"],[6953,0,"a"],[6954,0,"n"],[6955,0,"{"],[6956,0,"2"],[6957,0,"}"],[6958,0," "],[6794,1],[6793,1],[6792,1],[6791,1],[6790,1],[6789,1],[6788,1],[6787,1],[6786,1],[6785,1],[6784,1],[6783,1],[6782,1],[6782,0,"s"],[6783,0,"p"],[6784,0,"a"],[6785,0,"n"],[6786,0,"{"],[6787,0,"2"],[6788,0,"}"],[6789,0," "],[6916,1],[6951,1],[6950,1],[6949,1],[6948,1],[6947,1],[6946,1],[6945,1],[6944,1],[6943,1],[6942,1],[6941,1],[6940,1],[6939,1],[6938,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6784,0,"\\"],[6785,0,"m"],[6786,0,"u"],[6787,0,"l"],[6788,0,"t"],[6789,0,"i"],[6790,0,"c"],[6791,0,"o"],[6792,0,"l"],[6793,0,"u"],[6794,0,"m"],[6795,0,"n"],[6796,0,"{"],[6796,1],[6795,1],[6794,1],[6793,1],[6792,1],[6791,1],[6790,1],[6789,1],[6788,1],[6787,1],[6786,1],[6785,1],[6784,1],[6776,0,"\\"],[6777,0,"m"],[6778,0,"u"],[6779,0,"l"],[6780,0,"t"],[6781,0,"i"],[6782,0,"c"],[6783,0,"o"],[6784,0,"l"],[6785,0,"u"],[6786,0,"m"],[6787,0,"n"],[6788,0,"{"],[6789,0,"2"],[6790,0,"}"],[6791,0,"{"],[6792,0,"c"],[6793,0,"}"],[6794,0,"{"],[6855,0,"%"],[6922,0,"}"],[6922,1],[6794,1],[6793,1],[6792,1],[6791,1],[6790,1],[6789,1],[6788,1],[6787,1],[6786,1],[6785,1],[6784,1],[6783,1],[6782,1],[6781,1],[6780,1],[6779,1],[6778,1],[6777,1],[6777,0,"h"],[6778,0,"d"],[6779,0,"o"],[6780,0,"t"],[6781,0,"s"],[6782,0,"f"],[6783,0,"o"],[6784,0,"r"],[6785,0,"{"],[6786,0,"1"],[6787,0,"}"],[6788,0," "],[7072,0," "],[7073,0,"\\"],[7074,0,"m"],[7075,0,"u"],[7076,0,"l"],[7077,0,"t"],[7078,0,"i"],[7079,0,"s"],[7080,0,"p"],[7081,0,"a"],[7082,0,"n"],[7083,0,"{"],[7084,0,"3"],[7085,0,"}"],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,1],[6776,0,"\\"],[6777,0,"m"],[6778,0,"u"],[6779,0,"l"],[6780,0,"t"],[6781,0,"i"],[6782,0,"a"],[6783,0,"l"],[6784,0,"i"],[6785,0,"g"],[6786,0,"n"],[6787,0,"{"],[6788,0,"3"],[6789,0,"}"],[6790,0,"{"],[6791,0,"["],[6792,0,"]"],[6793,0,"["],[6793,1],[6792,1],[6791,1],[6791,0,"["],[6792,0,"]"],[6793,0,"["],[6793,1],[6792,1],[6791,1],[6791,0,"{"],[6792,0,"}"],[6793,0,"{"],[6794,0,"="],[6794,1],[6793,1],[6793,0,"="],[6921,0,"}"],[6786,1],[6785,1],[6784,1],[6783,1],[6782,1],[6782,0,"s"],[6783,0,"p"],[6784,0,"a"],[6785,0,"n"],[6789,1],[6789,1],[6789,1],[6789,1],[6789,0,"\\"],[6790,0,"m"],[6791,0,"b"],[6792,0,"o"],[6793,0,"x"],[6794,0,"{"],[6795,0,"$"],[6923,0,"$"],[6923,1],[6793,1],[6792,1],[6791,1],[6790,1],[6789,1],[6785,1],[6784,1],[6783,1],[6782,1],[6782,0,"a"],[6783,0,"l"],[6784,0,"i"],[6785,0,"g"],[6786,0,"n"],[6791,1],[6791,0,"{"],[6792,0,"}"],[6793,0,"="],[6050,0,"\n"],[6051,0,"\\"],[6052,0,"n"],[6053,0,"e"],[6054,0,"w"],[6055,0,"c"],[6056,0,"o"],[6057,0,"m"],[6058,0,"m"],[6059,0,"a"],[6060,0,"n"],[6061,0,"d"],[6062,0,"{"],[6063,0,"\\"],[6064,0,"m"],[6065,0,"u"],[6066,0,"l"],[6067,0,"t"],[6068,0,"i"],[6069,0,"a"],[6070,0,"l"],[6071,0,"i"],[6072,0,"g"],[6073,0,"n"],[6074,0,"}"],[6075,0,"["],[6076,0,"2"],[6077,0,"]"],[6078,0,"{"],[6079,0,"%"],[6080,0,"\n"],[6081,0," "],[6082,0," "],[6083,0,"\\"],[6084,0,"m"],[6085,0,"u"],[6086,0,"l"],[6087,0,"t"],[6088,0,"i"],[6089,0,"s"],[6090,0,"p"],[6091,0,"a"],[6092,0,"n"],[6093,0,"{"],[6094,0,"#"],[6095,0,"1"],[6096,0,"}"],[6097,0,"\\"],[6098,0,"m"],[6099,0,"b"],[6100,0,"o"],[6101,0,"x"],[6102,0,"{"],[6103,0,"$"],[6104,0,"\\"],[6105,0,"d"],[6106,0,"i"],[6107,0,"s"],[6108,0,"p"],[6109,0,"l"],[6110,0,"a"],[6111,0,"y"],[6112,0,"s"],[6113,0,"t"],[6114,0,"y"],[6115,0,"l"],[6116,0,"e"],[6117,0,"#"],[6118,0,"2"],[6119,0,"$"],[6120,0,"}"],[6121,0,"%"],[6122,0,"\n"],[6123,0,"}"],[7165,1],[7164,1],[7163,1],[7162,1],[7161,1],[7160,1],[7159,1],[7158,1],[7157,1],[7156,1],[7155,1],[7154,1],[7153,1],[7152,1],[6867,1],[7018,0,"\\"],[7019,0,"m"],[7020,0,"u"],[7021,0,"l"],[7022,0,"t"],[7023,0,"i"],[7024,0,"a"],[7025,0,"l"],[7026,0,"i"],[7027,0,"g"],[7028,0,"n"],[7029,0,"{"],[7030,0,"3"],[7031,0,"}"],[7032,0,"{"],[7033,0,"{"],[7034,0,"}"],[7095,0,"%"],[7161,0,"}"],[7034,1],[7033,1],[7033,0,"{"],[7034,0,"}"],[7034,1],[7033,1],[6117,0,"{"],[6118,0,"}"],[6868,1],[6867,1],[6173,1],[6173,1],[6831,1],[6996,1],[7160,1],[7160,1],[7160,0,"&"],[7161,0," "],[6173,0,"&"],[6174,0," "],[6834,0,"&"],[6999,0,"&"],[6184,0,"&"],[6219,1],[6219,1],[6818,0,"&"],[6175,0,"\\"],[6176,0,"m"],[6177,0,"u"],[6178,0,"l"],[6179,0,"t"],[6180,0,"i"],[6181,0,"a"],[6182,0,"l"],[6183,0,"i"],[6184,0,"g"],[6185,0,"n"],[6186,0,"{"],[6187,0,"3"],[6188,0,"}"],[6189,0,"{"],[6198,1],[6198,1],[6198,1],[6196,1],[6195,1],[6290,0,"}"],[6290,0," "],[6173,0,"%"],[6173,1],[6257,1],[6257,1],[6241,0,"}"],[6242,0," "],[6243,0,"&"],[6244,0,"&"],[6293,1],[6293,1],[6245,1],[6244,1],[6243,1],[6242,1],[6242,0,"\n"],[6243,0," "],[6244,0," "],[6245,0," "],[6246,0," "],[6294,0,"}"],[6295,0," "],[6241,1],[6187,1],[6187,0,"5"],[6174,0," "],[6175,0,"_"],[6175,1],[6175,0,"A"],[6176,0,"_"],[6177,0,"p"],[6178,0," "],[6179,0,"="],[6180,0," "],[6181,0,"\\"],[6182,0,"{"],[6183,0," "],[6184,0,"\\"],[6185,0,"\\"],[6186,0,"\n"],[6249,1],[6249,0,"\n"],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,1],[6187,0,"&"],[6188,0,"&"],[6225,0," "],[6226,0,"\\"],[6226,1],[6226,0,"&"],[6227,0," "],[6227,1],[6226,1],[6225,1],[6218,0,"&"],[6219,0," "],[6220,0,"\\"],[6221,0,"m"],[6222,0,"u"],[6223,0,"l"],[6224,0,"t"],[6225,0,"i"],[6226,0,"a"],[6227,0,"l"],[6228,0,"i"],[6229,0,"g"],[6230,0,"n"],[6231,0,"{"],[6232,0,"3"],[6233,0,"4"],[6233,1],[6233,0,"}"],[6234,0,"{"],[6242,1],[6242,0," "],[6247,1],[6247,1],[6247,1],[6247,1],[6175,0,"\\"],[6176,0,"m"],[6177,0,"u"],[6178,0,"l"],[6179,0,"t"],[6180,0,"i"],[6181,0,"a"],[6182,0,"l"],[6183,0,"i"],[6184,0,"g"],[6185,0,"n"],[6186,0,"{"],[6187,0,"3"],[6188,0,"}"],[6189,0,"{"],[6198,0,"}"],[6234,1],[6233,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6234,1],[6204,1],[6203,1],[6202,1],[6201,1],[6200,1],[6199,1],[6198,1],[6187,1],[6187,0,"5"],[6198,0,"\\"],[6199,0,";"],[6241,0,"\n"],[6242,0," "],[6243,0," "],[6244,0," "],[10319,1],[10318,1],[10317,1],[10316,1],[10315,1],[10314,1],[10313,1],[10312,1],[10311,1],[10310,1],[10309,1],[10308,1],[10307,1],[10306,1],[10305,1],[10304,1],[10303,1],[10302,1],[10301,1],[10300,1],[10299,1],[10298,1],[10297,1],[10296,1],[10295,1],[10294,1],[10293,1],[10292,1],[10291,1],[10290,1],[10289,1],[10288,1],[10287,1],[10286,1],[10285,1],[10284,1],[10283,1],[10282,1],[10281,1],[10280,1],[10279,1],[10278,1],[10277,1],[10276,1],[10275,1],[10274,1],[10273,1],[10272,1],[10271,1],[10270,1],[10270,0,"m"],[10271,0,"a"],[10272,0,"t"],[10273,0,"h"],[10274,0,"r"],[10275,0,"m"],[10276,0,"{"],[10277,0,"r"],[10278,0,"a"],[10279,0,"n"],[10280,0,"}"],[10281,0,"("],[10312,0,")"],[10313,1],[10313,1],[10313,1],[10313,1],[10313,1],[10280,0,"g"],[10281,0,"e"],[3242,0," "],[3243,0,"I"],[3244,0,"t"],[3245,0," "],[3246,0,"i"],[3247,0,"s"],[3248,0," "],[3249,0,"n"],[3250,0,"o"],[3251,0,"t"],[3252,0," "],[3253,0,"a"],[3254,0," "],[3255,0,"f"],[3256,0,"u"],[3257,0,"l"],[3258,0,"l"],[3259,0," "],[3260,0,"p"],[3261,0,"r"],[3262,0,"o"],[3263,0,"g"],[3263,1],[3262,1],[3262,0,"="],[3262,1],[3261,1],[3261,0,"r"],[3262,0,"o"],[3263,0,"g"],[3264,0,"r"],[3265,0,"a"],[3266,0,"m"],[3267,0,"m"],[3268,0,"i"],[3269,0,"n"],[3270,0,"g"],[3271,0," "],[3272,0,"l"],[3273,0,"a"],[3274,0,"n"],[3275,0,"g"],[3276,0,"u"],[3277,0,"a"],[3278,0,"g"],[3279,0,"e"],[3280,0,","],[3281,0," "],[3282,0,"b"],[3283,0,"u"],[3284,0,"t"],[3285,0," "],[3286,0,"r"],[3287,0,"a"],[3288,0,"t"],[3289,0,"h"],[3290,0,"e"],[3291,0,"r"],[3292,0," "],[3293,0,"a"],[3294,0,"n"],[3295,0," "],[3296,0,"A"],[3297,0,"P"],[3298,0,"I"],[3299,0," "],[3300,0,"t"],[3301,0,"h"],[3302,0,"r"],[3303,0,"o"],[3304,0,"u"],[3305,0,"g"],[3306,0,"h"],[3307,0," "],[3308,0,"w"],[3309,0,"h"],[3310,0,"i"],[3311,0,"c"],[3312,0,"h"],[3313,0," "],[3314,0,"t"],[3315,0,"h"],[3316,0,"e"],[3317,0," "],[3318,0,"d"],[3319,0,"o"],[3320,0,"c"],[3321,0,"u"],[3322,0,"m"],[3323,0,"e"],[3324,0,"n"],[3325,0,"t"],[3326,0," "],[3327,0,"s"],[3328,0,"t"],[3329,0,"a"],[3330,0,"t"],[3331,0,"e"],[3332,0," "],[3333,0,"i"],[3334,0,"s"],[3335,0," "],[3336,0,"q"],[3337,0,"u"],[3338,0,"e"],[3339,0,"r"],[3340,0,"i"],[3341,0,"e"],[3342,0,"d"],[3343,0," "],[3344,0,"a"],[3345,0,"n"],[3346,0,"d"],[3347,0," "],[3348,0,"m"],[3349,0,"o"],[3350,0,"d"],[3351,0,"i"],[3352,0,"f"],[3353,0,"i"],[3354,0,"e"],[3355,0,"d"],[3356,0,"."],[3357,0," "],[3358,0,"W"],[3359,0,"e"],[3360,0," "],[3361,0,"a"],[3362,0,"s"],[3363,0,"s"],[3364,0,"u"],[3365,0,"m"],[3366,0,"e"],[3367,0," "],[3368,0,"t"],[3369,0,"h"],[3370,0,"a"],[3371,0,"t"],[3372,0," "],[3373,0,"t"],[3374,0,"h"],[3375,0,"e"],[3376,0," "],[3377,0,"u"],[3378,0,"s"],[3379,0,"e"],[3380,0,"r"],[3381,0," "],[3382,0,"p"],[3383,0,"r"],[3384,0,"o"],[3385,0,"g"],[3386,0,"r"],[3387,0,"a"],[3388,0,"m"],[3389,0," "],[3390,0,"i"],[3391,0,"s"],[3392,0,"s"],[3393,0,"u"],[3394,0,"e"],[3395,0,"s"],[3396,0," "],[3397,0,"a"],[3397,1],[3397,0,"a"],[3398,0," "],[3399,0,"("],[3400,0,"p"],[3401,0,"o"],[3402,0,"s"],[3403,0,"s"],[3404,0,"i"],[3405,0,"b"],[3406,0,"l"],[3407,0,"y"],[3408,0," "],[3409,0,"i"],[3410,0,"n"],[3411,0,"f"],[3412,0,"i"],[3413,0,"n"],[3414,0,"i"],[3415,0,"t"],[3416,0,"e"],[3417,0,")"],[3418,0," "],[3419,0,"s"],[3420,0,"e"],[3421,0,"q"],[3422,0,"u"],[3423,0,"e"],[3424,0,"n"],[3425,0,"c"],[3426,0,"e"],[3427,0," "],[3428,0,"o"],[3429,0,"f"],[3430,0," "],[3431,0,"c"],[3432,0,"o"],[3433,0,"m"],[3434,0,"m"],[3435,0,"a"],[3436,0,"n"],[3437,0,"d"],[3438,0,"s"],[3439,0,","],[3440,0," "],[3440,1],[3439,1],[3381,1],[3380,1],[3379,1],[3378,1],[3377,1],[3384,0," "],[3385,0,"a"],[3386,0,"c"],[3387,0,"c"],[3388,0,"e"],[3389,0,"p"],[3390,0,"t"],[3391,0,"s"],[3392,0," "],[3393,0,"u"],[3394,0,"s"],[3395,0,"e"],[3396,0,"r"],[3397,0," "],[3398,0,"i"],[3399,0,"n"],[3400,0,"p"],[3401,0,"u"],[3402,0,"t"],[3403,0," "],[3404,0,"a"],[3405,0,"n"],[3406,0,"d"],[3457,0," "],[3458,0,"t"],[3459,0,"o"],[3460,0," "],[3461,0,"t"],[3462,0,"h"],[3463,0,"e"],[3464,0," "],[3465,0,"A"],[3466,0,"P"],[3467,0,"I"],[3468,0,"."],[3469,0," "],[3470,0,"W"],[3471,0,"e"],[3472,0," "],[3473,0,"m"],[3474,0,"o"],[3475,0,"d"],[3476,0,"e"],[3477,0,"l"],[3478,0," "],[3479,0,"o"],[3480,0,"n"],[3481,0,"l"],[3482,0,"y"],[3483,0," "],[3484,0,"t"],[3485,0,"h"],[3486,0,"e"],[3487,0," "],[3488,0,"s"],[3489,0,"e"],[3490,0,"m"],[3491,0,"a"],[3492,0,"n"],[3493,0,"t"],[3494,0,"i"],[3495,0,"c"],[3496,0,"s"],[3497,0," "],[3498,0,"o"],[3499,0,"f"],[3500,0," "],[3501,0,"t"],[3502,0,"h"],[3503,0,"o"],[3504,0,"s"],[3505,0,"e"],[3506,0," "],[3507,0,"c"],[3508,0,"o"],[3509,0,"m"],[3510,0,"m"],[3511,0,"a"],[3512,0,"n"],[3513,0,"d"],[3514,0,"s"],[3515,0,","],[3516,0," "],[3517,0,"a"],[3518,0,"n"],[3519,0,"d"],[3520,0," "],[3521,0,"a"],[3522,0,"s"],[3523,0,"s"],[3524,0,"u"],[3525,0,"m"],[3526,0,"e"],[3527,0," "],[3528,0,"t"],[3529,0,"h"],[3530,0,"a"],[3531,0,"t"],[3532,0," "],[3521,0,"d"],[3522,0,"o"],[3523,0," "],[3524,0,"n"],[3525,0,"o"],[3526,0,"t"],[3527,0," "],[3538,1],[3537,1],[3536,1],[3535,1],[3535,0,"a"],[3536,0,"n"],[3537,0,"y"],[3538,0,"t"],[3539,0,"h"],[3540,0,"i"],[3541,0,"n"],[3542,0,"g"],[3543,0," "],[3544,0,"a"],[3545,0,"b"],[3546,0,"o"],[3547,0,"u"],[3548,0,"t"],[3549,0," "],[3550,0,"t"],[3551,0,"h"],[3552,0,"e"],[3553,0," "],[3554,0,"p"],[3555,0,"r"],[3556,0,"o"],[3557,0,"g"],[3558,0,"r"],[3559,0,"a"],[3560,0,"m"],[3561,0," "],[3562,0,"i"],[3563,0,"n"],[3564,0," "],[3565,0,"w"],[3566,0,"h"],[3567,0,"i"],[3568,0,"c"],[3569,0,"h"],[3570,0," "],[3571,0,"t"],[3572,0,"h"],[3573,0,"e"],[3574,0," "],[3575,0,"c"],[3576,0,"o"],[3577,0,"m"],[3578,0,"m"],[3579,0,"a"],[3580,0,"n"],[3581,0,"d"],[3582,0," "],[3583,0,"l"],[3584,0,"a"],[3585,0,"n"],[3586,0,"g"],[3587,0,"u"],[3588,0,"a"],[3589,0,"g"],[3590,0,"e"],[3591,0," "],[3592,0,"i"],[3593,0,"s"],[3594,0," "],[3595,0,"e"],[3596,0,"m"],[3597,0,"b"],[3598,0,"e"],[3599,0,"d"],[3600,0,"d"],[3601,0,"e"],[3602,0,"d"],[3603,0,"."],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[3604,1],[1740,0,"\n"],[1741,0,"\n"],[1739,1],[1741,0,"\\"],[1742,0,"s"],[1743,0,"u"],[1744,0,"b"],[1745,0,"s"],[1746,0,"e"],[1747,0,"c"],[1748,0,"t"],[1749,0,"i"],[1750,0,"o"],[1751,0,"n"],[1752,0,"{"],[1753,0,"D"],[1754,0,"a"],[1755,0,"t"],[1756,0,"a"],[1757,0," "],[1758,0,"m"],[1759,0,"o"],[1760,0,"d"],[1761,0,"e"],[1762,0,"l"],[1763,0,"}"],[1764,0,"\n"],[1765,0,"\n"],[1766,0,"W"],[1767,0,"e"],[1768,0," "],[714,0,"A"],[715,0," "],[716,0,"c"],[717,0,"o"],[718,0,"m"],[719,0,"="],[719,1],[718,1],[717,1],[716,1],[716,0,"C"],[717,0,"o"],[718,0,"n"],[719,0,"f"],[720,0,"l"],[721,0,"i"],[722,0,"c"],[723,0,"t"],[724,0,"-"],[725,0,"F"],[726,0,"r"],[727,0,"e"],[728,0,"e"],[729,0," "],[730,0,"R"],[731,0,"e"],[732,0,"p"],[733,0,"l"],[734,0,"i"],[735,0,"c"],[736,0,"a"],[737,0,"t"],[738,0,"e"],[739,0,"d"],[740,0," "],[741,0,"J"],[742,0,"S"],[743,0,"O"],[744,0,"N"],[745,0," "],[746,0,"D"],[747,0,"a"],[748,0,"t"],[749,0,"a"],[750,0,"t"],[751,0,"y"],[752,0,"p"],[753,0,"e"],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[754,1],[1748,1],[1747,1],[1746,1],[1746,0,"W"],[1747,0,"e"],[1748,0," "],[1748,1],[1747,1],[1746,1],[1746,0,"O"],[1747,0,"u"],[1748,0,"r"],[1749,0," "],[1750,0,"d"],[1751,0,"a"],[1752,0,"t"],[1753,0,"a"],[1754,0," "],[1755,0,"m"],[1756,0,"o"],[1757,0,"d"],[1758,0,"e"],[1759,0,"l"],[1760,0," "],[1761,0,"f"],[1762,0,"o"],[1763,0,"r"],[1764,0," "],[1765,0,"a"],[1766,0," "],[1767,0,"d"],[1768,0,"o"],[1769,0,"c"],[1770,0,"u"],[1771,0,"m"],[1772,0,"e"],[1773,0,"n"],[1774,0,"t"],[1775,0," "],[1776,0,"i"],[1777,0,"s"],[1778,0," "],[1779,0,"b"],[1780,0,"a"],[1781,0,"s"],[1782,0,"e"],[1783,0,"d"],[1784,0," "],[1785,0,"o"],[1786,0,"n"],[1787,0," "],[1788,0,"J"],[1789,0,"S"],[1790,0,"O"],[1791,0,"N"],[1792,0,"."],[1793,0," "],[1793,1],[1792,1],[1792,0,"."],[1793,0," "],[1794,0,"I"],[1795,0,"t"],[1796,0," "],[1797,0,"c"],[1798,0,"o"],[1799,0,"n"],[1800,0,"s"],[1801,0,"i"],[1802,0,"s"],[1803,0,"t"],[1804,0,"s"],[1805,0," "],[1806,0,"o"],[1807,0,"f"],[1808,0," "],[1809,0,"a"],[1810,0," "],[1811,0,"t"],[1812,0,"r"],[1813,0,"e"],[1814,0,"e"],[1815,0," "],[1816,0,"w"],[1817,0,"i"],[1818,0,"t"],[1819,0,"h"],[1820,0," "],[1821,0,"t"],[1822,0,"h"],[1823,0,"e"],[1824,0," "],[1825,0,"f"],[1826,0,"o"],[1827,0,"l"],[1828,0,"l"],[1829,0,"o"],[1830,0,"w"],[1831,0,"i"],[1832,0,"n"],[1833,0,"g"],[1834,0," "],[1835,0,"t"],[1836,0,"y"],[1837,0,"p"],[1838,0,"e"],[1839,0,"s"],[1840,0," "],[1841,0,"n"],[1842,0,"o"],[1842,1],[1841,1],[1841,0,"o"],[1842,0,"f"],[1843,0," "],[1844,0,"n"],[1845,0,"o"],[1846,0,"d"],[1847,0,"e"],[1848,0,":"],[1849,0,"\n"],[1850,0,"\n"],[1851,0,"\\"],[1852,0,"b"],[1853,0,"e"],[1854,0,"g"],[1855,0,"i"],[1856,0,"n"],[1857,0,"{"],[1858,0,"e"],[1859,0,"n"],[1860,0,"u"],[1861,0,"m"],[1862,0,"e"],[1863,0,"r"],[1864,0,"a"],[1865,0,"t"],[1866,0,"e"],[1867,0,"}"],[1868,0,"\n"],[1869,0,"\\"],[1870,0,"e"],[1871,0,"n"],[1872,0,"d"],[1873,0,"{"],[1874,0,"e"],[1875,0,"n"],[1876,0,"u"],[1877,0,"m"],[1878,0,"e"],[1879,0,"r"],[1880,0,"a"],[1881,0,"t"],[1882,0,"e"],[1883,0,"}"],[1868,0,"\n"],[1869,0,"\\"],[1870,0,"i"],[1871,0,"t"],[1872,0,"e"],[1873,0,"m"],[1874,0," "],[1866,1],[1865,1],[1864,1],[1863,1],[1862,1],[1861,1],[1860,1],[1859,1],[1858,1],[1858,0,"d"],[1859,0,"e"],[1860,0,"s"],[1861,0,"c"],[1862,0,"r"],[1863,0,"i"],[1864,0,"p"],[1865,0,"t"],[1866,0,"i"],[1867,0,"o"],[1868,0,"n"],[1891,1],[1890,1],[1889,1],[1888,1],[1887,1],[1886,1],[1885,1],[1884,1],[1883,1],[1883,0,"d"],[1884,0,"e"],[1885,0,"s"],[1886,0,"c"],[1887,0,"r"],[1888,0,"i"],[1889,0,"p"],[1890,0,"t"],[1891,0,"i"],[1892,0,"o"],[1893,0,"n"],[1876,1],[1876,0,"["],[1877,0,"M"],[1878,0,"A"],[1879,0,"P"],[1879,1],[1878,1],[1878,0,"a"],[1879,0,"p"],[1880,0,"."],[1881,0,"]"],[1882,0," "],[1880,1],[1880,0,":"],[1883,0,"A"],[1884,0," "],[1885,0,"b"],[1886,0,"r"],[1887,0,"a"],[1888,0,"n"],[1889,0,"c"],[1890,0,"h"],[1891,0," "],[1892,0,"n"],[1893,0,"o"],[1894,0,"d"],[1895,0,"e"],[1896,0," "],[1897,0,"w"],[1898,0,"h"],[1899,0,"o"],[1900,0,"s"],[1901,0,"e"],[1902,0," "],[1903,0,"c"],[1904,0,"h"],[1905,0,"i"],[1906,0,"l"],[1907,0,"d"],[1908,0,"r"],[1909,0,"e"],[1910,0,"n"],[1911,0," "],[1912,0,"a"],[1913,0,"r"],[1914,0,"e"],[1915,0," "],[1916,0,"n"],[1917,0,"o"],[1918,0,"t"],[1919,0," "],[1920,0,"o"],[1921,0,"r"],[1922,0,"d"],[1923,0,"e"],[1924,0,"r"],[1925,0,"e"],[1926,0,"d"],[1927,0,","],[1928,0," "],[1929,0,"a"],[1930,0,"n"],[1931,0,"d"],[1932,0," "],[1933,0,"w"],[1934,0,"h"],[1935,0,"e"],[1936,0,"r"],[1937,0,"e"],[1938,0," "],[1939,0,"e"],[1940,0,"a"],[1941,0,"c"],[1942,0,"h"],[1943,0," "],[1944,0,"c"],[1945,0,"h"],[1946,0,"i"],[1947,0,"l"],[1948,0,"d"],[1949,0,"r"],[1950,0,"e"],[1951,0,"n"],[1952,0," "],[1953,0,"i"],[1954,0,"s"],[1955,0," "],[1955,1],[1954,1],[1953,1],[1952,1],[1951,1],[1950,1],[1949,1],[1949,0," "],[1950,0,"i"],[1951,0,"s"],[1952,0," "],[1953,0,"l"],[1954,0,"a"],[1955,0,"b"],[1956,0,"e"],[1957,0,"l"],[1958,0,"l"],[1959,0,"e"],[1960,0,"d"],[1961,0," "],[1962,0,"w"],[1963,0,"i"],[1964,0,"t"],[1965,0,"h"],[1966,0," "],[1967,0,"a"],[1968,0," "],[1969,0,"s"],[1970,0,"t"],[1971,0,"r"],[1972,0,"i"],[1973,0,"n"],[1974,0,"g"],[1975,0," "],[1976,0,"\\"],[1977,0,"e"],[1978,0,"m"],[1979,0,"p"],[1980,0,"h"],[1981,0,"{"],[1982,0,"k"],[1983,0,"e"],[1984,0,"y"],[1985,0,"}"],[1986,0,"."],[1987,0," "],[1988,0,"A"],[1989,0," "],[1990,0,"k"],[1991,0,"e"],[1992,0,"y"],[1993,0," "],[1994,0,"u"],[1995,0,"n"],[1996,0,"i"],[1997,0,"q"],[1998,0,"u"],[1999,0,"e"],[2000,0,"l"],[2001,0,"y"],[2002,0," "],[2003,0,"i"],[2004,0,"d"],[2005,0,"e"],[2006,0,"n"],[2007,0,"t"],[2008,0,"i"],[2009,0,"f"],[2010,0,"i"],[2011,0,"e"],[2012,0,"s"],[2013,0," "],[2014,0,"o"],[2015,0,"n"],[2016,0,"e"],[2017,0," "],[2018,0,"o"],[2019,0,"f"],[2020,0," "],[2021,0,"t"],[2022,0,"h"],[2023,0,"e"],[2024,0," "],[2025,0,"c"],[2026,0,"h"],[2027,0,"i"],[2028,0,"l"],[2029,0,"d"],[2030,0,"r"],[2031,0,"e"],[2032,0,"n"],[2033,0,"."],[2034,0,"\n"],[2035,0,"\\"],[2036,0,"i"],[2037,0,"t"],[2038,0,"e"],[2039,0,"m"],[2040,0,"["],[2041,0,"L"],[2042,0,"i"],[2043,0,"s"],[2044,0,"t"],[2045,0,":"],[2046,0,"}"],[2046,1],[2046,0,"]"],[2047,0," "],[2048,0,"A"],[2049,0," "],[2050,0,"b"],[2051,0,"r"],[2052,0,"a"],[2053,0,"n"],[2054,0,"c"],[2055,0,"h"],[2056,0," "],[2057,0,"n"],[2058,0,"o"],[2059,0,"d"],[2060,0,"e"],[2061,0," "],[2062,0,"w"],[2063,0,"h"],[2064,0,"o"],[2065,0,"s"],[2066,0,"e"],[2067,0," "],[2068,0,"c"],[2069,0,"h"],[2070,0,"i"],[2071,0,"l"],[2072,0,"d"],[2073,0,"r"],[2074,0,"e"],[2075,0,"n"],[2076,0," "],[2077,0,"h"],[2078,0,"a"],[2079,0,"v"],[2080,0,"e"],[2081,0," "],[2082,0,"a"],[2083,0,"n"],[2084,0," "],[2085,0,"o"],[2086,0,"r"],[2087,0,"d"],[2088,0,"e"],[2089,0,"r"],[2090,0," "],[2091,0,"d"],[2092,0,"e"],[2093,0,"f"],[2094,0,"i"],[2095,0,"n"],[2096,0,"e"],[2097,0,"d"],[2098,0," "],[2099,0,"b"],[2100,0,"y"],[2101,0," "],[2102,0,"t"],[2103,0,"h"],[2104,0,"e"],[2105,0," "],[2106,0,"a"],[2107,0,"p"],[2108,0,"p"],[2109,0,"l"],[2110,0,"i"],[2111,0,"c"],[2112,0,"a"],[2113,0,"t"],[2114,0,"i"],[2115,0,"o"],[2116,0,"n"],[2117,0,"."],[2118,0,"\n"],[2119,0,"\\"],[2120,0,"i"],[2121,0,"t"],[2122,0,"e"],[2123,0,"m"],[2124,0,"["],[2125,0,"R"],[2126,0,"e"],[2127,0,"g"],[2128,0,"i"],[2129,0,"s"],[2130,0,"t"],[2131,0,"e"],[2132,0,"r"],[2133,0,":"],[2134,0,"]"],[2135,0," "],[2136,0,"A"],[2137,0," "],[2138,0,"l"],[2139,0,"e"],[2140,0,"a"],[2141,0,"f"],[2142,0," "],[2143,0,"n"],[2144,0,"o"],[2145,0,"d"],[2146,0,"e"],[2147,0," "],[2034,0," "],[2035,0,"A"],[2036,0," "],[2037,0,"J"],[2038,0,"S"],[2039,0,"O"],[2040,0,"N"],[2041,0," "],[2042,0,"m"],[2043,0,"a"],[2044,0,"p"],[2045,0," "],[2046,0,"i"],[2047,0,"s"],[2048,0," "],[2049,0,"a"],[2050,0,"l"],[2051,0,"s"],[2052,0,"o"],[2053,0," "],[2054,0,"k"],[2055,0,"n"],[2056,0,"o"],[2057,0,"w"],[2058,0,"n"],[2059,0," "],[2060,0,"a"],[2061,0,"s"],[2062,0," "],[2063,0,"a"],[2064,0,"n"],[2065,0," "],[2066,0,"\\"],[2067,0,"e"],[2068,0,"m"],[2069,0,"p"],[2070,0,"h"],[2071,0,"{"],[2072,0,"o"],[2073,0,"b"],[2074,0,"j"],[2075,0,"e"],[2076,0,"c"],[2077,0,"t"],[2078,0,"}"],[2079,0,"."],[2164,0," "],[2165,0,"A"],[2166,0," "],[2167,0,"J"],[2168,0,"S"],[2169,0,"O"],[2170,0,"N"],[2171,0," "],[2172,0,"l"],[2173,0,"i"],[2174,0,"s"],[2175,0,"t"],[2176,0," "],[2177,0,"i"],[2178,0,"s"],[2179,0," "],[2180,0,"a"],[2181,0,"l"],[2182,0,"s"],[2183,0,"o"],[2184,0," "],[2185,0,"k"],[2186,0,"n"],[2187,0,"o"],[2188,0,"w"],[2189,0,"n"],[2190,0," "],[2191,0,"a"],[2192,0,"s"],[2193,0," "],[2194,0,"a"],[2195,0,"n"],[2196,0," "],[2197,0,"\\"],[2198,0,"e"],[2199,0,"m"],[2200,0,"p"],[2201,0,"h"],[2202,0,"{"],[2203,0,"a"],[2204,0,"r"],[2205,0,"r"],[2206,0,"a"],[2207,0,"y"],[2208,0,"}"],[2209,0,"."],[2033,0,","],[2034,0," "],[2035,0,"a"],[2036,0,"n"],[2037,0,"d"],[2038,0," "],[2039,0,"k"],[2040,0,"e"],[2041,0,"y"],[2042,0,"s"],[2043,0," "],[2044,0,"a"],[2045,0,"r"],[2046,0,"e"],[2047,0," "],[2048,0,"i"],[2049,0,"m"],[2050,0,"m"],[2051,0,"u"],[2052,0,"t"],[2053,0,"a"],[2054,0,"b"],[2055,0,"l"],[2056,0,"e"],[2057,0," "],[2058,0,"("],[2058,1],[2057,1],[2039,1],[2038,1],[2037,1],[2036,1],[2035,1],[2034,1],[2033,1],[2033,0,"."],[2034,0," "],[2035,0,"K"],[2053,0,","],[2054,0," "],[2055,0,"b"],[2056,0,"u"],[2057,0,"t"],[2058,0," "],[2059,0,"v"],[2060,0,"a"],[2061,0,"l"],[2062,0,"u"],[2063,0,"e"],[2064,0,"s"],[2065,0," "],[2066,0,"a"],[2067,0,"r"],[2068,0,"e"],[2069,0," "],[2070,0,"m"],[2071,0,"u"],[2072,0,"t"],[2073,0,"a"],[2074,0,"b"],[2075,0,"l"],[2076,0,"e"],[2077,0,","],[2078,0," "],[2079,0,"a"],[2080,0,"n"],[2081,0,"d"],[2082,0," "],[2083,0,"k"],[2084,0,"e"],[2085,0,"y"],[2086,0,"-"],[2087,0,"v"],[2088,0,"a"],[2089,0,"l"],[2090,0,"u"],[2091,0,"e"],[2092,0," "],[2093,0,"m"],[2094,0,"a"],[2095,0,"p"],[2096,0,"p"],[2097,0,"i"],[2098,0,"n"],[2099,0,"g"],[2100,0,"s"],[2101,0," "],[2102,0,"c"],[2103,0,"a"],[2104,0,"n"],[2105,0," "],[2106,0,"b"],[2107,0,"e"],[2108,0," "],[2109,0,"a"],[2110,0,"d"],[2111,0,"d"],[2112,0,"e"],[2113,0,"d"],[2114,0," "],[2115,0,"a"],[2116,0,"n"],[2117,0,"d"],[2118,0," "],[2119,0,"r"],[2120,0,"e"],[2121,0,"m"],[2122,0,"o"],[2123,0,"v"],[2124,0,"e"],[2125,0,"d"],[2126,0," "],[2127,0,"f"],[2128,0,"r"],[2129,0,"o"],[2130,0,"m"],[2131,0," "],[2132,0,"t"],[2133,0,"h"],[2134,0,"e"],[2135,0," "],[2136,0,"m"],[2137,0,"a"],[2138,0,"p"],[2270,0," "],[2271,0,"T"],[2272,0,"h"],[2273,0,"e"],[2274,0," "],[2275,0,"l"],[2276,0,"i"],[2277,0,"s"],[2278,0,"t"],[2279,0," "],[2280,0,"c"],[2281,0,"a"],[2282,0,"n"],[2283,0," "],[2284,0,"b"],[2285,0,"e"],[2286,0," "],[2287,0,"m"],[2288,0,"u"],[2289,0,"t"],[2290,0,"a"],[2291,0,"t"],[2292,0,"e"],[2293,0,"d"],[2294,0," "],[2295,0,"b"],[2296,0,"y"],[2297,0," "],[2298,0,"i"],[2299,0,"n"],[2300,0,"s"],[2301,0,"e"],[2302,0,"r"],[2303,0,"t"],[2304,0,"i"],[2305,0,"n"],[2306,0,"g"],[2307,0," "],[2308,0,"o"],[2309,0,"r"],[2310,0," "],[2311,0,"d"],[2312,0,"e"],[2313,0,"l"],[2314,0,"e"],[2315,0,"t"],[2316,0,"i"],[2317,0,"n"],[2318,0,"g"],[2319,0," "],[2320,0,"l"],[2321,0,"i"],[2322,0,"s"],[2323,0,"t"],[2324,0," "],[2325,0,"e"],[2326,0,"l"],[2327,0,"e"],[2328,0,"m"],[2329,0,"e"],[2330,0,"n"],[2331,0,"t"],[2332,0,"s"],[2333,0,"."],[2410,0,"c"],[2411,0,"o"],[2412,0,"n"],[2413,0,"t"],[2414,0,"a"],[2415,0,"i"],[2416,0,"n"],[2417,0,"i"],[2418,0,"n"],[2419,0,"g"],[2420,0," "],[2421,0,"a"],[2422,0," "],[2423,0,"p"],[2424,0,"r"],[2425,0,"i"],[2426,0,"m"],[2427,0,"i"],[2428,0,"t"],[2429,0,"i"],[2430,0,"v"],[2431,0,"e"],[2432,0," "],[2433,0,"v"],[2434,0,"a"],[2435,0,"l"],[2436,0,"u"],[2437,0,"e"],[2438,0," "],[2439,0,"("],[2440,0,"s"],[2441,0,"t"],[2442,0,"r"],[2443,0,"i"],[2444,0,"n"],[2445,0,"g"],[2446,0,","],[2447,0," "],[2448,0,"n"],[2449,0,"u"],[2450,0,"m"],[2451,0,"b"],[2452,0,"e"],[2453,0,"r"],[2454,0," "],[2454,1],[2454,0,","],[2455,0," "],[2456,0,"b"],[2457,0,"o"],[2458,0,"o"],[2459,0,"l"],[2460,0,"e"],[2461,0,"a"],[2462,0,"n"],[2463,0," "],[2464,0,"o"],[2465,0,"r"],[2466,0," "],[2467,0,"n"],[2468,0,"u"],[2469,0,"l"],[2470,0,"l"],[2471,0,")"],[2472,0,"."],[2473,0," "],[2474,0,"A"],[2475,0,"l"],[2476,0,"t"],[2477,0,"h"],[2478,0,"o"],[2479,0,"u"],[2480,0,"g"],[2481,0,"h"],[2482,0," "],[2483,0,"p"],[2484,0,"r"],[2485,0,"i"],[2486,0,"m"],[2487,0,"i"],[2488,0,"t"],[2489,0,"i"],[2490,0,"v"],[2491,0,"e"],[2492,0,"s"],[2493,0," "],[2494,0,"a"],[2495,0,"r"],[2496,0,"e"],[2497,0," "],[2498,0,"t"],[2499,0,"h"],[2500,0,"e"],[2501,0,"m"],[2502,0,"s"],[2503,0,"e"],[2504,0,"l"],[2505,0,"v"],[2506,0,"e"],[2507,0,"s"],[2508,0," "],[2509,0,"i"],[2510,0,"m"],[2511,0,"m"],[2512,0,"u"],[2513,0,"t"],[2514,0,"a"],[2515,0,"b"],[2516,0,"l"],[2517,0,"e"],[2518,0,","],[2519,0," "],[2520,0,"t"],[2521,0,"h"],[2522,0,"e"],[2523,0," "],[2524,0,"v"],[2525,0,"a"],[2526,0,"l"],[2527,0,"u"],[2528,0,"e"],[2529,0," "],[2530,0,"o"],[2531,0,"f"],[2532,0," "],[2533,0,"a"],[2534,0," "],[2535,0,"r"],[2536,0,"e"],[2537,0,"g"],[2538,0,"i"],[2539,0,"s"],[2540,0,"t"],[2541,0,"e"],[2542,0,"r"],[2543,0," "],[2544,0,"c"],[2545,0,"a"],[2546,0,"n"],[2547,0," "],[2548,0,"b"],[2549,0,"e"],[2550,0," "],[2551,0,"m"],[2552,0,"u"],[2553,0,"t"],[2554,0,"a"],[2555,0,"t"],[2556,0,"e"],[2557,0,"d"],[2558,0," "],[2559,0,"b"],[2560,0,"y"],[2561,0," "],[2562,0,"s"],[2563,0,"e"],[2564,0,"t"],[2565,0,"t"],[2566,0,"i"],[2567,0,"n"],[2568,0,"g"],[2569,0," "],[2532,1],[2531,1],[2530,1],[2529,1],[2528,1],[2527,1],[2526,1],[2525,1],[2524,1],[2523,1],[2522,1],[2521,1],[2520,1],[2557,0,"i"],[2558,0,"t"],[2559,0," "],[2560,0,"t"],[2561,0,"o"],[2562,0," "],[2562,1],[2561,1],[2560,1],[2559,1],[2558,1],[2557,1],[2556,1],[2555,1],[2554,1],[2553,1],[2552,1],[2551,1],[2550,1],[2549,1],[2549,0,"a"],[2550,0,"s"],[2551,0,"s"],[2552,0,"i"],[2553,0,"g"],[2554,0,"n"],[2555,0,"i"],[2556,0,"n"],[2557,0,"g"],[2558,0," "],[2559,0,"a"],[2560,0," "],[2561,0,"n"],[2562,0,"e"],[2563,0,"w"],[2564,0," "],[2565,0,"v"],[2566,0,"a"],[2567,0,"l"],[2568,0,"u"],[2569,0,"e"],[2570,0," "],[2571,0,"t"],[2572,0,"o"],[2573,0," "],[2574,0,"i"],[2575,0,"t"],[2576,0,"."],[2577,0,"\n"],[2578,0,"\\"],[2579,0,"i"],[2580,0,"t"],[2581,0,"e"],[2582,0,"m"],[2583,0,"["],[2584,0,"C"],[2585,0,"o"],[2586,0,"u"],[2587,0,"n"],[2588,0,"t"],[2589,0,"e"],[2590,0,"r"],[2591,0,":"],[2592,0,"]"],[2593,0," "],[2594,0,"A"],[2595,0," "],[2596,0,"l"],[2597,0,"e"],[2598,0,"a"],[2599,0,"f"],[2600,0," "],[2601,0,"n"],[2602,0,"o"],[2603,0,"d"],[2604,0,"e"],[2605,0," "],[2606,0,"c"],[2607,0,"o"],[2608,0,"n"],[2609,0,"t"],[2610,0,"a"],[2611,0,"i"],[2612,0,"n"],[2613,0,"i"],[2614,0,"n"],[2615,0,"g"],[2616,0," "],[2617,0,"a"],[2618,0,"n"],[2619,0," "],[2619,1],[2618,1],[2618,0," "],[2619,0,"n"],[2620,0,"u"],[2621,0,"m"],[2622,0,"b"],[2623,0,"e"],[2624,0,"r"],[2625,0,"."],[2626,0," "],[2627,0,"S"],[2627,1],[2627,0,"I"],[2628,0,"t"],[2629,0," "],[2630,0,"i"],[2631,0,"s"],[2632,0," "],[2633,0,"s"],[2634,0,"i"],[2635,0,"m"],[2636,0,"i"],[2637,0,"l"],[2638,0,"a"],[2639,0,"r"],[2640,0," "],[2641,0,"t"],[2642,0,"o"],[2643,0," "],[2644,0,"a"],[2645,0," "],[2646,0,"r"],[2647,0,"e"],[2648,0,"g"],[2649,0,"i"],[2650,0,"s"],[2651,0,"t"],[2652,0,"e"],[2653,0,"r"],[2654,0,","],[2655,0," "],[2656,0,"b"],[2657,0,"u"],[2658,0,"t"],[2659,0," "],[2660,0,"h"],[2661,0,"a"],[2662,0,"s"],[2663,0," "],[2664,0,"d"],[2665,0,"i"],[2666,0,"f"],[2667,0,"f"],[2668,0,"e"],[2669,0,"r"],[2670,0,"e"],[2671,0,"n"],[2672,0,"t"],[2673,0," "],[2674,0,"s"],[2675,0,"e"],[2676,0,"m"],[2677,0,"a"],[2678,0,"n"],[2679,0,"t"],[2680,0,"i"],[2681,0,"c"],[2682,0,"s"],[2683,0," "],[2684,0,"u"],[2685,0,"n"],[2686,0,"d"],[2687,0,"e"],[2688,0,"r"],[2689,0," "],[2690,0,"c"],[2691,0,"o"],[2692,0,"n"],[2693,0,"c"],[2694,0,"u"],[2695,0,"r"],[2696,0,"r"],[2697,0,"e"],[2698,0,"n"],[2699,0,"t"],[2700,0," "],[2701,0,"m"],[2702,0,"o"],[2703,0,"d"],[2704,0,"i"],[2705,0,"f"],[2706,0,"i"],[2707,0,"c"],[2708,0,"a"],[2709,0,"t"],[2710,0,"i"],[2711,0,"o"],[2712,0,"n"],[2713,0,","],[2714,0," "],[2715,0,"a"],[2716,0,"s"],[2717,0," "],[2718,0,"d"],[2719,0,"e"],[2720,0,"s"],[2721,0,"c"],[2722,0,"r"],[2723,0,"i"],[2724,0,"b"],[2725,0,"e"],[2726,0,"d"],[2727,0," "],[2728,0,"b"],[2729,0,"e"],[2730,0,"l"],[2731,0,"o"],[2732,0,"w"],[2733,0,"."],[2752,0,"\n"],[2753,0,"\n"],[2754,0,"T"],[2755,0,"h"],[2756,0,"u"],[2757,0,"s"],[2758,0,","],[2759,0," "],[2760,0,"i"],[2761,0,"n"],[2762,0," "],[2763,0,"t"],[2764,0,"h"],[2765,0,"e"],[2766,0," "],[2767,0,"t"],[2768,0,"r"],[2769,0,"e"],[2770,0,"e"],[2771,0," "],[2772,0,"o"],[2773,0,"f"],[2774,0," "],[2775,0,"a"],[2776,0," "],[2777,0,"J"],[2778,0,"S"],[2779,0,"O"],[2780,0,"N"],[2781,0," "],[2782,0,"d"],[2783,0,"o"],[2784,0,"c"],[2785,0,"u"],[2786,0,"m"],[2787,0,"e"],[2788,0,"n"],[2789,0,"t"],[2790,0,","],[2791,0," "],[2792,0,"a"],[2793,0,"l"],[2794,0,"l"],[2795,0," "],[2796,0,"t"],[2797,0,"h"],[2798,0,"e"],[2799,0," "],[2800,0,"i"],[2801,0,"n"],[2802,0,"t"],[2803,0,"e"],[2804,0,"r"],[2805,0,"i"],[2806,0,"o"],[2807,0,"r"],[2808,0," "],[2809,0,"b"],[2810,0,"r"],[2811,0,"a"],[2812,0,"n"],[2813,0,"c"],[2814,0,"h"],[2815,0," "],[2816,0,"n"],[2817,0,"o"],[2818,0,"d"],[2819,0,"e"],[2820,0,"s"],[2821,0," "],[2822,0,"a"],[2823,0,"r"],[2824,0,"e"],[2825,0," "],[2826,0,"e"],[2827,0,"i"],[2828,0,"t"],[2829,0,"h"],[2830,0,"e"],[2831,0,"r"],[2832,0," "],[2833,0,"m"],[2834,0,"a"],[2835,0,"p"],[2836,0,"s"],[2837,0," "],[2838,0,"o"],[2839,0,"r"],[2840,0," "],[2841,0,"l"],[2842,0,"i"],[2843,0,"s"],[2844,0,"t"],[2845,0,"s"],[2846,0,","],[2847,0," "],[2848,0,"a"],[2849,0,"n"],[2850,0,"d"],[2851,0," "],[2852,0,"a"],[2853,0,"l"],[2854,0,"l"],[2855,0," "],[2856,0,"t"],[2857,0,"h"],[2858,0,"e"],[2859,0," "],[2860,0,"l"],[2861,0,"e"],[2862,0,"a"],[2863,0,"f"],[2864,0," "],[2865,0,"n"],[2866,0,"o"],[2867,0,"d"],[2868,0,"e"],[2869,0,"s"],[2870,0," "],[2871,0,"a"],[2872,0,"r"],[2873,0,"e"],[2874,0," "],[2875,0,"e"],[2876,0,"i"],[2877,0,"t"],[2878,0,"h"],[2879,0,"e"],[2880,0,"r"],[2881,0," "],[2882,0,"r"],[2883,0,"e"],[2884,0,"g"],[2885,0,"i"],[2886,0,"s"],[2887,0,"t"],[2888,0,"e"],[2889,0,"r"],[2890,0,"s"],[2891,0," "],[2892,0,"o"],[2893,0,"r"],[2894,0," "],[2895,0,"c"],[2896,0,"o"],[2897,0,"u"],[2898,0,"n"],[2899,0,"t"],[2900,0,"e"],[2901,0,"r"],[2902,0,"s"],[2903,0,"."],[2904,0," "],[2905,0,"M"],[2906,0,"a"],[2907,0,"p"],[2908,0,"s"],[2909,0," "],[2910,0,"a"],[2911,0,"n"],[2912,0,"d"],[2913,0," "],[2914,0,"l"],[2915,0,"i"],[2916,0,"s"],[2917,0,"t"],[2918,0,"s"],[2919,0," "],[2920,0,"m"],[2921,0,"a"],[2922,0,"y"],[2923,0," "],[2924,0,"b"],[2925,0,"e"],[2926,0," "],[2927,0,"n"],[2928,0,"e"],[2929,0,"s"],[2930,0,"t"],[2931,0,"e"],[2932,0,"d"],[2933,0," "],[2934,0,"w"],[2935,0,"i"],[2936,0,"t"],[2937,0,"h"],[2938,0,"i"],[2939,0,"n"],[2940,0," "],[2941,0,"e"],[2942,0,"a"],[2943,0,"c"],[2944,0,"h"],[2945,0," "],[2946,0,"o"],[2947,0,"t"],[2948,0,"h"],[2949,0,"e"],[2950,0,"r"],[2951,0," "],[2952,0,"a"],[2953,0,"r"],[2954,0,"b"],[2955,0,"i"],[2956,0,"t"],[2957,0,"r"],[2958,0,"a"],[2959,0,"r"],[2960,0,"i"],[2961,0,"l"],[2962,0,"y"],[2963,0,"."],[2964,0," "],[2965,0,"W"],[2965,1],[2965,0,"F"],[2966,0,"o"],[2967,0,"r"],[2968,0," "],[2969,0,"s"],[2970,0,"i"],[2971,0,"m"],[2972,0,"p"],[2973,0,"l"],[2974,0,"i"],[2975,0,"c"],[2976,0,"i"],[2977,0,"t"],[2978,0,"y"],[2979,0," "],[2980,0,"w"],[2981,0,"e"],[2982,0," "],[2983,0,"d"],[2984,0,"o"],[2985,0," "],[2986,0,"n"],[2987,0,"o"],[2988,0,"t"],[2989,0," "],[2990,0,"d"],[2991,0,"e"],[2992,0,"f"],[2993,0,"i"],[2994,0,"n"],[2995,0,"e"],[2996,0," "],[2997,0,"a"],[2998,0," "],[2999,0,"s"],[3000,0,"c"],[3001,0,"h"],[3002,0,"e"],[3003,0,"m"],[3004,0,"a"],[3005,0," "],[3006,0,"l"],[3007,0,"a"],[3008,0,"n"],[3009,0,"g"],[3010,0,"u"],[3011,0,"a"],[3012,0,"g"],[3013,0,"e"],[3014,0," "],[3015,0,"o"],[3016,0,"r"],[3017,0," "],[3018,0,"s"],[3019,0,"t"],[3020,0,"a"],[3021,0,"t"],[3022,0,"i"],[3023,0,"c"],[3024,0," "],[3025,0,"t"],[3026,0,"y"],[3027,0,"p"],[3028,0,"e"],[3029,0,"-"],[3030,0,"c"],[3031,0,"h"],[3032,0,"e"],[3033,0,"c"],[3034,0,"k"],[3035,0,"i"],[3036,0,"n"],[3037,0,"g"],[3038,0," "],[3039,0,"r"],[3040,0,"u"],[3041,0,"l"],[3042,0,"e"],[3043,0,"s"],[3044,0,","],[3045,0," "],[3046,0,"b"],[3047,0,"u"],[3048,0,"t"],[3049,0," "],[3050,0,"s"],[3051,0,"u"],[3052,0,"c"],[3053,0,"h"],[3054,0," "],[3055,0,"r"],[3056,0,"e"],[3057,0,"s"],[3058,0,"t"],[3059,0,"r"],[3060,0,"i"],[3061,0,"c"],[3062,0,"t"],[3063,0,"i"],[3064,0,"o"],[3065,0,"n"],[3066,0,"s"],[3067,0," "],[3068,0,"c"],[3069,0,"o"],[3070,0,"u"],[3071,0,"l"],[3072,0,"d"],[3073,0," "],[3074,0,"b"],[3075,0,"e"],[3076,0," "],[3077,0,"a"],[3078,0,"d"],[3079,0,"d"],[3080,0,"e"],[3081,0,"d"],[3082,0," "],[3083,0,"e"],[3084,0,"a"],[3085,0,"s"],[3086,0,"i"],[3087,0,"l"],[3088,0,"y"],[3089,0,"."],[5425,1],[5424,1],[5423,1],[5422,1],[5421,1],[5420,1],[5419,1],[5418,1],[5417,1],[5416,1],[5415,1],[5414,1],[5413,1],[5412,1],[5411,1],[5410,1],[5449,1],[5449,0,"n"],[5563,0,"o"],[5564,0,"f"],[5565,0," "],[5566,0,"t"],[5567,0,"h"],[5568,0,"e"],[5569,0," "],[5570,0,"r"],[5571,0,"e"],[5572,0,"g"],[5573,0,"i"],[5574,0,"s"],[5575,0,"t"],[5576,0,"e"],[5577,0,"r"],[5578,0," "],[5579,0,"o"],[5580,0,"r"],[5581,0," "],[5582,0,"c"],[5583,0,"o"],[5584,0,"u"],[5585,0,"n"],[5586,0,"t"],[5587,0,"e"],[5588,0,"r"],[5589,0," "],[5634,0," "],[5635,0,"("],[5636,0,"\\"],[5637,0,"m"],[5638,0,"a"],[5639,0,"t"],[5640,0,"h"],[5641,0,"s"],[5642,0,"f"],[5643,0,"{"],[5644,0,"v"],[5645,0,"a"],[5646,0,"l"],[5647,0,"u"],[5648,0,"e"],[5649,0,"s"],[5650,0,"}"],[5651,0," "],[5652,0,"i"],[5653,0,"s"],[5654,0," "],[5655,0,"n"],[5656,0,"o"],[5657,0,"t"],[5658,0," "],[5659,0,"d"],[5660,0,"e"],[5661,0,"f"],[5662,0,"i"],[5663,0,"n"],[5664,0,"e"],[5665,0,"d"],[5666,0," "],[5667,0,"f"],[5668,0,"o"],[5669,0,"r"],[5670,0," "],[5671,0,"m"],[5672,0,"a"],[5673,0,"p"],[5674,0," "],[5675,0,"o"],[5676,0,"r"],[5677,0," "],[5678,0,"l"],[5679,0,"i"],[5680,0,"s"],[5681,0,"t"],[5682,0," "],[5683,0,"n"],[5684,0,"o"],[5685,0,"d"],[5686,0,"e"],[5687,0,"s"],[5688,0,"."],[5689,0,")"],[5637,1],[5637,1],[5637,1],[5637,1],[5637,0,"t"],[5638,0,"e"],[5639,0,"x"],[5640,0,"t"],[3067,0," "],[3068,0,"o"],[3069,0,"f"],[3070,0," "],[3071,0,"t"],[3072,0,"h"],[3073,0,"e"],[3074,0," "],[3075,0,"d"],[3076,0,"o"],[3077,0,"c"],[3078,0,"u"],[3079,0,"m"],[3080,0,"e"],[3081,0,"n"],[3082,0,"t"],[3083,0," "],[3084,0,"s"],[3085,0,"t"],[3086,0,"r"],[3087,0,"u"],[3088,0,"c"],[3089,0,"t"],[3090,0,"u"],[3091,0,"r"],[3092,0,"e"],[5927,1],[5926,1],[5925,1],[5924,1],[5923,1],[5922,1],[5921,1],[5920,1],[5919,1],[5918,1],[5918,0,"a"],[5919,0," "],[5920,0,"r"],[5921,0,"e"],[5922,0,"g"],[5923,0,"i"],[5924,0,"s"],[5925,0,"t"],[5926,0,"e"],[5927,0,"r"],[6631,0," "],[6632,0,"I"],[6633,0,"f"],[6634,0," "],[6635,0,"t"],[6636,0,"h"],[6637,0,"e"],[6638,0," "],[6639,0,"k"],[6640,0,"e"],[6641,0,"y"],[6642,0," "],[6643,0,"d"],[6644,0,"o"],[6645,0,"e"],[6646,0,"s"],[6647,0," "],[6648,0,"n"],[6649,0,"o"],[6650,0,"t"],[6651,0," "],[6652,0,"e"],[6653,0,"x"],[6654,0,"i"],[6655,0,"s"],[6656,0,"t"],[6657,0,","],[6658,0," "],[6659,0,"i"],[6660,0,"t"],[6661,0," "],[6662,0,"i"],[6663,0,"s"],[6664,0," "],[6665,0,"i"],[6666,0,"m"],[6667,0,"p"],[6668,0,"l"],[6669,0,"i"],[6670,0,"c"],[6671,0,"i"],[6672,0,"t"],[6673,0,"l"],[6674,0,"y"],[6675,0," "],[6676,0,"c"],[6677,0,"r"],[6678,0,"e"],[6679,0,"a"],[6680,0,"t"],[6681,0,"e"],[6682,0,"d"],[6683,0," "],[6684,0,"a"],[6685,0,"n"],[6686,0,"d"],[6687,0," "],[6688,0,"s"],[6689,0,"e"],[6690,0,"t"],[6691,0," "],[6692,0,"t"],[6693,0,"o"],[6694,0," "],[6695,0,"t"],[6696,0,"h"],[6697,0,"e"],[6698,0," "],[6699,0,"e"],[6700,0,"m"],[6701,0,"p"],[6702,0,"t"],[6703,0,"y"],[6704,0," "],[6705,0,"l"],[6706,0,"i"],[6707,0,"s"],[6708,0,"t"],[6709,0,"."],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[6476,1],[7150,0,"f"],[7151,0,"f"],[7152,0,"f"],[7152,1],[7151,1],[7150,1],[7149,1],[7149,0,"n"],[7174,0,","],[7175,0," "],[7176,0,"s"],[7177,0,"o"],[7178,0," "],[7179,0,"t"],[7180,0,"h"],[7181,0,"e"],[7182,0,"r"],[7183,0,"e"],[7184,0," "],[7185,0,"i"],[7186,0,"s"],[7187,0," "],[7188,0,"n"],[7189,0,"o"],[7190,0," "],[7191,0,"n"],[7192,0,"e"],[7193,0,"e"],[7194,0,"d"],[7195,0," "],[7196,0,"f"],[7197,0,"o"],[7198,0,"r"],[7199,0," "],[7200,0,"a"],[7201,0," "],[7202,0,"c"],[7203,0,"o"],[7204,0,"m"],[7205,0,"m"],[7206,0,"a"],[7207,0,"n"],[7208,0,"d"],[7209,0," "],[7210,0,"t"],[7211,0,"o"],[7212,0," "],[7213,0,"i"],[7214,0,"n"],[7215,0,"s"],[7216,0,"e"],[7217,0,"r"],[7218,0,"t"],[7219,0," "],[7220,0,"a"],[7221,0," "],[7222,0,"n"],[7223,0,"e"],[7224,0,"w"],[7225,0," "],[7226,0,"k"],[7227,0,"e"],[7228,0,"y"],[7229,0," "],[7230,0,"i"],[7231,0,"n"],[7232,0,"t"],[7233,0,"o"],[7234,0," "],[7235,0,"a"],[7236,0," "],[7237,0,"m"],[7238,0,"a"],[7239,0,"p"],[13150,0," "],[13151,0,"c"],[13152,0,"o"],[13153,0,"n"],[13154,0,"t"],[13155,0,"a"],[13156,0,"i"],[13157,0,"n"],[13158,0,"s"],[13159,0," "],[13160,0,"t"],[13161,0,"h"],[13162,0,"e"],[13163,0," "],[13164,0,"l"],[13165,0,"o"],[13166,0,"c"],[13167,0,"a"],[13168,0,"l"],[13169,0," "],[13170,0,"v"],[13171,0,"a"],[13172,0,"r"],[13173,0,"i"],[13174,0,"a"],[13175,0,"b"],[13176,0,"l"],[13177,0,"e"],[13178,0,"s"],[13179,0," "],[13180,0,"d"],[13181,0,"e"],[13182,0,"f"],[13183,0,"i"],[13184,0,"n"],[13185,0,"e"],[13186,0,"d"],[13187,0," "],[13188,0,"w"],[13189,0,"i"],[13190,0,"t"],[13191,0,"h"],[13192,0," "],[13193,0,"\\"],[13194,0,"t"],[13195,0,"e"],[13196,0,"x"],[13197,0,"t"],[13198,0,"s"],[13199,0,"f"],[13200,0,"{"],[13201,0,"l"],[13202,0,"e"],[13203,0,"t"],[13204,0,"}"],[13205,0," "],[13206,0,"c"],[13207,0,"o"],[13208,0,"m"],[13209,0,"m"],[13210,0,"a"],[13211,0,"n"],[13212,0,"d"],[13213,0,"s"],[13162,1],[13161,1],[13160,1],[13159,1],[13158,1],[13157,1],[13156,1],[13155,1],[13154,1],[13153,1],[13152,1],[13151,1],[13150,1],[13149,1],[13148,1],[13147,1],[13146,1],[13145,1],[13144,1],[13143,1],[13142,1],[13141,1],[13140,1],[13139,1],[13138,1],[13137,1],[13136,1],[13135,1],[13134,1],[13133,1],[13132,1],[13131,1],[13130,1],[13129,1],[13128,1],[13127,1],[13126,1],[13125,1],[13124,1],[13123,1],[13122,1],[13121,1],[13120,1],[13119,1],[13118,1],[13117,1],[13116,1],[13115,1],[13114,1],[13113,1],[13112,1],[13111,1],[13110,1],[13110,0,"F"],[13111,0,"o"],[13112,0,"r"],[13113,0," "],[13114,0,"e"],[13115,0,"a"],[13116,0,"c"],[13117,0,"h"],[13133,1],[13146,0," "],[13147,0,"a"],[13169,1],[13169,0,","],[13170,0," "],[13171,0,"$"],[13172,0,"A"],[13173,0,"-"],[13174,0,"p"],[13174,1],[13173,1],[13173,0,"_"],[13174,0,"p"],[13175,0,"$"],[13176,0," "],[13177,0,"m"],[13178,0,"a"],[13179,0,"p"],[13180,0,"s"],[13181,0," "],[13182,0,"t"],[13183,0,"h"],[13184,0,"e"],[13185,0," "],[13186,0,"v"],[13187,0,"a"],[13188,0,"r"],[13189,0,"i"],[13190,0,"a"],[13191,0,"b"],[13192,0,"l"],[13193,0,"e"],[13194,0," "],[13195,0,"n"],[13196,0,"a"],[13197,0,"m"],[13198,0,"e"],[13199,0," "],[13200,0,"t"],[13201,0,"o"],[13202,0," "],[13203,0,"a"],[13204,0," "],[13205,0,"\\"],[13206,0,"e"],[13207,0,"m"],[13208,0,"p"],[13209,0,"h"],[13210,0,"{"],[13211,0,"c"],[13212,0,"u"],[13213,0,"r"],[13214,0,"s"],[13215,0,"o"],[13216,0,"r"],[13217,0,"}"],[13218,0,","],[13219,0," "],[13220,0,"w"],[13221,0,"h"],[13222,0,"i"],[13223,0,"c"],[13224,0,"h"],[13225,0," "],[13226,0,"i"],[13227,0,"d"],[13228,0,"e"],[13229,0,"n"],[13230,0,"t"],[13231,0,"i"],[13232,0,"f"],[13233,0,"i"],[13234,0,"e"],[13235,0,"s"],[13236,0," "],[13237,0,"a"],[13238,0," "],[13239,0,"p"],[13240,0,"o"],[13241,0,"s"],[13242,0,"i"],[13243,0,"t"],[13244,0,"i"],[13245,0,"o"],[13246,0,"n"],[13247,0," "],[13248,0,"i"],[13249,0,"n"],[13250,0," "],[13251,0,"t"],[13252,0,"h"],[13253,0,"e"],[13254,0," "],[13255,0,"d"],[13256,0,"o"],[13257,0,"c"],[13258,0,"u"],[13259,0,"m"],[13260,0,"e"],[13261,0,"n"],[13262,0,"t"],[13263,0," "],[13264,0,"a"],[13265,0,"s"],[13266,0," "],[13267,0,"d"],[13268,0,"e"],[13269,0,"s"],[13270,0,"c"],[13271,0,"r"],[13272,0,"i"],[13273,0,"b"],[13274,0,"e"],[13275,0,"d"],[13276,0," "],[13277,0,"b"],[13278,0,"e"],[13279,0,"l"],[13280,0,"o"],[13281,0,"w"],[13282,0,"."],[13283,0," "],[13284,0,"I"],[13285,0,"n"],[13286,0," "],[13287,0,"a"],[13288,0,"d"],[13289,0,"d"],[13290,0,"i"],[13291,0,"t"],[13292,0,"i"],[13293,0,"o"],[13294,0,"n"],[13295,0,","],[13296,0," "],[13297,0,"$"],[13298,0,"A"],[13299,0,"_"],[13300,0,"p"],[13301,0,"$"],[13302,0," "],[13303,0,"m"],[13304,0,"a"],[13305,0,"p"],[13306,0,"s"],[13307,0," "],[13308,0,"t"],[13309,0,"h"],[13310,0,"e"],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13312,1],[13342,0," "],[13343,0,"t"],[13344,0,"o"],[13345,0," "],[13346,0,"a"],[13347,0," "],[13348,0,"n"],[13349,0,"e"],[13350,0,"s"],[13351,0,"t"],[13352,0,"e"],[13353,0,"d"],[13354,0," "],[13355,0,"p"],[13356,0,"a"],[13357,0,"r"],[13358,0,"t"],[13359,0,"i"],[13360,0,"a"],[13361,0,"l"],[13362,0," "],[13363,0,"f"],[13364,0,"u"],[13365,0,"n"],[13366,0,"c"],[13367,0,"t"],[13368,0,"i"],[13369,0,"o"],[13370,0,"n"],[13371,0," "],[13372,0,"r"],[13373,0,"e"],[13374,0,"p"],[13375,0,"r"],[13376,0,"e"],[13377,0,"s"],[13378,0,"e"],[13379,0,"n"],[13380,0,"t"],[13381,0,"i"],[13382,0,"n"],[13383,0,"g"],[13384,0," "],[13385,0,"t"],[13386,0,"h"],[13387,0,"e"],[13388,0," "],[13389,0,"c"],[13390,0,"o"],[13391,0,"n"],[13392,0,"t"],[13393,0,"e"],[13394,0,"n"],[13395,0,"t"],[13396,0,"s"],[13397,0," "],[13398,0,"o"],[13399,0,"f"],[13400,0," "],[13401,0,"t"],[13402,0,"h"],[13403,0,"e"],[13404,0," "],[13405,0,"d"],[13406,0,"o"],[13407,0,"c"],[13408,0,"u"],[13409,0,"m"],[13410,0,"e"],[13411,0,"n"],[13412,0,"t"],[13413,0,"."],[13414,0," "],[13415,0,"\\"],[13416,0,"t"],[13417,0,"e"],[13418,0,"x"],[13419,0,"t"],[13420,0,"s"],[13421,0,"f"],[13422,0,"{"],[13423,0,"m"],[13424,0,"a"],[13425,0,"p"],[13426,0,"T"],[13427,0,"}"],[13428,1],[13428,1],[13428,1],[13428,1],[13428,1],[13428,1],[13428,1],[13585,1],[13584,1],[13583,1],[13582,1],[13581,1],[13580,1],[13579,1],[13578,1],[13577,1],[13576,1],[13575,1],[13574,1],[13573,1],[13572,1],[13571,1],[13570,1],[13569,1],[13568,1],[13567,1],[13566,1],[13565,1],[13564,1],[13563,1],[13562,1],[13561,1],[13560,1],[13559,1],[13558,1],[13557,1],[13556,1],[13555,1],[13554,1],[13553,1],[13552,1],[13551,1],[13550,1],[13549,1],[13548,1],[13547,1],[13546,1],[13545,1],[13544,1],[13543,1],[13542,1],[13541,1],[13540,1],[13539,1],[13538,1],[13537,1],[13536,1],[13535,1],[13534,1],[13533,1],[13532,1],[13531,1],[13530,1],[13529,1],[13528,1],[13527,1],[13526,1],[13525,1],[13524,1],[13523,1],[13522,1],[13521,1],[13520,1],[13519,1],[13518,1],[13517,1],[13516,1],[13515,1],[13514,1],[13513,1],[13512,1],[13511,1],[13510,1],[13509,1],[13508,1],[13507,1],[13506,1],[13505,1],[13504,1],[13503,1],[13502,1],[13501,1],[13500,1],[13499,1],[13498,1],[13497,1],[13496,1],[13495,1],[13494,1],[13493,1],[13492,1],[13491,1],[13490,1],[13489,1],[13488,1],[13487,1],[13486,1],[13485,1],[13484,1],[13484,0,"T"],[13492,0," "],[13493,0,"m"],[13494,0,"a"],[13495,0,"p"],[14734,1],[14734,1],[14734,0,"\\"],[14735,0,"["],[14736,0," "],[14852,1],[14851,1],[14851,0," "],[14852,0,"\\"],[14853,0,"]"],[14019,1],[14018,1],[14017,1],[14016,1],[14015,1],[14014,1],[14013,1],[14013,0,"f"],[14014,0,"o"],[14015,0,"r"],[14016,0,"m"],[14017,0,"a"],[14018,0,"l"],[14019,0,"i"],[14020,0,"z"],[14021,0,"e"],[14022,0,"s"],[14023,0," "],[14024,0,"t"],[14025,0,"h"],[14026,0,"e"],[14027,0," "],[14028,0,"a"],[14029,0,"s"],[14030,0,"s"],[14031,0,"u"],[14032,0,"m"],[14033,0,"p"],[14034,0,"t"],[14035,0,"i"],[14036,0,"o"],[14037,0,"n"],[15652,1],[15651,1],[15650,1],[15649,1],[15648,1],[15647,1],[15646,1],[15645,1],[15644,1],[15643,1],[15642,1],[15641,1],[15640,1],[15639,1],[15638,1],[15637,1],[15636,1],[15635,1],[15634,1],[15633,1],[15632,1],[15631,1],[15630,1],[15629,1],[15628,1],[15627,1],[15626,1],[15625,1],[15625,0,"a"],[15626,0,"r"],[15627,0,"e"],[15628,0," "],[15629,0,"t"],[15630,0,"a"],[15631,0,"g"],[15632,0,"g"],[15633,0,"e"],[15634,0,"d"],[15635,0," "],[15636,0,"w"],[15637,0,"i"],[15638,0,"t"],[15639,0,"h"],[15640,0," "],[15641,0,"t"],[15642,0,"h"],[15643,0,"e"],[15644,0," "],[15645,0,"d"],[15646,0,"a"],[15647,0,"t"],[15648,0,"a"],[15649,0,"t"],[15650,0,"y"],[15651,0,"p"],[15652,0,"e"],[15653,0," "],[15654,0,"o"],[15655,0,"f"],[15656,0," "],[15657,0,"t"],[15658,0,"h"],[15659,0,"e"],[15660,0," "],[15661,0,"b"],[15662,0,"r"],[15663,0,"a"],[15664,0,"n"],[15665,0,"c"],[15666,0,"h"],[15667,0," "],[15668,0,"n"],[15669,0,"o"],[15670,0,"d"],[15671,0,"e"],[15672,0,","],[15673,0," "],[15674,0,"e"],[15675,0,"i"],[15676,0,"t"],[15677,0,"h"],[15678,0,"e"],[15679,0,"r"],[16958,1],[16957,1],[16956,1],[16955,1],[16954,1],[16953,1],[16952,1],[16951,1],[16950,1],[16949,1],[16948,1],[16947,1],[16946,1],[16945,1],[16944,1],[16944,0,"a"],[16945,0," "],[16946,0,"r"],[16947,0,"e"],[16948,0,"g"],[16949,0,"i"],[16950,0,"s"],[16951,0,"t"],[16952,0,"e"],[16953,0,"r"],[16954,0," "],[16955,0,"a"],[16956,0,"t"],[17116,1],[17115,1],[17114,1],[17113,1],[17113,0,"r"],[17114,0," "],[17115,0,"i"],[17116,0,"s"],[17105,1],[17104,1],[17103,1],[17102,1],[17101,1],[17100,1],[17099,1],[17098,1],[17097,1],[17096,1],[17095,1],[17094,1],[17093,1],[17092,1],[17091,1],[17090,1],[17089,1],[17088,1],[17087,1],[17086,1],[17085,1],[17084,1],[17083,1],[17082,1],[17081,1],[17080,1],[17079,1],[17078,1],[17077,1],[17076,1],[17075,1],[17074,1],[17073,1],[17072,1],[17071,1],[17070,1],[17069,1],[17068,1],[17067,1],[17066,1],[17065,1],[17064,1],[17063,1],[17062,1],[17061,1],[17060,1],[17059,1],[17058,1],[17057,1],[17057,0,"A"],[17058,0," "],[17139,0,","],[17140,0," "],[17141,0,"a"],[17142,0,"n"],[17143,0,"d"],[17144,0," "],[17145,0,"t"],[17146,0,"h"],[17147,0,"e"],[17148,0," "],[17149,0,"\\"],[17150,0,"t"],[17151,0,"e"],[17152,0,"x"],[17153,0,"t"],[17154,0,"s"],[17155,0,"c"],[17156,0,"{"],[17157,0,"V"],[17158,0,"a"],[17159,0,"l"],[17160,0,"}"],[17161,0," "],[17162,0,"r"],[17163,0,"u"],[17164,0,"l"],[17165,0,"e"],[17166,0,"s"],[17167,0," "],[17168,0,"o"],[17169,0,"n"],[17170,0,"l"],[17171,0,"y"],[17172,0," "],[17173,0,"a"],[17174,0,"p"],[17175,0,"p"],[17176,0,"l"],[17177,0,"y"],[17178,0," "],[17179,0,"i"],[17180,0,"f"],[17181,0," "],[17182,0,"t"],[17183,0,"h"],[17184,0,"e"],[17185,0," "],[17186,0,"r"],[17187,0,"e"],[17188,0,"g"],[17189,0,"i"],[17190,0,"s"],[17191,0,"t"],[17192,0,"e"],[17193,0,"r"],[17194,0," "],[17195,0,"e"],[17196,0,"x"],[17197,0,"i"],[17198,0,"s"],[17199,0,"t"],[17200,0,"s"],[17201,0," "],[17202,0,"i"],[17203,0,"n"],[17204,0," "],[17205,0,"$"],[17206,0,"A"],[17207,0,"_"],[17208,0,"p"],[17209,0,"$"],[17194,0," "],[17195,0,"i"],[17196,0,"d"],[17197,0,"e"],[17198,0,"n"],[17199,0,"t"],[17200,0,"i"],[17201,0,"f"],[17202,0,"i"],[17203,0,"e"],[17204,0,"d"],[17205,0," "],[17206,0,"b"],[17207,0,"y"],[17208,0," "],[17209,0,"t"],[17210,0,"h"],[17211,0,"e"],[17212,0," "],[17213,0,"c"],[17214,0,"u"],[17215,0,"r"],[17216,0,"s"],[17217,0,"o"],[17218,0,"r"],[17401,1],[17401,0," "],[17402,0,"-"],[17403,0,"-"],[20686,1],[20685,1],[20684,1],[20683,1],[20682,1],[20681,1],[20680,1],[20679,1],[20678,1],[20677,1],[20676,1],[20675,1],[20674,1],[20673,1],[20672,1],[20671,1],[20670,1],[20669,1],[20668,1],[20667,1],[20666,1],[20665,1],[20664,1],[20663,1],[20662,1],[20661,1],[20660,1],[20659,1],[20658,1],[20657,1],[20656,1],[20655,1],[20654,1],[20653,1],[20652,1],[20651,1],[20650,1],[20649,1],[20648,1],[20647,1],[20646,1],[20645,1],[20644,1],[20643,1],[20642,1],[20641,1],[20640,1],[20639,1],[20638,1],[20637,1],[20636,1],[20635,1],[20634,1],[20633,1],[20632,1],[20631,1],[20630,1],[20629,1],[20628,1],[20627,1],[20626,1],[20625,1],[20624,1],[20623,1],[20622,1],[20621,1],[20620,1],[20619,1],[20618,1],[20617,1],[20616,1],[20615,1],[20614,1],[20613,1],[20612,1],[20611,1],[20610,1],[20609,1],[20608,1],[20607,1],[20606,1],[20605,1],[20604,1],[20603,1],[20602,1],[20601,1],[20600,1],[20599,1],[20598,1],[20597,1],[20596,1],[20595,1],[20594,1],[20593,1],[20592,1],[20591,1],[20590,1],[20589,1],[20588,1],[20587,1],[20586,1],[20585,1],[20584,1],[20583,1],[20582,1],[20581,1],[20580,1],[20579,1],[20578,1],[20577,1],[20576,1],[20575,1],[20574,1],[20573,1],[20572,1],[20571,1],[20570,1],[20569,1],[20568,1],[20567,1],[20566,1],[20565,1],[20564,1],[20563,1],[20562,1],[20561,1],[20560,1],[20559,1],[20558,1],[20557,1],[20556,1],[20555,1],[20554,1],[20553,1],[20552,1],[20551,1],[20550,1],[20549,1],[20548,1],[20547,1],[20546,1],[20545,1],[20544,1],[20543,1],[20542,1],[20541,1],[20540,1],[20539,1],[20538,1],[20537,1],[20536,1],[20535,1],[20534,1],[20533,1],[20532,1],[20531,1],[20530,1],[20529,1],[20528,1],[20527,1],[20526,1],[20525,1],[20524,1],[20523,1],[20522,1],[20521,1],[20520,1],[20519,1],[20518,1],[20517,1],[20516,1],[20515,1],[20514,1],[20513,1],[20512,1],[20511,1],[20510,1],[20509,1],[20508,1],[20507,1],[20506,1],[20505,1],[20504,1],[20503,1],[20502,1],[20501,1],[20500,1],[20499,1],[20498,1],[20497,1],[20496,1],[20495,1],[20494,1],[20493,1],[20492,1],[20491,1],[20490,1],[20489,1],[20488,1],[20487,1],[20486,1],[20485,1],[20484,1],[20483,1],[20482,1],[20481,1],[20480,1],[20479,1],[20478,1],[20477,1],[20476,1],[20475,1],[20474,1],[20473,1],[20472,1],[20471,1],[20470,1],[20469,1],[20468,1],[20467,1],[20466,1],[20465,1],[20464,1],[20463,1],[20462,1],[20461,1],[20460,1],[20459,1],[20458,1],[20457,1],[20456,1],[20455,1],[20454,1],[20453,1],[20452,1],[20451,1],[20450,1],[20449,1],[20448,1],[20447,1],[20446,1],[20445,1],[20444,1],[20443,1],[20442,1],[20441,1],[20440,1],[20439,1],[20438,1],[20437,1],[20436,1],[20435,1],[20434,1],[20433,1],[20432,1],[20431,1],[20430,1],[20429,1],[20428,1],[20427,1],[20426,1],[20425,1],[20424,1],[20423,1],[20422,1],[20421,1],[20420,1],[20419,1],[20418,1],[20417,1],[20416,1],[20415,1],[20414,1],[20413,1],[20412,1],[20411,1],[20410,1],[20409,1],[20408,1],[20407,1],[20406,1],[20405,1],[20404,1],[20403,1],[20402,1],[20401,1],[20400,1],[20399,1],[20398,1],[20397,1],[20396,1],[20395,1],[20394,1],[20393,1],[20392,1],[20391,1],[20390,1],[20389,1],[20388,1],[20387,1],[20386,1],[20385,1],[20384,1],[20383,1],[20382,1],[20381,1],[20380,1],[20379,1],[20378,1],[20377,1],[20376,1],[20375,1],[20374,1],[20373,1],[20372,1],[20371,1],[20370,1],[20369,1],[20368,1],[20367,1],[20366,1],[20365,1],[20364,1],[20363,1],[20362,1],[20361,1],[20360,1],[20359,1],[20358,1],[20357,1],[20356,1],[20355,1],[20354,1],[20353,1],[20352,1],[20351,1],[20350,1],[20349,1],[20348,1],[20347,1],[20346,1],[20345,1],[20344,1],[20343,1],[20342,1],[20341,1],[20340,1],[20339,1],[20338,1],[20337,1],[20336,1],[20335,1],[20334,1],[20333,1],[20332,1],[20331,1],[20330,1],[20329,1],[20328,1],[20327,1],[20326,1],[20325,1],[20324,1],[20323,1],[20322,1],[20321,1],[20320,1],[20319,1],[20318,1],[20317,1],[20316,1],[20315,1],[20314,1],[20313,1],[20312,1],[20311,1],[20310,1],[20309,1],[20308,1],[20307,1],[20306,1],[20305,1],[20304,1],[20303,1],[20302,1],[20301,1],[20300,1],[20299,1],[20298,1],[20297,1],[20296,1],[20295,1],[20294,1],[20293,1],[20292,1],[20291,1],[20290,1],[20289,1],[20288,1],[20287,1],[20286,1],[20285,1],[20284,1],[20283,1],[20282,1],[20281,1],[20280,1],[20279,1],[20278,1],[20277,1],[20276,1],[20275,1],[20274,1],[20273,1],[20272,1],[20271,1],[20270,1],[20269,1],[20268,1],[20267,1],[20266,1],[20265,1],[20264,1],[20263,1],[20262,1],[20261,1],[20260,1],[20259,1],[20258,1],[20257,1],[20256,1],[20255,1],[20254,1],[20253,1],[20252,1],[20251,1],[20250,1],[20249,1],[20248,1],[20247,1],[20246,1],[20245,1],[20244,1],[20243,1],[20242,1],[20241,1],[20240,1],[20239,1],[20238,1],[20237,1],[20236,1],[20235,1],[20234,1],[20233,1],[20232,1],[20231,1],[20230,1],[20229,1],[20228,1],[20227,1],[20226,1],[20225,1],[20224,1],[20223,1],[20222,1],[20221,1],[20220,1],[20219,1],[20218,1],[20217,1],[20216,1],[20215,1],[20214,1],[20213,1],[20212,1],[20211,1],[20210,1],[20209,1],[20208,1],[20207,1],[20206,1],[20205,1],[20204,1],[20203,1],[20202,1],[20201,1],[20200,1],[20199,1],[20198,1],[20197,1],[20196,1],[20195,1],[20194,1],[20193,1],[20192,1],[20191,1],[20190,1],[20189,1],[20188,1],[20187,1],[20186,1],[20185,1],[20184,1],[20183,1],[20182,1],[20181,1],[20180,1],[20179,1],[20178,1],[20177,1],[20176,1],[20175,1],[20174,1],[20173,1],[20172,1],[20171,1],[20170,1],[20169,1],[20168,1],[20167,1],[20166,1],[20165,1],[20164,1],[20163,1],[20162,1],[20161,1],[20160,1],[20159,1],[20158,1],[20157,1],[20156,1],[20155,1],[20154,1],[20153,1],[20152,1],[20151,1],[20150,1],[20149,1],[20148,1],[20147,1],[20146,1],[20145,1],[20144,1],[20143,1],[20142,1],[20141,1],[20140,1],[20139,1],[20138,1],[20137,1],[20136,1],[20135,1],[20134,1],[20133,1],[20132,1],[20131,1],[20130,1],[20129,1],[20128,1],[20127,1],[20126,1],[20125,1],[20124,1],[20123,1],[20122,1],[20121,1],[20120,1],[20119,1],[20118,1],[20117,1],[20116,1],[20115,1],[20114,1],[20113,1],[20112,1],[20111,1],[20110,1],[20109,1],[20108,1],[20107,1],[20106,1],[20105,1],[20104,1],[20103,1],[20102,1],[20101,1],[20100,1],[20099,1],[20098,1],[20097,1],[20096,1],[20095,1],[20094,1],[20093,1],[20092,1],[20091,1],[20090,1],[20089,1],[20088,1],[20087,1],[20086,1],[20085,1],[20084,1],[20083,1],[20082,1],[20081,1],[20080,1],[20079,1],[20078,1],[20077,1],[20076,1],[20075,1],[20074,1],[20073,1],[20072,1],[20071,1],[20070,1],[20069,1],[20068,1],[20067,1],[20066,1],[20065,1],[20064,1],[20063,1],[20062,1],[20061,1],[20060,1],[20059,1],[20058,1],[20057,1],[20056,1],[20055,1],[20054,1],[20053,1],[20052,1],[20051,1],[20050,1],[20049,1],[20048,1],[20047,1],[20046,1],[20045,1],[20044,1],[20043,1],[20042,1],[20041,1],[20040,1],[20039,1],[20038,1],[20037,1],[20036,1],[20035,1],[20034,1],[20033,1],[20032,1],[20031,1],[20030,1],[20029,1],[20028,1],[20027,1],[20026,1],[20025,1],[20024,1],[20023,1],[20022,1],[20021,1],[20020,1],[20019,1],[20018,1],[20017,1],[20016,1],[20015,1],[20014,1],[20013,1],[20012,1],[20011,1],[20010,1],[20009,1],[20008,1],[20007,1],[20006,1],[20005,1],[20004,1],[20003,1],[20002,1],[20001,1],[20000,1],[19999,1],[19998,1],[19997,1],[19996,1],[19995,1],[19994,1],[19993,1],[19992,1],[19991,1],[19990,1],[19989,1],[19988,1],[19987,1],[19986,1],[19985,1],[19984,1],[19983,1],[19982,1],[19981,1],[19980,1],[19979,1],[19978,1],[19977,1],[19976,1],[19975,1],[19974,1],[19973,1],[19972,1],[19971,1],[19970,1],[19969,1],[19968,1],[19967,1],[19966,1],[19965,1],[19964,1],[19963,1],[19962,1],[19961,1],[19960,1],[19959,1],[19958,1],[19957,1],[19956,1],[19955,1],[19954,1],[19953,1],[19952,1],[19951,1],[19950,1],[19949,1],[19948,1],[19947,1],[19946,1],[19945,1],[19944,1],[19943,1],[19942,1],[19941,1],[19940,1],[19939,1],[19938,1],[19937,1],[19936,1],[19935,1],[19934,1],[19933,1],[19932,1],[19931,1],[19930,1],[19929,1],[19928,1],[19927,1],[19926,1],[19925,1],[19924,1],[19923,1],[19922,1],[19921,1],[19920,1],[19919,1],[19918,1],[19917,1],[19916,1],[19915,1],[19914,1],[19913,1],[19912,1],[19911,1],[19910,1],[19909,1],[19908,1],[19907,1],[19906,1],[19905,1],[19904,1],[19903,1],[19902,1],[19901,1],[19900,1],[19899,1],[19898,1],[19897,1],[19896,1],[19895,1],[19894,1],[19893,1],[19892,1],[19891,1],[19890,1],[19889,1],[19888,1],[19887,1],[19886,1],[19885,1],[19884,1],[19883,1],[19882,1],[19881,1],[19880,1],[19879,1],[19878,1],[19877,1],[19876,1],[19875,1],[19874,1],[19873,1],[19872,1],[19871,1],[19870,1],[19869,1],[19868,1],[19867,1],[19866,1],[19865,1],[19864,1],[19863,1],[19862,1],[19861,1],[19860,1],[19859,1],[19858,1],[19857,1],[19856,1],[19855,1],[19854,1],[19853,1],[19852,1],[19851,1],[19850,1],[19849,1],[19848,1],[19847,1],[19846,1],[19845,1],[19844,1],[19843,1],[19842,1],[19841,1],[19840,1],[19839,1],[19838,1],[19837,1],[19836,1],[19835,1],[19834,1],[19833,1],[19832,1],[19831,1],[19830,1],[19829,1],[19828,1],[19827,1],[19826,1],[19825,1],[19824,1],[19823,1],[19822,1],[19821,1],[19820,1],[19819,1],[19818,1],[19817,1],[19816,1],[19815,1],[19814,1],[19813,1],[19812,1],[19811,1],[19810,1],[19809,1],[19808,1],[19807,1],[19806,1],[19805,1],[19804,1],[19803,1],[19802,1],[19801,1],[19800,1],[19799,1],[19798,1],[19797,1],[19796,1],[19795,1],[19794,1],[19793,1],[19792,1],[19791,1],[19790,1],[19789,1],[19788,1],[19787,1],[19786,1],[19785,1],[19784,1],[19783,1],[19782,1],[19781,1],[19780,1],[19779,1],[19778,1],[19777,1],[19776,1],[19775,1],[19774,1],[19773,1],[19772,1],[19771,1],[19770,1],[19769,1],[19768,1],[19767,1],[19766,1],[19765,1],[19764,1],[19763,1],[19762,1],[19761,1],[19760,1],[19759,1],[19758,1],[19757,1],[19756,1],[19755,1],[19754,1],[19753,1],[19752,1],[19751,1],[19750,1],[19749,1],[19748,1],[19747,1],[19746,1],[19745,1],[19744,1],[19743,1],[19742,1],[19741,1],[19740,1],[19739,1],[19738,1],[19737,1],[19736,1],[19735,1],[19734,1],[19733,1],[19732,1],[19731,1],[19730,1],[19729,1],[19728,1],[19727,1],[19726,1],[19725,1],[19724,1],[19723,1],[19722,1],[19721,1],[19720,1],[19719,1],[19718,1],[19717,1],[19716,1],[19715,1],[19714,1],[19713,1],[19712,1],[19711,1],[19710,1],[19709,1],[19708,1],[19707,1],[19706,1],[19705,1],[19704,1],[19703,1],[19702,1],[19701,1],[19700,1],[19699,1],[19698,1],[19697,1],[19696,1],[19695,1],[19694,1],[19693,1],[19692,1],[19691,1],[19690,1],[19689,1],[19688,1],[19687,1],[19686,1],[19685,1],[19684,1],[19683,1],[19682,1],[19681,1],[19680,1],[19679,1],[19678,1],[19677,1],[19676,1],[19675,1],[19674,1],[19673,1],[19672,1],[19671,1],[19670,1],[19669,1],[19668,1],[19667,1],[19666,1],[19665,1],[19664,1],[19663,1],[19662,1],[19661,1],[19660,1],[19659,1],[19658,1],[19657,1],[19656,1],[19655,1],[19654,1],[19653,1],[19652,1],[19651,1],[19650,1],[19649,1],[19648,1],[19647,1],[19646,1],[19645,1],[19644,1],[19643,1],[19642,1],[19641,1],[19640,1],[19639,1],[19638,1],[19637,1],[19636,1],[19635,1],[19634,1],[19633,1],[19632,1],[19631,1],[19630,1],[19629,1],[19628,1],[19627,1],[19626,1],[19625,1],[19624,1],[19623,1],[19622,1],[19621,1],[19620,1],[19619,1],[19618,1],[19617,1],[19616,1],[19615,1],[19614,1],[19613,1],[19612,1],[19611,1],[19610,1],[19609,1],[19608,1],[19607,1],[19606,1],[19605,1],[19604,1],[19603,1],[19602,1],[19601,1],[19600,1],[19599,1],[19598,1],[19597,1],[19596,1],[19595,1],[19594,1],[19593,1],[19592,1],[19591,1],[19590,1],[19589,1],[19588,1],[19587,1],[19586,1],[19585,1],[19584,1],[19583,1],[19582,1],[19581,1],[19580,1],[19579,1],[19578,1],[19577,1],[19576,1],[19575,1],[19574,1],[19573,1],[19572,1],[19571,1],[19570,1],[19569,1],[19568,1],[19567,1],[19566,1],[19565,1],[19564,1],[19563,1],[19562,1],[19561,1],[19560,1],[19559,1],[19558,1],[19557,1],[19556,1],[19555,1],[19554,1],[19553,1],[19552,1],[19551,1],[19550,1],[19549,1],[19548,1],[19547,1],[19546,1],[19545,1],[19544,1],[19543,1],[19542,1],[19541,1],[19540,1],[19539,1],[19538,1],[19537,1],[19536,1],[19535,1],[19534,1],[19533,1],[19532,1],[19531,1],[19530,1],[19529,1],[19528,1],[19527,1],[19526,1],[19525,1],[19524,1],[19523,1],[19522,1],[19521,1],[19520,1],[19519,1],[19518,1],[19517,1],[19516,1],[19515,1],[19514,1],[19513,1],[19512,1],[19511,1],[19510,1],[19509,1],[19508,1],[19507,1],[19506,1],[19505,1],[19504,1],[19503,1],[19502,1],[19501,1],[19500,1],[19499,1],[19498,1],[19497,1],[19496,1],[19495,1],[19494,1],[19493,1],[19492,1],[19491,1],[19490,1],[19489,1],[19488,1],[19487,1],[19486,1],[19485,1],[19484,1],[19483,1],[19482,1],[19481,1],[19480,1],[19479,1],[19478,1],[19477,1],[19476,1],[19475,1],[19474,1],[19473,1],[19472,1],[19471,1],[19470,1],[19469,1],[19468,1],[19467,1],[19466,1],[19465,1],[19464,1],[19463,1],[19462,1],[19461,1],[19460,1],[19459,1],[19458,1],[19457,1],[19456,1],[19455,1],[19454,1],[19453,1],[19452,1],[19451,1],[19450,1],[19449,1],[19448,1],[19447,1],[19446,1],[19445,1],[19444,1],[19443,1],[19442,1],[19441,1],[19440,1],[19439,1],[19438,1],[19437,1],[19436,1],[19435,1],[19434,1],[19433,1],[19432,1],[19431,1],[19430,1],[19429,1],[19428,1],[19427,1],[19426,1],[19425,1],[19424,1],[19423,1],[19422,1],[19421,1],[19420,1],[19419,1],[19418,1],[19417,1],[19416,1],[19415,1],[19414,1],[19413,1],[19412,1],[19411,1],[19410,1],[19409,1],[19408,1],[19407,1],[19406,1],[19405,1],[19404,1],[19403,1],[19402,1],[19401,1],[19400,1],[19399,1],[19398,1],[19397,1],[19396,1],[19395,1],[19394,1],[19393,1],[19392,1],[19391,1],[19390,1],[19389,1],[19388,1],[19387,1],[19386,1],[19385,1],[19384,1],[19383,1],[19382,1],[19381,1],[19380,1],[19379,1],[19378,1],[19377,1],[19376,1],[19375,1],[19374,1],[19373,1],[19372,1],[19371,1],[19370,1],[19369,1],[19368,1],[19367,1],[19366,1],[19365,1],[19364,1],[19363,1],[19362,1],[19361,1],[19360,1],[19359,1],[19358,1],[19357,1],[19356,1],[19355,1],[19354,1],[19353,1],[19352,1],[19351,1],[19350,1],[19349,1],[19348,1],[19347,1],[19346,1],[19345,1],[19344,1],[19343,1],[19342,1],[19341,1],[19340,1],[19339,1],[19338,1],[19337,1],[19336,1],[19335,1],[19334,1],[19333,1],[19332,1],[19331,1],[19330,1],[19329,1],[19328,1],[19327,1],[19326,1],[19325,1],[19324,1],[19323,1],[19322,1],[19321,1],[19320,1],[19319,1],[19318,1],[19317,1],[19316,1],[19315,1],[19314,1],[19313,1],[19312,1],[19311,1],[19310,1],[19309,1],[19308,1],[19307,1],[19306,1],[19305,1],[19304,1],[19303,1],[19302,1],[19301,1],[19300,1],[19299,1],[19298,1],[19297,1],[19296,1],[19295,1],[19294,1],[19293,1],[19292,1],[19291,1],[19290,1],[19289,1],[19288,1],[19287,1],[19286,1],[19285,1],[19284,1],[19283,1],[19282,1],[19281,1],[19280,1],[19279,1],[19278,1],[19277,1],[19276,1],[19275,1],[19274,1],[19273,1],[19272,1],[19271,1],[19270,1],[19269,1],[19268,1],[19267,1],[19266,1],[19265,1],[19264,1],[19263,1],[19262,1],[19261,1],[19260,1],[19259,1],[19258,1],[19257,1],[19256,1],[19255,1],[19254,1],[19253,1],[19252,1],[19251,1],[19250,1],[19249,1],[19248,1],[19247,1],[19246,1],[19245,1],[19244,1],[19243,1],[19242,1],[19241,1],[19240,1],[19239,1],[19238,1],[19237,1],[19236,1],[19235,1],[19234,1],[19233,1],[19232,1],[19231,1],[19230,1],[19229,1],[19228,1],[19227,1],[19226,1],[19225,1],[19224,1],[19223,1],[19222,1],[19221,1],[19220,1],[19219,1],[19218,1],[19217,1],[19216,1],[19215,1],[19214,1],[19213,1],[19212,1],[19211,1],[19210,1],[19209,1],[19208,1],[19207,1],[19206,1],[19205,1],[19204,1],[19203,1],[19202,1],[19201,1],[19200,1],[19199,1],[19198,1],[19197,1],[19196,1],[19195,1],[19194,1],[19193,1],[19192,1],[19191,1],[19190,1],[19189,1],[19188,1],[19187,1],[19186,1],[19185,1],[19184,1],[19183,1],[19182,1],[19181,1],[19180,1],[19179,1],[19178,1],[19177,1],[19176,1],[19175,1],[19174,1],[19173,1],[19172,1],[19171,1],[19170,1],[19169,1],[19168,1],[19167,1],[19166,1],[19165,1],[19164,1],[19163,1],[19162,1],[19161,1],[19160,1],[19159,1],[19158,1],[19157,1],[19156,1],[19155,1],[19154,1],[19153,1],[19152,1],[19151,1],[19150,1],[19149,1],[19148,1],[19147,1],[19146,1],[19145,1],[19144,1],[19143,1],[19142,1],[19141,1],[19140,1],[19139,1],[19138,1],[19137,1],[19136,1],[19135,1],[19134,1],[19133,1],[19132,1],[19131,1],[19130,1],[19129,1],[19128,1],[19127,1],[19126,1],[19125,1],[19124,1],[19123,1],[19122,1],[19121,1],[19120,1],[19119,1],[19118,1],[19117,1],[19116,1],[19115,1],[19114,1],[19113,1],[19112,1],[19111,1],[19110,1],[19109,1],[19108,1],[19107,1],[19106,1],[19105,1],[19104,1],[19103,1],[19102,1],[19101,1],[19100,1],[19099,1],[19098,1],[19097,1],[19096,1],[19095,1],[19094,1],[19093,1],[19092,1],[19091,1],[19090,1],[19089,1],[19088,1],[19087,1],[19086,1],[19085,1],[19084,1],[19083,1],[19082,1],[19081,1],[19080,1],[19079,1],[19078,1],[19077,1],[19076,1],[19075,1],[19074,1],[19073,1],[19072,1],[19071,1],[19070,1],[19069,1],[19068,1],[19067,1],[19066,1],[19065,1],[19064,1],[19063,1],[19062,1],[19061,1],[19060,1],[19059,1],[19058,1],[19057,1],[19056,1],[19055,1],[19054,1],[19053,1],[19052,1],[19051,1],[19050,1],[19049,1],[19048,1],[19047,1],[19046,1],[19045,1],[19044,1],[19043,1],[19042,1],[19041,1],[19040,1],[19039,1],[19038,1],[19037,1],[19036,1],[19035,1],[19034,1],[19033,1],[19032,1],[19031,1],[19030,1],[19029,1],[19028,1],[19027,1],[19026,1],[19025,1],[19024,1],[19023,1],[19022,1],[19021,1],[19020,1],[19019,1],[19018,1],[19017,1],[19016,1],[19015,1],[19014,1],[19013,1],[19012,1],[19011,1],[19010,1],[19009,1],[19008,1],[19007,1],[19006,1],[19005,1],[19004,1],[19003,1],[19002,1],[19001,1],[19000,1],[18999,1],[18998,1],[18997,1],[18996,1],[18995,1],[18994,1],[18993,1],[18992,1],[18991,1],[18990,1],[18989,1],[18988,1],[18987,1],[18986,1],[18985,1],[18984,1],[18983,1],[18982,1],[18981,1],[18980,1],[18979,1],[18978,1],[18977,1],[18976,1],[18975,1],[18974,1],[18973,1],[18972,1],[18971,1],[18970,1],[18969,1],[18968,1],[18967,1],[18966,1],[18965,1],[18964,1],[18963,1],[18962,1],[18961,1],[18960,1],[18959,1],[18958,1],[18957,1],[18956,1],[18955,1],[18954,1],[17502,0,"s"],[17503,0,"u"],[17504,0,"b"],[17458,1],[17457,1],[17456,1],[17455,1],[17455,0,"\\"],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,1],[17467,0,"G"],[17468,0,"e"],[17469,0,"n"],[17470,0,"e"],[17471,0,"r"],[17472,0,"a"],[17473,0,"t"],[17474,0,"i"],[17475,0,"n"],[17476,0,"g"],[17477,0," "],[17478,0,"o"],[17479,0,"p"],[17480,0,"e"],[17481,0,"r"],[17482,0,"a"],[17483,0,"t"],[17484,0,"i"],[17485,0,"o"],[17486,0,"n"],[17487,0,"s"],[17489,0,"\n"],[17490,0,"\n"],[17491,0,"B"],[17492,0,"e"],[17493,0,"f"],[17494,0,"o"],[17495,0,"r"],[17496,0,"e"],[17497,0," "],[17497,1],[17496,1],[17495,1],[17494,1],[17493,1],[17492,1],[17491,1],[17491,0,"W"],[17492,0,"e"],[17493,0," "],[17494,0,"n"],[17495,0,"o"],[17496,0,"w"],[17497,0," "],[17498,0,"t"],[17499,0,"u"],[17500,0,"r"],[17501,0,"n"],[17502,0," "],[17503,0,"t"],[17504,0,"o"],[17505,0," "],[17506,0,"t"],[17507,0,"h"],[17508,0,"e"],[17509,0," "],[17510,0,"c"],[17511,0,"o"],[17512,0,"m"],[17513,0,"m"],[17514,0,"a"],[17515,0,"n"],[17516,0,"d"],[17517,0,"s"],[17518,0," "],[17519,0,"f"],[17520,0,"o"],[17521,0,"r"],[17522,0," "],[17523,0,"m"],[17524,0,"u"],[17525,0,"t"],[17526,0,"a"],[17527,0,"t"],[17528,0,"i"],[17529,0,"n"],[17530,0,"g"],[17531,0," "],[17532,0,"t"],[17533,0,"h"],[17534,0,"e"],[17535,0," "],[17536,0,"s"],[17537,0,"t"],[17538,0,"a"],[17539,0,"t"],[17540,0,"e"],[17541,0," "],[17542,0,"o"],[17543,0,"f"],[17544,0," "],[17545,0,"t"],[17546,0,"h"],[17547,0,"e"],[17548,0," "],[17549,0,"d"],[17550,0,"o"],[17551,0,"c"],[17552,0,"u"],[17553,0,"m"],[17554,0,"e"],[17555,0,"n"],[17556,0,"t"],[17557,0,"."],[17508,1],[17507,1],[17506,1],[17505,1],[17504,1],[17503,1],[17502,1],[17501,1],[17500,1],[17499,1],[17498,1],[17497,1],[17496,1],[17495,1],[17494,1],[17493,1],[17492,1],[17491,1],[17491,0,"B"],[17492,0,"e"],[17493,0,"f"],[17494,0,"o"],[17495,0,"r"],[17496,0,"e"],[17497,0," "],[17498,0,"w"],[17499,0,"e"],[17500,0," "],[17501,0,"c"],[17502,0,"a"],[17503,0,"n"],[17504,0," "],[17505,0,"d"],[17506,0,"e"],[17507,0,"f"],[17508,0,"i"],[17509,0,"n"],[17510,0,"e"],[17511,0," "],[17512,0,"t"],[17513,0,"h"],[17514,0,"e"],[17515,0," "],[17516,0,"f"],[17517,0,"o"],[17518,0,"r"],[17519,0,"m"],[17520,0,"a"],[17521,0,"l"],[17522,0," "],[17523,0,"s"],[17524,0,"e"],[17525,0,"m"],[17526,0,"a"],[17527,0,"n"],[17528,0,"t"],[17529,0,"i"],[17530,0,"c"],[17531,0,"s"],[17532,0," "],[17533,0,"o"],[17534,0,"f"],[17535,0," "],[17536,0,"t"],[17537,0,"h"],[17538,0,"e"],[17551,1],[17550,1],[17549,1],[17549,0,"t"],[17550,0,"h"],[17551,0,"a"],[17552,0,"t"],[17561,1],[17560,1],[17559,1],[17559,0,"e"],[17586,0," "],[17586,1],[17586,0,","],[17587,0," "],[17588,0,"w"],[17589,0,"e"],[17590,0," "],[17591,0,"m"],[17592,0,"u"],[17593,0,"s"],[17594,0,"t"],[17595,0," "],[17553,1],[17552,1],[17551,1],[17550,1],[17549,1],[17538,1],[17537,1],[17536,1],[17535,1],[17534,1],[17533,1],[17532,1],[17531,1],[17530,1],[17529,1],[17528,1],[17527,1],[17526,1],[17525,1],[17524,1],[17523,1],[17522,1],[17521,1],[17520,1],[17519,1],[17518,1],[17517,1],[17516,1],[17515,1],[17514,1],[17513,1],[17512,1],[17511,1],[17510,1],[17509,1],[17508,1],[17507,1],[17506,1],[17505,1],[17504,1],[17503,1],[17502,1],[17501,1],[17500,1],[17499,1],[17498,1],[17497,1],[17496,1],[17495,1],[17494,1],[17493,1],[17492,1],[17491,1],[17491,0,"W"],[17492,0,"h"],[17493,0,"e"],[17494,0,"n"],[17546,1],[17545,1],[17544,1],[17543,1],[17542,1],[17541,1],[17540,1],[17539,1],[17539,0,"t"],[17540,0,"h"],[17541,0,"e"],[17542,0,"y"],[17543,0," "],[17544,0,"g"],[17545,0,"e"],[17546,0,"n"],[17547,0,"e"],[17548,0,"r"],[17549,0,"a"],[17550,0,"t"],[17551,0,"e"],[17552,0," "],[17553,0,"\\"],[17554,0,"e"],[17555,0,"m"],[17556,0,"p"],[17557,0,"h"],[17558,0,"{"],[17559,0,"o"],[17560,0,"p"],[17561,0,"e"],[17562,0,"r"],[17563,0,"a"],[17564,0,"t"],[17565,0,"i"],[17566,0,"o"],[17567,0,"n"],[17568,0,"s"],[17569,0,"}"],[17570,0," "],[17571,0,"t"],[17572,0,"h"],[17573,0,"a"],[17574,0,"t"],[17575,0," "],[17576,0,"d"],[17577,0,"e"],[17578,0,"s"],[17579,0,"c"],[17580,0,"r"],[17581,0,"i"],[17582,0,"b"],[17583,0,"e"],[17584,0," "],[17585,0,"t"],[17586,0,"h"],[17587,0,"e"],[17588,0," "],[17589,0,"m"],[17590,0,"u"],[17591,0,"t"],[17592,0,"a"],[17593,0,"t"],[17594,0,"i"],[17595,0,"o"],[17596,0,"n"],[17598,0," "],[17599,0,"I"],[17600,0,"n"],[17601,0," "],[17602,0,"o"],[17603,0,"u"],[17604,0,"r"],[17605,0," "],[17606,0,"s"],[17607,0,"e"],[17608,0,"m"],[17609,0,"a"],[17610,0,"n"],[17611,0,"t"],[17612,0,"i"],[17613,0,"c"],[17614,0,"s"],[17615,0,","],[17616,0," "],[17617,0,"c"],[17618,0,"o"],[17619,0,"m"],[17620,0,"m"],[17621,0,"a"],[17622,0,"n"],[17623,0,"d"],[17624,0,"s"],[17625,0," "],[17626,0,"n"],[17627,0,"e"],[17628,0,"v"],[17629,0,"e"],[17630,0,"r"],[17631,0," "],[17632,0,"d"],[17633,0,"i"],[17634,0,"r"],[17635,0,"e"],[17636,0,"c"],[17637,0,"t"],[17638,0,"l"],[17639,0,"y"],[17640,0," "],[17641,0,"m"],[17642,0,"o"],[17643,0,"d"],[17644,0,"i"],[17645,0,"f"],[17646,0,"y"],[17647,0," "],[17648,0,"t"],[17649,0,"h"],[17650,0,"e"],[17651,0," "],[17652,0,"t"],[17653,0,"h"],[17654,0,"e"],[17655,0," "],[17655,1],[17654,1],[17653,1],[17652,1],[17652,0,"l"],[17653,0,"o"],[17654,0,"c"],[17655,0,"a"],[17656,0,"l"],[17657,0," "],[17658,0,"p"],[17659,0,"e"],[17660,0,"e"],[17661,0,"r"],[17662,0," "],[17663,0,"s"],[17664,0,"t"],[17665,0,"a"],[17666,0,"t"],[17667,0,"e"],[17668,0," "],[17669,0,"$"],[17670,0,"A"],[17671,0,"_"],[17672,0,"p"],[17673,0,"$"],[17674,0,","],[17675,0," "],[17676,0,"b"],[17677,0,"u"],[17678,0,"t"],[17679,0," "],[17680,0,"o"],[17681,0,"n"],[17682,0,"l"],[17683,0,"y"],[17684,0," "],[17685,0,"g"],[17686,0,"e"],[17687,0,"n"],[17688,0,"e"],[17689,0,"r"],[17690,0,"a"],[17691,0,"t"],[17692,0,"e"],[17693,0," "],[17694,0,"a"],[17695,0,"n"],[17696,0," "],[17697,0,"o"],[17698,0,"p"],[17699,0,"e"],[17700,0,"r"],[17701,0,"a"],[17702,0,"t"],[17703,0,"i"],[17704,0,"o"],[17705,0,"n"],[17706,0,"."],[17617,0,"a"],[17618,0," "],[17626,1],[17647,1],[17647,0,"i"],[17648,0,"e"],[17649,0,"s"],[17696,0,"s"],[17711,0," "],[17712,0,"T"],[17713,0,"h"],[17714,0,"a"],[17715,0,"t"],[17716,0," "],[17717,0,"o"],[17718,0,"p"],[17719,0,"e"],[17720,0,"r"],[17721,0,"a"],[17722,0,"t"],[17723,0,"i"],[17724,0,"o"],[17725,0,"n"],[17726,0," "],[17727,0,"i"],[17728,0,"s"],[17729,0," "],[17730,0,"t"],[17731,0,"h"],[17732,0,"a"],[17733,0,"t"],[17734,0," "],[17734,1],[17733,1],[17732,1],[17732,0,"e"],[17733,0,"n"],[17734,0," "],[17735,0,"a"],[17736,0,"p"],[17737,0,"p"],[17738,0,"l"],[17739,0,"i"],[17740,0,"e"],[17741,0,"d"],[17742,0," "],[17743,0,"t"],[17744,0,"o"],[17745,0," "],[17746,0,"$"],[17747,0,"A"],[17748,0,"_"],[17749,0,"p"],[17750,0,"$"],[17751,0," "],[17752,0,"i"],[17753,0,"n"],[17754,0," "],[17755,0,"o"],[17756,0,"r"],[17757,0,"d"],[17758,0,"e"],[17759,0,"r"],[17760,0," "],[17761,0,"t"],[17762,0,"o"],[17763,0," "],[17735,0,"i"],[17736,0,"m"],[17737,0,"m"],[17738,0,"e"],[17739,0,"d"],[17740,0,"i"],[17741,0,"a"],[17742,0,"t"],[17743,0,"e"],[17744,0,"l"],[17745,0,"y"],[17746,0," "],[17775,1],[17774,1],[17773,1],[17772,1],[17771,1],[17770,1],[17769,1],[17768,1],[17767,1],[17766,1],[17765,1],[17764,1],[17764,0,"s"],[17765,0,"o"],[17766,0," "],[17767,0,"t"],[17768,0,"h"],[17769,0,"a"],[17770,0,"t"],[17771,0," "],[17772,0,"i"],[17773,0,"t"],[17774,0," "],[17775,0,"t"],[17776,0,"a"],[17777,0,"k"],[17778,0,"e"],[17779,0,"s"],[17780,0," "],[17781,0,"e"],[17782,0,"f"],[17783,0,"f"],[17784,0,"e"],[17785,0,"c"],[17786,0,"t"],[17787,0," "],[17788,0,"l"],[17789,0,"o"],[17790,0,"c"],[17791,0,"a"],[17792,0,"l"],[17793,0,"l"],[17794,0,"y"],[17795,0,","],[17796,0," "],[17797,0,"a"],[17798,0,"n"],[17799,0,"d"],[17800,0," "],[17801,0,"a"],[17802,0,"s"],[17803,0,"y"],[17804,0,"n"],[17805,0,"c"],[17806,0,"h"],[17807,0,"r"],[17808,0,"o"],[17809,0,"n"],[17810,0,"o"],[17811,0,"u"],[17812,0,"s"],[17813,0,"l"],[17814,0,"y"],[17815,0," "],[17801,0,"t"],[17802,0,"h"],[17803,0,"e"],[17804,0," "],[17805,0,"o"],[17806,0,"p"],[17807,0,"e"],[17808,0,"r"],[17809,0,"a"],[17810,0,"t"],[17811,0,"i"],[17812,0,"o"],[17813,0,"n"],[17814,0," "],[17815,0,"i"],[17816,0,"s"],[17817,0," "],[17818,0,"a"],[17819,0,"l"],[17820,0,"s"],[17821,0,"o"],[17822,0," "],[17838,0,"b"],[17839,0,"r"],[17840,0,"o"],[17841,0,"a"],[17842,0,"d"],[17843,0,"c"],[17844,0,"a"],[17845,0,"s"],[17846,0,"t"],[17847,0," "],[17848,0,"t"],[17849,0,"o"],[17850,0," "],[17851,0,"t"],[17852,0,"h"],[17853,0,"e"],[17854,0," "],[17855,0,"o"],[17856,0,"t"],[17857,0,"h"],[17858,0,"e"],[17859,0,"r"],[17860,0," "],[17861,0,"p"],[17862,0,"e"],[17863,0,"e"],[17864,0,"r"],[17865,0,"s"],[17866,0,"."],[17867,0," "],[17868,0,"A"],[17869,0," "],[17870,0,"p"],[17871,0,"e"],[17872,0,"e"],[17873,0,"r"],[17874,0," "],[17875,0,"a"],[17876,0,"p"],[17877,0,"p"],[17878,0,"l"],[17879,0,"i"],[17880,0,"e"],[17881,0,"s"],[17882,0," "],[17882,1],[17881,1],[17881,0,"s"],[17882,0," "],[17883,0,"o"],[17884,0,"p"],[17885,0,"e"],[17886,0,"r"],[17887,0,"a"],[17888,0,"t"],[17889,0,"i"],[17890,0,"o"],[17891,0,"n"],[17892,0,"s"],[17893,0," "],[17894,0,"r"],[17895,0,"e"],[17896,0,"c"],[17897,0,"e"],[17898,0,"i"],[17899,0,"v"],[17900,0,"e"],[17901,0,"d"],[17902,0," "],[17903,0,"f"],[17904,0,"r"],[17905,0,"o"],[17906,0,"m"],[17907,0," "],[17908,0,"r"],[17909,0,"e"],[17910,0,"m"],[17911,0,"o"],[17912,0,"t"],[17913,0,"e"],[17914,0," "],[17915,0,"n"],[17916,0,"o"],[17917,0,"d"],[17918,0,"e"],[17919,0,"s"],[17920,0," "],[17921,0,"w"],[17922,0,"h"],[17923,0,"e"],[17924,0,"n"],[17925,0," "],[17926,0,"i"],[17927,0,"t"],[17928,0,"s"],[17929,0," "],[17930,0,"c"],[17931,0,"a"],[17932,0,"u"],[17933,0,"s"],[17934,0,"a"],[17935,0,"l"],[17936,0," "],[17937,0,"d"],[17938,0,"e"],[17939,0,"p"],[17940,0,"e"],[17941,0,"n"],[17942,0,"d"],[17943,0,"e"],[17944,0,"n"],[17945,0,"c"],[17946,0,"i"],[17947,0,"e"],[17948,0,"s"],[17949,0," "],[17950,0,"a"],[17951,0,"r"],[17952,0,"e"],[17953,0," "],[17954,0,"s"],[17955,0,"a"],[17956,0,"t"],[17957,0,"i"],[17958,0,"s"],[17959,0,"f"],[17960,0,"i"],[17961,0,"e"],[17962,0,"d"],[17963,0,","],[17964,0," "],[17965,0,"a"],[17966,0,"s"],[17967,0," "],[17968,0,"d"],[17969,0,"e"],[17970,0,"t"],[17971,0,"a"],[17972,0,"i"],[17973,0,"l"],[17974,0,"e"],[17975,0,"d"],[17976,0," "],[17977,0,"b"],[17978,0,"e"],[17979,0,"l"],[17980,0,"o"],[17981,0,"w"],[17982,0,"."],[17983,0,"\n"],[17984,0,"\n"],[17985,1],[17985,1],[18020,0,"\n"],[18020,0,"\n"],[18021,0,"E"],[18022,0,"v"],[18023,0,"e"],[18024,0,"r"],[18025,0,"y"],[18026,0," "],[18027,0,"o"],[18028,0,"p"],[18029,0,"e"],[18030,0,"r"],[18031,0,"a"],[18032,0,"t"],[18033,0,"i"],[18034,0,"o"],[18035,0,"n"],[18036,0," "],[18037,0,"i"],[18038,0,"n"],[18039,0," "],[18040,0,"o"],[18041,0,"u"],[18042,0,"r"],[18043,0," "],[18044,0,"m"],[18045,0,"o"],[18046,0,"d"],[18047,0,"e"],[18048,0,"l"],[18049,0," "],[18050,0,"i"],[18051,0,"s"],[18052,0," "],[18053,0,"g"],[18054,0,"i"],[18055,0,"v"],[18056,0,"e"],[18057,0,"n"],[18058,0," "],[18059,0,"a"],[18060,0," "],[18061,0,"u"],[18062,0,"n"],[18063,0,"i"],[18064,0,"q"],[18065,0,"u"],[18066,0,"e"],[18067,0," "],[18068,0,"i"],[18069,0,"d"],[18070,0,"e"],[18071,0,"n"],[18072,0,"t"],[18073,0,"i"],[18074,0,"f"],[18075,0,"i"],[18076,0,"e"],[18077,0,"r"],[18078,0,","],[18079,0," "],[18080,0,"w"],[18081,0,"h"],[18082,0,"i"],[18083,0,"c"],[18084,0,"h"],[18085,0," "],[18086,0,"i"],[18087,0,"s"],[18088,0," "],[18089,0,"u"],[18090,0,"s"],[18091,0,"e"],[18092,0,"d"],[18093,0," "],[18094,0,"a"],[18095,0,"s"],[18096,0," "],[18097,0,"p"],[18098,0,"a"],[18099,0,"r"],[18100,0,"t"],[18101,0," "],[18102,0,"o"],[18103,0,"f"],[18104,0," "],[18105,0,"t"],[18106,0,"h"],[18107,0,"e"],[18108,0," "],[18109,0,"l"],[18110,0,"o"],[18111,0,"c"],[18112,0,"a"],[18113,0,"l"],[18114,0," "],[18115,0,"s"],[18116,0,"t"],[18117,0,"a"],[18118,0,"t"],[18119,0,"e"],[18120,0," "],[18121,0,"a"],[18122,0,"n"],[18123,0,"d"],[18124,0," "],[18125,0,"o"],[18126,0,"f"],[18127,0," "],[18128,0,"c"],[18129,0,"u"],[18130,0,"r"],[18131,0,"s"],[18132,0,"o"],[18133,0,"r"],[18134,0,"s"],[18135,0,"."],[18103,1],[18102,1],[18101,1],[18100,1],[18099,1],[18098,1],[18097,1],[18096,1],[18095,1],[18094,1],[18094,0,"i"],[18095,0,"n"],[18118,1],[18117,1],[18117,0,"i"],[18118,0,"n"],[18128,0," "],[18129,0,"F"],[18130,0,"o"],[18131,0,"r"],[18132,0," "],[18133,0,"e"],[18134,0,"x"],[18135,0,"a"],[18136,0,"m"],[18137,0,"p"],[18138,0,"l"],[18139,0,"e"],[18140,0,","],[18141,0," "],[18142,0,"i"],[18143,0,"n"],[18144,0," "],[18145,0,"F"],[18146,0,"i"],[18147,0,"g"],[18148,0,"u"],[18149,0,"r"],[18150,0,"e"],[18151,0,"~"],[18152,0,"\\"],[18153,0,"r"],[18154,0,"e"],[18155,0,"f"],[18156,0,"{"],[18157,0,"f"],[18158,0,"i"],[18159,0,"g"],[18160,0,":"],[18161,0,"s"],[18162,0,"t"],[18163,0,"a"],[18164,0,"t"],[18165,0,"e"],[18166,0,"-"],[18167,0,"e"],[18168,0,"x"],[18169,0,"a"],[18170,0,"m"],[18171,0,"p"],[18172,0,"l"],[18173,0,"e"],[18174,0,"}"],[18175,0,","],[18176,0," "],[18177,0,"$"],[18178,0,"\\"],[18179,0,"m"],[18180,0,"a"],[18181,0,"t"],[18182,0,"h"],[18183,0,"i"],[18184,0,"t"],[18185,0,"{"],[18186,0,"i"],[18187,0,"d"],[18188,0,"}"],[18189,0,"_"],[18190,0,"{"],[18191,0,"1"],[18192,0,","],[18193,0,"2"],[18194,0,","],[18195,0,"3"],[18196,0,"}"],[18197,0,"$"],[18198,0," "],[18199,0,"a"],[18200,0,"r"],[18201,0,"e"],[18202,0," "],[18203,0,"u"],[18204,0,"s"],[18205,0,"e"],[18206,0,"d"],[18207,0," "],[18208,0,"t"],[18209,0,"o"],[18210,0," "],[18211,0,"i"],[18212,0,"d"],[18213,0,"e"],[18214,0,"n"],[18215,0,"t"],[18216,0,"i"],[18217,0,"f"],[18218,0,"y"],[18219,0," "],[18220,0,"l"],[18221,0,"i"],[18222,0,"s"],[18223,0,"t"],[18224,0," "],[18225,0,"e"],[18226,0,"l"],[18227,0,"e"],[18228,0,"m"],[18229,0,"e"],[18230,0,"n"],[18231,0,"t"],[18232,0,"s"],[18233,0," "],[18234,0,"a"],[18235,0,"n"],[18236,0,"d"],[18237,0," "],[18238,0,"a"],[18239,0,"l"],[18240,0,"s"],[18241,0,"o"],[18242,0," "],[18243,0,"t"],[18244,0,"h"],[18245,0,"e"],[18246,0," "],[18247,0,"v"],[18248,0,"a"],[18249,0,"l"],[18250,0,"u"],[18251,0,"e"],[18252,0,"s"],[18253,0," "],[18254,0,"o"],[18255,0,"f"],[18256,0," "],[18257,0,"r"],[18258,0,"e"],[18259,0,"g"],[18260,0,"i"],[18261,0,"s"],[18262,0,"t"],[18263,0,"e"],[18264,0,"r"],[18265,0,"s"],[18266,0,"."],[18267,0," "],[18268,0,"T"],[18269,0,"h"],[18270,0,"o"],[18271,0,"s"],[18272,0,"e"],[18273,0," "],[18274,0,"i"],[18275,0,"d"],[18276,0,"e"],[18277,0,"n"],[18278,0,"t"],[18279,0,"i"],[18280,0,"f"],[18281,0,"i"],[18282,0,"e"],[18283,0,"r"],[18284,0,"s"],[18285,0," "],[18286,0,"$"],[18287,0,"\\"],[18288,0,"m"],[18289,0,"a"],[18290,0,"t"],[18291,0,"h"],[18292,0,"i"],[18293,0,"t"],[18294,0,"{"],[18295,0,"i"],[18296,0,"d"],[18297,0,"}"],[18298,0,"_"],[18299,0,"{"],[18300,0,"1"],[18301,0,","],[18302,0,"2"],[18303,0,","],[18304,0,"3"],[18305,0,","],[18306,0,"}"],[18307,0,"$"],[18308,0," "],[18305,1],[18308,0,"a"],[18309,0,"r"],[18310,0,"e"],[18311,0," "],[18312,0,"i"],[18313,0,"n"],[18314,0,"f"],[18315,0,"a"],[18316,0,"c"],[18317,0,"t"],[18318,0," "],[18319,0,"t"],[18320,0,"h"],[18321,0,"e"],[18322,0," "],[18323,0,"i"],[18324,0,"d"],[18325,0,"e"],[18326,0,"n"],[18327,0,"t"],[18328,0,"i"],[18329,0,"f"],[18330,0,"i"],[18331,0,"e"],[18332,0,"r"],[18333,0,"s"],[18334,0," "],[18314,0," "],[18336,0,"o"],[18337,0,"f"],[18338,0," "],[18339,0,"t"],[18340,0,"h"],[18341,0,"e"],[18342,0," "],[18343,0,"o"],[18344,0,"p"],[18345,0,"e"],[18346,0,"r"],[18347,0,"a"],[18348,0,"t"],[18349,0,"i"],[18350,0,"o"],[18351,0,"n"],[18352,0,"s"],[18353,0," "],[18354,0,"t"],[18355,0,"h"],[18356,0,"a"],[18357,0,"t"],[18358,0," "],[18359,0,"i"],[18360,0,"n"],[18361,0,"s"],[18362,0,"e"],[18363,0,"r"],[18364,0,"t"],[18365,0,"e"],[18366,0,"d"],[18367,0," "],[18368,0,"t"],[18369,0,"h"],[18370,0,"e"],[18371,0," "],[18372,0,"l"],[18373,0,"i"],[18374,0,"s"],[18375,0,"t"],[18376,0," "],[18377,0,"e"],[18378,0,"l"],[18379,0,"e"],[18380,0,"m"],[18381,0,"e"],[18382,0,"n"],[18383,0,"t"],[18384,0,"s"],[18385,0,"."],[18386,0,"\n"],[18387,0,"\n"],[18388,0,"I"],[18389,0,"n"],[18390,0," "],[18390,1],[18389,1],[18388,1],[18388,0,"W"],[18389,0,"e"],[18390,0," "],[18391,0,"u"],[18392,0,"s"],[18393,0,"e"],[18394,0," "],[18395,0,"L"],[18396,0,"a"],[18397,0,"m"],[18398,0,"p"],[18399,0,"o"],[18400,0,"r"],[18401,0,"t"],[18402,0," "],[18403,0,"t"],[18404,0,"i"],[18405,0,"m"],[18406,0,"e"],[18407,0,"s"],[18408,0,"t"],[18409,0,"a"],[18410,0,"m"],[18411,0,"p"],[18412,0,"s"],[18413,0,"~"],[18414,0,"\\"],[18415,0,"c"],[18416,0,"i"],[18417,0,"t"],[18418,0,"e"],[18419,0,"{"],[18420,0,"L"],[18421,0,"a"],[18422,0,"m"],[18423,0,"p"],[18424,0,"o"],[18425,0,"r"],[18426,0,"t"],[18427,0,":"],[18428,0,"1"],[18429,0,"9"],[18430,0,"7"],[18431,0,"8"],[18432,0,"j"],[18433,0,"q"],[18434,0,"}"],[18435,0," "],[18436,0,"t"],[18437,0,"o"],[18438,0," "],[18439,0,"g"],[18440,0,"e"],[18441,0,"n"],[18442,0,"e"],[18443,0,"r"],[18444,0,"a"],[18445,0,"t"],[18446,0,"e"],[18447,0," "],[18448,0,"t"],[18449,0,"h"],[18449,1],[18448,1],[18447,1],[18446,1],[18445,1],[18444,1],[18443,1],[18442,1],[18441,1],[18440,1],[18439,1],[18438,1],[18437,1],[18436,1],[18436,0,"a"],[18437,0,"s"],[18438,0," "],[18439,0,"o"],[18440,0,"p"],[18441,0,"e"],[18442,0,"r"],[18443,0,"a"],[18444,0,"t"],[18445,0,"i"],[18446,0,"o"],[18447,0,"n"],[18448,0," "],[18449,0,"i"],[18450,0,"d"],[18451,0,"e"],[18452,0,"n"],[18453,0,"t"],[18454,0,"i"],[18455,0,"f"],[18456,0,"i"],[18457,0,"e"],[18458,0,"r"],[18459,0,"s"],[18460,0,","],[18461,0," "],[18388,0," "],[18388,0,"I"],[18389,0,"n"],[18390,0," "],[18391,0,"o"],[18392,0,"r"],[18393,0,"d"],[18394,0,"e"],[18395,0,"r"],[18396,0," "],[18397,0,"t"],[18398,0,"o"],[18399,0," "],[18400,0,"g"],[18401,0,"e"],[18402,0,"n"],[18403,0,"e"],[18404,0,"r"],[18405,0,"q"],[18405,1],[18405,0,"a"],[18406,0,"t"],[18407,0,"e"],[18408,0," "],[18409,0,"g"],[18410,0,"l"],[18411,0,"o"],[18412,0,"b"],[18413,0,"a"],[18414,0,"l"],[18415,0,"l"],[18416,0,"y"],[18417,0," "],[18418,0,"u"],[18419,0,"n"],[18420,0,"i"],[18421,0,"q"],[18422,0,"u"],[18423,0,"e"],[18424,0," "],[18425,0,"o"],[18426,0,"p"],[18427,0,"e"],[18428,0,"r"],[18429,0,"a"],[18430,0,"t"],[18431,0,"i"],[18432,0,"o"],[18433,0,"n"],[18434,0," "],[18435,0,"i"],[18436,0,"d"],[18437,0,"e"],[18438,0,"n"],[18439,0,"t"],[18440,0,"i"],[18441,0,"f"],[18442,0,"i"],[18443,0,"e"],[18444,0,"r"],[18445,0,"s"],[18446,0," "],[18447,0,"w"],[18448,0,"i"],[18449,0,"t"],[18450,0,"h"],[18451,0,"o"],[18452,0,"u"],[18453,0,"t"],[18454,0," "],[18455,0,"s"],[18456,0,"y"],[18457,0,"n"],[18458,0,"c"],[18459,0,"h"],[18460,0,"r"],[18461,0,"o"],[18462,0,"n"],[18463,0,"i"],[18464,0,"z"],[18465,0,"a"],[18466,0,"t"],[18467,0,"i"],[18468,0,"o"],[18469,0,"n"],[18470,0," "],[18471,0,"b"],[18472,0,"e"],[18473,0,"t"],[18474,0,"w"],[18475,0,"e"],[18476,0,"e"],[18477,0,"n"],[18478,0," "],[18479,0,"p"],[18480,0,"e"],[18481,0,"e"],[18482,0,"r"],[18483,0,"s"],[18484,0,","],[18469,1],[18468,1],[18467,1],[18466,1],[18465,1],[18464,1],[18463,1],[18462,1],[18462,0,"n"],[18463,0,"o"],[18464,0,"u"],[18465,0,"s"],[18466,0," "],[18467,0,"c"],[18468,0,"o"],[18469,0,"o"],[18470,0,"r"],[18471,0,"d"],[18472,0,"i"],[18473,0,"n"],[18474,0,"a"],[18475,0,"t"],[18476,0,"i"],[18477,0,"o"],[18478,0,"n"],[18455,0,"r"],[18456,0,"e"],[18457,0,"q"],[18458,0,"u"],[18459,0,"i"],[18460,0,"r"],[18461,0,"i"],[18462,0,"n"],[18463,0,"g"],[18464,0," "],[18503,1],[18504,1],[18504,0,"w"],[18577,1],[18576,1],[18575,1],[18574,1],[18573,1],[18572,1],[18571,1],[18570,1],[18569,1],[18568,1],[18567,1],[18566,1],[18565,1],[18564,1],[18563,1],[18562,1],[18561,1],[18560,1],[18559,1],[18558,1],[18557,1],[18556,1],[18555,1],[18554,1],[18553,1],[18552,1],[18551,1],[18550,1],[18550,0,"}"],[18551,0,"."],[18922,0," "],[18923,0,"("],[18924,0,"f"],[18925,0,"o"],[18926,0,"r"],[18927,0," "],[18928,0,"e"],[18929,0,"x"],[18930,0,"a"],[18931,0,"m"],[18932,0,"p"],[18933,0,"l"],[18934,0,"e"],[18935,0,","],[18936,0," "],[18937,0,"t"],[18938,0,"h"],[18939,0,"e"],[18940,0," "],[18941,0,"h"],[18942,0,"a"],[18943,0,"s"],[18944,0,"h"],[18945,0," "],[18946,0,"o"],[18947,0,"f"],[18948,0," "],[18949,0,"i"],[18950,0,"t"],[18951,0,"s"],[18952,0," "],[18953,0,"p"],[18954,0,"u"],[18955,0,"b"],[18956,0,"l"],[18957,0,"i"],[18958,0,"c"],[18959,0," "],[18960,0,"k"],[18961,0,"e"],[18962,0,"y"],[18963,0,")"],[18939,1],[18938,1],[18937,1],[18936,1],[18936,0," "],[18937,0,"a"],[18938,0," "],[18939,0,"c"],[18940,0,"r"],[18941,0,"y"],[18942,0,"p"],[18943,0,"t"],[18944,0,"o"],[18945,0,"g"],[18946,0,"r"],[18947,0,"a"],[18948,0,"p"],[18949,0,"h"],[18950,0,"i"],[18951,0,"c"],[18810,1],[18809,1],[18808,1],[18807,1],[18806,1],[18805,1],[18804,1],[18803,1],[18802,1],[18801,1],[18800,1],[18799,1],[18798,1],[18797,1],[18796,1],[18795,1],[18794,1],[18793,1],[18792,1],[18791,1],[18790,1],[18789,1],[18788,1],[18787,1],[18786,1],[18785,1],[18784,1],[18783,1],[18782,1],[18781,1],[18780,1],[18779,1],[18778,1],[18777,1],[18776,1],[18775,1],[18774,1],[18773,1],[18772,1],[18771,1],[18770,1],[18769,1],[18768,1],[18767,1],[18766,1],[18765,1],[18764,1],[18763,1],[18762,1],[18761,1],[18760,1],[18759,1],[18758,1],[18757,1],[18756,1],[18755,1],[18754,1],[18753,1],[18752,1],[18751,1],[18750,1],[18749,1],[18748,1],[18747,1],[18746,1],[18745,1],[18744,1],[18743,1],[18742,1],[18741,1],[18740,1],[18739,1],[18738,1],[18737,1],[18736,1],[18735,1],[18734,1],[18733,1],[18732,1],[18731,1],[18730,1],[18729,1],[18728,1],[18727,1],[18726,1],[18725,1],[18724,1],[18723,1],[18722,1],[18721,1],[18720,1],[18719,1],[18718,1],[18717,1],[18716,1],[18715,1],[18714,1],[18713,1],[18712,1],[18711,1],[18710,1],[18709,1],[18708,1],[18707,1],[18706,1],[18705,1],[18704,1],[18703,1],[18702,1],[18701,1],[18700,1],[18699,1],[18698,1],[18697,1],[18696,1],[18695,1],[18694,1],[18693,1],[18692,1],[18691,1],[18690,1],[18689,1],[18688,1],[18687,1],[18686,1],[18685,1],[18684,1],[18683,1],[18682,1],[18681,1],[18680,1],[18679,1],[18678,1],[18677,1],[18676,1],[18675,1],[18674,1],[18673,1],[18672,1],[18671,1],[18670,1],[18669,1],[18668,1],[18667,1],[18666,1],[18665,1],[18664,1],[18663,1],[18662,1],[18661,1],[18660,1],[18659,1],[18658,1],[18657,1],[18656,1],[18655,1],[18654,1],[18653,1],[18652,1],[18651,1],[18650,1],[18649,1],[18648,1],[18647,1],[18646,1],[18645,1],[18644,1],[18643,1],[18642,1],[18641,1],[18640,1],[18639,1],[18638,1],[18637,1],[18636,1],[18635,1],[18634,1],[18633,1],[18632,1],[18631,1],[18630,1],[18629,1],[18628,1],[18627,1],[18626,1],[18625,1],[18624,1],[18623,1],[18622,1],[18621,1],[18620,1],[18619,1],[18618,1],[18617,1],[18616,1],[18615,1],[18614,1],[18613,1],[18612,1],[18611,1],[18610,1],[18609,1],[18608,1],[18607,1],[18606,1],[18605,1],[18604,1],[18603,1],[18602,1],[18601,1],[18600,1],[18599,1],[18598,1],[18597,1],[18596,1],[18595,1],[18594,1],[18593,1],[18592,1],[18591,1],[18590,1],[18589,1],[18588,1],[18587,1],[18586,1],[18585,1],[18584,1],[18583,1],[18582,1],[18581,1],[18580,1],[18579,1],[18578,1],[18577,1],[18576,1],[18575,1],[18574,1],[18573,1],[18572,1],[18571,1],[18570,1],[18569,1],[18568,1],[18567,1],[18566,1],[18565,1],[18564,1],[18563,1],[18562,1],[18561,1],[18560,1],[18559,1],[18558,1],[18557,1],[18556,1],[18555,1],[18554,1],[18553,1],[18552,1],[18552,0," "],[18718,1],[18718,0,","],[18719,0," "],[18720,0,"a"],[18721,0,"n"],[18722,0,"d"],[18928,1],[18927,1],[18926,1],[18925,1],[18924,1],[18923,1],[18922,1],[18921,1],[18920,1],[18919,1],[18918,1],[18917,1],[18916,1],[18915,1],[18914,1],[18913,1],[18912,1],[18911,1],[18910,1],[18909,1],[18908,1],[18907,1],[18906,1],[18905,1],[18904,1],[18903,1],[18902,1],[18901,1],[18900,1],[18899,1],[18898,1],[18897,1],[18896,1],[18895,1],[18894,1],[18893,1],[18892,1],[18891,1],[18890,1],[18889,1],[18888,1],[18887,1],[18886,1],[18885,1],[18884,1],[18883,1],[18882,1],[18881,1],[18880,1],[18879,1],[18878,1],[18877,1],[18876,1],[18875,1],[18874,1],[18873,1],[18872,1],[18871,1],[18870,1],[18869,1],[18868,1],[18867,1],[18866,1],[18865,1],[18864,1],[18863,1],[18862,1],[18861,1],[18860,1],[18859,1],[18858,1],[18857,1],[18856,1],[18855,1],[18854,1],[18853,1],[18852,1],[18851,1],[18850,1],[18849,1],[18848,1],[18847,1],[18846,1],[18845,1],[18844,1],[18843,1],[18842,1],[18841,1],[18840,1],[18839,1],[18838,1],[18837,1],[18836,1],[18835,1],[18834,1],[18833,1],[18832,1],[18831,1],[18830,1],[18829,1],[18828,1],[18827,1],[18826,1],[18825,1],[18824,1],[18823,1],[18822,1],[18821,1],[18820,1],[18819,1],[18818,1],[18817,1],[18816,1],[18815,1],[18814,1],[18813,1],[18812,1],[18811,1],[18810,1],[18809,1],[18808,1],[18807,1],[18806,1],[18806,0,"S"],[18807,0,"i"],[18808,0,"n"],[18809,0,"c"],[18810,0,"e"],[18811,0," "],[18812,0,"e"],[18813,0,"a"],[18814,0,"c"],[18815,0,"h"],[18816,0," "],[18817,0,"p"],[18818,0,"e"],[18819,0,"e"],[18820,0,"r"],[18821,0," "],[18822,0,"g"],[18823,0,"e"],[18824,0,"n"],[18825,0,"e"],[18826,0,"r"],[18827,0,"a"],[18828,0,"t"],[18829,0,"e"],[18830,0,"s"],[18831,0," "],[18832,0,"a"],[18833,0," "],[18834,0,"s"],[18835,0,"t"],[18836,0,"r"],[18837,0,"i"],[18838,0,"c"],[18839,0,"t"],[18840,0,"l"],[18841,0,"y"],[18842,0," "],[18843,0,"m"],[18844,0,"o"],[18845,0,"n"],[18846,0,"o"],[18847,0,"t"],[18848,0,"o"],[18849,0,"n"],[18850,0,"i"],[18851,0,"c"],[18852,0,"a"],[18853,0,"l"],[18854,0,"l"],[18855,0,"y"],[18856,0," "],[18857,0,"i"],[18858,0,"n"],[18859,0,"c"],[18860,0,"r"],[18861,0,"e"],[18862,0,"a"],[18863,0,"s"],[18864,0,"i"],[18865,0,"n"],[18866,0,"g"],[18867,0," "],[18868,0,"s"],[18869,0,"e"],[18870,0,"q"],[18871,0,"u"],[18872,0,"e"],[18873,0,"n"],[18874,0,"c"],[18875,0,"e"],[18876,0," "],[18877,0,"o"],[18878,0,"f"],[18879,0," "],[18880,0,"c"],[18881,0,"o"],[18882,0,"u"],[18883,0,"n"],[18884,0,"t"],[18885,0,"e"],[18886,0,"r"],[18887,0," "],[18888,0,"v"],[18889,0,"a"],[18890,0,"l"],[18891,0,"u"],[18892,0,"e"],[18893,0,"s"],[18894,0," "],[18895,0,"$"],[18896,0,"c"],[18897,0,"$"],[18898,0,","],[18899,0," "],[18900,0,"t"],[18901,0,"h"],[18902,0,"e"],[18903,0," "],[18904,0,"p"],[18905,0,"a"],[18906,0,"i"],[18907,0,"r"],[18908,0," "],[18909,0,"$"],[18910,0,"("],[18911,0,"c"],[18912,0,","],[18913,0," "],[18914,0,"p"],[18915,0,")"],[18916,0,"$"],[18917,0," "],[18918,0,"i"],[18919,0,"s"],[18920,0," "],[18921,0,"u"],[18922,0,"n"],[18923,0,"i"],[18924,0,"q"],[18925,0,"u"],[18926,0,"e"],[18927,0,"."],[19452,1],[19452,1],[19452,0,"\\"],[19453,0,"["],[19454,0," "],[19543,1],[19542,1],[19542,0," "],[19543,0,"\\"],[19544,0,"]"],[19773,0," "],[19774,0,"T"],[19775,0,"h"],[19776,0,"i"],[19777,0,"s"],[19778,0," "],[19779,0,"o"],[19780,0,"r"],[19781,0,"d"],[19782,0,"e"],[19783,0,"r"],[19784,0,"i"],[19785,0,"n"],[19786,0,"g"],[19787,0," "],[19788,0,"p"],[19789,0,"r"],[19790,0,"o"],[19791,0,"p"],[19792,0,"e"],[19793,0,"r"],[19794,0,"t"],[19795,0,"y"],[19796,0," "],[19797,0,"i"],[19798,0,"s"],[19799,0," "],[19800,0,"i"],[19801,0,"m"],[19802,0,"p"],[19803,0,"o"],[19804,0,"r"],[19805,0,"t"],[19806,0,"a"],[19807,0,"n"],[19808,0,"t"],[19809,0," "],[19810,0,"f"],[19811,0,"o"],[19812,0,"r"],[19813,0," "],[19814,0,"o"],[19815,0,"u"],[19816,0,"r"],[19817,0," "],[19818,0,"d"],[19819,0,"e"],[19820,0,"f"],[19821,0,"i"],[19822,0,"n"],[19823,0,"i"],[19824,0,"t"],[19825,0,"i"],[19826,0,"o"],[19827,0,"n"],[19828,0," "],[19829,0,"o"],[19830,0,"f"],[19831,0," "],[19832,0,"t"],[19833,0,"h"],[19834,0,"e"],[19835,0," "],[19836,0,"s"],[19837,0,"e"],[19838,0,"m"],[19839,0,"a"],[19840,0,"n"],[19841,0,"t"],[19842,0,"i"],[19843,0,"c"],[19844,0,"s"],[19845,0," "],[19846,0,"o"],[19847,0,"f"],[19848,0," "],[19849,0,"o"],[19850,0,"r"],[19851,0,"d"],[19852,0,"e"],[19853,0,"r"],[19854,0,"e"],[19855,0,"d"],[19856,0," "],[19857,0,"l"],[19858,0,"i"],[19859,0,"s"],[19860,0,"t"],[19861,0,"s"],[19862,0,"."],[17919,1],[17918,1],[17917,1],[17916,1],[17915,1],[17915,0,"p"],[17916,0,"e"],[17917,0,"e"],[17918,0,"r"],[17919,0,"s"],[24283,0,"\n"],[24284,0,"\\"],[24285,0,"i"],[24286,0,"f"],[24287,0,"p"],[24288,0,"r"],[24289,0,"o"],[24290,0,"o"],[24291,0,"f"],[24292,0,"d"],[24293,0,"r"],[24294,0,"a"],[24295,0,"f"],[24296,0,"t"],[24297,0,"\n"],[24283,0,"\n"],[24284,0,"\n"],[37132,0,"\n"],[37133,0,"\\"],[37134,0,"f"],[37135,0,"i"],[37136,0," "],[37137,0,"%"],[37138,0," "],[37139,0,"p"],[37140,0,"r"],[37141,0,"o"],[37142,0,"o"],[37143,0,"f"],[37144,0,"d"],[37145,0,"r"],[37146,0,"a"],[37147,0,"f"],[37148,0,"t"],[37149,0,"\n"],[422,0,"\n"],[423,0,"\n"],[423,0,"\\"],[424,0,"n"],[425,0,"e"],[426,0,"w"],[427,0,"i"],[428,0,"f"],[429,0,"\\"],[430,0,"i"],[431,0,"f"],[432,0,"p"],[433,0,"r"],[434,0,"o"],[435,0,"o"],[436,0,"f"],[437,0,"d"],[438,0,"r"],[439,0,"a"],[440,0,"f"],[441,0,"t"],[442,0,"\n"],[443,0,"\\"],[444,0,"p"],[445,0,"r"],[446,0,"o"],[447,0,"o"],[448,0,"f"],[449,0,"d"],[450,0,"r"],[451,0,"a"],[452,0,"f"],[453,0,"t"],[454,0,"f"],[455,0,"a"],[456,0,"l"],[457,0,"s"],[458,0,"e"],[718,0,"\n"],[719,0,"\n"],[720,0,"\\"],[721,0,"n"],[722,0,"e"],[723,0,"w"],[724,0,"c"],[725,0,"o"],[726,0,"m"],[727,0,"m"],[728,0,"a"],[729,0,"n"],[730,0,"d"],[731,0,"{"],[732,0,"\\"],[733,0,"m"],[734,0,"u"],[735,0,"l"],[736,0,"t"],[737,0,"i"],[738,0,"a"],[739,0,"l"],[740,0,"i"],[741,0,"g"],[742,0,"n"],[743,0,"}"],[744,0,"["],[745,0,"2"],[746,0,"]"],[747,0,"{"],[748,0,"%"],[749,0,"\n"],[750,0," "],[751,0," "],[752,0,"\\"],[753,0,"m"],[754,0,"u"],[755,0,"l"],[756,0,"t"],[757,0,"i"],[758,0,"s"],[759,0,"p"],[760,0,"a"],[761,0,"n"],[762,0,"{"],[763,0,"#"],[764,0,"1"],[765,0,"}"],[766,0,"\\"],[767,0,"m"],[768,0,"b"],[769,0,"o"],[770,0,"x"],[771,0,"{"],[772,0,"$"],[773,0,"\\"],[774,0,"d"],[775,0,"i"],[776,0,"s"],[777,0,"p"],[778,0,"l"],[779,0,"a"],[780,0,"y"],[781,0,"s"],[782,0,"t"],[783,0,"y"],[784,0,"l"],[785,0,"e"],[786,0,"{"],[787,0,"}"],[788,0,"#"],[789,0,"2"],[790,0,"$"],[791,0,"}"],[792,0,"%"],[793,0,"\n"],[794,0,"}"],[7788,1],[7787,1],[7786,1],[7785,1],[7784,1],[7783,1],[7782,1],[7781,1],[7780,1],[7779,1],[7778,1],[7777,1],[7776,1],[7775,1],[7774,1],[7773,1],[7772,1],[7771,1],[7770,1],[7769,1],[7768,1],[7767,1],[7766,1],[7765,1],[7764,1],[7763,1],[7762,1],[7761,1],[7760,1],[7759,1],[7758,1],[7757,1],[7756,1],[7755,1],[7754,1],[7753,1],[7752,1],[7751,1],[7750,1],[7749,1],[7748,1],[7747,1],[7746,1],[7745,1],[7744,1],[7743,1],[7742,1],[7741,1],[7740,1],[7739,1],[7738,1],[7737,1],[7736,1],[7735,1],[7734,1],[7733,1],[7732,1],[7731,1],[7730,1],[7729,1],[7728,1],[7727,1],[7726,1],[7725,1],[7724,1],[7723,1],[7722,1],[7721,1],[7720,1],[7719,1],[7718,1],[7717,1],[7716,1],[7715,1],[7714,1],[7713,1],[4295,1],[4295,1],[4295,1],[4295,1],[4295,1],[4295,1],[4295,1],[4295,1],[4295,1],[4295,1],[4295,1],[4316,0,"\n"],[4316,0,"l"],[4317,0,"e"],[4318,0,"t"],[4319,0," "],[4320,0,"e"],[4321,0,"g"],[4322,0,"g"],[4323,0,"s"],[4324,0," "],[4325,0,"="],[4326,0," "],[4327,0,"l"],[4328,0,"i"],[4329,0,"s"],[4330,0,"t"],[4331,0,"."],[4332,0,"n"],[4333,0,"e"],[4334,0,"x"],[4335,0,"t"],[4336,0,";"],[6399,1],[6399,1],[6399,1],[6399,1],[6399,1],[6420,0," "],[6421,0,"t"],[6422,0,"h"],[6423,0,"a"],[6424,0,"t"],[6437,1],[6436,1],[6435,1],[6435,0,"s"],[6924,0,"."],[6925,0," "],[6925,1],[6924,1],[6925,0," "],[6926,0,"o"],[6927,0,"r"],[6928,0," "],[6929,0,"a"],[6930,0,"t"],[6931,0," "],[6932,0,"t"],[6933,0,"h"],[6934,0,"e"],[6935,0," "],[6936,0,"h"],[6937,0,"e"],[6938,0,"a"],[6939,0,"d"],[6940,0," "],[6941,0,"i"],[6942,0,"f"],[6943,0," "],[6944,0,"t"],[6945,0,"h"],[6946,0,"e"],[6947,0," "],[6948,0,"c"],[6949,0,"u"],[6950,0,"r"],[6951,0,"s"],[6952,0,"o"],[6953,0,"r"],[6954,0," "],[6955,0,"i"],[6956,0,"s"],[6957,0," "],[6958,0,"a"],[6959,0,"t"],[6960,0," "],[6961,0,"t"],[6962,0,"h"],[6963,0,"e"],[6964,0," "],[6965,0,"h"],[6966,0,"e"],[6967,0,"a"],[6968,0,"d"],[6969,0," "],[6970,0,"o"],[6971,0,"f"],[6972,0," "],[6973,0,"t"],[6974,0,"h"],[6975,0,"e"],[6976,0," "],[6977,0,"l"],[6978,0,"i"],[6979,0,"s"],[6980,0,"t"],[6981,0,"."],[6982,0," "],[6983,0,"T"],[6984,0,"h"],[6985,0,"e"],[6986,0," "],[6987,0,"v"],[6988,0,"a"],[6989,0,"r"],[6990,0,"i"],[6991,0,"a"],[6992,0,"b"],[6993,0,"l"],[6994,0,"e"],[6995,0," "],[6996,0,"\\"],[6997,0,"v"],[6998,0,"e"],[6999,0,"r"],[7000,0,"b"],[7001,0,"\""],[7001,1],[7001,0,"|"],[7002,0,"l"],[7003,0,"i"],[7004,0,"s"],[7005,0,"t"],[7006,0,"|"],[7007,0," "],[7008,0,"r"],[7009,0,"e"],[7010,0,"f"],[7011,0,"e"],[7012,0,"r"],[7013,0,"s"],[7014,0," "],[7015,0,"t"],[7016,0,"o"],[7017,0," "],[7018,0,"t"],[7019,0,"h"],[7020,0,"e"],[7021,0," "],[7022,0,"h"],[7023,0,"e"],[7024,0,"a"],[7025,0,"d"],[7026,0,","],[7027,0," "],[7028,0,"s"],[7029,0,"o"],[7030,0," "],[7031,0,"c"],[7032,0,"h"],[7033,0,"e"],[7034,0,"e"],[7035,0,"s"],[7036,0,"e"],[7037,0," "],[7038,0,"i"],[7039,0,"s"],[7040,0," "],[7041,0,"i"],[7042,0,"n"],[7043,0,"s"],[7044,0,"e"],[7045,0,"r"],[7046,0,"t"],[7047,0,"e"],[7048,0,"d"],[7049,0," "],[7050,0,"a"],[7051,0,"h"],[7052,0,"e"],[7053,0,"a"],[7054,0,"d"],[7055,0," "],[7056,0,"o"],[7057,0,"f"],[7058,0," "],[7059,0,"e"],[7060,0,"g"],[7061,0,"g"],[7062,0,"s"],[7063,0,","],[7064,0," "],[7065,0,"b"],[7066,0,"u"],[7067,0,"t"],[7068,0," "],[7069,0,"t"],[7070,0,"h"],[7071,0,"e"],[7072,0," "],[7073,0,"v"],[7074,0,"a"],[7075,0,"r"],[7076,0,"i"],[7077,0,"a"],[7078,0,"b"],[7079,0,"l"],[7080,0,"e"],[7081,0," "],[7082,0,"\\"],[7083,0,"v"],[7084,0,"e"],[7085,0,"r"],[7086,0,"b"],[7087,0,"|"],[7088,0,"e"],[7089,0,"g"],[7090,0,"g"],[7091,0,"s"],[7092,0,"|"],[7093,0," "],[7094,0,"r"],[7095,0,"e"],[7096,0,"f"],[7097,0,"e"],[7098,0,"r"],[7099,0,"s"],[7100,0," "],[7101,0,"t"],[7102,0,"o"],[7103,0," "],[7104,0,"t"],[7105,0,"h"],[7106,0,"e"],[7107,0," "],[7108,0,"l"],[7109,0,"i"],[7110,0,"s"],[7111,0,"t"],[7112,0," "],[7113,0,"e"],[7114,0,"l"],[7115,0,"e"],[7116,0,"m"],[7117,0,"e"],[7118,0,"n"],[7119,0,"t"],[7120,0," "],[7121,0,"`"],[7122,0,"`"],[7123,0,"e"],[7124,0,"g"],[7125,0,"g"],[7126,0,"s"],[7127,0,"'"],[7128,0,"'"],[7129,0,","],[7130,0," "],[7131,0,"s"],[7132,0,"o"],[7133,0," "],[7134,0,"m"],[7135,0,"i"],[7136,0,"l"],[7137,0,"k"],[7138,0," "],[7139,0,"i"],[7140,0,"s"],[7141,0," "],[7142,0,"i"],[7143,0,"n"],[7144,0,"s"],[7145,0,"e"],[7146,0,"r"],[7147,0,"t"],[7148,0,"e"],[7149,0,"d"],[7150,0," "],[7151,0,"a"],[7152,0,"f"],[7153,0,"t"],[7154,0,"e"],[7155,0,"r"],[7156,0," "],[7157,0,"e"],[7158,0,"g"],[7159,0,"g"],[7160,0,"s"],[7161,0,"."],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7162,1],[7050,1],[7050,1],[7050,1],[7050,1],[7050,1],[7050,1],[7050,1],[7050,1],[7050,0,"b"],[7051,0,"e"],[7052,0,"f"],[7053,0,"o"],[7054,0,"r"],[7055,0,"e"],[3573,1],[3572,1],[3571,1],[3570,1],[3569,1],[3568,1],[3567,1],[3566,1],[3565,1],[3564,1],[3563,1],[3562,1],[3561,1],[3560,1],[3559,1],[3558,1],[3557,1],[3556,1],[3555,1],[3554,1],[3553,1],[3552,1],[3551,1],[3550,1],[3549,1],[3548,1],[3547,1],[3546,1],[3545,1],[3544,1],[3543,1],[3542,1],[3541,1],[3540,1],[3539,1],[3538,1],[3537,1],[3536,1],[3535,1],[3534,1],[3533,1],[3532,1],[3531,1],[3530,1],[3529,1],[3528,1],[3527,1],[3526,1],[3525,1],[3524,1],[3523,1],[3522,1],[3521,1],[3520,1],[3519,1],[3518,1],[3517,1],[3516,1],[3515,1],[3514,1],[3513,1],[3512,1],[3511,1],[3510,1],[3509,1],[2848,1],[2847,1],[2846,1],[2845,1],[2844,1],[2843,1],[2842,1],[2841,1],[2840,1],[2839,1],[2838,1],[2837,1],[2836,1],[2835,1],[2834,1],[2833,1],[2832,1],[2831,1],[2830,1],[2829,1],[2828,1],[2827,1],[2826,1],[2825,1],[2824,1],[2823,1],[2822,1],[2821,1],[2820,1],[2819,1],[2818,1],[2817,1],[2816,1],[2815,1],[2814,1],[2813,1],[2812,1],[2811,1],[2810,1],[2809,1],[2808,1],[2807,1],[2806,1],[2805,1],[2804,1],[2803,1],[2802,1],[2801,1],[2800,1],[2799,1],[2798,1],[2797,1],[2796,1],[2795,1],[2794,1],[2793,1],[2792,1],[2791,1],[2790,1],[2789,1],[2788,1],[2787,1],[2786,1],[2785,1],[2784,1],[2783,1],[2782,1],[2781,1],[2780,1],[2779,1],[2778,1],[2777,1],[2776,1],[2775,1],[2774,1],[2773,1],[2772,1],[2771,1],[2770,1],[2769,1],[2768,1],[2767,1],[2766,1],[2765,1],[2764,1],[2763,1],[2762,1],[2761,1],[2760,1],[2759,1],[2758,1],[2757,1],[2756,1],[2755,1],[2754,1],[2753,1],[2752,1],[2751,1],[2750,1],[2749,1],[2748,1],[2747,1],[2746,1],[2745,1],[2744,1],[2743,1],[2742,1],[2741,1],[2740,1],[2739,1],[2738,1],[2737,1],[2736,1],[2735,1],[2734,1],[2733,1],[2732,1],[2731,1],[2730,1],[2729,1],[2728,1],[2727,1],[2726,1],[2725,1],[2724,1],[2723,1],[2722,1],[2721,1],[2720,1],[2719,1],[2718,1],[2717,1],[2716,1],[2715,1],[2714,1],[2713,1],[2712,1],[2711,1],[2710,1],[2709,1],[2708,1],[2707,1],[2706,1],[2705,1],[2704,1],[2703,1],[2702,1],[2701,1],[2700,1],[2699,1],[2698,1],[2697,1],[2696,1],[2695,1],[2694,1],[2693,1],[2692,1],[2833,1],[2833,1],[2833,1],[2833,1],[2833,1],[2833,1],[2833,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[2842,1],[3055,0," "],[3056,0,"O"],[3057,0,"t"],[3058,0,"h"],[3059,0,"e"],[3060,0,"r"],[3061,0," "],[3062,0,"r"],[3063,0,"e"],[3064,0,"p"],[3065,0,"l"],[3066,0,"i"],[3067,0,"c"],[3068,0,"a"],[3069,0,"t"],[3070,0,"e"],[3071,0,"d"],[3072,0," "],[3073,0,"d"],[3074,0,"a"],[3075,0,"t"],[3076,0,"a"],[3077,0,"t"],[3078,0,"y"],[3079,0,"p"],[3080,0,"e"],[3081,0,"s"],[3082,0," "],[3083,0,"s"],[3084,0,"u"],[3085,0,"c"],[3086,0,"h"],[3087,0," "],[3088,0,"a"],[3089,0,"s"],[3090,0," "],[3091,0,"c"],[3092,0,"o"],[3093,0,"u"],[3094,0,"n"],[3095,0,"t"],[3096,0,"e"],[3097,0,"r"],[3098,0,"s"],[3099,0," "],[3100,0,"o"],[3101,0,"r"],[3102,0," "],[3103,0,"s"],[3104,0,"e"],[3105,0,"t"],[3106,0,"s"],[3107,0," "],[3056,0,"O"],[3057,0,"u"],[3058,0,"r"],[3059,0," "],[3060,0,"a"],[3061,0,"p"],[3062,0,"p"],[3063,0,"r"],[3064,0,"o"],[3065,0,"a"],[3066,0,"c"],[3067,0,"h"],[3068,0," "],[3069,0,"a"],[3070,0,"l"],[3071,0,"s"],[3072,0,"o"],[3073,0," "],[3074,0,"g"],[3075,0,"e"],[3076,0,"n"],[3077,0,"e"],[3078,0,"r"],[3079,0,"a"],[3080,0,"l"],[3081,0,"i"],[3082,0,"z"],[3083,0,"e"],[3084,0,"s"],[3085,0," "],[3086,0,"t"],[3087,0,"o"],[3088,0," "],[3089,1],[3089,0,"o"],[3073,0," "],[3074,0,"e"],[3075,0,"a"],[3076,0,"s"],[3077,0,"i"],[3078,0,"l"],[3079,0,"y"],[3147,1],[3147,0,","],[3148,0," "],[3149,0,"w"],[3150,0,"h"],[3151,0,"i"],[3152,0,"c"],[3153,0,"h"],[3154,0," "],[3155,0,"w"],[3156,0,"e"],[3157,0," "],[3158,0,"d"],[3159,0,"o"],[3160,0," "],[3161,0,"n"],[3162,0,"o"],[3163,0,"t"],[3164,0," "],[3165,0,"s"],[3166,0,"p"],[3167,0,"e"],[3168,0,"l"],[3169,0,"l"],[3170,0," "],[3171,0,"o"],[3172,0,"u"],[3173,0,"t"],[3174,0," "],[3175,0,"i"],[3176,0,"n"],[3177,0," "],[3178,0,"d"],[3179,0,"e"],[3180,0,"t"],[3181,0,"a"],[3182,0,"i"],[3183,0,"l"],[3184,0," "],[3185,0,"i"],[3186,0,"n"],[3187,0," "],[3188,0,"t"],[3189,0,"h"],[3190,0,"e"],[3191,0," "],[3192,0,"i"],[3193,0,"n"],[3194,0,"t"],[3195,0,"e"],[3196,0,"r"],[3197,0,"e"],[3198,0,"s"],[3199,0,"t"],[3200,0,"s"],[3201,0," "],[3202,0,"o"],[3203,0,"f"],[3204,0," "],[3205,0,"b"],[3206,0,"r"],[3207,0,"e"],[3208,0,"v"],[3209,0,"i"],[3210,0,"t"],[3211,0,"y"],[3212,0,"."],[3200,1],[5647,1],[5647,1],[5647,1],[5647,1],[5647,1],[5647,1],[5647,1],[5647,1],[5647,1],[5647,1],[5647,1],[6051,0,"o"],[6052,0,"r"],[6053,0," "],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[6115,1],[3884,1],[3883,1],[3883,0,"r"],[3884,0,"m"],[3886,1],[3886,0,"N"],[3887,0,"u"],[3888,0,"m"],[3889,0,"b"],[3890,0,"e"],[3891,0,"r"],[3958,0,"\n"],[3959,0,"&"],[3960,0," "],[3961,0,"$"],[3962,0,"|"],[3963,0,"$"],[3964,0," "],[3965,0,"&"],[3966,0," "],[3967,0,"\\"],[3968,0,"v"],[3969,0,"e"],[3970,0,"r"],[3971,0,"b"],[3972,0,"|"],[3973,0,"t"],[3974,0,"r"],[3975,0,"u"],[3976,0,"e"],[3977,0,"|"],[3978,0," "],[3979,0,"$"],[3980,0,"|"],[3981,0,"$"],[3982,0," "],[3983,0,"\\"],[3984,0,"v"],[3985,0,"e"],[3986,0,"r"],[3987,0,"b"],[3988,0,"|"],[3989,0,"f"],[3990,0,"a"],[3991,0,"l"],[3992,0,"s"],[3993,0,"e"],[3994,0," "],[3995,0,"$"],[3996,0,"|"],[3997,0,"$"],[3994,0,"|"],[3999,0," "],[4000,0,"\\"],[4001,0,"v"],[4002,0,"e"],[4003,0,"r"],[4004,0,"b"],[4005,0,"|"],[4006,0,"n"],[4007,0,"u"],[4008,0,"l"],[4009,0,"l"],[4010,0," "],[4011,0,"\\"],[4012,0,"\\"],[4010,0,"|"],[4042,1],[4041,1],[4036,1],[4035,1],[4034,1],[4033,1],[4032,1],[7282,1],[7281,1],[7280,1],[7279,1],[7278,1],[7277,1],[7277,0,"p"],[7278,0,"u"],[7279,0,"t"],[7290,0,"-"],[7291,0,"v"],[7292,0,"a"],[7293,0,"l"],[7294,0,"u"],[7295,0,"e"],[7296,0," "],[7297,0,"p"],[7298,0,"a"],[7299,0,"i"],[7300,0,"r"],[20322,1],[20321,1],[20320,1],[20319,1],[20318,1],[20317,1],[20316,1],[20315,1],[20314,1],[20313,1],[20312,1],[20311,1],[20310,1],[20309,1],[20308,1],[20307,1],[20306,1],[20305,1],[20304,1],[20303,1],[20302,1],[20301,1],[20300,1],[20299,1],[20298,1],[20297,1],[20296,1],[20295,1],[20294,1],[20293,1],[20292,1],[20291,1],[20290,1],[20289,1],[20288,1],[20287,1],[20286,1],[20285,1],[20284,1],[20283,1],[20282,1],[20281,1],[20280,1],[20279,1],[20278,1],[20277,1],[20276,1],[20275,1],[20274,1],[20273,1],[20272,1],[20271,1],[20270,1],[20269,1],[20268,1],[20267,1],[20266,1],[20265,1],[20264,1],[20263,1],[20262,1],[20261,1],[20260,1],[20259,1],[20258,1],[20257,1],[20256,1],[20255,1],[20254,1],[20253,1],[20252,1],[20251,1],[20250,1],[20249,1],[20248,1],[20247,1],[20246,1],[20245,1],[20244,1],[20243,1],[20242,1],[20241,1],[20240,1],[20239,1],[20238,1],[20237,1],[20236,1],[20235,1],[20234,1],[20233,1],[20232,1],[20231,1],[20230,1],[20229,1],[20228,1],[20227,1],[20226,1],[20225,1],[20224,1],[20223,1],[20222,1],[20221,1],[20220,1],[20219,1],[20218,1],[20217,1],[20216,1],[20215,1],[20214,1],[20213,1],[20212,1],[20211,1],[20210,1],[20209,1],[20208,1],[20207,1],[20206,1],[20205,1],[20204,1],[20203,1],[20202,1],[20201,1],[20200,1],[20199,1],[20198,1],[20197,1],[20196,1],[20195,1],[20194,1],[20193,1],[20192,1],[20191,1],[20190,1],[20189,1],[20188,1],[20187,1],[20186,1],[20185,1],[20184,1],[20183,1],[20182,1],[20181,1],[20180,1],[20179,1],[20178,1],[20177,1],[20176,1],[20175,1],[20174,1],[20173,1],[20172,1],[20171,1],[20170,1],[20169,1],[20168,1],[20167,1],[20166,1],[20165,1],[20164,1],[20163,1],[20162,1],[20161,1],[20160,1],[20159,1],[20158,1],[20157,1],[20156,1],[20155,1],[20154,1],[20153,1],[20152,1],[20151,1],[20150,1],[20149,1],[20148,1],[20147,1],[20146,1],[20145,1],[20144,1],[20143,1],[20142,1],[20141,1],[20140,1],[20139,1],[20138,1],[20137,1],[20136,1],[20135,1],[20134,1],[20133,1],[20132,1],[20131,1],[20130,1],[20129,1],[20128,1],[20127,1],[20126,1],[20125,1],[20124,1],[20123,1],[20122,1],[20121,1],[20120,1],[20119,1],[20118,1],[20117,1],[20116,1],[20115,1],[20114,1],[20113,1],[20112,1],[20111,1],[20110,1],[20109,1],[20108,1],[20107,1],[20106,1],[20105,1],[20104,1],[20103,1],[20102,1],[20101,1],[20100,1],[20099,1],[20098,1],[20097,1],[20096,1],[20095,1],[20094,1],[20093,1],[20092,1],[20091,1],[20090,1],[20089,1],[20088,1],[20087,1],[20086,1],[20085,1],[20084,1],[20083,1],[20082,1],[20081,1],[20080,1],[20079,1],[20078,1],[20077,1],[20076,1],[20075,1],[20074,1],[20073,1],[20072,1],[20071,1],[20070,1],[20069,1],[20068,1],[20067,1],[20066,1],[20065,1],[20064,1],[20063,1],[20062,1],[20061,1],[20060,1],[20059,1],[20058,1],[20057,1],[20056,1],[20055,1],[20054,1],[20053,1],[20052,1],[20051,1],[20050,1],[20049,1],[20048,1],[20047,1],[20046,1],[20045,1],[20044,1],[20043,1],[20042,1],[20041,1],[20040,1],[20039,1],[20038,1],[20037,1],[20036,1],[20035,1],[20034,1],[20033,1],[20032,1],[20031,1],[20030,1],[20029,1],[20028,1],[20027,1],[20026,1],[20025,1],[20024,1],[20023,1],[20022,1],[20021,1],[20020,1],[20019,1],[20018,1],[20017,1],[20016,1],[20015,1],[20014,1],[20013,1],[20012,1],[20011,1],[20010,1],[20009,1],[20008,1],[20007,1],[20006,1],[20005,1],[20004,1],[20003,1],[20002,1],[20001,1],[20000,1],[19999,1],[19998,1],[19997,1],[19996,1],[19995,1],[19994,1],[19993,1],[19992,1],[19991,1],[19990,1],[19989,1],[19988,1],[19987,1],[19986,1],[19985,1],[19984,1],[19983,1],[19982,1],[19981,1],[19980,1],[19979,1],[19978,1],[19977,1],[19976,1],[19975,1],[19974,1],[19973,1],[19972,1],[19971,1],[19970,1],[19969,1],[19968,1],[19967,1],[19966,1],[19965,1],[19964,1],[19963,1],[19962,1],[19961,1],[19960,1],[19959,1],[19958,1],[19957,1],[19956,1],[19955,1],[19954,1],[19953,1],[19952,1],[19951,1],[19950,1],[19949,1],[19948,1],[19947,1],[19946,1],[19945,1],[19944,1],[19943,1],[19942,1],[19941,1],[19940,1],[19939,1],[19938,1],[19937,1],[19936,1],[19935,1],[19934,1],[19933,1],[19932,1],[19931,1],[19930,1],[19929,1],[19928,1],[19927,1],[19926,1],[19925,1],[19924,1],[19923,1],[19922,1],[19921,1],[19920,1],[19919,1],[19918,1],[19917,1],[19916,1],[19915,1],[19914,1],[19913,1],[19912,1],[19911,1],[19910,1],[19909,1],[19908,1],[19907,1],[19906,1],[19905,1],[19904,1],[19903,1],[19902,1],[19901,1],[19900,1],[19899,1],[19898,1],[19897,1],[19896,1],[19895,1],[19894,1],[19893,1],[19892,1],[19891,1],[19891,0,"b"],[19892,0,"e"],[19893,0,"g"],[19894,0,"i"],[19895,0,"n"],[19896,0,"{"],[19897,0,"p"],[19898,0,"r"],[19899,0,"o"],[19900,0,"o"],[19901,0,"f"],[19902,0,"t"],[19903,0,"r"],[19904,0,"e"],[19905,0,"e"],[19906,0,"}"],[19907,0,"\n"],[19908,0,"\\"],[19909,0,"e"],[19910,0,"n"],[19911,0,"d"],[19912,0,"{"],[19913,0,"p"],[19914,0,"r"],[19915,0,"o"],[19916,0,"o"],[19917,0,"f"],[19918,0,"t"],[19919,0,"r"],[19920,0,"e"],[19921,0,"e"],[19922,0,"}"],[19861,0,"\\"],[19862,0,"s"],[19863,0,"u"],[19864,0,"b"],[19865,0,"s"],[19866,0,"u"],[19867,0,"b"],[19868,0,"s"],[19869,0,"e"],[19870,0,"c"],[19871,0,"t"],[19872,0,"i"],[19873,0,"o"],[19874,0,"n"],[19875,0,"{"],[19876,0,"O"],[19877,0,"p"],[19878,0,"e"],[19879,0,"r"],[19880,0,"a"],[19881,0,"t"],[19882,0,"i"],[19883,0,"o"],[19884,0,"n"],[19885,0," "],[19886,0,"s"],[19887,0,"t"],[19888,0,"r"],[19889,0,"u"],[19890,0,"c"],[19891,0,"t"],[19892,0,"u"],[19893,0,"r"],[19894,0,"e"],[19895,0,"}"],[19896,0,"\n"],[19897,0,"\n"],[19898,0,"A"],[19899,0,"n"],[19900,0," "],[19901,0,"o"],[19902,0,"p"],[19903,0,"e"],[19904,0,"r"],[19905,0,"a"],[19906,0,"t"],[19907,0,"i"],[19908,0,"o"],[19909,0,"n"],[19910,0," "],[19911,0,"i"],[19912,0,"s"],[19913,0," "],[19914,0,"a"],[19915,0," "],[19916,0,"t"],[19917,0,"y"],[19918,0,"p"],[19918,1],[19917,1],[19917,0,"u"],[19918,0,"p"],[19919,0,"l"],[19920,0,"e"],[19921,0," "],[19922,0,"o"],[19923,0,"f"],[19924,0," "],[19925,0,"t"],[19926,0,"h"],[19927,0,"e"],[19928,0," "],[19929,0,"f"],[19930,0,"o"],[19931,0,"r"],[19932,0,"m"],[19933,0,"\n"],[19934,0,"\\"],[19935,0,"["],[19936,0," "],[19937,0,"\\"],[19938,0,"m"],[19939,0,"a"],[19940,0,"t"],[19941,0,"h"],[19942,0,"s"],[19943,0,"f"],[19944,0,"{"],[19945,0,"o"],[19946,0,"p"],[19947,0,"}"],[19948,0,"("],[19949,0,"\\"],[19950,0,"m"],[19951,0,"a"],[19952,0,"t"],[19953,0,"h"],[19954,0,"i"],[19955,0,"t"],[19956,0,"{"],[19957,0,"i"],[19958,0,"d"],[19959,0,"}"],[19960,0,":"],[19961,0," "],[19962,0,"\\"],[19963,0,"m"],[19964,0,"a"],[19965,0,"t"],[19966,0,"h"],[19967,0,"r"],[19968,0,"m"],[19969,0,"{"],[19969,1],[19968,1],[19967,1],[19966,1],[19965,1],[19964,1],[19963,1],[19962,1],[19962,0,"\\"],[19963,0,"m"],[19964,0,"a"],[19965,0,"t"],[19966,0,"h"],[19967,0,"b"],[19968,0,"b"],[19969,0,"{"],[19970,0,"N"],[19971,0,"}"],[19972,0," "],[19973,0,"\\"],[19974,0,"t"],[19975,0,"i"],[19976,0,"m"],[19977,0,"e"],[19978,0,"s"],[19979,0," "],[19980,0,"\\"],[19981,0,"m"],[19982,0,"a"],[19983,0,"t"],[19984,0,"h"],[19985,0,"r"],[19986,0,"m"],[19987,0,"{"],[19988,0,"P"],[19989,0,"e"],[19990,0,"e"],[19991,0,"r"],[19992,0,"I"],[19993,0,"D"],[19994,0,"}"],[19949,0,"\n"],[19950,0," "],[19951,0," "],[19952,0," "],[19953,0," "],[20000,0,","],[20001,0,"\n"],[20002,0," "],[20003,0," "],[20004,0," "],[20005,0," "],[20006,0,"\\"],[20007,0,"m"],[20008,0,"a"],[20009,0,"t"],[20010,0,"h"],[20011,0,"i"],[20012,0,"t"],[20013,0,"{"],[20014,0,"d"],[20015,0,"e"],[20016,0,"p"],[20017,0,"s"],[20018,0,"}"],[20019,0,":"],[20020,0," "],[20021,0,"\\"],[20022,0,"m"],[20023,0,"a"],[20024,0,"t"],[20025,0,"h"],[20026,0,"c"],[20027,0,"a"],[20028,0,"l"],[20029,0,"{"],[20030,0,"P"],[20031,0,"}"],[20032,0,"("],[20033,0," "],[20033,1],[20033,0,"\\"],[20034,0,"m"],[20035,0,"a"],[20036,0,"t"],[20037,0,"h"],[20038,0,"b"],[20039,0,"b"],[20040,0,"{"],[20041,0,"N"],[20042,0,"}"],[20043,0," "],[20044,0,"\\"],[20045,0,"t"],[20046,0,"i"],[20047,0,"m"],[20048,0,"e"],[20049,0,"s"],[20050,0," "],[20051,0,"\\"],[20052,0,"m"],[20053,0,"a"],[20054,0,"t"],[20055,0,"h"],[20056,0,"r"],[20057,0,"m"],[20058,0,"{"],[20059,0,"P"],[20060,0,"e"],[20061,0,"e"],[20062,0,"r"],[20063,0,"I"],[20064,0,"D"],[20065,0,"}"],[20066,0,")"],[20067,0,","],[20068,0,"\n"],[20069,0," "],[20070,0," "],[20071,0," "],[20072,0," "],[20073,0,"\\"],[20074,0,"m"],[20075,0,"a"],[20076,0,"t"],[20077,0,"h"],[20078,0,"i"],[20079,0,"t"],[20080,0,"{"],[20081,0,"c"],[20082,0,"u"],[20083,0,"r"],[20084,0,"}"],[20085,0,":"],[20086,0," "],[20087,0,"\\"],[20088,0,"m"],[20089,0,"a"],[20090,0,"t"],[20091,0,"h"],[20092,0,"s"],[20093,0,"f"],[20094,0,"{"],[20095,0,"c"],[20096,0,"u"],[20097,0,"r"],[20098,0,"s"],[20099,0,"o"],[20100,0,"r"],[20101,0,"}"],[20102,0,"("],[20103,0,"\\"],[20104,0,"l"],[20105,0,"a"],[20106,0,"n"],[20107,0,"g"],[20108,0,"l"],[20109,0,"e"],[20110,0," "],[20111,0,"k"],[20112,0,"_"],[20113,0,"1"],[20114,0,","],[20115,0," "],[20116,0,"\\"],[20117,0,"d"],[20118,0,"o"],[20119,0,"t"],[20120,0,"s"],[20121,0,","],[20122,0," "],[20123,0,"k"],[20124,0,"_"],[20125,0,"{"],[20126,0,"n"],[20127,0,"-"],[20128,0,"1"],[20129,0,"}"],[20130,0," "],[20131,0,"\\"],[20132,0,"r"],[20133,0,"a"],[20134,0,"n"],[20135,0,"g"],[20136,0,"l"],[20137,0,"e"],[20138,0,","],[20139,0,"\\"],[20140,0,","],[20141,0," "],[20142,0,"k"],[20143,0,"_"],[20144,0,"n"],[20145,0,")"],[20146,0,","],[20147,0,"\n"],[20148,0," "],[20149,0," "],[20150,0," "],[20151,0," "],[20152,0,"\\"],[20153,0,"m"],[20154,0,"a"],[20155,0,"t"],[20156,0,"h"],[20157,0,"i"],[20158,0,"t"],[20159,0,"{"],[20160,0,"m"],[20161,0,"u"],[20162,0,"t"],[20163,0,"}"],[19933,0,"\n"],[19934,0,"\\"],[19935,0,"b"],[19936,0,"e"],[19937,0,"g"],[19938,0,"i"],[19939,0,"n"],[19940,0,"{"],[19941,0,"a"],[19942,0,"l"],[19943,0,"i"],[19944,0,"g"],[19945,0,"n"],[19946,0,"a"],[19947,0,"t"],[19948,0,"*"],[19949,0,"}"],[19950,0,"{"],[19951,0,"2"],[19952,0,"}"],[19954,1],[19954,1],[19954,0,"&"],[20184,0,"&"],[20185,0," "],[20186,0,")"],[20187,0,"\n"],[20188,0,"\\"],[20189,0,"e"],[20190,0,"n"],[20191,0,"d"],[20192,0,"{"],[20193,0,"a"],[20194,0,"l"],[20195,0,"i"],[20196,0,"g"],[20197,0,"n"],[20198,0,"a"],[20199,0,"t"],[20200,0,"*"],[20201,0,"}"],[20202,0,"\n"],[19968,0," "],[19969,0,"\\"],[19970,0,"\\"],[19972,1],[19972,1],[19972,1],[19972,0,"&"],[19973,0,"&"],[20023,1],[20023,1],[20023,1],[20023,0,"&"],[20024,0,"&"],[20089,1],[20089,1],[20089,1],[20089,0,"&"],[20090,0,"&"],[20167,1],[20167,1],[20167,1],[20167,0,"&"],[20168,0,"&"],[19986,0," "],[19987,0,"&"],[20041,0," "],[20042,0,"&"],[20108,0," "],[20109,0,"&"],[20188,0," "],[20189,0,"&"],[20190,0,":"],[20191,0," "],[20192,0,"\\"],[20193,0,"m"],[20194,0,"a"],[20195,0,"t"],[20196,0,"h"],[20197,0,"s"],[20198,0,"f"],[20199,0,"{"],[20200,0,"i"],[20201,0,"n"],[20202,0,"s"],[20203,0,"e"],[20204,0,"r"],[20205,0,"t"],[20206,0,"}"],[20207,0,"("],[20208,0,"v"],[20209,0,")"],[20210,0," "],[20211,0,"\\"],[20212,0,"m"],[20213,0,"i"],[20214,0,"d"],[20215,0," "],[20216,0,"\\"],[20217,0,"m"],[20218,0,"a"],[20219,0,"t"],[20220,0,"h"],[20221,0,"s"],[20222,0,"f"],[20223,0,"{"],[20224,0,"d"],[20225,0,"e"],[20226,0,"l"],[20227,0,"e"],[20228,0,"t"],[20229,0,"e"],[20230,0,"}"],[20231,0," "],[20232,0,"\\"],[20233,0," "],[20233,1],[20233,0,"m"],[20234,0,"i"],[20235,0,"d"],[20236,0," "],[20237,0,"\\"],[20238,0,"m"],[20239,0,"a"],[20240,0,"t"],[20241,0,"h"],[20242,0,"s"],[20243,0,"f"],[20244,0,"{"],[20245,0,"a"],[20246,0,"s"],[20247,0,"s"],[20248,0,"i"],[20249,0,"g"],[20250,0,"n"],[20251,0,"}"],[20252,0,"("],[20253,0,"v"],[20254,0,")"],[20255,0," "],[20256,0,"\\"],[20257,0,"\\"],[20172,0," "],[20173,0,"\\"],[20174,0,"\\"],[20092,0," "],[20093,0,"\\"],[20094,0,"\\"],[20024,0," "],[20025,0,"\\"],[20026,0,"\\"],[20315,0,"%"],[20334,0,"%"],[20286,0,"\n"],[20287,0,"w"],[20288,0,"h"],[20289,0,"e"],[20290,0,"r"],[20291,0,"e"],[20292,0," "],[20293,0,"\\"],[20294,0,"t"],[20294,1],[20293,1],[20293,0,"$"],[20294,0,"\\"],[20295,0,"m"],[20296,0,"a"],[20297,0,"t"],[20298,0,"h"],[20299,0,"i"],[20300,0,"t"],[20301,0,"{"],[20302,0,"i"],[20303,0,"d"],[20304,0,"}"],[20305,0,"$"],[20306,0," "],[20307,0,"i"],[20308,0,"s"],[20309,0," "],[20310,0,"t"],[20311,0,"h"],[20312,0,"e"],[20313,0," "],[20314,0,"L"],[20315,0,"a"],[20316,0,"m"],[20317,0,"p"],[20318,0,"o"],[20319,0,"r"],[20320,0,"t"],[20321,0," "],[20322,0,"t"],[20323,0,"i"],[20324,0,"m"],[20325,0,"e"],[20326,0,"s"],[20327,0,"t"],[20328,0,"a"],[20329,0,"m"],[20330,0,"p"],[20331,0," "],[20332,0,"t"],[20333,0,"h"],[20334,0,"a"],[20335,0,"t"],[20336,0," "],[20337,0,"u"],[20338,0,"n"],[20339,0,"i"],[20340,0,"q"],[20341,0,"u"],[20342,0,"e"],[20343,0,"l"],[20344,0,"y"],[20345,0," "],[20346,0,"i"],[20347,0,"d"],[20348,0,"e"],[20349,0,"n"],[20350,0,"t"],[20351,0,"i"],[20352,0,"f"],[20353,0,"i"],[20354,0,"e"],[20355,0,"s"],[20356,0," "],[20357,0,"t"],[20358,0,"h"],[20359,0,"e"],[20360,0," "],[20361,0,"o"],[20362,0,"p"],[20363,0,"e"],[20364,0,"r"],[20365,0,"a"],[20366,0,"t"],[20367,0,"i"],[20368,0,"o"],[20369,0,"n"],[20370,0,","],[20371,0," "],[20372,0,"$"],[20373,0,"\\"],[20374,0,"m"],[20375,0,"a"],[20376,0,"t"],[20377,0,"h"],[20378,0,"i"],[20379,0,"t"],[20380,0,"{"],[20381,0,"c"],[20382,0,"u"],[20383,0,"r"],[20384,0,"}"],[20385,0,"$"],[20386,0," "],[20387,0,"i"],[20388,0,"s"],[20389,0," "],[20390,0,"t"],[20391,0,"h"],[20392,0,"e"],[20393,0," "],[20394,0,"c"],[20395,0,"u"],[20396,0,"r"],[20397,0,"s"],[20398,0,"o"],[20399,0,"r"],[20400,0," "],[20401,0,"d"],[20402,0,"e"],[20403,0,"s"],[20404,0,"c"],[20405,0,"r"],[20406,0,"i"],[20407,0,"b"],[20408,0,"i"],[20409,0,"n"],[20410,0,"g"],[20411,0," "],[20412,0,"t"],[20413,0,"h"],[20414,0,"e"],[20415,0," "],[20416,0,"p"],[20417,0,"o"],[20418,0,"s"],[20419,0,"i"],[20420,0,"t"],[20421,0,"i"],[20422,0,"o"],[20423,0,"n"],[20424,0," "],[20425,0,"i"],[20426,0,"n"],[20427,0," "],[20428,0,"t"],[20429,0,"h"],[20430,0,"e"],[20431,0," "],[20432,0,"d"],[20433,0,"o"],[20434,0,"c"],[20435,0,"u"],[20436,0,"m"],[20437,0,"e"],[20438,0,"n"],[20439,0,"t"],[20440,0," "],[20441,0,"b"],[20442,0,"e"],[20443,0,"i"],[20444,0,"n"],[20445,0,"g"],[20446,0," "],[20447,0,"m"],[20448,0,"o"],[20449,0,"d"],[20450,0,"i"],[20451,0,"f"],[20452,0,"i"],[20453,0,"e"],[20454,0,"d"],[20455,0,","],[20456,0," "],[20457,0,"a"],[20458,0,"n"],[20459,0,"d"],[20460,0," "],[20461,0,"$"],[20462,0,"\\"],[20463,0,"m"],[20464,0,"a"],[20465,0,"t"],[20466,0,"h"],[20467,0,"i"],[20468,0,"t"],[20469,0,"{"],[20470,0,"m"],[20471,0,"u"],[20472,0,"t"],[20473,0,"}"],[20474,0,"$"],[20475,0," "],[20476,0,"i"],[20477,0,"s"],[20478,0," "],[20479,0,"t"],[20480,0,"h"],[20481,0,"e"],[20482,0," "],[20483,0,"m"],[20484,0,"u"],[20485,0,"t"],[20486,0,"a"],[20487,0,"t"],[20488,0,"i"],[20489,0,"o"],[20490,0,"n"],[20491,0," "],[20492,0,"t"],[20493,0,"h"],[20494,0,"a"],[20495,0,"t"],[20496,0," "],[20497,0,"s"],[20498,0,"h"],[20499,0,"o"],[20500,0,"u"],[20501,0,"l"],[20502,0,"d"],[20503,0," "],[20504,0,"o"],[20505,0,"c"],[20506,0,"c"],[20507,0,"u"],[20508,0,"r"],[20509,0," "],[20509,1],[20508,1],[20507,1],[20506,1],[20505,1],[20504,1],[20503,1],[20502,1],[20501,1],[20500,1],[20499,1],[20498,1],[20497,1],[20497,0,"w"],[20498,0,"a"],[20499,0,"s"],[20500,0," "],[20501,0,"r"],[20502,0,"e"],[20503,0,"q"],[20504,0,"u"],[20505,0,"e"],[20506,0,"s"],[20507,0,"t"],[20508,0,"e"],[20509,0,"d"],[20510,0," "],[20511,0,"a"],[20512,0,"t"],[20513,0," "],[20514,0,"t"],[20515,0,"h"],[20516,0,"e"],[20517,0," "],[20518,0,"s"],[20519,0,"p"],[20520,0,"e"],[20521,0,"c"],[20522,0,"i"],[20523,0,"f"],[20524,0,"i"],[20525,0,"e"],[20526,0,"d"],[20527,0," "],[20528,0,"p"],[20529,0,"o"],[20530,0,"s"],[20531,0,"i"],[20532,0,"t"],[20533,0,"i"],[20534,0,"o"],[20535,0,"n"],[20536,0,"."],[20537,0,"\n"],[20538,0,"\n"],[20539,0,"$"],[20540,0,"\\"],[20541,0,"m"],[20542,0,"a"],[20543,0,"t"],[20544,0,"h"],[20545,0,"i"],[20546,0,"t"],[20547,0,"{"],[20548,0,"d"],[20549,0,"e"],[20550,0,"p"],[20551,0,"s"],[20552,0,"}"],[20553,0,"$"],[20554,0," "],[20555,0,"i"],[20556,0,"s"],[20557,0," "],[20558,0,"t"],[20559,0,"h"],[20560,0,"e"],[20561,0," "],[20562,0,"s"],[20563,0,"e"],[20564,0,"t"],[20565,0," "],[20566,0,"o"],[20567,0,"f"],[20568,0," "],[20569,0,"c"],[20570,0,"a"],[20571,0,"u"],[20572,0,"s"],[20573,0,"a"],[20574,0,"l"],[20575,0," "],[20576,0,"d"],[20577,0,"e"],[20578,0,"p"],[20579,0,"e"],[20580,0,"n"],[20581,0,"d"],[20582,0,"e"],[20583,0,"n"],[20584,0,"c"],[20585,0,"i"],[20586,0,"e"],[20587,0,"s"],[20588,0," "],[20589,0,"o"],[20590,0,"f"],[20591,0," "],[20592,0,"t"],[20593,0,"h"],[20594,0,"e"],[20595,0," "],[20596,0,"o"],[20597,0,"p"],[20598,0,"e"],[20599,0,"r"],[20600,0,"a"],[20601,0,"t"],[20602,0,"i"],[20603,0,"o"],[20604,0,"n"],[20605,0,","],[20606,0," "],[20607,0,"g"],[20608,0,"i"],[20609,0,"v"],[20610,0,"e"],[20611,0,"n"],[20612,0," "],[20613,0,"a"],[20614,0,"s"],[20615,0," "],[20616,0,"a"],[20617,0," "],[20618,0,"s"],[20619,0,"e"],[20620,0,"t"],[20621,0," "],[20622,0,"o"],[20623,0,"f"],[20624,0," "],[20625,0,"L"],[20626,0,"a"],[20627,0,"m"],[20628,0,"p"],[20629,0,"o"],[20630,0,"r"],[20631,0,"t"],[20632,0," "],[20633,0,"t"],[20634,0,"i"],[20635,0,"m"],[20636,0,"e"],[20637,0,"s"],[20638,0,"t"],[20639,0,"a"],[20640,0,"m"],[20641,0,"p"],[20642,0,"s"],[20643,0,"."],[20644,0," "],[20645,0,"T"],[20646,0,"h"],[20647,0,"e"],[20648,0," "],[20649,0,"s"],[20650,0,"e"],[20651,0,"m"],[20652,0,"a"],[20653,0,"n"],[20654,0,"t"],[20655,0,"i"],[20656,0,"c"],[20657,0,"s"],[20658,0," "],[20659,0,"b"],[20660,0,"e"],[20661,0,"l"],[20662,0,"o"],[20663,0,"w"],[20664,0," "],[20665,0,"d"],[20666,0,"e"],[20667,0,"f"],[20668,0,"i"],[20669,0,"n"],[20670,0,"e"],[20671,0," "],[20672,0,"t"],[20673,0,"h"],[20674,0,"i"],[20675,0,"s"],[20676,0," "],[20677,0,"="],[20677,1],[20676,1],[20675,1],[20674,1],[20673,1],[20672,1],[20672,0,"$"],[20673,0,"\\"],[20674,0,"m"],[20675,0,"a"],[20676,0,"t"],[20677,0,"h"],[20678,0,"i"],[20679,0,"t"],[20680,0,"{"],[20681,0,"d"],[20682,0,"e"],[20683,0,"p"],[20684,0,"s"],[20685,0,"}"],[20686,0,"$"],[20687,0," "],[20688,0,"t"],[20689,0,"o"],[20690,0," "],[20691,0,"b"],[20692,0,"e"],[20693,0," "],[20694,0,"t"],[20695,0,"h"],[20696,0,"e"],[20697,0," "],[20698,0,"s"],[20699,0,"e"],[20700,0,"t"],[20701,0," "],[20702,0,"o"],[20703,0,"f"],[20704,0," "],[20705,0,"o"],[20706,0,"p"],[20707,0,"e"],[20708,0,"r"],[20709,0,"a"],[20710,0,"t"],[20711,0,"i"],[20712,0,"o"],[20713,0,"n"],[20714,0," "],[20715,0,"I"],[20716,0,"D"],[20717,0,"s"],[20718,0," "],[20704,0," "],[20705,0,"a"],[20706,0,"l"],[20707,0,"l"],[20723,0,"t"],[20724,0,"h"],[20725,0,"a"],[20726,0,"t"],[20727,0," "],[20728,0,"h"],[20729,0,"a"],[20730,0,"d"],[20731,0," "],[20732,0,"b"],[20733,0,"e"],[20734,0,"e"],[20735,0,"n"],[20736,0," "],[20737,0,"a"],[20738,0,"p"],[20739,0,"p"],[20740,0,"l"],[20741,0,"i"],[20742,0,"e"],[20743,0,"d"],[20744,0," "],[20745,0,"t"],[20746,0,"o"],[20747,0," "],[20748,0,"t"],[20749,0,"h"],[20750,0,"e"],[20751,0," "],[20752,0,"d"],[20753,0,"o"],[20754,0,"c"],[20755,0,"u"],[20756,0,"m"],[20757,0,"e"],[20758,0,"n"],[20759,0,"t"],[20760,0," "],[20761,0,"a"],[20762,0,"t"],[20763,0," "],[20764,0,"t"],[20765,0,"h"],[20766,0,"e"],[20767,0," "],[20768,0,"t"],[20769,0,"i"],[20770,0,"m"],[20771,0,"e"],[20772,0," "],[20773,0,"w"],[20774,0,"h"],[20775,0,"e"],[20776,0,"n"],[20777,0," "],[20778,0,"t"],[20779,0,"h"],[20780,0,"e"],[20781,0," "],[20782,0,"o"],[20783,0,"p"],[20784,0,"e"],[20785,0,"r"],[20786,0,"a"],[20787,0,"t"],[20788,0,"i"],[20789,0,"o"],[20790,0,"n"],[20791,0," "],[20792,0,"w"],[20793,0,"a"],[20794,0,"s"],[20795,0," "],[20796,0,"g"],[20797,0,"e"],[20798,0,"n"],[20799,0,"e"],[20800,0,"r"],[20801,0,"a"],[20802,0,"t"],[20803,0,"e"],[20804,0,"d"],[20805,0,"."],[20806,0," "],[20807,0,"I"],[20808,0,"n"],[20809,0," "],[20810,0,"a"],[20811,0," "],[20812,0,"r"],[20813,0,"e"],[20814,0,"a"],[20815,0,"l"],[20816,0," "],[20817,0,"i"],[20818,0,"m"],[20819,0,"p"],[20820,0,"l"],[20821,0,"e"],[20822,0,"m"],[20823,0,"e"],[20824,0,"n"],[20825,0,"t"],[20826,0,"a"],[20827,0,"t"],[20828,0,"i"],[20829,0,"o"],[20830,0,"n"],[20831,0,","],[20832,0," "],[20833,0,"t"],[20834,0,"h"],[20835,0,"i"],[20836,0,"s"],[20837,0," "],[20838,0,"s"],[20839,0,"e"],[20840,0,"t"],[20841,0," "],[20842,0,"w"],[20843,0,"o"],[20844,0,"u"],[20845,0,"l"],[20846,0,"d"],[20847,0," "],[20848,0,"b"],[20849,0,"e"],[20850,0,"c"],[20851,0,"o"],[20852,0,"m"],[20853,0,"e"],[20854,0," "],[20855,0,"i"],[20856,0,"m"],[20857,0,"p"],[20858,0,"r"],[20859,0,"a"],[20860,0,"c"],[20861,0,"t"],[20862,0,"i"],[20863,0,"c"],[20864,0,"a"],[20865,0,"b"],[20866,0,"l"],[20867,0,"y"],[20868,0," "],[20869,0,"l"],[20870,0,"a"],[20871,0,"r"],[20872,0,"g"],[20873,0,"e"],[20874,0,","],[20875,0," "],[20876,0,"s"],[20877,0,"o"],[20878,0," "],[20879,0,"a"],[20880,0," "],[20881,0,"c"],[20882,0,"o"],[20883,0,"m"],[20884,0,"p"],[20885,0,"a"],[20886,0,"c"],[20887,0,"t"],[20888,0," "],[20889,0,"r"],[20890,0,"e"],[20891,0,"p"],[20892,0,"r"],[20893,0,"e"],[20894,0,"s"],[20895,0,"e"],[20896,0,"n"],[20897,0,"t"],[20898,0,"a"],[20899,0,"t"],[20900,0,"i"],[20901,0,"o"],[20902,0,"n"],[20903,0," "],[20904,0,"o"],[20905,0,"f"],[20906,0," "],[20907,0,"c"],[20908,0,"a"],[20909,0,"u"],[20910,0,"s"],[20911,0,"a"],[20912,0,"l"],[20913,0," "],[20914,0,"h"],[20915,0,"i"],[20916,0,"s"],[20917,0,"t"],[20918,0,"o"],[20919,0,"r"],[20920,0,"y"],[20921,0," "],[20922,0,"s"],[20923,0,"u"],[20924,0,"c"],[20925,0,"h"],[20926,0," "],[20926,1],[20925,1],[20924,1],[20923,1],[20922,1],[20922,0,"w"],[20923,0,"o"],[20924,0,"u"],[20925,0,"l"],[20926,0,"d"],[20927,0," "],[20928,0,"b"],[20929,0,"e"],[20930,0," "],[20931,0,"u"],[20932,0,"s"],[20933,0,"e"],[20934,0,"d"],[20935,0," "],[20936,0,"i"],[20937,0,"n"],[20938,0,"s"],[20939,0,"t"],[20940,0,"e"],[20941,0,"a"],[20942,0,"d"],[20943,0," "],[20944,0,"-"],[20945,0,"-"],[20946,0," "],[20947,0,"f"],[20948,0,"o"],[20949,0,"r"],[20950,0," "],[20951,0,"e"],[20952,0,"x"],[20953,0,"a"],[20954,0,"m"],[20955,0,"p"],[20956,0,"l"],[20957,0,"e"],[20958,0,","],[20959,0," "],[20960,0,"v"],[20961,0,"e"],[20962,0,"r"],[20963,0,"s"],[20964,0,"i"],[20965,0,"o"],[20966,0,"n"],[20967,0," "],[20968,0,"v"],[20969,0,"e"],[20970,0,"c"],[20971,0,"t"],[20972,0,"o"],[20973,0,"r"],[20974,0,"s"],[20975,0," "],[20976,0,"o"],[20977,0,"r"],[20978,0," "],[20979,0,"d"],[20980,0,"o"],[20981,0,"t"],[20982,0,"t"],[20983,0,"e"],[20984,0,"d"],[20985,0," "],[20986,0,"v"],[20987,0,"e"],[20988,0,"r"],[20989,0,"s"],[20990,0,"i"],[20991,0,"o"],[20992,0,"n"],[20993,0," "],[20994,0,"v"],[20995,0,"e"],[20996,0,"c"],[20997,0,"t"],[20998,0,"o"],[20999,0,"r"],[21000,0,"s"],[21001,0," "],[21002,0,"("],[21003,0,"T"],[21004,0,"O"],[21005,0,"D"],[21006,0,"O"],[21007,0," "],[21008,0,"i"],[21008,1],[21008,0,"c"],[21009,0,"i"],[21010,0,"t"],[21011,0,"a"],[21012,0,"t"],[21013,0,"i"],[21014,0,"o"],[21015,0,"n"],[21016,0,"s"],[21017,0,")"],[21018,0,"."],[21019,0," "],[21020,0,"H"],[21021,0,"o"],[21022,0,"w"],[21023,0,"e"],[21024,0,"v"],[21025,0,"e"],[21026,0,"r"],[21027,0,","],[21028,0," "],[21029,0,"i"],[21030,0,"n"],[21031,0," "],[21032,0,"o"],[21033,0,"u"],[21034,0,"r"],[21035,0," "],[21036,0,"a"],[21037,0,"b"],[21038,0,"s"],[21039,0,"t"],[21040,0,"r"],[21041,0,"a"],[21042,0,"c"],[21043,0,"t"],[21044,0," "],[21045,0,"p"],[21046,0,"r"],[21047,0,"e"],[21048,0,"s"],[21049,0,"e"],[21050,0,"n"],[21051,0,"t"],[21052,0,"a"],[21053,0,"t"],[21054,0,"i"],[21055,0,"o"],[21056,0,"n"],[21057,0," "],[21058,0,"o"],[21059,0,"f"],[21060,0," "],[21061,0,"t"],[21062,0,"h"],[21063,0,"e"],[21064,0," "],[21065,0,"s"],[21066,0,"e"],[21067,0,"m"],[21068,0,"a"],[21069,0,"n"],[21070,0,"t"],[21071,0,"i"],[21072,0,"c"],[21073,0,"s"],[21074,0," "],[21075,0,"w"],[21076,0,"e"],[21077,0," "],[21078,0,"g"],[21079,0,"i"],[21080,0,"v"],[21081,0,"e"],[21082,0," "],[21083,0,"t"],[21084,0,"h"],[21085,0,"e"],[21086,0," "],[21087,0,"d"],[21088,0,"e"],[21089,0,"p"],[21090,0,"e"],[21091,0,"n"],[21092,0,"d"],[21093,0,"e"],[21094,0,"n"],[21095,0,"c"],[21096,0,"i"],[21097,0,"e"],[21098,0,"s"],[21099,0," "],[21100,0,"a"],[21101,0,"s"],[21102,0," "],[21103,0,"a"],[21104,0," "],[21105,0,"s"],[21106,0,"e"],[21107,0,"t"],[21108,0," "],[21109,0,"o"],[21110,0,"f"],[21111,0," "],[21112,0,"o"],[21113,0,"p"],[21114,0,"e"],[21115,0,"r"],[21116,0,"a"],[21117,0,"t"],[21118,0,"i"],[21119,0,"o"],[21120,0,"n"],[21121,0," "],[21122,0,"I"],[21123,0,"D"],[21124,0,"s"],[21125,0," "],[21126,0,"s"],[21127,0,"i"],[21128,0,"n"],[21129,0,"c"],[21130,0," "],[21131,0,"e"],[21131,1],[21130,1],[21130,0,"e"],[21131,0,"."],[21131,1],[21130,1],[21129,1],[21128,1],[21127,1],[21126,1],[21125,1],[21124,1],[21124,0,"s"],[21125,0,"."],[21026,1],[21025,1],[21024,1],[21023,1],[21022,1],[21021,1],[21020,1],[21020,1],[21020,0,"T"],[21021,0,"o"],[21022,0," "],[21023,0,"a"],[21024,0,"v"],[21025,0,"o"],[21026,0,"i"],[21027,0,"d"],[21028,0," "],[21029,0,"a"],[21030,0,"m"],[21031,0,"b"],[21032,0,"i"],[21033,0,"g"],[21034,0,"u"],[21035,0,"i"],[21036,0,"t"],[21037,0,"y"],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21046,1],[21020,0,"H"],[21021,0,"o"],[21022,0,"w"],[21023,0,"e"],[21024,0,"v"],[21025,0,"e"],[21026,0,"r"],[21027,0,","],[21028,0," "],[21029,1],[21029,0,"t"],[21055,1],[21055,1],[21055,1],[21055,1],[21094,0," "],[21095,0,"s"],[21096,0,"i"],[21097,0,"m"],[21098,0,"p"],[21099,0,"l"],[21100,0,"e"],[21123,0,"\n"],[21124,0,"\n"],[21125,0,"T"],[21126,0,"h"],[21127,0,"e"],[21128,0," "],[21129,0,"p"],[21130,0,"u"],[21131,0,"r"],[21132,0,"p"],[21133,0,"o"],[21134,0,"s"],[21135,0,"e"],[21136,0," "],[21137,0,"o"],[21138,0,"f"],[21139,0," "],[21140,0,"t"],[21141,0,"h"],[21142,0,"e"],[21143,0," "],[21144,0,"c"],[21145,0,"a"],[21146,0,"u"],[21147,0,"s"],[21148,0,"a"],[21149,0,"l"],[21150,0," "],[21151,0,"d"],[21152,0,"e"],[21153,0,"p"],[21154,0,"e"],[21155,0,"n"],[21156,0,"d"],[21157,0,"e"],[21158,0,"n"],[21159,0,"c"],[21160,0,"i"],[21161,0,"e"],[21162,0,"s"],[21163,0," "],[21164,0,"$"],[21165,0,"\\"],[21166,0,"m"],[21167,0,"a"],[21168,0,"t"],[21169,0,"h"],[21170,0,"i"],[21171,0,"t"],[21172,0,"{"],[21173,0,"d"],[21174,0,"e"],[21175,0,"p"],[21176,0,"s"],[21177,0,"}"],[21178,0,"$"],[21179,0," "],[21180,0,"i"],[21181,0,"s"],[21182,0," "],[21183,0,"t"],[21184,0,"o"],[21185,0," "],[21186,0,"i"],[21187,0,"m"],[21188,0,"p"],[21189,0,"o"],[21190,0,"s"],[21191,0,"e"],[21192,0," "],[21193,0,"a"],[21194,0," "],[21195,0,"p"],[21196,0,"a"],[21197,0,"r"],[21198,0,"t"],[21199,0,"i"],[21200,0,"a"],[21201,0,"l"],[21202,0," "],[21203,0,"o"],[21204,0,"r"],[21205,0,"d"],[21206,0,"e"],[21207,0,"r"],[21208,0,"i"],[21209,0,"n"],[21210,0,"g"],[21211,0," "],[21212,0,"o"],[21213,0,"n"],[21214,0," "],[21215,0,"o"],[21216,0,"p"],[21217,0,"e"],[21218,0,"r"],[21219,0,"a"],[21220,0,"t"],[21221,0,"i"],[21222,0,"o"],[21223,0,"n"],[21224,0,"s"],[21225,0,":"],[21226,0," "],[21227,0,"a"],[21228,0,"n"],[21229,0," "],[21230,0,"o"],[21231,0,"p"],[21232,0,"e"],[21233,0,"r"],[21234,0,"a"],[21235,0,"t"],[21236,0,"i"],[21237,0,"o"],[21238,0,"n"],[21239,0," "],[21240,0,"c"],[21241,0,"a"],[21242,0,"n"],[21243,0," "],[21244,0,"o"],[21245,0,"n"],[21246,0,"l"],[21247,0,"y"],[21248,0," "],[21249,0,"b"],[21250,0,"e"],[21251,0," "],[21252,0,"a"],[21253,0,"p"],[21254,0,"p"],[21255,0,"l"],[21256,0,"i"],[21257,0,"e"],[21258,0,"d"],[21259,0," "],[21260,0,"a"],[21261,0,"f"],[21262,0,"t"],[21263,0,"e"],[21264,0,"r"],[21265,0," "],[21266,0,"a"],[21267,0,"l"],[21268,0,"l"],[21269,0," "],[21270,0,"o"],[21271,0,"p"],[21272,0,"e"],[21273,0,"r"],[21274,0,"a"],[21275,0,"t"],[21276,0,"i"],[21277,0,"o"],[21278,0,"n"],[21279,0,"s"],[21280,0," "],[21281,0,"t"],[21282,0,"h"],[21283,0,"a"],[21284,0,"t"],[21285,0," "],[21286,0,"`"],[21287,0,"`"],[21288,0,"h"],[21289,0,"a"],[21290,0,"p"],[21291,0,"p"],[21292,0,"e"],[21293,0,"n"],[21294,0,"e"],[21295,0,"d"],[21296,0," "],[21297,0,"b"],[21298,0,"e"],[21299,0,"f"],[21300,0,"o"],[21301,0,"r"],[21302,0,"e"],[21303,0,"'"],[21304,0,"'"],[21305,0," "],[21306,0,"i"],[21307,0,"t"],[21308,0," "],[21309,0,"h"],[21310,0,"a"],[21311,0,"v"],[21312,0,"e"],[21313,0," "],[21314,0,"b"],[21315,0,"e"],[21316,0,"e"],[21317,0,"n"],[21318,0," "],[21319,0,"a"],[21320,0,"p"],[21321,0,"p"],[21322,0,"l"],[21323,0,"i"],[21324,0,"e"],[21325,0,"d"],[21326,0,"."],[21327,0," "],[21328,0,"I"],[21329,0,"n"],[21330,0," "],[21331,0,"p"],[21332,0,"a"],[21333,0,"r"],[21334,0,"t"],[21335,0,"i"],[21336,0,"c"],[21337,0,"u"],[21338,0,"l"],[21339,0,"a"],[21340,0,"r"],[21341,0,","],[21342,0," "],[21343,0,"t"],[21344,0,"h"],[21345,0,"i"],[21346,0,"s"],[21347,0," "],[21348,0,"m"],[21349,0,"e"],[21350,0,"a"],[21351,0,"n"],[21352,0,"s"],[21353,0," "],[21354,0,"t"],[21355,0,"h"],[21356,0,"a"],[21357,0,"t"],[21358,0," "],[21359,0,"t"],[21360,0,"h"],[21361,0,"e"],[21362,0," "],[21363,0,"s"],[21364,0,"e"],[21365,0,"q"],[21366,0,"u"],[21367,0,"e"],[21368,0,"n"],[21369,0,"c"],[21370,0,"e"],[21371,0," "],[21372,0,"o"],[21373,0,"f"],[21374,0," "],[21375,0,"o"],[21376,0,"p"],[21377,0,"e"],[21378,0,"r"],[21379,0,"a"],[21380,0,"t"],[21381,0,"i"],[21382,0,"o"],[21383,0,"n"],[21384,0,"s"],[21385,0," "],[21386,0,"g"],[21387,0,"e"],[21388,0,"n"],[21389,0,"e"],[21390,0,"r"],[21391,0,"a"],[21392,0,"t"],[21393,0,"e"],[21394,0,"d"],[21395,0," "],[21396,0,"a"],[21397,0,"t"],[21398,0," "],[21399,0,"o"],[21400,0,"n"],[21401,0,"e"],[21402,0," "],[21403,0,"p"],[21404,0,"a"],[21405,0,"r"],[21406,0,"t"],[21407,0,"i"],[21408,0,"c"],[21409,0,"u"],[21410,0,"l"],[21411,0,"a"],[21412,0,"r"],[21413,0," "],[21414,0,"p"],[21415,0,"e"],[21416,0,"e"],[21417,0,"r"],[21418,0," "],[21419,0,"w"],[21420,0,"i"],[21421,0,"l"],[21422,0,"l"],[21423,0," "],[21424,0,"b"],[21425,0,"e"],[21426,0," "],[21427,0,"a"],[21428,0,"p"],[21429,0,"p"],[21430,0,"l"],[21431,0,"i"],[21432,0,"e"],[21433,0,"d"],[21434,0," "],[21435,0,"i"],[21436,0,"n"],[21437,0," "],[21438,0,"t"],[21439,0,"h"],[21440,0,"e"],[21441,0," "],[21442,0,"s"],[21443,0,"a"],[21444,0,"m"],[21445,0,"e"],[21446,0," "],[21447,0,"o"],[21448,0,"r"],[21449,0,"d"],[21450,0,"e"],[21451,0,"r"],[21452,0," "],[21453,0,"a"],[21454,0,"t"],[21455,0," "],[21456,0,"e"],[21457,0,"v"],[21458,0,"e"],[21459,0,"r"],[21460,0,"y"],[21461,0," "],[21462,0,"o"],[21463,0,"t"],[21464,0,"h"],[21465,0,"e"],[21466,0,"r"],[21467,0," "],[21468,0,"p"],[21469,0,"e"],[21470,0,"e"],[21471,0,"r"],[21472,0,"."],[21473,0," "],[21474,0,"O"],[21475,0,"p"],[21476,0,"e"],[21477,0,"r"],[21478,0,"a"],[21479,0,"t"],[21480,0,"i"],[21481,0,"o"],[21482,0,"n"],[21483,0,"s"],[21484,0," "],[21485,0,"t"],[21486,0,"h"],[21487,0,"a"],[21488,0,"t"],[21489,0," "],[21490,0,"a"],[21491,0,"r"],[21492,0,"e"],[21493,0," "],[21494,0,"c"],[21495,0,"o"],[21496,0,"n"],[21497,0,"c"],[21498,0,"u"],[21499,0,"r"],[21500,0,"r"],[21501,0,"e"],[21502,0,"n"],[21503,0,"t"],[21504,0," "],[21504,1],[21504,0,","],[21505,0," "],[21506,0,"i"],[21507,0,"."],[21508,0,"e"],[21509,0,"."],[21510,0," "],[21511,0,"w"],[21512,0,"h"],[21513,0,"e"],[21514,0,"r"],[21515,0,"e"],[21516,0," "],[21517,0,"t"],[21518,0,"h"],[21519,0,"e"],[21520,0,"r"],[21521,0,"e"],[21522,0," "],[21523,0,"i"],[21524,0,"s"],[21525,0," "],[21526,0,"n"],[21527,0,"o"],[21528,0," "],[21529,0,"c"],[21530,0,"a"],[21531,0,"u"],[21532,0,"s"],[21533,0,"a"],[21534,0,"l"],[21535,0," "],[21536,0,"d"],[21537,0,"e"],[21538,0,"p"],[21539,0,"e"],[21540,0,"n"],[21541,0,"d"],[21542,0,"e"],[21543,0,"n"],[21544,0,"c"],[21545,0,"y"],[21546,0,","],[21547,0," "],[21548,0,"c"],[21549,0,"a"],[21550,0,"n"],[21551,0," "],[21552,0,"b"],[21553,0,"e"],[21554,0," "],[21555,0,"a"],[21556,0,"p"],[21557,0,"p"],[21558,0,"l"],[21559,0,"i"],[21560,0,"e"],[21561,0,"d"],[21562,0," "],[21563,0,"i"],[21564,0,"n"],[21565,0," "],[21566,0,"a"],[21567,0,"n"],[21568,0,"y"],[21569,0," "],[21570,0,"o"],[21571,0,"r"],[21572,0,"d"],[21573,0,"e"],[21574,0,"r"],[21575,0,"."],[21576,0,"\n"],[21577,0,"\n"],[21578,0,"\\"],[21579,0,"s"],[21580,0,"u"],[21581,0,"b"],[21582,0,"s"],[21583,0,"u"],[21584,0,"b"],[21585,0,"s"],[21586,0,"e"],[21587,0,"c"],[21588,0,"t"],[21589,0,"i"],[21590,0,"o"],[21591,0,"n"],[21592,0,"{"],[21593,0,"S"],[21594,0,"e"],[21595,0,"m"],[21596,0,"a"],[21597,0,"n"],[21598,0,"t"],[21599,0,"i"],[21600,0,"c"],[21601,0,"s"],[21602,0," "],[21603,0,"o"],[21604,0,"f"],[21605,0," "],[21606,0,"g"],[21607,0,"e"],[21608,0,"n"],[21609,0,"e"],[21610,0,"r"],[21611,0,"a"],[21612,0,"t"],[21613,0,"i"],[21614,0,"n"],[21615,0,"g"],[21616,0," "],[21617,0,"o"],[21618,0,"p"],[21619,0,"e"],[21620,0,"r"],[21621,0,"a"],[21622,0,"t"],[21623,0,"i"],[21624,0,"o"],[21625,0,"n"],[21626,0,"s"],[21627,0,"}"],[22993,0,"\n"],[22994,0,"\n"],[22995,0,"T"],[22996,0,"h"],[22997,0,"e"],[22998,0," "],[22999,0,"f"],[23000,0,"o"],[23001,0,"r"],[23002,0,"m"],[23003,0,"a"],[23004,0,"l"],[23005,0," "],[23006,0,"e"],[23007,0,"v"],[23008,0,"a"],[23009,0,"l"],[23010,0,"u"],[23011,0,"a"],[23012,0,"t"],[23013,0,"i"],[23014,0,"o"],[23015,0,"n"],[23016,0," "],[23017,0,"r"],[23018,0,"u"],[23019,0,"l"],[23020,0,"e"],[23021,0,"s"],[23022,0," "],[23023,0,"f"],[23024,0,"o"],[23025,0,"r"],[23026,0," "],[23027,0,"c"],[23028,0,"o"],[23029,0,"m"],[23030,0,"m"],[23031,0,"a"],[23032,0,"n"],[23033,0,"d"],[23034,0,"s"],[23035,0," "],[23036,0,"a"],[23037,0,"r"],[23038,0,"e"],[23039,0," "],[23040,0,"g"],[23041,0,"i"],[23042,0,"v"],[23043,0,"e"],[23044,0,"n"],[23045,0," "],[23046,0,"i"],[23047,0,"n"],[23048,0," "],[23049,0,"F"],[23050,0,"i"],[23051,0,"g"],[23052,0,"u"],[23053,0,"r"],[23054,0,"e"],[23055,0,"~"],[23056,0,"\\"],[23057,0,"r"],[23058,0,"e"],[23059,0,"f"],[23060,0,"{"],[23061,0,"f"],[23062,0,"i"],[23063,0,"g"],[23064,0,":"],[23065,0,"s"],[23066,0,"e"],[23067,0,"n"],[23068,0,"d"],[23069,0,"-"],[23070,0,"r"],[23071,0,"e"],[23072,0,"c"],[23073,0,"v"],[23074,0,"}"],[23075,0,"."],[20671,0,"s"],[21658,1],[21676,1],[21675,0,"\n"],[21676,0,"|"],[21676,1],[21676,0,"\\"],[21677,0,"A"],[21678,0,"x"],[21679,0,"i"],[21680,0,"o"],[21681,0,"m"],[21682,0,"C"],[21683,0,"{"],[21684,0,"A"],[21685,0,"_"],[21686,0,"p"],[21687,0,","],[21688,0,"\\"],[21689,0,","],[21690,0," "],[21691,0,"\\"],[21692,0,"m"],[21693,0,"a"],[21694,0,"t"],[21695,0,"h"],[21696,0,"i"],[21697,0,"t"],[21698,0,"{"],[21699,0,"e"],[21700,0,"x"],[21701,0,"p"],[21702,0,"r"],[21703,0,"}"],[21704,0," "],[21705,0,"\\"],[21706,0,"e"],[21707,0,"v"],[21708,0,"a"],[21709,0,"l"],[21710,0,"t"],[21711,0,"o"],[21712,0," "],[21713,0,"\\"],[21714,0,"m"],[21715,0,"a"],[21716,0,"t"],[21717,0,"h"],[21718,0,"i"],[21719,0,"t"],[21720,0,"{"],[21721,0,"c"],[21722,0,"u"],[21723,0,"r"],[21724,0,"}"],[21725,0,"}"],[21725,0,"$"],[21684,0,"$"],[21728,0,"\n"],[21729,0,"\\"],[21730,0,"A"],[21731,0,"x"],[21732,0,"i"],[21733,0,"o"],[21734,0,"m"],[21735,0,"C"],[21736,0,"{"],[21737,0,"$"],[21738,0,"\\"],[21739,0,"m"],[21740,0,"a"],[21741,0,"t"],[21742,0,"h"],[21743,0,"i"],[21744,0,"t"],[21745,0,"{"],[21746,0,"v"],[21747,0,"a"],[21748,0,"l"],[21749,0,"}"],[21750,0,":"],[21751,0," "],[21752,0,"\\"],[21753,0,"m"],[21754,0,"a"],[21755,0,"t"],[21756,0,"h"],[21757,0,"r"],[21758,0,"m"],[21759,0,"{"],[21760,0,"V"],[21761,0,"A"],[21762,0,"L"],[21763,0,"}"],[21764,0," "],[21765,0,"\\"],[21766,0,"w"],[21767,0,"e"],[21768,0,"d"],[21769,0,"g"],[21770,0,"e"],[21771,0," "],[21772,0,"\\"],[21773,0,"m"],[21774,0,"a"],[21775,0,"t"],[21776,0,"h"],[21777,0,"i"],[21778,0,"t"],[21779,0," "],[21780,0,"\\"],[21781,0,"n"],[21782,0,"o"],[21783,0,"t"],[21784,0,"="],[21785,0," "],[21786,0,"\\"],[21787,0,"v"],[21788,0,"e"],[21789,0,"r"],[21790,0,"b"],[21791,0,"|"],[21792,0,"["],[21793,0,"]"],[21794,0,"|"],[21795,0,"$"],[21796,0,"}"],[21797,0,"\n"],[21798,0,"\\"],[21799,0,"B"],[21800,0,"i"],[21801,0,"n"],[21802,0,"a"],[21803,0,"r"],[21804,0,"y"],[21805,0,"I"],[21806,0,"n"],[21807,0,"f"],[21808,0,"C"],[21809,0,"{"],[21810,0,"$"],[21810,1],[21810,0,"o"],[21811,0,"k"],[21812,0,"}"],[21794,1],[21794,0,"}"],[21791,1],[21790,1],[21789,1],[21788,1],[21787,1],[21787,0,"m"],[21788,0,"a"],[21789,0,"t"],[21790,0,"h"],[21791,0,"t"],[21792,0,"t"],[21793,0,"{"],[21797,0," "],[21798,0,"\\"],[21799,0,"w"],[21800,0,"e"],[21801,0,"d"],[21802,0,"g"],[21803,0,"e"],[21804,0," "],[21805,0,"\\"],[21779,0,"{"],[21780,0,"v"],[21781,0,"a"],[21782,0,"l"],[21783,0,"}"],[21810,1],[21801,1],[21801,0,"|"],[21798,1],[21797,1],[21796,1],[21795,1],[21794,1],[21793,1],[21792,1],[21792,0,"v"],[21793,0,"e"],[21794,0,"r"],[21795,0,"b"],[21796,0,"|"],[21791,0,"\\"],[21792,0,"m"],[21793,0,"b"],[21794,0,"o"],[21795,0,"x"],[21796,0,"{"],[21806,0,"}"],[21806,1],[21805,1],[21804,1],[21803,1],[21802,1],[21801,1],[21800,1],[21799,1],[21798,1],[21797,1],[21796,1],[21795,1],[21794,1],[21793,1],[21793,0,"a"],[21794,0,"t"],[21795,0,"h"],[21796,0,"t"],[21797,0,"t"],[21798,0,"{"],[21799,0,"\\"],[21800,0,"l"],[21801,0,"b"],[21802,0,"r"],[21803,0,"a"],[21804,0,"c"],[21805,0,"k"],[21806,0,"\\"],[21807,0,"r"],[21808,0,"b"],[21809,0,"r"],[21810,0,"a"],[21811,0,"c"],[21812,0,"k"],[21813,0,"}"],[21812,1],[21811,1],[21810,1],[21809,1],[21808,1],[21807,1],[21806,1],[21805,1],[21804,1],[21803,1],[21802,1],[21801,1],[21800,1],[21799,1],[21799,0,"["],[21800,0,"]"],[21795,1],[21794,1],[21793,1],[21792,1],[21792,0,"t"],[21793,0,"e"],[21794,0,"x"],[21795,0,"t"],[21765,0,"\\"],[21766,0,","],[21773,0,"\\"],[21774,0,","],[21807,0,"\\"],[21808,0,","],[21815,0,"\\"],[21816,0,","],[21817,0," "],[21818,0,"\\"],[21819,0,"m"],[21820,0,"a"],[21821,0,"t"],[21822,0,"h"],[21823,0,"i"],[21824,0,"t"],[21825,0,"{"],[21826,0,"v"],[21827,0,"a"],[21828,0,"l"],[21829,0,"}"],[21830,0," "],[21831,0,"\\"],[21832,0,"n"],[21833,0,"o"],[21834,0,"t"],[21835,0,"="],[21836,0," "],[21837,0,"\\"],[21838,0,"t"],[21839,0,"e"],[21840,0,"x"],[21841,0,"t"],[21842,0,"t"],[21843,0,"{"],[21844,0,"\\"],[21845,0,"{"],[21846,0,"\\"],[21847,0,"}"],[21848,0,"}"],[21806,0,"\n"],[21807,0," "],[21808,0," "],[21809,0," "],[21847,0,"t"],[21850,0,"s"],[21851,0,"t"],[21852,0,"r"],[21853,0,"i"],[21854,0,"n"],[21855,0,"g"],[21858,0,"s"],[21859,0,"t"],[21860,0,"r"],[21861,0,"i"],[21862,0,"n"],[21863,0,"g"],[21869,0,"\n"],[21870,0,"\\"],[21871,0,"A"],[21872,0,"x"],[21873,0,"i"],[21874,0,"o"],[21875,0,"m"],[21876,0,"C"],[21877,0,"{"],[21878,0,"$"],[21879,0,"A"],[21880,0,"_"],[21881,0,"p"],[21882,0,","],[21883,0,"\\"],[21884,0,","],[21885,0," "],[21886,0,"\\"],[21887,0,"m"],[21888,0,"a"],[21889,0,"t"],[21890,0,"h"],[21891,0,"s"],[21892,0,"f"],[21893,0,"{"],[21894,0,"m"],[21895,0,"a"],[21896,0,"k"],[21897,0,"e"],[21898,0,"O"],[21899,0,"p"],[21900,0,"}"],[21901,0,"("],[21902,0,"\\"],[21903,0,"m"],[21904,0,"a"],[21905,0,"t"],[21906,0,"h"],[21907,0,"i"],[21908,0,"t"],[21909,0,"{"],[21910,0,"c"],[21911,0,"u"],[21912,0,"r"],[21913,0,"}"],[21914,0," "],[21914,1],[21914,0,","],[21915,0," "],[21916,0,"\\"],[21917,0,"m"],[21918,0,"a"],[21919,0,"t"],[21920,0,"h"],[21921,0,"s"],[21922,0,"f"],[21923,0,"{"],[21924,0,"a"],[21925,0,"s"],[21926,0,"s"],[21927,0,"i"],[21928,0,"g"],[21929,0,"n"],[21930,0,"}"],[21931,0,"("],[21932,0,"\\"],[21933,0,"m"],[21934,0,"a"],[21935,0,"t"],[21936,0,"h"],[21937,0,"i"],[21938,0,"t"],[21939,0,"{"],[21940,0,"v"],[21941,0,"a"],[21942,0,"l"],[21943,0,"}"],[21944,0,")"],[21945,0,")"],[21946,0," "],[21947,0,"\\"],[21948,0,"e"],[21949,0,"v"],[21950,0,"a"],[21951,0,"l"],[21952,0,"t"],[21953,0,"o"],[21954,0," "],[21955,0,"A"],[21956,0,"_"],[21957,0,"p"],[21958,0,"'"],[21959,0,"$"],[21960,0,"}"],[21963,1],[21963,0,"T"],[21964,0,"r"],[21976,1],[21975,1],[21975,0,"$"],[21976,0,"A"],[21977,0,"_"],[21978,0,"p"],[21979,0,","],[21980,0,"\\"],[21981,0,","],[21982,0," "],[21983,0,"\\"],[21984,0,"m"],[21985,0,"a"],[21986,0,"t"],[21987,0,"h"],[21988,0,"i"],[21989,0,"t"],[21990,0,"{"],[21991,0,"e"],[21992,0,"x"],[21993,0,"p"],[21994,0,"r"],[21995,0,"}"],[21996,0," "],[21997,0,"\\"],[21998,0,"e"],[21998,1],[21997,1],[21997,0,"\\"],[21998,0,"t"],[21999,0,"e"],[22000,0,"x"],[22001,0,"t"],[22002,0,"{"],[22003,0,":"],[22003,1],[22002,1],[22001,1],[22000,1],[21999,1],[21998,1],[21998,0,"m"],[21999,0,"a"],[22000,0,"t"],[22001,0,"h"],[22002,0,"b"],[22003,0,"i"],[22004,0,"n"],[22005,0,"("],[22006,0,":"],[22006,1],[22005,1],[22005,0,"{"],[22006,0,":"],[22007,0,"="],[22008,0,"}"],[22006,0,"\\"],[22007,0,"t"],[22008,0,"e"],[22009,0,"x"],[22010,0,"t"],[22011,0,"{"],[22014,0,"}"],[22016,0," "],[22017,0,"\\"],[22018,0,"m"],[22019,0,"a"],[22020,0,"t"],[22021,0,"h"],[22022,0,"i"],[22023,0,"t"],[22024,0,"{"],[22025,0,"v"],[22026,0,"a"],[22027,0,"l"],[22028,0,"}"],[22029,0," "],[22030,0,"\\"],[22031,0,"e"],[22032,0,"v"],[22033,0,"a"],[22034,0,"l"],[22035,0,"t"],[22036,0,"o"],[22037,0," "],[22038,0,"A"],[22039,0,"_"],[22040,0,"p"],[22041,0,"'"],[22042,0,"$"],[21961,0,"\n"],[21962,0,"\\"],[21963,0,"L"],[21964,0,"e"],[21965,0,"f"],[21966,0,"t"],[21967,0,"L"],[21968,0,"a"],[21969,0,"b"],[21970,0,"e"],[21971,0,"l"],[21972,0,"{"],[21973,0,"\\"],[21974,0,"t"],[21975,0,"e"],[21976,0,"x"],[21977,0,"t"],[21978,0,"s"],[21979,0,"c"],[21980,0,"{"],[21981,0,"A"],[21982,0,"s"],[21983,0,"s"],[21984,0,"i"],[21985,0,"g"],[21986,0,"n"],[21987,0,"}"],[21988,0,"}"],[22033,1],[22032,1],[22031,1],[22030,1],[22029,1],[22028,1],[22027,1],[22026,1],[22025,1],[22031,0," "],[22034,0," "],[22035,1],[22036,0,"\\"],[22037,0,","],[22025,0,"\\"],[22026,0,","],[22084,0,"\n"],[22085,0,"\n"],[22086,0,"\\"],[22087,0,"b"],[22088,0,"e"],[22089,0,"g"],[22090,0,"i"],[22091,0,"n"],[22092,0,"{"],[22093,0,"p"],[22094,0,"r"],[22095,0,"o"],[22096,0,"o"],[22097,0,"f"],[22098,0,"t"],[22099,0,"r"],[22100,0,"e"],[22101,0,"e"],[22102,0,"}"],[22103,0,"\n"],[22104,0,"\\"],[22105,0,"e"],[22106,0,"n"],[22107,0,"d"],[22108,0,"{"],[22109,0,"p"],[22110,0,"r"],[22111,0,"o"],[22112,0,"o"],[22113,0,"f"],[22114,0,"t"],[22115,0,"r"],[22116,0,"e"],[22117,0,"e"],[22118,0,"}"],[22103,0,"\n"],[22104,0,"\\"],[22105,0,"A"],[22106,0,"x"],[22107,0,"i"],[22108,0,"o"],[22109,0,"m"],[22110,0,"C"],[22111,0,"{"],[22112,0,"$"],[22113,0,"A"],[22114,0,"_"],[22115,0,"p"],[22116,0,","],[22117,0,"\\"],[22118,0,","],[22119,0," "],[22120,0,"\\"],[22121,0,"m"],[22122,0,"a"],[22123,0,"t"],[22124,0,"h"],[22125,0,"i"],[22126,0,"t"],[22127,0,"{"],[22128,0,"e"],[22129,0,"x"],[22130,0,"p"],[22131,0,"r"],[22132,0,"}"],[22133,0," "],[22134,0,"\\"],[22135,0,"e"],[22136,0,"v"],[22137,0,"a"],[22138,0,"l"],[22139,0,"t"],[22140,0,"o"],[22141,0," "],[22142,0,"\\"],[22143,0,"m"],[22144,0,"a"],[22145,0,"t"],[22146,0,"h"],[22147,0,"i"],[22148,0,"t"],[22149,0,"{"],[22150,0,"c"],[22151,0,"u"],[22152,0,"r"],[22153,0,"}"],[22154,0,"$"],[22155,0,"}"],[22156,0,"\n"],[22157,0,"\\"],[22158,0,"A"],[22159,0,"x"],[22160,0,"i"],[22161,0,"o"],[22162,0,"m"],[22163,0,"C"],[22164,0,"{"],[22165,0,"$"],[22166,0,"\\"],[22167,0,"m"],[22168,0,"a"],[22169,0,"t"],[22170,0,"h"],[22171,0,"i"],[22172,0,"t"],[22173,0,"{"],[22174,0,"v"],[22175,0,"a"],[22176,0,"l"],[22177,0,"}"],[22178,0,":"],[22179,0," "],[22180,0,"\\"],[22181,0,"m"],[22182,0,"a"],[22183,0,"t"],[22184,0,"h"],[22185,0,"r"],[22186,0,"m"],[22187,0,"{"],[22188,0,"V"],[22189,0,"A"],[22190,0,"L"],[22191,0,"}"],[22192,0,"$"],[22193,0,"}"],[22194,0,"\n"],[22195,0,"\\"],[22196,0,"A"],[22197,0,"x"],[22198,0,"i"],[22199,0,"o"],[22200,0,"m"],[22201,0,"C"],[22202,0,"{"],[22203,0,"$"],[22204,0,"A"],[22205,0,"_"],[22206,0,"p"],[22207,0,","],[22208,0,"\\"],[22209,0,","],[22210,0," "],[22211,0,"\\"],[22212,0,"m"],[22213,0,"a"],[22214,0,"t"],[22215,0,"h"],[22216,0,"s"],[22217,0,"f"],[22218,0,"{"],[22219,0,"m"],[22220,0,"a"],[22221,0,"k"],[22222,0,"e"],[22223,0,"O"],[22224,0,"p"],[22225,0,"}"],[22226,0,"("],[22227,0,"\\"],[22228,0,"m"],[22229,0,"a"],[22230,0,"t"],[22231,0,"h"],[22232,0,"i"],[22233,0,"t"],[22234,0,"{"],[22235,0,"c"],[22236,0,"u"],[22237,0,"r"],[22238,0,"}"],[22239,0,","],[22240,0," "],[22241,0,"\\"],[22242,0,"m"],[22243,0,"a"],[22244,0,"t"],[22245,0,"h"],[22246,0,"s"],[22247,0,"f"],[22248,0,"{"],[22249,0,"i"],[22250,0,"n"],[22251,0,"s"],[22252,0,"e"],[22253,0,"r"],[22254,0,"t"],[22255,0,"}"],[22256,0,"("],[22257,0,"\\"],[22258,0,"m"],[22259,0,"a"],[22260,0,"t"],[22261,0,"h"],[22262,0,"i"],[22263,0,"t"],[22264,0,"{"],[22265,0,"v"],[22266,0,"a"],[22267,0,"l"],[22268,0,"}"],[22269,0,")"],[22270,0,")"],[22271,0," "],[22272,0,"\\"],[22273,0,"e"],[22274,0,"v"],[22275,0,"a"],[22276,0,"l"],[22277,0,"t"],[22278,0,"o"],[22279,0," "],[22280,0,"\\"],[22281,0,"A"],[22282,0,"-"],[22282,1],[22282,0,"_"],[22283,0,"p"],[22284,0,"'"],[22285,0,"$"],[22286,0,"}"],[22280,1],[22286,0,"\n"],[22287,0,"\\"],[22288,0,"L"],[22289,0,"e"],[22290,0,"f"],[22291,0,"t"],[22292,0,"L"],[22293,0,"a"],[22294,0,"b"],[22295,0,"e"],[22296,0,"l"],[22297,0,"{"],[22298,0,"\\"],[22299,0,"t"],[22300,0,"e"],[22301,0,"x"],[22302,0,"t"],[22303,0,"s"],[22304,0,"c"],[22305,0,"{"],[22306,0,"I"],[22307,0,"n"],[22308,0,"s"],[22309,0,"e"],[22310,0,"r"],[22311,0,"t"],[22312,0,"}"],[22313,0,"}"],[22314,0,"\n"],[22315,0,"\\"],[22316,0,"T"],[22317,0,"r"],[22318,0,"i"],[22319,0,"n"],[22320,0,"a"],[22321,0,"r"],[22322,0,"y"],[22323,0,"I"],[22324,0,"n"],[22325,0,"f"],[22326,0,"C"],[22327,0,"{"],[22328,0,"$"],[22329,0,"A"],[22330,0,"-"],[22330,1],[22330,0,"_"],[22331,0,"p"],[22332,0,","],[22333,0,"\\"],[22334,0,","],[22335,0," "],[22336,0,"\\"],[22337,0,"m"],[22338,0,"a"],[22339,0,"t"],[22340,0,"h"],[22341,0,"i"],[22342,0,"t"],[22343,0,"{"],[22344,0,"e"],[22345,0,"x"],[22346,0,"p"],[22347,0,"r"],[22348,0,"}"],[22349,0,"."],[22350,0,"\\"],[22351,0,"m"],[22352,0,"a"],[22353,0,"t"],[22354,0,"h"],[22355,0,"s"],[22356,0,"f"],[22357,0,"{"],[22358,0,"i"],[22359,0,"n"],[22360,0,"s"],[22361,0,"e"],[22362,0,"r"],[22363,0,"t"],[22364,0,"}"],[22365,0,"("],[22366,0,"\\"],[22367,0,"m"],[22368,0,"a"],[22369,0,"t"],[22370,0,"h"],[22371,0,"i"],[22372,0,"t"],[22373,0,"{"],[22374,0,"v"],[22375,0,"a"],[22376,0,"l"],[22377,0,"}"],[22378,0,")"],[22379,0," "],[22380,0,"\\"],[22381,0,"e"],[22382,0,"v"],[22383,0,"a"],[22384,0,"l"],[22385,0,"t"],[22386,0,"o"],[22387,0," "],[22388,0,"A"],[22389,0,"_"],[22390,0,"p"],[22391,0,"'"],[22392,0,"$"],[22393,0,"}"],[22410,0,"\n"],[22411,0,"\n"],[22412,0,"\\"],[22413,0,"b"],[22414,0,"e"],[22415,0,"g"],[22416,0,"i"],[22417,0,"n"],[22418,0,"{"],[22419,0,"p"],[22420,0,"r"],[22421,0,"o"],[22422,0,"o"],[22423,0,"f"],[22424,0,"t"],[22425,0,"r"],[22426,0,"e"],[22427,0,"e"],[22428,0,"}"],[22429,0,"\n"],[22430,0,"\\"],[22431,0,"A"],[22432,0,"x"],[22433,0,"i"],[22434,0,"o"],[22435,0,"m"],[22436,0,"C"],[22437,0,"{"],[22438,0,"$"],[22439,0,"A"],[22440,0,"_"],[22441,0,"p"],[22442,0,","],[22443,0,"\\"],[22444,0,","],[22445,0," "],[22446,0,"\\"],[22447,0,"m"],[22448,0,"a"],[22449,0,"t"],[22450,0,"h"],[22451,0,"i"],[22452,0,"t"],[22453,0,"{"],[22454,0,"e"],[22455,0,"x"],[22456,0,"p"],[22457,0,"r"],[22458,0,"}"],[22459,0," "],[22460,0,"\\"],[22461,0,"e"],[22462,0,"v"],[22463,0,"a"],[22464,0,"l"],[22465,0,"t"],[22466,0,"o"],[22467,0," "],[22468,0,"\\"],[22469,0,"m"],[22470,0,"a"],[22471,0,"t"],[22472,0,"h"],[22473,0,"i"],[22474,0,"t"],[22475,0,"{"],[22476,0,"c"],[22477,0,"u"],[22478,0,"r"],[22479,0,"}"],[22480,0,"$"],[22481,0,"}"],[22482,0,"\n"],[22483,0,"\\"],[22484,0,"A"],[22485,0,"x"],[22486,0,"i"],[22487,0,"o"],[22488,0,"m"],[22489,0,"C"],[22490,0,"{"],[22491,0,"$"],[22492,0,"A"],[22493,0,"_"],[22494,0,"p"],[22495,0,","],[22496,0,"\\"],[22497,0,","],[22498,0," "],[22499,0,"\\"],[22500,0,"m"],[22501,0,"a"],[22502,0,"t"],[22503,0,"h"],[22504,0,"s"],[22505,0,"f"],[22506,0,"{"],[22507,0,"m"],[22508,0,"a"],[22509,0,"k"],[22510,0,"e"],[22511,0,"O"],[22512,0,"p"],[22513,0,"}"],[22514,0,"("],[22515,0,"\\"],[22516,0,"m"],[22517,0,"a"],[22518,0,"t"],[22519,0,"h"],[22520,0,"i"],[22521,0,"t"],[22522,0,"{"],[22523,0,"c"],[22524,0,"u"],[22525,0,"r"],[22526,0,"}"],[22527,0,","],[22528,0," "],[22529,0,"\\"],[22530,0,"m"],[22531,0,"a"],[22532,0,"t"],[22533,0,"h"],[22534,0,"s"],[22535,0,"f"],[22536,0,"{"],[22537,0,"d"],[22538,0,"e"],[22539,0,"l"],[22540,0,"e"],[22541,0,"t"],[22542,0,"e"],[22543,0,"}"],[22544,0,")"],[22545,0," "],[22546,0,"\\"],[22547,0,"e"],[22548,0,"v"],[22549,0,"a"],[22550,0,"l"],[22551,0,"t"],[22552,0,"o"],[22553,0," "],[22554,0,"A"],[22555,0,"_"],[22556,0,"p"],[22557,0,"'"],[22558,0,"$"],[22559,0,"}"],[22560,0,"\n"],[22561,0,"\\"],[22562,0,"L"],[22563,0,"e"],[22564,0,"f"],[22565,0,"t"],[22566,0,"L"],[22567,0,"a"],[22568,0,"b"],[22569,0,"e"],[22570,0,"l"],[22571,0,"{"],[22572,0,"\\"],[22573,0,"t"],[22574,0,"e"],[22575,0,"x"],[22576,0,"t"],[22577,0,"s"],[22578,0,"c"],[22579,0,"{"],[22580,0,"D"],[22581,0,"e"],[22582,0,"l"],[22583,0,"e"],[22584,0,"t"],[22585,0,"e"],[22586,0,"}"],[22587,0,"}"],[22588,0,"\n"],[22589,0,"\\"],[22590,0,"B"],[22591,0,"i"],[22592,0,"n"],[22593,0,"a"],[22594,0,"r"],[22595,0,"y"],[22596,0,"I"],[22597,0,"n"],[22598,0,"f"],[22599,0,"C"],[22600,0,"{"],[22601,0,"$"],[22602,0,"A"],[22603,0,"_"],[22604,0,"p"],[22605,0,","],[22606,0,"\\"],[22607,0,","],[22608,0," "],[22609,0,"\\"],[22610,0,"m"],[22611,0,"a"],[22612,0,"t"],[22613,0,"h"],[22614,0,"i"],[22615,0,"t"],[22616,0,"{"],[22617,0,"e"],[22618,0,"x"],[22619,0,"p"],[22620,0,"r"],[22621,0,"}"],[22622,0,"."],[22623,0,"\\"],[22624,0,"m"],[22625,0,"a"],[22626,0,"t"],[22627,0,"h"],[22628,0,"s"],[22629,0,"f"],[22630,0,"{"],[22631,0,"d"],[22632,0,"e"],[22633,0,"l"],[22634,0,"e"],[22635,0,"t"],[22636,0,"e"],[22637,0," "],[22637,1],[22637,0,"}"],[22638,0," "],[22639,0,"\\"],[22640,0,"e"],[22641,0,"v"],[22642,0,"a"],[22643,0,"l"],[22644,0,"t"],[22645,0,"o"],[22646,0," "],[22647,0,"A"],[22648,0,"_"],[22649,0,"p"],[22650,0,"'"],[22651,0,"$"],[22652,0,"}"],[22653,0,"\n"],[22654,0,"\\"],[22655,0,"e"],[22656,0,"n"],[22657,0,"d"],[22658,0,"{"],[22659,0,"p"],[22660,0,"r"],[22661,0,"o"],[22662,0,"o"],[22663,0,"f"],[22664,0,"t"],[22665,0,"r"],[22666,0,"e"],[22667,0,"e"],[22668,0,"}"],[22669,0,"\n"],[22670,0,"\n"],[22671,0,"\\"],[22672,0,"b"],[22673,0,"e"],[22674,0,"g"],[22675,0,"i"],[22676,0,"n"],[22677,0,"{"],[22678,0,"p"],[22679,0,"r"],[22680,0,"o"],[22681,0,"o"],[22682,0,"f"],[22683,0,"t"],[22684,0,"r"],[22685,0,"e"],[22686,0,"e"],[22687,0,"}"],[22688,0,"\n"],[22689,0,"\\"],[22690,0,"e"],[22691,0,"n"],[22692,0,"d"],[22693,0,"{"],[22694,0,"p"],[22695,0,"r"],[22696,0,"o"],[22697,0,"o"],[22698,0,"f"],[22699,0,"t"],[22700,0,"r"],[22701,0,"e"],[22702,0,"e"],[22703,0,"}"],[22688,0,"\n"],[22689,0,"\\"],[22690,0,"A"],[22691,0,"x"],[22692,0,"i"],[22693,0,"o"],[22694,0,"m"],[22695,0,"C"],[22696,0,"{"],[22697,0,"$"],[22698,0,"\\"],[22699,0,"m"],[22700,0,"a"],[22701,0,"t"],[22702,0,"h"],[22703,0,"i"],[22704,0,"t"],[22705,0,"{"],[22706,0,"c"],[22707,0,"t"],[22708,0,"r"],[22709,0,"}"],[22710,0," "],[22711,0,"="],[22712,0," "],[22713,0,"\\"],[22714,0,"m"],[22715,0,"a"],[22716,0,"t"],[22717,0,"h"],[22718,0,"r"],[22719,0,"m"],[22720,0,"{"],[22721,0,"m"],[22722,0,"a"],[22723,0,"x"],[22724,0,"}"],[22725,0,"("],[22726,0,"\\"],[22727,0,"{"],[22728,0,"0"],[22729,0,"\\"],[22730,0,"}"],[22731,0," "],[22732,0,"\\"],[22733,0,","],[22734,0,"\\"],[22735,0,"c"],[22736,0,"u"],[22737,0,"p"],[22738,0,"\\"],[22739,0,","],[22740,0," "],[22741,0,"\\"],[22742,0,"{"],[22743,0," "],[22744,0,"c"],[22745,0,"_"],[22746,0,"i"],[22747,0," "],[22748,0,"\\"],[22749,0,"m"],[22750,0,"i"],[22751,0,"d"],[22752,0," "],[22753,0,"("],[22754,0,"c"],[22755,0,"_"],[22756,0,"i"],[22757,0,","],[22758,0," "],[22759,0,"p"],[22760,0,"_"],[22761,0,"i"],[22762,0,")"],[22763,0," "],[22764,0,"\\"],[22765,0,"i"],[22766,0,"n"],[22767,0," "],[22768,0,"A"],[22769,0,"_"],[22770,0,"p"],[22771,0,"("],[22772,0,"\\"],[22773,0,"m"],[22774,0,"a"],[22775,0,"t"],[22776,0,"h"],[22777,0,"s"],[22778,0,"f"],[22779,0,"{"],[22780,0,"o"],[22781,0,"p"],[22782,0,"s"],[22783,0,"}"],[22784,0,")"],[22785,0," "],[22786,0,"\\"],[22787,0,"}"],[22788,0,"#"],[22789,0,"}"],[22789,1],[22788,1],[22788,0,"$"],[22789,0,"}"],[22790,0,"\n"],[22791,0,"\\"],[22792,0,"A"],[22793,0,"x"],[22794,0,"i"],[22795,0,"o"],[22796,0,"m"],[22797,0,"C"],[22798,0,"{"],[22799,0,"$"],[22800,0,"\\"],[22801,0,"m"],[22802,0,"a"],[22803,0,"t"],[22804,0,"h"],[22805,0,"i"],[22806,0,"t"],[22807,0,"{"],[22808,0,"i"],[22809,0,"d"],[22810,0,"}"],[22811,0," "],[22812,0,"="],[22813,0," "],[22814,0,"("],[22815,0,"\\"],[22816,0,"m"],[22817,0,"a"],[22818,0,"t"],[22819,0,"h"],[22820,0,"i"],[22821,0,"t"],[22822,0,"{"],[22823,0,"c"],[22824,0,"t"],[22825,0,"r"],[22826,0,"}"],[22827,0,","],[22828,0," "],[22829,0,"p"],[22830,0,")"],[22827,0," "],[22828,0,"+"],[22829,0," "],[22830,0,"1"],[22835,0,"$"],[22836,0,"}"],[22837,0,"\n"],[22838,0,"\\"],[22839,0,"A"],[22840,0,"x"],[22841,0,"i"],[22842,0,"o"],[22843,0,"m"],[22844,0,"C"],[22845,0,"{"],[22846,0,"$"],[22847,0,"A"],[22848,0,"_"],[22849,0,"p"],[22850,0,","],[22851,0,"\\"],[22852,0,","],[22853,0," "],[22854,0,"\\"],[22855,0,"m"],[22856,0,"a"],[22857,0,"t"],[22858,0,"h"],[22859,0,"i"],[22860,0,"t"],[22861,0,"{"],[22862,0,"a"],[22863,0,"p"],[22864,0,"p"],[22864,1],[22863,1],[22862,1],[22861,1],[22860,1],[22859,1],[22859,0,"s"],[22860,0,"f"],[22861,0,"{"],[22862,0,"a"],[22863,0,"p"],[22864,0,"p"],[22865,0,"l"],[22866,0,"y"],[22867,0,"}"],[22868,0,"("],[22869,0,"\\"],[22870,0,"m"],[22871,0,"a"],[22872,0,"t"],[22873,0,"h"],[22874,0,"s"],[22875,0,"f"],[22876,0,"{"],[22877,0,"o"],[22878,0,"p"],[22879,0,"}"],[22880,0,"("],[22881,0,"\\"],[22882,0,"m"],[22883,0,"a"],[22884,0,"t"],[22885,0,"h"],[22886,0,"i"],[22887,0,"t"],[22888,0,"{"],[22889,0,"i"],[22890,0,"d"],[22891,0,"}"],[22892,0,","],[22893,0," "],[22894,0,"A"],[22895,0,"_"],[22896,0,"p"],[22897,0,"("],[22898,0,"\\"],[22899,0,"m"],[22900,0,"a"],[22901,0,"t"],[22902,0,"h"],[22903,0,"s"],[22904,0,"f"],[22905,0,"{"],[22906,0,"o"],[22907,0,"p"],[22908,0,"s"],[22909,0,"}"],[22910,0,")"],[22911,0,","],[22912,0," "],[22913,0,"\\"],[22914,0,"m"],[22915,0,"a"],[22916,0,"t"],[22917,0,"h"],[22918,0,"i"],[22919,0,"t"],[22920,0,"{"],[22921,0,"c"],[22922,0,"u"],[22923,0,"r"],[22924,0,"}"],[22925,0,","],[22926,0," "],[22927,0,"\\"],[22928,0,"m"],[22929,0,"a"],[22930,0,"t"],[22931,0,"h"],[22932,0,"i"],[22933,0,"t"],[22934,0,"{"],[22935,0,"m"],[22936,0,"u"],[22937,0,"t"],[22938,0,"}"],[22939,0,")"],[22940,0," "],[22941,0,"\\"],[22942,0,"e"],[22943,0,"v"],[22944,0,"a"],[22945,0,"l"],[22946,0,"t"],[22947,0,"o"],[22948,0," "],[22949,0,"A"],[22950,0,"_"],[22951,0,"p"],[22952,0,"'"],[22953,0,"$"],[22954,0,"}"],[22955,0,"\n"],[22956,0,"\\"],[22957,0,"L"],[22958,0,"e"],[22959,0,"f"],[22960,0,"t"],[22961,0,"L"],[22962,0,"a"],[22963,0,"b"],[22964,0,"e"],[22965,0,"l"],[22966,0,"{"],[22967,0,"\\"],[22968,0,"t"],[22969,0,"e"],[22970,0,"x"],[22971,0,"t"],[22972,0,"s"],[22973,0,"c"],[22974,0,"{"],[22975,0,"M"],[22976,0,"a"],[22977,0,"k"],[22978,0,"e"],[22979,0,"-"],[22980,0,"O"],[22981,0,"p"],[22982,0,"}"],[22983,0,"}"],[22984,0,"\n"],[22985,0,"\\"],[22986,0,"T"],[22987,0,"r"],[22988,0,"i"],[22989,0,"n"],[22990,0,"a"],[22991,0,"r"],[22992,0,"y"],[22993,0,"I"],[22994,0,"n"],[22995,0,"f"],[22996,0,"C"],[22997,0,"{"],[22998,0,"$"],[22999,0,"A"],[23000,0,"_"],[23001,0,"p"],[23002,0,","],[23003,0,"\\"],[23004,0,","],[23005,0," "],[23006,0,"\\"],[23007,0,"m"],[23008,0,"a"],[23009,0,"t"],[23010,0,"h"],[23011,0,"s"],[23012,0,"f"],[23013,0,"{"],[23014,0,"m"],[23015,0,"a"],[23016,0,"k"],[23017,0,"e"],[23018,0,"O"],[23019,0,"p"],[23020,0,"}"],[23021,0,"("],[23022,0,"\\"],[23023,0,"m"],[23024,0,"a"],[23025,0,"t"],[23026,0,"h"],[23027,0,"i"],[23028,0,"t"],[23029,0,"{"],[23030,0,"c"],[23031,0,"u"],[23032,0,"r"],[23033,0,"}"],[23034,0,","],[23035,0," "],[23036,0,"\\"],[23037,0,"m"],[23038,0,"a"],[23039,0,"t"],[23040,0,"h"],[23041,0,"i"],[23042,0,"t"],[23043,0,"{"],[23044,0,"m"],[23045,0,"u"],[23046,0,"t"],[23047,0,"}"],[23048,0,")"],[23049,0," "],[23050,0,"\\"],[23051,0,"e"],[23052,0,"v"],[23053,0,"a"],[23054,0,"l"],[23055,0,"t"],[23056,0,"o"],[23057,0," "],[23058,0,"\\"],[23059,0,"A"],[23060,0,"_"],[23061,0,"p"],[23062,0,"'"],[23063,0,"$"],[23064,0,"}"],[23058,1],[22899,0,"b"],[22899,1],[22890,1],[22889,1],[22889,0,"c"],[22890,0,"t"],[22891,0,"r"],[22893,0," "],[22894,0,"+"],[22895,0," "],[22896,0,"1"],[22897,0,","],[22898,0," "],[22899,0,"p"],[22900,0,")"],[22881,0,"("],[22922,0,"\n"],[22923,0," "],[22924,0," "],[22925,0," "],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22791,1],[22953,1],[22953,1],[22953,0,"B"],[23281,1],[23280,1],[23279,1],[23278,1],[23278,0,":"],[23286,1],[23285,1],[23285,0,"r"],[23286,0,"m"],[23288,1],[23288,0,"P"],[23292,1],[23292,0,"I"],[23293,0,"D"],[22906,0,")"],[23807,1],[23845,0,"."],[23846,0,"\\"],[23847,0,"m"],[23848,0,"a"],[23849,0,"t"],[23850,0,"h"],[23851,0,"s"],[23852,0,"f"],[23853,0,"{"],[23854,0,"i"],[23855,0,"d"],[23856,0,"}"],[23856,1],[23855,1],[23854,1],[23853,1],[23852,1],[23851,1],[23850,1],[23849,1],[23848,1],[23847,1],[23846,1],[23845,1],[23844,0,"."],[23845,0,"i"],[23846,0,"d"],[23763,1],[23762,1],[23762,0,"s"],[23763,0,"f"],[23757,0,"A"],[23758,0,"_"],[23759,0,"p"],[23760,0,"'"],[23761,0,"("],[23776,0,")"],[23777,0," "],[23778,0,"\\"],[23779,0,","],[23780,0,"\\"],[23781,0,"c"],[23782,0,"u"],[23783,0,"p"],[23784,0,"\\"],[23785,0,","],[23786,0," "],[23787,0,"\\"],[23788,0,"{"],[23789,0,"\\"],[23790,0,"m"],[23791,0,"a"],[23792,0,"t"],[23793,0,"h"],[23794,0,"i"],[23795,0,"t"],[23796,0,"{"],[23797,0,"o"],[23798,0,"p"],[23799,0,"}"],[23800,0,"\\"],[23801,0,"}"],[23663,1],[23663,1],[23663,0,"U"],[23664,0,"n"],[23627,1],[23626,1],[23625,1],[23624,1],[23623,1],[23622,1],[23621,1],[23620,1],[23619,1],[23618,1],[23617,1],[23616,1],[23615,1],[23614,1],[23613,1],[23612,1],[23611,1],[23610,1],[23609,1],[23608,1],[23607,1],[23606,1],[23605,1],[23604,1],[23603,1],[23602,1],[23601,1],[23600,1],[23599,1],[23598,1],[23597,1],[23596,1],[23595,1],[23594,1],[23593,1],[23592,1],[23591,1],[23590,1],[23589,1],[23588,1],[23587,1],[23586,1],[23585,1],[23584,1],[23583,1],[23582,1],[23581,1],[23580,1],[23579,1],[23578,1],[23577,1],[23576,1],[23575,1],[23574,1],[23573,1],[23572,1],[23571,1],[23570,1],[23569,1],[23568,1],[23567,1],[23566,1],[23565,1],[23564,1],[23563,1],[23562,1],[23561,1],[23560,1],[23559,1],[23558,1],[23557,1],[23556,1],[23555,1],[23554,1],[23553,1],[23552,1],[23551,1],[23550,1],[23549,1],[23548,1],[23547,1],[23546,1],[23545,1],[23544,1],[23543,1],[23542,1],[23541,1],[23540,1],[23539,1],[23538,1],[23537,1],[23536,1],[23535,1],[23534,1],[23533,1],[23532,1],[23862,1],[23850,1],[23849,1],[23848,1],[23847,1],[23846,1],[23845,1],[23844,1],[23843,1],[23842,1],[23841,1],[23840,1],[23839,1],[23838,1],[23837,1],[23836,1],[23835,1],[23889,0,"o"],[23890,0,"p"],[23891,0,"."],[23871,0,"\n"],[23872,0,"\\"],[23873,0,"A"],[23874,0,"x"],[23875,0,"i"],[23876,0,"o"],[23877,0,"m"],[23878,0,"C"],[23879,0,"{"],[23880,0,"$"],[23881,0,"\\"],[23882,0,"m"],[23883,0,"a"],[23884,0,"t"],[23885,0,"h"],[23886,0,"i"],[23887,0,"t"],[23888,0,"{"],[23889,0,"o"],[23890,0,"p"],[23891,0,"."],[23892,0,"i"],[23893,0,"d"],[23894,0,"}"],[23895,0," "],[23896,0,"\\"],[23897,0,"n"],[23898,0,"o"],[23899,0,"t"],[23900,0,"\\"],[23901,0,"i"],[23902,0,"n"],[23903,0," "],[23900,1],[23903,0,"A"],[23904,0,"_"],[23905,0,"p"],[23906,0,"\\"],[23906,1],[23906,0,"("],[23907,0,"\\"],[23908,0,"m"],[23909,0,"a"],[23910,0,"t"],[23911,0,"h"],[23912,0,"s"],[23913,0,"f"],[23914,0,"{"],[23915,0,"o"],[23916,0,"p"],[23917,0,"s"],[23918,0,"}"],[23919,0,")"],[23920,0,"$"],[23921,0,"}"],[24057,1],[24057,1],[24057,1],[24057,0,"Q"],[24058,0,"u"],[24059,0,"a"],[24060,0,"t"],[24061,0,"e"],[24062,0,"r"],[24179,0,"."],[24180,0,"i"],[24181,0,"d"],[23568,1],[24205,0,"\n"],[24206,0,"\n"],[24207,0,"\\"],[24208,0,"b"],[24209,0,"e"],[24210,0,"g"],[24211,0,"i"],[24212,0,"n"],[24213,0,"{"],[24214,0,"p"],[24215,0,"r"],[24216,0,"o"],[24217,0,"o"],[24218,0,"f"],[24219,0,"t"],[24220,0,"r"],[24221,0,"e"],[24222,0,"e"],[24223,0,"}"],[24224,0,"\n"],[24225,0,"\\"],[24226,0,"A"],[24227,0,"x"],[24228,0,"i"],[24229,0,"o"],[24230,0,"m"],[24231,0,"C"],[24232,0,"{"],[24233,0,"}"],[24234,0,"\n"],[24235,0,"\\"],[24236,0,"L"],[24237,0,"e"],[24238,0,"f"],[24239,0,"t"],[24240,0,"L"],[24241,0,"a"],[24242,0,"b"],[24243,0,"e"],[24244,0,"l"],[24245,0,"{"],[24246,0,"\\"],[24247,0,"t"],[24248,0,"e"],[24249,0,"x"],[24250,0,"t"],[24251,0,"s"],[24252,0,"c"],[24253,0,"{"],[24254,0,"S"],[24255,0,"e"],[24256,0,"n"],[24257,0,"d"],[24258,0,"}"],[24259,0,"}"],[24260,0,"\n"],[24261,0,"\\"],[24262,0,"U"],[24263,0,"n"],[24264,0,"a"],[24265,0,"r"],[24266,0,"y"],[24267,0,"I"],[24268,0,"n"],[24269,0,"f"],[24270,0,"C"],[24271,0,"{"],[24272,0,"$"],[24273,0,"A"],[24274,0,"_"],[24275,0,"p"],[24276,0,","],[24277,0,"\\"],[24278,0,","],[24279,0," "],[24280,0,"\\"],[24281,0,"m"],[24282,0,"a"],[24283,0,"t"],[24284,0,"h"],[24285,0,"s"],[24286,0,"f"],[24287,0,"{"],[24288,0,"y"],[24289,0,"i"],[24290,0,"e"],[24291,0,"l"],[24292,0,"d"],[24293,0,"}"],[24294,0," "],[24295,0,"\\"],[24296,0,"e"],[24297,0,"v"],[24298,0,"a"],[24299,0,"l"],[24300,0,"t"],[24301,0,"o"],[24302,0,"\n"],[24303,0," "],[24304,0," "],[24305,0," "],[24306,0," "],[24307,0,"A"],[24308,0,"_"],[24309,0,"p"],[24310,0,"["],[24311,0,"\\"],[24312,0,","],[24313,0,"\\"],[24314,0,"m"],[24315,0,"a"],[24316,0,"t"],[24317,0,"h"],[24318,0,"s"],[24319,0,"f"],[24320,0,"{"],[24321,0,"s"],[24322,0,"e"],[24323,0,"n"],[24324,0,"d"],[24325,0,"}"],[24326,0," "],[24327,0,"\\"],[24328,0,","],[24329,0,"\\"],[24330,0,"m"],[24331,0,"a"],[24332,0,"p"],[24333,0,"s"],[24334,0,"t"],[24335,0,"o"],[24336,0,"\\"],[24337,0,","],[24338,0," "],[24339,0,"A"],[24340,0,"_"],[24341,0,"p"],[24342,0,"("],[24343,0,"\\"],[24344,0,"m"],[24345,0,"a"],[24346,0,"t"],[24347,0,"h"],[24348,0,"s"],[24349,0,"f"],[24350,0,"{"],[24351,0,"s"],[24352,0,"e"],[24353,0,"n"],[24354,0,"d"],[24355,0,"}"],[24356,0,")"],[24357,0," "],[24358,0,"\\"],[24359,0,","],[24360,0,"\\"],[24361,0,"c"],[24362,0,"u"],[24363,0,"p"],[24364,0,"\\"],[24365,0,","],[24366,0," "],[24367,0,"\\"],[24367,1],[24367,0,"A"],[24368,0,"_"],[24369,0,"p"],[24370,0,"("],[24371,0,"\\"],[24372,0,"m"],[24373,0,"a"],[24374,0,"t"],[24375,0,"h"],[24376,0,"s"],[24377,0,"f"],[24378,0,"{"],[24379,0,"q"],[24380,0,"u"],[24381,0,"e"],[24382,0,"u"],[24383,0,"e"],[24384,0,"}"],[24385,0,")"],[24386,0,"\\"],[24387,0,","],[24388,0,"]"],[24389,0,"$"],[24390,0,"}"],[24391,0,"\n"],[24392,0,"\\"],[24393,0,"e"],[24394,0,"n"],[24395,0,"d"],[24396,0,"{"],[24397,0,"p"],[24398,0,"r"],[24399,0,"o"],[24400,0,"o"],[24401,0,"f"],[24402,0,"t"],[24403,0,"r"],[24404,0,"e"],[24405,0,"e"],[24406,0,"}"],[24407,0,"\n"],[24408,0,"\n"],[24409,0,"\\"],[24410,0,"b"],[24411,0,"e"],[24412,0,"g"],[24413,0,"i"],[24414,0,"n"],[24415,0,"{"],[24416,0,"p"],[24417,0,"r"],[24418,0,"o"],[24419,0,"o"],[24420,0,"f"],[24421,0,"t"],[24422,0,"r"],[24423,0,"e"],[24424,0,"e"],[24425,0,"}"],[24426,0,"\n"],[24427,0,"\\"],[24428,0,"A"],[24429,0,"x"],[24430,0,"i"],[24431,0,"o"],[24432,0,"m"],[24433,0,"C"],[24434,0,"{"],[24435,0,"$"],[24436,0,"a"],[24437,0,":"],[24438,0," "],[24438,1],[24437,1],[24436,1],[24436,0,"q"],[24437,0,":"],[24438,0," "],[24439,0,"\\"],[24440,0,"m"],[24441,0,"a"],[24442,0,"t"],[24443,0,"h"],[24444,0,"r"],[24445,0,"m"],[24446,0,"{"],[24447,0,"P"],[24448,0,"e"],[24449,0,"e"],[24450,0,"r"],[24451,0,"I"],[24452,0,"D"],[24453,0,"}"],[24454,0,"$"],[24455,0,"}"],[24456,0,"\n"],[24457,0,"\\"],[24458,0,"L"],[24459,0,"e"],[24460,0,"f"],[24461,0,"t"],[24462,0,"L"],[24463,0,"a"],[24464,0,"b"],[24465,0,"e"],[24466,0,"l"],[24467,0,"{"],[24468,0,"\\"],[24469,0,"t"],[24470,0,"e"],[24471,0,"x"],[24472,0,"t"],[24473,0,"s"],[24474,0,"c"],[24475,0,"{"],[24476,0,"R"],[24477,0,"e"],[24478,0,"c"],[24479,0,"v"],[24480,0,"}"],[24481,0,"}"],[24482,0,"\n"],[24483,0,"\\"],[24484,0,"U"],[24485,0,"n"],[24486,0,"a"],[24487,0,"r"],[24488,0,"y"],[24489,0,"I"],[24490,0,"n"],[24491,0,"f"],[24492,0,"C"],[24493,0,"{"],[24494,0,"$"],[24495,0,"A"],[24496,0,"_"],[24497,0,"p"],[24498,0,","],[24499,0,"\\"],[24500,0,","],[24501,0," "],[24502,0,"\\"],[24503,0,"m"],[24504,0,"a"],[24505,0,"t"],[24506,0,"h"],[24507,0,"s"],[24508,0,"f"],[24509,0,"{"],[24510,0,"y"],[24511,0,"i"],[24512,0,"e"],[24513,0,"l"],[24514,0,"d"],[24515,0,"}"],[24516,0," "],[24517,0,"\\"],[24518,0,"e"],[24519,0,"v"],[24520,0,"a"],[24521,0,"l"],[24522,0,"t"],[24523,0,"o"],[24524,0,"\n"],[24525,0," "],[24526,0," "],[24527,0," "],[24528,0," "],[24529,0,"A"],[24530,0,"_"],[24531,0,"p"],[24532,0,"["],[24533,0,"\\"],[24534,0,","],[24535,0,"\\"],[24536,0,"m"],[24537,0,"a"],[24538,0,"t"],[24539,0,"h"],[24540,0,"s"],[24541,0,"f"],[24542,0,"{"],[24543,0,"r"],[24544,0,"e"],[24545,0,"c"],[24546,0,"v"],[24547,0,"}"],[24548,0," "],[24549,0,"\\"],[24550,0,","],[24551,0,"\\"],[24552,0,"m"],[24553,0,"a"],[24554,0,"p"],[24555,0,"s"],[24556,0,"t"],[24557,0,"o"],[24558,0,"\\"],[24559,0,","],[24560,0," "],[24561,0,"A"],[24562,0,"_"],[24563,0,"p"],[24564,0,"("],[24565,0,"\\"],[24566,0,"m"],[24567,0,"a"],[24568,0,"t"],[24569,0,"h"],[24570,0,"s"],[24571,0,"f"],[24572,0,"{"],[24573,0,"r"],[24574,0,"e"],[24575,0,"c"],[24576,0,"v"],[24577,0,"}"],[24578,0,")"],[24579,0," "],[24580,0,"\\"],[24581,0,","],[24582,0,"\\"],[24583,0,"c"],[24584,0,"u"],[24585,0,"p"],[24586,0,"\\"],[24587,0,","],[24588,0," "],[24589,0,"A"],[24590,0,"_"],[24591,0,"q"],[24592,0,"("],[24593,0,"\\"],[24594,0,"m"],[24595,0,"a"],[24596,0,"t"],[24597,0,"h"],[24598,0,"s"],[24599,0,"f"],[24600,0,"{"],[24601,0,"s"],[24602,0,"e"],[24603,0,"n"],[24604,0,"d"],[24605,0,"}"],[24606,0,")"],[24607,0,"\\"],[24608,0,","],[24609,0,"]"],[24610,0,"$"],[24611,0,"}"],[24612,0,"\n"],[24613,0,"\\"],[24614,0,"p"],[24615,0,"r"],[24616,0,"o"],[24617,0,"o"],[24618,0,"f"],[24618,1],[24617,1],[24616,1],[24615,1],[24614,1],[24614,0,"e"],[24615,0,"n"],[24616,0,"d"],[24617,0,"{"],[24618,0,"p"],[24619,0,"r"],[24620,0,"o"],[24621,0,"o"],[24622,0,"f"],[24623,0,"t"],[24624,0,"r"],[24625,0,"e"],[24626,0,"e"],[24627,0,"}"],[23470,1],[23469,1],[23468,1],[23467,1],[23466,1],[23465,1],[23464,1],[23463,1],[23462,1],[23461,1],[23460,1],[23459,1],[23458,1],[23457,1],[23456,1],[23455,1],[23454,1],[23453,1],[23452,1],[23451,1],[23450,1],[23449,1],[23448,1],[23447,1],[23446,1],[23445,1],[23444,1],[23443,1],[23442,1],[23441,1],[23440,1],[23439,1],[23438,1],[23437,1],[23436,1],[23435,1],[23434,1],[23433,1],[23432,1],[23431,1],[23430,1],[23429,1],[23428,1],[23427,1],[23426,1],[23425,1],[23424,1],[23423,1],[23422,1],[23421,1],[23420,1],[23419,1],[23418,1],[23417,1],[23416,1],[23415,1],[23414,1],[23413,1],[23412,1],[23411,1],[23410,1],[23409,1],[23408,1],[23407,1],[23406,1],[23405,1],[23404,1],[23403,1],[23402,1],[23401,1],[23400,1],[23399,1],[23398,1],[23397,1],[23396,1],[23395,1],[23394,1],[23393,1],[23392,1],[23391,1],[23390,1],[23389,1],[23388,1],[23387,1],[23386,1],[23385,1],[23384,1],[23383,1],[23382,1],[23381,1],[23380,1],[23379,1],[23378,1],[23377,1],[23376,1],[23375,1],[23374,1],[23373,1],[23372,1],[23371,1],[23370,1],[23369,1],[23368,1],[23367,1],[23366,1],[23365,1],[23364,1],[23363,1],[23362,1],[23361,1],[23360,1],[23359,1],[23358,1],[23357,1],[23356,1],[23355,1],[23354,1],[23353,1],[23352,1],[23351,1],[23350,1],[23349,1],[23348,1],[23347,1],[23346,1],[23345,1],[23344,1],[23343,1],[23342,1],[23341,1],[23340,1],[23339,1],[23338,1],[23337,1],[23336,1],[23335,1],[23334,1],[23333,1],[23332,1],[23331,1],[23330,1],[23329,1],[23328,1],[23327,1],[23326,1],[23325,1],[23324,1],[23323,1],[23322,1],[23321,1],[23320,1],[23319,1],[23318,1],[23317,1],[23316,1],[23315,1],[23314,1],[23313,1],[23312,1],[23311,1],[23310,1],[23309,1],[23308,1],[23307,1],[23306,1],[23305,1],[23304,1],[23303,1],[23302,1],[23301,1],[23300,1],[23299,1],[23298,1],[23297,1],[23296,1],[23295,1],[23294,1],[23293,1],[23292,1],[23291,1],[23290,1],[23289,1],[23288,1],[23287,1],[23286,1],[23285,1],[23284,1],[23283,1],[23282,1],[23281,1],[23280,1],[23279,1],[23278,1],[23277,1],[23276,1],[23275,1],[23274,1],[23273,1],[23272,1],[23271,1],[23270,1],[23269,1],[23268,1],[23267,1],[23266,1],[23265,1],[23264,1],[23263,1],[23262,1],[23261,1],[23260,1],[23259,1],[23258,1],[23257,1],[23256,1],[23255,1],[23254,1],[23253,1],[23252,1],[23251,1],[23250,1],[23249,1],[23248,1],[23247,1],[23246,1],[23245,1],[23244,1],[23243,1],[23242,1],[23241,1],[23240,1],[23239,1],[23238,1],[23237,1],[23236,1],[23235,1],[23234,1],[23233,1],[23232,1],[23231,1],[23230,1],[23229,1],[23228,1],[23227,1],[23226,1],[23225,1],[23224,1],[23223,1],[23222,1],[23221,1],[23220,1],[23219,1],[23218,1],[23217,1],[23216,1],[23215,1],[23214,1],[23213,1],[23212,1],[23211,1],[23210,1],[23209,1],[23208,1],[23207,1],[23206,1],[23205,1],[23204,1],[23203,1],[23202,1],[23201,1],[23200,1],[23199,1],[23198,1],[23197,1],[23196,1],[23195,1],[23194,1],[23193,1],[23192,1],[23191,1],[23190,1],[23189,1],[23188,1],[23187,1],[23186,1],[23185,1],[23184,1],[23183,1],[23182,1],[23181,1],[23180,1],[23179,1],[23178,1],[23177,1],[23176,1],[23175,1],[23174,1],[23173,1],[23172,1],[23171,1],[23170,1],[23169,1],[23168,1],[23167,1],[23166,1],[23165,1],[23164,1],[23163,1],[23162,1],[23161,1],[23160,1],[23159,1],[23158,1],[23157,1],[23156,1],[23155,1],[23154,1],[23153,1],[23152,1],[23151,1],[23150,1],[23149,1],[23148,1],[23147,1],[23146,1],[23145,1],[23144,1],[23143,1],[23142,1],[23141,1],[23140,1],[23139,1],[23138,1],[23137,1],[23136,1],[23135,1],[23134,1],[23133,1],[23132,1],[23131,1],[23130,1],[23129,1],[23128,1],[23127,1],[23126,1],[23125,1],[23124,1],[23123,1],[23122,1],[23121,1],[23120,1],[23119,1],[23118,1],[23117,1],[23116,1],[23115,1],[23114,1],[23113,1],[23112,1],[23111,1],[23110,1],[23109,1],[23108,1],[23107,1],[23106,1],[23105,1],[23104,1],[23103,1],[23102,1],[23101,1],[23100,1],[23099,1],[23098,1],[23097,1],[23096,1],[23095,1],[23094,1],[23093,1],[23092,1],[23091,1],[23090,1],[23089,1],[23088,1],[23087,1],[23086,1],[23085,1],[23084,1],[23083,1],[23082,1],[23081,1],[23080,1],[23079,1],[23078,1],[23077,1],[23076,1],[23075,1],[23074,1],[23073,1],[23072,1],[23071,1],[23070,1],[23069,1],[23068,1],[23067,1],[23066,1],[23065,1],[23064,1],[23063,1],[23062,1],[23061,1],[23060,1],[23059,1],[23058,1],[23057,1],[23056,1],[23055,1],[23054,1],[23053,1],[23052,1],[23051,1],[23050,1],[23049,1],[23048,1],[24276,1],[24275,1],[24274,1],[24273,1],[24272,1],[24271,1],[24270,1],[24269,1],[24268,1],[24267,1],[24266,1],[24265,1],[24264,1],[24263,1],[24242,1],[24241,1],[24240,1],[24239,1],[24238,1],[24237,1],[24236,1],[24235,1],[24234,1],[24233,1],[24232,1],[24231,1],[24230,1],[24229,1],[24228,1],[24227,1],[24226,1],[24225,1],[24225,0,"g"],[24226,0,"e"],[24227,0,"n"],[24228,0,"e"],[24229,0,"r"],[24230,0,"a"],[24231,0,"t"],[24232,0,"i"],[24233,0,"n"],[24234,0,"g"],[24246,0,"a"],[24247,0,"n"],[24248,0,"d"],[24249,0," "],[24205,0,"\n"],[24206,0,"\n"],[24207,0,"\\"],[24208,0,"b"],[24209,0,"e"],[24210,0,"g"],[24211,0,"i"],[24212,0,"n"],[24213,0,"{"],[24214,0,"p"],[24215,0,"r"],[24216,0,"o"],[24217,0,"o"],[24218,0,"f"],[24219,0,"t"],[24220,0,"r"],[24221,0,"e"],[24222,0,"e"],[24223,0,"}"],[24224,0,"\n"],[24225,0,"\\"],[24226,0,"A"],[24227,0,"x"],[24228,0,"i"],[24229,0,"o"],[24230,0,"m"],[24231,0,"C"],[24232,0,"{"],[24233,0,"$"],[24234,0,"A"],[24235,0,"_"],[24236,0,"p"],[24237,0,","],[24238,0,"\\"],[24239,0,","],[24240,0," "],[24241,0,"\\"],[24242,0,"m"],[24243,0,"a"],[24244,0,"t"],[24245,0,"h"],[24246,0,"s"],[24247,0,"f"],[24248,0,"{"],[24249,0,"y"],[24250,0,"i"],[24251,0,"e"],[24252,0,"l"],[24253,0,"d"],[24254,0,"}"],[24255,0," "],[24256,0,"\\"],[24257,0,"e"],[24258,0,"v"],[24259,0,"a"],[24260,0,"l"],[24261,0,"t"],[24262,0,"o"],[24263,0," "],[24264,0,"A"],[24265,0,"_"],[24266,0,"p"],[24267,0,"'"],[24268,0,"$"],[24269,0,"}"],[24270,0,"\n"],[24271,0,"\\"],[24272,0,"A"],[24273,0,"x"],[24274,0,"i"],[24275,0,"o"],[24276,0,"m"],[24277,0,"C"],[24278,0,"{"],[24279,0,"$"],[24280,0,"A"],[24281,0,"_"],[24282,0,"p"],[24283,0,","],[24284,0,"\\"],[24285,0,","],[24286,0," "],[24287,0,"\\"],[24283,0,"'"],[24289,0,"m"],[24290,0,"a"],[24291,0,"t"],[24292,0,"h"],[24293,0,"s"],[24294,0,"f"],[24295,0,"{"],[24296,0,"y"],[24297,0,"i"],[24298,0,"e"],[24299,0,"l"],[24300,0,"d"],[24301,0,"}"],[24302,0," "],[24303,0,"\\"],[24304,0,"e"],[24305,0,"v"],[24306,0,"a"],[24307,0,"l"],[24308,0,"t"],[24309,0,"o"],[24310,0," "],[24311,0,"A"],[24312,0,"_"],[24313,0,"p"],[24314,0,"'"],[24315,0,"'"],[24316,0,"$"],[24317,0,"}"],[24318,0,"\n"],[24319,0,"\\"],[24320,0,"L"],[24321,0,"e"],[24322,0,"f"],[24323,0,"t"],[24324,0,"L"],[24325,0,"a"],[24326,0,"b"],[24327,0,"e"],[24328,0,"l"],[24329,0,"{"],[24330,0,"\\"],[24331,0,"t"],[24332,0,"e"],[24333,0,"x"],[24334,0,"t"],[24335,0,"s"],[24336,0,"c"],[24337,0,"{"],[24338,0,"Y"],[24339,0,"i"],[24340,0,"e"],[24341,0,"l"],[24342,0,"d"],[24343,0,"}"],[24344,0,"}"],[24345,0,"\n"],[24346,0,"\\"],[24347,0,"B"],[24348,0,"i"],[24349,0,"n"],[24350,0,"a"],[24351,0,"r"],[24352,0,"y"],[24353,0,"I"],[24354,0,"n"],[24355,0,"f"],[24356,0,"C"],[24357,0,"{"],[24358,0,"$"],[24359,0,"A"],[24360,0,"_"],[24361,0,"p"],[24362,0,","],[24363,0,"\\"],[24364,0,","],[24365,0," "],[24366,0,"\\"],[24367,0,"m"],[24368,0,"a"],[24369,0,"t"],[24370,0,"h"],[24371,0,"s"],[24372,0,"f"],[24373,0,"{"],[24374,0,"y"],[24375,0,"i"],[24376,0,"e"],[24377,0,"l"],[24378,0,"d"],[24379,0,"}"],[24380,0," "],[24381,0,"\\"],[24382,0,"e"],[24383,0,"v"],[24384,0,"a"],[24385,0,"l"],[24386,0,"t"],[24387,0,"o"],[24388,0," "],[24389,0,"A"],[24390,0,"_"],[24391,0,"p"],[24392,0,"'"],[24393,0,"'"],[24394,0,"$"],[24395,0,"}"],[24396,0,"\n"],[24397,0,"\\"],[24398,0,"e"],[24399,0,"n"],[24400,0,"d"],[24401,0,"{"],[24402,0,"p"],[24403,0,"r"],[24404,0,"o"],[24405,0,"o"],[24406,0,"f"],[24407,0,"t"],[24408,0,"r"],[24409,0,"e"],[24410,0,"e"],[24411,0,"}"],[24597,0," "],[24598,0,"T"],[24599,0,"h"],[24600,0,"e"],[24601,0," "],[24602,0,"\\"],[24603,0,"t"],[24604,0,"e"],[24605,0,"x"],[24606,0,"t"],[24607,0,"s"],[24608,0,"c"],[24609,0,"{"],[24610,0,"A"],[24611,0,"s"],[24612,0,"s"],[24613,0,"i"],[24614,0,"g"],[24615,0,"n"],[24616,0,"}"],[24617,0,","],[24618,0," "],[24619,0,"\\"],[24620,0,"t"],[24621,0,"e"],[24622,0,"x"],[24623,0,"t"],[24624,0,"s"],[24625,0,"c"],[24626,0,"{"],[24627,0,"I"],[24628,0,"n"],[24629,0,"s"],[24630,0,"e"],[24631,0,"r"],[24632,0,"t"],[24633,0,"}"],[24634,0," "],[24635,0,"a"],[24636,0,"n"],[24637,0,"d"],[24638,0," "],[24639,0,"\\"],[24640,0,"t"],[24641,0,"e"],[24642,0,"x"],[24643,0,"t"],[24644,0,"s"],[24645,0,"c"],[24646,0,"{"],[24647,0,"D"],[24648,0,"e"],[24649,0,"l"],[24650,0,"e"],[24651,0,"t"],[24652,0,"e"],[24653,0,"}"],[24654,0," "],[24655,0,"r"],[24656,0,"u"],[24657,0,"l"],[24658,0,"e"],[24659,0,"s"],[24660,0," "],[24661,0,"s"],[24662,0,"h"],[24663,0,"o"],[24664,0,"w"],[24665,0," "],[24665,1],[24664,1],[24663,1],[24662,1],[24661,1],[24661,0,"d"],[24662,0,"e"],[24663,0,"f"],[24664,0,"i"],[24665,0,"n"],[24666,0,"e"],[24667,0," "],[24668,0,"h"],[24669,0,"o"],[24670,0,"w"],[24671,0," "],[24672,0,"t"],[24673,0,"h"],[24674,0,"e"],[24675,0,"s"],[24676,0,"e"],[24677,0," "],[24678,0,"r"],[24679,0,"e"],[24680,0,"s"],[24681,0,"p"],[24682,0,"e"],[24683,0,"c"],[24684,0,"t"],[24685,0,"i"],[24686,0,"v"],[24687,0,"e"],[24688,0," "],[24689,0,"c"],[24690,0,"o"],[24691,0,"m"],[24692,0,"m"],[24693,0,"a"],[24694,0,"n"],[24695,0,"d"],[24696,0,"s"],[24697,0," "],[24698,0,"m"],[24699,0,"u"],[24700,0,"t"],[24701,0,"a"],[24702,0,"t"],[24703,0,"e"],[24704,0," "],[24705,0,"t"],[24706,0,"h"],[24707,0,"e"],[24708,0," "],[24709,0,"d"],[24710,0,"o"],[24711,0,"c"],[24712,0,"u"],[24713,0,"m"],[24714,0,"e"],[24715,0,"n"],[24716,0,"t"],[24717,0,":"],[24718,0," "],[24719,0,"a"],[24720,0,"l"],[24721,0,"l"],[24722,0," "],[24723,0,"t"],[24724,0,"h"],[24725,0,"r"],[24726,0,"e"],[24727,0,"e"],[24728,0," "],[24729,0,"d"],[24730,0,"e"],[24731,0,"l"],[24732,0,"e"],[24733,0,"g"],[24734,0,"a"],[24735,0,"t"],[24736,0,"e"],[24737,0," "],[24738,0,"t"],[24739,0,"h"],[24740,0,"e"],[24741,0," "],[24741,1],[24740,1],[24739,1],[24738,1],[24738,0,"t"],[24739,0,"o"],[24740,0," "],[24741,0,"t"],[24742,0,"h"],[24743,0,"e"],[24744,0," "],[24745,0,"\\"],[24746,0,"t"],[24747,0,"e"],[24748,0,"x"],[24749,0,"t"],[24750,0,"s"],[24751,0,"c"],[24752,0,"{"],[24753,0,"M"],[24754,0,"a"],[24755,0,"k"],[24756,0,"e"],[24757,0,"-"],[24758,0,"O"],[24759,0,"p"],[24760,0,"}"],[24761,0," "],[24762,0,"r"],[24763,0,"u"],[24764,0,"l"],[24765,0,"e"],[24766,0," "],[24767,0,"f"],[24768,0,"o"],[24769,0,"r"],[24770,0," "],[24771,0,"g"],[24772,0,"e"],[24773,0,"n"],[24774,0,"e"],[24775,0,"r"],[24776,0,"a"],[24777,0,"t"],[24778,0,"i"],[24779,0,"n"],[24780,0,"g"],[24781,0," "],[24769,1],[24768,1],[24767,1],[24767,0,"t"],[24768,0,"o"],[24780,1],[24779,1],[24778,1],[24777,1],[24777,0,"e"],[24778,0," "],[24779,0,"a"],[24780,0,"n"],[24781,0,"d"],[24782,0," "],[24783,0,"a"],[24784,0,"p"],[24785,0,"p"],[24786,0,"l"],[24787,0,"y"],[24788,0," "],[24789,0,"t"],[24790,0,"h"],[24791,0,"e"],[24792,0," "],[24793,0,"o"],[24794,0,"p"],[24795,0,"e"],[24796,0,"r"],[24797,0,"a"],[24798,0,"t"],[24799,0,"i"],[24800,0,"o"],[24801,0,"n"],[24802,0,"."],[24803,0," "],[24804,0,"\\"],[24805,0,"t"],[24806,0,"e"],[24807,0,"x"],[24808,0,"t"],[24809,0,"s"],[24810,0,"c"],[24811,0,"{"],[24812,0,"M"],[24813,0,"a"],[24814,0,"k"],[24815,0,"e"],[24816,0,"-"],[24817,0,"O"],[24818,0,"p"],[24819,0,"}"],[24820,0," "],[24821,0,"e"],[24822,0,"n"],[24823,0,"c"],[24824,0,"a"],[24825,0,"p"],[24826,0,"s"],[24827,0,"u"],[24828,0,"l"],[24829,0,"a"],[24830,0,"t"],[24831,0,"e"],[24832,0,"s"],[24832,1],[24831,1],[24830,1],[24829,1],[24828,1],[24827,1],[24826,1],[24825,1],[24824,1],[24823,1],[24822,1],[24821,1],[24821,0,"g"],[24822,0,"e"],[24823,0,"n"],[24824,0,"e"],[24825,0,"r"],[24826,0,"a"],[24827,0,"t"],[24828,0,"e"],[24829,0,"s"],[24830,0," "],[24831,0,"a"],[24832,0," "],[24833,0,"n"],[24834,0,"e"],[24835,0,"w"],[24836,0," "],[24837,0,"L"],[24838,0,"a"],[24839,0,"m"],[24840,0,"p"],[24841,0,"o"],[24842,0,"r"],[24843,0,"t"],[24844,0," "],[24845,0,"t"],[24846,0,"i"],[24847,0,"m"],[24848,0,"e"],[24849,0,"s"],[24850,0,"t"],[24851,0,"a"],[24852,0,"m"],[24853,0,"p"],[24854,0," "],[24855,0,"b"],[24856,0,"y"],[24857,0," "],[24858,0,"c"],[24859,0,"h"],[24860,0,"o"],[24861,0,"o"],[24862,0,"s"],[24863,0,"i"],[24864,0,"n"],[24865,0,"g"],[24866,0," "],[24867,0,"a"],[24868,0," "],[24869,0,"c"],[24870,0,"o"],[24871,0,"u"],[24872,0,"n"],[24873,0,"t"],[24874,0,"e"],[24875,0,"r"],[24876,0," "],[24877,0,"v"],[24878,0,"a"],[24879,0,"l"],[24880,0,"u"],[24881,0,"e"],[24882,0," "],[24883,0,"t"],[24884,0,"h"],[24885,0,"a"],[24886,0,"t"],[24887,0," "],[24888,0,"i"],[24889,0,"s"],[24890,0," "],[24891,0,"1"],[24892,0," "],[24893,0,"g"],[24894,0,"r"],[24895,0,"e"],[24896,0,"a"],[24897,0,"t"],[24898,0,"e"],[24899,0,"r"],[24900,0," "],[24901,0,"t"],[24902,0,"h"],[24903,0,"a"],[24904,0,"n"],[24905,0," "],[24906,0,"a"],[24907,0,"n"],[24908,0,"y"],[24909,0," "],[24910,0,"e"],[24911,0,"x"],[24912,0,"i"],[24913,0,"s"],[24914,0,"t"],[24915,0,"i"],[24916,0,"n"],[24917,0,"g"],[24918,0," "],[24919,0,"c"],[24920,0,"o"],[24921,0,"u"],[24922,0,"n"],[24923,0,"t"],[24924,0,"e"],[24925,0,"r"],[24926,0," "],[24927,0,"i"],[24928,0,"n"],[24929,0," "],[24930,0,"$"],[24931,0,"A"],[24932,0,"_"],[24933,0,"p"],[24934,0,"("],[24935,0,"\\"],[24936,0,"m"],[24937,0,"a"],[24938,0,"t"],[24939,0,"h"],[24940,0,"s"],[24941,0,"f"],[24942,0,"{"],[24943,0,"o"],[24944,0,"p"],[24945,0,"s"],[24946,0,"}"],[24947,0,")"],[24948,0,"$"],[24949,0," "],[24950,0,"t"],[24951,0,"h"],[24952,0,"e"],[24953,0," "],[24949,0,","],[24955,0,"s"],[24956,0,"e"],[24957,0,"t"],[24958,0," "],[24959,0,"o"],[24960,0,"f"],[24961,0," "],[24962,0,"a"],[24963,0,"l"],[24964,0,"l"],[24965,0," "],[24966,0,"o"],[24967,0,"p"],[24968,0,"e"],[24969,0,"r"],[24970,0,"a"],[24971,0,"t"],[24972,0,"i"],[24973,0,"o"],[24974,0,"n"],[24975,0," "],[24976,0,"I"],[24977,0,"D"],[24978,0,"s"],[24979,0," "],[24980,0,"t"],[24981,0,"h"],[24982,0,"a"],[24983,0,"t"],[24984,0," "],[24985,0,"h"],[24986,0,"a"],[24987,0,"v"],[24988,0,"e"],[24989,0," "],[24990,0,"b"],[24991,0,"e"],[24992,0,"e"],[24993,0,"n"],[24994,0," "],[24995,0,"a"],[24996,0,"p"],[24997,0,"p"],[24998,0,"l"],[24999,0,"i"],[25000,0,"e"],[25001,0,"d"],[25002,0," "],[25003,0,"t"],[25004,0,"o"],[25005,0," "],[25006,0,"t"],[25007,0,"h"],[25008,0,"e"],[25009,0," "],[25010,0,"d"],[25011,0,"o"],[25012,0,"c"],[25013,0,"u"],[25014,0,"m"],[25015,0,"e"],[25016,0,"n"],[25017,0,"t"],[25018,0,"."],[25019,0,"\n"],[25020,0,"\n"],[25021,0,"\\"],[25022,0,"t"],[25023,0,"e"],[25024,0,"x"],[25025,0,"t"],[25026,0,"s"],[25027,0,"c"],[25028,0,"{"],[25029,0,"M"],[25030,0,"a"],[25031,0,"k"],[25032,0,"e"],[25033,0,"-"],[25034,0,"O"],[25035,0,"p"],[25036,0,"}"],[25037,0," "],[25038,0,"c"],[25039,0,"o"],[25040,0,"n"],[25041,0,"s"],[25042,0,"t"],[25043,0,"r"],[25044,0,"u"],[25045,0,"c"],[25046,0,"t"],[25047,0,"s"],[25048,0," "],[25049,0,"a"],[25050,0,"n"],[25051,0," "],[25052,0,"\\"],[25053,0,"t"],[25054,0,"e"],[25055,0,"x"],[25056,0,"t"],[25057,0,"s"],[25058,0,"f"],[25059,0,"{"],[25060,0,"o"],[25061,0,"p"],[25062,0,"}"],[25063,0," "],[25062,0,"("],[25063,0,")"],[25066,0,"t"],[25067,0,"u"],[25068,0,"p"],[25069,0,"l"],[25070,0,"e"],[25071,0," "],[25072,0,"o"],[25073,0,"f"],[25074,0," "],[25075,0,"t"],[25076,0,"h"],[25077,0,"e"],[25078,0," "],[25079,0,"f"],[25080,0,"o"],[25081,0,"r"],[25082,0,"m"],[25083,0," "],[25084,0,"d"],[25085,0,"e"],[25086,0,"s"],[25087,0,"c"],[25088,0,"r"],[25089,0,"i"],[25090,0,"b"],[25091,0,"e"],[25092,0,"d"],[25093,0," "],[25094,0,"a"],[25095,0,"b"],[25096,0,"o"],[25097,0,"v"],[25098,0,"e"],[25099,0,","],[25100,0," "],[25101,0,"a"],[25102,0,"n"],[25103,0,"d"],[25104,0," "],[25105,0,"d"],[25106,0,"e"],[25107,0,"l"],[25108,0,"e"],[25109,0,"g"],[25110,0,"a"],[25111,0,"t"],[25112,0,"e"],[25113,0,"s"],[25114,0," "],[25115,0,"t"],[25116,0,"o"],[25117,0," "],[25118,0,"t"],[25119,0,"h"],[25120,0,"e"],[25121,0," "],[25122,0,"\\"],[25123,0,"t"],[25124,0,"e"],[25125,0,"x"],[25126,0,"t"],[25127,0,"s"],[25128,0,"c"],[25129,0,"{"],[25130,0,"A"],[25131,0,"p"],[25132,0,"p"],[25133,0,"l"],[25134,0,"y"],[25135,0,"-"],[25136,0,"L"],[25137,0,"o"],[25138,0,"c"],[25139,0,"a"],[25140,0,"l"],[25141,0,"}"],[25142,0," "],[25143,0,"r"],[25144,0,"u"],[25145,0,"l"],[25146,0,"e"],[25147,0," "],[25148,0,"t"],[25149,0,"o"],[25150,0," "],[25151,0,"p"],[25152,0,"r"],[25153,0,"o"],[25154,0,"c"],[25155,0,"e"],[25156,0,"s"],[25157,0,"s"],[25158,0," "],[25159,0,"t"],[25160,0,"h"],[25161,0,"e"],[25162,0," "],[25163,0,"o"],[25164,0,"p"],[25165,0,"e"],[25166,0,"r"],[25167,0,"a"],[25168,0,"t"],[25169,0,"i"],[25170,0,"o"],[25171,0,"n"],[25172,0,"."],[25173,0," "],[25174,0,"\\"],[25175,0,"t"],[25176,0,"e"],[25177,0,"x"],[25178,0,"t"],[25179,0,"s"],[25180,0,"c"],[25181,0,"{"],[25182,0,"A"],[25183,0,"p"],[25184,0,"p"],[25185,0,"l"],[25186,0,"y"],[25187,0,"-"],[25188,0,"L"],[25189,0,"o"],[25190,0,"c"],[25191,0,"a"],[25192,0,"l"],[25193,0,"}"],[25194,0," "],[25195,0,"d"],[25196,0,"o"],[25197,0,"e"],[25198,0,"s"],[25199,0," "],[25200,0,"t"],[25201,0,"h"],[25202,0,"r"],[25203,0,"e"],[25204,0,"e"],[25205,0," "],[25206,0,"t"],[25207,0,"h"],[25208,0,"i"],[25209,0,"n"],[25210,0,"g"],[25211,0,"s"],[25212,0,":"],[25213,0," "],[25214,0,"i"],[25215,0,"t"],[25216,0," "],[25217,0,"e"],[25218,0,"v"],[25219,0,"a"],[25220,0,"l"],[25221,0,"u"],[25222,0,"a"],[25223,0,"t"],[25224,0,"e"],[25225,0,"s"],[25226,0," "],[25227,0,"t"],[25228,0,"h"],[25229,0,"e"],[25230,0," "],[25231,0,"o"],[25232,0,"p"],[25233,0,"e"],[25234,0,"r"],[25235,0,"a"],[25236,0,"t"],[25237,0,"i"],[25238,0,"o"],[25239,0,"n"],[25240,0," "],[25241,0,"t"],[25242,0,"o"],[25243,0," "],[25244,0,"p"],[25245,0,"r"],[25246,0,"o"],[25247,0,"d"],[25248,0,"u"],[25249,0,"c"],[25250,0,"e"],[25251,0," "],[25252,0,"a"],[25253,0," "],[25254,0,"m"],[25255,0,"o"],[25256,0,"d"],[25257,0,"i"],[25258,0,"f"],[25259,0,"i"],[25260,0,"e"],[25261,0,"d"],[25262,0," "],[25263,0,"l"],[25264,0,"o"],[25265,0,"c"],[25266,0,"a"],[25267,0,"l"],[25268,0," "],[25269,0,"s"],[25270,0,"t"],[25271,0,"a"],[25272,0,"t"],[25273,0,"e"],[25274,0," "],[25275,0,"$"],[25276,0,"A"],[25277,0,"_"],[25278,0,"p"],[25279,0,"'"],[25280,0,"$"],[25281,0,","],[25282,0," "],[25283,0,"i"],[25284,0,"t"],[25285,0," "],[25286,0,"a"],[25287,0,"d"],[25288,0,"d"],[25289,0,"s"],[25290,0," "],[25291,0,"t"],[25292,0,"h"],[25293,0,"e"],[25294,0," "],[25295,0,"o"],[25296,0,"p"],[25297,0,"e"],[25298,0,"r"],[25299,0,"a"],[25300,0,"t"],[25301,0,"i"],[25302,0,"o"],[25303,0,"n"],[25304,0," "],[25305,0,"t"],[25306,0,"o"],[25307,0," "],[25308,0,"t"],[25309,0,"h"],[25310,0,"e"],[25311,0," "],[25312,0,"q"],[25313,0,"u"],[25314,0,"e"],[25315,0,"u"],[25316,0,"e"],[25317,0," "],[25318,0,"o"],[25319,0,"f"],[25320,0," "],[25321,0,"o"],[25322,0,"u"],[25323,0,"t"],[25324,0,"b"],[25324,1],[25323,1],[25322,1],[25321,1],[25321,0,"g"],[25322,0,"e"],[25323,0,"n"],[25324,0,"e"],[25325,0,"r"],[25326,0,"a"],[25327,0,"t"],[25328,0,"e"],[25329,0,"d"],[25330,0," "],[25331,0,"o"],[25332,0,"p"],[25333,0,"e"],[25334,0,"r"],[25335,0,"a"],[25336,0,"t"],[25337,0,"i"],[25338,0,"o"],[25339,0,"n"],[25340,0,"s"],[25341,0," "],[25342,0,"$"],[25343,0,"A"],[25344,0,"_"],[25345,0,"p"],[25346,0,"("],[25347,0,"\\"],[25348,0,"m"],[25349,0,"a"],[25350,0,"t"],[25351,0,"h"],[25352,0,"s"],[25353,0,"f"],[25354,0,"{"],[25355,0,"q"],[25356,0,"u"],[25357,0,"e"],[25358,0,"u"],[25359,0,"e"],[25360,0,"}"],[25361,0,")"],[25362,0,"$"],[25363,0,","],[25364,0," "],[25365,0,"a"],[25366,0,"n"],[25367,0,"d"],[25368,0," "],[25369,0,"i"],[25370,0,"t"],[25371,0," "],[25372,0,"a"],[25373,0,"d"],[25374,0,"d"],[25375,0,"s"],[25376,0," "],[25377,0,"t"],[25378,0,"h"],[25379,0,"e"],[25380,0," "],[25381,0,"o"],[25382,0,"p"],[25383,0,"e"],[25384,0,"r"],[25385,0,"a"],[25386,0,"t"],[25387,0,"i"],[25388,0,"o"],[25389,0,"n"],[25390,0," "],[25391,0,"I"],[25392,0,"D"],[25393,0," "],[25394,0,"t"],[25395,0,"o"],[25396,0," "],[25397,0,"t"],[25398,0,"h"],[25399,0,"e"],[25400,0," "],[25401,0,"s"],[25402,0,"e"],[25403,0,"t"],[25404,0," "],[25405,0,"o"],[25406,0,"f"],[25407,0," "],[25408,0,"p"],[25409,0,"r"],[25410,0,"o"],[25411,0,"c"],[25412,0,"e"],[25413,0,"s"],[25414,0,"s"],[25415,0,"e"],[25416,0,"d"],[25417,0," "],[25418,0,"o"],[25419,0,"p"],[25420,0,"e"],[25421,0,"r"],[25422,0,"a"],[25423,0,"t"],[25424,0,"i"],[25425,0,"o"],[25426,0,"n"],[25427,0,"s"],[25428,0," "],[25429,0,"$"],[25430,0,"A"],[25431,0,"_"],[25432,0,"p"],[25433,0,"("],[25434,0,"\\"],[25435,0,"m"],[25436,0,"a"],[25437,0,"t"],[25438,0,"h"],[25439,0,"s"],[25440,0,"f"],[25441,0,"{"],[25442,0,"o"],[25443,0,"p"],[25444,0,"s"],[25445,0,"}"],[25446,0,")"],[25447,0,"$"],[25448,0,"."],[25449,0,"\n"],[25450,0,"\n"],[25451,0,"T"],[25452,0,"h"],[25453,0,"e"],[25454,0," "],[25455,0,"r"],[25456,0,"e"],[25457,0,"m"],[25458,0,"a"],[25459,0,"i"],[25460,0,"n"],[25461,0,"i"],[25462,0,"n"],[25463,0,"g"],[25464,0," "],[25465,0,"r"],[25466,0,"u"],[25467,0,"l"],[25468,0,"e"],[25469,0,"s"],[25470,0," "],[25471,0,"i"],[25472,0,"n"],[25473,0," "],[25474,0,"F"],[25475,0,"i"],[25476,0,"g"],[25477,0,"u"],[25478,0,"r"],[25479,0,"e"],[25480,0,"~"],[25481,0,"\\"],[25482,0,"r"],[25483,0,"e"],[25484,0,"f"],[25485,0,"{"],[25486,0,"f"],[25487,0,"i"],[25488,0,"g"],[25489,0,":"],[25490,0,"s"],[25491,0,"e"],[25492,0,"n"],[25493,0,"d"],[25494,0,"-"],[25495,0,"r"],[25496,0,"e"],[25497,0,"c"],[25498,0,"v"],[25499,0,"}"],[25500,0," "],[25500,1],[25500,0,","],[25501,0," "],[25502,0,"\\"],[25503,0,"t"],[25504,0,"e"],[25505,0,"x"],[25506,0,"t"],[25507,0,"s"],[25508,0,"c"],[25509,0,"{"],[25510,0,"A"],[25511,0,"p"],[25512,0,"p"],[25513,0,"l"],[25514,0,"y"],[25515,0,"-"],[25516,0,"R"],[25517,0,"e"],[25518,0,"m"],[25519,0,"o"],[25520,0,"t"],[25521,0,"e"],[25522,0,"}"],[25523,0,","],[25524,0," "],[25525,0,"\\"],[25526,0,"t"],[25527,0,"e"],[25528,0,"x"],[25529,0,"t"],[25530,0,"s"],[25531,0,"c"],[25532,0,"{"],[25533,0,"S"],[25534,0,"e"],[25535,0,"n"],[25536,0,"d"],[25537,0,"}"],[25538,0,","],[25539,0," "],[25540,0,"\\"],[25541,0,"t"],[25542,0,"e"],[25543,0,"x"],[25544,0,"t"],[25545,0,"s"],[25546,0,"c"],[25547,0,"{"],[25548,0,"R"],[25549,0,"e"],[25550,0,"c"],[25551,0,"v"],[25552,0,"}"],[25553,0," "],[25554,0,"a"],[25555,0,"n"],[25556,0,"d"],[25557,0," "],[25558,0,"\\"],[25559,0,"t"],[25560,0,"e"],[25561,0,"x"],[25562,0,"t"],[25563,0,"s"],[25564,0,"c"],[25565,0,"{"],[25566,0,"Y"],[25567,0,"i"],[25568,0,"e"],[25569,0,"l"],[25570,0,"d"],[25571,0,"}"],[25572,0," "],[25573,0,"d"],[25574,0,"e"],[25575,0,"f"],[25576,0,"i"],[25577,0,"n"],[25578,0,"e"],[25579,0," "],[25580,0,"t"],[25581,0,"h"],[25582,0,"e"],[25583,0," "],[25584,0,"s"],[25585,0,"e"],[25586,0,"m"],[25587,0,"a"],[25588,0,"n"],[25589,0,"t"],[25590,0,"i"],[25591,0,"c"],[25592,0,"s"],[25593,0," "],[25594,0,"o"],[25595,0,"f"],[25596,0," "],[25597,0,"t"],[25598,0,"h"],[25599,0,"e"],[25600,0," "],[25601,0,"\\"],[25602,0,"t"],[25603,0,"e"],[25604,0,"x"],[25605,0,"t"],[25606,0,"s"],[25607,0,"f"],[25608,0,"{"],[25609,0,"y"],[25610,0,"i"],[25611,0,"e"],[25612,0,"l"],[25613,0,"d"],[25614,0,"}"],[25615,0," "],[25616,0,"c"],[25617,0,"o"],[25618,0,"m"],[25619,0,"m"],[25620,0,"a"],[25621,0,"n"],[25622,0,"d"],[25623,0,"."],[25624,0," "],[25625,0,"T"],[25626,0,"h"],[25627,0,"e"],[25628,0,"s"],[25629,0,"e"],[25630,0," "],[25630,1],[25629,1],[25628,1],[25627,1],[25627,0,"i"],[25628,0,"s"],[25629,0," "],[25630,0,"s"],[25631,0,"e"],[25632,0,"m"],[25633,0,"a"],[25634,0,"n"],[25634,1],[25633,1],[25632,1],[25631,1],[25630,1],[25629,1],[25628,1],[25627,1],[25626,1],[25625,1],[25625,0,"S"],[25626,0,"i"],[25627,0,"n"],[25628,0,"c"],[25629,0,"e"],[25630,0," "],[25631,0,"a"],[25632,0,"n"],[25633,0,"y"],[25634,0," "],[25635,0,"o"],[25636,0,"f"],[25637,0," "],[25638,0,"t"],[25639,0,"h"],[25640,0,"e"],[25641,0,"s"],[25642,0,"e"],[25643,0," "],[25644,0,"r"],[25645,0,"u"],[25646,0,"l"],[25647,0,"e"],[25648,0,"s"],[25649,0," "],[25650,0,"c"],[25651,0,"a"],[25652,0,"n"],[25653,0," "],[25654,0,"b"],[25655,0,"e"],[25656,0," "],[25657,0,"u"],[25658,0,"s"],[25659,0,"e"],[25660,0,"d"],[25661,0," "],[25662,0,"t"],[25663,0,"o"],[25664,0," "],[25665,0,"e"],[25666,0,"v"],[25667,0,"a"],[25668,0,"l"],[25669,0,"u"],[25670,0,"a"],[25671,0,"t"],[25672,0,"e"],[25673,0," "],[25674,0,"\\"],[25675,0,"t"],[25676,0,"e"],[25677,0,"x"],[25678,0,"t"],[25679,0,"s"],[25680,0,"f"],[25681,0,"{"],[25682,0,"y"],[25683,0,"i"],[25684,0,"e"],[25685,0,"l"],[25686,0,"d"],[25687,0,"}"],[25688,0,","],[25689,0," "],[25690,0,"t"],[25691,0,"h"],[25692,0,"e"],[25693,0," "],[25694,0,"s"],[25695,0,"e"],[25696,0,"m"],[25697,0,"a"],[25698,0,"n"],[25699,0,"t"],[25700,0,"i"],[25701,0,"c"],[25702,0,"s"],[25703,0," "],[25704,0,"i"],[25705,0,"s"],[25706,0," "],[25707,0,"n"],[25708,0,"o"],[25709,0,"n"],[25710,0,"d"],[25711,0,"e"],[25712,0,"t"],[25713,0,"e"],[25714,0,"r"],[25715,0,"m"],[25716,0,"i"],[25717,0,"n"],[25718,0,"i"],[25719,0,"s"],[25720,0,"t"],[25721,0,"i"],[25722,0,"c"],[25723,0,","],[25724,0," "],[25725,0,"w"],[25726,0,"h"],[25727,0,"i"],[25728,0,"c"],[25729,0,"h"],[25730,0," "],[25731,0,"m"],[25732,0,"o"],[25733,0,"d"],[25734,0,"e"],[25735,0,"l"],[25736,0,"s"],[25737,0," "],[25738,0,"t"],[25739,0,"h"],[25740,0,"e"],[25741,0," "],[25742,0,"a"],[25743,0,"s"],[25744,0,"y"],[25745,0,"n"],[25746,0,"c"],[25747,0,"h"],[25748,0,"r"],[25749,0,"o"],[25750,0,"n"],[25751,0,"i"],[25752,0,"c"],[25753,0,"i"],[25754,0,"t"],[25755,0,"y"],[25756,0," "],[25757,0,"o"],[25758,0,"f"],[25759,0," "],[25760,0,"n"],[25760,1],[25760,0,"t"],[25761,0,"h"],[25762,0,"e"],[25763,0," "],[25764,0,"n"],[25765,0,"e"],[25766,0,"t"],[25767,0,"w"],[25768,0,"o"],[25769,0,"r"],[25770,0,"k"],[25771,0," "],[25772,0,"b"],[25773,0,"e"],[25774,0,"t"],[25775,0,"w"],[25776,0,"e"],[25777,0,"e"],[25778,0,"n"],[25779,0," "],[25780,0,"p"],[25781,0,"e"],[25782,0,"e"],[25783,0,"r"],[25784,0,"s"],[25785,0,":"],[25786,0," "],[25787,0,"a"],[25788,0," "],[25789,0,","],[25790,0,"e"],[25791,0,"s"],[25792,0,"s"],[25793,0,"a"],[25794,0,"g"],[25789,1],[25789,0,"m"],[25795,0,"e"],[25796,0," "],[25797,0,"s"],[25798,0,"e"],[25799,0,"n"],[25800,0,"t"],[25801,0," "],[25802,0,"b"],[25803,0,"y"],[25804,0," "],[25805,0,"o"],[25806,0,"n"],[25807,0,"e"],[25808,0," "],[25809,0,"p"],[25810,0,"e"],[25811,0,"e"],[25812,0,"r"],[25813,0," "],[25814,0,"a"],[25815,0,"r"],[25816,0,"r"],[25817,0,"i"],[25818,0,"v"],[25819,0,"e"],[25820,0,"s"],[25821,0," "],[25822,0,"a"],[25823,0,"t"],[25824,0," "],[25825,0,"a"],[25826,0,"n"],[25827,0,"o"],[25828,0,"t"],[25829,0,"h"],[25830,0,"e"],[25831,0,"r"],[25832,0," "],[25833,0,"p"],[25834,0,"e"],[25835,0,"e"],[25836,0,"r"],[25837,0," "],[25838,0,"s"],[25839,0,"o"],[25840,0,"m"],[25841,0,"e"],[25842,0," "],[25842,1],[25841,1],[25840,1],[25839,1],[25838,1],[25838,0,"s"],[25839,0,"o"],[25840,0,"m"],[25841,0,"e"],[25842,0," "],[25842,1],[25841,1],[25840,1],[25839,1],[25838,1],[25838,0,"a"],[25839,0,"t"],[25840,0," "],[25841,0,"s"],[25842,0,"o"],[25843,0,"m"],[25844,0,"e"],[25845,0," "],[25846,0,"a"],[25847,0,"r"],[25848,0,"b"],[25849,0,"i"],[25850,0,"t"],[25851,0,"r"],[25852,0,"a"],[25853,0,"r"],[25854,0,"i"],[25855,0,"l"],[25856,0,"y"],[25857,0," "],[25858,0,"l"],[25859,0,"a"],[25860,0,"t"],[25861,0,"e"],[25862,0,"r"],[25863,0," "],[25864,0,"p"],[25865,0,"o"],[25866,0,"i"],[25867,0,"n"],[25868,0,"t"],[25869,0," "],[25870,0,"i"],[25871,0,"n"],[25872,0," "],[25873,0,"t"],[25874,0,"i"],[25875,0,"m"],[25876,0,"e"],[25877,0,"."],[25877,0,","],[25878,0," "],[25879,0,"a"],[25880,0,"n"],[25881,0,"d"],[25882,0," "],[25883,0,"t"],[25884,0,"h"],[25885,0,"e"],[25886,0,"r"],[25887,0,"e"],[25888,0," "],[25889,0,"i"],[25890,0,"s"],[25891,0," "],[25892,0,"n"],[25893,0,"o"],[25894,0," "],[25895,0,"o"],[25896,0,"r"],[25897,0,"d"],[25898,0,"e"],[25899,0,"r"],[25900,0,"i"],[25901,0,"n"],[25902,0,"g"],[25903,0," "],[25904,0,"g"],[25905,0,"u"],[25906,0,"a"],[25907,0,"r"],[25908,0,"a"],[25909,0,"n"],[25910,0,"t"],[25911,0,"e"],[25912,0,"e"],[25913,0," "],[25914,0,"i"],[25915,0,"n"],[25916,0," "],[25917,0,"t"],[25918,0,"h"],[25919,0,"e"],[25920,0," "],[25921,0,"n"],[25922,0,"e"],[25923,0,"t"],[25924,0,"w"],[25925,0,"o"],[25926,0,"r"],[25927,0,"k"],[25895,0,"m"],[25896,0,"e"],[25897,0,"s"],[25898,0,"a"],[25899,0,"g"],[25900,0,"e"],[25901,0," "],[25936,0,"\n"],[25937,0,"\n"],[25938,0,"\\"],[25939,0,"t"],[25940,0,"e"],[25941,0,"x"],[25942,0,"t"],[25943,0,"s"],[25944,0,"c"],[25945,0,"{"],[25946,0,"S"],[25947,0,"e"],[25948,0,"n"],[25949,0,"d"],[25950,0,"}"],[25951,0," "],[25938,0,"T"],[25939,0,"h"],[25940,0,"e"],[25941,0," "],[25956,0,"r"],[25957,0,"u"],[25958,0,"l"],[25959,0,"e"],[25960,0," "],[25961,0,"t"],[25962,0,"a"],[25963,0,"k"],[25964,0,"e"],[25965,0,"s"],[25966,0," "],[25967,0,"a"],[25968,0,"n"],[25969,0,"y"],[25970,0," "],[25971,0,"o"],[25972,0,"p"],[25973,0,"e"],[25974,0,"r"],[25975,0,"a"],[25976,0,"t"],[25977,0,"i"],[25978,0,"o"],[25979,0,"n"],[25980,0,"s"],[25981,0," "],[25982,0,"t"],[25983,0,"h"],[25984,0,"a"],[25985,0,"t"],[25986,0," "],[25987,0,"w"],[25988,0,"e"],[25989,0,"r"],[25990,0,"e"],[25991,0," "],[25992,0,"p"],[25993,0,"l"],[25994,0,"a"],[25995,0,"c"],[25996,0,"e"],[25997,0,"d"],[25998,0," "],[25999,0,"i"],[26000,0,"n"],[26001,0," "],[26002,0,"t"],[26003,0,"h"],[26003,1],[26002,1],[26001,1],[26001,0," "],[26002,0,"$"],[26003,0,"A"],[26004,0,"_"],[26005,0,"p"],[26006,0,"("],[26007,0,"\\"],[26008,0,"m"],[26009,0,"a"],[26010,0,"t"],[26011,0,"h"],[26012,0,"s"],[26013,0,"f"],[26014,0,"{"],[26015,0,"q"],[26016,0,"u"],[26017,0,"e"],[26018,0,"u"],[26019,0,"e"],[26020,0,"}"],[26021,0,")"],[26022,0,"$"],[26023,0," "],[26024,0,"b"],[26025,0,"y"],[26026,0," "],[26027,0,"\\"],[26028,0,"t"],[26029,0,"e"],[26030,0,"x"],[26031,0,"t"],[26032,0,"s"],[26033,0,"c"],[26034,0,"{"],[26035,0,"A"],[26036,0,"p"],[26037,0,"p"],[26038,0,"l"],[26039,0,"y"],[26040,0,"-"],[26041,0,"L"],[26042,0,"o"],[26043,0,"c"],[26044,0,"a"],[26045,0,"l"],[26046,0,"}"],[26047,0," "],[26048,0,"a"],[26049,0,"n"],[26050,0,"d"],[26051,0," "],[26052,0,"a"],[26053,0,"d"],[26054,0,"d"],[26055,0,"s"],[26056,0," "],[26057,0,"t"],[26058,0,"h"],[26059,0,"e"],[26060,0,"m"],[26061,0," "],[26062,0,"t"],[26063,0,"o"],[26064,0," "],[26065,0,"a"],[26066,0," "],[26067,0,"s"],[26068,0,"e"],[26069,0,"n"],[26070,0,"d"],[26071,0," "],[26072,0,"b"],[26073,0,"u"],[26074,0,"f"],[26075,0,"f"],[26076,0,"e"],[26077,0,"r"],[26078,0," "],[26079,0,"$"],[26080,0,"A"],[26081,0,"_"],[26082,0,"p"],[26083,0,"("],[26084,0,"\\"],[26085,0,"m"],[26086,0,"a"],[26087,0,"t"],[26088,0,"h"],[26089,0,"s"],[26090,0,"f"],[26091,0,"{"],[26092,0,"s"],[26093,0,"e"],[26094,0,"n"],[26095,0,"d"],[26096,0,"}"],[26097,0,")"],[26098,0,"$"],[26099,0,"."],[26100,0," "],[26101,0,"C"],[26102,0,"o"],[26103,0,"r"],[26104,0,"r"],[26105,0,"e"],[26106,0,"s"],[26107,0,"p"],[26108,0,"o"],[26109,0,"n"],[26110,0,"d"],[26111,0,"i"],[26112,0,"n"],[26113,0,"g"],[26114,0,"l"],[26115,0,"y"],[26116,0,","],[26117,0," "],[26118,0,"t"],[26119,0,"h"],[26120,0,"e"],[26121,0," "],[26122,0,"\\"],[26123,0,"t"],[26124,0,"e"],[26125,0,"x"],[26126,0,"t"],[26127,0,"s"],[26128,0,"c"],[26129,0,"{"],[26130,0,"R"],[26131,0,"e"],[26132,0,"c"],[26133,0,"v"],[26134,0,"}"],[26135,0," "],[26136,0,"r"],[26137,0,"u"],[26138,0,"l"],[26139,0,"e"],[26140,0," "],[26141,0,"t"],[26142,0,"a"],[26143,0,"k"],[26144,0,"e"],[26145,0,"s"],[26146,0," "],[26147,0,"o"],[26148,0,"p"],[26149,0,"e"],[26150,0,"r"],[26151,0,"a"],[26152,0,"t"],[26153,0,"i"],[26154,0,"o"],[26155,0,"n"],[26156,0,"s"],[26157,0," "],[26158,0,"i"],[26159,0,"n"],[26160,0," "],[26161,0,"t"],[26162,0,"h"],[26163,0,"e"],[26164,0," "],[26165,0,"s"],[26166,0,"e"],[26167,0,"n"],[26168,0,"d"],[26169,0," "],[26170,0,"b"],[26171,0,"u"],[26172,0,"f"],[26173,0,"f"],[26174,0,"e"],[26175,0,"r"],[26176,0," "],[26177,0,"o"],[26178,0,"f"],[26179,0," "],[26180,0,"p"],[26181,0,"e"],[26182,0,"e"],[26183,0,"r"],[26184,0," "],[26185,0,"$"],[26186,0,"q"],[26187,0,"$"],[26188,0," "],[26189,0,"a"],[26190,0,"n"],[26191,0,"d"],[26192,0," "],[26193,0,"a"],[26194,0,"d"],[26195,0,"d"],[26196,0,"s"],[26197,0," "],[26198,0,"t"],[26199,0,"h"],[26200,0,"e"],[26201,0,"m"],[26202,0," "],[26203,0,"t"],[26204,0,"o"],[26205,0," "],[26206,0,"t"],[26207,0,"h"],[26208,0,"e"],[26209,0," "],[26210,0,"r"],[26211,0,"e"],[26212,0,"c"],[26213,0,"e"],[26214,0,"i"],[26215,0,"v"],[26216,0,"e"],[26217,0," "],[26218,0,"b"],[26219,0,"u"],[26220,0,"f"],[26221,0,"f"],[26222,0,"e"],[26223,0,"r"],[26224,0," "],[26225,0,"o"],[26225,1],[26225,0,"$"],[26226,0,"A"],[26227,0,"_"],[26228,0,"p"],[26229,0,"("],[26230,0,"\\"],[26231,0,"t"],[26232,0,"e"],[26233,0,"x"],[26234,0,"t"],[26235,0,"s"],[26236,0,"f"],[26237,0,"{"],[26238,0,"r"],[26239,0,"e"],[26240,0,"c"],[26241,0,"v"],[26242,0,"}"],[26243,0,")"],[26244,0,"$"],[26245,0," "],[26246,0,"o"],[26247,0,"f"],[26248,0," "],[26249,0,"p"],[26250,0,"e"],[26251,0,"e"],[26252,0,"r"],[26253,0," "],[26254,0,"$"],[26255,0,"p"],[26256,0,"$"],[26257,0,"."],[26258,0," "],[26259,0,"T"],[26260,0,"h"],[26261,0,"i"],[26262,0,"s"],[26263,0," "],[26264,0,"i"],[26265,0,"s"],[26266,0," "],[26267,0,"t"],[26268,0,"h"],[26269,0,"e"],[26270,0," "],[26271,0,"o"],[26272,0,"n"],[26273,0,"l"],[26274,0,"y"],[26275,0," "],[26276,0,"r"],[26277,0,"u"],[26278,0,"l"],[26279,0,"e"],[26280,0," "],[26281,0,"t"],[26282,0,"h"],[26283,0,"a"],[26284,0,"t"],[26285,0," "],[26286,0,"i"],[26287,0,"n"],[26288,0,"v"],[26289,0,"o"],[26290,0,"l"],[26291,0,"v"],[26292,0,"e"],[26293,0,"s"],[26294,0," "],[26295,0,"m"],[26296,0,"o"],[26297,0,"r"],[26298,0,"e"],[26299,0," "],[26300,0,"t"],[26301,0,"h"],[26302,0,"a"],[26303,0,"n"],[26304,0," "],[26305,0,"o"],[26306,0,"n"],[26307,0,"e"],[26308,0," "],[26309,0,"p"],[26310,0,"e"],[26311,0,"e"],[26312,0,"r"],[26313,0,","],[26314,0," "],[26315,0,"a"],[26316,0,"n"],[26317,0,"d"],[26318,0," "],[26319,0,"i"],[26320,0,"t"],[26321,0," "],[26322,0,"m"],[26323,0,"o"],[26324,0,"d"],[26325,0,"e"],[26326,0,"l"],[26327,0,"s"],[26328,0," "],[26329,0,"a"],[26330,0,"l"],[26331,0,"l"],[26332,0," "],[26333,0,"n"],[26334,0,"e"],[26335,0,"t"],[26336,0,"w"],[26337,0,"o"],[26338,0,"r"],[26339,0,"k"],[26340,0," "],[26341,0,"c"],[26342,0,"o"],[26343,0,"m"],[26344,0,"m"],[26345,0,"u"],[26346,0,"n"],[26347,0,"i"],[26348,0,"c"],[26349,0,"a"],[26350,0,"t"],[26351,0,"i"],[26352,0,"o"],[26353,0,"n"],[26354,0,"."],[26355,0,"\n"],[26356,0,"\n"],[26357,0,"O"],[26358,0,"n"],[26359,0,"c"],[26360,0,"e"],[26361,0," "],[26362,0,"a"],[26363,0,"n"],[26364,0," "],[26365,0,"o"],[26366,0,"p"],[26367,0,"e"],[26368,0,"r"],[26369,0,"a"],[26370,0,"t"],[26371,0,"i"],[26372,0,"o"],[26373,0,"n"],[26374,0," "],[26375,0,"h"],[26375,1],[26375,0,"a"],[26376,0,"p"],[26377,0,"p"],[26378,0,"e"],[26379,0,"a"],[26380,0,"r"],[26381,0,"s"],[26382,0," "],[26383,0,"i"],[26384,0,"n"],[26385,0," "],[26386,0,"t"],[26387,0,"h"],[26388,0,"e"],[26389,0," "],[26390,0,"r"],[26391,0,"e"],[26392,0,"c"],[26393,0,"e"],[26394,0,"i"],[26395,0,"v"],[26396,0,"e"],[26397,0," "],[26398,0,"b"],[26399,0,"u"],[26400,0,"f"],[26401,0,"f"],[26402,0,"e"],[26403,0,"r"],[26404,0," "],[26405,0,"$"],[26406,0,"A"],[26407,0,"_"],[26408,0,"p"],[26409,0,"("],[26410,0,"\\"],[26411,0,"t"],[26412,0,"e"],[26413,0,"x"],[26414,0,"t"],[26415,0,"s"],[26416,0,"f"],[26234,1],[26233,1],[26232,1],[26231,1],[26231,0,"m"],[26232,0,"a"],[26233,0,"t"],[26234,0,"h"],[26414,1],[26413,1],[26412,1],[26411,1],[26411,0,"m"],[26412,0,"a"],[26413,0,"t"],[26414,0,"h"],[26415,0,"s"],[26415,1],[26417,0,"{"],[26418,0,"r"],[26419,0,"e"],[26420,0,"c"],[26421,0,"v"],[26422,0,"}"],[26423,0,")"],[26424,0,"$"],[26425,0,","],[26426,0," "],[26427,0,"t"],[26428,0,"h"],[26429,0,"e"],[26430,0," "],[26431,0,"r"],[26432,0,"u"],[26433,0,"l"],[26434,0,"e"],[26435,0," "],[26436,0,"\\"],[26437,0,"t"],[26438,0,"e"],[26439,0,"x"],[26440,0,"t"],[26441,0,"s"],[26442,0,"c"],[26443,0,"{"],[26444,0,"A"],[26445,0,"p"],[26446,0,"p"],[26447,0,"l"],[26448,0,"y"],[26449,0,"-"],[26450,0,"R"],[26451,0,"e"],[26452,0,"m"],[26453,0,"o"],[26454,0,"t"],[26455,0,"e"],[26456,0,"}"],[26457,0," "],[26458,0,"m"],[26459,0,"a"],[26460,0,"y"],[26461,0," "],[26462,0,"a"],[26463,0,"p"],[26464,0,"p"],[26465,0,"l"],[26466,0,"y"],[26467,0,"."],[26468,0," "],[26469,0,"U"],[26470,0,"n"],[26471,0,"d"],[26472,0,"e"],[26473,0,"r"],[26474,0," "],[26475,0,"t"],[26476,0,"h"],[26477,0,"e"],[26478,0," "],[26479,0,"p"],[26480,0,"r"],[26481,0,"e"],[26482,0,"c"],[26483,0,"o"],[26484,0,"n"],[26485,0,"d"],[26486,0,"i"],[26487,0,"t"],[26488,0,"i"],[26489,0,"o"],[26490,0,"n"],[26491,0," "],[26492,0,"t"],[26493,0,"h"],[26494,0,"a"],[26495,0,"t"],[26496,0," "],[26497,0,"t"],[26498,0,"h"],[26499,0,"e"],[26500,0," "],[26501,0,"o"],[26502,0,"p"],[26503,0,"e"],[26504,0,"r"],[26505,0,"a"],[26506,0,"t"],[26507,0,"i"],[26508,0,"o"],[26509,0,"n"],[26510,0," "],[26511,0,"h"],[26512,0,"a"],[26513,0,"s"],[26514,0," "],[26515,0,"n"],[26516,0,"o"],[26517,0,"t"],[26518,0," "],[26519,0,"a"],[26520,0,"l"],[26521,0,"r"],[26522,0,"e"],[26523,0,"a"],[26524,0,"d"],[26525,0,"y"],[26526,0," "],[26527,0,"b"],[26528,0,"e"],[26529,0,"e"],[26530,0,"n"],[26531,0," "],[26532,0,"p"],[26533,0,"r"],[26534,0,"o"],[26535,0,"c"],[26536,0,"e"],[26537,0,"s"],[26538,0,"s"],[26539,0,"e"],[26540,0,"d"],[26491,0,"s"],[26542,0," "],[26543,0,"a"],[26544,0,"n"],[26545,0,"d"],[26546,0," "],[26547,0,"t"],[26548,0,"h"],[26549,0,"a"],[26550,0,"t"],[26551,0," "],[26552,0,"i"],[26553,0,"t"],[26554,0,"s"],[26555,0," "],[26556,0,"c"],[26557,0,"a"],[26558,0,"u"],[26559,0,"s"],[26560,0,"a"],[26561,0,"l"],[26562,0," "],[26563,0,"d"],[26564,0,"e"],[26565,0,"p"],[26566,0,"e"],[26567,0,"n"],[26568,0,"d"],[26569,0,"e"],[26570,0,"n"],[26571,0,"c"],[26572,0,"i"],[26573,0,"e"],[26574,0,"s"],[26575,0," "],[26576,0,"h"],[26577,0,"a"],[26578,0,"v"],[26578,1],[26577,1],[26576,1],[26576,0,"a"],[26577,0,"r"],[26578,0,"e"],[26579,0," "],[26580,0,"s"],[26581,0,"a"],[26582,0,"t"],[26583,0,"i"],[26584,0,"s"],[26585,0,"i"],[26586,0,"f"],[26587,0,"i"],[26588,0,"e"],[26589,0,"d"],[26590,0,","],[26591,0," "],[26592,0,"\\"],[26593,0,"t"],[26594,0,"e"],[26595,0,"x"],[26596,0,"t"],[26597,0,"s"],[26598,0,"c"],[26599,0,"{"],[26600,0,"A"],[26601,0,"p"],[26602,0,"p"],[26603,0,"l"],[26604,0,"y"],[26605,0,"-"],[26606,0,"R"],[26607,0,"e"],[26608,0,"m"],[26609,0,"o"],[26610,0,"t"],[26611,0,"e"],[26612,0,"}"],[26613,0," "],[26614,0,"e"],[26615,0,"v"],[26616,0,"a"],[26617,0,"l"],[26618,0,"u"],[26619,0,"a"],[26620,0,"t"],[26621,0,"e"],[26622,0,"s"],[26623,0," "],[26624,0,"t"],[26625,0,"h"],[26626,0,"e"],[26627,0," "],[26628,0,"o"],[26629,0,"p"],[26630,0,"e"],[26631,0,"r"],[26632,0,"a"],[26633,0,"t"],[26634,0,"i"],[26635,0,"o"],[26636,0,"n"],[26637,0," "],[26638,0,"i"],[26639,0,"n"],[26640,0," "],[26641,0,"t"],[26642,0,"h"],[26643,0,"e"],[26644,0," "],[26645,0,"s"],[26646,0,"a"],[26647,0,"m"],[26648,0,"e"],[26649,0," "],[26650,0,"s"],[26650,1],[26650,0,"w"],[26651,0,"a"],[26652,0,"y"],[26653,0," "],[26654,0,"a"],[26655,0,"s"],[26656,0," "],[26657,0,"\\"],[26658,0,"t"],[26659,0,"e"],[26660,0,"x"],[26661,0,"t"],[26662,0,"s"],[26663,0,"c"],[26664,0,"{"],[26665,0,"A"],[26666,0,"p"],[26667,0,"p"],[26668,0,"l"],[26669,0,"y"],[26670,0,"-"],[26671,0,"L"],[26672,0,"o"],[26673,0,"c"],[26674,0,"a"],[26675,0,"l"],[26676,0,"}"],[26677,0,","],[26678,0," "],[26679,0,"a"],[26680,0,"n"],[26681,0,"d"],[26682,0," "],[26683,0,"a"],[26684,0,"d"],[26685,0,"d"],[26686,0,"s"],[26687,0," "],[26688,0,"t"],[26689,0,"h"],[26690,0,"e"],[26691,0," "],[26692,0,"o"],[26693,0,"p"],[26694,0,"e"],[26695,0,"r"],[26696,0,"a"],[26697,0,"t"],[26698,0,"i"],[26699,0,"o"],[26700,0,"n"],[26701,0," "],[26702,0,"I"],[26703,0,"D"],[26704,0," "],[26705,0,"t"],[26706,0,"o"],[26707,0," "],[26708,0,"t"],[26709,0,"h"],[26710,0,"e"],[26711,0," "],[26712,0,"s"],[26713,0,"e"],[26714,0,"t"],[26715,0," "],[26716,0,"o"],[26717,0,"f"],[26718,0," "],[26719,0,"p"],[26720,0,"r"],[26721,0,"o"],[26722,0,"c"],[26723,0,"e"],[26724,0,"s"],[26725,0,"s"],[26726,0,"e"],[26727,0,"d"],[26728,0," "],[26729,0,"o"],[26730,0,"p"],[26731,0,"e"],[26732,0,"r"],[26733,0,"a"],[26734,0,"t"],[26735,0,"i"],[26736,0,"o"],[26737,0,"n"],[26738,0,"s"],[26739,0," "],[26740,0,"$"],[26741,0,"A"],[26742,0,"_"],[26743,0,"p"],[26744,0,"("],[26745,0,"\\"],[26746,0,"m"],[26747,0,"a"],[26748,0,"t"],[26749,0,"h"],[26750,0,"s"],[26751,0,"f"],[26752,0,"{"],[26753,0,"o"],[26754,0,"p"],[26755,0,"s"],[26756,0,"}"],[26757,0,")"],[26758,0,"$"],[26759,0,"."],[26760,0,"\n"],[26761,0,"\n"],[26762,0,"T"],[26763,0,"h"],[26764,0,"e"],[26765,0," "],[26766,0,"a"],[26767,0,"c"],[26768,0,"t"],[26769,0,"u"],[26770,0,"a"],[26771,0,"l"],[26772,0," "],[26773,0,"d"],[26774,0,"o"],[26775,0,"c"],[26776,0,"u"],[26777,0,"m"],[26778,0,"e"],[26779,0,"n"],[26780,0,"t"],[26781,0," "],[26782,0,"m"],[26783,0,"o"],[26784,0,"d"],[26785,0,"i"],[26786,0,"f"],[26787,0,"i"],[26788,0,"c"],[26789,0,"a"],[26790,0,"t"],[26791,0,"i"],[26792,0,"o"],[26793,0,"n"],[26794,0,"s"],[26795,0," "],[26796,0,"a"],[26797,0,"r"],[26798,0,"e"],[26799,0," "],[26800,0,"p"],[26801,0,"e"],[26802,0,"r"],[26803,0,"f"],[26804,0,"o"],[26805,0,"r"],[26806,0,"m"],[26807,0,"e"],[26808,0,"d"],[26809,0," "],[26810,0,"b"],[26811,0,"y"],[26812,0," "],[26813,0,"e"],[26814,0,"v"],[26815,0,"a"],[26816,0,"l"],[26817,0,"u"],[26818,0,"a"],[26819,0,"t"],[26820,0,"i"],[26821,0,"o"],[26822,0,"n"],[26823,0,"g"],[26823,1],[26822,1],[26821,1],[26821,0,"n"],[26822,0,"g"],[26823,0," "],[26824,0,"t"],[26825,0,"h"],[26826,0,"e"],[26827,0," "],[26828,0,"o"],[26829,0,"p"],[26830,0,"e"],[26831,0,"r"],[26832,0,"a"],[26833,0,"t"],[26834,0,"i"],[26835,0,"o"],[26836,0,"n"],[26837,0,"s"],[26838,0,","],[26839,0," "],[26840,0,"w"],[26841,0,"h"],[26842,0,"i"],[26843,0,"c"],[26844,0,"h"],[26845,0," "],[26846,0,"w"],[26847,0,"e"],[26848,0," "],[26849,0,"d"],[26850,0,"i"],[26851,0,"s"],[26852,0,"c"],[26853,0,"u"],[26854,0,"s"],[26855,0,"s"],[26856,0," "],[26857,0,"i"],[26858,0,"n"],[26859,0," "],[26860,0,"t"],[26861,0,"h"],[26862,0,"e"],[26863,0," "],[26864,0,"n"],[26865,0,"e"],[26866,0,"t"],[26867,0," "],[26868,0,"s"],[26869,0,"e"],[26870,0,"c"],[26871,0,"t"],[26872,0,"i"],[26873,0,"o"],[26874,0,"n"],[26875,0,"."],[26866,0,"x"],[26877,0,"\n"],[26878,0,"\n"],[26879,0,"\\"],[26880,0,"s"],[26881,0,"u"],[26882,0,"b"],[26883,0,"s"],[26884,0,"e"],[26885,0,"c"],[26886,0,"t"],[26887,0,"i"],[26888,0,"o"],[26889,0,"n"],[26890,0,"{"],[26891,0,"A"],[26892,0,"p"],[26893,0,"p"],[26894,0,"l"],[26895,0,"y"],[26896,0,"i"],[26897,0,"n"],[26898,0,"g"],[26899,0," "],[26900,0,"o"],[26901,0,"p"],[26902,0,"e"],[26903,0,"r"],[26904,0,"a"],[26905,0,"t"],[26906,0,"i"],[26907,0,"o"],[26908,0,"n"],[26909,0,"s"],[26910,0,"}"],[26911,0,"%"],[26912,0," "],[26913,0,"T"],[26913,1],[26912,1],[26911,1],[26911,0,"\n"],[26912,0,"\n"],[26913,0,"%"],[26914,0," "],[26915,0,"T"],[26916,0,"O"],[26917,0,"D"],[26918,0,"O"],[26919,0,"\n"],[26920,0,"\n"],[26921,0,"\\"],[26922,0,"b"],[26923,0,"e"],[26924,0,"g"],[26925,0,"i"],[26926,0,"n"],[26927,0,"{"],[26928,0,"f"],[26929,0,"i"],[26930,0,"g"],[26931,0,"u"],[26932,0,"r"],[26933,0,"e"],[26934,0,"*"],[26935,0,"}"],[26936,0,"\n"],[26937,0,"\\"],[26938,0,"e"],[26939,0,"n"],[26940,0,"d"],[26941,0,"{"],[26942,0,"f"],[26943,0,"i"],[26944,0,"g"],[26945,0,"u"],[26946,0,"r"],[26947,0,"e"],[26948,0,"*"],[26949,0,"}"],[26936,0,"\n"],[26937,0,"\\"],[26938,0,"c"],[26939,0,"a"],[26940,0,"p"],[26941,0,"t"],[26942,0,"i"],[26943,0,"o"],[26944,0,"n"],[26945,0,"{"],[26946,0,"R"],[26947,0,"u"],[26948,0,"l"],[26949,0,"e"],[26950,0,"s"],[26951,0," "],[26952,0,"f"],[26953,0,"o"],[26954,0,"r"],[26955,0," "],[26956,0,"e"],[26957,0,"v"],[26958,0,"a"],[26959,0,"l"],[26960,0,"u"],[26961,0,"a"],[26962,0,"t"],[26963,0,"i"],[26964,0,"o"],[26965,0,"n"],[26966,0,"g"],[26967,0," "],[26967,1],[26966,1],[26965,1],[26964,1],[26963,1],[26963,0,"i"],[26964,0,"n"],[26965,0,"g"],[26966,0," "],[26967,0,"o"],[26968,0,"p"],[26969,0,"e"],[26970,0,"r"],[26971,0,"a"],[26972,0,"t"],[26973,0,"i"],[26974,0,"o"],[26975,0,"n"],[26976,0,"s"],[26977,0," "],[26978,0,"a"],[26979,0,"n"],[26980,0,"d"],[26981,0," "],[26982,0,"m"],[26983,0,"o"],[26984,0,"d"],[26985,0,"i"],[26986,0,"f"],[26987,0,"y"],[26988,0,"i"],[26989,0,"n"],[26990,0,"g"],[26991,0," "],[26992,0,"d"],[26993,0,"o"],[26994,0,"c"],[26995,0,"u"],[26996,0,"m"],[26997,0,"e"],[26998,0,"n"],[26999,0,"t"],[27000,0," "],[27001,0,"s"],[27002,0,"t"],[27003,0,"a"],[27004,0,"t"],[27005,0,"e"],[27006,0,"}"],[27007,0,"\\"],[27008,0,"f"],[27009,0,"i"],[27010,0,"g"],[27010,1],[27009,1],[27008,1],[27008,0,"l"],[27009,0,"a"],[27010,0,"b"],[27011,0,"e"],[27012,0,"l"],[27013,0,"{"],[27014,0,"f"],[27015,0,"i"],[27016,0,"g"],[27017,0,":"],[27018,0,"o"],[27019,0,"p"],[27020,0,"e"],[27021,0,"r"],[27022,0,"a"],[27023,0,"t"],[27024,0,"i"],[27025,0,"o"],[27026,0,"n"],[27027,0,"-"],[27028,0,"r"],[27029,0,"u"],[27030,0,"l"],[27031,0,"e"],[27032,0,"s"],[27033,0,"}"],[26936,0,"\n"],[26937,0,"\\"],[26938,0,"b"],[26939,0,"e"],[26940,0,"g"],[26941,0,"i"],[26942,0,"n"],[26943,0,"{"],[26944,0,"p"],[26945,0,"r"],[26946,0,"o"],[26947,0,"o"],[26948,0,"f"],[26949,0,"t"],[26950,0,"r"],[26951,0,"e"],[26952,0,"e"],[26953,0,"}"],[26954,0,"\n"],[26955,0,"\\"],[26956,0,"e"],[26957,0,"n"],[26958,0,"d"],[26959,0,"{"],[26960,0,"p"],[26961,0,"r"],[26962,0,"o"],[26963,0,"o"],[26964,0,"f"],[26965,0,"t"],[26966,0,"r"],[26967,0,"e"],[26968,0,"e"],[26969,0,"}"],[26954,0,"\n"],[26955,0,"\\"],[26956,0,"A"],[26957,0,"x"],[26958,0,"i"],[26959,0,"o"],[26960,0,"m"],[26961,0,"C"],[26962,0,"{"],[26963,0,"$"],[26964,0,"K"],[26964,1],[26964,0,"k"],[26965,0,"_"],[26966,0,"1"],[26967,0," "],[26968,0,"\\"],[26969,0,"i"],[26970,0,"n"],[26971,0," "],[26972,0,"\\"],[26973,0,"m"],[26974,0,"a"],[26975,0,"t"],[26976,0,"h"],[26977,0,"r"],[26978,0,"m"],[26979,0,"{"],[26980,0,"d"],[26981,0,"o"],[26982,0,"m"],[26983,0,"}"],[26984,0,"("],[26985,0,"\\"],[26986,0,"m"],[26987,0,"a"],[26988,0,"t"],[26989,0,"h"],[26990,0,"i"],[26991,0,"t"],[26992,0,"{"],[26993,0,"c"],[26994,0,"t"],[26995,0,"x"],[26996,0,"}"],[26997,0,")"],[26998,0,"$"],[26999,0,"}"],[27000,0,"\n"],[27001,0,"\\"],[27002,0,"A"],[27003,0,"x"],[27004,0,"i"],[27005,0,"o"],[27006,0,"m"],[27007,0,"C"],[27008,0,"{"],[27009,0,"$"],[27010,0,"\\"],[27011,0,"m"],[27012,0,"a"],[27013,0,"t"],[27014,0,"h"],[27015,0,"i"],[27016,0,"t"],[27017,0,"{"],[27018,0,"c"],[27019,0,"t"],[27020,0,"x"],[27021,0,"}"],[27022,0,"("],[27023,0,"k"],[27024,0,"_"],[27025,0,"1"],[27026,0,")"],[27027,0,","],[27028,0,"\\"],[27029,0,","],[27030,0," "],[27031,0,"\\"],[27032,0,"m"],[27033,0,"a"],[27034,0,"t"],[27035,0,"h"],[27036,0,"s"],[27037,0,"f"],[27038,0,"{"],[27039,0,"o"],[27040,0,"p"],[27041,0,"}"],[27042,0,"("],[27043,0,"\\"],[27044,0,"m"],[27045,0,"a"],[27046,0,"t"],[27047,0,"h"],[27048,0,"i"],[27049,0,"t"],[27050,0,"{"],[27051,0,"i"],[27052,0,"d"],[27053,0,"}"],[27054,0,","],[27055,0," "],[27056,0,"\\"],[27057,0,"m"],[27058,0,"a"],[27059,0,"t"],[27060,0,"h"],[27061,0,"i"],[27062,0,"t"],[27063,0,"{"],[27064,0,"d"],[27065,0,"e"],[27066,0,"p"],[27067,0,"s"],[27068,0,"}"],[27069,0,","],[27070,0," "],[27070,1],[27070,0,"\n"],[27071,0," "],[27072,0," "],[27073,0," "],[27074,0," "],[27075,0,"\\"],[27076,0,"m"],[27077,0,"a"],[27078,0,"t"],[27079,0,"h"],[27080,0,"s"],[27081,0,"f"],[27082,0,"{"],[27083,0,"c"],[27084,0,"u"],[27085,0,"r"],[27086,0,"s"],[27087,0,"o"],[27088,0,"r"],[27089,0,"}"],[27090,0,"("],[27091,0,"\\"],[27092,0,"l"],[27093,0,"a"],[27094,0,"n"],[27095,0,"g"],[27096,0,"l"],[27097,0,"e"],[27098,0," "],[27099,0,"k"],[27100,0,"_"],[27101,0,"2"],[27102,0,","],[27103,0," "],[27104,0,"\\"],[27105,0,"d"],[27106,0,"o"],[27107,0,"t"],[27108,0,"s"],[27109,0,","],[27110,0," "],[27111,0,"k"],[27112,0,"_"],[27113,0,"{"],[27114,0,"n"],[27115,0,"-"],[27116,0,"1"],[27117,0,"}"],[27118,0," "],[27119,0,"\\"],[27120,0,"r"],[27121,0,"a"],[27122,0,"n"],[27123,0,"g"],[27124,0,"l"],[27125,0,"e"],[27126,0,","],[27127,0,"\\"],[27128,0,","],[27129,0," "],[27130,0,"k"],[27131,0,"_"],[27132,0,"n"],[27133,0,")"],[27134,0,","],[27135,0," "],[27136,0,"\\"],[27137,0,"m"],[27138,0,"a"],[27139,0,"t"],[27140,0,"h"],[27141,0,"i"],[27142,0,"t"],[27143,0,"{"],[27144,0,"m"],[27145,0,"u"],[27146,0,"t"],[27147,0,"}"],[27148,0,")"],[27149,0," "],[27150,0,"\\"],[27151,0,"e"],[27152,0,"v"],[27153,0,"a"],[27154,0,"l"],[27155,0,"t"],[27156,0,"o"],[27157,0," "],[27158,0,"\\"],[27159,0,"m"],[27160,0,"a"],[27161,0,"t"],[27162,0,"h"],[27163,0,"i"],[27164,0,"t"],[27165,0,"{"],[27166,0,"s"],[27167,0,"t"],[27168,0,"a"],[27169,0,"t"],[27170,0,"e"],[27171,0,"}"],[27172,0,"$"],[27173,0,"}"],[27174,0,"\n"],[27175,0,"\\"],[27176,0,"L"],[27177,0,"e"],[27178,0,"f"],[27179,0,"t"],[27180,0,"L"],[27181,0,"a"],[27182,0,"b"],[27183,0,"e"],[27184,0,"l"],[27185,0,"{"],[27186,0,"\\"],[27187,0,"t"],[27188,0,"e"],[27189,0,"x"],[27190,0,"t"],[27191,0,"s"],[27192,0,"c"],[27193,0,"{"],[27194,0,"D"],[27195,0,"e"],[27196,0,"s"],[27197,0,"c"],[27198,0,"e"],[27199,0,"n"],[27200,0,"d"],[27201,0,"}"],[27202,0,"}"],[27203,0,"\n"],[27204,0,"\\"],[27205,0,"B"],[27206,0,"i"],[27207,0,"n"],[27208,0,"a"],[27209,0,"r"],[27210,0,"y"],[27211,0,"I"],[27212,0,"n"],[27213,0,"f"],[27214,0,"C"],[27215,0,"{"],[27216,0,"$"],[27217,0,"$"],[27218,0,"}"],[27217,0,"\\"],[27218,0,"m"],[27219,0,"a"],[27220,0,"t"],[27221,0,"h"],[27222,0,"i"],[27223,0,"t"],[27224,0,"{"],[27225,0,"c"],[27226,0,"t"],[27227,0,"x"],[27228,0,"}"],[27229,0,","],[27230,0,"\\"],[27231,0,","],[27232,0," "],[27233,0,"\\"],[27234,0,"m"],[27235,0,"a"],[27236,0,"t"],[27237,0,"h"],[27238,0,"s"],[27239,0,"f"],[27240,0,"{"],[27241,0,"o"],[27242,0,"p"],[27243,0,"}"],[27244,0,"("],[27245,0,"\\"],[27246,0,"m"],[27247,0,"a"],[27248,0,"t"],[27249,0,"h"],[27250,0,"i"],[27251,0,"t"],[27252,0,"{"],[27253,0,"i"],[27254,0,"d"],[27255,0,"}"],[27256,0,","],[27257,0," "],[27258,0,"\\"],[27259,0,"m"],[27260,0,"a"],[27261,0,"t"],[27262,0,"h"],[27263,0,"i"],[27264,0,"t"],[27265,0,"{"],[27266,0,"d"],[27267,0,"e"],[27268,0,"p"],[27269,0,"s"],[27270,0,"}"],[27271,0,","],[27272,0,"\n"],[27273,0," "],[27274,0," "],[27275,0," "],[27276,0," "],[27277,0,"\\"],[27278,0,"m"],[27279,0,"a"],[27280,0,"t"],[27281,0,"h"],[27282,0,"s"],[27283,0,"f"],[27284,0,"{"],[27285,0,"c"],[27286,0,"u"],[27287,0,"r"],[27288,0,"s"],[27289,0,"o"],[27290,0,"r"],[27291,0,"}"],[27292,0,"("],[27293,0,"\\"],[27294,0,"l"],[27295,0,"a"],[27296,0,"n"],[27297,0,"g"],[27298,0,"l"],[27299,0,"e"],[27300,0," "],[27301,0,"k"],[27302,0,"_"],[27303,0,"1"],[27304,0,","],[27305,0," "],[27306,0,"k"],[27307,0,"_"],[27308,0,"2"],[27309,0,","],[27310,0," "],[27311,0,"\\"],[27312,0,"d"],[27313,0,"o"],[27314,0,"t"],[27315,0,"s"],[27316,0,","],[27317,0," "],[27318,0,"k"],[27319,0,"_"],[27320,0,"{"],[27321,0,"n"],[27322,0,"-"],[27323,0,"1"],[27324,0,"}"],[27325,0," "],[27326,0,"\\"],[27327,0,"r"],[27328,0,"a"],[27329,0,"n"],[27330,0,"g"],[27331,0,"l"],[27332,0,"e"],[27333,0,","],[27334,0,"\\"],[27335,0,","],[27336,0," "],[27337,0,"k"],[27338,0,"_"],[27339,0,"n"],[27340,0,")"],[27341,0,","],[27342,0," "],[27343,0,"\\"],[27344,0,"m"],[27345,0,"a"],[27346,0,"t"],[27347,0,"h"],[27348,0,"i"],[27349,0,"t"],[27350,0,"{"],[27351,0,"m"],[27352,0,"u"],[27353,0,"t"],[27354,0,"}"],[27355,0,")"],[27356,0," "],[27357,0,"\\"],[27358,0,"e"],[27359,0,"v"],[27360,0,"a"],[27361,0,"l"],[27362,0,"t"],[27363,0,"o"],[27364,0,"\n"],[27365,0," "],[27366,0," "],[27367,0," "],[27368,0," "],[27369,0,"\\"],[27370,0,"m"],[27371,0,"a"],[27372,0,"t"],[27373,0,"h"],[27374,0,"i"],[27375,0,"t"],[27376,0,"{"],[27377,0,"c"],[27378,0,"t"],[27379,0,"x"],[27380,0,"}"],[27381,0,"["],[27382,0,"\\"],[27383,0,","],[27384,0," "],[27385,0,"k"],[27386,0,"_"],[27387,0,"1"],[27388,0," "],[27389,0,"\\"],[27390,0,"m"],[27391,0,"a"],[27392,0,"p"],[27393,0,"s"],[27394,0,"t"],[27395,0,"o"],[27396,0," "],[27397,0,"\\"],[27398,0,"m"],[27399,0,"a"],[27400,0,"t"],[27401,0,"h"],[27402,0,"i"],[27403,0,"t"],[27404,0,"{"],[27405,0,"s"],[27406,0,"t"],[27407,0,"a"],[27408,0,"t"],[27409,0,"e"],[27410,0,"}"],[27411,0," "],[27412,0,"\\"],[27413,0,","],[27414,0,"]"],[27389,0,","],[27389,0,"\\"],[27398,0,"\\"],[27399,0,","],[27437,0,"\n"],[27438,0,"\n"],[27439,0,"\\"],[27440,0,"b"],[27441,0,"e"],[27442,0,"g"],[27443,0,"i"],[27444,0,"n"],[27445,0,"{"],[27446,0,"p"],[27447,0,"r"],[27448,0,"o"],[27449,0,"o"],[27450,0,"f"],[27451,0,"t"],[27452,0,"r"],[27453,0,"e"],[27454,0,"e"],[27455,0,"}"],[27456,0,"\n"],[27457,0,"\\"],[27458,0,"e"],[27459,0,"n"],[27460,0,"d"],[27461,0,"{"],[27462,0,"p"],[27463,0,"r"],[27464,0,"o"],[27465,0,"o"],[27466,0,"f"],[27467,0,"t"],[27468,0,"r"],[27469,0,"e"],[27470,0,"e"],[27471,0,"}"],[27456,0,"\n"],[27457,0,"\\"],[27458,0,"A"],[27459,0,"x"],[27460,0,"i"],[27461,0,"o"],[27462,0,"m"],[27463,0,"C"],[27464,0,"{"],[27465,0,"$"],[27466,0,"k"],[27467,0,"_"],[27468,0,"1"],[27469,0," "],[27470,0,"\\"],[27471,0,"n"],[27472,0,"o"],[27473,0,"t"],[27474,0,"i"],[27475,0,"n"],[27476,0," "],[27477,0,"\\"],[27478,0,"m"],[27479,0,"a"],[27480,0,"t"],[27481,0,"h"],[27482,0,"r"],[27483,0,"m"],[27484,0,"{"],[27485,0,"d"],[27486,0,"o"],[27487,0,"m"],[27488,0,"}"],[27489,0,"("],[27490,0,"\\"],[27491,0,"m"],[27492,0,"a"],[27493,0,"t"],[27494,0,"h"],[27495,0,"i"],[27496,0,"t"],[27497,0,"{"],[27498,0,"c"],[27499,0,"t"],[27500,0,"x"],[27501,0,"}"],[27502,0,")"],[27503,0,"$"],[27504,0,"}"],[27505,0,"\n"],[27506,0,"\\"],[27507,0,"A"],[27508,0,"x"],[27509,0,"i"],[27510,0,"o"],[27511,0,"m"],[27512,0,"C"],[27513,0,"{"],[27514,0,"$"],[27515,0,"k"],[27516,0,"_"],[27517,0,"1"],[27518,0," "],[27519,0,"="],[27520,0," "],[27521,0,"\\"],[27522,0,"m"],[27523,0,"a"],[27524,0,"t"],[27525,0,"h"],[27526,0,"s"],[27527,0,"f"],[27528,0,"{"],[27529,0,"m"],[27530,0,"a"],[27531,0,"p"],[27532,0,"T"],[27533,0,"}"],[27534,0,"("],[27535,0,"k"],[27536,0,"_"],[27537,0,"\\"],[27538,0,"m"],[27539,0,"a"],[27540,0,"t"],[27541,0,"h"],[27542,0,"i"],[27543,0,"t"],[27544,0,"{"],[27545,0,"n"],[27546,0,"e"],[27547,0,"w"],[27548,0,"}"],[27549,0,")"],[27550,0,"$"],[27551,0,"}"],[27552,0,"\n"],[27553,0,"\\"],[27554,0,"L"],[27555,0,"e"],[27556,0,"f"],[27556,1],[27555,1],[27554,1],[27554,0,"A"],[27555,0,"x"],[27556,0,"i"],[27557,0,"o"],[27558,0,"m"],[27559,0,"C"],[27560,0,"{"],[27561,0,"$"],[27562,0,"\\"],[27563,0,"{"],[27564,0,"\\"],[27565,0,"}"],[27566,0,","],[27567,0,"\\"],[27568,0,","],[27569,0," "],[27570,0,"\\"],[27571,0,"m"],[27572,0,"a"],[27573,0,"t"],[27574,0,"h"],[27575,0,"s"],[27576,0,"f"],[27577,0,"{"],[27578,0,"o"],[27579,0,"p"],[27580,0,"}"],[27581,0,"{"],[27582,0,"\\"],[27583,0,"m"],[27584,0,"a"],[27585,0,"t"],[27586,0,"h"],[27587,0,"i"],[27588,0,"t"],[27589,0,"{"],[27590,0,"i"],[27591,0,"d"],[27592,0,"}"],[27593,0,","],[27594,0," "],[27595,0,"\\"],[27596,0,"m"],[27597,0,"a"],[27598,0,"t"],[27599,0,"h"],[27600,0,"i"],[27601,0,"t"],[27602,0,"{"],[27603,0,"d"],[27604,0,"e"],[27605,0,"p"],[27606,0,"s"],[27607,0,"}"],[27608,0,","],[27609,0,"\n"],[27610,0," "],[27611,0," "],[27612,0," "],[27613,0," "],[27614,0,"\\"],[27615,0,"m"],[27616,0,"a"],[27617,0,"t"],[27618,0,"h"],[27619,0,"s"],[27620,0,"f"],[27621,0,"{"],[27622,0,"c"],[27623,0,"u"],[27624,0,"r"],[27625,0,"s"],[27626,0,"o"],[27627,0,"r"],[27628,0,"}"],[27629,0,"("],[27630,0,"\\"],[27631,0,"l"],[27632,0,"a"],[27633,0,"n"],[27634,0,"g"],[27635,0,"l"],[27636,0,"e"],[27637,0," "],[27638,0,"k"],[27639,0,"_"],[27640,0,"2"],[27641,0,","],[27642,0," "],[27643,0,"\\"],[27644,0,"d"],[27645,0,"o"],[27646,0,"t"],[27647,0,"s"],[27648,0,","],[27649,0," "],[27650,0,"k"],[27651,0,"_"],[27652,0,"{"],[27653,0,"n"],[27654,0,"-"],[27655,0,"1"],[27656,0,"}"],[27657,0," "],[27658,0,"\\"],[27659,0,"r"],[27660,0,"a"],[27661,0,"n"],[27662,0,"g"],[27663,0,"l"],[27664,0,"e"],[27665,0,","],[27666,0,"\\"],[27667,0,","],[27668,0," "],[27669,0,"k"],[27670,0,"_"],[27671,0,"n"],[27672,0,")"],[27673,0,","],[27674,0," "],[27675,0,"\\"],[27676,0,"m"],[27677,0,"a"],[27678,0,"t"],[27679,0,"h"],[27680,0,"i"],[27681,0,"t"],[27682,0,"{"],[27683,0,"m"],[27684,0,"u"],[27685,0,"t"],[27686,0,"}"],[27687,0,")"],[27688,0," "],[27689,0,"\\"],[27690,0,"e"],[27691,0,"v"],[27692,0,"a"],[27693,0,"l"],[27694,0,"t"],[27695,0,"o"],[27696,0," "],[27697,0,"\\"],[27698,0,"m"],[27699,0,"a"],[27700,0,"t"],[27701,0,"h"],[27702,0,"i"],[27703,0,"t"],[27704,0,"{"],[27705,0,"s"],[27706,0,"t"],[27707,0,"a"],[27708,0,"t"],[27709,0,"e"],[27710,0,"}"],[27711,0,"$"],[27712,0,"}"],[27713,0,"\n"],[27714,0,"\\"],[27715,0,"L"],[27716,0,"e"],[27717,0,"f"],[27718,0,"t"],[27719,0,"L"],[27720,0,"a"],[27721,0,"b"],[27722,0,"e"],[27723,0,"l"],[27724,0,"{"],[27725,0,"\\"],[27726,0,"t"],[27727,0,"e"],[27728,0,"x"],[27729,0,"t"],[27730,0,"s"],[27731,0,"c"],[27732,0,"{"],[27733,0,"D"],[27734,0,"e"],[27735,0,"f"],[27736,0,"-"],[27737,0,"M"],[27738,0,"a"],[27739,0,"p"],[27740,0,"}"],[27741,0,"}"],[27742,0,"\n"],[27743,0,"\\"],[27744,0,"T"],[27745,0,"r"],[27746,0,"i"],[27747,0,"n"],[27748,0,"a"],[27749,0,"r"],[27750,0,"y"],[27751,0,"I"],[27752,0,"n"],[27753,0,"f"],[27754,0,"C"],[27755,0,"{"],[27756,0,"$"],[27757,0,"\\"],[27758,0,"m"],[27759,0,"a"],[27760,0,"t"],[27761,0,"h"],[27762,0,"i"],[27763,0,"t"],[27764,0,"{"],[27765,0,"c"],[27766,0,"t"],[27767,0,"x"],[27768,0,"}"],[27769,0,","],[27770,0,"\\"],[27771,0,","],[27772,0," "],[27773,0,"\\"],[27774,0,"m"],[27775,0,"a"],[27776,0,"t"],[27777,0,"h"],[27778,0,"i"],[27778,1],[27778,0,"s"],[27779,0,"f"],[27780,0,"{"],[27781,0,"o"],[27782,0,"p"],[27783,0,"}"],[27784,0,"("],[27785,0,"\\"],[27786,0,"m"],[27787,0,"a"],[27788,0,"t"],[27789,0,"h"],[27790,0,"i"],[27791,0,"t"],[27792,0,"{"],[27793,0,"i"],[27794,0,"d"],[27795,0,"}"],[27796,0,","],[27797,0," "],[27798,0,"\\"],[27799,0,"m"],[27800,0,"a"],[27801,0,"t"],[27802,0,"h"],[27803,0,"i"],[27804,0,"t"],[27805,0,"{"],[27806,0,"d"],[27807,0,"e"],[27808,0,"p"],[27809,0,"s"],[27810,0,"}"],[27811,0,","],[27812,0,"\n"],[27813,0," "],[27814,0," "],[27815,0,"\\"],[27816,0,"m"],[27817,0,"a"],[27818,0,"t"],[27819,0,"h"],[27820,0,"s"],[27821,0,"f"],[27813,0," "],[27814,0," "],[27824,0,"{"],[27825,0,"c"],[27826,0,"u"],[27827,0,"r"],[27828,0,"s"],[27829,0,"o"],[27830,0,"r"],[27831,0,"}"],[27832,0,"("],[27833,0,"\\"],[27834,0,"l"],[27835,0,"a"],[27836,0,"n"],[27837,0,"g"],[27838,0,"l"],[27839,0,"e"],[27840,0," "],[27841,0,"k"],[27842,0,"_"],[27843,0,"1"],[27844,0,","],[27845,0," "],[27846,0,"k"],[27847,0,"_"],[27848,0,"2"],[27849,0,","],[27850,0," "],[27851,0,"\\"],[27852,0,"d"],[27853,0,"o"],[27854,0,"t"],[27855,0,"s"],[27856,0,","],[27857,0," "],[27858,0,"k"],[27859,0,"_"],[27860,0,"{"],[27861,0,"n"],[27862,0,"-"],[27863,0,"1"],[27864,0,"}"],[27865,0," "],[27866,0,"\\"],[27867,0,"r"],[27868,0,"a"],[27869,0,"n"],[27870,0,"g"],[27871,0,"l"],[27872,0,"e"],[27873,0,","],[27874,0,"\\"],[27875,0,","],[27876,0," "],[27877,0,"k"],[27878,0,"_"],[27879,0,"n"],[27880,0,")"],[27881,0,","],[27882,0," "],[27883,0,"\\"],[27884,0,"m"],[27885,0,"a"],[27886,0,"t"],[27887,0,"h"],[27888,0,"i"],[27889,0,"t"],[27890,0,"{"],[27891,0,"m"],[27892,0,"u"],[27893,0,"t"],[27894,0,"}"],[27895,0,")"],[27896,0," "],[27897,0,"\\"],[27898,0,"e"],[27899,0,"v"],[27900,0,"a"],[27901,0,"l"],[27902,0,"t"],[27903,0,"o"],[27904,0,"\n"],[27905,0," "],[27906,0," "],[27907,0," "],[27908,0," "],[27909,0,"\\"],[27910,0,"m"],[27911,0,"a"],[27912,0,"t"],[27913,0,"h"],[27914,0,"i"],[27915,0,"t"],[27916,0,"{"],[27917,0,"c"],[27918,0,"t"],[27919,0,"x"],[27920,0,"}"],[27921,0,"["],[27922,0,"\\"],[27923,0,","],[27924,0," "],[27925,0,"k"],[27926,0,"_"],[27927,0,"1"],[27928,0," "],[27929,0,"\\"],[27930,0,","],[27931,0,"\\"],[27932,0,"m"],[27933,0,"a"],[27934,0,"p"],[27935,0,"s"],[27936,0,"t"],[27937,0,"o"],[27938,0," "],[27938,1],[27938,0,"\\"],[27939,0,","],[27940,0," "],[27941,0,"\\"],[27942,0,"m"],[27943,0,"a"],[27944,0,"t"],[27945,0,"h"],[27946,0,"i"],[27947,0,"t"],[27948,0,"{"],[27949,0,"s"],[27950,0,"t"],[27951,0,"a"],[27952,0,"t"],[27953,0,"e"],[27954,0,"}"],[27955,0," "],[27956,0,"\\"],[27957,0,","],[27958,0,"]"],[27959,0,"$"],[27960,0,"}"],[27581,1],[27581,0,"("],[27977,0,"\n"],[27978,0,"\n"],[27979,0,"\\"],[27980,0,"b"],[27981,0,"e"],[27982,0,"g"],[27983,0,"i"],[27984,0,"n"],[27985,0,"{"],[27986,0,"p"],[27987,0,"r"],[27988,0,"o"],[27989,0,"o"],[27990,0,"f"],[27991,0,"t"],[27992,0,"r"],[27993,0,"e"],[27994,0,"e"],[27995,0,"}"],[27996,0,"\n"],[27997,0,"\\"],[27998,0,"A"],[27999,0,"x"],[28000,0,"i"],[28001,0,"o"],[28002,0,"m"],[28003,0,"C"],[28004,0,"{"],[28005,0,"$"],[28006,0,"k"],[28007,0,"_"],[28008,0,"1"],[28009,0," "],[28010,0,"\\"],[28011,0,"n"],[28012,0,"o"],[28013,0,"t"],[28014,0,"i"],[28015,0,"n"],[28016,0," "],[28017,0,"\\"],[28018,0,"m"],[28019,0,"a"],[28020,0,"t"],[28021,0,"h"],[28022,0,"r"],[28023,0,"m"],[28024,0,"{"],[28025,0,"d"],[28026,0,"o"],[28027,0,"m"],[28028,0,"}"],[28029,0,"("],[28030,0,"\\"],[28031,0,"m"],[28032,0,"a"],[28033,0,"t"],[28034,0,"h"],[28035,0,"i"],[28036,0,"t"],[28037,0,"{"],[28038,0,"c"],[28039,0,"t"],[28040,0,"x"],[28041,0,"}"],[28042,0,")"],[28043,0,"$"],[28044,0,"}"],[28045,0,"\n"],[28046,0,"\\"],[28047,0,"A"],[28048,0,"x"],[28049,0,"i"],[28050,0,"o"],[28051,0,"m"],[28052,0,"C"],[28053,0,"{"],[28054,0,"$"],[28055,0,"k"],[28056,0,"_"],[28057,0,"1"],[28058,0," "],[28059,0,"="],[28060,0," "],[28061,0,"\\"],[28062,0,"m"],[28063,0,"a"],[28064,0,"t"],[28065,0,"h"],[28066,0,"s"],[28067,0,"f"],[28068,0,"{"],[28069,0,"l"],[28070,0,"i"],[28071,0,"s"],[28072,0,"t"],[28073,0,"T"],[28074,0,"}"],[28075,0,"("],[28076,0,"k"],[28077,0,"_"],[28078,0,"\\"],[28079,0,"m"],[28080,0,"a"],[28081,0,"t"],[28082,0,"h"],[28083,0,"i"],[28084,0,"t"],[28085,0,"{"],[28086,0,"n"],[28087,0,"e"],[28088,0,"w"],[28089,0,"}"],[28090,0,")"],[28091,0,"$"],[28092,0,"}"],[28093,0,"\n"],[28094,0,"\\"],[28095,0,"A"],[28096,0,"x"],[28097,0,"i"],[28098,0,"o"],[28099,0,"m"],[28100,0,"C"],[28101,0,"{"],[28102,0,"$"],[28103,0,"\\"],[28104,0,"{"],[28105,0," "],[28106,0,"\\"],[28107,0,"m"],[28108,0,"a"],[28108,1],[28107,1],[28106,1],[28105,1],[28105,0,"\\"],[28106,0,"m"],[28107,0,"a"],[28108,0,"t"],[28109,0,"h"],[28110,0,"s"],[28111,0,"f"],[28112,0,"{"],[28113,0,"n"],[28114,0,"e"],[28115,0,"x"],[28116,0,"t"],[28117,0,"}"],[28118,0,"("],[28119,0,"\\"],[28120,0,"m"],[28121,0,"a"],[28122,0,"t"],[28123,0,"h"],[28124,0,"s"],[28125,0,"f"],[28126,0,"{"],[28127,0,"h"],[28128,0,"e"],[28129,0,"a"],[28130,0,"d"],[28131,0,"}"],[28132,0,")"],[28133,0," "],[28134,0,"\\"],[28135,0,"m"],[28136,0,"a"],[28137,0,"p"],[28138,0,"s"],[28139,0,"t"],[28140,0,"o"],[28141,0," "],[28142,0,"\\"],[28143,0,"m"],[28144,0,"a"],[28145,0,"t"],[28146,0,"h"],[28147,0,"s"],[28148,0,"f"],[28149,0,"{"],[28150,0,"t"],[28151,0,"a"],[28152,0,"i"],[28153,0,"l"],[28154,0,"}"],[28155,0,"\\"],[28156,0,"}"],[28157,0,","],[28158,0," "],[28159,0,"\\"],[28160,0,"m"],[28161,0,"a"],[28162,0,"t"],[28163,0,"h"],[28164,0,"s"],[28165,0,"f"],[28166,0,"{"],[28167,0,"o"],[28168,0,"p"],[28169,0,"}"],[28170,0,"("],[28171,0,"\\"],[28172,0,"m"],[28173,0,"a"],[28174,0,"t"],[28175,0,"h"],[28176,0,"i"],[28177,0,"t"],[28178,0,"{"],[28179,0,"i"],[28180,0,"d"],[28181,0,"}"],[28182,0,","],[28183,0," "],[28184,0,"\\"],[28185,0,"m"],[28186,0,"a"],[28187,0,"t"],[28188,0,"h"],[28189,0,"i"],[28190,0,"t"],[28191,0,"{"],[28192,0,"d"],[28193,0,"e"],[28194,0,"p"],[28195,0,"s"],[28196,0,"}"],[28197,0,","],[28198,0,"\n"],[28199,0," "],[28200,0," "],[28201,0," "],[28202,0," "],[28203,0,"\\"],[28204,0,"m"],[28205,0,"a"],[28206,0,"t"],[28207,0,"h"],[28208,0,"s"],[28209,0,"f"],[28210,0,"{"],[28211,0,"c"],[28212,0,"u"],[28213,0,"r"],[28214,0,"s"],[28215,0,"o"],[28216,0,"r"],[28217,0,"}"],[28218,0,"("],[28219,0,"\\"],[28220,0,"l"],[28221,0,"a"],[28222,0,"n"],[28223,0,"g"],[28224,0,"l"],[28225,0,"e"],[28226,0," "],[28227,0,"k"],[28228,0,"_"],[28229,0,"2"],[28230,0,","],[28231,0," "],[28232,0,"\\"],[28233,0,"d"],[28234,0,"o"],[28235,0,"t"],[28236,0,"s"],[28237,0,","],[28238,0," "],[28239,0,"k"],[28240,0,"_"],[28241,0,"{"],[28242,0,"n"],[28243,0,"-"],[28244,0,"1"],[28245,0,"}"],[28246,0," "],[28247,0,"\\"],[28248,0,"r"],[28249,0,"a"],[28250,0,"n"],[28251,0,"g"],[28252,0,"l"],[28253,0,"e"],[28254,0,","],[28255,0,"\\"],[28256,0,","],[28257,0," "],[28258,0,"k"],[28259,0,"_"],[28260,0,"n"],[28261,0,")"],[28262,0,","],[28263,0," "],[28264,0,"\\"],[28265,0,"m"],[28266,0,"a"],[28267,0,"t"],[28268,0,"h"],[28269,0,"i"],[28270,0,"t"],[28271,0,"{"],[28272,0,"m"],[28273,0,"u"],[28274,0,"t"],[28275,0,"}"],[28276,0,")"],[28277,0," "],[28278,0,"\\"],[28279,0,"e"],[28280,0,"v"],[28281,0,"a"],[28282,0,"l"],[28283,0,"t"],[28284,0,"o"],[28285,0," "],[28286,0,"\\"],[28287,0,"m"],[28288,0,"a"],[28289,0,"t"],[28290,0,"h"],[28291,0,"i"],[28292,0,"t"],[28293,0,"{"],[28294,0,"s"],[28295,0,"t"],[28296,0,"a"],[28297,0,"t"],[28298,0,"e"],[28299,0,"}"],[28300,0,"$"],[28301,0,"}"],[28302,0,"\n"],[28303,0,"\\"],[28304,0,"L"],[28305,0,"e"],[28306,0,"f"],[28307,0,"t"],[28308,0,"L"],[28309,0,"a"],[28310,0,"b"],[28311,0,"e"],[28312,0,"l"],[28313,0,"{"],[28314,0,"\\"],[28315,0,"t"],[28316,0,"e"],[28317,0,"x"],[28318,0,"t"],[28319,0,"s"],[28320,0,"c"],[28321,0,"{"],[28322,0,"D"],[28323,0,"e"],[28324,0,"f"],[28325,0,"-"],[28326,0,"L"],[28327,0,"i"],[28328,0,"s"],[28329,0,"t"],[28330,0,"}"],[28331,0,"}"],[28332,0,"\n"],[28333,0,"\\"],[28334,0,"T"],[28335,0,"r"],[28336,0,"i"],[28337,0,"n"],[28338,0,"a"],[28339,0,"r"],[28340,0,"y"],[28341,0,"I"],[28342,0,"n"],[28343,0,"f"],[28344,0,"C"],[28345,0,"{"],[28346,0,"$"],[28347,0,"\\"],[28348,0,"m"],[28349,0,"a"],[28350,0,"t"],[28351,0,"h"],[28352,0,"i"],[28353,0,"t"],[28354,0,"{"],[28355,0,"c"],[28356,0,"t"],[28357,0,"x"],[28358,0,"}"],[28359,0,","],[28360,0,"\\"],[28361,0,","],[28362,0," "],[28363,0,"\\"],[28364,0,"m"],[28365,0,"a"],[28366,0,"t"],[28367,0,"h"],[28368,0,"s"],[28369,0,"f"],[28370,0,"{"],[28371,0,"o"],[28372,0,"p"],[28373,0,"}"],[28374,0,"("],[28375,0,"\\"],[28376,0,"m"],[28377,0,"a"],[28378,0,"t"],[28379,0,"h"],[28380,0,"i"],[28381,0,"t"],[28382,0,"{"],[28383,0,"i"],[28384,0,"d"],[28385,0,"}"],[28386,0,","],[28387,0," "],[28388,0,"\\"],[28389,0,"m"],[28390,0,"a"],[28391,0,"t"],[28392,0,"h"],[28393,0,"i"],[28394,0,"t"],[28395,0,"{"],[28396,0,"d"],[28397,0,"e"],[28398,0,"p"],[28399,0,"s"],[28400,0,"}"],[28401,0,","],[28402,0,"\n"],[28403,0," "],[28404,0," "],[28405,0," "],[28406,0," "],[28407,0,"\\"],[28408,0,"m"],[28409,0,"a"],[28410,0,"t"],[28411,0,"h"],[28412,0,"s"],[28413,0,"f"],[28414,0,"{"],[28415,0,"c"],[28416,0,"u"],[28417,0,"r"],[28418,0,"s"],[28419,0,"o"],[28420,0,"r"],[28421,0,"}"],[28422,0,"("],[28423,0,"\\"],[28424,0,"l"],[28425,0,"a"],[28426,0,"n"],[28427,0,"g"],[28428,0,"l"],[28429,0,"e"],[28430,0," "],[28431,0,"k"],[28432,0,"_"],[28433,0,"1"],[28434,0,","],[28435,0," "],[28436,0,"\\"],[28437,0,"k"],[28438,0,"_"],[28439,0,"2"],[28440,0,","],[28441,0," "],[28442,0,"\\"],[28443,0,"d"],[28444,0,"o"],[28445,0,"t"],[28446,0,"s"],[28436,1],[28446,0,","],[28447,0," "],[28448,0,"k"],[28449,0,"_"],[28450,0,"{"],[28451,0,"n"],[28452,0,"-"],[28453,0,"1"],[28454,0,"}"],[28455,0," "],[28456,0,"\\"],[28457,0,"r"],[28458,0,"a"],[28459,0,"n"],[28460,0,"g"],[28461,0,"l"],[28462,0,"e"],[28463,0,","],[28464,0,"\\"],[28465,0,","],[28466,0," "],[28467,0,"k"],[28468,0,"_"],[28469,0,"n"],[28470,0,")"],[28471,0,","],[28472,0," "],[28473,0,"\\"],[28474,0,"m"],[28475,0,"a"],[28476,0,"t"],[28477,0,"h"],[28478,0,"i"],[28479,0,"t"],[28480,0,"{"],[28481,0,"m"],[28482,0,"u"],[28483,0,"t"],[28484,0,"}"],[28485,0,")"],[28486,0," "],[28487,0,"\\"],[28488,0,"e"],[28489,0,"v"],[28490,0,"a"],[28491,0,"l"],[28492,0,"t"],[28493,0,"o"],[28494,0,"\n"],[28495,0," "],[28496,0," "],[28497,0," "],[28498,0," "],[28499,0,"\\"],[28500,0,"m"],[28501,0,"a"],[28502,0,"t"],[28503,0,"h"],[28504,0,"s"],[28505,0,"f"],[28506,0,"{"],[28507,0,"c"],[28508,0,"t"],[28509,0,"x"],[28510,0,"}"],[28511,0,"["],[28512,0,"\\"],[28513,0,","],[28514,0," "],[28515,0,"k"],[28516,0,"_"],[28517,0,"1"],[28518,0," "],[28519,0,"\\"],[28520,0,","],[28521,0,"\\"],[28522,0,"m"],[28523,0,"a"],[28524,0,"p"],[28525,0,"s"],[28526,0,"t"],[28527,0,"o"],[28528,0," "],[28528,1],[28528,0,"\\"],[28529,0,","],[28530,0," "],[28531,0,"\\"],[28532,0,"m"],[28533,0,"a"],[28534,0,"t"],[28535,0,"h"],[28536,0,"i"],[28537,0,"t"],[28538,0,"{"],[28539,0,"s"],[28540,0,"t"],[28541,0,"a"],[28542,0,"t"],[28543,0,"e"],[28544,0,"}"],[28545,0," "],[28546,0,"\\"],[28547,0,","],[28548,0,"]"],[28549,0,"$"],[28550,0,"}"],[28551,0,"\n"],[28552,0,"\\"],[28553,0,"e"],[28554,0,"n"],[28555,0,"d"],[28556,0,"{"],[28557,0,"p"],[28558,0,"r"],[28559,0,"o"],[28560,0,"o"],[28561,0,"f"],[28562,0,"t"],[28563,0,"r"],[28564,0,"e"],[28565,0,"e"],[28566,0,"}"],[28103,0,"\\"],[28104,0,"b"],[28105,0,"e"],[28106,0,"g"],[28107,0,"i"],[28108,0,"n"],[28109,0,"{"],[28110,0,"m"],[28111,0,"a"],[28112,0,"t"],[28113,0,"r"],[28114,0,"i"],[28115,0,"x"],[28116,0,"}"],[28117,0,"\n"],[28118,0," "],[28119,0," "],[28120,0," "],[28121,0," "],[28217,0," "],[28218,0,"\\"],[28219,0,"\\"],[28322,0,"\n"],[28323,0," "],[28324,0," "],[28325,0," "],[28326,0," "],[28327,0,"\\"],[28328,0,"e"],[28329,0,"n"],[28330,0,"d"],[28331,0,"{"],[28332,0,"m"],[28333,0,"a"],[28334,0,"t"],[28335,0,"r"],[28336,0,"i"],[28337,0,"x"],[28338,0,"}"],[28339,0," "],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[28737,1],[30046,1],[30045,1],[30044,1],[30043,1],[30042,1],[30041,1],[30040,1],[30039,1],[30038,1],[30037,1],[30036,1],[30035,1],[30034,1],[30033,1],[30032,1],[30031,1],[30030,1],[30029,1],[30028,1],[30027,1],[30026,1],[30025,1],[30024,1],[30023,1],[30023,0,"e"],[30024,0,"v"],[30025,0,"a"],[30026,0,"l"],[30027,0,"u"],[30028,0,"a"],[30029,0,"t"],[30030,0,"i"],[30031,0,"n"],[30032,0,"g"],[30033,0," "],[30034,0,"o"],[30035,0,"p"],[30036,0,"e"],[30037,0,"r"],[30038,0,"a"],[30039,0,"t"],[30040,0,"i"],[30041,0,"o"],[30042,0,"n"],[30043,0,"s"],[30044,0," "],[30045,0,"a"],[30046,0,"n"],[30047,0,"d"],[30048,0," "],[30049,0,"m"],[30050,0,"o"],[30051,0,"d"],[30052,0,"i"],[30053,0,"f"],[30054,0,"y"],[30055,0,"i"],[30056,0,"n"],[30057,0,"g"],[30058,0," "],[30059,0,"d"],[30060,0,"o"],[30061,0,"c"],[30062,0,"u"],[30063,0,"m"],[30064,0,"e"],[30065,0,"n"],[30066,0,"t"],[30067,0," "],[30068,0,"s"],[30069,0,"t"],[30070,0,"a"],[30071,0,"t"],[30072,0,"e"],[30074,0,"\\"],[30075,0,"l"],[30076,0,"a"],[30077,0,"b"],[30078,0,"e"],[30079,0,"l"],[30080,0,"{"],[30081,0,"f"],[30082,0,"i"],[30083,0,"g"],[30084,0,":"],[30085,0,"o"],[30086,0,"p"],[30087,0,"e"],[30088,0,"r"],[30089,0,"a"],[30090,0,"t"],[30091,0,"i"],[30092,0,"o"],[30093,0,"n"],[30094,0,"-"],[30095,0,"r"],[30096,0,"u"],[30097,0,"l"],[30098,0,"e"],[30099,0,"s"],[30100,0,"}"],[30122,1],[30121,1],[30120,1],[30119,1],[30118,1],[30117,1],[30116,1],[30115,1],[30114,1],[30113,1],[30112,1],[30111,1],[30110,1],[30109,1],[30108,1],[30107,1],[30106,1],[30105,1],[30104,1],[30103,1],[30102,1],[30101,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28721,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,1],[28608,0,"\n"],[28609,0,"\\"],[28610,0,"b"],[28611,0,"e"],[28612,0,"g"],[28613,0,"i"],[28614,0,"n"],[28615,0,"{"],[28616,0,"p"],[28617,0,"r"],[28618,0,"o"],[28619,0,"o"],[28620,0,"f"],[28621,0,"t"],[28622,0,"r"],[28623,0,"e"],[28624,0,"e"],[28625,0,"}"],[28626,0,"\n"],[28627,0,"\\"],[28628,0,"e"],[28629,0,"n"],[28630,0,"d"],[28631,0,"{"],[28632,0,"p"],[28633,0,"r"],[28634,0,"o"],[28635,0,"o"],[28636,0,"f"],[28637,0,"t"],[28638,0,"r"],[28639,0,"e"],[28640,0,"e"],[28641,0,"}"],[28626,0,"\n"],[28627,0,"\\"],[28628,0,"A"],[28629,0,"x"],[28630,0,"i"],[28631,0,"o"],[28632,0,"m"],[28633,0,"C"],[28634,0,"{"],[28635,0,"$"],[28636,0,"\\"],[28637,0,"m"],[28638,0,"a"],[28639,0,"t"],[28640,0,"h"],[28641,0,"i"],[28642,0,"t"],[28643,0,"{"],[28644,0,"v"],[28645,0,"a"],[28646,0,"l"],[28647,0,"}"],[28648,0," "],[28649,0,"\\"],[28650,0,"n"],[28651,0,"o"],[28652,0,"t"],[28653,0,"="],[28654,0," "],[28655,0,"\\"],[28656,0,"t"],[28657,0,"e"],[28658,0,"x"],[28659,0,"t"],[28660,0,"t"],[28661,0,"t"],[28662,0,"{"],[28663,0,"["],[28664,0,"]"],[28665,0,"}"],[28666,0," "],[28667,0,"\\"],[28668,0,","],[28669,0,"\\"],[28670,0,"w"],[28671,0,"e"],[28672,0,"d"],[28673,0,"g"],[28674,0,"e"],[28675,0,"\\"],[28676,0,","],[28677,0," "],[28678,0,"\\"],[28679,0,"m"],[28680,0,"a"],[28681,0,"t"],[28682,0,"h"],[28683,0,"i"],[28684,0,"t"],[28685,0,"{"],[28686,0,"v"],[28687,0,"a"],[28688,0,"l"],[28689,0,"}"],[28690,0," "],[28691,0,"\\"],[28692,0,"n"],[28693,0,"o"],[28694,0,"t"],[28695,0,"="],[28696,0," "],[28697,0,"\\"],[28698,0,"t"],[28699,0,"e"],[28700,0,"x"],[28701,0,"t"],[28702,0,"t"],[28703,0,"t"],[28704,0,"{"],[28705,0,"\\"],[28706,0,"s"],[28707,0,"t"],[28708,0,"r"],[28709,0,"i"],[28710,0,"n"],[28711,0,"g"],[28712,0,"\\"],[28712,1],[28712,0,"{"],[28713,0,"\\"],[28714,0,"s"],[28715,0,"t"],[28716,0,"r"],[28717,0,"i"],[28718,0,"n"],[28719,0,"g"],[28720,0,"}"],[28721,0,"}"],[28722,0," "],[28722,1],[28722,0,"$"],[28723,0,"}"],[28724,0,"\n"],[28725,0,"\\"],[28726,0,"A"],[28727,0,"x"],[28728,0,"i"],[28729,0,"o"],[28730,0,"m"],[28731,0,"C"],[28732,0,"{"],[28733,0,"$"],[28734,0,"\\"],[28735,0,"m"],[28736,0,"a"],[28737,0,"t"],[28738,0,"h"],[28739,0,"s"],[28740,0,"f"],[28741,0,"{"],[28742,0,"r"],[28743,0,"e"],[28744,0,"g"],[28745,0,"T"],[28746,0,"}"],[28747,0,"("],[28748,0,"k"],[28749,0,")"],[28750,0," "],[28751,0,"\\"],[28752,0,"i"],[28753,0,"n"],[28754,0," "],[28755,0,"\\"],[28756,0,"m"],[28757,0,"a"],[28758,0,"t"],[28759,0,"h"],[28760,0,"r"],[28761,0,"m"],[28762,0,"{"],[28763,0,"d"],[28764,0,"o"],[28765,0,"m"],[28766,0,"}"],[28767,0,"("],[28768,0,"\\"],[28769,0,"m"],[28770,0,"a"],[28771,0,"t"],[28772,0,"h"],[28773,0,"i"],[28774,0,"t"],[28775,0,"{"],[28776,0,"c"],[28777,0,"t"],[28778,0,"x"],[28779,0,"}"],[28780,0,")"],[28781,0,"$"],[28782,0,"}"],[28783,0,"\n"],[28784,0,"\\"],[28785,0,"m"],[28785,1],[28785,0,"A"],[28786,0,"x"],[28787,0,"i"],[28788,0,"o"],[28789,0,"m"],[28790,0,"C"],[28791,0,"{"],[28792,0,"$"],[28793,0,"\\"],[28794,0,"m"],[28795,0,"a"],[28796,0,"t"],[28797,0,"h"],[28798,0,"i"],[28799,0,"t"],[28800,0,"{"],[28801,0,"c"],[28802,0,"o"],[28803,0,"n"],[28804,0,"c"],[28805,0,"}"],[28806,0," "],[28807,0,"="],[28808,0," "],[28809,0,"{"],[28810,0," "],[28810,1],[28809,1],[28809,0,"\\"],[28810,0,"{"],[28811,0," "],[28812,0,"\\"],[28813,0,"m"],[28814,0,"a"],[28815,0,"t"],[28816,0,"h"],[28817,0,"i"],[28818,0,"t"],[28819,0,"{"],[28820,0,"i"],[28821,0,"d"],[28822,0,"}"],[28823,0,"_"],[28824,0,"i"],[28825,0," "],[28826,0,"\\"],[28827,0,"m"],[28828,0,"a"],[28829,0,"p"],[28830,0,"s"],[28831,0,"t"],[28832,0,"o"],[28833,0," "],[28834,0,"\\"],[28835,0,"m"],[28836,0,"a"],[28837,0,"t"],[28838,0,"h"],[28839,0,"i"],[28840,0,"t"],[28840,1],[28839,1],[28838,1],[28837,1],[28836,1],[28835,1],[28834,1],[28834,0,"v"],[28835,0,"_"],[28836,0,"i"],[28837,0," "],[28838,0,"\\"],[28839,0,"m"],[28840,0,"i"],[28841,0,"d"],[28793,0,"\\"],[28794,0,"b"],[28795,0,"e"],[28796,0,"g"],[28797,0,"i"],[28798,0,"n"],[28799,0,"{"],[28800,0,"m"],[28801,0,"a"],[28802,0,"t"],[28803,0,"r"],[28804,0,"i"],[28805,0,"x"],[28806,0,"}"],[28807,0,"\n"],[28808,0," "],[28809,0," "],[28810,0," "],[28811,0," "],[28861,0," "],[28862,0,"("],[28863,0,"\\"],[28864,0,"m"],[28865,0,"a"],[28866,0,"t"],[28867,0,"h"],[28868,0,"i"],[28869,0,"t"],[28870,0,"{"],[28871,0,"i"],[28872,0,"d"],[28873,0,"}"],[28874,0,"_"],[28875,0,"i"],[28876,0," "],[28877,0,"\\"],[28878,0,"m"],[28879,0,"a"],[28880,0,"p"],[28881,0,"s"],[28882,0,"t"],[28883,0,"o"],[28884,0," "],[28885,0,"v"],[28886,0,"_"],[28887,0,"i"],[28888,0,")"],[28889,0," "],[28890,0,"\\"],[28891,0,"i"],[28892,0,"n"],[28893,0," "],[28894,0,"\\"],[28895,0,"m"],[28896,0,"a"],[28897,0,"t"],[28898,0,"h"],[28899,0,"i"],[28900,0,"t"],[28901,0,"{"],[28902,0,"c"],[28903,0,"t"],[28904,0,"x"],[28905,0,"}"],[28906,0,"("],[28907,0,"\\"],[28908,0,"m"],[28909,0,"a"],[28910,0,"t"],[28911,0,"h"],[28912,0,"s"],[28913,0,"f"],[28914,0,"{"],[28915,0,"r"],[28916,0,"e"],[28917,0,"g"],[28918,0,"T"],[28919,0,"}"],[28920,0,"("],[28921,0,"k"],[28922,0,")"],[28923,0,")"],[28924,0," "],[28925,0,"\\"],[28926,0,"\\"],[28927,0,"\n"],[28928,0," "],[28929,0," "],[28930,0," "],[28931,0," "],[28932,0,"\\"],[28933,0,"w"],[28934,0,"e"],[28935,0,"d"],[28936,0,"g"],[28937,0,"e"],[28938,0," "],[28932,0,"\\"],[28933,0,","],[28940,1],[28940,0,"\\"],[28941,0,","],[28942,0," "],[28943,0,"\\"],[28944,0,"m"],[28945,0,"a"],[28946,0,"t"],[28947,0,"h"],[28948,0,"i"],[28949,0,"t"],[28950,0,"{"],[28951,0,"i"],[28952,0,"d"],[28953,0,"}"],[28954,0,"_"],[28955,0,"i"],[28956,0," "],[28957,0,"\\"],[28958,0,"n"],[28959,0,"o"],[28960,0,"t"],[28961,0,"i"],[28962,0,"n"],[28963,0," "],[28964,0,"\\"],[28965,0,"m"],[28966,0,"a"],[28967,0,"t"],[28968,0,"h"],[28969,0,"i"],[28970,0,"t"],[28971,0,"{"],[28972,0,"d"],[28973,0,"e"],[28974,0,"p"],[28975,0,"s"],[28976,0,"}"],[28977,0," "],[28978,0,"\\"],[28979,0,"}"],[28980,0,"\n"],[28981,0," "],[28982,0," "],[28983,0," "],[28984,0," "],[28985,0,"\\"],[28986,0,"e"],[28987,0,"n"],[28988,0,"d"],[28989,0,"{"],[28990,0,"m"],[28991,0,"a"],[28992,0,"t"],[28993,0,"r"],[28994,0,"i"],[28995,0,"x"],[28996,0,"}"],[28997,0," "],[28998,0,"$"],[28999,0,"}"],[29000,0,"\n"],[29001,0,"\\"],[29002,0,"L"],[29003,0,"e"],[29004,0,"f"],[29005,0,"t"],[29006,0,"L"],[29007,0,"a"],[29008,0,"b"],[29009,0,"e"],[29010,0,"l"],[29011,0,"{"],[29012,0,"$"],[29013,0,"\\"],[29014,0,"m"],[29015,0,"a"],[29016,0,"t"],[29017,0,"h"],[29018,0,"s"],[29018,1],[29017,1],[29016,1],[29015,1],[29014,1],[29014,0,"t"],[29015,0,"e"],[29016,0,"s"],[29017,0,"c"],[29018,0,"s"],[29019,0,"c"],[29020,0,"{"],[29021,0,"A"],[29017,1],[29016,1],[29016,0,"x"],[29017,0,"t"],[29022,0,"s"],[29023,0,"s"],[29024,0,"i"],[29025,0,"g"],[29026,0,"n"],[29027,0,"}"],[29028,0,"_"],[29029,0,"1"],[29030,0,"$"],[29031,0,"}"],[29032,0,"\n"],[29033,0,"\\"],[29034,0,"T"],[29035,0,"r"],[29036,0,"i"],[29037,0,"n"],[29038,0,"a"],[29039,0,"r"],[29040,0,"y"],[29041,0,"I"],[29042,0,"n"],[29043,0,"f"],[29044,0,"C"],[29045,0,"{"],[29046,0,"$"],[29047,0,"\\"],[29048,0,"m"],[29049,0,"a"],[29050,0,"t"],[29051,0,"h"],[29052,0,"i"],[29053,0,"t"],[29054,0,"{"],[29055,0,"c"],[29056,0,"t"],[29057,0,"x"],[29058,0,"}"],[29059,0,","],[29060,0,"\\"],[29061,0,","],[29062,0," "],[29063,0,"\\"],[29064,0,"m"],[29065,0,"a"],[29066,0,"t"],[29067,0,"h"],[29068,0,"s"],[29069,0,"f"],[29070,0,"{"],[29071,0,"o"],[29072,0,"p"],[29073,0,"}"],[29074,0,"("],[29075,0,"\\"],[29076,0,"m"],[29077,0,"a"],[29078,0,"t"],[29079,0,"h"],[29080,0,"i"],[29081,0,"t"],[29082,0,"{"],[29083,0,"i"],[29084,0,"d"],[29085,0,"}"],[29086,0,","],[29087,0," "],[29088,0,"\\"],[29089,0,"m"],[29090,0,"a"],[29091,0,"t"],[29092,0,"h"],[29093,0,"i"],[29094,0,"t"],[29095,0,"["],[29095,1],[29095,0,"{"],[29096,0,"D"],[29097,0,"E"],[29098,0,"P"],[29099,0,"S"],[29099,1],[29098,1],[29097,1],[29096,1],[29096,0,"d"],[29097,0,"e"],[29098,0,"p"],[29099,0,"s"],[29100,0,"}"],[29101,0,","],[29102,0,"\n"],[29103,0," "],[29104,0," "],[29105,0," "],[29106,0," "],[29107,0,"\\"],[29108,0,"m"],[29109,0,"a"],[29110,0,"t"],[29111,0,"h"],[29112,0,"s"],[29113,0,"f"],[29114,0,"{"],[29115,0,"c"],[29116,0,"u"],[29117,0,"r"],[29118,0,"s"],[29119,0,"o"],[29120,0,"r"],[29121,0,"}"],[29122,0,"("],[29123,0,"\\"],[29124,0,"l"],[29125,0,"a"],[29126,0,"n"],[29127,0,"g"],[29128,0,"l"],[29129,0,"e"],[29130,0," "],[29130,1],[29130,0,"\\"],[29131,0,"r"],[29132,0,"a"],[29133,0,"n"],[29134,0,"g"],[29135,0,"l"],[29136,0,"e"],[29137,0,","],[29138,0,"\\"],[29139,0,","],[29140,0," "],[29141,0,"k"],[29142,0,")"],[29143,0,","],[29144,0," "],[29145,0,"\\"],[29146,0,"m"],[29147,0,"a"],[29148,0,"t"],[29149,0,"h"],[29150,0,"s"],[29151,0,"f"],[29152,0,"{"],[29153,0,"a"],[29154,0,"s"],[29155,0,"s"],[29156,0,"i"],[29157,0,"g"],[29158,0,"n"],[29159,0,"}"],[29160,0,"("],[29161,0,"\\"],[29162,0,"m"],[29163,0,"a"],[29164,0,"t"],[29165,0,"h"],[29166,0,"i"],[29167,0,"t"],[29168,0,"{"],[29169,0,"v"],[29170,0,"a"],[29171,0,"l"],[29172,0,"}"],[29173,0,")"],[29174,0," "],[29175,0,"\\"],[29176,0,"e"],[29177,0,"v"],[29178,0,"a"],[29179,0,"l"],[29180,0,"t"],[29181,0,"o"],[29182,0,"\n"],[29183,0," "],[29184,0," "],[29185,0," "],[29186,0," "],[29187,0,"\\"],[29188,0,"m"],[29189,0,"a"],[29190,0,"t"],[29191,0,"h"],[29192,0,"s"],[29193,0,"f"],[29194,0,"{"],[29195,0,"c"],[29196,0,"t"],[29197,0,"x"],[29198,0,"}"],[29199,0,"["],[29200,0,"\\"],[29201,0,","],[29202,0," "],[29203,0,"\\"],[29204,0,"m"],[29205,0,"a"],[29206,0,"t"],[29207,0,"h"],[29208,0,"s"],[29209,0,"f"],[29210,0,"{"],[29211,0,"r"],[29212,0,"e"],[29213,0,"g"],[29214,0,"T"],[29215,0,"}"],[29216,0,"("],[29217,0,"k"],[29218,0,")"],[29219,0," "],[29220,0,"\\"],[29221,0,","],[29222,0,"m"],[29222,1],[29222,0,"\\"],[29223,0,"m"],[29224,0,"a"],[29225,0,"p"],[29226,0,"s"],[29227,0,"t"],[29228,0,"o"],[29229,0,"\\"],[29230,0,","],[29231,0," "],[29232,0,"\\"],[29233,0,"m"],[29234,0,"a"],[29235,0,"t"],[29236,0,"h"],[29237,0,"i"],[29238,0,"t"],[29239,0,"{"],[29240,0,"c"],[29241,0,"o"],[29242,0,"n"],[29243,0,"c"],[29244,0,"}"],[29245,0,"["],[29246,0,"\\"],[29247,0,","],[29248,0," "],[29249,0,"\\"],[29250,0,"m"],[29251,0,"a"],[29252,0,"t"],[29253,0,"h"],[29254,0,"i"],[29255,0,"t"],[29256,0,"{"],[29257,0,"i"],[29258,0,"d"],[29259,0,"}"],[29260,0," "],[29261,0,"\\"],[29262,0,","],[29263,0,"\\"],[29264,0,"m"],[29265,0,"a"],[29266,0,"p"],[29267,0,"s"],[29268,0,"t"],[29269,0,"o"],[29270,0,"\\"],[29271,0,","],[29272,0," "],[29273,0,"\\"],[29274,0,"m"],[29275,0,"a"],[29276,0,"t"],[29277,0,"h"],[29278,0,"i"],[29279,0,"t"],[29280,0,"{"],[29281,0,"v"],[29282,0,"a"],[29283,0,"l"],[29284,0,"}"],[29285,0," "],[29286,0,"\\"],[29287,0,","],[29288,0,"]"],[29289,0,"\\"],[29290,0,","],[29291,0,"]"],[29292,0,"$"],[29293,0,"}"],[28933,1],[28932,1],[28824,0,"u"],[28825,0,"r"],[28826,0,"r"],[28827,0,"e"],[28828,0,"n"],[28829,0,"t"],[28867,0,"\n"],[28868,0," "],[28869,0," "],[28870,0," "],[29239,0,"\n"],[29240,0," "],[29241,0," "],[29242,0," "],[29256,0,"u"],[29257,0,"r"],[29258,0,"r"],[29259,0,"e"],[29260,0,"n"],[29261,0,"t"],[29328,0,"\n"],[29329,0,"\n"],[29330,0,"\\"],[29331,0,"b"],[29332,0,"e"],[29333,0,"g"],[29334,0,"i"],[29335,0,"n"],[29336,0,"{"],[29337,0,"p"],[29338,0,"r"],[29339,0,"o"],[29340,0,"o"],[29341,0,"f"],[29342,0,"t"],[29343,0,"r"],[29344,0,"e"],[29345,0,"e"],[29346,0,"}"],[29347,0,"\n"],[29348,0,"\\"],[29349,0,"e"],[29350,0,"n"],[29351,0,"d"],[29352,0,"{"],[29353,0,"p"],[29354,0,"r"],[29355,0,"o"],[29356,0,"o"],[29357,0,"f"],[29358,0,"t"],[29359,0,"r"],[29360,0,"e"],[29361,0,"e"],[29362,0,"}"],[29347,0,"\n"],[29348,0,"\\"],[29349,0,"A"],[29350,0,"x"],[29351,0,"i"],[29352,0,"o"],[29353,0,"m"],[29354,0,"C"],[29355,0,"{"],[29356,0,"$"],[29357,0,"\\"],[29358,0,"m"],[29359,0,"a"],[29360,0,"t"],[29361,0,"h"],[29362,0,"i"],[29363,0,"t"],[29364,0,"{"],[29365,0,"v"],[29366,0,"a"],[29367,0,"l"],[29368,0,"}"],[29369,0," "],[29370,0,"\\"],[29371,0,"n"],[29372,0,"o"],[29373,0,"t"],[29374,0,"="],[29375,0," "],[29376,0,"\\"],[29377,0,"t"],[29378,0,"e"],[29379,0,"x"],[29380,0,"t"],[29381,0,"t"],[29382,0,"t"],[29383,0,"{"],[29384,0,"["],[29385,0,"]"],[29386,0,"}"],[29387,0," "],[29388,0,"\\"],[29389,0,","],[29390,0,"\\"],[29391,0,"w"],[29392,0,"e"],[29393,0,"d"],[29394,0,"g"],[29395,0,"e"],[29396,0,"\\"],[29397,0,","],[29398,0," "],[29399,0,"\\"],[29400,0,"m"],[29401,0,"a"],[29402,0,"t"],[29403,0,"h"],[29404,0,"i"],[29405,0,"t"],[29406,0,"{"],[29407,0,"v"],[29408,0,"a"],[29409,0,"l"],[29410,0,"}"],[29411,0," "],[29412,0,"\\"],[29413,0,"n"],[29414,0,"o"],[29415,0,"t"],[29416,0,"="],[29417,0," "],[29418,0,"\\"],[29419,0,"t"],[29420,0,"e"],[29421,0,"x"],[29422,0,"t"],[29423,0,"t"],[29424,0,"t"],[29425,0,"{"],[29426,0,"\\"],[29427,0,"s"],[29428,0,"t"],[29429,0,"r"],[29430,0,"i"],[29431,0,"n"],[29432,0,"g"],[29433,0,"{"],[29434,0,"\\"],[29435,0,"s"],[29436,0,"t"],[29437,0,"r"],[29438,0,"i"],[29439,0,"n"],[29440,0,"g"],[29441,0,"}"],[29442,0,"}"],[29443,0,"$"],[29444,0,"}"],[29445,0,"\n"],[29446,0,"\\"],[29447,0,"A"],[29448,0,"x"],[29449,0,"i"],[29450,0,"o"],[29451,0,"m"],[29452,0,"C"],[29453,0,"{"],[29454,0,"$"],[29455,0,"\\"],[29456,0,"m"],[29457,0,"a"],[29458,0,"t"],[29459,0,"h"],[29460,0,"s"],[29461,0,"f"],[29462,0,"{"],[29463,0,"r"],[29464,0,"e"],[29465,0,"g"],[29466,0,"T"],[29467,0,"}"],[29468,0,"("],[29469,0,"k"],[29470,0,")"],[29471,0," "],[29472,0,"\\"],[29473,0,"n"],[29474,0,"o"],[29475,0,"t"],[29476,0,"i"],[29477,0,"n"],[29478,0," "],[29479,0,"\\"],[29480,0,"m"],[29481,0,"a"],[29482,0,"t"],[29483,0,"h"],[29484,0,"r"],[29485,0,"m"],[29486,0,"{"],[29487,0,"d"],[29488,0,"o"],[29489,0,"m"],[29490,0,"}"],[29491,0,"("],[29492,0,"\\"],[29493,0,"m"],[29494,0,"a"],[29495,0,"t"],[29496,0,"h"],[29497,0,"i"],[29498,0,"t"],[29499,0,"{"],[29500,0,"c"],[29501,0,"t"],[29502,0,"x"],[29503,0,"}"],[29504,0,")"],[29505,0,"$"],[29506,0,"}"],[29507,0,"\n"],[29508,0,"\\"],[29509,0,"L"],[29510,0,"e"],[29511,0,"f"],[29512,0,"t"],[29513,0,"L"],[29514,0,"a"],[29515,0,"b"],[29516,0,"e"],[29517,0,"l"],[29518,0,"{"],[29519,0,"$"],[29520,0,"\\"],[29521,0,"t"],[29522,0,"e"],[29523,0,"x"],[29524,0,"t"],[29525,0,"s"],[29526,0,"c"],[29527,0,"{"],[29528,0,"A"],[29529,0,"s"],[29530,0,"s"],[29531,0,"i"],[29532,0,"g"],[29533,0,"n"],[29534,0,"}"],[29535,0,"_"],[29536,0,"2"],[29537,0,"$"],[29538,0,"}"],[29539,0,"\n"],[29540,0,"\\"],[29541,0,"B"],[29542,0,"i"],[29543,0,"n"],[29544,0,"a"],[29545,0,"r"],[29546,0,"y"],[29547,0,"I"],[29548,0,"n"],[29549,0,"f"],[29550,0,"C"],[29551,0,"{"],[29552,0,"$"],[29553,0,"\\"],[29554,0,"m"],[29555,0,"a"],[29556,0,"t"],[29557,0,"h"],[29558,0,"i"],[29559,0,"t"],[29560,0,"{"],[29561,0,"c"],[29562,0,"t"],[29563,0,"x"],[29564,0,"}"],[29565,0,","],[29566,0,"\\"],[29567,0,","],[29568,0," "],[29569,0,"\\"],[29570,0,"m"],[29571,0,"a"],[29572,0,"t"],[29573,0,"h"],[29574,0,"s"],[29575,0,"f"],[29576,0,"{"],[29577,0,"o"],[29578,0,"p"],[29579,0,"}"],[29580,0,"\\"],[29580,1],[29580,0,"("],[29581,0,"\\"],[29582,0,"m"],[29583,0,"a"],[29584,0,"t"],[29585,0,"h"],[29586,0,"i"],[29587,0,"t"],[29588,0,"{"],[29589,0,"i"],[29590,0,"d"],[29591,0,"}"],[29592,0,","],[29593,0," "],[29594,0,"\\"],[29595,0,"m"],[29596,0,"a"],[29597,0,"t"],[29598,0,"h"],[29599,0,"i"],[29600,0,"t"],[29601,0,"{"],[29602,0,"d"],[29603,0,"e"],[29604,0,"p"],[29605,0,"s"],[29606,0,"}"],[29607,0,","],[29608,0,"\n"],[29609,0," "],[29610,0," "],[29611,0," "],[29612,0," "],[29613,0,"\\"],[29614,0,"m"],[29615,0,"a"],[29616,0,"t"],[29617,0,"h"],[29618,0,"s"],[29619,0,"f"],[29620,0,"{"],[29621,0,"c"],[29622,0,"u"],[29623,0,"r"],[29624,0,"s"],[29625,0,"o"],[29626,0,"r"],[29627,0,"}"],[29628,0,"("],[29629,0,"\\"],[29630,0,"l"],[29631,0,"a"],[29632,0,"n"],[29633,0,"g"],[29634,0,"l"],[29635,0,"e"],[29636,0,"\\"],[29637,0,"r"],[29638,0,"a"],[29639,0,"n"],[29640,0,"g"],[29641,0,"l"],[29642,0,"e"],[29643,0,","],[29644,0,"\\"],[29645,0,","],[29646,0," "],[29647,0,"k"],[29648,0,")"],[29649,0,","],[29650,0," "],[29651,0,"\\"],[29652,0,"m"],[29653,0,"a"],[29654,0,"t"],[29655,0,"h"],[29656,0,"s"],[29657,0,"f"],[29658,0,"{"],[29659,0,"a"],[29660,0,"s"],[29661,0,"s"],[29662,0,"i"],[29663,0,"g"],[29664,0,"n"],[29665,0,"}"],[29666,0,"("],[29667,0,"\\"],[29668,0,"m"],[29669,0,"a"],[29670,0,"t"],[29671,0,"h"],[29672,0,"i"],[29673,0,"t"],[29674,0,"{"],[29675,0,"v"],[29676,0,"a"],[29677,0,"l"],[29678,0,"}"],[29679,0,")"],[29680,0," "],[29681,0,"\\"],[29682,0,"e"],[29683,0,"v"],[29684,0,"a"],[29685,0,"l"],[29686,0,"t"],[29687,0,"o"],[29688,0,"\n"],[29689,0," "],[29690,0," "],[29691,0," "],[29692,0," "],[29693,0,"\\"],[29694,0,"m"],[29695,0,"a"],[29696,0,"t"],[29697,0,"h"],[29698,0,"s"],[29699,0,"f"],[29700,0,"{"],[29701,0,"c"],[29702,0,"t"],[29703,0,"x"],[29704,0,"}"],[29705,0,"["],[29706,0,"\\"],[29707,0,","],[29708,0," "],[29709,0,"\\"],[29710,0,"m"],[29711,0,"a"],[29712,0,"t"],[29713,0,"h"],[29714,0,"s"],[29715,0,"f"],[29716,0,"{"],[29717,0,"r"],[29718,0,"e"],[29719,0,"g"],[29720,0,"T"],[29721,0,"}"],[29722,0,"("],[29723,0,"k"],[29724,0,")"],[29725,0," "],[29726,0,"\\"],[29727,0,","],[29728,0,"\\"],[29729,0,"m"],[29730,0,"a"],[29731,0,"p"],[29732,0,"s"],[29733,0,"t"],[29734,0,"o"],[29735,0,"\\"],[29736,0,","],[29737,0," "],[29738,0,"\\"],[29739,0,"{"],[29740,0,"\\"],[29741,0,","],[29742,0," "],[29743,0,"\\"],[29744,0,"m"],[29745,0,"a"],[29746,0,"t"],[29747,0,"h"],[29748,0,"i"],[29749,0,"t"],[29750,0,"{"],[29751,0,"i"],[29752,0,"d"],[29753,0,"}"],[29754,0," "],[29755,0,"\\"],[29756,0,","],[29757,0,"\\"],[29758,0,"m"],[29759,0,"a"],[29760,0,"p"],[29761,0,"s"],[29762,0,"t"],[29763,0,"o"],[29764,0,"\\"],[29765,0,","],[29766,0," "],[29767,0,"\\"],[29768,0,"m"],[29769,0,"a"],[29770,0,"t"],[29771,0,"h"],[29772,0,"i"],[29773,0,"t"],[29774,0,"{"],[29775,0,"v"],[29776,0,"a"],[29777,0,"l"],[29778,0,"}"],[29779,0," "],[29780,0,"\\"],[29781,0,","],[29782,0,"\\"],[29783,0,"}"],[29784,0,"\\"],[29785,0,","],[29786,0,"]"],[29787,0,"$"],[29788,0,"}"],[29872,1],[29871,1],[29870,1],[29869,1],[29868,1],[29867,1],[29866,1],[29865,1],[29864,1],[29863,1],[29862,1],[29861,1],[29860,1],[29859,1],[29858,1],[29857,1],[29856,1],[29855,1],[29854,1],[29853,1],[29852,1],[29851,1],[29850,1],[29849,1],[29848,1],[29847,1],[29846,1],[29845,1],[29844,1],[29843,1],[29842,1],[29841,1],[29840,1],[29839,1],[29838,1],[29837,1],[29836,1],[29835,1],[29834,1],[29833,1],[29832,1],[29831,1],[29830,1],[29829,1],[29828,1],[29827,1],[29826,1],[29825,1],[29824,1],[29836,1],[29835,1],[29834,1],[29834,0,"\\"],[29835,0,"m"],[29836,0,"a"],[29837,0,"t"],[29838,0,"h"],[29839,0,"i"],[29840,0,"t"],[29841,0,"{"],[29842,0,"c"],[29843,0,"t"],[29844,0,"x"],[29845,0,"}"],[29847,0,"\\"],[29848,0,"m"],[29849,0,"a"],[29850,0,"t"],[29851,0,"h"],[29852,0,"s"],[29853,0,"f"],[29854,0,"{"],[29855,0,"n"],[29856,0,"e"],[29857,0,"x"],[29858,0,"t"],[29859,0,"}"],[29860,0,"("],[29874,0,")"],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29879,1],[29892,1],[30025,1],[30024,1],[30023,1],[30022,1],[30021,1],[30020,1],[30019,1],[30018,1],[30017,1],[30016,1],[30015,1],[30014,1],[30013,1],[30012,1],[30011,1],[30010,1],[30009,1],[30008,1],[30007,1],[30006,1],[30005,1],[30004,1],[30003,1],[30002,1],[30001,1],[30000,1],[29999,1],[29998,1],[29997,1],[29996,1],[29995,1],[29994,1],[29993,1],[29992,1],[29991,1],[29990,1],[29989,1],[29988,1],[29987,1],[29986,1],[29985,1],[29984,1],[29983,1],[29982,1],[29982,0,"\\"],[29983,0,"m"],[29984,0,"a"],[29985,0,"t"],[29986,0,"h"],[29987,0,"i"],[29988,0,"t"],[29989,0,"{"],[29990,0,"c"],[29991,0,"t"],[29992,0,"x"],[29993,0,"}"],[29994,0,","],[29995,0,"\\"],[29996,0,","],[29997,0," "],[29998,0,"\\"],[29999,0,"m"],[30000,0,"a"],[30001,0,"t"],[30002,0,"h"],[30003,0,"i"],[30004,0,"t"],[30005,0,"{"],[30006,0,"o"],[30007,0,"p"],[30008,0,"}"],[30009,0,"("],[30010,0,"\\"],[30011,0,"m"],[30012,0,"a"],[30013,0,"t"],[30014,0,"h"],[30015,0,"i"],[30016,0,"t"],[30017,0,"{"],[30018,0,"i"],[30019,0,"d"],[30020,0,"}"],[30021,0,","],[30022,0," "],[30023,0,"\\"],[30024,0,"m"],[30025,0,"a"],[30026,0,"t"],[30027,0,"h"],[30028,0,"i"],[30029,0,"t"],[30030,0,"{"],[30031,0,"d"],[30032,0,"e"],[30033,0,"p"],[30034,0,"s"],[30035,0,"}"],[30036,0,","],[29679,0,")"],[29182,0,")"],[30039,0,"\n"],[30040,0," "],[30041,0," "],[30042,0," "],[30043,0," "],[30044,0,"\\"],[30045,0,"m"],[30046,0,"a"],[30047,0,"t"],[30048,0,"h"],[30049,0,"s"],[30050,0,"f"],[30051,0,"{"],[30052,0,"c"],[30053,0,"u"],[30054,0,"r"],[30055,0,"s"],[30056,0,"o"],[30057,0,"r"],[30058,0,"}"],[30059,0,"("],[30060,0,"\\"],[30061,0,"l"],[30062,0,"a"],[30063,0,"n"],[30064,0,"g"],[30065,0,"l"],[30066,0,"e"],[30067,0,"\\"],[30068,0,"r"],[30069,0,"a"],[30070,0,"n"],[30071,0,"g"],[30072,0,"l"],[30073,0,"e"],[30074,0,","],[30075,0,"\\"],[30076,0,","],[30077,0," "],[30078,0,"\\"],[30079,0,"m"],[30080,0,"a"],[30081,0,"t"],[30082,0,"h"],[30083,0,"i"],[30084,0,"t"],[30085,0,"{"],[30086,0,"i"],[30087,0,"d"],[30088,0,"}"],[30089,0,")"],[30090,0,","],[30091,0," "],[30092,0,"\\"],[30093,0,"m"],[30094,0,"a"],[30095,0,"t"],[30096,0,"h"],[30097,0,"s"],[30098,0,"f"],[30099,0,"{"],[30100,0,"a"],[30101,0,"s"],[30102,0,"s"],[30103,0,"i"],[30104,0,"g"],[30105,0,"n"],[30106,0,"}"],[30107,0,"("],[30108,0,"\\"],[30109,0,"m"],[30110,0,"a"],[30111,0,"t"],[30112,0,"h"],[30113,0,"i"],[30114,0,"t"],[30115,0,"{"],[30116,0,"v"],[30117,0,"a"],[30118,0,"l"],[30119,0,"}"],[30120,0,")"],[30121,0,")"],[30122,0," "],[30123,0,"\\"],[30124,0,"e"],[30125,0,"v"],[30126,0,"a"],[30127,0,"l"],[30128,0,"t"],[30129,0,"o"],[30130,0," "],[30131,0,"\\"],[30132,0,"m"],[30133,0,"a"],[30134,0,"t"],[30135,0,"h"],[30136,0,"i"],[30137,0,"t"],[30138,0,"{"],[30139,0,"c"],[30140,0,"t"],[30141,0,"x"],[30142,0,"}"],[30143,0,"'"],[30176,0,"e"],[30177,0,"r"],[30178,0,"t"],[30172,1],[30171,1],[30170,1],[30169,1],[30168,1],[30167,1],[30180,1],[30180,1],[30180,1],[30180,1],[30180,1],[30180,1],[30180,0,"T"],[30181,0,"r"],[30182,0,"i"],[30195,1],[30194,1],[30193,1],[30193,0,"\\"],[30194,0,"m"],[30195,0,"a"],[30196,0,"t"],[30197,0,"h"],[30198,0,"i"],[30199,0,"t"],[30200,0,"{"],[30201,0,"c"],[30202,0,"t"],[30203,0,"x"],[30204,0,"}"],[30217,1],[30217,1],[30217,1],[30217,1],[30217,1],[30217,1],[30217,1],[30217,0,"o"],[30233,0," "],[30234,0,"\\"],[30235,0,"m"],[30236,0,"a"],[30237,0,"t"],[30238,0,"h"],[30239,0,"i"],[30240,0,"t"],[30241,0,"{"],[30242,0,"d"],[30243,0,"e"],[30244,0,"p"],[30245,0,"s"],[30246,0,"}"],[30247,0,","],[30248,0,"\n"],[30249,0," "],[30250,0," "],[30251,0," "],[30252,0," "],[30253,0,"\\"],[30254,0,"m"],[30255,0,"a"],[30256,0,"t"],[30257,0,"h"],[30258,0,"s"],[30259,0,"f"],[30260,0,"{"],[30261,0,"c"],[30262,0,"u"],[30263,0,"r"],[30264,0,"s"],[30265,0,"o"],[30266,0,"r"],[30267,0,"}"],[30268,0,"("],[30269,0,"\\"],[30270,0,"l"],[30271,0,"a"],[30272,0,"n"],[30273,0,"g"],[30274,0,"l"],[30275,0,"e"],[30276,0,"\\"],[30277,0,"r"],[30278,0,"a"],[30279,0,"n"],[30280,0,"g"],[30281,0,"l"],[30282,0,"e"],[30283,0,","],[30284,0,"\\"],[30285,0,","],[30300,0,")"],[30303,1],[30303,0,"\\"],[30304,0,"m"],[30305,0,"a"],[30306,0,"t"],[30307,0,"h"],[30308,0,"s"],[30309,0,"f"],[30310,0,"{"],[30311,0,"i"],[30312,0,"n"],[30313,0,"s"],[30314,0,"e"],[30315,0,"r"],[30316,0,"t"],[30317,0,"}"],[30318,0,"("],[30319,0,"\\"],[30320,0,"m"],[30321,0,"a"],[30322,0,"t"],[30323,0,"h"],[30324,0,"i"],[30325,0,"t"],[30326,0,"{"],[30327,0,"v"],[30328,0,"a"],[30329,0,"l"],[30330,0,"}"],[30331,0,")"],[30348,1],[30347,1],[30346,1],[30346,0,"\\"],[30347,0,"m"],[30348,0,"a"],[30349,0,"t"],[30350,0,"h"],[30351,0,"i"],[30352,0,"t"],[30353,0,"{"],[30354,0,"c"],[30355,0,"t"],[30356,0,"x"],[30357,0,"}"],[30362,0,"\\"],[30363,0,"m"],[30364,0,"a"],[30365,0,"t"],[30366,0,"h"],[30367,0,"s"],[30368,0,"f"],[30369,0,"{"],[30370,0,"n"],[30371,0,"e"],[30372,0,"x"],[30373,0,"t"],[30374,0,"}"],[30375,0,"("],[30389,0,")"],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30403,1],[30423,0,"\\"],[30424,0,"m"],[30425,0,"a"],[30426,0,"t"],[30427,0,"h"],[30428,0,"s"],[30429,0,"f"],[30430,0,"{"],[30431,0,"n"],[30432,0,"e"],[30433,0,"x"],[30434,0,"t"],[30435,0,"}"],[30436,0,"("],[30448,0,")"],[30480,1],[30479,1],[30478,1],[30477,1],[30476,1],[30475,1],[30474,1],[30473,1],[30472,1],[30471,1],[30470,1],[30469,1],[30468,1],[30467,1],[30466,1],[30465,1],[30464,1],[30463,1],[30462,1],[30475,1],[30006,1],[30005,1],[30005,0,"s"],[30006,0,"f"],[30414,1],[30496,0,"\n"],[30497,0,"%"],[30498,0," "],[30499,0,"T"],[30500,0,"O"],[30501,0,"D"],[30502,0,"O"],[30503,0," "],[30504,0,"n"],[30505,0,"e"],[30506,0,"e"],[30507,0,"d"],[30508,0," "],[30509,0,"t"],[30510,0,"o"],[30511,0," "],[30512,0,"u"],[30513,0,"p"],[30514,0,"d"],[30515,0,"a"],[30516,0,"t"],[30517,0,"e"],[30518,0," "],[30519,0,"t"],[30520,0,"h"],[30521,0,"e"],[30522,0," "],[30523,0,"n"],[30524,0,"e"],[30525,0,"x"],[30526,0,"t"],[30527,0," "],[30528,0,"t"],[30529,0,"w"],[30530,0,"o"],[30531,0," "],[30532,0,"r"],[30533,0,"u"],[30534,0,"l"],[30535,0,"e"],[30536,0,"s"],[30537,0,"\n"],[30566,1],[30566,1],[30566,1],[30566,0,"\\"],[30567,0,"m"],[30568,0,"a"],[30569,0,"t"],[30570,0,"h"],[30571,0,"i"],[30572,0,"t"],[30573,0,"{"],[30574,0,"c"],[30575,0,"t"],[30576,0,"x"],[30577,0,"}"],[30578,0,"("],[30578,1],[30579,0,"\\"],[30580,0,"m"],[30581,0,"a"],[30582,0,"t"],[30583,0,"h"],[30584,0,"s"],[30585,0,"f"],[30586,0,"{"],[30587,0,"n"],[30588,0,"e"],[30589,0,"x"],[30590,0,"t"],[30591,0,"}"],[30592,0,"("],[30606,0,")"],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,1],[30611,0,"\\"],[30624,1],[30677,1],[30676,1],[30675,1],[30675,0,"c"],[30676,0,"t"],[30677,0,"x"],[30696,1],[30695,1],[30694,1],[30693,1],[30692,1],[30691,1],[30690,1],[30690,0,"o"],[30706,0," "],[30707,0,"\\"],[30708,0,"m"],[30709,0,"a"],[30710,0,"t"],[30711,0,"h"],[30712,0,"i"],[30713,0,"t"],[30714,0,"{"],[30715,0,"d"],[30716,0,"e"],[30717,0,"p"],[30718,0,"s"],[30719,0,"}"],[30720,0,","],[30721,0,"\n"],[30722,0," "],[30723,0," "],[30724,0," "],[30726,0,"\\"],[30727,0,"m"],[30728,0,"a"],[30729,0,"t"],[30730,0,"h"],[30731,0,"s"],[30732,0,"f"],[30733,0,"{"],[30734,0,"c"],[30735,0,"u"],[30736,0,"r"],[30737,0,"s"],[30738,0,"o"],[30739,0,"r"],[30740,0,"}"],[30741,0,"("],[30742,0,"\\"],[30743,0,"l"],[30744,0,"a"],[30745,0,"n"],[30746,0,"g"],[30747,0,"l"],[30748,0,"e"],[30749,0,"\\"],[30750,0,"r"],[30751,0,"a"],[30752,0,"n"],[30753,0,"g"],[30754,0,"l"],[30755,0,"e"],[30756,0,","],[30757,0,"\\"],[30758,0,","],[30759,0," "],[30773,0,")"],[30776,0,"\\"],[30777,0,"m"],[30778,0,"a"],[30779,0,"t"],[30780,0,"h"],[30781,0,"s"],[30782,0,"f"],[30783,0,"{"],[30784,0,"a"],[30785,0,"s"],[30786,0,"s"],[30787,0,"i"],[30788,0,"g"],[30789,0,"n"],[30790,0,"}"],[30791,0,"("],[30792,0,"\\"],[30793,0,"m"],[30794,0,"a"],[30795,0,"t"],[30796,0,"h"],[30797,0,"i"],[30798,0,"t"],[30799,0,"{"],[30801,0,"a"],[30802,0,"l"],[30803,0,"}"],[30804,0,")"],[30815,1],[30815,1],[30815,1],[30815,0,"\\"],[30816,0,"m"],[30817,0,"a"],[30818,0,"t"],[30819,0,"h"],[30820,0,"i"],[30821,0,"t"],[30822,0,"{"],[30823,0,"c"],[30824,0,"t"],[30825,0,"x"],[30826,0,"}"],[30860,0,"e"],[30861,0,"r"],[30862,0,"t"],[30856,1],[30855,1],[30854,1],[30853,1],[30852,1],[30851,1],[30877,1],[30877,1],[30877,1],[30877,0,"\\"],[30878,0,"m"],[30879,0,"a"],[30880,0,"t"],[30881,0,"h"],[30882,0,"i"],[30883,0,"t"],[30884,0,"{"],[30885,0,"c"],[30886,0,"t"],[30887,0,"x"],[30888,0,"}"],[30907,1],[30906,1],[30905,1],[30904,1],[30903,1],[30902,1],[30901,1],[30901,0,"o"],[30917,0," "],[30918,0,"\\"],[30919,0,"m"],[30920,0,"a"],[30921,0,"t"],[30922,0,"h"],[30923,0,"i"],[30924,0,"t"],[30925,0,"{"],[30926,0,"d"],[30927,0,"e"],[30928,0,"p"],[30929,0,"s"],[30930,0,"}"],[30931,0,","],[30932,0,"\n"],[30933,0," "],[30934,0," "],[30935,0," "],[30937,0,"\\"],[30938,0,"m"],[30939,0,"a"],[30940,0,"t"],[30941,0,"h"],[30942,0,"s"],[30943,0,"f"],[30944,0,"{"],[30945,0,"c"],[30946,0,"u"],[30947,0,"r"],[30948,0,"s"],[30949,0,"o"],[30950,0,"r"],[30951,0,"}"],[30952,0,"("],[30953,0,"\\"],[30954,0,"l"],[30955,0,"a"],[30956,0,"n"],[30957,0,"g"],[30958,0,"l"],[30959,0,"e"],[30960,0,"\\"],[30961,0,"r"],[30962,0,"a"],[30963,0,"n"],[30964,0,"g"],[30965,0,"l"],[30966,0,"e"],[30967,0,","],[30968,0,"\\"],[30969,0,","],[30970,0," "],[30984,0,")"],[30987,0,"\\"],[30988,0,"m"],[30989,0,"a"],[30990,0,"t"],[30991,0,"h"],[30992,0,"s"],[30993,0,"f"],[30994,0,"{"],[30995,0,"i"],[30996,0,"n"],[30997,0,"s"],[30998,0,"e"],[30999,0,"r"],[31000,0,"t"],[31001,0,"}"],[31002,0,"("],[31003,0,"\\"],[31004,0,"m"],[31005,0,"a"],[31006,0,"t"],[31007,0,"h"],[31008,0,"i"],[31009,0,"t"],[31010,0,"{"],[31012,0,"a"],[31013,0,"l"],[31014,0,"}"],[31015,0,")"],[31016,0,")"],[31017,1],[31026,1],[31026,1],[31026,1],[31026,0,"\\"],[31027,0,"m"],[31028,0,"a"],[31029,0,"t"],[31030,0,"h"],[31031,0,"i"],[31032,0,"t"],[31033,0,"{"],[31034,0,"c"],[31035,0,"t"],[31036,0,"x"],[31037,0,"}"],[30536,1],[30535,1],[30534,1],[30533,1],[30532,1],[30531,1],[30530,1],[30529,1],[30528,1],[30527,1],[30526,1],[30525,1],[30524,1],[30523,1],[30522,1],[30521,1],[30520,1],[30519,1],[30518,1],[30517,1],[30516,1],[30515,1],[30514,1],[30513,1],[30512,1],[30511,1],[30510,1],[30509,1],[30508,1],[30507,1],[30506,1],[30505,1],[30504,1],[30503,1],[30502,1],[30501,1],[30500,1],[30499,1],[30498,1],[30497,1],[30496,1],[30495,1],[31178,1],[31178,1],[31178,1],[31178,1],[31178,1],[31178,0,"L"],[31179,0,"i"],[31180,0,"t"],[31180,1],[31180,0,"s"],[31181,0,"t"],[31061,1],[31060,1],[31059,1],[31058,1],[31057,1],[31056,1],[31056,0,"c"],[31057,0,"t"],[31058,0,"x"],[31060,1],[31047,1],[31046,1],[31045,1],[31044,1],[31056,0,"("],[31057,0,"k"],[31058,0,")"],[31058,1],[31057,1],[31056,1],[31044,0,"\\"],[31045,0,"m"],[31046,0,"a"],[31047,0,"t"],[31048,0,"h"],[31049,0,"s"],[31050,0,"f"],[31051,0,"{"],[31052,0,"n"],[31053,0,"e"],[31054,0,"x"],[31055,0,"t"],[31056,0,"}"],[31057,0,"("],[31058,0,"\\"],[31059,0,"m"],[31060,0,"a"],[31061,0,"t"],[31062,0,"h"],[31063,0,"i"],[31064,0,"t"],[31065,0,"{"],[31066,0,"t"],[31067,0,"a"],[31068,0,"r"],[31069,0,"g"],[31070,0,"e"],[31071,0,"t"],[31072,0,"}"],[31073,0,")"],[31074,0," "],[31074,1],[31074,0," "],[31075,0,"\\"],[31076,0,"i"],[31077,0,"n"],[31078,0," "],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31091,1],[31148,1],[31147,1],[31146,1],[31145,1],[31144,1],[31143,1],[31142,1],[31141,1],[31140,1],[31139,1],[31138,1],[31137,1],[31136,1],[31135,1],[31134,1],[31133,1],[31132,1],[31131,1],[31130,1],[31129,1],[31128,1],[31127,1],[31126,1],[31125,1],[31124,1],[31123,1],[31122,1],[31121,1],[31120,1],[31119,1],[31118,1],[31117,1],[31116,1],[31115,1],[31114,1],[31113,1],[31112,1],[31111,1],[31110,1],[31109,1],[31108,1],[31107,1],[31106,1],[31105,1],[31104,1],[31103,1],[31102,1],[31101,1],[31100,1],[31099,1],[31098,1],[31097,1],[31096,1],[31095,1],[31094,1],[31093,1],[31139,1],[31138,1],[31137,1],[31137,0,"\\"],[31138,0,"m"],[31139,0,"a"],[31140,0,"t"],[31141,0,"h"],[31142,0,"i"],[31143,0,"t"],[31144,0,"{"],[31145,0,"c"],[31146,0,"t"],[31147,0,"x"],[31148,0,"}"],[31168,1],[31167,1],[31166,1],[31165,1],[31164,1],[31163,1],[31162,1],[31161,1],[31161,0,"o"],[31162,0,"p"],[31178,0,"\\"],[31179,0,"m"],[31180,0,"a"],[31181,0,"t"],[31182,0,"h"],[31183,0,"i"],[31184,0,"t"],[31185,0,"{"],[31186,0,"d"],[31187,0,"e"],[31188,0,"p"],[31189,0,"s"],[31190,0,"}"],[31191,0,","],[31192,0,"\n"],[31193,0," "],[31194,0," "],[31195,0," "],[31196,0," "],[31197,0,"\\"],[31198,0,"m"],[31199,0,"a"],[31200,0,"t"],[31201,0,"h"],[31202,0,"s"],[31203,0,"f"],[31204,0,"{"],[31205,0,"c"],[31206,0,"u"],[31207,0,"r"],[31208,0,"s"],[31209,0,"o"],[31210,0,"r"],[31211,0,"}"],[31212,0,"("],[31213,0,"\\"],[31214,0,"l"],[31215,0,"a"],[31216,0,"n"],[31217,0,"g"],[31218,0,"l"],[31219,0,"e"],[31220,0,"\\"],[31221,0,"r"],[31222,0,"a"],[31223,0,"n"],[31224,0,"g"],[31225,0,"l"],[31226,0,"e"],[31227,0,","],[31228,0,"\\"],[31229,0,","],[31230,0," "],[31247,0,","],[31248,0," "],[31249,0,"\\"],[31250,0,"m"],[31251,0,"a"],[31252,0,"t"],[31253,0,"h"],[31254,0,"s"],[31255,0,"f"],[31256,0,"{"],[31257,0,"l"],[31258,0,"i"],[31259,0,"s"],[31260,0,"t"],[31261,0,"D"],[31262,0,"e"],[31263,0,"l"],[31264,0,"}"],[31265,0,")"],[31282,1],[31281,1],[31280,1],[31279,1],[31279,0,"\\"],[31280,0,"m"],[31281,0,"a"],[31282,0,"t"],[31283,0,"h"],[31284,0,"i"],[31285,0,"t"],[31286,0,"{"],[31287,0,"c"],[31288,0,"t"],[31289,0,"x"],[31290,0,"}"],[31294,0,"\\"],[31295,0,"m"],[31296,0,"a"],[31297,0,"t"],[31298,0,"h"],[31299,0,"s"],[31300,0,"f"],[31301,0,"{"],[31302,0,"d"],[31303,0,"e"],[31304,0,"l"],[31305,0,"e"],[31306,0,"t"],[31307,0,"e"],[31308,0,"d"],[31309,0,"}"],[31310,0,"("],[31326,0,")"],[31348,1],[31348,1],[31348,1],[31348,1],[31348,1],[31348,1],[31348,0,"t"],[31349,0,"r"],[31350,0,"u"],[31351,0,"e"],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31353,1],[31125,1],[31125,1],[31125,0,"U"],[31079,0,"\\"],[31080,0,"m"],[31081,0,"a"],[31082,0,"t"],[31083,0,"h"],[31084,0,"r"],[31085,0,"m"],[31086,0,"{"],[31087,0,"d"],[31088,0,"o"],[31089,0,"m"],[31090,0,"}"],[31091,0,"("],[31104,0,")"],[31501,0,"T"],[31502,0,"O"],[31503,0,"D"],[31504,0,"O"],[31505,0," "],[31506,0,"k"],[31507,0,"n"],[31508,0,"o"],[31509,0,"w"],[31510,0,"n"],[31511,0," "],[31512,0,"p"],[31513,0,"r"],[31514,0,"o"],[31515,0,"b"],[31516,0,"l"],[31517,0,"e"],[31518,0,"m"],[31519,0,"s"],[31520,0,":"],[31521,0,"\n"],[31522,0,"\n"],[31523,0,"\\"],[31524,0,"b"],[31525,0,"e"],[31526,0,"g"],[31527,0,"i"],[31528,0,"n"],[31529,0,"{"],[31530,0,"e"],[31531,0,"n"],[31532,0,"u"],[31533,0,"m"],[31534,0,"e"],[31535,0,"r"],[31536,0,"a"],[31537,0,"t"],[31538,0,"e"],[31539,0,"}"],[31540,0,"\n"],[31541,0,"\\"],[31542,0,"e"],[31543,0,"n"],[31544,0,"d"],[31545,0,"{"],[31546,0,"e"],[31547,0,"n"],[31548,0,"u"],[31549,0,"m"],[31550,0,"e"],[31551,0,"r"],[31552,0,"a"],[31553,0,"t"],[31554,0,"e"],[31555,0,"}"],[31540,0,"\n"],[31541,0,"\\"],[31542,0,"i"],[31543,0,"t"],[31544,0,"e"],[31545,0,"m"],[31546,0," "],[31547,0,"A"],[31548,0,"s"],[31549,0,"s"],[31550,0,"i"],[31551,0,"g"],[31552,0,"n"],[31553,0,"m"],[31554,0,"e"],[31555,0,"n"],[31556,0,"t"],[31557,0," "],[31558,0,"o"],[31559,0,"f"],[31560,0," "],[31561,0,"e"],[31562,0,"m"],[31563,0,"p"],[31564,0,"t"],[31565,0,"y"],[31566,0," "],[31567,0,"l"],[31568,0,"i"],[31569,0,"s"],[31570,0,"t"],[31571,0," "],[31572,0,"a"],[31573,0,"n"],[31574,0,"d"],[31575,0," "],[31576,0,"e"],[31577,0,"m"],[31578,0,"p"],[31579,0,"t"],[31580,0,"y"],[31581,0," "],[31582,0,"a"],[31583,0,"r"],[31584,0,"r"],[31585,0,"a"],[31586,0,"y"],[31587,0," "],[31588,0,"i"],[31589,0,"s"],[31590,0," "],[31591,0,"n"],[31592,0,"o"],[31593,0,"t"],[31594,0," "],[31595,0,"d"],[31596,0,"e"],[31597,0,"f"],[31598,0,"i"],[31599,0,"n"],[31600,0,"e"],[31601,0,"d"],[31602,0," "],[31603,0,"("],[31604,0,"n"],[31605,0,"e"],[31606,0,"e"],[31607,0,"d"],[31608,0," "],[31609,0,"t"],[31610,0,"o"],[31611,0," "],[31612,0,"r"],[31613,0,"e"],[31614,0,"s"],[31615,0,"e"],[31616,0,"t"],[31617,0," "],[31618,0,"v"],[31619,0,"a"],[31620,0,"l"],[31621,0,"u"],[31622,0,"e"],[31623,0," "],[31624,0,"b"],[31625,0,"u"],[31626,0,"t"],[31627,0," "],[31628,0,"p"],[31629,0,"r"],[31630,0,"e"],[31631,0,"s"],[31632,0,"e"],[31633,0,"r"],[31634,0,"v"],[31635,0,"e"],[31636,0," "],[31637,0,"i"],[31638,0,"t"],[31639,0,"s"],[31640,0," "],[31641,0,"e"],[31642,0,"x"],[31643,0,"i"],[31644,0,"s"],[31645,0,"t"],[31646,0,"e"],[31647,0,"n"],[31648,0,"c"],[31649,0,"e"],[31650,0,")"],[31650,0,"/"],[31651,0,"d"],[31652,0,"a"],[31653,0,"t"],[31654,0,"a"],[31655,0,"t"],[31656,0,"y"],[31657,0,"p"],[31658,0,"e"],[31540,0,"\n"],[31541,0,"\\"],[31542,0,"i"],[31543,0,"t"],[31544,0,"e"],[31545,0,"m"],[31546,0," "],[31547,0,"D"],[31548,0,"e"],[31549,0,"l"],[31550,0,"e"],[31551,0,"t"],[31552,0,"i"],[31553,0,"n"],[31554,0,"g"],[31555,0," "],[31556,0,"e"],[31557,0,"l"],[31558,0,"e"],[31559,0,"m"],[31560,0,"e"],[31561,0,"n"],[31562,0,"t"],[31563,0," "],[31564,0,"f"],[31565,0,"r"],[31566,0,"o"],[31567,0,"m"],[31568,0," "],[31569,0,"m"],[31570,0,"a"],[31571,0,"p"],[31692,0,"\n"],[31693,0,"\\"],[31694,0,"i"],[31695,0,"t"],[31696,0,"e"],[31697,0,"m"],[31698,0," "],[31699,0,"\\"],[31700,0,"t"],[31701,0,"e"],[31702,0,"x"],[31703,0,"t"],[31704,0,"s"],[31705,0,"f"],[31706,0,"{"],[31707,0,"."],[31708,0,"n"],[31709,0,"e"],[31710,0,"x"],[31711,0,"t"],[31712,0,"}"],[31713,0," "],[31714,0,"s"],[31715,0,"h"],[31716,0,"o"],[31717,0,"u"],[31718,0,"l"],[31719,0,"d"],[31720,0," "],[31721,0,"s"],[31722,0,"k"],[31723,0,"i"],[31724,0,"p"],[31725,0," "],[31726,0,"o"],[31727,0,"v"],[31728,0,"e"],[31729,0,"r"],[31730,0," "],[31731,0,"t"],[31732,0,"o"],[31733,0,"m"],[31734,0,"b"],[31735,0,"s"],[31736,0,"t"],[31737,0,"o"],[31738,0,"n"],[31739,0,"e"],[31740,0,"s"],[31682,1],[31682,0," "],[31683,0,"a"],[31684,0,"n"],[31685,0,"d"],[31686,0," "],[31655,0,","],[31571,1],[31570,1],[31569,1],[31568,1],[31567,1],[31566,1],[31565,1],[31564,1],[31563,1],[31562,1],[31561,1],[31560,1],[31559,1],[31558,1],[31557,1],[31556,1],[31555,1],[31554,1],[31553,1],[31552,1],[31551,1],[31550,1],[31549,1],[31548,1],[31548,0,"i"],[31549,0,"s"],[31550,0,"t"],[31551,0,"i"],[31552,0,"n"],[31553,0,"c"],[31554,0,"t"],[31555,0,"i"],[31556,0,"o"],[31557,0,"n"],[31558,0," "],[31559,0,"b"],[31560,0,"e"],[31561,0,"t"],[31562,0,"w"],[31563,0,"e"],[31564,0,"e"],[31565,0,"n"],[31566,0," "],[31567,0,"\\"],[31568,0,"t"],[31569,0,"e"],[31570,0,"x"],[31571,0,"t"],[31572,0,"s"],[31573,0,"f"],[31574,0,"{"],[31575,0,"l"],[31576,0,"i"],[31577,0,"s"],[31578,0,"t"],[31579,0,"D"],[31580,0,"e"],[31581,0,"l"],[31582,0,"}"],[31583,0," "],[31584,0,"a"],[31585,0,"n"],[31586,0,"d"],[31587,0," "],[31588,0,"\\"],[31589,0,"t"],[31590,0,"e"],[31591,0,"x"],[31592,0,"t"],[31593,0,"s"],[31594,0,"f"],[31595,0,"{"],[31596,0,"m"],[31597,0,"a"],[31598,0,"p"],[31599,0,"D"],[31600,0,"e"],[31601,0,"l"],[31602,0,"}"],[31728,0," "],[31729,0,"-"],[31730,0,"-"],[31731,0," "],[31732,0,"a"],[31733,0,"l"],[31734,0,"s"],[31735,0,"o"],[31736,0," "],[31737,0,"n"],[31738,0,"e"],[31739,0,"e"],[31740,0,"d"],[31741,0,"e"],[31742,0,"d"],[31743,0," "],[31744,0,"f"],[31745,0,"o"],[31746,0,"r"],[31747,0," "],[31748,0,"c"],[31749,0,"r"],[31750,0,"e"],[31751,0,"a"],[31752,0,"t"],[31753,0,"i"],[31754,0,"n"],[31755,0,"g"],[31756,0," "],[31757,0,"n"],[31758,0,"e"],[31759,0,"s"],[31760,0,"t"],[31761,0,"e"],[31762,0,"d"],[31763,0," "],[31764,0,"l"],[31765,0,"i"],[31766,0,"s"],[31767,0,"t"],[31768,0,"s"],[31769,0," "],[31770,0,"9"],[31771,0,"2"],[31771,1],[31770,1],[31770,0,"("],[31771,0,"2"],[31772,0,"D"],[31773,0," "],[31774,0,"a"],[31775,0,"r"],[31776,0,"r"],[31777,0,"a"],[31778,0,"y"],[31779,0,"s"],[31780,0,")"],[31830,0,"\n"],[31831,0,"\\"],[31832,0,"i"],[31833,0,"t"],[31834,0,"e"],[31835,0,"m"],[31836,0," "],[31837,0,"A"],[31838,0,"s"],[31839,0,"s"],[31840,0,"i"],[31841,0,"g"],[31842,0,"n"],[31843,0,"m"],[31844,0,"e"],[31845,0,"n"],[31846,0,"t"],[31847,0," "],[31837,1],[31837,0,"R"],[31838,0,"e"],[31839,0,"g"],[31840,0,"i"],[31841,0,"s"],[31842,0,"t"],[31843,0,"e"],[31844,0,"r"],[31845,0," "],[31846,0,"a"],[31856,1],[31856,0,":"],[31857,0," "],[31858,0,"s"],[31859,0,"e"],[31860,0,"t"],[31861,0," "],[31862,0,"o"],[31863,0,"f"],[31864,0," "],[31865,0,"c"],[31866,0,"o"],[31867,0,"n"],[31868,0,"c"],[31869,0,"u"],[31870,0,"r"],[31871,0,"r"],[31872,0,"e"],[31873,0,"n"],[31874,0,"t"],[31875,0," "],[31876,0,"v"],[31877,0,"a"],[31878,0,"l"],[31879,0,"u"],[31880,0,"e"],[31881,0,"s"],[31882,0," "],[31883,0,"s"],[31884,0,"h"],[31885,0,"o"],[31886,0,"u"],[31887,0,"l"],[31888,0,"d"],[31889,0," "],[31890,0,"d"],[31891,0,"e"],[31892,0,"f"],[31893,0,"a"],[31894,0,"u"],[31895,0,"l"],[31896,0,"t"],[31897,0," "],[31898,0,"t"],[31899,0,"o"],[31900,0," "],[31901,0,"e"],[31902,0,"m"],[31903,0,"p"],[31904,0,"t"],[31905,0,"y"],[31906,0," "],[31907,0,"s"],[31908,0,"e"],[31909,0,"t"],[31910,0," "],[31911,0,"i"],[31912,0,"f"],[31913,0," "],[31914,0,"r"],[31915,0,"e"],[31916,0,"g"],[31917,0,"i"],[31918,0,"s"],[31919,0,"t"],[31920,0,"e"],[31921,0,"r"],[31922,0," "],[31923,0,"i"],[31924,0,"s"],[31925,0," "],[31926,0,"n"],[31927,0,"o"],[31928,0,"d"],[31928,1],[31928,0,"t"],[31929,0," "],[31930,0,"d"],[31931,0,"e"],[31932,0,"f"],[31933,0,"i"],[31934,0,"n"],[31935,0,"e"],[31936,0,"d"],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31831,1],[31387,0,"\n"],[31388,0,"\n"],[31389,0,"\\"],[31390,0,"b"],[31391,0,"e"],[31392,0,"g"],[31393,0,"i"],[31394,0,"n"],[31395,0,"{"],[31396,0,"p"],[31397,0,"r"],[31398,0,"o"],[31399,0,"o"],[31400,0,"f"],[31401,0,"t"],[31402,0,"r"],[31403,0,"e"],[31404,0,"e"],[31405,0,"}"],[31406,0,"\n"],[31407,0,"\\"],[31408,0,"A"],[31409,0,"x"],[31410,0,"i"],[31411,0,"o"],[31412,0,"m"],[31413,0,"C"],[31414,0,"{"],[31415,0,"$"],[31416,0,"\\"],[31417,0,"m"],[31418,0,"a"],[31419,0,"t"],[31420,0,"h"],[31421,0,"s"],[31422,0,"f"],[31423,0,"+"],[31423,1],[31423,0,"{"],[31424,0,"r"],[31425,0,"e"],[31426,0,"g"],[31427,0,"T"],[31428,0,"}"],[31429,0,"("],[31430,0,"k"],[31431,0,")"],[31432,0," "],[31433,0,"\\"],[31434,0,"i"],[31435,0,"n"],[31436,0," "],[31437,0,"\\"],[31438,0,"m"],[31439,0,"a"],[31440,0,"t"],[31441,0,"h"],[31442,0,"r"],[31443,0,"m"],[31444,0," "],[31444,1],[31444,0,"{"],[31445,0,"d"],[31446,0,"o"],[31447,0,"m"],[31448,0,"}"],[31449,0,"("],[31450,0,"\\"],[31451,0,"m"],[31452,0,"a"],[31453,0,"t"],[31454,0,"h"],[31455,0,"i"],[31456,0,"t"],[31457,0,"{"],[31458,0,"c"],[31459,0,"t"],[31460,0,"x"],[31461,0,"}"],[31462,0,")"],[31463,0,"$"],[31464,0,"}"],[31465,0,"\n"],[31466,0,"\\"],[31467,0,"e"],[31468,0,"n"],[31469,0,"d"],[31470,0,"{"],[31471,0,"p"],[31472,0,"r"],[31473,0,"o"],[31474,0,"o"],[31475,0,"f"],[31476,0,"t"],[31477,0,"r"],[31478,0,"e"],[31479,0,"e"],[31480,0,"}"],[31465,0,"\n"],[31466,0,"\\"],[31467,0,"A"],[31468,0,"x"],[31469,0,"i"],[31470,0,"o"],[31471,0,"m"],[31472,0,"C"],[31473,0,"{"],[31474,0,"$"],[31475,0,"\\"],[31476,0,"m"],[31477,0,"a"],[31478,0,"t"],[31479,0,"h"],[31480,0,"i"],[31481,0,"t"],[31482,0,"{"],[31483,0,"c"],[31484,0,"o"],[31485,0,"n"],[31486,0,"c"],[31487,0,"u"],[31488,0,"r"],[31489,0,"r"],[31490,0,"e"],[31491,0,"n"],[31492,0,"t"],[31493,0,"}"],[31494,0," "],[31495,0,"="],[31496,0," "],[31497,0,"\\"],[31498,0,"{"],[31499,0," "],[31500,0,"\\"],[31501,0,"m"],[31502,0,"a"],[31503,0,"t"],[31504,0,"h"],[31505,0,"i"],[31506,0,"t"],[31507,0,"{"],[31508,0,"i"],[31509,0,"d"],[31510,0,"}"],[31511,0,"i"],[31512,0," "],[31513,0,"\\"],[31514,0,"m"],[31515,0,"a"],[31516,0,"p"],[31517,0,"s"],[31518,0,"o"],[31519,0,"t"],[31519,1],[31518,1],[31518,0,"t"],[31519,0,"o"],[31520,0," "],[31521,0,"v"],[31522,0,"_"],[31523,0,"i"],[31524,0," "],[31525,0,"\\"],[31526,0,"m"],[31527,0,"i"],[31528,0,"d"],[31529,0,"\n"],[31530,0," "],[31531,0," "],[31532,0," "],[31533,0," "],[31534,0,"("],[31535,0,"\\"],[31536,0,"m"],[31537,0,"a"],[31538,0,"t"],[31539,0,"h"],[31540,0,"i"],[31541,0,"t"],[31542,0,"{"],[31543,0,"i"],[31544,0,"d"],[31545,0,"}"],[31546,0,"_"],[31547,0,"i"],[31548,0," "],[31549,0,"\\"],[31550,0,"m"],[31551,0,"a"],[31552,0,"p"],[31553,0,"s"],[31554,0,"t"],[31555,0,"o"],[31556,0," "],[31557,0,"v"],[31558,0,"_"],[31559,0,"i"],[31560,0,")"],[31561,0," "],[31562,0,"\\"],[31563,0,"i"],[31564,0,"n"],[31565,0," "],[31566,0,"\\"],[31567,0,"m"],[31568,0,"a"],[31569,0,"t"],[31570,0,"h"],[31571,0,"i"],[31572,0,"t"],[31573,0,"{"],[31574,0,"c"],[31575,0,"t"],[31576,0,"x"],[31577,0,"}"],[31578,0,"("],[31579,0,"\\"],[31580,0,"m"],[31581,0,"a"],[31582,0,"t"],[31583,0,"h"],[31584,0,"s"],[31585,0,"f"],[31586,0,"{"],[31587,0,"r"],[31588,0,"e"],[31589,0,"g"],[31590,0,"T"],[31591,0,"}"],[31592,0,"("],[31593,0,"k"],[31594,0,")"],[31595,0,")"],[31596,0," "],[31597,0,"\\"],[31597,1],[31596,1],[31596,0,"\n"],[31597,0," "],[31598,0," "],[31599,0," "],[31600,0," "],[31601,0,"\\"],[31602,0,","],[31603,0,"\\"],[31604,0,"w"],[31605,0,"e"],[31606,0,"d"],[31607,0,"g"],[31608,0,"e"],[31609,0,"\\"],[31610,0,","],[31611,0," "],[31612,0,"\\"],[31613,0,"m"],[31614,0,"a"],[31615,0,"t"],[31616,0,"h"],[31617,0,"i"],[31618,0,"t"],[31619,0,"{"],[31620,0,"i"],[31621,0,"d"],[31622,0,"}"],[31623,0,"_"],[31624,0,"i"],[31625,0," "],[31626,0,"\\"],[31627,0,"n"],[31628,0,"o"],[31629,0,"t"],[31630,0,"i"],[31631,0,"n"],[31632,0," "],[31633,0,"\\"],[31634,0,"m"],[31635,0,"a"],[31636,0,"t"],[31637,0,"h"],[31638,0,"i"],[31639,0,"t"],[31640,0,"{"],[31641,0,"d"],[31642,0,"e"],[31643,0,"p"],[31644,0,"s"],[31645,0,"}"],[31646,0," "],[31647,0,"\\"],[31648,0,"}"],[31649,0,"$"],[31650,0,"}"],[31651,0,"\n"],[31652,0,"\\"],[31653,0,"L"],[31654,0,"e"],[31655,0,"f"],[31656,0,"t"],[31657,0,"L"],[31658,0,"a"],[31659,0,"b"],[31660,0,"e"],[31661,0,"l"],[31662,0,"{"],[31663,0,"\\"],[31664,0,"t"],[31665,0,"e"],[31666,0,"x"],[31667,0,"t"],[31668,0,"s"],[31669,0,"c"],[31670,0,"{"],[31671,0,"C"],[31672,0,"l"],[31673,0,"e"],[31674,0,"a"],[31675,0,"r"],[31676,0,"-"],[31677,0,"R"],[31678,0,"e"],[31679,0,"g"],[31680,0,"}"],[31681,0,"}"],[31682,0,"\n"],[31683,0,"\\"],[31684,0,"B"],[31685,0,"i"],[31686,0,"n"],[31687,0,"a"],[31688,0,"r"],[31689,0,"y"],[31690,0,"I"],[31691,0,"n"],[31692,0,"f"],[31693,0,"C"],[31694,0,"{"],[31695,0,"$"],[31696,0,"$"],[31697,0,"}"],[31696,0,"\\"],[31697,0,"m"],[31698,0,"a"],[31699,0,"t"],[31700,0,"h"],[31701,0,"i"],[31702,0,"t"],[31703,0,"{"],[31704,0,"c"],[31705,0,"t"],[31706,0,"x"],[31707,0,"}"],[31708,0,","],[31709,0,"\\"],[31710,0,","],[31711,0," "],[31712,0,"\\"],[31713,0,"m"],[31714,0,"a"],[31715,0,"t"],[31716,0,"h"],[31717,0,"s"],[31718,0,"f"],[31719,0,"{"],[31720,0,"o"],[31721,0,"p"],[31722,0,"}"],[31723,0,"("],[31724,0,"\\"],[31725,0,"m"],[31726,0,"a"],[31727,0,"t"],[31728,0,"h"],[31729,0,"i"],[31730,0,"t"],[31731,0,"{"],[31732,0,"i"],[31733,0,"d"],[31734,0,"}"],[31735,0,","],[31736,0," "],[31737,0,"\\"],[31738,0,"m"],[31739,0,"a"],[31740,0,"t"],[31741,0,"h"],[31742,0,"i"],[31743,0,"t"],[31744,0,"{"],[31745,0,"d"],[31746,0,"e"],[31747,0,"p"],[31748,0,"s"],[31749,0,"}"],[31750,0,","],[31751,0,"\n"],[31752,0," "],[31753,0," "],[31754,0," "],[31755,0," "],[31756,0,"\\"],[31757,0,"m"],[31758,0,"a"],[31759,0,"t"],[31760,0,"h"],[31761,0,"s"],[31762,0,"f"],[31763,0,"{"],[31764,0,"c"],[31765,0,"u"],[31766,0,"r"],[31767,0,"s"],[31768,0,"o"],[31769,0,"r"],[31770,0,"}"],[31771,0,"("],[31772,0,"\\"],[31773,0,"l"],[31774,0,"a"],[31775,0,"n"],[31776,0,"g"],[31777,0,"l"],[31778,0,"e"],[31779,0,"\\"],[31780,0,"r"],[31781,0,"a"],[31782,0,"n"],[31783,0,"g"],[31784,0,"l"],[31785,0,"e"],[31786,0,","],[31787,0,"\\"],[31788,0,","],[31789,0," "],[31790,0,"k"],[31791,0,")"],[31792,0,","],[31793,0," "],[31794,0,"\\"],[31795,0,"m"],[31796,0,"a"],[31797,0,"t"],[31798,0,"h"],[31799,0,"s"],[31800,0,"f"],[31801,0,"{"],[31802,0,"c"],[31803,0,"l"],[31804,0,"e"],[31805,0,"a"],[31806,0,"r"],[31807,0,"R"],[31808,0,"e"],[31809,0,"g"],[31810,0,")"],[31810,1],[31810,0,"}"],[31811,0,")"],[31812,0," "],[31813,0,"\\"],[31814,0,"e"],[31815,0,"v"],[31816,0,"a"],[31817,0,"l"],[31818,0,"t"],[31819,0,"o"],[31820,0,"\n"],[31821,0," "],[31822,0," "],[31823,0," "],[31824,0," "],[31825,0,"\\"],[31826,0,"m"],[31827,0,"a"],[31828,0,"t"],[31829,0,"h"],[31830,0,"s"],[31831,0,"f"],[31831,1],[31830,1],[31830,0,"i"],[31831,0,"t"],[31832,0,"{"],[31833,0,"c"],[31834,0,"t"],[31835,0,"x"],[31836,0,"}"],[31837,0,"["],[29701,1],[29700,1],[29700,0,"i"],[29701,0,"t"],[29202,1],[29201,1],[29201,0,"i"],[29202,0,"t"],[31838,0,"\\"],[31839,0,","],[31840,0,"\\"],[31841,0,"m"],[31842,0,"a"],[31843,0,"t"],[31844,0,"h"],[31845,0,"s"],[31846,0,"f"],[31847,0,"{"],[31848,0,"r"],[31849,0,"e"],[31850,0,"g"],[31851,0,"T"],[31852,0,"}"],[31853,0,"("],[31854,0,"k"],[31855,0,")"],[31856,0," "],[31857,0,"\\"],[31858,0,","],[31859,0,"\\"],[31860,0,"m"],[31861,0,"a"],[31862,0,"p"],[31863,0,"s"],[31864,0,"t"],[31865,0,"o"],[31866,0," "],[31866,1],[31866,0,"\\"],[31867,0,","],[31868,0," "],[31869,0,"\\"],[31870,0,"m"],[31871,0,"a"],[31872,0,"t"],[31873,0,"h"],[31874,0,"i"],[31875,0,"t"],[31876,0,"{"],[31877,0,"c"],[31878,0,"o"],[31879,0,"n"],[31880,0,"c"],[31881,0,"u"],[31882,0,"r"],[31883,0,"r"],[31884,0,"e"],[31885,0,"n"],[31886,0,"t"],[31887,0,"}"],[31888,0," "],[31889,0,"\\"],[31890,0,","],[31891,0,"]"],[31840,0," "],[31511,0,"_"],[31912,0,"\n"],[31913,0,"\n"],[31914,0,"\\"],[31915,0,"b"],[31916,0,"e"],[31917,0,"g"],[31918,0,"i"],[31919,0,"n"],[31920,0,"{"],[31921,0,"p"],[31922,0,"r"],[31923,0,"o"],[31924,0,"o"],[31925,0,"f"],[31926,0,"t"],[31927,0,"r"],[31928,0,"e"],[31929,0,"e"],[31930,0,"}"],[31931,0,"\n"],[31932,0,"\\"],[31933,0,"A"],[31934,0,"x"],[31935,0,"i"],[31936,0,"o"],[31937,0,"m"],[31938,0,"C"],[31939,0,"{"],[31940,0,"$"],[31941,0,"\\"],[31942,0,"m"],[31943,0,"a"],[31944,0,"t"],[31945,0,"h"],[31946,0,"s"],[31947,0,"f"],[31948,0,"{"],[31949,0,"l"],[31950,0,"i"],[31951,0,"s"],[31952,0,"t"],[31953,0,"T"],[31954,0,"}"],[31955,0,"("],[31956,0,"k"],[31957,0,")"],[31958,0," "],[31959,0,"\\"],[31960,0,"i"],[31961,0,"n"],[31962,0," "],[31963,0,"\\"],[31964,0,"m"],[31965,0,"a"],[31966,0,"t"],[31967,0,"h"],[31968,0,"r"],[31969,0,"m"],[31970,0,"{"],[31971,0,"d"],[31972,0,"o"],[31973,0,"m"],[31974,0,"}"],[31975,0,"("],[31976,0,"\\"],[31977,0,"m"],[31978,0,"a"],[31979,0,"t"],[31980,0,"h"],[31981,0,"i"],[31982,0,"t"],[31983,0,"{"],[31984,0,"c"],[31985,0,"t"],[31986,0,"x"],[31987,0,"}"],[31988,0,")"],[31989,0,"$"],[31990,0,"}"],[31991,0,"\n"],[31992,0,"\\"],[31993,0,"A"],[31994,0,"x"],[31995,0,"i"],[31996,0,"o"],[31997,0,"m"],[31998,0,"C"],[31999,0,"{"],[32000,0,"$"],[32001,0,"\\"],[32002,0,"m"],[32003,0,"a"],[32004,0,"t"],[32005,0,"h"],[32006,0,"i"],[32007,0,"t"],[32008,0,"{"],[32009,0,"c"],[32010,0,"t"],[32011,0,"x"],[32012,0,"}"],[32013,0,"("],[32014,0,"\\"],[32015,0,"m"],[32016,0,"a"],[32017,0,"t"],[32018,0,"h"],[32019,0,"s"],[32020,0,"f"],[32021,0,"{"],[32022,0,"l"],[32023,0,"i"],[32024,0,"s"],[32025,0,"t"],[32026,0,"T"],[32027,0,"}"],[32028,0,"("],[32029,0,"k"],[32030,0,")"],[32031,0,")"],[32032,0,","],[32033,0,"\\"],[32034,0,","],[32035,0," "],[32036,0,"\\"],[32037,0,"m"],[32038,0,"a"],[32039,0,"t"],[32040,0,"h"],[32041,0,"s"],[32042,0,"f"],[32043,0,"{"],[32044,0,"o"],[32045,0,"p"],[32046,0,"}"],[32047,0,"("],[32048,0,"\\"],[32049,0,"m"],[32050,0,"a"],[32051,0,"t"],[32052,0,"h"],[32053,0,"i"],[32054,0,"t"],[32055,0,"{"],[32056,0,"i"],[32057,0,"d"],[32058,0,"}"],[32059,0,","],[32060,0," "],[32061,0,"\\"],[32062,0,"m"],[32063,0,"a"],[32064,0,"t"],[32065,0,"h"],[32066,0,"s"],[32066,1],[32066,0,"i"],[32067,0,"t"],[32068,0,"{"],[32069,0,"d"],[32070,0,"e"],[32071,0,"p"],[32072,0,"s"],[32073,0,"}"],[32074,0,","],[32075,0,"\n"],[32076,0," "],[32077,0," "],[32078,0," "],[32079,0," "],[32080,0,"\\"],[32081,0,"m"],[32082,0,"a"],[32083,0,"t"],[32084,0,"h"],[32085,0,"s"],[32086,0,"f"],[32087,0,"{"],[32088,0,"c"],[32089,0,"u"],[32090,0,"r"],[32091,0,"s"],[32092,0,"o"],[32093,0,"r"],[32094,0,"}"],[32095,0,"("],[32096,0,"\\"],[32097,0,"l"],[32098,0,"a"],[32099,0,"n"],[32100,0,"g"],[32101,0,"l"],[32102,0,"e"],[32103,0,"\\"],[32104,0,"r"],[32105,0,"a"],[32106,0,"n"],[32107,0,"g"],[32108,0,"l"],[32109,0,"e"],[32110,0,","],[32111,0,"\\"],[32112,0,","],[32113,0," "],[32114,0,"\\"],[32115,0,"m"],[32116,0,"a"],[32117,0,"t"],[32118,0,"h"],[32119,0,"s"],[32120,0,"f"],[32121,0,"{"],[32122,0,"h"],[32123,0,"e"],[32124,0,"a"],[32125,0,"d"],[32126,0,"}"],[32127,0,")"],[32128,0,","],[32129,0," "],[32130,0,"\\"],[32131,0,"m"],[32132,0,"a"],[32133,0,"t"],[32134,0,"h"],[32135,0,"s"],[32136,0,"f"],[32137,0,"{"],[32138,0,"c"],[32139,0,"l"],[32140,0,"e"],[32141,0,"a"],[32142,0,"r"],[32143,0,"E"],[32144,0,"l"],[32145,0,"e"],[32146,0,"m"],[32147,0,"e"],[32147,1],[32147,0,"s"],[32148,0,"}"],[32149,0,")"],[32150,0," "],[32151,0,"\\"],[32152,0,"e"],[32153,0,"v"],[32154,0,"a"],[32155,0,"l"],[32156,0,"t"],[32157,0,"o"],[32158,0," "],[32159,0,"\\"],[32160,0,"m"],[32161,0,"a"],[32162,0,"t"],[32163,0,"h"],[32164,0,"i"],[32165,0,"t"],[32166,0,"{"],[32167,0,"c"],[32168,0,"l"],[32169,0,"e"],[32170,0,"a"],[32171,0,"r"],[32172,0,"e"],[32173,0,"d"],[32174,0,"}"],[32175,0,"$"],[32176,0,"}"],[32177,0,"\n"],[32178,0,"\\"],[32179,0,"L"],[32180,0,"e"],[32181,0,"f"],[32182,0,"t"],[32183,0,"L"],[32184,0,"a"],[32185,0,"b"],[32186,0,"e"],[32187,0,"l"],[32188,0,"{"],[32189,0,"\\"],[32190,0,"t"],[32191,0,"e"],[32192,0,"x"],[32193,0,"t"],[32194,0,"s"],[32195,0,"c"],[32196,0,"{"],[32197,0,"C"],[32198,0,"l"],[32199,0,"e"],[32200,0,"a"],[32201,0,"r"],[32202,0,"-"],[32203,0,"L"],[32204,0,"i"],[32205,0,"s"],[32206,0,"t"],[32207,0,"}"],[32208,0,"}"],[32209,0,"\n"],[32210,0,"\\"],[32211,0,"B"],[32212,0,"i"],[32213,0,"n"],[32214,0,"a"],[32215,0,"r"],[32216,0,"y"],[32217,0,"I"],[32218,0,"n"],[32219,0,"f"],[32220,0,"C"],[32221,0,"{"],[32222,0,"$"],[32223,0,"\\"],[32224,0,"m"],[32225,0,"a"],[32226,0,"t"],[32227,0,"h"],[32228,0,"i"],[32229,0,"t"],[32230,0,"{"],[32231,0,"c"],[32232,0,"t"],[32233,0,"x"],[32234,0,"}"],[32235,0,","],[32236,0,"\\"],[32237,0,","],[32238,0," "],[32239,0,"\\"],[32240,0,"m"],[32241,0,"a"],[32242,0,"t"],[32243,0,"h"],[32244,0,"s"],[32245,0,"f"],[32246,0,"{"],[32247,0,"o"],[32248,0,"p"],[32249,0,"}"],[32250,0,"("],[32251,0,"\\"],[32252,0,"m"],[32253,0,"a"],[32254,0,"t"],[32255,0,"h"],[32256,0,"i"],[32257,0,"t"],[32258,0,"{"],[32259,0,"i"],[32260,0,"d"],[32261,0,"}"],[32262,0,","],[32263,0," "],[32264,0,"\\"],[32265,0,"m"],[32266,0,"a"],[32267,0,"t"],[32268,0,"h"],[32269,0,"i"],[32270,0,"t"],[32271,0,"{"],[32272,0,"d"],[32273,0,"e"],[32274,0,"p"],[32275,0,"s"],[32276,0,"}"],[32277,0,","],[32278,0,"\n"],[32279,0," "],[32280,0," "],[32281,0," "],[32282,0," "],[32283,0,"\\"],[32284,0,"m"],[32285,0,"a"],[32286,0,"t"],[32287,0,"h"],[32288,0,"s"],[32289,0,"f"],[32290,0,"{"],[32291,0,"c"],[32292,0,"u"],[32293,0,"r"],[32294,0,"s"],[32295,0,"o"],[32296,0,"r"],[32297,0,"}"],[32298,0,"("],[32299,0,"\\"],[32300,0,"l"],[32301,0,"a"],[32302,0,"n"],[32303,0,"g"],[32304,0,"l"],[32305,0,"e"],[32306,0,"\\"],[32307,0,"r"],[32308,0,"a"],[32309,0,"n"],[32310,0,"g"],[32311,0,"l"],[32312,0,"e"],[32313,0,","],[32314,0,"\\"],[32315,0,","],[32316,0," "],[32317,0,"k"],[32318,0,")"],[32319,0,","],[32320,0," "],[32321,0,"\\"],[32322,0,"m"],[32323,0,"a"],[32324,0,"t"],[32325,0,"h"],[32326,0,"s"],[32327,0,"f"],[32328,0,"{"],[32329,0,"c"],[32330,0,"l"],[32331,0,"e"],[32332,0,"a"],[32333,0,"r"],[32334,0,"L"],[32335,0,"i"],[32336,0,"s"],[32337,0,"t"],[32338,0,"}"],[32339,0,")"],[32340,0," "],[32341,0,"\\"],[32342,0,"e"],[32343,0,"v"],[32344,0,"a"],[32345,0,"l"],[32346,0,"t"],[32347,0,"o"],[32348,0,"\n"],[32349,0," "],[32350,0," "],[32351,0," "],[32352,0," "],[32353,0,"\\"],[32354,0,"m"],[32355,0,"a"],[32356,0,"t"],[32357,0,"h"],[32358,0,"i"],[32359,0,"t"],[32360,0,"{"],[32361,0,"c"],[32362,0,"t"],[32363,0,"x"],[32364,0,"}"],[32365,0,"["],[32366,0,"\\"],[32367,0,","],[32368,0," "],[32369,0,"\\"],[32370,0,"m"],[32371,0,"a"],[32372,0,"t"],[32373,0,"h"],[32374,0,"s"],[32375,0,"f"],[32376,0,"{"],[32377,0,"l"],[32378,0,"i"],[32379,0,"s"],[32380,0,"t"],[32381,0,"T"],[32382,0,"}"],[32383,0,"("],[32384,0,"k"],[32385,0,")"],[32386,0," "],[32387,0,"\\"],[32388,0,","],[32389,0,"\\"],[32390,0,"m"],[32391,0,"a"],[32392,0,"p"],[32393,0,"s"],[32394,0,"t"],[32395,0,"o"],[32396,0,"\\"],[32397,0,","],[32398,0," "],[32399,0,"\\"],[32400,0,"m"],[32401,0,"a"],[32402,0,"t"],[32403,0,"h"],[32404,0,"i"],[32405,0,"t"],[32406,0,"{"],[32407,0,"c"],[32408,0,"l"],[32409,0,"e"],[32410,0,"a"],[32411,0,"r"],[32412,0,"e"],[32413,0,"d"],[32414,0,"}"],[32415,0," "],[32416,0,"\\"],[32417,0,","],[32418,0,"]"],[32419,0,"$"],[32420,0,"}"],[32421,0,"\n"],[32422,0,"\\"],[32423,0,"e"],[32424,0,"n"],[32425,0,"d"],[32426,0,"{"],[32427,0,"p"],[32428,0,"r"],[32429,0,"o"],[32430,0,"o"],[32431,0,"f"],[32432,0,"t"],[32433,0,"r"],[32434,0,"e"],[32435,0,"e"],[32436,0,"}"],[32437,0,"\n"],[32438,0,"\n"],[32439,0,"\\"],[32440,0,"b"],[32441,0,"e"],[32442,0,"g"],[32443,0,"i"],[32444,0,"n"],[32445,0,"{"],[32446,0,"p"],[32447,0,"r"],[32448,0,"o"],[32449,0,"o"],[32450,0,"f"],[32451,0,"t"],[32452,0,"r"],[32453,0,"e"],[32454,0,"e"],[32455,0,"\\"],[32455,1],[32455,0,"}"],[32456,0,"\n"],[32457,0,"\\"],[32458,0,"A"],[32459,0,"x"],[32460,0,"i"],[32461,0,"o"],[32462,0,"m"],[32463,0,"C"],[32464,0,"{"],[32465,0,"$"],[32466,0,"\\"],[32467,0,"m"],[32468,0,"a"],[32469,0,"t"],[32470,0,"h"],[32470,1],[32469,1],[32468,1],[32467,1],[32466,1],[32466,0,"k"],[32467,0," "],[32468,0,"\\"],[32469,0,"n"],[32470,0,"o"],[32471,0,"t"],[32472,0,"="],[32473,0," "],[32474,0,"\\"],[32475,0,"m"],[32476,0,"a"],[32477,0,"t"],[32478,0,"h"],[32479,0,"s"],[32480,0,"f"],[32481,0,"{"],[32482,0,"t"],[32483,0,"a"],[32484,0,"i"],[32485,0,"l"],[32486,0,"}"],[32487,0,"$"],[32488,0,"}"],[32489,0,"\n"],[32490,0,"\\"],[32491,0,"A"],[32492,0,"x"],[32493,0,"i"],[32494,0,"o"],[32495,0,"m"],[32496,0,"C"],[32497,0,"{"],[32498,0,"$"],[32499,0,"\\"],[32500,0,"m"],[32501,0,"a"],[32502,0,"t"],[32503,0,"h"],[32504,0,"i"],[32505,0,"t"],[32506,0,"{"],[32507,0,"c"],[32508,0,"t"],[32509,0,"x"],[32510,0,"}"],[32511,0,"("],[32512,0,"\\"],[32513,0,"m"],[32514,0,"a"],[32515,0,"t"],[32516,0,"h"],[32517,0,"s"],[32518,0,"f"],[32519,0,"{"],[32520,0,"n"],[32521,0,"e"],[32522,0,"x"],[32523,0,"t"],[32524,0,"}"],[32525,0,"("],[32526,0,"k"],[32527,0,")"],[32528,0,")"],[32529,0," "],[32530,0,"="],[32531,0," "],[32532,0,"\\"],[32533,0,"m"],[32534,0,"a"],[32535,0,"t"],[32536,0,"h"],[32537,0,"i"],[32538,0,"t"],[32539,0,"{"],[32540,0,"n"],[32541,0,"e"],[32542,0,"x"],[32543,0,"t"],[32544,0,"}"],[32545,0,"$"],[32546,0,"}"],[32547,0,"\n"],[32548,0,"\\"],[32549,0,"A"],[32550,0,"x"],[32551,0,"i"],[32552,0,"o"],[32553,0,"m"],[32554,0,"C"],[32555,0,"{"],[32556,0,"$"],[32489,0,"\n"],[32490,0,"\\"],[32491,0,"A"],[32492,0,"x"],[32493,0,"i"],[32494,0,"o"],[32495,0,"m"],[32496,0,"C"],[32497,0,"{"],[32498,0,"$"],[32499,0,"k"],[32500,0," "],[32501,0,"\\"],[32502,0,"i"],[32503,0,"n"],[32504,0," "],[32505,0,"\\"],[32506,0,"m"],[32507,0,"a"],[32508,0,"t"],[32509,0,"h"],[32510,0,"i"],[32511,0,"t"],[32512,0,"{"],[32513,0,"d"],[32514,0,"e"],[32515,0,"p"],[32516,0,"s"],[32517,0,"}"],[32518,0,"$"],[32519,0,"}"],[32588,0,"\\"],[32589,0,"m"],[32590,0,"a"],[32591,0,"t"],[32592,0,"h"],[32593,0,"i"],[32594,0,"t"],[32595,0,"{"],[32596,0,"c"],[32597,0,"t"],[32598,0,"x"],[32599,0,"}"],[32600,0,","],[32601,0,"\\"],[32602,0,","],[32603,0," "],[32604,0,"\\"],[32605,0,"m"],[32606,0,"a"],[32607,0,"t"],[32608,0,"h"],[32609,0,"s"],[32610,0,"f"],[32611,0,"{"],[32612,0,"o"],[32613,0,"p"],[32614,0,"}"],[32615,0,"("],[32616,0,"\\"],[32617,0,"m"],[32618,0,"a"],[32619,0,"t"],[32620,0,"h"],[32621,0,"i"],[32622,0,"t"],[32623,0,"{"],[32624,0,"i"],[32625,0,"d"],[32626,0,"}"],[32627,0,","],[32628,0," "],[32629,0,"\\"],[32630,0,"m"],[32631,0,"a"],[32632,0,"t"],[32633,0,"h"],[32634,0,"i"],[32635,0,"t"],[32636,0,"{"],[32637,0,"d"],[32638,0,"e"],[32639,0,"p"],[32640,0,"s"],[32641,0,"}"],[32642,0,","],[32643,0,"\n"],[32644,0," "],[32645,0," "],[32646,0," "],[32647,0," "],[32648,0,"\\"],[32649,0,"m"],[32650,0,"a"],[32651,0,"t"],[32652,0,"h"],[32653,0,"s"],[32654,0,"f"],[32655,0,"{"],[32656,0,"c"],[32657,0,"u"],[32658,0,"r"],[32659,0,"s"],[32660,0,"o"],[32661,0,"r"],[32662,0,"}"],[32663,0,"("],[32664,0,"\\"],[32665,0,"l"],[32666,0,"a"],[32667,0,"n"],[32668,0,"g"],[32669,0,"l"],[32670,0,"e"],[32671,0,"\\"],[32672,0,"r"],[32673,0,"a"],[32674,0,"n"],[32675,0,"g"],[32676,0,"l"],[32677,0,"e"],[32678,0,","],[32679,0,"\\"],[32680,0,","],[32681,0," "],[32682,0,"k"],[32683,0,")"],[32684,0,","],[32685,0," "],[32686,0,"\\"],[32687,0,"m"],[32688,0,"a"],[32689,0,"t"],[32690,0,"h"],[32691,0,"s"],[32692,0,"f"],[32693,0,"{"],[32694,0,"c"],[32695,0,"l"],[32696,0,"e"],[32697,0,"a"],[32698,0,"r"],[32699,0,"E"],[32700,0,"l"],[32701,0,"e"],[32702,0,"m"],[32703,0,"e"],[32703,1],[32703,0,"s"],[32704,0,"}"],[32705,0,")"],[32706,0," "],[32707,0,"\\"],[32708,0,"e"],[32709,0,"v"],[32710,0,"a"],[32711,0,"l"],[32712,0,"t"],[32713,0,"o"],[32714,0," "],[32715,0,"\\"],[32716,0,"m"],[32717,0,"a"],[32718,0,"t"],[32719,0,"h"],[32720,0,"i"],[32721,0,"t"],[32722,0,"{"],[32723,0,"c"],[32724,0,"t"],[32725,0,"x"],[32726,0,"}"],[32727,0,"'"],[32728,0,"$"],[32729,0,"}"],[32730,0,"\n"],[32731,0,"\\"],[32732,0,"L"],[32733,0,"e"],[32734,0,"f"],[32735,0,"t"],[32736,0,"L"],[32737,0,"a"],[32738,0,"b"],[32739,0,"e"],[32740,0,"l"],[32741,0,"{"],[32742,0,"\\"],[32743,0,"t"],[32744,0,"e"],[32745,0,"x"],[32746,0,"t"],[32747,0,"s"],[32748,0,"c"],[32749,0,"{"],[32750,0,"C"],[32751,0,"l"],[32752,0,"e"],[32752,1],[32751,1],[32742,0,"$"],[32752,0,"l"],[32753,0,"e"],[32754,0,"a"],[32755,0,"r"],[32756,0,"-"],[32757,0,"E"],[32758,0,"l"],[32759,0,"e"],[32760,0,"m"],[32761,0,"s"],[32762,0,"}"],[32763,0,"_"],[32764,0,"1"],[32765,0,"$"],[32766,0,"}"],[32767,0,"\n"],[32768,0,"\\"],[32769,0,"Q"],[32770,0,"u"],[32771,0,"a"],[32772,0,"t"],[32773,0,"e"],[32774,0,"r"],[32775,0,"n"],[32776,0,"a"],[32777,0,"r"],[32778,0,"y"],[32779,0,"I"],[32780,0,"n"],[32781,0,"f"],[32782,0,"C"],[32783,0,"{"],[32784,0,"$"],[32785,0,"\\"],[32786,0,"m"],[32787,0,"a"],[32788,0,"t"],[32789,0,"h"],[32790,0,"i"],[32791,0,"t"],[32792,0,"{"],[32793,0,"c"],[32794,0,"t"],[32795,0,"x"],[32796,0,"}"],[32797,0,","],[32798,0,"\\"],[32799,0,","],[32800,0," "],[32801,0,"\\"],[32802,0,"m"],[32803,0,"a"],[32804,0,"t"],[32805,0,"h"],[32806,0,"s"],[32807,0,"f"],[32808,0,"{"],[32809,0,"o"],[32810,0,"p"],[32811,0,"}"],[32812,0,"("],[32813,0,"\\"],[32814,0,"m"],[32815,0,"a"],[32816,0,"t"],[32817,0,"h"],[32818,0,"i"],[32819,0,"t"],[32820,0,"{"],[32821,0,"i"],[32822,0,"d"],[32823,0,"}"],[32824,0,","],[32825,0," "],[32826,0,"\\"],[32827,0,"m"],[32828,0,"a"],[32829,0,"t"],[32830,0,"h"],[32831,0,"i"],[32832,0,"t"],[32833,0,"{"],[32834,0,"d"],[32835,0,"e"],[32836,0,"p"],[32837,0,"s"],[32838,0,"}"],[32839,0,","],[32840,0,"\n"],[32841,0," "],[32842,0," "],[32843,0," "],[32844,0," "],[32845,0,"\\"],[32846,0,"m"],[32847,0,"a"],[32848,0,"t"],[32849,0,"h"],[32850,0,"s"],[32851,0,"f"],[32852,0,"{"],[32853,0,"c"],[32854,0,"u"],[32855,0,"r"],[32856,0,"s"],[32857,0,"o"],[32858,0,"r"],[32859,0,"}"],[32860,0,"("],[32861,0,"\\"],[32862,0,"l"],[32863,0,"a"],[32864,0,"n"],[32865,0,"g"],[32866,0,"l"],[32867,0,"e"],[32868,0,","],[32868,1],[32868,0,"\\"],[32869,0,"r"],[32870,0,"a"],[32871,0,"n"],[32872,0,"g"],[32873,0,"l"],[32874,0,"e"],[32875,0,","],[32876,0,"\\"],[32877,0,","],[32878,0," "],[32879,0,"k"],[32880,0,")"],[32881,0,","],[32882,0," "],[32883,0,"\\"],[32884,0,"m"],[32885,0,"a"],[32886,0,"t"],[32887,0,"h"],[32888,0,"s"],[32889,0,"f"],[32890,0,"{"],[32891,0,"c"],[32892,0,"l"],[32893,0,"e"],[32894,0,"a"],[32895,0,"r"],[32896,0,"E"],[32897,0,"l"],[32898,0,"e"],[32899,0,"m"],[32900,0,"s"],[32682,1],[32682,0,"\\"],[32683,0,"m"],[32684,0,"a"],[32685,0,"t"],[32686,0,"h"],[32687,0,"i"],[32688,0,"t"],[32689,0,"{"],[32690,0,"n"],[32691,0,"e"],[32692,0,"x"],[32693,0,"t"],[32694,0,"}"],[32913,0,"}"],[32914,0,")"],[32915,0," "],[32916,0,"\\"],[32917,0,"e"],[32918,0,"v"],[32919,0,"a"],[32920,0,"l"],[32921,0,"t"],[32922,0,"o"],[32923,0," "],[32923,1],[32923,0,"\n"],[32924,0," "],[32925,0," "],[32926,0," "],[32927,0," "],[32928,0,"\\"],[32929,0,"m"],[32930,0,"a"],[32931,0,"t"],[32932,0,"h"],[32933,0,"i"],[32934,0,"t"],[32935,0,"{"],[32936,0,"c"],[32937,0,"t"],[32938,0,"x"],[32939,0,"}"],[32940,0,"'"],[32941,0,"["],[32942,0,"\\"],[32943,0,","],[32944,0," "],[32945,0,"\\"],[32946,0,"m"],[32947,0,"a"],[32948,0,"t"],[32949,0,"h"],[32944,1],[32949,0,"s"],[32950,0,"f"],[32951,0,"{"],[32952,0,"d"],[32953,0,"e"],[32954,0,"l"],[32955,0,"e"],[32956,0,"t"],[32957,0,"e"],[32958,0,"d"],[32959,0,"}"],[32960,0,"("],[32961,0,"\\"],[32962,0,"m"],[32963,0,"a"],[32964,0,"t"],[32965,0,"h"],[32966,0,"i"],[32967,0,"t"],[32968,0,"("],[32969,0,"k"],[32969,1],[32968,1],[32968,0,"{"],[32968,1],[32967,1],[32966,1],[32965,1],[32964,1],[32963,1],[32962,1],[32961,1],[32961,0,"k"],[32962,0,")"],[32963,0," "],[32964,0,"\\"],[32965,0,","],[32966,0,"\\"],[32967,0,"m"],[32968,0,"a"],[32969,0,"p"],[32970,0,"s"],[32971,0,"t"],[32972,0,"o"],[32973,0,"\\"],[32974,0,","],[32975,0," "],[32976,0,"\\"],[32977,0,"m"],[32978,0,"a"],[32979,0,"t"],[32980,0,"h"],[32981,0,"s"],[32982,0,"f"],[32983,0,"{"],[32984,0,"t"],[32985,0,"r"],[32986,0,"u"],[32987,0,"e"],[32988,0,"}"],[32989,0,"\\"],[32990,0,","],[32991,0,"]"],[32992,0,"$"],[32993,0,"}"],[32994,0,"\n"],[32995,0,"\\"],[32996,0,"e"],[32997,0,"n"],[32998,0,"d"],[32999,0,"{"],[33000,0,"p"],[33001,0,"r"],[33002,0,"o"],[33003,0,"o"],[33004,0,"f"],[33005,0,"t"],[33006,0,"r"],[33007,0,"e"],[33008,0,"e"],[33009,0,"}"],[32781,1],[32781,1],[32781,1],[32781,1],[32781,1],[32781,1],[32781,0,"T"],[32782,0,"r"],[32783,0,"i"],[32498,1],[32497,1],[32496,1],[32495,1],[32494,1],[32493,1],[32492,1],[32491,1],[32490,1],[32489,1],[32488,1],[32487,1],[32487,0," "],[32488,0,"\\"],[32489,0,","],[32490,0,"\\"],[32491,0,"w"],[32492,0,"e"],[32493,0,"d"],[32494,0,"g"],[32495,0,"e"],[32496,0,"\\"],[32497,0,","],[32498,0," "],[33007,0,"\n"],[33008,0,"\n"],[33009,0,"\\"],[33010,0,"b"],[33011,0,"e"],[33012,0,"g"],[33013,0,"i"],[33014,0,"n"],[33015,0,"{"],[33016,0,"p"],[33017,0,"r"],[33018,0,"o"],[33019,0,"o"],[33020,0,"f"],[33021,0,"t"],[33022,0,"r"],[33023,0,"e"],[33024,0,"e"],[33025,0,"}"],[33026,0,"\n"],[33027,0,"\\"],[33028,0,"A"],[33029,0,"x"],[33030,0,"i"],[33031,0,"o"],[33032,0,"m"],[33033,0,"C"],[33034,0,"{"],[33035,0,"$"],[33036,0,"k"],[33037,0," "],[33038,0,"\\"],[33039,0,"n"],[33040,0,"o"],[33041,0,"t"],[33042,0,"="],[33043,0," "],[33044,0,"\\"],[33045,0,"m"],[33046,0,"a"],[33047,0,"t"],[33048,0,"h"],[33049,0,"s"],[33050,0,"f"],[33051,0,"{"],[33052,0,"t"],[33053,0,"a"],[33054,0,"i"],[33055,0,"l"],[33056,0,"}"],[33057,0," "],[33058,0,"\\"],[33059,0,","],[33060,0,"\\"],[33061,0,"w"],[33062,0,"e"],[33063,0,"d"],[33064,0,"g"],[33065,0,"e"],[33066,0,"\\"],[33067,0,","],[33068,0," "],[33069,0,"k"],[33070,0," "],[33071,0,"\\"],[33072,0,"n"],[33073,0,"o"],[33074,0,"t"],[33075,0,"i"],[33076,0,"n"],[33077,0," "],[33078,0,"\\"],[33079,0,"m"],[33080,0,"a"],[33081,0,"t"],[33082,0,"h"],[33083,0,"i"],[33084,0,"t"],[33085,0,"{"],[33086,0,"d"],[33087,0,"e"],[33088,0,"p"],[33089,0,"s"],[33090,0,"}"],[33091,0,"$"],[33092,0,"}"],[33093,0,"\n"],[33094,0,"\\"],[33095,0,"A"],[33096,0,"x"],[33097,0,"i"],[33098,0,"o"],[33099,0,"m"],[33100,0,"C"],[33101,0,"{"],[33102,0,"$"],[33103,0,"\\"],[33104,0,"m"],[33105,0,"a"],[33106,0,"t"],[33107,0,"h"],[33108,0,"i"],[33109,0,"t"],[33110,0,"{"],[33111,0,"c"],[33112,0,"t"],[33113,0,"x"],[33114,0,"}"],[33115,0,"("],[33116,0,"\\"],[33117,0,"m"],[33118,0,"a"],[33119,0,"t"],[33120,0,"h"],[33121,0,"s"],[33122,0,"f"],[33123,0,"{"],[33124,0,"n"],[33125,0,"e"],[33126,0,"x"],[33127,0,"t"],[33128,0,")"],[33128,1],[33128,0,"}"],[33129,0,"("],[33130,0,"k"],[33131,0,")"],[33132,0,")"],[33133,0," "],[33134,0,"="],[33135,0," "],[33136,0,"\\"],[33137,0,"m"],[33138,0,"a"],[33139,0,"t"],[33140,0,"h"],[33141,0,"i"],[33142,0,"t"],[33143,0,"{"],[33144,0,"n"],[33145,0,"e"],[33146,0,"x"],[33147,0,"t"],[33148,0,"}"],[33149,0,"$"],[33150,0,"}"],[33151,0,"\n"],[33152,0,"\\"],[33153,0,"A"],[33154,0,"x"],[33155,0,"i"],[33156,0,"o"],[33157,0,"m"],[33158,0,"C"],[33159,0,"$"],[33159,1],[33159,0,"{"],[33160,0,"$"],[33161,0,"\\"],[33162,0,"m"],[33163,0,"a"],[33164,0,"t"],[33165,0,"h"],[33166,0,"i"],[33167,0,"t"],[33168,0,"{"],[33169,0,"c"],[33170,0,"t"],[33171,0,"x"],[33172,0,"}"],[33173,0,","],[33174,0,"\\"],[33175,0,","],[33176,0," "],[33177,0,"\\"],[33178,0,"m"],[33179,0,"a"],[33180,0,"t"],[33181,0,"h"],[33182,0,"s"],[33183,0,"f"],[33184,0,"{"],[33185,0,"o"],[33186,0,"p"],[33187,0,"}"],[33188,0,"("],[33189,0,"\\"],[33190,0,"m"],[33191,0,"a"],[33192,0,"t"],[33193,0,"h"],[33194,0,"i"],[33195,0,"t"],[33196,0,"{"],[33197,0,"i"],[33198,0,"d"],[33199,0,"}"],[33200,0,","],[33201,0," "],[33202,0,"\\"],[33203,0,"m"],[33204,0,"a"],[33205,0,"t"],[33206,0,"h"],[33207,0,"i"],[33208,0,"t"],[33209,0,"{"],[33210,0,"d"],[33211,0,"e"],[33212,0,"p"],[33213,0,"s"],[33214,0,"}"],[33215,0,","],[33216,0,"\n"],[33217,0," "],[33218,0," "],[33219,0," "],[33220,0," "],[33221,0,"\\"],[33222,0,"m"],[33223,0,"a"],[33224,0,"t"],[33225,0,"h"],[33226,0,"s"],[33227,0,"f"],[33228,0,"{"],[33229,0,"c"],[33230,0,"u"],[33231,0,"r"],[33232,0,"s"],[33233,0,"o"],[33234,0,"r"],[33235,0,"}"],[33236,0,"("],[33237,0,"\\"],[33238,0,"l"],[33239,0,"a"],[33240,0,"n"],[33241,0,"g"],[33242,0,"l"],[33243,0,"e"],[33244,0,"\\"],[33245,0,"r"],[33246,0,"a"],[33247,0,"n"],[33248,0,"g"],[33249,0,"l"],[33250,0,"e"],[33251,0,","],[33252,0,"\\"],[33253,0,","],[33254,0," "],[33255,0,"\\"],[33256,0,"m"],[33257,0,"a"],[33258,0,"t"],[33259,0,"h"],[33260,0,"i"],[33261,0,"t"],[33262,0,"{"],[33263,0,"n"],[33264,0,"e"],[33265,0,"x"],[33266,0,"t"],[33267,0,"}"],[33268,0,")"],[33269,0,","],[33270,0," "],[33271,0,"\\"],[33272,0,"m"],[33273,0,"a"],[33274,0,"t"],[33275,0,"h"],[33276,0,"s"],[33277,0,"f"],[33278,0,"{"],[33279,0,"c"],[33280,0,"l"],[33281,0,"e"],[33282,0,"a"],[33283,0,"r"],[33284,0,"E"],[33285,0,"l"],[33286,0,"e"],[33287,0,"m"],[33288,0,"s"],[33289,0,"}"],[33290,0,")"],[33291,0," "],[33292,0,"\\"],[33293,0,"e"],[33294,0,"v"],[33295,0,"a"],[33296,0,"l"],[33297,0,"t"],[33298,0,"o"],[33299,0," "],[33300,0,"\\"],[33301,0,"m"],[33302,0,"a"],[33303,0,"t"],[33304,0,"h"],[33305,0,"i"],[33306,0,"t"],[33307,0,"{"],[33308,0,"c"],[33309,0,"t"],[33310,0,"x"],[33311,0,"}"],[33312,0,"'"],[33313,0,"$"],[33314,0,"}"],[33315,0,"\n"],[33316,0,"\\"],[33317,0,"L"],[33318,0,"e"],[33319,0,"f"],[33320,0,"t"],[33321,0,"L"],[33322,0,"a"],[33323,0,"b"],[33324,0,"e"],[33325,0,"l"],[33326,0,"{"],[33327,0,"$"],[33328,0,"\\"],[33329,0,"t"],[33330,0,"e"],[33331,0,"x"],[33332,0,"t"],[33333,0,"s"],[33334,0,"c"],[33335,0,"{"],[33336,0,"C"],[33337,0,"l"],[33338,0,"e"],[33339,0,"a"],[33340,0,"r"],[33341,0,"-"],[33342,0,"E"],[33343,0,"l"],[33344,0,"e"],[33345,0,"m"],[33346,0,"s"],[33347,0,"}"],[33348,0,"_"],[33349,0,"2"],[33350,0,"$"],[33351,0,"}"],[33352,0,"\n"],[33353,0,"\\"],[33354,0,"T"],[33355,0,"r"],[33356,0,"i"],[33357,0,"n"],[33358,0,"a"],[33359,0,"r"],[33360,0,"y"],[33361,0,"I"],[33362,0,"n"],[33363,0,"f"],[33364,0,"C"],[33365,0,"{"],[33366,0,"$"],[33367,0,"\\"],[33368,0,"m"],[33369,0,"a"],[33370,0,"t"],[33371,0,"h"],[33372,0,"i"],[33373,0,"t"],[33374,0,"{"],[33375,0,"c"],[33376,0,"t"],[33377,0,"x"],[33378,0,"}"],[33379,0,","],[33380,0,"\\"],[33381,0,","],[33382,0," "],[33383,0,"\\"],[33384,0,"m"],[33385,0,"a"],[33386,0,"t"],[33387,0,"h"],[33388,0,"s"],[33389,0,"f"],[33390,0,"{"],[33391,0,"o"],[33392,0,"p"],[33393,0,"}"],[33394,0,"("],[33395,0,"\\"],[33396,0,"m"],[33397,0,"a"],[33398,0,"t"],[33399,0,"h"],[33400,0,"i"],[33401,0,"t"],[33402,0,"{"],[33403,0,"i"],[33404,0,"d"],[33405,0,"}"],[33406,0,","],[33407,0," "],[33408,0,"\\"],[33409,0,"m"],[33410,0,"a"],[33411,0,"t"],[33412,0,"h"],[33413,0,"i"],[33414,0,"t"],[33415,0,"{"],[33416,0,"d"],[33417,0,"e"],[33418,0,"p"],[33419,0,"s"],[33420,0,"}"],[33421,0,","],[33422,0,"\n"],[33423,0," "],[33424,0," "],[33425,0," "],[33426,0," "],[33427,0,"\\"],[33428,0,"m"],[33429,0,"a"],[33430,0,"t"],[33431,0,"h"],[33432,0,"s"],[33433,0,"f"],[33434,0,"{"],[33435,0,"c"],[33436,0,"u"],[33437,0,"r"],[33438,0,"s"],[33439,0,"o"],[33440,0,"r"],[33441,0,"}"],[33442,0,"("],[33443,0,"\\"],[33444,0,"l"],[33445,0,"a"],[33446,0,"n"],[33447,0,"g"],[33448,0,"l"],[33449,0,"e"],[33450,0,"\\"],[33451,0,"r"],[33452,0,"a"],[33453,0,"n"],[33454,0,"g"],[33455,0,"l"],[33456,0,"e"],[33457,0,","],[33458,0,"\\"],[33459,0,","],[33460,0," "],[33461,0,"k"],[33462,0,")"],[33463,0,","],[33464,0," "],[33465,0,"\\"],[33466,0,"m"],[33467,0,"a"],[33468,0,"t"],[33469,0,"h"],[33470,0,"s"],[33471,0,"f"],[33472,0,"{"],[33473,0,"c"],[33474,0,"l"],[33475,0,"e"],[33476,0,"a"],[33477,0,"r"],[33478,0,"E"],[33479,0,"l"],[33480,0,"e"],[33481,0,"m"],[33482,0,"e"],[33483,0,"s"],[33483,1],[33482,1],[33482,0,"s"],[33483,0,"}"],[33484,0,")"],[33485,0," "],[33486,0,"\\"],[33487,0,"e"],[33488,0,"v"],[33489,0,"a"],[33490,0,"l"],[33491,0,"t"],[33492,0,"o"],[33493,0,"\n"],[33493,1],[33493,0," "],[33494,0,"\\"],[33495,0,"m"],[33496,0,"a"],[33497,0,"t"],[33498,0,"h"],[33499,0,"i"],[33500,0,"t"],[33501,0,"{"],[33502,0,"c"],[33503,0,"t"],[33504,0,"x"],[33505,0,"}"],[33506,0,"'"],[33507,0,"$"],[33508,0,"}"],[33509,0,"\n"],[33510,0,"\\"],[33511,0,"e"],[33512,0,"n"],[33513,0,"d"],[33514,0,"{"],[33515,0,"["],[33515,1],[33515,0,"p"],[33516,0,"r"],[33517,0,"o"],[33518,0,"o"],[33519,0,"f"],[33520,0,"t"],[33521,0,"r"],[33522,0,"e"],[33523,0,"e"],[33524,0,"}"],[33525,0,"\n"],[33526,0,"\n"],[33527,0,"\\"],[33528,0,"b"],[33529,0,"e"],[33530,0,"g"],[33531,0,"i"],[33532,0,"n"],[33533,0,"{"],[33534,0,"p"],[33535,0,"r"],[33536,0,"o"],[33537,0,"o"],[33538,0,"f"],[33539,0,"t"],[33540,0,"r"],[33541,0,"e"],[33542,0,"e"],[33543,0,"}"],[33544,0,"\n"],[33545,0,"\\"],[33546,0,"e"],[33547,0,"n"],[33548,0,"d"],[33549,0,"{"],[33550,0,"p"],[33551,0,"r"],[33552,0,"o"],[33553,0,"o"],[33554,0,"f"],[33555,0,"t"],[33556,0,"r"],[33557,0,"e"],[33558,0,"e"],[33559,0,"}"],[33544,0,"\n"],[33545,0,"\\"],[33546,0,"A"],[33547,0,"x"],[33548,0,"i"],[33549,0,"o"],[33550,0,"m"],[33551,0,"C"],[33552,0,"{"],[33553,0,"$"],[33554,0,"k"],[33555,0," "],[33556,0,"="],[33557,0," "],[33558,0,"\\"],[33559,0,"m"],[33560,0,"a"],[33561,0,"t"],[33562,0,"h"],[33563,0,"s"],[33564,0,"f"],[33564,1],[33563,1],[33563,0,"s"],[33564,0,"f"],[33565,0,"{"],[33566,0,"t"],[33567,0,"a"],[33568,0,"i"],[33569,0,"l"],[33570,0,"}"],[33571,0,"$"],[33572,0,"}"],[33573,0,"\n"],[33574,0,"\\"],[33575,0,"L"],[33576,0,"e"],[33577,0,"f"],[33578,0,"t"],[33579,0,"L"],[33580,0,"a"],[33581,0,"b"],[33582,0,"e"],[33583,0,"l"],[33584,0,"{"],[33585,0,"$"],[33586,0,"\\"],[33587,0,"t"],[33588,0,"e"],[33589,0,"x"],[33590,0,"t"],[33591,0,"s"],[33592,0,"c"],[33593,0,"{"],[33594,0,"C"],[33595,0,"l"],[33596,0,"e"],[33597,0,"a"],[33598,0,"r"],[33599,0,"-"],[33600,0,"E"],[33601,0,"l"],[33602,0,"e"],[33603,0,"m"],[33604,0,"s"],[33605,0,"}"],[33606,0,"_"],[33607,0,"3"],[33608,0,"$"],[33609,0,"}"],[33610,0,"\n"],[33611,0,"\\"],[33612,0,"U"],[33613,0,"n"],[33614,0,"a"],[33615,0,"r"],[33616,0,"y"],[33617,0,"I"],[33618,0,"n"],[33619,0,"f"],[33620,0,"C"],[33621,0,"{"],[33622,0,"$"],[33623,0,"\\"],[33624,0,"m"],[33625,0,"a"],[33626,0,"t"],[33627,0,"h"],[33628,0,"i"],[33629,0,"t"],[33630,0,"{"],[33631,0,"c"],[33632,0,"t"],[33633,0,"x"],[33634,0,"}"],[33635,0,","],[33636,0,"\\"],[33637,0,","],[33638,0," "],[33639,0,"\\"],[33640,0,"m"],[33641,0,"a"],[33642,0,"t"],[33643,0,"h"],[33644,0,"s"],[33645,0,"f"],[33646,0,"{"],[33647,0,"o"],[33648,0,"p"],[33649,0,"}"],[33650,0,"("],[33651,0,"\\"],[33652,0,"m"],[33653,0,"a"],[33654,0,"t"],[33655,0,"h"],[33656,0,"i"],[33657,0,"t"],[33658,0,"{"],[33659,0,"i"],[33660,0,"d"],[33661,0,"}"],[33662,0,","],[33663,0," "],[33664,0,"\\"],[33665,0,"m"],[33666,0,"a"],[33667,0,"t"],[33668,0,"h"],[33669,0,"i"],[33670,0,"t"],[33671,0,"{"],[33672,0,"d"],[33673,0,"e"],[33674,0,"p"],[33675,0,"s"],[33676,0,"}"],[33677,0,","],[33678,0,"\n"],[33679,0," "],[33680,0," "],[33681,0," "],[33682,0," "],[33683,0,"\\"],[33684,0,"m"],[33685,0,"a"],[33686,0,"t"],[33687,0,"h"],[33688,0,"s"],[33689,0,"f"],[33690,0,"{"],[33691,0,"c"],[33692,0,"u"],[33693,0,"r"],[33694,0,"s"],[33695,0,"o"],[33696,0,"r"],[33697,0,"}"],[33698,0,"("],[33699,0,"\\"],[33700,0,"l"],[33701,0,"a"],[33702,0,"n"],[33703,0,"g"],[33704,0,"l"],[33705,0,"e"],[33706,0,"\\"],[33707,0,"r"],[33708,0,"a"],[33709,0,"n"],[33710,0,"g"],[33711,0,"l"],[33712,0,"e"],[33713,0,","],[33714,0,"\\"],[33715,0,","],[33716,0," "],[33717,0,"k"],[33718,0,")"],[33719,0,","],[33720,0," "],[33721,0,"\\"],[33722,0,"m"],[33723,0,"a"],[33724,0,"t"],[33725,0,"h"],[33726,0,"s"],[33727,0,"f"],[33728,0,"{"],[33729,0,"c"],[33730,0,"l"],[33731,0,"e"],[33732,0,"a"],[33733,0,"r"],[33734,0,"E"],[33735,0,"l"],[33736,0,"e"],[33737,0,"m"],[33738,0,"s"],[33739,0,"}"],[33740,0,")"],[33741,0," "],[33742,0,"\\"],[33743,0,"e"],[33744,0,"v"],[33745,0,"a"],[33746,0,"l"],[33747,0,"t"],[33748,0,"o"],[33749,0," "],[33750,0,"\\"],[33751,0,"m"],[33752,0,"a"],[33753,0,"t"],[33754,0,"h"],[33755,0,"i"],[33756,0,"t"],[33757,0,"{"],[33758,0,"c"],[33759,0,"t"],[33760,0,"x"],[33761,0,"}"],[33762,0,"$"],[33763,0,"}"],[33764,0,"\n"],[33765,0,"\\"],[33766,0,"e"],[33767,0,"n"],[33768,0,"d"],[33769,0,"{"],[33770,0,"p"],[33771,0,"r"],[33772,0,"o"],[33773,0,"o"],[33774,0,"f"],[33775,0,"t"],[33776,0,"r"],[33777,0,"e"],[33778,0,"e"],[33779,0,"}"],[33795,1],[33794,1],[33793,1],[33792,1],[33791,1],[33790,1],[33789,1],[33788,1],[33787,1],[33786,1],[33785,1],[33784,1],[33783,1],[33782,1],[33781,1],[33780,1],[34174,0,"\n"],[34175,0,"\\"],[34176,0,"i"],[34177,0,"t"],[34178,0,"e"],[34179,0,"m"],[34180,0," "],[34181,0,"C"],[34181,1],[34181,0,"C"],[34182,0,"l"],[34183,0,"e"],[34184,0,"a"],[34185,0,"r"],[34186,0,"i"],[34187,0,"n"],[34188,0,"g"],[34189,0," "],[34190,0,"a"],[34191,0," "],[34192,0,"s"],[34193,0,"t"],[34194,0,"r"],[34195,0,"u"],[34196,0,"c"],[34197,0,"t"],[34198,0,"u"],[34199,0,"r"],[34200,0,"e"],[34201,0," "],[34202,0,"s"],[34203,0,"h"],[34204,0,"o"],[34205,0,"u"],[34206,0,"l"],[34207,0,"d"],[34208,0," "],[34209,0,"r"],[34210,0,"e"],[34211,0,"m"],[34212,0,"o"],[34213,0,"v"],[34214,0,"e"],[34215,0," "],[34216,0,"i"],[34217,0,"t"],[34218,0," "],[34219,0,"i"],[34220,0,"f"],[34221,0," "],[34222,0,"t"],[34223,0,"h"],[34224,0,"e"],[34225,0,"r"],[34226,0,"e"],[34227,0," "],[34228,0,"a"],[34229,0,"r"],[34230,0,"e"],[34231,0," "],[34232,0,"n"],[34233,0,"o"],[34234,0," "],[34235,0,"c"],[34236,0,"o"],[34237,0,"n"],[34238,0,"c"],[34239,0,"u"],[34240,0,"r"],[34241,0,"r"],[34242,0,"e"],[34243,0,"n"],[34244,0,"t"],[34245,0," "],[34246,0,"m"],[34247,0,"u"],[34248,0,"t"],[34249,0,"a"],[34250,0,"t"],[34251,0,"i"],[34252,0,"o"],[34253,0,"n"],[34254,0,"s"],[34255,0," "],[34256,0,"t"],[34257,0,"o"],[34258,0," "],[34259,0,"t"],[34260,0,"h"],[34261,0,"e"],[34262,0," "],[34263,0,"s"],[34264,0,"t"],[34265,0,"r"],[34266,0,"u"],[34267,0,"c"],[34268,0,"t"],[34269,0,"u"],[34270,0,"r"],[34271,0,"e"],[30747,1],[30746,1],[30745,1],[30744,1],[30743,1],[30742,1],[30742,0,"i"],[30743,0,"n"],[30744,0,"s"],[30745,0,"e"],[30746,0,"r"],[30747,0,"t"],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,1],[27979,0,"\\"],[27980,0,"b"],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[27439,1],[26984,1],[26983,1],[26982,1],[26981,1],[26980,1],[26979,1],[26978,1],[26977,1],[26976,1],[26975,1],[26974,1],[26973,1],[26972,1],[26971,1],[26970,1],[26969,1],[26968,1],[26967,1],[26966,1],[26965,1],[26964,1],[26976,1],[26976,0,","],[26977,0,"\\"],[26978,0,","],[26979,0," "],[26980,0,"k"],[26981,0,"_"],[26982,0,"1"],[26983,0," "],[26984,0,"e"],[26984,1],[26984,0,"\\"],[26985,0,"e"],[26986,0,"v"],[26987,0,"a"],[26988,0,"l"],[26989,0,"t"],[26990,0,"o"],[26991,0," "],[26992,0,"\\"],[26993,0,"m"],[26994,0,"a"],[26995,0,"t"],[26996,0,"h"],[26997,0,"i"],[26998,0,"t"],[26999,0,"{"],[27000,0,"c"],[27001,0,"h"],[27002,0,"i"],[27003,0,"l"],[27004,0,"d"],[27005,0,"}"],[27030,1],[27030,1],[27030,1],[27030,1],[27030,1],[27028,1],[27027,1],[27027,0,"h"],[27028,0,"i"],[27029,0,"l"],[27030,0,"d"],[27018,0,"\\"],[27019,0,"b"],[27020,0,"e"],[27021,0,"g"],[27022,0,"i"],[27023,0,"n"],[27024,0,"{"],[27025,0,"m"],[27026,0,"a"],[27027,0,"t"],[27028,0,"r"],[27029,0,"i"],[27030,0,"x"],[27031,0,"}"],[27032,0,"\n"],[27033,0," "],[27034,0," "],[27035,0," "],[27036,0," "],[27094,0," "],[27095,0,"\\"],[27096,0,"\\"],[27197,1],[27196,1],[27195,1],[27194,1],[27193,1],[27193,0,"c"],[27194,0,"h"],[27195,0,"i"],[27196,0,"l"],[27197,0,"d"],[27199,0,"'"],[27200,0,"\n"],[27201,0," "],[27202,0," "],[27203,0," "],[27204,0," "],[27205,0,"\\"],[27206,0,"e"],[27207,0,"n"],[27208,0,"d"],[27209,0,"{"],[27210,0,"m"],[27211,0,"a"],[27212,0,"t"],[27213,0,"r"],[27214,0,"i"],[27215,0,"x"],[27216,0,"}"],[27217,0," "],[27177,0,"\\"],[27178,0,"\\"],[27179,0,"\n"],[27180,0," "],[27181,0," "],[27182,0," "],[27183,0," "],[27183,1],[27182,1],[27181,1],[27180,1],[27179,1],[27178,1],[27177,1],[27220,0,"\n"],[27221,0,"\\"],[27222,0,"A"],[27223,0,"x"],[27224,0,"i"],[27225,0,"o"],[27226,0,"m"],[27227,0,"C"],[27228,0,"{"],[27229,0,"$"],[27230,0,"\\"],[27231,0,"m"],[27232,0,"a"],[27233,0,"t"],[27234,0,"h"],[27235,0,"i"],[27236,0,"t"],[27237,0,"{"],[27238,0,"c"],[27239,0,"t"],[27240,0,"x"],[27241,0,"}"],[27242,0,","],[27243,0,"\\"],[27244,0,","],[27245,0," "],[27246,0,"\\"],[27247,0,"m"],[27248,0,"a"],[27249,0,"t"],[27250,0,"h"],[27251,0,"s"],[27252,0,"f"],[27253,0,"{"],[27254,0,"a"],[27255,0,"d"],[27256,0,"d"],[27257,0,"I"],[27258,0,"d"],[27259,0,"}"],[27260,0,"("],[27261,0,"k"],[27262,0,"_"],[27263,0,"1"],[27264,0,","],[27265,0," "],[27266,0,"\\"],[27267,0,"m"],[27268,0,"a"],[27269,0,"t"],[27270,0,"h"],[27271,0,"i"],[27272,0,"t"],[27273,0,"{"],[27274,0,"i"],[27275,0,"d"],[27276,0,"}"],[27277,0,")"],[27278,0," "],[27279,0,"\\"],[27280,0,"e"],[27281,0,"v"],[27282,0,"a"],[27283,0,"l"],[27284,0,"t"],[27285,0,"o"],[27286,0," "],[27287,0,"\\"],[27288,0,"m"],[27289,0,"a"],[27290,0,"t"],[27291,0,"h"],[27292,0,"i"],[27293,0,"t"],[27294,0,"{"],[27295,0,"c"],[27296,0,"t"],[27297,0,"x"],[27298,0,"}"],[27299,0,"'"],[27300,0,"$"],[27301,0,"}"],[27333,1],[27333,0,"T"],[27334,0,"r"],[27510,0,"'"],[27543,1],[27542,1],[27541,1],[27540,1],[27539,1],[27539,0,"c"],[27540,0,"h"],[27541,0,"i"],[27542,0,"l"],[27543,0,"d"],[27545,0,"'"],[27511,0," "],[27571,0,"\\"],[27572,0,"b"],[27573,0,"e"],[27574,0,"g"],[27575,0,"i"],[27576,0,"n"],[27577,0,"{"],[27578,0,"c"],[27579,0,"e"],[27580,0,"n"],[27581,0,"t"],[27582,0,"e"],[27583,0,"r"],[27584,0,"}"],[27585,0,"\n"],[27586,0,"\\"],[27587,0,"e"],[27588,0,"n"],[27589,0,"d"],[27590,0,"{"],[27591,0,"c"],[27592,0,"e"],[27593,0,"n"],[27594,0,"t"],[27595,0,"e"],[27596,0,"r"],[27597,0,"}"],[27585,0,"\n"],[27586,0,"\\"],[27587,0,"A"],[27588,0,"x"],[27589,0,"i"],[27590,0,"o"],[27591,0,"m"],[27592,0,"C"],[27593,0,"{"],[27594,0,"$"],[27595,0,"k"],[27596,0," "],[27597,0,"\\"],[27598,0,"i"],[27599,0,"n"],[27600,0," "],[27601,0,"\\"],[27602,0,"m"],[27603,0,"a"],[27604,0,"t"],[27605,0,"h"],[27606,0,"r"],[27607,0,"m"],[27608,0,"{"],[27609,0,"d"],[27610,0,"o"],[27611,0,"m"],[27612,0,"}"],[27613,0,"("],[27614,0,"\\"],[27615,0,"m"],[27616,0,"a"],[27617,0,"t"],[27618,0,"h"],[27619,0,"i"],[27620,0,"t"],[27621,0,"{"],[27622,0,"c"],[27623,0,"t"],[27624,0,"x"],[27625,0,"}"],[27626,0,")"],[27627,0,"$"],[27628,0,"}"],[27629,0,"\n"],[27630,0,"\\"],[27631,0,"L"],[27632,0,"e"],[27633,0,"f"],[27634,0,"t"],[27635,0,"L"],[27636,0,"a"],[27637,0,"b"],[27638,0,"e"],[27639,0,"l"],[27640,0,"{"],[27641,0,"\\"],[27642,0,"t"],[27643,0,"e"],[27643,1],[27642,1],[27641,1],[27641,0,"$"],[27642,0,"\\"],[27643,0,"t"],[27644,0,"e"],[27645,0,"x"],[27646,0,"t"],[27647,0,"s"],[27648,0,"c"],[27649,0,"{"],[27650,0,"C"],[27651,0,"h"],[27652,0,"i"],[27653,0,"l"],[27654,0,"d"],[27655,0,"}"],[27656,0,"_"],[27657,0,"1"],[27658,0,"$"],[27659,0,"}"],[27660,0,"\n"],[27661,0,"\\"],[27662,0,"U"],[27663,0,"n"],[27664,0,"a"],[27665,0,"r"],[27666,0,"y"],[27667,0,"I"],[27668,0,"n"],[27669,0,"f"],[27670,0,"C"],[27671,0,"{"],[27672,0,"$"],[27673,0,"\\"],[27674,0,"m"],[27675,0,"a"],[27676,0,"t"],[27677,0,"h"],[27678,0,"i"],[27679,0,"t"],[27680,0,"{"],[27681,0,"c"],[27682,0,"t"],[27683,0,"x"],[27684,0,"}"],[27685,0,","],[27686,0,"\\"],[27687,0,","],[27688,0," "],[27689,0,"\\"],[27689,1],[27689,0,"k"],[27690,0," "],[27691,0,"\\"],[27692,0,"e"],[27693,0,"v"],[27694,0,"a"],[27695,0,"l"],[27696,0,"t"],[27697,0,"o"],[27698,0," "],[27699,0,"\\"],[27700,0,"m"],[27701,0,"a"],[27702,0,"t"],[27703,0,"h"],[27704,0,"i"],[27705,0,"t"],[27706,0,"{"],[27707,0,"c"],[27708,0,"t"],[27709,0,"x"],[27710,0,"}"],[27711,0,"("],[27712,0,"k"],[27713,0,")"],[27714,0,"$"],[27715,0,"}"],[27716,0,"\n"],[27717,0,"\\"],[27718,0,"D"],[27719,0,"i"],[27720,0,"s"],[27721,0,"p"],[27722,0,"l"],[27723,0,"a"],[27724,0,"y"],[27725,0,"P"],[27726,0,"r"],[27727,0,"o"],[27728,0,"o"],[27729,0,"f"],[27730,0,"\\"],[27731,0,"h"],[27732,0,"f"],[27733,0,"i"],[27734,0,"l"],[27735,0,"l"],[27735,1],[27734,1],[27733,1],[27732,1],[27732,0,"s"],[27733,0,"p"],[27734,0,"a"],[27735,0,"c"],[27736,0,"e"],[27737,0,"{"],[27738,0,"3"],[27739,0,"e"],[27740,0,"m"],[27741,0,"}"],[27742,0,"\n"],[27743,0,"%"],[27744,0,"\n"],[27745,0,"\\"],[27746,0,"A"],[27747,0,"x"],[27748,0,"i"],[27749,0,"o"],[27750,0,"m"],[27751,0,"C"],[27752,0,"{"],[27753,0,"$"],[27754,0,"\\"],[27755,0,"m"],[27756,0,"a"],[27757,0,"t"],[27758,0,"h"],[27759,0,"s"],[27760,0,"f"],[27761,0,"{"],[27762,0,"m"],[27763,0,"a"],[27764,0,"p"],[27765,0,"T"],[27766,0,"}"],[27767,0,"("],[27768,0,"k"],[27769,0,")"],[27770,0," "],[27771,0,"\\"],[27772,0,"n"],[27773,0,"o"],[27774,0,"t"],[27775,0,"i"],[27776,0,"n"],[27777,0," "],[27778,0,"\\"],[27779,0,"m"],[27780,0,"a"],[27781,0,"t"],[27782,0,"h"],[27783,0,"i"],[27783,1],[27783,0,"r"],[27784,0,"m"],[27785,0,"{"],[27786,0,"d"],[27787,0,"o"],[27788,0,"m"],[27789,0,"}"],[27790,0,"("],[27791,0,"\\"],[27792,0,"m"],[27793,0,"a"],[27794,0,"t"],[27795,0,"h"],[27796,0,"i"],[27797,0,"t"],[27798,0,"{"],[27799,0,"c"],[27800,0,"t"],[27801,0,"x"],[27802,0,"}"],[27803,0,")"],[27804,0,"$"],[27805,0,"}"],[27806,0,"\n"],[27807,0,"\\"],[27808,0,"L"],[27809,0,"e"],[27810,0,"f"],[27811,0,"t"],[27812,0,"L"],[27813,0,"a"],[27814,0,"b"],[27815,0,"e"],[27816,0,"l"],[27817,0,"{"],[27818,0,"$"],[27819,0,"\\"],[27820,0,"t"],[27821,0,"e"],[27822,0,"x"],[27823,0,"t"],[27824,0,"s"],[27825,0,"c"],[27826,0,"{"],[27827,0,"C"],[27828,0,"h"],[27829,0,"i"],[27830,0,"l"],[27831,0,"d"],[27832,0,"_"],[27832,1],[27832,0,"}"],[27833,0,"_"],[27834,0,"2"],[27835,0,"$"],[27836,0,"}"],[27837,0,"\n"],[27838,0,"\\"],[27839,0,"U"],[27840,0,"n"],[27841,0,"a"],[27842,0,"r"],[27843,0,"y"],[27844,0,"I"],[27845,0,"n"],[27846,0,"f"],[27847,0,"C"],[27848,0,"{"],[27849,0,"$"],[27850,0,"\\"],[27851,0,"m"],[27852,0,"a"],[27853,0,"t"],[27854,0,"h"],[27855,0,"i"],[27856,0,"t"],[27857,0,"{"],[27858,0,"c"],[27859,0,"t"],[27860,0,"x"],[27861,0,"}"],[27862,0,","],[27863,0,"\\"],[27864,0,","],[27865,0," "],[27866,0,"\\"],[27867,0,"m"],[27868,0,"a"],[27869,0,"t"],[27870,0,"h"],[27871,0,"s"],[27872,0,"f"],[27873,0,"{"],[27874,0,"m"],[27875,0,"a"],[27876,0,"p"],[27877,0,"T"],[27878,0,"}"],[27879,0,"("],[27880,0,"k"],[27881,0,")"],[27882,0," "],[27883,0,"e"],[27883,1],[27883,0,"\\"],[27884,0,"e"],[27885,0,"v"],[27886,0,"a"],[27887,0,"l"],[27888,0,"t"],[27889,0,"o"],[27890,0," "],[27891,0,"\\"],[27892,0,"{"],[27893,0,"\\"],[27894,0,"}"],[27895,0,"$"],[27896,0,"}"],[27897,0,"\n"],[27898,0,"\\"],[27899,0,"D"],[27900,0,"i"],[27901,0,"s"],[27902,0,"p"],[27903,0,"l"],[27904,0,"a"],[27905,0,"y"],[27906,0,"P"],[27907,0,"r"],[27908,0,"o"],[27909,0,"o"],[27910,0,"f"],[27911,0,"\\"],[27912,0,"p"],[27913,0,"r"],[27914,0,"o"],[27915,0,"o"],[27916,0,"f"],[27917,0,"S"],[27918,0,"k"],[27919,0,"i"],[27920,0,"p"],[27921,0,"A"],[27922,0,"m"],[27923,0,"o"],[27924,0,"u"],[27925,0,"b"],[27926,0,"n"],[27927,0,"t"],[27927,1],[27926,1],[27925,1],[27925,0,"n"],[27926,0,"t"],[27940,0,"\n"],[27941,0,"\n"],[27942,0,"\\"],[27943,0,"b"],[27944,0,"e"],[27945,0,"g"],[27946,0,"i"],[27947,0,"n"],[27948,0,"{"],[27949,0,"c"],[27950,0,"e"],[27951,0,"n"],[27952,0,"t"],[27953,0,"e"],[27954,0,"r"],[27955,0,"}"],[27956,0,"\n"],[27957,0,"\\"],[27958,0,"A"],[27959,0,"x"],[27960,0,"i"],[27961,0,"o"],[27962,0,"m"],[27963,0,"C"],[27964,0,"{"],[27965,0,"$"],[27966,0,"k"],[27967,0," "],[27968,0,"\\"],[27969,0,"n"],[27970,0,"o"],[27971,0,"t"],[27972,0,"i"],[27973,0,"n"],[27974,0," "],[27975,0,"\\"],[27976,0,"m"],[27977,0,"a"],[27978,0,"t"],[27979,0,"h"],[27980,0,"r"],[27981,0,"m"],[27982,0,"{"],[27983,0,"d"],[27984,0,"o"],[27985,0,"m"],[27986,0,"}"],[27987,0,"("],[27988,0,"\\"],[27989,0,"m"],[27990,0,"a"],[27991,0,"t"],[27992,0,"h"],[27993,0,"i"],[27994,0,"t"],[27995,0,"{"],[27996,0,"c"],[27997,0,"t"],[27998,0,"x"],[27999,0,"}"],[28000,0,")"],[28001,0,"$"],[28002,0,"}"],[28003,0,"\n"],[28004,0,"\\"],[28005,0,"L"],[28006,0,"e"],[28007,0,"f"],[28008,0,"t"],[28009,0,"L"],[28010,0,"a"],[28011,0,"b"],[28012,0,"e"],[28013,0,"l"],[28014,0,"{"],[28015,0,"$"],[28016,0,"\\"],[28017,0,"t"],[28018,0,"e"],[28019,0,"x"],[28020,0,"t"],[28021,0,"s"],[28022,0,"c"],[28023,0,"{"],[28024,0,"C"],[28025,0,"h"],[28026,0,"i"],[28027,0,"l"],[28028,0,"d"],[28029,0,"}"],[28030,0,"_"],[28031,0,"3"],[28032,0,"$"],[28033,0,"}"],[28034,0,"\n"],[28035,0,"\\"],[28036,0,"U"],[28037,0,"n"],[28038,0,"a"],[28039,0,"r"],[28040,0,"y"],[28041,0,"I"],[28042,0,"n"],[28043,0,"f"],[28044,0,"C"],[28045,0,"{"],[28046,0,"$"],[28047,0,"\\"],[28048,0,"m"],[28049,0,"a"],[28050,0,"t"],[28051,0,"h"],[28052,0,"i"],[28053,0,"t"],[28054,0,"{"],[28055,0,"c"],[28056,0,"t"],[28057,0,"x"],[28058,0,"}"],[28059,0,","],[28060,0,"\\"],[28061,0,","],[28062,0," "],[28063,0,"\\"],[28064,0,"m"],[28065,0,"a"],[28066,0,"t"],[28067,0,"h"],[28068,0,"s"],[28069,0,"f"],[28070,0,"{"],[28071,0,"l"],[28072,0,"i"],[28073,0,"s"],[28074,0,"t"],[28075,0,"T"],[28076,0,"}"],[28077,0,"("],[28078,0,"k"],[28079,0,")"],[28080,0," "],[28081,0,"\\"],[28082,0,"e"],[28083,0,"v"],[28084,0,"a"],[28085,0,"l"],[28086,0,"t"],[28087,0,"o"],[28088,0," "],[28089,0,"\\"],[28090,0,"{"],[28091,0,"\\"],[28092,0,","],[28093,0,"\\"],[28094,0,"m"],[28095,0,"a"],[28096,0,"t"],[28097,0,"h"],[28098,0,"s"],[28099,0,"f"],[28100,0,"{"],[28101,0,"n"],[28102,0,"e"],[28103,0,"x"],[28104,0,"t"],[28105,0,"}"],[28106,0,"("],[28107,0,"\\"],[28108,0,"m"],[28109,0,"a"],[28110,0,"t"],[28111,0,"h"],[28112,0,"s"],[28113,0,"f"],[28114,0,"{"],[28115,0,"h"],[28116,0,"e"],[28117,0,"a"],[28118,0,"d"],[28119,0,"}"],[28120,0,")"],[28121,0," "],[28122,0,"\\"],[28123,0,"m"],[28124,0,"a"],[28125,0,"p"],[28126,0,"s"],[28127,0,"t"],[28128,0,"o"],[28129,0," "],[28122,0,"\\"],[28123,0,","],[28131,0,"\\"],[28132,0,","],[28088,0,"\n"],[28089,0," "],[28090,0," "],[28091,0," "],[28138,0,"\\"],[28139,0,"m"],[28140,0,"a"],[28141,0,"t"],[28142,0,"h"],[28143,0,"s"],[28144,0,"f"],[28145,0,"{"],[28146,0,"t"],[28147,0,"a"],[28148,0,"i"],[28149,0,"l"],[28150,0,"}"],[28151,0," "],[28152,0,"\\"],[28153,0,","],[28154,0,"\\"],[28155,0,"}"],[28156,0,"$"],[28157,0,"}"],[28158,0,"\n"],[28159,0,"\\"],[28160,0,"D"],[28161,0,"i"],[28162,0,"s"],[28163,0,"p"],[28164,0,"l"],[28165,0,"a"],[28166,0,"y"],[28167,0,"P"],[28168,0,"r"],[28169,0,"o"],[28170,0,"o"],[28171,0,"f"],[28172,0,"\\"],[28173,0,"h"],[28174,0,"s"],[28175,0,"p"],[28176,0,"a"],[28177,0,"c"],[28178,0,"e"],[28179,0,"{"],[28180,0,"3"],[28181,0,"e"],[28182,0,"m"],[28183,0,"}"],[28184,0,"\n"],[28185,0,"%"],[28186,0,"$"],[28186,1],[28186,0,"\n"],[28187,0,"\\"],[28188,0,"A"],[28189,0,"x"],[28190,0,"i"],[28191,0,"o"],[28192,0,"m"],[28193,0,"C"],[28194,0,"{"],[28195,0,"$"],[28196,0,"\\"],[28197,0,"m"],[28198,0,"a"],[28199,0,"t"],[28200,0,"h"],[27966,0,"\\"],[27967,0,"m"],[27968,0,"a"],[27969,0,"t"],[27970,0,"h"],[27971,0,"s"],[27972,0,"f"],[27973,0,"{"],[27974,0,"l"],[27975,0,"i"],[27976,0,"s"],[27977,0,"t"],[27978,0,"T"],[27979,0,"}"],[27980,0,"("],[27982,0,")"],[28202,0,"\n"],[28203,0,"\\"],[28204,0,"A"],[28205,0,"x"],[28206,0,"i"],[28207,0,"o"],[28208,0,"m"],[28209,0,"C"],[28210,0,"{"],[28211,0,"$"],[28212,0,"\\"],[28213,0,"m"],[28214,0,"a"],[28215,0,"t"],[28216,0,"h"],[28217,0,"s"],[28218,0,"f"],[28219,0,"{"],[28220,0,"r"],[28221,0,"e"],[28222,0,"g"],[28223,0,"T"],[28224,0,"}"],[28225,0,"("],[28226,0,"k"],[28227,0,")"],[28228,0," "],[28229,0,"\\"],[28230,0,"n"],[28231,0,"o"],[28232,0,"t"],[28233,0,"i"],[28234,0,"n"],[28235,0," "],[28236,0,"\\"],[28237,0,"m"],[28238,0,"a"],[28239,0,"t"],[28240,0,"h"],[28241,0,"r"],[28242,0,"m"],[28243,0,"{"],[28244,0,"d"],[28245,0,"o"],[28246,0,"m"],[28247,0,"}"],[28248,0,"("],[28249,0,"\\"],[28250,0,"m"],[28251,0,"a"],[28252,0,"t"],[28253,0,"h"],[28254,0,"i"],[28255,0,"t"],[28256,0,"{"],[28257,0,"c"],[28258,0,"t"],[28259,0,"x"],[28260,0,"}"],[28261,0,")"],[28262,0,"$"],[28263,0,"}"],[28264,0,"\n"],[28265,0,"\\"],[28266,0,"L"],[28267,0,"e"],[28268,0,"f"],[28269,0,"t"],[28270,0,"L"],[28271,0,"a"],[28272,0,"b"],[28273,0,"e"],[28274,0,"l"],[28275,0,"{"],[28276,0,"\\"],[28276,1],[28276,0,"$"],[27657,1],[27656,1],[27656,1],[27641,1],[27654,0,"-"],[27655,0,"G"],[27656,0,"e"],[27657,0,"t"],[27835,1],[27834,1],[27833,1],[27832,0,"-"],[27833,0,"M"],[27834,0,"a"],[27835,0,"p"],[27818,1],[28031,1],[28044,0,"-"],[28045,0,"L"],[28046,0,"i"],[28047,0,"s"],[28048,0,"t"],[28050,1],[28050,1],[28050,1],[28277,1],[28277,0,"\\"],[28278,0,"t"],[28279,0,"e"],[28280,0,"x"],[28281,0,"t"],[28282,0,"s"],[28283,0,"c"],[28284,0,"{"],[28285,0,"C"],[28286,0,"h"],[28287,0,"i"],[28288,0,"l"],[28289,0,"d"],[28290,0,"-"],[28291,0,"R"],[28292,0,"e"],[28293,0,"g"],[28294,0,"}"],[28295,0,"}"],[28296,0,"\n"],[28297,0,"\\"],[28298,0,"U"],[28299,0,"n"],[28300,0,"a"],[28301,0,"r"],[28302,0,"y"],[28303,0,"I"],[28304,0,"n"],[28305,0,"f"],[28306,0,"C"],[28307,0,"{"],[28308,0,"$"],[28309,0,"\\"],[28310,0,"m"],[28311,0,"a"],[28312,0,"t"],[28313,0,"h"],[28314,0,"i"],[28315,0,"t"],[28316,0,"{"],[28317,0,"c"],[28318,0,"t"],[28319,0,"x"],[28320,0,"}"],[28321,0,","],[28322,0,"\\"],[28323,0,","],[28324,0," "],[28325,0,"\\"],[28326,0,"m"],[28327,0,"a"],[28328,0,"t"],[28329,0,"h"],[28330,0,"s"],[28331,0,"f"],[28332,0,"{"],[28333,0,"r"],[28334,0,"e"],[28335,0,"g"],[28336,0,"T"],[28337,0,"}"],[28338,0,"("],[28339,0,"k"],[28340,0,")"],[28341,0," "],[28342,0,"\\"],[28343,0,"e"],[28344,0,"v"],[28345,0,"a"],[28346,0,"l"],[28347,0,"t"],[28348,0,"o"],[28349,0," "],[28350,0,"\\"],[28351,0,"{"],[28352,0,"\\"],[28353,0,"}"],[28354,0,"$"],[28355,0,"}"],[28356,0,"\n"],[28357,0,"\\"],[28358,0,"D"],[28359,0,"i"],[28360,0,"s"],[28361,0,"p"],[28362,0,"l"],[28363,0,"a"],[28364,0,"y"],[28365,0,"P"],[28366,0,"r"],[28367,0,"o"],[28368,0,"o"],[28369,0,"f"],[28370,0,"\\"],[28371,0,"p"],[28372,0,"r"],[28373,0,"o"],[28374,0,"o"],[28375,0,"f"],[28376,0,"S"],[28377,0,"k"],[28378,0,"i"],[28379,0,"p"],[28380,0,"A"],[28381,0,"m"],[28382,0,"o"],[28383,0,"u"],[28384,0,"n"],[28385,0,"t"],[28400,1],[28399,1],[28398,1],[28397,1],[28396,1],[28395,1],[28394,1],[28393,1],[28392,1],[28391,1],[28390,1],[28389,1],[28388,1],[28388,0,"e"],[28389,0,"n"],[28390,0,"d"],[28391,0,"{"],[28392,0,"c"],[28393,0,"e"],[28394,0,"n"],[28395,0,"t"],[28396,0,"e"],[28397,0,"r"],[28398,0,"}"],[28399,0,"\n"],[28400,0,"\n"],[28401,0,"\\"],[28402,0,"b"],[28403,0,"e"],[28404,0,"g"],[28405,0,"i"],[28406,0,"n"],[28407,0,"{"],[28408,0,"p"],[28409,0,"r"],[28410,0,"o"],[28411,0,"o"],[28412,0,"f"],[28413,0,"t"],[28414,0,"r"],[28415,0,"e"],[28416,0,"e"],[28417,0,"}"],[28418,0,"\n"],[28419,0,"\\"],[28420,0,"e"],[28421,0,"n"],[28422,0,"d"],[28423,0,"{"],[28424,0,"p"],[28425,0,"r"],[28426,0,"o"],[28427,0,"o"],[28428,0,"f"],[28429,0,"t"],[28430,0,"r"],[28431,0,"e"],[28432,0,"e"],[28433,0,"}"],[28418,0,"\n"],[28419,0,"\\"],[28420,0,"A"],[28421,0,"x"],[28422,0,"i"],[28423,0,"o"],[28424,0,"m"],[28425,0,"C"],[28426,0,"{"],[28427,0,"$"],[28428,0,"k"],[28429,0,"_"],[28430,0,"\\"],[28431,0,"m"],[28432,0,"a"],[28433,0,"t"],[28434,0,"h"],[28435,0,"i"],[28436,0,"t"],[28437,0,"{"],[28438,0,"t"],[28439,0,"a"],[28440,0,"g"],[28441,0,"}"],[28442,0," "],[28443,0,"\\"],[28444,0,"i"],[28445,0,"n"],[28446,0," "],[28447,0,"\\"],[28448,0,"{"],[28449,0,"\\"],[28450,0,"m"],[28451,0,"a"],[28452,0,"t"],[28453,0,"h"],[28454,0,"s"],[28455,0,"f"],[28456,0,"{"],[28457,0,"m"],[28458,0,"a"],[28459,0,"p"],[28460,0,"T"],[28461,0,"}"],[28462,0,"("],[28463,0,"k"],[28464,0,")"],[28465,0,","],[28466,0," "],[28467,0,"\\"],[28468,0,"m"],[28469,0,"a"],[28470,0,"t"],[28471,0,"h"],[28472,0,"s"],[28473,0,"f"],[28474,0,"{"],[28475,0,"l"],[28476,0,"i"],[28477,0,"s"],[28478,0,"t"],[28479,0,"T"],[28480,0,"}"],[28481,0,"("],[28482,0,"k"],[28483,0,")"],[28484,0,","],[28485,0," "],[28486,0,"\\"],[28487,0,"m"],[28488,0,"a"],[28489,0,"t"],[28490,0,"h"],[28491,0,"s"],[28492,0,"f"],[28493,0,"("],[28493,1],[28493,0,"{"],[28494,0,"r"],[28495,0,"e"],[28496,0,"g"],[28497,0,"T"],[28498,0,"}"],[28499,0,"("],[28500,0,"k"],[28501,0,")"],[28502,0,"\\"],[28503,0,"}"],[28504,0,"$"],[28505,0,"}"],[28506,0,"\n"],[28507,0,"\\"],[28508,0,"A"],[28509,0,"x"],[28510,0,"i"],[28511,0,"o"],[28512,0,"m"],[28513,0,"C"],[28514,0,"{"],[28515,0,"$"],[28516,0,"\\"],[28517,0,"m"],[28518,0,"a"],[28519,0,"t"],[28520,0,"h"],[28521,0,"s"],[28522,0,"f"],[28523,0,"{"],[28524,0,"p"],[28525,0,"r"],[28526,0,"e"],[28527,0,"s"],[28528,0,"}"],[28529,0,"("],[28530,0,"k"],[28531,0,")"],[28532,0," "],[28533,0,"\\"],[28534,0,"n"],[28535,0,"o"],[28536,0,"t"],[28537,0,"i"],[28538,0,"n"],[28539,0," "],[28540,0,"\\"],[28541,0,"m"],[28542,0,"a"],[28543,0,"t"],[28544,0,"h"],[28545,0,"r"],[28546,0,"m"],[28547,0,"{"],[28548,0,"d"],[28549,0,"o"],[28550,0,"m"],[28551,0,"}"],[28552,0,"{"],[28552,1],[28552,0,"("],[28553,0,"\\"],[28554,0,"m"],[28555,0,"a"],[28556,0,"t"],[28557,0,"h"],[28558,0,"i"],[28559,0,"t"],[28560,0,"{"],[28561,0,"c"],[28562,0,"t"],[28563,0,"x"],[28564,0,"}"],[28565,0,")"],[28566,0,"$"],[28567,0,"}"],[28568,0,"\n"],[28569,0,"\\"],[28570,0,"L"],[28571,0,"e"],[28572,0,"f"],[28573,0,"t"],[28574,0,"L"],[28575,0,"a"],[28576,0,"b"],[28577,0,"e"],[28578,0,"l"],[28579,0,"{"],[28580,0,"$"],[28581,0,"\\"],[28582,0,"t"],[28583,0,"e"],[28584,0,"x"],[28585,0,"t"],[28586,0,"s"],[28587,0,"c"],[28588,0,"{"],[28589,0,"A"],[28590,0,"d"],[28591,0,"d"],[28592,0,"-"],[28593,0,"I"],[28594,0,"D"],[28595,0,"-"],[28595,1],[28595,0,"}"],[28596,0,"_"],[28597,0,"1"],[28598,0,"$"],[28599,0,"}"],[28600,0,"\n"],[28601,0,"\\"],[28602,0,"B"],[28603,0,"i"],[28604,0,"n"],[28605,0,"a"],[28606,0,"r"],[28607,0,"y"],[28608,0,"I"],[28609,0,"n"],[28610,0,"f"],[28611,0,"C"],[28612,0,"{"],[28613,0,"$"],[28614,0,"\\"],[28615,0,"m"],[28616,0,"a"],[28617,0,"t"],[28618,0,"h"],[28619,0,"i"],[28620,0,"t"],[28621,0,"{"],[28622,0,"c"],[28623,0,"t"],[28624,0,"x"],[28625,0,"}"],[28626,0,","],[28627,0,"\\"],[28628,0,","],[28629,0," "],[28630,0,"\\"],[28631,0,"m"],[28632,0,"a"],[28633,0,"t"],[28634,0,"h"],[28635,0,"s"],[28636,0,"f"],[28637,0,"{"],[28638,0,"a"],[28639,0,"d"],[28640,0,"d"],[28641,0,"I"],[28642,0,"d"],[28643,0,"}"],[28644,0,"("],[28645,0,"k"],[28646,0,"_"],[28647,0,"\\"],[28648,0,"m"],[28649,0,"a"],[28650,0,"t"],[28651,0,"h"],[28652,0,"i"],[28653,0,"t"],[28654,0,"{"],[28655,0,"t"],[28656,0,"a"],[28657,0,"g"],[28658,0,"}"],[28659,0,","],[28660,0," "],[28661,0,"\\"],[28662,0,"m"],[28663,0,"a"],[28664,0,"t"],[28665,0,"h"],[28666,0,"i"],[28667,0,"t"],[28668,0,"{"],[28669,0,"i"],[28670,0,"d"],[28671,0,"}"],[28672,0,")"],[28673,0," "],[28674,0,"\\"],[28675,0,"e"],[28676,0,"v"],[28677,0,"a"],[28678,0,"l"],[28679,0,"t"],[28680,0,"o"],[28681,0,"\n"],[28682,0," "],[28683,0," "],[28684,0," "],[28685,0," "],[28686,0,"\\"],[28687,0,"m"],[28688,0,"a"],[28689,0,"t"],[28690,0,"h"],[28691,0,"i"],[28692,0,"t"],[28693,0,"{"],[28694,0,"c"],[28695,0,"t"],[28696,0,"x"],[28697,0,"}"],[28698,0,"["],[28699,0,"\\"],[28700,0,","],[28701,0," "],[28702,0,"\\"],[28703,0,"m"],[28704,0,"a"],[28705,0,"t"],[28706,0,"h"],[28707,0,"s"],[28708,0,"f"],[28709,0,"{"],[28710,0,"p"],[28711,0,"r"],[28712,0,"e"],[28713,0,"s"],[28714,0,"}"],[28715,0,"("],[28716,0,"k"],[28717,0,")"],[28718,0," "],[28719,0,"\\"],[28720,0,","],[28721,0,"\\"],[28722,0,"m"],[28723,0,"a"],[28724,0,"p"],[28725,0,"s"],[28726,0,"t"],[28727,0,"o"],[28728,0,"\\"],[28729,0,","],[28730,0," "],[28731,0,"\\"],[28732,0,"{"],[28733,0,"\\"],[28734,0,"m"],[28735,0,"a"],[28736,0,"t"],[28737,0,"h"],[28738,0,"i"],[28739,0,"t"],[28740,0,"{"],[28741,0,"i"],[28742,0,"d"],[28743,0,"}"],[28744,0,"\\"],[28745,0,"}"],[28746,0," "],[28747,0,"\\"],[28748,0,","],[28749,0,"]"],[28750,0,"$"],[28751,0,"}"],[28768,0,"\n"],[28769,0,"\n"],[28770,0,"\\"],[28771,0,"b"],[28772,0,"e"],[28773,0,"g"],[28774,0,"i"],[28775,0,"n"],[28776,0,"{"],[28777,0,"p"],[28778,0,"r"],[28779,0,"o"],[28780,0,"o"],[28781,0,"f"],[28782,0,"t"],[28783,0,"r"],[28784,0,"e"],[28785,0,"e"],[28786,0,"}"],[28787,0,"\n"],[28788,0,"\\"],[28789,0,"e"],[28790,0,"n"],[28791,0,"d"],[28792,0,"{"],[28793,0,"p"],[28794,0,"r"],[28795,0,"o"],[28796,0,"o"],[28797,0,"f"],[28798,0,"t"],[28799,0,"r"],[28800,0,"e"],[28801,0,"e"],[28802,0,"}"],[28787,0,"\n"],[28788,0,"\\"],[28789,0,"A"],[28790,0,"x"],[28791,0,"i"],[28792,0,"o"],[28793,0,"m"],[28794,0,"C"],[28795,0,"{"],[28796,0,"$"],[28797,0,"k"],[28798,0,"_"],[28799,0,"\\"],[28800,0,"m"],[28801,0,"a"],[28802,0,"t"],[28803,0,"h"],[28804,0,"i"],[28805,0,"t"],[28806,0,"{"],[28807,0,"t"],[28808,0,"a"],[28809,0,"g"],[28810,0,"}"],[28811,0," "],[28812,0,"\\"],[28813,0,"i"],[28814,0,"n"],[28815,0," "],[28816,0,"\\"],[28817,0,"{"],[28818,0,"m"],[28818,1],[28818,0,"\\"],[28819,0,"m"],[28820,0,"a"],[28821,0,"t"],[28822,0,"h"],[28823,0,"s"],[28824,0,"f"],[28825,0,"{"],[28826,0,"m"],[28827,0,"a"],[28828,0,"p"],[28829,0,"T"],[28830,0,"}"],[28831,0,"("],[28832,0,"k"],[28833,0,")"],[28834,0,","],[28835,0," "],[28836,0,"\\"],[28837,0,"m"],[28838,0,"a"],[28839,0,"t"],[28840,0,"h"],[28841,0,"s"],[28842,0,"f"],[28843,0,"{"],[28844,0,"l"],[28845,0,"i"],[28846,0,"s"],[28847,0,"t"],[28848,0,"T"],[28849,0,"}"],[28850,0,"("],[28851,0,"k"],[28852,0,")"],[28853,0,","],[28854,0," "],[28855,0,"\\"],[28856,0,"m"],[28857,0,"a"],[28858,0,"t"],[28859,0,"h"],[28860,0,"s"],[28861,0,"f"],[28862,0,"{"],[28863,0,"r"],[28864,0,"e"],[28865,0,"g"],[28866,0,"T"],[28867,0,"}"],[28868,0,"("],[28869,0,"k"],[28870,0,")"],[28871,0,"\\"],[28872,0,"}"],[28873,0,"$"],[28874,0,"}"],[28875,0,"\n"],[28876,0,"\\"],[28877,0,"A"],[28878,0,"x"],[28879,0,"i"],[28880,0,"o"],[28881,0,"m"],[28882,0,"C"],[28883,0,"{"],[28884,0,"$"],[28885,0,"\\"],[28886,0,"m"],[28887,0,"a"],[28888,0,"t"],[28889,0,"h"],[28890,0,"s"],[28891,0,"f"],[28892,0,"{"],[28893,0,"p"],[28894,0,"r"],[28895,0,"e"],[28896,0,"s"],[28897,0,"}"],[28898,0,"("],[28899,0,"k"],[28900,0,")"],[28901,0," "],[28902,0,"\\"],[28903,0,"i"],[28904,0,"n"],[28905,0," "],[28906,0,"\\"],[28907,0,"m"],[28908,0,"a"],[28909,0,"t"],[28910,0,"h"],[28911,0,"r"],[28912,0,"m"],[28913,0,"{"],[28914,0,"d"],[28915,0,"o"],[28916,0,"m"],[28917,0,"}"],[28918,0,"("],[28919,0,"\\"],[28920,0,"m"],[28921,0,"a"],[28922,0,"t"],[28923,0,"h"],[28924,0,"i"],[28925,0,"t"],[28926,0,"{"],[28927,0,"c"],[28928,0,"t"],[28929,0,"x"],[28930,0,"}"],[28931,0,"("],[28931,1],[28931,0,")"],[28932,0,"$"],[28933,0,"}"],[28934,0,"\n"],[28935,0,"\\"],[28936,0,"L"],[28937,0,"e"],[28938,0,"f"],[28939,0,"t"],[28940,0,"L"],[28941,0,"a"],[28942,0,"b"],[28943,0,"e"],[28944,0,"l"],[28945,0,"{"],[28946,0,"$"],[28947,0,"\\"],[28948,0,"t"],[28949,0,"e"],[28950,0,"x"],[28951,0,"t"],[28952,0,"s"],[28953,0,"c"],[28954,0,"{"],[28955,0,"A"],[28956,0,"d"],[28957,0,"d"],[28958,0,"-"],[28959,0,"I"],[28960,0,"D"],[28961,0,"}"],[28962,0,"_"],[28963,0,"2"],[28964,0,"$"],[28965,0,"}"],[28966,0,"\n"],[28967,0,"\\"],[28968,0,"B"],[28969,0,"i"],[28970,0,"n"],[28971,0,"a"],[28972,0,"r"],[28973,0,"y"],[28974,0,"I"],[28975,0,"n"],[28976,0,"f"],[28977,0,"C"],[28978,0,"{"],[28979,0,"$"],[28980,0,"\\"],[28981,0,"m"],[28982,0,"a"],[28983,0,"t"],[28984,0,"h"],[28985,0,"i"],[28986,0,"t"],[28987,0,"{"],[28988,0,"c"],[28989,0,"t"],[28990,0,"x"],[28991,0,","],[28991,1],[28991,0,"}"],[28992,0,","],[28993,0,"\\"],[28994,0,","],[28995,0," "],[28996,0,"\\"],[28997,0,"m"],[28998,0,"a"],[28999,0,"t"],[29000,0,"h"],[29001,0,"i"],[29001,1],[29001,0,"s"],[29002,0,"f"],[29003,0,"{"],[29004,0,"a"],[29005,0,"d"],[29006,0,"d"],[29007,0,"I"],[29008,0,"d"],[29009,0,"}"],[29010,0,"("],[29011,0,"k"],[29012,0,"_"],[29013,0,"\\"],[29014,0,"m"],[29015,0,"a"],[29016,0,"t"],[29017,0,"h"],[29018,0,"i"],[29019,0,"t"],[29020,0,"{"],[29021,0,"t"],[29022,0,"a"],[29023,0,"g"],[29024,0,"}"],[29025,0,","],[29026,0," "],[29027,0,"\\"],[29028,0,"m"],[29029,0,"a"],[29030,0,"t"],[29031,0,"h"],[29032,0,"i"],[29033,0,"t"],[29034,0,"{"],[29035,0,"i"],[29036,0,"d"],[29037,0,"}"],[29038,0,")"],[29039,0," "],[29040,0,"\\"],[29041,0,"e"],[29042,0,"v"],[29043,0,"a"],[29044,0,"l"],[29045,0,"t"],[29046,0,"o"],[29047,0,"\n"],[29048,0," "],[29049,0," "],[29050,0," "],[29051,0," "],[29052,0,"\\"],[29053,0,"m"],[29054,0,"a"],[29055,0,"t"],[29056,0,"h"],[29057,0,"i"],[29058,0,"t"],[29059,0,"{"],[29060,0,"c"],[29061,0,"t"],[29062,0,"x"],[29063,0,"}"],[29064,0,"["],[29065,0,"\\"],[29066,0,","],[29067,0," "],[29068,0,"\\"],[29069,0,"m"],[29070,0,"a"],[29071,0,"t"],[29072,0,"h"],[29073,0,"s"],[29074,0,"f"],[29075,0,"{"],[29076,0,"p"],[29077,0,"r"],[29078,0,"e"],[29079,0,"s"],[29080,0,"}"],[29081,0,"("],[29082,0,"k"],[29083,0,")"],[29084,0," "],[29085,0,"\\"],[29086,0,","],[29087,0,"\\"],[29088,0,"m"],[29089,0,"a"],[29090,0,"p"],[29091,0,"s"],[29092,0,"t"],[29093,0,"o"],[29094,0,"\\"],[29095,0,","],[29096,0," "],[29097,0,"\\"],[29098,0,"m"],[29099,0,"a"],[29100,0,"t"],[29101,0,"h"],[29102,0,"i"],[29103,0,"t"],[29104,0,"{"],[29105,0,"c"],[29106,0,"t"],[29107,0,"x"],[29108,0,"}"],[29109,0,"("],[29110,0,"\\"],[29111,0,"m"],[29112,0,"a"],[29113,0,"t"],[29114,0,"h"],[29115,0,"s"],[29116,0,"f"],[29117,0,"{"],[29118,0,"p"],[29119,0,"r"],[29120,0,"e"],[29121,0,"s"],[29122,0,"}"],[29123,0,"("],[29124,0,"k"],[29125,0,")"],[29126,0,")"],[29127,0," "],[29128,0,"\\"],[29129,0,"c"],[29130,0,"u"],[29131,0,"p"],[29132,0," "],[29133,0,"\\"],[29134,0,"{"],[29135,0,"\\"],[29136,0,"m"],[29137,0,"a"],[29138,0,"t"],[29139,0,"h"],[29140,0,"i"],[29141,0,"t"],[29142,0,"{"],[29143,0,"i"],[29144,0,"d"],[29145,0,"}"],[29146,0,"\\"],[29147,0,"}"],[29148,0," "],[29149,0,"\\"],[29150,0,","],[29151,0,"]"],[29152,0,"$"],[29153,0,"}"],[29128,0,"\\"],[29129,0,","],[29134,0,"\\"],[29135,0,","],[29347,1],[29334,1],[29333,1],[29332,1],[29331,1],[29330,1],[29329,1],[29328,1],[29327,1],[29326,1],[29325,1],[29324,1],[29323,1],[29322,1],[29321,1],[29320,1],[29319,1],[29318,1],[29317,1],[29316,1],[29315,1],[29314,1],[29313,1],[29312,1],[29311,1],[29310,1],[29309,1],[29308,1],[29307,1],[29306,1],[29305,1],[29304,1],[29303,1],[29302,1],[29301,1],[29313,0,"\\"],[29314,0,","],[29314,1],[29313,1],[29313,0,","],[29314,0,"\\"],[29315,0,","],[29316,0," "],[29317,0,"\\"],[29318,0,"m"],[29319,0,"a"],[29320,0,"t"],[29321,0,"h"],[29322,0,"s"],[29323,0,"f"],[29324,0,"{"],[29325,0,"c"],[29326,0,"l"],[29327,0,"e"],[29328,0,"a"],[29329,0,"r"],[29330,0,"}"],[29331,0,"("],[29332,0,"\\"],[29333,0,"m"],[29334,0,"a"],[29335,0,"t"],[29336,0,"h"],[29337,0,"i"],[29338,0,"t"],[29339,0,"{"],[29340,0,"d"],[29341,0,"e"],[29342,0,"p"],[29343,0,"s"],[29344,0,"}"],[29345,0,","],[29346,0," "],[29347,0,"\\"],[29348,0,"m"],[29349,0,"a"],[29350,0,"t"],[29351,0,"h"],[29352,0,"s"],[29353,0,"f"],[29354,0,"{"],[29355,0,"r"],[29356,0,"e"],[29357,0,"g"],[29358,0,"T"],[29359,0,"}"],[29360,0,"("],[29361,0,"k"],[29362,0,")"],[29363,0,")"],[29364,0," "],[29365,0,"\\"],[29366,0,"e"],[29367,0,"v"],[29368,0,"a"],[29369,0,"l"],[29370,0,"t"],[29371,0,"o"],[29372,0," "],[29373,0,"\\"],[29374,0,"m"],[29375,0,"a"],[29376,0,"t"],[29377,0,"h"],[29378,0,"i"],[29379,0,"t"],[29380,0,"{"],[29381,0,"c"],[29382,0,"t"],[29383,0,"x"],[29384,0,"}"],[29385,0,"'"],[29386,0,","],[29387,0,"\\"],[29388,0,","],[29389,0," "],[29390,0,"\\"],[29391,0,"m"],[29392,0,"a"],[29393,0,"t"],[29394,0,"h"],[29395,0,"i"],[29396,0,"t"],[29397,0,"{"],[29398,0,"p"],[29399,0,"r"],[29400,0,"e"],[29401,0,"s"],[29402,0,"}"],[29626,1],[29625,1],[29624,1],[29623,1],[29622,1],[29621,1],[29620,1],[29619,1],[29618,1],[29617,1],[29616,1],[29615,1],[29614,1],[29613,1],[29612,1],[29611,1],[29610,1],[29609,1],[29608,1],[29607,1],[29606,1],[29605,1],[29604,1],[29603,1],[29602,1],[29601,1],[29600,1],[29599,1],[29598,1],[29597,1],[29596,1],[29595,1],[29594,1],[29593,1],[29592,1],[29591,1],[29590,1],[29589,1],[29588,1],[29587,1],[29586,1],[29585,1],[29584,1],[29583,1],[29582,1],[29581,1],[29580,1],[29579,1],[29578,1],[29577,1],[29576,1],[29575,1],[29574,1],[29573,1],[29572,1],[29571,1],[29570,1],[29569,1],[29568,1],[29567,1],[29566,1],[29565,1],[29564,1],[29563,1],[29562,1],[29561,1],[29560,1],[29559,1],[29558,1],[29557,1],[29556,1],[29555,1],[29554,1],[29553,1],[29552,1],[29551,1],[29550,1],[29549,1],[29548,1],[29547,1],[29546,1],[29545,1],[29544,1],[29543,1],[29542,1],[29541,1],[29540,1],[29539,1],[29538,1],[29537,1],[29536,1],[29535,1],[29534,1],[29533,1],[29532,1],[29531,1],[29530,1],[29529,1],[29528,1],[29527,1],[29526,1],[29525,1],[29524,1],[29523,1],[29522,1],[29521,1],[29520,1],[29519,1],[29518,1],[29517,1],[29516,1],[29515,1],[29514,1],[29513,1],[29512,1],[29511,1],[29510,1],[29509,1],[29508,1],[29507,1],[29506,1],[29505,1],[29504,1],[29503,1],[29502,1],[29501,1],[29500,1],[29499,1],[29498,1],[29497,1],[29496,1],[29495,1],[29494,1],[29493,1],[29492,1],[29491,1],[29490,1],[29489,1],[29488,1],[29487,1],[29486,1],[29485,1],[29484,1],[29483,1],[29482,1],[29481,1],[29480,1],[29479,1],[29478,1],[29477,1],[29476,1],[29475,1],[29474,1],[29473,1],[29472,1],[29471,1],[29470,1],[29469,1],[29468,1],[29467,1],[29466,1],[29465,1],[29464,1],[29463,1],[29462,1],[29461,1],[29460,1],[29459,1],[29458,1],[29457,1],[29456,1],[29455,1],[29454,1],[29453,1],[29452,1],[29451,1],[29450,1],[29449,1],[29448,1],[29447,1],[29446,1],[29445,1],[29444,1],[29443,1],[29442,1],[29441,1],[29440,1],[29439,1],[29438,1],[29437,1],[29436,1],[29435,1],[29434,1],[29433,1],[29432,1],[29431,1],[29430,1],[29429,1],[29428,1],[29427,1],[29426,1],[29425,1],[29424,1],[29423,1],[29422,1],[29421,1],[29420,1],[29419,1],[29418,1],[29417,1],[29416,1],[29415,1],[29415,1],[29415,0,"\\"],[29416,0,"m"],[29417,0,"a"],[29418,0,"t"],[29419,0,"h"],[29420,0,"i"],[29421,0,"t"],[29422,0,"{"],[29423,0,"c"],[29424,0,"t"],[29425,0,"x"],[29426,0,"}"],[29427,0,"'"],[29428,0,","],[29429,0," "],[29430,0,"\\"],[29431,0,"m"],[29432,0,"a"],[29433,0,"t"],[29434,0,"h"],[29435,0,"s"],[29436,0,"f"],[29437,0,"{"],[29438,0,"a"],[29439,0,"d"],[29440,0,"d"],[29441,0,"I"],[29442,0,"d"],[29443,0,"}"],[29444,0,"("],[29445,0,"\\"],[29446,0,"m"],[29447,0,"a"],[29448,0,"t"],[29449,0,"h"],[29450,0,"s"],[29451,0,"f"],[29452,0,"{"],[29453,0,"r"],[29454,0,"e"],[29455,0,"g"],[29456,0,"T"],[29457,0,"}"],[29458,0,"("],[29459,0,"k"],[29460,0,")"],[29461,0,","],[29462,0," "],[29463,0,"\\"],[29464,0,"m"],[29465,0,"a"],[29466,0,"t"],[29467,0,"h"],[29468,0,"i"],[29469,0,"t"],[29470,0,"{"],[29471,0,"i"],[29472,0,"d"],[29473,0,"}"],[29474,0,")"],[29475,0," "],[29476,0,"\\"],[29477,0,"e"],[29478,0,"v"],[29479,0,"a"],[29480,0,"l"],[29481,0,"t"],[29482,0,"o"],[29483,0," "],[29484,0,"\\"],[29485,0,"m"],[29486,0,"a"],[29487,0,"t"],[29488,0,"h"],[29489,0,"i"],[29490,0,"t"],[29491,0,"{"],[29492,0,"c"],[29493,0,"t"],[29494,0,"x"],[29495,0,"}"],[29496,0,"'"],[29497,0,"'"],[29500,0,"\n"],[29501,0,"\\"],[29502,0,"A"],[29503,0,"x"],[29504,0,"i"],[29505,0,"o"],[29506,0,"m"],[29507,0,"C"],[29508,0,"{"],[29509,0,"$"],[29510,0,"\\"],[29511,0,"m"],[29512,0,"a"],[29513,0,"t"],[29514,0,"h"],[29515,0,"i"],[29516,0,"t"],[29517,0,"{"],[29518,0,"c"],[29519,0,"t"],[29520,0,"x"],[29521,0,"}"],[29522,0,"'"],[29523,0,"'"],[29524,0,","],[29525,0," "],[29526,0,"\\"],[29527,0,"m"],[29528,0,"a"],[29529,0,"t"],[29530,0,"h"],[29531,0,"s"],[29532,0,"f"],[29533,0,"{"],[29534,0,"r"],[29535,0,"e"],[29536,0,"g"],[29537,0,"T"],[29538,0,"}"],[29539,0,"("],[29540,0,"k"],[29541,0,")"],[29542,0," "],[29543,0,"\\"],[29544,0,"e"],[29545,0,"v"],[29546,0,"a"],[29547,0,"l"],[29548,0,"t"],[29549,0,"o"],[29550,0," "],[29551,0,"\\"],[29552,0,"m"],[29553,0,"a"],[29554,0,"t"],[29555,0,"h"],[29556,0,"i"],[29557,0,"t"],[29558,0,"{"],[29559,0,"c"],[29560,0,"h"],[29561,0,"i"],[29562,0,"l"],[29563,0,"d"],[29564,0,"}"],[29565,0,"$"],[29566,0,"}"],[29597,1],[29596,1],[29595,1],[29579,1],[29763,0,"'"],[29764,0,"'"],[29819,1],[29818,1],[29817,1],[29816,1],[29815,1],[29814,1],[29813,1],[29812,1],[29811,1],[29811,0,"h"],[29812,0,"i"],[29813,0,"l"],[29814,0,"d"],[29597,1],[29597,1],[29597,1],[29597,0,"Q"],[29598,0,"u"],[29599,0,"a"],[29600,0,"t"],[29601,0,"e"],[29602,0,"r"],[34445,1],[34439,0,"s"],[34440,0,"i"],[34441,0,"d"],[34442,0,"e"],[34443,0,"w"],[34444,0,"a"],[34445,0,"y"],[34446,0,"s"],[26928,0,"s"],[26929,0,"i"],[26930,0,"d"],[26931,0,"e"],[26932,0,"w"],[26933,0,"a"],[26934,0,"y"],[26935,0,"s"],[26942,1],[253,0,"\n"],[254,0,"\\"],[255,0,"u"],[256,0,"s"],[257,0,"e"],[258,0,"p"],[259,0,"a"],[260,0,"c"],[261,0,"k"],[262,0,"a"],[263,0,"g"],[264,0,"e"],[265,0,"{"],[266,0,"r"],[267,0,"o"],[268,0,"t"],[269,0,"a"],[270,0,"t"],[271,0,"i"],[272,0,"n"],[273,0,"g"],[274,0,"}"],[275,0," "],[276,0,"$"],[276,1],[276,0,"%"],[277,0," "],[278,0,"s"],[279,0,"i"],[280,0,"d"],[281,0,"e"],[282,0,"w"],[283,0,"a"],[284,0,"y"],[285,0,"s"],[286,0,"f"],[287,0,"i"],[288,0,"g"],[289,0,"u"],[290,0,"r"],[291,0,"e"],[292,0," "],[292,1],[497,1],[496,1],[495,1],[494,1],[493,1],[493,0,"t"],[494,0,"r"],[495,0,"u"],[496,0,"e"],[496,1],[495,1],[494,1],[493,1],[493,0,"f"],[494,0,"a"],[495,0,"l"],[496,0,"s"],[497,0,"e"],[20303,0," "],[20304,0,"&"],[20305,0,"&"],[20306,0," "],[20307,0,"v"],[20308,0,":"],[20309,0," "],[20310,0,"\\"],[20311,0,"m"],[20312,0,"a"],[20313,0,"t"],[20314,0,"h"],[20315,0,"r"],[20316,0,"m"],[20317,0,"{"],[20318,0,"V"],[20319,0,"A"],[20320,0,"R"],[20321,0,"}"],[19990,1],[19990,0,"3"],[20320,1],[20320,0,"L"],[20307,0,"\\"],[20308,0,"u"],[20309,0,"q"],[20310,0,"d"],[20311,0," "],[20310,1],[20309,1],[20308,1],[20308,0,"q"],[20309,0,"u"],[20310,0,"a"],[20311,0,"d"],[18635,0," "],[18636,0,"\\"],[18637,0,"i"],[18638,0,"n"],[18639,0," "],[18640,0,"\\"],[18641,0,"m"],[18642,0,"a"],[18643,0,"t"],[18644,0,"h"],[18645,0,"r"],[18646,0,"m"],[18647,0,"{"],[18648,0,"P"],[18649,0,"e"],[18650,0,"e"],[18651,0,"r"],[18652,0,"I"],[18653,0,"D"],[18654,0,"}"],[18781,0," "],[18782,0,"\\"],[18783,0,"i"],[18784,0,"n"],[18785,0," "],[18786,0,"\\"],[18787,0,"m"],[18788,0,"a"],[18789,0,"t"],[18790,0,"h"],[18791,0,"B"],[18792,0,"B"],[18793,0,"{"],[18794,0,"N"],[18795,0,"}"],[18792,1],[18791,1],[18791,0,"b"],[18792,0,"b"],[27041,0,"*"],[34560,0,"*"],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,1],[34462,0,"c"],[34463,0,"l"],[34464,0,"e"],[34465,0,"a"],[34466,0,"r"],[34467,0,"i"],[34468,0,"n"],[34469,0,"g"],[34470,0,"}"],[34471,0,"\\"],[34472,0,"l"],[34482,1],[34482,1],[34482,1],[34482,1],[34482,1],[34482,1],[34482,1],[34482,1],[34482,1],[34482,0,"c"],[34483,0,"l"],[34484,0,"e"],[34485,0,"a"],[34486,0,"r"],[34514,1],[31677,0,"\n"],[31678,0,"\\"],[31679,0,"c"],[31680,0,"a"],[31681,0,"p"],[31682,0,"t"],[31683,0,"i"],[31684,0,"o"],[31685,0,"n"],[31686,0,"{"],[31687,0,"R"],[31688,0,"u"],[31689,0,"l"],[31690,0,"e"],[31691,0,"s"],[31692,0," "],[31693,0,"f"],[31694,0,"o"],[31695,0,"r"],[31696,0," "],[31697,0,"e"],[31698,0,"v"],[31699,0,"a"],[31700,0,"l"],[31701,0,"u"],[31702,0,"a"],[31703,0,"t"],[31704,0,"i"],[31705,0,"n"],[31706,0,"g"],[31707,0," "],[31708,0,"o"],[31709,0,"p"],[31710,0,"e"],[31711,0,"r"],[31712,0,"a"],[31713,0,"t"],[31714,0,"i"],[31715,0,"o"],[31716,0,"n"],[31717,0,"s"],[31718,0," "],[31719,0,"a"],[31720,0,"n"],[31721,0,"d"],[31722,0," "],[31723,0,"m"],[31724,0,"o"],[31725,0,"d"],[31726,0,"i"],[31727,0,"f"],[31728,0,"y"],[31729,0,"i"],[31730,0,"n"],[31731,0,"g"],[31732,0," "],[31733,0,"d"],[31734,0,"o"],[31735,0,"c"],[31736,0,"u"],[31737,0,"m"],[31738,0,"e"],[31739,0,"n"],[31740,0,"t"],[31741,0," "],[31742,0,"s"],[31743,0,"t"],[31744,0,"a"],[31745,0,"t"],[31746,0,"e"],[31747,0,"}"],[31748,0,"\\"],[31749,0,"l"],[31750,0,"a"],[31751,0,"b"],[31752,0,"e"],[31753,0,"l"],[31754,0,"{"],[31755,0,"f"],[31756,0,"i"],[31757,0,"g"],[31758,0,":"],[31759,0,"o"],[31760,0,"p"],[31761,0,"e"],[31762,0,"r"],[31763,0,"a"],[31764,0,"t"],[31765,0,"i"],[31766,0,"o"],[31767,0,"n"],[31768,0,"-"],[31769,0,"r"],[31770,0,"u"],[31771,0,"l"],[31772,0,"e"],[31773,0,"s"],[31774,0,"}"],[31775,0,"\n"],[31776,0,"\\"],[31777,0,"e"],[31778,0,"n"],[31779,0,"d"],[31780,0,"{"],[31781,0,"s"],[31782,0,"i"],[31783,0,"d"],[31784,0,"e"],[31785,0,"w"],[31786,0,"a"],[31787,0,"y"],[31788,0,"s"],[31789,0,"f"],[31790,0,"i"],[31791,0,"g"],[31792,0,"u"],[31793,0,"r"],[31794,0,"e"],[31795,0,"*"],[31796,0,"}"],[31798,0,"\n"],[31799,0,"\\"],[31800,0,"b"],[31801,0,"e"],[31802,0,"g"],[31803,0,"i"],[31804,0,"n"],[31805,0,"{"],[31806,0,"f"],[31807,0,"i"],[31808,0,"g"],[31809,0,"u"],[31810,0,"r"],[31811,0,"e"],[31812,0,"*"],[31813,0,"}"],[34643,1],[34642,1],[34641,1],[34640,1],[34639,1],[34638,1],[34637,1],[34636,1],[34642,0,"*"],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27125,1],[27184,1],[27183,1],[27182,1],[27285,0,"$"],[27286,0,"}"],[27306,1],[27305,1],[27304,1],[27303,1],[27302,1],[27301,1],[27300,1],[27299,1],[27298,1],[27297,1],[27296,1],[27295,1],[27294,1],[27293,1],[27292,1],[27291,1],[27290,1],[27289,1],[27288,1],[27287,1],[27993,1],[27992,1],[27991,1],[27990,1],[27989,1],[27988,1],[27987,1],[27986,1],[27985,1],[27984,1],[27983,1],[27982,1],[27981,1],[27980,1],[27979,1],[27979,0,"h"],[27980,0,"s"],[27981,0,"p"],[27982,0,"a"],[27983,0,"c"],[27984,0,"e"],[27985,0,"{"],[27986,0,"3"],[27987,0,"e"],[27988,0,"m"],[27989,0,"}"],[28002,1],[28001,1],[28000,1],[27999,1],[27998,1],[27997,1],[27996,1],[27995,1],[27994,1],[27993,1],[27992,1],[27991,1],[27990,1],[27991,0,"%"],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,1],[27993,0,"\n"],[27993,0,"\\"],[27994,0,"b"],[27995,0,"e"],[27996,0,"g"],[27997,0,"i"],[27998,0,"n"],[27999,0,"{"],[28000,0,"c"],[28001,0,"e"],[28002,0,"n"],[28003,0,"t"],[28004,0,"e"],[28005,0,"r"],[28006,0,"}"],[27991,1],[27989,1],[27988,1],[27987,1],[27986,1],[27985,1],[27984,1],[27983,1],[27982,1],[27981,1],[27980,1],[27979,1],[27979,0,"p"],[27980,0,"r"],[27981,0,"o"],[27982,0,"o"],[27983,0,"f"],[27984,0,"S"],[27985,0,"k"],[27986,0,"i"],[27987,0,"p"],[27988,0,"A"],[27989,0,"m"],[27990,0,"o"],[27991,0,"u"],[27992,0,"n"],[27993,0,"t"],[27994,0,"\n"],[27995,0,"\\"],[27996,0,"e"],[27997,0,"n"],[27998,0,"d"],[27999,0,"{"],[28000,0,"c"],[28001,0,"e"],[28002,0,"n"],[28003,0,"t"],[28004,0,"e"],[28005,0,"r"],[28006,0,"}"],[28483,1],[28482,1],[28481,1],[28480,1],[28479,1],[28478,1],[28477,1],[28476,1],[28475,1],[28475,0,"c"],[28476,0,"e"],[28477,0,"n"],[28478,0,"t"],[28479,0,"e"],[28480,0,"r"],[28831,1],[28830,1],[28829,1],[28828,1],[28827,1],[28826,1],[28825,1],[28824,1],[28823,1],[28822,1],[28821,1],[28820,1],[28819,1],[28818,1],[28818,0,"D"],[28819,0,"i"],[28820,0,"s"],[28821,0,"p"],[28822,0,"l"],[28823,0,"a"],[28824,0,"y"],[28825,0,"P"],[28826,0,"r"],[28827,0,"o"],[28828,0,"o"],[28829,0,"f"],[28830,0,"\\"],[28831,0,"h"],[28832,0,"s"],[28833,0,"p"],[28834,0,"a"],[28835,0,"c"],[28836,0,"e"],[28837,0,"{"],[28838,0,"3"],[28839,0,"e"],[28840,0,"m"],[28841,0,"}"],[28843,0,"%"],[28861,1],[28860,1],[28859,1],[28858,1],[28857,1],[28856,1],[28855,1],[28854,1],[28853,1],[28852,1],[28851,1],[28850,1],[28849,1],[28848,1],[28847,1],[28846,1],[28845,1],[28844,1],[29229,1],[29228,1],[29227,1],[29226,1],[29225,1],[29224,1],[29223,1],[29222,1],[29221,1],[29221,0,"c"],[29222,0,"e"],[29223,0,"n"],[29224,0,"t"],[29225,0,"e"],[29226,0,"r"],[29215,0,"\n"],[29216,0,"\\"],[29217,0,"D"],[29218,0,"i"],[29219,0,"s"],[29220,0,"p"],[29221,0,"l"],[29222,0,"a"],[29223,0,"y"],[29224,0,"P"],[29225,0,"r"],[29226,0,"o"],[29227,0,"o"],[29228,0,"f"],[29229,0,"\\"],[29230,0,"p"],[29231,0,"r"],[29232,0,"o"],[29233,0,"o"],[29234,0,"f"],[29235,0,"S"],[29236,0,"k"],[29237,0,"i"],[29238,0,"p"],[29239,0,"A"],[29240,0,"m"],[29241,0,"o"],[29242,0,"u"],[29243,0,"n"],[29244,0,"t"],[28841,1],[28840,1],[28839,1],[28838,1],[28837,1],[28836,1],[28835,1],[28834,1],[28833,1],[28832,1],[28832,0,"f"],[28833,0,"i"],[28834,0,"l"],[28835,0,"l"],[29657,0,"$"],[29673,0,"_"],[29674,0,"1"],[29675,0,"$"],[29675,1],[29674,1],[29673,1],[29657,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,1],[30301,0,"\\"],[30302,0,"s"],[30303,0,"t"],[30304,0,"r"],[30305,0,"i"],[30306,0,"n"],[30307,0,"g"],[30308,0,"{"],[30309,0,"\\"],[30310,0,"s"],[30311,0,"t"],[30312,0,"r"],[30313,0,"i"],[30314,0,"n"],[30315,0,"g"],[30316,0,"}"],[30317,0,"}"],[30301,0,"\\"],[30302,0,"t"],[30303,0,"e"],[30304,0,"x"],[30305,0,"t"],[30306,0,"t"],[30307,0,"t"],[30308,0,"{"],[30171,1],[30170,1],[30169,1],[30167,1],[30166,1],[30165,1],[30164,1],[30163,1],[30162,1],[30162,0,"E"],[30163,0,"m"],[30164,0,"p"],[30165,0,"t"],[30166,0,"y"],[30167,0,"-"],[30168,0,"M"],[30169,0,"a"],[30170,0,"p"],[30153,1],[30433,1],[30432,1],[30431,1],[30430,1],[30429,1],[30428,1],[30427,1],[30426,1],[30425,1],[30424,1],[30423,1],[30422,1],[30421,1],[30420,1],[30419,1],[30418,1],[30417,1],[30416,1],[30415,1],[30414,1],[30413,1],[30412,1],[30411,1],[30410,1],[30409,1],[30408,1],[30407,1],[30406,1],[30405,1],[30404,1],[30403,1],[30402,1],[30401,1],[30400,1],[30399,1],[30398,1],[30397,1],[30396,1],[30395,1],[30394,1],[30393,1],[30392,1],[30391,1],[30390,1],[30389,1],[30388,1],[30387,1],[30386,1],[30385,1],[30384,1],[30383,1],[30382,1],[30381,1],[30380,1],[30379,1],[30378,1],[30378,0,"p"],[30379,0,"s"],[30380,0,"t"],[30381,0,"o"],[30382,0,"\\"],[30383,0,","],[30384,0," "],[30367,1],[30366,1],[30365,1],[30364,1],[30364,0,"m"],[30365,0,"a"],[30366,0,"p"],[30367,0,"T"],[30385,0,"\\"],[30386,0,"m"],[30387,0,"a"],[30388,0,"t"],[30389,0,"h"],[30390,0,"i"],[30391,0,"t"],[30392,0,"{"],[30393,0,"c"],[30394,0,"h"],[30395,0,"i"],[30396,0,"l"],[30397,0,"d"],[30398,0,"}"],[30399,0," "],[30400,0,"\\"],[30401,0,","],[30402,0,"]"],[30352,0,"'"],[30353,0,"'"],[30032,1],[30031,1],[30030,1],[30029,1],[30028,1],[30027,1],[30026,1],[30025,1],[30024,1],[30023,1],[30022,1],[30021,1],[30020,1],[30019,1],[30018,1],[30017,1],[30016,1],[30015,1],[30014,1],[30013,1],[30012,1],[30011,1],[30010,1],[30009,1],[30008,1],[30007,1],[30006,1],[30005,1],[30004,1],[30003,1],[30002,1],[30001,1],[30000,1],[29999,1],[29998,1],[29997,1],[29996,1],[29995,1],[29994,1],[29993,1],[29992,1],[29991,1],[30007,1],[30006,1],[30005,1],[30004,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,1],[30255,0,"\\"],[30256,0,"m"],[30257,0,"a"],[30258,0,"t"],[30259,0,"h"],[30260,0,"i"],[30261,0,"t"],[30262,0,"{"],[30263,0,"v"],[30264,0,"a"],[30265,0,"l"],[30255,1],[30092,1],[30079,1],[30078,1],[30077,1],[30076,1],[30075,1],[30074,1],[30073,1],[30072,1],[30071,1],[30070,1],[30069,1],[30068,1],[30067,1],[30066,1],[30065,1],[30064,1],[30063,1],[30062,1],[30061,1],[30060,1],[30059,1],[30058,1],[30057,1],[30056,1],[30055,1],[30054,1],[30053,1],[30052,1],[30051,1],[30050,1],[30049,1],[30048,1],[30047,1],[30046,1],[30045,1],[30044,1],[30043,1],[30055,0,","],[30056,0,"\\"],[30057,0,","],[30058,0," "],[30059,0,"\\"],[30060,0,"m"],[30061,0,"a"],[30062,0,"t"],[30063,0,"h"],[30064,0,"s"],[30065,0,"f"],[30066,0,"{"],[30067,0,"c"],[30068,0,"l"],[30069,0,"e"],[30070,0,"a"],[30071,0,"r"],[30072,0,"E"],[30073,0,"l"],[30074,0,"e"],[30075,0,"m"],[30076,0,"}"],[30077,0,"("],[30078,0,"\\"],[30079,0,"m"],[30080,0,"a"],[30081,0,"t"],[30082,0,"h"],[30083,0,"i"],[30084,0,"t"],[30085,0,"{"],[30086,0,"d"],[30087,0,"e"],[30088,0,"p"],[30089,0,"s"],[30090,0,"}"],[30091,0,","],[30092,0," "],[30093,0,"\\"],[30094,0,"m"],[30095,0,"a"],[30096,0,"t"],[30096,1],[30095,1],[30094,1],[30093,1],[30092,1],[30092,0," "],[30093,0,"k"],[30094,0,")"],[30095,0," "],[30096,0,"\\"],[30097,0,"e"],[30098,0,"v"],[30099,0,"a"],[30100,0,"l"],[30101,0,"t"],[30102,0,"o"],[30103,0," "],[30104,0,"\\"],[30105,0,"m"],[30106,0,"a"],[30107,0,"t"],[30108,0,"h"],[30109,0,"i"],[30110,0,"t"],[30111,0,"{"],[30112,0,"c"],[30113,0,"t"],[30114,0,"x"],[30115,0,"}"],[30116,0,"'"],[30117,0,","],[30118,0,"\\"],[30119,0,","],[30120,0," "],[30121,0,"\\"],[30122,0,"m"],[30123,0,"a"],[30124,0,"t"],[30125,0,"h"],[30126,0,"i"],[30127,0,"t"],[30128,0,"{"],[30129,0,"p"],[30130,0,"r"],[30131,0,"e"],[30132,0,"s"],[30133,0,"}"],[30136,0,"\n"],[30137,0,"\\"],[30138,0,"A"],[30139,0,"x"],[30140,0,"i"],[30141,0,"o"],[30142,0,"m"],[30143,0,"C"],[30144,0,"{"],[30145,0,"$"],[30146,0,"\\"],[30147,0,"m"],[30148,0,"a"],[30149,0,"t"],[30150,0,"h"],[30151,0,"i"],[30152,0,"t"],[30153,0,"{"],[30154,0,"c"],[30155,0,"t"],[30156,0,"x"],[30157,0,"}"],[30158,0,"'"],[30159,0,","],[30160,0,"\\"],[30161,0,","],[30162,0," "],[29603,0,"\\"],[29604,0,","],[29507,0,"\\"],[29508,0,","],[30167,0,"\\"],[30168,0,"m"],[30169,0,"a"],[30170,0,"t"],[30171,0,"h"],[30172,0,"s"],[30173,0,"f"],[30174,0,"{"],[30175,0,"a"],[30176,0,"d"],[30177,0,"d"],[30178,0,"I"],[30179,0,"d"],[30180,0,"}"],[30181,0,"("],[30182,0,"\\"],[30183,0,"m"],[30184,0,"a"],[30185,0,"t"],[30186,0,"h"],[30187,0,"s"],[30188,0,"f"],[30189,0,"{"],[30190,0,"r"],[30191,0,"e"],[30192,0,"g"],[30192,1],[30191,1],[30190,1],[30190,0,"m"],[30191,0,"a"],[30192,0,"p"],[30193,0,"T"],[30194,0,"}"],[30195,0,"("],[30196,0,"k"],[30197,0,")"],[30198,0,","],[30199,0," "],[30200,0,"\\"],[30201,0,"m"],[30202,0,"a"],[30203,0,"t"],[30204,0,"h"],[30205,0,"i"],[30206,0,"t"],[30207,0,"{"],[30208,0,"i"],[30209,0,"d"],[30210,0,"}"],[30211,0,")"],[30212,0," "],[30213,0,"\\"],[30214,0,"e"],[30215,0,"v"],[30216,0,"a"],[30217,0,"l"],[30218,0,"t"],[30219,0,"o"],[30220,0," "],[30221,0,"\\"],[30222,0,"m"],[30223,0,"a"],[30224,0,"t"],[30225,0,"h"],[30226,0,"i"],[30227,0,"t"],[30228,0,"{"],[30229,0,"c"],[30230,0,"t"],[30231,0,"x"],[30232,0,"}"],[30233,0,"'"],[30234,0,"'"],[30235,0,"$"],[30236,0,"}"],[30237,0,"\n"],[30238,0,"\\"],[30239,0,"A"],[30240,0,"x"],[30241,0,"i"],[30242,0,"o"],[30243,0,"m"],[30244,0,"C"],[30245,0,"{"],[30246,0,"$"],[30247,0,"\\"],[30248,0,"m"],[30249,0,"a"],[30250,0,"t"],[30251,0,"h"],[30252,0,"i"],[30253,0,"t"],[30254,0,"{"],[30255,0,"c"],[30256,0,"t"],[30257,0,"x"],[30258,0,"}"],[30259,0,"'"],[30260,0,"'"],[30261,0,","],[30262,0,"\\"],[30263,0,","],[30264,0," "],[30265,0,"\\"],[30266,0,"m"],[30267,0,"a"],[30268,0,"t"],[30269,0,"h"],[30270,0,"s"],[30271,0,"f"],[30272,0,"{"],[30273,0,"m"],[30274,0,"a"],[30275,0,"p"],[30276,0,"T"],[30277,0,"}"],[30278,0,"("],[30279,0,"k"],[30280,0,")"],[30281,0," "],[30282,0,"\\"],[30283,0,"3"],[30284,0,"e"],[30284,1],[30283,1],[30283,0,"e"],[30284,0,"v"],[30285,0,"a"],[30286,0,"l"],[30287,0,"t"],[30288,0,"o"],[30289,0," "],[30290,0,"\\"],[30291,0,"m"],[30292,0,"a"],[30293,0,"t"],[30294,0,"h"],[30295,0,"i"],[30296,0,"t"],[30297,0,"{"],[30298,0,"c"],[30299,0,"h"],[30300,0,"i"],[30301,0,"l"],[30302,0,"d"],[30303,0,"}"],[30304,0,"$"],[30305,0,"}"],[30339,1],[30339,1],[30339,0,"Q"],[30340,0,"u"],[30341,0,"a"],[30342,0,"t"],[30343,0,"e"],[30344,0,"r"],[30579,0,"\n"],[30580,0,"\n"],[30581,0,"%"],[30582,0," "],[30583,0,"T"],[30584,0,"O"],[30585,0,"D"],[30586,0,"O"],[30587,0," "],[30588,0,"E"],[30589,0,"M"],[30590,0,"p"],[30591,0,"t"],[30592,0,"y"],[30593,0,"-"],[30594,0,"L"],[30595,0,"i"],[30596,0,"s"],[30597,0,"t"],[30598,0," "],[30599,0,"i"],[30600,0,"s"],[30601,0," "],[30602,0,"i"],[30603,0,"m"],[30604,0,"s"],[30605,0,"i"],[30606,0,"l"],[30607,0,"a"],[30608,0,"r"],[30608,1],[30607,1],[30606,1],[30605,1],[30604,1],[30603,1],[30602,1],[30602,0,"s"],[30603,0,"i"],[30604,0,"m"],[30605,0,"i"],[30606,0,"l"],[30607,0,"a"],[30608,0,"r"],[30589,1],[30589,0,"m"],[30608,1],[30607,1],[30606,1],[30605,1],[30604,1],[30603,1],[30602,1],[30601,1],[30600,1],[30599,1],[30598,1],[30597,1],[30596,1],[30595,1],[30594,1],[30593,1],[30592,1],[30591,1],[30590,1],[30589,1],[30588,1],[30587,1],[30586,1],[30585,1],[30584,1],[30583,1],[30582,1],[30581,1],[30581,0,"\\"],[30582,0,"b"],[30583,0,"e"],[30584,0,"g"],[30585,0,"i"],[30586,0,"n"],[30587,0,"{"],[30588,0,"p"],[30589,0,"r"],[30590,0,"o"],[30591,0,"o"],[30592,0,"f"],[30593,0,"t"],[30594,0,"r"],[30595,0,"e"],[30596,0,"e"],[30597,0,"}"],[30598,0,"\n"],[30599,0,"\\"],[30600,0,"e"],[30601,0,"n"],[30602,0,"d"],[30603,0,"{"],[30604,0,"p"],[30605,0,"r"],[30606,0,"o"],[30607,0,"o"],[30608,0,"f"],[30609,0,"t"],[30610,0,"r"],[30611,0,"e"],[30612,0,"e"],[30613,0,"}"],[30598,0,"\n"],[30599,0,"\\"],[30600,0,"A"],[30601,0,"x"],[30602,0,"i"],[30603,0,"o"],[30604,0,"m"],[30605,0,"C"],[30606,0,"{"],[30607,0,"$"],[30608,0,"\\"],[30609,0,"m"],[30610,0,"a"],[30611,0,"t"],[30612,0,"h"],[30613,0,"i"],[30614,0,"t"],[30615,0,"{"],[30616,0,"v"],[30617,0,"a"],[30618,0,"l"],[30619,0,"}"],[30620,0," "],[30621,0,"="],[30622,0," "],[30623,0,"\\"],[30624,0,"t"],[30625,0,"e"],[30626,0,"x"],[30627,0,"t"],[30628,0,"t"],[30629,0,"t"],[30630,0,"{"],[30631,0,"["],[30632,0,"]"],[30633,0,"}"],[30634,0,"$"],[30635,0,"}"],[30636,0,"\n"],[30637,0,"\\"],[30638,0,"A"],[30639,0,"x"],[30640,0,"i"],[30641,0,"o"],[30642,0,"m"],[30643,0,"C"],[30644,0,"{"],[30645,0,"$"],[30646,0,"\\"],[30647,0,"m"],[30648,0,"a"],[30649,0,"t"],[30650,0,"h"],[30651,0,"i"],[30652,0,"t"],[30653,0,"{"],[30654,0,"c"],[30655,0,"t"],[30656,0,"x"],[30657,0,"}"],[30658,0,","],[30659,0,"\\"],[30660,0,","],[30661,0," "],[30662,0,"\\"],[30663,0,"m"],[30664,0,"a"],[30665,0,"t"],[30666,0,"h"],[30667,0,"s"],[30668,0,"f"],[30669,0,"{"],[30670,0,"c"],[30671,0,"l"],[30672,0,"e"],[30673,0,"a"],[30674,0,"r"],[30675,0,"E"],[30676,0,"l"],[30677,0,"e"],[30678,0,"m"],[30679,0,"}"],[30680,0,"("],[30681,0,"\\"],[30682,0,"m"],[30683,0,"a"],[30684,0,"t"],[30685,0,"h"],[30686,0,"i"],[30687,0,"t"],[30688,0,"{"],[30689,0,"d"],[30690,0,"e"],[30691,0,"p"],[30692,0,"s"],[30693,0,"}"],[30694,0,","],[30695,0," "],[30696,0,"k"],[30697,0,")"],[30698,0," "],[30699,0,"\\"],[30700,0,"e"],[30701,0,"v"],[30702,0,"a"],[30703,0,"l"],[30704,0,"t"],[30705,0,"o"],[30706,0," "],[30707,0,"\\"],[30708,0,"m"],[30709,0,"a"],[30710,0,"t"],[30711,0,"h"],[30712,0,"i"],[30713,0,"t"],[30714,0,"{"],[30715,0,"c"],[30716,0,"t"],[30717,0,"x"],[30718,0,"}"],[30719,0,"'"],[30720,0,","],[30721,0,"\\"],[30722,0,","],[30723,0," "],[30724,0,"\\"],[30725,0,"m"],[30726,0,"a"],[30727,0,"t"],[30728,0,"h"],[30729,0,"i"],[30730,0,"t"],[30731,0,"{"],[30732,0,"p"],[30733,0,"r"],[30734,0,"e"],[30735,0,"s"],[30736,0,"}"],[30737,0,"$"],[30738,0,"}"],[30739,0,"\n"],[30740,0,"\\"],[30741,0,"m"],[30741,1],[30741,0,"A"],[30742,0,"x"],[30743,0,"i"],[30744,0,"o"],[30745,0,"m"],[30746,0,"C"],[30747,0,"{"],[30748,0,"$"],[30749,0,"\\"],[30750,0,"m"],[30751,0,"a"],[30752,0,"t"],[30753,0,"h"],[30754,0,"i"],[30755,0,"t"],[30756,0,"{"],[30757,0,"c"],[30758,0,"t"],[30759,0,"x"],[30760,0,"}"],[30761,0,"'"],[30762,0,","],[30763,0,"\\"],[30764,0,","],[30765,0," "],[30766,0,"\\"],[30767,0,"m"],[30768,0,"a"],[30769,0,"t"],[30770,0,"h"],[30771,0,"s"],[30772,0,"f"],[30773,0,"{"],[30774,0,"a"],[30775,0,"d"],[30776,0,"d"],[30777,0,"I"],[30778,0,"d"],[30779,0,"}"],[30780,0,"("],[30781,0,"\\"],[30782,0,"m"],[30783,0,"a"],[30784,0,"t"],[30785,0,"h"],[30786,0,"s"],[30787,0,"f"],[30788,0,"{"],[30789,0,"l"],[30790,0,"i"],[30791,0,"s"],[30792,0,"t"],[30793,0,"T"],[30794,0,"}"],[30795,0,"("],[30796,0,"k"],[30797,0,")"],[30798,0,","],[30799,0," "],[30800,0,"\\"],[30801,0,"m"],[30802,0,"a"],[30803,0,"t"],[30804,0,"h"],[30805,0,"i"],[30806,0,"t"],[30807,0,"{"],[30808,0,"i"],[30809,0,"d"],[30810,0,"}"],[30811,0,")"],[30812,0," "],[30813,0,"\\"],[30814,0,"e"],[30815,0,"v"],[30816,0,"a"],[30817,0,"l"],[30818,0,"t"],[30819,0,"o"],[30820,0," "],[30821,0,"\\"],[30822,0,"m"],[30823,0,"a"],[30824,0,"t"],[30825,0,"h"],[30826,0,"i"],[30827,0,"t"],[30828,0,"{"],[30829,0,"c"],[30830,0,"t"],[30831,0,"x"],[30832,0,"}"],[30833,0,"'"],[30834,0,"'"],[30835,0,"$"],[30836,0,"}"],[30837,0,"\n"],[30838,0,"\\"],[30839,0,"A"],[30840,0,"x"],[30841,0,"i"],[30842,0,"o"],[30843,0,"m"],[30844,0,"C"],[30845,0,"{"],[30846,0,"$"],[30847,0,"\\"],[30848,0,"m"],[30849,0,"a"],[30850,0,"t"],[30851,0,"h"],[30852,0,"i"],[30853,0,"t"],[30854,0,"{"],[30855,0,"c"],[30856,0,"t"],[30857,0,"x"],[30858,0,"}"],[30859,0,"'"],[30860,0,"'"],[30861,0,","],[30862,0,"\\"],[30863,0,","],[30864,0," "],[30865,0,"\\"],[30866,0,"m"],[30867,0,"a"],[30868,0,"t"],[30869,0,"h"],[30870,0,"s"],[30871,0,"f"],[30872,0,"{"],[30873,0,"l"],[30874,0,"i"],[30875,0,"s"],[30876,0,"t"],[30877,0,"T"],[30878,0,"}"],[30879,0,"("],[30880,0,"k"],[30881,0,")"],[30882,0," "],[30883,0,"\\"],[30884,0,"e"],[30885,0,"v"],[30886,0,"a"],[30887,0,"l"],[30888,0,"t"],[30889,0,"o"],[30890,0," "],[30891,0,"\\"],[30892,0,"m"],[30893,0,"a"],[30894,0,"t"],[30895,0,"h"],[30896,0,"i"],[30897,0,"t"],[30898,0,"{"],[30899,0,"c"],[30900,0,"h"],[30901,0,"i"],[30902,0,"l"],[30903,0,"d"],[30904,0,"}"],[30905,0,"$"],[30906,0,"}"],[30907,0,"\n"],[30908,0,"\\"],[30909,0,"L"],[30910,0,"e"],[30911,0,"f"],[30912,0,"t"],[30913,0,"L"],[30914,0,"a"],[30915,0,"b"],[30916,0,"e"],[30917,0,"l"],[30918,0,"{"],[30919,0,"\\"],[30920,0,"t"],[30921,0,"e"],[30922,0,"x"],[30923,0,"t"],[30924,0,"s"],[30925,0,"c"],[30926,0,"{"],[30927,0,"E"],[30928,0,"m"],[30929,0,"p"],[30930,0,"t"],[30931,0,"y"],[30932,0,"-"],[30933,0,"L"],[30934,0,"i"],[30935,0,"s"],[30936,0,"t"],[30937,0,"}"],[30938,0,"}"],[30939,0,"\n"],[30940,0,"\\"],[30941,0,"Q"],[30942,0,"u"],[30943,0,"a"],[30944,0,"t"],[30945,0,"e"],[30946,0,"r"],[30947,0,"n"],[30948,0,"a"],[30949,0,"r"],[30950,0,"y"],[30951,0,"I"],[30952,0,"n"],[30953,0,"f"],[30954,0,"C"],[30955,0,"{"],[30956,0,"$"],[30957,0,"\\"],[30958,0,"m"],[30959,0,"a"],[30960,0,"t"],[30961,0,"h"],[30962,0,"i"],[30963,0,"t"],[30964,0,"{"],[30965,0,"c"],[30966,0,"t"],[30967,0,"x"],[30968,0,"}"],[30969,0,","],[30970,0,"\\"],[30971,0,","],[30972,0," "],[30973,0,"\\"],[30974,0,"m"],[30975,0,"a"],[30976,0,"t"],[30977,0,"h"],[30978,0,"s"],[30979,0,"f"],[30980,0,"{"],[30981,0,"o"],[30982,0,"p"],[30983,0,"}"],[30984,0,"("],[30985,0,"\\"],[30986,0,"m"],[30987,0,"a"],[30988,0,"t"],[30989,0,"h"],[30990,0,"i"],[30991,0,"t"],[30992,0,"{"],[30993,0,"i"],[30994,0,"d"],[30995,0,"}"],[30996,0,","],[30997,0," "],[30998,0,"\\"],[30999,0,"m"],[31000,0,"a"],[31001,0,"t"],[31002,0,"h"],[31003,0,"i"],[31004,0,"t"],[31005,0,"{"],[31006,0,"d"],[31007,0,"e"],[31008,0,"p"],[31009,0,"s"],[31010,0,"}"],[31011,0,","],[31012,0,"\n"],[31013,0," "],[31014,0," "],[31015,0," "],[31016,0," "],[31017,0,"\\"],[31018,0,"m"],[31019,0,"a"],[31020,0,"t"],[31021,0,"h"],[31022,0,"s"],[31023,0,"f"],[31024,0,"{"],[31025,0,"c"],[31026,0,"u"],[31027,0,"r"],[31028,0,"s"],[31029,0,"o"],[31030,0,"r"],[31031,0,"}"],[31032,0,"("],[31033,0,"\\"],[31034,0,"l"],[31035,0,"a"],[31036,0,"n"],[31037,0,"g"],[31038,0,"l"],[31039,0,"e"],[31040,0,"\\"],[31041,0,"r"],[31042,0,"a"],[31043,0,"n"],[31044,0,"g"],[31045,0,"l"],[31046,0,"e"],[31047,0,","],[31048,0,"\\"],[31049,0,","],[31050,0," "],[31051,0,"k"],[31052,0,")"],[31053,0,","],[31054,0," "],[31055,0,"\\"],[31056,0,"m"],[31057,0,"a"],[31058,0,"t"],[31059,0,"h"],[31060,0,"s"],[31061,0,"f"],[31062,0,"{"],[31063,0,"a"],[31064,0,"s"],[31065,0,"s"],[31066,0,"i"],[31067,0,"g"],[31068,0,"n"],[31069,0,"}"],[31070,0,"("],[31071,0,"\\"],[31072,0,"m"],[31073,0,"a"],[31074,0,"t"],[31075,0,"h"],[31076,0,"i"],[31077,0,"t"],[31078,0,"{"],[31079,0,"v"],[31080,0,"a"],[31081,0,"l"],[31082,0,"}"],[31083,0,")"],[31084,0,")"],[31085,0," "],[31086,0,"\\"],[31087,0,"e"],[31088,0,"v"],[31089,0,"a"],[31090,0,"l"],[31091,0,"t"],[31092,0,"o"],[31093,0,"\n"],[31094,0," "],[31095,0," "],[31096,0," "],[31097,0," "],[31098,0,"\\"],[31099,0,"m"],[31100,0,"a"],[31101,0,"t"],[31102,0,"h"],[31103,0,"i"],[31104,0,"t"],[31105,0,"{"],[31106,0,"c"],[31107,0,"t"],[31108,0,"x"],[31109,0,"}"],[31110,0,"'"],[31111,0,"'"],[31112,0,"["],[31113,0,"\\"],[31114,0,","],[31115,0," "],[31116,0,"\\"],[31117,0,"m"],[31118,0,"a"],[31119,0,"t"],[31120,0,"h"],[31121,0,"s"],[31122,0,"f"],[31123,0,"{"],[31124,0,"l"],[31125,0,"i"],[31126,0,"s"],[31127,0,"t"],[31128,0,"T"],[31129,0,"}"],[31130,0,"("],[31131,0,"k"],[31132,0,")"],[31133,0," "],[31134,0,"\\"],[31135,0,","],[31136,0,"\\"],[31137,0,"m"],[31138,0,"a"],[31139,0,"p"],[31140,0,"s"],[31141,0,"t"],[31142,0,"o"],[31143,0," "],[31143,1],[31143,0,"\\"],[31144,0,","],[31145,0," "],[31146,0,"\\"],[31147,0,"m"],[31148,0,"a"],[31149,0,"t"],[31150,0,"h"],[31151,0,"i"],[31152,0,"t"],[31153,0,"{"],[31154,0,"c"],[31155,0,"h"],[31156,0,"i"],[31157,0,"l"],[31158,0,"d"],[31159,0,"}"],[31160,0," "],[31161,0,"\\"],[31162,0,","],[31163,0,"]"],[31164,0,"$"],[31165,0,"}"],[32744,0,"f"],[32745,0,"f"],[32745,1],[32744,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,1],[32755,0,"k"],[32773,1],[32772,1],[32771,1],[32770,1],[32769,1],[32768,1],[32767,1],[32767,0,"d"],[32768,0,"e"],[32769,0,"l"],[32770,0,"e"],[32771,0,"t"],[32772,0,"e"],[32864,1],[32863,1],[32862,1],[32861,1],[32860,1],[32859,1],[32858,1],[32857,1],[32856,1],[32855,1],[32854,1],[32853,1],[32852,1],[32851,1],[32850,1],[32849,1],[32848,1],[32847,1],[32846,1],[32845,1],[32844,1],[32843,1],[32842,1],[32841,1],[32840,1],[32839,1],[32838,1],[32837,1],[32836,1],[32835,1],[32834,1],[32833,1],[32832,1],[32831,1],[32830,1],[32829,1],[32828,1],[32827,1],[32826,1],[32825,1],[32824,1],[32823,1],[32822,1],[32821,1],[32820,1],[32819,1],[32818,1],[32817,1],[32816,1],[32815,1],[32814,1],[32813,1],[32812,1],[32811,1],[32810,1],[32809,1],[32808,1],[32807,1],[32806,1],[32805,1],[32804,1],[32803,1],[32802,1],[32801,1],[32800,1],[32800,0,"'"],[32787,1],[32786,1],[32785,1],[32784,1],[32783,1],[32783,0," "],[32642,1],[32641,1],[32640,1],[32639,1],[32638,1],[32641,0,"e"],[32642,0,"t"],[32643,0,"e"],[32615,1],[32602,1],[32601,1],[32600,1],[32599,1],[32598,1],[32597,1],[32596,1],[32595,1],[32594,1],[32593,1],[32592,1],[32591,1],[32590,1],[32589,1],[32588,1],[32587,1],[32586,1],[32585,1],[32584,1],[32583,1],[32582,1],[32581,1],[32580,1],[32579,1],[32578,1],[32577,1],[32576,1],[32575,1],[32574,1],[32573,1],[32572,1],[32571,1],[32570,1],[32569,1],[32568,1],[32567,1],[32566,1],[32565,1],[32564,1],[32563,1],[32562,1],[32561,1],[32560,1],[32559,1],[32558,1],[32557,1],[32556,1],[32555,1],[32567,0," "],[32567,1],[32567,0,","],[32568,0,"\\"],[32569,0,","],[32570,0," "],[32571,0,"\\"],[32572,0,"m"],[32573,0,"a"],[32574,0,"t"],[32575,0,"h"],[32576,0,"s"],[32577,0,"f"],[32578,0,"{"],[32579,0,"c"],[32580,0,"l"],[32581,0,"e"],[32582,0,"a"],[32583,0,"r"],[32584,0,"E"],[32585,0,"l"],[32586,0,"e"],[32587,0,"m"],[32588,0,"}"],[32589,0,"("],[32590,0,"\\"],[32591,0,"m"],[32592,0,"a"],[32593,0,"t"],[32594,0,"h"],[32595,0,"i"],[32596,0,"t"],[32597,0,"{"],[32598,0,"d"],[32599,0,"e"],[32600,0,"p"],[32601,0,"s"],[32602,0,"}"],[32603,0,","],[32604,0," "],[32605,0,"k"],[32606,0,")"],[32607,0," "],[32608,0,"\\"],[32609,0,"e"],[32610,0,"v"],[32611,0,"a"],[32612,0,"l"],[32613,0,"t"],[32614,0,"o"],[32615,0," "],[32616,0,"\\"],[32617,0,"m"],[32618,0,"a"],[32619,0,"t"],[32620,0,"h"],[32621,0,"i"],[32622,0,"t"],[32623,0,"{"],[32624,0,"c"],[32625,0,"t"],[32626,0,"x"],[32627,0,"}"],[32628,0,"'"],[32629,0,","],[32630,0," "],[32630,1],[32630,0,"\\"],[32631,0,","],[32632,0," "],[32633,0,"\\"],[32634,0,"m"],[32635,0,"a"],[32636,0,"t"],[32637,0,"h"],[32638,0,"i"],[32639,0,"t"],[32640,0,"{"],[32641,0,"p"],[32642,0,"r"],[32643,0,"e"],[32644,0,"s"],[32645,0,"}"],[32843,0,"\n"],[32844,0,"\n"],[32845,0,"\\"],[32846,0,"b"],[32847,0,"e"],[32848,0,"g"],[32849,0,"i"],[32850,0,"n"],[32851,0,"{"],[32852,0,"p"],[32853,0,"r"],[32854,0,"o"],[32855,0,"o"],[32856,0,"f"],[32857,0,"t"],[32858,0,"r"],[32859,0,"e"],[32860,0,"e"],[32861,0,"}"],[32862,0,"\n"],[32863,0,"\\"],[32864,0,"e"],[32865,0,"n"],[32866,0,"d"],[32867,0,"{"],[32868,0,"p"],[32869,0,"r"],[32870,0,"o"],[32871,0,"o"],[32872,0,"f"],[32873,0,"t"],[32874,0,"r"],[32875,0,"e"],[32876,0,"e"],[32877,0,"}"],[32862,0,"\n"],[32863,0,"\\"],[32864,0,"A"],[32865,0,"x"],[32866,0,"i"],[32867,0,"o"],[32868,0,"m"],[32869,0,"C"],[32870,0,"{"],[32871,0,"$"],[32872,0,"\\"],[32873,0,"m"],[32874,0,"a"],[32875,0,"t"],[32876,0,"h"],[32877,0,"i"],[32878,0,"t"],[32879,0,"{"],[32880,0,"c"],[32881,0,"t"],[32882,0,"x"],[32883,0,"}"],[32884,0,","],[32885,0,"\\"],[32886,0,","],[32887,0," "],[32888,0,"\\"],[32889,0,"m"],[32890,0,"a"],[32891,0,"t"],[32892,0,"h"],[32893,0,"s"],[32894,0,"f"],[32895,0,"{"],[32896,0,"c"],[32897,0,"l"],[32898,0,"e"],[32899,0,"a"],[32900,0,"r"],[32901,0,"A"],[32902,0,"n"],[32903,0,"y"],[32904,0,"}"],[32905,0,"("],[32906,0,"\\"],[32907,0,"m"],[32908,0,"a"],[32909,0,"t"],[32910,0,"h"],[32911,0,"i"],[32912,0,"t"],[32913,0,"{"],[32914,0,"d"],[32915,0,"e"],[32916,0,"p"],[32917,0,"s"],[32918,0,"}"],[32919,0,","],[32920,0," "],[32921,0,"k"],[32922,0,")"],[32923,0," "],[32924,0,"\\"],[32925,0,"e"],[32926,0,"v"],[32927,0,"a"],[32928,0,"l"],[32929,0,"t"],[32930,0,"o"],[32931,0," "],[32932,0,"\\"],[32933,0,"m"],[32934,0,"a"],[32935,0,"t"],[32936,0,"h"],[32937,0,"i"],[32938,0,"t"],[32939,0,"{"],[32940,0,"c"],[32941,0,"t"],[32942,0,"x"],[32943,0,"}"],[32944,0,"'"],[32945,0,","],[32946,0," "],[32947,0,"\\"],[32948,0,"m"],[32949,0,"a"],[32950,0,"t"],[32951,0,"h"],[32952,0,"i"],[32953,0,"t"],[32954,0,"{"],[32955,0,"p"],[32956,0,"r"],[32957,0,"e"],[32958,0,"s"],[32959,0,"}"],[32960,0,"$"],[32961,0,"}"],[32962,0,"\n"],[32963,0,"\\"],[32964,0,"A"],[32965,0,"x"],[32966,0,"i"],[32967,0,"o"],[32968,0,"m"],[32969,0,"C"],[32970,0,"{"],[32971,0,"$"],[32972,0,"\\"],[32973,0,"m"],[32974,0,"a"],[32975,0,"t"],[32976,0,"h"],[32977,0,"i"],[32978,0,"t"],[32979,0,"{"],[32980,0,"p"],[32981,0,"r"],[32982,0,"e"],[32983,0,"s"],[32984,0,"}"],[32985,0,"'"],[32986,0," "],[32987,0,"="],[32988,0," "],[32989,0,"\\"],[32990,0,"m"],[32991,0,"a"],[32992,0,"t"],[32993,0,"h"],[32994,0,"i"],[32995,0,"t"],[32996,0,"{"],[32997,0,"p"],[32998,0,"r"],[32999,0,"e"],[33000,0,"s"],[33001,0,"}"],[33002,0," "],[33003,0,"\\"],[33004,0,","],[33005,0,"\\"],[33006,0,"c"],[33007,0,"u"],[33008,0,"p"],[33009,0,"\\"],[33010,0,","],[33011,0," "],[33012,0,"$"],[33013,0,"}"],[28022,1],[28021,1],[28020,1],[28019,1],[28018,1],[28017,1],[28016,1],[28015,1],[28014,1],[28013,1],[28012,1],[28011,1],[28010,1],[28009,1],[28008,1],[28008,0,"%"],[28006,1],[28005,1],[28004,1],[28003,1],[28002,1],[28001,1],[28000,1],[27999,1],[27998,1],[27997,1],[27996,1],[27995,1],[27994,1],[27993,1],[27992,1],[27991,1],[27990,1],[27989,1],[27988,1],[27987,1],[27986,1],[27985,1],[27984,1],[27983,1],[27982,1],[27981,1],[27980,1],[27979,1],[27979,0,"h"],[27980,0,"s"],[27981,0,"p"],[27982,0,"a"],[27983,0,"c"],[27984,0,"e"],[27985,0,"{"],[27986,0,"3"],[27987,0,"e"],[27988,0,"m"],[27989,0,"}"],[28236,1],[28235,1],[28234,1],[28233,1],[28232,1],[28231,1],[28230,1],[28229,1],[28228,1],[28227,1],[28226,1],[28226,0,"p"],[28227,0,"r"],[28228,0,"o"],[28229,0,"o"],[28230,0,"f"],[28231,0,"S"],[28232,0,"k"],[28233,0,"i"],[28234,0,"p"],[28235,0,"A"],[28236,0,"m"],[28237,0,"o"],[28238,0,"u"],[28239,0,"n"],[28240,0,"t"],[28241,0,"\n"],[28242,0,"\\"],[28243,0,"e"],[28244,0,"n"],[28245,0,"d"],[28246,0,"{"],[28247,0,"c"],[28248,0,"e"],[28249,0,"n"],[28250,0,"t"],[28251,0,"e"],[28252,0,"r"],[28253,0,"}"],[28254,0,"\n"],[28256,1],[28256,0,"\\"],[28257,0,"b"],[28258,0,"e"],[28259,0,"g"],[28260,0,"i"],[28261,0,"n"],[28262,0,"{"],[28263,0,"c"],[28264,0,"e"],[28265,0,"n"],[28266,0,"t"],[28267,0,"e"],[28268,0,"r"],[28269,0,"}"],[32845,0,"%"],[32864,0,"%"],[32965,0,"%"],[33018,0,"%"],[28452,1],[28451,1],[28450,1],[28449,1],[28448,1],[28447,1],[28446,1],[28445,1],[28444,1],[28443,1],[28442,1],[28441,1],[28440,1],[28439,1],[28438,1],[28438,0,"h"],[28439,0,"s"],[28440,0,"p"],[28441,0,"a"],[28442,0,"c"],[28443,0,"e"],[28444,0,"{"],[28445,0,"3"],[28446,0,"e"],[28447,0,"m"],[28448,0,"}"],[28449,0,"\n"],[28450,0,"%"],[28451,0,"\n"],[28452,0,"A"],[28453,0,"x"],[28454,0,"i"],[28455,0,"o"],[28456,0,"m"],[28457,0,"C"],[28458,0,"{"],[28459,0,"$"],[28460,0,"\\"],[28461,0,"m"],[28462,0,"a"],[28463,0,"t"],[28464,0,"h"],[28465,0,"s"],[28466,0,"f"],[28467,0,"{"],[28468,0,"p"],[28469,0,"r"],[28470,0,"e"],[28471,0,"s"],[28472,0,"}"],[28473,0,"("],[28474,0,"k"],[28475,0,")"],[28476,0," "],[28477,0,"\\"],[28478,0,"i"],[28479,0,"n"],[28480,0," "],[28481,0,"\\"],[28482,0,"m"],[28483,0,"a"],[28484,0,"t"],[28485,0,"h"],[28486,0,"r"],[28487,0,"m"],[28488,0,"{"],[28489,0,"d"],[28490,0,"o"],[28491,0,"m"],[28492,0,"}"],[28493,0,"("],[28494,0,"\\"],[28495,0,"m"],[28496,0,"a"],[28497,0,"t"],[28498,0,"h"],[28499,0,"i"],[28500,0,"t"],[28501,0,"{"],[28502,0,"c"],[28503,0,"t"],[28504,0,"x"],[28505,0,"}"],[28506,0,")"],[28507,0,"$"],[28508,0,"}"],[28509,0,"\n"],[28452,0,"\\"],[28511,0,"\\"],[28512,0,"L"],[28513,0,"e"],[28514,0,"f"],[28515,0,"t"],[28516,0,"L"],[28517,0,"a"],[28518,0,"b"],[28519,0,"e"],[28520,0,"l"],[28521,0,"{"],[28522,0,"\\"],[28523,0,"t"],[28524,0,"e"],[28525,0,"x"],[28526,0,"t"],[28527,0,"s"],[28528,0,"c"],[28529,0,"{"],[28530,0,"P"],[28531,0,"r"],[28532,0,"e"],[28533,0,"s"],[28534,0,"e"],[28535,0,"n"],[28536,0,"c"],[28537,0,"e"],[28522,0,"$"],[28539,0,"\n"],[28539,1],[28539,0,"}"],[28540,0,"_"],[28541,0,"1"],[28542,0,"$"],[28543,0,"}"],[28544,0,"\n"],[28545,0,"\\"],[28546,0,"U"],[28547,0,"n"],[28548,0,"a"],[28549,0,"r"],[28550,0,"y"],[28551,0,"I"],[28552,0,"n"],[28553,0,"f"],[28554,0,"C"],[28555,0,"{"],[28556,0,"$"],[28557,0,"\\"],[28558,0,"m"],[28559,0,"a"],[28560,0,"t"],[28561,0,"h"],[28562,0,"i"],[28563,0,"t"],[28564,0,"{"],[28565,0,"c"],[28566,0,"t"],[28567,0,"x"],[28568,0,"}"],[28569,0,","],[28570,0,"\\"],[28571,0,","],[28572,0," "],[28573,0,"\\"],[28574,0,"m"],[28575,0,"a"],[28576,0,"t"],[28577,0,"h"],[28578,0,"s"],[28579,0,"f"],[28580,0,"{"],[28581,0,"p"],[28582,0,"r"],[28583,0,"e"],[28584,0,"s"],[28585,0,"}"],[28586,0,"("],[28587,0,"k"],[28588,0,")"],[28589,0," "],[28590,0,"\\"],[28591,0,"e"],[28592,0,"v"],[28593,0,"a"],[28594,0,"l"],[28595,0,"t"],[28596,0,"o"],[28597,0," "],[28598,0,"\\"],[28599,0,"m"],[28600,0,"a"],[28601,0,"t"],[28602,0,"h"],[28603,0,"i"],[28604,0,"t"],[28605,0,"{"],[28606,0,"c"],[28607,0,"t"],[28608,0,"x"],[28609,0,"}"],[28610,0,"("],[28611,0,"\\"],[28612,0,"m"],[28613,0,"a"],[28614,0,"t"],[28615,0,"h"],[28616,0,"s"],[28617,0,"f"],[28618,0,"{"],[28619,0,"p"],[28620,0,"r"],[28621,0,"e"],[28622,0,"s"],[28623,0,"}"],[28624,0,"("],[28625,0,"k"],[28626,0,")"],[28627,0,")"],[28628,0,"$"],[28629,0,"}"],[28630,0,"\n"],[28631,0,"\\"],[28632,0,"D"],[28633,0,"i"],[28634,0,"s"],[28635,0,"p"],[28636,0,"l"],[28637,0,"a"],[28638,0,"y"],[28639,0,"P"],[28640,0,"r"],[28641,0,"o"],[28642,0,"o"],[28643,0,"f"],[28644,0,"\\"],[28645,0,"h"],[28646,0,"s"],[28647,0,"p"],[28648,0,"a"],[28649,0,"c"],[28650,0,"e"],[28651,0,"{"],[28652,0,"3"],[28653,0,"e"],[28654,0,"m"],[28655,0,"}"],[28656,0,"\n"],[28657,0,"%"],[28658,0,"\n"],[28659,0,"\\"],[28660,0,"A"],[28661,0,"x"],[28662,0,"i"],[28663,0,"o"],[28664,0,"m"],[28665,0,"C"],[28666,0,"{"],[28667,0,"$"],[28668,0,"\\"],[28669,0,"m"],[28670,0,"a"],[28671,0,"t"],[28672,0,"h"],[28673,0,"s"],[28674,0,"f"],[28675,0,"{"],[28676,0,"p"],[28677,0,"r"],[28678,0,"e"],[28679,0,"s"],[28680,0,"}"],[28681,0,"("],[28682,0,"k"],[28683,0,")"],[28684,0," "],[28685,0,"\\"],[28686,0,"n"],[28687,0,"o"],[28688,0,"t"],[28689,0,"i"],[28690,0,"n"],[28691,0," "],[28692,0,"\\"],[28693,0,"m"],[28694,0,"a"],[28695,0,"t"],[28696,0,"h"],[28697,0,"r"],[28698,0,"m"],[28699,0,"{"],[28700,0,"d"],[28701,0,"o"],[28702,0,"m"],[28703,0,"}"],[28704,0,"("],[28705,0,"\\"],[28706,0,"m"],[28707,0,"a"],[28708,0,"t"],[28709,0,"h"],[28710,0,"i"],[28711,0,"t"],[28712,0,"{"],[28713,0,"c"],[28714,0,"t"],[28715,0,"x"],[28716,0,"}"],[28717,0,")"],[28718,0,"$"],[28719,0,"}"],[28720,0,"\n"],[28721,0,"\\"],[28722,0,"L"],[28723,0,"e"],[28724,0,"f"],[28725,0,"t"],[28726,0,"L"],[28727,0,"a"],[28728,0,"b"],[28729,0,"e"],[28730,0,"l"],[28731,0,"{"],[28732,0,"$"],[28733,0,"\\"],[28734,0,"t"],[28735,0,"e"],[28736,0,"x"],[28737,0,"t"],[28738,0,"s"],[28739,0,"c"],[28740,0,"{"],[28741,0,"P"],[28742,0,"r"],[28743,0,"e"],[28744,0,"s"],[28745,0,"e"],[28746,0,"n"],[28747,0,"c"],[28748,0,"e"],[28749,0,"}"],[28750,0,"_"],[28751,0,"2"],[28752,0,"$"],[28753,0,"}"],[28754,0,"\n"],[28755,0,"\\"],[28756,0,"U"],[28757,0,"n"],[28758,0,"a"],[28759,0,"r"],[28760,0,"y"],[28761,0,"I"],[28762,0,"n"],[28763,0,"f"],[28764,0,"C"],[28765,0,"{"],[28766,0,"$"],[28767,0,"\\"],[28768,0,"m"],[28769,0,"a"],[28770,0,"t"],[28771,0,"h"],[28772,0,"i"],[28773,0,"t"],[28774,0,"{"],[28775,0,"c"],[28776,0,"t"],[28777,0,"x"],[28778,0,"}"],[28779,0,","],[28780,0,"\\"],[28781,0,","],[28782,0," "],[28783,0,"\\"],[28784,0,"m"],[28785,0,"a"],[28786,0,"t"],[28787,0,"h"],[28788,0,"s"],[28789,0,"f"],[28790,0,"{"],[28791,0,"p"],[28792,0,"r"],[28793,0,"e"],[28794,0,"s"],[28795,0,"}"],[28796,0,"("],[28797,0,"k"],[28798,0,")"],[28799,0," "],[28800,0,"\\"],[28801,0,"e"],[28802,0,"v"],[28803,0,"a"],[28804,0,"l"],[28805,0,"t"],[28806,0,"o"],[28807,0," "],[28808,0,"\\"],[28809,0,"m"],[28809,1],[28808,1],[28808,0,"\\"],[28809,0,"{"],[28810,0,"\\"],[28811,0,"}"],[28812,0,"$"],[28813,0,"}"],[28814,0,"\n"],[28815,0,"\\"],[28816,0,"D"],[28817,0,"i"],[28818,0,"s"],[28819,0,"p"],[28820,0,"l"],[28821,0,"a"],[28822,0,"y"],[28823,0,"P"],[28824,0,"r"],[28825,0,"o"],[28826,0,"o"],[28827,0,"f"],[28828,0,"\\"],[28829,0,"p"],[28830,0,"r"],[28831,0,"o"],[28832,0,"o"],[28833,0,"f"],[28834,0,"S"],[28835,0,"k"],[28836,0,"i"],[28837,0,"p"],[28838,0,"A"],[28839,0,"m"],[28840,0,"o"],[28841,0,"u"],[28842,0,"n"],[28843,0,"t"],[28871,1],[28870,1],[28869,1],[28868,1],[28867,1],[28866,1],[28866,0,"p"],[28867,0,"r"],[28868,0,"o"],[28869,0,"o"],[28870,0,"f"],[28871,0,"t"],[28872,0,"r"],[28873,0,"e"],[28874,0,"e"],[29644,1],[29643,1],[29642,1],[29641,1],[29640,1],[29639,1],[29639,0,"p"],[29640,0,"r"],[29641,0,"o"],[29642,0,"o"],[29643,0,"f"],[29644,0,"t"],[29645,0,"r"],[29646,0,"e"],[29647,0,"e"],[28974,0,"\\"],[28975,0,"m"],[28976,0,"a"],[28977,0,"t"],[28978,0,"h"],[28979,0,"i"],[28980,0,"t"],[28981,0,"{"],[28982,0,"c"],[28983,0,"t"],[28984,0,"x"],[28985,0,"}"],[28986,0,","],[28987,0,"\\"],[28988,0,","],[28989,0," "],[29012,1],[29011,1],[29010,1],[29009,1],[29008,1],[29008,0,"e"],[29009,0,"v"],[29010,0,"a"],[29011,0,"l"],[29012,0,"t"],[29013,0,"o"],[29020,1],[29020,1],[29020,0,"i"],[29021,0,"t"],[29023,1],[29023,1],[29023,1],[29023,0,"p"],[29024,0,"r"],[29025,0,"e"],[29026,0,"s"],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29028,1],[29060,1],[29059,1],[29058,1],[29042,1],[29410,1],[29409,1],[29408,1],[29407,1],[29406,1],[29405,1],[29404,1],[29403,1],[29402,1],[29401,1],[29400,1],[29399,1],[29398,1],[29397,1],[29396,1],[29395,1],[29394,1],[29393,1],[29392,1],[29391,1],[29390,1],[29389,1],[29388,1],[29387,1],[29386,1],[29385,1],[29384,1],[29383,1],[29382,1],[29381,1],[29380,1],[29379,1],[29378,1],[29377,1],[29376,1],[29375,1],[29374,1],[29373,1],[29372,1],[29371,1],[29370,1],[29369,1],[29368,1],[29367,1],[29366,1],[29365,1],[29364,1],[29363,1],[29362,1],[29361,1],[29360,1],[29359,1],[29358,1],[29357,1],[29356,1],[29355,1],[29354,1],[29353,1],[29352,1],[29351,1],[29350,1],[29349,1],[29348,1],[29347,1],[29346,1],[29345,1],[29344,1],[29343,1],[29342,1],[29341,1],[29340,1],[29339,1],[29338,1],[29337,1],[29336,1],[29335,1],[29334,1],[29333,1],[29332,1],[29331,1],[29330,1],[29329,1],[29328,1],[29327,1],[29326,1],[29325,1],[29324,1],[29323,1],[29322,1],[29321,1],[29320,1],[29319,1],[29318,1],[29317,1],[29316,1],[29315,1],[29314,1],[29313,1],[29312,1],[29311,1],[29310,1],[29309,1],[29308,1],[29307,1],[29306,1],[29305,1],[29304,1],[29303,1],[29302,1],[29301,1],[29300,1],[29299,1],[29298,1],[29297,1],[29296,1],[29295,1],[29294,1],[29293,1],[29292,1],[29291,1],[29290,1],[29289,1],[29288,1],[29287,1],[29286,1],[29285,1],[29284,1],[29283,1],[29282,1],[29281,1],[29280,1],[29279,1],[29278,1],[29277,1],[29276,1],[29275,1],[29274,1],[29273,1],[29272,1],[29271,1],[29270,1],[29269,1],[29268,1],[29267,1],[29266,1],[29265,1],[29264,1],[29263,1],[29262,1],[29261,1],[29260,1],[29259,1],[29258,1],[29257,1],[29256,1],[29255,1],[29254,1],[29253,1],[29252,1],[29251,1],[29250,1],[29249,1],[29248,1],[29247,1],[29246,1],[29245,1],[29244,1],[29243,1],[29242,1],[29241,1],[29240,1],[29239,1],[29238,1],[29237,1],[29236,1],[29235,1],[29234,1],[29233,1],[29232,1],[29231,1],[29230,1],[29229,1],[29228,1],[29227,1],[29226,1],[29225,1],[29224,1],[29223,1],[29222,1],[29221,1],[29220,1],[29219,1],[29218,1],[29217,1],[29216,1],[29215,1],[29214,1],[29213,1],[29212,1],[29211,1],[29210,1],[29209,1],[29208,1],[29207,1],[29206,1],[29205,1],[29204,1],[29203,1],[29202,1],[29201,1],[29200,1],[29199,1],[29198,1],[29197,1],[29196,1],[29195,1],[29194,1],[29193,1],[29192,1],[29191,1],[29190,1],[29189,1],[29188,1],[29187,1],[29186,1],[29185,1],[29184,1],[29183,1],[29182,1],[29181,1],[29180,1],[29179,1],[29178,1],[29177,1],[29176,1],[29175,1],[29174,1],[29173,1],[29172,1],[29171,1],[29170,1],[29169,1],[29168,1],[29167,1],[29166,1],[29165,1],[29164,1],[29163,1],[29162,1],[29161,1],[29160,1],[29159,1],[29158,1],[29157,1],[29156,1],[29155,1],[29154,1],[29153,1],[29152,1],[29151,1],[29150,1],[29149,1],[29148,1],[29147,1],[29146,1],[29145,1],[29144,1],[29143,1],[29142,1],[29141,1],[29140,1],[29139,1],[29138,1],[29137,1],[29136,1],[29135,1],[29134,1],[29133,1],[29132,1],[29131,1],[29130,1],[29129,1],[29128,1],[29127,1],[29126,1],[29125,1],[29124,1],[29123,1],[29122,1],[29121,1],[29120,1],[29119,1],[29118,1],[29117,1],[29116,1],[29115,1],[29114,1],[29113,1],[29112,1],[29111,1],[29110,1],[29109,1],[29108,1],[29107,1],[29106,1],[29105,1],[29104,1],[29103,1],[29102,1],[29101,1],[29100,1],[29099,1],[29098,1],[29097,1],[29096,1],[29095,1],[29094,1],[29093,1],[29092,1],[29091,1],[29090,1],[29089,1],[29088,1],[29087,1],[29086,1],[29085,1],[29084,1],[29083,1],[29082,1],[29081,1],[29080,1],[29079,1],[29078,1],[29077,1],[29076,1],[29075,1],[29074,1],[29073,1],[29072,1],[29071,1],[29070,1],[29069,1],[29068,1],[29067,1],[29066,1],[29065,1],[29064,1],[29063,1],[29062,1],[29061,1],[29060,1],[29059,1],[29058,1],[29279,1],[29278,1],[29277,1],[29276,1],[29275,1],[29274,1],[29273,1],[29272,1],[29271,1],[29270,1],[29269,1],[29268,1],[29267,1],[29266,1],[29265,1],[29264,1],[29263,1],[29262,1],[29261,1],[29260,1],[29259,1],[29258,1],[29257,1],[29256,1],[29255,1],[29254,1],[29253,1],[29252,1],[29251,1],[29250,1],[29218,1],[29217,1],[29216,1],[29215,1],[29208,1],[29207,1],[29207,0,"i"],[29208,0,"t"],[29201,1],[29200,1],[29199,1],[29198,1],[29197,1],[29196,1],[29195,1],[29194,1],[29193,1],[29192,1],[29191,1],[29190,1],[29189,1],[32842,1],[32860,1],[32960,1],[33012,1],[32959,0,"\n"],[32960,0,"\\"],[32961,0,"A"],[32962,0,"x"],[32963,0,"i"],[32964,0,"o"],[32965,0,"m"],[32966,0,"C"],[32967,0,"{"],[32968,0,"$"],[32969,0,"\\"],[32970,0,"m"],[32971,0,"a"],[32972,0,"t"],[32973,0,"h"],[32974,0,"i"],[32975,0,"t"],[32976,0,"{"],[32977,0,"c"],[32978,0,"t"],[32979,0,"x"],[32980,0,"}"],[32981,0,"'"],[32982,0,","],[32983,0,"\\"],[32984,0,","],[32985,0," "],[32986,0,"\\"],[32987,0,"m"],[32988,0,"a"],[32989,0,"t"],[32990,0,"h"],[32991,0,"s"],[32992,0,"f"],[32993,0,"{"],[32994,0,"p"],[32995,0,"r"],[32996,0,"e"],[32997,0,"s"],[32998,0,"}"],[32999,0,"("],[33000,0,"k"],[33001,0,")"],[32957,0,"\\"],[32957,1],[32957,0,"_"],[32958,0,"\\"],[32959,0,"m"],[32960,0,"a"],[32961,0,"t"],[32962,0,"h"],[32963,0,"i"],[32964,0,"t"],[32965,0,"{"],[32966,0,"c"],[32967,0,"h"],[32968,0,"i"],[32969,0,"l"],[32970,0,"d"],[32971,0,"}"],[33017,0," "],[33018,0,"="],[33018,1],[33018,0,"\\"],[33019,0,"e"],[33020,0,"v"],[33021,0,"a"],[33022,0,"l"],[33023,0,"t"],[33024,0,"o"],[33025,0," "],[33026,0,"\\"],[33027,0,"m"],[33028,0,"a"],[33029,0,"t"],[33030,0,"h"],[33031,0,"i"],[33032,0,"t"],[33033,0,"{"],[33034,0,"p"],[33035,0,"r"],[33036,0,"e"],[33037,0,"s"],[33038,0,"}"],[33039,0,"_"],[33040,0,"\\"],[33041,0,"m"],[33042,0,"a"],[33043,0,"t"],[33044,0,"h"],[33045,0,"i"],[33046,0,"t"],[33047,0,"{"],[33048,0,"e"],[33049,0,"l"],[33050,0,"e"],[33051,0,"m"],[33052,0,"}"],[33053,0,"$"],[33054,0,"}"],[33095,0,"_"],[33096,0,"\\"],[33097,0,"m"],[33098,0,"a"],[33099,0,"t"],[33100,0,"h"],[33101,0,"i"],[33102,0,"t"],[33103,0,"{"],[33104,0,"c"],[33105,0,"h"],[33106,0,"i"],[33107,0,"l"],[33108,0,"d"],[33109,0,"}"],[33120,0,"\\"],[33121,0,"m"],[33122,0,"a"],[33123,0,"t"],[33124,0,"h"],[33125,0,"i"],[33126,0,"t"],[33127,0,"{"],[33128,0,"p"],[33129,0,"r"],[33130,0,"e"],[33131,0,"s"],[33132,0,"}"],[33133,0,"_"],[33134,0,"\\"],[33135,0,"m"],[33136,0,"a"],[33137,0,"t"],[33138,0,"h"],[33139,0,"i"],[33140,0,"t"],[33141,0,"{"],[33142,0,"e"],[33143,0,"l"],[33144,0,"e"],[33145,0,"m"],[33146,0,"}"],[33149,0,"\n"],[33150,0,"\\"],[33151,0,"L"],[33152,0,"e"],[33153,0,"f"],[33154,0,"t"],[33155,0,"L"],[33156,0,"a"],[33157,0,"b"],[33158,0,"e"],[33159,0,"l"],[33160,0,"{"],[33161,0,"\\"],[33162,0,"t"],[33163,0,"e"],[33164,0,"x"],[33165,0,"t"],[33166,0,"s"],[33167,0,"c"],[33168,0,"{"],[33169,0,"C"],[33170,0,"l"],[33171,0,"e"],[33172,0,"a"],[33173,0,"r"],[33174,0,"_"],[33174,1],[33174,0,"-"],[33175,0,"E"],[33176,0,"l"],[33177,0,"e"],[33178,0,"m"],[33179,0,"}"],[33180,0,"}"],[33181,0,"\n"],[33182,0,"\\"],[33183,0,"T"],[33184,0,"r"],[33185,0,"i"],[33186,0,"n"],[33187,0,"a"],[33188,0,"r"],[33189,0,"y"],[33190,0,"I"],[33191,0,"n"],[33192,0,"f"],[33193,0,"C"],[33194,0,"{"],[33195,0,"$"],[33196,0,"\\"],[33197,0,"m"],[33198,0,"a"],[33199,0,"t"],[33200,0,"h"],[33201,0,"i"],[33202,0,"t"],[33203,0,"{"],[33204,0,"c"],[33205,0,"t"],[33206,0,"x"],[33207,0,"}"],[33208,0,","],[33209,0,"\\"],[33210,0,","],[33211,0," "],[33212,0,"\\"],[33213,0,"m"],[33214,0,"a"],[33215,0,"t"],[33216,0,"h"],[33217,0,"s"],[33218,0,"f"],[33219,0,"{"],[33220,0,"c"],[33221,0,"l"],[33222,0,"e"],[33223,0,"a"],[33224,0,"r"],[33225,0,"E"],[33226,0,"l"],[33227,0,"e"],[33228,0,"m"],[33229,0,"}"],[33230,0,"("],[33231,0,"\\"],[33232,0,"m"],[33233,0,"a"],[33234,0,"t"],[33235,0,"h"],[33236,0,"i"],[33237,0,"t"],[33238,0,"{"],[33239,0,"d"],[33240,0,"e"],[33241,0,"p"],[33242,0,"s"],[33243,0,"}"],[33244,0,","],[33245,0," "],[33246,0,"k"],[33247,0,"}"],[33247,1],[33247,0,")"],[33248,0," "],[33249,0,"\\"],[33250,0,"e"],[33251,0,"v"],[33252,0,"a"],[33253,0,"l"],[33254,0,"t"],[33255,0,"o"],[33256,0," "],[33257,0,"\\"],[33258,0,"m"],[33259,0,"a"],[33260,0,"t"],[33261,0,"h"],[33262,0,"i"],[33263,0,"t"],[33264,0,"{"],[33265,0,"c"],[33266,0,"t"],[33267,0,"x"],[33268,0,"}"],[33269,0,"'"],[33256,0,"\n"],[33257,0," "],[33258,0," "],[33259,0," "],[33274,0," "],[33275,0,"["],[33276,0,"\\"],[33277,0,","],[33278,0," "],[33279,0,"\\"],[33280,0,"m"],[33281,0,"a"],[33282,0,"t"],[33283,0,"h"],[33284,0,"s"],[33285,0,"f"],[33286,0,"{"],[33287,0,"p"],[33288,0,"r"],[33289,0,"e"],[33290,0,"s"],[33291,0,"}"],[33292,0,"("],[33293,0,"k"],[33294,0,")"],[33295,0," "],[33296,0,"\\"],[33297,0,","],[33298,0,"\\"],[33299,0,"m"],[33300,0,"a"],[33301,0,"p"],[33302,0,"s"],[33303,0,"t"],[33304,0,"o"],[33305,0,"\\"],[33306,0,","],[33307,0," "],[33308,0,"\\"],[33309,0,"m"],[33310,0,"a"],[33311,0,"t"],[33312,0,"h"],[33313,0,"i"],[33314,0,"t"],[33315,0,"{"],[33316,0,"p"],[33317,0,"r"],[33318,0,"e"],[33319,0,"s"],[33320,0,"}"],[33321,0,"'"],[33322,0," "],[33323,0,"\\"],[33324,0,","],[33325,0,"]"],[33326,0,","],[33327,0,"\\"],[33328,0,","],[33329,0," "],[33330,0,"\\"],[33331,0,"m"],[33332,0,"a"],[33333,0,"t"],[33334,0,"h"],[33335,0,"i"],[33336,0,"t"],[33337,0,"{"],[33338,0,"p"],[33339,0,"r"],[33340,0,"e"],[33341,0,"s"],[33342,0,"}"],[33343,0,"'"],[33344,0,"$"],[33345,0,"}"],[32958,0,"1"],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[32959,1],[33039,1],[33038,1],[33037,1],[33036,1],[33035,1],[33034,1],[33033,1],[33032,1],[33031,1],[33030,1],[33029,1],[33028,1],[33027,1],[33027,0,"2"],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,1],[33109,0,"2"],[33084,1],[33083,1],[33082,1],[33081,1],[33080,1],[33079,1],[33078,1],[33077,1],[33076,1],[33075,1],[33074,1],[33073,1],[33072,1],[33071,1],[33071,0,"1"],[33053,1],[33053,0,"+"],[33053,1],[33053,0,"_"],[33054,0,"3"],[33272,1],[33272,0,"_"],[33273,0,"3"],[33295,1],[33295,0,"_"],[33296,0,"3"],[33315,0,"\n"],[33316,0,"\n"],[33317,0,"\\"],[33318,0,"b"],[33319,0,"e"],[33320,0,"g"],[33321,0,"i"],[33322,0,"n"],[33323,0,"{"],[33324,0,"p"],[33325,0,"r"],[33326,0,"o"],[33327,0,"o"],[33328,0,"f"],[33329,0,"t"],[33330,0,"r"],[33331,0,"e"],[33332,0,"e"],[33333,0,"}"],[33334,0,"\n"],[33335,0,"\\"],[33336,0,"e"],[33337,0,"n"],[33338,0,"d"],[33339,0,"{"],[33340,0,"p"],[33341,0,"r"],[33342,0,"o"],[33343,0,"o"],[33344,0,"f"],[33345,0,"t"],[33346,0,"r"],[33347,0,"e"],[33348,0,"e"],[33349,0,"}"],[33334,0,"\n"],[33335,0,"\\"],[33336,0,"A"],[33337,0,"x"],[33338,0,"i"],[33339,0,"o"],[33340,0,"m"],[33341,0,"C"],[33342,0,"{"],[33343,0,"$"],[33344,0,"\\"],[33345,0,"b"],[33346,0,"e"],[33347,0,"g"],[33348,0,"i"],[33349,0,"n"],[33350,0,"{"],[33351,0,"m"],[33352,0,"a"],[33353,0,"t"],[33354,0,"r"],[33355,0,"i"],[33356,0,"x"],[33357,0,"}"],[33358,0,"\n"],[33359,0," "],[33360,0," "],[33361,0," "],[33362,0," "],[33363,0,"\\"],[33364,0,"m"],[33365,0,"a"],[33366,0,"t"],[33367,0,"h"],[33368,0,"i"],[33369,0,"t"],[33370,0,"{"],[33371,0,"c"],[33372,0,"t"],[33373,0,"x"],[33374,0,"}"],[33375,0,","],[33376,0,"\\"],[33377,0,","],[33378,0," "],[33379,0,"\\"],[33380,0,"m"],[33381,0,"a"],[33382,0,"t"],[33383,0,"h"],[33384,0,"s"],[33385,0,"f"],[33386,0,"{"],[33387,0,"c"],[33388,0,"l"],[33389,0,"e"],[33390,0,"a"],[33391,0,"r"],[33392,0,"}"],[33393,0,"("],[33394,0,"\\"],[33395,0,"m"],[33396,0,"a"],[33397,0,"t"],[33398,0,"h"],[33399,0,"i"],[33400,0,"t"],[33401,0,"{"],[33402,0,"d"],[33403,0,"e"],[33404,0,"p"],[33405,0,"s"],[33406,0,"}"],[33407,0,","],[33408,0," "],[33409,0,"\\"],[33410,0,"m"],[33411,0,"a"],[33412,0,"t"],[33413,0,"h"],[33414,0,"s"],[33415,0,"f"],[33416,0,"{"],[33417,0,"m"],[33418,0,"a"],[33419,0,"p"],[33420,0,"T"],[33421,0,"}"],[33422,0,"("],[33423,0,"k"],[33424,0,")"],[33425,0,")"],[33426,0," "],[33427,0,"\\"],[33428,0,"\\"],[33429,0,"\n"],[33430,0," "],[33431,0," "],[33432,0," "],[33433,0," "],[33434,0,"\\"],[33435,0,"e"],[33436,0,"v"],[33437,0,"a"],[33438,0,"l"],[33439,0,"t"],[33440,0,"o"],[33441,0," "],[33442,0,"\\"],[33443,0,"m"],[33444,0,"a"],[33445,0,"t"],[33446,0,"h"],[33447,0,"i"],[33448,0,"t"],[33449,0,"{"],[33450,0,"c"],[33451,0,"t"],[33452,0,"x"],[33453,0,"_"],[33453,1],[33453,0,"}"],[33454,0,"_"],[33455,0,"1"],[33456,0,","],[33457,0,"\\"],[33458,0,","],[33459,0," "],[33460,0,"\\"],[33461,0,"m"],[33462,0,"a"],[33463,0,"t"],[33464,0,"h"],[33465,0,"i"],[33466,0,"t"],[33467,0,"{"],[33468,0,"p"],[33469,0,"r"],[33470,0,"e"],[33471,0,"s"],[33472,0,"}"],[33473,0,"_"],[33474,0,"1"],[33475,0," "],[33476,0,"\\"],[33477,0,"e"],[33478,0,"n"],[33479,0,"d"],[33480,0,"{"],[33481,0,"m"],[33482,0,"a"],[33483,0,"t"],[33484,0,"r"],[33485,0,"i"],[33486,0,"x"],[33487,0,"}"],[33488,0,"$"],[33489,0,"}"],[33490,0,"\n"],[33491,0,"\\"],[33492,0,"A"],[33493,0,"x"],[33494,0,"i"],[33495,0,"o"],[33496,0,"m"],[33497,0,"C"],[33498,0,"{"],[33499,0,"$"],[33500,0,"\\"],[33501,0,"b"],[33502,0,"e"],[33503,0,"g"],[33504,0,"i"],[33505,0,"n"],[33506,0,"{"],[33507,0,"m"],[33508,0,"a"],[33509,0,"t"],[33510,0,"r"],[33511,0,"i"],[33512,0,"x"],[33513,0,"}"],[33514,0,"\n"],[33515,0," "],[33516,0," "],[33517,0," "],[33518,0," "],[33519,0,"\\"],[33520,0,"m"],[33521,0,"a"],[33522,0,"t"],[33523,0,"h"],[33524,0,"i"],[33525,0,"t"],[33526,0,"{"],[33527,0,"c"],[33528,0,"t"],[33529,0,"x"],[33530,0,"}"],[33531,0,"_"],[33532,0,"1"],[33533,0,","],[33534,0,"\\"],[33535,0,","],[33536,0," "],[33537,0,"\\"],[33538,0,"m"],[33539,0,"a"],[33540,0,"t"],[33541,0,"h"],[33542,0,"s"],[33543,0,"f"],[33544,0,"{"],[33545,0,"c"],[33546,0,"l"],[33547,0,"e"],[33548,0,"a"],[33549,0,"r"],[33550,0,"}"],[33551,0,"("],[33552,0,"\\"],[33553,0,"m"],[33554,0,"a"],[33555,0,"t"],[33556,0,"h"],[33557,0,"i"],[33558,0,"t"],[33559,0,"{"],[33560,0,"d"],[33561,0,"e"],[33562,0,"p"],[33563,0,"s"],[33564,0,"}"],[33565,0,","],[33566,0," "],[33567,0,"\\"],[33568,0,"m"],[33569,0,"a"],[33570,0,"t"],[33571,0,"h"],[33572,0,"s"],[33573,0,"f"],[33574,0,"{"],[33575,0,"l"],[33576,0,"i"],[33577,0,"s"],[33578,0,"t"],[33579,0,"T"],[33580,0,"}"],[33581,0,"("],[33582,0,"k"],[33583,0,")"],[33584,0,")"],[33585,0," "],[33586,0,"\\"],[33587,0,"\\"],[33588,0,"\n"],[33589,0," "],[33590,0," "],[33591,0," "],[33592,0," "],[33593,0,"\\"],[33594,0,"e"],[33595,0,"v"],[33596,0,"a"],[33597,0,"l"],[33598,0,"t"],[33599,0,"o"],[33600,0," "],[33601,0,"\\"],[33602,0,"m"],[33603,0,"a"],[33604,0,"t"],[33605,0,"h"],[33606,0,"i"],[33607,0,"t"],[33608,0,"{"],[33609,0,"c"],[33610,0,"t"],[33611,0,"x"],[33612,0,"_"],[33612,1],[33612,0,"}"],[33613,0,"_"],[33614,0,"2"],[33615,0,","],[33616,0,"\\"],[33617,0,","],[33618,0," "],[33619,0,"\\"],[33620,0,"m"],[33621,0,"a"],[33622,0,"t"],[33623,0,"h"],[33624,0,"i"],[33625,0,"t"],[33626,0,"{"],[33627,0,"p"],[33628,0,"r"],[33629,0,"e"],[33630,0,"s"],[33631,0,"}"],[33632,0,"_"],[33633,0,"2"],[33634,0," "],[33635,0,"\\"],[33636,0,"e"],[33637,0,"n"],[33638,0,"d"],[33639,0,"{"],[33640,0,"m"],[33641,0,"a"],[33642,0,"t"],[33643,0,"r"],[33644,0,"i"],[33645,0,"x"],[33646,0,"}"],[33647,0,"$"],[33648,0,"}"],[33649,0,"\n"],[33650,0,"\\"],[33651,0,"A"],[33652,0,"x"],[33653,0,"i"],[33654,0,"o"],[33655,0,"m"],[33656,0,"C"],[33657,0,"{"],[33658,0,"$"],[33659,0,"\\"],[33660,0,"b"],[33661,0,"e"],[33662,0,"g"],[33663,0,"i"],[33664,0,"n"],[33665,0,"{"],[33666,0,"m"],[33667,0,"a"],[33668,0,"t"],[33669,0,"r"],[33670,0,"i"],[33671,0,"x"],[33672,0,"}"],[33673,0,"\n"],[33674,0," "],[33675,0," "],[33676,0," "],[33677,0," "],[33678,0,"\\"],[33679,0,"m"],[33680,0,"a"],[33681,0,"t"],[33682,0,"h"],[33683,0,"i"],[33684,0,"t"],[33685,0,"{"],[33686,0,"c"],[33687,0,"t"],[33688,0,"x"],[33689,0,"}"],[33690,0,"_"],[33691,0,"2"],[33692,0,","],[33693,0,"\\"],[33694,0,","],[33695,0," "],[33696,0,"\\"],[33697,0,"m"],[33698,0,"a"],[33699,0,"t"],[33700,0,"h"],[33701,0,"s"],[33702,0,"f"],[33703,0,"{"],[33704,0,"c"],[33705,0,"l"],[33706,0,"e"],[33707,0,"a"],[33708,0,"r"],[33709,0,"}"],[33710,0,"("],[33711,0,"\\"],[33712,0,"m"],[33713,0,"a"],[33714,0,"t"],[33715,0,"h"],[33716,0,"i"],[33717,0,"t"],[33718,0,"{"],[33719,0,"d"],[33720,0,"e"],[33721,0,"p"],[33722,0,"s"],[33723,0,"}"],[33724,0,","],[33725,0," "],[33726,0,"\\"],[33727,0,"m"],[33728,0,"a"],[33729,0,"t"],[33730,0,"h"],[33731,0,"s"],[33732,0,"f"],[33733,0,"{"],[33734,0,"r"],[33735,0,"e"],[33736,0,"g"],[33737,0,"T"],[33738,0,"}"],[33739,0,"("],[33740,0,"k"],[33741,0,")"],[33742,0,")"],[33743,0," "],[33744,0,"\\"],[33745,0,"\\"],[33746,0,"\n"],[33747,0," "],[33748,0," "],[33749,0," "],[33750,0," "],[33751,0,"\\"],[33752,0,"e"],[33753,0,"v"],[33754,0,"a"],[33755,0,"l"],[33756,0,"t"],[33757,0,"o"],[33758,0," "],[33759,0,"\\"],[33760,0,"m"],[33761,0,"a"],[33762,0,"t"],[33763,0,"h"],[33764,0,"i"],[33765,0,"t"],[33766,0,"{"],[33767,0,"c"],[33768,0,"t"],[33769,0,"x"],[33770,0,"}"],[33771,0,"_"],[33772,0,"3"],[33773,0,","],[33774,0,"\\"],[33775,0,","],[33776,0," "],[33777,0,"\\"],[33778,0,"m"],[33779,0,"a"],[33780,0,"t"],[33781,0,"h"],[33782,0,"i"],[33783,0,"t"],[33784,0,"{"],[33785,0,"p"],[33786,0,"r"],[33787,0,"e"],[33788,0,"s"],[33789,0,"}"],[33790,0,"_"],[33791,0,"3"],[33792,0,"}"],[33793,0," "],[33793,1],[33792,1],[33792,0," "],[33793,0,"\\"],[33794,0,"e"],[33795,0,"n"],[33796,0,"d"],[33797,0,"{"],[33798,0,"m"],[33799,0,"a"],[33800,0,"t"],[33801,0,"r"],[33802,0,"i"],[33803,0,"x"],[33804,0,"}"],[33805,0,"$"],[33806,0,"}"],[33807,0,"\n"],[33808,0,"\\"],[33809,0,"L"],[33810,0,"e"],[33811,0,"f"],[33812,0,"t"],[33813,0,"L"],[33814,0,"a"],[33815,0,"b"],[33816,0,"e"],[33817,0,"l"],[33818,0,"{"],[33819,0,"\\"],[33820,0,"t"],[33821,0,"e"],[33822,0,"x"],[33823,0,"t"],[33824,0,"s"],[33825,0,"c"],[33826,0,"{"],[33827,0,"C"],[33828,0,"l"],[33829,0,"e"],[33830,0,"a"],[33831,0,"r"],[33832,0,"-"],[33833,0,"A"],[33834,0,"n"],[33835,0,"y"],[33836,0,"}"],[33837,0,"}"],[33838,0,"\n"],[33839,0,"\\"],[33840,0,"T"],[33841,0,"r"],[33842,0,"i"],[33843,0,"n"],[33844,0,"a"],[33845,0,"r"],[33846,0,"y"],[33847,0,"I"],[33848,0,"n"],[33849,0,"f"],[33850,0,"C"],[33851,0,"{"],[33852,0,"$"],[33853,0,"\\"],[33854,0,"m"],[33855,0,"a"],[33856,0,"t"],[33857,0,"h"],[33858,0,"i"],[33859,0,"t"],[33860,0,"{"],[33861,0,"c"],[33862,0,"t"],[33863,0,"x"],[33864,0,"}"],[33865,0,","],[33866,0,"\\"],[33867,0,","],[33868,0," "],[33869,0,"\\"],[33870,0,"m"],[33871,0,"a"],[33872,0,"t"],[33873,0,"h"],[33874,0,"s"],[33875,0,"f"],[33876,0,"{"],[33877,0,"c"],[33878,0,"l"],[33879,0,"e"],[33880,0,"a"],[33881,0,"r"],[33882,0,"E"],[33883,0,"l"],[33884,0,"e"],[33885,0,"m"],[33885,1],[33884,1],[33883,1],[33882,1],[33882,0,"A"],[33883,0,"n"],[33884,0,"y"],[33885,0,"}"],[33886,0,"("],[33887,0,"\\"],[33888,0,"m"],[33889,0,"a"],[33890,0,"t"],[33891,0,"h"],[33892,0,"i"],[33893,0,"t"],[33894,0,"{"],[33895,0,"d"],[33896,0,"e"],[33897,0,"p"],[33898,0,"s"],[33899,0,"}"],[33900,0,","],[33901,0," "],[33902,0,"k"],[33903,0,")"],[33904,0," "],[33905,0,"\\"],[33906,0,"e"],[33907,0,"v"],[33908,0,"a"],[33909,0,"l"],[33910,0,"t"],[33911,0,"o"],[33912,0,"\n"],[33913,0," "],[33914,0," "],[33915,0," "],[33916,0," "],[33917,0,"\\"],[33918,0,"m"],[33919,0,"a"],[33920,0,"t"],[33921,0,"h"],[33922,0,"i"],[33923,0,"t"],[33924,0,"{"],[33925,0,"c"],[33926,0,"t"],[33927,0,"x"],[33928,0,"}"],[33929,0,"-"],[33929,1],[33929,0,"_"],[33930,0,"3"],[33931,0,","],[33932,0,"\\"],[33933,0,","],[33934,0," "],[33935,0,"\\"],[33936,0,"m"],[33937,0,"a"],[33938,0,"t"],[33939,0,"h"],[33940,0,"t"],[33940,1],[33940,0,"i"],[33941,0,"t"],[33942,0,"{"],[33943,0,"p"],[33944,0,"r"],[33945,0,"e"],[33946,0,"s"],[33947,0,"}"],[33948,0,"_"],[33949,0,"1"],[33950,0," "],[33951,0,"\\"],[33952,0,","],[33953,0,"\\"],[33954,0,"c"],[33955,0,"u"],[33956,0,"p"],[33957,0,"\\"],[33958,0,","],[33959,0," "],[33960,0,"\\"],[33961,0,"m"],[33962,0,"a"],[33963,0,"t"],[33964,0,"h"],[33965,0,"i"],[33966,0,"t"],[33967,0,"{"],[33968,0,"p"],[33969,0,"r"],[33970,0,"e"],[33971,0,"s"],[33972,0,"}"],[33973,0,"_"],[33974,0,"2"],[33975,0," "],[33976,0,"\\"],[33977,0,"c"],[33978,0,"\\"],[33978,1],[33977,1],[33977,0,","],[33978,0,"\\"],[33979,0,"c"],[33980,0,"u"],[33981,0,"p"],[33982,0,"\\"],[33983,0,","],[33984,0," "],[33985,0,"\\"],[33986,0,"m"],[33987,0,"a"],[33988,0,"t"],[33989,0,"h"],[33990,0,"i"],[33991,0,"t"],[33992,0,"{"],[33993,0,"p"],[33994,0,"r"],[33995,0,"e"],[33996,0,"s"],[33997,0,"}"],[33998,0,"_"],[33999,0,"3"],[34000,0," "],[34000,1],[34000,0,"$"],[34001,0,"}"],[34018,0,"\n"],[34019,0,"\n"],[34020,0,"\\"],[34021,0,"b"],[34022,0,"e"],[34023,0,"g"],[34024,0,"i"],[34025,0,"n"],[34026,0,"{"],[34027,0,"p"],[34028,0,"r"],[34029,0,"o"],[34030,0,"o"],[34031,0,"f"],[34032,0,"t"],[34033,0,"r"],[34034,0,"e"],[34035,0,"e"],[34036,0,"}"],[34037,0,"\n"],[34038,0,"\\"],[34039,0,"e"],[34040,0,"n"],[34041,0,"d"],[34042,0,"{"],[34043,0,"p"],[34044,0,"r"],[34045,0,"o"],[34046,0,"o"],[34047,0,"f"],[34048,0,"t"],[34049,0,"r"],[34050,0,"e"],[34051,0,"e"],[34052,0,"}"],[34037,0,"\n"],[34038,0,"\\"],[34039,0,"A"],[34040,0,"x"],[34041,0,"i"],[34042,0,"o"],[34043,0,"m"],[34044,0,"C"],[34045,0,"{"],[34046,0,"$"],[34047,0,"k"],[34048,0," "],[34049,0,"\\"],[34050,0,"n"],[34051,0,"o"],[34052,0,"t"],[34053,0,"i"],[34054,0,"n"],[34055,0," "],[34056,0,"\\"],[34057,0,"m"],[34058,0,"a"],[34059,0,"t"],[34060,0,"h"],[34061,0,"r"],[34062,0,"m"],[34063,0,"{"],[34064,0,"d"],[34065,0,"o"],[34066,0,"m"],[34067,0,"}"],[34068,0,"("],[34069,0,"\\"],[34070,0,"m"],[34071,0,"a"],[34072,0,"t"],[34073,0,"h"],[34074,0,"i"],[34075,0,"t"],[34076,0,"{"],[34077,0,"c"],[34078,0,"t"],[34079,0,"x"],[34080,0,"}"],[34081,0,")"],[34082,0,"$"],[34083,0,"}"],[34084,0,"\n"],[34085,0,"\\"],[34086,0,"L"],[34087,0,"e"],[34088,0,"f"],[34089,0,"t"],[34090,0,"L"],[34091,0,"a"],[34092,0,"b"],[34093,0,"e"],[34094,0,"l"],[34095,0,"{"],[34096,0,"\\"],[34097,0,"t"],[34098,0,"e"],[34099,0,"x"],[34100,0,"t"],[34101,0,"s"],[34102,0,"c"],[34103,0,"{"],[34104,0,"C"],[34105,0,"l"],[34106,0,"e"],[34107,0,"a"],[34108,0,"r"],[34109,0,"-"],[34110,0,"N"],[34111,0,"o"],[34112,0,"n"],[34113,0,"e"],[34114,0,"}"],[34115,0,"}"],[34116,0,"\n"],[34117,0,"\\"],[34118,0,"U"],[34119,0,"n"],[34120,0,"a"],[34121,0,"r"],[34122,0,"y"],[34123,0,"I"],[34124,0,"n"],[34125,0,"f"],[34126,0,"C"],[34127,0,"{"],[34128,0,"$"],[34129,0,"\\"],[34130,0,"m"],[34131,0,"a"],[34132,0,"t"],[34133,0,"h"],[34134,0,"i"],[34135,0,"t"],[34136,0,"{"],[34137,0,"c"],[34138,0,"t"],[34139,0,"x"],[34140,0,"}"],[34141,0,","],[34142,0,"\\"],[34143,0,","],[34144,0," "],[34145,0,"\\"],[34146,0,"m"],[34147,0,"a"],[34148,0,"t"],[34149,0,"h"],[34150,0,"s"],[34151,0,"f"],[34152,0,"{"],[34153,0,"c"],[34154,0,"l"],[34155,0,"e"],[34156,0,"a"],[34157,0,"r"],[34158,0,"}"],[34159,0,"("],[34160,0,"\\"],[34161,0,"m"],[34162,0,"a"],[34163,0,"t"],[34164,0,"h"],[34165,0,"i"],[34166,0,"t"],[34167,0,"{"],[34168,0,"d"],[34169,0,"e"],[34170,0,"p"],[34171,0,"s"],[34172,0,"}"],[34173,0,","],[34174,0," "],[34175,0,"k"],[34176,0,")"],[34177,0," "],[34178,0,"\\"],[34179,0,"e"],[34180,0,"v"],[34181,0,"a"],[34182,0,"l"],[34183,0,"t"],[34184,0,"o"],[34185,0," "],[34186,0,"\\"],[34187,0,"m"],[34188,0,"a"],[34189,0,"t"],[34190,0,"h"],[34191,0,"i"],[34192,0,"o"],[34193,0,"t"],[34193,1],[34192,1],[34192,0,"t"],[34193,0,"{"],[34194,0,"c"],[34195,0,"t"],[34196,0,"x"],[34197,0,"}"],[34198,0,","],[34199,0,"\\"],[34200,0,","],[34201,0," "],[34202,0,"\\"],[34203,0,"{"],[34204,0,"\\"],[34205,0,"}"],[34206,0,"$"],[34207,0,"}"],[34559,1],[34558,1],[34558,0,"c"],[34559,0,"l"],[34560,0,"e"],[34561,0,"a"],[34562,0,"r"],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34565,1],[34579,0," "],[34580,0,"\\"],[34581,0,"m"],[34582,0,"a"],[34583,0,"t"],[34584,0,"h"],[34585,0,"s"],[34586,0,"f"],[34587,0,"{"],[34588,0,"r"],[34589,0,"e"],[34590,0,"g"],[34591,0,"T"],[34592,0,"}"],[34593,0,"("],[34594,0,"k"],[34595,0,")"],[34596,0,")"],[34597,0," "],[34598,0,"\\"],[34599,0,"e"],[34600,0,"v"],[34601,0,"a"],[34602,0,"l"],[34603,0,"t"],[34604,0,"o"],[34673,1],[34672,1],[34671,1],[34670,1],[34669,1],[34668,1],[34667,1],[34666,1],[34665,1],[34664,1],[34663,1],[34662,1],[34661,1],[34660,1],[34659,1],[34658,1],[34657,1],[34656,1],[34655,1],[34654,1],[34653,1],[34652,1],[34651,1],[34650,1],[34649,1],[34648,1],[34647,1],[34646,1],[34645,1],[34644,1],[34643,1],[34642,1],[34641,1],[34640,1],[34639,1],[34638,1],[34637,1],[34636,1],[34635,1],[34634,1],[34633,1],[34632,1],[34631,1],[34630,1],[34629,1],[34628,1],[34627,1],[34626,1],[34625,1],[34624,1],[34623,1],[34622,1],[34621,1],[34620,1],[34619,1],[34618,1],[34617,1],[34616,1],[34615,1],[34614,1],[34613,1],[34612,1],[34611,1],[34610,1],[34609,1],[34608,1],[34607,1],[34606,1],[34605,1],[34678,0,","],[34679,0,"\\"],[34680,0,","],[34681,0," "],[34682,0,"\\"],[34683,0,"m"],[34684,0,"a"],[34685,0,"t"],[34686,0,"h"],[34687,0,"i"],[34688,0,"t"],[34689,0,"{"],[34689,1],[34688,1],[34687,1],[34687,0,"r"],[34688,0,"m"],[34689,0,"{"],[34690,0,"d"],[34691,0,"o"],[34692,0,"m"],[34693,0,"}"],[34694,0,"("],[34695,0,"\\"],[34696,0,"m"],[34697,0,"a"],[34698,0,"t"],[34699,0,"h"],[34700,0,"i"],[34701,0,"t"],[34702,0,"{"],[34703,0,"c"],[34704,0,"o"],[34705,0,"n"],[34706,0,"c"],[34707,0,"u"],[34708,0,"r"],[34709,0,"r"],[34710,0,"e"],[34711,0,"n"],[34712,0,"t"],[34713,0,"}"],[34714,0,")"],[34360,1],[34360,1],[34349,1],[34348,1],[34393,1],[34392,1],[34381,1],[34380,1],[34453,1],[34453,1],[34723,0,"\n"],[34724,0,"\n"],[34725,0,"\\"],[34726,0,"b"],[34727,0,"e"],[34728,0,"g"],[34729,0,"i"],[34730,0,"n"],[34731,0,"{"],[34732,0,"p"],[34733,0,"r"],[34734,0,"o"],[34735,0,"o"],[34736,0,"f"],[34737,0,"t"],[34738,0,"r"],[34739,0,"e"],[34740,0,"e"],[34741,0,"}"],[34742,0,"\n"],[34743,0,"\\"],[34744,0,"e"],[34745,0,"n"],[34746,0,"d"],[34747,0,"{"],[34748,0,"p"],[34749,0,"r"],[34750,0,"o"],[34751,0,"o"],[34752,0,"f"],[34753,0,"t"],[34754,0,"r"],[34755,0,"e"],[34756,0,"e"],[34757,0,"}"],[34742,0,"\n"],[34743,0,"\\"],[34744,0,"A"],[34745,0,"x"],[34746,0,"i"],[34747,0,"o"],[34748,0,"m"],[34749,0,"C"],[34750,0,"{"],[34751,0,"$"],[34752,0,"\\"],[34753,0,"m"],[34754,0,"a"],[34755,0,"t"],[34756,0,"h"],[34757,0,"s"],[34758,0,"f"],[34759,0,"{"],[34760,0,"m"],[34761,0,"a"],[34762,0,"p"],[34763,0,"T"],[34764,0,"}"],[34765,0,"("],[34766,0,"k"],[34767,0,")"],[34768,0," "],[34769,0,"\\"],[34770,0,"i"],[34771,0,"n"],[34772,0," "],[34773,0,"\\"],[34774,0,"m"],[34775,0,"a"],[34776,0,"t"],[34777,0,"h"],[34778,0,"r"],[34779,0,"m"],[34780,0,"{"],[34781,0,"d"],[34782,0,"o"],[34783,0,"m"],[34784,0,"}"],[34785,0,"("],[34786,0,"\\"],[34787,0,"m"],[34788,0,"a"],[34789,0,"t"],[34790,0,"h"],[34791,0,"i"],[34792,0,"t"],[34793,0,"{"],[34794,0,"c"],[34795,0,"t"],[34796,0,"x"],[34797,0,"}"],[34798,0,")"],[34799,0,"$"],[34800,0,"}"],[34801,0,"\n"],[34802,0,"\\"],[34803,0,"L"],[34804,0,"e"],[34805,0,"f"],[34806,0,"t"],[34807,0,"L"],[34808,0,"a"],[34809,0,"b"],[34810,0,"e"],[34811,0,"l"],[34812,0,"{"],[34813,0,"\\"],[34814,0,"t"],[34815,0,"e"],[34816,0,"x"],[34817,0,"t"],[34818,0,"s"],[34819,0,"c"],[34820,0,"{"],[34821,0,"C"],[34822,0,"l"],[34823,0,"e"],[34824,0,"a"],[34825,0,"r"],[34826,0,"-"],[34827,0,"M"],[34828,0,"a"],[34829,0,"p"],[34830,0,"}"],[34831,0,"}"],[34832,0,"\n"],[34833,0,"\\"],[34813,0,"$"],[34832,0,"_"],[34833,0,"1"],[34834,0,"$"],[34837,1],[34836,1],[34801,0,"\n"],[34802,0,"\\"],[34803,0,"A"],[34804,0,"x"],[34805,0,"i"],[34806,0,"o"],[34807,0,"m"],[34808,0,"C"],[34809,0,"{"],[34810,0,"$"],[34811,0,"\\"],[34812,0,"m"],[34813,0,"a"],[34814,0,"t"],[34815,0,"h"],[34816,0,"i"],[34817,0,"t"],[34818,0,"{"],[34819,0,"c"],[34820,0,"t"],[34821,0,"x"],[34822,0,"}"],[34823,0,","],[34824,0,"\\"],[34824,1],[34823,1],[34823,0,"("],[34824,0,"\\"],[34825,0,"m"],[34826,0,"a"],[34827,0,"t"],[34828,0,"h"],[34829,0,"s"],[34830,0,"f"],[34831,0,"{"],[34832,0,"m"],[34833,0,"a"],[34834,0,"p"],[34835,0,"T"],[34836,0,"}"],[34837,0,"("],[34838,0,"k"],[34839,0,")"],[34840,0,")"],[34841,0,"\\"],[34841,1],[34841,0,","],[34842,0,"\\"],[34843,0,","],[34844,0," "],[34845,0,"\\"],[34846,0,"m"],[34847,0,"a"],[34848,0,"t"],[34849,0,"h"],[34850,0,"s"],[34851,0,"f"],[34852,0,"{"],[34853,0,"c"],[34854,0,"l"],[34855,0,"e"],[34856,0,"a"],[34857,0,"r"],[34858,0,"M"],[34859,0,"a"],[34860,0,"p"],[34861,0,"}"],[34862,0,"("],[34863,0,"\\"],[34864,0,"m"],[34865,0,"a"],[34866,0,"t"],[34867,0,"h"],[34868,0,"i"],[34869,0,"t"],[34870,0,"{"],[34871,0,"d"],[34872,0,"e"],[34873,0,"p"],[34874,0,"s"],[34875,0,"}"],[34876,0,","],[34877,0," "],[34878,0,"\\"],[34879,0,"{"],[34880,0,"\\"],[34881,0,"}"],[34882,0,")"],[34883,0," "],[34884,0,"\\"],[34885,0,"e"],[34886,0,"v"],[34887,0,"a"],[34888,0,"l"],[34889,0,"t"],[34890,0,"o"],[34891,0," "],[34892,0,"\\"],[34893,0,"m"],[34894,0,"a"],[34895,0,"t"],[34896,0,"h"],[34891,0,"\n"],[34892,0," "],[34893,0," "],[34894,0," "],[34901,0,"i"],[34902,0,"t"],[34903,0,"{"],[34904,0,"c"],[34905,0,"l"],[34906,0,"e"],[34907,0,"a"],[34908,0,"r"],[34909,0,"e"],[34910,0,"d"],[34911,0,"}"],[34912,0,","],[34913,0,"\\"],[34914,0,","],[34915,0," "],[34916,0,"\\"],[34917,0,"m"],[34918,0,"a"],[34919,0,"t"],[34920,0,"h"],[34921,0,"i"],[34922,0,"t"],[34923,0,"{"],[34924,0,"p"],[34925,0,"r"],[34926,0,"e"],[34927,0,"s"],[34928,0,"}"],[34929,0,"$"],[34930,0,"}"],[34931,0,"\n"],[34932,0,"\\"],[34933,0,"L"],[34934,0,"e"],[34935,0,"f"],[34936,0,"t"],[34936,1],[34935,1],[34934,1],[34933,1],[34932,1],[34931,1],[34966,0,"\n"],[34967,0,"\\"],[34968,0,"B"],[34969,0,"i"],[34970,0,"n"],[34971,0,"a"],[34972,0,"r"],[34973,0,"y"],[34974,0,"I"],[34975,0,"n"],[34976,0,"f"],[34977,0,"C"],[34978,0,"{"],[34979,0,"$"],[34980,0,"\\"],[34981,0,"m"],[34982,0,"a"],[34983,0,"t"],[34984,0,"h"],[34985,0,"i"],[34986,0,"t"],[34987,0,"{"],[34988,0,"c"],[34989,0,"t"],[34990,0,"x"],[34991,0,"}"],[34992,0,","],[34993,0,"\\"],[34994,0,","],[34995,0," "],[34996,0,"\\"],[34997,0,"m"],[34998,0,"a"],[34999,0,"t"],[35000,0,"h"],[35001,0,"s"],[35002,0,"f"],[35003,0,"{"],[35004,0,"c"],[35005,0,"l"],[35006,0,"e"],[35007,0,"a"],[35008,0,"r"],[35009,0,"("],[35009,1],[35009,0,"}"],[35010,0,"("],[35011,0,"\\"],[35012,0,"m"],[35013,0,"a"],[35014,0,"t"],[35015,0,"h"],[35016,0,"i"],[35017,0,"t"],[35018,0,"{"],[35019,0,"d"],[35020,0,"e"],[35021,0,"p"],[35022,0,"s"],[35023,0,"}"],[35024,0,","],[35025,0," "],[35026,0,"\\"],[35027,0,"m"],[35028,0,"a"],[35029,0,"t"],[35030,0,"h"],[35031,0,"s"],[35032,0,"f"],[35033,0,"{"],[35034,0,"m"],[35035,0,"a"],[35036,0,"p"],[35037,0,"T"],[35038,0,"}"],[35039,0,"("],[35040,0,"k"],[35041,0,")"],[35042,0,")"],[35043,0," "],[35044,0,"\\"],[35045,0,"e"],[35046,0,"v"],[35047,0,"a"],[35048,0,"l"],[35049,0,"t"],[35050,0,"o"],[35051,0,"\n"],[35052,0," "],[35053,0," "],[35054,0," "],[35055,0," "],[35056,0,"\\"],[35057,0,"m"],[35058,0,"a"],[35059,0,"t"],[35060,0,"h"],[35061,0,"i"],[35062,0,"t"],[35063,0,"{"],[35064,0,"c"],[35065,0,"t"],[35066,0,"x"],[35067,0,"}"],[35068,0," "],[35069,0,"["],[35070,0,"\\"],[35071,0,","],[35072,0," "],[35073,0,"\\"],[35074,0,"m"],[35075,0,"a"],[35076,0,"t"],[35077,0,"h"],[35078,0,"s"],[35079,0,"f"],[35080,0,"{"],[35081,0,"m"],[35082,0,"a"],[35083,0,"p"],[35084,0,"T"],[35085,0,"}"],[35086,0,"("],[35087,0,"k"],[35088,0,")"],[35089,0," "],[35090,0,"\\"],[35091,0,","],[35092,0,"\\"],[35093,0,"m"],[35094,0,"a"],[35095,0,"p"],[35096,0,"s"],[35097,0,"t"],[35098,0,"o"],[35099,0,"\\"],[35100,0,","],[35101,0," "],[35102,0,"\\"],[35103,0,"m"],[35104,0,"a"],[35105,0,"t"],[35106,0,"h"],[35107,0,"i"],[35108,0,"t"],[35109,0,"{"],[35110,0,"c"],[35111,0,"l"],[35112,0,"e"],[35113,0,"a"],[35114,0,"r"],[35115,0,"e"],[35116,0,"d"],[35117,0,"}"],[35118,0," "],[35119,0,"\\"],[35120,0,","],[35121,0,"]"],[35122,0,","],[35123,0,"\\"],[35124,0,","],[35125,0," "],[35126,0,"\\"],[35127,0,"m"],[35128,0,"a"],[35129,0,"t"],[35130,0,"h"],[35131,0,"i"],[35132,0,"t"],[35133,0,"{"],[35134,0,"p"],[35135,0,"r"],[35136,0,"e"],[35137,0,"s"],[35138,0,"}"],[35139,0,"$"],[35140,0,"}"],[35157,0,"\n"],[35158,0,"\n"],[35159,0,"\\"],[35160,0,"b"],[35161,0,"e"],[35162,0,"g"],[35163,0,"i"],[35164,0,"n"],[35165,0,"{"],[35166,0,"p"],[35167,0,"r"],[35168,0,"o"],[35169,0,"o"],[35170,0,"f"],[35171,0,"t"],[35172,0,"r"],[35173,0,"e"],[35174,0,"e"],[35175,0,"}"],[35176,0,"\n"],[35177,0,"\\"],[35178,0,"n"],[35179,0,"e"],[35179,1],[35178,1],[35178,0,"e"],[35179,0,"n"],[35180,0,"d"],[35181,0,"{"],[35182,0,"p"],[35183,0,"r"],[35184,0,"o"],[35185,0,"o"],[35186,0,"f"],[35187,0,"t"],[35188,0,"r"],[35189,0,"e"],[35190,0,"e"],[35191,0,"}"],[35176,0,"\n"],[35177,0,"\\"],[35178,0,"A"],[35179,0,"x"],[35180,0,"i"],[35181,0,"o"],[35182,0,"m"],[35183,0,"C"],[35184,0,"{"],[35185,0,"$"],[35186,0,"k"],[35187,0," "],[35188,0,"\\"],[35189,0,"i"],[35190,0,"n"],[35191,0," "],[35192,0,"\\"],[35193,0,"m"],[35194,0,"a"],[35195,0,"t"],[35196,0,"h"],[35197,0,"r"],[35198,0,"m"],[35199,0,"{"],[35200,0,"k"],[35201,0,"e"],[35202,0,"y"],[35203,0,"s"],[35204,0,"}"],[35205,0,"("],[35206,0,"\\"],[35207,0,"m"],[35208,0,"a"],[35209,0,"t"],[35210,0,"h"],[35211,0,"i"],[35212,0,"t"],[35213,0,"{"],[35214,0,"c"],[35215,0,"t"],[35216,0,"x"],[35217,0,"}"],[35218,0,")"],[35219,0," "],[35220,0,"\\"],[35221,0,","],[35222,0,"\\"],[35223,0,"w"],[35224,0,"e"],[35225,0,"d"],[35226,0,"g"],[35227,0,"e"],[35228,0,"\\"],[35229,0,","],[35230,0," "],[35231,0,"k"],[35232,0," "],[35233,0,"\\"],[35234,0,"n"],[35235,0,"o"],[35236,0,"t"],[35237,0,"i"],[35238,0,"n"],[35239,0," "],[35240,0,"\\"],[35241,0,"m"],[35242,0,"a"],[35243,0,"t"],[35244,0,"h"],[35245,0,"i"],[35246,0,"t"],[35247,0,"{"],[35248,0,"d"],[35249,0,"o"],[35250,0,"n"],[35251,0,"e"],[35252,0,"}"],[35253,0,"$"],[35254,0,"}"],[35255,0,"\n"],[35256,0,"\\"],[35257,0,"A"],[35258,0,"x"],[35259,0,"i"],[35260,0,"o"],[35261,0,"m"],[35262,0,"C"],[35263,0,"{"],[35264,0,"$"],[35265,0,"\\"],[35266,0,"m"],[35267,0,"a"],[35268,0,"t"],[35269,0,"h"],[35270,0,"i"],[35271,0,"t"],[35272,0,"{"],[35273,0,"c"],[35274,0,"t"],[35275,0,"x"],[35276,0,"}"],[35277,0,","],[35278,0,"\\"],[35279,0,","],[35280,0," "],[35281,0,"\\"],[35282,0,"m"],[35283,0,"a"],[35284,0,"t"],[35285,0,"h"],[35286,0,"s"],[35287,0,"f"],[35288,0,"{"],[35289,0,"c"],[35290,0,"l"],[35291,0,"e"],[35292,0,"a"],[35293,0,"r"],[35294,0,"E"],[35295,0,"l"],[35296,0,"e"],[35297,0,"m"],[35298,0,"}"],[35299,0,"("],[35300,0,"\\"],[35301,0,"m"],[35302,0,"a"],[35303,0,"t"],[35304,0,"h"],[35305,0,"i"],[35306,0,"t"],[35307,0,"{"],[35308,0,"d"],[35309,0,"e"],[35310,0,"p"],[35311,0,"s"],[35312,0,"}"],[35313,0,","],[35314,0," "],[35315,0,"k"],[35316,0,")"],[35317,0," "],[35318,0,"\\"],[35319,0,"e"],[35320,0,"v"],[35321,0,"a"],[35322,0,"l"],[35323,0,"t"],[35324,0,"o"],[35325,0," "],[35326,0,"\\"],[35327,0,"m"],[35328,0,"a"],[35329,0,"t"],[35330,0,"h"],[35331,0,"i"],[35332,0,"t"],[35333,0,"{"],[35334,0,"c"],[35335,0,"t"],[35336,0,"x"],[35337,0,"}"],[35338,0,"'"],[35339,0,","],[35340,0," "],[35341,0,"\\"],[35342,0,"m"],[35343,0,"a"],[35344,0,"t"],[35345,0,"h"],[35346,0,"i"],[35347,0,"t"],[35348,0,"{"],[35349,0,"p"],[35350,0,"r"],[35351,0,"e"],[35352,0,"s"],[35353,0,"}"],[35354,0,"_"],[35355,0,"1"],[35356,0,"$"],[35357,0,"}"],[35358,0,"\n"],[35359,0,"\\"],[35360,0,"A"],[35361,0,"x"],[35362,0,"i"],[35363,0,"o"],[35364,0,"m"],[35365,0,"C"],[35366,0,"{"],[35367,0,"$"],[35368,0,"\\"],[35369,0,"m"],[35370,0,"a"],[35371,0,"t"],[35372,0,"h"],[35373,0,"i"],[35374,0,"t"],[35375,0,"{"],[35376,0,"c"],[35377,0,"t"],[35378,0,"x"],[35379,0,"}"],[35380,0,"'"],[35381,0,","],[35382,0,"'"],[35383,0,","],[35383,1],[35382,1],[35381,1],[35381,0,","],[35382,0,"\\"],[35383,0,","],[35384,0," "],[35385,0,"\\"],[35386,0,"m"],[35387,0,"a"],[35388,0,"t"],[35389,0,"h"],[35390,0,"s"],[35391,0,"f"],[35392,0,"{"],[35393,0,"c"],[35394,0,"l"],[35395,0,"e"],[35396,0,"a"],[35397,0,"r"],[35398,0,"M"],[35399,0,"a"],[35400,0,"p"],[35401,0,"}"],[35402,0,"{"],[35402,1],[35402,0,"("],[35403,0,"\\"],[35404,0,"m"],[35405,0,"a"],[35406,0,"t"],[35407,0,"h"],[35408,0,"i"],[35409,0,"t"],[35410,0,"{"],[35411,0,"d"],[35412,0,"e"],[35413,0,"p"],[35414,0,"s"],[35415,0,"}"],[35416,0,","],[35417,0," "],[35418,0,"\\"],[35419,0,"m"],[35420,0,"a"],[35421,0,"t"],[35422,0,"h"],[35423,0,"i"],[35424,0,"t"],[35425,0,"{"],[35426,0,"d"],[35427,0,"o"],[35428,0,"n"],[35429,0,"e"],[35430,0,"}"],[35431,0," "],[35432,0,"\\"],[35433,0,"c"],[35434,0,"u"],[35435,0,"p"],[35436,0," "],[35437,0,"\\"],[35438,0,"{"],[35439,0,"k"],[35440,0,"\\"],[35441,0,"}"],[35442,0,")"],[35443,0,"\n"],[35444,0," "],[35445,0," "],[35446,0," "],[35447,0," "],[35448,0,"\\"],[35449,0,"e"],[35450,0,"v"],[35451,0,"a"],[35452,0,"l"],[35453,0,"t"],[35454,0,"o"],[35455,0," "],[35456,0,"\\"],[35457,0,"m"],[35458,0,"a"],[35459,0,"t"],[35460,0,"h"],[35461,0,"i"],[35462,0,"t"],[35463,0,"{"],[35464,0,"c"],[35465,0,"t"],[35466,0,"x"],[35467,0,"}"],[35468,0,"'"],[35469,0,"'"],[35470,0,","],[35471,0,"\\"],[35472,0,","],[35473,0," "],[35474,0,"\\"],[35475,0,"m"],[35476,0,"a"],[35477,0,"t"],[35478,0,"h"],[35479,0,"i"],[35480,0,"t"],[35481,0,"{"],[35482,0,"p"],[35483,0,"r"],[35484,0,"e"],[35485,0,"s"],[35486,0,"}"],[35487,0,"_"],[35488,0,"2"],[35489,0,"$"],[35490,0,"}"],[35491,0,"\n"],[35492,0,"\\"],[35493,0,"L"],[35494,0,"e"],[35495,0,"f"],[35496,0,"t"],[35497,0,"L"],[35498,0,"a"],[35499,0,"b"],[35500,0,"e"],[35501,0,"l"],[35502,0,"{"],[35503,0,"$"],[35504,0,"\\"],[35505,0,"t"],[35506,0,"e"],[35507,0,"x"],[35508,0,"t"],[35509,0,"s"],[35510,0,"c"],[35511,0,"{"],[35512,0,"C"],[35513,0,"l"],[35514,0,"e"],[35515,0,"a"],[35516,0,"r"],[35517,0,"-"],[35518,0,"M"],[35519,0,"a"],[35520,0,"p"],[35521,0,"}"],[35522,0,"_"],[35523,0,"2"],[35524,0,"$"],[35525,0,"}"],[35526,0,"\n"],[35527,0,"\\"],[35528,0,"T"],[35529,0,"r"],[35530,0,"i"],[35531,0,"n"],[35532,0,"a"],[35533,0,"r"],[35534,0,"y"],[35535,0,"I"],[35536,0,"n"],[35537,0,"f"],[35538,0,"C"],[35539,0,"{"],[35540,0,"$"],[35541,0,"\\"],[35542,0,"m"],[35543,0,"a"],[35544,0,"t"],[35545,0,"h"],[35546,0,"i"],[35547,0,"t"],[35548,0,"{"],[35549,0,"c"],[35550,0,"t"],[35551,0,"x"],[35552,0,"}"],[35553,0,","],[35554,0,"\\"],[35555,0,","],[35556,0," "],[35557,0,"\\"],[35558,0,"m"],[35559,0,"a"],[35560,0,"t"],[35561,0,"h"],[35562,0,"s"],[35563,0,"f"],[35564,0,"{"],[35565,0,"c"],[35566,0,"l"],[35567,0,"e"],[35568,0,"a"],[35569,0,"r"],[35570,0,"M"],[35571,0,"a"],[35572,0,"p"],[35573,0,"}"],[35574,0,"("],[35575,0,"\\"],[35576,0,"m"],[35577,0,"a"],[35578,0,"t"],[35579,0,"h"],[35580,0,"i"],[35581,0,"t"],[35582,0,"{"],[35583,0,"d"],[35584,0,"e"],[35585,0,"p"],[35586,0,"s"],[35587,0,"}"],[35588,0,","],[35589,0," "],[35590,0,"\\"],[35591,0,"m"],[35592,0,"a"],[35593,0,"t"],[35594,0,"h"],[35595,0,"i"],[35596,0,"t"],[35597,0,"{"],[35598,0,"d"],[35599,0,"o"],[35600,0,"n"],[35601,0,"e"],[35602,0,"}"],[35603,0,")"],[35604,0," "],[35605,0,"\\"],[35606,0,"e"],[35607,0,"v"],[35608,0,"a"],[35609,0,"l"],[35610,0,"t"],[35611,0,"o"],[35612,0,"\n"],[35613,0," "],[35614,0," "],[35615,0," "],[35616,0," "],[35617,0,"\\"],[35618,0,"m"],[35619,0,"a"],[35620,0,"t"],[35621,0,"h"],[35617,0,"\\"],[35618,0,"e"],[35619,0,"v"],[35620,0,"a"],[35621,0,"l"],[35622,0,"t"],[35623,0,"o"],[35624,0," "],[35611,1],[35610,1],[35609,1],[35608,1],[35607,1],[35606,1],[35605,1],[35604,1],[35622,0,"i"],[35623,0,"t"],[35624,0,"{"],[35625,0,"c"],[35626,0,"t"],[35627,0,"x"],[35628,0,"}"],[35629,0,"'"],[35630,0,"'"],[35631,0,","],[35632,0,"\\"],[35633,0,","],[35634,0," "],[35635,0,"\\"],[35636,0,"m"],[35637,0,"a"],[35638,0,"t"],[35639,0,"h"],[35640,0,"i"],[35641,0,"t"],[35642,0,"{"],[35643,0,"p"],[35644,0,"r"],[35645,0,"e"],[35646,0,"s"],[35647,0,"}"],[35648,0,"_"],[35649,0,"1"],[35650,0," "],[35651,0,"\\"],[35652,0,"c"],[35653,0,"u"],[35654,0,"p"],[35655,0," "],[35656,0,"\\"],[35657,0,"m"],[35658,0,"a"],[35659,0,"t"],[35660,0,"h"],[35661,0,"i"],[35662,0,"t"],[35663,0,"{"],[35664,0,"p"],[35665,0,"r"],[35666,0,"e"],[35667,0,"s"],[35668,0,"{"],[35668,1],[35668,0,"}"],[35669,0,"_"],[35670,0,"2"],[35671,0,"$"],[35672,0,"}"],[35186,0,"\\"],[35187,0,"b"],[35188,0,"e"],[35189,0,"g"],[35190,0,"i"],[35191,0,"n"],[35192,0,"{"],[35193,0,"m"],[35194,0,"a"],[35195,0,"t"],[35196,0,"r"],[35197,0,"i"],[35198,0,"x"],[35199,0,"}"],[35200,0," "],[35200,0,"\n"],[35201,0," "],[35202,0," "],[35203,0," "],[35240,1],[35240,0,"\\"],[35241,0,"\n"],[35242,0," "],[35243,0," "],[35244,0," "],[35245,0," "],[35277,0," "],[35278,0,"\\"],[35279,0,"e"],[35280,0,"n"],[35281,0,"d"],[35282,0,"{"],[35283,0,"m"],[35284,0,"a"],[35285,0,"t"],[35286,0,"r"],[35287,0,"i"],[35288,0,"x"],[35289,0,"}"],[35302,0,"\\"],[35303,0,"b"],[35304,0,"e"],[35305,0,"g"],[35306,0,"i"],[35307,0,"n"],[35308,0,"{"],[35309,0,"m"],[35310,0,"a"],[35311,0,"t"],[35312,0,"r"],[35313,0,"i"],[35314,0,"x"],[35315,0,"}"],[35316,0,"\n"],[35317,0," "],[35318,0," "],[35319,0," "],[35320,0," "],[35373,0,"\\"],[35373,1],[35373,0," "],[35374,0,"\\"],[35375,0,"\\"],[35376,0,"\n"],[35377,0," "],[35378,0," "],[35379,0," "],[35419,0," "],[35420,0,"\\"],[35421,0,"e"],[35422,0,"n"],[35423,0,"d"],[35424,0,"{"],[35425,0,"m"],[35426,0,"a"],[35427,0,"t"],[35428,0,"r"],[35429,0,"i"],[35430,0,"x"],[35431,0,"}"],[35444,0,"\\"],[35445,0,"b"],[35446,0,"e"],[35447,0,"g"],[35448,0,"i"],[35449,0,"n"],[35450,0,"{"],[35451,0,"m"],[35452,0,"a"],[35453,0,"t"],[35454,0,"r"],[35455,0,"i"],[35456,0,"x"],[35457,0,"}"],[35458,0,"\n"],[35459,0," "],[35460,0," "],[35461,0," "],[35462,0," "],[35463,0," "],[35463,1],[35538,0," "],[35539,0,"\\"],[35540,0,"\\"],[35587,0," "],[35588,0,"\\"],[35589,0,"e"],[35590,0,"n"],[35591,0,"d"],[35592,0,"{"],[35593,0,"m"],[35594,0,"a"],[35595,0,"t"],[35596,0,"r"],[35597,0,"i"],[35598,0,"x"],[35599,0,"}"],[35800,0,"\n"],[35801,0,"\n"],[35802,0,"\\"],[35803,0,"b"],[35804,0,"e"],[35805,0,"g"],[35806,0,"i"],[35807,0,"n"],[35808,0,"{"],[35809,0,"p"],[35810,0,"r"],[35811,0,"o"],[35812,0,"o"],[35813,0,"f"],[35814,0,"t"],[35815,0,"r"],[35816,0,"e"],[35817,0,"e"],[35818,0,"}"],[35819,0,"\n"],[35820,0,"\\"],[35821,0,"e"],[35822,0,"n"],[35823,0,"d"],[35824,0,"{"],[35825,0,"p"],[35826,0,"r"],[35827,0,"o"],[35828,0,"o"],[35829,0,"f"],[35830,0,"t"],[35831,0,"r"],[35832,0,"e"],[35833,0,"e"],[35834,0,"}"],[35819,0,"\n"],[35820,0,"\\"],[35821,0,"A"],[35822,0,"x"],[35823,0,"i"],[35824,0,"o"],[35825,0,"m"],[35826,0,"C"],[35827,0,"{"],[35828,0,"$"],[35829,0,"\\"],[35830,0,"m"],[35831,0,"a"],[35832,0,"t"],[35833,0,"h"],[35834,0,"i"],[35835,0,"t"],[35836,0,"{"],[35837,0,"d"],[35838,0,"o"],[35839,0,"n"],[35840,0,"e"],[35841,0,"}"],[35842,0," "],[35843,0,"="],[35844,0," "],[35845,0,"\\"],[35846,0,"m"],[35847,0,"a"],[35848,0,"t"],[35849,0,"h"],[35850,0,"r"],[35851,0,"m"],[35852,0,"{"],[35853,0,"k"],[35854,0,"e"],[35855,0,"y"],[35856,0,"s"],[35857,0,"}"],[35858,0,"("],[35859,0,"\\"],[35860,0,"m"],[35861,0,"a"],[35862,0,"t"],[35863,0,"h"],[35864,0,"i"],[35865,0,"t"],[35866,0,"{"],[35867,0,"c"],[35868,0,"t"],[35869,0,"x"],[35870,0,"}"],[35871,0,")"],[35872,0,"$"],[35873,0,"}"],[35874,0,"\n"],[35875,0,"\\"],[35876,0,"L"],[35877,0,"e"],[35878,0,"f"],[35879,0,"t"],[35880,0,"L"],[35881,0,"a"],[35882,0,"b"],[35883,0,"e"],[35884,0,"l"],[35885,0,"{"],[35886,0,"$"],[35887,0,"\\"],[35888,0,"t"],[35889,0,"e"],[35890,0,"x"],[35891,0,"t"],[35892,0,"s"],[35893,0,"c"],[35894,0,"{"],[35895,0,"C"],[35896,0,"l"],[35897,0,"e"],[35898,0,"a"],[35899,0,"r"],[35900,0,"-"],[35901,0,"M"],[35902,0,"a"],[35903,0,"p"],[35904,0,"}"],[35905,0,"_"],[35906,0,"3"],[35907,0,"$"],[35908,0,"}"],[35909,0,"\n"],[35910,0,"\\"],[35911,0,"U"],[35912,0,"n"],[35913,0,"a"],[35914,0,"r"],[35915,0,"y"],[35916,0,"I"],[35917,0,"n"],[35918,0,"f"],[35919,0,"C"],[35920,0,"{"],[35921,0,"$"],[35922,0,"\\"],[35923,0,"m"],[35924,0,"a"],[35925,0,"t"],[35926,0,"h"],[35927,0,"i"],[35928,0,"t"],[35929,0,"{"],[35930,0,"c"],[35931,0,"t"],[35932,0,"x"],[35933,0,"}"],[35934,0,","],[35935,0,"\\"],[35936,0,","],[35937,0," "],[35938,0,"\\"],[35939,0,"m"],[35940,0,"a"],[35941,0,"t"],[35942,0,"h"],[35943,0,"s"],[35944,0,"f"],[35945,0,"{"],[35946,0,"c"],[35947,0,"l"],[35948,0,"e"],[35949,0,"a"],[35950,0,"r"],[35951,0,"M"],[35952,0,"a"],[35953,0,"p"],[35954,0,"}"],[35955,0,"("],[35956,0,"\\"],[35957,0,"m"],[35958,0,"a"],[35959,0,"t"],[35960,0,"h"],[35961,0,"i"],[35962,0,"t"],[35963,0,"{"],[35964,0,"d"],[35965,0,"e"],[35966,0,"p"],[35967,0,"s"],[35968,0,"}"],[35969,0,","],[35970,0," "],[35971,0,"\\"],[35972,0,"m"],[35973,0,"a"],[35974,0,"t"],[35975,0,"h"],[35976,0,"i"],[35977,0,"t"],[35978,0,"{"],[35979,0,"d"],[35980,0,"o"],[35981,0,"n"],[35982,0,"e"],[35983,0,"}"],[35984,0,")"],[35985,0,"\n"],[35986,0," "],[35987,0," "],[35988,0," "],[35989,0," "],[35990,0,"\\"],[35991,0,"e"],[35992,0,"v"],[35993,0,"a"],[35994,0,"l"],[35995,0,"t"],[35996,0,"o"],[35997,0," "],[35998,0,"\\"],[35999,0,"m"],[36000,0,"a"],[36001,0,"t"],[36002,0,"h"],[36003,0,"i"],[36004,0,"t"],[36005,0,"{"],[36006,0,"c"],[36007,0,"t"],[36008,0,"x"],[36009,0,"}"],[36010,0,","],[36011,0," "],[36012,0,"\\"],[36013,0,"{"],[36014,0,"\\"],[36015,0,"}"],[36016,0,"$"],[36017,0,"}"],[36011,0,"\\"],[36012,0,","],[35989,1],[35988,1],[35987,1],[35986,1],[35985,1],[35985,0," "],[36368,1],[36367,1],[36367,0,"c"],[36368,0,"l"],[36369,0,"e"],[36370,0,"a"],[36371,0,"r"],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36374,1],[36388,0," "],[36389,0,"\\"],[36390,0,"m"],[36391,0,"a"],[36392,0,"t"],[36393,0,"h"],[36394,0,"s"],[36395,0,"f"],[36396,0,"{"],[36397,0,"l"],[36398,0,"i"],[36399,0,"s"],[36400,0,"t"],[36401,0,"T"],[36402,0,"}"],[36403,0,"("],[36404,0,"k"],[36405,0,")"],[36406,0,")"],[36407,0," "],[36408,0,"\\"],[36409,0,"e"],[36410,0,"v"],[36411,0,"a"],[36412,0,"l"],[36413,0,"t"],[36414,0,"o"],[36484,1],[36483,1],[36482,1],[36481,1],[36480,1],[36479,1],[36478,1],[36477,1],[36476,1],[36475,1],[36474,1],[36473,1],[36472,1],[36471,1],[36470,1],[36469,1],[36468,1],[36467,1],[36466,1],[36465,1],[36464,1],[36463,1],[36462,1],[36461,1],[36460,1],[36459,1],[36458,1],[36457,1],[36456,1],[36455,1],[36454,1],[36453,1],[36452,1],[36451,1],[36450,1],[36449,1],[36448,1],[36447,1],[36446,1],[36445,1],[36444,1],[36443,1],[36442,1],[36441,1],[36440,1],[36439,1],[36438,1],[36437,1],[36436,1],[36435,1],[36434,1],[36433,1],[36432,1],[36431,1],[36430,1],[36429,1],[36428,1],[36427,1],[36426,1],[36425,1],[36424,1],[36423,1],[36422,1],[36421,1],[36420,1],[36419,1],[36418,1],[36417,1],[36416,1],[36415,1],[36164,1],[36164,1],[36164,0,"c"],[36165,0,"l"],[36166,0,"e"],[36167,0,"a"],[36168,0,"r"],[36169,0,"L"],[36170,0,"i"],[36171,0,"s"],[36172,0,"t"],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36175,1],[36189,0," "],[36190,0,"\\"],[36191,0,"m"],[36192,0,"a"],[36193,0,"t"],[36194,0,"h"],[36195,0,"s"],[36196,0,"f"],[36197,0,"{"],[36198,0,"h"],[36199,0,"e"],[36200,0,"a"],[36201,0,"d"],[36202,0,"}"],[36203,0,")"],[36279,1],[36278,1],[36277,1],[36276,1],[36275,1],[36274,1],[36273,1],[36272,1],[36271,1],[36270,1],[36269,1],[36268,1],[36267,1],[36266,1],[36265,1],[36264,1],[36263,1],[36262,1],[36261,1],[36260,1],[36259,1],[36258,1],[36257,1],[36256,1],[36255,1],[36254,1],[36253,1],[36252,1],[36251,1],[36250,1],[36249,1],[36248,1],[36247,1],[36246,1],[36245,1],[36244,1],[36243,1],[36242,1],[36241,1],[36240,1],[36239,1],[36238,1],[36237,1],[36236,1],[36235,1],[36234,1],[36233,1],[36232,1],[36231,1],[36230,1],[36229,1],[36228,1],[36227,1],[36226,1],[36225,1],[36224,1],[36223,1],[36222,1],[36221,1],[36220,1],[36219,1],[36218,1],[36217,1],[36216,1],[36215,1],[36214,1],[36213,1],[36212,1],[36211,1],[36210,1],[36209,1],[36233,0,","],[36234,0,"\\"],[36235,0,","],[36236,0," "],[36237,0,"\\"],[36238,0,"m"],[36239,0,"a"],[36240,0,"t"],[36241,0,"h"],[36242,0,"i"],[36243,0,"t"],[36244,0,"{"],[36245,0,"p"],[36246,0,"r"],[36247,0,"e"],[36248,0,"s"],[36249,0,"}"],[36283,0,"_"],[36284,0,"1"],[36285,0,"$"],[36264,0,"$"],[36445,0,","],[36446,0,"\\"],[36447,0,","],[36448,0," "],[36449,0,"\\"],[36450,0,"m"],[36451,0,"a"],[36452,0,"t"],[36453,0,"h"],[36454,0,"i"],[36455,0,"t"],[36456,0,"{"],[36457,0,"p"],[36458,0,"r"],[36459,0,"e"],[36460,0,"s"],[36461,0,"}"],[36819,1],[36819,0,"2"],[36816,1],[36815,1],[36814,1],[36813,1],[36812,1],[36812,0,"L"],[36813,0,"i"],[36814,0,"s"],[36815,0,"t"],[36860,1],[36860,1],[36860,0,"c"],[36861,0,"l"],[36862,0,"e"],[36863,0,"a"],[36864,0,"r"],[36865,0,"L"],[36866,0,"i"],[36867,0,"s"],[36868,0,"t"],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36871,1],[36885,0," "],[36886,0,"k"],[36887,0,")"],[36888,0," "],[36889,0,"\\"],[36890,0,"e"],[36891,0,"v"],[36892,0,"a"],[36893,0,"l"],[36894,0,"t"],[36895,0,"o"],[36966,1],[36965,1],[36964,1],[36963,1],[36962,1],[36961,1],[36960,1],[36959,1],[36958,1],[36957,1],[36956,1],[36955,1],[36954,1],[36953,1],[36952,1],[36951,1],[36950,1],[36949,1],[36948,1],[36947,1],[36946,1],[36945,1],[36944,1],[36943,1],[36942,1],[36941,1],[36940,1],[36939,1],[36938,1],[36937,1],[36936,1],[36935,1],[36934,1],[36933,1],[36932,1],[36931,1],[36930,1],[36929,1],[36928,1],[36927,1],[36926,1],[36925,1],[36924,1],[36923,1],[36922,1],[36921,1],[36920,1],[36919,1],[36918,1],[36917,1],[36916,1],[36915,1],[36914,1],[36913,1],[36912,1],[36911,1],[36910,1],[36909,1],[36908,1],[36907,1],[36906,1],[36905,1],[36904,1],[36903,1],[36902,1],[36901,1],[36900,1],[36899,1],[36898,1],[36897,1],[36896,1],[36964,1],[36963,1],[36962,1],[36961,1],[36960,1],[36959,1],[36958,1],[36957,1],[36956,1],[36955,1],[36954,1],[36953,1],[36952,1],[36951,1],[36950,1],[36949,1],[36948,1],[36947,1],[36946,1],[36945,1],[36944,1],[36943,1],[36942,1],[36941,1],[36940,1],[36939,1],[36938,1],[36937,1],[36936,1],[36935,1],[36934,1],[36933,1],[36932,1],[36931,1],[36930,1],[36929,1],[36928,1],[36927,1],[36926,1],[36925,1],[36924,1],[36923,1],[36922,1],[36921,1],[36920,1],[36919,1],[36918,1],[36917,1],[36916,1],[36915,1],[36914,1],[36914,0,"'"],[36915,0,","],[36916,0," "],[36917,0,"\\"],[36918,0,"m"],[36919,0,"a"],[36920,0,"t"],[36921,0,"h"],[36922,0,"i"],[36923,0,"t"],[36924,0,"{"],[36925,0,"p"],[36926,0,"r"],[36927,0,"e"],[36928,0,"s"],[36929,0,"}"],[36930,0,"_"],[36931,0,"1"],[36932,0," "],[36933,0,"\\"],[36934,0,","],[36935,0,"\\"],[36936,0,"c"],[36937,0,"u"],[36938,0,"p"],[36939,0,"\\"],[36940,0,","],[36941,0," "],[36942,0,"\\"],[36943,0,"m"],[36944,0,"a"],[36945,0,"t"],[36946,0,"h"],[36947,0,"i"],[36948,0,"t"],[36949,0,"{"],[36950,0,"p"],[36951,0,"r"],[36952,0,"e"],[36953,0,"s"],[36954,0,"}"],[36955,0,"_"],[36956,0,"2"],[35762,0,"\\"],[35763,0,","],[35768,0,"\\"],[35769,0,","],[36513,0,"\\"],[36514,0,"b"],[36515,0,"e"],[36516,0,"g"],[36517,0,"i"],[36518,0,"n"],[36519,0,"{"],[36520,0,"m"],[36521,0,"a"],[36522,0,"t"],[36523,0,"r"],[36524,0,"i"],[36525,0,"x"],[36526,0,"}"],[36527,0,"\n"],[36528,0," "],[36529,0," "],[36530,0," "],[36531,0," "],[36553,0," "],[36554,0,"\\"],[36555,0,"\\"],[36556,0,"\n"],[36557,0," "],[36558,0," "],[36559,0," "],[36561,1],[36561,1],[36560,1],[36559,1],[36558,1],[36557,1],[36556,1],[36555,1],[36555,0,","],[36563,1],[36563,0,"\\"],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36564,1],[36565,1],[36565,1],[36565,1],[36565,1],[36565,1],[36565,1],[36565,1],[36565,1],[36565,1],[36565,0," "],[36566,0," "],[36567,0," "],[36568,0," "],[36615,0,"\n"],[36616,0," "],[36617,0," "],[36618,0," "],[36619,0," "],[36620,0,"\\"],[36621,0,"e"],[36622,0,"n"],[36623,0,"d"],[36624,0,"{"],[36625,0,"m"],[36626,0,"a"],[36627,0,"t"],[36628,0,"r"],[36629,0,"i"],[36630,0,"x"],[36631,0,"}"],[36632,0," "],[36632,1],[36619,1],[36618,1],[36617,1],[36616,1],[36615,1],[36615,0," "],[36640,0,"\\"],[36641,0,"b"],[36642,0,"e"],[36643,0,"g"],[36644,0,"i"],[36645,0,"n"],[36646,0,"{"],[36647,0,"m"],[36648,0,"a"],[36649,0,"t"],[36650,0,"r"],[36651,0,"i"],[36652,0,"x"],[36653,0,"}"],[36654,0,"\n"],[36655,0," "],[36656,0," "],[36657,0," "],[36658,0," "],[36684,1],[36683,1],[36683,0,"c"],[36684,0,"l"],[36685,0,"e"],[36686,0,"a"],[36687,0,"r"],[36688,0,"L"],[36688,1],[36688,0,"E"],[36689,0,"l"],[36690,0,"e"],[36691,0,"m"],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36694,1],[36708,0," "],[36709,0,"k"],[36710,0,")"],[36711,0," "],[36712,0,"\\"],[36713,0,"\\"],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36719,1],[36740,0,","],[36741,0," "],[36742,0,"\\"],[36743,0,"m"],[36744,0,"a"],[36745,0,"t"],[36746,0,"h"],[36747,0,"i"],[36748,0,"t"],[36749,0,"{"],[36750,0,"p"],[36751,0,"r"],[36752,0,"e"],[36753,0,"s"],[36754,0,"}"],[36755,0,"_"],[36756,0,"1"],[36757,0," "],[36758,0," "],[36758,1],[36758,0,"\\"],[36759,0,"e"],[36760,0,"n"],[36761,0,"d"],[36762,0,"{"],[36763,0,"m"],[36764,0,"a"],[36765,0,"t"],[36766,0,"r"],[36767,0,"i"],[36768,0,"x"],[36769,0,"}"],[36772,0,"\n"],[36773,0,"\\"],[36774,0,"A"],[36775,0,"x"],[36776,0,"i"],[36777,0,"o"],[36778,0,"m"],[36779,0,"C"],[36780,0,"{"],[36781,0,"$"],[36782,0,"\\"],[36783,0,"b"],[36784,0,"e"],[36785,0,"g"],[36786,0,"i"],[36787,0,"n"],[36788,0,"{"],[36789,0,"m"],[36790,0,"a"],[36791,0,"t"],[36792,0,"r"],[36793,0,"i"],[36794,0,"x"],[36795,0,"}"],[36796,0,"\n"],[36797,0," "],[36798,0," "],[36799,0," "],[36800,0," "],[36801,0,"\\"],[36802,0,"a"],[36803,0,"t"],[36803,1],[36802,1],[36802,0,"m"],[36803,0,"a"],[36804,0,"t"],[36805,0,"h"],[36806,0,"i"],[36807,0,"t"],[36808,0,"{"],[36809,0,"c"],[36810,0,"t"],[36811,0,"x"],[36812,0,"}"],[36813,0,"'"],[36814,0,","],[36815,0,"\\"],[36816,0,","],[36817,0," "],[36818,0,"\\"],[36819,0,"m"],[36820,0,"a"],[36821,0,"t"],[36822,0,"h"],[36823,0,"s"],[36824,0,"f"],[36825,0,"{"],[36826,0,"c"],[36827,0,"l"],[36828,0,"e"],[36829,0,"a"],[36830,0,"r"],[36831,0,"L"],[36832,0,"i"],[36833,0,"s"],[36834,0,"t"],[36835,0,"}"],[36836,0,"("],[36837,0,"\\"],[36838,0,"m"],[36839,0,"a"],[36840,0,"t"],[36841,0,"h"],[36842,0,"i"],[36843,0,"t"],[36844,0,"{"],[36845,0,"d"],[36846,0,"e"],[36847,0,"p"],[36848,0,"s"],[36849,0,"}"],[36850,0,","],[36851,0," "],[36852,0,"\\"],[36853,0,"m"],[36854,0,"a"],[36855,0,"t"],[36856,0,"h"],[36857,0,"i"],[36858,0,"t"],[36859,0,"{"],[36860,0,"n"],[36861,0,"e"],[36862,0,"x"],[36863,0,"t"],[36864,0,"}"],[36865,0,")"],[36866,0," "],[36867,0,"\\"],[36868,0,"\\"],[36869,0,"\n"],[36870,0," "],[36871,0," "],[36872,0," "],[36873,0," "],[36874,0,"\\"],[36875,0,"e"],[36876,0,"v"],[36877,0,"a"],[36878,0,"l"],[36879,0,"t"],[36880,0,"o"],[36881,0," "],[36882,0,"\\"],[36883,0,"m"],[36884,0,"a"],[36885,0,"t"],[36886,0,"h"],[36887,0,"i"],[36888,0,"t"],[36889,0,"{"],[36890,0,"c"],[36891,0,"t"],[36892,0,"x"],[36893,0,"}"],[36894,0,"'"],[36895,0,"'"],[36896,0,","],[36897,0," "],[36898,0,"\\"],[36899,0,"m"],[36900,0,"a"],[36901,0,"t"],[36902,0,"h"],[36903,0,"i"],[36904,0,"t"],[36905,0,"{"],[36906,0,"p"],[36907,0,"r"],[36908,0,"e"],[36909,0,"s"],[36910,0,"}"],[36911,0,"_"],[36912,0,"2"],[36913,0," "],[36914,0,"\\"],[36915,0,"e"],[36916,0,"n"],[36917,0,"d"],[36918,0,"{"],[36919,0,"m"],[36920,0,"a"],[36921,0,"t"],[36922,0,"r"],[36923,0,"i"],[36924,0,"x"],[36925,0,"}"],[36926,0,"$"],[36927,0,"}"],[37059,0,"\\"],[37060,0,","],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37122,1],[37195,1],[37195,1],[37195,1],[37195,1],[37195,1],[37195,0,"L"],[37196,0,"i"],[37197,0,"s"],[37198,0,"t"],[37242,1],[37241,1],[37241,0,"c"],[37242,0,"l"],[37243,0,"e"],[37244,0,"a"],[37245,0,"r"],[37246,0,"L"],[37247,0,"i"],[37248,0,"s"],[37249,0,"t"],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37252,1],[37266,0," "],[37267,0,"k"],[37268,0,")"],[37269,0," "],[37270,0,"\\"],[37271,0,"e"],[37272,0,"v"],[37273,0,"a"],[37274,0,"l"],[37275,0,"t"],[37276,0,"o"],[37277,0," "],[37278,0,"\\"],[37279,0,"m"],[37280,0,"a"],[37281,0,"t"],[37282,0,"h"],[37283,0,"i"],[37284,0,"t"],[37285,0,"{"],[37286,0,"c"],[37287,0,"t"],[37288,0,"x"],[37289,0,"}"],[37290,0,","],[37291,0,"\\"],[37292,0,","],[37293,0," "],[37294,0,"\\"],[37295,0,"{"],[37296,0,"\\"],[37297,0,"}"],[37298,0,"$"],[37299,0,"}"],[37385,1],[37384,1],[37383,1],[37382,1],[37381,1],[37380,1],[37379,1],[37378,1],[37377,1],[37376,1],[37375,1],[37374,1],[37373,1],[37372,1],[37371,1],[37370,1],[37369,1],[37368,1],[37367,1],[37366,1],[37365,1],[37364,1],[37363,1],[37362,1],[37361,1],[37360,1],[37359,1],[37358,1],[37357,1],[37356,1],[37355,1],[37354,1],[37353,1],[37352,1],[37351,1],[37350,1],[37349,1],[37348,1],[37347,1],[37346,1],[37345,1],[37344,1],[37343,1],[37342,1],[37341,1],[37340,1],[37339,1],[37338,1],[37337,1],[37336,1],[37335,1],[37334,1],[37333,1],[37332,1],[37331,1],[37330,1],[37329,1],[37328,1],[37327,1],[37326,1],[37325,1],[37324,1],[37323,1],[37322,1],[37321,1],[37320,1],[37319,1],[37318,1],[37317,1],[37316,1],[37315,1],[37314,1],[37313,1],[37312,1],[37311,1],[37310,1],[37309,1],[37308,1],[37307,1],[37306,1],[37305,1],[37304,1],[37303,1],[37302,1],[37301,1],[37300,1],[37336,0,"d"],[37337,0,"e"],[37338,0,"l"],[37339,0,"e"],[37340,0,"t"],[37341,0,"i"],[37342,0,"n"],[37343,0,"g"],[37344,0," "],[37345,0,"a"],[37346,0,"n"],[37347,0,"d"],[37348,0," "],[37357,0," "],[37358,0,"s"],[37359,0,"t"],[37360,0,"a"],[37361,0,"t"],[37362,0,"e"],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[37403,1],[24709,0,"M"],[24710,0,"a"],[24711,0,"k"],[24712,0,"e"],[24713,0,"-"],[24731,0,"M"],[24732,0,"a"],[24733,0,"k"],[24734,0,"e"],[24735,0,"-"],[24756,0,"M"],[24757,0,"a"],[24758,0,"k"],[24759,0,"e"],[24760,0,"-"],[22679,0,"M"],[22680,0,"a"],[22681,0,"k"],[22682,0,"e"],[22683,0,"-"],[22405,0,"M"],[22406,0,"a"],[22407,0,"k"],[22408,0,"e"],[22409,0,"-"],[22080,0,"M"],[22081,0,"a"],[22082,0,"k"],[22083,0,"e"],[22084,0,"-"],[21964,1],[21963,1],[21962,1],[21961,1],[21960,1],[21959,1],[21958,1],[21957,1],[21956,1],[21955,1],[21954,1],[21953,1],[21952,1],[21951,1],[21950,1],[21949,1],[21948,1],[21947,1],[21946,1],[21945,1],[21944,1],[21943,1],[21942,1],[21941,1],[21940,1],[21939,1],[21938,1],[21937,1],[21936,1],[21935,1],[21934,1],[21933,1],[21932,1],[21931,1],[21930,1],[21929,1],[21928,1],[21927,1],[21926,1],[21925,1],[21924,1],[21923,1],[21922,1],[21921,1],[21920,1],[21919,1],[21918,1],[21917,1],[21916,1],[21915,1],[21914,1],[21913,1],[21912,1],[21911,1],[21910,1],[21909,1],[21908,1],[21907,1],[21906,1],[21905,1],[21904,1],[21903,1],[21902,1],[21901,1],[21900,1],[21899,1],[21898,1],[21897,1],[21896,1],[21895,1],[21894,1],[21893,1],[21892,1],[21891,1],[21890,1],[21889,1],[21888,1],[21887,1],[21886,1],[21885,1],[21884,1],[21883,1],[21882,1],[21881,1],[21880,1],[21879,1],[21878,1],[21877,1],[21876,1],[21875,1],[21874,1],[21873,1],[21872,1],[21871,1],[21870,1],[21869,1],[21868,1],[21867,1],[21866,1],[21865,1],[21864,1],[21863,1],[21863,1],[3797,0,"\n"],[3797,0,"&"],[3798,0," "],[3799,0,"$"],[3800,0,"|"],[3801,0,"$"],[3802,0," "],[3803,0,"&"],[3804,0," "],[3805,0,"E"],[3806,0,"X"],[3807,0,"P"],[3808,0,"R"],[3809,0,"."],[3810,0,"\\"],[3811,0,"t"],[3812,0,"e"],[3813,0,"x"],[3814,0,"t"],[3815,0,"s"],[3816,0,"f"],[3817,0,"{"],[3818,0,"k"],[3819,0,"e"],[3820,0,"y"],[3821,0,"s"],[3822,0,"}"],[3823,0," "],[3824,0,"\\"],[3825,0,"\\"],[3682,1],[3681,1],[3680,1],[3679,1],[3678,1],[3677,1],[3676,1],[3675,1],[3674,1],[3673,1],[3672,1],[3671,1],[3670,1],[3669,1],[3669,0,"["],[3682,1],[3682,0,"]"],[4302,1],[4301,1],[4300,1],[4299,1],[4298,1],[4298,0,"["],[4309,1],[4309,0,"]"],[3681,1],[3680,1],[3679,1],[3678,1],[3677,1],[3676,1],[3675,1],[3674,1],[3673,1],[3672,1],[3671,1],[3671,0,"v"],[3672,0,"e"],[3673,0,"r"],[3674,0,"b"],[3675,0,"|"],[3676,0,"\""],[3677,0,"s"],[3678,0,"t"],[3679,0,"r"],[3680,0,"\""],[3681,0,"|"],[3693,1],[3692,1],[3692,0,"t"],[3693,0,"t"],[3677,1],[3677,1],[3677,1],[3677,0,"k"],[3678,0,"e"],[3679,0,"y"],[5698,0," "],[5699,0,"\\"],[5700,0,"t"],[5701,0,"e"],[5702,0,"x"],[5703,0,"t"],[5704,0,"s"],[5705,0,"f"],[5706,0,"{"],[5707,0,"k"],[5708,0,"e"],[5709,0,"y"],[5710,0,"s"],[5711,0,"}"],[5712,0," "],[5713,0,"r"],[5714,0,"e"],[5715,0,"t"],[5716,0,"u"],[5717,0,"r"],[5718,0,"n"],[5719,0,"s"],[5720,0," "],[5721,0,"t"],[5722,0,"h"],[5723,0,"e"],[5724,0," "],[5725,0,"s"],[5726,0,"e"],[5727,0,"t"],[5728,0," "],[5729,0,"o"],[5730,0,"f"],[5731,0," "],[5732,0,"k"],[5733,0,"e"],[5734,0,"y"],[5735,0,"s"],[5736,0," "],[5737,0,"i"],[5738,0,"n"],[5739,0," "],[5740,0,"a"],[5741,0," "],[5742,0,"m"],[5743,0,"a"],[5744,0,"p"],[5745,0,","],[10517,1],[10516,1],[10515,1],[10514,1],[10513,1],[10512,1],[10512,0,"p"],[10513,0,"r"],[10514,0,"o"],[10515,0,"o"],[10516,0,"f"],[10517,0,"t"],[10518,0,"r"],[10519,0,"e"],[10520,0,"e"],[10763,1],[10762,1],[10761,1],[10760,1],[10759,1],[10758,1],[10757,1],[10756,1],[10755,1],[10754,1],[10753,1],[10752,1],[10751,1],[10750,1],[10749,1],[10748,1],[10747,1],[10746,1],[10746,0,"e"],[10747,0,"n"],[10748,0,"d"],[10749,0,"{"],[10750,0,"p"],[10751,0,"r"],[10752,0,"o"],[10753,0,"o"],[10754,0,"f"],[10755,0,"t"],[10756,0,"r"],[10757,0,"e"],[10758,0,"e"],[10759,0,"}"],[10761,1],[10761,0,"\n"],[10762,0,"\\"],[10763,0,"b"],[10764,0,"e"],[10765,0,"g"],[10766,0,"i"],[10767,0,"n"],[10768,0,"{"],[10769,0,"p"],[10770,0,"r"],[10771,0,"o"],[10772,0,"o"],[10773,0,"f"],[10774,0,"t"],[10775,0,"r"],[10776,0,"e"],[10777,0,"e"],[10778,0,"}"],[11076,1],[11075,1],[11074,1],[11073,1],[11072,1],[11071,1],[11070,1],[11069,1],[11068,1],[11067,1],[11066,1],[11065,1],[11064,1],[11063,1],[11062,1],[11061,1],[11060,1],[11059,1],[11058,1],[11057,1],[11056,1],[11055,1],[11054,1],[11053,1],[11052,1],[11051,1],[11050,1],[11049,1],[11048,1],[11047,1],[10883,0," "],[10884,0,"\\"],[10885,0,","],[10886,0,"\\"],[10887,0,"w"],[10888,0,"e"],[10889,0,"d"],[10890,0,"g"],[10891,0,"e"],[10892,0,"\\"],[10893,0,","],[10894,0," "],[10895,0,"k"],[10896,0,"'"],[10897,0," "],[10898,0,"\\"],[10899,0,"n"],[10900,0,"o"],[10901,0,"t"],[10902,0,"="],[10903,0," "],[10904,0,"\\"],[10905,0,"m"],[10906,0,"a"],[10907,0,"t"],[10908,0,"h"],[10909,0,"s"],[10910,0,"f"],[10911,0,"{"],[10912,0,"t"],[10913,0,"a"],[10914,0,"i"],[10915,0,"l"],[10916,0,"}"],[10919,0,"\n"],[10920,0,"\\"],[10921,0,"A"],[10922,0,"x"],[10923,0,"o"],[10923,1],[10923,0,"i"],[10924,0,"o"],[10925,0,"m"],[10926,0,"C"],[10927,0,"{"],[10928,0,"$"],[10929,0,"\\"],[10930,0,"m"],[10931,0,"a"],[10932,0,"t"],[10933,0,"h"],[10934,0,"i"],[10935,0,"t"],[10936,0,"{"],[10937,0,"c"],[10938,0,"t"],[10939,0,"x"],[10940,0,"}"],[10941,0,"("],[10942,0,"\\"],[10943,0,"m"],[10944,0,"a"],[10945,0,"t"],[10946,0,"h"],[10947,0,"s"],[10948,0,"f"],[10949,0,"{"],[10950,0,"p"],[10951,0,"r"],[10952,0,"e"],[10953,0,"s"],[10954,0,"}"],[10955,0,"("],[10956,0,"k"],[10957,0,")"],[10958,0,")"],[10959,0," "],[10960,0,"\\"],[10961,0,"n"],[10962,0,"o"],[10963,0,"t"],[10964,0,"="],[10965,0," "],[10966,0,"\\"],[10967,0,"{"],[10968,0,"\\"],[10969,0,"}"],[10970,0,"$"],[10971,0,"}"],[11004,1],[11004,0,"T"],[11005,0,"r"],[11146,1],[11145,1],[11144,1],[11143,1],[11142,1],[11141,1],[11141,0,"p"],[11142,0,"r"],[11143,0,"o"],[11144,0,"o"],[11145,0,"f"],[11146,0,"t"],[11147,0,"r"],[11148,0,"e"],[11149,0,"e"],[10837,1],[10836,1],[10835,1],[10834,1],[10833,1],[10832,1],[10831,1],[10830,1],[10829,1],[10828,1],[10827,1],[10826,1],[10825,1],[10824,1],[10823,1],[10822,1],[10821,1],[10820,1],[10819,1],[10818,1],[10817,1],[10816,1],[10815,1],[10814,1],[10813,1],[10812,1],[10811,1],[10810,1],[10809,1],[10808,1],[10807,1],[10806,1],[10805,1],[10804,1],[10803,1],[10802,1],[10801,1],[10800,1],[10799,1],[10798,1],[10797,1],[10796,1],[10795,1],[10794,1],[10793,1],[10792,1],[10791,1],[10790,1],[10789,1],[10788,1],[10787,1],[10786,1],[10785,1],[10784,1],[10783,1],[10782,1],[10781,1],[10780,1],[10779,1],[10945,1],[10945,1],[10945,0,"B"],[11091,0,"\n"],[11092,0,"\n"],[11093,0,"\\"],[11094,0,"b"],[11095,0,"e"],[11096,0,"g"],[11097,0,"i"],[11098,0,"n"],[11099,0,"{"],[11100,0,"p"],[11101,0,"r"],[11102,0,"o"],[11103,0,"o"],[11104,0,"f"],[11105,0,"t"],[11106,0,"r"],[11107,0,"e"],[11108,0,"e"],[11109,0,"\\"],[11109,1],[11109,0,"}"],[11110,0,"\n"],[11111,0,"\\"],[11112,0,"e"],[11113,0,"n"],[11114,0,"d"],[11115,0,"{"],[11116,0,"p"],[11117,0,"r"],[11118,0,"o"],[11119,0,"o"],[11120,0,"f"],[11121,0,"t"],[11122,0,"r"],[11123,0,"e"],[11124,0,"e"],[11125,0,"}"],[11110,0,"\n"],[11111,0,"\\"],[11112,0,"A"],[11113,0,"x"],[11114,0,"i"],[11115,0,"o"],[11116,0,"m"],[11117,0,"C"],[11118,0,"{"],[11119,0,"$"],[11120,0,"\\"],[11121,0,"m"],[11122,0,"a"],[11123,0,"t"],[11124,0,"h"],[11125,0,"i"],[11126,0,"t"],[11127,0,"{"],[11128,0,"c"],[11129,0,"t"],[11130,0,"x"],[11131,0,"}"],[11132,0,"("],[11133,0,"\\"],[11134,0,"m"],[11135,0,"a"],[11136,0,"t"],[11137,0,"h"],[11138,0,"s"],[11139,0,"f"],[11140,0,"{"],[11141,0,"n"],[11142,0,"e"],[11143,0,"x"],[11144,0,"t"],[11145,0,"}"],[11146,0,"("],[11147,0,"k"],[11148,0,")"],[11149,0,")"],[11150,0," "],[11151,0,"="],[11152,0," "],[11153,0,"k"],[11154,0,"'"],[11155,0," "],[11156,0,"\\"],[11157,0,","],[11158,0,"\\"],[11159,0,"w"],[11160,0,"e"],[11161,0,"d"],[11162,0,"g"],[11163,0,"e"],[11164,0,"\\"],[11165,0,","],[11166,0," "],[11167,0,"k"],[11168,0,"'"],[11169,0," "],[11170,0,"\\"],[11171,0,"n"],[11172,0,"o"],[11173,0,"t"],[11174,0,"="],[11175,0," "],[11176,0,"\\"],[11177,0,"m"],[11178,0,"a"],[11179,0,"t"],[11180,0,"h"],[11181,0,"s"],[11182,0,"f"],[11183,0,"{"],[11184,0,"t"],[11185,0,"a"],[11186,0,"i"],[11187,0,"l"],[11188,0,"}"],[11189,0,"$"],[11190,0,"}"],[11191,0,"\n"],[11192,0,"\\"],[11193,0,"A"],[11194,0,"x"],[11195,0,"i"],[11196,0,"o"],[11197,0,"m"],[11198,0,"C"],[11199,0,"{"],[11200,0,"$"],[11201,0,"\\"],[11202,0,"m"],[11203,0,"a"],[11204,0,"t"],[11205,0,"h"],[11206,0,"i"],[11207,0,"t"],[11208,0,"{"],[11209,0,"c"],[11210,0,"t"],[11211,0,"x"],[11212,0,"}"],[11213,0,"("],[11214,0,"\\"],[11215,0,"m"],[11216,0,"a"],[11217,0,"t"],[11218,0,"h"],[11219,0,"s"],[11220,0,"f"],[11221,0,"{"],[11222,0,"p"],[11223,0,"r"],[11224,0,"e"],[11225,0,"s"],[11226,0,"}"],[11227,0,"("],[11228,0,"k"],[11229,0,")"],[11230,0,")"],[11231,0," "],[11232,0,"="],[11233,0," "],[11234,0,"\\"],[11235,0,"{"],[11236,0,"\\"],[11237,0,"}"],[11238,0,"$"],[11239,0,"}"],[11240,0,"\n"],[11241,0,"\\"],[11242,0,"L"],[11243,0,"e"],[11244,0,"f"],[11245,0,"t"],[11246,0,"L"],[11247,0,"a"],[11248,0,"b"],[11249,0,"e"],[11250,0,"l"],[11251,0,"{"],[11252,0,"$"],[11253,0,"\\"],[11254,0,"t"],[11255,0,"e"],[11256,0,"x"],[11257,0,"t"],[11258,0,"s"],[11259,0,"c"],[11260,0,"{"],[11261,0,"N"],[11262,0,"e"],[11263,0,"x"],[11264,0,"t"],[11265,0,"}"],[11266,0,"_"],[11267,0,"3"],[11268,0,"#"],[11268,1],[11268,0,"$"],[11269,0,"}"],[11270,0,"\n"],[11240,0,"\n"],[11241,0,"\\"],[11242,0,"A"],[11243,0,"x"],[11244,0,"i"],[11245,0,"o"],[11246,0,"m"],[11247,0,"C"],[11248,0,"{"],[11249,0,"$"],[11250,0,"\\"],[11251,0,"m"],[11252,0,"a"],[11253,0,"t"],[11254,0,"h"],[11255,0,"i"],[11256,0,"t"],[11257,0,"{"],[11258,0,"c"],[11259,0,"t"],[11260,0,"x"],[11261,0,"}"],[11262,0,","],[11263,0,"\\"],[11264,0,","],[11265,0," "],[11266,0,"\\"],[11267,0,"m"],[11268,0,"a"],[11269,0,"t"],[11270,0,"h"],[11271,0,"s"],[11272,0,"f"],[11273,0,"{"],[11274,0,"c"],[11275,0,"u"],[11276,0,"r"],[11277,0,"s"],[11278,0,"o"],[11279,0,"r"],[11280,0,"}"],[11281,0,"("],[11282,0,"\\"],[11283,0,"l"],[11284,0,"a"],[11285,0,"n"],[11286,0,"g"],[11287,0,"l"],[11288,0,"e"],[11289,0,"\\"],[11290,0,"r"],[11291,0,"a"],[11292,0,"n"],[11293,0,"g"],[11294,0,"l"],[11295,0,"e"],[11296,0,","],[11297,0,"\\"],[11298,0,","],[11299,0," "],[11300,0,"k"],[11301,0,"'"],[11302,0,")"],[11303,0,"."],[11304,0,"\\"],[11305,0,"m"],[11306,0,"a"],[11307,0,"t"],[11308,0,"h"],[11309,0,"s"],[11310,0,"f"],[11311,0,"{"],[11312,0,"n"],[11313,0,"e"],[11314,0,"x"],[11315,0,"t"],[11316,0,"}"],[11317,0," "],[11318,0,"\\"],[11319,0,"e"],[11320,0,"v"],[11321,0,"a"],[11322,0,"l"],[11323,0,"t"],[11324,0,"o"],[11325,0," "],[11326,0,"\\"],[11327,0,"m"],[11328,0,"a"],[11329,0,"t"],[11330,0,"h"],[11331,0,"i"],[11332,0,"t"],[11333,0,"{"],[11334,0,"c"],[11335,0,"u"],[11336,0,"r"],[11337,0,"}"],[11338,0,"'"],[11339,0,"$"],[11340,0,"}"],[11372,0,"\\"],[11373,0,"T"],[11374,0,"r"],[11375,0,"i"],[11376,0,"n"],[11377,0,"a"],[11378,0,"r"],[11379,0,"y"],[11380,0,"I"],[11381,0,"n"],[11382,0,"f"],[11383,0,"C"],[11384,0,"{"],[11385,0,"$"],[11386,0,"\\"],[11387,0,"m"],[11388,0,"a"],[11389,0,"t"],[11390,0,"h"],[11391,0,"i"],[11392,0,"t"],[11393,0,"{"],[11394,0,"c"],[11395,0,"t"],[11396,0,"x"],[11397,0,"}"],[11398,0,","],[11399,0,"\\"],[11400,0,","],[11401,0," "],[11402,0,"\\"],[11403,0,"m"],[11404,0,"a"],[11405,0,"t"],[11406,0,"h"],[11407,0,"s"],[11408,0,"f"],[11409,0,"{"],[11410,0,"c"],[11411,0,"u"],[11412,0,"r"],[11413,0,"s"],[11414,0,"o"],[11415,0,"r"],[11416,0,"}"],[11417,0,"("],[11418,0,"\\"],[11419,0,"l"],[11420,0,"a"],[11421,0,"n"],[11422,0,"g"],[11423,0,"l"],[11424,0,"e"],[11425,0,"\\"],[11426,0,"r"],[11427,0,"a"],[11428,0,"n"],[11429,0,"g"],[11430,0,"l"],[11431,0,"e"],[11432,0,","],[11433,0,"\\"],[11434,0,","],[11435,0," "],[11436,0,"k"],[11437,0,")"],[11438,0,"."],[11439,0,"\\"],[11440,0,"m"],[11441,0,"a"],[11442,0,"t"],[11443,0,"h"],[11444,0,"s"],[11445,0,"f"],[11446,0,"{"],[11447,0,"n"],[11448,0,"e"],[11449,0,"x"],[11450,0,"t"],[11451,0,"}"],[11452,0," "],[11453,0,"\\"],[11454,0,"e"],[11455,0,"v"],[11456,0,"a"],[11457,0,"l"],[11458,0,"t"],[11459,0,"o"],[11460,0," "],[11461,0,"\\"],[11462,0,"m"],[11463,0,"a"],[11464,0,"t"],[11465,0,"h"],[11466,0,"i"],[11467,0,"t"],[11468,0,"{"],[11469,0,"c"],[11470,0,"u"],[11471,0,"r"],[11472,0,"}"],[11473,0,"\""],[11473,1],[11473,0,"'"],[11474,0,"$"],[11475,0,"}"],[11763,1],[11763,0,"4"],[11229,0,"'"],[10898,0,"'"],[11972,0,"\n"],[11973,0,"\n"],[11974,0,"\\"],[11975,0,"["],[11976,0," "],[11977,0,"\\"],[11978,0,"m"],[11979,0,"a"],[11980,0,"t"],[11981,0,"h"],[11982,0,"r"],[11983,0,"m"],[11984,0,"{"],[11985,0,"k"],[11986,0,"e"],[11987,0,"y"],[11988,0,"s"],[11989,0,"}"],[11990,0,"("],[11991,0,"\\"],[11992,0,"m"],[11993,0,"a"],[11994,0,"t"],[11995,0,"h"],[11996,0,"i"],[11997,0,"t"],[11998,0,"{"],[11999,0,"c"],[12000,0,"t"],[12001,0,"x"],[12002,0,"}"],[12003,0,")"],[12004,0," "],[12005,0,"="],[12006,0," "],[12007,0,"\\"],[12008,0,"{"],[12009,0,"\\"],[12010,0,";"],[12011,0,"\n"],[12012,0,"\\"],[12013,0,";"],[12014,0,"\\"],[12015,0,"}"],[12016,0," "],[12017,0,"\\"],[12018,0,"]"],[12011,0,"\n"],[12012,0," "],[12013,0," "],[12014,0," "],[12015,0," "],[12016,0,"k"],[12017,0," "],[12018,0,"\\"],[12019,0,"m"],[12020,0,"i"],[12021,0,"d"],[12022,0," "],[12023,0,"\\"],[12024,0,"m"],[12025,0,"a"],[12026,0,"t"],[12027,0,"h"],[12028,0,"s"],[12029,0,"f"],[12030,0,"{"],[12031,0,"l"],[12032,0,"i"],[12032,1],[12031,1],[12030,1],[12030,0,"m"],[12030,1],[12030,0,"{"],[12031,0,"m"],[12032,0,"a"],[12033,0,"p"],[12034,0,"T"],[12035,0,"}"],[12036,0,"("],[12037,0,"k"],[12038,0,")"],[12039,0," "],[12040,0,"\\"],[12041,0,"i"],[12042,0,"n"],[12043,0," "],[12044,0,"\\"],[12045,0,"m"],[12046,0,"a"],[12047,0,"t"],[12048,0,"h"],[12049,0,"r"],[12050,0,"m"],[12051,0,"{"],[12052,0,"d"],[12053,0,"o"],[12054,0,"m"],[12055,0,"}"],[12056,0,"("],[12057,0,"c"],[12058,0,"t"],[12059,0,"x"],[12060,0,")"],[12061,0," "],[12062,0,"\\"],[12063,0,","],[12064,0,"\\"],[12065,0,"v"],[12066,0,"e"],[12067,0,"e"],[12068,0,"\\"],[12069,0,","],[12070,0," "],[12070,1],[12015,1],[12014,1],[12013,1],[12012,1],[12011,1],[12011,0," "],[12018,0,"\n"],[12019,0," "],[12020,0," "],[12021,0," "],[12070,0,"\n"],[12071,0," "],[12072,0," "],[12073,0," "],[12074,0," "],[12075,0,"\\"],[12076,0,"m"],[12077,0,"a"],[12078,0,"t"],[12079,0,"h"],[12080,0,"s"],[12081,0,"f"],[12082,0,"{"],[12083,0,"l"],[12084,0,"i"],[12085,0,"s"],[12086,0,"t"],[12087,0,"T"],[12088,0,"}"],[12089,0,"("],[12090,0,"k"],[12091,0,")"],[12092,0," "],[12093,0,"\\"],[12094,0,"i"],[12095,0,"n"],[12096,0," "],[12097,0,"\\"],[12098,0,"m"],[12099,0,"a"],[12100,0,"t"],[12101,0,"h"],[12102,0,"r"],[12103,0,"m"],[12104,0,"{"],[12105,0,"d"],[12106,0,"o"],[12107,0,"m"],[12108,0,"}"],[12109,0,"("],[12110,0,"c"],[12111,0,"t"],[12112,0,"x"],[12113,0,")"],[12114,0," "],[12115,0,"\\"],[12116,0,","],[12117,0,"\\"],[12118,0,"v"],[12119,0,"e"],[12120,0,"e"],[12121,0,"\\"],[12122,0,","],[12123,0,"\n"],[12124,0," "],[12125,0," "],[12126,0," "],[12127,0," "],[12128,0,"\\"],[12129,0,"m"],[12130,0,"a"],[12131,0,"t"],[12132,0,"h"],[12133,0,"s"],[12134,0,"f"],[12135,0,"{"],[12136,0,"r"],[12137,0,"e"],[12138,0,"g"],[12139,0,"T"],[12140,0,"}"],[12141,0,"("],[12142,0,"k"],[12143,0,")"],[12144,0," "],[12145,0,"\\"],[12146,0,"i"],[12147,0,"n"],[12148,0," "],[12149,0,"\\"],[12150,0,"m"],[12151,0,"a"],[12152,0,"t"],[12153,0,"h"],[12154,0,"r"],[12155,0,"m"],[12156,0,"{"],[12157,0,"d"],[12158,0,"o"],[12159,0,"m"],[12160,0,"}"],[12161,0,"("],[12162,0,"c"],[12163,0,"t"],[12164,0,"x"],[12165,0,")"],[12174,0,"\n"],[12175,0,"\n"],[12176,0,"\\"],[12177,0,"m"],[12178,0,"a"],[12179,0,"t"],[12180,0,"h"],[12181,0,"s"],[12182,0,"f"],[12183,0,"{"],[12184,0,"o"],[12185,0,"r"],[12185,1],[12184,1],[12183,1],[12182,1],[12181,1],[12180,1],[12179,1],[12178,1],[12177,1],[12177,0,"b"],[12178,0,"e"],[12179,0,"g"],[12180,0,"i"],[12181,0,"n"],[12182,0,"{"],[12183,0,"p"],[12184,0,"r"],[12185,0,"o"],[12186,0,"o"],[12187,0,"f"],[12188,0,"t"],[12189,0,"r"],[12190,0,"e"],[12191,0,"e"],[12192,0,"\\"],[12193,0,"="],[12193,1],[12192,1],[12192,0,"}"],[12193,0,"\n"],[12194,0,"\\"],[12195,0,"A"],[12196,0,"x"],[12197,0,"i"],[12198,0,"o"],[12199,0,"m"],[12200,0,"C"],[12201,0,"{"],[12202,0,"$"],[12203,0,"A"],[12204,0,"_"],[12205,0,"p"],[12206,0,","],[12207,0,"\\"],[12208,0,","],[12209,0," "],[12210,0,"\\"],[12211,0,"m"],[12212,0,"a"],[12213,0,"t"],[12214,0,"h"],[12215,0,"i"],[12216,0,"t"],[12217,0,"{"],[12218,0,"e"],[12219,0,"x"],[12220,0,"p"],[12221,0,"r"],[12222,0,"}"],[12223,0," "],[12224,0,"\\"],[12225,0,"e"],[12226,0,"v"],[12227,0,"a"],[12228,0,"l"],[12229,0,"t"],[12230,0,"o"],[12231,0," "],[12232,0,"\\"],[12233,0,"m"],[12234,0,"a"],[12235,0,"t"],[12236,0,"h"],[12237,0,"i"],[12238,0,"t"],[12239,0,"{"],[12240,0,"c"],[12241,0,"u"],[12242,0,"r"],[12243,0,"}"],[12244,0,"$"],[12245,0,"}"],[12246,0,"\n"],[12247,0,"\\"],[12248,0,"A"],[12249,0,"x"],[12250,0,"i"],[12251,0,"o"],[12252,0,"m"],[12253,0,"C"],[12254,0,"{"],[12255,0,"$"],[12256,0,"A"],[12257,0,"_"],[12258,0,"p"],[12259,0,","],[12260,0,"\\"],[12261,0,","],[12262,0," "],[12263,0,"\\"],[12264,0,"m"],[12265,0,"a"],[12266,0,"t"],[12267,0,"h"],[12268,0,"i"],[12269,0,"t"],[12270,0,"{"],[12271,0,"c"],[12272,0,"u"],[12273,0,"r"],[12274,0,"}"],[12275,0,"."],[12276,0,"\\"],[12277,0,"m"],[12278,0,"a"],[12279,0,"t"],[12280,0,"h"],[12281,0,"s"],[12282,0,"f"],[12283,0,"{"],[12284,0,"k"],[12285,0,"e"],[12286,0,"y"],[12287,0,"s"],[12288,0,"}"],[12289,0,"$"],[12290,0,"}"],[12289,0," "],[12290,0,"\\"],[12291,0,"e"],[12292,0,"v"],[12293,0,"a"],[12294,0,"l"],[12295,0,"t"],[12296,0,"o"],[12297,0," "],[12298,0,"\\"],[12299,0,"m"],[12300,0,"a"],[12301,0,"t"],[12302,0,"h"],[12303,0,"i"],[12304,0,"t"],[12305,0,"{"],[12306,0,"v"],[12307,0,"a"],[12308,0,"l"],[12308,1],[12307,1],[12306,1],[12306,0,"k"],[12307,0,"e"],[12308,0,"y"],[12309,0,"s"],[12310,0,"}"],[12313,0,"\n"],[12314,0,"\\"],[12315,0,"L"],[12316,0,"e"],[12317,0,"f"],[12318,0,"t"],[12319,0,"L"],[12320,0,"a"],[12321,0,"b"],[12322,0,"e"],[12323,0,"l"],[12324,0,"{"],[12325,0,"$"],[12326,0,"\\"],[12327,0,"t"],[12328,0,"e"],[12329,0,"x"],[12330,0,"t"],[12331,0,"s"],[12332,0,"c"],[12333,0,"{"],[12334,0,"K"],[12335,0,"e"],[12336,0,"y"],[12337,0,"s"],[12338,0,"}"],[12339,0,"_"],[12340,0,"1"],[12341,0,"$"],[12342,0,"}"],[12343,0,"\n"],[12344,0,"\\"],[12345,0,"B"],[12346,0,"i"],[12347,0,"n"],[12348,0,"a"],[12349,0,"r"],[12350,0,"y"],[12351,0,"I"],[12352,0,"n"],[12353,0,"f"],[12354,0,"C"],[12355,0,"{"],[12356,0,"$"],[12357,0,"A"],[12358,0,"_"],[12359,0,"p"],[12360,0,","],[12361,0,"\\"],[12362,0,","],[12363,0," "],[12364,0,"\\"],[12365,0,"m"],[12366,0,"a"],[12367,0,"t"],[12368,0,"h"],[12369,0,"i"],[12370,0,"t"],[12371,0,"{"],[12372,0,"e"],[12373,0,"x"],[12374,0,"p"],[12375,0,"r"],[12376,0,"}"],[12377,0,"."],[12378,0,"\\"],[12379,0,"m"],[12380,0,"a"],[12381,0,"t"],[12382,0,"h"],[12383,0,"s"],[12384,0,"f"],[12385,0,"{"],[12386,0,"k"],[12387,0,"e"],[12388,0,"y"],[12389,0,"s"],[12390,0,"}"],[12391,0," "],[12392,0,"\\"],[12393,0,"e"],[12394,0,"v"],[12395,0,"a"],[12396,0,"l"],[12397,0,"t"],[12398,0,"o"],[12399,0," "],[12400,0,"\\"],[12401,0,"m"],[12402,0,"a"],[12403,0,"t"],[12404,0,"h"],[12405,0,"i"],[12406,0,"t"],[12407,0,"{"],[12408,0,"k"],[12409,0,"e"],[12410,0,"y"],[12411,0,"s"],[12412,0,"}"],[12413,0,"$"],[12414,0,"}"],[12415,0,"\n"],[12416,0,"\\"],[12417,0,"e"],[12418,0,"n"],[12419,0,"d"],[12420,0,"{"],[12421,0,"P"],[12421,1],[12421,0,"p"],[12422,0,"r"],[12423,0,"o"],[12424,0,"o"],[12425,0,"f"],[12426,0,"t"],[12427,0,"r"],[12428,0,"e"],[12429,0,"e"],[12430,0,"}"],[12057,0,"\\"],[12058,0,"m"],[12059,0,"a"],[12060,0,"t"],[12061,0,"h"],[12062,0,"i"],[12063,0,"t"],[12064,0,"{"],[12068,0,"}"],[12119,0,"\\"],[12120,0,"m"],[12121,0,"a"],[12122,0,"t"],[12123,0,"h"],[12124,0,"i"],[12125,0,"t"],[12126,0,"{"],[12130,0,"}"],[12180,0,"\\"],[12181,0,"m"],[12182,0,"a"],[12183,0,"t"],[12184,0,"h"],[12185,0,"i"],[12186,0,"t"],[12187,0,"{"],[12191,0,"}"],[12163,0," "],[12040,0," "],[12460,0,"\n"],[12461,0,"\n"],[12462,0,"\\"],[12463,0,"b"],[12464,0,"e"],[12465,0,"g"],[12466,0,"i"],[12467,0,"n"],[12468,0,"{"],[12469,0,"p"],[12470,0,"r"],[12471,0,"o"],[12472,0,"o"],[12473,0,"f"],[12474,0,"t"],[12475,0,"r"],[12476,0,"e"],[12477,0,"e"],[12478,0,"}"],[12479,0,"\n"],[12480,0,"\\"],[12481,0,"e"],[12482,0,"n"],[12483,0,"d"],[12484,0,"{"],[12485,0,"p"],[12486,0,"r"],[12487,0,"o"],[12488,0,"o"],[12489,0,"f"],[12490,0,"t"],[12491,0,"r"],[12492,0,"e"],[12493,0,"e"],[12494,0,"}"],[12479,0,"\n"],[12480,0,"\\"],[12481,0,"A"],[12482,0,"x"],[12483,0,"i"],[12484,0,"o"],[12485,0,"m"],[12486,0,"C"],[12487,0,"{"],[12488,0,"$"],[12489,0,"\\"],[12490,0,"m"],[12491,0,"a"],[12492,0,"t"],[12493,0,"h"],[12494,0,"i"],[12495,0,"t"],[12496,0,"{"],[12497,0,"c"],[12498,0,"t"],[12499,0,"x"],[12500,0,"}"],[12501,0,"("],[12502,0,"\\"],[12503,0,"m"],[12504,0,"a"],[12505,0,"t"],[12506,0,"h"],[12507,0,"s"],[12508,0,"f"],[12509,0,"{"],[12510,0,"m"],[12511,0,"a"],[12512,0,"p"],[12513,0,"T"],[12514,0,"}"],[12515,0,"("],[12516,0,"k"],[12517,0,")"],[12518,0,")"],[12489,0,"\\"],[12490,0,"m"],[12491,0,"a"],[12492,0,"t"],[12493,0,"h"],[12494,0,"r"],[12495,0,"m"],[12496,0,"{"],[12497,0,"k"],[12498,0,"e"],[12499,0,"y"],[12500,0,"s"],[12501,0,"}"],[12502,0,"("],[12533,0,")"],[12495,1],[12494,1],[12494,0,"i"],[12495,0,"t"],[12497,1],[12497,1],[12497,1],[12497,1],[12497,0,"m"],[12498,0,"a"],[12499,0,"p"],[12501,0," "],[12502,0,"="],[12503,0," "],[12504,1],[12534,1],[12534,0,"$"],[12535,0,"}"],[12536,0,"\n"],[12537,0,"\\"],[12538,0,"A"],[12539,0,"x"],[12540,0,"i"],[12541,0,"o"],[12542,0,"m"],[12543,0,"C"],[12544,0,"{"],[12545,0,"$"],[12546,0,"\\"],[12547,0,"m"],[12548,0,"a"],[12549,0,"t"],[12550,0,"h"],[12551,0,"i"],[12552,0,"t"],[12553,0,"{"],[12554,0,"k"],[12555,0,"e"],[12556,0,"y"],[12557,0,"s"],[12558,0,"}"],[12559,0," "],[12560,0,"="],[12561,0," "],[12562,0,"\\"],[12563,0,"{"],[12564,0,"\\"],[12565,0,";"],[12566,0," "],[12567,0,"k"],[12568,0," "],[12569,0,"\\"],[12570,0,"m"],[12571,0,"i"],[12572,0,"d"],[12573,0," "],[12574,0,"k"],[12575,0," "],[12576,0,"\\"],[12577,0,"i"],[12578,0,"n"],[12579,0," "],[12580,0,"\\"],[12581,0,"m"],[12582,0,"a"],[12583,0,"t"],[12584,0,"h"],[12585,0,"r"],[12586,0,"m"],[12587,0,"{"],[12588,0,"k"],[12589,0,"e"],[12590,0,"y"],[12591,0,"s"],[12592,0,"}"],[12593,0,"("],[12594,0,"\\"],[12595,0,"m"],[12596,0,"a"],[12597,0,"t"],[12598,0,"h"],[12599,0,"i"],[12600,0,"t"],[12601,0,"{"],[12602,0,"m"],[12603,0,"a"],[12604,0,"p"],[12605,0,"}"],[12606,0,")"],[12607,0," "],[12608,0,"\\"],[12609,0,","],[12610,0,"\\"],[12611,0,"w"],[12612,0,"e"],[12613,0,"d"],[12614,0,"g"],[12615,0,"e"],[12616,0,"\\"],[12617,0,","],[12618,0,"\n"],[12619,0," "],[12620,0," "],[12621,0," "],[12622,0," "],[12623,0,"\\"],[12624,0,"m"],[12625,0,"a"],[12626,0,"t"],[12627,0,"h"],[12628,0,"i"],[12629,0,"t"],[12630,0,"{"],[12631,0,"m"],[12632,0,"a"],[12633,0,"p"],[12634,0,"}"],[12635,0,"("],[12636,0,"\\"],[12637,0,"m"],[12638,0,"a"],[12639,0,"t"],[12640,0,"h"],[12641,0,"s"],[12642,0,"f"],[12643,0,"{"],[12644,0,"p"],[12645,0,"r"],[12646,0,"e"],[12647,0,"s"],[12648,0,"}"],[12649,0,"("],[12650,0,"k"],[12651,0,")"],[12652,0,")"],[12653,0," "],[12654,0,"\\"],[12655,0,"n"],[12656,0,"o"],[12657,0,"t"],[12658,0,"="],[12659,0," "],[12660,0,"\\"],[12661,0,"{"],[12662,0,"\\"],[12663,0,"}"],[12664,0," "],[12665,0,"\\"],[12666,0,";"],[12667,0,"\\"],[12668,0,"}"],[12669,0,"$"],[12670,0,"}"],[12671,0,"\n"],[12672,0,"\\"],[12673,0,"L"],[12674,0,"e"],[12675,0,"f"],[12676,0,"t"],[12677,0,"L"],[12678,0,"a"],[12679,0,"b"],[12680,0,"e"],[12681,0,"l"],[12682,0,"{"],[12683,0,"$"],[12684,0,"\\"],[12685,0,"t"],[12686,0,"e"],[12687,0,"x"],[12688,0,"t"],[12689,0,"s"],[12690,0,"c"],[12691,0,"{"],[12692,0,"K"],[12693,0,"e"],[12694,0,"y"],[12695,0,"s"],[12696,0,"}"],[12697,0,"_"],[12698,0,"2"],[12699,0,"$"],[12700,0,"}"],[12701,0,"\n"],[12702,0,"\\"],[12703,0,"B"],[12704,0,"i"],[12705,0,"n"],[12706,0,"a"],[12707,0,"r"],[12708,0,"y"],[12709,0,"I"],[12710,0,"n"],[12711,0,"f"],[12712,0,"C"],[12713,0,"{"],[12714,0,"$"],[12715,0,"A"],[12716,0,"_"],[12717,0,"p"],[12718,0,","],[12719,0,"\\"],[12720,0,","],[12721,0," "],[12722,0,"\\"],[12723,0,"m"],[12724,0,"a"],[12725,0,"t"],[12726,0,"h"],[12726,1],[12725,1],[12724,1],[12723,1],[12723,0,"m"],[12724,0,"a"],[12725,0,"t"],[12726,0,"h"],[12727,0,"s"],[12728,0,"f"],[12729,0,"{"],[12730,0,"c"],[12731,0,"u"],[12732,0,"r"],[12733,0,"s"],[12734,0,"o"],[12735,0,"r"],[12736,0,"}"],[12737,0,"("],[12738,0,"\\"],[12739,0,"l"],[12740,0,"a"],[12741,0,"n"],[12742,0,"g"],[12743,0,"l"],[12744,0,"e"],[12745,0,"\\"],[12746,0,"r"],[12747,0,"a"],[12748,0,"n"],[12749,0,"g"],[12750,0,"l"],[12751,0,"e"],[12752,0,","],[12753,0,"\\"],[12754,0,","],[12755,0," "],[12756,0,"k"],[12757,0,")"],[12758,0,"."],[12759,0,"\\"],[12760,0,"m"],[12761,0,"a"],[12762,0,"t"],[12763,0,"h"],[12764,0,"s"],[12765,0,"f"],[12766,0,"{"],[12767,0,"k"],[12768,0,"e"],[12769,0,"y"],[12770,0,"s"],[12771,0,"}"],[12772,0," "],[12773,0,"\\"],[12774,0,"e"],[12775,0,"v"],[12776,0,"a"],[12777,0,"l"],[12778,0,"t"],[12779,0,"o"],[12780,0," "],[12781,0,"\\"],[12782,0,"m"],[12783,0,"a"],[12784,0,"t"],[12785,0,"h"],[12786,0,"i"],[12787,0,"t"],[12788,0,"{"],[12789,0,"k"],[12790,0,"e"],[12791,0,"y"],[12792,0,"s"],[12793,0,"}"],[12794,0,"$"],[12795,0,"}"],[12812,0,"\n"],[12813,0,"\n"],[12814,0,"\\"],[12815,0,"b"],[12816,0,"e"],[12817,0,"g"],[12818,0,"i"],[12819,0,"n"],[12820,0,"{"],[12821,0,"p"],[12822,0,"r"],[12823,0,"o"],[12824,0,"o"],[12825,0,"f"],[12826,0,"t"],[12827,0,"r"],[12828,0,"e"],[12829,0,"e"],[12830,0,"}"],[12831,0,"\n"],[12832,0,"\\"],[12833,0,"e"],[12834,0,"n"],[12835,0,"d"],[12836,0,"{"],[12837,0,"p"],[12838,0,"r"],[12839,0,"o"],[12840,0,"o"],[12841,0,"f"],[12842,0,"t"],[12843,0,"r"],[12844,0,"e"],[12845,0,"e"],[12846,0,"}"],[12831,0,"\n"],[12832,0,"\\"],[12833,0,"A"],[12834,0,"x"],[12835,0,"i"],[12836,0,"o"],[12837,0,"m"],[12838,0,"C"],[12839,0,"{"],[12840,0,"$"],[12841,0,"k"],[12842,0,"_"],[12843,0,"1"],[12844,0," "],[12845,0,"\\"],[12846,0,"i"],[12847,0,"n"],[12848,0," "],[12849,0,"\\"],[12850,0,"m"],[12851,0,"a"],[12852,0,"t"],[12853,0,"h"],[12854,0,"r"],[12855,0,"m"],[12856,0,"{"],[12857,0,"d"],[12858,0,"o"],[12859,0,"m"],[12860,0,"}"],[12861,0,"("],[12862,0,"\\"],[12863,0,"m"],[12864,0,"a"],[12865,0,"t"],[12866,0,"h"],[12867,0,"i"],[12868,0,"t"],[12869,0,"{"],[12870,0,"c"],[12871,0,"t"],[12872,0,"x"],[12873,0,"}"],[12874,0,")"],[12875,0,"$"],[12876,0,"}"],[12877,0,"\n"],[12878,0,"\\"],[12879,0,"A"],[12880,0,"x"],[12881,0,"i"],[12882,0,"o"],[12883,0,"m"],[12884,0,"C"],[12885,0,"{"],[12886,0,"$"],[12887,0,"\\"],[12888,0,"m"],[12889,0,"a"],[12890,0,"t"],[12891,0,"h"],[12892,0,"i"],[12893,0,"t"],[12894,0,"{"],[12895,0,"c"],[12896,0,"t"],[12897,0,"x"],[12898,0,"}"],[12899,0,"("],[12900,0,"k"],[12901,0,"_"],[12902,0,"1"],[12903,0,")"],[12904,0,","],[12905,0,"\\"],[12906,0,","],[12907,0," "],[12908,0,"\\"],[12909,0,"m"],[12910,0,"a"],[12911,0,"t"],[12912,0,"h"],[12913,0,"s"],[12914,0,"f"],[12915,0,"{"],[12916,0,"c"],[12917,0,"u"],[12918,0,"r"],[12919,0,"s"],[12920,0,"o"],[12921,0,"r"],[12922,0,"("],[12923,0,"\\"],[12924,0,"l"],[12925,0,"a"],[12926,0,"n"],[12927,0,"g"],[12928,0,"l"],[12929,0,"e"],[12930,0," "],[12931,0,"k"],[12932,0,"_"],[12933,0,"2"],[12934,0,","],[12935,0," "],[12936,0,"\\"],[12937,0,"d"],[12938,0,"o"],[12939,0,"t"],[12940,0,"s"],[12941,0,","],[12942,0," "],[12943,0,"k"],[12944,0,"_"],[12945,0,"{"],[12946,0,"n"],[12947,0,"-"],[12948,0,"1"],[12949,0,"}"],[12950,0," "],[12951,0,"\\"],[12952,0,"r"],[12953,0,"a"],[12954,0,"n"],[12955,0,"g"],[12956,0,"l"],[12957,0,"e"],[12958,0,","],[12959,0,"\\"],[12960,0,","],[12961,0," "],[12962,0,"k"],[12963,0,"_"],[12964,0,"n"],[12965,0,")"],[12966,0,"."],[12967,0,"\\"],[12968,0,"m"],[12969,0,"a"],[12970,0,"t"],[12971,0,"h"],[12972,0,"s"],[12973,0,"f"],[12974,0,"{"],[12975,0,"k"],[12976,0,"e"],[12977,0,"y"],[12978,0,"s"],[12979,0,"}"],[12980,0,"\n"],[12981,0," "],[12982,0," "],[12983,0," "],[12984,0," "],[12985,0,"\\"],[12986,0,"e"],[12987,0,"v"],[12988,0,"a"],[12989,0,"l"],[12990,0,"t"],[12991,0,"o"],[12992,0," "],[12993,0,"\\"],[12994,0,"m"],[12995,0,"a"],[12996,0,"t"],[12997,0,"h"],[12998,0,"i"],[12999,0,"t"],[13000,0,"{"],[13001,0,"k"],[13002,0,"e"],[13003,0,"y"],[13004,0,"s"],[13005,0,"}"],[13006,0,"$"],[13007,0,"}"],[13008,0,"\n"],[13009,0,"\\"],[13010,0,"L"],[13011,0,"e"],[13012,0,"f"],[13013,0,"t"],[13014,0,"L"],[13015,0,"a"],[13016,0,"b"],[13017,0,"e"],[13018,0,"l"],[13019,0,"{"],[13020,0,"$"],[13021,0,"\\"],[13022,0,"t"],[13023,0,"e"],[13024,0,"x"],[13025,0,"t"],[13026,0,"s"],[13027,0,"c"],[13028,0,"{"],[13029,0,"K"],[13030,0,"e"],[13031,0,"y"],[13032,0,"s"],[13033,0,"}"],[13034,0,"_"],[13035,0,"3"],[13036,0,"#"],[13037,0,"}"],[13037,1],[13036,1],[13036,0,"$"],[13037,0,"}"],[13038,0,"\n"],[13039,0,"\\"],[13040,0,"B"],[13041,0,"i"],[13042,0,"n"],[13043,0,"a"],[13044,0,"r"],[13045,0,"y"],[13046,0,"I"],[13047,0,"n"],[13048,0,"f"],[13049,0,"C"],[13050,0,"{"],[13051,0,"$"],[13052,0,"\\"],[13053,0,"m"],[13054,0,"a"],[13055,0,"t"],[13056,0,"h"],[13057,0,"i"],[13058,0,"t"],[13059,0,"{"],[13060,0,"c"],[13061,0,"t"],[13062,0,"x"],[13063,0,"}"],[13064,0,","],[13065,0,"\\"],[13066,0,","],[13067,0," "],[13068,0,"\\"],[13069,0,"m"],[13070,0,"a"],[13071,0,"t"],[13072,0,"h"],[13073,0,"s"],[13074,0,"f"],[13075,0,"{"],[13076,0,"c"],[13077,0,"u"],[13078,0,"r"],[13079,0,"s"],[13080,0,"o"],[13081,0,"r"],[13082,0,"}"],[13083,0,"("],[13084,0,"\\"],[13085,0,"l"],[13086,0,"a"],[13087,0,"n"],[13088,0,"g"],[13089,0,"l"],[13090,0,"e"],[13091,0," "],[13092,0,"k"],[13093,0,"_"],[13094,0,"1"],[13095,0,","],[13096,0," "],[13097,0,"k"],[13098,0,"_"],[13099,0,"2"],[13100,0,","],[13101,0," "],[13102,0,"\\"],[13103,0,"d"],[13104,0,"o"],[13105,0,"t"],[13106,0,"s"],[13107,0,","],[13108,0," "],[13109,0,"k"],[13110,0,"_"],[13111,0,"{"],[13112,0,"n"],[13113,0,"-"],[13114,0,"1"],[13115,0,"]"],[13115,1],[13115,0,"}"],[13116,0," "],[13117,0,"\\"],[13118,0,"r"],[13119,0,"a"],[13120,0,"n"],[13121,0,"g"],[13122,0,"l"],[13123,0,"e"],[13124,0,"\\"],[13124,1],[13124,0,","],[13125,0,"\\"],[13126,0,","],[13127,0," "],[13128,0,"k"],[13129,0,"_"],[13130,0,"n"],[13131,0,")"],[13132,0,"."],[13133,0,"\\"],[13134,0,"m"],[13135,0,"a"],[13136,0,"t"],[13137,0,"h"],[13138,0,"s"],[13139,0,"f"],[13140,0,"{"],[13141,0,"k"],[13142,0,"e"],[13143,0,"y"],[13144,0,"s"],[13145,0,"}"],[13146,0,"\n"],[13147,0," "],[13148,0," "],[13149,0," "],[13150,0," "],[13151,0,"\\"],[13152,0,"e"],[13153,0,"v"],[13154,0,"a"],[13155,0,"l"],[13156,0,"t"],[13157,0,"o"],[13158,0," "],[13159,0,"\\"],[13160,0,"m"],[13161,0,"a"],[13162,0,"t"],[13163,0,"h"],[13164,0,"i"],[13165,0,"t"],[13166,0,"{"],[13167,0,"k"],[13168,0,"e"],[13169,0,"y"],[13170,0,"s"],[13171,0,"}"],[13172,0,"$"],[13173,0,"}"],[12922,0,"}"],[4881,0," "],[4881,1],[5128,0," "],[5129,0,"T"],[5130,0,"h"],[5131,0,"e"],[5132,0," "],[5133,0,"f"],[5134,0,"e"],[5135,0,"a"],[5136,0,"t"],[5137,0,"u"],[5138,0,"r"],[5139,0,"e"],[5140,0,"s"],[5141,0," "],[5142,0,"o"],[5143,0,"f"],[5144,0," "],[5145,0,"t"],[5146,0,"h"],[5147,0,"e"],[5148,0," "],[5149,0,"A"],[5150,0,"P"],[5151,0,"I"],[5152,0," "],[5152,1],[5151,1],[5150,1],[5149,1],[5148,1],[5147,1],[5146,1],[5145,1],[5144,1],[5143,1],[5142,1],[5141,1],[5140,1],[5139,1],[5138,1],[5137,1],[5136,1],[5135,1],[5134,1],[5133,1],[5133,0,"A"],[5134,0,"P"],[5135,0,"I"],[5136,0," "],[5137,0,"d"],[5138,0,"i"],[5139,0,"f"],[5140,0,"f"],[5141,0,"e"],[5142,0,"r"],[5143,0,"s"],[5144,0," "],[5145,0,"s"],[5146,0,"l"],[5147,0,"i"],[5148,0,"g"],[5149,0,"h"],[5150,0,"t"],[5151,0,"l"],[5152,0,"y"],[5153,0," "],[5154,0,"f"],[5155,0,"r"],[5156,0,"o"],[5157,0,"m"],[5158,0," "],[5159,0,"t"],[5160,0,"h"],[5161,0,"e"],[5162,0," "],[5163,0,"J"],[5164,0,"S"],[5165,0,"O"],[5166,0,"N"],[5167,0," "],[5168,0,"l"],[5169,0,"i"],[5170,0,"b"],[5171,0,"r"],[5172,0,"i"],[5173,0,"a"],[5174,0,"r"],[5175,0,"i"],[5176,0,"e"],[5177,0,"s"],[5178,0," "],[5172,1],[5178,0,"f"],[5179,0,"o"],[5180,0,"u"],[5181,0,"n"],[5182,0,"d"],[5183,0," "],[5184,0,"i"],[5185,0,"n"],[5186,0," "],[5187,0,"m"],[5188,0,"a"],[5189,0,"n"],[5190,0,"y"],[5191,0," "],[5192,0,"p"],[5193,0,"r"],[5194,0,"o"],[5195,0,"g"],[5196,0,"r"],[5197,0,"a"],[5198,0,"m"],[5199,0,"m"],[5200,0,"i"],[5201,0,"n"],[5202,0,"g"],[5203,0," "],[5204,0,"l"],[5205,0,"a"],[5206,0,"n"],[5207,0,"g"],[5208,0,"u"],[5209,0,"a"],[5210,0,"g"],[5211,0,"e"],[5212,0,"s"],[5213,0,","],[5214,0," "],[5215,0,"i"],[5216,0,"n"],[5217,0," "],[5218,0,"o"],[5219,0,"r"],[5220,0,"d"],[5221,0,"e"],[5222,0,"r"],[5223,0," "],[5224,0,"t"],[5225,0,"o"],[5226,0," "],[5227,0,"a"],[5228,0,"l"],[5229,0,"l"],[5230,0,"o"],[5231,0,"w"],[5232,0," "],[5233,0,"u"],[5234,0,"s"],[5235,0," "],[5236,0,"t"],[5237,0,"o"],[5238,0," "],[5239,0,"d"],[5240,0,"e"],[5241,0,"f"],[5242,0,"i"],[5243,0,"n"],[5244,0,"e"],[5245,0," "],[5246,0,"c"],[5247,0,"o"],[5248,0,"n"],[5249,0,"s"],[5250,0,"i"],[5251,0,"s"],[5252,0,"t"],[5253,0,"e"],[5254,0,"n"],[5255,0,"t"],[5256,0," "],[5257,0,"m"],[5258,0,"e"],[5259,0,"r"],[5260,0,"g"],[5261,0,"e"],[5262,0," "],[5263,0,"s"],[5264,0,"e"],[5265,0,"m"],[5266,0,"a"],[5267,0,"n"],[5268,0,"t"],[5269,0,"i"],[5270,0,"c"],[5271,0,"s"],[5272,0,"."],[5423,0,","],[5424,0," "],[5425,0,"a"],[5426,0,"n"],[5427,0,"d"],[5428,0," "],[5429,0,"t"],[5430,0,"o"],[5431,0," "],[5432,0,"c"],[5433,0,"o"],[5434,0,"n"],[5435,0,"s"],[5436,0,"t"],[5437,0,"r"],[5438,0,"u"],[5439,0,"c"],[5440,0,"t"],[5441,0," "],[5442,0,"a"],[5443,0," "],[5444,0,"\\"],[5445,0,"e"],[5446,0,"m"],[5447,0,"p"],[5448,0,"h"],[5449,0,"{"],[5450,0,"c"],[5451,0,"u"],[5452,0,"r"],[5453,0,"s"],[5454,0,"o"],[5455,0,"r"],[5456,0,"}"],[5457,0," "],[5458,0,"w"],[5459,0,"h"],[5460,0,"i"],[5461,0,"c"],[5462,0,"h"],[5463,0," "],[5464,0,"i"],[5465,0,"d"],[5466,0,"e"],[5467,0,"n"],[5468,0,"t"],[5469,0,"i"],[5470,0,"f"],[5471,0,"i"],[5472,0,"e"],[5473,0,"s"],[5474,0," "],[5475,0,"a"],[5476,0," "],[5477,0,"p"],[5478,0,"o"],[5479,0,"s"],[5480,0,"i"],[5481,0,"t"],[5482,0,"i"],[5483,0,"o"],[5484,0,"n"],[5485,0," "],[5486,0,"i"],[5487,0,"n"],[5488,0," "],[5489,0,"t"],[5490,0,"h"],[5491,0,"e"],[5492,0," "],[5493,0,"d"],[5494,0,"o"],[5495,0,"c"],[5496,0,"u"],[5497,0,"m"],[5498,0,"e"],[5499,0,"n"],[5500,0,"t"],[5749,1],[5748,1],[5747,1],[5746,1],[5745,1],[5744,1],[5743,1],[5742,1],[5741,1],[5740,1],[5739,1],[5738,1],[5737,1],[5736,1],[5735,1],[5734,1],[5733,1],[5732,1],[5731,1],[5730,1],[5729,1],[5728,1],[5727,1],[5726,1],[5725,1],[5724,1],[5723,1],[5722,1],[5721,1],[5720,1],[5719,1],[5718,1],[5717,1],[5716,1],[5715,1],[5714,1],[5713,1],[5712,1],[5711,1],[5710,1],[5709,1],[5708,1],[5707,1],[5706,1],[5705,1],[5704,1],[5691,1],[5690,1],[5689,1],[5689,0,"M"],[5690,0,"o"],[5691,0,"v"],[5692,0,"i"],[5693,0,"n"],[5694,0,"g"],[5695,0," "],[5696,0,"l"],[5697,0,"e"],[5698,0,"f"],[5699,0,"t"],[5700,0," "],[5701,0,"t"],[5702,0,"o"],[5703,0," "],[5704,0,"r"],[5705,0,"i"],[5706,0,"g"],[5707,0,"h"],[5708,0,"t"],[5709,0," "],[5710,0,"t"],[5711,0,"h"],[5712,0,"r"],[5713,0,"o"],[5714,0,"u"],[5715,0,"g"],[5716,0,"h"],[5717,0," "],[5718,0,"t"],[5719,0,"h"],[5720,0,"e"],[5732,0,","],[5733,0," "],[5734,1],[5734,0,"t"],[5735,0,"h"],[5736,0,"e"],[5737,0," "],[5738,0,"c"],[5739,0,"u"],[5740,0,"r"],[5741,0,"s"],[5742,0,"o"],[5743,0,"r"],[5744,0," "],[5745,0,"i"],[5746,0,"s"],[5747,0," "],[5748,0,"n"],[5749,0,"a"],[5750,0,"v"],[5751,0,"i"],[5752,0,"g"],[5753,0,"a"],[5754,0,"t"],[5755,0,"e"],[5756,0,"d"],[5757,0," "],[5758,0,"t"],[5759,0,"h"],[5760,0,"r"],[5761,0,"o"],[5762,0,"u"],[5763,0,"g"],[5764,0,"h"],[5765,0," "],[5766,0,"t"],[5767,0,"h"],[5768,0,"e"],[5769,0," "],[5770,0,"t"],[5771,0,"r"],[5772,0,"e"],[5773,0,"e"],[5776,0,"t"],[5777,0,"h"],[5778,0,"e"],[5779,0," "],[5780,0,"s"],[5781,0,"u"],[5782,0,"b"],[5783,0,"s"],[5784,0,"c"],[5785,0,"r"],[5786,0,"i"],[5787,0,"p"],[5788,0,"t"],[5789,0," "],[5790,0,"o"],[5791,0,"p"],[5792,0,"e"],[5793,0,"r"],[5794,0,"a"],[5795,0,"t"],[5796,0,"o"],[5797,0,"r"],[5798,0," "],[5799,0,"\\"],[5800,0,"v"],[5801,0,"e"],[5802,0,"r"],[5803,0,"b"],[5804,0,"|"],[5805,0,"["],[5806,0,"\""],[5807,0,"k"],[5808,0,"e"],[5809,0,"y"],[5810,0,"\""],[5811,0,"]"],[5812,0,"|"],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5813,1],[5893,1],[5893,0," "],[5894,0,"a"],[5895,0,"n"],[5896,0,"d"],[5956,1],[5956,0,"."],[5957,0,"\n"],[5958,0,"\n"],[5959,0,"T"],[5960,0,"h"],[5961,0,"e"],[5962,0," "],[5963,0,"e"],[5964,0,"x"],[5965,0,"p"],[5966,0,"r"],[5967,0,"e"],[5968,0,"s"],[5969,0,"s"],[5970,0,"i"],[5971,0,"o"],[5972,0,"n"],[5973,0," "],[5974,0,"c"],[5975,0,"o"],[5976,0,"n"],[5977,0,"s"],[5978,0,"t"],[5979,0,"r"],[5980,0,"u"],[5981,0,"c"],[5982,0,"t"],[5983,0," "],[5984,0,"E"],[5985,0,"X"],[5986,0,"P"],[5987,0,"R"],[5988,0," "],[5989,0,"c"],[5990,0,"a"],[5991,0,"n"],[5992,0," "],[5993,0,"a"],[5994,0,"l"],[5995,0,"s"],[5996,0,"o"],[5997,0," "],[5998,0,"q"],[5999,0,"u"],[6000,0,"e"],[6001,0,"r"],[6002,0,"y"],[6003,0," "],[6004,0,"t"],[6005,0,"h"],[6006,0,"e"],[6007,0," "],[6008,0,"s"],[6009,0,"t"],[6010,0,"a"],[6011,0,"t"],[6012,0,"e"],[6013,0," "],[6014,0,"o"],[6015,0,"f"],[6016,0," "],[6017,0,"t"],[6018,0,"h"],[6019,0,"e"],[6020,0," "],[6021,0,"d"],[6022,0,"o"],[6023,0,"c"],[6024,0,"u"],[6025,0,"m"],[6026,0,"e"],[6027,0,"n"],[6028,0,"t"],[6029,0,":"],[6072,1],[6072,0,"t"],[6073,0,"h"],[6074,0,"e"],[6079,0," "],[6080,0,"a"],[6081,0,"t"],[6082,0," "],[6083,0,"t"],[6084,0,"h"],[6085,0,"e"],[6086,0," "],[6087,0,"c"],[6088,0,"u"],[6089,0,"r"],[6090,0,"r"],[6091,0,"e"],[6092,0,"n"],[6093,0,"t"],[6094,0," "],[6095,0,"c"],[6096,0,"u"],[6097,0,"r"],[6098,0,"s"],[6099,0,"o"],[6100,0,"r"],[6171,0," "],[6172,0,"c"],[6173,0,"u"],[6174,0,"r"],[6175,0,"s"],[6176,0,"o"],[6177,0,"r"],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6178,1],[6214,1],[6213,1],[6212,1],[6212,0,"i"],[6213,0,"f"],[6214,0," "],[6215,0,"t"],[6216,0,"h"],[6217,0,"e"],[6218,0," "],[6219,0,"c"],[6220,0,"u"],[6221,0,"r"],[6222,0,"s"],[6223,0,"o"],[6224,0,"r"],[6225,0," "],[6226,0,"r"],[6227,0,"e"],[6228,0,"f"],[6229,0,"e"],[6230,0,"r"],[6231,0,"s"],[6232,0," "],[6233,0,"t"],[6234,0,"o"],[6235,0," "],[6236,0,"a"],[6237,0," "],[6237,1],[6249,1],[6249,1],[6249,1],[6249,1],[6249,1],[6249,1],[5430,1],[5429,1],[5428,1],[5427,1],[5426,1],[5425,1],[5424,1],[5423,1],[5422,1],[5421,1],[5420,1],[5419,1],[5418,1],[5417,1],[5416,1],[5415,1],[5414,1],[5413,1],[5412,1],[5411,1],[5410,1],[5409,1],[5408,1],[5407,1],[5406,1],[5405,1],[5404,1],[5403,1],[5402,1],[5401,1],[5400,1],[5399,1],[5398,1],[5397,1],[5396,1],[5395,1],[5394,1],[5393,1],[6586,0," "],[6587,0,"p"],[6588,0,"a"],[6589,0,"r"],[6590,0,"t"],[6591,0," "],[6592,0,"o"],[6593,0,"f"],[6594,0," "],[6595,0,"t"],[6596,0,"h"],[6597,0,"e"],[6598,0," "],[6599,0,"d"],[6600,0,"o"],[6601,0,"c"],[6602,0,"u"],[6603,0,"m"],[6604,0,"e"],[6605,0,"n"],[6606,0,"t"],[6607,0," "],[6608,0,"b"],[6609,0,"e"],[6610,0,"i"],[6611,0,"n"],[6612,0,"g"],[6613,0," "],[6614,0,"m"],[6615,0,"o"],[6616,0,"d"],[6617,0,"i"],[6618,0,"f"],[6619,0,"i"],[6620,0,"e"],[6621,0,"d"],[6622,0," "],[6623,0,"i"],[6624,0,"s"],[6625,0," "],[6626,0,"i"],[6627,0,"d"],[6628,0,"e"],[6629,0,"n"],[6630,0,"t"],[6631,0,"i"],[6632,0,"f"],[6633,0,"i"],[6634,0,"e"],[6635,0,"d"],[6636,0," "],[6637,0,"b"],[6638,0,"y"],[6639,0," "],[6639,1],[6638,1],[6637,1],[6636,1],[6635,1],[6634,1],[6633,1],[6632,1],[6631,1],[6630,1],[6629,1],[6628,1],[6627,1],[6626,1],[6625,1],[6624,1],[6623,1],[6622,1],[6621,1],[6620,1],[6619,1],[6618,1],[6617,1],[6616,1],[6615,1],[6614,1],[6613,1],[6612,1],[6611,1],[6610,1],[6609,1],[6608,1],[6607,1],[6606,1],[6605,1],[6604,1],[6603,1],[6602,1],[6601,1],[6600,1],[6599,1],[6598,1],[6597,1],[6596,1],[6595,1],[6594,1],[6593,1],[6592,1],[6591,1],[6590,1],[6589,1],[6588,1],[6587,1],[6586,1],[6621,1],[6620,1],[6619,1],[6618,1],[6617,1],[6616,1],[6615,1],[6614,1],[6613,1],[6613,0,"d"],[6614,0,"e"],[6615,0,"f"],[6616,0,"i"],[6617,0,"n"],[6618,0,"e"],[6619,0,"s"],[6620,0," "],[6621,0,"t"],[6622,0,"h"],[6623,0,"e"],[6631,1],[6631,0," "],[6632,0,"t"],[6633,0,"h"],[6634,0,"a"],[6635,0,"t"],[6647,1],[6646,1],[6645,1],[6644,1],[6644,0,"i"],[6645,0,"e"],[6646,0,"s"],[4686,0," "],[4687,0,"i"],[4688,0,"n"],[4689,0,"t"],[4690,0,"r"],[4691,0,"o"],[4692,0,"d"],[4693,0,"u"],[4694,0,"c"],[4695,0,"t"],[4696,0,"i"],[4697,0,"o"],[4698,0,"n"],[8050,1],[8050,1],[8050,1],[8072,1],[8071,1],[8070,1],[8069,1],[8068,1],[8067,1],[8066,1],[8065,1],[8064,1],[8063,1],[8062,1],[8061,1],[8060,1],[8060,0,"L"],[8060,1],[8060,0,"{"],[8061,0,"L"],[8062,0,"o"],[8063,0,"c"],[8064,0,"a"],[8065,0,"l"],[8479,0," "],[8480,0,"\\"],[8481,0,"m"],[8482,0,"a"],[8483,0,"t"],[8484,0,"h"],[8485,0,"s"],[8486,0,"f"],[8487,0,"{"],[8488,0,"p"],[8489,0,"r"],[8490,0,"e"],[8491,0,"s"],[8492,0,"}"],[8493,0,"("],[8494,0,"\\"],[8495,0,"m"],[8496,0,"a"],[8497,0,"t"],[8498,0,"h"],[8499,0,"i"],[8500,0,"t"],[8501,0,"{"],[8502,0,"i"],[8503,0,"d"],[8504,0,"}"],[8505,0,"_"],[8506,0,"3"],[8507,0,"}"],[8508,0," "],[8509,0,"\\"],[8510,0,"m"],[8511,0,"a"],[8512,0,"p"],[8513,0,"s"],[8514,0,"t"],[8515,0,"o"],[8516,0," "],[8517,0,"\\"],[8518,0,"{"],[8519,0,"\\"],[8520,0,"m"],[8521,0,"a"],[8522,0,"t"],[8523,0,"h"],[8524,0,"i"],[8525,0,"t"],[8526,0,"{"],[8527,0,"i"],[8528,0,"d"],[8529,0,"}"],[8530,0,"_"],[8531,0,"3"],[8532,0,"\\"],[8533,0,"}"],[8534,0,","],[8507,1],[8507,0,")"],[8479,0,"\\"],[8480,0,";"],[8694,0,"\\"],[8695,0,";"],[8696,0," "],[8697,0,"\\"],[8698,0,"m"],[8699,0,"a"],[8700,0,"t"],[8701,0,"h"],[8702,0,"s"],[8703,0,"f"],[8704,0,"{"],[8705,0,"p"],[8706,0,"r"],[8707,0,"e"],[8708,0,"s"],[8709,0,"}"],[8710,0,"("],[8711,0,"\\"],[8712,0,"m"],[8713,0,"a"],[8714,0,"t"],[8715,0,"h"],[8716,0,"i"],[8717,0,"t"],[8718,0,"{"],[8719,0,"i"],[8720,0,"d"],[8721,0,"_"],[8721,1],[8721,0,"}"],[8722,0,"_"],[8723,0,"1"],[8724,0,")"],[8725,0," "],[8726,0,"\\"],[8727,0,"m"],[8728,0,"a"],[8729,0,"p"],[8730,0,"s"],[8731,0,"t"],[8732,0,"o"],[8733,0," "],[8734,0,"\\"],[8735,0,"{"],[8736,0,"\\"],[8737,0,"m"],[8738,0,"a"],[8739,0,"t"],[8740,0,"h"],[8741,0,"i"],[8742,0,"t"],[8743,0,"{"],[8744,0,"i"],[8745,0,"d"],[8746,0,"}"],[8747,0,"_"],[8748,0,"1"],[8749,0,"\\"],[8750,0,"}"],[8751,0,","],[8908,0,","],[8909,0,"\\"],[8910,0,";"],[8911,0," "],[8912,0,"\\"],[8913,0,"m"],[8914,0,"a"],[8915,0,"t"],[8916,0,"h"],[8917,0,"s"],[8918,0,"f"],[8919,0,"{"],[8920,0,"p"],[8921,0,"r"],[8922,0,"e"],[8923,0,"s"],[8924,0,"}"],[8925,0,"("],[8926,0,"\\"],[8927,0,"m"],[8928,0,"a"],[8929,0,"t"],[8930,0,"h"],[8931,0,"i"],[8932,0,"t"],[8933,0,"{"],[8934,0,"i"],[8935,0,"d"],[8936,0,"}"],[8937,0,"_"],[8938,0,"2"],[8939,0,")"],[8940,0," "],[8941,0,"\\"],[8942,0,"m"],[8943,0,"a"],[8944,0,"p"],[8945,0,"s"],[8946,0,"t"],[8947,0,"o"],[8948,0," "],[8949,0,"\\"],[8950,0,"{"],[8951,0,"\\"],[8952,0,"m"],[8953,0,"a"],[8954,0,"t"],[8955,0,"h"],[8956,0,"i"],[8957,0,"t"],[8958,0,"{"],[8959,0,"i"],[8960,0,"d"],[8961,0,"}"],[8962,0,"_"],[8963,0,"2"],[8964,0,"\\"],[8965,0,"}"],[8976,0,","],[8979,0," "],[8980,0,"\\"],[8981,0,"m"],[8982,0,"a"],[8983,0,"t"],[8984,0,"h"],[8985,0,"s"],[8986,0,"f"],[8987,0,"{"],[8988,0,"p"],[8989,0,"r"],[8990,0,"e"],[8991,0,"s"],[8992,0,"}"],[8993,0,"("],[8994,0,"\\"],[8995,0,"m"],[8996,0,"a"],[8997,0,"t"],[8998,0,"h"],[8998,1],[8997,1],[8996,1],[8995,1],[8994,1],[8994,0,"\\"],[8995,0,"t"],[8996,0,"e"],[8997,0,"x"],[8998,0,"t"],[8999,0,"{"],[9000,0,"`"],[9001,0,"`"],[9002,0,"s"],[9003,0,"h"],[9004,0,"o"],[9005,0,"p"],[9006,0,"p"],[9007,0,"i"],[9008,0,"n"],[9009,0,"g"],[9010,0,"'"],[9011,0,"'"],[9012,0,"}"],[9013,0,")"],[9014,0," "],[9015,0,"\\"],[9016,0,"m"],[9017,0,"a"],[9018,0,"p"],[9019,0,"s"],[9020,0,"t"],[9021,0,"o"],[9022,0," "],[9023,0,"\\"],[9024,0,"{"],[9025,0,"\\"],[9026,0,"m"],[9027,0,"a"],[9028,0,"t"],[9029,0,"h"],[9030,0,"i"],[9031,0,"t"],[9032,0,"{"],[9033,0,"i"],[9034,0,"d"],[9035,0,"}"],[9036,0,"_"],[9037,0,"1"],[9038,0,","],[9039,0," "],[9040,0,"\\"],[9041,0,"m"],[9042,0,"a"],[9043,0,"t"],[9044,0,"h"],[9045,0,"i"],[9046,0,"t"],[9047,0,"{"],[9048,0,"i"],[9049,0,"d"],[9050,0,"}"],[9051,0,"+"],[9051,1],[9051,0,"_"],[9052,0,"2"],[9053,0,","],[9054,0," "],[9055,0,"\\"],[9056,0,"m"],[9057,0,"a"],[9058,0,"t"],[9059,0,"h"],[9060,0,"i"],[9061,0,"t"],[9062,0,"{"],[9063,0,"i"],[9064,0,"d"],[9065,0,"}"],[9066,0,"_"],[9067,0,"3"],[9068,0,"\\"],[9069,0,";"],[9068,0," "],[8974,0,"\\"],[8975,0,"m"],[8976,0,"u"],[8977,0,"l"],[8978,0,"t"],[8979,0,"i"],[8980,0,"a"],[8981,0,"l"],[8982,0,"i"],[8983,0,"g"],[8984,0,"n"],[8985,0,"{"],[8986,0,"3"],[8987,0,"}"],[8988,0,"{"],[8994,0,"\n"],[8995,0," "],[8996,0," "],[8997,0," "],[9093,0,"}"],[9087,0,"\\"],[9088,0,"}"],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15561,1],[15554,1],[15553,1],[15552,1],[15551,1],[15550,1],[15549,1],[15595,1],[15594,1],[15593,1],[15592,1],[15591,1],[15590,1],[15589,1],[15588,1],[15587,1],[15586,1],[15585,1],[15584,1],[15583,1],[15582,1],[15581,1],[15580,1],[16639,1],[16639,1],[16639,1],[16639,1],[16639,1],[16639,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,1],[16645,0,","],[16646,0," "],[16647,0,"w"],[16648,0,"h"],[16649,0,"i"],[16650,0,"c"],[16651,0,"h"],[10660,1],[10659,1],[10659,0,"t"],[10660,0,"t"],[10664,1],[10663,1],[10662,1],[10662,0,"["],[10664,1],[10676,1],[10676,0,"\\"],[10677,0,"m"],[10678,0,"a"],[10679,0,"t"],[10680,0,"h"],[10681,0,"t"],[10682,0,"t"],[10683,0,"{"],[10684,0,"]"],[10685,0,"}"],[10680,1],[10679,1],[10678,1],[10677,1],[10677,0,"t"],[10678,0,"e"],[10679,0,"x"],[10680,0,"t"],[10658,1],[10657,1],[10656,1],[10655,1],[10655,0,"t"],[10656,0,"e"],[10657,0,"x"],[10658,0,"t"],[18285,1],[18284,1],[18283,1],[18282,1],[18281,1],[18281,0,"["],[18292,1],[18292,0,"]"],[18484,1],[18483,1],[18482,1],[18481,1],[18481,0,"["],[18482,0,"."],[18483,0,"."],[18484,0,"."],[18485,0,"]"],[18774,1],[18774,1],[18774,1],[18774,1],[18774,1],[18774,0,"f"],[18775,0,"o"],[18776,0,"u"],[18777,0,"r"],[18805,1],[18804,1],[18803,1],[18803,0,"\\"],[18804,0,"d"],[18805,0,"o"],[18806,0,"t"],[18807,0,"s"],[18808,0,","],[18809,0,"4"],[19022,1],[19022,0,"4"],[19108,0," "],[19109,0,"$"],[19110,0,"\\"],[19111,0,"t"],[19112,0,"e"],[19113,0,"x"],[19114,0,"t"],[19115,0,"s"],[19116,0,"c"],[19117,0,"{"],[19118,0,"N"],[19119,0,"e"],[19120,0,"x"],[19121,0,"t"],[19122,0,"}"],[19123,0,"_"],[19124,0,"{"],[19125,0,"2"],[19126,0,","],[19127,0,"3"],[19128,0,"}"],[19129,0,"$"],[19130,0," "],[19131,0,"i"],[19132,0,"n"],[19133,0,"s"],[19134,0,"p"],[19135,0,"e"],[19136,0,"c"],[19137,0,"t"],[19138,0," "],[19138,1],[19137,1],[19136,1],[19135,1],[19134,1],[19133,1],[19132,1],[19131,1],[19131,0,"a"],[19132,0,"r"],[19133,0,"e"],[19134,0," "],[19135,0,"c"],[19136,0,"o"],[19137,0,"n"],[19138,0,"d"],[19139,0,"i"],[19140,0,"t"],[19141,0,"i"],[19142,0,"o"],[19143,0,"n"],[19144,0,"a"],[19145,0,"l"],[19146,0," "],[19147,0,"o"],[19148,0,"n"],[19149,0," "],[19150,0,"a"],[19151,0,"n"],[19152,0," "],[19153,0,"e"],[19154,0,"n"],[19155,0,"t"],[19156,0,"r"],[19157,0,"y"],[19158,0," "],[19159,0,"$"],[19160,0,"\\"],[19161,0,"m"],[19162,0,"a"],[19163,0,"t"],[19164,0,"h"],[19165,0,"s"],[19166,0,"f"],[19167,0,"{"],[19168,0,"p"],[19169,0,"r"],[19170,0,"e"],[19171,0,"s"],[19172,0,"}"],[19173,0,"("],[19174,0,"k"],[19175,0,"'"],[19176,0,")"],[19177,0,"$"],[19178,0," "],[19179,0,"i"],[19180,0,"n"],[19181,0," "],[19182,0,"$"],[19183,0,"A"],[19184,0,"_"],[19185,0,"p"],[19186,0,"$"],[19187,0,","],[19188,0," "],[19189,0,"w"],[19190,0,"h"],[19191,0,"i"],[19192,0,"c"],[19193,0,"h"],[19194,0," "],[19195,0,"e"],[19196,0,"n"],[19197,0,"c"],[19198,0,"o"],[19199,0,"d"],[19200,0,"e"],[19201,0,"s"],[19202,0," "],[19203,0,"t"],[19204,0,"h"],[19205,0,"e"],[19206,0," "],[19207,0,"\\"],[19208,0,"e"],[19209,0,"m"],[19210,0,"p"],[19211,0,"h"],[19212,0,"{"],[19213,0,"p"],[19214,0,"r"],[19215,0,"e"],[19216,0,"s"],[19217,0,"e"],[19218,0,"n"],[19219,0,"c"],[19220,0,"e"],[19221,0,"}"],[19222,0," "],[19223,0,"o"],[19224,0,"f"],[19225,0," "],[19226,0,"a"],[19227,0,"n"],[19228,0," "],[19229,0,"e"],[19230,0,"l"],[19231,0,"e"],[19232,0,"m"],[19233,0,"e"],[19234,0,"n"],[19235,0,"t"],[19236,0," "],[19237,0,"i"],[19238,0,"n"],[19239,0," "],[19240,0,"t"],[19241,0,"h"],[19242,0,"e"],[19243,0," "],[19244,0,"l"],[19245,0,"i"],[19246,0,"s"],[19247,0,"t"],[19248,0,":"],[19249,0," "],[19250,0,"i"],[19251,0,"f"],[19252,0," "],[19253,0,"t"],[19254,0,"h"],[19255,0,"e"],[19256,0," "],[19257,0,"p"],[19258,0,"r"],[19259,0,"e"],[19260,0,"s"],[19261,0,"e"],[19262,0,"n"],[19263,0,"c"],[19264,0,"e"],[19265,0," "],[19266,0,"s"],[19267,0,"e"],[19268,0,"t"],[19269,0," "],[19270,0,"i"],[19271,0,"s"],[19272,0," "],[19273,0,"e"],[19274,0,"m"],[19275,0,"p"],[19276,0,"t"],[19277,0,"y"],[19278,0,","],[19279,0," "],[19280,0,"t"],[19281,0,"h"],[19282,0,"a"],[19283,0,"t"],[19284,0," "],[19285,0,"m"],[19286,0,"e"],[19287,0,"a"],[19288,0,"n"],[19289,0,"s"],[19290,0," "],[19291,0,"t"],[19292,0,"h"],[19293,0,"e"],[19294,0," "],[19295,0,"l"],[19296,0,"i"],[19297,0,"s"],[19298,0,"t"],[19299,0," "],[19300,0,"e"],[19301,0,"l"],[19302,0,"e"],[19303,0,"m"],[19304,0,"e"],[19305,0,"n"],[19306,0,"t"],[19307,0," "],[19308,0,"w"],[19309,0,"a"],[19310,0,"s"],[19311,0," "],[19312,0,"d"],[19313,0,"e"],[19314,0,"l"],[19315,0,"e"],[19316,0,"t"],[19317,0,"e"],[19318,0,"d"],[19319,0,","],[19320,0," "],[19321,0,"a"],[19322,0,"n"],[19323,0,"d"],[19324,0," "],[19325,0,"s"],[19326,0,"o"],[19327,0," "],[19328,0,"$"],[19329,0,"\\"],[19330,0,"t"],[19331,0,"e"],[19332,0,"x"],[19333,0,"t"],[19334,0,"s"],[19335,0,"c"],[19336,0,"{"],[19337,0,"N"],[19338,0,"e"],[19339,0,"x"],[19340,0,"t"],[19341,0,"}"],[19342,0,"_"],[19343,0,"3"],[19344,0,"$"],[19345,0," "],[19346,0,"s"],[19347,0,"k"],[19348,0,"i"],[19349,0,"p"],[19350,0,"s"],[19351,0," "],[19352,0,"o"],[19353,0,"v"],[19354,0,"e"],[19355,0,"r"],[19356,0," "],[19357,0,"t"],[19358,0,"h"],[19359,0,"e"],[19360,0," "],[19361,0,"e"],[19362,0,"l"],[19363,0,"e"],[19364,0,"m"],[19365,0,"e"],[19366,0,"n"],[19367,0,"t"],[19368,0,"."],[19369,0," "],[19370,0,"I"],[19371,0,"f"],[19372,0," "],[19373,0,"t"],[19374,0,"h"],[19375,0,"e"],[19376,0," "],[19377,0,"p"],[19378,0,"r"],[19379,0,"e"],[19380,0,"s"],[19381,0,"e"],[19382,0,"n"],[19383,0,"c"],[19384,0,"e"],[19385,0," "],[19386,0,"s"],[19387,0,"e"],[19388,0,"t"],[19389,0," "],[19390,0,"i"],[19391,0,"s"],[19392,0," "],[19393,0,"n"],[19394,0,"o"],[19395,0,"n"],[19396,0,"="],[19397,0,"-"],[19397,1],[19396,1],[19396,0,"-"],[19396,1],[19396,0,"e"],[19397,0,"m"],[19398,0,"p"],[19399,0,"t"],[19400,0,"y"],[19401,0," "],[19401,1],[19401,0,","],[19402,0," "],[19403,0,"$"],[19404,0,"\\"],[19405,0,"t"],[19406,0,"e"],[19407,0,"x"],[19408,0,"t"],[19409,0,"s"],[19410,0,"c"],[19411,0,"{"],[19412,0,"N"],[19413,0,"e"],[19414,0,"x"],[19415,0,"t"],[19416,0,"}"],[19417,0,"_"],[19418,0,"2"],[19419,0,"$"],[19420,0," "],[19421,0,"a"],[19422,0,"p"],[19423,0,"p"],[19424,0,"l"],[19425,0,"i"],[19426,0,"e"],[19427,0,"s"],[19428,0,"."],[19429,0,"\n"],[19430,0,"\n"],[19431,0,"T"],[19432,0,"h"],[19433,0,"e"],[19434,0," "],[19435,0,"$"],[19436,0,"\\"],[19437,0,"t"],[19438,0,"e"],[19439,0,"x"],[19440,0,"t"],[19441,0,"s"],[19442,0,"c"],[19443,0,"{"],[19444,0,"K"],[19445,0,"e"],[19446,0,"y"],[19447,0,"s"],[19448,0,"}"],[19449,0,"_"],[19450,0,"{"],[19451,0,"1"],[19452,0,","],[19453,0,"2"],[19454,0,","],[19455,0,"3"],[19456,0,"}"],[19457,0,"$"],[19458,0," "],[19459,0,"r"],[19460,0,"u"],[19461,0,"l"],[19462,0,"e"],[19463,0,"s"],[19464,0," "],[19465,0,"a"],[19466,0,"l"],[19467,0,"l"],[19468,0,"o"],[19469,0,"w"],[19470,0," "],[19471,0,"t"],[19472,0,"h"],[19473,0,"e"],[19474,0," "],[19475,0,"a"],[19476,0,"p"],[19477,0,"p"],[19478,0,"l"],[19479,0,"i"],[19480,0,"c"],[19481,0,"a"],[19482,0,"t"],[19483,0,"i"],[19484,0,"o"],[19485,0,"n"],[19486,0," "],[19487,0,"t"],[19488,0,"o"],[19489,0," "],[19490,0,"i"],[19491,0,"n"],[19492,0,"s"],[19493,0,"p"],[19494,0,"e"],[19495,0,"c"],[19496,0,"t"],[19497,0," "],[19498,0,"t"],[19499,0,"h"],[19500,0,"e"],[19501,0," "],[19502,0,"s"],[19503,0,"e"],[19504,0,"t"],[19505,0," "],[19506,0,"o"],[19507,0,"f"],[19508,0," "],[19509,0,"k"],[19510,0,"e"],[19511,0,"y"],[19512,0,"s"],[19513,0," "],[19514,0,"t"],[19515,0,"h"],[19516,0,"a"],[19517,0,"t"],[19518,0," "],[19519,0,"a"],[19520,0,"r"],[19521,0,"e"],[19522,0," "],[19523,0,"d"],[19524,0,"e"],[19525,0,"f"],[19526,0,"i"],[19527,0,"n"],[19528,0,"e"],[19529,0,"d"],[19530,0," "],[19531,0,"i"],[19532,0,"n"],[19533,0," "],[19534,0,"a"],[19535,0," "],[19536,0,"m"],[19537,0,"a"],[19538,0,"p"],[19539,0,"."],[19540,0," "],[19541,0,"T"],[19542,0,"h"],[19543,0,"i"],[19544,0,"s"],[19545,0," "],[19546,0,"s"],[19547,0,"e"],[19548,0,"t"],[19549,0," "],[19550,0,"i"],[19551,0,"s"],[19552,0," "],[19553,0,"d"],[19554,0,"e"],[19555,0,"t"],[19556,0,"e"],[19557,0,"r"],[19558,0,"m"],[19559,0,"i"],[19560,0,"n"],[19561,0,"e"],[19562,0,"d"],[19563,0," "],[19564,0,"b"],[19565,0,"y"],[19566,0," "],[19567,0,"e"],[19568,0,"x"],[19569,0,"a"],[19570,0,"m"],[19571,0,"i"],[19572,0,"n"],[19573,0,"i"],[19574,0,"n"],[19575,0,"g"],[19576,0," "],[19577,0,"t"],[19578,0,"h"],[19579,0,"e"],[19580,0," "],[19581,0,"l"],[19582,0,"o"],[19583,0,"c"],[19584,0,"a"],[19585,0,"l"],[19586,0," "],[19587,0,"s"],[19588,0,"t"],[19589,0,"a"],[19590,0,"t"],[19591,0,"e"],[19592,0,","],[19593,0," "],[19594,0,"a"],[19595,0,"n"],[19596,0,"d"],[19597,0," "],[19598,0,"e"],[19599,0,"x"],[19600,0,"c"],[19601,0,"l"],[19602,0,"u"],[19603,0,"d"],[19604,0,"i"],[19605,0,"n"],[19606,0,"g"],[19607,0," "],[19608,0,"a"],[19609,0,"n"],[19610,0,"y"],[19611,0," "],[19612,0,"k"],[19613,0,"e"],[19614,0,"y"],[19615,0,"s"],[19616,0," "],[19617,0,"f"],[19618,0,"o"],[19619,0,"r"],[19620,0," "],[19621,0,"w"],[19622,0,"h"],[19623,0,"i"],[19624,0,"c"],[19625,0,"h"],[19626,0," "],[19627,0,"t"],[19628,0,"h"],[19629,0,"e"],[19630,0," "],[19631,0,"p"],[19632,0,"r"],[19633,0,"e"],[19634,0,"s"],[19635,0,"e"],[19636,0,"n"],[19637,0,"c"],[19638,0,"e"],[19639,0," "],[19640,0,"s"],[19641,0,"e"],[19642,0,"t"],[19643,0," "],[19644,0,"i"],[19645,0,"s"],[19646,0," "],[19647,0,"e"],[19648,0,"m"],[19649,0,"p"],[19650,0,"t"],[19651,0,"y"],[19652,0," "],[19653,0,"("],[19654,0,"i"],[19655,0,"n"],[19656,0,"d"],[19657,0,"i"],[19658,0,"c"],[19659,0,"a"],[19660,0,"t"],[19661,0,"i"],[19662,0,"n"],[19663,0,"g"],[19664,0," "],[19665,0,"t"],[19666,0,"h"],[19667,0,"a"],[19668,0,"t"],[19669,0," "],[19670,0,"t"],[19671,0,"h"],[19672,0,"e"],[19673,0," "],[19674,0,"k"],[19675,0,"e"],[19676,0,"y"],[19677,0," "],[19678,0,"h"],[19679,0,"a"],[19680,0,"s"],[19681,0," "],[19682,0,"b"],[19683,0,"e"],[19684,0,"e"],[19685,0,"n"],[19686,0," "],[19687,0,"d"],[19688,0,"e"],[19689,0,"l"],[19690,0,"e"],[19691,0,"t"],[19692,0,"e"],[19693,0,"d"],[19694,0,")"],[19695,0,"."],[19746,1],[19746,1],[19746,1],[19746,1],[19746,1],[19746,1],[19746,1],[19746,1],[19746,1],[19746,0,"t"],[19747,0,"h"],[19748,0,"e"],[19749,0," "],[19750,0,"a"],[19751,0,"p"],[19752,0,"p"],[19753,0,"l"],[19754,0,"i"],[19755,0,"c"],[19756,0,"a"],[19757,0,"t"],[19758,0,"i"],[19759,0,"o"],[19760,0,"n"],[18807,1],[18806,1],[18805,1],[18804,1],[18803,1],[18803,0,"2"],[18804,0,","],[18805,0,"3"],[19004,1],[19003,1],[19002,1],[19001,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[21537,1],[29726,1],[29726,1],[29726,1],[29726,1],[29726,1],[29726,1],[29726,1],[29726,1],[35213,0,"\n"],[35214,0,"\n"],[35215,0,"F"],[35216,0,"i"],[35217,0,"g"],[35218,0,"u"],[35219,0,"r"],[35220,0,"e"],[35221,0,"~"],[35222,0,"\\"],[35223,0,"r"],[35224,0,"e"],[35225,0,"f"],[35226,0,"{"],[35227,0,"f"],[35228,0,"i"],[35229,0,"g"],[35230,0,":"],[35231,0,"o"],[35232,0,"p"],[35233,0,"e"],[35234,0,"r"],[35235,0,"a"],[35236,0,"t"],[35237,0,"i"],[35238,0,"o"],[35239,0,"n"],[35240,0,"-"],[35241,0,"r"],[35242,0,"u"],[35243,0,"l"],[35244,0,"e"],[35245,0,"s"],[35246,0,"}"],[35247,0," "],[35248,0,"g"],[35249,0,"i"],[35250,0,"v"],[35251,0,"e"],[35252,0,"s"],[35253,0," "],[35254,0,"t"],[35255,0,"h"],[35256,0,"e"],[35257,0," "],[35258,0,"r"],[35259,0,"u"],[35260,0,"l"],[35261,0,"e"],[35262,0,"s"],[35263,0," "],[35264,0,"t"],[35265,0,"h"],[35266,0,"a"],[35267,0,"t"],[35268,0," "],[35269,0,"e"],[35270,0,"v"],[35271,0,"a"],[35272,0,"l"],[35273,0,"u"],[35274,0,"a"],[35275,0,"t"],[35276,0,"e"],[35277,0," "],[35278,0,"a"],[35279,0,"n"],[35280,0," "],[35281,0,"o"],[35282,0,"p"],[35283,0,"e"],[35284,0,"r"],[35285,0,"a"],[35286,0,"t"],[35287,0,"i"],[35288,0,"o"],[35289,0,"n"],[35290,0," "],[35291,0,"$"],[35292,0,"\\"],[35293,0,"m"],[35294,0,"a"],[35295,0,"t"],[35296,0,"h"],[35297,0,"s"],[35298,0,"f"],[35299,0,"{"],[35300,0,"o"],[35301,0,"p"],[35302,0,"}"],[35303,0,"$"],[35304,0," "],[35305,0,"w"],[35306,0,"i"],[35307,0,"t"],[35308,0,"h"],[35309,0,"i"],[35310,0,"n"],[35311,0," "],[35312,0,"a"],[35313,0," "],[35314,0,"c"],[35315,0,"o"],[35316,0,"n"],[35317,0,"t"],[35318,0,"e"],[35319,0,"x"],[35320,0,"t"],[35321,0," "],[35322,0,"$"],[35323,0,"\\"],[35324,0,"m"],[35325,0,"a"],[35326,0,"t"],[35327,0,"h"],[35328,0,"i"],[35329,0,"t"],[35330,0,"{"],[35331,0,"c"],[35332,0,"t"],[35333,0,"x"],[35334,0,"}"],[35335,0,"$"],[35336,0,","],[35337,0," "],[35338,0,"a"],[35339,0,"n"],[35340,0,"d"],[35341,0," "],[35342,0,"p"],[35343,0,"r"],[35344,0,"o"],[35345,0,"d"],[35346,0,"u"],[35347,0,"c"],[35348,0,"e"],[35349,0," "],[35350,0,"a"],[35351,0," "],[35352,0,"n"],[35353,0,"e"],[35354,0,"w"],[35355,0," "],[35355,1],[35354,1],[35353,1],[35352,1],[35351,1],[35351,0,"n"],[35352,0," "],[35353,0,"u"],[35354,0,"p"],[35355,0,"d"],[35356,0,"a"],[35357,0,"t"],[35358,0,"e"],[35359,0,"d"],[35360,0," "],[35361,0,"c"],[35362,0,"o"],[35363,0,"n"],[35364,0,"t"],[35365,0,"e"],[35366,0,"x"],[35367,0,"t"],[35368,0," "],[35369,0,"$"],[35370,0,"\\"],[35371,0,"m"],[35372,0,"a"],[35373,0,"t"],[35374,0,"h"],[35375,0,"i"],[35376,0,"t"],[35377,0,"{"],[35378,0,"c"],[35379,0,"t"],[35380,0,"x"],[35381,0,"}"],[35382,0,"'"],[35383,0,"$"],[35384,0,"."],[35385,0," "],[35386,0,"T"],[35387,0,"h"],[35388,0,"e"],[35389,0,"s"],[35390,0,"e"],[35391,0," "],[35392,0,"r"],[35393,0,"u"],[35394,0,"l"],[35395,0,"e"],[35396,0,"s"],[35397,0," "],[35398,0,"a"],[35399,0,"r"],[35400,0,"e"],[35401,0," "],[35402,0,"u"],[35403,0,"s"],[35404,0,"e"],[35405,0,"d"],[35406,0," "],[35407,0,"b"],[35408,0,"y"],[35409,0," "],[35410,0,"\\"],[35411,0,"t"],[35412,0,"e"],[35413,0,"x"],[35414,0,"t"],[35415,0,"s"],[35416,0,"c"],[35417,0,"{"],[35418,0,"A"],[35419,0,"p"],[35420,0,"p"],[35421,0,"l"],[35422,0,"y"],[35423,0,"-"],[35424,0,"L"],[35425,0,"o"],[35426,0,"c"],[35427,0,"a"],[35428,0,"l"],[35429,0,"}"],[35430,0," "],[35431,0,"a"],[35432,0,"n"],[35433,0,"d"],[35434,0," "],[35435,0,"\\"],[35436,0,"t"],[35437,0,"e"],[35438,0,"x"],[35439,0,"t"],[35440,0,"s"],[35441,0,"c"],[35442,0,"{"],[35443,0,"A"],[35444,0,"p"],[35445,0,"p"],[35446,0,"l"],[35447,0,"y"],[35448,0,"-"],[35449,0,"R"],[35450,0,"e"],[35451,0,"m"],[35452,0,"o"],[35453,0,"t"],[35454,0,"e"],[35455,0,"}"],[35456,0," "],[35457,0,"t"],[35458,0,"o"],[35459,0," "],[35460,0,"p"],[35461,0,"e"],[35462,0,"r"],[35463,0,"f"],[35464,0,"o"],[35465,0,"r"],[35466,0,"m"],[35467,0," "],[35468,0,"t"],[35469,0,"h"],[35470,0,"e"],[35471,0," "],[35472,0,"s"],[35473,0,"t"],[35474,0,"a"],[35475,0,"t"],[35476,0,"e"],[35477,0," "],[35478,0,"u"],[35479,0,"p"],[35480,0,"d"],[35481,0,"a"],[35482,0,"t"],[35483,0,"e"],[35484,0,"s"],[35485,0," "],[35486,0,"o"],[35487,0,"n"],[35488,0," "],[35489,0,"a"],[35490,0," "],[35491,0,"d"],[35492,0,"o"],[35493,0,"c"],[35494,0,"u"],[35495,0,"m"],[35496,0,"e"],[35497,0,"n"],[35498,0,"t"],[35499,0,"."],[35500,0,"\n"],[35501,0,"\n"],[35502,0,"W"],[35503,0,"h"],[35504,0,"e"],[35505,0,"n"],[35506,0," "],[35507,0,"t"],[35508,0,"h"],[35509,0,"e"],[35510,0," "],[35511,0,"c"],[35512,0,"u"],[35513,0,"r"],[35514,0,"s"],[35515,0,"o"],[35516,0,"r"],[35517,0," "],[35511,0,"o"],[35512,0,"p"],[35513,0,"e"],[35514,0,"r"],[35515,0,"a"],[35516,0,"t"],[35517,0,"i"],[35518,0,"o"],[35519,0,"n"],[35520,0,"'"],[35521,0,"s"],[35522,0," "],[35530,0,"r"],[35531,0,"e"],[35532,0,"f"],[35533,0,"e"],[35534,0,"r"],[35535,0,"s"],[35536,0," "],[35537,0,"t"],[35538,0,"o"],[35539,0," "],[35540,0,"a"],[35541,0," "],[35542,0,"t"],[35543,0,"r"],[35544,0,"e"],[35545,0,"e"],[35546,0," "],[35547,0,"n"],[35548,0,"o"],[35549,0,"d"],[35550,0,"e"],[35551,0," "],[35552,0,"t"],[35553,0,"h"],[35554,0,"a"],[35555,0,"t"],[35556,0," "],[35557,0,"i"],[35558,0,"s"],[35559,0," "],[35560,0,"n"],[35561,0,"o"],[35562,0,"t"],[35563,0," "],[35564,0,"t"],[35565,0,"h"],[35566,0,"e"],[35567,0," "],[35568,0,"d"],[35569,0,"o"],[35570,0,"c"],[35571,0,"u"],[35572,0,"m"],[35573,0,"e"],[35574,0,"n"],[35575,0,"t"],[35576,0," "],[35577,0,"r"],[35578,0,"o"],[35579,0,"o"],[35580,0,"t"],[35581,0," "],[35582,0,"\\"],[35582,1],[35582,0,"$"],[35583,0,"\\"],[35584,0,"m"],[35585,0,"a"],[35586,0,"t"],[35587,0,"h"],[35588,0,"s"],[35589,0,"f"],[35590,0,"{"],[35591,0,"d"],[35592,0,"o"],[35593,0,"c"],[35594,0,"}"],[35595,0,"$"],[35596,0,","],[35597,0," "],[35598,0,"t"],[35599,0,"h"],[35600,0,"e"],[35601,0," "],[35602,0,"\\"],[35603,0,"t"],[35604,0,"e"],[35605,0,"x"],[35606,0,"t"],[35607,0,"s"],[35608,0,"c"],[35609,0,"{"],[35610,0,"D"],[35611,0,"e"],[35612,0,"s"],[35613,0,"c"],[35614,0,"e"],[35615,0,"n"],[35616,0,"d"],[35617,0,"}"],[35618,0," "],[35619,0,"r"],[35620,0,"u"],[35621,0,"l"],[35622,0,"e"],[35623,0," "],[35624,0,"f"],[35625,0,"i"],[35626,0,"r"],[35627,0,"s"],[35628,0,"t"],[35629,0," "],[35630,0,"a"],[35631,0,"p"],[35632,0,"p"],[35633,0,"l"],[35634,0,"i"],[35635,0,"e"],[35636,0,"s"],[35637,0,"."],[35638,0," "],[35639,0,"I"],[35640,0,"t"],[35641,0," "],[35642,0,"d"],[35642,1],[35642,0,"r"],[35643,0,"e"],[35644,0,"c"],[35645,0,"u"],[35646,0,"r"],[35647,0,"s"],[35648,0,"i"],[35649,0,"v"],[35650,0,"e"],[35651,0,"l"],[35652,0,"y"],[35653,0," "],[35654,0,"d"],[35655,0,"e"],[35656,0,"s"],[35657,0,"c"],[35658,0,"e"],[35659,0,"n"],[35660,0,"d"],[35661,0,"s"],[35662,0," "],[35663,0,"t"],[35664,0,"h"],[35665,0,"e"],[35666,0," "],[35667,0,"d"],[35668,0,"o"],[35669,0,"c"],[35670,0,"u"],[35671,0,"m"],[35672,0,"e"],[35673,0,"n"],[35674,0,"t"],[35675,0," "],[35676,0,"t"],[35677,0,"r"],[35678,0,"e"],[35679,0,"e"],[35680,0," "],[35681,0,"a"],[35682,0,"c"],[35683,0,"c"],[35684,0,"o"],[35685,0,"r"],[35686,0,"d"],[35687,0,"i"],[35688,0,"n"],[35689,0,"g"],[35690,0," "],[35691,0,"t"],[35692,0,"o"],[35693,0," "],[35694,0,"t"],[35695,0,"h"],[35696,0,"e"],[35697,0," "],[35698,0,"v"],[35699,0,"e"],[35700,0,"c"],[35701,0,"t"],[35702,0,"o"],[35703,0,"r"],[35704,0," "],[35705,0,"o"],[35706,0,"f"],[35707,0," "],[35708,0,"k"],[35709,0,"e"],[35710,0,"y"],[35711,0,"s"],[35712,0," "],[35713,0,"g"],[35714,0,"i"],[35715,0,"v"],[35716,0,"e"],[35717,0,"n"],[35718,0," "],[35719,0,"i"],[35720,0,"n"],[35721,0," "],[35722,0,"t"],[35723,0,"h"],[35724,0,"e"],[35725,0," "],[35726,0,"c"],[35727,0,"u"],[35728,0,"r"],[35729,0,"s"],[35730,0,"o"],[35731,0,"r"],[35732,0,"."],[35733,0," "],[35734,0,"I"],[35735,0,"f"],[35736,0," "],[35737,0,"t"],[35738,0,"h"],[35739,0,"e"],[35740,0," "],[35741,0,"t"],[35742,0,"r"],[35743,0,"e"],[35744,0,"e"],[35745,0," "],[35746,0,"n"],[35747,0,"o"],[35748,0,"d"],[35749,0,"e"],[35750,0," "],[35751,0,"a"],[35752,0,"l"],[35753,0,"r"],[35754,0,"e"],[35755,0,"a"],[35756,0,"d"],[35757,0,"y"],[35758,0," "],[35759,0,"e"],[35760,0,"x"],[35761,0,"i"],[35762,0,"s"],[35763,0,"t"],[35764,0,"s"],[35765,0,","],[35766,0," "],[35767,0,"\\"],[35768,0,"t"],[35769,0,"e"],[35770,0,"x"],[35771,0,"t"],[35772,0,"s"],[35773,0,"c"],[35774,0,"{"],[35775,0,"C"],[35776,0,"h"],[35777,0,"i"],[35778,0,"l"],[35779,0,"d"],[35780,0,"-"],[35781,0,"G"],[35782,0,"e"],[35783,0,"t"],[35784,0,"}"],[35785,0," "],[35765,0," "],[35766,0,"i"],[35767,0,"n"],[35768,0," "],[35769,0,"t"],[35770,0,"h"],[35771,0,"e"],[35772,0," "],[35773,0,"l"],[35774,0,"o"],[35775,0,"c"],[35776,0,"a"],[35777,0,"l"],[35778,0," "],[35779,0,"p"],[35780,0,"e"],[35781,0,"e"],[35782,0,"r"],[35783,0," "],[35784,0,"s"],[35785,0,"t"],[35786,0,"a"],[35787,0,"t"],[35788,0,"e"],[35810,0,"f"],[35811,0,"i"],[35812,0,"n"],[35813,0,"d"],[35814,0,"s"],[35815,0," "],[35816,0,"i"],[35817,0,"t"],[35818,0,","],[35819,0," "],[35820,0,"o"],[35821,0,"t"],[35822,0,"h"],[35823,0,"e"],[35824,0,"r"],[35825,0,"w"],[35826,0,"i"],[35827,0,"s"],[35828,0,"e"],[35829,0," "],[35830,0,"\\"],[35831,0,"t"],[35832,0,"e"],[35833,0,"x"],[35834,0,"t"],[35835,0,"s"],[35836,0,"c"],[35837,0,"{"],[35838,0,"C"],[35839,0,"h"],[35840,0,"i"],[35841,0,"l"],[35842,0,"d"],[35843,0,"-"],[35844,0,"M"],[35845,0,"a"],[35846,0,"p"],[35847,0,"}"],[35848,0," "],[35849,0,"a"],[35850,0,"n"],[35851,0,"d"],[35852,0," "],[35853,0,"\\"],[35854,0,"t"],[35855,0,"e"],[35856,0,"x"],[35857,0,"t"],[35858,0,"s"],[35859,0,"c"],[35860,0,"{"],[35861,0,"C"],[35862,0,"h"],[35863,0,"i"],[35864,0,"l"],[35865,0,"d"],[35866,0,"-"],[35867,0,"L"],[35868,0,"i"],[35869,0,"s"],[35870,0,"t"],[35871,0,"}"],[35872,0," "],[35873,0,"c"],[35873,1],[35873,0,"c"],[35874,0,"r"],[35875,0,"e"],[35876,0,"a"],[35877,0,"t"],[35878,0,"e"],[35879,0," "],[35880,0,"a"],[35881,0,"n"],[35882,0," "],[35883,0,"e"],[35884,0,"m"],[35885,0,"p"],[35886,0,"t"],[35887,0,"y"],[35888,0," "],[35889,0,"m"],[35890,0,"a"],[35891,0,"p"],[35892,0," "],[35893,0,"o"],[35894,0,"r"],[35895,0," "],[35896,0,"l"],[35897,0,"i"],[35898,0,"s"],[35899,0,"t"],[35900,0," "],[35901,0,"r"],[35902,0,"e"],[35903,0,"s"],[35904,0,"p"],[35905,0,"e"],[35906,0,"c"],[35907,0,"t"],[35908,0,"i"],[35909,0,"v"],[35910,0,"e"],[35911,0,"l"],[35912,0,"y"],[35913,0,"."],[35914,0," "],[35914,1],[35914,0,"\n"],[35915,0,"\n"],[35916,0,"\\"],[35916,1],[35916,0,"T"],[35917,0,"h"],[35918,0,"e"],[35919,0," "],[35920,0,"\\"],[35921,0,"t"],[35922,0,"e"],[35923,0,"x"],[35924,0,"t"],[35925,0,"s"],[35926,0,"c"],[35927,0,"{"],[35928,0,"D"],[35929,0,"e"],[35930,0,"s"],[35931,0,"c"],[35932,0,"e"],[35933,0,"n"],[35934,0,"d"],[35935,0,"}"],[35936,0," "],[35937,0,"r"],[35938,0,"u"],[35939,0,"l"],[35940,0,"e"],[35941,0," "],[35942,0,"a"],[35943,0,"l"],[35944,0,"s"],[35945,0,"o"],[35946,0," "],[35947,0,"i"],[35948,0,"n"],[35949,0,"v"],[35950,0,"o"],[35951,0,"k"],[35952,0,"e"],[35953,0,"s"],[35954,0," "],[35955,0,"\\"],[35956,0,"t"],[35957,0,"e"],[35958,0,"x"],[35959,0,"t"],[35960,0,"s"],[35961,0,"c"],[35962,0,"{"],[35963,0,"A"],[35964,0,"d"],[35965,0,"d"],[35966,0,"_"],[35966,1],[35966,0,"-"],[35967,0,"I"],[35968,0,"D"],[35969,0,"}"],[35970,0," "],[35971,0,"a"],[35972,0,"t"],[35973,0," "],[35974,0,"e"],[35975,0,"a"],[35976,0,"c"],[35977,0,"h"],[35978,0," "],[35979,0,"t"],[35980,0,"r"],[35981,0,"e"],[35982,0,"e"],[35983,0," "],[35984,0,"n"],[35985,0,"o"],[35986,0,"d"],[35987,0,"e"],[35988,0," "],[35989,0,"a"],[35990,0,"l"],[35991,0,"o"],[35992,0,"n"],[35993,0,"g"],[35994,0," "],[35995,0,"t"],[35996,0,"h"],[35997,0,"e"],[35998,0," "],[35999,0,"p"],[36000,0,"a"],[36001,0,"t"],[36002,0,"h"],[36003,0," "],[36004,0,"d"],[36005,0,"e"],[36006,0,"s"],[36007,0,"c"],[36008,0,"r"],[36009,0,"i"],[36010,0,"b"],[36011,0,"e"],[36012,0,"d"],[36013,0," "],[36014,0,"b"],[36015,0,"y"],[36016,0," "],[36017,0,"t"],[36018,0,"h"],[36019,0,"e"],[36020,0," "],[36021,0,"c"],[36022,0,"u"],[36023,0,"r"],[36024,0,"s"],[36025,0,"o"],[36026,0,"r"],[36027,0,","],[36028,0," "],[36029,0,"a"],[36030,0,"d"],[36031,0,"d"],[36032,0,"i"],[36033,0,"n"],[36034,0,"g"],[36035,0," "],[36036,0,"t"],[36037,0,"h"],[36038,0,"e"],[36039,0," "],[36040,0,"o"],[36041,0,"p"],[36042,0,"e"],[36043,0,"r"],[36044,0,"a"],[36045,0,"t"],[36046,0,"i"],[36047,0,"o"],[36048,0,"n"],[36049,0," "],[36050,0,"I"],[36051,0,"D"],[36052,0," "],[36053,0,"t"],[36054,0,"o"],[36055,0," "],[36056,0,"t"],[36057,0,"h"],[36058,0,"e"],[36059,0," "],[36060,0,"p"],[36061,0,"r"],[36062,0,"e"],[36063,0,"s"],[36064,0,"e"],[36065,0,"n"],[36066,0,"c"],[36067,0,"e"],[36068,0," "],[36069,0,"s"],[36070,0,"e"],[36071,0,"t"],[36072,0," "],[36073,0,"$"],[36074,0,"\\"],[36075,0,"m"],[36076,0,"a"],[36077,0,"t"],[36078,0,"h"],[36079,0,"s"],[36080,0,"f"],[36081,0,"{"],[36082,0,"p"],[36083,0,"r"],[36084,0,"e"],[36085,0,"s"],[36086,0,"}"],[36087,0,"("],[36088,0,"k"],[36089,0,")"],[36090,0,"$"],[36091,0," "],[36092,0,"t"],[36093,0,"o"],[36094,0," "],[36095,0,"i"],[36096,0,"n"],[36097,0,"d"],[36098,0,"i"],[36099,0,"c"],[36100,0,"a"],[36101,0,"t"],[36102,0,"e"],[36103,0," "],[36104,0,"t"],[36105,0,"h"],[36106,0,"a"],[36107,0,"t"],[36108,0," "],[36109,0,"t"],[36110,0,"h"],[36111,0,"e"],[36112,0," "],[36113,0,"s"],[36114,0,"u"],[36115,0,"b"],[36116,0,"t"],[36117,0,"r"],[36118,0,"e"],[36119,0,"e"],[36120,0," "],[36121,0,"i"],[36122,0,"n"],[36123,0,"c"],[36124,0,"l"],[36125,0,"u"],[36126,0,"d"],[36127,0,"e"],[36128,0,"s"],[36129,0," "],[36130,0,"m"],[36131,0,"u"],[36132,0,"t"],[36132,1],[36131,1],[36130,1],[36130,0,"a"],[36131,0," "],[36132,0,"m"],[36133,0,"u"],[36134,0,"t"],[36135,0,"a"],[36136,0,"t"],[36137,0,"i"],[36138,0,"o"],[36139,0,"n"],[36140,0," "],[36141,0,"m"],[36142,0,"a"],[36143,0,"d"],[36144,0,"e"],[36145,0," "],[36146,0,"b"],[36147,0,"y"],[36148,0," "],[36149,0,"t"],[36150,0,"h"],[36151,0,"i"],[36152,0,"s"],[36153,0," "],[36154,0,"o"],[36155,0,"p"],[36156,0,"e"],[36157,0,"r"],[36158,0,"a"],[36159,0,"t"],[36160,0,"i"],[36161,0,"o"],[36162,0,"n"],[36163,0,"."],[36164,0,"\n"],[36165,0,"\n"],[36166,0,"T"],[36167,0,"h"],[36168,0,"e"],[36169,0," "],[36170,0,"r"],[36171,0,"e"],[36172,0,"m"],[36173,0,"a"],[36174,0,"i"],[36175,0,"n"],[36176,0,"i"],[36177,0,"n"],[36178,0,"g"],[36179,0," "],[36180,0,"r"],[36181,0,"u"],[36182,0,"l"],[36183,0,"e"],[36184,0,"s"],[36185,0," "],[36186,0,"i"],[36187,0,"n"],[36188,0," "],[36189,0,"F"],[36190,0,"i"],[36191,0,"g"],[36192,0,"u"],[36193,0,"r"],[36194,0,"e"],[36195,0,"~"],[36196,0,"\\"],[36197,0,"r"],[36198,0,"e"],[36199,0,"f"],[36200,0,"{"],[36201,0,"f"],[36202,0,"i"],[36203,0,"g"],[36204,0,":"],[36205,0,"o"],[36206,0,"p"],[36207,0,"e"],[36208,0,"r"],[36209,0,"a"],[36210,0,"t"],[36211,0,"i"],[36212,0,"o"],[36213,0,"n"],[36214,0,"-"],[36215,0,"r"],[36216,0,"u"],[36217,0,"l"],[36218,0,"e"],[36219,0,"s"],[36220,0,"}"],[36221,0," "],[36222,0,"a"],[36223,0,"p"],[36224,0,"p"],[36225,0,"l"],[36226,0,"y"],[36227,0," "],[36228,0,"w"],[36229,0,"h"],[36230,0,"e"],[36231,0,"n"],[36232,0," "],[36233,0,"t"],[36234,0,"h"],[36235,0,"e"],[36236,0," "],[36237,0,"v"],[36238,0,"e"],[36239,0,"c"],[36240,0,"t"],[36241,0,"o"],[36242,0,"r"],[36243,0," "],[36244,0,"o"],[36245,0,"f"],[36246,0," "],[36247,0,"k"],[36248,0,"e"],[36249,0,"y"],[36250,0,"s"],[36251,0," "],[36252,0,"i"],[36253,0,"n"],[36254,0," "],[36255,0,"t"],[36256,0,"h"],[36257,0,"e"],[36258,0," "],[36259,0,"c"],[36260,0,"u"],[36261,0,"r"],[36262,0,"s"],[36263,0,"o"],[36264,0,"r"],[36265,0," "],[36266,0,"i"],[36267,0,"s"],[36268,0," "],[36269,0,"e"],[36270,0,"m"],[36271,0,"p"],[36272,0,"t"],[36273,0,"y"],[36274,0,","],[36275,0," "],[36276,0,"i"],[36277,0,"."],[36278,0,"e"],[36279,0,"."],[36280,0," "],[36281,0,"w"],[36282,0,"h"],[36283,0,"e"],[36284,0,"n"],[36285,0," "],[36286,0,"d"],[36287,0,"e"],[36288,0,"s"],[36289,0,"c"],[36290,0,"e"],[36291,0,"n"],[36292,0,"d"],[36293,0,"e"],[36294,0,"d"],[36295,0," "],[36296,0,"t"],[36297,0,"o"],[36298,0," "],[36299,0,"t"],[36300,0,"h"],[36301,0,"e"],[36302,0," "],[36303,0,"c"],[36304,0,"o"],[36305,0,"n"],[36306,0,"t"],[36307,0,"e"],[36308,0,"x"],[36309,0,"t"],[36310,0," "],[36311,0,"o"],[36312,0,"f"],[36313,0," "],[36314,0,"t"],[36315,0,"h"],[36316,0,"e"],[36317,0," "],[36318,0,"t"],[36319,0,"r"],[36320,0,"e"],[36321,0,"e"],[36322,0," "],[36323,0,"n"],[36324,0,"o"],[36325,0,"d"],[36326,0,"e"],[36327,0," "],[36328,0,"t"],[36329,0,"o"],[36330,0," "],[36331,0,"w"],[36332,0,"h"],[36333,0,"i"],[36334,0,"c"],[36335,0,"h"],[36336,0," "],[36337,0,"t"],[36338,0,"h"],[36339,0,"e"],[36340,0," "],[36341,0,"m"],[36342,0,"u"],[36343,0,"t"],[36344,0,"a"],[36345,0,"t"],[36346,0,"i"],[36347,0,"o"],[36348,0,"n"],[36349,0," "],[36350,0,"a"],[36351,0,"p"],[36352,0,"p"],[36353,0,"l"],[36354,0,"i"],[36355,0,"e"],[36356,0,"s"],[36357,0,"."],[36358,0," "],[36359,0,"\\"],[36359,1],[36359,0,"T"],[36360,0,"h"],[36361,0,"e"],[36362,0," "],[36363,0,"\\"],[36364,0,"t"],[36365,0,"e"],[36366,0,"x"],[36367,0,"t"],[36368,0,"s"],[36369,0,"c"],[36370,0,"{"],[36371,0,"A"],[36372,0,"s"],[36373,0,"s"],[36374,0,"i"],[36375,0,"g"],[36376,0,"n"],[36377,0,"}"],[36378,0,","],[36379,0," "],[36380,0,"\\"],[36381,0,"t"],[36382,0,"e"],[36383,0,"x"],[36384,0,"t"],[36385,0,"s"],[36386,0,"c"],[36387,0,"{"],[36388,0,"E"],[36389,0,"m"],[36390,0,"p"],[36391,0,"t"],[36392,0,"y"],[36393,0,"-"],[36394,0,"M"],[36395,0,"a"],[36396,0,"p"],[36397,0,"}"],[36398,0," "],[36399,0,"a"],[36400,0,"n"],[36401,0,"d"],[36402,0," "],[36403,0,"\\"],[36404,0,"t"],[36405,0,"e"],[36406,0,"x"],[36407,0,"t"],[36408,0,"s"],[36409,0,"c"],[36410,0,"{"],[36411,0,"E"],[36412,0,"m"],[36413,0,"p"],[36414,0,"t"],[36415,0,"y"],[36416,0,"-"],[36417,0,"L"],[36418,0,"i"],[36419,0,"s"],[36420,0,"t"],[36421,0,"}"],[36422,0," "],[36423,0,"r"],[36424,0,"u"],[36425,0,"l"],[36426,0,"e"],[36427,0,"s"],[36428,0," "],[36429,0,"h"],[36430,0,"a"],[36431,0,"n"],[36432,0,"d"],[36433,0,"l"],[36434,0,"e"],[36435,0," "],[36436,0,"e"],[36437,0,"v"],[36438,0,"a"],[36439,0,"l"],[36440,0,"u"],[36441,0,"a"],[36442,0,"t"],[36443,0,"i"],[36444,0,"o"],[36445,0,"n"],[36446,0," "],[36447,0,"o"],[36448,0,"f"],[36449,0," "],[36450,0,"t"],[36451,0,"h"],[36452,0,"e"],[36453,0," "],[36454,0,"\\"],[36454,1],[36454,0,"$"],[36455,0,"\\"],[36456,0,"t"],[36457,0,"e"],[36458,0,"x"],[36458,1],[36457,1],[36456,1],[36456,0,"m"],[36457,0,"a"],[36458,0,"t"],[36459,0,"h"],[36460,0,"s"],[36461,0,"f"],[36462,0,"{"],[36463,0,"a"],[36464,0,"s"],[36465,0,"s"],[36466,0,"i"],[36467,0,"g"],[36468,0,"n"],[36469,0,"}"],[36470,0,"$"],[36471,0," "],[36378,1],[36378,0," "],[36379,0,"r"],[36380,0,"u"],[36381,0,"l"],[36382,0,"e"],[36383,0," "],[36384,0,"h"],[36385,0,"a"],[36386,0,"n"],[36387,0,"d"],[36388,0,"l"],[36389,0,"e"],[36390,0,"s"],[36391,0," "],[36392,0,"a"],[36393,0,"s"],[36394,0,"s"],[36395,0,"i"],[36396,0,"g"],[36397,0,"n"],[36398,0,"m"],[36399,0,"e"],[36400,0,"n"],[36401,0,"t"],[36402,0," "],[36403,0,"o"],[36404,0,"f"],[36405,0," "],[36406,0,"a"],[36407,0," "],[36408,0,"r"],[36409,0,"e"],[36410,0,"g"],[36411,0,"i"],[36412,0,"s"],[36413,0,"t"],[36414,0,"e"],[36415,0,"r"],[36416,0,","],[36436,0," "],[36437,0,"h"],[36438,0,"a"],[36439,0,"n"],[36440,0,"d"],[36441,0,"l"],[36442,0,"e"],[36443,0,"s"],[36444,0," "],[36445,0,"a"],[36446,0,"s"],[36447,0,"s"],[36448,0,"i"],[36449,0,"g"],[36450,0,"n"],[36451,0,"m"],[36452,0,"e"],[36453,0,"n"],[36454,0,"t"],[36455,0," "],[36456,0,"w"],[36457,0,"h"],[36458,0,"e"],[36459,0,"r"],[36460,0,"e"],[36461,0," "],[36462,0,"t"],[36463,0,"h"],[36464,0,"e"],[36465,0," "],[36466,0,"v"],[36467,0,"a"],[36468,0,"l"],[36469,0,"u"],[36470,0,"e"],[36471,0," "],[36472,0,"i"],[36473,0,"s"],[36474,0," "],[36475,0,"t"],[36476,0,"h"],[36477,0,"e"],[36478,0," "],[36479,0,"e"],[36480,0,"m"],[36481,0,"p"],[36482,0,"t"],[36483,0,"y"],[36484,0," "],[36485,0,"m"],[36486,0,"a"],[36487,0,"p"],[36488,0," "],[36489,0,"l"],[36490,0,"i"],[36491,0,"t"],[36492,0,"e"],[36493,0,"r"],[36494,0,"a"],[36495,0,"l"],[36496,0," "],[36497,0,"\\"],[36498,0,"v"],[36499,0,"e"],[36500,0,"r"],[36501,0,"b"],[36502,0,"|"],[36503,0,"{"],[36504,0,"}"],[36505,0,"|"],[36506,0,","],[36536,1],[36535,1],[36534,1],[36533,1],[36532,1],[36531,1],[36538,0,"s"],[36575,1],[36574,1],[36573,1],[36566,1],[36565,1],[36564,1],[36563,1],[36562,1],[36561,1],[36560,1],[36559,1],[36558,1],[36557,1],[36556,1],[36555,1],[36554,1],[36553,1],[36552,1],[36551,1],[36550,1],[36549,1],[36548,1],[36547,1],[36546,1],[36545,1],[36544,1],[36543,1],[36542,1],[36541,1],[36540,1],[36546,0,"m"],[36547,0,"e"],[36548,0,"n"],[36549,0,"t"],[36550,0," "],[36551,0,"o"],[36552,0,"f"],[36553,0," "],[36554,0,"t"],[36555,0,"h"],[36556,0,"e"],[36557,0," "],[36558,0,"e"],[36559,0,"m"],[36560,0,"p"],[36561,0,"t"],[36562,0,"y"],[36563,0," "],[36564,0,"l"],[36565,0,"i"],[36566,0,"s"],[36567,0,"t"],[36568,0," "],[36569,0,"\\"],[36570,0,"v"],[36571,0,"e"],[36572,0,"r"],[36573,0,"b"],[36574,0,"|"],[36575,0,"["],[36576,0,"]"],[36577,0,"|"],[36578,0,"."],[36579,0," "],[36580,0,"T"],[36581,0,"h"],[36582,0,"e"],[36583,0,"s"],[36584,0,"e"],[36585,0," "],[36586,0,"a"],[36587,0,"s"],[36588,0,"s"],[36589,0,"i"],[36590,0,"g"],[36591,0,"n"],[36592,0,"m"],[36593,0,"e"],[36594,0,"n"],[36595,0,"t"],[36596,0," "],[36597,0,"r"],[36598,0,"u"],[36599,0,"l"],[36600,0,"e"],[36601,0,"s"],[36602,0," "],[36586,0,"t"],[36587,0,"h"],[36588,0,"r"],[36589,0,"e"],[36590,0,"e"],[36591,0," "],[36592,1],[36592,1],[36592,1],[36592,1],[36592,1],[36592,1],[36592,1],[36592,1],[36592,1],[36592,1],[36592,1],[36598,0,"f"],[36599,0,"o"],[36600,0,"r"],[36601,0," "],[36602,0,"\\"],[36603,0,"t"],[36604,0,"e"],[36605,0,"x"],[36606,0,"t"],[36607,0,"s"],[36608,0,"f"],[36609,0,"{"],[36610,0,"a"],[36611,0,"s"],[36612,0,"s"],[36613,0,"i"],[36614,0,"g"],[36615,0,"n"],[36616,0,"}"],[36617,0," "],[36618,0,"h"],[36619,0,"a"],[36620,0,"v"],[36621,0,"e"],[36622,0," "],[36623,0,"a"],[36624,0," "],[36625,0,"s"],[36626,0,"i"],[36627,0,"m"],[36628,0,"i"],[36629,0,"l"],[36630,0,"a"],[36631,0,"r"],[36632,0," "],[36633,0,"s"],[36634,0,"t"],[36635,0,"r"],[36636,0,"u"],[36637,0,"c"],[36638,0,"t"],[36639,0,"u"],[36640,0,"r"],[36641,0,"e"],[36642,0,":"],[36643,0," "],[36644,0,"f"],[36645,0,"i"],[36646,0,"r"],[36647,0,"s"],[36648,0,"t"],[36649,0," "],[36650,0,"c"],[36651,0,"l"],[36652,0,"e"],[36653,0,"a"],[36654,0,"r"],[36655,0,"i"],[36656,0,"n"],[36657,0,"g"],[36658,0," "],[36659,0,"t"],[36660,0,"h"],[36661,0,"e"],[36662,0," "],[36663,0,"p"],[36664,0,"r"],[36665,0,"i"],[36666,0,"o"],[36667,0,"r"],[36668,0," "],[36669,0,"v"],[36670,0,"a"],[36671,0,"l"],[36672,0,"u"],[36673,0,"e"],[36674,0," "],[36675,0,"a"],[36676,0,"t"],[36677,0," "],[36678,0,"t"],[36679,0,"h"],[36680,0,"e"],[36681,0," "],[36682,0,"c"],[36683,0,"u"],[36684,0,"r"],[36685,0,"s"],[36686,0,"o"],[36687,0,"r"],[36688,0," "],[36689,0,"("],[36690,0,"a"],[36691,0,"s"],[36692,0," "],[36693,0,"d"],[36694,0,"i"],[36695,0,"s"],[36696,0,"c"],[36697,0,"u"],[36698,0,"s"],[36699,0,"s"],[36700,0,"e"],[36701,0,"d"],[36702,0," "],[36703,0,"i"],[36704,0,"n"],[36705,0," "],[36706,0,"t"],[36707,0,"h"],[36708,0,"e"],[36709,0," "],[36710,0,"n"],[36711,0,"e"],[36712,0,"x"],[36713,0,"t"],[36714,0," "],[36715,0,"s"],[36716,0,"e"],[36717,0,"c"],[36718,0,"t"],[36719,0,"i"],[36720,0,"o"],[36721,0,"n"],[36722,0,")"],[36723,0,","],[36724,0," "],[36725,0,"t"],[36726,0,"h"],[36727,0,"e"],[36728,0,"n"],[36729,0," "],[36730,0,"a"],[36731,0,"d"],[36732,0,"d"],[36733,0,"i"],[36734,0,"n"],[36735,0,"g"],[36736,0," "],[36737,0,"t"],[36738,0,"h"],[36739,0,"e"],[36740,0," "],[36741,0,"o"],[36742,0,"p"],[36743,0,"e"],[36744,0,"r"],[36745,0,"a"],[36746,0,"t"],[36747,0,"i"],[36748,0,"o"],[36749,0,"n"],[36750,0," "],[36751,0,"I"],[36752,0,"D"],[36753,0," "],[36754,0,"t"],[36755,0,"o"],[36756,0," "],[36757,0,"t"],[36758,0,"h"],[36759,0,"e"],[36760,0," "],[36761,0,"p"],[36762,0,"r"],[36763,0,"e"],[36764,0,"s"],[36765,0,"e"],[36766,0,"n"],[36767,0,"c"],[36768,0,"e"],[36769,0," "],[36770,0,"s"],[36771,0,"e"],[36772,0,"t"],[36773,0,","],[36774,0," "],[36775,0,"a"],[36776,0,"n"],[36777,0,"d"],[36778,0," "],[36779,0,"f"],[36780,0,"i"],[36781,0,"n"],[36782,0,"a"],[36783,0,"l"],[36784,0,"l"],[36785,0,"y"],[36786,0," "],[36787,0,"i"],[36788,0,"n"],[36789,0,"c"],[36790,0,"o"],[36791,0,"r"],[36792,0,"p"],[36793,0,"o"],[36794,0,"r"],[36795,0,"a"],[36796,0,"t"],[36797,0,"i"],[36798,0,"n"],[36799,0,"g"],[36800,0," "],[36801,0,"t"],[36802,0,"h"],[36803,0,"e"],[36804,0," "],[36805,0,"n"],[36806,0,"e"],[36807,0,"w"],[36808,0," "],[36809,0,"v"],[36810,0,"a"],[36811,0,"l"],[36812,0,"u"],[36813,0,"e"],[36814,0," "],[36815,0,"i"],[36816,0,"n"],[36817,0,"t"],[36818,0,"o"],[36819,0," "],[36820,0,"t"],[36821,0,"h"],[36822,0,"e"],[36823,0," "],[36824,0,"t"],[36825,0,"r"],[36826,0,"e"],[36827,0,"e"],[36828,0," "],[36829,0,"o"],[36830,0,"f"],[36831,0," "],[36832,0,"l"],[36833,0,"o"],[36834,0,"c"],[36835,0,"a"],[36836,0,"l"],[36837,0," "],[36838,0,"s"],[36839,0,"t"],[36840,0,"a"],[36841,0,"t"],[36842,0,"e"],[36843,0,"."],[36845,0,"\n"],[36846,0,"\n"],[36846,0,"T"],[36847,0,"h"],[36848,0,"e"],[36849,0," "],[36850,0,"$"],[36851,0,"\\"],[36852,0,"t"],[36853,0,"e"],[36854,0,"x"],[36855,0,"t"],[36856,0,"s"],[36857,0,"c"],[36858,0,"{"],[36859,0,"I"],[36860,0,"n"],[36861,0,"s"],[36862,0,"e"],[36863,0,"r"],[36864,0,"t"],[36865,0,"}"],[36866,0,"_"],[36867,0,"{"],[36868,0,"1"],[36869,0,","],[36870,0,"2"],[36871,0,"}"],[36872,0,"$"],[36873,0," "],[36874,0,"r"],[36875,0,"u"],[36876,0,"l"],[36877,0,"e"],[36878,0,"s"],[36879,0," "],[36880,0,"h"],[36881,0,"a"],[36882,0,"n"],[36883,0,"d"],[36884,0,"l"],[36885,0,"e"],[36886,0," "],[36887,0,"i"],[36888,0,"n"],[36889,0,"s"],[36890,0,"e"],[36891,0,"r"],[36892,0,"t"],[36893,0,"i"],[36894,0,"o"],[36895,0,"n"],[36896,0," "],[36897,0,"o"],[36898,0,"f"],[36899,0," "],[36900,0,"a"],[36901,0," "],[36902,0,"n"],[36903,0,"e"],[36904,0,"w"],[36905,0," "],[36906,0,"e"],[36907,0,"l"],[36908,0,"e"],[36909,0,"m"],[36910,0,"e"],[36911,0,"n"],[36912,0,"t"],[36913,0," "],[36914,0,"i"],[36915,0,"n"],[36916,0,"t"],[36917,0,"o"],[36918,0," "],[36919,0,"a"],[36920,0,"n"],[36921,0," "],[36922,0,"o"],[36923,0,"r"],[36924,0,"d"],[36925,0,"e"],[36926,0,"r"],[36927,0,"e"],[36928,0,"d"],[36929,0," "],[36930,0,"l"],[36931,0,"i"],[36932,0,"s"],[36933,0,"t"],[36934,0,"."],[36935,0," "],[36936,0,"I"],[36937,0,"n"],[36938,0," "],[36939,0,"t"],[36940,0,"h"],[36941,0,"i"],[36942,0,"s"],[36943,0," "],[36944,0,"c"],[36945,0,"a"],[36946,0,"s"],[36947,0,"e"],[36948,0,","],[36949,0," "],[36950,0,"t"],[36951,0,"h"],[36952,0,"e"],[36953,0," "],[36954,0,"c"],[36955,0,"u"],[36956,0,"r"],[36957,0,"s"],[36958,0,"o"],[36959,0,"r"],[36960,0," "],[36961,0,"r"],[36962,0,"e"],[36963,0,"v"],[36963,1],[36963,0,"f"],[36964,0,"e"],[36965,0,"r"],[36966,0,"s"],[36967,0," "],[36968,0,"t"],[36969,0,"o"],[36970,0," "],[36971,0,"t"],[36972,0,"h"],[36973,0,"e"],[36974,0," "],[36975,0,"l"],[36976,0,"i"],[36977,0,"s"],[36978,0,"t"],[36979,0," "],[36980,0,"e"],[36981,0,"l"],[36982,0,"e"],[36983,0,"m"],[36984,0,"e"],[36985,0,"n"],[36986,0,"t"],[36987,0," "],[36988,0,"$"],[36989,0,"\\"],[36990,0,"m"],[36991,0,"a"],[36992,0,"t"],[36993,0,"h"],[36994,0,"i"],[36995,0,"t"],[36996,0,"{"],[36997,0,"p"],[36998,0,"r"],[36999,0,"e"],[37000,0,"v"],[37001,0,"}"],[37002,0,"$"],[37003,0,","],[37004,0," "],[37005,0,"a"],[37006,0,"n"],[37007,0,"d"],[37008,0," "],[37009,0,"t"],[37010,0,"h"],[37011,0,"e"],[37012,0," "],[37013,0,"n"],[37014,0,"e"],[37015,0,"w"],[37016,0," "],[37017,0,"e"],[37018,0,"l"],[37019,0,"e"],[37020,0,"m"],[37021,0,"e"],[37022,0,"n"],[37023,0,"t"],[37024,0," "],[37025,0,"i"],[37026,0,"s"],[37027,0," "],[37028,0,"i"],[37029,0,"n"],[37030,0,"s"],[37031,0,"e"],[37032,0,"r"],[37033,0,"t"],[37034,0,"e"],[37035,0,"d"],[37036,0," "],[37037,0,"a"],[37038,0,"f"],[37039,0,"t"],[37040,0,"e"],[37041,0,"r"],[37042,0," "],[37043,0,"t"],[37044,0,"h"],[37045,0,"a"],[37046,0,"t"],[37047,0," "],[37048,0,"p"],[37049,0,"o"],[37050,0,"s"],[37051,0,"i"],[37052,0,"t"],[37053,0,"i"],[37054,0,"o"],[37055,0,"n"],[37056,0," "],[37057,0,"i"],[37058,0,"n"],[37059,0," "],[37060,0,"t"],[37061,0,"h"],[37062,0,"e"],[37063,0," "],[37064,0,"l"],[37065,0,"i"],[37066,0,"s"],[37067,0,"t"],[37068,0,"."],[37069,0," "],[37070,0,"T"],[37071,0,"h"],[37072,0,"e"],[37073,0," "],[37073,1],[37072,1],[37071,1],[37070,1],[37070,0,"$"],[37071,0,"\\"],[37072,0,"t"],[37073,0,"e"],[37074,0,"x"],[37075,0,"t"],[37076,0,"s"],[37077,0,"c"],[37078,0,"{"],[37079,0,"I"],[37080,0,"n"],[37081,0,"s"],[37082,0,"e"],[37083,0,"r"],[37084,0,"t"],[37085,0,"}"],[37086,0,"_"],[37087,0,"1"],[37088,0,"$"],[37089,0," "],[37090,0,"p"],[37091,0,"e"],[37092,0,"r"],[37093,0,"f"],[37094,0,"o"],[37095,0,"r"],[37096,0,"m"],[37097,0,"s"],[37098,0," "],[37099,0,"t"],[37100,0,"h"],[37101,0,"e"],[37102,0," "],[37103,0,"i"],[37104,0,"n"],[37105,0,"s"],[37106,0,"e"],[37107,0,"r"],[37108,0,"t"],[37109,0,"i"],[37110,0,"o"],[37111,0,"n"],[37112,0," "],[37113,0,"b"],[37114,0,"y"],[37115,0," "],[37116,0,"m"],[37117,0,"a"],[37118,0,"n"],[37119,0,"i"],[37120,0,"p"],[37121,0,"u"],[37122,0,"l"],[37123,0,"a"],[37124,0,"t"],[37125,0,"i"],[37126,0,"n"],[37127,0,"g"],[37128,0," "],[37129,0,"t"],[37130,0,"h"],[37131,0,"e"],[37132,0," "],[37133,0,"l"],[37134,0,"i"],[37135,0,"n"],[37136,0,"k"],[37137,0,"e"],[37138,0,"d"],[37139,0," "],[37140,0,"l"],[37141,0,"i"],[37142,0,"s"],[37143,0,"t"],[37144,0," "],[37145,0,"s"],[37146,0,"t"],[37147,0,"r"],[37148,0,"u"],[37149,0,"c"],[37150,0,"t"],[37151,0,"u"],[37152,0,"r"],[37153,0,"e"],[37154,0,","],[37155,0," "],[37156,0,"a"],[37157,0,"n"],[37157,1],[37156,1],[37155,1],[37154,1],[37154,0,"."],[37155,0," "],[37156,0,"$"],[37157,0,"\\"],[37158,0,"t"],[37159,0,"e"],[37160,0,"x"],[37161,0,"t"],[37162,0,"s"],[37163,0,"c"],[37164,0,"{"],[37165,0,"I"],[37166,0,"n"],[37167,0,"s"],[37168,0,"e"],[37169,0,"r"],[37170,0,"t"],[37171,0,"}"],[37172,0,"_"],[37173,0,"2"],[37174,0,"$"],[37175,0," "],[37176,0,"h"],[37177,0,"a"],[37178,0,"n"],[37179,0,"d"],[37180,0,"l"],[37181,0,"e"],[37182,0,"s"],[37183,0," "],[37184,0,"t"],[37185,0,"h"],[37186,0,"e"],[37187,0," "],[37188,0,"c"],[37189,0,"a"],[37190,0,"s"],[37191,0,"e"],[37192,0," "],[37193,0,"o"],[37194,0,"f"],[37195,0," "],[37196,0,"m"],[37197,0,"u"],[37198,0,"l"],[37199,0,"t"],[37200,0,"i"],[37201,0,"p"],[37202,0,"l"],[37203,0,"e"],[37204,0," "],[37205,0,"p"],[37206,0,"e"],[37207,0,"e"],[37208,0,"r"],[37209,0,"s"],[37210,0," "],[37211,0,"c"],[37212,0,"o"],[37213,0,"n"],[37214,0,"c"],[37215,0,"u"],[37216,0,"r"],[37217,0,"r"],[37218,0,"e"],[37219,0,"n"],[37220,0,"t"],[37221,0,"l"],[37222,0,"y"],[37223,0," "],[37224,0,"i"],[37225,0,"n"],[37226,0,"s"],[37227,0,"e"],[37228,0,"r"],[37229,0,"t"],[37230,0,"i"],[37231,0,"n"],[37232,0,"g"],[37233,0," "],[37234,0,"l"],[37235,0,"i"],[37236,0,"s"],[37237,0,"t"],[37238,0," "],[37239,0,"e"],[37240,0,"l"],[37241,0,"e"],[37242,0,"m"],[37243,0,"e"],[37244,0,"n"],[37245,0,"t"],[37246,0,"s"],[37247,0," "],[37248,0,"a"],[37249,0,"t"],[37250,0," "],[37251,0,"t"],[37252,0,"h"],[37253,0,"e"],[37254,0," "],[37255,0,"s"],[37256,0,"a"],[37257,0,"m"],[37258,0,"e"],[37259,0," "],[37260,0,"p"],[37261,0,"o"],[37262,0,"s"],[37263,0,"i"],[37264,0,"t"],[37265,0,"i"],[37266,0,"o"],[37267,0,"n"],[37268,0,","],[37269,0," "],[37270,0,"a"],[37271,0,"n"],[37272,0,"d"],[37273,0," "],[37274,0,"e"],[37275,0,"n"],[37276,0,"s"],[37277,0,"u"],[37278,0,"r"],[37279,0,"e"],[37280,0,"s"],[37281,0," "],[37282,0,"a"],[37283,0," "],[37284,0,"c"],[37285,0,"o"],[37286,0,"n"],[37287,0,"s"],[37288,0,"i"],[37289,0,"s"],[37290,0,"t"],[37291,0,"e"],[37292,0,"n"],[37293,0,"t"],[37294,0," "],[37295,0,"o"],[37296,0,"r"],[37297,0,"d"],[37298,0,"e"],[37299,0,"r"],[37300,0," "],[37301,0,"b"],[37302,0,"y"],[37303,0," "],[37304,0,"o"],[37304,1],[37304,0,"l"],[37305,0,"o"],[37306,0,"c"],[37307,0,"a"],[37308,0,"t"],[37309,0,"i"],[37310,0,"n"],[37311,0,"g"],[37312,0," "],[37312,1],[37311,1],[37310,1],[37309,1],[37308,1],[37307,1],[37306,1],[37305,1],[37304,1],[37303,1],[37302,1],[37301,1],[37300,1],[37299,1],[37298,1],[37297,1],[37296,1],[37295,1],[37294,1],[37293,1],[37292,1],[37291,1],[37290,1],[37289,1],[37288,1],[37287,1],[37286,1],[37285,1],[37284,1],[37283,1],[37282,1],[37281,1],[37280,1],[37279,1],[37278,1],[37277,1],[37276,1],[37275,1],[37274,1],[37274,0,"u"],[37275,0,"s"],[37276,0,"e"],[37277,0,"s"],[37278,0," "],[37279,0,"t"],[37280,0,"h"],[37281,0,"e"],[37282,0," "],[37283,0,"o"],[37284,0,"r"],[37285,0,"d"],[37286,0,"e"],[37287,0,"r"],[37288,0,"i"],[37289,0,"n"],[37290,0,"g"],[37291,0," "],[37292,0,"r"],[37293,0,"e"],[37294,0,"l"],[37295,0,"a"],[37296,0,"t"],[37297,0,"i"],[37298,0,"o"],[37299,0,"n"],[37300,0," "],[37301,0,"$"],[37302,0,"<"],[37303,0,"$"],[37304,0," "],[37305,0,"o"],[37306,0,"n"],[37307,0," "],[37308,0,"L"],[37309,0,"a"],[37310,0,"m"],[37311,0,"p"],[37312,0,"o"],[37313,0,"r"],[37314,0,"t"],[37315,0," "],[37316,0,"t"],[37317,0,"i"],[37318,0,"m"],[37319,0,"e"],[37320,0,"s"],[37321,0,"t"],[37322,0,"a"],[37323,0,"m"],[37324,0,"p"],[37325,0,"s"],[37326,0," "],[37327,0,"t"],[37328,0,"o"],[37329,0," "],[37330,0,"d"],[37331,0,"e"],[37332,0,"t"],[37333,0,"e"],[37334,0,"r"],[37335,0,"m"],[37336,0,"i"],[37337,0,"n"],[37338,0,"e"],[37339,0," "],[37340,0,"t"],[37341,0,"h"],[37342,0,"e"],[37343,0," "],[37344,0,"i"],[37345,0,"n"],[37346,0,"s"],[37347,0,"e"],[37348,0,"r"],[37349,0,"t"],[37350,0,"i"],[37351,0,"o"],[37352,0,"n"],[37353,0," "],[37354,0,"p"],[37355,0,"o"],[37356,0,"i"],[37357,0,"n"],[37358,0,"t"],[37359,0,"."],[37359,0," "],[37359,1],[37330,0,"c"],[37331,0,"o"],[37332,0,"n"],[37333,0,"s"],[37334,0,"i"],[37335,0,"s"],[37336,0,"t"],[37337,0,"e"],[37338,0,"n"],[37339,0,"t"],[37340,0,"l"],[37341,0,"y"],[37342,0," "],[37373,0," "],[37374,0,"W"],[37375,0,"e"],[37376,0," "],[37377,0,"s"],[37378,0,"h"],[37379,0,"o"],[37380,0,"w"],[37381,0," "],[37382,0,"l"],[37383,0,"a"],[37384,0,"t"],[37385,0,"e"],[37386,0,"r"],[37387,0," "],[37388,0,"t"],[37389,0,"h"],[37390,0,"a"],[37391,0,"t"],[37392,0," "],[37393,0,"t"],[37394,0,"h"],[37395,0,"e"],[37396,0,"s"],[37397,0,"e"],[37398,0," "],[37399,0,"r"],[37400,0,"u"],[37401,0,"l"],[37402,0,"e"],[37403,0,"s"],[37404,0," "],[37405,0,"e"],[37406,0,"n"],[37407,0,"s"],[37408,0,"u"],[37409,0,"r"],[37410,0,"e"],[37411,0," "],[37412,0,"a"],[37413,0,"l"],[37414,0,"l"],[37415,0," "],[37416,0,"p"],[37417,0,"e"],[37418,0,"e"],[37419,0,"r"],[37420,0,"s"],[37421,0," "],[37422,0,"c"],[37423,0,"o"],[37424,0,"n"],[37425,0,"v"],[37426,0,"e"],[37427,0,"r"],[37428,0,"g"],[37429,0,"e"],[37430,0," "],[37431,0,"t"],[37432,0,"o"],[37433,0,"w"],[37434,0,"a"],[37435,0,"r"],[37436,0,"d"],[37437,0,"s"],[37438,0," "],[37439,0,"t"],[37440,0,"h"],[37441,0,"e"],[37442,0," "],[37443,0,"s"],[37444,0,"a"],[37445,0,"m"],[37446,0,"e"],[37447,0," "],[37448,0,"s"],[37449,0,"t"],[37450,0,"a"],[37451,0,"t"],[37452,0,"e"],[37453,0,"."],[37455,0,"\n"],[37455,0,"\n"],[37456,0,"\\"],[37457,0,"s"],[37458,0,"u"],[37459,0,"b"],[37460,0,"s"],[37461,0,"u"],[37462,0,"b"],[37463,0,"s"],[37464,0,"e"],[37465,0,"c"],[37466,0,"t"],[37467,0,"i"],[37468,0,"o"],[37469,0,"n"],[37470,0,"{"],[37471,0,"C"],[37472,0,"l"],[37473,0,"e"],[37474,0,"a"],[37475,0,"r"],[37476,0,"i"],[37477,0,"n"],[37478,0,"g"],[37479,0," "],[37480,0,"p"],[37481,0,"r"],[37482,0,"i"],[37483,0,"o"],[37484,0,"r"],[37485,0," "],[37486,0,"s"],[37487,0,"t"],[37488,0,"a"],[37489,0,"t"],[37490,0,"e"],[37491,0,"}"],[42388,0,"A"],[42389,0,"s"],[42390,0,"s"],[42391,0,"i"],[42392,0,"g"],[42393,0,"n"],[42394,0,"m"],[42395,0,"e"],[42396,0,"n"],[42397,0,"t"],[42398,0," "],[42399,0,"a"],[42400,0,"n"],[42401,0,"d"],[42402,0," "],[42403,0,"d"],[42404,0,"e"],[42405,0,"l"],[42406,0,"e"],[42407,0,"t"],[42408,0,"i"],[42409,0,"o"],[42410,0,"n"],[42411,0," "],[42412,0,"o"],[42413,0,"p"],[42414,0,"e"],[42415,0,"r"],[42416,0,"a"],[42417,0,"t"],[42418,0,"i"],[42419,0,"o"],[42420,0,"n"],[42421,0,"s"],[42422,0," "],[42423,0,"r"],[42424,0,"e"],[42425,0,"q"],[42426,0,"u"],[42427,0,"i"],[42428,0,"r"],[42429,0,"e"],[42430,0," "],[42431,0,"t"],[42432,0,"h"],[42433,0,"a"],[42434,0,"t"],[42435,0," "],[42436,0,"p"],[42437,0,"r"],[42438,0,"i"],[42439,0,"o"],[42440,0,"r"],[42441,0," "],[42442,0,"s"],[42443,0,"t"],[42444,0,"a"],[42445,0,"t"],[42446,0,"e"],[42447,0," "],[42448,0,"("],[42449,0,"t"],[42450,0,"h"],[42451,0,"e"],[42452,0," "],[42453,0,"v"],[42454,0,"a"],[42455,0,"l"],[42456,0,"u"],[42457,0,"e"],[42458,0," "],[42459,0,"b"],[42460,0,"e"],[42461,0,"i"],[42462,0,"n"],[42463,0,"g"],[42464,0," "],[42465,0,"o"],[42466,0,"v"],[42467,0,"e"],[42468,0,"r"],[42469,0,"w"],[42470,0,"r"],[42471,0,"i"],[42472,0,"t"],[42473,0,"t"],[42474,0,"e"],[42475,0,"n"],[42476,0," "],[42477,0,"o"],[42478,0,"r"],[42479,0," "],[42480,0,"d"],[42481,0,"e"],[42482,0,"l"],[42483,0,"e"],[42484,0,"t"],[42485,0,"e"],[42486,0,"d"],[42487,0,")"],[42488,0," "],[42489,0,"i"],[42490,0,"s"],[42491,0," "],[42492,0,"c"],[42493,0,"l"],[42494,0,"e"],[42495,0,"a"],[42496,0,"r"],[42497,0,"e"],[42498,0,"d"],[42499,0," "],[42499,1],[42499,0,","],[42500,0," "],[42501,0,"w"],[42502,0,"h"],[42503,0,"i"],[42504,0,"l"],[42505,0,"e"],[42506,0," "],[42507,0,"a"],[42508,0,"l"],[42509,0,"s"],[42510,0,"o"],[42511,0," "],[42512,0,"e"],[42513,0,"n"],[42514,0,"s"],[42515,0,"u"],[42516,0,"r"],[42517,0,"i"],[42518,0,"n"],[42519,0,"g"],[42520,0," "],[42521,0,"t"],[42522,0,"h"],[42523,0,"a"],[42524,0,"t"],[42525,0," "],[42526,0,"c"],[42527,0,"o"],[42528,0,"n"],[42529,0,"c"],[42530,0,"u"],[42531,0,"r"],[42532,0,"r"],[42533,0,"e"],[42534,0,"m"],[42534,1],[42534,0,"n"],[42535,0,"t"],[42536,0," "],[42537,0,"m"],[42538,0,"o"],[42539,0,"d"],[42540,0,"i"],[42541,0,"f"],[42542,0,"i"],[42543,0,"c"],[42544,0,"a"],[42545,0,"t"],[42546,0,"i"],[42547,0,"o"],[42548,0,"n"],[42549,0,"s"],[42550,0," "],[42551,0,"a"],[42552,0,"r"],[42553,0,"e"],[42554,0," "],[42555,0,"n"],[42556,0,"o"],[42557,0,"t"],[42558,0," "],[42559,0,"l"],[42560,0,"o"],[42561,0,"s"],[42562,0,"t"],[42563,0,"."],[42564,0," "],[42565,0,"T"],[42566,0,"h"],[42567,0,"e"],[42568,0," "],[42569,0,"r"],[42570,0,"u"],[42571,0,"l"],[42572,0,"e"],[42573,0,"s"],[42574,0," "],[42575,0,"t"],[42576,0,"o"],[42577,0," "],[42578,0,"h"],[42579,0,"a"],[42580,0,"n"],[42581,0,"d"],[42582,0,"l"],[42583,0,"e"],[42584,0," "],[42585,0,"t"],[42586,0,"h"],[42587,0,"i"],[42588,0,"s"],[42589,0," "],[42590,0,"c"],[42591,0,"l"],[42592,0,"e"],[42593,0,"a"],[42594,0,"r"],[42595,0,"i"],[42596,0,"n"],[42597,0,"g"],[42598,0," "],[42599,0,"p"],[42600,0,"r"],[42601,0,"o"],[42602,0,"c"],[42603,0,"e"],[42604,0,"s"],[42605,0,"s"],[42606,0," "],[42607,0,"a"],[42608,0,"r"],[42609,0,"e"],[42610,0," "],[42611,0,"g"],[42612,0,"i"],[42613,0,"v"],[42614,0,"e"],[42615,0,"n"],[42616,0," "],[42617,0,"i"],[42618,0,"n"],[42619,0," "],[42620,0,"F"],[42621,0,"i"],[42622,0,"g"],[42623,0,"u"],[42624,0,"r"],[42625,0,"e"],[42626,0,"~"],[42627,0,"\\"],[42628,0,"r"],[42629,0,"e"],[42630,0,"f"],[42631,0,"{"],[42632,0,"f"],[42633,0,"i"],[42634,0,"g"],[42635,0,":"],[42636,0,"c"],[42637,0,"l"],[42638,0,"e"],[42639,0,"a"],[42640,0,"r"],[42641,0,"-"],[42642,0,"r"],[42643,0,"u"],[42644,0,"l"],[42645,0,"e"],[42646,0,"s"],[42647,0,"}"],[42648,0,"."],[42649,0," "],[42650,0,"I"],[42651,0,"n"],[42652,0,"t"],[42653,0,"u"],[42654,0,"i"],[42655,0,"t"],[42656,0,"i"],[42657,0,"v"],[42658,0,"e"],[42659,0,"l"],[42660,0,"y"],[42661,0,","],[42662,0," "],[42663,0,"t"],[42664,0,"h"],[42665,0,"e"],[42666,0," "],[42667,0,"e"],[42668,0,"f"],[42669,0,"f"],[42670,0,"e"],[42671,0,"c"],[42672,0,"t"],[42673,0," "],[42674,0,"o"],[42675,0,"f"],[42676,0," "],[42677,0,"c"],[42678,0,"l"],[42679,0,"e"],[42680,0,"a"],[42681,0,"r"],[42682,0,"i"],[42683,0,"n"],[42684,0,"g"],[42685,0," "],[42686,0,"s"],[42687,0,"o"],[42688,0,"m"],[42689,0,"e"],[42690,0,"t"],[42691,0,"h"],[42692,0,"i"],[42693,0,"n"],[42694,0,"g"],[42695,0," "],[42696,0,"i"],[42697,0,"s"],[42698,0," "],[42699,0,"t"],[42700,0,"o"],[42701,0," "],[42702,0,"r"],[42703,0,"e"],[42704,0,"s"],[42705,0,"e"],[42706,0,"t"],[42707,0," "],[42708,0,"i"],[42709,0,"t"],[42710,0," "],[42711,0,"t"],[42712,0,"o"],[42713,0," "],[42714,0,"i"],[42715,0,"t"],[42716,0,"s"],[42717,0," "],[42718,0,"e"],[42719,0,"m"],[42720,0,"p"],[42721,0,"t"],[42722,0,"y"],[42723,0," "],[42724,0,"s"],[42725,0,"t"],[42726,0,"a"],[42727,0,"t"],[42728,0,"e"],[42729,0," "],[42730,0,"b"],[42731,0,"y"],[42732,0," "],[42733,0,"u"],[42734,0,"n"],[42735,0,"d"],[42736,0,"o"],[42737,0,"i"],[42738,0,"n"],[42739,0,"g"],[42740,0," "],[42741,0,"a"],[42742,0,"n"],[42743,0,"y"],[42744,0," "],[42745,0,"o"],[42746,0,"p"],[42747,0,"e"],[42748,0,"r"],[42749,0,"a"],[42750,0,"t"],[42751,0,"i"],[42752,0,"o"],[42753,0,"n"],[42754,0,"s"],[42755,0," "],[42756,0,"t"],[42757,0,"h"],[42758,0,"a"],[42759,0,"t"],[42760,0," "],[42761,0,"c"],[42762,0,"a"],[42763,0,"u"],[42764,0,"s"],[42765,0,"a"],[42766,0,"l"],[42767,0,"l"],[42768,0,"y"],[42769,0," "],[42770,0,"p"],[42771,0,"r"],[42772,0,"e"],[42773,0,"d"],[42773,1],[42773,0,"c"],[42774,0,"e"],[42775,0,"d"],[42776,0,"e"],[42777,0," "],[42778,0,"t"],[42779,0,"h"],[42780,0,"e"],[42781,0," "],[42782,0,"c"],[42783,0,"u"],[42784,0,"r"],[42785,0,"r"],[42786,0,"e"],[42787,0,"n"],[42788,0,"t"],[42789,0," "],[42790,0,"o"],[42791,0,"p"],[42792,0,"e"],[42793,0,"r"],[42794,0,"a"],[42795,0,"t"],[42796,0,"i"],[42797,0,"o"],[42798,0,"n"],[42799,0,","],[42800,0," "],[42801,0,"w"],[42802,0,"h"],[42803,0,"i"],[42804,0,"l"],[42805,0,"e"],[42806,0," "],[42807,0,"l"],[42808,0,"e"],[42809,0,"a"],[42810,0,"v"],[42811,0,"i"],[42812,0,"n"],[42813,0,"g"],[42814,0," "],[42815,0,"a"],[42816,0,"n"],[42817,0,"y"],[42818,0," "],[42819,0,"c"],[42820,0,"o"],[42821,0,"n"],[42822,0,"c"],[42823,0,"u"],[42824,0,"r"],[42825,0,"r"],[42826,0,"e"],[42827,0,"n"],[42828,0,"t"],[42829,0," "],[42830,0,"o"],[42831,0,"p"],[42832,0,"e"],[42833,0,"r"],[42834,0,"a"],[42835,0,"t"],[42836,0,"i"],[42837,0,"o"],[42838,0,"n"],[42839,0,"s"],[42815,0,"t"],[42816,0,"h"],[42817,0,"e"],[42818,0," "],[42819,0,"e"],[42820,0,"f"],[42821,0,"f"],[42822,0,"e"],[42823,0,"c"],[42824,0,"t"],[42825,0," "],[42826,0,"o"],[42827,0,"f"],[42828,0," "],[42854,0," "],[42855,0,"u"],[42856,0,"n"],[42857,0,"t"],[42858,0,"o"],[42859,0,"u"],[42860,0,"c"],[42861,0,"h"],[42862,0,"e"],[42863,0,"d"],[42864,0,"."],[42865,0,"\n"],[42866,0,"\n"],[42867,0,"T"],[42868,0,"h"],[42869,0,"e"],[42870,0," "],[42871,0,"\\"],[42872,0,"t"],[42873,0,"e"],[42874,0,"x"],[42875,0,"t"],[42876,0,"s"],[42877,0,"c"],[42878,0,"{"],[42879,0,"D"],[42880,0,"e"],[42881,0,"l"],[42882,0,"e"],[42883,0,"t"],[42884,0,"e"],[42885,0,"}"],[42886,0," "],[42887,0,"r"],[42888,0,"u"],[42889,0,"l"],[42890,0,"e"],[42891,0," "],[42892,0,"s"],[42893,0,"h"],[42894,0,"o"],[42895,0,"w"],[42896,0,"s"],[42897,0," "],[42898,0,"h"],[42899,0,"o"],[42900,0,"w"],[42901,0," "],[42902,0,"t"],[42903,0,"h"],[42904,0,"e"],[42905,0," "],[42906,0,"\\"],[42907,0,"t"],[42908,0,"e"],[42909,0,"x"],[42910,0,"t"],[42911,0,"s"],[42912,0,"f"],[42913,0,"{"],[42914,0,"d"],[42915,0,"e"],[42916,0,"l"],[42917,0,"e"],[42918,0,"t"],[42919,0,"e"],[42920,0,"}"],[42905,1],[42904,1],[42903,1],[42902,1],[42917,0," "],[42918,0,"o"],[42919,0,"p"],[42920,0,"e"],[42921,0,"r"],[42922,0,"a"],[42923,0,"t"],[42924,0,"i"],[42925,0,"o"],[42926,0,"n"],[42927,0,"s"],[42928,0," "],[42929,0,"("],[42930,0,"w"],[42931,0,"h"],[42932,0,"i"],[42933,0,"c"],[42934,0,"h"],[42935,0," "],[42936,0,"c"],[42937,0,"a"],[42938,0,"n"],[42939,0," "],[42940,0,"b"],[42941,0,"e"],[42942,0," "],[42943,0,"u"],[42944,0,"s"],[42945,0,"e"],[42946,0,"d"],[42947,0," "],[42948,0,"t"],[42949,0,"o"],[42950,0," "],[42951,0,"d"],[42952,0,"e"],[42953,0,"l"],[42954,0,"e"],[42955,0,"t"],[42956,0,"e"],[42957,0," "],[42958,0,"e"],[42959,0,"i"],[42960,0,"t"],[42961,0,"h"],[42962,0,"e"],[42963,0,"r"],[42964,0," "],[42935,1],[42934,1],[42933,1],[42932,1],[42931,1],[42930,1],[42929,1],[42901,1],[42900,1],[42899,1],[42898,1],[42897,1],[42896,1],[42895,1],[42894,1],[42893,1],[42892,1],[42891,1],[42890,1],[42889,1],[42888,1],[42887,1],[42886,1],[42885,1],[42884,1],[42883,1],[42882,1],[42881,1],[42880,1],[42879,1],[42878,1],[42877,1],[42876,1],[42875,1],[42874,1],[42873,1],[42872,1],[42871,1],[42870,1],[42869,1],[42868,1],[42867,1],[42867,0,"A"],[42868,0," "],[42894,1],[42924,0,"a"],[42925,0,"n"],[42926,0," "],[42927,0,"e"],[42928,0,"l"],[42929,0,"e"],[42930,0,"m"],[42931,0,"e"],[42932,0,"n"],[42933,0,"t"],[42934,0," "],[42935,0,"f"],[42936,0,"r"],[42937,0,"o"],[42938,0,"m"],[42939,0," "],[42940,0,"a"],[42941,0,"n"],[42942,0," "],[42943,0,"o"],[42944,0,"r"],[42945,0,"d"],[42946,0,"e"],[42947,0,"r"],[42948,0,"e"],[42949,0,"d"],[42950,0," "],[42951,0,"l"],[42952,0,"i"],[42953,0,"s"],[42954,0,"t"],[42955,0," "],[42956,0,"o"],[42957,0,"r"],[42958,0," "],[42959,0,"a"],[42960,0," "],[42961,0,"k"],[42962,0,"e"],[42963,0,"y"],[42964,0," "],[42965,0,"f"],[42966,0,"r"],[42967,0,"o"],[42968,0,"m"],[42969,0," "],[42970,0,"a"],[42971,0," "],[42972,0,"m"],[42973,0,"a"],[42974,0,"p"],[42975,0,","],[42976,0," "],[42977,0,"d"],[42978,0,"e"],[42979,0,"p"],[42980,0,"e"],[42981,0,"n"],[42982,0,"d"],[42983,0,"i"],[42984,0,"n"],[42985,0,"g"],[42986,0," "],[42987,0,"o"],[42988,0,"n"],[42989,0," "],[42990,0,"w"],[42991,0,"h"],[42992,0,"a"],[42993,0,"t"],[42994,0," "],[42995,0,"t"],[42996,0,"h"],[42997,0,"e"],[42998,0," "],[42999,0,"c"],[43000,0,"u"],[43001,0,"r"],[43002,0,"s"],[43003,0,"o"],[43004,0,"r"],[43005,0," "],[43006,0,"r"],[43007,0,"e"],[43008,0,"f"],[43009,0,"e"],[43010,0,"r"],[43011,0,"s"],[43012,0," "],[43013,0,"t"],[43014,0,"o"],[43015,0,"."],[43016,0," "],[43017,0,"T"],[43018,0,"h"],[43019,0,"e"],[43020,0," "],[43021,0,"\\"],[43022,0,"t"],[43023,0,"e"],[43024,0,"x"],[43025,0,"t"],[43026,0,"s"],[43027,0,"c"],[43028,0,"{"],[43029,0,"D"],[43030,0,"e"],[43031,0,"l"],[43032,0,"e"],[43033,0,"t"],[43034,0,"e"],[43035,0,"}"],[43036,0," "],[43037,0,"r"],[43038,0,"u"],[43039,0,"l"],[43040,0,"e"],[43041,0," "],[43042,0,"s"],[43043,0,"h"],[43044,0,"o"],[43045,0,"w"],[43046,0,"s"],[43047,0," "],[43048,0,"h"],[43049,0,"o"],[43050,0,"w"],[43051,0," "],[43052,0,"t"],[43053,0,"h"],[43054,0,"i"],[43055,0,"s"],[43056,0," "],[43057,0,"o"],[43058,0,"p"],[43059,0,"e"],[43060,0,"r"],[43061,0,"a"],[43062,0,"t"],[43063,0,"i"],[43064,0,"o"],[43065,0,"n"],[43066,0," "],[43067,0,"i"],[43068,0,"s"],[43069,0," "],[43070,0,"e"],[43071,0,"v"],[43072,0,"a"],[43073,0,"l"],[43074,0,"u"],[43075,0,"a"],[43076,0,"t"],[43077,0,"e"],[43078,0,"d"],[43079,0,","],[43080,0," "],[43081,0,"b"],[43082,0,"y"],[43083,0," "],[43084,0,"d"],[43085,0,"e"],[43086,0,"l"],[43087,0,"e"],[43088,0,"g"],[43089,0,"a"],[43090,0,"t"],[43091,0,"i"],[43092,0,"n"],[43093,0,"g"],[43094,0," "],[43095,0,"t"],[43096,0,"o"],[43097,0," "],[43098,0,"\\"],[43099,0,"t"],[43100,0,"e"],[43101,0,"x"],[43102,0,"t"],[43103,0,"s"],[43104,0,"f"],[43105,0,"{"],[43106,0,"c"],[43107,0,"l"],[43108,0,"e"],[43109,0,"a"],[43110,0,"r"],[43111,0,"E"],[43112,0,"l"],[43113,0,"e"],[43114,0,"m"],[43115,0,"}"],[43116,0,"."],[43117,0," "],[43118,0,"\\"],[43119,0,"t"],[43120,0,"e"],[43121,0,"x"],[43122,0,"t"],[43123,0,"s"],[43124,0,"c"],[43125,0,"{"],[43126,0,"C"],[43127,0,"l"],[43128,0,"e"],[43129,0,"a"],[43130,0,"r"],[43131,0,"-"],[43132,0,"E"],[43133,0,"l"],[43134,0,"e"],[43135,0,"m"],[43136,0,"}"],[43137,0," "],[43138,0,"u"],[43139,0,"s"],[43140,0,"e"],[43141,0,"s"],[43142,0," "],[43143,0,"\\"],[43144,0,"t"],[43145,0,"e"],[43146,0,"x"],[43147,0,"t"],[43148,0,"s"],[43149,0,"c"],[43150,0,"{"],[43151,0,"C"],[43152,0,"l"],[43153,0,"e"],[43154,0,"a"],[43155,0,"r"],[43156,0,"-"],[43157,0,"A"],[43158,0,"n"],[43159,0,"y"],[43160,0,"}"],[43161,0," "],[43162,0,"t"],[43163,0,"o"],[43164,0," "],[43165,0,"r"],[43166,0,"e"],[43167,0,"c"],[43168,0,"u"],[43169,0,"r"],[43170,0,"s"],[43171,0,"i"],[43172,0,"v"],[43173,0,"e"],[43174,0,"l"],[43175,0,"y"],[43176,0," "],[43177,0,"c"],[43178,0,"l"],[43178,1],[43177,1],[43176,1],[43175,1],[43174,1],[43173,1],[43172,1],[43171,1],[43170,1],[43169,1],[43168,1],[43167,1],[43166,1],[43165,1],[43165,0,"c"],[43166,0,"l"],[43167,0,"e"],[43168,0,"a"],[43169,0,"r"],[43170,0," "],[43171,0,"o"],[43172,0,"u"],[43173,0,"t"],[43174,0," "],[43175,0,"a"],[43176,0,"n"],[43177,0,"y"],[43178,0," "],[43179,0,"d"],[43180,0,"a"],[43181,0,"t"],[43182,0,"a"],[43183,0," "],[43184,0,"w"],[43185,0,"i"],[43186,0,"t"],[43187,0,"h"],[43188,0," "],[43189,0,"a"],[43190,0," "],[43191,0,"g"],[43192,0,"i"],[43193,0,"v"],[43194,0,"e"],[43195,0,"n"],[43196,0," "],[43197,0,"k"],[43198,0,"e"],[43199,0,"y"],[43200,0," "],[43200,1],[43200,0,","],[43201,0," "],[43202,0,"r"],[43203,0,"e"],[43204,0,"g"],[43205,0,"a"],[43206,0,"r"],[43207,0,"d"],[43208,0,"l"],[43209,0,"e"],[43210,0,"s"],[43211,0,"s"],[43212,0," "],[43213,0,"o"],[43214,0,"f"],[43215,0," "],[43216,0,"w"],[43217,0,"h"],[43218,0,"e"],[43219,0,"t"],[43220,0,"h"],[43221,0,"e"],[43222,0,"r"],[43223,0," "],[43224,0,"i"],[43225,0,"t"],[43226,0," "],[43227,0,"i"],[43228,0,"s"],[43229,0," "],[43230,0,"o"],[43231,0,"f"],[43232,0," "],[43233,0,"t"],[43234,0,"y"],[43235,0,"p"],[43236,0,"e"],[43237,0," "],[43238,0,"\\"],[43239,0,"t"],[43240,0,"e"],[43241,0,"x"],[43242,0,"t"],[43243,0,"s"],[43244,0,"f"],[43245,0,"{"],[43246,0,"m"],[43247,0,"a"],[43248,0,"p"],[43249,0,"T"],[43250,0,"}"],[43251,0,","],[43252,0," "],[43253,0,"\\"],[43254,0,"t"],[43255,0,"e"],[43256,0,"x"],[43257,0,"t"],[43258,0,"s"],[43259,0,"f"],[43260,0,"{"],[43261,0,"l"],[43262,0,"i"],[43263,0,"s"],[43264,0,"t"],[43265,0,"T"],[43266,0,"}"],[43267,0," "],[43268,0,"o"],[43269,0,"r"],[43270,0," "],[43271,0,"\\"],[43272,0,"t"],[43273,0,"e"],[43274,0,"x"],[43275,0,"t"],[43276,0,"s"],[43277,0,"f"],[43278,0,"{"],[43279,0,"r"],[43280,0,"e"],[43281,0,"g"],[43282,0,"T"],[43283,0,"}"],[43284,0,","],[43285,0," "],[43286,0,"a"],[43287,0,"n"],[43288,0,"d"],[43289,0," "],[43290,0,"a"],[43291,0,"l"],[43292,0,"s"],[43293,0,"o"],[43294,0," "],[43295,0,"u"],[43296,0,"p"],[43297,0,"d"],[43298,0,"a"],[43299,0,"t"],[43300,0,"e"],[43301,0,"s"],[43302,0," "],[43303,0,"t"],[43304,0,"h"],[43305,0,"e"],[43306,0," "],[43307,0,"p"],[43308,0,"r"],[43309,0,"e"],[43310,0,"s"],[43311,0,"e"],[43312,0,"n"],[43313,0,"c"],[43314,0,"e"],[43315,0," "],[43316,0,"s"],[43317,0,"e"],[43318,0,"t"],[43319,0," "],[43320,0,"t"],[43321,0,"o"],[43322,0," "],[43323,0,"i"],[43324,0,"n"],[43325,0,"c"],[43326,0,"l"],[43327,0,"u"],[43328,0,"d"],[43329,0,"e"],[43330,0," "],[43331,0,"a"],[43332,0,"n"],[43333,0,"y"],[43334,0," "],[43335,0,"n"],[43336,0,"e"],[43337,0,"s"],[43338,0,"t"],[43339,0,"e"],[43340,0,"d"],[43341,0," "],[43342,0,"o"],[43343,0,"p"],[43344,0,"e"],[43345,0,"r"],[43346,0,"a"],[43347,0,"t"],[43348,0,"i"],[43349,0,"o"],[43350,0,"n"],[43351,0," "],[43352,0,"I"],[43353,0,"D"],[43354,0,"s"],[43355,0,","],[43356,0," "],[43357,0,"b"],[43358,0,"u"],[43359,0,"t"],[43360,0," "],[43361,0,"e"],[43362,0,"x"],[43363,0,"c"],[43364,0,"l"],[43365,0,"u"],[43366,0,"d"],[43367,0,"e"],[43368,0," "],[43369,0,"a"],[43370,0,"n"],[43371,0,"y"],[43372,0," "],[43373,0,"o"],[43374,0,"p"],[43375,0,"e"],[43376,0,"r"],[43377,0,"a"],[43378,0,"t"],[43379,0,"i"],[43380,0,"o"],[43381,0,"n"],[43382,0,"s"],[43383,0," "],[43384,0,"i"],[43385,0,"n"],[43386,0," "],[43387,0,"$"],[43388,0,"\\"],[43389,0,"t"],[43390,0,"e"],[43391,0,"x"],[43392,0,"t"],[43393,0,"i"],[43394,0,"t"],[43395,0,"{"],[43396,0,"d"],[43397,0,"e"],[43398,0,"p"],[43399,0,"s"],[43400,0,"}"],[43401,0,"$"],[43402,0,"."],[43389,1],[43389,1],[43389,1],[43389,1],[43389,0,"m"],[43390,0,"a"],[43391,0,"t"],[43392,0,"h"],[38083,0," "],[38084,0,"\\"],[38085,0,"s"],[38086,0,"e"],[38087,0,"t"],[38088,0,"m"],[38089,0,"i"],[38090,0,"n"],[38091,0,"u"],[38092,0,"s"],[38093,0," "],[38094,0,"\\"],[38095,0,"m"],[38096,0,"a"],[38097,0,"t"],[38098,0,"h"],[38099,0,"i"],[38100,0,"t"],[38101,0,"{"],[38102,0,"d"],[38103,0,"e"],[38104,0,"p"],[38105,0,"s"],[38106,0,"}"],[43128,1],[43127,1],[43127,0,"s"],[43128,0,"c"],[43103,1],[43129,1],[43129,0,"C"],[43134,0,"-"],[43141,0," "],[43142,0,"I"],[43143,0,"n"],[43144,0," "],[43145,0,"t"],[43146,0,"u"],[43147,0,"r"],[43148,0,"n"],[43149,0,","],[43437,0,"\n"],[43438,0,"\n"],[43438,0,"T"],[43439,0,"h"],[43440,0,"e"],[43441,0," "],[43442,0,"p"],[43443,0,"r"],[43444,0,"e"],[43445,0,"m"],[43446,0,"i"],[43447,0,"s"],[43448,0,"e"],[43449,0,"s"],[43450,0," "],[43451,0,"o"],[43452,0,"f"],[43453,0," "],[43454,0,"\\"],[43455,0,"t"],[43456,0,"e"],[43457,0,"x"],[43458,0,"t"],[43459,0,"s"],[43460,0,"c"],[43461,0,"{"],[43462,0,"C"],[43463,0,"l"],[43464,0,"e"],[43465,0,"a"],[43466,0,"r"],[43467,0,"-"],[43468,0,"A"],[43469,0,"n"],[43470,0,"y"],[43471,0,"}"],[43472,0," "],[43473,0,"a"],[43474,0,"r"],[43475,0,"e"],[43476,0," "],[43477,0,"s"],[43478,0,"a"],[43479,0,"t"],[43480,0,"i"],[43481,0,"s"],[43482,0,"f"],[43483,0,"i"],[43484,0,"e"],[43485,0,"d"],[43486,0," "],[43487,0,"b"],[43488,0,"y"],[43489,0," "],[43490,0,"$"],[43491,0,"\\"],[43492,0,"t"],[43493,0,"e"],[43494,0,"x"],[43495,0,"t"],[43496,0,"s"],[43497,0,"c"],[43498,0,"{"],[43499,0,"C"],[43500,0,"l"],[43501,0,"e"],[43502,0,"a"],[43503,0,"r"],[43504,0,"-"],[43505,0,"M"],[43506,0,"a"],[43507,0,"p"],[43508,0,"}"],[43509,0,"_"],[43510,0,"1"],[43511,0,"$"],[43512,0,","],[43513,0," "],[43514,0,"$"],[43515,0,"\\"],[43516,0,"t"],[43517,0,"e"],[43518,0,"x"],[43519,0,"t"],[43520,0,"s"],[43521,0,"c"],[43522,0,"{"],[43523,0,"C"],[43524,0,"l"],[43525,0,"e"],[43526,0,"a"],[43527,0,"r"],[43528,0,"-"],[43529,0,"L"],[43530,0,"i"],[43531,0,"s"],[43532,0,"t"],[43533,0,"}"],[43534,0,"_"],[43535,0,"1"],[43536,0,"$"],[43537,0," "],[43538,0,"a"],[43539,0,"n"],[43540,0,"d"],[43541,0," "],[43542,0,"\\"],[43543,0,"t"],[43544,0,"e"],[43545,0,"x"],[43546,0,"t"],[43547,0,"s"],[43548,0,"c"],[43549,0,"{"],[43550,0,"C"],[43551,0,"l"],[43552,0,"e"],[43553,0,"a"],[43554,0,"r"],[43555,0,"-"],[43556,0,"R"],[43557,0,"e"],[43558,0,"g"],[43559,0,"}"],[43560,0," "],[43561,0,"i"],[43562,0,"f"],[43563,0," "],[43564,0,"t"],[43565,0,"h"],[43566,0,"e"],[43567,0," "],[43568,0,"r"],[43569,0,"e"],[43570,0,"s"],[43571,0,"p"],[43572,0,"e"],[43573,0,"c"],[43574,0,"t"],[43575,0,"i"],[43576,0,"v"],[43577,0,"e"],[43578,0," "],[43579,0,"k"],[43580,0,"e"],[43581,0,"y"],[43582,0," "],[43583,0,"a"],[43584,0,"p"],[43585,0,"p"],[43586,0,"e"],[43587,0,"a"],[43588,0,"r"],[43589,0,"s"],[43590,0," "],[43591,0,"i"],[43592,0,"n"],[43593,0," "],[43594,0,"$"],[43595,0,"\\"],[43596,0,"m"],[43597,0,"a"],[43598,0,"t"],[43599,0,"h"],[43600,0,"i"],[43601,0,"t"],[43602,0,"{"],[43603,0,"c"],[43604,0,"t"],[43605,0,"x"],[43606,0,"}"],[43607,0,"$"],[43608,0,","],[43609,0," "],[43610,0,"o"],[43611,0,"r"],[43612,0," "],[43613,0,"b"],[43614,0,"y"],[43615,0," "],[43616,0,"\\"],[43617,0,"t"],[43618,0,"e"],[43619,0,"x"],[43620,0,"t"],[43621,0,"s"],[43622,0,"c"],[43623,0,"{"],[43624,0,"C"],[43625,0,"l"],[43626,0,"e"],[43627,0,"a"],[43628,0,"r"],[43629,0,"-"],[43630,0,"N"],[43631,0,"o"],[43632,0,"n"],[43633,0,"e"],[43634,0,"}"],[43635,0," "],[43636,0,"("],[43637,0,"w"],[43638,0,"h"],[43639,0,"i"],[43640,0,"c"],[43641,0,"h"],[43642,0," "],[43643,0,"d"],[43644,0,"o"],[43645,0,"e"],[43646,0,"s"],[43647,0," "],[43648,0,"n"],[43649,0,"o"],[43650,0,"t"],[43651,0,"h"],[43652,0,"i"],[43653,0,"n"],[43654,0,"g"],[43655,0,")"],[43656,0," "],[43657,0,"i"],[43658,0,"f"],[43659,0," "],[43660,0,"t"],[43661,0,"h"],[43662,0,"e"],[43663,0," "],[43664,0,"k"],[43665,0,"e"],[43666,0,"y"],[43667,0," "],[43668,0,"i"],[43669,0,"s"],[43670,0," "],[43671,0,"a"],[43672,0,"b"],[43673,0,"s"],[43674,0,"e"],[43675,0,"n"],[43676,0,"t"],[43677,0,"."],[43678,0,"\n"],[43679,0,"\n"],[43680,0,"\\"],[43681,0,"t"],[43682,0,"e"],[43683,0,"x"],[43684,0,"t"],[43685,0,"s"],[43686,0,"c"],[43687,0,"{"],[43688,0,"C"],[43689,0,"l"],[43690,0,"e"],[43691,0,"a"],[43692,0,"r"],[43693,0,"-"],[43694,0,"R"],[43695,0,"e"],[43696,0,"g"],[43697,0,"}"],[43698,0," "],[43699,0,"r"],[43700,0,"e"],[43701,0,"m"],[43702,0,"o"],[43703,0,"v"],[43704,0,"e"],[43705,0,"s"],[43706,0," "],[43680,0," "],[43680,0,"A"],[43681,0,"s"],[43682,0," "],[43683,0,"d"],[43684,0,"e"],[43685,0,"f"],[43686,0,"i"],[43687,0,"n"],[43688,0,"e"],[43689,0,"d"],[43690,0," "],[43691,0,"b"],[43692,0,"y"],[43693,0," "],[43694,0,"t"],[43695,0,"h"],[43696,0,"e"],[43697,0," "],[43698,0,"\\"],[43699,0,"t"],[43700,0,"e"],[43701,0,"x"],[43702,0,"t"],[43703,0,"s"],[43704,0,"c"],[43705,0,"{"],[43706,0,"A"],[43707,0,"s"],[43708,0,"s"],[43709,0,"i"],[43710,0,"g"],[43711,0,"n"],[43712,0,"}"],[43713,0," "],[43714,0,"r"],[43715,0,"u"],[43716,0,"l"],[43717,0,"e"],[43718,0,","],[43719,0," "],[43720,0,"a"],[43721,0," "],[43722,0,"r"],[43723,0,"e"],[43724,0,"g"],[43725,0,"i"],[43726,0,"s"],[43727,0,"t"],[43728,0,"e"],[43729,0,"r"],[43730,0," "],[43731,0,"m"],[43732,0,"a"],[43733,0,"i"],[43734,0,"n"],[43735,0,"t"],[43736,0,"a"],[43737,0,"i"],[43738,0,"n"],[43739,0,"s"],[43740,0," "],[43741,0,"a"],[43742,0," "],[43743,0,"m"],[43744,0,"a"],[43745,0,"p"],[43746,0,"p"],[43747,0,"i"],[43748,0,"n"],[43749,0,"g"],[43750,0," "],[43751,0,"f"],[43752,0,"r"],[43753,0,"o"],[43754,0,"m"],[43755,0," "],[43756,0,"o"],[43757,0,"p"],[43758,0,"e"],[43759,0,"r"],[43760,0,"a"],[43761,0,"t"],[43762,0,"i"],[43763,0,"o"],[43764,0,"n"],[43765,0," "],[43766,0,"I"],[43767,0,"D"],[43768,0,"s"],[43769,0," "],[43770,0,"t"],[43771,0,"o"],[43772,0," "],[43773,0,"v"],[43774,0,"a"],[43775,0,"l"],[43776,0,"u"],[43777,0,"e"],[43778,0,"s"],[43779,0,"."],[43800,0,"u"],[43801,0,"p"],[43802,0,"d"],[43803,0,"a"],[43804,0,"t"],[43805,0,"e"],[43806,0,"s"],[43807,0," "],[43808,0,"a"],[43809,0," "],[43810,0,"r"],[43811,0,"e"],[43812,0,"g"],[43813,0,"i"],[43814,0,"s"],[43815,0,"t"],[43816,0,"e"],[43817,0,"r"],[43818,0," "],[43819,0,"b"],[43820,0,"y"],[43821,0," "],[43829,1],[43828,1],[43827,1],[43827,0,"i"],[43828,0,"n"],[43829,0,"g"],[43830,0," "],[43831,0,"a"],[43832,0,"l"],[43833,0,"l"],[43834,0," "],[43835,0,"o"],[43836,0,"p"],[43837,0,"e"],[43838,0,"r"],[43839,0,"a"],[43840,0,"t"],[43841,0,"i"],[43842,0,"o"],[43843,0,"n"],[43844,0," "],[43845,0,"I"],[43846,0,"D"],[43847,0,"s"],[43848,0," "],[43849,0,"t"],[43850,0,"h"],[43851,0,"a"],[43852,0,"t"],[43853,0," "],[43854,0,"a"],[43855,0,"p"],[43856,0,"p"],[43857,0,"e"],[43858,0,"a"],[43859,0,"r"],[43860,0," "],[43861,0,"i"],[43862,0,"n"],[43863,0," "],[43864,0,"$"],[43865,0,"\\"],[43866,0,"t"],[43867,0,"e"],[43868,0,"x"],[43869,0,"t"],[43870,0,"i"],[43871,0,"t"],[43872,0,"{"],[43873,0,"d"],[43874,0,"e"],[43875,0,"p"],[43876,0,"s"],[43877,0,"}"],[43878,0,"$"],[43879,0,","],[43880,0," "],[43881,0,"i"],[43882,0,"."],[43883,0,"e"],[43884,0,"."],[43885,0," "],[43886,0,"w"],[43887,0,"h"],[43888,0,"i"],[43889,0,"c"],[43890,0,"h"],[43891,0," "],[43892,0,"a"],[43893,0,"r"],[43894,0,"e"],[43895,0," "],[43896,0,"c"],[43897,0,"a"],[43898,0,"u"],[43899,0,"s"],[43900,0,"a"],[43901,0,"l"],[43902,0,"l"],[43903,0,"y"],[43904,0," "],[43905,0,"p"],[43895,1],[43894,1],[43893,1],[43892,1],[43902,0,"r"],[43903,0,"e"],[43904,0,"c"],[43905,0,"e"],[43906,0,"d"],[43907,0,"e"],[43908,0," "],[43909,0,"t"],[43910,0,"h"],[43911,0,"e"],[43912,0," "],[43913,0,"c"],[43914,0,"l"],[43915,0,"e"],[43916,0,"a"],[43917,0,"r"],[43918,0,"i"],[43919,0,"n"],[43920,0,"g"],[43921,0," "],[43922,0,"o"],[43923,0,"p"],[43924,0,"e"],[43925,0,"r"],[43926,0,"a"],[43927,0,"t"],[43928,0,"i"],[43929,0,"o"],[43930,0,"n"],[43931,0,","],[43932,0," "],[43933,0,"b"],[43934,0,"u"],[43935,0,"t"],[43936,0," "],[43937,0,"r"],[43938,0,"e"],[43939,0,"t"],[43940,0,"a"],[43941,0,"i"],[43942,0,"n"],[43943,0,"i"],[43944,0,"n"],[43945,0,"g"],[43946,0," "],[43947,0,"a"],[43948,0,"l"],[43949,0,"l"],[43950,0," "],[43951,0,"o"],[43952,0,"p"],[43953,0,"e"],[43954,0,"r"],[43955,0,"a"],[43956,0,"t"],[43957,0,"i"],[43958,0,"o"],[43959,0,"n"],[43960,0," "],[43961,0,"I"],[43962,0,"D"],[43963,0,"s"],[43964,0," "],[43879,1],[43880,0,"("],[43931,0,")"],[43966,0,"t"],[43967,0,"h"],[43968,0,"a"],[43969,0,"t"],[43970,0," "],[43971,0,"d"],[43972,0,"o"],[43973,0," "],[43974,0,"n"],[43975,0,"o"],[43976,0,"t"],[43977,0," "],[43978,0,"a"],[43979,0,"p"],[43980,0,"p"],[43981,0,"e"],[43982,0,"a"],[43983,0,"r"],[43984,0," "],[43985,0,"i"],[43986,0,"n"],[43987,0," "],[43988,0,"$"],[43989,0,"\\"],[43990,0,"t"],[43991,0,"e"],[43992,0,"x"],[43993,0,"t"],[43993,1],[43992,1],[43991,1],[43990,1],[43990,0,"m"],[43991,0,"a"],[43992,0,"t"],[43993,0,"h"],[43994,0,"i"],[43995,0,"t"],[43996,0,"{"],[43997,0,"d"],[43998,0,"e"],[43999,0,"p"],[44000,0,"s"],[44001,0,"}"],[44002,0,"$"],[43869,1],[43868,1],[43867,1],[43866,1],[43866,0,"m"],[43867,0,"a"],[43868,0,"t"],[43869,0,"h"],[44003,0," "],[44004,0,"("],[44005,0,"f"],[44006,0,"r"],[44007,0,"o"],[44008,0,"m"],[44009,0," "],[44010,0,"a"],[44011,0,"s"],[44012,0,"s"],[44013,0,"i"],[44014,0,"g"],[44015,0,"n"],[44016,0,"m"],[44017,0,"e"],[44018,0,"n"],[44019,0,"t"],[44020,0," "],[44021,0,"o"],[44022,0,"p"],[44023,0,"e"],[44024,0,"r"],[44025,0,"a"],[44026,0,"t"],[44027,0,"i"],[44028,0,"o"],[44029,0,"n"],[44030,0,"s"],[44031,0," "],[44032,0,"t"],[44033,0,"h"],[44034,0,"a"],[44035,0,"t"],[44036,0," "],[44037,0,"a"],[44038,0,"r"],[44039,0,"e"],[44040,0," "],[44041,0,"c"],[44042,0,"o"],[44043,0,"n"],[44044,0,"c"],[44045,0,"u"],[44046,0,"r"],[44047,0,"r"],[44048,0,"e"],[44049,0,"n"],[44050,0,"t"],[44051,0," "],[44052,0,"w"],[44053,0,"i"],[44054,0,"t"],[44055,0,"h"],[44056,0," "],[44057,0,"t"],[44058,0,"h"],[44059,0,"e"],[44060,0," "],[44061,0,"c"],[44062,0,"l"],[44063,0,"e"],[44064,0,"a"],[44065,0,"r"],[44066,0,"i"],[44067,0,"n"],[44068,0,"g"],[44069,0," "],[44070,0,"o"],[44071,0,"p"],[44072,0,"e"],[44073,0,"r"],[44074,0,"a"],[44075,0,"t"],[44076,0,"i"],[44077,0,"o"],[44078,0,"n"],[44079,0,")"],[44080,0,"."],[44081,0,"\n"],[44082,0,"\n"],[44083,0,"C"],[44084,0,"l"],[44085,0,"e"],[44086,0,"a"],[44087,0,"r"],[44088,0,"i"],[44089,0,"n"],[44090,0,"g"],[44091,0," "],[44092,0,"m"],[44093,0,"a"],[44094,0,"p"],[44095,0,"s"],[44096,0," "],[44097,0,"a"],[44098,0,"n"],[44099,0,"d"],[44100,0," "],[44101,0,"l"],[44102,0,"i"],[44103,0,"s"],[44104,0,"t"],[44105,0,"s"],[44106,0," "],[44107,0,"t"],[44108,0,"a"],[44109,0,"k"],[44110,0,"e"],[44111,0,"s"],[44112,0," "],[44113,0,"a"],[44114,0," "],[44115,0,"s"],[44116,0,"i"],[44117,0,"m"],[44118,0,"i"],[44119,0,"l"],[44120,0,"a"],[44121,0,"r"],[44122,0," "],[44123,0,"a"],[44124,0,"p"],[44125,0,"p"],[44126,0,"r"],[44127,0,"o"],[44128,0,"a"],[44129,0,"c"],[44130,0,"h"],[44131,0,":"],[44132,0," "],[44133,0,"e"],[44134,0,"a"],[44135,0,"c"],[44136,0,"h"],[44137,0," "],[44138,0,"e"],[44139,0,"l"],[44140,0,"e"],[44141,0,"m"],[44142,0,"e"],[44143,0,"n"],[44144,0,"t"],[44145,0," "],[44146,0,"o"],[44147,0,"f"],[44148,0," "],[44149,0,"t"],[44150,0,"h"],[44151,0,"e"],[44152,0," "],[44153,0,"m"],[44154,0,"a"],[44155,0,"p"],[44156,0," "],[44157,0,"o"],[44158,0,"r"],[44159,0," "],[44160,0,"l"],[44161,0,"i"],[44162,0,"s"],[44163,0,"t"],[44164,0," "],[44165,0,"i"],[44166,0,"s"],[44167,0," "],[44168,0,"r"],[44169,0,"e"],[44170,0,"c"],[44171,0,"u"],[44172,0,"r"],[44173,0,"s"],[44174,0,"i"],[44175,0,"v"],[44176,0,"e"],[44177,0,"l"],[44178,0,"y"],[44179,0," "],[44180,0,"c"],[44181,0,"l"],[44182,0,"e"],[44183,0,"a"],[44184,0,"r"],[44185,0,"e"],[44186,0,"d"],[44187,0," "],[44188,0,"u"],[44189,0,"s"],[44190,0,"i"],[44191,0,"n"],[44192,0,"g"],[44193,0," "],[44194,0,"$"],[44194,1],[44194,0,"\\"],[44195,0,"t"],[44196,0,"e"],[44197,0,"x"],[44198,0,"t"],[44199,0,"s"],[44200,0,"f"],[44201,0,"{"],[44202,0,"c"],[44203,0,"l"],[44204,0,"e"],[44205,0,"a"],[44206,0,"r"],[44207,0,"E"],[44208,0,"l"],[44209,0,"e"],[44210,0,"m"],[44211,0,"}"],[44212,0,","],[44213,0," "],[44214,0,"a"],[44215,0,"n"],[44216,0,"d"],[44217,0," "],[44218,0,"p"],[44219,0,"r"],[44220,0,"e"],[44221,0,"s"],[44222,0,"e"],[44223,0,"n"],[44224,0,"c"],[44225,0,"e"],[44226,0," "],[44227,0,"s"],[44228,0,"e"],[44229,0,"t"],[44230,0,"s"],[44231,0," "],[44232,0,"a"],[44233,0,"r"],[44234,0,"e"],[44235,0," "],[44236,0,"u"],[44237,0,"p"],[44238,0,"d"],[44239,0,"a"],[44240,0,"t"],[44241,0,"e"],[44242,0,"d"],[44243,0," "],[44244,0,"t"],[44245,0,"o"],[44246,0," "],[44247,0,"e"],[44248,0,"x"],[44249,0,"c"],[44250,0,"l"],[44251,0,"u"],[44252,0,"d"],[44253,0,"e"],[44254,0," "],[44255,0,"$"],[44256,0,"\\"],[44257,0,"m"],[44258,0,"a"],[44259,0,"t"],[44260,0,"h"],[44261,0,"i"],[44262,0,"t"],[44263,0,"{"],[44264,0,"d"],[44265,0,"e"],[44266,0,"p"],[44267,0,"s"],[44268,0,"}"],[44269,0,"$"],[44270,0,"."],[44271,0," "],[44272,0,"T"],[44273,0,"h"],[44274,0,"u"],[44275,0,"s"],[44276,0,","],[44277,0," "],[44278,0,"a"],[44279,0,"n"],[44280,0,"y"],[44281,0," "],[44282,0,"l"],[44283,0,"i"],[44284,0,"s"],[44285,0,"t"],[44286,0," "],[44287,0,"e"],[44288,0,"l"],[44289,0,"e"],[44290,0,"m"],[44291,0,"e"],[44292,0,"n"],[44293,0,"t"],[44294,0,"s"],[44295,0," "],[44296,0,"o"],[44297,0,"r"],[44298,0," "],[44299,0,"m"],[44300,0,"a"],[44301,0,"p"],[44302,0," "],[44303,0,"e"],[44304,0,"n"],[44305,0,"t"],[44306,0,"r"],[44307,0,"i"],[44308,0,"e"],[44309,0,"s"],[44310,0," "],[44311,0,"w"],[44312,0,"h"],[44313,0,"o"],[44314,0,"s"],[44315,0,"e"],[44316,0," "],[44317,0,"m"],[44318,0,"o"],[44319,0,"d"],[44320,0,"i"],[44321,0,"f"],[44322,0,"i"],[44323,0,"c"],[44324,0,"a"],[44325,0,"t"],[44326,0,"i"],[44327,0,"o"],[44328,0,"n"],[44329,0,"s"],[44330,0," "],[44331,0,"c"],[44332,0,"a"],[44333,0,"u"],[44334,0,"s"],[44335,0,"a"],[44336,0,"l"],[44337,0,"l"],[44338,0,"y"],[44339,0," "],[44340,0,"p"],[44341,0,"r"],[44342,0,"e"],[44343,0,"c"],[44344,0,"e"],[44345,0,"d"],[44346,0,"e"],[44347,0," "],[44348,0,"t"],[44349,0,"h"],[44350,0,"e"],[44351,0," "],[44352,0,"c"],[44353,0,"l"],[44354,0,"e"],[44355,0,"a"],[44356,0,"r"],[44357,0,"i"],[44358,0,"n"],[44359,0,"g"],[44360,0," "],[44361,0,"o"],[44362,0,"p"],[44363,0,"e"],[44364,0,"r"],[44365,0,"a"],[44366,0,"t"],[44367,0,"i"],[44368,0,"o"],[44369,0,"n"],[44370,0," "],[44371,0,"w"],[44372,0,"i"],[44373,0,"l"],[44374,0,"l"],[44375,0," "],[44376,0,"e"],[44377,0,"n"],[44378,0,"d"],[44379,0," "],[44380,0,"u"],[44381,0,"p"],[44382,0," "],[44383,0,"w"],[44384,0,"i"],[44385,0,"t"],[44386,0,"h"],[44387,0," "],[44388,0,"e"],[44389,0,"m"],[44390,0,"p"],[44391,0,"t"],[44392,0,"y"],[44393,0," "],[44394,0,"p"],[44395,0,"r"],[44396,0,"e"],[44397,0,"s"],[44398,0,"e"],[44399,0,"n"],[44400,0,"c"],[44401,0,"e"],[44402,0," "],[44403,0,"s"],[44404,0,"e"],[44405,0,"t"],[44406,0,"s"],[44407,0,","],[44408,0," "],[44409,0,"a"],[44410,0,"n"],[44411,0,"d"],[44412,0," "],[44413,0,"t"],[44414,0,"h"],[44415,0,"u"],[44416,0,"s"],[44417,0," "],[44418,0,"b"],[44419,0,"e"],[44420,0," "],[44421,0,"c"],[44422,0,"o"],[44423,0,"n"],[44424,0,"s"],[44425,0,"i"],[44426,0,"d"],[44427,0,"e"],[44428,0,"r"],[44429,0,"e"],[44430,0,"d"],[44431,0," "],[44432,0,"d"],[44433,0,"e"],[44434,0,"l"],[44435,0,"e"],[44436,0,"t"],[44437,0,"e"],[44438,0,"d"],[44439,0,"."],[44440,0," "],[44441,0,"A"],[44442,0,"n"],[44443,0,"y"],[44444,0," "],[44445,0,"m"],[44446,0,"a"],[44447,0,"p"],[44448,0," "],[44449,0,"o"],[44450,0,"r"],[44451,0," "],[44452,0,"l"],[44453,0,"i"],[44454,0,"s"],[44455,0,"t"],[44456,0," "],[44457,0,"e"],[44458,0,"l"],[44459,0,"e"],[44460,0,"m"],[44461,0,"e"],[44462,0,"n"],[44463,0,"t"],[44464,0,"s"],[44465,0," "],[44466,0,"c"],[44467,0,"o"],[44468,0,"n"],[44469,0,"t"],[44470,0,"a"],[44471,0,"i"],[44472,0,"n"],[44473,0,"i"],[44474,0,"n"],[44475,0,"g"],[44476,0," "],[44477,0,"o"],[44478,0,"p"],[44479,0,"e"],[44480,0,"r"],[44481,0,"a"],[44482,0,"t"],[44483,0,"i"],[44484,0,"o"],[44485,0,"n"],[44486,0,"s"],[44487,0," "],[44488,0,"t"],[44489,0,"h"],[44490,0,"a"],[44491,0,"t"],[44492,0," "],[44493,0,"a"],[44494,0,"r"],[44495,0,"e"],[44496,0," "],[44497,0,"c"],[44498,0,"o"],[44499,0,"n"],[44500,0,"c"],[44501,0,"u"],[44502,0,"r"],[44503,0,"r"],[44504,0,"e"],[44505,0,"n"],[44506,0,"t"],[44507,0," "],[44508,0,"w"],[44509,0,"i"],[44510,0,"t"],[44511,0,"h"],[44512,0," "],[44513,0,"t"],[44514,0,"h"],[44515,0,"e"],[44516,0," "],[44517,0,"c"],[44518,0,"l"],[44519,0,"e"],[44520,0,"a"],[44521,0,"r"],[44522,0,"i"],[44523,0,"n"],[44524,0,"g"],[44525,0," "],[44526,0,"o"],[44527,0,"p"],[44528,0,"e"],[44529,0,"r"],[44530,0,"a"],[44531,0,"t"],[44532,0,"i"],[44533,0,"o"],[44534,0,"n"],[44535,0," "],[44536,0,"w"],[44537,0,"i"],[44538,0,"l"],[44539,0,"l"],[44540,0," "],[44541,0,"p"],[44542,0,"r"],[44543,0,"e"],[44544,0,"s"],[44545,0,"e"],[44546,0,"r"],[44547,0,"v"],[44548,0,"e"],[44549,0," "],[44550,0,"t"],[44551,0,"h"],[44552,0,"e"],[44553,0,"i"],[44554,0,"r"],[44555,0," "],[44556,0,"n"],[44557,0,"o"],[44558,0,"n"],[44558,1],[44557,1],[44556,1],[44555,1],[44554,1],[44553,1],[44552,1],[44551,1],[44550,1],[44549,1],[44549,0,"d"],[44550,0,"."],[44539,1],[44538,1],[44537,1],[44536,1],[44536,0,"a"],[44537,0,"r"],[44538,0,"e"],[16085,0,"\n"],[16086,0,"\\"],[16087,0,"s"],[16088,0,"u"],[16089,0,"b"],[16090,0,"s"],[16091,0,"e"],[16092,0,"c"],[16093,0,"t"],[16094,0,"i"],[16095,0,"o"],[16096,0,"n"],[16097,0,"{"],[16098,0,"E"],[16099,0,"x"],[16100,0,"p"],[16101,0,"r"],[16102,0,"e"],[16103,0,"s"],[16104,0,"s"],[16105,0,"i"],[16106,0,"o"],[16107,0,"n"],[16108,0," "],[16109,0,"e"],[16110,0,"v"],[16111,0,"a"],[16112,0,"l"],[16113,0,"u"],[16114,0,"a"],[16115,0,"t"],[16116,0,"i"],[16117,0,"o"],[16118,0,"n"],[16119,0,"}"],[16120,0,"\n"],[8050,1],[8050,1],[8050,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,1],[8058,0,"F"],[8059,0,"o"],[8060,0,"r"],[8061,0,"m"],[8062,0,"a"],[8063,0,"l"],[8064,0," "],[8065,0,"s"],[8066,0,"e"],[8067,0,"m"],[8068,0,"a"],[8069,0,"n"],[8070,0,"t"],[8071,0,"i"],[8072,0,"c"],[8073,0,"s"],[3669,1],[3675,0,"["],[3681,0,"]"],[3683,1],[4698,1],[4697,1],[4696,1],[4695,1],[4694,1],[4693,1],[4692,1],[4691,1],[4690,1],[4689,1],[4688,1],[4687,1],[4686,1],[4685,1],[4684,1],[4683,1],[4682,1],[4681,1],[4680,1],[4679,1],[4678,1],[4677,1],[4676,1],[4675,1],[4674,1],[4673,1],[4672,1],[4671,1],[4670,1],[4670,0,"D"],[4671,0,"o"],[4672,0,"c"],[4673,0,"u"],[4674,0,"m"],[4675,0,"e"],[4676,0,"n"],[4677,0,"t"],[4678,0," "],[4679,0,"e"],[4680,0,"d"],[4681,0,"i"],[4682,0,"t"],[4683,0,"i"],[4684,0,"n"],[4685,0,"g"],[4686,0," "],[4687,0,"A"],[4688,0,"P"],[4689,0,"I"],[4691,0,"\n"],[4692,0,"\n"],[4693,0,"T"],[4694,0,"o"],[4695,0," "],[4696,0,"d"],[4697,0,"e"],[4698,0,"f"],[4699,0,"i"],[4700,0,"n"],[4701,0,"e"],[4702,0," "],[4703,0,"t"],[4704,0,"h"],[4705,0,"e"],[4706,0," "],[4707,0,"s"],[4708,0,"e"],[4709,0,"m"],[4710,0,"a"],[4711,0,"n"],[4712,0,"t"],[4713,0,"i"],[4714,0,"c"],[4715,0,"s"],[4716,0," "],[4717,0,"f"],[4718,0,"o"],[4719,0,"r"],[4720,0," "],[4721,0,"c"],[4722,0,"o"],[4723,0,"l"],[4724,0,"l"],[4725,0,"a"],[4726,0,"b"],[4727,0,"o"],[4728,0,"r"],[4729,0,"a"],[4730,0,"t"],[4731,0,"i"],[4732,0,"v"],[4733,0,"e"],[4734,0,"l"],[4735,0,"y"],[4736,0," "],[4737,0,"e"],[4738,0,"d"],[4739,0,"i"],[4740,0,"t"],[4741,0,"a"],[4742,0,"b"],[4743,0,"l"],[4744,0,"e"],[4745,0," "],[4746,0,"d"],[4747,0,"a"],[4748,0,"t"],[4749,0,"a"],[4750,0," "],[4751,0,"s"],[4752,0,"t"],[4753,0,"r"],[4754,0,"u"],[4755,0,"c"],[4756,0,"t"],[4757,0,"u"],[4758,0,"r"],[4759,0,"e"],[4760,0,"s"],[4761,0,","],[4762,0," "],[4763,0,"w"],[4764,0,"e"],[4765,0," "],[4766,0,"f"],[4767,0,"i"],[4768,0,"r"],[4769,0,"s"],[4770,0,"t"],[4771,0," "],[4772,0,"d"],[4773,0,"e"],[4774,0,"f"],[4775,0,"i"],[4776,0,"n"],[4777,0,"e"],[4778,0," "],[4779,0,"a"],[4780,0," "],[4781,0,"s"],[4782,0,"i"],[4783,0,"m"],[4784,0,"p"],[4785,0,"l"],[4786,0,"e"],[4787,0," "],[4788,0,"c"],[4789,0,"o"],[4790,0,"m"],[4791,0,"m"],[4792,0,"a"],[4793,0,"n"],[4794,0,"d"],[4795,0," "],[4796,0,"l"],[4797,0,"a"],[4798,0,"n"],[4799,0,"g"],[4800,0,"u"],[4801,0,"a"],[4802,0,"g"],[4803,0,"e"],[4804,0," "],[4805,0,"t"],[4806,0,"h"],[4807,0,"a"],[4808,0,"t"],[4809,0," "],[4810,0,"i"],[4811,0,"s"],[4812,0," "],[4813,0,"e"],[4814,0,"x"],[4815,0,"e"],[4816,0,"c"],[4817,0,"u"],[4818,0,"t"],[4819,0,"e"],[4820,0,"d"],[4821,0," "],[4822,0,"l"],[4823,0,"o"],[4824,0,"c"],[4825,0,"a"],[4826,0,"l"],[4827,0,"l"],[4828,0,"y"],[4829,0," "],[4830,0,"a"],[4831,0,"t"],[4832,0," "],[4833,0,"a"],[4834,0,"n"],[4835,0,"y"],[4836,0," "],[4837,0,"o"],[4838,0,"f"],[4839,0," "],[4840,0,"t"],[4841,0,"h"],[4842,0,"e"],[4843,0," "],[4844,0,"p"],[4845,0,"e"],[4846,0,"e"],[4847,0,"r"],[4848,0,"s"],[4849,0,","],[4850,0," "],[4851,0,"a"],[4852,0,"n"],[4853,0,"d"],[4854,0," "],[4855,0,"w"],[4856,0,"h"],[4857,0,"i"],[4858,0,"c"],[4859,0,"h"],[4860,0," "],[4861,0,"a"],[4862,0,"l"],[4863,0,"l"],[4864,0,"o"],[4865,0,"w"],[4866,0,"s"],[4867,0," "],[4868,0,"t"],[4869,0,"h"],[4870,0,"e"],[4871,0," "],[4872,0,"l"],[4873,0,"o"],[4874,0,"c"],[4875,0,"a"],[4876,0,"l"],[4877,0," "],[4878,0,"s"],[4879,0,"t"],[4880,0,"a"],[4881,0,"t"],[4882,0,"e"],[4883,0," "],[4884,0,"o"],[4885,0,"f"],[4886,0," "],[4887,0,"t"],[4888,0,"h"],[4889,0,"a"],[4890,0,"t"],[4891,0," "],[4891,1],[4890,1],[4889,1],[4888,1],[4887,1],[4886,1],[4885,1],[4884,1],[4883,1],[4882,1],[4881,1],[4880,1],[4879,1],[4878,1],[4877,1],[4876,1],[4875,1],[4874,1],[4873,1],[4872,1],[4871,1],[4870,1],[4870,0,"a"],[4871,0,"t"],[4872,0," "],[4873,0,"p"],[4874,0,"e"],[4875,0,"e"],[4876,0,"r"],[4877,0,"'"],[4878,0,"s"],[4879,0," "],[4880,0,"l"],[4881,0,"o"],[4882,0,"c"],[4883,0,"a"],[4884,0,"l"],[4885,0," "],[4886,0,"c"],[4887,0,"o"],[4888,0,"p"],[4889,0,"y"],[4890,0," "],[4891,0,"o"],[4892,0,"f"],[4893,0," "],[4894,0,"t"],[4895,0,"h"],[4896,0,"e"],[4897,0," "],[4898,0,"d"],[4899,0,"o"],[4900,0,"c"],[4901,0,"u"],[4902,0,"m"],[4903,0,"e"],[4904,0,"n"],[4905,0,"t"],[4906,0," "],[4907,0,"t"],[4908,0,"o"],[4909,0," "],[4910,0,"b"],[4911,0,"e"],[4912,0," "],[4913,0,"q"],[4914,0,"u"],[4915,0,"e"],[4916,0,"r"],[4917,0,"i"],[4918,0,"e"],[4919,0,"d"],[4920,0," "],[4921,0,"a"],[4922,0,"n"],[4923,0,"d"],[4924,0," "],[4925,0,"m"],[4926,0,"o"],[4927,0,"t"],[4927,1],[4927,0,"d"],[4928,0,"i"],[4929,0,"f"],[4930,0,"i"],[4931,0,"e"],[4932,0,"d"],[4933,0,"."],[4934,0," "],[4935,0,"P"],[4936,0,"e"],[4937,0,"r"],[4938,0,"f"],[4939,0,"o"],[4940,0,"r"],[4941,0,"m"],[4942,0,"i"],[4943,0,"n"],[4944,0,"g"],[4945,0," "],[4946,0,"r"],[4947,0,"e"],[4948,0,"a"],[4949,0,"d"],[4950,0,"-"],[4951,0,"o"],[4952,0,"n"],[4953,0,"l"],[4954,0,"y"],[4955,0," "],[4956,0,"q"],[4957,0,"u"],[4958,0,"e"],[4959,0,"r"],[4960,0,"i"],[4961,0,"e"],[4962,0,"s"],[4963,0," "],[4964,0,"h"],[4965,0,"a"],[4966,0,"s"],[4967,0," "],[4968,0,"n"],[4969,0,"o"],[4970,0," "],[4971,0,"s"],[4972,0,"i"],[4973,0,"d"],[4974,0,"e"],[4975,0,"-"],[4976,0,"e"],[4977,0,"f"],[4978,0,"f"],[4979,0,"e"],[4980,0,"c"],[4981,0,"t"],[4982,0,"s"],[4983,0,","],[4984,0," "],[4985,0,"b"],[4986,0,"u"],[4987,0,"t"],[4988,0," "],[4989,0,"m"],[4990,0,"o"],[4991,0,"d"],[4992,0,"i"],[4993,0,"f"],[4994,0,"y"],[4995,0,"i"],[4996,0,"n"],[4997,0,"g"],[4998,0," "],[4999,0,"t"],[5000,0,"h"],[5001,0,"e"],[5002,0," "],[5003,0,"d"],[5004,0,"o"],[5005,0,"c"],[5006,0,"u"],[5007,0,"m"],[5008,0,"e"],[5009,0,"n"],[5010,0,"t"],[5011,0," "],[5012,0,"h"],[5013,0,"a"],[5014,0,"s"],[5015,0," "],[5016,0,"t"],[5017,0,"h"],[5018,0,"e"],[5019,0," "],[5020,0,"e"],[5021,0,"f"],[5022,0,"f"],[5023,0,"e"],[5024,0,"c"],[5025,0,"t"],[5026,0," "],[5027,0,"o"],[5028,0,"f"],[5029,0," "],[5030,0,"p"],[5031,0,"r"],[5032,0,"o"],[5033,0,"d"],[5034,0,"u"],[5035,0,"c"],[5036,0,"i"],[5037,0,"n"],[5038,0,"g"],[5039,0," "],[5040,0,"\\"],[5041,0,"e"],[5042,0,"m"],[5043,0,"p"],[5044,0,"h"],[5045,0,"{"],[5046,0,"o"],[5047,0,"p"],[5048,0,"e"],[5049,0,"r"],[5050,0,"a"],[5051,0,"t"],[5052,0,"i"],[5053,0,"o"],[5054,0,"n"],[5055,0,"s"],[5056,0,"}"],[5057,0," "],[5058,0,"d"],[5059,0,"e"],[5060,0,"s"],[5061,0,"c"],[5062,0,"r"],[5063,0,"i"],[5064,0,"b"],[5065,0,"i"],[5066,0,"n"],[5067,0,"g"],[5068,0," "],[5069,0,"t"],[5070,0,"h"],[5071,0,"e"],[5072,0," "],[5073,0,"m"],[5074,0,"u"],[5075,0,"t"],[5076,0,"a"],[5077,0,"t"],[5078,0,"i"],[5079,0,"o"],[5080,0,"n"],[5081,0,"."],[5082,0," "],[5083,0,"T"],[5084,0,"h"],[5085,0,"o"],[5086,0,"s"],[5087,0,"e"],[5088,0," "],[5089,0,"o"],[5090,0,"p"],[5091,0,"e"],[5092,0,"r"],[5093,0,"a"],[5094,0,"t"],[5095,0,"i"],[5096,0,"o"],[5097,0,"n"],[5098,0,"s"],[5099,0," "],[5100,0,"a"],[5101,0,"r"],[5102,0,"e"],[5103,0," "],[5104,0,"a"],[5105,0,"p"],[5106,0,"p"],[5107,0,"l"],[5108,0,"i"],[5109,0,"e"],[5110,0,"d"],[5111,0," "],[5112,0,"t"],[5113,0,"o"],[5114,0," "],[5115,0,"t"],[5116,0,"h"],[5117,0,"e"],[5118,0," "],[5119,0,"l"],[5120,0,"o"],[5121,0,"c"],[5122,0,"a"],[5123,0,"l"],[5124,0," "],[5125,0,"c"],[5126,0,"o"],[5127,0,"p"],[5128,0,"y"],[5129,0," "],[5130,0,"o"],[5131,0,"f"],[5132,0," "],[5133,0,"t"],[5134,0,"h"],[5135,0,"e"],[5136,0," "],[5137,0,"d"],[5138,0,"o"],[5139,0,"c"],[5140,0,"u"],[5141,0,"m"],[5142,0,"e"],[5143,0,"n"],[5144,0,"t"],[5145,0,","],[5146,0," "],[5147,0,"a"],[5148,0,"n"],[5149,0,"d"],[5150,0," "],[5151,0,"a"],[5152,0,"l"],[5153,0,"s"],[5154,0,"o"],[5155,0," "],[5156,0,"e"],[5157,0,"n"],[5158,0,"q"],[5159,0,"u"],[5160,0,"e"],[5161,0,"u"],[5162,0,"e"],[5163,0,"d"],[5164,0," "],[5165,0,"f"],[5166,0,"o"],[5167,0,"r"],[5168,0," "],[5169,0,"b"],[5170,0,"r"],[5171,0,"o"],[5172,0,"a"],[5173,0,"d"],[5174,0,"c"],[5175,0,"a"],[5176,0,"s"],[5177,0,"t"],[5178,0,"i"],[5179,0,"n"],[5180,0,"g"],[5181,0," "],[5182,0,"t"],[5183,0,"o"],[5184,0," "],[5185,0,"o"],[5186,0,"t"],[5187,0,"h"],[5188,0,"e"],[5189,0,"r"],[5190,0," "],[5191,0,"p"],[5192,0,"e"],[5193,0,"e"],[5194,0,"r"],[5195,0,"s"],[5196,0,"."],[1327,1],[1326,1],[1325,1],[1324,1],[1323,1],[1322,1],[1321,1],[1320,1],[1319,1],[1318,1],[1317,1],[1316,1],[1315,1],[1314,1],[1313,1],[1312,1],[1311,1],[1310,1],[1309,1],[1308,1],[1307,1],[1307,0,"T"],[1307,1],[1307,0,"C"],[1308,0,"o"],[1309,0,"m"],[1310,0,"p"],[1311,0,"o"],[1312,0,"s"],[1313,0,"i"],[1314,0,"n"],[1315,0,"g"],[1316,0," "],[1317,0,"c"],[1318,0,"o"],[1319,0,"l"],[1320,0,"l"],[1321,0,"a"],[1322,0,"b"],[1323,0,"o"],[1324,0,"r"],[1325,0,"a"],[1326,0,"t"],[1327,0,"i"],[1328,0,"v"],[1329,0,"e"],[1330,0," "],[1331,0,"d"],[1332,0,"a"],[1333,0,"t"],[1334,0,"a"],[1335,0," "],[1336,0,"s"],[1337,0,"t"],[1338,0,"r"],[1339,0,"u"],[1340,0,"c"],[1341,0,"t"],[1342,0,"u"],[1343,0,"r"],[1344,0,"e"],[1345,0,"s"],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1349,1],[1330,1],[1329,1],[1328,1],[1327,1],[1326,1],[1325,1],[1324,1],[1323,1],[1322,1],[1321,1],[1320,1],[1319,1],[1318,1],[1317,1],[1335,0,"I"],[1336,0,"n"],[1337,0," "],[1338,0,"t"],[1339,0,"h"],[1340,0,"i"],[1341,0,"s"],[1342,0," "],[1343,0,"s"],[1344,0,"e"],[1345,0,"c"],[1346,0,"t"],[1347,0,"i"],[1348,0,"o"],[1349,0,"n"],[1350,0," "],[1351,0,"w"],[1352,0,"e"],[1353,0," "],[1354,0,"o"],[1355,0,"u"],[1356,0,"t"],[1357,0,"l"],[1358,0,"i"],[1359,0,"n"],[1360,0,"e"],[1361,0," "],[1362,0,"o"],[1363,0,"u"],[1364,0,"r"],[1365,0," "],[1366,0,"a"],[1367,0,"p"],[1368,0,"p"],[1369,0,"r"],[1370,0,"o"],[1371,0,"a"],[1372,0,"c"],[1373,0,"h"],[1374,0," "],[1375,0,"b"],[1376,0,"y"],[1377,0," "],[1378,0,"e"],[1379,0,"x"],[1380,0,"a"],[1381,0,"m"],[1382,0,"p"],[1383,0,"l"],[1384,0,"e"],[1385,0,","],[1386,0," "],[1387,0,"a"],[1388,0,"n"],[1389,0,"d"],[1390,0," "],[1391,0,"d"],[1392,0,"e"],[1393,0,"m"],[1394,0,"o"],[1395,0,"n"],[1396,0,"s"],[1397,0,"t"],[1398,0,"r"],[1399,0,"a"],[1400,0,"t"],[1401,0,"e"],[1402,0," "],[1403,0,"s"],[1404,0,"o"],[1405,0,"m"],[1406,0,"e"],[1407,0," "],[1408,0,"o"],[1409,0,"f"],[1410,0," "],[1411,0,"t"],[1412,0,"h"],[1413,0,"e"],[1414,0," "],[1415,0,"p"],[1416,0,"r"],[1417,0,"o"],[1418,0,"b"],[1419,0,"l"],[1420,0,"e"],[1421,0,"m"],[1422,0," "],[1423,0,"t"],[1424,0,"h"],[1425,0,"a"],[1426,0,"t"],[1427,0," "],[1428,0,"o"],[1429,0,"c"],[1430,0,"c"],[1431,0,"u"],[1432,0,"r"],[1433,0," "],[1434,0,"w"],[1435,0,"h"],[1436,0,"e"],[1437,0,"n"],[1438,0," "],[1439,0,"n"],[1440,0,"e"],[1441,0,"s"],[1442,0,"t"],[1443,0,"e"],[1444,0,"d"],[1445,0," "],[1446,0,"d"],[1447,0,"a"],[1448,0,"t"],[1449,0,"a"],[1450,0," "],[1451,0,"s"],[1452,0,"t"],[1453,0,"r"],[1454,0,"u"],[1455,0,"c"],[1456,0,"t"],[1457,0,"u"],[1458,0,"r"],[1459,0,"e"],[1460,0,"s"],[1461,0," "],[1462,0,"a"],[1463,0,"r"],[1464,0,"e"],[1465,0," "],[1466,0,"m"],[1467,0,"a"],[1468,0,"d"],[1469,0,"e"],[1470,0," "],[1471,0,"c"],[1472,0,"o"],[1473,0,"l"],[1474,0,"l"],[1475,0,"a"],[1476,0,"b"],[1477,0,"o"],[1478,0,"r"],[1479,0,"a"],[1480,0,"t"],[1481,0,"i"],[1482,0,"v"],[1483,0,"e"],[1484,0,"l"],[1485,0,"y"],[1486,0," "],[1487,0,"e"],[1488,0,"d"],[1489,0,"i"],[1490,0,"t"],[1491,0,"a"],[1492,0,"b"],[1493,0,"l"],[1494,0,"e"],[1495,0,"."],[1422,0,"s"],[1497,0," "],[1498,0,"I"],[1499,0,"n"],[1500,0," "],[1501,0,"t"],[1502,0,"h"],[1503,0,"e"],[1504,0," "],[1505,0,"n"],[1506,0,"e"],[1507,0,"x"],[1508,0,"t"],[1509,0," "],[1510,0,"s"],[1511,0,"e"],[1512,0,"c"],[1513,0,"t"],[1514,0,"i"],[1515,0,"o"],[1516,0,"n"],[1517,0," "],[1518,0,"w"],[1519,0,"e"],[1520,0," "],[1521,0,"p"],[1522,0,"r"],[1523,0,"o"],[1524,0,"v"],[1525,0,"i"],[1526,0,"d"],[1527,0,"e"],[1528,0," "],[1529,0,"f"],[1530,0,"o"],[1531,0,"r"],[1532,0,"m"],[1533,0,"a"],[1534,0,"l"],[1535,0," "],[1536,0,"s"],[1537,0,"e"],[1538,0,"m"],[1539,0,"a"],[1540,0,"n"],[1541,0,"t"],[1542,0,"i"],[1543,0,"c"],[1544,0,"s"],[1545,0," "],[1546,0,"o"],[1547,0,"f"],[1548,0," "],[1549,0,"o"],[1550,0,"u"],[1551,0,"r"],[1552,0," "],[1553,0,"c"],[1554,0,"o"],[1555,0,"l"],[1556,0,"l"],[1557,0,"a"],[1558,0,"b"],[1559,0,"o"],[1560,0,"r"],[1561,0,"e"],[1562,0,"a"],[1562,1],[1561,1],[1561,0,"a"],[1562,0,"t"],[1563,0,"i"],[1564,0,"v"],[1565,0,"e"],[1566,0,"l"],[1567,0,"y"],[1568,0," "],[1569,0,"e"],[1570,0,"d"],[1571,0,"i"],[1572,0,"t"],[1573,0,"a"],[1574,0,"b"],[1575,0,"l"],[1576,0,"e"],[1577,0," "],[1505,1],[1505,1],[1505,1],[1505,1],[1505,0,"f"],[1506,0,"o"],[1507,0,"l"],[1508,0,"l"],[1509,0,"o"],[1510,0,"w"],[1511,0,"i"],[1512,0,"n"],[1513,0,"g"],[1583,0,"d"],[1584,0,"a"],[1585,0,"t"],[1586,0,"a"],[1587,0,"t"],[1588,0,"y"],[1589,0,"p"],[1590,0,"e"],[1591,0," "],[1592,0,"a"],[1593,0,"n"],[1594,0,"d"],[1595,0," "],[1596,0,"p"],[1597,0,"r"],[1598,0,"o"],[1599,0,"v"],[1600,0,"e"],[1601,0," "],[1602,0,"i"],[1603,0,"t"],[1604,0,"s"],[1605,0," "],[1606,0,"c"],[1607,0,"o"],[1608,0,"r"],[1609,0,"r"],[1610,0,"e"],[1611,0,"c"],[1612,0,"t"],[1613,0,"n"],[1614,0,"e"],[1615,0,"s"],[1616,0,"s"],[1617,0,"."],[758,0,"\n"],[759,0,"%"],[760,0," "],[761,0,"S"],[762,0,"p"],[763,0,"a"],[764,0,"n"],[765,0," "],[766,0,"m"],[767,0,"u"],[768,0,"l"],[769,0,"t"],[770,0,"i"],[771,0,"p"],[772,0,"l"],[773,0,"e"],[774,0," "],[775,0,"c"],[776,0,"o"],[777,0,"l"],[778,0,"u"],[779,0,"m"],[780,0,"n"],[781,0,"s"],[782,0," "],[783,0,"w"],[784,0,"i"],[785,0,"t"],[786,0,"h"],[787,0,"i"],[788,0,"n"],[789,0," "],[790,0,"a"],[791,0,"n"],[792,0," "],[793,0,"a"],[794,0,"l"],[795,0,"i"],[796,0,"g"],[797,0,"n"],[798,0,"a"],[799,0,"t"],[800,0," "],[801,0,"m"],[802,0,"a"],[803,0,"t"],[804,0,"h"],[805,0," "],[806,0,"e"],[807,0,"n"],[808,0,"v"],[809,0,"i"],[810,0,"r"],[811,0,"o"],[812,0,"n"],[813,0,"m"],[814,0,"e"],[815,0,"n"],[816,0,"t"],[292,0,"\n"],[293,0,"\\"],[294,0,"u"],[295,0,"s"],[296,0,"e"],[297,0,"p"],[298,0,"a"],[299,0,"c"],[300,0,"k"],[301,0,"a"],[302,0,"g"],[303,0,"e"],[304,0,"{"],[305,0,"t"],[306,0,"i"],[307,0,"k"],[308,0,"z"],[309,0,"}"],[3073,0,"\n"],[3074,0,"\n"],[3075,0,"\\"],[3076,0,"s"],[3077,0,"u"],[3078,0,"b"],[3079,0,"s"],[3080,0,"e"],[3081,0,"c"],[3082,0,"t"],[3083,0,"i"],[3084,0,"o"],[3085,0,"n"],[3086,0,"{"],[3087,0,"C"],[3088,0,"o"],[3089,0,"n"],[3090,0,"c"],[3091,0,"u"],[3092,0,"r"],[3093,0,"r"],[3094,0,"e"],[3095,0,"n"],[3096,0,"t"],[3097,0," "],[3098,0,"e"],[3099,0,"d"],[3100,0,"i"],[3101,0,"t"],[3102,0,"i"],[3103,0,"n"],[3104,0,"g"],[3105,0," "],[3106,0,"e"],[3107,0,"x"],[3108,0,"a"],[3109,0,"m"],[3110,0,"p"],[3111,0,"l"],[3112,0,"e"],[3113,0,"s"],[3114,0,"}"],[3115,0,"\n"],[3116,0,"\n"],[3117,0,"\\"],[3118,0,"b"],[3119,0,"e"],[3120,0,"g"],[3121,0,"i"],[3122,0,"n"],[3123,0,"{"],[3124,0,"f"],[3125,0,"i"],[3126,0,"g"],[3127,0,"u"],[3128,0,"r"],[3129,0,"e"],[3130,0,"*"],[3131,0,"}"],[3132,0,"\n"],[3133,0,"\\"],[3134,0,"e"],[3135,0,"n"],[3136,0,"d"],[3137,0,"{"],[3138,0,"f"],[3139,0,"i"],[3140,0,"g"],[3141,0,"u"],[3142,0,"r"],[3143,0,"e"],[3144,0,"*"],[3145,0,"}"],[3144,1],[3130,1],[3131,0,"\n"],[3132,0,"\\"],[3133,0,"b"],[3134,0,"e"],[3135,0,"g"],[3136,0,"i"],[3137,0,"n"],[3138,0,"{"],[3139,0,"t"],[3140,0,"i"],[3141,0,"k"],[3142,0,"z"],[3143,0,"p"],[3144,0,"i"],[3145,0,"c"],[3146,0,"t"],[3147,0,"u"],[3148,0,"r"],[3149,0,"e"],[3150,0,"}"],[3151,0,"\n"],[3152,0,"\\"],[3153,0,"e"],[3154,0,"n"],[3155,0,"d"],[3156,0,"{"],[3157,0,"t"],[3158,0,"i"],[3159,0,"k"],[3160,0,"z"],[3161,0,"p"],[3162,0,"i"],[3163,0,"c"],[3164,0,"t"],[3165,0,"u"],[3166,0,"r"],[3167,0,"e"],[3168,0,"}"],[3169,0," "],[3169,1],[3169,0,"\n"],[3170,0,"\\"],[3171,0,"c"],[3172,0,"a"],[3173,0,"p"],[3174,0,"t"],[3175,0,"i"],[3176,0,"o"],[3177,0,"n"],[3178,0,"{"],[3179,0,"C"],[3180,0,"o"],[3181,0,"n"],[3182,0,"c"],[3183,0,"u"],[3184,0,"r"],[3185,0,"r"],[3186,0,"e"],[3187,0,"n"],[3188,0,"t"],[3189,0," "],[3190,0,"a"],[3191,0,"s"],[3192,0,"s"],[3193,0,"i"],[3194,0,"g"],[3195,0,"n"],[3196,0,"m"],[3197,0,"e"],[3198,0,"n"],[3199,0,"t"],[3200,0," "],[3201,0,"t"],[3202,0,"o"],[3203,0," "],[3204,0,"a"],[3205,0," "],[3206,0,"r"],[3207,0,"e"],[3208,0,"g"],[3209,0,"i"],[3210,0,"s"],[3211,0,"t"],[3212,0,"e"],[3213,0,"r"],[3214,0,"}"],[3215,0,"\\"],[3216,0,"l"],[3217,0,"a"],[3218,0,"b"],[3219,0,"e"],[3220,0,"l"],[3221,0,"["],[3221,1],[3221,0,"{"],[3222,0,"f"],[3223,0,"i"],[3224,0,"g"],[3225,0,":"],[3226,0,"r"],[3227,0,"e"],[3228,0,"g"],[3229,0,"i"],[3230,0,"s"],[3231,0,"t"],[3232,0,"e"],[3233,0,"r"],[3234,0,"-"],[3235,0,"a"],[3236,0,"s"],[3237,0,"s"],[3238,0,"i"],[3239,0,"g"],[3240,0,"n"],[3241,0,"}"],[3151,0,"\n"],[3152,0,"\\"],[3153,0,"d"],[3154,0,"r"],[3155,0,"a"],[3156,0,"w"],[3157,0,"("],[3158,0,"2"],[3159,0,","],[3160,0,"0"],[3161,0,")"],[3162,0," "],[3163,0,"n"],[3164,0,"o"],[3165,0,"d"],[3166,0,"e"],[3167,0," "],[3168,0,"{"],[3169,0,"H"],[3170,0,"e"],[3171,0,"l"],[3172,0,"l"],[3173,0,"o"],[3174,0,"}"],[3175,0," "],[3176,0,"-"],[3177,0,"-"],[3178,0," "],[3179,0,"("],[3157,0," "],[3181,0,"0"],[3182,0,","],[3183,0," "],[3184,0,"2"],[3183,1],[3184,0,")"],[3185,0," "],[3186,0,"n"],[3187,0,"o"],[3188,0,"d"],[3189,0,"e"],[3190,0," "],[3191,0,"{"],[3192,0,"W"],[3193,0,"o"],[3194,0,"r"],[3195,0,"l"],[3196,0,"d"],[3197,0,"}"],[3198,0,";"],[3131,0,"\n"],[3132,0,"\\"],[3133,0,"c"],[3134,0,"e"],[3135,0,"n"],[3136,0,"t"],[3137,0,"e"],[3138,0,"r"],[3139,0,"i"],[3140,0,"n"],[3141,0,"g"],[3172,1],[3172,0,"2"],[3194,1],[3194,0,"0"],[3185,1],[3184,1],[3183,1],[3182,1],[3181,1],[3181,0,"v"],[3181,1],[3181,0,"\\"],[3182,0,"v"],[3183,0,"e"],[3184,0,"r"],[3185,0,"b"],[3186,0,"|"],[3187,0,"{"],[3188,0,"\""],[3189,0,"t"],[3190,0,"i"],[3191,0,"t"],[3192,0,"l"],[3193,0,"e"],[3194,0,"\""],[3195,0,":"],[3196,0," "],[3197,0,"\""],[3198,0,"A"],[3199,0,"\""],[3200,0,"}"],[3201,0,"|"],[3203,0,"\n"],[3204,0," "],[3205,0," "],[3226,1],[3225,1],[3224,1],[3223,1],[3222,1],[3222,0,"\\"],[3223,0,"v"],[3224,0,"e"],[3225,0,"r"],[3226,0,"b"],[3227,0,"|"],[3228,0,"{"],[3229,0,"\""],[3230,0,"t"],[3231,0,"i"],[3232,0,"t"],[3233,0,"l"],[3234,0,"e"],[3235,0,"\""],[3236,0,":"],[3237,0," "],[3238,0,":"],[3238,1],[3238,0,"\""],[3239,0,"B"],[3240,0,"\""],[3241,0,"}"],[3242,0,"|"],[3213,1],[3213,0,"1"],[3214,0," "],[3214,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[293,1],[391,0,"\n"],[392,0,"\n"],[393,0,"%"],[394,0," "],[395,0,"D"],[396,0,"i"],[397,0,"a"],[398,0,"g"],[399,0,"r"],[400,0,"a"],[401,0,"m"],[402,0,"s"],[403,0,"\n"],[404,0,"\\"],[405,0,"u"],[406,0,"s"],[407,0,"e"],[408,0,"p"],[409,0,"a"],[410,0,"c"],[411,0,"k"],[412,0,"a"],[413,0,"g"],[414,0,"e"],[415,0,"{"],[416,0,"t"],[417,0,"i"],[418,0,"k"],[419,0,"z"],[420,0,"}"],[421,0,"\n"],[422,0,"\\"],[423,0,"u"],[424,0,"s"],[425,0,"e"],[426,0,"t"],[427,0,"i"],[428,0,"k"],[429,0,"z"],[430,0,"l"],[431,0,"i"],[432,0,"b"],[433,0,"r"],[434,0,"a"],[435,0,"r"],[436,0,"y"],[437,0,"{"],[438,0,"a"],[439,0,"r"],[440,0,"r"],[441,0,"o"],[442,0,"w"],[443,0,"s"],[444,0,"}"],[445,0,"\n"],[3199,0,"\n"],[3200,0,"\\"],[3201,0,"n"],[3202,0,"o"],[3203,0,"d"],[3204,0,"e"],[3205,0,"["],[3206,0,"s"],[3207,0,"t"],[3208,0,"a"],[3209,0,"r"],[3210,0,"t"],[3211,0,"]"],[3211,1],[3210,1],[3209,1],[3208,1],[3207,1],[3206,1],[3205,1],[3205,0," "],[3206,0,"("],[3207,0,"s"],[3208,0,"t"],[3209,0,"a"],[3210,0,"r"],[3211,0,"t"],[3212,0,")"],[3213,0," "],[3214,0,"a"],[3215,0,"t"],[3216,0," "],[3217,0,"("],[3218,0,"2"],[3219,0,","],[3220,0,"2"],[3221,0,")"],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3222,1],[3247,0,"\\"],[3248,0,"n"],[3249,0,"o"],[3250,0,"d"],[3251,0,"e"],[3252,0," "],[3253,0,"("],[3254,0,"l"],[3255,0,"e"],[3256,0,"f"],[3257,0,"t"],[3258,0,")"],[3261,1],[3261,1],[3261,1],[3261,0,"a"],[3262,0,"t"],[3270,1],[3270,1],[3270,1],[3270,1],[3270,1],[3246,0,";"],[3295,0,"\n"],[3296,0,"\\"],[3297,0,"d"],[3298,0,"r"],[3299,0,"a"],[3300,0,"w"],[3301,0," "],[3302,0,"["],[3303,0,"-"],[3304,0,">"],[3305,0,"]"],[3306,0," "],[3307,0,"("],[3308,0,"s"],[3309,0,"t"],[3310,0,"a"],[3311,0,"r"],[3312,0,"t"],[3313,0,")"],[3314,0," "],[3315,0,"-"],[3316,0,"-"],[3317,0," "],[3318,0,"("],[3319,0,"e"],[3320,0,"n"],[3321,0,"t"],[3322,0,"e"],[3323,0,"r"],[3324,0," "],[3325,0,"l"],[3326,0,"e"],[3327,0,"f"],[3328,0,"t"],[3329,0,")"],[3330,0,";"],[3324,1],[3323,1],[3322,1],[3321,1],[3320,1],[3319,1],[3295,0,"\n"],[3296,0,"\\"],[3297,0,"n"],[3298,0,"o"],[3299,0,"d"],[3300,0,"e"],[3301,0," "],[3302,0,"("],[3303,0,"r"],[3304,0,"i"],[3305,0,"g"],[3306,0,"h"],[3307,0,"t"],[3308,0,")"],[3309,0," "],[3310,0,"a"],[3311,0,"t"],[3312,0," "],[3313,0,"("],[3314,0,"4"],[3315,0,","],[3316,0,"1"],[3317,0,")"],[3318,0," "],[3319,0,"{"],[3320,0,"\\"],[3321,0,"v"],[3322,0,"e"],[3323,0,"r"],[3324,0,"b"],[3325,0,"|"],[3326,0,"{"],[3327,0,"\""],[3328,0,"t"],[3329,0,"i"],[3330,0,"t"],[3331,0,"l"],[3332,0,"e"],[3333,0,"\""],[3334,0,":"],[3335,0," "],[3336,0,"\""],[3337,0,"C"],[3338,0,"\""],[3339,0,"}"],[3340,0,"|"],[3341,0,"}"],[3342,0,";"],[3373,0,"\n"],[3374,0,"\\"],[3375,0,"d"],[3376,0,"r"],[3377,0,"a"],[3378,0,"w"],[3379,0," "],[3380,0,"["],[3381,0,"-"],[3382,0,">"],[3383,0,"]"],[3384,0," "],[3385,0,"("],[3386,0,"s"],[3387,0,"t"],[3388,0,"a"],[3389,0,"r"],[3390,0,"t"],[3391,0,")"],[3392,0," "],[3393,0,"-"],[3394,0,"-"],[3395,0," "],[3396,0,"("],[3397,0,"r"],[3398,0,"i"],[3399,0,"g"],[3400,0,"h"],[3401,0,"t"],[3402,0,")"],[3403,0,";"],[3259,0,"1"],[3309,0,"1"],[3213,0," "],[3221,1],[3221,0,"4"],[3270,1],[3270,0,"2"],[3319,1],[3319,0,"2"],[3346,0,"\n"],[3347,0,"\\"],[3348,0,"n"],[3349,0,"o"],[3350,0,"d"],[3351,0,"e"],[3352,0," "],[3353,0,"("],[3354,0,"l"],[3355,0,"e"],[3356,0,"f"],[3357,0,"t"],[3358,0,"2"],[3359,0,")"],[3360,0," "],[3361,0," "],[3362,0,"a"],[3363,0,"t"],[3364,0," "],[3365,0,"("],[3366,0,"0"],[3367,0,","],[3368,0," "],[3369,0,"0"],[3369,1],[3368,1],[3368,0,")"],[3368,1],[3368,0,"0"],[3369,0,")"],[3370,0," "],[3371,0,"{"],[3372,0,"\\"],[3373,0,"v"],[3374,0,"e"],[3375,0,"r"],[3376,0,"b"],[3377,0,"|"],[3378,0,"{"],[3379,0,"\""],[3380,0,"t"],[3381,0,"i"],[3382,0,"t"],[3383,0,"l"],[3384,0,"e"],[3385,0,"\""],[3386,0,":"],[3387,0,":"],[3388,0," "],[3389,0,"{"],[3389,1],[3388,1],[3387,1],[3387,0," "],[3388,0,"{"],[3389,0,"\""],[3390,0,"B"],[3391,0,"\""],[3392,0,","],[3393,0,"\""],[3394,0,"C"],[3395,0,"\""],[3396,0,"}"],[3397,0,"}"],[3398,0,"|"],[3399,0,"}"],[3400,0,";"],[3401,0,"\n"],[3402,0,"\\"],[3403,0,"n"],[3404,0,"o"],[3405,0,"d"],[3406,0,"e"],[3407,0," "],[3408,0,"("],[3409,0,"r"],[3410,0,"i"],[3411,0,"g"],[3412,0,"h"],[3413,0,"t"],[3414,0,"2"],[3415,0,")"],[3416,0," "],[3417,0,"a"],[3418,0,"t"],[3419,0," "],[3420,0,"("],[3421,0,"4"],[3422,0,","],[3423,0,"0"],[3424,0,")"],[3425,0," "],[3426,0,"{"],[3427,0,"\\"],[3428,0,"v"],[3429,0,"e"],[3430,0,"r"],[3431,0,"b"],[3432,0,"|"],[3433,0,"{"],[3434,0,"\""],[3435,0,"t"],[3436,0,"i"],[3437,0,"t"],[3438,0,"l"],[3439,0,"e"],[3440,0,"\""],[3441,0,":"],[3442,0," "],[3443,0,"{"],[3444,0,"\""],[3445,0,"B"],[3446,0,"\""],[3447,0,","],[3448,0,"\""],[3449,0,"C"],[3450,0,"\""],[3451,0,"}"],[3452,0,"}"],[3453,0,"|"],[3454,0,"}"],[3455,0,";"],[3517,0,"\n"],[3518,0,"\\"],[3519,0,"d"],[3520,0,"r"],[3521,0,"a"],[3522,0,"w"],[3523,0," "],[3524,0,"["],[3525,0,"-"],[3526,0,">"],[3527,0,"]"],[3528,0," "],[3529,0,"("],[3484,0,"1"],[3516,0,"1"],[3532,0,"l"],[3533,0,"e"],[3534,0,"f"],[3535,0,"t"],[3536,0,"1"],[3537,0,")"],[3538,0," "],[3539,0,"-"],[3540,0,"-"],[3541,0," "],[3542,0,"("],[3543,0,"l"],[3544,0,"e"],[3545,0,"f"],[3546,0,"t"],[3547,0,"2"],[3548,0,")"],[3549,0,";"],[3550,0,"\n"],[3551,0,"\\"],[3552,0,"d"],[3553,0,"r"],[3554,0,"a"],[3555,0,"w"],[3556,0," "],[3557,0,"["],[3558,0,"p"],[3558,1],[3558,0,"-"],[3559,0,">"],[3560,0,"]"],[3561,0," "],[3562,0,"("],[3563,0,"l"],[3564,0,"e"],[3565,0,"f"],[3566,0,"t"],[3567,0,"1"],[3568,0,")"],[3569,0," "],[3570,0,"-"],[3571,0,"-"],[3572,0," "],[3573,0,"("],[3573,1],[3573,0,"("],[3574,0,"r"],[3575,0,"i"],[3576,0,"g"],[3577,0,"h"],[3578,0,"t"],[3579,0,"y"],[3580,0,"2"],[3580,1],[3579,1],[3579,0,"2"],[3580,0,")"],[3581,0,";"],[3582,0,"\n"],[3583,0,"\\"],[3584,0,"d"],[3585,0,"r"],[3586,0,"a"],[3587,0,"w"],[3588,0," "],[3589,0,"["],[3590,0,"-"],[3591,0,">"],[3592,0,"]"],[3593,0," "],[3594,0,"("],[3595,0,"r"],[3596,0,"i"],[3597,0,"g"],[3598,0,"h"],[3599,0,"t"],[3600,0,"1"],[3601,0,")"],[3602,0," "],[3603,0,"-"],[3604,0,"-"],[3605,0," "],[3606,0,"("],[3607,0,"l"],[3608,0,"e"],[3609,0,"f"],[3610,0,"t"],[3611,0,"2"],[3612,0,")"],[3613,0,";"],[3614,0,"\n"],[3615,0,"\\"],[3616,0,"d"],[3617,0,"r"],[3618,0,"a"],[3619,0,"w"],[3620,0," "],[3621,0,"["],[3622,0,"-"],[3623,0,">"],[3624,0,"]"],[3625,0," "],[3626,0,"("],[3627,0,"r"],[3628,0,"i"],[3629,0,"g"],[3630,0,"h"],[3631,0,"t"],[3632,0,"2"],[3632,1],[3632,0,"1"],[3633,0,")"],[3634,0," "],[3635,0,"-"],[3636,0,"-"],[3637,0," "],[3638,0,"("],[3639,0,"r"],[3640,0,"i"],[3641,0,"g"],[3642,0,"h"],[3643,0,"t"],[3644,0,"2"],[3645,0,")"],[3646,0,";"],[3233,1],[3233,1],[3233,1],[3233,1],[3233,1],[3233,0,"k"],[3234,0,"e"],[3235,0,"y"],[3280,1],[3280,1],[3280,1],[3280,1],[3280,1],[3280,0,"k"],[3281,0,"e"],[3282,0,"y"],[3327,1],[3327,1],[3327,1],[3327,1],[3327,1],[3327,0,"k"],[3328,0,"e"],[3329,0,"y"],[3374,1],[3374,1],[3374,1],[3374,1],[3374,1],[3374,0,"k"],[3375,0,"e"],[3376,0,"y"],[3427,1],[3427,1],[3427,1],[3427,1],[3427,1],[3427,0,"k"],[3428,0,"e"],[3429,0,"y"],[3432,1],[3379,1],[3332,1],[3285,1],[3238,1],[3471,1],[3481,1],[3480,1],[3479,1],[3478,1],[3477,1],[3476,1],[3475,1],[3474,1],[3473,1],[3472,1],[3472,0,"["],[3473,0,"-"],[3474,0,">"],[3475,0,"]"],[3471,0,";"],[3473,0,"\\"],[3474,0,"d"],[3475,0,"r"],[3476,0,"a"],[3477,0,"w"],[3478,0," "],[3462,1],[3461,1],[3461,0,"t"],[3462,0,"o"],[3493,1],[3492,1],[3492,0,"t"],[3493,0,"o"],[3463,0," "],[3464,0,"n"],[3465,0,"o"],[3466,0,"d"],[3467,0,"e"],[3468,0," "],[3469,0,"{"],[3470,0,"x"],[3471,0,"}"],[3472,0," "],[3473,0,"n"],[3474,0,"o"],[3475,0,"d"],[3476,0,"e"],[3476,1],[3475,1],[3474,1],[3473,1],[3472,1],[3471,1],[3470,1],[3469,1],[3468,1],[3467,1],[3466,1],[3465,1],[3464,1],[3463,1],[3462,1],[3461,1],[3461,0,"e"],[3462,0,"d"],[3463,0,"g"],[3464,0,"e"],[3465,0," "],[3466,0,"{"],[3467,0,"x"],[3468,0,"}"],[3464,1],[3463,1],[3462,1],[3461,1],[3460,1],[3460,0," "],[3461,0,"e"],[3462,0,"d"],[3463,0,"g"],[3464,0,"e"],[3465,0," "],[3466,0,"n"],[3467,0,"o"],[3468,0,"d"],[3469,0,"e"],[3199,0,"["],[3200,0,"a"],[3201,0,"u"],[3202,0,"d"],[3202,1],[3202,0,"t"],[3203,0,"o"],[3204,0,"]"],[3478,1],[3478,0,"\\"],[3479,0,"t"],[3480,0,"e"],[3481,0,"x"],[3482,0,"t"],[3483,0,"s"],[3484,0,"f"],[3485,0,"{"],[3486,0,"d"],[3487,0,"o"],[3488,0,"c"],[3489,0,"["],[3490,0,"`"],[3491,0,"`"],[3492,0,"k"],[3493,0,"e"],[3494,0,"y"],[3495,0,"'"],[3496,0,"'"],[3497,0,"]"],[3498,0," "],[3499,0,":"],[3500,0,"="],[3501,0," "],[3502,0,"`"],[3503,0,"`"],[3504,0,"B"],[3505,0,"'"],[3506,0,"'"],[3507,0,";"],[3489,0,"\\"],[3498,0,"\\"],[3511,0,"}"],[3478,0,"$"],[3480,1],[3480,1],[3480,1],[3480,1],[3480,0,"m"],[3481,0,"a"],[3482,0,"t"],[3483,0,"h"],[3490,0,"}"],[3491,1],[3492,0,"\\"],[3493,0,"t"],[3494,0,"e"],[3495,0,"x"],[3496,0,"t"],[3497,0,"{"],[3505,1],[3505,0,"}"],[3517,1],[3517,0,"$"],[3511,0,"\\"],[3512,0,"t"],[3513,0,"e"],[3514,0,"x"],[3515,0,"t"],[3516,0,"{"],[3523,0,"}"],[3485,1],[3484,1],[3483,1],[3482,1],[3481,1],[3480,1],[3480,0,"t"],[3481,0,"e"],[3482,0,"x"],[3483,0,"t"],[3554,1],[3553,1],[3553,0,"e"],[3554,0,"d"],[3555,0,"g"],[3556,0,"e"],[3557,0," "],[3558,0,"n"],[3559,0,"o"],[3560,0,"d"],[3561,0,"e"],[3562,0," "],[3563,0,"{"],[3564,0,"$"],[3565,0,"\\"],[3566,0,"t"],[3567,0,"e"],[3568,0,"x"],[3569,0,"t"],[3570,0,"{"],[3571,0,"d"],[3572,0,"o"],[3573,0,"c"],[3574,0,"}"],[3575,0,"["],[3576,0,"\\"],[3577,0,"t"],[3578,0,"e"],[3579,0,"x"],[3580,0,"t"],[3581,0,"{"],[3582,0,"`"],[3583,0,"`"],[3584,0,"k"],[3585,0,"e"],[3586,0,"y"],[3587,0,"'"],[3588,0,"'"],[3589,0,"}"],[3590,0,"]"],[3591,0," "],[3592,0,":"],[3593,0,"="],[3594,0," "],[3595,0,"\\"],[3596,0,"t"],[3597,0,"e"],[3598,0,"x"],[3599,0,"t"],[3600,0,"{"],[3601,0,"`"],[3602,0,"`"],[3603,0,"C"],[3604,0,"'"],[3605,0,"'"],[3606,0,";"],[3607,0,"}"],[3608,0,"$"],[3609,0,"}"],[3556,1],[3555,1],[3554,1],[3553,1],[3553,0,"t"],[3554,0,"o"],[3467,1],[3467,1],[3467,1],[3467,1],[3467,0,"t"],[3468,0,"o"],[3474,0," "],[3475,0,"["],[3476,0,"a"],[3477,0,"b"],[3478,0,"o"],[3479,0,"v"],[3480,0,"e"],[3481,0,"]"],[3566,0," "],[3567,0,"["],[3568,0,"a"],[3569,0,"b"],[3570,0,"o"],[3571,0,"v"],[3572,0,"e"],[3573,0,"]"],[3481,0,","],[3482,0,"s"],[3483,0,"l"],[3484,0,"o"],[3485,0,"p"],[3486,0,"e"],[3487,0,"d"],[3580,0,","],[3581,0,"s"],[3582,0,"l"],[3583,0,"o"],[3584,0,"p"],[3585,0,"e"],[3586,0,"d"],[3227,1],[3227,0,"5"],[3491,0,"\\"],[3492,0,"f"],[3493,0,"o"],[3494,0,"o"],[3495,0,"t"],[3496,0,"n"],[3497,0,"o"],[3498,0,"t"],[3499,0,"e"],[3500,0,"s"],[3501,0,"i"],[3502,0,"z"],[3503,0,"e"],[3504,0," "],[3604,0,"\\"],[3605,0,"f"],[3606,0,"o"],[3607,0,"o"],[3608,0,"t"],[3609,0,"n"],[3610,0,"o"],[3611,0,"t"],[3612,0,"e"],[3613,0,"s"],[3614,0,"i"],[3615,0,"z"],[3616,0,"e"],[3617,0," "],[3694,1],[3694,1],[3694,0,"t"],[3695,0,"o"],[3696,0," "],[3697,0,"n"],[3698,0,"o"],[3699,0,"d"],[3700,0,"e"],[3701,0," "],[3702,0,"["],[3703,0,"l"],[3704,0,"e"],[3705,0,"f"],[3706,0,"t"],[3707,0,"]"],[3708,0," "],[3709,0,"{"],[3710,0,"\\"],[3711,0,"f"],[3712,0,"o"],[3713,0,"o"],[3714,0,"t"],[3715,0,"n"],[3716,0,"o"],[3717,0,"t"],[3718,0,"e"],[3719,0,"s"],[3720,0,"i"],[3721,0,"z"],[3722,0,"e"],[3723,0," "],[3724,0,"y"],[3725,0,"i"],[3726,0,"e"],[3727,0,"l"],[3728,0,"d"],[3729,0,";"],[3730,0,"}"],[3761,1],[3760,1],[3760,0,"t"],[3761,0,"o"],[3794,1],[3793,1],[3793,0,"t"],[3794,0,"o"],[3795,0," "],[3796,0,"n"],[3797,0,"o"],[3798,0,"d"],[3799,0,"e"],[3800,0," "],[3801,0,"["],[3802,0,"r"],[3803,0,"i"],[3804,0,"g"],[3805,0,"h"],[3806,0,"t"],[3807,0,"]"],[3808,0," "],[3809,0,"{"],[3810,0,"\\"],[3811,0,"f"],[3812,0,"o"],[3813,0,"o"],[3814,0,"t"],[3815,0,"n"],[3816,0,"o"],[3817,0,"t"],[3818,0,"e"],[3819,0,"s"],[3820,0,"i"],[3821,0,"z"],[3822,0,"e"],[3823,0," "],[3824,0,"y"],[3825,0,"i"],[3826,0,"e"],[3827,0,"l"],[3828,0,"d"],[3829,0,";"],[3830,0,"}"],[3862,1],[3861,1],[3861,0,"t"],[3862,0,"o"],[3863,0," "],[3864,0,"n"],[3865,0,"o"],[3866,0,"d"],[3867,0,"e"],[3868,0," "],[3869,0,"["],[3870,0,"r"],[3871,0,"i"],[3872,0,"g"],[3873,0,"h"],[3874,0,"t"],[3875,0,"]"],[3876,0," "],[3877,0,"{"],[3878,0,"\\"],[3879,0,"f"],[3880,0,"o"],[3881,0,"o"],[3882,0,"t"],[3883,0,"n"],[3884,0,"o"],[3885,0,"t"],[3886,0,"e"],[3887,0,"s"],[3888,0,"i"],[3889,0,"z"],[3890,0,"e"],[3891,0," "],[3892,0,"y"],[3893,0,"i"],[3894,0,"e"],[3895,0,"l"],[3896,0,"d"],[3897,0,";"],[3898,0,"}"],[3830,1],[3829,1],[3828,1],[3827,1],[3826,1],[3825,1],[3824,1],[3823,1],[3822,1],[3821,1],[3820,1],[3819,1],[3818,1],[3817,1],[3816,1],[3815,1],[3814,1],[3813,1],[3812,1],[3811,1],[3810,1],[3809,1],[3808,1],[3807,1],[3806,1],[3805,1],[3804,1],[3803,1],[3802,1],[3801,1],[3800,1],[3799,1],[3798,1],[3797,1],[3796,1],[3795,1],[3273,1],[3273,0,"1"],[3319,1],[3319,0,"1"],[3227,1],[3227,0,"4"],[3274,0,"."],[3275,0,"3"],[3275,1],[3274,1],[3274,0,"."],[3275,0,"5"],[3322,0,"."],[3323,0,"5"],[3459,0,"t"],[3460,0,"i"],[3461,0,"c"],[3461,1],[3460,1],[3459,1],[3459,0,"h"],[3459,1],[3459,0,"t"],[3460,0,"h"],[3461,0,"i"],[3462,0,"c"],[3463,0,"k"],[3464,0,","],[3578,0,"t"],[3579,0,"h"],[3580,0,"i"],[3581,0,"c"],[3582,0,"k"],[3583,0,","],[3698,0,"t"],[3699,0,"h"],[3700,0,"i"],[3701,0,"c"],[3702,0,"k"],[3703,0,","],[3770,0,"t"],[3771,0,"h"],[3772,0,"i"],[3773,0,"c"],[3774,0,"k"],[3775,0,","],[3808,0,"t"],[3809,0,"h"],[3810,0,"i"],[3811,0,"c"],[3812,0,"k"],[3813,0,","],[3846,0,"t"],[3847,0,"h"],[3848,0,"i"],[3849,0,"c"],[3850,0,"k"],[3851,0,","],[1411,0,"\n"],[1412,0,"\n"],[1412,0,"O"],[1413,0,"u"],[1414,0,"r"],[1415,0," "],[1416,0,"d"],[1417,0,"e"],[1418,0,"s"],[1419,0,"i"],[1420,0,"g"],[1421,0,"n"],[1422,0," "],[1423,0,"i"],[1424,0,"s"],[1425,0," "],[1426,0,"b"],[1427,0,"a"],[1428,0,"s"],[1429,0,"e"],[1430,0,"d"],[1431,0," "],[1432,0,"o"],[1433,0,"n"],[1434,0," "],[1435,0,"t"],[1436,0,"w"],[1437,0,"o"],[1438,0," "],[1439,0,"s"],[1440,0,"i"],[1441,0,"m"],[1442,0,"p"],[1443,0,"l"],[1444,0,"e"],[1445,0," "],[1446,0,"p"],[1447,0,"r"],[1448,0,"i"],[1449,0,"n"],[1450,0,"c"],[1451,0,"i"],[1452,0,"p"],[1453,0,"l"],[1454,0,"e"],[1455,0,"s"],[1456,0,":"],[1457,0," "],[1457,1],[1457,0,"\n"],[1458,0,"\\"],[1459,0,"b"],[1460,0,"e"],[1461,0,"g"],[1462,0,"i"],[1463,0,"n"],[1464,0,"{"],[1465,0,"e"],[1466,0,"n"],[1467,0,"u"],[1468,0,"m"],[1469,0,"e"],[1470,0,"r"],[1471,0,"a"],[1472,0,"t"],[1473,0,"e"],[1474,0,"}"],[1475,0,"\n"],[1476,0,"\\"],[1477,0,"i"],[1478,0,"t"],[1479,0,"e"],[1480,0,"m"],[1481,0," "],[1482,0,"A"],[1483,0,"l"],[1484,0,"l"],[1485,0," "],[1486,0,"r"],[1487,0,"e"],[1488,0,"p"],[1489,0,"l"],[1490,0,"i"],[1491,0,"c"],[1492,0,"a"],[1493,0,"s"],[1494,0," "],[1495,0,"o"],[1496,0,"f"],[1497,0," "],[1498,0,"t"],[1499,0,"h"],[1500,0,"e"],[1501,0," "],[1502,0,"d"],[1503,0,"a"],[1504,0,"t"],[1505,0,"a"],[1506,0," "],[1507,0,"s"],[1508,0,"t"],[1509,0,"r"],[1510,0,"u"],[1511,0,"c"],[1512,0,"t"],[1513,0,"u"],[1514,0,"r"],[1515,0,"e"],[1516,0," "],[1517,0,"s"],[1518,0,"h"],[1519,0,"o"],[1520,0,"u"],[1521,0,"l"],[1522,0,"d"],[1523,0," "],[1524,0,"c"],[1525,0,"o"],[1526,0,"n"],[1527,0,"v"],[1528,0,"e"],[1529,0,"r"],[1530,0,"g"],[1531,0,"e"],[1532,0," "],[1533,0,"t"],[1534,0,"o"],[1535,0,"w"],[1536,0,"a"],[1537,0,"r"],[1538,0,"d"],[1539,0,"s"],[1540,0," "],[1541,0,"t"],[1542,0,"h"],[1543,0,"e"],[1544,0," "],[1545,0,"s"],[1546,0,"a"],[1547,0,"m"],[1548,0,"e"],[1549,0," "],[1550,0,"s"],[1551,0,"a"],[1551,1],[1551,0,"t"],[1552,0,"a"],[1553,0,"t"],[1554,0,"e"],[1555,0,"."],[1556,0,"\n"],[1557,0,"\\"],[1558,0,"i"],[1559,0,"t"],[1560,0,"e"],[1561,0,"m"],[1562,0," "],[1563,0,"N"],[1564,0,"o"],[1565,0," "],[1566,0,"u"],[1567,0,"s"],[1568,0,"e"],[1569,0,"r"],[1570,0," "],[1571,0,"i"],[1572,0,"n"],[1573,0,"p"],[1574,0,"u"],[1575,0,"t"],[1576,0," "],[1577,0,"s"],[1578,0,"h"],[1579,0,"o"],[1580,0,"u"],[1581,0,"l"],[1582,0,"d"],[1583,0," "],[1584,0,"b"],[1585,0,"e"],[1586,0," "],[1587,0,"l"],[1588,0,"o"],[1589,0,"s"],[1590,0,"t"],[1591,0," "],[1592,0,"d"],[1593,0,"u"],[1594,0,"e"],[1595,0," "],[1596,0,"t"],[1597,0,"o"],[1598,0," "],[1599,0,"c"],[1600,0,"o"],[1601,0,"n"],[1602,0,"c"],[1603,0,"u"],[1604,0,"r"],[1605,0,"r"],[1606,0,"e"],[1607,0,"n"],[1608,0,"t"],[1609,0," "],[1610,0,"m"],[1611,0,"o"],[1612,0,"d"],[1613,0,"i"],[1614,0,"f"],[1615,0,"i"],[1616,0,"c"],[1617,0,"a"],[1618,0,"t"],[1619,0,"i"],[1620,0,"o"],[1621,0,"n"],[1622,0,"s"],[1623,0,"."],[1437,1],[1436,1],[1435,1],[1434,1],[1552,0,"\n"],[1553,0,"\\"],[1554,0,"i"],[1555,0,"t"],[1556,0,"e"],[1557,0,"m"],[1558,0," "],[1559,0,"W"],[1560,0,"I"],[1561,0,"n"],[1561,1],[1560,1],[1559,1],[1559,0,"U"],[1559,1],[1559,0,"I"],[1560,0,"n"],[1561,0," "],[1562,0,"t"],[1563,0,"h"],[1564,0,"e"],[1565,0," "],[1566,0,"a"],[1567,0,"b"],[1568,0,"s"],[1569,0,"e"],[1570,0,"n"],[1571,0,"c"],[1572,0,"e"],[1573,0," "],[1574,0,"o"],[1575,0,"f"],[1576,0," "],[1577,0,"c"],[1578,0,"o"],[1579,0,"n"],[1580,0,"c"],[1581,0,"u"],[1582,0,"r"],[1583,0,"r"],[1584,0,"e"],[1585,0,"n"],[1586,0,"c"],[1587,0,"y"],[1587,1],[1586,1],[1585,1],[1585,0,"n"],[1586,0,"t"],[1587,0," "],[1588,0,"m"],[1589,0,"o"],[1590,0,"d"],[1591,0,"i"],[1592,0,"f"],[1593,0,"i"],[1594,0,"c"],[1595,0,"a"],[1596,0,"t"],[1597,0,"i"],[1598,0,"o"],[1599,0,"n"],[1600,0,"s"],[1601,0,","],[1602,0," "],[1603,0,"t"],[1604,0,"h"],[1605,0,"e"],[1606,0," "],[1607,0,"d"],[1608,0,"a"],[1609,0,"t"],[1610,0,"a"],[1611,0," "],[1612,0,"s"],[1613,0,"t"],[1614,0,"r"],[1615,0,"u"],[1616,0,"c"],[1617,0,"t"],[1618,0,"u"],[1619,0,"r"],[1620,0,"e"],[1621,0," "],[1622,0,"s"],[1623,0,"h"],[1624,0,"o"],[1625,0,"u"],[1626,0,"l"],[1627,0,"d"],[1628,0," "],[1629,0,"b"],[1630,0,"e"],[1631,0,"h"],[1632,0,"a"],[1633,0,"v"],[1634,0,"e"],[1635,0," "],[1636,0,"l"],[1637,0,"i"],[1638,0,"k"],[1639,0,"e"],[1640,0," "],[1641,0,"i"],[1642,0,"t"],[1643,0,"s"],[1644,0," "],[1645,0,"f"],[1646,0,"a"],[1647,0,"m"],[1648,0,"i"],[1649,0,"l"],[1650,0,"i"],[1651,0,"a"],[1652,0,"r"],[1653,0,","],[1654,0," "],[1655,0,"n"],[1656,0,"o"],[1657,0,"n"],[1658,0,"-"],[1659,0,"r"],[1660,0,"e"],[1661,0,"p"],[1662,0,"l"],[1663,0,"i"],[1664,0,"c"],[1665,0,"a"],[1666,0,"t"],[1667,0,"e"],[1668,0,"d"],[1669,0," "],[1670,0,"v"],[1671,0,"e"],[1672,0,"r"],[1673,0,"s"],[1674,0,"i"],[1675,0,"o"],[1676,0,"n"],[1677,0,"."],[1747,0,"\\"],[1748,0,"e"],[1749,0,"n"],[1750,0,"d"],[1751,0,"{"],[1752,0,"e"],[1753,0,"n"],[1754,0,"u"],[1755,0,"m"],[1756,0,"e"],[1757,0,"r"],[1758,0,"a"],[1759,0,"t"],[1760,0,"e"],[1761,0,"}"],[1762,0,"\n"],[1763,0,"\n"],[1763,0,"\n"],[1764,0,"I"],[1765,0,"f"],[1766,0," "],[1767,0,"t"],[1768,0,"h"],[1769,0,"e"],[1770,0," "],[1771,0,"t"],[1772,0,"h"],[1773,0,"i"],[1774,0,"r"],[1775,0,"d"],[1776,0," "],[1777,0,"c"],[1777,1],[1776,1],[1776,0," "],[1676,1],[1675,1],[1674,1],[1673,1],[1672,1],[1671,1],[1670,1],[1670,0,"c"],[1671,0,"o"],[1672,0,"u"],[1673,0,"n"],[1674,0,"t"],[1675,0,"e"],[1676,0,"r"],[1677,0,"p"],[1678,0,"a"],[1679,0,"r"],[1680,0,"t"],[1681,1],[1680,1],[1679,1],[1678,1],[1677,1],[1676,1],[1675,1],[1674,1],[1673,1],[1672,1],[1671,1],[1670,1],[1669,1],[1668,1],[1667,1],[1666,1],[1665,1],[1664,1],[1663,1],[1662,1],[1661,1],[1660,1],[1659,1],[1658,1],[1657,1],[1656,1],[1655,1],[1654,1],[1653,1],[1652,1],[1651,1],[1650,1],[1649,1],[1648,1],[1647,1],[1646,1],[1645,1],[1644,1],[1643,1],[1642,1],[1641,1],[1640,1],[1639,1],[1638,1],[1637,1],[1636,1],[1635,1],[1634,1],[1633,1],[1632,1],[1631,1],[1630,1],[1629,1],[1628,1],[1627,1],[1626,1],[1625,1],[1624,1],[1623,1],[1622,1],[1621,1],[1620,1],[1619,1],[1618,1],[1617,1],[1616,1],[1615,1],[1614,1],[1613,1],[1612,1],[1611,1],[1610,1],[1609,1],[1608,1],[1607,1],[1606,1],[1605,1],[1604,1],[1603,1],[1602,1],[1601,1],[1600,1],[1599,1],[1598,1],[1597,1],[1596,1],[1595,1],[1594,1],[1593,1],[1592,1],[1591,1],[1590,1],[1589,1],[1588,1],[1587,1],[1586,1],[1585,1],[1584,1],[1583,1],[1582,1],[1581,1],[1580,1],[1579,1],[1578,1],[1577,1],[1576,1],[1575,1],[1574,1],[1573,1],[1572,1],[1571,1],[1570,1],[1569,1],[1568,1],[1567,1],[1566,1],[1565,1],[1564,1],[1563,1],[1562,1],[1561,1],[1560,1],[1559,1],[1558,1],[1557,1],[1556,1],[1555,1],[1554,1],[1553,1],[1552,1],[1435,0,"t"],[1436,0,"w"],[1437,0,"o"],[1438,0," "],[1654,1],[1653,1],[1652,1],[1651,1],[1650,1],[1649,1],[1649,0,"s"],[1650,0,"e"],[1651,0,"c"],[1652,0,"o"],[1653,0,"n"],[1654,0,"d"],[1655,0," "],[1656,0,"p"],[1657,0,"r"],[1658,0,"i"],[1659,0,"n"],[1660,0,"c"],[1661,0,"i"],[1662,0,"p"],[1663,0,"l"],[1664,0,"e"],[1665,0," "],[1666,0,"i"],[1667,0,"s"],[1668,0," "],[1669,0,"o"],[1670,0,"m"],[1671,0,"i"],[1672,0,"t"],[1673,0,"t"],[1674,0,"e"],[1675,0,"d"],[1676,0,","],[1677,0," "],[1678,0,"a"],[1679,0," "],[1680,0,"s"],[1681,0,"i"],[1682,0,"m"],[1683,0,"p"],[1684,0,"l"],[1685,0,"e"],[1686,0," "],[1687,0,"c"],[1688,0,"o"],[1689,0,"n"],[1690,0,"f"],[1691,0,"l"],[1692,0,"i"],[1693,0,"c"],[1694,0,"t"],[1695,0," "],[1696,0,"r"],[1697,0,"e"],[1698,0,"s"],[1699,0,"o"],[1700,0,"l"],[1701,0,"u"],[1702,0,"t"],[1703,0,"i"],[1704,0,"o"],[1705,0,"n"],[1706,0," "],[1707,0,"p"],[1708,0,"o"],[1709,0,"l"],[1710,0,"i"],[1711,0,"c"],[1712,0,"y"],[1713,0," "],[1687,0,"`"],[1688,0,"`"],[1689,0,"l"],[1690,0,"a"],[1691,0,"s"],[1692,0,"t"],[1693,0," "],[1694,0,"w"],[1695,0,"r"],[1696,0,"i"],[1697,0,"t"],[1698,0,"e"],[1699,0,"r"],[1700,0," "],[1701,0,"w"],[1702,0,"i"],[1703,0,"n"],[1704,0,"s"],[1705,0,"'"],[1706,0,"'"],[1707,0," "],[1735,0,"i"],[1736,0,"s"],[1737,0," "],[1738,0,"s"],[1739,0,"u"],[1740,0,"f"],[1741,0,"f"],[1742,0,"i"],[1743,0,"c"],[1744,0,"i"],[1745,0,"e"],[1746,0,"n"],[1747,0,"t"],[1748,0,","],[1749,0," "],[1750,0,"i"],[1751,0,"n"],[1752,0," "],[1753,0,"w"],[1754,0,"h"],[1755,0,"i"],[1756,0,"c"],[1757,0,"h"],[1758,0," "],[1759,0,"o"],[1760,0,"n"],[1761,0,"e"],[1762,0," "],[1763,0,"u"],[1764,0,"p"],[1765,0,"d"],[1766,0,"a"],[1767,0,"t"],[1768,0,"e"],[1769,0," "],[1769,1],[1768,1],[1767,1],[1766,1],[1765,1],[1764,1],[1763,1],[1763,0,"v"],[1764,0,"e"],[1765,0,"r"],[1766,0,"s"],[1767,0,"i"],[1768,0,"o"],[1769,0,"n"],[1770,0," "],[1771,0,"i"],[1772,0,"s"],[1773,0," "],[1774,0,"c"],[1775,0,"h"],[1776,0,"o"],[1777,0,"s"],[1778,0,"e"],[1779,0,"n"],[1780,0," "],[1781,0,"f"],[1782,0,"r"],[1783,0,"o"],[1784,0,"m"],[1785,0," "],[1786,0,"a"],[1787,0," "],[1788,0,"s"],[1789,0,"e"],[1790,0,"t"],[1791,0," "],[1792,0,"o"],[1793,0,"f"],[1794,0," "],[1795,0,"c"],[1796,0,"o"],[1797,0,"n"],[1798,0,"c"],[1799,0,"u"],[1800,0,"r"],[1801,0,"r"],[1802,0,"e"],[1803,0,"n"],[1804,0,"t"],[1805,0," "],[1806,0,"m"],[1807,0,"o"],[1808,0,"d"],[1809,0,"i"],[1810,0,"f"],[1811,0,"i"],[1812,0,"c"],[1813,0,"a"],[1814,0,"t"],[1815,0,"i"],[1816,0,"o"],[1817,0,"n"],[1524,0,"a"],[1525,0,"u"],[1526,0,"t"],[1527,0,"o"],[1528,0,"m"],[1528,1],[1527,1],[1526,1],[1525,1],[1524,1],[1624,0,"\n"],[1625,0,"\\"],[1626,0,"i"],[1627,0,"t"],[1628,0,"e"],[1629,0,"m"],[1630,0," "],[1631,0,"N"],[1632,0,"o"],[1633,0," "],[1634,0,"a"],[1635,0,"p"],[1636,0,"p"],[1637,0,"l"],[1638,0,"i"],[1639,0,"c"],[1640,0,"a"],[1641,0,"t"],[1642,0,"i"],[1643,0,"o"],[1644,0,"n"],[1645,0," "],[1645,1],[1644,1],[1643,1],[1642,1],[1641,1],[1640,1],[1639,1],[1638,1],[1637,1],[1636,1],[1635,1],[1634,1],[1633,1],[1632,1],[1631,1],[1630,1],[1629,1],[1628,1],[1627,1],[1626,1],[1625,1],[1624,1],[1524,0,"a"],[1525,0,"u"],[1526,0,"t"],[1527,0,"o"],[1528,0,"m"],[1529,0,"a"],[1530,0,"t"],[1531,0,"i"],[1532,0,"c"],[1533,0,"a"],[1534,0,"l"],[1535,0,"l"],[1536,0,"y"],[1537,0," "],[1832,0,"s"],[1833,0,","],[1834,0," "],[1835,0,"a"],[1836,0,"n"],[1837,0,"d"],[1838,0," "],[1807,1],[1806,1],[1805,1],[1804,1],[1803,1],[1802,1],[1801,1],[1800,1],[1799,1],[1798,1],[1797,1],[1796,1],[1795,1],[1794,1],[1784,0," "],[1785,0,"o"],[1786,0,"f"],[1787,0," "],[1788,0,"a"],[1789,0," "],[1790,0,"d"],[1791,0,"o"],[1792,0,"c"],[1793,0,"u"],[1794,0,"m"],[1795,0,"e"],[1796,0,"n"],[1797,0,"t"],[1808,0," "],[1809,0,"a"],[1810,0,"r"],[1811,0,"b"],[1812,0,"i"],[1813,0,"t"],[1814,0,"r"],[1815,0,"a"],[1816,0,"r"],[1817,0,"i"],[1818,0,"l"],[1819,0,"y"],[1820,0,","],[1821,0," "],[1822,0,"a"],[1823,0,"n"],[1824,0,"d"],[1825,0," "],[1826,0,"a"],[1827,0,"n"],[1828,0,"y"],[1859,1],[1858,1],[1857,1],[1856,1],[1855,1],[1854,1],[1854,0," "],[1855,0,"a"],[1856,0,"r"],[1857,0,"e"],[1858,0," "],[1859,0,"d"],[1860,0,"i"],[1861,0,"s"],[1862,0,"c"],[1863,0,"a"],[1864,0,"r"],[1865,0,"d"],[1866,0,"e"],[1867,0,"d"],[1868,0,"."],[1869,0," "],[1870,0,"H"],[1871,0,"o"],[1872,0,"w"],[1873,0,"e"],[1874,0,"v"],[1875,0,"e"],[1876,0,"r"],[1877,0,","],[1878,0," "],[1879,0,"t"],[1880,0,"h"],[1881,0,"e"],[1882,0," "],[1883,0,"r"],[1884,0,"e"],[1885,0,"q"],[1886,0,"u"],[1887,0,"i"],[1888,0,"r"],[1889,0,"e"],[1890,0,"m"],[1891,0,"e"],[1892,0,"n"],[1893,0,"t"],[1894,0," "],[1895,0,"t"],[1896,0,"o"],[1897,0," "],[1898,0,"p"],[1899,0,"r"],[1900,0,"e"],[1901,0,"s"],[1902,0,"e"],[1903,0,"r"],[1904,0,"v"],[1905,0,"e"],[1906,0," "],[1907,0,"u"],[1908,0,"s"],[1909,0,"e"],[1910,0,"r"],[1911,0," "],[1912,0,"i"],[1913,0,"n"],[1914,0,"p"],[1915,0,"u"],[1916,0,"t"],[1917,0," "],[1918,0,"r"],[1919,0,"e"],[1920,0,"q"],[1921,0,"u"],[1922,0,"i"],[1923,0,"r"],[1924,0,"e"],[1925,0,"s"],[1926,0," "],[1927,0,"a"],[1928,0," "],[1929,0,"m"],[1930,0,"o"],[1931,0,"r"],[1932,0,"e"],[1933,0," "],[1934,0,"c"],[1935,0,"a"],[1936,0,"r"],[1937,0,"e"],[1938,0,"f"],[1939,0,"u"],[1940,0,"l"],[1941,0," "],[1942,0,"a"],[1943,0,"p"],[1944,0,"p"],[1945,0,"r"],[1946,0,"o"],[1947,0,"a"],[1948,0,"c"],[1949,0,"h"],[1950,0,"."],[4558,0,"\n"],[4559,0,"\n"],[4560,0,"I"],[4561,0,"n"],[4562,0," "],[4563,0,"t"],[4564,0,"h"],[4565,0,"i"],[4566,0,"s"],[4567,0," "],[4568,0,"s"],[4569,0,"e"],[4570,0,"c"],[4571,0,"t"],[4572,0,"i"],[4573,0,"o"],[4574,0,"n"],[4575,0," "],[4576,0,"w"],[4577,0,"e"],[4578,0," "],[4579,0,"w"],[4580,0,"i"],[4581,0,"l"],[4582,0,"l"],[4583,0," "],[4584,0,"e"],[4585,0,"x"],[4586,0,"a"],[4587,0,"m"],[4588,0,"i"],[4589,0,"n"],[4590,0,"e"],[4591,0," "],[4592,0,"s"],[4593,0,"o"],[4594,0,"m"],[4595,0,"e"],[4596,0," "],[4597,0,"e"],[4598,0,"x"],[4599,0,"a"],[4600,0,"m"],[4601,0,"p"],[4602,0,"l"],[4603,0,"e"],[4604,0,"s"],[4605,0," "],[4606,0,"o"],[4607,0,"f"],[4608,0," "],[4609,0,"c"],[4610,0,"o"],[4611,0,"n"],[4612,0,"c"],[4613,0,"u"],[4614,0,"r"],[4615,0,"r"],[4616,0,"e"],[4617,0,"n"],[4618,0,"t"],[4619,0," "],[4620,0,"e"],[4621,0,"d"],[4622,0,"i"],[4623,0,"t"],[4624,0,"s"],[4625,0," "],[4626,0,"t"],[4627,0,"h"],[4628,0,"a"],[4629,0,"t"],[4630,0," "],[4631,0,"m"],[4632,0,"a"],[4633,0,"y"],[4634,0," "],[4635,0,"o"],[4636,0,"c"],[4637,0,"c"],[4638,0,"u"],[4639,0,"r"],[4640,0," "],[4641,0,"i"],[4642,0,"n"],[4643,0," "],[4644,0,"a"],[4645,0," "],[4646,0,"J"],[4647,0,"S"],[4648,0,"O"],[4649,0,"N"],[4650,0," "],[4651,0,"d"],[4652,0,"o"],[4653,0,"c"],[4654,0,"u"],[4655,0,"m"],[4656,0,"e"],[4657,0,"n"],[4658,0,"t"],[4659,0," "],[4659,1],[4659,0,","],[4660,0," "],[4661,0,"i"],[4662,0,"n"],[4663,0," "],[4664,0,"o"],[4665,0,"r"],[4666,0,"d"],[4667,0,"e"],[4668,0,"r"],[4669,0," "],[4670,0,"t"],[4671,0,"o"],[4672,0," "],[4673,0,"i"],[4674,0,"l"],[4675,0,"l"],[4676,0,"u"],[4677,0,"s"],[4678,0,"t"],[4679,0,"r"],[4680,0,"a"],[4681,0,"t"],[4682,0,"e"],[4683,0," "],[4684,0,"s"],[4685,0,"o"],[4686,0,"m"],[4687,0,"e"],[4688,0," "],[4689,0,"o"],[4690,0,"f"],[4691,0," "],[4692,0,"t"],[4693,0,"h"],[4694,0,"e"],[4695,0," "],[4696,0,"s"],[4697,0,"u"],[4698,0,"b"],[4699,0,"t"],[4700,0,"l"],[4701,0,"e"],[4702,0,"t"],[4703,0,"i"],[4704,0,"e"],[4705,0,"s"],[4706,0," "],[4707,0,"t"],[4708,0,"h"],[4709,0,"a"],[4710,0,"t"],[4711,0," "],[4712,0,"a"],[4713,0,"r"],[4714,0,"i"],[4715,0,"s"],[4716,0,"e"],[4717,0,"."],[4718,0,"\n"],[4719,0,"\n"],[4720,0,"O"],[4721,0,"u"],[4722,0,"r"],[4723,0," "],[4724,0,"f"],[4725,0,"i"],[4726,0,"r"],[4727,0,"s"],[4728,0,"t"],[4729,0," "],[4730,0,"e"],[4731,0,"x"],[4732,0,"a"],[4733,0,"m"],[4734,0,"p"],[4735,0,"l"],[4736,0,"e"],[4737,0," "],[4738,0,"i"],[4739,0,"s"],[4740,0," "],[4741,0,"s"],[4742,0,"h"],[4743,0,"o"],[4744,0,"w"],[4745,0,"n"],[4746,0," "],[4747,0,"i"],[4748,0,"n"],[4749,0," "],[4750,0,"F"],[4751,0,"i"],[4752,0,"g"],[4753,0,"u"],[4754,0,"r"],[4755,0,"e"],[4756,0,"~"],[4757,0,"\\"],[4758,0,"r"],[4759,0,"e"],[4760,0,"f"],[4761,0,"{"],[4762,0,"f"],[4763,0,"i"],[4764,0,"g"],[4765,0,":"],[4766,0,"r"],[4767,0,"e"],[4768,0,"g"],[4769,0,"i"],[4770,0,"s"],[4771,0,"t"],[4772,0,"e"],[4773,0,"r"],[4774,0,"-"],[4775,0,"a"],[4776,0,"s"],[4777,0,"s"],[4778,0,"i"],[4779,0,"g"],[4780,0,"n"],[4781,0,"}"],[4782,0,"."],[4783,0," "],[4784,0,"A"],[4785,0," "],[4786,0,"d"],[4787,0,"o"],[4788,0,"c"],[4789,0,"u"],[4790,0,"m"],[4791,0,"e"],[4792,0,"n"],[4793,0,"t"],[4794,0," "],[4795,0,"t"],[4796,0,"h"],[4797,0,"a"],[4798,0,"t"],[4799,0," "],[4800,0,"m"],[4801,0,"a"],[4802,0,"p"],[4803,0,"s"],[4804,0," "],[4784,1],[4784,0,"I"],[4785,0,"n"],[4786,0," "],[4787,0,"a"],[4808,0,"`"],[4809,0,"`"],[4810,0,"k"],[4811,0,"e"],[4812,0,"y"],[4813,0,"'"],[4814,0,"'"],[4815,0," "],[4816,0,"t"],[4817,0,"o"],[4818,0," "],[4819,0,"`"],[4820,0,"`"],[4821,0,"A"],[4822,0,"'"],[4823,0,"'"],[4824,0,","],[4825,0," "],[4826,0,"o"],[4827,0,"n"],[4828,0,"e"],[4829,0," "],[4830,0,"r"],[4831,0,"e"],[4832,0,"p"],[4833,0,"l"],[4834,0,"i"],[4835,0,"c"],[4836,0,"a"],[4837,0," "],[4838,0,"s"],[4839,0,"e"],[4840,0,"t"],[4841,0,"s"],[4842,0," "],[4843,0,"t"],[4844,0,"h"],[4845,0,"e"],[4846,0," "],[4847,0,"v"],[4848,0,"a"],[4849,0,"l"],[4850,0,"u"],[4851,0,"e"],[4852,0," "],[4853,0,"o"],[4854,0,"f"],[4855,0," "],[4856,0,"t"],[4857,0,"h"],[4858,0,"e"],[4859,0," "],[4860,0,"k"],[4861,0,"e"],[4862,0,"y"],[4863,0," "],[4864,0,"t"],[4865,0,"o"],[4866,0," "],[4867,0,"`"],[4868,0,"`"],[4869,0,"B"],[4870,0,"'"],[4871,0,"'"],[4872,0,","],[4873,0," "],[4874,0,"w"],[4875,0,"h"],[4876,0,"i"],[4877,0,"l"],[4878,0,"e"],[4879,0," "],[4880,0,"a"],[4881,0,"n"],[4882,0,"o"],[4883,0,"t"],[4884,0,"h"],[4885,0,"e"],[4886,0,"r"],[4887,0," "],[4888,0,"c"],[4889,0,"o"],[4890,0,"n"],[4891,0,"c"],[4892,0,"u"],[4893,0,"r"],[4894,0,"r"],[4895,0,"e"],[4896,0,"n"],[4897,0,"t"],[4898,0,"l"],[4899,0,"y"],[4900,0," "],[4901,0,"s"],[4902,0,"e"],[4903,0,"t"],[4904,0,"s"],[4905,0," "],[4906,0,"i"],[4907,0,"t"],[4908,0," "],[4909,0,"t"],[4910,0,"o"],[4911,0," "],[4912,0,"`"],[4913,0,"`"],[4914,0,"C"],[4915,0,"'"],[4916,0,"'"],[4917,0,"."],[4918,0," "],[4919,0,"A"],[4920,0,"s"],[4921,0," "],[4922,0,"t"],[4923,0,"h"],[4924,0,"e"],[4925,0," "],[4926,0,"r"],[4927,0,"e"],[4928,0,"p"],[4929,0,"l"],[4930,0,"i"],[4931,0,"c"],[4932,0,"a"],[4933,0,"s"],[4934,0," "],[4935,0,"s"],[4936,0,"u"],[4937,0,"b"],[4938,0,"s"],[4939,0,"e"],[4940,0,"q"],[4941,0,"u"],[4942,0,"e"],[4943,0,"n"],[4944,0,"t"],[4945,0,"l"],[4946,0,"y"],[4947,0," "],[4948,0,"e"],[4949,0,"x"],[4950,0,"c"],[4951,0,"h"],[4952,0,"a"],[4953,0,"n"],[4954,0,"g"],[4955,0,"e"],[4956,0," "],[4957,0,"e"],[4958,0,"d"],[4959,0,"i"],[4960,0,"t"],[4961,0,"s"],[4962,0,","],[4963,0," "],[4964,0,"t"],[4965,0,"h"],[4966,0,"e"],[4967,0,"y"],[4968,0," "],[4862,1],[4861,1],[4860,1],[4860,0,"r"],[4861,0,"e"],[4862,0,"g"],[4863,0,"i"],[4864,0,"s"],[4865,0,"t"],[4866,0,"e"],[4867,0,"r"],[4974,0,"d"],[4975,0,"e"],[4976,0,"t"],[4977,0,"e"],[4978,0,"c"],[4979,0,"t"],[4980,0," "],[4981,0,"t"],[4982,0,"h"],[4983,0,"e"],[4984,0," "],[4985,0,"c"],[4986,0,"o"],[4987,0,"n"],[4988,0,"f"],[4989,0,"l"],[4990,0,"i"],[4991,0,"c"],[4992,0,"t"],[4993,0,"."],[4994,0," "],[4995,0,"S"],[4996,0,"i"],[4997,0,"n"],[4998,0,"c"],[4999,0,"e"],[5000,0," "],[5001,0,"w"],[5002,0,"e"],[5003,0," "],[5004,0,"r"],[5005,0,"u"],[5006,0,"l"],[5007,0,"e"],[5008,0," "],[5009,0,"o"],[5010,0,"u"],[5011,0,"t"],[5012,0," "],[5013,0,"t"],[5014,0,"h"],[5015,0,"e"],[5016,0," "],[5016,1],[5015,1],[5014,1],[5013,1],[5012,1],[5011,1],[5010,1],[5009,1],[5008,1],[5007,1],[5006,1],[5005,1],[5004,1],[5004,0,"d"],[5005,0,"o"],[5006,0," "],[5007,0,"n"],[5008,0,"o"],[5009,0,"t"],[5010,0," "],[5011,0,"w"],[5012,0,"a"],[5013,0,"n"],[5014,0,"t"],[5015,0," "],[5016,0,"t"],[5017,0,"o"],[5018,0," "],[5019,0,"s"],[5020,0,"i"],[5021,0,"m"],[5022,0,"p"],[5023,0,"l"],[5024,0,"y"],[5025,0," "],[5026,0,"d"],[5027,0,"i"],[5028,0,"s"],[5029,0,"c"],[5030,0,"a"],[5031,0,"r"],[5032,0,"d"],[5033,0," "],[5034,0,"o"],[5035,0,"n"],[5036,0,"e"],[5037,0," "],[5038,0,"o"],[5039,0,"f"],[5040,0," "],[5041,0,"t"],[5042,0,"h"],[5043,0,"e"],[5044,0," "],[5045,0,"e"],[5046,0,"d"],[5047,0,"i"],[5048,0,"t"],[5049,0,"s"],[5050,0,","],[5051,0," "],[5052,0,"a"],[5053,0,"n"],[5054,0,"d"],[5055,0," "],[5056,0,"t"],[5057,0,"h"],[5058,0,"e"],[5059,0," "],[5060,0,"s"],[5061,0,"t"],[5062,0,"r"],[5063,0,"i"],[5064,0,"n"],[5065,0,"g"],[5066,0,"s"],[5067,0," "],[5068,0,"`"],[5069,0,"`"],[5070,0,"B"],[5071,0,"'"],[5072,0,"'"],[5073,0," "],[5074,0,"a"],[5075,0,"n"],[5076,0,"d"],[5077,0," "],[5078,0,"`"],[5079,0,"`"],[5080,0,"C"],[5081,0,"'"],[5082,0,"'"],[5083,0," "],[5084,0,"c"],[5085,0,"a"],[5086,0,"n"],[5087,0,"n"],[5088,0,"o"],[5089,0,"t"],[5090,0," "],[5091,0,"m"],[5092,0,"e"],[5093,0,"a"],[5094,0,"n"],[5095,0,"i"],[5096,0,"n"],[5097,0,"g"],[5098,0,"f"],[5099,0,"u"],[5100,0,"l"],[5101,0,"l"],[5102,0,"y"],[5103,0," "],[5104,0,"b"],[5105,0,"e"],[5106,0," "],[5107,0,"m"],[5108,0,"e"],[5109,0,"r"],[5110,0,"g"],[5111,0,"e"],[5112,0,"d"],[5113,0,","],[5114,0," "],[5115,0,"t"],[5116,0,"h"],[5117,0,"e"],[5118,0," "],[5119,0,"s"],[5120,0,"y"],[5121,0,"s"],[5122,0,"t"],[5123,0,"e"],[5124,0,"m"],[5125,0," "],[5126,0,"m"],[5127,0,"u"],[5128,0,"s"],[5129,0,"t"],[5130,0," "],[5131,0,"p"],[5132,0,"r"],[5133,0,"e"],[5134,0,"s"],[5135,0,"e"],[5136,0,"r"],[5137,0,"v"],[5138,0,"e"],[5139,0," "],[5140,0,"b"],[5141,0,"o"],[5142,0,"t"],[5143,0,"h"],[5144,0," "],[5145,0,"c"],[5146,0,"o"],[5147,0,"n"],[5148,0,"c"],[5149,0,"u"],[5150,0,"r"],[5151,0,"r"],[5152,0,"e"],[5153,0,"n"],[5154,0,"t"],[5155,0," "],[5156,0,"u"],[5157,0,"p"],[5158,0,"d"],[5159,0,"a"],[5160,0,"t"],[5161,0,"e"],[5162,0,"s"],[5163,0,"."],[5164,0," "],[5165,0,"T"],[5166,0,"h"],[5167,0,"i"],[5168,0,"s"],[5169,0," "],[5170,0,"d"],[5171,0,"a"],[5172,0,"t"],[5173,0,"a"],[5174,0,"t"],[5175,0,"y"],[5176,0,"p"],[5177,0,"e"],[5178,0,"s"],[5178,1],[5178,0," "],[5179,0,"i"],[5180,0,"s"],[5181,0," "],[5182,0,"k"],[5183,0,"n"],[5184,0,"o"],[5185,0,"w"],[5186,0,"n"],[5187,0," "],[5188,0,"a"],[5189,0,"s"],[5190,0," "],[5191,0,"a"],[5192,0," "],[5193,0,"\\"],[5194,0,"e"],[5195,0,"m"],[5196,0,"p"],[5197,0,"h"],[5198,0,"{"],[5199,0,"m"],[5200,0,"u"],[5201,0,"l"],[5202,0,"t"],[5203,0,"i"],[5204,0,"-"],[5205,0,"v"],[5206,0,"a"],[5207,0,"l"],[5208,0,"u"],[5209,0,"e"],[5210,0," "],[5211,0,"r"],[5212,0,"e"],[5213,0,"g"],[5214,0,"i"],[5215,0,"s"],[5216,0,"t"],[5217,0,"e"],[5218,0,"r"],[5219,0,"}"],[5220,0,":"],[5221,0," "],[5222,0,"a"],[5223,0,"l"],[5224,0,"t"],[5225,0,"h"],[5226,0,"o"],[5227,0,"u"],[5228,0,"g"],[5229,0,"h"],[5230,0," "],[5231,0,"a"],[5232,0," "],[5233,0,"r"],[5234,0,"e"],[5235,0,"p"],[5236,0,"l"],[5237,0,"i"],[5238,0,"c"],[5239,0,"a"],[5240,0," "],[5241,0,"c"],[5242,0,"a"],[5243,0,"n"],[5244,0," "],[5245,0,"o"],[5246,0,"n"],[5247,0,"l"],[5248,0,"y"],[5249,0," "],[5250,0,"a"],[5251,0,"s"],[5252,0,"s"],[5253,0,"i"],[5254,0,"g"],[5255,0,"n"],[5256,0," "],[5257,0,"a"],[5258,0,"s"],[5258,1],[5258,0," "],[5259,0,"s"],[5260,0,"i"],[5261,0,"n"],[5262,0,"g"],[5263,0,"l"],[5264,0,"e"],[5265,0," "],[5266,0,"v"],[5267,0,"a"],[5268,0,"l"],[5269,0,"u"],[5270,0,"e"],[5271,0," "],[5272,0,"t"],[5273,0,"o"],[5274,0," "],[5275,0,"t"],[5276,0,"h"],[5277,0,"e"],[5278,0," "],[5279,0,"r"],[5280,0,"e"],[5281,0,"g"],[5282,0,"i"],[5283,0,"s"],[5284,0,"t"],[5285,0,"e"],[5286,0,"r"],[5287,0,","],[5288,0," "],[5289,0,"i"],[5290,0,"t"],[5291,0," "],[5292,0,"m"],[5293,0,"a"],[5294,0,"y"],[5295,0," "],[5296,0,"h"],[5297,0,"a"],[5298,0,"v"],[5299,0,"e"],[5300,0," "],[5300,1],[5299,1],[5298,1],[5297,1],[5296,1],[5295,1],[5294,1],[5293,1],[5292,1],[5291,1],[5290,1],[5289,1],[5289,0,"r"],[5290,0,"e"],[5291,0,"a"],[5292,0,"d"],[5293,0,"i"],[5294,0,"n"],[5295,0,"g"],[5296,0," "],[5297,0,"t"],[5298,0,"h"],[5299,0,"e"],[5300,0," "],[5301,0,"r"],[5302,0,"e"],[5303,0,"g"],[5304,0,"i"],[5305,0,"s"],[5306,0,"t"],[5307,0,"e"],[5308,0,"r"],[5309,0," "],[5310,0,"m"],[5311,0,"a"],[5312,0,"y"],[5313,0," "],[5314,0,"r"],[5315,0,"e"],[5316,0,"t"],[5317,0,"u"],[5318,0,"r"],[5319,0,"n"],[5320,0," "],[5321,0,"a"],[5322,0," "],[5323,0,"s"],[5324,0,"e"],[5325,0,"t"],[5326,0," "],[5327,0,"o"],[5328,0,"f"],[5329,0," "],[5330,0,"c"],[5331,0,"o"],[5332,0,"n"],[5333,0,"c"],[5334,0,"u"],[5335,0,"r"],[5336,0,"r"],[5337,0,"e"],[5338,0,"n"],[5339,0,"t"],[5340,0,"l"],[5341,0,"y"],[5342,0," "],[5343,0,"w"],[5344,0,"r"],[5345,0,"i"],[5346,0,"t"],[5347,0,"t"],[5348,0,"e"],[5349,0,"n"],[5350,0," "],[5351,0,"v"],[5352,0,"a"],[5353,0,"l"],[5354,0,"u"],[5355,0,"e"],[5356,0,"s"],[5357,0,"."],[4818,0," "],[4819,0,"a"],[4820,0," "],[4821,0,"r"],[4822,0,"e"],[4823,0,"g"],[4824,0,"i"],[4825,0,"s"],[4826,0,"t"],[4827,0,"e"],[4828,0,"r"],[4829,0," "],[4830,0,"w"],[4831,0,"i"],[4832,0,"t"],[4833,0,"h"],[4834,0," "],[4835,0,"v"],[4836,0,"a"],[4837,0,"l"],[4838,0,"u"],[4839,0,"e"],[5380,0,"\n"],[5381,0,"\n"],[5382,0,"'"],[5382,1],[5382,0,"\\"],[5383,0,"b"],[5384,0,"e"],[5385,0,"g"],[5386,0,"i"],[5387,0,"n"],[5388,0,"{"],[5389,0,"f"],[5390,0,"i"],[5391,0,"g"],[5392,0,"u"],[5393,0,"r"],[5394,0,"e"],[5395,0,"*"],[5396,0,"}"],[5397,0,"\n"],[5398,0,"\\"],[5399,0,"e"],[5400,0,"n"],[5401,0,"d"],[5402,0,"{"],[5403,0,"f"],[5404,0,"i"],[5405,0,"g"],[5406,0,"u"],[5407,0,"r"],[5408,0,"e"],[5409,0,"*"],[5410,0,"}"],[5397,0,"\n"],[5398,0,"\\"],[5399,0,"c"],[5400,0,"e"],[5401,0,"n"],[5402,0,"t"],[5403,0,"e"],[5404,0,"r"],[5405,0,"i"],[5406,0,"n"],[5407,0,"g"],[5408,0,"\n"],[5409,0,"\\"],[5410,0,"b"],[5411,0,"e"],[5412,0,"g"],[5413,0,"i"],[5414,0,"n"],[5415,0,"{"],[5416,0,"t"],[5417,0,"i"],[5418,0,"k"],[5419,0,"z"],[5420,0,"p"],[5421,0,"i"],[5422,0,"c"],[5423,0,"t"],[5424,0,"u"],[5425,0,"r"],[5426,0,"e"],[5427,0,"}"],[5428,0,"["],[5429,0,"a"],[5430,0,"u"],[5431,0,"t"],[5432,0,"o"],[5433,0,"]"],[5434,0,"\n"],[5435,0,"\\"],[5436,0,"e"],[5437,0,"n"],[5438,0,"d"],[5439,0,"{"],[5440,0,"t"],[5441,0,"i"],[5442,0,"k"],[5443,0,"z"],[5444,0,"p"],[5445,0,"i"],[5446,0,"c"],[5447,0,"t"],[5448,0,"u"],[5449,0,"r"],[5450,0,"e"],[5451,0,"}"],[5452,0,"\n"],[5453,0,"\\"],[5454,0,"c"],[5455,0,"a"],[5456,0,"p"],[5457,0,"t"],[5458,0,"i"],[5459,0,"o"],[5460,0,"n"],[5461,0,"{"],[5462,0,"C"],[5463,0,"o"],[5464,0,"n"],[5465,0,"c"],[5466,0,"u"],[5467,0,"r"],[5468,0,"r"],[5469,0,"e"],[5470,0,"n"],[5471,0,"t"],[5472,0," "],[5473,0,"m"],[5474,0,"o"],[5474,1],[5473,1],[5472,1],[5471,1],[5470,1],[5469,1],[5468,1],[5467,1],[5466,1],[5465,1],[5464,1],[5463,1],[5462,1],[5462,0,"M"],[5463,0,"o"],[5464,0,"d"],[5465,0,"i"],[5466,0,"f"],[5467,0,"y"],[5468,0,"i"],[5469,0,"n"],[5470,0,"g"],[5471,0," "],[5472,0,"t"],[5473,0,"h"],[5474,0,"e"],[5475,0," "],[5476,0,"c"],[5477,0,"o"],[5478,0,"n"],[5479,0,"t"],[5480,0,"e"],[5481,0,"n"],[5482,0,"t"],[5483,0,"s"],[5484,0," "],[5485,0,"o"],[5486,0,"f"],[5487,0," "],[5488,0,"a"],[5489,0," "],[5490,0,"n"],[5491,0,"e"],[5492,0,"s"],[5493,0,"t"],[5494,0,"e"],[5495,0,"d"],[5496,0," "],[5497,0,"m"],[5498,0,"a"],[5499,0,"p"],[5500,0," "],[5501,0,"w"],[5502,0,"h"],[5503,0,"i"],[5504,0,"l"],[5505,0,"e"],[5506,0," "],[5507,0,"c"],[5508,0,"o"],[5509,0,"n"],[5510,0,"c"],[5511,0,"u"],[5512,0,"r"],[5513,0,"r"],[5514,0,"e"],[5515,0,"n"],[5516,0,"t"],[5517,0,"l"],[5518,0,"y"],[5519,0," "],[5520,0,"t"],[5521,0,"h"],[5522,0,"e"],[5523,0," "],[5524,0,"e"],[5525,0,"n"],[5526,0,"t"],[5527,0,"i"],[5528,0,"r"],[5529,0,"e"],[5530,0," "],[5531,0,"m"],[5532,0,"a"],[5533,0,"p"],[5534,0," "],[5535,0,"i"],[5536,0,"s"],[5537,0," "],[5538,0,"r"],[5539,0,"e"],[5540,0,"m"],[5541,0,"o"],[5542,0,"v"],[5543,0,"e"],[5544,0,"d"],[5545,0,"}"],[5546,0,"\\"],[5547,0,"l"],[5548,0,"a"],[5549,0,"b"],[5550,0,"e"],[5551,0,"l"],[5552,0,"{"],[5553,0,"f"],[5554,0,"i"],[5555,0,"g"],[5556,0,":"],[5557,0,"m"],[5558,0,"a"],[5559,0,"p"],[5560,0,"-"],[5561,0,"r"],[5562,0,"e"],[5563,0,"m"],[5564,0,"o"],[5565,0,"v"],[5566,0,"e"],[5567,0,"}"],[5434,0,"\n"],[5435,0,"\\"],[5436,0,"n"],[5437,0,"o"],[5438,0,"d"],[5439,0,"e"],[5440,0," "],[5441,0,"("],[5442,0,"s"],[5443,0,"t"],[5444,0,"a"],[5445,0,"r"],[5446,0,"t"],[5447,0,")"],[5448,0," "],[5449,0,"a"],[5450,0,"t"],[5451,0," "],[5452,0,"("],[5453,0,"5"],[5454,0,","],[5455,0,"4"],[5456,0,")"],[5457,0," "],[5458,0,"{"],[5459,0,"\\"],[5460,0,"v"],[5461,0,"e"],[5462,0,"r"],[5463,0,"b"],[5464,0,"|"],[5465,0,"{"],[5466,0,"\""],[5467,0,"c"],[5468,0,"o"],[5469,0,"l"],[5470,0,"o"],[5471,0,"r"],[5472,0,"s"],[5473,0,"\""],[5474,0,":"],[5475,0," "],[5476,0,"{"],[5477,0,"\""],[5478,0,"b"],[5479,0,"l"],[5480,0,"u"],[5481,0,"e"],[5482,0,"\""],[5483,0,":"],[5484,0," "],[5485,0,"\""],[5486,0,"#"],[5487,0,"0"],[5488,0,"0"],[5489,0,"0"],[5490,0,"0"],[5491,0,"f"],[5492,0,"f"],[5493,0,"\""],[5494,0,"}"],[5495,0,"}"],[5496,0,"|"],[5497,0,"}"],[5498,0,";"],[5499,0,"\n"],[5500,0,"\\"],[5501,0,"n"],[5502,0,"o"],[5503,0,"d"],[5504,0,"e"],[5505,0," "],[5506,0,"("],[5507,0,"l"],[5508,0,"e"],[5509,0,"f"],[5510,0,"t"],[5511,0,"1"],[5512,0,")"],[5513,0," "],[5514,0," "],[5449,0," "],[5516,0,"a"],[5517,0,"t"],[5518,0," "],[5519,0,"("],[5520,0,"0"],[5521,0,","],[5522,0,"2"],[5523,0,")"],[5524,0," "],[5525,0,"{"],[5526,0,"\\"],[5527,0,"v"],[5528,0,"e"],[5529,0,"r"],[5530,0,"b"],[5531,0,"|"],[5532,0,"{"],[5533,0,"\""],[5534,0,"c"],[5535,0,"o"],[5536,0,"l"],[5537,0,"o"],[5538,0,"r"],[5539,0,"s"],[5540,0,"\""],[5541,0,":"],[5542,0," "],[5543,0,"{"],[5544,0,"\""],[5545,0,"b"],[5546,0,"l"],[5547,0,"u"],[5548,0,"e"],[5549,0,"\""],[5550,0,":"],[5551,0," "],[5552,0,"\""],[5553,0,"#"],[5554,0,"0"],[5555,0,"0"],[5556,0,"0"],[5557,0,"0"],[5558,0,"f"],[5559,0,"f"],[5560,0,"\""],[5561,0,"|"],[5562,0,"}"],[5563,0,";"],[5561,0,","],[5563,0," "],[5564,0,"\\"],[5565,0,"\\"],[5566,0," "],[5567,0,"\\"],[5568,0,"v"],[5569,0,"e"],[5570,0,"r"],[5571,0,"b"],[5572,0,"{"],[5573,0,"\""],[5574,0,"r"],[5575,0,"e"],[5576,0,"d"],[5577,0,"\""],[5578,0,":"],[5579,0," "],[5580,0,"\""],[5581,0,"#"],[5582,0,"f"],[5583,0,"f"],[5584,0,"0"],[5585,0,"0"],[5586,0,"0"],[5587,0,"0"],[5588,0,"\""],[5572,1],[5572,0,"|"],[5589,0,"}"],[5590,0,"}"],[5591,0,"|"],[5592,0,"}"],[5526,0,"\\"],[5527,0,"m"],[5528,0,"b"],[5529,0,"o"],[5530,0,"x"],[5531,0,"{"],[5531,1],[5530,1],[5529,1],[5528,1],[5527,1],[5526,1],[5506,0," "],[5507,0,"["],[5508,0,"m"],[5509,0,"a"],[5510,0,"t"],[5511,0,"r"],[5512,0,"i"],[5513,0,"x"],[5514,0,"]"],[5523,1],[5449,1],[5599,0," "],[5600,0,"\\"],[5601,0,"\\"],[5602,0," "],[5603,1],[5533,0,"\\"],[5534,0,"n"],[5535,0,"o"],[5536,0,"d"],[5537,0,"e"],[5538,0," "],[5539,0,"{"],[5577,0,"}"],[5582,0,"\\"],[5583,0,"n"],[5584,0,"o"],[5585,0,"d"],[5586,0,"e"],[5587,0,"{"],[5613,0,"}"],[5533,0,"\n"],[5534,0," "],[5535,0," "],[5536,0," "],[5537,0," "],[5586,0,"\n"],[5587,0," "],[5588,0," "],[5589,0," "],[5596,0," "],[5627,1],[5627,0,"\n"],[5545,0,"a"],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5546,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,1],[5562,0,"b"],[5547,0,";"],[5565,0,";"],[5545,1],[5545,0,"\\"],[5546,0,"v"],[5547,0,"e"],[5548,0,"r"],[5549,0,"b"],[5550,0,"|"],[5551,0,"{"],[5552,0,"\""],[5553,0,"c"],[5554,0,"o"],[5555,0,"l"],[5556,0,"o"],[5557,0,"r"],[5558,0,"s"],[5559,0,"\""],[5560,0,":"],[5561,0," "],[5562,0,"{"],[5563,0,"\""],[5564,0,"r"],[5565,0,"e"],[5566,0,"d"],[5566,1],[5565,1],[5564,1],[5564,0,"b"],[5565,0,"l"],[5566,0,"u"],[5567,0,"e"],[5568,0,"\""],[5569,0,":"],[5570,0," "],[5571,0,"\""],[5572,0,"#"],[5573,0,"0"],[5574,0,"0"],[5575,0,"0"],[5576,0,"0"],[5577,0,"f"],[5578,0,"f"],[5579,0,"\""],[5580,0,","],[5581,0,"|"],[5599,1],[5599,0,"\\"],[5600,0,"v"],[5601,0,"e"],[5602,0,"r"],[5603,0,"b"],[5604,0,"|"],[5605,0,"{"],[5605,1],[5605,0,"\""],[5606,0,"r"],[5607,0,"e"],[5608,0,"d"],[5609,0,":"],[5609,1],[5609,0,"\""],[5610,0,":"],[5611,0," "],[5612,0,"\""],[5613,0,"#"],[5614,0,"f"],[5615,0,"f"],[5616,0,"0"],[5617,0,"0"],[5618,0,"0"],[5619,0,"0"],[5620,0,"\""],[5621,0,"}"],[5622,0,"}"],[5623,0,"|"],[5632,0,"\n"],[5633,0,"\\"],[5634,0,"n"],[5635,0,"o"],[5636,0,"d"],[5637,0,"e"],[5638,0," "],[5639,0,"("],[5640,0,"r"],[5641,0,"i"],[5642,0,"g"],[5643,0,"h"],[5644,0,"t"],[5645,0,"1"],[5646,0,")"],[5647,0," "],[5648,0,"a"],[5649,0,"t"],[5650,0," "],[5651,0,"("],[5652,0,"1"],[5653,0,"0"],[5654,0,","],[5655,0,"2"],[5655,1],[5655,0,"3"],[5656,0,")"],[5657,0," "],[5658,0,"{"],[5659,0,"\\"],[5660,0,"v"],[5661,0,"e"],[5662,0,"r"],[5663,0,"b"],[5664,0,"|"],[5665,0,"{"],[5666,0,"}"],[5667,0,"|"],[5668,0,"}"],[5669,0,";"],[5670,0,"\n"],[5671,0,"\\"],[5672,0,"n"],[5673,0,"o"],[5674,0,"d"],[5675,0,"e"],[5676,0," "],[5677,0,"("],[5678,0,"r"],[5679,0,"i"],[5680,0,"g"],[5681,0,"h"],[5682,0,"t"],[5683,0,"2"],[5684,0,")"],[5685,0," "],[5686,0,"a"],[5687,0,"t"],[5688,0," "],[5689,0,"("],[5690,0,"1"],[5691,0,"0"],[5692,0,","],[5693,0,"2"],[5694,0,")"],[5695,0," "],[5696,0,"{"],[5697,0,"\\"],[5698,0,"v"],[5699,0,"e"],[5700,0,"r"],[5701,0,"b"],[5702,0,"|"],[5703,0,"{"],[5704,0,"\""],[5705,0,"c"],[5706,0,"o"],[5707,0,"l"],[5708,0,"o"],[5709,0,"r"],[5710,0,"s"],[5711,0,"\""],[5712,0,":"],[5713,0," "],[5714,0,"\""],[5715,0,"#"],[5715,1],[5714,1],[5714,0,"{"],[5715,0,"\""],[5716,0,"g"],[5717,0,"r"],[5718,0,"e"],[5719,0,"e"],[5720,0,"n"],[5721,0,"\""],[5722,0,":"],[5723,0," "],[5724,0,"\""],[5725,0,"#"],[5726,0,"0"],[5727,0,"0"],[5728,0,"f"],[5729,0,"f"],[5730,0,"0"],[5731,0,"0"],[5732,0,"\""],[5733,0,"}"],[5734,0,"}"],[5735,0,"|"],[5736,0,"}"],[5737,0,";"],[5453,1],[5453,0,"4"],[5652,1],[5652,1],[5652,0,"8"],[5689,1],[5689,1],[5689,0,"8"],[5736,0,"\n"],[5737,0,"\\"],[5738,0,"n"],[5739,0,"o"],[5740,0,"d"],[5741,0,"e"],[5742,0," "],[5743,0,"("],[5744,0,"l"],[5745,0,"e"],[5746,0,"f"],[5747,0,"t"],[5748,0,"2"],[5749,0,")"],[5750,0," "],[5751,0,"a"],[5752,0,"t"],[5753,0," "],[5754,0,"("],[5755,0,"0"],[5756,0,","],[5757,0,"0"],[5758,0,")"],[5759,0," "],[5760,0,"{"],[5761,0,"\\"],[5762,0,"v"],[5763,0,"e"],[5764,0,"r"],[5765,0,"b"],[5766,0,"|"],[5767,0,"{"],[5768,0,"\""],[5769,0,"c"],[5770,0,"o"],[5771,0,"l"],[5772,0,"o"],[5773,0,"r"],[5774,0,"s"],[5775,0,"\""],[5776,0,":"],[5777,0," "],[5778,0,"{"],[5779,0,"\""],[5780,0,"r"],[5781,0,"e"],[5782,0,"d"],[5783,0,"\""],[5784,0,":"],[5785,0," "],[5786,0,"\""],[5787,0,"#"],[5788,0,"f"],[5789,0,"f"],[5790,0,"0"],[5791,0,"0"],[5792,0,"0"],[5793,0,"0"],[5794,0,"\""],[5795,0,","],[5796,0," "],[5797,0,"\""],[5798,0,"g"],[5799,0,"r"],[5800,0,"e"],[5801,0,"e"],[5802,0,"n"],[5803,0,"\""],[5804,0,":"],[5805,0," "],[5806,0,"\""],[5807,0,"#"],[5808,0,"0"],[5809,0,"0"],[5810,0,"f"],[5811,0,"f"],[5812,0,"0"],[5813,0,"0"],[5814,0,"\""],[5815,0,"}"],[5816,0,"}"],[5817,0,"|"],[5818,0,"}"],[5819,0,";"],[5742,0," "],[5743,0,"["],[5744,0,"m"],[5745,0,"a"],[5746,0,"t"],[5747,0,"r"],[5748,0,"i"],[5749,0,"x"],[5750,0,"]"],[5770,0,"\n"],[5771,0," "],[5772,0," "],[5773,0," "],[5774,0," "],[5775,0,"\\"],[5776,0,"n"],[5777,0,"o"],[5778,0,"d"],[5779,0,"e"],[5780,0," "],[5781,0,"{"],[5817,0,"|"],[5818,0,"}"],[5819,0,";"],[5820,0,"\n"],[5821,0," "],[5822,0," "],[5823,0," "],[5824,0," "],[5825,0,"\\"],[5826,0,"n"],[5827,0,"o"],[5828,0,"d"],[5829,0,"e"],[5831,0,"{"],[5832,0,"\\"],[5833,0,"v"],[5834,0,"e"],[5835,0,"r"],[5836,0,"b"],[5837,0,"|"],[5861,0,"\n"],[5862,0,"}"],[5863,0,";"],[5864,0,"\n"],[5865,0,"\\"],[5866,0,"n"],[5867,0,"o"],[5868,0,"d"],[5869,0,"e"],[5870,0," "],[5871,0,"["],[5872,0,"m"],[5873,0,"a"],[5874,0,"t"],[5875,0,"r"],[5876,0,"i"],[5877,0,"x"],[5878,0,"]"],[5879,0," "],[5880,0,"("],[5881,0,"r"],[5882,0,"i"],[5883,0,"g"],[5884,0,"h"],[5885,0,"t"],[5886,0,"3"],[5887,0,")"],[5888,0," "],[5889,0,"a"],[5890,0,"t"],[5891,0," "],[5892,0,"("],[5893,0,"8"],[5894,0,","],[5895,0," "],[5895,1],[5895,0,"0"],[5896,0,")"],[5897,0," "],[5898,0,"{"],[5899,0,"\n"],[5900,0," "],[5901,0," "],[5902,0," "],[5903,0," "],[5904,0,"\\"],[5905,0,"n"],[5906,0,"o"],[5907,0,"d"],[5908,0,"e"],[5909,0," "],[5910,0,"{"],[5911,0,"\\"],[5912,0,"v"],[5913,0,"e"],[5914,0,"r"],[5915,0,"b"],[5916,0,"|"],[5917,0,"{"],[5918,0,"\""],[5919,0,"c"],[5920,0,"o"],[5921,0,"l"],[5922,0,"o"],[5923,0,"r"],[5924,0,"s"],[5925,0,"\""],[5926,0,":"],[5927,0," "],[5928,0,"{"],[5929,0,"\""],[5930,0,"r"],[5931,0,"e"],[5932,0,"d"],[5933,0,"\""],[5934,0,":"],[5935,0," "],[5936,0,"\""],[5937,0,"#"],[5938,0,"f"],[5939,0,"f"],[5940,0,"0"],[5941,0,"0"],[5942,0,"0"],[5943,0,"0"],[5944,0,"\""],[5945,0,","],[5946,0,"}"],[5946,1],[5946,0,"|"],[5947,0,"}"],[5948,0,";"],[5949,0,"\n"],[5950,0," "],[5951,0," "],[5952,0," "],[5953,0," "],[5954,0,"\\"],[5955,0,"n"],[5956,0,"o"],[5957,0,"d"],[5958,0,"e"],[5959,0," "],[5960,0,"{"],[5961,0,"\\"],[5962,0,"v"],[5963,0,"e"],[5964,0,"r"],[5965,0,"b"],[5966,0,"|"],[5967,0,"\""],[5968,0,"g"],[5969,0,"r"],[5970,0,"e"],[5971,0,"e"],[5972,0,"n"],[5973,0,"\""],[5974,0,":"],[5975,0," "],[5976,0,"\""],[5977,0,"#"],[5978,0,"0"],[5979,0,"0"],[5980,0,"f"],[5981,0,"f"],[5982,0,"0"],[5983,0,"0"],[5984,0,"\""],[5985,0,"}"],[5986,0,"}"],[5987,0,"|"],[5988,0,"}"],[5989,0,";"],[5990,0,"\n"],[5991,0,"}"],[5992,0,";"],[5994,0,"\n"],[5994,1],[5991,0,"%"],[5950,0,"%"],[5900,0,"%"],[5865,0,"%"],[5820,0," "],[5821,0,"\\"],[5822,0,"\\"],[5864,0," "],[5865,0,"\\"],[5866,0,"\\"],[5871,1],[5906,1],[5956,1],[5997,1],[5996,0," "],[5997,0,"'"],[5998,0,"\\"],[5998,1],[5997,1],[5997,0,"\\"],[5998,0,"\\"],[5955,0," "],[5956,0,"\\"],[5957,0,"\\"],[6005,0,"\n"],[6006,0,"\\"],[6007,0,"d"],[6008,0,"r"],[6009,0,"a"],[6010,0,"w"],[6011,0," "],[6012,0,"["],[6013,0,"t"],[6014,0,"h"],[6015,0,"i"],[6016,0,"c"],[6017,0,"k"],[6018,0,","],[6019,0,"-"],[6020,0,">"],[6021,0,"]"],[6022,0," "],[6023,0,"("],[6024,0,"s"],[6025,0,"t"],[6026,0,"a"],[6027,0,"r"],[6028,0,"t"],[6029,0,")"],[6030,0," "],[6031,0,"t"],[6032,0,"o"],[6033,0," "],[6034,0,"n"],[6035,0,"o"],[6036,0,"d"],[6037,0,"e"],[6038,0," "],[6039,0,"["],[6040,0,"a"],[6041,0,"b"],[6042,0,"o"],[6043,0,"v"],[6044,0,"e"],[6045,0,","],[6046,0,"s"],[6047,0,"l"],[6048,0,"o"],[6049,0,"p"],[6050,0,"e"],[6051,0,"d"],[6052,0,"]"],[6053,0," "],[6054,0,"{"],[6055,0,"\\"],[6056,0,"f"],[6057,0,"o"],[6058,0,"o"],[6059,0,"t"],[6060,0,"n"],[6061,0,"o"],[6062,0,"t"],[6063,0,"e"],[6064,0,"s"],[6065,0,"i"],[6066,0,"z"],[6067,0,"e"],[6068,0," "],[6069,0,"$"],[6070,0,"\\"],[6071,0,"t"],[6072,0,"e"],[6073,0,"x"],[6074,0,"t"],[6075,0,"{"],[6076,0,"d"],[6077,0,"o"],[6078,0,"c"],[6079,0,"}"],[6080,0,"["],[6080,1],[6079,1],[6078,1],[6077,1],[6076,1],[6075,1],[6074,1],[6073,1],[6072,1],[6071,1],[6070,1],[6069,1],[6069,0,"d"],[6070,0,"o"],[6071,0,"c"],[6072,0,"["],[6073,0,"`"],[6074,0,"`"],[6075,0,"c"],[6076,0,"o"],[6077,0,"l"],[6078,0,"o"],[6079,0,"r"],[6080,0,"s"],[6081,0,"'"],[6082,0,"'"],[6083,0,"]"],[6084,0,"}"],[6085,0," "],[6086,0,"("],[6087,0,"l"],[6088,0,"e"],[6089,0,"f"],[6090,0,"t"],[6091,0,"1"],[6092,0,")"],[6093,0,";"],[6051,1],[6050,1],[6049,1],[6048,1],[6047,1],[6046,1],[6045,1],[6044,1],[6043,1],[6042,1],[6041,1],[6040,1],[6040,0,"l"],[6041,0,"e"],[6042,0,"f"],[6043,0,"t"],[6076,0,"["],[6077,0,"`"],[6078,0,"`"],[6079,0,"r"],[6080,0,"e"],[6081,0,"d"],[6082,0,"'"],[6083,0,"'"],[6084,0,"]"],[6085,0," "],[6086,0,":"],[6087,0,"="],[6088,0," "],[6089,0,"`"],[6090,0,"`"],[6091,0,"\\"],[6092,0,"#"],[6093,0,"f"],[6094,0,"f"],[6095,0,"0"],[6096,0,"0"],[6097,0,"0"],[6098,0,"0"],[6099,0,"'"],[6100,0,"'"],[6101,0,";"],[6102,0,"\\"],[6102,1],[6102,0,"~"],[6103,0,"~"],[6103,1],[6102,1],[6102,0,"\\"],[6103,0,"h"],[6104,0,"s"],[6105,0,"p"],[6106,0,"a"],[6107,0,"c"],[6108,0,"e"],[6109,0,"{"],[6110,0,"1"],[6111,0,"e"],[6112,0,"m"],[6113,0,"}"],[6113,1],[6112,1],[6111,1],[6110,1],[6109,1],[6108,1],[6107,1],[6106,1],[6105,1],[6104,1],[6103,1],[6103,0,"q"],[6104,0,"u"],[6105,0,"a"],[6106,0,"d"],[6106,1],[6105,1],[6104,1],[6103,1],[6103,0,"h"],[6104,0,"s"],[6105,0,"p"],[6106,0,"a"],[6107,0,"c"],[6108,0,"e"],[6109,0,"{"],[6110,0,"1"],[6111,0,"e"],[6112,0,"m"],[6113,0,"}"],[6113,1],[6112,1],[6111,1],[6110,1],[6109,1],[6108,1],[6107,1],[6106,1],[6105,1],[6104,1],[6103,1],[6102,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,1],[4027,0,"l"],[4028,0,"e"],[4029,0,"f"],[4030,0,"t"],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,1],[4138,0,"r"],[4139,0,"i"],[4140,0,"g"],[4141,0,"h"],[4142,0,"t"],[3768,1],[3768,0,"3"],[4031,0,","],[4032,0," "],[4033,0,"i"],[4034,0,"n"],[4034,1],[4033,1],[4032,1],[4031,1],[4031,0,","],[4032,0,"i"],[4033,0,"n"],[4034,0,"n"],[4035,0,"e"],[4036,0,"r"],[4037,0," "],[4038,0,"s"],[4039,0,"e"],[4040,0,"p"],[4041,0,"="],[4042,0,"5"],[4043,0,"p"],[4044,0,"t"],[4157,0,","],[4158,0,"i"],[4159,0,"n"],[4160,0,"n"],[4161,0,"e"],[4162,0,"r"],[4163,0," "],[4164,0,"s"],[4165,0,"e"],[4166,0,"p"],[4167,0,"="],[4168,0,"5"],[4169,0,"p"],[4170,0,"t"],[4170,1],[4169,1],[4168,1],[4168,0,"1"],[4169,0,"e"],[4170,0,"m"],[4044,1],[4043,1],[4042,1],[4042,0,"1"],[4043,0,"e"],[4044,0,"m"],[4044,1],[4043,1],[4042,1],[4042,0,"8"],[4043,0,"p"],[4044,0,"t"],[4170,1],[4169,1],[4168,1],[4168,0,"8"],[4169,0,"p"],[4170,0,"t"],[6057,0,","],[6058,0,"i"],[6059,0,"n"],[6060,0,"n"],[6061,0,"e"],[6062,0,"r"],[6063,0," "],[6064,0,"s"],[6065,0,"e"],[6066,0,"p"],[6067,0,"="],[6068,0,"8"],[6069,0,"p"],[6070,0,"t"],[6068,1],[6068,0,"1"],[6069,0,"2"],[6131,0,"\n"],[6132,0,"\\"],[6133,0,"d"],[6133,1],[6132,1],[6131,1],[6140,0,"\n"],[6141,0,"\\"],[6142,0,"d"],[6143,0,"r"],[6144,0,"a"],[6145,0,"w"],[6146,0," "],[6147,0,"["],[6148,0,"t"],[6149,0,"h"],[6150,0,"i"],[6151,0,"c"],[6152,0,"k"],[6153,0,","],[6154,0,"-"],[6155,0,"."],[6155,1],[6155,0,">"],[6156,0,"]"],[6157,0," "],[6158,0,"("],[6159,0,"s"],[6160,0,"t"],[6161,0,"a"],[6162,0,"r"],[6163,0,"t"],[6164,0,")"],[6165,0," "],[6166,0,"t"],[6167,0,"o"],[6168,0," "],[6169,0,"n"],[6170,0,"o"],[6171,0,"d"],[6172,0,"e"],[6173,0," "],[6174,0,"["],[6175,0,"r"],[6176,0,"i"],[6177,0,"g"],[6178,0,"h"],[6179,0,"t"],[6180,0,","],[6181,0,"i"],[6182,0,"n"],[6183,0,"n"],[6184,0,"e"],[6185,0,"r"],[6186,0," "],[6187,0,"s"],[6188,0,"e"],[6189,0,"p"],[6190,0,"="],[6191,0,"1"],[6192,0,"2"],[6193,0,"p"],[6194,0,"t"],[6195,0,"]"],[6196,0," "],[6197,0,"{"],[6198,0,"\\"],[6199,0,"f"],[6200,0,"o"],[6201,0,"o"],[6202,0,"t"],[6203,0,"n"],[6204,0,"o"],[6205,0,"t"],[6206,0,"e"],[6207,0,"s"],[6208,0,"i"],[6209,0,"z"],[6210,0,"e"],[6211,0," "],[6212,0,"d"],[6213,0,"o"],[6214,0,"c"],[6215,0,"["],[6216,0,"`"],[6217,0,"`"],[6218,0,"c"],[6219,0,"o"],[6220,0,"l"],[6221,0,"o"],[6222,0,"r"],[6223,0,"s"],[6224,0,"'"],[6225,0,"'"],[6226,0,"]"],[6227,0,"."],[6228,0,"d"],[6229,0,"e"],[6230,0,"l"],[6231,0,"e"],[6232,0,"t"],[6233,0,"e"],[6234,0,";"],[6235,0,"}"],[6236,0," "],[6237,0,"("],[6238,0,"r"],[6239,0,"i"],[6240,0,"g"],[6241,0,"h"],[6242,0,"t"],[6243,0,"1"],[6244,0,")"],[6245,0,";"],[6246,0,"\n"],[6247,0,"\\"],[6248,0,"d"],[6249,0,"r"],[6250,0,"a"],[6251,0,"w"],[6252,0," "],[6253,0,"["],[6254,0,"t"],[6255,0,"h"],[6256,0,"i"],[6257,0,"c"],[6258,0,"k"],[6259,0,","],[6260,0,"-"],[6261,0,">"],[6262,0,"]"],[6263,0," "],[6264,0,"("],[6265,0,"l"],[6266,0,"e"],[6267,0,"f"],[6268,0,"t"],[6269,0,"1"],[6270,0,")"],[6271,0," "],[6272,0,"t"],[6273,0,"o"],[6274,0," "],[6275,0,"n"],[6276,0,"o"],[6277,0,"d"],[6278,0,"e"],[6279,0," "],[6280,0,"["],[6281,0,"r"],[6282,0,"i"],[6283,0,"g"],[6284,0,"h"],[6285,0,"t"],[6286,0,"]"],[6287,0," "],[6288,0,"{"],[6289,0,"\\"],[6290,0,"f"],[6291,0,"o"],[6292,0,"o"],[6293,0,"t"],[6294,0,"n"],[6295,0,"o"],[6296,0,"t"],[6297,0,"e"],[6298,0,"s"],[6299,0,"i"],[6300,0,"z"],[6301,0,"e"],[6302,0," "],[6303,0,"d"],[6304,0,"o"],[6305,0,"c"],[6306,0,"["],[6307,0,"`"],[6308,0,"`"],[6309,0,"c"],[6310,0,"o"],[6311,0,"l"],[6312,0,"o"],[6313,0,"r"],[6314,0,"s"],[6315,0,"'"],[6316,0,"'"],[6317,0,"]"],[6318,0,"."],[6318,1],[6318,0,"["],[6319,0,"`"],[6320,0,"`"],[6321,0,"g"],[6322,0,"r"],[6323,0,"e"],[6324,0,"e"],[6325,0,"n"],[6326,0,"'"],[6327,0,"'"],[6328,0,"]"],[6329,0," "],[6330,0,"="],[6331,0," "],[6331,1],[6330,1],[6330,0,":"],[6331,0,"="],[6332,0," "],[6333,0,"`"],[6334,0,"`"],[6335,0,"\\"],[6335,1],[6335,0,"\\"],[6336,0,"#"],[6337,0,"0"],[6338,0,"0"],[6339,0,"f"],[6340,0,"f"],[6341,0,"0"],[6342,0,"0"],[6343,0,"'"],[6344,0,"'"],[6345,0,";"],[6346,0,"}"],[6347,0," "],[6348,0,"("],[6349,0,"r"],[6350,0,"i"],[6351,0,"g"],[6352,0,"h"],[6353,0,"t"],[6354,0,"2"],[6355,0,")"],[6356,0,";"],[6268,1],[6267,1],[6266,1],[6265,1],[6265,0,"r"],[6266,0,"i"],[6267,0,"g"],[6268,0,"h"],[6269,0,"t"],[4188,1],[4188,1],[4188,1],[4188,1],[4188,1],[4188,1],[4188,1],[4191,1],[4192,1],[4192,1],[4192,1],[4192,1],[4192,1],[4192,1],[4199,1],[4209,1],[4208,1],[4207,1],[4206,1],[4205,1],[4204,1],[4210,1],[4087,1],[4092,1],[4092,1],[4092,1],[4092,1],[4092,1],[4092,1],[4098,1],[4098,1],[4201,1],[4079,1],[4078,1],[4077,1],[4076,1],[4075,1],[4074,1],[4072,1],[4068,1],[4067,1],[4066,1],[4065,1],[4064,1],[4063,1],[4062,1],[5621,1],[5621,0,"2"],[5622,0,"."],[5623,0,"5"],[5660,1],[5660,0,"1"],[5661,0,"."],[5662,0,"5"],[5623,1],[5622,1],[5621,1],[5621,0,"3"],[5422,1],[5422,0,"5"],[6314,0,"\n"],[6315,0,"\\"],[6316,0,"d"],[6317,0,"r"],[6318,0,"a"],[6319,0,"w"],[6320,0," "],[6321,0,"["],[6322,0,"t"],[6323,0,"h"],[6324,0,"i"],[6325,0,"c"],[6326,0,"k"],[6327,0,","],[6328,0,"-"],[6329,0,">"],[6330,0,"]"],[6331,0," "],[6332,0,"("],[6333,0,"l"],[6334,0,"e"],[6335,0,"f"],[6336,0,"t"],[6337,0,"1"],[6338,0,")"],[6339,0," "],[6340,0,"t"],[6341,0,"o"],[6342,0," "],[6343,0,"n"],[6344,0,"o"],[6345,0,"d"],[6346,0,"e"],[6347,0," "],[6348,0,"["],[6349,0,"e"],[6350,0,"f"],[6350,1],[6349,1],[6349,0,"l"],[6350,0,"e"],[6351,0,"f"],[6352,0,"t"],[6353,0,"]"],[6354,0," "],[6355,0,"{"],[6356,0,"\\"],[6357,0,"f"],[6358,0,"o"],[6359,0,"o"],[6360,0,"t"],[6361,0,"n"],[6362,0,"o"],[6363,0,"t"],[6364,0,"e"],[6365,0,"s"],[6366,0,"i"],[6367,0,"z"],[6368,0,"e"],[6369,0," "],[6370,0,"y"],[6371,0,"i"],[6372,0,"e"],[6373,0,"l"],[6374,0,"d"],[6375,0,";"],[6376,0,"]"],[6376,1],[6376,0,"}"],[6377,0," "],[6378,0,"("],[6379,0,"l"],[6380,0,"e"],[6381,0,"f"],[6382,0,"t"],[6383,0,"2"],[6384,0,")"],[6385,0,";"],[6386,0,"\n"],[6387,0,"\\"],[6388,0,"d"],[6389,0,"r"],[6390,0,"a"],[6391,0,"w"],[6392,0," "],[6393,0,"["],[6394,0,"t"],[6395,0,"h"],[6396,0,"i"],[6397,0,"c"],[6398,0,"k"],[6399,0,","],[6400,0,"-"],[6401,0,">"],[6402,0,"]"],[6403,0," "],[6404,0,"("],[6405,0,"r"],[6406,0,"i"],[6407,0,"g"],[6408,0,"h"],[6409,0,"t"],[6410,0,"1"],[6410,1],[6410,0,"2"],[6411,0,")"],[6412,0," "],[6413,0,"t"],[6414,0,"o"],[6415,0," "],[6416,0,"n"],[6417,0,"o"],[6418,0,"d"],[6419,0,"e"],[6420,0," "],[6421,0,"["],[6422,0,"r"],[6423,0,"i"],[6424,0,"g"],[6425,0,"h"],[6426,0,"t"],[6427,0,"]"],[6428,0," "],[6429,0,"{"],[6430,0,"\\"],[6431,0,"f"],[6432,0,"o"],[6433,0,"o"],[6434,0,"t"],[6435,0,"n"],[6436,0,"o"],[6437,0,"t"],[6438,0,"e"],[6439,0,"s"],[6440,0,"i"],[6441,0,"z"],[6442,0,"e"],[6443,0," "],[6444,0,"y"],[6445,0,"i"],[6446,0,"e"],[6447,0,"l"],[6448,0,"d"],[6449,0,";"],[6450,0,"]"],[6450,1],[6450,0,"\n"],[6450,1],[6450,0,"}"],[6451,0," "],[6452,0,"("],[6453,0,"r"],[6454,0,"i"],[6455,0,"g"],[6456,0,"h"],[6457,0,"t"],[6458,0,"3"],[6459,0,")"],[6460,0,";"],[6461,0,"\n"],[6462,0,"\\"],[6463,0,"d"],[6464,0,"r"],[6465,0,"a"],[6466,0,"w"],[6467,0," "],[6468,0,"["],[6469,0,"t"],[6470,0,"h"],[6471,0,"i"],[6472,0,"c"],[6473,0,"k"],[6474,0,","],[6475,0,"-"],[6476,0,">"],[6477,0,"]"],[6478,0," "],[6479,0,"("],[6480,0,"l"],[6481,0,"e"],[6482,0,"f"],[6483,0,"t"],[6484,0,"1"],[6485,0,")"],[6486,0," "],[6487,0,"t"],[6488,0,"o"],[6489,0," "],[6490,0,"("],[6491,0,"r"],[6492,0,"i"],[6493,0,"g"],[6494,0,"h"],[6495,0,"t"],[6496,0,"3"],[6497,0,")"],[6498,0,";"],[6499,0,"\n"],[6500,0,"\\"],[6501,0,"d"],[6502,0,"r"],[6503,0,"a"],[6504,0,"w"],[6505,0," "],[6506,0,"["],[6507,0,"t"],[6508,0,"h"],[6509,0,"i"],[6510,0,"c"],[6511,0,"k"],[6512,0,","],[6513,0,"-"],[6514,0,">"],[6515,0,"]"],[6516,0," "],[6517,0,"("],[6518,0,"r"],[6519,0,"i"],[6520,0,"g"],[6521,0,"h"],[6522,0,"t"],[6523,0,"2"],[6524,0,")"],[6525,0," "],[6526,0,"t"],[6527,0,"o"],[6528,0," "],[6529,0,"("],[6530,0,"A"],[6531,0,"l"],[6532,0,"e"],[6533,0,"f"],[6533,1],[6532,1],[6531,1],[6530,1],[6530,0,"l"],[6531,0,"e"],[6532,0,"f"],[6533,0,"t"],[6534,0,"2"],[6535,0,")"],[6536,0,";"],[5422,1],[5422,0,"4"],[6148,1],[6148,0,"8"],[6189,1],[6188,1],[6187,1],[6186,1],[6185,1],[6184,1],[6183,1],[6183,0," "],[6184,0,"="],[6185,0," "],[6186,0,"\\"],[6187,0,"{"],[6188,0,"\\"],[6189,0,"}"],[5632,0,"\""],[5633,0,"c"],[5634,0,"o"],[5635,0,"l"],[5636,0,"o"],[5637,0,"r"],[5638,0,"s"],[5639,0,"\""],[5640,0,":"],[5641,0," "],[5642,0,"{"],[5643,0,"}"],[6659,1],[6658,1],[6657,1],[6656,1],[6655,1],[6654,1],[6653,1],[6653,0,"o"],[6654,0,"v"],[6655,0,"e"],[6656,0,"r"],[6657,0,"w"],[6658,0,"r"],[6659,0,"i"],[6660,0,"t"],[6661,0,"t"],[6662,0,"e"],[6663,0,"n"],[6701,0,"\n"],[6702,0,"\n"],[6703,0,"A"],[6704,0,"n"],[6705,0,"o"],[6706,0,"t"],[6707,0,"h"],[6708,0,"e"],[6709,0,"r"],[6710,0," "],[6711,0,"e"],[6712,0,"x"],[6713,0,"a"],[6714,0,"m"],[6715,0,"p"],[6716,0,"l"],[6717,0,"e"],[6718,0," "],[6719,0,"i"],[6720,0,"s"],[6721,0," "],[6722,0,"g"],[6723,0,"i"],[6724,0,"v"],[6725,0,"e"],[6726,0,"n"],[6727,0," "],[6728,0,"i"],[6729,0,"n"],[6730,0," "],[6731,0,"F"],[6732,0,"i"],[6733,0,"g"],[6734,0,"u"],[6735,0,"r"],[6736,0,"e"],[6737,0,"~"],[6738,0,"\\"],[6739,0,"r"],[6740,0,"e"],[6741,0,"f"],[6742,0,"{"],[6743,0,"f"],[6744,0,"i"],[6745,0,"g"],[6746,0,":"],[6747,0,"m"],[6748,0,"a"],[6749,0,"p"],[6750,0,"-"],[6751,0,"r"],[6752,0,"e"],[6753,0,"m"],[6754,0,"o"],[6755,0,"v"],[6756,0,"e"],[6757,0,"}"],[6758,0,"."],[6759,0," "],[6760,0,"H"],[6761,0,"e"],[6762,0,"r"],[6763,0,"e"],[6764,0,","],[6765,0," "],[6766,0,"o"],[6767,0,"n"],[6768,0,"e"],[6769,0," "],[6770,0,"r"],[6771,0,"e"],[6772,0,"p"],[6773,0,"l"],[6774,0,"i"],[6775,0,"c"],[6776,0,"a"],[6777,0," "],[6778,0,"a"],[6779,0,"d"],[6780,0,"d"],[6781,0,"s"],[6782,0," "],[6783,0,"`"],[6784,0,"`"],[6785,0,"r"],[6786,0,"e"],[6787,0,"d"],[6788,0,"'"],[6789,0,"'"],[6790,0," "],[6791,0,"t"],[6792,0,"o"],[6793,0," "],[6794,0,"a"],[6795,0," "],[6796,0,"m"],[6797,0,"a"],[6798,0,"p"],[6799,0," "],[6800,0,"o"],[6801,0,"f"],[6802,0," "],[6803,0,"c"],[6804,0,"o"],[6805,0,"l"],[6806,0,"o"],[6807,0,"r"],[6808,0,"s"],[6809,0,","],[6810,0," "],[6811,0,"w"],[6812,0,"h"],[6813,0,"i"],[6814,0,"l"],[6815,0,"e"],[6816,0," "],[6817,0,"c"],[6818,0,"o"],[6819,0,"n"],[6820,0,"c"],[6821,0,"u"],[6822,0,"r"],[6823,0,"r"],[6824,0,"e"],[6825,0,"n"],[6826,0,"t"],[6827,0,"l"],[6828,0,"y"],[6829,0," "],[6830,0,"a"],[6831,0,"n"],[6832,0,"o"],[6833,0,"t"],[6834,0,"h"],[6835,0,"e"],[6836,0,"r"],[6837,0," "],[6838,0,"c"],[6839,0,"l"],[6840,0,"i"],[6841,0,"e"],[6842,0,"n"],[6843,0,"t"],[6844,0," "],[6845,0,"f"],[6846,0,"i"],[6847,0,"r"],[6848,0,"s"],[6849,0,"t"],[6850,0," "],[6851,0,"b"],[6852,0,"l"],[6853,0,"a"],[6854,0,"n"],[6855,0,"k"],[6856,0,"s"],[6857,0," "],[6858,0,"o"],[6859,0,"u"],[6860,0,"t"],[6861,0," "],[6862,0,"t"],[6863,0,"h"],[6864,0,"e"],[6865,0," "],[6866,0,"e"],[6867,0,"n"],[6868,0,"t"],[6869,0,"i"],[6870,0,"r"],[6871,0,"e"],[6872,0," "],[6873,0,"m"],[6874,0,"a"],[6875,0,"p"],[6876,0," "],[6877,0,"o"],[6878,0,"f"],[6879,0," "],[6880,0,"c"],[6881,0,"o"],[6882,0,"l"],[6883,0,"o"],[6884,0,"r"],[6885,0,"s"],[6886,0," "],[6886,1],[6886,0,","],[6887,0," "],[6888,0,"a"],[6889,0,"n"],[6890,0,"d"],[6891,0," "],[6892,0,"t"],[6893,0,"h"],[6894,0,"e"],[6895,0,"n"],[6896,0," "],[6897,0,"a"],[6898,0,"d"],[6899,0,"d"],[6900,0,"s"],[6901,0," "],[6902,0,"`"],[6903,0,"`"],[6904,0,"g"],[6905,0,"r"],[6906,0,"e"],[6907,0,"e"],[6908,0,"n"],[6909,0,"'"],[6910,0,"'"],[6911,0,"."],[6912,0," "],[6913,0,"A"],[6914,0,"s"],[6915,0," "],[6916,0,"t"],[6917,0,"h"],[6918,0,"e"],[6919,0," "],[6920,0,"r"],[6921,0,"e"],[6922,0,"p"],[6923,0,"l"],[6924,0,"i"],[6925,0,"c"],[6926,0,"a"],[6927,0,"s"],[6928,0," "],[6929,0,"m"],[6930,0,"e"],[6931,0,"r"],[6932,0,"g"],[6933,0,"e"],[6934,0," "],[6935,0,"t"],[6936,0,"h"],[6937,0,"e"],[6938,0,"i"],[6939,0,"r"],[6940,0," "],[6941,0,"e"],[6942,0,"d"],[6943,0,"i"],[6944,0,"t"],[6945,0,"s"],[6946,0,","],[6947,0," "],[6948,0,"a"],[6949,0,"l"],[6950,0,"l"],[6951,0," "],[6952,0,"c"],[6953,0,"h"],[6954,0,"a"],[6955,0,"n"],[6956,0,"g"],[6957,0,"e"],[6958,0,"s"],[6959,0," "],[6960,0,"m"],[6961,0,"u"],[6962,0,"s"],[6963,0,"t"],[6964,0," "],[6965,0,"b"],[6966,0,"e"],[6967,0," "],[6968,0,"p"],[6969,0,"r"],[6970,0,"e"],[6971,0,"s"],[6972,0,"e"],[6973,0,"r"],[6974,0,"v"],[6975,0,"e"],[6976,0,"d"],[6977,0,":"],[6978,0," "],[6979,0,"`"],[6980,0,"`"],[6981,0,"b"],[6982,0,"l"],[6983,0,"u"],[6984,0,"e"],[6985,0,"'"],[6986,0,"'"],[6987,0," "],[6988,0,"m"],[6989,0,"u"],[6990,0,"s"],[6991,0,"t"],[6992,0," "],[6993,0,"b"],[6994,0,"e"],[6995,0," "],[6996,0,"a"],[6997,0,"b"],[6998,0,"s"],[6999,0,"e"],[7000,0,"n"],[7001,0,"t"],[7002,0," "],[7003,0,"f"],[7004,0,"r"],[7005,0,"o"],[7006,0,"m"],[7007,0," "],[7008,0,"t"],[7009,0,"h"],[7010,0,"e"],[7011,0," "],[7012,0,"f"],[7013,0,"i"],[7014,0,"n"],[7015,0,"a"],[7016,0,"l"],[7017,0," "],[7018,0,"m"],[7019,0,"a"],[7020,0,"p"],[7021,0,","],[7022,0," "],[7023,0,"s"],[7024,0,"i"],[7025,0,"n"],[7026,0,"c"],[7027,0,"e"],[7028,0," "],[7029,0,"i"],[7030,0,"t"],[7031,0," "],[7032,0,"w"],[7033,0,"a"],[7034,0,"s"],[7035,0," "],[7036,0,"r"],[7037,0,"e"],[7038,0,"m"],[7039,0,"o"],[7040,0,"v"],[7041,0,"e"],[7042,0,"d"],[7043,0," "],[7044,0,"b"],[7045,0,"y"],[7046,0," "],[7047,0,"b"],[7048,0,"l"],[7049,0,"a"],[7050,0,"n"],[7051,0,"k"],[7052,0,"i"],[7053,0,"n"],[7054,0,"g"],[7055,0," "],[7056,0,"o"],[7057,0,"u"],[7058,0,"t"],[7059,0," "],[7060,0,"t"],[7061,0,"h"],[7062,0,"e"],[7063,0," "],[7064,0,"m"],[7065,0,"a"],[7066,0,"p"],[7067,0,","],[7068,0," "],[7069,0,"w"],[7070,0,"h"],[7071,0,"i"],[7072,0,"l"],[7073,0,"e"],[7074,0," "],[7075,0,"`"],[7076,0,"`"],[7077,0,"r"],[7078,0,"e"],[7079,0,"d"],[7080,0,"`"],[7081,0,"`"],[7081,1],[7080,1],[7080,0,"'"],[7081,0,"'"],[7082,0," "],[7083,0,"a"],[7084,0,"n"],[7085,0,"d"],[7086,0," "],[7087,0,"`"],[7088,0,"`"],[7089,0,"g"],[7090,0,"r"],[7091,0,"e"],[7092,0,"e"],[7093,0,"n"],[7094,0,"'"],[7095,0,"'"],[7096,0," "],[7097,0,"m"],[7098,0,"u"],[7099,0,"s"],[7100,0,"t"],[7101,0," "],[7102,0,"b"],[7103,0,"e"],[7104,0," "],[7105,0,"p"],[7106,0,"r"],[7107,0,"e"],[7108,0,"s"],[7109,0,"e"],[7110,0,"n"],[7111,0,"t"],[7112,0,","],[7113,0," "],[7114,0,"s"],[7115,0,"i"],[7116,0,"n"],[7117,0,"c"],[7118,0,"e"],[7119,0," "],[7120,0,"t"],[7121,0,"h"],[7122,0,"e"],[7123,0,"y"],[7124,0," "],[7125,0,"w"],[7126,0,"e"],[7127,0,"r"],[7128,0,"e"],[7129,0," "],[7130,0,"e"],[7131,0,"x"],[7132,0,"p"],[7133,0,"l"],[7134,0,"i"],[7135,0,"c"],[7136,0,"i"],[7137,0,"t"],[7138,0,"l"],[7139,0,"y"],[7140,0," "],[7141,0,"a"],[7142,0,"d"],[7143,0,"d"],[7144,0,"e"],[7145,0,"d"],[7146,0,"."],[7147,0,"\n"],[7148,0,"\n"],[7149,0,"A"],[7150,0," "],[7151,0,"n"],[7152,0,"a"],[7153,0,"i"],[7154,0,"v"],[7155,0,"e"],[7156,0," "],[7157,0,"i"],[7158,0,"m"],[7159,0,"p"],[7160,0,"l"],[7161,0,"e"],[7162,0,"m"],[7163,0,"e"],[7164,0,"n"],[7165,0,"t"],[7166,0,"a"],[7167,0,"t"],[7168,0,"i"],[7169,0,"o"],[7170,0,"n"],[7171,0," "],[7171,1],[7170,1],[7169,1],[7168,1],[7167,1],[7166,1],[7165,1],[7164,1],[7163,1],[7162,1],[7161,1],[7160,1],[7159,1],[7158,1],[7157,1],[7156,1],[7155,1],[7154,1],[7153,1],[7152,1],[7151,1],[7150,1],[7149,1],[7148,1],[7147,1],[5345,1],[5344,1],[5343,1],[5342,1],[5341,1],[5340,1],[5339,1],[5319,0,"m"],[5320,0,"u"],[5321,0,"l"],[5322,0,"t"],[5323,0,"i"],[5324,0,"p"],[5325,0,"l"],[5326,0,"e"],[5327,0," "],[5328,0,"v"],[5329,0,"a"],[5330,0,"l"],[5331,0,"u"],[5332,0,"e"],[5333,0,"s"],[5334,0," "],[5335,0,"t"],[5336,0,"h"],[5337,0,"a"],[5338,0,"t"],[5339,0," "],[5340,0,"w"],[5341,0,"e"],[5342,0,"r"],[5343,0,"e"],[5344,0," "],[7167,0,"\n"],[7168,0,"\n"],[7168,0,"\\"],[7169,0,"b"],[7170,0,"e"],[7171,0,"g"],[7172,0,"i"],[7173,0,"n"],[7174,0,"{"],[7175,0,"f"],[7176,0,"i"],[7177,0,"g"],[7178,0,"u"],[7179,0,"r"],[7180,0,"e"],[7181,0,"*"],[7182,0,"}"],[7183,0,"\n"],[7184,0,"\\"],[7185,0,"c"],[7186,0,"e"],[7187,0,"n"],[7188,0,"t"],[7189,0,"e"],[7190,0,"r"],[7191,0,"i"],[7192,0,"n"],[7193,0,"g"],[7194,0,"\n"],[7195,0,"\\"],[7196,0,"b"],[7197,0,"e"],[7198,0,"g"],[7199,0,"i"],[7200,0,"n"],[7201,0,"{"],[7202,0,"t"],[7203,0,"i"],[7204,0,"k"],[7205,0,"z"],[7206,0,"p"],[7207,0,"i"],[7208,0,"c"],[7209,0,"t"],[7210,0,"u"],[7211,0,"r"],[7212,0,"e"],[7213,0,"}"],[7214,0,"["],[7215,0,"a"],[7216,0,"u"],[7217,0,"t"],[7218,0,"o"],[7219,0,"]"],[7220,0,"\n"],[7221,0,"\\"],[7222,0,"e"],[7223,0,"n"],[7224,0,"d"],[7225,0,"{"],[7226,0,"t"],[7227,0,"i"],[7228,0,"k"],[7229,0,"z"],[7230,0,"p"],[7231,0,"i"],[7232,0,"c"],[7233,0,"t"],[7234,0,"u"],[7235,0,"r"],[7236,0,"e"],[7237,0,"}"],[7238,0,"\n"],[7239,0,"\\"],[7240,0,"c"],[7241,0,"a"],[7242,0,"p"],[7243,0,"t"],[7244,0,"i"],[7245,0,"o"],[7246,0,"n"],[7247,0,"{"],[7248,0,"T"],[7249,0,"w"],[7250,0,"o"],[7251,0," "],[7252,0,"r"],[7253,0,"e"],[7254,0,"p"],[7255,0,"l"],[7256,0,"i"],[7257,0,"c"],[7258,0,"a"],[7259,0,"s"],[7260,0," "],[7261,0,"c"],[7262,0,"o"],[7263,0,"n"],[7264,0,"c"],[7265,0,"u"],[7266,0,"r"],[7267,0,"r"],[7268,0,"e"],[7269,0,"n"],[7270,0,"t"],[7271,0,"l"],[7272,0,"y"],[7273,0," "],[7274,0,"c"],[7275,0,"r"],[7276,0,"e"],[7277,0,"a"],[7278,0,"t"],[7279,0,"e"],[7280,0," "],[7281,0,"a"],[7282,0,"n"],[7283,0," "],[7283,1],[7282,1],[7281,1],[7281,0,"o"],[7282,0,"r"],[7283,0,"d"],[7284,0,"e"],[7285,0,"r"],[7286,0,"e"],[7287,0,"d"],[7288,0," "],[7289,0,"l"],[7290,0,"i"],[7291,0,"s"],[7292,0,"t"],[7293,0,"s"],[7294,0," "],[7295,0,"u"],[7296,0,"n"],[7297,0,"d"],[7298,0,"e"],[7299,0,"r"],[7300,0," "],[7301,0,"t"],[7302,0,"h"],[7303,0,"e"],[7304,0," "],[7305,0,"s"],[7306,0,"a"],[7307,0,"m"],[7308,0,"e"],[7309,0," "],[7310,0,"m"],[7311,0,"a"],[7312,0,"p"],[7313,0," "],[7314,0,"k"],[7315,0,"e"],[7316,0,"y"],[7317,0,"}"],[7318,0,"\\"],[7319,0,"l"],[7320,0,"a"],[7321,0,"b"],[7322,0,"e"],[7323,0,"l"],[7324,0,"{"],[7325,0,"f"],[7326,0,"i"],[7327,0,"g"],[7328,0,":"],[7329,0,"t"],[7330,0,"w"],[7331,0,"o"],[7332,0,"-"],[7333,0,"l"],[7334,0,"i"],[7335,0,"s"],[7336,0,"t"],[7337,0,"s"],[7338,0,"}"],[7339,0,"\n"],[7340,0,"\\"],[7341,0,"e"],[7342,0,"n"],[7343,0,"d"],[7344,0,"{"],[7345,0,"f"],[7346,0,"i"],[7347,0,"g"],[7348,0,"u"],[7349,0,"r"],[7350,0,"e"],[7351,0,"*"],[7352,0,"}"],[7220,0,"\n"],[7221,0,"\\"],[7222,0,"n"],[7223,0,"o"],[7224,0,"d"],[7225,0,"e"],[7226,0," "],[7227,0,"("],[7228,0,"s"],[7229,0,"t"],[7230,0,"a"],[7231,0,"r"],[7232,0,"t"],[7233,0,")"],[7234,0," "],[7235,0,"a"],[7236,0,"t"],[7237,0," "],[7238,0,"("],[7239,0,"4"],[7240,0,","],[7241,0,"4"],[7242,0,")"],[7243,0," "],[7244,0,"{"],[7245,0,"\\"],[7246,0,"v"],[7247,0,"e"],[7248,0,"r"],[7249,0,"b"],[7250,0,"|"],[7251,0,"{"],[7252,0,"}"],[7253,0,"|"],[7254,0,"}"],[7255,0,";"],[7256,0,"\n"],[7257,0,"\\"],[7258,0,"n"],[7259,0,"o"],[7260,0,"d"],[7261,0,"e"],[7262,0," "],[7263,0,"("],[7264,0,"l"],[7265,0,"e"],[7266,0,"f"],[7267,0,"t"],[7268,0,"1"],[7269,0,")"],[7270,0," "],[7271,0,"a"],[7272,0,"t"],[7273,0," "],[7274,0,"("],[7275,0,"0"],[7276,0,","],[7277,0,"3"],[7278,0,")"],[7279,0," "],[7280,0,"{"],[7281,0,"\\"],[7282,0,"v"],[7283,0,"e"],[7284,0,"r"],[7285,0,"b"],[7286,0,"|"],[7287,0,"{"],[7288,0,"\""],[7289,0,"f"],[7290,0,"o"],[7291,0,"o"],[7292,0,"d"],[7293,0,"\""],[7294,0,":"],[7295,0,"["],[7296,0,"]"],[7297,0,"}"],[7298,0,"\""],[7298,1],[7298,0,"|"],[7299,0,"}"],[7300,0,";"],[7301,0,"\n"],[7302,0,"\\"],[7303,0,"n"],[7304,0,"o"],[7305,0,"d"],[7306,0,"e"],[7307,0," "],[7308,0,"("],[7309,0,"r"],[7310,0,"i"],[7311,0,"g"],[7312,0,"h"],[7313,0,"t"],[7314,0,"1"],[7315,0,")"],[7271,0," "],[7235,0," "],[7318,0," "],[7319,0,"a"],[7320,0,"t"],[7321,0," "],[7322,0,"("],[7323,0,"8"],[7324,0,","],[7325,0,"3"],[7326,0,")"],[7327,0," "],[7328,0,"{"],[7329,0,"\\"],[7330,0,"v"],[7331,0,"e"],[7332,0,"r"],[7333,0,"b"],[7334,0,"|"],[7335,0,"{"],[7336,0,"\""],[7337,0,"f"],[7338,0,"o"],[7339,0,"o"],[7340,0,"d"],[7341,0,"\""],[7342,0,":"],[7343,0,"p"],[7343,1],[7343,0,"["],[7344,0,"]"],[7345,0,"}"],[7346,0,"|"],[7347,0,"}"],[7348,0,";"],[7349,0,"\n"],[7350,0,"\\"],[7351,0,"n"],[7352,0,"o"],[7353,0,"d"],[7354,0,"e"],[7355,0," "],[7356,0,"("],[7357,0,"l"],[7358,0,"e"],[7359,0,"f"],[7360,0,"t"],[7361,0,"2"],[7362,0,")"],[7363,0," "],[7364,0," "],[7365,0,"a"],[7366,0,"t"],[7367,0," "],[7368,0,"("],[7369,0,"0"],[7370,0,","],[7371,0,"2"],[7372,0,")"],[7373,0," "],[7374,0,"{"],[7375,0,"\\"],[7376,0,"v"],[7377,0,"e"],[7378,0,"r"],[7379,0,"b"],[7380,0,"|"],[7381,0,"{"],[7382,0,"\""],[7383,0,"f"],[7384,0,"o"],[7385,0,"o"],[7386,0,"d"],[7387,0,"\""],[7388,0,":"],[7389,0,"["],[7390,0,"\""],[7391,0,"e"],[7392,0,"g"],[7393,0,"g"],[7394,0,"s"],[7395,0,"\""],[7396,0,"]"],[7397,0,"}"],[7398,0,"|"],[7399,0,"}"],[7400,0,";"],[7401,0,"\n"],[7402,0,"\\"],[7403,0,"n"],[7404,0,"o"],[7405,0,"d"],[7406,0,"e"],[7407,0," "],[7408,0,"("],[7409,0,"l"],[7410,0,"e"],[7411,0,"f"],[7412,0,"t"],[7413,0,"3"],[7414,0,")"],[7415,0," "],[7416,0," "],[7417,0,"a"],[7418,0,"t"],[7419,0," "],[7420,0,"("],[7421,0,"0"],[7422,0,","],[7423,0,"1"],[7424,0,")"],[7425,0," "],[7426,0,"{"],[7427,0,"\\"],[7428,0,"v"],[7429,0,"e"],[7430,0,"r"],[7431,0,"b"],[7432,0,"|"],[7433,0,"{"],[7434,0,"\""],[7435,0,"f"],[7436,0,"o"],[7437,0,"o"],[7438,0,"d"],[7439,0,"\""],[7440,0,":"],[7441,0,"["],[7442,0,"\""],[7443,0,"e"],[7444,0,"g"],[7445,0,"g"],[7446,0,"s"],[7447,0,"\""],[7448,0,","],[7449,0,"\""],[7450,0,"m"],[7451,0,"i"],[7452,0,"l"],[7453,0,"k"],[7454,0,"\""],[7455,0,"]"],[7456,0,"}"],[7457,0,"|"],[7458,0,"}"],[7459,0,";"],[7291,1],[7291,1],[7291,1],[7291,1],[7291,0,"b"],[7292,0,"u"],[7293,0,"y"],[7339,1],[7338,1],[7337,1],[7336,1],[7336,0,"b"],[7337,0,"u"],[7338,0,"y"],[7384,1],[7383,1],[7382,1],[7381,1],[7381,0,"b"],[7382,0,"u"],[7383,0,"y"],[7435,1],[7434,1],[7433,1],[7432,1],[7432,0,"b"],[7433,0,"u"],[7434,0,"y"],[7456,0,"\n"],[7457,0,"\\"],[7458,0,"n"],[7459,0,"o"],[7460,0,"d"],[7461,0,"e"],[7462,0," "],[7463,0,"("],[7464,0,"r"],[7465,0,"i"],[7466,0,"g"],[7467,0,"h"],[7468,0,"t"],[7469,0,"2"],[7470,0,")"],[7471,0," "],[7472,0,"a"],[7473,0,"t"],[7474,0," "],[7475,0,"8"],[7476,0,","],[7477,0,"2"],[7478,0,")"],[7475,0,"("],[7480,0," "],[7481,0,"{"],[7482,0,"\\"],[7483,0,"v"],[7484,0,"e"],[7485,0,"r"],[7486,0,"b"],[7487,0,"|"],[7488,0,"{"],[7489,0,"\""],[7490,0,"b"],[7491,0,"u"],[7492,0,"y"],[7493,0,"\""],[7494,0,":"],[7495,0,"["],[7496,0,"\""],[7497,0,"h"],[7498,0,"a"],[7499,0,"m"],[7500,0,"\""],[7501,0,"]"],[7502,0,"}"],[7446,1],[7446,1],[7446,1],[7446,1],[7446,0,"h"],[7447,0,"a"],[7448,0,"m"],[7498,1],[7497,1],[7496,1],[7496,0,"m"],[7497,0,"i"],[7498,0,"l"],[7499,0,"k"],[7503,0,"|"],[7504,0,"}"],[7505,0,";"],[7506,0,"\n"],[7507,0,"\\"],[7508,0,"n"],[7509,0,"o"],[7510,0,"d"],[7511,0,"e"],[7512,0," "],[7513,0,"("],[7514,0,"r"],[7515,0,"i"],[7516,0,"g"],[7517,0,"h"],[7518,0,"t"],[7519,0,"3"],[7520,0,")"],[7521,0," "],[7522,0,"a"],[7523,0,"t"],[7524,0," "],[7525,0,"("],[7526,0,"8"],[7527,0,","],[7528,0,"1"],[7529,0,")"],[7530,0," "],[7531,0,"{"],[7532,0,"\\"],[7533,0,"v"],[7534,0,"e"],[7535,0,"r"],[7536,0,"b"],[7537,0,"|"],[7538,0,"{"],[7539,0,"\""],[7540,0,"b"],[7541,0,"u"],[7542,0,"y"],[7543,0,"\""],[7544,0,":"],[7545,0,"["],[7546,0,"\""],[7547,0,"m"],[7548,0,"i"],[7549,0,"l"],[7550,0,"k"],[7551,0,"\""],[7552,0,","],[7553,0,"\""],[7554,0,"f"],[7555,0,"l"],[7556,0,"o"],[7557,0,"u"],[7558,0,"r"],[7559,0,"\""],[7560,0,"]"],[7561,0,"}"],[7562,0,"|"],[7563,0,"}"],[7564,0,";"],[7565,0,"\n"],[7566,0,"\\"],[7567,0,"n"],[7568,0,"o"],[7569,0,"d"],[7570,0,"e"],[7571,0," "],[7572,0,"["],[7573,0,"m"],[7574,0,"a"],[7575,0,"t"],[7576,0,"r"],[7577,0,"x"],[7577,1],[7577,0,"i"],[7578,0,"x"],[7579,0,"]"],[7580,0," "],[7581,0,"("],[7582,0,"l"],[7583,0,"e"],[7584,0,"f"],[7585,0,"t"],[7586,0,"4"],[7587,0,")"],[7588,0," "],[7589,0,"a"],[7590,0,"t"],[7591,0," "],[7592,0,"("],[7593,0,"0"],[7594,0,","],[7595,0,"0"],[7596,0,")"],[7597,0," "],[7598,0,"{"],[7599,0,"\n"],[7600,0," "],[7601,0," "],[7602,0," "],[7603,0," "],[7604,0,"\\"],[7605,0,"n"],[7606,0,"o"],[7607,0,"d"],[7608,0,"e"],[7609,0," "],[7609,1],[7608,1],[7607,1],[7606,1],[7605,1],[7604,1],[7603,1],[7602,1],[7601,1],[7600,1],[7599,1],[7598,1],[7580,1],[7579,1],[7578,1],[7577,1],[7576,1],[7575,1],[7574,1],[7573,1],[7572,1],[7589,0," "],[7589,1],[7589,0,"{"],[7590,0,"\\"],[7591,0,"v"],[7592,0,"e"],[7593,0,"r"],[7594,0,"b"],[7595,0,"|"],[7596,0,"{"],[7597,0,"\""],[7598,0,"b"],[7599,0,"u"],[7600,0,"y"],[7601,0,"\""],[7602,0,":"],[7603,0,"["],[7604,0,"\""],[7605,0,"e"],[7606,0,"g"],[7607,0,"g"],[7608,0,"s"],[7609,0,"\""],[7610,0,","],[7611,0,"\""],[7612,0,"h"],[7613,0,"a"],[7614,0,"m"],[7615,0,"\""],[7616,0,","],[7617,0,"\""],[7618,0,"m"],[7619,0,"i"],[7620,0,"l"],[7621,0,"k"],[7622,0,"\""],[7623,0,","],[7624,0,"\""],[7625,0,"f"],[7626,0,"l"],[7627,0,"o"],[7628,0,"u"],[7629,0,"r"],[7630,0,"\""],[7631,0,"]"],[7632,0,"}"],[7633,0,"|"],[7634,0,"}"],[7635,0,";"],[7636,0,"\n"],[7637,0,"\\"],[7638,0,"n"],[7639,0,"o"],[7640,0,"d"],[7641,0,"e"],[7642,0," "],[7643,0,"("],[7644,0,"r"],[7645,0,"i"],[7646,0,"g"],[7647,0,"h"],[7648,0,"t"],[7649,0,"4"],[7650,0,")"],[7651,0," "],[7652,0,"a"],[7653,0,"t"],[7654,0," "],[7655,0,"("],[7656,0,"8"],[7657,0,","],[7658,0,"0"],[7659,0,")"],[7660,0," "],[7661,0,"{"],[7662,0,"\\"],[7663,0,"v"],[7664,0,"e"],[7665,0,"r"],[7666,0,"b"],[7667,0,"|"],[7668,0,"{"],[7669,0,"\""],[7670,0,"b"],[7671,0,"u"],[7672,0,"y"],[7673,0,"\""],[7674,0,":"],[7675,0,"["],[7676,0,"\""],[7677,0,"e"],[7678,0,"g"],[7679,0,"g"],[7680,0,"s"],[7681,0,"\""],[7682,0,","],[7683,0,"\""],[7684,0,"h"],[7685,0,"a"],[7686,0,"m"],[7687,0,"\""],[7688,0,","],[7689,0,"\""],[7690,0,"m"],[7691,0,"i"],[7692,0,"l"],[7693,0,"k"],[7694,0,"\""],[7695,0,","],[7696,0,"\""],[7697,0,"f"],[7698,0,"l"],[7699,0,"o"],[7700,0,"u"],[7701,0,"r"],[7702,0,"\""],[7703,0,"]"],[7704,0,"}"],[7705,0,"|"],[7706,0,"}"],[7707,0,";"],[7708,0,"\n"],[7709,0,"\\"],[7710,0,"d"],[7711,0,"r"],[7712,0,"a"],[7713,0,"w"],[7714,0," "],[7715,0,"["],[7716,0,"t"],[7717,0,"h"],[7718,0,"i"],[7719,0,"c"],[7720,0,"k"],[7721,0,","],[7722,0,"-"],[7723,0,">"],[7724,0,"]"],[7725,0," "],[7726,0,"("],[7727,0,"s"],[7728,0,"t"],[7729,0,"a"],[7730,0,"r"],[7731,0,"t"],[7732,0,")"],[7733,0," "],[7734,0,"t"],[7735,0,"o"],[7736,0," "],[7737,0,"n"],[7738,0,"o"],[7739,0,"d"],[7740,0,"e"],[7741,0," "],[7742,0,"["],[7743,0,"l"],[7744,0,"e"],[7745,0,"f"],[7746,0,"t"],[7747,0,","],[7748,0,"i"],[7749,0,"n"],[7750,0,"n"],[7751,0,"e"],[7752,0,"r"],[7753,0," "],[7754,0,"s"],[7755,0,"e"],[7756,0,"p"],[7757,0,"="],[7758,0,"1"],[7759,0,"2"],[7760,0,"p"],[7761,0,"t"],[7762,0,"]"],[7763,0," "],[7764,0,"{"],[7765,0,"\\"],[7766,0,"f"],[7767,0,"o"],[7768,0,"o"],[7769,0,"t"],[7770,0,"n"],[7771,0,"o"],[7772,0,"t"],[7773,0,"e"],[7774,0,"s"],[7775,0,"i"],[7776,0,"z"],[7777,0,"e"],[7778,0," "],[7779,0,"d"],[7780,0,"o"],[7781,0,"c"],[7782,0,"["],[7783,0,"`"],[7784,0,"`"],[7785,0,"b"],[7786,0,"u"],[7787,0,"y"],[7788,0,"'"],[7789,0,"'"],[7790,0,"]"],[7791,0," "],[7792,0,":"],[7793,0,"="],[7794,0," "],[7795,0,"["],[7796,0,"]"],[7797,0,";"],[7798,0,"}"],[7799,0," "],[7800,0,"("],[7801,0,"l"],[7802,0,"e"],[7803,0,"f"],[7804,0,"t"],[7805,0,"1"],[7806,0,")"],[7807,0,";"],[7808,0,"\n"],[7809,0,"\\"],[7810,0,"d"],[7811,0,"r"],[7812,0,"a"],[7813,0,"w"],[7814,0," "],[7815,0,"["],[7816,0,"t"],[7817,0,"h"],[7818,0,"i"],[7819,0,"c"],[7820,0,"k"],[7821,0,","],[7822,0,"-"],[7823,0,">"],[7824,0,"]"],[7825,0," "],[7826,0,"("],[7827,0,"s"],[7828,0,"t"],[7829,0,"a"],[7830,0,"r"],[7831,0,"t"],[7832,0,")"],[7833,0," "],[7834,0,"t"],[7835,0,"o"],[7836,0," "],[7837,0,"n"],[7838,0,"o"],[7839,0,"d"],[7840,0,"e"],[7841,0," "],[7842,0,"["],[7843,0,"r"],[7844,0,"i"],[7845,0,"g"],[7846,0,"h"],[7847,0,"t"],[7848,0,","],[7849,0," "],[7849,1],[7849,0,"i"],[7850,0,"n"],[7851,0,"n"],[7852,0,"e"],[7853,0,"r"],[7854,0," "],[7855,0,"s"],[7856,0,"e"],[7857,0,"p"],[7858,0,"="],[7859,0,"1"],[7860,0,"2"],[7861,0,"p"],[7862,0,"t"],[7863,0,"]"],[7864,0," "],[7865,0,"{"],[7866,0,"\\"],[7867,0,"f"],[7868,0,"o"],[7869,0,"o"],[7870,0,"t"],[7871,0,"n"],[7872,0,"o"],[7873,0,"t"],[7874,0,"e"],[7875,0,"s"],[7876,0,"i"],[7877,0,"z"],[7878,0,"e"],[7879,0," "],[7880,0,"d"],[7881,0,"o"],[7882,0,"c"],[7883,0,"["],[7884,0,"`"],[7885,0,"`"],[7886,0,"b"],[7887,0,"u"],[7888,0,"y"],[7889,0,"'"],[7890,0,"'"],[7891,0,"]"],[7892,0," "],[7893,0,":"],[7894,0,"="],[7895,0," "],[7896,0,"["],[7897,0,"]"],[7898,0,";"],[7899,0,"}"],[7900,0," "],[7901,0,"("],[7902,0,"r"],[7903,0,"i"],[7904,0,"g"],[7905,0,"h"],[7906,0,"t"],[7907,0,"1"],[7908,0,")"],[7909,0,";"],[7855,0,"x"],[7754,0,"x"],[6174,0,"x"],[6051,0,"x"],[7762,1],[7762,0,"8"],[7864,1],[7864,0,"8"],[7914,0,"\n"],[7915,0,"\\"],[7916,0,"d"],[7917,0,"r"],[7918,0,"a"],[7919,0,"w"],[7920,0," "],[7921,0,"["],[7922,0,"t"],[7923,0,"h"],[7924,0,"i"],[7925,0,"c"],[7926,0,"k"],[7927,0,","],[7928,0,"-"],[7929,0,">"],[7930,0," "],[7930,1],[7930,0,"]"],[7931,0," "],[7932,0,"("],[7933,0,"l"],[7934,0,"e"],[7935,0,"f"],[7936,0,"t"],[7937,0,"1"],[7938,0,")"],[7939,0," "],[7940,0,"t"],[7941,0,"o"],[7942,0," "],[7943,0,"n"],[7944,0,"o"],[7945,0,"d"],[7946,0,"e"],[7947,0," "],[7948,0,"["],[7949,0,"l"],[7950,0,"e"],[7951,0,"f"],[7952,0,"t"],[7953,0,"]"],[7954,0," "],[7955,0,"{"],[7956,0,"\\"],[7957,0,"f"],[7958,0,"o"],[7959,0,"o"],[7960,0,"t"],[7961,0,"n"],[7962,0,"o"],[7963,0,"t"],[7964,0,"e"],[7965,0,"s"],[7966,0,"i"],[7967,0,"z"],[7968,0,"e"],[7969,0," "],[7970,0,"d"],[7971,0,"o"],[7972,0,"c"],[7973,0,"["],[7974,0,"`"],[7975,0,"`"],[7976,0,"b"],[7977,0,"u"],[7978,0,"y"],[7979,0,"'"],[7980,0,"'"],[7981,0,"]"],[7982,0,"."],[7983,0,"i"],[7984,0,"t"],[7985,0,"e"],[7986,0,"r"],[7987,0,"."],[7988,0,"i"],[7989,0,"n"],[7990,0,"s"],[7991,0,"e"],[7992,0,"r"],[7993,0,"t"],[7994,0,"("],[7995,0,"`"],[7996,0,"`"],[7997,0,"e"],[7998,0,"g"],[7999,0,"g"],[8000,0,"s"],[8001,0,"'"],[8002,0,"'"],[8003,0,")"],[8004,0,";"],[8005,0,"}"],[8006,0," "],[8007,0,"("],[8008,0,"l"],[8009,0,"e"],[8010,0,"f"],[8011,0,"t"],[8012,0,"2"],[8013,0,")"],[8014,0,";"],[8015,0,"\n"],[8016,0,"\\"],[8017,0,"d"],[8018,0,"r"],[8019,0,"a"],[8020,0,"w"],[8021,0," "],[8022,0,"["],[8023,0,"t"],[8024,0,"h"],[8025,0,"i"],[8026,0,"c"],[8027,0,"k"],[8028,0,","],[8029,0,"-"],[8030,0,">"],[8031,0,"]"],[8032,0," "],[8033,0,"("],[8034,0,"r"],[8035,0,"i"],[8036,0,"g"],[8037,0,"h"],[8038,0,"t"],[8039,0,"1"],[8040,0,")"],[8041,0," "],[8042,0,"t"],[8043,0,"o"],[8044,0," "],[8045,0,"n"],[8046,0,"o"],[8047,0,"d"],[8048,0,"e"],[8049,0," "],[8050,0,"["],[8051,0,"r"],[8052,0,"i"],[8053,0,"g"],[8054,0,"h"],[8055,0,"t"],[8056,0,"]"],[8057,0," "],[8058,0,"{"],[8059,0,"\\"],[8060,0,"f"],[8061,0,"o"],[8062,0,"o"],[8063,0,"t"],[8064,0,"n"],[8065,0,"o"],[8066,0,"t"],[8067,0,"e"],[8068,0,"s"],[8069,0,"i"],[8070,0,"z"],[8071,0,"e"],[8072,0," "],[8073,0,"d"],[8074,0,"o"],[8075,0,"c"],[8076,0,"["],[8077,0,"`"],[8078,0,"`"],[8079,0,"b"],[8080,0,"u"],[8081,0,"y"],[8082,0,"'"],[8083,0,"'"],[8084,0,"]"],[8085,0,"."],[8086,0,"i"],[8087,0,"t"],[8088,0,"e"],[8089,0,"r"],[8090,0,"."],[8091,0,"i"],[8092,0,"n"],[8093,0,"s"],[8094,0,"e"],[8095,0,"r"],[8096,0,"t"],[8097,0,"("],[8098,0,"`"],[8099,0,"`"],[8100,0,"m"],[8101,0,"i"],[8102,0,"l"],[8103,0,"k"],[8104,0,"'"],[8105,0,"'"],[8106,0,")"],[8107,0,";"],[8108,0,"}"],[8109,0," "],[8110,0,"("],[8111,0,"r"],[8112,0,"i"],[8113,0,"g"],[8114,0,"h"],[8115,0,"t"],[8116,0,"2"],[8117,0,")"],[8118,0,";"],[8119,0,"\n"],[8120,0,"\\"],[8121,0,"d"],[8122,0,"r"],[8123,0,"a"],[8124,0,"w"],[8125,0," "],[8126,0,"["],[8127,0,"t"],[8128,0,"h"],[8129,0,"i"],[8130,0,"c"],[8131,0,"k"],[8132,0,","],[8133,0,"-"],[8134,0,">"],[8135,0,"]"],[8136,0," "],[8137,0,"("],[8138,0,"l"],[8139,0,"e"],[8140,0,"f"],[8141,0,"t"],[8142,0,"2"],[8143,0,")"],[8144,0," "],[8145,0,"t"],[8146,0,"o"],[8147,0," "],[8148,0,"n"],[8149,0,"o"],[8150,0,"d"],[8151,0,"e"],[8152,0," "],[8153,0,"["],[8154,0,"l"],[8155,0,"e"],[8156,0,"f"],[8157,0,"t"],[8158,0,"]"],[8159,0," "],[8160,0,"{"],[8161,0,"\\"],[8162,0,"f"],[8163,0,"o"],[8164,0,"o"],[8165,0,"t"],[8166,0,"n"],[8167,0,"o"],[8168,0,"t"],[8169,0,"e"],[8170,0,"s"],[8171,0,"i"],[8172,0,"z"],[8173,0,"e"],[8174,0," "],[8175,0,"e"],[8176,0,"g"],[8177,0,"g"],[8178,0,"s"],[8179,0,"."],[8180,0,"i"],[8181,0,"n"],[8182,0,"s"],[8183,0,"e"],[8184,0,"r"],[8185,0,"t"],[8186,0,"("],[8187,0,"`"],[8188,0,"`"],[8189,0,"h"],[8190,0,"a"],[8191,0,"m"],[8192,0,"'"],[8193,0,"'"],[8194,0,")"],[8195,0,";"],[8196,0,"}"],[8197,0," "],[8198,0,"("],[8199,0,"l"],[8200,0,"e"],[8201,0,"f"],[8202,0,"t"],[8203,0,"3"],[8204,0,")"],[8205,0,";"],[8206,0,"\n"],[8207,0,"\\"],[8208,0,"d"],[8209,0,"r"],[8210,0,"a"],[8211,0,"w"],[8212,0," "],[8213,0,"["],[8214,0,"t"],[8215,0,"h"],[8216,0,"i"],[8217,0,"c"],[8218,0,"k"],[8219,0,","],[8220,0,"-"],[8221,0,">"],[8222,0,"]"],[8223,0," "],[8224,0,"("],[8225,0,"r"],[8226,0,"i"],[8227,0,"g"],[8228,0,"h"],[8229,0,"t"],[8230,0,"2"],[8231,0,")"],[8232,0," "],[8233,0,"t"],[8234,0,"o"],[8235,0," "],[8236,0,"n"],[8237,0,"o"],[8238,0,"d"],[8239,0,"e"],[8240,0," "],[8241,0,"["],[8242,0,"r"],[8243,0,"i"],[8244,0,"g"],[8245,0,"h"],[8246,0,"t"],[8247,0,"]"],[8248,0," "],[8249,0,"{"],[8250,0,"\\"],[8251,0,"f"],[8252,0,"o"],[8253,0,"o"],[8254,0,"t"],[8255,0,"n"],[8256,0,"o"],[8257,0,"t"],[8258,0,"e"],[8259,0,"s"],[8260,0,"i"],[8261,0,"z"],[8262,0,"e"],[8263,0," "],[8264,0,"m"],[8265,0,"i"],[8266,0,"l"],[8267,0,"k"],[8268,0,"."],[8269,0,"i"],[8270,0,"n"],[8271,0,"s"],[8272,0,"e"],[8273,0,"r"],[8274,0,"t"],[8275,0,"("],[8276,0,"`"],[8277,0,"`"],[8278,0,"f"],[8279,0,"l"],[8280,0,"o"],[8281,0,"u"],[8282,0,"r"],[8283,0,"'"],[8284,0,"'"],[8285,0,")"],[8286,0,";"],[8287,0,"}"],[8288,0," "],[8289,0,"("],[8290,0,"r"],[8291,0,"i"],[8292,0,"g"],[8293,0,"h"],[8294,0,"t"],[8295,0,"3"],[8296,0,")"],[8297,0,";"],[8298,0,"\n"],[8299,0,"\\"],[8300,0,"d"],[8301,0,"r"],[8302,0,"a"],[8303,0,"w"],[8304,0," "],[8305,0,"["],[8306,0,"t"],[8307,0,"h"],[8308,0,"i"],[8309,0,"c"],[8310,0,"k"],[8311,0,","],[8312,0,"-"],[8313,0,">"],[8314,0,"]"],[8315,0," "],[8316,0,"("],[8317,0,"l"],[8318,0,"e"],[8319,0,"f"],[8320,0,"t"],[8321,0,"3"],[8322,0,")"],[8323,0," "],[8324,0,"t"],[8325,0,"o"],[8326,0," "],[8327,0,"n"],[8328,0,"o"],[8329,0,"d"],[8330,0,"e"],[8331,0," "],[8332,0,"["],[8333,0,"l"],[8334,0,"e"],[8335,0,"f"],[8336,0,"t"],[8337,0,"]"],[8338,0," "],[8339,0,"{"],[8340,0,"\\"],[8341,0,"f"],[8342,0,"o"],[8343,0,"o"],[8344,0,"t"],[8345,0,"n"],[8346,0,"o"],[8347,0,"t"],[8348,0,"e"],[8349,0,"s"],[8350,0,"i"],[8351,0,"z"],[8352,0,"e"],[8353,0," "],[8354,0,"y"],[8355,0,"i"],[8356,0,"e"],[8357,0,"l"],[8358,0,"d"],[8359,0,";"],[8360,0,"]"],[8360,1],[8360,0,"}"],[8361,0," "],[8362,0,"("],[8363,0,"l"],[8364,0,"e"],[8365,0,"f"],[8366,0,"t"],[8367,0,"5"],[8367,1],[8367,0,"4"],[8368,0,")"],[8369,0,";"],[8370,0,"\n"],[8371,0,"\\"],[8372,0,"d"],[8373,0,"r"],[8374,0,"a"],[8375,0,"w"],[8376,0," "],[8377,0,"["],[8378,0,"t"],[8379,0,"h"],[8380,0,"i"],[8381,0,"c"],[8382,0,"k"],[8383,0,","],[8384,0,"-"],[8385,0,">"],[8386,0,"]"],[8387,0," "],[8388,0,"("],[8389,0,"r"],[8390,0,"i"],[8391,0,"g"],[8392,0,"h"],[8393,0,"t"],[8394,0,"3"],[8395,0,")"],[8396,0," "],[8397,0,"t"],[8398,0,"o"],[8399,0," "],[8400,0,"n"],[8401,0,"o"],[8402,0,"d"],[8403,0,"e"],[8404,0," "],[8405,0,"["],[8406,0,"r"],[8407,0,"i"],[8408,0,"g"],[8409,0,"h"],[8410,0,"t"],[8411,0,"]"],[8412,0," "],[8413,0,"{"],[8414,0,"\\"],[8415,0,"f"],[8416,0,"o"],[8417,0,"o"],[8418,0,"t"],[8419,0,"n"],[8420,0,"o"],[8421,0,"t"],[8422,0,"e"],[8423,0,"s"],[8424,0,"i"],[8425,0,"z"],[8426,0,"e"],[8427,0," "],[8428,0,"y"],[8429,0,"i"],[8430,0,"e"],[8431,0,"l"],[8432,0,"d"],[8433,0,";"],[8434,0,"}"],[8435,0," "],[8436,0,"("],[8437,0,"r"],[8438,0,"i"],[8439,0,"g"],[8440,0,"h"],[8441,0,"t"],[8442,0,"4"],[8443,0,")"],[8444,0,";"],[8445,0,"\n"],[8446,0,"\\"],[8447,0,"d"],[8448,0,"r"],[8449,0,"a"],[8450,0,"w"],[8451,0," "],[8452,0,"["],[8453,0,"t"],[8454,0,"h"],[8455,0,"i"],[8456,0,"c"],[8457,0,"k"],[8458,0,","],[8459,0,"-"],[8460,0,">"],[8461,0,"]"],[8462,0," "],[8463,0,"("],[8464,0,"l"],[8465,0,"e"],[8466,0,"f"],[8467,0,"t"],[8468,0,"3"],[8469,0,")"],[8470,0," "],[8471,0,"t"],[8472,0,"o"],[8473,0," "],[8474,0,"("],[8475,0,"r"],[8476,0,"i"],[8477,0,"g"],[8478,0,"h"],[8479,0,"t"],[8480,0,"5"],[8480,1],[8480,0,"4"],[8481,0,")"],[8482,0,";"],[8483,0,"\n"],[8484,0,"\\"],[8485,0,"d"],[8486,0,"r"],[8487,0,"a"],[8488,0,"w"],[8489,0," "],[8490,0,"["],[8491,0,"t"],[8492,0,"h"],[8493,0,"i"],[8494,0,"c"],[8495,0,"k"],[8496,0,","],[8497,0,"-"],[8498,0,">"],[8499,0," "],[8499,1],[8499,0,"]"],[8500,0," "],[8501,0,"("],[8502,0,"r"],[8503,0,"i"],[8504,0,"g"],[8505,0,"h"],[8506,0,"t"],[8507,0,"3"],[8508,0," "],[8508,1],[8508,0,")"],[8509,0," "],[8510,0,"t"],[8511,0,"o"],[8512,0," "],[8513,0,"("],[8514,0,"l"],[8515,0,"e"],[8516,0,"f"],[8517,0,"t"],[8518,0,"3"],[8519,0,"4"],[8519,1],[8518,1],[8518,0,"4"],[8519,0,")"],[8520,0,";"],[7582,0," "],[7737,0," "],[7839,0," "],[7943,0," "],[8149,0," "],[8329,0," "],[8477,0," "],[8345,0," "],[8165,0," "],[7959,0," "],[7752,0," "],[7531,0,"."],[7532,0,"5"],[7592,0,"."],[7593,0,"0"],[7666,0,"."],[7667,0,"0"],[7479,1],[7479,0,"3"],[7480,0,"."],[7481,0,"0"],[7423,0,"."],[7424,0,"5"],[7371,1],[7371,0,"3"],[7372,0,"."],[7373,0,"0"],[7326,1],[7326,0,"4"],[7327,0,"."],[7328,0,"5"],[7281,1],[7281,0,"4"],[7282,0,"."],[7283,0,"5"],[7244,1],[7244,0,"6"],[7245,0,"."],[7246,0,"0"],[6520,0," "],[6373,0," "],[6154,0," "],[6031,0," "],[6046,0," "],[6392,0," "],[8689,0,"\n"],[8690,0,"\n"],[8691,0,"\\"],[8692,0,"b"],[8693,0,"e"],[8694,0,"g"],[8695,0,"i"],[8696,0,"n"],[8697,0,"{"],[8698,0,"f"],[8699,0,"i"],[8700,0,"g"],[8701,0,"u"],[8702,0,"r"],[8703,0,"e"],[8704,0,"*"],[8705,0,"}"],[8706,0,"\n"],[8707,0,"\\"],[8708,0,"e"],[8709,0,"n"],[8710,0,"d"],[8711,0,"{"],[8712,0,"f"],[8713,0,"i"],[8714,0,"g"],[8715,0,"u"],[8716,0,"r"],[8717,0,"e"],[8718,0,"*"],[8719,0,"]"],[8719,1],[8719,0,"}"],[8706,0,"\n"],[8707,0,"\\"],[8708,0,"c"],[8709,0,"e"],[8710,0,"n"],[8711,0,"t"],[8712,0,"e"],[8713,0,"r"],[8714,0,"i"],[8715,0,"n"],[8716,0,"g"],[8717,0,"\n"],[8718,0,"\\"],[8719,0,"b"],[8720,0,"e"],[8721,0,"g"],[8722,0,"i"],[8723,0,"n"],[8724,0,"{"],[8725,0,"t"],[8726,0,"i"],[8727,0,"k"],[8728,0,"z"],[8729,0,"p"],[8730,0,"i"],[8731,0,"c"],[8732,0,"t"],[8733,0,"u"],[8734,0,"r"],[8735,0,"e"],[8736,0,"}"],[8737,0,"["],[8738,0,"a"],[8739,0,"u"],[8740,0,"t"],[8741,0,"o"],[8742,0,"]"],[8743,0,"\n"],[8744,0,"\\"],[8745,0,"e"],[8746,0,"n"],[8747,0,"d"],[8748,0,"{"],[8749,0,"t"],[8750,0,"i"],[8751,0,"k"],[8752,0,"z"],[8753,0,"p"],[8754,0,"i"],[8755,0,"c"],[8756,0,"t"],[8757,0,"u"],[8758,0,"r"],[8759,0,"e"],[8760,0,"}"],[8761,0,"\n"],[8762,0,"\\"],[8763,0,"c"],[8764,0,"a"],[8765,0,"p"],[8766,0,"t"],[8767,0,"u"],[8767,1],[8767,0,"i"],[8768,0,"o"],[8769,0,"n"],[8770,0,"{"],[8771,0,"O"],[8772,0,"n"],[8773,0,"e"],[8774,0," "],[8775,0,"r"],[8776,0,"e"],[8777,0,"p"],[8778,0,"l"],[8779,0,"i"],[8780,0,"c"],[8781,0,"a"],[8782,0," "],[8783,0,"r"],[8784,0,"e"],[8785,0,"m"],[8786,0,"o"],[8787,0,"v"],[8788,0,"e"],[8789,0,"s"],[8790,0," "],[8791,0,"a"],[8792,0," "],[8793,0,"l"],[8794,0,"i"],[8795,0,"s"],[8796,0,"t"],[8797,0," "],[8798,0,"e"],[8799,0,"l"],[8800,0,"e"],[8801,0,"m"],[8802,0,"e"],[8803,0,"n"],[8804,0,"t"],[8805,0,","],[8806,0," "],[8807,0,"w"],[8808,0,"h"],[8809,0,"i"],[8810,0,"l"],[8811,0,"e"],[8812,0," "],[8813,0,"a"],[8814,0,"n"],[8815,0,"o"],[8816,0,"t"],[8817,0,"h"],[8818,0,"e"],[8819,0,"r"],[8820,0," "],[8821,0,"c"],[8822,0,"o"],[8823,0,"n"],[8824,0,"c"],[8825,0,"u"],[8826,0,"r"],[8827,0,"r"],[8828,0,"e"],[8829,0,"n"],[8830,0,"t"],[8831,0,"l"],[8832,0,"y"],[8833,0," "],[8834,0,"u"],[8835,0,"p"],[8836,0,"d"],[8837,0,"a"],[8838,0,"t"],[8839,0,"e"],[8840,0,"s"],[8841,0," "],[8842,0,"i"],[8843,0,"t"],[8844,0,"s"],[8845,0," "],[8846,0,"c"],[8847,0,"o"],[8848,0,"n"],[8849,0,"t"],[8850,0,"e"],[8851,0,"n"],[8852,0,"t"],[8853,0,"s"],[8854,0,"}"],[8855,0,"\\"],[8856,0,"l"],[8857,0,"a"],[8858,0,"b"],[8859,0,"e"],[8860,0,"l"],[8861,0,"{"],[8862,0,"f"],[8863,0,"i"],[8864,0,"g"],[8865,0,":"],[8866,0,"t"],[8867,0,"o"],[8868,0,"d"],[8869,0,"o"],[8870,0,"-"],[8871,0,"i"],[8872,0,"t"],[8873,0,"e"],[8874,0,"m"],[8875,0,"}"],[8743,0,"\n"],[8744,0,"\\"],[8745,0,"n"],[8746,0,"o"],[8747,0,"d"],[8748,0,"e"],[8749,0," "],[8750,0,"("],[8751,0,"s"],[8752,0,"t"],[8753,0,"a"],[8754,0,"r"],[8755,0,"t"],[8756,0,")"],[8757,0," "],[8758,0," "],[8759,0,"a"],[8760,0,"t"],[8761,0," "],[8762,0,"("],[8763,0,"4"],[8764,0,","],[8765,0,"5"],[8766,0,")"],[8767,0," "],[8768,0,"{"],[8769,0,"\\"],[8770,0,"v"],[8771,0,"e"],[8772,0,"r"],[8773,0,"b"],[8774,0,"|"],[8775,0,"|"],[8776,0,"}"],[8777,0,";"],[8775,0,"{"],[8776,0,"\""],[8777,0,"t"],[8778,0,"o"],[8779,0,"d"],[8780,0,"o"],[8781,0,"\""],[8782,0,":"],[8783,0,"["],[8784,0,"{"],[8785,0,"\""],[8786,0,"t"],[8787,0,"e"],[8788,0,"x"],[8789,0,"t"],[8789,1],[8788,1],[8787,1],[8787,0,"i"],[8788,0,"t"],[8789,0,"l"],[8790,0,"e"],[8791,0,"\""],[8792,0,":"],[8793,0,"\""],[8794,0,"b"],[8795,0,"u"],[8796,0,"y"],[8797,0," "],[8798,0,"m"],[8799,0,"i"],[8800,0,"l"],[8801,0,"k"],[8802,0,"\""],[8803,0,","],[8804,0," "],[8805,0,"\""],[8806,0,"d"],[8807,0,"o"],[8808,0,"n"],[8809,0,"e"],[8810,0,":"],[8810,1],[8810,0,"\""],[8811,0,":"],[8812,0," "],[8813,0,"f"],[8814,0,"a"],[8815,0,"l"],[8816,0,"s"],[8817,0,"e"],[8818,0,"}"],[8819,0,"]"],[8820,0,"}"],[8793,0," "],[8783,0," "],[8765,1],[8765,0,"4"],[8826,0,"\n"],[8827,0,"\\"],[8828,0,"n"],[8829,0,"o"],[8830,0,"d"],[8831,0,"e"],[8832,0," "],[8833,0,"("],[8834,0,"l"],[8835,0,"e"],[8836,0,"f"],[8837,0,"t"],[8838,0,"1"],[8839,0,")"],[8840,0," "],[8841,0," "],[8842,0,"a"],[8843,0,"t"],[8844,0," "],[8845,0,"("],[8846,0,"0"],[8847,0,","],[8848,0,"2"],[8849,0,")"],[8850,0," "],[8851,0,"{"],[8852,0,"\\"],[8853,0,"v"],[8854,0,"e"],[8855,0,"r"],[8856,0,"b"],[8857,0,"|"],[8858,0,"{"],[8859,0,"\""],[8860,0,"t"],[8861,0,"o"],[8862,0,"d"],[8863,0,"o"],[8864,0,"\""],[8865,0,":"],[8866,0," "],[8867,0,"["],[8868,0,"]"],[8869,0,"}"],[8870,0,"|"],[8871,0,"}"],[8872,0,";"],[8873,0,"\n"],[8874,0,"\\"],[8875,0,"n"],[8876,0,"o"],[8877,0,"d"],[8878,0,"e"],[8879,0," "],[8880,0,"("],[8881,0,"r"],[8882,0,"i"],[8883,0,"g"],[8884,0,"h"],[8885,0,"t"],[8886,0,"1"],[8887,0,")"],[8888,0," "],[8889,0,"a"],[8890,0,"t"],[8891,0," "],[8892,0,"("],[8893,0,"8"],[8894,0,","],[8895,0,"2"],[8896,0,")"],[8897,0," "],[8898,0,"{"],[8899,0,"\\"],[8900,0,"v"],[8901,0,"e"],[8902,0,"r"],[8903,0,"b"],[8904,0,"|"],[8905,0,"{"],[8906,0,"\""],[8907,0,"t"],[8908,0,"o"],[8909,0,"d"],[8910,0,"o"],[8911,0,"\""],[8912,0,":"],[8913,0," "],[8914,0,"["],[8915,0,"{"],[8916,0,"\""],[8917,0,"t"],[8918,0,"i"],[8919,0,"t"],[8920,0,"l"],[8921,0,"e"],[8922,0,"\""],[8923,0,":"],[8924,0," "],[8925,0,"\""],[8926,0,"b"],[8927,0,"u"],[8928,0,"y"],[8929,0," "],[8930,0,"m"],[8931,0,"i"],[8932,0,"l"],[8933,0,"k"],[8934,0,"\""],[8935,0,","],[8936,0," "],[8937,0,"\""],[8938,0,"d"],[8939,0,"o"],[8940,0,"n"],[8941,0,"e"],[8942,0,"\""],[8943,0,":"],[8944,0," "],[8945,0,"t"],[8946,0,"r"],[8947,0,"u"],[8948,0,"e"],[8949,0,"}"],[8950,0,"]"],[8951,0,"}"],[8952,0,"|"],[8953,0,"}"],[8954,0,";"],[8955,0,"\n"],[8956,0,"\\"],[8957,0,"n"],[8958,0,"o"],[8959,0,"d"],[8960,0,"e"],[8961,0," "],[8962,0,"("],[8963,0,"l"],[8964,0,"e"],[8965,0,"f"],[8966,0,"t"],[8967,0,"2"],[8968,0,")"],[8969,0," "],[8970,0," "],[8971,0,"a"],[8972,0,"t"],[8973,0," "],[8974,0,"("],[8975,0,"0"],[8976,0,","],[8977,0,"0"],[8978,0,")"],[8979,0," "],[8980,0,"{"],[8981,0,"\\"],[8982,0,"v"],[8983,0,"e"],[8984,0,"r"],[8985,0,"b"],[8986,0,"|"],[8987,0,"["],[8988,0,"\""],[8988,1],[8987,1],[8987,0,"{"],[8988,0,"\""],[8989,0,"t"],[8990,0,"o"],[8991,0,"d"],[8992,0,"o"],[8993,0,"\""],[8994,0,":"],[8995,0," "],[8996,0,"["],[8997,0,"{"],[8998,0,"\""],[8999,0,"d"],[9000,0,"o"],[9001,0,"n"],[9002,0,"e"],[9003,0,"\""],[9004,0,":"],[9005,0," "],[9006,0,"t"],[9007,0,"r"],[9008,0,"u"],[9009,0,"e"],[9010,0,"}"],[9011,0,"]"],[9012,0,"}"],[9013,0,"|"],[9014,0,"}"],[9015,0,";"],[9016,0,"\n"],[9017,0,"\\"],[9018,0,"n"],[9019,0,"o"],[9020,0,"d"],[9021,0,"e"],[9022,0," "],[9023,0,"("],[9024,0,"r"],[9025,0,"i"],[9026,0,"g"],[9027,0,"h"],[9028,0,"t"],[9029,0,"2"],[9030,0,")"],[9031,0," "],[9032,0,"a"],[9033,0,"t"],[9034,0," "],[9035,0,"("],[9036,0,"8"],[9037,0,","],[9038,0,"0"],[9039,0,")"],[9040,0," "],[9041,0,"{"],[9042,0,"\\"],[9043,0,"v"],[9044,0,"e"],[9045,0,"r"],[9046,0,"b"],[9047,0,"|"],[9048,0,"{"],[9049,0,"\""],[9050,0,"t"],[9051,0,"o"],[9052,0,"d"],[9053,0,"o"],[9054,0,"\""],[9055,0,":"],[9056,0," "],[9057,0,"["],[9058,0,"\""],[9058,1],[9058,0,"{"],[9059,0,"\""],[9060,0,"d"],[9061,0,"o"],[9062,0,"n"],[9063,0,"e"],[9064,0,"\""],[9065,0,":"],[9066,0," "],[9067,0,"t"],[9068,0,"r"],[9069,0,"u"],[9070,0,"e"],[9071,0,"}"],[9072,0,"]"],[9073,0,"}"],[9074,0,"|"],[9075,0,"}"],[9076,0,";"],[8895,1],[8895,0,"1"],[8896,0,"."],[8897,0,"5"],[8848,1],[8848,0,"1"],[8849,0,"."],[8850,0,"5"],[8765,1],[8765,0,"3"],[8766,0,"."],[8767,0,"0"],[8984,0,"."],[8985,0,"0"],[9047,0,"."],[9048,0,"0"],[9087,0,"\n"],[9088,0,"\\"],[9089,0,"d"],[9090,0,"r"],[9091,0,"a"],[9092,0,"w"],[9093,0," "],[9094,0,"["],[9095,0,"t"],[9096,0,"h"],[9097,0,"i"],[9098,0,"c"],[9099,0,"k"],[9100,0,","],[9101,0,"-"],[9102,0,">"],[9103,0,"]"],[9104,0," "],[9105,0,"("],[9106,0,"s"],[9107,0,"t"],[9108,0,"a"],[9109,0,"r"],[9110,0,"t"],[9111,0,")"],[9112,0," "],[9113,0," "],[9114,0,"t"],[9115,0,"o"],[9116,0," "],[9117,0,"n"],[9118,0,"o"],[9119,0,"d"],[9120,0,"e"],[9121,0," "],[9122,0,"["],[9123,0,"l"],[9124,0,"e"],[9125,0,"f"],[9126,0,"t"],[9127,0,","],[9128,0," "],[9129,0,"i"],[9130,0,"n"],[9131,0,"n"],[9132,0,"e"],[9133,0,"r"],[9134,0," "],[9135,0,"x"],[9136,0,"s"],[9137,0,"e"],[9138,0,"p"],[9139,0,"="],[9140,0,"1"],[9141,0,"2"],[9142,0,"p"],[9143,0,"t"],[9144,0,"]"],[9145,0," "],[9146,0,"{"],[9147,0,"\\"],[9148,0,"f"],[9149,0,"o"],[9150,0,"o"],[9151,0,"t"],[9152,0,"n"],[9153,0,"o"],[9154,0,"t"],[9155,0,"e"],[9156,0,"s"],[9157,0,"i"],[9158,0,"z"],[9159,0,"e"],[9160,0," "],[9161,0,"d"],[9162,0,"o"],[9163,0,"c"],[9164,0,"["],[9165,0,"`"],[9166,0,"`"],[9167,0,"t"],[9168,0,"o"],[9169,0,"d"],[9170,0,"o"],[9171,0,"'"],[9172,0,"'"],[9173,0,"]"],[9174,0,"."],[9175,0,"i"],[9176,0,"t"],[9177,0,"e"],[9178,0,"r"],[9179,0,"."],[9180,0,"n"],[9181,0,"e"],[9182,0,"x"],[9183,0,"t"],[9184,0,"."],[9185,0,"d"],[9186,0,"e"],[9187,0,"l"],[9188,0,"e"],[9189,0,"t"],[9190,0,"e"],[9191,0,";"],[9192,0,"}"],[9193,0," "],[9194,0,"("],[9195,0,"l"],[9196,0,"e"],[9197,0,"f"],[9198,0,"t"],[9199,0,"1"],[9200,0,")"],[9201,0,";"],[9202,0,"\n"],[9203,0,"\\"],[9204,0,"d"],[9205,0,"r"],[9206,0,"a"],[9207,0,"w"],[9208,0," "],[9209,0,"["],[9210,0,"t"],[9211,0,"h"],[9212,0,"i"],[9213,0,"c"],[9214,0,"k"],[9215,0,","],[9216,0,"-"],[9217,0,">"],[9218,0,"]"],[9219,0," "],[9220,0,"("],[9221,0,"s"],[9222,0,"t"],[9223,0,"a"],[9224,0,"r"],[9225,0,"t"],[9226,0,")"],[9227,0," "],[9228,0," "],[9229,0,"t"],[9230,0,"o"],[9231,0," "],[9232,0,"n"],[9233,0,"o"],[9234,0,"d"],[9235,0,"e"],[9236,0," "],[9237,0,"["],[9238,0,"r"],[9239,0,"i"],[9240,0,"g"],[9241,0,"h"],[9242,0,"t"],[9243,0,","],[9244,0,"i"],[9245,0,"n"],[9246,0,"n"],[9247,0,"e"],[9248,0,"r"],[9249,0," "],[9250,0,"x"],[9251,0,"s"],[9252,0,"e"],[9253,0,"p"],[9254,0,"="],[9255,0,"1"],[9256,0,"2"],[9257,0,"p"],[9258,0,"t"],[9259,0,"]"],[9260,0," "],[9261,0,"{"],[9262,0,"\\"],[9263,0,"f"],[9264,0,"o"],[9265,0,"o"],[9266,0,"t"],[9267,0,"n"],[9268,0,"o"],[9269,0,"t"],[9270,0,"e"],[9271,0,"s"],[9272,0,"i"],[9273,0,"z"],[9274,0,"e"],[9275,0," "],[9276,0,"d"],[9277,0,"o"],[9278,0,"c"],[9279,0,"["],[9280,0,"`"],[9281,0,"`"],[9282,0,"t"],[9283,0,"o"],[9284,0,"d"],[9285,0,"o"],[9286,0,"'"],[9287,0,"'"],[9288,0,"]"],[9289,0,"]"],[9289,1],[9289,0,"."],[9290,0,"i"],[9291,0,"t"],[9292,0,"e"],[9293,0,"r"],[9294,0,"."],[9295,0,"n"],[9296,0,"e"],[9297,0,"x"],[9298,0,"t"],[9299,0,"["],[9300,0,"`"],[9301,0,"`"],[9302,0,"d"],[9303,0,"o"],[9304,0,"n"],[9305,0,"e"],[9306,0,"'"],[9307,0,"'"],[9308,0,"]"],[9309,0," "],[9310,0,":"],[9311,0,"="],[9312,0," "],[9313,0,"t"],[9314,0,"r"],[9315,0,"u"],[9316,0,"e"],[9317,0,";"],[9318,0,"}"],[9319,0," "],[9320,0,"("],[9321,0,"r"],[9322,0,"i"],[9323,0,"g"],[9324,0,"h"],[9325,0,"t"],[9326,0,"2"],[9326,1],[9326,0,"1"],[9327,0,")"],[9328,0,";"],[9329,0,"\n"],[9330,0,"\\"],[9331,0,"d"],[9332,0,"r"],[9333,0,"a"],[9334,0,"w"],[9335,0," "],[9336,0,"["],[9337,0,"t"],[9338,0,"h"],[9339,0,"i"],[9340,0,"c"],[9341,0,"k"],[9342,0,","],[9343,0,"-"],[9344,0,">"],[9345,0,"]"],[9346,0," "],[9347,0,"("],[9348,0,"l"],[9349,0,"e"],[9350,0,"f"],[9351,0,"t"],[9352,0,"1"],[9353,0,")"],[9354,0," "],[9355,0," "],[9356,0,"t"],[9357,0,"o"],[9358,0," "],[9359,0,"n"],[9360,0,"o"],[9361,0,"d"],[9362,0,"e"],[9363,0," "],[9364,0,"["],[9365,0,"l"],[9366,0,"e"],[9367,0,"f"],[9368,0,"t"],[9369,0,"]"],[9370,0," "],[9371,0," "],[9372,0,"{"],[9373,0,"\\"],[9374,0,"f"],[9375,0,"o"],[9376,0,"o"],[9377,0,"t"],[9378,0,"n"],[9379,0,"o"],[9380,0,"t"],[9381,0,"e"],[9382,0,"s"],[9383,0,"i"],[9384,0,"z"],[9385,0,"e"],[9386,0," "],[9387,0,"y"],[9388,0,"i"],[9389,0,"e"],[9390,0,"l"],[9391,0,"d"],[9392,0,";"],[9393,0,"}"],[9394,0," "],[9395,0,"["],[9395,1],[9395,0,"("],[9396,0,"l"],[9397,0,"e"],[9398,0,"f"],[9399,0,"t"],[9400,0,"2"],[9401,0,")"],[9402,0,";"],[9403,0,"\n"],[9404,0,"\\"],[9405,0,"d"],[9406,0,"r"],[9407,0,"a"],[9408,0,"w"],[9409,0," "],[9410,0,"["],[9411,0,"t"],[9412,0,"h"],[9413,0,"i"],[9414,0,"c"],[9415,0,"k"],[9416,0,","],[9417,0,"-"],[9418,0,">"],[9419,0,"]"],[9420,0," "],[9421,0,"("],[9422,0,"r"],[9423,0,"i"],[9424,0,"g"],[9425,0,"h"],[9426,0,"t"],[9427,0,"1"],[9428,0,")"],[9429,0," "],[9430,0,"t"],[9431,0,"o"],[9432,0," "],[9433,0,"n"],[9434,0,"o"],[9435,0,"d"],[9436,0,"e"],[9437,0," "],[9438,0,"["],[9439,0,"r"],[9440,0,"i"],[9441,0,"g"],[9442,0,"h"],[9443,0,"t"],[9444,0,"]"],[9445,0," "],[9446,0,"{"],[9447,0,"\\"],[9448,0,"f"],[9449,0,"o"],[9450,0,"o"],[9451,0,"t"],[9452,0,"n"],[9453,0,"o"],[9454,0,"t"],[9455,0,"e"],[9456,0,"s"],[9457,0,"i"],[9458,0,"z"],[9459,0,"e"],[9460,0," "],[9461,0,"y"],[9462,0,"i"],[9463,0,"e"],[9464,0,"l"],[9465,0,"d"],[9466,0,";"],[9467,0,"}"],[9468,0," "],[9469,0,"("],[9470,0,"r"],[9471,0,"i"],[9472,0,"g"],[9473,0,"h"],[9474,0,"t"],[9475,0,"2"],[9476,0,")"],[9477,0,";"],[9478,0,"\n"],[9479,0,"\\"],[9480,0,"d"],[9481,0,"r"],[9482,0,"a"],[9483,0,"w"],[9484,0," "],[9485,0,"["],[9486,0,"t"],[9487,0,"h"],[9488,0,"i"],[9489,0,"c"],[9490,0,"k"],[9491,0,","],[9492,0,"-"],[9493,0,">"],[9494,0,"]"],[9495,0," "],[9496,0,"("],[9497,0,"l"],[9498,0,"e"],[9499,0,"f"],[9500,0,"t"],[9501,0,"1"],[9502,0,")"],[9503,0," "],[9504,0," "],[9505,0,"t"],[9506,0,"o"],[9507,0," "],[9508,0,"("],[9509,0,"r"],[9510,0,"i"],[9511,0,"g"],[9512,0,"h"],[9513,0,"t"],[9514,0,"2"],[9515,0,")"],[9516,0,";"],[9517,0,"\n"],[9518,0,"\\"],[9519,0,"d"],[9520,0,"r"],[9521,0,"a"],[9522,0,"w"],[9523,0," "],[9524,0,"["],[9525,0,"t"],[9526,0,"h"],[9527,0,"i"],[9528,0,"c"],[9529,0,"k"],[9530,0,","],[9531,0,"-"],[9532,0,">"],[9533,0,"]"],[9534,0," "],[9535,0,"("],[9536,0,"r"],[9537,0,"i"],[9538,0,"g"],[9539,0,"h"],[9540,0,"t"],[9541,0,"1"],[9542,0,")"],[9543,0," "],[9544,0,"t"],[9545,0,"o"],[9546,0," "],[9547,0,"("],[9548,0,"l"],[9549,0,"e"],[9550,0,"f"],[9551,0,"t"],[9552,0,"2"],[9553,0,")"],[9554,0,";"],[8689,0,"\n"],[8690,0,"\n"],[8691,0,"T"],[8692,0,"h"],[8693,0,"e"],[8694,0," "],[8695,0,"e"],[8696,0,"x"],[8697,0,"a"],[8698,0,"m"],[8699,0,"p"],[8700,0,"l"],[8701,0,"e"],[8702,0," "],[8703,0,"i"],[8704,0,"n"],[8705,0," "],[8706,0,"F"],[8707,0,"i"],[8708,0,"g"],[8709,0,"u"],[8710,0,"r"],[8711,0,"e"],[8712,0,"~"],[8713,0,"\\"],[8714,0,"r"],[8715,0,"e"],[8716,0,"f"],[8717,0,"{"],[8718,0,"f"],[8719,0,"i"],[8720,0,"g"],[8721,0,":"],[8722,0,"t"],[8723,0,"w"],[8724,0,"o"],[8725,0,"-"],[8726,0,"l"],[8727,0,"i"],[8728,0,"s"],[8729,0,"t"],[8730,0,"s"],[8731,0,"}"],[8732,0," "],[8733,0,"s"],[8734,0,"h"],[8735,0,"o"],[8736,0,"w"],[8737,0,"s"],[8738,0," "],[8739,0,"t"],[8740,0,"w"],[8741,0,"o"],[8742,0," "],[8743,0,"r"],[8744,0,"e"],[8745,0,"p"],[8746,0,"l"],[8747,0,"i"],[8748,0,"c"],[8749,0,"a"],[8750,0,"s"],[8751,0," "],[8752,0,"c"],[8753,0,"o"],[8754,0,"n"],[8755,0,"c"],[8756,0,"u"],[8757,0,"r"],[8758,0,"r"],[8759,0,"e"],[8760,0,"n"],[8761,0,"t"],[8762,0,"l"],[8763,0,"y"],[8764,0," "],[8765,0,"c"],[8766,0,"r"],[8767,0,"e"],[8768,0,"a"],[8769,0,"t"],[8770,0,"i"],[8771,0,"n"],[8772,0,"g"],[8773,0," "],[8774,0,"a"],[8775,0," "],[8776,0,"n"],[8777,0,"e"],[8778,0,"w"],[8779,0," "],[8780,0,"l"],[8781,0,"i"],[8782,0,"s"],[8783,0,"t"],[8784,0," "],[8785,0,"u"],[8786,0,"n"],[8787,0,"d"],[8788,0,"e"],[8789,0,"r"],[8790,0," "],[8791,0,"t"],[8792,0,"h"],[8793,0,"e"],[8794,0," "],[8795,0,"s"],[8796,0,"a"],[8797,0,"m"],[8798,0,"e"],[8799,0," "],[8800,0,"m"],[8801,0,"a"],[8802,0,"p"],[8803,0," "],[8780,0,"o"],[8781,0,"r"],[8782,0,"d"],[8783,0,"e"],[8784,0,"r"],[8785,0,"e"],[8786,0,"d"],[8787,0," "],[8786,1],[8785,1],[8784,1],[8783,1],[8782,1],[8781,1],[8780,1],[8780,0,"s"],[8781,0,"h"],[8782,0,"o"],[8783,0,"p"],[8784,0,"p"],[8785,0,"i"],[8786,0,"n"],[8787,0,"g"],[8813,0,"k"],[8814,0,"e"],[8815,0,"y"],[8816,0," "],[8817,0,"`"],[8818,0,"`"],[8819,0,"b"],[8820,0,"u"],[8821,0,"y"],[8822,0,"'"],[8823,0,"'"],[8824,0,","],[8825,0," "],[8826,0,"a"],[8827,0,"n"],[8828,0,"d"],[8829,0," "],[8830,0,"a"],[8831,0,"d"],[8832,0,"d"],[8833,0,"i"],[8834,0,"n"],[8835,0,"g"],[8836,0," "],[8837,0,"i"],[8838,0,"t"],[8839,0,"e"],[8840,0,"m"],[8841,0,"s"],[8842,0," "],[8843,0,"t"],[8844,0,"o"],[8845,0," "],[8846,0,"t"],[8847,0,"h"],[8848,0,"e"],[8849,0," "],[8850,0,"l"],[8851,0,"i"],[8852,0,"s"],[8853,0,"t"],[8854,0,"."],[8855,0," "],[8856,0,"W"],[8857,0,"h"],[8858,0,"e"],[8859,0,"n"],[8860,0," "],[8861,0,"t"],[8862,0,"h"],[8863,0,"e"],[8864,0," "],[8865,0,"r"],[8866,0,"e"],[8867,0,"p"],[8868,0,"l"],[8869,0,"i"],[8870,0,"c"],[8871,0,"a"],[8872,0,"s"],[8873,0," "],[8874,0,"a"],[8875,0,"r"],[8876,0,"e"],[8877,0," "],[8878,0,"m"],[8879,0,"e"],[8880,0,"r"],[8881,0,"g"],[8882,0,"e"],[8883,0,"d"],[8884,0,","],[8885,0," "],[8886,0,"t"],[8887,0,"h"],[8888,0,"e"],[8889,0," "],[8890,0,"l"],[8891,0,"i"],[8892,0,"s"],[8893,0,"t"],[8894,0,"s"],[8895,0," "],[8896,0,"n"],[8897,0,"e"],[8898,0,"e"],[8899,0,"d"],[8900,0," "],[8901,0,"t"],[8902,0,"o"],[8903,0," "],[8904,0,"b"],[8905,0,"e"],[8906,0," "],[8907,0,"m"],[8908,0,"e"],[8909,0,"r"],[8910,0,"g"],[8911,0,"e"],[8912,0,"d"],[8913,0," "],[8913,1],[8913,0," "],[8914,0,"a"],[8915,0,"l"],[8916,0,"s"],[8917,0,"o"],[8918,0,"."],[8919,0," "],[8920,0,"W"],[8921,0,"e"],[8922,0," "],[8923,0,"p"],[8924,0,"r"],[8925,0,"e"],[8926,0,"s"],[8927,0,"e"],[8928,0,"r"],[8929,0,"v"],[8930,0,"e"],[8931,0," "],[8932,0,"t"],[8933,0,"h"],[8934,0,"e"],[8935,0," "],[8936,0,"o"],[8937,0,"r"],[8938,0,"d"],[8939,0,"e"],[8940,0,"r"],[8941,0,"i"],[8942,0,"n"],[8943,0,"g"],[8944,0," "],[8945,0,"o"],[8946,0,"f"],[8947,0," "],[8948,0,"a"],[8949,0,"d"],[8950,0,"j"],[8951,0,"a"],[8951,1],[8950,1],[8949,1],[8948,1],[8947,1],[8946,1],[8945,1],[8945,0,"a"],[8946,0,"n"],[8947,0,"d"],[8948,0," "],[8949,0,"a"],[8950,0,"d"],[8951,0,"j"],[8952,0,"a"],[8953,0,"c"],[8954,0,"e"],[8955,0,"n"],[8956,0,"c"],[8957,0,"y"],[8958,0," "],[8959,0,"o"],[8960,0,"f"],[8961,0," "],[8962,0,"i"],[8963,0,"t"],[8964,0,"e"],[8965,0,"m"],[8966,0,"s"],[8967,0," "],[8968,0,"i"],[8969,0,"n"],[8970,0,"s"],[8971,0,"e"],[8972,0,"r"],[8973,0,"t"],[8974,0,"e"],[8975,0,"d"],[8976,0," "],[8977,0,"a"],[8978,0,"t"],[8979,0," "],[8980,0,"e"],[8981,0,"a"],[8982,0,"c"],[8983,0,"h"],[8984,0," "],[8985,0,"r"],[8986,0,"e"],[8987,0,"p"],[8988,0,"l"],[8989,0,"i"],[8990,0,"c"],[8991,0,"a"],[8992,0,","],[8993,0," "],[8994,0,"s"],[8995,0,"o"],[8996,0," "],[8997,0,"`"],[8998,0,"`"],[8999,0,"h"],[9000,0,"a"],[9001,0,"m"],[9002,0," "],[9002,1],[9002,0,"'"],[9003,0,"'"],[9004,0," "],[9005,0,"a"],[9006,0,"p"],[9007,0,"p"],[9008,0,"e"],[9009,0,"a"],[9010,0,"r"],[9011,0,"s"],[9012,0," "],[9013,0,"a"],[9014,0,"f"],[9015,0,"t"],[9016,0,"e"],[9017,0,"r"],[9018,0," "],[9019,0,"`"],[9020,0,"`"],[9021,0,"e"],[9022,0,"g"],[9023,0,"g"],[9024,0,"s"],[9025,0,"'"],[9026,0,"'"],[9027,0,","],[9028,0," "],[9029,0,"a"],[9030,0,"n"],[9031,0,"d"],[9032,0," "],[9033,0,"`"],[9034,0,"`"],[9035,0,"f"],[9036,0,"l"],[9037,0,"o"],[9038,0,"u"],[9039,0,"r"],[9040,0,"`"],[9040,1],[9040,0,"'"],[9041,0,"'"],[9042,0," "],[9043,0,"a"],[9044,0,"p"],[9045,0,"p"],[9046,0,"e"],[9047,0,"a"],[9048,0,"r"],[9049,0,"s"],[9050,0," "],[9051,0,"a"],[9052,0,"f"],[9053,0,"t"],[9054,0,"e"],[9055,0,"r"],[9056,0," "],[9057,0,"`"],[9058,0,"`"],[9059,0,"m"],[9060,0,"i"],[9061,0,"l"],[9062,0,"k"],[9063,0,"'"],[9064,0,"'"],[9065,0," "],[9066,0,"i"],[9067,0,"n"],[9068,0," "],[9069,0,"t"],[9070,0,"h"],[9071,0,"e"],[9072,0," "],[9073,0,"m"],[9074,0,"e"],[9075,0,"r"],[9076,0,"g"],[9077,0,"e"],[9078,0,"d"],[9079,0," "],[9080,0,"r"],[9081,0,"e"],[9082,0,"s"],[9083,0,"u"],[9084,0,"l"],[9085,0,"t"],[9086,0,"."],[9087,0," "],[9088,0,"W"],[9089,0,"h"],[9090,0,"e"],[9091,0,"t"],[9092,0,"h"],[9093,0,"e"],[9094,0,"r"],[9095,0," "],[9095,1],[9094,1],[9093,1],[9092,1],[9091,1],[9090,1],[9089,1],[9088,1],[9088,0,"T"],[9089,0,"h"],[9090,0,"e"],[9091,0,"r"],[9092,0,"e"],[9093,0," "],[9094,0,"i"],[9095,0,"s"],[9096,0," "],[9097,0,"n"],[9098,0,"o"],[9099,0," "],[9100,0,"i"],[9101,0,"n"],[9102,0,"f"],[9103,0,"o"],[9104,0,"r"],[9105,0,"m"],[9106,0,"a"],[9107,0,"t"],[9108,0,"i"],[9109,0,"o"],[9110,0,"n"],[9111,0," "],[9112,0,"o"],[9113,0,"n"],[9114,0," "],[9115,0,"w"],[9116,0,"h"],[9117,0,"e"],[9118,0,"t"],[9119,0,"h"],[9120,0,"e"],[9121,0,"r"],[9122,0," "],[9122,1],[9121,1],[9120,1],[9119,1],[9118,1],[9117,1],[9116,1],[9116,0,"i"],[9116,1],[9116,0,"h"],[9117,0,"i"],[9118,0,"c"],[9119,0,"h"],[9120,0," "],[9121,0,"r"],[9122,0,"e"],[9123,0,"p"],[9124,0,"l"],[9125,0,"i"],[9126,0,"c"],[9127,0,"a"],[9128,0,"'"],[9129,0,"s"],[9130,0," "],[9131,0,"i"],[9132,0,"t"],[9133,0,"e"],[9134,0,"m"],[9135,0,"s"],[9136,0," "],[9137,0,"s"],[9138,0,"h"],[9139,0,"o"],[9140,0,"u"],[9141,0,"l"],[9142,0,"d"],[9143,0," "],[9144,0,"a"],[9145,0,"p"],[9146,0,"p"],[9147,0,"e"],[9148,0,"a"],[9149,0,"r"],[9150,0," "],[9151,0,"f"],[9152,0,"i"],[9153,0,"r"],[9154,0,"s"],[9155,0,"t"],[9156,0," "],[9157,0,"i"],[9158,0,"n"],[9159,0," "],[9160,0,"t"],[9161,0,"h"],[9162,0,"e"],[9163,0," "],[9164,0,"m"],[9165,0,"e"],[9166,0,"r"],[9167,0,"g"],[9168,0,"e"],[9169,0,"d"],[9170,0," "],[9171,0,"r"],[9172,0,"e"],[9173,0,"s"],[9174,0,"u"],[9175,0,"l"],[9176,0,"t"],[9177,0,","],[9178,0," "],[9179,0,"s"],[9180,0,"o"],[9181,0," "],[9182,0,"t"],[9183,0,"h"],[9184,0,"e"],[9185,0,"r"],[9186,0,"e"],[9187,0," "],[9187,1],[9186,1],[9185,1],[9185,0," "],[9186,0,"a"],[9187,0,"l"],[9188,0,"g"],[9189,0,"o"],[9190,0,"r"],[9191,0,"i"],[9192,0,"t"],[9193,0,"h"],[9194,0,"m"],[9195,0," "],[9196,0,"c"],[9197,0,"a"],[9198,0,"n"],[9199,0," "],[9200,0,"m"],[9201,0,"a"],[9202,0,"k"],[9203,0,"e"],[9204,0," "],[9205,0,"a"],[9206,0,"n"],[9207,0," "],[9208,0,"a"],[9209,0,"r"],[9210,0,"b"],[9211,0,"i"],[9212,0,"t"],[9213,0,"r"],[9214,0,"a"],[9215,0,"r"],[9216,0,"y"],[9217,0," "],[9218,0,"n"],[9219,0,"o"],[9219,1],[9218,1],[9218,0,"c"],[9219,0,"h"],[9220,0,"o"],[9221,0,"i"],[9222,0,"c"],[9223,0,"e"],[9224,0," "],[9225,0,"b"],[9226,0,"e"],[9227,0,"t"],[9228,0,"w"],[9229,0,"e"],[9230,0,"e"],[9231,0,"n"],[9232,0," "],[9233,0,"`"],[9234,0,"`"],[9235,0,"e"],[9236,0,"g"],[9237,0,"g"],[9238,0,"s"],[9239,0,","],[9240,0," "],[9241,0,"h"],[9242,0,"j"],[9243,0,"a"],[9243,1],[9242,1],[9242,0,"a"],[9243,0,"m"],[9244,0,","],[9245,0," "],[9246,0,"m"],[9247,0,"i"],[9248,0,"l"],[9249,0,"k"],[9250,0,","],[9251,0," "],[9252,0,"f"],[9253,0,"l"],[9254,0,"o"],[9255,0,"u"],[9256,0,"r"],[9257,0,"'"],[9258,0,"'"],[9259,0," "],[9260,0,"a"],[9261,0,"n"],[9262,0,"d"],[9263,0," "],[9264,0,"`"],[9265,0,"`"],[9266,0,"m"],[9267,0,"i"],[9268,0,"l"],[9269,0,"k"],[9270,0,","],[9271,0," "],[9272,0,"f"],[9273,0,"l"],[9274,0,"o"],[9275,0,"u"],[9276,0,"r"],[9277,0,","],[9278,0," "],[9279,0,"e"],[9280,0,"g"],[9281,0,"g"],[9282,0,"s"],[9283,0,","],[9284,0," "],[9285,0,"h"],[9286,0,"a"],[9287,0,"m"],[9288,0,"'"],[9289,0,"'"],[9290,0,","],[9291,0," "],[9292,0,"p"],[9293,0,"r"],[9294,0,"o"],[9295,0,"v"],[9296,0,"i"],[9297,0,"d"],[9298,0,"e"],[9299,0,"d"],[9300,0," "],[9301,0,"t"],[9302,0,"h"],[9303,0,"a"],[9304,0,"t"],[9305,0," "],[9306,0,"a"],[9307,0,"l"],[9308,0,"l"],[9309,0," "],[9310,0,"r"],[9311,0,"e"],[9312,0,"p"],[9313,0,"l"],[9314,0,"i"],[9315,0,"c"],[9316,0,"a"],[9317,0,"s"],[9318,0," "],[9319,0,"c"],[9320,0,"o"],[9321,0,"n"],[9322,0,"v"],[9322,1],[9321,1],[9320,1],[9319,1],[9319,0,"e"],[9320,0,"n"],[9321,0,"d"],[9322,0," "],[9323,0,"u"],[9324,0,"p"],[9325,0," "],[9326,0,"w"],[9327,0,"i"],[9328,0,"t"],[9329,0,"h"],[9330,0," "],[9331,0,"t"],[9332,0,"h"],[9333,0,"e"],[9334,0," "],[9335,0,"s"],[9336,0,"a"],[9337,0,"m"],[9338,0,"e"],[9339,0," "],[9340,0,"o"],[9341,0,"r"],[9342,0,"d"],[9343,0,"e"],[9344,0,"r"],[9345,0,"."],[10359,0,"\n"],[10360,0,"\n"],[10361,0,"O"],[10362,0,"u"],[10363,0,"r"],[10364,0," "],[10365,0,"f"],[10366,0,"i"],[10367,0,"n"],[10368,0,"a"],[10369,0,"l"],[10370,0," "],[10371,0,"e"],[10372,0,"x"],[10373,0,"a"],[10374,0,"m"],[10375,0,"p"],[10376,0,"l"],[10377,0,"e"],[10378,0," "],[10379,0,"i"],[10380,0,"n"],[10381,0," "],[10382,0,"F"],[10383,0,"i"],[10384,0,"g"],[10385,0,"u"],[10386,0,"r"],[10387,0,"e"],[10388,0,"~"],[10389,0,"\\"],[10390,0,"r"],[10391,0,"e"],[10392,0,"f"],[10393,0,"{"],[10394,0,"f"],[10395,0,"i"],[10396,0,"g"],[10397,0,":"],[10398,0,"t"],[10399,0,"o"],[10400,0,"d"],[10401,0,"o"],[10402,0,"-"],[10403,0,"i"],[10404,0,"t"],[10405,0,"e"],[10406,0,"m"],[10407,0,"}"],[10408,0," "],[10409,0,"s"],[10410,0,"h"],[10411,0,"o"],[10412,0,"w"],[10413,0,"s"],[10414,0," "],[10415,0,"a"],[10416,0," "],[10417,0,"l"],[10418,0,"i"],[10419,0,"m"],[10420,0,"i"],[10421,0,"t"],[10422,0,"a"],[10423,0,"t"],[10424,0,"i"],[10425,0,"o"],[10426,0,"n"],[10427,0," "],[10428,0,"o"],[10429,0,"f"],[10430,0," "],[10431,0,"t"],[10432,0,"h"],[10433,0,"e"],[10434,0," "],[10435,0,"p"],[10436,0,"r"],[10437,0,"i"],[10438,0,"n"],[10439,0,"c"],[10440,0,"i"],[10441,0,"p"],[10442,0,"l"],[10443,0,"e"],[10444,0," "],[10445,0,"o"],[10446,0,"f"],[10447,0," "],[10448,0,"p"],[10449,0,"r"],[10450,0,"e"],[10451,0,"s"],[10452,0,"e"],[10453,0,"r"],[10454,0,"v"],[10455,0,"i"],[10456,0,"n"],[10457,0,"g"],[10458,0," "],[10459,0,"a"],[10460,0,"l"],[10461,0,"l"],[10462,0," "],[10463,0,"u"],[10464,0,"s"],[10465,0,"e"],[10466,0,"r"],[10467,0," "],[10468,0,"i"],[10469,0,"n"],[10470,0,"p"],[10471,0,"u"],[10472,0,"t"],[10473,0,"."],[10474,0," "],[10475,0,"I"],[10476,0,"n"],[10477,0," "],[10478,0,"a"],[10479,0," "],[10480,0,"T"],[10481,0,"o"],[10482,0," "],[10482,1],[10481,1],[10480,1],[10479,1],[10479,0,"t"],[10480,0,"o"],[10481,0," "],[10481,1],[10480,1],[10479,1],[10478,1],[10478,0,"a"],[10479,0," "],[10480,0,"t"],[10481,0,"o"],[10482,0,"-"],[10483,0,"d"],[10484,0,"o"],[10485,0," "],[10486,0,"l"],[10487,0,"i"],[10488,0,"s"],[10489,0,"t"],[10490,0," "],[10491,0,"a"],[10492,0,"p"],[10493,0,"p"],[10494,0,"l"],[10495,0,"i"],[10496,0,"c"],[10497,0,"a"],[10498,0,"t"],[10499,0,"i"],[10500,0,"o"],[10501,0,"n"],[10502,0,","],[10503,0," "],[10504,0,"o"],[10505,0,"n"],[10506,0,"e"],[10507,0," "],[10508,0,"r"],[10509,0,"e"],[10510,0,"p"],[10511,0,"l"],[10512,0,"i"],[10513,0,"c"],[10514,0,"a"],[10515,0," "],[10516,0,"r"],[10517,0,"e"],[10518,0,"m"],[10519,0,"o"],[10520,0,"v"],[10521,0,"e"],[10522,0,"s"],[10523,0," "],[10524,0,"a"],[10525,0," "],[10526,0,"t"],[10527,0,"o"],[10528,0,"-"],[10529,0,"d"],[10530,0,"o"],[10531,0," "],[10532,0,"i"],[10533,0,"t"],[10534,0,"e"],[10535,0,"m"],[10536,0," "],[10537,0,"f"],[10538,0,"r"],[10539,0,"o"],[10540,0,"m"],[10541,0," "],[10542,0,"t"],[10543,0,"h"],[10544,0,"e"],[10545,0," "],[10546,0,"l"],[10547,0,"i"],[10548,0,"s"],[10549,0,"t"],[10550,0,","],[10551,0," "],[10552,0,"w"],[10553,0,"h"],[10554,0,"i"],[10555,0,"l"],[10556,0,"e"],[10557,0," "],[10558,0,"a"],[10559,0,"n"],[10560,0,"o"],[10561,0,"t"],[10562,0,"h"],[10563,0,"e"],[10564,0,"r"],[10565,0," "],[10566,0,"r"],[10567,0,"e"],[10568,0,"p"],[10569,0,"l"],[10570,0,"i"],[10571,0,"c"],[10572,0,"a"],[10573,0," "],[10574,0,"c"],[10575,0,"o"],[10576,0,"n"],[10577,0,"c"],[10578,0,"u"],[10579,0,"r"],[10580,0,"r"],[10581,0,"e"],[10582,0,"n"],[10583,0,"t"],[10584,0,"l"],[10585,0,"y"],[10586,0," "],[10587,0,"m"],[10588,0,"a"],[10589,0,"r"],[10590,0,"k"],[10591,0,"s"],[10592,0," "],[10593,0,"t"],[10594,0,"h"],[10595,0,"e"],[10596,0," "],[10597,0,"s"],[10598,0,"a"],[10599,0,"m"],[10600,0,"e"],[10601,0," "],[10602,0,"i"],[10603,0,"t"],[10604,0,"e"],[10605,0,"m"],[10606,0," "],[10607,0,"a"],[10608,0,"s"],[10609,0," "],[10610,0,"d"],[10611,0,"o"],[10612,0,"n"],[10613,0,"e"],[10614,0,"."],[10615,0," "],[10616,0,"A"],[10617,0,"s"],[10618,0," "],[10619,0,"t"],[10620,0,"h"],[10621,0,"e"],[10622,0," "],[10623,0,"c"],[10624,0,"h"],[10625,0,"a"],[10626,0,"n"],[10627,0,"g"],[10628,0,"e"],[10629,0,"s"],[10630,0," "],[10631,0,"a"],[10632,0,"r"],[10633,0,"e"],[10634,0," "],[10635,0,"m"],[10636,0,"e"],[10637,0,"r"],[10638,0,"g"],[10639,0,"e"],[10640,0,"d"],[10641,0,","],[10642,0," "],[10643,0,"t"],[10644,0,"h"],[10645,0,"e"],[10646,0," "],[10647,0,"u"],[10648,0,"p"],[10649,0,"d"],[10650,0,"a"],[10651,0,"t"],[10652,0,"e"],[10653,0," "],[10654,0,"o"],[10655,0,"f"],[10656,0," "],[10657,0,"t"],[10658,0,"h"],[10659,0,"e"],[10660,0," "],[10661,0,"m"],[10662,0,"a"],[10663,0,"p"],[10664,0," "],[10665,0,"k"],[10666,0,"e"],[10667,0,"y"],[10668,0," "],[10669,0,"`"],[10670,0,"`"],[10671,0,"d"],[10672,0,"o"],[10673,0,"n"],[10674,0,"e"],[10675,0,"'"],[10676,0,"'"],[10677,0," "],[10678,0,"e"],[10679,0,"f"],[10680,0,"f"],[10681,0,"e"],[10682,0,"c"],[10683,0,"t"],[10684,0,"i"],[10685,0,"v"],[10686,0,"e"],[10687,0,"l"],[10688,0,"y"],[10689,0," "],[10690,0,"c"],[10691,0,"a"],[10692,0,"u"],[10693,0,"s"],[10694,0,"e"],[10695,0,"s"],[10696,0," "],[10697,0,"t"],[10698,0,"h"],[10699,0,"e"],[10700,0," "],[10701,0,"l"],[10702,0,"i"],[10703,0,"s"],[10704,0,"t"],[10705,0," "],[10706,0,"i"],[10707,0,"t"],[10708,0,"e"],[10709,0,"m"],[10710,0," "],[10711,0,"t"],[10712,0,"o"],[10713,0," "],[10714,0,"b"],[10715,0,"e"],[10716,0," "],[10717,0,"r"],[10718,0,"e"],[10719,0,"s"],[10720,0,"u"],[10721,0,"r"],[10722,0,"r"],[10723,0,"e"],[10724,0,"c"],[10725,0,"t"],[10726,0,"e"],[10727,0,"d"],[10728,0," "],[10729,0,"o"],[10730,0,"n"],[10731,0," "],[10732,0,"t"],[10733,0,"h"],[10734,0,"e"],[10735,0," "],[10736,0,"l"],[10737,0,"e"],[10738,0,"f"],[10739,0,"t"],[10740,0," "],[10741,0,"r"],[10742,0,"e"],[10743,0,"p"],[10744,0,"l"],[10745,0,"i"],[10746,0,"c"],[10747,0,"a"],[10748,0,"."],[10749,0," "],[10749,1],[10748,1],[10748,0,","],[10749,0," "],[10750,0,"l"],[10751,0,"e"],[10752,0,"a"],[10753,0,"d"],[10754,0,"i"],[10755,0,"n"],[10756,0,"g"],[10757,0," "],[10758,0,"t"],[10759,0,"o"],[10760,0," "],[10761,0,"a"],[10762,0," "],[10763,0,"t"],[10764,0,"o"],[10765,0,"-"],[10766,0,"d"],[10767,0,"o"],[10768,0,"-"],[10768,1],[10768,0," "],[10769,0,"i"],[10770,0,"t"],[10771,0,"e"],[10772,0,"m"],[10773,0," "],[10774,0,"w"],[10775,0,"i"],[10776,0,"t"],[10777,0,"h"],[10778,0,"o"],[10779,0,"u"],[10780,0,"t"],[10781,0," "],[10782,0,"a"],[10783,0," "],[10784,0,"t"],[10785,0,"i"],[10786,0,"t"],[10787,0,"l"],[10788,0,"e"],[10789,0," "],[10790,0,"("],[10791,0,"s"],[10792,0,"i"],[10793,0,"n"],[10794,0,"c"],[10795,0,"e"],[10796,0," "],[10797,0,"t"],[10798,0,"h"],[10799,0,"e"],[10800,0," "],[10801,0,"t"],[10802,0,"i"],[10803,0,"t"],[10804,0,"l"],[10805,0,"e"],[10806,0," "],[10807,0,"w"],[10808,0,"a"],[10809,0,"s"],[10810,0," "],[10811,0,"d"],[10812,0,"e"],[10813,0,"l"],[10814,0,"e"],[10815,0,"t"],[10816,0,"e"],[10817,0,"d"],[10818,0," "],[10819,0,"a"],[10820,0,"s"],[10821,0," "],[10822,0,"p"],[10823,0,"a"],[10824,0,"r"],[10825,0,"t"],[10826,0," "],[10827,0,"o"],[10828,0,"f"],[10829,0," "],[10830,0,"d"],[10831,0,"e"],[10832,0,"l"],[10833,0,"e"],[10834,0,"t"],[10835,0,"i"],[10836,0,"n"],[10837,0,"g"],[10838,0," "],[10839,0,"t"],[10840,0,"h"],[10841,0,"e"],[10842,0," "],[10843,0,"l"],[10844,0,"i"],[10845,0,"s"],[10846,0,"t"],[10847,0," "],[10848,0,"i"],[10849,0,"t"],[10850,0,"e"],[10851,0,"m"],[10852,0,")"],[10853,0,"."],[10854,0," "],[10855,0,"T"],[10856,0,"h"],[10857,0,"i"],[10858,0,"s"],[10859,0," "],[10860,0,"b"],[10861,0,"e"],[10862,0,"h"],[10863,0,"a"],[10864,0,"v"],[10865,0,"i"],[10866,0,"o"],[10867,0,"r"],[10868,0," "],[10869,0,"i"],[10870,0,"s"],[10871,0," "],[10872,0,"c"],[10873,0,"o"],[10874,0,"n"],[10875,0,"s"],[10876,0,"i"],[10877,0,"s"],[10878,0,"t"],[10879,0,"e"],[10880,0,"n"],[10881,0,"t"],[10882,0," "],[10883,0,"w"],[10884,0,"i"],[10885,0,"t"],[10886,0,"h"],[10887,0," "],[10888,0,"t"],[10889,0,"h"],[10890,0,"e"],[10891,0," "],[10892,0,"e"],[10893,0,"x"],[10894,0,"a"],[10895,0,"m"],[10896,0,"p"],[10897,0,"l"],[10898,0,"e"],[10899,0," "],[10900,0,"i"],[10901,0,"n"],[10902,0," "],[10903,0,"F"],[10904,0,"i"],[10905,0,"g"],[10906,0,"u"],[10907,0,"r"],[10908,0,"e"],[10909,0,"~"],[10910,0,"\\"],[10911,0,"l"],[10911,1],[10911,0,"r"],[10912,0,"e"],[10913,0,"f"],[10914,0,"{"],[10915,0,"f"],[10916,0,"i"],[10917,0,"g"],[10918,0,":"],[10919,0,"m"],[10920,0,"a"],[10921,0,"p"],[10922,0,"-"],[10923,0,"r"],[10924,0,"e"],[10925,0,"m"],[10926,0,"o"],[10927,0,"v"],[10928,0,"e"],[10929,0,"}"],[10930,0,","],[10931,0," "],[10932,0,"b"],[10933,0,"u"],[10934,0,"t"],[10935,0," "],[10936,0,"i"],[10937,0,"t"],[10938,0," "],[10939,0,"i"],[10940,0,"s"],[10941,0," "],[10942,0,"p"],[10943,0,"e"],[10944,0,"r"],[10945,0,"h"],[10946,0,"a"],[10947,0,"p"],[10948,0,"s"],[10949,0," "],[10950,0,"s"],[10951,0,"u"],[10952,0,"r"],[10953,0,"p"],[10954,0,"r"],[10955,0,"i"],[10956,0,"s"],[10957,0,"i"],[10958,0,"n"],[10959,0,"g"],[10960,0," "],[10961,0,"t"],[10962,0,"o"],[10963,0," "],[10964,0,"u"],[10965,0,"s"],[10966,0,"e"],[10967,0,"r"],[10968,0,"s"],[10969,0,"."],[10970,0," "],[10971,0,"I"],[10972,0,"n"],[10973,0," "],[10974,0,"t"],[10975,0,"h"],[10976,0,"i"],[10977,0,"s"],[10978,0," "],[10979,0,"e"],[10980,0,"x"],[10981,0,"a"],[10982,0,"m"],[10983,0,"p"],[10984,0,"l"],[10985,0,"e"],[10986,0," "],[10987,0,"i"],[10988,0,"t"],[10989,0," "],[10990,0,"m"],[10991,0,"a"],[10992,0,"y"],[10993,0," "],[10994,0,"b"],[10995,0,"e"],[10996,0," "],[10997,0,"m"],[10998,0,"o"],[10999,0,"r"],[11000,0,"e"],[11001,0," "],[11002,0,"d"],[11003,0,"e"],[11004,0,"s"],[11005,0,"i"],[11006,0,"r"],[11007,0,"a"],[11008,0,"b"],[11009,0,"l"],[11010,0,"e"],[11011,0," "],[11012,0,"t"],[11013,0,"o"],[11014,0," "],[11015,0,"d"],[11016,0,"i"],[11017,0,"s"],[11018,0,"c"],[11019,0,"a"],[11020,0,"r"],[11021,0,"d"],[11022,0," "],[11023,0,"o"],[11024,0,"n"],[11025,0,"e"],[11026,0," "],[11027,0,"o"],[11028,0,"f"],[11029,0," "],[11030,0,"t"],[11031,0,"h"],[11032,0,"e"],[11033,0," "],[11034,0,"c"],[11035,0,"o"],[11036,0,"n"],[11037,0,"c"],[11038,0,"u"],[11039,0,"r"],[11040,0,"r"],[11041,0,"e"],[11042,0,"n"],[11043,0,"t"],[11044,0," "],[11045,0,"u"],[11046,0,"p"],[11047,0,"d"],[11048,0,"a"],[11049,0,"t"],[11050,0,"e"],[11051,0,"s"],[11052,0,","],[11053,0," "],[11054,0,"a"],[11055,0,"n"],[11056,0,"d"],[11057,0," "],[11058,0,"t"],[11059,0,"h"],[11060,0,"u"],[11061,0,"s"],[11062,0," "],[11063,0,"p"],[11064,0,"r"],[11065,0,"e"],[11066,0,"s"],[11067,0,"e"],[11068,0,"r"],[11069,0,"v"],[11070,0,"e"],[11071,0," "],[11072,0,"t"],[11073,0,"h"],[11074,0,"e"],[11075,0," "],[11076,0,"i"],[11077,0,"m"],[11078,0,"p"],[11079,0,"l"],[11080,0,"i"],[11081,0,"c"],[11082,0,"i"],[11083,0,"t"],[11084,0," "],[11085,0,"s"],[11086,0,"c"],[11087,0,"h"],[11088,0,"e"],[11089,0,"m"],[11090,0,"a"],[11091,0," "],[11092,0,"t"],[11093,0,"h"],[11094,0,"a"],[11095,0,"t"],[11096,0," "],[11097,0,"a"],[11098,0," "],[11099,0,"t"],[11100,0,"o"],[11101,0,"-"],[11102,0,"d"],[11103,0,"o"],[11104,0," "],[11105,0,"i"],[11106,0,"t"],[11107,0,"e"],[11108,0,"m"],[11109,0," "],[11110,0,"h"],[11111,0,"a"],[11112,0,"s"],[11113,0," "],[11114,0,"b"],[11115,0,"o"],[11116,0,"t"],[11117,0,"h"],[11118,0," "],[11119,0,"a"],[11120,0," "],[11121,0,"`"],[11122,0,"`"],[11123,0,"t"],[11124,0,"i"],[11125,0,"t"],[11126,0,"l"],[11127,0,"e"],[11128,0,"'"],[11129,0,"'"],[11130,0," "],[11131,0,"a"],[11132,0,"n"],[11133,0,"d"],[11134,0," "],[11135,0,"a"],[11136,0," "],[11137,0,"`"],[11138,0,"`"],[11139,0,"d"],[11140,0,"o"],[11141,0,"n"],[11142,0,"e"],[11143,0,"'"],[11144,0,"'"],[11145,0," "],[11146,0,"f"],[11147,0,"i"],[11148,0,"e"],[11149,0,"l"],[11150,0,"d"],[11151,0,"."],[11152,0,"\n"],[11153,0,"\n"],[11154,0,"S"],[11154,1],[11154,0,"T"],[11155,0,"h"],[11156,0,"e"],[11157,0," "],[11158,0,"a"],[11159,0,"l"],[11160,0,"g"],[11161,0,"o"],[11162,0,"r"],[11163,0,"i"],[11164,0,"t"],[11165,0,"h"],[11166,0,"m"],[11167,0," "],[11168,0,"i"],[11169,0,"n"],[11170,0," "],[11171,0,"t"],[11172,0,"h"],[11173,0,"i"],[11174,0,"s"],[11175,0," "],[11176,0,"p"],[11177,0,"a"],[11178,0,"p"],[11179,0,"e"],[11180,0,"r"],[11181,0," "],[11182,0,"p"],[11183,0,"r"],[11184,0,"e"],[11185,0,"s"],[11186,0,"e"],[11187,0,"r"],[11188,0,"v"],[11189,0,"e"],[11190,0,"s"],[11191,0," "],[11192,0,"a"],[11193,0,"l"],[11194,0,"l"],[11195,0," "],[11196,0,"o"],[11196,1],[11196,0,"u"],[11197,0,"s"],[11198,0,"e"],[11199,0,"r"],[11200,0," "],[11201,0,"i"],[11202,0,"n"],[11203,0,"p"],[11204,0,"u"],[11205,0,"t"],[11206,0,","],[11207,0," "],[11208,0,"a"],[11209,0,"n"],[11210,0,"d"],[11211,0," "],[11212,0,"s"],[11213,0,"o"],[11214,0," "],[11215,0,"i"],[11216,0,"t"],[11217,0," "],[11218,0,"e"],[11219,0,"x"],[11220,0,"h"],[11221,0,"i"],[11222,0,"b"],[11223,0,"i"],[11224,0,"t"],[11225,0,"s"],[11226,0," "],[11227,0,"t"],[11228,0,"h"],[11229,0,"e"],[11230,0," "],[11231,0,"b"],[11232,0,"e"],[11233,0,"h"],[11234,0,"a"],[11235,0,"v"],[11236,0,"i"],[11237,0,"o"],[11238,0,"r"],[11239,0," "],[11240,0,"i"],[11241,0,"n"],[11242,0," "],[11242,1],[11241,1],[11240,1],[11240,0,"s"],[11241,0,"h"],[11242,0,"o"],[11243,0,"w"],[11244,0,"n"],[11245,0," "],[11246,0,"i"],[11247,0,"n"],[11248,0," "],[11249,0,"F"],[11250,0,"i"],[11251,0,"g"],[11252,0,"u"],[11253,0,"r"],[11254,0,"e"],[11255,0,"~"],[11256,0,"\\"],[11257,0,"r"],[11258,0,"e"],[11259,0,"f"],[11260,0,"{"],[11261,0,"f"],[11262,0,"i"],[11263,0,"g"],[11264,0,":"],[11265,0,"t"],[11266,0,"o"],[11267,0,"d"],[11268,0,"o"],[11269,0,"-"],[11270,0,"i"],[11271,0,"t"],[11272,0,"e"],[11273,0,"m"],[11274,0,"}"],[11275,0,"."],[11276,0," "],[11277,0,"F"],[11278,0,"u"],[11279,0,"r"],[11280,0,"t"],[11281,0,"h"],[11282,0,"e"],[11283,0,"r"],[11284,0," "],[11285,0,"s"],[11286,0,"t"],[11287,0,"u"],[11288,0,"d"],[11289,0,"y"],[11290,0," "],[11291,0,"w"],[11292,0,"i"],[11293,0,"l"],[11294,0,"l"],[11295,0," "],[11296,0,"b"],[11297,0,"e"],[11298,0," "],[11299,0,"r"],[11300,0,"e"],[11301,0,"q"],[11302,0,"u"],[11303,0,"i"],[11304,0,"r"],[11305,0,"e"],[11306,0,"d"],[11307,0," "],[11308,0,"t"],[11309,0,"o"],[11310,0," "],[11311,0,"d"],[11312,0,"e"],[11313,0,"t"],[11314,0,"e"],[11315,0,"r"],[11316,0,"m"],[11317,0,"i"],[11318,0,"n"],[11319,0,"e"],[11320,0," "],[11321,0,"t"],[11322,0,"o"],[11323,0," "],[11324,0,"w"],[11325,0,"h"],[11326,0,"a"],[11327,0,"t"],[11328,0," "],[11329,0,"d"],[11330,0,"e"],[11331,0,"g"],[11332,0,"r"],[11333,0,"e"],[11334,0,"e"],[11335,0," "],[11336,0,"t"],[11337,0,"h"],[11338,0,"i"],[11339,0,"s"],[11340,0," "],[11341,0,"b"],[11342,0,"e"],[11343,0,"h"],[11344,0,"a"],[11345,0,"v"],[11346,0,"i"],[11347,0,"o"],[11348,0,"r"],[11349,0," "],[11350,0,"m"],[11351,0,"a"],[11352,0,"t"],[11353,0,"c"],[11354,0,"h"],[11355,0,"e"],[11356,0,"s"],[11357,0," "],[11358,0,"t"],[11359,0,"h"],[11360,0,"e"],[11361,0," "],[11362,0,"e"],[11363,0,"x"],[11364,0,"p"],[11365,0,"e"],[11366,0,"c"],[11367,0,"t"],[11368,0,"a"],[11369,0,"t"],[11370,0,"i"],[11371,0,"o"],[11372,0,"n"],[11373,0,"s"],[11374,0," "],[11375,0,"o"],[11376,0,"f"],[11377,0," "],[11378,0,"a"],[11379,0,"p"],[11380,0,"p"],[11381,0,"l"],[11382,0,"i"],[11383,0,"c"],[11384,0,"a"],[11385,0,"t"],[11386,0,"i"],[11387,0,"o"],[11388,0,"n"],[11389,0," "],[11390,0,"d"],[11391,0,"e"],[11392,0,"v"],[11393,0,"e"],[11394,0,"l"],[11395,0,"o"],[11396,0,"p"],[11397,0,"e"],[11398,0,"r"],[11399,0,"s"],[11400,0," "],[11401,0,"a"],[11402,0,"n"],[11403,0,"d"],[11404,0," "],[11405,0,"u"],[11406,0,"s"],[11407,0,"e"],[11408,0,"r"],[11409,0,"s"],[11410,0,"."],[5366,0," "],[5367,0,"A"],[5368,0,"n"],[5369,0," "],[5370,0,"i"],[5371,0,"m"],[5372,0,"p"],[5373,0,"l"],[5374,0,"e"],[5375,0,"m"],[5376,0,"e"],[5377,0,"n"],[5378,0,"t"],[5379,0,"a"],[5380,0,"t"],[5381,0,"i"],[5382,0,"o"],[5383,0,"n"],[5384,0," "],[5385,0,"m"],[5386,0,"a"],[5387,0,"y"],[5388,0," "],[5389,0,"k"],[5390,0,"e"],[5391,0,"e"],[5392,0,"p"],[5393,0," "],[5394,0,"m"],[5395,0,"e"],[5396,0,"t"],[5397,0,"a"],[5398,0,"d"],[5399,0,"a"],[5400,0,"t"],[5401,0,"a"],[5402,0," "],[5403,0,"a"],[5404,0,"b"],[5405,0,"o"],[5406,0,"u"],[5407,0,"t"],[5408,0," "],[5409,0,"t"],[5410,0,"h"],[5411,0,"e"],[5412,0," "],[5413,0,"p"],[5414,0,"r"],[5415,0,"o"],[5416,0,"v"],[5417,0,"e"],[5418,0,"n"],[5419,0,"a"],[5420,0,"n"],[5421,0,"c"],[5422,0,"e"],[5423,0," "],[5424,0,"o"],[5425,0,"f"],[5426,0," "],[5427,0,"e"],[5428,0,"a"],[5429,0,"c"],[5430,0,"h"],[5431,0," "],[5432,0,"v"],[5433,0,"a"],[5434,0,"l"],[5435,0,"u"],[5436,0,"e"],[5437,0," "],[5438,0,"("],[5439,0,"w"],[5440,0,"h"],[5441,0,"o"],[5442,0," "],[5443,0,"m"],[5444,0,"a"],[5445,0,"d"],[5446,0,"e"],[5447,0," "],[5448,0,"t"],[5449,0,"h"],[5450,0,"e"],[5451,0," "],[5452,0,"c"],[5453,0,"h"],[5454,0,"a"],[5455,0,"n"],[5456,0,"g"],[5457,0,"e"],[5458,0,","],[5459,0," "],[5460,0,"o"],[5461,0,"n"],[5462,0," "],[5463,0,"w"],[5464,0,"h"],[5465,0,"i"],[5466,0,"c"],[5467,0,"h"],[5468,0," "],[5469,0,"d"],[5470,0,"e"],[5471,0,"v"],[5472,0,"i"],[5473,0,"c"],[5474,0,"e"],[5475,0," "],[5476,0,"a"],[5477,0,"t"],[5478,0," "],[5479,0,"w"],[5480,0,"h"],[5481,0,"a"],[5482,0,"t"],[5483,0," "],[5484,0,"t"],[5485,0,"i"],[5486,0,"m"],[5487,0,"e"],[5488,0,")"],[5475,0,","],[5490,0," "],[5491,0,"t"],[5492,0,"o"],[5493,0," "],[5494,0,"a"],[5495,0,"s"],[5496,0,"s"],[5497,0,"i"],[5498,0,"s"],[5499,0,"t"],[5500,0," "],[5501,0,"u"],[5502,0,"s"],[5503,0,"e"],[5504,0,"r"],[5505,0,"s"],[5506,0," "],[5507,0,"w"],[5508,0,"i"],[5509,0,"t"],[5510,0,"h"],[5511,0," "],[5512,0,"r"],[5513,0,"e"],[5514,0,"s"],[5515,0,"o"],[5516,0,"l"],[5517,0,"v"],[5518,0,"i"],[5519,0,"n"],[5520,0,"g"],[5521,0," "],[5522,0,"t"],[5523,0,"h"],[5524,0,"e"],[5525,0," "],[5526,0,"c"],[5527,0,"o"],[5528,0,"n"],[5529,0,"f"],[5530,0,"l"],[5531,0,"i"],[5532,0,"c"],[5533,0,"t"],[5534,0,"."],[5512,0,"m"],[5513,0,"a"],[5514,0,"n"],[5515,0,"u"],[5516,0,"a"],[5517,0,"l"],[5518,0,"l"],[5519,0,"y"],[5520,0," "],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[12996,1],[11590,0,"\n"],[11591,0,"\n"],[11592,0,"\\"],[11593,0,"s"],[11594,0,"u"],[11595,0,"b"],[11596,0,"s"],[11597,0,"e"],[11598,0,"c"],[11599,0,"t"],[11600,0,"i"],[11601,0,"o"],[11602,0,"n"],[11603,0,"{"],[11604,0,"D"],[11605,0,"o"],[11606,0,"c"],[11607,0,"u"],[11608,0,"m"],[11609,0,"e"],[11610,0,"n"],[11611,0,"t"],[11612,0," "],[11613,0,"e"],[11614,0,"d"],[11615,0,"i"],[11616,0,"t"],[11617,0,"i"],[11618,0,"n"],[11619,0,"g"],[11620,0," "],[11621,0,"A"],[11622,0,"P"],[11623,0,"I"],[11624,0,"}"],[11625,0,"\n"],[11590,0,"\n"],[11591,0,"\\"],[11592,0,"s"],[11593,0,"u"],[11594,0,"b"],[11595,0,"s"],[11596,0,"e"],[11597,0,"c"],[11598,0,"t"],[11599,0,"i"],[11600,0,"o"],[11601,0,"n"],[11602,0,"{"],[11603,0,"J"],[11604,0,"S"],[11605,0,"O"],[11606,0,"N"],[11607,0," "],[11608,0,"v"],[11609,0,"e"],[11610,0,"r"],[11611,0,"s"],[11612,0,"u"],[11613,0,"s"],[11614,0," "],[11615,0,"o"],[11616,0,"t"],[11617,0,"h"],[11618,0,"e"],[11619,0,"r"],[11620,0," "],[11621,0,"m"],[11622,0,"o"],[11623,0,"d"],[11624,0,"e"],[11625,0,"l"],[11626,0,"s"],[11627,0,"}"],[11628,0,"\n"],[11629,0,"\n"],[11630,0,"T"],[11631,0,"h"],[11632,0,"e"],[11633,0," "],[11634,0,"m"],[11635,0,"o"],[11636,0,"s"],[11637,0,"t"],[11638,0," "],[11639,0,"c"],[11640,0,"o"],[11641,0,"m"],[11642,0,"m"],[11643,0,"o"],[11644,0,"n"],[11645,0," "],[11646,0,"a"],[11647,0,"l"],[11648,0,"t"],[11649,0,"e"],[11650,0,"r"],[11651,0,"n"],[11652,0,"a"],[11653,0,"t"],[11654,0,"i"],[11655,0,"v"],[11656,0,"e"],[11657,0," "],[11658,0,"t"],[11659,0,"o"],[11660,0," "],[11661,0,"J"],[11662,0,"S"],[11663,0,"O"],[11664,0,"N"],[11665,0," "],[11666,0,"i"],[11667,0,"s"],[11668,0," "],[11669,0,"X"],[11670,0,"M"],[11671,0,"L"],[11672,0,","],[11673,0," "],[11674,0,"a"],[11675,0,"n"],[11676,0,"d"],[11677,0," "],[11678,0,"c"],[11679,0,"o"],[11680,0,"l"],[11681,0,"l"],[11682,0,"a"],[11683,0,"b"],[11684,0,"o"],[11685,0,"r"],[11686,0,"a"],[11687,0,"t"],[11688,0,"i"],[11689,0,"v"],[11690,0,"e"],[11691,0," "],[11692,0,"e"],[11693,0,"d"],[11694,0,"i"],[11695,0,"t"],[11696,0,"i"],[11697,0,"n"],[11698,0,"g"],[11699,0," "],[11700,0,"o"],[11701,0,"f"],[11702,0," "],[11703,0,"X"],[11704,0,"M"],[11705,0,"L"],[11706,0," "],[11707,0,"d"],[11708,0,"o"],[11709,0,"c"],[11710,0,"u"],[11711,0,"m"],[11712,0,"e"],[11713,0,"n"],[11714,0,"t"],[11715,0,"s"],[11716,0," "],[11717,0,"h"],[11718,0,"a"],[11719,0,"s"],[11720,0," "],[11721,0,"b"],[11722,0,"e"],[11723,0,"e"],[11724,0,"n"],[11725,0," "],[11726,0,"e"],[11727,0,"x"],[11728,0,"t"],[11729,0,"e"],[11730,0,"n"],[11731,0,"s"],[11732,0,"i"],[11733,0,"v"],[11734,0,"e"],[11735,0,"l"],[11736,0,"y"],[11737,0," "],[11738,0,"s"],[11739,0,"t"],[11740,0,"u"],[11741,0,"d"],[11742,0,"i"],[11743,0,"e"],[11744,0,"d"],[11745,0,"."],[11746,0," "],[11746,1],[11745,1],[11745,0," "],[11746,0,"("],[11747,0,"I"],[11748,0,"g"],[11749,0,"n"],[11750,0,"a"],[11751,0,"t"],[11752,0," "],[11753,0,"a"],[11754,0,"n"],[11755,0,"d"],[11756,0," "],[11757,0,"N"],[11758,0,"o"],[11759,0,"r"],[11760,0,"r"],[11761,0,"i"],[11762,0,"e"],[11763,0,","],[11764,0," "],[11765,0,"2"],[11766,0,"0"],[11767,0,"3"],[11768,0,")"],[11769,0,"."],[11767,0,"0"],[11736,1],[11735,1],[11734,1],[11733,1],[11732,1],[11731,1],[11730,1],[11729,1],[11728,1],[11727,1],[11726,1],[11726,0,"p"],[11727,0,"r"],[11728,0,"e"],[11729,0,"v"],[11730,0,"i"],[11731,0,"o"],[11732,0,"u"],[11733,0,"s"],[11734,0,"l"],[11735,0,"y"],[11770,0," "],[11615,0,"X"],[11616,0,"M"],[11617,0,"L"],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11618,1],[11762,0,"A"],[11763,0,"l"],[11764,0,"t"],[11765,0,"h"],[11766,0,"o"],[11767,0,"u"],[11768,0,"g"],[11769,0,"h"],[11770,0," "],[11771,0,"t"],[11772,0,"h"],[11773,0,"e"],[11774,0," "],[11775,0,"t"],[11776,0,"r"],[11777,0,"e"],[11778,0,"e"],[11779,0," "],[11780,0,"s"],[11781,0,"t"],[11782,0,"r"],[11783,0,"u"],[11784,0,"c"],[11785,0,"t"],[11786,0,"u"],[11787,0,"r"],[11788,0,"e"],[11762,0,"B"],[11763,0,"e"],[11764,0,"s"],[11765,0,"i"],[11766,0,"d"],[11767,0,"e"],[11768,0,"s"],[11769,0," "],[11770,0,"t"],[11771,0,"h"],[11772,0,"e"],[11773,0," "],[11774,0,"s"],[11775,0,"u"],[11776,0,"p"],[11777,0,"e"],[11778,0,"r"],[11779,0,"f"],[11780,0,"i"],[11781,0,"c"],[11782,0,"i"],[11783,0,"a"],[11784,0,"l"],[11785,0," "],[11786,0,"s"],[11787,0,"y"],[11788,0,"n"],[11789,0,"t"],[11790,0,"a"],[11791,0,"t"],[11791,1],[11791,0,"c"],[11792,0,"t"],[11793,0,"i"],[11794,0,"c"],[11795,0,"a"],[11796,0,"l"],[11797,0," "],[11798,0,"d"],[11799,0,"i"],[11800,0,"f"],[11801,0,"f"],[11802,0,"e"],[11803,0,"r"],[11804,0,"e"],[11805,0,"n"],[11806,0,"c"],[11807,0,"e"],[11808,0,"s"],[11809,0,","],[11810,0," "],[11811,1],[11811,1],[11811,1],[11811,1],[11811,1],[11811,1],[11811,1],[11811,1],[11811,1],[11829,0," "],[11830,0,"o"],[11831,0,"f"],[11832,0," "],[11833,0,"X"],[11834,0,"M"],[11835,0,"L"],[11836,0," "],[11837,0,"a"],[11838,0,"n"],[11839,0,"d"],[11840,0," "],[11841,0,"J"],[11842,0,"S"],[11843,0,"O"],[11844,0,"N"],[11845,0," "],[11846,0,"a"],[11847,0,"p"],[11848,0,"p"],[11849,0,"e"],[11850,0,"a"],[11851,0,"r"],[11852,0,"s"],[11853,0," "],[11854,0,"q"],[11855,0,"u"],[11856,0,"i"],[11857,0,"t"],[11858,0,"e"],[11859,0," "],[11860,0,"s"],[11861,0,"i"],[11862,0,"m"],[11863,0,"i"],[11864,0,"l"],[11865,0,"a"],[11866,0,"r"],[11867,0,"."],[11868,0," "],[11869,0,"H"],[11870,0,"o"],[11871,0,"w"],[11872,0,"e"],[11873,0,"v"],[11874,0,"e"],[11875,0,"r"],[11876,0,","],[11877,0," "],[11878,0,"t"],[11879,0,"h"],[11880,0,"e"],[11881,0,"r"],[11882,0,"e"],[11883,0," "],[11884,0,"i"],[11885,0,"s"],[11886,0," "],[11887,0,"a"],[11888,0,"n"],[11889,0," "],[11890,0,"i"],[11891,0,"m"],[11892,0,"p"],[11893,0,"o"],[11894,0,"r"],[11895,0,"t"],[11896,0,"a"],[11897,0,"n"],[11898,0,"t"],[11899,0," "],[11900,0,"d"],[11901,0,"i"],[11902,0,"f"],[11903,0,"f"],[11904,0,"e"],[11905,0,"r"],[11906,0,"e"],[11907,0,"n"],[11908,0,"c"],[11909,0,"e"],[11910,0," "],[11911,0,"t"],[11912,0,"h"],[11913,0,"a"],[11914,0,"t"],[11915,0," "],[11916,0,"w"],[11917,0,"e"],[11918,0," "],[11919,0,"s"],[11920,0,"h"],[11921,0,"o"],[11922,0,"u"],[11923,0,"l"],[11924,0,"d"],[11925,0," "],[11926,0,"h"],[11927,0,"i"],[11928,0,"g"],[11929,0,"h"],[11930,0,"l"],[11931,0,"i"],[11932,0,"g"],[11933,0,"h"],[11934,0,"t"],[11935,0,"."],[11936,0,"\n"],[11937,0,"\n"],[11938,0,"J"],[11939,0,"S"],[11940,0,"O"],[11941,0,"N"],[11942,0," "],[11943,0,"h"],[11944,0,"a"],[11945,0,"s"],[11946,0," "],[11947,0,"t"],[11948,0,"w"],[11949,0,"o"],[11950,0," "],[11951,0,"c"],[11952,0,"o"],[11953,0,"l"],[11954,0,"l"],[11955,0,"e"],[11956,0,"c"],[11957,0,"t"],[11958,0,"i"],[11959,0,"o"],[11960,0,"n"],[11961,0," "],[11962,0,"c"],[11963,0,"o"],[11964,0,"n"],[11965,0,"s"],[11966,0,"t"],[11967,0,"r"],[11968,0,"u"],[11969,0,"c"],[11970,0,"t"],[11971,0,"s"],[11972,0,":"],[11973,0," "],[11974,0,"m"],[11975,0,"a"],[11976,0,"p"],[11977,0,"s"],[11978,0," "],[11979,0,"f"],[11980,0,"o"],[11981,0,"r"],[11982,0," "],[11983,0,"u"],[11984,0,"n"],[11985,0,"o"],[11986,0,"r"],[11987,0,"d"],[11988,0,"e"],[11989,0,"r"],[11990,0,"e"],[11991,0,"d"],[11992,0," "],[11993,0,"k"],[11994,0,"e"],[11995,0,"y"],[11996,0,"-"],[11997,0,"v"],[11998,0,"a"],[11999,0,"l"],[12000,0,"u"],[12001,0,"e"],[12002,0," "],[12003,0,"p"],[12004,0,"a"],[12005,0,"i"],[12006,0,"r"],[12007,0,"s"],[12008,0,","],[12009,0," "],[12010,0,"a"],[12011,0,"n"],[12012,0,"d"],[12013,0," "],[12014,0,"l"],[12015,0,"i"],[12016,0,"s"],[12017,0,"t"],[12018,0,"s"],[12019,0," "],[12020,0,"f"],[12021,0,"o"],[12022,0,"r"],[12023,0," "],[12024,0,"o"],[12025,0,"r"],[12026,0,"d"],[12027,0,"e"],[12028,0,"r"],[12029,0,"e"],[12030,0,"d"],[12031,0," "],[12032,0,"s"],[12033,0,"e"],[12034,0,"q"],[12035,0,"u"],[12036,0,"e"],[12037,0,"n"],[12038,0,"c"],[12039,0,"e"],[12040,0,"s"],[12041,0,"."],[12042,0," "],[11972,0," "],[11973,0,"t"],[11974,0,"h"],[11975,0,"a"],[11976,0,"t"],[11977,0," "],[11978,0,"c"],[11979,0,"a"],[11980,0,"n"],[11981,0," "],[11982,0,"b"],[11983,0,"e"],[11984,0," "],[11985,0,"a"],[11986,0,"r"],[11987,0,"b"],[11988,0,"i"],[11989,0,"t"],[11990,0,"r"],[11991,0,"a"],[11992,0,"r"],[11993,0,"i"],[11994,0,"l"],[11995,0,"y"],[11996,0," "],[11997,0,"n"],[11998,0,"e"],[11999,0,"s"],[12000,0,"t"],[12001,0,"e"],[12002,0,"d"],[12074,0,"X"],[12075,0,"M"],[12076,0,"L"],[12077,0," "],[12078,0,"i"],[12079,0,"s"],[12080,0," "],[12081,0,"m"],[12082,0,"o"],[12083,0,"r"],[12084,0,"e"],[12085,0," "],[12086,0,"r"],[12087,0,"e"],[12088,0,"s"],[12089,0,"t"],[12090,0,"r"],[12091,0,"i"],[12092,0,"c"],[12093,0,"t"],[12094,0,"e"],[12095,0,"d"],[12096,0," "],[12097,0,"i"],[12098,0,"n"],[12099,0," "],[12100,0,"t"],[12101,0,"h"],[12102,0,"i"],[12103,0,"s"],[12104,0," "],[12105,0,"r"],[12106,0,"e"],[12107,0,"g"],[12108,0,"a"],[12109,0,"r"],[12110,0,"d"],[12111,0,":"],[12112,0," "],[12113,0,"t"],[12114,0,"h"],[12115,0,"e"],[12116,0," "],[12117,0,"c"],[12118,0,"h"],[12119,0,"i"],[12120,0,"l"],[12121,0,"d"],[12122,0,"r"],[12123,0,"e"],[12124,0,"n"],[12125,0," "],[12126,0,"o"],[12127,0,"f"],[12128,0," "],[12129,0,"a"],[12130,0,"n"],[12131,0," "],[12132,0,"e"],[12133,0,"l"],[12134,0,"e"],[12135,0,"m"],[12136,0,"e"],[12137,0,"n"],[12138,0,"t"],[12139,0," "],[12140,0,"a"],[12141,0,"r"],[12142,0,"e"],[12143,0," "],[12144,0,"a"],[12144,1],[12143,1],[12142,1],[12141,1],[12140,1],[12140,0,"f"],[12141,0,"o"],[12142,0,"r"],[12143,0,"m"],[12144,0," "],[12145,0,"a"],[12146,0,"n"],[12147,0," "],[12148,0,"o"],[12149,0,"r"],[12150,0,"d"],[12151,0,"e"],[12152,0,"r"],[12153,0,"e"],[12154,0,"d"],[12155,0," "],[12156,0,"s"],[12157,0,"e"],[12158,0,"q"],[12159,0,"u"],[12160,0,"e"],[12161,0,"n"],[12162,0,"c"],[12163,0,"e"],[12148,0,"b"],[12149,0,"b"],[12150,0,"b"],[12151,0,"b"],[12152,0,"b"],[12153,0,"b"],[12153,1],[12152,1],[12151,1],[12150,1],[12149,1],[12148,1],[12111,1],[12110,1],[12109,1],[12108,1],[12107,1],[12106,1],[12105,1],[12104,1],[12103,1],[12102,1],[12101,1],[12100,1],[12099,1],[12098,1],[12097,1],[12096,1],[12095,1],[12094,1],[12093,1],[12092,1],[12091,1],[12090,1],[12089,1],[12088,1],[12087,1],[12086,1],[12085,1],[12084,1],[12083,1],[12082,1],[12081,1],[12080,1],[12079,1],[12078,1],[12077,1],[12076,1],[12076,0,"L"],[12077,0,","],[12074,0,"I"],[12075,0,"n"],[12076,0," "],[12133,0,","],[12134,0," "],[12135,0,"w"],[12136,0,"h"],[12137,0,"i"],[12138,0,"l"],[12139,0,"e"],[12140,0," "],[12141,0,"t"],[12142,0,"h"],[12143,0,"e"],[12144,0," "],[12145,0,"a"],[12146,0,"t"],[12147,0,"t"],[12148,0,"r"],[12149,0,"i"],[12150,0,"b"],[12151,0,"u"],[12152,0,"t"],[12153,0,"e"],[12154,0,"s"],[12155,0," "],[12156,0,"o"],[12157,0,"f"],[12158,0," "],[12159,0,"a"],[12160,0,"n"],[12161,0," "],[12162,0,"e"],[12163,0,"l"],[12164,0,"e"],[12165,0,"m"],[12166,0,"e"],[12167,0,"n"],[12168,0,"t"],[12169,0," "],[12170,0,"a"],[12171,0,"r"],[12172,0,"e"],[12173,0," "],[12174,0,"u"],[12175,0,"n"],[12176,0,"o"],[12177,0,"r"],[12178,0,"d"],[12179,0,"e"],[12180,0,"r"],[12181,0,"e"],[12182,0,"d"],[12183,0," "],[12184,0,"k"],[12185,0,"e"],[12186,0,"y"],[12187,0,"-"],[12188,0,"v"],[12189,0,"a"],[12190,0,"l"],[12191,0,"u"],[12192,0,"e"],[12193,0," "],[12194,0,"p"],[12195,0,"a"],[12196,0,"i"],[12197,0,"r"],[12198,0,"s"],[12199,0,"."],[12200,0," "],[12201,0,"H"],[12202,0,"o"],[12203,0,"w"],[12204,0,"e"],[12205,0,"v"],[12206,0,"e"],[12207,0,"r"],[12208,0,","],[12209,0," "],[12210,0,"i"],[12211,0,"n"],[12212,0," "],[12213,0,"X"],[12214,0,"M"],[12215,0,"L"],[12215,1],[12214,1],[12213,1],[12212,1],[12211,1],[12210,1],[12210,0,"X"],[12211,0,"M"],[12212,0,"L"],[12213,0," "],[12214,0,"d"],[12215,0,"o"],[12216,0,"e"],[12217,0,"s"],[12218,0," "],[12219,0,"n"],[12220,0,"o"],[12221,0,"t"],[12222,0," "],[12223,0,"a"],[12224,0,"l"],[12225,0,"l"],[12226,0,"o"],[12227,0,"w"],[12228,0," "],[12229,0,"n"],[12230,0,"e"],[12231,0,"s"],[12232,0,"t"],[12233,0,"e"],[12234,0,"d"],[12235,0," "],[12236,0,"c"],[12237,0,"h"],[12237,1],[12236,1],[12236,0,"e"],[12237,0,"l"],[12238,0,"e"],[12239,0,"m"],[12240,0,"e"],[12241,0,"n"],[12242,0,"t"],[12243,0,"s"],[12244,0," "],[12245,0,"i"],[12246,0,"n"],[12247,0,"s"],[12248,0,"i"],[12249,0,"d"],[12250,0,"e"],[12251,0," "],[12252,0,"a"],[12253,0,"t"],[12254,0,"t"],[12255,0,"r"],[12256,0,"i"],[12257,0,"b"],[12258,0,"u"],[12259,0,"t"],[12260,0,"e"],[12261,0,"s"],[12262,0," "],[12263,0,"-"],[12264,0,"-"],[12265,0," "],[12266,0,"t"],[12267,0,"h"],[12268,0,"e"],[12269,0," "],[12270,0,"v"],[12271,0,"a"],[12272,0,"l"],[12273,0,"u"],[12274,0,"e"],[12275,0," "],[12276,0,"o"],[12277,0,"f"],[12278,0," "],[12279,0,"a"],[12280,0,"n"],[12281,0," "],[12282,0,"a"],[12283,0,"t"],[12284,0,"t"],[12285,0,"r"],[12286,0,"i"],[12287,0,"b"],[12288,0,"u"],[12289,0,"t"],[12290,0,"e"],[12291,0," "],[12292,0,"c"],[12293,0,"a"],[12294,0,"n"],[12295,0," "],[12296,0,"o"],[12297,0,"n"],[12298,0,"l"],[12299,0,"y"],[12300,0," "],[12301,0,"b"],[12302,0,"e"],[12303,0," "],[12304,0,"a"],[12305,0," "],[12306,0,"p"],[12307,0,"r"],[12308,0,"i"],[12309,0,"m"],[12310,0,"i"],[12311,0,"t"],[12312,0,"i"],[12313,0,"v"],[12314,0,"e"],[12315,0," "],[12316,0,"d"],[12317,0,"a"],[12318,0,"t"],[12319,0,"a"],[12320,0,"t"],[12321,0,"y"],[12322,0,"p"],[12323,0,"e"],[12324,0,"."],[12325,0," "],[12326,0,"T"],[12327,0,"h"],[12328,0,"u"],[12329,0,"s"],[12330,0,","],[12331,0," "],[12332,0,"X"],[12333,0,"M"],[12334,0,"l"],[12335,0," "],[12336,0,"s"],[12337,0,"u"],[12338,0,"p"],[12339,0,"p"],[12340,0,"o"],[12341,0,"r"],[12342,0,"t"],[12343,0,"s"],[12344,0," "],[12334,1],[12334,0,"L"],[12345,0,"m"],[12346,0,"a"],[12347,0,"p"],[12348,0,"s"],[12349,0," "],[12350,0,"w"],[12351,0,"i"],[12352,0,"t"],[12353,0,"h"],[12354,0,"i"],[12355,0,"n"],[12356,0," "],[12357,0,"l"],[12358,0,"i"],[12359,0,"s"],[12360,0,"t"],[12361,0,"s"],[12362,0,","],[12363,0," "],[12364,0,"b"],[12365,0,"u"],[12366,0,"t"],[12367,0," "],[12368,0,"n"],[12369,0,"o"],[12370,0,"t"],[12371,0," "],[12372,0,"l"],[12373,0,"i"],[12374,0,"s"],[12375,0,"t"],[12376,0,"s"],[12377,0," "],[12378,0,"w"],[12379,0,"i"],[12380,0,"t"],[12381,0,"h"],[12382,0,"i"],[12383,0,"n"],[12384,0," "],[12385,0,"m"],[12386,0,"a"],[12387,0,"p"],[12388,0,"s"],[12389,0,"."],[12390,0,"\n"],[12391,0,"\n"],[12392,0,"S"],[12377,0," "],[12378,0,"o"],[12379,0,"r"],[12380,0," "],[12381,0,"m"],[12382,0,"a"],[12383,0,"p"],[12384,0,"s"],[12392,0," "],[12393,0,"o"],[12394,0,"t"],[12395,0,"h"],[12396,0,"e"],[12397,0,"r"],[12404,0," "],[12405,0,"T"],[12406,0,"h"],[12407,0,"e"],[12408,0," "],[12409,0,"e"],[12410,0,"x"],[12411,0,"a"],[12412,0,"m"],[12413,0,"p"],[12414,0,"l"],[12415,0,"e"],[12416,0," "],[12417,0,"i"],[12418,0,"n"],[12419,0," "],[12420,0,"F"],[12421,0,"i"],[12422,0,"g"],[12423,0,"u"],[12424,0,"r"],[12425,0,"e"],[12426,0,"~"],[12427,0,"\\"],[12428,0,"r"],[12429,0,"e"],[12430,0,"f"],[12431,0,"{"],[12432,0,"f"],[12433,0,"i"],[12434,0,"g"],[12435,0,":"],[12436,0,"t"],[12437,0,"w"],[12438,0,"o"],[12439,0,"-"],[12440,0,"l"],[12441,0,"i"],[12442,0,"s"],[12443,0,"t"],[12444,0,"s"],[12445,0,"}"],[12446,0," "],[12447,0,"c"],[12448,0,"a"],[12449,0,"n"],[12450,0,"n"],[12451,0,"o"],[12452,0,"t"],[12453,0," "],[12454,0,"o"],[12455,0,"c"],[12456,0,"c"],[12457,0,"u"],[12458,0,"r"],[12459,0," "],[12460,0,"i"],[12461,0,"n"],[12462,0," "],[12463,0,"X"],[12464,0,"M"],[12465,0,"L"],[12466,0," "],[12467,0,"f"],[12468,0,"o"],[12469,0,"r"],[12470,0," "],[12471,0,"t"],[12472,0,"h"],[12473,0,"i"],[12474,0,"s"],[12475,0," "],[12476,0,"r"],[12477,0,"e"],[12478,0,"a"],[12479,0,"s"],[12480,0,"o"],[12481,0,"n"],[12405,0,"T"],[12406,0,"h"],[12407,0,"i"],[12408,0,"s"],[12409,0," "],[12409,1],[12408,1],[12407,1],[12406,1],[12405,1],[12404,1],[12404,0," "],[12405,0,"I"],[12406,0,"n"],[12407,0," "],[12408,0,"t"],[12409,0,"h"],[12410,0,"i"],[12411,0,"s"],[12412,0," "],[12413,0,"r"],[12414,0,"e"],[12415,0,"g"],[12416,0,"a"],[12417,0,"r"],[12418,0,"d"],[12419,0,","],[12420,0," "],[12421,0,"X"],[12422,0,"M"],[12423,0,"L"],[12424,0," "],[12425,0,"i"],[12426,0,"s"],[12427,0," "],[12428,0,"m"],[12429,0,"o"],[12430,0,"r"],[12431,0,"e"],[12432,0," "],[12433,0,"r"],[12434,0,"e"],[12435,0,"s"],[12436,0,"t"],[12437,0,"r"],[12438,0,"i"],[12438,1],[12437,1],[12436,1],[12435,1],[12434,1],[12433,1],[12432,1],[12431,1],[12430,1],[12429,1],[12428,1],[12428,0,"l"],[12429,0,"e"],[12430,0,"s"],[12431,0,"s"],[12432,0," "],[12433,0,"e"],[12434,0,"x"],[12435,0,"p"],[12436,0,"r"],[12437,0,"e"],[12438,0,"s"],[12439,0,"s"],[12440,0,"i"],[12441,0,"v"],[12442,0,"e"],[12443,0," "],[12444,0,"t"],[12445,0,"h"],[12446,0,"a"],[12447,0,"n"],[12448,0," "],[12449,0,"J"],[12450,0,"S"],[12451,0,"O"],[12452,0,"N"],[12453,0,":"],[12454,0," "],[12455,1],[12455,0,"t"],[12516,0,"."],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12517,1],[12520,0,"o"],[12521,0,"m"],[12522,0,"e"],[12523,0," "],[12524,0,"a"],[12525,0,"p"],[12526,0,"p"],[12527,0,"l"],[12528,0,"i"],[12529,0,"c"],[12530,0,"a"],[12531,0,"t"],[12532,0,"i"],[12533,0,"o"],[12534,0,"n"],[12535,0,"s"],[12536,0," "],[12537,0,"m"],[12538,0,"a"],[12539,0,"y"],[12540,0," "],[12541,0,"a"],[12542,0,"t"],[12543,0,"t"],[12544,0,"a"],[12545,0,"c"],[12546,0,"h"],[12547,0," "],[12548,0,"m"],[12549,0,"a"],[12550,0,"p"],[12551,0,"-"],[12552,0,"l"],[12553,0,"i"],[12554,0,"k"],[12555,0,"e"],[12556,0," "],[12557,0,"s"],[12558,0,"e"],[12559,0,"m"],[12560,0,"a"],[12561,0,"n"],[12562,0,"t"],[12563,0,"i"],[12564,0,"c"],[12565,0,"s"],[12566,0," "],[12567,0,"t"],[12568,0,"o"],[12569,0," "],[12570,0,"t"],[12571,0,"h"],[12572,0,"e"],[12573,0," "],[12574,0,"c"],[12575,0,"h"],[12576,0,"i"],[12577,0,"l"],[12578,0,"d"],[12579,0,"r"],[12580,0,"e"],[12581,0,"n"],[12582,0," "],[12583,0,"o"],[12584,0,"f"],[12585,0," "],[12586,0,"a"],[12587,0,"n"],[12588,0," "],[12589,0,"X"],[12590,0,"M"],[12591,0,"L"],[12592,0," "],[12593,0,"d"],[12594,0,"o"],[12595,0,"c"],[12596,0,"u"],[12597,0,"m"],[12598,0,"e"],[12599,0,"n"],[12600,0,"t"],[12516,0,","],[12517,0," "],[12518,0,"a"],[12519,0,"s"],[12520,0," "],[12521,0,"i"],[12522,0,"t"],[12523,0," "],[12524,0,"w"],[12525,0,"o"],[12526,0,"u"],[12527,0,"l"],[12528,0,"d"],[12529,0," "],[12530,0,"r"],[12531,0,"e"],[12532,0,"s"],[12533,0,"u"],[12534,0,"l"],[12535,0,"t"],[12536,0," "],[12537,0,"i"],[12538,0,"n"],[12539,0," "],[12540,0,"t"],[12541,0,"w"],[12542,0,"o"],[12543,0," "],[12544,0,"s"],[12545,0,"e"],[12546,0,"p"],[12547,0,"a"],[12548,0,"r"],[12549,0,"a"],[12550,0,"t"],[12551,0,"e"],[12552,0," "],[12553,0,"l"],[12554,0,"i"],[12555,0,"s"],[12556,0,"t"],[12557,0,"s"],[12558,0," "],[12559,0,"r"],[12560,0,"a"],[12561,0,"t"],[12562,0,"h"],[12563,0,"e"],[12564,0,"r"],[12565,0," "],[12566,0,"t"],[12567,0,"h"],[12568,0,"a"],[12569,0,"n"],[12570,0," "],[12571,0,"o"],[12572,0,"n"],[12573,0,"e"],[12574,0," "],[12575,0,"m"],[12576,0,"e"],[12577,0,"r"],[12578,0,"g"],[12579,0,"e"],[12580,0,"d"],[12581,0," "],[12582,0,"l"],[12583,0,"i"],[12584,0,"s"],[12585,0,"t"],[12398,1],[12397,1],[12396,1],[12395,1],[12394,1],[12393,1],[12385,1],[12384,1],[12383,1],[12382,1],[12381,1],[12380,1],[12379,1],[12378,1],[12657,0,","],[12658,0," "],[12659,0,"f"],[12660,0,"o"],[12661,0,"r"],[12662,0," "],[12663,0,"e"],[12664,0,"x"],[12665,0,"a"],[12666,0,"m"],[12667,0,"p"],[12668,0,"l"],[12669,0,"e"],[12670,0," "],[12671,0,"b"],[12672,0,"y"],[12673,0," "],[12674,0,"u"],[12675,0,"s"],[12676,0,"i"],[12677,0,"n"],[12678,0,"g"],[12679,0," "],[12680,0,"t"],[12681,0,"h"],[12682,0,"e"],[12683,0," "],[12684,0,"e"],[12685,0,"l"],[12686,0,"e"],[12687,0,"m"],[12688,0,"e"],[12689,0,"n"],[12690,0,"t"],[12691,0," "],[12692,0,"n"],[12693,0,"a"],[12694,0,"m"],[12695,0,"e"],[12696,0," "],[12697,0,"o"],[12698,0,"r"],[12699,0," "],[12700,0,"a"],[12701,0,"n"],[12702,0," "],[12703,0,"a"],[12704,0,"t"],[12705,0,"t"],[12706,0,"r"],[12707,0,"i"],[12708,0,"b"],[12709,0,"u"],[12710,0,"t"],[12711,0,"e"],[12684,0,"c"],[12685,0,"h"],[12686,0,"i"],[12687,0,"l"],[12688,0,"d"],[12689,0," "],[12678,1],[12677,1],[12676,1],[12675,1],[12674,1],[12674,0,"i"],[12675,0,"n"],[12676,0,"t"],[12677,0,"e"],[12678,0,"r"],[12679,0,"p"],[12680,0,"r"],[12681,0,"e"],[12682,0,"t"],[12683,0,"i"],[12684,0,"n"],[12685,0,"g"],[12725,0," "],[12725,1],[12724,1],[12723,1],[12722,1],[12721,1],[12720,1],[12719,1],[12718,1],[12717,1],[12716,1],[12715,1],[12714,1],[12713,1],[12712,1],[12711,1],[12710,1],[12710,0,"a"],[12711,0,"s"],[12712,0," "],[12713,0,"k"],[12714,0,"e"],[12715,0,"y"],[12716,0,"."],[12717,0," "],[12718,0,"H"],[12719,0,"o"],[12720,0,"w"],[12721,0,"e"],[12722,0,"v"],[12723,0,"e"],[12724,0,"r"],[12725,0,","],[12726,0," "],[12727,0,"t"],[12728,0,"h"],[12729,0,"e"],[12730,0,"s"],[12731,0,"e"],[12732,0," "],[12733,0,"s"],[12734,0,"e"],[12735,0,"m"],[12736,0,"a"],[12737,0,"n"],[12738,0,"t"],[12739,0,"i"],[12740,0,"c"],[12741,0,"s"],[12742,0," "],[12743,0,"a"],[12744,0,"r"],[12745,0,"e"],[12746,0," "],[12747,0,"n"],[12748,0,"o"],[12749,0,"t"],[12750,0," "],[12751,0,"p"],[12752,0,"a"],[12753,0,"r"],[12754,0,"t"],[12755,0," "],[12756,0,"o"],[12757,0,"f"],[12758,0," "],[12759,0,"X"],[12760,0,"M"],[12761,0,"L"],[12762,0," "],[12763,0,"i"],[12764,0,"t"],[12765,0,"s"],[12766,0,"e"],[12767,0,"l"],[12768,0,"f"],[12769,0," "],[12770,0,"a"],[12771,0,"n"],[12772,0,"d"],[12773,0," "],[12774,0,"w"],[12775,0,"o"],[12776,0,"u"],[12777,0,"l"],[12778,0,"d"],[12779,0," "],[12780,0,"n"],[12781,0,"o"],[12782,0,"t"],[12783,0," "],[12784,0,"b"],[12785,0,"e"],[12786,0," "],[12787,0,"e"],[12788,0,"n"],[12789,0,"f"],[12790,0,"o"],[12791,0,"r"],[12792,0,"c"],[12793,0,"e"],[12794,0,"d"],[12795,0," "],[12796,0,"b"],[12797,0,"y"],[12798,0," "],[12799,0,"a"],[12800,0," "],[12801,0,"c"],[12802,0,"o"],[12803,0,"l"],[12804,0,"l"],[12805,0,"a"],[12806,0,"b"],[12807,0,"o"],[12808,0,"r"],[12809,0,"a"],[12810,0,"t"],[12811,0,"i"],[12812,0,"v"],[12813,0,"e"],[12814,0," "],[12815,0,"X"],[12816,0,"M"],[12817,0,"L"],[12818,0," "],[12819,0,"e"],[12820,0,"d"],[12821,0,"i"],[12822,0,"t"],[12823,0,"o"],[12824,0,"r"],[12825,0," "],[12825,1],[12824,1],[12823,1],[12822,1],[12821,1],[12820,1],[12819,1],[12818,1],[12817,1],[12816,1],[12815,1],[12814,1],[12813,1],[12812,1],[12811,1],[12810,1],[12809,1],[12808,1],[12807,1],[12806,1],[12805,1],[12804,1],[12803,1],[12802,1],[12801,1],[12800,1],[12799,1],[12798,1],[12797,1],[12796,1],[12795,1],[12795,0,":"],[12796,0," "],[12797,0,"a"],[12798,0," "],[12799,0,"c"],[12800,0,"o"],[12800,1],[12799,1],[12798,1],[12797,1],[12797,0,"e"],[12798,0,"x"],[12799,0,"i"],[12800,0,"s"],[12801,0,"t"],[12802,0,"i"],[12803,0,"n"],[12804,0,"g"],[12805,0," "],[12806,0,"c"],[12807,0,"o"],[12808,0,"l"],[12809,0,"l"],[12810,0,"a"],[12811,0,"b"],[12812,0,"o"],[12813,0,"r"],[12814,0,"a"],[12815,0,"t"],[12816,0,"i"],[12817,0,"v"],[12818,0,"e"],[12819,0," "],[12820,0,"e"],[12821,0,"d"],[12822,0,"i"],[12823,0,"t"],[12824,0,"i"],[12825,0,"n"],[12826,0,"g"],[12827,0," "],[12828,0,"a"],[12829,0,"l"],[12830,0,"g"],[12831,0,"o"],[12832,0,"r"],[12833,0,"i"],[12834,0,"t"],[12835,0,"h"],[12836,0,"m"],[12837,0,"s"],[12838,0," "],[12839,0,"f"],[12840,0,"o"],[12841,0,"r"],[12842,0," "],[12843,0,"X"],[12844,0,"M"],[12845,0,"L"],[12846,0," "],[12847,0,"w"],[12848,0,"o"],[12849,0,"u"],[12850,0,"l"],[12851,0,"d"],[12852,0," "],[12853,0,"c"],[12854,0,"r"],[12855,0,"e"],[12856,0,"a"],[12857,0,"t"],[12858,0,"e"],[12859,0," "],[12860,0,"d"],[12861,0,"u"],[12862,0,"p"],[12863,0,"l"],[12864,0,"i"],[12865,0,"c"],[12866,0,"a"],[12867,0,"t"],[12868,0,"e"],[12869,0," "],[12870,0,"w"],[12871,0,"h"],[12872,0,"i"],[12873,0,"l"],[12874,0,"d"],[12875,0,"r"],[12876,0,"e"],[12877,0,"n"],[12878,0," "],[12879,0,"w"],[12880,0,"i"],[12881,0,"t"],[12882,0,"h"],[12883,0," "],[12884,0,"t"],[12885,0,"h"],[12886,0,"e"],[12887,0," "],[12888,0,"s"],[12889,0,"a"],[12890,0,"m"],[12891,0,"e"],[12892,0," "],[12893,0,"k"],[12894,0,"e"],[12895,0,"y"],[12896,0," "],[12897,0,"r"],[12898,0,"a"],[12899,0,"t"],[12900,0,"h"],[12901,0,"e"],[12902,0,"r"],[12903,0," "],[12904,0,"t"],[12905,0,"h"],[12906,0,"a"],[12907,0,"n"],[12908,0," "],[12909,0,"m"],[12796,0," "],[12797,0,"i"],[12798,0,"f"],[12799,0," "],[12800,0,"m"],[12801,0,"u"],[12802,0,"l"],[12803,0,"t"],[12804,0,"i"],[12805,0,"p"],[12806,0,"l"],[12807,0,"e"],[12808,0," "],[12809,0,"n"],[12810,0,"o"],[12810,1],[12809,1],[12808,1],[12807,1],[12806,1],[12805,1],[12804,1],[12803,1],[12802,1],[12801,1],[12800,1],[12800,0,"n"],[12801,0,"e"],[12795,0," "],[12796,0,"b"],[12797,0,"y"],[12798,0," "],[12799,0,"e"],[12800,0,"x"],[12801,0,"i"],[12802,0,"s"],[12803,0,"t"],[12804,0,"i"],[12805,0,"n"],[12806,0,"g"],[12807,0," "],[12808,0,"c"],[12809,0,"o"],[12810,0,"l"],[12811,0,"l"],[12812,0,"a"],[12813,0,"b"],[12814,0,"o"],[12815,0,"r"],[12816,0,"a"],[12817,0,"t"],[12818,0,"i"],[12819,0,"v"],[12820,0,"e"],[12821,0," "],[12822,0,"e"],[12823,0,"d"],[12824,0,"i"],[12825,0,"t"],[12826,0,"i"],[12827,0,"n"],[12828,0,"g"],[12829,0," "],[12830,0,"a"],[12831,0,"l"],[12832,0,"g"],[12833,0,"o"],[12834,0,"r"],[12835,0,"i"],[12836,0,"t"],[12837,0,"h"],[12838,0,"m"],[12839,0,"s"],[12840,0," "],[12841,0,"f"],[12842,0,"o"],[12843,0,"r"],[12844,0," "],[12845,0,"X"],[12846,0,"M"],[12847,0,"L"],[12848,0,"."],[12849,1],[12850,1],[12850,0,"I"],[12854,1],[12853,1],[12853,0,"m"],[12854,0,"u"],[12855,0,"l"],[12856,0,"t"],[12857,0,"i"],[12858,0,"p"],[12859,0,"l"],[12860,0,"e"],[12861,0," "],[12862,0,"c"],[12863,0,"h"],[12864,0,"i"],[12865,0,"l"],[12866,0,"d"],[12867,0,"r"],[12868,0,"e"],[12869,0,"n"],[12870,0," "],[12871,0,"w"],[12872,0,"i"],[12873,0,"t"],[12874,0,"h"],[12875,0," "],[12876,0,"t"],[12877,0,"h"],[12878,0,"e"],[12879,0," "],[12880,0,"s"],[12881,0,"a"],[12882,0,"m"],[12883,0,"e"],[12884,0," "],[12885,0,"k"],[12886,0,"e"],[12887,0,"y"],[12888,0," "],[12889,0,"a"],[12890,0,"r"],[12891,0,"e"],[12892,0," "],[12893,0,"c"],[12894,0,"o"],[12895,0,"n"],[12896,0,"c"],[12897,0,"u"],[12898,0,"r"],[12899,0,"r"],[12900,0,"e"],[12901,0,"n"],[12902,0,"t"],[12903,0,"l"],[12904,0,"y"],[12905,0," "],[12906,0,"c"],[12907,0,"r"],[12908,0,"e"],[12909,0,"a"],[12910,0,"t"],[12911,0,"e"],[12912,0,"d"],[12913,0,","],[12914,0," "],[12915,0,"e"],[12916,0,"x"],[12917,0,"i"],[12918,0,"s"],[12919,0,"t"],[12920,0,"i"],[12921,0,"n"],[12922,0,"g"],[12923,0," "],[12924,0,"a"],[12925,0,"l"],[12926,0,"g"],[12927,0,"o"],[12928,0,"r"],[12929,0,"i"],[12930,0,"t"],[12931,0,"h"],[12932,0,"s"],[12932,1],[12932,0,"m"],[12933,0,"s"],[12934,0," "],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12935,1],[12958,1],[12958,0,"c"],[12571,1],[12570,1],[12569,1],[12568,1],[12567,1],[12566,1],[12565,1],[12564,1],[12563,1],[12562,1],[12561,1],[12560,1],[12559,1],[12558,1],[12557,1],[12556,1],[12555,1],[12554,1],[12553,1],[12552,1],[12551,1],[12550,1],[12549,1],[12548,1],[12547,1],[12546,1],[12545,1],[12544,1],[12543,1],[12542,1],[12541,1],[12540,1],[12539,1],[12538,1],[12537,1],[12536,1],[12535,1],[12534,1],[12533,1],[12532,1],[12531,1],[12530,1],[12529,1],[12528,1],[12527,1],[12526,1],[12525,1],[12524,1],[12523,1],[12522,1],[12521,1],[12520,1],[12519,1],[12518,1],[12517,1],[12516,1],[12515,1],[12514,1],[12513,1],[12512,1],[12511,1],[12510,1],[12509,1],[12508,1],[12507,1],[12506,1],[12505,1],[12504,1],[12503,1],[12502,1],[12928,0,"e"],[12929,0,"r"],[12930,0,"g"],[12931,0,"i"],[12932,0,"n"],[12933,0,"g"],[12934,0," "],[12935,0,"t"],[12936,0,"h"],[12937,0,"e"],[12938,0,"m"],[12939,0," "],[12940,0,"l"],[12941,0,"i"],[12942,0,"k"],[12943,0,"e"],[12944,0," "],[12945,0,"i"],[12946,0,"n"],[12947,0," "],[12948,0,"F"],[12949,0,"i"],[12950,0,"g"],[12951,0,"u"],[12952,0,"r"],[12953,0,"e"],[12954,0,"~"],[12955,0,"\\"],[12956,0,"r"],[12957,0,"e"],[12958,0,"f"],[12959,0,"{"],[12960,0,"f"],[12961,0,"i"],[12962,0,"g"],[12963,0,":"],[12964,0,"t"],[12965,0,"w"],[12966,0,"o"],[12967,0,"-"],[12968,0,"l"],[12969,0,"i"],[12970,0,"s"],[12971,0,"t"],[12972,0,"s"],[12973,0,"}"],[12974,0,"."],[34107,1],[34106,1],[34105,1],[34105,0,","],[34106,0," "],[34107,0,"s"],[34108,0,"t"],[34109,0,"a"],[34110,0,"t"],[34111,0,"e"],[34112,0," "],[34113,0,"v"],[34114,0,"e"],[34115,0,"c"],[34116,0,"t"],[34117,0,"o"],[34118,0,"r"],[34119,0,"s"],[34120,0,"~"],[34121,0,"\\"],[34122,0,"c"],[34123,0,"i"],[34124,0,"t"],[34125,0,"e"],[34126,0,"{"],[34127,0,"E"],[34128,0,"l"],[34129,0,"l"],[34130,0,"i"],[34131,0,"s"],[34132,0,":"],[34133,0,"1"],[34134,0,"9"],[34135,0,"8"],[34136,0,"9"],[34137,0,"u"],[34138,0,"e"],[34139,0,"}"],[34140,0,","],[34141,0," "],[34142,0,"o"],[34143,0,"r"],[34105,0,"~"],[34106,0,"\\"],[34107,0,"c"],[34108,0,"i"],[34109,0,"t"],[34110,0,"e"],[34111,0,"{"],[34112,0,"P"],[34113,0,"a"],[34114,0,"r"],[34115,0,"k"],[34116,0,"e"],[34117,0,"r"],[34118,0,"J"],[34119,0,"R"],[34120,0,":"],[34120,1],[34119,1],[34119,0,"r"],[34120,0,":"],[34121,0,"1"],[34122,0,"9"],[34123,0,"8"],[34124,0,"3"],[34125,0,"j"],[34126,0,"b"],[34127,0,"}"],[34206,1],[34205,1],[34204,1],[34203,1],[34202,1],[34201,1],[34200,1],[34199,1],[34198,1],[34197,1],[34196,1],[34195,1],[34194,1],[34193,1],[34192,1],[34191,1],[34190,1],[34190,0,"~"],[34191,0,"\\"],[34192,0,"c"],[34193,0,"i"],[34194,0,"t"],[34195,0,"e"],[34196,0,"{"],[34197,0,"P"],[34198,0,"r"],[34199,0,"e"],[34200,0,"g"],[34201,0,"u"],[34202,0,"i"],[34203,0,"c"],[34204,0,"a"],[34205,0,":"],[34206,0,"2"],[34207,0,"0"],[34208,0,"1"],[34209,0,"2"],[34210,0,"f"],[34211,0,"x"],[34212,0,"}"],[67723,0,"\n"],[67724,0,"\n"],[67725,0,"\\"],[67726,0,"s"],[67727,0,"e"],[67728,0,"c"],[67729,0,"t"],[67730,0,"i"],[67731,0,"o"],[67732,0,"n"],[67733,0,"{"],[67734,0,"R"],[67735,0,"e"],[67736,0,"l"],[67737,0,"a"],[67738,0,"t"],[67739,0,"e"],[67740,0,"d"],[67741,0," "],[67742,0,"W"],[67742,1],[67742,0,"w"],[67743,0,"o"],[67744,0,"r"],[67745,0,"k"],[67746,0,"}"],[67747,0,"\n"],[67748,0,"\n"],[67749,0,"A"],[67750,0,"l"],[67751,0,"g"],[67752,0,"o"],[67753,0,"r"],[67754,0,"i"],[67755,0,"t"],[67756,0,"h"],[67757,0,"m"],[67758,0,"s"],[67759,0," "],[67760,0,"b"],[67761,0,"a"],[67762,0,"s"],[67763,0,"e"],[67764,0,"d"],[67765,0," "],[67766,0,"o"],[67767,0,"n"],[67768,0," "],[67769,0,"_"],[67769,1],[67769,0,"\\"],[67770,0,"e"],[67771,0,"m"],[67772,0,"p"],[67773,0,"h"],[67774,0,"{"],[67775,0,"o"],[67776,0,"p"],[67777,0,"e"],[67778,0,"r"],[67779,0,"a"],[67780,0,"t"],[67781,0,"i"],[67782,0,"o"],[67783,0,"n"],[67784,0,"a"],[67785,0,"l"],[67786,0," "],[67787,0,"t"],[67788,0,"r"],[67789,0,"a"],[67790,0,"n"],[67791,0,"s"],[67792,0,"f"],[67793,0,"o"],[67794,0,"r"],[67795,0,"m"],[67796,0,"a"],[67797,0,"t"],[67798,0,"i"],[67799,0,"o"],[67800,0,"n"],[67801,0,"}"],[67802,0," "],[67803,0,"("],[67804,0,"O"],[67805,0,"T"],[67806,0,")"],[67807,0," "],[67808,0,"h"],[67809,0,"a"],[67810,0,"v"],[67811,0,"e"],[67812,0," "],[67813,0,"l"],[67814,0,"o"],[67815,0,"n"],[67816,0,"g"],[67817,0," "],[67818,0,"b"],[67819,0,"e"],[67820,0,"e"],[67821,0,"n"],[67822,0," "],[67823,0,"u"],[67824,0,"s"],[67825,0,"e"],[67826,0,"d"],[67827,0," "],[67828,0,"f"],[67829,0,"o"],[67830,0,"r"],[67831,0," "],[67832,0,"c"],[67833,0,"o"],[67834,0,"l"],[67835,0,"l"],[67836,0,"a"],[67837,0,"b"],[67838,0,"o"],[67839,0,"r"],[67840,0,"a"],[67841,0,"t"],[67842,0,"i"],[67843,0,"v"],[67844,0,"e"],[67845,0," "],[67846,0,"e"],[67847,0,"d"],[67848,0,"i"],[67849,0,"t"],[67850,0,"i"],[67851,0,"n"],[67852,0,"g"],[67853,0," "],[67854,0,"a"],[67855,0,"p"],[67856,0,"p"],[67857,0,"l"],[67858,0,"i"],[67859,0,"c"],[67860,0,"a"],[67861,0,"t"],[67862,0,"i"],[67863,0,"o"],[67864,0,"n"],[67865,0,"s"],[67866,0,"~"],[67867,0,"\\"],[67868,0,"c"],[67869,0,"i"],[67870,0,"t"],[67871,0,"e"],[67872,0,"{"],[67873,0,"E"],[67874,0,"l"],[67875,0,"l"],[67876,0,"i"],[67877,0,"s"],[67878,0,":"],[67879,0,"1"],[67880,0,"9"],[67881,0,"8"],[67882,0,"9"],[67883,0,"u"],[67884,0,"e"],[67885,0,","],[67886,0,"R"],[67887,0,"e"],[67888,0,"s"],[67889,0,"s"],[67890,0,"e"],[67891,0,"l"],[67892,0,":"],[67893,0,"1"],[67894,0,"9"],[67895,0,"9"],[67896,0,"6"],[67897,0,"w"],[67898,0,"x"],[67899,0,","],[67900,0,"S"],[67901,0,"u"],[67902,0,"n"],[67903,0,":"],[67904,0,"1"],[67905,0,"9"],[67906,0,"9"],[67907,0,"8"],[67908,0,"v"],[67909,0,"f"],[67910,0,","],[67911,0,"N"],[67912,0,"i"],[67913,0,"c"],[67914,0,"h"],[67915,0,"o"],[67916,0,"l"],[67917,0,"s"],[67918,0,":"],[67919,0,"1"],[67920,0,"9"],[67921,0,"9"],[67922,0,"5"],[67923,0,"f"],[67924,0,"d"],[67925,0,"}"],[67926,0,"."],[67927,0," "],[67928,0,"M"],[67929,0,"o"],[67930,0,"s"],[67931,0,"t"],[67932,0," "],[67933,0,"o"],[67934,0,"f"],[67935,0," "],[67936,0,"t"],[67937,0,"h"],[67938,0,"e"],[67939,0,"m"],[67940,0," "],[67941,0,"t"],[67942,0,"r"],[67943,0,"e"],[67944,0,"a"],[67945,0,"t"],[67946,0," "],[67947,0,"a"],[67948,0," "],[67949,0,"d"],[67950,0,"o"],[67951,0,"c"],[67952,0,"u"],[67953,0,"m"],[67954,0,"e"],[67955,0,"n"],[67956,0,"t"],[67957,0," "],[67958,0,"a"],[67959,0,"s"],[67960,0," "],[67961,0,"a"],[67962,0," "],[67963,0,"f"],[67964,0,"l"],[67965,0,"a"],[67966,0,"t"],[67967,0," "],[67968,0,"s"],[67969,0,"e"],[67970,0,"q"],[67971,0,"u"],[67972,0,"e"],[67973,0,"n"],[67974,0,"c"],[67975,0,"e"],[67976,0," "],[67977,0,"("],[67978,0,"o"],[67979,0,"f"],[67980,0," "],[67981,0,"c"],[67982,0,"h"],[67983,0,"a"],[67984,0,"r"],[67985,0,"a"],[67986,0,"c"],[67987,0,"t"],[67988,0,"e"],[67989,0,"r"],[67990,0,"s"],[67991,0,","],[67992,0," "],[67993,0,"f"],[67994,0,"o"],[67995,0,"r"],[67996,0," "],[67997,0,"e"],[67998,0,"x"],[67999,0,"a"],[68000,0,"m"],[68001,0,"p"],[68002,0,"l"],[68003,0,"e"],[68004,0,")"],[68005,0," "],[68006,0,"a"],[68007,0,"n"],[68008,0,"d"],[68009,0," "],[68010,0,"d"],[68011,0,"o"],[68012,0," "],[68013,0,"n"],[68014,0,"o"],[68015,0,"t"],[68016,0," "],[68017,0,"s"],[68018,0,"u"],[68019,0,"p"],[68020,0,"p"],[68021,0,"o"],[68022,0,"r"],[68023,0,"t"],[68024,0," "],[68025,0,"t"],[68026,0,"h"],[68027,0,"e"],[68028,0," "],[68029,0,"n"],[68030,0,"e"],[68031,0,"s"],[68032,0,"t"],[68033,0,"e"],[68034,0,"d"],[68035,0," "],[68036,0,"t"],[68037,0,"r"],[68038,0,"e"],[68039,0,"e"],[68040,0," "],[68041,0,"s"],[68042,0,"t"],[68043,0,"r"],[68044,0,"u"],[68045,0,"c"],[68046,0,"t"],[68047,0,"u"],[68048,0,"r"],[68049,0,"e"],[68050,0,"s"],[68051,0," "],[68052,0,"t"],[68053,0,"h"],[68054,0,"a"],[68055,0,"t"],[68056,0," "],[68057,0,"a"],[68058,0,"r"],[68059,0,"e"],[68060,0," "],[68061,0,"r"],[68062,0,"e"],[68063,0,"q"],[68064,0,"u"],[68065,0,"i"],[68066,0,"r"],[68067,0,"e"],[68068,0,"d"],[68069,0," "],[67975,1],[67974,1],[67973,1],[67972,1],[67971,1],[67970,1],[67969,1],[67968,1],[67967,1],[67966,1],[67965,1],[67964,1],[67963,1],[67962,1],[67962,0,"s"],[67963,0,"i"],[67964,0,"n"],[67965,0,"g"],[67966,0,"l"],[67962,0," "],[67968,0,"e"],[67969,0," "],[67970,0,"o"],[67971,0,"r"],[67972,0,"d"],[67973,0,"e"],[67974,0,"r"],[67975,0,"e"],[67976,0,"d"],[67977,0," "],[67978,0,"l"],[67979,0,"i"],[67980,0,"s"],[67981,0,"t"],[68076,0,"f"],[68077,0,"o"],[68078,0,"r"],[68079,0," "],[68080,0,"m"],[68081,0,"a"],[68082,0,"n"],[68083,0,"y"],[68084,0," "],[68085,0,"a"],[68086,0,"p"],[68087,0,"p"],[68088,0,"l"],[68089,0,"i"],[68090,0,"c"],[68091,0,"a"],[68092,0,"t"],[68093,0,"i"],[68094,0,"o"],[68095,0,"n"],[68096,0,"s"],[68097,0,"."],[68098,0," "],[68099,0,"S"],[68100,0,"o"],[68101,0,"m"],[68102,0,"e"],[68103,0," "],[68104,0,"a"],[68105,0,"l"],[68106,0,"g"],[68107,0,"o"],[68108,0,"r"],[68109,0,"i"],[68110,0,"t"],[68111,0,"h"],[68112,0,"m"],[68113,0,"s"],[68114,0," "],[68115,0,"g"],[68116,0,"e"],[68117,0,"n"],[68118,0,"e"],[68119,0,"r"],[68120,0,"a"],[68121,0,"l"],[68122,0,"i"],[68123,0,"z"],[68124,0,"e"],[68125,0," "],[68126,0,"O"],[68127,0,"T"],[68128,0," "],[68129,0,"t"],[68130,0,"o"],[68131,0," "],[68132,0,"e"],[68133,0,"d"],[68134,0,"i"],[68135,0,"t"],[68136,0,"i"],[68137,0,"n"],[68138,0,"g"],[68139,0," "],[68140,0,"X"],[68141,0,"M"],[68142,0,"L"],[68143,0," "],[68144,0,"d"],[68145,0,"o"],[68146,0,"c"],[68147,0,"u"],[68148,0,"m"],[68149,0,"e"],[68150,0,"n"],[68151,0,"t"],[68152,0,"s"],[68153,0,"~"],[68154,0,"\\"],[68155,0,"c"],[68156,0,"i"],[68157,0,"t"],[68158,0,"e"],[68159,0,"{"],[68160,0,"D"],[68161,0,"a"],[68162,0,"v"],[68163,0,"i"],[68164,0,"s"],[68165,0,":"],[68166,0,"2"],[68167,0,"0"],[68168,0,"0"],[68169,0,"2"],[68170,0,"i"],[68171,0,"v"],[68172,0,","],[68173,0,"I"],[68174,0,"g"],[68175,0,"n"],[68176,0,"a"],[68177,0,"t"],[68178,0,":"],[68179,0,"2"],[68180,0,"0"],[68181,0,"0"],[68182,0,"3"],[68183,0,"j"],[68184,0,"y"],[68185,0,","],[68185,0,"}"],[68187,0," "],[68185,0,","],[68186,0,"W"],[68187,0,"a"],[68188,0,"n"],[68189,0,"g"],[68190,0,":"],[68191,0,"2"],[68192,0,"0"],[68193,0,"1"],[68194,0,"5"],[68195,0,"v"],[68196,0,"o"],[68200,0,"w"],[68201,0,"h"],[68202,0,"i"],[68203,0,"c"],[68204,0,"h"],[68205,0," "],[68206,0,"p"],[68207,0,"r"],[68208,0,"o"],[68209,0,"v"],[68210,0,"i"],[68211,0,"d"],[68212,0,"e"],[68213,0,"s"],[68214,0," "],[68215,0,"n"],[68216,0,"e"],[68217,0,"s"],[68218,0,"t"],[68219,0,"i"],[68220,0,"n"],[68221,0,"g"],[68222,0," "],[68223,0,"o"],[68224,0,"f"],[68225,0," "],[68226,0,"o"],[68227,0,"r"],[68228,0,"d"],[68229,0,"e"],[68230,0,"r"],[68231,0,"e"],[68232,0,"d"],[68233,0," "],[68234,0,"l"],[68235,0,"i"],[68236,0,"s"],[68237,0,"t"],[68238,0,"s"],[68239,0,","],[68240,0," "],[68241,0,"b"],[68242,0,"u"],[68243,0,"t"],[68244,0," "],[68245,0,"t"],[68246,0,"h"],[68247,0,"e"],[68248,0,"s"],[68249,0,"e"],[68250,0," "],[68251,0,"a"],[68252,0,"l"],[68253,0,"g"],[68254,0,"o"],[68255,0,"r"],[68256,0,"i"],[68257,0,"t"],[68258,0,"h"],[68259,0,"m"],[68260,0,"s"],[68261,0," "],[68262,0,"d"],[68263,0,"o"],[68264,0," "],[68265,0,"n"],[68266,0,"o"],[68267,0,"t"],[68268,0," "],[68269,0,"s"],[68270,0,"u"],[68271,0,"p"],[68272,0,"p"],[68273,0,"o"],[68274,0,"r"],[68275,0,"t"],[68276,0," "],[68277,0,"k"],[68278,0,"e"],[68279,0,"y"],[68280,0,"-"],[68281,0,"v"],[68282,0,"a"],[68283,0,"l"],[68284,0,"u"],[68285,0,"e"],[68286,0," "],[68287,0,"m"],[68288,0,"a"],[68289,0,"p"],[68290,0,"s"],[68291,0," "],[68292,0,"a"],[68293,0,"s"],[68294,0," "],[68295,0,"d"],[68296,0,"e"],[68297,0,"f"],[68298,0,"i"],[68299,0,"n"],[68300,0,"e"],[68301,0,"d"],[68302,0," "],[68303,0,"i"],[68304,0,"n"],[68305,0," "],[68306,0,"t"],[68307,0,"h"],[68308,0,"i"],[68309,0,"s"],[68310,0," "],[68311,0,"p"],[68312,0,"a"],[68313,0,"p"],[68314,0,"e"],[68315,0,"r"],[68316,0,"."],[68317,0,"\n"],[68318,0,"\n"],[68319,0,"M"],[68320,0,"o"],[68321,0,"s"],[68322,0,"t"],[68323,0," "],[68324,0,"d"],[68325,0,"e"],[68326,0,"p"],[68327,0,"l"],[68328,0,"o"],[68329,0,"y"],[68330,0,"e"],[68331,0,"d"],[68332,0," "],[68333,0,"O"],[68334,0,"T"],[68335,0," "],[68336,0,"s"],[68337,0,"y"],[68338,0,"s"],[68339,0,"t"],[68340,0,"e"],[68341,0,"m"],[68342,0,"s"],[68343,0,","],[68344,0," "],[68345,0,"i"],[68346,0,"n"],[68347,0,"c"],[68348,0,"l"],[68349,0,"u"],[68350,0,"d"],[68351,0,"i"],[68352,0,"n"],[68353,0,"g"],[68354,0," "],[68355,0,"\\"],[68355,1],[68355,0,"G"],[68356,0,"o"],[68357,0,"o"],[68358,0,"g"],[68359,0,"l"],[68360,0,"e"],[68361,0," "],[68362,0,"D"],[68363,0,"o"],[68364,0,"c"],[68365,0,"s"],[68366,0,"~"],[68367,0,"\\"],[68368,0,"c"],[68369,0,"i"],[68370,0,"t"],[68371,0,"e"],[68372,0,"{"],[68373,0,"D"],[68374,0,"a"],[68375,0,"y"],[68376,0,"R"],[68377,0,"i"],[68378,0,"c"],[68379,0,"h"],[68380,0,"t"],[68381,0,"e"],[68382,0,"r"],[68383,0,":"],[68384,0,"2"],[68385,0,"0"],[68386,0,"1"],[68387,0,"0"],[68388,0,"t"],[68389,0,"t"],[68390,0,"}"],[68391,0,","],[68392,0," "],[68393,0,"E"],[68394,0,"t"],[68395,0,"h"],[68396,0,"e"],[68397,0,"r"],[68398,0,"p"],[68399,0,"a"],[68400,0,"d"],[68401,0,"~"],[68402,0,"\\"],[68403,0,"c"],[68404,0,"i"],[68405,0,"t"],[68406,0,"e"],[68407,0,"{"],[68408,0,"E"],[68409,0,"t"],[68410,0,"h"],[68411,0,"e"],[68412,0,"r"],[68413,0,"p"],[68414,0,"a"],[68415,0,"d"],[68416,0,":"],[68417,0,"2"],[68418,0,"0"],[68419,0,"1"],[68420,0,"1"],[68421,0,"u"],[68422,0,"m"],[68423,0,"}"],[68424,0,","],[68425,0," "],[68426,0,"N"],[68427,0,"o"],[68428,0,"v"],[68429,0,"e"],[68430,0,"l"],[68431,0,"l"],[68432,0," "],[68433,0,"V"],[68434,0,"i"],[68435,0,"b"],[68436,0,"e"],[68437,0,"~"],[68438,0,"\\"],[68439,0,"c"],[68440,0,"i"],[68441,0,"t"],[68442,0,"e"],[68443,0,"{"],[68444,0,"S"],[68445,0,"p"],[68446,0,"i"],[68447,0,"e"],[68448,0,"w"],[68449,0,"a"],[68450,0,"k"],[68451,0,":"],[68452,0,"2"],[68453,0,"0"],[68454,0,"1"],[68455,0,"0"],[68456,0,"v"],[68457,0,"w"],[68458,0,"}"],[68459,0," "],[68460,0,"a"],[68461,0,"n"],[68462,0,"d"],[68463,0," "],[68464,0,"A"],[68465,0,"p"],[68466,0,"a"],[68467,0,"c"],[68468,0,"h"],[68469,0,"e"],[68470,0," "],[68471,0,"W"],[68472,0,"a"],[68473,0,"v"],[68474,0,"e"],[68475,0," "],[68476,0,"("],[68477,0,"f"],[68478,0,"o"],[68479,0,"r"],[68480,0,"m"],[68481,0,"e"],[68482,0,"r"],[68483,0,"l"],[68484,0,"y"],[68485,0," "],[68486,0,"G"],[68487,0,"o"],[68488,0,"o"],[68489,0,"g"],[68490,0,"l"],[68491,0,"e"],[68492,0," "],[68493,0,"W"],[68494,0,"a"],[68495,0,"v"],[68496,0,"e"],[68497,0,"~"],[68498,0,"\\"],[68499,0,"c"],[68500,0,"i"],[68501,0,"t"],[68502,0,"e"],[68503,0,"{"],[68504,0,"W"],[68505,0,"a"],[68506,0,"n"],[68507,0,"g"],[68508,0,":"],[68509,0,"2"],[68510,0,"0"],[68511,0,"1"],[68512,0,"5"],[68513,0,"v"],[68514,0,"o"],[68515,0,"}"],[68516,0,")"],[68517,0,","],[68518,0," "],[68519,0,"r"],[68520,0,"e"],[68521,0,"l"],[68522,0,"y"],[68523,0," "],[68524,0,"o"],[68525,0,"n"],[68526,0," "],[68527,0,"a"],[68528,0," "],[68335,0," "],[68336,0,"c"],[68337,0,"o"],[68338,0,"l"],[68339,0,"l"],[68340,0,"a"],[68341,0,"b"],[68342,0,"o"],[68343,0,"r"],[68344,0,"a"],[68345,0,"t"],[68346,0,"i"],[68347,0,"o"],[68348,0,"n"],[68543,0,"s"],[68544,0,"i"],[68545,0,"n"],[68546,0,"g"],[68547,0,"l"],[68548,0,"e"],[68549,0," "],[68550,0,"s"],[68551,0,"e"],[68552,0,"r"],[68553,0,"v"],[68554,0,"e"],[68555,0,"r"],[68556,0," "],[68557,0,"t"],[68558,0,"o"],[68559,0," "],[68560,0,"d"],[68561,0,"e"],[68562,0,"c"],[68563,0,"i"],[68564,0,"d"],[68565,0,"e"],[68566,0," "],[68567,0,"o"],[68568,0,"n"],[68569,0," "],[68570,0,"a"],[68571,0," "],[68572,0,"t"],[68573,0,"o"],[68574,0,"t"],[68575,0,"a"],[68576,0,"l"],[68577,0," "],[68578,0,"o"],[68579,0,"r"],[68580,0,"d"],[68581,0,"e"],[68582,0,"r"],[68583,0,"i"],[68584,0,"n"],[68585,0,"g"],[68586,0," "],[68587,0,"o"],[68588,0,"f"],[68589,0," "],[68590,0,"o"],[68591,0,"p"],[68592,0,"e"],[68593,0,"r"],[68594,0,"a"],[68595,0,"t"],[68596,0,"i"],[68597,0,"o"],[68598,0,"n"],[68599,0,"s"],[68600,0,"."],[68601,0," "],[68602,0,"T"],[68603,0,"h"],[68604,0,"i"],[68605,0,"s"],[68606,0," "],[68607,0,"h"],[68608,0,"a"],[68609,0,"s"],[68610,0," "],[68611,0,"t"],[68612,0,"h"],[68613,0,"e"],[68614,0," "],[68615,0,"a"],[68616,0,"d"],[68617,0,"v"],[68618,0,"a"],[68619,0,"n"],[68620,0,"t"],[68621,0,"a"],[68622,0,"g"],[68623,0,"e"],[68624,0," "],[68625,0,"o"],[68626,0,"f"],[68627,0," "],[68628,0,"s"],[68629,0,"i"],[68630,0,"m"],[68631,0,"p"],[68632,0,"l"],[68633,0,"i"],[68634,0,"f"],[68635,0,"y"],[68636,0,"i"],[68637,0,"n"],[68638,0,"g"],[68639,0," "],[68640,0,"t"],[68641,0,"h"],[68642,0,"e"],[68643,0," "],[68644,0,"t"],[68645,0,"r"],[68646,0,"a"],[68647,0,"n"],[68648,0,"s"],[68649,0,"f"],[68650,0,"o"],[68651,0,"r"],[68652,0,"m"],[68653,0,"a"],[68654,0,"t"],[68655,0,"i"],[68656,0,"o"],[68657,0,"n"],[68658,0," "],[68638,1],[68637,1],[68636,1],[68635,1],[68634,1],[68633,1],[68632,1],[68631,1],[68630,1],[68629,1],[68628,1],[68627,1],[68627,0," "],[68628,0,"m"],[68629,0,"a"],[68630,0,"k"],[68631,0,"i"],[68632,0,"n"],[68633,0,"g"],[68654,0,"f"],[68655,0,"u"],[68656,0,"n"],[68657,0,"c"],[68658,0,"t"],[68659,0,"i"],[68660,0,"o"],[68661,0,"n"],[68662,0,"s"],[68663,0," "],[68664,0,"s"],[68665,0,"i"],[68666,0,"m"],[68667,0,"p"],[68668,0,"l"],[68669,0,"e"],[68670,0,"r"],[68671,0," "],[68672,0,"a"],[68673,0,"n"],[68674,0,"d"],[68675,0," "],[68676,0,"l"],[68677,0,"e"],[68678,0,"s"],[68679,0,"s"],[68680,0," "],[68681,0,"e"],[68682,0,"r"],[68683,0,"r"],[68684,0,"o"],[68685,0,"r"],[68686,0,"-"],[68687,0,"p"],[68688,0,"r"],[68689,0,"o"],[68690,0,"n"],[68691,0,"e"],[68692,0,"~"],[68693,0,"\\"],[68694,0,"c"],[68695,0,"i"],[68696,0,"t"],[68697,0,"e"],[68698,0,"{"],[68699,0,"I"],[68700,0,"m"],[68701,0,"i"],[68702,0,"n"],[68703,0,"e"],[68704,0,":"],[68705,0,"2"],[68706,0,"0"],[68707,0,"0"],[68708,0,"3"],[68709,0,"k"],[68710,0,"s"],[68711,0,"}"],[68712,0,","],[68713,0," "],[68714,0,"b"],[68715,0,"u"],[68716,0,"t"],[68717,0," "],[68718,0,"i"],[68719,0,"t"],[68720,0," "],[68721,0,"i"],[68722,0,"s"],[68723,0," "],[68724,0,"n"],[68725,0,"o"],[68726,0,"t"],[68727,0," "],[68728,0,"a"],[68729,0,"c"],[68730,0,"c"],[68731,0,"e"],[68732,0,"p"],[68733,0,"t"],[68734,0,"a"],[68735,0,"b"],[68736,0,"l"],[68737,0,"e"],[68738,0," "],[68600,0,","],[68601,0," "],[68602,0,"a"],[68603,0," "],[68604,0,"d"],[68605,0,"e"],[68606,0,"s"],[68607,0,"i"],[68608,0,"g"],[68609,0,"n"],[68610,0," "],[68611,0,"d"],[68612,0,"e"],[68613,0,"c"],[68614,0,"i"],[68615,0,"s"],[68616,0,"i"],[68617,0,"o"],[68618,0,"n"],[68619,0," "],[68620,0,"i"],[68621,0,"n"],[68622,0,"h"],[68623,0,"e"],[68624,0,"r"],[68625,0,"i"],[68626,0,"t"],[68627,0,"e"],[68628,0,"d"],[68629,0," "],[68630,0,"f"],[68631,0,"r"],[68632,0,"o"],[68633,0,"m"],[68634,0," "],[68635,0,"t"],[68636,0,"h"],[68637,0,"e"],[68638,0," "],[68639,0,"J"],[68640,0,"u"],[68641,0,"p"],[68642,0,"i"],[68643,0,"t"],[68644,0,"e"],[68645,0,"r"],[68646,0," "],[68647,0,"s"],[68648,0,"y"],[68649,0,"s"],[68650,0,"t"],[68651,0,"e"],[68652,0,"m"],[68653,0,"~"],[68654,0,"\\"],[68655,0,"c"],[68656,0,"i"],[68657,0,"t"],[68658,0,"e"],[68659,0,"{"],[68660,0,"N"],[68661,0,"i"],[68662,0,"c"],[68663,0,"h"],[68664,0,"o"],[68665,0,"l"],[68666,0,"s"],[68667,0,":"],[68668,0,"1"],[68669,0,"9"],[68670,0,"9"],[68671,0,"5"],[68672,0,"f"],[68673,0,"d"],[68674,0,"}"],[68813,1],[68812,1],[68811,1],[68810,1],[68809,1],[68808,1],[68807,1],[68806,1],[68805,1],[68804,1],[68803,1],[68802,1],[68801,1],[68800,1],[68799,1],[68798,1],[68797,1],[68796,1],[68795,1],[68794,1],[68793,1],[68682,0,"a"],[68683,0,"p"],[68684,0,"p"],[68685,0,"r"],[68686,0,"o"],[68687,0,"a"],[68688,0,"c"],[68689,0,"h"],[68690,0," "],[68802,0,"i"],[68803,0,"t"],[68804,0," "],[68805,0,"d"],[68806,0,"o"],[68807,0,"e"],[68808,0,"s"],[68809,0," "],[68810,0,"n"],[68811,0,"o"],[68812,0,"t"],[68813,0," "],[68814,0,"m"],[68815,0,"e"],[68816,0,"e"],[68817,0,"t"],[68818,0," "],[68819,0,"o"],[68820,0,"u"],[68821,0,"r"],[68822,0," "],[68823,0,"r"],[68824,0,"e"],[68825,0,"q"],[68826,0,"u"],[68827,0,"i"],[68828,0,"r"],[68829,0,"e"],[68830,0,"m"],[68831,0,"e"],[68832,0,"n"],[68833,0,"t"],[68834,0,"s"],[68835,0," "],[68835,1],[68835,0,","],[68836,0," "],[68837,0,"s"],[68838,0,"i"],[68839,0,"n"],[68840,0,"c"],[68841,0,"e"],[68842,0," "],[68843,0,"w"],[68844,0,"e"],[68845,0," "],[68846,0,"w"],[68847,0,"a"],[68848,0,"n"],[68849,0,"t"],[68850,0," "],[68851,0,"t"],[68852,0,"o"],[68853,0," "],[68854,0,"s"],[68855,0,"u"],[68856,0,"p"],[68857,0,"p"],[68858,0,"o"],[68859,0,"r"],[68860,0,"t"],[68861,0," "],[68862,0,"c"],[68863,0,"o"],[68864,0,"l"],[68865,0,"l"],[68866,0,"a"],[68867,0,"b"],[68868,0,"o"],[68869,0,"r"],[68870,0,"a"],[68871,0,"t"],[68872,0,"i"],[68873,0,"o"],[68874,0,"n"],[68875,0," "],[68876,0,"w"],[68877,0,"i"],[68878,0,"t"],[68879,0,"h"],[68880,0,"o"],[68881,0,"u"],[68882,0,"t"],[68883,0," "],[68861,0," "],[68862,0,"p"],[68863,0,"e"],[68864,0,"e"],[68865,0,"r"],[68866,0,"-"],[68867,0,"t"],[68868,0,"o"],[68869,0,"-"],[68870,0,"p"],[68871,0,"e"],[68872,0,"e"],[68873,0,"r"],[68897,0,"r"],[68898,0,"e"],[68899,0,"l"],[68900,0,"y"],[68901,0,"i"],[68902,0,"n"],[68903,0,"g"],[68904,0," "],[68904,1],[68903,1],[68902,1],[68901,1],[68900,1],[68899,1],[68899,0,"q"],[68900,0,"u"],[68901,0,"i"],[68902,0,"r"],[68903,0,"i"],[68904,0,"n"],[68905,0,"g"],[68906,0," "],[68907,0,"a"],[68908,0," "],[68909,0,"s"],[68910,0,"i"],[68911,0,"n"],[68912,0,"g"],[68913,0,"l"],[68914,0,"e"],[68915,0," "],[68916,0,"s"],[68917,0,"e"],[68918,0,"r"],[68919,0,"v"],[68920,0,"e"],[68921,0,"r"],[68922,0,"."],[68923,0," "],[68924,0,"D"],[68925,0,"e"],[68926,0,"c"],[68927,0,"i"],[68928,0,"d"],[68929,0,"i"],[68930,0,"n"],[68931,0,"g"],[68932,0," "],[68933,0,"o"],[68934,0,"n"],[68935,0," "],[68924,1],[68924,0,"A"],[68925,0,"l"],[68926,0,"t"],[68927,0,"h"],[68928,0,"o"],[68929,0,"u"],[68930,0,"g"],[68931,0,"h"],[68932,0," "],[68933,0,"i"],[68934,0,"t"],[68935,0," "],[68936,0,"p"],[68936,1],[68936,0,"i"],[68937,0,"s"],[68938,0," "],[68939,0,"p"],[68940,0,"o"],[68941,0,"s"],[68942,0,"s"],[68943,0,"i"],[68944,0,"b"],[68945,0,"l"],[68946,0,"e"],[68947,0," "],[68948,0,"t"],[68949,0,"o"],[68950,0," "],[68951,0,"d"],[68958,1],[68957,1],[68956,1],[68956,0,"e"],[68961,0,"a"],[68962,0," "],[68963,0,"t"],[68964,0,"o"],[68965,0,"t"],[68966,0,"a"],[68967,0,"l"],[68968,0," "],[68969,0,"o"],[68970,0,"r"],[68971,0,"d"],[68972,0,"e"],[68973,0,"r"],[68974,0,"i"],[68975,0,"n"],[68976,0,"g"],[68977,0," "],[68978,0,"o"],[68979,0,"f"],[68980,0," "],[68981,0,"o"],[68982,0,"p"],[68983,0,"e"],[68984,0,"r"],[68985,0,"a"],[68986,0,"t"],[68987,0,"i"],[68988,0,"o"],[68989,0,"n"],[68990,0,"s"],[68991,0," "],[68992,0,"b"],[68993,0,"y"],[68994,0," "],[68995,0,"u"],[68996,0,"s"],[68997,0,"i"],[68998,0,"n"],[68999,0,"g"],[69000,0," "],[69001,0,"a"],[69002,0,"n"],[69003,0," "],[69004,0,"a"],[69005,0,"t"],[69006,0,"o"],[69007,0,"m"],[69008,0,"i"],[69009,0,"c"],[69010,0," "],[69011,0,"b"],[69012,0,"r"],[69013,0,"o"],[69014,0,"a"],[69015,0,"d"],[69016,0,"c"],[69017,0,"a"],[69018,0,"s"],[69019,0,"t"],[69020,0," "],[69021,0,"p"],[69022,0,"r"],[69023,0,"o"],[69024,0,"t"],[69025,0,"o"],[69026,0,"c"],[69027,0,"o"],[69028,0,"l"],[69029,0,"~"],[69030,0,"\\"],[69031,0,"c"],[69032,0,"i"],[69033,0,"t"],[69034,0,"e"],[69035,0,"{"],[69036,0,"D"],[69037,0,"e"],[69038,0,"f"],[69039,0,"a"],[69040,0,"g"],[69041,0,"o"],[69042,0,":"],[69043,0,"2"],[69044,0,"0"],[69045,0,"0"],[69046,0,"4"],[69047,0,"j"],[69048,0,"i"],[69049,0,"}"],[69050,0,","],[69051,0," "],[69052,0,"s"],[69053,0,"u"],[69054,0,"c"],[69055,0,"h"],[69056,0," "],[69057,0,"p"],[69058,0,"r"],[69059,0,"o"],[69060,0,"t"],[69061,0,"o"],[69062,0,"c"],[69063,0,"o"],[69064,0,"l"],[69065,0,"s"],[69066,0," "],[69067,0,"a"],[69068,0,"r"],[69069,0,"e"],[69070,0," "],[69071,0,"e"],[69072,0,"q"],[69073,0,"u"],[69074,0,"i"],[69075,0,"v"],[69076,0,"a"],[69077,0,"l"],[69078,0,"e"],[69079,0,"n"],[69080,0,"t"],[69081,0," "],[69082,0,"t"],[69083,0,"o"],[69084,0," "],[69085,0,"c"],[69086,0,"o"],[69087,0,"n"],[69088,0,"s"],[69089,0,"e"],[69090,0,"n"],[69091,0,"s"],[69092,0,"u"],[69093,0,"s"],[69094,0,"~"],[69095,0,"\\"],[69096,0,"c"],[69097,0,"i"],[69098,0,"t"],[69099,0,"e"],[69100,0,"{"],[69101,0,"C"],[69102,0,"h"],[69103,0,"a"],[69104,0,"n"],[69105,0,"d"],[69106,0,"r"],[69107,0,"a"],[69108,0,":"],[69109,0,"1"],[69110,0,"9"],[69111,0,"9"],[69112,0,"6"],[69113,0,"c"],[69114,0,"p"],[69115,0,"}"],[69116,0,","],[69117,0," "],[69118,0,"s"],[69119,0,"o"],[69120,0," "],[69121,0,"t"],[69122,0,"h"],[69123,0,"e"],[69124,0,"y"],[69125,0," "],[69126,0,"c"],[69127,0,"a"],[69128,0,"n"],[69129,0," "],[69130,0,"o"],[69131,0,"n"],[69132,0,"l"],[69133,0,"y"],[69134,0," "],[69135,0,"m"],[69136,0,"a"],[69137,0,"k"],[69138,0,"e"],[69139,0," "],[69140,0,"p"],[69141,0,"r"],[69142,0,"o"],[69143,0,"g"],[69144,0,"r"],[69145,0,"e"],[69146,0,"s"],[69147,0,"s"],[69135,0,"s"],[69136,0,"a"],[69137,0,"f"],[69138,0,"e"],[69139,0,"l"],[69140,0,"y"],[69141,0," "],[69155,0," "],[69156,0,"i"],[69157,0,"f"],[69158,0," "],[69159,0,"a"],[69160,0," "],[69161,0,"m"],[69162,0,"a"],[69163,0,"j"],[69164,0,"o"],[69165,0,"r"],[69166,0,"i"],[69167,0,"t"],[69168,0,"y"],[69169,0," "],[69170,0,"o"],[69171,0,"f"],[69172,0," "],[69173,0,"p"],[69174,0,"a"],[69175,0,"r"],[69176,0,"t"],[69177,0,"i"],[69178,0,"c"],[69179,0,"i"],[69180,0,"p"],[69181,0,"a"],[69182,0,"n"],[69183,0,"t"],[69184,0,"s"],[69185,0," "],[69186,0,"a"],[69187,0,"r"],[69188,0,"e"],[69189,0," "],[69190,0,"o"],[69191,0,"n"],[69192,0,"l"],[69193,0,"i"],[69194,0,"n"],[69195,0,"e"],[69196,0," "],[69197,0,"a"],[69198,0,"n"],[69199,0,"d"],[69200,0," "],[69201,0,"r"],[69202,0,"e"],[69203,0,"a"],[69204,0,"c"],[69205,0,"h"],[69206,0,"a"],[69207,0,"b"],[69208,0,"l"],[69209,0,"e"],[69210,0,"."],[69211,0," "],[69212,0,"W"],[69213,0,"e"],[69214,0," "],[69215,0,"e"],[69216,0,"x"],[69217,0,"p"],[69218,0,"e"],[69219,0,"c"],[69220,0,"t"],[69221,0," "],[69222,0,"t"],[69223,0,"h"],[69224,0,"a"],[69225,0,"t"],[69226,0," "],[69227,0,"i"],[69228,0,"n"],[69229,0," "],[69230,0,"p"],[69231,0,"e"],[69232,0,"e"],[69233,0,"r"],[69234,0,"-"],[69235,0,"t"],[69236,0,"o"],[69237,0,"-"],[69238,0,"p"],[69239,0,"e"],[69240,0,"e"],[69241,0,"r"],[69242,0," "],[69243,0,"s"],[69244,0,"y"],[69245,0,"s"],[69246,0,"t"],[69247,0,"e"],[69248,0,"m"],[69249,0,"s"],[69250,0," "],[69251,0,"w"],[69252,0,"i"],[69253,0,"t"],[69254,0,"h"],[69051,0," "],[69052,0,"w"],[69053,0,"h"],[69054,0,"i"],[69055,0,"c"],[69056,0,"h"],[69057,0," "],[69058,0,"a"],[69059,0,"v"],[69060,0,"o"],[69061,0,"i"],[69062,0,"d"],[69063,0,"s"],[69064,0," "],[69065,0,"r"],[69066,0,"e"],[69067,0,"l"],[69068,0,"y"],[69069,0,"i"],[69070,0,"n"],[69071,0,"g"],[69072,0," "],[69073,0,"o"],[69074,0,"n"],[69075,0," "],[69076,0,"a"],[69077,0," "],[69078,0,"s"],[69079,0,"i"],[69080,0,"n"],[69081,0,"g"],[69082,0,"l"],[69083,0,"e"],[69084,0," "],[69085,0,"s"],[69086,0,"e"],[69087,0,"r"],[69088,0,"v"],[69089,0,"e"],[69090,0,"r"],[69091,0,","],[68923,1],[68923,0,"\n"],[68924,0,"\n"],[69296,1],[69295,1],[69294,1],[69293,1],[69293,0,"o"],[69294,0,"f"],[69295,0," "],[69296,0,"m"],[69297,0,"o"],[69298,0,"b"],[69299,0,"i"],[69300,0,"l"],[69301,0,"e"],[69302,0," "],[69303,0,"d"],[69304,0,"e"],[69305,0,"v"],[69306,0,"i"],[69307,0,"c"],[69308,0,"e"],[69309,0,"s"],[69310,0," "],[69311,0,"i"],[69312,0,"t"],[69313,0," "],[69314,0,"w"],[69315,0,"i"],[69316,0,"l"],[69317,0,"l"],[69318,0," "],[69319,0,"f"],[69320,0,"r"],[69321,0,"e"],[69322,0,"q"],[69323,0,"u"],[69324,0,"e"],[69325,0,"n"],[69326,0,"t"],[69327,0,"l"],[69328,0,"y"],[69329,0," "],[69330,0,"b"],[69331,0,"e"],[69332,0," "],[69333,0,"t"],[69334,0,"h"],[69335,0,"e"],[69336,0," "],[69337,0,"c"],[69338,0,"a"],[69339,0,"s"],[69340,0,"e"],[69341,0," "],[69342,0,"t"],[69343,0,"h"],[69344,0,"a"],[69345,0,"t"],[69346,0," "],[69347,0,"o"],[69348,0,"n"],[69349,0,"l"],[69350,0,"y"],[69351,0," "],[69352,0,"a"],[69353,0," "],[69354,0,"m"],[69355,0,"i"],[69356,0,"n"],[69357,0,"o"],[69358,0,"r"],[69359,0,"i"],[69360,0,"t"],[69361,0,"y"],[69362,0," "],[69363,0,"o"],[69364,0,"f"],[69365,0," "],[69366,0,"p"],[69367,0,"a"],[69368,0,"r"],[69369,0,"t"],[69370,0,"i"],[69371,0,"c"],[69372,0,"i"],[69373,0,"p"],[69374,0,"a"],[69375,0,"n"],[69376,0,"t"],[69377,0,"s"],[69378,0," "],[69379,0,"a"],[69380,0,"r"],[69381,0,"e"],[69382,0," "],[69383,0,"o"],[69384,0,"n"],[69385,0,"l"],[69386,0,"i"],[69387,0,"n"],[69388,0,"e"],[69389,0," "],[69390,0,"a"],[69391,0,"t"],[69392,0," "],[69393,0,"t"],[69394,0,"h"],[69395,0,"e"],[69396,0," "],[69397,0,"s"],[69398,0,"a"],[69399,0,"m"],[69400,0,"e"],[69401,0," "],[69402,0,"t"],[69403,0,"i"],[69404,0,"m"],[69405,0,"e"],[69406,0,","],[69407,0," "],[69408,0,"a"],[69409,0,"n"],[69410,0,"d"],[69411,0," "],[69412,0,"s"],[69413,0,"o"],[69414,0," "],[69415,0,"a"],[69416,0,"n"],[69417,0,"y"],[69418,0," "],[69419,0,"a"],[69420,0,"l"],[69421,0,"g"],[69422,0,"o"],[69423,0,"r"],[69424,0,"i"],[69425,0,"t"],[69426,0,"h"],[69427,0,"m"],[69428,0," "],[69429,0,"t"],[69430,0,"h"],[69431,0,"a"],[69432,0,"t"],[69433,0," "],[69434,0,"r"],[69435,0,"e"],[69436,0,"l"],[69437,0,"i"],[69438,0,"e"],[69439,0,"s"],[69440,0," "],[69440,1],[69439,1],[69438,1],[69437,1],[69436,1],[69435,1],[69434,1],[69433,1],[69432,1],[69431,1],[69430,1],[69429,1],[69428,1],[69427,1],[69426,1],[69425,1],[69424,1],[69423,1],[69422,1],[69421,1],[69420,1],[69419,1],[69418,1],[69417,1],[69416,1],[69415,1],[69414,1],[69414,0," "],[69415,0,"t"],[69416,0,"h"],[69417,0,"e"],[69418,0," "],[69419,0,"s"],[69420,0,"y"],[69421,0,"s"],[69422,0,"t"],[69423,0,"e"],[69424,0,"m"],[69425,0," "],[69426,0,"w"],[69427,0,"i"],[69428,0,"l"],[69429,0,"l"],[69430,0," "],[69431,0,"n"],[69432,0,"o"],[69433,0,"t"],[69434,0," "],[69435,0,"b"],[69436,0,"e"],[69437,0," "],[69438,0,"a"],[69439,0,"b"],[69440,0,"l"],[69441,0,"e"],[69442,0," "],[69442,1],[69441,1],[69440,1],[69439,1],[69438,1],[69437,1],[69436,1],[69435,1],[69434,1],[69433,1],[69432,1],[69431,1],[69430,1],[69429,1],[69428,1],[69427,1],[69426,1],[69425,1],[69424,1],[69423,1],[69422,1],[69421,1],[69420,1],[69419,1],[69418,1],[69417,1],[69416,1],[69415,1],[69415,0,"a"],[69416,0,"n"],[69417,0,"y"],[69418,0," "],[69419,0,"a"],[69420,0,"l"],[69421,0,"g"],[69422,0,"o"],[69423,0,"r"],[69424,0,"i"],[69425,0,"t"],[69426,0,"h"],[69427,0,"m"],[69428,0," "],[69429,0,"r"],[69430,0,"e"],[69431,0,"q"],[69432,0,"u"],[69433,0,"i"],[69434,0,"r"],[69435,0,"i"],[69436,0,"n"],[69437,0,"g"],[69438,0," "],[69439,0,"a"],[69440,0,"t"],[69441,0,"o"],[69442,0,"m"],[69443,0,"i"],[69444,0,"c"],[69445,0," "],[69446,0,"b"],[69447,0,"r"],[69448,0,"o"],[69449,0,"a"],[69450,0,"d"],[69451,0,"c"],[69452,0,"a"],[69453,0,"s"],[69454,0,"t"],[69455,0," "],[69456,0,"w"],[69457,0,"o"],[69458,0,"u"],[69459,0,"l"],[69460,0,"d"],[69461,0," "],[69462,0,"b"],[69463,0,"e"],[69464,0,"c"],[69465,0,"o"],[69466,0,"m"],[69467,0,"e"],[69468,0," "],[69469,0,"u"],[69470,0,"n"],[69471,0,"a"],[69472,0,"v"],[69473,0,"a"],[69474,0,"i"],[69475,0,"l"],[69476,0,"a"],[69477,0,"b"],[69478,0,"l"],[69479,0,"e"],[69480,0,"."],[69481,0," "],[69482,0,"T"],[69483,0,"h"],[69484,0,"e"],[69485,0," "],[69486,0,"s"],[69487,0,"t"],[69488,0,"r"],[69489,0,"o"],[69490,0,"n"],[69491,0,"g"],[69492,0,"e"],[69493,0,"s"],[69494,0,"t"],[69495,0," "],[69496,0,"g"],[69497,0,"u"],[69498,0,"a"],[69499,0,"r"],[69500,0,"a"],[69501,0,"r"],[69502,0,"a"],[69503,0,"n"],[69504,0,"t"],[69505,0,"e"],[69506,0,"e"],[69507,0," "],[69508,0,"s"],[69509,0,"u"],[69510,0,"c"],[69511,0,"h"],[69512,0," "],[69513,0,"a"],[69514,0," "],[69515,0,"s"],[69516,0,"y"],[69517,0,"s"],[69518,0,"t"],[69519,0,"e"],[69520,0,"m"],[69521,0," "],[69522,0,"c"],[69523,0,"a"],[69524,0,"n"],[69525,0," "],[69526,0,"g"],[69527,0,"i"],[69528,0,"v"],[69529,0,"e"],[69530,0," "],[69531,0,"i"],[69532,0,"s"],[69533,0," "],[69534,0,"c"],[69535,0,"a"],[69536,0,"u"],[69537,0,"s"],[69538,0,"a"],[69539,0,"l"],[69540,0," "],[69541,0,"o"],[69542,0,"r"],[69543,0,"d"],[69544,0,"e"],[69545,0,"r"],[69546,0,"i"],[69547,0,"n"],[69548,0,"g"],[69549,0,"~"],[69550,0,"\\"],[69551,0,"c"],[69552,0,"i"],[69553,0,"t"],[69554,0,"e"],[69555,0,"{"],[69556,0,"A"],[69557,0,"t"],[69558,0,"t"],[69559,0,"i"],[69560,0,"y"],[69561,0,"a"],[69562,0,":"],[69563,0,"2"],[69564,0,"0"],[69565,0,"1"],[69566,0,"5"],[69567,0,"d"],[69568,0,"m"],[69569,0,"}"],[69570,0,"."],[69571,0,"\n"],[69572,0,"\n"],[69573,0,"T"],[69574,0,"h"],[69575,0,"e"],[69576,0," "],[69577,0,"C"],[69578,0,"R"],[69579,0,"D"],[69580,0,"T"],[69581,0," "],[69582,0,"f"],[69583,0,"a"],[69584,0,"m"],[69585,0,"i"],[69586,0,"l"],[69587,0,"y"],[69588,0," "],[69589,0,"o"],[69590,0,"f"],[69591,0," "],[69592,0,"d"],[69593,0,"a"],[69594,0,"t"],[69595,0,"a"],[69596,0," "],[69597,0,"s"],[69598,0,"t"],[69599,0,"r"],[69600,0,"u"],[69601,0,"c"],[69602,0,"t"],[69603,0,"u"],[69604,0,"r"],[69605,0,"e"],[69606,0,"s"],[69607,0," "],[69573,0,"F"],[69574,0,"o"],[69575,0,"r"],[69576,0," "],[69577,1],[69577,0,"t"],[69611,1],[69611,0,","],[69612,0," "],[69613,0,"c"],[69614,0,"a"],[69615,0,"u"],[69616,0,"s"],[69617,0,"a"],[69618,0,"l"],[69619,0," "],[69620,0,"o"],[69621,0,"r"],[69622,0,"d"],[69623,0,"e"],[69624,0,"r"],[69625,0,"i"],[69626,0,"n"],[69627,0,"g"],[69628,0," "],[69629,0,"i"],[69630,0,"s"],[69631,0," "],[69632,0,"s"],[69633,0,"u"],[69634,0,"f"],[69635,0,"f"],[69636,0,"i"],[69637,0,"c"],[69638,0,"i"],[69639,0,"e"],[69640,0,"n"],[69641,0,"t"],[69642,0," "],[69643,0,"t"],[69644,0,"o"],[69645,0," "],[69646,0,"a"],[69647,0,"c"],[69648,0,"h"],[69649,0,"i"],[69650,0,"e"],[69651,0,"v"],[69652,0,"e"],[69653,0," "],[69654,0,"c"],[69655,0,"o"],[69656,0,"n"],[69657,0,"v"],[69658,0,"e"],[69659,0,"r"],[69660,0,"g"],[69661,0,"e"],[69662,0,"n"],[69663,0,"c"],[69664,0,"e"],[69665,0,"."],[69572,1],[69571,1],[69570,1],[69570,0,","],[69571,0," "],[69572,0,"a"],[69573,0,"n"],[69574,0,"d"],[69575,0," "],[69576,1],[69576,0,"f"],[68925,0," "],[68925,0,"M"],[68926,0,"a"],[68927,0,"n"],[68928,0,"y"],[68929,0," "],[68930,0,"s"],[68931,0,"e"],[68932,0,"c"],[68933,0,"u"],[68934,0,"r"],[68935,0,"e"],[68936,0," "],[68937,0,"m"],[68938,0,"e"],[68939,0,"s"],[68940,0,"s"],[68941,0,"a"],[68942,0,"g"],[68943,0,"i"],[68944,0,"n"],[68945,0,"g"],[68946,0," "],[68947,0,"p"],[68948,0,"r"],[68949,0,"o"],[68950,0,"t"],[68951,0,"o"],[68952,0,"c"],[68953,0,"o"],[68954,0,"l"],[68955,0,"s"],[68956,0,","],[68957,0," "],[68958,0,"w"],[68959,0,"h"],[68960,0,"i"],[68961,0,"c"],[68962,0,"h"],[68963,0," "],[68964,0,"w"],[68965,0,"e"],[68966,0," "],[68967,0,"p"],[68968,0,"l"],[68969,0,"a"],[68970,0,"n"],[68971,0," "],[68972,0,"t"],[68973,0,"o"],[68974,0," "],[68975,0,"u"],[68976,0,"s"],[68977,0,"e"],[68978,0," "],[68979,0,"f"],[68980,0,"o"],[68981,0,"r"],[68982,0," "],[68983,0,"e"],[68984,0,"n"],[68985,0,"c"],[68986,0,"r"],[68987,0,"y"],[68988,0,"p"],[68989,0,"t"],[68990,0,"e"],[68991,0,"d"],[68992,0," "],[68993,0,"d"],[68993,1],[68993,0,"c"],[68994,0,"o"],[68995,0,"l"],[68996,0,"l"],[68997,0,"a"],[68998,0,"b"],[68999,0,"o"],[69000,0,"r"],[69001,0,"a"],[69002,0,"t"],[69003,0,"i"],[69004,0,"o"],[69005,0,"n"],[69006,0,","],[69007,0," "],[69008,0,"d"],[69009,0,"o"],[69010,0," "],[69011,0,"n"],[69012,0,"o"],[69013,0,"t"],[69014,0," "],[69015,0,"g"],[69016,0,"u"],[69017,0,"a"],[69018,0,"r"],[69019,0,"a"],[69020,0,"n"],[69021,0,"t"],[69022,0,"e"],[69023,0,"e"],[69024,0," "],[69025,0,"t"],[69026,0,"h"],[69027,0,"a"],[69028,0,"t"],[69029,0," "],[69030,0,"d"],[69031,0,"i"],[69032,0,"f"],[69033,0,"f"],[69034,0,"e"],[69035,0,"r"],[69036,0,"e"],[69037,0,"n"],[69038,0,"t"],[69039,0," "],[69040,0,"r"],[69041,0,"e"],[69042,0,"c"],[69043,0,"i"],[69044,0,"p"],[69045,0,"i"],[69046,0,"e"],[69047,0,"n"],[69048,0,"t"],[69049,0,"s"],[69050,0," "],[69051,0,"w"],[69052,0,"i"],[69053,0,"l"],[69054,0,"l"],[69055,0," "],[69056,0,"s"],[69057,0,"e"],[69058,0,"e"],[69059,0," "],[69060,0,"m"],[69061,0,"e"],[69062,0,"s"],[69063,0,"s"],[69064,0,"a"],[69065,0,"g"],[69066,0,"e"],[69067,0,"s"],[69068,0," "],[69068,1],[69067,1],[69066,1],[69065,1],[69065,0,"g"],[69066,0,"e"],[69067,0,"s"],[69068,0," "],[69069,0,"i"],[69070,0,"n"],[69071,0," "],[69072,0,"t"],[69073,0,"h"],[69074,0,"e"],[69075,0," "],[69076,0,"s"],[69077,0,"a"],[69078,0,"m"],[69079,0,"e"],[69080,0," "],[69081,0,"o"],[69082,0,"r"],[69083,0,"d"],[69084,0,"e"],[69085,0,"r"],[69086,0,"~"],[69087,0,"\\"],[69088,0,"c"],[69089,0,"i"],[69090,0,"t"],[69091,0,"e"],[69092,0,"{"],[69093,0,"U"],[69094,0,"n"],[69095,0,"g"],[69096,0,"e"],[69097,0,"r"],[69098,0,":"],[69099,0,"2"],[69100,0,"0"],[69101,0,"1"],[69102,0,"5"],[69103,0,"k"],[69104,0,"g"],[69105,0,"}"],[69106,0,"."],[67748,0,"\n"],[67749,0,"\\"],[67750,0,"s"],[67751,0,"u"],[67752,0,"b"],[67753,0,"s"],[67754,0,"e"],[67755,0,"c"],[67756,0,"t"],[67757,0,"i"],[67758,0,"o"],[67759,0,"n"],[67760,0,"{"],[67761,0,"O"],[67762,0,"p"],[67763,0,"e"],[67764,0,"r"],[67765,0,"a"],[67766,0,"t"],[67767,0,"i"],[67768,0,"o"],[67769,0,"n"],[67770,0,"a"],[67771,0,"l"],[67772,0," "],[67773,0,"t"],[67774,0,"r"],[67775,0,"a"],[67776,0,"n"],[67777,0,"s"],[67778,0,"f"],[67779,0,"o"],[67780,0,"r"],[67781,0,"m"],[67782,0,"a"],[67783,0,"t"],[67784,0,"i"],[67785,0,"o"],[67786,0,"n"],[67787,0,"}"],[67788,0,"\n"],[69893,0,"\n"],[69894,0,"\n"],[69895,0,"\\"],[69896,0,"s"],[69897,0,"u"],[69898,0,"b"],[69899,0,"s"],[69900,0,"e"],[69901,0,"c"],[69902,0,"t"],[69903,0,"i"],[69904,0,"o"],[69905,0,"n"],[69906,0,"{"],[69907,0,"C"],[69908,0,"R"],[69909,0,"D"],[69910,0,"T"],[69911,0,"s"],[69912,0,"}"],[69891,1],[69890,1],[69889,1],[69888,1],[69887,1],[69886,1],[69885,1],[69884,1],[69883,1],[69882,1],[69881,1],[69880,1],[69879,1],[69878,1],[69877,1],[69876,1],[69875,1],[69874,1],[69873,1],[69872,1],[69871,1],[69870,1],[69869,1],[69868,1],[69867,1],[69866,1],[69865,1],[69864,1],[69863,1],[69862,1],[69861,1],[69860,1],[69859,1],[69858,1],[69857,1],[69856,1],[69855,1],[69854,1],[69853,1],[69852,1],[69851,1],[69850,1],[69849,1],[69848,1],[69847,1],[69846,1],[69845,1],[69844,1],[69843,1],[69842,1],[69841,1],[69840,1],[69839,1],[69838,1],[69837,1],[69836,1],[69835,1],[69834,1],[69833,1],[69832,1],[69831,1],[69830,1],[69829,1],[69828,1],[69827,1],[69826,1],[69825,1],[69824,1],[69823,1],[69822,1],[69821,1],[69820,1],[69819,1],[69818,1],[69817,1],[69816,1],[69815,1],[69814,1],[69813,1],[69812,1],[69811,1],[69810,1],[69809,1],[69808,1],[69807,1],[69806,1],[69805,1],[69804,1],[69803,1],[69802,1],[69801,1],[69800,1],[69799,1],[69798,1],[69797,1],[69796,1],[69795,1],[69794,1],[69795,0,"\n"],[69796,0,"\n"],[69797,0,"T"],[69798,0,"h"],[69799,0,"e"],[69800,0," "],[69801,0,"G"],[69802,0,"o"],[69803,0,"o"],[69804,0,"g"],[69805,0,"l"],[69806,0,"e"],[69807,0," "],[69808,0,"R"],[69809,0,"e"],[69810,0,"a"],[69811,0,"l"],[69812,0,"t"],[69813,0,"i"],[69814,0,"m"],[69815,0,"e"],[69816,0," "],[69817,0,"A"],[69818,0,"P"],[69819,0,"I"],[69820,0,"~"],[69821,0,"\\"],[69822,0,"c"],[69823,0,"i"],[69824,0,"t"],[69825,0,"e"],[69826,0,"{"],[69827,0,"G"],[69828,0,"o"],[69829,0,"o"],[69830,0,"g"],[69831,0,"l"],[69832,0,"e"],[69833,0,":"],[69834,0,"2"],[69835,0,"0"],[69836,0,"1"],[69837,0,"5"],[69838,0,"v"],[69839,0,"k"],[69840,0,"}"],[69841,0," "],[69842,0,"i"],[69843,0,"s"],[69844,0," "],[69845,0,"t"],[69846,0,"h"],[69847,0,"e"],[69848,0," "],[69849,0,"o"],[69850,0,"n"],[69851,0,"l"],[69852,0,"y"],[69853,0," "],[69854,0,"i"],[69855,0,"m"],[69856,0,"p"],[69857,0,"l"],[69858,0,"e"],[69859,0,"m"],[69860,0,"e"],[69861,0,"n"],[69862,0,"t"],[69863,0,"a"],[69864,0,"t"],[69865,0,"i"],[69866,0,"o"],[69867,0,"n"],[69868,0," "],[69869,0,"o"],[69870,0,"f"],[69871,0," "],[69872,0,"O"],[69873,0,"T"],[69874,0," "],[69875,0,"o"],[69876,0,"f"],[69877,0," "],[69878,0,"w"],[69879,0,"h"],[69880,0,"i"],[69881,0,"c"],[69882,0,"h"],[69883,0," "],[69884,0,"w"],[69885,0,"e"],[69886,0," "],[69887,0,"a"],[69888,0,"w"],[69889,0,"a"],[69890,0,"r"],[69891,0,"e"],[69892,0," "],[69893,0,"t"],[69894,0,"h"],[69895,0,"a"],[69896,0,"t"],[69897,0," "],[69898,0,"s"],[69899,0,"u"],[69900,0,"p"],[69901,0,"p"],[69902,0,"o"],[69903,0,"r"],[69904,0,"t"],[69905,0,"s"],[69906,0," "],[69907,0,"a"],[69908,0,"r"],[69909,0,"b"],[69910,0,"i"],[69911,0,"t"],[69912,0,"r"],[69913,0,"a"],[69914,0,"r"],[69915,0,"y"],[69916,0," "],[69917,0,"n"],[69918,0,"e"],[69919,0,"s"],[69920,0,"t"],[69921,0,"i"],[69922,0,"n"],[69923,0,"g"],[69924,0," "],[69925,0,"o"],[69926,0,"f"],[69927,0," "],[69928,0,"l"],[69929,0,"i"],[69930,0,"s"],[69931,0,"t"],[69932,0,"s"],[69933,0," "],[69934,0,"a"],[69935,0,"n"],[69936,0,"d"],[69937,0," "],[69938,0,"m"],[69939,0,"a"],[69940,0,"p"],[69941,0,"s"],[69942,0,"."],[69943,0," "],[69944,0,"H"],[69945,0,"o"],[69946,0,"w"],[69947,0,"e"],[69948,0,"v"],[69949,0,"e"],[69950,0,"r"],[69951,0,","],[69952,0," "],[69953,0,"i"],[69954,0,"t"],[69955,0," "],[69956,0,"i"],[69957,0,"s"],[69958,0," "],[69958,1],[69957,1],[69956,1],[69956,0,"a"],[69957,0,"l"],[69958,0,"s"],[69959,0,"o"],[69960,0," "],[69960,1],[69959,1],[69958,1],[69957,1],[69956,1],[69955,1],[69954,1],[69953,1],[69952,1],[69951,1],[69950,1],[69949,1],[69948,1],[69947,1],[69946,1],[69945,1],[69944,1],[69944,0,"L"],[69945,0,"i"],[69946,0,"k"],[69947,0,"e"],[69948,0," "],[69949,0,"G"],[69950,0,"o"],[69951,0,"o"],[69952,0,"g"],[69953,0,"l"],[69954,0,"e"],[69955,0," "],[69956,0,"D"],[69957,0,"o"],[69958,0,"c"],[69959,0,"s"],[69960,0,","],[69961,0," "],[69962,0,"i"],[69963,0,"t"],[69964,0," "],[69965,0,"a"],[69966,0,"p"],[69967,0,"p"],[69968,0,"e"],[69969,0,"a"],[69970,0,"r"],[69971,0,"s"],[69972,0," "],[69973,0,"t"],[69974,0,"o"],[69975,0," "],[68641,0,"~"],[68642,0,"\\"],[68643,0,"c"],[68644,0,"i"],[68645,0,"t"],[68646,0,"e"],[68647,0,"{"],[68648,0,"L"],[68649,0,"e"],[68650,0,"m"],[68651,0,"o"],[68652,0,"n"],[68653,0,"i"],[68654,0,"k"],[68655,0,":"],[68656,0,"2"],[68657,0,"0"],[68658,0,"1"],[68659,0,"6"],[68660,0,"w"],[68661,0,"h"],[68662,0,"}"],[69997,1],[69996,1],[69995,1],[69994,1],[69993,1],[69992,1],[69991,1],[69990,1],[69989,1],[69988,1],[69987,1],[69987,0,"r"],[69988,0,"e"],[69989,0,"l"],[69990,0,"i"],[69991,0,"e"],[69992,0,"s"],[69993,0," "],[69994,0,"o"],[69995,0,"n"],[69996,0," "],[69997,0,"a"],[69998,0," "],[69999,0,"s"],[70000,0,"i"],[70001,0,"n"],[70002,0,"g"],[70003,0,"l"],[70004,0,"e"],[70005,0," "],[70006,0,"s"],[70007,0,"e"],[70008,0,"r"],[70009,0,"v"],[70010,0,"e"],[70011,0,"r"],[70012,0,"~"],[70013,0,"\\"],[70014,0,"c"],[70015,0,"i"],[70016,0,"t"],[70017,0,"e"],[70018,0,"{"],[70019,0,"L"],[70020,0,"e"],[70021,0,"m"],[70022,0,"o"],[70023,0,"n"],[70024,0,"i"],[70025,0,"k"],[70026,0,":"],[70027,0,"2"],[70028,0,"0"],[70029,0,"1"],[70030,0,"6"],[70031,0,"w"],[70032,0,"h"],[70033,0,"}"],[70034,0,"."],[70035,0," "],[70036,0,"A"],[70037,0,"s"],[70038,0," "],[70039,0,"a"],[70040,0," "],[70041,0,"p"],[70042,0,"r"],[70043,0,"o"],[70044,0,"p"],[70045,0,"r"],[70046,0,"i"],[70047,0,"e"],[70048,0,"t"],[70049,0,"a"],[70050,0,"r"],[70051,0,"y"],[70052,0," "],[70053,0,"p"],[70054,0,"r"],[70055,0,"o"],[70056,0,"d"],[70057,0,"u"],[70058,0,"c"],[70059,0,"t"],[70060,0,","],[70061,0," "],[70062,0,"d"],[70063,0,"e"],[70064,0,"t"],[70065,0,"a"],[70066,0,"i"],[70067,0,"l"],[70068,0,"s"],[70069,0," "],[70070,0,"o"],[70071,0,"f"],[70072,0," "],[70073,0,"i"],[70074,0,"t"],[70075,0,"s"],[70076,0," "],[70077,0,"a"],[70078,0,"l"],[70079,0,"g"],[70080,0,"o"],[70081,0,"r"],[70082,0,"i"],[70083,0,"t"],[70084,0,"h"],[70085,0,"m"],[70086,0,"s"],[70087,0," "],[70088,0,"h"],[70089,0,"a"],[70090,0,"v"],[70091,0,"e"],[70092,0," "],[70093,0,"n"],[70094,0,"o"],[70095,0,"t"],[70096,0," "],[70097,0,"b"],[70098,0,"e"],[70099,0,"e"],[70100,0,"n"],[70101,0," "],[70102,0,"p"],[70103,0,"u"],[70104,0,"b"],[70105,0,"l"],[70106,0,"s"],[70107,0,"i"],[70107,1],[70106,1],[70106,0,"i"],[70107,0,"s"],[70108,0,"h"],[70109,0,"e"],[70110,0,"d"],[70111,0,"."],[70132,0,"\n"],[70133,0,"\n"],[70134,0,"C"],[70135,0,"R"],[70136,0,"D"],[70137,0,"T"],[70138,0,"s"],[70139,0," "],[70140,0,"f"],[70141,0,"o"],[70142,0,"r"],[70143,0," "],[70144,0,"r"],[70145,0,"e"],[70146,0,"g"],[70147,0,"i"],[70148,0,"s"],[70149,0,"t"],[70150,0,"e"],[70151,0,"r"],[70152,0,"s"],[70153,0,","],[70154,0," "],[70155,0,"m"],[70155,1],[70155,0,"c"],[70156,0,"o"],[70157,0,"u"],[70158,0,"n"],[70159,0,"t"],[70160,0,"e"],[70161,0,"r"],[70162,0,"s"],[70163,0,","],[70164,0," "],[70165,0,"m"],[70166,0,"a"],[70167,0,"p"],[70168,0,"s"],[70169,0," "],[70170,0,"a"],[70171,0,"n"],[70172,0,"d"],[70173,0," "],[70174,0,"s"],[70175,0,"e"],[70176,0,"t"],[70177,0,"s"],[70178,0," "],[70179,0,"a"],[70180,0,"r"],[70181,0,"e"],[70182,0," "],[70183,0,"w"],[70184,0,"i"],[70185,0,"d"],[70186,0,"e"],[70187,0,"l"],[70188,0,"y"],[70189,0," "],[70190,0,"k"],[70191,0,"n"],[70192,0,"o"],[70193,0,"w"],[70194,0,"n"],[70195,0,","],[70196,0," "],[70197,0,"a"],[70198,0,"n"],[70199,0,"d"],[70200,0," "],[70201,0,"t"],[70202,0,"h"],[70203,0,"e"],[70204,0,"y"],[70205,0," "],[70206,0,"a"],[70207,0,"r"],[70208,0,"e"],[70209,0," "],[70210,0,"q"],[70211,0,"u"],[70212,0,"i"],[70213,0,"t"],[70214,0,"e"],[70215,0," "],[70215,1],[70214,1],[70213,1],[70212,1],[70211,1],[70210,1],[70209,1],[70208,1],[70207,1],[70206,1],[70205,1],[70204,1],[70203,1],[70202,1],[70201,1],[70200,1],[70199,1],[70198,1],[70197,1],[70196,1],[70195,1],[70195,0,"~"],[70196,0,"\\"],[70197,0,"c"],[70198,0,"i"],[70199,0,"t"],[70200,0,"e"],[70201,0,"{"],[70202,0,"S"],[70203,0,"h"],[70204,0,"a"],[70205,0,"p"],[70206,0,"i"],[70207,0,"r"],[70208,0,"o"],[70209,0,":"],[70210,0,"2"],[70211,0,"0"],[70212,0,"1"],[70213,0,"1"],[70214,0,"w"],[70215,0,"y"],[70216,0,"}"],[70217,0,","],[70218,0," "],[70219,0,"a"],[70220,0,"n"],[70221,0,"d"],[70222,0," "],[70223,0,"h"],[70224,0,"a"],[70225,0,"v"],[70226,0,"e"],[70227,0," "],[70228,0,"b"],[70229,0,"e"],[70230,0,"e"],[70231,0,"n"],[70232,0," "],[70233,0,"i"],[70234,0,"m"],[70235,0,"p"],[70236,0,"l"],[70237,0,"e"],[70238,0,"m"],[70239,0,"e"],[70240,0,"n"],[70241,0,"t"],[70242,0,"e"],[70243,0,"d"],[70244,0," "],[70245,0,"i"],[70246,0,"n"],[70247,0," "],[70248,0,"v"],[70249,0,"a"],[70250,0,"r"],[70251,0,"i"],[70252,0,"o"],[70253,0,"u"],[70254,0,"s"],[70255,0," "],[70256,0,"d"],[70257,0,"e"],[70258,0,"p"],[70259,0,"l"],[70260,0,"o"],[70261,0,"y"],[70262,0,"e"],[70263,0,"d"],[70264,0," "],[70265,0,"s"],[70266,0,"y"],[70267,0,"s"],[70268,0,"t"],[70269,0,"e"],[70270,0,"m"],[70271,0,"s"],[70272,0," "],[70273,0,"s"],[70274,0,"u"],[70275,0,"c"],[70276,0,"h"],[70277,0," "],[70278,0,"a"],[70279,0,"s"],[70280,0," "],[70281,0,"R"],[70282,0,"i"],[70283,0,"a"],[70284,0,"k"],[70285,0,"."],[70286,0," "],[70287,0,"F"],[70288,0,"o"],[70289,0,"r"],[70290,0," "],[70291,0,"o"],[70292,0,"r"],[70293,0,"d"],[70294,0,"e"],[70295,0,"r"],[70296,0,"e"],[70297,0,"d"],[70298,0," "],[70299,0,"l"],[70300,0,"i"],[70301,0,"s"],[70302,0,"t"],[70303,0,"s"],[70304,0,","],[70305,0," "],[70306,0,"v"],[70307,0,"a"],[70308,0,"r"],[70309,0,"i"],[70310,0,"o"],[70311,0,"u"],[70312,0,"s"],[70313,0," "],[70314,0,"a"],[70315,0,"l"],[70316,0,"g"],[70317,0,"o"],[70318,0,"r"],[70319,0,"i"],[70320,0,"t"],[70321,0,"h"],[70322,0,"m"],[70323,0,"s"],[70324,0," "],[70325,0,"h"],[70326,0,"a"],[70327,0,"v"],[70328,0,"e"],[70329,0," "],[70330,0,"b"],[70331,0,"e"],[70332,0,"e"],[70333,0,"n"],[70334,0," "],[70335,0,"p"],[70336,0,"r"],[70337,0,"o"],[70338,0,"p"],[70339,0,"o"],[70340,0,"s"],[70341,0,"e"],[70342,0,"d"],[70343,0,","],[70344,0," "],[70345,0,"i"],[70346,0,"n"],[70347,0,"c"],[70348,0,"l"],[70349,0,"u"],[70350,0,"d"],[70351,0,"i"],[70352,0,"n"],[70353,0,"g"],[70354,0," "],[70355,0,"W"],[70356,0,"O"],[70357,0,"O"],[70358,0,"T"],[70359,0,"~"],[70360,0,"\\"],[70361,0,"c"],[70362,0,"i"],[70363,0,"t"],[70364,0,"e"],[70365,0,"{"],[70366,0,"o"],[70366,1],[70366,0,"O"],[70367,0,"s"],[70368,0,"t"],[70369,0,"e"],[70370,0,"r"],[70371,0,":"],[70372,0,"2"],[70373,0,"0"],[70374,0,"0"],[70375,0,"6"],[70376,0,"w"],[70377,0,"j"],[70378,0,"}"],[70379,0,","],[70380,0," "],[70381,0,"R"],[70382,0,"G"],[70383,0,"A"],[70384,0,"~"],[70385,0,"\\"],[70386,0,"c"],[70387,0,"i"],[70388,0,"t"],[70389,0,"e"],[70390,0,"{"],[70391,0,"R"],[70392,0,"o"],[70393,0,"h"],[70394,0,":"],[70395,0,"2"],[70396,0,"0"],[70397,0,"1"],[70398,0,"1"],[70399,0,"d"],[70400,0,"w"],[70401,0,"}"],[70402,0,","],[70403,0," "],[70404,0,"L"],[70405,0,"o"],[70406,0,"g"],[70407,0,"o"],[70408,0,"o"],[70409,0,"t"],[70409,1],[70408,1],[70407,1],[70406,1],[70405,1],[70404,1],[70404,0,"T"],[70405,0,"r"],[70406,0,"e"],[70407,0,"e"],[70408,0,"d"],[70409,0,"o"],[70410,0,"c"],[70411,0,"~"],[70412,0,"\\"],[70413,0,"c"],[70414,0,"i"],[70415,0,"t"],[70416,0,"e"],[70417,0,"{"],[70418,0,"P"],[70419,0,"r"],[70420,0,"e"],[70421,0,"g"],[70422,0,"u"],[70423,0,"i"],[70424,0,"c"],[70425,0,"a"],[70426,0,":"],[70427,0,"2"],[70428,0,"0"],[70429,0,"0"],[70430,0,"9"],[70431,0,"f"],[70432,0,"z"],[70433,0,"}"],[70434,0,","],[70435,0," "],[70436,0,"L"],[70437,0,"o"],[70438,0,"g"],[70439,0,"o"],[70440,0,"o"],[70441,0,"t"],[70442,0,"~"],[70443,0,"\\"],[70444,0,"c"],[70445,0,"i"],[70446,0,"t"],[70447,0,"e"],[70448,0,"{"],[70449,0,"W"],[70450,0,"e"],[70451,0,"i"],[70452,0,"s"],[70453,0,"s"],[70454,0,":"],[70455,0,"2"],[70456,0,"0"],[70457,0,"1"],[70458,0,"0"],[70459,0,"h"],[70460,0,"x"],[70461,0,"}"],[70462,0," "],[70463,0,"a"],[70464,0,"n"],[70465,0,"d"],[70466,0," "],[70467,0,"L"],[70468,0,"S"],[70469,0,"E"],[70470,0,"Q"],[70471,0,"~"],[70472,0,"\\"],[70473,0,"c"],[70474,0,"i"],[70475,0,"t"],[70476,0,"e"],[70477,0,"{"],[70478,0,"N"],[70479,0,"e"],[70480,0,"d"],[70481,0,"e"],[70482,0,"l"],[70483,0,"e"],[70484,0,"c"],[70485,0,":"],[70486,0,"2"],[70487,0,"0"],[70488,0,"1"],[70489,0,"3"],[70490,0,"k"],[70491,0,"y"],[70492,0,"}"],[70493,0,"."],[70494,0," "],[70495,0,"H"],[70496,0,"o"],[70497,0,"w"],[70498,0,"e"],[70499,0,"v"],[70500,0,"e"],[70501,0,"r"],[70502,0,","],[70503,0," "],[70504,0,"n"],[70505,0,"o"],[70506,0,"n"],[70507,0,"e"],[70508,0," "],[70509,0,"o"],[70510,0,"f"],[70511,0," "],[70512,0,"t"],[70513,0,"h"],[70514,0,"e"],[70515,0,"m"],[70516,0," "],[70517,0,"s"],[70518,0,"u"],[70519,0,"p"],[70520,0,"p"],[70521,0,"o"],[70522,0,"r"],[70523,0,"t"],[70524,0," "],[70525,0,"n"],[70526,0,"e"],[70527,0,"s"],[70528,0,"t"],[70529,0,"i"],[70530,0,"n"],[70531,0,"g"],[70532,0,":"],[70533,0," "],[70534,0,"t"],[70535,0,"h"],[70536,0,"e"],[70537,0," "],[70538,0,"e"],[70539,0,"l"],[70540,0,"e"],[70541,0,"m"],[70542,0,"e"],[70543,0,"n"],[70544,0,"t"],[70545,0,"s"],[70546,0," "],[70537,0,"y"],[70538,0," "],[70539,0,"a"],[70540,0,"s"],[70541,0,"s"],[70542,0,"u"],[70543,0,"m"],[70544,0,"e"],[70545,0," "],[70546,0,"t"],[70547,0,"h"],[70548,0,"a"],[70549,0,"t"],[70550,0," "],[70551,0,"t"],[70552,0,"h"],[70553,0,"e"],[70564,0,"o"],[70565,0,"f"],[70566,0," "],[70567,0,"t"],[70568,0,"h"],[70569,0,"e"],[70570,0," "],[70571,0,"C"],[70572,0,"R"],[70573,0,"D"],[70574,0,"T"],[70575,0," "],[70576,0,"m"],[70577,0,"a"],[70578,0,"p"],[70579,0," "],[70580,0,"o"],[70581,0,"r"],[70582,0," "],[70583,0,"l"],[70584,0,"i"],[70585,0,"s"],[70586,0,"t"],[70587,0," "],[70588,0,"a"],[70589,0,"r"],[70590,0,"e"],[70591,0," "],[70592,0,"a"],[70593,0,"t"],[70594,0,"o"],[70595,0,"m"],[70596,0,"i"],[70597,0,"c"],[70598,0," "],[70599,0,"v"],[70600,0,"a"],[70601,0,"l"],[70602,0,"u"],[70603,0,"e"],[70604,0,"s"],[70598,0,","],[70599,0," "],[70600,0,"i"],[70601,0,"m"],[70602,0,"m"],[70603,0,"u"],[70604,0,"t"],[70605,0,"a"],[70606,0,"b"],[70607,0,"l"],[70608,0,"e"],[70608,1],[70607,1],[70606,1],[70605,1],[70604,1],[70603,1],[70602,1],[70601,1],[70600,1],[70599,1],[70598,1],[70605,0,"."],[70605,0,","],[70606,0," "],[70607,0,"n"],[70608,0,"o"],[70609,0,"t"],[70610,0," "],[70611,0,"a"],[70612,0,"n"],[70613,0,"o"],[70614,0,"t"],[70615,0,"h"],[70616,0,"e"],[70617,0,"r"],[70618,0," "],[70619,0,"C"],[70620,0,"R"],[70621,0,"D"],[70622,0,"T"],[70624,0,"\n"],[70625,0,"\n"],[70626,0,"T"],[70627,0,"h"],[70628,0,"e"],[70629,0," "],[70630,0,"p"],[70631,0,"r"],[70632,0,"o"],[70633,0,"b"],[70634,0,"l"],[70635,0,"e"],[70636,0,"m"],[70637,0," "],[70638,0,"o"],[70639,0,"f"],[70640,0," "],[70641,0,"n"],[70642,0,"e"],[70643,0,"s"],[70644,0,"t"],[70645,0,"i"],[70646,0,"n"],[70647,0,"g"],[70648,0," "],[70649,0,"o"],[70650,0,"n"],[70651,0,"e"],[70652,0," "],[70653,0,"C"],[70654,0,"R"],[70655,0,"D"],[70656,0,"T"],[70657,0," "],[70658,0,"i"],[70659,0,"n"],[70660,0,"s"],[70661,0,"i"],[70662,0,"d"],[70663,0,"e"],[70664,0," "],[70665,0,"a"],[70666,0,"n"],[70667,0,"o"],[70668,0,"t"],[70669,0,"h"],[70670,0,"e"],[70671,0,"r"],[70672,0," "],[70673,0,"("],[70674,0,"a"],[70675,0,"l"],[70676,0,"s"],[70677,0,"o"],[70678,0," "],[70679,0,"k"],[70680,0,"n"],[70681,0,"o"],[70682,0,"w"],[70683,0,"n"],[70684,0," "],[70685,0,"a"],[70686,0,"s"],[70687,0," "],[70688,0,"\\"],[70689,0,"e"],[70690,0,"m"],[70691,0,"p"],[70692,0,"h"],[70693,0,"{"],[70694,0,"e"],[70695,0,"m"],[70696,0,"b"],[70697,0,"e"],[70698,0,"d"],[70699,0,"d"],[70700,0,"i"],[70701,0,"n"],[70702,0,"g"],[70703,0,"}"],[70704,0,")"],[70705,0," "],[70706,0,"h"],[70707,0,"a"],[70708,0,"s"],[70709,0," "],[70710,0,"o"],[70711,0,"n"],[70712,0,"l"],[70713,0,"y"],[70714,0," "],[70715,0,"b"],[70716,0,"e"],[70717,0,"e"],[70718,0,"n"],[70719,0," "],[70720,0,"s"],[70721,0,"t"],[70722,0,"u"],[70723,0,"d"],[70724,0,"i"],[70725,0,"e"],[70726,0,"d"],[70727,0," "],[70728,0,"m"],[70729,0,"o"],[70730,0,"r"],[70731,0,"e"],[70732,0," "],[70733,0,"r"],[70734,0,"e"],[70735,0,"c"],[70736,0,"e"],[70737,0,"n"],[70738,0,"t"],[70739,0,"l"],[70740,0,"y"],[70741,0,"."],[70202,0,"S"],[70203,0,"h"],[70204,0,"a"],[70205,0,"p"],[70206,0,"i"],[70207,0,"r"],[70208,0,"o"],[70209,0,":"],[70210,0,"2"],[70211,0,"0"],[70212,0,"1"],[70213,0,"1"],[70214,0,"u"],[70215,0,"n"],[70216,0,","],[70300,0,"~"],[70301,0,"\\"],[70302,0,"c"],[70303,0,"i"],[70304,0,"t"],[70305,0,"e"],[70306,0,"{"],[70307,0,"B"],[70308,0,"r"],[70309,0,"o"],[70310,0,"w"],[70311,0,"n"],[70312,0,":"],[70313,0,"2"],[70314,0,"0"],[70315,0,"1"],[70316,0,"4"],[70317,0,"h"],[70318,0,"s"],[70319,0,"}"],[70778,0,"\n"],[70779,0,"\n"],[70779,0,"\\"],[70780,0,"s"],[70781,0,"u"],[70782,0,"b"],[70783,0,"s"],[70784,0,"e"],[70785,0,"c"],[70786,0,"t"],[70787,0,"i"],[70788,0,"o"],[70789,0,"n"],[70790,0,"{"],[70791,0,"O"],[70792,0,"t"],[70793,0,"h"],[70794,0,"e"],[70795,0,"r"],[70796,0," "],[70797,0,"a"],[70798,0,"p"],[70799,0,"p"],[70800,0,"r"],[70801,0,"o"],[70802,0,"a"],[70803,0,"c"],[70804,0,"h"],[70805,0,"e"],[70806,0,"s"],[70807,0,"}"],[70808,0,"\n"],[70809,0,"\n"],[70810,0,"M"],[70811,0,"a"],[70812,0,"n"],[70813,0,"y"],[70814,0," "],[70815,0,"r"],[70816,0,"e"],[70817,0,"p"],[70818,0,"l"],[70819,0,"i"],[70820,0,"c"],[70821,0,"a"],[70822,0,"t"],[70823,0,"e"],[70824,0,"d"],[70825,0," "],[70826,0,"d"],[70827,0,"a"],[70828,0,"t"],[70829,0,"a"],[70830,0," "],[70831,0,"s"],[70832,0,"y"],[70833,0,"s"],[70834,0,"t"],[70835,0,"e"],[70836,0,"m"],[70837,0,"s"],[70838,0," "],[70839,0,"n"],[70840,0,"e"],[70841,0,"e"],[70842,0,"d"],[70843,0," "],[70844,0,"t"],[70845,0,"o"],[70846,0," "],[70847,0,"d"],[70848,0,"e"],[70849,0,"a"],[70850,0,"l"],[70851,0," "],[70852,0,"w"],[70853,0,"i"],[70854,0,"t"],[70855,0,"h"],[70856,0," "],[70857,0,"t"],[70858,0,"h"],[70859,0,"e"],[70860,0," "],[70861,0,"p"],[70862,0,"r"],[70863,0,"o"],[70864,0,"b"],[70865,0,"l"],[70866,0,"e"],[70867,0,"m"],[70868,0," "],[70869,0,"o"],[70870,0,"f"],[70871,0," "],[70872,0,"c"],[70873,0,"o"],[70874,0,"n"],[70875,0,"c"],[70876,0,"u"],[70877,0,"r"],[70878,0,"r"],[70879,0,"e"],[70880,0,"n"],[70881,0,"t"],[70882,0,","],[70883,0," "],[70884,0,"c"],[70885,0,"o"],[70886,0,"n"],[70887,0,"f"],[70888,0,"l"],[70889,0,"i"],[70890,0,"c"],[70891,0,"t"],[70892,0,"i"],[70893,0,"n"],[70894,0,"g"],[70895,0," "],[70896,0,"m"],[70897,0,"o"],[70898,0,"o"],[70899,0,"d"],[70900,0,"i"],[70901,0,"f"],[70902,0,"i"],[70903,0,"c"],[70904,0,"a"],[70905,0,"t"],[70906,0,"i"],[70907,0,"o"],[70908,0,"n"],[70909,0,"s"],[70898,1],[70909,0,","],[70910,0," "],[70911,0,"b"],[70912,0,"u"],[70913,0,"t"],[70914,0," "],[70915,0,"t"],[70916,0,"h"],[70917,0,"e"],[70918,0," "],[70919,0,"s"],[70920,0,"o"],[70921,0,"l"],[70922,0,"u"],[70923,0,"t"],[70924,0,"i"],[70925,0,"o"],[70926,0,"n"],[70927,0,"s"],[70928,0," "],[70929,0,"a"],[70930,0,"r"],[70931,0,"e"],[70932,0," "],[70933,0,"o"],[70934,0,"f"],[70935,0,"t"],[70936,0,"e"],[70937,0,"n"],[70938,0," "],[70939,0,"a"],[70940,0,"d"],[70941,0,"-"],[70942,0,"h"],[70943,0,"o"],[70944,0,"c"],[70945,0," "],[70946,0,"a"],[70947,0,"n"],[70948,0,"d"],[70949,0," "],[70949,1],[70948,1],[70947,1],[70946,1],[70945,1],[70945,0,"."],[70946,0," "],[70947,0,"I"],[70948,0,"n"],[70949,0," "],[70950,0,"D"],[70951,0,"y"],[70952,0,"n"],[70953,0,"a"],[70954,0,"m"],[70955,0,"o"],[70956,0,"~"],[70957,0,"\\"],[70958,0,"c"],[70959,0,"i"],[70960,0,"t"],[70961,0,"4"],[70962,0,"e"],[70963,0,"{"],[70963,1],[70962,1],[70961,1],[70961,0,"e"],[70962,0,"{"],[70963,0,"D"],[70964,0,"e"],[70965,0,"C"],[70966,0,"a"],[70967,0,"n"],[70968,0,"d"],[70969,0,"i"],[70970,0,"a"],[70971,0,":"],[70972,0,"2"],[70973,0,"0"],[70974,0,"0"],[70975,0,"7"],[70976,0,"u"],[70977,0,"i"],[70978,0,"}"],[70979,0," "],[70980,0,"a"],[70981,0,"n"],[70982,0,"d"],[70983,0," "],[70984,0,"p"],[70984,1],[70984,0,"l"],[70984,1],[70984,0,"p"],[70985,0,"r"],[70986,0,"o"],[70987,0,"j"],[70988,0,"e"],[70989,0,"c"],[70990,0,"t"],[70991,0,"s"],[70992,0," "],[70993,0,"i"],[70994,0,"t"],[70995,0," "],[70996,0,"i"],[70997,0,"n"],[70998,0,"s"],[70999,0,"p"],[71000,0,"i"],[71001,0,"r"],[71002,0,"e"],[71003,0,"d"],[70984,0,"r"],[70985,0,"e"],[70986,0,"l"],[70987,0,"a"],[70988,0,"t"],[70989,0,"e"],[70990,0,"d"],[70991,0," "],[71011,1],[71010,1],[71009,1],[71008,1],[71007,1],[71006,1],[71005,1],[71004,1],[71003,1],[71002,1],[71001,1],[71000,1],[71000,0,","],[71001,0," "],[71002,0,"t"],[71003,0,"h"],[71004,0,"e"],[71005,0," "],[71006,0,"d"],[71007,0,"a"],[71008,0,"t"],[71009,0,"a"],[71010,0,"b"],[71011,0,"a"],[71012,0,"s"],[71013,0,"e"],[71014,0," "],[70947,0,"F"],[70948,0,"o"],[70949,0,"r"],[70950,0," "],[70951,0,"e"],[70952,0,"x"],[70953,0,"a"],[70954,0,"m"],[70955,0,"p"],[70956,0,"l"],[70957,0,"e"],[70958,0,","],[70959,0," "],[70960,1],[70960,0,"i"],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[70992,1],[71006,1],[71005,1],[71004,1],[71003,1],[71002,1],[71001,1],[71000,1],[70999,1],[70998,1],[70997,1],[70996,1],[70995,1],[70994,1],[70994,0,"c"],[70995,0,"o"],[70996,0,"n"],[70997,0,"c"],[70998,0,"u"],[70998,1],[70997,1],[70996,1],[70995,1],[70994,1],[70994,0,"i"],[70995,0,"f"],[70996,0," "],[70997,0,"s"],[70998,0,"e"],[70999,0,"v"],[71000,0,"e"],[71001,0,"r"],[71002,0,"a"],[71003,0,"l"],[71004,0," "],[71005,0,"v"],[71006,0,"a"],[71007,0,"l"],[71008,0,"u"],[71009,0,"e"],[71010,0,"s"],[71011,0," "],[71012,0,"a"],[71013,0,"r"],[71014,0,"e"],[71015,0," "],[71016,0,"c"],[71017,0,"o"],[71018,0,"n"],[71019,0,"c"],[71020,0,"u"],[71021,0,"r"],[71022,0,"r"],[71023,0,"e"],[71024,0,"n"],[71025,0,"t"],[71026,0,"l"],[71027,0,"y"],[71028,0," "],[71029,0,"w"],[71030,0,"r"],[71031,0,"i"],[71032,0,"t"],[71033,0,"t"],[71034,0,"e"],[71035,0,"n"],[71036,0," "],[71037,0,"t"],[71038,0,"o"],[71039,0," "],[71040,0,"t"],[71041,0,"h"],[71042,0,"e"],[71043,0," "],[71044,0,"s"],[71045,0,"a"],[71046,0,"m"],[71047,0,"e"],[71048,0," "],[71049,0,"k"],[71050,0,"e"],[71051,0,"y"],[71052,0,","],[71053,0," "],[71054,0,"t"],[71055,0,"h"],[71056,0,"e"],[71057,0," "],[71058,0,"d"],[71059,0,"a"],[71060,0,"t"],[71061,0,"a"],[71062,0,"b"],[71063,0,"a"],[71064,0,"s"],[71065,0,"e"],[71066,0," "],[71067,0,"p"],[71068,0,"r"],[71069,0,"e"],[71070,0,"s"],[71071,0,"e"],[71072,0,"r"],[71073,0,"v"],[71074,0,"e"],[71075,0,"s"],[71076,0," "],[71077,0,"t"],[71078,0,"h"],[71079,0,"o"],[71080,0,"s"],[71081,0,"e"],[71082,0," "],[71083,0,"v"],[71084,0,"a"],[71085,0,"l"],[71086,0,"u"],[71087,0,"e"],[71088,0,"s"],[71089,0," "],[71090,0,"a"],[71091,0,"n"],[71092,0,"d"],[71093,0," "],[71094,0,"p"],[71095,0,"r"],[71096,0,"e"],[71097,0,"s"],[71098,0,"e"],[71099,0,"n"],[71100,0,"t"],[71101,0,"s"],[71102,0," "],[71079,1],[71079,0,"e"],[71077,0,"a"],[71078,0,"l"],[71079,0,"l"],[71080,0," "],[71081,0,"o"],[71082,0,"f"],[71083,0," "],[71109,1],[71108,1],[71107,1],[71106,1],[71105,1],[71104,1],[71103,1],[71102,1],[71101,1],[71101,0,"r"],[71102,0,"e"],[71103,0,"q"],[71104,0,"u"],[71105,0,"i"],[71106,0,"r"],[71107,0,"e"],[71108,0,"s"],[71109,0," "],[71110,0,"a"],[71111,0,"p"],[71112,0,"p"],[71113,0,"l"],[71114,0,"i"],[71115,0,"c"],[71116,0,"a"],[71117,0,"t"],[71118,0,"i"],[71119,0,"o"],[71120,0,"n"],[71121,0," "],[71122,0,"c"],[71123,0,"o"],[71124,0,"d"],[71125,0,"e"],[71126,0," "],[71127,0,"t"],[71128,0,"o"],[71129,0," "],[71130,0,"r"],[71131,0,"e"],[71132,0,"s"],[71133,0,"o"],[71134,0,"l"],[71135,0,"v"],[71136,0,"e"],[71137,0," "],[71138,0,"t"],[71139,0,"h"],[71140,0,"e"],[71141,0," "],[71142,0,"c"],[71143,0,"o"],[71144,0,"n"],[71145,0,"f"],[71146,0,"l"],[71147,0,"i"],[71148,0,"c"],[71149,0,"t"],[71150,0,"."],[71096,0,","],[71101,0," "],[71102,0,"l"],[71103,0,"e"],[71104,0,"a"],[71105,0,"v"],[71106,0,"e"],[71107,0,"s"],[71108,0," "],[71109,0,"c"],[71110,0,"o"],[71111,0,"n"],[71112,0,"f"],[71113,0,"l"],[71114,0,"i"],[71115,0,"c"],[71116,0,"t"],[71117,0," "],[71118,0,"r"],[71119,0,"e"],[71120,0,"s"],[71121,0,"o"],[71122,0,"l"],[71123,0,"u"],[71124,0,"t"],[71125,0,"i"],[71126,0,"o"],[71127,0,"n"],[71128,0," "],[71129,0,"t"],[71130,0,"o"],[71131,1],[71131,1],[71131,1],[71131,1],[71131,1],[71131,1],[71131,1],[71131,1],[71131,1],[71171,1],[71170,1],[71169,1],[71168,1],[71167,1],[71166,1],[71165,1],[71164,1],[71163,1],[71162,1],[71161,1],[71160,1],[71159,1],[71158,1],[71157,1],[71156,1],[71155,1],[71154,1],[71153,1],[71152,1],[71151,1],[71150,1],[71149,1],[71148,1],[71149,0," "],[71150,0,"S"],[71151,0,"i"],[71152,0,"m"],[71153,0,"p"],[71153,1],[71152,1],[71151,1],[71150,1],[71150,0,"N"],[71151,0,"a"],[71152,0,"i"],[71153,0,"v"],[71154,0,"e"],[71155,0,"l"],[71156,0,"y"],[71157,0," "],[71158,0,"c"],[71159,0,"h"],[71160,0,"o"],[71161,0,"s"],[71162,0,"e"],[71163,0,"n"],[71164,0," "],[71165,0,"m"],[71166,0,"e"],[71167,0,"r"],[71168,0,"g"],[71169,0,"e"],[71170,0," "],[71171,0,"f"],[71172,0,"u"],[71173,0,"n"],[71174,0,"c"],[71175,0,"t"],[71176,0,"i"],[71177,0,"o"],[71178,0,"n"],[71179,0,"s"],[71180,0," "],[71181,0,"o"],[71182,0,"f"],[71183,0,"t"],[71184,0,"e"],[71185,0,"n"],[71186,0," "],[71187,0,"e"],[71188,0,"x"],[71189,0,"h"],[71190,0,"i"],[71191,0,"b"],[71192,0,"i"],[71193,0,"t"],[71194,0," "],[71195,0,"a"],[71196,0,"n"],[71197,0,"o"],[71198,0,"m"],[71199,0,"a"],[71200,0,"l"],[71201,0,"i"],[71202,0,"e"],[71203,0,"s"],[71204,0,","],[71205,0," "],[71206,0,"s"],[71207,0,"u"],[71208,0,"c"],[71209,0,"h"],[71210,0," "],[71211,0,"a"],[71212,0,"s"],[71213,0," "],[71214,0,"d"],[71215,0,"e"],[71216,0,"l"],[71217,0,"e"],[71218,0,"t"],[71219,0,"e"],[71220,0,"d"],[71221,0," "],[71222,0,"i"],[71223,0,"t"],[71224,0,"e"],[71225,0,"m"],[71226,0,"s"],[71227,0," "],[71228,0,"r"],[71229,0,"e"],[71230,0,"a"],[71231,0,"p"],[71232,0,"p"],[71233,0,"e"],[71234,0,"a"],[71235,0,"r"],[71236,0,"i"],[71237,0,"n"],[71238,0,"g"],[71239,0,"~"],[71240,0,"\\"],[71241,0,"c"],[71242,0,"i"],[71243,0,"t"],[71244,0,"e"],[71245,0,"{"],[71246,0,"D"],[71247,0,"e"],[71248,0,"C"],[71249,0,"a"],[71250,0,"n"],[71251,0,"d"],[71252,0,"i"],[71253,0,"a"],[71254,0,":"],[71255,0,"2"],[71256,0,"0"],[71257,0,"0"],[71258,0,"7"],[71259,0,"u"],[71260,0,"i"],[71261,0,"}"],[71262,0,"."],[71263,0,"\n"],[71264,0,"\n"],[71265,0,"A"],[71266,0,"n"],[71267,0,"o"],[71268,0,"t"],[71269,0,"h"],[71270,0,"e"],[71271,0,"r"],[71272,0," "],[71273,0,"f"],[71274,0,"r"],[71275,0,"e"],[71276,0,"q"],[71277,0,"u"],[71278,0,"e"],[71279,0,"n"],[71280,0,"t"],[71281,0,"l"],[71282,0,"y"],[71283,0,"-"],[71284,0,"u"],[71285,0,"s"],[71286,0,"e"],[71287,0,"d"],[71288,0," "],[71289,0,"a"],[71290,0,"p"],[71291,0,"p"],[71292,0,"r"],[71293,0,"o"],[71294,0,"a"],[71295,0,"c"],[71296,0,"h"],[71297,0," "],[71298,0,"t"],[71299,0,"o"],[71300,0," "],[71301,0,"c"],[71302,0,"o"],[71303,0,"n"],[71304,0,"f"],[71305,0,"l"],[71306,0,"i"],[71307,0,"c"],[71308,0,"t"],[71309,0," "],[71310,0,"r"],[71311,0,"e"],[71312,0,"s"],[71313,0,"o"],[71314,0,"l"],[71315,0,"u"],[71316,0,"t"],[71317,0,"i"],[71318,0,"o"],[71319,0,"n"],[71320,0," "],[71321,0,"i"],[71322,0,"s"],[71323,0," "],[71324,0,"\\"],[71325,0,"e"],[71326,0,"m"],[71327,0,"p"],[71328,0,"h"],[71329,0,"{"],[71330,0,"l"],[71331,0,"a"],[71332,0,"s"],[71333,0,"t"],[71334,0," "],[71335,0,"w"],[71336,0,"r"],[71337,0,"i"],[71338,0,"t"],[71339,0,"e"],[71340,0,"r"],[71341,0," "],[71342,0,"w"],[71343,0,"i"],[71344,0,"n"],[71345,0,"s"],[71346,0,"}"],[71347,0,","],[71348,0," "],[71349,0,"w"],[71350,0,"h"],[71351,0,"i"],[71352,0,"c"],[71353,0,"h"],[71354,0," "],[71355,0,"a"],[71356,0,"r"],[71357,0,"b"],[71358,0,"i"],[71359,0,"t"],[71360,0,"r"],[71361,0,"a"],[71362,0,"r"],[71363,0,"i"],[71364,0,"l"],[71365,0,"y"],[71366,0," "],[71367,0,"c"],[71368,0,"h"],[71369,0,"o"],[71370,0,"o"],[71371,0,"s"],[71372,0,"e"],[71373,0,"s"],[71374,0," "],[71375,0,"o"],[71376,0,"n"],[71377,0,"e"],[71378,0," "],[71379,0,"a"],[71380,0,"m"],[71381,0,"o"],[71382,0,"n"],[71383,0,"g"],[71384,0," "],[71385,0,"s"],[71386,0,"e"],[71387,0,"v"],[71388,0,"e"],[71389,0,"r"],[71390,0,"a"],[71391,0,"l"],[71392,0," "],[71393,0,"c"],[71394,0,"o"],[71395,0,"n"],[71396,0,"c"],[71397,0,"u"],[71398,0,"r"],[71399,0,"r"],[71400,0,"e"],[71401,0,"n"],[71402,0,"t"],[71403,0," "],[71404,0,"w"],[71405,0,"r"],[71406,0,"i"],[71407,0,"t"],[71408,0,"e"],[71409,0,"s"],[71410,0," "],[71411,0,"a"],[71412,0,"s"],[71413,0," "],[71414,0,"`"],[71415,0,"`"],[71416,0,"w"],[71417,0,"i"],[71418,0,"n"],[71419,0,"n"],[71420,0,"e"],[71421,0,"r"],[71422,0,"'"],[71423,0,"'"],[71424,0," "],[71425,0,"a"],[71426,0,"n"],[71427,0,"d"],[71428,0," "],[71429,0,"d"],[71430,0,"i"],[71431,0,"s"],[71432,0,"c"],[71433,0,"a"],[71434,0,"r"],[71435,0,"d"],[71436,0,"s"],[71437,0," "],[71438,0,"t"],[71439,0,"h"],[71440,0,"e"],[71441,0," "],[71442,0,"o"],[71443,0,"t"],[71444,0,"h"],[71445,0,"e"],[71446,0,"r"],[71447,0,"s"],[71448,0,"."],[71449,0," "],[71450,0,"p"],[71450,1],[71450,0,"T"],[71451,0,"h"],[71452,0,"i"],[71453,0,"s"],[71454,0," "],[71454,1],[71453,1],[71452,1],[71452,0,"e"],[71453,0," "],[71454,0,"l"],[71347,0," "],[71348,0,"("],[71349,0,"L"],[71350,0,"W"],[71351,0,"W"],[71352,0,")"],[71460,1],[71459,1],[71458,1],[71457,1],[71456,1],[71456,0,"L"],[71457,0,"W"],[71458,0,"W"],[71459,0," "],[71460,0,"d"],[71461,0,"o"],[71462,0,"e"],[71463,0,"s"],[71464,0," "],[71465,0,"n"],[71466,0,"o"],[71467,0,"t"],[71468,0," "],[71469,0,"m"],[71470,0,"e"],[71471,0,"e"],[71472,0,"t"],[71473,0," "],[71474,0,"o"],[71475,0,"u"],[71476,0,"r"],[71477,0," "],[71478,0,"r"],[71479,0,"e"],[71480,0,"q"],[71481,0,"u"],[71482,0,"i"],[71483,0,"r"],[71484,0,"e"],[71485,0,"m"],[71486,0,"e"],[71487,0,"n"],[71488,0,"t"],[71489,0,"s"],[71490,0,","],[71491,0," "],[71492,0,"s"],[71493,0,"i"],[71494,0,"n"],[71495,0,"c"],[71496,0,"e"],[71497,0," "],[71498,0,"w"],[71499,0,"e"],[71500,0," "],[71501,0,"w"],[71502,0,"a"],[71503,0,"n"],[71504,0,"t"],[71505,0," "],[71506,0,"n"],[71507,0,"o"],[71508,0," "],[71509,0,"u"],[71510,0,"s"],[71511,0,"e"],[71512,0,"r"],[71513,0," "],[71514,0,"i"],[71515,0,"n"],[71516,0,"p"],[71517,0,"u"],[71518,0,"t"],[71519,0," "],[71520,0,"t"],[71521,0,"o"],[71522,0," "],[71523,0,"b"],[71524,0,"e"],[71525,0," "],[71526,0,"l"],[71527,0,"o"],[71528,0,"s"],[71529,0,"t"],[71530,0," "],[71531,0,"d"],[71532,0,"u"],[71533,0,"e"],[71534,0," "],[71535,0,"t"],[71536,0,"o"],[71537,0," "],[71538,0,"c"],[71539,0,"o"],[71540,0,"n"],[71541,0,"c"],[71542,0,"u"],[71543,0,"r"],[71544,0,"r"],[71545,0,"e"],[71546,0,"n"],[71547,0,"t"],[71548,0," "],[71549,0,"m"],[71550,0,"o"],[71551,0,"d"],[71552,0,"i"],[71553,0,"f"],[71554,0,"i"],[71555,0,"c"],[71556,0,"a"],[71557,0,"t"],[71558,0,"i"],[71559,0,"o"],[71560,0,"n"],[71561,0,"s"],[71562,0,"."],[71455,0," "],[71456,0,"T"],[71457,0,"h"],[71458,0,"i"],[71459,0,"s"],[71460,0," "],[71461,0,"a"],[71462,0,"p"],[71463,0,"p"],[71464,0,"r"],[71465,0,"o"],[71466,0,"a"],[71467,0,"c"],[71468,0,"h"],[71469,0," "],[71470,0,"i"],[71471,0,"s"],[71472,0," "],[71473,0,"u"],[71474,0,"s"],[71475,0,"e"],[71476,0,"d"],[71477,0," "],[71478,0,"i"],[71479,0,"n"],[71480,0," "],[71481,0,"A"],[71482,0,"p"],[71483,0,"a"],[71484,0,"c"],[71485,0,"h"],[71486,0,"e"],[71487,0," "],[71488,0,"C"],[71489,0,"a"],[71490,0,"s"],[71491,0,"s"],[71492,0,"a"],[71493,0,"n"],[71494,0,"d"],[71495,0,"r"],[71496,0,"a"],[71497,0,","],[71498,0," "],[71499,0,"a"],[71500,0,"n"],[71501,0,"d"],[71502,0," "],[71503,0,"i"],[71504,0,"t"],[71505,0," "],[71506,0,"i"],[71507,0,"s"],[71508,0," "],[71509,0,"a"],[71510,0," "],[71510,1],[71510,0,"n"],[71511,0," "],[71512,0,"o"],[71513,0,"p"],[71514,0,"t"],[71515,0,"i"],[71516,0,"o"],[71517,0,"n"],[71518,0," "],[71519,0,"i"],[71520,0,"n"],[71521,0," "],[71522,0,"m"],[71523,0,"a"],[71524,0,"n"],[71525,0,"y"],[71526,0," "],[71527,0,"o"],[71528,0,"t"],[71529,0,"h"],[71530,0,"e"],[71531,0,"r"],[71532,0," "],[71533,0,"s"],[71534,0,"y"],[71535,0,"s"],[71536,0,"t"],[71537,0,"e"],[71538,0,"m"],[71539,0,"s"],[71540,0," "],[71541,0,"i"],[71542,0,"n"],[71543,0,"c"],[71544,0,"l"],[71545,0,"u"],[71546,0,"d"],[71547,0,"i"],[71548,0,"n"],[71549,0,"g"],[71550,0," "],[71551,0,"R"],[71552,0,"i"],[71553,0,"a"],[71554,0,"k"],[71555,0,","],[71556,0," "],[71556,1],[71555,1],[71555,0," "],[71556,0,"a"],[71557,0,"n"],[71558,0,"d"],[71559,0," "],[71560,0,"C"],[71561,0,"o"],[71562,0,"u"],[71563,0,"c"],[71564,0,"h"],[71565,0,"D"],[71566,0,"B"],[71567,0,"."],[70808,0,"\\"],[70809,0,"l"],[70810,0,"a"],[70811,0,"b"],[70812,0,"e"],[70813,0,"l"],[70814,0,"{"],[70815,0,"s"],[70816,0,"e"],[70817,0,"c"],[70818,0,":"],[70819,0,"r"],[70820,0,"e"],[70821,0,"l"],[70822,0,"a"],[70823,0,"t"],[70824,0,"e"],[70825,0,"d"],[70826,0,"-"],[70827,0,"o"],[70828,0,"t"],[70829,0,"h"],[70830,0,"e"],[70831,0,"r"],[70832,0,"}"],[70132,0,"\\"],[70133,0,"l"],[70134,0,"a"],[70135,0,"b"],[70136,0,"e"],[70137,0,"l"],[70138,0,"{"],[70139,0,"s"],[70140,0,"e"],[70141,0,"c"],[70142,0,":"],[70143,0,"r"],[70144,0,"e"],[70145,0,"l"],[70146,0,"a"],[70147,0,"t"],[70148,0,"e"],[70149,0,"d"],[70150,0,"-"],[70151,0,"c"],[70152,0,"r"],[70153,0,"d"],[70154,0,"t"],[70155,0,"s"],[70156,0,"}"],[67788,0,"\\"],[67789,0,"l"],[67790,0,"a"],[67791,0,"b"],[67792,0,"e"],[67793,0,"l"],[67794,0,"{"],[67795,0,"s"],[67796,0,"e"],[67797,0,"c"],[67798,0,":"],[67799,0,"r"],[67800,0,"e"],[67801,0,"l"],[67802,0,"a"],[67803,0,"t"],[67804,0,"e"],[67805,0,"d"],[67806,0,"-"],[67807,0,"o"],[67808,0,"t"],[67809,0,"}"],[71748,0,"\n"],[71749,0,"\n"],[71750,0,"F"],[71751,0,"i"],[71752,0,"n"],[71753,0,"a"],[71754,0,"l"],[71755,0,"l"],[71756,0,"y"],[71757,0,","],[71758,0," "],[71759,0,"m"],[71760,0,"a"],[71761,0,"n"],[71762,0,"y"],[71763,0," "],[71764,0,"s"],[71765,0,"y"],[71766,0,"s"],[71767,0,"t"],[71768,0,"e"],[71769,0,"m"],[71770,0,"s"],[71771,0," "],[71762,1],[71761,1],[71760,1],[71759,1],[71758,1],[71767,0,"s"],[71768,0,"u"],[71769,0,"c"],[71770,0,"h"],[71771,0," "],[71772,0,"a"],[71773,0,"s"],[71774,0," "],[71775,0,"B"],[71776,0,"a"],[71777,0,"y"],[71778,0,"o"],[71779,0,"u"],[71780,0,"~"],[71781,0,"\\"],[71782,0,"c"],[71783,0,"i"],[71784,0,"t"],[71785,0,"e"],[71786,0,"{"],[71787,0,"T"],[71788,0,"e"],[71789,0,"r"],[71790,0,"r"],[71791,0,"y"],[71792,0,":"],[71793,0,"1"],[71794,0,"9"],[71795,0,"9"],[71796,0,"5"],[71797,0,"d"],[71798,0,"n"],[71799,0,"}"],[71800,0," "],[71801,0,"a"],[71802,0,"l"],[71803,0,"l"],[71804,0,"o"],[71805,0,"w"],[71806,0," "],[71807,0,"o"],[71808,0,"f"],[71809,0,"f"],[71810,0,"l"],[71811,0,"i"],[71812,0,"n"],[71813,0,"e"],[71814,0," "],[71815,0,"n"],[71816,0,"o"],[71817,0,"d"],[71818,0,"e"],[71819,0,"s"],[71820,0," "],[71821,0,"t"],[71822,0,"o"],[71823,0," "],[71824,0,"e"],[71825,0,"x"],[71826,0,"e"],[71827,0,"c"],[71828,0,"u"],[71829,0,"t"],[71830,0,"e"],[71831,0," "],[71832,0,"t"],[71833,0,"r"],[71834,0,"a"],[71835,0,"n"],[71836,0,"s"],[71837,0,"a"],[71838,0,"c"],[71839,0,"t"],[71840,0,"i"],[71841,0,"o"],[71842,0,"n"],[71843,0,"s"],[71844,0," "],[71845,0,"t"],[71846,0,"e"],[71847,0,"n"],[71848,0,"t"],[71849,0,"a"],[71850,0,"t"],[71851,0,"i"],[71852,0,"v"],[71853,0,"e"],[71854,0,"l"],[71855,0,"y"],[71856,0,","],[71857,0," "],[71858,0,"a"],[71859,0,"n"],[71860,0,"d"],[71861,0," "],[71862,0,"c"],[71863,0,"o"],[71864,0,"n"],[71865,0,"f"],[71866,0,"i"],[71867,0,"r"],[71868,0,"m"],[71869,0," "],[71870,0,"t"],[71871,0,"h"],[71872,0,"e"],[71873,0,"m"],[71874,0," "],[71875,0,"w"],[71876,0,"h"],[71877,0,"e"],[71878,0,"n"],[71879,0," "],[71880,0,"t"],[71881,0,"h"],[71882,0,"e"],[71883,0,"y"],[71884,0," "],[71885,0,"a"],[71886,0,"r"],[71887,0,"e"],[71888,0," "],[71889,0,"n"],[71890,0,"e"],[71891,0,"x"],[71892,0,"t"],[71893,0," "],[71894,0,"o"],[71895,0,"n"],[71896,0,"l"],[71897,0,"i"],[71898,0,"n"],[71899,0,"e"],[71900,0,"."],[71901,0," "],[71902,0,"T"],[71902,1],[71902,0,"A"],[71903,0,"s"],[71904,0," "],[71905,0,"d"],[71906,0,"i"],[71907,0,"s"],[71908,0,"c"],[71909,0,"u"],[71910,0,"s"],[71911,0,"s"],[71912,0,"e"],[71913,0,"d"],[71914,0," "],[71915,0,"i"],[71916,0,"n"],[71917,0," "],[71918,0,"s"],[71919,0,"e"],[71920,0,"c"],[71921,0,"t"],[71922,0,"i"],[71923,0,"o"],[71924,0,"n"],[71925,0,"~"],[71926,0,"\\"],[71927,0,"r"],[71928,0,"e"],[71929,0,"f"],[71930,0,"{"],[71931,0,"s"],[71932,0,"e"],[71933,0,"c"],[71934,0,":"],[71935,0,"r"],[71936,0,"e"],[71937,0,"l"],[71938,0,"a"],[71939,0,"t"],[71940,0,"e"],[71941,0,"d"],[71942,0,"-"],[71943,0,"o"],[71944,0,"t"],[71945,0,"}"],[71946,0,","],[71947,0," "],[71948,0,"s"],[71949,0,"u"],[71950,0,"c"],[71951,0,"h"],[71952,0," "],[71953,0,"t"],[71954,0,"o"],[71955,0,"t"],[71956,0,"a"],[71957,0,"l"],[71958,0," "],[71959,0,"o"],[71960,0,"r"],[71961,0,"d"],[71962,0,"e"],[71963,0,"r"],[71964,0," "],[71965,0,"r"],[71966,0,"e"],[71967,0,"q"],[71968,0,"u"],[71969,0,"i"],[71970,0,"r"],[71971,0,"e"],[71972,0,"m"],[71973,0,"e"],[71974,0,"n"],[71975,0,"t"],[71976,0,"s"],[71977,0," "],[71978,0,"a"],[71979,0,"r"],[71980,0,"e"],[71981,0," "],[71982,0,"p"],[71983,0,"r"],[71984,0,"o"],[71985,0,"h"],[71986,0,"i"],[71987,0,"b"],[71988,0,"i"],[71989,0,"t"],[71990,0,"i"],[71991,0,"v"],[71992,0,"e"],[71993,0," "],[71994,0,"i"],[71995,0,"n"],[71996,0," "],[71997,0,"a"],[71998,0," "],[71999,0,"p"],[72000,0,"e"],[72001,0,"e"],[72002,0,"r"],[72003,0,"-"],[72004,0,"t"],[72005,0,"o"],[72006,0,"-"],[72007,0,"p"],[72008,0,"e"],[72009,0,"e"],[72010,0,"r"],[72011,0," "],[72012,0,"s"],[72013,0,"y"],[72014,0,"s"],[72015,0,"t"],[72016,0,"e"],[72017,0,"m"],[72018,0," "],[72019,0,"o"],[72020,0,"f"],[72021,0," "],[72022,0,"m"],[72023,0,"o"],[72024,0,"b"],[72025,0,"i"],[72026,0,"l"],[72027,0,"e"],[72028,0," "],[72029,0,"d"],[72030,0,"e"],[72031,0,"v"],[72032,0,"i"],[72033,0,"c"],[72034,0,"e"],[72035,0,"s"],[72036,0,"."],[71964,0,"i"],[71965,0,"n"],[71966,0,"g"],[71901,0," "],[71902,0,"T"],[71903,0,"h"],[71904,0,"i"],[71905,0,"s"],[71906,0," "],[71907,0,"a"],[71908,0,"p"],[71909,0,"p"],[71910,0,"r"],[71911,0,"o"],[71912,0,"a"],[71913,0,"c"],[71914,0,"h"],[71915,0," "],[71916,0,"r"],[71917,0,"e"],[71918,0,"l"],[71919,0,"i"],[71920,0,"e"],[71921,0,"s"],[71922,0," "],[71923,0,"o"],[71924,0,"n"],[71925,0," "],[71926,0,"a"],[71927,0," "],[71928,0,"c"],[71929,0,"e"],[71930,0,"n"],[71931,0,"t"],[71932,0,"r"],[71933,0,"a"],[71934,0,"l"],[71935,0," "],[71936,0,"s"],[71937,0,"e"],[71938,0,"r"],[71939,0,"v"],[71940,0,"e"],[71941,0,"r"],[71942,0," "],[71943,0,"t"],[71944,0,"o"],[71945,0," "],[71946,0,"e"],[71947,0,"x"],[71948,0,"e"],[71949,0,"c"],[71950,0,"u"],[71951,0,"t"],[71952,0,"e"],[71953,0," "],[71954,0,"t"],[71955,0,"r"],[71956,0,"a"],[71957,0,"n"],[71958,0,"s"],[71959,0,"a"],[71960,0,"c"],[71961,0,"t"],[71962,0,"i"],[71963,0,"o"],[71964,0,"n"],[71965,0,"s"],[71966,0," "],[71967,0,"i"],[71968,0,"n"],[71969,0," "],[71970,0,"a"],[71971,0," "],[71972,0,"t"],[71973,0,"o"],[71974,0,"t"],[71975,0,"a"],[71976,0,"l"],[71977,0," "],[71978,0,"o"],[71979,0,"r"],[71980,0,"d"],[71981,0,"e"],[71982,0,"r"],[71976,1],[71975,1],[71974,1],[71973,1],[71972,1],[71972,0,"s"],[71973,0,"e"],[71974,0,"r"],[71975,0,"i"],[71976,0,"a"],[71977,0,"l"],[72085,0,"b"],[72086,0,"b"],[72087,0,"b"],[72087,1],[72086,1],[72085,1],[72040,1],[72039,1],[72038,1],[72037,1],[72036,1],[72036,0,"s"],[72037,0,"e"],[72038,0,"r"],[72039,0,"i"],[72040,0,"a"],[72041,0,"l"],[71984,0,","],[71985,0," "],[71986,0,"a"],[71987,0,"n"],[71988,0,"d"],[71989,0," "],[71990,0,"d"],[71991,0,"e"],[71992,0,"c"],[71993,0,"i"],[71994,0,"d"],[71995,0,"e"],[71996,0," "],[71997,0,"w"],[71998,0,"h"],[71999,0,"e"],[72000,0,"t"],[72001,0,"h"],[72002,0,"e"],[72003,0,"r"],[72004,0," "],[72005,0,"a"],[72006,0," "],[72007,0,"t"],[72008,0,"r"],[72009,0,"a"],[72010,0,"n"],[72011,0,"s"],[72012,0,"a"],[72013,0,"c"],[72014,0,"t"],[72015,0,"i"],[72016,0,"o"],[72017,0,"n"],[72018,0," "],[72019,0,"w"],[72020,0,"a"],[72021,0,"s"],[72022,0," "],[72023,0,"s"],[72024,0,"u"],[72025,0,"c"],[72026,0,"c"],[72027,0,"e"],[72028,0,"s"],[72029,0,"s"],[72030,0,"f"],[72031,0,"u"],[72032,0,"l"],[72033,0," "],[72034,0,"d"],[72035,0,"e"],[72036,0,"p"],[72037,0,"e"],[72038,0,"n"],[72039,0,"d"],[72040,0,"i"],[72041,0,"n"],[72042,0,"g"],[72043,0," "],[72044,0,"o"],[72045,0,"n"],[72046,0," "],[72047,0,"i"],[72048,0,"t"],[72049,0,"s"],[72050,0," "],[72051,0,"p"],[72052,0,"r"],[72053,0,"e"],[72054,0,"d"],[72054,1],[72054,0,"c"],[72055,0,"o"],[72056,0,"n"],[72057,0,"d"],[72058,0,"i"],[72059,0,"t"],[72060,0,"i"],[72061,0,"o"],[72062,0,"n"],[72063,0,"s"],[72064,0,"."],[71335,0," "],[71336,0,"A"],[71337,0,"s"],[71338,0," "],[71339,0,"t"],[71340,0,"h"],[71341,0,"e"],[71342,0," "],[71343,0,"c"],[71344,0,"o"],[71345,0,"m"],[71346,0,"p"],[71347,0,"l"],[71348,0,"e"],[71349,0,"x"],[71350,0,"i"],[71351,0,"t"],[71352,0,"y"],[71353,0," "],[71354,0,"o"],[71355,0,"f"],[71356,0," "],[71357,0,"t"],[71358,0,"h"],[71359,0,"i"],[71360,0,"s"],[71361,0," "],[71362,0,"p"],[71363,0,"a"],[71364,0,"p"],[71365,0,"e"],[71366,0,"r"],[71367,0," "],[71368,0,"d"],[71369,0,"e"],[71370,0,"m"],[71371,0,"o"],[71372,0,"n"],[71373,0,"s"],[71374,0,"t"],[71375,0,"r"],[71376,0,"a"],[71377,0,"t"],[71378,0,"e"],[71379,0,"s"],[71380,0,","],[71381,0," "],[71382,0,"c"],[71382,1],[71382,0,"i"],[71383,0,"t"],[71384,0,"s"],[71385,0," "],[71385,1],[71384,1],[71383,1],[71382,1],[71382,0,"c"],[71383,0,"o"],[71384,0,"n"],[71385,0,"f"],[71386,0,"l"],[71387,0,"i"],[71388,0,"c"],[71389,0,"t"],[71390,0," "],[71391,0,"r"],[71392,0,"e"],[71393,0,"s"],[71394,0,"o"],[71395,0,"l"],[71396,0,"u"],[71397,0,"t"],[71398,0,"i"],[71399,0,"o"],[71400,0,"n"],[71401,0," "],[71402,0,"i"],[71403,0,"s"],[71404,0," "],[71405,0,"n"],[71406,0,"o"],[71407,0,"t"],[71408,0," "],[71409,0,"a"],[71410,0," "],[71411,0,"s"],[71412,0,"i"],[71413,0,"m"],[71414,0,"p"],[71415,0,"l"],[71416,0,"e"],[71417,0," "],[71418,0,"m"],[71419,0,"a"],[71420,0,"t"],[71421,0,"t"],[71422,0,"e"],[71423,0,"r"],[71424,0," "],[71425,0,"t"],[71426,0,"h"],[71427,0,"a"],[71428,0,"t"],[71429,0," "],[71430,0,"s"],[71431,0,"h"],[71432,0,"o"],[71433,0,"u"],[71434,0,"l"],[71435,0,"d"],[71436,0," "],[71437,0,"b"],[71438,0,"e"],[71439,0," "],[71440,0,"l"],[71441,0,"e"],[71442,0,"f"],[71443,0,"t"],[71444,0," "],[71445,0,"t"],[71446,0,"o"],[71447,0," "],[71448,0,"a"],[71449,0,"p"],[71450,0,"p"],[71451,0,"l"],[71452,0,"i"],[71453,0,"c"],[71454,0,"a"],[71455,0,"t"],[71456,0,"i"],[71457,0,"o"],[71458,0,"n"],[71459,0," "],[71460,0,"p"],[71461,0,"r"],[71462,0,"o"],[71463,0,"g"],[71464,0,"r"],[71465,0,"a"],[71466,0,"m"],[71467,0,"m"],[71468,0,"e"],[71469,0,"r"],[71470,0,"s"],[71471,0,"."],[71435,1],[71434,1],[71433,1],[71432,1],[71431,1],[71430,1],[71430,0,"c"],[71431,0,"a"],[71432,0,"n"],[71433,0," "],[71434,0,"r"],[71435,0,"e"],[71436,0,"a"],[71437,0,"s"],[71438,0,"o"],[71439,0,"n"],[71440,0,"a"],[71441,0,"b"],[71442,0,"l"],[71443,0,"y"],[72097,1],[72097,0,"i"],[72098,0,"n"],[72099,0,"g"],[72089,1],[72088,1],[72087,1],[72087,0,"s"],[72079,1],[72078,1],[72077,1],[72076,1],[72075,1],[72074,1],[72073,1],[72072,1],[72072,0,"l"],[72073,0,"l"],[72109,1],[72109,0,"t"],[72110,0,"h"],[72111,0,"e"],[72112,0," "],[72113,0,"s"],[72114,0,"a"],[72115,0,"m"],[72116,0,"e"],[72141,1],[72141,0,"i"],[72142,0,"n"],[72143,0,"g"],[70366,0,","],[70367,0,"B"],[70368,0,"r"],[70369,0,"o"],[70370,0,"w"],[70371,0,"n"],[70372,0,":"],[70373,0,"2"],[70374,0,"0"],[70375,0,"1"],[70376,0,"3"],[70377,0,"w"],[70378,0,"y"],[70782,0," "],[70783,0,"\\"],[70784,0,"e"],[70785,0,"m"],[70786,0,"p"],[70787,0,"h"],[70788,0,"{"],[70789,0,"c"],[70790,0,"o"],[70791,0,"m"],[70792,0,"p"],[70793,0,"o"],[70794,0,"s"],[70795,0,"i"],[70796,0,"t"],[70797,0,"i"],[70798,0,"o"],[70799,0,"n"],[70800,0,"}"],[70801,0," "],[70802,0,"o"],[70803,0,"r"],[70859,0," "],[70860,0,"B"],[70861,0,"a"],[70862,0,"q"],[70863,0,"u"],[70864,0,"e"],[70865,0,"r"],[70866,0,"o"],[70867,0," "],[70868,0,"e"],[70869,0,"t"],[70870,0," "],[70871,0,"a"],[70872,0,"l"],[70873,0,"."],[70874,0,"~"],[70875,0,"\\"],[70876,0,"c"],[70877,0,"i"],[70878,0,"t"],[70879,0,"e"],[70880,0,"{"],[70881,0,"B"],[70882,0,"a"],[70883,0,"q"],[70884,0,"u"],[70885,0,"e"],[70886,0,"r"],[70887,0,"o"],[70888,0,":"],[70889,0,"2"],[70890,0,"0"],[70891,0,"1"],[70892,0,"5"],[70893,0,"t"],[70894,0,"m"],[70895,0,"}"],[70896,0," "],[70897,0,"p"],[70898,0,"r"],[70899,0,"e"],[70900,0,"s"],[70901,0,"e"],[70902,0,"n"],[70903,0,"t"],[70904,0," "],[70904,1],[70903,1],[70902,1],[70901,1],[70900,1],[70899,1],[70898,1],[70897,1],[70897,0,"="],[70897,1],[70897,0,"d"],[70898,0,"e"],[70899,0,"f"],[70900,0,"i"],[70901,0,"n"],[70902,0,"e"],[70903,0," "],[70904,0,"a"],[70905,0," "],[70906,0,"t"],[70907,0,"h"],[70908,0,"e"],[70909,0,"o"],[70910,0,"r"],[70911,0,"e"],[70912,0,"t"],[70913,0,"i"],[70914,0,"c"],[70915,0,"a"],[70916,0,"l"],[70917,0," "],[70918,0,"b"],[70919,0,"a"],[70920,0,"s"],[70921,0,"i"],[70922,0,"s"],[70923,0," "],[70924,0,"f"],[70925,0,"o"],[70926,0,"r"],[70927,0," "],[70928,0,"C"],[70928,1],[70928,0,"c"],[70929,0,"o"],[70930,0,"m"],[70931,0,"p"],[70932,0,"o"],[70933,0,"s"],[70934,0,"i"],[70935,0,"t"],[70936,0,"i"],[70937,0,"o"],[70938,0,"n"],[70939,0," "],[70940,0,"o"],[70941,0,"f"],[70942,0," "],[70943,0,"s"],[70944,0,"t"],[70945,0,"a"],[70946,0,"t"],[70947,0,"e"],[70948,0,"-"],[70949,0,"b"],[70950,0,"a"],[70951,0,"s"],[70952,0,"e"],[70953,0,"d"],[70954,0," "],[70955,0,"C"],[70956,0,"R"],[70957,0,"D"],[70958,0,"T"],[70959,0,"s"],[70960,0,","],[70961,0," "],[70962,0,"b"],[70963,0,"a"],[70964,0,"s"],[70965,0,"e"],[70966,0,"d"],[70967,0," "],[70968,0,"o"],[70969,0,"n"],[70970,0," "],[70971,0,"l"],[70972,0,"a"],[70973,0,"t"],[70974,0,"t"],[70975,0,"i"],[70976,0,"c"],[70977,0,"e"],[70978,0,"s"],[70979,0,"."],[70859,0," "],[70860,0,"R"],[70861,0,"i"],[70862,0,"a"],[70863,0,"k"],[70864,0," "],[70865,0,"a"],[70866,0,"l"],[70867,0,"l"],[70868,0,"o"],[70869,0,"w"],[70870,0,"s"],[70871,0," "],[70872,0,"m"],[70873,0,"u"],[70874,0,"l"],[70875,0,"t"],[70876,0,"i"],[70877,0,"p"],[70878,0,"l"],[70879,0,"e"],[70880,0," "],[70881,0,"l"],[70882,0,"e"],[70883,0,"v"],[70884,0,"e"],[70885,0,"l"],[70886,0,"s"],[70887,0," "],[70888,0,"o"],[70889,0,"f"],[70890,0," "],[70890,1],[70889,1],[70888,1],[70887,1],[70886,1],[70885,1],[70884,1],[70883,1],[70882,1],[70881,1],[70880,1],[70879,1],[70878,1],[70877,1],[70876,1],[70875,1],[70874,1],[70873,1],[70872,1],[70872,0,"n"],[70873,0,"e"],[70874,0,"s"],[70875,0,"t"],[70876,0,"i"],[70877,0,"n"],[70878,0,"g"],[70879,0," "],[70880,0,"o"],[70881,0,"f"],[70882,0," "],[70883,0,"c"],[70884,0,"o"],[70885,0,"u"],[70886,0,"n"],[70887,0,"t"],[70888,0,"e"],[70889,0,"r"],[70890,0,"s"],[70891,0," "],[70892,0,"a"],[70893,0,"n"],[70894,0,"d"],[70895,0," "],[70896,0,"r"],[70897,0,"e"],[70898,0,"g"],[70899,0,"i"],[70900,0,"s"],[70901,0,"t"],[70902,0,"e"],[70903,0,"r"],[70904,0,"s"],[70905,0," "],[70906,0,"i"],[70907,0,"n"],[70908,0,"s"],[70909,0,"i"],[70910,0,"d"],[70911,0,"e"],[70912,0," "],[70913,0,"m"],[70914,0,"a"],[70915,0,"p"],[70916,0,"s"],[70917,0,","],[70918,0," "],[70919,0,"a"],[70920,0,"n"],[70921,0,"d"],[70922,0," "],[70923,0,"o"],[70924,0,"f"],[70925,0," "],[70926,0,"m"],[70927,0,"a"],[70928,0,"p"],[70929,0,"s"],[70930,0," "],[70931,0,"w"],[70932,0,"i"],[70933,0,"t"],[70934,0,"h"],[70935,0,"i"],[70936,0,"n"],[70937,0," "],[70938,0,"o"],[70939,0,"t"],[70940,0,"h"],[70941,0,"e"],[70942,0,"r"],[70943,0," "],[70944,0,"m"],[70945,0,"a"],[70946,0,"p"],[70947,0,"s"],[70948,0,","],[70949,0," "],[70950,0,"b"],[70951,0,"u"],[70952,0,"t"],[70953,0," "],[70954,0,"d"],[70955,0,"o"],[70956,0,"e"],[70957,0,"s"],[70958,0," "],[70959,0,"n"],[70960,0,"o"],[70961,0,"t"],[70962,0," "],[70963,0,"s"],[70964,0,"u"],[70965,0,"p"],[70966,0,"p"],[70967,0,"o"],[70968,0,"r"],[70969,0,"t"],[70970,0," "],[70971,0,"o"],[70972,0,"r"],[70973,0,"d"],[70974,0,"e"],[70975,0,"r"],[70976,0,"e"],[70977,0,"d"],[70978,0," "],[70979,0,"l"],[70980,0,"i"],[70981,0,"s"],[70982,0,"t"],[70983,0,"s"],[70984,0,"~"],[70985,0,"\\"],[70986,0,"c"],[70987,0,"i"],[70988,0,"t"],[70989,0,"e"],[70990,0,"{"],[70991,0,"B"],[70992,0,"r"],[70993,0,"o"],[70994,0,"w"],[70995,0,"n"],[70996,0,":"],[70997,0,"2"],[70998,0,"0"],[70999,0,"1"],[71000,0,"4"],[71001,0,"h"],[71002,0,"s"],[71003,0,","],[71004,0,"B"],[71005,0,"r"],[71006,0,"o"],[71007,0,"w"],[71008,0,"n"],[71009,0,":"],[71010,0,"2"],[71011,0,"0"],[71012,0,"1"],[71013,0,"3"],[71014,0,"w"],[71015,0,"y"],[71016,0,"}"],[71017,0,"."],[71018,0," "],[71019,0,"E"],[71020,0,"m"],[71021,0,"b"],[71022,0,"e"],[71023,0,"d"],[71024,0,"d"],[71025,0,"i"],[71026,0,"n"],[71027,0,"g"],[71028,0," "],[71029,0,"c"],[71030,0,"o"],[71031,0,"u"],[71032,0,"n"],[71033,0,"t"],[71034,0,"e"],[71035,0,"r"],[71036,0,"s"],[71037,0," "],[71038,0,"i"],[71039,0,"n"],[71040,0,"s"],[71041,0,"i"],[71042,0,"d"],[71043,0,"e"],[71044,0," "],[71045,0,"m"],[71046,0,"a"],[71047,0,"p"],[71048,0,"s"],[71049,0," "],[71050,0,"r"],[71051,0,"a"],[71052,0,"i"],[71053,0,"s"],[71054,0,"e"],[71055,0,"s"],[71056,0," "],[71057,0,"d"],[71058,0,"i"],[71058,1],[71057,1],[71057,0,"q"],[71058,0,"u"],[71059,0,"e"],[71060,0,"s"],[71061,0,"t"],[71062,0,"i"],[71063,0,"o"],[71064,0,"n"],[71065,0,"s"],[71066,0," "],[71067,0,"o"],[71068,0,"f"],[71069,0," "],[71070,0,"s"],[71071,0,"e"],[71072,0,"m"],[71073,0,"a"],[71074,0,"n"],[71075,0,"t"],[71076,0,"i"],[71077,0,"c"],[71078,0,"s"],[71079,0,","],[71080,0," "],[71081,0,"w"],[71082,0,"h"],[71083,0,"i"],[71084,0,"c"],[71085,0,"h"],[71086,0," "],[71087,0,"h"],[71088,0,"a"],[71089,0,"v"],[71090,0,"e"],[71091,0," "],[71092,0,"b"],[71093,0,"e"],[71094,0,"e"],[71095,0,"n"],[71096,0," "],[71097,0,"s"],[71098,0,"t"],[71099,0,"u"],[71100,0,"d"],[71101,0,"i"],[71102,0,"e"],[71103,0,"d"],[71104,0," "],[71105,0,"b"],[71106,0,"y"],[71107,0," "],[71108,0,"A"],[71108,1],[71108,0,"B"],[71109,0,"a"],[71110,0,"q"],[71111,0,"u"],[71112,0,"e"],[71113,0,"r"],[71114,0,"o"],[71115,0,","],[71116,0," "],[71117,0,"A"],[71118,0,"l"],[71119,0,"m"],[71120,0,"e"],[71121,0,"i"],[71122,0,"d"],[71123,0,"a"],[71124,0," "],[71125,0,"a"],[71126,0,"n"],[71127,0,"d"],[71128,0," "],[71129,0,"L"],[71130,0,"e"],[71131,0,"r"],[71132,0,"c"],[71133,0,"h"],[71134,0,"e"],[71135,0,"~"],[71136,0,"\\"],[71137,0,"c"],[71138,0,"i"],[71139,0,"t"],[71140,0,"e"],[71141,0,"{"],[71142,0,"B"],[71143,0,"a"],[71144,0,"q"],[71145,0,"u"],[71146,0,"e"],[71147,0,"r"],[71148,0,"o"],[71149,0,":"],[71150,0,"2"],[71151,0,"0"],[71152,0,"1"],[71153,0,"6"],[71154,0,"i"],[71155,0,"v"],[71156,0,"}"],[71157,0,"."],[71195,0," "],[71196,0,"a"],[71197,0,"l"],[71198,0,"s"],[71199,0,"o"],[71226,1],[71225,1],[71224,1],[71223,1],[71222,1],[71222,0,"f"],[71223,0,"r"],[71224,0,"a"],[71225,0,"m"],[71226,0,"e"],[71227,0,"w"],[71228,0,"o"],[71229,0,"r"],[71230,0,"k"],[71289,0,"\n"],[71290,0,"\n"],[71290,0,"B"],[71291,0,"u"],[71292,0,"r"],[71293,0,"c"],[71294,0,"k"],[71295,0,"h"],[71296,0,"a"],[71297,0,"r"],[71298,0,"d"],[71299,0,"t"],[71300,0," "],[71301,0,"e"],[71302,0,"t"],[71303,0," "],[71304,0,"a"],[71305,0,"l"],[71306,0,"."],[71307,0,"~"],[71308,0,"\\"],[71309,0,"c"],[71310,0,"i"],[71311,0,"t"],[71312,0,"e"],[71313,0,"{"],[71314,0,"B"],[71315,0,"u"],[71316,0,"r"],[71317,0,"c"],[71318,0,"k"],[71319,0,"h"],[71320,0,"a"],[71321,0,"r"],[71322,0,"d"],[71323,0,"t"],[71324,0,":"],[71325,0,"2"],[71326,0,"0"],[71327,0,"1"],[71328,0,"2"],[71329,0,"j"],[71330,0,"y"],[71331,0,"}"],[71332,0," "],[71333,0,"d"],[71334,0,"e"],[71335,0,"f"],[71336,0,"i"],[71337,0,"n"],[71338,0,"e"],[71339,0," "],[71340,0,"\\"],[71341,0,"e"],[71342,0,"m"],[71343,0,"p"],[71344,0,"h"],[71345,0,"{"],[71346,0,"c"],[71347,0,"l"],[71348,0,"o"],[71349,0,"u"],[71350,0,"d"],[71351,0," "],[71352,0,"t"],[71353,0,"y"],[71354,0,"p"],[71355,0,"e"],[71356,0,"s"],[71357,0,"}"],[71358,0,","],[71359,0," "],[71360,0,"w"],[71361,0,"h"],[71362,0,"i"],[71363,0,"c"],[71364,0,"h"],[71365,0," "],[71366,0,"a"],[71367,0,"r"],[71368,0,"e"],[71369,0," "],[71370,0,"s"],[71371,0,"i"],[71372,0,"m"],[71373,0,"i"],[71374,0,"l"],[71375,0,"a"],[71376,0,"r"],[71377,0," "],[71378,0,"t"],[71379,0,"o"],[71380,0," "],[71381,0,"C"],[71382,0,"R"],[71383,0,"D"],[71384,0,"T"],[71385,0," "],[71386,0,"b"],[71387,0,"u"],[71388,0,"t"],[71389,0," "],[71389,1],[71388,1],[71387,1],[71386,1],[71385,1],[71385,0,"s"],[71386,0," "],[71387,0,"a"],[71388,0,"n"],[71389,0,"d"],[71390,0," "],[71391,0,"c"],[71392,0,"a"],[71393,0,"n"],[71394,0," "],[71395,0,"b"],[71396,0,"e"],[71397,0," "],[71398,0,"c"],[71399,0,"o"],[71400,0,"m"],[71401,0,"p"],[71402,0,"o"],[71403,0,"s"],[71404,0,"e"],[71405,0,"d"],[71406,0,"."],[71407,0," "],[71408,0,"O"],[71409,0,"u"],[71410,0,"r"],[71411,0," "],[71412,0,"\\"],[71413,0,"t"],[71414,0,"e"],[71415,0,"x"],[71416,0,"t"],[71417,0,"s"],[71418,0,"f"],[71419,0,"{"],[71420,0,"y"],[71421,0,"i"],[71422,0,"e"],[71423,0,"l"],[71424,0,"d"],[71425,0,"}"],[71426,0," "],[71427,0,"s"],[71428,0,"t"],[71429,0,"a"],[71430,0,"t"],[71431,0,"e"],[71432,0,"m"],[71433,0,"e"],[71434,0,"n"],[71435,0,"t"],[71436,0," "],[71437,0,"i"],[71438,0,"s"],[71439,0," "],[71440,0,"i"],[71441,0,"n"],[71442,0,"s"],[71443,0,"p"],[71444,0,"i"],[71445,0,"r"],[71446,0,"e"],[71447,0,"d"],[71448,0," "],[71449,0,"b"],[71450,0,"y"],[71451,0," "],[71452,0,"B"],[71453,0,"u"],[71454,0,"r"],[71455,0,"c"],[71456,0,"k"],[71457,0,"h"],[71458,0,"a"],[71459,0,"r"],[71460,0,"d"],[71461,0,"t"],[71462,0," "],[71463,0,"e"],[71464,0,"t"],[71465,0," "],[71466,0,"a"],[71467,0,"l"],[71468,0,"."],[71407,0," "],[71408,0,"T"],[71409,0,"h"],[71410,0,"e"],[71411,0," "],[71412,0,"o"],[71413,0,"n"],[71414,0,"l"],[71415,0,"y"],[71416,0," "],[71417,0,"d"],[71418,0,"e"],[71419,0,"f"],[71420,0,"i"],[71421,0,"n"],[71422,0,"e"],[71423,0,"d"],[71424,0," "],[71425,0,"c"],[71426,0,"o"],[71427,0,"l"],[71428,0,"l"],[71429,0,"e"],[71430,0,"c"],[71431,0,"t"],[71432,0,"i"],[71433,0,"o"],[71434,0,"n"],[71435,0," "],[71436,0,"t"],[71437,0,"y"],[71438,0,"p"],[71439,0,"e"],[71440,0," "],[71441,0,"i"],[71442,0,"s"],[71443,0," "],[71444,0,"t"],[71445,0,"h"],[71446,0,"e"],[71447,0," "],[71448,0,"\\"],[71449,0,"e"],[71450,0,"m"],[71451,0,"p"],[71452,0,"h"],[71453,0,"{"],[71454,0,"c"],[71455,0,"l"],[71456,0,"o"],[71457,0,"u"],[71458,0,"d"],[71459,0," "],[71460,0,"a"],[71461,0,"r"],[71462,0,"r"],[71463,0,"a"],[71464,0,"y"],[71465,0,"}"],[71466,0,","],[71467,0," "],[71468,0,"w"],[71469,0,"h"],[71470,0,"i"],[71471,0,"c"],[71472,0,"h"],[71473,0," "],[71474,0,"i"],[71475,0,"s"],[71476,0," "],[71477,0,"s"],[71478,0,"i"],[71479,0,"m"],[71480,0,"i"],[71481,0,"l"],[71482,0,"a"],[71483,0,"r"],[71484,0," "],[71485,0,"t"],[71486,0,"o"],[71487,0," "],[71488,0,"o"],[71489,0,"u"],[71490,0,"r"],[71491,0," "],[71492,0,"m"],[71493,0,"a"],[71494,0,"p"],[71495,0," "],[71496,0,"d"],[71497,0,"a"],[71498,0,"t"],[71499,0,"a"],[71500,0,"t"],[71501,0,"y"],[71502,0,"p"],[71503,0,"e"],[71504,0,";"],[71505,0," "],[71506,0,"o"],[71507,0,"r"],[71508,0,"d"],[71509,0,"e"],[71510,0,"r"],[71511,0,"e"],[71512,0,"d"],[71513,0," "],[71514,0,"l"],[71515,0,"i"],[71516,0,"s"],[71517,0,"t"],[71518,0,"s"],[71519,0," "],[71520,0,"a"],[71521,0,"r"],[71522,0,"e"],[71523,0," "],[71524,0,"n"],[71525,0,"o"],[71526,0,"t"],[71527,0," "],[71528,0,"s"],[71529,0,"u"],[71530,0,"p"],[71531,0,"p"],[71532,0,"o"],[71533,0,"r"],[71534,0,"t"],[71535,0,"e"],[71536,0,"d"],[71537,0,"."],[71600,0,"\n"],[71601,0,"\n"],[71602,0,"I"],[71603,0,"n"],[71604,0," "],[71605,0,"g"],[71606,0,"e"],[71607,0,"n"],[71608,0,"e"],[71609,0,"r"],[71610,0,"a"],[71611,0,"l"],[71612,0,","],[71613,0," "],[71614,0,"w"],[71615,0,"e"],[71616,0," "],[71617,0,"a"],[71618,0,"r"],[71619,0,"e"],[71620,0," "],[71621,0,"n"],[71622,0,"o"],[71623,0,"t"],[71624,0," "],[71625,0,"a"],[71626,0,"w"],[71627,0,"a"],[71628,0,"r"],[71629,0,"e"],[71630,0," "],[71631,0,"o"],[71632,0,"f"],[71633,0," "],[71634,0,"a"],[71635,0,"n"],[71636,0,"y"],[71637,0," "],[71611,1],[71610,1],[71609,1],[71608,1],[71607,1],[71606,1],[71605,1],[71604,1],[71603,1],[71602,1],[71602,0,"A"],[71603,0,"l"],[71604,0,"t"],[71605,0,"h"],[71606,0,"o"],[71607,0,"u"],[71608,0,"g"],[71609,0,"h"],[71610,0," "],[71611,0,"l"],[71612,0,"i"],[71612,1],[71611,1],[71611,0,"C"],[71612,0,"R"],[71613,0,"D"],[71614,0,"T"],[71615,0,"s"],[71616,0," "],[71617,0,"f"],[71618,0,"o"],[71619,0,"r"],[71620,0," "],[71621,0,"r"],[71622,0,"e"],[71623,0,"g"],[71624,0,"i"],[71625,0,"s"],[71626,0,"t"],[71627,0,"e"],[71628,0,"r"],[71629,0,"s"],[71630,0,","],[71631,0," "],[71632,0,"m"],[71633,0,"a"],[71634,0,"p"],[71635,0,"s"],[71636,0," "],[71637,0,"a"],[71638,0,"n"],[71639,0,"d"],[71640,0," "],[71641,0,"o"],[71642,0,"r"],[71643,0,"d"],[71644,0,"e"],[71645,0,"r"],[71646,0,"e"],[71647,0,"d"],[71648,0," "],[71649,0,"l"],[71650,0,"i"],[71651,0,"s"],[71652,0,"t"],[71653,0,"s"],[71654,0," "],[71655,0,"h"],[71656,0,"a"],[71657,0,"v"],[71658,0,"e"],[71659,0," "],[71660,0,"e"],[71661,0,"x"],[71662,0,"i"],[71663,0,"s"],[71664,0,"t"],[71665,0,"e"],[71666,0,"d"],[71667,0," "],[71668,0,"i"],[71669,0,"n"],[71670,0," "],[71671,0,"i"],[71672,0,"s"],[71673,0,"o"],[71674,0,"l"],[71675,0,"a"],[71676,0,"t"],[71677,0,"i"],[71678,0,"o"],[71679,0,"n"],[71680,0," "],[71681,0,"f"],[71682,0,"o"],[71683,0,"r"],[71684,0," "],[71685,0,"y"],[71686,0,"e"],[71687,0,"a"],[71688,0,"r"],[71689,0,"s"],[71716,0,"p"],[71717,0,"r"],[71718,0,"i"],[71719,0,"o"],[71720,0,"r"],[71721,0," "],[71722,0,"w"],[71723,0,"o"],[71724,0,"r"],[71725,0,"k"],[71726,0," "],[71727,0,"t"],[71728,0,"h"],[71729,0,"a"],[71730,0,"t"],[71731,0," "],[71732,0,"a"],[71733,0,"l"],[71734,0,"l"],[71735,0,"o"],[71736,0,"w"],[71737,0,"s"],[71738,0," "],[71739,0,"t"],[71740,0,"h"],[71741,0,"e"],[71742,0,"m"],[71743,0," "],[71744,0,"t"],[71745,0,"o"],[71746,0," "],[71747,0,"b"],[71748,0,"e"],[71749,0," "],[71750,0,"c"],[71751,0,"o"],[71752,0,"m"],[71753,0,"p"],[71754,0,"o"],[71755,0,"s"],[71756,0,"e"],[71757,0,"d"],[71758,0," "],[71759,0,"i"],[71760,0,"n"],[71761,0,"t"],[71762,0,"o"],[71763,0," "],[71764,0,"a"],[71765,0," "],[71766,0,"c"],[71767,0,"o"],[71768,0,"m"],[71769,0,"p"],[71770,0,"o"],[71771,0,"u"],[71772,0,"n"],[71773,0,"d"],[71774,0," "],[71775,0,"C"],[71776,0,"R"],[71777,0,"D"],[71778,0,"T"],[71779,0," "],[71780,0,"w"],[71781,0,"i"],[71782,0,"t"],[71783,0,"h"],[71784,0," "],[71785,0,"a"],[71786,0," "],[71787,0,"J"],[71788,0,"S"],[71789,0,"O"],[71790,0,"N"],[71791,0,"-"],[71792,0,"l"],[71793,0,"i"],[71794,0,"k"],[71795,0,"e"],[71796,0," "],[71797,0,"s"],[71798,0,"t"],[71799,0,"r"],[71800,0,"u"],[71801,0,"c"],[71802,0,"t"],[71803,0,"u"],[71804,0,"r"],[71805,0,"e"],[71806,0,"."],[71773,1],[71772,1],[71771,1],[71770,1],[71769,1],[71768,1],[71767,1],[71766,1],[71765,1],[71765,0,"n"],[71766,0," "],[71767,0,"a"],[71768,0,"r"],[71769,0,"b"],[71770,0,"i"],[71771,0,"t"],[71772,0,"r"],[71773,0,"a"],[71774,0,"r"],[71775,0,"i"],[71776,0,"l"],[71777,0,"y"],[71667,0," "],[71668,0,"f"],[71669,0,"o"],[71670,0,"r"],[71671,0," "],[71672,0,"y"],[71673,0,"e"],[71674,0,"a"],[71675,0,"r"],[71676,0,"s"],[71677,0,"f"],[71676,1],[71676,1],[71676,0,"s"],[71690,1],[71690,1],[71690,1],[71690,1],[71690,1],[71690,1],[71690,1],[71690,1],[71690,1],[71690,1],[71743,0," "],[71744,0,"a"],[71745,0,"l"],[71746,0,"l"],[71782,0," "],[71783,0,"n"],[71784,0,"e"],[71785,0,"s"],[71786,0,"t"],[71787,0,"e"],[71788,0,"d"],[71447,1],[71446,1],[71445,1],[71444,1],[71443,1],[71442,1],[71441,1],[71440,1],[71439,1],[71438,1],[71437,1],[71436,1],[71435,1],[71434,1],[71433,1],[71432,1],[71431,1],[71430,1],[71429,1],[71428,1],[71427,1],[71426,1],[71425,1],[71424,1],[71423,1],[71422,1],[71421,1],[71420,1],[71419,1],[71418,1],[71417,1],[71416,1],[71415,1],[71414,1],[71413,1],[71412,1],[71411,1],[71410,1],[71409,1],[71408,1],[71408,0,"A"],[71409,0," "],[71434,1],[71433,1],[71432,1],[71431,1],[71430,1],[71429,1],[71428,1],[71408,1],[71408,0,"T"],[71409,0,"h"],[71410,0,"i"],[71411,0,"s"],[71412,0," "],[71413,0,"m"],[71414,0,"o"],[71415,0,"d"],[71416,0,"e"],[71417,0,"l"],[71418,0," "],[71419,0,"d"],[71420,0,"e"],[71421,0,"f"],[71422,0,"i"],[71423,0,"n"],[71424,0,"e"],[71425,0,"s"],[71444,0,"s"],[71448,1],[71447,1],[71446,1],[71445,1],[71445,0,"}"],[71446,0,","],[71447,0," "],[71448,0,"w"],[71449,0,"h"],[71450,0,"i"],[71451,0,"c"],[71452,0,"h"],[71481,0,","],[71482,0," "],[71483,0,"a"],[71484,0,"n"],[71485,0,"d"],[71486,0," "],[71487,0,"\\"],[71488,0,"e"],[71489,0,"m"],[71490,0,"p"],[71491,0,"h"],[71492,0,"{"],[71493,0,"e"],[71494,0,"n"],[71495,0,"t"],[71496,0,"i"],[71497,0,"t"],[71498,0,"y"],[71498,1],[71498,0,"i"],[71499,0,"e"],[71500,0,"s"],[71501,0,"}"],[71502,0,","],[71503,0," "],[71504,0,"w"],[71505,0,"h"],[71506,0,"i"],[71507,0,"c"],[71508,0,"h"],[71509,0," "],[71510,0,"a"],[71511,0,"r"],[71512,0,"e"],[71513,0," "],[71514,0,"l"],[71515,0,"i"],[71516,0,"k"],[71517,0,"e"],[71518,0," "],[71519,0,"t"],[71520,0,"u"],[71521,0,"p"],[71522,0,"l"],[71523,0,"e"],[71524,0,"s"],[71525,0," "],[71526,0,"i"],[71527,0,"n"],[71528,0," "],[71529,0,"t"],[71530,0,"h"],[71531,0,"e"],[71532,0," "],[71533,0,"r"],[71534,0,"e"],[71535,0,"l"],[71536,0,"a"],[71537,0,"t"],[71538,0,"i"],[71539,0,"o"],[71540,0,"n"],[71541,0,"a"],[71542,0,"l"],[71543,0," "],[71544,0,"m"],[71545,0,"o"],[71546,0,"d"],[71547,0,"e"],[71548,0,"l"],[71549,0,"."],[71550,1],[71551,1],[71551,0,"O"],[71581,1],[71580,1],[71579,1],[71578,1],[71577,1],[71576,1],[71575,1],[71574,1],[71573,1],[71573,0,"d"],[71574,0,"e"],[71575,0,"f"],[71576,0,"i"],[71577,0,"n"],[71578,0,"e"],[71579,0,"d"],[71580,0," "],[71581,0,"i"],[71582,0,"n"],[71583,0," "],[71584,0,"t"],[71585,0,"h"],[71586,0,"i"],[71587,0,"s"],[71588,0," "],[71589,0,"f"],[71590,0,"r"],[71591,0,"a"],[71592,0,"m"],[71593,0,"e"],[71594,0,"w"],[71595,0,"o"],[71596,0,"r"],[71597,0,"k"],[71446,0," "],[71447,0,"a"],[71448,0,"n"],[71449,0,"d"],[71450,0," "],[71451,0,"\\"],[71452,0,"e"],[71453,0,"m"],[71454,0,"p"],[71455,0,"h"],[71456,0,"{"],[71457,0,"e"],[71458,0,"n"],[71459,0,"t"],[71460,0,"i"],[71461,0,"t"],[71462,0,"i"],[71463,0,"e"],[71464,0,"s"],[71465,0,"}"],[71473,0," "],[71474,0,"b"],[71475,0,"e"],[71476,0,"h"],[71477,0,"a"],[71478,0,"v"],[71479,0,"e"],[71488,0,"l"],[71489,0,"y"],[71577,1],[71576,1],[71575,1],[71574,1],[71573,1],[71572,1],[71571,1],[71570,1],[71569,1],[71568,1],[71567,1],[71566,1],[71565,1],[71564,1],[71563,1],[71562,1],[71561,1],[71560,1],[71559,1],[71558,1],[71557,1],[71556,1],[71555,1],[71554,1],[71553,1],[71552,1],[71551,1],[71550,1],[71549,1],[71548,1],[71547,1],[71546,1],[71545,1],[71544,1],[71543,1],[71542,1],[71541,1],[71540,1],[71539,1],[71538,1],[71537,1],[71536,1],[71535,1],[71534,1],[71533,1],[71532,1],[71531,1],[71530,1],[71529,1],[71528,1],[71527,1],[71526,1],[71525,1],[71524,1],[71523,1],[71522,1],[71521,1],[71520,1],[71519,1],[71518,1],[71517,1],[71516,1],[71515,1],[71514,1],[71513,1],[71512,1],[71511,1],[71510,1],[71510,0,";"],[71511,1],[71512,1],[71512,0,"o"],[71408,1],[71408,1],[71408,1],[71408,1],[71408,1],[71408,1],[71408,1],[71408,1],[71408,1],[71408,1],[71408,0,"T"],[71409,0,"h"],[71410,0,"e"],[71411,0,"y"],[71419,1],[71458,1],[71457,1],[71456,1],[71455,1],[71454,1],[71453,1],[71452,1],[71451,1],[71450,1],[71449,1],[71448,1],[71447,1],[71446,1],[71445,1],[71444,1],[71443,1],[71442,1],[71441,1],[71440,1],[71439,1],[71483,0,","],[71484,0," "],[71485,0,"a"],[71486,0,"n"],[71487,0,"d"],[71488,0," "],[71489,0,"\\"],[71490,0,"e"],[71491,0,"m"],[71492,0,"p"],[71493,0,"h"],[71494,0,"{"],[71495,0,"e"],[71496,0,"n"],[71497,0,"t"],[71498,0,"i"],[71499,0,"t"],[71500,0,"i"],[71501,0,"e"],[71502,0,"s"],[71503,0,"}"],[71504,0,","],[71505,0," "],[71506,0,"w"],[71507,0,"h"],[71508,0,"i"],[71509,0,"c"],[71510,0,"h"],[71511,0," "],[71512,0,"a"],[71513,0,"r"],[71514,0,"e"],[71515,0," "],[71516,0,"l"],[71517,0,"i"],[71518,0,"k"],[71519,0,"e"],[71520,0," "],[71521,0,"u"],[71522,0,"n"],[71523,0,"o"],[71524,0,"r"],[71525,0,"d"],[71526,0,"e"],[71527,0,"r"],[71528,0,"e"],[71529,0,"d"],[71530,0," "],[71531,0,"s"],[71532,0,"e"],[71533,0,"t"],[71534,0,"s"],[71535,0," "],[71536,0,"o"],[71537,0,"r"],[71538,0," "],[71539,0,"r"],[71540,0,"e"],[71541,0,"l"],[71542,0,"a"],[71543,0,"t"],[71544,0,"i"],[71545,0,"o"],[71546,0,"n"],[71547,0,"s"],[71157,0,","],[71158,0," "],[71158,1],[71157,1],[71158,0," "],[71159,0,"A"],[71160,0,"l"],[71161,0,"m"],[71162,0,"e"],[71163,0,"i"],[71164,0,"d"],[71165,0,"a"],[71166,0," "],[71167,0,"e"],[71168,0,"t"],[71169,0," "],[71170,0,"a"],[71171,0,"l"],[71172,0,"."],[71173,0,"~"],[71174,0,"\\"],[71175,0,"c"],[71176,0,"i"],[71177,0,"t"],[71178,0,"e"],[71179,0,"{"],[71180,0,"A"],[71181,0,"l"],[71182,0,"m"],[71183,0,"e"],[71184,0,"i"],[71185,0,"d"],[71186,0,"a"],[71187,0,":"],[71188,0,"2"],[71189,0,"0"],[71190,0,"1"],[71191,0,"6"],[71192,0,"t"],[71193,0,"k"],[71194,0,"}"],[71195,0," "],[71196,0,"a"],[71197,0,"l"],[71198,0,"s"],[71199,0,"o"],[71200,0," "],[71201,0,"d"],[71202,0,"e"],[71203,0,"f"],[71204,0,"i"],[71205,0,"n"],[71206,0,"e"],[71207,0," "],[71208,0,"d"],[71209,0,"e"],[71210,0,"l"],[71211,0,"t"],[71212,0,"a"],[71213,0," "],[71214,0,"m"],[71215,0,"u"],[71216,0,"t"],[71217,0,"a"],[71218,0,"t"],[71219,0,"i"],[71220,0,"o"],[71221,0,"n"],[71222,0," "],[71222,1],[71222,0,"s"],[71223,0," "],[71224,0,"f"],[71225,0,"o"],[71226,0,"r"],[71227,0," "],[71228,0,"n"],[71229,0,"e"],[71230,0,"s"],[71231,0,"t"],[71232,0,"e"],[71233,0,"d"],[71234,0," "],[71235,0,"m"],[71236,0,"a"],[71237,0,"p"],[71238,0,"s"],[71239,0,","],[71240,0," "],[71241,0,"a"],[71242,0,"n"],[71243,0,"d"],[71285,1],[71284,1],[71283,1],[71282,1],[71281,1],[71369,0," "],[71370,0,"A"],[71371,0,"l"],[71372,0,"t"],[71373,0,"h"],[71374,0,"o"],[71375,0,"u"],[71376,0,"g"],[71377,0,"h"],[71378,0," "],[70983,1],[70982,1],[70981,1],[70980,1],[70979,1],[70978,1],[70977,1],[70976,1],[70975,1],[70974,1],[70973,1],[70972,1],[70971,1],[70970,1],[70969,1],[70968,1],[70967,1],[70966,1],[70965,1],[70964,1],[70963,1],[70962,1],[70961,1],[70960,1],[70959,1],[70958,1],[70957,1],[70956,1],[70955,1],[70954,1],[70953,1],[70952,1],[70951,1],[70950,1],[70949,1],[70948,1],[71342,1],[71341,1],[71340,1],[71339,1],[71338,1],[71337,1],[71336,1],[71335,1],[71334,1],[71334,0,"N"],[71335,0,"o"],[71336,0,"n"],[71337,0,"e"],[71338,0," "],[71339,0,"o"],[71340,0,"f"],[71341,0," "],[71342,0,"t"],[71343,0,"h"],[71344,0,"i"],[71345,0,"s"],[71346,0," "],[71347,0,"w"],[71348,0,"o"],[71349,0,"r"],[71350,0,"k"],[71351,0," "],[71352,0,"i"],[71353,0,"n"],[71354,0,"t"],[71355,0,"e"],[71356,0,"g"],[71357,0,"r"],[71358,0,"a"],[71359,0,"t"],[71360,0,"e"],[71361,0,"s"],[71362,0," "],[71363,0,"C"],[71364,0,"R"],[71365,0,"D"],[71366,0,"T"],[71367,0,"s"],[71368,0," "],[71369,0,"f"],[71370,0,"o"],[71371,0,"r"],[71372,0," "],[71373,0,"o"],[71374,0,"r"],[71375,0,"d"],[71376,0,"e"],[71377,0,"r"],[71378,0,"e"],[71379,0,"d"],[71380,0," "],[71381,0,"l"],[71382,0,"i"],[71383,0,"s"],[71384,0,"t"],[71385,0,"s"],[71386,0,","],[71387,0," "],[71388,0,"b"],[71389,0,"u"],[71390,0,"t"],[71391,0," "],[71392,0,"t"],[71393,0,"h"],[71394,0,"e"],[71395,0," "],[71396,0,"t"],[71397,0,"r"],[71398,0,"e"],[71399,0,"a"],[71400,0,"t"],[71401,0,"m"],[71402,0,"e"],[71403,0,"n"],[71404,0,"t"],[71405,0," "],[71406,0,"o"],[71407,0,"f"],[71408,0," "],[71409,0,"c"],[71410,0,"a"],[71411,0,"u"],[71412,0,"s"],[71413,0,"a"],[71414,0,"l"],[71415,0,"i"],[71416,0,"t"],[71417,0,"y"],[71418,0," "],[71419,0,"i"],[71420,0,"n"],[71421,0," "],[71422,0,"t"],[71423,0,"h"],[71424,0,"e"],[71425,0,"s"],[71426,0,"e"],[71427,0," "],[71428,0,"d"],[71429,0,"a"],[71430,0,"t"],[71431,0,"a"],[71432,0,"t"],[71433,0,"y"],[71434,0,"p"],[71435,0,"e"],[71436,0,"s"],[71437,0," "],[71438,0,"i"],[71439,0,"s"],[71440,0," "],[71441,0,"t"],[71442,0,"h"],[71443,0,"e"],[71444,0," "],[71444,1],[71443,1],[71442,1],[71441,1],[71441,0,"a"],[71442,0," "],[71443,0,"b"],[71444,0,"a"],[71445,0,"s"],[71446,0,"i"],[71447,0,"s"],[71448,0," "],[71449,0,"f"],[71450,0,"o"],[71451,0,"r"],[71452,0," "],[71453,0,"t"],[71454,0,"h"],[71455,0,"e"],[71456,0," "],[71457,0,"s"],[71458,0,"e"],[71459,0,"m"],[71460,0,"a"],[71461,0,"n"],[71462,0,"t"],[71463,0,"i"],[71464,0,"c"],[71465,0,"s"],[71466,0," "],[71467,0,"i"],[71468,0,"n"],[71469,0," "],[71470,0,"t"],[71471,0,"h"],[71472,0,"s"],[71473,0,"i"],[71473,1],[71472,1],[71472,0,"i"],[71473,0,"s"],[71474,0," "],[71475,0,"a"],[71476,0,"p"],[71476,1],[71475,1],[71475,0,"p"],[71476,0,"a"],[71477,0,"p"],[71478,0,"e"],[71479,0,"r"],[71480,0,"."],[71438,1],[71438,1],[71438,0,"f"],[71439,0,"o"],[71440,0,"r"],[71441,0,"m"],[71442,0,"s"],[71469,0," "],[71470,0,"d"],[71471,0,"e"],[71472,0,"v"],[71473,0,"e"],[71474,0,"l"],[71475,0,"o"],[71476,0,"p"],[71477,0,"e"],[71478,0,"d"],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73619,1],[73675,1],[73645,1],[73644,1],[73643,1],[73642,1],[73641,1],[73640,1],[73639,1],[73638,1],[73638,0,"I"],[73639,0,"E"],[73640,0,"E"],[73641,0,"E"],[73642,0,"t"],[73643,0,"r"],[73644,0,"a"],[73645,0,"n"],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11736,1],[11735,1],[11735,0,"~"],[11736,0,"\\"],[11737,0,"c"],[11738,0,"i"],[11739,0,"t"],[11740,0,"e"],[11741,0,"{"],[11742,0,"D"],[11743,0,"a"],[11744,0,"v"],[11745,0,"i"],[11746,0,"s"],[11747,0,":"],[11748,0,"2"],[11749,0,"0"],[11750,0,"0"],[11751,0,"2"],[11752,0,"i"],[11753,0,"v"],[11754,0,","],[11755,0,"I"],[11756,0,"g"],[11757,0,"n"],[11758,0,"a"],[11759,0,"t"],[11760,0,":"],[11761,0,"2"],[11762,0,"0"],[11763,0,"0"],[11764,0,"3"],[11765,0,"j"],[11766,0,"y"],[11767,0,","],[11768,0,"W"],[11769,0,"a"],[11770,0,"n"],[11771,0,"g"],[11772,0,":"],[11773,0,"2"],[11774,0,"0"],[11775,0,"1"],[11776,0,"5"],[11777,0,"v"],[11778,0,"a"],[11779,0,"}"],[12995,0,"\n"],[12996,0,"\n"],[12997,0,"W"],[12998,0,"e"],[12999,0," "],[13000,0,"d"],[13001,0,"i"],[13002,0,"s"],[13003,0,"c"],[13004,0,"u"],[13005,0,"s"],[13006,0,"s"],[13007,0," "],[13008,0,"r"],[13009,0,"e"],[13010,0,"l"],[13011,0,"a"],[13012,0,"t"],[13013,0,"e"],[13014,0,"d"],[13015,0," "],[13016,0,"w"],[13017,0,"o"],[13018,0,"r"],[13019,0,"k"],[13020,0," "],[13020,1],[13019,1],[13018,1],[13017,1],[13016,1],[13015,1],[13014,1],[13013,1],[13012,1],[13011,1],[13010,1],[13009,1],[13008,1],[13008,0,"e"],[13009,0,"x"],[13010,0,"i"],[13011,0,"s"],[13012,0,"t"],[13013,0,"i"],[13014,0,"n"],[13015,0,"g"],[13016,0," "],[13017,0,"a"],[13018,0,"l"],[13019,0,"g"],[13020,0,"o"],[13021,0,"r"],[13022,0,"i"],[13023,0,"t"],[13024,0,"h"],[13025,0,"m"],[13026,0,"s"],[13027,0," "],[13028,0,"f"],[13029,0,"o"],[13030,0,"r"],[13031,0," "],[13032,0,"c"],[13033,0,"o"],[13034,0,"l"],[13035,0,"l"],[13036,0,"a"],[13037,0,"b"],[13038,0,"o"],[13039,0,"r"],[13040,0,"a"],[13041,0,"t"],[13042,0,"i"],[13043,0,"v"],[13044,0,"e"],[13045,0," "],[13046,0,"e"],[13047,0,"d"],[13048,0,"i"],[13049,0,"t"],[13050,0,"i"],[13051,0,"n"],[13052,0,"g"],[13053,0," "],[13054,0,"i"],[13055,0,"n"],[13056,0," "],[13057,0,"s"],[13058,0,"e"],[13059,0,"c"],[13060,0,"t"],[13061,0,"i"],[13062,0,"o"],[13063,0,"n"],[13064,0,"~"],[13065,0,"\\"],[13066,0,"r"],[13067,0,"e"],[13068,0,"f"],[13069,0,"{"],[13070,0,"s"],[13071,0,"e"],[13072,0,"c"],[13073,0,":"],[13074,0,"r"],[13075,0,"e"],[13076,0,"l"],[13077,0,"a"],[13078,0,"t"],[13079,0,"e"],[13080,0,"d"],[13081,0,"-"],[13082,0,"o"],[13083,0,"t"],[13084,0,"}"],[13085,0,"."],[11778,1],[11778,0,"o"],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1094,1],[1070,0,"\\"],[1071,0,"I"],[1072,0,"E"],[1073,0,"E"],[1074,0,"E"],[1075,0,"r"],[1076,0,"a"],[1077,0,"i"],[1078,0,"s"],[1079,0,"e"],[1080,0,"s"],[1081,0,"e"],[1082,0,"c"],[1083,0,"t"],[1084,0,"i"],[1085,0,"o"],[1086,0,"n"],[1087,0,"h"],[1088,0,"e"],[1089,0,"a"],[1090,0,"d"],[1091,0,"i"],[1092,0,"n"],[1093,0,"g"],[1094,0,"{"],[1117,0,"\\"],[1118,0,"l"],[1119,0,"a"],[1120,0,"b"],[1121,0,"e"],[1122,0,"l"],[1123,0,"{"],[1124,0,"s"],[1125,0,"e"],[1126,0,"c"],[1127,0,":"],[1128,0,"i"],[1129,0,"n"],[1130,0,"t"],[1131,0,"r"],[1132,0,"o"],[1133,0,"d"],[1134,0,"u"],[1135,0,"c"],[1136,0,"t"],[1137,0,"i"],[1138,0,"o"],[1139,0,"n"],[1140,0,"}"],[1141,0,"}"],[1143,0,"\n"],[1144,0,"\\"],[1145,0,"I"],[1146,0,"E"],[1147,0,"E"],[1148,0,"E"],[1149,0,"P"],[1150,0,"A"],[1151,0,"R"],[1152,0,"s"],[1153,0,"t"],[1154,0,"a"],[1155,0,"r"],[1156,0,"t"],[1157,0,"{"],[1158,0,"T"],[1159,0,"}"],[1160,0,"{"],[1161,0,"t"],[1162,0,"h"],[1163,0,"i"],[1164,0,"s"],[1165,0,"}"],[1166,0," "],[1167,0,"i"],[1168,0,"s"],[1169,0," "],[1170,0,"w"],[1171,0,"h"],[1172,0,"e"],[1173,0,"r"],[1174,0,"e"],[1175,0," "],[1176,0,"t"],[1177,0,"h"],[1178,0,"e"],[1179,0," "],[1180,0,"i"],[1181,0,"n"],[1182,0,"t"],[1183,0,"r"],[1184,0,"o"],[1185,0,"d"],[1186,0,"u"],[1187,0,"c"],[1188,0,"t"],[1189,0,"i"],[1190,0,"o"],[1191,0,"n"],[1192,0," "],[1193,0,"s"],[1194,0,"h"],[1195,0,"o"],[1196,0,"u"],[1197,0,"l"],[1198,0,"d"],[1199,0," "],[1200,0,"g"],[1201,0,"o"],[1202,0," "],[1203,0,"("],[1204,0,"T"],[1205,0,"O"],[1206,0,"D"],[1207,0,"O"],[1208,0,")"],[1209,0,"."],[1210,0," "],[1211,0,"L"],[1212,0,"o"],[1213,0,"r"],[1214,0,"e"],[1215,0,"m"],[1216,0," "],[1217,0,"i"],[1218,0,"p"],[1219,0,"s"],[1220,0,"u"],[1221,0,"m"],[1222,0," "],[1223,0,"d"],[1224,0,"o"],[1225,0,"l"],[1226,0,"o"],[1227,0,"r"],[1228,0," "],[1229,0,"s"],[1230,0,"i"],[1231,0,"t"],[1232,0," "],[1233,0,"a"],[1234,0,"m"],[1235,0,"e"],[1236,0,"t"],[1237,0,","],[1238,0," "],[1239,0,"c"],[1240,0,"o"],[1241,0,"n"],[1242,0,"s"],[1243,0,"e"],[1244,0,"c"],[1245,0,"t"],[1246,0,"e"],[1247,0,"t"],[1248,0,"u"],[1249,0,"r"],[1250,0," "],[1251,0,"a"],[1252,0,"d"],[1253,0,"i"],[1254,0,"p"],[1255,0,"i"],[1256,0,"s"],[1257,0,"c"],[1258,0,"i"],[1259,0,"n"],[1260,0,"g"],[1261,0," "],[1262,0,"e"],[1263,0,"l"],[1264,0,"i"],[1265,0,"t"],[1266,0,"."],[1267,0," "],[1268,0,"S"],[1269,0,"u"],[1270,0,"s"],[1271,0,"p"],[1272,0,"e"],[1273,0,"n"],[1274,0,"d"],[1275,0,"i"],[1276,0,"s"],[1277,0,"s"],[1278,0,"e"],[1279,0," "],[1280,0,"m"],[1281,0,"a"],[1282,0,"t"],[1283,0,"t"],[1284,0,"i"],[1285,0,"s"],[1286,0," "],[1287,0,"l"],[1288,0,"e"],[1289,0,"o"],[1290,0," "],[1291,0,"c"],[1292,0,"u"],[1293,0,"r"],[1294,0,"s"],[1295,0,"u"],[1296,0,"s"],[1297,0," "],[1298,0,"t"],[1299,0,"o"],[1300,0,"r"],[1301,0,"t"],[1302,0,"o"],[1303,0,"r"],[1304,0," "],[1305,0,"m"],[1306,0,"a"],[1307,0,"t"],[1308,0,"t"],[1309,0,"i"],[1310,0,"s"],[1311,0," "],[1312,0,"t"],[1313,0,"i"],[1314,0,"n"],[1315,0,"c"],[1316,0,"i"],[1317,0,"d"],[1318,0,"u"],[1319,0,"n"],[1320,0,"t"],[1321,0,"."],[1322,0," "],[1323,0,"D"],[1324,0,"o"],[1325,0,"n"],[1326,0,"e"],[1327,0,"c"],[1328,0," "],[1329,0,"s"],[1330,0,"e"],[1331,0,"d"],[1332,0," "],[1333,0,"b"],[1334,0,"i"],[1335,0,"b"],[1336,0,"e"],[1337,0,"n"],[1338,0,"d"],[1339,0,"u"],[1340,0,"m"],[1341,0," "],[1342,0,"p"],[1343,0,"u"],[1344,0,"r"],[1345,0,"u"],[1346,0,"s"],[1347,0,","],[1348,0," "],[1349,0,"v"],[1350,0,"e"],[1351,0,"l"],[1352,0," "],[1353,0,"b"],[1354,0,"l"],[1355,0,"a"],[1356,0,"n"],[1357,0,"d"],[1358,0,"i"],[1359,0,"t"],[1360,0," "],[1361,0,"e"],[1362,0,"r"],[1363,0,"a"],[1364,0,"t"],[1365,0,"."],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1046,1],[1033,0,"\n"],[1034,0,"\n"],[1035,0,"\\"],[1036,0,"I"],[1037,0,"E"],[1038,0,"E"],[1039,0,"E"],[1040,0,"t"],[1041,0,"i"],[1042,0,"t"],[1043,0,"l"],[1044,0,"e"],[1045,0,"a"],[1046,0,"b"],[1047,0,"s"],[1048,0,"t"],[1049,0,"r"],[1050,0,"a"],[1051,0,"c"],[1052,0,"t"],[1053,0,"i"],[1054,0,"n"],[1055,0,"d"],[1056,0,"e"],[1057,0,"x"],[1058,0,"t"],[1059,0,"e"],[1060,0,"x"],[1061,0,"t"],[1062,0,"{"],[1063,0,"%"],[1064,0,"\n"],[1065,0,"\\"],[1066,0,"b"],[1067,0,"e"],[1068,0,"g"],[1069,0,"i"],[1070,0,"n"],[1071,0,"{"],[1072,0,"a"],[1073,0,"b"],[1074,0,"s"],[1075,0,"t"],[1076,0,"r"],[1077,0,"a"],[1078,0,"c"],[1079,0,"t"],[1080,0,"}"],[1081,0,"\n"],[1082,0,"T"],[1083,0,"O"],[1084,0,"D"],[1085,0,"\\"],[1086,0,"e"],[1087,0,"n"],[1088,0,"d"],[1089,0,"{"],[1090,0,"a"],[1091,0,"b"],[1092,0,"s"],[1093,0,"t"],[1094,0,"r"],[1095,0,"a"],[1096,0,"c"],[1097,0,"t"],[1098,0,"}"],[1085,0,"O"],[1086,0,"\n"],[1101,0,"\n"],[1102,0,"\n"],[1103,0,"\\"],[1104,0,"b"],[1105,0,"e"],[1106,0,"g"],[1107,0,"i"],[1108,0,"n"],[1109,0,"{"],[1110,0,"I"],[1111,0,"E"],[1112,0,"E"],[1113,0,"E"],[1114,0,"k"],[1115,0,"e"],[1116,0,"y"],[1117,0,"w"],[1118,0,"o"],[1119,0,"r"],[1120,0,"d"],[1121,0,"s"],[1122,0,"}"],[1123,0,"\n"],[1124,0,"C"],[1125,0,"R"],[1126,0,"D"],[1127,0,"T"],[1128,0,"s"],[1129,0,","],[1130,0," "],[1131,0,"C"],[1132,0,"o"],[1133,0,"l"],[1134,0,"l"],[1135,0,"a"],[1136,0,"b"],[1137,0,"o"],[1138,0,"r"],[1139,0,"a"],[1140,0,"t"],[1141,0,"i"],[1142,0,"v"],[1143,0,"e"],[1144,0," "],[1145,0,"E"],[1146,0,"d"],[1147,0,"i"],[1148,0,"t"],[1149,0,"i"],[1150,0,"n"],[1151,0,"g"],[1152,0,","],[1153,0," "],[1154,0,"P"],[1155,0,"2"],[1156,0,"P"],[1157,0,","],[1158,0," "],[1159,0,"J"],[1160,0,"S"],[1161,0,"O"],[1162,0,"N"],[1163,0,","],[1164,0," "],[1165,0,"O"],[1166,0,"p"],[1167,0,"t"],[1168,0,"i"],[1169,0,"m"],[1170,0,"i"],[1171,0,"s"],[1172,0,"t"],[1173,0,"i"],[1174,0,"c"],[1175,0," "],[1176,0,"R"],[1177,0,"e"],[1178,0,"p"],[1179,0,"l"],[1180,0,"i"],[1181,0,"c"],[1182,0,"a"],[1183,0,"t"],[1184,0,"i"],[1185,0,"o"],[1186,0,"n"],[1187,0,","],[1188,0," "],[1189,0,"S"],[1190,0,"e"],[1191,0,"m"],[1192,0,"a"],[1193,0,"n"],[1194,0,"t"],[1195,0,"i"],[1196,0,"c"],[1197,0,"s"],[1198,0,","],[1199,0," "],[1200,0,"E"],[1201,0,"v"],[1202,0,"e"],[1203,0,"n"],[1204,0,"t"],[1205,0,"u"],[1206,0,"a"],[1207,0,"l"],[1208,0," "],[1209,0,"C"],[1210,0,"o"],[1211,0,"n"],[1212,0,"s"],[1213,0,"i"],[1214,0,"s"],[1215,0,"t"],[1216,0,"e"],[1217,0,"n"],[1218,0,"c"],[1219,0,"y"],[1220,0,"."],[1221,0,"\n"],[1222,0,"\\"],[1223,0,"e"],[1224,0,"n"],[1225,0,"d"],[1226,0,"{"],[1227,0,"I"],[1228,0,"E"],[1229,0,"E"],[1230,0,"E"],[1231,0,"k"],[1232,0,"e"],[1233,0,"y"],[1234,0,"w"],[1235,0,"o"],[1236,0,"r"],[1237,0,"d"],[1238,0,"s"],[1239,0,"}"],[1240,0,"}"],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[15,1],[19,0,","],[20,0,"j"],[21,0,"o"],[22,0,"u"],[23,0,"r"],[24,0,"n"],[25,0,"a"],[26,0,"l"],[27,0,","],[28,0,"c"],[29,0,"o"],[30,0,"m"],[31,0,"p"],[32,0,"s"],[33,0,"o"],[34,0,"c"],[37,1],[37,1],[37,1],[37,1],[37,1],[37,1],[37,1],[37,0,"I"],[38,0,"E"],[39,0,"E"],[40,0,"E"],[41,0,"t"],[42,0,"r"],[43,0,"a"],[44,0,"n"],[388,1],[387,1],[386,1],[385,1],[384,1],[383,1],[383,0,"c"],[384,0,"i"],[385,0,"t"],[386,0,"e"],[380,1],[379,1],[378,1],[377,1],[376,1],[375,1],[374,1],[373,1],[372,1],[371,1],[370,1],[370,0,"o"],[371,0,"c"],[372,0,"o"],[373,0,"m"],[374,0,"p"],[375,0,"r"],[376,0,"e"],[377,0,"s"],[378,0,"s"],[333,1],[332,1],[331,1],[330,1],[329,1],[328,1],[327,1],[326,1],[325,1],[324,1],[323,1],[322,1],[321,1],[320,1],[319,1],[318,1],[317,1],[146,0,"%"],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[146,1],[266,0,"%"],[266,1],[415,0,"n"],[416,0,"e"],[417,0,"t"],[418,0,"-"],[419,0,"w"],[420,0,"o"],[421,0,"r"],[422,0,"k"],[423,0,"s"],[424,0," "],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[437,1],[953,0,"A"],[954,0,"u"],[955,0,"t"],[956,0,"h"],[957,0,"o"],[958,0,"r"],[959,0," "],[960,0,"1"],[961,0," "],[962,0,"a"],[963,0,"n"],[964,0,"d"],[965,0," "],[966,0,"A"],[967,0,"u"],[968,0,"t"],[969,0,"h"],[970,0,"o"],[971,0,"r"],[972,0," "],[973,0,"2"],[974,0,"\n"],[975,0,"\\"],[976,0,"I"],[977,0,"E"],[978,0,"E"],[979,0,"E"],[980,0,"c"],[981,0,"o"],[982,0,"m"],[983,0,"p"],[984,0,"s"],[985,0,"o"],[986,0,"c"],[987,0,"i"],[987,1],[986,1],[985,1],[984,1],[983,1],[982,1],[981,1],[980,1],[979,1],[978,1],[977,1],[976,1],[976,0,"t"],[977,0,"h"],[978,0,"a"],[979,0,"n"],[980,0,"k"],[981,0,"s"],[982,0,"{"],[983,0,"A"],[984,0,"u"],[985,0,"t"],[986,0,"h"],[987,0,"o"],[988,0,"r"],[989,0," "],[990,0,"a"],[991,0,"f"],[992,0,"f"],[993,0,"i"],[994,0,"l"],[995,0,"i"],[996,0,"a"],[997,0,"t"],[998,0,"i"],[999,0,"o"],[1000,0,"n"],[1001,0," "],[1002,0,"g"],[1003,0,"o"],[1004,0,"e"],[1005,0,"s"],[1006,0," "],[1007,0,"h"],[1008,0,"e"],[1009,0,"r"],[1010,0,"e"],[1011,0,"."],[1012,0,"}"],[473,1],[472,1],[471,1],[470,1],[469,1],[469,0,"t"],[470,0,"r"],[471,0,"u"],[472,0,"e"],[1322,1],[1322,0,"U"],[1328,1],[1327,1],[1326,1],[1325,1],[1325,0,"s"],[1326,0,"e"],[1327,0,"r"],[1328,0,"s"],[1331,0,"o"],[1332,0,"f"],[1333,0," "],[1334,0,"a"],[1335,0,"p"],[1336,0,"p"],[1337,0,"l"],[1338,0,"i"],[1339,0,"c"],[1340,0,"a"],[1341,0,"t"],[1342,0,"i"],[1343,0,"o"],[1344,0,"n"],[1345,0,"s"],[1346,0," "],[1347,0,"o"],[1348,0,"n"],[1349,0," "],[1350,0,"m"],[1351,0,"o"],[1352,0,"b"],[1353,0,"i"],[1354,0,"l"],[1355,0,"e"],[1356,0," "],[1357,0,"d"],[1358,0,"e"],[1359,0,"v"],[1360,0,"i"],[1361,0,"c"],[1362,0,"e"],[1363,0,"s"],[1364,0," "],[1365,0,"e"],[1366,0,"x"],[1367,0,"p"],[1368,0,"e"],[1369,0,"c"],[1370,0,"t"],[1371,0," "],[1372,0,"t"],[1373,0,"h"],[1374,0,"e"],[1375,0," "],[1376,0,"a"],[1377,0,"p"],[1378,0,"p"],[1379,0,"l"],[1380,0,"i"],[1381,0,"c"],[1382,0,"a"],[1383,0,"t"],[1384,0,"i"],[1385,0,"o"],[1386,0,"n"],[1387,0,"s"],[1388,0," "],[1389,0,"s"],[1390,0,"t"],[1391,0,"i"],[1392,0,"l"],[1393,0,"l"],[1394,0," "],[1395,0,"t"],[1396,0,"o"],[1397,0," "],[1398,0,"w"],[1399,0,"o"],[1400,0,"r"],[1401,0,"k"],[1402,0," "],[1403,0,"w"],[1404,0,"h"],[1405,0,"i"],[1406,0,"l"],[1407,0,"e"],[1408,0," "],[1409,0,"t"],[1410,0,"h"],[1411,0,"e"],[1412,0," "],[1413,0,"d"],[1414,0,"e"],[1415,0,"v"],[1416,0,"i"],[1417,0,"c"],[1418,0,"e"],[1419,0," "],[1420,0,"i"],[1421,0,"s"],[1422,0," "],[1423,0,"o"],[1424,0,"f"],[1425,0,"f"],[1426,0,"l"],[1427,0,"i"],[1428,0,"n"],[1429,0,"e"],[1430,0," "],[1431,0,"o"],[1432,0,"r"],[1433,0," "],[1434,0,"h"],[1435,0,"a"],[1436,0,"s"],[1437,0," "],[1438,0,"p"],[1439,0,"o"],[1440,0,"o"],[1441,0,"r"],[1442,0," "],[1443,0,"n"],[1444,0,"e"],[1445,0,"t"],[1446,0,"w"],[1447,0,"o"],[1448,0,"r"],[1449,0,"k"],[1450,0," "],[1451,0,"c"],[1452,0,"o"],[1453,0,"n"],[1454,0,"n"],[1455,0,"e"],[1456,0,"c"],[1457,0,"t"],[1458,0,"i"],[1459,0,"v"],[1460,0,"i"],[1461,0,"t"],[1462,0,"y"],[1463,0,"."],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1464,1],[1463,0,","],[1464,0," "],[1465,0,"a"],[1466,0,"n"],[1467,0,"d"],[1468,0," "],[1469,0,"t"],[1470,0,"o"],[1471,0," "],[1472,0,"s"],[1473,0,"y"],[1474,0,"n"],[1475,0,"c"],[1476,0,"h"],[1477,0,"r"],[1478,0,"o"],[1479,0,"n"],[1480,0,"i"],[1481,0,"z"],[1482,0,"e"],[1483,0," "],[1484,0,"i"],[1485,0,"t"],[1486,0,"s"],[1487,0," "],[1488,0,"s"],[1489,0,"t"],[1490,0,"a"],[1491,0,"t"],[1492,0,"e"],[1493,0," "],[1494,0,"w"],[1495,0,"i"],[1496,0,"t"],[1497,0,"h"],[1498,0," "],[1499,0,"o"],[1500,0,"t"],[1501,0,"h"],[1502,0,"e"],[1503,0,"r"],[1504,0," "],[1505,0,"d"],[1506,0,"e"],[1507,0,"v"],[1508,0,"i"],[1509,0,"c"],[1510,0,"e"],[1511,0,"s"],[1512,0," "],[1513,0,"w"],[1514,0,"h"],[1515,0,"e"],[1516,0,"n"],[1517,0," "],[1518,0,"t"],[1519,0,"h"],[1520,0,"e"],[1521,0," "],[1522,0,"n"],[1523,0,"e"],[1524,0,"t"],[1525,0,"w"],[1526,0,"o"],[1527,0,"r"],[1528,0,"k"],[1529,0," "],[1530,0,"i"],[1531,0,"s"],[1532,0," "],[1533,0,"a"],[1534,0,"v"],[1535,0,"a"],[1536,0,"i"],[1537,0,"l"],[1538,0,"a"],[1539,0,"b"],[1540,0,"l"],[1541,0,"e"],[1543,0," "],[1544,0,"E"],[1545,0,"x"],[1546,0,"a"],[1547,0,"m"],[1548,0,"p"],[1549,0,"l"],[1550,0,"e"],[1551,0,"s"],[1552,0," "],[1553,0,"o"],[1554,0,"f"],[1555,0," "],[1556,0,"s"],[1557,0,"u"],[1558,0,"c"],[1559,0,"h"],[1560,0," "],[1561,0,"a"],[1562,0,"p"],[1563,0,"p"],[1564,0,"l"],[1565,0,"i"],[1566,0,"c"],[1567,0,"a"],[1568,0,"t"],[1569,0,"i"],[1570,0,"o"],[1571,0,"n"],[1572,0,"s"],[1573,0," "],[1574,0,"i"],[1575,0,"n"],[1576,0,"c"],[1577,0,"l"],[1578,0,"u"],[1579,0,"d"],[1580,0,"e"],[1581,0," "],[1582,0,"a"],[1583,0,"d"],[1584,0,"d"],[1585,0,"r"],[1586,0,"e"],[1587,0,"s"],[1588,0,"s"],[1589,0," "],[1590,0,"b"],[1591,0,"o"],[1592,0,"o"],[1593,0,"k"],[1594,0,"s"],[1595,0,","],[1596,0," "],[1597,0,"c"],[1598,0,"a"],[1582,0,"c"],[1583,0,"a"],[1584,0,"l"],[1585,0,"e"],[1586,0,"n"],[1587,0,"d"],[1588,0,"a"],[1589,0,"r"],[1590,0,"i"],[1591,0,"n"],[1592,0,"g"],[1593,0,","],[1594,0," "],[1592,1],[1591,1],[1590,1],[1590,0,"s"],[1609,1],[1608,1],[1608,0,"n"],[1609,0,"o"],[1610,0,"t"],[1611,0,"e"],[1612,0,"-"],[1613,0,"t"],[1614,0,"a"],[1615,0,"k"],[1616,0,"i"],[1617,0,"n"],[1618,0,"g"],[1619,0,","],[1620,0," "],[1621,0,"p"],[1622,0,"a"],[1623,0,"s"],[1624,0,"s"],[1625,0,"w"],[1626,0,"o"],[1627,0,"r"],[1628,0,"d"],[1629,0," "],[1630,0,"m"],[1631,0,"a"],[1632,0,"n"],[1633,0,"a"],[1634,0,"g"],[1635,0,"e"],[1636,0,"r"],[1637,0,"s"],[1499,0,"t"],[1500,0,"h"],[1501,0,"e"],[1502,0," "],[1503,0,"u"],[1504,0,"s"],[1505,0,"e"],[1506,0,"r"],[1507,0,"'"],[1508,0,"s"],[1509,0," "],[1631,0," "],[1632,0,"a"],[1633,0,"n"],[1634,0,"d"],[1653,0,"."],[1654,0," "],[1655,0,"M"],[1656,0,"o"],[1657,0,"r"],[1658,0,"e"],[1659,0,"o"],[1660,0,"v"],[1661,0,"e"],[1662,0,"r"],[1663,0,","],[1664,0," "],[1665,0,"m"],[1666,0,"\n"],[1667,0,"\n"],[1668,0,"T"],[1669,0,"O"],[1670,0,"D"],[1671,0,"O"],[1672,0," "],[1673,0,"m"],[1674,0,"o"],[1675,0,"r"],[1676,0,"e"],[1677,0," "],[1678,0,"i"],[1679,0,"n"],[1680,0,"t"],[1681,0,"r"],[1682,0,"u"],[1683,0,"d"],[1684,0,"o"],[1684,1],[1683,1],[1682,1],[1682,0,"o"],[1683,0,"d"],[1684,0,"u"],[1685,0,"c"],[1686,0,"t"],[1687,0,"i"],[1688,0,"o"],[1689,0,"n"],[1690,0,"."],[1666,0,"a"],[1667,0,"n"],[1668,0,"y"],[1669,0," "],[1670,0,"p"],[1671,0,"e"],[1672,0,"o"],[1673,0,"p"],[1674,0,"l"],[1675,0,"e"],[1676,0," "],[1677,0,"w"],[1678,0,"a"],[1679,0,"n"],[1680,0,"t"],[1681,0," "],[1682,0,"t"],[1683,0,"o"],[1684,0," "],[1685,0,"c"],[1686,0,"o"],[1687,0,"l"],[1688,0,"l"],[1689,0,"a"],[1690,0,"b"],[1691,0,"o"],[1692,0,"r"],[1693,0,"a"],[1694,0,"t"],[1695,0,"e"],[1696,0," "],[1697,0,"w"],[1698,0,"i"],[1699,0,"t"],[1700,0,"h"],[1701,0," "],[1702,0,"o"],[1703,0,"t"],[1704,0,"h"],[1705,0,"e"],[1706,0,"r"],[1707,0,"s"],[1708,0," "],[1709,0,"o"],[1710,0,"n"],[1711,0," "],[1712,0,"d"],[1713,0,"o"],[1714,0,"c"],[1715,0,"u"],[1716,0,"m"],[1717,0,"e"],[1718,0,"n"],[1719,0,"t"],[1720,0,"s"],[1721,0," "],[1712,0,"t"],[1713,0,"e"],[1714,0,"x"],[1715,0,"t"],[1716,0," "],[1726,1],[1726,0," "],[1726,1],[1726,0,","],[1727,0," "],[1728,0,"s"],[1729,0,"p"],[1730,0,"r"],[1731,0,"e"],[1732,0,"a"],[1733,0,"d"],[1734,0,"s"],[1735,0,"h"],[1736,0,"e"],[1737,0,"e"],[1738,0,"t"],[1739,0,"s"],[1740,0,","],[1741,0," "],[1742,0,"p"],[1743,0,"r"],[1744,0,"e"],[1745,0,"s"],[1746,0,"e"],[1747,0,"n"],[1748,0,"t"],[1749,0,"a"],[1750,0,"t"],[1751,0,"i"],[1752,0,"o"],[1753,0,"n"],[1754,0,"s"],[1755,0,","],[1756,0," "],[1757,0,"g"],[1758,0,"r"],[1759,0,"a"],[1760,0,"p"],[1761,0,"h"],[1762,0,"i"],[1763,0,"c"],[1764,0,"s"],[1765,0,","],[1766,0," "],[1767,0,"a"],[1768,0,"n"],[1769,0,"d"],[1770,0," "],[1771,0,"s"],[1772,0,"i"],[1773,0,"m"],[1774,0,"i"],[1775,0,"l"],[1776,0,"a"],[1777,0,"r"],[1778,0," "],[1779,0,"d"],[1780,0,"o"],[1781,0,"c"],[1782,0,"u"],[1783,0,"m"],[1784,0,"e"],[1785,0,"n"],[1786,0,"t"],[1787,0,"s"],[1788,0,"."],[1777,1],[1776,1],[1775,1],[1774,1],[1773,1],[1772,1],[1771,1],[1771,0,"o"],[1772,0,"t"],[1773,0,"h"],[1774,0,"e"],[1775,0,"r"],[1776,0," "],[1777,0,"k"],[1778,0,"i"],[1779,0,"n"],[1780,0,"d"],[1781,0,"s"],[1782,0," "],[1783,0,"o"],[1784,0,"f"],[1794,1],[1795,0,"\n"],[1796,0,"\n"],[1797,0,"W"],[1798,0,"h"],[1799,0,"a"],[1800,0,"t"],[1801,0," "],[1802,0,"t"],[1803,0,"h"],[1804,0,"e"],[1805,0,"s"],[1806,0,"e"],[1807,0," "],[1808,0,"d"],[1808,1],[1808,0,"a"],[1809,0,"p"],[1810,0,"p"],[1811,0,"l"],[1812,0,"i"],[1813,0,"c"],[1814,0,"a"],[1815,0,"t"],[1816,0,"i"],[1817,0,"o"],[1818,0,"n"],[1819,0,"s"],[1820,0," "],[1821,0,"h"],[1822,0,"a"],[1823,0,"v"],[1824,0,"e"],[1825,0," "],[1826,0,"i"],[1827,0,"n"],[1828,0," "],[1829,0,"c"],[1830,0,"o"],[1831,0,"m"],[1832,0,"m"],[1833,0,"o"],[1834,0,"n"],[1835,0," "],[1836,0,"i"],[1837,0,"s"],[1838,0," "],[1839,0,"t"],[1840,0,"h"],[1841,0,"a"],[1842,0,"t"],[1843,0," "],[1844,0,"t"],[1845,0,"h"],[1846,0,"e"],[1847,0," "],[1848,0,"s"],[1849,0,"a"],[1850,0,"m"],[1851,0,"e"],[1852,0," "],[1853,0,"a"],[1854,0,"p"],[1855,0,"p"],[1856,0,"l"],[1857,0,"i"],[1858,0,"c"],[1859,0,"a"],[1860,0,"t"],[1861,0,"i"],[1862,0,"o"],[1863,0,"n"],[1864,0," "],[1865,0,"s"],[1866,0,"t"],[1867,0,"a"],[1868,0,"t"],[1869,0,"e"],[1870,0," "],[1871,0,"n"],[1872,0,"e"],[1873,0,"e"],[1874,0,"d"],[1875,0,"s"],[1876,0," "],[1877,0,"t"],[1878,0,"o"],[1879,0," "],[1880,0,"b"],[1881,0,"e"],[1882,0," "],[1883,0,"r"],[1884,0,"e"],[1885,0,"p"],[1886,0,"l"],[1887,0,"i"],[1888,0,"c"],[1889,0,"a"],[1890,0,"t"],[1891,0,"e"],[1892,0,"d"],[1893,0," "],[1894,0,"t"],[1895,0,"o"],[1896,0," "],[1897,0,"s"],[1898,0,"e"],[1899,0,"v"],[1900,0,"e"],[1901,0,"r"],[1902,0,"a"],[1903,0,"l"],[1904,0," "],[1905,0,"d"],[1906,0,"e"],[1907,0,"v"],[1908,0,"i"],[1909,0,"c"],[1910,0,"e"],[1911,0,"s"],[1912,0,","],[1913,0," "],[1914,0,"e"],[1915,0,"a"],[1916,0,"c"],[1917,0,"h"],[1918,0," "],[1919,0,"o"],[1920,0,"f"],[1921,0," "],[1922,0,"w"],[1923,0,"h"],[1924,0,"i"],[1925,0,"c"],[1926,0,"h"],[1927,0," "],[1928,0,"m"],[1929,0,"a"],[1930,0,"y"],[1931,0," "],[1932,0,"m"],[1933,0,"o"],[1934,0,"d"],[1935,0,"i"],[1936,0,"f"],[1937,0,"y"],[1938,0," "],[1939,0,"t"],[1940,0,"h"],[1941,0,"e"],[1942,0," "],[1943,0,"s"],[1944,0,"t"],[1945,0,"a"],[1946,0,"t"],[1947,0,"e"],[1948,0," "],[1949,0,"l"],[1950,0,"o"],[1951,0,"c"],[1952,0,"a"],[1953,0,"l"],[1954,0,"l"],[1955,0,"y"],[1956,0,"."],[1957,0," "],[1958,0,"S"],[1959,0,"t"],[1959,1],[1958,1],[1958,0,"M"],[1959,0,"o"],[1960,0,"d"],[1961,0,"i"],[1962,0,"f"],[1963,0,"i"],[1964,0,"c"],[1965,0,"a"],[1966,0,"t"],[1967,0,"i"],[1968,0,"o"],[1969,0,"n"],[1970,0,"s"],[1971,0," "],[1972,0,"m"],[1973,0,"a"],[1974,0,"y"],[1975,0," "],[1976,0,"h"],[1977,0,"a"],[1978,0,"p"],[1979,0,"p"],[1980,0,"e"],[1981,0,"n"],[1982,0," "],[1983,0,"c"],[1984,0,"o"],[1985,0,"n"],[1986,0,"c"],[1987,0,"u"],[1988,0,"r"],[1989,0,"r"],[1990,0,"e"],[1991,0,"n"],[1992,0,"t"],[1993,0,"l"],[1994,0,"y"],[1995,0,","],[1996,0," "],[1997,0,"a"],[1998,0,"n"],[1999,0,"d"],[2000,0," "],[2001,0,"t"],[2002,0,"r"],[2003,0,"a"],[2004,0,"d"],[2005,0,"i"],[2006,0,"t"],[2007,0,"i"],[2008,0,"o"],[2009,0,"n"],[2010,0,"a"],[2011,0,"l"],[2012,0," "],[2013,0,"c"],[2014,0,"o"],[2015,0,"n"],[2016,0,"c"],[2017,0,"u"],[2018,0,"r"],[2019,0,"r"],[2020,0,"e"],[2021,0,"n"],[2022,0,"c"],[2023,0,"y"],[2024,0," "],[2025,0,"c"],[2026,0,"o"],[2027,0,"n"],[2028,0,"t"],[2029,0,"r"],[2030,0,"o"],[2031,0,"l"],[2032,0," "],[2033,0,"m"],[2034,0,"e"],[2035,0,"t"],[2036,0,"h"],[2037,0,"o"],[2038,0,"d"],[2039,0,"s"],[2040,0," "],[2041,0,"s"],[2041,1],[2040,1],[2039,1],[2038,1],[2037,1],[2036,1],[2035,1],[2034,1],[2033,1],[2033,0,"a"],[2034,0,"p"],[2035,0,"p"],[2036,0,"r"],[2037,0,"o"],[2038,0,"a"],[2039,0,"c"],[2040,0,"h"],[2041,0,"e"],[2042,0,"s"],[2043,0," "],[2044,0,"s"],[2045,0,"u"],[2046,0,"c"],[2047,0,"h"],[2048,0," "],[2049,0,"a"],[2050,0,"s"],[2051,0," "],[2052,0,"s"],[2053,0,"e"],[2054,0,"r"],[2055,0,"i"],[2056,0,"a"],[2057,0,"l"],[2058,0,"i"],[2059,0,"z"],[2060,0,"a"],[2061,0,"b"],[2062,0,"i"],[2063,0,"l"],[2064,0,"i"],[2065,0,"t"],[2066,0,"y"],[2067,0," "],[2001,1],[2000,1],[1999,1],[1998,1],[1997,1],[1996,1],[1995,1],[1994,1],[1993,1],[1992,1],[1991,1],[1990,1],[1989,1],[1988,1],[1987,1],[1986,1],[1985,1],[1984,1],[1983,1],[1982,1],[1981,1],[1980,1],[1979,1],[1978,1],[1977,1],[1976,1],[1975,1],[1974,1],[1973,1],[1972,1],[1971,1],[1970,1],[1969,1],[1968,1],[1967,1],[1966,1],[1965,1],[1964,1],[1963,1],[1962,1],[1961,1],[1960,1],[1959,1],[1958,1],[1958,0,"T"],[2025,0,"w"],[2026,0,"o"],[2027,0,"u"],[2028,0,"l"],[2029,0,"d"],[2030,0," "],[2031,0,"c"],[2032,0,"a"],[2033,0,"u"],[2034,0,"s"],[2035,0,"e"],[2036,0," "],[2037,0,"t"],[2038,0,"h"],[2039,0,"e"],[2040,0," "],[2041,0,"a"],[2042,0,"p"],[2043,0,"p"],[2044,0,"l"],[2045,0,"i"],[2046,0,"c"],[2047,0,"a"],[2048,0,"t"],[2049,0,"i"],[2050,0,"o"],[2051,0,"n"],[2052,0," "],[2053,0,"t"],[2054,0,"o"],[2055,0," "],[2056,0,"b"],[2057,0,"e"],[2058,0,"c"],[2059,0,"o"],[2060,0,"m"],[2061,0,"e"],[2062,0," "],[2063,0,"u"],[2064,0,"n"],[2065,0,"u"],[2066,0,"s"],[2067,0,"a"],[2068,0,"b"],[2069,0,"l"],[2070,0,"e"],[2071,0," "],[2072,0,"a"],[2073,0,"t"],[2074,0," "],[2075,0,"t"],[2076,0,"i"],[2077,0,"m"],[2078,0,"e"],[2079,0,"s"],[2080,0," "],[2081,0,"o"],[2082,0,"f"],[2083,0," "],[2084,0,"p"],[2085,0,"o"],[2086,0,"o"],[2087,0,"r"],[2088,0," "],[2089,0,"n"],[2090,0,"e"],[2091,0,"t"],[2092,0,"w"],[2093,0,"o"],[2094,0,"r"],[2095,0,"k"],[2096,0," "],[2097,0,"c"],[2098,0,"o"],[2099,0,"n"],[2100,0,"n"],[2101,0,"e"],[2102,0,"c"],[2103,0,"t"],[2104,0,"i"],[2105,0,"v"],[2106,0,"i"],[2107,0,"t"],[2108,0,"y"],[2109,0,","],[2110,0," "],[2111,0,"s"],[2112,0,"o"],[2113,0," "],[2114,0,"w"],[2115,0,"e"],[2116,0," "],[2117,0,"m"],[2118,0,"u"],[2119,0,"s"],[2120,0,"t"],[2121,0," "],[2122,0,"a"],[2123,0,"s"],[2124,0,"s"],[2125,0,"u"],[2126,0,"m"],[2127,0,"e"],[2128,0," "],[2129,0,"t"],[2130,0,"h"],[2131,0,"a"],[2132,0,"t"],[2133,0," "],[2134,0,"u"],[2135,0,"s"],[2136,0,"e"],[2137,0,"r"],[2138,0,"s"],[2139,0," "],[2140,0,"c"],[2141,0,"a"],[2142,0,"n"],[2143,0," "],[2144,0,"m"],[2145,0,"a"],[2146,0,"k"],[2147,0,"e"],[2148,0," "],[2149,0,"a"],[2150,0,"r"],[2151,0,"b"],[2152,0,"i"],[2153,0,"t"],[2154,0,"r"],[2155,0,"a"],[2156,0,"r"],[2157,0,"y"],[2158,0," "],[2159,0,"m"],[2160,0,"o"],[2161,0,"d"],[2162,0,"i"],[2163,0,"f"],[2164,0,"i"],[2165,0,"c"],[2166,0,"a"],[2167,0,"t"],[2168,0,"i"],[2169,0,"o"],[2170,0,"n"],[2171,0,"s"],[2172,0," "],[2173,0,"c"],[2174,0,"o"],[2175,0,"n"],[2176,0,"c"],[2177,0,"u"],[2178,0,"r"],[2179,0,"r"],[2180,0,"e"],[2181,0,"n"],[2182,0,"t"],[2183,0,"l"],[2184,0,"y"],[2185,0," "],[2186,0,"o"],[2187,0,"n"],[2188,0," "],[2189,0,"d"],[2190,0,"i"],[2191,0,"f"],[2192,0,"f"],[2193,0,"e"],[2194,0,"r"],[2195,0,"e"],[2196,0,"n"],[2197,0,"t"],[2198,0," "],[2199,0,"d"],[2200,0,"e"],[2201,0,"v"],[2202,0,"i"],[2203,0,"c"],[2204,0,"e"],[2205,0,"s"],[2206,0,","],[2207,0," "],[2208,0,"a"],[2209,0,"n"],[2210,0,"d"],[2211,0," "],[2212,0,"a"],[2213,0,"n"],[2214,0,"y"],[2215,0," "],[2216,0,"r"],[2217,0,"e"],[2218,0,"s"],[2219,0,"u"],[2220,0,"l"],[2221,0,"t"],[2222,0,"i"],[2223,0,"n"],[2224,0,"g"],[2225,0," "],[2226,0,"c"],[2227,0,"o"],[2228,0,"n"],[2229,0,"f"],[2230,0,"l"],[2231,0,"i"],[2232,0,"c"],[2233,0,"t"],[2234,0,"s"],[2235,0," "],[2236,0,"m"],[2237,0,"u"],[2238,0,"s"],[2239,0,"t"],[2240,0," "],[2241,0,"b"],[2242,0,"e"],[2243,0," "],[2244,0,"r"],[2245,0,"e"],[2246,0,"s"],[2247,0,"o"],[2248,0,"l"],[2249,0,"v"],[2250,0,"e"],[2251,0,"d"],[2252,0,"."],[2253,0,"\n"],[2254,0,"\n"],[2255,0,"T"],[2256,0,"h"],[2257,0,"e"],[2258,0," "],[2259,0,"s"],[2260,0,"i"],[2261,0,"m"],[2262,0,"p"],[2263,0,"l"],[2264,0,"e"],[2265,0,"s"],[2266,0,"t"],[2267,0," "],[2268,0,"w"],[2269,0,"a"],[2270,0,"y"],[2271,0," "],[2272,0,"o"],[2273,0,"f"],[2274,0," "],[2275,0,"r"],[2276,0,"e"],[2277,0,"s"],[2278,0,"e"],[2279,0,"o"],[2280,0,"l"],[2281,0,"v"],[2281,1],[2280,1],[2279,1],[2278,1],[2278,0,"o"],[2279,0,"l"],[2280,0,"v"],[2281,0,"i"],[2282,0,"n"],[2283,0,"g"],[2284,0," "],[2285,0,"c"],[2286,0,"o"],[2287,0,"n"],[2288,0,"f"],[2289,0,"l"],[2290,0,"c"],[2291,0,"i"],[2292,0,"t"],[2293,0,"s"],[2293,1],[2292,1],[2291,1],[2290,1],[2290,0,"i"],[2291,0,"c"],[2292,0,"t"],[2293,0,"s"],[2294,0," "],[2295,0,"i"],[2296,0,"s"],[2297,0," "],[2298,0,"t"],[2299,0,"o"],[2300,0," "],[2301,0,"d"],[2302,0,"i"],[2303,0,"s"],[2304,0,"c"],[2305,0,"a"],[2306,0,"r"],[2307,0,"d"],[2308,0," "],[2309,0,"s"],[2310,0,"o"],[2311,0,"m"],[2312,0,"e"],[2313,0," "],[2314,0,"d"],[2315,0,"o"],[2316,0,"c"],[2317,0,"u"],[2318,0,"m"],[2319,0,"e"],[2320,0,"n"],[2321,0,"t"],[2322,0," "],[2323,0,"m"],[2324,0,"o"],[2325,0,"d"],[2326,0,"i"],[2327,0,"f"],[2328,0,"i"],[2329,0,"c"],[2330,0,"a"],[2331,0,"t"],[2332,0,"i"],[2333,0,"o"],[2334,0,"n"],[2335,0,"s"],[2336,0," "],[2337,0,"i"],[2338,0,"f"],[2339,0," "],[2340,0,"c"],[2341,0,"o"],[2342,0,"n"],[2343,0,"c"],[2344,0,"u"],[2345,0,"r"],[2346,0,"r"],[2347,0,"e"],[2348,0,"n"],[2349,0,"t"],[2350,0,","],[2351,0," "],[2352,0,"c"],[2353,0,"o"],[2354,0,"n"],[2355,0,"f"],[2356,0,"l"],[2356,1],[2355,1],[2354,1],[2353,1],[2352,1],[2351,1],[2350,1],[2349,1],[2348,1],[2347,1],[2346,1],[2345,1],[2344,1],[2343,1],[2342,1],[2341,1],[2340,1],[2340,0,"c"],[2341,0,"o"],[2342,0,"n"],[2343,0,"f"],[2344,0,"l"],[2345,0,"i"],[2346,0,"c"],[2347,0,"t"],[2348,0,"s"],[2349,0," "],[2350,0,"o"],[2351,0,"c"],[2352,0,"c"],[2353,0,"u"],[2354,0,"r"],[2355,0,"r"],[2356,0,"e"],[2357,0,"d"],[2358,0,","],[2359,0," "],[2360,0,"a"],[2361,0," "],[2362,0,"p"],[2363,0,"o"],[2364,0,"l"],[2365,0,"i"],[2366,0,"c"],[2367,0,"y"],[2368,0," "],[2369,0,"s"],[2370,0,"o"],[2371,0,"m"],[2372,0,"e"],[2373,0,"t"],[2374,0,"i"],[2375,0,"m"],[2376,0,"e"],[2377,0,"s"],[2378,0," "],[2379,0,"k"],[2380,0,"n"],[2381,0,"o"],[2382,0,"w"],[2383,0,"n"],[2384,0," "],[2385,0,"a"],[2386,0,"s"],[2387,0," "],[2388,0,"`"],[2389,0,"`"],[2390,0,"l"],[2391,0,"a"],[2392,0,"s"],[2393,0,"t"],[2394,0," "],[2395,0,"w"],[2396,0,"r"],[2397,0,"i"],[2398,0,"t"],[2399,0,"e"],[2400,0,"r"],[2401,0," "],[2402,0,"w"],[2403,0,"i"],[2404,0,"n"],[2405,0,"s"],[2406,0,"'"],[2407,0,"'"],[2408,0,"."],[2340,0,"a"],[2341,0," "],[2350,1],[2387,1],[2386,1],[2385,1],[2384,1],[2383,1],[2382,1],[2381,1],[2380,1],[2379,1],[2378,1],[2377,1],[2376,1],[2375,1],[2374,1],[2373,1],[2372,1],[2371,1],[2370,1],[2369,1],[2368,1],[2367,1],[2366,1],[2365,1],[2364,1],[2363,1],[2362,1],[2361,1],[2361,0,"f"],[2362,0,"o"],[2363,0,"r"],[2364,0," "],[2365,0,"e"],[2366,0,"x"],[2367,0,"a"],[2368,0,"m"],[2369,0,"p"],[2370,0,"l"],[2371,0,"e"],[2372,0," "],[2373,0,"u"],[2374,0,"s"],[2375,0,"i"],[2376,0,"n"],[2377,0,"g"],[2378,0," "],[2379,0,"a"],[2401,0," "],[2402,0,"p"],[2403,0,"o"],[2404,0,"l"],[2405,0,"i"],[2406,0,"c"],[2407,0,"y"],[2409,0," "],[2410,0,"H"],[2411,0,"o"],[2412,0,"w"],[2413,0,"e"],[2414,0,"v"],[2415,0,"e"],[2416,0,"r"],[2417,0,","],[2418,0," "],[2419,0,"t"],[2420,0,"h"],[2421,0,"i"],[2422,0,"s"],[2423,0," "],[2424,0,"a"],[2425,0,"p"],[2426,0,"p"],[2427,0,"r"],[2428,0,"o"],[2429,0,"a"],[2430,0,"c"],[2431,0,"h"],[2432,0," "],[2433,0,"i"],[2434,0,"s"],[2435,0," "],[2436,0,"u"],[2437,0,"n"],[2438,0,"d"],[2439,0,"e"],[2440,0,"r"],[2440,1],[2440,0,"s"],[2441,0,"i"],[2442,0,"r"],[2443,0,"a"],[2444,0,"b"],[2445,0,"l"],[2446,0,"e"],[2447,0," "],[2448,0,"a"],[2449,0,"s"],[2450,0," "],[2451,0,"i"],[2452,0,"t"],[2453,0," "],[2454,0,"i"],[2455,0,"n"],[2456,0,"c"],[2457,0,"u"],[2458,0,"r"],[2459,0,"s"],[2460,0," "],[2461,0,"d"],[2462,0,"a"],[2463,0,"t"],[2464,0,"a"],[2465,0," "],[2466,0,"l"],[2467,0,"o"],[2468,0,"s"],[2469,0,"s"],[2470,0,"."],[2471,0," "],[2472,0,"A"],[2473,0,"n"],[2474,0," "],[2475,0,"a"],[2476,0,"l"],[2477,0,"t"],[2478,0,"e"],[2479,0,"r"],[2480,0,"n"],[2481,0,"a"],[2482,0,"t"],[2483,0,"i"],[2484,0,"v"],[2485,0,"e"],[2486,0," "],[2487,0,"i"],[2488,0,"s"],[2489,0," "],[2490,0,"t"],[2491,0,"o"],[2492,0," "],[2493,0,"l"],[2494,0,"e"],[2495,0,"t"],[2496,0," "],[2497,0,"t"],[2498,0,"h"],[2499,0,"e"],[2500,0," "],[2501,0,"u"],[2502,0,"s"],[2503,0,"e"],[2504,0,"r"],[2505,0," "],[2506,0,"m"],[2507,0,"a"],[2508,0,"n"],[2509,0,"u"],[2510,0,"a"],[2511,0,"l"],[2512,0,"l"],[2513,0,"y"],[2514,0," "],[2515,0,"r"],[2516,0,"e"],[2517,0,"s"],[2518,0,"o"],[2519,0,"l"],[2520,0,"v"],[2521,0,"e"],[2522,0," "],[2523,0,"t"],[2524,0,"h"],[2525,0,"e"],[2526,0," "],[2527,0,"c"],[2528,0,"o"],[2529,0,"n"],[2530,0,"f"],[2531,0,"l"],[2532,0,"i"],[2533,0,"c"],[2534,0,"t"],[2535,0,","],[2536,0," "],[2537,0,"w"],[2538,0,"h"],[2539,0,"i"],[2540,0,"c"],[2541,0,"h"],[2542,0," "],[2543,0,"i"],[2544,0,"s"],[2545,0," "],[2546,0,"t"],[2547,0,"e"],[2548,0,"d"],[2549,0,"i"],[2550,0,"o"],[2551,0,"u"],[2552,0,"s"],[2553,0," "],[2554,0,"i"],[2555,0,"n"],[2556,0," "],[2557,0,"c"],[2558,0,"a"],[2559,0,"s"],[2560,0,"e"],[2561,0," "],[2562,0,"o"],[2563,0,"f"],[2564,0," "],[2565,0,"m"],[2566,0,"o"],[2567,0,"d"],[2568,0,"i"],[2569,0,"f"],[2570,0,"i"],[2571,0,"c"],[2572,0,"a"],[2573,0,"t"],[2574,0,"i"],[2575,0,"o"],[2576,0,"n"],[2577,0,"s"],[2578,0," "],[2579,0,"t"],[2580,0,"h"],[2581,0,"a"],[2582,0,"t"],[2583,0," "],[2584,0,"c"],[2585,0,"o"],[2586,0,"u"],[2587,0,"l"],[2588,0,"d"],[2589,0," "],[2590,0,"b"],[2591,0,"e"],[2592,0," "],[2593,0,"m"],[2594,0,"e"],[2595,0,"r"],[2596,0,"g"],[2597,0,"e"],[2598,0,"d"],[2599,0," "],[2600,0,"a"],[2601,0,"u"],[2602,0,"t"],[2603,0,"o"],[2604,0,"m"],[2605,0,"a"],[2606,0,"t"],[2607,0,"i"],[2608,0,"c"],[2609,0,"a"],[2610,0,"l"],[2611,0,"l"],[2612,0,"y"],[2613,0,"."],[75236,0,"i"],[75237,0,"\n"],[75238,0,"\n"],[75236,1],[75236,0,"\n"],[75237,0,"\\"],[75238,0,"s"],[75239,0,"e"],[75240,0,"c"],[75241,0,"t"],[75242,0,"i"],[75243,0,"o"],[75244,0,"n"],[75245,0,"*"],[75246,0,"{"],[75247,0,"A"],[75248,0,"c"],[75249,0,"k"],[75250,0,"n"],[75251,0,"o"],[75252,0,"w"],[75253,0,"l"],[75254,0,"e"],[75255,0,"d"],[75256,0,"g"],[75257,0,"e"],[75258,0,"m"],[75259,0,"e"],[75260,0,"n"],[75261,0,"t"],[75262,0,"s"],[75263,0,"}"],[75264,0,"\n"],[75265,0,"\n"],[75266,0,"i"],[75266,1],[75266,0,"T"],[75267,0,"h"],[75268,0,"i"],[75269,0,"s"],[75270,0," "],[75271,0,"r"],[75272,0,"e"],[75273,0,"s"],[75274,0,"e"],[75275,0,"a"],[75276,0,"r"],[75277,0,"c"],[75278,0,"h"],[75279,0," "],[75280,0,"w"],[75281,0,"a"],[75282,0,"s"],[75283,0," "],[75284,0,"s"],[75285,0,"u"],[75286,0,"p"],[75287,0,"p"],[75288,0,"o"],[75289,0,"r"],[75290,0,"t"],[75291,0,"e"],[75292,0,"d"],[75293,0," "],[75294,0,"b"],[75295,0,"y"],[75296,0," "],[75297,0,"a"],[75298,0," "],[75299,0,"g"],[75300,0,"r"],[75301,0,"a"],[75302,0,"n"],[75303,0,"t"],[75304,0," "],[75305,0,"f"],[75306,0,"r"],[75307,0,"o"],[75308,0,"m"],[75309,0," "],[75310,0,"T"],[75311,0,"h"],[75312,0,"e"],[75313,0," "],[75314,0,"B"],[75315,0,"o"],[75316,0,"e"],[75317,0,"i"],[75318,0,"n"],[75319,0,"g"],[75320,0," "],[75321,0,"C"],[75322,0,"o"],[75323,0,"m"],[75324,0,"p"],[75325,0,"a"],[75326,0,"n"],[75327,0,"y"],[75328,0,"."],[75329,0,":"],[75330,0,"w"],[75331,0,"q"],[75331,1],[75330,1],[75329,1],[3459,0,"\n"],[3460,0,"\n"],[3460,0,"\\"],[3461,0,"s"],[3462,0,"e"],[3463,0,"c"],[3464,0,"t"],[3465,0,"i"],[3466,0,"o"],[3467,0,"n"],[3468,0,"{"],[3469,0,"R"],[3470,0,"e"],[3471,0,"l"],[3472,0,"a"],[3473,0,"t"],[3474,0,"e"],[3475,0,"d"],[3476,0,"i"],[3477,0,"o"],[3478,0,"n"],[3479,0,"{"],[3480,0,"O"],[3481,0,"p"],[3482,0,"e"],[3483,0,"r"],[3484,0,"a"],[3485,0,"t"],[3486,0,"i"],[3487,0,"o"],[3488,0,"n"],[3489,0,"a"],[3490,0,"l"],[3491,0," "],[3492,0,"t"],[3493,0,"r"],[3494,0,"a"],[3495,0,"n"],[3496,0,"s"],[3497,0,"f"],[3498,0,"o"],[3499,0,"r"],[3500,0,"m"],[3501,0,"a"],[3502,0,"t"],[3503,0,"i"],[3504,0,"o"],[3505,0,"n"],[3506,0,"}"],[3507,0,"\\"],[3508,0,"s"],[3509,0," "],[3510,0,"b"],[3511,0,"a"],[3512,0,"s"],[3513,0,"e"],[3514,0,"d"],[3515,0," "],[3516,0,"o"],[3517,0,"n"],[3518,0," "],[3519,0,"\\"],[3520,0,"e"],[3521,0,"m"],[3522,0,"p"],[3523,0,"h"],[3524,0,"{"],[3525,0,"o"],[3526,0,"p"],[3527,0,"e"],[3528,0,"r"],[3529,0,"a"],[3530,0,"t"],[3531,0,"i"],[3532,0,"o"],[3533,0,"n"],[3534,0,"a"],[3535,0,"l"],[3536,0," "],[3537,0,"t"],[3538,0,"r"],[3539,0,"a"],[3540,0,"n"],[3541,0,"s"],[3542,0,"f"],[3543,0,"o"],[3544,0,"r"],[3545,0,"m"],[3546,0,"a"],[3547,0,"t"],[3548,0,"i"],[3549,0,"o"],[3550,0,"n"],[3551,0,"}"],[3552,0," "],[3553,0,"("],[3554,0,"O"],[3555,0,"T"],[3556,0,")"],[3557,0," "],[3558,0,"h"],[3559,0,"a"],[3560,0,"v"],[3561,0,"e"],[3562,0," "],[3563,0,"l"],[3564,0,"o"],[3565,0,"n"],[3566,0,"g"],[3567,0," "],[3568,0,"b"],[3569,0,"e"],[3570,0,"e"],[3571,0,"n"],[3572,0,"i"],[3573,0,"t"],[3574,0,"e"],[3575,0,"{"],[3576,0,"E"],[3577,0,"l"],[3578,0,"l"],[3579,0,"i"],[3580,0,"s"],[3581,0,":"],[3582,0,"1"],[3583,0,"9"],[3584,0,"8"],[3585,0,"9"],[3586,0,"u"],[3587,0,"e"],[3588,0,","],[3589,0,"R"],[3590,0,"e"],[3591,0,"s"],[3592,0,"s"],[3593,0,"e"],[3594,0,"l"],[3595,0,":"],[3596,0,"1"],[3597,0,"9"],[3598,0,"9"],[3599,0,"6"],[3600,0,"w"],[3601,0,"x"],[3602,0,","],[3603,0,"S"],[3604,0,"u"],[3605,0,"n"],[3606,0,":"],[3607,0,"1"],[3608,0,"9"],[3609,0,"9"],[3610,0,"8"],[3611,0,"v"],[3612,0,"f"],[3613,0,","],[3614,0,"N"],[3615,0,"i"],[3616,0,"c"],[3617,0,"h"],[3618,0,"o"],[3619,0,"l"],[3620,0,"s"],[3621,0,":"],[3622,0,"1"],[3623,0,"9"],[3624,0,"9"],[3625,0,"5"],[3626,0,"f"],[3627,0,"d"],[3628,0,"}"],[3629,0,"."],[3630,0," "],[3631,0,"M"],[3632,0,"o"],[3633,0,"s"],[3634,0,"t"],[3635,0," "],[3636,0,"o"],[3637,0,"f"],[3638,0," "],[3639,0,"t"],[3640,0,"h"],[3641,0,"e"],[3642,0,"m"],[3643,0," "],[3644,0,"t"],[3645,0,"r"],[3646,0,"e"],[3647,0,"a"],[3648,0,"t"],[3649,0," "],[3650,0,"a"],[3651,0," "],[3652,0,"d"],[3653,0,"o"],[3654,0,"c"],[3655,0,"u"],[3656,0,"m"],[3657,0,"e"],[3658,0,"n"],[3659,0,"t"],[3660,0," "],[3661,0,"a"],[3662,0,"s"],[3663,0," "],[3664,0,"a"],[3665,0," "],[3666,0,"s"],[3667,0,"i"],[3668,0,"n"],[3669,0,"g"],[3670,0,"l"],[3671,0,"e"],[3672,0," "],[3673,0,"o"],[3674,0,"r"],[3675,0,"d"],[3676,0,"e"],[3677,0,"r"],[3678,0,"e"],[3679,0,"d"],[3680,0," "],[3681,0,"l"],[3682,0,"i"],[3683,0,"s"],[3684,0,"a"],[3685,0,"t"],[3686,0," "],[3687,0,"a"],[3688,0,"r"],[3689,0,"e"],[3690,0," "],[3691,0,"r"],[3692,0,"e"],[3693,0,"q"],[3694,0,"u"],[3695,0,"i"],[3696,0,"r"],[3697,0,"e"],[3698,0,"d"],[3699,0," "],[3700,0,"f"],[3701,0,"o"],[3702,0,"r"],[3703,0," "],[3704,0,"m"],[3705,0,"a"],[3706,0,"n"],[3707,0,"y"],[3708,0," "],[3709,0,"a"],[3710,0,"p"],[3711,0,"p"],[3712,0,"l"],[3713,0,"i"],[3714,0,"c"],[3715,0,"a"],[3716,0,"z"],[3717,0,"e"],[3718,0," "],[3719,0,"O"],[3720,0,"T"],[3721,0," "],[3722,0,"t"],[3723,0,"o"],[3724,0," "],[3725,0,"e"],[3726,0,"d"],[3727,0,"i"],[3728,0,"t"],[3729,0,"i"],[3730,0,"n"],[3731,0,"g"],[3732,0," "],[3733,0,"X"],[3734,0,"M"],[3735,0,"L"],[3736,0," "],[3737,0,"d"],[3738,0,"o"],[3739,0,"c"],[3740,0,"u"],[3741,0,"m"],[3742,0,"e"],[3743,0,"n"],[3744,0,"t"],[3745,0,"s"],[3746,0,"~"],[3747,0,"\\"],[3748,0,"c"],[3749,0,"i"],[3750,0,"t"],[3751,0,"e"],[3752,0,"{"],[3753,0,"D"],[3754,0,"a"],[3755,0,"v"],[3756,0,"i"],[3757,0,"s"],[3758,0,":"],[3759,0,"2"],[3760,0,"0"],[3761,0,"0"],[3762,0,"2"],[3763,0,"i"],[3764,0,"v"],[3765,0,","],[3766,0,"I"],[3767,0,"g"],[3768,0,"n"],[3769,0,"a"],[3770,0,"t"],[3771,0,":"],[3772,0,"2"],[3773,0,"0"],[3774,0,"0"],[3775,0,"3"],[3776,0,"j"],[3777,0,"y"],[3778,0,","],[3779,0,"W"],[3780,0,"l"],[3781,0,"i"],[3782,0,"s"],[3783,0,"t"],[3784,0,"s"],[3785,0,","],[3786,0," "],[3787,0,"b"],[3788,0,"u"],[3789,0,"t"],[3790,0," "],[3791,0,"t"],[3792,0,"h"],[3793,0,"e"],[3794,0,"s"],[3795,0,"e"],[3796,0," "],[3797,0,"a"],[3798,0,"l"],[3799,0,"g"],[3800,0,"o"],[3801,0,"r"],[3802,0,"i"],[3803,0,"t"],[3804,0,"h"],[3805,0,"m"],[3806,0,"s"],[3807,0," "],[3808,0,"d"],[3809,0,"o"],[3810,0," "],[3811,0,"n"],[3812,0,"o"],[3813,0,"t"],[3814,0," "],[3815,0,"s"],[3816,0,"u"],[3817,0,"p"],[3818,0,"p"],[3819,0,"o"],[3820,0,"r"],[3821,0,"t"],[3822,0," "],[3823,0,"k"],[3824,0,"e"],[3825,0,"y"],[3826,0,"-"],[3827,0,"v"],[3828,0,"e"],[3829,0,"d"],[3830,0," "],[3831,0,"O"],[3832,0,"T"],[3833,0," "],[3834,0,"c"],[3835,0,"o"],[3836,0,"l"],[3837,0,"l"],[3838,0,"a"],[3839,0,"b"],[3840,0,"o"],[3841,0,"r"],[3842,0,"a"],[3843,0,"t"],[3844,0,"i"],[3845,0,"o"],[3846,0,"n"],[3847,0," "],[3848,0,"s"],[3849,0,"y"],[3850,0,"s"],[3851,0,"t"],[3852,0,"e"],[3853,0,"m"],[3854,0,"s"],[3855,0,","],[3856,0," "],[3857,0,"i"],[3858,0,"n"],[3859,0,"c"],[3860,0,"l"],[3861,0,"u"],[3862,0,"d"],[3863,0,"i"],[3864,0,"n"],[3865,0,"g"],[3866,0," "],[3867,0,"G"],[3868,0,"o"],[3869,0,"o"],[3870,0,"g"],[3871,0,"l"],[3872,0,"e"],[3873,0," "],[3874,0,"D"],[3875,0,"o"],[3876,0,"c"],[3877,0,"s"],[3878,0,"~"],[3879,0,"\\"],[3880,0,"c"],[3881,0,"i"],[3882,0,"t"],[3883,0,"e"],[3884,0,"{"],[3885,0,"D"],[3886,0,"a"],[3887,0,"y"],[3888,0,"R"],[3889,0,"i"],[3890,0,"c"],[3891,0,"h"],[3892,0,"{"],[3893,0,"S"],[3894,0,"p"],[3895,0,"i"],[3896,0,"e"],[3897,0,"w"],[3898,0,"a"],[3899,0,"k"],[3900,0,":"],[3901,0,"2"],[3902,0,"0"],[3903,0,"1"],[3904,0,"0"],[3905,0,"v"],[3906,0,"w"],[3907,0,"}"],[3908,0," "],[3909,0,"a"],[3910,0,"n"],[3911,0,"d"],[3912,0," "],[3913,0,"A"],[3914,0,"p"],[3915,0,"a"],[3916,0,"c"],[3917,0,"h"],[3918,0,"e"],[3919,0," "],[3920,0,"W"],[3921,0,"a"],[3922,0,"v"],[3923,0,"e"],[3924,0," "],[3925,0,"("],[3926,0,"f"],[3927,0,"o"],[3928,0,"r"],[3929,0,"m"],[3930,0,"e"],[3931,0,"r"],[3932,0,"l"],[3933,0,"y"],[3934,0," "],[3935,0,"G"],[3936,0,"o"],[3937,0,"o"],[3938,0,"g"],[3939,0,"l"],[3940,0,"e"],[3941,0," "],[3942,0,"W"],[3943,0,"a"],[3944,0,"v"],[3945,0,"e"],[3946,0,"~"],[3947,0,"\\"],[3948,0,"c"],[3949,0,"i"],[3950,0,"t"],[3951,0,"e"],[3952,0,"{"],[3953,0,"W"],[3954,0,"a"],[3955,0,"n"],[3956,0,"n"],[3957,0,"g"],[3958,0," "],[3959,0,"o"],[3960,0,"f"],[3961,0," "],[3962,0,"o"],[3963,0,"p"],[3964,0,"e"],[3965,0,"r"],[3966,0,"a"],[3967,0,"t"],[3968,0,"i"],[3969,0,"o"],[3970,0,"n"],[3971,0,"s"],[3972,0,"~"],[3973,0,"\\"],[3974,0,"c"],[3975,0,"i"],[3976,0,"t"],[3977,0,"e"],[3978,0,"{"],[3979,0,"L"],[3980,0,"e"],[3981,0,"m"],[3982,0,"o"],[3983,0,"n"],[3984,0,"i"],[3985,0,"k"],[3986,0,":"],[3987,0,"2"],[3988,0,"0"],[3989,0,"1"],[3990,0,"6"],[3991,0,"w"],[3992,0,"h"],[3993,0,"}"],[3994,0,","],[3995,0," "],[3996,0,"a"],[3997,0," "],[3998,0,"d"],[3999,0,"e"],[4000,0,"s"],[4001,0,"i"],[4002,0,"g"],[4003,0,"n"],[4004,0," "],[4005,0,"d"],[4006,0,"e"],[4007,0,"c"],[4008,0,"i"],[4009,0,"s"],[4010,0,"i"],[4011,0,"o"],[4012,0,"n"],[4013,0," "],[4014,0,"i"],[4015,0,"n"],[4016,0,"h"],[4017,0,"e"],[4018,0,"r"],[4019,0,"i"],[4020,0,"h"],[4021,0," "],[4022,0,"h"],[4023,0,"a"],[4024,0,"s"],[4025,0," "],[4026,0,"t"],[4027,0,"h"],[4028,0,"e"],[4029,0," "],[4030,0,"a"],[4031,0,"d"],[4032,0,"v"],[4033,0,"a"],[4034,0,"n"],[4035,0,"t"],[4036,0,"a"],[4037,0,"g"],[4038,0,"e"],[4039,0," "],[4040,0,"o"],[4041,0,"f"],[4042,0," "],[4043,0,"m"],[4044,0,"a"],[4045,0,"k"],[4046,0,"i"],[4047,0,"n"],[4048,0,"g"],[4049,0," "],[4050,0,"t"],[4051,0,"h"],[4052,0,"e"],[4053,0," "],[4054,0,"t"],[4055,0,"r"],[4056,0,"a"],[4057,0,"n"],[4058,0,"s"],[4059,0,"f"],[4060,0,"o"],[4061,0,"r"],[4062,0,"m"],[4063,0,"a"],[4064,0,"t"],[4065,0,"i"],[4066,0,"o"],[4067,0,"n"],[4068,0," "],[4069,0,"f"],[4070,0,"u"],[4071,0,"n"],[4072,0,"c"],[4073,0,"t"],[4074,0,"i"],[4075,0,"o"],[4076,0,"n"],[4077,0,"s"],[4078,0," "],[4079,0,"s"],[4080,0,"i"],[4081,0,"m"],[4082,0,"p"],[4083,0,"l"],[4084,0,"e"],[4085,0,"t"],[4086,0," "],[4087,0,"o"],[4088,0,"u"],[4089,0,"r"],[4090,0," "],[4091,0,"r"],[4092,0,"e"],[4093,0,"q"],[4094,0,"u"],[4095,0,"i"],[4096,0,"r"],[4097,0,"e"],[4098,0,"m"],[4099,0,"e"],[4100,0,"n"],[4101,0,"t"],[4102,0,"s"],[4103,0,","],[4104,0," "],[4105,0,"s"],[4106,0,"i"],[4107,0,"n"],[4108,0,"c"],[4109,0,"e"],[4110,0," "],[4111,0,"w"],[4112,0,"e"],[4113,0," "],[4114,0,"w"],[4115,0,"a"],[4116,0,"n"],[4117,0,"t"],[4118,0," "],[4119,0,"t"],[4120,0,"o"],[4121,0," "],[4122,0,"s"],[4123,0,"u"],[4124,0,"p"],[4125,0,"p"],[4126,0,"o"],[4127,0,"r"],[4128,0,"t"],[4129,0," "],[4130,0,"p"],[4131,0,"e"],[4132,0,"e"],[4133,0,"r"],[4134,0,"-"],[4135,0,"t"],[4136,0,"o"],[4137,0,"-"],[4138,0,"p"],[4139,0,"e"],[4140,0,"e"],[4141,0,"r"],[4142,0," "],[4143,0,"c"],[4144,0,"o"],[4145,0,"l"],[4146,0,"l"],[4147,0,"a"],[4148,0,"n"],[4149,0,"g"],[4150,0," "],[4151,0,"p"],[4152,0,"r"],[4153,0,"o"],[4154,0,"t"],[4155,0,"o"],[4156,0,"c"],[4157,0,"o"],[4158,0,"l"],[4159,0,"s"],[4160,0,","],[4161,0," "],[4162,0,"w"],[4163,0,"h"],[4164,0,"i"],[4165,0,"c"],[4166,0,"h"],[4167,0," "],[4168,0,"w"],[4169,0,"e"],[4170,0," "],[4171,0,"p"],[4172,0,"l"],[4173,0,"a"],[4174,0,"n"],[4175,0," "],[4176,0,"t"],[4177,0,"o"],[4178,0," "],[4179,0,"u"],[4180,0,"s"],[4181,0,"e"],[4182,0," "],[4183,0,"f"],[4184,0,"o"],[4185,0,"r"],[4186,0," "],[4187,0,"e"],[4188,0,"n"],[4189,0,"c"],[4190,0,"r"],[4191,0,"y"],[4192,0,"p"],[4193,0,"t"],[4194,0,"e"],[4195,0,"d"],[4196,0," "],[4197,0,"c"],[4198,0,"o"],[4199,0,"l"],[4200,0,"l"],[4201,0,"a"],[4202,0,"b"],[4203,0,"o"],[4204,0,"r"],[4205,0,"a"],[4206,0,"t"],[4207,0,"i"],[4208,0,"o"],[4209,0,"n"],[4210,0,","],[4211,0," "],[4212,0,"d"],[4213,0,"o"],[4214,0," "],[4215,0,"n"],[4216,0,"o"],[4217,0,"t"],[4218,0," "],[4219,0,"g"],[4220,0,"u"],[4221,0,"a"],[4222,0,"r"],[4223,0,"a"],[4224,0,"n"],[4225,0,"t"],[4226,0,"e"],[4227,0,"e"],[4228,0," "],[4229,0,"t"],[4230,0,"h"],[4231,0,"e"],[4232,0," "],[4233,0,"s"],[4234,0,"a"],[4235,0,"m"],[4236,0,"e"],[4237,0," "],[4238,0,"o"],[4239,0,"r"],[4240,0,"d"],[4241,0,"e"],[4242,0,"r"],[4243,0,"~"],[4244,0,"\\"],[4245,0,"c"],[4246,0,"i"],[4247,0,"t"],[4248,0,"e"],[4249,0,"{"],[4250,0,"U"],[4251,0,"n"],[4252,0,"g"],[4253,0,"e"],[4254,0,"r"],[4255,0,":"],[4256,0,"2"],[4257,0,"0"],[4258,0,"1"],[4259,0,"5"],[4260,0,"k"],[4261,0,"g"],[4262,0,"}"],[4263,0,"."],[4264,0," "],[4265,0,"A"],[4266,0,"l"],[4267,0,"t"],[4268,0,"h"],[4269,0,"o"],[4270,0,"u"],[4271,0,"g"],[4272,0,"h"],[4273,0," "],[4274,0,"i"],[4275,0,"t"],[4276,0," "],[4277,0,"i"],[4278,0,"s"],[4279,0," "],[4280,0,"p"],[4281,0,"o"],[4282,0,"s"],[4283,0,"s"],[4284,0,"i"],[4285,0,"b"],[4286,0,"l"],[4287,0,"e"],[4288,0," "],[4289,0,"t"],[4290,0,"o"],[4291,0," "],[4292,0,"d"],[4293,0,"c"],[4294,0,"a"],[4295,0,"s"],[4296,0,"t"],[4297,0," "],[4298,0,"p"],[4299,0,"r"],[4300,0,"o"],[4301,0,"t"],[4302,0,"o"],[4303,0,"c"],[4304,0,"o"],[4305,0,"l"],[4306,0,"~"],[4307,0,"\\"],[4308,0,"c"],[4309,0,"i"],[4310,0,"t"],[4311,0,"e"],[4312,0,"{"],[4313,0,"D"],[4314,0,"e"],[4315,0,"f"],[4316,0,"a"],[4317,0,"g"],[4318,0,"o"],[4319,0,":"],[4320,0,"2"],[4321,0,"0"],[4322,0,"0"],[4323,0,"4"],[4324,0,"j"],[4325,0,"i"],[4326,0,"}"],[4327,0,","],[4328,0," "],[4329,0,"w"],[4330,0,"h"],[4331,0,"i"],[4332,0,"c"],[4333,0,"h"],[4334,0," "],[4335,0,"a"],[4336,0,"v"],[4337,0,"o"],[4338,0,"i"],[4339,0,"d"],[4340,0,"s"],[4341,0," "],[4342,0,"r"],[4343,0,"e"],[4344,0,"l"],[4345,0,"y"],[4346,0,"i"],[4347,0,"n"],[4348,0,"g"],[4349,0," "],[4350,0,"o"],[4351,0,"n"],[4352,0," "],[4353,0,"a"],[4354,0," "],[4355,0,"s"],[4356,0,"C"],[4357,0,"h"],[4358,0,"a"],[4359,0,"n"],[4360,0,"d"],[4361,0,"r"],[4362,0,"a"],[4363,0,":"],[4364,0,"1"],[4365,0,"9"],[4366,0,"9"],[4367,0,"6"],[4368,0,"c"],[4369,0,"p"],[4370,0,"}"],[4371,0,","],[4372,0," "],[4373,0,"s"],[4374,0,"o"],[4375,0," "],[4376,0,"t"],[4377,0,"h"],[4378,0,"e"],[4379,0,"y"],[4380,0," "],[4381,0,"c"],[4382,0,"a"],[4383,0,"n"],[4384,0," "],[4385,0,"o"],[4386,0,"n"],[4387,0,"l"],[4388,0,"y"],[4389,0," "],[4390,0,"s"],[4391,0,"a"],[4392,0,"f"],[4393,0,"e"],[4394,0,"l"],[4395,0,"y"],[4396,0," "],[4397,0,"m"],[4398,0,"a"],[4399,0,"k"],[4400,0,"e"],[4401,0," "],[4402,0,"p"],[4403,0,"r"],[4404,0,"o"],[4405,0,"g"],[4406,0,"r"],[4407,0,"e"],[4408,0,"s"],[4409,0,"s"],[4410,0," "],[4411,0,"i"],[4412,0,"f"],[4413,0," "],[4414,0,"a"],[4415,0," "],[4416,0,"m"],[4417,0,"a"],[4418,0,"j"],[4419,0,"o"],[4420,0,"n"],[4421,0," "],[4422,0,"p"],[4423,0,"e"],[4424,0,"e"],[4425,0,"r"],[4426,0,"-"],[4427,0,"t"],[4428,0,"o"],[4429,0,"-"],[4430,0,"p"],[4431,0,"e"],[4432,0,"e"],[4433,0,"r"],[4434,0," "],[4435,0,"s"],[4436,0,"y"],[4437,0,"s"],[4438,0,"t"],[4439,0,"e"],[4440,0,"m"],[4441,0,"s"],[4442,0," "],[4443,0,"o"],[4444,0,"f"],[4445,0," "],[4446,0,"m"],[4447,0,"o"],[4448,0,"b"],[4449,0,"i"],[4450,0,"l"],[4451,0,"e"],[4452,0," "],[4453,0,"d"],[4454,0,"e"],[4455,0,"v"],[4456,0,"i"],[4457,0,"c"],[4458,0,"e"],[4459,0,"s"],[4460,0," "],[4461,0,"i"],[4462,0,"t"],[4463,0," "],[4464,0,"w"],[4465,0,"i"],[4466,0,"l"],[4467,0,"l"],[4468,0," "],[4469,0,"f"],[4470,0,"r"],[4471,0,"e"],[4472,0,"q"],[4473,0,"u"],[4474,0,"e"],[4475,0,"n"],[4476,0,"t"],[4477,0,"l"],[4478,0,"y"],[4479,0," "],[4480,0,"b"],[4481,0,"e"],[4482,0," "],[4483,0,"t"],[4484,0,"a"],[4485,0,"m"],[4486,0,"e"],[4487,0," "],[4488,0,"t"],[4489,0,"i"],[4490,0,"m"],[4491,0,"e"],[4492,0,","],[4493,0," "],[4494,0,"a"],[4495,0,"n"],[4496,0,"d"],[4497,0," "],[4498,0,"s"],[4499,0,"o"],[4500,0," "],[4501,0,"a"],[4502,0,"n"],[4503,0,"y"],[4504,0," "],[4505,0,"a"],[4506,0,"l"],[4507,0,"g"],[4508,0,"o"],[4509,0,"r"],[4510,0,"i"],[4511,0,"t"],[4512,0,"h"],[4513,0,"m"],[4514,0," "],[4515,0,"r"],[4516,0,"b"],[4517,0,"e"],[4518,0,"c"],[4519,0,"o"],[4520,0,"m"],[4521,0,"e"],[4522,0," "],[4523,0,"u"],[4524,0,"n"],[4525,0,"a"],[4526,0,"v"],[4527,0,"a"],[4528,0,"i"],[4529,0,"l"],[4530,0,"a"],[4531,0,"b"],[4532,0,"l"],[4533,0,"e"],[4534,0,"."],[4535,0," "],[4536,0,"T"],[4537,0,"h"],[4538,0,"e"],[4539,0," "],[4540,0,"s"],[4541,0,"t"],[4542,0,"r"],[4543,0,"o"],[4544,0,"n"],[4545,0,"g"],[4546,0,"e"],[4547,0,"s"],[4548,0,"t"],[4549,0," "],[4550,0,"g"],[4551,0,"u"],[4552,0,"a"],[4553,0,"r"],[4554,0,"a"],[4555,0,"r"],[4556,0,"a"],[4557,0,"n"],[4558,0,"t"],[4559,0,"e"],[4560,0,"e"],[4561,0," "],[4562,0,"s"],[4563,0,"u"],[4564,0,"c"],[4565,0,"h"],[4566,0," "],[4567,0,"a"],[4568,0," "],[4569,0,"s"],[4570,0,"y"],[4571,0,"s"],[4572,0,"t"],[4573,0,"e"],[4574,0,"m"],[4575,0," "],[4576,0,"c"],[4577,0,"a"],[4578,0,"n"],[4579,0," "],[4580,0,"m"],[4581,0,"e"],[4582,0," "],[4583,0,"A"],[4584,0,"P"],[4585,0,"I"],[4586,0,"~"],[4587,0,"\\"],[4588,0,"c"],[4589,0,"i"],[4590,0,"t"],[4591,0,"e"],[4592,0,"{"],[4593,0,"G"],[4594,0,"o"],[4595,0,"o"],[4596,0,"g"],[4597,0,"l"],[4598,0,"e"],[4599,0,":"],[4600,0,"2"],[4601,0,"0"],[4602,0,"1"],[4603,0,"5"],[4604,0,"v"],[4605,0,"k"],[4606,0,"}"],[4607,0," "],[4608,0,"i"],[4609,0,"s"],[4610,0," "],[4611,0,"t"],[4612,0,"h"],[4613,0,"e"],[4614,0," "],[4615,0,"o"],[4616,0,"n"],[4617,0,"l"],[4618,0,"y"],[4619,0," "],[4620,0,"i"],[4621,0,"m"],[4622,0,"p"],[4623,0,"l"],[4624,0,"e"],[4625,0,"m"],[4626,0,"e"],[4627,0,"n"],[4628,0,"t"],[4629,0,"a"],[4630,0,"t"],[4631,0,"i"],[4632,0,"o"],[4633,0,"n"],[4634,0," "],[4635,0,"o"],[4636,0,"f"],[4637,0," "],[4638,0,"O"],[4639,0,"T"],[4640,0," "],[4641,0,"o"],[4642,0,"f"],[4643,0," "],[4644,0,"w"],[4645,0,"h"],[4646,0,"i"],[4647,0,"c"],[4648,0,"h"],[4649,0," "],[4650,0,"w"],[4651,0,"e"],[4652,0," "],[4653,0,"a"],[4654,0,"w"],[4655,0,"a"],[4656,0,"r"],[4657,0,"e"],[4658,0," "],[4659,0,"t"],[4660,0,"h"],[4661,0,"a"],[4662,0,"t"],[4663,0," "],[4664,0,"s"],[4665,0,"u"],[4666,0,"p"],[4667,0,"p"],[4668,0,"o"],[4669,0,"r"],[4670,0,"t"],[4671,0,"s"],[4672,0," "],[4673,0,"a"],[4674,0,"r"],[4675,0,"b"],[4676,0,"i"],[4677,0,"t"],[4678,0,"r"],[4679,0,"a"],[4680,0,"r"],[4681,0,"y"],[4682,0," "],[4683,0,"n"],[4684,0,"e"],[4685,0,"s"],[4686,0,"t"],[4687,0,"i"],[4688,0,"n"],[4689,0,"g"],[4690,0," "],[4691,0,"o"],[4692,0,"f"],[4693,0," "],[4694,0,"l"],[4695,0,"i"],[4696,0,"s"],[4697,0,"t"],[4698,0,"s"],[4699,0," "],[4700,0,"a"],[4701,0,"n"],[4702,0,"d"],[4703,0," "],[4704,0,"m"],[4705,0,"a"],[4706,0,"p"],[4707,0,"s"],[4708,0,"."],[4709,0," "],[4710,0,"L"],[4711,0,"i"],[4712,0,"k"],[4713,0,"e"],[4714,0," "],[4715,0,"G"],[4716,0,"o"],[4717,0,"o"],[4718,0,"g"],[4719,0,"l"],[4720,0,"e"],[4721,0," "],[4722,0,"D"],[4723,0,"o"],[4724,0,"c"],[4725,0,"s"],[4726,0,","],[4727,0," "],[4728,0,"i"],[4729,0,"t"],[4730,0," "],[4731,0,"r"],[4732,0,"e"],[4733,0,"l"],[4734,0,"i"],[4735,0,"e"],[4736,0,"s"],[4737,0," "],[4738,0,"o"],[4739,0,"n"],[4740,0," "],[4741,0,"a"],[4742,0," "],[4743,0,"s"],[4744,0,"i"],[4745,0,"n"],[4746,0,"g"],[4747,0,"l"],[4748,0,"e"],[4749,0," "],[4750,0,"s"],[4751,0,"e"],[4752,0,"r"],[4753,0,"v"],[4754,0,"e"],[4755,0,"r"],[4756,0,"~"],[4757,0,"\\"],[4758,0,"c"],[4759,0,"i"],[4760,0,"t"],[4761,0,"e"],[4762,0,"{"],[4763,0,"L"],[4764,0,"e"],[4765,0,"m"],[4766,0,"o"],[4767,0,"n"],[4768,0,"i"],[4769,0,"k"],[4770,0,":"],[4771,0,"2"],[4772,0,"0"],[4773,0,"1"],[4774,0,"6"],[4775,0,"w"],[4776,0,"h"],[4777,0,"}"],[4778,0,"."],[4779,0," "],[4780,0,"A"],[4781,0,"s"],[4782,0," "],[4783,0,"a"],[4784,0," "],[4785,0,"p"],[4786,0,"r"],[4787,0,"o"],[4788,0,"p"],[4789,0,"r"],[4790,0,"i"],[4791,0,"e"],[4792,0,"t"],[4793,0,"a"],[4794,0,"r"],[4795,0,"y"],[4796,0," "],[4797,0,"p"],[4798,0,"r"],[4799,0,"o"],[4800,0,"d"],[4801,0,"u"],[4802,0,"c"],[4803,0,"t"],[4804,0,","],[4805,0," "],[4806,0,"d"],[4807,0,"e"],[4808,0,"t"],[4809,0,"a"],[4810,0,"i"],[4811,0,"l"],[4812,0,"s"],[4813,0," "],[4814,0,"o"],[4815,0,"f"],[4816,0," "],[4817,0,"i"],[4818,0,"t"],[4819,0,"s"],[4820,0," "],[4821,0,"a"],[4822,0,"l"],[4823,0,"g"],[4824,0,"o"],[4825,0,"r"],[4826,0,"i"],[4827,0,"t"],[4828,0,"h"],[4829,0,"m"],[4830,0,"s"],[4831,0," "],[4832,0,"h"],[4833,0,"a"],[4834,0,"v"],[4835,0,"e"],[4836,0," "],[4837,0,"n"],[4838,0,"o"],[4839,0,"t"],[4840,0," "],[4841,0,"b"],[4842,0,"e"],[4843,0,"e"],[4844,0,"n"],[4845,0," "],[4846,0,"p"],[4847,0,"u"],[4848,0,"b"],[4849,0,"l"],[4850,0,"i"],[4851,0,"s"],[4852,0,"h"],[4853,0,"e"],[4854,0,"d"],[4855,0,"."],[4855,1],[4854,1],[4853,1],[4852,1],[4851,1],[4850,1],[4849,1],[4848,1],[4847,1],[4846,1],[4845,1],[4844,1],[4843,1],[4842,1],[4841,1],[4840,1],[4839,1],[4838,1],[4837,1],[4836,1],[4835,1],[4834,1],[4833,1],[4832,1],[4831,1],[4830,1],[4829,1],[4828,1],[4827,1],[4826,1],[4825,1],[4824,1],[4823,1],[4822,1],[4821,1],[4820,1],[4819,1],[4818,1],[4817,1],[4816,1],[4815,1],[4814,1],[4813,1],[4812,1],[4811,1],[4810,1],[4809,1],[4808,1],[4807,1],[4806,1],[4805,1],[4804,1],[4803,1],[4802,1],[4801,1],[4800,1],[4799,1],[4798,1],[4797,1],[4796,1],[4795,1],[4794,1],[4793,1],[4792,1],[4791,1],[4790,1],[4789,1],[4788,1],[4787,1],[4786,1],[4785,1],[4784,1],[4783,1],[4782,1],[4781,1],[4780,1],[4779,1],[4778,1],[4777,1],[4776,1],[4775,1],[4774,1],[4773,1],[4772,1],[4771,1],[4770,1],[4769,1],[4768,1],[4767,1],[4766,1],[4765,1],[4764,1],[4763,1],[4762,1],[4761,1],[4760,1],[4759,1],[4758,1],[4757,1],[4756,1],[4755,1],[4754,1],[4753,1],[4752,1],[4751,1],[4750,1],[4749,1],[4748,1],[4747,1],[4746,1],[4745,1],[4744,1],[4743,1],[4742,1],[4741,1],[4740,1],[4739,1],[4738,1],[4737,1],[4736,1],[4735,1],[4734,1],[4733,1],[4732,1],[4731,1],[4730,1],[4729,1],[4728,1],[4727,1],[4726,1],[4725,1],[4724,1],[4723,1],[4722,1],[4721,1],[4720,1],[4719,1],[4718,1],[4717,1],[4716,1],[4715,1],[4714,1],[4713,1],[4712,1],[4711,1],[4710,1],[4709,1],[4708,1],[4707,1],[4706,1],[4705,1],[4704,1],[4703,1],[4702,1],[4701,1],[4700,1],[4699,1],[4698,1],[4697,1],[4696,1],[4695,1],[4694,1],[4693,1],[4692,1],[4691,1],[4690,1],[4689,1],[4688,1],[4687,1],[4686,1],[4685,1],[4684,1],[4683,1],[4682,1],[4681,1],[4680,1],[4679,1],[4678,1],[4677,1],[4676,1],[4675,1],[4674,1],[4673,1],[4672,1],[4671,1],[4670,1],[4669,1],[4668,1],[4667,1],[4666,1],[4665,1],[4664,1],[4663,1],[4662,1],[4661,1],[4660,1],[4659,1],[4658,1],[4657,1],[4656,1],[4655,1],[4654,1],[4653,1],[4652,1],[4651,1],[4650,1],[4649,1],[4648,1],[4647,1],[4646,1],[4645,1],[4644,1],[4643,1],[4642,1],[4641,1],[4640,1],[4639,1],[4638,1],[4637,1],[4636,1],[4635,1],[4634,1],[4633,1],[4632,1],[4631,1],[4630,1],[4629,1],[4628,1],[4627,1],[4626,1],[4625,1],[4624,1],[4623,1],[4622,1],[4621,1],[4620,1],[4619,1],[4618,1],[4617,1],[4616,1],[4615,1],[4614,1],[4613,1],[4612,1],[4611,1],[4610,1],[4609,1],[4608,1],[4607,1],[4606,1],[4605,1],[4604,1],[4603,1],[4602,1],[4601,1],[4600,1],[4599,1],[4598,1],[4597,1],[4596,1],[4595,1],[4594,1],[4593,1],[4592,1],[4591,1],[4590,1],[4589,1],[4588,1],[4587,1],[4586,1],[4585,1],[4584,1],[4583,1],[4582,1],[4581,1],[4580,1],[4579,1],[4578,1],[4577,1],[4576,1],[4575,1],[4574,1],[4573,1],[4572,1],[4571,1],[4570,1],[4569,1],[4568,1],[4567,1],[4566,1],[4565,1],[4564,1],[4563,1],[4562,1],[4561,1],[4560,1],[4559,1],[4558,1],[4557,1],[4556,1],[4555,1],[4554,1],[4553,1],[4552,1],[4551,1],[4550,1],[4549,1],[4548,1],[4547,1],[4546,1],[4545,1],[4544,1],[4543,1],[4542,1],[4541,1],[4540,1],[4539,1],[4538,1],[4537,1],[4536,1],[4535,1],[4534,1],[4533,1],[4532,1],[4531,1],[4530,1],[4529,1],[4528,1],[4527,1],[4526,1],[4525,1],[4524,1],[4523,1],[4522,1],[4521,1],[4520,1],[4519,1],[4518,1],[4517,1],[4516,1],[4515,1],[4514,1],[4513,1],[4512,1],[4511,1],[4510,1],[4509,1],[4508,1],[4507,1],[4506,1],[4505,1],[4504,1],[4503,1],[4502,1],[4501,1],[4500,1],[4499,1],[4498,1],[4497,1],[4496,1],[4495,1],[4494,1],[4493,1],[4492,1],[4491,1],[4490,1],[4489,1],[4488,1],[4487,1],[4486,1],[4485,1],[4484,1],[4483,1],[4482,1],[4481,1],[4480,1],[4479,1],[4478,1],[4477,1],[4476,1],[4475,1],[4474,1],[4473,1],[4472,1],[4471,1],[4470,1],[4469,1],[4468,1],[4467,1],[4466,1],[4465,1],[4464,1],[4463,1],[4462,1],[4461,1],[4460,1],[4459,1],[4458,1],[4457,1],[4456,1],[4455,1],[4454,1],[4453,1],[4452,1],[4451,1],[4450,1],[4449,1],[4448,1],[4447,1],[4446,1],[4445,1],[4444,1],[4443,1],[4442,1],[4441,1],[4440,1],[4439,1],[4438,1],[4437,1],[4436,1],[4435,1],[4434,1],[4433,1],[4432,1],[4431,1],[4430,1],[4429,1],[4428,1],[4427,1],[4426,1],[4425,1],[4424,1],[4423,1],[4422,1],[4421,1],[4420,1],[4419,1],[4418,1],[4417,1],[4416,1],[4415,1],[4414,1],[4413,1],[4412,1],[4411,1],[4410,1],[4409,1],[4408,1],[4407,1],[4406,1],[4405,1],[4404,1],[4403,1],[4402,1],[4401,1],[4400,1],[4399,1],[4398,1],[4397,1],[4396,1],[4395,1],[4394,1],[4393,1],[4392,1],[4391,1],[4390,1],[4389,1],[4388,1],[4387,1],[4386,1],[4385,1],[4384,1],[4383,1],[4382,1],[4381,1],[4380,1],[4379,1],[4378,1],[4377,1],[4376,1],[4375,1],[4374,1],[4373,1],[4372,1],[4371,1],[4370,1],[4369,1],[4368,1],[4367,1],[4366,1],[4365,1],[4364,1],[4363,1],[4362,1],[4361,1],[4360,1],[4359,1],[4358,1],[4357,1],[4356,1],[4355,1],[4354,1],[4353,1],[4352,1],[4351,1],[4350,1],[4349,1],[4348,1],[4347,1],[4346,1],[4345,1],[4344,1],[4343,1],[4342,1],[4341,1],[4340,1],[4339,1],[4338,1],[4337,1],[4336,1],[4335,1],[4334,1],[4333,1],[4332,1],[4331,1],[4330,1],[4329,1],[4328,1],[4327,1],[4326,1],[4325,1],[4324,1],[4323,1],[4322,1],[4321,1],[4320,1],[4319,1],[4318,1],[4317,1],[4316,1],[4315,1],[4314,1],[4313,1],[4312,1],[4311,1],[4310,1],[4309,1],[4308,1],[4307,1],[4306,1],[4305,1],[4304,1],[4303,1],[4302,1],[4301,1],[4300,1],[4299,1],[4298,1],[4297,1],[4296,1],[4295,1],[4294,1],[4293,1],[4292,1],[4291,1],[4290,1],[4289,1],[4288,1],[4287,1],[4286,1],[4285,1],[4284,1],[4283,1],[4282,1],[4281,1],[4280,1],[4279,1],[4278,1],[4277,1],[4276,1],[4275,1],[4274,1],[4273,1],[4272,1],[4271,1],[4270,1],[4269,1],[4268,1],[4267,1],[4266,1],[4265,1],[4264,1],[4263,1],[4262,1],[4261,1],[4260,1],[4259,1],[4258,1],[4257,1],[4256,1],[4255,1],[4254,1],[4253,1],[4252,1],[4251,1],[4250,1],[4249,1],[4248,1],[4247,1],[4246,1],[4245,1],[4244,1],[4243,1],[4242,1],[4241,1],[4240,1],[4239,1],[4238,1],[4237,1],[4236,1],[4235,1],[4234,1],[4233,1],[4232,1],[4231,1],[4230,1],[4229,1],[4228,1],[4227,1],[4226,1],[4225,1],[4224,1],[4223,1],[4222,1],[4221,1],[4220,1],[4219,1],[4218,1],[4217,1],[4216,1],[4215,1],[4214,1],[4213,1],[4212,1],[4211,1],[4210,1],[4209,1],[4208,1],[4207,1],[4206,1],[4205,1],[4204,1],[4203,1],[4202,1],[4201,1],[4200,1],[4199,1],[4198,1],[4197,1],[4196,1],[4195,1],[4194,1],[4193,1],[4192,1],[4191,1],[4190,1],[4189,1],[4188,1],[4187,1],[4186,1],[4185,1],[4184,1],[4183,1],[4182,1],[4181,1],[4180,1],[4179,1],[4178,1],[4177,1],[4176,1],[4175,1],[4174,1],[4173,1],[4172,1],[4171,1],[4170,1],[4169,1],[4168,1],[4167,1],[4166,1],[4165,1],[4164,1],[4163,1],[4162,1],[4161,1],[4160,1],[4159,1],[4158,1],[4157,1],[4156,1],[4155,1],[4154,1],[4153,1],[4152,1],[4151,1],[4150,1],[4149,1],[4148,1],[4147,1],[4146,1],[4145,1],[4144,1],[4143,1],[4142,1],[4141,1],[4140,1],[4139,1],[4138,1],[4137,1],[4136,1],[4135,1],[4134,1],[4133,1],[4132,1],[4131,1],[4130,1],[4129,1],[4128,1],[4127,1],[4126,1],[4125,1],[4124,1],[4123,1],[4122,1],[4121,1],[4120,1],[4119,1],[4118,1],[4117,1],[4116,1],[4115,1],[4114,1],[4113,1],[4112,1],[4111,1],[4110,1],[4109,1],[4108,1],[4107,1],[4106,1],[4105,1],[4104,1],[4103,1],[4102,1],[4101,1],[4100,1],[4099,1],[4098,1],[4097,1],[4096,1],[4095,1],[4094,1],[4093,1],[4092,1],[4091,1],[4090,1],[4089,1],[4088,1],[4087,1],[4086,1],[4085,1],[4084,1],[4083,1],[4082,1],[4081,1],[4080,1],[4079,1],[4078,1],[4077,1],[4076,1],[4075,1],[4074,1],[4073,1],[4072,1],[4071,1],[4070,1],[4069,1],[4068,1],[4067,1],[4066,1],[4065,1],[4064,1],[4063,1],[4062,1],[4061,1],[4060,1],[4059,1],[4058,1],[4057,1],[4056,1],[4055,1],[4054,1],[4053,1],[4052,1],[4051,1],[4050,1],[4049,1],[4048,1],[4047,1],[4046,1],[4045,1],[4044,1],[4043,1],[4042,1],[4041,1],[4040,1],[4039,1],[4038,1],[4037,1],[4036,1],[4035,1],[4034,1],[4033,1],[4032,1],[4031,1],[4030,1],[4029,1],[4028,1],[4027,1],[4026,1],[4025,1],[4024,1],[4023,1],[4022,1],[4021,1],[4020,1],[4019,1],[4018,1],[4017,1],[4016,1],[4015,1],[4014,1],[4013,1],[4012,1],[4011,1],[4010,1],[4009,1],[4008,1],[4007,1],[4006,1],[4005,1],[4004,1],[4003,1],[4002,1],[4001,1],[4000,1],[3999,1],[3998,1],[3997,1],[3996,1],[3995,1],[3994,1],[3993,1],[3992,1],[3991,1],[3990,1],[3989,1],[3988,1],[3987,1],[3986,1],[3985,1],[3984,1],[3983,1],[3982,1],[3981,1],[3980,1],[3979,1],[3978,1],[3977,1],[3976,1],[3975,1],[3974,1],[3973,1],[3972,1],[3971,1],[3970,1],[3969,1],[3968,1],[3967,1],[3966,1],[3965,1],[3964,1],[3963,1],[3962,1],[3961,1],[3960,1],[3959,1],[3958,1],[3957,1],[3956,1],[3955,1],[3954,1],[3953,1],[3952,1],[3951,1],[3950,1],[3949,1],[3948,1],[3947,1],[3946,1],[3945,1],[3944,1],[3943,1],[3942,1],[3941,1],[3940,1],[3939,1],[3938,1],[3937,1],[3936,1],[3935,1],[3934,1],[3933,1],[3932,1],[3931,1],[3930,1],[3929,1],[3928,1],[3927,1],[3926,1],[3925,1],[3924,1],[3923,1],[3922,1],[3921,1],[3920,1],[3919,1],[3918,1],[3917,1],[3916,1],[3915,1],[3914,1],[3913,1],[3912,1],[3911,1],[3910,1],[3909,1],[3908,1],[3907,1],[3906,1],[3905,1],[3904,1],[3903,1],[3902,1],[3901,1],[3900,1],[3899,1],[3898,1],[3897,1],[3896,1],[3895,1],[3894,1],[3893,1],[3892,1],[3891,1],[3890,1],[3889,1],[3888,1],[3887,1],[3886,1],[3885,1],[3884,1],[3883,1],[3882,1],[3881,1],[3880,1],[3879,1],[3878,1],[3877,1],[3876,1],[3875,1],[3874,1],[3873,1],[3872,1],[3871,1],[3870,1],[3869,1],[3868,1],[3867,1],[3866,1],[3865,1],[3864,1],[3863,1],[3862,1],[3861,1],[3860,1],[3859,1],[3858,1],[3857,1],[3856,1],[3855,1],[3854,1],[3853,1],[3852,1],[3851,1],[3850,1],[3849,1],[3848,1],[3847,1],[3846,1],[3845,1],[3844,1],[3843,1],[3842,1],[3841,1],[3840,1],[3839,1],[3838,1],[3837,1],[3836,1],[3835,1],[3834,1],[3833,1],[3832,1],[3831,1],[3830,1],[3829,1],[3828,1],[3827,1],[3826,1],[3825,1],[3824,1],[3823,1],[3822,1],[3821,1],[3820,1],[3819,1],[3818,1],[3817,1],[3816,1],[3815,1],[3814,1],[3813,1],[3812,1],[3811,1],[3810,1],[3809,1],[3808,1],[3807,1],[3806,1],[3805,1],[3804,1],[3803,1],[3802,1],[3801,1],[3800,1],[3799,1],[3798,1],[3797,1],[3796,1],[3795,1],[3794,1],[3793,1],[3792,1],[3791,1],[3790,1],[3789,1],[3788,1],[3787,1],[3786,1],[3785,1],[3784,1],[3783,1],[3782,1],[3781,1],[3780,1],[3779,1],[3778,1],[3777,1],[3776,1],[3775,1],[3774,1],[3773,1],[3772,1],[3771,1],[3770,1],[3769,1],[3768,1],[3767,1],[3766,1],[3765,1],[3764,1],[3763,1],[3762,1],[3761,1],[3760,1],[3759,1],[3758,1],[3757,1],[3756,1],[3755,1],[3754,1],[3753,1],[3752,1],[3751,1],[3750,1],[3749,1],[3748,1],[3747,1],[3746,1],[3745,1],[3744,1],[3743,1],[3742,1],[3741,1],[3740,1],[3739,1],[3738,1],[3737,1],[3736,1],[3735,1],[3734,1],[3733,1],[3732,1],[3731,1],[3730,1],[3729,1],[3728,1],[3727,1],[3726,1],[3725,1],[3724,1],[3723,1],[3722,1],[3721,1],[3720,1],[3719,1],[3718,1],[3717,1],[3716,1],[3715,1],[3714,1],[3713,1],[3712,1],[3711,1],[3710,1],[3709,1],[3708,1],[3707,1],[3706,1],[3705,1],[3704,1],[3703,1],[3702,1],[3701,1],[3700,1],[3699,1],[3698,1],[3697,1],[3696,1],[3695,1],[3694,1],[3693,1],[3692,1],[3691,1],[3690,1],[3689,1],[3688,1],[3687,1],[3686,1],[3685,1],[3684,1],[3683,1],[3682,1],[3681,1],[3680,1],[3679,1],[3678,1],[3677,1],[3676,1],[3675,1],[3674,1],[3673,1],[3672,1],[3671,1],[3670,1],[3669,1],[3668,1],[3667,1],[3666,1],[3665,1],[3664,1],[3663,1],[3662,1],[3661,1],[3660,1],[3659,1],[3658,1],[3657,1],[3656,1],[3655,1],[3654,1],[3653,1],[3652,1],[3651,1],[3650,1],[3649,1],[3648,1],[3647,1],[3646,1],[3645,1],[3644,1],[3643,1],[3642,1],[3641,1],[3640,1],[3639,1],[3638,1],[3637,1],[3636,1],[3635,1],[3634,1],[3633,1],[3632,1],[3631,1],[3630,1],[3629,1],[3628,1],[3627,1],[3626,1],[3625,1],[3624,1],[3623,1],[3622,1],[3621,1],[3620,1],[3619,1],[3618,1],[3617,1],[3616,1],[3615,1],[3614,1],[3613,1],[3612,1],[3611,1],[3610,1],[3609,1],[3608,1],[3607,1],[3606,1],[3605,1],[3604,1],[3603,1],[3602,1],[3601,1],[3600,1],[3599,1],[3598,1],[3597,1],[3596,1],[3595,1],[3594,1],[3593,1],[3592,1],[3591,1],[3590,1],[3589,1],[3588,1],[3587,1],[3586,1],[3585,1],[3584,1],[3583,1],[3582,1],[3581,1],[3580,1],[3579,1],[3578,1],[3577,1],[3576,1],[3575,1],[3574,1],[3573,1],[3572,1],[3571,1],[3570,1],[3569,1],[3568,1],[3567,1],[3566,1],[3565,1],[3564,1],[3563,1],[3562,1],[3561,1],[3560,1],[3559,1],[3558,1],[3557,1],[3556,1],[3555,1],[3554,1],[3553,1],[3552,1],[3551,1],[3550,1],[3549,1],[3548,1],[3547,1],[3546,1],[3545,1],[3544,1],[3543,1],[3542,1],[3541,1],[3540,1],[3539,1],[3538,1],[3537,1],[3536,1],[3535,1],[3534,1],[3533,1],[3532,1],[3531,1],[3530,1],[3529,1],[3528,1],[3527,1],[3526,1],[3525,1],[3524,1],[3523,1],[3522,1],[3521,1],[3520,1],[3519,1],[3518,1],[3517,1],[3516,1],[3515,1],[3514,1],[3513,1],[3512,1],[3511,1],[3510,1],[3509,1],[3508,1],[3507,1],[3506,1],[3505,1],[3504,1],[3503,1],[3502,1],[3501,1],[3500,1],[3499,1],[3498,1],[3497,1],[3496,1],[3495,1],[3494,1],[3493,1],[3492,1],[3491,1],[3490,1],[3489,1],[3488,1],[3487,1],[3486,1],[3485,1],[3484,1],[3483,1],[3482,1],[3481,1],[3480,1],[3479,1],[3478,1],[3477,1],[3476,1],[3475,1],[3474,1],[3473,1],[3472,1],[3471,1],[3470,1],[3469,1],[3468,1],[3467,1],[3466,1],[3465,1],[3464,1],[3463,1],[3462,1],[3461,1],[3460,1],[3460,0,"\\"],[3461,0,"s"],[3462,0,"e"],[3463,0,"c"],[3464,0,"t"],[3465,0,"i"],[3466,0,"o"],[3467,0,"n"],[3468,0,"{"],[3469,0,"R"],[3470,0,"e"],[3471,0,"l"],[3472,0,"a"],[3473,0,"t"],[3474,0,"e"],[3475,0,"d"],[3476,0,"i"],[3477,0,"o"],[3478,0,"n"],[3479,0,"{"],[3480,0,"O"],[3481,0,"p"],[3482,0,"e"],[3483,0,"r"],[3484,0,"a"],[3485,0,"t"],[3486,0,"i"],[3487,0,"o"],[3488,0,"n"],[3489,0,"a"],[3490,0,"l"],[3491,0," "],[3492,0,"t"],[3493,0,"r"],[3494,0,"a"],[3495,0,"n"],[3496,0,"s"],[3497,0,"f"],[3498,0,"o"],[3499,0,"r"],[3500,0,"m"],[3501,0,"a"],[3502,0,"t"],[3503,0,"i"],[3504,0,"o"],[3505,0,"n"],[3506,0,"}"],[3507,0,"\\"],[3508,0,"s"],[3509,0," "],[3510,0,"b"],[3511,0,"a"],[3512,0,"s"],[3513,0,"e"],[3514,0,"d"],[3515,0," "],[3516,0,"o"],[3517,0,"n"],[3518,0," "],[3519,0,"\\"],[3520,0,"e"],[3521,0,"m"],[3522,0,"p"],[3523,0,"h"],[3524,0,"{"],[3525,0,"o"],[3526,0,"p"],[3527,0,"e"],[3528,0,"r"],[3529,0,"a"],[3530,0,"t"],[3531,0,"i"],[3532,0,"o"],[3533,0,"n"],[3534,0,"a"],[3535,0,"l"],[3536,0," "],[3537,0,"t"],[3538,0,"r"],[3539,0,"a"],[3540,0,"n"],[3541,0,"s"],[3542,0,"f"],[3543,0,"o"],[3544,0,"r"],[3545,0,"m"],[3546,0,"a"],[3547,0,"t"],[3548,0,"i"],[3549,0,"o"],[3550,0,"n"],[3551,0,"}"],[3552,0," "],[3553,0,"("],[3554,0,"O"],[3555,0,"T"],[3556,0,")"],[3557,0," "],[3558,0,"h"],[3559,0,"a"],[3560,0,"v"],[3561,0,"e"],[3562,0," "],[3563,0,"l"],[3564,0,"o"],[3565,0,"n"],[3566,0,"g"],[3567,0," "],[3568,0,"b"],[3569,0,"e"],[3570,0,"e"],[3571,0,"n"],[3572,0," "],[3573,0,"u"],[3574,0,"s"],[3575,0,"e"],[3576,0,"d"],[3577,0," "],[3578,0,"f"],[3579,0,"o"],[3580,0,"r"],[3581,0," "],[3582,0,"c"],[3583,0,"o"],[3584,0,"l"],[3585,0,"l"],[3586,0,"a"],[3587,0,"b"],[3588,0,"o"],[3589,0,"r"],[3590,0,"a"],[3591,0,"t"],[3592,0,"i"],[3593,0,"v"],[3594,0,"e"],[3595,0," "],[3596,0,"e"],[3597,0,"d"],[3598,0,"i"],[3599,0,"t"],[3600,0,"i"],[3601,0,"n"],[3602,0,"g"],[3603,0," "],[3604,0,"d"],[3605,0,"o"],[3606,0,"c"],[3607,0,"u"],[3608,0,"m"],[3609,0,"e"],[3610,0,"n"],[3611,0,"t"],[3612,0," "],[3613,0,"a"],[3614,0,"s"],[3615,0," "],[3616,0,"a"],[3617,0," "],[3618,0,"s"],[3619,0,"i"],[3620,0,"s"],[3621,0,","],[3622,0," "],[3623,0,"f"],[3624,0,"o"],[3625,0,"r"],[3626,0," "],[3627,0,"e"],[3628,0,"x"],[3629,0,"a"],[3630,0,"m"],[3631,0,"p"],[3632,0,"l"],[3633,0,"e"],[3634,0,")"],[3635,0," "],[3636,0,"a"],[3637,0,"n"],[3638,0,"d"],[3639,0," "],[3640,0,"d"],[3641,0,"o"],[3642,0," "],[3643,0,"n"],[3644,0,"o"],[3645,0,"t"],[3646,0," "],[3647,0,"s"],[3648,0,"u"],[3649,0,"p"],[3650,0,"p"],[3651,0,"o"],[3652,0,"r"],[3653,0,"t"],[3654,0," "],[3655,0,"t"],[3656,0,"h"],[3657,0,"e"],[3658,0," "],[3659,0,"n"],[3660,0,"e"],[3661,0,"s"],[3662,0,"t"],[3663,0,"e"],[3664,0,"d"],[3665,0," "],[3666,0,"t"],[3667,0,"r"],[3668,0,"e"],[3669,0,"e"],[3670,0," "],[3671,0,"s"],[3672,0,"t"],[3673,0,"r"],[3674,0,"u"],[3675,0,"c"],[3676,0,"t"],[3677,0,"u"],[3678,0,"r"],[3679,0,"e"],[3680,0,"s"],[3681,0," "],[3682,0,"t"],[3683,0,"h"],[3684,0,"a"],[3685,0,"t"],[3686,0," "],[3687,0,"a"],[3688,0,"r"],[3689,0,"e"],[3690,0," "],[3691,0,"r"],[3692,0,"e"],[3693,0,"q"],[3694,0,"u"],[3695,0,"i"],[3696,0,"r"],[3697,0,"e"],[3698,0,"d"],[3699,0," "],[3700,0,"c"],[3701,0,"i"],[3702,0,"t"],[3703,0,"e"],[3704,0,"{"],[3705,0,"D"],[3706,0,"a"],[3707,0,"v"],[3708,0,"i"],[3709,0,"s"],[3710,0,":"],[3711,0,"2"],[3712,0,"0"],[3713,0,"0"],[3714,0,"2"],[3715,0,"i"],[3716,0,"v"],[3717,0,","],[3718,0,"I"],[3719,0,"g"],[3720,0,"n"],[3721,0,"a"],[3722,0,"t"],[3723,0,":"],[3724,0,"2"],[3725,0,"0"],[3726,0,"0"],[3727,0,"3"],[3728,0,"j"],[3729,0,"y"],[3730,0,","],[3731,0,"W"],[3732,0,"a"],[3733,0,"n"],[3734,0,"g"],[3735,0,":"],[3736,0,"2"],[3737,0,"0"],[3738,0,"1"],[3739,0,"5"],[3740,0,"v"],[3741,0,"o"],[3742,0,"}"],[3743,0,","],[3744,0," "],[3745,0,"w"],[3746,0,"h"],[3747,0,"i"],[3748,0," "],[3749,0,"a"],[3750,0,"l"],[3751,0,"g"],[3752,0,"o"],[3753,0,"r"],[3754,0,"i"],[3755,0,"t"],[3756,0,"h"],[3757,0,"m"],[3758,0,"s"],[3759,0," "],[3760,0,"d"],[3761,0,"o"],[3762,0," "],[3763,0,"n"],[3764,0,"o"],[3765,0,"t"],[3766,0," "],[3767,0,"s"],[3768,0,"u"],[3769,0,"p"],[3770,0,"p"],[3771,0,"o"],[3772,0,"r"],[3773,0,"t"],[3774,0," "],[3775,0,"k"],[3776,0,"e"],[3777,0,"y"],[3778,0,"-"],[3779,0,"v"],[3780,0,"a"],[3781,0,"l"],[3782,0,"u"],[3783,0,"e"],[3784,0," "],[3785,0,"m"],[3786,0,"a"],[3787,0,"p"],[3788,0,"s"],[3789,0," "],[3790,0,"a"],[3791,0,"s"],[3792,0," "],[3793,0,"d"],[3794,0,"e"],[3795,0,"f"],[3796,0,"i"],[3797,0,"n"],[3798,0,"e"],[3799,0,"d"],[3800,0," "],[3801,0,"i"],[3802,0,"n"],[3803,0," "],[3804,0,"t"],[3805,0,"h"],[3806,0,"i"],[3807,0,"s"],[3808,0," "],[3809,0,"p"],[3810,0,"a"],[3811,0,"p"],[3812,0,"e"],[3813,0,"r"],[3814,0,"."],[3815,0,"\n"],[3816,0,"\n"],[3817,0,"\\"],[3818,0,"s"],[3819,0,"e"],[3820,0,"c"],[3821,0,"t"],[3822,0,"i"],[3823,0,"o"],[3824,0,"n"],[3825,0,"{"],[3826,0,"R"],[3827,0,"e"],[3828,0,"l"],[3829,0,"a"],[3830,0,"t"],[3831,0,"e"],[3832,0,"d"],[3833,0,"i"],[3834,0,"o"],[3835,0,"n"],[3836,0,"{"],[3837,0,"O"],[3838,0,"p"],[3839,0,"e"],[3840,0,"r"],[3841,0,"a"],[3842,0,"t"],[3843,0,"i"],[3844,0,"o"],[3845,0,"n"],[3846,0,"a"],[3847,0,"l"],[3848,0," "],[3849,0,"t"],[3850,0,"r"],[3851,0,"a"],[3852,0,"n"],[3853,0,"s"],[3854,0,"f"],[3855,0,"o"],[3856,0,"r"],[3857,0,"m"],[3858,0,"a"],[3859,0,"t"],[3860,0,"i"],[3861,0,"o"],[3862,0,"n"],[3863,0,"}"],[3864,0,"\\"],[3865,0,"l"],[3866,0,"a"],[3867,0,"b"],[3868,0,"e"],[3869,0,"l"],[3870,0,"{"],[3871,0,"s"],[3872,0,"e"],[3873,0,"c"],[3874,0,":"],[3875,0,"r"],[3876,0,"e"],[3877,0,"l"],[3878,0,"a"],[3879,0,"t"],[3880,0,"e"],[3881,0,")"],[3882,0," "],[3883,0,"h"],[3884,0,"a"],[3885,0,"v"],[3886,0,"e"],[3887,0," "],[3888,0,"l"],[3889,0,"o"],[3890,0,"n"],[3891,0,"g"],[3892,0," "],[3893,0,"b"],[3894,0,"e"],[3895,0,"e"],[3896,0,"n"],[3897,0," "],[3898,0,"u"],[3899,0,"s"],[3900,0,"e"],[3901,0,"d"],[3902,0," "],[3903,0,"f"],[3904,0,"o"],[3905,0,"r"],[3906,0," "],[3907,0,"c"],[3908,0,"o"],[3909,0,"l"],[3910,0,"l"],[3911,0,"a"],[3912,0,"b"],[3913,0,"o"],[3914,0,"r"],[3915,0,"a"],[3916,0,"t"],[3917,0,"i"],[3918,0,"v"],[3919,0,"e"],[3920,0," "],[3921,0,"e"],[3922,0,"d"],[3923,0,"i"],[3924,0,"t"],[3925,0,"i"],[3926,0,"n"],[3927,0,"g"],[3928,0," "],[3929,0,"s"],[3930,0,":"],[3931,0,"1"],[3932,0,"9"],[3933,0,"9"],[3934,0,"5"],[3935,0,"f"],[3936,0,"d"],[3937,0,"}"],[3938,0,"."],[3939,0," "],[3940,0,"M"],[3941,0,"o"],[3942,0,"s"],[3943,0,"t"],[3944,0," "],[3945,0,"o"],[3946,0,"f"],[3947,0," "],[3948,0,"t"],[3949,0,"h"],[3950,0,"e"],[3951,0,"m"],[3952,0," "],[3953,0,"t"],[3954,0,"r"],[3955,0,"e"],[3956,0,"a"],[3957,0,"t"],[3958,0," "],[3959,0,"a"],[3960,0," "],[3961,0,"d"],[3962,0,"o"],[3963,0,"c"],[3964,0,"u"],[3965,0,"m"],[3966,0,"e"],[3967,0,"n"],[3968,0,"t"],[3969,0," "],[3970,0,"a"],[3971,0,"s"],[3972,0," "],[3973,0,"a"],[3974,0," "],[3975,0,"s"],[3976,0,"i"],[3977,0,"a"],[3978,0,"n"],[3979,0,"d"],[3980,0," "],[3981,0,"d"],[3982,0,"o"],[3983,0," "],[3984,0,"n"],[3985,0,"o"],[3986,0,"t"],[3987,0," "],[3988,0,"s"],[3989,0,"u"],[3990,0,"p"],[3991,0,"p"],[3992,0,"o"],[3993,0,"r"],[3994,0,"t"],[3995,0," "],[3996,0,"t"],[3997,0,"h"],[3998,0,"e"],[3999,0," "],[4000,0,"n"],[4001,0,"e"],[4002,0,"s"],[4003,0,"t"],[4004,0,"e"],[4005,0,"d"],[4006,0," "],[4007,0,"t"],[4008,0,"r"],[4009,0,"e"],[4010,0,"e"],[4011,0," "],[4012,0,"s"],[4013,0,"t"],[4014,0,"r"],[4015,0,"u"],[4016,0,"c"],[4017,0,"t"],[4018,0,"u"],[4019,0,"r"],[4020,0,"e"],[4021,0,"s"],[4022,0," "],[4023,0,"t"],[4024,0,"h"],[4025,0,"a"],[4026,0,"t"],[4027,0," "],[4028,0,"a"],[4029,0,"r"],[4030,0,"e"],[4031,0," "],[4032,0,"r"],[4033,0,"e"],[4034,0,"q"],[4035,0,"u"],[4036,0,"i"],[4037,0,"r"],[4038,0,"e"],[4039,0,"d"],[4040,0," "],[4041,0,"f"],[4042,0,"o"],[4043,0,"r"],[4044,0," "],[4045,0,"m"],[4046,0,"a"],[4047,0,"n"],[4048,0,"y"],[4049,0," "],[4050,0,"a"],[4051,0,"p"],[4052,0,"p"],[4053,0,"l"],[4054,0,"i"],[4055,0,"c"],[4056,0,"a"],[4057,0,"t"],[4058,0,"i"],[4059,0,"o"],[4060,0,"n"],[4061,0,"s"],[4062,0,"."],[4063,0," "],[4064,0,"S"],[4065,0,"o"],[4066,0,"m"],[4067,0,"e"],[4068,0," "],[4069,0,"a"],[4070,0,"l"],[4071,0,"g"],[4072,0,"o"],[4073,0,"r"],[4074,0,"\n"],[4075,0,"i"],[4076,0,"t"],[4077,0,"h"],[4078,0,"m"],[4079,0,"s"],[4080,0," "],[4081,0,"g"],[4082,0,"e"],[4083,0,"n"],[4084,0,"e"],[4085,0,"r"],[4086,0,"a"],[4087,0,"l"],[4088,0,"i"],[4089,0,"z"],[4090,0,"e"],[4091,0," "],[4092,0,"O"],[4093,0,"T"],[4094,0," "],[4095,0,"t"],[4096,0,"o"],[4097,0," "],[4098,0,"e"],[4099,0,"d"],[4100,0,"i"],[4101,0,"t"],[4102,0,"i"],[4103,0,"n"],[4104,0,"g"],[4105,0," "],[4106,0,"X"],[4107,0,"M"],[4108,0,"L"],[4109,0," "],[4110,0,"d"],[4111,0,"o"],[4112,0,"c"],[4113,0,"u"],[4114,0,"m"],[4115,0,"e"],[4116,0,"n"],[4117,0,"t"],[4118,0,"s"],[4119,0,"~"],[4120,0,"\\"],[4121,0,"c"],[4122,0,"i"],[4123,0,"t"],[4124,0,"e"],[4125,0,"{"],[4126,0,"D"],[4127,0,"a"],[4128,0,"v"],[4129,0,"i"],[4130,0,"s"],[4131,0,":"],[4132,0,"2"],[4133,0,"0"],[4134,0,"0"],[4135,0,"2"],[4136,0,"i"],[4137,0,"v"],[4138,0,","],[4139,0,"I"],[4140,0,"g"],[4141,0,"n"],[4142,0,"a"],[4143,0,"t"],[4144,0,":"],[4145,0,"2"],[4146,0,"0"],[4147,0,"0"],[4148,0,"3"],[4149,0,"j"],[4150,0,"y"],[4151,0,","],[4152,0,"W"],[4153,0,"a"],[4154,0,"n"],[4155,0,"g"],[4156,0,":"],[4157,0,"2"],[4158,0,"0"],[4159,0,"1"],[4160,0,"5"],[4161,0,"v"],[4162,0,"o"],[4163,0,"}"],[4164,0,","],[4165,0," "],[4166,0,"w"],[4167,0,"h"],[4168,0,"i"],[4169,0,"c"],[4170,0,"h"],[4171,0," "],[4172,0,"p"],[4173,0,"r"],[4174,0,"o"],[4175,0,"v"],[4176,0,"i"],[4177,0,"d"],[4178,0,"e"],[4179,0,"s"],[4180,0," "],[4181,0,"n"],[4182,0,"e"],[4183,0,"s"],[4184,0,"t"],[4185,0,"i"],[4186,0,"n"],[4187,0,"g"],[4188,0," "],[4189,0,"o"],[4190,0,"f"],[4191,0," "],[4192,0,"o"],[4193,0,"r"],[4194,0,"d"],[4195,0,"\n"],[4196,0,"e"],[4197,0,"r"],[4198,0,"e"],[4199,0,"d"],[4200,0," "],[4201,0,"l"],[4202,0,"i"],[4203,0,"s"],[4204,0,"t"],[4205,0,"s"],[4206,0,","],[4207,0," "],[4208,0,"b"],[4209,0,"u"],[4210,0,"t"],[4211,0," "],[4212,0,"t"],[4213,0,"h"],[4214,0,"e"],[4215,0,"s"],[4216,0,"e"],[4217,0," "],[4218,0,"a"],[4219,0,"l"],[4220,0,"g"],[4221,0,"o"],[4222,0,"r"],[4223,0,"i"],[4224,0,"t"],[4225,0,"h"],[4226,0,"m"],[4227,0,"s"],[4228,0," "],[4229,0,"d"],[4230,0,"o"],[4231,0," "],[4232,0,"n"],[4233,0,"o"],[4234,0,"t"],[4235,0," "],[4236,0,"s"],[4237,0,"u"],[4238,0,"p"],[4239,0,"p"],[4240,0,"o"],[4241,0,"r"],[4242,0,"t"],[4243,0," "],[4244,0,"k"],[4245,0,"e"],[4246,0,"y"],[4247,0,"-"],[4248,0,"v"],[4249,0,"a"],[4250,0,"l"],[4251,0,"u"],[4252,0,"e"],[4253,0," "],[4254,0,"m"],[4255,0,"a"],[4256,0,"p"],[4257,0,"s"],[4258,0," "],[4259,0,"a"],[4260,0,"s"],[4261,0," "],[4262,0,"d"],[4263,0,"e"],[4264,0,"f"],[4265,0,"i"],[4266,0,"n"],[4267,0,"e"],[4268,0,"d"],[4269,0," "],[4270,0,"i"],[4271,0,"n"],[4272,0," "],[4273,0,"t"],[4274,0,"h"],[4275,0,"i"],[4276,0,"s"],[4277,0," "],[4278,0,"p"],[4279,0,"a"],[4280,0,"p"],[4281,0,"e"],[4282,0,"r"],[4283,0,"."],[3814,1],[3813,1],[3812,1],[3811,1],[3810,1],[3809,1],[3808,1],[3807,1],[3806,1],[3805,1],[3804,1],[3803,1],[3802,1],[3801,1],[3800,1],[3799,1],[3798,1],[3797,1],[3796,1],[3795,1],[3794,1],[3793,1],[3792,1],[3791,1],[3790,1],[3789,1],[3788,1],[3787,1],[3786,1],[3785,1],[3784,1],[3783,1],[3782,1],[3781,1],[3780,1],[3779,1],[3778,1],[3777,1],[3776,1],[3775,1],[3774,1],[3773,1],[3772,1],[3771,1],[3770,1],[3769,1],[3768,1],[3767,1],[3766,1],[3765,1],[3764,1],[3763,1],[3762,1],[3761,1],[3760,1],[3759,1],[3758,1],[3757,1],[3756,1],[3755,1],[3754,1],[3753,1],[3752,1],[3751,1],[3750,1],[3749,1],[3748,1],[3747,1],[3746,1],[3745,1],[3744,1],[3743,1],[3742,1],[3741,1],[3740,1],[3739,1],[3738,1],[3737,1],[3736,1],[3735,1],[3734,1],[3733,1],[3732,1],[3731,1],[3730,1],[3729,1],[3728,1],[3727,1],[3726,1],[3725,1],[3724,1],[3723,1],[3722,1],[3721,1],[3720,1],[3719,1],[3718,1],[3717,1],[3716,1],[3715,1],[3714,1],[3713,1],[3712,1],[3711,1],[3710,1],[3709,1],[3708,1],[3707,1],[3706,1],[3705,1],[3704,1],[3703,1],[3702,1],[3701,1],[3700,1],[3699,1],[3698,1],[3697,1],[3696,1],[3695,1],[3694,1],[3693,1],[3692,1],[3691,1],[3690,1],[3689,1],[3688,1],[3687,1],[3686,1],[3685,1],[3684,1],[3683,1],[3682,1],[3681,1],[3680,1],[3679,1],[3678,1],[3677,1],[3676,1],[3675,1],[3674,1],[3673,1],[3672,1],[3671,1],[3670,1],[3669,1],[3668,1],[3667,1],[3666,1],[3665,1],[3664,1],[3663,1],[3662,1],[3661,1],[3660,1],[3659,1],[3658,1],[3657,1],[3656,1],[3655,1],[3654,1],[3653,1],[3652,1],[3651,1],[3650,1],[3649,1],[3648,1],[3647,1],[3646,1],[3645,1],[3644,1],[3643,1],[3642,1],[3641,1],[3640,1],[3639,1],[3638,1],[3637,1],[3636,1],[3635,1],[3634,1],[3633,1],[3632,1],[3631,1],[3630,1],[3629,1],[3628,1],[3627,1],[3626,1],[3625,1],[3624,1],[3623,1],[3622,1],[3621,1],[3620,1],[3619,1],[3618,1],[3617,1],[3616,1],[3615,1],[3614,1],[3613,1],[3612,1],[3611,1],[3610,1],[3609,1],[3608,1],[3607,1],[3606,1],[3605,1],[3604,1],[3603,1],[3602,1],[3601,1],[3600,1],[3599,1],[3598,1],[3597,1],[3596,1],[3595,1],[3594,1],[3593,1],[3592,1],[3591,1],[3590,1],[3589,1],[3588,1],[3587,1],[3586,1],[3585,1],[3584,1],[3583,1],[3582,1],[3581,1],[3580,1],[3579,1],[3578,1],[3577,1],[3576,1],[3575,1],[3574,1],[3573,1],[3572,1],[3571,1],[3570,1],[3569,1],[3568,1],[3567,1],[3566,1],[3565,1],[3564,1],[3563,1],[3562,1],[3561,1],[3560,1],[3559,1],[3558,1],[3557,1],[3556,1],[3555,1],[3554,1],[3553,1],[3552,1],[3551,1],[3550,1],[3549,1],[3548,1],[3547,1],[3546,1],[3545,1],[3544,1],[3543,1],[3542,1],[3541,1],[3540,1],[3539,1],[3538,1],[3537,1],[3536,1],[3535,1],[3534,1],[3533,1],[3532,1],[3531,1],[3530,1],[3529,1],[3528,1],[3527,1],[3526,1],[3525,1],[3524,1],[3523,1],[3522,1],[3521,1],[3520,1],[3519,1],[3518,1],[3517,1],[3516,1],[3515,1],[3514,1],[3513,1],[3512,1],[3511,1],[3510,1],[3509,1],[3508,1],[3507,1],[3506,1],[3505,1],[3504,1],[3503,1],[3502,1],[3501,1],[3500,1],[3499,1],[3498,1],[3497,1],[3496,1],[3495,1],[3494,1],[3493,1],[3492,1],[3491,1],[3490,1],[3489,1],[3488,1],[3487,1],[3486,1],[3485,1],[3484,1],[3483,1],[3482,1],[3481,1],[3480,1],[3479,1],[3478,1],[3477,1],[3476,1],[3475,1],[3474,1],[3473,1],[3472,1],[3471,1],[3470,1],[3469,1],[3468,1],[3467,1],[3466,1],[3465,1],[3464,1],[3463,1],[3462,1],[3461,1],[3460,1],[3459,1],[3477,0," "],[3478,0,"w"],[3479,0,"o"],[3480,0,"r"],[3481,0,"k"],[3482,0,"}"],[3483,0,"\n"],[3484,0,"\n"],[3485,0,"\\"],[3486,0,"s"],[3487,0,"u"],[3488,0,"b"],[3489,0,"s"],[3490,0,"e"],[3491,0,"c"],[3492,0,"t"],[3541,0,"d"],[3542,0,"-"],[3543,0,"o"],[3544,0,"t"],[3545,0,"}"],[3546,0,"\n"],[3547,0,"\n"],[3548,0,"A"],[3549,0,"l"],[3550,0,"g"],[3551,0,"o"],[3552,0,"r"],[3553,0,"i"],[3554,0,"t"],[3555,0,"h"],[3556,0,"m"],[3557,0,"s"],[3558,0," "],[3559,0,"b"],[3560,0,"a"],[3561,0,"s"],[3562,0,"e"],[3563,0,"d"],[3564,0," "],[3565,0,"o"],[3566,0,"n"],[3567,0," "],[3568,0,"\\"],[3569,0,"e"],[3570,0,"m"],[3571,0,"p"],[3572,0,"h"],[3573,0,"{"],[3574,0,"o"],[3575,0,"p"],[3576,0,"e"],[3577,0,"r"],[3578,0,"a"],[3579,0,"t"],[3580,0,"i"],[3581,0,"o"],[3582,0,"n"],[3583,0,"a"],[3584,0,"l"],[3585,0," "],[3586,0,"t"],[3587,0,"r"],[3588,0,"a"],[3589,0,"n"],[3590,0,"s"],[3591,0,"f"],[3592,0,"o"],[3593,0,"r"],[3594,0,"m"],[3595,0,"a"],[3596,0,"t"],[3597,0,"i"],[3598,0,"o"],[3599,0,"n"],[3600,0,"}"],[3601,0," "],[3602,0,"("],[3603,0,"O"],[3604,0,"T"],[3653,0,"a"],[3654,0,"p"],[3655,0,"p"],[3656,0,"l"],[3657,0,"i"],[3658,0,"c"],[3659,0,"a"],[3660,0,"t"],[3661,0,"i"],[3662,0,"o"],[3663,0,"n"],[3664,0,"s"],[3665,0,"~"],[3666,0,"\\"],[3667,0,"c"],[3668,0,"i"],[3669,0,"t"],[3670,0,"e"],[3671,0,"{"],[3672,0,"E"],[3673,0,"l"],[3674,0,"l"],[3675,0,"i"],[3676,0,"s"],[3677,0,":"],[3678,0,"1"],[3679,0,"9"],[3680,0,"8"],[3681,0,"9"],[3682,0,":"],[3682,1],[3682,0,"u"],[3683,0,"e"],[3684,0,","],[3685,0,"R"],[3686,0,"e"],[3687,0,"s"],[3688,0,"s"],[3689,0,"e"],[3690,0,"l"],[3691,0,":"],[3692,0,"1"],[3693,0,"9"],[3694,0,"9"],[3695,0,"6"],[3696,0,"w"],[3697,0,"x"],[3698,0,","],[3699,0,"S"],[3700,0,"u"],[3701,0,"n"],[3702,0,":"],[3703,0,"1"],[3704,0,"9"],[3705,0,"9"],[3706,0,"8"],[3707,0,"v"],[3708,0,"f"],[3709,0,","],[3710,0,"N"],[3711,0,"i"],[3712,0,"c"],[3713,0,"h"],[3714,0,"o"],[3715,0,"l"],[3764,0,"n"],[3765,0,"g"],[3766,0,"l"],[3767,0,"e"],[3768,0," "],[3769,0,"o"],[3770,0,"r"],[3771,0,"d"],[3772,0,"e"],[3773,0,"r"],[3774,0,"e"],[3775,0,"d"],[3776,0," "],[3777,0,"l"],[3778,0,"i"],[3779,0,"s"],[3780,0,"t"],[3781,0," "],[3782,0,"("],[3783,0,"o"],[3784,0,"f"],[3785,0," "],[3786,0,"c"],[3787,0,"h"],[3788,0,"a"],[3789,0,"r"],[3790,0,"a"],[3791,0,"c"],[3792,0,"t"],[3793,0,"e"],[3794,0,"r"],[3795,0,"s"],[3796,0,","],[3797,0," "],[3798,0,"f"],[3799,0,"o"],[3800,0,"r"],[3801,0," "],[3802,0,"e"],[3803,0,"x"],[3804,0,"a"],[3805,0,"m"],[3806,0,"p"],[3807,0,"l"],[3808,0,"e"],[3809,0,")"],[3810,0," "],[3908,1],[4028,1],[4116,0,"\n"],[4117,0,"\n"],[4118,0,"M"],[4119,0,"o"],[4120,0,"s"],[4121,0,"t"],[4122,0," "],[4123,0,"d"],[4124,0,"e"],[4125,0,"p"],[4126,0,"l"],[4127,0,"o"],[4128,0,"y"],[4129,0,"e"],[4130,0,"d"],[4131,0," "],[4132,0,"O"],[4133,0,"T"],[4134,0," "],[4135,0,"c"],[4136,0,"o"],[4137,0,"l"],[4138,0,"l"],[4139,0,"a"],[4140,0,"b"],[4141,0,"o"],[4142,0,"r"],[4143,0,"a"],[4144,0,"t"],[4145,0,"i"],[4146,0,"o"],[4147,0,"n"],[4148,0," "],[4149,0,"s"],[4150,0,"y"],[4151,0,"s"],[4152,0,"t"],[4153,0,"e"],[4154,0,"m"],[4155,0,"s"],[4156,0,","],[4157,0," "],[4158,0,"i"],[4159,0,"n"],[4160,0,"c"],[4161,0,"l"],[4162,0,"u"],[4163,0,"d"],[4164,0,"i"],[4165,0,"n"],[4166,0,"g"],[4167,0," "],[4168,0,"G"],[4169,0,"o"],[4170,0,"o"],[4171,0,"g"],[4172,0,"l"],[4173,0,"e"],[4174,0," "],[4175,0,"D"],[4176,0,"o"],[4177,0,"c"],[4178,0,"s"],[4179,0,"~"],[4180,0,"\\"],[4181,0,"c"],[4182,0,"i"],[4183,0,"t"],[4184,0,"e"],[4185,0,"{"],[4186,0,"D"],[4187,0,"a"],[4188,0,"y"],[4189,0,"R"],[4190,0,"i"],[4191,0,"c"],[4192,0,"h"],[4193,0,"t"],[4194,0,"e"],[4195,0,"r"],[4196,0,":"],[4197,0,"2"],[4198,0,"0"],[4199,0,"1"],[4200,0,"0"],[4201,0,"t"],[4202,0,"t"],[4203,0,"}"],[4204,0,","],[4205,0," "],[4206,0,"E"],[4207,0,"t"],[4208,0,"h"],[4209,0,"e"],[4210,0,"r"],[4211,0,"p"],[4212,0,"a"],[4213,0,"d"],[4214,0,"~"],[4215,0,"{"],[4215,1],[4215,0,"\\"],[4216,0,"c"],[4217,0,"i"],[4218,0,"t"],[4219,0,"e"],[4220,0,"{"],[4221,0,"E"],[4222,0,"t"],[4223,0,"h"],[4224,0,"e"],[4225,0,"r"],[4226,0,"p"],[4227,0,"a"],[4228,0,"d"],[4229,0,":"],[4230,0,"2"],[4231,0,"0"],[4232,0,"1"],[4233,0,"1"],[4234,0,"u"],[4235,0,"m"],[4236,0,"}"],[4237,0,","],[4238,0," "],[4239,0,"N"],[4240,0,"o"],[4241,0,"v"],[4242,0,"e"],[4243,0,"l"],[4244,0,"l"],[4245,0," "],[4246,0,"V"],[4247,0,"i"],[4248,0,"b"],[4249,0,"e"],[4250,0,"~"],[4251,0,"\\"],[4252,0,"c"],[4253,0,"i"],[4254,0,"t"],[4255,0,"e"],[4256,0,"{"],[4257,0,"S"],[4258,0,"p"],[4259,0,"i"],[4260,0,"e"],[4261,0,"w"],[4262,0,"a"],[4263,0,"k"],[4264,0,":"],[4265,0,"2"],[4266,0,"0"],[4267,0,"1"],[4268,0,"0"],[4269,0,"v"],[4270,0,"w"],[4271,0,"}"],[4272,0," "],[4273,0,"a"],[4274,0,"n"],[4275,0,"d"],[4276,0," "],[4277,0,"A"],[4278,0,"p"],[4279,0,"a"],[4280,0,"c"],[4281,0,"h"],[4282,0,"e"],[4283,0," "],[4284,0,"W"],[4285,0,"a"],[4286,0,"v"],[4287,0,"e"],[4288,0," "],[4289,0,"("],[4290,0,"f"],[4291,0,"o"],[4292,0,"r"],[4293,0,"m"],[4294,0,"e"],[4295,0,"r"],[4296,0,"l"],[4297,0,"y"],[4298,0," "],[4299,0,"G"],[4300,0,"o"],[4301,0,"o"],[4302,0,"g"],[4303,0,"l"],[4304,0,"e"],[4305,0," "],[4306,0,"W"],[4307,0,"a"],[4308,0,"v"],[4309,0,"e"],[4310,0,"~"],[4311,0,"\\"],[4312,0,"c"],[4313,0,"i"],[4314,0,"t"],[4315,0,"e"],[4316,0,"{"],[4317,0,"W"],[4318,0,"a"],[4319,0,"n"],[4320,0,"g"],[4321,0,":"],[4322,0,"2"],[4323,0,"0"],[4324,0,"1"],[4325,0,"5"],[4326,0,"v"],[4327,0,"o"],[4328,0,"}"],[4329,0,")"],[4330,0,","],[4331,0," "],[4332,0,"r"],[4333,0,"e"],[4334,0,"l"],[4335,0,"y"],[4336,0," "],[4337,0,"o"],[4338,0,"n"],[4339,0," "],[4340,0,"a"],[4341,0," "],[4342,0,"s"],[4343,0,"i"],[4344,0,"n"],[4345,0,"g"],[4346,0,"l"],[4347,0,"e"],[4348,0," "],[4349,0,"s"],[4350,0,"e"],[4351,0,"r"],[4352,0,"v"],[4353,0,"e"],[4354,0,"r"],[4355,0," "],[4356,0,"t"],[4357,0,"o"],[4358,0," "],[4359,0,"d"],[4360,0,"e"],[4361,0,"c"],[4362,0,"i"],[4363,0,"d"],[4364,0,"e"],[4365,0," "],[4366,0,"o"],[4367,0,"n"],[4368,0," "],[4369,0,"a"],[4370,0," "],[4371,0,"t"],[4372,0,"o"],[4373,0,"t"],[4374,0,"a"],[4375,0,"l"],[4376,0," "],[4377,0,"o"],[4378,0,"r"],[4379,0,"d"],[4380,0,"e"],[4381,0,"r"],[4382,0,"i"],[4383,0,"n"],[4384,0,"g"],[4385,0," "],[4386,0,"o"],[4387,0,"f"],[4388,0," "],[4389,0,"o"],[4390,0,"p"],[4391,0,"e"],[4392,0,"r"],[4393,0,"a"],[4394,0,"t"],[4395,0,"i"],[4396,0,"o"],[4397,0,"n"],[4398,0,"s"],[4399,0,"~"],[4400,0,"\\"],[4401,0,"c"],[4402,0,"i"],[4403,0,"t"],[4404,0,"e"],[4405,0,"{"],[4406,0,"L"],[4407,0,"e"],[4408,0,"m"],[4409,0,"o"],[4410,0,"n"],[4411,0,"i"],[4412,0,"k"],[4413,0,":"],[4414,0,"2"],[4415,0,"0"],[4416,0,"1"],[4417,0,"6"],[4418,0,"w"],[4419,0,"h"],[4420,0,"}"],[4421,0,","],[4422,0," "],[4423,0,"a"],[4424,0," "],[4425,0,"d"],[4426,0,"e"],[4427,0,"s"],[4428,0,"i"],[4429,0,"g"],[4430,0,"n"],[4431,0," "],[4432,0,"d"],[4433,0,"e"],[4434,0,"c"],[4435,0,"i"],[4436,0,"s"],[4437,0,"i"],[4438,0,"o"],[4439,0,"n"],[4440,0," "],[4441,0,"i"],[4442,0,"n"],[4443,0,"h"],[4444,0,"e"],[4445,0,"r"],[4446,0,"i"],[4447,0,"t"],[4448,0,"e"],[4449,0,"d"],[4450,0," "],[4451,0,"f"],[4452,0,"r"],[4453,0,"o"],[4454,0,"m"],[4455,0," "],[4456,0,"t"],[4457,0,"h"],[4458,0,"e"],[4459,0," "],[4460,0,"J"],[4461,0,"u"],[4462,0,"p"],[4463,0,"i"],[4464,0,"t"],[4465,0,"e"],[4466,0,"r"],[4467,0," "],[4468,0,"s"],[4469,0,"y"],[4470,0,"s"],[4471,0,"t"],[4472,0,"e"],[4473,0,"m"],[4474,0,"~"],[4475,0,"\\"],[4476,0,"c"],[4477,0,"i"],[4478,0,"t"],[4479,0,"e"],[4480,0,"{"],[4481,0,"N"],[4482,0,"i"],[4483,0,"c"],[4484,0,"h"],[4485,0,"o"],[4486,0,"l"],[4487,0,"s"],[4488,0,":"],[4489,0,"1"],[4490,0,"9"],[4491,0,"9"],[4492,0,"5"],[4493,0,"f"],[4494,0,"d"],[4495,0,"}"],[4496,0,"."],[4497,0," "],[4498,0,"T"],[4499,0,"h"],[4500,0,"i"],[4501,0,"s"],[4502,0," "],[4503,0,"a"],[4504,0,"p"],[4505,0,"p"],[4506,0,"r"],[4507,0,"o"],[4508,0,"a"],[4509,0,"c"],[4510,0,"h"],[4511,0," "],[4512,0,"h"],[4513,0,"a"],[4514,0,"s"],[4515,0," "],[4516,0,"t"],[4517,0,"h"],[4518,0,"e"],[4519,0," "],[4520,0,"a"],[4521,0,"d"],[4522,0,"v"],[4523,0,"a"],[4524,0,"n"],[4525,0,"t"],[4526,0,"a"],[4527,0,"g"],[4528,0,"e"],[4529,0," "],[4530,0,"o"],[4531,0,"f"],[4532,0," "],[4533,0,"m"],[4534,0,"a"],[4535,0,"k"],[4536,0,"i"],[4537,0,"n"],[4538,0,"g"],[4539,0," "],[4540,0,"t"],[4541,0,"h"],[4542,0,"e"],[4543,0," "],[4544,0,"t"],[4545,0,"r"],[4546,0,"a"],[4547,0,"n"],[4548,0,"s"],[4549,0,"o"],[4550,0,"f"],[4550,1],[4549,1],[4549,0,"f"],[4550,0,"o"],[4551,0,"r"],[4552,0,"m"],[4553,0,"a"],[4554,0,"t"],[4555,0,"i"],[4556,0,"o"],[4557,0,"n"],[4558,0," "],[4559,0,"f"],[4560,0,"u"],[4561,0,"n"],[4562,0,"c"],[4563,0,"t"],[4564,0,"i"],[4565,0,"o"],[4566,0,"n"],[4567,0,"s"],[4568,0," "],[4569,0,"s"],[4570,0,"i"],[4571,0,"m"],[4572,0,"p"],[4573,0,"l"],[4574,0,"e"],[4575,0,"r"],[4576,0," "],[4577,0,"a"],[4578,0,"n"],[4579,0,"d"],[4580,0," "],[4581,0,"l"],[4582,0,"e"],[4583,0,"s"],[4584,0,"s"],[4585,0," "],[4586,0,"e"],[4587,0,"r"],[4588,0,"r"],[4589,0,"o"],[4590,0,"r"],[4591,0,"-"],[4592,0,"p"],[4593,0,"r"],[4594,0,"o"],[4595,0,"n"],[4596,0,"e"],[4597,0,"~"],[4598,0,"\\"],[4599,0,"c"],[4600,0,"i"],[4601,0,"t"],[4602,0,"e"],[4603,0,"{"],[4604,0,"I"],[4605,0,"m"],[4606,0,"i"],[4607,0,"n"],[4608,0,"e"],[4609,0,":"],[4610,0,"2"],[4611,0,"0"],[4612,0,"0"],[4613,0,"3"],[4614,0,"k"],[4615,0,"s"],[4616,0,"}"],[4617,0,","],[4618,0," "],[4619,0,"b"],[4620,0,"u"],[4621,0,"t"],[4622,0," "],[4623,0,"i"],[4624,0,"t"],[4625,0," "],[4626,0,"d"],[4627,0,"o"],[4628,0,"e"],[4629,0,"s"],[4630,0," "],[4631,0,"n"],[4632,0,"o"],[4633,0,"t"],[4634,0," "],[4635,0,"m"],[4636,0,"e"],[4637,0,"e"],[4638,0,"t"],[4639,0," "],[4640,0,"o"],[4641,0,"u"],[4642,0,"r"],[4643,0," "],[4644,0,"r"],[4645,0,"e"],[4646,0,"q"],[4647,0,"u"],[4648,0,"i"],[4649,0,"r"],[4650,0,"e"],[4651,0,"m"],[4652,0,"e"],[4653,0,"n"],[4654,0,"t"],[4655,0,"s"],[4656,0,","],[4657,0," "],[4658,0,"s"],[4659,0,"i"],[4660,0,"n"],[4661,0,"c"],[4662,0,"e"],[4663,0," "],[4664,0,"w"],[4665,0,"e"],[4666,0," "],[4667,0,"w"],[4668,0,"a"],[4669,0,"n"],[4670,0,"t"],[4671,0," "],[4672,0,"t"],[4673,0,"o"],[4674,0," "],[4675,0,"s"],[4676,0,"u"],[4677,0,"p"],[4678,0,"p"],[4679,0,"o"],[4680,0,"r"],[4681,0,"t"],[4682,0," "],[4683,0,"p"],[4684,0,"e"],[4685,0,"e"],[4686,0,"r"],[4687,0,"-"],[4688,0,"t"],[4689,0,"o"],[4690,0,"-"],[4691,0,"p"],[4692,0,"e"],[4693,0,"e"],[4694,0,"r"],[4695,0," "],[4696,0,"c"],[4697,0,"o"],[4698,0,"l"],[4699,0,"l"],[4700,0,"a"],[4701,0,"b"],[4702,0,"o"],[4703,0,"r"],[4704,0,"a"],[4705,0,"t"],[4706,0,"i"],[4707,0,"o"],[4708,0,"n"],[4709,0," "],[4710,0,"w"],[4711,0,"i"],[4712,0,"t"],[4713,0,"h"],[4714,0,"o"],[4715,0,"u"],[4716,0,"t"],[4717,0," "],[4718,0,"r"],[4719,0,"e"],[4720,0,"q"],[4721,0,"u"],[4722,0,"i"],[4723,0,"r"],[4724,0,"i"],[4725,0,"n"],[4726,0,"g"],[4727,0," "],[4728,0,"a"],[4729,0," "],[4730,0,"s"],[4731,0,"i"],[4732,0,"n"],[4733,0,"g"],[4734,0,"l"],[4735,0,"e"],[4736,0," "],[4737,0,"s"],[4738,0,"e"],[4739,0,"r"],[4740,0,"v"],[4741,0,"e"],[4742,0,"r"],[4743,0,"."],[4744,0,"\n"],[4745,0,"\n"],[4746,0,"M"],[4747,0,"a"],[4748,0,"n"],[4749,0,"y"],[4750,0," "],[4751,0,"s"],[4752,0,"e"],[4753,0,"c"],[4754,0,"u"],[4755,0,"r"],[4756,0,"e"],[4757,0," "],[4758,0,"m"],[4759,0,"e"],[4760,0,"s"],[4761,0,"s"],[4762,0,"a"],[4763,0,"g"],[4764,0,"i"],[4765,0,"n"],[4766,0,"g"],[4767,0," "],[4768,0,"p"],[4769,0,"r"],[4770,0,"o"],[4771,0,"t"],[4772,0,"o"],[4773,0,"c"],[4774,0,"o"],[4775,0,"l"],[4776,0,"s"],[4777,0,","],[4778,0," "],[4779,0,"w"],[4780,0,"h"],[4781,0,"i"],[4782,0,"c"],[4783,0,"h"],[4784,0," "],[4785,0,"w"],[4786,0,"e"],[4787,0," "],[4788,0,"p"],[4789,0,"l"],[4790,0,"a"],[4791,0,"n"],[4792,0," "],[4793,0,"t"],[4794,0,"o"],[4795,0," "],[4796,0,"u"],[4797,0,"s"],[4798,0,"e"],[4799,0," "],[4800,0,"f"],[4801,0,"o"],[4802,0,"r"],[4803,0," "],[4804,0,"e"],[4805,0,"n"],[4806,0,"c"],[4807,0,"r"],[4808,0,"y"],[4809,0,"p"],[4810,0,"t"],[4811,0,"e"],[4812,0,"d"],[4813,0," "],[4814,0,"c"],[4815,0,"o"],[4816,0,"l"],[4817,0,"l"],[4818,0,"a"],[4819,0,"b"],[4820,0,"o"],[4821,0,"r"],[4822,0,"a"],[4823,0,"t"],[4824,0,"i"],[4825,0,"o"],[4826,0,"n"],[4827,0,","],[4828,0," "],[4829,0,"d"],[4830,0,"o"],[4831,0," "],[4832,0,"n"],[4833,0,"o"],[4834,0,"t"],[4835,0," "],[4836,0,"g"],[4837,0,"u"],[4838,0,"a"],[4839,0,"r"],[4840,0,"a"],[4841,0,"n"],[4842,0,"t"],[4843,0,"e"],[4844,0,"e"],[4845,0," "],[4846,0,"t"],[4847,0,"h"],[4848,0,"a"],[4849,0,"t"],[4850,0," "],[4851,0,"d"],[4852,0,"i"],[4853,0,"f"],[4854,0,"f"],[4855,0,"e"],[4856,0,"r"],[4857,0,"e"],[4858,0,"n"],[4859,0,"t"],[4860,0," "],[4861,0,"r"],[4862,0,"e"],[4863,0,"c"],[4864,0,"i"],[4865,0,"p"],[4866,0,"i"],[4867,0,"e"],[4868,0,"n"],[4869,0,"t"],[4870,0,"s"],[4871,0," "],[4872,0,"w"],[4873,0,"i"],[4874,0,"l"],[4875,0,"l"],[4876,0," "],[4877,0,"s"],[4878,0,"e"],[4879,0,"e"],[4880,0," "],[4881,0,"m"],[4882,0,"e"],[4883,0,"s"],[4884,0,"s"],[4885,0,"a"],[4886,0,"g"],[4887,0,"e"],[4888,0,"s"],[4889,0," "],[4890,0,"i"],[4891,0,"n"],[4892,0," "],[4893,0,"t"],[4894,0,"h"],[4895,0,"e"],[4896,0," "],[4897,0,"s"],[4898,0,"a"],[4899,0,"m"],[4900,0,"e"],[4901,0," "],[4902,0,"o"],[4903,0,"r"],[4904,0,"d"],[4905,0,"e"],[4906,0,"r"],[4907,0,"~"],[4908,0,"\\"],[4909,0,"c"],[4910,0,"i"],[4911,0,"t"],[4912,0,"e"],[4913,0,"{"],[4914,0,"U"],[4915,0,"n"],[4916,0,"g"],[4917,0,"e"],[4918,0,"r"],[4919,0,":"],[4920,0,"2"],[4921,0,"0"],[4922,0,"1"],[4923,0,"5"],[4924,0,"k"],[4925,0,"g"],[4926,0,"}"],[4927,0,"."],[4928,0," "],[4929,0,"A"],[4930,0,"l"],[4931,0,"t"],[4932,0,"h"],[4933,0,"o"],[4934,0,"u"],[4935,0,"g"],[4936,0,"h"],[4937,0," "],[4938,0,"i"],[4939,0,"t"],[4940,0," "],[4941,0,"i"],[4942,0,"s"],[4943,0," "],[4944,0,"p"],[4945,0,"o"],[4946,0,"s"],[4947,0,"s"],[4948,0,"i"],[4949,0,"b"],[4950,0,"l"],[4951,0,"e"],[4952,0," "],[4953,0,"t"],[4954,0,"o"],[4955,0," "],[4956,0,"d"],[4957,0,"e"],[4958,0,"c"],[4959,0,"i"],[4960,0,"d"],[4961,0,"e"],[4962,0," "],[4963,0,"o"],[4964,0,"n"],[4965,0," "],[4966,0,"a"],[4967,0," "],[4968,0,"t"],[4969,0,"o"],[4970,0,"t"],[4971,0,"l"],[4972,0,"a"],[4973,0," "],[4973,1],[4972,1],[4971,1],[4971,0,"a"],[4972,0,"l"],[4973,0," "],[4974,0,"o"],[4975,0,"r"],[4976,0,"d"],[4977,0,"e"],[4978,0,"r"],[4979,0,"i"],[4980,0,"n"],[4981,0,"g"],[4982,0," "],[4983,0,"o"],[4984,0,"f"],[4985,0," "],[4986,0,"o"],[4987,0,"p"],[4988,0,"e"],[4989,0,"r"],[4990,0,"a"],[4991,0,"t"],[4992,0,"i"],[4993,0,"o"],[4994,0,"n"],[4995,0,"s"],[4996,0," "],[4997,0,"b"],[4998,0,"y"],[4999,0," "],[5000,0,"u"],[5001,0,"s"],[5002,0,"i"],[5003,0,"n"],[5004,0,"g"],[5005,0," "],[5006,0,"a"],[5007,0,"n"],[5008,0," "],[5009,0,"a"],[5010,0,"t"],[5011,0,"o"],[5012,0,"m"],[5013,0,"i"],[5014,0,"c"],[5015,0," "],[5016,0,"b"],[5017,0,"r"],[5018,0,"o"],[5019,0,"a"],[5020,0,"d"],[5021,0,"c"],[5022,0,"a"],[5023,0,"s"],[5024,0,"t"],[5025,0," "],[5026,0,"p"],[5027,0,"r"],[5028,0,"o"],[5029,0,"t"],[5030,0,"o"],[5031,0,"c"],[5032,0,"o"],[5033,0,"l"],[5034,0,"~"],[5035,0,"\\"],[5036,0,"c"],[5037,0,"i"],[5038,0,"t"],[5039,0,"e"],[5040,0,"{"],[5041,0,"D"],[5042,0,"e"],[5043,0,"f"],[5044,0,"a"],[5045,0,"g"],[5046,0,"o"],[5047,0,":"],[5048,0,"2"],[5049,0,"0"],[5050,0,"0"],[5051,0,"4"],[5052,0,"j"],[5053,0,"i"],[5054,0,"}"],[5055,0,","],[5056,0," "],[5057,0,"w"],[5058,0,"h"],[5059,0,"i"],[5060,0,"c"],[5061,0,"h"],[5062,0," "],[5063,0,"a"],[5064,0,"v"],[5065,0,"o"],[5066,0,"i"],[5067,0,"d"],[5068,0,"s"],[5069,0," "],[5070,0,"r"],[5071,0,"e"],[5072,0,"l"],[5073,0,"y"],[5074,0,"i"],[5075,0,"n"],[5076,0,"g"],[5077,0," "],[5078,0,"o"],[5079,0,"n"],[5080,0," "],[5081,0,"a"],[5082,0," "],[5083,0,"s"],[5084,0,"i"],[5085,0,"n"],[5086,0,"g"],[5087,0,"l"],[5088,0,"e"],[5089,0," "],[5090,0,"s"],[5091,0,"e"],[5092,0,"r"],[5093,0,"v"],[5094,0,"e"],[5095,0,"r"],[5096,0,","],[5097,0," "],[5098,0,"s"],[5099,0,"u"],[5100,0,"c"],[5101,0,"h"],[5102,0," "],[5103,0,"p"],[5104,0,"r"],[5105,0,"o"],[5106,0,"t"],[5107,0,"o"],[5108,0,"c"],[5109,0,"o"],[5110,0,"l"],[5111,0,"s"],[5112,0," "],[5113,0,"a"],[5114,0,"r"],[5115,0,"e"],[5116,0," "],[5117,0,"e"],[5118,0,"q"],[5119,0,"u"],[5120,0,"i"],[5121,0,"v"],[5122,0,"a"],[5123,0,"l"],[5124,0,"e"],[5125,0,"n"],[5126,0,"t"],[5127,0," "],[5128,0,"t"],[5129,0,"o"],[5130,0," "],[5131,0,"c"],[5132,0,"o"],[5133,0,"n"],[5134,0,"s"],[5135,0,"e"],[5136,0,"n"],[5137,0,"s"],[5138,0,"u"],[5139,0,"s"],[5140,0,"~"],[5141,0,"\\"],[5142,0,"c"],[5143,0,"i"],[5144,0,"t"],[5145,0,"e"],[5146,0,"{"],[5147,0,"C"],[5148,0,"h"],[5149,0,"a"],[5150,0,"n"],[5151,0,"d"],[5152,0,"r"],[5153,0,"a"],[5154,0,":"],[5155,0,"1"],[5156,0,"9"],[5157,0,"9"],[5158,0,"6"],[5159,0,"c"],[5160,0,"p"],[5161,0,"}"],[5162,0,","],[5163,0," "],[5164,0,"s"],[5165,0,"o"],[5166,0," "],[5167,0,"t"],[5168,0,"h"],[5169,0,"e"],[5170,0,"y"],[5171,0," "],[5172,0,"c"],[5173,0,"a"],[5174,0,"n"],[5175,0," "],[5176,0,"o"],[5177,0,"n"],[5178,0,"l"],[5179,0,"y"],[5180,0," "],[5181,0,"s"],[5182,0,"a"],[5183,0,"f"],[5184,0,"e"],[5185,0,"l"],[5186,0,"y"],[5187,0," "],[5188,0,"m"],[5189,0,"a"],[5190,0,"k"],[5191,0,"e"],[5192,0," "],[5193,0,"p"],[5194,0,"r"],[5195,0,"o"],[5196,0,"g"],[5197,0,"r"],[5198,0,"e"],[5199,0,"s"],[5200,0,"s"],[5201,0," "],[5202,0,"i"],[5203,0,"f"],[5204,0," "],[5205,0,"a"],[5206,0," "],[5207,0,"m"],[5208,0,"a"],[5209,0,"j"],[5210,0,"o"],[5211,0,"r"],[5212,0,"i"],[5213,0,"t"],[5214,0,"y"],[5215,0," "],[5216,0,"o"],[5217,0,"f"],[5218,0," "],[5219,0,"p"],[5220,0,"a"],[5221,0,"r"],[5222,0,"t"],[5223,0,"i"],[5224,0,"c"],[5225,0,"i"],[5226,0,"p"],[5227,0,"a"],[5228,0,"n"],[5229,0,"t"],[5230,0,"s"],[5231,0," "],[5232,0,"a"],[5233,0,"r"],[5234,0,"e"],[5235,0," "],[5236,0,"o"],[5237,0,"n"],[5238,0,"l"],[5239,0,"i"],[5240,0,"n"],[5241,0,"e"],[5242,0," "],[5243,0,"a"],[5244,0,"n"],[5245,0,"d"],[5246,0," "],[5247,0,"r"],[5248,0,"e"],[5249,0,"a"],[5250,0,"c"],[5251,0,"h"],[5252,0,"a"],[5253,0,"b"],[5254,0,"l"],[5255,0,"e"],[5256,0,"."],[5257,0," "],[5258,0,"W"],[5259,0,"e"],[5260,0," "],[5261,0,"e"],[5262,0,"x"],[5263,0,"p"],[5264,0,"e"],[5265,0,"c"],[5266,0,"t"],[5267,0," "],[5268,0,"t"],[5269,0,"h"],[5270,0,"a"],[5271,0,"t"],[5272,0," "],[5273,0,"i"],[5274,0,"n"],[5275,0," "],[5276,0,"p"],[5277,0,"e"],[5278,0,"e"],[5279,0,"r"],[5280,0,"-"],[5281,0,"t"],[5282,0,"o"],[5283,0,"-"],[5284,0,"p"],[5285,0,"e"],[5286,0,"e"],[5287,0,"r"],[5288,0," "],[5289,0,"s"],[5290,0,"y"],[5291,0,"s"],[5292,0,"t"],[5293,0,"e"],[5294,0,"m"],[5295,0,"s"],[5296,0," "],[5297,0,"o"],[5298,0,"f"],[5299,0," "],[5300,0,"m"],[5301,0,"o"],[5302,0,"b"],[5303,0,"i"],[5304,0,"l"],[5305,0,"e"],[5306,0," "],[5307,0,"d"],[5308,0,"e"],[5309,0,"v"],[5310,0,"i"],[5311,0,"c"],[5312,0,"e"],[5313,0,"s"],[5314,0," "],[5315,0,"i"],[5316,0,"t"],[5317,0," "],[5318,0,"w"],[5319,0,"i"],[5320,0,"l"],[5321,0,"l"],[5322,0," "],[5323,0,"f"],[5324,0,"r"],[5325,0,"e"],[5326,0,"q"],[5327,0,"u"],[5328,0,"e"],[5329,0,"n"],[5330,0,"t"],[5331,0,"l"],[5332,0,"y"],[5333,0," "],[5334,0,"b"],[5335,0,"e"],[5336,0," "],[5337,0,"t"],[5338,0,"h"],[5339,0,"e"],[5340,0," "],[5341,0,"c"],[5342,0,"a"],[5343,0,"s"],[5344,0,"e"],[5345,0," "],[5346,0,"t"],[5347,0,"h"],[5348,0,"a"],[5349,0,"t"],[5350,0," "],[5351,0,"o"],[5352,0,"n"],[5353,0,"l"],[5354,0,"y"],[5355,0," "],[5356,0,"a"],[5357,0," "],[5358,0,"m"],[5359,0,"i"],[5360,0,"n"],[5361,0,"o"],[5362,0,"r"],[5363,0,"i"],[5364,0,"t"],[5365,0,"y"],[5366,0," "],[5367,0,"o"],[5368,0,"f"],[5369,0," "],[5370,0,"p"],[5371,0,"a"],[5372,0,"r"],[5373,0,"t"],[5374,0,"i"],[5375,0,"c"],[5376,0,"i"],[5377,0,"p"],[5378,0,"a"],[5379,0,"n"],[5380,0,"t"],[5381,0,"s"],[5382,0," "],[5383,0,"a"],[5384,0,"r"],[5385,0,"e"],[5386,0," "],[5387,0,"o"],[5388,0,"n"],[5389,0,"l"],[5390,0,"i"],[5391,0,"n"],[5392,0,"e"],[5393,0," "],[5394,0,"a"],[5395,0,"t"],[5396,0," "],[5397,0,"t"],[5398,0,"h"],[5399,0,"e"],[5400,0," "],[5401,0,"s"],[5402,0,"a"],[5403,0,"m"],[5404,0,"e"],[5405,0," "],[5406,0,"t"],[5407,0,"i"],[5408,0,"m"],[5409,0,"e"],[5410,0,","],[5411,0," "],[5412,0,"a"],[5413,0,"n"],[5414,0,"d"],[5415,0," "],[5416,0,"s"],[5417,0,"o"],[5418,0," "],[5419,0,"a"],[5420,0,"n"],[5421,0,"y"],[5422,0," "],[5423,0,"a"],[5424,0,"l"],[5425,0,"g"],[5426,0,"o"],[5427,0,"r"],[5428,0,"i"],[5429,0,"t"],[5430,0,"h"],[5431,0,"m"],[5432,0,"s"],[5432,1],[5432,0," "],[5433,0,"r"],[5434,0,"e"],[5435,0,"q"],[5436,0,"u"],[5437,0,"i"],[5438,0,"r"],[5439,0,"i"],[5440,0,"n"],[5441,0,"g"],[5442,0," "],[5443,0,"a"],[5444,0,"t"],[5445,0,"o"],[5446,0,"m"],[5447,0,"i"],[5448,0,"c"],[5449,0," "],[5450,0,"b"],[5451,0,"r"],[5452,0,"o"],[5453,0,"a"],[5454,0,"d"],[5455,0,"c"],[5456,0,"a"],[5457,0,"s"],[5458,0,"t"],[5459,0," "],[5460,0,"w"],[5461,0,"o"],[5462,0,"u"],[5463,0,"l"],[5464,0,"d"],[5465,0," "],[5466,0,"b"],[5467,0,"e"],[5468,0,"c"],[5469,0,"o"],[5470,0,"m"],[5471,0,"e"],[5472,0," "],[5473,0,"u"],[5474,0,"n"],[5475,0,"a"],[5476,0,"v"],[5477,0,"a"],[5478,0,"i"],[5479,0,"l"],[5480,0,"a"],[5481,0,"b"],[5482,0,"l"],[5483,0,"e"],[5484,0,"."],[5485,0," "],[5486,0,"T"],[5487,0,"h"],[5488,0,"e"],[5489,0," "],[5490,0,"s"],[5491,0,"t"],[5492,0,"r"],[5493,0,"o"],[5494,0,"n"],[5495,0,"g"],[5496,0,"e"],[5497,0,"s"],[5498,0,"t"],[5499,0," "],[5500,0,"g"],[5501,0,"u"],[5502,0,"a"],[5503,0,"r"],[5504,0,"a"],[5505,0,"n"],[5506,0,"t"],[5507,0,"e"],[5508,0,"e"],[5509,0," "],[5510,0,"s"],[5511,0,"u"],[5512,0,"c"],[5513,0,"h"],[5514,0," "],[5515,0,"a"],[5516,0," "],[5517,0,"s"],[5518,0,"y"],[5519,0,"s"],[5520,0,"t"],[5521,0,"e"],[5522,0,"m"],[5523,0," "],[5524,0,"c"],[5525,0,"a"],[5526,0,"n"],[5527,0," "],[5528,0,"g"],[5529,0,"i"],[5530,0,"v"],[5531,0,"e"],[5532,0," "],[5533,0,"i"],[5534,0,"s"],[5535,0," "],[5536,0,"c"],[5537,0,"a"],[5538,0,"u"],[5539,0,"s"],[5540,0,"a"],[5541,0,"l"],[5542,0," "],[5543,0,"o"],[5544,0,"r"],[5545,0,"d"],[5546,0,"e"],[5547,0,"r"],[5548,0,"i"],[5549,0,"n"],[5550,0,"g"],[5551,0,"~"],[5552,0,"]"],[5552,1],[5552,0,"\\"],[5553,0,"c"],[5554,0,"i"],[5555,0,"t"],[5556,0,"e"],[5557,0,"{"],[5558,0,"A"],[5559,0,"t"],[5560,0,"t"],[5561,0,"i"],[5562,0,"y"],[5563,0,"a"],[5564,0,":"],[5565,0,"2"],[5566,0,"0"],[5567,0,"1"],[5568,0,"5"],[5569,0,"d"],[5570,0,"m"],[5571,0,"}"],[5572,0,"."],[5573,0,"\n"],[5574,0,"\n"],[5575,0,"T"],[5576,0,"h"],[5577,0,"e"],[5578,0," "],[5579,0,"G"],[5580,0,"o"],[5581,0,"o"],[5582,0,"g"],[5583,0,"l"],[5584,0,"e"],[5585,0," "],[5586,0,"R"],[5587,0,"e"],[5588,0,"a"],[5589,0,"l"],[5590,0,"t"],[5591,0,"i"],[5592,0,"m"],[5593,0,"e"],[5594,0," "],[5595,0,"A"],[5596,0,"P"],[5597,0,"I"],[5598,0,"~"],[5599,0,"\\"],[5600,0,"c"],[5601,0,"i"],[5602,0,"t"],[5603,0,"e"],[5604,0,"{"],[5605,0,"G"],[5606,0,"o"],[5607,0,"o"],[5608,0,"g"],[5609,0,"o"],[5609,1],[5609,0,"l"],[5610,0,"e"],[5611,0,":"],[5612,0,"2"],[5613,0,"0"],[5614,0,"1"],[5615,0,"5"],[5616,0,"v"],[5617,0,"k"],[5618,0,"}"],[5619,0," "],[5620,0,"i"],[5621,0,"s"],[5622,0," "],[5623,0,"t"],[5624,0,"h"],[5625,0,"e"],[5626,0," "],[5627,0,"o"],[5628,0,"n"],[5629,0,"l"],[5630,0,"y"],[5631,0," "],[5632,0,"i"],[5633,0,"m"],[5634,0,"p"],[5635,0,"l"],[5636,0,"e"],[5637,0,"m"],[5638,0,"e"],[5639,0,"n"],[5640,0,"t"],[5641,0,"a"],[5642,0,"t"],[5643,0,"i"],[5644,0,"o"],[5645,0,"n"],[5646,0," "],[5647,0,"o"],[5648,0,"f"],[5649,0," "],[5650,0,"O"],[5651,0,"T"],[5652,0," "],[5653,0,"o"],[5654,0,"f"],[5655,0," "],[5656,0,"w"],[5657,0,"h"],[5658,0,"i"],[5659,0,"c"],[5660,0,"h"],[5661,0," "],[5662,0,"w"],[5663,0,"e"],[5664,0," "],[5665,0,"a"],[5666,0,"r"],[5667,0,"e"],[5668,0," "],[5669,0,"a"],[5670,0,"w"],[5671,0,"a"],[5672,0,"r"],[5673,0,"e"],[5674,0," "],[5675,0,"t"],[5676,0,"h"],[5677,0,"a"],[5678,0,"t"],[5679,0," "],[5623,0,"t"],[5624,0,"o"],[5625,0," "],[5626,0,"o"],[5627,0,"u"],[5628,0,"r"],[5629,0," "],[5630,0,"k"],[5631,0,"n"],[5632,0,"o"],[5633,0,"w"],[5634,0,"l"],[5635,0,"e"],[5636,0,"d"],[5637,0,"g"],[5638,0,"e"],[5639,0," "],[5691,1],[5690,1],[5689,1],[5688,1],[5687,1],[5686,1],[5685,1],[5684,1],[5683,1],[5682,1],[5681,1],[5680,1],[5679,1],[5678,1],[5677,1],[5676,1],[5675,1],[5674,1],[5673,1],[5672,1],[5671,1],[5670,1],[5675,0,"s"],[5676,0,"u"],[5677,0,"p"],[5678,0,"p"],[5679,0,"o"],[5680,0,"r"],[5681,0,"t"],[5682,0,"s"],[5683,0," "],[5684,0,"a"],[5685,0,"r"],[5686,0,"b"],[5687,0,"i"],[5688,0,"t"],[5689,0,"r"],[5690,0,"a"],[5691,0,"r"],[5692,0,"y"],[5693,0," "],[5694,0,"n"],[5695,0,"e"],[5696,0,"s"],[5697,0,"t"],[5698,0,"i"],[5699,0,"n"],[5700,0,"g"],[5701,0," "],[5702,0,"o"],[5703,0,"f"],[5704,0," "],[5705,0,"l"],[5706,0,"i"],[5707,0,"s"],[5708,0,"t"],[5709,0,"s"],[5710,0," "],[5711,0,"a"],[5712,0,"n"],[5713,0,"d"],[5714,0," "],[5715,0,"m"],[5716,0,"a"],[5717,0,"p"],[5718,0,"s"],[5719,0,"."],[5720,0," "],[5721,0,"L"],[5722,0,"i"],[5723,0,"k"],[5724,0,"e"],[5725,0," "],[5726,0,"G"],[5727,0,"o"],[5728,0,"o"],[5729,0,"g"],[5730,0,"l"],[5731,0,"e"],[5732,0," "],[5733,0,"D"],[5734,0,"o"],[5735,0,"c"],[5736,0,"s"],[5737,0,","],[5738,0," "],[5739,0,"i"],[5740,0,"t"],[5741,0," "],[5742,0,"r"],[5743,0,"e"],[5744,0,"l"],[5745,0,"i"],[5746,0,"e"],[5747,0,"s"],[5748,0," "],[5749,0,"o"],[5750,0,"n"],[5751,0," "],[5752,0,"a"],[5753,0," "],[5754,0,"s"],[5755,0,"i"],[5756,0,"n"],[5757,0,"g"],[5758,0,"l"],[5759,0,"e"],[5760,0," "],[5761,0,"s"],[5762,0,"e"],[5763,0,"r"],[5764,0,"v"],[5765,0,"e"],[5766,0,"r"],[5767,0,"~"],[5768,0,"\\"],[5769,0,"c"],[5770,0,"i"],[5771,0,"t"],[5772,0,"e"],[5773,0,"{"],[5774,0,"L"],[5775,0,"e"],[5776,0,"m"],[5777,0,"o"],[5778,0,"n"],[5779,0,"i"],[5780,0,"k"],[5781,0,":"],[5782,0,"2"],[5783,0,"0"],[5784,0,"1"],[5785,0,"6"],[5786,0,"w"],[5787,0,"h"],[5788,0,"}"],[5789,0,"."],[5790,0," "],[5791,0,"A"],[5792,0,"s"],[5793,0," "],[5794,0,"a"],[5795,0," "],[5796,0,"p"],[5797,0,"r"],[5798,0,"o"],[5799,0,"p"],[5800,0,"r"],[5801,0,"i"],[5802,0,"e"],[5803,0,"t"],[5804,0,"a"],[5805,0,"r"],[5806,0,"y"],[5807,0," "],[5808,0,"p"],[5809,0,"r"],[5810,0,"o"],[5811,0,"d"],[5812,0,"u"],[5813,0,"c"],[5814,0,"t"],[5815,0,","],[5816,0," "],[5817,0,"d"],[5818,0,"e"],[5819,0,"t"],[5820,0,"a"],[5821,0,"i"],[5822,0,"l"],[5823,0,"s"],[5824,0," "],[5825,0,"o"],[5826,0,"f"],[5827,0," "],[5828,0,"i"],[5829,0,"t"],[5830,0,"s"],[5831,0," "],[5832,0,"a"],[5833,0,"l"],[5834,0,"g"],[5835,0,"o"],[5836,0,"r"],[5837,0,"i"],[5838,0,"t"],[5839,0,"h"],[5840,0,"m"],[5841,0,"s"],[5842,0," "],[5843,0,"h"],[5844,0,"a"],[5845,0,"v"],[5846,0,"e"],[5847,0," "],[5848,0,"n"],[5849,0,"o"],[5850,0,"t"],[5851,0," "],[5852,0,"b"],[5853,0,"e"],[5854,0,"e"],[5855,0,"n"],[5856,0," "],[5857,0,"p"],[5858,0,"u"],[5859,0,"b"],[5860,0,"l"],[5861,0,"i"],[5862,0,"s"],[5863,0,"h"],[5864,0,"e"],[5865,0,"d"],[5866,0,"."],[5867,0,"\n"],[5868,0,"\n"],[5869,0,"\\"],[5870,0,"s"],[5871,0,"u"],[5872,0,"b"],[5873,0,"s"],[5874,0,"e"],[5875,0,"c"],[5876,0,"t"],[5877,0,"i"],[5878,0,"o"],[5879,0,"n"],[5880,0,"{"],[5881,0,"C"],[5882,0,"R"],[5883,0,"D"],[5884,0,"T"],[5885,0,"s"],[5886,0,"}"],[5887,0,"\\"],[5888,0,"l"],[5889,0,"a"],[5890,0,"b"],[5891,0,"e"],[5892,0,"l"],[5893,0,"{"],[5894,0,"s"],[5895,0,"e"],[5896,0,"c"],[5897,0,":"],[5898,0,"r"],[5899,0,"e"],[5900,0,"l"],[5901,0,"a"],[5902,0,"t"],[5903,0,"e"],[5904,0,"d"],[5905,0,"-"],[5906,0,"c"],[5907,0,"r"],[5908,0,"d"],[5909,0,"t"],[5910,0,"s"],[5911,0,"}"],[5912,0,"\n"],[5913,0,"\n"],[5914,0,"C"],[5915,0,"R"],[5916,0,"D"],[5917,0,"T"],[5918,0,"s"],[5919,0," "],[5920,0,"f"],[5921,0,"o"],[5922,0,"r"],[5923,0," "],[5924,0,"r"],[5925,0,"e"],[5926,0,"g"],[5927,0,"i"],[5928,0,"s"],[5929,0,"t"],[5930,0,"e"],[5931,0,"r"],[5932,0,"s"],[5933,0,","],[5934,0," "],[5935,0,"c"],[5936,0,"o"],[5937,0,"u"],[5938,0,"n"],[5939,0,"t"],[5940,0,"e"],[5941,0,"r"],[5942,0,"s"],[5943,0,","],[5944,0," "],[5945,0,"m"],[5946,0,"a"],[5947,0,"p"],[5948,0,"s"],[5949,0," "],[5950,0,"a"],[5951,0,"n"],[5952,0,"d"],[5953,0," "],[5954,0,"s"],[5955,0,"e"],[5956,0,"t"],[5957,0,"s"],[5958,0," "],[5959,0,"a"],[5960,0,"r"],[5961,0,"e"],[5962,0," "],[5963,0,"w"],[5964,0,"i"],[5965,0,"d"],[5966,0,"e"],[5967,0,"l"],[5968,0,"y"],[5969,0," "],[5970,0,"k"],[5971,0,"n"],[5972,0,"o"],[5973,0,"w"],[5974,0,"n"],[5975,0,"~"],[5976,0,"\\"],[5977,0,"c"],[5978,0,"i"],[5979,0,"t"],[5980,0,"e"],[5981,0,"{"],[5982,0,"S"],[5983,0,"h"],[5984,0,"a"],[5985,0,"p"],[5986,0,"i"],[5987,0,"r"],[5988,0,"o"],[5989,0,":"],[5990,0,"2"],[5991,0,"0"],[5992,0,"1"],[5993,0,"1"],[5994,0,"u"],[5995,0,"n"],[5996,0,","],[5997,0,"S"],[5998,0,"h"],[5999,0,"a"],[6000,0,"p"],[6001,0,"i"],[6002,0,"r"],[6003,0,"o"],[6004,0,":"],[6005,0,"2"],[6006,0,"0"],[6007,0,"1"],[6008,0,"1"],[6009,0,"w"],[6010,0,"y"],[6011,0,"}"],[6012,0,","],[6013,0," "],[6014,0,"a"],[6015,0,"n"],[6016,0,"d"],[6017,0," "],[6018,0,"h"],[6019,0,"a"],[6020,0,"v"],[6021,0,"e"],[6022,0," "],[6023,0,"b"],[6024,0,"e"],[6025,0,"e"],[6026,0,"n"],[6027,0," "],[6028,0,"i"],[6029,0,"m"],[6030,0,"p"],[6031,0,"l"],[6032,0,"e"],[6033,0,"m"],[6034,0,"e"],[6035,0,"n"],[6036,0,"t"],[6037,0,"e"],[6038,0,"d"],[6039,0," "],[6040,0,"i"],[6041,0,"n"],[6042,0," "],[6043,0,"v"],[6044,0,"a"],[6045,0,"r"],[6046,0,"i"],[6047,0,"o"],[6048,0,"u"],[6049,0,"s"],[6050,0," "],[6051,0,"d"],[6052,0,"e"],[6053,0,"p"],[6054,0,"l"],[6055,0,"o"],[6056,0,"y"],[6057,0,"e"],[6058,0,"d"],[6059,0," "],[6060,0,"s"],[6061,0,"y"],[6062,0,"s"],[6063,0,"t"],[6064,0,"e"],[6065,0,"m"],[6066,0,"s"],[6067,0," "],[6068,0,"s"],[6069,0,"u"],[6070,0,"c"],[6071,0,"h"],[6072,0," "],[6073,0,"a"],[6074,0,"s"],[6075,0," "],[6076,0,"R"],[6077,0,"i"],[6078,0,"a"],[6079,0,"k"],[6080,0,"~"],[6081,0,"\\"],[6082,0,"c"],[6083,0,"i"],[6084,0,"t"],[6085,0,"e"],[6086,0,"{"],[6087,0,"B"],[6088,0,"r"],[6089,0,"o"],[6090,0,"w"],[6091,0,"n"],[6092,0,":"],[6093,0,"2"],[6094,0,"0"],[6095,0,"1"],[6096,0,"4"],[6097,0,"h"],[6098,0,"s"],[6099,0,","],[6100,0,"B"],[6101,0,"r"],[6102,0,"o"],[6103,0,"w"],[6104,0,"n"],[6105,0,":"],[6106,0,"2"],[6107,0,"0"],[6108,0,"1"],[6109,0,"3"],[6110,0,"w"],[6111,0,"y"],[6112,0,"}"],[6113,0,"."],[6114,0," "],[6115,0,"F"],[6116,0,"o"],[6117,0,"r"],[6118,0," "],[6119,0,"o"],[6120,0,"r"],[6121,0,"d"],[6122,0,"e"],[6123,0,"r"],[6124,0,"e"],[6125,0,"d"],[6126,0," "],[6127,0,"l"],[6128,0,"i"],[6129,0,"s"],[6130,0,"t"],[6131,0,"s"],[6132,0,","],[6133,0," "],[6134,0,"v"],[6135,0,"a"],[6136,0,"r"],[6137,0,"i"],[6138,0,"o"],[6139,0,"u"],[6140,0,"s"],[6141,0," "],[6142,0,"a"],[6143,0,"l"],[6144,0,"g"],[6145,0,"o"],[6146,0,"r"],[6147,0,"i"],[6148,0,"t"],[6149,0,"h"],[6150,0,"m"],[6151,0,"s"],[6152,0," "],[6153,0,"h"],[6154,0,"a"],[6155,0,"v"],[6156,0,"e"],[6157,0," "],[6158,0,"b"],[6159,0,"e"],[6160,0,"e"],[6161,0,"n"],[6162,0," "],[6163,0,"p"],[6164,0,"r"],[6165,0,"o"],[6166,0,"p"],[6167,0,"o"],[6168,0,"s"],[6169,0,"e"],[6170,0,"d"],[6171,0,","],[6172,0," "],[6173,0,"i"],[6174,0,"n"],[6175,0,"c"],[6176,0,"l"],[6177,0,"u"],[6177,1],[6177,0,"u"],[6178,0,"d"],[6179,0,"i"],[6180,0,"n"],[6181,0,"g"],[6182,0," "],[6183,0,"W"],[6184,0,"O"],[6185,0,"O"],[6186,0,"T"],[6187,0,"~"],[6188,0,"\\"],[6189,0,"c"],[6190,0,"i"],[6191,0,"t"],[6192,0,"e"],[6193,0,"{"],[6194,0,"O"],[6195,0,"s"],[6196,0,"t"],[6197,0,"e"],[6198,0,"r"],[6199,0,":"],[6200,0,"2"],[6201,0,"0"],[6202,0,"0"],[6203,0,"6"],[6204,0,"w"],[6205,0,"j"],[6206,0,"}"],[6207,0,","],[6208,0," "],[6209,0,"R"],[6210,0,"G"],[6211,0,"A"],[6212,0,"~"],[6213,0,"\\"],[6214,0,"c"],[6215,0,"i"],[6216,0,"t"],[6217,0,"e"],[6218,0,"{"],[6219,0,"R"],[6220,0,"o"],[6221,0,"h"],[6222,0,":"],[6223,0,"2"],[6224,0,"0"],[6225,0,"1"],[6226,0,"1"],[6227,0,"d"],[6228,0,"w"],[6229,0,"}"],[6230,0,","],[6231,0," "],[6232,0,"T"],[6233,0,"r"],[6234,0,"e"],[6235,0,"e"],[6236,0,"d"],[6237,0,"o"],[6238,0,"c"],[6239,0,"~"],[6240,0,"\\"],[6241,0,"c"],[6242,0,"i"],[6243,0,"t"],[6244,0,"e"],[6245,0,"{"],[6246,0,"P"],[6247,0,"r"],[6248,0,"e"],[6249,0,"g"],[6250,0,"u"],[6251,0,"i"],[6252,0,"c"],[6253,0,"a"],[6254,0,":"],[6255,0,"2"],[6256,0,"0"],[6257,0,"0"],[6258,0,"9"],[6259,0,"f"],[6260,0,"z"],[6261,0,"}"],[6262,0,","],[6263,0," "],[6264,0,"L"],[6265,0,"o"],[6266,0,"g"],[6267,0,"o"],[6268,0,"o"],[6269,0,"t"],[6270,0,"~"],[6271,0,"\\"],[6272,0,"c"],[6273,0,"i"],[6274,0,"t"],[6275,0,"e"],[6276,0,"{"],[6277,0,"W"],[6278,0,"e"],[6279,0,"i"],[6280,0,"s"],[6281,0,"s"],[6282,0,":"],[6283,0,"2"],[6284,0,"0"],[6285,0,"1"],[6286,0,"0"],[6287,0,"h"],[6288,0,"x"],[6289,0,"}"],[6290,0," "],[6291,0,"a"],[6292,0,"n"],[6293,0,"d"],[6294,0," "],[6295,0,"L"],[6296,0,"S"],[6297,0,"E"],[6298,0,"Q"],[6299,0,"~"],[6300,0,"\\"],[6301,0,"c"],[6302,0,"i"],[6303,0,"t"],[6304,0,"e"],[6305,0,"{"],[6306,0,"N"],[6307,0,"e"],[6308,0,"d"],[6309,0,"e"],[6310,0,"l"],[6311,0,"e"],[6312,0,"c"],[6313,0,":"],[6314,0,"2"],[6315,0,"0"],[6316,0,"1"],[6317,0,"3"],[6318,0,"k"],[6319,0,"y"],[6320,0,"}"],[6321,0,"."],[6322,0," "],[6323,0,"H"],[6324,0,"o"],[6325,0,"w"],[6326,0,"e"],[6327,0,"v"],[6328,0,"e"],[6329,0,"r"],[6330,0,","],[6331,0," "],[6332,0,"n"],[6333,0,"o"],[6334,0,"n"],[6335,0,"e"],[6336,0," "],[6337,0,"o"],[6338,0,"f"],[6339,0," "],[6340,0,"t"],[6341,0,"h"],[6342,0,"e"],[6343,0,"m"],[6344,0," "],[6345,0,"s"],[6346,0,"u"],[6347,0,"p"],[6348,0,"p"],[6349,0,"o"],[6350,0,"r"],[6351,0,"t"],[6352,0," "],[6353,0,"n"],[6354,0,"e"],[6355,0,"s"],[6356,0,"t"],[6357,0,"i"],[6358,0,"n"],[6359,0,"g"],[6360,0,":"],[6361,0," "],[6362,0,"t"],[6363,0,"h"],[6364,0,"e"],[6365,0,"y"],[6366,0," "],[6367,0,"a"],[6368,0,"s"],[6369,0,"s"],[6370,0,"u"],[6371,0,"m"],[6372,0,"e"],[6373,0," "],[6374,0,"t"],[6375,0,"h"],[6376,0,"a"],[6377,0,"t"],[6378,0," "],[6379,0,"t"],[6380,0,"h"],[6381,0,"e"],[6382,0," "],[6383,0,"e"],[6384,0,"l"],[6385,0,"e"],[6386,0,"m"],[6387,0,"e"],[6388,0,"n"],[6389,0,"t"],[6390,0,"s"],[6391,0," "],[6392,0,"o"],[6393,0,"f"],[6394,0," "],[6395,0,"t"],[6396,0,"h"],[6397,0,"e"],[6398,0," "],[6399,0,"C"],[6400,0,"R"],[6401,0,"D"],[6402,0,"T"],[6403,0," "],[6404,0,"m"],[6405,0,"a"],[6406,0,"p"],[6407,0," "],[6408,0,"o"],[6409,0,"r"],[6410,0," "],[6411,0,"l"],[6412,0,"i"],[6413,0,"s"],[6414,0,"t"],[6415,0," "],[6416,0,"a"],[6417,0,"r"],[6418,0,"e"],[6419,0," "],[6420,0,"a"],[6421,0,"t"],[6422,0,"o"],[6423,0,"m"],[6424,0,"i"],[6425,0,"c"],[6426,0," "],[6427,0,"v"],[6428,0,"a"],[6429,0,"l"],[6430,0,"u"],[6431,0,"e"],[6432,0,"s"],[6433,0,","],[6434,0," "],[6435,0,"n"],[6436,0,"o"],[6437,0,"t"],[6438,0," "],[6439,0,"a"],[6440,0,"n"],[6441,0,"o"],[6442,0,"t"],[6443,0,"h"],[6444,0,"e"],[6445,0,"r"],[6446,0," "],[6447,0,"C"],[6448,0,"R"],[6449,0,"D"],[6450,0,"T"],[6451,0,"."],[6452,0,"\n"],[6453,0,"\n"],[6454,0,"T"],[6455,0,"h"],[6456,0,"e"],[6457,0," "],[6458,0,"p"],[6459,0,"r"],[6460,0,"o"],[6461,0,"b"],[6462,0,"l"],[6463,0,"e"],[6464,0,"m"],[6465,0," "],[6466,0,"o"],[6467,0,"f"],[6468,0," "],[6469,0,"n"],[6470,0,"e"],[6471,0,"s"],[6472,0,"t"],[6473,0,"i"],[6474,0,"n"],[6475,0,"g"],[6476,0," "],[6477,0,"o"],[6478,0,"n"],[6479,0,"e"],[6480,0," "],[6481,0,"C"],[6482,0,"R"],[6483,0,"D"],[6484,0,"T"],[6485,0," "],[6486,0,"i"],[6487,0,"n"],[6488,0,"s"],[6489,0,"i"],[6490,0,"d"],[6491,0,"e"],[6492,0," "],[6493,0,"a"],[6494,0,"n"],[6495,0,"o"],[6496,0,"t"],[6497,0,"h"],[6498,0,"e"],[6499,0,"r"],[6500,0," "],[6501,0,"("],[6502,0,"a"],[6503,0,"l"],[6504,0,"s"],[6505,0,"o"],[6506,0," "],[6507,0,"k"],[6508,0,"n"],[6509,0,"o"],[6510,0,"w"],[6511,0,"n"],[6512,0," "],[6513,0,"a"],[6514,0,"s"],[6515,0," "],[6516,0,"\\"],[6517,0,"e"],[6518,0,"m"],[6519,0,"p"],[6520,0,"h"],[6521,0,"{"],[6522,0,"c"],[6523,0,"o"],[6524,0,"m"],[6525,0,"p"],[6526,0,"o"],[6527,0,"s"],[6528,0,"i"],[6529,0,"t"],[6530,0,"i"],[6531,0,"o"],[6532,0,"n"],[6533,0,"}"],[6534,0," "],[6535,0,"o"],[6536,0,"r"],[6537,0," "],[6538,0,"\\"],[6539,0,"e"],[6540,0,"m"],[6541,0,"p"],[6542,0,"h"],[6543,0,"{"],[6544,0,"e"],[6545,0,"m"],[6546,0,"b"],[6547,0,"e"],[6548,0,"d"],[6549,0,"d"],[6550,0,"i"],[6551,0,"n"],[6552,0,"g"],[6553,0,"}"],[6554,0,")"],[6555,0," "],[6556,0,"h"],[6557,0,"a"],[6558,0,"s"],[6559,0," "],[6560,0,"o"],[6561,0,"n"],[6562,0,"l"],[6563,0,"y"],[6564,0," "],[6565,0,"b"],[6566,0,"e"],[6567,0,"e"],[6568,0,"n"],[6569,0," "],[6570,0,"s"],[6571,0,"t"],[6572,0,"u"],[6573,0,"d"],[6574,0,"i"],[6575,0,"e"],[6576,0,"d"],[6577,0," "],[6578,0,"m"],[6579,0,"o"],[6580,0,"r"],[6581,0,"e"],[6582,0," "],[6583,0,"r"],[6584,0,"e"],[6585,0,"c"],[6586,0,"e"],[6587,0,"n"],[6588,0,"t"],[6589,0,"l"],[6590,0,"y"],[6591,0,"."],[6592,0," "],[6593,0,"R"],[6594,0,"i"],[6595,0,"a"],[6596,0,"k"],[6597,0," "],[6598,0,"a"],[6599,0,"l"],[6600,0,"l"],[6601,0,"o"],[6602,0,"w"],[6603,0,"s"],[6604,0," "],[6605,0,"n"],[6606,0,"e"],[6607,0,"s"],[6608,0,"t"],[6609,0,"i"],[6610,0,"n"],[6611,0,"g"],[6612,0," "],[6613,0,"o"],[6614,0,"f"],[6615,0," "],[6616,0,"c"],[6617,0,"o"],[6618,0,"u"],[6619,0,"n"],[6620,0,"t"],[6621,0,"e"],[6622,0,"r"],[6623,0,"s"],[6624,0," "],[6625,0,"a"],[6626,0,"n"],[6627,0,"d"],[6628,0," "],[6629,0,"r"],[6630,0,"e"],[6631,0,"g"],[6632,0,"i"],[6633,0,"s"],[6634,0,"t"],[6635,0,"e"],[6636,0,"r"],[6637,0,"s"],[6638,0," "],[6639,0,"i"],[6640,0,"n"],[6641,0,"s"],[6642,0,"i"],[6643,0,"d"],[6644,0,"e"],[6645,0," "],[6646,0,"m"],[6647,0,"a"],[6648,0,"p"],[6649,0,"s"],[6650,0,","],[6651,0," "],[6652,0,"a"],[6653,0,"n"],[6654,0,"d"],[6655,0," "],[6656,0,"o"],[6657,0,"f"],[6658,0," "],[6659,0,"m"],[6660,0,"a"],[6661,0,"p"],[6662,0,"s"],[6663,0," "],[6664,0,"w"],[6665,0,"i"],[6666,0,"t"],[6667,0,"h"],[6668,0,"i"],[6669,0,"n"],[6670,0," "],[6671,0,"o"],[6672,0,"t"],[6673,0,"h"],[6674,0,"e"],[6675,0,"r"],[6676,0," "],[6677,0,"m"],[6678,0,"a"],[6679,0,"p"],[6680,0,"s"],[6681,0,"~"],[6682,0,"\\"],[6683,0,"c"],[6684,0,"i"],[6685,0,"t"],[6686,0,"e"],[6687,0,"{"],[6688,0,"B"],[6689,0,"r"],[6690,0,"o"],[6691,0,"w"],[6692,0,"n"],[6693,0,":"],[6694,0,"2"],[6695,0,"0"],[6696,0,"1"],[6697,0,"4"],[6698,0,"h"],[6699,0,"s"],[6700,0,","],[6701,0,"B"],[6702,0,"r"],[6703,0,"o"],[6704,0,"w"],[6705,0,"n"],[6706,0,":"],[6707,0,"2"],[6708,0,"0"],[6709,0,"1"],[6710,0,"3"],[6711,0,"w"],[6712,0,"y"],[6713,0,"}"],[6714,0,"."],[6715,0," "],[6716,0,"E"],[6717,0,"m"],[6718,0,"b"],[6719,0,"e"],[6720,0,"d"],[6721,0,"d"],[6722,0,"i"],[6723,0,"n"],[6724,0,"g"],[6725,0," "],[6726,0,"c"],[6727,0,"o"],[6728,0,"u"],[6729,0,"n"],[6730,0,"t"],[6731,0,"e"],[6732,0,"r"],[6733,0,"s"],[6734,0," "],[6735,0,"i"],[6736,0,"n"],[6737,0,"s"],[6738,0,"i"],[6739,0,"d"],[6740,0,"e"],[6741,0," "],[6742,0,"m"],[6743,0,"a"],[6744,0,"p"],[6745,0,"s"],[6746,0," "],[6747,0,"r"],[6748,0,"a"],[6749,0,"i"],[6750,0,"s"],[6751,0,"e"],[6752,0,"s"],[6753,0," "],[6754,0,"q"],[6755,0,"u"],[6756,0,"e"],[6757,0,"s"],[6758,0,"t"],[6759,0,"i"],[6760,0,"o"],[6761,0,"n"],[6762,0,"s"],[6763,0," "],[6764,0,"o"],[6765,0,"f"],[6766,0," "],[6767,0,"s"],[6768,0,"e"],[6769,0,"m"],[6770,0,"a"],[6771,0,"n"],[6772,0,"t"],[6773,0,"i"],[6774,0,"c"],[6775,0,"s"],[6776,0,","],[6777,0," "],[6778,0,"w"],[6779,0,"h"],[6780,0,"i"],[6781,0,"c"],[6782,0,"h"],[6783,0," "],[6784,0,"h"],[6785,0,"a"],[6786,0,"v"],[6787,0,"e"],[6788,0," "],[6789,0,"b"],[6790,0,"e"],[6791,0,"e"],[6792,0,"n"],[6793,0," "],[6794,0,"s"],[6795,0,"t"],[6796,0,"u"],[6797,0,"d"],[6798,0,"i"],[6799,0,"e"],[6800,0,"d"],[6801,0," "],[6802,0,"b"],[6803,0,"y"],[6804,0," "],[6805,0,"B"],[6806,0,"a"],[6807,0,"q"],[6808,0,"u"],[6809,0,"e"],[6810,0,"r"],[6811,0,"o"],[6812,0,","],[6813,0," "],[6814,0,"A"],[6815,0,"l"],[6816,0,"m"],[6817,0,"e"],[6818,0,"i"],[6819,0,"d"],[6820,0,"a"],[6821,0," "],[6822,0,"a"],[6823,0,"n"],[6824,0,"d"],[6825,0," "],[6826,0,"L"],[6827,0,"e"],[6828,0,"r"],[6829,0,"c"],[6830,0,"h"],[6831,0,"e"],[6832,0,"~"],[6833,0,"\\"],[6834,0,"c"],[6835,0,"i"],[6836,0,"t"],[6837,0,"e"],[6838,0,"{"],[6839,0,"B"],[6840,0,"a"],[6841,0,"q"],[6842,0,"u"],[6843,0,"e"],[6844,0,"r"],[6845,0,"o"],[6846,0,":"],[6847,0,"2"],[6848,0,"0"],[6849,0,"1"],[6850,0,"6"],[6851,0,"i"],[6852,0,"v"],[6853,0,"}"],[6854,0,"."],[6855,0," "],[6856,0,"A"],[6857,0,"l"],[6858,0,"m"],[6859,0,"e"],[6860,0,"i"],[6861,0,"d"],[6862,0,"a"],[6863,0," "],[6864,0,"e"],[6865,0,"t"],[6866,0," "],[6867,0,"a"],[6868,0,"."],[6868,1],[6868,0,"l"],[6869,0,"."],[6870,0,"~"],[6871,0,"\\"],[6872,0,"c"],[6873,0,"i"],[6874,0,"t"],[6875,0,"e"],[6876,0,"{"],[6877,0,"A"],[6878,0,"l"],[6879,0,"m"],[6880,0,"e"],[6881,0,"i"],[6882,0,"d"],[6883,0,"a"],[6884,0,":"],[6885,0,"2"],[6886,0,"0"],[6887,0,"1"],[6888,0,"6"],[6889,0,"t"],[6890,0,"k"],[6891,0,"}"],[6892,0," "],[6893,0,"a"],[6894,0,"l"],[6895,0,"s"],[6896,0,"o"],[6897,0," "],[6898,0,"d"],[6899,0,"e"],[6900,0,"f"],[6901,0,"i"],[6902,0,"n"],[6903,0,"e"],[6904,0," "],[6905,0,"d"],[6906,0,"e"],[6907,0,"l"],[6908,0,"t"],[6909,0,"a"],[6910,0," "],[6911,0,"m"],[6912,0,"u"],[6913,0,"t"],[6914,0,"a"],[6915,0,"t"],[6916,0,"i"],[6917,0,"o"],[6918,0,"n"],[6919,0,"s"],[6920,0," "],[6921,0,"f"],[6922,0,"o"],[6923,0,"r"],[6924,0," "],[6925,0,"n"],[6926,0,"e"],[6927,0,"s"],[6928,0,"t"],[6929,0,"e"],[6930,0,"d"],[6931,0," "],[6932,0,"m"],[6933,0,"a"],[6934,0,"p"],[6935,0,"s"],[6936,0,","],[6937,0," "],[6938,0,"a"],[6939,0,"n"],[6940,0,"d"],[6941,0," "],[6942,0,"B"],[6943,0,"a"],[6944,0,"q"],[6945,0,"u"],[6946,0,"e"],[6947,0,"r"],[6948,0,"o"],[6949,0," "],[6950,0,"e"],[6951,0,"t"],[6952,0," "],[6953,0,"a"],[6954,0,"l"],[6955,0,"."],[6956,0,"~"],[6957,0,"\\"],[6958,0,"c"],[6959,0,"i"],[6960,0,"t"],[6961,0,"e"],[6962,0,"{"],[6963,0,"B"],[6964,0,"a"],[6965,0,"q"],[6966,0,"u"],[6967,0,"e"],[6968,0,"r"],[6969,0,"o"],[6970,0,":"],[6971,0,"2"],[6972,0,"0"],[6973,0,"1"],[6974,0,"5"],[6975,0,"t"],[6976,0,"m"],[6977,0,"}"],[6978,0," "],[6979,0,"d"],[6980,0,"e"],[6981,0,"f"],[6982,0,"i"],[6983,0,"n"],[6984,0,"e"],[6985,0," "],[6986,0,"a"],[6987,0," "],[6988,0,"t"],[6989,0,"h"],[6990,0,"e"],[6991,0,"o"],[6992,0,"r"],[6993,0,"e"],[6994,0,"t"],[6995,0,"i"],[6996,0,"c"],[6997,0,"a"],[6998,0,"l"],[6999,0," "],[7000,0,"f"],[7001,0,"r"],[7002,0,"a"],[7003,0,"m"],[7004,0,"e"],[7005,0,"w"],[7006,0,"o"],[7007,0,"r"],[7008,0,"k"],[7009,0," "],[7010,0,"f"],[7011,0,"o"],[7012,0,"r"],[7013,0," "],[7014,0,"c"],[7015,0,"o"],[7016,0,"m"],[7017,0,"p"],[7018,0,"o"],[7019,0,"s"],[7020,0,"i"],[7021,0,"t"],[7022,0,"i"],[7023,0,"o"],[7024,0,"n"],[7025,0," "],[7026,0,"o"],[7027,0,"f"],[7028,0," "],[7029,0,"s"],[7030,0,"t"],[7031,0,"a"],[7032,0,"t"],[7033,0,"e"],[7034,0,"-"],[7035,0,"b"],[7036,0,"a"],[7037,0,"s"],[7038,0,"e"],[7039,0,"d"],[7040,0," "],[7041,0,"C"],[7042,0,"R"],[7043,0,"D"],[7044,0,"T"],[7045,0,"s"],[7046,0,","],[7047,0," "],[7048,0,"b"],[7049,0,"a"],[7050,0,"s"],[7051,0,"e"],[7052,0,"d"],[7053,0," "],[7054,0,"o"],[7055,0,"n"],[7056,0," "],[7057,0,"l"],[7058,0,"a"],[7059,0,"t"],[7060,0,"t"],[7061,0,"i"],[7062,0,"c"],[7063,0,"e"],[7064,0,"s"],[7065,0,"."],[7066,0," "],[7067,0,"N"],[7068,0,"o"],[7069,0,"n"],[7070,0,"e"],[7071,0," "],[7072,0,"o"],[7073,0,"f"],[7074,0," "],[7075,0,"t"],[7076,0,"h"],[7077,0,"i"],[7078,0,"s"],[7079,0," "],[7080,0,"w"],[7081,0,"o"],[7082,0,"r"],[7083,0,"k"],[7084,0," "],[7085,0,"i"],[7086,0,"n"],[7087,0,"t"],[7088,0,"e"],[7089,0,"g"],[7090,0,"r"],[7091,0,"a"],[7092,0,"t"],[7093,0,"e"],[7094,0,"s"],[7095,0," "],[7096,0,"C"],[7097,0,"R"],[7098,0,"D"],[7099,0,"T"],[7100,0,"s"],[7101,0," "],[7102,0,"f"],[7103,0,"o"],[7104,0,"r"],[7105,0," "],[7106,0,"o"],[7107,0,"r"],[7108,0,"d"],[7109,0,"e"],[7110,0,"r"],[7111,0,"e"],[7112,0,"d"],[7113,0," "],[7114,0,"l"],[7115,0,"i"],[7116,0,"s"],[7117,0,"t"],[7118,0,"s"],[7119,0,","],[7120,0," "],[7121,0,"b"],[7122,0,"u"],[7123,0,"t"],[7124,0," "],[7125,0,"t"],[7126,0,"h"],[7127,0,"e"],[7128,0," "],[7129,0,"t"],[7130,0,"r"],[7131,0,"e"],[7132,0,"a"],[7133,0,"t"],[7134,0,"m"],[7135,0,"e"],[7136,0,"n"],[7137,0,"t"],[7138,0," "],[7139,0,"o"],[7140,0,"f"],[7141,0," "],[7142,0,"c"],[7143,0,"a"],[7144,0,"u"],[7145,0,"s"],[7146,0,"a"],[7147,0,"l"],[7148,0,"i"],[7149,0,"t"],[7150,0,"y"],[7151,0," "],[7152,0,"i"],[7153,0,"n"],[7154,0," "],[7155,0,"t"],[7156,0,"h"],[7157,0,"e"],[7158,0,"s"],[7159,0,"e"],[7160,0," "],[7161,0,"d"],[7162,0,"a"],[7163,0,"t"],[7164,0,"a"],[7165,0,"t"],[7166,0,"y"],[7167,0,"p"],[7168,0,"e"],[7169,0,"s"],[7170,0," "],[7171,0,"f"],[7172,0,"o"],[7173,0,"r"],[7174,0,"m"],[7175,0,"s"],[7176,0," "],[7177,0,"a"],[7178,0," "],[7179,0,"b"],[7180,0,"a"],[7181,0,"s"],[7182,0,"i"],[7183,0,"s"],[7184,0," "],[7185,0,"f"],[7186,0,"o"],[7187,0,"r"],[7188,0," "],[7189,0,"t"],[7190,0,"h"],[7191,0,"e"],[7192,0," "],[7193,0,"s"],[7194,0,"e"],[7195,0,"m"],[7196,0,"a"],[7197,0,"n"],[7198,0,"t"],[7199,0,"i"],[7200,0,"c"],[7201,0,"s"],[7202,0," "],[7203,0,"d"],[7204,0,"e"],[7205,0,"v"],[7206,0,"e"],[7207,0,"l"],[7208,0,"o"],[7209,0,"p"],[7210,0,"e"],[7211,0,"d"],[7212,0," "],[7213,0,"i"],[7214,0,"n"],[7215,0," "],[7216,0,"t"],[7217,0,"h"],[7218,0,"i"],[7219,0,"s"],[7220,0," "],[7221,0,"p"],[7222,0,"a"],[7223,0,"p"],[7224,0,"e"],[7225,0,"r"],[7226,0,"."],[7227,0,"\n"],[7228,0,"\n"],[7229,0,"B"],[7230,0,"u"],[7231,0,"r"],[7232,0,"c"],[7233,0,"k"],[7234,0,"h"],[7235,0,"a"],[7236,0,"r"],[7237,0,"d"],[7238,0,"t"],[7239,0," "],[7240,0,"e"],[7241,0,"t"],[7242,0," "],[7243,0,"a"],[7244,0,"l"],[7245,0,"."],[7246,0,"Z"],[7247,0,"~"],[7247,1],[7246,1],[7246,0,"|"],[7247,0,"~"],[7247,1],[7246,1],[7246,0,"|"],[7246,1],[7246,0,"~"],[7247,0,"\\"],[7248,0,"c"],[7249,0,"i"],[7250,0,"t"],[7251,0,"e"],[7252,0,"{"],[7253,0,"B"],[7254,0,"u"],[7255,0,"r"],[7256,0,"c"],[7257,0,"k"],[7258,0,"h"],[7259,0,"a"],[7260,0,"r"],[7261,0,"d"],[7262,0,"t"],[7263,0,":"],[7264,0,"2"],[7265,0,"0"],[7266,0,"1"],[7267,0,"2"],[7268,0,"j"],[7269,0,"y"],[7270,0,"}"],[7271,0," "],[7272,0,"d"],[7273,0,"e"],[7274,0,"f"],[7275,0,"i"],[7276,0,"n"],[7277,0,"e"],[7278,0," "],[7279,0,"\\"],[7280,0,"e"],[7281,0,"m"],[7282,0,"p"],[7283,0,"h"],[7284,0,"{"],[7285,0,"c"],[7286,0,"l"],[7287,0,"o"],[7288,0,"u"],[7289,0,"d"],[7290,0," "],[7291,0,"t"],[7292,0,"y"],[7293,0,"p"],[7294,0,"e"],[7295,0,"s"],[7296,0,"}"],[7297,0,","],[7298,0," "],[7299,0,"w"],[7300,0,"h"],[7301,0,"i"],[7302,0,"c"],[7303,0,"h"],[7304,0," "],[7305,0,"a"],[7306,0,"r"],[7307,0,"e"],[7308,0," "],[7309,0,"s"],[7310,0,"i"],[7311,0,"m"],[7312,0,"i"],[7313,0,"l"],[7314,0,"a"],[7315,0,"r"],[7316,0," "],[7317,0,"t"],[7318,0,"o"],[7319,0," "],[7320,0,"C"],[7321,0,"R"],[7322,0,"D"],[7323,0,"T"],[7324,0,"s"],[7325,0," "],[7326,0,"a"],[7327,0,"n"],[7328,0,"d"],[7329,0," "],[7330,0,"c"],[7331,0,"a"],[7332,0,"n"],[7333,0," "],[7334,0,"b"],[7335,0,"e"],[7336,0," "],[7337,0,"c"],[7338,0,"o"],[7339,0,"m"],[7340,0,"p"],[7341,0,"o"],[7342,0,"s"],[7343,0,"e"],[7344,0,"d"],[7345,0,"."],[7346,0," "],[7347,0,"T"],[7348,0,"h"],[7349,0,"e"],[7350,0,"y"],[7351,0," "],[7352,0,"d"],[7353,0,"e"],[7354,0,"f"],[7355,0,"i"],[7356,0,"n"],[7357,0,"e"],[7358,0," "],[7359,0,"\\"],[7360,0,"e"],[7361,0,"m"],[7362,0,"p"],[7363,0,"h"],[7364,0,"{"],[7365,0,"c"],[7366,0,"l"],[7367,0,"o"],[7368,0,"u"],[7369,0,"d"],[7370,0," "],[7371,0,"a"],[7372,0,"r"],[7373,0,"r"],[7374,0,"a"],[7375,0,"y"],[7376,0,"s"],[7377,0,"}"],[7378,0,","],[7379,0," "],[7380,0,"w"],[7381,0,"h"],[7382,0,"i"],[7383,0,"c"],[7384,0,"h"],[7385,0," "],[7386,0,"b"],[7387,0,"e"],[7388,0,"h"],[7389,0,"a"],[7390,0,"v"],[7391,0,"e"],[7392,0," "],[7393,0,"s"],[7394,0,"i"],[7395,0,"m"],[7396,0,"i"],[7397,0,"l"],[7398,0,"a"],[7399,0,"r"],[7400,0,"l"],[7401,0,"y"],[7402,0," "],[7403,0,"t"],[7404,0,"o"],[7405,0," "],[7406,0,"o"],[7407,0,"u"],[7408,0,"r"],[7409,0," "],[7410,0,"m"],[7411,0,"a"],[7412,0,"p"],[7413,0," "],[7414,0,"d"],[7415,0,"a"],[7416,0,"t"],[7417,0,"a"],[7418,0,"t"],[7419,0,"y"],[7420,0,"p"],[7421,0,"e"],[7422,0,"s"],[7422,1],[7422,0,","],[7423,0," "],[7424,0,"a"],[7425,0,"n"],[7426,0,"d"],[7427,0," "],[7428,0,"\\"],[7429,0,"e"],[7430,0,"m"],[7431,0,"p"],[7432,0,"h"],[7433,0,"{"],[7434,0,"e"],[7435,0,"n"],[7436,0,"t"],[7437,0,"i"],[7438,0,"t"],[7439,0,"i"],[7440,0,"e"],[7441,0,"s"],[7442,0,"}"],[7443,0,","],[7444,0," "],[7445,0,"w"],[7446,0,"h"],[7447,0,"i"],[7448,0,"c"],[7449,0,"h"],[7450,0," "],[7451,0,"a"],[7452,0,"r"],[7453,0,"e"],[7454,0," "],[7455,0,"l"],[7456,0,"i"],[7457,0,"k"],[7458,0,"e"],[7459,0," "],[7460,0,"u"],[7461,0,"n"],[7462,0,"o"],[7463,0,"r"],[7464,0,"d"],[7465,0,"e"],[7466,0,"r"],[7467,0,"e"],[7468,0,"d"],[7469,0," "],[7470,0,"s"],[7471,0,"e"],[7472,0,"t"],[7473,0,"s"],[7474,0," "],[7475,0,"o"],[7476,0,"r"],[7477,0," "],[7478,0,"r"],[7479,0,"e"],[7480,0,"l"],[7481,0,"a"],[7482,0,"t"],[7483,0,"i"],[7484,0,"o"],[7485,0,"n"],[7486,0,"s"],[7487,0,";"],[7488,0," "],[7489,0,"o"],[7490,0,"r"],[7491,0,"d"],[7492,0,"e"],[7493,0,"r"],[7494,0,"e"],[7495,0,"d"],[7496,0," "],[7497,0,"l"],[7498,0,"i"],[7499,0,"s"],[7500,0,"t"],[7501,0,"s"],[7502,0," "],[7503,0,"a"],[7504,0,"r"],[7505,0,"e"],[7506,0," "],[7507,0,"n"],[7508,0,"o"],[7509,0,"t"],[7510,0," "],[7511,0,"d"],[7512,0,"e"],[7513,0,"f"],[7514,0,"i"],[7515,0,"n"],[7516,0,"e"],[7517,0,"d"],[7518,0," "],[7519,0,"i"],[7520,0,"n"],[7521,0," "],[7522,0,"t"],[7523,0,"h"],[7524,0,"i"],[7525,0,"s"],[7526,0," "],[7527,0,"f"],[7528,0,"r"],[7529,0,"a"],[7530,0,"m"],[7531,0,"e"],[7532,0,"o"],[7533,0,"w"],[7533,1],[7532,1],[7532,0,"w"],[7533,0,"o"],[7534,0,"r"],[7535,0,"k"],[7536,0,"."],[7537,0," "],[7538,0,"O"],[7539,0,"u"],[7540,0,"r"],[7541,0," "],[7542,0,"\\"],[7543,0,"t"],[7544,0,"e"],[7545,0,"x"],[7546,0,"t"],[7547,0,"s"],[7548,0,"f"],[7549,0,"{"],[7550,0,"y"],[7551,0,"i"],[7552,0,"e"],[7553,0,"l"],[7554,0,"d"],[7555,0,"}"],[7556,0," "],[7557,0,"s"],[7558,0,"t"],[7559,0,"a"],[7560,0,"t"],[7561,0,"e"],[7562,0,"m"],[7563,0,"e"],[7564,0,"n"],[7565,0,"t"],[7566,0," "],[7567,0,"i"],[7568,0,"s"],[7569,0," "],[7570,0,"i"],[7571,0,"n"],[7572,0,"s"],[7573,0,"p"],[7574,0,"i"],[7575,0,"r"],[7576,0,"e"],[7577,0,"d"],[7578,0," "],[7579,0,"b"],[7580,0,"y"],[7581,0," "],[7582,0,"B"],[7583,0,"u"],[7584,0,"r"],[7585,0,"c"],[7586,0,"k"],[7587,0,"h"],[7588,0,"a"],[7589,0,"r"],[7590,0,"d"],[7591,0,"t"],[7592,0," "],[7593,0,"e"],[7594,0,"t"],[7595,0," "],[7596,0,"a"],[7597,0,"l"],[7598,0,"."],[7599,0,"\n"],[7600,0,"\n"],[7601,0,"A"],[7602,0,"l"],[7603,0,"t"],[7604,0,"h"],[7605,0,"o"],[7606,0,"u"],[7607,0,"g"],[7608,0,"h"],[7609,0," "],[7610,0,"C"],[7611,0,"R"],[7612,0,"D"],[7613,0,"T"],[7614,0,"s"],[7615,0," "],[7616,0,"f"],[7617,0,"o"],[7618,0,"r"],[7619,0," "],[7620,0,"r"],[7621,0,"e"],[7622,0,"g"],[7623,0,"i"],[7624,0,"s"],[7625,0,"t"],[7626,0,"e"],[7627,0,"r"],[7628,0,"s"],[7629,0,","],[7630,0," "],[7631,0,"m"],[7632,0,"a"],[7633,0,"p"],[7634,0,"s"],[7635,0," "],[7636,0,"a"],[7637,0,"n"],[7638,0,"d"],[7639,0," "],[7640,0,"o"],[7641,0,"r"],[7642,0,"d"],[7643,0,"e"],[7644,0,"r"],[7645,0,"e"],[7646,0,"d"],[7647,0," "],[7648,0,"l"],[7649,0,"i"],[7650,0,"s"],[7651,0,"t"],[7652,0,"s"],[7653,0," "],[7654,0,"h"],[7655,0,"a"],[7656,0,"v"],[7657,0,"e"],[7658,0," "],[7659,0,"e"],[7660,0,"x"],[7661,0,"i"],[7662,0,"s"],[7663,0,"t"],[7664,0,"e"],[7665,0,"d"],[7666,0," "],[7667,0,"f"],[7668,0,"o"],[7669,0,"r"],[7670,0," "],[7671,0,"y"],[7672,0,"e"],[7673,0,"a"],[7674,0,"r"],[7675,0,"s"],[7676,0," "],[7677,0,"i"],[7678,0,"n"],[7679,0," "],[7680,0,"i"],[7681,0,"s"],[7682,0,"o"],[7683,0,"l"],[7684,0,"a"],[7685,0,"t"],[7686,0,"i"],[7687,0,"o"],[7688,0,"n"],[7689,0,","],[7690,0," "],[7691,0,"w"],[7692,0,"e"],[7693,0," "],[7694,0,"a"],[7695,0,"r"],[7696,0,"e"],[7697,0," "],[7698,0,"n"],[7699,0,"o"],[7700,0,"t"],[7701,0," "],[7702,0,"a"],[7703,0,"w"],[7704,0,"a"],[7705,0,"r"],[7706,0,"e"],[7707,0," "],[7708,0,"o"],[7709,0,"f"],[7710,0," "],[7711,0,"a"],[7712,0,"n"],[7713,0,"y"],[7714,0," "],[7715,0,"p"],[7716,0,"r"],[7717,0,"i"],[7718,0,"o"],[7719,0,"r"],[7720,0," "],[7721,0,"w"],[7722,0,"o"],[7723,0,"r"],[7724,0,"k"],[7725,0," "],[7726,0,"t"],[7727,0,"h"],[7728,0,"a"],[7729,0,"t"],[7730,0," "],[7731,0,"a"],[7732,0,"l"],[7733,0,"l"],[7734,0,"o"],[7735,0,"w"],[7736,0,"s"],[7737,0," "],[7738,0,"t"],[7739,0,"h"],[7740,0,"e"],[7741,0,"m"],[7742,0," "],[7743,0,"a"],[7744,0,"l"],[7745,0,"l"],[7746,0,"t"],[7747,0," "],[7747,1],[7746,1],[7746,0," "],[7747,0,"t"],[7748,0,"o"],[7749,0," "],[7750,0,"b"],[7751,0,"e"],[7752,0," "],[7753,0,"c"],[7754,0,"o"],[7755,0,"m"],[7756,0,"p"],[7757,0,"o"],[7758,0,"s"],[7759,0,"e"],[7760,0,"d"],[7761,0," "],[7762,0,"i"],[7763,0,"n"],[7764,0,"t"],[7765,0,"o"],[7766,0," "],[7767,0,"a"],[7768,0,"n"],[7769,0," "],[7770,0,"a"],[7771,0,"r"],[7772,0,"b"],[7773,0,"i"],[7774,0,"t"],[7775,0,"r"],[7776,0,"a"],[7777,0,"r"],[7778,0,"i"],[7779,0,"l"],[7780,0,"y"],[7781,0," "],[7782,0,"n"],[7783,0,"e"],[7784,0,"s"],[7785,0,"t"],[7786,0,"e"],[7787,0,"d"],[7788,0," "],[7789,0,"C"],[7790,0,"R"],[7791,0,"D"],[7792,0,"T"],[7793,0," "],[7794,0,"w"],[7795,0,"i"],[7796,0,"t"],[7797,0,"h"],[7798,0," "],[7799,0,"a"],[7800,0," "],[7801,0,"J"],[7802,0,"S"],[7803,0,"O"],[7804,0,"N"],[7805,0,"-"],[7806,0,"l"],[7807,0,"i"],[7808,0,"k"],[7809,0,"e"],[7810,0," "],[7811,0,"s"],[7812,0,"t"],[7813,0,"r"],[7814,0,"u"],[7815,0,"c"],[7816,0,"t"],[7817,0,"u"],[7818,0,"r"],[7819,0,"e"],[7820,0,"."],[7821,0,"\n"],[7822,0,"\n"],[7823,0,"\\"],[7824,0,"s"],[7825,0,"u"],[7826,0,"b"],[7827,0,"s"],[7828,0,"e"],[7829,0,"c"],[7830,0,"t"],[7831,0,"i"],[7832,0,"o"],[7833,0,"n"],[7834,0,"{"],[7835,0,"O"],[7836,0,"t"],[7837,0,"h"],[7838,0,"e"],[7839,0,"r"],[7840,0," "],[7841,0,"a"],[7842,0,"p"],[7843,0,"p"],[7844,0,"r"],[7845,0,"o"],[7846,0,"a"],[7847,0,"c"],[7848,0,"h"],[7849,0,"e"],[7850,0,"s"],[7851,0,"}"],[7852,0,"\\"],[7853,0,"l"],[7854,0,"a"],[7855,0,"b"],[7856,0,"e"],[7857,0,"l"],[7858,0,"{"],[7859,0,"s"],[7860,0,"e"],[7861,0,"c"],[7862,0,":"],[7863,0,"r"],[7864,0,"e"],[7865,0,"l"],[7866,0,"a"],[7867,0,"t"],[7868,0,"e"],[7869,0,"d"],[7870,0,"-"],[7871,0,"o"],[7872,0,"t"],[7873,0,"h"],[7874,0,"e"],[7875,0,"r"],[7876,0,"}"],[7877,0,"\n"],[7878,0,"\n"],[7879,0,"M"],[7880,0,"a"],[7881,0,"n"],[7882,0,"y"],[7883,0," "],[7884,0,"r"],[7885,0,"e"],[7886,0,"p"],[7887,0,"l"],[7888,0,"i"],[7889,0,"c"],[7890,0,"a"],[7891,0,"t"],[7892,0,"e"],[7893,0,"d"],[7894,0," "],[7895,0,"d"],[7896,0,"a"],[7897,0,"t"],[7898,0,"a"],[7899,0," "],[7900,0,"s"],[7901,0,"y"],[7902,0,"s"],[7903,0,"t"],[7904,0,"e"],[7905,0,"m"],[7906,0,"s"],[7907,0," "],[7908,0,"n"],[7909,0,"e"],[7910,0,"e"],[7911,0,"d"],[7912,0," "],[7913,0,"t"],[7914,0,"o"],[7915,0," "],[7916,0,"d"],[7917,0,"e"],[7918,0,"a"],[7919,0,"l"],[7920,0," "],[7921,0,"w"],[7922,0,"i"],[7923,0,"t"],[7924,0,"h"],[7925,0," "],[7926,0,"t"],[7927,0,"h"],[7928,0,"e"],[7929,0," "],[7930,0,"p"],[7931,0,"r"],[7932,0,"o"],[7933,0,"b"],[7934,0,"l"],[7935,0,"e"],[7936,0,"m"],[7937,0," "],[7938,0,"o"],[7939,0,"f"],[7940,0," "],[7941,0,"c"],[7942,0,"o"],[7943,0,"n"],[7944,0,"c"],[7945,0,"u"],[7946,0,"r"],[7947,0,"r"],[7948,0,"e"],[7949,0,"n"],[7950,0,"t"],[7951,0,","],[7952,0," "],[7953,0,"c"],[7954,0,"o"],[7955,0,"n"],[7956,0,"f"],[7957,0,"l"],[7958,0,"i"],[7959,0,"c"],[7960,0,"t"],[7961,0,"i"],[7962,0,"n"],[7963,0,"g"],[7964,0," "],[7965,0,"m"],[7966,0,"o"],[7967,0,"d"],[7968,0,"i"],[7969,0,"f"],[7970,0,"i"],[7971,0,"c"],[7972,0,"a"],[7973,0,"t"],[7974,0,"i"],[7975,0,"o"],[7976,0,"n"],[7977,0,"s"],[7978,0,","],[7979,0," "],[7980,0,"b"],[7981,0,"u"],[7982,0,"t"],[7983,0," "],[7984,0,"t"],[7985,0,"h"],[7986,0,"e"],[7987,0," "],[7988,0,"s"],[7989,0,"o"],[7990,0,"l"],[7991,0,"u"],[7992,0,"t"],[7993,0,"i"],[7994,0,"o"],[7995,0,"n"],[7996,0,"s"],[7997,0," "],[7998,0,"a"],[7999,0,"r"],[8000,0,"e"],[8001,0," "],[8002,0,"o"],[8003,0,"f"],[8004,0,"t"],[8005,0,"e"],[8006,0,"n"],[8007,0," "],[8008,0,"a"],[8009,0,"d"],[8010,0,"-"],[8011,0,"h"],[8012,0,"o"],[8013,0,"c"],[8014,0,"."],[8015,0," "],[8016,0,"F"],[8017,0,"o"],[8018,0,"r"],[8019,0," "],[8020,0,"e"],[8021,0,"x"],[8022,0,"a"],[8023,0,"m"],[8024,0,"p"],[8025,0,"l"],[8026,0,"e"],[8027,0,","],[8028,0," "],[8029,0,"i"],[8030,0,"n"],[8031,0," "],[8032,0,"D"],[8033,0,"y"],[8034,0,"n"],[8035,0,"a"],[8036,0,"m"],[8037,0,"o"],[8038,0,"~"],[8039,0,"\\"],[8040,0,"c"],[8041,0,"i"],[8042,0,"t"],[8043,0,"e"],[8044,0,"{"],[8045,0,"D"],[8046,0,"e"],[8047,0,"C"],[8048,0,"a"],[8049,0,"n"],[8050,0,"d"],[8051,0,"i"],[8052,0,"a"],[8053,0,":"],[8054,0,"2"],[8055,0,"0"],[8056,0,"0"],[8057,0,"7"],[8058,0,"u"],[8059,0,"i"],[8060,0,"}"],[8061,0,","],[8062,0," "],[8063,0,"i"],[8064,0,"f"],[8065,0," "],[8066,0,"s"],[8067,0,"e"],[8068,0,"v"],[8069,0,"e"],[8070,0,"r"],[8071,0,"a"],[8072,0,"l"],[8073,0," "],[8074,0,"v"],[8075,0,"a"],[8076,0,"l"],[8077,0,"u"],[8078,0,"e"],[8079,0,"s"],[8080,0," "],[8081,0,"a"],[8082,0,"r"],[8083,0,"e"],[8084,0," "],[8085,0,"c"],[8086,0,"o"],[8087,0,"n"],[8088,0,"c"],[8089,0,"u"],[8090,0,"r"],[8091,0,"r"],[8092,0,"e"],[8093,0,"n"],[8094,0,"t"],[8095,0,"l"],[8096,0,"y"],[8097,0," "],[8098,0,"w"],[8099,0,"r"],[8100,0,"i"],[8101,0,"t"],[8102,0,"t"],[8103,0,"e"],[8104,0,"n"],[8105,0," "],[8106,0,"t"],[8107,0,"o"],[8108,0," "],[8109,0,"t"],[8110,0,"h"],[8111,0,"e"],[8112,0," "],[8113,0,"s"],[8114,0,"a"],[8115,0,"m"],[8116,0,"e"],[8117,0," "],[8118,0,"k"],[8119,0,"e"],[8120,0,"y"],[8121,0,","],[8122,0," "],[8123,0,"t"],[8124,0,"h"],[8125,0,"e"],[8126,0," "],[8127,0,"d"],[8128,0,"a"],[8129,0,"t"],[8130,0,"a"],[8131,0,"b"],[8132,0,"a"],[8133,0,"s"],[8134,0,"e"],[8135,0," "],[8136,0,"p"],[8137,0,"r"],[8138,0,"e"],[8139,0,"s"],[8140,0,"e"],[8141,0,"r"],[8142,0,"v"],[8143,0,"e"],[8144,0,"s"],[8145,0," "],[8146,0,"a"],[8147,0,"l"],[8148,0,"l"],[8149,0," "],[8150,0,"o"],[8151,0,"f"],[8152,0," "],[8153,0,"t"],[8154,0,"h"],[8155,0,"e"],[8156,0,"s"],[8157,0,"e"],[8158,0," "],[8159,0,"v"],[8160,0,"a"],[8161,0,"l"],[8162,0,"u"],[8163,0,"e"],[8164,0,"s"],[8165,0,","],[8166,0," "],[8167,0,"a"],[8168,0,"n"],[8169,0,"d"],[8170,0," "],[8171,0,"l"],[8172,0,"e"],[8173,0,"a"],[8174,0,"v"],[8175,0,"e"],[8176,0,"s"],[8177,0," "],[8178,0,"c"],[8179,0,"o"],[8180,0,"n"],[8181,0,"f"],[8182,0,"l"],[8183,0,"i"],[8184,0,"c"],[8185,0,"t"],[8186,0," "],[8187,0,"r"],[8188,0,"e"],[8189,0,"s"],[8190,0,"o"],[8191,0,"l"],[8192,0,"u"],[8193,0,"t"],[8194,0,"i"],[8195,0,"o"],[8196,0,"n"],[8197,0," "],[8198,0,"t"],[8199,0,"o"],[8200,0," "],[8201,0,"a"],[8202,0,"p"],[8203,0,"p"],[8204,0,"l"],[8205,0,"i"],[8206,0,"c"],[8207,0,"a"],[8208,0,"t"],[8209,0,"i"],[8210,0,"o"],[8211,0,"n"],[8212,0," "],[8213,0,"c"],[8214,0,"o"],[8215,0,"d"],[8216,0,"e"],[8217,0,"."],[8218,0," "],[8219,0,"N"],[8220,0,"a"],[8221,0,"i"],[8222,0,"v"],[8223,0,"e"],[8224,0,"l"],[8225,0,"y"],[8226,0," "],[8227,0,"c"],[8228,0,"h"],[8229,0,"o"],[8230,0,"s"],[8231,0,"e"],[8232,0,"n"],[8233,0," "],[8234,0,"m"],[8235,0,"e"],[8236,0,"r"],[8237,0,"g"],[8238,0,"e"],[8239,0," "],[8240,0,"f"],[8241,0,"u"],[8242,0,"n"],[8243,0,"c"],[8244,0,"t"],[8245,0,"i"],[8246,0,"o"],[8247,0,"n"],[8248,0,"s"],[8249,0," "],[8250,0,"o"],[8251,0,"f"],[8252,0,"t"],[8253,0,"e"],[8254,0,"n"],[8255,0," "],[8256,0,"e"],[8257,0,"x"],[8258,0,"h"],[8259,0,"i"],[8260,0,"b"],[8261,0,"i"],[8262,0,"t"],[8263,0," "],[8264,0,"a"],[8265,0,"n"],[8266,0,"o"],[8267,0,"m"],[8268,0,"a"],[8269,0,"l"],[8270,0,"i"],[8271,0,"e"],[8272,0,"s"],[8273,0," "],[8274,0,"s"],[8275,0,"u"],[8276,0,"c"],[8277,0,"h"],[8278,0," "],[8279,0,"a"],[8280,0,"s"],[8281,0," "],[8282,0,"t"],[8283,0,"h"],[8284,0,"e"],[8285,0," "],[8285,1],[8284,1],[8283,1],[8282,1],[8282,0,"d"],[8283,0,"e"],[8284,0,"l"],[8285,0,"e"],[8286,0,"t"],[8287,0,"e"],[8288,0,"d"],[8289,0," "],[8290,0,"i"],[8291,0,"t"],[8292,0,"e"],[8293,0,"m"],[8294,0,"s"],[8295,0," "],[8296,0,"r"],[8297,0,"e"],[8298,0,"a"],[8299,0,"p"],[8300,0,"p"],[8301,0,"e"],[8302,0,"a"],[8303,0,"r"],[8304,0,"i"],[8305,0,"n"],[8306,0,"g"],[8307,0,"~"],[8308,0,"\\"],[8309,0,"c"],[8310,0,"i"],[8311,0,"t"],[8312,0,"e"],[8313,0,"{"],[8314,0,"D"],[8315,0,"e"],[8316,0,"C"],[8317,0,"a"],[8318,0,"n"],[8319,0,"d"],[8320,0,"i"],[8321,0,"a"],[8322,0,":"],[8323,0,"2"],[8324,0,"0"],[8325,0,"0"],[8326,0,"7"],[8327,0,"u"],[8328,0,"i"],[8329,0,"}"],[8330,0,"."],[8331,0," "],[8332,0,"A"],[8333,0,"s"],[8334,0," "],[8335,0,"t"],[8336,0,"h"],[8337,0,"e"],[8338,0," "],[8339,0,"c"],[8340,0,"o"],[8341,0,"m"],[8342,0,"p"],[8343,0,"l"],[8344,0,"e"],[8345,0,"x"],[8346,0,"i"],[8347,0,"t"],[8348,0,"y"],[8349,0," "],[8350,0,"o"],[8351,0,"f"],[8352,0," "],[8353,0,"t"],[8354,0,"h"],[8355,0,"i"],[8356,0,"s"],[8357,0," "],[8358,0,"p"],[8359,0,"a"],[8360,0,"p"],[8361,0,"e"],[8362,0,"r"],[8363,0," "],[8364,0,"d"],[8365,0,"e"],[8366,0,"m"],[8367,0,"o"],[8368,0,"n"],[8369,0,"s"],[8370,0,"t"],[8371,0,"r"],[8372,0,"a"],[8373,0,"t"],[8374,0,"e"],[8375,0,"s"],[8376,0,","],[8377,0," "],[8378,0,"c"],[8379,0,"o"],[8380,0,"n"],[8381,0,"f"],[8382,0,"l"],[8383,0,"c"],[8384,0,"i"],[8385,0,"t"],[8386,0," "],[8387,0,"r"],[8388,0,"e"],[8389,0,"s"],[8390,0,"o"],[8391,0,"l"],[8392,0,"u"],[8393,0,"t"],[8394,0,"i"],[8395,0,"o"],[8396,0,"n"],[8397,0," "],[8398,0,"i"],[8399,0,"s"],[8400,0," "],[8401,0,"n"],[8402,0,"o"],[8403,0,"t"],[8404,0," "],[8405,0,"a"],[8406,0," "],[8407,0,"s"],[8408,0,"i"],[8409,0,"m"],[8410,0,"p"],[8411,0,"l"],[8412,0,"e"],[8413,0," "],[8414,0,"m"],[8415,0,"a"],[8416,0,"t"],[8417,0,"t"],[8418,0,"e"],[8419,0,"r"],[8420,0," "],[8421,0,"t"],[8422,0,"h"],[8423,0,"a"],[8424,0,"n"],[8425,0," "],[8425,1],[8424,1],[8424,0,"t"],[8425,0," "],[8426,0,"c"],[8427,0,"a"],[8428,0,"n"],[8429,0," "],[8430,0,"r"],[8431,0,"e"],[8432,0,"a"],[8433,0,"s"],[8434,0,"o"],[8435,0,"n"],[8436,0,"a"],[8437,0,"b"],[8438,0,"l"],[8439,0,"y"],[8440,0," "],[8441,0,"b"],[8442,0,"e"],[8443,0," "],[8444,0,"l"],[8445,0,"e"],[8446,0,"f"],[8447,0,"t"],[8448,0," "],[8449,0,"t"],[8450,0,"o"],[8451,0," "],[8452,0,"a"],[8453,0,"p"],[8454,0,"p"],[8455,0,"l"],[8456,0,"i"],[8457,0,"c"],[8458,0,"a"],[8459,0,"t"],[8460,0,"i"],[8461,0,"o"],[8462,0,"n"],[8463,0," "],[8464,0,"p"],[8465,0,"r"],[8466,0,"o"],[8467,0,"g"],[8468,0,"r"],[8469,0,"a"],[8470,0,"m"],[8471,0,"m"],[8472,0,"e"],[8473,0,"r"],[8474,0,"s"],[8475,0,"."],[8476,0,"\n"],[8477,0,"\n"],[8478,0,"A"],[8479,0,"n"],[8480,0,"o"],[8481,0,"t"],[8482,0,"h"],[8483,0,"e"],[8484,0,"r"],[8485,0," "],[8486,0,"f"],[8487,0,"r"],[8488,0,"e"],[8489,0,"q"],[8490,0,"u"],[8491,0,"e"],[8492,0,"n"],[8493,0,"t"],[8494,0,"l"],[8495,0,"y"],[8496,0,"-"],[8497,0,"u"],[8498,0,"s"],[8499,0,"e"],[8500,0,"d"],[8501,0," "],[8502,0,"a"],[8503,0,"p"],[8504,0,"p"],[8505,0,"r"],[8506,0,"o"],[8507,0,"a"],[8508,0,"c"],[8509,0,"h"],[8510,0," "],[8511,0,"t"],[8512,0,"o"],[8513,0," "],[8514,0,"c"],[8515,0,"o"],[8516,0,"n"],[8517,0,"f"],[8518,0,"l"],[8519,0,"i"],[8520,0,"c"],[8521,0,"t"],[8522,0," "],[8523,0,"r"],[8524,0,"e"],[8525,0,"s"],[8526,0,"o"],[8527,0,"l"],[8528,0,"u"],[8529,0,"t"],[8530,0,"i"],[8531,0,"o"],[8532,0,"n"],[8533,0," "],[8534,0,"i"],[8535,0,"s"],[8536,0," "],[8537,0,"\\"],[8538,0,"e"],[8539,0,"m"],[8540,0,"p"],[8541,0,"h"],[8542,0,"{"],[8543,0,"l"],[8544,0,"a"],[8545,0,"s"],[8546,0,"t"],[8547,0," "],[8548,0,"w"],[8549,0,"r"],[8550,0,"i"],[8551,0,"t"],[8552,0,"e"],[8553,0,"r"],[8554,0," "],[8555,0,"w"],[8556,0,"i"],[8557,0,"n"],[8558,0,"s"],[8559,0,"}"],[8560,0," "],[8561,0,"("],[8562,0,"L"],[8563,0,"W"],[8564,0,"W"],[8565,0,")"],[8566,0,","],[8567,0," "],[8568,0,"w"],[8569,0,"h"],[8570,0,"i"],[8571,0,"c"],[8572,0,"h"],[8573,0," "],[8574,0,"a"],[8575,0,"r"],[8576,0,"b"],[8577,0,"i"],[8578,0,"t"],[8579,0,"r"],[8580,0,"a"],[8581,0,"r"],[8582,0,"i"],[8583,0,"l"],[8584,0,"y"],[8585,0," "],[8586,0,"c"],[8587,0,"h"],[8588,0,"o"],[8589,0,"o"],[8590,0,"s"],[8591,0,"e"],[8592,0,"s"],[8593,0," "],[8594,0,"o"],[8595,0,"n"],[8596,0,"e"],[8597,0," "],[8598,0,"a"],[8599,0,"m"],[8600,0,"o"],[8601,0,"n"],[8602,0,"g"],[8603,0," "],[8604,0,"s"],[8605,0,"e"],[8606,0,"v"],[8607,0,"e"],[8608,0,"r"],[8609,0,"a"],[8610,0,"l"],[8611,0," "],[8612,0,"c"],[8613,0,"o"],[8614,0,"n"],[8615,0,"c"],[8616,0,"u"],[8617,0,"r"],[8618,0,"r"],[8619,0,"e"],[8620,0,"n"],[8621,0,"t"],[8622,0," "],[8623,0,"w"],[8624,0,"r"],[8625,0,"i"],[8626,0,"t"],[8627,0,"e"],[8628,0,"s"],[8629,0," "],[8630,0,"a"],[8631,0,"s"],[8632,0," "],[8633,0,"`"],[8634,0,"`"],[8635,0,"w"],[8636,0,"i"],[8637,0,"n"],[8638,0,"n"],[8639,0,"e"],[8640,0,"r"],[8641,0,"'"],[8642,0,"'"],[8643,0," "],[8644,0,"a"],[8645,0,"n"],[8646,0,"d"],[8647,0," "],[8648,0,"d"],[8649,0,"i"],[8650,0,"s"],[8651,0,"c"],[8652,0,"a"],[8653,0,"r"],[8654,0,"d"],[8655,0,"s"],[8656,0," "],[8657,0,"t"],[8658,0,"h"],[8659,0,"e"],[8660,0," "],[8661,0,"o"],[8662,0,"t"],[8663,0,"h"],[8664,0,"e"],[8665,0,"r"],[8666,0,"s"],[8667,0,"."],[8668,0," "],[8669,0,"T"],[8670,0,"h"],[8671,0,"i"],[8672,0,"s"],[8673,0," "],[8674,0,"a"],[8675,0,"p"],[8676,0,"p"],[8677,0,"r"],[8678,0,"o"],[8679,0,"a"],[8680,0,"c"],[8681,0,"h"],[8682,0," "],[8683,0,"i"],[8684,0,"s"],[8685,0," "],[8686,0,"u"],[8687,0,"s"],[8688,0,"e"],[8689,0,"d"],[8690,0," "],[8691,0,"i"],[8692,0,"n"],[8693,0," "],[8694,0,"A"],[8695,0,"p"],[8696,0,"a"],[8697,0,"c"],[8698,0,"h"],[8699,0,"e"],[8700,0," "],[8701,0,"C"],[8702,0,"a"],[8703,0,"s"],[8704,0,"s"],[8705,0,"a"],[8706,0,"n"],[8707,0,"d"],[8708,0,"r"],[8709,0,"a"],[8710,0,","],[8711,0," "],[8712,0,"a"],[8713,0,"n"],[8714,0,"d"],[8715,0," "],[8716,0,"i"],[8717,0,"t"],[8718,0," "],[8719,0,"i"],[8720,0,"s"],[8721,0," "],[8722,0,"a"],[8723,0,"n"],[8724,0," "],[8725,0,"o"],[8726,0,"p"],[8727,0,"e"],[8727,1],[8727,0,"t"],[8728,0,"i"],[8729,0,"o"],[8730,0,"n"],[8731,0," "],[8732,0,"i"],[8733,0,"n"],[8734,0," "],[8735,0,"m"],[8736,0,"a"],[8737,0,"n"],[8738,0,"y"],[8739,0," "],[8740,0,"o"],[8741,0,"t"],[8742,0,"h"],[8743,0,"e"],[8744,0,"r"],[8745,0," "],[8746,0,"s"],[8747,0,"y"],[8748,0,"s"],[8749,0,"t"],[8750,0,"e"],[8751,0,"m"],[8752,0,"s"],[8753,0," "],[8754,0,"i"],[8755,0,"n"],[8756,0,"c"],[8757,0,"l"],[8758,0,"u"],[8759,0,"d"],[8760,0,"i"],[8761,0,"n"],[8762,0,"g"],[8763,0," "],[8764,0,"R"],[8765,0,"i"],[8766,0,"a"],[8767,0,"k"],[8768,0," "],[8769,0,"a"],[8770,0,"n"],[8771,0,"d"],[8772,0," "],[8773,0,"C"],[8774,0,"o"],[8775,0,"u"],[8776,0,"c"],[8777,0,"h"],[8778,0,"D"],[8779,0,"B"],[8780,0,"."],[8781,0," "],[8782,0,"L"],[8783,0,"W"],[8784,0,"W"],[8785,0,"W"],[8785,1],[8785,0," "],[8786,0,"d"],[8787,0,"o"],[8788,0,"e"],[8789,0,"s"],[8790,0," "],[8791,0,"n"],[8792,0,"o"],[8793,0,"t"],[8794,0," "],[8795,0,"m"],[8796,0,"e"],[8797,0,"e"],[8798,0,"t"],[8799,0," "],[8800,0,"o"],[8801,0,"u"],[8802,0,"r"],[8803,0," "],[8804,0,"r"],[8805,0,"e"],[8806,0,"q"],[8807,0,"u"],[8808,0,"i"],[8809,0,"r"],[8810,0,"e"],[8811,0,"m"],[8812,0,"e"],[8813,0,"n"],[8814,0,"t"],[8815,0,"s"],[8816,0,","],[8817,0," "],[8818,0,"s"],[8819,0,"i"],[8820,0,"n"],[8821,0,"c"],[8822,0,"e"],[8823,0," "],[8824,0,"w"],[8825,0,"e"],[8826,0," "],[8827,0,"w"],[8828,0,"a"],[8829,0,"n"],[8830,0,"t"],[8831,0," "],[8832,0,"n"],[8833,0,"o"],[8834,0," "],[8835,0,"u"],[8836,0,"s"],[8837,0,"e"],[8838,0,"r"],[8839,0," "],[8840,0,"i"],[8841,0,"n"],[8842,0,"p"],[8843,0,"u"],[8844,0,"t"],[8845,0," "],[8846,0,"t"],[8847,0,"o"],[8848,0," "],[8849,0,"b"],[8850,0,"e"],[8851,0," "],[8852,0,"l"],[8853,0,"o"],[8854,0,"s"],[8855,0,"t"],[8856,0," "],[8857,0,"d"],[8858,0,"u"],[8859,0,"e"],[8860,0," "],[8861,0,"t"],[8862,0,"o"],[8863,0," "],[8864,0,"c"],[8865,0,"o"],[8866,0,"n"],[8867,0,"c"],[8868,0,"u"],[8869,0,"r"],[8870,0,"r"],[8871,0,"e"],[8872,0,"n"],[8873,0,"t"],[8874,0," "],[8875,0,"m"],[8876,0,"o"],[8877,0,"d"],[8878,0,"i"],[8879,0,"f"],[8880,0,"i"],[8881,0,"c"],[8882,0,"a"],[8883,0,"t"],[8884,0,"i"],[8885,0,"o"],[8886,0,"n"],[8887,0,"s"],[8888,0,"."],[8889,0,"\n"],[8890,0,"\n"],[8891,0,"F"],[8892,0,"i"],[8893,0,"n"],[8894,0,"a"],[8895,0,"l"],[8896,0,"l"],[8897,0,"y"],[8898,0,","],[8899,0," "],[8900,0,"s"],[8901,0,"y"],[8902,0,"s"],[8903,0,"t"],[8904,0,"e"],[8905,0,"m"],[8906,0,"s"],[8907,0," "],[8908,0,"s"],[8909,0,"u"],[8910,0,"c"],[8911,0,"h"],[8912,0," "],[8913,0,"a"],[8914,0,"s"],[8915,0," "],[8916,0,"B"],[8917,0,"a"],[8918,0,"y"],[8919,0,"o"],[8920,0,"u"],[8921,0,"~"],[8922,0,"\\"],[8923,0,"c"],[8924,0,"i"],[8925,0,"t"],[8926,0,"e"],[8927,0,"{"],[8928,0,"T"],[8929,0,"e"],[8930,0,"r"],[8931,0,"r"],[8932,0,"y"],[8933,0,":"],[8934,0,"1"],[8935,0,"0"],[8935,1],[8935,0,"9"],[8936,0,"9"],[8937,0,"5"],[8938,0,"d"],[8939,0,"n"],[8940,0,"}"],[8941,0," "],[8942,0,"a"],[8943,0,"l"],[8944,0,"l"],[8945,0,"o"],[8946,0,"w"],[8947,0," "],[8948,0,"o"],[8949,0,"f"],[8950,0,"f"],[8951,0,"l"],[8952,0,"i"],[8953,0,"n"],[8954,0,"e"],[8955,0," "],[8956,0,"n"],[8957,0,"o"],[8958,0,"d"],[8959,0,"e"],[8960,0,"s"],[8961,0," "],[8962,0,"t"],[8963,0,"o"],[8964,0," "],[8965,0,"e"],[8966,0,"x"],[8967,0,"e"],[8968,0,"c"],[8969,0,"u"],[8970,0,"t"],[8971,0,"e"],[8972,0," "],[8973,0,"t"],[8974,0,"r"],[8975,0,"a"],[8976,0,"n"],[8977,0,"s"],[8978,0,"a"],[8979,0,"c"],[8980,0,"t"],[8981,0,"i"],[8982,0,"o"],[8983,0,"n"],[8984,0,"s"],[8985,0," "],[8986,0,"t"],[8987,0,"e"],[8988,0,"n"],[8989,0,"t"],[8990,0,"a"],[8991,0,"t"],[8992,0,"i"],[8993,0,"v"],[8994,0,"e"],[8995,0,"l"],[8996,0,"y"],[8997,0,","],[8998,0," "],[8999,0,"a"],[9000,0,"n"],[9001,0,"d"],[9002,0," "],[9003,0," "],[9004,0,"o"],[9005,0,"n"],[9005,1],[9004,1],[9003,1],[9003,0,"c"],[9004,0,"o"],[9005,0,"n"],[9006,0,"f"],[9007,0,"i"],[9008,0,"r"],[9009,0,"m"],[9010,0," "],[9011,0,"t"],[9012,0,"h"],[9013,0,"e"],[9014,0,"m"],[9015,0," "],[9016,0,"w"],[9017,0,"h"],[9018,0,"e"],[9019,0,"n"],[9020,0," "],[9021,0,"t"],[9022,0,"h"],[9023,0,"e"],[9024,0,"y"],[9025,0," "],[9026,0,"a"],[9027,0,"r"],[9028,0,"e"],[9029,0," "],[9030,0,"n"],[9031,0,"e"],[9032,0,"x"],[9033,0,"t"],[9034,0," "],[9035,0,"o"],[9036,0,"n"],[9037,0,"l"],[9038,0,"i"],[9039,0,"n"],[9040,0,"e"],[9041,0,"."],[9042,0," "],[9043,0,"T"],[9044,0,"h"],[9045,0,"i"],[9046,0,"s"],[9047,0," "],[9048,0,"a"],[9049,0,"p"],[9050,0,"p"],[9051,0,"r"],[9052,0,"o"],[9053,0,"a"],[9054,0,"c"],[9055,0,"h"],[9056,0," "],[9057,0,"r"],[9058,0,"e"],[9059,0,"l"],[9060,0,"i"],[9061,0,"e"],[9062,0,"s"],[9063,0," "],[9064,0,"o"],[9065,0,"n"],[9066,0," "],[9067,0,"a"],[9068,0,"l"],[9069,0,"l"],[9070,0," "],[9071,0,"s"],[9072,0,"e"],[9073,0,"r"],[9074,0,"v"],[9075,0,"e"],[9076,0,"r"],[9077,0,"s"],[9078,0," "],[9079,0,"e"],[9080,0,"x"],[9081,0,"e"],[9082,0,"c"],[9083,0,"u"],[9084,0,"t"],[9085,0,"i"],[9086,0,"n"],[9087,0,"g"],[9088,0," "],[9089,0,"t"],[9090,0,"r"],[9091,0,"a"],[9092,0,"n"],[9093,0,"s"],[9094,0,"a"],[9095,0,"c"],[9096,0,"t"],[9097,0,"i"],[9098,0,"o"],[9099,0,"n"],[9100,0,"s"],[9101,0," "],[9102,0,"i"],[9103,0,"n"],[9104,0," "],[9105,0,"t"],[9106,0,"h"],[9107,0,"e"],[9108,0," "],[9109,0,"s"],[9110,0,"a"],[9111,0,"m"],[9112,0,"e"],[9113,0," "],[9114,0,"s"],[9115,0,"e"],[9116,0,"r"],[9117,0,"i"],[9118,0,"a"],[9119,0,"l"],[9120,0," "],[9121,0,"o"],[9122,0,"r"],[9123,0,"d"],[9124,0,"e"],[9125,0,"r"],[9126,0,","],[9127,0," "],[9128,0,"a"],[9129,0,"n"],[9130,0,"d"],[9131,0," "],[9132,0,"d"],[9133,0,"e"],[9134,0,"c"],[9135,0,"i"],[9136,0,"d"],[9137,0,"i"],[9138,0,"n"],[9139,0,"g"],[9140,0," "],[9141,0,"w"],[9142,0,"h"],[9143,0,"e"],[9144,0,"t"],[9145,0,"h"],[9146,0,"e"],[9147,0,"r"],[9148,0," "],[9149,0,"a"],[9150,0," "],[9151,0,"t"],[9152,0,"r"],[9153,0,"a"],[9154,0,"n"],[9155,0,"s"],[9156,0,"a"],[9157,0,"c"],[9158,0,"t"],[9159,0,"i"],[9160,0,"o"],[9161,0,"n"],[9162,0," "],[9163,0,"w"],[9164,0,"a"],[9165,0,"n"],[9165,1],[9165,0,"s"],[9166,0," "],[9167,0,"s"],[9168,0,"u"],[9169,0,"c"],[9170,0,"c"],[9171,0,"e"],[9172,0,"s"],[9173,0,"s"],[9174,0,"f"],[9175,0,"u"],[9176,0,"l"],[9177,0," "],[9178,0,"d"],[9179,0,"e"],[9180,0,"p"],[9181,0,"e"],[9182,0,"n"],[9183,0,"d"],[9184,0,"i"],[9185,0,"n"],[9186,0,"g"],[9187,0," "],[9188,0,"o"],[9189,0,"n"],[9190,0," "],[9191,0,"i"],[9192,0,"t"],[9193,0,"s"],[9194,0," "],[9195,0,"p"],[9196,0,"r"],[9197,0,"e"],[9198,0,"c"],[9199,0,"o"],[9200,0,"n"],[9201,0,"d"],[9202,0,"i"],[9203,0,"t"],[9204,0,"i"],[9205,0,"o"],[9206,0,"n"],[9207,0,"s"],[9208,0,"."],[9209,0," "],[9210,0,"A"],[9211,0,"s"],[9212,0," "],[9213,0,"d"],[9214,0,"i"],[9215,0,"s"],[9216,0,"c"],[9217,0,"u"],[9218,0,"s"],[9219,0,"s"],[9220,0,"e"],[9221,0,"d"],[9222,0," "],[9223,0,"i"],[9224,0,"n"],[9225,0," "],[9226,0,"s"],[9227,0,"e"],[9228,0,"c"],[9229,0,"t"],[9230,0,"i"],[9231,0,"o"],[9232,0,"n"],[9233,0,"~"],[9234,0,"\\"],[9235,0,"r"],[9236,0,"e"],[9237,0,"f"],[9238,0,"{"],[9239,0,"s"],[9240,0,"e"],[9241,0,"c"],[9242,0,":"],[9243,0,"r"],[9244,0,"e"],[9245,0,"l"],[9246,0,"a"],[9247,0,"t"],[9248,0,"e"],[9249,0,"d"],[9250,0,"-"],[9251,0,"o"],[9252,0,"t"],[9253,0,"}"],[9254,0,","],[9255,0," "],[9256,0,"s"],[9257,0,"u"],[9258,0,"c"],[9259,0,"h"],[9260,0," "],[9261,0,"s"],[9262,0,"e"],[9263,0,"r"],[9264,0,"i"],[9265,0,"a"],[9266,0,"l"],[9267,0," "],[9268,0,"o"],[9269,0,"r"],[9270,0,"d"],[9271,0,"e"],[9272,0,"r"],[9273,0,"i"],[9274,0,"n"],[9275,0,"g"],[9276,0," "],[9277,0,"r"],[9278,0,"e"],[9279,0,"q"],[9280,0,"u"],[9281,0,"i"],[9282,0,"r"],[9283,0,"e"],[9284,0,"m"],[9285,0,"e"],[9286,0,"n"],[9287,0,"t"],[9288,0,"s"],[9289,0," "],[9290,0,"a"],[9291,0,"r"],[9292,0,"e"],[9293,0," "],[9294,0,"p"],[9295,0,"r"],[9296,0,"o"],[9297,0,"h"],[9298,0,"i"],[9299,0,"b"],[9300,0,"i"],[9301,0,"t"],[9302,0,"i"],[9303,0,"v"],[9304,0,"e"],[9305,0," "],[9306,0,"i"],[9307,0,"n"],[9308,0," "],[9309,0,"a"],[9310,0," "],[9311,0,"p"],[9312,0,"e"],[9313,0,"e"],[9314,0,"r"],[9315,0,"-"],[9316,0,"t"],[9317,0,"o"],[9318,0,"-"],[9319,0,"p"],[9320,0,"e"],[9321,0,"e"],[9322,0,"r"],[9323,0," "],[9324,0,"s"],[9325,0,"y"],[9326,0,"s"],[9327,0,"t"],[9328,0,"e"],[9329,0,"m"],[9330,0," "],[9331,0,"o"],[9332,0,"f"],[9333,0," "],[9334,0,"m"],[9335,0,"o"],[9336,0,"b"],[9337,0,"i"],[9338,0,"l"],[9339,0,"e"],[9340,0," "],[9341,0,"d"],[9342,0,"e"],[9343,0,"v"],[9344,0,"i"],[9345,0,"c"],[9346,0,"e"],[9347,0,"s"],[9348,0,"."],[9351,0,"\n"],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[75235,1],[62368,0,"\n"],[62369,0,"\n"],[62370,0,"\n"],[62371,0,"\\"],[62372,0,"s"],[62373,0,"e"],[62374,0,"c"],[62375,0,"t"],[62376,0,"i"],[62377,0,"o"],[62378,0,"n"],[62379,0,"{"],[62380,0,"C"],[62381,0,"o"],[62382,0,"n"],[62383,0,"c"],[62384,0,"l"],[62385,0,"u"],[62386,0,"s"],[62387,0,"i"],[62388,0,"o"],[62389,0,"n"],[62390,0,"}"],[62391,0,"\n"],[62392,0,"\n"],[62393,0,"T"],[62394,0,"O"],[62395,0,"D"],[62396,0,"O"],[62397,0," "],[62398,0,"c"],[62399,0,"o"],[62400,0,"n"],[62401,0,"c"],[62402,0,"l"],[62403,0,"u"],[62404,0,"s"],[62405,0,"i"],[62406,0,"o"],[62407,0,"n"],[62408,0,"."],[62409,0,"\n"],[62410,0,"\n"],[62411,0,"\n"],[62412,0,"\\"],[62413,0,"s"],[62414,0,"e"],[62415,0,"c"],[62416,0,"t"],[62417,0,"i"],[62418,0,"o"],[62419,0,"n"],[62420,0,"*"],[62421,0,"{"],[62422,0,"A"],[62423,0,"c"],[62424,0,"k"],[62425,0,"n"],[62426,0,"o"],[62427,0,"w"],[62428,0,"l"],[62429,0,"e"],[62430,0,"d"],[62431,0,"g"],[62432,0,"e"],[62433,0,"m"],[62434,0,"e"],[62435,0,"n"],[62436,0,"t"],[62437,0,"s"],[62438,0,"}"],[62439,0,"\n"],[62440,0,"\n"],[62441,0,"T"],[62442,0,"h"],[62443,0,"i"],[62444,0,"s"],[62445,0," "],[62446,0,"r"],[62447,0,"e"],[62448,0,"s"],[62449,0,"e"],[62450,0,"a"],[62451,0,"r"],[62452,0,"c"],[62453,0,"h"],[62454,0," "],[62455,0,"w"],[62456,0,"a"],[62457,0,"s"],[62458,0," "],[62459,0,"s"],[62460,0,"u"],[62461,0,"p"],[62462,0,"p"],[62463,0,"o"],[62464,0,"r"],[62465,0,"t"],[62466,0,"e"],[62467,0,"d"],[62468,0," "],[62469,0,"b"],[62470,0,"y"],[62471,0," "],[62472,0,"a"],[62473,0," "],[62474,0,"g"],[62475,0,"r"],[62476,0,"a"],[62477,0,"n"],[62478,0,"t"],[62479,0," "],[62480,0,"f"],[62481,0,"r"],[62482,0,"o"],[62483,0,"m"],[62484,0," "],[62485,0,"T"],[62486,0,"h"],[62487,0,"e"],[62488,0," "],[62489,0,"B"],[62490,0,"o"],[62491,0,"e"],[62492,0,"i"],[62493,0,"n"],[62494,0,"g"],[62495,0," "],[62496,0,"C"],[62497,0,"o"],[62498,0,"m"],[62499,0,"p"],[62500,0,"a"],[62501,0,"n"],[62502,0,"y"],[62503,0,"."],[62504,0,"\n"],[62521,0,"\\"],[62522,0,"a"],[62523,0,"p"],[62524,0,"p"],[62525,0,"e"],[62526,0,"n"],[62527,0,"d"],[62528,0,"i"],[62529,0,"c"],[62530,0,"e"],[62531,0,"s"],[62532,0,"\n"],[62533,0,"\\"],[62534,0,"s"],[62535,0,"e"],[62536,0,"c"],[62537,0,"t"],[62538,0,"i"],[62539,0,"o"],[62540,0,"n"],[62541,0,"{"],[62542,0,"P"],[62543,0,"r"],[62544,0,"o"],[62545,0,"o"],[62546,0,"f"],[62547,0," "],[62548,0,"o"],[62549,0,"f"],[62550,0," "],[62551,0,"c"],[62552,0,"o"],[62553,0,"n"],[62554,0,"v"],[62555,0,"e"],[62556,0,"r"],[62557,0,"g"],[62558,0,"e"],[62559,0,"n"],[62560,0,"c"],[62561,0,"e"],[62562,0,"}"],[62563,0,"\n"],[62505,0,"\n"],[62506,0,"\\"],[62507,0,"b"],[62508,0,"i"],[62509,0,"b"],[62510,0,"l"],[62511,0,"i"],[62512,0,"o"],[62513,0,"g"],[62514,0,"r"],[62515,0,"a"],[62516,0,"p"],[62517,0,"h"],[62518,0,"y"],[62519,0,"s"],[62520,0,"t"],[62521,0,"y"],[62522,0,"l"],[62523,0,"e"],[62524,0,"{"],[62525,0,"I"],[62526,0,"E"],[62527,0,"E"],[62528,0,"E"],[62529,0,"t"],[62530,0,"r"],[62531,0,"a"],[62532,0,"n"],[62533,0,"}"],[62534,0,"\n"],[62535,0,"\\"],[62536,0,"b"],[62537,0,"i"],[62538,0,"b"],[62539,0,"l"],[62540,0,"i"],[62541,0,"o"],[62542,0,"g"],[62543,0,"r"],[62544,0,"a"],[62545,0,"p"],[62546,0,"h"],[62547,0,"y"],[62548,0,"{"],[62549,0,"r"],[62550,0,"e"],[62551,0,"f"],[62552,0,"e"],[62553,0,"r"],[62554,0,"e"],[62555,0,"n"],[62556,0,"c"],[62557,0,"e"],[62558,0,"s"],[62559,0,"}"],[62560,0,"{"],[62561,0,"}"],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75472,1],[75471,1],[1065,1],[1064,1],[1063,1],[1062,1],[1062,0,"M"],[1063,0,"a"],[1064,0,"n"],[1065,0,"y"],[1066,0," "],[1067,0,"a"],[1068,0,"p"],[1069,0,"p"],[1070,0,"l"],[1071,0,"i"],[1072,0,"c"],[1073,0,"a"],[1074,0,"t"],[1075,0,"i"],[1076,0,"o"],[1077,0,"n"],[1078,0,"s"],[1079,0," "],[1080,0,"m"],[1081,0,"o"],[1082,0,"d"],[1083,0,"e"],[1084,0,"l"],[1085,0," "],[1086,0,"t"],[1087,0,"h"],[1088,0,"e"],[1089,0,"i"],[1090,0,"r"],[1091,0," "],[1092,0,"d"],[1093,0,"a"],[1094,0,"t"],[1095,0,"a"],[1096,0," "],[1097,0,"i"],[1098,0,"n"],[1099,0," "],[1100,0,"a"],[1101,0," "],[1102,0,"g"],[1103,0,"e"],[1104,0,"n"],[1105,0,"e"],[1106,0,"r"],[1107,0,"a"],[1108,0,"l"],[1109,0,"-"],[1110,0,"p"],[1111,0,"u"],[1112,0,"r"],[1113,0,"p"],[1114,0,"o"],[1115,0,"s"],[1116,0,"e"],[1117,0," "],[1118,0,"s"],[1119,0,"t"],[1120,0,"o"],[1121,0,"r"],[1122,0,"a"],[1123,0,"g"],[1124,0,"e"],[1125,0," "],[1126,0,"f"],[1127,0,"o"],[1128,0,"r"],[1129,0,"m"],[1130,0,"a"],[1131,0,"t"],[1132,0," "],[1133,0,"s"],[1134,0,"u"],[1135,0,"c"],[1136,0,"h"],[1137,0," "],[1138,0,"a"],[1139,0,"s"],[1140,0," "],[1141,0,"J"],[1142,0,"S"],[1143,0,"O"],[1144,0,"N"],[1145,0,"."],[1146,0," "],[1147,0,"F"],[1147,1],[1147,0,"T"],[1148,0,"h"],[1149,0,"i"],[1150,0,"s"],[1151,0," "],[1152,0,"d"],[1153,0,"a"],[1154,0,"t"],[1155,0,"a"],[1156,0," "],[1157,0,"s"],[1158,0,"t"],[1159,0,"r"],[1160,0,"u"],[1161,0,"c"],[1162,0,"t"],[1163,0,"u"],[1164,0,"r"],[1165,0,"e"],[1166,0," "],[1167,0,"i"],[1168,0,"s"],[1169,0," "],[1170,0,"m"],[1171,0,"o"],[1172,0,"d"],[1173,0,"i"],[1174,0,"f"],[1175,0,"i"],[1176,0,"e"],[1177,0,"d"],[1178,0," "],[1179,0,"b"],[1180,0,"y"],[1181,0," "],[1182,0,"t"],[1183,0,"h"],[1184,0,"e"],[1185,0," "],[1186,0,"a"],[1187,0,"p"],[1188,0,"p"],[1189,0,"l"],[1190,0,"i"],[1191,0,"c"],[1192,0,"a"],[1193,0,"t"],[1194,0,"i"],[1195,0,"o"],[1196,0,"n"],[1197,0," "],[1198,0,"a"],[1199,0,"s"],[1200,0," "],[1201,0,"a"],[1202,0," "],[1203,0,"r"],[1204,0,"e"],[1205,0,"s"],[1206,0,"u"],[1207,0,"l"],[1208,0,"t"],[1209,0," "],[1210,0,"o"],[1211,0,"f"],[1212,0," "],[1213,0,"u"],[1214,0,"s"],[1215,0,"e"],[1216,0,"r"],[1217,0," "],[1218,0,"i"],[1219,0,"n"],[1220,0,"p"],[1221,0,"u"],[1222,0,"t"],[1223,0,"."],[1224,0," "],[1225,0,"S"],[1226,0,"u"],[1227,0,"c"],[1228,0,"h"],[1229,0," "],[1230,0,"m"],[1231,0,"o"],[1232,0,"d"],[1233,0,"i"],[1234,0,"f"],[1235,0,"i"],[1236,0,"c"],[1237,0,"a"],[1238,0,"t"],[1239,0,"i"],[1240,0,"o"],[1241,0,"n"],[1242,0,"s"],[1243,0," "],[1244,0,"a"],[1245,0,"r"],[1246,0,"e"],[1247,0," "],[1248,0,"w"],[1249,0,"e"],[1250,0,"l"],[1251,0,"l"],[1252,0," "],[1253,0,"u"],[1254,0,"n"],[1255,0,"d"],[1256,0,"e"],[1257,0,"r"],[1258,0,"s"],[1259,0,"t"],[1260,0,"o"],[1261,0,"o"],[1262,0,"d"],[1263,0," "],[1264,0,"i"],[1265,0,"f"],[1266,0," "],[1267,0,"t"],[1267,1],[1267,0,"p"],[1268,0,"e"],[1269,0,"r"],[1270,0,"f"],[1271,0,"o"],[1272,0,"r"],[1273,0,"m"],[1274,0,"e"],[1275,0,"d"],[1276,0," "],[1277,0,"s"],[1278,0,"e"],[1279,0,"q"],[1280,0,"u"],[1281,0,"e"],[1282,0,"n"],[1283,0,"t"],[1284,0,"i"],[1285,0,"a"],[1286,0,"l"],[1287,0,"l"],[1288,0,"y"],[1289,0," "],[1290,0,"o"],[1291,0,"n"],[1292,0," "],[1293,0,"a"],[1294,0," "],[1295,0,"s"],[1296,0,"i"],[1297,0,"n"],[1298,0,"g"],[1299,0,"l"],[1300,0,"e"],[1301,0," "],[1302,0,"c"],[1303,0,"o"],[1304,0,"p"],[1305,0,"y"],[1306,0," "],[1307,0,"o"],[1308,0,"f"],[1309,0," "],[1310,0,"t"],[1311,0,"h"],[1312,0,"e"],[1313,0," "],[1314,0,"d"],[1315,0,"a"],[1316,0,"t"],[1317,0,"a"],[1318,0,","],[1319,0," "],[1320,0,"b"],[1321,0,"u"],[1322,0,"t"],[1323,0," "],[1324,0,"t"],[1325,0,"h"],[1326,0,"e"],[1327,0," "],[1328,0,"s"],[1329,0,"e"],[1330,0,"m"],[1331,0,"a"],[1332,0,"n"],[1333,0,"t"],[1334,0,"i"],[1335,0,"c"],[1336,0,"s"],[1337,0," "],[1338,0,"a"],[1339,0,"r"],[1340,0,"e"],[1341,0," "],[1341,1],[1340,1],[1339,1],[1338,1],[1338,0,"i"],[1339,0,"s"],[1340,0," "],[1341,0,"u"],[1342,0,"n"],[1343,0,"c"],[1344,0,"l"],[1345,0,"e"],[1346,0,"a"],[1347,0,"r"],[1348,0," "],[1349,0,"i"],[1350,0,"f"],[1351,0," "],[1352,0,"d"],[1353,0,"a"],[1354,0,"t"],[1354,1],[1353,1],[1352,1],[1352,0,"t"],[1353,0,"h"],[1354,0,"e"],[1355,0," "],[1356,0,"d"],[1357,0,"a"],[1358,0,"t"],[1359,0,"a"],[1360,0," "],[1361,0,"i"],[1362,0,"s"],[1363,0," "],[1364,0,"r"],[1365,0,"e"],[1366,0,"p"],[1367,0,"l"],[1368,0,"i"],[1369,0,"c"],[1370,0,"a"],[1371,0,"t"],[1372,0,"e"],[1373,0,"d"],[1374,0," "],[1375,0,"o"],[1376,0,"n"],[1377,0," "],[1378,0,"m"],[1379,0,"u"],[1380,0,"l"],[1381,0,"t"],[1382,0,"i"],[1383,0,"p"],[1384,0,"l"],[1385,0,"e"],[1386,0," "],[1387,0,"d"],[1388,0,"e"],[1389,0,"v"],[1390,0,"i"],[1391,0,"c"],[1392,0,"e"],[1393,0,"s"],[1394,0," "],[1395,0,"w"],[1396,0,"h"],[1397,0,"e"],[1398,0,"r"],[1399,0,"e"],[1400,0," "],[1401,0,"i"],[1402,0,"t"],[1403,0," "],[1404,0,"m"],[1405,0,"a"],[1406,0,"y"],[1407,0," "],[1408,0,"b"],[1409,0,"e"],[1410,0," "],[1411,0,"m"],[1412,0,"o"],[1413,0,"d"],[1414,0,"i"],[1415,0,"f"],[1416,0,"i"],[1417,0,"e"],[1418,0,"d"],[1419,0," "],[1419,1],[1418,1],[1417,1],[1416,1],[1415,1],[1414,1],[1413,1],[1412,1],[1411,1],[1410,1],[1409,1],[1408,1],[1407,1],[1406,1],[1405,1],[1404,1],[1403,1],[1402,1],[1401,1],[1400,1],[1399,1],[1398,1],[1397,1],[1396,1],[1396,0,"i"],[1396,1],[1395,1],[1395,0,"a"],[1396,0,"n"],[1397,0,"d"],[1398,0," "],[1399,0,"m"],[1400,0,"o"],[1401,0,"d"],[1402,0,"i"],[1403,0,"f"],[1404,0,"i"],[1405,0,"e"],[1406,0,"d"],[1407,0," "],[1408,0,"c"],[1409,0,"o"],[1410,0,"n"],[1411,0,"c"],[1412,0,"u"],[1413,0,"r"],[1414,0,"r"],[1415,0,"e"],[1416,0,"n"],[1417,0,"t"],[1418,0,"l"],[1419,0,"y"],[1420,0," "],[1421,0,"o"],[1422,0,"n"],[1423,0," "],[1424,0,"m"],[1425,0,"u"],[1426,0,"l"],[1427,0,"t"],[1428,0,"i"],[1429,0,"p"],[1430,0,"l"],[1431,0,"e"],[1432,0," "],[1433,0,"d"],[1434,0,"e"],[1435,0,"v"],[1436,0,"i"],[1437,0,"c"],[1438,0,"e"],[1439,0,"s"],[1440,0,"."],[1393,1],[1392,1],[1391,1],[1390,1],[1389,1],[1388,1],[1387,1],[1386,1],[1385,1],[1384,1],[1383,1],[1382,1],[1381,1],[1380,1],[1379,1],[1378,1],[1377,1],[1376,1],[1375,1],[1374,1],[1421,0," "],[1422,0,"I"],[1423,0,"n"],[1424,0," "],[1425,0,"t"],[1426,0,"h"],[1427,0,"i"],[1428,0,"s"],[1429,0," "],[1430,0,"p"],[1431,0,"a"],[1432,0,"p"],[1433,0,"e"],[1434,0,"r"],[1435,0," "],[1436,0,"w"],[1437,0,"e"],[1438,0," "],[1439,0,"p"],[1440,0,"r"],[1441,0,"e"],[1442,0,"s"],[1443,0,"e"],[1444,0,"n"],[1445,0,"t"],[1446,0," "],[1447,0,"a"],[1448,0,"n"],[1449,0," "],[1450,0,"a"],[1451,0,"l"],[1452,0,"g"],[1453,0,"o"],[1454,0,"r"],[1455,0,"i"],[1456,0,"t"],[1457,0,"h"],[1458,0,"m"],[1459,0," "],[1460,0,"a"],[1461,0,"n"],[1462,0,"d"],[1463,0," "],[1464,0,"f"],[1465,0,"o"],[1466,0,"r"],[1467,0,"m"],[1468,0,"a"],[1469,0,"l"],[1470,0," "],[1471,0,"s"],[1472,0,"e"],[1473,0,"m"],[1474,0,"a"],[1475,0,"n"],[1476,0,"t"],[1477,0,"i"],[1478,0,"c"],[1479,0,"s"],[1480,0," "],[1481,0,"f"],[1482,0,"o"],[1483,0,"r"],[1484,0," "],[1485,0,"a"],[1486,0," "],[1487,0,"J"],[1488,0,"S"],[1489,0,"O"],[1490,0,"N"],[1491,0," "],[1492,0,"d"],[1493,0,"a"],[1494,0,"t"],[1495,0,"a"],[1496,0," "],[1497,0,"s"],[1498,0,"t"],[1499,0,"r"],[1500,0,"u"],[1501,0,"c"],[1502,0,"t"],[1503,0,"u"],[1504,0,"r"],[1505,0,"e"],[1506,0," "],[1507,0,"t"],[1508,0,"h"],[1509,0,"a"],[1510,0,"t"],[1511,0," "],[1512,0,"a"],[1513,0,"u"],[1514,0,"t"],[1515,0,"o"],[1516,0,"m"],[1517,0,"a"],[1518,0,"t"],[1519,0,"i"],[1520,0,"c"],[1521,0,"a"],[1522,0,"l"],[1523,0,"l"],[1524,0,"y"],[1525,0," "],[1526,0,"r"],[1527,0,"e"],[1528,0,"s"],[1529,0,"o"],[1530,0,"l"],[1531,0,"v"],[1532,0,"e"],[1533,0,"s"],[1534,0," "],[1535,0,"c"],[1536,0,"o"],[1537,0,"n"],[1538,0,"c"],[1539,0,"u"],[1540,0,"r"],[1541,0,"r"],[1542,0,"e"],[1543,0,"n"],[1544,0,"t"],[1545,0," "],[1546,0,"m"],[1547,0,"o"],[1548,0,"d"],[1549,0,"i"],[1550,0,"f"],[1551,0,"i"],[1552,0,"c"],[1553,0,"a"],[1554,0,"t"],[1555,0,"i"],[1556,0,"o"],[1557,0,"n"],[1558,0,"s"],[1559,0," "],[1560,0,"s"],[1561,0,"u"],[1562,0,"c"],[1563,0,"h"],[1564,0," "],[1565,0,"t"],[1566,0,"h"],[1567,0,"a"],[1568,0,"t"],[1569,0," "],[1570,0,"n"],[1571,0,"o"],[1572,0," "],[1573,0,"u"],[1574,0,"p"],[1575,0,"d"],[1576,0,"a"],[1577,0,"t"],[1578,0,"e"],[1579,0,"s"],[1580,0," "],[1581,0,"a"],[1582,0,"r"],[1583,0,"e"],[1584,0," "],[1585,0,"l"],[1586,0,"o"],[1587,0,"s"],[1588,0,"t"],[1589,0,","],[1590,0," "],[1591,0,"a"],[1592,0,"n"],[1593,0,"d"],[1594,0," "],[1595,0,"t"],[1596,0,"h"],[1597,0,"a"],[1598,0,"t"],[1599,0," "],[1595,0,"s"],[1596,0,"u"],[1597,0,"c"],[1598,0,"h"],[1599,0," "],[1605,0,"a"],[1606,0,"l"],[1607,0,"l"],[1608,0," "],[1609,0,"r"],[1610,0,"e"],[1611,0,"p"],[1612,0,"l"],[1613,0,"i"],[1614,0,"c"],[1615,0,"a"],[1616,0,"s"],[1617,0," "],[1618,0,"c"],[1619,0,"o"],[1620,0,"n"],[1621,0,"v"],[1622,0,"e"],[1623,0,"r"],[1624,0,"g"],[1625,0,"e"],[1626,0," "],[1627,0,"t"],[1628,0,"o"],[1629,0,"w"],[1630,0,"a"],[1631,0,"r"],[1632,0,"d"],[1633,0,"s"],[1634,0," "],[1635,0,"t"],[1636,0,"h"],[1637,0,"e"],[1638,0," "],[1639,0,"s"],[1640,0,"a"],[1641,0,"m"],[1642,0,"e"],[1643,0," "],[1644,0,"s"],[1645,0,"t"],[1646,0,"a"],[1647,0,"t"],[1648,0,"e"],[1649,0,"."],[1650,0," "],[1651,0,"I"],[1652,0,"t"],[1653,0," "],[1654,0,"s"],[1655,0,"u"],[1656,0,"p"],[1657,0,"p"],[1658,0,"o"],[1659,0,"r"],[1660,0,"t"],[1661,0,"s"],[1662,0," "],[1663,0,"a"],[1664,0,"r"],[1665,0,"b"],[1666,0,"i"],[1667,0,"t"],[1668,0,"r"],[1669,0,"a"],[1670,0,"r"],[1671,0,"i"],[1672,0,"l"],[1673,0,"y"],[1674,0," "],[1675,0,"n"],[1676,0,"e"],[1677,0,"s"],[1678,0,"t"],[1679,0,"e"],[1680,0,"d"],[1681,0," "],[1682,0,"l"],[1683,0,"i"],[1684,0,"s"],[1685,0,"t"],[1686,0," "],[1687,0,"a"],[1688,0,"n"],[1689,0,"d"],[1690,0," "],[1691,0,"m"],[1692,0,"a"],[1693,0,"p"],[1694,0," "],[1695,0,"t"],[1696,0,"y"],[1697,0,"p"],[1698,0,"e"],[1699,0,"s"],[1700,0,"."],[1701,0," "],[1701,1],[1700,1],[1700,0,"."],[1701,0," "],[1702,0,"I"],[1703,0,"t"],[1704,0," "],[1700,0,","],[1701,0," "],[1702,0,"w"],[1703,0,"h"],[1704,0,"i"],[1705,0,"c"],[1706,0,"h"],[1707,0," "],[1708,0,"c"],[1709,0,"a"],[1710,0,"n"],[1711,0," "],[1712,0,"b"],[1713,0,"e"],[1714,0," "],[1715,0,"m"],[1716,0,"o"],[1717,0,"d"],[1718,0,"i"],[1719,0,"f"],[1720,0,"i"],[1721,0,"e"],[1722,0,"d"],[1723,0," "],[1724,0,"b"],[1725,0,"y"],[1726,0," "],[1727,0,"i"],[1728,0,"n"],[1729,0,"s"],[1730,0,"e"],[1731,0,"r"],[1732,0,"t"],[1733,0,"i"],[1734,0,"o"],[1735,0,"n"],[1736,0,","],[1737,0," "],[1738,0,"d"],[1739,0,"e"],[1740,0,"l"],[1741,0,"e"],[1742,0,"t"],[1743,0,"i"],[1744,0,"o"],[1745,0,"n"],[1746,0," "],[1747,0,"a"],[1748,0,"n"],[1749,0,"d"],[1750,0," "],[1751,0,"a"],[1752,0,"s"],[1753,0,"s"],[1754,0,"i"],[1755,0,"g"],[1756,0,"n"],[1757,0,"m"],[1758,0,"e"],[1759,0,"n"],[1760,0,"t"],[1765,1],[1764,1],[1763,1],[1763,0,"T"],[1764,0,"h"],[1765,0,"e"],[1766,0," "],[1767,0,"a"],[1768,0,"l"],[1769,0,"g"],[1770,0,"o"],[1771,0,"r"],[1772,0,"i"],[1773,0,"t"],[1774,0,"h"],[1775,0,"m"],[1776,0," "],[1777,0,"p"],[1778,0,"e"],[1779,0,"r"],[1780,0,"f"],[1781,0,"o"],[1782,0,"r"],[1783,0,"m"],[1784,0,"s"],[1785,0," "],[1786,0,"a"],[1787,0,"l"],[1788,0,"l"],[1789,0," "],[1790,0,"m"],[1791,0,"e"],[1792,0,"r"],[1793,0,"g"],[1794,0,"i"],[1795,0,"n"],[1796,0,"g"],[1797,0," "],[1798,0,"c"],[1799,0,"l"],[1800,0,"i"],[1801,0,"e"],[1802,0,"n"],[1803,0,"t"],[1804,0,"-"],[1805,0,"s"],[1806,0,"i"],[1807,0,"d"],[1808,0,"e"],[1809,0," "],[1810,0,"a"],[1811,0,"n"],[1812,0,"d"],[1813,0," "],[1814,0,"d"],[1815,0,"o"],[1816,0,"e"],[1817,0,"s"],[1818,0," "],[1819,0,"n"],[1820,0,"o"],[1821,0,"t"],[1822,0," "],[1823,0,"d"],[1824,0,"e"],[1825,0,"p"],[1826,0,"e"],[1827,0,"n"],[1828,0,"d"],[1829,0," "],[1830,0,"o"],[1831,0,"n"],[1832,0," "],[1833,0,"o"],[1834,0,"r"],[1835,0,"d"],[1836,0,"e"],[1837,0,"r"],[1838,0,"i"],[1839,0,"n"],[1840,0,"g"],[1841,0," "],[1842,0,"g"],[1843,0,"u"],[1844,0,"a"],[1845,0,"r"],[1846,0,"a"],[1847,0,"n"],[1848,0,"t"],[1849,0,"e"],[1850,0,"e"],[1851,0,"s"],[1852,0," "],[1853,0,"f"],[1854,0,"r"],[1855,0,"o"],[1856,0,"m"],[1857,0," "],[1858,0,"t"],[1859,0,"h"],[1860,0,"e"],[1861,0," "],[1862,0,"n"],[1863,0,"e"],[1864,0,"t"],[1865,0,"w"],[1866,0,"o"],[1867,0,"r"],[1868,0,"k"],[1869,0,","],[1870,0," "],[1871,0,"a"],[1872,0,"l"],[1873,0,"l"],[1874,0,"o"],[1875,0,"w"],[1876,0,"i"],[1877,0,"n"],[1878,0,"g"],[1879,0," "],[1880,0,"i"],[1881,0,"t"],[1882,0," "],[1883,0,"t"],[1884,0,"o"],[1885,0," "],[1886,0,"b"],[1887,0,"e"],[1888,0," "],[1889,0,"d"],[1890,0,"e"],[1891,0,"p"],[1892,0,"l"],[1893,0,"o"],[1894,0,"y"],[1895,0,"e"],[1896,0,"d"],[1897,0," "],[1898,0,"i"],[1899,0,"n"],[1900,0," "],[1901,0,"p"],[1902,0,"e"],[1903,0,"e"],[1904,0,"r"],[1905,0,"-"],[1906,0,"t"],[1907,0,"o"],[1908,0,"-"],[1909,0,"p"],[1910,0,"e"],[1911,0,"e"],[1912,0,"r"],[1913,0," "],[1914,0,"n"],[1915,0,"e"],[1916,0,"t"],[1917,0,"w"],[1918,0,"o"],[1919,0,"r"],[1920,0,"k"],[1921,0,"s"],[1922,0," "],[1923,0,"a"],[1924,0,"n"],[1925,0,"d"],[1926,0," "],[1927,0,"i"],[1928,0,"n"],[1929,0," "],[1930,0,"e"],[1930,1],[1930,0,"m"],[1931,0,"e"],[1932,0,"s"],[1933,0,"s"],[1934,0,"a"],[1935,0,"g"],[1936,0,"i"],[1937,0,"n"],[1938,0,"g"],[1939,0," "],[1940,0,"s"],[1941,0,"y"],[1942,0,"s"],[1943,0,"t"],[1944,0,"e"],[1945,0,"m"],[1946,0,"s"],[1947,0," "],[1948,0,"w"],[1949,0,"i"],[1950,0,"t"],[1951,0,"h"],[1952,0," "],[1953,0,"e"],[1954,0,"n"],[1955,0,"d"],[1956,0,"-"],[1957,0,"t"],[1958,0,"o"],[1959,0,"-"],[1960,0,"e"],[1961,0,"n"],[1962,0,"d"],[1963,0," "],[1964,0,"e"],[1965,0,"n"],[1966,0,"c"],[1967,0,"r"],[1968,0,"y"],[1969,0,"p"],[1970,0,"t"],[1971,0,"i"],[1972,0,"o"],[1973,0,"n"],[1974,0,"."],[1061,0,"\n"],[1062,0,"%"],[1063,0," "],[1064,0,"w"],[1065,0,"o"],[1066,0,"r"],[1067,0,"d"],[1068,0," "],[1069,0,"l"],[1070,0,"i"],[1071,0,"m"],[1072,0,"i"],[1073,0,"t"],[1074,0," "],[1064,0,"a"],[1065,0,"b"],[1066,0,"s"],[1067,0,"t"],[1068,0,"r"],[1069,0,"a"],[1070,0,"c"],[1071,0,"t"],[1072,0," "],[1083,1],[1083,0,":"],[1084,0," "],[1085,0,"1"],[1086,0,"0"],[1087,0,"0"],[1088,0,"-"],[1089,0,"2"],[1090,0,"0"],[1091,0,"0"],[1092,0," "],[1093,0,"w"],[1094,0,"o"],[1095,0,"r"],[1096,0,"d"],[1097,0,"s"],[2294,1],[2293,1],[2292,1],[2291,1],[2290,1],[2289,1],[2288,1],[2287,1],[2286,1],[2285,1],[2284,1],[2283,1],[2282,1],[2281,1],[2280,1],[2279,1],[2294,0," "],[2295,0,"s"],[2296,0,"u"],[2297,0,"c"],[2298,0,"h"],[2299,0," "],[2300,0,"a"],[2301,0,"s"],[2302,0," "],[2303,0,"s"],[2304,0,"m"],[2305,0,"a"],[2306,0,"r"],[2307,0,"t"],[2308,0,"p"],[2309,0,"h"],[2310,0,"o"],[2311,0,"n"],[2312,0,"e"],[2313,0,"s"],[2324,1],[2323,1],[2322,1],[2321,1],[2333,1],[2338,1],[2337,1],[2336,1],[2335,1],[2334,1],[2333,1],[2336,0," "],[2337,0,"c"],[2338,0,"o"],[2339,0,"n"],[2340,0,"t"],[2341,0,"i"],[2342,0,"n"],[2343,0,"u"],[2344,0,"e"],[2350,0,"i"],[2351,0,"n"],[2352,0,"g"],[2294,0,","],[2315,0,","],[2335,0,"s"],[2584,0," "],[2585,0,"t"],[2586,0,"o"],[2587,0,"o"],[2588,0,"l"],[2589,0,"s"],[2590,0,","],[2591,0," "],[2592,0,"t"],[2593,0,"o"],[2594,0,"-"],[2595,0,"d"],[2596,0,"o"],[2597,0," "],[2598,0,"l"],[2599,0,"i"],[2600,0,"s"],[2601,0,"t"],[2602,0,"s"],[3082,0,"~"],[3083,0,"\\"],[3084,0,"c"],[3085,0,"i"],[3086,0,"t"],[3087,0,"e"],[3088,0,"{"],[3089,0,"D"],[3090,0,"a"],[3091,0,"v"],[3092,0,"i"],[3093,0,"d"],[3094,0,"s"],[3095,0,"o"],[3096,0,"n"],[3097,0,":"],[3098,0,"1"],[3099,0,"9"],[3100,0,"8"],[3101,0,"5"],[3102,0,"h"],[3103,0,"v"],[3104,0,"}"],[2825,1],[2824,1],[2823,1],[2822,1],[2821,1],[3100,1],[3100,0,"."],[3103,1],[3103,0,"="],[3103,1],[3102,1],[3102,0,"I"],[3103,0,"f"],[3104,0," "],[3105,0,"w"],[3106,0,"e"],[3107,0," "],[3108,0,"r"],[3109,0,"e"],[3110,0,"q"],[3111,0,"u"],[3112,0,"i"],[3113,0,"r"],[3114,0,"e"],[3115,0," "],[3116,0,"a"],[3117,0,"p"],[3118,0,"p"],[3119,0,"l"],[3120,0,"i"],[3121,0,"c"],[3122,0,"a"],[3123,0,"t"],[3124,0,"i"],[3125,0,"o"],[3126,0,"n"],[3127,0,"s"],[3128,0," "],[3129,0,"t"],[3130,0,"o"],[3131,0," "],[3132,0,"w"],[3133,0,"o"],[3134,0,"r"],[3135,0,"k"],[3136,0," "],[3137,0,"r"],[3138,0,"e"],[3139,0,"g"],[3140,0,"a"],[3141,0,"r"],[3142,0,"d"],[3143,0,"l"],[3144,0,"e"],[3145,0,"s"],[3146,0,"s"],[3147,0," "],[3148,0,"o"],[3149,0,"f"],[3150,0," "],[3151,0,"t"],[3152,0,"h"],[3153,0,"e"],[3154,0," "],[3155,0,"n"],[3156,0,"e"],[3157,0,"t"],[3158,0,"w"],[3159,0,"o"],[3160,0,"r"],[3161,0,"k"],[3162,0,","],[3261,0," "],[3262,0,"t"],[3263,0,"h"],[3264,0,"a"],[3265,0,"t"],[2938,0,"a"],[2939,0,"p"],[2940,0,"p"],[2941,0,"r"],[2942,0,"o"],[2943,0,"a"],[2944,0,"c"],[2945,0,"h"],[2946,0,"e"],[2947,0,"s"],[2948,0," "],[2949,0,"t"],[2950,0,"o"],[2951,0," "],[2981,1],[2980,1],[2979,1],[2978,1],[2977,1],[2976,1],[2975,1],[2974,1],[2973,1],[2972,1],[2971,1],[2971,0,","],[2926,0,"R"],[2927,0,"e"],[2928,0,"q"],[2929,0,"u"],[2930,0,"i"],[2931,0,"r"],[2932,0,"i"],[2933,0,"n"],[2934,0,"g"],[2935,0," "],[2936,0,"s"],[2937,0,"e"],[2938,0,"r"],[2939,0,"i"],[2940,0,"a"],[2941,0,"l"],[2942,0,"i"],[2943,0,"z"],[2944,0,"a"],[2945,0,"b"],[2946,0,"i"],[2947,0,"l"],[2948,0,"i"],[2949,0,"t"],[2950,0,"y"],[2951,0,","],[2952,0," "],[2953,0,"t"],[2954,0,"h"],[2955,0,"e"],[2956,0," "],[2957,1],[2957,0,"t"],[2978,1],[2977,1],[3024,1],[3023,1],[3022,1],[3021,1],[3020,1],[3019,1],[3018,1],[3017,1],[3016,1],[3015,1],[3014,1],[3013,1],[3012,1],[3011,1],[3010,1],[3009,1],[3008,1],[3007,1],[3006,1],[3005,1],[3004,1],[3003,1],[3002,1],[3001,1],[3125,0,"t"],[3126,0,"h"],[3127,0,"a"],[3128,0,"t"],[3129,0," "],[3144,1],[3143,1],[3142,1],[3680,0,"\n"],[3681,0,"\n"],[3682,0,"C"],[3683,0,"u"],[3684,0,"r"],[3685,0,"r"],[3686,0,"e"],[3687,0,"n"],[3688,0,"t"],[3689,0,"l"],[3690,0,"y"],[3690,1],[3689,1],[3689,0," "],[3690,0,"a"],[3691,0,"p"],[3692,0,"p"],[3693,0,"l"],[3694,0,"i"],[3695,0,"c"],[3696,0,"a"],[3697,0,"t"],[3698,0,"i"],[3699,0,"o"],[3700,0,"n"],[3701,0,"s"],[3702,0," "],[3703,0,"s"],[3704,0,"o"],[3705,0,"l"],[3706,0,"v"],[3707,0,"e"],[3708,0," "],[3709,0,"t"],[3710,0,"h"],[3711,0,"i"],[3712,0,"s"],[3713,0," "],[3714,0,"p"],[3715,0,"r"],[3716,0,"o"],[3717,0,"b"],[3718,0,"l"],[3719,0,"e"],[3720,0,"m"],[3721,0," "],[3722,0,"w"],[3723,0,"i"],[3724,0,"t"],[3725,0,"h"],[3726,0," "],[3727,0,"a"],[3728,0," "],[3729,0,"r"],[3730,0,"a"],[3731,0,"n"],[3732,0,"g"],[3733,0,"e"],[3734,0," "],[3735,0,"o"],[3736,0,"f"],[3737,0," "],[3738,0,"a"],[3739,0,"d"],[3740,0,"-"],[3741,0,"h"],[3742,0,"o"],[3743,0,"c"],[3744,0," "],[3745,0,"a"],[3746,0,"n"],[3747,0,"d"],[3748,0," "],[3749,0,"a"],[3750,0,"p"],[3751,0,"p"],[3752,0,"l"],[3753,0,"i"],[3754,0,"c"],[3755,0,"a"],[3756,0,"t"],[3757,0,"i"],[3758,0,"o"],[3759,0,"n"],[3760,0,"-"],[3761,0,"s"],[3762,0,"p"],[3763,0,"e"],[3764,0,"c"],[3765,0,"i"],[3766,0,"f"],[3767,0,"i"],[3768,0,"c"],[3769,0," "],[3770,0,"m"],[3771,0,"e"],[3772,0,"c"],[3773,0,"h"],[3774,0,"a"],[3775,0,"n"],[3776,0,"i"],[3777,0,"s"],[3778,0,"m"],[3779,0,"s"],[3780,0,","],[3781,0," "],[3782,0,"t"],[3783,0,"h"],[3784,0,"e"],[3785,0," "],[3786,0,"c"],[3787,0,"o"],[3788,0,"r"],[3789,0,"r"],[3790,0,"e"],[3791,0,"c"],[3791,1],[3790,1],[3789,1],[3788,1],[3787,1],[3786,1],[3785,1],[3784,1],[3783,1],[3782,1],[3781,1],[3780,1],[3780,0,"."],[3781,0," "],[3782,0,"A"],[3783,0,"s"],[3784,0," "],[3785,0,"c"],[3786,0,"o"],[3787,0,"n"],[3788,0,"c"],[3789,0,"u"],[3790,0,"r"],[3791,0,"r"],[3792,0,"e"],[3793,0,"n"],[3794,0,"t"],[3795,0," "],[3796,0,"m"],[3797,0,"o"],[3798,0,"d"],[3799,0,"i"],[3800,0,"f"],[3801,0,"i"],[3802,0,"c"],[3803,0,"a"],[3804,0,"t"],[3805,0,"i"],[3806,0,"o"],[3807,0,"n"],[3808,0,"s"],[3809,0," "],[3810,0,"a"],[3811,0,"r"],[3812,0,"e"],[3813,0," "],[3814,0,"d"],[3815,0,"i"],[3816,0,"f"],[3817,0,"f"],[3818,0,"i"],[3819,0,"c"],[3820,0,"u"],[3821,0,"l"],[3822,0,"t"],[3823,0," "],[3824,0,"t"],[3825,0,"o"],[3826,0," "],[3827,0,"r"],[3828,0,"e"],[3829,0,"a"],[3830,0,"s"],[3831,0,"o"],[3832,0,"n"],[3833,0," "],[3834,0,"a"],[3835,0,"b"],[3836,0,"o"],[3837,0,"u"],[3838,0,"t"],[3839,0," "],[3781,0," "],[3782,0,"I"],[3783,0,"n"],[3784,0," "],[3785,0,"t"],[3786,0,"h"],[3787,0,"i"],[3788,0,"s"],[3789,0," "],[3790,0,"p"],[3791,0,"a"],[3792,0,"p"],[3793,0,"e"],[3794,0,"r"],[3795,0," "],[3796,0,"w"],[3797,0,"e"],[3798,0," "],[3799,0,"p"],[3800,0,"r"],[3801,0,"e"],[3802,0,"s"],[3803,0,"e"],[3804,0,"n"],[3805,0,"t"],[3806,0," "],[3807,0,"t"],[3808,0,"h"],[3809,0,"e"],[3810,0," "],[3811,0,"f"],[3812,0,"i"],[3813,0,"r"],[3814,0,"s"],[3815,0,"t"],[3815,1],[3814,1],[3813,1],[3812,1],[3811,1],[3810,1],[3809,1],[3808,1],[3807,1],[3807,0,"a"],[3808,0," "],[3809,0,"d"],[3810,0,"a"],[3811,0,"t"],[3812,0,"a"],[3813,0,"t"],[3814,0,"y"],[3815,0,"p"],[3816,0,"e"],[3817,0," "],[3818,0,"t"],[3819,0,"h"],[3820,0,"a"],[3821,0,"t"],[3822,0," "],[3823,0,"p"],[3824,0,"r"],[3825,0,"o"],[3826,0,"v"],[3827,0,"i"],[3828,0,"d"],[3829,0,"e"],[3830,0,"s"],[3831,0," "],[3832,0,"t"],[3833,0,"h"],[3834,0,"e"],[3835,0," "],[3836,0,"f"],[3837,0,"u"],[3838,0,"l"],[3839,0,"l"],[3840,0," "],[3841,0,"e"],[3842,0,"x"],[3843,0,"p"],[3844,0,"r"],[3845,0,"e"],[3846,0,"s"],[3847,0,"s"],[3848,0,"i"],[3849,0,"v"],[3850,0,"e"],[3851,0,"n"],[3852,0,"e"],[3853,0,"s"],[3854,0,"s"],[3855,0," "],[3856,0,"o"],[3857,0,"f"],[3858,0," "],[3859,0,"t"],[3860,0,"h"],[3861,0,"e"],[3862,0," "],[3863,0,"J"],[3864,0,"S"],[3865,0,"O"],[3866,0,"N"],[3867,0," "],[3868,0,"d"],[3869,0,"a"],[3870,0,"t"],[3871,0,"a"],[3872,0," "],[3873,0,"m"],[3874,0,"o"],[3875,0,"d"],[3876,0,"e"],[3877,0,"l"],[3878,0,","],[3879,0," "],[3880,0,"a"],[3881,0,"n"],[3882,0,"d"],[3883,0," "],[3884,0,"a"],[3885,0,"u"],[3886,0,"t"],[3887,0,"o"],[3888,0,"m"],[3889,0,"a"],[3890,0,"t"],[3891,0,"i"],[3892,0,"c"],[3893,0,"a"],[3894,0,"l"],[3895,0,"l"],[3896,0,"y"],[3897,0," "],[3898,0,"m"],[3899,0,"e"],[3900,0,"r"],[3901,0,"g"],[3902,0,"e"],[3903,0,"s"],[3904,0," "],[3905,0,"a"],[3906,0,"n"],[3907,0,"y"],[3908,0," "],[3909,0,"c"],[3910,0,"o"],[3911,0,"n"],[3912,0,"c"],[3913,0,"u"],[3914,0,"r"],[3915,0,"r"],[3916,0,"e"],[3917,0,"n"],[3918,0,"t"],[3919,0," "],[3920,0,"m"],[3921,0,"o"],[3922,0,"d"],[3923,0,"i"],[3924,0,"f"],[3925,0,"i"],[3926,0,"c"],[3927,0,"a"],[3928,0,"t"],[3929,0,"i"],[3930,0,"o"],[3931,0,"n"],[3932,0,"s"],[3933,0," "],[3934,0,"w"],[3935,0,"i"],[3936,0,"t"],[3937,0,"h"],[3938,0,"o"],[3939,0,"u"],[3940,0,"t"],[3941,0," "],[3942,0,"l"],[3943,0,"o"],[3944,0,"s"],[3945,0,"s"],[3946,0," "],[3947,0,"o"],[3948,0,"f"],[3949,0," "],[3950,0,"i"],[3951,0,"n"],[3952,0,"f"],[3953,0,"o"],[3954,0,"r"],[3955,0,"m"],[3956,0,"a"],[3957,0,"t"],[3958,0,"i"],[3959,0,"o"],[3960,0,"n"],[3961,0,"."],[3962,0," "],[3963,0,"W"],[3964,0,"e"],[3965,0," "],[3966,0,"e"],[3967,0,"x"],[3968,0,"p"],[3969,0,"e"],[3970,0,"c"],[3971,0,"t"],[3972,0," "],[3973,0,"t"],[3974,0,"h"],[3975,0,"a"],[3976,0,"t"],[3977,0," "],[3978,0,"t"],[3979,0,"h"],[3980,0,"i"],[3981,0,"s"],[3982,0," "],[3983,0,"d"],[3984,0,"a"],[3985,0,"t"],[3986,0,"a"],[3987,0,"t"],[3988,0,"y"],[3989,0,"p"],[3990,0,"e"],[3991,0," "],[3992,0,"w"],[3993,0,"i"],[3994,0,"l"],[3995,0,"l"],[3996,0," "],[3808,0," "],[3809,0,"g"],[3810,0,"e"],[3811,0,"n"],[3812,0,"e"],[3813,0,"r"],[3814,0,"a"],[3815,0,"l"],[3816,0,"-"],[3817,0,"p"],[3818,0,"u"],[3819,0,"r"],[3820,0,"p"],[3821,0,"o"],[3822,0,"s"],[3823,0,"e"],[3994,0,"i"],[3995,0,"m"],[3996,0,"p"],[3997,0,"l"],[3998,0,"e"],[3999,0,"m"],[4000,0,"e"],[4001,0,"n"],[4002,0,"t"],[4003,0,"a"],[4004,0,"t"],[4005,0,"i"],[4006,0,"o"],[4007,0,"n"],[4008,0,"s"],[4009,0," "],[4010,0,"o"],[4011,0,"f"],[4012,0," "],[4031,0," "],[4032,0,"s"],[4033,0,"i"],[4034,0,"g"],[4035,0,"n"],[4036,0,"i"],[4037,0,"f"],[4038,0,"i"],[4039,0,"c"],[4039,1],[4038,1],[4037,1],[4036,1],[4035,1],[4034,1],[4033,1],[4032,1],[4032,0,"d"],[4033,0,"r"],[4034,0,"a"],[4035,0,"s"],[4036,0,"t"],[4037,0,"i"],[4038,0,"c"],[4039,0,"a"],[4040,0,"l"],[4041,0,"l"],[4042,0,"y"],[4043,0," "],[4044,0,"s"],[4045,0,"i"],[4046,0,"m"],[4047,0,"p"],[4048,0,"l"],[4049,0,"i"],[4050,0,"f"],[4051,0,"y"],[4052,0," "],[4053,0,"t"],[4054,0,"h"],[4055,0,"e"],[4056,0," "],[4057,0,"d"],[4058,0,"e"],[4059,0,"v"],[4060,0,"e"],[4061,0,"l"],[4062,0,"o"],[4063,0,"p"],[4064,0,"m"],[4065,0,"e"],[4066,0,"n"],[4067,0,"t"],[4068,0," "],[4069,0,"o"],[4070,0,"f"],[4071,0," "],[4072,0,"c"],[4073,0,"o"],[4074,0,"l"],[4075,0,"l"],[4076,0,"a"],[4077,0,"b"],[4078,0,"o"],[4079,0,"r"],[4080,0,"a"],[4081,0,"t"],[4082,0,"i"],[4083,0,"v"],[4084,0,"e"],[4085,0," "],[4086,0,"a"],[4087,0,"n"],[4088,0,"d"],[4089,0," "],[4090,0,"s"],[4091,0,"t"],[4092,0,"a"],[4093,0,"t"],[4094,0,"e"],[4095,0,"-"],[4096,0,"s"],[4097,0,"y"],[4098,0,"n"],[4099,0,"c"],[4100,0,"h"],[4101,0,"r"],[4102,0,"o"],[4103,0,"n"],[4104,0,"i"],[4105,0,"z"],[4106,0,"i"],[4107,0,"n"],[4108,0,"g"],[4109,0," "],[4110,0,"a"],[4111,0,"p"],[4112,0,"p"],[4113,0,"l"],[4114,0,"i"],[4115,0,"c"],[4116,0,"a"],[4117,0,"t"],[4118,0,"i"],[4119,0,"o"],[4120,0,"n"],[4121,0,"s"],[4122,0," "],[4123,0,"f"],[4124,0,"o"],[4125,0,"r"],[4126,0," "],[4127,0,"m"],[4128,0,"o"],[4129,0,"b"],[4130,0,"i"],[4131,0,"l"],[4132,0,"e"],[4133,0," "],[4134,0,"d"],[4135,0,"e"],[4136,0,"v"],[4137,0,"i"],[4138,0,"c"],[4139,0,"e"],[4140,0,"s"],[4141,0,"."],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4142,1],[4166,1],[4165,1],[4164,1],[4163,1],[4162,1],[4161,1],[4160,1],[4159,1],[4158,1],[4157,1],[4156,1],[4155,1],[4154,1],[4153,1],[4152,1],[4151,1],[4150,1],[4149,1],[4148,1],[4147,1],[4146,1],[4145,1],[4144,1],[4144,0,"\\"],[4145,0,"s"],[4146,0,"u"],[4147,0,"b"],[4148,0,"s"],[4149,0,"e"],[4150,0,"c"],[4151,0,"t"],[4152,0,"i"],[4153,0,"o"],[4154,0,"n"],[4155,0,"{"],[4156,0,"J"],[4157,0,"S"],[4158,0,"O"],[4159,0,"N"],[4160,0," "],[4161,0,"d"],[4162,0,"a"],[4163,0,"t"],[4164,0,"a"],[4165,0," "],[4166,0,"m"],[4167,0,"o"],[4168,0,"d"],[4169,0,"e"],[4170,0,"l"],[4171,0,"}"],[64152,1],[64152,0,"]"],[64131,1],[64130,1],[64129,1],[64128,1],[64127,1],[64126,1],[64125,1],[64124,1],[64124,0,"a"],[64125,0,"p"],[64126,0,"p"],[64127,0,"e"],[64128,0,"n"],[64129,0,"d"],[64130,0,"i"],[64131,0,"x"],[64132,0,"["],[64121,1],[64120,1],[64119,1],[64118,1],[64117,1],[64116,1],[64115,1],[64114,1],[64113,1],[64112,1],[64111,1],[64110,1],[64142,0,"\\"],[64143,0,"l"],[64144,0,"a"],[64145,0,"b"],[64146,0,"e"],[64147,0,"l"],[64148,0,"{"],[64149,0,"s"],[64150,0,"e"],[64151,0,"c"],[64152,0,":"],[64153,0,"p"],[64154,0,"r"],[64155,0,"o"],[64156,0,"o"],[64157,0,"f"],[64158,0,"}"],[4172,0,"\n"],[4173,0,"\n"],[4174,0,"J"],[4175,0,"S"],[4176,0,"O"],[4177,0,"N"],[4178,0," "],[10927,0,"\\"],[10928,0,"l"],[10929,0,"a"],[10930,0,"b"],[10931,0,"e"],[10932,0,"l"],[10933,0,"{"],[10934,0,"s"],[10935,0,"e"],[10936,0,"c"],[10937,0,":"],[10938,0,"c"],[10939,0,"o"],[10940,0,"m"],[10941,0,"p"],[10942,0,"o"],[10943,0,"s"],[10944,0,"i"],[10945,0,"n"],[10946,0,"g"],[10947,0,"}"],[12653,0,"\\"],[12654,0,"l"],[12655,0,"a"],[12656,0,"b"],[12657,0,"e"],[12658,0,"l"],[12659,0,"{"],[12660,0,"s"],[12661,0,"e"],[12662,0,"c"],[12663,0,":"],[12664,0,"e"],[12665,0,"x"],[12666,0,"a"],[12667,0,"m"],[12668,0,"p"],[12669,0,"l"],[12670,0,"e"],[12671,0,"s"],[12672,0,"}"],[20599,0,"\\"],[20600,0,"l"],[20601,0,"a"],[20602,0,"b"],[20603,0,"e"],[20604,0,"l"],[20605,0,"{"],[20606,0,"s"],[20607,0,"e"],[20608,0,"c"],[20609,0,":"],[20610,0,"j"],[20611,0,"s"],[20612,0,"o"],[20613,0,"n"],[20614,0,"-"],[20615,0,"x"],[20616,0,"m"],[20617,0,"l"],[20618,0,"}"],[22121,0,"\\"],[22122,0,"l"],[22123,0,"a"],[22124,0,"b"],[22125,0,"e"],[22126,0,"l"],[22127,0,"{"],[22128,0,"s"],[22129,0,"e"],[22130,0,"c"],[22131,0,":"],[22132,0,"c"],[22133,0,"l"],[22134,0,"i"],[22135,0,"e"],[22136,0,"n"],[22137,0,"t"],[22138,0,"-"],[22139,0,"a"],[22140,0,"p"],[22141,0,"i"],[22142,0,"}"],[22137,1],[22136,1],[22135,1],[22134,1],[22133,1],[22132,1],[22132,0,"e"],[22133,0,"d"],[22134,0,"i"],[22135,0,"t"],[22136,0,"i"],[22137,0,"n"],[22138,0,"g"],[4179,0,"I"],[4180,0,"t"],[4181,0," "],[4182,0,"h"],[4183,0,"a"],[4184,0,"s"],[4185,0," "],[4186,0,"s"],[4187,0,"i"],[4188,0,"m"],[4189,0,"i"],[4190,0,"l"],[4191,0,"a"],[4192,0,"r"],[4193,0,"i"],[4194,0,"t"],[4195,0,"i"],[4196,0,"e"],[4197,0,"s"],[4198,0," "],[4199,0,"t"],[4200,0,"o"],[4201,0," "],[4202,0,"X"],[4203,0,"M"],[4204,0,"L"],[4205,0,","],[4206,0," "],[4207,0,"a"],[4208,0,"n"],[4209,0,"d"],[4210,0," "],[4211,0,"w"],[4212,0,"e"],[4213,0," "],[4214,0,"c"],[4215,0,"o"],[4216,0,"m"],[4217,0,"p"],[4218,0,"a"],[4219,0,"r"],[4220,0,"e"],[4221,0," "],[4222,0,"t"],[4223,0,"h"],[4224,0,"e"],[4225,0,"m"],[4226,0," "],[4227,0,"f"],[4228,0,"u"],[4229,0,"r"],[4230,0,"t"],[4231,0,"h"],[4232,0,"e"],[4233,0,"r"],[4234,0," "],[4235,0,"i"],[4236,0,"n"],[4237,0," "],[4238,0,"s"],[4239,0,"e"],[4240,0,"c"],[4241,0,"t"],[4242,0,"i"],[4243,0,"o"],[4244,0,"n"],[4245,0,"~"],[4246,0,"\\"],[4247,0,"r"],[4248,0,"e"],[4249,0,"f"],[4250,0,"{"],[4251,0,"s"],[4252,0,"e"],[4253,0,"c"],[4254,0,":"],[4255,0,"j"],[4256,0,"s"],[4257,0,"o"],[4258,0,"n"],[4259,0,"-"],[4260,0,"x"],[4261,0,"m"],[4262,0,"l"],[4263,0,"}"],[4264,0,"."],[4178,0," "],[4179,0,"i"],[4180,0,"s"],[4181,0," "],[4182,0,"a"],[4183,0," "],[4184,0,"p"],[4185,0,"o"],[4186,0,"p"],[4187,0,"u"],[4188,0,"l"],[4189,0,"a"],[4190,0,"r"],[4191,0," "],[4192,0,"g"],[4193,0,"e"],[4194,0,"n"],[4195,0,"e"],[4196,0,"r"],[4197,0,"a"],[4198,0,"l"],[4199,0,"-"],[4200,0,"p"],[4201,0,"u"],[4202,0,"r"],[4203,0,"p"],[4204,0,"o"],[4205,0,"s"],[4206,0,"e"],[4207,0," "],[4208,0,"d"],[4209,0,"a"],[4210,0,"t"],[4211,0,"a"],[4212,0," "],[4213,0,"e"],[4214,0,"n"],[4215,0,"c"],[4216,0,"o"],[4217,0,"d"],[4218,0,"i"],[4219,0,"n"],[4220,0,"g"],[4221,0," "],[4222,0,"f"],[4223,0,"o"],[4224,0,"r"],[4225,0,"m"],[4226,0,"a"],[4227,0,"t"],[4228,0,"."],[4285,1],[4284,1],[4283,1],[4282,1],[4281,1],[4280,1],[4279,1],[4278,1],[4308,0," "],[4228,0,","],[4229,0," "],[4230,0,"u"],[4231,0,"s"],[4232,0,"e"],[4233,0,"d"],[4234,0," "],[4235,0,"i"],[4236,0,"n"],[4237,0," "],[4238,0,"m"],[4239,0,"a"],[4240,0,"n"],[4241,0,"y"],[4242,0," "],[4243,0,"d"],[4244,0,"a"],[4245,0,"t"],[4246,0,"a"],[4247,0,"b"],[4248,0,"a"],[4249,0,"s"],[4250,0,"e"],[4251,0,"s"],[4252,0," "],[4253,0,"a"],[4254,0,"n"],[4255,0,"d"],[4256,0," "],[4257,0,"w"],[4258,0,"e"],[4259,0,"b"],[4260,0," "],[4261,0,"s"],[4262,0,"e"],[4263,0,"r"],[4264,0,"v"],[4265,0,"i"],[4266,0,"c"],[4267,0,"e"],[4268,0,"s"],[4350,0,"T"],[4351,0,"h"],[4352,0,"e"],[4353,0," "],[4354,0,"s"],[4355,0,"t"],[4356,0,"r"],[4357,0,"u"],[4358,0,"c"],[4359,0,"t"],[4360,0,"u"],[4361,0,"r"],[4362,0,"e"],[4363,0," "],[4364,0,"o"],[4365,0,"f"],[4366,0," "],[4367,0,"a"],[4368,0," "],[4369,0,"J"],[4370,0,"S"],[4371,0,"O"],[4372,0,"N"],[4373,0," "],[4374,0,"d"],[4375,0,"o"],[4376,0,"c"],[4377,0,"u"],[4378,0,"m"],[4379,0,"e"],[4380,0,"n"],[4381,0,"t"],[4382,0," "],[4383,0,"c"],[4384,0,"a"],[4385,0,"n"],[4386,0," "],[4387,0,"o"],[4388,0,"p"],[4389,0,"t"],[4390,0,"i"],[4391,0,"o"],[4392,0,"n"],[4393,0,"a"],[4394,0,"l"],[4395,0,"l"],[4396,0,"y"],[4397,0," "],[4398,0,"b"],[4399,0,"e"],[4400,0," "],[4401,0,"c"],[4402,0,"o"],[4403,0,"n"],[4404,0,"s"],[4405,0,"t"],[4406,0,"r"],[4407,0,"a"],[4408,0,"i"],[4409,0,"n"],[4410,0,"e"],[4411,0,"d"],[4412,0," "],[4413,0,"b"],[4414,0,"y"],[4415,0," "],[4416,0,"a"],[4417,0," "],[4418,0,"s"],[4419,0,"c"],[4420,0,"h"],[4421,0,"e"],[4422,0,"m"],[4423,0,"a"],[4424,0,","],[4425,0," "],[4426,0,"b"],[4427,0,"u"],[4428,0,"t"],[4429,0," "],[4430,0,"i"],[4431,0,"n"],[4432,0," "],[4433,0,"t"],[4434,0,"h"],[4435,0,"i"],[4436,0,"s"],[4437,0," "],[4438,0,"p"],[4439,0,"a"],[4440,0,"p"],[4441,0,"e"],[4442,0,"r"],[4443,0," "],[4444,0,"w"],[4445,0,"e"],[4446,0," "],[4447,0,"c"],[4448,0,"o"],[4449,0,"n"],[4450,0,"s"],[4451,0,"i"],[4452,0,"d"],[4453,0,"e"],[4454,0,"r"],[4455,0," "],[4456,0,"`"],[4457,0,"`"],[4457,1],[4456,1],[4456,0,"o"],[4457,0,"n"],[4458,0,"l"],[4459,0,"y"],[4460,0," "],[4461,0,"u"],[4462,0,"n"],[4463,0,"t"],[4464,0,"y"],[4465,0,"p"],[4466,0,"e"],[4467,0,"d"],[4468,0," "],[4469,0,"J"],[4470,0,"S"],[4471,0,"O"],[4472,0,"N"],[4473,0," "],[4474,0,"w"],[4475,0,"i"],[4476,0,"t"],[4477,0,"h"],[4478,0,"o"],[4479,0,"u"],[4480,0,"t"],[4481,0," "],[4482,0,"a"],[4483,0,"n"],[4484,0," "],[4485,0,"e"],[4486,0,"x"],[4487,0,"p"],[4488,0,"l"],[4489,0,"i"],[4490,0,"c"],[4491,0,"i"],[4492,0,"t"],[4493,0," "],[4494,0,"s"],[4495,0,"c"],[4496,0,"h"],[4497,0,"e"],[4498,0,"m"],[4499,0,"a"],[4500,0,"."],[4428,1],[4427,1],[4426,1],[4425,1],[4424,1],[4424,0,";"],[4425,0," "],[4426,0,"f"],[4427,0,"o"],[4428,0,"r"],[4429,0," "],[4430,0,"s"],[4431,0,"i"],[4432,0,"m"],[4433,0,"p"],[4434,0,"l"],[4435,0,"i"],[4436,0,"c"],[4437,0,"i"],[4438,0,"t"],[4439,0,"y"],[4440,0,","],[4442,1],[4442,1],[4442,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,1],[4453,0,"d"],[4454,0,"i"],[4455,0,"s"],[4456,0,"c"],[4457,0,"u"],[4458,0,"s"],[4459,0,"s"],[4460,0,"e"],[4461,0,"s"],[4425,0," "],[4426,0,"h"],[4427,0,"o"],[4428,0,"w"],[4429,0,"e"],[4430,0,"v"],[4431,0,"e"],[4432,0,"r"],[4433,0,","],[4517,0,"\n"],[4518,0,"\n"],[4519,0,"A"],[4520,0," "],[4521,0,"J"],[4522,0,"S"],[4523,0,"O"],[4524,0,"N"],[4525,0," "],[4526,0,"d"],[4527,0,"o"],[4528,0,"c"],[4529,0,"u"],[4530,0,"m"],[4531,0,"e"],[4532,0,"n"],[4533,0,"t"],[4534,0," "],[4535,0,"i"],[4536,0,"s"],[4537,0," "],[4538,0,"a"],[4539,0," "],[4540,0,"t"],[4541,0,"r"],[4542,0,"e"],[4543,0,"e"],[4544,0," "],[4545,0,"c"],[4546,0,"o"],[4547,0,"n"],[4548,0,"s"],[4549,0,"i"],[4550,0,"s"],[4551,0,"t"],[4552,0,"i"],[4553,0,"n"],[4554,0,"g"],[4555,0," "],[4556,0,"o"],[4557,0,"f"],[4558,0," "],[4559,0,"t"],[4560,0,"h"],[4561,0,"e"],[4562,0," "],[4563,0,"f"],[4564,0,"o"],[4565,0,"l"],[4566,0,"l"],[4567,0,"o"],[4568,0,"w"],[4569,0,"i"],[4570,0,"n"],[4571,0,"g"],[4572,0," "],[4573,0,"t"],[4574,0,"y"],[4575,0,"p"],[4576,0,"e"],[4577,0,"s"],[4578,0," "],[4579,0,"o"],[4580,0,"f"],[4581,0," "],[4582,0,"n"],[4583,0,"o"],[4584,0,"d"],[4585,0,"e"],[4586,0,":"],[4587,0,"\n"],[4588,0,"\n"],[4589,0,"\\"],[4590,0,"b"],[4591,0,"e"],[4592,0,"g"],[4593,0,"i"],[4594,0,"n"],[4595,0,"{"],[4596,0,"d"],[4597,0,"e"],[4598,0,"s"],[4599,0,"c"],[4600,0,"r"],[4601,0,"i"],[4602,0,"p"],[4603,0,"t"],[4604,0,"i"],[4605,0,"o"],[4606,0,"n"],[4607,0,"}"],[4608,0,"\n"],[4609,0,"\\"],[4610,0,"e"],[4611,0,"n"],[4612,0,"d"],[4613,0,"{"],[4614,0,"d"],[4615,0,"e"],[4616,0,"s"],[4617,0,"c"],[4618,0,"r"],[4619,0,"i"],[4620,0,"p"],[4621,0,"t"],[4622,0,"i"],[4623,0,"o"],[4624,0,"n"],[4625,0,"}"],[4608,0,"\n"],[4609,0,"\\"],[4610,0,"i"],[4611,0,"t"],[4612,0,"e"],[4613,0,"m"],[4614,0,"["],[4615,0,"M"],[4616,0,"a"],[4617,0,"p"],[4618,0,":"],[4619,0,"]"],[4620,0," "],[4621,0,"A"],[4622,0," "],[4623,0,"b"],[4624,0,"r"],[4625,0,"a"],[4626,0,"n"],[4627,0,"c"],[4628,0,"h"],[4629,0," "],[4630,0,"n"],[4631,0,"o"],[4632,0,"d"],[4633,0,"e"],[4634,0," "],[4635,0,"w"],[4636,0,"h"],[4637,0,"o"],[4638,0,"s"],[4639,0,"e"],[4640,0," "],[4641,0,"c"],[4642,0,"h"],[4643,0,"i"],[4644,0,"l"],[4645,0,"d"],[4646,0,"r"],[4647,0,"e"],[4648,0,"n"],[4649,0," "],[4650,0,"a"],[4651,0,"r"],[4652,0,"e"],[4653,0," "],[4654,0,"n"],[4655,0,"o"],[4656,0,"t"],[4657,0," "],[4658,0,"o"],[4659,0,"r"],[4660,0,"d"],[4661,0,"e"],[4662,0,"r"],[4663,0,"e"],[4664,0,"d"],[4664,1],[4663,1],[4662,1],[4661,1],[4660,1],[4659,1],[4658,1],[4657,1],[4656,1],[4655,1],[4654,1],[4653,1],[4652,1],[4651,1],[4650,1],[4650,0,"h"],[4651,0,"a"],[4652,0,"v"],[4653,0,"e"],[4654,0," "],[4655,0,"n"],[4656,0,"o"],[4657,0," "],[4658,0,"d"],[4659,0,"e"],[4660,0,"f"],[4661,0,"i"],[4662,0,"n"],[4663,0,"e"],[4664,0,"d"],[4665,0," "],[4666,0,"o"],[4667,0,"r"],[4668,0,"d"],[4669,0,"e"],[4670,0,"r"],[4671,0,","],[4672,0," "],[4673,0,"a"],[4674,0,"n"],[4675,0,"d"],[4676,0," "],[4677,0,"w"],[4678,0,"h"],[4679,0,"e"],[4680,0,"r"],[4681,0,"e"],[4682,0," "],[4683,0,"e"],[4684,0,"a"],[4685,0,"c"],[4686,0,"h"],[4687,0," "],[4688,0,"c"],[4689,0,"h"],[4690,0,"i"],[4691,0,"l"],[4692,0,"d"],[4693,0," "],[4694,0,"i"],[4695,0,"s"],[4696,0," "],[4697,0,"l"],[4698,0,"a"],[4699,0,"b"],[4700,0,"e"],[4701,0,"l"],[4702,0,"l"],[4703,0,"e"],[4704,0,"d"],[4705,0," "],[4706,0,"w"],[4707,0,"i"],[4708,0,"t"],[4709,0,"h"],[4710,0," "],[4711,0,"a"],[4712,0," "],[4713,0,"s"],[4714,0,"t"],[4715,0,"r"],[4716,0,"i"],[4717,0,"n"],[4718,0,"g"],[4719,0," "],[4720,0,"\\"],[4721,0,"e"],[4722,0,"m"],[4723,0,"p"],[4724,0,"h"],[4725,0,"{"],[4726,0,"k"],[4727,0,"e"],[4728,0,"y"],[4729,0,"}"],[4730,0,"."],[4731,0," "],[4732,0,"A"],[4733,0," "],[4734,0,"k"],[4735,0,"e"],[4736,0,"y"],[4737,0," "],[4738,0,"u"],[4739,0,"n"],[4740,0,"i"],[4741,0,"q"],[4742,0,"u"],[4743,0,"e"],[4744,0,"l"],[4745,0,"y"],[4746,0," "],[4747,0,"i"],[4748,0,"d"],[4749,0,"e"],[4750,0,"n"],[4751,0,"t"],[4752,0,"i"],[4753,0,"f"],[4754,0,"i"],[4755,0,"e"],[4756,0,"s"],[4757,0," "],[4758,0,"o"],[4759,0,"n"],[4760,0,"e"],[4761,0," "],[4762,0,"o"],[4763,0,"f"],[4764,0," "],[4765,0,"t"],[4766,0,"h"],[4767,0,"e"],[4768,0," "],[4769,0,"c"],[4770,0,"h"],[4771,0,"i"],[4772,0,"l"],[4773,0,"d"],[4774,0,"r"],[4775,0,"e"],[4776,0,"n"],[4777,0,"."],[4778,0," "],[4779,0,"A"],[4780,0," "],[4781,0,"J"],[4782,0,"S"],[4783,0,"O"],[4784,0,"N"],[4785,0," "],[4786,0,"m"],[4787,0,"a"],[4788,0,"p"],[4789,0," "],[4790,0,"i"],[4791,0,"s"],[4792,0," "],[4793,0,"a"],[4794,0,"l"],[4795,0,"s"],[4796,0,"o"],[4797,0," "],[4798,0,"k"],[4799,0,"n"],[4800,0,"o"],[4801,0,"w"],[4802,0,"n"],[4803,0," "],[4804,0,"a"],[4805,0,"s"],[4806,0," "],[4807,0,"a"],[4808,0,"n"],[4809,0," "],[4810,0,"\\"],[4811,0,"e"],[4812,0,"m"],[4813,0,"p"],[4814,0,"h"],[4815,0,"{"],[4816,0,"o"],[4817,0,"b"],[4818,0,"j"],[4819,0,"e"],[4820,0,"c"],[4821,0,"t"],[4822,0,"}"],[4823,0,"."],[4824,0,"\n"],[4825,0,"\\"],[4826,0,"i"],[4827,0,"t"],[4828,0,"e"],[4829,0,"m"],[4830,0,"{"],[4831,0,"L"],[4832,0,"i"],[4833,0,"s"],[4834,0,"t"],[4835,0,":"],[4830,1],[4830,0,"["],[4836,0,"]"],[4837,0," "],[4838,0,"A"],[4839,0," "],[4840,0,"b"],[4841,0,"r"],[4842,0,"a"],[4843,0,"n"],[4844,0,"c"],[4845,0,"h"],[4846,0," "],[4847,0,"n"],[4848,0,"o"],[4849,0,"d"],[4850,0,"e"],[4851,0," "],[4852,0,"w"],[4853,0,"h"],[4854,0,"o"],[4855,0,"s"],[4856,0,"e"],[4857,0," "],[4858,0,"c"],[4859,0,"h"],[4860,0,"i"],[4861,0,"l"],[4862,0,"d"],[4863,0,"r"],[4864,0,"e"],[4865,0,"n"],[4866,0," "],[4867,0,"h"],[4868,0,"a"],[4869,0,"v"],[4870,0,"e"],[4871,0," "],[4872,0,"a"],[4873,0,"n"],[4874,0," "],[4875,0,"o"],[4876,0,"r"],[4877,0,"d"],[4878,0,"e"],[4879,0,"r"],[4880,0," "],[4881,0,"d"],[4882,0,"e"],[4883,0,"f"],[4884,0,"i"],[4885,0,"n"],[4886,0,"e"],[4887,0,"d"],[4888,0," "],[4889,0,"b"],[4890,0,"y"],[4891,0," "],[4892,0,"t"],[4893,0,"h"],[4894,0,"e"],[4895,0," "],[4896,0,"a"],[4897,0,"p"],[4898,0,"p"],[4899,0,"l"],[4900,0,"i"],[4901,0,"c"],[4902,0,"a"],[4903,0,"t"],[4904,0,"i"],[4905,0,"o"],[4906,0,"n"],[4907,0,"."],[4908,0," "],[4909,0,"T"],[4910,0,"h"],[4910,1],[4909,1],[4909,0,"A"],[4910,0," "],[4911,0,"J"],[4912,0,"S"],[4913,0,"O"],[4914,0,"N"],[4915,0," "],[4916,0,"l"],[4917,0,"i"],[4918,0,"s"],[4919,0,"t"],[4920,0," "],[4921,0,"i"],[4922,0,"s"],[4923,0," "],[4924,0,"a"],[4925,0,"l"],[4926,0,"s"],[4927,0,"o"],[4928,0," "],[4929,0,"k"],[4930,0,"n"],[4931,0,"o"],[4932,0,"w"],[4933,0,"n"],[4934,0," "],[4935,0,"a"],[4936,0,"s"],[4937,0," "],[4938,0,"a"],[4939,0,"n"],[4940,0," "],[4941,0,"\\"],[4942,0,"e"],[4943,0,"m"],[4944,0,"p"],[4945,0,"h"],[4946,0,"{"],[4947,0,"a"],[4948,0,"r"],[4949,0,"r"],[4950,0,"a"],[4951,0,"y"],[4952,0,"}"],[4953,0,"."],[4954,0,"\n"],[4955,0,"\\"],[4956,0,"i"],[4957,0,"t"],[4958,0,"e"],[4959,0,"m"],[4960,0,"["],[4961,0,"R"],[4962,0,"e"],[4963,0,"g"],[4964,0,"i"],[4965,0,"s"],[4966,0,"t"],[4967,0,"e"],[4968,0,"r"],[4969,0,":"],[4970,0,"]"],[4971,0," "],[4972,0,"A"],[4973,0," "],[4974,0,"l"],[4975,0,"e"],[4976,0,"a"],[4977,0,"f"],[4978,0," "],[4979,0,"n"],[4980,0,"o"],[4981,0,"d"],[4982,0,"e"],[4983,0," "],[4984,0,"c"],[4985,0,"o"],[4986,0,"n"],[4987,0,"t"],[4988,0,"a"],[4989,0,"i"],[4990,0,"n"],[4991,0,"i"],[4992,0,"n"],[4993,0,"g"],[4994,0," "],[4995,0,"a"],[4996,0," "],[4997,0,"p"],[4998,0,"r"],[4999,0,"i"],[5000,0,"m"],[5001,0,"i"],[5002,0,"t"],[5003,0,"i"],[5004,0,"v"],[5005,0,"e"],[5006,0," "],[5007,0,"v"],[5008,0,"a"],[5009,0,"l"],[5010,0,"u"],[5011,0,"e"],[5012,0," "],[5013,0,"("],[5014,0,"s"],[5015,0,"t"],[5016,0,"r"],[5017,0,"i"],[5018,0,"n"],[5019,0,"g"],[5020,0,","],[5021,0," "],[5022,0,"n"],[5023,0,"u"],[5024,0,"m"],[5025,0,"b"],[5026,0,"e"],[5027,0,"r"],[5028,0,","],[5029,0," "],[5030,0,"b"],[5031,0,"o"],[5032,0,"o"],[5033,0,"l"],[5034,0,"e"],[5035,0,"a"],[5036,0,"n"],[5037,0," "],[5038,0,"o"],[5039,0,"r"],[5037,0,","],[5041,0," "],[5042,0,"n"],[5043,0,"u"],[5044,0,"l"],[5045,0,"l"],[5046,0,")"],[5047,0,"."],[5048,0," "],[5048,1],[4582,0,"b"],[4583,0,"r"],[4584,0,"a"],[4585,0,"n"],[4586,0,"c"],[4587,0,"h"],[4588,0," "],[4635,1],[4634,1],[4633,1],[4632,1],[4631,1],[4630,1],[4629,1],[4840,1],[4840,1],[4840,1],[4840,1],[4840,1],[4840,1],[4840,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4948,1],[4947,1],[4965,0,"\n"],[4966,0,"\n"],[4824,0," "],[4824,1],[4778,0," "],[4779,0,"K"],[4780,0,"e"],[4781,0,"y"],[4782,0,"s"],[4783,0," "],[4784,0,"a"],[4785,0,"r"],[4786,0,"e"],[4787,0," "],[4788,0,"i"],[4789,0,"m"],[4790,0,"m"],[4791,0,"u"],[4792,0,"t"],[4793,0,"a"],[4794,0,"b"],[4795,0,"l"],[4796,0,"e"],[4797,0,","],[4798,0," "],[4799,0,"b"],[4800,0,"u"],[4801,0,"t"],[4802,0," "],[4803,0,"v"],[4804,0,"a"],[4805,0,"l"],[4806,0,"u"],[4807,0,"e"],[4808,0,"s"],[4809,0," "],[4810,0,"a"],[4811,0,"r"],[4812,0,"e"],[4813,0," "],[4814,0,"m"],[4815,0,"u"],[4816,0,"t"],[4817,0,"a"],[4818,0,"b"],[4819,0,"l"],[4820,0,"e"],[4821,0,","],[4822,0," "],[4823,0,"a"],[4824,0,"n"],[4825,0,"d"],[4826,0," "],[4827,0,"k"],[4828,0,"e"],[4829,0,"y"],[4830,0,"-"],[4831,0,"v"],[4832,0,"a"],[4833,0,"l"],[4834,0,"u"],[4835,0,"e"],[4836,0," "],[4837,0,"m"],[4838,0,"a"],[4839,0,"p"],[4840,0,"p"],[4841,0,"i"],[4842,0,"n"],[4843,0,"g"],[4844,0,"s"],[4845,0," "],[4846,0,"c"],[4847,0,"a"],[4848,0,"n"],[4849,0," "],[4850,0,"b"],[4851,0,"e"],[4852,0," "],[4853,0,"a"],[4854,0,"d"],[4855,0,"d"],[4856,0,"e"],[4857,0,"d"],[4858,0," "],[4859,0,"a"],[4860,0,"n"],[4861,0,"d"],[4862,0," "],[4863,0,"r"],[4864,0,"e"],[4865,0,"m"],[4866,0,"o"],[4867,0,"v"],[4868,0,"e"],[4869,0,"d"],[4870,0," "],[4871,0,"f"],[4872,0,"r"],[4873,0,"o"],[4874,0,"m"],[4875,0," "],[4876,0,"t"],[4877,0,"h"],[4878,0,"e"],[4879,0," "],[4880,0,"m"],[4881,0,"a"],[4882,0,"p"],[4883,0,"."],[5007,0," "],[5008,0,"T"],[5009,0,"h"],[5010,0,"e"],[5011,0," "],[5012,0,"l"],[5013,0,"i"],[5014,0,"s"],[5015,0,"t"],[5016,0," "],[5017,0,"c"],[5018,0,"a"],[5019,0,"n"],[5020,0," "],[5021,0,"b"],[5022,0,"e"],[5023,0," "],[5024,0,"m"],[5025,0,"u"],[5026,0,"t"],[5027,0,"a"],[5028,0,"t"],[5029,0,"e"],[5030,0,"d"],[5031,0," "],[5032,0,"b"],[5033,0,"y"],[5034,0," "],[5035,0,"i"],[5036,0,"n"],[5037,0,"s"],[5038,0,"e"],[5039,0,"r"],[5040,0,"t"],[5041,0,"i"],[5042,0,"n"],[5043,0,"g"],[5044,0," "],[5045,0,"o"],[5046,0,"r"],[5047,0," "],[5048,0,"d"],[5049,0,"e"],[5050,0,"l"],[5051,0,"e"],[5052,0,"t"],[5053,0,"i"],[5054,0,"n"],[5055,0,"g"],[5056,0," "],[5057,0,"l"],[5058,0,"i"],[5059,0,"s"],[5060,0,"t"],[5061,0," "],[5062,0,"e"],[5063,0,"l"],[5064,0,"e"],[5065,0,"m"],[5066,0,"e"],[5067,0,"n"],[5068,0,"t"],[5069,0,"s"],[5070,0,"."],[5137,0,"T"],[5138,0,"h"],[5139,0,"e"],[5140,0," "],[5141,0,"l"],[5142,0,"e"],[5143,0,"a"],[5144,0,"v"],[5145,0,"e"],[5146,0,"s"],[5147,0," "],[5148,0,"o"],[5149,0,"f"],[5150,0," "],[5151,0,"t"],[5152,0,"h"],[5153,0,"e"],[5154,0," "],[5155,0,"t"],[5156,0,"r"],[5157,0,"e"],[5158,0,"e"],[5159,0," "],[5160,0,"c"],[5161,0,"o"],[5162,0,"n"],[5163,0,"t"],[5164,0,"a"],[5165,0,"i"],[5166,0,"n"],[5167,0," "],[5139,1],[5138,1],[5137,1],[5137,0,"e"],[5137,1],[5137,0,"A"],[5138,0," "],[5139,0,"c"],[5140,0,"h"],[5141,0,"i"],[5142,0,"l"],[5143,0,"d"],[5144,0," "],[5145,0,"o"],[5146,0,"f"],[5147,0," "],[5148,0,"a"],[5149,0," "],[5150,0,"b"],[5151,0,"r"],[5152,0,"a"],[5153,0,"n"],[5154,0,"c"],[5155,0,"h"],[5156,0," "],[5157,0,"n"],[5158,0,"o"],[5159,0,"d"],[5160,0,"e"],[5161,0," "],[5162,0,"c"],[5163,0,"a"],[5164,0,"n"],[5165,0," "],[5166,0,"b"],[5167,0,"e"],[5168,0," "],[5169,0,"e"],[5170,0,"i"],[5171,0,"t"],[5172,0,"h"],[5173,0,"e"],[5174,0,"r"],[5175,0," "],[5176,0,"a"],[5177,0,"n"],[5178,0,"o"],[5179,0,"t"],[5180,0,"h"],[5181,0,"e"],[5182,0,"r"],[5183,0," "],[5184,0,"b"],[5185,0,"r"],[5186,0,"a"],[5187,0,"n"],[5188,0,"c"],[5189,0,"h"],[5190,0," "],[5191,0,"n"],[5192,0,"o"],[5193,0,"d"],[5194,0,"e"],[5195,0,","],[5196,0," "],[5197,0,"o"],[5198,0,"r"],[5199,0," "],[5200,0,"a"],[5201,0," "],[5202,0,"l"],[5203,0,"e"],[5204,0,"a"],[5205,0,"f"],[5206,0," "],[5207,0,"n"],[5208,0,"o"],[5209,0,"d"],[5210,0,"e"],[5211,0,"."],[5212,0," "],[5213,0,"A"],[5220,1],[5219,1],[5218,1],[5218,0,"f"],[5239,1],[5239,0,"s"],[5240,0," "],[5241,0,"a"],[5242,0," "],[5243,0,"p"],[5244,0,"r"],[5245,0,"i"],[5246,0,"m"],[5247,0,"i"],[5248,0,"t"],[5249,0,"i"],[5250,0,"v"],[5251,0,"e"],[5252,0," "],[5253,0,"v"],[5254,0,"a"],[5255,0,"l"],[5256,0,"u"],[5257,0,"e"],[5258,0," "],[5259,0,"("],[5260,0,"s"],[5261,0,"t"],[5262,0,"r"],[5263,0,"i"],[5264,0,"n"],[5265,0,"g"],[5266,0,","],[5267,0," "],[5268,0,"n"],[5269,0,"u"],[5270,0,"m"],[5271,0,"b"],[5272,0,"e"],[5273,0,"r"],[5274,0,","],[5275,0," "],[5276,0,"b"],[5277,0,"o"],[5278,0,"o"],[5279,0,"l"],[5280,0,"e"],[5281,0,"a"],[5282,0,"n"],[5283,0,","],[5284,0," "],[5285,0,"o"],[5286,0,"r"],[5287,0," "],[5288,0,"n"],[5289,0,"u"],[5290,0,"l"],[5291,0,"l"],[5292,0,")"],[5293,0,"."],[5294,0," "],[5295,0,"W"],[5296,0,"e"],[5297,0," "],[5298,0,"t"],[5299,0,"r"],[5300,0,"e"],[5301,0,"a"],[5302,0,"t"],[5303,0," "],[5304,0,"p"],[5305,0,"r"],[5306,0,"i"],[5307,0,"m"],[5308,0,"i"],[5309,0,"t"],[5310,0,"i"],[5311,0,"v"],[5312,0,"e"],[5313,0," "],[5314,0,"v"],[5315,0,"a"],[5316,0,"l"],[5317,0,"u"],[5318,0,"e"],[5319,0,"s"],[5320,0," "],[5321,0,"a"],[5322,0,"s"],[5323,0," "],[5324,0,"i"],[5325,0,"m"],[5326,0,"m"],[5327,0,"u"],[5328,0,"t"],[5329,0,"a"],[5330,0,"b"],[5331,0,"l"],[5332,0,"e"],[5333,0,","],[5334,0," "],[5335,0,"b"],[5336,0,"u"],[5337,0,"t"],[5338,0," "],[5339,0,"a"],[5340,0,"l"],[5341,0,"l"],[5342,0,"o"],[5343,0,"w"],[5344,0," "],[5345,0,"a"],[5346,0," "],[5346,1],[5345,1],[5345,0,"t"],[5346,0,"h"],[5347,0,"e"],[5348,0," "],[5349,0,"v"],[5350,0,"a"],[5351,0,"l"],[5352,0,"u"],[5353,0,"e"],[5354,0," "],[5355,0,"o"],[5356,0,"f"],[5357,0," "],[5358,0,"a"],[5359,0," "],[5360,0,"l"],[5361,0,"e"],[5362,0,"a"],[5363,0,"f"],[5364,0," "],[5365,0,"n"],[5366,0,"o"],[5367,0,"d"],[5368,0,"e"],[5369,0," "],[5370,0,"t"],[5371,0,"o"],[5372,0," "],[5373,0,"b"],[5374,0,"e"],[5375,0," "],[5376,0,"m"],[5377,0,"o"],[5378,0,"d"],[5379,0,"i"],[5380,0,"f"],[5381,0,"i"],[5382,0,"e"],[5383,0,"d"],[5384,0," "],[5385,0,"b"],[5386,0,"y"],[5387,0," "],[5388,0,"t"],[5389,0,"r"],[5390,0,"e"],[5391,0,"a"],[5392,0,"t"],[5393,0,"i"],[5394,0,"n"],[5395,0,"g"],[5396,0," "],[5397,0,"i"],[5398,0,"t"],[5399,0," "],[5400,0,"a"],[5401,0,"s"],[5402,0," "],[5403,0,"a"],[5404,0," "],[5405,0,"\\"],[5406,0,"e"],[5407,0,"m"],[5408,0,"p"],[5409,0,"h"],[5410,0,"{"],[5411,0,"r"],[5412,0,"e"],[5413,0,"g"],[5414,0,"i"],[5415,0,"s"],[5416,0,"t"],[5417,0,"e"],[5418,0,"r"],[5419,0,"}"],[5420,0," "],[5421,0,"t"],[5422,0,"h"],[5423,0,"a"],[5424,0,"t"],[5425,0," "],[5426,0,"c"],[5427,0,"a"],[5428,0,"n"],[5429,0," "],[5430,0,"b"],[5431,0,"e"],[5432,0," "],[5433,0,"a"],[5434,0,"s"],[5435,0,"s"],[5436,0,"i"],[5437,0,"g"],[5438,0,"n"],[5439,0,"e"],[5440,0,"d"],[5441,0," "],[5442,0,"a"],[5443,0," "],[5444,0,"n"],[5445,0,"e"],[5446,0,"w"],[5447,0," "],[5448,0,"v"],[5449,0,"a"],[5450,0,"l"],[5451,0,"u"],[5452,0,"e"],[5453,0,"."],[4571,1],[4570,1],[4569,1],[4568,1],[4567,1],[4566,1],[4565,1],[4564,1],[4563,1],[4562,1],[4561,1],[4560,1],[4559,1],[4558,1],[4557,1],[4556,1],[4555,1],[4554,1],[4553,1],[4552,1],[4551,1],[4550,1],[4549,1],[4548,1],[4548,0,"n"],[4549,0,"t"],[4550,0,"a"],[4551,0,"i"],[4552,0,"n"],[4552,1],[4551,1],[4550,1],[4549,1],[4548,1],[4548,0,"t"],[4549,0,"a"],[4550,0,"i"],[4551,0,"n"],[4552,0,"i"],[4553,0,"n"],[4554,0,"g"],[4555,0," "],[4556,0,"t"],[4557,0,"w"],[4558,0,"o"],[5441,0,"\n"],[5442,0,"\n"],[5443,0,"\\"],[5443,1],[5443,0,"I"],[5444,0,"n"],[5445,0," "],[5446,0,"s"],[5447,0,"e"],[5448,0,"c"],[5449,0,"t"],[5450,0,"i"],[5451,0,"o"],[5452,0,"n"],[5453,0,"~"],[5454,0,"\\"],[5455,0,"r"],[5456,0,"e"],[5457,0,"f"],[5458,0,"{"],[5459,0,"s"],[5460,0,"e"],[5461,0,"c"],[5462,0,":"],[5463,0,"e"],[5464,0,"a"],[5464,1],[5464,0,"x"],[5465,0,"a"],[5466,0,"m"],[5467,0,"p"],[5468,0,"l"],[5469,0,"e"],[5470,0,"s"],[5471,0,"}"],[5472,0," "],[5473,0,"w"],[5474,0,"e"],[5475,0," "],[5476,0,"s"],[5477,0,"h"],[5478,0,"o"],[5479,0,"w"],[5480,0," "],[5481,0,"s"],[5482,0,"o"],[5483,0,"m"],[5484,0,"e"],[5485,0," "],[5486,0,"e"],[5487,0,"x"],[5487,1],[5486,1],[5486,0,"s"],[5487,0,"i"],[5488,0,"m"],[5489,0,"p"],[5490,0,"l"],[5491,0,"e"],[5492,0," "],[5493,0,"e"],[5494,0,"x"],[5495,0,"a"],[5496,0,"m"],[5497,0,"p"],[5498,0,"l"],[5499,0,"e"],[5500,0,"s"],[5501,0," "],[5502,0,"o"],[5503,0,"f"],[5504,0," "],[5505,0,"u"],[5506,0,"s"],[5507,0,"i"],[5508,0,"n"],[5509,0,"g"],[5510,0," "],[5511,0,"J"],[5512,0,"S"],[5513,0,"O"],[5514,0,"N"],[5515,0," "],[5516,0,"t"],[5517,0,"o"],[5518,0," "],[5519,0,"m"],[5520,0,"o"],[5521,0,"d"],[5522,0,"e"],[5523,0,"l"],[5524,0," "],[5525,0,"a"],[5526,0,"p"],[5527,0,"p"],[5528,0,"l"],[5529,0,"i"],[5530,0,"c"],[5531,0,"a"],[5532,0,"t"],[5533,0,"i"],[5534,0,"o"],[5535,0,"n"],[5536,0," "],[5537,0,"d"],[5538,0,"a"],[5539,0,"t"],[5540,0,"a"],[5541,0,"."],[5442,0,"\n"],[5443,0,"T"],[5444,0,"h"],[5445,0,"i"],[5446,0,"s"],[5447,0," "],[5448,0,"m"],[5449,0,"o"],[5450,0,"d"],[5451,0,"e"],[5452,0,"l"],[5453,0," "],[5454,0,"i"],[5455,0,"s"],[5456,0," "],[5457,0,"s"],[5458,0,"u"],[5459,0,"f"],[5460,0,"f"],[5461,0,"i"],[5462,0,"c"],[5463,0,"i"],[5464,0,"e"],[5465,0,"n"],[5466,0,"t"],[5467,0," "],[5468,0,"t"],[5469,0,"o"],[5470,0," "],[5471,0,"e"],[5472,0,"x"],[5473,0,"p"],[5474,0,"r"],[5475,0,"e"],[5476,0,"s"],[5477,0,"s"],[5478,0," "],[5479,0,"t"],[5480,0,"h"],[5481,0,"e"],[5482,0," "],[5483,0,"s"],[5484,0,"t"],[5485,0,"a"],[5486,0,"t"],[5487,0,"e"],[5488,0," "],[5489,0,"o"],[5490,0,"f"],[5491,0," "],[5492,0,"a"],[5493,0," "],[5494,0,"w"],[5495,0,"i"],[5496,0,"d"],[5497,0,"e"],[5498,0," "],[5499,0,"r"],[5500,0,"a"],[5501,0,"n"],[5502,0,"g"],[5503,0,"e"],[5504,0," "],[5505,0,"o"],[5506,0,"f"],[5507,0," "],[5508,0,"a"],[5509,0,"p"],[5510,0,"p"],[5511,0,"l"],[5512,0,"i"],[5513,0,"c"],[5514,0,"a"],[5515,0,"t"],[5516,0,"i"],[5517,0,"o"],[5518,0,"n"],[5519,0,"s"],[5520,0,"."],[5521,0," "],[5522,0,"F"],[5523,0,"o"],[5524,0,"r"],[5525,0," "],[5526,0,"e"],[5527,0,"x"],[5528,0,"a"],[5529,0,"m"],[5530,0,"p"],[5531,0,"l"],[5532,0,"e"],[5533,0,","],[5534,0," "],[5535,0,"a"],[5536,0," "],[5537,0,"t"],[5538,0,"e"],[5539,0,"x"],[5540,0,"t"],[5541,0," "],[5542,0,"d"],[5543,0,"o"],[5544,0,"c"],[5545,0,"u"],[5546,0,"m"],[5547,0,"e"],[5548,0,"n"],[5549,0,"t"],[5550,0," "],[5551,0,"c"],[5552,0,"a"],[5553,0,"n"],[5554,0," "],[5555,0,"b"],[5556,0,"e"],[5557,0," "],[5558,0,"r"],[5559,0,"e"],[5560,0,"p"],[5561,0,"r"],[5562,0,"e"],[5563,0,"s"],[5564,0,"e"],[5565,0,"n"],[5566,0,"t"],[5567,0,"e"],[5568,0,"d"],[5569,0," "],[5570,0,"b"],[5571,0,"y"],[5572,0," "],[5573,0,"a"],[5574,0,"n"],[5575,0," "],[5576,0,"o"],[5577,0,"r"],[5578,0,"d"],[5579,0,"e"],[5580,0,"r"],[5581,0,"e"],[5582,0,"d"],[5583,0," "],[5584,0,"l"],[5585,0,"i"],[5586,0,"s"],[5587,0,"t"],[5588,0," "],[5589,0,"o"],[5590,0,"f"],[5591,0," "],[5592,0,"i"],[5593,0,"n"],[5594,0,"d"],[5595,0,"i"],[5596,0,"v"],[5582,1],[5581,1],[5580,1],[5579,1],[5578,1],[5577,1],[5576,1],[5575,1],[5574,1],[5588,0,"i"],[5589,0,"d"],[5590,0,"u"],[5591,0,"a"],[5592,0,"l"],[5593,0," "],[5594,0,"c"],[5595,0,"h"],[5596,0,"a"],[5597,0,"r"],[5598,0,"a"],[5599,0,"c"],[5600,0,"t"],[5601,0,"e"],[5602,0,"r"],[5603,0,"s"],[5593,1],[5592,1],[5591,1],[5590,1],[5589,1],[5588,1],[5587,1],[5586,1],[5585,1],[5584,1],[5583,1],[5583,0,"s"],[5584,0,"i"],[5585,0,"n"],[5586,0,"g"],[5587,0,"l"],[5588,0,"e"],[5589,0,"-"],[5599,1],[5599,0," "],[5600,0,"s"],[5601,0,"t"],[5602,0,"r"],[5603,0,"i"],[5604,0,"n"],[5605,0,"g"],[5606,0,"s"],[5607,0,";"],[5608,0," "],[5609,0,"c"],[5610,0,"h"],[5611,0,"a"],[5612,0,"r"],[5613,0,"a"],[5614,0,"c"],[5615,0,"t"],[5616,0,"e"],[5617,0,"r"],[5618,0,"-"],[5619,0,"b"],[5620,0,"y"],[5621,0,"-"],[5622,0,"c"],[5623,0,"h"],[5624,0,"a"],[5625,0,"r"],[5626,0,"a"],[5627,0,"c"],[5628,0,"t"],[5629,0,"e"],[5630,0,"r"],[5631,0," "],[5632,0,"e"],[5633,0,"d"],[5634,0,"i"],[5635,0,"t"],[5636,0,"s"],[5637,0," "],[5638,0,"a"],[5639,0,"r"],[5640,0,"e"],[5641,0," "],[5642,0,"t"],[5643,0,"h"],[5644,0,"e"],[5645,0,"n"],[5646,0," "],[5647,0,"e"],[5648,0,"x"],[5649,0,"p"],[5650,0,"r"],[5651,0,"e"],[5652,0,"s"],[5653,0,"s"],[5654,0,"e"],[5655,0,"d"],[5656,0," "],[5657,0,"a"],[5658,0,"s"],[5659,0," "],[5660,0,"i"],[5661,0,"n"],[5662,0,"s"],[5663,0,"e"],[5664,0,"r"],[5665,0,"t"],[5666,0,"i"],[5667,0,"o"],[5668,0,"n"],[5669,0,"s"],[5670,0," "],[5671,0,"a"],[5672,0,"n"],[5673,0,"d"],[5674,0," "],[5675,0,"d"],[5676,0,"e"],[5677,0,"l"],[5678,0,"e"],[5679,0,"t"],[5680,0,"i"],[5681,0,"o"],[5682,0,"n"],[5683,0,"s"],[5684,0," "],[5685,0,"o"],[5686,0,"f"],[5687,0," "],[5688,0,"l"],[5689,0,"i"],[5690,0,"s"],[5691,0,"t"],[5692,0," "],[5693,0,"e"],[5694,0,"l"],[5695,0,"e"],[5696,0,"m"],[5697,0,"e"],[5698,0,"n"],[5699,0,"t"],[5700,0,"s"],[5701,0,"."],[5702,1],[5702,0," "],[5751,1],[5750,1],[5749,1],[5748,1],[5747,1],[5746,1],[5745,1],[5744,1],[5743,1],[5742,1],[5741,1],[5741,0,"f"],[5742,0,"u"],[5743,0,"r"],[5744,0,"t"],[5745,0,"h"],[5746,0,"e"],[5747,0,"r"],[5798,0,"\n"],[5799,0,"\n"],[5800,0,"\\"],[5801,0,"s"],[5802,0,"u"],[5803,0,"b"],[5804,0,"s"],[5805,0,"e"],[5806,0,"c"],[5807,0,"t"],[5808,0,"i"],[5809,0,"o"],[5810,0,"n"],[5811,0,"{"],[5812,0,"C"],[5813,0,"o"],[5814,0,"n"],[5815,0,"f"],[5816,0,"l"],[5817,0,"i"],[5818,0,"c"],[5819,0,"t"],[5820,0," "],[5821,0,"r"],[5822,0,"e"],[5823,0,"s"],[5824,0,"o"],[5825,0,"l"],[5826,0,"u"],[5827,0,"t"],[5828,0,"i"],[5829,0,"o"],[5830,0,"n"],[5831,0,"}"],[5830,1],[5829,1],[5828,1],[5827,1],[5826,1],[5825,1],[5824,1],[5823,1],[5822,1],[5821,1],[5820,1],[5819,1],[5818,1],[5817,1],[5816,1],[5815,1],[5814,1],[5813,1],[5812,1],[5812,0,"R"],[5813,0,"e"],[5814,0,"p"],[5815,0,"l"],[5816,0,"i"],[5817,0,"c"],[5818,0,"a"],[5819,0,"t"],[5820,0,"i"],[5821,0,"o"],[5822,0,"n"],[5823,0," "],[5824,0,"m"],[5825,0,"o"],[5826,0,"d"],[5827,0,"e"],[5828,0,"l"],[5828,1],[5827,1],[5826,1],[5825,1],[5824,1],[5824,0,"a"],[5825,0,"n"],[5826,0,"d"],[5827,0," "],[5828,0,"c"],[5829,0,"o"],[5830,0,"n"],[5831,0,"f"],[5832,0,"l"],[5833,0,"i"],[5834,0,"c"],[5835,0,"t"],[5836,0," "],[5837,0,"r"],[5838,0,"e"],[5839,0,"s"],[5840,0,"o"],[5841,0,"l"],[5842,0,"u"],[5843,0,"t"],[5844,0,"i"],[5845,0,"o"],[5846,0,"n"],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[12904,1],[6127,0,"\n"],[6128,0,"\n"],[6128,0,"W"],[6129,0,"e"],[6130,0," "],[6131,0,"c"],[6132,0,"o"],[6133,0,"n"],[6134,0,"s"],[6135,0,"i"],[6136,0,"d"],[6137,0,"e"],[6138,0,"r"],[6139,0," "],[6140,0,"s"],[6141,0,"y"],[6142,0,"s"],[6143,0,"t"],[6144,0,"e"],[6145,0,"m"],[6146,0,"s"],[6147,0," "],[6148,0,"i"],[6149,0,"n"],[6150,0," "],[6151,0,"w"],[6152,0,"h"],[6153,0,"i"],[6154,0,"c"],[6155,0,"h"],[6156,0," "],[6157,0,"a"],[6158,0," "],[6159,0,"f"],[6160,0,"u"],[6161,0,"l"],[6162,0,"l"],[6163,0," "],[6164,0,"c"],[6165,0,"o"],[6166,0,"p"],[6167,0,"y"],[6168,0," "],[6169,0,"o"],[6170,0,"f"],[6171,0," "],[6172,0,"t"],[6173,0,"h"],[6174,0,"e"],[6175,0," "],[6176,0,"J"],[6177,0,"S"],[6178,0,"O"],[6179,0,"N"],[6180,0," "],[6181,0,"d"],[6182,0,"o"],[6183,0,"c"],[6184,0,"u"],[6185,0,"m"],[6186,0,"e"],[6187,0,"n"],[6188,0,"t"],[6189,0," "],[6190,0,"i"],[6191,0,"s"],[6192,0," "],[6193,0,"r"],[6194,0,"e"],[6195,0,"p"],[6196,0,"l"],[6197,0,"i"],[6198,0,"c"],[6199,0,"a"],[6200,0,"t"],[6201,0,"e"],[6202,0,"d"],[6203,0," "],[6204,0,"o"],[6205,0,"n"],[6206,0," "],[6207,0,"s"],[6208,0,"e"],[6209,0,"v"],[6210,0,"e"],[6211,0,"r"],[6212,0,"a"],[6213,0,"l"],[6214,0," "],[6215,0,"d"],[6216,0,"e"],[6217,0,"v"],[6218,0,"i"],[6219,0,"c"],[6220,0,"e"],[6221,0,"s"],[6222,0,"."],[6223,0," "],[6224,0,"T"],[6225,0,"h"],[6226,0,"o"],[6227,0,"s"],[6228,0,"e"],[6229,0," "],[6230,0,"d"],[6231,0,"e"],[6232,0,"v"],[6233,0,"i"],[6234,0,"c"],[6235,0,"e"],[6236,0,"s"],[6237,0," "],[6238,0,"c"],[6239,0,"o"],[6240,0,"u"],[6241,0,"l"],[6242,0,"d"],[6243,0," "],[6244,0,"b"],[6245,0,"e"],[6246,0," "],[6247,0,"s"],[6248,0,"e"],[6249,0,"r"],[6250,0,"v"],[6251,0,"e"],[6252,0,"r"],[6253,0,"s"],[6254,0," "],[6255,0,"i"],[6256,0,"n"],[6257,0," "],[6258,0,"d"],[6259,0,"a"],[6260,0,"t"],[6261,0,"a"],[6262,0,"c"],[6263,0,"e"],[6264,0,"n"],[6265,0,"t"],[6266,0,"e"],[6267,0,"r"],[6268,0,"s"],[6269,0,","],[6270,0," "],[6271,0,"b"],[6272,0,"u"],[6273,0,"t"],[6274,0," "],[6275,0,"w"],[6276,0,"e"],[6277,0," "],[6278,0,"p"],[6279,0,"r"],[6280,0,"i"],[6281,0,"m"],[6282,0,"a"],[6283,0,"r"],[6284,0,"i"],[6285,0,"l"],[6286,0,"y"],[6287,0," "],[6287,1],[6286,1],[6285,1],[6284,1],[6283,1],[6282,1],[6281,1],[6280,1],[6279,1],[6278,1],[6278,0,"c"],[6279,0,"o"],[6279,1],[6278,1],[6278,0,"p"],[6278,1],[6278,0,"f"],[6279,0,"o"],[6280,0,"c"],[6281,0,"u"],[6282,0,"s"],[6283,0," "],[6284,0,"o"],[6285,0,"n"],[6286,0," "],[6287,0,"m"],[6288,0,"o"],[6289,0,"b"],[6290,0,"i"],[6291,0,"l"],[6292,0,"e"],[6293,0," "],[6294,0,"d"],[6295,0,"e"],[6296,0,"v"],[6297,0,"i"],[6298,0,"c"],[6299,0,"e"],[6300,0,"s"],[6301,0," "],[6302,0,"s"],[6303,0,"u"],[6304,0,"c"],[6305,0,"h"],[6306,0," "],[6307,0,"a"],[6308,0,"s"],[6309,0," "],[6310,0,"s"],[6311,0,"m"],[6312,0,"a"],[6313,0,"r"],[6314,0,"t"],[6315,0,"p"],[6316,0,"h"],[6317,0,"o"],[6318,0,"n"],[6319,0,"e"],[6320,0,"s"],[6321,0,","],[6322,0," "],[6323,0,"t"],[6324,0,"a"],[6325,0,"b"],[6326,0,"l"],[6327,0,"e"],[6327,1],[6326,1],[6325,1],[6324,1],[6323,1],[6322,1],[6321,1],[6321,0," "],[6322,0,"a"],[6323,0,"n"],[6324,0,"d"],[6325,0," "],[6326,0,"l"],[6327,0,"a"],[6328,0,"p"],[6329,0,"t"],[6330,0,"o"],[6331,0,"p"],[6332,0,"s"],[6333,0,"."],[6333,0,","],[6334,0," "],[6335,0,"w"],[6336,0,"h"],[6337,0,"i"],[6338,0,"c"],[6339,0,"h"],[6340,0," "],[6341,0,"h"],[6342,0,"a"],[6343,0,"v"],[6344,0,"e"],[6345,0," "],[6346,0,"i"],[6347,0,"n"],[6348,0,"t"],[6349,0,"e"],[6350,0,"r"],[6351,0,"m"],[6352,0,"i"],[6353,0,"t"],[6354,0,"t"],[6355,0,"e"],[6356,0,"n"],[6357,0,"t"],[6358,0," "],[6359,0,"n"],[6360,0,"e"],[6361,0,"t"],[6362,0,"w"],[6363,0,"o"],[6364,0,"r"],[6365,0,"k"],[6366,0," "],[6367,0,"c"],[6368,0,"o"],[6369,0,"n"],[6370,0,"n"],[6371,0,"e"],[6372,0,"c"],[6373,0,"t"],[6374,0,"i"],[6375,0,"v"],[6376,0,"i"],[6377,0,"t"],[6378,0,"y"],[6380,0," "],[6381,0,"O"],[6382,0,"u"],[6383,0,"r"],[6384,0," "],[6385,0,"m"],[6386,0,"o"],[6387,0,"d"],[6388,0,"e"],[6389,0,"l"],[6390,0," "],[6391,0,"a"],[6392,0,"l"],[6393,0,"l"],[6394,0,"o"],[6395,0,"w"],[6396,0,"s"],[6397,0," "],[6398,0,"e"],[6399,0,"a"],[6400,0,"c"],[6401,0,"h"],[6402,0," "],[6403,0,"r"],[6404,0,"e"],[6405,0,"p"],[6405,1],[6404,1],[6403,1],[6403,0,"d"],[6404,0,"e"],[6405,0,"v"],[6406,0,"i"],[6407,0,"c"],[6408,0,"e"],[6409,0," "],[6410,0,"t"],[6411,0,"o"],[6412,0," "],[6413,0,"m"],[6414,0,"o"],[6415,0,"d"],[6416,0,"i"],[6417,0,"f"],[6418,0,"y"],[6419,0," "],[6420,0,"i"],[6421,0,"t"],[6422,0,"s"],[6423,0," "],[6424,0,"l"],[6425,0,"o"],[6426,0,"c"],[6427,0,"a"],[6428,0,"l"],[6429,0," "],[6430,0,"c"],[6431,0,"o"],[6432,0,"p"],[6433,0,"y"],[6434,0," "],[6434,1],[6433,1],[6432,1],[6431,1],[6430,1],[6430,0,"r"],[6431,0,"e"],[6432,0,"p"],[6433,0,"l"],[6434,0,"i"],[6435,0,"c"],[6436,0,"a"],[6437,0," "],[6438,0,"o"],[6439,0,"f"],[6440,0," "],[6441,0,"t"],[6442,0,"h"],[6443,0,"e"],[6444,0," "],[6445,0,"d"],[6446,0,"o"],[6447,0,"c"],[6448,0,"u"],[6449,0,"m"],[6450,0,"e"],[6451,0,"n"],[6452,0,"t"],[6453,0,","],[6454,0," "],[6455,0,"a"],[6456,0,"n"],[6457,0,"d"],[6458,0," "],[6459,0,"t"],[6460,0,"o"],[6461,0," "],[6462,0,"a"],[6463,0,"s"],[6464,0,"y"],[6465,0,"n"],[6466,0,"c"],[6467,0,"h"],[6468,0,"r"],[6469,0,"o"],[6470,0,"n"],[6471,0,"o"],[6472,0,"u"],[6473,0,"s"],[6474,0,"l"],[6475,0,"y"],[6476,0," "],[6477,0,"p"],[6478,0,"r"],[6479,0,"o"],[6480,0,"p"],[6481,0,"a"],[6482,0,"g"],[6483,0,"a"],[6484,0,"t"],[6485,0,"e"],[6486,0," "],[6487,0,"t"],[6488,0,"h"],[6489,0,"o"],[6490,0,"s"],[6491,0,"e"],[6492,0," "],[6493,0,"e"],[6494,0,"d"],[6495,0,"i"],[6496,0,"t"],[6497,0,"s"],[6498,0," "],[6499,0,"t"],[6500,0,"o"],[6501,0," "],[6502,0,"o"],[6503,0,"t"],[6504,0,"h"],[6505,0,"e"],[6506,0,"r"],[6507,0," "],[6508,0,"r"],[6509,0,"e"],[6510,0,"p"],[6511,0,"l"],[6512,0,"i"],[6513,0,"c"],[6514,0,"a"],[6515,0,"s"],[6516,0,"."],[6517,0,"\n"],[6518,0,"\n"],[6519,0,"W"],[6520,0,"e"],[6521,0," "],[6521,1],[6520,1],[6519,1],[6519,0,"O"],[6520,0,"u"],[6521,0,"r"],[6522,0," "],[6523,0,"o"],[6524,0,"n"],[6525,0,"l"],[6526,0,"y"],[6527,0," "],[6528,0,"r"],[6529,0,"e"],[6530,0,"q"],[6531,0,"u"],[6532,0,"i"],[6533,0,"r"],[6534,0,"e"],[6535,0,"m"],[6536,0,"e"],[6537,0,"n"],[6538,0,"t"],[6539,0," "],[6540,0,"o"],[6541,0,"f"],[6542,0," "],[6543,0,"t"],[6544,0,"h"],[6545,0,"e"],[6546,0," "],[6547,0,"n"],[6548,0,"e"],[6549,0,"t"],[6550,0,"w"],[6551,0,"o"],[6552,0,"r"],[6553,0,"k"],[6554,0," "],[6555,0,"i"],[6556,0,"s"],[6557,0," "],[6558,0,"t"],[6559,0,"h"],[6560,0,"e"],[6561,0," "],[6562,0,"l"],[6563,0,"i"],[6564,0,"v"],[6565,0,"e"],[6566,0,"n"],[6567,0,"e"],[6568,0,"s"],[6569,0,"s"],[6570,0," "],[6571,0,"c"],[6572,0,"o"],[6573,0,"n"],[6574,0,"d"],[6575,0,"i"],[6576,0,"t"],[6577,0,"i"],[6578,0,"o"],[6579,0,"n"],[6580,0," "],[6581,0,"t"],[6582,0,"h"],[6583,0,"a"],[6584,0,"t"],[6585,0," "],[6586,0,"m"],[6587,0,"e"],[6588,0,"s"],[6589,0,"s"],[6590,0,"a"],[6591,0,"g"],[6592,0,"e"],[6593,0,"s"],[6594,0," "],[6595,0,"a"],[6596,0,"r"],[6597,0,"e"],[6598,0," "],[6599,0,"e"],[6600,0,"v"],[6601,0,"e"],[6602,0,"n"],[6603,0,"t"],[6604,0,"u"],[6605,0,"a"],[6606,0,"l"],[6607,0,"l"],[6608,0,"y"],[6609,0," "],[6610,0,"d"],[6611,0,"e"],[6612,0,"l"],[6613,0,"i"],[6614,0,"e"],[6615,0,"v"],[6616,0,"e"],[6616,1],[6615,1],[6614,1],[6614,0,"v"],[6615,0,"e"],[6616,0,"r"],[6617,0,"e"],[6618,0,"d"],[6580,1],[6579,1],[6578,1],[6577,1],[6576,1],[6575,1],[6574,1],[6573,1],[6572,1],[6571,1],[6570,1],[6569,1],[6568,1],[6567,1],[6566,1],[6565,1],[6564,1],[6563,1],[6562,1],[6561,1],[6560,1],[6559,1],[6558,1],[6596,0,","],[6597,0," "],[6598,0,"a"],[6599,0," "],[6600,0,"l"],[6601,0,"i"],[6602,0,"v"],[6603,0,"e"],[6604,0,"n"],[6605,0,"e"],[6606,0,"s"],[6607,0,"s"],[6608,0," "],[6609,0,"c"],[6610,0,"o"],[6611,0,"n"],[6612,0,"d"],[6613,0,"i"],[6614,0,"t"],[6615,0,"i"],[6616,0,"o"],[6617,0,"n"],[6618,0,"."],[6619,0," "],[6619,1],[6618,1],[6617,1],[6616,1],[6615,1],[6614,1],[6613,1],[6612,1],[6611,1],[6610,1],[6609,1],[6608,1],[6607,1],[6606,1],[6605,1],[6604,1],[6603,1],[6602,1],[6601,1],[6600,1],[6599,1],[6598,1],[6598,0,"i"],[6599,0,"f"],[6600,0," "],[6601,0,"n"],[6602,0,"e"],[6603,0,"c"],[6604,0,"e"],[6605,0,"s"],[6606,0,"s"],[6607,0,"a"],[6608,0,"r"],[6609,0,"y"],[6610,0," "],[6611,0,"b"],[6612,0,"y"],[6613,0," "],[6614,0,"r"],[6615,0,"e"],[6616,0,"t"],[6617,0,"r"],[6618,0,"y"],[6619,0,"i"],[6620,0,"n"],[6621,0,"g"],[6622,0," "],[6623,0,"i"],[6624,0,"f"],[6625,0," "],[6626,0,"n"],[6627,0,"e"],[6628,0,"c"],[6629,0,"e"],[6630,0,"s"],[6631,0,"s"],[6632,0,"a"],[6633,0,"r"],[6634,0,"y"],[6635,0,"."],[6636,0,"/"],[6636,1],[6613,1],[6612,1],[6611,1],[6610,1],[6609,1],[6608,1],[6607,1],[6606,1],[6605,1],[6604,1],[6603,1],[6602,1],[6601,1],[6600,1],[6599,1],[6598,1],[6598,0,"b"],[6599,0,"y"],[6600,0," "],[6621,1],[6620,1],[6619,1],[6618,1],[6617,1],[6616,1],[6615,1],[6614,1],[6613,1],[6613,0,"d"],[6614,0,"e"],[6615,0,"l"],[6616,0,"i"],[6617,0,"v"],[6618,0,"e"],[6619,0,"r"],[6620,0,"y"],[6621,0," "],[6622,0,"f"],[6623,0,"a"],[6624,0,"i"],[6625,0,"l"],[6626,0,"s"],[6628,0," "],[6629,0,"W"],[6630,0,"e"],[6631,0," "],[6632,0,"m"],[6633,0,"a"],[6634,0,"k"],[6635,0,"e"],[6636,0," "],[6637,0,"n"],[6638,0,"o"],[6639,0," "],[6640,0,"a"],[6641,0,"s"],[6642,0,"s"],[6643,0,"u"],[6644,0,"m"],[6645,0,"p"],[6646,0,"t"],[6647,0,"i"],[6648,0,"o"],[6649,0,"n"],[6650,0,"s"],[6651,0," "],[6652,0,"a"],[6653,0,"b"],[6654,0,"o"],[6655,0,"u"],[6655,1],[6654,1],[6653,1],[6652,1],[6651,1],[6650,1],[6649,1],[6648,1],[6647,1],[6646,1],[6645,1],[6644,1],[6643,1],[6642,1],[6641,1],[6640,1],[6639,1],[6638,1],[6637,1],[6636,1],[6635,1],[6634,1],[6633,1],[6632,1],[6631,1],[6630,1],[6629,1],[6629,0,"T"],[6630,0,"h"],[6631,0,"e"],[6632,0," "],[6633,0,"n"],[6634,0,"e"],[6635,0,"t"],[6636,0,"w"],[6637,0,"o"],[6638,0,"r"],[6639,0,"k"],[6640,0," "],[6641,0,"i"],[6642,0,"s"],[6643,0," "],[6644,0,"a"],[6645,0,"l"],[6646,0,"l"],[6647,0,"o"],[6648,0,"w"],[6649,0,"e"],[6650,0,"d"],[6651,0," "],[6652,0,"t"],[6653,0,"o"],[6654,0," "],[6655,0,"a"],[6656,0,"r"],[6657,0,"b"],[6658,0,"i"],[6659,0,"t"],[6660,0,"r"],[6661,0,"a"],[6662,0,"r"],[6663,0,"i"],[6664,0,"l"],[6665,0,"y"],[6666,0," "],[6667,0,"r"],[6668,0,"e"],[6669,0,"-"],[6670,0,"o"],[6671,0,"r"],[6671,1],[6670,1],[6669,1],[6669,0,"o"],[6670,0,"r"],[6671,0,"d"],[6672,0,"e"],[6673,0,"r"],[6674,0," "],[6675,0,"o"],[6676,0,"r"],[6677,0," "],[6678,0,"d"],[6679,0,"u"],[6680,0,"p"],[6681,0,"l"],[6682,0,"i"],[6683,0,"c"],[6684,0,"a"],[6685,0,"t"],[6686,0,"e"],[6687,0," "],[6688,0,"m"],[6689,0,"e"],[6690,0,"s"],[6691,0,"s"],[6692,0,"a"],[6693,0,"g"],[6694,0,"e"],[6695,0,"s"],[6696,0,"."],[6697,0," "],[6698,0,"W"],[6699,0,"e"],[6700,0," "],[6700,1],[6699,1],[6698,1],[6698,0,"O"],[6699,0,"u"],[6700,0,"r"],[6701,0," "],[6702,0,"a"],[6703,0,"l"],[6704,0,"g"],[6705,0,"o"],[6706,0,"r"],[6707,0,"i"],[6708,0,"t"],[6709,0,"h"],[6710,0,"m"],[6711,0," "],[6712,0,"p"],[6713,0,"e"],[6714,0,"r"],[6715,0,"f"],[6716,0,"o"],[6717,0,"r"],[6718,0,"m"],[6719,0,"s"],[6720,0," "],[6721,0,"a"],[6722,0,"l"],[6723,0,"l"],[6724,0," "],[6725,0,"w"],[6726,0,"o"],[6727,0,"r"],[6728,0,"k"],[6729,0," "],[6730,0,"o"],[6731,0,"n"],[6732,0," "],[6733,0,"t"],[6734,0,"h"],[6735,0,"e"],[6736,0," "],[6737,0,"c"],[6738,0,"l"],[6739,0,"i"],[6740,0,"e"],[6741,0,"n"],[6742,0,"t"],[6743,0,"s"],[6744,0," "],[6745,0,"a"],[6746,0,"n"],[6747,0,"d"],[6748,0," "],[6749,0,"d"],[6750,0,"o"],[6751,0,"e"],[6752,0,"s"],[6753,0," "],[6754,0,"n"],[6755,0,"o"],[6756,0,"t"],[6757,0," "],[6758,0,"d"],[6759,0,"e"],[6760,0,"p"],[6761,0,"e"],[6762,0,"n"],[6763,0,"d"],[6764,0," "],[6765,0,"o"],[6766,0,"n"],[6767,0," "],[6768,0,"a"],[6769,0,"n"],[6770,0,"y"],[6771,0," "],[6772,0,"s"],[6773,0,"e"],[6774,0,"r"],[6775,0,"v"],[6776,0,"e"],[6777,0,"r"],[6778,0," "],[6779,0,"t"],[6780,0,"o"],[6781,0," "],[6782,0,"t"],[6783,0,"r"],[6784,0,"a"],[6785,0,"n"],[6786,0,"s"],[6787,0,"f"],[6788,0,"o"],[6789,0,"r"],[6790,0,"m"],[6791,0," "],[6792,0,"o"],[6793,0,"r"],[6794,0," "],[6795,0,"p"],[6796,0,"r"],[6797,0,"o"],[6798,0,"c"],[6799,0,"e"],[6800,0,"s"],[6801,0,"s"],[6802,0," "],[6803,0,"m"],[6804,0,"e"],[6805,0,"s"],[6806,0,"s"],[6807,0,"a"],[6808,0,"g"],[6809,0,"e"],[6810,0,"s"],[6735,1],[6734,1],[6733,1],[6732,1],[6731,1],[6730,1],[6729,1],[6728,1],[6727,1],[6726,1],[6725,1],[6724,1],[6723,1],[6722,1],[6721,1],[6720,1],[6719,1],[6718,1],[6717,1],[6716,1],[6715,1],[6714,1],[6713,1],[6712,1],[6712,0,"w"],[6713,0,"o"],[6714,0,"r"],[6715,0,"k"],[6716,0,"s"],[6724,0,"-"],[6726,0,"i"],[6727,0,"d"],[6728,0,"e"],[6596,0," "],[6597,0,"t"],[6598,0,"o"],[6599,0," "],[6600,0,"a"],[6601,0,"l"],[6602,0,"l"],[6603,0," "],[6604,0,"r"],[6605,0,"e"],[6606,0,"p"],[6607,0,"l"],[6608,0,"i"],[6609,0,"c"],[6610,0,"a"],[6611,0,"s"],[6571,0," "],[6572,0,"s"],[6573,0,"e"],[6574,0,"n"],[6575,0,"t"],[6576,0," "],[6577,0,"b"],[6578,0,"y"],[6579,0," "],[6580,0,"o"],[6581,0,"n"],[6582,0,"e"],[6583,0," "],[6584,0,"r"],[6585,0,"e"],[6586,0,"p"],[6587,0,"l"],[6588,0,"i"],[6589,0,"c"],[6590,0,"a"],[6623,0," "],[6624,0,"o"],[6625,0,"t"],[6626,0,"h"],[6627,0,"e"],[6628,0,"r"],[6838,0,";"],[6839,0," "],[6840,0,"t"],[6841,0,"h"],[6842,0,"i"],[6843,0,"s"],[6844,0," "],[6845,0,"a"],[6846,0,"p"],[6847,0,"p"],[6848,0,"r"],[6849,0,"o"],[6850,0,"a"],[6851,0,"c"],[6852,0,"h"],[6853,0," "],[6854,0,"a"],[6855,0,"l"],[6856,0,"l"],[6857,0,"o"],[6858,0,"w"],[6859,0,"s"],[6860,0," "],[6861,0,"a"],[6862,0," "],[6863,0,"p"],[6864,0,"e"],[6865,0,"e"],[6866,0,"r"],[6867,0,"-"],[6868,0,"t"],[6869,0,"o"],[6870,0,"-"],[6871,0,"p"],[6872,0,"e"],[6873,0,"e"],[6874,0,"r"],[6875,0," "],[6876,0,"n"],[6877,0,"e"],[6878,0,"t"],[6879,0,"w"],[6880,0,"o"],[6881,0,"r"],[6882,0,"k"],[6883,0," "],[6884,0,"a"],[6885,0,"n"],[6886,0,"d"],[6887,0," "],[6888,0,"a"],[6889,0," "],[6890,0,"s"],[6891,0,"e"],[6892,0,"c"],[6893,0,"u"],[6894,0,"r"],[6895,0,"e"],[6896,0," "],[6897,0,"m"],[6898,0,"e"],[6899,0,"s"],[6900,0,"s"],[6901,0,"a"],[6902,0,"g"],[6903,0,"i"],[6904,0,"n"],[6905,0,"g"],[6906,0," "],[6907,0,"p"],[6908,0,"r"],[6909,0,"o"],[6910,0,"t"],[6911,0,"o"],[6912,0,"c"],[6913,0,"o"],[6914,0,"l"],[6915,0," "],[6915,1],[6915,0,"~"],[6916,0,"\\"],[6917,0,"c"],[6918,0,"i"],[6919,0,"t"],[6920,0,"e"],[6921,0,"{"],[6922,0,"U"],[6923,0,"n"],[6924,0,"g"],[6925,0,"e"],[6926,0,"r"],[6927,0,":"],[6928,0,"2"],[6929,0,"0"],[6930,0,"1"],[6931,0,"5"],[6932,0,"k"],[6933,0,"g"],[6934,0,"}"],[6935,0," "],[6936,0,"t"],[6937,0,"o"],[6938,0," "],[6939,0,"b"],[6940,0,"e"],[6941,0," "],[6942,0,"u"],[6943,0,"s"],[6944,0,"e"],[6945,0,"d"],[6946,0,"."],[6840,1],[6839,1],[6838,1],[6837,1],[6837,0,"s"],[6838,0,"."],[6839,0," "],[6840,0,"T"],[6946,0,","],[6947,0," "],[6948,0,"a"],[6949,0,"l"],[6950,0,"t"],[6951,0,"h"],[6952,0,"o"],[6953,0,"u"],[6954,0,"g"],[6955,0,"h"],[6956,0," "],[6957,0,"t"],[6958,0,"h"],[6959,0,"e"],[6960,0," "],[6961,0,"d"],[6962,0,"e"],[6963,0,"t"],[6964,0,"a"],[6965,0,"i"],[6966,0,"l"],[6967,0,"s"],[6968,0," "],[6969,0,"o"],[6970,0,"f"],[6971,0," "],[6972,0,"t"],[6973,0,"h"],[6974,0,"e"],[6975,0," "],[6976,0,"n"],[6977,0,"e"],[6978,0,"t"],[6979,0,"w"],[6980,0,"o"],[6981,0,"r"],[6982,0,"k"],[6983,0," "],[6984,0,"i"],[6985,0,"m"],[6986,0,"p"],[6987,0,"l"],[6988,0,"e"],[6989,0,"m"],[6990,0,"e"],[6991,0,"n"],[6992,0,"t"],[6993,0,"a"],[6994,0,"t"],[6995,0,"i"],[6996,0,"o"],[6997,0,"n"],[6998,0," "],[6999,0,"a"],[7000,0,"n"],[7001,0,"d"],[7002,0," "],[7003,0,"a"],[7004,0,"n"],[7005,0,"y"],[7006,0," "],[7007,0,"c"],[7008,0,"r"],[7009,0,"y"],[7010,0,"p"],[7011,0,"t"],[7012,0,"o"],[7013,0,"g"],[7014,0,"r"],[7015,0,"a"],[7016,0,"p"],[7017,0,"h"],[7018,0,"i"],[7019,0,"c"],[7020,0," "],[7021,0,"p"],[7022,0,"r"],[7023,0,"o"],[7024,0,"t"],[7025,0,"o"],[7026,0,"c"],[7027,0,"o"],[7028,0,"l"],[7029,0,"s"],[7030,0," "],[7031,0,"a"],[7032,0,"r"],[7033,0,"e"],[7034,0," "],[7035,0,"o"],[7036,0,"u"],[7037,0,"t"],[7038,0,"s"],[7039,0,"i"],[7040,0,"d"],[7041,0,"e"],[7042,0," "],[7043,0,"o"],[7044,0,"f"],[7045,0," "],[7046,0,"t"],[7047,0,"h"],[7048,0,"e"],[7049,0," "],[7050,0,"s"],[7051,0,"c"],[7052,0,"o"],[7053,0,"p"],[7054,0,"e"],[7055,0," "],[7056,0,"o"],[7057,0,"f"],[7058,0," "],[7059,0,"t"],[7060,0,"h"],[7061,0,"i"],[7062,0,"s"],[7063,0," "],[7064,0,"p"],[7065,0,"a"],[7066,0,"p"],[7067,0,"e"],[7068,0,"r"],[6915,0," "],[6916,0,"w"],[6917,0,"i"],[6918,0,"t"],[6919,0,"h"],[6920,0," "],[6921,0,"e"],[6922,0,"n"],[6923,0,"d"],[6924,0,"-"],[6925,0,"t"],[6926,0,"o"],[6927,0,"-"],[6928,0,"e"],[6929,0,"n"],[6930,0,"d"],[6931,0," "],[6932,0,"e"],[6933,0,"n"],[6934,0,"c"],[6935,0,"r"],[6936,0,"y"],[6937,0,"p"],[6938,0,"t"],[6939,0,"i"],[6940,0,"o"],[6941,0,"n"],[7099,0," "],[7099,0,"W"],[7100,0,"h"],[7101,0,"e"],[7102,0,"n"],[7103,0," "],[7104,0,"t"],[7105,0,"h"],[7106,0,"e"],[7107,0," "],[7108,0,"J"],[7109,0,"S"],[7110,0,"O"],[7111,0,"N"],[7112,0," "],[7113,0,"d"],[7114,0,"o"],[7115,0,"c"],[7116,0,"u"],[7117,0,"m"],[7118,0,"e"],[7119,0,"n"],[7120,0,"t"],[7121,0," "],[7122,0,"i"],[7123,0,"s"],[7124,0," "],[7125,0,"c"],[7126,0,"o"],[7127,0,"n"],[7128,0,"c"],[7129,0,"u"],[7130,0,"r"],[7131,0,"r"],[7132,0,"e"],[7133,0,"n"],[7134,0,"t"],[7135,0,"l"],[7136,0,"y"],[7137,0," "],[7138,0,"m"],[7139,0,"o"],[7140,0,"d"],[7141,0,"i"],[7142,0,"f"],[7143,0,"i"],[7144,0,"e"],[7145,0,"d"],[7146,0," "],[7147,0,"o"],[7148,0,"n"],[7149,0," "],[7150,0,"d"],[7151,0,"i"],[7152,0,"f"],[7153,0,"f"],[7154,0,"e"],[7155,0,"r"],[7156,0,"e"],[7157,0,"n"],[7158,0,"t"],[7159,0," "],[7160,0,"d"],[7161,0,"e"],[7162,0,"v"],[7163,0,"i"],[7164,0,"c"],[7165,0,"e"],[7166,0,"s"],[7167,0,","],[7168,0," "],[7169,0,"w"],[7170,0,"e"],[7171,0," "],[28766,0,"\\"],[28767,0,"l"],[28768,0,"a"],[28769,0,"b"],[28770,0,"e"],[28771,0,"l"],[28772,0,"{"],[28773,0,"s"],[28774,0,"e"],[28775,0,"c"],[28776,0,":"],[28777,0,"s"],[28778,0,"e"],[28779,0,"m"],[28780,0,"a"],[28781,0,"n"],[28782,0,"t"],[28783,0,"i"],[28784,0,"c"],[28785,0,"s"],[28786,0,"}"],[7099,0," "],[7099,0,"I"],[7100,0,"n"],[7101,0," "],[7102,0,"s"],[7103,0,"e"],[7104,0,"c"],[7105,0,"t"],[7106,0,"i"],[7107,0,"o"],[7108,0,"n"],[7109,0,"~"],[7110,0,"\\"],[7111,0,"r"],[7112,0,"e"],[7113,0,"f"],[7114,0,"{"],[7115,0,"s"],[7116,0,"e"],[7117,0,"c"],[7118,0,":"],[7119,0,"s"],[7120,0,"e"],[7121,0,"m"],[7122,0,"a"],[7123,0,"n"],[7124,0,"t"],[7125,0,"i"],[7126,0,"c"],[7127,0,"s"],[7128,0,"}"],[7129,0," "],[7130,0,"w"],[7131,0,"e"],[7132,0," "],[7133,0,"p"],[7134,0,"r"],[7135,0,"o"],[7135,1],[7134,1],[7133,1],[7133,0,"g"],[7134,0,"i"],[7135,0,"v"],[7136,0,"e"],[7137,0," "],[7138,0,"f"],[7139,0,"o"],[7140,0,"r"],[7141,0,"m"],[7142,0,"a"],[7143,0,"l"],[7144,0," "],[7145,0,"s"],[7146,0,"e"],[7147,0,"m"],[7148,0,"a"],[7149,0,"n"],[7150,0,"t"],[7151,0,"i"],[7152,0,"c"],[7153,0,"s"],[7154,0," "],[7155,0,"t"],[7156,0,"h"],[7157,0,"a"],[7158,0,"t"],[7159,0," "],[7160,0,"d"],[7161,0,"e"],[7162,0,"s"],[7163,0,"c"],[7164,0,"r"],[7165,0,"i"],[7166,0,"b"],[7167,0,"e"],[7168,0,"s"],[7169,0," "],[7170,0,"h"],[7171,0,"o"],[7172,0,"w"],[7173,0," "],[7174,0,"c"],[7175,0,"o"],[7176,0,"n"],[7177,0,"f"],[7178,0,"l"],[7179,0,"i"],[7180,0,"c"],[7181,0,"t"],[7182,0,"s"],[7183,0," "],[7184,0,"a"],[7185,0,"r"],[7186,0,"e"],[7187,0," "],[7188,0,"r"],[7189,0,"e"],[7190,0,"s"],[7191,0,"o"],[7192,0,"l"],[7193,0,"v"],[7194,0,"e"],[7195,0,"d"],[7197,1],[7197,0,"w"],[7202,1],[7202,1],[7202,1],[7202,0,"a"],[7267,1],[7266,1],[7265,1],[7264,1],[7263,1],[7263,0,"."],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,1],[7509,0,"\\"],[7510,0,"s"],[7511,0,"u"],[7512,0,"b"],[7513,0,"s"],[7514,0,"e"],[7515,0,"c"],[7516,0,"t"],[7517,0,"i"],[7518,0,"o"],[7519,0,"n"],[7520,0,"{"],[7521,0,"O"],[7522,0,"u"],[7523,0,"r"],[7524,0," "],[7525,0,"c"],[7526,0,"o"],[7527,0,"n"],[7528,0,"t"],[7529,0,"r"],[7530,0,"i"],[7531,0,"b"],[7532,0,"u"],[7533,0,"t"],[7534,0,"i"],[7535,0,"o"],[7536,0,"n"],[7537,0,"s"],[7538,0,"}"],[7564,0,"\\"],[7565,0,"a"],[7566,0,"b"],[7567,0,"l"],[7568,0,"e"],[7568,1],[7567,1],[7566,1],[7565,1],[7565,0,"l"],[7566,0,"a"],[7567,0,"b"],[7568,0,"e"],[7569,0,"l"],[7570,0,"{"],[7571,0,"s"],[7572,0,"e"],[7573,0,"c"],[7574,0,":"],[7575,0,"r"],[7576,0,"e"],[7577,0,"l"],[7578,0,"a"],[7579,0,"t"],[7580,0,"e"],[7581,0,"d"],[7582,0,"}"],[7540,0,"\n"],[7541,0,"O"],[7542,0,"u"],[7543,0,"r"],[7544,0," "],[7545,0,"m"],[7546,0,"a"],[7547,0,"i"],[7548,0,"n"],[7549,0," "],[7550,0,"c"],[7551,0,"o"],[7552,0,"n"],[7553,0,"t"],[7554,0,"r"],[7555,0,"i"],[7556,0,"b"],[7557,0,"u"],[7558,0,"t"],[7559,0,"i"],[7560,0,"o"],[7561,0,"n"],[7562,0," "],[7563,0,"i"],[7564,0,"n"],[7565,0," "],[7566,0,"t"],[7567,0,"h"],[7568,0,"i"],[7569,0,"s"],[7570,0," "],[7571,0,"w"],[7572,0,"o"],[7573,0,"r"],[7574,0,"k"],[7575,0," "],[7576,0,"i"],[7577,0,"s"],[7578,0," "],[7579,0,"t"],[7580,0,"o"],[7581,0," "],[7582,0,"d"],[7583,0,"e"],[7584,0,"f"],[7585,0,"i"],[7586,0,"n"],[7587,0,"e"],[7588,0," "],[7589,0,"a"],[7590,0,"n"],[7591,0," "],[7592,0,"a"],[7593,0,"l"],[7594,0,"g"],[7595,0,"o"],[7596,0,"r"],[7597,0,"i"],[7598,0,"t"],[7599,0,"h"],[7600,0,"m"],[7601,0," "],[7602,0,"a"],[7603,0,"n"],[7604,0,"d"],[7605,0," "],[7606,0,"f"],[7607,0,"o"],[7607,1],[7607,0,"o"],[7608,0,"r"],[7609,0,"m"],[7610,0,"a"],[7611,0,"l"],[7612,0," "],[7613,0,"s"],[7614,0,"e"],[7615,0,"m"],[7616,0,"a"],[7617,0,"n"],[7618,0,"t"],[7619,0,"i"],[7620,0,"c"],[7621,0,"s"],[7622,0," "],[7623,0,"f"],[7624,0,"o"],[7625,0,"r"],[7626,0," "],[7627,0,"c"],[7628,0,"o"],[7629,0,"l"],[7630,0,"l"],[7631,0,"a"],[7632,0,"b"],[7633,0,"o"],[7634,0,"r"],[7635,0,"a"],[7636,0,"t"],[7637,0,"i"],[7638,0,"v"],[7639,0,"e"],[7640,0,","],[7641,0," "],[7642,0,"c"],[7643,0,"o"],[7644,0,"n"],[7645,0,"c"],[7646,0,"u"],[7647,0,"r"],[7648,0,"r"],[7649,0,"e"],[7650,0,"n"],[7651,0,"t"],[7652,0," "],[7653,0,"e"],[7654,0,"d"],[7655,0,"i"],[7656,0,"t"],[7657,0,"i"],[7658,0,"n"],[7659,0,"g"],[7660,0," "],[7661,0,"o"],[7662,0,"f"],[7663,0," "],[7664,0,"J"],[7665,0,"S"],[7666,0,"O"],[7667,0,"N"],[7668,0," "],[7669,0,"d"],[7670,0,"a"],[7671,0,"t"],[7672,0,"a"],[7673,0," "],[7674,0,"s"],[7675,0,"t"],[7676,0,"r"],[7677,0,"u"],[7678,0,"c"],[7679,0,"t"],[7680,0,"u"],[7681,0,"r"],[7682,0,"e"],[7683,0,"s"],[7684,0," "],[7685,0,"w"],[7686,0,"i"],[7687,0,"t"],[7688,0,"h"],[7689,0," "],[7690,0,"a"],[7691,0,"u"],[7692,0,"t"],[7693,0,"o"],[7694,0,"m"],[7695,0,"a"],[7696,0,"t"],[7697,0,"i"],[7698,0,"c"],[7699,0," "],[7700,0,"c"],[7701,0,"o"],[7702,0,"n"],[7703,0,"f"],[7704,0,"l"],[7705,0,"i"],[7706,0,"c"],[7707,0,"t"],[7708,0," "],[7709,0,"r"],[7710,0,"e"],[7711,0,"s"],[7712,0,"o"],[7713,0,"l"],[7714,0,"u"],[7715,0,"t"],[7716,0,"i"],[7717,0,"o"],[7718,0,"n"],[7719,0,"."],[7720,0," "],[7721,0,"A"],[7722,0,"l"],[7723,0,"t"],[7724,0,"h"],[7725,0,"o"],[7726,0,"u"],[7727,0,"g"],[7728,0,"h"],[7729,0," "],[7730,0,"s"],[7731,0,"i"],[7732,0,"m"],[7733,0,"i"],[7734,0,"l"],[7735,0,"a"],[7736,0,"r"],[7737,0," "],[7738,0,"a"],[7739,0,"l"],[7740,0,"g"],[7741,0,"o"],[7742,0,"r"],[7743,0,"i"],[7744,0,"t"],[7745,0,"h"],[7746,0,"m"],[7747,0,"s"],[7748,0," "],[7749,0,"h"],[7750,0,"a"],[7751,0,"v"],[7752,0,"e"],[7753,0," "],[7754,0,"p"],[7755,0,"r"],[7756,0,"e"],[7757,0,"v"],[7758,0,"i"],[7759,0,"o"],[7760,0,"u"],[7761,0,"s"],[7762,0,"l"],[7763,0,"y"],[7764,0," "],[7765,0,"b"],[7766,0,"e"],[7767,0,"e"],[7768,0,"n"],[7769,0," "],[7770,0,"d"],[7771,0,"e"],[7772,0,"f"],[7773,0,"i"],[7774,0,"n"],[7775,0,"e"],[7776,0,"d"],[7777,0," "],[7778,0,"f"],[7779,0,"o"],[7780,0,"r"],[7781,0," "],[7782,0,"l"],[7783,0,"i"],[7784,0,"s"],[7785,0,"t"],[7786,0,"s"],[7787,0,","],[7788,0," "],[7789,0,"m"],[7790,0,"a"],[7791,0,"p"],[7792,0,"s"],[7793,0," "],[7794,0,"a"],[7795,0,"n"],[7796,0,"d"],[7797,0," "],[7798,0,"r"],[7799,0,"e"],[7800,0,"g"],[7801,0,"i"],[7802,0,"s"],[7803,0,"t"],[7804,0,"e"],[7805,0,"r"],[7806,0,"s"],[7807,0," "],[7808,0,"i"],[7809,0,"n"],[7810,0,"d"],[7811,0,"i"],[7812,0,"v"],[7813,0,"i"],[7814,0,"d"],[7815,0,"u"],[7816,0,"a"],[7817,0,"l"],[7818,0,"l"],[7819,0,"y"],[7820,0,","],[7821,0," "],[7822,0,"t"],[7823,0,"o"],[7824,0," "],[7825,0,"o"],[7826,0,"u"],[7827,0,"r"],[7828,0," "],[7829,0,"k"],[7830,0,"n"],[7831,0,"o"],[7832,0,"w"],[7833,0,"l"],[7834,0,"e"],[7835,0,"d"],[7836,0,"g"],[7837,0,"e"],[7838,0," "],[7839,0,"t"],[7840,0,"h"],[7841,0,"i"],[7842,0,"s"],[7843,0," "],[7844,0,"p"],[7845,0,"a"],[7846,0,"p"],[7847,0,"e"],[7848,0,"r"],[7849,0," "],[7850,0,"i"],[7851,0,"s"],[7852,0," "],[7853,0,"t"],[7854,0,"h"],[7855,0,"e"],[7856,0," "],[7857,0,"f"],[7858,0,"i"],[7859,0,"r"],[7860,0,"s"],[7861,0,"t"],[7862,0," "],[7863,0,"t"],[7864,0,"o"],[7865,0," "],[7866,0,"i"],[7867,0,"n"],[7868,0,"t"],[7869,0,"e"],[7870,0,"g"],[7871,0,"r"],[7872,0,"a"],[7873,0,"t"],[7874,0,"e"],[7875,0," "],[7876,0,"a"],[7877,0,"l"],[7878,0,"l"],[7879,0," "],[7880,0,"o"],[7881,0,"f"],[7882,0," "],[7883,0,"t"],[7884,0,"h"],[7885,0,"e"],[7886,0,"s"],[7887,0,"e"],[7888,0," "],[7889,0,"s"],[7890,0,"t"],[7891,0,"r"],[7892,0,"u"],[7893,0,"c"],[7894,0,"t"],[7895,0,"u"],[7896,0,"r"],[7897,0,"e"],[7898,0,"s"],[7899,0," "],[7900,0,"i"],[7901,0,"n"],[7902,0,"t"],[7903,0,"o"],[7904,0," "],[7905,0,"a"],[7906,0,"n"],[7907,0," "],[7908,0,"a"],[7909,0,"r"],[7910,0,"b"],[7911,0,"i"],[7912,0,"t"],[7913,0,"r"],[7914,0,"a"],[7915,0,"r"],[7916,0,"i"],[7917,0,"l"],[7918,0,"y"],[7919,0," "],[7920,0,"c"],[7921,0,"o"],[7922,0,"m"],[7923,0,"p"],[7924,0,"o"],[7925,0,"s"],[7926,0,"a"],[7927,0,"b"],[7928,0,"l"],[7929,0,"e"],[7930,0," "],[7931,0,"d"],[7932,0,"a"],[7933,0,"t"],[7934,0,"a"],[7935,0,"t"],[7936,0,"y"],[7937,0,"p"],[7938,0,"e"],[7939,0,"."],[7820,0," "],[7821,0,"("],[7822,0,"s"],[7823,0,"e"],[7824,0,"e"],[7825,0," "],[7826,0,"s"],[7827,0,"e"],[7828,0,"c"],[7829,0,"t"],[7830,0,"i"],[7831,0,"o"],[7832,0,"n"],[7833,0,"~"],[7834,0,"\\"],[7835,0,"r"],[7836,0,"e"],[7837,0,"f"],[7838,0,"{"],[7839,0,"s"],[7840,0,"e"],[7841,0,"c"],[7842,0,":"],[7843,0,"r"],[7844,0,"e"],[7845,0,"l"],[7846,0,"a"],[7847,0,"t"],[7848,0,"e"],[7849,0,"d"],[7850,0,"}"],[7851,0,")"],[7972,0,"\n"],[7973,0,"\n"],[7974,0,"C"],[7975,0,"o"],[7976,0,"m"],[7977,0,"p"],[7978,0,"o"],[7979,0,"s"],[7980,0,"i"],[7981,0,"n"],[7982,0,"g"],[7983,0," "],[7984,0,"m"],[7985,0,"a"],[7986,0,"p"],[7987,0,"s"],[7988,0," "],[7989,0,"a"],[7990,0,"n"],[7991,0,"d"],[7992,0," "],[7993,0,"l"],[7994,0,"i"],[7995,0,"s"],[7996,0,"t"],[7997,0,"s"],[7998,0," "],[7999,0,"i"],[8000,0,"n"],[8001,0,"t"],[8002,0,"o"],[8003,0," "],[8004,0,"a"],[8005,0,"r"],[8006,0,"b"],[8007,0,"i"],[8008,0,"t"],[8009,0,"r"],[8010,0,"a"],[8011,0,"r"],[8012,0,"i"],[8013,0,"l"],[8014,0,"y"],[8015,0," "],[8016,0,"n"],[8017,0,"e"],[8018,0,"s"],[8019,0,"t"],[8020,0,"e"],[8021,0,"d"],[8022,0," "],[8023,0,"s"],[8024,0,"t"],[8025,0,"r"],[8026,0,"u"],[8027,0,"c"],[8028,0,"t"],[8029,0,"u"],[8030,0,"r"],[8031,0,"e"],[8032,0,"s"],[8033,0," "],[8034,0,"o"],[8035,0,"p"],[8036,0,"e"],[8037,0,"n"],[8038,0,"s"],[8039,0," "],[8040,0,"u"],[8041,0,"p"],[8042,0," "],[8043,0,"s"],[8044,0,"u"],[8045,0,"b"],[8046,0,"t"],[8047,0,"l"],[8048,0,"e"],[8049,0," "],[8050,0,"c"],[8051,0,"h"],[8052,0,"a"],[8053,0,"l"],[8054,0,"l"],[8055,0,"e"],[8056,0,"n"],[8057,0,"g"],[8058,0,"e"],[8059,0,"s"],[8060,0," "],[8061,0,"t"],[8062,0,"h"],[8063,0,"a"],[8064,0,"t"],[8065,0," "],[8066,0,"d"],[8067,0,"o"],[8068,0," "],[8069,0,"n"],[8070,0,"o"],[8071,0,"t"],[8072,0," "],[8073,0,"a"],[8074,0,"r"],[8075,0,"i"],[8076,0,"s"],[8077,0,"e"],[8078,0," "],[8079,0,"i"],[8080,0,"n"],[8081,0," "],[8082,0,"f"],[8083,0,"l"],[8084,0,"a"],[8085,0,"t"],[8086,0," "],[8087,0,"s"],[8088,0,"t"],[8089,0,"r"],[8090,0,"u"],[8091,0,"c"],[8092,0,"t"],[8093,0,"u"],[8094,0,"r"],[8095,0,"e"],[8096,0,"s"],[8097,0,","],[8098,0," "],[8099,0,"d"],[8100,0,"u"],[8101,0,"e"],[8102,0," "],[8103,0,"t"],[8104,0,"o"],[8105,0," "],[8106,0,"t"],[8107,0,"h"],[8108,0,"e"],[8109,0," "],[8110,0,"p"],[8111,0,"o"],[8112,0,"s"],[8113,0,"s"],[8114,0,"i"],[8115,0,"b"],[8116,0,"i"],[8117,0,"l"],[8118,0,"i"],[8119,0,"t"],[8120,0,"y"],[8121,0," "],[8122,0,"o"],[8123,0,"f"],[8124,0," "],[8125,0,"e"],[8126,0,"d"],[8127,0,"i"],[8128,0,"t"],[8125,0,"c"],[8126,0,"o"],[8127,0,"n"],[8128,0,"c"],[8129,0,"u"],[8130,0,"r"],[8131,0,"r"],[8132,0,"e"],[8133,0,"n"],[8134,0,"t"],[8135,0," "],[8140,0,"s"],[8141,0," "],[8142,0,"a"],[8143,0,"t"],[8144,0," "],[8145,0,"d"],[8146,0,"i"],[8147,0,"f"],[8148,0,"f"],[8149,0,"e"],[8150,0,"r"],[8151,0,"e"],[8152,0,"n"],[8153,0,"t"],[8154,0," "],[8155,0,"l"],[8156,0,"e"],[8157,0,"v"],[8158,0,"e"],[8159,0,"l"],[8160,0,"s"],[8161,0," "],[8162,0,"o"],[8163,0,"f"],[8164,0," "],[8165,0,"t"],[8166,0,"h"],[8167,0,"e"],[8168,0," "],[8169,0,"t"],[8170,0,"r"],[8171,0,"e"],[8172,0,"e"],[8173,0,"."],[8174,0," "],[8175,0,"W"],[8176,0,"e"],[8177,0," "],[8178,0,"i"],[8179,0,"l"],[8180,0,"l"],[8181,0,"u"],[8182,0,"s"],[8183,0,"t"],[8184,0,"r"],[8185,0,"a"],[8186,0,"t"],[8187,0,"e"],[8188,0," "],[8189,0,"s"],[8190,0,"o"],[8191,0,"m"],[8192,0,"e"],[8193,0," "],[8194,0,"o"],[8195,0,"f"],[8196,0," "],[8197,0,"t"],[8198,0,"h"],[8199,0,"o"],[8200,0,"s"],[8201,0,"e"],[8202,0," "],[8203,0,"c"],[8204,0,"h"],[8205,0,"a"],[8206,0,"l"],[8207,0,"l"],[8208,0,"e"],[8209,0,"n"],[8210,0,"g"],[8211,0,"e"],[8212,0,"s"],[8213,0," "],[8214,0,"b"],[8215,0,"y"],[8216,0," "],[8217,0,"e"],[8218,0,"x"],[8219,0,"a"],[8220,0,"m"],[8221,0,"p"],[8222,0,"l"],[8223,0,"e"],[8224,0," "],[8225,0,"i"],[8226,0,"n"],[8227,0," "],[8228,0,"s"],[8229,0,"e"],[8230,0,"c"],[8231,0,"t"],[8232,0,"i"],[8233,0,"o"],[8234,0,"n"],[8235,0,"~"],[8236,0,"\\"],[8237,0,"r"],[8238,0,"e"],[8239,0,"f"],[8240,0,"{"],[8241,0,"s"],[8242,0,"e"],[8243,0,"c"],[8244,0,":"],[8245,0,"e"],[8246,0,"x"],[8247,0,"a"],[8248,0,"m"],[8249,0,"p"],[8250,0,"l"],[8251,0,"e"],[8252,0,"s"],[8253,0,"}"],[8254,0,"."],[8255,0," "],[8256,0,"O"],[8257,0,"n"],[8258,0," "],[8259,0,"t"],[8260,0,"h"],[8261,0,"e"],[8262,0," "],[8263,0,"o"],[8264,0,"t"],[8265,0,"h"],[8266,0,"e"],[8267,0,"r"],[8268,0," "],[8269,0,"h"],[8270,0,"a"],[8271,0,"n"],[8272,0,"d"],[8273,0,","],[8274,0," "],[8275,0,"n"],[8276,0,"e"],[8277,0,"s"],[8278,0,"t"],[8279,0,"e"],[8280,0,"d"],[8281,0," "],[8282,0,"s"],[8283,0,"t"],[8284,0,"r"],[8285,0,"u"],[8286,0,"c"],[8287,0,"t"],[8288,0,"u"],[8289,0,"r"],[8290,0,"e"],[8291,0,"s"],[8292,0," "],[8293,0,"a"],[8294,0,"r"],[8295,0,"e"],[8296,0," "],[8297,0,"a"],[8298,0,"n"],[8299,0," "],[8300,0,"i"],[8301,0,"m"],[8302,0,"p"],[8303,0,"o"],[8304,0,"r"],[8305,0,"t"],[8306,0,"a"],[8307,0,"n"],[8308,0,"t"],[8309,0," "],[8310,0,"r"],[8311,0,"e"],[8312,0,"q"],[8313,0,"u"],[8314,0,"i"],[8315,0,"r"],[8316,0,"e"],[8317,0,"m"],[8318,0,"e"],[8319,0,"n"],[8320,0,"t"],[8321,0," "],[8322,0,"f"],[8323,0,"o"],[8324,0,"r"],[8325,0," "],[8326,0,"m"],[8327,0,"a"],[8328,0,"n"],[8329,0,"y"],[8330,0," "],[8331,0,"a"],[8332,0,"p"],[8333,0,"p"],[8334,0,"l"],[8335,0,"i"],[8336,0,"c"],[8337,0,"a"],[8338,0,"t"],[8339,0,"i"],[8340,0,"o"],[8341,0,"n"],[8342,0,"s"],[8343,0,";"],[8344,0," "],[8345,0,"b"],[8346,0,"y"],[8347,0," "],[8348,0,"p"],[8349,0,"r"],[8350,0,"o"],[8351,0,"v"],[8352,0,"i"],[8353,0,"d"],[8354,0,"i"],[8355,0,"n"],[8356,0,"g"],[8357,0," "],[8358,0,"a"],[8359,0,"n"],[8360,0," "],[8361,0,"a"],[8362,0,"l"],[8363,0,"g"],[8364,0,"o"],[8365,0,"r"],[8366,0,"i"],[8367,0,"t"],[8368,0,"h"],[8369,0,"m"],[8370,0," "],[8371,0,"t"],[8372,0,"h"],[8373,0,"a"],[8374,0,"t"],[8375,0," "],[6413,0,"o"],[6414,0,"p"],[6415,0,"t"],[6416,0,"i"],[6417,0,"m"],[6418,0,"i"],[6419,0,"s"],[6420,0,"t"],[6421,0,"i"],[6422,0,"c"],[6423,0,"a"],[6424,0,"l"],[6425,0,"l"],[6426,0,"y"],[6427,0," "],[6532,0," "],[6532,1],[8391,0,"h"],[8392,0,"a"],[8393,0,"n"],[8394,0,"d"],[8395,0,"l"],[8396,0,"e"],[8397,0,"s"],[8398,0," "],[8399,0,"c"],[8400,0,"o"],[8401,0,"n"],[8402,0,"f"],[8403,0,"l"],[8404,0,"i"],[8405,0,"c"],[8406,0,"t"],[8407,0," "],[8408,0,"r"],[8409,0,"e"],[8410,0,"s"],[8411,0,"o"],[8412,0,"l"],[8413,0,"u"],[8414,0,"t"],[8415,0,"i"],[8416,0,"o"],[8417,0,"n"],[8418,0," "],[8419,0,"o"],[8420,0,"n"],[8421,0," "],[8422,0,"s"],[8423,0,"u"],[8424,0,"c"],[8425,0,"h"],[8426,0," "],[8427,0,"s"],[8428,0,"t"],[8429,0,"r"],[8430,0,"u"],[8431,0,"c"],[8432,0,"t"],[8433,0,"u"],[8434,0,"r"],[8435,0,"e"],[8436,0,"s"],[8437,0,","],[8438,0," "],[8439,0,"w"],[8440,0,"e"],[8441,0," "],[8442,0,"h"],[8443,0,"o"],[8444,0,"p"],[8445,0,"e"],[8446,0," "],[8447,0,"t"],[8448,0,"o"],[8449,0," "],[8450,0,"s"],[8451,0,"i"],[8452,0,"m"],[8453,0,"p"],[8454,0,"l"],[8455,0,"i"],[8456,0,"f"],[8457,0,"y"],[8458,0," "],[8459,0,"t"],[8460,0,"h"],[8461,0,"e"],[8462,0," "],[8463,0,"t"],[8464,0,"h"],[8465,0,"e"],[8466,0," "],[8467,0,"d"],[8468,0,"e"],[8469,0,"v"],[8470,0,"e"],[8471,0,"l"],[8472,0,"o"],[8473,0,"p"],[8474,0,"m"],[8475,0,"e"],[8476,0,"n"],[8477,0,"t"],[8478,0," "],[8479,0,"o"],[8480,0,"f"],[8481,0," "],[8482,0,"a"],[8483,0,"p"],[8484,0,"p"],[8485,0,"l"],[8486,0,"i"],[8487,0,"c"],[8488,0,"a"],[8489,0,"t"],[8490,0,"i"],[8491,0,"o"],[8492,0,"n"],[8493,0,"s"],[8494,0," "],[8495,0,"t"],[8496,0,"h"],[8497,0,"a"],[8498,0,"t"],[8499,0," "],[8500,0,"u"],[8501,0,"s"],[8502,0,"e"],[8503,0," "],[8504,0,"o"],[8505,0,"p"],[8506,0,"t"],[8507,0,"i"],[8508,0,"m"],[8509,0,"i"],[8510,0,"s"],[8511,0,"t"],[8512,0,"i"],[8513,0,"c"],[8514,0," "],[8515,0,"r"],[8516,0,"e"],[8517,0,"p"],[8518,0,"l"],[8519,0,"i"],[8520,0,"c"],[8521,0,"a"],[8522,0,"t"],[8523,0,"i"],[8524,0,"o"],[8525,0,"n"],[8526,0,"."],[8570,0,"\n"],[8571,0,"\n"],[8572,0,"I"],[8573,0,"n"],[8574,0," "],[8575,0,"t"],[8576,0,"h"],[8577,0,"i"],[8578,0,"s"],[8579,0," "],[8580,0,"s"],[8581,0,"e"],[8582,0,"c"],[8583,0,"t"],[8584,0,"i"],[8585,0,"o"],[8586,0,"n"],[8587,0," "],[8588,0,"w"],[8589,0,"e"],[8590,0," "],[8591,0,"d"],[8592,0,"i"],[8593,0,"s"],[8594,0,"c"],[8595,0,"u"],[8596,0,"s"],[8597,0,"s"],[8598,0," "],[8599,0,"e"],[8600,0,"x"],[8601,0,"i"],[8602,0,"s"],[8603,0,"t"],[8604,0,"i"],[8605,0,"n"],[8606,0,"g"],[8607,0," "],[8608,0,"a"],[8609,0,"p"],[8610,0,"p"],[8611,0,"r"],[8612,0,"o"],[8613,0,"a"],[8614,0,"c"],[8615,0,"h"],[8616,0,"e"],[8617,0,"s"],[8618,0," "],[8619,0,"t"],[8620,0,"o"],[8621,0," "],[8622,0,"o"],[8623,0,"p"],[8624,0,"t"],[8625,0,"i"],[8626,0,"m"],[8627,0,"i"],[8628,0,"s"],[8629,0,"t"],[8630,0,"i"],[8631,0,"c"],[8632,0," "],[8633,0,"r"],[8634,0,"e"],[8635,0,"p"],[8636,0,"l"],[8637,0,"i"],[8638,0,"c"],[8639,0,"a"],[8640,0,"t"],[8641,0,"i"],[8642,0,"o"],[8643,0,"n"],[8644,0,","],[8645,0," "],[8646,0,"c"],[8647,0,"o"],[8648,0,"l"],[8649,0,"l"],[8650,0,"a"],[8651,0,"b"],[8652,0,"o"],[8653,0,"r"],[8654,0,"a"],[8655,0,"t"],[8656,0,"i"],[8657,0,"v"],[8658,0,"e"],[8659,0," "],[8660,0,"e"],[8661,0,"d"],[8662,0,"i"],[8663,0,"t"],[8664,0,"i"],[8665,0,"n"],[8666,0,"g"],[8667,0," "],[8668,0,"a"],[8669,0,"n"],[8670,0,"d"],[8671,0," "],[8672,0,"c"],[8673,0,"o"],[8674,0,"n"],[8675,0,"f"],[8676,0,"l"],[8677,0,"i"],[8678,0,"c"],[8679,0,"t"],[8680,0," "],[8681,0,"r"],[8682,0,"e"],[8683,0,"s"],[8684,0,"o"],[8685,0,"l"],[8686,0,"u"],[8687,0,"t"],[8688,0,"i"],[8689,0,"o"],[8690,0,"n"],[8691,0,"."],[9324,0," "],[9325,0,"("],[9326,0,"s"],[9327,0,"e"],[9328,0,"e"],[9329,0," "],[9330,0,"s"],[9331,0,"e"],[9332,0,"c"],[9333,0,"t"],[9334,0,"i"],[9335,0,"o"],[9336,0,"n"],[9337,0,"~"],[9338,0,"\\"],[9339,0,"r"],[9340,0,"e"],[9341,0,"f"],[9342,0,"{"],[9343,0,"s"],[9344,0,"e"],[9345,0,"c"],[9346,0,":"],[9347,0,"j"],[9348,0,"s"],[9349,0,"o"],[9350,0,"n"],[9351,0,"-"],[9352,0,"x"],[9353,0,"m"],[9354,0,"l"],[9355,0,"}"],[9356,0,")"],[6380,0," "],[6381,0,"W"],[6382,0,"e"],[6383,0," "],[6384,0,"d"],[6385,0,"o"],[6386,0," "],[6387,0,"n"],[6388,0,"o"],[6389,0,"t"],[6390,0," "],[6391,0,"d"],[6392,0,"i"],[6393,0,"s"],[6394,0,"t"],[6395,0,"i"],[6396,0,"n"],[6397,0,"g"],[6398,0,"u"],[6399,0,"i"],[6400,0,"s"],[6401,0,"h"],[6402,0," "],[6403,0,"b"],[6404,0,"e"],[6405,0,"t"],[6406,0,"w"],[6407,0,"e"],[6408,0,"e"],[6409,0,"n"],[6410,0," "],[6411,0,"d"],[6412,0,"e"],[6413,0,"v"],[6414,0,"i"],[6415,0,"c"],[6416,0,"e"],[6417,0,"s"],[6418,0," "],[6419,0,"o"],[6420,0,"w"],[6421,0,"n"],[6422,0,"e"],[6423,0,"d"],[6424,0," "],[6425,0,"b"],[6426,0,"y"],[6427,0," "],[6428,0,"t"],[6429,0,"h"],[6430,0,"e"],[6431,0," "],[6432,0,"s"],[6433,0,"a"],[6434,0,"m"],[6435,0,"e"],[6436,0," "],[6437,0,"u"],[6438,0,"s"],[6439,0,"e"],[6440,0,"r"],[6441,0," "],[6442,0,"a"],[6443,0,"n"],[6444,0,"d"],[6445,0," "],[6446,0,"d"],[6447,0,"i"],[6448,0,"f"],[6449,0,"f"],[6450,0,"e"],[6451,0,"r"],[6452,0,"e"],[6453,0,"n"],[6454,0,"t"],[6455,0," "],[6456,0,"u"],[6457,0,"s"],[6458,0,"e"],[6459,0,"r"],[6460,0,"s"],[6461,0,"."],[4766,0,"W"],[4767,0,"e"],[4768,0," "],[4769,0,"t"],[4770,0,"r"],[4771,0,"e"],[4772,0,"a"],[4773,0,"t"],[4774,0," "],[4775,1],[4775,0,"k"],[4780,1],[4780,1],[4780,1],[4780,0,"a"],[4781,0,"s"],[4807,1],[4806,1],[4806,0,"s"],[6843,1],[6843,0,"\n"],[6844,0,"\n"],[6965,0," "],[6966,0,"m"],[6967,0,"e"],[6968,0,"s"],[6969,0,"s"],[6970,0,"a"],[6971,0,"g"],[6972,0,"e"],[6973,0,"s"],[6974,0," "],[6975,0,"t"],[6976,0,"o"],[6977,0," "],[6978,0,"b"],[6979,0,"e"],[6980,0," "],[6981,0,"d"],[6982,0,"e"],[6983,0,"l"],[6984,0,"i"],[6985,0,"v"],[6986,0,"e"],[6987,0,"r"],[6988,0,"e"],[6989,0,"d"],[6990,0," "],[6991,0,"v"],[6992,0,"i"],[6993,0,"a"],[7096,1],[7096,1],[7096,1],[7096,1],[7096,1],[7096,1],[7096,1],[7096,1],[7096,1],[7096,1],[7096,1],[7153,1],[7153,1],[7153,1],[7153,1],[7409,1],[7408,1],[7408,0,"h"],[7409,0,"r"],[7410,0,"e"],[7411,0,"e"],[7612,0,"\n"],[7613,0,"\\"],[7614,0,"i"],[7615,0,"t"],[7616,0,"e"],[7617,0,"m"],[7618,0," "],[7619,0,"I"],[7620,0,"f"],[7621,0," "],[7622,0,"a"],[7622,1],[7621,1],[7620,1],[7619,1],[7619,0,"F"],[7620,0,"o"],[7621,0,"r"],[7622,0," "],[7623,0,"s"],[7624,0,"o"],[7625,0,"m"],[7626,0,"e"],[7627,0," "],[7628,0,"s"],[7629,0,"e"],[7630,0,"t"],[7631,0," "],[7631,1],[7630,1],[7629,1],[7628,1],[7627,1],[7626,1],[7625,1],[7624,1],[7623,1],[7622,1],[7621,1],[7620,1],[7619,1],[7619,0,"I"],[7620,0,"f"],[7621,0," "],[7622,0,"a"],[7623,0,"l"],[7624,0,"l"],[7625,0," "],[7626,0,"s"],[7627,0,"e"],[7628,0,"q"],[7629,0,"u"],[7630,0,"e"],[7631,0,"n"],[7632,0,"t"],[7633,0,"i"],[7634,0,"a"],[7635,0,"l"],[7636,0," "],[7637,0,"p"],[7638,0,"e"],[7639,0,"r"],[7640,0,"m"],[7641,0,"u"],[7642,0,"t"],[7643,0,"a"],[7644,0,"t"],[7645,0,"i"],[7646,0,"o"],[7647,0,"n"],[7648,0,"s"],[7649,0," "],[7650,0,"o"],[7651,0,"f"],[7652,0," "],[7653,0,"u"],[7654,0,"p"],[7655,0,"d"],[7656,0,"a"],[7657,0,"t"],[7658,0,"e"],[7659,0,"s"],[7660,0," "],[7661,0,"l"],[7662,0,"e"],[7663,0,"a"],[7664,0,"d"],[7665,0," "],[7666,0,"t"],[7667,0,"o"],[7668,0," "],[7669,0,"t"],[7670,0,"h"],[7671,0,"e"],[7672,0," "],[7673,0,"s"],[7674,0,"a"],[7675,0,"m"],[7676,0,"e"],[7677,0," "],[7678,0,"s"],[7679,0,"t"],[7680,0,"a"],[7681,0,"t"],[7682,0,"e"],[7683,0,","],[7684,0," "],[7685,0,"t"],[7686,0,"h"],[7687,0,"e"],[7688,0,"n"],[7689,0," "],[7690,0,"c"],[7691,0,"o"],[7692,0,"n"],[7693,0,"c"],[7694,0,"u"],[7695,0,"r"],[7696,0,"r"],[7697,0,"e"],[7698,0,"n"],[7699,0,"t"],[7700,0," "],[7701,0,"e"],[7702,0,"x"],[7703,0,"e"],[7704,0,"c"],[7705,0,"u"],[7706,0,"t"],[7707,0,"i"],[7708,0,"o"],[7709,0,"n"],[7710,0," "],[7711,0,"o"],[7712,0,"f"],[7713,0," "],[7714,0,"t"],[7715,0,"h"],[7716,0,"o"],[7717,0,"s"],[7718,0,"e"],[7719,0," "],[7720,0,"u"],[7721,0,"p"],[7722,0,"d"],[7723,0,"a"],[7724,0,"t"],[7725,0,"e"],[7726,0,"s"],[7727,0," "],[7728,0,"a"],[7729,0,"l"],[7730,0,"s"],[7731,0,"o"],[7732,0," "],[7733,0,"l"],[7734,0,"e"],[7735,0,"a"],[7736,0,"d"],[7737,0,"s"],[7738,0," "],[7739,0,"t"],[7740,0,"o"],[7741,0," "],[7742,0,"t"],[7743,0,"h"],[7744,0,"e"],[7745,0," "],[7746,0,"s"],[7747,0,"a"],[7748,0,"m"],[7749,0,"e"],[7750,0," "],[7751,0,"s"],[7752,0,"t"],[7753,0,"a"],[7754,0,"t"],[7755,0,"e"],[7756,0,"~"],[7757,0,"\\"],[7758,0,"c"],[7759,0,"i"],[7760,0,"t"],[7761,0,"e"],[7762,0,"{"],[7763,0,"B"],[7764,0,"i"],[7765,0,"e"],[7766,0,"n"],[7767,0,"i"],[7768,0,"u"],[7769,0,"s"],[7770,0,"a"],[7771,0,":"],[7772,0,"2"],[7773,0,"0"],[7774,0,"1"],[7775,0,"2"],[7776,0,"g"],[7777,0,"t"],[7778,0,"}"],[7779,0,"."],[7257,0,"a"],[7258,0," "],[11431,0,"\n"],[11432,0,"C"],[11433,0,"o"],[11434,0,"n"],[11435,0,"f"],[11436,0,"l"],[11437,0,"i"],[11438,0,"c"],[11439,0,"t"],[11440,0,"-"],[11441,0,"f"],[11442,0,"r"],[11443,0,"e"],[11444,0,"e"],[11445,0," "],[11446,0,"r"],[11447,0,"e"],[11448,0,"p"],[11449,0,"l"],[11450,0,"i"],[11451,0,"c"],[11452,0,"a"],[11453,0,"t"],[11454,0,"e"],[11455,0,"d"],[11456,0," "],[11457,0,"d"],[11458,0,"a"],[11459,0,"t"],[11460,0,"a"],[11461,0,"t"],[11462,0,"y"],[11463,0,"p"],[11464,0,"e"],[11465,0,"s"],[11466,0," "],[11467,0,"a"],[11468,0,"r"],[11469,0,"e"],[11470,0," "],[11471,0,"a"],[11472,0," "],[11473,0,"f"],[11474,0,"a"],[11475,0,"m"],[11476,0,"i"],[11477,0,"l"],[11478,0,"y"],[11479,0," "],[11480,0,"o"],[11481,0,"f"],[11482,0," "],[11483,0,"d"],[11484,0,"a"],[11485,0,"t"],[11486,0,"a"],[11487,0," "],[11488,0,"s"],[11489,0,"t"],[11490,0,"r"],[11491,0,"u"],[11492,0,"c"],[11493,0,"t"],[11494,0,"u"],[11495,0,"r"],[11496,0,"e"],[11497,0,"s"],[11498,0," "],[11499,0,"\n"],[11467,0,"("],[11468,0,"C"],[11469,0,"R"],[11470,0,"D"],[11471,0,"T"],[11472,0,")"],[11473,0," "],[11472,0,"s"],[11507,0,"t"],[11508,0,"h"],[11509,0,"a"],[11510,0,"t"],[11511,0," "],[11512,0,"c"],[11513,0,"a"],[11514,0,"n"],[11515,0," "],[11516,0,"b"],[11517,0,"e"],[11518,0," "],[11519,0,"c"],[11520,0,"o"],[11521,0,"n"],[11522,0,"c"],[11523,0,"u"],[11524,0,"r"],[11525,0,"r"],[11526,0,"e"],[11527,0,"n"],[11528,0,"t"],[11529,0,"l"],[11530,0,"y"],[11531,0," "],[11532,0,"m"],[11533,0,"o"],[11534,0,"d"],[11535,0,"i"],[11536,0,"f"],[11537,0,"i"],[11538,0,"e"],[11539,0,"d"],[11540,0," "],[11541,0,"a"],[11542,0,"n"],[11543,0,"d"],[11544,0," "],[11545,0,"t"],[11546,0,"h"],[11547,0,"a"],[11548,0,"t"],[11549,0," "],[11550,0,"g"],[11551,0,"u"],[11552,0,"a"],[11553,0,"r"],[11554,0,"a"],[11555,0,"n"],[11556,0,"t"],[11557,0,"e"],[11558,0,"e"],[11559,0," "],[11560,0,"c"],[11561,0,"o"],[11562,0,"n"],[11563,0,"v"],[11564,0,"e"],[11565,0,"r"],[11566,0,"g"],[11567,0,"e"],[11568,0,"n"],[11569,0,"c"],[11570,0,"e"],[11571,0," "],[11572,0,"o"],[11573,0,"f"],[11574,0," "],[11575,0,"s"],[11576,0,"u"],[11577,0,"c"],[11578,0,"h"],[11579,0," "],[11580,0,"c"],[11581,0,"o"],[11582,0,"n"],[11583,0,"c"],[11584,0,"u"],[11585,0,"r"],[11586,0,"r"],[11587,0,"e"],[11588,0,"n"],[11589,0,"t"],[11590,0," "],[11591,0,"u"],[11592,0,"p"],[11593,0,"d"],[11594,0,"a"],[11595,0,"t"],[11596,0,"e"],[11597,0,"s"],[11598,0,"."],[11599,0," "],[11600,0,"T"],[11601,0,"h"],[11602,0,"e"],[11603,0,"y"],[11604,0," "],[11605,0,"w"],[11606,0,"o"],[11607,0,"r"],[11608,0,"k"],[11609,0," "],[11610,0,"b"],[11611,0,"y"],[11612,0," "],[11613,0,"a"],[11614,0,"t"],[11615,0,"t"],[11616,0,"a"],[11617,0,"c"],[11618,0,"h"],[11619,0,"i"],[11620,0,"n"],[11621,0,"g"],[11622,0," "],[11623,0,"a"],[11624,0,"d"],[11625,0,"d"],[11626,0,"i"],[11627,0,"t"],[11628,0,"i"],[11629,0,"o"],[11630,0,"n"],[11631,0,"a"],[11632,0,"l"],[11633,0," "],[11634,0,"m"],[11635,0,"e"],[11636,0,"t"],[11637,0,"a"],[11638,0,"d"],[11639,0,"a"],[11640,0,"t"],[11641,0,"a"],[11642,0," "],[11643,0,"t"],[11644,0,"o"],[11645,0," "],[11646,0,"t"],[11647,0,"h"],[11648,0,"e"],[11649,0," "],[11650,0,"d"],[11651,0,"a"],[11652,0,"t"],[11653,0,"a"],[11654,0," "],[11655,0,"s"],[11656,0,"t"],[11657,0,"r"],[11658,0,"u"],[11659,0,"c"],[11660,0,"t"],[11661,0,"u"],[11662,0,"r"],[11663,0,"e"],[11664,0,","],[11665,0," "],[11666,0,"a"],[11667,0,"n"],[11668,0,"d"],[11669,0," "],[11670,0,"m"],[11671,0,"a"],[11672,0,"k"],[11673,0,"i"],[11674,0,"n"],[11675,0,"g"],[11676,0," "],[11677,0,"m"],[11678,0,"o"],[11679,0,"d"],[11680,0,"i"],[11681,0,"f"],[11682,0,"i"],[11683,0,"c"],[11684,0,"a"],[11685,0,"t"],[11686,0,"i"],[11687,0,"o"],[11688,0,"n"],[11689,0," "],[11690,0,"o"],[11691,0,"p"],[11692,0,"e"],[11693,0,"r"],[11694,0,"a"],[11695,0,"t"],[11696,0,"i"],[11697,0,"o"],[11698,0,"n"],[11699,0,"s"],[11700,0," "],[11701,0,"c"],[11702,0,"o"],[11703,0,"m"],[11704,0,"m"],[11705,0,"u"],[11706,0,"t"],[11707,0,"a"],[11708,0,"t"],[11709,0,"i"],[11710,0,"v"],[11711,0,"e"],[11712,0," "],[11713,0,"b"],[11714,0,"y"],[11715,0," "],[11716,0,"c"],[11717,0,"o"],[11718,0,"n"],[11719,0,"s"],[11720,0,"t"],[11721,0,"r"],[11722,0,"u"],[11723,0,"c"],[11724,0,"t"],[11725,0,"i"],[11726,0,"o"],[11727,0,"n"],[11728,0,"."],[11599,0," "],[11600,0,"U"],[11601,0,"n"],[11602,0,"l"],[11603,0,"i"],[11604,0,"k"],[11605,0,"e"],[11606,0," "],[11607,0,"O"],[11608,0,"T"],[11609,0,","],[11610,0," "],[11611,0,"w"],[11612,0,"h"],[11613,0,"i"],[11614,0,"c"],[11615,0,"h"],[11616,0," "],[11617,0,"t"],[11618,0,"r"],[11619,0,"a"],[11620,0,"n"],[11621,0,"s"],[11622,0,"f"],[11623,0,"o"],[11624,0,"r"],[11625,0,"m"],[11626,0,"s"],[11627,0," "],[11628,0,"o"],[11629,0,"p"],[11630,0,"e"],[11631,0,"r"],[11632,0,"a"],[11633,0,"t"],[11634,0,"i"],[11635,0,"o"],[11636,0,"n"],[11637,0,"s"],[11638,0," "],[11639,0,"a"],[11639,1],[11638,1],[11637,1],[11636,1],[11635,1],[11634,1],[11633,1],[11632,1],[11631,1],[11630,1],[11629,1],[11628,1],[11627,1],[11626,1],[11625,1],[11624,1],[11623,1],[11622,1],[11621,1],[11620,1],[11619,1],[11618,1],[11617,1],[11616,1],[11615,1],[11614,1],[11613,1],[11612,1],[11611,1],[11610,1],[11609,1],[11608,1],[11607,1],[11606,1],[11605,1],[11604,1],[11603,1],[11602,1],[11601,1],[11600,1],[11599,1],[11729,0," "],[11730,0,"B"],[11731,0,"y"],[11732,0," "],[11733,0,"c"],[11734,0,"o"],[11735,0,"n"],[11736,0,"t"],[11737,0,"r"],[11738,0,"a"],[11739,0,"s"],[11740,0,"t"],[11741,0,","],[11742,0," "],[11743,0,"O"],[11744,0,"T"],[11745,0," "],[11746,0,"w"],[11747,0,"o"],[11748,0,"r"],[11749,0,"k"],[11750,0,"s"],[11751,0," "],[11752,0,"b"],[11753,0,"y"],[11754,0," "],[11755,0,"t"],[11756,0,"r"],[11757,0,"a"],[11758,0,"n"],[11759,0,"s"],[11760,0,"o"],[11760,1],[11760,0,"f"],[11761,0,"o"],[11762,0,"r"],[11763,0,"m"],[11764,0,"i"],[11765,0,"n"],[11766,0,"g"],[11767,0," "],[11768,0,"n"],[11769,0,"o"],[11770,0,"n"],[11771,0,"-"],[11772,0,"c"],[11773,0,"o"],[11774,0,"m"],[11775,0,"m"],[11776,0,"u"],[11777,0,"t"],[11778,0,"a"],[11779,0,"t"],[11780,0,"i"],[11781,0,"v"],[11782,0,"e"],[11783,0," "],[11784,0,"u"],[11785,0,"p"],[11786,0,"d"],[11787,0,"a"],[11788,0,"t"],[11789,0,"e"],[11790,0," "],[11791,0,"o"],[11792,0,"p"],[11793,0,"e"],[11794,0,"r"],[11795,0,"a"],[11796,0,"t"],[11797,0,"i"],[11798,0,"o"],[11799,0,"n"],[11800,0,"s"],[11801,0," "],[11801,1],[11800,1],[11799,1],[11798,1],[11797,1],[11796,1],[11795,1],[11794,1],[11793,1],[11792,1],[11791,1],[11790,1],[11789,1],[11788,1],[11787,1],[11786,1],[11785,1],[11784,1],[11783,1],[11782,1],[11781,1],[11780,1],[11779,1],[11778,1],[11777,1],[11776,1],[11775,1],[11774,1],[11773,1],[11772,1],[11771,1],[11770,1],[11769,1],[11768,1],[11767,1],[11766,1],[11765,1],[11764,1],[11763,1],[11762,1],[11761,1],[11760,1],[11759,1],[11758,1],[11757,1],[11756,1],[11755,1],[11754,1],[11753,1],[11752,1],[11751,1],[11750,1],[11749,1],[11748,1],[11747,1],[11746,1],[11745,1],[11744,1],[11743,1],[11742,1],[11741,1],[11740,1],[11739,1],[11738,1],[11737,1],[11736,1],[11735,1],[11734,1],[11733,1],[11732,1],[11731,1],[11730,1],[11729,1],[12242,1],[12241,1],[12240,1],[12239,1],[12238,1],[12237,1],[12237,0,"p"],[12238,0,"r"],[12239,0,"i"],[12240,0,"m"],[12241,0,"i"],[12242,0,"t"],[12243,0,"i"],[12244,0,"v"],[12245,0,"e"],[9634,0," "],[9635,0,"M"],[9636,0,"o"],[9637,0,"r"],[9638,0,"e"],[9639,0,"o"],[9640,0,"v"],[9641,0,"e"],[9642,0,"r"],[9643,0,","],[9644,0," "],[9645,0,"p"],[9646,0,"e"],[9647,0,"r"],[9648,0,"f"],[9649,0,"o"],[9650,0,"r"],[9651,0,"m"],[9652,0,"a"],[9653,0,"n"],[9654,0,"c"],[9655,0,"e"],[9656,0," "],[9657,0,"s"],[9658,0,"t"],[9659,0,"u"],[9660,0,"d"],[9661,0,"i"],[9662,0,"e"],[9663,0,"s"],[9664,0," "],[9665,0,"h"],[9666,0,"a"],[9667,0,"v"],[9668,0,"e"],[9669,0," "],[9670,0,"c"],[9671,0,"a"],[9672,0,"s"],[9673,0,"t"],[9674,0," "],[9675,0,"d"],[9676,0,"o"],[9677,0,"u"],[9678,0,"b"],[9679,0,"t"],[9680,0," "],[9681,0,"o"],[9682,0,"n"],[9683,0," "],[9683,1],[9682,1],[9681,1],[9680,1],[9679,1],[9678,1],[9677,1],[9676,1],[9675,1],[9674,1],[9673,1],[9672,1],[9671,1],[9670,1],[9669,1],[9668,1],[9667,1],[9666,1],[9665,1],[9664,1],[9663,1],[9662,1],[9661,1],[9660,1],[9659,1],[9658,1],[9657,1],[9656,1],[9655,1],[9645,0,"t"],[9646,0,"h"],[9647,0,"e"],[9648,0," "],[9659,0,"e"],[9660,0," "],[9661,0,"o"],[9662,0,"f"],[9663,0," "],[9664,0,"O"],[9665,0,"T"],[9666,0," "],[9667,0,"a"],[9668,0,"l"],[9669,0,"g"],[9670,0,"o"],[9671,0,"r"],[9672,0,"i"],[9673,0,"t"],[9674,0,"h"],[9675,0,"m"],[9676,0,"s"],[9677,0," "],[9678,0,"d"],[9679,0,"e"],[9680,0,"g"],[9681,0,"r"],[9682,0,"a"],[9683,0,"d"],[9684,0,"e"],[9685,0,"s"],[9686,0," "],[9687,0,"r"],[9688,0,"a"],[9689,0,"p"],[9690,0,"i"],[9691,0,"d"],[9692,0,"l"],[9693,0,"y"],[9694,0," "],[9645,1],[9644,1],[9643,1],[9642,1],[9641,1],[9640,1],[9639,1],[9638,1],[9637,1],[9636,1],[9635,1],[9635,0,"T"],[9685,0,"a"],[9686,0,"s"],[9687,0," "],[9688,0,"t"],[9689,0,"h"],[9690,0,"e"],[9691,0," "],[9692,0,"n"],[9693,0,"u"],[9694,0,"m"],[9695,0,"b"],[9696,0,"e"],[9697,0,"r"],[9698,0," "],[9699,0,"o"],[9700,0,"f"],[9701,0," "],[9702,0,"c"],[9703,0,"o"],[9704,0,"n"],[9705,0,"c"],[9706,0,"u"],[9707,0,"r"],[9708,0,"r"],[9709,0,"e"],[9710,0,"n"],[9711,0,"t"],[9712,0," "],[9713,0,"o"],[9714,0,"p"],[9715,0,"e"],[9716,0,"r"],[9717,0,"a"],[9718,0,"t"],[9719,0,"i"],[9720,0,"o"],[9721,0,"n"],[9722,0,"s"],[9723,0," "],[9724,0,"i"],[9725,0,"n"],[9726,0,"c"],[9727,0,"r"],[9728,0,"e"],[9729,0,"a"],[9730,0,"s"],[9731,0,"e"],[9732,0,"s"],[9733,0,"~"],[9734,0,"\\"],[9735,0,"c"],[9736,0,"i"],[9737,0,"t"],[9738,0,"e"],[9739,0,"{"],[9740,0,"L"],[9741,0,"i"],[9742,0,":"],[9743,0,"2"],[9744,0,"0"],[9745,0,"0"],[9746,0,"6"],[9747,0,"k"],[9748,0,"d"],[9749,0,"}"],[9750,0,"."],[11846,0," "],[11847,0,"T"],[11848,0,"h"],[11849,0,"e"],[11850,0," "],[11851,0,"J"],[11852,0,"S"],[11853,0,"O"],[11854,0,"N"],[11855,0," "],[11856,0,"d"],[11857,0,"a"],[11858,0,"t"],[11859,0,"a"],[11860,0,"t"],[11861,0,"y"],[11862,0,"p"],[11863,0,"e"],[11864,0," "],[11865,0,"d"],[11866,0,"e"],[11867,0,"s"],[11868,0,"c"],[11869,0,"r"],[11870,0,"i"],[11871,0,"b"],[11872,0,"e"],[11873,0,"d"],[11874,0," "],[11875,0,"i"],[11876,0,"n"],[11877,0," "],[11878,0,"t"],[11879,0,"h"],[11880,0,"i"],[11881,0,"s"],[11882,0," "],[11883,0,"p"],[11884,0,"a"],[11885,0,"p"],[11886,0,"e"],[11887,0,"r"],[11888,0," "],[11889,0,"i"],[11890,0,"s"],[11891,0," "],[11892,0,"a"],[11893,0," "],[11894,0,"k"],[11895,0,"i"],[11896,0,"n"],[11897,0,"d"],[11898,0," "],[11899,0,"o"],[11900,0,"f"],[11901,0," "],[11902,0,"C"],[11903,0,"R"],[11904,0,"D"],[11905,0,"T"],[11906,0,"."],[7654,0," "],[7655,0,"a"],[7656,0," "],[7657,0,"s"],[7658,0,"e"],[7659,0,"t"],[7660,0," "],[7661,0,"o"],[7662,0,"f"],[13605,1],[13604,1],[13603,1],[13602,1],[13601,1],[13600,1],[13599,1],[13598,1],[13597,1],[13596,1],[13595,1],[13594,1],[13593,1],[13592,1],[13591,1],[13590,1],[13589,1],[13588,1],[13587,1],[13586,1],[13585,1],[13584,1],[13583,1],[13582,1],[13581,1],[13580,1],[13579,1],[13578,1],[13577,1],[13576,1],[13575,1],[13574,1],[13573,1],[13572,1],[13571,1],[13570,1],[13569,1],[13568,1],[13567,1],[13566,1],[13565,1],[13564,1],[13563,1],[13562,1],[13561,1],[13560,1],[13559,1],[13558,1],[13557,1],[13556,1],[13555,1],[13554,1],[13553,1],[13552,1],[13551,1],[13550,1],[13549,1],[13548,1],[13547,1],[13546,1],[13545,1],[13544,1],[50753,0,"\n"],[50754,0,"T"],[50755,0,"h"],[50756,0,"e"],[50757,0," "],[50758,0,"\\"],[50759,0,"t"],[50760,0,"e"],[50761,0,"x"],[50762,0,"t"],[50763,0,"s"],[50764,0,"f"],[50765,0,"{"],[50766,0,"y"],[50767,0,"i"],[50768,0,"e"],[50769,0,"l"],[50770,0,"d"],[50771,0,"}"],[50772,0," "],[50773,0,"c"],[50774,0,"o"],[50775,0,"m"],[50776,0,"m"],[50777,0,"a"],[50778,0,"n"],[50779,0,"d"],[50780,0,","],[50781,0," "],[50782,0,"i"],[50783,0,"n"],[50784,0,"s"],[50785,0,"p"],[50786,0,"i"],[50787,0,"r"],[50788,0,"e"],[50789,0,"d"],[50790,0," "],[50791,0,"b"],[50792,0,"y"],[50793,0," "],[50794,0,"B"],[50795,0,"u"],[50796,0,"r"],[50797,0,"c"],[50798,0,"k"],[50799,0,"h"],[50800,0,"a"],[50801,0,"r"],[50802,0,"d"],[50803,0,"t"],[50804,0," "],[50805,0,"e"],[50806,0,"t"],[50807,0," "],[50808,0,"a"],[50809,0,"l"],[50810,0,"."],[50811,0,"~"],[50812,0,"\\"],[50813,0,"c"],[50814,0,"i"],[50815,0,"t"],[50816,0,"e"],[50817,0,"{"],[50818,0,"B"],[50819,0,"u"],[50820,0,"r"],[50821,0,"c"],[50822,0,"k"],[50823,0,"h"],[50824,0,"a"],[50825,0,"r"],[50826,0,"d"],[50827,0,"t"],[50828,0,":"],[50829,0,"2"],[50830,0,"0"],[50831,0,"1"],[50832,0,"2"],[50833,0,"j"],[50834,0,"y"],[50835,0,"}"],[50836,0,","],[50837,0," "],[50838,0,"p"],[50839,0,"e"],[50840,0,"r"],[50841,0,"f"],[50842,0,"o"],[50843,0,"r"],[50844,0,"m"],[50845,0,"s"],[50846,0," "],[50847,0,"n"],[50848,0,"e"],[50849,0,"t"],[50850,0,"w"],[50851,0,"o"],[50852,0,"r"],[50853,0,"k"],[50854,0," "],[50855,0,"c"],[50856,0,"o"],[50857,0,"m"],[50858,0,"m"],[50859,0,"u"],[50860,0,"n"],[50861,0,"i"],[50862,0,"c"],[50863,0,"a"],[50864,0,"t"],[50865,0,"i"],[50866,0,"o"],[50867,0,"n"],[50868,0,":"],[50869,0," "],[50870,0,"s"],[50871,0,"e"],[50872,0,"n"],[50873,0,"d"],[50874,0,"i"],[50875,0,"n"],[50876,0,"g"],[50877,0," "],[50878,0,"a"],[50879,0,"n"],[50880,0,"d"],[50881,0," "],[50882,0,"r"],[50883,0,"e"],[50884,0,"c"],[50885,0,"e"],[50886,0,"i"],[50887,0,"v"],[50888,0,"i"],[50889,0,"n"],[50890,0,"g"],[50891,0," "],[50892,0,"o"],[50893,0,"p"],[50894,0,"e"],[50895,0,"r"],[50896,0,"a"],[50897,0,"t"],[50898,0,"i"],[50899,0,"o"],[50900,0,"n"],[50901,0,"s"],[50902,0," "],[50903,0,"t"],[50904,0,"o"],[50905,0," "],[50906,0,"a"],[50907,0,"n"],[50908,0,"d"],[50909,0," "],[50910,0,"f"],[50911,0,"r"],[50912,0,"o"],[50913,0,"m"],[50914,0," "],[50915,0,"o"],[50916,0,"t"],[50917,0,"h"],[50918,0,"e"],[50919,0,"r"],[50920,0," "],[50921,0,"p"],[50922,0,"e"],[50923,0,"e"],[50924,0,"r"],[50925,0,"s"],[50926,0,","],[50927,0," "],[50928,0,"a"],[50929,0,"n"],[50930,0,"d"],[50931,0," "],[50932,0,"a"],[50933,0,"p"],[50934,0,"p"],[50935,0,"l"],[50936,0,"y"],[50937,0,"i"],[50938,0,"n"],[50939,0,"g"],[50940,0," "],[50941,0,"o"],[50942,0,"p"],[50943,0,"e"],[50944,0,"r"],[50945,0,"a"],[50946,0,"t"],[50947,0,"i"],[50948,0,"o"],[50949,0,"n"],[50950,0,"s"],[50951,0," "],[50952,0,"f"],[50953,0,"r"],[50954,0,"o"],[50955,0,"m"],[50956,0," "],[50957,0,"r"],[50958,0,"e"],[50959,0,"m"],[50960,0,"o"],[50961,0,"t"],[50962,0,"e"],[50963,0," "],[50964,0,"p"],[50965,0,"e"],[50966,0,"e"],[50967,0,"r"],[50968,0,"s"],[50969,0,"."],[50970,1],[50970,0," "],[50975,1],[50975,1],[50975,1],[50975,1],[50975,1],[50975,1],[50975,1],[50975,1],[50975,1],[50975,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[50981,1],[51101,1],[51100,1],[51099,1],[51098,1],[51097,1],[51096,1],[51095,1],[51094,1],[51079,1],[51078,1],[51077,1],[51076,1],[14330,1],[14329,1],[14328,1],[14327,1],[14326,1],[14325,1],[14324,1],[14323,1],[14322,1],[14321,1],[14320,1],[14319,1],[14318,1],[14317,1],[14316,1],[14315,1],[14314,1],[14313,1],[14312,1],[14311,1],[14310,1],[14309,1],[14308,1],[14307,1],[14306,1],[14305,1],[14304,1],[14303,1],[14302,1],[14301,1],[14300,1],[14299,1],[14298,1],[14297,1],[14296,1],[14295,1],[14294,1],[14293,1],[14292,1],[14291,1],[14290,1],[14289,1],[14288,1],[14287,1],[14286,1],[14285,1],[14284,1],[14283,1],[14282,1],[14281,1],[14280,1],[14279,1],[14278,1],[14277,1],[14277,0,"W"],[14278,0,"e"],[14279,0," "],[14280,0,"b"],[14281,0,"e"],[14282,0,"l"],[14283,0,"i"],[14284,0,"e"],[14285,0,"v"],[14286,0,"e"],[14287,0," "],[14288,0,"t"],[14289,0,"h"],[14290,0,"a"],[14291,0,"t"],[14292,0," "],[14293,0,"c"],[14294,0,"o"],[14295,0,"n"],[14296,0,"f"],[14297,0,"l"],[14298,0,"i"],[14299,0,"c"],[14300,0,"t"],[15264,0," "],[15265,0,"T"],[15266,0,"h"],[15267,0,"e"],[15268,0," "],[15269,0,"p"],[15270,0,"o"],[15271,0,"s"],[15272,0,"s"],[15273,0,"i"],[15274,0,"b"],[15275,0,"i"],[15276,0,"l"],[15277,0,"i"],[15278,0,"t"],[15279,0,"y"],[15280,0," "],[15281,0,"o"],[15282,0,"f"],[15283,0," "],[15284,0,"t"],[15285,0,"e"],[15286,0,"n"],[15287,0,"t"],[15288,0,"a"],[15289,0,"t"],[15290,0,"i"],[15291,0,"v"],[15292,0,"e"],[15293,0," "],[15294,0,"t"],[15295,0,"r"],[15296,0,"a"],[15297,0,"n"],[15298,0,"s"],[15299,0,"a"],[15300,0,"c"],[15301,0,"t"],[15302,0,"i"],[15303,0,"o"],[15304,0,"n"],[15305,0,"s"],[15306,0," "],[15307,0,"l"],[15308,0,"a"],[15309,0,"t"],[15310,0,"e"],[15311,0,"r"],[15312,0," "],[15313,0,"b"],[15314,0,"e"],[15315,0,"i"],[15316,0,"n"],[15317,0,"g"],[15318,0," "],[15319,0,"r"],[15320,0,"o"],[15321,0,"l"],[15322,0,"l"],[15323,0,"e"],[15324,0,"d"],[15325,0," "],[15326,0,"b"],[15327,0,"a"],[15328,0,"c"],[15329,0,"k"],[15330,0," "],[15331,0,"a"],[15332,0,"l"],[15333,0,"s"],[15334,0,"o"],[15335,0," "],[15336,0,"o"],[15337,0,"p"],[15338,0,"e"],[15339,0,"n"],[15340,0,"s"],[15341,0," "],[15342,0,"t"],[15343,0,"h"],[15344,0,"e"],[15345,0," "],[15346,0,"r"],[15347,0,"i"],[15348,0,"s"],[15349,0,"k"],[15350,0," "],[15351,0,"o"],[15352,0,"f"],[15353,0," "],[15354,0,"u"],[15355,0,"s"],[15356,0,"e"],[15357,0,"r"],[15358,0," "],[15359,0,"i"],[15360,0,"n"],[15361,0,"p"],[15362,0,"u"],[15363,0,"t"],[15364,0," "],[15365,0,"b"],[15366,0,"e"],[15367,0,"i"],[15368,0,"n"],[15369,0,"g"],[15370,0," "],[15371,0,"l"],[15372,0,"o"],[15373,0,"s"],[15374,0,"t"],[15375,0,"."],[15455,0,"\n"],[15456,0,"\n"],[15455,0," "],[15456,0,"i"],[15457,0,"n"],[15458,0,"t"],[15459,0,"r"],[15460,0,"o"],[15461,0,"d"],[15462,0,"u"],[15463,0,"c"],[15464,0,"e"],[15465,0," "],[15466,0,"o"],[15467,0,"u"],[15468,0,"r"],[15469,0," "],[15470,0,"a"],[15471,0,"p"],[15472,0,"p"],[15473,0,"r"],[15474,0,"o"],[15475,0,"a"],[15476,0,"c"],[15477,0,"h"],[15478,0," "],[15479,0,"t"],[15480,0,"o"],[15481,0," "],[15456,0,"i"],[15457,0,"n"],[15458,0,"f"],[15459,0,"o"],[15460,0,"r"],[15461,0,"m"],[15462,0,"a"],[15463,0,"l"],[15464,0,"l"],[15465,0,"y"],[15466,0," "],[15493,0,"c"],[15494,0,"o"],[15495,0,"l"],[15496,0,"l"],[15497,0,"a"],[15498,0,"b"],[15499,0,"o"],[15500,0,"r"],[15501,0,"a"],[15502,0,"t"],[15503,0,"i"],[15504,0,"v"],[15505,0,"e"],[15506,0," "],[15507,0,"e"],[15508,0,"d"],[15509,0,"i"],[15510,0,"t"],[15511,0,"i"],[15512,0,"n"],[15513,0,"g"],[15514,0," "],[15515,0,"o"],[15516,0,"f"],[15517,0," "],[15518,0,"J"],[15519,0,"S"],[15520,0,"O"],[15521,0,"N"],[15522,0," "],[15523,0,"d"],[15524,0,"a"],[15525,0,"t"],[15526,0,"a"],[15527,0," "],[15528,0,"s"],[15529,0,"t"],[15530,0,"r"],[15531,0,"u"],[15532,0,"c"],[15533,0,"t"],[15534,0,"u"],[15535,0,"r"],[15536,0,"e"],[15537,0,"s"],[15538,0,"."],[15539,0," "],[15540,0,"A"],[15541,0," "],[15542,0,"f"],[15543,0,"o"],[15544,0,"r"],[15545,0,"m"],[15546,0,"a"],[15547,0,"l"],[15548,0," "],[15549,0,"p"],[15550,0,"r"],[15551,0,"e"],[15552,0,"s"],[15553,0,"e"],[15554,0,"n"],[15555,0,"t"],[15556,0,"a"],[15557,0,"t"],[15558,0,"i"],[15559,0,"o"],[15560,0,"n"],[15561,0," "],[15562,0,"o"],[15563,0,"f"],[15564,0," "],[15565,0,"t"],[15566,0,"h"],[15567,0,"e"],[15568,0," "],[15569,0,"a"],[15570,0,"l"],[15571,0,"g"],[15572,0,"o"],[15573,0,"r"],[15574,0,"i"],[15575,0,"t"],[15576,0,"h"],[15577,0,"m"],[15578,0," "],[15579,0,"f"],[15580,0,"o"],[15581,0,"l"],[15582,0,"l"],[15583,0,"o"],[15584,0,"w"],[15585,0,"s"],[15586,0," "],[15587,0,"i"],[15588,0,"n"],[15589,0," "],[15590,0,"s"],[15591,0,"e"],[15592,0,"c"],[15593,0,"t"],[15594,0,"i"],[15595,0,"o"],[15596,0,"n"],[15597,0,"~"],[15598,0,"\\"],[15599,0,"r"],[15600,0,"e"],[15601,0,"f"],[15602,0,"{"],[15603,0,"s"],[15604,0,"e"],[15605,0,"c"],[15606,0,":"],[15607,0,"s"],[15608,0,"e"],[15609,0,"m"],[15610,0,"a"],[15611,0,"n"],[15612,0,"t"],[15613,0,"i"],[15614,0,"c"],[15615,0,"s"],[15616,0,"}"],[15617,0,"."],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[15620,1],[16624,1],[16623,1],[16622,1],[16621,1],[16620,1],[16619,1],[16618,1],[16617,1],[16616,1],[16615,1],[16614,1],[16613,1],[16612,1],[16611,1],[16610,1],[16609,1],[16608,1],[16607,1],[16606,1],[16605,1],[16604,1],[16603,1],[16602,1],[16601,1],[16600,1],[16599,1],[16598,1],[16597,1],[16596,1],[16595,1],[16594,1],[16593,1],[16592,1],[16591,1],[16590,1],[16589,1],[16588,1],[16587,1],[16586,1],[16585,1],[16584,1],[16583,1],[16582,1],[16581,1],[16580,1],[16579,1],[16578,1],[16577,1],[16576,1],[16575,1],[16574,1],[16573,1],[16572,1],[16571,1],[16570,1],[16569,1],[16568,1],[16567,1],[16566,1],[16565,1],[16564,1],[16563,1],[16562,1],[16561,1],[16560,1],[16559,1],[16558,1],[16557,1],[16556,1],[16555,1],[16554,1],[16553,1],[16552,1],[16551,1],[16550,1],[16549,1],[16548,1],[16547,1],[16546,1],[16545,1],[16544,1],[16543,1],[16542,1],[16541,1],[16540,1],[16539,1],[16538,1],[16537,1],[16536,1],[16535,1],[16534,1],[16533,1],[16532,1],[16531,1],[16530,1],[16529,1],[16528,1],[16527,1],[16526,1],[16525,1],[16524,1],[16523,1],[16522,1],[16521,1],[16520,1],[16519,1],[16518,1],[16517,1],[16516,1],[16515,1],[16514,1],[16514,0,"T"],[16561,0," "],[16562,0,"w"],[16563,0,"h"],[16564,0,"e"],[16565,0,"n"],[16566,0," "],[16567,0,"J"],[16568,0,"S"],[16569,0,"O"],[16570,0,"N"],[16571,0," "],[16572,0,"d"],[16573,0,"o"],[16574,0,"c"],[16575,0,"u"],[16576,0,"m"],[16577,0,"e"],[16578,0,"n"],[16579,0,"t"],[16580,0,"s"],[16581,0," "],[16582,0,"a"],[16583,0,"r"],[16584,0,"e"],[16585,0," "],[16586,0,"c"],[16587,0,"o"],[16588,0,"n"],[16589,0,"c"],[16590,0,"u"],[16591,0,"r"],[16592,0,"r"],[16593,0,"e"],[16594,0,"n"],[16595,0,"t"],[16596,0,"l"],[16597,0,"y"],[16598,0," "],[16599,0,"m"],[16600,0,"o"],[16601,0,"d"],[16602,0,"i"],[16603,0,"f"],[16604,0,"i"],[16605,0,"e"],[16606,0,"d"],[16607,0,","],[16608,0," "],[16609,0,"w"],[16610,0,"e"],[16611,0," "],[16612,0,"p"],[16613,0,"r"],[16614,0,"e"],[16615,0,"s"],[16616,0,"e"],[16617,0,"n"],[16618,0,"t"],[16619,0," "],[16620,0,"s"],[16621,0,"o"],[16622,0,"m"],[16623,0,"e"],[16624,0," "],[16625,0,"e"],[16626,0,"x"],[16627,0,"a"],[16628,0,"m"],[16629,0,"p"],[16630,0,"l"],[16631,0,"e"],[16632,0,"s"],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[24966,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[5857,1],[6535,0,"d"],[6536,0,"e"],[6537,0,"y"],[6538,0,"a"],[6539,0,"l"],[6540,0,"y"],[6540,1],[6539,1],[6538,1],[6537,1],[6537,0,"l"],[6538,0,"a"],[6539,0,"y"],[6540,0,","],[6541,0," "],[6550,1],[6550,1],[6550,0,"a"],[6551,0,"n"],[6552,0,"d"],[6499,1],[6498,1],[6497,1],[6497,0,"W"],[6498,0,"e"],[6499,0," "],[6500,0,"a"],[6501,0,"s"],[6502,0,"s"],[6503,0,"u"],[6504,0,"m"],[6505,0,"e"],[6506,0," "],[6507,0,"t"],[6508,0,"h"],[6509,0,"e"],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,1],[6519,0,"m"],[6520,0,"a"],[6521,0,"y"],[7143,1],[7142,1],[7141,1],[7140,1],[7139,1],[7139,0,"t"],[7140,0,"h"],[7141,0,"r"],[7142,0,"e"],[7143,0,"e"],[26310,1],[26310,1],[26310,1],[26310,1],[26310,1],[26310,0,"r"],[26311,0,"e"],[26312,0,"p"],[26313,0,"l"],[26314,0,"i"],[26315,0,"c"],[26316,0,"a"],[26317,0,"s"],[26342,1],[26342,1],[26342,1],[26342,1],[26342,0,"r"],[26343,0,"e"],[26344,0,"p"],[26345,0,"l"],[26346,0,"i"],[26347,0,"c"],[26348,0,"a"],[26667,1],[26666,1],[26665,1],[26664,1],[26663,1],[26663,0,"r"],[26664,0,"e"],[26665,0,"p"],[26666,0,"l"],[26667,0,"i"],[26668,0,"c"],[26669,0,"a"],[26670,0,"s"],[31466,1],[31465,1],[31464,1],[31463,1],[31463,0,"r"],[31464,0,"e"],[31465,0,"o"],[31465,1],[31465,0,"p"],[31466,0,"l"],[31467,0,"i"],[31468,0,"c"],[31469,0,"a"],[36842,1],[36842,1],[36842,1],[36842,1],[36842,0,"r"],[36843,0,"e"],[36844,0,"p"],[36845,0,"l"],[36846,0,"i"],[36847,0,"c"],[36848,0,"a"],[37072,1],[37072,1],[37072,1],[37072,1],[37072,0,"r"],[37073,0,"e"],[37074,0,"p"],[37075,0,"l"],[37076,0,"i"],[37077,0,"c"],[37078,0,"a"],[37121,1],[37120,1],[37119,1],[37118,1],[37117,1],[37117,0,"r"],[37118,0,"e"],[37119,0,"p"],[37120,0,"l"],[37121,0,"i"],[37122,0,"c"],[37123,0,"a"],[37124,0,"s"],[37274,1],[37273,1],[37272,1],[37271,1],[37271,0,"r"],[37272,0,"e"],[37273,0,"p"],[37274,0,"l"],[37275,0,"i"],[37276,0,"c"],[37277,0,"a"],[37319,1],[37318,1],[37317,1],[37316,1],[37316,0,"r"],[37317,0,"e"],[37318,0,"p"],[37319,0,"l"],[37320,0,"i"],[37321,0,"c"],[37322,0,"a"],[38268,1],[38268,1],[38268,1],[38268,1],[38268,0,"r"],[38269,0,"e"],[38270,0,"p"],[38271,0,"l"],[38272,0,"i"],[38273,0,"c"],[38274,0,"a"],[38953,1],[38952,1],[38951,1],[38950,1],[38950,0,"r"],[38951,0,"e"],[38952,0,"p"],[38953,0,"l"],[38954,0,"i"],[38955,0,"c"],[38956,0,"a"],[42126,1],[42125,1],[42124,1],[42123,1],[42123,0,"r"],[42124,0,"e"],[42125,0,"p"],[42126,0,"l"],[42127,0,"i"],[42128,0,"c"],[42129,0,"a"],[42241,1],[42241,1],[42241,1],[42241,1],[42241,0,"r"],[42242,0,"e"],[42243,0,"p"],[42244,0,"l"],[42245,0,"i"],[42246,0,"c"],[42247,0,"a"],[42542,1],[42542,1],[42542,1],[42542,1],[42542,0,"r"],[42543,0,"e"],[42544,0,"p"],[42545,0,"l"],[42546,0,"i"],[42547,0,"c"],[42548,0,"a"],[42745,1],[42745,1],[42745,1],[42745,1],[42745,0,"r"],[42746,0,"e"],[42747,0,"p"],[42748,0,"l"],[42749,0,"i"],[42750,0,"c"],[42751,0,"a"],[42757,1],[42757,1],[42757,1],[42757,1],[42757,0,"r"],[42758,0,"e"],[42759,0,"p"],[42760,0,"l"],[42761,0,"i"],[42762,0,"c"],[42763,0,"a"],[42805,1],[42805,1],[42805,1],[42805,1],[42805,0,"r"],[42806,0,"e"],[42807,0,"p"],[42808,0,"l"],[42809,0,"i"],[42810,0,"c"],[42811,0,"a"],[42812,0,"s"],[43395,1],[43394,1],[43393,1],[43392,1],[43392,0,"r"],[43393,0,"e"],[43394,0,"p"],[43395,0,"l"],[43396,0,"i"],[43397,0,"c"],[43398,0,"a"],[43399,0,"s"],[43399,1],[43513,1],[43512,1],[43511,1],[43510,1],[43510,0,"R"],[43511,0,"e"],[43512,0,"p"],[43513,0,"l"],[43514,0,"i"],[43515,0,"c"],[43516,0,"a"],[43619,1],[43619,1],[43619,0," "],[43620,0,"k"],[43557,1],[43556,1],[43555,1],[43554,1],[43554,0,"r"],[43555,0,"e"],[43556,0,"p"],[43557,0,"l"],[43558,0,"i"],[43559,0,"c"],[43560,0,"a"],[43688,1],[43688,1],[43688,1],[43689,0,"e"],[43690,0,"p"],[43691,0,"l"],[43692,0,"i"],[43693,0,"c"],[43694,0,"a"],[43747,1],[43746,1],[43745,1],[43744,1],[43744,0,"r"],[43745,0,"e"],[43746,0,"p"],[43747,0,"l"],[43748,0,"i"],[43749,0,"c"],[43750,0,"a"],[43865,1],[43865,1],[43865,1],[43866,0,"e"],[43867,0,"p"],[43868,0,"l"],[43869,0,"i"],[43870,0,"c"],[43871,0,"a"],[44956,1],[44955,1],[44954,1],[44953,1],[44953,0,"R"],[44954,0,"e"],[44955,0,"p"],[44956,0,"l"],[44957,0,"i"],[44958,0,"c"],[44959,0,"a"],[45026,1],[45026,1],[45026,1],[45026,1],[45026,0,"R"],[45027,0,"e"],[45028,0,"p"],[45029,0,"l"],[45030,0,"i"],[45031,0,"c"],[45032,0,"a"],[46450,1],[46449,1],[46448,1],[46449,0,"e"],[46450,0,"p"],[46451,0,"l"],[46452,0,"i"],[46453,0,"c"],[46454,0,"a"],[46508,1],[46507,1],[46506,1],[46505,1],[46505,0,"r"],[46506,0,"e"],[46507,0,"p"],[46508,0,"l"],[46509,0,"i"],[46510,0,"c"],[46511,0,"a"],[48978,1],[48977,1],[48976,1],[48975,1],[48975,0,"R"],[48976,0,"e"],[48977,0,"p"],[48978,0,"l"],[48979,0,"i"],[48980,0,"c"],[48981,0,"a"],[50587,1],[50587,1],[50587,1],[50587,1],[50587,1],[50587,0,"r"],[50588,0,"e"],[50589,0,"p"],[50590,0,"l"],[50591,0,"i"],[50592,0,"c"],[50593,0,"s"],[50593,1],[50593,0,"a"],[50594,0,"s"],[50633,1],[50633,1],[50633,1],[50634,0,"e"],[50635,0,"p"],[50636,0,"l"],[50637,0,"i"],[50638,0,"c"],[50639,0,"a"],[50919,1],[50919,1],[50919,1],[50920,0,"e"],[50921,0,"p"],[50922,0,"l"],[50923,0,"i"],[50924,0,"c"],[50925,0,"a"],[50951,1],[50951,1],[50951,1],[50952,0,"e"],[50953,0,"p"],[50954,0,"l"],[50955,0,"i"],[50956,0,"c"],[50957,0,"a"],[50980,1],[50979,1],[50978,1],[50979,0,"e"],[50980,0,"p"],[50981,0,"l"],[50982,0,"i"],[50983,0,"c"],[50984,0,"a"],[51328,1],[51328,1],[51328,1],[51329,0,"e"],[51330,0,"p"],[51331,0,"l"],[51332,0,"i"],[51333,0,"c"],[51334,0,"a"],[51400,1],[51400,1],[51400,1],[51401,0,"e"],[51402,0,"p"],[51403,0,"l"],[51404,0,"i"],[51405,0,"c"],[51406,0,"a"],[51463,1],[51463,1],[51463,1],[51464,0,"e"],[51465,0,"p"],[51466,0,"l"],[51467,0,"i"],[51468,0,"c"],[51469,0,"a"],[58123,1],[58123,1],[58123,1],[58124,0,"e"],[58125,0,"p"],[58126,0,"l"],[58127,0,"i"],[58128,0,"c"],[58129,0,"a"],[59556,1],[59555,1],[59554,1],[59553,1],[59552,1],[59552,0,"r"],[59553,0,"e"],[59554,0,"p"],[59555,0,"l"],[59556,0,"i"],[59557,0,"c"],[59558,0,"a"],[59559,0,"s"],[59768,1],[59767,1],[59766,1],[59767,0,"e"],[59768,0,"p"],[59769,0,"l"],[59770,0,"i"],[59771,0,"c"],[59772,0,"a"],[44117,1],[44117,1],[44117,1],[44118,0,"e"],[44119,0,"p"],[44120,0,"l"],[44121,0,"i"],[44122,0,"c"],[44123,0,"a"],[37082,1],[37081,1],[37081,0,"q"],[37056,1],[37055,1],[37054,1],[37053,1],[37053,0,"q"],[42328,1],[42327,1],[42326,1],[42325,1],[42324,1],[42323,1],[42322,1],[42321,1],[42320,1],[42319,1],[42318,1],[42317,1],[42316,1],[42315,1],[42314,1],[42313,1],[42312,1],[42311,1],[42310,1],[42309,1],[42308,1],[42307,1],[42306,1],[42305,1],[42304,1],[42303,1],[42302,1],[42301,1],[42300,1],[42299,1],[42298,1],[42297,1],[42296,1],[42295,1],[42294,1],[42293,1],[42292,1],[42291,1],[42290,1],[42289,1],[42288,1],[42287,1],[42286,1],[42285,1],[42284,1],[42283,1],[42282,1],[42281,1],[42280,1],[42279,1],[42278,1],[42758,1],[42717,0," "],[42718,0,"a"],[42719,0,"n"],[42730,1],[42716,1],[42715,1],[42714,1],[42713,1],[42712,1],[42711,1],[42710,1],[42709,1],[42708,1],[42707,1],[42706,1],[42705,1],[42704,1],[42703,1],[42702,1],[42701,1],[42701,0,"f"],[42702,0,"t"],[42703,0,"e"],[42704,0,"r"],[42718,0," "],[42719,0,"i"],[42720,0,"s"],[42734,1],[42733,1],[42732,1],[42731,1],[42731,0,"a"],[42747,0,","],[42748,0," "],[42749,1],[42749,0,"i"],[42750,0,"t"],[42751,0," "],[42752,0,"i"],[42753,0,"s"],[42754,0," "],[42755,0,"a"],[42756,0,"p"],[42757,0,"p"],[42758,0,"l"],[42759,0,"i"],[42760,0,"e"],[42761,0,"d"],[42762,0," "],[42763,0,"l"],[42764,0,"o"],[42765,0,"c"],[42766,0,"a"],[42767,0,"l"],[42768,0,"l"],[42769,0,"y"],[42733,0,"f"],[42734,0,"r"],[42735,0,"o"],[42736,0,"m"],[42737,0," "],[43240,0," "],[43241,0,"f"],[43242,0,"o"],[43243,0,"r"],[43244,0," "],[43245,0,"p"],[43246,0,"e"],[43247,0,"r"],[43241,1],[43247,0,"f"],[43248,0,"o"],[43249,0,"r"],[43250,0,"m"],[43251,0,"e"],[43252,0,"d"],[43253,0," "],[43254,0,"t"],[43255,0,"h"],[43256,0,"e"],[43257,0," "],[43258,0,"r"],[43259,0,"e"],[43260,0,"g"],[43261,0,"i"],[43262,0,"s"],[43263,0,"t"],[43264,0,"e"],[43265,0,"r"],[43266,0," "],[43267,0,"a"],[43268,0,"s"],[43269,0,"s"],[43270,0,"i"],[43271,0,"g"],[43272,0,"n"],[43273,0,"m"],[43274,0,"e"],[43275,0,"n"],[43276,0,"t"],[43277,0,"s"],[44080,0,"c"],[44081,0,"a"],[44082,0,"u"],[44083,0,"s"],[44084,0,"a"],[44085,0,"l"],[44086,0,"l"],[44087,0,"y"],[44088,0," "],[44615,1],[16201,0,"."],[18549,0,"."],[20512,0,"."],[22183,0,"."],[25695,0,"."],[26128,0,"."],[36795,1],[36794,1],[36793,1],[36792,1],[36791,1],[36790,1],[36789,1],[36788,1],[36787,1],[36786,1],[36785,1],[36784,1],[36783,1],[36782,1],[36781,1],[36780,1],[36779,1],[36778,1],[36777,1],[36777,0,"s"],[36766,1],[36765,1],[36764,1],[36775,0,"."],[49427,0,"."],[57463,1],[57462,1],[57461,1],[57460,1],[57459,1],[57458,1],[57457,1],[57456,1],[57455,1],[57454,1],[57454,0,"a"],[57455,0,"p"],[57456,0,"p"],[57457,0,"l"],[57458,0,"y"],[57459,0,"i"],[57460,0,"n"],[57461,0,"g"],[57462,0," "],[57463,0,"i"],[57464,0,"n"],[57465,0,"s"],[57466,0,"e"],[57467,0,"r"],[57468,0,"t"],[57469,0,"i"],[57470,0,"o"],[57471,0,"n"],[57472,0," "],[57473,0,"a"],[57474,0,"n"],[57475,0,"d"],[57476,0," "],[57477,0,"a"],[57478,0,"s"],[57479,0,"s"],[57480,0,"i"],[57481,0,"g"],[57482,0,"n"],[57483,0,"m"],[57484,0,"e"],[57485,0,"n"],[57486,0,"t"],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,1],[57498,0,"."],[57498,0," "],[57499,0,"t"],[57500,0,"o"],[57501,0," "],[57502,0,"t"],[57503,0,"h"],[57504,0,"e"],[57505,0," "],[57506,0,"s"],[57507,0,"t"],[57508,0,"a"],[57509,0,"t"],[57510,0,"e"],[57511,0," "],[57512,0,"o"],[57513,0,"f"],[57514,0," "],[57515,0,"a"],[57516,0," "],[57517,0,"r"],[57518,0,"e"],[57519,0,"p"],[57520,0,"l"],[57521,0,"i"],[57522,0,"c"],[57523,0,"a"],[57502,0,"u"],[57503,0,"p"],[57504,0,"d"],[57505,0,"a"],[57506,0,"t"],[57507,0,"e"],[57508,0," "],[64749,1],[64748,1],[64747,1],[64746,1],[64745,1],[64744,1],[64743,1],[64742,1],[64741,1],[64740,1],[64739,1],[64738,1],[64737,1],[64736,1],[64735,1],[64734,1],[64733,1],[64732,1],[64731,1],[64730,1],[64729,1],[64728,1],[64723,0,"a"],[64724,0,"p"],[64725,0,"p"],[64726,0,"l"],[64727,0,"y"],[64728,0,"i"],[64729,0,"n"],[64730,0,"g"],[64731,0," "],[64737,0,"i"],[64738,0,"o"],[64739,0,"n"],[64740,0," "],[64741,0,"o"],[64742,0,"p"],[64743,0,"e"],[64744,0,"r"],[64745,0,"a"],[64746,0,"t"],[64747,0,"i"],[64748,0,"o"],[64749,0,"n"],[64750,0,"s"],[64751,0," "],[64752,0,"t"],[64753,0,"o"],[64754,0," "],[64755,0,"r"],[64756,0,"e"],[64757,0,"p"],[64758,0,"l"],[64759,0,"i"],[64760,0,"c"],[64761,0,"a"],[64762,0," "],[64763,0,"s"],[64764,0,"t"],[64765,0,"a"],[64766,0,"t"],[64767,0,"e"],[64768,0,"."],[64755,1],[64755,1],[64755,1],[64755,1],[64755,1],[64755,1],[64755,1],[64755,0,"u"],[64756,0,"p"],[64757,0,"d"],[64758,0,"a"],[64759,0,"t"],[64760,0,"e"],[64761,0," "],[64762,0,"t"],[64763,0,"h"],[64764,0,"e"],[64765,0," "],[64765,1],[64771,0," "],[64772,0,"o"],[64773,0,"f"],[64774,0," "],[64775,0,"a"],[64776,0," "],[64777,0,"r"],[64778,0,"e"],[64779,0,"p"],[64780,0,"l"],[64781,0,"i"],[64782,0,"c"],[64783,0,"a"],[49471,1],[49471,1],[49471,1],[49471,1],[49471,1],[49471,1],[49471,1],[49976,1],[49975,1],[49974,1],[49973,1],[49972,1],[49971,1],[49970,1],[49969,1],[49968,1],[49967,1],[49966,1],[49965,1],[49965,0,"r"],[49966,0,"e"],[49967,0,"p"],[49968,0,"l"],[49969,0,"i"],[49970,0,"c"],[49971,0,"a"],[49972,0," "],[49973,0,"$"],[49974,0,"p"],[49975,0,"$"],[52675,0,"\\"],[52676,0,"v"],[52677,0,"s"],[52678,0,"p"],[52679,0,"a"],[52680,0,"c"],[52681,0,"e"],[52682,0,"{"],[52683,0,"6"],[52684,0,"p"],[52685,0,"t"],[52686,0,"}"],[53305,0,"\\"],[53306,0,"v"],[53307,0,"s"],[53308,0,"p"],[53309,0,"a"],[53310,0,"c"],[53311,0,"e"],[53312,0,"{"],[53313,0,"6"],[53314,0,"p"],[53315,0,"t"],[53316,0,"}"],[53920,0,"\\"],[53921,0,"v"],[53922,0,"s"],[53923,0,"p"],[53924,0,"a"],[53925,0,"c"],[53926,0,"e"],[53927,0,"{"],[53928,0,"6"],[53929,0,"p"],[53930,0,"t"],[53931,0,"}"],[54324,0,"\\"],[54325,0,"v"],[54326,0,"s"],[54327,0,"p"],[54328,0,"a"],[54329,0,"c"],[54330,0,"e"],[54331,0,"{"],[54332,0,"6"],[54333,0,"p"],[54334,0,"t"],[54335,0,"}"],[55050,0,"\\"],[55051,0,"v"],[55052,0,"s"],[55053,0,"p"],[55054,0,"a"],[55055,0,"c"],[55056,0,"e"],[55057,0,"{"],[55058,0,"6"],[55059,0,"p"],[55060,0,"t"],[55061,0,"}"],[55675,0,"\\"],[55676,0,"v"],[55677,0,"s"],[55678,0,"p"],[55679,0,"a"],[55680,0,"c"],[55681,0,"e"],[55682,0,"{"],[55683,0,"6"],[55684,0,"p"],[55685,0,"t"],[55686,0,"}"],[56290,0,"\\"],[56291,0,"v"],[56292,0,"s"],[56293,0,"p"],[56294,0,"a"],[56295,0,"c"],[56296,0,"e"],[56297,0,"{"],[56298,0,"6"],[56299,0,"p"],[56300,0,"t"],[56301,0,"}"],[56990,0,"\\"],[56991,0,"v"],[56992,0,"s"],[56993,0,"p"],[56994,0,"a"],[56995,0,"c"],[56996,0,"e"],[56997,0,"{"],[56998,0,"6"],[56999,0,"p"],[57000,0,"t"],[57001,0,"}"],[57842,0," "],[57843,0,"T"],[57844,0,"h"],[57845,0,"e"],[57846,0," "],[57847,0,"c"],[57848,0,"o"],[57849,0,"n"],[57850,0,"t"],[57851,0,"e"],[57852,0,"x"],[57853,0,"t"],[57854,0," "],[57855,0,"i"],[57856,0,"s"],[57857,0," "],[57858,0,"i"],[57859,0,"n"],[57860,0,"i"],[57861,0,"t"],[57862,0,"i"],[57863,0,"a"],[57864,0,"l"],[57865,0,"l"],[57866,0,"y"],[57867,0," "],[57868,0,"t"],[57869,0,"h"],[57870,0,"e"],[57871,0," "],[57872,0,"r"],[57873,0,"e"],[57874,0,"p"],[57875,0,"l"],[57876,0,"i"],[57877,0,"c"],[57878,0,"a"],[57879,0," "],[57880,0,"s"],[57881,0,"t"],[57882,0,"a"],[57883,0,"t"],[57884,0,"e"],[57885,0,"$"],[57885,1],[57885,0," "],[57886,0,"$"],[57887,0,"A"],[57888,0,"-"],[57888,1],[57888,0,"_"],[57889,0,"p"],[57890,0,"$"],[57891,0,","],[57892,0," "],[57893,0,"b"],[57894,0,"u"],[57895,0,"t"],[57896,0," "],[57897,0,"m"],[57898,0,"a"],[57899,0,"y"],[57900,0," "],[57901,0,"r"],[57902,0,"e"],[57903,0,"f"],[57904,0,"e"],[57905,0,"r"],[57906,0," "],[57907,0,"t"],[57908,0,"o"],[57909,0," "],[57910,0,"i"],[57911,0,"n"],[57912,0,"n"],[57913,0,"e"],[57914,0,"r"],[57915,0," "],[57916,0,"p"],[57917,0,"a"],[57918,0,"r"],[57919,0,"t"],[57920,0,"s"],[57921,0," "],[57922,0,"o"],[57923,0,"f"],[57924,0," "],[57925,0,"t"],[57926,0,"h"],[57927,0,"e"],[57928,0," "],[57929,0,"s"],[57930,0,"t"],[57931,0,"a"],[57932,0,"t"],[57933,0,"e"],[57934,0," "],[57935,0,"a"],[57936,0,"s"],[57937,0," "],[57938,0,"r"],[57939,0,"u"],[57940,0,"l"],[57941,0,"e"],[57942,0,"s"],[57943,0," "],[57944,0,"a"],[57945,0,"r"],[57946,0,"e"],[57947,0," "],[57948,0,"r"],[57949,0,"e"],[57950,0,"c"],[57951,0,"u"],[57952,0,"r"],[57953,0,"s"],[57954,0,"i"],[57955,0,"v"],[57956,0,"e"],[57957,0,"l"],[57958,0,"y"],[57959,0," "],[57960,0,"a"],[57961,0,"p"],[57962,0,"p"],[57963,0,"l"],[57964,0,"i"],[57965,0,"e"],[57966,0,"d"],[57967,0,"."],[57920,1],[57919,1],[57918,1],[57917,1],[57916,1],[57915,1],[57914,1],[57913,1],[57912,1],[57911,1],[57910,1],[57910,0,"s"],[57911,0,"u"],[57912,0,"b"],[57913,0,"t"],[57914,0,"r"],[57915,0,"e"],[57916,0,"e"],[57917,0,"s"],[58990,0," "],[58991,0,"p"],[58992,0,"r"],[58993,0,"i"],[58994,0,"m"],[58995,0,"i"],[58996,0,"t"],[58997,0,"i"],[58998,0,"v"],[58999,0,"e"],[59000,0," "],[59001,0,"v"],[59002,0,"a"],[59003,0,"l"],[59004,0,"u"],[59005,0,"e"],[59006,0," "],[59007,0,"t"],[59008,0,"o"],[59009,0," "],[59010,0,"a"],[59980,0," "],[59981,0,"O"],[59982,0,"u"],[59983,0,"r"],[59984,0," "],[59985,0,"a"],[59986,0,"p"],[59987,0,"p"],[59988,0,"r"],[59989,0,"o"],[59990,0,"a"],[59991,0,"c"],[59992,0,"h"],[59993,0," "],[59994,0,"f"],[59995,0,"o"],[59996,0,"r"],[59997,0," "],[59998,0,"h"],[59999,0,"a"],[60000,0,"n"],[60001,0,"d"],[60002,0,"l"],[60003,0,"i"],[60004,0,"n"],[60005,0,"g"],[60006,0," "],[60007,0,"i"],[60008,0,"n"],[60009,0,"s"],[60010,0,"e"],[60011,0,"r"],[60012,0,"t"],[60013,0,"i"],[60014,0,"o"],[60015,0,"n"],[60016,0,"s"],[60017,0," "],[60018,0,"i"],[60019,0,"s"],[60020,0," "],[60021,0,"b"],[60022,0,"a"],[60023,0,"s"],[60024,0,"e"],[60025,0,"d"],[60026,0," "],[60027,0,"o"],[60028,0,"n"],[60029,0," "],[60030,0,"t"],[60031,0,"h"],[60032,0,"e"],[60033,0," "],[60034,0,"R"],[60035,0,"G"],[60036,0,"A"],[60037,0," "],[60038,0,"a"],[60039,0,"l"],[60040,0,"g"],[60041,0,"o"],[60042,0,"r"],[60043,0,"i"],[60044,0,"t"],[60045,0,"h"],[60046,0,"m"],[60047,0,"~"],[60048,0,"\\"],[60049,0,"c"],[60050,0,"i"],[60051,0,"t"],[60052,0,"e"],[60053,0,"{"],[60054,0,"R"],[60055,0,"o"],[60056,0,"h"],[60057,0,":"],[60058,0,"2"],[60059,0,"0"],[60060,0,"1"],[60061,0,"1"],[60062,0,"d"],[60063,0,"w"],[60064,0,"}"],[60065,0,"."],[65318,0,","],[65319,0," "],[65320,0,"a"],[65321,0,"s"],[65322,0," "],[65323,0,"i"],[65324,0,"l"],[65325,0,"l"],[65326,0,"u"],[65327,0,"s"],[65328,0,"t"],[65329,0,"r"],[65330,0,"a"],[65331,0,"t"],[65332,0,"e"],[65333,0,"d"],[65334,0," "],[65335,0,"i"],[65336,0,"n"],[65337,0," "],[65338,0,"F"],[65339,0,"i"],[65340,0,"g"],[65341,0,"u"],[65342,0,"r"],[65343,0,"e"],[65344,0,"~"],[65345,0,"\\"],[65346,0,"r"],[65347,0,"e"],[65348,0,"f"],[65349,0,"{"],[65350,0,"f"],[65351,0,"i"],[65352,0,"g"],[65353,0,":"],[65354,0,"m"],[65355,0,"a"],[65356,0,"p"],[65357,0,"-"],[65358,0,"r"],[65359,0,"e"],[65360,0,"m"],[65361,0,"o"],[65362,0,"v"],[65363,0,"e"],[65364,0,"}"],[4322,1],[4322,0,"S"],[5713,1],[5713,0,"S"],[6951,1],[6951,0,"S"],[7856,1],[7856,0,"S"],[8258,1],[8258,0,"S"],[9345,1],[9345,0,"S"],[14871,1],[14871,0,"S"],[15320,1],[15320,0,"S"],[67329,0,"\n"],[67330,0,"\\"],[67331,0,"s"],[67332,0,"u"],[67333,0,"b"],[67334,0,"s"],[67335,0,"e"],[67336,0,"c"],[67337,0,"t"],[67338,0,"i"],[67339,0,"o"],[67340,0,"n"],[67341,0,"{"],[67342,0,"C"],[67343,0,"o"],[67344,0,"n"],[67345,0,"v"],[67346,0,"e"],[67347,0,"r"],[67348,0,"g"],[67349,0,"e"],[67350,0,"n"],[67351,0,"c"],[67352,0,"e"],[67353,0,"}"],[67354,0,"\\"],[67355,0,"l"],[67356,0,"a"],[67357,0,"b"],[67358,0,"e"],[67359,0,"l"],[67360,0,"{"],[67361,0,"s"],[67362,0,"e"],[67363,0,"c"],[67364,0,":"],[67365,0,"c"],[67366,0,"o"],[67367,0,"n"],[67368,0,"v"],[67369,0,"e"],[67370,0,"r"],[67371,0,"g"],[67372,0,"e"],[67373,0,"n"],[67374,0,"c"],[67375,0,"e"],[67376,0,"}"],[67377,0,"\n"],[67378,0,"\n"],[5855,0,"l"],[5856,0,"a"],[5857,0,"b"],[5857,1],[5856,1],[5855,1],[5855,0,"\\"],[5856,0,"l"],[5857,0,"a"],[5858,0,"b"],[5859,0,"e"],[5860,0,"l"],[5861,0,"{"],[5862,0,"s"],[5863,0,"e"],[5864,0,"c"],[5865,0,":"],[5866,0,"i"],[5867,0,"n"],[5868,0,"t"],[5869,0,"r"],[5870,0,"o"],[5871,0,"-"],[5872,0,"r"],[5873,0,"e"],[5874,0,"p"],[5875,0,"l"],[5876,0,"i"],[5877,0,"c"],[5878,0,"a"],[5879,0,"t"],[5880,0,"i"],[5881,0,"o"],[5882,0,"n"],[5883,0,"}"],[67408,0,"A"],[67409,0,"s"],[67410,0," "],[67411,0,"o"],[67412,0,"u"],[67413,0,"t"],[67414,0,"l"],[67415,0,"i"],[67416,0,"n"],[67417,0,"e"],[67418,0,"d"],[67419,0," "],[67420,0,"i"],[67421,0,"n"],[67422,0," "],[67423,0,"S"],[67424,0,"e"],[67425,0,"c"],[67426,0,"t"],[67427,0,"i"],[67428,0,"o"],[67429,0,"n"],[67430,0,"~"],[67431,0,"\\"],[67432,0,"r"],[67433,0,"e"],[67434,0,"f"],[67435,0,"{"],[67436,0,"s"],[67437,0,"e"],[67438,0,"c"],[67439,0,":"],[67440,0,"i"],[67441,0,"n"],[67442,0,"t"],[67443,0,"r"],[67444,0,"o"],[67445,0,"-"],[67446,0,"r"],[67447,0,"e"],[67448,0,"p"],[67449,0,"l"],[67450,0,"i"],[67451,0,"c"],[67452,0,"a"],[67453,0,"t"],[67454,0,"i"],[67455,0,"o"],[67456,0,"n"],[67457,0,"}"],[67458,0,","],[67459,0," "],[67460,0,"w"],[67461,0,"e"],[67462,0," "],[67463,0,"r"],[67464,0,"e"],[67465,0,"q"],[67466,0,"u"],[67467,0,"i"],[67468,0,"r"],[67469,0,"e"],[67470,0," "],[67471,0,"t"],[67472,0,"h"],[67473,0,"a"],[67474,0,"t"],[67475,0," "],[67476,0,"a"],[67477,0,"l"],[67478,0,"l"],[67479,0," "],[67480,0,"r"],[67481,0,"e"],[67482,0,"p"],[67483,0,"l"],[67484,0,"i"],[67485,0,"c"],[67486,0,"a"],[67487,0,"s"],[67488,0," "],[67489,0,"a"],[67490,0,"u"],[67491,0,"t"],[67492,0,"o"],[67493,0,"m"],[67494,0,"a"],[67495,0,"t"],[67496,0,"i"],[67497,0,"c"],[67498,0,"a"],[67499,0,"l"],[67500,0,"l"],[67501,0,"y"],[67502,0," "],[67503,0,"c"],[67504,0,"o"],[67505,0,"n"],[67506,0,"v"],[67507,0,"e"],[67508,0,"r"],[67509,0,"g"],[67510,0,"e"],[67511,0," "],[67512,0,"t"],[67513,0,"o"],[67514,0,"w"],[67515,0,"a"],[67516,0,"r"],[67517,0,"d"],[67518,0,"s"],[67519,0," "],[67520,0,"t"],[67521,0,"h"],[67522,0,"e"],[67523,0," "],[67524,0,"s"],[67525,0,"a"],[67526,0,"m"],[67527,0,"e"],[67528,0," "],[67529,0,"s"],[67530,0,"t"],[67531,0,"a"],[67532,0,"t"],[67533,0,"e"],[67534,0,"."],[67535,0," "],[67536,0,"T"],[67537,0,"h"],[67538,0,"i"],[67538,1],[67537,1],[67536,1],[67534,0," "],[67535,0,"-"],[67536,0,"-"],[67537,0," "],[67538,0,"a"],[67539,0," "],[67540,0,"k"],[67541,0,"e"],[67542,0,"y"],[67543,0," "],[67544,0,"r"],[67545,0,"e"],[67546,0,"q"],[67547,0,"u"],[67548,0,"i"],[67549,0,"r"],[67550,0,"e"],[67551,0,"m"],[67552,0,"e"],[67553,0,"n"],[67554,0,"t"],[67555,0," "],[67556,0,"o"],[67557,0,"f"],[67558,0," "],[67559,0,"a"],[67560,0," "],[67561,0,"C"],[67562,0,"R"],[67563,0,"D"],[67564,0,"T"],[67567,0,"W"],[67568,0,"e"],[67569,0," "],[67570,0,"n"],[67571,0,"o"],[67572,0,"w"],[67573,0," "],[67574,0,"f"],[67575,0,"o"],[67576,0,"r"],[67577,0,"m"],[67578,0,"a"],[67579,0,"l"],[67580,0,"i"],[67581,0,"z"],[67582,0,"e"],[67583,0," "],[67584,0,"t"],[67585,0,"h"],[67586,0,"i"],[67587,0,"s"],[67588,0," "],[67589,0,"n"],[67590,0,"o"],[67591,0,"t"],[67592,0,"i"],[67593,0,"o"],[67594,0,"n"],[67595,0,","],[67596,0," "],[67597,0,"a"],[67598,0,"n"],[67599,0,"d"],[67600,0," "],[67601,0,"s"],[67602,0,"h"],[67603,0,"o"],[67604,0,"w"],[67605,0," "],[67606,0,"t"],[67607,0,"h"],[67608,0,"a"],[67609,0,"t"],[67610,0," "],[67611,0,"t"],[67612,0,"h"],[67613,0,"e"],[67614,0," "],[67615,0,"r"],[67616,0,"u"],[67617,0,"l"],[67618,0,"e"],[67619,0,"s"],[67620,0," "],[67621,0,"i"],[67622,0,"n"],[67623,0," "],[67624,0,"F"],[67625,0,"i"],[67626,0,"g"],[67627,0,"u"],[67628,0,"r"],[67629,0,"e"],[67630,0,"s"],[67631,0,"~"],[67632,0,"\\"],[67633,0,"r"],[67634,0,"e"],[67635,0,"f"],[67636,0,"{"],[67637,0,"f"],[67638,0,"i"],[67639,0,"g"],[67640,0,":"],[67641,0,"e"],[67642,0,"x"],[67643,0,"p"],[67644,0,"r"],[67645,0,"-"],[67646,0,"r"],[67647,0,"u"],[67648,0,"l"],[67649,0,"e"],[67650,0,"s"],[67651,0,"}"],[67652,0," "],[67653,0,"t"],[67654,0,"o"],[67655,0," "],[67655,1],[67655,0,"~"],[67656,0,"\\"],[67657,0,"r"],[67658,0,"e"],[67659,0,"f"],[67660,0,"{"],[67661,0,"f"],[67662,0,"i"],[67663,0,"g"],[67664,0,":"],[67665,0,"c"],[67666,0,"l"],[67667,0,"e"],[67668,0,"a"],[67669,0,"r"],[67670,0,"-"],[67671,0,"r"],[67672,0,"u"],[67673,0,"l"],[67674,0,"e"],[67675,0,"s"],[67676,0,"}"],[67677,0," "],[67678,0,"s"],[67679,0,"a"],[67680,0,"t"],[67681,0,"i"],[67682,0,"s"],[67683,0,"f"],[67684,0,"y"],[67685,0," "],[67686,0,"t"],[67687,0,"h"],[67688,0,"i"],[67689,0,"s"],[67690,0," "],[67691,0,"r"],[67692,0,"e"],[67693,0,"q"],[67694,0,"u"],[67695,0,"i"],[67696,0,"r"],[67697,0,"e"],[67698,0,"m"],[67699,0,"e"],[67700,0,"n"],[67701,0,"t"],[67702,0,"."],[318,0,"\n"],[319,0,"%"],[320,0," "],[321,0,"T"],[322,0,"h"],[323,0,"e"],[324,0,"o"],[325,0,"r"],[326,0,"e"],[327,0,"m"],[328,0," "],[329,0,"e"],[330,0,"n"],[331,0,"v"],[332,0,"i"],[333,0,"r"],[334,0,"o"],[335,0,"n"],[336,0,"m"],[337,0,"e"],[338,0,"n"],[339,0,"t"],[340,0,"s"],[341,0,"\n"],[342,0,"\\"],[343,0,"u"],[344,0,"s"],[345,0,"e"],[346,0,"p"],[347,0,"a"],[348,0,"c"],[349,0,"k"],[350,0,"a"],[351,0,"g"],[352,0,"e"],[353,0,"{"],[354,0,"a"],[355,0,"m"],[356,0,"s"],[357,0,"t"],[358,0,"h"],[359,0,"m"],[360,0,"}"],[361,0,"\n"],[362,0,"\n"],[362,0,"\\"],[363,0,"n"],[364,0,"e"],[365,0,"w"],[366,0,"t"],[367,0,"h"],[368,0,"e"],[369,0,"o"],[370,0,"r"],[371,0,"e"],[372,0,"m"],[373,0,"{"],[374,0,"t"],[375,0,"h"],[376,0,"e"],[377,0,"o"],[378,0,"r"],[379,0,"e"],[380,0,"m"],[381,0,"}"],[382,0,"{"],[383,0,"T"],[384,0,"h"],[385,0,"e"],[386,0,"o"],[387,0,"r"],[388,0,"e"],[389,0,"m"],[390,0,"}"],[391,0,"\n"],[392,0,"\\"],[393,0,"n"],[394,0,"e"],[395,0,"w"],[396,0,"t"],[397,0,"h"],[398,0,"e"],[399,0,"o"],[400,0,"r"],[401,0,"e"],[402,0,"m"],[403,0,"{"],[404,0,"l"],[405,0,"e"],[406,0,"m"],[407,0,"m"],[408,0,"a"],[409,0,"}"],[410,0,"["],[411,0,"t"],[412,0,"h"],[413,0,"e"],[414,0,"o"],[415,0,"r"],[416,0,"e"],[417,0,"m"],[418,0,"]"],[419,0,"{"],[420,0,"L"],[421,0,"e"],[422,0,"m"],[423,0,"m"],[424,0,"a"],[425,0,"}"],[581,1],[580,1],[579,1],[578,1],[578,0,"f"],[579,0,"a"],[580,0,"l"],[581,0,"s"],[582,0,"e"],[361,0,"\n"],[362,0,"\\"],[363,0,"n"],[364,0,"e"],[365,0,"w"],[366,0,"t"],[367,0,"h"],[368,0,"e"],[369,0,"o"],[370,0,"r"],[371,0,"e"],[372,0,"m"],[373,0,"{"],[374,0,"d"],[375,0,"e"],[376,0,"f"],[377,0,"i"],[378,0,"n"],[379,0,"i"],[380,0,"t"],[381,0,"i"],[382,0,"o"],[383,0,"n"],[384,0,"}"],[385,0,"{"],[386,0,"D"],[387,0,"e"],[388,0,"f"],[389,0,"i"],[390,0,"n"],[391,0,"i"],[392,0,"t"],[393,0,"i"],[394,0,"o"],[395,0,"n"],[396,0,"}"],[67849,0,"\n"],[67850,0,"\n"],[67851,0,"\\"],[67852,0,"b"],[67853,0,"e"],[67854,0,"g"],[67855,0,"i"],[67856,0,"n"],[67857,0,"{"],[67858,0,"d"],[67859,0,"e"],[67860,0,"f"],[67861,0,"i"],[67862,0,"n"],[67863,0,"i"],[67864,0,"t"],[67865,0,"i"],[67866,0,"o"],[67867,0,"n"],[67868,0,"}"],[67869,0,"\n"],[67870,0,"\\"],[67871,0,"e"],[67872,0,"n"],[67873,0,"d"],[67874,0,"{"],[67875,0,"d"],[67876,0,"e"],[67877,0,"f"],[67878,0,"i"],[67879,0,"n"],[67880,0,"i"],[67881,0,"t"],[67882,0,"i"],[67883,0,"o"],[67884,0,"n"],[67885,0,"}"],[67869,0,"\n"],[67870,0,"A"],[67871,0," "],[67872,0,"\\"],[67873,0,"e"],[67874,0,"m"],[67875,0,"p"],[67876,0,"h"],[67877,0,"{"],[67878,0,"v"],[67879,0,"a"],[67880,0,"l"],[67881,0,"i"],[67882,0,"d"],[67883,0," "],[67884,0,"e"],[67885,0,"x"],[67886,0,"e"],[67887,0,"c"],[67888,0,"u"],[67889,0,"t"],[67890,0,"i"],[67891,0,"o"],[67892,0,"n"],[67893,0,"}"],[67894,0," "],[67895,0,"i"],[67896,0,"s"],[67897,0," "],[67898,0,"a"],[67899,0," "],[67900,0,"s"],[67901,0,"e"],[67901,1],[67900,1],[67900,0,"s"],[67901,0,"e"],[67902,0,"t"],[67903,0," "],[67904,0,"o"],[67905,0,"f"],[67906,0," "],[67907,0,"o"],[67908,0,"p"],[67909,0,"e"],[67910,0,"r"],[67911,0,"a"],[67912,0,"t"],[67913,0,"i"],[67914,0,"o"],[67915,0,"n"],[67916,0,"s"],[67917,0," "],[67918,0,"g"],[67919,0,"e"],[67920,0,"n"],[67921,0,"e"],[67922,0,"r"],[67923,0,"a"],[67924,0,"t"],[67925,0,"e"],[67926,0,"d"],[67927,0," "],[67928,0,"b"],[67929,0,"y"],[67930,0," "],[67931,0,"a"],[67932,0," "],[67933,0,"s"],[67934,0,"e"],[67935,0,"t"],[67936,0," "],[67937,0,"o"],[67938,0,"f"],[67939,0," "],[67940,0,"r"],[67941,0,"e"],[67942,0,"p"],[67943,0,"l"],[67944,0,"i"],[67945,0,"c"],[67946,0,"a"],[67947,0,"s"],[67948,0," "],[67949,0,"$"],[67950,0,"\\"],[67951,0,"{"],[67952,0,"p"],[67953,0,"_"],[67954,0,"1"],[67955,0,","],[67956,0," "],[67957,0,"\\"],[67958,0,"d"],[67959,0,"o"],[67960,0,"t"],[67961,0,"s"],[67962,0,","],[67963,0," "],[67964,0,"p"],[67965,0,"_"],[67966,0,"k"],[67967,0,"\\"],[67968,0,"}"],[67969,0," "],[67970,0,"="],[67971,0," "],[67972,0,"\\"],[67973,0,"m"],[67974,0,"a"],[67975,0,"t"],[67976,0,"h"],[67977,0,"r"],[67978,0,"m"],[67979,0,"{"],[67980,0,"R"],[67981,0,"e"],[67982,0,"p"],[67983,0,"l"],[67984,0,"i"],[67985,0,"c"],[67986,0,"a"],[67987,0,"I"],[67988,0,"D"],[67989,0,"}"],[67990,0,"$"],[67991,0,","],[67992,0," "],[67993,0,"e"],[67994,0,"a"],[67995,0,"h"],[67995,1],[67995,0,"c"],[67996,0,"h"],[67997,0," "],[67998,0,"r"],[67999,0,"e"],[68000,0,"d"],[68001,0,"u"],[68002,0,"c"],[68003,0,"i"],[68004,0,"n"],[68005,0,"g"],[68006,0," "],[68007,0,"a"],[68008,0," "],[68009,0,"s"],[68010,0,"e"],[68011,0,"q"],[68012,0,"u"],[68013,0,"e"],[68014,0,"n"],[68015,0,"c"],[68016,0,"e"],[68017,0," "],[68018,0,"o"],[68019,0,"f"],[68020,0," "],[68021,0,"c"],[68022,0,"o"],[68023,0,"m"],[68024,0,"m"],[68025,0,"a"],[68026,0,"n"],[68027,0,"d"],[68028,0,"s"],[68029,0," "],[68030,0,"$"],[68031,0,"\\"],[68032,0,"l"],[68033,0,"a"],[68034,0,"n"],[68035,0,"g"],[68036,0,"l"],[68037,0,"e"],[68038,0," "],[68039,0,"\\"],[68040,0,"m"],[68041,0,"a"],[68042,0,"t"],[68043,0,"h"],[68044,0,"i"],[68045,0,"t"],[68046,0,"{"],[68047,0,"c"],[68048,0,"m"],[68049,0,"d"],[68050,0,"}"],[68051,0,"_"],[68052,0,"1"],[68053,0," "],[68054,0,"\\"],[68055,0,"m"],[68056,0,"a"],[68057,0,"t"],[68058,0,"h"],[68059,0,"b"],[68060,0,"i"],[68061,0,"n"],[68062,0,"{"],[68063,0,";"],[68064,0,"}"],[68065,0," "],[68066,0,"\\"],[68067,0,"d"],[68068,0,"o"],[68069,0,"t"],[68070,0,"s"],[68071,0," "],[68072,0,"\\"],[68073,0,"m"],[68074,0,"a"],[68075,0,"t"],[68076,0,"h"],[68077,0,"b"],[68078,0,"i"],[68079,0,"n"],[68080,0,"{"],[68081,0,";"],[68082,0,"]"],[68082,1],[68082,0,"}"],[68083,0," "],[68084,0,"\\"],[68085,0,"m"],[68086,0,"a"],[68087,0,"t"],[68088,0,"h"],[68089,0,"i"],[68090,0,"t"],[68091,0,"{"],[68092,0,"c"],[68093,0,"m"],[68094,0,"d"],[68095,0,"}"],[68096,0,"_"],[68097,0,"n"],[68098,0," "],[68099,0,"\\"],[68100,0,"r"],[68101,0,"a"],[68102,0,"n"],[68103,0,"g"],[68104,0,"l"],[68105,0,"e"],[68106,0,"$"],[68107,0,"."],[68107,0," "],[68108,0,"w"],[68109,0,"i"],[68110,0,"t"],[68111,0,"h"],[68112,0,"o"],[68113,0,"u"],[68114,0,"t"],[68115,0," "],[68116,0,"g"],[68117,0,"e"],[68118,0,"t"],[68119,0,"t"],[68120,0,"i"],[68121,0,"n"],[68122,0,"g"],[68123,0," "],[68124,0,"s"],[68125,0,"t"],[68126,0,"u"],[68127,0,"c"],[68128,0,"k"],[68147,0,"\n"],[68148,0,"\n"],[68149,0,"B"],[68150,0,"y"],[68151,0," "],[68152,0,"c"],[68153,0,"o"],[68154,0,"n"],[68155,0,"s"],[68156,0,"t"],[68157,0,"r"],[68158,0,"a"],[68159,0,"i"],[68160,0,"n"],[68161,0,"i"],[68162,0,"n"],[68163,0,"g"],[68164,0," "],[68165,0,"t"],[68166,0,"h"],[68167,0,"e"],[68168,0," "],[68168,1],[68167,1],[68166,1],[68165,1],[68164,1],[68163,1],[68162,1],[68161,1],[68160,1],[68159,1],[68158,1],[68157,1],[68156,1],[68155,1],[68154,1],[68153,1],[68152,1],[68151,1],[68150,1],[68149,1],[68149,0,"A"],[68150,0," "],[68151,0,"r"],[68152,0,"e"],[68153,0,"d"],[68154,0,"u"],[68155,0,"c"],[68156,0,"t"],[68157,0,"i"],[68158,0,"o"],[68159,0,"n"],[68160,0," "],[68161,0,"g"],[68162,0,"e"],[68163,0,"t"],[68164,0,"s"],[68165,0," "],[68166,0,"s"],[68167,0,"t"],[68168,0,"u"],[68169,0,"c"],[68170,0,"k"],[68171,0," "],[68172,0,"i"],[68173,0,"f"],[68174,0," "],[68175,0,"i"],[68176,0,"t"],[68177,0,"s"],[68178,0," "],[68179,0,"p"],[68180,0,"r"],[68181,0,"e"],[68181,1],[68180,1],[68179,1],[68179,0,"p"],[68180,0,"r"],[68181,0,"e"],[68182,0,"m"],[68183,0,"i"],[68184,0,"s"],[68185,0,"e"],[68186,0,"s"],[68187,0," "],[68188,0,"c"],[68189,0,"a"],[68190,0,"n"],[68191,0,"n"],[68192,0,"o"],[68192,1],[68191,1],[68190,1],[68189,1],[68188,1],[68187,1],[68186,1],[68185,1],[68184,1],[68183,1],[68182,1],[68181,1],[68180,1],[68179,1],[68178,1],[68177,1],[68176,1],[68175,1],[68175,0,"a"],[68176,0," "],[68177,0,"p"],[68178,0,"r"],[68179,0,"e"],[68180,0,"m"],[68181,0,"i"],[68182,0,"s"],[68183,0,"e"],[68184,0," "],[68185,0,"i"],[68186,0,"n"],[68187,0," "],[68188,0,"o"],[68189,0,"n"],[68190,0,"e"],[68191,0," "],[68192,0,"o"],[68193,0,"f"],[68194,0," "],[68195,0,"t"],[68196,0,"h"],[68197,0,"e"],[68198,0," "],[68199,0,"r"],[68200,0,"u"],[68201,0,"l"],[68202,0,"e"],[68203,0," "],[68204,0,"a"],[68205,0,"p"],[68206,0,"p"],[68207,0,"l"],[68208,0,"i"],[68209,0,"c"],[68210,0,"a"],[68211,0,"t"],[68212,0,"i"],[68213,0,"o"],[68214,0,"n"],[68215,0,"s"],[68216,0," "],[68217,0,"c"],[68218,0,"a"],[68219,0,"n"],[68220,0,"n"],[68221,0,"o"],[68222,0,"t"],[68223,0," "],[68224,0,"b"],[68225,0,"e"],[68226,0," "],[68227,0,"s"],[68228,0,"a"],[68229,0,"t"],[68230,0,"i"],[68231,0,"s"],[68232,0,"f"],[68233,0,"i"],[68234,0,"e"],[68235,0,"d"],[68236,0,"."],[68237,0," "],[68238,0,"F"],[68239,0,"o"],[68240,0,"r"],[68241,0," "],[68242,0,"e"],[68243,0,"x"],[68244,0,"a"],[68245,0,"m"],[68246,0,"p"],[68247,0,"l"],[68248,0,"e"],[68249,0,","],[68250,0," "],[68251,0,"t"],[68252,0,"h"],[68253,0,"e"],[68254,0," "],[68255,0,"\\"],[68256,0,"t"],[68257,0,"e"],[68258,0,"x"],[68259,0,"t"],[68260,0,"s"],[68261,0,"c"],[68255,0,"$"],[68263,0,"{"],[68264,0,"N"],[68265,0,"e"],[68266,0,"x"],[68267,0,"t"],[68268,0,"}"],[68269,0,"_"],[68270,0,"{"],[68271,0,"2"],[68272,0,","],[68273,0,"3"],[68274,0,"}"],[68275,0,"$"],[68276,0," "],[68277,0,"r"],[68278,0,"u"],[68279,0,"l"],[68280,0,"e"],[68281,0,"s"],[68282,0," "],[68283,0,"i"],[68284,0,"n"],[68285,0," "],[68286,0,"F"],[68287,0,"i"],[68288,0,"g"],[68289,0,"u"],[68290,0,"r"],[68291,0,"e"],[68292,0,"~"],[68293,0,"\\"],[68294,0,"r"],[68295,0,"e"],[68296,0,"f"],[68297,0,"{"],[68298,0,"f"],[68299,0,"i"],[68300,0,"g"],[68301,0,":"],[68302,0,"e"],[68303,0,"x"],[68304,0,"p"],[68305,0,"r"],[68306,0,"-"],[68307,0,"r"],[68308,0,"u"],[68309,0,"l"],[68310,0,"e"],[68311,0,"s"],[68312,0,"}"],[68313,0," "],[68314,0,"g"],[68315,0,"e"],[68316,0,"t"],[68317,0," "],[68318,0,"s"],[68319,0,"t"],[68320,0,"u"],[68321,0,"c"],[68322,0,"k"],[68323,0," "],[68324,0,"i"],[68325,0,"f"],[68326,0," "],[68327,0,"\\"],[68328,0,"t"],[68329,0,"e"],[68330,0,"x"],[68331,0,"t"],[68332,0,"s"],[68333,0,"f"],[68334,0,"{"],[68335,0,"n"],[68336,0,"e"],[68337,0,"x"],[68338,0,"t"],[68339,0,"}"],[68340,0," "],[68341,0,"t"],[68342,0,"r"],[68343,0,"i"],[68344,0,"e"],[68345,0,"s"],[68346,0," "],[68347,0,"t"],[68348,0,"o"],[68349,0," "],[68350,0,"i"],[68351,0,"t"],[68352,0,"e"],[68353,0,"r"],[68354,0,"a"],[68355,0,"t"],[68356,0,"e"],[68357,0," "],[68358,0,"p"],[68359,0,"a"],[68360,0,"s"],[68361,0,"t"],[68362,0," "],[68363,0,"t"],[68364,0,"h"],[68365,0,"e"],[68366,0," "],[68367,0,"e"],[68368,0,"n"],[68369,0,"d"],[68370,0," "],[68371,0,"o"],[68372,0,"f"],[68373,0," "],[68374,0,"a"],[68375,0," "],[68376,0,"l"],[68377,0,"i"],[68378,0,"s"],[68379,0,"t"],[68380,0,"."],[68381,0," "],[68382,0,"B"],[68383,0,"y"],[68384,0," "],[68385,0,"c"],[68386,0,"o"],[68387,0,"n"],[68388,0,"s"],[68389,0,"t"],[68390,0,"r"],[68391,0,"a"],[68392,0,"i"],[68393,0,"n"],[68394,0,"i"],[68395,0,"n"],[68396,0,"g"],[68397,0," "],[68398,0,"e"],[68399,0,"x"],[68400,0,"e"],[68400,1],[68399,1],[68398,1],[68398,0,"v"],[68399,0,"a"],[68400,0,"l"],[68401,0,"i"],[68402,0,"d"],[68403,0," "],[68404,0,"e"],[68405,0,"x"],[68406,0,"e"],[68407,0,"c"],[68408,0,"u"],[68409,0,"t"],[68410,0,"i"],[68411,0,"o"],[68412,0,"n"],[68413,0,"s"],[68414,0," "],[68415,0,"t"],[68416,0,"o"],[68417,0," "],[68418,0,"t"],[68419,0,"h"],[68420,0,"o"],[68421,0,"s"],[68422,0,"e"],[68423,0," "],[68424,0,"t"],[68425,0,"h"],[68426,0,"a"],[68427,0,"t"],[68428,0," "],[68429,0,"d"],[68430,0,"o"],[68431,0," "],[68432,0,"n"],[68433,0,"o"],[68434,0,"t"],[68435,0," "],[68436,0,"g"],[68437,0,"e"],[68438,0,"t"],[68439,0," "],[68440,0,"s"],[68441,0,"t"],[68442,0,"u"],[68443,0,"c"],[68444,0,"k"],[68445,0,","],[68446,0," "],[68447,0,"w"],[68448,0,"e"],[68449,0," "],[68450,0,"e"],[68451,0,"n"],[68452,0,"s"],[68381,0," "],[68382,0,"("],[68383,0,"I"],[68384,0,"n"],[68385,0," "],[68386,0,"a"],[68387,0," "],[68388,0,"r"],[68389,0,"e"],[68390,0,"a"],[68391,0,"l"],[68392,0," "],[68393,0,"i"],[68394,0,"m"],[68395,0,"p"],[68396,0,"l"],[68397,0,"e"],[68398,0,"m"],[68399,0,"e"],[68400,0,"n"],[68401,0,"t"],[68402,0,"a"],[68403,0,"t"],[68404,0,"i"],[68405,0,"o"],[68406,0,"n"],[68407,0," "],[68408,0,"t"],[68409,0,"h"],[68410,0,"i"],[68411,0,"s"],[68412,0," "],[68413,0,"w"],[68414,0,"o"],[68415,0,"u"],[68416,0,"l"],[68417,0,"d"],[68418,0," "],[68419,0,"b"],[68420,0,"e"],[68421,0," "],[68422,0,"a"],[68423,0," "],[68424,0,"r"],[68425,0,"u"],[68426,0,"n"],[68427,0,"t"],[68428,0,"i"],[68429,0,"m"],[68430,0,"e"],[68431,0," "],[68432,0,"e"],[68433,0,"r"],[68434,0,"r"],[68435,0,"o"],[68436,0,"r"],[68437,0,"."],[68383,1],[68382,1],[68381,1],[68380,1],[68380,0,";"],[68381,0," "],[68382,0,"i"],[68437,0," "],[68437,1],[68509,0,"u"],[68510,0,"r"],[68511,0,"e"],[68512,0," "],[68513,0,"t"],[68514,0,"h"],[68515,0,"a"],[68516,0,"t"],[68517,0," "],[68518,0,"o"],[68519,0,"p"],[68520,0,"e"],[68521,0,"r"],[68522,0,"a"],[68523,0,"t"],[68524,0,"i"],[68525,0,"o"],[68526,0,"n"],[68527,0,"s"],[68528,0," "],[68529,0,"o"],[68530,0,"n"],[68531,0,"l"],[68532,0,"y"],[68533,0," "],[68534,0,"r"],[68535,0,"e"],[68536,0,"f"],[68537,0,"e"],[68538,0,"r"],[68539,0," "],[68540,0,"t"],[68541,0,"o"],[68542,0," "],[68543,0,"l"],[68544,0,"i"],[68545,0,"s"],[68546,0,"t"],[68547,0," "],[68548,0,"e"],[68549,0,"l"],[68550,0,"e"],[68551,0,"m"],[68552,0,"e"],[68553,0,"n"],[68554,0,"t"],[68555,0,"s"],[68556,0," "],[68557,0,"t"],[68558,0,"h"],[68559,0,"a"],[68560,0,"t"],[68561,0," "],[68562,0,"a"],[68563,0,"c"],[68564,0,"t"],[68565,0,"u"],[68566,0,"a"],[68567,0,"l"],[68568,0,"l"],[68569,0,"y"],[68570,0," "],[68571,0,"e"],[68572,0,"x"],[68573,0,"i"],[68574,0,"s"],[68575,0,"t"],[68576,0,"."],[68577,0,"\n"],[68578,0,"\n"],[68579,0,"\\"],[68580,0,"b"],[68581,0,"e"],[68582,0,"g"],[68583,0,"i"],[68584,0,"n"],[68585,0,"{"],[68586,0,"d"],[68587,0,"e"],[68588,0,"f"],[68589,0,"i"],[68590,0,"n"],[68591,0,"i"],[68592,0,"t"],[68593,0,"i"],[68594,0,"o"],[68595,0,"n"],[68596,0,"}"],[68597,0,"\n"],[68598,0,"A"],[68599,0," "],[68600,0,"\\"],[68601,0,"e"],[68602,0,"m"],[68603,0,"p"],[68604,0,"h"],[68605,0,"{"],[68606,0,"h"],[68607,0,"i"],[68608,0,"s"],[68609,0,"t"],[68610,0,"o"],[68611,0,"r"],[68612,0,"y"],[68613,0,"}"],[68614,0," "],[68615,0,"\n"],[68616,0,"\\"],[68617,0,"e"],[68618,0,"n"],[68619,0,"d"],[68620,0,"{"],[68621,0,"d"],[68622,0,"e"],[68623,0,"f"],[68624,0,"i"],[68625,0,"n"],[68626,0,"i"],[68627,0,"t"],[68628,0,"i"],[68629,0,"o"],[68630,0,"n"],[68631,0,"}"],[68615,0,"i"],[68616,0,"s"],[68617,0," "],[68618,0,"t"],[68619,0,"h"],[68620,0,"e"],[68621,0," "],[68622,0,"s"],[68623,0,"e"],[68624,0,"q"],[68625,0,"u"],[68626,0,"e"],[68627,0,"n"],[68628,0,"c"],[68629,0,"e"],[68630,0," "],[68631,0,"o"],[68632,0,"f"],[68633,0," "],[68634,0,"o"],[68620,1],[68619,1],[68618,1],[68618,0,"a"],[68633,0,"p"],[68634,0,"e"],[68635,0,"r"],[68636,0,"a"],[68637,0,"t"],[68638,0,"i"],[68639,0,"o"],[68640,0,"n"],[68641,0,"s"],[68642,0," "],[68643,0,"i"],[68644,0,"n"],[68645,0," "],[68646,0,"t"],[68647,0,"h"],[68648,0,"e"],[68649,0," "],[68650,0,"o"],[68651,0,"r"],[68652,0,"d"],[68653,0,"e"],[68654,0,"r"],[68655,0," "],[68656,0,"i"],[68657,0,"t"],[68658,0," "],[68659,0,"w"],[68660,0,"a"],[68661,0,"s"],[68662,0," "],[68663,0,"a"],[68664,0,"p"],[68665,0,"p"],[68666,0,"l"],[68667,0,"i"],[68668,0,"e"],[68669,0,"d"],[68670,0," "],[68671,0,"a"],[68672,0,"t"],[68673,0," "],[68674,0,"o"],[68675,0,"n"],[68676,0,"e"],[68677,0," "],[68678,0,"p"],[68679,0,"a"],[68680,0,"r"],[68681,0,"t"],[68682,0,"i"],[68683,0,"c"],[68684,0,"u"],[68685,0,"l"],[68686,0,"a"],[68687,0,"r"],[68688,0," "],[68689,0,"r"],[68690,0,"e"],[68691,0,"p"],[68692,0,"l"],[68693,0,"i"],[68694,0,"c"],[68695,0,"a"],[68696,0," "],[68697,0,"$"],[68698,0,"p"],[68699,0,"$"],[68700,0,"."],[68700,0,","],[68701,0," "],[68702,0,"b"],[68703,0,"y"],[68704,0," "],[68705,0,"a"],[68706,0,"p"],[68707,0,"p"],[68708,0,"l"],[68709,0,"i"],[68710,0,"c"],[68711,0,"a"],[68712,0,"t"],[68713,0,"i"],[68714,0,"o"],[68715,0,"n"],[68716,0," "],[68717,0,"o"],[68718,0,"f"],[68719,0," "],[68720,0,"t"],[68721,0,"h"],[68722,0,"e"],[68723,0," "],[68724,0,"r"],[68725,0,"u"],[68726,0,"l"],[68727,0,"e"],[68728,0,"s"],[68729,0," "],[68730,0,"\\"],[68731,0,"t"],[68732,0,"e"],[68733,0,"x"],[68734,0,"t"],[68735,0,"s"],[68736,0,"c"],[68737,0,"{"],[68738,0,"A"],[68739,0,"p"],[68740,0,"p"],[68741,0,"l"],[68742,0,"y"],[68743,0,"-"],[68744,0,"L"],[68745,0,"o"],[68746,0,"c"],[68747,0,"a"],[68748,0,"l"],[68749,0,"}"],[68750,0," "],[68751,0,"a"],[68752,0,"n"],[68753,0,"d"],[68754,0," "],[68755,0,"\\"],[68756,0,"t"],[68757,0,"e"],[68758,0,"x"],[68759,0,"t"],[68760,0,"s"],[68761,0,"c"],[68762,0,"{"],[68763,0,"A"],[68764,0,"p"],[68765,0,"p"],[68766,0,"l"],[68767,0,"y"],[68768,0,"-"],[68769,0,"R"],[68770,0,"e"],[68771,0,"m"],[68772,0,"o"],[68773,0,"t"],[68774,0,"e"],[68775,0,"}"],[68794,0,"\n"],[68795,0,"\n"],[68796,0,"N"],[68796,1],[68796,0,"E"],[68797,0,"v"],[68798,0,"e"],[68799,0,"n"],[68800,0," "],[68801,0,"i"],[68802,0,"f"],[68803,0," "],[68804,0,"t"],[68805,0,"w"],[68806,0,"o"],[68807,0," "],[68808,0,"r"],[68809,0,"e"],[68810,0,"p"],[68811,0,"l"],[68812,0,"i"],[68813,0,"c"],[68814,0,"a"],[68815,0,"s"],[68816,0," "],[68817,0,"a"],[68818,0,"p"],[68819,0,"p"],[68820,0,"l"],[68821,0,"i"],[68822,0,"e"],[68823,0,"d"],[68824,0," "],[68825,0,"t"],[68826,0,"h"],[68827,0,"e"],[68828,0," "],[68829,0,"s"],[68830,0,"a"],[68831,0,"m"],[68832,0,"e"],[68833,0," "],[68834,0,"s"],[68835,0,"e"],[68836,0,"t"],[68837,0," "],[68838,0,"o"],[68839,0,"f"],[68840,0," "],[68841,0,"o"],[68842,0,"p"],[68843,0,"e"],[68844,0,"r"],[68845,0,"a"],[68846,0,"t"],[68847,0,"i"],[68848,0,"o"],[68849,0,"n"],[68850,0,"s"],[68816,0," "],[68817,0,"$"],[68818,0,"p"],[68819,0,"$"],[68820,0," "],[68821,0,"a"],[68822,0,"n"],[68823,0,"d"],[68824,0," "],[68825,0,"$"],[68826,0,"q"],[68827,0,"$"],[68863,0,","],[68864,0," "],[68865,0,"i"],[68866,0,"."],[68867,0,"e"],[68868,0,"."],[68869,0," "],[68870,0,"$"],[68871,0,"A"],[68872,0,"_"],[68873,0,"p"],[68874,0,"("],[68875,0,"\\"],[68876,0,"m"],[68877,0,"a"],[68878,0,"t"],[68879,0,"h"],[68880,0,"s"],[68881,0,"f"],[68882,0,"{"],[68883,0,"o"],[68884,0,"p"],[68885,0,"s"],[68886,0,"}"],[68887,0,")"],[68888,0," "],[68889,0,"="],[68890,0," "],[68891,0,"A"],[68892,0,"_"],[68893,0,"q"],[68894,0,"("],[68895,0,"\\"],[68896,0,"m"],[68897,0,"a"],[68898,0,"t"],[68899,0,"h"],[68900,0,"s"],[68901,0,"f"],[68902,0,"{"],[68903,0,"o"],[68904,0,"p"],[68905,0,"s"],[68906,0,"}"],[68907,0,")"],[68908,0,"$"],[68909,0,","],[68910,0," "],[68911,0,"t"],[68912,0,"h"],[68913,0,"e"],[68914,0,"y"],[68915,0," "],[68916,0,"m"],[68917,0,"a"],[68918,0,"y"],[68919,0," "],[68920,0,"h"],[68921,0,"a"],[68922,0,"v"],[68923,0,"e"],[68924,0," "],[68925,0,"a"],[68926,0,"p"],[68927,0,"p"],[68928,0,"l"],[68929,0,"i"],[68930,0,"e"],[68931,0,"d"],[68932,0," "],[68933,0,"t"],[68934,0,"h"],[68935,0,"e"],[68936,0," "],[68937,0,"o"],[68938,0,"p"],[68939,0,"e"],[68940,0,"r"],[68941,0,"a"],[68942,0,"t"],[68943,0,"i"],[68944,0,"o"],[68945,0,"n"],[68946,0,"s"],[68947,0," "],[68948,0,"i"],[68949,0,"n"],[68950,0," "],[68951,0,"a"],[68952,0," "],[68953,0,"d"],[68954,0,"i"],[68955,0,"f"],[68956,0,"f"],[68957,0,"e"],[68958,0,"r"],[68959,0,"e"],[68960,0,"n"],[68961,0,"t"],[68962,0," "],[68963,0,"o"],[68964,0,"r"],[68965,0,"d"],[68966,0,"e"],[68967,0,"r"],[68968,0,"."],[68935,1],[68934,1],[68933,1],[68933,0,"a"],[68934,0,"n"],[68935,0,"y"],[68936,0," "],[68937,0,"c"],[68938,0,"o"],[68939,0,"n"],[68940,0,"c"],[68941,0,"u"],[68942,0,"r"],[68943,0,"r"],[68944,0,"e"],[68945,0,"n"],[68946,0,"t"],[68869,0," "],[68870,0,"i"],[68871,0,"f"],[68577,0," "],[68577,1],[68577,0,"\n"],[68578,0,"\n"],[68579,0,"N"],[68580,0,"o"],[68581,0,"t"],[68582,0,"e"],[68583,0," "],[68584,0,"t"],[68585,0,"h"],[68586,0,"a"],[68587,0,"t"],[68588,0," "],[68589,0,"i"],[68590,0,"t"],[68591,0," "],[68592,0,"i"],[68593,0,"s"],[68594,0," "],[68595,0,"v"],[68596,0,"a"],[68597,0,"l"],[68598,0,"i"],[68599,0,"d"],[68600,0," "],[68601,0,"f"],[68602,0,"o"],[68603,0,"r"],[68604,0," "],[68605,0,"a"],[68606,0,"n"],[68607,0," "],[68608,0,"e"],[68609,0,"x"],[68610,0,"e"],[68611,0,"c"],[68612,0,"u"],[68613,0,"t"],[68614,0,"i"],[68615,0,"o"],[68616,0,"n"],[68617,0," "],[68618,0,"t"],[68619,0,"o"],[68620,0," "],[68621,0,"n"],[68622,0,"e"],[68623,0,"v"],[68624,0,"e"],[68625,0,"r"],[68626,0," "],[68627,0,"p"],[68628,0,"e"],[68629,0,"r"],[68630,0,"f"],[68631,0,"o"],[68632,0,"r"],[68633,0,"m"],[68634,0," "],[68635,0,"a"],[68636,0,"n"],[68637,0,"y"],[68638,0," "],[68639,0,"n"],[68640,0,"e"],[68641,0,"t"],[68642,0,"w"],[68643,0,"o"],[68644,0,"r"],[68645,0,"k"],[68646,0," "],[68647,0,"c"],[68648,0,"o"],[68649,0,"m"],[68650,0,"m"],[68651,0,"u"],[68652,0,"n"],[68653,0,"i"],[68654,0,"c"],[68655,0,"a"],[68656,0,"t"],[68657,0,"i"],[68658,0,"o"],[68659,0,"n"],[68660,0,","],[68661,0," "],[68662,0,"e"],[68663,0,"i"],[68664,0,"t"],[68665,0,"h"],[68666,0,"e"],[68667,0,"r"],[68668,0," "],[68669,0,"b"],[68670,0,"e"],[68671,0,"c"],[68672,0,"a"],[68673,0,"u"],[68674,0,"s"],[68675,0,"e"],[68676,0," "],[68677,0,"i"],[68678,0,"t"],[68679,0," "],[68680,0,"n"],[68681,0,"e"],[68682,0,"v"],[68683,0,"e"],[68684,0,"r"],[68685,0," "],[68686,0,"u"],[68687,0,"s"],[68688,0,"e"],[68689,0,"s"],[68690,0," "],[68691,0,"t"],[68691,1],[68690,1],[68689,1],[68688,1],[68687,1],[68686,1],[68686,0,"i"],[68687,0,"n"],[68688,0,"v"],[68689,0,"o"],[68690,0,"k"],[68691,0,"e"],[68692,0,"s"],[68693,0," "],[68694,0,"t"],[68695,0,"h"],[68696,0,"e"],[68697,0," "],[68698,0,"\\"],[68699,0,"t"],[68700,0,"e"],[68701,0,"x"],[68702,0,"t"],[68703,0,"s"],[68704,0,"f"],[68705,0,"{"],[68706,0,"y"],[68707,0,"i"],[68708,0,"e"],[68709,0,"l"],[68710,0,"d"],[68711,0,"}"],[68712,0," "],[68713,0,"c"],[68714,0,"o"],[68715,0,"m"],[68716,0,"m"],[68717,0,"a"],[68718,0,"n"],[68719,0,"d"],[68720,0,","],[68721,0," "],[68722,0,"o"],[68723,0,"r"],[68724,0," "],[68725,0,"b"],[68726,0,"e"],[68727,0,"c"],[68728,0,"a"],[68729,0,"u"],[68730,0,"s"],[68731,0,"e"],[68732,0," "],[68733,0,"t"],[68734,0,"h"],[68735,0,"e"],[68736,0," "],[68737,0,"n"],[68738,0,"o"],[68739,0,"n"],[68740,0,"d"],[68741,0,"e"],[68742,0,"t"],[68743,0,"e"],[68744,0,"r"],[68745,0,"m"],[68746,0,"i"],[68747,0,"n"],[68748,0,"i"],[68749,0,"s"],[68750,0,"t"],[68751,0,"i"],[68752,0,"c"],[68753,0," "],[68754,0,"e"],[68755,0,"x"],[68756,0,"e"],[68757,0,"c"],[68758,0,"u"],[68759,0,"t"],[68760,0,"i"],[68761,0,"o"],[68762,0,"n"],[68763,0," "],[68764,0,"o"],[68765,0,"f"],[68766,0," "],[68767,0,"\\"],[68768,0,"t"],[68769,0,"e"],[68770,0,"x"],[68771,0,"t"],[68772,0,"s"],[68773,0,"f"],[68774,0,"{"],[68775,0,"y"],[68776,0,"i"],[68777,0,"e"],[68778,0,"l"],[68779,0,"d"],[68780,0,"}"],[68781,0," "],[68782,0,"n"],[68783,0,"e"],[68784,0,"v"],[68785,0,"e"],[68786,0,"r"],[68787,0," "],[68788,0,"a"],[68789,0,"p"],[68790,0,"p"],[68791,0,"l"],[68792,0,"i"],[68793,0,"e"],[68794,0,"s"],[68795,0," "],[68796,0,"t"],[68797,0,"h"],[68798,0,"e"],[68799,0," "],[68800,0,"\\"],[68801,0,"t"],[68802,0,"e"],[68803,0,"x"],[68804,0,"t"],[68805,0,"s"],[68806,0,"c"],[68807,0,"{"],[68808,0,"R"],[68809,0,"e"],[68810,0,"c"],[68811,0,"v"],[68812,0,"}"],[68813,0," "],[68814,0,"r"],[68815,0,"u"],[68816,0,"l"],[68817,0,"e"],[68818,0,"."],[68819,0," "],[68820,0,"T"],[68821,0,"h"],[68822,0,"u"],[68823,0,"s"],[68824,0,","],[68825,0," "],[68826,0,"w"],[68827,0,"h"],[68828,0,"e"],[68829,0,"t"],[68830,0,"h"],[68831,0,"e"],[68832,0,"r"],[68833,0," "],[68833,1],[68832,1],[68831,1],[68830,1],[68829,1],[68828,1],[68827,1],[68827,0,"e"],[68828,0," "],[68829,0,"c"],[68830,0,"a"],[68831,0,"n"],[68832,0," "],[68833,0,"c"],[68834,0,"h"],[68835,0,"e"],[68836,0,"c"],[68837,0,"k"],[68838,0," "],[68839,0,"w"],[68840,0,"h"],[68841,0,"e"],[68842,0,"t"],[68843,0,"h"],[68844,0,"e"],[68845,0,"r"],[68846,0," "],[68847,0,"r"],[68848,0,"e"],[68849,0,"d"],[68850,0,"u"],[68851,0,"c"],[68852,0,"t"],[68853,0,"i"],[68854,0,"n"],[68855,0,"o"],[68856,0," "],[68856,1],[68855,1],[68854,1],[68854,0,"o"],[68855,0,"n"],[68856,0," "],[68826,1],[68825,1],[68824,1],[68823,1],[68822,1],[68821,1],[68820,1],[68820,0,"W"],[68831,1],[68830,1],[68829,1],[68828,1],[68827,1],[68826,1],[68825,1],[68824,1],[68823,1],[68823,0,"n"],[68824,0,"e"],[68825,0,"e"],[68826,0,"d"],[68827,0," "],[68828,0,"o"],[68829,0,"n"],[68830,0,"l"],[68831,0,"y"],[68832,0," "],[68833,0,"a"],[68834,0," "],[68835,0,"r"],[68836,0,"e"],[68837,0,"p"],[68838,0,"l"],[68839,0,"i"],[68840,0,"c"],[68841,0,"a"],[68842,0,"'"],[68843,0,"s"],[68844,0," "],[68845,0,"l"],[68846,0,"o"],[68847,0,"c"],[68848,0,"a"],[68849,0,"l"],[68850,0," "],[68851,0,"s"],[68852,0,"t"],[68853,0,"a"],[68854,0,"t"],[68855,0,"e"],[68856,0," "],[68857,0,"t"],[68858,0,"o"],[68859,0," "],[68860,0,"d"],[68861,0,"e"],[68862,0,"t"],[68863,0,"e"],[68864,0,"r"],[68865,0,"m"],[68866,0,"i"],[68867,0,"n"],[68868,0,"e"],[68888,0,"g"],[68889,0,"e"],[68890,0,"t"],[68891,0,"s"],[68892,0," "],[68893,0,"s"],[68894,0,"t"],[68895,0,"u"],[68896,0,"c"],[68897,0,"k"],[68898,0,"."],[69305,0," "],[69306,0,"S"],[69307,0,"i"],[69308,0,"n"],[69309,0,"c"],[69310,0,"e"],[69311,0," "],[69312,0,"t"],[69313,0,"h"],[69314,0,"e"],[69315,0," "],[69316,0,"e"],[69317,0,"v"],[69318,0,"a"],[69319,0,"l"],[69320,0,"u"],[69321,0,"a"],[69322,0,"t"],[69323,0,"i"],[69324,0,"o"],[69325,0,"n"],[69326,0," "],[69327,0,"r"],[69328,0,"u"],[69329,0,"l"],[69330,0,"e"],[69331,0,"s"],[69332,0," "],[69333,0,"s"],[69334,0,"e"],[69335,0,"q"],[69336,0,"u"],[69337,0,"e"],[69338,0,"n"],[69339,0,"t"],[69340,0,"i"],[69341,0,"a"],[69342,0,"l"],[69343,0,"l"],[69344,0,"y"],[69345,0," "],[69346,0,"a"],[69347,0,"p"],[69348,0,"p"],[69349,0,"l"],[69350,0,"y"],[69351,0," "],[69352,0,"o"],[69353,0,"n"],[69354,0,"e"],[69355,0," "],[69356,0,"o"],[69357,0,"p"],[69358,0,"e"],[69359,0,"r"],[69360,0,"a"],[69361,0,"t"],[69362,0,"i"],[69363,0,"o"],[69364,0,"n"],[69365,0," "],[69366,0,"a"],[69367,0,"t"],[69368,0," "],[69369,0,"a"],[69370,0," "],[69371,0,"t"],[69372,0,"i"],[69373,0,"m"],[69374,0,"e"],[69375,0," "],[69305,0," "],[69306,0,"D"],[69307,0,"u"],[69308,0,"e"],[69309,0," "],[69310,0,"t"],[69311,0,"o"],[69312,0," "],[69313,0,"t"],[69314,0,"h"],[69315,0,"e"],[69316,0," "],[69317,0,"p"],[69318,0,"r"],[69319,0,"e"],[69320,0,"m"],[69321,0,"i"],[69322,0,"s"],[69323,0,"e"],[69324,0," "],[69325,0,"$"],[69326,0,"\\"],[69327,0,"m"],[69328,0,"a"],[69329,0,"t"],[69330,0,"h"],[69331,0,"i"],[69332,0,"t"],[69333,0,"{"],[69334,0,"o"],[69335,0,"p"],[69336,0,"."],[69337,0,"i"],[69338,0,"d"],[69338,1],[69337,1],[69337,0,"d"],[69338,0,"e"],[69339,0,"p"],[69340,0,"s"],[69341,0,"}"],[69342,0," "],[69343,0,"\\"],[69344,0,"s"],[69345,0,"u"],[69346,0,"b"],[69347,0,"s"],[69348,0,"e"],[69349,0,"t"],[69350,0,"e"],[69351,0,"q"],[69352,0," "],[69353,0,"A"],[69354,0,"_"],[69355,0,"p"],[69356,0,"("],[69357,0,"\\"],[69358,0,"m"],[69359,0,"a"],[69360,0,"t"],[69361,0,"h"],[69362,0,"s"],[69363,0,"f"],[69364,0,"{"],[69365,0,"o"],[69366,0,"p"],[69367,0,"s"],[69368,0,"}"],[69369,0,")"],[69370,0,"$"],[69371,0," "],[69372,0,"i"],[69373,0,"n"],[69374,0," "],[69375,0,"\\"],[69376,0,"t"],[69377,0,"e"],[69378,0,"x"],[69379,0,"t"],[69380,0,"s"],[69381,0,"c"],[69382,0,"{"],[69383,0,"A"],[69384,0,"p"],[69385,0,"p"],[69386,0,"l"],[69387,0,"y"],[69388,0,"-"],[69389,0,"R"],[69390,0,"e"],[69391,0,"m"],[69392,0,"o"],[69393,0,"t"],[69394,0,"e"],[69395,0,"}"],[69305,0," "],[69306,0,"S"],[69307,0,"i"],[69308,0,"n"],[69309,0,"c"],[69310,0," "],[69311,0,"e"],[69312,0,"t"],[69313,0,"h"],[69313,1],[69312,1],[69311,1],[69310,1],[69310,0,"e"],[69311,0," "],[69312,0,"t"],[69313,0,"h"],[69314,0,"e"],[69315,0," "],[69316,0,"e"],[69317,0,"v"],[69318,0,"a"],[69319,0,"l"],[69320,0,"u"],[69321,0,"a"],[69322,0,"t"],[69323,0,"i"],[69324,0,"o"],[69325,0,"n"],[69326,0," "],[69327,0,"r"],[69328,0,"u"],[69329,0,"l"],[69330,0,"e"],[69331,0,"s"],[69332,0," "],[69333,0,"s"],[69334,0,"e"],[69335,0,"q"],[69336,0,"u"],[69337,0,"e"],[69338,0,"n"],[69339,0,"t"],[69340,0,"i"],[69341,0,"a"],[69342,0,"l"],[69343,0,"l"],[69344,0,"y"],[69345,0," "],[69346,0,"a"],[69347,0,"p"],[69348,0,"p"],[69349,0,"l"],[69350,0,"y"],[69351,0," "],[69352,0,"o"],[69353,0,"n"],[69354,0,"e"],[69355,0," "],[69356,0,"o"],[69357,0,"p"],[69358,0,"e"],[69359,0,"r"],[69360,0,"a"],[69361,0,"t"],[69362,0,"i"],[69363,0,"o"],[69364,0,"n"],[69365,0," "],[69366,0,"a"],[69367,0,"t"],[69368,0," "],[69369,0,"a"],[69370,0," "],[69371,0,"t"],[69372,0,"i"],[69373,0,"m"],[69374,0,"e"],[69375,0,","],[69376,0," "],[69377,0,"t"],[69378,0,"h"],[69379,0,"e"],[69380,0," "],[69381,0,"o"],[69382,0,"r"],[69383,0,"d"],[69384,0,"e"],[69385,0,"r"],[69386,0," "],[69387,0,"i"],[69388,0,"s"],[69389,0," "],[69390,0,"w"],[69391,0,"e"],[69392,0,"l"],[69393,0,"l"],[69394,0,"-"],[69395,0,"d"],[69396,0,"e"],[69397,0,"f"],[69398,0,"i"],[69399,0,"n"],[69400,0,"e"],[69401,0,"d"],[69402,0,"."],[69564,1],[69563,1],[69562,1],[69561,1],[69560,1],[69559,1],[69558,1],[69557,1],[69556,1],[69555,1],[69554,1],[69553,1],[69552,1],[69551,1],[69550,1],[69549,1],[69548,1],[69547,1],[69546,1],[69545,1],[69544,1],[69543,1],[69542,1],[69541,1],[69540,1],[69539,1],[69538,1],[69537,1],[69536,1],[69535,1],[69534,1],[69533,1],[69532,1],[69531,1],[69530,1],[69529,1],[69528,1],[69527,1],[69526,1],[69525,1],[69524,1],[69523,1],[69522,1],[69521,1],[69520,1],[69519,1],[69518,1],[69517,1],[69516,1],[69515,1],[69514,1],[69513,1],[69512,1],[69511,1],[69510,1],[69509,1],[69508,1],[69507,1],[69506,1],[69505,1],[69504,1],[69503,1],[69502,1],[69501,1],[69500,1],[69499,1],[69498,1],[69497,1],[69496,1],[69495,1],[69494,1],[69494,0,","],[69495,0," "],[69496,0,"t"],[69497,0,"h"],[69498,0,"e"],[69499,0," "],[69500,0,"o"],[69501,0,"r"],[69502,0,"d"],[69503,0,"e"],[69504,0,"r"],[69505,0," "],[69506,0,"i"],[69507,0,"s"],[69508,0," "],[69509,0,"c"],[69510,0,"o"],[69511,0,"n"],[69512,0,"s"],[69513,0,"i"],[69514,0,"s"],[69515,0,"t"],[69516,0,"e"],[69517,0,"n"],[69518,0,"t"],[69519,0," "],[69520,0,"w"],[69521,0,"i"],[69522,0,"t"],[69523,0,"h"],[69524,0," "],[69525,0,"c"],[69526,0,"a"],[69527,0,"u"],[69528,0,"s"],[69529,0,"a"],[69530,0,"l"],[69531,0,"i"],[69532,0,"t"],[69533,0,"y"],[69534,0," "],[69535,0,"("],[69504,1],[69503,1],[69502,1],[69501,1],[69500,1],[69499,1],[69498,1],[69497,1],[69496,1],[69496,0,"a"],[69497,0,"n"],[69498,0,"y"],[69499,0," "],[69500,0,"h"],[69501,0,"i"],[69502,0,"s"],[69503,0,"t"],[69504,0,"o"],[69505,0,"r"],[69506,0,"y"],[69022,1],[69117,0,"S"],[69118,0,"i"],[69119,0,"n"],[69120,0,"c"],[69121,0,"e"],[69122,0," "],[69123,0,"t"],[69124,0,"h"],[69125,0,"e"],[69126,0," "],[69127,0,"e"],[69128,0,"v"],[69129,0,"a"],[69130,0,"l"],[69131,0,"u"],[69132,0,"a"],[69133,0,"t"],[69134,0,"i"],[69135,0,"o"],[69136,0,"n"],[69137,0," "],[69138,0,"r"],[69139,0,"u"],[69140,0,"l"],[69141,0,"e"],[69142,0,"s"],[69143,0," "],[69144,0,"s"],[69145,0,"e"],[69146,0,"q"],[69147,0,"u"],[69148,0,"e"],[69149,0,"n"],[69150,0,"t"],[69151,0,"i"],[69152,0,"a"],[69152,1],[69152,0,"a"],[69153,0,"l"],[69154,0,"l"],[69155,0,"y"],[69156,0," "],[69157,0,"a"],[69158,0,"p"],[69159,0,"p"],[69160,0,"l"],[69161,0,"y"],[69162,0," "],[69163,0,"o"],[69164,0,"n"],[69165,0,"e"],[69166,0," "],[69167,0,"o"],[69168,0,"p"],[69169,0,"e"],[69170,0,"r"],[69171,0,"a"],[69172,0,"t"],[69173,0,"i"],[69174,0,"o"],[69175,0,"n"],[69176,0," "],[69177,0,"a"],[69178,0,"t"],[69179,0," "],[69180,0,"a"],[69181,0," "],[69182,0,"t"],[69183,0,"i"],[69184,0,"m"],[69185,0,"e"],[69186,0,","],[69187,0," "],[69188,0,"t"],[69189,0,"h"],[69190,0,"e"],[69191,0," "],[69192,0,"o"],[69193,0,"r"],[69194,0,"d"],[69195,0,"e"],[69196,0,"r"],[69197,0," "],[69198,0,"i"],[69199,0,"s"],[69200,0," "],[69201,0,"w"],[69202,0,"e"],[69203,0,"l"],[69204,0,"l"],[69205,0,"-"],[69206,0,"d"],[69207,0,"e"],[69208,0,"f"],[69209,0,"i"],[69210,0,"n"],[69211,0,"e"],[69212,0,"d"],[69213,0,"."],[69214,0," "],[69500,1],[69499,1],[69498,1],[69497,1],[69496,1],[69495,1],[69494,1],[69493,1],[69492,1],[69491,1],[69490,1],[69489,1],[69488,1],[69487,1],[69486,1],[69485,1],[69484,1],[69483,1],[69482,1],[69481,1],[69480,1],[69479,1],[69478,1],[69477,1],[69476,1],[69475,1],[69474,1],[69473,1],[69472,1],[69471,1],[69470,1],[69469,1],[69468,1],[69467,1],[69466,1],[69465,1],[69464,1],[69463,1],[69462,1],[69461,1],[69460,1],[69459,1],[69458,1],[69457,1],[69456,1],[69455,1],[69454,1],[69453,1],[69452,1],[69451,1],[69450,1],[69449,1],[69448,1],[69447,1],[69446,1],[69445,1],[69444,1],[69443,1],[69442,1],[69441,1],[69440,1],[69439,1],[69438,1],[69437,1],[69436,1],[69435,1],[69434,1],[69433,1],[69432,1],[69431,1],[69430,1],[69429,1],[69428,1],[69427,1],[69426,1],[69425,1],[69424,1],[69423,1],[69422,1],[69421,1],[69420,1],[69419,1],[69418,1],[69417,1],[69416,1],[69415,1],[69414,1],[69413,1],[69412,1],[69411,1],[69410,1],[69409,1],[69408,1],[69407,1],[69406,1],[69405,1],[69404,1],[69403,1],[69537,0,"e"],[69538,0,"v"],[69539,0,"e"],[69540,0,"r"],[69541,0,"y"],[69542,0," "],[69543,0,"o"],[69544,0,"p"],[69545,0,"e"],[69546,0,"r"],[69547,0,"a"],[69548,0,"t"],[69549,0,"i"],[69550,0,"o"],[69551,0,"n"],[69552,0," "],[69553,0,"a"],[69554,0,"p"],[69555,0,"p"],[69556,0,"e"],[69557,0,"a"],[69558,0,"r"],[69559,0,"s"],[69581,0," "],[69582,0,"a"],[69583,0,"n"],[69584,0,"d"],[69585,0," "],[69586,0,"f"],[69587,0,"u"],[69588,0,"r"],[69589,0,"t"],[69590,0,"h"],[69591,0,"e"],[69592,0,"r"],[69593,0," "],[69594,0,"w"],[69595,0,"o"],[69596,0,"r"],[69597,0,"k"],[69559,1],[69558,1],[69557,1],[69556,1],[69555,1],[69554,1],[69553,1],[69552,1],[69551,1],[69541,1],[69540,1],[69539,1],[69538,1],[69537,1],[69537,0,"i"],[69538,0,"f"],[69539,0," "],[69540,0,"a"],[69541,0,"n"],[69551,0,"n"],[69552,0," "],[69553,0,"h"],[69554,0,"a"],[69555,0,"s"],[69556,0," "],[69557,0,"c"],[69558,0,"a"],[69559,0,"u"],[69560,0,"s"],[69561,0,"a"],[69562,0,"l"],[69563,0," "],[69564,0,"d"],[69565,0,"e"],[69566,0,"p"],[69567,0,"e"],[69568,0,"n"],[69569,0,"d"],[69570,0,"e"],[69571,0,"n"],[69572,0,"c"],[69573,0,"i"],[69574,0,"e"],[69575,0,"s"],[69576,0,","],[69577,0," "],[69578,0,"i"],[69579,0,"t"],[69580,0," "],[69581,0,"a"],[69582,0,"p"],[69583,0,"p"],[69584,0,"e"],[69585,0,"a"],[69586,0,"r"],[69587,0,"s"],[69588,0," "],[69589,0,"a"],[69590,0,"t"],[69591,0," "],[69592,0,"s"],[69593,0,"o"],[69594,0,"m"],[69595,0,"e"],[69596,0," "],[69597,0,"p"],[69598,0,"o"],[69599,0,"i"],[69600,0,"n"],[69601,0,"t"],[69602,0," "],[69603,0,"a"],[69604,0,"f"],[69605,0,"t"],[69606,0,"e"],[69607,0,"r"],[69608,0," "],[69609,0,"t"],[69610,0,"h"],[69611,0,"o"],[69612,0,"s"],[69613,0,"e"],[69614,0," "],[69615,0,"d"],[69616,0,"e"],[69617,0,"p"],[69618,0,"e"],[69619,0,"n"],[69620,0,"d"],[69621,0,"e"],[69622,0,"n"],[69623,0,"c"],[69624,0,"i"],[69625,0,"e"],[69626,0,"s"],[69627,0," "],[69628,0,"i"],[69629,0,"n"],[69630,0," "],[69631,0,"t"],[69632,0,"h"],[69633,0,"e"],[69634,0," "],[69635,0,"h"],[69636,0,"i"],[69637,0,"s"],[69638,0,"t"],[69639,0,"o"],[69640,0,"r"],[69641,0,"y"],[69642,0,")"],[69643,0,"."],[68175,0,"t"],[68176,0,"h"],[68177,0,"e"],[68178,0,"r"],[68179,0,"e"],[68180,0," "],[68181,0,"i"],[68182,0,"s"],[68183,0," "],[68184,0,"n"],[68185,0,"o"],[68186,0," "],[68187,0,"a"],[68188,0,"p"],[68189,0,"p"],[68190,0,"l"],[68191,0,"i"],[68192,0,"c"],[68193,0,"a"],[68194,0,"t"],[68195,0,"i"],[68196,0,"o"],[68197,0,"n"],[68198,0," "],[68199,0,"o"],[68200,0,"f"],[68201,0," "],[68202,0,"r"],[68203,0,"u"],[68204,0,"l"],[68205,0,"e"],[68206,0,"s"],[68207,0," "],[68208,0,"i"],[68209,0,"n"],[68210,0," "],[68211,0,"w"],[68212,0,"h"],[68213,0,"i"],[68214,0,"c"],[68215,0,"h"],[68216,0," "],[68218,0,"l"],[68219,0,"l"],[68228,0,"s"],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,1],[68230,0,"a"],[68231,0,"r"],[68232,0,"e"],[68233,0," "],[69543,1],[69542,0,":"],[69649,1],[69650,0,"\n"],[69651,0,"\n"],[69652,0,"\\"],[69653,0,"b"],[69654,0,"e"],[69655,0,"g"],[69656,0,"i"],[69657,0,"n"],[69658,0,"{"],[69659,0,"t"],[69660,0,"h"],[69661,0,"e"],[69662,0,"o"],[69663,0,"r"],[69664,0,"e"],[69665,0,"m"],[69666,0,"*"],[69667,0,"}"],[69668,0,"\n"],[69669,0,"\\"],[69670,0,"e"],[69671,0,"n"],[69672,0,"d"],[69673,0,"{"],[69674,0,"t"],[69675,0,"h"],[69676,0,"e"],[69677,0,"o"],[69678,0,"r"],[69679,0,"e"],[69680,0,"m"],[69681,0,"*"],[69682,0,"}"],[69668,0,"\n"],[69669,0,"F"],[69670,0,"o"],[69671,0,"r"],[69672,0," "],[69673,0,"a"],[69674,0,"n"],[69675,0,"y"],[69676,0," "],[69677,0,"t"],[69678,0,"w"],[69679,0,"o"],[69680,0," "],[69681,0,"r"],[69682,0,"e"],[69683,0,"p"],[69684,0,"l"],[69685,0,"i"],[69686,0,"c"],[69687,0,"a"],[69688,0,"s"],[69689,0," "],[69690,0,"$"],[69691,0,"p"],[69692,0,"$"],[69693,0," "],[69694,0,"a"],[69695,0,"n"],[69696,0,"d"],[69697,0," "],[69698,0,"$"],[69699,0,"q"],[69700,0,"$"],[69701,0," "],[69702,0,"t"],[69703,0,"h"],[69704,0,"a"],[69705,0,"t"],[69706,0," "],[69707,0,"p"],[69708,0,"a"],[69709,0,"r"],[69710,0,"t"],[69711,0,"i"],[69712,0,"c"],[69713,0,"i"],[69714,0,"p"],[69715,0,"a"],[69716,0,"t"],[69717,0,"e"],[69718,0,"d"],[69719,0," "],[69720,0,"i"],[69721,0,"n"],[69722,0," "],[69723,0,"a"],[69724,0," "],[69725,0,"v"],[69726,0,"a"],[69727,0,"l"],[69728,0,"i"],[69729,0,"d"],[69730,0," "],[69731,0,"e"],[69732,0,"x"],[69733,0,"e"],[69734,0,"c"],[69735,0,"u"],[69736,0,"t"],[69737,0,"i"],[69738,0,"o"],[69739,0,"n"],[69740,0,","],[69741,0," "],[69742,0,"i"],[69743,0,"f"],[69744,0," "],[69745,0,"$"],[69746,0,"A"],[69747,0,"_"],[69748,0,"p"],[69749,0,"("],[69750,0,"\\"],[69751,0,"m"],[69752,0,"a"],[69753,0,"t"],[69754,0,"h"],[69755,0,"s"],[69756,0,"f"],[69757,0,"{"],[69758,0,"o"],[69759,0,"p"],[69760,0,"s"],[69761,0,"}"],[69762,0,")"],[69763,0," "],[69764,0,"="],[69765,0," "],[69766,0,"$"],[69766,1],[69766,0,"A"],[69767,0,"_"],[69768,0,"q"],[69769,0,"("],[69770,0,"\\"],[69771,0,"m"],[69772,0,"a"],[69773,0,"t"],[69774,0,"h"],[69775,0,"s"],[69776,0,"f"],[69777,0,"{"],[69778,0,"o"],[69779,0,"p"],[69780,0,"s"],[69781,0,"}"],[69782,0,")"],[69783,0,"$"],[69784,0,","],[69785,0," "],[69786,0,"t"],[69787,0,"h"],[69788,0,"e"],[69789,0,"n"],[69790,0," "],[69791,0,"$"],[69792,0,"p"],[69793,0,"$"],[69794,0," "],[69795,0,"a"],[69796,0,"n"],[69797,0,"d"],[69798,0," "],[69799,0,"$"],[69800,0,"q"],[69801,0,"$"],[69802,0," "],[69803,0,"h"],[69804,0,"a"],[69805,0,"v"],[69806,0,"e"],[69807,0," "],[69808,0,"t"],[69809,0,"h"],[69810,0,"e"],[69811,0," "],[69812,0,"s"],[69813,0,"a"],[69814,0,"m"],[69815,0,"e"],[69816,0," "],[69817,0,"d"],[69818,0,"o"],[69819,0,"c"],[69820,0,"u"],[69821,0,"m"],[69822,0,"e"],[69823,0,"n"],[69824,0,"t"],[69825,0," "],[69826,0,"s"],[69827,0,"t"],[69828,0,"a"],[69829,0,"t"],[69830,0,"e"],[69831,0,"."],[69847,0,"\n"],[69848,0,"\n"],[69849,0,"T"],[69850,0,"h"],[69851,0,"i"],[69852,0,"s"],[69853,0," "],[69854,0,"t"],[69855,0,"h"],[69856,0,"e"],[69857,0,"o"],[69858,0,"r"],[69859,0,"e"],[69860,0,"m"],[69861,0," "],[69862,0,"i"],[69863,0,"s"],[69864,0," "],[69865,0,"p"],[69866,0,"r"],[69867,0,"o"],[69868,0,"v"],[69869,0,"e"],[69870,0,"d"],[69871,0," "],[69872,0,"i"],[69873,0,"n"],[69874,0," "],[69875,0,"t"],[69876,0,"h"],[69877,0,"e"],[69878,0," "],[69879,0,"a"],[69880,0,"p"],[69881,0,"p"],[69882,0,"e"],[69883,0,"n"],[69884,0,"d"],[69885,0,"i"],[69886,0,"x"],[69887,0,"."],[69888,0," "],[69889,0,"I"],[69890,0,"t"],[69891,0," "],[69892,0,"f"],[69893,0,"o"],[69894,0,"r"],[69895,0,"m"],[69896,0,"a"],[69897,0,"l"],[69898,0,"i"],[69899,0,"z"],[69900,0,"e"],[69901,0,"s"],[69902,0," "],[69903,0,"t"],[69904,0,"h"],[69905,0,"e"],[69906,0," "],[69907,0,"s"],[69908,0,"a"],[69909,0,"f"],[69910,0,"e"],[69911,0,"t"],[69912,0,"y"],[69913,0," "],[69914,0,"p"],[69915,0,"r"],[69916,0,"o"],[69917,0,"p"],[69918,0,"e"],[69919,0,"r"],[69920,0,"t"],[69921,0,"y"],[69922,0," "],[69923,0,"o"],[69924,0,"f"],[69925,0," "],[69926,0,"c"],[69927,0,"o"],[69928,0,"n"],[69929,0,"v"],[69930,0,"e"],[69931,0,"r"],[69932,0,"g"],[69933,0,"e"],[69934,0,"n"],[69935,0,"c"],[69936,0,"e"],[69937,0,":"],[69938,0," "],[69939,0,"i"],[69940,0,"f"],[69941,0," "],[69942,0,"t"],[69943,0,"w"],[69944,0,"o"],[69945,0," "],[69946,0,"r"],[69947,0,"e"],[69948,0,"p"],[69949,0,"l"],[69950,0,"i"],[69951,0,"c"],[69952,0,"a"],[69953,0,"s"],[69954,0," "],[69955,0,"h"],[69956,0,"a"],[69957,0,"v"],[69958,0,"e"],[69959,0," "],[69960,0,"p"],[69961,0,"r"],[69962,0,"o"],[69963,0,"c"],[69964,0,"e"],[69965,0,"s"],[69966,0,"s"],[69967,0,"e"],[69968,0,"d"],[69969,0," "],[69970,0,"t"],[69971,0,"h"],[69972,0,"e"],[69973,0," "],[69974,0,"s"],[69975,0,"a"],[69976,0,"m"],[69977,0,"e"],[69978,0," "],[69979,0,"s"],[69980,0,"e"],[69981,0,"t"],[69982,0," "],[69983,0,"o"],[69984,0,"f"],[69985,0," "],[69986,0,"o"],[69987,0,"p"],[69988,0,"e"],[69989,0,"r"],[69990,0,"a"],[69991,0,"t"],[69992,0,"i"],[69993,0,"o"],[69994,0,"n"],[69995,0,"s"],[69996,0,","],[69997,0," "],[69998,0,"p"],[69999,0,"o"],[70000,0,"s"],[70001,0,"s"],[70002,0,"i"],[70003,0,"b"],[70004,0,"l"],[70005,0,"y"],[70006,0," "],[70007,0,"i"],[70008,0,"n"],[70009,0," "],[70010,0,"a"],[70011,0," "],[70012,0,"d"],[70013,0,"i"],[70014,0,"f"],[70015,0,"f"],[70016,0,"e"],[70017,0,"r"],[70018,0,"e"],[70019,0,"n"],[70020,0,"t"],[70021,0," "],[70022,0,"o"],[70023,0,"r"],[70024,0,"d"],[70025,0,"e"],[70026,0,"r"],[70027,0,","],[70028,0," "],[70029,0,"t"],[70030,0,"h"],[70031,0,"e"],[70032,0,"n"],[70033,0," "],[70034,0,"t"],[70035,0,"h"],[70036,0,"e"],[70037,0,"y"],[70038,0," "],[70039,0,"a"],[70040,0,"r"],[70041,0,"e"],[70042,0," "],[70043,0,"i"],[70044,0,"n"],[70045,0," "],[70046,0,"t"],[70047,0,"h"],[70048,0,"e"],[70049,0," "],[70050,0,"s"],[70051,0,"a"],[70052,0,"m"],[70053,0,"e"],[70054,0," "],[70055,0,"s"],[70056,0,"t"],[70057,0,"a"],[70058,0,"t"],[70059,0,"e"],[70060,0,"."],[70061,0," "],[70062,0,"I"],[70063,0,"t"],[70064,0," "],[70065,0,"n"],[70066,0,"e"],[70067,0,"e"],[70068,0,"d"],[70069,0,"s"],[70070,0," "],[70071,0,"t"],[70072,0,"o"],[70073,0," "],[70074,0,"b"],[70075,0,"e"],[70076,0," "],[70077,0,"c"],[70078,0,"o"],[70079,0,"u"],[70080,0,"p"],[70081,0,"l"],[70082,0,"e"],[70083,0,"d"],[70084,0," "],[70085,0,"w"],[70086,0,"i"],[70087,0,"t"],[70088,0,"h"],[70089,0," "],[70090,0,"a"],[70091,0," "],[70092,0,"l"],[70093,0,"i"],[70094,0,"v"],[70095,0,"e"],[70096,0,"n"],[70097,0,"e"],[70098,0,"s"],[70099,0,"s"],[70100,0," "],[70101,0,"p"],[70102,0,"r"],[70103,0,"o"],[70104,0,"p"],[70105,0,"e"],[70106,0,"r"],[70107,0,"t"],[70108,0,"y"],[70109,0,","],[70110,0," "],[70111,0,"n"],[70112,0,"a"],[70113,0,"m"],[70114,0,"e"],[70115,0,"l"],[70116,0,"y"],[70117,0," "],[70118,0,"t"],[70119,0,"h"],[70120,0,"a"],[70121,0,"t"],[70122,0," "],[70083,1],[70082,1],[70081,1],[70080,1],[70079,1],[70078,1],[70077,1],[70076,1],[70075,1],[70074,1],[70073,1],[70072,1],[70071,1],[70070,1],[70069,1],[70068,1],[70067,1],[70066,1],[70065,1],[70064,1],[70063,1],[70063,0,"n"],[70064,0," "],[70065,0,"c"],[70066,0,"o"],[70067,0,"m"],[70068,0,"b"],[70069,0,"i"],[70070,0,"n"],[70071,0,"a"],[70072,0,"t"],[70073,0,"i"],[70074,0,"o"],[70075,0,"n"],[70115,0,"e"],[70116,0,"v"],[70117,0,"e"],[70118,0,"r"],[70119,0,"y"],[70120,0," "],[70121,0,"r"],[70122,0,"e"],[70123,0,"p"],[70124,0,"l"],[70125,0,"i"],[70126,0,"c"],[70127,0,"a"],[70128,0," "],[70129,0,"e"],[70130,0,"v"],[70131,0,"e"],[70132,0,"n"],[70133,0,"t"],[70134,0,"u"],[70135,0,"a"],[70136,0,"l"],[70137,0,"l"],[70138,0,"y"],[70139,0," "],[70140,0,"p"],[70141,0,"r"],[70142,0,"o"],[70143,0,"c"],[70144,0,"e"],[70145,0,"s"],[70146,0,"s"],[70147,0,"e"],[70148,0,"s"],[70149,0," "],[70150,0,"a"],[70151,0,"l"],[70152,0,"l"],[70153,0," "],[70154,0,"o"],[70155,0,"p"],[70156,0,"e"],[70157,0,"r"],[70158,0,"a"],[70159,0,"t"],[70160,0,"i"],[70161,0,"o"],[70162,0,"n"],[70163,0,"s"],[70164,0,","],[70165,0," "],[70166,0,"w"],[70167,0,"e"],[70168,0," "],[70169,0,"o"],[70170,0,"b"],[70171,0,"t"],[70172,0,"a"],[70173,0,"i"],[70174,0,"n"],[70175,0," "],[70176,0,"t"],[70177,0,"h"],[70178,0,"e"],[70179,0," "],[70180,0,"d"],[70181,0,"e"],[70182,0,"s"],[70183,0,"i"],[70184,0,"r"],[70185,0,"e"],[70186,0,"d"],[70187,0," "],[70188,0,"n"],[70189,0,"o"],[70190,0,"t"],[70191,0,"i"],[70192,0,"o"],[70193,0,"n"],[70194,0," "],[70195,0,"o"],[70196,0,"f"],[70197,0," "],[70198,0,"c"],[70199,0,"o"],[70200,0,"n"],[70201,0,"v"],[70202,0,"e"],[70203,0,"r"],[70204,0,"g"],[70205,0,"e"],[70206,0,"n"],[70207,0,"c"],[70208,0,"e"],[70209,0,":"],[70210,0," "],[70211,0,"a"],[70212,0,"l"],[70213,0,"l"],[70214,0," "],[70215,0,"r"],[70216,0,"e"],[70217,0,"p"],[70218,0,"l"],[70219,0,"i"],[70220,0,"c"],[70221,0,"a"],[70222,0,"s"],[70223,0," "],[70224,0,"e"],[70225,0,"v"],[70226,0,"e"],[70227,0,"n"],[70228,0,"t"],[70229,0,"u"],[70230,0,"a"],[70231,0,"l"],[70232,0,"l"],[70233,0,"y"],[70234,0," "],[70235,0,"e"],[70236,0,"n"],[70237,0,"d"],[70238,0," "],[70239,0,"u"],[70240,0,"p"],[70241,0," "],[70242,0,"i"],[70243,0,"n"],[70244,0," "],[70245,0,"t"],[70246,0,"h"],[70247,0,"e"],[70248,0," "],[70249,0,"s"],[70250,0,"a"],[70251,0,"m"],[70252,0,"e"],[70253,0," "],[70254,0,"s"],[70255,0,"t"],[70256,0,"a"],[70257,0,"t"],[70258,0,"e"],[70259,0,"."],[70260,0,"\n"],[70261,0,"\n"],[70262,0,"T"],[70263,0,"h"],[70264,0,"e"],[70265,0," "],[70266,0,"l"],[70267,0,"i"],[70268,0,"v"],[70269,0,"e"],[70270,0,"n"],[70271,0,"e"],[70272,0,"s"],[70273,0,"s"],[70274,0," "],[70275,0,"p"],[70276,0,"r"],[70277,0,"o"],[70278,0,"p"],[70279,0,"e"],[70280,0,"r"],[70281,0,"t"],[70282,0,"y"],[70283,0," "],[70284,0,"d"],[70285,0,"e"],[70286,0,"p"],[70287,0,"e"],[70288,0,"n"],[70289,0,"d"],[70290,0,"s"],[70291,0," "],[70292,0,"o"],[70293,0,"n"],[70294,0," "],[70295,0,"a"],[70296,0,"s"],[70297,0,"s"],[70298,0,"u"],[70299,0,"m"],[70300,0,"p"],[70301,0,"t"],[70302,0,"i"],[70303,0,"o"],[70304,0,"n"],[70305,0,"s"],[70306,0," "],[70307,0,"o"],[70308,0,"f"],[70309,0," "],[70310,0,"r"],[70311,0,"e"],[70312,0,"p"],[70313,0,"l"],[70314,0,"i"],[70315,0,"c"],[70316,0,"a"],[70317,0,"s"],[70318,0," "],[70319,0,"i"],[70320,0,"n"],[70321,0,"v"],[70322,0,"o"],[70323,0,"k"],[70324,0,"i"],[70325,0,"n"],[70326,0,"g"],[70327,0," "],[70328,0,"\\"],[70329,0,"m"],[70330,0,"a"],[70330,1],[70329,1],[70329,0,"t"],[70330,0,"e"],[70331,0,"x"],[70332,0,"t"],[70333,0,"s"],[70334,0,"f"],[70335,0,"{"],[70336,0,"y"],[70337,0,"i"],[70338,0,"e"],[70339,0,"l"],[70340,0,"d"],[70341,0,"}"],[70342,0," "],[70343,0,"s"],[70344,0,"u"],[70345,0,"f"],[70346,0,"f"],[70347,0,"i"],[70348,0,"c"],[70349,0,"i"],[70350,0,"e"],[70351,0,"n"],[70352,0,"t"],[70353,0,"l"],[70354,0,"y"],[70355,0," "],[70356,0,"o"],[70357,0,"f"],[70358,0,"t"],[70359,0,"e"],[70360,0,"n"],[70361,0,","],[70362,0," "],[70363,0,"a"],[70364,0,"n"],[70365,0,"d"],[70366,0," "],[70367,0,"a"],[70368,0,"l"],[70369,0,"l"],[70370,0," "],[70371,0,"n"],[70372,0,"o"],[70373,0,"n"],[70374,0,"d"],[70375,0,"e"],[70376,0,"t"],[70377,0,"e"],[70378,0,"r"],[70379,0,"m"],[70380,0,"i"],[70381,0,"n"],[70382,0,"i"],[70383,0,"s"],[70384,0,"t"],[70385,0,"i"],[70386,0,"c"],[70387,0," "],[70388,0,"r"],[70389,0,"u"],[70390,0,"l"],[70391,0,"e"],[70392,0,"s"],[70393,0," "],[70394,0,"f"],[70395,0,"o"],[70396,0,"r"],[70397,0," "],[70398,0,"t"],[70399,0,"e"],[70400,0,"x"],[70400,1],[70399,1],[70398,1],[70398,0,"\\"],[70399,0,"t"],[70400,0,"e"],[70401,0,"x"],[70402,0,"t"],[70403,0,"s"],[70404,0,"f"],[70405,0,"{"],[70406,0,"y"],[70407,0,"i"],[70408,0,"e"],[70409,0,"l"],[70410,0,"d"],[70411,0,"}"],[70412,0," "],[70413,0,"b"],[70414,0,"e"],[70415,0,"i"],[70416,0,"n"],[70417,0,"g"],[70418,0," "],[70419,0,"c"],[70420,0,"h"],[70421,0,"o"],[70422,0,"s"],[70423,0,"e"],[70424,0,"n"],[70425,0," "],[70426,0,"f"],[70427,0,"a"],[70428,0,"i"],[70429,0,"r"],[70430,0,"l"],[70431,0,"y"],[70432,0,"."],[70433,0," "],[70434,0,"W"],[70435,0,"e"],[70436,0," "],[70437,0,"w"],[70438,0,"i"],[70439,0,"l"],[70440,0,"l"],[70441,0," "],[70442,0,"n"],[70443,0,"o"],[70444,0,"t"],[70445,0," "],[70446,0,"f"],[70447,0,"o"],[70448,0,"r"],[70449,0,"m"],[70450,0,"a"],[70451,0,"l"],[70452,0,"i"],[70453,0,"z"],[70454,0,"e"],[70455,0," "],[70456,0,"t"],[70457,0,"h"],[70458,0,"e"],[70459,0," "],[70460,0,"l"],[70461,0,"i"],[70462,0,"v"],[70463,0,"e"],[70464,0,"n"],[70465,0,"e"],[70466,0,"s"],[70467,0,"s"],[70468,0," "],[70469,0,"p"],[70470,0,"r"],[70471,0,"o"],[70472,0,"p"],[70473,0,"e"],[70474,0,"r"],[70475,0,"t"],[70476,0,"y"],[70477,0," "],[70478,0,"i"],[70479,0,"n"],[70480,0," "],[70481,0,"t"],[70482,0,"h"],[70483,0,"i"],[70484,0,"s"],[70485,0," "],[70486,0,"p"],[70487,0,"a"],[70488,0,"p"],[70489,0,"e"],[70490,0,"r"],[70491,0,","],[70492,0," "],[70493,0,"b"],[70494,0,"u"],[70495,0,"t"],[70496,0," "],[70497,0,"a"],[70498,0,"s"],[70499,0,"s"],[70500,0,"e"],[70501,0,"r"],[70502,0,"t"],[70503,0," "],[70504,0,"t"],[70505,0,"h"],[70506,0,"a"],[70507,0,"t"],[70508,0," "],[70509,0,"i"],[70510,0,"t"],[70511,0," "],[70512,0,"c"],[70513,0,"a"],[70514,0,"n"],[70515,0," "],[70516,0,"b"],[70517,0,"e"],[70518,0," "],[70519,0,"p"],[70520,0,"r"],[70521,0,"o"],[70522,0,"v"],[70523,0,"i"],[70524,0,"d"],[70525,0,"e"],[70526,0,"d"],[70527,0," "],[70528,0,"i"],[70529,0,"n"],[70530,0," "],[70531,0,"p"],[70532,0,"r"],[70533,0,"a"],[70534,0,"c"],[70535,0,"t"],[70536,0,"i"],[70537,0,"c"],[70538,0,"e"],[70539,0,","],[70540,0," "],[70541,0,"a"],[70542,0,"s"],[70543,0," "],[70544,0,"n"],[70545,0,"e"],[70546,0,"t"],[70547,0,"w"],[70548,0,"o"],[70549,0,"r"],[70550,0,"k"],[70551,0," "],[70552,0,"i"],[70553,0,"n"],[70554,0,"t"],[70555,0,"e"],[70556,0,"r"],[70557,0,"r"],[70558,0,"u"],[70559,0,"p"],[70560,0,"t"],[70561,0,"i"],[70562,0,"o"],[70563,0,"n"],[70564,0,"s"],[70565,0," "],[70566,0,"a"],[70567,0,"r"],[70568,0,"e"],[70569,0," "],[70570,0,"u"],[70571,0,"s"],[70572,0,"u"],[70573,0,"a"],[70574,0,"l"],[70575,0,"l"],[70576,0,"y"],[70577,0," "],[70578,0,"o"],[70579,0,"f"],[70580,0," "],[70581,0,"f"],[70582,0,"i"],[70583,0,"n"],[70584,0,"i"],[70585,0,"t"],[70586,0,"e"],[70587,0," "],[70588,0,"d"],[70589,0,"u"],[70590,0,"r"],[70591,0,"a"],[70592,0,"t"],[70593,0,"i"],[70594,0,"o"],[70595,0,"n"],[70596,0,"."],[70512,0,"u"],[70513,0,"s"],[70514,0,"u"],[70515,0,"a"],[70516,0,"l"],[70517,0,"l"],[70518,0,"y"],[70519,0," "],[70519,1],[70518,1],[70517,1],[70516,1],[70515,1],[70514,1],[70513,1],[70512,1],[70515,0," "],[70516,0,"u"],[70517,0,"s"],[70518,0,"u"],[70519,0,"a"],[70520,0,"l"],[70521,0,"l"],[70522,0,"y"],[69650,0,"\n"],[69651,0,"\n"],[69652,0,"\\"],[69653,0,"b"],[69654,0,"e"],[69655,0,"g"],[69656,0,"i"],[69657,0,"n"],[69658,0,"{"],[69659,0,"d"],[69660,0,"e"],[69661,0,"f"],[69662,0,"i"],[69663,0,"n"],[69664,0,"i"],[69665,0,"t"],[69666,0,"i"],[69667,0,"o"],[69668,0,"n"],[69669,0,"}"],[69670,0,"\n"],[69671,0,"\\"],[69672,0,"e"],[69673,0,"n"],[69674,0,"d"],[69675,0,"{"],[69676,0,"d"],[69677,0,"e"],[69678,0,"f"],[69679,0,"i"],[69680,0,"n"],[69681,0,"i"],[69682,0,"t"],[69683,0,"i"],[69684,0,"o"],[69685,0,"n"],[69686,0,"}"],[69670,0,"\n"],[69671,0,"T"],[69672,0,"h"],[69673,0,"e"],[69674,0," "],[69675,0,"\\"],[69676,0,"m"],[69676,1],[69676,0,"e"],[69677,0,"m"],[69678,0,"p"],[69679,0,"h"],[69680,0,"{"],[69681,0,"d"],[69682,0,"o"],[69683,0,"c"],[69684,0,"u"],[69685,0,"m"],[69686,0,"e"],[69687,0,"n"],[69688,0,"t"],[69689,0," "],[69690,0,"s"],[69691,0,"t"],[69692,0,"a"],[69693,0,"t"],[69694,0,"e"],[69695,0,"}"],[69696,0," "],[69697,0,"o"],[69698,0,"f"],[69699,0," "],[69700,0,"a"],[69701,0," "],[69702,0,"r"],[69703,0,"e"],[69704,0,"p"],[69705,0,"l"],[69706,0,"i"],[69707,0,"c"],[69708,0,"a"],[69709,0," "],[69710,0,"$"],[69711,0,"p"],[69712,0,"$"],[69713,0," "],[69714,0,"i"],[69715,0,"s"],[69716,0," "],[69717,0,"t"],[69718,0,"h"],[69719,0,"e"],[69720,0," "],[69721,0,"s"],[69722,0,"u"],[69723,0,"b"],[69724,0,"t"],[69725,0,"r"],[69726,0,"e"],[69727,0,"e"],[69728,0," "],[69729,0,"o"],[69730,0,"f"],[69731,0," "],[69732,0,"$"],[69733,0,"A"],[69734,0,"_"],[69735,0,"p"],[69736,0,"$"],[69737,0," "],[69738,0,"c"],[69739,0,"o"],[69740,0,"n"],[69741,0,"t"],[69742,0,"a"],[69743,0,"i"],[69744,0,"n"],[69745,0,"i"],[69746,0,"n"],[69747,0,"g"],[69748,0," "],[69749,0,"t"],[69750,0,"h"],[69751,0,"e"],[69752,0," "],[69753,0,"d"],[69754,0,"o"],[69755,0,"c"],[69756,0,"u"],[69757,0,"m"],[69758,0,"e"],[69759,0,"n"],[69760,0,"t"],[69761,0," "],[69761,1],[69761,0,":"],[69762,0," "],[69763,0,"t"],[69764,0,"h"],[69765,0,"a"],[69766,0,"t"],[69767,0," "],[69768,0,"i"],[69769,0,"s"],[69770,0,","],[69771,0," "],[69772,0,"$"],[69773,0,"A"],[69774,0,"_"],[69775,0,"p"],[69776,0,"("],[69777,0,"\\"],[69778,0,"m"],[69779,0,"a"],[69780,0,"t"],[69781,0,"h"],[69782,0,"s"],[69783,0,"f"],[69784,0,"{"],[69785,0,"m"],[69786,0,"a"],[69787,0,"p"],[69788,0,"T"],[69789,0,"}"],[69790,0,"("],[69791,0,"\\"],[69792,0,"m"],[69793,0,"a"],[69794,0,"t"],[69795,0,"h"],[69796,0,"s"],[69797,0,"f"],[69798,0,"{"],[69799,0,"d"],[69800,0,"o"],[69801,0,"c"],[69802,0,"}"],[69803,0,")"],[69804,0,"$"],[69805,0," "],[69806,0,"o"],[69807,0,"r"],[69808,0," "],[69809,0,"$"],[69810,0,"A"],[69811,0,"_"],[69812,0,"p"],[69813,0,"("],[69814,0,"\\"],[69815,0,"m"],[69816,0,"a"],[69817,0,"t"],[69818,0,"h"],[69819,0,"s"],[69820,0,"f"],[69821,0,"{"],[69822,0,"l"],[69823,0,"i"],[69824,0,"s"],[69825,0,"t"],[69826,0,"T"],[69827,0,"}"],[69828,0,"("],[69829,0,"\\"],[69830,0,"m"],[69831,0,"a"],[69832,0,"t"],[69833,0,"h"],[69834,0,"s"],[69835,0,"f"],[69836,0,"{"],[69837,0,"d"],[69838,0,"o"],[69839,0,"c"],[69840,0,"}"],[69841,0,")"],[69842,0,"$"],[69843,0," "],[69844,0,"o"],[69845,0,"r"],[69846,0," "],[69847,0,"$"],[69848,0,"A"],[69849,0,"_"],[69850,0,"p"],[69851,0,"("],[69852,0,"\\"],[69853,0,"m"],[69854,0,"a"],[69855,0,"t"],[69856,0,"h"],[69857,0,"s"],[69858,0,"f"],[69859,0,"{"],[69860,0,"r"],[69861,0,"e"],[69862,0,"g"],[69863,0,"T"],[69864,0,"}"],[69865,0,"("],[69866,0,"\\"],[69867,0,"m"],[69868,0,"a"],[69869,0,"t"],[69870,0,"h"],[69871,0,"s"],[69872,0,"f"],[69873,0,"{"],[69874,0,"d"],[69875,0,"o"],[69876,0,"c"],[69877,0,"}"],[69878,0,")"],[69879,0,"$"],[69880,0,","],[69881,0," "],[69882,0,"w"],[69883,0,"h"],[69884,0,"c"],[69884,1],[69884,0,"i"],[69885,0,"c"],[69886,0,"h"],[69887,0,"e"],[69888,0,"v"],[69889,0,"e"],[69890,0,"r"],[69891,0," "],[69892,0,"i"],[69893,0,"s"],[69894,0," "],[69895,0,"d"],[69896,0,"e"],[69897,0,"f"],[69898,0,"i"],[69899,0,"n"],[69900,0,"e"],[69901,0,"d"],[69902,0,"."],[69920,0,"\n"],[69921,0,"\n"],[69922,0,"T"],[69923,0,"h"],[69924,0,"e"],[69925,0," "],[69926,0,"d"],[69927,0,"o"],[69928,0,"c"],[69929,0,"u"],[69930,0,"m"],[69931,0,"e"],[69932,0,"n"],[69933,0,"t"],[69934,0," "],[69935,0,"s"],[69936,0,"t"],[69937,0,"a"],[69938,0,"t"],[69939,0,"e"],[69940,0," "],[69941,0,"e"],[69942,0,"x"],[69943,0,"c"],[69944,0,"l"],[69945,0,"u"],[69946,0,"d"],[69947,0,"e"],[69948,0,"s"],[69949,0," "],[69950,0,"a"],[69951,0,"n"],[69952,0,"y"],[69953,0," "],[69954,0,"v"],[69955,0,"a"],[69956,0,"r"],[69957,0,"i"],[69958,0,"a"],[69959,0,"b"],[69960,0,"l"],[69961,0,"e"],[69962,0,"s"],[69963,0," "],[69964,0,"d"],[69965,0,"e"],[69966,0,"f"],[69967,0,"i"],[69968,0,"n"],[69969,0,"e"],[69970,0,"d"],[69971,0," "],[69972,0,"w"],[69973,0,"i"],[69974,0,"t"],[69975,0,"h"],[69976,0," "],[69977,0,"\\"],[69978,0,"m"],[69979,0,"a"],[69980,0,"t"],[69981,0,"h"],[69981,1],[69980,1],[69979,1],[69978,1],[69978,0,"t"],[69979,0,"e"],[69980,0,"x"],[69981,0,"t"],[69982,0,"s"],[69983,0,"f"],[69984,0,"{"],[69985,0,"l"],[69986,0,"e"],[69987,0,"t"],[69988,0,"}"],[69989,0,","],[69990,0," "],[69991,0,"s"],[69992,0,"i"],[69993,0,"n"],[69994,0,"c"],[69995,0,"e"],[69996,0," "],[69997,0,"t"],[69998,0,"h"],[69999,0,"e"],[70000,0,"y"],[70001,0," "],[70002,0,"a"],[70003,0,"r"],[70004,0,"e"],[70005,0," "],[70006,0,"l"],[70007,0,"o"],[70008,0,"c"],[70009,0,"a"],[70010,0,"l"],[70011,0," "],[70012,0,"t"],[70013,0,"o"],[70014,0," "],[70015,0,"o"],[70016,0,"n"],[70017,0,"e"],[70018,0," "],[70019,0,"r"],[70020,0,"e"],[70021,0,"p"],[70022,0,"l"],[70023,0,"i"],[70024,0,"c"],[70025,0,"a"],[70026,0,","],[70027,0," "],[70028,0,"a"],[70029,0,"n"],[70030,0,"d"],[70031,0," "],[70032,0,"n"],[70033,0,"o"],[70034,0,"t"],[70035,0," "],[70036,0,"p"],[70037,0,"a"],[70038,0,"r"],[70039,0,"t"],[70040,0," "],[70041,0,"o"],[70042,0,"f"],[70043,0," "],[70044,0,"t"],[70045,0,"h"],[70046,0,"e"],[70047,0," "],[70048,0,"s"],[70049,0,"t"],[70050,0,"a"],[70051,0,"t"],[70052,0,"e"],[70053,0," "],[70054,0,"t"],[70055,0,"h"],[70056,0,"a"],[70057,0,"t"],[70058,0," "],[70059,0,"i"],[70060,0,"s"],[70061,0," "],[70062,0,"r"],[70063,0,"e"],[70064,0,"p"],[70065,0,"l"],[70066,0,"i"],[70067,0,"c"],[70068,0,"a"],[70069,0,"t"],[70070,0,"e"],[70071,0,"d"],[70072,0,"."],[70047,0," "],[70048,0,"r"],[70049,0,"e"],[70050,0,"p"],[70051,0,"l"],[70052,0,"i"],[70053,0,"c"],[70054,0,"a"],[70055,0,"t"],[70056,0,"e"],[70057,0,"d"],[70082,1],[70081,1],[70080,1],[70079,1],[70078,1],[70077,1],[70076,1],[70075,1],[70074,1],[70073,1],[70072,1],[70071,1],[70070,1],[70069,1],[70068,1],[70067,1],[70066,1],[70065,1],[70064,1],[69952,1],[69951,1],[69950,1],[69949,1],[69948,1],[69947,1],[69946,1],[69945,1],[69944,1],[69943,1],[69942,1],[69941,1],[69940,1],[69939,1],[69938,1],[69937,1],[69936,1],[69935,1],[69934,1],[69933,1],[69932,1],[69931,1],[69930,1],[69929,1],[69928,1],[69927,1],[69926,1],[69925,1],[69924,1],[69923,1],[69922,1],[69922,0,"$"],[69923,0,"A"],[69924,0,"_"],[69925,0,"p"],[69926,0,"$"],[69922,0,"W"],[69923,0,"e"],[69924,0," "],[69925,0,"n"],[69926,0,"e"],[69927,0,"e"],[69928,0,"d"],[69929,0," "],[69930,0,"t"],[69931,0,"h"],[69932,0,"i"],[69933,0,"s"],[69934,0," "],[69935,0,"d"],[69936,0,"e"],[69937,0,"f"],[69938,0,"i"],[69939,0,"n"],[69940,0,"i"],[69941,0,"t"],[69942,0,"i"],[69943,0,"o"],[69944,0,"n"],[69945,0," "],[69946,0,"b"],[69947,0,"e"],[69948,0,"c"],[69949,0,"a"],[69950,0,"u"],[69951,0,"s"],[69952,0,"e"],[69953,0," "],[69959,0," "],[69960,0,"c"],[69961,0,"o"],[69962,0,"n"],[69963,0,"t"],[69964,0,"a"],[69965,0,"i"],[69966,0,"n"],[69967,0,"s"],[70015,1],[70014,1],[70013,1],[70012,1],[70011,1],[70010,1],[70009,1],[70008,1],[70007,1],[70006,1],[70006,0,"w"],[70007,0,"h"],[70008,0,"i"],[70009,0,"c"],[70010,0,"h"],[70075,0," "],[70076,0,"T"],[69953,1],[69952,1],[69951,1],[69950,1],[69949,1],[69948,1],[69947,1],[69946,1],[69945,1],[69944,1],[69943,1],[69942,1],[69941,1],[69940,1],[69939,1],[69938,1],[69937,1],[69936,1],[69935,1],[69934,1],[69933,1],[69932,1],[69931,1],[69930,1],[69929,1],[69928,1],[69927,1],[69926,1],[69925,1],[69924,1],[69923,1],[69922,1],[70045,0,"h"],[70046,0,"e"],[70047,0," "],[70048,0,"d"],[70049,0,"e"],[70050,0,"f"],[70051,0,"i"],[70052,0,"n"],[70053,0,"i"],[70054,0,"t"],[70055,0,"i"],[70056,0,"o"],[70057,0,"n"],[70058,0," "],[70059,0,"o"],[70060,0,"f"],[70061,0," "],[70062,0,"d"],[70063,0,"o"],[70064,0,"c"],[70065,0,"u"],[70066,0,"m"],[70067,0,"e"],[70068,0,"n"],[70069,0,"t"],[70070,0," "],[70071,0,"s"],[70072,0,"t"],[70073,0,"a"],[70074,0,"t"],[70075,0,"e"],[70076,0," "],[70077,0,"e"],[70078,0,"x"],[70079,0,"c"],[70080,0,"l"],[70081,0,"u"],[70082,0,"d"],[70083,0,"e"],[70084,0,"s"],[70085,0," "],[70086,0,"t"],[70087,0,"h"],[70088,0,"e"],[70089,0,"s"],[70090,0,"e"],[70091,0," "],[70092,0,"v"],[70093,0,"a"],[70094,0,"r"],[70095,0,"i"],[70096,0,"a"],[70097,0,"b"],[70098,0,"l"],[70099,0,"e"],[70100,0,"s"],[70101,0,"."],[70118,1],[70296,1],[70296,0,"-"],[70297,0,"u"],[70298,0,"n"],[70299,0,"n"],[70300,0,"u"],[70301,0,"m"],[70302,0,"b"],[70303,0,"e"],[70304,0,"r"],[70305,0,"e"],[70306,0,"d"],[70118,0,"-"],[70119,0,"u"],[70119,1],[70118,1],[70117,1],[70116,1],[70115,1],[70114,1],[70113,1],[70113,0,"m"],[70114,0,":"],[70115,0,"c"],[70116,0,"o"],[70117,0,"n"],[70118,0,"v"],[70119,0,"e"],[70120,0,"r"],[70121,0,"g"],[70122,0,"e"],[70123,0,"n"],[70124,0,"c"],[70125,0,"e"],[70314,1],[70313,1],[70312,1],[70311,1],[70310,1],[70309,1],[70308,1],[70307,1],[70306,1],[70305,1],[70304,1],[70303,1],[70302,1],[70301,1],[70300,1],[70299,1],[70299,0,"m"],[70300,0,"-"],[70301,0,"c"],[70302,0,"o"],[70303,0,"n"],[70304,0,"v"],[70305,0,"e"],[70306,0,"r"],[70307,0,"g"],[70308,0,"e"],[70309,0,"n"],[70310,0,"c"],[70311,0,"e"],[70312,0,"-"],[70313,0,"t"],[70314,0,"h"],[70315,0,"m"],[70300,1],[70299,1],[70298,1],[70297,1],[70114,1],[70113,1],[70112,1],[70111,1],[70122,0,"-"],[70123,0,"t"],[70124,0,"h"],[70125,0,"m"],[462,0,"\n"],[463,0,"\\"],[464,0,"n"],[465,0,"e"],[466,0,"w"],[467,0,"t"],[468,0,"h"],[469,0,"e"],[470,0,"o"],[471,0,"r"],[472,0,"e"],[473,0,"m"],[474,0,"*"],[475,0,"{"],[476,0,"c"],[477,0,"o"],[478,0,"n"],[479,0,"v"],[480,0,"e"],[481,0,"r"],[482,0,"g"],[483,0,"e"],[484,0,"n"],[485,0,"c"],[486,0,"e"],[487,0,"-"],[488,0,"t"],[489,0,"h"],[490,0,"m"],[491,0,"}"],[492,0,"{"],[493,0,"T"],[494,0,"h"],[495,0,"e"],[496,0,"o"],[497,0,"r"],[498,0,"e"],[499,0,"m"],[500,0,"}"],[69843,0,")"],[69881,0,")"],[69919,0,")"],[69232,0," "],[69233,0,"a"],[69234,0,"t"],[69235,0," "],[69236,0,"a"],[69237,0," "],[69238,0,"g"],[69239,0,"i"],[69240,0,"v"],[69241,0,"e"],[69242,0,"n"],[69243,0," "],[69244,0,"r"],[69245,0,"e"],[69246,0,"p"],[69247,0,"l"],[69248,0,"i"],[69249,0,"c"],[69250,0,"a"],[69573,1],[69572,1],[69572,0,"a"],[69573,0,"r"],[69574,0,"e"],[69570,1],[69570,0,"i"],[69571,0,"e"],[69572,0,"s"],[69563,1],[69562,1],[69561,1],[69560,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,1],[71172,0,"I"],[71173,0,"n"],[71174,0," "],[71175,0,"t"],[71176,0,"h"],[71177,0,"i"],[71178,0,"s"],[71179,0," "],[71180,0,"p"],[71181,0,"a"],[71182,0,"p"],[71183,0,"e"],[71184,0,"r"],[71185,0," "],[71186,0,"w"],[71187,0,"e"],[71188,0," "],[71189,0,"d"],[71190,0,"e"],[71191,0,"m"],[71192,0,"o"],[71193,0,"n"],[71194,0,"s"],[71195,0,"t"],[71196,0,"r"],[71197,0,"a"],[71198,0,"t"],[71199,0,"e"],[71200,0,"d"],[71201,0," "],[71202,0,"h"],[71203,0,"o"],[71204,0,"w"],[71205,0," "],[71206,0,"t"],[71207,0,"o"],[71208,0," "],[71209,0,"c"],[71210,0,"o"],[71211,0,"m"],[71212,0,"p"],[71213,0,"o"],[71214,0,"s"],[71215,0,"e"],[71216,0," "],[71217,0,"C"],[71217,1],[71217,0,"C"],[71218,0,"R"],[71219,0,"D"],[71220,0,"T"],[71221,0,"s"],[71222,0," "],[71223,0,"f"],[71224,0,"o"],[71225,0,"r"],[71226,0," "],[71227,0,"o"],[71228,0,"r"],[71229,0,"d"],[71230,0,"e"],[71231,0,"r"],[71232,0,"e"],[71233,0,"d"],[71234,0," "],[71235,0,"l"],[71236,0,"i"],[71237,0,"s"],[71238,0,"t"],[71239,0,"s"],[71240,0,","],[71241,0," "],[71242,0,"m"],[71243,0,"a"],[71244,0,"p"],[71245,0,"s"],[71246,0," "],[71247,0,"a"],[71248,0,"n"],[71249,0,"d"],[71250,0," "],[71251,0,"r"],[71252,0,"e"],[71253,0,"g"],[71254,0,"i"],[71255,0,"s"],[71256,0,"t"],[71257,0,"e"],[71258,0,"r"],[71259,0,"s"],[71260,0," "],[71261,0,"i"],[71262,0,"n"],[71263,0,"t"],[71264,0,"o"],[71265,0," "],[71266,0,"a"],[71267,0," "],[71268,0,"c"],[71269,0,"o"],[71270,0,"m"],[71271,0,"p"],[71272,0,"o"],[71273,0,"u"],[71274,0,"n"],[71275,0,"d"],[71276,0," "],[71277,0,"C"],[71278,0,"R"],[71279,0,"D"],[71280,0,"T"],[71281,0," "],[71282,0,"w"],[71283,0,"i"],[71284,0,"t"],[71285,0,"h"],[71286,0," "],[71287,0,"a"],[71288,0," "],[71289,0,"J"],[71290,0,"S"],[71291,0,"O"],[71292,0,"N"],[71293,0," "],[71294,0,"d"],[71295,0,"a"],[71296,0,"t"],[71297,0,"a"],[71298,0," "],[71299,0,"m"],[71300,0,"o"],[71301,0,"d"],[71302,0,"e"],[71303,0,"l"],[71304,0,"."],[71305,0," "],[71306,0,"I"],[71307,0,"t"],[71308,0," "],[71309,0,"s"],[71310,0,"u"],[71311,0,"p"],[71312,0,"p"],[71313,0,"o"],[71314,0,"r"],[71315,0,"t"],[71316,0,"s"],[71317,0," "],[71318,0,"a"],[71319,0,"r"],[71320,0,"b"],[71321,0,"i"],[71322,0,"t"],[71323,0,"r"],[71324,0,"a"],[71325,0,"r"],[71326,0,"i"],[71327,0,"l"],[71328,0,"y"],[71329,0," "],[71330,0,"n"],[71331,0,"e"],[71332,0,"s"],[71333,0,"t"],[71334,0,"e"],[71335,0,"d"],[71336,0," "],[71337,0,"l"],[71338,0,"i"],[71339,0,"s"],[71340,0,"t"],[71341,0,"s"],[71342,0," "],[71343,0,"a"],[71344,0,"n"],[71345,0,"d"],[71346,0," "],[71347,0,"m"],[71348,0,"a"],[71349,0,"p"],[71350,0,"s"],[71351,0,","],[71352,0," "],[71353,0,"a"],[71354,0,"n"],[71355,0,"d"],[71356,0," "],[71357,0,"i"],[71358,0,"t"],[71359,0," "],[71360,0,"l"],[71360,1],[71360,0,"a"],[71361,0,"l"],[71362,0,"l"],[71363,0,"o"],[71364,0,"w"],[71365,0,"s"],[71366,0," "],[71367,0,"r"],[71368,0,"e"],[71369,0,"p"],[71370,0,"l"],[71371,0,"i"],[71372,0,"c"],[71373,0,"a"],[71374,0,"s"],[71375,0," "],[71376,0,"t"],[71377,0,"o"],[71378,0," "],[71379,0,"m"],[71380,0,"a"],[71381,0,"k"],[71382,0,"e"],[71383,0," "],[71384,0,"a"],[71385,0,"r"],[71386,0,"b"],[71387,0,"i"],[71388,0,"t"],[71389,0,"r"],[71390,0,"a"],[71391,0,"r"],[71392,0,"y"],[71393,0," "],[71394,0,"c"],[71395,0,"h"],[71396,0,"a"],[71397,0,"n"],[71398,0,"g"],[71399,0,"e"],[71400,0,"s"],[71401,0," "],[71402,0,"t"],[71403,0,"o"],[71404,0," "],[71405,0,"t"],[71406,0,"h"],[71407,0,"e"],[71408,0," "],[71409,0,"d"],[71410,0,"a"],[71411,0,"t"],[71412,0,"a"],[71413,0," "],[71414,0,"w"],[71415,0,"i"],[71416,0,"t"],[71417,0,"h"],[71418,0,"o"],[71419,0,"u"],[71420,0,"t"],[71421,0," "],[71422,0,"c"],[71423,0,"o"],[71424,0,"m"],[71425,0,"m"],[71426,0,"u"],[71427,0,"n"],[71428,0,"i"],[71429,0,"c"],[71430,0,"a"],[71431,0,"t"],[71432,0,"i"],[71433,0,"n"],[71434,0,"g"],[71435,0," "],[71436,0,"w"],[71437,0,"i"],[71438,0,"t"],[71439,0,"h"],[71440,0," "],[71422,0,"a"],[71423,0,"n"],[71424,0,"y"],[71425,0," "],[71426,0,"n"],[71427,0,"e"],[71428,0,"t"],[71429,0,"w"],[71430,0,"o"],[71431,0,"r"],[71432,0,"k"],[71433,0," "],[71446,1],[71445,1],[71445,0,"o"],[71446,0,"n"],[71421,0," "],[71422,0,"r"],[71423,0,"e"],[71424,0,"q"],[71425,0,"i"],[71426,0,"o"],[71427,0,"r"],[71428,0,"o"],[71429,0,"m"],[71430,0,"g"],[71430,1],[71429,1],[71428,1],[71427,1],[71426,1],[71426,0,"i"],[71427,0,"n"],[71428,0,"g"],[71426,0,"r"],[71426,0,"u"],[71426,1],[71425,1],[71425,0,"u"],[71426,0,"i"],[71462,1],[71461,1],[71460,1],[71459,1],[71458,1],[71457,1],[71457,0,"."],[71458,0," "],[71459,0,"R"],[71460,0,"e"],[71461,0,"p"],[71462,0,"l"],[71463,0,"i"],[71464,0,"c"],[71465,0,"a"],[71466,0,"s"],[71467,0," "],[71468,0,"a"],[71469,0,"s"],[71470,0,"y"],[71471,0,"n"],[71472,0,"c"],[71473,0,"h"],[71474,0,"r"],[71475,0,"o"],[71476,0,"n"],[71477,0,"o"],[71478,0,"u"],[71479,0,"s"],[71480,0,"l"],[71481,0,"y"],[71482,0," "],[71483,0,"c"],[71484,0,"o"],[71485,0,"m"],[71486,0,"m"],[71487,0,"u"],[71488,0,"n"],[71489,0,"i"],[71490,0,"c"],[71491,0,"a"],[71492,0,"t"],[71493,0,"e"],[71494,0," "],[71495,0,"c"],[71496,0,"h"],[71497,0,"a"],[71497,1],[71496,1],[71495,1],[71495,0,"e"],[71496,0,"d"],[71497,0,"i"],[71498,0,"t"],[71499,0,"s"],[71500,0," "],[71501,0,"i"],[71502,0,"n"],[71503,0," "],[71504,0,"t"],[71505,0,"h"],[71506,0,"e"],[71507,0," "],[71508,0,"f"],[71509,0,"o"],[71510,0,"r"],[71511,0,"m"],[71499,1],[71498,1],[71497,1],[71496,1],[71495,1],[71495,0,"m"],[71496,0,"u"],[71497,0,"t"],[71498,0,"a"],[71499,0,"t"],[71500,0,"i"],[71501,0,"o"],[71502,0,"n"],[71503,0,"s"],[71493,1],[71492,1],[71491,1],[71490,1],[71489,1],[71488,1],[71487,1],[71486,1],[71485,1],[71484,1],[71483,1],[71483,0,"s"],[71484,0,"e"],[71485,0,"n"],[71486,0,"d"],[71497,0," "],[71498,0,"t"],[71499,0,"o"],[71500,0," "],[71501,0,"o"],[71502,0,"t"],[71503,0,"h"],[71504,0,"e"],[71505,0,"r"],[71506,0," "],[71507,0,"r"],[71508,0,"e"],[71509,0,"p"],[71510,0,"l"],[71511,0,"i"],[71512,0,"c"],[71513,0,"a"],[71514,0,"s"],[71527,0," "],[71528,0,"o"],[71529,0,"f"],[71530,0," "],[71531,0,"o"],[71532,0,"p"],[71533,0,"e"],[71534,0,"r"],[71535,0,"a"],[71536,0,"t"],[71537,0,"i"],[71538,0,"o"],[71539,0,"n"],[71540,0,"s"],[71541,0,"."],[71542,0," "],[71543,0,"C"],[71544,0,"o"],[71545,0,"n"],[71546,0,"c"],[71547,0,"u"],[71548,0,"r"],[71549,0,"r"],[71550,0,"e"],[71551,0,"n"],[71552,0,"t"],[71553,0," "],[71554,0,"o"],[71555,0,"p"],[71556,0,"e"],[71557,0,"r"],[71558,0,"a"],[71559,0,"t"],[71560,0,"i"],[71561,0,"o"],[71562,0,"n"],[71563,0,"s"],[71564,0," "],[71565,0,"a"],[71566,0,"r"],[71567,0,"e"],[71568,0," "],[71569,0,"c"],[71570,0,"o"],[71571,0,"m"],[71572,0,"m"],[71573,0,"u"],[71574,0,"t"],[71575,0,"a"],[71576,0,"t"],[71577,0,"i"],[71578,0,"v"],[71579,0,"e"],[71580,0,","],[71581,0," "],[71582,0,"w"],[71583,0,"h"],[71584,0,"i"],[71585,0,"c"],[71586,0,"h"],[71587,0," "],[71588,0,"e"],[71589,0,"n"],[71590,0,"s"],[71591,0,"u"],[71592,0,"r"],[71593,0,"e"],[71594,0,"s"],[71595,0," "],[71596,0,"t"],[71597,0,"h"],[71598,0,"a"],[71599,0,"t"],[71600,0," "],[71601,0,"r"],[71602,0,"e"],[71603,0,"p"],[71604,0,"l"],[71605,0,"i"],[71606,0,"c"],[71607,0,"a"],[71608,0,"s"],[71609,0," "],[71610,0,"c"],[71611,0,"o"],[71612,0,"n"],[71613,0,"v"],[71614,0,"e"],[71615,0,"r"],[71616,0,"g"],[71617,0,"e"],[71618,0," "],[71619,0,"t"],[71620,0,"o"],[71621,0,"w"],[71622,0,"a"],[71623,0,"r"],[71624,0,"d"],[71625,0,"s"],[71626,0," "],[71627,0,"t"],[71628,0,"h"],[71629,0,"e"],[71630,0," "],[71631,0,"s"],[71632,0,"a"],[71633,0,"m"],[71634,0,"e"],[71635,0," "],[71636,0,"s"],[71637,0,"t"],[71638,0,"a"],[71639,0,"t"],[71640,0,"e"],[71641,0," "],[71642,0,"w"],[71643,0,"i"],[71644,0,"t"],[71645,0,"h"],[71646,0,"o"],[71647,0,"u"],[71648,0,"t"],[71649,0," "],[71650,0,"r"],[71651,0,"e"],[71652,0,"q"],[71653,0,"u"],[71654,0,"i"],[71655,0,"r"],[71656,0,"i"],[71657,0,"n"],[71658,0,"g"],[71659,0," "],[71660,0,"a"],[71661,0,"n"],[71662,0,"y"],[71663,0," "],[71664,0,"a"],[71665,0,"p"],[71666,0,"p"],[71667,0,"l"],[71668,0,"i"],[71669,0,"c"],[71670,0,"a"],[71671,0,"t"],[71672,0,"i"],[71673,0,"o"],[71674,0,"n"],[71675,0,"-"],[71676,0,"s"],[71677,0,"p"],[71678,0,"e"],[71679,0,"c"],[71680,0,"i"],[71681,0,"f"],[71682,0,"i"],[71683,0,"c"],[71684,0," "],[71685,0,"c"],[71686,0,"o"],[71687,0,"n"],[71662,1],[71661,1],[71660,1],[71659,1],[71684,0,"f"],[71685,0,"l"],[71686,0,"i"],[71687,0,"c"],[71688,0,"t"],[71689,0," "],[71690,0,"r"],[71691,0,"e"],[71692,0,"s"],[71693,0,"o"],[71694,0,"l"],[71695,0,"u"],[71696,0,"t"],[71697,0,"i"],[71698,0,"o"],[71699,0,"n"],[71700,0," "],[71701,0,"l"],[71702,0,"o"],[71703,0,"g"],[71704,0,"i"],[71705,0,"c"],[71706,0,"."],[71707,0,"\n"],[71708,0,"\n"],[71709,0,"T"],[71710,0,"h"],[71711,0,"i"],[71712,0,"s"],[71713,0," "],[71714,0,"w"],[71715,0,"o"],[71716,0,"r"],[71717,0,"k"],[71718,0," "],[71719,0,"f"],[71720,0,"o"],[71721,0,"c"],[71722,0,"u"],[71723,0,"s"],[71724,0,"e"],[71725,0,"d"],[71726,0," "],[71727,0,"o"],[71728,0,"n"],[71729,0," "],[71730,0,"t"],[71731,0,"h"],[71732,0,"e"],[71733,0," "],[71734,0,"f"],[71735,0,"o"],[71736,0,"r"],[71737,0,"m"],[71738,0,"a"],[71739,0,"l"],[71740,0," "],[71741,0,"s"],[71742,0,"e"],[71743,0,"m"],[71744,0,"a"],[71745,0,"n"],[71746,0,"t"],[71747,0,"i"],[71748,0,"c"],[71749,0,"s"],[71750,0," "],[71751,0,"o"],[71752,0,"f"],[71753,0," "],[71754,0,"t"],[71755,0,"h"],[71756,0,"e"],[71757,0," "],[71758,0,"J"],[71759,0,"S"],[71760,0,"O"],[71761,0,"N"],[71762,0," "],[71763,0,"C"],[71764,0,"R"],[71765,0,"D"],[71766,0,"T"],[71767,0,","],[71768,0," "],[71769,0,"r"],[71770,0,"e"],[71771,0,"p"],[71772,0,"r"],[71773,0,"e"],[71774,0,"s"],[71775,0,"e"],[71776,0,"n"],[71777,0,"t"],[71778,0,"e"],[71779,0,"d"],[71780,0," "],[71781,0,"a"],[71782,0,"s"],[71783,0," "],[71784,0,"a"],[71785,0," "],[71786,0,"m"],[71787,0,"a"],[71788,0,"t"],[71789,0,"h"],[71790,0,"e"],[71791,0,"m"],[71792,0,"a"],[71793,0,"t"],[71794,0,"i"],[71795,0,"c"],[71796,0,"a"],[71797,0,"l"],[71798,0," "],[71799,0,"m"],[71800,0,"o"],[71801,0,"d"],[71802,0,"e"],[71803,0,"l"],[71804,0,"."],[71805,0," "],[71806,0,"W"],[71807,0,"e"],[71808,0," "],[71809,0,"h"],[71810,0,"a"],[71811,0,"v"],[71812,0,"e"],[71813,0," "],[71814,0,"a"],[71815,0,"l"],[71816,0,"s"],[71817,0,"o"],[71818,0," "],[71819,0,"c"],[71820,0,"r"],[71821,0,"e"],[71822,0,"a"],[71823,0,"t"],[71824,0,"e"],[71825,0,"d"],[71826,0," "],[71827,0,"a"],[71828,0," "],[71829,0,"p"],[71830,0,"r"],[71831,0,"a"],[71832,0,"c"],[71833,0,"t"],[71834,0,"i"],[71835,0,"c"],[71836,0,"a"],[71837,0,"l"],[71838,0," "],[71839,0,"i"],[71840,0,"m"],[71841,0,"p"],[71842,0,"l"],[71843,0,"e"],[71844,0,"m"],[71845,0,"e"],[71846,0,"n"],[71847,0,"t"],[71848,0,"a"],[71849,0,"t"],[71850,0,"i"],[71851,0,"o"],[71852,0,"n"],[71853,0," "],[71854,0,"a"],[71855,0,"n"],[71856,0,"d"],[71857,0," "],[71858,0,"w"],[71859,0,"i"],[71860,0,"l"],[71861,0,"l"],[71862,0," "],[71863,0,"r"],[71864,0,"e"],[71865,0,"p"],[71866,0,"o"],[71867,0,"r"],[71868,0,"t"],[71869,0," "],[71870,0,"o"],[71871,0,"n"],[71872,0," "],[71873,0,"i"],[71874,0,"t"],[71875,0,"s"],[71876,0," "],[71877,0,"p"],[71878,0,"e"],[71879,0,"r"],[71880,0,"f"],[71881,0,"o"],[71882,0,"r"],[71883,0,"m"],[71884,0,"a"],[71885,0,"n"],[71886,0,"c"],[71887,0,"e"],[71888,0," "],[71889,0,"c"],[71890,0,"h"],[71891,0,"a"],[71892,0,"r"],[71893,0,"a"],[71894,0,"c"],[71895,0,"t"],[71896,0,"e"],[71897,0,"r"],[71898,0,"i"],[71899,0,"s"],[71900,0,"t"],[71901,0,"i"],[71902,0,"c"],[71903,0,"s"],[71904,0," "],[71905,0,"i"],[71906,0,"n"],[71907,0," "],[71908,0,"a"],[71909,0," "],[71910,0,"s"],[71911,0,"e"],[71912,0,"p"],[71913,0,"a"],[71914,0,"r"],[71915,0,"a"],[71916,0,"t"],[71917,0,"e"],[71918,0," "],[71919,0,"p"],[71920,0,"a"],[71921,0,"p"],[71922,0,"e"],[71923,0,"r"],[71924,0,"."],[71925,0," "],[71926,0,"I"],[71927,0,"n"],[71928,0," "],[71923,1],[71922,1],[71921,1],[71920,1],[71919,1],[71918,1],[71917,1],[71916,1],[71915,1],[71914,1],[71913,1],[71912,1],[71911,1],[71910,1],[71909,1],[71908,1],[71908,0,"f"],[71909,0,"o"],[71910,0,"l"],[71911,0,"l"],[71912,0,"o"],[71913,0,"w"],[71914,0,"-"],[71915,0,"o"],[71916,0,"n"],[71917,0," "],[71918,0,"w"],[71919,0,"o"],[71920,0,"r"],[71921,0,"k"],[71927,0,"f"],[71928,0,"a"],[71929,0,"c"],[71930,0,"t"],[71931,0,","],[71932,0," "],[71933,0,"w"],[71934,0,"e"],[71935,0," "],[71936,0,"w"],[71937,0,"r"],[71938,0,"o"],[71939,0,"t"],[71940,0,"e"],[71941,0," "],[71942,0,"t"],[71943,0,"h"],[71944,0,"e"],[71945,0," "],[71946,0,"{"],[71947,0,"\\"],[71948,0,"L"],[71949,0,"a"],[71950,0,"T"],[71951,0,"e"],[71952,0,"X"],[71953,0,"}"],[71954,0," "],[71955,0,"s"],[71956,0,"o"],[71957,0,"u"],[71958,0,"r"],[71959,0,"c"],[71960,0,"e"],[71961,0," "],[71962,0,"t"],[71963,0,"e"],[71964,0,"x"],[71965,0,"t"],[71966,0," "],[71967,0,"o"],[71968,0,"f"],[71969,0," "],[71970,0,"t"],[71971,0,"h"],[71972,0,"i"],[71973,0,"s"],[71974,0," "],[71975,0,"p"],[71976,0,"a"],[71977,0,"p"],[71978,0,"e"],[71979,0,"r"],[71980,0," "],[71981,0,"u"],[71982,0,"s"],[71983,0,"i"],[71984,0,"n"],[71985,0,"g"],[71986,0," "],[71987,0,"a"],[71988,0,"n"],[71989,0," "],[71990,0,"e"],[71991,0,"x"],[71992,0,"p"],[71993,0,"e"],[71994,0,"r"],[71995,0,"i"],[71996,0,"m"],[71997,0,"e"],[71998,0,"n"],[71999,0,"t"],[72000,0,"a"],[72001,0,"l"],[72002,0," "],[72003,0,"c"],[72004,0,"o"],[72005,0,"l"],[72006,0,"l"],[72007,0,"a"],[72008,0,"b"],[72009,0,"o"],[72010,0,"r"],[72011,0,"a"],[72012,0,"t"],[72013,0,"i"],[72014,0,"v"],[72015,0,"e"],[72016,0," "],[72017,0,"t"],[72018,0,"e"],[72019,0,"x"],[72020,0,"t"],[72021,0," "],[72022,0,"e"],[72023,0,"d"],[72024,0,"i"],[72025,0,"t"],[72026,0,"o"],[72027,0,"r"],[72028,0," "],[72029,0,"u"],[72030,0,"s"],[72031,0,"i"],[72032,0,"n"],[72033,0,"g"],[72034,0," "],[72035,0,"o"],[72036,0,"u"],[72037,0,"r"],[72038,0," "],[72039,0,"i"],[72040,0,"m"],[72041,0,"p"],[72042,0,"l"],[72043,0,"e"],[72044,0,"m"],[72045,0,"e"],[72046,0,"n"],[72047,0,"t"],[72048,0,"a"],[72049,0,"t"],[72050,0,"i"],[72051,0,"o"],[72052,0,"n"],[72053,0," "],[72054,0,"o"],[72055,0,"f"],[72056,0," "],[72057,0,"t"],[72058,0,"h"],[72059,0,"i"],[72060,0,"s"],[72061,0," "],[72062,0,"C"],[72063,0,"R"],[72064,0,"D"],[72065,0,"T"],[72066,0,"."],[72067,0,"\n"],[72068,0,"\n"],[72069,0,"F"],[72070,0,"u"],[72071,0,"r"],[72072,0,"t"],[72073,0,"h"],[72074,0,"e"],[72075,0,"r"],[72076,0," "],[72077,0,"w"],[72078,0,"o"],[72079,0,"r"],[72080,0,"k"],[72081,0," "],[72082,0,"w"],[72083,0,"i"],[72084,0,"l"],[72085,0,"l"],[72086,0," "],[72087,0,"b"],[72088,0,"e"],[72089,0," "],[72090,0,"n"],[72091,0,"e"],[72092,0,"e"],[72093,0,"d"],[72094,0,"e"],[72095,0,"d"],[72096,0," "],[72097,0,"t"],[72098,0,"o"],[72099,0," "],[72100,0,"e"],[72101,0,"x"],[72102,0,"p"],[72103,0,"l"],[72104,0,"o"],[72105,0,"r"],[72106,0,"e"],[72107,0," "],[72108,0,"t"],[72109,0,"h"],[72110,0,"e"],[72111,0," "],[72112,0,"s"],[72113,0,"e"],[72114,0,"m"],[72115,0,"a"],[72116,0,"n"],[72117,0,"t"],[72118,0,"i"],[72119,0,"c"],[72120,0,"s"],[72121,0," "],[72122,0,"t"],[72123,0,"h"],[72124,0,"a"],[72125,0,"t"],[72126,0," "],[72127,0,"a"],[72128,0,"p"],[72129,0,"p"],[72130,0,"l"],[72131,0,"i"],[72132,0,"c"],[72133,0,"a"],[72134,0,"t"],[72135,0,"i"],[72136,0,"o"],[72137,0,"n"],[72138,0," "],[72139,0,"p"],[72140,0,"r"],[72141,0,"o"],[72142,0,"g"],[72143,0,"r"],[72144,0,"a"],[72145,0,"m"],[72146,0,"m"],[72147,0,"e"],[72148,0,"r"],[72149,0,"s"],[72150,0," "],[72151,0,"e"],[72152,0,"x"],[72153,0,"p"],[72154,0,"e"],[72155,0,"c"],[72156,0,"t"],[72157,0," "],[72158,0,"a"],[72159,0,"n"],[72160,0,"d"],[72161,0," "],[72162,0,"r"],[72163,0,"e"],[72164,0,"q"],[72165,0,"u"],[72166,0,"i"],[72167,0,"r"],[72168,0,"e"],[72169,0," "],[72170,0,"o"],[72171,0,"f"],[72172,0," "],[72173,0,"c"],[72174,0,"o"],[72175,0,"l"],[72176,0,"l"],[72177,0,"a"],[72178,0,"b"],[72179,0,"o"],[72180,0,"r"],[72181,0,"a"],[72182,0,"t"],[72183,0,"i"],[72184,0,"v"],[72185,0,"e"],[72186,0,"l"],[72187,0,"y"],[72188,0," "],[72189,0,"e"],[72190,0,"d"],[72191,0,"i"],[72192,0,"t"],[72193,0,"a"],[72194,0,"b"],[72195,0,"l"],[72196,0,"e"],[72197,0," "],[72198,0,"d"],[72199,0,"a"],[72200,0,"t"],[72201,0,"a"],[72202,0," "],[72203,0,"s"],[72204,0,"t"],[72205,0,"r"],[72206,0,"u"],[72207,0,"c"],[72208,0,"t"],[72209,0,"u"],[72210,0,"r"],[72211,0,"e"],[72212,0,"s"],[72213,0,"."],[72214,0," "],[72215,0,"G"],[72216,0,"o"],[72217,0,"o"],[72218,0,"g"],[72219,0,"l"],[72220,0,"e"],[72221,0," "],[72222,0,"R"],[72223,0,"e"],[72224,0,"a"],[72225,0,"l"],[72226,0,"t"],[72227,0,"i"],[72228,0,"m"],[72229,0,"e"],[72230,0," "],[72231,0,"A"],[72232,0,"P"],[72233,0,"I"],[72234,0,"~"],[72235,0,"\\"],[72236,0,"c"],[72237,0,"i"],[72238,0,"t"],[72239,0,"e"],[72240,0,"{"],[72241,0,"G"],[72242,0,"o"],[72243,0,"o"],[72244,0,"g"],[72245,0,"l"],[72246,0,"e"],[72247,0,":"],[72248,0,"2"],[72249,0,"0"],[72250,0,"1"],[72251,0,"5"],[72252,0,"v"],[72253,0,"k"],[72254,0,"}"],[72214,0," "],[72033,1],[72032,1],[72031,1],[72030,1],[72029,1],[72029,0,"t"],[72030,0,"h"],[72031,0,"a"],[72032,0,"t"],[72033,0," "],[72034,0,"i"],[72035,0,"s"],[72036,0," "],[72037,0,"b"],[72038,0,"a"],[72039,0,"s"],[72040,0,"e"],[72041,0,"d"],[72042,0," "],[72043,0,"o"],[72044,0,"n"],[72078,0," "],[72079,0,"W"],[72080,0,"e"],[72081,0," "],[72082,0,"a"],[72083,0,"r"],[72084,0,"e"],[72085,0," "],[72086,0,"m"],[72087,0,"a"],[72088,0,"k"],[72089,0,"i"],[72090,0,"n"],[72091,0,"g"],[72092,0," "],[72093,0,"t"],[72094,0,"h"],[72095,0,"e"],[72096,0," "],[72097,0,"c"],[72098,0,"h"],[72099,0,"a"],[72100,0,"r"],[72101,0,"a"],[72102,0,"c"],[72103,0,"t"],[72104,0,"e"],[72105,0,"r"],[72106,0,"-"],[72107,0,"b"],[72108,0,"y"],[72109,0,"-"],[72110,0,"c"],[72111,0,"h"],[72112,0,"a"],[72113,0,"r"],[72114,0,"a"],[72115,0,"c"],[72116,0,"t"],[72117,0,"e"],[72118,0,"r"],[72119,0," "],[72120,0,"e"],[72121,0,"d"],[72122,0,"i"],[72123,0,"t"],[72124,0,"i"],[72125,0,"n"],[72126,0,"g"],[72127,0," "],[72128,0,"t"],[72129,0,"r"],[72130,0,"a"],[72131,0,"c"],[72132,0,"e"],[72133,0," "],[72134,0,"o"],[72135,0,"f"],[72136,0," "],[72137,0,"t"],[72138,0,"h"],[72139,0,"i"],[72140,0,"s"],[72141,0," "],[72142,0,"d"],[72143,0,"o"],[72144,0,"c"],[72145,0,"u"],[72146,0,"m"],[72147,0,"e"],[72148,0,"n"],[72149,0,"t"],[72150,0," "],[72151,0,"a"],[72152,0,"v"],[72153,0,"a"],[72154,0,"i"],[72155,0,"l"],[72156,0,"a"],[72157,0,"b"],[72158,0,"l"],[72159,0,"e"],[72160,0," "],[72161,0,"a"],[72162,0,"s"],[72163,0," "],[72164,0,"s"],[72165,0,"u"],[72166,0,"p"],[72167,0,"p"],[72168,0,"l"],[72169,0,"e"],[72170,0,"m"],[72171,0,"e"],[72172,0,"n"],[72173,0,"t"],[72174,0,"a"],[72175,0,"l"],[72176,0," "],[72177,0,"d"],[72178,0,"a"],[72179,0,"t"],[72180,0,"a"],[72181,0," "],[72182,0,"o"],[72183,0,"f"],[72184,0," "],[72185,0,"t"],[72186,0,"h"],[72187,0,"i"],[72188,0,"s"],[72189,0," "],[72190,0,"p"],[72191,0,"a"],[72192,0,"p"],[72193,0,"e"],[72194,0,"r"],[72195,0,","],[72196,0," "],[72197,0,"i"],[72198,0,"n"],[72199,0," "],[72200,0,"o"],[72201,0,"r"],[72202,0,"d"],[72203,0,"e"],[72204,0,"r"],[72205,0," "],[72206,0,"t"],[72207,0,"o"],[72208,0," "],[72209,0,"p"],[72210,0,"r"],[72211,0,"o"],[72212,0,"v"],[72213,0,"i"],[72214,0,"d"],[72215,0,"e"],[72216,0," "],[72217,0,"a"],[72218,0," "],[72219,0,"d"],[72220,0,"a"],[72221,0,"t"],[72222,0,"a"],[72223,0,"s"],[72224,0,"e"],[72225,0,"t"],[72226,0," "],[72227,0,"f"],[72228,0,"o"],[72229,0,"r"],[72230,0," "],[72231,0,"t"],[72232,0,"h"],[72233,0,"e"],[72234,0," "],[72235,0,"s"],[72236,0,"t"],[72237,0,"u"],[72238,0,"d"],[72239,0,"y"],[72235,0,"e"],[72236,0,"x"],[72237,0,"p"],[72237,1],[72236,1],[72235,1],[72235,0,"e"],[72236,0,"m"],[72237,0,"p"],[72238,0,"i"],[72239,0,"r"],[72240,0,"i"],[72241,0,"c"],[72242,0,"a"],[72243,0,"l"],[72244,0," "],[72250,0," "],[72251,0,"o"],[72252,0,"f"],[72253,0," "],[72254,0,"c"],[72255,0,"o"],[72256,0,"l"],[72257,0,"l"],[72258,0,"a"],[72259,0,"b"],[72260,0,"o"],[72261,0,"r"],[72262,0,"a"],[72263,0,"t"],[72264,0,"i"],[72265,0,"v"],[72266,0,"e"],[72267,0," "],[72268,0,"e"],[72269,0,"d"],[72270,0,"i"],[72271,0,"t"],[72272,0,"i"],[72273,0,"n"],[72274,0,"g"],[72275,0," "],[72276,0,"a"],[72277,0,"l"],[72278,0,"g"],[72279,0,"o"],[72280,0,"r"],[72281,0,"i"],[72282,0,"t"],[72283,0,"h"],[72284,0,"m"],[72285,0,"s"],[72286,0,"."],[72435,0,"A"],[72436,0,"s"],[72437,0," "],[72438,0,"i"],[72439,0,"l"],[72440,0,"l"],[72441,0,"u"],[72442,0,"s"],[72443,0,"t"],[72444,0,"r"],[72445,0,"a"],[72446,0,"t"],[72447,0,"e"],[72448,0,"d"],[72449,0," "],[72450,0,"i"],[72451,0,"n"],[72452,0," "],[72453,0,"F"],[72454,0,"i"],[72455,0,"g"],[72456,0,"u"],[72457,0,"r"],[72458,0,"e"],[72459,0,"~"],[72460,0,"\\"],[72461,0,"r"],[72462,0,"e"],[72463,0,"f"],[72464,0,"{"],[72465,0,"f"],[72466,0,"i"],[72467,0,"g"],[72468,0,":"],[72469,0,"t"],[72470,0,"o"],[72471,0,"d"],[72472,0,"o"],[72473,0,"-"],[72474,0,"i"],[72475,0,"t"],[72476,0,"e"],[72477,0,"m"],[72478,0,"}"],[72479,0,","],[72480,0," "],[72289,0,"A"],[72290,0,"s"],[72291,0," "],[72292,0,"i"],[72293,0,"l"],[72294,0,"l"],[72295,0,"u"],[72296,0,"s"],[72297,0,"t"],[72298,0,"r"],[72299,0,"a"],[72300,0,"t"],[72301,0,"e"],[72302,0,"d"],[72303,0," "],[72289,0,"O"],[72290,0,"u"],[72291,0,"r"],[72292,0," "],[72293,0,"p"],[72294,0,"r"],[72295,0,"i"],[72296,0,"n"],[72297,0,"c"],[72298,0,"i"],[72299,0,"p"],[72300,0,"l"],[72301,0,"e"],[72302,0," "],[72303,0,"o"],[72304,0,"f"],[72305,0," "],[72306,0,"n"],[72307,0,"o"],[72308,0,"t"],[72309,0," "],[72310,0,"l"],[72311,0,"o"],[72312,0,"s"],[72313,0,"i"],[72314,0,"n"],[72315,0,"g"],[72316,0," "],[72317,0,"i"],[72318,0,"n"],[72319,0,"p"],[72320,0,"u"],[72321,0,"t"],[72322,0," "],[72323,0,"d"],[72324,0,"u"],[72325,0,"e"],[72326,0," "],[72327,0,"t"],[72328,0,"o"],[72329,0," "],[72330,0,"o"],[72330,1],[72330,0,"c"],[72331,0,"o"],[72332,0,"n"],[72333,0,"c"],[72334,0,"u"],[72335,0,"r"],[72336,0,"r"],[72337,0,"e"],[72338,0,"n"],[72339,0,"t"],[72340,0," "],[72341,0,"m"],[72342,0,"o"],[72343,0,"d"],[72344,0,"i"],[72345,0,"f"],[72346,0,"i"],[72347,0,"c"],[72348,0,"a"],[72349,0,"t"],[72350,0,"i"],[72351,0,"o"],[72352,0,"n"],[72353,0,"s"],[72354,0," "],[72355,0,"a"],[72356,0,"p"],[72357,0,"p"],[72358,0,"e"],[72359,0,"a"],[72360,0,"r"],[72361,0,"s"],[72362,0," "],[72363,0,"r"],[72364,0,"e"],[72365,0,"a"],[72366,0,"s"],[72367,0,"o"],[72368,0,"n"],[72369,0,"a"],[72370,0,"b"],[72371,0,"l"],[72372,0,"e"],[72373,0,","],[72374,0," "],[72375,0,"b"],[72376,0,"u"],[72377,0,"t"],[72378,0," "],[72379,0,"a"],[72380,0,"s"],[72381,0," "],[72382,0,"i"],[72383,0,"l"],[72384,0,"l"],[72385,0,"u"],[72386,0,"s"],[72387,0,"t"],[72388,0,"r"],[72389,0,"a"],[72390,0,"t"],[72391,0,"e"],[72392,0,"d"],[72393,0," "],[72394,0,"i"],[72395,0,"n"],[72396,0," "],[72397,0,"F"],[72398,0,"i"],[72399,0,"g"],[72400,0,"u"],[72401,0,"r"],[72402,0,"e"],[72403,0,"~"],[72404,0,"\\"],[72405,0,"r"],[72406,0,"e"],[72407,0,"f"],[72408,0,"{"],[72409,0,"f"],[72410,0,"i"],[72411,0,"g"],[72412,0,":"],[72413,0,"t"],[72414,0,"o"],[72415,0,"d"],[72416,0,"o"],[72417,0,"-"],[72418,0,"i"],[72419,0,"t"],[72420,0,"e"],[72421,0,"m"],[72422,0,"}"],[72423,0,","],[72424,0," "],[72425,1],[72425,1],[72425,0,"i"],[72426,0,"t"],[72427,0," "],[72428,0,"l"],[72429,0,"e"],[72430,0,"a"],[72431,0,"d"],[72432,0,"s"],[72433,0," "],[72434,0,"t"],[72435,0,"o"],[72436,0," "],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,1],[72437,0,"s"],[72438,0,"u"],[72439,0,"r"],[72440,0,"p"],[72441,0,"r"],[72441,1],[72440,1],[72439,1],[72438,1],[72437,1],[72437,0,"m"],[72438,0,"e"],[72439,0,"r"],[72440,0,"g"],[72441,0,"e"],[72442,0,"d"],[72443,0," "],[72444,0,"d"],[72445,0,"o"],[72446,0,"c"],[72447,0,"u"],[72448,0,"m"],[72449,0,"e"],[72450,0,"n"],[72451,0,"t"],[72452,0," "],[72453,0,"s"],[72454,0,"t"],[72455,0,"a"],[72456,0,"t"],[72457,0,"e"],[72458,0,"s"],[72459,0," "],[72460,0,"t"],[72461,0,"h"],[72462,0,"a"],[72463,0,"t"],[72464,0," "],[72465,0,"m"],[72466,0,"a"],[72467,0,"y"],[72468,0," "],[72469,0,"b"],[72470,0,"e"],[72471,0," "],[72472,0,"s"],[72473,0,"u"],[72474,0,"r"],[72475,0,"p"],[72476,0,"r"],[72477,0,"i"],[72478,0,"s"],[72479,0,"i"],[72480,0,"n"],[72481,0,"g"],[72482,0," "],[72483,0,"t"],[72484,0,"o"],[72485,0," "],[72486,0,"a"],[72487,0,"p"],[72488,0,"p"],[72489,0,"l"],[72490,0,"i"],[72491,0,"c"],[72492,0,"a"],[72493,0,"t"],[72494,0,"i"],[72495,0,"o"],[72496,0,"n"],[72497,0," "],[72498,0,"p"],[72499,0,"r"],[72500,0,"o"],[72501,0,"g"],[72502,0,"r"],[72503,0,"a"],[72504,0,"m"],[72505,0,"m"],[72506,0,"e"],[72507,0,"r"],[72508,0,"s"],[72509,0," "],[72510,0,"w"],[72511,0,"h"],[72512,0,"o"],[72513,0," "],[72514,0,"a"],[72515,0,"r"],[72516,0,"e"],[72517,0," "],[72518,0,"m"],[72519,0,"o"],[72520,0,"r"],[72521,0,"e"],[72522,0," "],[72523,0,"f"],[72524,0,"a"],[72525,0,"m"],[72526,0,"i"],[72527,0,"l"],[72528,0,"i"],[72529,0,"a"],[72530,0,"r"],[72531,0," "],[72532,0,"w"],[72533,0,"i"],[72534,0,"t"],[72535,0,"h"],[72536,0," "],[72537,0,"s"],[72538,0,"e"],[72539,0,"q"],[72540,0,"u"],[72541,0,"e"],[72542,0,"n"],[72543,0,"t"],[72544,0,"i"],[72545,0,"a"],[72546,0,"l"],[72547,0," "],[72548,0,"p"],[72549,0,"r"],[72550,0,"o"],[72551,0,"g"],[72552,0,"r"],[72553,0,"a"],[72554,0,"m"],[72555,0,"s"],[72556,0,"."],[72790,1],[72789,1],[72788,1],[72787,1],[72786,1],[72785,1],[72784,1],[72783,1],[72782,1],[72781,1],[72780,1],[72779,1],[72778,1],[72777,1],[72776,1],[72775,1],[72774,1],[72773,1],[72772,1],[72771,1],[72770,1],[72769,1],[72768,1],[72767,1],[72766,1],[72765,1],[72764,1],[72763,1],[72762,1],[72761,1],[72760,1],[72759,1],[72758,1],[72757,1],[72756,1],[72755,1],[72754,1],[72753,1],[72752,1],[72751,1],[72750,1],[72749,1],[72748,1],[72747,1],[72746,1],[72745,1],[72744,1],[72743,1],[72742,1],[72741,1],[72740,1],[72739,1],[72738,1],[72737,1],[72736,1],[72735,1],[72734,1],[72733,1],[72732,1],[72731,1],[72730,1],[72729,1],[72728,1],[72727,1],[72726,1],[72725,1],[72724,1],[72723,1],[72722,1],[72721,1],[72720,1],[72719,1],[72718,1],[72717,1],[72716,1],[72715,1],[72714,1],[72713,1],[72712,1],[72711,1],[72710,1],[72709,1],[72708,1],[72707,1],[72706,1],[72705,1],[72704,1],[72703,1],[72703,0,"\n"],[71152,0,"s"],[72706,0,"T"],[72707,0,"w"],[72708,0,"o"],[72709,0," "],[72710,0,"i"],[72711,0,"m"],[72712,0,"p"],[72713,0,"o"],[72714,0,"r"],[72715,0,"t"],[72716,0,"a"],[72717,0,"n"],[72718,0,"t"],[72719,0," "],[72720,0,"f"],[72721,0,"e"],[72722,0,"r"],[72723,0,"a"],[72724,0,"t"],[72725,0,"u"],[72725,1],[72724,1],[72723,1],[72722,1],[72722,0,"a"],[72723,0,"t"],[72724,0,"u"],[72725,0,"r"],[72726,0,"e"],[72727,0,"s"],[72727,1],[72726,1],[72725,1],[72724,1],[72723,1],[72722,1],[72721,1],[72720,1],[72719,1],[72718,1],[72717,1],[72716,1],[72715,1],[72714,1],[72713,1],[72712,1],[72711,1],[72710,1],[72709,1],[72708,1],[72707,1],[72707,0,"h"],[72708,0,"e"],[72709,0," "],[72710,0,"C"],[72711,0,"R"],[72712,0,"D"],[72713,0,"T"],[72714,0," "],[72715,0,"d"],[72716,0,"e"],[72717,0,"f"],[72718,0,"i"],[72719,0,"n"],[72720,0,"e"],[72721,0,"d"],[72722,0," "],[72723,0,"i"],[72724,0,"n"],[72725,0," "],[72726,0,"t"],[72727,0,"h"],[72728,0,"i"],[72729,0,"s"],[72730,0," "],[72731,0,"p"],[72732,0,"a"],[72733,0,"p"],[72734,0,"e"],[72735,0,"r"],[72736,0," "],[72737,0,"s"],[72738,0,"u"],[72739,0,"p"],[72740,0,"p"],[72741,0,"o"],[72742,0,"r"],[72743,0,"t"],[72744,0,"s"],[72745,0," "],[72746,0,"i"],[72747,0,"n"],[72748,0,"s"],[72749,0,"e"],[72750,0,"r"],[72751,0,"t"],[72752,0,"i"],[72753,0,"o"],[72754,0,"n"],[72755,0,","],[72756,0," "],[72757,0,"d"],[72758,0,"e"],[72759,0,"l"],[72760,0,"e"],[72761,0,"t"],[72762,0,"i"],[72763,0,"o"],[72764,0,"n"],[72765,0," "],[72766,0,"a"],[72767,0,"n"],[72768,0,"d"],[72769,0," "],[72770,0,"a"],[72771,0,"s"],[72772,0,"s"],[72773,0,"i"],[72774,0,"g"],[72775,0,"n"],[72776,0,"m"],[72777,0,"e"],[72778,0,"n"],[72779,0,"t"],[72780,0," "],[72781,0,"o"],[72782,0,"p"],[72783,0,"e"],[72784,0,"r"],[72785,0,"a"],[72786,0,"t"],[72787,0,"i"],[72788,0,"o"],[72789,0,"n"],[72790,0,"s"],[72791,0,"."],[72792,0," "],[72793,0,"I"],[72794,0,"n"],[72795,0," "],[72796,0,"a"],[72797,0,"d"],[72798,0,"d"],[72799,0,"i"],[72800,0,"t"],[72801,0,"i"],[72802,0,"o"],[72803,0,"n"],[72804,0," "],[72805,0,"t"],[72806,0,"o"],[72807,0," "],[72808,0,"t"],[72809,0,"h"],[72810,0,"e"],[72811,0,"s"],[72812,0,"e"],[72813,0,","],[72814,0," "],[72815,0,"i"],[72816,0,"t"],[72817,0," "],[72818,0,"w"],[72819,0,"o"],[72820,0,"u"],[72821,0,"l"],[72822,0,"d"],[72823,0," "],[72824,0,"b"],[72825,0,"e"],[72826,0," "],[72827,0,"u"],[72828,0,"s"],[72829,0,"e"],[72830,0,"f"],[72831,0,"u"],[72832,0,"l"],[72833,0," "],[72834,0,"t"],[72835,0,"o"],[72836,0," "],[72837,0,"s"],[72838,0,"u"],[72839,0,"p"],[72840,0,"p"],[72841,0,"o"],[72842,0,"r"],[72843,0,"t"],[72844,0," "],[72845,0,"a"],[72846,0," "],[72847,0,"\\"],[72848,0,"e"],[72849,0,"m"],[72850,0,"p"],[72851,0,"h"],[72852,0,"{"],[72853,0,"m"],[72854,0,"o"],[72855,0,"v"],[72856,0,"e"],[72857,0,"}"],[72858,0," "],[72859,0,"o"],[72860,0,"p"],[72861,0,"e"],[72862,0,"r"],[72863,0,"a"],[72864,0,"t"],[72865,0,"i"],[72866,0,"o"],[72867,0,"n"],[72868,0," "],[72869,0,"("],[72870,0,"t"],[72871,0,"o"],[72872,0," "],[72873,0,"c"],[72874,0,"h"],[72875,0,"a"],[72876,0,"n"],[72877,0,"g"],[72878,0,"e"],[72879,0," "],[72880,0,"t"],[72881,0,"h"],[72882,0,"e"],[72883,0," "],[72884,0,"o"],[72885,0,"r"],[72886,0,"d"],[72887,0,"e"],[72888,0,"r"],[72889,0," "],[72890,0,"o"],[72891,0,"f"],[72892,0," "],[72893,0,"e"],[72894,0,"l"],[72895,0,"e"],[72896,0,"m"],[72897,0,"e"],[72898,0,"n"],[72899,0,"t"],[72900,0,"s"],[72901,0," "],[72902,0,"i"],[72903,0,"n"],[72904,0," "],[72905,0,"a"],[72906,0,"n"],[72907,0," "],[72908,0,"o"],[72909,0,"r"],[72910,0,"d"],[72911,0,"e"],[72912,0,"r"],[72913,0,"e"],[72914,0,"d"],[72915,0," "],[72916,0,"l"],[72917,0,"i"],[72918,0,"s"],[72919,0,"t"],[72920,0,","],[72921,0," "],[72922,0,"o"],[72923,0,"r"],[72924,0," "],[72925,0,"t"],[72926,0,"o"],[72927,0," "],[72928,0,"m"],[72929,0,"o"],[72930,0,"v"],[72931,0,"e"],[72932,0," "],[72933,0,"a"],[72934,0," "],[72935,0,"s"],[72936,0,"u"],[72937,0,"b"],[72938,0,"t"],[72939,0,"r"],[72940,0,"e"],[72941,0,"e"],[72942,0," "],[72943,0,"f"],[72944,0,"r"],[72945,0,"o"],[72946,0,"m"],[72947,0," "],[72948,0,"o"],[72949,0,"n"],[72950,0,"e"],[72951,0," "],[72952,0,"p"],[72953,0,"o"],[72954,0,"s"],[72955,0,"i"],[72956,0,"t"],[72957,0,"i"],[72958,0,"o"],[72959,0,"n"],[72960,0," "],[72961,0,"i"],[72962,0,"n"],[72963,0," "],[72964,0,"a"],[72965,0," "],[72966,0,"d"],[72967,0,"o"],[72968,0,"c"],[72969,0,"u"],[72970,0,"m"],[72971,0,"e"],[72972,0,"n"],[72973,0,"t"],[72974,0," "],[72975,0,"t"],[72976,0,"o"],[72977,0," "],[72978,0,"a"],[72979,0,"n"],[72980,0,"o"],[72981,0,"t"],[72982,0,"h"],[72983,0,"e"],[72984,0,"r"],[72985,0,")"],[72986,0," "],[72987,0,"a"],[72988,0,"n"],[72989,0,"d"],[72990,0," "],[72991,0,"a"],[72992,0,"n"],[72993,0," "],[72994,0,"\\"],[72995,0,"e"],[72996,0,"m"],[72997,0,"p"],[72998,0,"h"],[72999,0,"{"],[73000,0,"u"],[73001,0,"n"],[73002,0,"d"],[73003,0,"o"],[73004,0,"}"],[73005,0," "],[73006,0,"o"],[73007,0,"p"],[73008,0,"e"],[73009,0,"r"],[73010,0,"a"],[73011,0,"t"],[73012,0,"i"],[73013,0,"o"],[73014,0,"n"],[73015,0,"."],[73016,0," "],[73017,0,"W"],[73018,0,"e"],[73019,0," "],[73020,0,"p"],[73021,0,"l"],[73022,0,"a"],[73023,0,"n"],[73024,0," "],[73025,0,"t"],[73026,0,"o"],[73027,0," "],[73028,0,"a"],[73029,0,"d"],[73030,0,"d"],[73031,0,"r"],[73032,0,"e"],[73033,0,"s"],[73034,0,"s"],[73035,0," "],[73036,0,"t"],[73037,0,"h"],[73038,0,"e"],[73039,0,"s"],[73040,0,"e"],[73041,0," "],[73042,0,"m"],[73043,0,"i"],[73044,0,"s"],[73045,0,"s"],[73046,0,"i"],[73047,0,"n"],[73048,0,"g"],[73049,0," "],[73050,0,"f"],[73051,0,"e"],[73052,0,"a"],[73053,0,"t"],[73054,0,"u"],[73055,0,"r"],[73056,0,"e"],[73057,0,"s"],[73058,0," "],[73059,0,"i"],[73060,0,"n"],[73061,0," "],[73062,0,"f"],[73063,0,"u"],[73064,0,"t"],[73065,0,"u"],[73066,0,"r"],[73067,0,"e"],[73068,0," "],[73069,0,"w"],[73070,0,"o"],[73071,0,"r"],[73072,0,"k"],[73073,0,"."],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,1],[71423,0,"w"],[71424,0,"a"],[71425,0,"i"],[71426,0,"t"],[71427,0,"i"],[71428,0,"n"],[71429,0,"g"],[71430,0," "],[71431,0,"f"],[71432,0,"o"],[71433,0,"r"],[657,1],[656,1],[655,1],[654,1],[653,1],[653,0,"t"],[654,0,"r"],[655,0,"u"],[656,0,"e"],[73238,0,"\n"],[73239,0,"\\"],[73240,0,"c"],[73241,0,"l"],[73242,0,"e"],[73243,0,"a"],[73244,0,"r"],[73245,0,"p"],[73246,0,"a"],[73247,0,"g"],[73248,0,"e"],[73299,0,"\n"],[73300,0,"\n"],[73300,0,"I"],[73301,0,"n"],[73302,0," "],[73303,0,"t"],[73304,0,"h"],[73305,0,"i"],[73306,0,"s"],[73307,0," "],[73308,0,"a"],[73309,0,"p"],[73310,0,"p"],[73311,0,"e"],[73312,0,"n"],[73313,0,"d"],[73314,0,"i"],[73315,0,"x"],[73316,0," "],[73317,0,"w"],[73318,0,"e"],[73319,0," "],[73320,0,"p"],[73321,0,"r"],[73322,0,"o"],[73323,0,"v"],[73324,0,"i"],[73325,0,"d"],[73326,0,"e"],[73327,0," "],[73328,0,"a"],[73329,0," "],[73330,0,"p"],[73331,0,"r"],[73332,0,"o"],[73333,0,"o"],[73334,0,"f"],[73335,0," "],[73336,0,"o"],[73337,0,"f"],[73338,0," "],[73339,0,"t"],[73340,0,"h"],[73341,0,"e"],[73342,0," "],[73343,0,"t"],[73344,0,"h"],[73345,0,"e"],[73346,0,"o"],[73347,0,"r"],[73348,0,"e"],[73349,0,"m"],[73350,0," "],[73351,0,"s"],[73352,0,"t"],[73353,0,"a"],[73354,0,"t"],[73355,0,"e"],[73356,0,"d"],[73357,0," "],[73358,0,"i"],[73359,0,"n"],[73360,0," "],[73361,0,"s"],[73362,0,"e"],[73362,1],[73361,1],[73361,0,"S"],[73362,0,"e"],[73363,0,"c"],[73364,0,"t"],[73365,0,"i"],[73366,0,"o"],[73367,0,"n"],[73368,0,"~"],[73369,0,"\\"],[73370,0,"r"],[73371,0,"e"],[73372,0,"f"],[73373,0,"{"],[73374,0,"s"],[73375,0,"e"],[73376,0,"c"],[73377,0,":"],[73378,0,"c"],[73379,0,"o"],[73380,0,"n"],[73381,0,"v"],[73382,0,"e"],[73383,0,"r"],[73384,0,"g"],[73385,0,"e"],[73386,0,"n"],[73387,0,"c"],[73388,0,"e"],[73389,0,"}"],[73390,0,"."],[73392,0,"\n"],[73393,0,"\n"],[73393,0,"\\"],[73394,0,"b"],[73395,0,"e"],[73396,0,"g"],[73397,0,"i"],[73398,0,"n"],[73399,0,"{"],[73400,0,"l"],[73401,0,"e"],[73402,0,"m"],[73403,0,"m"],[73404,0,"a"],[73405,0,"}"],[73406,0,"\n"],[73407,0,"\\"],[73408,0,"e"],[73409,0,"n"],[73410,0,"d"],[73411,0,"{"],[73412,0,"l"],[73413,0,"e"],[73414,0,"m"],[73415,0,"m"],[73416,0,"a"],[73417,0,"}"],[73406,0,"\n"],[73407,0,"T"],[73408,0,"h"],[73409,0,"e"],[73410,0," "],[73411,0,"e"],[73412,0,"v"],[73413,0,"a"],[73414,0,"l"],[73415,0,"u"],[73416,0,"a"],[73417,0,"t"],[73417,1],[73416,1],[73415,1],[73414,1],[73413,1],[73412,1],[73411,1],[73410,1],[73409,1],[73408,1],[73407,1],[73407,0,"I"],[73408,0,"f"],[73409,0," "],[73410,0,"$"],[73411,0,"\\"],[73412,0,"m"],[73413,0,"a"],[73414,0,"t"],[73415,0,"h"],[73416,0,"i"],[73417,0,"t"],[73418,0,"{"],[73419,0,"i"],[73420,0,"d"],[73421,0,"}"],[73422,0,"_"],[73423,0,"1"],[73424,0,"$"],[73425,0," "],[73426,0,"a"],[73427,0,"p"],[73428,0,"p"],[73429,0,"e"],[73430,0,"a"],[73431,0,"r"],[73432,0,"s"],[73433,0," "],[73434,0,"b"],[73435,0,"e"],[73436,0,"f"],[73437,0,"o"],[73438,0,"r"],[73439,0,"e"],[73440,0," "],[73441,0,"$"],[73442,0,"\\"],[73443,0,"m"],[73444,0,"a"],[73445,0,"t"],[73446,0,"h"],[73447,0,"i"],[73448,0,"t"],[73449,0,"{"],[73450,0,"i"],[73451,0,"d"],[73452,0,"}"],[73453,0,"_"],[73454,0,"2"],[73455,0,"$"],[73456,0," "],[73457,0,"i"],[73458,0,"n"],[73459,0," "],[73460,0,"a"],[73461,0,"n"],[73462,0," "],[73463,0,"o"],[73464,0,"r"],[73465,0,"d"],[73466,0,"e"],[73467,0,"r"],[73468,0,"e"],[73469,0,"d"],[73470,0," "],[73471,0,"l"],[73472,0,"i"],[73473,0,"s"],[73474,0,"t"],[73475,0,","],[73476,0," "],[73477,0,"a"],[73478,0,"n"],[73479,0,"d"],[73480,0," "],[73481,0,"t"],[73482,0,"h"],[73483,0,"e"],[73484,0," "],[73485,0,"l"],[73486,0,"i"],[73487,0,"s"],[73488,0,"t"],[73489,0," "],[73490,0,"i"],[73491,0,"s"],[73492,0," "],[73493,0,"m"],[73494,0,"u"],[73495,0,"t"],[73496,0,"a"],[73497,0,"t"],[73498,0,"e"],[73499,0,"d"],[73500,0," "],[73501,0,"a"],[73502,0,"c"],[73503,0,"c"],[73504,0,"o"],[73505,0,"r"],[73506,0,"d"],[73507,0,"i"],[73508,0,"n"],[73509,0,"g"],[73510,0," "],[73511,0,"t"],[73512,0,"o"],[73513,0," "],[73514,0,"t"],[73515,0,"h"],[73516,0,"e"],[73517,0," "],[73518,0,"v"],[73518,1],[73518,0,"e"],[73519,0,"v"],[73520,0,"a"],[73521,0,"l"],[73522,0,"u"],[73523,0,"a"],[73524,0,"t"],[73525,0,"i"],[73526,0,"o"],[73527,0,"n"],[73528,0," "],[73529,0,"r"],[73530,0,"u"],[73531,0,"l"],[73532,0,"e"],[73533,0,"s"],[73534,0,","],[73535,0," "],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,1],[73426,0,"p"],[73427,0,"r"],[73428,0,"e"],[73429,0,"c"],[73430,0,"e"],[73431,0,"d"],[73432,0,"e"],[73433,0,"s"],[73530,0,"$"],[73531,0,"\\"],[73532,0,"m"],[73533,0,"a"],[73534,0,"t"],[73535,0,"h"],[73536,0,"i"],[73537,0,"t"],[73538,0,"{"],[73539,0,"i"],[73540,0,"d"],[73541,0,"}"],[73542,0,"_"],[73543,0,"1"],[73544,0,"$"],[73545,0," "],[73546,0,"a"],[73547,0,"l"],[73548,0,"s"],[73549,0,"o"],[73550,0," "],[73551,0,"p"],[73552,0,"r"],[73553,0,"e"],[73554,0,"c"],[73555,0,"e"],[73556,0,"d"],[73557,0,"e"],[73558,0,"s"],[73559,0," "],[73560,0,"$"],[73561,0,"\\"],[73562,0,"m"],[73563,0,"a"],[73564,0,"t"],[73565,0,"h"],[73566,0,"i"],[73567,0,"t"],[73568,0,"{"],[73569,0,"i"],[73570,0,"d"],[73571,0,"}"],[73572,0,"_"],[73573,0,"2"],[73574,0,"$"],[73575,0," "],[73576,0,"i"],[73577,0,"n"],[73578,0," "],[73579,0,"a"],[73580,0,"l"],[73581,0,"l"],[73582,0," "],[73583,0,"r"],[73584,0,"e"],[73585,0,"s"],[73586,0,"u"],[73587,0,"l"],[73588,0,"t"],[73589,0,"i"],[73590,0,"n"],[73591,0,"g"],[73592,0," "],[73592,1],[73591,1],[73590,1],[73589,1],[73588,1],[73587,1],[73586,1],[73585,1],[73584,1],[73583,1],[73583,0,"s"],[73584,0,"u"],[73585,0,"c"],[73586,0,"c"],[73587,0,"e"],[73588,0,"s"],[73589,0,"s"],[73590,0,"i"],[73591,0,"v"],[73592,0,"e"],[73593,0," "],[73594,0,"s"],[73595,0,"t"],[73595,1],[73594,1],[73594,0,"d"],[73595,0,"o"],[73596,0,"c"],[73597,0,"u"],[73598,0,"m"],[73599,0,"e"],[73600,0,"n"],[73601,0,"t"],[73602,0," "],[73603,0,"s"],[73604,0,"t"],[73605,0,"a"],[73606,0,"t"],[73607,0,"e"],[73608,0,"s"],[73609,0,"."],[73391,0,"\n"],[73392,0,"\n"],[73393,0,"\\"],[73394,0,"b"],[73395,0,"e"],[73396,0,"g"],[73397,0,"i"],[73398,0,"n"],[73399,0,"{"],[73400,0,"d"],[73401,0,"e"],[73402,0,"f"],[73403,0,"i"],[73404,0,"n"],[73405,0,"i"],[73406,0,"t"],[73407,0,"i"],[73408,0,"o"],[73409,0,"n"],[73410,0,"}"],[73411,0,"\n"],[73412,0,"\\"],[73413,0,"e"],[73414,0,"n"],[73415,0,"d"],[73416,0,"{"],[73417,0,"d"],[73418,0,"e"],[73419,0,"f"],[73420,0,"i"],[73421,0,"n"],[73422,0,"i"],[73423,0,"t"],[73424,0,"i"],[73425,0,"o"],[73426,0,"n"],[73427,0,"}"],[73411,0,"\n"],[73391,0," "],[73392,0,"W"],[73393,0,"e"],[73394,0," "],[73395,0,"b"],[73396,0,"e"],[73397,0,"g"],[73398,0,"i"],[73399,0,"n"],[73400,0," "],[73401,0,"w"],[73402,0,"i"],[73403,0,"t"],[73404,0,"h"],[73405,0," "],[73406,0,"s"],[73407,0,"o"],[73408,0,"m"],[73409,0,"e"],[73410,0," "],[73411,0,"l"],[73412,0,"e"],[73413,0,"m"],[73414,0,"m"],[73415,0,"a"],[73416,0,"s"],[73417,0," "],[73418,0,"a"],[73419,0,"b"],[73420,0,"o"],[73421,0,"u"],[73422,0,"t"],[73423,0," "],[73424,0,"o"],[73425,0,"r"],[73426,0,"d"],[73427,0,"e"],[73428,0,"r"],[73429,0,"e"],[73430,0,"d"],[73431,0," "],[73432,0,"l"],[73433,0,"i"],[73434,0,"s"],[73435,0,"t"],[73436,0,"s"],[73437,0,","],[73438,0," "],[73439,0,"a"],[73440,0,"n"],[73441,0,"d"],[73442,0," "],[73443,0,"t"],[73444,0,"h"],[73445,0,"e"],[73446,0,"n"],[73447,0," "],[73448,0,"w"],[73449,0,"o"],[73450,0,"r"],[73451,0,"k"],[73452,0," "],[73453,0,"o"],[73454,0,"u"],[73455,0,"r"],[73456,0," "],[73457,0,"w"],[73458,0,"a"],[73459,0,"y"],[73460,0," "],[73461,0,"t"],[73462,0,"o"],[73463,0,"w"],[73464,0,"a"],[73465,0,"r"],[73466,0,"d"],[73467,0,"s"],[73468,0," "],[73469,0,"m"],[73470,0,"o"],[73471,0,"r"],[73472,0,"e"],[73473,0," "],[73474,0,"c"],[73475,0,"o"],[73476,0,"m"],[73477,0,"p"],[73478,0,"l"],[73479,0,"e"],[73480,0," "],[73480,1],[73480,0,"x"],[73481,0," "],[73482,0,"c"],[73483,0,"o"],[73484,0,"m"],[73485,0,"p"],[73486,0,"o"],[73487,0,"s"],[73488,0,"i"],[73489,0,"t"],[73490,0,"e"],[73491,0," "],[73492,0,"d"],[73493,0,"o"],[73494,0,"c"],[73495,0,"u"],[73496,0,"m"],[73497,0,"e"],[73498,0,"n"],[73499,0,"t"],[73500,0,"s"],[73501,0,"."],[73492,0,"J"],[73493,0,"S"],[73494,0,"O"],[73495,0,"N"],[73496,0," "],[73528,0,"L"],[73529,0,"i"],[73530,0,"t"],[73530,1],[73530,0,"s"],[73531,0,"t"],[73532,0," "],[73533,0,"e"],[73534,0,"l"],[73535,0,"e"],[73536,0,"m"],[73537,0,"e"],[73538,0,"n"],[73539,0," "],[73540,0,"t"],[73541,0," "],[73541,1],[73540,1],[73539,1],[73539,0,"t"],[73540,0," "],[73541,0,"$"],[73542,0,"k"],[73543,0,"_"],[73544,0,"1"],[73545,0,"$"],[73593,1],[73592,1],[73591,1],[73590,1],[73589,1],[73588,1],[73587,1],[73586,1],[73585,1],[73584,1],[73583,1],[73583,0,"k"],[73608,1],[73607,1],[73606,1],[73605,1],[73604,1],[73603,1],[73602,1],[73601,1],[73600,1],[73599,1],[73598,1],[73598,0,"k"],[73723,1],[73722,1],[73721,1],[73720,1],[73719,1],[73718,1],[73717,1],[73716,1],[73715,1],[73714,1],[73713,1],[73713,0,"k"],[73693,1],[73692,1],[73691,1],[73690,1],[73689,1],[73688,1],[73687,1],[73686,1],[73685,1],[73684,1],[73683,1],[73683,0,"k"],[73546,0," "],[73547,0,"\\"],[73548,0,"e"],[73549,0,"m"],[73550,0,"p"],[73551,0,"h"],[73552,0,"{"],[73553,0,"p"],[73554,0,"r"],[73555,0,"e"],[73556,0,"c"],[73557,0,"e"],[73558,0,"d"],[73559,0,"e"],[73560,0,"s"],[73561,0,"}"],[73562,0," "],[73563,0,"l"],[73564,0,"i"],[73565,0,"s"],[73566,0,"t"],[73567,0," "],[73568,0,"e"],[73569,0,"l"],[73570,0,"e"],[73571,0,"m"],[73572,0,"e"],[73573,0,"n"],[73574,0,"t"],[73575,0," "],[73576,0,"$"],[73577,0,"k"],[73578,0,"_"],[73579,0,"2"],[73580,0,"$"],[73581,0," "],[73582,0,"i"],[73583,0,"n"],[73584,0," "],[73585,0,"\\"],[73585,1],[73585,0,"$"],[73586,0,"\\"],[73587,0,"m"],[73588,0,"a"],[73589,0,"t"],[73590,0,"h"],[73591,0,"i"],[73592,0,"t"],[73593,0,"{"],[73594,0,"c"],[73595,0,"t"],[73596,0,"x"],[73597,0,"}"],[73598,0,"$"],[73599,0," "],[73600,0,"i"],[73601,0,"f"],[73602,0," "],[73579,1],[73579,0,"n"],[73603,0,"t"],[73604,0,"h"],[73605,0,"e"],[73606,0,"r"],[73607,0,"e"],[73608,0," "],[73609,0,"e"],[73610,0,"x"],[73611,0,"i"],[73612,0,"s"],[73613,0,"t"],[73614,0," "],[73615,0,"$"],[73616,0,"k"],[73617,0,"_"],[73618,0,"2"],[73619,0,","],[73620,0," "],[73621,0,"\\"],[73622,0,"d"],[73623,0,"o"],[73624,0,"t"],[73625,0,"s"],[73626,0,","],[73627,0," "],[73628,0,"k"],[73629,0,"_"],[73630,0,"{"],[73631,0,"n"],[73632,0,"-"],[73633,0,"1"],[73634,0,"}"],[73635,0,"$"],[73636,0," "],[73637,0,"s"],[73638,0,"u"],[73639,0,"c"],[73640,0,"h"],[73641,0," "],[73642,0,"t"],[73643,0,"h"],[73644,0,"a"],[73645,0,"t"],[73646,0," "],[73647,0,"$"],[73648,0,"\\"],[73649,0,"m"],[73650,0,"a"],[73651,0,"t"],[73652,0,"h"],[73653,0,"i"],[73654,0,"t"],[73655,0,"{"],[73656,0,"c"],[73657,0,"t"],[73658,0,"x"],[73659,0,"}"],[73660,0,"("],[73661,0,"\\"],[73662,0,"m"],[73663,0,"a"],[73664,0,"t"],[73665,0,"h"],[73666,0,"s"],[73667,0,"f"],[73668,0,"{"],[73669,0,"n"],[73670,0,"e"],[73671,0,"x"],[73672,0,"t"],[73673,0,"}"],[73674,0,"("],[73675,0,"k"],[73676,0,"_"],[73677,0,"1"],[73678,0,")"],[73679,0,")"],[73680,0," "],[73681,0,"="],[73682,0," "],[73683,0,"k"],[73684,0,"_"],[73685,0,"2"],[73686,0," "],[73687,0,"\\"],[73688,0,";"],[73689,0,"\\"],[73690,0,"w"],[73691,0,"e"],[73692,0,"d"],[73693,0,"g"],[73694,0,"e"],[73695,0,"\\"],[73696,0,";"],[73697,0," "],[73698,0,"\\"],[73699,0,"m"],[73700,0,"a"],[73701,0,"t"],[73702,0,"h"],[73703,0,"i"],[73704,0,"t"],[73705,0,"{"],[73706,0,"c"],[73707,0,"t"],[73708,0,"x"],[73709,0,"}"],[73710,0,"("],[73711,0,"\\"],[73712,0,"m"],[73713,0,"a"],[73714,0,"t"],[73715,0,"h"],[73716,0,"s"],[73717,0,"f"],[73718,0,"{"],[73719,0,"n"],[73720,0,"e"],[73721,0,"x"],[73722,0,"t"],[73723,0,"}"],[73724,0,"("],[73725,0,"k"],[73726,0,"_"],[73727,0,"2"],[73648,0,"\\"],[73649,0,"f"],[73650,0,"o"],[73651,0,"r"],[73652,0,"a"],[73653,0,"l"],[73654,0,"l"],[73655,0," "],[73646,0," "],[73647,0,"f"],[73648,0,"o"],[73649,0,"r"],[73650,0," "],[73651,0,"a"],[73652,0,"l"],[73653,0,"l"],[73654,0," "],[73655,0,"$"],[73656,0,"i"],[73657,0,"$"],[73658,0," "],[73659,0,"w"],[73660,0,"i"],[73661,0,"t"],[73662,0,"h"],[73663,0," "],[73664,0,"$"],[73665,0,"1"],[73666,0," "],[73667,0,"\\"],[73668,0,"l"],[73669,0,"e"],[73670,0," "],[73671,0,"i"],[73672,0," "],[73673,0,"<"],[73674,0," "],[73675,0,"n"],[73676,0,"$"],[73677,0,","],[73687,1],[73686,1],[73685,1],[73684,1],[73683,1],[73682,1],[73681,1],[73680,1],[73709,1],[73709,0,"i"],[73717,1],[73717,0,"{"],[73718,0,"i"],[73719,0,"+"],[73720,0,"1"],[73721,0,"}"],[73722,0,"$"],[73723,0,"."],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73724,1],[73584,0," "],[73585,0,"t"],[73586,0,"h"],[73587,0,"e"],[73588,0," "],[73589,0,"o"],[73590,0,"r"],[73591,0,"d"],[73592,0,"e"],[73593,0,"r"],[73594,0,"e"],[73595,0,"d"],[73596,0," "],[73597,0,"l"],[73598,0,"i"],[73599,0,"s"],[73600,0,"t"],[73758,0,"\n"],[73759,0,"\n"],[73760,0,"T"],[73761,0,"h"],[73762,0,"e"],[73763,0," "],[73764,0,"n"],[73765,0,"o"],[73766,0,"t"],[73767,0,"i"],[73768,0,"o"],[73769,0,"n"],[73770,0," "],[73771,0,"o"],[73772,0,"f"],[73773,0," "],[73774,0,"\\"],[73775,0,"e"],[73776,0,"m"],[73777,0,"p"],[73778,0,"h"],[73779,0,"{"],[73780,0,"p"],[73781,0,"r"],[73782,0,"e"],[73783,0,"c"],[73784,0,"e"],[73785,0,"d"],[73786,0,"i"],[73787,0,"n"],[73788,0,"g"],[73789,0,"}"],[73790,0," "],[73791,0,"c"],[73792,0,"o"],[73793,0,"r"],[73794,0,"r"],[73795,0,"e"],[73796,0,"s"],[73797,0,"p"],[73798,0,"o"],[73799,0,"n"],[73800,0,"d"],[73801,0,"s"],[73802,0," "],[73803,0,"t"],[73804,0,"o"],[73805,0," "],[73806,0,"t"],[73807,0,"h"],[73808,0,"e"],[73809,0," "],[73810,0,"o"],[73811,0,"r"],[73812,0,"d"],[73813,0,"e"],[73814,0,"r"],[73815,0," "],[73816,0,"i"],[73817,0,"n"],[73818,0," "],[73819,0,"w"],[73820,0,"h"],[73821,0,"i"],[73822,0,"c"],[73823,0,"h"],[73824,0," "],[73825,0,"t"],[73826,0,"h"],[73827,0,"e"],[73828,0," "],[73829,0,"\\"],[73830,0,"t"],[73831,0,"e"],[73832,0,"x"],[73833,0,"t"],[73834,0,"s"],[73835,0,"c"],[73836,0,"{"],[73837,0,"N"],[73838,0,"e"],[73839,0,"x"],[73840,0,"t"],[73841,0,"}"],[73842,0," "],[73843,0,"r"],[73844,0,"u"],[73845,0,"l"],[73846,0,"e"],[73847,0,"s"],[73848,0," "],[73849,0,"i"],[73850,0,"t"],[73851,0,"e"],[73852,0,"r"],[73853,0,"a"],[73854,0,"t"],[73855,0,"e"],[73856,0," "],[73857,0,"o"],[73858,0,"v"],[73859,0,"e"],[73860,0,"r"],[73861,0," "],[73862,0,"t"],[73863,0,"h"],[73864,0,"e"],[73865,0," "],[73866,0,"l"],[73867,0,"i"],[73868,0,"s"],[73869,0,"t"],[73870,0,"."],[74062,0,"\n"],[74063,0,"\\"],[74064,0,"b"],[74065,0,"e"],[74066,0,"g"],[74067,0,"i"],[74068,0,"n"],[74069,0,"{"],[74070,0,"p"],[74071,0,"r"],[74072,0,"o"],[74073,0,"o"],[74074,0,"f"],[74075,0,"}"],[74076,0,"\n"],[74077,0,"\\"],[74078,0,"e"],[74079,0,"n"],[74080,0,"d"],[74081,0,"{"],[74082,0,"p"],[74083,0,"r"],[74084,0,"o"],[74085,0,"o"],[74086,0,"f"],[74087,0,"}"],[74076,0,"\n"],[74077,0,"T"],[74078,0,"h"],[74079,0,"e"],[74080,0," "],[74081,0,"o"],[74082,0,"n"],[74083,0,"l"],[74084,0,"y"],[74085,0," "],[74086,0,"r"],[74087,0,"u"],[74088,0,"l"],[74089,0,"e"],[74090,0," "],[74091,0,"t"],[74092,0,"h"],[74093,0,"a"],[74094,0,"t"],[74095,0," "],[74096,0,"m"],[74097,0,"o"],[74098,0,"d"],[74099,0,"i"],[74100,0,"f"],[74101,0,"i"],[74102,0,"e"],[74103,0,"s"],[74104,0," "],[74105,0,"t"],[74106,0,"h"],[74107,0,"e"],[74108,0," "],[74109,0,"\\"],[74110,0,"t"],[74111,0,"e"],[74112,0,"x"],[74113,0,"t"],[74114,0,"s"],[74115,0,"f"],[74116,0,"{"],[74117,0,"n"],[74118,0,"e"],[74119,0,"x"],[74120,0,"t"],[74121,0,"}"],[74122,0," "],[74123,0,"e"],[74124,0,"n"],[74125,0,"t"],[74126,0,"r"],[74127,0,"i"],[74128,0,"e"],[74129,0,"s"],[74130,0," "],[74131,0,"i"],[74132,0,"n"],[74133,0," "],[74134,0,"t"],[74135,0,"h"],[74136,0,"e"],[74137,0," "],[74138,0,"c"],[74139,0,"o"],[74140,0,"n"],[74141,0,"t"],[74142,0,"e"],[74143,0,"x"],[74144,0,"t"],[74145,0," "],[74146,0,"i"],[74147,0,"s"],[74148,0," "],[74149,0,"$"],[74150,0,"\\"],[74151,0,"m"],[74152,0,"a"],[74153,0,"t"],[74154,0,"h"],[74155,0,"s"],[74156,0,"f"],[74157,0,"{"],[74157,1],[74156,1],[74155,1],[74154,1],[74153,1],[74152,1],[74151,1],[74151,0,"t"],[74152,0,"e"],[74153,0,"x"],[74154,0,"t"],[74155,0,"s"],[74156,0,"c"],[74157,0,"{"],[74158,0,"I"],[74159,0,"n"],[74160,0,"s"],[74161,0,"e"],[74162,0,"r"],[74163,0,"t"],[74164,0,"}"],[74165,0,"_"],[74166,0,"1"],[74167,0,"$"],[74168,0,","],[74169,0," "],[74170,0,"a"],[74171,0,"n"],[74172,0,"d"],[74173,0," "],[74174,0,"i"],[74175,0,"t"],[74176,0," "],[74177,0,"m"],[74178,0,"o"],[74179,0,"d"],[74180,0,"i"],[74181,0,"f"],[74182,0,"i"],[74183,0,"e"],[74184,0,"s"],[74185,0," "],[74185,1],[74184,1],[74183,1],[74182,1],[74181,1],[74180,1],[74179,1],[74178,1],[74177,1],[74177,0,"i"],[74178,0,"n"],[74179,0,"s"],[74180,0,"e"],[74181,0,"r"],[74182,0,"t"],[74183,0,"s"],[74184,0," "],[74185,0,"a"],[74186,0," "],[74187,0,"p"],[74187,1],[74187,0,"n"],[74188,0,"e"],[74189,0,"w"],[74190,0," "],[74191,0,"l"],[74192,0,"i"],[74193,0,"s"],[74194,0,"t"],[74195,0," "],[74196,0,"e"],[74197,0,"l"],[74198,0,"e"],[74199,0,"m"],[74200,0,"e"],[74201,0,"n"],[74202,0,"t"],[74203,0," "],[74204,0,"b"],[74205,0,"e"],[74206,0,"t"],[74207,0,"w"],[74208,0,"e"],[74209,0,"e"],[74210,0,"n"],[74211,0," "],[74212,0,"r"],[74212,1],[74212,0,"t"],[74213,0,"w"],[74214,0,"o"],[74215,0," "],[74216,0,"e"],[74217,0,"x"],[74218,0,"c"],[74218,1],[74218,0,"i"],[74219,0,"s"],[74220,0,"t"],[74221,0,"i"],[74222,0,"n"],[74223,0,"g"],[74224,0," "],[74225,0,"l"],[74226,0,"i"],[74227,0,"s"],[74228,0,"t"],[74229,0," "],[74230,0,"e"],[74231,0,"l"],[74232,0,"e"],[74233,0,"m"],[74234,0,"e"],[74235,0,"n"],[74236,0,"t"],[74237,0,"s"],[74238,0," "],[74239,0,"("],[74240,0,"p"],[74241,0,"o"],[74242,0,"s"],[74243,0,"s"],[74244,0,"i"],[74245,0,"b"],[74246,0,"l"],[74247,0,"y"],[74248,0," "],[74249,0,"\\"],[74250,0,"m"],[74251,0,"a"],[74252,0,"t"],[74253,0,"h"],[74254,0,"s"],[74255,0,"f"],[74256,0,"{"],[74257,0,"h"],[74258,0,"e"],[74259,0,"a"],[74260,0,"d"],[74261,0,"}"],[74262,0," "],[74263,0,"a"],[74264,0,"n"],[74265,0,"d"],[74266,0,"/"],[74267,0,"o"],[74268,0,"r"],[74269,0," "],[74270,0,"\\"],[74253,1],[74252,1],[74251,1],[74250,1],[74250,0,"t"],[74251,0,"e"],[74252,0,"x"],[74253,0,"t"],[74271,0,"t"],[74272,0,"e"],[74273,0,"x"],[74274,0,"t"],[74275,0,"s"],[74276,0,"f"],[74277,0,"{"],[74278,0,"t"],[74279,0,"a"],[74280,0,"i"],[74281,0,"l"],[74282,0,"}"],[74283,0,")"],[74284,0,"."],[74285,0," "],[74286,0,"T"],[74287,0,"h"],[74288,0,"i"],[74289,0,"s"],[74290,0," "],[74291,0,"m"],[74292,0,"o"],[74293,0,"d"],[74294,0,"i"],[74295,0,"f"],[74296,0,"i"],[74297,0,"c"],[74298,0,"a"],[74299,0,"t"],[74300,0,"i"],[74301,0,"o"],[74302,0,"n"],[74303,0," "],[74304,0,"p"],[74305,0,"r"],[74306,0,"e"],[74307,0,"s"],[74308,0,"e"],[74309,0,"r"],[74310,0,"v"],[74311,0,"e"],[74312,0,"s"],[74313,0," "],[74314,0,"t"],[74315,0,"h"],[74316,0,"e"],[74317,0," "],[74318,0,"p"],[74319,0,"r"],[74320,0,"e"],[74321,0,"c"],[74322,0,"e"],[74323,0,"d"],[74324,0,"e"],[74325,0,"n"],[74326,0,"c"],[74327,0,"e"],[74328,0," "],[74329,0,"r"],[74330,0,"e"],[74331,0,"l"],[74332,0,"a"],[74333,0,"t"],[74334,0,"o"],[74335,0,"i"],[74336,0,"n"],[74337,0,"s"],[74337,1],[74336,1],[74335,1],[74334,1],[74334,0,"i"],[74335,0,"o"],[74336,0,"n"],[74337,0,"s"],[74338,0,"h"],[74339,0,"i"],[74340,0,"p"],[74341,0," "],[74342,0,"b"],[74343,0,"e"],[74344,0,"t"],[74345,0,"w"],[74346,0,"e"],[74347,0,"e"],[74348,0,"n"],[74349,0," "],[74350,0,"a"],[74351,0,"n"],[74352,0,"y"],[74353,0," "],[74354,0,"t"],[74355,0,"w"],[74356,0,"o"],[74357,0," "],[74358,0,"e"],[74359,0,"x"],[74360,0,"i"],[74361,0,"s"],[74362,0,"t"],[74363,0,"i"],[74364,0,"n"],[74365,0,"g"],[74366,0," "],[74367,0,"l"],[74368,0,"i"],[74369,0,"s"],[74370,0,"t"],[74371,0," "],[74372,0,"e"],[74373,0,"l"],[74374,0,"e"],[74375,0,"m"],[74376,0,"e"],[74377,0,"n"],[74378,0,"t"],[74379,0,"s"],[74380,0,"."],[73769,1],[73768,1],[73767,1],[73766,1],[73765,1],[73764,1],[73764,0,"d"],[73765,0,"e"],[73766,0,"f"],[73767,0,"i"],[73768,0,"n"],[73769,0,"i"],[73770,0,"o"],[73771,0,"n"],[73771,1],[73770,1],[73770,0,"t"],[73771,0,"i"],[73772,0,"o"],[73773,0,"n"],[74385,0," "],[74386,0,"S"],[74387,0,"i"],[74388,0,"n"],[74389,0,"c"],[74390,0,"e"],[74391,0," "],[74392,0,"n"],[74393,0,"o"],[74394,0," "],[74395,0,"o"],[74396,0,"t"],[74397,0,"h"],[74398,0,"e"],[74399,0,"r"],[74400,0," "],[74401,0,"r"],[74402,0,"u"],[74403,0,"l"],[74404,0,"e"],[74405,0," "],[74406,0,"a"],[74407,0,"f"],[74408,0,"f"],[74409,0,"e"],[74410,0,"c"],[74411,0,"t"],[74412,0,"s"],[74413,0," "],[74414,0,"t"],[74415,0,"h"],[74416,0,"e"],[74417,0," "],[74418,0,"l"],[74419,0,"i"],[74420,0,"s"],[74421,0,"t"],[74422,0," "],[74423,0,"o"],[74424,0,"r"],[74425,0,"d"],[74426,0,"e"],[74427,0,"r"],[74428,0,","],[74429,0," "],[74430,0,"p"],[74431,0,"r"],[74432,0,"e"],[74433,0,"c"],[74434,0,"e"],[74435,0,"d"],[74436,0,"e"],[74437,0,"n"],[74438,0,"c"],[74439,0,"e"],[74440,0," "],[74441,0,"i"],[74442,0,"s"],[74443,0," "],[74444,0,"a"],[74445,0,"l"],[74446,0,"w"],[74447,0,"a"],[74448,0,"y"],[74449,0,"s"],[74450,0," "],[74451,0,"p"],[74452,0,"r"],[74453,0,"e"],[74454,0,"s"],[74455,0,"e"],[74456,0,"r"],[74457,0,"v"],[74458,0,"e"],[74459,0,"d"],[74460,0,"."],[74473,0,"\n"],[74474,0,"\n"],[74475,0,"N"],[74476,0,"o"],[74477,0,"t"],[74478,0,"e"],[74479,0," "],[74480,0,"t"],[74481,0,"h"],[74482,0,"a"],[74483,0,"t"],[74484,0," "],[74485,0,"d"],[74486,0,"e"],[74487,0,"l"],[74488,0,"e"],[74489,0,"t"],[74490,0,"i"],[74491,0,"o"],[74492,0,"n"],[74493,0," "],[74494,0,"o"],[74495,0,"f"],[74496,0," "],[74497,0,"a"],[74498,0,"l"],[74498,1],[74498,0,"n"],[74499,0," "],[74500,0,"e"],[74501,0,"l"],[74502,0,"e"],[74503,0,"m"],[74504,0,"e"],[74505,0,"n"],[74506,0,"t"],[74507,0," "],[74508,0,"f"],[74509,0,"r"],[74510,0,"o"],[74511,0,"m"],[74512,0," "],[74513,0,"a"],[74514,0," "],[74515,0,"l"],[74516,0,"i"],[74517,0,"s"],[74518,0,"t"],[74519,0," "],[74520,0,"d"],[74521,0,"o"],[74522,0,"e"],[74523,0,"s"],[74524,0," "],[74525,0,"n"],[74526,0,"o"],[74527,0,"t"],[74528,0," "],[74529,0,"r"],[74530,0,"e"],[74531,0,"m"],[74532,0,"o"],[74533,0,"v"],[74534,0,"e"],[74535,0," "],[74536,0,"i"],[74537,0,"t"],[74538,0," "],[74539,0,"f"],[74540,0,"r"],[74541,0,"o"],[74542,0,"m"],[74543,0," "],[74544,0,"t"],[74545,0,"h"],[74546,0,"e"],[74547,0," "],[74548,0,"s"],[74549,0,"e"],[74550,0,"q"],[74551,0,"u"],[74552,0,"e"],[74553,0,"n"],[74554,0,"c"],[74555,0,"e"],[74556,0," "],[74557,0,"o"],[74558,0,"f"],[74559,0," "],[74560,0,"\\"],[74561,0,"t"],[74562,0,"e"],[74563,0,"x"],[74564,0,"t"],[74565,0,"s"],[74566,0,"f"],[74567,0,"{"],[74568,0,"n"],[74569,0,"e"],[74570,0,"x"],[74571,0,"t"],[74572,0,"}"],[74573,0," "],[74574,0,"p"],[74575,0,"o"],[74576,0,"i"],[74577,0,"n"],[74578,0,"t"],[74579,0,"e"],[74580,0,"r"],[74581,0,"s"],[74133,1],[74132,1],[74131,1],[74130,1],[74129,1],[74128,1],[74127,1],[74127,0,"p"],[74128,0,"o"],[74129,0,"i"],[74130,0,"n"],[74131,0,"t"],[74132,0,"e"],[74133,0,"r"],[74134,0,"s"],[74583,0,","],[74584,0," "],[74585,0,"b"],[74586,0,"u"],[74587,0,"t"],[74588,0," "],[74589,0,"o"],[74590,0,"n"],[74591,0,"l"],[74592,0,"y"],[74593,0," "],[74594,0,"c"],[74595,0,"l"],[74596,0,"e"],[74597,0,"a"],[74598,0,"r"],[74599,0,"s"],[74600,0," "],[74601,0,"i"],[74602,0,"t"],[74603,0,"s"],[74604,0," "],[74605,0,"p"],[74606,0,"r"],[74607,0,"e"],[74608,0,"s"],[74609,0,"e"],[74610,0,"n"],[74611,0,"c"],[74612,0,"e"],[74613,0," "],[74614,0,"s"],[74615,0,"e"],[74616,0,"t"],[74617,0," "],[74618,0,"$"],[74619,0,"\\"],[74620,0,"m"],[74621,0,"a"],[74622,0,"t"],[74623,0,"h"],[74624,0,"s"],[74625,0,"f"],[74626,0,"{"],[74627,0,"p"],[74628,0,"r"],[74629,0,"e"],[74630,0,"s"],[74631,0,"}"],[74632,0,"("],[74633,0,"k"],[74634,0,")"],[74635,0,"$"],[74636,0,"."],[73890,0,"\\"],[73891,0,"l"],[73892,0,"a"],[73893,0,"b"],[73894,0,"e"],[73895,0,"l"],[73896,0,"{"],[73897,0,"l"],[73898,0,"e"],[73899,0,"m"],[73900,0,":"],[73901,0,"l"],[73902,0,"i"],[73903,0,"s"],[73904,0,"t"],[73905,0,"-"],[73906,0,"p"],[73907,0,"r"],[73908,0,"e"],[73908,1],[73907,1],[73906,1],[73906,0,"o"],[73907,0,"r"],[73908,0,"d"],[73909,0,"e"],[73910,0,"r"],[73911,0,"}"],[73910,1],[73909,1],[73908,1],[73907,1],[73906,1],[73906,0,"p"],[73907,0,"r"],[73908,0,"e"],[73909,0,"c"],[73910,0,"e"],[73911,0,"d"],[73912,0,"e"],[73913,0,"s"],[74662,0,"\n"],[74663,0,"\n"],[74664,0,"\\"],[74665,0,"b"],[74666,0,"e"],[74667,0,"g"],[74668,0,"i"],[74669,0,"n"],[74670,0,"{"],[74671,0,"e"],[74671,1],[74671,0,"l"],[74672,0,"e"],[74673,0,"m"],[74674,0,"m"],[74675,0,"a"],[74676,0,"}"],[74677,0,"\n"],[74678,0,"\\"],[74679,0,"e"],[74680,0,"n"],[74681,0,"d"],[74682,0,"{"],[74683,0,"l"],[74684,0,"e"],[74685,0,"m"],[74686,0,"m"],[74687,0,"a"],[74688,0,"}"],[74677,0,"\n"],[74678,0,"I"],[74679,0,"f"],[74680,0," "],[74681,0,"o"],[74682,0,"n"],[74683,0,"e"],[74684,0," "],[74685,0,"r"],[74686,0,"e"],[74687,0,"p"],[74688,0,"l"],[74689,0,"i"],[74690,0,"c"],[74691,0,"a"],[74692,0," "],[74693,0,"i"],[74694,0,"n"],[74695,0,"s"],[74696,0,"e"],[74697,0,"r"],[74698,0,"t"],[74699,0,"s"],[74700,0," "],[74701,0,"a"],[74702,0," "],[74703,0,"l"],[74704,0,"i"],[74705,0,"s"],[74706,0,"t"],[74707,0," "],[74708,0,"e"],[74709,0,"l"],[74710,0,"e"],[74711,0,"m"],[74712,0,"e"],[74713,0,"n"],[74714,0,"t"],[74715,0," "],[74716,0,"$"],[74717,0,"k"],[74718,0,"{"],[74718,1],[74718,0,"_"],[74719,0,"\\"],[74720,0,"m"],[74721,0,"a"],[74722,0,"t"],[74723,0,"h"],[74724,0,"i"],[74725,0,"t"],[74726,0,"{"],[74727,0,"n"],[74728,0,"e"],[74729,0,"w"],[74730,0,"}"],[74731,0,"$"],[74732,0," "],[74733,0,"b"],[74734,0,"e"],[74735,0,"t"],[74736,0,"w"],[74737,0,"e"],[74738,0,"e"],[74739,0,"n"],[74740,0," "],[74741,0,"$"],[74742,0,"k"],[74743,0,"_"],[74744,0,"1"],[74745,0,"$"],[74746,0," "],[74747,0,"A"],[74748,0,"N"],[74749,0,"D"],[74750,0," "],[74750,1],[74749,1],[74748,1],[74747,1],[74747,0,"a"],[74748,0,"n"],[74749,0,"d"],[74750,0," "],[74751,0,"$"],[74752,0,"k"],[74753,0,"_"],[74754,0,"2"],[74755,0,"$"],[74756,0,","],[74757,0," "],[74758,0,"i"],[74759,0,"."],[74760,0,"e"],[74761,0,"."],[74762,0," "],[74763,0,"i"],[74764,0,"f"],[74765,0," "],[74766,0,"$"],[74767,0,"\\"],[74768,0,"m"],[74769,0,"a"],[74770,0,"t"],[74771,0,"h"],[74772,0,"i"],[74773,0,"t"],[74774,0,"{"],[74775,0,"c"],[74776,0,"t"],[74777,0,"x"],[74778,0,"}"],[74779,0,"("],[74780,0,"n"],[74781,0,"e"],[74781,1],[74780,1],[74780,0,"\\"],[74781,0,"m"],[74782,0,"a"],[74783,0,"t"],[74784,0,"h"],[74785,0,"s"],[74786,0,"f"],[74787,0,"{"],[74788,0,"n"],[74789,0,"e"],[74790,0,"x"],[74791,0,"t"],[74792,0,"}"],[74793,0,"("],[74794,0,"k"],[74795,0,"_"],[74796,0,"1"],[74797,0,")"],[74798,0,")"],[74799,0," "],[74800,0,"="],[74801,0," "],[74802,0,"\\"],[74803,0,"m"],[74804,0,"a"],[74805,0,"t"],[74806,0,"h"],[74807,0,"i"],[74808,0,"t"],[74809,0,"{"],[74810,0,"c"],[74811,0,"t"],[74812,0,"x"],[74813,0,"}"],[74814,0,"("],[74815,0,"\\"],[74816,0,"m"],[74817,0,"a"],[74817,1],[74816,1],[74815,1],[74814,1],[74813,1],[74812,1],[74811,1],[74810,1],[74809,1],[74808,1],[74807,1],[74806,1],[74805,1],[74804,1],[74803,1],[74802,1],[74802,0,"k"],[74803,0,"_"],[74804,0,"\\"],[74805,0,"m"],[74806,0,"a"],[74807,0,"t"],[74808,0,"h"],[74809,0,"i"],[74810,0,"t"],[74811,0,"{"],[74812,0,"n"],[74813,0,"e"],[74814,0,"w"],[74815,0,"}"],[74816,0,"$"],[74817,0," "],[74818,0,"a"],[74819,0,"n"],[74820,0,"d"],[74821,0," "],[74822,0,"$"],[74823,0,"\\"],[74824,0,"m"],[74825,0,"a"],[74826,0,"t"],[74827,0,"h"],[74828,0,"i"],[74829,0,"t"],[74830,0,"{"],[74831,0,"c"],[74832,0,"t"],[74833,0,"x"],[74834,0,"}"],[74835,0,"("],[74836,0,"\\"],[74837,0,"m"],[74838,0,"a"],[74839,0,"t"],[74840,0,"h"],[74841,0,"s"],[74842,0,"f"],[74843,0,"{"],[74844,0,"n"],[74845,0,"e"],[74846,0,"x"],[74847,0,"t"],[74848,0,"}"],[74849,0,"("],[74850,0,"k"],[74851,0,"_"],[74852,0,"\\"],[74853,0,"m"],[74854,0,"a"],[74855,0,"t"],[74856,0,"h"],[74857,0,"i"],[74858,0,"t"],[74859,0,"{"],[74860,0,"n"],[74861,0,"e"],[74862,0,"w"],[74863,0,"}"],[74864,0,")"],[74865,0,")"],[74866,0," "],[74867,0,"="],[74868,0," "],[74869,0,"k"],[74870,0,"_"],[74871,0,"2"],[74872,0,"$"],[74873,0," "],[74874,0,"o"],[74875,0,"n"],[74876,0," "],[74877,0,"t"],[74878,0,"h"],[74879,0,"e"],[74880,0," "],[74881,0,"s"],[74882,0,"o"],[74883,0,"u"],[74884,0,"r"],[74885,0,"c"],[74886,0,"e"],[74887,0," "],[74888,0,"r"],[74889,0,"e"],[74890,0,"p"],[74891,0,"l"],[74892,0,"i"],[74893,0,"c"],[74894,0,"a"],[74895,0," "],[74896,0,"a"],[74897,0,"f"],[74898,0,"t"],[74899,0,"e"],[74900,0,"r"],[74901,0," "],[74902,0,"a"],[74903,0,"p"],[74904,0,"p"],[74905,0,"l"],[74906,0,"y"],[74907,0,"i"],[74908,0,"n"],[74909,0,"g"],[74910,0," "],[74911,0,"\\"],[74912,0,"t"],[74913,0,"e"],[74914,0,"x"],[74915,0,"t"],[74916,0,"s"],[74917,0,"c"],[74918,0,"{"],[74919,0,"A"],[74920,0,"p"],[74921,0,"p"],[74922,0,"l"],[74923,0,"y"],[74924,0,"-"],[74925,0,"L"],[74926,0,"o"],[74927,0,"c"],[74928,0,"a"],[74929,0,"l"],[74930,0,"}"],[74931,0,","],[74932,0," "],[74933,0,"t"],[74934,0,"h"],[74935,0,"e"],[74936,0,"n"],[74937,0," "],[74938,0,"$"],[74939,0,"k"],[74940,0,"_"],[74941,0,"1"],[74942,0,"$"],[74943,0," "],[74944,0,"p"],[74945,0,"r"],[74946,0,"e"],[74947,0,"c"],[74948,0,"e"],[74949,0,"d"],[74950,0,"e"],[74951,0,"s"],[74952,0," "],[74953,0,"$"],[74954,0,"k"],[74955,0,"_"],[74956,0,"\\"],[74957,0,"m"],[74958,0,"a"],[74959,0,"t"],[74960,0,"h"],[74961,0,"i"],[74962,0,"t"],[74963,0,"{"],[74964,0,"n"],[74965,0,"e"],[74966,0,"w"],[74967,0,"}"],[74968,0,"$"],[74969,0," "],[74970,0,"a"],[74971,0,"n"],[74972,0,"d"],[74973,0," "],[74974,0,"$"],[74975,0,"k"],[74976,0,"_"],[74977,0,"\\"],[74978,0,"m"],[74979,0,"a"],[74980,0,"t"],[74981,0,"h"],[74982,0,"i"],[74983,0,"t"],[74984,0,"{"],[74985,0,"n"],[74986,0,"e"],[74987,0,"w"],[74988,0,"}"],[74989,0,"$"],[74990,0," "],[74991,0,"p"],[74992,0,"r"],[74993,0,"e"],[74994,0,"c"],[74995,0,"e"],[74996,0,"d"],[74997,0,"e"],[74998,0,"s"],[74999,0," "],[75000,0,"$"],[75001,0,"k"],[75002,0,"_"],[75003,0,"2"],[75004,0,"$"],[75005,0," "],[75006,0,"o"],[75007,0,"n"],[75008,0," "],[75009,0,"e"],[75010,0,"v"],[75011,0,"e"],[75012,0,"r"],[75013,0,"y"],[75014,0," "],[75015,0,"o"],[75016,0,"t"],[75017,0,"h"],[75018,0,"e"],[75019,0,"r"],[75020,0," "],[75021,0,"r"],[75022,0,"e"],[75023,0,"p"],[75024,0,"l"],[75025,0,"i"],[75026,0,"c"],[75027,0,"a"],[75028,0," "],[75029,0,"w"],[75030,0,"h"],[75031,0,"e"],[75032,0,"r"],[75033,0,"e"],[75034,0," "],[75035,0,"t"],[75036,0,"h"],[75037,0,"a"],[75038,0,"t"],[75039,0," "],[75040,0,"o"],[75041,0,"p"],[75042,0,"e"],[75043,0,"r"],[75044,0,"a"],[75045,0,"t"],[75046,0,"i"],[75047,0,"o"],[75048,0,"n"],[75049,0," "],[75050,0,"i"],[75051,0,"s"],[75052,0," "],[75053,0,"a"],[75054,0,"p"],[75055,0,"p"],[75056,0,"l"],[75057,0,"i"],[75058,0,"e"],[75059,0,"d"],[75060,0,"."],[75073,0,"\n"],[75074,0,"\\"],[75075,0,"b"],[75076,0,"e"],[75077,0,"g"],[75078,0,"i"],[75079,0,"n"],[75080,0,"{"],[75081,0,"p"],[75082,0,"r"],[75083,0,"o"],[75084,0,"o"],[75085,0,"f"],[75086,0,"}"],[74091,0,"\n"],[75075,0,"\n"],[75089,0,"\n"],[75090,0,"\\"],[75091,0,"e"],[75092,0,"n"],[75093,0,"d"],[75094,0,"P"],[75095,0,"p"],[75095,1],[75094,1],[75094,0,"{"],[75095,0,"}"],[75095,0,"p"],[75096,0,"r"],[75097,0,"o"],[75098,0,"o"],[75099,0,"f"],[75089,0,"\n"],[75090,0,"W"],[75091,0,"h"],[75092,0,"e"],[75093,0,"n"],[75094,0," "],[75095,0,"t"],[75096,0,"h"],[75097,0,"e"],[75098,0," "],[75099,0,"i"],[75100,0,"n"],[75101,0,"s"],[75102,0,"e"],[75103,0,"r"],[75104,0,"t"],[75105,0,"i"],[75106,0,"o"],[75107,0,"n"],[75108,0," "],[75109,0,"o"],[75110,0,"p"],[75111,0,"e"],[75112,0,"r"],[75113,0,"a"],[75114,0,"t"],[75115,0,"i"],[75116,0,"o"],[75117,0,"n"],[75118,0," "],[75119,0,"i"],[75120,0,"s"],[75121,0," "],[75122,0,"g"],[75123,0,"e"],[75124,0,"n"],[75125,0,"e"],[75126,0,"r"],[75127,0,"a"],[75128,0,"t"],[75129,0,"e"],[75130,0,"d"],[75131,0," "],[75132,0,"u"],[75133,0,"s"],[75134,0,"i"],[75135,0,"n"],[75136,0,"g"],[75137,0," "],[75138,0,"t"],[75139,0,"h"],[75140,0,"e"],[75141,0," "],[75142,0,"\\"],[75143,0,"t"],[75144,0,"e"],[75145,0,"x"],[75146,0,"t"],[75147,0,"s"],[75148,0,"c"],[75149,0,"{"],[75150,0,"M"],[75151,0,"a"],[75152,0,"k"],[75153,0,"e"],[75154,0,"-"],[75155,0,"O"],[75156,0,"p"],[75157,0,"}"],[75158,0," "],[75159,0,"r"],[75160,0,"u"],[75161,0,"l"],[75162,0,"e"],[75163,0,","],[75164,0," "],[75165,0,"i"],[75166,0,"t"],[75167,0,"s"],[75168,0," "],[75169,0,"o"],[75170,0,"p"],[75171,0,"e"],[75172,0,"r"],[75173,0,"a"],[75174,0,"t"],[75175,0,"i"],[75176,0,"o"],[75177,0,"n"],[75178,0," "],[75179,0,"i"],[75180,0,"d"],[75181,0,"e"],[75182,0,"n"],[75183,0,"t"],[75184,0,"i"],[75185,0,"f"],[75186,0,"i"],[75187,0,"e"],[75188,0,"r"],[75189,0," "],[75190,0,"c"],[75191,0,"o"],[75192,0,"n"],[75193,0,"t"],[75194,0,"a"],[75195,0,"i"],[75196,0,"n"],[75197,0,"s"],[75198,0," "],[75199,0,"a"],[75200,0," "],[75200,1],[75199,1],[75198,1],[75197,1],[75196,1],[75195,1],[75194,1],[75193,1],[75192,1],[75191,1],[75190,1],[75190,0,"i"],[75191,0,"s"],[75192,0," "],[75193,0,"g"],[75194,0,"i"],[75195,0,"v"],[75196,0,"e"],[75197,0,"n"],[75198,0," "],[75199,0,"a"],[75200,0," "],[75201,0,"c"],[75202,0,"o"],[75203,0,"u"],[75204,0,"n"],[75205,0,"t"],[75206,0,"e"],[75207,0,"r"],[75208,0," "],[75209,0,"v"],[75210,0,"a"],[75211,0,"l"],[75212,0,"u"],[75213,0,"e"],[75214,0," "],[75215,0,"\\"],[75215,1],[75215,0,"$"],[75216,0,"\\"],[75217,0,"m"],[75218,0,"a"],[75219,0,"t"],[75220,0,"h"],[75221,0,"i"],[75222,0,"t"],[75223,0,"{"],[75224,0,"c"],[75225,0,"t"],[75226,0,"r"],[75227,0,"}"],[75228,0,"$"],[75229,0," "],[75230,0,"t"],[75231,0,"h"],[75232,0,"a"],[75233,0,"t"],[75234,0," "],[75235,0,"i"],[75236,0,"s"],[75237,0," "],[75238,0,"g"],[75239,0,"r"],[75240,0,"e"],[75241,0,"a"],[75242,0,"t"],[75243,0,"e"],[75244,0,"r"],[75245,0," "],[75246,0,"t"],[75247,0,"h"],[75248,0,"a"],[75249,0,"n"],[75250,0," "],[75251,0,"t"],[75252,0,"h"],[75253,0,"e"],[75254,0," "],[75255,0,"c"],[75256,0,"o"],[75257,0,"u"],[75258,0,"n"],[75259,0,"t"],[75260,0,"e"],[75261,0,"r"],[75262,0," "],[75263,0,"o"],[75264,0,"f"],[75265,0," "],[75266,0,"a"],[75267,0,"n"],[75268,0,"y"],[75269,0," "],[75270,0,"e"],[75271,0,"x"],[75272,0,"i"],[75273,0,"s"],[75274,0,"t"],[75275,0,"i"],[75276,0,"n"],[75277,0,"g"],[75278,0," "],[75279,0,"o"],[75280,0,"p"],[75281,0,"e"],[75282,0,"r"],[75283,0,"a"],[75284,0,"t"],[75285,0,"i"],[75286,0,"o"],[75287,0,"n"],[75288,0," "],[75289,0,"I"],[75290,0,"D"],[75291,0," "],[75292,0,"i"],[75293,0,"n"],[75294,0," "],[75295,0,"$"],[75296,0,"\\"],[75296,1],[75296,0,"A"],[75297,0,"-"],[75297,1],[75297,0,"_"],[75298,0,"p"],[75299,0,"("],[75300,0,"\\"],[75301,0,"m"],[75302,0,"a"],[75303,0,"t"],[75304,0,"h"],[75305,0,"s"],[75306,0,"f"],[75307,0,"{"],[75308,0,"o"],[75309,0,"p"],[75310,0,"s"],[75311,0,"}"],[75312,0,")"],[75313,0,"$"],[75314,0,"."],[75315,0," "],[75316,0,"I"],[75317,0,"f"],[75318,0," "],[75319,0,"$"],[75320,0,"k"],[75321,0,"_"],[75322,0,"2"],[75323,0,"$"],[75324,0," "],[75325,0,"i"],[75326,0,"s"],[75327,0," "],[75328,0,"a"],[75329,0,"n"],[75330,0," "],[75331,0,"o"],[75332,0,"p"],[75333,0,"e"],[75334,0,"r"],[75335,0,"a"],[75336,0,"t"],[75337,0,"i"],[75338,0,"o"],[75339,0,"n"],[75340,0," "],[75341,0,"i"],[75342,0,"d"],[75343,0,"e"],[75344,0,"n"],[75345,0,"t"],[75346,0,"i"],[75347,0,"f"],[75348,0,"i"],[75349,0,"e"],[75350,0,"r"],[75074,0,"\n"],[75075,0,"\n"],[75076,0,"T"],[75076,1],[75075,1],[75074,1],[74663,0," "],[74664,0,"W"],[74665,0,"e"],[74666,0," "],[74667,0,"n"],[74668,0,"o"],[74669,0,"w"],[74670,0," "],[74671,0,"c"],[74672,0,"o"],[74673,0,"n"],[74674,0,"s"],[74675,0,"i"],[74676,0,"d"],[74677,0,"e"],[74678,0,"r"],[74679,0," "],[74680,0,"w"],[74681,0,"h"],[74682,0,"a"],[74683,0,"t"],[74684,0," "],[74685,0,"h"],[74686,0,"a"],[74687,0,"p"],[74688,0,"p"],[74689,0,"e"],[74690,0,"n"],[74691,0,"s"],[74692,0," "],[74693,0,"w"],[74694,0,"h"],[74695,0,"e"],[74696,0,"n"],[74697,0," "],[74698,0,"s"],[74699,0,"e"],[74700,0,"v"],[74701,0,"e"],[74702,0,"r"],[74703,0,"a"],[74704,0,"l"],[74705,0," "],[74706,0,"r"],[74707,0,"e"],[74708,0,"p"],[74709,0,"l"],[74710,0,"i"],[74711,0,"c"],[74712,0,"a"],[74713,0,"s"],[74714,0," "],[74715,0,"c"],[74716,0,"o"],[74717,0,"n"],[74718,0,"c"],[74719,0,"u"],[74720,0,"r"],[74721,0,"r"],[74722,0,"e"],[74723,0,"n"],[74724,0,"t"],[74725,0,"l"],[74726,0,"y"],[74727,0," "],[74728,0,"i"],[74729,0,"n"],[74730,0,"s"],[74731,0,"e"],[74732,0,"r"],[74733,0,"t"],[74734,0," "],[74735,0,"n"],[74736,0,"e"],[74737,0,"w"],[74738,0," "],[74739,0,"e"],[74740,0,"l"],[74741,0,"e"],[74742,0,"m"],[74743,0,"e"],[74744,0,"n"],[74745,0,"t"],[74746,0,"s"],[74747,0," "],[74748,0,"i"],[74749,0,"n"],[74750,0,"t"],[74751,0," "],[74751,1],[74751,0,"o"],[74752,0," "],[74753,0,"t"],[74754,0,"h"],[74755,0,"e"],[74756,0," "],[74757,0,"s"],[74758,0,"a"],[74759,0,"m"],[74760,0,"e"],[74761,0," "],[74762,0,"l"],[74763,0,"i"],[74764,0,"s"],[74765,0,"t"],[74766,0,"."],[75455,0,","],[75456,0," "],[75457,0,"w"],[75458,0,"e"],[75459,0," "],[75460,0,"m"],[75461,0,"u"],[75462,0,"s"],[75463,0,"t"],[75464,0," "],[75465,0,"h"],[75466,0,"a"],[75467,0,"v"],[75468,0,"e"],[75469,0," "],[75470,0,"$"],[75471,0,"k"],[75472,0,"_"],[75473,0,"2"],[75474,0," "],[75475,0,"\\"],[75476,0,"o"],[75477,0,"n"],[75477,1],[75476,1],[75476,0,"i"],[75477,0,"n"],[75478,0," "],[75479,0,"A"],[75480,0,"_"],[75481,0,"p"],[75482,0,"("],[75483,0,"\\"],[75484,0,"m"],[75485,0,"a"],[75486,0,"t"],[75487,0,"h"],[75488,0,"s"],[75489,0,"f"],[75490,0,"{"],[75491,0,"o"],[75492,0,"p"],[75493,0,"s"],[75494,0,"}"],[75495,0,")"],[75496,0,"$"],[75497,0,","],[75498,0," "],[75499,0,"s"],[75500,0,"i"],[75501,0,"n"],[75502,0,"c"],[75503,0,"e"],[75504,0," "],[75505,0,"b"],[75506,0,"o"],[75507,0,"t"],[75508,0,"h"],[75509,0," "],[75510,0,"\\"],[75511,0,"t"],[75512,0,"e"],[75513,0,"x"],[75514,0,"t"],[75515,0,"s"],[75516,0,"c"],[75517,0,"{"],[75518,0,"A"],[75519,0,"p"],[75520,0,"p"],[75521,0,"l"],[75522,0,"y"],[75523,0,"_"],[75523,1],[75523,0,"-"],[75524,0,"L"],[75525,0,"o"],[75526,0,"c"],[75527,0,"a"],[75528,0,"l"],[75529,0,"}"],[75530,0," "],[75531,0,"a"],[75532,0,"n"],[75533,0,"d"],[75534,0," "],[75535,0,"\\"],[75536,0,"t"],[75537,0,"e"],[75538,0,"x"],[75539,0,"t"],[75540,0,"s"],[75541,0,"c"],[75542,0,"{"],[75543,0,"A"],[75544,0,"p"],[75545,0,"p"],[75546,0,"l"],[75547,0,"y"],[75548,0,"_"],[75548,1],[75548,0,"-"],[75549,0,"R"],[75550,0,"e"],[75551,0,"m"],[75552,0,"o"],[75553,0,"t"],[75554,0,"e"],[75555,0,"}"],[75556,0," "],[75557,0,"a"],[75558,0,"d"],[75559,0,"d"],[75560,0," "],[75561,0,"o"],[75562,0,"p"],[75563,0,"e"],[75564,0,"r"],[75565,0,"a"],[75566,0,"t"],[75567,0,"i"],[75568,0,"o"],[75569,0,"n"],[75570,0," "],[75571,0,"I"],[75572,0,"D"],[75573,0,"s"],[75574,0," "],[75575,0,"t"],[75576,0,"o"],[75577,0," "],[75578,0,"$"],[75579,0,"A"],[75580,0,"-"],[75580,1],[75580,0,"_"],[75581,0,"p"],[75582,0,"("],[75583,0,"\\"],[75584,0,"m"],[75585,0,"a"],[75586,0,"t"],[75587,0,"h"],[75588,0,"s"],[75589,0,"f"],[75590,0,"{"],[75591,0,"o"],[75592,0,"p"],[75593,0,"s"],[75594,0,"}"],[75595,0,")"],[75596,0,"$"],[75597,0," "],[75598,0,"w"],[75599,0,"h"],[75600,0,"e"],[75601,0,"n"],[75602,0," "],[75603,0,"a"],[75604,0,"p"],[75605,0,"p"],[75606,0,"l"],[75607,0,"y"],[75608,0,"i"],[75609,0,"n"],[75610,0,"g"],[75611,0," "],[75612,0,"a"],[75613,0,"n"],[75614,0," "],[75615,0,"i"],[75616,0,"n"],[75617,0,"s"],[75618,0,"e"],[75619,0,"r"],[75620,0,"t"],[75621,0,"i"],[75622,0,"o"],[75623,0,"n"],[75624,0," "],[75624,1],[75624,0,"."],[75625,0," "],[75626,0,"T"],[75627,0,"h"],[75628,0,"u"],[75629,0,"s"],[75630,0,","],[75630,1],[75629,1],[75628,1],[75627,1],[75626,1],[75626,0,"T"],[75627,0,"h"],[75628,0,"e"],[75629,0," "],[75630,0,"o"],[75631,0,"n"],[75632,0,"l"],[75633,0,"y"],[75634,0," "],[75635,0,"o"],[75636,0,"t"],[75637,0,"h"],[75638,0,"e"],[75639,0,"r"],[75640,0," "],[75641,0,"p"],[75642,0,"o"],[75642,1],[75641,1],[75640,1],[75639,1],[75638,1],[75637,1],[75636,1],[75635,1],[75634,1],[75633,1],[75632,1],[75631,1],[75630,1],[75629,1],[75628,1],[75627,1],[75626,1],[75625,1],[75625,0," "],[75626,0,"I"],[75627,0,"f"],[75628,0," "],[75629,0,"$"],[75630,0,"k"],[75631,0,"_"],[75632,0,"2"],[75633,0,"$"],[75634,0," "],[75635,0,"i"],[75636,0,"s"],[75637,0," "],[75638,0,"n"],[75639,0,"o"],[75640,0,"t"],[75641,0," "],[75642,0,"a"],[75643,0,"n"],[75644,0," "],[75645,0,"o"],[75646,0,"p"],[75647,0,"e"],[75648,0,"r"],[75649,0,"a"],[75650,0,"t"],[75651,0,"i"],[75652,0,"o"],[75653,0,"n"],[75654,0," "],[75655,0,"i"],[75656,0,"d"],[75657,0,"e"],[75658,0,"n"],[75659,0,"t"],[75660,0,"i"],[75661,0,"f"],[75662,0,"i"],[75663,0,"e"],[75664,0,"r"],[75665,0,","],[75666,0," "],[75667,0,"i"],[75668,0,"t"],[75669,0," "],[75670,0,"m"],[75671,0,"u"],[75672,0,"s"],[75673,0,"t"],[75674,0," "],[75675,0,"b"],[75676,0,"e"],[75677,0," "],[75678,0,"\\"],[75679,0,"t"],[75680,0,"e"],[75681,0,"x"],[75682,0,"t"],[75683,0,"s"],[75684,0,"f"],[75685,0,"{"],[75686,0,"t"],[75687,0,"a"],[75688,0,"i"],[75689,0,"l"],[75690,0,"}"],[75691,0,"."],[75692,0," "],[75193,0,"\n"],[75194,0,"T"],[75195,0,"h"],[75196,0,"e"],[75197,0," "],[75198,0,"r"],[75199,0,"u"],[75200,0,"l"],[75201,0,"e"],[75202,0,"s"],[75203,0," "],[75204,0,"f"],[75205,0,"o"],[75206,0,"r"],[75207,0," "],[75208,0,"g"],[75209,0,"e"],[75210,0,"n"],[75211,0,"e"],[75212,0,"r"],[75213,0,"a"],[75214,0,"t"],[75215,0,"i"],[75216,0,"n"],[75217,0,"g"],[75218,0," "],[75219,0,"l"],[75220,0,"i"],[75221,0,"s"],[75222,0,"t"],[75223,0," "],[75224,0,"o"],[75225,0,"p"],[75226,0,"e"],[75227,0,"r"],[75228,0,"a"],[75229,0,"t"],[75230,0,"i"],[75231,0,"o"],[75232,0,"n"],[75233,0,"s"],[75234,0," "],[75235,0,"e"],[75236,0,"n"],[75237,0,"s"],[75238,0,"u"],[75239,0,"r"],[75240,0,"e"],[75241,0," "],[75242,0,"t"],[75243,0,"h"],[75244,0,"a"],[75245,0,"t"],[75246,0," "],[75247,0,"$"],[75248,0,"k"],[75249,0,"_"],[75250,0,"1"],[75251,0,"$"],[75252,0," "],[75253,0,"i"],[75254,0,"s"],[75255,0," "],[75256,0,"e"],[75257,0,"i"],[75258,0,"t"],[75259,0,"h"],[75260,0,"e"],[75261,0,"r"],[75262,0," "],[75263,0,"\\"],[75264,0,"t"],[75265,0,"e"],[75266,0,"x"],[75267,0,"t"],[75268,0,"s"],[75269,0,"f"],[75270,0,"{"],[75271,0,"h"],[75272,0,"e"],[75273,0,"a"],[75274,0,"d"],[75275,0,"}"],[75276,0," "],[75277,0,"o"],[75278,0,"r"],[75279,0," "],[75280,0,"a"],[75281,0,"n"],[75282,0," "],[75283,0,"o"],[75284,0,"p"],[75285,0,"e"],[75286,0,"r"],[75287,0,"a"],[75288,0,"t"],[75289,0,"i"],[75290,0,"o"],[75291,0,"n"],[75292,0," "],[75293,0,"i"],[75294,0,"d"],[75295,0,"e"],[75296,0,"n"],[75297,0,"t"],[75298,0,"i"],[75299,0,"f"],[75300,0,"i"],[75301,0,"e"],[75302,0,"r"],[75303,0,","],[75304,0," "],[75305,0,"a"],[75306,0,"n"],[75307,0,"d"],[75308,0," "],[75309,0,"$"],[75310,0,"k"],[75311,0,"_"],[75312,0,"2"],[75313,0,"$"],[75314,0," "],[75315,0,"i"],[75316,0,"s"],[75317,0," "],[75318,0,"e"],[75319,0,"i"],[75320,0,"t"],[75321,0,"h"],[75322,0,"e"],[75323,0,"r"],[75324,0," "],[75325,0,"\\"],[75326,0,"t"],[75327,0,"e"],[75328,0,"x"],[75329,0,"t"],[75330,0,"s"],[75331,0,"c"],[75331,1],[75331,0,"f"],[75332,0,"{"],[75333,0,"t"],[75334,0,"a"],[75335,0,"i"],[75336,0,"l"],[75337,0,"}"],[75338,0," "],[75339,0,"o"],[75340,0,"r"],[75341,0," "],[75342,0,"a"],[75343,0,"n"],[75344,0," "],[75345,0,"o"],[75346,0,"p"],[75347,0,"e"],[75348,0,"r"],[75349,0,"a"],[75350,0,"t"],[75351,0,"i"],[75352,0,"o"],[75353,0,"n"],[75354,0," "],[75355,0,"i"],[75356,0,"d"],[75357,0,"e"],[75358,0,"n"],[75359,0,"t"],[75360,0,"i"],[75361,0,"f"],[75362,0,"i"],[75363,0,"e"],[75364,0,"r"],[75365,0,"."],[75366,1],[75366,0,"\n"],[75367,0,"\n"],[75866,1],[75865,1],[75864,1],[75863,1],[75862,1],[75861,1],[75860,1],[75859,1],[75858,1],[75857,1],[75856,1],[75855,1],[75854,1],[75853,1],[75852,1],[75851,1],[75850,1],[75849,1],[75848,1],[75847,1],[75846,1],[75845,1],[75844,1],[75843,1],[75842,1],[75841,1],[75840,1],[75839,1],[75838,1],[75837,1],[75836,1],[75835,1],[75834,1],[75833,1],[75832,1],[75831,1],[75830,1],[75829,1],[75828,1],[75827,1],[75826,1],[75825,1],[75824,1],[75823,1],[75822,1],[75821,1],[75820,1],[75819,1],[75818,1],[75817,1],[75816,1],[75815,1],[75814,1],[75813,1],[75812,1],[75811,1],[75810,1],[75809,1],[75808,1],[75807,1],[75806,1],[75805,1],[75804,1],[75803,1],[75802,1],[75801,1],[75800,1],[75800,0,"T"],[75801,0,"h"],[75802,0,"u"],[75803,0,"s"],[75804,0," "],[75804,1],[75804,0,","],[75805,0," "],[75806,0,"e"],[75807,0,"i"],[75808,0,"t"],[75809,0,"h"],[75810,0,"e"],[75811,0,"r"],[75812,0," "],[75813,0,"$"],[75814,0,"k"],[75815,0,"_"],[75816,0,"2"],[75817,0," "],[75818,0,"<"],[75819,0," "],[75820,0,"k"],[75821,0,"_"],[75822,0,"\\"],[75823,0,"m"],[75824,0,"a"],[75825,0,"t"],[75826,0,"h"],[75827,0,"i"],[75828,0,"t"],[75829,0,"{"],[75830,0,"n"],[75831,0,"e"],[75832,0,"w"],[75833,0,"}"],[75834,0,"$"],[75835,0," "],[75836,0,"u"],[75837,0,"n"],[75838,0,"d"],[75839,0,"e"],[75840,0,"r"],[75841,0," "],[75842,0,"t"],[75843,0,"h"],[75844,0,"e"],[75845,0," "],[75846,0,"o"],[75847,0,"r"],[75848,0,"d"],[75849,0,"e"],[75850,0,"r"],[75851,0,"i"],[75852,0,"n"],[75853,0,"g"],[75854,0," "],[75855,0,"r"],[75856,0,"e"],[75857,0,"l"],[75858,0,"a"],[75859,0,"t"],[75860,0,"i"],[75861,0,"o"],[75862,0,"n"],[75863,0," "],[75864,0,"$"],[75865,0,"<"],[75866,0,"$"],[75867,0," "],[75868,0,"f"],[75869,0,"o"],[75870,0,"r"],[75871,0," "],[75872,0,"L"],[75873,0,"a"],[75874,0,"m"],[75875,0,"p"],[75876,0,"o"],[75877,0,"r"],[75878,0,"t"],[75879,0," "],[75880,0,"t"],[75881,0,"i"],[75882,0,"m"],[75883,0,"e"],[75884,0,"s"],[75885,0,"t"],[75886,0,"a"],[75887,0,"m"],[75888,0,"p"],[75889,0,"s"],[75890,0,","],[75891,0," "],[75892,0,"o"],[75893,0,"r"],[75894,0," "],[75895,0,"$"],[75896,0,"k"],[75897,0,"_"],[75898,0,"2"],[75899,0," "],[75900,0,"="],[75901,0," "],[75902,0,"\\"],[75903,0,"m"],[75904,0,"a"],[75905,0,"t"],[75906,0,"h"],[75907,0,"s"],[75908,0,"f"],[75909,0,"{"],[75910,0,"t"],[75911,0,"a"],[75912,0,"i"],[75913,0,"l"],[75914,0,"}"],[75915,0,"$"],[75916,0,"."],[75917,0,"\n"],[75918,0,"\n"],[75919,0,"W"],[75920,0,"h"],[75921,0,"e"],[75922,0,"n"],[75923,0," "],[75924,0,"t"],[75925,0,"h"],[75926,0,"e"],[75927,0," "],[75928,0,"i"],[75929,0,"n"],[75930,0,"s"],[75931,0,"e"],[75932,0,"r"],[75933,0,"t"],[75934,0,"i"],[75935,0,"o"],[75936,0,"n"],[75937,0," "],[75938,0,"o"],[75939,0,"p"],[75940,0,"e"],[75941,0,"r"],[75942,0,"a"],[75943,0,"t"],[75944,0,"i"],[75945,0,"o"],[75946,0,"n"],[75947,0," "],[75948,0,"i"],[75949,0,"s"],[75950,0," "],[75951,0,"a"],[75952,0,"p"],[75953,0,"p"],[75954,0,"l"],[75955,0,"i"],[75956,0,"e"],[75957,0,"d"],[75958,0," "],[75959,0,"o"],[75960,0,"n"],[75961,0," "],[75962,0,"o"],[75963,0,"t"],[75964,0,"h"],[75965,0,"e"],[75966,0,"r"],[75967,0," "],[75968,0,"r"],[75969,0,"e"],[75970,0,"p"],[75971,0,"l"],[75972,0,"i"],[75973,0,"c"],[75974,0,"a"],[75975,0,"s"],[75976,0,"e"],[75976,1],[75976,0," "],[75977,0,"u"],[75978,0,"s"],[75979,0,"i"],[75980,0,"n"],[75981,0,"g"],[75982,0," "],[75983,0,"\\"],[75984,0,"t"],[75985,0,"e"],[75986,0,"x"],[75987,0,"t"],[75988,0,"s"],[75989,0,"c"],[75990,0,"{"],[75991,0,"A"],[75992,0,"p"],[75993,0,"p"],[75994,0,"l"],[75995,0,"y"],[75996,0,"-"],[75997,0,"R"],[75998,0,"e"],[75999,0,"m"],[76000,0,"o"],[76001,0,"t"],[76002,0,"e"],[76003,0,"}"],[76004,0," "],[76005,0,"a"],[76006,0,"n"],[76007,0,"d"],[76008,0," "],[76009,0,"$"],[76010,0,"\\"],[76011,0,"t"],[76012,0,"e"],[76013,0,"x"],[76014,0,"t"],[76015,0,"s"],[76016,0,"c"],[76017,0,"{"],[76018,0,"I"],[76019,0,"n"],[76020,0,"s"],[76021,0,"e"],[76022,0,"r"],[76023,0,"t"],[76024,0,"}"],[76025,0,"_"],[76026,0,"{"],[76027,0,"1"],[76028,0,","],[76029,0,"2"],[76030,0,"}"],[76031,0,"$"],[76032,0,","],[76033,0," "],[76034,0,"b"],[76035,0,"y"],[76036,0," "],[76037,0,"L"],[76037,1],[76036,1],[76035,1],[76034,1],[76034,0,"$"],[76035,0,"k"],[76036,0,"_"],[76037,0,"1"],[76038,0,"$"],[76039,0," "],[76040,0,"p"],[76041,0,"r"],[76042,0,"e"],[76043,0,"c"],[76044,0,"e"],[76045,0,"d"],[76046,0,"e"],[76047,0,"s"],[76048,0," "],[76049,0,"$"],[76050,0,"k"],[76051,0,"_"],[76052,0,"2"],[76053,0,"$"],[76054,0," "],[76055,0,"o"],[76056,0,"n"],[76057,0," "],[76058,0,"t"],[76059,0,"h"],[76060,0,"a"],[76061,0,"t"],[76062,0," "],[75962,0,"a"],[75963,0,"n"],[75977,1],[76064,0,"r"],[76065,0,"e"],[76066,0,"p"],[76067,0,"l"],[76068,0,"i"],[76069,0,"c"],[76070,0,"a"],[76071,0," "],[76072,0,"("],[76073,0,"b"],[76074,0,"y"],[76075,0," "],[76076,0,"L"],[76077,0,"e"],[76078,0,"m"],[76079,0,"m"],[76080,0,"a"],[76081,0,"~"],[76082,0,"\\"],[76083,0,"r"],[76084,0,"e"],[76085,0,"f"],[76086,0,"{"],[76087,0,"l"],[76088,0,"e"],[76089,0,"m"],[76090,0,":"],[76091,0,"l"],[76092,0,"i"],[76093,0,"s"],[76094,0,"t"],[76095,0,"-"],[76096,0,"p"],[76097,0,"r"],[76098,0,"e"],[76099,0,"c"],[76100,0,"e"],[76101,0,"d"],[76102,0,"e"],[76103,0,"s"],[76104,0,"}"],[76105,0," "],[76106,0,"a"],[76107,0,"n"],[76108,0,"d"],[76109,0," "],[76110,0,"c"],[76111,0,"a"],[76112,0,"u"],[76113,0,"s"],[76114,0,"a"],[76115,0,"l"],[76116,0,"i"],[76117,0,"t"],[76118,0,"y"],[76119,0,")"],[76120,0,"."],[74782,0,"\\"],[74783,0,"l"],[74784,0,"a"],[74785,0,"b"],[74786,0,"e"],[74787,0,"l"],[74788,0,"{"],[74789,0,"l"],[74790,0,"e"],[74791,0,"m"],[74792,0,":"],[74793,0,"i"],[74794,0,"n"],[74795,0,"s"],[74796,0,"e"],[74797,0,"r"],[74798,0,"t"],[74799,0,"-"],[74800,0,"b"],[74801,0,"e"],[74802,0,"t"],[74803,0,"w"],[74804,0,"e"],[74805,0,"e"],[74806,0,"n"],[74807,0,"}"],[76147,0," "],[76148,0,"$"],[76148,1],[76148,0,"\n"],[76148,1],[76148,0,"T"],[76149,0,"h"],[76150,0,"e"],[76151,0," "],[76152,0,"c"],[76153,0,"u"],[76154,0,"r"],[76155,0,"s"],[76156,0,"o"],[76157,0,"r"],[76158,0," "],[76159,0,"o"],[76160,0,"f"],[76161,0," "],[76162,0,"t"],[76163,0,"h"],[76164,0,"e"],[76165,0," "],[76166,0,"o"],[76167,0,"p"],[76168,0,"e"],[76169,0,"r"],[76170,0,"a"],[76171,0,"t"],[76172,0,"i"],[76173,0,"o"],[76174,0,"n"],[76175,0," "],[76176,0,"i"],[76177,0,"s"],[76178,0," "],[76179,0,"$"],[76180,0,"\\"],[76181,0,"m"],[76182,0,"a"],[76183,0,"t"],[76184,0,"h"],[76185,0,"s"],[76186,0,"f"],[76187,0,"{"],[76188,0,"c"],[76189,0,"u"],[76190,0,"r"],[76191,0,"s"],[76192,0,"o"],[76193,0,"r"],[76194,0,"}"],[76195,0,"("],[76196,0,"\\"],[76197,0,"l"],[76198,0,"a"],[76199,0,"n"],[76200,0,"g"],[76201,0,"l"],[76202,0,"e"],[76203,0,"\\"],[76204,0,"d"],[76205,0,"o"],[76206,0,"t"],[76207,0,"s"],[76208,0,"\\"],[76209,0,"r"],[76210,0,"a"],[76211,0,"n"],[76212,0,"g"],[76213,0,"l"],[76214,0,"e"],[76215,0,","],[76216,0," "],[76217,0,"k"],[76218,0,"_"],[76219,0,"1"],[76220,0,")"],[76221,0,"$"],[76222,0,"."],[76223,0," "],[76224,0,"I"],[76225,0,"f"],[76226,0," "],[76227,0,"o"],[76228,0,"t"],[76229,0,"h"],[76230,0,"e"],[76231,0,"r"],[76232,0," "],[76233,0,"c"],[76234,0,"o"],[76235,0,"n"],[76236,0,"c"],[76237,0,"u"],[76238,0,"r"],[76239,0,"r"],[76240,0,"e"],[76241,0,"n"],[76242,0,"t"],[76243,0," "],[76244,0,"i"],[76245,0,"n"],[76246,0,"s"],[76247,0,"e"],[76248,0,"r"],[76249,0,"t"],[76250,0,"i"],[76251,0,"o"],[76252,0,"n"],[76253,0,"s"],[76254,0," "],[76255,0,"o"],[76256,0,"c"],[76257,0,"c"],[76258,0,"u"],[76259,0,"r"],[76260,0,"r"],[76261,0,"e"],[76262,0,"d"],[76263,0," "],[76264,0,"b"],[76265,0,"e"],[76266,0,"t"],[76267,0,"w"],[76268,0,"e"],[76269,0,"e"],[76270,0,"n"],[76271,0," "],[76272,0,"$"],[76273,0,"k"],[76274,0,"_"],[76275,0,"1"],[76276,0,"$"],[76277,0," "],[76278,0,"a"],[76279,0,"n"],[76280,0,"d"],[76281,0," "],[76282,0,"$"],[76283,0,"k"],[76284,0,"_"],[76285,0,"2"],[76286,0,"$"],[76287,0,","],[76288,0," "],[76289,0,"t"],[76290,0,"h"],[76291,0,"e"],[76292,0,"i"],[76293,0,"r"],[76294,0," "],[76295,0,"o"],[76296,0,"p"],[76297,0,"e"],[76298,0,"r"],[76299,0,"a"],[76300,0,"t"],[76301,0,"i"],[76302,0,"o"],[76303,0,"n"],[76304,0," "],[76305,0,"I"],[76306,0,"D"],[76307,0," "],[76308,0,"m"],[76309,0,"a"],[76310,0,"y"],[76311,0," "],[76312,0,"b"],[76313,0,"e"],[76314,0," "],[76315,0,"g"],[76316,0,"r"],[76317,0,"e"],[76318,0,"a"],[76319,0,"t"],[76320,0,"e"],[76321,0,"r"],[76322,0," "],[76323,0,"t"],[76324,0,"h"],[76325,0,"a"],[76326,0,"n"],[76327,0," "],[76328,0,"o"],[76329,0,"r"],[76330,0," "],[76331,0,"l"],[76332,0,"e"],[76333,0,"s"],[76334,0,"s"],[76335,0," "],[76336,0,"t"],[76337,0,"h"],[76338,0,"a"],[76339,0,"n"],[76340,0," "],[76341,0,"$"],[76342,0,"k"],[76343,0,"_"],[76344,0,"\\"],[76345,0,"m"],[76346,0,"a"],[76347,0,"t"],[76348,0,"h"],[76349,0,"i"],[76350,0,"t"],[76351,0,"{"],[76352,0,"n"],[76353,0,"e"],[76354,0,"w"],[76355,0,"}"],[76356,0,"$"],[76357,0,","],[76358,0," "],[76359,0,"a"],[76360,0,"n"],[76361,0,"d"],[76362,0," "],[76363,0,"t"],[76364,0,"h"],[76365,0,"u"],[76366,0,"s"],[76367,0," "],[76368,0,"e"],[76369,0,"i"],[76370,0,"t"],[76371,0,"h"],[76372,0,"e"],[76373,0,"r"],[76374,0," "],[76375,0,"$"],[76376,0,"\\"],[76377,0,"m"],[76378,0,"a"],[76379,0,"t"],[76380,0,"h"],[76380,1],[76379,1],[76378,1],[76377,1],[76377,0,"t"],[76378,0,"e"],[76379,0,"x"],[76380,0,"t"],[76381,0,"s"],[76382,0,"c"],[76383,0,"{"],[76384,0,"I"],[76385,0,"n"],[76386,0,"s"],[76387,0,"e"],[76388,0,"r"],[76389,0,"t"],[76390,0,"}"],[76391,0,"_"],[76392,0,"1"],[76393,0,"$"],[76394,0," "],[76395,0,"o"],[76396,0,"r"],[76397,0," "],[76398,0,"\\"],[76398,1],[76398,0,"$"],[76399,0,"\\"],[76400,0,"t"],[76401,0,"e"],[76402,0,"x"],[76403,0,"t"],[76404,0,"s"],[76405,0,"c"],[76406,0,"{"],[76407,0,"I"],[76408,0,"n"],[76409,0,"s"],[76410,0,"e"],[76411,0,"r"],[76412,0,"t"],[76413,0,"}"],[76414,0,"_"],[76415,0,"2"],[76416,0,"$"],[76417,0," "],[76418,0,"m"],[76419,0,"a"],[76420,0,"y"],[76421,0," "],[76422,0,"a"],[76423,0,"p"],[76424,0,"p"],[76425,0,"l"],[76426,0,"y"],[76427,0,"."],[76428,0," "],[76429,0,"I"],[76430,0,"n"],[76431,0," "],[76432,0,"p"],[76433,0,"a"],[76434,0,"r"],[76435,0,"t"],[76436,0,"i"],[76437,0,"c"],[76438,0,"u"],[76439,0,"l"],[76440,0,"a"],[76441,0,"r"],[76442,0,","],[76443,0," "],[76444,0,"$"],[76445,0,"\\"],[76446,0,"t"],[76447,0,"e"],[76448,0,"x"],[76449,0,"t"],[76450,0,"s"],[76451,0,"c"],[76452,0,"{"],[76453,0,"I"],[76454,0,"n"],[76455,0,"s"],[76456,0,"e"],[76457,0,"r"],[76458,0,"t"],[76459,0,"}"],[76460,0,"_"],[76461,0,"2"],[76462,0,"$"],[76463,0," "],[76464,0,"s"],[76465,0,"k"],[76466,0,"i"],[76467,0,"p"],[76468,0,"s"],[76469,0," "],[76470,0,"o"],[76471,0,"v"],[76472,0,"e"],[76473,0,"r"],[76474,0," "],[76475,0,"a"],[76476,0,"n"],[76477,0,"y"],[76478,0," "],[76479,0,"l"],[76480,0,"i"],[76481,0,"s"],[76482,0,"t"],[76483,0," "],[76484,0,"e"],[76485,0,"l"],[76486,0,"e"],[76487,0,"m"],[76488,0,"e"],[76489,0,"n"],[76490,0,"t"],[76491,0,"s"],[76492,0," "],[76493,0,"w"],[76494,0,"h"],[76495,0,"o"],[76496,0,"s"],[76497,0,"e"],[76498,0," "],[76499,0,"L"],[76500,0,"a"],[76501,0,"m"],[76502,0,"p"],[76503,0,"o"],[76504,0,"r"],[76505,0,"t"],[76506,0," "],[76507,0,"t"],[76508,0,"i"],[76509,0,"m"],[76510,0,"e"],[76511,0,"s"],[76512,0,"t"],[76513,0,"a"],[76514,0,"m"],[76515,0,"p"],[76516,0," "],[76517,0,"i"],[76518,0,"s"],[76519,0," "],[76520,0,"g"],[76521,0,"r"],[76522,0,"e"],[76523,0,"a"],[76524,0,"t"],[76525,0,"e"],[76526,0,"r"],[76527,0," "],[76528,0,"t"],[76529,0,"h"],[76530,0,"a"],[76531,0,"n"],[76532,0," "],[76533,0,"$"],[76534,0,"k"],[76535,0,"_"],[76536,0,"\\"],[76537,0,"m"],[76538,0,"a"],[76539,0,"t"],[76540,0,"h"],[76541,0,"i"],[76542,0,"t"],[76543,0,"{"],[76544,0,"n"],[76545,0,"e"],[76546,0,"w"],[76547,0,"}"],[76548,0,"$"],[76549,0,"."],[76222,0,","],[76223,0," "],[76224,0,"s"],[76225,0,"o"],[76226,0," "],[76227,0,"t"],[76228,0,"h"],[76229,0,"e"],[76230,0," "],[76231,0,"r"],[76232,0,"u"],[76233,0,"l"],[76234,0,"e"],[76235,0,"s"],[76236,0," "],[76237,0,"s"],[76238,0,"t"],[76239,0,"a"],[76240,0,"r"],[76241,0,"t"],[76242,0," "],[76243,0,"i"],[76244,0,"t"],[76245,0,"e"],[76246,0,"r"],[76247,0,"a"],[76248,0,"t"],[76249,0,"i"],[76250,0,"n"],[76251,0,"g"],[76252,0," "],[76253,0,"t"],[76254,0,"h"],[76255,0,"e"],[76256,0," "],[76257,0,"l"],[76258,0,"i"],[76259,0,"s"],[76260,0,"t"],[76261,0," "],[76262,0,"a"],[76263,0,"t"],[76264,0," "],[76265,0,"$"],[76266,0,"k"],[76267,0,"_"],[76268,0,"1"],[76269,0,"$"],[76270,0," "],[76271,0,"a"],[76272,0,"n"],[76273,0,"d"],[76274,0," "],[76275,0,"n"],[76276,0,"e"],[76277,0,"v"],[76278,0,"e"],[76279,0,"r"],[76280,0," "],[76281,0,"i"],[76282,0,"n"],[76283,0,"s"],[76284,0,"e"],[76285,0,"r"],[76286,0,"t"],[76287,0," "],[76288,0,"$"],[76289,0,"k"],[76290,0,"_"],[76291,0,"\\"],[76292,0,"m"],[76293,0,"a"],[76294,0,"t"],[76295,0,"h"],[76296,0,"i"],[76297,0,"t"],[76298,0,"{"],[76299,0,"n"],[76300,0,"e"],[76301,0,"w"],[76302,0,"}"],[76303,0,"$"],[76304,0," "],[76305,0,"a"],[76306,0,"t"],[76307,0," "],[76308,0,"a"],[76309,0," "],[76310,0,"p"],[76311,0,"o"],[76312,0,"s"],[76313,0,"i"],[76314,0,"t"],[76315,0,"i"],[76316,0,"o"],[76317,0,"n"],[76318,0," "],[76319,0,"t"],[76320,0,"h"],[76321,0,"a"],[76322,0,"t"],[76323,0," "],[76324,0,"p"],[76325,0,"r"],[76326,0,"e"],[76327,0,"c"],[76328,0,"e"],[76329,0,"d"],[76330,0,"e"],[76331,0,"s"],[76332,0," "],[76333,0,"$"],[76334,0,"k"],[76335,0,"_"],[76336,0,"1"],[76337,0,"$"],[76339,0,"\n"],[76340,0,"\n"],[76341,1],[76667,0," "],[76668,0,"H"],[76669,0,"o"],[76670,0,"w"],[76671,0,"e"],[76672,0,"v"],[76673,0,"e"],[76674,0,"r"],[76675,0,","],[76676,0," "],[76677,0,"w"],[76678,0,"e"],[76679,0," "],[76680,0,"k"],[76681,0,"n"],[76682,0,"o"],[76683,0,"w"],[76684,0," "],[76685,0,"t"],[76686,0,"h"],[76687,0,"a"],[76688,0,"t"],[76689,0," "],[76690,0,"$"],[76691,0,"k"],[76692,0,"_"],[76693,0,"2"],[76694,0," "],[76695,0,"<"],[76696,0," "],[76697,0,"k"],[76698,0,"_"],[76699,0,"\\"],[76700,0,"m"],[76701,0,"a"],[76702,0,"t"],[76703,0,"h"],[76704,0,"i"],[76705,0,"t"],[76706,0,"{"],[76707,0,"n"],[76708,0,"e"],[76709,0,"w"],[76710,0,"}"],[76711,0," "],[76712,0,"\\"],[76713,0,"v"],[76714,0,"e"],[76715,0,"e"],[76716,0," "],[76717,0,"k"],[76718,0,"_"],[76719,0,"2"],[76720,0," "],[76721,0,"="],[76722,0," "],[76723,0,"\\"],[76724,0,"m"],[76725,0,"a"],[76726,0,"t"],[76727,0,"h"],[76728,0,"s"],[76729,0,"f"],[76730,0,"{"],[76731,0,"t"],[76732,0,"a"],[76733,0,"i"],[76734,0,"l"],[76735,0,"}"],[76736,0,"$"],[76737,0,","],[76738,0," "],[76739,0,"a"],[76740,0,"n"],[76741,0,"d"],[76742,0," "],[76743,0,"s"],[76744,0,"o"],[76745,0," "],[76746,0,"$"],[76747,0,"\\"],[76748,0,"t"],[76749,0,"e"],[76750,0,"x"],[76751,0,"t"],[76752,0,"s"],[76753,0,"c"],[76754,0,"{"],[76755,0,"I"],[76756,0,"n"],[76757,0,"s"],[76758,0,"e"],[76759,0,"r"],[76760,0,"t"],[76761,0,"}"],[76762,0,"_"],[76763,0,"1"],[76764,0,"$"],[76765,0," "],[76766,0,"w"],[76767,0,"i"],[76768,0,"l"],[76769,0,"l"],[76770,0," "],[76771,0,"a"],[76772,0,"p"],[76773,0,"p"],[76774,0,"l"],[76775,0,"y"],[76776,0," "],[76777,0,"w"],[76778,0,"i"],[76779,0,"t"],[76780,0,"h"],[76781,0," "],[76782,0,"$"],[76783,0,"\\"],[76784,0,"m"],[76785,0,"a"],[76786,0,"t"],[76787,0,"h"],[76788,0,"i"],[76789,0,"t"],[76790,0,"{"],[76791,0,"n"],[76792,0,"e"],[76793,0,"x"],[76794,0,"t"],[76795,0,"}"],[76796,0,"="],[76797,0,"k"],[76798,0,"_"],[76799,0,"2"],[76800,0,"$"],[76801,0," "],[76802,0,"a"],[76803,0,"t"],[76804,0," "],[76805,0,"t"],[76806,0,"h"],[76807,0,"e"],[76808,0," "],[76809,0,"l"],[76810,0,"a"],[76811,0,"t"],[76812,0,"e"],[76813,0,"s"],[76814,0,"t"],[76815,0,"."],[76816,0," "],[76817,0,"T"],[76818,0,"h"],[76819,0,"e"],[76820,0," "],[76821,0,"$"],[76822,0,"\\"],[76823,0,"m"],[76824,0,"a"],[76825,0,"t"],[76826,0,"h"],[76826,1],[76825,1],[76824,1],[76823,1],[76823,0,"m"],[76824,0,"a"],[76825,0,"t"],[76826,0,"h"],[76751,1],[76750,1],[76749,1],[76748,1],[76748,0,"m"],[76749,0,"a"],[76750,0,"t"],[76751,0,"h"],[76520,1],[76519,1],[76518,1],[76517,1],[76517,0,"m"],[76518,0,"a"],[76519,0,"t"],[76520,0,"h"],[76517,1],[76517,1],[76517,1],[76517,1],[76517,0,"t"],[76518,0,"e"],[76519,0,"x"],[76520,0,"t"],[76748,1],[76748,1],[76748,1],[76748,1],[76748,0,"t"],[76749,0,"e"],[76750,0,"x"],[76751,0,"t"],[76826,1],[76825,1],[76824,1],[76823,1],[76823,0,"t"],[76824,0,"e"],[76825,0,"x"],[76826,0,"t"],[76827,0,"s"],[76828,0,"c"],[76829,0,"{"],[76830,0,"I"],[76831,0,"n"],[76832,0,"s"],[76833,0,"e"],[76834,0,"r"],[76835,0,"t"],[76836,0,"}"],[76837,0,"_"],[76838,0,"{"],[76839,0,"1"],[76840,0,","],[76841,0,"2"],[76842,0,"}"],[76843,0,"$"],[76844,0," "],[76845,0,"r"],[76846,0,"u"],[76847,0,"l"],[76848,0,"e"],[76849,0,"s"],[76850,0," "],[76851,0,"t"],[76852,0,"h"],[76853,0,"u"],[76854,0,"s"],[76855,0," "],[76856,0,"n"],[76857,0,"e"],[76858,0,"v"],[76859,0,"e"],[76860,0,"r"],[76861,0," "],[76862,0,"i"],[76863,0,"t"],[76864,0,"e"],[76865,0,"r"],[76866,0,"a"],[76867,0,"t"],[76868,0,"e"],[76869,0," "],[76870,0,"p"],[76871,0,"a"],[76872,0,"s"],[76873,0,"t"],[76874,0," "],[76875,0,"$"],[76876,0,"k"],[76877,0,"_"],[76878,0,"2"],[76879,0,"$"],[76880,0,","],[76881,0," "],[76882,0,"a"],[76883,0,"n"],[76884,0,"d"],[76885,0," "],[76886,0,"t"],[76887,0,"h"],[76888,0,"u"],[76889,0,"s"],[76890,0," "],[76891,0,"a"],[76892,0,"l"],[76893,0,"w"],[76894,0,"a"],[76895,0,"y"],[76896,0,"s"],[76897,0," "],[76898,0,"i"],[76899,0,"n"],[76900,0,"s"],[76901,0,"e"],[76902,0,"r"],[76903,0,"t"],[76904,0," "],[76905,0,"$"],[76906,0,"k"],[76907,0,"_"],[76908,0,"\\"],[76909,0,"m"],[76910,0,"a"],[76911,0,"t"],[76912,0,"h"],[76913,0,"i"],[76914,0,"t"],[76915,0,"{"],[76916,0,"n"],[76917,0,"e"],[76918,0,"w"],[76919,0,"}"],[76920,0,"$"],[76921,0," "],[76922,0,"a"],[76923,0,"t"],[76924,0," "],[76925,0,"a"],[76926,0," "],[76927,0,"p"],[76927,1],[76927,0,"l"],[76928,0,"i"],[76929,0,"s"],[76930,0,"t"],[76931,0," "],[76932,0,"p"],[76933,0,"o"],[76934,0,"s"],[76935,0,"i"],[76936,0,"t"],[76937,0,"i"],[76938,0,"o"],[76939,0,"n"],[76940,0," "],[76941,0,"t"],[76942,0,"h"],[76943,0,"a"],[76944,0,"t"],[76945,0," "],[76946,0,"p"],[76947,0,"r"],[76948,0,"e"],[76949,0,"c"],[76950,0,"e"],[76951,0,"d"],[76952,0,"e"],[76953,0,"s"],[76954,0," "],[76955,0,"$"],[76956,0,"k"],[76957,0,"_"],[76958,0,"2"],[76959,0,"$"],[76960,0,"."],[76973,0,"\n"],[76974,0,"\n"],[76975,0,"\\"],[76976,0,"b"],[76977,0,"e"],[76978,0,"g"],[76979,0,"i"],[76980,0,"n"],[76981,0,"{"],[76982,0,"l"],[76983,0,"e"],[76984,0,"m"],[76985,0,"m"],[76986,0,"a"],[76987,0,"}"],[76988,0,"\\"],[76989,0,"l"],[76990,0,"a"],[76991,0,"b"],[76992,0,"e"],[76993,0,"l"],[76994,0,"{"],[76995,0,"l"],[76996,0,"e"],[76997,0,"m"],[76998,0,":"],[76999,0,"i"],[77000,0,"n"],[77001,0,"s"],[77002,0,"e"],[77003,0,"r"],[77004,0,"t"],[77005,0,"-"],[77006,0,"c"],[77007,0,"o"],[77008,0,"m"],[77009,0,"m"],[77010,0,"u"],[77011,0,"t"],[77012,0,"e"],[77013,0,"}"],[77014,0,"\n"],[77015,0,"\\"],[77016,0,"e"],[77017,0,"n"],[77018,0,"d"],[77019,0,"{"],[77020,0,"l"],[77021,0,"e"],[77022,0,"m"],[77023,0,"m"],[77024,0,"a"],[77025,0,"}"],[77015,0,"\n"],[77015,0,"C"],[77016,0,"o"],[77017,0,"n"],[77018,0,"c"],[77019,0,"u"],[77020,0,"r"],[77021,0,"r"],[77022,0,"e"],[77023,0,"n"],[77024,0,"t"],[77025,0," "],[77026,0,"i"],[77027,0,"n"],[77028,0,"s"],[77029,0,"e"],[77030,0,"r"],[77031,0,"t"],[77032,0,"i"],[77033,0,"o"],[77034,0,"n"],[77035,0,"s"],[77036,0," "],[77037,0,"i"],[77038,0,"n"],[77039,0,"t"],[77040,0,"o"],[77041,0," "],[77042,0,"t"],[77043,0,"h"],[77044,0,"e"],[77045,0," "],[77046,0,"s"],[77047,0,"a"],[77048,0,"m"],[77049,0,"e"],[77050,0," "],[77051,0,"l"],[77052,0,"i"],[77053,0,"s"],[77054,0,"t"],[77055,0," "],[77056,0,"a"],[77057,0,"r"],[77058,0,"e"],[77059,0," "],[77060,0,"c"],[77061,0,"o"],[77062,0,"m"],[77063,0,"m"],[77064,0,"u"],[77065,0,"t"],[77066,0,"a"],[77067,0,"t"],[77068,0,"i"],[77069,0,"v"],[77070,0,"e"],[77071,0,"."],[77084,0,"\n"],[77085,0,"\n"],[77086,0,"\\"],[77087,0,"b"],[77088,0,"e"],[77089,0,"g"],[77090,0,"i"],[77091,0,"n"],[77092,0,"{"],[77093,0,"p"],[77094,0,"r"],[77095,0,"o"],[77096,0,"o"],[77097,0,"f"],[77098,0,"}"],[77099,0,"\n"],[77100,0,"\\"],[77101,0,"e"],[77102,0,"n"],[77103,0,"d"],[77104,0,"{"],[77105,0,"p"],[77106,0,"r"],[77107,0,"o"],[77108,0,"o"],[77109,0,"f"],[77110,0,"}"],[77099,0,"\n"],[77100,0,"L"],[77101,0,"e"],[77102,0,"t"],[77103,0," "],[77104,0,"$"],[77105,0,"\\"],[77106,0,"m"],[77107,0,"a"],[77108,0,"t"],[77109,0,"h"],[77110,0,"i"],[77111,0,"t"],[77112,0,"{"],[77113,0,"o"],[77114,0,"p"],[77115,0,"}"],[77116,0,"_"],[77117,0,"1"],[77118,0,"$"],[77119,0," "],[77120,0,"a"],[77121,0,"n"],[77122,0,"d"],[77123,0," "],[77124,0,"$"],[77125,0,"\\"],[77126,0,"m"],[77127,0,"a"],[77128,0,"t"],[77129,0,"h"],[77130,0,"i"],[77131,0,"t"],[77132,0,"{"],[77133,0,"o"],[77134,0,"p"],[77135,0,"}"],[77136,0,"_"],[77137,0,"2"],[77138,0,"$"],[77139,0," "],[77140,0,"b"],[77141,0,"e"],[77142,0," "],[77143,0,"t"],[77144,0,"w"],[77145,0,"o"],[77146,0," "],[77147,0,"c"],[77148,0,"o"],[77149,0,"m"],[77150,0,"m"],[77151,0,"u"],[77152,0,"t"],[77153,0,"a"],[77154,0,"t"],[77155,0,"i"],[77156,0,"v"],[77157,0,"e"],[77158,0," "],[77159,0,"i"],[77160,0,"n"],[77161,0,"s"],[77162,0,"e"],[77163,0,"r"],[77164,0,"t"],[77165,0,"i"],[77166,0,"o"],[77167,0,"n"],[77168,0," "],[77169,0,"o"],[77170,0,"p"],[77171,0,"e"],[77172,0,"r"],[77173,0,"a"],[77174,0,"t"],[77175,0,"i"],[77176,0,"o"],[77177,0,"n"],[77178,0,"s"],[77157,1],[77156,1],[77155,1],[77154,1],[77153,1],[77152,1],[77151,1],[77150,1],[77149,1],[77149,0,"n"],[77150,0,"c"],[77151,0,"u"],[77152,0,"r"],[77153,0,"r"],[77154,0,"e"],[77155,0,"n"],[77156,0,"t"],[77178,0,","],[77179,0," "],[77180,0,"i"],[77181,0,"."],[77182,0,"e"],[77183,0,"."],[77184,0," "],[77185,0,"$"],[77186,0,"\\"],[77187,0,"m"],[77188,0,"a"],[77189,0,"t"],[77190,0,"h"],[77191,0,"i"],[77192,0,"t"],[77193,0,"{"],[77194,0,"o"],[77195,0,"p"],[77196,0,"_"],[77196,1],[77196,0,"}"],[77197,0,"_"],[77198,0,"1"],[77199,0,"."],[77200,0,"\\"],[77201,0,"m"],[77202,0,"a"],[77203,0,"t"],[77204,0,"h"],[77205,0,"i"],[77206,0,"t"],[77207,0,"{"],[77208,0,"d"],[77209,0,"e"],[77210,0,"p"],[77211,0,"s"],[77212,0,"}"],[77213,0," "],[77214,0,"\\"],[76973,0,"\n"],[76974,0,"\n"],[76975,0,"\\"],[76976,0,"b"],[76977,0,"e"],[76978,0,"g"],[76979,0,"i"],[76980,0,"n"],[76981,0,"{"],[76982,0,"d"],[76983,0,"e"],[76984,0,"f"],[76985,0,"i"],[76986,0,"n"],[76987,0,"i"],[76988,0,"t"],[76989,0,"i"],[76990,0,"o"],[76991,0,"n"],[76992,0,"}"],[76993,0,"\\"],[76994,0,"l"],[76995,0,"a"],[76996,0,"b"],[76997,0,"e"],[76998,0,"l"],[76999,0,"{"],[77000,0,"d"],[77001,0,"e"],[77002,0,"f"],[77003,0,":"],[77004,0,"c"],[77005,0,"o"],[77006,0,"n"],[77007,0,"c"],[77008,0,"u"],[77009,0,"r"],[77010,0,"r"],[77011,0,"e"],[77012,0,"n"],[77013,0,"t"],[77014,0,"}"],[77015,0,"\n"],[77016,0,"\\"],[77017,0,"e"],[77018,0,"n"],[77019,0,"d"],[77020,0,"{"],[77021,0,"d"],[77022,0,"e"],[77023,0,"f"],[77024,0,"i"],[77025,0,"n"],[77026,0,"i"],[77027,0,"t"],[77028,0,"i"],[77029,0,"o"],[77030,0,"n"],[77031,0,"}"],[77015,0,"\n"],[77016,0,"T"],[77017,0,"w"],[77018,0,"o"],[77019,0," "],[77020,0,"o"],[77021,0,"p"],[77022,0,"e"],[77023,0,"r"],[77024,0,"a"],[77025,0,"t"],[77026,0,"i"],[77027,0,"o"],[77028,0,"n"],[77029,0,"s"],[77030,0," "],[77031,0,"$"],[77032,0,"\\"],[77033,0,"m"],[77034,0,"a"],[77035,0,"t"],[77036,0,"h"],[77037,0,"i"],[77038,0,"t"],[77039,0,"{"],[77040,0,"o"],[77041,0,"p"],[77042,0,"}"],[77043,0,"_"],[77044,0,"1"],[77045,0,"$"],[77046,0," "],[77047,0,"a"],[77048,0,"n"],[77049,0,"d"],[77050,0," "],[77051,0,"$"],[77052,0,"\\"],[77053,0,"m"],[77054,0,"a"],[77055,0,"t"],[77056,0,"h"],[77057,0,"i"],[77058,0,"t"],[77059,0,"{"],[77077,1],[77076,1],[77075,1],[77074,1],[77073,1],[77072,1],[77071,1],[77070,1],[77069,1],[77068,1],[77067,1],[77066,1],[77065,1],[77064,1],[77063,1],[77062,1],[77061,1],[77060,1],[77059,1],[77058,1],[77057,1],[77056,1],[77055,1],[77054,1],[77053,1],[77052,1],[77051,1],[77050,1],[77049,1],[77048,1],[77047,1],[77046,1],[77045,1],[77044,1],[77043,1],[77042,1],[77041,1],[77040,1],[77039,1],[77038,1],[77037,1],[77036,1],[77035,1],[77034,1],[77033,1],[77032,1],[77031,1],[77030,1],[77029,1],[77028,1],[77027,1],[77026,1],[77025,1],[77024,1],[77023,1],[77022,1],[77021,1],[77020,1],[77019,1],[77018,1],[77017,1],[77016,1],[77015,1],[77014,1],[77013,1],[77012,1],[77011,1],[77010,1],[77009,1],[77008,1],[77007,1],[77006,1],[77005,1],[77004,1],[77003,1],[77002,1],[77001,1],[77000,1],[76999,1],[76998,1],[76997,1],[76996,1],[76995,1],[76994,1],[76993,1],[76992,1],[76991,1],[76990,1],[76989,1],[76988,1],[76987,1],[76986,1],[76985,1],[76984,1],[76983,1],[76982,1],[76981,1],[76980,1],[76979,1],[76978,1],[76977,1],[76976,1],[76975,1],[76974,1],[77214,1],[77213,1],[77212,1],[77211,1],[77210,1],[77209,1],[77208,1],[77207,1],[77206,1],[77205,1],[77204,1],[77203,1],[77202,1],[77201,1],[77200,1],[77199,1],[77198,1],[77197,1],[77196,1],[77195,1],[77194,1],[77193,1],[77192,1],[77191,1],[77190,1],[77189,1],[77188,1],[77187,1],[77186,1],[77185,1],[77184,1],[77183,1],[77182,1],[77181,1],[77180,1],[77179,1],[77178,1],[77178,0,"."],[77179,0," "],[76973,0,"\n"],[76974,0,"\n"],[76975,0,"\\"],[76976,0,"b"],[76977,0,"e"],[76978,0,"g"],[76979,0,"i"],[76980,0,"n"],[76981,0,"{"],[76982,0,"d"],[76983,0,"e"],[76984,0,"f"],[76985,0,"i"],[76986,0,"n"],[76987,0,"i"],[76988,0,"t"],[76989,0,"i"],[76990,0,"o"],[76991,0,"n"],[76992,0,"}"],[76993,0,"\\"],[76994,0,"l"],[76995,0,"a"],[76996,0,"b"],[76997,0,"e"],[76998,0,"l"],[76999,0,"{"],[77000,0,"d"],[77001,0,"e"],[77002,0,"f"],[77003,0,":"],[77004,0,"c"],[77005,0,"o"],[77006,0,"m"],[77007,0,"m"],[77008,0,"a"],[77008,1],[77008,0,"o"],[77009,0,"n"],[77010,0,"-"],[77011,0,"a"],[77012,0,"n"],[77013,0,"c"],[77014,0,"e"],[77015,0,"s"],[77016,0,"t"],[77017,0,"o"],[77018,0,"r"],[77019,0,"}"],[77020,0,"\n"],[77021,0,"\\"],[77022,0,"e"],[77023,0,"n"],[77024,0,"d"],[77025,0,"{"],[77026,0,"d"],[77027,0,"e"],[77028,0,"f"],[77029,0,"i"],[77030,0,"n"],[77031,0,"i"],[77032,0,"t"],[77033,0,"i"],[77034,0,"o"],[77035,0,"n"],[77036,0,"}"],[77020,0,"\n"],[77021,0,"F"],[77022,0,"o"],[77023,0,"r"],[77024,0," "],[77025,0,"t"],[77026,0,"w"],[77027,0,"o"],[77028,0," "],[77029,0,"c"],[77030,0,"o"],[77031,0,"n"],[77032,0,"c"],[77033,0,"u"],[77034,0,"r"],[77035,0,"r"],[77036,0,"e"],[77037,0,"n"],[77038,0,"t"],[77039,0," "],[77040,0,"o"],[77041,0,"p"],[77042,0,"e"],[77043,0,"r"],[77044,0,"a"],[77045,0,"t"],[77046,0,"i"],[77047,0,"o"],[77048,0,"n"],[77049,0,"s"],[77050,0," "],[77051,0,"$"],[77052,0,"\\"],[77053,0,"m"],[77054,0,"a"],[77055,0,"t"],[77056,0,"h"],[77057,0,"i"],[77058,0,"t"],[77059,0,"{"],[77060,0,"o"],[77061,0,"p"],[77062,0,"}"],[77063,0,"_"],[77064,0,"1"],[77065,0,"$"],[77066,0," "],[77067,0,"a"],[77068,0,"n"],[77069,0,"d"],[77070,0," "],[77071,0,"$"],[77072,0,"\\"],[77073,0,"m"],[77074,0,"a"],[77075,0,"t"],[77076,0,"h"],[77077,0,"i"],[77078,0,"t"],[77079,0,"{"],[77080,0,"o"],[77081,0,"p"],[77082,0,"}"],[77083,0,"_"],[77084,0,"2"],[77085,0,"$"],[77086,0,","],[77087,0," "],[77088,0,"t"],[77089,0,"h"],[77090,0,"e"],[77091,0," "],[77092,0,"\\"],[77093,0,"e"],[77094,0,"m"],[77095,0,"p"],[77096,0,"h"],[77097,0,"{"],[77098,0,"c"],[77099,0,"o"],[77100,0,"m"],[77101,0,"m"],[77102,0,"o"],[77103,0,"n"],[77104,0," "],[77105,0,"a"],[77106,0,"n"],[77107,0,"c"],[77108,0,"e"],[77109,0,"s"],[77110,0,"t"],[77111,0,"o"],[77112,0,"r"],[77113,0,"}"],[77114,0," "],[77115,0,"i"],[77116,0,"s"],[77117,0," "],[77118,0,"t"],[77119,0,"h"],[77120,0,"e"],[77121,0," "],[77122,0,"d"],[77123,0,"o"],[77124,0,"c"],[77125,0,"u"],[77126,0,"m"],[77127,0,"e"],[77128,0,"n"],[77129,0,"t"],[77130,0," "],[77131,0,"s"],[77132,0,"t"],[77133,0,"a"],[77134,0,"t"],[77135,0,"e"],[77136,0," "],[77137,0,"r"],[77138,0,"e"],[77139,0,"s"],[77140,0,"u"],[77141,0,"l"],[77142,0,"t"],[77143,0,"i"],[77144,0,"n"],[77145,0,"g"],[77146,0," "],[77147,0,"f"],[77148,0,"r"],[77149,0,"o"],[77150,0,"m"],[77151,0," "],[77152,0,"a"],[77153,0,"p"],[77154,0,"p"],[77155,0,"l"],[77156,0,"y"],[77157,0,"i"],[77158,0,"n"],[77159,0,"g"],[77160,0," "],[77161,0,"a"],[77162,0,"l"],[77163,0,"l"],[77164,0," "],[77165,0,"o"],[77166,0,"p"],[77167,0,"e"],[77168,0,"r"],[77169,0,"a"],[77170,0,"t"],[77171,0,"i"],[77172,0,"o"],[77173,0,"n"],[77174,0,"s"],[77175,0," "],[77176,0,"i"],[77177,0,"n"],[77178,0," "],[77179,0,"$"],[77180,0,"\\"],[77181,0,"m"],[77182,0,"a"],[77183,0,"t"],[77184,0,"h"],[77185,0,"i"],[77186,0,"t"],[77187,0,"{"],[77188,0,"o"],[77189,0,"p"],[77190,0,"}"],[77191,0,"_"],[77192,0,"1"],[77193,0,"."],[77194,0,"\\"],[77195,0,"m"],[77196,0,"a"],[77197,0,"t"],[77198,0,"h"],[77199,0,"i"],[77200,0,"t"],[77201,0,"{"],[77202,0,"d"],[77203,0,"e"],[77204,0,"p"],[77205,0,"s"],[77206,0,"}"],[77207,0," "],[77208,0,"\\"],[77209,0,"c"],[77210,0,"u"],[77211,0,"p"],[77212,0," "],[77213,0,"\\"],[77214,0,"m"],[77215,0,"a"],[77216,0,"t"],[77217,0,"h"],[77218,0,"i"],[77219,0,"t"],[77220,0,"{"],[77221,0,"o"],[77222,0,"p"],[77223,0,"}"],[77224,0,"_"],[77225,0,"2"],[77226,0,"."],[77227,0,"\\"],[77228,0,"m"],[77229,0,"a"],[77230,0,"t"],[77231,0,"h"],[77232,0,"i"],[77233,0,"t"],[77234,0,"{"],[77235,0,"d"],[77236,0,"e"],[77237,0,"p"],[77238,0,"s"],[77239,0,"}"],[77240,0,"$"],[77241,0,","],[77242,0," "],[77243,0,"i"],[77244,0,"."],[77245,0,"e"],[77246,0,"."],[77247,0," "],[77248,0,"t"],[77249,0,"h"],[77250,0,"e"],[77251,0," "],[77252,0,"m"],[77253,0,"o"],[77254,0,"s"],[77255,0,"t"],[77256,0," "],[77257,0,"r"],[77258,0,"e"],[77259,0,"c"],[77260,0,"e"],[77261,0,"n"],[77262,0,"t"],[77263,0," "],[77264,0,"d"],[77265,0,"o"],[77266,0,"c"],[77267,0,"u"],[77268,0,"m"],[77269,0,"e"],[77270,0,"n"],[77271,0,"t"],[77272,0," "],[77273,0,"s"],[77274,0,"t"],[77275,0,"a"],[77276,0,"t"],[77277,0,"e"],[77278,0," "],[77279,0,"t"],[77280,0,"h"],[77281,0,"a"],[77282,0,"t"],[77283,0," "],[77284,0,"c"],[77285,0,"a"],[77286,0,"u"],[77287,0,"s"],[77288,0,"a"],[77289,0,"l"],[77290,0,"l"],[77291,0,"y"],[77292,0," "],[77293,0,"p"],[77294,0,"r"],[77295,0,"e"],[77296,0,"c"],[77297,0,"e"],[77298,0,"d"],[77299,0,"e"],[77300,0,"s"],[77301,0," "],[77302,0,"b"],[77303,0,"o"],[77304,0,"t"],[77305,0,"h"],[77306,0," "],[77307,0,"o"],[77308,0,"p"],[77309,0,"e"],[77310,0,"r"],[77311,0,"a"],[77312,0,"t"],[77313,0,"i"],[77314,0,"o"],[77315,0,"n"],[77316,0,"s"],[77317,0,","],[77318,0," "],[77319,0,"a"],[77320,0,"f"],[77321,0,"t"],[77322,0,"e"],[77323,0,"r"],[77324,0," "],[77325,0,"w"],[77326,0,"h"],[77327,0,"i"],[77328,0,"c"],[77329,0,"h"],[77330,0," "],[77331,0,"t"],[77332,0,"h"],[77333,0,"e"],[77334,0," "],[77335,0,"d"],[77336,0,"o"],[77337,0,"c"],[77338,0,"u"],[77339,0,"m"],[77340,0,"e"],[77341,0,"n"],[77342,0,"t"],[77343,0," "],[77344,0,"s"],[77345,0,"t"],[77346,0,"a"],[77347,0,"t"],[77348,0,"e"],[77349,0,"s"],[77350,0," "],[77351,0,"d"],[77352,0,"i"],[77353,0,"v"],[77354,0,"e"],[77355,0,"r"],[77356,0,"g"],[77357,0,"e"],[77358,0,"d"],[77359,0,"."],[76993,0,"["],[76994,0,"c"],[76995,0,"o"],[76996,0,"m"],[76997,0,"m"],[76998,0,"o"],[76999,0,"n"],[77000,0," "],[77001,0,"a"],[77002,0,"n"],[77003,0,"c"],[77004,0,"e"],[77005,0,"s"],[77006,0,"t"],[77007,0,"]"],[77008,0,"r"],[77008,1],[77007,1],[77007,0,"o"],[77008,0,"r"],[77009,0,"]"],[73527,0,"["],[73528,0,"l"],[73529,0,"i"],[73530,0,"s"],[73531,0,"t"],[73532,0," "],[73533,0,"e"],[73534,0,"l"],[73535,0,"e"],[73536,0,"m"],[73537,0,"e"],[73538,0,"n"],[73539,0,"t"],[73540,0," "],[73541,0,"p"],[73542,0,"r"],[73543,0,"e"],[73544,0,"c"],[73545,0,"e"],[73546,0,"d"],[73547,0,"e"],[73548,0,"n"],[73549,0,"c"],[73550,0,"e"],[73551,0,"]"],[69726,0,"["],[69727,0,"d"],[69728,0,"o"],[69729,0,"c"],[69730,0,"u"],[69731,0,"m"],[69732,0,"e"],[69733,0,"n"],[69734,0,"t"],[69735,0," "],[69736,0,"s"],[69737,0,"t"],[69738,0,"a"],[69739,0,"t"],[69740,0,"e"],[69741,0,"]"],[68964,0,"["],[68965,0,"h"],[68966,0,"i"],[68967,0,"s"],[68968,0,"t"],[68969,0,"o"],[68970,0,"r"],[68971,0,"y"],[68972,0,"]"],[67907,0,"["],[67908,0,"v"],[67909,0,"a"],[67910,0,"l"],[67911,0,"i"],[67912,0,"d"],[67913,0," "],[67914,0,"e"],[67915,0,"x"],[67916,0,"e"],[67917,0,"c"],[67918,0,"u"],[67919,0,"t"],[67920,0,"i"],[67921,0,"o"],[67922,0,"n"],[67923,0,"]"],[77668,0,"L"],[77669,0,"e"],[77670,0,"t"],[77671,0," "],[77672,0,"$"],[77673,0,"k"],[77674,0,"_"],[77675,0,"1"],[77676,0,"$"],[77677,0," "],[77678,0,"b"],[77679,0,"e"],[77680,0," "],[77681,0,"t"],[77682,0,"h"],[77683,0,"e"],[77684,0," "],[77685,0,"l"],[77686,0,"i"],[77687,0,"s"],[77688,0,"t"],[77689,0," "],[77690,0,"e"],[77691,0,"l"],[77692,0,"e"],[77693,0,"m"],[77694,0,"e"],[77695,0,"n"],[77696,0,"t"],[77697,0," "],[77698,0,"t"],[77699,0,"h"],[77700,0,"a"],[77701,0,"t"],[77702,0," "],[77703,0,"m"],[77704,0,"o"],[77705,0,"s"],[77706,0,"t"],[77707,0," "],[77708,0,"c"],[77709,0,"l"],[77710,0,"o"],[77711,0,"s"],[77712,0,"e"],[77713,0,"l"],[77714,0,"y"],[77715,0," "],[77716,0,"p"],[77717,0,"r"],[77718,0,"e"],[77719,0,"c"],[77720,0,"e"],[77721,0,"d"],[77722,0,"e"],[77723,0,"s"],[77666,0," "],[77667,0,"w"],[77668,0,"i"],[77669,0,"t"],[77670,0,"h"],[77671,0," "],[77672,0,"a"],[77673,0," "],[77674,0,"c"],[77675,0,"o"],[77676,0,"m"],[77677,0,"m"],[77678,0,"o"],[77679,0,"n"],[77680,0," "],[77206,1],[77206,1],[77206,1],[77206,1],[77206,1],[77206,1],[77206,1],[77206,1],[77206,0,"r"],[77207,0,"e"],[77208,0,"p"],[77209,0,"l"],[77210,0,"i"],[77211,0,"c"],[77212,0,"a"],[77354,1],[77353,1],[77352,1],[77351,1],[77350,1],[77349,1],[77348,1],[77347,1],[77347,0,"r"],[77348,0,"e"],[77349,0,"p"],[77350,0,"l"],[77351,0,"i"],[77352,0,"c"],[77353,0,"a"],[77431,1],[77430,1],[77429,1],[77428,1],[77427,1],[77426,1],[77425,1],[77424,1],[77423,1],[77422,1],[77421,1],[77420,1],[77419,1],[77418,1],[77417,1],[77416,1],[77416,0,"y"],[77324,1],[77324,0,"."],[77325,0,"\n"],[77326,0,"\\"],[77327,0,"e"],[77328,0,"n"],[77329,0,"d"],[77330,0,"{"],[77331,0,"d"],[77332,0,"e"],[77333,0,"f"],[77334,0,"i"],[77335,0,"n"],[77336,0,"i"],[77337,0,"t"],[77338,0,"i"],[77339,0,"o"],[77340,0,"n"],[77341,0,"}"],[77342,0,"\n"],[77343,0,"\n"],[77344,1],[77344,1],[77344,1],[77344,1],[77344,1],[77344,0,"I"],[77345,0,"n"],[77346,0," "],[77347,0,"o"],[77348,0,"t"],[77349,0,"h"],[77350,0,"e"],[77351,0,"r"],[77352,0," "],[77353,0,"w"],[77354,0,"o"],[77355,0,"r"],[77356,0,"d"],[77357,0,"s"],[77358,0,","],[77359,0," "],[77360,0,"t"],[77361,0,"h"],[77362,0,"e"],[77363,0," "],[77364,0,"c"],[77365,0,"o"],[77366,0,"m"],[77367,0,"m"],[77368,0,"o"],[77369,0,"n"],[77370,0," "],[77371,0,"a"],[77372,0,"n"],[77373,0,"c"],[77374,0,"e"],[77375,0,"s"],[77376,0,"t"],[77377,0,"o"],[77378,0,"r"],[77379,0," "],[77380,0,"i"],[77381,0,"s"],[77495,1],[77494,1],[77493,1],[77492,1],[77491,1],[77490,1],[77489,1],[77488,1],[77487,1],[77486,1],[77485,1],[77484,1],[77483,1],[77482,1],[77481,1],[77480,1],[77479,1],[77468,1],[77468,0," "],[77469,0,"r"],[77470,0,"e"],[77471,0,"p"],[77472,0,"l"],[77473,0,"i"],[77474,0,"c"],[77475,0,"a"],[77476,0,"s"],[77487,0," "],[77488,0,"T"],[77489,0,"h"],[77490,0,"e"],[77491,0,"r"],[77492,0,"e"],[77493,0," "],[77494,0,"m"],[77495,0,"a"],[77496,0,"n"],[77497,0,"y"],[77498,0," "],[77499,0,"b"],[77500,0,"e"],[77501,0," "],[77502,0,"a"],[77503,0,"n"],[77504,0,"y"],[77505,0," "],[77506,0,"n"],[77507,0,"u"],[77508,0,"m"],[77509,0,"b"],[77510,0,"e"],[77511,0,"r"],[77512,0," "],[77513,0,"o"],[77514,0,"f"],[77515,0," "],[77516,0,"o"],[77517,0,"p"],[77518,0,"e"],[77519,0,"r"],[77520,0,"a"],[77521,0,"t"],[77522,0,"i"],[77523,0,"o"],[77524,0,"n"],[77525,0,"s"],[77526,0," "],[77527,0,"b"],[77528,0,"e"],[77529,0,"t"],[77530,0,"w"],[77531,0,"e"],[77532,0,"e"],[77533,0,"n"],[77534,0," "],[77535,0,"t"],[77536,0,"h"],[77537,0,"e"],[77538,0," "],[77539,0,"c"],[77540,0,"o"],[77541,0,"m"],[77542,0,"m"],[77543,0,"o"],[77544,0,"n"],[77545,0," "],[77546,0,"a"],[77547,0,"n"],[77548,0,"c"],[77549,0,"e"],[77550,0,"s"],[77551,0,"t"],[77552,0,"o"],[77553,0,"r"],[77554,0," "],[77555,0,"a"],[77556,0,"n"],[77557,0,"d"],[77558,0," "],[77559,0,"$"],[77560,0,"\\"],[77561,0,"m"],[77562,0,"a"],[77563,0,"t"],[77564,0,"h"],[77565,0,"i"],[77566,0,"t"],[77567,0,"{"],[77568,0,"o"],[77569,0,"p"],[77570,0,"}"],[77571,0,"_"],[77572,0,"{"],[77573,0,"1"],[77574,0,","],[77575,0,"2"],[77576,0,"}"],[77577,0,"$"],[77578,0,"."],[77799,0,"a"],[77800,0,"n"],[77801,0,"c"],[77802,0,"e"],[77803,0,"s"],[77804,0,"t"],[77805,0,"o"],[77806,0,"r"],[77807,0," "],[77808,0,"#"],[77809,0,"$"],[77809,1],[77808,1],[77808,0,"$"],[77809,0,"A"],[77810,0,"\\"],[77810,1],[77810,0,"_"],[77811,0,"\\"],[77812,0,"m"],[77813,0,"a"],[77814,0,"t"],[77815,0,"h"],[77816,0,"i"],[77817,0,"t"],[77818,0,"{"],[77819,0,"a"],[77820,0,"n"],[77821,0,"c"],[77822,0,"}"],[77823,0,"$"],[77834,0,"^"],[77835,0,"\\"],[77836,0,"m"],[77837,0,"a"],[77838,0,"t"],[77839,0,"h"],[77840,0,"i"],[77841,0,"t"],[77842,0,"{"],[77843,0,"b"],[77843,1],[77843,0,"b"],[77844,0,"e"],[77845,0,"f"],[77846,0,"o"],[77847,0,"r"],[77848,0,"e"],[77849,0,"}"],[77851,0," "],[77852,0,"a"],[77853,0,"n"],[77854,0,"d"],[77855,0," "],[77856,0,"$"],[77857,0,"k"],[77858,0,"_"],[77859,0,"2"],[77860,0,"^"],[77861,0,"&"],[77861,1],[77861,0,"\\"],[77862,0,"m"],[77863,0,"a"],[77864,0,"t"],[77865,0,"h"],[77866,0,"i"],[77867,0,"t"],[77868,0,"{"],[77869,0,"b"],[77870,0,"e"],[77871,0,"f"],[77872,0,"o"],[77873,0,"r"],[77874,0,"e"],[77875,0,"}"],[77876,0,"$"],[77897,0,"s"],[77898,0," "],[77899,0,"i"],[77900,0,"n"],[77901,0," "],[77902,0,"$"],[77903,0,"A"],[77904,0,"_"],[77905,0,"\\"],[77906,0,"m"],[77907,0,"a"],[77908,0,"t"],[77909,0,"h"],[77910,0,"i"],[77911,0,"t"],[77912,0,"{"],[77913,0,"a"],[77914,0,"n"],[77915,0,"c"],[77916,0,"}"],[77917,0,"$"],[77944,1],[77944,0," "],[77945,0,"t"],[77946,0,"h"],[77947,0,"e"],[77948,0," "],[77949,0,"i"],[77950,0,"n"],[77951,0,"s"],[77952,0,"e"],[77953,0,"r"],[77954,0,"t"],[77955,0,"i"],[77956,0,"o"],[77957,0,"n"],[77958,0," "],[77959,0,"p"],[77960,0,"i"],[77961,0,"s"],[77962,0,"i"],[77962,1],[77961,1],[77960,1],[77960,0,"o"],[77961,0,"s"],[77962,0,"i"],[77963,0,"t"],[77964,0,"i"],[77965,0,"o"],[77966,0,"n"],[77967,0," "],[77968,0,"o"],[77969,0,"f"],[77970,0," "],[77971,0,"$"],[77972,0,"\\"],[77973,0,"m"],[77974,0,"a"],[77975,0,"t"],[77976,0,"h"],[77977,0,"i"],[77978,0,"t"],[77979,0,"{"],[77980,0,"o"],[77981,0,"p"],[77982,0,"}"],[77983,0,"_"],[77984,0,"1"],[77985,0,"$"],[77986,0," "],[77987,0,"a"],[77988,0,"n"],[77989,0,"d"],[77990,0," "],[77991,0,"$"],[77992,0,"\\"],[77993,0,"m"],[77994,0,"a"],[77995,0,"t"],[77996,0,"h"],[77997,0,"i"],[77998,0,"t"],[77999,0,"{"],[78000,0,"o"],[78001,0,"p"],[78002,0,"}"],[78003,0,")"],[78004,0,"2"],[78004,1],[78003,1],[78003,0,"_"],[78004,0,"2"],[78005,0,"$"],[78006,0," "],[78007,0,"r"],[78008,0,"e"],[78009,0,"s"],[78010,0,"p"],[78011,0,"e"],[78012,0,"c"],[78013,0,"t"],[78014,0,"i"],[78015,0,"v"],[78016,0,"e"],[78017,0,"l"],[78018,0,"y"],[78019,0,","],[78020,0," "],[78021,0,"a"],[78022,0,"n"],[78023,0,"d"],[78024,0," "],[78025,0,"l"],[78026,0,"e"],[78027,0,"t"],[78028,0," "],[78029,0,"$"],[78030,0,"k"],[78031,0,"_"],[78032,0,"1"],[78033,0,"&"],[78033,1],[78033,0,"^"],[78034,0,"\\"],[78035,0,"m"],[78036,0,"a"],[78037,0,"t"],[78038,0,"h"],[78039,0,"i"],[78040,0,"t"],[78041,0,"{"],[78042,0,"a"],[78043,0,"f"],[78044,0,"t"],[78045,0,"e"],[78046,0,"r"],[78047,0,"}"],[78048,0,"$"],[78049,0," "],[78050,0,"a"],[78051,0,"n"],[78052,0,"d"],[78053,0," "],[78054,0,"$"],[78055,0,"k"],[78056,0,"_"],[78057,0,"2"],[78058,0,"^"],[78059,0,"\\"],[78060,0,"m"],[78061,0,"a"],[78062,0,"t"],[78063,0,"h"],[78064,0,"i"],[78065,0,"t"],[78066,0,"{"],[78067,0,"a"],[78068,0,"f"],[78069,0,"t"],[78070,0,"e"],[78071,0,"r"],[78072,0,"}"],[78073,0,"$"],[78074,0," "],[78075,0,"b"],[78076,0,"e"],[78077,0," "],[78078,0,"t"],[78079,0,"h"],[78080,0,"e"],[78081,0," "],[78082,0,"l"],[78083,0,"i"],[78084,0,"s"],[78085,0,"t"],[78086,0," "],[78087,0,"e"],[78088,0,"l"],[78089,0,"e"],[78090,0,"m"],[78091,0,"e"],[78092,0,"n"],[78093,0,"t"],[78094,0,"s"],[78095,0," "],[78096,0,"i"],[78097,0,"n"],[78098,0," "],[78099,0,"$"],[78100,0,"A"],[78101,0,"_"],[78102,0,"\\"],[78103,0,"m"],[78104,0,"a"],[78105,0,"t"],[78106,0,"h"],[78107,0,"i"],[78108,0,"t"],[78109,0,"{"],[78110,0,"a"],[78111,0,"n"],[78112,0,"c"],[78113,0,"}"],[78114,0,"$"],[78115,0," "],[78116,0,"m"],[78117,0,"o"],[78118,0,"s"],[78119,0,"t"],[78120,0," "],[78121,0,"c"],[78122,0,"l"],[78123,0,"o"],[78124,0,"s"],[78125,0,"e"],[78126,0,"l"],[78127,0,"y"],[78128,0," "],[78129,0,"p"],[78130,0,"r"],[78131,0,"e"],[78132,0,"c"],[78133,0,"e"],[78134,0,"d"],[78135,0,"e"],[78136,0,"d"],[78137,0," "],[78138,0,"b"],[78139,0,"y"],[78140,0," "],[78141,0,"t"],[78142,0,"h"],[78143,0,"e"],[78144,0," "],[78145,0,"i"],[78146,0,"n"],[78147,0,"s"],[78148,0,"e"],[78149,0,"r"],[78150,0,"t"],[78151,0,"i"],[78152,0,"o"],[78153,0,"n"],[78154,0," "],[78155,0,"p"],[78156,0,"o"],[78157,0,"s"],[78158,0,"i"],[78159,0,"t"],[78160,0,"i"],[78161,0,"o"],[78162,0,"n"],[78163,0," "],[78164,0,"o"],[78165,0,"f"],[78166,0," "],[78167,0,"$"],[78168,0,"\\"],[78169,0,"m"],[78170,0,"a"],[78171,0,"t"],[78172,0,"h"],[78173,0,"i"],[78174,0,"t"],[78175,0,"{"],[78176,0,"o"],[78177,0,"p"],[78178,0,"_"],[78178,1],[78178,0,"}"],[78179,0,"_"],[78180,0,"1"],[78181,0,"$"],[78182,0," "],[78183,0,"a"],[78184,0,"n"],[78185,0,"d"],[78186,0," "],[78187,0,"$"],[78188,0,"\\"],[78189,0,"m"],[78190,0,"a"],[78191,0,"t"],[78192,0,"h"],[78193,0,"i"],[78194,0,"t"],[78195,0,"{"],[78196,0,"o"],[78197,0,"p"],[78198,0,"}"],[78199,0,"_"],[78200,0,"2"],[78201,0,"$"],[78202,0," "],[78203,0,"r"],[78204,0,"e"],[78205,0,"s"],[78206,0,"p"],[78207,0,"e"],[78208,0,"c"],[78209,0,"t"],[78210,0,"i"],[78211,0,"v"],[78212,0,"e"],[78213,0,"l"],[78214,0,"y"],[78215,0,"."],[78216,0,"\n"],[78217,0,"\n"],[78218,0,"B"],[78219,0,"y"],[78220,0," "],[78221,0,"L"],[78222,0,"e"],[78223,0,"m"],[78224,0,"m"],[78225,0,"a"],[78226,0,"~"],[78227,0,"\\"],[78228,0,"r"],[78229,0,"e"],[78230,0,"f"],[78231,0,"{"],[78232,0,"l"],[78233,0,"e"],[78234,0,"m"],[78235,0,":"],[78236,0,"i"],[78237,0,"n"],[78238,0,"s"],[78239,0,"e"],[78240,0,"r"],[78241,0,"t"],[78242,0,"-"],[78243,0,"b"],[78244,0,"e"],[78245,0,"t"],[78246,0,"w"],[78247,0,"e"],[78248,0,"e"],[78249,0,"n"],[78250,0,"}"],[78251,0,","],[78252,0," "],[78253,0,"e"],[78254,0,"i"],[78255,0,"t"],[78256,0,"h"],[78257,0,"e"],[78258,0,"r"],[78259,0," "],[74964,0,"$"],[74965,0,"k"],[74966,0,"1"],[74966,1],[74966,0,"_"],[74967,0,"1"],[74968,0,"$"],[74969,0," "],[74970,0,"p"],[74971,0,"r"],[74972,0,"e"],[74973,0,"c"],[74974,0,"e"],[74975,0,"d"],[74976,0,"e"],[74977,0,"s"],[74978,0," "],[74979,0,"$"],[74980,0,"k"],[74981,0,"_"],[74982,0,"\\"],[74983,0,"m"],[74984,0,"a"],[74985,0,"t"],[74986,0,"h"],[74987,0,"i"],[74988,0,"t"],[74989,0,"{"],[74990,0,"n"],[74991,0,"e"],[74992,0,"w"],[74993,0,"}"],[74994,0," "],[74995,0,"i"],[74996,0,"n"],[74997,0," "],[74998,0,"t"],[74999,0,"h"],[75000,0,"e"],[75001,0," "],[75002,0,"l"],[75003,0,"i"],[75004,0,"s"],[75005,0,"t"],[75006,0," "],[75007,0,"a"],[75008,0,"n"],[75009,0,"d"],[75010,0," "],[75011,0,"$"],[75012,0,"k"],[75013,0,"_"],[75014,0,"\\"],[75015,0,"m"],[75016,0,"a"],[75017,0,"t"],[75018,0,"h"],[75019,0,"i"],[75020,0,"t"],[75021,0,"{"],[75022,0,"n"],[75023,0,"e"],[75024,0,"w"],[75025,0,"}"],[75026,0,"$"],[75027,0," "],[75028,0,"p"],[75029,0,"r"],[75030,0,"e"],[75031,0,"c"],[75032,0,"e"],[75033,0,"d"],[75034,0,"e"],[75035,0,"s"],[75036,0," "],[75037,0,"$"],[75038,0,"k"],[75039,0,"_"],[75040,0,"2"],[75041,0,"$"],[75042,0," "],[75043,0,"i"],[75044,0,"n"],[75045,0," "],[75046,0,"t"],[75047,0,"h"],[75048,0,"e"],[75049,0," "],[75050,0,"l"],[75051,0,"i"],[75052,0,"s"],[75053,0,"t"],[75054,0," "],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[75055,1],[78243,0,"$"],[78244,0,"k"],[78245,0,"_"],[78246,0,"1"],[78247,0,"^"],[78248,0,"\\"],[78249,0,"m"],[78250,0,"a"],[78251,0,"t"],[78252,0,"h"],[78253,0,"i"],[78254,0,"t"],[78255,0,"{"],[78256,0,"b"],[78257,0,"e"],[78258,0,"f"],[78259,0,"o"],[78260,0,"r"],[78261,0,"e"],[78262,0,"}"],[78263,0," "],[78264,0,"="],[78265,0," "],[78266,0,"k"],[78267,0,"_"],[78268,0,"2"],[78269,0,"^"],[78270,0,"\\"],[78271,0,"m"],[78272,0,"a"],[78273,0,"t"],[78274,0,"h"],[78275,0,"i"],[78276,0,"t"],[78277,0,"{"],[78278,0,"b"],[78279,0,"e"],[78280,0,"f"],[78281,0,"o"],[78282,0,"r"],[78283,0,"e"],[78284,0,"}"],[78285,0," "],[78286,0,"\\"],[78287,0,"v"],[78287,1],[78287,0,"w"],[78288,0,"e"],[78289,0,"d"],[78290,0,"g"],[78291,0,"e"],[78292,0," "],[78293,0,"k"],[78294,0,"_"],[78295,0,"1"],[78296,0,"^"],[78297,0,"\\"],[78298,0,"m"],[78299,0,"a"],[78300,0,"t"],[78301,0,"h"],[78302,0,"i"],[78303,0,"t"],[78304,0,"{"],[78305,0,"a"],[78306,0,"f"],[78307,0,"t"],[78308,0,"e"],[78309,0,"r"],[78310,0,"}"],[78311,0," "],[78312,0,"="],[78313,0," "],[78314,0,"k"],[78315,0,"_"],[78316,0,"2"],[78317,0,"^"],[78318,0,"\\"],[78319,0,"m"],[78320,0,"a"],[78321,0,"t"],[78322,0,"h"],[78323,0,"i"],[78324,0,"t"],[78325,0,"{"],[78326,0,"a"],[78327,0,"f"],[78328,0,"g"],[78329,0,"t"],[78330,0,"e"],[78331,0,"r"],[78331,1],[78330,1],[78329,1],[78328,1],[78328,0,"t"],[78329,0,"e"],[78330,0,"r"],[78331,0,"}"],[78332,0,"$"],[78333,0," "],[78334,0,"("],[78335,0,"i"],[78336,0,"."],[78337,0,"e"],[78338,0,"."],[78339,0," "],[78340,0,"$"],[78341,0,"\\"],[78342,0,"m"],[78343,0,"a"],[78344,0,"t"],[78345,0,"h"],[78346,0,"i"],[78347,0,"t"],[78348,0,"{"],[78349,0,"o"],[78350,0,"p"],[78351,0,"}"],[78352,0,"_"],[78353,0,"1"],[78354,0,"$"],[78355,0," "],[78356,0,"a"],[78357,0,"n"],[78358,0,"d"],[78359,0," "],[78360,0,"$"],[78361,0,"\\"],[78362,0,"m"],[78363,0,"a"],[78364,0,"t"],[78365,0,"h"],[78366,0,"i"],[78367,0,"t"],[78368,0,"{"],[78369,0,"o"],[78370,0,"p"],[78371,0,"}"],[78372,0,")"],[78373,0,"_"],[78373,1],[78372,1],[78372,0,"_"],[78373,0,"2"],[78374,0,"$"],[78375,0," "],[78376,0,"a"],[78377,0,"r"],[78378,0,"e"],[78379,0," "],[78380,0,"i"],[78381,0,"n"],[78382,0,"s"],[78383,0,"e"],[78384,0,"r"],[78385,0,"t"],[78386,0,"i"],[78387,0,"n"],[78388,0,"g"],[78389,0," "],[78390,0,"i"],[78391,0,"n"],[78392,0,"t"],[78393,0,"o"],[78394,0," "],[78395,0,"t"],[78396,0,"h"],[78397,0,"e"],[78398,0," "],[78399,0,"s"],[78400,0,"a"],[78401,0,"m"],[78402,0,"e"],[78403,0," "],[78404,0,"i"],[78405,0,"n"],[78406,0,"t"],[78407,0,"e"],[78408,0,"r"],[78409,0,"v"],[78410,0,"a"],[78411,0,"l"],[78412,0," "],[78413,0,"o"],[78414,0,"f"],[78415,0," "],[78416,0,"l"],[78417,0,"i"],[78418,0,"s"],[78419,0,"t"],[78420,0," "],[78421,0,"e"],[78422,0,"l"],[78423,0,"e"],[78424,0,"m"],[78425,0,"e"],[78426,0,"n"],[78427,0,"t"],[78428,0,"s"],[78429,0,")"],[78430,0,","],[78431,0," "],[78432,0,"o"],[78433,0,"r"],[78434,0," "],[78435,0,"$"],[78436,0,"k"],[78437,0,"_"],[78438,0,"2"],[78439,0,"&"],[78439,1],[78439,0,"&"],[78439,1],[78439,0,"^"],[78440,0,"\\"],[78441,0,"m"],[78442,0,"a"],[78443,0,"t"],[78444,0,"h"],[78445,0,"i"],[78446,0,"t"],[78447,0,"{"],[78448,0,"b"],[78449,0,"e"],[78450,0,"f"],[78451,0,"o"],[78452,0,"r"],[78453,0,"e"],[78454,0,"}"],[78455,0," "],[78456,0,"\\"],[78457,0,"n"],[78458,0,"o"],[78459,0,"t"],[78460,0,"="],[78461,0," "],[78462,0,"k"],[78438,1],[78438,0,"1"],[78463,0,"_"],[78464,0,"2"],[78465,0,"^"],[78466,0,"\\"],[78467,0,"m"],[78468,0,"a"],[78469,0,"t"],[78470,0,"h"],[78471,0,"i"],[78472,0,"t"],[78473,0,"{"],[78474,0,"b"],[78475,0,"e"],[78476,0,"f"],[78477,0,"o"],[78478,0,"r"],[78479,0,"e"],[78480,0,"}"],[78481,0," "],[78482,0,"\\"],[78483,0,"w"],[78484,0,"e"],[78485,0,"d"],[78486,0,"g"],[78487,0,"e"],[78488,0," "],[78489,0,"k"],[78490,0,"_"],[78491,0,"1"],[78492,0,"^"],[78493,0,"\\"],[78494,0,"m"],[78495,0,"a"],[78496,0,"t"],[78497,0,"h"],[78498,0,"i"],[78499,0,"t"],[78500,0,"{"],[78501,0,"a"],[78502,0,"f"],[78503,0,"t"],[78504,0,"e"],[78505,0,"r"],[78506,0,"}"],[78507,0," "],[78508,0,"\\"],[78509,0,"n"],[78510,0,"o"],[78511,0,"t"],[78512,0,"="],[78513,0," "],[78514,0,"k"],[78515,0,"_"],[78516,0,"2"],[78517,0,"^"],[78518,0,"\\"],[78519,0,"m"],[78520,0,"a"],[78521,0,"t"],[78522,0,"h"],[78523,0,"i"],[78524,0,"t"],[78525,0,"{"],[78526,0,"a"],[78527,0,"f"],[78528,0,"t"],[78529,0,"e"],[78530,0,"r"],[78531,0,"}"],[78532,0,"$"],[78533,0," "],[78534,0,"("],[78535,0,"i"],[78536,0,"."],[78537,0,"e"],[78538,0,"."],[78539,0," "],[78540,0,"t"],[78541,0,"h"],[78542,0,"e"],[78543,0," "],[78544,0,"o"],[78545,0,"p"],[78546,0,"e"],[78547,0,"r"],[78548,0,"a"],[78549,0,"t"],[78550,0,"i"],[78551,0,"o"],[78552,0,"n"],[78553,0,"s"],[78554,0," "],[78555,0,"a"],[78556,0,"r"],[78557,0,"e"],[78558,0," "],[78559,0,"i"],[78560,0,"n"],[78561,0,"s"],[78562,0,"e"],[78563,0,"r"],[78564,0,"t"],[78565,0,"i"],[78566,0,"n"],[78567,0,"g"],[78568,0," "],[78569,0,"i"],[78570,0,"n"],[78571,0,"t"],[78572,0,"o"],[78573,0," "],[78574,0,"d"],[78575,0,"i"],[78576,0,"s"],[78577,0,"j"],[78578,0,"o"],[78579,0,"i"],[78580,0,"n"],[78581,0,"t"],[78582,0," "],[78583,0,"i"],[78584,0,"n"],[78585,0,"t"],[78586,0,"e"],[78587,0,"r"],[78588,0,"v"],[78589,0,"a"],[78590,0,"l"],[78591,0,"s"],[78592,0," "],[78593,0,"o"],[78594,0,"f"],[78595,0," "],[78596,0,"l"],[78597,0,"i"],[78598,0,"s"],[78599,0,"t"],[78600,0," "],[78601,0,"e"],[78602,0,"l"],[78603,0,"e"],[78604,0,"m"],[78605,0,"e"],[78606,0,"n"],[78607,0,"t"],[78608,0,"s"],[78609,0,")"],[78610,0,"."],[78611,0," "],[78612,0,"I"],[78613,0,"n"],[78614,0," "],[78615,0,"t"],[78616,0,"h"],[78617,0,"e"],[78618,0," "],[78619,0,"l"],[78620,0,"a"],[78621,0,"t"],[78622,0,"t"],[78623,0,"e"],[78624,0,"r"],[78625,0," "],[78626,0,"c"],[78627,0,"a"],[78628,0,"s"],[78629,0,"e"],[78630,0,","],[78631,0," "],[78632,0,"t"],[78633,0,"h"],[78634,0,"e"],[78635,0," "],[78636,0,"t"],[78637,0,"w"],[78638,0,"o"],[78639,0," "],[78640,0,"o"],[78641,0,"p"],[78642,0,"e"],[78643,0,"r"],[78644,0,"a"],[78645,0,"t"],[78646,0,"i"],[78647,0,"o"],[78648,0,"n"],[78649,0,"s"],[78650,0," "],[78651,0,"a"],[78652,0,"r"],[78653,0,"e"],[78654,0," "],[78655,0,"t"],[78656,0,"r"],[78657,0,"i"],[78658,0,"v"],[78659,0,"i"],[78660,0,"a"],[78661,0,"l"],[78662,0,"l"],[78663,0,"y"],[78664,0," "],[78665,0,"c"],[78666,0,"o"],[78667,0,"m"],[78668,0,"m"],[78669,0,"u"],[78670,0,"t"],[78671,0,"a"],[78672,0,"t"],[78673,0,"i"],[78674,0,"v"],[78675,0,"e"],[78676,0,","],[78677,0," "],[78678,0,"a"],[78679,0,"s"],[78680,0," "],[78681,0,"t"],[78682,0,"h"],[78683,0,"e"],[78684,0,"y"],[78685,0," "],[78686,0,"a"],[78687,0,"f"],[78688,0,"f"],[78689,0,"e"],[78690,0,"c"],[78691,0,"t"],[78692,0," "],[78693,0,"d"],[78694,0,"i"],[78695,0,"f"],[78696,0,"f"],[78697,0,"e"],[78698,0,"r"],[78699,0,"e"],[78700,0,"n"],[78701,0,"t"],[78702,0," "],[78703,0,"p"],[78704,0,"a"],[78705,0,"r"],[78706,0,"t"],[78707,0,"s"],[78708,0," "],[78709,0,"o"],[78710,0,"f"],[78711,0," "],[78712,0,"t"],[78713,0,"h"],[78714,0,"e"],[78715,0," "],[78716,0,"l"],[78717,0,"i"],[78718,0,"s"],[78719,0,"t"],[78720,0,","],[78721,0," "],[78722,0,"a"],[78723,0,"n"],[78724,0,"d"],[78725,0," "],[78726,0,"b"],[78727,0,"y"],[78728,0," "],[78729,0,"L"],[78730,0,"e"],[78731,0,"m"],[78732,0,"m"],[78733,0,"a"],[78734,0,"~"],[78735,0,"\\"],[78736,0,"r"],[78737,0,"e"],[78738,0,"f"],[78739,0,"{"],[78740,0,"l"],[78741,0,"e"],[78742,0,"m"],[78743,0,":"],[78744,0,"i"],[78745,0,"n"],[78746,0,"s"],[78747,0,"e"],[78748,0,"r"],[78749,0,"t"],[78750,0,"-"],[78751,0,"b"],[78752,0,"e"],[78753,0,"t"],[78754,0,"w"],[78755,0,"e"],[78756,0,"e"],[78757,0,"n"],[78758,0,"}"],[78759,0," "],[78760,0,"t"],[78761,0,"h"],[78762,0,"e"],[78763,0,"y"],[78764,0," "],[78765,0,"d"],[78766,0,"o"],[78767,0," "],[78768,0,"n"],[78769,0,"o"],[78770,0,"t"],[78771,0," "],[78772,0,"a"],[78773,0,"f"],[78774,0,"f"],[78775,0,"e"],[78776,0,"c"],[78777,0,"t"],[78778,0," "],[78779,0,"p"],[78780,0,"a"],[78781,0,"r"],[78782,0,"t"],[78783,0,"s"],[78784,0," "],[78785,0,"o"],[78786,0,"f"],[78787,0," "],[78788,0,"t"],[78789,0,"h"],[78790,0,"e"],[78791,0," "],[78792,0,"l"],[78793,0,"i"],[78794,0,"s"],[78795,0,"t"],[78796,0," "],[78797,0,"o"],[78798,0,"u"],[78799,0,"t"],[78800,0,"s"],[78801,0,"i"],[78802,0,"d"],[78803,0,"e"],[78804,0," "],[78805,0,"o"],[78806,0,"f"],[78807,0," "],[78808,0,"t"],[78809,0,"h"],[78810,0,"e"],[78811,0,"i"],[78812,0,"r"],[78813,0," "],[78814,0,"r"],[78815,0,"e"],[78816,0,"s"],[78817,0,"p"],[78818,0,"e"],[78819,0,"c"],[78820,0,"t"],[78821,0,"i"],[78822,0,"v"],[78823,0,"e"],[78824,0," "],[78825,0,"r"],[78826,0,"a"],[78827,0,"n"],[78828,0,"g"],[78829,0,"e"],[78830,0,"s"],[78831,0,"."],[74994,0,"$"],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78847,1],[78833,0,"\n"],[78834,0,"\n"],[78835,0,"F"],[78836,0,"o"],[78837,0,"r"],[78838,0," "],[78839,0,"t"],[78840,0,"h"],[78841,0,"e"],[78842,0," "],[78843,0,"r"],[78844,0,"e"],[78845,0,"s"],[78846,0,"t"],[78847,0," "],[78848,0,"o"],[78849,0,"f"],[78850,0," "],[78851,0,"t"],[78852,0,"h"],[78853,0,"i"],[78854,0,"s"],[78855,0," "],[78856,0,"p"],[78857,0,"r"],[78858,0,"o"],[78859,0,"o"],[78860,0,"f"],[78861,0,","],[78862,0," "],[78863,0,"c"],[78864,0,"o"],[78865,0,"n"],[78866,0,"s"],[78867,0,"i"],[78868,0,"d"],[78869,0,"e"],[78870,0,"r"],[78871,0," "],[78872,0,"t"],[78873,0,"h"],[78874,0,"e"],[78875,0," "],[78876,0,"c"],[78877,0,"a"],[78878,0,"s"],[78879,0,"e"],[78880,0," "],[78881,0,"o"],[78882,0,"f"],[78883,0," "],[78884,0,"$"],[78885,0,"k"],[78886,0,"^"],[78887,0,"\\"],[78888,0,"m"],[78889,0,"a"],[78890,0,"t"],[78891,0,"h"],[78892,0,"i"],[78893,0,"t"],[78894,0,"{"],[78895,0,"b"],[78896,0,"e"],[78897,0,"f"],[78898,0,"o"],[78899,0,"r"],[78900,0,"e"],[78901,0,"}"],[78902,0," "],[78903,0,"="],[78904,0," "],[78905,0,"k"],[78906,0,"_"],[78907,0,"1"],[78908,0,"^"],[78909,0,"\\"],[78910,0,"m"],[78911,0,"a"],[78912,0,"t"],[78913,0,"h"],[78914,0,"i"],[78915,0,"t"],[78916,0,"{"],[78917,0,"b"],[78918,0,"e"],[78919,0,"f"],[78920,0,"o"],[78921,0,"r"],[78922,0,"e"],[78923,0,"}"],[78924,0," "],[78925,0,"="],[78926,0," "],[78927,0,"k"],[78928,0,"_"],[78929,0,"2"],[78930,0,"^"],[78931,0,"\\"],[78932,0,"m"],[78933,0,"a"],[78934,0,"t"],[78935,0,"h"],[78936,0,"i"],[78937,0,"t"],[78938,0,"{"],[78939,0,"b"],[78940,0,"e"],[78941,0,"f"],[78942,0,"o"],[78943,0,"r"],[78944,0,"e"],[78945,0,"}"],[78946,0,"$"],[78947,0," "],[78948,0,"a"],[78949,0,"n"],[78950,0,"d"],[78951,0," "],[78952,0,"$"],[78953,0,"k"],[78954,0,"^"],[78955,0,"\\"],[78956,0,"a"],[78957,0,"f"],[78958,0,"t"],[78959,0,"e"],[78960,0,"r"],[78956,0,"m"],[78957,0,"a"],[78958,0,"t"],[78959,0,"h"],[78960,0,"i"],[78961,0,"t"],[78962,0,"{"],[78968,0,"}"],[78969,0," "],[78970,0,"="],[78971,0," "],[78972,0,"k"],[78973,0,"_"],[78974,0,"1"],[78975,0,"^"],[78976,0,"\\"],[78977,0,"m"],[78978,0,"a"],[78979,0,"t"],[78980,0,"h"],[78981,0,"i"],[78982,0,"t"],[78983,0,"{"],[78984,0,"a"],[78985,0,"f"],[78986,0,"t"],[78987,0,"e"],[78988,0,"r"],[78989,0,"}"],[78990,0," "],[78991,0,"="],[78992,0," "],[78993,0,"k"],[78994,0,"_"],[78995,0,"2"],[78996,0,"^"],[78997,0,"\\"],[78998,0,"m"],[78999,0,"a"],[79000,0,"t"],[79001,0,"h"],[79002,0,"i"],[79003,0,"t"],[79004,0,"{"],[79005,0,"a"],[79006,0,"f"],[79007,0,"t"],[79008,0,"e"],[79009,0,"r"],[79010,0,"}"],[79011,0,"$"],[79012,0,"."],[79013,0," "],[79014,0,"W"],[79015,0,"e"],[79016,0," "],[79017,0,"n"],[79018,0,"e"],[79019,0,"e"],[79020,0,"d"],[79021,0," "],[79022,0,"t"],[79023,0,"o"],[79024,0," "],[79025,0,"s"],[79026,0,"h"],[79027,0,"o"],[79028,0,"w"],[79029,0," "],[79030,0,"t"],[79031,0,"h"],[79032,0,"a"],[79033,0,"t"],[79034,0," "],[87587,0,":"],[87588,0,"q"],[87589,0,"\n"],[87589,1],[87588,1],[87587,1],[73548,1],[73547,1],[73546,1],[73545,1],[73544,1],[73543,1],[73542,1],[73541,1],[73540,1],[73539,1],[73538,1],[73537,1],[73536,1],[73535,1],[73534,1],[73533,1],[73532,1],[73531,1],[73530,1],[73529,1],[73528,1],[73527,1],[73526,1],[73525,1],[73524,1],[73523,1],[73522,1],[73521,1],[73520,1],[73519,1],[73518,1],[73517,1],[73516,1],[73515,1],[73514,1],[73513,1],[73512,1],[73511,1],[73510,1],[73509,1],[73508,1],[73507,1],[73506,1],[73505,1],[73504,1],[73503,1],[73502,1],[73501,1],[73500,1],[73499,1],[73498,1],[73497,1],[73496,1],[73495,1],[73494,1],[73493,1],[73492,1],[73491,1],[73490,1],[73489,1],[73488,1],[73487,1],[73486,1],[73485,1],[73484,1],[73483,1],[73482,1],[73481,1],[73480,1],[73479,1],[73478,1],[73477,1],[73476,1],[73475,1],[73474,1],[73473,1],[73472,1],[73471,1],[73470,1],[73469,1],[73468,1],[73467,1],[73466,1],[73465,1],[73464,1],[73463,1],[73462,1],[73461,1],[73460,1],[73459,1],[73458,1],[73457,1],[73456,1],[73455,1],[73454,1],[73453,1],[73452,1],[73451,1],[73450,1],[73449,1],[73448,1],[73447,1],[73446,1],[73445,1],[73444,1],[73443,1],[73442,1],[73441,1],[73440,1],[73439,1],[73438,1],[73437,1],[73436,1],[73435,1],[73434,1],[73433,1],[73432,1],[73431,1],[73430,1],[73429,1],[73428,1],[73427,1],[73426,1],[73425,1],[73424,1],[73423,1],[73422,1],[73421,1],[73420,1],[73419,1],[73418,1],[73417,1],[73416,1],[73415,1],[73414,1],[73413,1],[73412,1],[73411,1],[73410,1],[73409,1],[73408,1],[73407,1],[73406,1],[73405,1],[73404,1],[73403,1],[73402,1],[73401,1],[73400,1],[73399,1],[73398,1],[73397,1],[73396,1],[73395,1],[73394,1],[73393,1],[73392,1],[73391,1],[73390,1],[73389,1],[73388,1],[73387,1],[73386,1],[73385,1],[73384,1],[73383,1],[73382,1],[73381,1],[73380,1],[73379,1],[73378,1],[73377,1],[73376,1],[73375,1],[73374,1],[73373,1],[73372,1],[73371,1],[73370,1],[73369,1],[73368,1],[73367,1],[73366,1],[73365,1],[73364,1],[73363,1],[73362,1],[73361,1],[73360,1],[73359,1],[73358,1],[73357,1],[73356,1],[73355,1],[73354,1],[73353,1],[73352,1],[73351,1],[73350,1],[73349,1],[73348,1],[73347,1],[73346,1],[73345,1],[73344,1],[73343,1],[73342,1],[73342,0,"\\"],[73343,0,"b"],[73344,0,"e"],[73345,0,"g"],[73346,0,"i"],[73347,0,"n"],[73348,0,"{"],[73349,0,"t"],[73350,0,"h"],[73351,0,"e"],[73352,0,"o"],[73353,0,"r"],[73354,0,"e"],[73355,0,"m"],[73356,0,"}"],[73357,0,"\\"],[73358,0,"l"],[73359,0,"a"],[73360,0,"b"],[73361,0,"e"],[73362,0,"l"],[73363,0,"{"],[73364,0,"t"],[73365,0,"h"],[73366,0,"m"],[73367,0,":"],[73368,0,"c"],[73369,0,"o"],[73370,0,"n"],[73371,0,"v"],[73372,0,"e"],[73373,0,"r"],[73374,0,"g"],[73375,0,"e"],[73376,0,"n"],[73377,0,"c"],[73378,0,"e"],[73379,0,"}"],[73380,0,"\n"],[73381,0,"F"],[73382,0,"o"],[73383,0,"r"],[73384,0," "],[73385,0,"a"],[73386,0,"n"],[73387,0,"y"],[73388,0," "],[73389,0,"t"],[73390,0,"w"],[73391,0,"o"],[73392,0," "],[73393,0,"r"],[73394,0,"e"],[73395,0,"p"],[73396,0,"l"],[73397,0,"i"],[73398,0,"c"],[73399,0,"a"],[73400,0,"s"],[73401,0," "],[73402,0,"$"],[73403,0,"p"],[73404,0,"$"],[73405,0," "],[73406,0,"a"],[73407,0,"n"],[73408,0,"d"],[73409,0," "],[73410,0,"$"],[73411,0,"q"],[73412,0,"$"],[73413,0," "],[73414,0,"t"],[73415,0,"h"],[73416,0,"a"],[73417,0,"t"],[73418,0," "],[73419,0,"p"],[73420,0,"a"],[73421,0,"r"],[73422,0,"t"],[73423,0,"i"],[73424,0,"c"],[73425,0,"i"],[73426,0,"p"],[73427,0,"a"],[73428,0,"t"],[73429,0,"e"],[73430,0,"d"],[73431,0," "],[73432,0,"i"],[73433,0,"n"],[73434,0," "],[73435,0,"a"],[73436,0," "],[73437,0,"v"],[73438,0,"a"],[73439,0,"l"],[73440,0,"i"],[73441,0,"d"],[73442,0," "],[73443,0,"e"],[73444,0,"x"],[73445,0,"e"],[73446,0,"c"],[73447,0,"u"],[73448,0,"t"],[73449,0,"i"],[73450,0,"o"],[73451,0,"n"],[73452,0,","],[73453,0," "],[73454,0,"i"],[73455,0,"f"],[73456,0," "],[73457,0,"$"],[73458,0,"A"],[73459,0,"_"],[73460,0,"p"],[73461,0,"("],[73462,0,"\\"],[73463,0,"m"],[73464,0,"a"],[73465,0,"t"],[73466,0,"h"],[73467,0,"s"],[73468,0,"f"],[73469,0,"{"],[73470,0,"o"],[73471,0,"p"],[73472,0,"s"],[73473,0,"}"],[73474,0,")"],[73475,0," "],[73476,0,"="],[73477,0," "],[73478,0,"A"],[73479,0,"_"],[73480,0,"q"],[73481,0,"("],[73482,0,"\\"],[73483,0,"m"],[73484,0,"a"],[73485,0,"t"],[73486,0,"h"],[73487,0,"s"],[73488,0,"f"],[73489,0,"{"],[73490,0,"o"],[73491,0,"p"],[73492,0,"s"],[73493,0,"}"],[73494,0,")"],[73495,0,"$"],[73496,0,","],[73497,0," "],[73498,0,"t"],[73499,0,"h"],[73500,0,"e"],[73501,0,"n"],[73502,0," "],[73503,0,"$"],[73504,0,"p"],[73505,0,"4"],[73505,1],[73505,0,"$"],[73506,0," "],[73507,0,"a"],[73508,0,"n"],[73509,0,"d"],[73510,0," "],[73511,0,"$"],[73512,0,"q"],[73513,0,"$"],[73514,0," "],[73515,0,"h"],[73516,0,"a"],[73517,0,"v"],[73518,0,"e"],[73519,0," "],[73520,0,"t"],[73521,0,"h"],[73522,0,"e"],[73523,0," "],[73524,0,"s"],[73525,0,"a"],[73526,0,"m"],[73527,0,"e"],[73528,0," "],[73529,0,"d"],[73530,0,"o"],[73531,0,"c"],[73532,0,"u"],[73533,0,"m"],[73534,0,"e"],[73535,0,"n"],[73536,0,"t"],[73537,0," "],[73538,0,"s"],[73539,0,"t"],[73540,0,"a"],[73541,0,"t"],[73542,0,"e"],[73543,0,"."],[73544,0,"\n"],[73545,0,"\\"],[73546,0,"b"],[73546,1],[73546,0,"e"],[73547,0,"n"],[73548,0,"d"],[73549,0,"{"],[73550,0,"t"],[73551,0,"h"],[73552,0,"e"],[73553,0,"o"],[73554,0,"r"],[73555,0,"e"],[73556,0,"m"],[73557,0,"}"],[73558,0,"\n"],[73559,0,"\n"],[73560,0,"\\"],[73561,0,"b"],[73562,0,"e"],[73563,0,"g"],[73564,0,"i"],[73565,0,"n"],[73566,0,"{"],[73567,0,"p"],[73568,0,"r"],[73569,0,"o"],[73570,0,"o"],[73571,0,"f"],[73572,0,"}"],[73573,0,"\n"],[73574,0,"\\"],[73575,0,"e"],[73576,0,"n"],[73577,0,"d"],[73578,0,"{"],[73579,0,"p"],[73580,0,"r"],[73581,0,"o"],[73582,0,"o"],[73583,0,"f"],[73584,0,"}"],[73573,0,"\n"],[73574,0,"C"],[73575,0,"o"],[73576,0,"n"],[73577,0,"s"],[73578,0,"i"],[73579,0,"d"],[73580,0,"e"],[73581,0,"r"],[73582,0," "],[73583,0,"t"],[73584,0,"h"],[73585,0,"e"],[73586,0," "],[73587,0,"h"],[73588,0,"i"],[73589,0,"s"],[73590,0,"t"],[73591,0,"o"],[73592,0,"r"],[73593,0,"y"],[73594,0," "],[73594,1],[73593,1],[73593,0,"i"],[73594,0,"e"],[73595,0,"s"],[73596,0," "],[73597,0,"$"],[73598,0,"H"],[73599,0,"_"],[73600,0,"p"],[73601,0,"$"],[73602,0," "],[73603,0,"a"],[73604,0,"n"],[73605,0,"d"],[73606,0," "],[73607,0,"$"],[73608,0,"H"],[73609,0,"_"],[73610,0,"q"],[73611,0,"$"],[73612,0," "],[73613,0,"a"],[73614,0,"t"],[73615,0," "],[73616,0,"$"],[73617,0,"p"],[73618,0,"$"],[73619,0," "],[73620,0,"a"],[73621,0,"n"],[73622,0,"d"],[73623,0," "],[73624,0,"$"],[73625,0,"q"],[73626,0,"$"],[73627,0," "],[73628,0,"r"],[73629,0,"e"],[73630,0,"s"],[73631,0,"p"],[73632,0,"e"],[73633,0,"c"],[73634,0,"t"],[73635,0,"i"],[73636,0,"v"],[73637,0,"e"],[73638,0,"l"],[73639,0,"y"],[73640,0,"."],[73641,0," "],[73640,0," "],[73641,0,"("],[73642,0,"s"],[73643,0,"e"],[73644,0,"e"],[73645,0," "],[73646,0,"D"],[73647,0,"e"],[73648,0,"f"],[73649,0,"i"],[73650,0,"n"],[73651,0,"i"],[73652,0,"t"],[73653,0,"i"],[73654,0,"o"],[73655,0,"n"],[73656,0,"~"],[73657,0,"\\"],[73658,0,"r"],[73659,0,"e"],[73660,0,"f"],[73661,0,"{"],[73662,0,"d"],[73663,0,"e"],[73664,0,"f"],[73665,0,":"],[73666,0,"h"],[73667,0,"i"],[73668,0,"s"],[73669,0,"t"],[73670,0,"o"],[73671,0,"r"],[73672,0,"y"],[73673,0,"}"],[73674,0,")"],[69768,0,"\\"],[69769,0,"l"],[69770,0,"a"],[69771,0,"b"],[69772,0,"e"],[69773,0,"l"],[69774,0,"{"],[69775,0,"d"],[69776,0,"e"],[69777,0,"f"],[69778,0,":"],[69779,0,"d"],[69780,0,"o"],[69781,0,"c"],[69782,0,"-"],[69783,0,"s"],[69784,0,"t"],[69785,0,"a"],[69786,0,"t"],[69787,0,"e"],[69788,0,"}"],[68990,0,"\\"],[68991,0,"l"],[68992,0,"a"],[68993,0,"b"],[68994,0,"e"],[68995,0,"l"],[68996,0,"{"],[68997,0,"d"],[68998,0,"e"],[68999,0,"f"],[69000,0,":"],[69001,0,"h"],[69002,0,"i"],[69003,0,"s"],[69004,0,"t"],[69005,0,"o"],[69006,0,"r"],[69007,0,"y"],[69008,0,"}"],[67924,0,"\\"],[67925,0,"l"],[67926,0,"a"],[67927,0,"b"],[67928,0,"e"],[67929,0,"l"],[67930,0,"{"],[67931,0,"d"],[67932,0,"e"],[67933,0,"f"],[67934,0,":"],[67935,0,"v"],[67936,0,"a"],[67937,0,"l"],[67938,0,"i"],[67939,0,"d"],[67940,0,"-"],[67941,0,"e"],[67942,0,"x"],[67943,0,"e"],[67944,0,"c"],[67945,0,"}"],[73739,0,"\\"],[73740,0,"t"],[73741,0,"e"],[73742,0,"x"],[73743,0,"t"],[73744,0,"s"],[73745,0,"c"],[73746,0,"{"],[73747,0,"A"],[73748,0,"p"],[73749,0,"p"],[73750,0,"l"],[73751,0,"y"],[73752,0,"-"],[73753,0,"L"],[73754,0,"o"],[73755,0,"c"],[73756,0,"a"],[73757,0,"l"],[73758,0,"}"],[73759,0," "],[73760,0,"a"],[73761,0,"n"],[73762,0,"d"],[73763,0," "],[73764,0,"\\"],[73765,0,"t"],[73766,0,"e"],[73767,0,"x"],[73768,0,"t"],[73769,0,"s"],[73770,0,"c"],[73771,0,"{"],[73772,0,"A"],[73773,0,"p"],[73774,0,"p"],[73775,0,"l"],[73776,0,"y"],[73777,0,"-"],[73778,0,"R"],[73779,0,"e"],[73780,0,"m"],[73781,0,"o"],[73782,0,"t"],[73783,0,"e"],[73784,0,"}"],[73738,0," "],[73739,0,"T"],[73740,0,"h"],[73741,0,"e"],[73742,0," "],[73743,0,"o"],[73744,0,"n"],[73745,0,"l"],[73746,0,"y"],[73747,0," "],[73748,0,"r"],[73749,0,"u"],[73750,0,"l"],[73751,0,"e"],[73752,0,"s"],[73753,0," "],[73754,0,"t"],[73755,0,"h"],[73756,0,"a"],[73757,0,"t"],[73758,0," "],[73759,0,"a"],[73760,0,"p"],[73761,0,"p"],[73762,0,"l"],[73763,0,"y"],[73764,0," "],[73765,0,"o"],[73766,0,"p"],[73767,0,"e"],[73768,0,"r"],[73769,0,"a"],[73770,0,"t"],[73771,0,"i"],[73772,0,"o"],[73773,0,"n"],[73774,0,"s"],[73775,0," "],[73776,0,"a"],[73777,0,"n"],[73778,0,"d"],[73779,0," "],[73780,0,"t"],[73781,0,"h"],[73782,0,"a"],[73783,0,"t"],[73784,0," "],[73785,0,"m"],[73786,0,"o"],[73787,0,"d"],[73788,0,"i"],[73789,0,"f"],[73790,0,"y"],[73791,0," "],[73792,0,"$"],[73793,0,"A"],[73794,0,"_"],[73795,0,"p"],[73796,0,"("],[73797,0,"\\"],[73798,0,"m"],[73799,0,"a"],[73800,0,"t"],[73801,0,"h"],[73802,0,"s"],[73803,0,"f"],[73804,0,"{"],[73805,0,"o"],[73806,0,"p"],[73807,0,"s"],[73808,0,"}"],[73809,0,")"],[73810,0,"$"],[73811,0," "],[73812,0,"a"],[73813,0,"n"],[73814,0,"d"],[73815,0," "],[73816,0,"$"],[73817,0,"A"],[73818,0,"_"],[73819,0,"q"],[73820,0,"("],[73821,0,"\\"],[73822,0,"m"],[73823,0,"a"],[73824,0,"t"],[73825,0,"h"],[73826,0,"s"],[73827,0,"f"],[73828,0,"{"],[73829,0,"o"],[73830,0,"p"],[73831,0,"s"],[73832,0,")"],[73832,1],[73832,0,"}"],[73833,0,")"],[73834,0,"$"],[73835,0," "],[73836,0,"a"],[73837,0,"r"],[73838,0,"e"],[73886,0,","],[73887,0," "],[73888,0,"a"],[73889,0,"n"],[73890,0,"d"],[73891,0," "],[73892,0,"t"],[73893,0,"h"],[73894,0,"e"],[73895,0,"y"],[73896,0," "],[73897,0,"m"],[73898,0,"a"],[73899,0,"i"],[73900,0,"n"],[73901,0,"t"],[73902,0,"a"],[73903,0,"i"],[73904,0,"n"],[73905,0," "],[73906,0,"t"],[73907,0,"h"],[73908,0,"e"],[73909,0," "],[73910,0,"v"],[73911,0,"a"],[73912,0,"r"],[73913,0,"i"],[73914,0,"a"],[73915,0,"n"],[73916,0,"t"],[73917,0," "],[73918,0,"t"],[73919,0,"h"],[73920,0,"a"],[73921,0,"t"],[73922,0," "],[73923,0,"a"],[73924,0,"n"],[73925,0," "],[73925,1],[73924,1],[73923,1],[73923,0,"f"],[73924,0,"o"],[73925,0,"r"],[73926,0," "],[73927,0,"a"],[73928,0,"n"],[73929,0,"y"],[73930,0," "],[73931,0,"o"],[73932,0,"p"],[73933,0,"e"],[73934,0,"r"],[73935,0,"a"],[73936,0,"t"],[73937,0,"i"],[73938,0,"o"],[73939,0,"n"],[73940,0," "],[73941,0,"$"],[73942,0,"\\"],[73943,0,"m"],[73944,0,"a"],[73945,0,"t"],[73946,0,"h"],[73947,0,"i"],[73948,0,"t"],[73949,0,"{"],[73950,0,"o"],[73951,0,"p"],[73952,0,"}"],[73953,0,"$"],[73954,0,","],[73955,0," "],[73956,0,"$"],[73957,0,"\\"],[73958,0,"m"],[73959,0,"a"],[73960,0,"t"],[73961,0,"h"],[73962,0,"i"],[73963,0,"t"],[73964,0,"{"],[73965,0,"o"],[73966,0,"p"],[73967,0,"}"],[73968,0," "],[73969,0,"\\"],[73970,0,"i"],[73971,0,"n"],[73972,0," "],[73890,1],[73889,1],[73888,1],[73887,1],[73886,1],[73890,1],[73889,1],[73888,1],[73887,1],[73886,1],[73900,0,"i"],[73901,0,"n"],[73921,1],[73920,1],[73919,1],[73918,1],[73917,1],[73916,1],[73915,1],[73915,0,"a"],[73916,0,"n"],[73959,1],[73958,1],[73957,1],[73956,1],[73955,1],[73954,1],[73953,1],[73952,1],[73951,1],[73950,1],[73949,1],[73948,1],[73947,1],[73946,1],[73945,1],[73944,1],[73943,1],[73942,1],[73941,1],[73940,1],[73939,1],[73938,1],[73937,1],[73936,1],[73935,1],[73934,1],[73933,1],[73932,1],[73931,1],[73930,1],[73929,1],[73928,1],[73928,0,"i"],[73929,0,"s"],[73930,0," "],[73931,0,"a"],[73932,0,"d"],[73933,0,"d"],[73934,0,"e"],[73935,0,"d"],[73936,0," "],[73937,0,"t"],[73938,0,"o"],[73939,0," "],[73940,0,"$"],[73941,0,"A"],[73942,0,"_"],[73943,0,"p"],[73944,0,"("],[73945,0,"\\"],[73946,0,"m"],[73947,0,"a"],[73948,0,"t"],[73949,0,"h"],[73950,0,"s"],[73951,0,"f"],[73952,0,"{"],[73953,0,"o"],[73954,0,"p"],[73955,0,"s"],[73956,0,"}"],[73957,0,")"],[73958,0," "],[73958,1],[73958,0,"$"],[73959,0," "],[73960,0,"o"],[73961,0,"r"],[73962,0," "],[73963,0,"$"],[73964,0,"A"],[73965,0,"_"],[73966,0,"q"],[73967,0,"("],[73968,0,"\\"],[73969,0,"m"],[73970,0,"a"],[73971,0,"t"],[73972,0,"h"],[73973,0,"s"],[73974,0,"f"],[73975,0,"{"],[73976,0,"o"],[73977,0,"p"],[73978,0,"s"],[73979,0,"}"],[73980,0,")"],[73981,0,"$"],[73982,0," "],[73983,0,"i"],[73984,0,"f"],[73985,0,"f"],[73985,1],[73985,0," "],[73986,0,"a"],[73987,0,"n"],[73988,0,"d"],[73989,0," "],[73990,0,"o"],[73991,0,"n"],[73992,0,"l"],[73993,0,"y"],[73994,0," "],[73995,0,"i"],[73996,0,"f"],[73997,0," "],[73998,0,"i"],[73999,0,"t"],[74000,0," "],[74001,0,"w"],[74002,0,"a"],[74003,0,"s"],[74004,0," "],[74005,0,"a"],[74006,0,"p"],[74007,0,"p"],[74008,0,"l"],[74009,0,"i"],[74010,0,"e"],[74011,0,"d"],[74012,0," "],[74013,0,"t"],[74014,0,"o"],[74015,0," "],[74016,0,"t"],[74017,0,"h"],[74018,0,"e"],[74019,0," "],[74020,0,"d"],[74021,0,"o"],[74022,0,"c"],[74023,0,"u"],[74024,0,"m"],[74025,0,"e"],[74026,0,"n"],[74027,0,"t"],[74028,0," "],[74029,0,"s"],[74030,0,"t"],[74031,0,"a"],[74032,0,"t"],[74033,0,"e"],[74034,0,"."],[73839,1],[73838,1],[73837,1],[73836,1],[73835,1],[73834,1],[73833,1],[73832,1],[73831,1],[73830,1],[73829,1],[73828,1],[73827,1],[73826,1],[73825,1],[73824,1],[73823,1],[73822,1],[73821,1],[73820,1],[73819,1],[73818,1],[73817,1],[73816,1],[73815,1],[73814,1],[73813,1],[73812,1],[73811,1],[73810,1],[73809,1],[73808,1],[73807,1],[73806,1],[73805,1],[73804,1],[73803,1],[73802,1],[73801,1],[73800,1],[73799,1],[73798,1],[73797,1],[73796,1],[73795,1],[73794,1],[73793,1],[73792,1],[73791,1],[73790,1],[73789,1],[73788,1],[73787,1],[73786,1],[73785,1],[73784,1],[73783,1],[73782,1],[73781,1],[73780,1],[73779,1],[73778,1],[73777,1],[73776,1],[73775,1],[73774,1],[73773,1],[73772,1],[73771,1],[73770,1],[73769,1],[73768,1],[73767,1],[73766,1],[73765,1],[73764,1],[73763,1],[73762,1],[73761,1],[73760,1],[73759,1],[73758,1],[73757,1],[73756,1],[73755,1],[73754,1],[73747,1],[73746,1],[73745,1],[73744,1],[73743,1],[73944,0," "],[73945,0,"T"],[73946,0,"h"],[73947,0,"u"],[73948,0,"s"],[73949,0,","],[73950,0," "],[73951,0,"i"],[73952,0,"f"],[73953,0," "],[73954,0,"$"],[73955,0,"A"],[73956,0,"_"],[73957,0,"p"],[73958,0,"{"],[73959,0,"\\"],[73959,1],[73958,1],[73958,0,"("],[73959,0,"\\"],[73960,0,"m"],[73961,0,"a"],[73962,0,"t"],[73963,0,"h"],[73964,0,"s"],[73965,0,"f"],[73966,0,"{"],[73967,0,"o"],[73968,0,"p"],[73969,0,"s"],[73970,0,"}"],[73971,0,")"],[73972,0," "],[73973,0,"="],[73974,0," "],[73975,0,"A"],[73976,0,"_"],[73977,0,"q"],[73978,0,"("],[73979,0,"\\"],[73980,0,"m"],[73981,0,"a"],[73982,0,"t"],[73983,0,"h"],[73984,0,"s"],[73985,0,"f"],[73986,0,"{"],[73987,0,"o"],[73988,0,"p"],[73989,0,"s"],[73990,0,"}"],[73991,0,")"],[73992,0,"$"],[73993,0," "],[73994,0,"t"],[73995,0,"h"],[73996,0,"e"],[73997,0,"n"],[73998,0," "],[73999,0,"$"],[74000,0,"H"],[74001,0,"_"],[74002,0,"p"],[74003,0,"$"],[74004,0," "],[74005,0,"a"],[74006,0,"n"],[74007,0,"d"],[74008,0," "],[74009,0,"$"],[74010,0,"H"],[74011,0,"_"],[74012,0,"q"],[74013,0,"$"],[74014,0," "],[74015,0,"c"],[74016,0,"o"],[74017,0,"n"],[74018,0,"t"],[74019,0,"a"],[74020,0,"i"],[74021,0,"n"],[74022,0," "],[74023,0,"t"],[74024,0,"h"],[74025,0,"e"],[74026,0," "],[74027,0,"s"],[74028,0,"a"],[74029,0,"m"],[74030,0,"e"],[74031,0," "],[74032,0,"s"],[74033,0,"e"],[74034,0,"t"],[74035,0," "],[74036,0,"o"],[74037,0,"f"],[74038,0," "],[74039,0,"o"],[74040,0,"p"],[74041,0,"e"],[74042,0,"r"],[74043,0,"a"],[74044,0,"t"],[74045,0,"i"],[74046,0,"o"],[74047,0,"n"],[74048,0,"s"],[74049,0,","],[74050,0," "],[74051,0,"b"],[74052,0,"u"],[74053,0,"t"],[74054,0," "],[74055,0,"p"],[74056,0,"o"],[74057,0,"t"],[74058,0,"e"],[74059,0,"n"],[74060,0,"t"],[74061,0,"i"],[74062,0,"a"],[74063,0,"l"],[74064,0,"l"],[74065,0,"y"],[74066,0," "],[74067,0,"i"],[74068,0,"n"],[74069,0," "],[74070,0,"a"],[74071,0," "],[74072,0,"d"],[74073,0,"i"],[74074,0,"f"],[74075,0,"f"],[74076,0,"e"],[74077,0,"r"],[74078,0,"e"],[74079,0,"n"],[74080,0,"t"],[74081,0," "],[74082,0,"o"],[74083,0,"r"],[74084,0,"d"],[74085,0,"e"],[74086,0,"r"],[74087,0,"."],[73953,1],[73952,1],[73951,1],[73994,1],[73993,1],[73992,1],[73991,1],[73991,0,"i"],[73992,0,"f"],[73993,0," "],[73994,0,"a"],[73995,0,"n"],[73996,0,"d"],[73997,0," "],[73998,0,"o"],[73999,0,"n"],[74000,0,"l"],[74001,0,"y"],[74002,0," "],[74002,1],[74001,1],[74000,1],[73999,1],[73998,1],[73997,1],[73996,1],[73995,1],[73994,1],[73993,1],[73993,0,"f"],[74049,1],[74048,1],[74047,1],[74046,1],[74045,1],[74046,0,"("],[74079,0,")"],[74063,1],[74062,1],[74077,0,"s"],[74080,0,"\n"],[74081,0,"\n"],[74082,0,"W"],[74083,0,"e"],[74084,0," "],[74085,0,"c"],[74086,0,"a"],[74087,0,"n"],[74088,0," "],[74089,0,"p"],[74090,0,"r"],[74091,0,"o"],[74092,0,"v"],[74093,0,"e"],[74094,0," "],[74095,0,"t"],[74096,0,"h"],[74097,0,"a"],[74098,0,"t"],[74099,0," "],[74099,1],[74098,1],[74097,1],[74096,1],[74095,1],[74094,1],[74093,1],[74092,1],[74091,1],[74090,1],[74089,1],[74088,1],[74087,1],[74086,1],[74085,1],[74084,1],[74083,1],[74082,1],[74082,0,"T"],[74083,0,"h"],[74084,0,"e"],[74085,0," "],[74086,0,"f"],[74087,0,"i"],[74088,0,"n"],[74089,0,"a"],[74090,0,"."],[74091,0," "],[74091,1],[74090,1],[74090,0,"l"],[74091,0," "],[74092,0,"d"],[74093,0,"o"],[74094,0,"c"],[74095,0,"u"],[74096,0,"m"],[74097,0,"e"],[74098,0,"n"],[74099,0,"t"],[74100,0," "],[74101,0,"s"],[74102,0,"t"],[74103,0,"a"],[74104,0,"t"],[74105,0,"e"],[74106,0," "],[74091,1],[74090,1],[74089,1],[74088,1],[74087,1],[74086,1],[74101,0,"a"],[74102,0,"t"],[74103,0," "],[74104,0,"r"],[74105,0,"e"],[74106,0,"p"],[74107,0,"l"],[74108,0,"i"],[74109,0,"c"],[74110,0,"a"],[74111,0," "],[74112,0,"$"],[74113,0,"p"],[74114,0,"$"],[74115,0," "],[74116,0,"c"],[74117,0,"a"],[74118,0,"n"],[74119,0," "],[74119,1],[74118,1],[74117,1],[74116,1],[74116,0,"i"],[74117,0,"s"],[74118,0," "],[74119,0,"d"],[74120,0,"e"],[74121,0,"t"],[74122,0,"e"],[74123,0,"r"],[74124,0,"m"],[74125,0,"i"],[74126,0,"n"],[74127,0,"e"],[74128,0,"d"],[74129,0," "],[74130,0,"e"],[74131,0,"n"],[74132,0,"t"],[74133,0,"i"],[74134,0,"r"],[74135,0,"e"],[74136,0,"l"],[74137,0,"y"],[74138,0," "],[74138,1],[74137,1],[74136,1],[74135,1],[74134,1],[74133,1],[74132,1],[74131,1],[74130,1],[74129,1],[74128,1],[74127,1],[74126,1],[74125,1],[74124,1],[74123,1],[74122,1],[74121,1],[74121,0,"r"],[74122,0,"i"],[74123,0,"v"],[74124,0,"e"],[74125,0,"d"],[74126,0," "],[74127,0,"f"],[74128,0,"r"],[74129,0,"o"],[74130,0,"m"],[74131,0," "],[74132,0,"t"],[74133,0,"h"],[74134,0,"e"],[74135,0," "],[74136,0,"h"],[74137,0,"i"],[74138,0,"s"],[74139,0,"t"],[74140,0,"o"],[74141,0,"r"],[74142,0,"y"],[74143,0," "],[74144,0,"$"],[74145,0,"H"],[74146,0,"_"],[74147,0,"p"],[74148,0,"$"],[74149,0," "],[74081,0,"\n"],[74082,0,"T"],[74083,0,"h"],[74084,0,"e"],[74085,0," "],[74086,0,"h"],[74087,0,"i"],[74088,0,"s"],[74089,0,"t"],[74090,0,"o"],[74091,0,"r"],[74092,0,"y"],[74093,0," "],[74094,0,"i"],[74095,0,"s"],[74096,0," "],[74097,0,"a"],[74098,0," "],[74098,1],[74097,1],[74096,1],[74095,1],[74094,1],[74094,0,"a"],[74095,0,"t"],[74096,0," "],[74097,0,"r"],[74098,0,"e"],[74099,0,"p"],[74100,0,"l"],[74101,0,"i"],[74102,0,"c"],[74103,0,"a"],[74104,0," "],[74105,0,"$"],[74106,0,"p"],[74107,0,"$"],[74108,0," "],[74109,0,"i"],[74110,0,"s"],[74111,0," "],[74112,0,"a"],[74113,0," "],[74114,0,"s"],[74115,0,"e"],[74116,0,"q"],[74117,0,"u"],[74118,0,"e"],[74119,0,"n"],[74120,0,"c"],[74121,0,"e"],[74122,0," "],[74123,0,"o"],[74124,0,"f"],[74125,0," "],[74126,0,"o"],[74127,0,"p"],[74128,0,"e"],[74129,0,"r"],[74130,0,"a"],[74131,0,"t"],[74132,0,"i"],[74133,0,"o"],[74134,0,"n"],[74135,0,"s"],[74136,0," "],[74137,0,"$"],[74138,0,"H"],[74139,0,"_"],[74140,0,"p"],[74141,0," "],[74142,0,"="],[74143,0," "],[74144,0,"o"],[74145,0,"_"],[74146,0,"1"],[74147,0," "],[74148,0,"\\"],[74149,0,"d"],[74150,0,"o"],[74151,0,"t"],[74152,0,"s"],[74153,0," "],[74154,0,"o"],[74155,0,"_"],[74156,0,"n"],[74157,0,"$"],[74158,0,","],[74159,0," "],[74160,0,"a"],[74161,0,"n"],[74162,0,"d"],[74163,0," "],[74164,0,"t"],[74165,0,"h"],[74166,0,"e"],[74167,0," "],[74168,0,"d"],[74169,0,"o"],[74170,0,"c"],[74171,0,"u"],[74172,0,"m"],[74173,0,"e"],[74174,0,"n"],[74175,0,"t"],[74176,0," "],[74177,0,"s"],[74178,0,"t"],[74179,0,"a"],[74180,0,"t"],[74181,0,"e"],[74182,0," "],[74183,0,"a"],[74184,0,"t"],[74185,0," "],[74186,0,"$"],[74187,0,"p"],[74188,0,"$"],[74189,0," "],[74190,0,"i"],[74191,0,"s"],[74192,0," "],[74193,0,"d"],[74194,0,"e"],[74195,0,"r"],[74196,0,"i"],[74197,0,"v"],[74198,0,"e"],[74199,0,"d"],[74200,0," "],[74201,0,"f"],[74202,0,"r"],[74203,0,"o"],[74204,0,"m"],[74205,0," "],[74206,0,"$"],[74207,0,"H"],[74208,0,"_"],[74209,0,"p"],[74210,0,"$"],[74211,0," "],[74212,0,"b"],[74213,0,"y"],[74214,0," "],[74215,0,"s"],[74216,0,"t"],[74217,0,"a"],[74218,0,"r"],[74219,0,"t"],[74220,0,"i"],[74221,0,"n"],[74222,0,"g"],[74223,0," "],[74224,0,"i"],[74225,0,"n"],[74226,0," "],[74227,0,"t"],[74228,0,"h"],[74229,0,"e"],[74230,0," "],[74231,0,"e"],[74232,0,"m"],[74233,0,"p"],[74234,0,"s"],[74234,1],[74234,0,"t"],[74235,0,"y"],[74236,0," "],[74237,0,"s"],[74238,0,"t"],[74239,0,"a"],[74240,0,"t"],[74241,0,"e"],[74242,0," "],[74243,0,"a"],[74244,0,"n"],[74245,0,"d"],[74246,0," "],[74247,0,"a"],[74248,0,"p"],[74249,0,"p"],[74250,0,"l"],[74251,0,"y"],[74252,0," "],[74252,1],[74252,0,"i"],[74253,0,"n"],[74254,0,"g"],[74255,0," "],[74256,0,"t"],[74257,0,"h"],[74258,0,"e"],[74259,0," "],[74260,0,"o"],[74261,0,"p"],[74262,0,"e"],[74263,0,"r"],[74264,0,"a"],[74265,0,"t"],[74266,0,"i"],[74267,0,"o"],[74268,0,"n"],[74269,0,"s"],[74270,0," "],[74271,0,"i"],[74272,0,"n"],[74273,0," "],[74274,0,"o"],[74275,0,"r"],[74276,0,"d"],[74277,0,"e"],[74278,0,"r"],[74279,0,"."],[74280,0," "],[74281,0,"L"],[74282,0,"i"],[74283,0,"k"],[74284,0,"e"],[74285,0," "],[74285,1],[74285,0,"w"],[74286,0,"i"],[74287,0,"s"],[74288,0,"e"],[74289,0,","],[74290,0," "],[74291,0,"t"],[74292,0,"h"],[74293,0,"e"],[74294,0," "],[74295,0,"d"],[74296,0,"o"],[74297,0,"c"],[74298,0,"u"],[74299,0,"m"],[74300,0,"e"],[74301,0,"n"],[74302,0,"t"],[74303,0," "],[74304,0,"s"],[74305,0,"t"],[74306,0,"a"],[74307,0,"t"],[74308,0,"e"],[74309,0," "],[74310,0,"a"],[74311,0,"t"],[74312,0," "],[74313,0,"$"],[74314,0,"q"],[74315,0,"$"],[74316,0," "],[74317,0,"i"],[74318,0,"s"],[74319,0," "],[74320,0,"d"],[74321,0,"e"],[74322,0,"r"],[74323,0,"i"],[74324,0,"v"],[74325,0,"e"],[74326,0,"d"],[74327,0," "],[74328,0,"f"],[74329,0,"r"],[74330,0,"o"],[74331,0,"m"],[74332,0," "],[74333,0,"$"],[74334,0,"H"],[74335,0,"_"],[74336,0,"q"],[74337,0,"$"],[74338,0,","],[74339,0," "],[74340,0,"w"],[74341,0,"h"],[74342,0,"i"],[74343,0,"c"],[74344,0,"h"],[74345,0," "],[74346,0,"i"],[74347,0,"s"],[74348,0," "],[74349,0,"a"],[74350,0," "],[74351,0,"p"],[74352,0,"e"],[74353,0,"r"],[74354,0,"m"],[74355,0,"u"],[74356,0,"t"],[74357,0,"a"],[74358,0,"t"],[74359,0,"i"],[74360,0,"o"],[74361,0,"n"],[74362,0," "],[74363,0,"o"],[74364,0,"f"],[74365,0," "],[74366,0,"$"],[74367,0,"H"],[74368,0,"_"],[74369,0,"p"],[74370,0,"$"],[74371,0,"."],[74440,1],[74439,1],[74438,1],[74437,1],[74436,1],[74435,1],[74434,1],[74433,1],[74432,1],[74431,1],[74430,1],[74429,1],[74428,1],[74427,1],[74426,1],[74425,1],[74424,1],[74423,1],[74422,1],[74421,1],[74420,1],[74419,1],[74418,1],[74417,1],[74416,1],[74415,1],[74414,1],[74413,1],[74412,1],[74411,1],[74410,1],[74409,1],[74408,1],[74407,1],[74406,1],[74405,1],[74404,1],[74403,1],[74402,1],[74401,1],[74400,1],[74399,1],[74398,1],[74397,1],[74396,1],[74395,1],[74394,1],[74393,1],[74392,1],[74391,1],[74390,1],[74389,1],[74388,1],[74387,1],[74386,1],[74385,1],[74384,1],[74383,1],[74382,1],[74381,1],[74380,1],[74379,1],[74378,1],[74377,1],[74376,1],[74375,1],[74374,1],[74373,1],[74372,1],[74372,0," "],[74373,0,"B"],[74374,0,"o"],[74375,0,"t"],[74376,0,"h"],[74377,0," "],[74378,0,"h"],[74379,0,"i"],[74380,0,"s"],[74381,0,"t"],[74382,0,"o"],[74383,0,"r"],[74384,0,"i"],[74385,0,"e"],[74386,0,"s"],[74387,0," "],[74388,0,"m"],[74389,0,"u"],[74390,0,"s"],[74391,0,"t"],[74392,0," "],[74393,0,"b"],[74394,0,"e"],[74395,0," "],[74396,0,"c"],[74397,0,"o"],[74398,0,"n"],[74399,0,"s"],[74400,0,"i"],[74401,0,"s"],[74402,0,"t"],[74403,0,"e"],[74404,0,"n"],[74405,0,"t"],[74406,0," "],[74407,0,"w"],[74408,0,"i"],[74409,0,"t"],[74410,0,"h"],[74411,0," "],[74412,0,"c"],[74413,0,"a"],[74414,0,"u"],[74415,0,"s"],[74416,0,"a"],[74417,0,"l"],[74418,0,"i"],[74419,0,"t"],[74420,0,"y"],[74421,0,","],[74422,0," "],[74423,0,"i"],[74424,0,"."],[74425,0,"e"],[74426,0,"."],[74427,0," "],[74428,0,"f"],[74429,0,"o"],[74430,0,"r"],[74431,0," "],[74432,0,"a"],[74433,0,"l"],[74434,0,"l"],[74435,0," "],[74436,0,"#"],[74436,1],[74436,0,"$"],[74437,0,"i"],[74438,0,"$"],[74439,0," "],[74440,0,"w"],[74441,0,"i"],[74442,0,"t"],[74443,0,"h"],[74444,0," "],[74445,0,"$"],[74446,0,"1"],[74447,0," "],[74448,0,"\\"],[74449,0,"e"],[74449,1],[74449,0,"l"],[74450,0,"e"],[74451,0," "],[74452,0,"i"],[74453,0," "],[74454,0,"\\"],[74455,0,"l"],[74456,0,"e"],[74457,0," "],[74458,0,"n"],[74459,0,"$"],[74460,0,","],[74461,0," "],[74462,0,"$"],[74463,0,"\\"],[74464,0,"m"],[74465,0,"a"],[74466,0,"t"],[74467,0,"h"],[74468,0,"i"],[74469,0,"t"],[74469,1],[74468,1],[74467,1],[74466,1],[74465,1],[74464,1],[74463,1],[74463,0,"o"],[74464,0,"_"],[74465,0,"i"],[74466,0,"."],[74467,0,"\\"],[74468,0,"m"],[74469,0,"a"],[74470,0,"t"],[74471,0,"h"],[74472,0,"i"],[74473,0,"t"],[74474,0,"{"],[74475,0,"d"],[74476,0,"e"],[74477,0,"p"],[74478,0,"s"],[74479,0,"}"],[74480,0," "],[74481,0,"\\"],[74482,0,"s"],[74483,0,"u"],[74484,0,"b"],[74485,0,"s"],[74486,0,"e"],[74487,0,"t"],[74488,0,"e"],[74489,0,"q"],[74490,0," "],[74491,0,"{"],[74492,0," "],[74493,0,"o"],[74494,0,"_"],[74495,0,"j"],[74496,0,"."],[74497,0,"\\"],[74498,0,"m"],[74499,0,"a"],[74500,0,"t"],[74501,0,"h"],[74502,0,"i"],[74503,0,"t"],[74504,0,"{"],[74505,0,"i"],[74506,0,"d"],[74507,0,"}"],[74508,0," "],[74509,0,"\\"],[74510,0,"m"],[74511,0,"i"],[74512,0,"d"],[74513,0," "],[74514,0,"1"],[74515,0," "],[74516,0,"\\"],[74517,0,"e"],[74518,0," "],[74518,1],[74517,1],[74517,0,"l"],[74518,0,"e"],[74519,0," "],[74520,0,"j"],[74521,0," "],[74522,0,"<"],[74523,0," "],[74524,0,"i"],[74491,0,"\\"],[74526,0," "],[74527,0,"\\"],[74528,0,"}"],[74526,1],[74493,1],[74527,0,"$"],[74528,0,"."],[73943,0," "],[73944,0,"a"],[73945,0,"t"],[73946,0," "],[73947,0,"$"],[73948,0,"p"],[73949,0,"$"],[73950,0," "],[73951,0,"o"],[73952,0,"r"],[73953,0," "],[73954,0,"$"],[73955,0,"q"],[73956,0,"$"],[74074,1],[74073,1],[74073,0,"i"],[74074,0,"r"],[74074,1],[74073,1],[74073,0,"o"],[74074,0,"r"],[74075,0,"d"],[74076,0,"e"],[74077,0,"r"],[74078,0,"e"],[74079,0,"d"],[74096,1],[74095,1],[74094,1],[74093,1],[74092,1],[74091,1],[74090,1],[74090,0,"l"],[74091,0,"y"],[74158,0,"\\"],[74159,0,"l"],[74160,0,"a"],[74161,0,"n"],[74162,0,"g"],[74163,0,"l"],[74164,0,"e"],[74165,0," "],[74179,0," "],[74180,0,"\\"],[74181,0,"r"],[74182,0,"a"],[74183,0,"n"],[74184,0,"g"],[74185,0,"l"],[74186,0,"e"],[74169,0,","],[74176,0,","],[74786,0," "],[74787,0,"w"],[74788,0,"e"],[74789,0," "],[74790,0,"r"],[74791,0,"e"],[74792,0,"q"],[74793,0,"u"],[74794,0,"i"],[74795,0,"r"],[74796,0,"e"],[74796,1],[74795,1],[74794,1],[74793,1],[74792,1],[74791,1],[74790,1],[74789,1],[74788,1],[74787,1],[74786,1],[74494,0,"w"],[74495,0,"e"],[74496,0," "],[74497,0,"r"],[74498,0,"e"],[74499,0,"q"],[74500,0,"u"],[74501,0,"i"],[74502,0,"r"],[74503,0,"e"],[74504,0," "],[74572,0,"\n"],[74573,0,"\n"],[74574,0,"W"],[74575,0,"e"],[74576,0," "],[74577,0,"c"],[74578,0,"a"],[74579,0,"n"],[74580,0," "],[74581,0,"p"],[74582,0,"r"],[74583,0,"o"],[74584,0,"v"],[74585,0,"e"],[74586,0," "],[74587,0,"t"],[74588,0,"h"],[74589,0,"e"],[74590,0," "],[74591,0,"t"],[74592,0,"h"],[74593,0,"e"],[74594,0,"o"],[74595,0,"r"],[74596,0,"e"],[74597,0,"m"],[74598,0," "],[74599,0,"b"],[74600,0,"y"],[74601,0," "],[74602,0,"i"],[74603,0,"n"],[74604,0,"d"],[74605,0,"u"],[74606,0,"c"],[74607,0,"t"],[74608,0,"i"],[74609,0,"o"],[74610,0,"n"],[74611,0," "],[74612,0,"o"],[74613,0,"v"],[74614,0,"e"],[74615,0,"r"],[74616,0," "],[74617,0,"h"],[74618,0,"i"],[74619,0,"s"],[74620,0,"t"],[74621,0,"o"],[74622,0,"r"],[74623,0,"i"],[74624,0,"e"],[74625,0,"s"],[74625,1],[74624,1],[74623,1],[74622,1],[74621,1],[74620,1],[74619,1],[74618,1],[74617,1],[74617,0,"t"],[74618,0,"h"],[74619,0,"e"],[74620,0," "],[74621,0,"l"],[74622,0,"e"],[74623,0,"n"],[74624,0,"g"],[74625,0,"t"],[74626,0,"h"],[74627,0," "],[74628,0,"o"],[74629,0,"f"],[74630,0," "],[74631,0,"h"],[74632,0,"i"],[74633,0,"s"],[74634,0,"t"],[74635,0,"o"],[74636,0,"r"],[74637,0,"y"],[74638,0," "],[74639,0,"$"],[74640,0,"n"],[74641,0,"$"],[74642,0,"."],[74643,0,"\n"],[74644,0,"\n"],[74645,0,"\\"],[74646,0,"e"],[74647,0,"m"],[74648,0,"p"],[74649,0,"h"],[74650,0,"{"],[74651,0,"B"],[74652,0,"a"],[74653,0,"s"],[74654,0,"e"],[74655,0," "],[74656,0,"c"],[74657,0,"a"],[74658,0,"s"],[74659,0,"e"],[74660,0,":"],[74661,0,"}"],[74662,0," "],[74663,0,"A"],[74664,0," "],[74665,0,"h"],[74666,0,"i"],[74667,0,"s"],[74668,0,"t"],[74669,0,"o"],[74670,0,"r"],[74670,1],[74669,1],[74668,1],[74667,1],[74666,1],[74665,1],[74664,1],[74664,0,"n"],[74665,0," "],[74666,0,"e"],[74667,0,"m"],[74668,0,"p"],[74669,0,"t"],[74670,0,"y"],[74671,0," "],[74672,0,"h"],[74673,0,"i"],[74674,0,"s"],[74675,0,"t"],[74676,0,"o"],[74677,0,"r"],[74678,0,"y"],[74679,0," "],[74680,0,"w"],[74681,0,"i"],[74682,0,"t"],[74683,0,"h"],[74684,0," "],[74685,0,"$"],[74686,0,"n"],[74687,0,"="],[74688,0,"0"],[74689,0,"$"],[74690,0," "],[74691,0,"d"],[74692,0,"e"],[74693,0,"s"],[74694,0,"c"],[74695,0,"r"],[74696,0,"i"],[74697,0,"b"],[74698,0,"e"],[74699,0,"s"],[74700,0," "],[74701,0,"t"],[74702,0,"h"],[74703,0,"e"],[74704,0," "],[74705,0,"e"],[74706,0,"m"],[74707,0,"p"],[74708,0,"t"],[74709,0,"y"],[74710,0," "],[74711,0,"d"],[74712,0,"o"],[74713,0,"c"],[74714,0,"u"],[74715,0,"m"],[74716,0,"e"],[74717,0,"n"],[74718,0,"t"],[74719,0," "],[74720,0,"s"],[74721,0,"t"],[74722,0,"a"],[74723,0,"t"],[74724,0,"e"],[74725,0,"."],[74726,0," "],[74727,0,"T"],[74728,0,"h"],[74729,0,"e"],[74730,0," "],[74731,0,"e"],[74732,0,"m"],[74733,0,"p"],[74734,0,"t"],[74735,0,"y"],[74736,0," "],[74737,0,"d"],[74738,0,"o"],[74739,0,"c"],[74740,0,"u"],[74741,0,"m"],[74742,0,"e"],[74743,0,"n"],[74744,0,"t"],[74745,0," "],[74746,0,"i"],[74747,0,"s"],[74748,0," "],[74749,0,"a"],[74750,0,"l"],[74751,0,"w"],[74752,0,"a"],[74753,0,"y"],[74754,0,"s"],[74755,0," "],[74756,0,"t"],[74757,0,"h"],[74758,0,"e"],[74759,0," "],[74760,0,"s"],[74761,0,"a"],[74762,0,"m"],[74763,0,"e"],[74764,0,","],[74765,0," "],[74766,0,"a"],[74767,0,"n"],[74768,0,"d"],[74769,0," "],[74770,0,"s"],[74771,0,"o"],[74772,0," "],[74773,0,"a"],[74774,0,"n"],[74775,0,"y"],[74776,0," "],[74777,0,"t"],[74778,0,"w"],[74779,0,"o"],[74780,0," "],[74781,0,"r"],[74782,0,"e"],[74783,0,"p"],[74784,0,"l"],[74785,0,"i"],[74786,0,"c"],[74787,0,"a"],[74788,0,"s"],[74789,0," "],[74790,0,"t"],[74791,0,"h"],[74792,0,"a"],[74793,0,"t"],[74794,0," "],[74795,0,"h"],[74796,0,"a"],[74797,0,"v"],[74798,0,"e"],[74799,0," "],[74800,0,"n"],[74801,0,"o"],[74802,0,"t"],[74803,0," "],[74804,0,"e"],[74805,0,"x"],[74806,0,"e"],[74807,0,"c"],[74808,0,"u"],[74809,0,"t"],[74810,0,"e"],[74811,0,"d"],[74812,0," "],[74813,0,"a"],[74814,0,"n"],[74815,0,"y"],[74816,0," "],[74817,0,"o"],[74818,0,"p"],[74819,0,"e"],[74820,0,"r"],[74821,0,"a"],[74822,0,"t"],[74823,0,"i"],[74824,0,"o"],[74825,0,"n"],[74826,0,"s"],[74827,0,"a"],[74828,0," "],[74829,0,"r"],[74829,1],[74828,1],[74827,1],[74827,0," "],[74828,0,"a"],[74829,0,"r"],[74830,0,"e"],[74831,0," "],[74832,0,"b"],[74833,0,"y"],[74834,0," "],[74835,0,"d"],[74836,0,"e"],[74837,0,"f"],[74838,0,"i"],[74839,0,"n"],[74840,0,"i"],[74841,0,"t"],[74842,0,"i"],[74843,0,"o"],[74844,0,"n"],[74845,0," "],[74846,0,"i"],[74847,0,"n"],[74848,0," "],[74849,0,"t"],[74850,0,"h"],[74851,0,"e"],[74852,0," "],[74853,0,"s"],[74854,0,"a"],[74855,0,"m"],[74856,0,"e"],[74857,0," "],[74858,0,"s"],[74859,0,"t"],[74860,0,"a"],[74861,0,"t"],[74862,0,"e"],[74863,0,"."],[74864,0,"\n"],[74865,0,"\n"],[74866,0,"\\"],[74867,0,"e"],[74868,0,"m"],[74869,0,"p"],[74870,0,"h"],[74871,0,"{"],[74872,0,"I"],[74873,0,"n"],[74874,0,"d"],[74875,0,"u"],[74876,0,"c"],[74877,0,"t"],[74878,0,"i"],[74879,0,"o"],[74880,0,"n"],[74881,0," "],[74882,0,"s"],[74883,0,"t"],[74884,0,"e"],[74885,0,"p"],[74886,0,":"],[74887,0,"}"],[74888,0," "],[74889,0,"G"],[74890,0,"i"],[74891,0,"v"],[74892,0,"e"],[74893,0,"n"],[74894,0," "],[74895,0,"h"],[74896,0,"i"],[74897,0,"s"],[74898,0,"t"],[74899,0,"o"],[74900,0,"r"],[74901,0,"i"],[74902,0,"e"],[74903,0,"s"],[74904,0," "],[74905,0,"$"],[74906,0,"H"],[74907,0,"_"],[74908,0,"p"],[74909,0,"$"],[74910,0," "],[74911,0,"a"],[74912,0,"n"],[74913,0,"d"],[74914,0," "],[74915,0,"$"],[74916,0,"H"],[74917,0,"_"],[74918,0,"q"],[74919,0,"$"],[74920,0," "],[74921,0,"o"],[74922,0,"f"],[74923,0," "],[74924,0,"l"],[74925,0,"e"],[74926,0,"n"],[74927,0,"g"],[74928,0,"t"],[74929,0,"h"],[74930,0," "],[74931,0,"$"],[74932,0,"n"],[74933,0,"$"],[74934,0,","],[74935,0," "],[74936,0,"s"],[74937,0,"u"],[74938,0,"c"],[74939,0,"h"],[74940,0," "],[74941,0,"t"],[74942,0,"h"],[74943,0,"a"],[74944,0,"t"],[74945,0," "],[74946,0,"$"],[74947,0,"H"],[74948,0,"_"],[74949,0,"p"],[74950,0," "],[74951,0,"="],[74952,0," "],[74953,0,"\\"],[74954,0,"l"],[74955,0,"a"],[74956,0,"n"],[74957,0,"g"],[74958,0,"l"],[74959,0,"e"],[74960,0," "],[74961,0,"o"],[74962,0,"_"],[74963,0,"1"],[74964,0,","],[74965,0," "],[74966,0,"\\"],[74967,0,"d"],[74968,0,"o"],[74969,0,"t"],[74970,0,"s"],[74971,0,","],[74972,0," "],[74973,0,"o"],[74974,0,"_"],[74975,0,"n"],[74976,0," "],[74977,0,"\\"],[74978,0,"r"],[74979,0,"a"],[74980,0,"n"],[74981,0,"g"],[74982,0,"l"],[74983,0,"e"],[74984,0,"$"],[74985,0," "],[74986,0,"a"],[74987,0,"n"],[74988,0,"d"],[74989,0," "],[74990,0,"$"],[74991,0,"H"],[74992,0,"_"],[74993,0,"q"],[74994,0," "],[74994,1],[74994,0,"$"],[74995,0," "],[74996,0,"i"],[74997,0,"s"],[74998,0," "],[74999,0,"a"],[75000,0," "],[75001,0,"p"],[75002,0,"e"],[75003,0,"r"],[75004,0,"m"],[75005,0,"u"],[75006,0,"t"],[75007,0,"a"],[75008,0,"t"],[75009,0,"i"],[75010,0,"o"],[75011,0,"n"],[75012,0," "],[75013,0,"o"],[75014,0,"f"],[75015,0," "],[75016,0,"$"],[75017,0,"H"],[75018,0,"_"],[75019,0,"q"],[75019,1],[75019,0,"p"],[75020,0,"$"],[75021,0,","],[75022,0," "],[75023,0,"a"],[75024,0,"n"],[75025,0,"d"],[75026,0," "],[75027,0,"s"],[75028,0,"u"],[75029,0,"c"],[75030,0,"h"],[75031,0," "],[75032,0,"t"],[75033,0,"h"],[75034,0,"a"],[75035,0,"t"],[75036,0," "],[75037,0,"a"],[75038,0,"p"],[75039,0,"p"],[75040,0,"l"],[75041,0,"y"],[75042,0,"i"],[75043,0,"n"],[75044,0,"g"],[75045,0," "],[75046,0,"$"],[75047,0,"H"],[75048,0,"_"],[75049,0,"p"],[75050,0,"$"],[75051,0," "],[75052,0,"r"],[75053,0,"e"],[75054,0,"s"],[75055,0,"u"],[75056,0,"l"],[75057,0,"t"],[75058,0,"s"],[75059,0," "],[75060,0,"i"],[75061,0,"n"],[75062,0," "],[75063,0,"t"],[75064,0,"h"],[75065,0,"e"],[75066,0," "],[75067,0,"s"],[75068,0,"a"],[75069,0,"m"],[75070,0,"e"],[75071,0," "],[75072,0,"d"],[75073,0,"o"],[75074,0,"c"],[75075,0,"u"],[75076,0,"m"],[75077,0,"e"],[75078,0,"n"],[75079,0,"t"],[75080,0," "],[75081,0,"s"],[75082,0,"t"],[75083,0,"a"],[75084,0,"t"],[75085,0,"e"],[75086,0," "],[75087,0,"a"],[75088,0,"s"],[75089,0," "],[75090,0,"a"],[75091,0,"p"],[75092,0,"p"],[75093,0,"l"],[75094,0,"y"],[75095,0,"i"],[75096,0,"n"],[75097,0,"g"],[75098,0," "],[75099,0,"$"],[75100,0,"H"],[75101,0,"-"],[75102,0,"Q"],[75102,1],[75101,1],[75101,0,"_"],[75102,0,"q"],[75103,0,"$"],[75104,0,","],[75105,0," "],[75106,0,"w"],[75107,0,"e"],[75108,0," "],[75109,0,"c"],[75110,0,"a"],[75111,0,"n"],[75112,0," "],[75113,0,"c"],[75114,0,"o"],[75115,0,"n"],[75116,0,"s"],[75117,0,"t"],[75118,0,"r"],[75119,0,"u"],[75120,0,"c"],[75121,0,"t"],[75122,0," "],[75123,0,"n"],[75124,0,"e"],[75125,0,"w"],[75126,0," "],[75127,0,"h"],[75128,0,"i"],[75129,0,"s"],[75130,0,"t"],[75131,0,"o"],[75132,0,"r"],[75133,0,"i"],[75134,0,"e"],[75135,0,"s"],[75136,0," "],[75137,0,"o"],[75138,0,"f"],[75139,0," "],[75140,0,"l"],[75141,0,"e"],[75142,0,"n"],[75143,0,"g"],[75144,0,"t"],[75145,0,"h"],[75146,0," "],[75147,0,"$"],[75148,0,"n"],[75149,0,"+"],[75150,0,"1"],[75151,0,"$"],[75152,0," "],[75153,0,"b"],[75154,0,"y"],[75155,0," "],[75156,0,"i"],[75157,0,"n"],[75158,0,"s"],[75159,0,"e"],[75160,0,"r"],[75161,0,"t"],[75162,0,"i"],[75163,0,"n"],[75164,0,"g"],[75165,0," "],[75166,0,"a"],[75167,0," "],[75168,0,"n"],[75169,0,"e"],[75170,0,"w"],[75171,0," "],[75172,0,"o"],[75173,0,"p"],[75174,0,"e"],[75175,0,"r"],[75176,0,"a"],[75177,0,"t"],[75178,0,"i"],[75179,0,"o"],[75180,0,"n"],[75181,0," "],[75182,0,"$"],[75183,0,"o"],[75184,0,"_"],[75185,0,"{"],[75186,0,"n"],[75187,0,"+"],[75188,0,"1"],[75189,0,"}"],[75190,0,"$"],[75191,0," "],[75192,0,"i"],[75193,0,"n"],[75194,0," "],[75195,0,"a"],[75196,0,"n"],[75197,0,"y"],[75198,0," "],[75198,1],[75197,1],[75196,1],[75195,1],[75194,1],[75193,1],[75192,1],[75192,0,"a"],[75193,0,"t"],[75194,0," "],[75195,0,"a"],[75196,0,"n"],[75197,0,"y"],[75198,0," "],[75199,0,"c"],[75200,0,"a"],[75201,0,"u"],[75202,0,"s"],[75203,0,"a"],[75204,0,"l"],[75205,0,"l"],[75206,0,"y"],[75207,0," "],[75208,0,"r"],[75209,0,"e"],[75210,0,"a"],[75211,0,"d"],[75212,0,"y"],[75213,0," "],[75214,0,"p"],[75215,0,"o"],[75216,0,"s"],[75217,0,"i"],[75218,0,"t"],[75219,0,"i"],[75220,0,"o"],[75221,0,"n"],[75222,0," "],[75223,0,"i"],[75224,0,"n"],[75225,0," "],[75226,0,"e"],[75227,0,"i"],[75228,0,"t"],[75229,0,"h"],[75230,0,"e"],[75231,0,"r"],[75232,0," "],[75233,0,"$"],[75234,0,"H"],[75235,0,"_"],[75236,0,"p"],[75237,0,"$"],[75238,0," "],[75239,0,"o"],[75240,0,"r"],[75241,0," "],[75242,0,"$"],[75232,1],[75231,1],[75230,1],[75229,1],[75228,1],[75227,1],[75226,1],[75225,1],[75225,0," "],[75136,0," "],[75137,0,"$"],[75138,0,"H"],[75139,0,"_"],[75140,0,"p"],[75141,0,"'"],[75142,0,"$"],[75143,0," "],[75144,0,"a"],[75145,0,"n"],[75146,0,"d"],[75147,0," "],[75148,0,"$"],[75149,0,"H"],[75150,0,"_"],[75151,0,"q"],[75152,0,"'"],[75153,0,"$"],[75254,0,"H"],[75255,0,"_"],[75256,0,"q"],[75257,0,"$"],[75258,0," "],[75259,0,"r"],[75260,0,"e"],[75261,0,"s"],[75262,0,"p"],[75263,0,"e"],[75264,0,"c"],[75265,0,"t"],[75266,0,"i"],[75267,0,"v"],[75268,0,"e"],[75269,0,"l"],[75270,0,"y"],[75271,0,"."],[75272,0," "],[75273,0,"W"],[75274,0,"e"],[75275,0," "],[75276,0,"m"],[75277,0,"u"],[75278,0,"s"],[75279,0,"t"],[75280,0," "],[75281,0,"t"],[75282,0,"h"],[75283,0,"e"],[75284,0,"n"],[75285,0," "],[75286,0,"s"],[75287,0,"h"],[75288,0,"o"],[75289,0,"w"],[75290,0," "],[75291,0,"t"],[75292,0,"h"],[75293,0,"a"],[75294,0,"t"],[75295,0," "],[75296,0,"f"],[75297,0,"o"],[75298,0,"r"],[75299,0," "],[75300,0,"a"],[75301,0,"l"],[75302,0,"l"],[75303,0," "],[75304,0,"t"],[75305,0,"h"],[75306,0,"e"],[75307,0," "],[75308,0,"h"],[75309,0,"i"],[75310,0,"s"],[75311,0,"t"],[75312,0,"o"],[75313,0,"r"],[75314,0,"i"],[75315,0,"e"],[75316,0,"s"],[75317,0," "],[75318,0,"$"],[75319,0,"H"],[75320,0,"_"],[75321,0,"p"],[75322,0,"'"],[75323,0,"$"],[75324,0," "],[75325,0,"a"],[75326,0,"n"],[75327,0,"d"],[75328,0," "],[75329,0,"$"],[75330,0,"H"],[75331,0,"_"],[75332,0,"q"],[75333,0,"'"],[75334,0,"$"],[75335,0," "],[75336,0,"c"],[75337,0,"o"],[75338,0,"n"],[75339,0,"s"],[75340,0,"t"],[75341,0,"r"],[75342,0,"u"],[75343,0,"c"],[75344,0,"t"],[75345,0,"e"],[75346,0,"d"],[75347,0," "],[75348,0,"t"],[75349,0,"h"],[75350,0,"i"],[75351,0,"s"],[75352,0," "],[75353,0,"w"],[75354,0,"a"],[75355,0,"y"],[75356,0,","],[75357,0," "],[75358,0,"a"],[75359,0,"p"],[75360,0,"p"],[75361,0,"l"],[75362,0,"y"],[75363,0,"i"],[75364,0,"n"],[75365,0,"g"],[75366,0," "],[75367,0,"t"],[75368,0,"h"],[75369,0,"e"],[75370,0," "],[75371,0,"o"],[75372,0,"p"],[75373,0,"e"],[75374,0,"r"],[75375,0,"a"],[75376,0,"t"],[75377,0,"i"],[75378,0,"o"],[75379,0,"n"],[75380,0,"s"],[75381,0," "],[75382,0,"i"],[75383,0,"n"],[75384,0," "],[75385,0,"o"],[75386,0,"r"],[75387,0,"d"],[75388,0,"e"],[75389,0,"r"],[75390,0," "],[75391,0,"r"],[75392,0,"e"],[75393,0,"s"],[75394,0,"u"],[75395,0,"l"],[75396,0,"t"],[75397,0,"s"],[75398,0," "],[75399,0,"i"],[75400,0,"n"],[75401,0," "],[75402,0,"t"],[75403,0,"h"],[75404,0,"e"],[75405,0," "],[75406,0,"s"],[75407,0,"a"],[75408,0,"m"],[75409,0,"e"],[75410,0," "],[75411,0,"f"],[75412,0,"i"],[75413,0,"n"],[75414,0,"a"],[75415,0,"l"],[75416,0," "],[75416,1],[75415,1],[75414,1],[75413,1],[75412,1],[75411,1],[75411,0,"d"],[75412,0,"o"],[75413,0,"c"],[75414,0,"u"],[75415,0,"m"],[75416,0,"e"],[75417,0,"n"],[75418,0,"t"],[75419,0," "],[75420,0,"s"],[75421,0,"t"],[75422,0,"a"],[75423,0,"t"],[75424,0,"e"],[75425,0,"."],[75371,0,"s"],[75372,0,"e"],[75373,0,"q"],[75374,0,"u"],[75375,0,"e"],[75376,0,"n"],[75377,0,"c"],[75378,0,"e"],[75379,0," "],[75380,0,"o"],[75381,0,"f"],[75382,0," "],[75438,0,"\n"],[75439,0,"\n"],[75440,0,"I"],[75441,0,"n"],[75442,0," "],[75443,0,"o"],[75444,0,"r"],[75445,0,"d"],[75446,0,"e"],[75447,0,"r"],[75448,0," "],[75449,0,"t"],[75450,0,"o"],[75451,0," "],[75452,0,"p"],[75453,0,"r"],[75454,0,"o"],[75455,0,"v"],[75456,0,"e"],[75457,0," "],[75458,0,"t"],[75459,0,"h"],[75460,0,"e"],[75461,0," "],[75462,0,"i"],[75463,0,"n"],[75464,0,"d"],[75465,0,"u"],[75466,0,"c"],[75467,0,"t"],[75468,0,"i"],[75469,0,"o"],[75470,0,"n"],[75471,0," "],[75472,0,"s"],[75473,0,"t"],[75474,0,"e"],[75475,0,"p"],[75476,0,","],[75477,0," "],[75478,0,"w"],[75479,0,"e"],[75480,0," "],[75481,0,"e"],[75482,0,"x"],[75483,0,"a"],[75484,0,"m"],[75485,0,"i"],[75486,0,"n"],[75487,0,"e"],[75488,0," "],[75489,0,"t"],[75490,0,"h"],[75491,0,"e"],[75492,0," "],[75493,0,"i"],[75494,0,"n"],[75495,0,"s"],[75496,0,"e"],[75497,0,"r"],[75498,0,"t"],[75499,0,"i"],[75500,0,"o"],[75501,0,"n"],[75502,0," "],[75503,0,"o"],[75504,0,"f"],[75505,0," "],[75506,0,"$"],[75507,0,"o"],[75508,0,"_"],[75509,0,"{"],[75510,0,"n"],[75511,0,"+"],[75512,0,"1"],[75513,0,"}"],[75514,0,"$"],[75515,0," "],[75516,0,"i"],[75517,0,"n"],[75518,0,"t"],[75519,0,"o"],[75520,0," "],[75521,0,"$"],[75522,0,"H"],[75523,0,"_"],[75524,0,"p"],[75525,0,"$"],[75526,0," "],[75527,0,"a"],[75528,0,"n"],[75529,0,"d"],[75530,0," "],[75531,0,"$"],[75532,0,"H"],[75533,0,"_"],[75534,0,"q"],[75535,0,"$"],[75536,0,"."],[75537,0," "],[75538,0,"E"],[75539,0,"a"],[75540,0,"c"],[75541,0,"h"],[75542,0," "],[75543,0,"h"],[75544,0,"i"],[75545,0,"s"],[75546,0,"t"],[75547,0,"o"],[75548,0,"r"],[75549,0,"y"],[75550,0," "],[75551,0,"c"],[75552,0,"a"],[75553,0,"n"],[75554,0," "],[75555,0,"b"],[75556,0,"e"],[75557,0," "],[75558,0,"s"],[75559,0,"p"],[75560,0,"l"],[75561,0,"i"],[75562,0,"t"],[75563,0," "],[75564,0,"i"],[75565,0,"n"],[75566,0,"t"],[75567,0,"o"],[75568,0," "],[75569,0,"a"],[75570,0," "],[75571,0,"p"],[75572,0,"r"],[75573,0,"e"],[75574,0,"f"],[75575,0,"i"],[75576,0,"x"],[75577,0,","],[75578,0," "],[75579,0,"w"],[75580,0,"h"],[75581,0,"i"],[75582,0,"c"],[75583,0,"h"],[75584,0," "],[75585,0,"i"],[75586,0,"s"],[75587,0," "],[75588,0,"t"],[75589,0,"h"],[75590,0,"e"],[75591,0," "],[75592,0,"m"],[75593,0,"i"],[75594,0,"n"],[75595,0,"i"],[75596,0,"m"],[75597,0,"a"],[75598,0,"l"],[75599,0," "],[75600,0,"s"],[75601,0,"u"],[75602,0,"b"],[75603,0,"s"],[75604,0,"e"],[75605,0,"q"],[75606,0,"u"],[75607,0,"e"],[75608,0,"n"],[75609,0,"c"],[75610,0,"e"],[75611,0," "],[75612,0,"$"],[75613,0,"\\"],[75614,0,"l"],[75615,0,"a"],[75616,0,"n"],[75617,0,"g"],[75618,0,"l"],[75619,0,"e"],[75620,0," "],[75621,0,"o"],[75622,0,"_"],[75623,0,"1"],[75624,0,","],[75625,0," "],[75626,0,"\\"],[75627,0,"d"],[75628,0,"o"],[75629,0,"t"],[75630,0,"s"],[75631,0,","],[75632,0," "],[75633,0,"o"],[75634,0,"_"],[75635,0,"j"],[75636,0," "],[75637,0,"\\"],[75638,0,"r"],[75639,0,"a"],[75640,0,"n"],[75641,0,"g"],[75642,0,"l"],[75643,0,"e"],[75644,0,"$"],[75645,0," "],[75646,0,"s"],[75647,0,"u"],[75648,0,"c"],[75649,0,"h"],[75650,0," "],[75651,0,"t"],[75652,0,"h"],[75653,0,"a"],[75654,0,"t"],[75655,0," "],[75656,0,"$"],[75657,0,"o"],[75658,0,"_"],[75659,0,"{"],[75660,0,"n"],[75661,0,"+"],[75662,0,"1"],[75663,0,"}"],[75664,0,"."],[75665,0,"\\"],[75666,0,"m"],[75667,0,"a"],[75668,0,"t"],[75669,0,"h"],[75670,0,"i"],[75671,0,"t"],[75672,0,"{"],[75673,0,"d"],[75674,0,"e"],[75675,0,"p"],[75676,0,"s"],[75677,0,"}"],[75678,0," "],[75679,0,"\\"],[75680,0,"s"],[75681,0,"u"],[75682,0,"b"],[75683,0,"s"],[75684,0,"e"],[75685,0,"t"],[75686,0,"e"],[75687,0,"q"],[75688,0," "],[75689,0,"\\"],[75690,0,"{"],[75691,0,"o"],[75692,0,"_"],[75693,0,"1"],[75694,0,"."],[75695,0,"\\"],[75696,0,"m"],[75697,0,"a"],[75698,0,"t"],[75699,0,"h"],[75700,0,"i"],[75701,0,"t"],[75702,0,"{"],[75703,0,"i"],[75704,0,"d"],[75705,0,"}"],[75706,0,","],[75707,0," "],[75708,0,"\\"],[75709,0,"d"],[75710,0,"o"],[75711,0,"t"],[75712,0,"s"],[75713,0,","],[75714,0," "],[75715,0,"o"],[75716,0,"_"],[75717,0,"j"],[75718,0,"."],[75719,0,"\\"],[75720,0,"m"],[75721,0,"a"],[75722,0,"t"],[75723,0,"h"],[75724,0,"i"],[75725,0,"t"],[75726,0,"{"],[75727,0,"i"],[75728,0,"d"],[75729,0,"}"],[75730,0,"\\"],[75731,0,"}"],[75732,0,"$"],[75733,0,","],[75734,0," "],[75735,0,"a"],[75736,0,"n"],[75737,0,"d"],[75738,0," "],[75739,0,"a"],[75740,0," "],[75741,0,"p"],[75742,0,"r"],[75743,0,"e"],[75744,0,"f"],[75745,0,"i"],[75746,0,"x"],[75747,0,","],[75748,0," "],[75749,0,"w"],[75750,0,"h"],[75751,0,"i"],[75752,0,"c"],[75753,0,"h"],[75754,0," "],[75755,0,"i"],[75756,0,"s"],[75757,0," "],[75758,0,"t"],[75759,0,"h"],[75760,0,"e"],[75761,0," "],[75762,0,"r"],[75763,0,"e"],[75764,0,"m"],[75765,0,"a"],[75766,0,"i"],[75767,0,"n"],[75768,0,"i"],[75769,0,"n"],[75770,0,"g"],[75771,0," "],[75772,0,"s"],[75773,0,"e"],[75774,0,"q"],[75775,0,"u"],[75776,0,"e"],[75777,0,"n"],[75778,0,"c"],[75779,0,"e"],[75780,0," "],[75781,0,"$"],[75782,0,"\\"],[75783,0,"l"],[75784,0,"a"],[75785,0,"n"],[75786,0,"g"],[75787,0,"l"],[75788,0,"e"],[75789,0," "],[75790,0,"o"],[75791,0,"_"],[75792,0,"{"],[75793,0,"j"],[75794,0,"+"],[75795,0,"1"],[75796,0,"}"],[75797,0,","],[75798,0," "],[75799,0,"\\"],[75800,0,"d"],[75801,0,"o"],[75802,0,"t"],[75803,0,"s"],[75804,0,","],[75805,0," "],[75806,0,"o"],[75807,0,"_"],[75808,0,"n"],[75809,0," "],[75810,0,"\\"],[75811,0,"r"],[75812,0,"a"],[75813,0,"n"],[75814,0,"g"],[75815,0,"l"],[75816,0,"e"],[75817,0,"$"],[75818,0,"."],[75819,0," "],[75820,0,"T"],[75821,0,"h"],[75822,0,"e"],[75823,0," "],[75824,0,"e"],[75825,0,"a"],[75826,0,"r"],[75827,0,"l"],[75828,0,"i"],[75829,0,"e"],[75830,0,"s"],[75831,0,"t"],[75832,0," "],[75833,0,"p"],[75834,0,"o"],[75835,0,"s"],[75836,0,"i"],[75837,0,"t"],[75838,0,"i"],[75839,0,"o"],[75840,0,"n"],[75841,0," "],[75842,0,"w"],[75843,0,"h"],[75844,0,"e"],[75845,0,"r"],[75846,0,"e"],[75847,0," "],[75848,0,"$"],[75849,0,"o"],[75850,0,"_"],[75851,0,"{"],[75852,0,"n"],[75853,0,"+"],[75854,0,"1"],[75855,0,"}"],[75856,0,"$"],[75857,0," "],[75858,0,"c"],[75859,0,"a"],[75860,0,"n"],[75861,0," "],[75862,0,"b"],[75863,0,"e"],[75864,0," "],[75865,0,"i"],[75866,0,"n"],[75867,0,"s"],[75868,0,"e"],[75869,0,"r"],[75870,0,"t"],[75871,0,"e"],[75872,0,"d"],[75873,0," "],[75874,0,"i"],[75875,0,"n"],[75876,0,"t"],[75877,0,"o"],[75878,0," "],[75879,0,"t"],[75880,0,"h"],[75881,0,"e"],[75882,0," "],[75883,0,"h"],[75884,0,"i"],[75885,0,"s"],[75886,0,"t"],[75887,0,"o"],[75888,0,"r"],[75889,0,"y"],[75890,0," "],[75891,0,"i"],[75892,0,"s"],[75893,0," "],[75894,0,"b"],[75895,0,"e"],[75896,0,"t"],[75897,0,"w"],[75898,0,"e"],[75899,0,"e"],[75900,0,"n"],[75901,0," "],[75902,0,"t"],[75903,0,"h"],[75904,0,"e"],[75905,0," "],[75906,0,"p"],[75907,0,"r"],[75908,0,"e"],[75909,0,"f"],[75910,0,"i"],[75911,0,"x"],[75912,0," "],[75913,0,"a"],[75914,0,"n"],[75915,0,"d"],[75916,0," "],[75917,0,"t"],[75918,0,"h"],[75919,0,"e"],[75920,0," "],[75921,0,"s"],[75922,0,"u"],[75923,0,"f"],[75924,0,"f"],[75925,0,"i"],[75926,0,"x"],[75927,0,";"],[75928,0," "],[75929,0,"t"],[75930,0,"h"],[75931,0,"e"],[75932,0," "],[75933,0,"l"],[75934,0,"a"],[75935,0,"t"],[75936,0,"e"],[75937,0,"s"],[75938,0,"t"],[75939,0," "],[75940,0,"p"],[75941,0,"o"],[75942,0,"s"],[75943,0,"i"],[75944,0,"t"],[75945,0,"i"],[75946,0,"o"],[75947,0,"n"],[75948,0," "],[75949,0,"i"],[75950,0,"s"],[75951,0," "],[75952,0,"a"],[75953,0,"t"],[75954,0," "],[75955,0,"t"],[75956,0,"h"],[75957,0,"e"],[75958,0," "],[75959,0,"e"],[75960,0,"n"],[75961,0,"d"],[75962,0," "],[75963,0,"o"],[75964,0,"f"],[75965,0," "],[75966,0,"t"],[75967,0,"h"],[75968,0,"e"],[75969,0," "],[75970,0,"s"],[75971,0,"u"],[75972,0,"f"],[75973,0,"f"],[75974,0,"i"],[75975,0,"x"],[75976,0,";"],[75977,0," "],[75978,0,"o"],[75979,0,"r"],[75980,0," "],[75981,0,"i"],[75982,0,"t"],[75983,0," "],[75984,0,"c"],[75985,0,"o"],[75986,0,"u"],[75987,0,"l"],[75988,0,"d"],[75989,0," "],[75990,0,"b"],[75991,0,"e"],[75992,0," "],[75993,0,"i"],[75994,0,"n"],[75995,0,"s"],[75996,0,"e"],[75997,0,"r"],[75998,0,"t"],[75999,0,"e"],[76000,0,"d"],[76001,0," "],[76002,0,"a"],[76003,0,"t"],[76004,0," "],[76005,0,"a"],[76006,0,"n"],[76007,0,"y"],[76008,0," "],[76009,0,"p"],[76010,0,"o"],[76011,0,"i"],[76012,0,"n"],[76013,0,"t"],[76014,0," "],[76015,0,"w"],[76016,0,"i"],[76017,0,"t"],[76018,0,"h"],[76019,0,"i"],[76020,0,"n"],[76021,0," "],[76022,0,"t"],[76023,0,"h"],[76024,0,"e"],[76025,0," "],[76026,0,"s"],[76027,0,"u"],[76028,0,"f"],[76029,0,"f"],[76030,0,"i"],[76031,0,"x"],[76032,0,"."],[75743,1],[75742,1],[75741,1],[75741,0,"s"],[75742,0,"u"],[75743,0,"f"],[75772,0,"s"],[75773,0,"u"],[75774,0,"b"],[76036,0,"\n"],[76037,0,"\n"],[76038,0,"W"],[76039,0,"e"],[76040,0," "],[76041,0,"s"],[76042,0,"h"],[76043,0,"o"],[76044,0,"w"],[76045,0," "],[76046,0,"t"],[76047,0,"h"],[76048,0,"a"],[76049,0,"t"],[76050,0," "],[76051,0,"t"],[76052,0,"h"],[76053,0,"e"],[76054,0," "],[76055,0,"e"],[76056,0,"f"],[76057,0,"f"],[76058,0,"e"],[76059,0,"c"],[76060,0,"t"],[76061,0," "],[76062,0,"o"],[76063,0,"n"],[76064,0," "],[76065,0,"t"],[76066,0,"h"],[76067,0,"e"],[76068,0," "],[76069,0,"d"],[76070,0,"o"],[76071,0,"c"],[76072,0,"u"],[76073,0,"m"],[76074,0,"e"],[76075,0,"n"],[76076,0,"t"],[76077,0," "],[76078,0,"s"],[76079,0,"t"],[76080,0,"a"],[76081,0,"t"],[76082,0,"e"],[76083,0," "],[76084,0,"i"],[76085,0,"s"],[76086,0," "],[76087,0,"t"],[76088,0,"h"],[76089,0,"e"],[76090,0," "],[76091,0,"s"],[76092,0,"a"],[76093,0,"m"],[76094,0,"e"],[76095,0,","],[76096,0," "],[76097,0,"r"],[76098,0,"e"],[76099,0,"g"],[76100,0,"a"],[76101,0,"r"],[76102,0,"d"],[76103,0,"l"],[76104,0,"e"],[76105,0,"s"],[76106,0,"s"],[76107,0," "],[76108,0,"o"],[76109,0,"f"],[76110,0," "],[76111,0,"t"],[76112,0,"h"],[76113,0,"e"],[76114,0," "],[76115,0,"p"],[76116,0,"o"],[76117,0,"s"],[76118,0,"i"],[76119,0,"t"],[76120,0,"i"],[76121,0,"o"],[76122,0,"n"],[76123,0," "],[76124,0,"a"],[76125,0,"t"],[76126,0," "],[76127,0,"w"],[76128,0,"h"],[76129,0,"i"],[76130,0,"c"],[76131,0,"h"],[76132,0," "],[76133,0,"$"],[76134,0,"o"],[76135,0,"_"],[76136,0,"{"],[76137,0,"n"],[76138,0,"+"],[76139,0,"1"],[76140,0,"}"],[76141,0,"$"],[76142,0," "],[76143,0,"i"],[76144,0,"s"],[76145,0," "],[76146,0,"i"],[76147,0,"n"],[76148,0,"s"],[76149,0,"e"],[76150,0,"r"],[76151,0,"t"],[76152,0,"e"],[76153,0,"d"],[76154,0,","],[76155,0," "],[76156,0,"a"],[76157,0,"n"],[76158,0,"d"],[76159,0," "],[76160,0,"r"],[76161,0,"e"],[76162,0,"g"],[76163,0,"a"],[76164,0,"r"],[76165,0,"d"],[76166,0,"l"],[76167,0,"e"],[76168,0,"s"],[76169,0,"s"],[76170,0," "],[76171,0,"o"],[76172,0,"f"],[76173,0," "],[76174,0,"w"],[76175,0,"h"],[76176,0,"e"],[76177,0,"t"],[76178,0,"h"],[76179,0,"e"],[76180,0,"r"],[76181,0," "],[76182,0,"i"],[76183,0,"t"],[76184,0," "],[76185,0,"i"],[76186,0,"s"],[76187,0," "],[76188,0,"i"],[76189,0,"n"],[76190,0,"s"],[76191,0,"e"],[76192,0,"r"],[76193,0,"t"],[76194,0,"e"],[76195,0,"d"],[76196,0," "],[76197,0,"i"],[76198,0,"n"],[76199,0,"o"],[76199,1],[76199,0,"t"],[76200,0,"o"],[76201,0," "],[76202,0,"$"],[76203,0,"H"],[76204,0,"_"],[76205,0,"p"],[76206,0,"R"],[76207,0,"$"],[76207,1],[76206,1],[76206,0,"$"],[76207,0," "],[76208,0,"o"],[76209,0,"r"],[76210,0," "],[76211,0,"$"],[76212,0,"H"],[76213,0,"-"],[76213,1],[76213,0,"_"],[76214,0,"q"],[76215,0,"$"],[76216,0,"."],[76217,0," "],[76218,0,"W"],[76219,0,"e"],[76220,0," "],[76221,0,"d"],[76222,0,"o"],[76223,0," "],[76224,0,"t"],[76225,0,"h"],[76226,0,"i"],[76227,0,"s"],[76228,0," "],[76229,0,"b"],[76230,0,"y"],[76231,0," "],[76232,0,"s"],[76233,0,"h"],[76234,0,"o"],[76235,0,"w"],[76236,0,"i"],[76237,0,"n"],[76238,0,"g"],[76239,0," "],[76240,0,"t"],[76241,0,"h"],[76242,0,"a"],[76243,0,"t"],[76244,0," "],[76245,0,"$"],[76246,0,"o"],[76247,0,"_"],[76248,0,"{"],[76249,0,"n"],[76250,0,"+"],[76251,0,"1"],[76252,0,"}"],[76253,0,"$"],[76254,0," "],[76255,0,"i"],[76256,0,"s"],[76257,0," "],[76258,0,"c"],[76259,0,"o"],[76260,0,"m"],[76261,0,"m"],[76262,0,"u"],[76263,0,"t"],[76264,0,"a"],[76265,0,"t"],[76266,0,"i"],[76267,0,"v"],[76268,0,"e"],[76269,0," "],[76270,0,"w"],[76271,0,"i"],[76272,0,"t"],[76273,0,"h"],[76274,0," "],[76275,0,"r"],[76276,0,"e"],[76277,0,"s"],[76278,0,"p"],[76279,0,"e"],[76280,0,"c"],[76281,0,"t"],[76282,0," "],[76283,0,"t"],[76284,0,"o"],[76285,0," "],[76286,0,"a"],[76287,0,"l"],[76288,0,"l"],[76289,0," "],[76290,0,"o"],[76291,0,"p"],[76292,0,"e"],[76293,0,"r"],[76294,0,"a"],[76295,0,"t"],[76296,0,"i"],[76297,0,"o"],[76298,0,"n"],[76299,0,"s"],[76300,0," "],[76301,0,"i"],[76302,0,"n"],[76303,0," "],[76304,0,"t"],[76305,0,"h"],[76306,0,"e"],[76307,0," "],[76308,0,"s"],[76309,0,"u"],[76310,0,"f"],[76311,0,"f"],[76312,0,"i"],[76313,0,"x"],[76314,0,","],[76315,0," "],[76316,0,"i"],[76317,0,"."],[76318,0,"e"],[76319,0,"."],[76320,0," "],[76321,0,"w"],[76322,0,"i"],[76323,0,"t"],[76324,0,"h"],[76325,0," "],[76326,0,"r"],[76327,0,"e"],[76328,0,"s"],[76329,0,"p"],[76330,0,"e"],[76331,0,"c"],[76332,0,"t"],[76333,0," "],[76334,0,"t"],[76335,0,"o"],[76336,0," "],[76337,0,"a"],[76338,0,"l"],[76339,0,"l"],[76340,0," "],[76341,0,"o"],[76342,0,"p"],[76343,0,"e"],[76344,0,"r"],[76345,0,"a"],[76346,0,"t"],[76347,0,"i"],[76348,0,"o"],[76349,0,"n"],[76350,0,"s"],[76351,0," "],[76352,0,"t"],[76353,0,"h"],[76354,0,"a"],[76355,0,"t"],[76356,0," "],[76357,0,"a"],[76358,0,"r"],[76359,0,"e"],[76360,0," "],[76361,0,"c"],[76362,0,"o"],[76363,0,"n"],[76364,0,"c"],[76365,0,"u"],[76366,0,"r"],[76367,0,"r"],[76368,0,"e"],[76369,0,"n"],[76370,0,"t"],[76371,0," "],[76372,0,"t"],[76373,0,"o"],[76374,0," "],[76375,0,"$"],[76376,0,"O"],[76377,0,"-"],[76377,1],[76376,1],[76376,0,"o"],[76377,0,"_"],[76378,0,"{"],[76379,0,"n"],[76380,0,"+"],[76381,0,"1"],[76382,0,"}"],[76383,0,"$"],[76384,0,"."],[76385,0," "],[76386,0,"W"],[76387,0,"e"],[76388,0," "],[76389,0,"d"],[76390,0,"e"],[76391,0,"m"],[76392,0,"o"],[76393,0,"n"],[76394,0,"s"],[76395,0,"t"],[76396,0,"r"],[76397,0,"a"],[76398,0,"t"],[76399,0,"e"],[76400,0," "],[76401,0,"t"],[76402,0,"h"],[76403,0,"i"],[76404,0,"s"],[76405,0," "],[76406,0,"c"],[76407,0,"o"],[76408,0,"m"],[76409,0,"m"],[76410,0,"u"],[76411,0,"t"],[76412,0,"a"],[76413,0,"t"],[76414,0,"i"],[76415,0,"v"],[76416,0,"i"],[76417,0,"t"],[76418,0,"y"],[76419,0," "],[76420,0,"c"],[76421,0,"a"],[76422,0,"s"],[76423,0,"e"],[76424,0,"-"],[76425,0,"b"],[76426,0,"y"],[76427,0,"-"],[76428,0,"c"],[76429,0,"a"],[76430,0,"s"],[76431,0,"e"],[76432,0," "],[76433,0,"d"],[76434,0,"e"],[76435,0,"p"],[76436,0,"e"],[76437,0,"n"],[76438,0,"d"],[76439,0,"o"],[76440,0,"n"],[76440,1],[76439,1],[76439,0,"i"],[76440,0,"n"],[76441,0,"g"],[76442,0," "],[76443,0,"o"],[76444,0,"n"],[76445,0," "],[76446,0,"t"],[76447,0,"h"],[76448,0,"e"],[76449,0," "],[76450,0,"t"],[76451,0,"y"],[76452,0,"p"],[76453,0,"e"],[76454,0," "],[76455,0,"o"],[76456,0,"f"],[76457,0," "],[76458,0,"m"],[76459,0,"u"],[76460,0,"t"],[76461,0,"a"],[76462,0,"t"],[76463,0,"i"],[76464,0,"o"],[76465,0,"n"],[76466,0," "],[76467,0,"i"],[76468,0,"n"],[76469,0," "],[76470,0,"$"],[76471,0,"o"],[76472,0,"_"],[76473,0,"{"],[76474,0,"n"],[76475,0,"+"],[76476,0,"1"],[76477,0,"}"],[76478,0,"$"],[76479,0,":"],[76480,0," "],[76481,0,"i"],[76482,0,"n"],[76483,0,"s"],[76484,0,"e"],[76485,0,"r"],[76486,0,"t"],[76487,0,"i"],[76488,0,"o"],[76489,0,"n"],[76490,0,"s"],[76491,0," "],[76492,0,"i"],[76493,0,"n"],[76494,0," "],[76495,0,"L"],[76496,0,"e"],[76497,0,"m"],[76498,0,"m"],[76499,0,"a"],[76500,0,"~"],[76501,0,"\\"],[76502,0,"r"],[76503,0,"e"],[76504,0,"f"],[76505,0,"{"],[76506,0,"l"],[76507,0,"e"],[76508,0,"m"],[76509,0,":"],[76510,0,"i"],[76511,0,"n"],[76512,0,"s"],[76513,0,"e"],[76514,0,"r"],[76515,0,"t"],[76516,0,"-"],[76517,0,"c"],[76518,0,"o"],[76519,0,"m"],[76520,0,"m"],[76521,0,"u"],[76522,0,"t"],[76523,0,"e"],[76524,0,"}"],[76525,0,","],[76526,0," "],[76527,0,"d"],[76528,0,"e"],[76529,0,"l"],[76530,0,"e"],[76531,0,"t"],[76532,0,"i"],[76533,0,"o"],[76534,0,"n"],[76535,0,"s"],[76536,0," "],[76537,0,"i"],[76538,0,"n"],[76539,0," "],[76540,0,"L"],[76541,0,"e"],[76542,0,"m"],[76543,0,"m"],[76544,0,"a"],[76545,0,"~"],[76546,0,"\\"],[76547,0,"r"],[76548,0,"e"],[76549,0,"f"],[76550,0,"{"],[76551,0,"l"],[76552,0,"e"],[76553,0,"m"],[76554,0,":"],[76555,0,"d"],[76556,0,"e"],[76557,0,"l"],[76558,0,"e"],[76559,0,"t"],[76560,0,"e"],[76561,0,"-"],[76562,0,"c"],[76563,0,"o"],[76564,0,"m"],[76565,0,"m"],[76566,0,"u"],[76567,0,"t"],[76568,0,"e"],[76569,0,"}"],[76490,1],[76534,1],[76568,0,","],[76569,0," "],[76570,0,"a"],[76571,0,"n"],[76572,0,"d"],[76573,0," "],[76574,0,"a"],[76575,0,"s"],[76576,0,"s"],[76577,0,"i"],[76578,0,"g"],[76579,0,"n"],[76580,0,"m"],[76581,0,"e"],[76582,0,"n"],[76583,0,"t"],[76584,0," "],[76585,0,"i"],[76586,0,"n"],[76587,0," "],[76588,0,"L"],[76589,0,"e"],[76590,0,"m"],[76591,0,"m"],[76592,0,"a"],[76593,0,"~"],[76594,0,"\\"],[76595,0,"r"],[76596,0,"e"],[76597,0,"f"],[76598,0,"{"],[76599,0,"l"],[76600,0,"e"],[76601,0,"m"],[76602,0,":"],[76603,0,"a"],[76604,0,"s"],[76605,0,"s"],[76606,0,"i"],[76607,0,"g"],[76608,0,"n"],[76609,0,"-"],[76610,0,"c"],[76611,0,"o"],[76612,0,"m"],[76613,0,"m"],[76614,0,"u"],[76615,0,"t"],[76616,0,"e"],[76617,0,"}"],[76618,0,"."],[82130,0,"\n"],[82131,0,"\\"],[82132,0,"b"],[82133,0,"e"],[82134,0,"g"],[82135,0,"i"],[82136,0,"n"],[82137,0,"{"],[82138,0,"e"],[82139,0,"m"],[82139,1],[82138,1],[82138,0,"l"],[82139,0,"e"],[82140,0,"m"],[82141,0,"m"],[82142,0,"a"],[82143,0,"}"],[82144,0,"\\"],[82145,0,"l"],[82146,0,"a"],[82147,0,"b"],[82148,0,"e"],[82149,0,"l"],[82150,0,"{"],[82151,0,"l"],[82152,0,"e"],[82153,0,"m"],[82154,0,":"],[82155,0,"d"],[82156,0,"e"],[82157,0,"l"],[82158,0,"e"],[82159,0,"t"],[82160,0,"e"],[82161,0,"-"],[82162,0,"c"],[82163,0,"o"],[82164,0,"m"],[82165,0,"m"],[82166,0,"u"],[82167,0,"t"],[82168,0,"e"],[82169,0,"}"],[82170,0,"\n"],[82171,0,"C"],[82172,0,"o"],[82173,0,"n"],[82174,0,"c"],[82175,0,"u"],[82176,0,"r"],[82177,0,"r"],[82178,0,"e"],[82178,1],[82177,1],[82176,1],[82175,1],[82174,1],[82173,1],[82172,1],[82171,1],[82171,0,"D"],[82172,0,"e"],[82173,0,"l"],[82174,0,"e"],[82175,0,"t"],[82176,0,"i"],[82177,0,"o"],[82178,0,"n"],[82179,0," "],[82180,0,"i"],[82181,0,"s"],[82182,0," "],[82183,0,"c"],[82184,0,"o"],[82185,0,"m"],[82186,0,"m"],[82187,0,"u"],[82188,0,"t"],[82189,0,"a"],[82190,0,"t"],[82191,0,"i"],[82192,0,"v"],[82193,0,"e"],[82194,0," "],[82195,0,"w"],[82196,0,"i"],[82197,0,"t"],[82198,0,"h"],[82199,0," "],[82200,0,"r"],[82201,0,"e"],[82202,0,"s"],[82203,0,"p"],[82204,0,"e"],[82205,0,"c"],[82206,0,"t"],[82207,0," "],[82208,0,"t"],[82209,0,"o"],[82210,0," "],[82211,0,"o"],[82212,0,"t"],[82213,0,"h"],[82214,0,"e"],[82215,0,"r"],[82216,0," "],[82217,0,"c"],[82218,0,"o"],[82219,0,"n"],[82220,0,"c"],[82221,0,"u"],[82222,0,"r"],[82223,0,"r"],[82224,0,"e"],[82225,0,"n"],[82226,0,"t"],[82227,0," "],[82228,0,"o"],[82229,0,"p"],[82230,0,"e"],[82231,0,"r"],[82232,0,"a"],[82233,0,"t"],[82234,0,"i"],[82235,0,"o"],[82236,0,"n"],[82237,0,"s"],[82238,0,"."],[82239,0,"\n"],[82240,0,"\\"],[82241,0,"e"],[82242,0,"n"],[82243,0,"d"],[82244,0,"{"],[82245,0,"l"],[82246,0,"e"],[82247,0,"m"],[82248,0,"m"],[82249,0,"a"],[82250,0,"}"],[82251,0,"\n"],[82252,0,"\n"],[82253,0,"\\"],[82254,0,"b"],[82255,0,"e"],[82256,0,"g"],[82257,0,"i"],[82258,0,"n"],[82259,0,"{"],[82260,0,"l"],[82261,0,"e"],[82262,0,"m"],[82263,0,"m"],[82264,0,"a"],[82265,0,"}"],[82266,0,"\\"],[82267,0,"l"],[82268,0,"a"],[82269,0,"b"],[82270,0,"e"],[82271,0,"l"],[82272,0,"{"],[82273,0,"l"],[82274,0,"e"],[82275,0,"m"],[82276,0,":"],[82277,0,"a"],[82278,0,"s"],[82279,0,"s"],[82280,0,"i"],[82281,0,"g"],[82282,0,"n"],[82283,0,"-"],[82284,0,"c"],[82285,0,"o"],[82286,0,"m"],[82287,0,"m"],[82288,0,"u"],[82289,0,"t"],[82290,0,"e"],[82291,0,"}"],[82292,0,"\n"],[82293,0,"A"],[82294,0,"s"],[82295,0,"s"],[82296,0,"i"],[82297,0,"g"],[82298,0,"n"],[82299,0,"m"],[82300,0,"e"],[82301,0,"n"],[82302,0,"t"],[82303,0," "],[82304,0,"i"],[82305,0,"s"],[82306,0," "],[82307,0,"c"],[82308,0,"o"],[82309,0,"m"],[82310,0,"m"],[82311,0,"u"],[82312,0,"t"],[82313,0,"a"],[82314,0,"t"],[82315,0,"i"],[82316,0,"v"],[82317,0,"e"],[82318,0," "],[82319,0,"w"],[82320,0,"i"],[82321,0,"t"],[82322,0,"h"],[82323,0," "],[82324,0,"r"],[82325,0,"e"],[82326,0,"s"],[82327,0,"p"],[82328,0,"e"],[82329,0,"c"],[82330,0,"t"],[82331,0," "],[82332,0,"t"],[82333,0,"o"],[82334,0," "],[82335,0,"o"],[82336,0,"t"],[82337,0,"h"],[82338,0,"e"],[82339,0,"r"],[82340,0," "],[82341,0,"c"],[82342,0,"o"],[82343,0,"n"],[82344,0,"c"],[82345,0,"u"],[82346,0,"r"],[82347,0,"r"],[82348,0,"e"],[82349,0,"n"],[82350,0,"t"],[82351,0," "],[82352,0,"o"],[82353,0,"p"],[82354,0,"e"],[82355,0,"r"],[82356,0,"a"],[82357,0,"t"],[82358,0,"i"],[82359,0,"o"],[82360,0,"n"],[82361,0,"s"],[82362,0,"."],[82340,1],[82339,1],[82338,1],[82337,1],[82336,1],[82335,1],[82215,1],[82214,1],[82213,1],[82212,1],[82211,1],[82210,1],[82352,0,"\\"],[82353,0,"e"],[82354,0,"n"],[82355,0,"d"],[82356,0,"{"],[82357,0,"l"],[82358,0,"e"],[82359,0,"m"],[82360,0,"m"],[82361,0,"a"],[82362,0,"}"],[82363,0,"\n"],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[82391,1],[83429,1],[83428,1],[83427,1],[83426,1],[83425,1],[83424,1],[83423,1],[83422,1],[83421,1],[83420,1],[83419,1],[83418,1],[83417,1],[83416,1],[83415,1],[83414,1],[83413,1],[83412,1],[83411,1],[83410,1],[83409,1],[83408,1],[83407,1],[83406,1],[83405,1],[83404,1],[83403,1],[83402,1],[83401,1],[83400,1],[83399,1],[83398,1],[83397,1],[83396,1],[83395,1],[83394,1],[83393,1],[83392,1],[83391,1],[83390,1],[83389,1],[83388,1],[83387,1],[83386,1],[83385,1],[83384,1],[83383,1],[83382,1],[83381,1],[83380,1],[83379,1],[83378,1],[83377,1],[83376,1],[83375,1],[83374,1],[83373,1],[83372,1],[83371,1],[83370,1],[83369,1],[83368,1],[83367,1],[83366,1],[83365,1],[83364,1],[83363,1],[83362,1],[83361,1],[83360,1],[83359,1],[83358,1],[83357,1],[83356,1],[83355,1],[83354,1],[83353,1],[83352,1],[83351,1],[83350,1],[83349,1],[83348,1],[83347,1],[83346,1],[83345,1],[83344,1],[83343,1],[83342,1],[83341,1],[83340,1],[83339,1],[83338,1],[83337,1],[83336,1],[83335,1],[83334,1],[83333,1],[83332,1],[83331,1],[83330,1],[83329,1],[83328,1],[83327,1],[83326,1],[83325,1],[83324,1],[83323,1],[83322,1],[83321,1],[83320,1],[83319,1],[83318,1],[83317,1],[83316,1],[83315,1],[83314,1],[83313,1],[83312,1],[83311,1],[83310,1],[83309,1],[83308,1],[83307,1],[83306,1],[83305,1],[83304,1],[83303,1],[83302,1],[83301,1],[83300,1],[83299,1],[83298,1],[83297,1],[83296,1],[83295,1],[83294,1],[83293,1],[83292,1],[83291,1],[83290,1],[83289,1],[83288,1],[83287,1],[83286,1],[83285,1],[83284,1],[83283,1],[83282,1],[83281,1],[83280,1],[83279,1],[83278,1],[83277,1],[83276,1],[83275,1],[83274,1],[83273,1],[83272,1],[83271,1],[83270,1],[83269,1],[83268,1],[83267,1],[83266,1],[83265,1],[83264,1],[83263,1],[83262,1],[83261,1],[83260,1],[83259,1],[83258,1],[83257,1],[83256,1],[83255,1],[83254,1],[83253,1],[83252,1],[83251,1],[83250,1],[83249,1],[83248,1],[83247,1],[83246,1],[83245,1],[83244,1],[83243,1],[83242,1],[83241,1],[83240,1],[83239,1],[83238,1],[83237,1],[83236,1],[83235,1],[83234,1],[83233,1],[83232,1],[83231,1],[83230,1],[83229,1],[83228,1],[83227,1],[83226,1],[83225,1],[83224,1],[83223,1],[83222,1],[83221,1],[83220,1],[83219,1],[83218,1],[83217,1],[83216,1],[83215,1],[83214,1],[83213,1],[83212,1],[83211,1],[83210,1],[83209,1],[83208,1],[83207,1],[83206,1],[83205,1],[83204,1],[83203,1],[83202,1],[83201,1],[83200,1],[83199,1],[83198,1],[83197,1],[83196,1],[83195,1],[83194,1],[83193,1],[83192,1],[83191,1],[83190,1],[83189,1],[83188,1],[83187,1],[83186,1],[83185,1],[83184,1],[83183,1],[83182,1],[83181,1],[83180,1],[83179,1],[83178,1],[83177,1],[83176,1],[83175,1],[83174,1],[83173,1],[83172,1],[83171,1],[83170,1],[83169,1],[83168,1],[83167,1],[83166,1],[83165,1],[83164,1],[83163,1],[83162,1],[83161,1],[83160,1],[83159,1],[83158,1],[83157,1],[83156,1],[83155,1],[83154,1],[83153,1],[83152,1],[83151,1],[83150,1],[83149,1],[83148,1],[83147,1],[83146,1],[83145,1],[83144,1],[83143,1],[83142,1],[83141,1],[83140,1],[83139,1],[83138,1],[83137,1],[83136,1],[83135,1],[83134,1],[83133,1],[83132,1],[83131,1],[83130,1],[83129,1],[83128,1],[83127,1],[83126,1],[83125,1],[83124,1],[83123,1],[83122,1],[83121,1],[83120,1],[83119,1],[83118,1],[83117,1],[83116,1],[83115,1],[83114,1],[83113,1],[83112,1],[83111,1],[83110,1],[83109,1],[83108,1],[83107,1],[83106,1],[83105,1],[83104,1],[83103,1],[83102,1],[83101,1],[83100,1],[83099,1],[83098,1],[83097,1],[83096,1],[83095,1],[83094,1],[83093,1],[83092,1],[83091,1],[83090,1],[83089,1],[83088,1],[83087,1],[83086,1],[83085,1],[83084,1],[83083,1],[83082,1],[83081,1],[83080,1],[83079,1],[83078,1],[83077,1],[83076,1],[83075,1],[83074,1],[83073,1],[83072,1],[83071,1],[83070,1],[83069,1],[83068,1],[83067,1],[83066,1],[83065,1],[83064,1],[83063,1],[83062,1],[83061,1],[83060,1],[83059,1],[83058,1],[83057,1],[83056,1],[83055,1],[83054,1],[83053,1],[83052,1],[83051,1],[83050,1],[83049,1],[83048,1],[83047,1],[83046,1],[83045,1],[83044,1],[83043,1],[83042,1],[83041,1],[83040,1],[83039,1],[83038,1],[83037,1],[83036,1],[83035,1],[83034,1],[83033,1],[83032,1],[83031,1],[83030,1],[83029,1],[83028,1],[83027,1],[83026,1],[83025,1],[83024,1],[83023,1],[83022,1],[83021,1],[83020,1],[83019,1],[83018,1],[83017,1],[83016,1],[83015,1],[83014,1],[83013,1],[83012,1],[83011,1],[83010,1],[83009,1],[83008,1],[83007,1],[83006,1],[83005,1],[83004,1],[83003,1],[83002,1],[83001,1],[83000,1],[82999,1],[82998,1],[82997,1],[82996,1],[82995,1],[82994,1],[82993,1],[82992,1],[82991,1],[82990,1],[82989,1],[82988,1],[82987,1],[82986,1],[82985,1],[82984,1],[82983,1],[82982,1],[82981,1],[82980,1],[82979,1],[82978,1],[82977,1],[82976,1],[82975,1],[82974,1],[82973,1],[82972,1],[82971,1],[82970,1],[82969,1],[82968,1],[82967,1],[82966,1],[82965,1],[82964,1],[82963,1],[82962,1],[82961,1],[82960,1],[82959,1],[82958,1],[82957,1],[82956,1],[82955,1],[82954,1],[82953,1],[82952,1],[82951,1],[82950,1],[82949,1],[82948,1],[82947,1],[82946,1],[82945,1],[82944,1],[82943,1],[82942,1],[82941,1],[82940,1],[82939,1],[82938,1],[82937,1],[82936,1],[82935,1],[82934,1],[82933,1],[82932,1],[82931,1],[82930,1],[82929,1],[82928,1],[82927,1],[82926,1],[82925,1],[82924,1],[82923,1],[82922,1],[82921,1],[82920,1],[82919,1],[82918,1],[82917,1],[82916,1],[82915,1],[82914,1],[82913,1],[82912,1],[82911,1],[82910,1],[82909,1],[82908,1],[82907,1],[82906,1],[82905,1],[82904,1],[82903,1],[82902,1],[82901,1],[82900,1],[82899,1],[82898,1],[82897,1],[82896,1],[82895,1],[82894,1],[82893,1],[82892,1],[82891,1],[82890,1],[82889,1],[82888,1],[82887,1],[82886,1],[82885,1],[82884,1],[82883,1],[82882,1],[82881,1],[82880,1],[82879,1],[82878,1],[82877,1],[82876,1],[82875,1],[82874,1],[82873,1],[82872,1],[82871,1],[82870,1],[82869,1],[82868,1],[82867,1],[82866,1],[82865,1],[82864,1],[82863,1],[82862,1],[82861,1],[82860,1],[82859,1],[82858,1],[82857,1],[82856,1],[82855,1],[82854,1],[82853,1],[82852,1],[82851,1],[82850,1],[82849,1],[82848,1],[82847,1],[82846,1],[82845,1],[82844,1],[82843,1],[82842,1],[82841,1],[82840,1],[82839,1],[82838,1],[82837,1],[82836,1],[82835,1],[82834,1],[82833,1],[82832,1],[82831,1],[82830,1],[82829,1],[82828,1],[82827,1],[82826,1],[82825,1],[82824,1],[82823,1],[82822,1],[82821,1],[82820,1],[82819,1],[82818,1],[82817,1],[82816,1],[82815,1],[82814,1],[82813,1],[82812,1],[82811,1],[82810,1],[82809,1],[82808,1],[82807,1],[82806,1],[82805,1],[82804,1],[82803,1],[82802,1],[82801,1],[82800,1],[82799,1],[82798,1],[82797,1],[82796,1],[82795,1],[82794,1],[82793,1],[82792,1],[82791,1],[82790,1],[82789,1],[82788,1],[82787,1],[82786,1],[82785,1],[82784,1],[82783,1],[82782,1],[82781,1],[82780,1],[82779,1],[82778,1],[82777,1],[82776,1],[82775,1],[82774,1],[82773,1],[82772,1],[82771,1],[82770,1],[82769,1],[82768,1],[82767,1],[82766,1],[82765,1],[82764,1],[82763,1],[82762,1],[82761,1],[82760,1],[82759,1],[82758,1],[82757,1],[82756,1],[82755,1],[82754,1],[82753,1],[82752,1],[82751,1],[82750,1],[82749,1],[82748,1],[82747,1],[82746,1],[82745,1],[82744,1],[82743,1],[82742,1],[82741,1],[82740,1],[82739,1],[82738,1],[82737,1],[82736,1],[82735,1],[82734,1],[82733,1],[82732,1],[82731,1],[82730,1],[82729,1],[82728,1],[82727,1],[82726,1],[82725,1],[82724,1],[82723,1],[82722,1],[82721,1],[82720,1],[82719,1],[82718,1],[82717,1],[82716,1],[82715,1],[82714,1],[82713,1],[82712,1],[82711,1],[82710,1],[82709,1],[82708,1],[82707,1],[82706,1],[82705,1],[82704,1],[82703,1],[82702,1],[82701,1],[82700,1],[82699,1],[82698,1],[82697,1],[82696,1],[82695,1],[82694,1],[82693,1],[82692,1],[82691,1],[82690,1],[82689,1],[82688,1],[82687,1],[82686,1],[82685,1],[82684,1],[82683,1],[82682,1],[82681,1],[82680,1],[82679,1],[82678,1],[82677,1],[82676,1],[82675,1],[82674,1],[82673,1],[82672,1],[82671,1],[82670,1],[82669,1],[82668,1],[82667,1],[82666,1],[82665,1],[82664,1],[82663,1],[82662,1],[82661,1],[82660,1],[82659,1],[82658,1],[82657,1],[82656,1],[82655,1],[82654,1],[82653,1],[82652,1],[82651,1],[82650,1],[82649,1],[82648,1],[82647,1],[82646,1],[82645,1],[82644,1],[82643,1],[82642,1],[82641,1],[82640,1],[82639,1],[82638,1],[82637,1],[82636,1],[82635,1],[82634,1],[82633,1],[82632,1],[82631,1],[82630,1],[82629,1],[82628,1],[82627,1],[82626,1],[82625,1],[82624,1],[82623,1],[82622,1],[82621,1],[82620,1],[82619,1],[82618,1],[82617,1],[82616,1],[82615,1],[82614,1],[82613,1],[82612,1],[82611,1],[82610,1],[82609,1],[82608,1],[82607,1],[82606,1],[82605,1],[82604,1],[82603,1],[82602,1],[82601,1],[82600,1],[82599,1],[82598,1],[82597,1],[82596,1],[82595,1],[82594,1],[82593,1],[82592,1],[82591,1],[82590,1],[82589,1],[82588,1],[82587,1],[82586,1],[82585,1],[82584,1],[82583,1],[82582,1],[82581,1],[82580,1],[82579,1],[82578,1],[82577,1],[82576,1],[82575,1],[82574,1],[82573,1],[82572,1],[82571,1],[82570,1],[82569,1],[82568,1],[82567,1],[82566,1],[82565,1],[82564,1],[82563,1],[82562,1],[82561,1],[82560,1],[82559,1],[82558,1],[82557,1],[82556,1],[82555,1],[82554,1],[82553,1],[82552,1],[82551,1],[82550,1],[82549,1],[82548,1],[82547,1],[82546,1],[82545,1],[82544,1],[82543,1],[82542,1],[82541,1],[82540,1],[82539,1],[82538,1],[82537,1],[82536,1],[82535,1],[82534,1],[82533,1],[82532,1],[82531,1],[82530,1],[82529,1],[82528,1],[82527,1],[82526,1],[82525,1],[82524,1],[82523,1],[82522,1],[82521,1],[82520,1],[82519,1],[82518,1],[82517,1],[82516,1],[82515,1],[82514,1],[82513,1],[82512,1],[82511,1],[82510,1],[82509,1],[82508,1],[82507,1],[82506,1],[82505,1],[82504,1],[82503,1],[82502,1],[82501,1],[82500,1],[82499,1],[82498,1],[82497,1],[82496,1],[82495,1],[82494,1],[82493,1],[82492,1],[82491,1],[82490,1],[82489,1],[82488,1],[82487,1],[82486,1],[82485,1],[82484,1],[82483,1],[82482,1],[82481,1],[82480,1],[82479,1],[82478,1],[82477,1],[82476,1],[82475,1],[82474,1],[82473,1],[82472,1],[82471,1],[82470,1],[82469,1],[82468,1],[82467,1],[82466,1],[82465,1],[82464,1],[82463,1],[82462,1],[82461,1],[82460,1],[82459,1],[82458,1],[82457,1],[82456,1],[82455,1],[82454,1],[82453,1],[82452,1],[82451,1],[82450,1],[82449,1],[82448,1],[82447,1],[82446,1],[82445,1],[82444,1],[82443,1],[82442,1],[82441,1],[82440,1],[82439,1],[82438,1],[82437,1],[82436,1],[82435,1],[82434,1],[82433,1],[82432,1],[82431,1],[82430,1],[82429,1],[82428,1],[82427,1],[82426,1],[82425,1],[82424,1],[82423,1],[82422,1],[82421,1],[82420,1],[82419,1],[82418,1],[82417,1],[82416,1],[82415,1],[82414,1],[82413,1],[82412,1],[82411,1],[82410,1],[82409,1],[82408,1],[82407,1],[82406,1],[82405,1],[82404,1],[82403,1],[82402,1],[82401,1],[82400,1],[82399,1],[82398,1],[82397,1],[82396,1],[82395,1],[82394,1],[82393,1],[82392,1],[82391,1],[82390,1],[82389,1],[74572,0," "],[74573,0,"T"],[74574,0,"h"],[74575,0,"e"],[74576,0," "],[74577,0,"c"],[74578,0,"a"],[74579,0,"u"],[74580,0,"s"],[74581,0,"a"],[74582,0,"l"],[74583,0,"i"],[74584,0,"t"],[74585,0,"y"],[74586,0," "],[74587,0,"i"],[74588,0,"n"],[74589,0,"v"],[74590,0,"a"],[74591,0,"r"],[74592,0,"i"],[74593,0,"a"],[74594,0,"n"],[74595,0,"t"],[74596,0," "],[74597,0,"i"],[74598,0,"s"],[74599,0," "],[74600,0,"m"],[74601,0,"a"],[74602,0,"i"],[74603,0,"n"],[74604,0,"t"],[74605,0,"a"],[74606,0,"i"],[74607,0,"n"],[74608,0,"e"],[74609,0,"d"],[74610,0," "],[74611,0,"b"],[74612,0,"y"],[74613,0," "],[74614,0,"t"],[74615,0,"h"],[74616,0,"e"],[74617,0," "],[74618,0,"\\"],[74619,0,"t"],[74620,0,"e"],[74621,0,"x"],[74622,0,"t"],[74623,0,"s"],[74624,0,"c"],[74625,0,"{"],[74626,0,"A"],[74627,0,"p"],[74628,0,"p"],[74629,0,"l"],[74630,0,"y"],[74631,0,"-"],[74632,0,"*"],[74633,0,"}"],[74634,0," "],[74635,0,"r"],[74636,0,"u"],[74637,0,"l"],[74638,0,"e"],[74639,0,"s"],[74640,0,"."],[76700,0,"\n"],[76701,0,"\n"],[76702,0,"B"],[76703,0,"e"],[76704,0,"f"],[76705,0,"o"],[76706,0,"r"],[76707,0,"e"],[76708,0," "],[76709,0,"w"],[76710,0,"e"],[76711,0," "],[76712,0,"c"],[76713,0,"a"],[76714,0,"n"],[76715,0," "],[76716,0,"p"],[76717,0,"r"],[76718,0,"o"],[76719,0,"v"],[76720,0,"e"],[76721,0," "],[76722,0,"t"],[76723,0,"h"],[76724,0,"e"],[76725,0," "],[76726,0,"c"],[76727,0,"o"],[76728,0,"m"],[76729,0,"m"],[76730,0,"u"],[76731,0,"t"],[76732,0,"a"],[76733,0,"t"],[76734,0,"i"],[76735,0,"v"],[76736,0,"i"],[76737,0,"t"],[76738,0,"y"],[76739,0," "],[76740,0,"o"],[76741,0,"f"],[76742,0," "],[76743,0,"i"],[76744,0,"n"],[76745,0,"s"],[76746,0,"e"],[76747,0,"r"],[76748,0,"t"],[76749,0,"i"],[76750,0,"o"],[76751,0,"n"],[76752,0,","],[76753,0," "],[76754,0,"d"],[76755,0,"e"],[76756,0,"l"],[76757,0,"e"],[76758,0,"t"],[76759,0,"i"],[76760,0,"o"],[76761,0,"n"],[76762,0," "],[76763,0,"a"],[76764,0,"n"],[76765,0,"d"],[76766,0," "],[76767,0,"a"],[76768,0,"s"],[76769,0,"s"],[76770,0,"i"],[76771,0,"g"],[76772,0,"n"],[76773,0,"m"],[76774,0,"e"],[76775,0,"n"],[76776,0,"t"],[76777,0,","],[76778,0," "],[76779,0,"w"],[76780,0,"e"],[76781,0," "],[76782,0,"m"],[76783,0,"u"],[76784,0,"s"],[76785,0,"t"],[76786,0," "],[76787,0,"f"],[76788,0,"i"],[76789,0,"r"],[76790,0,"s"],[76791,0,"t"],[76792,0," "],[76793,0,"p"],[76794,0,"r"],[76795,0,"o"],[76796,0,"v"],[76797,0,"e"],[76798,0," "],[76799,0,"s"],[76800,0,"o"],[76801,0,"m"],[76802,0,"e"],[76803,0," "],[76804,0,"p"],[76805,0,"r"],[76806,0,"e"],[76807,0,"l"],[76808,0,"i"],[76809,0,"m"],[76810,0,"i"],[76811,0,"n"],[76812,0,"a"],[76813,0,"r"],[76814,0,"y"],[76815,0," "],[76816,0,"l"],[76817,0,"e"],[76818,0,"m"],[76819,0,"m"],[76820,0,"a"],[76821,0,"s"],[76822,0,"."],[76792,0," "],[76793,0,"d"],[76794,0,"e"],[76795,0,"f"],[76796,0,"i"],[76797,0,"n"],[76798,0,"e"],[76799,0," "],[76800,0,"s"],[76801,0,"o"],[76802,0,"m"],[76803,0,"e"],[76804,0," "],[76805,0,"m"],[76806,0,"o"],[76807,0,"r"],[76808,0,"e"],[76809,0," "],[76810,0,"t"],[76811,0,"e"],[76812,0,"r"],[76813,0,"m"],[76814,0,"s"],[76815,0," "],[76816,0,"a"],[76817,0,"n"],[76818,0,"d"],[73117,0," "],[73118,0,"M"],[73119,0,"o"],[73120,0,"r"],[73121,0,"e"],[73122,0,"o"],[73123,0,"v"],[73124,0,"e"],[73125,0,"r"],[73126,0,","],[73127,0," "],[73128,0,"g"],[73129,0,"a"],[73130,0,"r"],[73131,0,"b"],[73132,0,"a"],[73133,0,"g"],[73134,0,"e"],[73135,0," "],[73136,0,"c"],[73137,0,"o"],[73138,0,"l"],[73139,0,"l"],[73140,0,"e"],[73141,0,"c"],[73142,0,"t"],[73143,0,"i"],[73144,0,"o"],[73145,0,"n"],[73146,0," "],[73147,0,"("],[73148,0,"t"],[73149,0,"o"],[73150,0,"m"],[73151,0,"b"],[73152,0,"s"],[73153,0,"t"],[73154,0,"o"],[73155,0,"n"],[73156,0,"e"],[73157,0," "],[73158,0,"r"],[73159,0,"e"],[73160,0,"m"],[73161,0,"o"],[73162,0,"v"],[73163,0,"a"],[73164,0,"l"],[73165,0,")"],[73166,0," "],[73167,0,"i"],[73168,0,"s"],[73169,0," "],[73170,0,"r"],[73171,0,"e"],[73172,0,"q"],[73173,0,"u"],[73174,0,"i"],[73175,0,"r"],[73176,0,"e"],[73177,0,"d"],[73178,0," "],[73179,0,"i"],[73180,0,"n"],[73181,0," "],[73182,0,"o"],[73183,0,"r"],[73184,0,"d"],[73185,0,"e"],[73186,0,"r"],[73187,0," "],[73188,0,"t"],[73189,0,"o"],[73190,0," "],[73191,0,"p"],[73192,0,"r"],[73193,0,"e"],[73194,0,"v"],[73195,0,"e"],[73196,0,"n"],[73197,0,"t"],[73198,0," "],[73199,0,"u"],[73200,0,"n"],[73201,0,"b"],[73202,0,"o"],[73203,0,"u"],[73204,0,"n"],[73205,0,"d"],[73206,0,"e"],[73207,0,"d"],[73208,0," "],[73209,0,"g"],[73210,0,"r"],[73211,0,"o"],[73212,0,"w"],[73213,0,"t"],[73214,0,"h"],[73215,0," "],[73216,0,"o"],[73217,0,"f"],[73218,0," "],[73219,0,"t"],[73220,0,"h"],[73221,0,"e"],[73222,0," "],[73223,0,"d"],[73224,0,"a"],[73225,0,"t"],[73226,0,"a"],[73227,0,"s"],[73228,0,"t"],[73229,0,"r"],[73230,0,"u"],[73231,0,"c"],[73232,0,"t"],[73233,0,"u"],[73234,0,"r"],[73235,0,"e"],[73236,0,"."],[2143,0,"i"],[2144,0,","],[2145,0," "],[2145,1],[2144,1],[2143,1],[2143,0,","],[2144,0," "],[2145,0,"o"],[2146,0,"n"],[2147,0," "],[2148,0,"m"],[2149,0,"o"],[2150,0,"b"],[2151,0,"i"],[2152,0,"l"],[2153,0,"e"],[2154,0," "],[2155,0,"s"],[2156,0,"y"],[2157,0,"s"],[2158,0,"t"],[2159,0,"e"],[2160,0,"m"],[2161,0,"s"],[2162,0," "],[2163,0,"w"],[2164,0,"h"],[2165,0,"i"],[2166,0,"c"],[2167,0,"h"],[2168,0," "],[2169,0,"s"],[2170,0,"u"],[2171,0,"u"],[2171,1],[2171,0,"f"],[2172,0,"f"],[2173,0,"e"],[2174,0,"r"],[2175,0," "],[2176,0,"f"],[2177,0,"r"],[2178,0,"o"],[2179,0,"m"],[2180,0," "],[2181,0,"p"],[2182,0,"e"],[2183,0,"r"],[2184,0,"i"],[2185,0,"o"],[2186,0,"d"],[2187,0,"s"],[2188,0," "],[2189,0,"o"],[2190,0,"f"],[2191,0," "],[2192,0,"d"],[2193,0,"i"],[2194,0,"s"],[2195,0,"c"],[2196,0,"o"],[2197,0,"n"],[2198,0,"n"],[2199,0,"e"],[2200,0,"c"],[2201,0,"t"],[2202,0,"i"],[2203,0,"v"],[2204,0,"i"],[2205,0,"t"],[2206,0,"y"],[2207,0,","],[2161,1],[2160,1],[2159,1],[2158,1],[2157,1],[2156,1],[2155,1],[2155,0,"d"],[2156,0,"e"],[2157,0,"v"],[2158,0,"i"],[2159,0,"c"],[2160,0,"e"],[2161,0,"s"],[2145,0,"d"],[2146,0,"w"],[2147,0,"d"],[2210,1],[2209,1],[2208,1],[2207,1],[2206,1],[2205,1],[2204,1],[2203,1],[2202,1],[2201,1],[2200,1],[2199,1],[2198,1],[2197,1],[2196,1],[2195,1],[2194,1],[2193,1],[2192,1],[2191,1],[2190,1],[2189,1],[2188,1],[2187,1],[2186,1],[2185,1],[2184,1],[2183,1],[2182,1],[2181,1],[2180,1],[2179,1],[2178,1],[2177,1],[2176,1],[2175,1],[2174,1],[2173,1],[2172,1],[2171,1],[2170,1],[2169,1],[2168,1],[2167,1],[2166,1],[2165,1],[2164,1],[2163,1],[2162,1],[2161,1],[2160,1],[2159,1],[2158,1],[2157,1],[2156,1],[2155,1],[2154,1],[2153,1],[2152,1],[2151,1],[2150,1],[2149,1],[2148,1],[2147,1],[2146,1],[2145,1],[2144,1],[2197,0,"i"],[2197,1],[2197,0," "],[2198,0,"M"],[2199,0,"e"],[2200,0,"r"],[2201,0,"g"],[2202,0,"i"],[2203,0,"n"],[2204,0,"g"],[2205,0," "],[2205,1],[2204,1],[2203,1],[2202,1],[2201,1],[2200,1],[2199,1],[2198,1],[2198,0,"T"],[2199,0,"h"],[2200,0,"e"],[2201,0," "],[2202,0,"m"],[2203,0,"e"],[2204,0,"r"],[2205,0,"g"],[2206,0,"i"],[2207,0,"n"],[2208,0,"g"],[2208,1],[2207,1],[2206,1],[2205,1],[2204,1],[2203,1],[2202,1],[2201,1],[2200,1],[2199,1],[2198,1],[2198,0,"O"],[2199,0,"u"],[2200,0,"r"],[2201,0," "],[2202,0,"s"],[2203,0,"o"],[2204,0,"l"],[2205,0,"u"],[2206,0,"t"],[2207,0,"i"],[2208,0,"o"],[2209,0,"n"],[2210,0," "],[2211,0,"i"],[2212,0,"s"],[2213,0," "],[2214,0,"p"],[2215,0,"a"],[2216,0,"r"],[2217,0,"t"],[2218,0,"i"],[2219,0,"c"],[2220,0,"u"],[2221,0,"l"],[2222,0,"a"],[2223,0,"r"],[2224,0,"l"],[2225,0,"y"],[2226,0," "],[2226,1],[2225,1],[2224,1],[2223,1],[2222,1],[2221,1],[2220,1],[2219,1],[2218,1],[2217,1],[2216,1],[2215,1],[2214,1],[2213,1],[2212,1],[2211,1],[2210,1],[2209,1],[2208,1],[2207,1],[2206,1],[2205,1],[2204,1],[2203,1],[2202,1],[2201,1],[2200,1],[2199,1],[2198,1],[2197,1],[2197,0,"\n"],[2198,0,"%"],[2199,0,"T"],[2200,0,"O"],[2201,0,"D"],[2202,0,"O"],[2203,0," "],[2204,0,"m"],[2205,0,"e"],[2206,0,"n"],[2207,0,"t"],[2208,0,"i"],[2209,0,"o"],[2210,0,"n"],[2211,0," "],[2212,0,"h"],[2213,0,"e"],[2214,0,"r"],[2215,0,"e"],[2216,0," "],[2217,0,"s"],[2218,0,"o"],[2219,0,"m"],[2219,1],[2218,1],[2217,1],[2217,0,"t"],[2218,0,"h"],[2219,0,"a"],[2220,0,"t"],[2221,0," "],[2222,0,"w"],[2223,0,"e"],[2224,0," "],[2225,0,"s"],[2226,0,"h"],[2227,0,"o"],[2228,0,"u"],[2229,0,"l"],[2230,0,"d"],[2231,0," "],[2232,0,"s"],[2233,0,"u"],[2234,0,"p"],[2235,0,"p"],[2236,0,"o"],[2237,0,"r"],[2238,0,"t"],[2239,0," "],[2239,1],[2238,1],[2237,1],[2236,1],[2235,1],[2234,1],[2233,1],[2232,1],[2231,1],[2230,1],[2229,1],[2228,1],[2227,1],[2226,1],[2225,1],[2224,1],[2223,1],[2222,1],[2222,0,"t"],[2223,0,"h"],[2224,0,"i"],[2225,0,"s"],[2226,0," "],[2227,0,"i"],[2228,0,"s"],[2229,0," "],[2230,0,"p"],[2231,0,"a"],[2232,0,"r"],[2233,0,"t"],[2234,0,"i"],[2235,0,"c"],[2236,0,"u"],[2237,0,"l"],[2238,0,"a"],[2239,0,"r"],[2240,0,"l"],[2241,0,"y"],[2242,0," "],[2243,0,"u"],[2244,0,"s"],[2245,0,"e"],[2246,0,"f"],[2247,0,"u"],[2248,0,"l"],[2249,0," "],[2250,0,"f"],[2251,0,"o"],[2252,0,"r"],[2253,0," "],[2254,0,"m"],[2255,0,"o"],[2256,0,"b"],[2257,0,"i"],[2258,0,"l"],[2259,0,"e"],[2260,0," "],[2261,0,"s"],[2262,0,"y"],[2263,0,"s"],[2264,0,"t"],[2265,0,"e"],[2266,0,"m"],[2267,0,"s"],[2268,0," "],[2269,0,"w"],[2270,0,"i"],[2271,0,"c"],[2272,0,"h"],[2273,0," "],[2273,1],[2272,1],[2271,1],[2270,1],[2270,0,"h"],[2271,0,"i"],[2272,0,"c"],[2273,0,"h"],[2274,0," "],[2275,0,"a"],[2276,0,"l"],[2277,0,"s"],[2278,0,"o"],[2279,0," "],[2280,0,"s"],[2280,1],[2279,1],[2278,1],[2277,1],[2276,1],[2275,1],[2275,0,"s"],[2276,0,"u"],[2277,0,"p"],[2278,0,"p"],[2278,1],[2277,1],[2277,0,"f"],[2278,0,"f"],[2279,0,"e"],[2280,0,"r"],[2281,0," "],[2282,0,"p"],[2283,0,"e"],[2284,0,"r"],[2285,0,"i"],[2286,0,"o"],[2287,0,"d"],[2288,0,"s"],[2289,0," "],[2290,0,"o"],[2291,0,"f"],[2292,0," "],[2293,0,"d"],[2294,0,"i"],[2295,0,"s"],[2296,0,"c"],[2297,0,"o"],[2298,0,"n"],[2299,0,"n"],[2300,0,"e"],[2301,0,"t"],[2301,1],[2301,0,"c"],[2302,0,"t"],[2303,0,"i"],[2304,0,"v"],[2305,0,"i"],[2306,0,"t"],[2307,0,"y"],[2308,0," "],[2309,0,"a"],[2310,0,"n"],[2311,0,"d"],[2312,0," "],[2313,0,"a"],[2314,0,"l"],[2315,0,"s"],[2316,0,"o"],[2317,0," "],[2318,0,"u"],[2319,0,"s"],[2320,0,"e"],[2321,0," "],[2322,0,"m"],[2323,0,"u"],[2324,0,"l"],[2325,0,"t"],[2326,0,"i"],[2327,0,"p"],[2328,0,"l"],[2329,0,"e"],[2330,0," "],[2331,0,"i"],[2332,0,"n"],[2333,0,"t"],[2334,0,"e"],[2335,0,"r"],[2336,0,"f"],[2337,0,"a"],[2338,0,"c"],[2339,0,"e"],[2340,0,"s"],[2341,0," "],[2342,0,"("],[2343,0,"w"],[2344,0,"h"],[2345,0,"i"],[2346,0,"c"],[2347,0,"h"],[2348,0," "],[2349,0,"m"],[2350,0,"e"],[2351,0,"s"],[2352,0,"s"],[2353,0,"e"],[2354,0,"s"],[2355,0,"s"],[2356,0," "],[2357,0,"w"],[2357,1],[2356,1],[2355,1],[2354,1],[2354,0," "],[2354,1],[2354,0,"s"],[2355,0," "],[2356,0,"w"],[2357,0,"i"],[2358,0,"t"],[2359,0,"h"],[2360,0," "],[2361,0,"o"],[2362,0,"r"],[2363,0,"d"],[2364,0,"e"],[2365,0,"r"],[2366,0,"i"],[2367,0,"n"],[2368,0,"g"],[2369,0,")"],[2370,0,"?"],[2683,0,"i"],[2684,0,"c"],[2685,0,"o"],[2685,1],[2684,1],[2683,1],[2683,0,"c"],[2684,0,"o"],[2685,0,"l"],[2686,0,"l"],[2687,0,"a"],[2688,0,"b"],[2689,0,"o"],[2690,0,"r"],[2691,0,"a"],[2692,0,"t"],[2693,0,"i"],[2694,0,"v"],[2695,0,"e"],[2696,0," "],[2695,1],[2694,1],[2693,1],[2692,1],[2691,1],[2690,1],[2689,1],[2688,1],[2687,1],[2686,1],[2685,1],[2684,1],[2683,1],[2682,1],[3040,0,"i"],[3040,1],[3040,0," "],[3041,0,"w"],[3042,0,"i"],[3043,0,"t"],[3044,0,"h"],[3045,0," "],[3046,0,"t"],[3047,0,"h"],[3048,0,"e"],[3049,0,"s"],[3050,0,"e"],[3051,0," "],[3052,0,"a"],[3053,0,"p"],[3054,0,"p"],[3055,0,"l"],[3056,0,"i"],[3057,0,"c"],[3058,0,"a"],[3059,0,"t"],[3060,0,"i"],[3061,0,"o"],[3062,0,"n"],[3063,0,"s"],[3064,0," "],[3065,0,"a"],[3066,0,"s"],[3067,0," "],[3068,0,"w"],[3069,0,"e"],[3070,0,"l"],[3071,0,"l"],[3072,0," "],[3073,0,"a"],[3074,0,"s"],[3074,1],[3073,1],[3072,1],[3071,1],[3070,1],[3069,1],[3068,1],[3067,1],[3066,1],[3065,1],[3064,1],[3063,1],[3062,1],[3061,1],[3060,1],[3059,1],[3058,1],[3057,1],[3056,1],[3055,1],[3054,1],[3053,1],[3052,1],[3051,1],[3050,1],[3049,1],[3048,1],[3047,1],[3046,1],[3045,1],[3044,1],[3043,1],[3042,1],[3041,1],[3040,1],[3128,0,"\n"],[3128,0,"T"],[3129,0,"O"],[3130,0,"D"],[3131,0,"O"],[3128,0,"%"],[3133,0," "],[3134,0,"T"],[3135,0,"h"],[3136,0,"i"],[3137,0,"s"],[3138,0," "],[3139,0,"s"],[3140,0,"e"],[3141,0,"e"],[3142,0,"m"],[3143,0,"s"],[3144,0," "],[3145,0,"l"],[3146,0,"i"],[3147,0,"k"],[3148,0,"e"],[3149,0," "],[3150,0,"a"],[3151,0," "],[3152,0,"c"],[3152,1],[3152,0,"f"],[3153,0,"a"],[3154,0,"l"],[3155,0,"s"],[3156,0,"e"],[3157,0," "],[3158,0,"d"],[3159,0,"i"],[3160,0,"c"],[3161,0,"o"],[3161,1],[3161,0,"h"],[3162,0,"o"],[3163,0,"t"],[3164,0,"o"],[3165,0,"m"],[3166,0,"y"],[3167,0," "],[3168,0,"t"],[3169,0,"o"],[3170,0," "],[3171,0,"m"],[3172,0,"e"],[3173,0,":"],[3174,0," "],[3175,0,"s"],[3176,0,"o"],[3177,0,"m"],[3178,0,"e"],[3179,0," "],[3180,0,"t"],[3181,0,"e"],[3182,0,"x"],[3183,0,"t"],[3184,0," "],[3185,0,"d"],[3186,0,"o"],[3187,0,"c"],[3188,0,"u"],[3189,0,"m"],[3190,0,"e"],[3191,0,"n"],[3192,0,"t"],[3193,0,"s"],[3194,0," "],[3195,0,"a"],[3196,0,"r"],[3197,0,"e"],[3198,0," "],[3199,0,"f"],[3200,0,"o"],[3201,0,"r"],[3202,0," "],[3203,0,"a"],[3204,0," "],[3205,0,"s"],[3206,0,"i"],[3207,0,"n"],[3208,0,"g"],[3209,0,"l"],[3210,0,"e"],[3211,0," "],[3212,0,"u"],[3213,0,"s"],[3214,0,"e"],[3215,0,"r"],[3216,0," "],[3217,0,"m"],[3218,0,"e"],[3219,0,"r"],[3220,0,"g"],[3221,0,"e"],[3222,0,"d"],[3223,0," "],[3224,0,"a"],[3225,0,"c"],[3226,0,"r"],[3227,0,"o"],[3228,0,"s"],[3229,0,"s"],[3230,0," "],[3231,0,"t"],[3232,0,"h"],[3233,0,"e"],[3234,0,"r"],[3234,1],[3234,0,"i"],[3235,0,"r"],[3236,0," "],[3237,0,"d"],[3238,0,"e"],[3239,0,"v"],[3240,0,"i"],[3241,0,"c"],[3242,0,"e"],[3242,1],[3241,1],[3240,1],[3239,1],[3238,1],[3237,1],[3236,1],[3235,1],[3234,1],[3233,1],[3232,1],[3231,1],[3230,1],[3229,1],[3228,1],[3227,1],[3226,1],[3225,1],[3224,1],[3223,1],[3222,1],[3221,1],[3220,1],[3219,1],[3218,1],[3217,1],[3216,1],[3216,0,","],[3217,0," "],[3218,0,"r"],[3219,0,"e"],[3220,0,"p"],[3221,0,"l"],[3222,0,"i"],[3223,0,"c"],[3224,0,"a"],[3225,0,"t"],[3226,0,"e"],[3227,0,"d"],[3228,0," "],[3229,0,"a"],[3230,0,"c"],[3231,0,"r"],[3232,0,"o"],[3233,0,"s"],[3234,0,"s"],[3235,0," "],[3236,0,"t"],[3237,0,"h"],[3238,0,"e"],[3239,0,"i"],[3240,0,"r"],[3241,0," "],[3242,0,"d"],[3243,0,"e"],[3244,0,"v"],[3245,0,"i"],[3246,0,"c"],[3247,0,"e"],[3248,0,","],[3249,0," "],[3250,0,"y"],[3251,0,"e"],[3252,0,"t"],[3253,0," "],[3253,1],[3252,1],[3251,1],[3250,1],[3250,0,"a"],[3251,0,"j"],[3252,0,"d"],[3252,1],[3251,1],[3251,0,"n"],[3252,0,"d"],[3253,0," "],[3254,0,"c"],[3255,0,"a"],[3256,0,"l"],[3257,0,"e"],[3258,0,"n"],[3259,0,"d"],[3260,0,"a"],[3261,0,"r"],[3262,0,"s"],[3263,0," "],[3264,0,"a"],[3265,0,"r"],[3266,0,"e"],[3267,0," "],[3268,0,"o"],[3269,0,"f"],[3270,0,"t"],[3271,0,"e"],[3272,0,"n"],[3273,0," "],[3274,0,"c"],[3275,0,"o"],[3276,0,"l"],[3277,0,"l"],[3278,0,"a"],[3279,0,"b"],[3280,0,"o"],[3281,0,"r"],[3282,0,"a"],[3283,0,"t"],[3284,0,"i"],[3285,0,"v"],[3286,0,"e"],[3287,0,"."],[3288,0,"."],[3289,0,"."],[3448,0,"d"],[3449,0,"w"],[3477,1],[3476,1],[3475,1],[3474,1],[3473,1],[3472,1],[3471,1],[3470,1],[3469,1],[3468,1],[3467,1],[3466,1],[3465,1],[3464,1],[3463,1],[3462,1],[3461,1],[3460,1],[3459,1],[3458,1],[3457,1],[3456,1],[3455,1],[3454,1],[3453,1],[3452,1],[3451,1],[3450,1],[3449,1],[3448,1],[3448,0,"T"],[3496,0," "],[3497,0,"s"],[3498,0,"e"],[3499,0,"r"],[3500,0,"i"],[3501,0,"a"],[3502,0,"l"],[3503,0,"i"],[3504,0,"z"],[3505,0,"a"],[3506,0,"b"],[3507,0,"i"],[3508,0,"l"],[3509,0,"i"],[3510,0,"t"],[3511,0,"y"],[3512,0,","],[3677,1],[3676,1],[3675,1],[3674,1],[3681,0," "],[3682,0,"a"],[3683,0,"v"],[3684,0,"a"],[3685,0,"i"],[3686,0,"l"],[3687,0,"a"],[3688,0,"b"],[3689,0,"i"],[3690,0,"l"],[3691,0,"i"],[3692,0,"t"],[3693,0,"y"],[3860,1],[3859,1],[3859,0,"t"],[3860,0,"o"],[3870,1],[3869,1],[3869,0,"e"],[3869,1],[3868,1],[3868,0,"e"],[3907,1],[3906,1],[3905,1],[3904,1],[3903,1],[3902,1],[3901,1],[3900,1],[3899,1],[3916,1],[3915,1],[3914,1],[3913,1],[3913,0,"w"],[3914,0,"h"],[3915,0,"e"],[3916,0,"n"],[3918,0,"a"],[3919,0," "],[3936,1],[3935,1],[3935,0,"s"],[3934,1],[4129,0,"i"],[4129,1],[4129,0," "],[4130,0,"a"],[4131,0,"n"],[4132,0,"d"],[4133,0," "],[4134,0,"t"],[4135,0,"h"],[4136,0,"e"],[4137,0,"r"],[4138,0,"e"],[4139,0,"f"],[4140,0,"o"],[4141,0,"r"],[4142,0,"e"],[4143,0," "],[4144,0,"s"],[4145,0,"h"],[4146,0,"o"],[4147,0,"u"],[4148,0,"l"],[4149,0,"d"],[4150,0," "],[4151,0,"b"],[4152,0,"e"],[4154,0,"a"],[4155,0,"v"],[4156,0,"o"],[4157,0,"i"],[4158,0,"d"],[4159,0,"e"],[4160,0,"d"],[4161,0," "],[4162,0,"w"],[4163,0,"h"],[4164,0,"e"],[4165,0,"v"],[4165,1],[4165,0,"n"],[4166,0,"e"],[4167,0,"v"],[4168,0,"e"],[4169,0,"r"],[4170,0," "],[4171,0,"p"],[4172,0,"o"],[4173,0,"s"],[4174,0,"s"],[4175,0,"i"],[4176,0,"b"],[4177,0,"l"],[4178,0,"e"],[4179,0,"."],[4180,0,"\n"],[4240,1],[4239,1],[4238,1],[4237,1],[4236,1],[4235,1],[4234,1],[4233,1],[4232,1],[4231,1],[4230,1],[4229,1],[4228,1],[4227,1],[4226,1],[4225,1],[4224,1],[4223,1],[4222,1],[4221,1],[4220,1],[4219,1],[4218,1],[4217,1],[4216,1],[4215,1],[4214,1],[4213,1],[4212,1],[4211,1],[4210,1],[4209,1],[4208,1],[4207,1],[4206,1],[4205,1],[4204,1],[4203,1],[4202,1],[4201,1],[4200,1],[4199,1],[4198,1],[4197,1],[4196,1],[4195,1],[4194,1],[4193,1],[4192,1],[4191,1],[4190,1],[4189,1],[4188,1],[4187,1],[4186,1],[4185,1],[4184,1],[4183,1],[4182,1],[4181,1],[4180,1],[4642,0,"\n"],[4643,0,"%"],[4644,0,"T"],[4645,0,"O"],[4646,0,"D"],[4647,0,"O"],[4648,0," "],[4649,0,"w"],[4650,0,"h"],[4651,0,"i"],[4652,0,"l"],[4653,0,"e"],[4654,0," "],[4655,0,"i"],[4656,0,"t"],[4657,0," "],[4658,0,"i"],[4659,0,"s"],[4660,0," "],[4661,0,"t"],[4662,0,"r"],[4663,0,"u"],[4664,0,"e"],[4665,0," "],[4666,0,"t"],[4666,1],[4665,1],[4664,1],[4663,1],[4662,1],[4662,0,"e"],[4663,0,"c"],[4664,0,"h"],[4665,0,"n"],[4666,0,"i"],[4667,0,"c"],[4668,0,"a"],[4669,0,"l"],[4670,0,"l"],[4671,0,"y"],[4672,0," "],[4673,0,"t"],[4674,0,"r"],[4675,0,"u"],[4676,0," "],[4676,1],[4676,0,"e"],[4677,0," "],[4678,0,"t"],[4679,0,"h"],[4680,0,"a"],[4681,0,"t"],[4682,0," "],[4683,0,"w"],[4684,0,"e"],[4685,0," "],[4686,0,"a"],[4687,0,"u"],[4688,0,"t"],[4689,0,"o"],[4690,0,"m"],[4691,0,"a"],[4692,0,"t"],[4693,0,"i"],[4694,0,"c"],[4695,0,"a"],[4696,0,"l"],[4697,0,"l"],[4698,0,"y"],[4699,0," "],[4700,0,"m"],[4701,0,"e"],[4702,0,"r"],[4703,0,"g"],[4704,0,"e"],[4705,0," "],[4706,0,"c"],[4707,0,"o"],[4708,0,"n"],[4709,0,"n"],[4710,0,"c"],[4711,0,"u"],[4712,0,"r"],[4713,0,"r"],[4714,0,"e"],[4715,0,"n"],[4716,0,"t"],[4717,0," "],[4718,0,"m"],[4719,0,"o"],[4720,0,"d"],[4721,0,"s"],[4722,0,","],[4723,0," "],[4724,0,"w"],[4725,0,"e"],[4726,0," "],[4727,0,"d"],[4728,0,"o"],[4729,0," "],[4730,0,"t"],[4731,0,"h"],[4732,0,"i"],[4733,0,"s"],[4734,0," "],[4735,0,"b"],[4736,0,"y"],[4737,0," "],[4738,0,"i"],[4739,0,"n"],[4740,0,"t"],[4741,0,"r"],[4742,0,"o"],[4743,0,"d"],[4744,0,"u"],[4745,0,"c"],[4746,0,"t"],[4746,1],[4746,0,"i"],[4747,0,"n"],[4748,0,"g"],[4749,0," "],[4750,0,"m"],[4751,0,"u"],[4752,0,"l"],[4753,0,"t"],[4754,0,"i"],[4755,0,"-"],[4756,0,"v"],[4757,0,"a"],[4758,0,"l"],[4759,0,"u"],[4760,0,"e"],[4761,0,"d"],[4762,0," "],[4763,0,"r"],[4764,0,"e"],[4765,0,"g"],[4766,0,"i"],[4767,0,"s"],[4768,0,"t"],[4769,0,"e"],[4770,0,"r"],[4771,0,"e"],[4772,0,"d"],[4772,1],[4771,1],[4771,0,"s"],[4772,0," "],[4773,0,"w"],[4774,0,"h"],[4775,0,"i"],[4776,0,"c"],[4777,0,"h"],[4778,0," "],[4779,0,"t"],[4780,0,"h"],[4781,0,"e"],[4781,1],[4780,1],[4779,1],[4779,0,"t"],[4780,0,"h"],[4781,0,"e"],[4782,0,"n"],[4783,0," "],[4784,0,"r"],[4785,0,"e"],[4786,0,"q"],[4787,0,"u"],[4788,0,"i"],[4789,0,"r"],[4790,0,"e"],[4791,0," "],[4792,0,"a"],[4793,0,"p"],[4794,0,"p"],[4795,0,"l"],[4796,0,"i"],[4797,0,"c"],[4798,0,"a"],[4799,0,"t"],[4800,0,"i"],[4801,0,"o"],[4802,0,"n"],[4803,0," "],[4804,0,"s"],[4805,0,"p"],[4806,0,"e"],[4807,0,"i"],[4808,0,"c"],[4809,0,"i"],[4810,0,"f"],[4810,1],[4809,1],[4808,1],[4807,1],[4807,0,"c"],[4808,0,"i"],[4809,0,"f"],[4810,0,"i"],[4811,0,"c"],[4812,0," "],[4813,0,"s"],[4814,0,"o"],[4815,0,"l"],[4816,0,"u"],[4817,0,"t"],[4818,0,"i"],[4819,0,"o"],[4820,0,"n"],[4821,0,"s"],[4822,0," "],[4823,0,"("],[4824,0,"a"],[4825,0,"n"],[4826,0,"d"],[4827,0," "],[4828,0,"p"],[4829,0,"o"],[4830,0,"s"],[4831,0,"s"],[4832,0,"i"],[4833,0,"b"],[4834,0,"l"],[4835,0,"y"],[4836,0," "],[4837,0,"u"],[4838,0,"s"],[4839,0,"e"],[4840,0,"r"],[4841,0," "],[4842,0,"i"],[4843,0,"n"],[4844,0,"t"],[4845,0,"e"],[4846,0,"r"],[4847,0,"v"],[4848,0,"e"],[4849,0,"n"],[4850,0,"t"],[4851,0,"i"],[4852,0,"o"],[4853,0,"n"],[4854,0,")"],[4855,0,"."],[4856,0," "],[4857,0,"C"],[4858,0,"a"],[4859,0,"n"],[4860,0," "],[4861,0,"w"],[4862,0,"e"],[4863,0," "],[4864,0,"c"],[4865,0,"o"],[4866,0,"n"],[4867,0,"v"],[4868,0,"e"],[4869,0,"u"],[4869,1],[4869,0,"y"],[4870,0," "],[4871,0,"t"],[4872,0,"h"],[4873,0,"i"],[4874,0,"s"],[4875,0," "],[4876,0,"c"],[4876,1],[4876,0,"s"],[4877,0,"u"],[4878,0,"b"],[4879,0,"t"],[4880,0,"l"],[4880,1],[4880,0,"e"],[4881,0,"l"],[4882,0,"t"],[4883,0,"y"],[4884,0," "],[4885,0,"a"],[4885,1],[4884,1],[4883,1],[4882,1],[4881,1],[4880,1],[4880,0,"l"],[4881,0,"e"],[4882,0,"t"],[4883,0,"y"],[4884,0," "],[4885,0,"a"],[4886,0,"t"],[4887,0," "],[4888,0,"t"],[4889,0,"h"],[4890,0,"i"],[4891,0,"s"],[4892,0," "],[4893,0,"p"],[4894,0,"o"],[4895,0,"i"],[4896,0,"n"],[4897,0,"t"],[4898,0,"?"],[9072,0,"x"],[9073,0,"x"],[9074,0,"x"],[9094,1],[9093,1],[9092,1],[9091,1],[9090,1],[9089,1],[9088,1],[9087,1],[9086,1],[9085,1],[9084,1],[9083,1],[9082,1],[9081,1],[9080,1],[9079,1],[9078,1],[9077,1],[9076,1],[9075,1],[9074,1],[9073,1],[9072,1],[9072,0,"i"],[9073,0,"N"],[9072,1],[9140,1],[9140,0,"."],[9221,0,"\n"],[9220,1],[9219,1],[9218,1],[9217,1],[9216,1],[9215,1],[9214,1],[9213,1],[9212,1],[9211,1],[9210,1],[9209,1],[9208,1],[9207,1],[9206,1],[9205,1],[9204,1],[9203,1],[9202,1],[9201,1],[9200,1],[9199,1],[9198,1],[9197,1],[9196,1],[9195,1],[9194,1],[9193,1],[9192,1],[9191,1],[9190,1],[9189,1],[9188,1],[9187,1],[9186,1],[9185,1],[9184,1],[9183,1],[9182,1],[9181,1],[9180,1],[9179,1],[9178,1],[9177,1],[9176,1],[9175,1],[9174,1],[9173,1],[9172,1],[9171,1],[9170,1],[9169,1],[9168,1],[9167,1],[9166,1],[9165,1],[9164,1],[9163,1],[9162,1],[9161,1],[9160,1],[9159,1],[9158,1],[9157,1],[9156,1],[9155,1],[9154,1],[9153,1],[9152,1],[9151,1],[9150,1],[9149,1],[9148,1],[9147,1],[9146,1],[9145,1],[9144,1],[9143,1],[9142,1],[9141,1],[9151,1],[9150,1],[9149,1],[9148,1],[9147,1],[9146,1],[9145,1],[9144,1],[9143,1],[9142,1],[9142,0,"C"],[9143,0,"o"],[9144,0,"n"],[9145,0,"s"],[9146,0,"e"],[9147,0,"q"],[9148,0,"u"],[9149,0,"e"],[9150,0,"n"],[9151,0,"t"],[9152,0,"l"],[9153,0,"y"],[9154,0," "],[9155,0,"t"],[9156,0,"h"],[9157,0,"e"],[9158,0," "],[9159,0,"l"],[9160,0,"o"],[9161,0,"n"],[9162,0,"g"],[9163,0,"-"],[9164,0,"t"],[9165,0,"e"],[9166,0,"r"],[9167,0,"m"],[9168,0," "],[9169,0,"g"],[9170,0,"o"],[9171,0,"a"],[9172,0,"l"],[9173,0," "],[9174,0,"o"],[9175,0,"f"],[9176,0," "],[9177,0,"o"],[9178,0,"u"],[9179,0,"r"],[9180,0," "],[9181,0,"w"],[9182,0,"o"],[9183,0,"r"],[9184,0,"k"],[9185,0," "],[9186,0,"i"],[9187,0,"s"],[9188,0," "],[9189,0,"t"],[9190,0,"o"],[9203,1],[9202,1],[9201,1],[9200,1],[9264,0,"i"],[9264,1],[9264,0,"i"],[9264,1],[9264,0," "],[9265,0,"b"],[9266,0,"y"],[9267,0," "],[9268,0,"p"],[9269,0,"r"],[9270,0,"o"],[9271,0,"v"],[9272,0,"i"],[9273,0,"d"],[9274,0,"i"],[9275,0,"n"],[9276,0,"g"],[9277,0," "],[9278,0,"a"],[9279,0," "],[9279,1],[9279,0,"n"],[9280,0," "],[9281,0,"a"],[9282,0,"l"],[9283,0,"g"],[9284,0,"o"],[9285,0,"r"],[9286,0,"i"],[9287,0,"t"],[9288,0,"h"],[9289,0," "],[9290,0,"m"],[9290,1],[9289,1],[9289,0,"m"],[9290,0," "],[9290,1],[9289,1],[9288,1],[9287,1],[9286,1],[9285,1],[9284,1],[9283,1],[9282,1],[9281,1],[9280,1],[9279,1],[9279,0," "],[9280,0,"g"],[9281,0,"e"],[9282,0,"n"],[9283,0,"e"],[9284,0,"r"],[9285,0,"a"],[9286,0,"l"],[9287,0," "],[9288,0,"a"],[9289,0,"l"],[9290,0,"g"],[9291,0,"o"],[9292,0,"r"],[9293,0,"i"],[9294,0,"t"],[9295,0,"h"],[9296,0,"m"],[9297,0," "],[9298,0,"t"],[9298,1],[9298,0,"f"],[9299,0,"o"],[9300,0,"r"],[9301,0," "],[9302,0,"c"],[9303,0,"o"],[9304,0,"n"],[9305,0,"f"],[9306,0,"i"],[9306,1],[9306,0,"l"],[9307,0,"i"],[9308,0,"c"],[9309,0,"t"],[9310,0," "],[9311,0,"r"],[9312,0,"e"],[9313,0,"s"],[9314,0,"o"],[9315,0,"l"],[9316,0,"u"],[9317,0,"t"],[9318,0,"i"],[9319,0,"o"],[9320,0,"n"],[9321,1],[9321,0," "],[9322,0,"w"],[9323,0,"i"],[9324,0,"t"],[9325,0,"h"],[9326,0," "],[9326,1],[9325,1],[9324,1],[9323,1],[9322,1],[9321,1],[9321,0,"."],[9322,0," "],[9323,0,"S"],[9324,0,"u"],[9325,0,"c"],[9326,0,"h"],[9327,0," "],[9328,0,"a"],[9329,0,"l"],[9329,1],[9329,0,"n"],[9330,0," "],[9331,0,"a"],[9332,0,"l"],[9333,0,"g"],[9334,0,"o"],[9335,0,"r"],[9336,0,"i"],[9337,0,"t"],[9338,0,"h"],[9339,0,"m"],[9340,0," "],[9341,0,"n"],[9342,0,"e"],[9343,0,"e"],[9344,0,"d"],[9345,0,"s"],[9346,0," "],[9347,0,"t"],[9348,0,"o"],[9349,0," "],[9350,0,"b"],[9351,0,"e"],[9352,0," "],[9352,1],[9351,1],[9350,1],[9349,1],[9348,1],[9347,1],[9346,1],[9345,1],[9344,1],[9343,1],[9342,1],[9341,1],[9341,0,"m"],[9342,0,"u"],[9343,0,"s"],[9344,0,"t"],[9345,0," "],[9346,0,"b"],[9347,0,"e"],[9348,0," "],[9349,0,"a"],[9350,0,"m"],[9351,0,"e"],[9352,0,"n"],[9353,0,"a"],[9354,0,"b"],[9355,0,"l"],[9356,0,"e"],[9357,0," "],[9358,0,"t"],[9359,0,"o"],[9360,0," "],[9360,1],[9359,1],[9358,1],[9357,1],[9356,1],[9355,1],[9354,1],[9353,1],[9352,1],[9351,1],[9350,1],[9349,1],[9348,1],[9347,1],[9346,1],[9345,1],[9344,1],[9343,1],[9342,1],[9341,1],[9340,1],[9339,1],[9338,1],[9337,1],[9336,1],[9335,1],[9334,1],[9333,1],[9332,1],[9331,1],[9330,1],[9329,1],[9328,1],[9327,1],[9326,1],[9325,1],[9324,1],[9323,1],[9322,1],[9321,1],[9321,0," "],[9322,0,"t"],[9323,0,"h"],[9324,0,"a"],[9325,0,"t"],[9326,0," "],[9327,0,"i"],[9328,0,"s"],[9329,0," "],[9330,0,"a"],[9331,0,"m"],[9332,0,"e"],[9333,0,"n"],[9334,0,"a"],[9335,0,"b"],[9336,0,"l"],[9337,0,"e"],[9338,0," "],[9339,0,"t"],[9340,0,"o"],[9341,0," "],[9342,0,"e"],[9343,0,"m"],[9344,0,"b"],[9345,0,"e"],[9346,0,"d"],[9347,0,"d"],[9348,0,"i"],[9349,0,"n"],[9350,0,"g"],[9351,0," "],[9351,1],[9350,1],[9349,1],[9348,1],[9347,1],[9346,1],[9345,1],[9344,1],[9343,1],[9343,0,"n"],[9344,0,"a"],[9345,0,"p"],[9346,0,"s"],[9347,0,"u"],[9348,0,"l"],[9349,0,"a"],[9350,0,"t"],[9351,0,"i"],[9352,0,"o"],[9353,0,"n"],[9354,0," "],[9355,0,"i"],[9356,0,"n"],[9357,0,"s"],[9358,0,"i"],[9359,0,"d"],[9360,0,"e"],[9361,0," "],[9362,0,"a"],[9363,0," "],[9364,0,"l"],[9365,0,"i"],[9366,0,"b"],[9367,0,"r"],[9368,0,"a"],[9369,0,"r"],[9370,0,"y"],[9362,1],[9361,1],[9360,1],[9359,1],[9358,1],[9357,1],[9356,1],[9355,1],[9354,1],[9353,1],[9352,1],[9351,1],[9350,1],[9349,1],[9348,1],[9347,1],[9346,1],[9345,1],[9344,1],[9343,1],[9342,1],[9341,1],[9340,1],[9339,1],[9338,1],[9337,1],[9336,1],[9335,1],[9334,1],[9333,1],[9332,1],[9331,1],[9330,1],[9329,1],[9328,1],[9327,1],[9326,1],[9325,1],[9324,1],[9323,1],[9322,1],[9322,0,"w"],[9323,0,"h"],[9324,0,"o"],[9325,0,"s"],[9326,0,"e"],[9327,0," "],[9328,0,"d"],[9329,0,"e"],[9330,0,"t"],[9331,0,"a"],[9332,0,"i"],[9333,0,"l"],[9334,0,"s"],[9335,0," "],[9336,0,"c"],[9337,0,"a"],[9338,0,"n"],[9339,0," "],[9340,0,"l"],[9341,0,"a"],[9342,0,"r"],[9343,0,"g"],[9344,0,"e"],[9345,0,"l"],[9346,0,"y"],[9347,0," "],[9348,0,"b"],[9349,0,"e"],[9350,0," "],[9351,0,"i"],[9352,0,"n"],[9352,1],[9351,1],[9351,0,"h"],[9352,0,"i"],[9353,0,"d"],[9354,0,"d"],[9355,0,"e"],[9356,0,"n"],[9357,0," "],[9358,0,"i"],[9359,0,"n"],[9360,0,"s"],[9361,0,"i"],[9362,0,"d"],[9363,0,"e"],[9364,0," "],[9365,0,"a"],[9366,0,"n"],[9367,0," "],[9368,0,"e"],[9369,0,"a"],[9370,0,"s"],[9371,0,"y"],[9372,0,"-"],[9373,0,"t"],[9374,0,"o"],[9375,0,"-"],[9376,0,"u"],[9377,0,"s"],[9378,0,"e"],[9379,0," "],[9380,0,"s"],[9381,0,"o"],[9382,0,"f"],[9383,0,"t"],[9384,0,"a"],[9384,1],[9384,0,"w"],[9385,0,"a"],[9386,0,"r"],[9387,0,"e"],[9396,0,"."],[9912,0,"\n"],[9913,0,"\n"],[9913,1],[9912,1],[9911,1],[9910,1],[9909,1],[9908,1],[9952,1],[9951,1],[9950,1],[9950,0,"b"],[9951,0,"y"],[12223,1],[12222,1],[12221,1],[12220,1],[12219,1],[12218,1],[12218,0,"s"],[12219,0,"u"],[12220,0,"p"],[12221,0,"p"],[12222,0,"o"],[12223,0,"r"],[12224,0,"t"],[12237,1],[12236,1],[12244,1],[12243,1],[12243,0,"c"],[12244,0,"a"],[12245,0,"t"],[12246,0,"i"],[12247,0,"o"],[12248,0,"n"],[74029,0," "],[74030,0,"T"],[74031,0,"h"],[74032,0,"a"],[74033,0,"n"],[74034,0,"k"],[74035,0," "],[74036,0,"y"],[74037,0,"o"],[74038,0,"u"],[74039,0," "],[74040,0,"t"],[74041,0,"o"],[74042,0," "],[74043,0,"D"],[74044,0,"i"],[74045,0,"a"],[74046,0,"n"],[74047,0,"a"],[74048,0," "],[74049,0,"V"],[74050,0,"a"],[74051,0,"s"],[74052,0,"i"],[74053,0,"l"],[74054,0,"e"],[74055,0," "],[74056,0,"f"],[74057,0,"o"],[74058,0,"r"],[74059,0," "],[74060,0,"c"],[74061,0,"o"],[74062,0,"m"],[74063,0,"m"],[74064,0,"e"],[74065,0,"n"],[74066,0,"t"],[74067,0,"s"],[74068,0," "],[74069,0,"o"],[74070,0,"n"],[74071,0," "],[74072,0,"a"],[74073,0," "],[74074,0,"d"],[74075,0,"r"],[74076,0,"a"],[74077,0,"f"],[74078,0,"t"],[74079,0," "],[74080,0,"o"],[74081,0,"f"],[74082,0," "],[74083,0,"t"],[74084,0,"h"],[74085,0,"i"],[74086,0,"s"],[74087,0," "],[74088,0,"p"],[74089,0,"a"],[74090,0,"p"],[74091,0,"e"],[74092,0,"r"],[74093,0,"."],[74043,0,"D"],[74044,0,"o"],[74045,0,"m"],[74046,0,"i"],[74047,0,"n"],[74048,0,"i"],[74049,0,"c"],[74050,0," "],[74051,0,"O"],[74052,0,"r"],[74053,0,"c"],[74054,0,"h"],[74055,0,"a"],[74056,0,"r"],[74057,0,"d"],[74058,0," "],[74059,0,"a"],[74060,0,"n"],[74061,0,"d"],[74062,0," "],[1568,1],[1567,1],[1566,1],[1565,1],[1564,1],[1563,1],[1562,1],[1561,1],[1560,1],[1559,1],[1558,1],[1557,1],[1556,1],[1555,1],[1554,1],[1553,1],[1552,1],[1551,1],[1550,1],[1549,1],[1548,1],[1547,1],[1546,1],[1545,1],[1544,1],[1616,0,","],[1617,0," "],[1618,0,"i"],[1619,0,"t"],[1620,0," "],[1621,0,"i"],[1622,0,"s"],[1623,0," "],[1624,0,"u"],[1625,0,"n"],[1626,0,"c"],[1627,0,"l"],[1628,0,"e"],[1629,0,"a"],[1630,0,"r"],[1631,0," "],[1632,0,"w"],[1633,0,"h"],[1634,0,"a"],[1635,0,"t"],[1636,0," "],[1637,0,"t"],[1638,0,"h"],[1639,0,"e"],[1640,0," "],[1641,0,"s"],[1642,0,"e"],[1643,0,"m"],[1644,0,"a"],[1645,0,"n"],[1646,0,"t"],[1647,0,"i"],[1648,0,"c"],[1649,0,"s"],[1650,0," "],[1651,0,"s"],[1652,0,"h"],[1653,0,"o"],[1654,0,"u"],[1655,0,"l"],[1656,0,"d"],[1657,0," "],[1658,0,"b"],[1659,0,"e"],[2493,0,"O"],[2494,0,"p"],[2495,0,"e"],[2496,0,"r"],[2497,0,"a"],[2498,0,"t"],[2499,0,"i"],[2500,0,"o"],[2501,0,"n"],[2502,0,"a"],[2503,0,"l"],[2504,0," "],[7804,1],[7803,1],[7802,1],[7801,1],[7800,1],[7799,1],[7799,0,"d"],[7800,0,"e"],[7801,0,"f"],[7802,0,"i"],[7803,0,"n"],[7804,0,"e"],[7826,1],[7825,1],[7824,1],[7823,1],[7822,1],[7831,1],[7830,1],[7830,0,"i"],[7831,0,"n"],[7832,0,"g"],[25278,1],[25277,1],[25276,1],[25275,1],[25274,1],[25273,1],[25272,1],[25271,1],[25270,1],[25269,1],[25268,1],[25267,1],[25266,1],[25265,1],[25264,1],[25263,1],[25262,1],[25262,0,"i"],[25263,0,"s"],[25264,0," "],[25265,0,"k"],[25266,0,"e"],[25267,0,"y"],[25268,0,"-"],[25269,0,"v"],[25270,0,"a"],[25271,0,"l"],[25272,0,"u"],[25273,0,"e"],[25274,0," "],[25275,0,"t"],[25275,1],[25275,0,"s"],[25276,0,"t"],[25277,0,"r"],[25278,0,"u"],[25279,0,"c"],[25280,0,"t"],[25281,0,"u"],[25282,0,"r"],[25283,0,"e"],[25284,0," "],[25285,0,"i"],[25286,0,"s"],[25310,0,","],[37794,1],[37793,1],[37792,1],[37791,1],[37790,1],[37789,1],[37788,1],[37787,1],[37786,1],[37785,1],[37784,1],[37783,1],[37783,0,"e"],[37784,0,"v"],[37785,0,"a"],[37786,0,"l"],[37787,0,"u"],[37788,0,"a"],[37789,0,"t"],[37790,0,"i"],[37791,0,"o"],[37792,0,"n"],[37793,0," "],[37794,0,"r"],[37795,0,"u"],[37796,0,"l"],[37797,0,"e"],[37798,0,"s"],[37799,0," "],[37800,0,"o"],[37801,0,"f"],[37849,1],[37848,1],[37847,1],[37846,1],[37845,1],[37844,1],[37843,1],[37842,1],[37841,1],[37840,1],[37839,1],[37838,1],[37837,1],[37836,1],[37835,1],[37834,1],[37833,1],[37832,1],[37831,1],[37830,1],[37829,1],[37828,1],[37827,1],[37826,1],[37825,1],[37824,1],[37875,1],[37874,1],[37873,1],[37872,1],[37871,1],[37871,0,"t"],[37872,0,"h"],[37873,0,"e"],[37874,0,"y"],[46504,1],[46490,1],[46489,1],[46488,1],[46487,1],[46486,1],[46485,1],[46484,1],[46483,1],[46482,1],[46482,0,"r"],[46483,0,"u"],[46484,0,"l"],[46485,0,"e"],[46486,0,"s"],[46561,0,"a"],[46562,0,"l"],[46563,0,"r"],[46564,0,"e"],[46565,0,"a"],[46566,0,"d"],[46567,0,"y"],[46568,0," "],[51702,1],[51701,1],[51700,1],[51699,1],[51698,1],[51697,1],[51696,1],[51695,1],[51694,1],[51693,1],[51693,0,"i"],[51694,0,"r"],[51695,0," "],[51696,0,"e"],[51697,0,"f"],[51698,0,"f"],[51699,0,"e"],[51700,0,"c"],[51701,0,"t"],[73348,0," "],[73349,0,"u"],[73350,0,"n"],[73351,0,"d"],[73352,0,"e"],[73353,0,"r"],[73354,0,"s"],[73355,0,"t"],[73356,0,"a"],[73357,0,"n"],[73358,0,"d"],[73359,0," "],[73360,0,"t"],[73361,0,"h"],[73362,0,"e"],[73363,0," "],[73364,0,"e"],[73365,0,"x"],[73366,0,"p"],[73367,0,"e"],[73368,0,"c"],[73369,0,"t"],[73370,0,"a"],[73371,0,"t"],[73372,0,"i"],[73373,0,"o"],[73374,0,"n"],[73375,0,"s"],[73376,0," "],[73377,0,"o"],[73378,0,"f"],[73379,0," "],[73380,0,"a"],[73381,0,"p"],[73382,0,"p"],[73383,0,"l"],[73384,0,"i"],[73385,0,"c"],[73386,0,"a"],[73387,0,"t"],[73388,0,"i"],[73389,0,"o"],[73390,0,"n"],[73391,0," "],[73392,0,"p"],[73393,0,"r"],[73394,0,"o"],[73395,0,"g"],[73396,0,"r"],[73397,0,"a"],[73398,0,"m"],[73399,0,"m"],[73400,0,"e"],[73401,0,"r"],[73402,0,"s"],[73403,0," "],[73404,0,"a"],[73405,0,"n"],[73406,0,"d"],[73407,0," "],[73408,0,"t"],[73409,0,"o"],[73410,0," "],[73411,0,"d"],[73412,0,"e"],[73413,0,"s"],[73414,0,"i"],[73415,0,"g"],[73416,0,"n"],[73417,0," "],[73418,0,"d"],[73419,0,"a"],[73420,0,"t"],[73421,0,"a"],[73422,0," "],[73423,0,"s"],[73424,0,"t"],[73425,0,"r"],[73426,0,"u"],[73427,0,"c"],[73428,0,"t"],[73429,0,"u"],[73430,0,"r"],[73431,0,"e"],[73432,0,"s"],[73433,0," "],[73434,0,"t"],[73435,0,"h"],[73436,0,"a"],[73437,0,"t"],[73438,0," "],[73439,0,"a"],[73440,0,"r"],[73441,0,"e"],[73442,0," "],[73443,0,"m"],[73444,0,"i"],[73445,0,"n"],[73446,0,"i"],[73447,0,"m"],[73448,0,"a"],[73449,0,"l"],[73450,0," "],[73451,0,"s"],[73451,1],[73450,1],[73450,0,"l"],[73451,0,"y"],[73452,0," "],[73453,0,"s"],[73454,0,"u"],[73455,0,"r"],[73456,0,"p"],[73457,0,"r"],[73458,0,"i"],[73459,0,"s"],[73460,0,"i"],[73461,0,"n"],[73462,0,"g"],[73463,0," "],[73464,0,"u"],[73465,0,"n"],[73466,0,"d"],[73467,0,"e"],[73468,0,"r"],[73469,0," "],[73470,0,"c"],[73471,0,"o"],[73472,0,"n"],[73473,0,"c"],[73474,0,"u"],[73475,0,"r"],[73476,0,"r"],[73477,0,"e"],[73478,0,"n"],[73479,0,"t"],[73480,0," "],[73481,0,"m"],[73482,0,"o"],[73483,0,"d"],[73484,0,"i"],[73485,0,"f"],[73486,0,"i"],[73487,0,"c"],[73488,0,"a"],[73489,0,"t"],[73490,0,"i"],[73491,0,"o"],[73492,0,"n"],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73493,1],[73157,0,"i"],[73158,0,"i"],[73158,1],[73157,1],[3157,0,"s"],[17640,0," "],[17641,0,"b"],[17642,0,"e"],[17657,1],[17657,1],[17657,1],[1136,1],[1136,1],[1136,1],[1136,1],[1136,1],[1136,1],[1136,1],[1136,1],[1136,0,"M"],[1137,0,"a"],[1138,0,"r"],[1139,0,"t"],[1140,0,"i"],[1141,0,"n"],[1142,0," "],[1143,0,"K"],[1144,0,"l"],[1145,0,"e"],[1146,0,"p"],[1147,0,"p"],[1148,0,"m"],[1149,0,"a"],[1150,0,"n"],[1151,0,"n"],[1164,1],[1163,1],[1162,1],[1161,1],[1160,1],[1159,1],[1158,1],[1158,0,"l"],[1159,0,"a"],[1160,0,"s"],[1161,0,"t"],[1162,0,"a"],[1163,0,"i"],[1164,0,"r"],[1165,0," "],[1166,0,"R"],[1167,0,"."],[1168,0," "],[1169,0,"B"],[1170,0,"e"],[1171,0,"r"],[1172,0,"e"],[1173,0,"s"],[1174,0,"f"],[1175,0,"o"],[1176,0,"r"],[1177,0,"d"],[1215,1],[1214,1],[1213,1],[1212,1],[1211,1],[1210,1],[1209,1],[1208,1],[1207,1],[1206,1],[1205,1],[1204,1],[1203,1],[1202,1],[1201,1],[1200,1],[1199,1],[1198,1],[1197,1],[1196,1],[1195,1],[1194,1],[1193,1],[1192,1],[1191,1],[1190,1],[1189,1],[1188,1],[1187,1],[1187,0,"C"],[1188,0,"o"],[1189,0,"m"],[1190,0,"p"],[1191,0,"u"],[1192,0,"t"],[1193,0,"e"],[1194,0,"r"],[1195,0," "],[1196,0,"L"],[1197,0,"a"],[1198,0,"b"],[1199,0,"o"],[1200,0,"r"],[1201,0,"a"],[1202,0,"t"],[1203,0,"o"],[1204,0,"r"],[1205,0,"y"],[1206,0,","],[1207,0," "],[1208,0,"U"],[1209,0,"n"],[1210,0,"i"],[1211,0,"v"],[1212,0,"e"],[1213,0,"r"],[1214,0,"s"],[1215,0,"i"],[1216,0,"t"],[1217,0,"y"],[1218,0," "],[1219,0,"o"],[1220,0,"f"],[1221,0," "],[1222,0,"C"],[1223,0,"a"],[1224,0,"m"],[1225,0,"b"],[1226,0,"r"],[1227,0,"i"],[1228,0,"d"],[1229,0,"g"],[1230,0,"e"],[1231,0,","],[1232,0," "],[1233,0,"U"],[1234,0,"K"],[1235,0,"."],[1236,0,"\\"],[1237,0,"\\"],[1237,1],[1237,0,"p"],[1238,0,"r"],[1239,0,"o"],[1240,0,"t"],[1241,0,"e"],[1242,0,"c"],[1243,0,"t"],[1244,0,"\\"],[1245,0,"\\"],[1246,0,"\n"],[1247,0,"E"],[1248,0,"m"],[1249,0,"a"],[1250,0,"i"],[1251,0,"l"],[1252,0,":"],[1253,0," "],[1254,0,"\\"],[1255,0,"u"],[1256,0,"r"],[1257,0,"l"],[1258,0,"{"],[1259,0,"m"],[1260,0,"k"],[1261,0,"4"],[1262,0,"2"],[1263,0,"8"],[1264,0,"@"],[1265,0,"c"],[1266,0,"l"],[1267,0,"."],[1268,0,"c"],[1269,0,"a"],[1270,0,"m"],[1271,0,"."],[1272,0,"a"],[1273,0,"c"],[1274,0,"."],[1275,0,"u"],[1276,0,"k"],[1277,0,"}"],[1231,0," "],[1232,0,"C"],[1233,0,"o"],[1234,0,"m"],[1235,0,"p"],[1236,0,"u"],[1237,0,"t"],[1238,0,"e"],[1239,0,"r"],[1240,0," "],[1241,0,"L"],[1242,0,"a"],[1243,0,"b"],[1244,0,"o"],[1245,0,"r"],[1246,0,"a"],[1247,0,"t"],[1248,0,"o"],[1249,0,"r"],[1250,0,"y"],[1252,0," "],[1253,0,"C"],[1254,0,"a"],[1255,0,"n"],[1256,0,"m"],[1257,0,"b"],[1257,1],[1256,1],[1255,1],[1255,0,"m"],[1256,0,"b"],[1257,0,"r"],[1258,0,"i"],[1259,0,"d"],[1260,0,"g"],[1261,0,"e"],[1262,0,","],[1206,1],[1205,1],[1204,1],[1203,1],[1202,1],[1201,1],[1200,1],[1199,1],[1198,1],[1197,1],[1196,1],[1195,1],[1194,1],[1193,1],[1192,1],[1191,1],[1190,1],[1189,1],[1188,1],[1187,1],[1187,0,"M"],[1188,0,"."],[1189,0," "],[1190,0,"K"],[1191,0,"l"],[1192,0,"e"],[1193,0,"p"],[1194,0,"p"],[1195,0,"m"],[1196,0,"a"],[1197,0,"n"],[1198,0,"n"],[1199,0," "],[1200,0,"a"],[1201,0,"n"],[1202,0,"d"],[1203,0," "],[1204,0,"A"],[1205,0,"."],[1206,0," "],[1207,0,"B"],[1207,1],[1206,1],[1206,0," "],[1207,0,"B"],[1208,0,"e"],[1209,0,"r"],[1210,0,"e"],[1211,0,"s"],[1212,0,"f"],[1213,0,"o"],[1214,0,"r"],[1215,0,"d"],[1216,0," "],[1217,0,"a"],[1218,0,"r"],[1219,0,"e"],[1220,0," "],[1221,0,"w"],[1222,0,"i"],[1223,0,"t"],[1224,0,"h"],[1225,0," "],[1226,0,"t"],[1227,0,"h"],[1228,0,"e"],[1299,1],[1330,0,","],[1331,0," "],[1332,0,"\\"],[1333,0,"u"],[1334,0,"r"],[1335,0,"l"],[1336,0,"{"],[1337,0,"a"],[1338,0,"r"],[1339,0,"b"],[1340,0,"3"],[1341,0,"3"],[1342,0,"@"],[1343,0,"c"],[1344,0,"l"],[1345,0,"."],[1346,0,"c"],[1347,0,"a"],[1348,0,"m"],[1349,0,"."],[1350,0,"a"],[1351,0,"c"],[1352,0,"."],[1353,0,"u"],[1354,0,"k"],[1357,0,"}"],[1206,0,"R"],[1207,0,"."],[1358,0,"."],[75198,0," "],[75199,0,"$"],[75200,0,"n"],[75201,0,"$"],[75166,0," "],[75167,0,"$"],[75168,0,"H"],[75169,0,"_"],[75170,0,"p"],[75171,0,"$"],[75219,0,":"],[76961,0," "],[76962,0,"T"],[76963,0,"h"],[76964,0,"e"],[76965,0," "],[76966,0,"p"],[76967,0,"r"],[76968,0,"e"],[76969,0,"f"],[76970,0,"i"],[76971,0,"x"],[76972,0," "],[76973,0,"c"],[76974,0,"o"],[76975,0,"n"],[76976,0,"t"],[76977,0,"a"],[76978,0,"i"],[76979,0,"n"],[76980,0,"s"],[76981,0," "],[76982,0,"a"],[76983,0,"l"],[76984,0,"l"],[76985,0," "],[76986,0,"c"],[76987,0,"a"],[76988,0,"u"],[76989,0,"s"],[76990,0,"a"],[76991,0,"l"],[76992,0,"l"],[76993,0,"y"],[76994,0," "],[76986,0,"o"],[76987,0,"p"],[76988,0,"e"],[76989,0,"r"],[76990,0,"a"],[76991,0,"t"],[76992,0,"i"],[76993,0,"o"],[76994,0,"n"],[76995,0,"s"],[76996,0," "],[76997,0,"t"],[76998,0,"h"],[76999,0,"a"],[77000,0,"t"],[77001,0," "],[77011,0,"p"],[77012,0,"r"],[77013,0,"e"],[77014,0,"c"],[77015,0,"e"],[77016,0,"d"],[77017,0,"e"],[77018,0," "],[77019,0,"$"],[77020,0,"o"],[77021,0,"_"],[77022,0,"{"],[77023,0,"n"],[77024,0,"+"],[77025,0,"1"],[77026,0,"}"],[77027,0,"$"],[77028,0,","],[77029,0," "],[77030,0,"a"],[77031,0,"n"],[77032,0,"d"],[77033,0," "],[77034,0,"p"],[77035,0,"o"],[77036,0,"s"],[77037,0,"s"],[77038,0,"i"],[77039,0,"b"],[77040,0,"y"],[77040,1],[77040,0,"l"],[77041,0,"y"],[77042,0," "],[77043,0,"s"],[77044,0,"o"],[77045,0,"m"],[77046,0,"e"],[77047,0," "],[77048,0,"o"],[77049,0,"p"],[77050,0,"e"],[77051,0,"r"],[77052,0,"a"],[77053,0,"t"],[77054,0,"i"],[77055,0,"o"],[77056,0,"n"],[77057,0,"s"],[77058,0," "],[77059,0,"c"],[77059,1],[77059,0,"t"],[77060,0,"h"],[77061,0,"a"],[77062,0,"t"],[77063,0," "],[77064,0,"a"],[77065,0,"r"],[77066,0,"e"],[77067,0," "],[77068,0,"c"],[77069,0,"o"],[77070,0,"n"],[77071,0,"c"],[77072,0,"u"],[77073,0,"r"],[77074,0,"r"],[77075,0,"e"],[77076,0,"n"],[77077,0,"t"],[77078,0," "],[77079,0,"w"],[77080,0,"i"],[77081,0,"t"],[77082,0,"h"],[77083,0," "],[77084,0,"$"],[77085,0,"o"],[77086,0,"_"],[77087,0,"{"],[77088,0,"n"],[77089,0,"+"],[77090,0,"1"],[77091,0,"}"],[77092,0,"$"],[77093,0,";"],[77094,0," "],[77095,0,"t"],[77096,0,"h"],[77097,0,"e"],[77098,0," "],[77099,0,"s"],[77100,0,"u"],[77101,0,"f"],[77102,0,"f"],[77103,0,"i"],[77104,0,"x"],[77105,0," "],[77106,0,"c"],[77107,0,"o"],[77108,0,"n"],[77109,0,"t"],[77110,0,"a"],[77111,0,"i"],[77112,0,"n"],[77113,0,"s"],[77114,0," "],[77115,0,"o"],[77116,0,"n"],[77117,0,"l"],[77118,0,"y"],[77119,0," "],[77120,0,"o"],[77121,0,"p"],[77122,0,"e"],[77123,0,"r"],[77124,0,"a"],[77125,0,"t"],[77126,0,"i"],[77127,0,"o"],[77128,0,"n"],[77129,0,"s"],[77130,0," "],[77131,0,"t"],[77132,0,"h"],[77133,0,"a"],[77134,0,"t"],[77135,0," "],[77136,0,"a"],[77137,0,"r"],[77138,0,"e"],[77139,0," "],[77140,0,"c"],[77141,0,"o"],[77142,0,"n"],[77143,0,"c"],[77144,0,"u"],[77145,0,"r"],[77146,0,"r"],[77147,0,"e"],[77148,0,"n"],[77149,0,"t"],[77150,0," "],[77151,0,"w"],[77152,0,"i"],[77153,0,"t"],[77154,0,"h"],[77155,0," "],[77156,0,"$"],[77157,0,"o"],[77158,0,"_"],[77159,0,"{"],[77160,0,"n"],[77161,0,"+"],[77162,0,"1"],[77163,0,"}"],[77164,0,"$"],[77165,0,"."],[77384,0," "],[77385,0,"n"],[77386,0,"e"],[77387,0,"e"],[77388,0,"d"],[77389,0," "],[77390,0,"t"],[77391,0,"o"],[77692,0,"="],[77692,1],[77691,1],[77690,1],[77690,0,"n"],[77691,0,"y"],[78230,1],[78230,0,"j"],[78299,1],[78299,0,"j"],[78343,1],[78343,0,"j"],[78176,1],[78175,1],[78174,1],[78173,1],[78172,1],[78171,1],[78170,1],[78169,1],[78168,1],[78167,1],[78166,1],[78166,0," "],[78167,0,"s"],[78168,0,"u"],[78169,0,"c"],[78170,0,"c"],[78171,0,"e"],[78172,0,"s"],[78173,0,"s"],[78174,0,"i"],[78175,0,"o"],[78176,0,"n"],[78195,1],[78195,0,"j"],[78206,1],[78205,1],[78204,1],[78204,0,"s"],[78205,0,"u"],[78206,0,"c"],[78230,1],[78230,0,"1"],[78437,1],[78436,1],[78435,1],[78435,0,"s"],[78436,0,"u"],[78437,0,"c"],[78438,0,"c"],[78438,1],[78573,1],[78573,0,"2"],[78576,1],[78576,1],[78576,1],[78576,0,"s"],[78577,0,"u"],[78578,0,"c"],[78588,1],[78588,0,"1"],[78673,1],[78673,0,"2"],[78681,1],[78681,1],[78681,1],[78681,0,"s"],[78682,0,"u"],[78683,0,"c"],[78693,1],[78693,0,"1"],[79000,1],[79000,1],[79000,1],[79000,1],[79000,1],[79000,1],[79000,1],[79000,1],[79000,1],[79000,1],[79000,0,"s"],[79001,0,"u"],[79002,0,"c"],[79003,0,"c"],[79004,0,"e"],[79005,0,"s"],[79006,0,"s"],[79007,0,"i"],[79008,0,"o"],[79009,0,"n"],[79117,1],[79116,1],[79115,1],[79114,1],[79113,1],[79112,1],[79111,1],[79110,1],[79109,1],[79108,1],[79108,0,"s"],[79109,0,"u"],[79110,0,"c"],[79111,0,"c"],[79112,0,"e"],[79113,0,"s"],[79114,0,"s"],[79115,0,"i"],[79116,0,"o"],[79117,0,"n"],[79579,0," "],[79580,0,"s"],[79581,0,"u"],[79582,0,"c"],[79583,0,"c"],[79584,0,"e"],[79585,0,"e"],[79586,0,"d"],[79587,0,"s"],[79588,0," "],[79589,0,"$"],[79590,0,"k"],[79591,0,"_"],[79592,0,"1"],[79593,0,"$"],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[79548,1],[78210,1],[78209,0,"e"],[78440,0,"e"],[78558,1],[78558,1],[78558,1],[78558,1],[78558,1],[78558,1],[78558,1],[78558,1],[78558,0,"s"],[78559,0,"u"],[78560,0,"c"],[78561,0,"c"],[78562,0,"e"],[78563,0,"e"],[78564,0,"d"],[78565,0,"s"],[78583,1],[78582,0,"e"],[78686,0,"e"],[78689,1],[78704,1],[78704,1],[78704,1],[78704,1],[78704,1],[78704,1],[78704,1],[78704,1],[78704,1],[78704,1],[78704,0,"l"],[78705,0,"a"],[78706,0,"t"],[78707,0,"e"],[78708,0,"r"],[79591,0," "],[79592,0,"$"],[79593,0,"k"],[79594,0,"_"],[79595,0,"2"],[79596,0,"$"],[79597,0," "],[79598,0,"s"],[79599,0,"u"],[79600,0,"c"],[79601,0,"c"],[79602,0,"e"],[79603,0,"e"],[79604,0,"d"],[79605,0,"s"],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79624,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79700,1],[79716,0," "],[79717,0,"s"],[79718,0,"u"],[79719,0,"c"],[79720,0,"c"],[79721,0,"e"],[79722,0,"e"],[79723,0,"d"],[79724,0,"s"],[79725,0," "],[79726,0,"$"],[79727,0,"k"],[79728,0,"_"],[79729,0,"1"],[79730,0,"$"],[79735,0," "],[79736,0,"$"],[79737,0,"k"],[79738,0,"_"],[79739,0,"2"],[79740,0,"$"],[79741,0," "],[79742,0,"s"],[79743,0,"u"],[79744,0,"c"],[79745,0,"c"],[79746,0,"e"],[79747,0,"e"],[79748,0,"d"],[79749,0,"s"],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[79768,1],[78179,0,"I"],[78180,0,"n"],[78181,0," "],[78182,0,"t"],[78183,0,"h"],[78184,0,"e"],[78185,0," "],[78186,0,"o"],[78187,0,"r"],[78188,0,"d"],[78189,0,"e"],[78190,0,"r"],[78191,0,"e"],[78192,0,"d"],[78193,0," "],[78194,0,"l"],[78195,0,"i"],[78196,0,"s"],[78197,0,"t"],[78198,0," "],[78199,0,"$"],[78200,0,"\\"],[78201,0,"m"],[78202,0,"a"],[78203,0,"t"],[78204,0,"h"],[78205,0,"i"],[78206,0,"t"],[78207,0,"{"],[78208,0,"c"],[78209,0,"t"],[78210,0,"x"],[78211,0,"}"],[78212,0,"$"],[78213,0,","],[78214,0," "],[78215,1],[78215,0,"l"],[78302,1],[78301,1],[78300,1],[78299,1],[78298,1],[78297,1],[78296,1],[78295,1],[78294,1],[78293,1],[78292,1],[78291,1],[78290,1],[78289,1],[78288,1],[78287,1],[78286,1],[78285,1],[78284,1],[78283,1],[78282,1],[78281,1],[78280,1],[78279,1],[78278,1],[78277,1],[78276,1],[78275,1],[78274,1],[78273,1],[78272,1],[78271,1],[78270,1],[78269,1],[78268,1],[78283,0," "],[78284,0,"l"],[78285,0,"i"],[78286,0,"s"],[78287,0,"t"],[78288,0," "],[78288,1],[78287,1],[78286,1],[78285,1],[78284,1],[78283,1],[78283,0,"s"],[78284,0," "],[78285,0,"a"],[78286,0," "],[78287,0,"("],[78288,0,"p"],[78289,0,"o"],[78290,0,"s"],[78291,0,"s"],[78292,0,"i"],[78293,0,"b"],[78294,0,"l"],[78295,0,"y"],[78296,0," "],[78297,0,"e"],[78298,0,"m"],[78299,0,"p"],[78300,0,"t"],[78301,0,"y"],[78302,0,")"],[78303,0," "],[78304,0,"s"],[78305,0,"e"],[78306,0,"q"],[78307,0,"u"],[78308,0,"e"],[78309,0,"n"],[78310,0,"c"],[78311,0,"e"],[78312,0," "],[78313,0,"o"],[78314,0,"f"],[78315,0," "],[78316,0,"l"],[78317,0,"i"],[78318,0,"s"],[78319,0,"t"],[78320,0," "],[78321,0,"e"],[78322,0,"l"],[78323,0,"e"],[78324,0,"m"],[78325,0,"e"],[78326,0,"n"],[78327,0,"t"],[78328,0,"s"],[78176,1],[78175,1],[78174,1],[78173,1],[78172,1],[78171,1],[78170,1],[78169,1],[78168,1],[78167,1],[78166,1],[78165,1],[78164,1],[78163,1],[78162,1],[78161,1],[78160,1],[78159,1],[78158,1],[78157,1],[78156,1],[78155,1],[78154,1],[78154,0,"o"],[78155,0,"c"],[78156,0,"c"],[78157,0,"u"],[78158,0,"r"],[78159,0,"r"],[78160,0,"i"],[78161,0,"n"],[78162,0,"g"],[78163,0," "],[78164,0,"a"],[78165,0,"f"],[78166,0,"t"],[78167,0,"e"],[78168,0,"r"],[78239,1],[78238,1],[78237,1],[78236,1],[78235,1],[78234,1],[78233,1],[78232,1],[78232,0,"o"],[78233,0,"c"],[78234,0,"c"],[78235,0,"u"],[78236,0,"r"],[78237,0,"s"],[78238,0," "],[78239,0,"a"],[78240,0,"f"],[78241,0,"t"],[78242,0,"e"],[78243,0,"r"],[78487,1],[78486,1],[78485,1],[78484,1],[78237,1],[78236,1],[78235,1],[78234,1],[78233,1],[78232,1],[78232,0,"a"],[78233,0,"p"],[78234,0,"p"],[78235,0,"e"],[78236,0,"a"],[78237,0,"r"],[78238,0,"s"],[78162,1],[78161,1],[78160,1],[78159,1],[78158,1],[78157,1],[78156,1],[78155,1],[78154,1],[78154,0,"a"],[78155,0,"p"],[78156,0,"p"],[78157,0,"e"],[78158,0,"a"],[78159,0,"r"],[78160,0,"i"],[78161,0,"n"],[78162,0,"g"],[78484,1],[78483,1],[78482,1],[78481,1],[78480,1],[78479,1],[78479,0,"a"],[78480,0,"p"],[78481,0,"p"],[78482,0,"e"],[78483,0,"a"],[78484,0,"r"],[78485,0,"i"],[78486,0,"n"],[78487,0,"g"],[78488,0," "],[78489,0,"a"],[78490,0,"f"],[78491,0,"t"],[78492,0,"e"],[78493,0,"r"],[78633,1],[78632,1],[78631,1],[78630,1],[78629,1],[78628,1],[78627,1],[78626,1],[78626,0,"a"],[78627,0,"p"],[78628,0,"p"],[78629,0,"e"],[78630,0,"a"],[78631,0,"r"],[78632,0,"s"],[78633,0," "],[78634,0,"a"],[78635,0,"f"],[78636,0,"t"],[78637,0,"e"],[78638,0,"r"],[78614,1],[78613,1],[78612,1],[78611,1],[78610,1],[78609,1],[78608,1],[78607,1],[78607,0,"a"],[78608,0,"f"],[78609,0,"t"],[78610,0,"e"],[78611,0,"r"],[80804,1],[80804,1],[80804,1],[80804,1],[80804,1],[80804,1],[80804,1],[80804,1],[80804,0,"a"],[80805,0,"f"],[80806,0,"t"],[80807,0,"e"],[80808,0,"r"],[78733,1],[78733,1],[78733,1],[78733,1],[78733,1],[78733,1],[78733,1],[78733,1],[78733,0,"a"],[78734,0,"p"],[78735,0,"p"],[78736,0,"e"],[78737,0,"a"],[78738,0,"r"],[78739,0,"s"],[78740,0," "],[78741,0,"a"],[78742,0,"f"],[78743,0,"t"],[78744,0,"e"],[78745,0,"r"],[79061,1],[79060,1],[79059,1],[79058,1],[79057,1],[79056,1],[79055,1],[79054,1],[79053,1],[79052,1],[79052,0,"a"],[79053,0,"p"],[79054,0,"p"],[79055,0,"e"],[79056,0,"a"],[79057,0,"r"],[79058,0,"s"],[79059,0,"-"],[79060,0,"a"],[79061,0,"f"],[79062,0,"t"],[79063,0,"e"],[79064,0,"r"],[79172,1],[79171,1],[79170,1],[79169,1],[79168,1],[79167,1],[79166,1],[79165,1],[79164,1],[79163,1],[79163,0,"a"],[79164,0,"p"],[79165,0,"p"],[79166,0,"e"],[79167,0,"a"],[79168,0,"r"],[79169,0,"s"],[79170,0,"-"],[79171,0,"a"],[79172,0,"f"],[79173,0,"t"],[79174,0,"e"],[79175,0,"r"],[79630,1],[79629,1],[79628,1],[79627,1],[79626,1],[79625,1],[79624,1],[79623,1],[79623,0,"a"],[79624,0,"p"],[79625,0,"p"],[79626,0,"e"],[79627,0,"a"],[79628,0,"r"],[79629,0,"s"],[79630,0," "],[79631,0,"a"],[79632,0,"f"],[79633,0,"t"],[79634,0,"e"],[79635,0,"r"],[79672,1],[79671,1],[79670,1],[79669,1],[79668,1],[79667,1],[79666,1],[79665,1],[79665,0,"a"],[79666,0,"p"],[79667,0,"p"],[79668,0,"e"],[79669,0,"a"],[79670,0,"r"],[79671,0,"s"],[79672,0," "],[79673,0,"a"],[79674,0,"f"],[79675,0,"t"],[79676,0,"e"],[79677,0,"r"],[79796,1],[79795,1],[79794,1],[79793,1],[79792,1],[79791,1],[79790,1],[79789,1],[79789,0,"a"],[79790,0,"p"],[79791,0,"p"],[79792,0,"e"],[79793,0,"a"],[79794,0,"r"],[79795,0,"s"],[79796,0," "],[79797,0,"a"],[79798,0,"f"],[79799,0,"t"],[79800,0,"e"],[79801,0,"r"],[79826,1],[79825,1],[79824,1],[79823,1],[79822,1],[79821,1],[79820,1],[79819,1],[79819,0,"a"],[79820,0,"p"],[79821,0,"p"],[79822,0,"e"],[79823,0,"a"],[79824,0,"r"],[79825,0,"s"],[79826,0," "],[79827,0,"a"],[79828,0,"f"],[79829,0,"t"],[79830,0,"e"],[79831,0,"r"],[78385,1],[78385,0,"\\"],[78386,0,"l"],[78387,0,"e"],[78390,0,"-"],[78391,0,"1"],[78391,1],[78390,1],[78387,1],[78386,1],[78385,1],[78385,0,"<"],[79475,1],[79474,1],[79473,1],[79472,1],[79471,1],[79470,1],[79469,1],[79468,1],[79467,1],[79466,1],[79465,1],[79464,1],[79463,1],[79462,1],[79461,1],[79460,1],[79459,1],[79458,1],[79457,1],[79456,1],[79455,1],[79454,1],[79453,1],[79452,1],[79451,1],[79450,1],[79449,1],[79448,1],[79447,1],[79446,1],[79445,1],[79444,1],[79443,1],[79442,1],[79441,1],[79440,1],[79439,1],[79438,1],[79437,1],[79436,1],[79435,1],[79434,1],[79433,1],[79432,1],[79431,1],[79430,1],[79429,1],[79428,1],[79427,1],[79426,1],[79425,1],[79424,1],[79423,1],[79422,1],[79421,1],[79420,1],[79419,1],[79418,1],[79417,1],[79416,1],[79415,1],[79414,1],[79413,1],[79412,1],[79411,1],[79410,1],[79409,1],[79408,1],[79407,1],[79406,1],[79405,1],[79404,1],[79403,1],[79402,1],[79401,1],[79400,1],[79399,1],[79398,1],[79397,1],[79396,1],[79395,1],[79394,1],[79393,1],[79392,1],[79391,1],[79390,1],[79389,1],[79388,1],[79387,1],[79386,1],[79385,1],[79384,1],[79383,1],[79382,1],[79381,1],[79380,1],[79379,1],[79378,1],[79377,1],[79376,1],[79375,1],[79374,1],[79373,1],[79372,1],[80673,1],[80673,0,"2"],[80676,1],[80676,1],[80676,1],[80676,1],[80676,1],[80676,1],[80676,1],[80676,1],[80676,0,"a"],[80677,0,"p"],[80678,0,"p"],[80679,0,"e"],[80680,0,"a"],[80681,0,"r"],[80682,0,"s"],[80683,0," "],[80684,0,"a"],[80685,0,"f"],[80686,0,"t"],[80687,0,"e"],[80688,0,"r"],[80693,1],[80693,0,"1"],[80891,1],[80890,1],[80889,1],[80888,1],[80887,1],[80886,1],[80913,1],[80913,0,"s"],[80914,0,"p"],[80914,1],[80914,0,"o"],[80915,0,"m"],[80916,0,"e"],[80939,1],[80938,1],[80937,1],[80936,1],[80935,1],[80934,1],[80933,1],[80932,1],[80931,1],[80930,1],[80929,1],[80928,1],[80927,1],[80927,0,"a"],[80928,0,"f"],[80929,0,"t"],[80930,0,"e"],[80931,0,"r"],[80891,1],[80890,1],[80889,1],[80888,1],[80887,1],[80886,1],[80881,0,","],[80887,0,"t"],[80888,0,"h"],[80889,0,"e"],[80890,0,"r"],[80891,0,"e"],[80892,0,"f"],[80893,0,"o"],[80894,0,"r"],[80895,0,"e"],[80914,0,"i"],[80915,0,"s"],[80916,0," "],[80917,0,"i"],[80918,0,"n"],[80919,0,"s"],[80920,0,"e"],[80921,0,"r"],[80922,0,"t"],[80923,0,"e"],[80924,0,"d"],[80925,0," "],[81519,1],[81518,1],[81517,1],[81516,1],[81515,1],[81514,1],[81513,1],[81512,1],[81511,1],[81510,1],[81509,1],[81508,1],[81507,1],[81506,1],[81524,0,"i"],[81525,0,"s"],[81526,0," "],[81527,0,"n"],[81528,0,"e"],[81529,0,"v"],[81530,0,"e"],[81531,0,"r"],[81532,0," "],[81533,0,"i"],[81534,0,"n"],[81535,0,"s"],[81536,0,"e"],[81537,0,"r"],[81538,0,"t"],[81539,0,"e"],[81540,0,"d"],[81541,0," "],[81573,1],[81572,1],[81571,1],[81570,1],[81569,1],[81568,1],[81567,1],[81566,1],[81565,1],[81564,1],[81563,1],[81562,1],[81562,0,"h"],[81563,0,"a"],[81564,0,"t"],[81565,0," "],[81566,0,"a"],[81567,0,"p"],[81568,0,"p"],[81569,0,"e"],[81570,0,"a"],[81571,0,"r"],[81572,0,"s"],[81573,0," "],[81574,0,"a"],[81575,0,"f"],[81576,0,"t"],[81577,0,"e"],[81578,0,"r"],[81598,0,"\n"],[81599,0,"\n"],[81600,0,"%"],[81601,0," "],[81602,0,"T"],[81603,0,"O"],[81604,0,"D"],[81605,0,"O"],[81606,0," "],[81607,0,"w"],[81608,0,"o"],[81609,0,"r"],[81610,0,"k"],[81611,0,"i"],[81612,0,"n"],[81613,0," "],[81614,0,"g"],[81615,0,"p"],[81615,1],[81614,1],[81613,1],[81612,1],[81611,1],[81611,0," "],[81612,0,"i"],[81613,0,"n"],[81614,0," "],[81615,0,"p"],[81616,0,"r"],[81617,0,"o"],[81618,0,"g"],[81619,0,"r"],[81620,0,"e"],[81621,0,"s"],[81622,0,"s"],[81623,0," "],[81624,0,"h"],[81625,0,"e"],[81626,0,"r"],[81627,0,"e"],[81601,0,"%"],[81602,0,"%"],[81603,0,"%"],[81604,0,"%"],[81605,0,"%"],[81606,0,"%"],[81607,0,"%"],[81608,0,"%"],[81609,0,"%"],[81610,0,"%"],[81611,0,"%"],[81639,0," "],[81640,0,"%"],[81641,0,"%"],[81642,0,"%"],[81643,0,"%"],[81644,0,"%"],[81645,0,"%"],[81646,0,"%"],[81647,0,"%"],[81648,0,"%"],[81649,0,"%"],[81650,0,"%"],[81651,0,"%"],[81652,0,"%"],[81653,0,"%"],[81654,0,"%"],[81655,0,"%"],[81656,0,"%"],[81657,0,"%"],[81658,0,"%"],[81659,0,"%"],[81660,0,"%"],[81598,0,"\n"],[81599,0,"\n"],[81600,0,"\\"],[81601,0,"b"],[81602,0,"e"],[81603,0,"g"],[81604,0,"i"],[81605,0,"n"],[81606,0,"{"],[81607,0,"l"],[81608,0,"e"],[81609,0,"m"],[81610,0,"m"],[81611,0,"a"],[81612,0,"}"],[81613,0,"\\"],[81614,0,"l"],[81615,0,"a"],[81616,0,"b"],[81617,0,"e"],[81618,0,"l"],[81619,0,"{"],[81620,0,"l"],[81621,0,"e"],[81622,0,"m"],[81623,0,":"],[81624,0,"i"],[81625,0,"n"],[81626,0,"s"],[81627,0,"e"],[81628,0,"r"],[81629,0,"t"],[81630,0,"-"],[81631,0,"r"],[81632,0,"e"],[81633,0,"o"],[81634,0,"r"],[81635,0,"d"],[81636,0,"e"],[81637,0,"r"],[81638,0,"}"],[81639,0,"\n"],[81640,0,"\\"],[81641,0,"e"],[81642,0,"n"],[81643,0,"d"],[81644,0,"{"],[81645,0,"l"],[81646,0,"e"],[81647,0,"m"],[81648,0,"m"],[81649,0,"a"],[81650,0,"}"],[81640,0,"\n"],[81640,0,"A"],[81641,0,"n"],[81642,0," "],[81643,0,"i"],[81644,0,"n"],[81645,0,"s"],[81646,0,"e"],[81647,0,"r"],[81648,0,"t"],[81649,0,"i"],[81650,0,"o"],[81651,0,"n"],[81652,0," "],[81653,0,"o"],[81654,0,"p"],[81655,0,"e"],[81656,0,"r"],[81657,0,"a"],[81658,0,"t"],[81659,0,"i"],[81660,0,"o"],[81661,0,"n"],[81662,0," "],[81663,0,"c"],[81664,0,"a"],[81665,0,"n"],[81666,0," "],[81667,0,"b"],[81668,0,"e"],[81669,0," "],[81670,0,"r"],[81671,0,"e"],[81640,0,"I"],[81641,0,"n"],[81642,0," "],[81643,0,"a"],[81644,0,"n"],[81645,0," "],[81646,0,"o"],[81647,0,"p"],[81648,0,"e"],[81649,0,"r"],[81650,0,"a"],[81651,0,"t"],[81652,0,"i"],[81653,0,"o"],[81654,0,"n"],[81655,0," "],[81656,0,"h"],[81657,0,"i"],[81658,0,"s"],[81659,0,"t"],[81660,0,"o"],[81661,0,"r"],[81662,0,"y"],[81663,0,","],[81664,0," "],[81665,1],[81665,0,"a"],[81697,0,"o"],[81698,0,"r"],[81699,0,"d"],[81700,0,"e"],[81701,0,"r"],[81702,0,"e"],[81703,0,"d"],[81704,0," "],[81705,0,"w"],[81706,0,"i"],[81707,0,"t"],[81708,0,"h"],[81709,0," "],[81710,0,"r"],[81711,0,"e"],[81712,0,"s"],[81713,0,"p"],[81714,0,"e"],[81715,0,"c"],[81716,0,"t"],[81717,0," "],[81718,0,"t"],[81719,0,"o"],[81720,0," "],[81721,0,"c"],[81722,0,"o"],[81723,0,"n"],[81724,0,"c"],[81725,0,"u"],[81726,0,"r"],[81727,0,"r"],[81728,0,"e"],[81729,0,"n"],[81730,0,"t"],[81731,0," "],[81732,0,"i"],[81733,0,"n"],[81734,0,"s"],[81735,0,"e"],[81736,0,"r"],[81737,0,"t"],[81738,0,"i"],[81739,0,"o"],[81740,0,"n"],[81741,0," "],[81742,0,"o"],[81743,0,"p"],[81744,0,"e"],[81745,0,"r"],[81746,0,"a"],[81747,0,"t"],[81748,0,"i"],[81749,0,"o"],[81750,0,"n"],[81751,0,"s"],[81752,0," "],[81753,0,"t"],[81754,0,"o"],[81755,0," "],[81756,0,"t"],[81757,0,"h"],[81758,0,"e"],[81759,0," "],[81760,0,"s"],[81761,0,"a"],[81762,0,"m"],[81763,0,"e"],[81764,0," "],[81765,0,"l"],[81766,0,"i"],[81767,0,"s"],[81768,0,"t"],[81769,0," "],[81770,0,"w"],[81771,0,"i"],[81772,0,"t"],[81773,0,"h"],[81774,0,"o"],[81775,0,"u"],[81776,0,"t"],[81777,0," "],[81778,0,"a"],[81779,0,"f"],[81780,0,"f"],[81781,0,"e"],[81782,0,"c"],[81783,0,"t"],[81784,0,"i"],[81785,0,"n"],[81786,0,"g"],[81787,0," "],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,1],[81688,0,"i"],[81689,0,"s"],[81690,0," "],[81691,0,"c"],[81692,0,"o"],[81693,0,"m"],[81694,0,"m"],[81695,0,"u"],[81696,0,"t"],[81697,0,"a"],[81698,0,"t"],[81699,0,"i"],[81700,0,"v"],[81701,0,"e"],[81785,1],[81784,1],[81783,1],[81782,1],[81781,1],[81780,1],[81779,1],[81778,1],[81777,1],[81776,1],[81775,1],[81774,1],[81773,1],[81772,1],[81771,1],[81770,1],[81769,1],[81768,1],[81767,1],[81767,0,"."],[81780,0,"\n"],[81781,0,"\n"],[81782,0,"\\"],[81783,0,"b"],[81784,0,"e"],[81785,0,"g"],[81786,0,"i"],[81787,0,"n"],[81788,0,"{"],[81789,0,"p"],[81790,0,"r"],[81791,0,"o"],[81792,0,"o"],[81793,0,"f"],[81794,0,"}"],[81795,0,"\n"],[81796,0,"\\"],[81797,0,"e"],[81798,0,"n"],[81799,0,"d"],[81800,0,"{"],[81801,0,"p"],[81802,0,"r"],[81803,0,"o"],[81804,0,"o"],[81805,0,"f"],[81806,0,"}"],[81795,1],[81795,0,"\n"],[81796,0,"\n"],[81796,0,"C"],[81797,0,"o"],[81798,0,"n"],[81799,0,"s"],[81800,0,"i"],[81801,0,"d"],[81802,0,"e"],[81803,0,"r"],[81804,0," "],[81805,0,"t"],[81806,0,"h"],[81807,0,"e"],[81808,0," "],[81809,0,"o"],[81810,0,"p"],[81811,0,"e"],[81812,0,"r"],[81813,0,"a"],[81814,0,"t"],[81815,0,"i"],[81816,0,"o"],[81817,0,"n"],[81818,0," "],[81819,0,"$"],[81820,0,"o"],[81821,0,"_"],[81822,0,"{"],[81823,0,"n"],[81824,0,"+"],[81825,0,"1"],[81826,0,"}"],[81827,0,"$"],[81828,0," "],[81829,0,"b"],[81830,0,"b"],[81831,0,"e"],[81832,0,"i"],[81833,0,"n"],[81834,0,"g"],[81835,0," "],[81835,1],[81834,1],[81833,1],[81832,1],[81831,1],[81830,1],[81830,0,"e"],[81831,0,"i"],[81832,0,"n"],[81833,0,"g"],[81834,0," "],[81835,0,"r"],[81836,0,"e"],[81837,0,"o"],[81838,0,"r"],[81839,0,"d"],[81840,0,"e"],[81841,0,"r"],[81842,0,"e"],[81843,0,"d"],[81844,0," "],[81845,0,"w"],[81846,0,"i"],[81847,0,"t"],[81848,0,"h"],[81849,0," "],[81850,0,"r"],[81851,0,"e"],[81852,0,"s"],[81853,0,"p"],[81854,0,"e"],[81855,0,"c"],[81856,0,"t"],[81857,0," "],[81858,0,"t"],[81859,0,"o"],[81860,0," "],[81861,0,"c"],[81862,0,"o"],[81863,0,"n"],[81864,0,"c"],[81865,0,"u"],[81866,0,"r"],[81867,0,"r"],[81868,0,"e"],[81869,0,"n"],[81870,0,"t"],[81871,0," "],[81872,0,"o"],[81873,0,"p"],[81874,0,"e"],[81875,0,"r"],[81876,0,"a"],[81877,0,"t"],[81878,0,"i"],[81879,0,"o"],[81880,0,"n"],[81881,0,"s"],[81882,0," "],[81883,0,"i"],[81884,0,"n"],[81885,0," "],[81886,0,"a"],[81887,0," "],[81888,0,"h"],[81889,0,"i"],[81890,0,"s"],[81891,0,"t"],[81892,0,"o"],[81893,0,"r"],[81894,0,"y"],[81895,0,"."],[81896,0," "],[81897,0,"$"],[81898,0,"o"],[81899,0,"_"],[81900,0,"{"],[81901,0,"n"],[81902,0,"+"],[81903,0,"1"],[81904,0,"}"],[81905,0,"$"],[81906,0," "],[81907,0,"i"],[81908,0,"s"],[81909,0," "],[81910,0,"i"],[81911,0,"n"],[81912,0,"s"],[81913,0,"e"],[81914,0,"r"],[81915,0,"t"],[81916,0,"e"],[81917,0,"d"],[81918,0," "],[81919,0,"b"],[81920,0,"e"],[81921,0,"t"],[81922,0,"w"],[81923,0,"e"],[81924,0,"e"],[81925,0,"n"],[81926,0," "],[81927,0,"s"],[81928,0,"o"],[81929,0,"m"],[81930,0,"e"],[81931,0," "],[81932,0,"$"],[81933,0,"k"],[81934,0,"_"],[81935,0,"1"],[81936,0,"$"],[81937,0," "],[81938,0,"a"],[81939,0,"n"],[81940,0,"d"],[81941,0," "],[81942,0,"$"],[81943,0,"k"],[81944,0,"_"],[81945,0,"2"],[81946,0,"$"],[81947,0," "],[81948,0,"o"],[81949,0,"n"],[81950,0," "],[81951,0,"t"],[81952,0,"h"],[81953,0,"e"],[81954,0," "],[81955,0,"r"],[81956,0,"e"],[81957,0,"p"],[81958,0,"l"],[81959,0,"i"],[81960,0,"c"],[81961,0,"a"],[81962,0," "],[81963,0,"w"],[81964,0,"h"],[81965,0,"e"],[81966,0,"r"],[81967,0,"e"],[81968,0," "],[81969,0,"i"],[81970,0,"t"],[81971,0," "],[81972,0,"o"],[81973,0,"r"],[81974,0,"i"],[81975,0,"g"],[81976,0,"i"],[81977,0,"n"],[81978,0,"a"],[81979,0,"t"],[81980,0,"e"],[81981,0,"d"],[81982,0,"."],[81983,0," "],[81984,0,"I"],[81985,0,"f"],[81986,0," "],[81987,0,"a"],[81988,0,"n"],[81989,0,"y"],[81990,0," "],[81991,0,"c"],[81992,0,"o"],[81993,0,"n"],[81994,0,"c"],[81995,0,"u"],[81996,0,"r"],[81997,0,"r"],[81998,0,"e"],[81999,0,"n"],[82000,0,"t"],[82001,0," "],[82002,0,"o"],[82003,0,"p"],[82004,0,"e"],[82005,0,"r"],[82006,0,"a"],[82007,0,"t"],[82008,0,"i"],[82009,0,"o"],[82010,0,"n"],[82011,0," "],[82012,0,"j"],[82012,1],[82012,0,"i"],[82013,0,"n"],[82014,0,"s"],[82015,0,"e"],[82016,0,"r"],[82017,0,"t"],[82018,0,"s"],[82019,0," "],[82020,0,"a"],[82021,0,"t"],[82022,0," "],[82023,0,"a"],[82024,0," "],[82025,0,"p"],[82026,0,"o"],[82027,0,"s"],[82028,0,"i"],[82029,0,"t"],[82030,0,"i"],[82031,0,"o"],[82032,0,"n"],[82033,0," "],[82034,0,"t"],[82035,0,"h"],[82036,0,"a"],[82037,0,"t"],[82038,0," "],[82039,0,"i"],[82040,0,"s"],[82041,0," "],[82042,0,"n"],[82043,0,"o"],[82044,0,"t"],[82045,0," "],[82046,0,"b"],[82047,0,"e"],[82048,0,"t"],[82049,0,"w"],[82050,0,"e"],[82051,0,"e"],[82052,0,"n"],[82053,0," "],[82054,0,"$"],[82055,0,"k"],[82056,0,"_"],[82057,0,"1"],[82058,0,"$"],[82059,0," "],[82060,0,"a"],[82061,0,"n"],[82062,0,"d"],[82063,0," "],[82064,0,"$"],[82065,0,"k"],[82066,0,"_"],[82067,0,"2"],[82068,0,"$"],[82069,0,","],[82070,0," "],[82071,0,"t"],[82072,0,"h"],[82073,0,"e"],[82074,0,"n"],[82075,0," "],[82076,0,"b"],[82077,0,"y"],[82078,0," "],[82079,0,"L"],[82080,0,"e"],[82081,0,"m"],[82082,0,"m"],[82083,0,"a"],[82084,0,"~"],[82085,0,"\\"],[82086,0,"r"],[82087,0,"e"],[82088,0,"f"],[82089,0,"{"],[82090,0,"i"],[82091,0,"n"],[82092,0,"s"],[82093,0,"e"],[82094,0,"r"],[82095,0,"t"],[82096,0,"-"],[82097,0,"b"],[82098,0,"e"],[82099,0,"t"],[82100,0,"w"],[82101,0,"e"],[82102,0,"e"],[82103,0,"n"],[82104,0,"}"],[82105,0," "],[82106,0,"t"],[82107,0,"h"],[82108,0,"e"],[82109,0," "],[82110,0,"o"],[82111,0,"p"],[82112,0,"e"],[82113,0,"r"],[82114,0,"a"],[82115,0,"t"],[82116,0,"i"],[82117,0,"o"],[82118,0,"n"],[82119,0,"s"],[82120,0," "],[82121,0,"c"],[82122,0,"a"],[82123,0,"n"],[82124,0,"n"],[82125,0,"o"],[82126,0,"t"],[82127,0," "],[82128,0,"a"],[82129,0,"f"],[82130,0,"f"],[82131,0,"e"],[82132,0,"c"],[82133,0,"t"],[82134,0," "],[82135,0,"e"],[82136,0,"a"],[82137,0,"c"],[82138,0,"h"],[82139,0," "],[82140,0,"o"],[82141,0,"t"],[82142,0,"h"],[82143,0,"e"],[82144,0,"r"],[82145,0,","],[82146,0," "],[82147,0,"a"],[82148,0,"n"],[82149,0,"d"],[82150,0," "],[82151,0,"s"],[82152,0,"o"],[82153,0," "],[82154,0,"t"],[82155,0,"h"],[82156,0,"e"],[82157,0,"y"],[82158,0," "],[82159,0,"h"],[82160,0,"a"],[82161,0,"v"],[82162,0,"e"],[82163,0," "],[82164,0,"t"],[82165,0,"h"],[82166,0,"e"],[82167,0," "],[82168,0,"s"],[82169,0,"a"],[82170,0,"m"],[82171,0,"e"],[82172,0," "],[82173,0,"e"],[82174,0,"f"],[82175,0,"f"],[82176,0,"e"],[82177,0,"c"],[82178,0,"t"],[82179,0," "],[82180,0,"r"],[82181,0,"e"],[82182,0,"g"],[82183,0,"a"],[82184,0,"r"],[82185,0,"d"],[82186,0,"l"],[82187,0,"e"],[82188,0,"s"],[82189,0,"s"],[82190,0," "],[82191,0,"o"],[82192,0,"f"],[82193,0," "],[82194,0,"t"],[82195,0,"h"],[82196,0,"e"],[82197,0,"i"],[82198,0,"r"],[82199,0," "],[82200,0,"o"],[82201,0,"r"],[82202,0,"d"],[82203,0,"e"],[82204,0,"r"],[82205,0,"."],[81983,0,"\n"],[81984,0,"\n"],[81985,1],[82207,0," "],[82208,0,"F"],[82209,0,"o"],[82210,0,"r"],[82211,0," "],[82212,0,"t"],[82213,0,"h"],[82214,0,"e"],[82215,0," "],[82216,0,"r"],[82217,0,"e"],[82218,0,"s"],[82219,0,"t"],[82220,0," "],[82221,0,"o"],[82222,0,"f"],[82223,0," "],[82224,0,"t"],[82225,0,"h"],[82226,0,"i"],[82227,0,"s"],[82228,0," "],[82229,0,"p"],[82230,0,"r"],[82231,0,"o"],[82232,0,"o"],[82233,0,"f"],[82234,0,","],[82235,0," "],[82236,0,"c"],[82237,0,"o"],[82238,0,"n"],[82239,0,"s"],[82240,0,"i"],[82241,0,"d"],[82242,0,"e"],[82243,0,"r"],[82236,0,"w"],[82237,0,"e"],[82238,0," "],[82247,0," "],[82248,0,"o"],[82249,0,"n"],[82250,0,"l"],[82251,0,"y"],[82252,0," "],[82253,0,"c"],[82254,0,"o"],[82255,0,"n"],[82256,0,"c"],[82257,0,"u"],[82258,0,"r"],[82259,0,"r"],[82260,0,"e"],[82261,0,"n"],[82262,0,"t"],[82263,0," "],[82264,0,"o"],[82265,0,"p"],[82266,0,"e"],[82267,0,"r"],[82268,0,"a"],[82269,0,"t"],[82270,0,"i"],[82271,0,"o"],[82272,0,"n"],[82273,0,"s"],[82274,0," "],[82275,0,"t"],[82276,0,"h"],[82277,0,"a"],[82278,0,"t"],[82279,0," "],[82280,0,"a"],[82281,0,"r"],[82282,0,"e"],[82283,0," "],[82283,1],[82282,1],[82281,1],[82280,1],[82280,0,"i"],[82281,0,"n"],[82282,0,"s"],[82283,0,"e"],[82284,0,"r"],[82285,0,"t"],[82286,0," "],[82287,0,"a"],[82288,0,"t"],[82289,0," "],[82290,0,"a"],[82291,0," "],[82292,0,"p"],[82293,0,"o"],[82294,0,"s"],[82295,0,"i"],[82296,0,"t"],[82297,0,"i"],[82298,0,"o"],[82299,0,"n"],[82300,0," "],[82301,0,"b"],[82302,0,"e"],[82303,0,"t"],[82304,0,"w"],[82305,0,"e"],[82306,0,"e"],[82307,0,"n"],[82308,0," "],[82309,0,"$"],[82310,0,"k"],[82311,0,"_"],[82312,0,"1"],[82313,0,"$"],[82314,0," "],[82315,0,"a"],[82316,0,"n"],[82317,0,"d"],[82318,0," "],[82319,0,"$"],[82320,0,"k"],[82321,0,"_"],[82322,0,"2"],[82323,0,"$"],[82324,0,"."],[82091,0,"l"],[82092,0,"e"],[82093,0,"m"],[82094,0,":"],[78436,0," "],[78437,0,"M"],[78438,0,"o"],[78439,0,"r"],[78440,0,"e"],[78441,0,"o"],[78442,0,"v"],[78443,0,"e"],[78444,0,"r"],[78445,0,","],[78446,0," "],[78447,0,"$"],[78448,0,"j"],[78448,1],[78448,0,"k"],[78449,0,"_"],[78450,0,"j"],[78451,0,"$"],[78452,0," "],[78453,0,"a"],[78454,0,"p"],[78455,0,"p"],[78456,0,"e"],[78457,0,"a"],[78458,0,"r"],[78459,0,"s"],[78460,0," "],[78461,0,"\\"],[78462,0,"e"],[78463,0,"m"],[78464,0,"p"],[78465,0,"h"],[78466,0,"{"],[78467,0,"i"],[78468,0,"m"],[78469,0,"m"],[78470,0,"e"],[78471,0,"d"],[78472,0,"i"],[78473,0,"a"],[78474,0,"t"],[78475,0,"e"],[78476,0,"l"],[78477,0,"y"],[78478,0," "],[78479,0,"a"],[78480,0,"f"],[78481,0,"t"],[78482,0,"e"],[78483,0,"r"],[78484,0,"}"],[78467,0,"a"],[78468,0,"p"],[78469,0,"p"],[78470,0,"e"],[78471,0,"a"],[78472,0,"r"],[78472,1],[78471,1],[78470,1],[78469,1],[78468,1],[78467,1],[78485,0," "],[78486,0,"$"],[78487,0,"k"],[78488,0,"_"],[78489,0,"1"],[78490,0,"$"],[78491,0," "],[78492,0,"i"],[78493,0,"f"],[78494,0," "],[78495,0,"t"],[78496,0,"h"],[78497,0,"a"],[78498,0,"t"],[78499,0," "],[78500,0,"s"],[78501,0,"e"],[78502,0,"q"],[78503,0,"u"],[78504,0,"e"],[78505,0,"n"],[78506,0,"c"],[78507,0,"e"],[78508,0," "],[78509,0,"i"],[78510,0,"s"],[78511,0," "],[78512,0,"e"],[78513,0,"m"],[78514,0,"p"],[78515,0,"t"],[78516,0,"y"],[78517,0,","],[78518,0," "],[78519,0,"i"],[78520,0,"."],[78521,0,"e"],[78522,0,"."],[78523,0," "],[78524,0,"$"],[78525,0,"\\"],[78526,0,"m"],[78527,0,"a"],[78528,0,"t"],[78529,0,"h"],[78530,0,"i"],[78531,0,"t"],[78532,0,"{"],[78533,0,"c"],[78534,0,"t"],[78535,0,"x"],[78536,0,"}"],[78537,0,"("],[78538,0,"\\"],[78539,0,"m"],[78540,0,"a"],[78541,0,"t"],[78542,0,"h"],[78543,0,"s"],[78544,0,"f"],[78545,0,"{"],[78546,0,"n"],[78547,0,"e"],[78548,0,"x"],[78549,0,"t"],[78550,0,"}"],[78551,0,")"],[78551,1],[78551,0,"("],[78552,0,"k"],[78553,0,"_"],[78554,0,"1"],[78555,0,")"],[78556,0,")"],[78557,0,"$"],[78557,1],[78557,0," "],[78558,0,"="],[78559,0," "],[78560,0,"k"],[78561,0,"_"],[78562,0,"j"],[78563,0,"$"],[78564,0,"."],[78523,0," "],[78524,0,"i"],[78525,0,"f"],[78446,0," "],[78447,0,"w"],[78448,0,"e"],[78449,0," "],[78450,0,"s"],[78451,0,"a"],[78452,0,"y"],[81737,0,"\n"],[81738,0,"\n"],[81739,0,"\\"],[81740,0,"e"],[81740,1],[81740,0,"b"],[81741,0,"e"],[81742,0,"g"],[81743,0,"i"],[81744,0,"n"],[81745,0,"{"],[81746,0,"d"],[81747,0,"e"],[81748,0,"f"],[81749,0,"i"],[81750,0,"n"],[81751,0,"i"],[81752,0,"t"],[81753,0,"i"],[81754,0,"o"],[81755,0,"n"],[81756,0,"}"],[81757,0,"["],[81758,0,"c"],[81759,0,"o"],[81760,0,"m"],[81761,0,"m"],[81762,0,"a"],[81763,0,"n"],[81763,1],[81762,1],[81762,0,"o"],[81763,0,"n"],[81764,0," "],[81765,0,"a"],[81766,0,"n"],[81767,0,"c"],[81768,0,"e"],[81769,0,"s"],[81770,0,"t"],[81771,0,"o"],[81772,0,"r"],[81773,0,"]"],[81774,0,"\\"],[81775,0,"l"],[81776,0,"a"],[81777,0,"b"],[81778,0,"e"],[81779,0,"l"],[81780,0,"{"],[81781,0,"d"],[81782,0,"e"],[81783,0,"f"],[81784,0,":"],[81785,0,"c"],[81786,0,"o"],[81787,0,"m"],[81788,0,"m"],[81789,0,"o"],[81790,0,"n"],[81791,0,"-"],[81792,0,"a"],[81793,0,"n"],[81794,0,"c"],[81795,0,"e"],[81796,0,"s"],[81797,0,"t"],[81798,0,"o"],[81799,0,"r"],[81800,0,"}"],[81801,0,"\n"],[81802,0,"\\"],[81803,0,"e"],[81804,0,"n"],[81805,0,"d"],[81806,0,"{"],[81807,0,"d"],[81808,0,"e"],[81809,0,"f"],[81810,0,"i"],[81811,0,"n"],[81812,0,"i"],[81813,0,"t"],[81814,0,"i"],[81815,0,"o"],[81816,0,"n"],[81817,0,"}"],[81801,0,"\n"],[81802,0,"I"],[81803,0,"n"],[81804,0," "],[81805,0,"a"],[81806,0," "],[81807,0,"h"],[81808,0,"i"],[81809,0,"s"],[81810,0,"t"],[81811,0,"o"],[81812,0,"r"],[81813,0,"y"],[81814,0," "],[81815,0,"$"],[81816,0,"H"],[81817,0,"$"],[81818,0,","],[81819,0," "],[81820,0,"t"],[81821,0,"h"],[81822,0,"e"],[81823,0," "],[81824,0,"\\"],[81825,0,"e"],[81826,0,"m"],[81827,0,"p"],[81828,0,"h"],[81829,0,"{"],[81830,0,"c"],[81831,0,"o"],[81832,0,"m"],[81833,0,"m"],[81834,0,"o"],[81835,0,"n"],[81836,0," "],[81837,0,"a"],[81838,0,"n"],[81839,0,"c"],[81840,0,"e"],[81841,0,"s"],[81842,0,"t"],[81843,0,"o"],[81844,0,"r"],[81845,0,"}"],[81846,0," "],[81847,0,"o"],[81848,0,"f"],[81849,0," "],[81850,0,"t"],[81851,0,"w"],[81852,0,"o"],[81853,0," "],[81854,0,"o"],[81855,0,"p"],[81856,0,"e"],[81857,0,"r"],[81858,0,"a"],[81859,0,"t"],[81860,0,"i"],[81861,0,"o"],[81862,0,"n"],[81863,0,"s"],[81864,0," "],[81865,0,"$"],[81866,0,"o"],[81867,0,"_"],[81868,0,"1"],[81869,0,"$"],[81870,0," "],[81871,0,"a"],[81872,0,"n"],[81873,0,"d"],[81874,0," "],[81875,0,"$"],[81876,0,"o"],[81877,0,"_"],[81878,0,"2"],[81879,0,"$"],[81880,0,"%"],[81880,1],[81880,0," "],[81881,0,"i"],[81882,0,"s"],[81883,0," "],[81884,0,"t"],[81885,0,"h"],[81886,0,"e"],[81887,0," "],[81888,0,"l"],[81888,1],[81888,0,"d"],[81889,0,"o"],[81890,0,"c"],[81891,0,"u"],[81892,0,"m"],[81893,0,"e"],[81894,0,"n"],[81895,0,"t"],[81896,0," "],[81897,0,"s"],[81898,0,"t"],[81899,0,"a"],[81900,0,"t"],[81901,0,"e"],[81902,0," "],[81903,0,"t"],[81904,0,"h"],[81905,0,"a"],[81906,0,"t"],[81907,0," "],[81888,0,"m"],[81888,1],[81888,0,"l"],[81889,0,"a"],[81890,0,"t"],[81891,0,"e"],[81892,0,"s"],[81893,0,"t"],[81894,0," "],[81915,0,"c"],[81916,0,"a"],[81917,0,"u"],[81918,0,"s"],[81919,0,"a"],[81920,0,"l"],[81921,0,"l"],[81922,0,"y"],[81923,0," "],[81924,0,"p"],[81925,0,"r"],[81926,0,"e"],[81927,0,"c"],[81928,0,"e"],[81929,0,"d"],[81930,0,"e"],[81931,0,"s"],[81932,0," "],[81933,0,"b"],[81934,0,"o"],[81935,0,"t"],[81936,0,"h"],[81937,0," "],[81938,0,"$"],[81939,0,"o"],[81940,0,"_"],[81941,0,"1"],[81942,0,"$"],[81943,0," "],[81944,0,"a"],[81945,0,"n"],[81946,0,"d"],[81947,0," "],[81948,0,"$"],[81949,0,"o"],[81950,0,"_"],[81951,0,"2"],[81952,0,"$"],[81953,0,"."],[81972,0,"\n"],[81973,0,"\n"],[81973,0,"T"],[81974,0,"h"],[81975,0,"e"],[81976,0," "],[81977,0,"c"],[81978,0,"o"],[81979,0,"m"],[81980,0,"m"],[81981,0,"o"],[81982,0,"n"],[81983,0," "],[81984,0,"a"],[81985,0,"n"],[81986,0,"c"],[81987,0,"e"],[81988,0,"s"],[81989,0,"t"],[81990,0,"o"],[81991,0,"r"],[81992,0," "],[81993,0,"c"],[81994,0,"a"],[81995,0,"n"],[81996,0," "],[81997,0,"b"],[81998,0,"e"],[81999,0," "],[82000,0,"d"],[82001,0,"e"],[82002,0,"f"],[82003,0,"i"],[82004,0,"n"],[82005,0,"e"],[82006,0,"d"],[82007,0," "],[82008,0,"m"],[82009,0,"o"],[82010,0,"r"],[82011,0,"e"],[82012,0," "],[82013,0,"f"],[82014,0,"o"],[82015,0,"r"],[82016,0,"m"],[82017,0,"a"],[82018,0,"l"],[82019,0,"l"],[82020,0,"y"],[82021,0," "],[82022,0,"a"],[82023,0,"s"],[82024,0," "],[82025,0,"t"],[82026,0,"h"],[82027,0,"e"],[82028,0," "],[82029,0,"d"],[82030,0,"o"],[82031,0,"c"],[82032,0,"u"],[82033,0,"m"],[82034,0,"e"],[82035,0,"n"],[82036,0,"t"],[82037,0," "],[82038,0,"s"],[82039,0,"t"],[82040,0,"a"],[82041,0,"t"],[82042,0,"e"],[82043,0," "],[82044,0,"r"],[82045,0,"e"],[82046,0,"s"],[82047,0,"u"],[82048,0,"l"],[82049,0,"t"],[82050,0,"i"],[82051,0,"n"],[82052,0,"g"],[82053,0," "],[82054,0,"f"],[82055,0,"r"],[82056,0,"o"],[82057,0,"m"],[82058,0," "],[82059,0,"a"],[82060,0,"p"],[82061,0,"p"],[82062,0,"l"],[82063,0,"y"],[82064,0,"i"],[82065,0,"n"],[82066,0,"g"],[82067,0," "],[82068,0,"a"],[82069,0," "],[82070,0,"p"],[82071,0,"r"],[82072,0,"e"],[82073,0,"f"],[82074,0,"i"],[82075,0,"x"],[82076,0," "],[82077,0,"o"],[82078,0,"f"],[82079,0," "],[82080,0,"o"],[82081,0,"p"],[82082,0,"e"],[82083,0,"r"],[82084,0,"a"],[82085,0,"t"],[82086,0,"i"],[82087,0,"o"],[82088,0,"n"],[82089,0,"s"],[82090,0," "],[82091,0,"i"],[82092,0,"n"],[82093,0," "],[82094,0,"$"],[82095,0,"H"],[82096,0,"$"],[82078,1],[82077,1],[82076,1],[82075,1],[82074,1],[82073,1],[82072,1],[82071,1],[82070,1],[82070,0,"s"],[82071,0,"e"],[82072,0,"q"],[82073,0,"u"],[82074,0,"e"],[82075,0,"n"],[82076,0,"c"],[82077,0,"e"],[82078,0," "],[82079,0,"o"],[82080,0,"f"],[82093,1],[82093,1],[82093,0,"t"],[82094,0,"h"],[82094,1],[82093,1],[82092,1],[82092,0,","],[82093,0," "],[82094,0,"n"],[82095,0,"a"],[82096,0,"m"],[82097,0,"e"],[82098,0,"l"],[82099,0,"y"],[82100,0," "],[82101,0,"t"],[82102,0,"h"],[82103,0,"e"],[82104,0," "],[82105,0,"s"],[82106,0,"h"],[82107,0,"o"],[82108,0,"r"],[82109,0,"t"],[82110,0,"e"],[82111,0,"s"],[82112,0,"t"],[82113,0," "],[82114,0,"p"],[82115,0,"r"],[82116,0,"e"],[82117,0,"f"],[82118,0,"i"],[82119,0,"x"],[82120,0," "],[82121,0,"o"],[82122,0,"f"],[82127,0," "],[82128,0,"t"],[82129,0,"h"],[82130,0,"a"],[82131,0,"t"],[82132,0," "],[82133,0,"s"],[82134,0,"a"],[82135,0,"t"],[82136,0,"i"],[82137,0,"s"],[82138,0,"f"],[82139,0,"i"],[82140,0,"e"],[82141,0,"s"],[82142,0," "],[81992,0," "],[81993,0,"o"],[81994,0,"f"],[81995,0," "],[81996,0,"$"],[81997,0,"O"],[81997,1],[81997,0,"o"],[81998,0,"_"],[81999,0,"1"],[82000,0,"$"],[82001,0," "],[82002,0,"a"],[82003,0,"n"],[82004,0,"d"],[82005,0," "],[82006,0,"$"],[82007,0,"o"],[82008,0,"_"],[82009,0,"2"],[82010,0,"$"],[81868,1],[81868,0,"r"],[81878,1],[81878,0,"s"],[81941,1],[81941,0,"r"],[81951,1],[81951,0,"s"],[82009,1],[82009,0,"s"],[81999,1],[81999,0,"r"],[81868,1],[81868,0,"s"],[81878,1],[81878,0,"t"],[81878,1],[81878,0,"s"],[81868,1],[81868,0,"r"],[82111,0," "],[82112,0,"$"],[82113,0,"\\"],[82114,0,"a"],[82114,1],[82114,0,"l"],[82115,0,"a"],[82116,0,"n"],[82117,0,"g"],[82118,0,"l"],[82119,0,"e"],[82120,0," "],[82121,0,"o"],[82122,0,"_"],[82123,0,"1"],[82124,0,","],[82125,0," "],[82126,0,"\\"],[82127,0,"d"],[82128,0,"o"],[82129,0,"t"],[82130,0,"s"],[82131,0,","],[82132,0," "],[82133,0,"o"],[82134,0,"_"],[82135,0,"j"],[82136,0," "],[82137,0,"\\"],[82138,0,"r"],[82139,0,"a"],[82140,0,"n"],[82141,0,"g"],[82142,0,"l"],[82143,0,"e"],[82144,0,"$"],[82145,1],[82146,1],[82146,1],[82146,1],[82146,1],[82146,1],[82146,1],[82146,0,"t"],[82147,0,"h"],[82148,0,"a"],[82149,0,"t"],[82150,0," "],[82151,0,"i"],[82152,0,"s"],[82196,0,"$"],[82197,0,"("],[82198,0,"o"],[82199,0,"_"],[82200,0,"r"],[82201,0,"."],[82202,0,"\\"],[82203,0,"m"],[82204,0,"a"],[82205,0,"t"],[82206,0,"h"],[82207,0,"i"],[82208,0,"t"],[82209,0,"{"],[82210,0,"d"],[82211,0,"e"],[82212,0,"p"],[82213,0,"s"],[82214,0,"}"],[82215,0," "],[82216,0,"\\"],[82217,0,"c"],[82218,0,"u"],[82219,0,"p"],[82220,0," "],[82221,0,"o"],[82222,0,"_"],[82223,0,"s"],[82224,0,"\\"],[82225,0,"."],[82226,0,"m"],[82227,0,"a"],[82228,0,"t"],[82229,0,"h"],[82230,0,"i"],[82231,0,"t"],[82232,0,"{"],[82233,0,"d"],[82234,0,"e"],[82235,0,"p"],[82236,0,"s"],[82237,0,"}"],[82238,0,")"],[82239,0," "],[82240,0,"\\"],[82241,0,"s"],[82242,0,"u"],[82243,0,"b"],[82244,0,"s"],[82245,0,"e"],[82246,0,"t"],[82247,0,"e"],[82248,0,"q"],[82249,0," "],[82250,0,"\\"],[82251,0,"{"],[82252,0,"o"],[82253,0,"_"],[82254,0,"1"],[82255,0,"."],[82256,0,"\\"],[82257,0,"m"],[82258,0,"a"],[82259,0,"t"],[82260,0,"h"],[82261,0,"i"],[82262,0,"t"],[82263,0,"{"],[82264,0,"i"],[82265,0,"d"],[82266,0,"}"],[82267,0,","],[82268,0," "],[82269,0,"\\"],[82270,0,"d"],[82271,0,"o"],[82272,0,"t"],[82273,0,"s"],[82274,0,","],[82275,0," "],[82276,0,"o"],[82277,0,"_"],[82278,0,"j"],[82279,0,"."],[82280,0,"\\"],[82281,0,"m"],[82282,0,"a"],[82283,0,"t"],[82284,0,"h"],[82285,0,"i"],[82286,0,"t"],[82287,0,"{"],[82288,0,"i"],[82289,0,"d"],[82290,0,"}"],[82291,0,"\\"],[82292,0,"}"],[82293,0,"$"],[82294,0,"."],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[83103,1],[82224,0,"."],[82226,1],[82327,1],[82327,0,"-"],[82219,1],[82218,1],[82217,1],[82217,0,"c"],[82218,0,"a"],[82219,0,"p"],[81853,0," "],[81854,0,"c"],[81855,0,"o"],[81856,0,"n"],[81857,0,"c"],[81858,0,"u"],[81859,0,"r"],[81860,0,"r"],[81861,0,"e"],[81862,0,"n"],[81863,0,"t"],[82307,0,"\n"],[82308,0,"\n"],[82308,0,"\\"],[82309,0,"b"],[82310,0,"e"],[82311,0,"g"],[82312,0,"i"],[82313,0,"n"],[82314,0,"{"],[82315,0,"d"],[82316,0,"e"],[82317,0,"f"],[82318,0,"i"],[82319,0,"n"],[82320,0,"i"],[82321,0,"t"],[82322,0,"i"],[82323,0,"o"],[82324,0,"n"],[82325,0,"}"],[82326,0,"["],[82327,0,"i"],[82328,0,"n"],[82329,0,"s"],[82330,0,"e"],[82331,0,"r"],[82332,0,"t"],[82333,0,"i"],[82334,0,"o"],[82335,0,"n"],[82336,0," "],[82337,0,"i"],[82338,0,"n"],[82339,0,"t"],[82340,0,"e"],[82341,0,"r"],[82342,0,"v"],[82343,0,"a"],[82344,0,"l"],[82345,0,"\n"],[82345,1],[82345,0,"]"],[82346,0,"\\"],[82347,0,"l"],[82348,0,"a"],[82349,0,"b"],[82350,0,"e"],[82351,0,"l"],[82352,0,"{"],[82353,0,"d"],[82354,0,"e"],[82355,0,"f"],[82356,0,":"],[82357,0,"i"],[82358,0,"n"],[82359,0,"s"],[82360,0,"e"],[82361,0,"r"],[82362,0,"t"],[82363,0,"-"],[82364,0,"i"],[82365,0,"n"],[82366,0,"t"],[82367,0,"e"],[82368,0,"r"],[82369,0,"v"],[82370,0,"a"],[82371,0,"l"],[82372,0,"}"],[82373,0,"\n"],[82374,0,"\\"],[82375,0,"e"],[82376,0,"n"],[82377,0,"d"],[82378,0,"{"],[82379,0,"d"],[82380,0,"e"],[82381,0,"f"],[82382,0,"i"],[82383,0,"n"],[82384,0,"i"],[82385,0,"t"],[82386,0,"i"],[82387,0,"o"],[82388,0,"n"],[82389,0,"}"],[82374,0,"\n"],[82374,0,"T"],[82374,1],[82374,0,"G"],[82375,0,"i"],[82376,0,"v"],[82377,0,"e"],[82378,0,"n"],[82379,0," "],[82380,0,"t"],[82381,0,"w"],[82382,0,"o"],[82383,0," "],[82384,0,"i"],[82385,0,"n"],[82386,0,"s"],[82387,0,"e"],[82388,0,"r"],[82389,0,"t"],[82389,1],[82388,1],[82387,1],[82386,1],[82385,1],[82384,1],[82384,0,"o"],[82385,0,"p"],[82386,0,"e"],[82387,0,"r"],[82388,0,"a"],[82389,0,"t"],[82390,0,"i"],[82391,0,"o"],[82392,0,"n"],[82393,0,"s"],[82394,0," "],[82395,0,"$"],[82396,0,"o"],[82397,0,"_"],[82398,0,"r"],[82399,0,"$"],[82400,0," "],[82401,0,"a"],[82402,0,"n"],[82403,0,"d"],[82404,0," "],[82405,0,"$"],[82406,0,"o"],[82407,0,"_"],[82408,0,"s"],[82409,0,"$"],[82410,0," "],[82411,0,"t"],[82412,0,"h"],[82413,0,"a"],[82414,0,"t"],[82415,0," "],[82416,0,"i"],[82417,0,"n"],[82418,0,"s"],[82419,0,"e"],[82420,0,"r"],[82421,0,"t"],[82422,0," "],[82423,0,"i"],[82424,0,"n"],[82425,0,"t"],[82426,0,"o"],[82427,0," "],[82428,0,"t"],[82429,0,"h"],[82430,0,"e"],[82431,0," "],[82432,0,"s"],[82433,0,"a"],[82434,0,"m"],[82435,0,"e"],[82436,0," "],[82437,0,"l"],[82438,0,"i"],[82439,0,"s"],[82440,0,"t"],[82441,0,","],[82442,0," "],[82443,0,"t"],[82444,0,"h"],[82445,0,"e"],[82446,0," "],[82447,0,"\\"],[82448,0,"e"],[82449,0,"m"],[82450,0,"p"],[82451,0,"h"],[82452,0,"{"],[82453,0,"i"],[82454,0,"n"],[82455,0,"s"],[82456,0,"e"],[82457,0,"r"],[82458,0,"t"],[82459,0,"i"],[82460,0,"o"],[82461,0,"n"],[82462,0," "],[82463,0,"i"],[82464,0,"n"],[82465,0,"t"],[82466,0,"e"],[82467,0,"r"],[82468,0,"v"],[82469,0,"a"],[82470,0,"l"],[82471,0,"}"],[82472,0," "],[82473,0,"o"],[82474,0,"f"],[82475,0," "],[82476,0,"t"],[82477,0,"h"],[82477,1],[82476,1],[82476,0,"$"],[82477,0,"o"],[82478,0,"_"],[82479,0,"r"],[82480,0,"$"],[82481,0," "],[82482,0,"i"],[82483,0,"s"],[82484,0," "],[82485,0,"t"],[82486,0,"h"],[82487,0,"e"],[82488,0," "],[82489,0,"p"],[82490,0,"a"],[82491,0,"i"],[82492,0,"r"],[82493,0," "],[82494,0,"o"],[82495,0,"f"],[82496,0," "],[82497,0,"k"],[82498,0,"e"],[82499,0,"y"],[82500,0,"s"],[82501,0," "],[82502,0,"$"],[82503,0,"("],[82504,0,"k"],[82505,0,"_"],[82506,0,"r"],[82507,0,"^"],[82508,0,"\\"],[82509,0,"m"],[82510,0,"a"],[82511,0,"t"],[82512,0,"h"],[82513,0,"i"],[82514,0,"t"],[82515,0,"{"],[82516,0,"b"],[82517,0,"e"],[82518,0,"f"],[82519,0,"o"],[82520,0,"r"],[82521,0,"e"],[82522,0,"}"],[82523,0,","],[82524,0," "],[82525,0,"k"],[82526,0,"_"],[82527,0,"r"],[82528,0,"&"],[82528,1],[82528,0,"^"],[82529,0,"\\"],[82530,0,"m"],[82531,0,"a"],[82532,0,"t"],[82533,0,"h"],[82534,0,"i"],[82535,0,"t"],[82536,0,"{"],[82537,0,"a"],[82538,0,"f"],[82539,0,"t"],[82540,0,"e"],[82541,0,"r"],[82542,0,"}"],[82543,0,")"],[82544,0,"$"],[82535,1],[82534,1],[82534,0,"r"],[82535,0,"m"],[82514,1],[82513,1],[82513,0,"r"],[82514,0,"m"],[82545,0," "],[82383,0," "],[82384,0,"c"],[82385,0,"o"],[82386,0,"n"],[82387,0,"c"],[82388,0,"u"],[82389,0,"r"],[82390,0,"r"],[82391,0,"e"],[82392,0,"n"],[82393,0,"t"],[82557,0,"s"],[82558,0,"u"],[82559,0,"c"],[82560,0,"h"],[82561,0," "],[82562,0,"t"],[82563,0,"h"],[82564,0,"a"],[82565,0,"t"],[82566,0," "],[82567,0,"$"],[82568,0,"k"],[82569,0,"_"],[82570,0,"r"],[82571,0,"&"],[82571,1],[82571,0,"^"],[82572,0,"\\"],[82573,0,"m"],[82574,0,"a"],[82575,0,"t"],[82576,0,"h"],[82577,0,"i"],[82577,1],[82577,0,"r"],[82578,0,"m"],[82579,0,"{"],[82580,0,"b"],[82581,0,"e"],[82582,0,"f"],[82583,0,"o"],[82584,0,"r"],[82585,0,"e"],[82586,0,"}"],[82587,0,"$"],[82566,0," "],[82567,0,"$"],[82568,0,"o"],[82569,0,"_"],[82570,0,"r"],[82571,0,"."],[82572,0,"\\"],[82573,0,"m"],[82574,0,"a"],[82575,0,"t"],[82576,0,"h"],[82577,0,"i"],[82578,0,"t"],[82579,0,"{"],[82580,0,"i"],[82581,0,"d"],[82582,0,"}"],[82583,0,"$"],[82584,0," "],[82585,0,"a"],[82586,0,"p"],[82587,0,"p"],[82588,0,"e"],[82589,0,"a"],[82590,0,"r"],[82591,0,"s"],[82592,0," "],[82593,0,"a"],[82594,0,"f"],[82595,0,"t"],[82596,0,"e"],[82597,0,"r"],[82620,0," "],[82621,0,"w"],[82622,0,"h"],[82623,0,"e"],[82624,0,"n"],[82625,0," "],[82626,0,"$"],[82627,0,"o"],[82628,0,"_"],[82629,0,"r"],[82630,0,"$"],[82631,0," "],[82632,0,"h"],[82633,0,"a"],[82634,0,"s"],[82635,0," "],[82636,0,"b"],[82637,0,"e"],[82638,0,"e"],[82639,0,"n"],[82640,0," "],[82641,0,"a"],[82642,0,"p"],[82643,0,"p"],[82644,0,"l"],[82645,0,"i"],[82646,0,"e"],[82647,0,"d"],[82648,0,","],[82649,0," "],[82650,0,"$"],[82651,0,"k"],[82652,0,"_"],[82653,0,"r"],[82654,0,"&"],[82654,1],[82654,0,"^"],[82655,0,"\\"],[82656,0,"m"],[82657,0,"a"],[82658,0,"t"],[82659,0,"h"],[82660,0,"r"],[82661,0,"m"],[82662,0,"{"],[82663,0,"a"],[82664,0,"f"],[82665,0,"t"],[82666,0,"e"],[82667,0,"r"],[82668,0,"}"],[82669,0,"$"],[82670,0," "],[82671,0,"a"],[82672,0,"p"],[82673,0,"p"],[82674,0,"e"],[82675,0,"a"],[82676,0,"r"],[82677,0,"s"],[82678,0," "],[82679,0,"a"],[82680,0,"f"],[82681,0,"t"],[82682,0,"e"],[82683,0,"r"],[82684,0," "],[82685,0,"$"],[82686,0,"k"],[82687,0,"_"],[82687,1],[82686,1],[82686,0,"o"],[82687,0,"_"],[82688,0,"r"],[82689,0,"."],[82690,0,"\\"],[82691,0,"m"],[82692,0,"a"],[82693,0,"t"],[82694,0,"h"],[82695,0,"i"],[82696,0,"t"],[82697,0,"{"],[82698,0,"i"],[82699,0,"d"],[82700,0,"}"],[82701,0,"$"],[82702,0," "],[82703,0,"a"],[82703,1],[82703,0,"w"],[82704,0,"h"],[82705,0,"e"],[82706,0,"n"],[82707,0," "],[82708,0,"$"],[82709,0,"o"],[82710,0,"_"],[82711,0,"r"],[82712,0,"$"],[82713,0," "],[82714,0,"h"],[82715,0,"a"],[82716,0,"s"],[82717,0," "],[82718,0,"b"],[82719,0,"e"],[82720,0,"e"],[82721,0,"n"],[82722,0," "],[82723,0,"a"],[82724,0,"p"],[82725,0,"p"],[82726,0,"l"],[82727,0,"i"],[82728,0,"e"],[82729,0,"d"],[82730,0,","],[82731,0," "],[82732,0,"a"],[82733,0,"n"],[82734,0,"d"],[82735,0," "],[82736,0,"$"],[82737,0,"k"],[82738,0,"_"],[82739,0,"r"],[82740,0,"^"],[82741,0,"\\"],[82742,0,"m"],[82743,0,"a"],[82744,0,"t"],[82745,0,"h"],[82746,0,"r"],[82747,0,"m"],[82748,0,"{"],[82749,0,"a"],[82750,0,"f"],[82751,0,"t"],[82752,0,"e"],[82753,0,"r"],[82754,0,"}"],[82755,0," "],[82756,0,"a"],[82757,0,"p"],[82758,0,"p"],[82759,0,"e"],[82760,0,"a"],[82761,0,"r"],[82762,0,"s"],[82763,0," "],[82764,0,"i"],[82765,0,"m"],[82766,0,"m"],[82767,0,"e"],[82768,0,"d"],[82769,0,"i"],[82770,0,"a"],[82771,0,"t"],[82772,0,"e"],[82773,0,"l"],[82774,0,"y"],[82775,0," "],[82776,0,"a"],[82777,0,"f"],[82778,0,"t"],[82779,0,"e"],[82780,0,"r"],[82781,0," "],[82782,0,"$"],[82783,0,"k"],[82784,0,"_"],[82785,0,"r"],[82786,0,"&"],[82786,1],[82786,0,"^"],[82787,0,"\\"],[82788,0,"m"],[82789,0,"a"],[82790,0,"t"],[82791,0,"h"],[82792,0,"r"],[82793,0,"m"],[82794,0,"{"],[82795,0,"b"],[82796,0,"e"],[82797,0,"f"],[82798,0,"o"],[82799,0,"r"],[82800,0,"e"],[82801,0,"}"],[82802,0,"$"],[82755,0,"$"],[82804,0," "],[82805,0,"i"],[82806,0,"n"],[82807,0," "],[82808,0,"t"],[82809,0,"h"],[82810,0,"e"],[82811,0," "],[82812,0,"c"],[82813,0,"o"],[82814,0,"m"],[82815,0,"m"],[82816,0,"o"],[82817,0,"n"],[82818,0," "],[82819,0,"a"],[82820,0,"n"],[82821,0,"c"],[82822,0,"e"],[82823,0,"s"],[82824,0,"t"],[82825,0,"o"],[82826,0,"r"],[82827,0," "],[82828,0,"o"],[82829,0,"f"],[82830,0," "],[82831,0,"$"],[82832,0,"o"],[82833,0,"_"],[82834,0,"r"],[82835,0,"$"],[82836,0," "],[82837,0,"a"],[82838,0,"n"],[82839,0,"d"],[82840,0," "],[82841,0,"$"],[82842,0,"o"],[82843,0,"_"],[82844,0,"s"],[82845,0,"$"],[82846,0,"."],[82847,0," "],[82848,0,"T"],[82849,0,"h"],[82850,0,"e"],[82851,0," "],[82852,0,"i"],[82853,0,"n"],[82854,0,"s"],[82855,0,"e"],[82856,0,"r"],[82857,0,"t"],[82858,0,"i"],[82859,0,"o"],[82860,0,"n"],[82861,0," "],[82862,0,"i"],[82863,0,"n"],[82864,0,"t"],[82865,0,"e"],[82866,0,"r"],[82867,0,"v"],[82868,0,"a"],[82869,0,"l"],[82870,0," "],[82871,0,"o"],[82872,0,"f"],[82873,0," "],[82874,0,"$"],[82875,0,"o"],[82876,0,"_"],[82877,0,"s"],[82878,0,"$"],[82879,0," "],[82880,0,"i"],[82881,0,"s"],[82882,0," "],[82883,0,"t"],[82884,0,"h"],[82885,0,"e"],[82886,0," "],[82887,0,"p"],[82888,0,"a"],[82889,0,"i"],[82890,0,"r"],[82891,0," "],[82892,0,"o"],[82893,0,"f"],[82894,0," "],[82895,0,"k"],[82896,0,"e"],[82897,0,"y"],[82898,0,"s"],[82899,0," "],[82900,0,"$"],[82901,0,"("],[82902,0,"k"],[82903,0,"_"],[82904,0,"s"],[82905,0,"^"],[82906,0,"\\"],[82907,0,"m"],[82908,0,"a"],[82909,0,"t"],[82910,0,"h"],[82911,0,"r"],[82912,0,"m"],[82913,0,"{"],[82914,0,"b"],[82915,0,"e"],[82916,0,"f"],[82917,0,"o"],[82918,0,"r"],[82919,0,"e"],[82920,0,"}"],[82921,0,","],[82922,0," "],[82923,0,"k"],[82924,0,"_"],[82925,0,"s"],[82926,0,"^"],[82927,0,"\\"],[82928,0,"m"],[82929,0,"a"],[82930,0,"t"],[82931,0,"h"],[82932,0,"r"],[82933,0,"m"],[82934,0,"{"],[82935,0,"a"],[82936,0,"f"],[82937,0,"t"],[82938,0,"e"],[82939,0,"r"],[82940,0,"}"],[82941,0,")"],[82942,0,"$"],[82943,0," "],[82944,0,"d"],[82945,0,"e"],[82946,0,"f"],[82947,0,"i"],[82948,0,"n"],[82949,0,"e"],[82950,0,"d"],[82951,0," "],[82952,0,"a"],[82953,0,"l"],[82953,1],[82952,1],[82952,0,"s"],[82953,0,"i"],[82954,0,"m"],[82955,0,"i"],[82956,0,"l"],[82957,0,"a"],[82958,0,"r"],[82959,0,"l"],[82960,0,"y"],[82961,0,"."],[82980,0,"\n"],[82981,0,"\n"],[82981,0,"I"],[82982,0,"f"],[82983,0," "],[82983,1],[82982,1],[82982,0,"t"],[82983,0," "],[82984,0,"m"],[82985,0,"a"],[82986,0,"y"],[82987,0," "],[82988,0,"b"],[82989,0,"e"],[82990,0," "],[82991,0,"t"],[82992,0,"h"],[82993,0,"e"],[82994,0," "],[82995,0,"c"],[82996,0,"a"],[82997,0,"s"],[82998,0,"e"],[82999,0," "],[83000,0,"t"],[83001,0,"h"],[83002,0,"a"],[83003,0,"t"],[83004,0," "],[83005,0,"$"],[83006,0,"K"],[83006,1],[83006,0,"k"],[83007,0,"_"],[83008,0,"r"],[83009,0,"^"],[83010,0,"\\"],[83011,0,"m"],[83012,0,"a"],[83013,0,"t"],[83014,0,"h"],[83015,0,"r"],[83016,0,"m"],[83017,0,"{"],[83018,0,"b"],[83019,0,"e"],[83020,0,"f"],[83021,0,"o"],[83022,0,"r"],[83023,0,"e"],[83024,0,"}"],[83025,0,"$"],[83026,0," "],[83027,0,"o"],[83028,0,"r"],[83029,0," "],[83030,0,"$"],[83031,0,"k"],[83032,0,"_"],[83033,0,"s"],[83034,0,"^"],[83035,0,"\\"],[83036,0,"b"],[83037,0,"e"],[83037,1],[83036,1],[83036,0,"m"],[83037,0,"a"],[83038,0,"t"],[83039,0,"h"],[83040,0,"r"],[83041,0,"m"],[83042,0,"{"],[83043,0,"b"],[83044,0,"e"],[83045,0,"f"],[83046,0,"o"],[83047,0,"r"],[83048,0,"e"],[83049,0,"}"],[83050,0,"$"],[83051,0," "],[83052,0,"i"],[83053,0,"s"],[83054,0," "],[83055,0,"\\"],[83055,1],[83055,0,"$"],[83056,0,"\\"],[83056,1],[83055,1],[83055,0,"\\"],[83056,0,"t"],[83057,0,"e"],[83058,0,"x"],[83059,0,"t"],[83060,0,"s"],[83061,0,"f"],[83062,0,"{"],[83063,0,"h"],[83064,0,"e"],[83065,0,"a"],[83066,0,"d"],[83067,0,"}"],[83068,0," "],[83068,1],[83068,0,","],[83069,0," "],[83070,0,"a"],[83071,0,"n"],[83072,0,"d"],[83073,0," "],[83074,0,"t"],[83075,0,"h"],[83076,0,"a"],[83077,0,"t"],[83078,0," "],[83079,0,"$"],[83080,0,"k"],[83081,0,"_"],[83082,0,"r"],[83083,0,"^"],[83084,0,"\\"],[83085,0,"m"],[83086,0,"a"],[83087,0,"t"],[83088,0,"h"],[83089,0,"r"],[83090,0,"m"],[83091,0,"{"],[83092,0,"a"],[83093,0,"f"],[83094,0,"t"],[83095,0,"e"],[83096,0,"r"],[83097,0,"}"],[83098,0,"$"],[83099,0," "],[83100,0,"o"],[83101,0,"r"],[83102,0," "],[83103,0,"$"],[83104,0,"\\"],[83105,0,"k"],[83105,1],[83104,1],[83104,0,"k"],[83105,0,"_"],[83106,0,"s"],[83107,0,"^"],[83108,0,"\\"],[83109,0,"m"],[83110,0,"a"],[83111,0,"t"],[83112,0,"h"],[83113,0,"r"],[83114,0,"m"],[83115,0,"{"],[83116,0,"a"],[83117,0,"f"],[83118,0,"t"],[83119,0,"e"],[83120,0,"r"],[83121,0,"}"],[83122,0,"$"],[83123,0," "],[83124,0,"i"],[83125,0,"s"],[83126,0," "],[83127,0,"'"],[83127,1],[83127,0,"\\"],[83128,0,"t"],[83129,0,"e"],[83130,0,"x"],[83131,0,"t"],[83132,0,"s"],[83133,0,"f"],[83134,0,"{"],[83135,0,"t"],[83136,0,"a"],[83137,0,"i"],[83138,0,"l"],[83139,0,"}"],[83140,0,"."],[83141,0," "],[83142,0,"i"],[83142,1],[83142,0,"I"],[83143,0,"n"],[83144,0," "],[83145,0,"p"],[83146,0,"a"],[83147,0,"r"],[83148,0,"t"],[83149,0,"i"],[83150,0,"c"],[83151,0,"u"],[83152,0,"l"],[83153,0,"a"],[83154,0,"r"],[83155,0,","],[83156,0," "],[83157,0,"t"],[83158,0,"h"],[83159,0,"i"],[83160,0,"s"],[83161,0," "],[83162,0,"i"],[83163,0,"s"],[83164,0," "],[83165,0,"t"],[83166,0,"h"],[83167,0,"e"],[83168,0," "],[83169,0,"c"],[83170,0,"a"],[83171,0,"s"],[83172,0,"e"],[83173,0," "],[83174,0,"i"],[83175,0,"f"],[83176,0," "],[83177,0,"$"],[83178,0,"o"],[83179,0,"_"],[83180,0,"r"],[83181,0,"$"],[83182,0," "],[83183,0,"a"],[83184,0,"n"],[83185,0,"d"],[83186,0," "],[83187,0,"$"],[83188,0,"o"],[83189,0,"_"],[83190,0,"s"],[83191,0,"$"],[83192,0," "],[83193,0,"h"],[83194,0,"a"],[83195,0,"v"],[83196,0,"e"],[83197,0," "],[83198,0,"n"],[83199,0,"o"],[83200,0," "],[83201,0,"c"],[83202,0,"o"],[83203,0,"m"],[83204,0,"m"],[83205,0,"o"],[83206,0,"n"],[83207,0," "],[83208,0,"c"],[83209,0,"a"],[83210,0,"u"],[83211,0,"s"],[83212,0,"a"],[83213,0,"l"],[83214,0," "],[83215,0,"h"],[83216,0,"i"],[83217,0,"s"],[83218,0,"t"],[83219,0,"o"],[83220,0,"r"],[83221,0,"y"],[83222,0,","],[83223,0," "],[83224,0,"i"],[83225,0,"."],[83226,0,"e"],[83227,0,"."],[83228,0," "],[83229,0,"i"],[83230,0,"f"],[83231,0," "],[83232,0,"$"],[83233,0,"o"],[83234,0,"_"],[83235,0,"r"],[83236,0,"\\"],[83236,1],[83236,0,"."],[83237,0,"\\"],[83238,0,"m"],[83239,0,"a"],[83240,0,"t"],[83241,0,"h"],[83242,0,"i"],[83243,0,"t"],[83244,0,"{"],[83245,0,"d"],[83246,0,"e"],[83247,0,"p"],[83248,0,"s"],[83249,0,"}"],[83250,0," "],[83251,0,"\\"],[83252,0,"c"],[83253,0,"a"],[83254,0,"p"],[83255,0," "],[83256,0,"o"],[83257,0,"_"],[83258,0,"s"],[83259,0,"."],[83260,0,"\\"],[83261,0,"m"],[83262,0,"a"],[83263,0,"t"],[83264,0,"h"],[83265,0,"i"],[83266,0,"t"],[83267,0,"{"],[83268,0,"d"],[83269,0,"e"],[83270,0,"p"],[83271,0,"s"],[83272,0,"}"],[83273,0," "],[83274,0,"="],[83275,0," "],[83276,0,"\\"],[83277,0,"{"],[83278,0,"\\"],[83279,0,"}"],[83280,0,"$"],[83281,0," "],[83282,0,"a"],[83283,0,"n"],[83284,0,"d"],[83285,0," "],[83286,0,"s"],[83287,0,"o"],[83288,0," "],[83289,0,"t"],[83290,0,"h"],[83291,0,"e"],[83292,0," "],[83293,0,"c"],[83294,0,"o"],[83295,0,"m"],[83296,0,"m"],[83297,0,"o"],[83298,0,"n"],[83299,0," "],[83300,0,"a"],[83301,0,"n"],[83302,0,"c"],[83303,0,"e"],[83304,0,"s"],[83305,0,"t"],[83306,0,"o"],[83307,0,"r"],[83308,0," "],[83309,0,"i"],[83310,0,"s"],[83311,0," "],[83312,0,"t"],[83313,0,"h"],[83314,0,"e"],[83315,0," "],[83316,0,"e"],[83317,0,"m"],[83318,0,"p"],[83319,0,"t"],[83320,0,"y"],[83321,0," "],[83322,0,"d"],[83323,0,"o"],[83324,0,"c"],[83325,0,"u"],[83326,0,"m"],[83327,0,"e"],[83328,0,"n"],[83329,0,"t"],[83330,0,"."],[83154,1],[83153,1],[83152,1],[83151,1],[83150,1],[83149,1],[83148,1],[83147,1],[83146,1],[83145,1],[83144,1],[83143,1],[83142,1],[83142,0,"F"],[83143,0,"o"],[83144,0,"r"],[83145,0," "],[83146,0,"e"],[83147,0,"x"],[83148,0,"a"],[83149,0,"m"],[83150,0,"p"],[83151,0,"l"],[83152,0,"e"],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83142,1],[83141,1],[83206,0," "],[83207,0,"$"],[83208,0,"H"],[83209,0,"$"],[83342,0,"\n"],[83343,0,"G"],[83344,0,"i"],[83345,0,"v"],[83346,0,"e"],[83347,0,"n"],[83348,0," "],[83349,0,"a"],[83350,0,"n"],[83351,0,"y"],[83352,0," "],[83353,0,"t"],[83354,0,"w"],[83355,0,"o"],[83356,0," "],[83357,0,"c"],[83358,0,"o"],[83359,0,"n"],[83360,0,"c"],[83361,0,"u"],[83362,0,"r"],[83363,0,"r"],[83364,0,"e"],[83365,0,"n"],[83366,0,"t"],[83367,0," "],[83368,0,"i"],[83369,0,"n"],[83370,0,"s"],[83371,0,"e"],[83372,0,"r"],[83373,0,"t"],[83374,0,"i"],[83375,0,"o"],[83376,0,"n"],[83377,0," "],[83378,0,"o"],[83379,0,"p"],[83380,0,"e"],[83381,0,"r"],[83382,0,"a"],[83383,0,"t"],[83384,0,"i"],[83385,0,"o"],[83386,0,"n"],[83387,0,"s"],[83388,0," "],[83389,0,"i"],[83390,0,"n"],[83391,0," "],[83392,0,"$"],[83393,0,"H"],[83394,0,"$"],[83395,0,","],[83396,0," "],[83397,0,"w"],[83398,0,"e"],[83399,0," "],[83400,0,"m"],[83401,0,"u"],[83402,0,"s"],[83403,0,"t"],[83404,0," "],[83405,0,"s"],[83406,0,"h"],[83407,0,"o"],[83408,0,"w"],[83409,0," "],[83410,0,"t"],[83411,0,"h"],[83412,0,"a"],[83413,0,"t"],[83414,0," "],[83415,0,"t"],[83416,0,"h"],[83417,0,"e"],[83418,0," "],[83419,0,"d"],[83420,0,"o"],[83421,0,"c"],[83422,0,"u"],[83423,0,"m"],[83424,0,"e"],[83388,0," "],[83389,0,"$"],[83390,0,"o"],[83391,0,"_"],[83392,0,"r"],[83393,0,","],[83394,0," "],[83395,0,"$"],[83396,0,"o"],[83397,0,"_"],[83398,0,"s"],[83399,0,"$"],[83437,0,"n"],[83438,0,"t"],[83439,0," "],[83440,0,"s"],[83441,0,"t"],[83442,0,"a"],[83443,0,"t"],[83444,0,"e"],[83445,0," "],[83446,0,"d"],[83447,0,"o"],[83448,0,"e"],[83449,0,"s"],[83450,0," "],[83451,0,"n"],[83452,0,"o"],[83453,0,"t"],[83454,0," "],[83455,0,"d"],[83456,0,"e"],[83457,0,"p"],[83458,0,"e"],[83459,0,"n"],[83460,0,"d"],[83461,0," "],[83462,0,"o"],[83463,0,"n"],[83464,0," "],[83465,0,"t"],[83466,0,"h"],[83467,0,"e"],[83468,0," "],[83469,0,"o"],[83470,0,"r"],[83471,0,"d"],[83472,0,"e"],[83473,0,"r"],[83474,0," "],[83475,0,"i"],[83476,0,"n"],[83477,0," "],[83478,0,"w"],[83479,0,"h"],[83480,0,"i"],[83481,0,"c"],[83482,0,"h"],[83483,0," "],[83484,0,"$"],[83485,0,"o"],[83486,0,"_"],[83487,0,"r"],[83488,0,"$"],[83489,0," "],[83490,0,"a"],[83491,0,"n"],[83492,0,"d"],[83493,0," "],[83494,0,"$"],[83495,0,"o"],[83496,0,"_"],[83497,0,"s"],[83498,0,"$"],[83499,0," "],[83500,0,"a"],[83501,0,"r"],[83502,0,"e"],[83503,0," "],[83504,0,"a"],[83505,0,"p"],[83506,0,"p"],[83507,0,"l"],[83508,0,"i"],[83509,0,"e"],[83510,0,"d"],[83511,0,"."],[83512,0,"\n"],[83512,0,"\n"],[83513,0,"\n"],[83514,0,"E"],[83515,0,"i"],[83516,0,"t"],[83517,0,"h"],[83518,0,"e"],[83519,0,"r"],[83520,0," "],[83521,0,"$"],[83522,0,"o"],[83523,0,"_"],[83524,0,"r"],[83525,0,"$"],[83526,0," "],[83527,0,"a"],[83528,0,"n"],[83529,0,"d"],[83530,0," "],[83531,0,"$"],[83532,0,"o"],[83533,0,"_"],[83534,0,"s"],[83535,0,"$"],[83536,0," "],[83537,0,"a"],[83538,0,"h"],[83539,0,"v"],[83540,0,"e"],[83541,0," "],[83541,1],[83540,1],[83539,1],[83538,1],[83537,1],[83537,0,"h"],[83538,0,"a"],[83539,0,"v"],[83540,0,"e"],[83541,0," "],[83542,0,"t"],[83543,0,"h"],[83544,0,"e"],[83545,0," "],[83546,0,"s"],[83547,0,"a"],[83548,0,"m"],[83549,0,"e"],[83550,0," "],[83551,0,"i"],[83552,0,"n"],[83553,0,"s"],[83554,0,"e"],[83555,0,"r"],[83556,0,"t"],[83557,0,"i"],[83558,0,"o"],[83559,0,"n"],[83560,0," "],[83561,0,"i"],[83562,0,"n"],[83563,0,"t"],[83564,0,"e"],[83565,0,"r"],[83566,0,"v"],[83567,0,"a"],[83568,0,"l"],[83569,0," "],[83570,0,"a"],[83571,0,"s"],[83572,0," "],[83573,0,"d"],[83573,1],[83573,0,"d"],[83574,0,"e"],[83575,0,"f"],[83576,0,"i"],[83577,0,"n"],[83578,0,"e"],[83579,0,"d"],[83580,0," "],[83581,0,"i"],[83582,0,"n"],[83583,0," "],[83584,0,"D"],[83585,0,"e"],[83586,0,"f"],[83587,0,"i"],[83588,0,"n"],[83589,0,"i"],[83590,0,"t"],[83591,0,"i"],[83592,0,"o"],[83593,0,"n"],[83594,0,"~"],[83595,0,"\\"],[83596,0,"r"],[83597,0,"e"],[83598,0,"f"],[83599,0,"{"],[83600,0,"d"],[83601,0,"e"],[83602,0,"f"],[83603,0,":"],[83604,0,"i"],[83605,0,"n"],[83606,0,"s"],[83607,0,"e"],[83608,0,"r"],[83609,0,"t"],[83610,0,"-"],[83611,0,"i"],[83612,0,"n"],[83613,0,"t"],[83614,0,"e"],[83615,0,"r"],[83616,0,"v"],[83617,0,"a"],[83618,0,"l"],[83619,0,"}"],[83620,0,","],[83621,0," "],[83622,0,"o"],[83623,0,"r"],[83624,0," "],[83625,0,"t"],[83626,0,"h"],[83627,0,"e"],[83628,0,"y"],[83629,0," "],[83630,0,"h"],[83631,0,"a"],[83632,0,"v"],[83633,0,"e"],[83634,0," "],[83635,0,"d"],[83636,0,"i"],[83637,0,"f"],[83638,0,"f"],[83639,0,"e"],[83640,0,"r"],[83641,0,"e"],[83642,0,"n"],[83643,0,"t"],[83644,0," "],[83645,0,"i"],[83646,0,"n"],[83647,0,"s"],[83648,0,"e"],[83649,0,"r"],[83650,0,"t"],[83651,0,"i"],[83652,0,"o"],[83653,0,"n"],[83654,0," "],[83655,0,"i"],[83656,0,"n"],[83657,0,"t"],[83658,0,"e"],[83659,0,"r"],[83660,0,"v"],[83661,0,"a"],[83662,0,"l"],[83663,0,"s"],[83664,0,"."],[83665,0," "],[83666,0,"I"],[83667,0,"f"],[83668,0," "],[83669,0,"t"],[83670,0,"h"],[83671,0,"e"],[83672,0," "],[83673,0,"i"],[83674,0,"n"],[83675,0,"s"],[83676,0,"e"],[83677,0,"r"],[83678,0,"t"],[83679,0,"i"],[83680,0,"o"],[83681,0,"n"],[83682,0," "],[83683,0,"i"],[83684,0,"n"],[83685,0,"t"],[83686,0,"e"],[83687,0,"r"],[83688,0,"v"],[83689,0,"a"],[83690,0,"l"],[83691,0,"s"],[83692,0," "],[83693,0,"a"],[83694,0,"r"],[83695,0,"e"],[83696,0," "],[83697,0,"d"],[83698,0,"i"],[83699,0,"f"],[83700,0,"f"],[83701,0,"e"],[83702,0,"r"],[83703,0,"e"],[83704,0,"n"],[83705,0,"t"],[83706,0,","],[83707,0," "],[83708,0,"t"],[83709,0,"h"],[83710,0,"e"],[83711,0,"n"],[83712,0," "],[83713,0,"b"],[83714,0,"y"],[83715,0," "],[83716,0,"L"],[83717,0,"e"],[83718,0,"m"],[83719,0,"m"],[83720,0,"a"],[83721,0,"~"],[83722,0,"\\"],[83723,0,"r"],[83724,0,"e"],[83725,0,"f"],[83726,0,"{"],[83727,0,"l"],[83728,0,"e"],[83729,0,"m"],[83730,0,":"],[83731,0,"i"],[83732,0,"n"],[83733,0,"s"],[83734,0,"e"],[83735,0,"r"],[83736,0,"t"],[83737,0,"-"],[83738,0,"b"],[83739,0,"e"],[83740,0,"t"],[83741,0,"w"],[83742,0,"e"],[83743,0,"e"],[83744,0,"n"],[83745,0,"}"],[83746,0," "],[83747,0,"t"],[83748,0,"h"],[83749,0,"e"],[83750,0," "],[83751,0,"o"],[83752,0,"p"],[83753,0,"e"],[83754,0,"r"],[83755,0,"a"],[83756,0,"t"],[83757,0,"i"],[83758,0,"o"],[83759,0,"n"],[83760,0,"s"],[83761,0," "],[83762,0,"c"],[83763,0,"a"],[83764,0,"n"],[83765,0,"n"],[83766,0,"o"],[83767,0,"t"],[83768,0," "],[83769,0,"a"],[83770,0,"f"],[83771,0,"f"],[83772,0,"e"],[83773,0,"c"],[83774,0,"t"],[83775,0," "],[83776,0,"e"],[83777,0,"a"],[83778,0,"c"],[83779,0,"h"],[83780,0," "],[83781,0,"o"],[83782,0,"t"],[83783,0,"h"],[83784,0,"e"],[83785,0,"r"],[83786,0,","],[83787,0," "],[83788,0,"a"],[83789,0,"n"],[83790,0,"d"],[83791,0," "],[83792,0,"s"],[83793,0,"o"],[83794,0," "],[83795,0,"t"],[83796,0,"h"],[83797,0,"e"],[83798,0,"y"],[83799,0," "],[83800,0,"h"],[83801,0,"a"],[83802,0,"v"],[83803,0,"e"],[83804,0," "],[83805,0,"t"],[83806,0,"h"],[83807,0,"e"],[83808,0," "],[83809,0,"s"],[83810,0,"a"],[83811,0,"m"],[83812,0,"e"],[83813,0," "],[83814,0,"e"],[83815,0,"f"],[83816,0,"f"],[83817,0,"e"],[83818,0,"c"],[83819,0,"t"],[83820,0," "],[83821,0,"r"],[83822,0,"e"],[83823,0,"g"],[83824,0,"a"],[83825,0,"r"],[83826,0,"d"],[83827,0,"l"],[83828,0,"e"],[83829,0,"s"],[83830,0,"s"],[83831,0," "],[83832,0,"o"],[83833,0,"f"],[83834,0," "],[83835,0,"t"],[83836,0,"h"],[83837,0,"e"],[83838,0,"i"],[83839,0,"r"],[83840,0," "],[83841,0,"o"],[83842,0,"r"],[83843,0,"d"],[83844,0,"e"],[83845,0,"r"],[83846,0,"."],[83847,0," "],[83848,0,"F"],[83849,0,"o"],[83850,0,"r"],[83851,0," "],[83852,0,"t"],[83853,0,"h"],[83854,0,"e"],[83855,0," "],[83856,0,"r"],[83857,0,"e"],[83858,0,"s"],[83859,0,"t"],[83859,1],[83858,1],[83857,1],[83856,1],[83855,1],[83854,1],[83853,1],[83852,1],[83851,1],[83850,1],[83849,1],[83848,1],[83848,0,"A"],[83848,1],[83848,0,"S"],[83849,0,"o"],[83850,0," "],[83851,0,"w"],[83852,0,"e"],[83853,0," "],[83854,0,"n"],[83855,0,"e"],[83856,0,"e"],[83857,0,"d"],[83858,0," "],[83859,0,"t"],[83860,0,"o"],[83861,0," "],[83862,0,"o"],[83863,0,"n"],[83864,0,"l"],[83865,0,"y"],[83866,0," "],[83867,0,"a"],[83868,0,"n"],[83869,0,"a"],[83870,0,"l"],[83871,0,"y"],[83872,0,"z"],[83873,0,"e"],[83874,0," "],[83875,0,"t"],[83876,0,"h"],[83877,0,"e"],[83878,0," "],[83879,0,"c"],[83880,0,"a"],[83881,0,"s"],[83882,0,"e"],[83883,0," "],[83884,0,"i"],[83885,0,"n"],[83886,0," "],[83887,0,"w"],[83888,0,"h"],[83889,0,"i"],[83890,0,"c"],[83891,0,"h"],[83892,0," "],[83893,0,"t"],[83894,0,"h"],[83895,0,"e"],[83896,0,"y"],[83897,0," "],[83898,0,"h"],[83899,0,"a"],[83900,0,"v"],[83901,0,"e"],[83902,0," "],[83903,0,"t"],[83904,0,"h"],[83905,0,"e"],[83906,0," "],[83907,0,"s"],[83908,0,"a"],[83909,0,"m"],[83910,0,"e"],[83911,0," "],[83912,0,"i"],[83913,0,"n"],[83914,0,"s"],[83915,0,"e"],[83916,0,"r"],[83917,0,"t"],[83918,0,"i"],[83919,0,"o"],[83920,0,"n"],[83921,0," "],[83922,0,"i"],[83923,0,"n"],[83924,0,"t"],[83925,0,"e"],[83926,0,"r"],[83927,0,"v"],[83928,0,"a"],[83929,0,"l"],[83930,0," "],[83931,0,"$"],[83932,0,"("],[83933,0,"k"],[83934,0,"^"],[83935,0,"\\"],[83936,0,"m"],[83937,0,"a"],[83938,0,"t"],[83939,0,"h"],[83940,0,"r"],[83941,0,"m"],[83942,0,"{"],[83943,0,"b"],[83944,0,"e"],[83945,0,"f"],[83946,0,"o"],[83947,0,"r"],[83948,0,"e"],[83949,0,"}"],[83950,0,","],[83951,0," "],[83952,0,"k"],[83953,0,"&"],[83954,0,"^"],[83954,1],[83953,1],[83953,0,"^"],[83954,0,"\\"],[83955,0,"m"],[83956,0,"a"],[83957,0,"t"],[83958,0,"h"],[83959,0,"r"],[83960,0,"m"],[83961,0,"{"],[83962,0,"a"],[83963,0,"f"],[83964,0,"t"],[83965,0,"e"],[83966,0,"r"],[83967,0,"}"],[83968,0,")"],[83969,0,"$"],[83970,0,"."],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[83973,1],[84461,1],[84460,1],[84459,1],[84458,1],[84457,1],[84456,1],[84455,1],[84454,1],[84453,1],[84452,1],[84451,1],[84450,1],[84449,1],[84448,1],[84447,1],[84446,1],[84445,1],[84444,1],[84443,1],[84442,1],[84441,1],[84440,1],[84439,1],[84438,1],[84437,1],[84436,1],[84435,1],[84434,1],[84433,1],[84432,1],[84431,1],[84430,1],[84429,1],[84428,1],[84427,1],[84426,1],[84425,1],[84424,1],[84423,1],[84422,1],[84421,1],[84420,1],[84419,1],[84418,1],[84417,1],[84416,1],[84415,1],[84414,1],[84413,1],[84412,1],[84411,1],[84410,1],[84409,1],[84408,1],[84407,1],[84406,1],[84405,1],[84404,1],[84403,1],[84402,1],[84401,1],[84400,1],[84399,1],[84398,1],[84397,1],[84396,1],[84395,1],[84394,1],[84393,1],[84392,1],[84391,1],[84390,1],[84389,1],[84388,1],[84387,1],[84386,1],[84385,1],[84384,1],[84383,1],[84382,1],[84381,1],[84380,1],[84379,1],[84378,1],[84377,1],[84376,1],[84375,1],[84374,1],[84373,1],[84372,1],[84371,1],[84370,1],[84369,1],[84368,1],[84367,1],[84366,1],[84365,1],[84364,1],[84363,1],[84362,1],[84361,1],[84360,1],[84359,1],[84358,1],[84357,1],[84356,1],[84355,1],[84354,1],[84353,1],[84352,1],[84351,1],[84350,1],[84349,1],[84348,1],[84347,1],[84346,1],[84345,1],[84344,1],[84343,1],[84342,1],[84341,1],[84340,1],[84339,1],[84338,1],[84337,1],[84336,1],[84335,1],[84334,1],[84333,1],[84332,1],[84331,1],[84330,1],[84329,1],[84328,1],[84327,1],[84326,1],[84325,1],[84324,1],[84323,1],[84322,1],[84321,1],[84320,1],[84319,1],[84318,1],[84317,1],[84316,1],[84315,1],[84314,1],[84313,1],[84312,1],[84311,1],[84310,1],[84309,1],[84308,1],[84307,1],[84306,1],[84305,1],[84304,1],[84303,1],[84302,1],[84301,1],[84300,1],[84299,1],[84298,1],[84297,1],[84296,1],[84295,1],[84294,1],[84293,1],[84292,1],[84291,1],[84290,1],[84289,1],[84288,1],[84287,1],[84286,1],[84285,1],[84284,1],[84283,1],[84282,1],[84281,1],[84280,1],[84279,1],[84278,1],[84277,1],[84276,1],[84275,1],[84274,1],[84273,1],[84272,1],[84271,1],[84270,1],[84269,1],[84268,1],[84267,1],[84266,1],[84265,1],[84264,1],[84263,1],[84262,1],[84261,1],[84260,1],[84259,1],[84258,1],[84257,1],[84256,1],[84255,1],[84254,1],[84253,1],[84252,1],[84251,1],[84250,1],[84249,1],[84248,1],[84247,1],[84246,1],[84245,1],[84244,1],[84243,1],[84242,1],[84241,1],[84240,1],[84239,1],[84238,1],[84237,1],[84236,1],[84235,1],[84234,1],[84233,1],[84232,1],[84231,1],[84230,1],[84229,1],[84228,1],[84227,1],[84226,1],[84225,1],[84224,1],[84223,1],[84222,1],[84221,1],[84220,1],[84219,1],[84218,1],[84217,1],[84216,1],[84215,1],[84214,1],[84213,1],[84212,1],[84211,1],[84210,1],[84209,1],[84208,1],[84207,1],[84206,1],[84205,1],[84204,1],[84203,1],[84202,1],[84201,1],[84200,1],[84199,1],[84198,1],[84197,1],[84196,1],[84195,1],[84194,1],[84193,1],[84192,1],[84191,1],[84190,1],[84189,1],[84188,1],[84187,1],[84186,1],[84185,1],[84184,1],[84183,1],[84182,1],[84181,1],[84180,1],[84179,1],[84178,1],[84177,1],[84176,1],[84175,1],[84174,1],[84173,1],[84172,1],[84171,1],[84170,1],[84169,1],[84168,1],[84167,1],[84166,1],[84165,1],[84164,1],[84163,1],[84162,1],[84161,1],[84160,1],[84159,1],[84158,1],[84157,1],[84156,1],[84155,1],[84154,1],[84153,1],[84152,1],[84151,1],[84150,1],[84149,1],[84148,1],[84147,1],[84146,1],[84145,1],[84144,1],[84143,1],[84142,1],[84141,1],[84140,1],[84139,1],[84138,1],[84137,1],[84136,1],[84135,1],[84134,1],[84133,1],[84132,1],[84131,1],[84130,1],[84129,1],[84128,1],[84127,1],[84126,1],[84125,1],[84124,1],[84123,1],[84122,1],[84121,1],[84120,1],[84119,1],[84118,1],[84117,1],[84116,1],[84115,1],[84114,1],[84113,1],[84112,1],[84111,1],[84110,1],[84109,1],[84108,1],[84107,1],[84106,1],[84105,1],[84104,1],[84103,1],[84102,1],[84101,1],[84100,1],[84099,1],[84098,1],[84097,1],[84096,1],[84095,1],[84094,1],[84093,1],[84092,1],[84091,1],[84090,1],[84089,1],[84088,1],[84087,1],[84086,1],[84085,1],[84084,1],[84083,1],[84082,1],[84081,1],[84080,1],[84079,1],[84078,1],[84077,1],[84076,1],[84075,1],[84074,1],[84073,1],[84072,1],[84071,1],[84070,1],[84069,1],[84068,1],[84067,1],[84066,1],[84065,1],[84064,1],[84063,1],[84062,1],[84061,1],[84060,1],[84059,1],[84058,1],[84057,1],[84056,1],[84055,1],[84054,1],[84053,1],[84052,1],[84051,1],[84050,1],[84049,1],[84048,1],[84047,1],[84046,1],[84045,1],[84044,1],[84043,1],[84042,1],[84041,1],[84040,1],[84039,1],[84038,1],[84037,1],[84036,1],[84035,1],[84034,1],[84033,1],[84032,1],[84031,1],[84030,1],[84029,1],[84028,1],[84027,1],[84026,1],[84025,1],[84024,1],[84023,1],[84022,1],[84021,1],[84020,1],[84019,1],[84018,1],[84017,1],[84016,1],[84015,1],[84014,1],[84013,1],[84012,1],[84011,1],[84010,1],[84009,1],[84008,1],[84007,1],[84006,1],[84005,1],[84004,1],[84003,1],[84002,1],[84001,1],[84000,1],[83999,1],[83998,1],[83997,1],[83996,1],[83995,1],[83994,1],[83993,1],[83992,1],[83991,1],[83990,1],[83989,1],[83988,1],[83987,1],[83986,1],[83985,1],[83984,1],[83983,1],[83982,1],[83981,1],[83980,1],[83979,1],[83978,1],[83977,1],[83976,1],[83975,1],[83974,1],[83973,1],[83973,0,"W"],[83974,0,"e"],[83975,0," "],[83976,0,"d"],[83977,0,"i"],[83978,0,"s"],[83979,0,"t"],[83980,0,"i"],[83981,0,"n"],[83982,0,"g"],[83983,0,"u"],[83984,0,"i"],[83985,0,"s"],[83986,0,"h"],[83987,0," "],[83988,0,"f"],[83989,0,"o"],[83990,0,"u"],[83991,0,"r"],[83992,0," "],[83993,0,"c"],[83994,0,"a"],[83995,0,"s"],[83996,0,"e"],[83997,0,"s"],[83998,0,","],[83999,0," "],[84000,0,"b"],[84001,0,"a"],[84002,0,"s"],[84003,0,"e"],[84004,0,"d"],[84005,0," "],[84006,0,"o"],[84007,0,"n"],[84008,0," "],[84009,0,"w"],[84010,0,"h"],[84011,0,"i"],[84012,0,"c"],[84013,0,"h"],[84014,0," "],[84015,0,"o"],[84016,0,"f"],[84017,0," "],[84018,0,"t"],[84018,1],[84018,0,"#"],[84018,1],[84018,0,"$"],[84019,0,"o"],[84020,0,"_"],[84021,0,"r"],[84022,0,"$"],[84023,0," "],[84024,0,"a"],[84025,0,"n"],[84026,0,"d"],[84027,0," "],[84028,0,"$"],[84029,0,"o"],[84030,0,"_"],[84031,0,"s"],[84032,0,"$"],[84033,0," "],[84034,0,"h"],[84035,0,"a"],[84036,0,"s"],[84037,0," "],[84038,0,"t"],[84039,0,"h"],[84040,0,"e"],[84041,0," "],[84042,0,"g"],[84043,0,"r"],[84044,0,"e"],[84045,0,"a"],[84046,0,"t"],[84047,0,"e"],[84048,0,"r"],[84049,0," "],[84050,0,"o"],[84051,0,"p"],[84052,0,"e"],[84053,0,"r"],[84054,0,"a"],[84055,0,"t"],[84056,0,"i"],[84057,0,"o"],[84058,0,"n"],[84059,0," "],[84060,0,"I"],[84061,0,"D"],[84062,0," "],[84063,0,"("],[84064,0,"l"],[84065,0,"a"],[84066,0,"m"],[84067,0,"p"],[84068,0,"o"],[84068,1],[84067,1],[84066,1],[84065,1],[84064,1],[84064,0,"L"],[84065,0,"a"],[84066,0,"m"],[84067,0,"p"],[84068,0,"o"],[84069,0,"r"],[84070,0,"t"],[84071,0," "],[84072,0,"t"],[84073,0,"i"],[84074,0,"m"],[84075,0,"e"],[84076,0,"s"],[84077,0,"t"],[84078,0,"a"],[84079,0,"m"],[84080,0,"p"],[84081,0,")"],[84082,0,","],[84083,0," "],[84084,0,"a"],[84085,0,"n"],[84086,0,"d"],[84087,0," "],[84088,0,"w"],[84089,0,"h"],[84090,0,"i"],[84091,0,"c"],[84092,0,"h"],[84093,0," "],[84094,0,"o"],[84095,0,"n"],[84096,0,"e"],[84097,0," "],[84098,0,"f"],[84099,0,"o"],[84100,0," "],[84101,0,"t"],[84102,0,"h"],[84103,0,"e"],[84104,0," "],[84104,1],[84103,1],[84102,1],[84101,1],[84100,1],[84099,1],[84098,1],[84098,0,"o"],[84099,0,"f"],[84100,0," "],[84101,0,"t"],[84102,0,"h"],[84103,0,"e"],[84104,0," "],[84105,0,"t"],[84106,0,"w"],[84107,0,"o"],[84108,0," "],[84109,0,"o"],[84110,0,"p"],[84111,0,"e"],[84112,0,"r"],[84113,0,"a"],[84114,0,"t"],[84115,0,"i"],[84116,0,"o"],[84117,0,"n"],[84118,0,"s"],[84119,0," "],[84120,0,"i"],[84121,0,"s"],[84122,0," "],[84123,0,"a"],[84124,0,"p"],[84125,0,"p"],[84126,0,"l"],[84127,0,"i"],[84128,0,"e"],[84129,0,"d"],[84130,0," "],[84131,0,"f"],[84132,0,"i"],[84133,0,"r"],[84134,0,"s"],[84135,0,"t"],[84136,0,"."],[84137,0," "],[84138,0,"W"],[84139,0,"e"],[84140,0," "],[84141,0,"t"],[84142,0,"h"],[84143,0,"e"],[84144,0,"n"],[84145,0," "],[84146,0,"s"],[84147,0,"h"],[84148,0,"o"],[84149,0,"w"],[84150,0,"s"],[84151,0," "],[84151,1],[84150,1],[84150,0," "],[84151,0,"t"],[84152,0,"h"],[84153,0,"a"],[84154,0,"t"],[84155,0," "],[84156,0,"t"],[84157,0,"h"],[84158,0,"e"],[84159,0," "],[84160,0,"f"],[84161,0,"i"],[84162,0,"n"],[84163,0,"a"],[84164,0,"l"],[84165,0," "],[84166,0,"o"],[84167,0,"r"],[84168,0,"d"],[84169,0,"e"],[84170,0,"r"],[84171,0," "],[84172,0,"o"],[84173,0,"f"],[84174,0," "],[84175,0,"e"],[84176,0,"l"],[84177,0,"e"],[84178,0,"m"],[84179,0,"e"],[84180,0,"n"],[84181,0,"t"],[84182,0,"s"],[84183,0," "],[84184,0,"i"],[84185,0,"n"],[84186,0," "],[84187,0,"t"],[84188,0,"h"],[84189,0,"e"],[84190,0," "],[84191,0,"l"],[84192,0,"i"],[84193,0,"s"],[84194,0,"t"],[84195,0," "],[84196,0,"d"],[84197,0,"e"],[84198,0,"p"],[84199,0,"e"],[84200,0,"n"],[84201,0,"d"],[84202,0,"s"],[84203,0," "],[84204,0,"o"],[84205,0,"n"],[84206,0,"l"],[84207,0,"y"],[84208,0," "],[84209,0,"o"],[84210,0,"n"],[84211,0," "],[84212,0,"t"],[84213,0,"h"],[84214,0,"e"],[84215,0," "],[84216,0,"o"],[84217,0,"p"],[84218,0,"e"],[84219,0,"r"],[84220,0,"a"],[84221,0,"t"],[84222,0,"i"],[84223,0,"o"],[84224,0,"n"],[84225,0," "],[84226,0,"I"],[84227,0,"D"],[84228,0," "],[84229,0,"("],[84230,0,"w"],[84231,0,"h"],[84232,0,"i"],[84233,0,"c"],[84234,0,"h"],[84235,0," "],[84236,0,"i"],[84237,0,"s"],[84238,0," "],[84239,0,"t"],[84240,0,"h"],[84241,0,"e"],[84242,0," "],[84243,0,"s"],[84244,0,"a"],[84245,0,"m"],[84246,0,"e"],[84247,0," "],[84248,0,"o"],[84249,0,"n"],[84250,0," "],[84251,0,"a"],[84252,0,"l"],[84253,0,"l"],[84254,0,"r"],[84255,0," "],[84255,1],[84254,1],[84254,0," "],[84255,0,"r"],[84256,0,"e"],[84257,0,"p"],[84258,0,"l"],[84259,0,"i"],[84260,0,"c"],[84261,0,"a"],[84262,0,"s"],[84263,0,")"],[84264,0,","],[84265,0," "],[84266,0,"a"],[84267,0,"n"],[84268,0,"d"],[84269,0," "],[84270,0,"n"],[84271,0,"o"],[84272,0,"t"],[84273,0," "],[84274,0,"o"],[84275,0,"n"],[84276,0," "],[84277,0,"t"],[84278,0,"h"],[84279,0,"e"],[84280,0," "],[84281,0,"o"],[84282,0,"r"],[84283,0,"d"],[84284,0,"e"],[84285,0,"r"],[84286,0," "],[84287,0,"i"],[84288,0,"n"],[84289,0," "],[84290,0,"w"],[84291,0,"h"],[84292,0,"i"],[84293,0,"c"],[84294,0,"h"],[84295,0," "],[84296,0,"t"],[84297,0,"h"],[84298,0,"e"],[84299,0," "],[84300,0,"o"],[84301,0,"p"],[84302,0,"e"],[84303,0,"r"],[84304,0,"a"],[84305,0,"t"],[84306,0,"i"],[84307,0,"o"],[84308,0,"n"],[84309,0,"s"],[84310,0," "],[84311,0,"a"],[84312,0,"r"],[84313,0,"e"],[84314,0," "],[84315,0,"a"],[84316,0,"p"],[84317,0,"p"],[84318,0,"l"],[84319,0,"i"],[84320,0,"e"],[84321,0,"d"],[84322,0,"."],[84323,0,"\n"],[84324,0,"\n"],[84325,0,"\\"],[84326,0,"b"],[84327,0,"e"],[84328,0,"g"],[84329,0,"i"],[84330,0,"n"],[84331,0,"{"],[84332,0,"e"],[84333,0,"n"],[84334,0,"u"],[84335,0,"m"],[84336,0,"e"],[84337,0,"r"],[84338,0,"a"],[84339,0,"t"],[84340,0,"e"],[84341,0,"}"],[84342,0,"\n"],[84343,0,"\\"],[84344,0,"e"],[84345,0,"n"],[84346,0,"d"],[84347,0,"{"],[84348,0,"e"],[84349,0,"n"],[84350,0,"u"],[84351,0,"m"],[84352,0,"e"],[84353,0,"r"],[84354,0,"a"],[84355,0,"g"],[84356,0,"e"],[84357,0,"}"],[84357,1],[84356,1],[84355,1],[84355,0,"t"],[84356,0,"e"],[84357,0,"}"],[84342,0,"\n"],[84343,0,"\\"],[84344,0,"i"],[84345,0,"t"],[84346,0,"e"],[84347,0,"m"],[84348,0," "],[84349,0,"x"],[83395,1],[83971,0,"\n"],[83972,0,"\n"],[83972,0,"W"],[83973,0,"i"],[83974,0,"t"],[83975,0,"h"],[83976,0,"o"],[83977,0,"u"],[83978,0,"t"],[83979,0," "],[83980,0,"l"],[83981,0,"o"],[83982,0,"s"],[83983,0,"s"],[83984,0," "],[83985,0,"o"],[83986,0,"f"],[83987,0," "],[83988,0,"g"],[83989,0,"e"],[83990,0,"n"],[83991,0,"e"],[83992,0,"r"],[83993,0,"a"],[83994,0,"l"],[83995,0,"i"],[83996,0,"t"],[83997,0,"y"],[83998,0,","],[83999,0," "],[84000,0,"s"],[84001,0,"a"],[84002,0,"s"],[84003,0,"u"],[84004,0,"m"],[84005,0,"e"],[84006,0," "],[84007,0,"t"],[84008,0,"h"],[84000,0,"a"],[84002,1],[84009,0,"a"],[84010,0,"t"],[84011,0," "],[84012,0,"$"],[84013,0,"o"],[84014,0,"_"],[84015,0,"r"],[84016,0,"."],[84017,0,"\\"],[84018,0,"m"],[84019,0,"a"],[84020,0,"t"],[84021,0,"h"],[84022,0,"i"],[84023,0,"t"],[84024,0,"{"],[84025,0,"i"],[84026,0,"d"],[84027,0,"}"],[84028,0," "],[84029,0,"<"],[84030,0," "],[84031,0,"o"],[84032,0,"_"],[84033,0,"s"],[84034,0,"."],[84035,0,"\\"],[84036,0,"m"],[84037,0,"a"],[84038,0,"t"],[84039,0,"h"],[84040,0,"i"],[84041,0,"t"],[84042,0,"{"],[84043,0,"i"],[84044,0,"d"],[84045,0,"}"],[84046,0,"$"],[84047,0," "],[84048,0,"a"],[84049,0,"c"],[84050,0,"c"],[84051,0,"o"],[84052,0,"r"],[84053,0,"d"],[84054,0,"i"],[84055,0,"n"],[84056,0,"g"],[84057,0," "],[84058,0,"t"],[84059,0,"h"],[84060,0,"e"],[84061,0," "],[84061,1],[84060,1],[84059,1],[84059,0,"o"],[84060,0," "],[84061,0,"t"],[84062,0,"h"],[84063,0,"e"],[84064,0," "],[84065,0,"o"],[84066,0,"r"],[84067,0,"d"],[84068,0,"e"],[84069,0,"r"],[84070,0,"i"],[84071,0,"n"],[84072,0,"g"],[84073,0," "],[84074,0,"r"],[84075,0,"e"],[84076,0,"l"],[84077,0,"a"],[84078,0,"t"],[84079,0,"i"],[84080,0,"o"],[84081,0,"n"],[84082,0," "],[84083,0,"o"],[84084,0,"n"],[84085,0," "],[84086,0,"L"],[84087,0,"a"],[84088,0,"m"],[84089,0,"p"],[84090,0,"o"],[84091,0,"r"],[84092,0,"t"],[84093,0," "],[84094,0,"t"],[84095,0,"i"],[84096,0,"m"],[84097,0,"e"],[84098,0,"s"],[84099,0,"t"],[84100,0,"a"],[84101,0,"m"],[84102,0,"p"],[84103,0,"s"],[84104,0,"."],[84105,0," "],[84106,0,"("],[84107,0,"I"],[84108,0,"f"],[84109,0," "],[84110,0,"t"],[84111,0,"h"],[84112,0,"e"],[84113,0," "],[84113,1],[84112,1],[84111,1],[84110,1],[84110,0,"t"],[84111,0,"h"],[84112,0,"e"],[84113,0," "],[84114,0,"o"],[84115,0,"p"],[84116,0,"e"],[84117,0,"r"],[84118,0,"a"],[84119,0,"t"],[84120,0,"i"],[84121,0,"o"],[84122,0,"n"],[84123,0," "],[84124,0,"I"],[84125,0,"D"],[84126,0," "],[84127,0,"o"],[84128,0,"f"],[84129,0," "],[84130,0,"$"],[84131,0,"o"],[84132,0,"_"],[84133,0,"r"],[84134,0,"$"],[84135,0," "],[84136,0,"w"],[84137,0,"e"],[84138,0,"r"],[84139,0,"e"],[84140,0," "],[84141,0,"g"],[84142,0,"r"],[84143,0,"e"],[84144,0,"a"],[84145,0,"t"],[84146,0,"e"],[84147,0,"r"],[84148,0,","],[84149,0," "],[84150,0,"$"],[84151,0,"o"],[84152,0,"_"],[84153,0,"r"],[84154,0,"$"],[84155,0," "],[84156,0,"a"],[84157,0,"n"],[84158,0,"d"],[84159,0," "],[84160,0,"$"],[84161,0,"o"],[84162,0,"_"],[84163,0,"s"],[84164,0,"$"],[84165,0," "],[84166,0,"c"],[84167,0,"o"],[84168,0,"u"],[84169,0,"l"],[84170,0,"d"],[84171,0," "],[84172,0,"b"],[84173,0,"e"],[84174,0," "],[84175,0,"s"],[84176,0,"w"],[84177,0,"a"],[84178,0,"p"],[84179,0,"p"],[84180,0,"e"],[84181,0,"d"],[84182,0," "],[84183,0,"i"],[84184,0,"n"],[84185,0," "],[84186,0,"t"],[84187,0,"h"],[84188,0,"i"],[84189,0,"s"],[84190,0," "],[84191,0,"p"],[84192,0,"o"],[84193,0,"r"],[84193,1],[84192,1],[84192,0,"r"],[84193,0,"o"],[84194,0,"o"],[84195,0,"f"],[84196,0,"."],[84197,0,")"],[84198,0," "],[84199,0,"W"],[84200,0,"e"],[84201,0," "],[84202,0,"n"],[84203,0,"o"],[84204,0,"w"],[84205,0," "],[84206,0,"d"],[84207,0,"i"],[84208,0,"s"],[84209,0,"t"],[84210,0,"i"],[84211,0,"n"],[84212,0,"g"],[84213,0,"u"],[84214,0,"i"],[84215,0,"s"],[84216,0,"h"],[84217,0," "],[84218,0,"t"],[84219,0,"w"],[84220,0,"o"],[84221,0," "],[84222,0,"c"],[84223,0,"a"],[84224,0,"s"],[84225,0,"e"],[84226,0,"s"],[84227,0,":"],[84606,1],[84606,0,"$"],[84607,0,"o"],[84608,0,"_"],[84609,0,"r"],[84610,0,"$"],[84611,0," "],[84612,0,"i"],[84613,0,"s"],[84614,0," "],[84615,0,"a"],[84616,0,"p"],[84617,0,"p"],[84618,0,"l"],[84619,0,"i"],[84620,0,"e"],[84621,0,"d"],[84622,0," "],[84623,0,"b"],[84624,0,"e"],[84625,0,"f"],[84626,0,"o"],[84627,0,"r"],[84628,0,"e"],[84629,0," "],[84630,0,"$"],[84631,0,"o"],[84632,0,"_"],[84633,0,"s"],[84634,0,"$"],[84635,0," "],[84636,0,"i"],[84637,0,"n"],[84638,0," "],[84639,0,"$"],[84640,0,"H"],[84641,0,"$"],[84642,0,"."],[84643,0,"\n"],[84644,0,"\\"],[84645,0,"i"],[84646,0,"t"],[84647,0,"e"],[84648,0,"m"],[84649,0," "],[84650,0,"$"],[84651,0,"o"],[84652,0,"_"],[84653,0,"s"],[84654,0,"$"],[84655,0," "],[84656,0,"i"],[84657,0,"s"],[84658,0," "],[84659,0,"a"],[84660,0,"p"],[84661,0,"p"],[84662,0,"l"],[84663,0,"i"],[84664,0,"e"],[84665,0,"d"],[84666,0," "],[84667,0,"b"],[84668,0,"e"],[84669,0,"f"],[84670,0,"o"],[84671,0,"r"],[84672,0,"e"],[84673,0," "],[84674,0,"$"],[84675,0,"o"],[84676,0,"_"],[84677,0,"r"],[84678,0,"$"],[84679,0," "],[84680,0,"i"],[84681,0,"n"],[84682,0," "],[84683,0,"$"],[84684,0,"H"],[84685,0,"$"],[84686,0,"."],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84230,1],[84140,0,"="],[84140,1],[84139,1],[84138,1],[84137,1],[84136,1],[84136,0,"i"],[84137,0,"s"],[84168,1],[84167,1],[84166,1],[84165,1],[84165,0,"a"],[84166,0,"n"],[83860,1],[83859,1],[83858,1],[84143,0," "],[84144,0,"t"],[84145,0,"h"],[84146,0,"a"],[84147,0,"t"],[84148,0,"n"],[84149,0," "],[84150,0,"$"],[84150,1],[84149,1],[84148,1],[84147,1],[84147,0,"n"],[84148,0," "],[84149,0,"$"],[84150,0,"o"],[84151,0,"_"],[84152,0,"s"],[84153,0,"$"],[84295,0," "],[84296,0,"T"],[84297,0,"h"],[84298,0,"u"],[84299,0,"s"],[84300,0,","],[84301,0," "],[84302,0,"w"],[84303,0,"h"],[84304,0,"e"],[84305,0,"n"],[84306,0," "],[84307,0,"$"],[84308,0,"o"],[84309,0,"_"],[84310,0,"s"],[84311,0,"$"],[84312,0," "],[84313,0,"i"],[84314,0,"s"],[84315,0," "],[84316,0,"a"],[84317,0,"p"],[84318,0,"p"],[84319,0,"l"],[84320,0,"i"],[84321,0,"e"],[84322,0,"d"],[84323,0,","],[84324,0," "],[84325,0,"$"],[84326,0,"o"],[84327,0,"_"],[84328,0,"r"],[84329,0,"$"],[84330,0," "],[84331,0,"a"],[84332,0,"n"],[84333,0,"d"],[84334,0," "],[84335,0,"a"],[84336,0,"n"],[84337,0,"y"],[84338,0," "],[84339,0,"c"],[84340,0,"a"],[84341,0,"u"],[84342,0,"s"],[84343,0,"a"],[84344,0,"p"],[84345,0," "],[84346,0,"d"],[84346,1],[84345,1],[84344,1],[84344,0,"l"],[84345,0," "],[84346,0,"d"],[84347,0,"e"],[84348,0,"p"],[84349,0,"e"],[84350,0,"n"],[84351,0,"d"],[84352,0,"e"],[84353,0,"n"],[84354,0,"c"],[84355,0,"i"],[84356,0,"e"],[84357,0,"s"],[84358,0," "],[84359,0,"o"],[84360,0,"f"],[84361,0," "],[84361,1],[84360,1],[84359,1],[84358,1],[84357,1],[84356,1],[84355,1],[84354,1],[84353,1],[84352,1],[84351,1],[84350,1],[84349,1],[84348,1],[84347,1],[84346,1],[84345,1],[84339,0,"i"],[84340,0,"n"],[84341,0,"s"],[84342,0,"e"],[84343,0,"r"],[84344,0,"t"],[84345,0,"i"],[84346,0,"o"],[84347,0,"n"],[84348,0,"s"],[84349,0," "],[84356,0,"l"],[84357,0,"y"],[84358,0," "],[84359,0,"p"],[84360,0,"r"],[84361,0,"i"],[84362,0,"o"],[84363,0,"r"],[84364,0," "],[84365,0,"t"],[84366,0,"o"],[84367,0," "],[84368,0,"$"],[84369,0,"o"],[84370,0,"_"],[84371,0,"r"],[84372,0,"$"],[84373,0," "],[84374,0,"i"],[84375,0,"n"],[84376,0," "],[84377,0,"t"],[84378,0,"h"],[84379,0,"e"],[84380,0," "],[84381,0,"s"],[84382,0,"a"],[84383,0,"m"],[84384,0,"e"],[84385,0," "],[84386,0,"i"],[84387,0,"n"],[84388,0,"s"],[84389,0,"e"],[84390,0,"r"],[84391,0,"t"],[84392,0,"i"],[84393,0,"o"],[84394,0,"n"],[84395,0," "],[84396,0,"i"],[84397,0,"n"],[84398,0,"t"],[84399,0,"e"],[84400,0,"r"],[84401,0,"v"],[84402,0,"a"],[84403,0,"l"],[84404,0," "],[84405,0,"h"],[84406,0,"a"],[84407,0,"v"],[84408,0,"e"],[84409,0," "],[84410,0,"a"],[84411,0,"l"],[84412,0,"r"],[84413,0,"e"],[84414,0,"a"],[84415,0,"d"],[84416,0,"y"],[84417,0," "],[84418,0,"b"],[84419,0,"e"],[84420,0,"e"],[84421,0,"n"],[84422,0," "],[84423,0,"a"],[84424,0,"p"],[84425,0,"p"],[84426,0,"l"],[84427,0,"i"],[84428,0,"e"],[84429,0,"d"],[84430,0,"."],[84475,0," "],[84476,0,"T"],[84477,0,"h"],[84478,0,"u"],[84479,0,"s"],[84480,0,","],[84481,0," "],[84482,0,"w"],[84483,0,"e"],[84484,0,"h"],[84484,1],[84483,1],[84483,0,"h"],[84484,0,"e"],[84485,0,"n"],[84486,0," "],[84487,0,"$"],[84488,0,"o"],[84488,1],[84488,0,"o"],[84489,0,"_"],[84490,0,"r"],[84491,0,"$"],[84492,0," "],[84493,0,"i"],[84494,0,"s"],[84495,0," "],[84496,0,"a"],[84497,0,"p"],[84498,0,"p"],[84499,0,"l"],[84500,0,"i"],[84501,0,"e"],[84502,0,"d"],[84503,0,","],[84504,0," "],[84505,0,"$"],[84506,0,"o"],[84507,0,"_"],[84508,0,"s"],[84509,0,"$"],[84510,0," "],[84511,0,"a"],[84512,0,"n"],[84513,0,"d"],[84514,0," "],[84515,0,"a"],[84516,0,"n"],[84517,0,"y"],[84518,0," "],[84519,0,"i"],[84520,0,"n"],[84521,0,"s"],[84522,0,"e"],[84523,0,"r"],[84524,0,"t"],[84525,0,"i"],[84526,0,"o"],[84527,0,"n"],[84528,0,"s"],[84529,0," "],[84530,0,"c"],[84531,0,"a"],[84532,0,"u"],[84533,0,"s"],[84534,0,"a"],[84535,0,"l"],[84536,0,"l"],[84537,0,"y"],[84538,0," "],[84539,0,"p"],[84540,0,"r"],[84541,0,"i"],[84542,0,"o"],[84543,0,"r"],[84544,0," "],[84545,0,"t"],[84546,0,"o"],[84547,0," "],[84548,0,"$"],[84549,0,"o"],[84550,0,"_"],[84551,0,"s"],[84552,0,"$"],[84553,0," "],[84554,0,"i"],[84555,0,"n"],[84556,0," "],[84557,0,"t"],[84558,0,"h"],[84559,0,"e"],[84560,0," "],[84561,0,"s"],[84562,0,"a"],[84563,0,"m"],[84564,0,"e"],[84565,0," "],[84566,0,"i"],[84567,0,"n"],[84568,0,"s"],[84569,0,"e"],[84570,0,"r"],[84571,0,"t"],[84572,0,"i"],[84573,0,"o"],[84574,0,"n"],[84575,0," "],[84576,0,"i"],[84577,0,"n"],[84578,0,"t"],[84579,0,"e"],[84580,0,"r"],[84581,0,"v"],[84582,0,"a"],[84583,0,"l"],[84584,0," "],[84585,0,"h"],[84586,0,"a"],[84587,0,"v"],[84588,0,"e"],[84589,0," "],[84590,0,"a"],[84591,0,"l"],[84592,0,"r"],[84593,0,"a"],[84593,1],[84593,0,"e"],[84594,0,"a"],[84595,0,"d"],[84596,0,"y"],[84597,0," "],[84598,0,"b"],[84599,0,"e"],[84600,0,"e"],[84601,0,"n"],[84602,0," "],[84603,0,"a"],[84604,0,"p"],[84605,0,"p"],[84606,0,"l"],[84607,0,"i"],[84608,0,"e"],[84609,0,"d"],[84610,0,"."],[84408,1],[84407,1],[84407,0,"s"],[84403,1],[84402,1],[84401,1],[84400,1],[84399,1],[84398,1],[84397,1],[84396,1],[84395,1],[84394,1],[84393,1],[84392,1],[84391,1],[84390,1],[84389,1],[84388,1],[84387,1],[84386,1],[84385,1],[84384,1],[84383,1],[84382,1],[84381,1],[84380,1],[84379,1],[84378,1],[84377,1],[84376,1],[84375,1],[84374,1],[84373,1],[84372,1],[84371,1],[84370,1],[84369,1],[84368,1],[84367,1],[84366,1],[84365,1],[84364,1],[84363,1],[84362,1],[84361,1],[84360,1],[84359,1],[84358,1],[84357,1],[84356,1],[84355,1],[84354,1],[84353,1],[84352,1],[84351,1],[84350,1],[84349,1],[84348,1],[84347,1],[84346,1],[84345,1],[84344,1],[84343,1],[84342,1],[84341,1],[84340,1],[84339,1],[84338,1],[84337,1],[84336,1],[84335,1],[84334,1],[84333,1],[84332,1],[84331,1],[84330,1],[84302,0,"a"],[84303,0,"t"],[84304,0," "],[84305,0,"t"],[84306,0,"h"],[84307,0,"e"],[84308,0," "],[84309,0,"t"],[84310,0,"i"],[84311,0,"m"],[84312,0,"e"],[84313,0," "],[84419,0,"a"],[84420,0,"t"],[84421,0," "],[84422,0,"t"],[84423,0,"h"],[84424,0,"e"],[84425,0," "],[84426,0,"t"],[84427,0,"i"],[84428,0,"m"],[84429,0,"e"],[84430,0," "],[84368,0," "],[84369,0,"S"],[84370,0,"i"],[84371,0,"n"],[84372,0,"c"],[84373,0,"e"],[84374,0," "],[84375,0,"$"],[84376,0,"o"],[84377,0,"_"],[84378,0,"r"],[84379,0,"$"],[84380,0," "],[84381,0,"h"],[84382,0,"a"],[84383,0,"s"],[84384,0," "],[84385,0,"a"],[84386,0," "],[84387,0,"l"],[84388,0,"e"],[84389,0,"s"],[84390,0,"s"],[84391,0,"e"],[84392,0,"r"],[84393,0," "],[84394,0,"o"],[84395,0,"p"],[84396,0,"e"],[84397,0,"r"],[84398,0,"a"],[84399,0,"t"],[84400,0,"i"],[84401,0,"o"],[84402,0,"n"],[84403,0," "],[84404,0,"I"],[84405,0,"D"],[84406,0,","],[84407,0," "],[84408,0,"t"],[84409,0,"h"],[84410,0,"e"],[84411,0," "],[84412,0,"r"],[84413,0,"u"],[84414,0,"l"],[84415,0,"e"],[84416,0," "],[84417,0,"$"],[84418,0,"\\"],[84419,0,"m"],[84419,1],[84419,0,"t"],[84420,0,"e"],[84421,0,"x"],[84422,0,"t"],[84423,0,"s"],[84424,0,"c"],[84425,0,"{"],[84426,0,"I"],[84427,0,"n"],[84428,0,"s"],[84429,0,"e"],[84430,0,"r"],[84431,0,"t"],[84432,0,"}"],[84433,0,"_"],[84434,0,"1"],[84435,0,"$"],[84436,0," "],[84437,0,"a"],[84438,0,"p"],[84439,0,"p"],[84440,0,"l"],[84441,0,"i"],[84442,0,"e"],[84443,0,"s"],[84444,0," "],[84445,0,"w"],[84446,0,"i"],[84447,0,"t"],[84448,0,"h"],[84449,0," "],[84450,0,"$"],[84451,0,"\\"],[84452,0,"m"],[84453,0,"a"],[84454,0,"t"],[84455,0,"h"],[84456,0,"i"],[84457,0,"t"],[84458,0,"{"],[84459,0,"n"],[84460,0,"e"],[84461,0,"x"],[84462,0,"t"],[84463,0,"}"],[84464,0," "],[84465,0,"="],[84466,0," "],[84467,0,"o"],[84468,0,"_"],[84469,0,"r"],[84470,0,"."],[84471,0,"\\"],[84472,0,"m"],[84473,0,"a"],[84474,0,"t"],[84475,0,"h"],[84476,0,"i"],[84477,0,"t"],[84478,0,"{"],[84479,0,"i"],[84480,0,"d"],[84481,0,"}"],[84482,0,"$"],[84483,0," "],[84484,0,"a"],[84485,0,"t"],[84486,0," "],[84487,0,"t"],[84488,0,"h"],[84489,0,"e"],[84490,0," "],[84491,0,"l"],[84492,0,"a"],[84493,0,"t"],[84494,0,"e"],[84495,0,"s"],[84496,0,"t"],[84497,0,";"],[84498,0," "],[84499,0,"i"],[84500,0,"t"],[84501,0," "],[84502,0,"i"],[84503,0,"s"],[84504,0," "],[84505,0,"n"],[84506,0,"o"],[84507,0,"t"],[84508,0," "],[84509,0,"p"],[84510,0,"o"],[84511,0,"s"],[84512,0,"s"],[84513,0,"i"],[84514,0,"b"],[84515,0,"l"],[84516,0,"e"],[84517,0," "],[84518,0,"f"],[84519,0,"o"],[84520,0,"r"],[84521,0," "],[84522,0,"$"],[84523,0,"\\"],[84524,0,"m"],[84524,1],[84524,0,"t"],[84525,0,"e"],[84526,0,"x"],[84527,0,"t"],[84528,0,"s"],[84529,0,"c"],[84530,0,"{"],[84531,0,"I"],[84532,0,"n"],[84533,0,"s"],[84534,0,"e"],[84535,0,"r"],[84536,0,"t"],[84537,0,"}"],[84538,0,"_"],[84539,0,"2"],[84540,0,"$"],[84541,0,"%"],[84541,1],[84541,0," "],[84542,0,"t"],[84543,0,"o"],[84544,0," "],[84497,0,","],[84498,0," "],[84499,0,"s"],[84500,0,"o"],[84501,0," "],[84502,0,"t"],[84503,0,"h"],[84504,0,"e"],[84505,0," "],[84506,0,"i"],[84507,0,"n"],[84508,0,"s"],[84509,0,"e"],[84510,0,"r"],[84511,0,"t"],[84512,0,"i"],[84513,0,"o"],[84514,0,"n"],[84515,0," "],[84516,0,"p"],[84517,0,"o"],[84518,0,"s"],[84519,0,"i"],[84520,0,"t"],[84521,0,"i"],[84522,0,"o"],[84523,0,"n"],[84524,0," "],[84525,0,"o"],[84526,0,"f"],[84527,0," "],[84528,0,"$"],[84529,0,"o"],[84530,0,"_"],[84531,0,"s"],[84532,0,"$"],[84533,0," "],[84534,0,"m"],[84535,0,"u"],[84536,0,"s"],[84537,0,"t"],[84538,0," "],[84539,0,"a"],[84540,0,"p"],[84541,0,"p"],[84542,0,"e"],[84543,0,"a"],[84544,0,"r"],[84545,0," "],[84546,0,"b"],[84547,0,"e"],[84548,0,"f"],[84549,0,"o"],[84550,0,"r"],[84551,0,"e"],[84552,0," "],[84553,0,"$"],[84554,0,"o"],[84555,0,"_"],[84556,0,"r"],[84557,0,"$"],[84369,0,"W"],[84370,0,"h"],[84371,0,"e"],[84372,0,"n"],[84373,0," "],[84374,0,"a"],[84375,0,"p"],[84376,0,"p"],[84377,0,"l"],[84378,0,"y"],[84379,0,"i"],[84380,0,"n"],[84381,0,"g"],[84382,0," "],[84383,0,"$"],[84384,0,"o"],[84385,0,"_"],[84386,0,"s"],[84387,0,"$"],[84388,0,","],[84389,0," "],[84390,1],[84390,0,"s"],[84579,1],[84579,0,"."],[84581,1],[84581,0,"I"],[84627,0,"s"],[84628,0,"k"],[84629,0,"i"],[84630,0,"p"],[84631,0," "],[84632,0,"p"],[84633,0,"a"],[84634,0,"s"],[84635,0,"t"],[84636,0," "],[84637,0,"$"],[84638,0,"o"],[84639,0,"_"],[84640,0,"r"],[84641,0,"."],[84641,1],[84641,0,"$"],[84642,0,"."],[84851,0,"\n"],[84852,0,"\n"],[84853,0,"I"],[84854,0,"n"],[84855,0," "],[84856,0,"b"],[84857,0,"o"],[84858,0,"t"],[84859,0,"h"],[84860,0," "],[84861,0,"c"],[84862,0,"a"],[84863,0,"s"],[84864,0,"e"],[84865,0,"s"],[84866,0,","],[84867,0," "],[84868,0,"t"],[84869,0,"h"],[84870,0,"e"],[84871,0," "],[84872,0,"i"],[84873,0,"n"],[84874,0,"s"],[84875,0,"e"],[84876,0,"r"],[84877,0,"t"],[84878,0,"i"],[84879,0,"o"],[84880,0,"n"],[84881,0," "],[84882,0,"p"],[84883,0,"o"],[84884,0,"s"],[84885,0,"i"],[84886,0,"t"],[84887,0,"i"],[84888,0,"o"],[84889,0,"n"],[84890,0," "],[84891,0,"o"],[84892,0,"f"],[84893,0," "],[84894,0,"$"],[84895,0,"o"],[84896,0,"_"],[84897,0,"r"],[84898,0,"$"],[84899,0," "],[84900,0,"a"],[84901,0,"p"],[84902,0,"p"],[84903,0,"e"],[84904,0,"a"],[84905,0,"r"],[84906,0,"s"],[84907,0," "],[84908,0,"a"],[84909,0,"f"],[84910,0,"t"],[84911,0,"e"],[84912,0,"r"],[84913,0," "],[84914,0,"t"],[84915,0,"h"],[84916,0,"e"],[84917,0," "],[84918,0,"i"],[84919,0,"n"],[84920,0,"s"],[84921,0,"e"],[84922,0,"r"],[84923,0,"t"],[84924,0,"i"],[84925,0,"o"],[84926,0,"n"],[84927,0," "],[84928,0,"p"],[84929,0,"o"],[84930,0,"s"],[84931,0,"i"],[84932,0,"t"],[84933,0,"i"],[84934,0,"o"],[84935,0,"n"],[84936,0," "],[84937,0,"o"],[84938,0,"f"],[84939,0," "],[84940,0,"$"],[84941,0,"o"],[84942,0,"_"],[84943,0,"s"],[84944,0,"$"],[84945,0,"."],[84946,0," "],[84947,0,"T"],[84947,1],[84946,1],[84945,1],[84945,0,","],[84946,0," "],[84947,0,"w"],[84948,0,"h"],[84949,0,"i"],[84950,0,"c"],[84951,0,"h"],[84952,0," "],[84953,0,"s"],[84954,0,"h"],[84955,0,"o"],[84956,0,"w"],[84957,0,"s"],[84958,0," "],[84959,0,"t"],[84960,0,"h"],[84961,0,"a"],[84962,0,"t"],[84963,0," "],[84964,0,"$"],[84965,0,"o"],[84966,0,"_"],[84967,0,"r"],[84968,0,"$"],[84969,0," "],[84970,0,"a"],[84971,0,"n"],[84972,0,"d"],[84973,0," "],[84974,0,"$"],[84975,0,"o"],[84976,0,"_"],[84977,0,"s"],[84978,0,"$"],[84979,0," "],[84980,0,"a"],[84981,0,"r"],[84982,0,"e"],[84983,0," "],[84984,0,"c"],[84985,0,"o"],[84986,0,"m"],[84987,0,"m"],[84988,0,"u"],[84989,0,"t"],[84990,0,"a"],[84991,0,"t"],[84992,0,"i"],[84993,0,"v"],[84994,0,"e"],[84995,0,"."],[84945,1],[84945,0,"."],[84946,0," "],[84947,0,"S"],[84948,0,"i"],[84949,0,"n"],[84950,0,"c"],[84951,0,"e"],[84952,0," "],[84953,0,"t"],[84954,0,"h"],[84955,0,"e"],[84956,0," "],[84957,0,"a"],[84958,0,"r"],[84959,0,"g"],[84960,0,"u"],[84961,0,"m"],[84962,0,"e"],[84963,0,"n"],[84964,0,"t"],[84965,0," "],[84966,0,"a"],[84967,0,"p"],[84968,0,"p"],[84969,0,"l"],[84970,0,"i"],[84971,0,"e"],[84972,0,"s"],[84973,0," "],[84974,0,"t"],[84975,0,"o"],[84976,0," "],[84977,0,"a"],[84978,0,"l"],[84979,0,"l"],[84980,0," "],[84981,0,"p"],[84982,0,"a"],[84983,0,"i"],[84984,0,"r"],[84985,0,"s"],[84986,0," "],[84987,0,"o"],[84988,0,"f"],[84989,0," "],[84990,0,"c"],[84991,0,"o"],[84992,0,"n"],[84993,0,"c"],[84994,0,"u"],[84995,0,"r"],[84996,0,"r"],[84997,0,"e"],[84998,0,"n"],[84999,0,"t"],[85000,0," "],[85001,0,"o"],[85002,0,"p"],[85003,0,"e"],[85004,0,"r"],[85005,0,"a"],[85006,0,"t"],[85007,0,"i"],[85008,0,"o"],[85009,0,"n"],[85010,0,"s"],[85011,0," "],[85012,0,"$"],[85013,0,"o"],[85014,0,"_"],[85015,0,"r"],[85016,0,","],[85017,0," "],[85018,0,"$"],[85019,0,"o"],[85020,0,"_"],[85020,1],[85019,1],[85018,1],[85017,1],[85017,0," "],[85018,0,"o"],[85019,0,"_"],[85020,0,"s"],[85021,0,"$"],[85022,0," "],[85023,0,"i"],[85024,0,"n"],[85025,0," "],[85026,0,"$"],[85027,0,"H"],[85028,0,"$"],[85029,0,","],[85030,0," "],[85031,0,"w"],[85032,0,"e"],[85033,0," "],[85034,0,"d"],[85035,0,"e"],[85036,0,"d"],[85037,0,"u"],[85038,0,"c"],[85039,0,"e"],[85040,0," "],[85041,0,"t"],[85042,0,"h"],[85043,0,"a"],[85044,0,"t"],[85045,0," "],[85046,0,"t"],[85047,0,"h"],[85048,0,"e"],[85049,0," "],[85050,0,"f"],[85051,0,"i"],[85052,0,"n"],[85053,0,"a"],[85054,0,"l"],[85055,0," "],[85056,0,"o"],[85057,0,"r"],[85058,0,"d"],[85059,0,"e"],[85060,0,"r"],[85061,0," "],[85062,0,"o"],[85063,0,"f"],[85064,0," "],[85065,0,"e"],[85066,0,"l"],[85067,0,"e"],[85068,0,"m"],[85069,0,"e"],[85070,0,"n"],[85071,0,"t"],[85072,0,"s"],[85073,0," "],[85074,0,"i"],[85075,0,"n"],[85076,0," "],[85077,0,"t"],[85078,0,"h"],[85079,0,"e"],[85080,0," "],[85081,0,"l"],[85082,0,"i"],[85083,0,"s"],[85084,0,"t"],[85085,0," "],[85086,0,"d"],[85087,0,"e"],[85088,0,"p"],[85089,0,"e"],[85090,0,"n"],[85091,0,"d"],[85092,0,"s"],[85093,0," "],[85094,0,"o"],[85095,0,"n"],[85096,0,"l"],[85097,0,"y"],[85098,0," "],[85099,0,"o"],[85100,0,"n"],[85101,0," "],[85102,0,"t"],[85103,0,"h"],[85104,0,"e"],[85105,0," "],[85106,0,"o"],[85107,0,"p"],[85108,0,"e"],[85109,0,"r"],[85110,0,"a"],[85111,0,"t"],[85112,0,"i"],[85113,0,"o"],[85114,0,"n"],[85115,0," "],[85116,0,"I"],[85117,0,"D"],[85118,0,"s"],[85119,0," "],[85120,0,"b"],[85121,0,"u"],[85122,0,"t"],[85123,0," "],[85124,0,"n"],[85125,0,"o"],[85126,0,"t"],[85127,0," "],[85128,0,"t"],[85129,0,"h"],[85130,0,"e"],[85131,0," "],[85132,0,"o"],[85133,0,"r"],[85134,0,"d"],[85135,0,"e"],[85136,0,"r"],[85137,0," "],[85138,0,"o"],[85139,0,"f"],[85140,0," "],[85141,0,"a"],[85142,0,"p"],[85143,0,"p"],[85144,0,"l"],[85145,0,"i"],[85146,0,"c"],[85147,0,"a"],[85148,0,"t"],[85149,0,"i"],[85150,0,"o"],[85151,0,"n"],[85152,0,","],[85185,1],[85184,1],[85183,1],[85182,1],[85181,1],[85180,1],[85179,1],[85178,1],[85177,1],[85176,1],[85175,1],[85174,1],[85173,1],[85172,1],[85171,1],[85171,0,"c"],[85172,0,"o"],[85173,0,"n"],[85174,0,"c"],[85175,0,"u"],[85176,0,"r"],[85177,0,"r"],[85178,0,"e"],[85179,0,"n"],[85180,0,"t"],[85181,0," "],[85182,0,"i"],[85183,0,"n"],[85184,0,"s"],[85185,0,"e"],[85186,0,"r"],[85187,0,"t"],[85188,0,"i"],[85189,0,"o"],[85190,0,"n"],[85191,0,"s"],[85192,0," "],[85193,0,"t"],[85194,0,"o"],[85195,0," "],[85196,0,"t"],[85197,0,"h"],[85198,0,"e"],[85199,0," "],[85200,0,"s"],[85201,0,"a"],[85202,0,"m"],[85203,0,"e"],[85204,0," "],[85205,0,"l"],[85206,0,"i"],[85207,0,"s"],[85208,0,"t"],[83141,0,"\n"],[83142,0,"\n"],[83143,0,"\\"],[83144,0,"b"],[83145,0,"e"],[83146,0,"g"],[83147,0,"i"],[83148,0,"n"],[83149,0,"{"],[83150,0,"l"],[83151,0,"e"],[83152,0,"m"],[83153,0,"m"],[83154,0,"a"],[83155,0,"}"],[83156,0,"\\"],[83157,0,"l"],[83158,0,"a"],[83159,0,"b"],[83160,0,"e"],[83161,0,"l"],[83162,0,"{"],[83163,0,"l"],[83164,0,"e"],[83165,0,"m"],[83166,0,":"],[83167,0,"i"],[83168,0,"n"],[83169,0,"s"],[83170,0,"e"],[83171,0,"r"],[83172,0,"t"],[83173,0,"-"],[83174,0,"c"],[83175,0,"o"],[83176,0,"n"],[83177,0,"f"],[83178,0,"l"],[83179,0,"i"],[83180,0,"c"],[83181,0,"t"],[83182,0,"}"],[83183,0,"\n"],[83184,0,"\\"],[83185,0,"e"],[83186,0,"n"],[83187,0,"d"],[83188,0,"{"],[83189,0,"l"],[83190,0,"e"],[83191,0,"m"],[83192,0,"m"],[83193,0,"a"],[83194,0,"}"],[83184,0,"\n"],[83184,0,"I"],[83185,0,"n"],[83186,0," "],[83187,0,"a"],[83188,0,"n"],[83189,0," "],[83190,0,"o"],[83191,0,"p"],[83192,0,"e"],[83193,0,"r"],[83194,0,"a"],[83195,0,"t"],[83196,0,"i"],[83197,0,"o"],[83198,0,"n"],[83199,0," "],[83200,0,"h"],[83201,0,"i"],[83202,0,"s"],[83203,0,"t"],[83204,0,"o"],[83205,0,"r"],[83206,0,"y"],[83207,0," "],[83208,0,"$"],[83209,0,"H"],[83210,0,"$"],[83211,0,","],[83212,0," "],[83213,0,"g"],[83213,1],[83184,0,"F"],[83185,0,"o"],[83186,0,"r"],[83187,0," "],[83188,0,"a"],[83189,0,"n"],[83190,0,"y"],[83191,0," "],[83192,0,"t"],[83193,0,"w"],[83194,0,"o"],[83195,0," "],[83196,0,"c"],[83197,0,"o"],[83198,0,"n"],[83199,0,"c"],[83200,0,"u"],[83201,0,"r"],[83202,0,"r"],[83203,0,"e"],[83204,0,"n"],[83205,0,"t"],[83206,0," "],[83207,0,"i"],[83208,0,"n"],[83209,0,"s"],[83210,0,"e"],[83211,0,"r"],[83212,0,"t"],[83213,0,"i"],[83214,0,"o"],[83215,0,"n"],[83216,0," "],[83217,0,"o"],[83218,0,"p"],[83219,0,"e"],[83220,0,"r"],[83221,0,"a"],[83222,0,"t"],[83223,0,"i"],[83224,0,"o"],[83225,0,"n"],[83226,0,"s"],[83227,0," "],[83228,0,"$"],[83229,0,"o"],[83230,0,"_"],[83231,0,"r"],[83232,0,","],[83233,0," "],[83234,0,"o"],[83235,0,"_"],[83236,0,"s"],[83237,0,"$"],[83238,0," "],[83239,1],[83239,0,"i"],[83243,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,1],[83244,0,"h"],[83257,0,"i"],[83258,0,"f"],[83259,0," "],[83260,0,"t"],[83261,0,"h"],[83262,0,"e"],[83263,0," "],[83264,0,"o"],[83265,0,"p"],[83266,0,"e"],[83267,0,"r"],[83268,0,"a"],[83269,0,"t"],[83270,0,"i"],[83271,0,"o"],[83272,0,"n"],[83273,0,"s"],[83274,0," "],[83275,0,"h"],[83276,0,"a"],[83277,0,"v"],[83278,0,"e"],[83279,0," "],[83280,0,"t"],[83281,0,"h"],[83282,0,"e"],[83283,0," "],[83284,0,"s"],[83285,0,"a"],[83286,0,"m"],[83287,0,"e"],[83288,0," "],[83289,0,"c"],[83290,0,"u"],[83291,0,"r"],[83292,0,"s"],[83293,0,"o"],[83294,0,"r"],[83295,0," "],[83296,0,"("],[83297,0,"$"],[83298,0,"o"],[83299,0,"_"],[83300,0,"r"],[83301,0,"."],[83302,0,"\\"],[83303,0,"m"],[83304,0,"a"],[83305,0,"t"],[83306,0,"h"],[83307,0,"i"],[83308,0,"t"],[83309,0,"{"],[83310,0,"c"],[83311,0,"u"],[83312,0,"r"],[83313,0,"}"],[83314,0," "],[83315,0,"="],[83316,0," "],[83317,0,"o"],[83318,0,"_"],[83319,0,"s"],[83320,0,"."],[83321,0,"\\"],[83322,0,"m"],[83323,0,"a"],[83324,0,"t"],[83325,0,"h"],[83326,0,"i"],[83327,0,"t"],[83328,0,"{"],[83329,0,"c"],[83330,0,"u"],[83331,0,"r"],[83332,0,"}"],[83333,0,"$"],[83334,0,")"],[83335,0,","],[83336,0," "],[83337,0,"t"],[83338,0,"h"],[83339,0,"e"],[83340,0,"n"],[83341,0," "],[83342,0,"t"],[83343,0,"h"],[83344,0,"e"],[83345,0," "],[83346,0,"o"],[83347,0,"r"],[83348,0,"d"],[83349,0,"e"],[83350,0,"r"],[83351,0," "],[83352,0,"a"],[83353,0,"t"],[83354,0," "],[83355,0,"w"],[83356,0,"h"],[83357,0,"i"],[83358,0,"c"],[83359,0,"h"],[83360,0," "],[83361,0,"t"],[83362,0,"h"],[83363,0,"e"],[83364,0," "],[83365,0,"i"],[83366,0,"n"],[83367,0,"s"],[83368,0,"e"],[83369,0,"r"],[83370,0,"t"],[83371,0,"i"],[83372,0,"o"],[83373,0,"n"],[83374,0,"s"],[83375,0," "],[83376,0,"a"],[83377,0,"r"],[83378,0,"e"],[83379,0," "],[83379,1],[83378,1],[83377,1],[83376,1],[83376,0,"a"],[83377,0,"p"],[83378,0,"p"],[83379,0,"e"],[83380,0,"a"],[83381,0,"r"],[83382,0," "],[83383,0,"i"],[83384,0,"n"],[83385,0," "],[83386,0,"t"],[83387,0,"h"],[83388,0,"e"],[83389,0," "],[83390,0,"l"],[83391,0,"i"],[83392,0,"s"],[83393,0,"t"],[83394,0," "],[83395,0,"i"],[83396,0,"s"],[83397,0," "],[83398,0,"i"],[83399,0,"n"],[83400,0,"d"],[83401,0,"e"],[83402,0,"p"],[83403,0,"e"],[83404,0,"n"],[83405,0,"d"],[83406,0,"e"],[83407,0,"n"],[83408,0,"t"],[83409,0," "],[83410,0,"o"],[83411,0,"f"],[83412,0," "],[83413,0,"t"],[83414,0,"h"],[83415,0,"e"],[83416,0," "],[83417,0,"o"],[83418,0,"r"],[83419,0,"d"],[83420,0,"e"],[83421,0,"r"],[83422,0," "],[83423,0,"i"],[83424,0,"n"],[83425,0," "],[83426,0,"w"],[83427,0,"h"],[83428,0,"i"],[83429,0,"c"],[83430,0,"h"],[83431,0," "],[83432,0,"t"],[83433,0,"h"],[83434,0,"e"],[83435,0," "],[83436,0,"o"],[83437,0,"p"],[83438,0,"e"],[83439,0,"r"],[83440,0,"a"],[83441,0,"t"],[83442,0,"i"],[83443,0,"o"],[83444,0,"n"],[83445,0,"s"],[83446,0," "],[83447,0,"a"],[83448,0,"r"],[83449,0,"e"],[83450,0," "],[83451,0,"a"],[83452,0,"p"],[83453,0,"p"],[83454,0,"l"],[83455,0,"i"],[83456,0,"e"],[83457,0,"d"],[83458,0,"."],[83471,0,"\n"],[83472,0,"\n"],[83473,0,"\\"],[83474,0,"b"],[83475,0,"e"],[83476,0,"g"],[83477,0,"i"],[83478,0,"n"],[83479,0,"{"],[83480,0,"p"],[83481,0,"r"],[83482,0,"o"],[83483,0,"o"],[83484,0,"f"],[83485,0,"}"],[83486,0,"\n"],[83487,0,"T"],[83488,0,"O"],[83489,0,"D"],[83490,0,"O"],[83491,0,"\n"],[83492,0,"\\"],[83493,0,"e"],[83494,0,"n"],[83495,0,"d"],[83496,0,"{"],[83497,0,"p"],[83498,0,"r"],[83499,0,"o"],[83500,0,"o"],[83501,0,"f"],[83502,0,"}"],[83353,1],[83352,1],[83334,1],[83296,1],[83295,1],[83294,1],[83293,1],[83292,1],[83291,1],[83290,1],[83289,1],[83288,1],[83287,1],[83286,1],[83285,1],[83284,1],[83283,1],[83282,1],[83281,1],[83280,1],[83279,1],[83278,1],[83277,1],[83276,1],[83275,1],[83274,1],[83273,1],[83272,1],[83271,1],[83270,1],[83269,1],[83268,1],[83267,1],[83266,1],[83265,1],[83264,1],[83263,1],[83262,1],[83261,1],[83260,1],[83314,0,"a"],[83315,0,"t"],[83336,1],[83335,1],[83334,1],[83333,1],[83333,0,"e"],[83334,0,"d"],[83335,0," "],[83336,0,"e"],[83337,0,"l"],[83338,0,"e"],[83339,0,"m"],[83340,0,"e"],[83341,0,"n"],[83342,0,"t"],[83343,0,"s"],[83366,0," "],[83367,0,"d"],[83368,0,"e"],[83369,0,"t"],[83370,0,"e"],[83371,0,"r"],[83372,0,"m"],[83373,0,"i"],[83374,0,"n"],[83375,0,"i"],[83376,0,"s"],[83377,0,"t"],[83378,0,"i"],[83379,0,"c"],[83380,0," "],[83381,0,"a"],[83382,0,"n"],[83383,0,"d"],[83473,0,"\n"],[83474,0,"W"],[83475,0,"i"],[83476,0,"t"],[83477,0,"h"],[83478,0,"o"],[83479,0,"u"],[83480,0,"t"],[83481,0," "],[83482,0,"l"],[83483,0,"o"],[83484,0,"s"],[83485,0,"s"],[83486,0," "],[83487,0,"o"],[83488,0,"f"],[83489,0," "],[83490,0,"g"],[83491,0,"e"],[83492,0,"n"],[83493,0,"e"],[83494,0,"r"],[83495,0,"a"],[83496,0,"l"],[83497,0,"i"],[83498,0,"t"],[83499,0,"y"],[83500,0,","],[83501,0," "],[83502,0,"a"],[83503,0,"s"],[83504,0,"s"],[83505,0,"u"],[83506,0,"m"],[83507,0,"e"],[83508,0," "],[83509,0,"t"],[83510,0,"h"],[83511,0,"a"],[83512,0,"t"],[83513,0," "],[83514,0,"$"],[83515,0,"o"],[83516,0,"_"],[83517,0,"r"],[83518,0,"."],[83519,0,"\\"],[83520,0,"m"],[83521,0,"a"],[83522,0,"t"],[83523,0,"h"],[83524,0,"i"],[83525,0,"t"],[83526,0,"{"],[83527,0,"i"],[83528,0,"d"],[83529,0,"}"],[83530,0," "],[83531,0,"<"],[83532,0," "],[83533,0,"o"],[83534,0,"_"],[83535,0,"s"],[83536,0,"."],[83537,0,"\\"],[83538,0,"m"],[83539,0,"a"],[83540,0,"t"],[83541,0,"h"],[83542,0,"i"],[83543,0,"t"],[83544,0,"{"],[83545,0,"i"],[83546,0,"d"],[83547,0,"}"],[83548,0,"$"],[83549,0," "],[83550,0,"a"],[83551,0,"c"],[83552,0,"c"],[83553,0,"o"],[83554,0,"r"],[83555,0,"d"],[83556,0,"i"],[83557,0,"n"],[83558,0,"g"],[83559,0," "],[83560,0,"t"],[83561,0,"o"],[83562,0," "],[83563,0,"t"],[83564,0,"h"],[83565,0,"e"],[83566,0," "],[83567,0,"o"],[83568,0,"r"],[83569,0,"d"],[83570,0,"e"],[83571,0,"r"],[83572,0,"i"],[83573,0,"n"],[83574,0,"g"],[83575,0," "],[83576,0,"r"],[83577,0,"e"],[83578,0,"l"],[83579,0,"a"],[83580,0,"t"],[83581,0,"i"],[83582,0,"o"],[83583,0,"n"],[83584,0," "],[83585,0,"o"],[83586,0,"n"],[83587,0," "],[83588,0,"L"],[83589,0,"a"],[83590,0,"m"],[83591,0,"p"],[83592,0,"o"],[83593,0,"r"],[83594,0,"t"],[83595,0," "],[83596,0,"t"],[83597,0,"i"],[83598,0,"m"],[83599,0,"e"],[83600,0,"s"],[83601,0,"t"],[83602,0,"a"],[83603,0,"m"],[83604,0,"p"],[83605,0,"s"],[83606,0,"."],[83607,0," "],[83608,0,"("],[83609,0,"I"],[83610,0,"f"],[83611,0," "],[83612,0,"t"],[83613,0,"h"],[83614,0,"e"],[83615,0," "],[83616,0,"o"],[83617,0,"p"],[83618,0,"e"],[83619,0,"r"],[83620,0,"a"],[83621,0,"t"],[83622,0,"i"],[83623,0,"o"],[83624,0,"n"],[83625,0," "],[83626,0,"I"],[83627,0,"D"],[83628,0," "],[83629,0,"o"],[83630,0,"f"],[83631,0," "],[83632,0,"$"],[83633,0,"o"],[83634,0,"_"],[83635,0,"r"],[83636,0,"$"],[83637,0," "],[83638,0,"i"],[83639,0,"s"],[83640,0," "],[83641,0,"g"],[83642,0,"r"],[83643,0,"e"],[83644,0,"a"],[83645,0,"t"],[83646,0," "],[83646,1],[83646,0,"e"],[83647,0,"r"],[83648,0," "],[83649,0,"t"],[83650,0,"h"],[83651,0,"a"],[83652,0,"n"],[83653,0," "],[83654,0,"t"],[83655,0,"h"],[83656,0,"a"],[83657,0,"t"],[83658,0," "],[83659,0,"o"],[83660,0,"f"],[83661,0," "],[83662,0,"$"],[83663,0,"o"],[83664,0,"_"],[83665,0,"s"],[83666,0,"$"],[83667,0,","],[83668,0," "],[83669,0,"t"],[83670,0,"h"],[83671,0,"e"],[83672,0," "],[83673,0,"t"],[83674,0,"w"],[83675,0,"o"],[83676,0," "],[83677,0,"o"],[83678,0,"p"],[83679,0,"e"],[83680,0,"r"],[83681,0,"a"],[83682,0,"t"],[83683,0,"i"],[83684,0,"o"],[83685,0,"n"],[83686,0,"s"],[83687,0," "],[83688,0,"c"],[83689,0,"a"],[83690,0,"n"],[83691,0," "],[83692,0,"b"],[83693,0,"e"],[83694,0," "],[83695,0,"s"],[83696,0,"w"],[83697,0,"a"],[83698,0,"p"],[83699,0,"p"],[83700,0,"e"],[83701,0,"d"],[83702,0," "],[83703,0,"i"],[83704,0,"n"],[83705,0," "],[83706,0,"t"],[83707,0,"h"],[83708,0,"i"],[83709,0,"s"],[83710,0," "],[83711,0,"p"],[83712,0,"r"],[83713,0,"o"],[83714,0,"o"],[83715,0,"f"],[83716,0,"."],[83717,0,")"],[83718,0," "],[83719,0,"W"],[83720,0,"e"],[83721,0," "],[83722,0,"n"],[83723,0,"o"],[83724,0,"w"],[83725,0," "],[83726,0,"d"],[83727,0,"i"],[83728,0,"s"],[83729,0,"t"],[83730,0,"i"],[83731,0,"n"],[83732,0,"g"],[83733,0,"u"],[83734,0,"i"],[83735,0,"s"],[83736,0,"h"],[83737,0," "],[83738,0,"t"],[83738,1],[83738,0,"t"],[83739,0,"h"],[83740,0,"e"],[83741,0," "],[83742,0,"t"],[83743,0,"w"],[83744,0,"o"],[83745,0," "],[83746,0,"p"],[83747,0,"o"],[83748,0,"s"],[83749,0,"s"],[83750,0,"i"],[83751,0,"b"],[83752,0,"l"],[83753,0,"e"],[83754,0," "],[83755,0,"o"],[83756,0,"r"],[83757,0,"d"],[83758,0,"e"],[83759,0,"r"],[83760,0,"i"],[83761,0,"n"],[83762,0,"g"],[83763,0,"s"],[83764,0," "],[83764,1],[83763,1],[83762,1],[83761,1],[83760,1],[83760,0,"s"],[83761,0," "],[83762,0,"o"],[83763,0,"f"],[83764,0," "],[83765,0,"a"],[83766,0,"p"],[83767,0,"p"],[83768,0,"l"],[83769,0,"y"],[83770,0,"i"],[83771,0,"n"],[83772,0,"g"],[83773,0," "],[83774,0,"t"],[83775,0,"h"],[83776,0,"e"],[83777,0," "],[83778,0,"o"],[83779,0,"p"],[83780,0,"e"],[83781,0,"r"],[83782,0,"a"],[83783,0,"t"],[83784,0,"i"],[83785,0,"o"],[83786,0,"n"],[83787,0,"s"],[83788,0,":"],[83789,0,"\n"],[83790,0,"\n"],[83791,0,"\\"],[83792,0,"b"],[83793,0,"e"],[83794,0,"g"],[83795,0,"i"],[83796,0,"n"],[83797,0,"{"],[83798,0,"e"],[83799,0,"n"],[83800,0,"u"],[83801,0,"m"],[83802,0,"e"],[83803,0,"r"],[83804,0,"a"],[83805,0,"t"],[83806,0,"e"],[83807,0,"}"],[83812,1],[83811,1],[83810,1],[83809,1],[83809,0,"\\"],[83810,0,"e"],[83811,0,"n"],[83812,0,"d"],[83813,0,"{"],[83814,0,"e"],[83815,0,"n"],[83816,0,"u"],[83817,0,"m"],[83818,0,"e"],[83819,0,"r"],[83820,0,"a"],[83821,0,"t"],[83822,0,"e"],[83823,0,"}"],[83808,0,"\n"],[83809,0,"\\"],[83810,0,"i"],[83811,0,"t"],[83812,0,"e"],[83813,0,"m"],[83814,0," "],[83815,0,"$"],[83816,0,"o"],[83817,0,"_"],[83818,0,"r"],[83819,0,"$"],[83820,0," "],[83821,0,"i"],[83822,0,"s"],[83823,0," "],[83824,0,"a"],[83825,0,"p"],[83826,0,"p"],[83827,0,"l"],[83828,0,"i"],[83829,0,"e"],[83830,0,"d"],[83831,0," "],[83832,0,"b"],[83833,0,"e"],[83834,0,"f"],[83835,0,"o"],[83836,0,"r"],[83837,0,"e"],[83838,0," "],[83839,0,"$"],[83840,0,"o"],[83841,0,"_"],[83842,0,"s"],[83843,0,"$"],[83844,0," "],[83845,0,"i"],[83846,0,"n"],[83847,0," "],[83848,0,"$"],[83849,0,"H"],[83850,0,"$"],[83363,0," "],[83364,0,"a"],[83365,0,"f"],[83366,0,"t"],[83367,0,"e"],[83368,0,"r"],[83369,0," "],[83370,0,"a"],[83371,0,"p"],[83372,0,"p"],[83373,0,"l"],[83374,0,"y"],[83375,0,"i"],[83376,0,"n"],[83377,0,"t"],[83378,0," "],[83378,1],[83377,1],[83377,0,"g"],[83378,0," "],[83379,0,"$"],[83380,0,"H"],[83381,0,"$"],[83463,1],[83462,1],[83461,1],[83460,1],[83459,1],[83458,1],[83457,1],[83456,1],[83455,1],[83454,1],[83453,1],[83452,1],[83451,1],[83450,1],[83449,1],[83448,1],[83447,1],[83446,1],[83445,1],[83444,1],[83443,1],[83442,1],[83441,1],[83440,1],[83439,1],[83438,1],[83437,1],[83436,1],[83435,1],[83434,1],[83433,1],[83432,1],[83431,1],[83430,1],[83429,1],[83429,0,"o"],[83430,0,"f"],[83431,0," "],[83432,0,"$"],[83433,0,"o"],[83434,0,"_"],[83435,0,"r"],[83436,0,"$"],[83437,0," "],[83438,0,"a"],[83439,0,"n"],[83440,0,"d"],[83441,0," "],[83442,0,"$"],[83443,0,"o"],[83444,0,"_"],[83445,0,"s"],[83446,0,"$"],[83447,0," "],[83448,0,"i"],[83449,0,"n"],[83450,0," "],[83451,0,"$"],[83452,0,"H"],[83453,0,"$"],[83860,0,"."],[83861,0," "],[83862,0,"T"],[83863,0,"h"],[83864,0,"u"],[83865,0,"s"],[83866,0,","],[83867,0," "],[83868,0,"a"],[83869,0,"t"],[83870,0," "],[83871,0,"t"],[83872,0,"h"],[83873,0,"e"],[83874,0," "],[83875,0,"t"],[83876,0,"i"],[83877,0,"m"],[83878,0,"e"],[83879,0," "],[83880,0,"w"],[83881,0,"h"],[83882,0,"e"],[83883,0,"n"],[83884,0," "],[83885,0,"$"],[83886,0,"o"],[83887,0,"_"],[83888,0,"s"],[83889,0,"$"],[83890,0," "],[83891,0,"i"],[83892,0,"s"],[83893,0," "],[83894,0,"a"],[83895,0,"p"],[83896,0,"p"],[83897,0,"l"],[83898,0,"i"],[83899,0,"e"],[83900,0,"d"],[83901,0,","],[83902,0," "],[83903,0,"$"],[83904,0,"o"],[83905,0,"_"],[83906,0,"r"],[83907,0,"$"],[83908,0," "],[83909,0,"h"],[83910,0,"a"],[83911,0,"s"],[83912,0," "],[83913,0,"a"],[83914,0,"l"],[83915,0,"r"],[83916,0,"e"],[83917,0,"a"],[83918,0,"d"],[83919,0,"y"],[83920,0," "],[83921,0,"b"],[83922,0,"e"],[83923,0,"e"],[83924,0,"n"],[83925,0," "],[83926,0,"a"],[83927,0,"p"],[83928,0,"p"],[83929,0,"l"],[83930,0,"i"],[83931,0,"e"],[83932,0,"d"],[83933,0,"."],[83934,0," "],[83935,0,"W"],[83936,0,"h"],[83937,0,"e"],[83938,0,"n"],[83939,0," "],[83940,0,"a"],[83941,0,"p"],[83942,0,"p"],[83943,0,"l"],[83944,0,"y"],[83945,0,"i"],[83946,0,"n"],[83947,0,"g"],[83948,0," "],[83949,0,"$"],[83950,0,"o"],[83951,0,"_"],[83952,0,"s"],[83953,0,"$"],[83954,0,","],[83955,0," "],[83956,0,"s"],[83957,0,"i"],[83958,0,"n"],[83959,0,"c"],[83960,0,"e"],[83961,0," "],[83962,0,"$"],[83963,0,"o"],[83964,0,"_"],[83965,0,"r"],[83966,0,"$"],[83967,0," "],[83968,0,"h"],[83969,0,"a"],[83970,0,"s"],[83971,0," "],[83972,0,"a"],[83973,0," "],[83974,0,"l"],[83975,0,"e"],[83976,0,"s"],[83977,0,"s"],[83978,0,"e"],[83979,0,"r"],[83980,0," "],[83981,0,"o"],[83982,0,"p"],[83983,0,"e"],[83984,0,"r"],[83985,0,"a"],[83986,0,"t"],[83987,0,"i"],[83988,0,"o"],[83989,0,"n"],[83990,0," "],[83991,0,"I"],[83992,0,"D"],[83993,0,","],[83994,0," "],[83995,0,"t"],[83996,0,"h"],[83997,0,"e"],[83998,0," "],[83999,0,"\\"],[83999,1],[83999,0,"r"],[84000,0,"u"],[84001,0,"l"],[84002,0,"e"],[84003,0," "],[84004,0,"$"],[84005,0,"\\"],[84006,0,"t"],[84007,0,"e"],[84008,0,"x"],[84009,0,"t"],[84010,0,"s"],[84011,0,"c"],[84012,0,"{"],[84013,0,"I"],[84014,0,"n"],[84015,0,"s"],[84016,0,"e"],[84017,0,"r"],[84018,0,"t"],[84019,0,"}"],[84020,0,"_"],[84021,0,"1"],[84022,0,"$"],[84023,0," "],[84024,0,"a"],[84025,0,"p"],[84026,0,"p"],[84027,0,"l"],[84028,0,"i"],[84029,0,"e"],[84030,0,"s"],[84031,0," "],[84032,0,"w"],[84033,0,"i"],[84034,0,"t"],[84035,0,"h"],[84036,0," "],[84037,0,"$"],[84038,0,"\\"],[84039,0,"m"],[84040,0,"a"],[84041,0,"t"],[84042,0,"h"],[84043,0,"i"],[84044,0,"t"],[84045,0,"{"],[84046,0,"n"],[84047,0,"e"],[84048,0,"x"],[84049,0,"t"],[84050,0,"}"],[84051,0," "],[84052,0,"="],[84053,0," "],[84054,0,"o"],[84055,0,"_"],[84056,0,"r"],[84057,0,"."],[84058,0,"\\"],[84059,0,"m"],[84060,0,"a"],[84061,0,"t"],[84062,0,"h"],[84063,0,"i"],[84064,0,"t"],[84065,0,"{"],[84066,0,"i"],[84067,0,"d"],[84068,0,"}"],[84069,0,"$"],[84070,0," "],[84071,0,"a"],[84072,0,"t"],[84073,0," "],[84074,0,"t"],[84075,0,"h"],[84076,0,"e"],[84077,0," "],[84078,0,"l"],[84079,0,"a"],[84080,0,"t"],[84081,0,"e"],[84082,0,"s"],[84083,0,"t"],[84084,0,","],[84085,0," "],[84086,0,"s"],[84087,0,"o"],[84088,0," "],[84089,0,"t"],[84090,0,"h"],[84091,0,"e"],[84092,0," "],[84093,0,"i"],[84094,0,"n"],[84095,0,"s"],[84096,0,"e"],[84097,0,"r"],[84098,0,"t"],[84099,0,"i"],[84100,0,"o"],[84101,0,"n"],[84102,0," "],[84103,0,"p"],[84104,0,"o"],[84105,0,"s"],[84106,0,"i"],[84107,0,"t"],[84108,0,"i"],[84109,0,"o"],[84110,0,"n"],[84111,0," "],[84112,0,"o"],[84113,0,"f"],[84114,0," "],[84115,0,"$"],[84116,0,"o"],[84117,0,"_"],[84118,0,"s"],[84119,0,"$"],[84120,0," "],[84121,0,"m"],[84122,0,"u"],[84123,0,"s"],[84124,0,"t"],[84125,0," "],[84126,0,"a"],[84127,0,"p"],[84128,0,"p"],[84129,0,"e"],[84130,0,"a"],[84131,0,"r"],[84132,0," "],[84133,0,"b"],[84134,0,"e"],[84135,0,"f"],[84136,0,"o"],[84137,0,"r"],[84138,0,"e"],[84139,0," "],[84140,0,"$"],[84141,0,"o"],[84142,0,"_"],[84143,0,"r"],[84144,0,"$"],[84145,0,"."],[84146,0," "],[84147,0,"I"],[84148,0,"t"],[84149,0," "],[84150,0,"i"],[84151,0,"s"],[84152,0," "],[84153,0,"n"],[84154,0,"o"],[84155,0,"t"],[84156,0," "],[84157,0,"p"],[84158,0,"o"],[84159,0,"s"],[84160,0,"s"],[84161,0,"i"],[84162,0,"b"],[84163,0,"l"],[84164,0,"e"],[84165,0," "],[84166,0,"f"],[84167,0,"o"],[84168,0,"r"],[84169,0," "],[84170,0,"I"],[84171,0,"n"],[84172,0,"s"],[84173,0,"e"],[84174,0,"r"],[84175,0,"t"],[84170,0,"$"],[84171,0,"\\"],[84172,0,"m"],[84173,0,"a"],[84174,0,"t"],[84175,0,"h"],[84175,1],[84174,1],[84173,1],[84172,1],[84172,0,"t"],[84173,0,"e"],[84174,0,"x"],[84175,0,"t"],[84176,0,"s"],[84177,0,"c"],[84178,0,"{"],[84185,0,"}"],[84186,0,"_"],[84187,0,"2"],[84188,0,"$"],[84189,0," "],[84190,0,"t"],[84191,0,"o"],[84192,0," "],[84193,0,"s"],[84194,0,"k"],[84195,0,"i"],[84196,0,"p"],[84197,0," "],[84198,0,"p"],[84199,0,"a"],[84200,0,"s"],[84201,0,"t"],[84202,0," "],[84203,0,"o"],[84203,1],[84203,0,"$"],[84204,0,"o"],[84205,0,"_"],[84206,0,"r"],[84207,0,"$"],[84208,0,"."],[84209,0,"\n"],[84210,0,"\n"],[84211,0,"\\"],[84212,0,"i"],[84213,0,"t"],[84214,0,"e"],[84215,0,"m"],[84216,0," "],[84217,0,"$"],[84218,0,"o"],[84219,0,"_"],[84220,0,"s"],[84221,0,"$"],[84222,0," "],[84223,0,"i"],[84224,0,"s"],[84225,0," "],[84226,0,"a"],[84227,0,"p"],[84228,0,"p"],[84229,0,"l"],[84230,0,"i"],[84231,0,"e"],[84232,0,"d"],[84233,0," "],[84234,0,"b"],[84235,0,"e"],[84236,0,"f"],[84237,0,"o"],[84238,0,"r"],[84239,0,"e"],[84240,0," "],[84241,0,"$"],[84242,0,"o"],[84243,0,"_"],[84244,0,"r"],[84245,0,"$"],[84246,0," "],[84247,0,"i"],[84248,0,"n"],[84249,0," "],[84250,0,"$"],[84251,0,"H"],[84252,0,"$"],[84253,0,"."],[84254,0," "],[84255,0,"T"],[84256,0,"h"],[84257,0,"u"],[84258,0,"s"],[84259,0,","],[84260,0," "],[84261,0,"a"],[84262,0,"t"],[84263,0," "],[84264,0,"t"],[84265,0,"h"],[84266,0,"e"],[84267,0," "],[84268,0,"t"],[84269,0,"i"],[84270,0,"m"],[84271,0,"e"],[84272,0," "],[84273,0,"w"],[84274,0,"h"],[84275,0,"e"],[84276,0,"n"],[84277,0," "],[84278,0,"$"],[84279,0,"o"],[84280,0,"_"],[84281,0,"r"],[84282,0,"$"],[84283,0," "],[84284,0,"i"],[84285,0,"s"],[84286,0," "],[84287,0,"a"],[84288,0,"p"],[84289,0,"p"],[84290,0,"l"],[84291,0,"i"],[84292,0,"e"],[84293,0,"d"],[84294,0,","],[84295,0," "],[84296,0,"$"],[84297,0,"o"],[84298,0,"_"],[84299,0,"s"],[84300,0,"$"],[84301,0," "],[84302,0,"h"],[84303,0,"a"],[84304,0,"s"],[84305,0," "],[84306,0,"a"],[84307,0,"l"],[84308,0,"r"],[84309,0,"e"],[84310,0,"a"],[84311,0,"d"],[84312,0,"y"],[84313,0," "],[84314,0,"b"],[84315,0,"e"],[84316,0,"e"],[84317,0,"n"],[84318,0," "],[84319,0,"a"],[84320,0,"p"],[84321,0,"p"],[84322,0,"l"],[84323,0,"i"],[84324,0,"e"],[84325,0,"d"],[84326,0,"."],[84327,0," "],[84328,0,"T"],[84329,0,"O"],[84330,0,"D"],[84331,0,"O"],[84331,1],[84330,1],[84329,1],[84328,1],[84328,0,"W"],[84329,0,"h"],[84330,0,"e"],[84331,0,"n"],[84332,0," "],[84333,0,"a"],[84334,0,"p"],[84335,0,"p"],[84336,0,"l"],[84337,0,"y"],[84338,0,"i"],[84339,0,"n"],[84340,0,"g"],[84341,0," "],[84342,0,"$"],[84343,0,"o"],[84344,0,"_"],[84345,0,"r"],[84346,0,"$"],[84347,0,","],[84348,0," "],[84349,0,"t"],[84350,0,"h"],[84351,0,"e"],[84352,0," "],[84353,0,"r"],[84354,0,"u"],[84355,0,"l"],[84356,0,"e"],[84357,0," "],[84358,0,"$"],[84359,0,"\\"],[84360,0,"t"],[84361,0,"e"],[84362,0,"x"],[84363,0,"t"],[84364,0,"s"],[84365,0,"c"],[84366,0,"{"],[84367,0,"I"],[84368,0,"n"],[84369,0,"s"],[84370,0,"e"],[84371,0,"r"],[84372,0,"t"],[84373,0,"_"],[84373,1],[84373,0,"}"],[84374,0,"_"],[84375,0,"2"],[84376,0,"$"],[84377,0," "],[84378,0,"a"],[84379,0,"p"],[84380,0,"p"],[84381,0,"l"],[84382,0,"i"],[84383,0,"e"],[84384,0,"s"],[84385,0," "],[84386,0,"w"],[84387,0,"i"],[84388,0,"t"],[84389,0,"h"],[84390,0," "],[84391,0,"$"],[84392,0,"\\"],[84393,0,"m"],[84394,0,"a"],[84395,0,"t"],[84396,0,"h"],[84397,0,"i"],[84398,0,"t"],[84399,0,"{"],[84400,0,"n"],[84401,0,"e"],[84402,0,"x"],[84403,0,"t"],[84404,0,"}"],[84405,0," "],[84406,0,"="],[84407,0," "],[84408,0,"o"],[84409,0,"_"],[84410,0,"s"],[84411,0,"."],[84412,0,"\\"],[84413,0,"m"],[84414,0,"a"],[84415,0,"t"],[84416,0,"h"],[84417,0,"i"],[84418,0,"t"],[84419,0,"{"],[84420,0,"i"],[84421,0,"d"],[84422,0,"}"],[84423,0,"$"],[84424,0," "],[84424,1],[84424,0,","],[84425,0," "],[84426,0,"s"],[84427,0,"o"],[84428,0," "],[84429,0,"t"],[84430,0,"h"],[84431,0,"e"],[84432,0," "],[84433,0,"r"],[84434,0,"u"],[84435,0,"l"],[84436,0,"e"],[84437,0," "],[84438,0,"s"],[84439,0,"k"],[84440,0,"i"],[84441,0,"p"],[84442,0,"s"],[84443,0," "],[84444,0,"o"],[84445,0,"v"],[84446,0,"e"],[84447,0,"r"],[84448,0," "],[84449,0,"$"],[84450,0,"o"],[84451,0,"_"],[84452,0,"s"],[84453,0,"$"],[84454,0," "],[84455,0,"a"],[84456,0,"n"],[84457,0,"d"],[84458,0," "],[84447,1],[84446,1],[84445,1],[84444,1],[84444,0,"p"],[84445,0,"a"],[84446,0,"s"],[84447,0,"t"],[84459,0,"i"],[84460,0,"n"],[84461,0,"s"],[84462,0,"e"],[84463,0,"r"],[84464,0,"t"],[84465,0,"s"],[84466,0," "],[84467,0,"$"],[84468,0,"o"],[84469,0,"_"],[84470,0,"r"],[84471,0,"$"],[84472,0," "],[84473,0,"a"],[84474,0,"t"],[84475,0," "],[84476,0,"a"],[84477,0," "],[84478,0,"p"],[84479,0,"o"],[84480,0,"s"],[84481,0,"i"],[84482,0,"t"],[84483,0,"i"],[84484,0,"o"],[84485,0,"n"],[84486,0," "],[84487,0,"a"],[84488,0,"f"],[84489,0,"t"],[84490,0,"e"],[84491,0,"r"],[84492,0," "],[84493,0,"$"],[84494,0,"o"],[84495,0,"_"],[84496,0,"s"],[84497,0,"$"],[84498,0,"."],[84499,0," "],[84500,0,"M"],[84501,0,"o"],[84502,0,"r"],[84503,0,"e"],[84504,0,"o"],[84505,0,"v"],[84506,0,"e"],[84507,0,"r"],[84508,0,","],[84509,0," "],[84510,0,"a"],[84511,0,"n"],[84512,0,"y"],[84513,0," "],[84514,0,"l"],[84515,0,"i"],[84516,0,"s"],[84517,0,"t"],[84518,0," "],[84519,0,"e"],[84520,0,"l"],[84521,0,"e"],[84522,0,"m"],[84523,0,"e"],[84524,0,"n"],[84525,0,"t"],[84526,0,"s"],[84527,0," "],[84528,0,"b"],[84529,0,"e"],[84530,0,"t"],[84531,0,"w"],[84532,0,"e"],[84533,0,"e"],[84534,0,"n"],[84535,0," "],[84536,0,"$"],[84537,0,"o"],[84538,0,"_"],[84539,0,"s"],[84540,0,"."],[84541,0,"\\"],[84542,0,"m"],[84543,0,"a"],[84544,0,"t"],[84545,0,"h"],[84546,0,"i"],[84547,0,"t"],[84548,0,"{"],[84549,0,"c"],[84550,0,"u"],[84551,0,"r"],[84552,0,"}"],[84553,0,"$"],[84554,0," "],[84555,0,"a"],[84556,0,"n"],[84557,0,"d"],[84558,0," "],[84559,0,"$"],[84560,0,"o"],[84527,0," "],[84528,0,"t"],[84529,0,"h"],[84530,0,"a"],[84531,0,"t"],[84532,0," "],[84533,0,"a"],[84534,0,"p"],[84535,0,"p"],[84536,0,"e"],[84537,0,"a"],[84538,0,"r"],[84573,0,"_"],[84574,0,"s"],[84575,0,"$"],[84576,0," "],[84577,0,"a"],[84578,0,"t"],[84579,0," "],[84580,0,"t"],[84581,0,"h"],[84582,0,"e"],[84583,0," "],[84584,0,"t"],[84585,0,"i"],[84586,0,"m"],[84587,0,"e"],[84588,0," "],[84589,0,"o"],[84590,0,"f"],[84591,0," "],[84592,0,"i"],[84593,0,"n"],[84594,0,"s"],[84595,0,"e"],[84596,0,"r"],[84597,0,"t"],[84598,0,"i"],[84599,0,"n"],[84600,0,"g"],[84601,0," "],[84602,0,"$"],[84603,0,"o"],[84604,0,"_"],[84605,0,"r"],[84606,0,"$"],[84607,0," "],[84608,0,"m"],[84609,0,"u"],[84610,0,"s"],[84611,0,"t"],[84612,0," "],[84613,0,"h"],[84614,0,"a"],[84615,0,"v"],[84616,0,"e"],[84617,0," "],[84618,0,"a"],[84619,0," "],[84620,0,"L"],[84621,0,"a"],[84622,0,"m"],[84623,0,"p"],[84624,0,"o"],[84625,0,"r"],[84626,0,"t"],[84627,0," "],[84628,0,"t"],[84629,0,"i"],[84630,0,"m"],[84631,0,"e"],[84632,0,"s"],[84633,0,"t"],[84634,0,"a"],[84635,0,"m"],[84636,0,"p"],[84637,0," "],[84638,0,"g"],[84639,0,"r"],[84640,0,"e"],[84641,0,"a"],[84642,0,"t"],[84643,0,"e"],[84644,0,"r"],[84645,0," "],[84646,0,"t"],[84647,0,"h"],[84648,0,"a"],[84649,0,"t"],[84650,0,"n"],[84650,1],[84649,1],[84649,0,"n"],[84650,0," "],[84651,0,"$"],[84652,0,"o"],[84653,0,"_"],[84654,0,"s"],[84655,0,"."],[84656,0,"\\"],[84657,0,"m"],[84658,0,"a"],[84659,0,"t"],[84660,0,"h"],[84661,0,"i"],[84662,0,"t"],[84663,0,"{"],[84664,0,"i"],[84665,0,"d"],[84666,0,"}"],[84667,0,"$"],[84668,0,","],[84669,0," "],[84670,0,"b"],[84671,0,"e"],[84672,0,"c"],[84673,0,"a"],[84674,0,"u"],[84675,0,"s"],[84676,0,"e"],[84677,0," "],[84677,1],[84676,1],[84675,1],[84674,1],[84673,1],[84672,1],[84671,1],[84670,1],[84670,0,"s"],[84671,0,"o"],[84672,0," "],[84673,0,"$"],[84674,0,"'"],[84674,1],[84674,0,"\\"],[84675,0,"t"],[84676,0,"e"],[84677,0,"x"],[84678,0,"t"],[84679,0,"s"],[84680,0,"c"],[84681,0,"{"],[84682,0,"I"],[84683,0,"n"],[84684,0,"s"],[84685,0,"e"],[84686,0,"r"],[84687,0,"t"],[84688,0,"}"],[84689,0,"_"],[84690,0,"2"],[84691,0,"$"],[84692,0," "],[84693,0,"a"],[84694,0,"l"],[84695,0,"s"],[84696,0,"o"],[84697,0," "],[84698,0,"s"],[84699,0,"k"],[84700,0,"i"],[84701,0,"p"],[84702,0,"s"],[84703,0," "],[84704,0,"o"],[84705,0,"v"],[84706,0,"e"],[84707,0,"r"],[84708,0," "],[84709,0,"t"],[84710,0,"h"],[84711,0,"o"],[84712,0,"s"],[84713,0,"e"],[84714,0," "],[84715,0,"l"],[84716,0,"i"],[84717,0,"s"],[84718,0,"t"],[84719,0," "],[84720,0,"e"],[84721,0,"l"],[84722,0,"e"],[84723,0,"m"],[84724,0,"e"],[84725,0,"n"],[84726,0,"t"],[84727,0,"s"],[84728,0," "],[84729,0,"w"],[84730,0,"h"],[84731,0,"e"],[84732,0,"n"],[84733,0," "],[84734,0,"i"],[84735,0,"n"],[84736,0,"s"],[84737,0,"e"],[84738,0,"r"],[84739,0,"t"],[84740,0,"i"],[84741,0,"n"],[84742,0,"g"],[84743,0," "],[84744,0,"$"],[84745,0,"o"],[84746,0,"_"],[84747,0,"r"],[84748,0,"$"],[84749,0,"."],[84750,0," "],[84751,0,"T"],[84752,0,"h"],[84753,0,"u"],[84754,0,"s"],[84755,0,","],[84756,0," "],[84757,0,"t"],[84758,0,"h"],[84759,0,"e"],[84760,0," "],[84761,0,"i"],[84762,0,"n"],[84763,0,"s"],[84764,0,"e"],[84765,0,"r"],[84766,0,"t"],[84767,0,"i"],[84768,0,"o"],[84769,0,"n"],[84770,0," "],[84771,0,"p"],[84772,0,"o"],[84773,0,"s"],[84774,0,"i"],[84775,0,"t"],[84776,0,"i"],[84777,0,"o"],[84778,0,"n"],[84779,0," "],[84780,0,"o"],[84781,0,"f"],[84782,0," "],[84783,0,"$"],[84784,0,"o"],[84785,0,"_"],[84786,0,"r"],[84787,0,"$"],[84788,0," "],[84789,0,"m"],[84790,0,"u"],[84791,0,"s"],[84792,0,"t"],[84793,0," "],[84794,0,"b"],[84795,0,"e"],[84796,0," "],[84797,0,"a"],[84798,0,"f"],[84799,0,"t"],[84800,0,"e"],[84801,0,"r"],[84802,0," "],[84803,0,"$"],[84804,0,"o"],[84805,0,"_"],[84806,0,"s"],[84807,0,"$"],[84808,0,"."],[84826,0,"\n"],[84826,0,"\n"],[84827,0,"I"],[84828,0,"n"],[84829,0," "],[84830,0,"b"],[84831,0,"o"],[84832,0,"t"],[84833,0,"h"],[84834,0," "],[84835,0,"c"],[84836,0,"a"],[84837,0,"s"],[84838,0,"e"],[84839,0,"s"],[84840,0,","],[84841,0," "],[84842,0,"t"],[84843,0,"h"],[84844,0,"e"],[84845,0," "],[84846,0,"i"],[84847,0,"n"],[84848,0,"s"],[84849,0,"e"],[84850,0,"r"],[84851,0,"t"],[84852,0,"i"],[84853,0,"o"],[84854,0,"n"],[84855,0," "],[84856,0,"p"],[84857,0,"o"],[84858,0,"s"],[84859,0,"i"],[84860,0,"t"],[84861,0,"i"],[84862,0,"o"],[84863,0,"n"],[84864,0," "],[84865,0,"o"],[84866,0,"f"],[84867,0," "],[84868,0,"$"],[84869,0,"o"],[84870,0,"_"],[84871,0,"r"],[84872,0,"$"],[84873,0," "],[84874,0,"a"],[84875,0,"p"],[84876,0,"p"],[84877,0,"e"],[84878,0,"a"],[84879,0,"r"],[84880,0,"s"],[84881,0," "],[84882,0,"a"],[84883,0,"f"],[84884,0,"t"],[84885,0,"e"],[84886,0,"r"],[84887,0," "],[84888,0,"t"],[84889,0,"h"],[84890,0,"e"],[84891,0," "],[84892,0,"i"],[84893,0,"n"],[84894,0,"s"],[84895,0,"e"],[84896,0,"r"],[84897,0,"t"],[84898,0,"i"],[84899,0,"o"],[84900,0,"n"],[84901,0," "],[84902,0,"p"],[84903,0,"o"],[84904,0,"s"],[84905,0,"i"],[84906,0,"t"],[84907,0,"i"],[84908,0,"o"],[84909,0,"n"],[84910,0," "],[84911,0,"o"],[84912,0,"f"],[84913,0," "],[84914,0,"$"],[84915,0,"o"],[84916,0,"_"],[84917,0,"s"],[84918,0,"$"],[84919,0,"."],[84920,0," "],[84920,1],[84919,1],[84840,1],[84839,1],[84838,1],[84837,1],[84836,1],[84835,1],[84834,1],[84833,1],[84832,1],[84831,1],[84830,1],[84829,1],[84828,1],[84827,1],[84827,0,"T"],[84828,0,"h"],[84829,0,"u"],[84830,0,"s"],[84831,0,","],[84910,0,","],[84911,0," "],[84912,0,"r"],[84913,0,"e"],[84914,0,"g"],[84915,0,"a"],[84916,0,"r"],[84917,0,"d"],[84918,0,"l"],[84919,0,"e"],[84920,0,"s"],[84921,0,"s"],[84922,0," "],[84923,0,"o"],[84924,0,"f"],[84925,0," "],[84926,0,"t"],[84927,0,"h"],[84928,0,"e"],[84929,0," "],[84930,0,"o"],[84931,0,"r"],[84932,0,"d"],[84933,0,"e"],[84934,0,"r"],[84935,0," "],[84936,0,"i"],[84937,0,"n"],[84938,0," "],[84939,0,"w"],[84940,0,"h"],[84941,0,"i"],[84942,0,"c"],[84943,0,"h"],[84944,0," "],[84945,0,"t"],[84946,0,"h"],[84947,0,"e"],[84948,0," "],[84949,0,"t"],[84950,0,"w"],[84951,0,"o"],[84952,0," "],[84953,0,"o"],[84954,0,"p"],[84955,0,"e"],[84956,0,"r"],[84957,0,"a"],[84958,0,"t"],[84959,0,"i"],[84960,0,"o"],[84961,0,"n"],[84962,0,"s"],[84963,0," "],[84964,0,"a"],[84965,0,"r"],[84966,0,"e"],[84967,0," "],[84968,0,"a"],[84969,0,"p"],[84970,0,"p"],[84971,0,"l"],[84972,0,"i"],[84973,0,"e"],[84974,0,"d"],[84975,0,"."],[84976,0," "],[84977,0,"S"],[84977,1],[84977,0,"T"],[84978,0,"h"],[84979,0,"e"],[84980,0," "],[84981,0,"o"],[84982,0,"r"],[84983,0,"d"],[84984,0,"e"],[84985,0,"r"],[84986,0,"i"],[84987,0,"n"],[84988,0,"g"],[84989,0," "],[84990,0,"d"],[84991,0,"e"],[84992,0,"p"],[84993,0,"e"],[84994,0,"n"],[84995,0,"d"],[84996,0,"s"],[84997,0," "],[84998,0,"o"],[84999,0,"n"],[85000,0,"l"],[85001,0,"y"],[85002,0," "],[85003,0,"o"],[85004,0,"n"],[85005,0," "],[85006,0,"t"],[85007,0,"h"],[85008,0,"e"],[85009,0," "],[85010,0,"o"],[85011,0,"p"],[85012,0,"e"],[85013,0,"r"],[85014,0,"a"],[85015,0,"t"],[85016,0,"i"],[85017,0,"o"],[85018,0,"n"],[85019,0," "],[85020,0,"I"],[85021,0,"D"],[85022,0,"s"],[85023,0,","],[85024,0," "],[85025,0,"a"],[85026,0,"n"],[85027,0,"d"],[85028,0," "],[85029,0,"s"],[85030,0,"i"],[85031,0,"n"],[85032,0,"c"],[85033,0,"e"],[85034,0," "],[85035,0,"t"],[85036,0,"h"],[85037,0,"e"],[85038,0,"s"],[85039,0,"e"],[85040,0," "],[85041,0,"I"],[85042,0,"D"],[85043,0,"s"],[85044,0," "],[85045,0,"a"],[85046,0,"r"],[85047,0,"e"],[85048,0," "],[85049,0,"f"],[85050,0,"i"],[85051,0,"x"],[85052,0,"e"],[85053,0,"d"],[85054,0," "],[85055,0,"a"],[85056,0,"t"],[85057,0," "],[85058,0,"t"],[85059,0,"h"],[85060,0,"e"],[85061,0," "],[85062,0,"t"],[85063,0,"o"],[85064,0,"m"],[85064,1],[85063,1],[85063,0,"i"],[85064,0,"m"],[85065,0,"e"],[85066,0," "],[85067,0,"t"],[85068,0,"h"],[85069,0,"e"],[85070,0," "],[85071,0,"o"],[85072,0,"p"],[85073,0,"e"],[85074,0,"r"],[85075,0,"a"],[85076,0,"t"],[85077,0,"i"],[85078,0,"o"],[85079,0,"n"],[85080,0,"s"],[85081,0," "],[85082,0,"a"],[85083,0,"r"],[85084,0,"e"],[85085,0," "],[85086,0,"g"],[85087,0,"e"],[85088,0,"n"],[85089,0,"e"],[85090,0,"r"],[85091,0,"a"],[85092,0,"t"],[85093,0,"e"],[85094,0,"d"],[85095,0,","],[85096,0," "],[85097,0,"t"],[85098,0,"h"],[85099,0,"e"],[85100,0," "],[85101,0,"l"],[85102,0,"i"],[85103,0,"s"],[85104,0,"t"],[85105,0," "],[85106,0,"o"],[85107,0,"r"],[85108,0,"d"],[85109,0,"e"],[85110,0,"r"],[85111,0," "],[85112,0,"i"],[85113,0,"s"],[85114,0," "],[85115,0,"d"],[85116,0,"e"],[85117,0,"t"],[85118,0,"e"],[85119,0,"r"],[85120,0,"m"],[85121,0,"i"],[85122,0,"n"],[85123,0,"e"],[85124,0,"d"],[85125,0," "],[85126,0,"b"],[85127,0,"y"],[85128,0," "],[85129,0,"t"],[85130,0,"h"],[85131,0,"e"],[85132,0," "],[85133,0,"I"],[85134,0,"D"],[85135,0,"s"],[85136,0,"."],[86954,1],[86953,1],[86952,1],[86951,1],[86950,1],[86949,1],[86948,1],[86947,1],[86946,1],[86945,1],[86944,1],[86943,1],[86942,1],[86941,1],[86940,1],[86939,1],[86938,1],[86937,1],[86936,1],[86935,1],[86934,1],[86933,1],[86932,1],[86931,1],[86930,1],[86929,1],[86928,1],[86927,1],[86926,1],[86925,1],[86924,1],[86923,1],[86922,1],[86921,1],[86920,1],[86919,1],[86918,1],[86917,1],[86916,1],[86915,1],[86914,1],[86913,1],[86912,1],[86911,1],[86910,1],[86909,1],[86908,1],[86907,1],[86906,1],[86905,1],[86904,1],[86903,1],[86902,1],[86901,1],[86900,1],[86899,1],[86898,1],[86897,1],[86896,1],[86895,1],[86894,1],[86893,1],[86892,1],[86891,1],[86890,1],[86889,1],[86888,1],[86887,1],[86886,1],[86885,1],[86884,1],[86883,1],[86882,1],[86881,1],[86880,1],[86879,1],[86878,1],[86877,1],[86876,1],[86875,1],[86874,1],[86873,1],[86872,1],[86871,1],[86870,1],[86869,1],[86868,1],[86867,1],[86866,1],[86865,1],[86864,1],[86863,1],[86862,1],[86861,1],[86858,1],[86857,1],[86856,1],[86855,1],[86854,1],[86853,1],[86852,1],[86851,1],[86850,1],[86849,1],[86848,1],[86847,1],[86846,1],[86845,1],[86844,1],[86843,1],[86842,1],[86841,1],[86840,1],[86839,1],[86838,1],[86837,1],[86836,1],[86835,1],[86834,1],[86833,1],[86832,1],[86831,1],[86830,1],[86829,1],[86828,1],[86827,1],[86826,1],[86825,1],[86824,1],[86823,1],[86822,1],[86821,1],[86820,1],[86819,1],[86818,1],[86817,1],[86816,1],[86815,1],[86814,1],[86813,1],[86812,1],[86811,1],[86810,1],[86809,1],[86808,1],[86807,1],[86806,1],[86805,1],[86804,1],[86803,1],[86802,1],[86801,1],[86800,1],[86799,1],[86798,1],[86797,1],[86796,1],[86795,1],[86794,1],[86793,1],[86792,1],[86791,1],[86790,1],[86789,1],[86788,1],[86787,1],[86786,1],[86785,1],[86784,1],[86783,1],[86782,1],[86781,1],[86780,1],[86779,1],[86778,1],[86777,1],[86776,1],[86775,1],[86774,1],[86773,1],[86772,1],[86771,1],[86770,1],[86769,1],[86768,1],[86767,1],[86766,1],[86765,1],[86764,1],[86763,1],[86762,1],[86761,1],[86760,1],[86759,1],[86758,1],[86757,1],[86756,1],[86755,1],[86754,1],[86753,1],[86752,1],[86751,1],[86750,1],[86749,1],[86748,1],[86747,1],[86746,1],[86745,1],[86744,1],[86743,1],[86742,1],[86741,1],[86740,1],[86739,1],[86738,1],[86737,1],[86736,1],[86735,1],[86734,1],[86733,1],[86732,1],[86731,1],[86730,1],[86729,1],[86728,1],[86727,1],[86726,1],[86725,1],[86724,1],[86723,1],[86722,1],[86721,1],[86720,1],[86719,1],[86718,1],[86717,1],[86716,1],[86715,1],[86714,1],[86713,1],[86712,1],[86711,1],[86710,1],[86709,1],[86708,1],[86707,1],[86706,1],[86705,1],[86704,1],[86703,1],[86702,1],[86701,1],[86700,1],[86699,1],[86698,1],[86697,1],[86696,1],[86695,1],[86694,1],[86693,1],[86692,1],[86691,1],[86690,1],[86689,1],[86688,1],[86687,1],[86686,1],[86685,1],[86684,1],[86683,1],[86682,1],[86681,1],[86680,1],[86679,1],[86678,1],[86677,1],[86676,1],[86675,1],[86674,1],[86673,1],[86672,1],[86671,1],[86670,1],[86669,1],[86668,1],[86667,1],[86666,1],[86665,1],[86664,1],[86663,1],[86662,1],[86661,1],[86660,1],[86659,1],[86658,1],[86657,1],[86656,1],[86655,1],[86654,1],[86653,1],[86652,1],[86651,1],[86650,1],[86649,1],[86648,1],[86647,1],[86646,1],[86645,1],[86644,1],[86643,1],[86642,1],[86641,1],[86640,1],[86639,1],[86638,1],[86637,1],[86636,1],[86635,1],[86634,1],[86633,1],[86632,1],[86631,1],[86630,1],[86629,1],[86628,1],[86627,1],[86626,1],[86625,1],[86624,1],[86623,1],[86622,1],[86621,1],[86620,1],[86619,1],[86618,1],[86617,1],[86616,1],[86615,1],[86614,1],[86613,1],[86612,1],[86611,1],[86610,1],[86609,1],[86608,1],[86607,1],[86606,1],[86605,1],[86604,1],[86603,1],[86602,1],[86601,1],[86600,1],[86599,1],[86598,1],[86597,1],[86596,1],[86595,1],[86594,1],[86593,1],[86592,1],[86591,1],[86590,1],[86589,1],[86588,1],[86587,1],[86586,1],[86585,1],[86584,1],[86583,1],[86582,1],[86581,1],[86580,1],[86579,1],[86578,1],[86577,1],[86576,1],[86575,1],[86574,1],[86573,1],[86572,1],[86571,1],[86570,1],[86569,1],[86568,1],[86567,1],[86566,1],[86565,1],[86564,1],[86563,1],[86562,1],[86561,1],[86560,1],[86559,1],[86558,1],[86557,1],[86556,1],[86555,1],[86554,1],[86553,1],[86552,1],[86551,1],[86550,1],[86549,1],[86548,1],[86547,1],[86546,1],[86545,1],[86544,1],[86543,1],[86542,1],[86541,1],[86540,1],[86539,1],[86538,1],[86537,1],[86536,1],[86535,1],[86534,1],[86533,1],[86532,1],[86531,1],[86530,1],[86529,1],[86528,1],[86527,1],[86526,1],[86525,1],[86524,1],[86523,1],[86522,1],[86521,1],[86520,1],[86519,1],[86518,1],[86517,1],[86516,1],[86515,1],[86514,1],[86513,1],[86512,1],[86511,1],[86510,1],[86509,1],[86508,1],[86507,1],[86506,1],[86505,1],[86504,1],[86503,1],[86502,1],[86501,1],[86500,1],[86499,1],[86498,1],[86497,1],[86496,1],[86495,1],[86494,1],[86493,1],[86492,1],[86491,1],[86490,1],[86489,1],[86488,1],[86487,1],[86486,1],[86485,1],[86484,1],[86483,1],[86482,1],[86481,1],[86480,1],[86479,1],[86478,1],[86477,1],[86476,1],[86475,1],[86474,1],[86473,1],[86472,1],[86471,1],[86470,1],[86469,1],[86468,1],[86467,1],[86466,1],[86465,1],[86464,1],[86463,1],[86462,1],[86461,1],[86460,1],[86459,1],[86458,1],[86457,1],[86456,1],[86455,1],[86454,1],[86453,1],[86452,1],[86451,1],[86450,1],[86449,1],[86448,1],[86447,1],[86446,1],[86445,1],[86444,1],[86443,1],[86442,1],[86441,1],[86440,1],[86439,1],[86438,1],[86437,1],[86436,1],[86435,1],[86434,1],[86433,1],[86432,1],[86431,1],[86430,1],[86429,1],[86428,1],[86427,1],[86426,1],[86425,1],[86424,1],[86423,1],[86422,1],[86421,1],[86420,1],[86419,1],[86418,1],[86417,1],[86416,1],[86415,1],[86414,1],[86413,1],[86412,1],[86411,1],[86410,1],[86409,1],[86408,1],[86407,1],[86406,1],[86405,1],[86404,1],[86403,1],[86402,1],[86401,1],[86400,1],[86399,1],[86398,1],[86397,1],[86396,1],[86395,1],[86394,1],[86393,1],[86392,1],[86391,1],[86390,1],[86389,1],[86388,1],[86387,1],[86386,1],[86385,1],[86384,1],[86383,1],[86382,1],[86381,1],[86380,1],[86379,1],[86378,1],[86377,1],[86376,1],[86375,1],[86374,1],[86373,1],[86372,1],[86371,1],[86370,1],[86369,1],[86368,1],[86367,1],[86366,1],[86365,1],[86364,1],[86363,1],[86362,1],[86361,1],[86360,1],[86359,1],[86358,1],[86357,1],[86356,1],[86355,1],[86354,1],[86353,1],[86352,1],[86351,1],[86350,1],[86349,1],[86348,1],[86347,1],[86346,1],[86345,1],[86344,1],[86343,1],[86342,1],[86341,1],[86340,1],[86339,1],[86338,1],[86337,1],[86336,1],[86335,1],[86334,1],[86333,1],[86332,1],[86331,1],[86330,1],[86329,1],[86328,1],[86327,1],[86326,1],[86325,1],[86324,1],[86323,1],[86322,1],[86321,1],[86320,1],[86319,1],[86318,1],[86317,1],[86316,1],[86315,1],[86314,1],[86313,1],[86312,1],[86311,1],[86310,1],[86309,1],[86308,1],[86307,1],[86306,1],[86305,1],[86304,1],[86303,1],[86302,1],[86301,1],[86300,1],[86299,1],[86298,1],[86297,1],[86296,1],[86295,1],[86294,1],[86293,1],[86292,1],[86291,1],[86290,1],[86289,1],[86288,1],[86287,1],[86286,1],[86285,1],[86284,1],[86283,1],[86282,1],[86281,1],[86280,1],[86279,1],[86278,1],[86277,1],[86276,1],[86275,1],[86274,1],[86273,1],[86272,1],[86271,1],[86270,1],[86269,1],[86268,1],[86267,1],[86266,1],[86265,1],[86264,1],[86263,1],[86262,1],[86261,1],[86260,1],[86259,1],[86258,1],[86257,1],[86256,1],[86255,1],[86254,1],[86253,1],[86252,1],[86251,1],[86250,1],[86249,1],[86248,1],[86247,1],[86246,1],[86245,1],[86244,1],[86243,1],[86242,1],[86241,1],[86240,1],[86239,1],[86238,1],[86237,1],[86236,1],[86235,1],[86234,1],[86233,1],[86232,1],[86231,1],[86230,1],[86229,1],[86228,1],[86227,1],[86226,1],[86225,1],[86224,1],[86223,1],[86222,1],[86221,1],[86220,1],[86219,1],[86218,1],[86217,1],[86216,1],[86215,1],[86214,1],[86213,1],[86212,1],[86211,1],[86210,1],[86209,1],[86208,1],[86207,1],[86206,1],[86205,1],[86204,1],[86203,1],[86202,1],[86201,1],[86200,1],[86199,1],[86198,1],[86197,1],[86196,1],[86195,1],[86194,1],[86193,1],[86192,1],[86191,1],[86190,1],[86189,1],[86188,1],[86187,1],[86186,1],[86185,1],[86184,1],[86183,1],[86182,1],[86181,1],[86180,1],[86179,1],[86178,1],[86177,1],[86176,1],[86175,1],[86174,1],[86173,1],[86172,1],[86171,1],[86170,1],[86169,1],[86168,1],[86167,1],[86166,1],[86165,1],[86164,1],[86163,1],[86162,1],[86161,1],[86160,1],[86159,1],[86158,1],[86157,1],[86156,1],[86155,1],[86154,1],[86153,1],[86152,1],[86151,1],[86150,1],[86149,1],[86148,1],[86147,1],[86146,1],[86145,1],[86144,1],[86143,1],[86142,1],[86141,1],[86140,1],[86139,1],[86138,1],[86137,1],[86136,1],[86135,1],[86134,1],[86133,1],[86132,1],[86131,1],[86130,1],[86129,1],[86128,1],[86127,1],[86126,1],[86125,1],[86124,1],[86123,1],[86122,1],[86121,1],[86120,1],[86119,1],[86118,1],[86117,1],[86116,1],[86115,1],[86114,1],[86113,1],[86112,1],[86111,1],[86110,1],[86109,1],[86108,1],[86107,1],[86106,1],[86105,1],[86104,1],[86103,1],[86102,1],[86101,1],[86100,1],[86099,1],[86098,1],[86097,1],[86096,1],[86095,1],[86094,1],[86093,1],[86092,1],[86091,1],[86090,1],[86089,1],[86088,1],[86087,1],[86086,1],[86085,1],[86084,1],[86083,1],[86082,1],[86081,1],[86080,1],[86079,1],[86078,1],[86077,1],[86076,1],[86075,1],[86074,1],[86073,1],[86072,1],[86071,1],[86070,1],[86069,1],[86068,1],[86067,1],[86066,1],[86065,1],[86064,1],[86063,1],[86062,1],[86061,1],[86060,1],[86059,1],[86058,1],[86057,1],[86056,1],[86055,1],[86054,1],[86053,1],[86052,1],[86051,1],[86050,1],[86049,1],[86048,1],[86047,1],[86046,1],[86045,1],[86044,1],[86043,1],[86042,1],[86041,1],[86040,1],[86039,1],[86038,1],[86037,1],[86036,1],[86035,1],[86034,1],[86033,1],[86032,1],[86031,1],[86030,1],[86029,1],[86028,1],[86027,1],[86026,1],[86025,1],[86024,1],[86023,1],[86022,1],[86021,1],[86020,1],[86019,1],[86018,1],[86017,1],[86016,1],[86015,1],[86014,1],[86013,1],[86012,1],[86011,1],[86010,1],[86009,1],[86008,1],[86007,1],[86006,1],[86005,1],[86004,1],[86003,1],[86002,1],[86001,1],[86000,1],[85999,1],[85998,1],[85997,1],[85996,1],[85995,1],[85994,1],[85993,1],[85992,1],[85991,1],[85990,1],[85989,1],[85988,1],[85987,1],[85986,1],[85985,1],[85984,1],[85983,1],[85982,1],[85981,1],[85980,1],[85979,1],[85978,1],[85977,1],[85977,0,"E"],[85978,0,"i"],[85979,0,"t"],[85980,0,"h"],[85981,0,"e"],[85982,0,"r"],[85983,0," "],[85983,1],[85982,1],[85981,1],[85980,1],[85979,1],[85978,1],[85977,1],[85977,0,"I"],[85978,0,"f"],[85979,0," "],[85980,0,"$"],[85981,0,"o"],[85982,0,"_"],[85983,0,"r"],[85984,0,"."],[85985,0,"\\"],[85986,0,"m"],[85987,0,"a"],[85988,0,"t"],[85989,0,"h"],[85990,0,"i"],[85991,0,"t"],[85992,0,"{"],[85993,0,"c"],[85994,0,"u"],[85995,0,"r"],[85996,0,"}"],[85997,0," "],[85998,0,"="],[85999,0," "],[86000,0,"o"],[86001,0,"_"],[86002,0,"s"],[86003,0,"."],[86004,0,"\\"],[86005,0,"m"],[86006,0,"a"],[86007,0,"t"],[86008,0,"h"],[86009,0,"i"],[86010,0,"t"],[86011,0,"{"],[86012,0,"c"],[86013,0,"u"],[86014,0,"r"],[86015,0,"}"],[86016,0,"$"],[86017,0,","],[86018,0," "],[86019,0,"t"],[86020,0,"h"],[86021,0,"e"],[86022,0,"n"],[86023,0," "],[86024,0,"b"],[86025,0,"y"],[86026,0," "],[86027,0,"L"],[86028,0,"e"],[86029,0,"m"],[86030,0,"m"],[86031,0,"a"],[86032,0,"~"],[86033,0,"\\"],[86034,0,"r"],[86035,0,"e"],[86036,0,"f"],[86037,0,"{"],[86038,0,"l"],[86039,0,"e"],[86040,0,"m"],[86041,0,":"],[86042,0,"i"],[86043,0,"n"],[86044,0,"s"],[86045,0,"e"],[86046,0,"r"],[86047,0,"t"],[86048,0,"-"],[86049,0,"c"],[86050,0,"o"],[86051,0,"n"],[86052,0,"f"],[86053,0,"l"],[86054,0,"i"],[86055,0,"c"],[86056,0,"t"],[86057,0,"}"],[86058,0,","],[86059,0," "],[86060,0,"t"],[86061,0,"h"],[86062,0,"e"],[86063,0," "],[86064,0,"o"],[86065,0,"p"],[86066,0,"e"],[86067,0,"r"],[86068,0,"a"],[86069,0,"t"],[86070,0,"i"],[86071,0,"o"],[86072,0,"n"],[86073,0,"s"],[86074,0," "],[86075,0,"a"],[86076,0,"r"],[86077,0,"e"],[86078,0," "],[86079,0,"c"],[86080,0,"o"],[86081,0,"m"],[86082,0,"m"],[86083,0,"u"],[86084,0,"t"],[86085,0,"a"],[86086,0,"t"],[86087,0,"i"],[86088,0,"v"],[86089,0,"e"],[86090,0,"."],[86091,0," "],[86092,0,"I"],[86093,0,"f"],[86094,0," "],[86095,0,"$"],[86096,0,"o"],[86097,0,"_"],[86098,0,"r"],[86099,0,"."],[86100,0,"\\"],[86101,0,"m"],[86102,0,"a"],[86103,0,"t"],[86104,0,"h"],[86105,0,"i"],[86106,0,"t"],[86107,0,"{"],[86108,0,"c"],[86109,0,"u"],[86110,0,"r"],[86111,0,"}"],[86112,0," "],[86113,0,"\\"],[86114,0,"n"],[86115,0,"o"],[86116,0,"t"],[86117,0,"="],[86118,0," "],[86119,0,"o"],[86120,0,"_"],[86121,0,"s"],[86122,0,"."],[86123,0,"\\"],[86124,0,"m"],[86125,0,"a"],[86126,0,"t"],[86127,0,"h"],[86128,0,"i"],[86129,0,"t"],[86130,0,"{"],[86131,0,"c"],[86132,0,"u"],[86133,0,"r"],[86134,0,"}"],[86135,0,"$"],[86136,0,","],[86137,0," "],[86138,0,"T"],[86139,0,"O"],[86140,0,"D"],[86141,0,"O"],[86142,0,"\\"],[86143,0,"d"],[86144,0,"o"],[86145,0,"t"],[86146,0,"s"],[86146,1],[86145,1],[86144,1],[86143,1],[86142,1],[86141,1],[86140,1],[86139,1],[86138,1],[86090,0,","],[86091,0," "],[86092,0,"a"],[86093,0,"n"],[86094,0,"d"],[86095,0," "],[86096,0,"t"],[86097,0,"h"],[86098,0,"e"],[86099,0," "],[86100,0,"o"],[86101,0,"p"],[86102,0,"e"],[86103,0,"r"],[86104,0,"a"],[86105,0,"t"],[86106,0,"i"],[86107,0,"o"],[86108,0,"n"],[86109,0," "],[86110,0,"w"],[86111,0,"i"],[86112,0,"t"],[86113,0,"h"],[86114,0," "],[86115,0,"t"],[86116,0,"h"],[86117,0,"e"],[86118,0," "],[86119,0,"g"],[86120,0,"r"],[86121,0,"e"],[86122,0,"a"],[86123,0,"t"],[86124,0,"e"],[86125,0,"r"],[86126,0," "],[86127,0,"o"],[86128,0,"p"],[86129,0,"e"],[86130,0,"r"],[86131,0,"a"],[86132,0,"t"],[86133,0,"i"],[86134,0,"o"],[86135,0,"n"],[86136,0," "],[86137,0,"I"],[86138,0,"D"],[86139,0," "],[86140,0,"a"],[86141,0,"p"],[86142,0,"p"],[86143,0,"e"],[86144,0,"a"],[86145,0,"r"],[86146,0,"s"],[86147,0," "],[86148,0,"f"],[86149,0,"i"],[86150,0,"r"],[86151,0,"s"],[86152,0,"t"],[86153,0," "],[86154,0,"i"],[86155,0,"n"],[86156,0," "],[86157,0,"t"],[86158,0,"h"],[86159,0,"e"],[86160,0," "],[86161,0,"l"],[86162,0,"i"],[86163,0,"s"],[86164,0,"t"],[86095,1],[86094,1],[86093,1],[86092,1],[86091,1],[86090,1],[86089,1],[86088,1],[86087,1],[86086,1],[86085,1],[86084,1],[86083,1],[86082,1],[86081,1],[86080,1],[86079,1],[86078,1],[86077,1],[86076,1],[86075,1],[86074,1],[86073,1],[86072,1],[86071,1],[86070,1],[86069,1],[86068,1],[86067,1],[86066,1],[86065,1],[86064,1],[86063,1],[86062,1],[86061,1],[86060,1],[86129,0,","],[86130,0," "],[86131,0,"r"],[86132,0,"e"],[86133,0,"g"],[86134,0,"a"],[86135,0,"r"],[86136,0,"d"],[86137,0,"l"],[86138,0,"e"],[86139,0,"s"],[86140,0,"s"],[86141,0," "],[86142,0,"o"],[86143,0,"f"],[86144,0," "],[86145,0,"t"],[86146,0,"h"],[86147,0,"e"],[86148,0," "],[86149,0,"o"],[86150,0,"r"],[86151,0,"d"],[86152,0,"e"],[86153,0,"r"],[86154,0," "],[86155,0,"i"],[86156,0,"n"],[86157,0," "],[86158,0,"w"],[86159,0,"h"],[86160,0,"i"],[86161,0,"c"],[86162,0,"h"],[86163,0," "],[86164,0,"t"],[86165,0,"h"],[86166,0,"e"],[86167,0," "],[86168,0,"o"],[86169,0,"p"],[86170,0,"e"],[86171,0,"r"],[86172,0,"a"],[86173,0,"t"],[86174,0,"i"],[86175,0,"o"],[86176,0,"n"],[86177,0," "],[86177,1],[86177,0,"s"],[86178,0," "],[86179,0,"a"],[86180,0,"r"],[86181,0,"e"],[86182,0," "],[86183,0,"a"],[86184,0,"p"],[86185,0,"p"],[86186,0,"l"],[86187,0,"i"],[86188,0,"e"],[86189,0,"d"],[86238,0,"t"],[86239,0,"h"],[86240,0,"e"],[86241,0,"n"],[86242,0," "],[86243,0,"o"],[86244,0,"n"],[86245,0,"e"],[86246,0," "],[86247,0,"o"],[86248,0,"r"],[86249,0," "],[86250,0,"b"],[86251,0,"o"],[86252,0,"t"],[86253,0,"h"],[86254,0," "],[86255,0,"o"],[86256,0,"f"],[86257,0," "],[86258,0,"t"],[86259,0,"h"],[86260,0,"e"],[86261,0," "],[86262,0,"c"],[86263,0,"u"],[86264,0,"r"],[86265,0,"s"],[86266,0,"o"],[86267,0,"r"],[86268,0,"s"],[86269,0," "],[86270,0,"m"],[86271,0,"u"],[86272,0,"s"],[86273,0,"t"],[86274,0," "],[86275,0,"r"],[86276,0,"e"],[86277,0,"f"],[86278,0,"e"],[86279,0,"r"],[86280,0," "],[86281,0,"t"],[86282,0,"o"],[86283,0," "],[86284,0,"a"],[86285,0," "],[86286,0,"l"],[86287,0,"i"],[86288,0,"s"],[86289,0,"t"],[86290,0," "],[86291,0,"e"],[86292,0,"l"],[86293,0,"e"],[86294,0,"m"],[86295,0,"e"],[86296,0,"n"],[86297,0,"t"],[86298,0," "],[86299,0,"t"],[86300,0,"h"],[86301,0,"a"],[86302,0,"t"],[86303,0," "],[86304,0,"a"],[86305,0,"p"],[86306,0,"p"],[86307,0,"e"],[86308,0,"a"],[86309,0,"r"],[86310,0,"s"],[86311,0," "],[86312,0,"b"],[86313,0,"e"],[86314,0,"t"],[86315,0,"w"],[86316,0,"e"],[86317,0,"e"],[86318,0,"n"],[86319,0," "],[86320,0,"$"],[86321,0,"k"],[86322,0,"^"],[86323,0,"\\"],[86324,0,"m"],[86325,0,"a"],[86326,0,"t"],[86327,0,"h"],[86328,0,"r"],[86329,0,"m"],[86330,0,"{"],[86331,0,"b"],[86332,0,"e"],[86333,0,"f"],[86334,0,"o"],[86335,0,"r"],[86336,0,"e"],[86337,0,"}"],[86338,0,"$"],[86339,0," "],[86340,0,"a"],[86341,0,"n"],[86342,0,"d"],[86343,0," "],[86344,0,"$"],[86345,0,"k"],[86346,0,"^"],[86347,0,"\\"],[86348,0,"m"],[86349,0,"a"],[86350,0,"t"],[86351,0,"h"],[86352,0,"r"],[86353,0,"m"],[86354,0,"{"],[86355,0,"a"],[86356,0,"f"],[86357,0,"t"],[86358,0,"e"],[86359,0,"r"],[86360,0,"}"],[86361,0,"$"],[86362,0,","],[86363,0," "],[86364,0,"a"],[86365,0,"n"],[86366,0,"d"],[86367,0," "],[86368,0,"t"],[86369,0,"h"],[86370,0,"a"],[86371,0,"t"],[86372,0," "],[86373,0,"w"],[86374,0,"a"],[86375,0,"s"],[86376,0," "],[86377,0,"i"],[86378,0,"n"],[86379,0,"s"],[86380,0,"e"],[86381,0,"r"],[86382,0,"t"],[86383,0,"e"],[86384,0,"d"],[86385,0," "],[86385,1],[86384,1],[86383,1],[86382,1],[86381,1],[86380,1],[86379,1],[86378,1],[86377,1],[86376,1],[86375,1],[86374,1],[86373,1],[86373,0,"d"],[86374,0,"i"],[86375,0,"d"],[86376,0," "],[86377,0,"n"],[86378,0,"o"],[86379,0,"t"],[86380,0," "],[86381,0,"y"],[86382,0,"e"],[86383,0,"t"],[86384,0," "],[86385,0,"e"],[86386,0,"x"],[86387,0,"i"],[86388,0,"s"],[86389,0,"t"],[86390,0," "],[86391,0,"i"],[86392,0,"n"],[86393,0," "],[86394,0,"t"],[86395,0,"h"],[86396,0,"e"],[86397,0," "],[86398,0,"c"],[86399,0,"o"],[86400,0,"m"],[86401,0,"m"],[86402,0,"o"],[86403,0,"n"],[86404,0," "],[86405,0,"a"],[86406,0,"n"],[86407,0,"c"],[86408,0,"e"],[86409,0,"s"],[86410,0,"t"],[86411,0,"o"],[86412,0,"r"],[86413,0," "],[86414,0,"("],[86415,0,"D"],[86416,0,"e"],[86417,0,"f"],[86418,0,"i"],[86419,0,"n"],[86420,0,"i"],[86421,0,"t"],[86422,0,"i"],[86423,0,"o"],[86424,0,"n"],[86425,0,"~"],[86426,0,"\\"],[86427,0,"r"],[86428,0,"e"],[86429,0,"f"],[86430,0,"{"],[86431,0,"d"],[86432,0,"e"],[86433,0,"f"],[86434,0,":"],[86435,0,"c"],[86436,0,"o"],[86437,0,"m"],[86438,0,"m"],[86439,0,"o"],[86440,0,"n"],[86441,0,"-"],[86442,0,"a"],[86443,0,"n"],[86444,0,"c"],[86445,0,"e"],[86446,0,"s"],[86447,0,"t"],[86448,0,"o"],[86449,0,"r"],[86450,0,"}"],[86451,0,")"],[86452,0,"."],[86453,0,"\n"],[86454,0,"\n"],[86475,0," "],[86476,0,"a"],[86477,0,"b"],[86478,0,"o"],[86479,0,"v"],[86480,0,"e"],[86455,0,"T"],[86456,0,"a"],[86457,0,"k"],[86458,0,"e"],[86459,0," "],[86460,0,"e"],[86461,0,"i"],[86462,0,"t"],[86463,0,"h"],[86463,1],[86462,1],[86461,1],[86460,1],[86460,0,"a"],[86461,0," "],[86462,0,"c"],[86463,0,"u"],[86464,0,"r"],[86465,0,"s"],[86466,0,"o"],[86467,0,"r"],[86468,0," "],[86469,0,"t"],[86470,0,"h"],[86471,0,"a"],[86472,0,"t"],[86473,0," "],[86474,0,"d"],[86475,0,"i"],[86476,0,"f"],[86477,0,"f"],[86478,0,"e"],[86479,0,"r"],[86480,0,"s"],[86481,0," "],[86482,0,"f"],[86483,0,"r"],[86484,0,"o"],[86485,0,"m"],[86486,0," "],[86487,0,"$"],[86488,0,"k"],[86489,0,"^"],[86490,0,"\\"],[86491,0,"m"],[86492,0,"a"],[86493,0,"t"],[86494,0,"h"],[86495,0,"r"],[86496,0,"m"],[86497,0,"{"],[86498,0,"b"],[86499,0,"e"],[86500,0,"f"],[86501,0,"o"],[86502,0,"r"],[86503,0,"e"],[86504,0,"}"],[86505,0,"$"],[86506,0,"."],[86507,0," "],[86507,1],[86506,1],[86506,0,","],[86507,0," "],[86507,1],[86506,1],[86506,0,":"],[86507,0," "],[86508,0,"t"],[86509,0,"h"],[86510,0,"e"],[86511,0," "],[86512,0,"l"],[86513,0,"i"],[86514,0,"s"],[86515,0,"t"],[86516,0," "],[86517,0,"e"],[86518,0,"l"],[86519,0,"e"],[86520,0,"m"],[86521,0,"e"],[86522,0,"n"],[86523,0,"t"],[86524,0," "],[86525,0,"i"],[86526,0,"t"],[86527,0," "],[86528,0,"r"],[86529,0,"e"],[86530,0,"f"],[86531,0,"e"],[86532,0,"r"],[86533,0,"s"],[86534,0," "],[86535,0,"t"],[86536,0,"o"],[86537,0," "],[86538,0,"w"],[86539,0,"a"],[86540,0,"s"],[86541,0," "],[86542,0,"i"],[86543,0,"t"],[86544,0,"s"],[86545,0,"e"],[86546,0,"l"],[86547,0,"f"],[86548,0," "],[86549,0,"i"],[86550,0,"n"],[86551,0,"s"],[86552,0,"e"],[86553,0,"r"],[86554,0,"t"],[86555,0,"e"],[86556,0,"d"],[86557,0," "],[86558,0,"b"],[86559,0,"y"],[86560,0," "],[86561,0,"a"],[86562,0,"n"],[86563,0," "],[86564,0,"o"],[86565,0,"p"],[86566,0,"e"],[86567,0,"r"],[86568,0,"a"],[86569,0,"t"],[86570,0,"i"],[86571,0,"o"],[86572,0,"n"],[86573,0," "],[86574,0,"w"],[86575,0,"i"],[86576,0,"t"],[86577,0,"h"],[86578,0,"i"],[86579,0,"n"],[86580,0," "],[86581,0,"t"],[86582,0,"h"],[86583,0,"e"],[86584,0," "],[86585,0,"s"],[86586,0,"a"],[86587,0,"m"],[86588,0,"e"],[86589,0," "],[86590,0,"i"],[86591,0,"n"],[86592,0,"s"],[86593,0,"e"],[86594,0,"r"],[86595,0,"t"],[86596,0,"i"],[86597,0,"o"],[86598,0,"n"],[86599,0," "],[86600,0,"i"],[86601,0,"n"],[86602,0,"t"],[86603,0,"e"],[86604,0,"r"],[86605,0,"v"],[86606,0,"a"],[86607,0,"l"],[86608,0,"."],[86609,0," "],[86579,1],[86578,1],[86605,1],[86604,1],[86603,1],[86602,1],[86601,1],[86600,1],[86599,1],[86598,1],[86597,1],[86596,1],[86595,1],[86594,1],[86593,1],[86592,1],[86591,1],[86590,1],[86589,1],[86588,1],[86587,1],[86586,1],[86585,1],[86584,1],[86583,1],[86582,1],[86581,1],[86580,1],[86579,1],[86578,1],[86577,1],[86576,1],[86575,1],[86574,1],[86573,1],[86573,0,","],[86574,0," "],[86575,0,"w"],[86576,0,"h"],[86577,0,"o"],[86578,0,"s"],[86579,0,"e"],[86580,0," "],[86581,0,"c"],[86582,0,"u"],[86583,0,"r"],[86584,0,"s"],[86585,0,"o"],[86586,0,"r"],[86587,0," "],[86588,0,"i"],[86589,0,"n"],[86590,0," "],[86591,0,"t"],[86592,0,"u"],[86593,0,"r"],[86594,0,"n"],[86595,0," "],[86596,0,"r"],[86597,0,"e"],[86598,0,"f"],[86599,0,"e"],[86600,0,"r"],[86601,0,"s"],[86602,0," "],[86603,0,"t"],[86604,0,"o"],[86605,0," "],[86606,0,"a"],[86607,0,"n"],[86608,0,"o"],[86609,0,"t"],[86610,0,"h"],[86611,0,"e"],[86612,0,"r"],[86613,0," "],[86614,0,"p"],[86615,0,"r"],[86616,0,"i"],[86617,0,"o"],[86618,0,"r"],[86619,0," "],[86620,0,"o"],[86621,0,"p"],[86622,0,"e"],[86623,0,"r"],[86624,0,"a"],[86625,0,"t"],[86626,0,"i"],[86627,0,"o"],[86628,0,"n"],[86562,1],[86562,0," "],[86563,0,"p"],[86564,0,"r"],[86565,0,"i"],[86566,0,"o"],[86567,0,"r"],[86548,1],[86547,1],[86546,1],[86545,1],[86544,1],[86543,1],[86542,1],[86627,0,","],[86628,0," "],[86629,0,"a"],[86630,0,"n"],[86631,0,"d"],[86632,0," "],[86633,0,"s"],[86634,0,"o"],[86635,0," "],[86636,0,"o"],[86637,0,"n"],[86640,0,"F"],[86641,0,"o"],[86642,0,"l"],[86643,0,"l"],[86644,0,"o"],[86645,0,"w"],[86646,0,"i"],[86647,0,"n"],[86648,0,"g"],[86649,0," "],[86650,0,"t"],[86651,0,"h"],[86652,0,"i"],[86653,0,"s"],[86654,0," "],[86655,0,"c"],[86656,0,"h"],[86657,0,"a"],[86658,0,"i"],[86659,0,"n"],[86660,0," "],[86661,0,"o"],[86662,0,"f"],[86663,0," "],[86664,0,"c"],[86665,0,"u"],[86666,0,"r"],[86667,0,"s"],[86668,0,"o"],[86669,0,"r"],[86670,0,"s"],[86671,0," "],[86672,0,"l"],[86673,0,"e"],[86674,0,"a"],[86675,0,"d"],[86676,0,"s"],[86677,0," "],[86678,0,"t"],[86679,0,"o"],[86680,0," "],[86681,0,"a"],[86682,0,"n"],[86683,0," "],[86684,0,"o"],[86685,0,"p"],[86686,0,"e"],[86687,0,"r"],[86688,0,"a"],[86689,0,"t"],[86690,0,"i"],[86691,0,"o"],[86692,0,"n"],[86693,0," "],[86694,0,"w"],[86695,0,"h"],[86696,0,"o"],[86697,0,"s"],[86698,0,"e"],[86699,0," "],[86700,0,"c"],[86701,0,"u"],[86702,0,"r"],[86703,0,"s"],[86704,0,"o"],[86705,0,"r"],[86706,0," "],[86707,0,"r"],[86708,0,"e"],[86709,0,"f"],[86710,0,"e"],[86711,0,"r"],[86712,0,"s"],[86713,0," "],[86714,0,"t"],[86660,0," "],[86661,0,"f"],[86662,0,"o"],[86663,0,"r"],[86664,0," "],[86665,0,"a"],[86666,0," "],[86667,0,"f"],[86668,0,"i"],[86669,0,"n"],[86670,0,"i"],[86671,0,"t"],[86672,0,"e"],[86673,0," "],[86674,0,"n"],[86675,0,"u"],[86676,0,"m"],[86677,0,"b"],[86678,0,"e"],[86679,0,"r"],[86680,0," "],[86681,0,"o"],[86682,0,"f"],[86683,0," "],[86684,0,"s"],[86685,0,"t"],[86686,0,"e"],[86687,0,"p"],[86688,0,"s"],[86690,1],[86690,1],[86690,1],[86690,1],[86690,1],[86690,1],[86690,1],[86690,1],[86690,1],[86690,1],[86690,1],[86660,0," "],[86661,0,"o"],[86662,0,"f"],[86663,0," "],[86664,0,"c"],[86665,0,"u"],[86666,0,"r"],[86667,0,"s"],[86668,0,"o"],[86669,0,"r"],[86670,0,"s"],[86744,0,"o"],[86745,0," "],[86746,0,"$"],[86747,0,"k"],[86748,0,"&"],[86748,1],[86748,0,"^"],[86749,0,"\\"],[86750,0,"m"],[86751,0,"a"],[86752,0,"t"],[86753,0,"h"],[86754,0,"r"],[86755,0,"m"],[86756,0,"{"],[86757,0,"b"],[86758,0,"e"],[86759,0,"f"],[86760,0,"o"],[86761,0,"r"],[86762,0,"e"],[86763,0,"}"],[86764,0,"$"],[86765,0,"."],[86766,0," "],[86767,0,"N"],[86768,0,"o"],[86769,0,"t"],[86770,0,"e"],[86771,0," "],[86772,0,"t"],[86773,0,"h"],[86774,0,"a"],[86775,0,"t"],[86776,0," "],[86765,0," "],[86765,1],[86765,0,","],[86766,0," "],[86767,0,"s"],[86768,0,"i"],[86769,0,"n"],[86770,0,"c"],[86771,0,"e"],[86772,0," "],[86773,0,"a"],[86774,0,"n"],[86775,0," "],[86776,0,"i"],[86777,0,"n"],[86778,0,"s"],[86779,0,"e"],[86780,0,"r"],[86781,0,"t"],[86782,0,"i"],[86783,0,"o"],[86784,0,"n"],[86785,0," "],[86786,0,"o"],[86787,0,"p"],[86788,0,"e"],[86789,0,"r"],[86790,0,"a"],[86791,0,"t"],[86792,0,"i"],[86793,0,"o"],[86794,0,"n"],[86795,0," "],[86796,0,"a"],[86797,0,"l"],[86798,0,"w"],[86799,0,"a"],[86800,0,"y"],[86801,0,"s"],[86802,0," "],[86803,0,"i"],[86804,0,"n"],[86805,0,"s"],[86806,0,"e"],[86807,0,"r"],[86808,0,"t"],[86809,0,"s"],[86810,0," "],[86811,0,"a"],[86812,0,"t"],[86813,0," "],[86814,0,"a"],[86815,0," "],[86816,0,"p"],[86817,0,"o"],[86818,0,"s"],[86819,0,"i"],[86820,0,"t"],[86821,0,"i"],[86822,0,"o"],[86823,0,"n"],[86824,0," "],[86825,0,"a"],[86826,0,"f"],[86827,0,"t"],[86828,0,"e"],[86829,0,"r"],[86830,0," "],[86831,0,"t"],[86832,0,"h"],[86833,0,"e"],[86834,0," "],[86835,0,"c"],[86836,0,"u"],[86837,0,"r"],[86838,0,"s"],[86839,0,"o"],[86840,0,"r"],[86722,0," "],[86723,0,"$"],[86724,0,"o"],[86725,0,"_"],[86726,0,"\\"],[86727,0,"m"],[86728,0,"a"],[86729,0,"t"],[86730,0,"h"],[86731,0,"r"],[86732,0,"m"],[86733,0,"{"],[86734,0,"f"],[86735,0,"i"],[86736,0,"r"],[86737,0,"s"],[86738,0,"t"],[86739,0,"}"],[86740,0,"$"],[86784,1],[86785,0,"("],[86860,0,")"],[86873,0,"a"],[86874,0,"l"],[86875,0,"l"],[86876,0," "],[86877,0,"o"],[86878,0,"f"],[86879,0," "],[86880,0,"t"],[86881,0,"h"],[86882,0,"e"],[86883,0," "],[86884,0,"o"],[86885,0,"p"],[86886,0,"e"],[86887,0,"r"],[86888,0,"a"],[86889,0,"t"],[86890,0,"i"],[86891,0,"o"],[86892,0,"n"],[86893,0,"s"],[86894,0," "],[86895,0,"i"],[86896,0,"n"],[86897,0," "],[86898,0,"t"],[86899,0,"h"],[86900,0,"i"],[86901,0,"s"],[86902,0," "],[86903,0,"c"],[86904,0,"h"],[86905,0,"a"],[86906,0,"i"],[86907,0,"n"],[86908,0," "],[86909,0,"a"],[86910,0,"r"],[86911,0,"e"],[86912,0," "],[86913,0,"c"],[86914,0,"a"],[86915,0,"u"],[86916,0,"s"],[86917,0,"a"],[86918,0,"l"],[86919,0,"l"],[86920,0,"y"],[86921,0," "],[86922,0,"d"],[86923,0,"e"],[86924,0,"p"],[86925,0,"e"],[86926,0,"n"],[86927,0,"d"],[86928,0,"e"],[86929,0,"n"],[86930,0,"t"],[86931,0," "],[86932,0,"o"],[86933,0,"n"],[86934,0," "],[86862,1],[86862,0,"\n"],[86863,0,"\n"],[86936,0,"$"],[86937,0,"o"],[86938,0,"_"],[86939,0,"\\"],[86940,0,"m"],[86941,0,"a"],[86942,0,"t"],[86943,0,"h"],[86944,0,"r"],[86945,0,"m"],[86946,0,"{"],[86947,0,"f"],[86948,0,"i"],[86949,0,"r"],[86950,0,"s"],[86951,0,"t"],[86952,0,"}"],[86953,0,"$"],[86954,0,","],[86955,0," "],[86956,0,"a"],[86957,0,"n"],[86958,0,"d"],[86959,0," "],[86960,0,"s"],[86961,0,"o"],[86962,0," "],[86963,0,"t"],[86964,0,"h"],[86965,0,"e"],[86966,0,"y"],[86967,0," "],[86968,0,"m"],[86969,0,"u"],[86970,0,"s"],[86971,0,"t"],[86972,0," "],[86973,0,"h"],[86974,0,"a"],[86975,0,"v"],[86976,0,"e"],[86977,0," "],[86978,0,"a"],[86979,0,"n"],[86980,0," "],[86981,0,"o"],[86982,0,"p"],[86983,0,"e"],[86984,0,"r"],[86984,1],[86983,1],[86982,1],[86981,1],[86980,1],[86979,1],[86979,0," "],[86980,0,"L"],[86981,0,"a"],[86982,0,"m"],[86983,0,"p"],[86984,0,"o"],[86985,0,"r"],[86986,0,"t"],[86987,0," "],[86988,0,"t"],[86989,0,"i"],[86990,0,"m"],[86991,0,"e"],[86992,0,"s"],[86993,0,"t"],[86994,0,"a"],[86995,0,"m"],[86996,0,"p"],[86997,0," "],[86998,0,"g"],[86999,0,"r"],[87000,0,"e"],[87001,0,"a"],[87002,0,"t"],[87003,0,"e"],[87004,0,"r"],[87005,0," "],[87006,0,"t"],[87007,0,"h"],[87008,0,"a"],[87009,0,"n"],[87010,0," "],[87011,0,"$"],[87012,0,"o"],[87013,0,"_"],[87014,0,"\\"],[87015,0,"m"],[87016,0,"a"],[87017,0,"t"],[87018,0,"h"],[87019,0,"r"],[87020,0,"m"],[87021,0,"{"],[87022,0,"f"],[87023,0,"i"],[87024,0,"r"],[87025,0,"s"],[87026,0,"t"],[87027,0,"}"],[87028,0,"$"],[87029,0,"."],[87030,0," "],[87031,0,"T"],[87032,0,"h"],[87033,0,"u"],[87034,0,"s"],[87035,0,","],[87036,0," "],[87037,0,"w"],[87038,0,"e"],[87039,0," "],[87040,0,"c"],[87041,0,"a"],[87042,0,"n"],[87043,0," "],[87044,0,"a"],[87045,0,"p"],[87046,0,"p"],[87047,0,"l"],[87048,0,"y"],[87049,0," "],[87050,0,"t"],[87051,0,"h"],[87052,0,"e"],[87053,0," "],[87054,0,"s"],[87055,0,"a"],[87056,0,"m"],[87057,0,"e"],[87058,0," "],[87059,0,"a"],[87060,0,"r"],[87061,0,"g"],[87062,0,"u"],[87063,0,"m"],[87064,0,"e"],[87065,0,"n"],[87066,0,"t"],[87067,0," "],[87068,0,"a"],[87069,0,"s"],[87070,0," "],[87071,0,"i"],[87072,0,"n"],[87073,0," "],[87074,0,"L"],[87075,0,"e"],[87076,0,"m"],[87077,0,"m"],[87078,0,"a"],[87079,0,"~"],[87080,0,"\\"],[87081,0,"r"],[87082,0,"e"],[87083,0,"f"],[87084,0,"{"],[87085,0,"l"],[87086,0,"e"],[87087,0,"m"],[87088,0,":"],[87089,0,"i"],[87090,0,"n"],[87091,0,"s"],[87092,0,"e"],[87093,0,"r"],[87094,0,"t"],[87095,0,"-"],[87096,0,"c"],[87097,0,"o"],[87098,0,"n"],[87099,0,"f"],[87100,0,"l"],[87101,0,"i"],[87102,0,"c"],[87103,0,"t"],[87104,0,"}"],[87105,0,"f"],[87105,1],[87105,0,":"],[87106,0," "],[87107,0,"i"],[87108,0,"f"],[87109,0," "],[87110,0,"$"],[87111,0,"\\"],[87112,0,"t"],[87113,0,"e"],[87114,0,"x"],[87115,0,"t"],[87116,0,"s"],[87117,0,"c"],[87118,0,"{"],[87119,0,"I"],[87120,0,"n"],[87121,0,"s"],[87122,0,"e"],[87123,0,"r"],[87124,0,"t"],[87125,0,"}"],[87126,0,"_"],[87127,0,"2"],[87128,0,"$"],[87129,0," "],[87130,0,"s"],[87131,0,"k"],[87132,0,"i"],[87133,0,"p"],[87134,0,"s"],[87135,0," "],[87136,0,"o"],[87137,0,"v"],[87138,0,"e"],[87139,0,"r"],[87140,0," "],[87141,0,"t"],[87142,0,"h"],[87143,0,"e"],[87144,0," "],[87145,0,"l"],[87146,0,"i"],[87147,0,"s"],[87148,0,"t"],[87149,0," "],[87150,0,"e"],[87151,0,"l"],[87152,0,"e"],[87153,0,"m"],[87154,0,"e"],[87155,0,"n"],[87156,0,"t"],[87157,0," "],[87158,0,"i"],[87159,0,"n"],[87160,0,"s"],[87161,0,"e"],[87162,0,"r"],[87163,0,"t"],[87164,0,"e"],[87165,0,"d"],[87166,0," "],[87167,0,"b"],[87168,0,"y"],[87169,0," "],[87170,0,"$"],[87171,0,"o"],[87172,0,"_"],[87173,0,"\\"],[87174,0,"m"],[87175,0,"a"],[87176,0,"t"],[87177,0,"h"],[87178,0,"r"],[87179,0,"m"],[87180,0,"{"],[87181,0,"f"],[87182,0,"i"],[87183,0,"r"],[87184,0,"s"],[87185,0,"t"],[87186,0,"}"],[87187,0,"$"],[87188,0,","],[87189,0," "],[87190,0,"i"],[87191,0,"t"],[87192,0," "],[87193,0,"w"],[87194,0,"i"],[87195,0,"l"],[87196,0,"l"],[87197,0," "],[87198,0,"a"],[87199,0,"l"],[87200,0,"s"],[87201,0,"o"],[87202,0," "],[87203,0,"s"],[87204,0,"k"],[87205,0,"i"],[87206,0,"p"],[87207,0," "],[87208,0,"o"],[87209,0,"v"],[87210,0,"e"],[87211,0,"r"],[87212,0," "],[87213,0,"a"],[87214,0,"l"],[87215,0,"l"],[87216,0," "],[87217,0,"o"],[87218,0,"f"],[87219,0," "],[87220,0,"t"],[87221,0,"h"],[87222,0,"e"],[87223,0," "],[87224,0,"l"],[87225,0,"i"],[87226,0,"s"],[87227,0,"t"],[87228,0," "],[87229,0,"e"],[87230,0,"l"],[87231,0,"e"],[87232,0,"m"],[87233,0,"e"],[87234,0,"n"],[87235,0,"t"],[87236,0,"s"],[87237,0," "],[87238,0,"t"],[87239,0,"h"],[87240,0,"a"],[87241,0,"t"],[87242,0," "],[87243,0,"a"],[87244,0,"r"],[87245,0,"e"],[87246,0," "],[87247,0,"c"],[87248,0,"a"],[87249,0,"u"],[87250,0,"s"],[87251,0,"a"],[87252,0,"l"],[87253,0,"l"],[87254,0,"y"],[87255,0," "],[87256,0,"d"],[87257,0,"e"],[87258,0,"p"],[87259,0,"e"],[87260,0,"n"],[87261,0,"d"],[87262,0,"e"],[87263,0,"n"],[87264,0,"t"],[87265,0," "],[87266,0,"o"],[87267,0,"n"],[87268,0," "],[87269,0,"i"],[87270,0,"t"],[87270,1],[87269,1],[87269,0,"$"],[87270,0,"o"],[87271,0,"_"],[87272,0,"\\"],[87273,0,"m"],[87274,0,"a"],[87275,0,"t"],[87275,1],[87274,1],[87273,1],[87272,1],[87271,1],[87270,1],[87269,1],[87269,0,"i"],[87270,0,"t"],[87271,0,";"],[87272,0," "],[87273,0,"i"],[87274,0,"f"],[87275,0," "],[87276,0,"$"],[87277,0,"\\"],[87278,0,"t"],[87279,0,"e"],[87280,0,"x"],[87281,0,"t"],[87282,0,"s"],[87283,0,"c"],[87284,0,"{"],[87285,0,"I"],[87286,0,"n"],[87287,0,"s"],[87288,0,"e"],[87289,0,"r"],[87290,0,"t"],[87291,0,"}"],[87292,0,"_"],[87293,0,"1"],[87294,0,"$"],[87295,0," "],[87296,0,"i"],[87297,0,"n"],[87298,0,"s"],[87299,0,"e"],[87300,0,"r"],[87301,0,"t"],[87302,0,"s"],[87303,0," "],[87304,0,"a"],[87305,0," "],[87306,0,"n"],[87307,0,"e"],[87308,0,"w"],[87309,0," "],[87310,0,"e"],[87311,0,"l"],[87312,0,"e"],[87313,0,"m"],[87314,0,"e"],[87315,0,"n"],[87316,0,"t"],[87317,0," "],[87318,0,"b"],[87319,0,"e"],[87320,0,"f"],[87321,0,"o"],[87322,0,"r"],[87323,0,"e"],[87324,0," "],[87325,0,"$"],[87326,0,"o"],[87327,0,"_"],[87328,0,"\\"],[87329,0,"m"],[87330,0,"a"],[87331,0,"t"],[87332,0,"h"],[87333,0,"r"],[87334,0,"m"],[87335,0,"{"],[87336,0,"f"],[87337,0,"i"],[87338,0,"r"],[87339,0,"s"],[87340,0,"t"],[87341,0,"}"],[87342,0,"$"],[87343,0,","],[87344,0," "],[87345,0,"i"],[87346,0,"t"],[87347,0," "],[87348,0,"i"],[87349,0,"s"],[87350,0," "],[87351,0,"a"],[87352,0,"l"],[87353,0,"s"],[87354,0,"o"],[87355,0," "],[87356,0,"i"],[87357,0,"n"],[87358,0,"s"],[87359,0,"e"],[87360,0,"r"],[87361,0,"t"],[87362,0,"e"],[87363,0,"d"],[87364,0," "],[87365,0,"b"],[87366,0,"e"],[87367,0,"f"],[87368,0,"o"],[87369,0,"r"],[87370,0,"e"],[87371,0," "],[87372,0,"t"],[87373,0,"h"],[87374,0,"e"],[87375,0," "],[87376,0,"c"],[87377,0,"h"],[87378,0,"a"],[87379,0,"i"],[87380,0,"n"],[87381,0," "],[87382,0,"o"],[87383,0,"f"],[87384,0," "],[87385,0,"o"],[87386,0,"p"],[87387,0,"e"],[87388,0,"r"],[87389,0,"a"],[87390,0,"t"],[87391,0,"i"],[87392,0,"o"],[87393,0,"n"],[87394,0,"s"],[87395,0," "],[87396,0,"t"],[87397,0,"h"],[87398,0,"a"],[87399,0,"t"],[87400,0," "],[87401,0,"i"],[87402,0,"s"],[87403,0," "],[87404,0,"b"],[87405,0,"a"],[87406,0,"s"],[87407,0,"e"],[87408,0,"d"],[87409,0," "],[87410,0,"o"],[87411,0,"n"],[87412,0," "],[87413,0,"i"],[87414,0,"t"],[87415,0,"."],[87418,0," "],[87418,0,"T"],[87419,0,"h"],[87420,0,"e"],[87421,0,"r"],[87422,0,"e"],[87423,0,"f"],[87424,0,"o"],[87425,0,"r"],[87426,0,"e"],[87427,0,","],[87428,0," "],[87429,0,"t"],[87430,0,"h"],[87431,0,"e"],[87432,0," "],[87433,0,"o"],[87434,0,"r"],[87435,0,"d"],[87436,0,"e"],[87437,0,"r"],[87438,0," "],[87439,0,"o"],[87440,0,"f"],[87441,0," "],[87442,0,"$"],[87443,0,"o"],[87444,0,"_"],[87445,0,"r"],[87446,0," "],[87446,1],[87446,0,"$"],[87447,0," "],[87448,0,"a"],[87449,0,"n"],[87450,0,"d"],[87451,0," "],[87452,0,"$"],[87453,0,"o"],[87454,0,"_"],[87455,0,"s"],[87456,0,"$"],[87457,0," "],[87458,0,"i"],[87459,0,"n"],[87460,0," "],[87461,0,"t"],[87462,0,"h"],[87463,0,"e"],[87464,0," "],[87465,0,"f"],[87466,0,"i"],[87467,0,"n"],[87468,0,"a"],[87469,0,"l"],[87470,0," "],[87471,0,"l"],[87472,0,"i"],[87473,0,"s"],[87474,0,"t"],[87475,0," "],[87476,0,"d"],[87477,0,"e"],[87478,0,"p"],[87479,0,"e"],[87480,0,"n"],[87481,0,"d"],[87482,0,"s"],[87483,0," "],[87484,0,"o"],[87485,0,"n"],[87486,0," "],[87487,0,"t"],[87488,0,"h"],[87489,0,"e"],[87490,0," "],[87491,0,"L"],[87492,0,"a"],[87493,0,"m"],[87494,0,"p"],[87495,0,"o"],[87496,0,"r"],[87497,0,"t"],[87498,0," "],[87499,0,"t"],[87500,0,"i"],[87501,0,"m"],[87502,0,"e"],[87503,0,"s"],[87504,0,"t"],[87505,0,"a"],[87506,0,"m"],[87507,0,"p"],[87508,0," "],[87509,0,"o"],[87510,0,"f"],[87511,0," "],[87512,0,"t"],[87513,0,"h"],[87514,0,"e"],[87515,0," "],[87516,0,"f"],[87517,0,"i"],[87518,0,"r"],[87519,0,"s"],[87520,0,"t"],[87521,0," "],[87522,0,"o"],[87523,0,"p"],[87524,0,"e"],[87525,0,"r"],[87526,0,"a"],[87527,0,"t"],[87528,0,"i"],[87529,0,"o"],[87530,0,"n"],[87531,0," "],[87532,0,"t"],[87533,0,"h"],[87534,0,"a"],[87535,0,"t"],[87536,0," "],[87536,1],[87535,1],[87534,1],[87533,1],[87532,1],[87531,1],[87530,1],[87529,1],[87528,1],[87527,1],[87526,1],[87525,1],[87524,1],[87523,1],[87522,1],[87522,0,"i"],[87523,0,"n"],[87524,0,"s"],[87525,0,"e"],[87526,0,"r"],[87527,0,"t"],[87528,0,"i"],[87529,0,"o"],[87530,0,"n"],[87531,0," "],[87508,0,"s"],[87532,0,"s"],[87533,0," "],[87485,1],[87484,1],[87483,1],[87482,1],[87481,1],[87480,1],[87479,1],[87478,1],[87477,1],[87476,1],[87476,0,"i"],[87477,0,"s"],[87478,0," "],[87479,0,"d"],[87480,0,"e"],[87481,0,"t"],[87482,0,"e"],[87483,0,"r"],[87484,0,"m"],[87485,0,"i"],[87486,0,"n"],[87487,0,"e"],[87488,0,"d"],[87489,0," "],[87490,0,"b"],[87491,0,"y"],[87540,0,"i"],[87541,0,"n"],[87542,0,"t"],[87543,0,"o"],[87544,0," "],[87545,0,"t"],[87546,0,"h"],[87547,0,"e"],[87548,0," "],[87549,0,"i"],[87550,0,"n"],[87551,0,"s"],[87552,0,"e"],[87553,0,"r"],[87554,0,"t"],[87555,0,"i"],[87556,0,"o"],[87557,0,"n"],[87558,0," "],[87559,0,"i"],[87560,0,"n"],[87561,0,"t"],[87562,0,"e"],[87563,0,"r"],[87564,0,"v"],[87565,0,"a"],[87566,0,"l"],[87567,0," "],[87568,0,"a"],[87569,0,"f"],[87570,0,"t"],[87571,0,"e"],[87572,0,"r"],[87573,0," "],[87574,0,"t"],[87575,0,"h"],[87576,0,"e"],[87577,0," "],[87578,0,"c"],[87579,0,"o"],[87580,0,"m"],[87581,0,"m"],[87582,0,"o"],[87583,0,"n"],[87584,0," "],[87585,0,"a"],[87586,0,"n"],[87587,0,"c"],[87588,0,"e"],[87589,0,"s"],[87590,0,"t"],[87591,0,"o"],[87592,0,"r"],[87577,0,"i"],[87578,0,"r"],[87595,1],[87595,0,","],[87596,0," "],[87597,0,"i"],[87598,0,"n"],[87599,0," "],[87600,0,"t"],[87601,0,"h"],[87602,0,"e"],[87603,0," "],[87604,0,"c"],[87605,0,"h"],[87606,0,"a"],[87607,0,"i"],[87608,0,"n"],[87609,0," "],[87610,0,"o"],[87611,0,"f"],[87612,0," "],[87613,0,"c"],[87614,0,"u"],[87615,0,"r"],[87616,0,"s"],[87617,0,"o"],[87618,0,"r"],[87619,0," "],[87620,0,"r"],[87621,0,"e"],[87622,0,"v"],[87622,1],[87622,0,"f"],[87623,0,"e"],[87624,0,"r"],[87625,0,"e"],[87626,0,"n"],[87627,0,"c"],[87628,0,"e"],[87629,0,"s"],[87630,0," "],[87631,0,"o"],[87632,0,"f"],[87633,0," "],[87609,0,"s"],[87635,0,"t"],[87636,0,"h"],[87637,0,"e"],[87638,0," "],[87639,0,"t"],[87640,0,"w"],[87641,0,"o"],[87642,0," "],[87643,0,"o"],[87644,0,"p"],[87645,0,"e"],[87646,0,"r"],[87647,0,"a"],[87648,0,"t"],[87649,0,"i"],[87650,0,"o"],[87651,0,"n"],[87652,0,"s"],[87653,0,"."],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[88017,1],[97428,1],[97427,1],[97426,1],[97425,1],[97424,1],[97423,1],[97422,1],[97421,1],[97420,1],[97419,1],[97418,1],[97417,1],[97416,1],[97415,1],[97414,1],[97413,1],[97412,1],[97411,1],[97410,1],[97409,1],[97408,1],[97407,1],[97406,1],[97405,1],[97404,1],[97403,1],[97402,1],[97401,1],[97400,1],[97399,1],[97398,1],[97397,1],[97396,1],[97395,1],[97394,1],[97393,1],[97392,1],[97391,1],[97390,1],[97389,1],[97388,1],[97387,1],[97386,1],[97385,1],[97384,1],[97383,1],[97382,1],[97381,1],[97380,1],[97379,1],[97378,1],[97377,1],[97376,1],[97375,1],[97374,1],[97373,1],[97372,1],[97371,1],[97370,1],[97369,1],[97368,1],[97367,1],[97366,1],[97365,1],[97364,1],[97363,1],[97362,1],[97361,1],[97360,1],[97359,1],[97358,1],[97357,1],[97356,1],[97355,1],[97354,1],[97353,1],[97352,1],[97351,1],[97350,1],[97349,1],[97348,1],[97347,1],[97346,1],[97345,1],[97344,1],[97343,1],[97342,1],[97341,1],[97340,1],[97339,1],[97338,1],[97337,1],[97336,1],[97335,1],[97334,1],[97333,1],[97332,1],[97331,1],[97330,1],[97329,1],[97328,1],[97327,1],[97326,1],[97325,1],[97324,1],[97323,1],[97322,1],[97321,1],[97320,1],[97319,1],[97318,1],[97317,1],[97316,1],[97315,1],[97314,1],[97313,1],[97312,1],[97311,1],[97310,1],[97309,1],[97308,1],[97307,1],[97306,1],[97305,1],[97304,1],[97303,1],[97302,1],[97301,1],[97300,1],[97299,1],[97298,1],[97297,1],[97296,1],[97295,1],[97294,1],[97293,1],[97292,1],[97291,1],[97290,1],[97289,1],[97288,1],[97287,1],[97286,1],[97285,1],[97284,1],[97283,1],[97282,1],[97281,1],[97280,1],[97279,1],[97278,1],[97277,1],[97276,1],[97275,1],[97274,1],[97273,1],[97272,1],[97271,1],[97270,1],[97269,1],[97268,1],[97267,1],[97266,1],[97265,1],[97264,1],[97263,1],[97262,1],[97261,1],[97260,1],[97259,1],[97258,1],[97257,1],[97256,1],[97255,1],[97254,1],[97253,1],[97252,1],[97251,1],[97250,1],[97249,1],[97248,1],[97247,1],[97246,1],[97245,1],[97244,1],[97243,1],[97242,1],[97241,1],[97240,1],[97239,1],[97238,1],[97237,1],[97236,1],[97235,1],[97234,1],[97233,1],[97232,1],[97231,1],[97230,1],[97229,1],[97228,1],[97227,1],[97226,1],[97225,1],[97224,1],[97223,1],[97222,1],[97221,1],[97220,1],[97219,1],[97218,1],[97217,1],[97216,1],[97215,1],[97214,1],[97213,1],[97212,1],[97211,1],[97210,1],[97209,1],[97208,1],[97207,1],[97206,1],[97205,1],[97204,1],[97203,1],[97202,1],[97201,1],[97200,1],[97199,1],[97198,1],[97197,1],[97196,1],[97195,1],[97194,1],[97193,1],[97192,1],[97191,1],[97190,1],[97189,1],[97188,1],[97187,1],[97186,1],[97185,1],[97184,1],[97183,1],[97182,1],[97181,1],[97180,1],[97179,1],[97178,1],[97177,1],[97176,1],[97175,1],[97174,1],[97173,1],[97172,1],[97171,1],[97170,1],[97169,1],[97168,1],[97167,1],[97166,1],[97165,1],[97164,1],[97163,1],[97162,1],[97161,1],[97160,1],[97159,1],[97158,1],[97157,1],[97156,1],[97155,1],[97154,1],[97153,1],[97152,1],[97151,1],[97150,1],[97149,1],[97148,1],[97147,1],[97146,1],[97145,1],[97144,1],[97143,1],[97142,1],[97141,1],[97140,1],[97139,1],[97138,1],[97137,1],[97136,1],[97135,1],[97134,1],[97133,1],[97132,1],[97131,1],[97130,1],[97129,1],[97128,1],[97127,1],[97126,1],[97125,1],[97124,1],[97123,1],[97122,1],[97121,1],[97120,1],[97119,1],[97118,1],[97117,1],[97116,1],[97115,1],[97114,1],[97113,1],[97112,1],[97111,1],[97110,1],[97109,1],[97108,1],[97107,1],[97106,1],[97105,1],[97104,1],[97103,1],[97102,1],[97101,1],[97100,1],[97099,1],[97098,1],[97097,1],[97096,1],[97095,1],[97094,1],[97093,1],[97092,1],[97091,1],[97090,1],[97089,1],[97088,1],[97087,1],[97086,1],[97085,1],[97084,1],[97083,1],[97082,1],[97081,1],[97080,1],[97079,1],[97078,1],[97077,1],[97076,1],[97075,1],[97074,1],[97073,1],[97072,1],[97071,1],[97070,1],[97069,1],[97068,1],[97067,1],[97066,1],[97065,1],[97064,1],[97063,1],[97062,1],[97061,1],[97060,1],[97059,1],[97058,1],[97057,1],[97056,1],[97055,1],[97054,1],[97053,1],[97052,1],[97051,1],[97050,1],[97049,1],[97048,1],[97047,1],[97046,1],[97045,1],[97044,1],[97043,1],[97042,1],[97041,1],[97040,1],[97039,1],[97038,1],[97037,1],[97036,1],[97035,1],[97034,1],[97033,1],[97032,1],[97031,1],[97030,1],[97029,1],[97028,1],[97027,1],[97026,1],[97025,1],[97024,1],[97023,1],[97022,1],[97021,1],[97020,1],[97019,1],[97018,1],[97017,1],[97016,1],[97015,1],[97014,1],[97013,1],[97012,1],[97011,1],[97010,1],[97009,1],[97008,1],[97007,1],[97006,1],[97005,1],[97004,1],[97003,1],[97002,1],[97001,1],[97000,1],[96999,1],[96998,1],[96997,1],[96996,1],[96995,1],[96994,1],[96993,1],[96992,1],[96991,1],[96990,1],[96989,1],[96988,1],[96987,1],[96986,1],[96985,1],[96984,1],[96983,1],[96982,1],[96981,1],[96980,1],[96979,1],[96978,1],[96977,1],[96976,1],[96975,1],[96974,1],[96973,1],[96972,1],[96971,1],[96970,1],[96969,1],[96968,1],[96967,1],[96966,1],[96965,1],[96964,1],[96963,1],[96962,1],[96961,1],[96960,1],[96959,1],[96958,1],[96957,1],[96956,1],[96955,1],[96954,1],[96953,1],[96952,1],[96951,1],[96950,1],[96949,1],[96948,1],[96947,1],[96946,1],[96945,1],[96944,1],[96943,1],[96942,1],[96941,1],[96940,1],[96939,1],[96938,1],[96937,1],[96936,1],[96935,1],[96934,1],[96933,1],[96932,1],[96931,1],[96930,1],[96929,1],[96928,1],[96927,1],[96926,1],[96925,1],[96924,1],[96923,1],[96922,1],[96921,1],[96920,1],[96919,1],[96918,1],[96917,1],[96916,1],[96915,1],[96914,1],[96913,1],[96912,1],[96911,1],[96910,1],[96909,1],[96908,1],[96907,1],[96906,1],[96905,1],[96904,1],[96903,1],[96902,1],[96901,1],[96900,1],[96899,1],[96898,1],[96897,1],[96896,1],[96895,1],[96894,1],[96893,1],[96892,1],[96891,1],[96890,1],[96889,1],[96888,1],[96887,1],[96886,1],[96885,1],[96884,1],[96883,1],[96882,1],[96881,1],[96880,1],[96879,1],[96878,1],[96877,1],[96876,1],[96875,1],[96874,1],[96873,1],[96872,1],[96871,1],[96870,1],[96869,1],[96868,1],[96867,1],[96866,1],[96865,1],[96864,1],[96863,1],[96862,1],[96861,1],[96860,1],[96859,1],[96858,1],[96857,1],[96856,1],[96855,1],[96854,1],[96853,1],[96852,1],[96851,1],[96850,1],[96849,1],[96848,1],[96847,1],[96846,1],[96845,1],[96844,1],[96843,1],[96842,1],[96841,1],[96840,1],[96839,1],[96838,1],[96837,1],[96836,1],[96835,1],[96834,1],[96833,1],[96832,1],[96831,1],[96830,1],[96829,1],[96828,1],[96827,1],[96826,1],[96825,1],[96824,1],[96823,1],[96822,1],[96821,1],[96820,1],[96819,1],[96818,1],[96817,1],[96816,1],[96815,1],[96814,1],[96813,1],[96812,1],[96811,1],[96810,1],[96809,1],[96808,1],[96807,1],[96806,1],[96805,1],[96804,1],[96803,1],[96802,1],[96801,1],[96800,1],[96799,1],[96798,1],[96797,1],[96796,1],[96795,1],[96794,1],[96793,1],[96792,1],[96791,1],[96790,1],[96789,1],[96788,1],[96787,1],[96786,1],[96785,1],[96784,1],[96783,1],[96782,1],[96781,1],[96780,1],[96779,1],[96778,1],[96777,1],[96776,1],[96775,1],[96774,1],[96773,1],[96772,1],[96771,1],[96770,1],[96769,1],[96768,1],[96767,1],[96766,1],[96765,1],[96764,1],[96763,1],[96762,1],[96761,1],[96760,1],[96759,1],[96758,1],[96757,1],[96756,1],[96755,1],[96754,1],[96753,1],[96752,1],[96751,1],[96750,1],[96749,1],[96748,1],[96747,1],[96746,1],[96745,1],[96744,1],[96743,1],[96742,1],[96741,1],[96740,1],[96739,1],[96738,1],[96737,1],[96736,1],[96735,1],[96734,1],[96733,1],[96732,1],[96731,1],[96730,1],[96729,1],[96728,1],[96727,1],[96726,1],[96725,1],[96724,1],[96723,1],[96722,1],[96721,1],[96720,1],[96719,1],[96718,1],[96717,1],[96716,1],[96715,1],[96714,1],[96713,1],[96712,1],[96711,1],[96710,1],[96709,1],[96708,1],[96707,1],[96706,1],[96705,1],[96704,1],[96703,1],[96702,1],[96701,1],[96700,1],[96699,1],[96698,1],[96697,1],[96696,1],[96695,1],[96694,1],[96693,1],[96692,1],[96691,1],[96690,1],[96689,1],[96688,1],[96687,1],[96686,1],[96685,1],[96684,1],[96683,1],[96682,1],[96681,1],[96680,1],[96679,1],[96678,1],[96677,1],[96676,1],[96675,1],[96674,1],[96673,1],[96672,1],[96671,1],[96670,1],[96669,1],[96668,1],[96667,1],[96666,1],[96665,1],[96664,1],[96663,1],[96662,1],[96661,1],[96660,1],[96659,1],[96658,1],[96657,1],[96656,1],[96655,1],[96654,1],[96653,1],[96652,1],[96651,1],[96650,1],[96649,1],[96648,1],[96647,1],[96646,1],[96645,1],[96644,1],[96643,1],[96642,1],[96641,1],[96640,1],[96639,1],[96638,1],[96637,1],[96636,1],[96635,1],[96634,1],[96633,1],[96632,1],[96631,1],[96630,1],[96629,1],[96628,1],[96627,1],[96626,1],[96625,1],[96624,1],[96623,1],[96622,1],[96621,1],[96620,1],[96619,1],[96618,1],[96617,1],[96616,1],[96615,1],[96614,1],[96613,1],[96612,1],[96611,1],[96610,1],[96609,1],[96608,1],[96607,1],[96606,1],[96605,1],[96604,1],[96603,1],[96602,1],[96601,1],[96600,1],[96599,1],[96598,1],[96597,1],[96596,1],[96595,1],[96594,1],[96593,1],[96592,1],[96591,1],[96590,1],[96589,1],[96588,1],[96587,1],[96586,1],[96585,1],[96584,1],[96583,1],[96582,1],[96581,1],[96580,1],[96579,1],[96578,1],[96577,1],[96576,1],[96575,1],[96574,1],[96573,1],[96572,1],[96571,1],[96570,1],[96569,1],[96568,1],[96567,1],[96566,1],[96565,1],[96564,1],[96563,1],[96562,1],[96561,1],[96560,1],[96559,1],[96558,1],[96557,1],[96556,1],[96555,1],[96554,1],[96553,1],[96552,1],[96551,1],[96550,1],[96549,1],[96548,1],[96547,1],[96546,1],[96545,1],[96544,1],[96543,1],[96542,1],[96541,1],[96540,1],[96539,1],[96538,1],[96537,1],[96536,1],[96535,1],[96534,1],[96533,1],[96532,1],[96531,1],[96530,1],[96529,1],[96528,1],[96527,1],[96526,1],[96525,1],[96524,1],[96523,1],[96522,1],[96521,1],[96520,1],[96519,1],[96518,1],[96517,1],[96516,1],[96515,1],[96514,1],[96513,1],[96512,1],[96511,1],[96510,1],[96509,1],[96508,1],[96507,1],[96506,1],[96505,1],[96504,1],[96503,1],[96502,1],[96501,1],[96500,1],[96499,1],[96498,1],[96497,1],[96496,1],[96495,1],[96494,1],[96493,1],[96492,1],[96491,1],[96490,1],[96489,1],[96488,1],[96487,1],[96486,1],[96485,1],[96484,1],[96483,1],[96482,1],[96481,1],[96480,1],[96479,1],[96478,1],[96477,1],[96476,1],[96475,1],[96474,1],[96473,1],[96472,1],[96471,1],[96470,1],[96469,1],[96468,1],[96467,1],[96466,1],[96465,1],[96464,1],[96463,1],[96462,1],[96461,1],[96460,1],[96459,1],[96458,1],[96457,1],[96456,1],[96455,1],[96454,1],[96453,1],[96452,1],[96451,1],[96450,1],[96449,1],[96448,1],[96447,1],[96446,1],[96445,1],[96444,1],[96443,1],[96442,1],[96441,1],[96440,1],[96439,1],[96438,1],[96437,1],[96436,1],[96435,1],[96434,1],[96433,1],[96432,1],[96431,1],[96430,1],[96429,1],[96428,1],[96427,1],[96426,1],[96425,1],[96424,1],[96423,1],[96422,1],[96421,1],[96420,1],[96419,1],[96418,1],[96417,1],[96416,1],[96415,1],[96414,1],[96413,1],[96412,1],[96411,1],[96410,1],[96409,1],[96408,1],[96407,1],[96406,1],[96405,1],[96404,1],[96403,1],[96402,1],[96401,1],[96400,1],[96399,1],[96398,1],[96397,1],[96396,1],[96395,1],[96394,1],[96393,1],[96392,1],[96391,1],[96390,1],[96389,1],[96388,1],[96387,1],[96386,1],[96385,1],[96384,1],[96383,1],[96382,1],[96381,1],[96380,1],[96379,1],[96378,1],[96377,1],[96376,1],[96375,1],[96374,1],[96373,1],[96372,1],[96371,1],[96370,1],[96369,1],[96368,1],[96367,1],[96366,1],[96365,1],[96364,1],[96363,1],[96362,1],[96361,1],[96360,1],[96359,1],[96358,1],[96357,1],[96356,1],[96355,1],[96354,1],[96353,1],[96352,1],[96351,1],[96350,1],[96349,1],[96348,1],[96347,1],[96346,1],[96345,1],[96344,1],[96343,1],[96342,1],[96341,1],[96340,1],[96339,1],[96338,1],[96337,1],[96336,1],[96335,1],[96334,1],[96333,1],[96332,1],[96331,1],[96330,1],[96329,1],[96328,1],[96327,1],[96326,1],[96325,1],[96324,1],[96323,1],[96322,1],[96321,1],[96320,1],[96319,1],[96318,1],[96317,1],[96316,1],[96315,1],[96314,1],[96313,1],[96312,1],[96311,1],[96310,1],[96309,1],[96308,1],[96307,1],[96306,1],[96305,1],[96304,1],[96303,1],[96302,1],[96301,1],[96300,1],[96299,1],[96298,1],[96297,1],[96296,1],[96295,1],[96294,1],[96293,1],[96292,1],[96291,1],[96290,1],[96289,1],[96288,1],[96287,1],[96286,1],[96285,1],[96284,1],[96283,1],[96282,1],[96281,1],[96280,1],[96279,1],[96278,1],[96277,1],[96276,1],[96275,1],[96274,1],[96273,1],[96272,1],[96271,1],[96270,1],[96269,1],[96268,1],[96267,1],[96266,1],[96265,1],[96264,1],[96263,1],[96262,1],[96261,1],[96260,1],[96259,1],[96258,1],[96257,1],[96256,1],[96255,1],[96254,1],[96253,1],[96252,1],[96251,1],[96250,1],[96249,1],[96248,1],[96247,1],[96246,1],[96245,1],[96244,1],[96243,1],[96242,1],[96241,1],[96240,1],[96239,1],[96238,1],[96237,1],[96236,1],[96235,1],[96234,1],[96233,1],[96232,1],[96231,1],[96230,1],[96229,1],[96228,1],[96227,1],[96226,1],[96225,1],[96224,1],[96223,1],[96222,1],[96221,1],[96220,1],[96219,1],[96218,1],[96217,1],[96216,1],[96215,1],[96214,1],[96213,1],[96212,1],[96211,1],[96210,1],[96209,1],[96208,1],[96207,1],[96206,1],[96205,1],[96204,1],[96203,1],[96202,1],[96201,1],[96200,1],[96199,1],[96198,1],[96197,1],[96196,1],[96195,1],[96194,1],[96193,1],[96192,1],[96191,1],[96190,1],[96189,1],[96188,1],[96187,1],[96186,1],[96185,1],[96184,1],[96183,1],[96182,1],[96181,1],[96180,1],[96179,1],[96178,1],[96177,1],[96176,1],[96175,1],[96174,1],[96173,1],[96172,1],[96171,1],[96170,1],[96169,1],[96168,1],[96167,1],[96166,1],[96165,1],[96164,1],[96163,1],[96162,1],[96161,1],[96160,1],[96159,1],[96158,1],[96157,1],[96156,1],[96155,1],[96154,1],[96153,1],[96152,1],[96151,1],[96150,1],[96149,1],[96148,1],[96147,1],[96146,1],[96145,1],[96144,1],[96143,1],[96142,1],[96141,1],[96140,1],[96139,1],[96138,1],[96137,1],[96136,1],[96135,1],[96134,1],[96133,1],[96132,1],[96131,1],[96130,1],[96129,1],[96128,1],[96127,1],[96126,1],[96125,1],[96124,1],[96123,1],[96122,1],[96121,1],[96120,1],[96119,1],[96118,1],[96117,1],[96116,1],[96115,1],[96114,1],[96113,1],[96112,1],[96111,1],[96110,1],[96109,1],[96108,1],[96107,1],[96106,1],[96105,1],[96104,1],[96103,1],[96102,1],[96101,1],[96100,1],[96099,1],[96098,1],[96097,1],[96096,1],[96095,1],[96094,1],[96093,1],[96092,1],[96091,1],[96090,1],[96089,1],[96088,1],[96087,1],[96086,1],[96085,1],[96084,1],[96083,1],[96082,1],[96081,1],[96080,1],[96079,1],[96078,1],[96077,1],[96076,1],[96075,1],[96074,1],[96073,1],[96072,1],[96071,1],[96070,1],[96069,1],[96068,1],[96067,1],[96066,1],[96065,1],[96064,1],[96063,1],[96062,1],[96061,1],[96060,1],[96059,1],[96058,1],[96057,1],[96056,1],[96055,1],[96054,1],[96053,1],[96052,1],[96051,1],[96050,1],[96049,1],[96048,1],[96047,1],[96046,1],[96045,1],[96044,1],[96043,1],[96042,1],[96041,1],[96040,1],[96039,1],[96038,1],[96037,1],[96036,1],[96035,1],[96034,1],[96033,1],[96032,1],[96031,1],[96030,1],[96029,1],[96028,1],[96027,1],[96026,1],[96025,1],[96024,1],[96023,1],[96022,1],[96021,1],[96020,1],[96019,1],[96018,1],[96017,1],[96016,1],[96015,1],[96014,1],[96013,1],[96012,1],[96011,1],[96010,1],[96009,1],[96008,1],[96007,1],[96006,1],[96005,1],[96004,1],[96003,1],[96002,1],[96001,1],[96000,1],[95999,1],[95998,1],[95997,1],[95996,1],[95995,1],[95994,1],[95993,1],[95992,1],[95991,1],[95990,1],[95989,1],[95988,1],[95987,1],[95986,1],[95985,1],[95984,1],[95983,1],[95982,1],[95981,1],[95980,1],[95979,1],[95978,1],[95977,1],[95976,1],[95975,1],[95974,1],[95973,1],[95972,1],[95971,1],[95970,1],[95969,1],[95968,1],[95967,1],[95966,1],[95965,1],[95964,1],[95963,1],[95962,1],[95961,1],[95960,1],[95959,1],[95958,1],[95957,1],[95956,1],[95955,1],[95954,1],[95953,1],[95952,1],[95951,1],[95950,1],[95949,1],[95948,1],[95947,1],[95946,1],[95945,1],[95944,1],[95943,1],[95942,1],[95941,1],[95940,1],[95939,1],[95938,1],[95937,1],[95936,1],[95935,1],[95934,1],[95933,1],[95932,1],[95931,1],[95930,1],[95929,1],[95928,1],[95927,1],[95926,1],[95925,1],[95924,1],[95923,1],[95922,1],[95921,1],[95920,1],[95919,1],[95918,1],[95917,1],[95916,1],[95915,1],[95914,1],[95913,1],[95912,1],[95911,1],[95910,1],[95909,1],[95908,1],[95907,1],[95906,1],[95905,1],[95904,1],[95903,1],[95902,1],[95901,1],[95900,1],[95899,1],[95898,1],[95897,1],[95896,1],[95895,1],[95894,1],[95893,1],[95892,1],[95891,1],[95890,1],[95889,1],[95888,1],[95887,1],[95886,1],[95885,1],[95884,1],[95883,1],[95882,1],[95881,1],[95880,1],[95879,1],[95878,1],[95877,1],[95876,1],[95875,1],[95874,1],[95873,1],[95872,1],[95871,1],[95870,1],[95869,1],[95868,1],[95867,1],[95866,1],[95865,1],[95864,1],[95863,1],[95862,1],[95861,1],[95860,1],[95859,1],[95858,1],[95857,1],[95856,1],[95855,1],[95854,1],[95853,1],[95852,1],[95851,1],[95850,1],[95849,1],[95848,1],[95847,1],[95846,1],[95845,1],[95844,1],[95843,1],[95842,1],[95841,1],[95840,1],[95839,1],[95838,1],[95837,1],[95836,1],[95835,1],[95834,1],[95833,1],[95832,1],[95831,1],[95830,1],[95829,1],[95828,1],[95827,1],[95826,1],[95825,1],[95824,1],[95823,1],[95822,1],[95821,1],[95820,1],[95819,1],[95818,1],[95817,1],[95816,1],[95815,1],[95814,1],[95813,1],[95812,1],[95811,1],[95810,1],[95809,1],[95808,1],[95807,1],[95806,1],[95805,1],[95804,1],[95803,1],[95802,1],[95801,1],[95800,1],[95799,1],[95798,1],[95797,1],[95796,1],[95795,1],[95794,1],[95793,1],[95792,1],[95791,1],[95790,1],[95789,1],[95788,1],[95787,1],[95786,1],[95785,1],[95784,1],[95783,1],[95782,1],[95781,1],[95780,1],[95779,1],[95778,1],[95777,1],[95776,1],[95775,1],[95774,1],[95773,1],[95772,1],[95771,1],[95770,1],[95769,1],[95768,1],[95767,1],[95766,1],[95765,1],[95764,1],[95763,1],[95762,1],[95761,1],[95760,1],[95759,1],[95758,1],[95757,1],[95756,1],[95755,1],[95754,1],[95753,1],[95752,1],[95751,1],[95750,1],[95749,1],[95748,1],[95747,1],[95746,1],[95745,1],[95744,1],[95743,1],[95742,1],[95741,1],[95740,1],[95739,1],[95738,1],[95737,1],[95736,1],[95735,1],[95734,1],[95733,1],[95732,1],[95731,1],[95730,1],[95729,1],[95728,1],[95727,1],[95726,1],[95725,1],[95724,1],[95723,1],[95722,1],[95721,1],[95720,1],[95719,1],[95718,1],[95717,1],[95716,1],[95715,1],[95714,1],[95713,1],[95712,1],[95711,1],[95710,1],[95709,1],[95708,1],[95707,1],[95706,1],[95705,1],[95704,1],[95703,1],[95702,1],[95701,1],[95700,1],[95699,1],[95698,1],[95697,1],[95696,1],[95695,1],[95694,1],[95693,1],[95692,1],[95691,1],[95690,1],[95689,1],[95688,1],[95687,1],[95686,1],[95685,1],[95684,1],[95683,1],[95682,1],[95681,1],[95680,1],[95679,1],[95678,1],[95677,1],[95676,1],[95675,1],[95674,1],[95673,1],[95672,1],[95671,1],[95670,1],[95669,1],[95668,1],[95667,1],[95666,1],[95665,1],[95664,1],[95663,1],[95662,1],[95661,1],[95660,1],[95659,1],[95658,1],[95657,1],[95656,1],[95655,1],[95654,1],[95653,1],[95652,1],[95651,1],[95650,1],[95649,1],[95648,1],[95647,1],[95646,1],[95645,1],[95644,1],[95643,1],[95642,1],[95641,1],[95640,1],[95639,1],[95638,1],[95637,1],[95636,1],[95635,1],[95634,1],[95633,1],[95632,1],[95631,1],[95630,1],[95629,1],[95628,1],[95627,1],[95626,1],[95625,1],[95624,1],[95623,1],[95622,1],[95621,1],[95620,1],[95619,1],[95618,1],[95617,1],[95616,1],[95615,1],[95614,1],[95613,1],[95612,1],[95611,1],[95610,1],[95609,1],[95608,1],[95607,1],[95606,1],[95605,1],[95604,1],[95603,1],[95602,1],[95601,1],[95600,1],[95599,1],[95598,1],[95597,1],[95596,1],[95595,1],[95594,1],[95593,1],[95592,1],[95591,1],[95590,1],[95589,1],[95588,1],[95587,1],[95586,1],[95585,1],[95584,1],[95583,1],[95582,1],[95581,1],[95580,1],[95579,1],[95578,1],[95577,1],[95576,1],[95575,1],[95574,1],[95573,1],[95572,1],[95571,1],[95570,1],[95569,1],[95568,1],[95567,1],[95566,1],[95565,1],[95564,1],[95563,1],[95562,1],[95561,1],[95560,1],[95559,1],[95558,1],[95557,1],[95556,1],[95555,1],[95554,1],[95553,1],[95552,1],[95551,1],[95550,1],[95549,1],[95548,1],[95547,1],[95546,1],[95545,1],[95544,1],[95543,1],[95542,1],[95541,1],[95540,1],[95539,1],[95538,1],[95537,1],[95536,1],[95535,1],[95534,1],[95533,1],[95532,1],[95531,1],[95530,1],[95529,1],[95528,1],[95527,1],[95526,1],[95525,1],[95524,1],[95523,1],[95522,1],[95521,1],[95520,1],[95519,1],[95518,1],[95517,1],[95516,1],[95515,1],[95514,1],[95513,1],[95512,1],[95511,1],[95510,1],[95509,1],[95508,1],[95507,1],[95506,1],[95505,1],[95504,1],[95503,1],[95502,1],[95501,1],[95500,1],[95499,1],[95498,1],[95497,1],[95496,1],[95495,1],[95494,1],[95493,1],[95492,1],[95491,1],[95490,1],[95489,1],[95488,1],[95487,1],[95486,1],[95485,1],[95484,1],[95483,1],[95482,1],[95481,1],[95480,1],[95479,1],[95478,1],[95477,1],[95476,1],[95475,1],[95474,1],[95473,1],[95472,1],[95471,1],[95470,1],[95469,1],[95468,1],[95467,1],[95466,1],[95465,1],[95464,1],[95463,1],[95462,1],[95461,1],[95460,1],[95459,1],[95458,1],[95457,1],[95456,1],[95455,1],[95454,1],[95453,1],[95452,1],[95451,1],[95450,1],[95449,1],[95448,1],[95447,1],[95446,1],[95445,1],[95444,1],[95443,1],[95442,1],[95441,1],[95440,1],[95439,1],[95438,1],[95437,1],[95436,1],[95435,1],[95434,1],[95433,1],[95432,1],[95431,1],[95430,1],[95429,1],[95428,1],[95427,1],[95426,1],[95425,1],[95424,1],[95423,1],[95422,1],[95421,1],[95420,1],[95419,1],[95418,1],[95417,1],[95416,1],[95415,1],[95414,1],[95413,1],[95412,1],[95411,1],[95410,1],[95409,1],[95408,1],[95407,1],[95406,1],[95405,1],[95404,1],[95403,1],[95402,1],[95401,1],[95400,1],[95399,1],[95398,1],[95397,1],[95396,1],[95395,1],[95394,1],[95393,1],[95392,1],[95391,1],[95390,1],[95389,1],[95388,1],[95387,1],[95386,1],[95385,1],[95384,1],[95383,1],[95382,1],[95381,1],[95380,1],[95379,1],[95378,1],[95377,1],[95376,1],[95375,1],[95374,1],[95373,1],[95372,1],[95371,1],[95370,1],[95369,1],[95368,1],[95367,1],[95366,1],[95365,1],[95364,1],[95363,1],[95362,1],[95361,1],[95360,1],[95359,1],[95358,1],[95357,1],[95356,1],[95355,1],[95354,1],[95353,1],[95352,1],[95351,1],[95350,1],[95349,1],[95348,1],[95347,1],[95346,1],[95345,1],[95344,1],[95343,1],[95342,1],[95341,1],[95340,1],[95339,1],[95338,1],[95337,1],[95336,1],[95335,1],[95334,1],[95333,1],[95332,1],[95331,1],[95330,1],[95329,1],[95328,1],[95327,1],[95326,1],[95325,1],[95324,1],[95323,1],[95322,1],[95321,1],[95320,1],[95319,1],[95318,1],[95317,1],[95316,1],[95315,1],[95314,1],[95313,1],[95312,1],[95311,1],[95310,1],[95309,1],[95308,1],[95307,1],[95306,1],[95305,1],[95304,1],[95303,1],[95302,1],[95301,1],[95300,1],[95299,1],[95298,1],[95297,1],[95296,1],[95295,1],[95294,1],[95293,1],[95292,1],[95291,1],[95290,1],[95289,1],[95288,1],[95287,1],[95286,1],[95285,1],[95284,1],[95283,1],[95282,1],[95281,1],[95280,1],[95279,1],[95278,1],[95277,1],[95276,1],[95275,1],[95274,1],[95273,1],[95272,1],[95271,1],[95270,1],[95269,1],[95268,1],[95267,1],[95266,1],[95265,1],[95264,1],[95263,1],[95262,1],[95261,1],[95260,1],[95259,1],[95258,1],[95257,1],[95256,1],[95255,1],[95254,1],[95253,1],[95252,1],[95251,1],[95250,1],[95249,1],[95248,1],[95247,1],[95246,1],[95245,1],[95244,1],[95243,1],[95242,1],[95241,1],[95240,1],[95239,1],[95238,1],[95237,1],[95236,1],[95235,1],[95234,1],[95233,1],[95232,1],[95231,1],[95230,1],[95229,1],[95228,1],[95227,1],[95226,1],[95225,1],[95224,1],[95223,1],[95222,1],[95221,1],[95220,1],[95219,1],[95218,1],[95217,1],[95216,1],[95215,1],[95214,1],[95213,1],[95212,1],[95211,1],[95210,1],[95209,1],[95208,1],[95207,1],[95206,1],[95205,1],[95204,1],[95203,1],[95202,1],[95201,1],[95200,1],[95199,1],[95198,1],[95197,1],[95196,1],[95195,1],[95194,1],[95193,1],[95192,1],[95191,1],[95190,1],[95189,1],[95188,1],[95187,1],[95186,1],[95185,1],[95184,1],[95183,1],[95182,1],[95181,1],[95180,1],[95179,1],[95178,1],[95177,1],[95176,1],[95175,1],[95174,1],[95173,1],[95172,1],[95171,1],[95170,1],[95169,1],[95168,1],[95167,1],[95166,1],[95165,1],[95164,1],[95163,1],[95162,1],[95161,1],[95160,1],[95159,1],[95158,1],[95157,1],[95156,1],[95155,1],[95154,1],[95153,1],[95152,1],[95151,1],[95150,1],[95149,1],[95148,1],[95147,1],[95146,1],[95145,1],[95144,1],[95143,1],[95142,1],[95141,1],[95140,1],[95139,1],[95138,1],[95137,1],[95136,1],[95135,1],[95134,1],[95133,1],[95132,1],[95131,1],[95130,1],[95129,1],[95128,1],[95127,1],[95126,1],[95125,1],[95124,1],[95123,1],[95122,1],[95121,1],[95120,1],[95119,1],[95118,1],[95117,1],[95116,1],[95115,1],[95114,1],[95113,1],[95112,1],[95111,1],[95110,1],[95109,1],[95108,1],[95107,1],[95106,1],[95105,1],[95104,1],[95103,1],[95102,1],[95101,1],[95100,1],[95099,1],[95098,1],[95097,1],[95096,1],[95095,1],[95094,1],[95093,1],[95092,1],[95091,1],[95090,1],[95089,1],[95088,1],[95087,1],[95086,1],[95085,1],[95084,1],[95083,1],[95082,1],[95081,1],[95080,1],[95079,1],[95078,1],[95077,1],[95076,1],[95075,1],[95074,1],[95073,1],[95072,1],[95071,1],[95070,1],[95069,1],[95068,1],[95067,1],[95066,1],[95065,1],[95064,1],[95063,1],[95062,1],[95061,1],[95060,1],[95059,1],[95058,1],[95057,1],[95056,1],[95055,1],[95054,1],[95053,1],[95052,1],[95051,1],[95050,1],[95049,1],[95048,1],[95047,1],[95046,1],[95045,1],[95044,1],[95043,1],[95042,1],[95041,1],[95040,1],[95039,1],[95038,1],[95037,1],[95036,1],[95035,1],[95034,1],[95033,1],[95032,1],[95031,1],[95030,1],[95029,1],[95028,1],[95027,1],[95026,1],[95025,1],[95024,1],[95023,1],[95022,1],[95021,1],[95020,1],[95019,1],[95018,1],[95017,1],[95016,1],[95015,1],[95014,1],[95013,1],[95012,1],[95011,1],[95010,1],[95009,1],[95008,1],[95007,1],[95006,1],[95005,1],[95004,1],[95003,1],[95002,1],[95001,1],[95000,1],[94999,1],[94998,1],[94997,1],[94996,1],[94995,1],[94994,1],[94993,1],[94992,1],[94991,1],[94990,1],[94989,1],[94988,1],[94987,1],[94986,1],[94985,1],[94984,1],[94983,1],[94982,1],[94981,1],[94980,1],[94979,1],[94978,1],[94977,1],[94976,1],[94975,1],[94974,1],[94973,1],[94972,1],[94971,1],[94970,1],[94969,1],[94968,1],[94967,1],[94966,1],[94965,1],[94964,1],[94963,1],[94962,1],[94961,1],[94960,1],[94959,1],[94958,1],[94957,1],[94956,1],[94955,1],[94954,1],[94953,1],[94952,1],[94951,1],[94950,1],[94949,1],[94948,1],[94947,1],[94946,1],[94945,1],[94944,1],[94943,1],[94942,1],[94941,1],[94940,1],[94939,1],[94938,1],[94937,1],[94936,1],[94935,1],[94934,1],[94933,1],[94932,1],[94931,1],[94930,1],[94929,1],[94928,1],[94927,1],[94926,1],[94925,1],[94924,1],[94923,1],[94922,1],[94921,1],[94920,1],[94919,1],[94918,1],[94917,1],[94916,1],[94915,1],[94914,1],[94913,1],[94912,1],[94911,1],[94910,1],[94909,1],[94908,1],[94907,1],[94906,1],[94905,1],[94904,1],[94903,1],[94902,1],[94901,1],[94900,1],[94899,1],[94898,1],[94897,1],[94896,1],[94895,1],[94894,1],[94893,1],[94892,1],[94891,1],[94890,1],[94889,1],[94888,1],[94887,1],[94886,1],[94885,1],[94884,1],[94883,1],[94882,1],[94881,1],[94880,1],[94879,1],[94878,1],[94877,1],[94876,1],[94875,1],[94874,1],[94873,1],[94872,1],[94871,1],[94870,1],[94869,1],[94868,1],[94867,1],[94866,1],[94865,1],[94864,1],[94863,1],[94862,1],[94861,1],[94860,1],[94859,1],[94858,1],[94857,1],[94856,1],[94855,1],[94854,1],[94853,1],[94852,1],[94851,1],[94850,1],[94849,1],[94848,1],[94847,1],[94846,1],[94845,1],[94844,1],[94843,1],[94842,1],[94841,1],[94840,1],[94839,1],[94838,1],[94837,1],[94836,1],[94835,1],[94834,1],[94833,1],[94832,1],[94831,1],[94830,1],[94829,1],[94828,1],[94827,1],[94826,1],[94825,1],[94824,1],[94823,1],[94822,1],[94821,1],[94820,1],[94819,1],[94818,1],[94817,1],[94816,1],[94815,1],[94814,1],[94813,1],[94812,1],[94811,1],[94810,1],[94809,1],[94808,1],[94807,1],[94806,1],[94805,1],[94804,1],[94803,1],[94802,1],[94801,1],[94800,1],[94799,1],[94798,1],[94797,1],[94796,1],[94795,1],[94794,1],[94793,1],[94792,1],[94791,1],[94790,1],[94789,1],[94788,1],[94787,1],[94786,1],[94785,1],[94784,1],[94783,1],[94782,1],[94781,1],[94780,1],[94779,1],[94778,1],[94777,1],[94776,1],[94775,1],[94774,1],[94773,1],[94772,1],[94771,1],[94770,1],[94769,1],[94768,1],[94767,1],[94766,1],[94765,1],[94764,1],[94763,1],[94762,1],[94761,1],[94760,1],[94759,1],[94758,1],[94757,1],[94756,1],[94755,1],[94754,1],[94753,1],[94752,1],[94751,1],[94750,1],[94749,1],[94748,1],[94747,1],[94746,1],[94745,1],[94744,1],[94743,1],[94742,1],[94741,1],[94740,1],[94739,1],[94738,1],[94737,1],[94736,1],[94735,1],[94734,1],[94733,1],[94732,1],[94731,1],[94730,1],[94729,1],[94728,1],[94727,1],[94726,1],[94725,1],[94724,1],[94723,1],[94722,1],[94721,1],[94720,1],[94719,1],[94718,1],[94717,1],[94716,1],[94715,1],[94714,1],[94713,1],[94712,1],[94711,1],[94710,1],[94709,1],[94708,1],[94707,1],[94706,1],[94705,1],[94704,1],[94703,1],[94702,1],[94701,1],[94700,1],[94699,1],[94698,1],[94697,1],[94696,1],[94695,1],[94694,1],[94693,1],[94692,1],[94691,1],[94690,1],[94689,1],[94688,1],[94687,1],[94686,1],[94685,1],[94684,1],[94683,1],[94682,1],[94681,1],[94680,1],[94679,1],[94678,1],[94677,1],[94676,1],[94675,1],[94674,1],[94673,1],[94672,1],[94671,1],[94670,1],[94669,1],[94668,1],[94667,1],[94666,1],[94665,1],[94664,1],[94663,1],[94662,1],[94661,1],[94660,1],[94659,1],[94658,1],[94657,1],[94656,1],[94655,1],[94654,1],[94653,1],[94652,1],[94651,1],[94650,1],[94649,1],[94648,1],[94647,1],[94646,1],[94645,1],[94644,1],[94643,1],[94642,1],[94641,1],[94640,1],[94639,1],[94638,1],[94637,1],[94636,1],[94635,1],[94634,1],[94633,1],[94632,1],[94631,1],[94630,1],[94629,1],[94628,1],[94627,1],[94626,1],[94625,1],[94624,1],[94623,1],[94622,1],[94621,1],[94620,1],[94619,1],[94618,1],[94617,1],[94616,1],[94615,1],[94614,1],[94613,1],[94612,1],[94611,1],[94610,1],[94609,1],[94608,1],[94607,1],[94606,1],[94605,1],[94604,1],[94603,1],[94602,1],[94601,1],[94600,1],[94599,1],[94598,1],[94597,1],[94596,1],[94595,1],[94594,1],[94593,1],[94592,1],[94591,1],[94590,1],[94589,1],[94588,1],[94587,1],[94586,1],[94585,1],[94584,1],[94583,1],[94582,1],[94581,1],[94580,1],[94579,1],[94578,1],[94577,1],[94576,1],[94575,1],[94574,1],[94573,1],[94572,1],[94571,1],[94570,1],[94569,1],[94568,1],[94567,1],[94566,1],[94565,1],[94564,1],[94563,1],[94562,1],[94561,1],[94560,1],[94559,1],[94558,1],[94557,1],[94556,1],[94555,1],[94554,1],[94553,1],[94552,1],[94551,1],[94550,1],[94549,1],[94548,1],[94547,1],[94546,1],[94545,1],[94544,1],[94543,1],[94542,1],[94541,1],[94540,1],[94539,1],[94538,1],[94537,1],[94536,1],[94535,1],[94534,1],[94533,1],[94532,1],[94531,1],[94530,1],[94529,1],[94528,1],[94527,1],[94526,1],[94525,1],[94524,1],[94523,1],[94522,1],[94521,1],[94520,1],[94519,1],[94518,1],[94517,1],[94516,1],[94515,1],[94514,1],[94513,1],[94512,1],[94511,1],[94510,1],[94509,1],[94508,1],[94507,1],[94506,1],[94505,1],[94504,1],[94503,1],[94502,1],[94501,1],[94500,1],[94499,1],[94498,1],[94497,1],[94496,1],[94495,1],[94494,1],[94493,1],[94492,1],[94491,1],[94490,1],[94489,1],[94488,1],[94487,1],[94486,1],[94485,1],[94484,1],[94483,1],[94482,1],[94481,1],[94480,1],[94479,1],[94478,1],[94477,1],[94476,1],[94475,1],[94474,1],[94473,1],[94472,1],[94471,1],[94470,1],[94469,1],[94468,1],[94467,1],[94466,1],[94465,1],[94464,1],[94463,1],[94462,1],[94461,1],[94460,1],[94459,1],[94458,1],[94457,1],[94456,1],[94455,1],[94454,1],[94453,1],[94452,1],[94451,1],[94450,1],[94449,1],[94448,1],[94447,1],[94446,1],[94445,1],[94444,1],[94443,1],[94442,1],[94441,1],[94440,1],[94439,1],[94438,1],[94437,1],[94436,1],[94435,1],[94434,1],[94433,1],[94432,1],[94431,1],[94430,1],[94429,1],[94428,1],[94427,1],[94426,1],[94425,1],[94424,1],[94423,1],[94422,1],[94421,1],[94420,1],[94419,1],[94418,1],[94417,1],[94416,1],[94415,1],[94414,1],[94413,1],[94412,1],[94411,1],[94410,1],[94409,1],[94408,1],[94407,1],[94406,1],[94405,1],[94404,1],[94403,1],[94402,1],[94401,1],[94400,1],[94399,1],[94398,1],[94397,1],[94396,1],[94395,1],[94394,1],[94393,1],[94392,1],[94391,1],[94390,1],[94389,1],[94388,1],[94387,1],[94386,1],[94385,1],[94384,1],[94383,1],[94382,1],[94381,1],[94380,1],[94379,1],[94378,1],[94377,1],[94376,1],[94375,1],[94374,1],[94373,1],[94372,1],[94371,1],[94370,1],[94369,1],[94368,1],[94367,1],[94366,1],[94365,1],[94364,1],[94363,1],[94362,1],[94361,1],[94360,1],[94359,1],[94358,1],[94357,1],[94356,1],[94355,1],[94354,1],[94353,1],[94352,1],[94351,1],[94350,1],[94349,1],[94348,1],[94347,1],[94346,1],[94345,1],[94344,1],[94343,1],[94342,1],[94341,1],[94340,1],[94339,1],[94338,1],[94337,1],[94336,1],[94335,1],[94334,1],[94333,1],[94332,1],[94331,1],[94330,1],[94329,1],[94328,1],[94327,1],[94326,1],[94325,1],[94324,1],[94323,1],[94322,1],[94321,1],[94320,1],[94319,1],[94318,1],[94317,1],[94316,1],[94315,1],[94314,1],[94313,1],[94312,1],[94311,1],[94310,1],[94309,1],[94308,1],[94307,1],[94306,1],[94305,1],[94304,1],[94303,1],[94302,1],[94301,1],[94300,1],[94299,1],[94298,1],[94297,1],[94296,1],[94295,1],[94294,1],[94293,1],[94292,1],[94291,1],[94290,1],[94289,1],[94288,1],[94287,1],[94286,1],[94285,1],[94284,1],[94283,1],[94282,1],[94281,1],[94280,1],[94279,1],[94278,1],[94277,1],[94276,1],[94275,1],[94274,1],[94273,1],[94272,1],[94271,1],[94270,1],[94269,1],[94268,1],[94267,1],[94266,1],[94265,1],[94264,1],[94263,1],[94262,1],[94261,1],[94260,1],[94259,1],[94258,1],[94257,1],[94256,1],[94255,1],[94254,1],[94253,1],[94252,1],[94251,1],[94250,1],[94249,1],[94248,1],[94247,1],[94246,1],[94245,1],[94244,1],[94243,1],[94242,1],[94241,1],[94240,1],[94239,1],[94238,1],[94237,1],[94236,1],[94235,1],[94234,1],[94233,1],[94232,1],[94231,1],[94230,1],[94229,1],[94228,1],[94227,1],[94226,1],[94225,1],[94224,1],[94223,1],[94222,1],[94221,1],[94220,1],[94219,1],[94218,1],[94217,1],[94216,1],[94215,1],[94214,1],[94213,1],[94212,1],[94211,1],[94210,1],[94209,1],[94208,1],[94207,1],[94206,1],[94205,1],[94204,1],[94203,1],[94202,1],[94201,1],[94200,1],[94199,1],[94198,1],[94197,1],[94196,1],[94195,1],[94194,1],[94193,1],[94192,1],[94191,1],[94190,1],[94189,1],[94188,1],[94187,1],[94186,1],[94185,1],[94184,1],[94183,1],[94182,1],[94181,1],[94180,1],[94179,1],[94178,1],[94177,1],[94176,1],[94175,1],[94174,1],[94173,1],[94172,1],[94171,1],[94170,1],[94169,1],[94168,1],[94167,1],[94166,1],[94165,1],[94164,1],[94163,1],[94162,1],[94161,1],[94160,1],[94159,1],[94158,1],[94157,1],[94156,1],[94155,1],[94154,1],[94153,1],[94152,1],[94151,1],[94150,1],[94149,1],[94148,1],[94147,1],[94146,1],[94145,1],[94144,1],[94143,1],[94142,1],[94141,1],[94140,1],[94139,1],[94138,1],[94137,1],[94136,1],[94135,1],[94134,1],[94133,1],[94132,1],[94131,1],[94130,1],[94129,1],[94128,1],[94127,1],[94126,1],[94125,1],[94124,1],[94123,1],[94122,1],[94121,1],[94120,1],[94119,1],[94118,1],[94117,1],[94116,1],[94115,1],[94114,1],[94113,1],[94112,1],[94111,1],[94110,1],[94109,1],[94108,1],[94107,1],[94106,1],[94105,1],[94104,1],[94103,1],[94102,1],[94101,1],[94100,1],[94099,1],[94098,1],[94097,1],[94096,1],[94095,1],[94094,1],[94093,1],[94092,1],[94091,1],[94090,1],[94089,1],[94088,1],[94087,1],[94086,1],[94085,1],[94084,1],[94083,1],[94082,1],[94081,1],[94080,1],[94079,1],[94078,1],[94077,1],[94076,1],[94075,1],[94074,1],[94073,1],[94072,1],[94071,1],[94070,1],[94069,1],[94068,1],[94067,1],[94066,1],[94065,1],[94064,1],[94063,1],[94062,1],[94061,1],[94060,1],[94059,1],[94058,1],[94057,1],[94056,1],[94055,1],[94054,1],[94053,1],[94052,1],[94051,1],[94050,1],[94049,1],[94048,1],[94047,1],[94046,1],[94045,1],[94044,1],[94043,1],[94042,1],[94041,1],[94040,1],[94039,1],[94038,1],[94037,1],[94036,1],[94035,1],[94034,1],[94033,1],[94032,1],[94031,1],[94030,1],[94029,1],[94028,1],[94027,1],[94026,1],[94025,1],[94024,1],[94023,1],[94022,1],[94021,1],[94020,1],[94019,1],[94018,1],[94017,1],[94016,1],[94015,1],[94014,1],[94013,1],[94012,1],[94011,1],[94010,1],[94009,1],[94008,1],[94007,1],[94006,1],[94005,1],[94004,1],[94003,1],[94002,1],[94001,1],[94000,1],[93999,1],[93998,1],[93997,1],[93996,1],[93995,1],[93994,1],[93993,1],[93992,1],[93991,1],[93990,1],[93989,1],[93988,1],[93987,1],[93986,1],[93985,1],[93984,1],[93983,1],[93982,1],[93981,1],[93980,1],[93979,1],[93978,1],[93977,1],[93976,1],[93975,1],[93974,1],[93973,1],[93972,1],[93971,1],[93970,1],[93969,1],[93968,1],[93967,1],[93966,1],[93965,1],[93964,1],[93963,1],[93962,1],[93961,1],[93960,1],[93959,1],[93958,1],[93957,1],[93956,1],[93955,1],[93954,1],[93953,1],[93952,1],[93951,1],[93950,1],[93949,1],[93948,1],[93947,1],[93946,1],[93945,1],[93944,1],[93943,1],[93942,1],[93941,1],[93940,1],[93939,1],[93938,1],[93937,1],[93936,1],[93935,1],[93934,1],[93933,1],[93932,1],[93931,1],[93930,1],[93929,1],[93928,1],[93927,1],[93926,1],[93925,1],[93924,1],[93923,1],[93922,1],[93921,1],[93920,1],[93919,1],[93918,1],[93917,1],[93916,1],[93915,1],[93914,1],[93913,1],[93912,1],[93911,1],[93910,1],[93909,1],[93908,1],[93907,1],[93906,1],[93905,1],[93904,1],[93903,1],[93902,1],[93901,1],[93900,1],[93899,1],[93898,1],[93897,1],[93896,1],[93895,1],[93894,1],[93893,1],[93892,1],[93891,1],[93890,1],[93889,1],[93888,1],[93887,1],[93886,1],[93885,1],[93884,1],[93883,1],[93882,1],[93881,1],[93880,1],[93879,1],[93878,1],[93877,1],[93876,1],[93875,1],[93874,1],[93873,1],[93872,1],[93871,1],[93870,1],[93869,1],[93868,1],[93867,1],[93866,1],[93865,1],[93864,1],[93863,1],[93862,1],[93861,1],[93860,1],[93859,1],[93858,1],[93857,1],[93856,1],[93855,1],[93854,1],[93853,1],[93852,1],[93851,1],[93850,1],[93849,1],[93848,1],[93847,1],[93846,1],[93845,1],[93844,1],[93843,1],[93842,1],[93841,1],[93840,1],[93839,1],[93838,1],[93837,1],[93836,1],[93835,1],[93834,1],[93833,1],[93832,1],[93831,1],[93830,1],[93829,1],[93828,1],[93827,1],[93826,1],[93825,1],[93824,1],[93823,1],[93822,1],[93821,1],[93820,1],[93819,1],[93818,1],[93817,1],[93816,1],[93815,1],[93814,1],[93813,1],[93812,1],[93811,1],[93810,1],[93809,1],[93808,1],[93807,1],[93806,1],[93805,1],[93804,1],[93803,1],[93802,1],[93801,1],[93800,1],[93799,1],[93798,1],[93797,1],[93796,1],[93795,1],[93794,1],[93793,1],[93792,1],[93791,1],[93790,1],[93789,1],[93788,1],[93787,1],[93786,1],[93785,1],[93784,1],[93783,1],[93782,1],[93781,1],[93780,1],[93779,1],[93778,1],[93777,1],[93776,1],[93775,1],[93774,1],[93773,1],[93772,1],[93771,1],[93770,1],[93769,1],[93768,1],[93767,1],[93766,1],[93765,1],[93764,1],[93763,1],[93762,1],[93761,1],[93760,1],[93759,1],[93758,1],[93757,1],[93756,1],[93755,1],[93754,1],[93753,1],[93752,1],[93751,1],[93750,1],[93749,1],[93748,1],[93747,1],[93746,1],[93745,1],[93744,1],[93743,1],[93742,1],[93741,1],[93740,1],[93739,1],[93738,1],[93737,1],[93736,1],[93735,1],[93734,1],[93733,1],[93732,1],[93731,1],[93730,1],[93729,1],[93728,1],[93727,1],[93726,1],[93725,1],[93724,1],[93723,1],[93722,1],[93721,1],[93720,1],[93719,1],[93718,1],[93717,1],[93716,1],[93715,1],[93714,1],[93713,1],[93712,1],[93711,1],[93710,1],[93709,1],[93708,1],[93707,1],[93706,1],[93705,1],[93704,1],[93703,1],[93702,1],[93701,1],[93700,1],[93699,1],[93698,1],[93697,1],[93696,1],[93695,1],[93694,1],[93693,1],[93692,1],[93691,1],[93690,1],[93689,1],[93688,1],[93687,1],[93686,1],[93685,1],[93684,1],[93683,1],[93682,1],[93681,1],[93680,1],[93679,1],[93678,1],[93677,1],[93676,1],[93675,1],[93674,1],[93673,1],[93672,1],[93671,1],[93670,1],[93669,1],[93668,1],[93667,1],[93666,1],[93665,1],[93664,1],[93663,1],[93662,1],[93661,1],[93660,1],[93659,1],[93658,1],[93657,1],[93656,1],[93655,1],[93654,1],[93653,1],[93652,1],[93651,1],[93650,1],[93649,1],[93648,1],[93647,1],[93646,1],[93645,1],[93644,1],[93643,1],[93642,1],[93641,1],[93639,1],[93638,1],[93637,1],[93636,1],[93635,1],[93634,1],[93633,1],[93632,1],[93631,1],[93630,1],[93629,1],[93628,1],[93627,1],[93626,1],[93625,1],[93624,1],[93623,1],[93622,1],[93621,1],[93620,1],[93619,1],[93618,1],[93617,1],[93616,1],[93615,1],[93614,1],[93613,1],[93612,1],[93611,1],[93610,1],[93609,1],[93608,1],[93607,1],[93606,1],[93605,1],[93604,1],[93603,1],[93602,1],[93601,1],[93600,1],[93599,1],[93598,1],[93597,1],[93596,1],[93595,1],[93594,1],[93593,1],[93592,1],[93591,1],[93590,1],[93589,1],[93588,1],[93587,1],[93586,1],[93585,1],[93584,1],[93583,1],[93582,1],[93581,1],[93580,1],[93579,1],[93578,1],[93577,1],[93576,1],[93575,1],[93574,1],[93573,1],[93572,1],[93571,1],[93570,1],[93569,1],[93568,1],[93567,1],[93566,1],[93565,1],[93564,1],[93563,1],[93562,1],[93561,1],[93560,1],[93559,1],[93558,1],[93557,1],[93556,1],[93555,1],[93554,1],[93553,1],[93552,1],[93551,1],[93550,1],[93549,1],[93548,1],[93547,1],[93546,1],[93545,1],[93544,1],[93543,1],[93542,1],[93541,1],[93540,1],[93539,1],[93538,1],[93537,1],[93536,1],[93535,1],[93534,1],[93533,1],[93532,1],[93531,1],[93530,1],[93529,1],[93528,1],[93527,1],[93526,1],[93525,1],[93524,1],[93523,1],[93522,1],[93521,1],[93520,1],[93519,1],[93518,1],[93517,1],[93516,1],[93515,1],[93514,1],[93513,1],[93512,1],[93511,1],[93510,1],[93509,1],[93508,1],[93507,1],[93506,1],[93505,1],[93504,1],[93503,1],[93502,1],[93501,1],[93500,1],[93499,1],[93498,1],[93497,1],[93496,1],[93495,1],[93494,1],[93493,1],[93492,1],[93491,1],[93490,1],[93489,1],[93488,1],[93487,1],[93486,1],[93485,1],[93484,1],[93483,1],[93482,1],[93481,1],[93480,1],[93479,1],[93478,1],[93477,1],[93476,1],[93475,1],[93474,1],[93473,1],[93472,1],[93471,1],[93470,1],[93469,1],[93468,1],[93467,1],[93466,1],[93465,1],[93464,1],[93463,1],[93462,1],[93461,1],[93460,1],[93459,1],[93458,1],[93457,1],[93456,1],[93455,1],[93454,1],[93453,1],[93452,1],[93451,1],[93450,1],[93449,1],[93448,1],[93447,1],[93446,1],[93445,1],[93444,1],[93443,1],[93442,1],[93441,1],[93440,1],[93439,1],[93438,1],[93437,1],[93436,1],[93435,1],[93434,1],[93433,1],[93432,1],[93431,1],[93430,1],[93429,1],[93428,1],[93427,1],[93426,1],[93425,1],[93424,1],[93423,1],[93422,1],[93421,1],[93420,1],[93419,1],[93418,1],[93417,1],[93416,1],[93415,1],[93414,1],[93413,1],[93412,1],[93411,1],[93410,1],[93409,1],[93408,1],[93407,1],[93406,1],[93405,1],[93404,1],[93403,1],[93402,1],[93401,1],[93400,1],[93399,1],[93398,1],[93397,1],[93396,1],[93395,1],[93394,1],[93393,1],[93392,1],[93391,1],[93390,1],[93389,1],[93388,1],[93387,1],[93386,1],[93385,1],[93384,1],[93383,1],[93382,1],[93381,1],[93380,1],[93379,1],[93378,1],[93377,1],[93376,1],[93375,1],[93374,1],[93373,1],[93372,1],[93371,1],[93370,1],[93369,1],[93368,1],[93367,1],[93366,1],[93365,1],[93364,1],[93363,1],[93362,1],[93361,1],[93360,1],[93359,1],[93358,1],[93357,1],[93356,1],[93355,1],[93354,1],[93353,1],[93352,1],[93351,1],[93350,1],[93349,1],[93348,1],[93347,1],[93346,1],[93345,1],[93344,1],[93343,1],[93342,1],[93341,1],[93340,1],[93339,1],[93338,1],[93337,1],[93336,1],[93335,1],[93334,1],[93333,1],[93332,1],[93331,1],[93330,1],[93329,1],[93328,1],[93327,1],[93326,1],[93325,1],[93324,1],[93323,1],[93322,1],[93321,1],[93320,1],[93319,1],[93318,1],[93317,1],[93316,1],[93315,1],[93314,1],[93313,1],[93312,1],[93311,1],[93310,1],[93309,1],[93308,1],[93307,1],[93306,1],[93305,1],[93304,1],[93303,1],[93302,1],[93301,1],[93300,1],[93299,1],[93298,1],[93297,1],[93296,1],[93295,1],[93294,1],[93293,1],[93292,1],[93291,1],[93290,1],[93289,1],[93288,1],[93287,1],[93286,1],[93285,1],[93284,1],[93283,1],[93282,1],[93281,1],[93280,1],[93279,1],[93278,1],[93277,1],[93276,1],[93275,1],[93274,1],[93273,1],[93272,1],[93271,1],[93270,1],[93269,1],[93268,1],[93267,1],[93266,1],[93265,1],[93264,1],[93263,1],[93262,1],[93261,1],[93260,1],[93259,1],[93258,1],[93257,1],[93256,1],[93255,1],[93254,1],[93253,1],[93252,1],[93251,1],[93250,1],[93249,1],[93248,1],[93247,1],[93246,1],[93245,1],[93244,1],[93243,1],[93242,1],[93241,1],[93240,1],[93239,1],[93238,1],[93237,1],[93236,1],[93235,1],[93234,1],[93233,1],[93232,1],[93231,1],[93230,1],[93229,1],[93228,1],[93227,1],[93226,1],[93225,1],[93224,1],[93223,1],[93222,1],[93221,1],[93220,1],[93219,1],[93218,1],[93217,1],[93216,1],[93215,1],[93214,1],[93213,1],[93212,1],[93211,1],[93210,1],[93209,1],[93208,1],[93207,1],[93206,1],[93205,1],[93204,1],[93203,1],[93202,1],[93201,1],[93200,1],[93199,1],[93198,1],[93197,1],[93196,1],[93195,1],[93194,1],[93193,1],[93192,1],[93191,1],[93190,1],[93189,1],[93188,1],[93187,1],[93186,1],[93185,1],[93184,1],[93183,1],[93182,1],[93181,1],[93180,1],[93179,1],[93178,1],[93177,1],[93176,1],[93175,1],[93174,1],[93173,1],[93172,1],[93171,1],[93170,1],[93169,1],[93168,1],[93167,1],[93166,1],[93165,1],[93164,1],[93163,1],[93162,1],[93161,1],[93160,1],[93159,1],[93158,1],[93157,1],[93156,1],[93155,1],[93154,1],[93153,1],[93152,1],[93151,1],[93150,1],[93149,1],[93148,1],[93147,1],[93146,1],[93145,1],[93144,1],[93143,1],[93142,1],[93141,1],[93140,1],[93139,1],[93138,1],[93137,1],[93136,1],[93135,1],[93134,1],[93133,1],[93132,1],[93131,1],[93130,1],[93129,1],[93128,1],[93127,1],[93126,1],[93125,1],[93124,1],[93123,1],[93122,1],[93121,1],[93120,1],[93119,1],[93118,1],[93117,1],[93116,1],[93115,1],[93114,1],[93113,1],[93112,1],[93111,1],[93110,1],[93109,1],[93108,1],[93107,1],[93106,1],[93105,1],[93104,1],[93103,1],[93102,1],[93101,1],[93100,1],[93099,1],[93098,1],[93097,1],[93096,1],[93095,1],[93094,1],[93093,1],[93092,1],[93091,1],[93090,1],[93089,1],[93088,1],[93087,1],[93086,1],[93085,1],[93084,1],[93083,1],[93082,1],[93081,1],[93080,1],[93079,1],[93078,1],[93077,1],[93076,1],[93075,1],[93074,1],[93073,1],[93072,1],[93071,1],[93070,1],[93069,1],[93068,1],[93067,1],[93066,1],[93065,1],[93064,1],[93063,1],[93062,1],[93061,1],[93060,1],[93059,1],[93058,1],[93057,1],[93056,1],[93055,1],[93054,1],[93053,1],[93052,1],[93051,1],[93050,1],[93049,1],[93048,1],[93047,1],[93046,1],[93045,1],[93044,1],[93043,1],[93042,1],[93041,1],[93040,1],[93039,1],[93038,1],[93037,1],[93036,1],[93035,1],[93034,1],[93033,1],[93032,1],[93031,1],[93030,1],[93029,1],[93028,1],[93027,1],[93026,1],[93025,1],[93024,1],[93023,1],[93022,1],[93021,1],[93020,1],[93019,1],[93018,1],[93017,1],[93016,1],[93015,1],[93014,1],[93013,1],[93012,1],[93011,1],[93010,1],[93009,1],[93008,1],[93007,1],[93006,1],[93005,1],[93004,1],[93003,1],[93002,1],[93001,1],[93000,1],[92999,1],[92998,1],[92997,1],[92996,1],[92995,1],[92994,1],[92993,1],[92992,1],[92991,1],[92990,1],[92989,1],[92988,1],[92987,1],[92986,1],[92985,1],[92984,1],[92983,1],[92982,1],[92981,1],[92980,1],[92979,1],[92978,1],[92977,1],[92976,1],[92975,1],[92974,1],[92973,1],[92972,1],[92971,1],[92970,1],[92969,1],[92968,1],[92967,1],[92966,1],[92965,1],[92964,1],[92963,1],[92962,1],[92961,1],[92960,1],[92959,1],[92958,1],[92957,1],[92956,1],[92955,1],[92954,1],[92953,1],[92952,1],[92951,1],[92950,1],[92949,1],[92948,1],[92947,1],[92946,1],[92945,1],[92944,1],[92943,1],[92942,1],[92941,1],[92940,1],[92939,1],[92938,1],[92937,1],[92936,1],[92935,1],[92934,1],[92933,1],[92932,1],[92931,1],[92930,1],[92929,1],[92928,1],[92927,1],[92926,1],[92925,1],[92924,1],[92923,1],[92922,1],[92921,1],[92920,1],[92919,1],[92918,1],[92917,1],[92916,1],[92915,1],[92914,1],[92913,1],[92912,1],[92911,1],[92910,1],[92909,1],[92908,1],[92907,1],[92906,1],[92905,1],[92904,1],[92903,1],[92902,1],[92901,1],[92900,1],[92899,1],[92898,1],[92897,1],[92896,1],[92895,1],[92894,1],[92893,1],[92892,1],[92891,1],[92890,1],[92889,1],[92888,1],[92887,1],[92886,1],[92885,1],[92884,1],[92883,1],[92882,1],[92881,1],[92880,1],[92879,1],[92878,1],[92877,1],[92876,1],[92875,1],[92874,1],[92873,1],[92872,1],[92871,1],[92870,1],[92869,1],[92868,1],[92867,1],[92866,1],[92865,1],[92864,1],[92863,1],[92862,1],[92861,1],[92860,1],[92859,1],[92858,1],[92857,1],[92856,1],[92855,1],[92854,1],[92853,1],[92852,1],[92851,1],[92850,1],[92849,1],[92848,1],[92847,1],[92846,1],[92845,1],[92844,1],[92843,1],[92842,1],[92841,1],[92840,1],[92839,1],[92838,1],[92837,1],[92836,1],[92835,1],[92834,1],[92833,1],[92832,1],[92831,1],[92830,1],[92829,1],[92828,1],[92827,1],[92826,1],[92825,1],[92824,1],[92823,1],[92822,1],[92821,1],[92820,1],[92819,1],[92818,1],[92817,1],[92816,1],[92815,1],[92814,1],[92813,1],[92812,1],[92811,1],[92810,1],[92809,1],[92808,1],[92807,1],[92806,1],[92805,1],[92804,1],[92803,1],[92802,1],[92801,1],[92800,1],[92799,1],[92798,1],[92797,1],[92796,1],[92795,1],[92794,1],[92793,1],[92792,1],[92791,1],[92790,1],[92789,1],[92788,1],[92787,1],[92786,1],[92785,1],[92784,1],[92783,1],[92782,1],[92781,1],[92780,1],[92779,1],[92778,1],[92777,1],[92776,1],[92775,1],[92774,1],[92773,1],[92772,1],[92771,1],[92770,1],[92769,1],[92768,1],[92767,1],[92766,1],[92765,1],[92764,1],[92763,1],[92762,1],[92761,1],[92760,1],[92759,1],[92758,1],[92757,1],[92756,1],[92755,1],[92754,1],[92753,1],[92752,1],[92751,1],[92750,1],[92749,1],[92748,1],[92747,1],[92746,1],[92745,1],[92744,1],[92743,1],[92742,1],[92741,1],[92740,1],[92739,1],[92738,1],[92737,1],[92736,1],[92735,1],[92734,1],[92733,1],[92732,1],[92731,1],[92730,1],[92729,1],[92728,1],[92727,1],[92726,1],[92725,1],[92724,1],[92723,1],[92722,1],[92721,1],[92720,1],[92719,1],[92718,1],[92717,1],[92716,1],[92715,1],[92714,1],[92713,1],[92712,1],[92711,1],[92710,1],[92709,1],[92708,1],[92707,1],[92706,1],[92705,1],[92704,1],[92703,1],[92702,1],[92701,1],[92700,1],[92699,1],[92698,1],[92697,1],[92696,1],[92695,1],[92694,1],[92693,1],[92692,1],[92691,1],[92690,1],[92689,1],[92688,1],[92687,1],[92686,1],[92685,1],[92684,1],[92683,1],[92682,1],[92681,1],[92680,1],[92679,1],[92678,1],[92677,1],[92676,1],[92675,1],[92674,1],[92673,1],[92672,1],[92671,1],[92670,1],[92669,1],[92668,1],[92667,1],[92666,1],[92665,1],[92664,1],[92663,1],[92662,1],[92661,1],[92660,1],[92659,1],[92658,1],[92657,1],[92656,1],[92655,1],[92654,1],[92653,1],[92652,1],[92651,1],[92650,1],[92649,1],[92648,1],[92647,1],[92646,1],[92645,1],[92644,1],[92643,1],[92642,1],[92641,1],[92640,1],[92639,1],[92638,1],[92637,1],[92636,1],[92635,1],[92634,1],[92633,1],[92632,1],[92631,1],[92630,1],[92629,1],[92628,1],[92627,1],[92626,1],[92625,1],[92624,1],[92623,1],[92622,1],[92621,1],[92620,1],[92619,1],[92618,1],[92617,1],[92616,1],[92615,1],[92614,1],[92613,1],[92612,1],[92611,1],[92610,1],[92609,1],[92608,1],[92607,1],[92606,1],[92605,1],[92604,1],[92603,1],[92602,1],[92601,1],[92600,1],[92599,1],[92598,1],[92597,1],[92596,1],[92595,1],[92594,1],[92593,1],[92592,1],[92591,1],[92590,1],[92589,1],[92588,1],[92587,1],[92586,1],[92585,1],[92584,1],[92583,1],[92582,1],[92581,1],[92580,1],[92579,1],[92578,1],[92577,1],[92576,1],[92575,1],[92574,1],[92573,1],[92572,1],[92571,1],[92570,1],[92569,1],[92568,1],[92567,1],[92566,1],[92565,1],[92564,1],[92563,1],[92562,1],[92561,1],[92560,1],[92559,1],[92558,1],[92557,1],[92556,1],[92555,1],[92554,1],[92553,1],[92552,1],[92551,1],[92550,1],[92549,1],[92548,1],[92547,1],[92546,1],[92545,1],[92544,1],[92543,1],[92542,1],[92541,1],[92540,1],[92539,1],[92538,1],[92537,1],[92536,1],[92535,1],[92534,1],[92533,1],[92532,1],[92531,1],[92530,1],[92529,1],[92528,1],[92527,1],[92526,1],[92525,1],[92524,1],[92523,1],[92522,1],[92521,1],[92520,1],[92519,1],[92518,1],[92517,1],[92516,1],[92515,1],[92514,1],[92513,1],[92512,1],[92511,1],[92510,1],[92509,1],[92508,1],[92507,1],[92506,1],[92505,1],[92504,1],[92503,1],[92502,1],[92501,1],[92500,1],[92499,1],[92498,1],[92497,1],[92496,1],[92495,1],[92494,1],[92493,1],[92492,1],[92491,1],[92490,1],[92489,1],[92488,1],[92487,1],[92486,1],[92485,1],[92484,1],[92483,1],[92482,1],[92481,1],[92480,1],[92479,1],[92478,1],[92477,1],[92476,1],[92475,1],[92474,1],[92473,1],[92472,1],[92471,1],[92470,1],[92469,1],[92468,1],[92467,1],[92466,1],[92465,1],[92464,1],[92463,1],[92462,1],[92461,1],[92460,1],[92459,1],[92458,1],[92457,1],[92456,1],[92455,1],[92454,1],[92453,1],[92452,1],[92451,1],[92450,1],[92449,1],[92448,1],[92447,1],[92446,1],[92445,1],[92444,1],[92443,1],[92442,1],[92441,1],[92440,1],[92439,1],[92438,1],[92437,1],[92436,1],[92435,1],[92434,1],[92433,1],[92432,1],[92431,1],[92430,1],[92429,1],[92428,1],[92427,1],[92426,1],[92425,1],[92424,1],[92423,1],[92422,1],[92421,1],[92420,1],[92419,1],[92418,1],[92417,1],[92416,1],[92415,1],[92414,1],[92413,1],[92412,1],[92411,1],[92410,1],[92409,1],[92408,1],[92407,1],[92406,1],[92405,1],[92404,1],[92403,1],[92402,1],[92401,1],[92400,1],[92399,1],[92398,1],[92397,1],[92396,1],[92395,1],[92394,1],[92393,1],[92392,1],[92391,1],[92390,1],[92389,1],[92388,1],[92387,1],[92386,1],[92385,1],[92384,1],[92383,1],[92382,1],[92381,1],[92380,1],[92379,1],[92378,1],[92377,1],[92376,1],[92375,1],[92374,1],[92373,1],[92372,1],[92371,1],[92370,1],[92369,1],[92368,1],[92367,1],[92366,1],[92365,1],[92364,1],[92363,1],[92362,1],[92361,1],[92360,1],[92359,1],[92358,1],[92357,1],[92356,1],[92355,1],[92354,1],[92353,1],[92352,1],[92351,1],[92350,1],[92349,1],[92348,1],[92347,1],[92346,1],[92345,1],[92344,1],[92343,1],[92342,1],[92341,1],[92340,1],[92339,1],[92338,1],[92337,1],[92336,1],[92335,1],[92334,1],[92333,1],[92332,1],[92331,1],[92330,1],[92329,1],[92328,1],[92327,1],[92326,1],[92325,1],[92324,1],[92323,1],[92322,1],[92321,1],[92320,1],[92319,1],[92318,1],[92317,1],[92316,1],[92315,1],[92314,1],[92313,1],[92312,1],[92311,1],[92310,1],[92309,1],[92308,1],[92307,1],[92306,1],[92305,1],[92304,1],[92303,1],[92302,1],[92301,1],[92300,1],[92299,1],[92298,1],[92297,1],[92296,1],[92295,1],[92294,1],[92293,1],[92292,1],[92291,1],[92290,1],[92289,1],[92288,1],[92287,1],[92286,1],[92285,1],[92284,1],[92283,1],[92282,1],[92281,1],[92280,1],[92279,1],[92278,1],[92277,1],[92276,1],[92275,1],[92274,1],[92273,1],[92272,1],[92271,1],[92270,1],[92269,1],[92268,1],[92267,1],[92266,1],[92265,1],[92264,1],[92263,1],[92262,1],[92261,1],[92260,1],[92259,1],[92258,1],[92257,1],[92256,1],[92255,1],[92254,1],[92253,1],[92252,1],[92251,1],[92250,1],[92249,1],[92248,1],[92247,1],[92246,1],[92245,1],[92244,1],[92243,1],[92242,1],[92241,1],[92240,1],[92239,1],[92238,1],[92237,1],[92236,1],[92235,1],[92234,1],[92233,1],[92232,1],[92231,1],[92230,1],[92229,1],[92228,1],[92227,1],[92226,1],[92225,1],[92224,1],[92223,1],[92222,1],[92221,1],[92220,1],[92219,1],[92218,1],[92217,1],[92216,1],[92215,1],[92214,1],[92213,1],[92212,1],[92211,1],[92210,1],[92209,1],[92208,1],[92207,1],[92206,1],[92205,1],[92204,1],[92203,1],[92202,1],[92201,1],[92200,1],[92199,1],[92198,1],[92197,1],[92196,1],[92195,1],[92194,1],[92193,1],[92192,1],[92191,1],[92190,1],[92189,1],[92188,1],[92187,1],[92186,1],[92185,1],[92184,1],[92183,1],[92182,1],[92181,1],[92180,1],[92179,1],[92178,1],[92177,1],[92176,1],[92175,1],[92174,1],[92173,1],[92172,1],[92171,1],[92170,1],[92169,1],[92168,1],[92167,1],[92166,1],[92165,1],[92164,1],[92163,1],[92162,1],[92161,1],[92160,1],[92159,1],[92158,1],[92157,1],[92156,1],[92155,1],[92154,1],[92153,1],[92152,1],[92151,1],[92150,1],[92149,1],[92148,1],[92147,1],[92146,1],[92145,1],[92144,1],[92143,1],[92142,1],[92141,1],[92140,1],[92139,1],[92138,1],[92137,1],[92136,1],[92135,1],[92134,1],[92133,1],[92132,1],[92131,1],[92130,1],[92129,1],[92128,1],[92127,1],[92126,1],[92125,1],[92124,1],[92123,1],[92122,1],[92121,1],[92120,1],[92119,1],[92118,1],[92117,1],[92116,1],[92115,1],[92114,1],[92113,1],[92112,1],[92111,1],[92110,1],[92109,1],[92108,1],[92107,1],[92106,1],[92105,1],[92104,1],[92103,1],[92102,1],[92101,1],[92100,1],[92099,1],[92098,1],[92097,1],[92096,1],[92095,1],[92094,1],[92093,1],[92092,1],[92091,1],[92090,1],[92089,1],[92088,1],[92087,1],[92086,1],[92085,1],[92084,1],[92083,1],[92082,1],[92081,1],[92080,1],[92079,1],[92078,1],[92077,1],[92076,1],[92075,1],[92074,1],[92073,1],[92072,1],[92071,1],[92070,1],[92069,1],[92068,1],[92067,1],[92066,1],[92065,1],[92064,1],[92063,1],[92062,1],[92061,1],[92060,1],[92059,1],[92058,1],[92057,1],[92056,1],[92055,1],[92054,1],[92053,1],[92052,1],[92051,1],[92050,1],[92049,1],[92048,1],[92047,1],[92046,1],[92045,1],[92044,1],[92043,1],[92042,1],[92041,1],[92040,1],[92039,1],[92038,1],[92037,1],[92036,1],[92035,1],[92034,1],[92033,1],[92032,1],[92031,1],[92030,1],[92029,1],[92028,1],[92027,1],[92026,1],[92025,1],[92024,1],[92023,1],[92022,1],[92021,1],[92020,1],[92019,1],[92018,1],[92017,1],[92016,1],[92015,1],[92014,1],[92013,1],[92012,1],[92011,1],[92010,1],[92009,1],[92008,1],[92007,1],[92006,1],[92005,1],[92004,1],[92003,1],[92002,1],[92001,1],[92000,1],[91999,1],[91998,1],[91997,1],[91996,1],[91995,1],[91994,1],[91993,1],[91992,1],[91991,1],[91990,1],[91989,1],[91988,1],[91987,1],[91986,1],[91985,1],[91984,1],[91983,1],[91982,1],[91981,1],[91980,1],[91979,1],[91978,1],[91977,1],[91976,1],[91975,1],[91974,1],[91973,1],[91972,1],[91971,1],[91970,1],[91969,1],[91968,1],[91967,1],[91966,1],[91965,1],[91964,1],[91963,1],[91962,1],[91961,1],[91960,1],[91959,1],[91958,1],[91957,1],[91956,1],[91955,1],[91954,1],[91953,1],[91952,1],[91951,1],[91950,1],[91949,1],[91948,1],[91947,1],[91946,1],[91945,1],[91944,1],[91943,1],[91942,1],[91941,1],[91940,1],[91939,1],[91938,1],[91937,1],[91936,1],[91935,1],[91934,1],[91933,1],[91932,1],[91931,1],[91930,1],[91929,1],[91928,1],[91927,1],[91926,1],[91925,1],[91924,1],[91923,1],[91922,1],[91921,1],[91920,1],[91919,1],[91918,1],[91917,1],[91916,1],[91915,1],[91914,1],[91913,1],[91912,1],[91911,1],[91910,1],[91909,1],[91908,1],[91907,1],[91906,1],[91905,1],[91904,1],[91903,1],[91902,1],[91901,1],[91900,1],[91899,1],[91898,1],[91897,1],[91896,1],[91895,1],[91894,1],[91893,1],[91892,1],[91891,1],[91890,1],[91889,1],[91888,1],[91887,1],[91886,1],[91885,1],[91884,1],[91883,1],[91882,1],[91881,1],[91880,1],[91879,1],[91878,1],[91877,1],[91876,1],[91875,1],[91874,1],[91873,1],[91872,1],[91871,1],[91870,1],[91869,1],[91868,1],[91867,1],[91866,1],[91865,1],[91864,1],[91863,1],[91862,1],[91861,1],[91860,1],[91859,1],[91858,1],[91857,1],[91856,1],[91855,1],[91854,1],[91853,1],[91852,1],[91851,1],[91850,1],[91849,1],[91848,1],[91847,1],[91846,1],[91845,1],[91844,1],[91843,1],[91842,1],[91841,1],[91840,1],[91839,1],[91838,1],[91837,1],[91836,1],[91835,1],[91834,1],[91833,1],[91832,1],[91831,1],[91830,1],[91829,1],[91828,1],[91827,1],[91826,1],[91825,1],[91824,1],[91823,1],[91822,1],[91821,1],[91820,1],[91819,1],[91818,1],[91817,1],[91816,1],[91815,1],[91814,1],[91813,1],[91812,1],[91811,1],[91810,1],[91809,1],[91808,1],[91807,1],[91806,1],[91805,1],[91804,1],[91803,1],[91802,1],[91801,1],[91800,1],[91799,1],[91798,1],[91797,1],[91796,1],[91795,1],[91794,1],[91793,1],[91792,1],[91791,1],[91790,1],[91789,1],[91788,1],[91787,1],[91786,1],[91785,1],[91784,1],[91783,1],[91782,1],[91781,1],[91780,1],[91779,1],[91778,1],[91777,1],[91776,1],[91775,1],[91774,1],[91773,1],[91772,1],[91771,1],[91770,1],[91769,1],[91768,1],[91767,1],[91766,1],[91765,1],[91764,1],[91763,1],[91762,1],[91761,1],[91760,1],[91759,1],[91758,1],[91757,1],[91756,1],[91755,1],[91754,1],[91753,1],[91752,1],[91751,1],[91750,1],[91749,1],[91748,1],[91747,1],[91746,1],[91745,1],[91744,1],[91743,1],[91742,1],[91741,1],[91740,1],[91739,1],[91738,1],[91737,1],[91736,1],[91735,1],[91734,1],[91733,1],[91732,1],[91731,1],[91730,1],[91729,1],[91728,1],[91727,1],[91726,1],[91725,1],[91724,1],[91723,1],[91722,1],[91721,1],[91720,1],[91719,1],[91718,1],[91717,1],[91716,1],[91715,1],[91714,1],[91713,1],[91712,1],[91711,1],[91710,1],[91709,1],[91708,1],[91707,1],[91706,1],[91705,1],[91704,1],[91703,1],[91702,1],[91701,1],[91700,1],[91699,1],[91698,1],[91697,1],[91696,1],[91695,1],[91694,1],[91693,1],[91692,1],[91691,1],[91690,1],[91689,1],[91688,1],[91687,1],[91686,1],[91685,1],[91684,1],[91683,1],[91682,1],[91681,1],[91680,1],[91679,1],[91678,1],[91677,1],[91676,1],[91675,1],[91674,1],[91673,1],[91672,1],[91671,1],[91670,1],[91669,1],[91668,1],[91667,1],[91666,1],[91665,1],[91664,1],[91663,1],[91662,1],[91661,1],[91660,1],[91659,1],[91658,1],[91657,1],[91656,1],[91655,1],[91654,1],[91653,1],[91652,1],[91651,1],[91650,1],[91649,1],[91648,1],[91647,1],[91646,1],[91645,1],[91644,1],[91643,1],[91642,1],[91641,1],[91640,1],[91639,1],[91638,1],[91637,1],[91636,1],[91635,1],[91634,1],[91633,1],[91632,1],[91631,1],[91630,1],[91629,1],[91628,1],[91627,1],[91626,1],[91625,1],[91624,1],[91623,1],[91622,1],[91621,1],[91620,1],[91619,1],[91618,1],[91617,1],[91616,1],[91615,1],[91614,1],[91613,1],[91612,1],[91611,1],[91610,1],[91609,1],[91608,1],[91607,1],[91606,1],[91605,1],[91604,1],[91603,1],[91602,1],[91601,1],[91600,1],[91599,1],[91598,1],[91597,1],[91596,1],[91595,1],[91594,1],[91593,1],[91592,1],[91591,1],[91590,1],[91589,1],[91588,1],[91587,1],[91586,1],[91585,1],[91584,1],[91583,1],[91582,1],[91581,1],[91580,1],[91579,1],[91578,1],[91577,1],[91576,1],[91575,1],[91574,1],[91573,1],[91572,1],[91571,1],[91570,1],[91569,1],[91568,1],[91567,1],[91566,1],[91565,1],[91564,1],[91563,1],[91562,1],[91561,1],[91560,1],[91559,1],[91558,1],[91557,1],[91556,1],[91555,1],[91554,1],[91553,1],[91552,1],[91551,1],[91550,1],[91549,1],[91548,1],[91547,1],[91546,1],[91545,1],[91544,1],[91543,1],[91542,1],[91541,1],[91540,1],[91539,1],[91538,1],[91537,1],[91536,1],[91535,1],[91534,1],[91533,1],[91532,1],[91531,1],[91530,1],[91529,1],[91528,1],[91527,1],[91526,1],[91525,1],[91524,1],[91523,1],[91522,1],[91521,1],[91520,1],[91519,1],[91518,1],[91517,1],[91516,1],[91515,1],[91514,1],[91513,1],[91512,1],[91511,1],[91510,1],[91509,1],[91508,1],[91507,1],[91506,1],[91505,1],[91504,1],[91503,1],[91502,1],[91501,1],[91500,1],[91499,1],[91498,1],[91497,1],[91496,1],[91495,1],[91494,1],[91493,1],[91492,1],[91491,1],[91490,1],[91489,1],[91488,1],[91487,1],[91486,1],[91485,1],[91484,1],[91483,1],[91482,1],[91481,1],[91480,1],[91479,1],[91478,1],[91477,1],[91476,1],[91475,1],[91474,1],[91473,1],[91472,1],[91471,1],[91470,1],[91469,1],[91468,1],[91467,1],[91466,1],[91465,1],[91464,1],[91463,1],[91462,1],[91461,1],[91460,1],[91459,1],[91458,1],[91457,1],[91456,1],[91455,1],[91454,1],[91453,1],[91452,1],[91451,1],[91450,1],[91449,1],[91448,1],[91447,1],[91446,1],[91445,1],[91444,1],[91443,1],[91442,1],[91441,1],[91440,1],[91439,1],[91438,1],[91437,1],[91436,1],[91435,1],[91434,1],[91433,1],[91432,1],[91431,1],[91430,1],[91429,1],[91428,1],[91427,1],[91426,1],[91425,1],[91424,1],[91423,1],[91422,1],[91421,1],[91420,1],[91419,1],[91418,1],[91417,1],[91416,1],[91415,1],[91414,1],[91413,1],[91412,1],[91411,1],[91410,1],[91409,1],[91408,1],[91407,1],[91406,1],[91405,1],[91404,1],[91403,1],[91402,1],[91401,1],[91400,1],[91399,1],[91398,1],[91397,1],[91396,1],[91395,1],[91394,1],[91393,1],[91392,1],[91391,1],[91390,1],[91389,1],[91388,1],[91387,1],[91386,1],[91385,1],[91384,1],[91383,1],[91382,1],[91381,1],[91380,1],[91379,1],[91378,1],[91377,1],[91376,1],[91375,1],[91374,1],[91373,1],[91372,1],[91371,1],[91370,1],[91369,1],[91368,1],[91367,1],[91366,1],[91365,1],[91364,1],[91363,1],[91362,1],[91361,1],[91360,1],[91359,1],[91358,1],[91357,1],[91356,1],[91355,1],[91354,1],[91353,1],[91352,1],[91351,1],[91350,1],[91349,1],[91348,1],[91347,1],[91346,1],[91345,1],[91344,1],[91343,1],[91342,1],[91341,1],[91340,1],[91339,1],[91338,1],[91337,1],[91336,1],[91335,1],[91334,1],[91333,1],[91332,1],[91331,1],[91330,1],[91329,1],[91328,1],[91327,1],[91326,1],[91325,1],[91324,1],[91323,1],[91322,1],[91321,1],[91320,1],[91319,1],[91318,1],[91317,1],[91316,1],[91315,1],[91314,1],[91313,1],[91312,1],[91311,1],[91310,1],[91309,1],[91308,1],[91307,1],[91306,1],[91305,1],[91304,1],[91303,1],[91302,1],[91301,1],[91300,1],[91299,1],[91298,1],[91297,1],[91296,1],[91295,1],[91294,1],[91293,1],[91292,1],[91291,1],[91290,1],[91289,1],[91288,1],[91287,1],[91286,1],[91285,1],[91284,1],[91283,1],[91282,1],[91281,1],[91280,1],[91279,1],[91278,1],[91277,1],[91276,1],[91275,1],[91274,1],[91273,1],[91272,1],[91271,1],[91270,1],[91269,1],[91268,1],[91267,1],[91266,1],[91265,1],[91264,1],[91263,1],[91262,1],[91261,1],[91260,1],[91259,1],[91258,1],[91257,1],[91256,1],[91255,1],[91254,1],[91253,1],[91252,1],[91251,1],[91250,1],[91249,1],[91248,1],[91247,1],[91246,1],[91245,1],[91244,1],[91243,1],[91242,1],[91241,1],[91240,1],[91239,1],[91238,1],[91237,1],[91236,1],[91235,1],[91234,1],[91233,1],[91232,1],[91231,1],[91230,1],[91229,1],[91228,1],[91227,1],[91226,1],[91225,1],[91224,1],[91223,1],[91222,1],[91221,1],[91220,1],[91219,1],[91218,1],[91217,1],[91216,1],[91215,1],[91214,1],[91213,1],[91212,1],[91211,1],[91210,1],[91209,1],[91208,1],[91207,1],[91206,1],[91205,1],[91204,1],[91203,1],[91202,1],[91201,1],[91200,1],[91199,1],[91198,1],[91197,1],[91196,1],[91195,1],[91194,1],[91193,1],[91192,1],[91191,1],[91190,1],[91189,1],[91188,1],[91187,1],[91186,1],[91185,1],[91184,1],[91183,1],[91182,1],[91181,1],[91180,1],[91179,1],[91178,1],[91177,1],[91176,1],[91175,1],[91174,1],[91173,1],[91172,1],[91171,1],[91170,1],[91169,1],[91168,1],[91167,1],[91166,1],[91165,1],[91164,1],[91163,1],[91162,1],[91161,1],[91160,1],[91159,1],[91158,1],[91157,1],[91156,1],[91155,1],[91154,1],[91153,1],[91152,1],[91151,1],[91150,1],[91149,1],[91148,1],[91147,1],[91146,1],[91145,1],[91144,1],[91143,1],[91142,1],[91141,1],[91140,1],[91139,1],[91138,1],[91137,1],[91136,1],[91135,1],[91134,1],[91133,1],[91132,1],[91131,1],[91130,1],[91129,1],[91128,1],[91127,1],[91126,1],[91125,1],[91124,1],[91123,1],[91122,1],[91121,1],[91120,1],[91119,1],[91118,1],[91117,1],[91116,1],[91115,1],[91114,1],[91113,1],[91112,1],[91111,1],[91110,1],[91109,1],[91108,1],[91107,1],[91106,1],[91105,1],[91104,1],[91103,1],[91102,1],[91101,1],[91100,1],[91099,1],[91098,1],[91097,1],[91096,1],[91095,1],[91094,1],[91093,1],[91092,1],[91091,1],[91090,1],[91089,1],[91088,1],[91087,1],[91086,1],[91085,1],[91084,1],[91083,1],[91082,1],[91081,1],[91080,1],[91079,1],[91078,1],[91077,1],[91076,1],[91075,1],[91074,1],[91073,1],[91072,1],[91071,1],[91070,1],[91069,1],[91068,1],[91067,1],[91066,1],[91065,1],[91064,1],[91063,1],[91062,1],[91061,1],[91060,1],[91059,1],[91058,1],[91057,1],[91056,1],[91055,1],[91054,1],[91053,1],[91052,1],[91051,1],[91050,1],[91049,1],[91048,1],[91047,1],[91046,1],[91045,1],[91044,1],[91043,1],[91042,1],[91041,1],[91040,1],[91039,1],[91038,1],[91037,1],[91036,1],[91035,1],[91034,1],[91033,1],[91032,1],[91031,1],[91030,1],[91029,1],[91028,1],[91027,1],[91026,1],[91025,1],[91024,1],[91023,1],[91022,1],[91021,1],[91020,1],[91019,1],[91018,1],[91017,1],[91016,1],[91015,1],[91014,1],[91013,1],[91012,1],[91011,1],[91010,1],[91009,1],[91008,1],[91007,1],[91006,1],[91005,1],[91004,1],[91003,1],[91002,1],[91001,1],[91000,1],[90999,1],[90998,1],[90997,1],[90996,1],[90995,1],[90994,1],[90993,1],[90992,1],[90991,1],[90990,1],[90989,1],[90988,1],[90987,1],[90986,1],[90985,1],[90984,1],[90983,1],[90982,1],[90981,1],[90980,1],[90979,1],[90978,1],[90977,1],[90976,1],[90975,1],[90974,1],[90973,1],[90972,1],[90971,1],[90970,1],[90969,1],[90968,1],[90967,1],[90966,1],[90965,1],[90964,1],[90963,1],[90962,1],[90961,1],[90960,1],[90959,1],[90958,1],[90957,1],[90956,1],[90955,1],[90954,1],[90953,1],[90952,1],[90951,1],[90950,1],[90949,1],[90948,1],[90947,1],[90946,1],[90945,1],[90944,1],[90943,1],[90942,1],[90941,1],[90940,1],[90939,1],[90938,1],[90937,1],[90936,1],[90935,1],[90934,1],[90933,1],[90932,1],[90931,1],[90930,1],[90929,1],[90928,1],[90927,1],[90926,1],[90925,1],[90924,1],[90923,1],[90922,1],[90921,1],[90920,1],[90919,1],[90918,1],[90917,1],[90916,1],[90915,1],[90914,1],[90913,1],[90912,1],[90911,1],[90910,1],[90909,1],[90908,1],[90907,1],[90906,1],[90905,1],[90904,1],[90903,1],[90902,1],[90901,1],[90900,1],[90899,1],[90898,1],[90897,1],[90896,1],[90895,1],[90894,1],[90893,1],[90892,1],[90891,1],[90890,1],[90889,1],[90888,1],[90887,1],[90886,1],[90885,1],[90884,1],[90883,1],[90882,1],[90881,1],[90880,1],[90879,1],[90878,1],[90877,1],[90876,1],[90875,1],[90874,1],[90873,1],[90872,1],[90871,1],[90870,1],[90869,1],[90868,1],[90867,1],[90866,1],[90865,1],[90864,1],[90863,1],[90862,1],[90861,1],[90860,1],[90859,1],[90858,1],[90857,1],[90856,1],[90855,1],[90854,1],[90853,1],[90852,1],[90851,1],[90850,1],[90849,1],[90848,1],[90847,1],[90846,1],[90845,1],[90844,1],[90843,1],[90842,1],[90841,1],[90840,1],[90839,1],[90838,1],[90837,1],[90836,1],[90835,1],[90834,1],[90833,1],[90832,1],[90831,1],[90830,1],[90829,1],[90828,1],[90827,1],[90826,1],[90825,1],[90824,1],[90823,1],[90822,1],[90821,1],[90820,1],[90819,1],[90818,1],[90817,1],[90816,1],[90815,1],[90814,1],[90813,1],[90812,1],[90811,1],[90810,1],[90809,1],[90808,1],[90807,1],[90806,1],[90805,1],[90804,1],[90803,1],[90802,1],[90801,1],[90800,1],[90799,1],[90798,1],[90797,1],[90796,1],[90795,1],[90794,1],[90793,1],[90792,1],[90791,1],[90790,1],[90789,1],[90788,1],[90787,1],[90786,1],[90785,1],[90784,1],[90783,1],[90782,1],[90781,1],[90780,1],[90779,1],[90778,1],[90777,1],[90776,1],[90775,1],[90774,1],[90773,1],[90772,1],[90771,1],[90770,1],[90769,1],[90768,1],[90767,1],[90766,1],[90765,1],[90764,1],[90763,1],[90762,1],[90761,1],[90760,1],[90759,1],[90758,1],[90757,1],[90756,1],[90755,1],[90754,1],[90753,1],[90752,1],[90751,1],[90750,1],[90749,1],[90748,1],[90747,1],[90746,1],[90745,1],[90744,1],[90743,1],[90742,1],[90741,1],[90740,1],[90739,1],[90738,1],[90737,1],[90736,1],[90735,1],[90734,1],[90733,1],[90732,1],[90731,1],[90730,1],[90729,1],[90728,1],[90727,1],[90726,1],[90725,1],[90724,1],[90723,1],[90722,1],[90721,1],[90720,1],[90719,1],[90718,1],[90717,1],[90716,1],[90715,1],[90714,1],[90713,1],[90712,1],[90711,1],[90710,1],[90709,1],[90708,1],[90707,1],[90706,1],[90705,1],[90704,1],[90703,1],[90702,1],[90701,1],[90700,1],[90699,1],[90698,1],[90697,1],[90696,1],[90695,1],[90694,1],[90693,1],[90692,1],[90691,1],[90690,1],[90689,1],[90688,1],[90687,1],[90686,1],[90685,1],[90684,1],[90683,1],[90682,1],[90681,1],[90680,1],[90679,1],[90678,1],[90677,1],[90676,1],[90675,1],[90674,1],[90673,1],[90672,1],[90671,1],[90670,1],[90669,1],[90668,1],[90667,1],[90666,1],[90665,1],[90664,1],[90663,1],[90662,1],[90661,1],[90660,1],[90659,1],[90658,1],[90657,1],[90656,1],[90655,1],[90654,1],[90653,1],[90652,1],[90651,1],[90650,1],[90649,1],[90648,1],[90647,1],[90646,1],[90645,1],[90644,1],[90643,1],[90642,1],[90641,1],[90640,1],[90639,1],[90638,1],[90637,1],[90636,1],[90635,1],[90634,1],[90633,1],[90632,1],[90631,1],[90630,1],[90629,1],[90628,1],[90627,1],[90626,1],[90625,1],[90624,1],[90623,1],[90622,1],[90621,1],[90620,1],[90619,1],[90618,1],[90617,1],[90616,1],[90615,1],[90614,1],[90613,1],[90612,1],[90611,1],[90610,1],[90609,1],[90608,1],[90607,1],[90606,1],[90605,1],[90604,1],[90603,1],[90602,1],[90601,1],[90600,1],[90599,1],[90598,1],[90597,1],[90596,1],[90595,1],[90594,1],[90593,1],[90592,1],[90591,1],[90590,1],[90589,1],[90588,1],[90587,1],[90586,1],[90585,1],[90584,1],[90583,1],[90582,1],[90581,1],[90580,1],[90579,1],[90578,1],[90577,1],[90576,1],[90575,1],[90574,1],[90573,1],[90572,1],[90571,1],[90570,1],[90569,1],[90568,1],[90567,1],[90566,1],[90565,1],[90564,1],[90563,1],[90562,1],[90561,1],[90560,1],[90559,1],[90558,1],[90557,1],[90556,1],[90555,1],[90554,1],[90553,1],[90552,1],[90551,1],[90550,1],[90549,1],[90548,1],[90547,1],[90546,1],[90545,1],[90544,1],[90543,1],[90542,1],[90541,1],[90540,1],[90539,1],[90538,1],[90537,1],[90536,1],[90535,1],[90534,1],[90533,1],[90532,1],[90531,1],[90530,1],[90529,1],[90528,1],[90527,1],[90526,1],[90525,1],[90524,1],[90523,1],[90522,1],[90521,1],[90520,1],[90519,1],[90518,1],[90517,1],[90516,1],[90515,1],[90514,1],[90513,1],[90512,1],[90511,1],[90510,1],[90509,1],[90508,1],[90507,1],[90506,1],[90505,1],[90504,1],[90503,1],[90502,1],[90501,1],[90500,1],[90499,1],[90498,1],[90497,1],[90496,1],[90495,1],[90494,1],[90493,1],[90492,1],[90491,1],[90490,1],[90489,1],[90488,1],[90487,1],[90486,1],[90485,1],[90484,1],[90483,1],[90482,1],[90481,1],[90480,1],[90479,1],[90478,1],[90477,1],[90476,1],[90475,1],[90474,1],[90473,1],[90472,1],[90471,1],[90470,1],[90469,1],[90468,1],[90467,1],[90466,1],[90465,1],[90464,1],[90463,1],[88131,0,"\n"],[88132,0,"\n"],[88133,0,"\\"],[88134,0,"b"],[88135,0,"e"],[88136,0,"g"],[88137,0,"i"],[88138,0,"n"],[88139,0,"{"],[88140,0,"p"],[88141,0,"r"],[88142,0,"o"],[88143,0,"o"],[88144,0,"f"],[88145,0,"}"],[88146,0,"\n"],[88147,0,"\\"],[88148,0,"e"],[88149,0,"n"],[88150,0,"d"],[88151,0,"{"],[88152,0,"p"],[88153,0,"r"],[88154,0,"o"],[88155,0,"o"],[88156,0,"f"],[88157,0,"}"],[88146,0,"\n"],[88147,0,"T"],[88148,0,"h"],[88149,0,"e"],[88150,0," "],[88151,0,"r"],[88152,0,"u"],[88153,0,"l"],[88154,0,"e"],[88155,0,"s"],[88156,0," "],[88157,0,"i"],[88158,0,"n"],[88159,0," "],[88160,0,"F"],[88161,0,"i"],[88162,0,"g"],[88163,0,"u"],[88164,0,"r"],[88165,0,"e"],[88166,0,"~"],[88167,0,"\\"],[88168,0,"r"],[88169,0,"e"],[88170,0,"f"],[88171,0,"{"],[88172,0,"f"],[88173,0,"i"],[88174,0,"g"],[88175,0,":"],[88176,0,"c"],[88177,0,"l"],[88178,0,"e"],[88179,0,"a"],[88180,0,"r"],[88181,0,"_"],[88181,1],[88181,0,"-"],[88182,0,"r"],[88183,0,"u"],[88184,0,"o"],[88185,0,"e"],[88186,0,"s"],[88186,1],[88185,1],[88184,1],[88184,0,"l"],[88185,0,"e"],[88186,0,"s"],[88187,0,"}"],[88188,0," "],[88189,0,"d"],[88190,0,"e"],[88191,0,"f"],[88192,0,"i"],[88193,0,"n"],[88194,0,"e"],[88195,0," "],[88196,0,"h"],[88197,0,"o"],[88198,0,"w"],[88199,0," "],[88200,0,"a"],[88201,0," "],[88202,0,"d"],[88203,0,"e"],[88204,0,"l"],[88205,0,"e"],[88206,0,"t"],[88207,0,"i"],[88208,0,"o"],[88209,0,"n"],[88210,0," "],[88211,0,"o"],[88212,0,"p"],[88213,0,"e"],[88214,0,"r"],[88215,0,"a"],[88216,0,"t"],[88217,0,"i"],[88218,0,"o"],[88219,0,"n"],[88220,0," "],[88221,0,"i"],[88222,0,"s"],[88223,0," "],[88224,0,"a"],[88225,0,"p"],[88226,0,"p"],[88227,0,"l"],[88228,0,"i"],[88229,0,"e"],[88230,0,"d"],[88231,0,":"],[88232,0," "],[88233,0,"s"],[88234,0,"t"],[88235,0,"a"],[88236,0,"r"],[88237,0,"t"],[88238,0,"i"],[88239,0,"n"],[88240,0,"g"],[88241,0," "],[88242,0,"a"],[88243,0,"t"],[88244,0," "],[88245,0,"t"],[88246,0,"h"],[88247,0,"e"],[88248,0," "],[88249,0,"c"],[88250,0,"u"],[88251,0,"r"],[88252,0,"s"],[88253,0,"o"],[88254,0,"r"],[88255,0," "],[88256,0,"p"],[88257,0,"o"],[88258,0,"s"],[88259,0,"i"],[88260,0,"t"],[88261,0,"i"],[88262,0,"o"],[88263,0,"n"],[88264,0," "],[88265,0,"i"],[88266,0,"d"],[88267,0,"e"],[88268,0,"n"],[88269,0,"t"],[88270,0,"i"],[88271,0,"f"],[88272,0,"i"],[88273,0,"e"],[88274,0,"d"],[88275,0," "],[88276,0,"i"],[88277,0,"n"],[88278,0," "],[88278,1],[88277,1],[88276,1],[88275,1],[88274,1],[88273,1],[88272,1],[88271,1],[88270,1],[88269,1],[88268,1],[88267,1],[88266,1],[88265,1],[88264,1],[88263,1],[88262,1],[88261,1],[88260,1],[88259,1],[88258,1],[88257,1],[88256,1],[88256,0,"i"],[88257,0,"n"],[88258,0," "],[88259,0,"t"],[88260,0,"h"],[88261,0,"e"],[88262,0," "],[88263,0,"o"],[88264,0,"p"],[88265,0,"e"],[88266,0,"r"],[88267,0,"a"],[88268,0,"t"],[88269,0,"i"],[88270,0,"o"],[88271,0,"n"],[88272,0,","],[88273,0," "],[88274,0,"t"],[88275,0,"h"],[88276,0,"e"],[88277,0,"y"],[88278,0," "],[88279,0,"r"],[88280,0,"e"],[88281,0,"c"],[88282,0,"u"],[88283,0,"r"],[88284,0,"s"],[88285,0,"i"],[88286,0,"v"],[88287,0,"e"],[88288,0,"l"],[88289,0,"y"],[88290,0," "],[88291,0,"d"],[88292,0,"e"],[88293,0,"s"],[88294,0,"c"],[88295,0,"e"],[88296,0,"n"],[88297,0,"d"],[88298,0," "],[88299,0,"t"],[88300,0,"h"],[88301,0,"e"],[88302,0," "],[88303,0,"t"],[88304,0,"r"],[88305,0,"e"],[88306,0,"e"],[88220,0," "],[88221,0,"$"],[88222,0,"o"],[88223,0,"_"],[88224,0,"\\"],[88225,0,"m"],[88226,0,"a"],[88227,0,"t"],[88228,0,"h"],[88229,0,"r"],[88230,0,"m"],[88231,0,"{"],[88232,0,"d"],[88233,0,"e"],[88234,0,"l"],[88235,0,"}"],[88236,0,"$"],[88324,0,","],[88325,0," "],[88326,0,"r"],[88327,0,"e"],[88328,0,"m"],[88329,0,"o"],[88330,0,"v"],[88331,0,"i"],[88332,0,"n"],[88333,0,"g"],[88334,0," "],[88335,0,"$"],[88336,0,"o"],[88337,0,"_"],[88338,0,"\\"],[88339,0,"m"],[88340,0,"a"],[88341,0,"t"],[88342,0,"h"],[88343,0,"r"],[88344,0,"m"],[88345,0,"{"],[88346,0,"d"],[88347,0,"e"],[88348,0,"l"],[88349,0,"}"],[88350,0,"."],[88351,0,"\\"],[88352,0,"m"],[88353,0,"a"],[88354,0,"t"],[88355,0,"h"],[88356,0,"i"],[88357,0,"t"],[88358,0,"{"],[88359,0,"d"],[88360,0,"e"],[88361,0,"p"],[88362,0,"s"],[88363,0,"}"],[88364,0,"$"],[88365,0," "],[88366,0,"f"],[88367,0,"r"],[88368,0,"o"],[88369,0,"m"],[88370,0," "],[88320,0,"s"],[88321,0,"u"],[88322,0,"b"],[88374,0,"a"],[88375,0,"l"],[88376,0,"l"],[88377,0," "],[88378,0,"b"],[88379,0,"r"],[88380,0,"a"],[88381,0,"n"],[88373,0," "],[88374,0,"t"],[88375,0,"h"],[88376,0,"e"],[88377,0," "],[88378,0,"p"],[88379,0,"r"],[88380,0,"e"],[88381,0,"s"],[88382,0,"e"],[88383,0,"n"],[88384,0,"c"],[88385,0,"e"],[88386,0," "],[88387,0,"s"],[88388,0,"e"],[88389,0,"t"],[88390,0," "],[88391,0,"$"],[88392,0,"\\"],[88393,0,"m"],[88394,0,"a"],[88395,0,"t"],[88396,0,"h"],[88397,0,"s"],[88398,0,"f"],[88399,0,"{"],[88400,0,"p"],[88401,0,"r"],[88402,0,"e"],[88403,0,"s"],[88404,0,"}"],[88405,0,"("],[88406,0,"k"],[88407,0,")"],[88408,0,"$"],[88409,0," "],[88410,0,"a"],[88411,0,"t"],[88421,0,"c"],[88422,0,"h"],[88423,0," "],[88424,0,"n"],[88425,0,"o"],[88426,0,"d"],[88427,0,"e"],[88428,0,"s"],[88429,0," "],[88430,0,"i"],[88431,0,"n"],[88432,0," "],[88433,0,"t"],[88434,0,"h"],[88435,0,"e"],[88436,0," "],[88437,0,"s"],[88438,0,"u"],[88439,0,"b"],[88440,0,"t"],[88441,0,"r"],[88442,0,"e"],[88443,0,"e"],[88014,1],[88013,1],[88012,1],[88011,1],[88010,1],[88009,1],[88008,1],[88007,1],[88006,1],[88005,1],[88004,1],[88003,1],[88002,1],[88001,1],[88000,1],[87999,1],[87998,1],[87997,1],[87996,1],[87995,1],[87994,1],[87993,1],[87992,1],[87991,1],[87990,1],[87989,1],[87988,1],[87987,1],[87986,1],[87985,1],[87984,1],[87983,1],[87982,1],[87981,1],[87980,1],[87979,1],[87978,1],[87977,1],[87976,1],[87975,1],[87974,1],[87973,1],[87972,1],[87971,1],[87970,1],[87969,1],[87968,1],[87967,1],[87966,1],[87965,1],[87964,1],[87963,1],[87962,1],[87961,1],[87960,1],[87959,1],[87958,1],[87957,1],[87956,1],[87955,1],[87954,1],[87953,1],[87952,1],[88381,0,","],[88382,0," "],[88383,0,"a"],[88384,0,"n"],[88385,0,"d"],[88386,0," "],[88387,0,"u"],[88388,0,"p"],[88389,0,"d"],[88390,0,"a"],[88391,0,"t"],[88392,0,"i"],[88393,0,"n"],[88394,0,"g"],[88395,0," "],[88396,0,"a"],[88397,0,"l"],[88398,0,"l"],[88399,0," "],[88400,0,"r"],[88401,0,"e"],[88402,0,"g"],[88403,0,"i"],[88404,0,"s"],[88405,0,"t"],[88406,0,"e"],[88407,0,"r"],[88408,0,"s"],[88409,0," "],[88410,0,"t"],[88411,0,"o"],[88412,0," "],[88413,0,"r"],[88414,0,"e"],[88415,0,"m"],[88416,0,"o"],[88417,0,"v"],[88418,0,"e"],[88419,0," "],[88420,0,"a"],[88421,0,"n"],[88422,0,"y"],[88423,0," "],[88424,0,"v"],[88425,0,"a"],[88426,0,"l"],[88427,0,"u"],[88428,0,"e"],[88429,0,"s"],[88430,0," "],[88431,0,"w"],[88432,0,"r"],[88433,0,"i"],[88434,0,"t"],[88435,0,"t"],[88436,0,"e"],[88437,0,"n"],[88438,0," "],[88439,0,"b"],[88440,0,"y"],[88441,0," "],[88442,0,"o"],[88443,0,"p"],[88444,0,"e"],[88445,0,"r"],[88446,0,"a"],[88447,0,"t"],[88448,0,"i"],[88449,0,"o"],[88450,0,"n"],[88451,0,"s"],[88452,0," "],[88453,0,"i"],[88454,0,"n"],[88455,0," "],[88456,0,"$"],[88457,0,"o"],[88458,0,"_"],[88459,0,"\\"],[88460,0,"m"],[88461,0,"a"],[88462,0,"t"],[88463,0,"h"],[88464,0,"r"],[88465,0,"m"],[88466,0,"{"],[88467,0,"d"],[88468,0,"e"],[88469,0,"l"],[88470,0,"}"],[88471,0,"."],[88472,0,"\\"],[88473,0,"m"],[88474,0,"a"],[88475,0,"t"],[88476,0,"h"],[88477,0,"i"],[88478,0,"t"],[88479,0,"{"],[88480,0,"d"],[88481,0,"e"],[88482,0,"p"],[88483,0,"s"],[88484,0,"}"],[88485,0,"$"],[88486,0,"."],[53419,0,","],[53420,0," "],[53421,0,"\\"],[53422,0,"m"],[53423,0,"a"],[53424,0,"t"],[53425,0,"h"],[53426,0,"i"],[53427,0,"t"],[53428,0,"{"],[53429,0,"m"],[53430,0,"u"],[53431,0,"t"],[53432,0,"}"],[54999,1],[54998,1],[54997,1],[54996,1],[54995,1],[54994,1],[54993,1],[54992,1],[54991,1],[54991,0,"c"],[54992,0,"e"],[54993,0,"n"],[54994,0,"t"],[54995,0,"e"],[54996,0,"r"],[55369,1],[55368,1],[55367,1],[55366,1],[55365,1],[55364,1],[55363,1],[55362,1],[55361,1],[55361,0,"c"],[55362,0,"e"],[55363,0,"n"],[55364,0,"t"],[55365,0,"e"],[55366,0,"r"],[55355,0,"\n"],[55356,0,"\\"],[55357,0,"D"],[55358,0,"i"],[55359,0,"s"],[55360,0,"p"],[55361,0,"l"],[55362,0,"a"],[55363,0,"u"],[55364,0,"y"],[55364,1],[55363,1],[55363,0,"y"],[55364,0,"P"],[55365,0,"r"],[55366,0,"o"],[55367,0,"o"],[55368,0,"f"],[55369,0,"\\"],[55370,0,"h"],[55371,0,"s"],[55372,0,"p"],[55373,0,"a"],[55374,0,"c"],[55375,0,"e"],[55376,0,"{"],[55377,0,"3"],[55378,0,"e"],[55379,0,"m"],[55380,0,"}"],[55381,0,"\n"],[55382,0,"%"],[55383,0,"\n"],[55252,0,","],[55253,0," "],[55254,0,"\\"],[55255,0,"m"],[55256,0,"a"],[55257,0,"t"],[55258,0,"h"],[55259,0,"i"],[55260,0,"t"],[55261,0,"{"],[55262,0,"m"],[55263,0,"u"],[55264,0,"t"],[55265,0,"}"],[55182,1],[55182,0,"T"],[55183,0,"r"],[54998,0,"\n"],[54999,0,"\\"],[55000,0,"A"],[55001,0,"x"],[55002,0,"i"],[55003,0,"o"],[55004,0,"m"],[55005,0,"C"],[55006,0,"{"],[55007,0,"$"],[55008,0,"\\"],[55009,0,"m"],[55010,0,"a"],[55011,0,"t"],[55012,0,"h"],[55013,0,"i"],[55014,0,"t"],[55015,0,"{"],[55016,0,"m"],[55017,0,"u"],[55018,0,"t"],[55019,0,"}"],[55020,0," "],[55021,0,"\\"],[55022,0,"n"],[55023,0,"o"],[55024,0,"t"],[55025,0,"="],[55026,0," "],[55027,0,"\\"],[55028,0,"m"],[55029,0,"a"],[55030,0,"t"],[55031,0,"h"],[55032,0,"s"],[55033,0,"f"],[55034,0,"{"],[55035,0,"d"],[55036,0,"e"],[55037,0,"l"],[55038,0,"e"],[55039,0,"t"],[55040,0,"e"],[55041,0,"}"],[55042,0,"$"],[55043,0,"}"],[55445,0,"\\"],[55446,0,"A"],[55447,0,"x"],[55448,0,"i"],[55449,0,"o"],[55450,0,"m"],[55451,0,"C"],[55452,0,"{"],[55453,0,"$"],[55454,0,"\\"],[55455,0,"m"],[55456,0,"a"],[55457,0,"t"],[55458,0,"h"],[55459,0,"i"],[55460,0,"t"],[55461,0,"{"],[55462,0,"m"],[55463,0,"u"],[55464,0,"t"],[55465,0,"}"],[55466,0," "],[55467,0,"="],[55468,0," "],[55469,0,"\\"],[55470,0,"m"],[55471,0,"a"],[55472,0,"t"],[55473,0,"h"],[55474,0,"s"],[55475,0,"f"],[55476,0,"{"],[55477,0,"d"],[55478,0,"e"],[55479,0,"l"],[55480,0,"e"],[55481,0,"t"],[55482,0,"e"],[55483,0,"}"],[55484,0,"$"],[55485,0,"}"],[55486,0,"\n"],[55487,0,"\\"],[55210,0,"$"],[55226,0,"_"],[55227,0,"1"],[55228,0,"$"],[55492,0,"L"],[55493,0,"e"],[55494,0,"f"],[55495,0,"t"],[55496,0,"L"],[55497,0,"a"],[55498,0,"b"],[55499,0,"e"],[55500,0,"l"],[55501,0,"{"],[55502,0,"$"],[55503,0,"\\"],[55504,0,"T"],[55505,0,"e"],[55506,0,"x"],[55507,0,"t"],[55507,1],[55506,1],[55505,1],[55504,1],[55504,0,"t"],[55505,0,"e"],[55506,0,"x"],[55507,0,"t"],[55508,0,"s"],[55509,0,"c"],[55510,0,"{"],[55511,0,"A"],[55512,0,"d"],[55513,0,"d"],[55514,0,"-"],[55515,0,"I"],[55516,0,"D"],[55517,0,"}"],[55518,0,"_"],[55519,0,"2"],[55520,0,"$"],[55521,0,"}"],[55522,0,"\n"],[55523,0,"\\"],[55524,0,"U"],[55525,0,"n"],[55526,0,"a"],[55527,0,"r"],[55528,0,"y"],[55529,0,"I"],[55530,0,"n"],[55531,0,"f"],[55532,0,"C"],[55533,0,"{"],[55534,0,"$"],[55535,0,"\\"],[55536,0,"m"],[55537,0,"a"],[55538,0,"t"],[55539,0,"h"],[55540,0,"i"],[55541,0,"t"],[55542,0,"{"],[55543,0,"c"],[55544,0,"t"],[55545,0,"x"],[55546,0,"}"],[55547,0,","],[55548,0,"\\"],[55549,0,","],[55550,0," "],[55551,0,"\\"],[55552,0,"m"],[55553,0,"a"],[55554,0,"t"],[55555,0,"h"],[55556,0,"s"],[55557,0,"f"],[55558,0,"{"],[55559,0,"a"],[55560,0,"d"],[55561,0,"d"],[55562,0,"I"],[55563,0,"d"],[55564,0,"}"],[55565,0,"("],[55566,0,"k"],[55567,0,"_"],[55568,0,"\\"],[55569,0,"m"],[55570,0,"a"],[55571,0,"t"],[55572,0,"h"],[55573,0,"i"],[55574,0,"t"],[55575,0,"{"],[55576,0,"t"],[55577,0,"a"],[55578,0,"g"],[55579,0,"}"],[55580,0,","],[55581,0," "],[55582,0,"\\"],[55583,0,"m"],[55584,0,"a"],[55585,0,"t"],[55586,0,"h"],[55587,0,"i"],[55588,0,"t"],[55589,0,"{"],[55590,0,"i"],[55591,0,"d"],[55592,0,"}"],[55593,0,","],[55594,0," "],[55595,0,"\\"],[55596,0,"m"],[55597,0,"a"],[55598,0,"t"],[55599,0,"h"],[55600,0,"i"],[55601,0,"t"],[55602,0,"{"],[55603,0,"m"],[55604,0,"u"],[55605,0,"t"],[55606,0,"}"],[55607,0,")"],[55608,0," "],[55609,0,"\\"],[55610,0,"e"],[55611,0,"v"],[55612,0,"a"],[55613,0,"l"],[55614,0,"t"],[55615,0,"o"],[55616,0," "],[55617,0,"\\"],[55618,0,"m"],[55619,0,"a"],[55620,0,"t"],[55621,0,"h"],[55622,0,"i"],[55623,0,"t"],[55624,0,"{"],[55625,0,"c"],[55626,0,"t"],[55627,0,"x"],[55628,0,"}"],[55629,0,"$"],[55630,0,"}"],[55631,0,"\n"],[55632,0,"\\"],[55633,0,"D"],[55634,0,"i"],[55635,0,"s"],[55636,0,"p"],[55637,0,"l"],[55638,0,"a"],[55639,0,"y"],[55640,0,"P"],[55641,0,"r"],[55642,0,"o"],[55643,0,"o"],[55644,0,"f"],[55645,0,"\\"],[55646,0,"p"],[55647,0,"r"],[55648,0,"o"],[55649,0,"o"],[55650,0,"f"],[55651,0,"S"],[55652,0,"k"],[55653,0,"i"],[55654,0,"p"],[55655,0,"A"],[55656,0,"m"],[55657,0,"o"],[55658,0,"u"],[55659,0,"n"],[55660,0,"t"],[55988,0,","],[55989,0," "],[55990,0,"\\"],[55991,0,"m"],[55992,0,"a"],[55993,0,"t"],[55994,0,"h"],[55995,0,"s"],[55996,0,"f"],[55997,0,"{"],[55998,0,"a"],[55999,0,"s"],[56000,0,"s"],[56001,0,"i"],[56002,0,"g"],[56003,0,"n"],[56004,0,"}"],[56005,0,"("],[56006,0,"\\"],[56007,0,"m"],[56008,0,"a"],[56009,0,"t"],[56010,0,"h"],[56011,0,"i"],[56012,0,"t"],[56013,0,"{"],[56014,0,"v"],[56015,0,"a"],[56016,0,"l"],[56017,0,"}"],[56018,0,")"],[56020,0,"\n"],[56021,0," "],[56022,0," "],[56023,0," "],[56692,0,","],[56693,0," "],[56694,0,"\\"],[56695,0,"m"],[56696,0,"a"],[56697,0,"t"],[56698,0,"h"],[56699,0,"s"],[56700,0,"f"],[56701,0,"{"],[56702,0,"a"],[56703,0,"s"],[56704,0,"s"],[56705,0,"i"],[56706,0,"g"],[56707,0,"n"],[56708,0,"}"],[56709,0,"("],[56710,0,"\\"],[56711,0,"m"],[56712,0,"a"],[56713,0,"t"],[56714,0,"h"],[56715,0,"i"],[56716,0,"t"],[56717,0,"{"],[56718,0,"v"],[56719,0,"a"],[56720,0,"l"],[56721,0,"}"],[56722,0,")"],[56724,0,"\n"],[56725,0," "],[56726,0," "],[56727,0," "],[57339,0,","],[57340,0," "],[57341,0,"\\"],[57342,0,"m"],[57343,0,"a"],[57344,0,"t"],[57345,0,"h"],[57346,0,"s"],[57347,0,"f"],[57348,0,"{"],[57349,0,"a"],[57350,0,"s"],[57351,0,"s"],[57352,0,"i"],[57353,0,"g"],[57354,0,"n"],[57355,0,"}"],[57356,0,"("],[57357,0,"\\"],[57358,0,"m"],[57359,0,"a"],[57360,0,"t"],[57361,0,"h"],[57362,0,"i"],[57363,0,"t"],[57364,0,"{"],[57365,0,"v"],[57366,0,"a"],[57367,0,"l"],[57368,0,"}"],[57369,0,")"],[57371,0,"\n"],[57372,0," "],[57373,0," "],[57374,0," "],[78293,1],[78292,1],[78291,1],[78290,1],[78289,1],[78288,1],[78287,1],[78287,0,"r"],[78288,0,"e"],[78289,0,"o"],[78290,0,"r"],[78291,0,"d"],[78292,0,"e"],[78293,0,"r"],[59993,0,"$"],[60009,0,"_"],[60010,0,"{"],[60011,0,"1"],[60012,0,","],[60013,0,"2"],[60014,0,"}"],[60015,0,"$"],[88510,0,"\n"],[88511,0,"G"],[88512,0,"i"],[88513,0,"v"],[88514,0,"e"],[88515,0,"n"],[88516,0," "],[88517,0,"a"],[88518,0," "],[88519,0,"d"],[88520,0,"e"],[88521,0,"l"],[88522,0,"e"],[88523,0,"t"],[88524,0,"i"],[88525,0,"o"],[88526,0,"n"],[88527,0," "],[88528,0,"o"],[88529,0,"p"],[88530,0,"e"],[88531,0,"r"],[88532,0,"a"],[88533,0,"t"],[88534,0,"i"],[88535,0,"o"],[88536,0,"n"],[88537,0," "],[88538,0,"$"],[88539,0,"o"],[88540,0,"_"],[88541,0,"d"],[88542,0,"$"],[88543,0," "],[88541,1],[88541,0,"\\"],[88542,0,"m"],[88543,0,"a"],[88544,0,"t"],[88545,0,"h"],[88546,0,"r"],[88547,0,"m"],[88548,0,"{"],[88549,0,"d"],[88550,0,"e"],[88551,0,"l"],[88552,0,"}"],[88421,0,"I"],[88422,0,"n"],[88423,0," "],[88424,0,"a"],[88425,0,"n"],[88426,0," "],[88427,0,"o"],[88428,0,"p"],[88429,0,"e"],[88430,0,"r"],[88431,0,"a"],[88432,0,"t"],[88433,0,"i"],[88434,0,"o"],[88435,0,"n"],[88436,0," "],[88437,0,"h"],[88438,0,"i"],[88439,0,"s"],[88440,0,"t"],[88441,0,"o"],[88442,0,"r"],[88443,0,"y"],[88444,0," "],[88445,0,"$"],[88446,0,"H"],[88447,0,"$"],[88448,0,","],[88449,0," "],[88450,1],[88450,0,"d"],[88450,0,"a"],[88451,0," "],[88460,0," "],[88461,0,"o"],[88462,0,"p"],[88463,0,"e"],[88464,0,"r"],[88465,0,"a"],[88466,0,"t"],[88467,0,"i"],[88468,0,"o"],[88469,0,"n"],[88435,1],[88434,1],[88433,1],[88432,1],[88431,1],[88430,1],[88429,1],[88428,1],[88427,1],[88426,1],[88425,1],[88585,0,"a"],[88586,0,"n"],[88587,0,"d"],[88588,0," "],[88589,0,"a"],[88590,0,"n"],[88591,0,"y"],[88592,0," "],[88593,0,"o"],[88594,0,"t"],[88595,0,"h"],[88596,0,"e"],[88597,0,"r"],[88598,0," "],[88599,0,"c"],[88600,0,"o"],[88601,0,"n"],[88602,0,"c"],[88603,0,"u"],[88604,0,"r"],[88605,0,"r"],[88606,0,"e"],[88607,0,"n"],[88608,0,"t"],[88609,0," "],[88610,0,"o"],[88611,0,"p"],[88612,0,"e"],[88613,0,"r"],[88614,0,"a"],[88615,0,"t"],[88616,0,"i"],[88617,0,"o"],[88618,0,"n"],[88619,0," "],[88620,0,"$"],[88621,0,"o"],[88622,0,"_"],[88623,0,"c"],[88624,0,"$"],[88625,0,"\n"],[88577,1],[88576,1],[88576,0,"i"],[88577,0,"t"],[89008,1],[89007,1],[89007,0,"i"],[89008,0,"t"],[88710,1],[88709,1],[88582,1],[88581,1],[88580,1],[88578,1],[88577,1],[88576,1],[88575,1],[88574,1],[88573,1],[88572,1],[88571,1],[88698,1],[88697,1],[88696,1],[88695,1],[88694,1],[88693,1],[88696,1],[88695,1],[88694,1],[88810,1],[88809,1],[88808,1],[88806,1],[88805,1],[88804,1],[88803,1],[88802,1],[88801,1],[88800,1],[88799,1],[88976,1],[88975,1],[88974,1],[88973,1],[88972,1],[88971,1],[88970,1],[88969,1],[88970,1],[88970,1],[88970,1],[88614,0,","],[88615,0," "],[88616,0,"w"],[88617,0,"e"],[88618,0," "],[88619,0,"m"],[88620,0,"u"],[88621,0,"s"],[88622,0,"t"],[88623,0," "],[88624,0,"s"],[88625,0,"h"],[88626,0,"o"],[88627,0,"w"],[88628,0," "],[88629,0,"t"],[88630,0,"h"],[88631,0,"a"],[88632,0,"t"],[88633,0," "],[88634,0,"t"],[88635,0,"h"],[88636,0,"e"],[88637,0," "],[88638,0,"d"],[88639,0,"o"],[88640,0,"c"],[88641,0,"u"],[88642,0,"m"],[88643,0,"e"],[88644,0,"n"],[88645,0,"t"],[88646,0," "],[88647,0,"s"],[88648,0,"t"],[88649,0,"a"],[88650,0,"t"],[88651,0,"e"],[88652,0," "],[88653,0,"a"],[88654,0,"f"],[88655,0,"t"],[88656,0,"e"],[88657,0,"r"],[88658,0," "],[88659,0,"a"],[88660,0,"p"],[88661,0,"p"],[88662,0,"l"],[88663,0,"y"],[88664,0,"i"],[88665,0,"n"],[88666,0,"g"],[88667,0," "],[88668,0,"b"],[88669,0,"o"],[88670,0,"t"],[88671,0,"h"],[88672,0," "],[88673,0,"o"],[88674,0,"p"],[88675,0,"e"],[88676,0,"r"],[88677,0,"a"],[88678,0,"t"],[88679,0,"i"],[88680,0,"o"],[88681,0,"n"],[88682,0,"s"],[88683,0," "],[88684,0,"d"],[88685,0,"o"],[88686,0,"e"],[88687,0,"s"],[88688,0," "],[88689,0,"n"],[88690,0,"o"],[88691,0,"t"],[88692,0," "],[88693,0,"d"],[88694,0,"e"],[88695,0,"p"],[88696,0,"e"],[88697,0,"n"],[88698,0,"d"],[88699,0," "],[88700,0,"o"],[88701,0,"n"],[88702,0," "],[88703,0,"t"],[88704,0,"h"],[88705,0,"e"],[88706,0," "],[88707,0,"o"],[88708,0,"r"],[88709,0,"d"],[88710,0,"e"],[88711,0,"r"],[88712,0," "],[88713,0,"i"],[88714,0,"n"],[88715,0," "],[88716,0,"w"],[88717,0,"h"],[88718,0,"i"],[88719,0,"c"],[88720,0,"h"],[88721,0," "],[88722,0,"$"],[88723,0,"o"],[88724,0,"_"],[88725,0,"d"],[88726,0,"$"],[88727,0," "],[88728,0,"a"],[88729,0,"n"],[88730,0,"d"],[88731,0," "],[88732,0,"$"],[88733,0,"o"],[88734,0,"_"],[88735,0,"c"],[88736,0,"$"],[88737,0," "],[88738,0,"w"],[88739,0,"e"],[88740,0,"r"],[88741,0,"e"],[88742,0," "],[88743,0,"a"],[88744,0,"p"],[88745,0,"p"],[88746,0,"l"],[88747,0,"i"],[88748,0,"e"],[88749,0,"d"],[88750,0,"."],[89123,0," "],[89123,1],[89123,0,"\n"],[89124,0,"\n"],[89125,0,"S"],[89126,0,"i"],[89127,0,"n"],[89128,0,"c"],[89129,0,"e"],[89130,0," "],[89131,0,"$"],[89132,0,"o"],[89133,0,"_"],[89134,0,"c"],[89135,0,"$"],[89136,0," "],[89137,0,"i"],[89138,0,"s"],[89139,0," "],[89140,0,"c"],[89141,0,"o"],[89142,0,"n"],[89143,0,"c"],[89144,0,"u"],[89145,0,"r"],[89146,0,"r"],[89147,0,"e"],[89148,0,"n"],[89149,0,"t"],[89150,0," "],[89151,0,"w"],[89152,0,"i"],[89153,0,"t"],[89154,0,"h"],[89155,0," "],[89156,0,"$"],[89157,0,"o"],[89158,0,"_"],[89159,0,"d"],[89160,0,"$"],[89161,0,","],[89162,0," "],[89163,0,"w"],[89164,0,"e"],[89165,0," "],[89166,0,"k"],[89167,0,"n"],[89168,0,"o"],[89169,0,"w"],[89170,0," "],[89171,0,"t"],[89172,0,"h"],[89173,0,"a"],[89174,0,"t"],[89175,0," "],[89176,0,"$"],[89177,0,"o"],[89178,0,"_"],[89179,0,"c"],[89180,0,"."],[89181,0,"\\"],[89182,0,"m"],[89183,0,"a"],[89184,0,"t"],[89185,0,"h"],[89186,0,"i"],[89187,0,"t"],[89188,0,"{"],[89189,0,"i"],[89190,0,"d"],[89191,0,"}"],[89192,0," "],[89193,0,"\\"],[89194,0,"n"],[89195,0,"o"],[89196,0,"t"],[89197,0,"i"],[89198,0,"n"],[89199,0," "],[89200,0,"o"],[89201,0,"_"],[89202,0,"d"],[89203,0,"."],[89204,0,"\\"],[89205,0,"m"],[89206,0,"a"],[89207,0,"t"],[89208,0,"h"],[89209,0,"i"],[89210,0,"t"],[89211,0,"{"],[89212,0,"d"],[89213,0,"e"],[89214,0,"p"],[89215,0,"s"],[89216,0,"}"],[89217,0,"$"],[89218,0,"."],[89219,0," "],[89220,0,"I"],[89221,0,"f"],[89222,0," "],[89223,0,"$"],[89224,0,"o"],[89225,0,"_"],[89226,0,"c"],[89227,0,"$"],[89228,0," "],[89229,0,"i"],[89230,0,"s"],[89231,0," "],[89232,0,"a"],[89233,0,"n"],[89234,0," "],[89235,0,"a"],[89236,0,"s"],[89237,0,"s"],[89238,0,"i"],[89239,0,"g"],[89240,0,"n"],[89241,0,"m"],[89242,0,"e"],[89243,0,"n"],[89244,0,"t"],[89245,0," "],[89246,0,"o"],[89247,0,"r"],[89248,0," "],[89249,0,"i"],[89250,0,"n"],[89251,0,"s"],[89252,0,"e"],[89253,0,"r"],[89254,0,"t"],[89255,0,"i"],[89256,0,"o"],[89257,0,"n"],[89258,0," "],[89259,0,"o"],[89260,0,"p"],[89261,0,"e"],[89262,0,"r"],[89263,0,"a"],[89264,0,"t"],[89265,0,"i"],[89266,0,"o"],[89267,0,"n"],[89268,0,","],[89269,0," "],[89270,0,"t"],[89271,0,"h"],[89272,0,"e"],[89273,0," "],[89274,0,"\\"],[89275,0,"t"],[89276,0,"e"],[89277,0,"x"],[89278,0,"t"],[89279,0,"s"],[89280,0,"c"],[89281,0,"{"],[89282,0,"A"],[89283,0,"s"],[89284,0,"s"],[89285,0,"i"],[89286,0,"g"],[89287,0,"n"],[89288,0,"}"],[89289,0,","],[89290,0," "],[89291,0,"\\"],[89292,0,"t"],[89293,0,"e"],[89294,0,"x"],[89295,0,"t"],[89296,0,"s"],[89297,0,"c"],[89298,0,"{"],[89299,0,"E"],[89300,0,"m"],[89301,0,"p"],[89302,0,"t"],[89303,0,"y"],[89304,0,"-"],[89305,0,"M"],[89306,0,"a"],[89307,0,"p"],[89308,0,"}"],[89309,0," "],[89310,0,"a"],[89311,0,"n"],[89312,0,"d"],[89313,0," "],[89314,0,"\\"],[89315,0,"t"],[89316,0,"e"],[89317,0,"x"],[89318,0,"t"],[89319,0,"s"],[89320,0,"c"],[89321,0,"{"],[89289,1],[89289,0," "],[89290,0,"r"],[89291,0,"u"],[89292,0,"l"],[89293,0,"e"],[89294,0," "],[89295,0,"a"],[89296,0,"d"],[89297,0,"d"],[89298,0,"s"],[89299,0," "],[89300,0,"$"],[89301,0,"o"],[89302,0,"_"],[89303,0,"c"],[89304,0,"."],[89305,0,"\\"],[89306,0,"m"],[89307,0,"a"],[89308,0,"t"],[89309,0,"h"],[89310,0,"i"],[89311,0,"t"],[89312,0,"{"],[89313,0,"i"],[89314,0,"d"],[89315,0,"}"],[89316,0,"$"],[89317,0," "],[89318,0,"t"],[89319,0,"o"],[89320,0," "],[89321,0,"h"],[89322,0,"e"],[89323,0," "],[89323,1],[89322,1],[89321,1],[89321,0,"t"],[89322,0,"h"],[89323,0,"e"],[89324,0," "],[89325,0,"s"],[89326,0,"e"],[89327,0,"t"],[89328,0," "],[89329,0,"o"],[89330,0,"f"],[89331,0," "],[89331,1],[89330,1],[89329,1],[89328,1],[89327,1],[89326,1],[89325,1],[89325,0,"m"],[89326,0,"a"],[89327,0,"p"],[89328,0,"p"],[89329,0,"i"],[89330,0,"n"],[89331,0,"g"],[89332,0," "],[89333,0,"f"],[89334,0,"r"],[89335,0,"o"],[89336,0,"m"],[89337,0," "],[89338,0,"o"],[89339,0,"p"],[89340,0,"e"],[89341,0,"r"],[89342,0,"a"],[89343,0,"t"],[89344,0,"i"],[89345,0,"o"],[89346,0,"n"],[89347,0," "],[89348,0,"I"],[89349,0,"D"],[89350,0," "],[89351,0,"t"],[89352,0,"o"],[89353,0," "],[89354,0,"v"],[89355,0,"a"],[89356,0,"l"],[89357,0,"u"],[89358,0,"e"],[89359,0," "],[89360,0,"f"],[89361,0,"o"],[89362,0,"r"],[89363,0," "],[89364,0,"a"],[89365,0," "],[89366,0,"r"],[89367,0,"e"],[89368,0,"g"],[89369,0,"i"],[89370,0,"s"],[89371,0,"t"],[89372,0,"e"],[89373,0,"r"],[89374,0,","],[89375,0," "],[89376,0,"a"],[89377,0,"n"],[89378,0,"d"],[89379,0," "],[89380,0,"t"],[89381,0,"h"],[89382,0,"e"],[89383,0," "],[89384,0,"\\"],[89385,0,"t"],[89386,0,"e"],[89387,0,"x"],[89388,0,"t"],[89389,0,"s"],[89390,0,"c"],[89391,0,"{"],[89392,0,"D"],[89393,0,"e"],[89394,0,"s"],[89395,0,"c"],[89396,0,"e"],[89397,0,"n"],[89398,0,"d"],[89399,0,"}"],[89400,0,","],[89401,0," "],[89402,0,"\\"],[89403,0,"t"],[89404,0,"e"],[89405,0,"x"],[89406,0,"t"],[89407,0,"s"],[89408,0,"c"],[89409,0,"{"],[89410,0,"A"],[89411,0,"s"],[89412,0,"s"],[89413,0,"i"],[89414,0,"g"],[89415,0,"n"],[89416,0,"}"],[89417,0,","],[89450,0,"E"],[89451,0,"m"],[89452,0,"p"],[89453,0,"t"],[89454,0,"y"],[89455,0,"-"],[89456,0,"L"],[89457,0,"i"],[89458,0,"s"],[89459,0,"t"],[89460,0,"}"],[89461,0," "],[89462,0,"r"],[89463,0,"u"],[89464,0,"l"],[89465,0,"e"],[89466,0,"s"],[89467,0," "],[89468,0,"a"],[89469,0,"d"],[89470,0,"d"],[89471,0," "],[89472,0,"$"],[89473,0,"o"],[89474,0,"_"],[89475,0,"c"],[89476,0,"."],[89477,0,"\\"],[89478,0,"m"],[89479,0,"a"],[89480,0,"t"],[89481,0,"h"],[89482,0,"i"],[89483,0,"t"],[89484,0,"{"],[89485,0,"i"],[89486,0,"d"],[89487,0,"}"],[89488,0,"$"],[89489,0," "],[89490,0,"t"],[89491,0,"o"],[89492,0," "],[89493,0,"t"],[89494,0,"h"],[89495,0,"e"],[89496,0," "],[89497,0,"p"],[89498,0,"r"],[89499,0,"e"],[89500,0,"s"],[89501,0,"e"],[89502,0,"n"],[89503,0,"c"],[89504,0,"e"],[89505,0," "],[89506,0,"s"],[89507,0,"e"],[89508,0,"t"],[89509,0,"s"],[89510,0," "],[89511,0,"$"],[89512,0,"\\"],[89513,0,"m"],[89514,0,"a"],[89515,0,"t"],[89516,0,"h"],[89517,0,"s"],[89518,0,"f"],[89519,0,"{"],[89520,0,"p"],[89521,0,"r"],[89522,0,"e"],[89523,0,"s"],[89524,0,"}"],[89525,0,"("],[89526,0,"k"],[89527,0,")"],[89528,0,"$"],[89529,0," "],[89530,0,"a"],[89531,0,"l"],[89532,0,"o"],[89533,0,"n"],[89534,0,"g"],[89535,0," "],[89536,0,"t"],[89537,0,"h"],[89538,0,"e"],[89539,0," "],[89540,0,"p"],[89541,0,"a"],[89542,0,"t"],[89543,0,"h"],[89544,0," "],[89545,0,"t"],[89546,0,"h"],[89547,0,"r"],[89548,0,"o"],[89549,0,"u"],[89550,0,"g"],[89551,0,"h"],[89552,0," "],[89553,0,"t"],[89554,0,"h"],[89555,0,"e"],[89556,0," "],[89557,0,"d"],[89558,0,"o"],[89559,0,"c"],[89560,0,"u"],[89561,0,"m"],[89562,0,"e"],[89563,0,"n"],[89564,0,"t"],[89565,0," "],[89566,0,"t"],[89567,0,"r"],[89568,0,"e"],[89569,0,"e"],[89570,0," "],[89571,0,"d"],[89572,0,"e"],[89573,0,"s"],[89574,0,"c"],[89575,0,"r"],[89576,0,"i"],[89577,0,"b"],[89578,0,"e"],[89579,0,"d"],[89580,0," "],[89581,0,"b"],[89582,0,"h"],[89583,0," "],[89583,1],[89582,1],[89582,0,"y"],[89583,0," "],[89584,0,"t"],[89585,0,"h"],[89586,0,"e"],[89587,0," "],[89588,0,"c"],[89589,0,"u"],[89590,0,"r"],[89591,0,"s"],[89592,0,"o"],[89593,0,"r"],[89594,0,"."],[89595,0,"\n"],[89596,0,"\n"],[89597,0,"S"],[89598,0,"i"],[89599,0,"n"],[89600,0,"c"],[89601,0,"e"],[89602,0," "],[89603,0,"$"],[89604,0,"o"],[89605,0,"_"],[89606,0,"c"],[89607,0,"$"],[89608,0," "],[89609,0,"i"],[89610,0,"s"],[89611,0," "],[89612,0,"c"],[89613,0,"o"],[89614,0,"n"],[89615,0,"c"],[89616,0,"u"],[89617,0,"r"],[89618,0,"r"],[89619,0,"e"],[89620,0,"n"],[89621,0,"t"],[89622,0," "],[89623,0,"w"],[89624,0,"i"],[89625,0,"t"],[89626,0,"h"],[89627,0," "],[89628,0,"$"],[89629,0,"o"],[89630,0,"_"],[89631,0,"d"],[89632,0,"$"],[89633,0,","],[89634,0," "],[89635,0,"w"],[89636,0,"e"],[89637,0," "],[89638,0,"k"],[89639,0,"n"],[89640,0,"o"],[89641,0,"w"],[89642,0," "],[89643,0,"t"],[89644,0,"h"],[89645,0,"a"],[89646,0,"t"],[89647,0," "],[89648,0,"$"],[89649,0,"o"],[89650,0,"_"],[89651,0,"c"],[89652,0,"."],[89653,0,"\\"],[89654,0,"m"],[89655,0,"a"],[89656,0,"t"],[89657,0,"h"],[89658,0,"i"],[89659,0,"t"],[89660,0,"{"],[89661,0,"i"],[89662,0,"d"],[89663,0,"}"],[89664,0," "],[89665,0,"\\"],[89666,0,"n"],[89667,0,"o"],[89668,0,"t"],[89669,0,"i"],[89670,0,"n"],[89671,0," "],[89672,0,"o"],[89673,0,"_"],[89674,0,"d"],[89675,0,"."],[89676,0,"\\"],[89677,0,"m"],[89678,0,"a"],[89679,0,"t"],[89680,0,"h"],[89681,0,"i"],[89682,0,"t"],[89683,0,"{"],[89684,0,"d"],[89685,0,"e"],[89686,0,"p"],[89687,0,"s"],[89688,0,"}"],[89689,0,"$"],[89690,0,"."],[89219,1],[89218,1],[89217,1],[89216,1],[89215,1],[89214,1],[89213,1],[89212,1],[89211,1],[89210,1],[89209,1],[89208,1],[89207,1],[89206,1],[89205,1],[89204,1],[89203,1],[89202,1],[89201,1],[89200,1],[89199,1],[89198,1],[89197,1],[89196,1],[89195,1],[89194,1],[89193,1],[89192,1],[89191,1],[89190,1],[89189,1],[89188,1],[89187,1],[89186,1],[89185,1],[89184,1],[89183,1],[89182,1],[89181,1],[89180,1],[89179,1],[89178,1],[89177,1],[89176,1],[89175,1],[89174,1],[89173,1],[89172,1],[89171,1],[89170,1],[89169,1],[89168,1],[89167,1],[89166,1],[89165,1],[89164,1],[89163,1],[89162,1],[89161,1],[89160,1],[89159,1],[89158,1],[89157,1],[89156,1],[89155,1],[89154,1],[89153,1],[89152,1],[89151,1],[89150,1],[89149,1],[89148,1],[89147,1],[89146,1],[89145,1],[89144,1],[89143,1],[89142,1],[89141,1],[89140,1],[89139,1],[89138,1],[89137,1],[89136,1],[89135,1],[89134,1],[89133,1],[89132,1],[89131,1],[89130,1],[89129,1],[89128,1],[89127,1],[89126,1],[89125,1],[89596,0," "],[89597,0,"T"],[89598,0,"h"],[89599,0,"u"],[89600,0,"s"],[89601,0,","],[89602,0," "],[89603,0,"i"],[89604,0,"f"],[89605,0," "],[89606,0,"$"],[89607,0,"o"],[89608,0,"_"],[89609,0,"c"],[89610,0,"$"],[89611,0," "],[89612,0,"i"],[89613,0,"s"],[89614,0," "],[89615,0,"a"],[89616,0,"p"],[89617,0,"p"],[89618,0,"l"],[89619,0,"i"],[89620,0,"e"],[89621,0,"d"],[89622,0," "],[89623,0,"b"],[89624,0,"e"],[89625,0,"f"],[89626,0,"o"],[89627,0,"r"],[89628,0,"e"],[89629,0," "],[89630,0,"$"],[89631,0,"o"],[89632,0,"_"],[89633,0,"d"],[89634,0,"$"],[89635,0," "],[89636,0,"i"],[89637,0,"n"],[89638,0," "],[89639,0,"h"],[89639,1],[89639,0,"t"],[89640,0,"h"],[89641,0,"e"],[89642,0," "],[89643,0,"h"],[89644,0,"i"],[89645,0,"s"],[89646,0,"t"],[89647,0,"o"],[89648,0,"r"],[89649,0,"y"],[89500,0,"\n"],[89501,0,"\n"],[89502,0,"I"],[89503,0,"f"],[89504,0," "],[89505,0,"$"],[89506,0,"o"],[89507,0,"_"],[89508,0,"c"],[89509,0,"$"],[89510,0," "],[89511,0,"d"],[89509,0,"."],[89510,0,"\\"],[89511,0,"m"],[89512,0,"a"],[89513,0,"t"],[89514,0,"h"],[89515,0,"i"],[89516,0,"t"],[89517,0,"{"],[89518,0,"c"],[89519,0,"u"],[89520,0,"r"],[89521,0,"}"],[89525,0,"o"],[89526,0,"e"],[89527,0,"s"],[89528,0," "],[89529,0,"n"],[89530,0,"o"],[89531,0,"t"],[89532,0," "],[89533,0,"f"],[89534,0,"a"],[89535,0,"l"],[89536,0,"l"],[89537,0," "],[89538,0,"w"],[89539,0,"i"],[89540,0,"t"],[89541,0,"h"],[89542,0,"i"],[89543,0,"n"],[89544,0," "],[89504,0," "],[89504,1],[89504,0," "],[89505,0,"$"],[89506,0,"o"],[89507,0,"_"],[89508,0,"d"],[89509,0,"."],[89510,0,"\\"],[89511,0,"m"],[89512,0,"a"],[89513,0,"t"],[89514,0,"h"],[89515,0,"i"],[89516,0,"t"],[89517,0,"{"],[89518,0,"c"],[89519,0,"u"],[89520,0,"r"],[89521,0,"}"],[89522,0,"$"],[89523,0," "],[89524,0,"i"],[89525,0,"s"],[89526,0," "],[89527,0,"n"],[89528,0,"o"],[89529,0,"t"],[89530,0," "],[89531,0,"a"],[89532,0," "],[89533,0,"p"],[89534,0,"r"],[89535,0,"e"],[89536,0,"f"],[89537,0,"i"],[89538,0,"x"],[89539,0," "],[89540,0,"o"],[89541,0,"f"],[89582,1],[89581,1],[89580,1],[89579,1],[89578,1],[89577,1],[89576,1],[89575,1],[89574,1],[89573,1],[89572,1],[89571,1],[89570,1],[89569,1],[89568,1],[89567,1],[89566,1],[89565,1],[89564,1],[89563,1],[89562,1],[89561,1],[89561,0,","],[89562,0," "],[89563,0,"t"],[89564,0,"h"],[89565,0,"e"],[89566,0," "],[89567,0,"o"],[89567,1],[89567,0,"o"],[89568,0,"p"],[89569,0,"e"],[89570,0,"r"],[89571,0,"a"],[89572,0,"t"],[89573,0,"i"],[89574,0,"o"],[89575,0,"n"],[89576,0,"s"],[89577,0," "],[89578,0,"a"],[89579,0,"f"],[89580,0,"f"],[89581,0,"e"],[89582,0,"c"],[89583,0,"t"],[89584,0," "],[89585,0,"d"],[89586,0,"i"],[89587,0,"s"],[89588,0,"j"],[89589,0,"o"],[89590,0,"i"],[89591,0,"n"],[89592,0,"t"],[89593,0," "],[89594,0,"s"],[89595,0,"u"],[89596,0,"b"],[89597,0,"t"],[89598,0,"r"],[89599,0,"e"],[89600,0,"e"],[89601,0,"s"],[89602,0," "],[89603,0,"o"],[89604,0,"f"],[89605,0," "],[89606,0,"t"],[89607,0,"h"],[89608,0,"e"],[89609,0," "],[89610,0,"d"],[89611,0,"o"],[89612,0,"c"],[89613,0,"u"],[89614,0,"m"],[89615,0,"e"],[89616,0,"n"],[89617,0,"t"],[89618,0,","],[89619,0," "],[89620,0,"a"],[89621,0,"n"],[89622,0,"d"],[89623,0," "],[89624,0,"s"],[89625,0,"o"],[89626,0," "],[89627,0,"t"],[89628,0,"h"],[89629,0,"e"],[89630,0,"y"],[89631,0," "],[89632,0,"a"],[89633,0,"r"],[89634,0,"e"],[89635,0," "],[89636,0,"t"],[89637,0,"r"],[89638,0,"i"],[89639,0,"v"],[89640,0,"i"],[89641,0,"a"],[89642,0,"l"],[89643,0,"l"],[89644,0,"y"],[89645,0," "],[89646,0,"c"],[89647,0,"o"],[89648,0,"m"],[89649,0,"m"],[89650,0,"u"],[89651,0,"t"],[89652,0,"a"],[89653,0,"t"],[89654,0,"i"],[89655,0,"v"],[89656,0,"e"],[89657,0,"."],[89658,0," "],[89659,0,"F"],[89660,0,"o"],[89661,0,"r"],[89662,0," "],[89663,0,"t"],[89664,0,"h"],[89665,0,"e"],[89666,0," "],[89667,0,"r"],[89668,0,"e"],[89669,0,"s"],[89670,0,"t"],[89671,0," "],[89672,0,"o"],[89673,0,"f"],[89674,0," "],[89675,0,"t"],[89676,0,"h"],[89677,0,"i"],[89678,0,"s"],[89679,0," "],[89680,0,"p"],[89681,0,"r"],[89682,0,"o"],[89683,0,"o"],[89684,0,"f"],[89685,0," "],[89685,1],[89685,0,","],[89686,0," "],[89687,0,"w"],[89688,0,"e"],[89689,0," "],[89690,0,"f"],[89691,0,"o"],[89692,0,"c"],[89693,0,"u"],[89694,0,"s"],[89695,0," "],[89696,0,"o"],[89697,0,"n"],[89698,0," "],[89699,0,"t"],[89700,0,"h"],[89701,0,"e"],[89702,0," "],[89703,0,"c"],[89704,0,"a"],[89705,0,"s"],[89706,0,"e"],[89707,0," "],[89708,0,"w"],[89709,0,"h"],[89710,0,"e"],[89711,0,"r"],[89712,0,"e"],[89713,0," "],[89714,0,"$"],[89715,0,"o"],[89716,0,"_"],[89717,0,"d"],[89718,0,"."],[89719,0,"\\"],[89720,0,"m"],[89721,0,"a"],[89722,0,"t"],[89723,0,"h"],[89724,0,"i"],[89725,0,"t"],[89726,0,"{"],[89727,0,"c"],[89728,0,"u"],[89729,0,"r"],[89730,0,"}"],[89731,0," "],[89732,0,"i"],[89733,0,"s"],[89734,0," "],[89734,1],[89733,1],[89732,1],[89731,1],[89731,0,"$"],[89732,0," "],[89733,0,"i"],[89734,0,"s"],[89735,0," "],[89736,0,"a"],[89737,0," "],[89738,0,"p"],[89739,0,"r"],[89740,0,"e"],[89741,0,"f"],[89742,0,"i"],[89743,0,"x"],[89744,0," "],[89745,0,"o"],[89746,0,"f"],[89747,0," "],[89748,0,"$"],[89749,0,"o"],[89750,0,"_"],[89751,0,"c"],[89752,0,"."],[89753,0,"\\"],[89754,0,"m"],[89755,0,"a"],[89756,0,"t"],[89757,0,"h"],[89758,0,"i"],[89759,0,"t"],[89760,0,"{"],[89761,0,"c"],[89762,0,"u"],[89763,0,"r"],[89764,0,"}"],[89765,0,"$"],[89766,0,"."],[89917,0,","],[89918,0," "],[89919,0,"t"],[89920,0,"h"],[89921,0,"e"],[89922,0," "],[89923,0,"\\"],[89924,0,"t"],[89925,0,"e"],[89926,0,"x"],[89927,0,"t"],[89928,0,"s"],[89929,0,"c"],[89930,0,"{"],[89931,0,"C"],[89932,0,"l"],[89933,0,"e"],[89934,0,"a"],[89935,0,"r"],[89936,0,"-"],[89937,0,"*"],[89938,0,"}"],[89939,0," "],[89940,0,"r"],[89941,0,"u"],[89942,0,"l"],[89943,0,"e"],[89944,0,"s"],[89945,0," "],[89946,0,"a"],[89947,0,"p"],[89948,0,"p"],[89949,0,"l"],[89950,0,"y"],[89951,0,"i"],[89952,0,"n"],[89953,0,"g"],[89954,0," "],[89955,0,"$"],[89955,1],[89954,1],[89953,1],[89952,1],[89951,1],[89950,1],[89949,1],[89948,1],[89947,1],[89946,1],[89946,0,"e"],[89947,0,"v"],[89948,0,"a"],[89949,0,"l"],[89950,0,"u"],[89951,0,"a"],[89952,0,"t"],[89953,0,"i"],[89954,0,"n"],[89955,0,"g"],[89956,0," "],[89957,0,"$"],[89958,0,"o"],[89959,0,"_"],[89960,0,"d"],[89961,0,"$"],[89962,0," "],[89963,0,"w"],[89964,0,"i"],[89965,0,"l"],[89966,0,"l"],[89967,0," "],[89968,0,"l"],[89969,0,"e"],[89970,0,"a"],[89971,0,"v"],[89972,0,"e"],[89973,0," "],[89974,0,"a"],[89975,0,"n"],[89976,0,"y"],[89977,0," "],[89978,0,"o"],[89979,0,"c"],[89980,0,"c"],[89981,0,"u"],[89982,0,"r"],[89983,0,"r"],[89984,0,"e"],[89985,0,"n"],[89986,0,"c"],[89987,0,"e"],[89988,0,"s"],[89989,0," "],[89990,0,"o"],[89991,0,"f"],[89992,0," "],[89993,0,"$"],[89994,0,"o"],[89995,0,"_"],[89996,0,"c"],[89997,0,"."],[89998,0,"\\"],[89999,0,"m"],[90000,0,"a"],[90001,0,"t"],[90002,0,"h"],[90003,0,"i"],[90004,0,"t"],[90005,0,"{"],[90006,0,"i"],[90007,0,"d"],[90008,0,"}"],[90009,0,"$"],[90010,0," "],[90011,0,"u"],[90012,0,"n"],[90013,0,"d"],[90014,0,"i"],[90015,0,"s"],[90016,0,"t"],[90011,0,"i"],[90012,0,"n"],[90013,0," "],[90014,0,"t"],[90015,0,"h"],[90016,0,"e"],[90017,0," "],[90018,0,"d"],[90019,0,"o"],[90020,0,"c"],[90021,0,"u"],[90022,0,"m"],[90023,0,"e"],[90024,0,"n"],[90025,0,"t"],[90026,0," "],[90027,0,"s"],[90028,0,"t"],[90029,0,"a"],[90030,0,"t"],[90031,0,"e"],[90032,0," "],[90039,0,"u"],[90040,0,"r"],[90041,0,"b"],[90042,0,"e"],[90043,0,"d"],[90044,0,"."],[90045,0," "],[90046,0,"T"],[90047,0,"h"],[90048,0,"e"],[90049,0," "],[90050,0,"e"],[90051,0,"f"],[90052,0,"f"],[90053,0,"e"],[90054,0,"c"],[90055,0,"t"],[90056,0," "],[90057,0,"o"],[90058,0,"f"],[90059,0," "],[90060,0,"o"],[90061,0,"f"],[90062,0," "],[90063,0,"a"],[90064,0,"p"],[90065,0,"p"],[90065,1],[90064,1],[90063,1],[90062,1],[90061,1],[90060,1],[90060,0,"a"],[90061,0,"p"],[90062,0,"p"],[90063,0,"l"],[90064,0,"y"],[90065,0,"i"],[90066,0,"n"],[90067,0,"g"],[90068,0," "],[89966,1],[89965,1],[89965,0,"l"],[89966,0,"l"],[90069,0,"$"],[90070,0,"o"],[90071,0,"_"],[90072,0,"c"],[90073,0,"$"],[90074,0," "],[90075,0,"b"],[90076,0,"e"],[90077,0,"f"],[90078,0,"o"],[90079,0,"r"],[90080,0,"e"],[90081,0," "],[90082,0,"$"],[90083,0,"o"],[90084,0,"_"],[90085,0,"d"],[90086,0,"$"],[90087,0," "],[90088,0,"i"],[90089,0,"s"],[90090,0," "],[90091,0,"t"],[90092,0,"h"],[90093,0,"u"],[90094,0,"s"],[90095,0," "],[90096,0,"t"],[90097,0,"h"],[90098,0,"e"],[90099,0," "],[90100,0,"s"],[90101,0,"a"],[90102,0,"m"],[90103,0,"e"],[90104,0," "],[90105,0,"a"],[90106,0,"s"],[90107,0," "],[90108,0,"a"],[90109,0,"p"],[90110,0,"p"],[90111,0,"l"],[90112,0,"y"],[90113,0,"i"],[90114,0,"n"],[90115,0,"g"],[90116,0," "],[90117,0,"$"],[90118,0,"o"],[90119,0,"_"],[90120,0,"d"],[90121,0,"$"],[90122,0," "],[90123,0,"b"],[90124,0,"e"],[90125,0,"f"],[90126,0,"o"],[90127,0,"r"],[90128,0,"e"],[90129,0," "],[90130,0,"$"],[90131,0,"o"],[90132,0,"_"],[90133,0,"c"],[90134,0,"$"],[90135,0,","],[90136,0," "],[90137,0,"s"],[90138,0,"o"],[90139,0," "],[90140,0,"t"],[90141,0,"h"],[90142,0,"e"],[90143,0," "],[90144,0,"o"],[90145,0,"p"],[90146,0,"e"],[90147,0,"r"],[90148,0,"a"],[90149,0,"t"],[90150,0,"i"],[90151,0,"o"],[90152,0,"n"],[90153,0,"s"],[90154,0," "],[90155,0,"c"],[90156,0,"o"],[90157,0,"m"],[90158,0,"m"],[90159,0,"u"],[90160,0,"t"],[90161,0,"e"],[90162,0,"."],[89867,1],[89866,1],[89866,0,"e"],[89867,0,"r"],[89868,0,"e"],[89869,0,"f"],[89870,0,"o"],[89871,0,"r"],[89872,0,"e"],[90049,0,","],[90050,0," "],[90051,0,"w"],[90052,0,"h"],[90053,0,"i"],[90054,0,"l"],[90055,0,"e"],[90056,0," "],[90057,0,"r"],[90058,0,"e"],[90059,0,"m"],[90060,0,"o"],[90061,0,"v"],[90062,0,"i"],[90063,0,"n"],[90064,0,"g"],[90065,0," "],[90066,0,"a"],[90067,0,"n"],[90068,0,"y"],[90069,0," "],[90070,0,"o"],[90071,0,"c"],[90072,0,"c"],[90073,0,"u"],[90074,0,"r"],[90075,0,"r"],[90076,0,"e"],[90077,0,"n"],[90078,0,"c"],[90079,0,"e"],[90080,0,"s"],[90081,0," "],[90082,0,"o"],[90083,0,"f"],[90084,0," "],[90085,0,"o"],[90086,0,"p"],[90087,0,"e"],[90088,0,"r"],[90089,0,"a"],[90090,0,"t"],[90091,0,"i"],[90092,0,"o"],[90093,0,"n"],[90094,0,"s"],[90095,0," "],[90096,0,"i"],[90097,0,"n"],[90098,0," "],[90099,0,"$"],[90100,0,"o"],[90101,0,"_"],[90102,0,"d"],[90103,0,"."],[90104,0,"\\"],[90105,0,"m"],[90106,0,"a"],[90107,0,"t"],[90108,0,"h"],[90109,0,"i"],[90110,0,"t"],[90111,0,"{"],[90112,0,"d"],[90113,0,"e"],[90114,0,"p"],[90115,0,"s"],[90116,0,"}"],[90117,0,"$"],[89658,0," "],[89659,0,"A"],[89660,0,"n"],[89661,0,"y"],[89662,0," "],[89663,0,"s"],[89664,0,"t"],[89665,0,"a"],[89666,0,"t"],[89667,0,"e"],[89668,0," "],[89669,0,"c"],[89670,0,"h"],[89671,0,"a"],[89672,0,"n"],[89673,0,"g"],[89674,0,"e"],[89675,0,"s"],[89676,0," "],[89677,0,"b"],[89678,0,"y"],[89679,0," "],[89680,0,"\\"],[89681,0,"t"],[89682,0,"e"],[89683,0,"x"],[89684,0,"t"],[89685,0,"s"],[89686,0,"c"],[89687,0,"{"],[89688,0,"D"],[89689,0,"e"],[89690,0,"s"],[89691,0,"c"],[89692,0,"e"],[89693,0,"n"],[89694,0,"d"],[89695,0,"}"],[89696,0," "],[89697,0,"a"],[89698,0,"n"],[89699,0,"d"],[89700,0," "],[89701,0,"$"],[89702,0,"\\"],[89703,0,"t"],[89704,0,"e"],[89705,0,"x"],[89706,0,"t"],[89707,0,"s"],[89708,0,"c"],[89709,0,"{"],[89710,0,"A"],[89711,0,"d"],[89712,0,"d"],[89713,0,"-"],[89714,0,"I"],[89715,0,"D"],[89716,0,"}"],[89717,0,"_"],[89718,0,"1"],[89719,0,"$"],[89720,0," "],[89721,0,"a"],[89722,0,"l"],[89723,0,"o"],[89724,0,"n"],[89725,0,"g"],[89726,0," "],[89727,0,"t"],[89728,0,"h"],[89729,0,"e"],[89730,0," "],[89731,0,"s"],[89732,0,"h"],[89732,1],[89731,1],[89731,0,"s"],[89732,0,"h"],[89733,0,"a"],[89734,0,"r"],[89735,0,"e"],[89736,0,"d"],[89737,0," "],[89738,0,"p"],[89739,0,"a"],[89740,0,"r"],[89741,0,"t"],[89742,0," "],[89743,0,"o"],[89744,0,"f"],[89745,0," "],[89746,0,"t"],[89747,0,"h"],[89748,0,"e"],[89749,0," "],[89750,0,"c"],[89751,0,"u"],[89752,0,"r"],[89753,0,"s"],[89754,0,"o"],[89755,0,"r"],[89756,0," "],[89757,0,"p"],[89758,0,"a"],[89759,0,"t"],[89760,0,"h"],[89761,0," "],[89762,0,"a"],[89763,0,"r"],[89764,0,"e"],[89765,0," "],[89766,0,"a"],[89767,0,"p"],[89768,0,"p"],[89769,0,"l"],[89770,0,"i"],[89771,0,"e"],[89772,0,"d"],[89773,0," "],[89774,0,"u"],[89775,0,"s"],[89776,0,"i"],[89777,0,"n"],[89778,0,"g"],[89779,0," "],[89780,0,"t"],[89781,0,"h"],[89782,0,"e"],[89783,0," "],[89784,0,"s"],[89785,0,"e"],[89786,0,"t"],[89787,0," "],[89788,0,"u"],[89789,0,"n"],[89790,0,"i"],[89791,0,"o"],[89792,0,"n"],[89793,0," "],[89794,0,"o"],[89795,0,"p"],[89796,0,"e"],[89797,0,"r"],[89798,0,"a"],[89799,0,"t"],[89800,0,"o"],[89801,0,"r"],[89802,0," "],[89803,0,"$"],[89804,0,"\\"],[89805,0,"c"],[89806,0,"u"],[89807,0,"p"],[89808,0,"$"],[89809,0,","],[89810,0," "],[89811,0,"w"],[89812,0,"h"],[89813,0,"i"],[89814,0,"c"],[89815,0,"h"],[89816,0," "],[89817,0,"i"],[89818,0,"s"],[89819,0," "],[89820,0,"c"],[89821,0,"o"],[89822,0,"m"],[89823,0,"m"],[89824,0,"u"],[89825,0,"t"],[89826,0,"a"],[89827,0,"t"],[89828,0,"i"],[89829,0,"v"],[89830,0,"e"],[89831,0,"."],[89832,0,"\n"],[89833,0,"\n"],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,1],[89834,0,"N"],[89835,0,"o"],[89836,0,"w"],[89837,0," "],[89838,0,"c"],[89839,0,"o"],[89840,0,"n"],[89841,0,"s"],[89842,0,"i"],[89843,0,"d"],[89844,0,"e"],[89845,0,"r"],[89916,1],[89915,1],[89915,0," "],[90266,1],[90266,0,"\n"],[90267,0,"\n"],[90266,0,"\n"],[90267,0,"\n"],[90268,0,"I"],[90269,0,"f"],[90270,0," "],[90271,0,"$"],[90272,0,"o"],[90273,0,"_"],[90274,0,"c"],[90275,0,"$"],[90276,0," "],[90277,0,"i"],[90278,0,"s"],[90279,0," "],[90280,0,"a"],[90281,0,"p"],[90282,0,"p"],[90283,0,"l"],[90284,0,"i"],[90285,0,"e"],[90286,0,"d"],[90287,0," "],[90288,0,"a"],[90289,0,"f"],[90290,0,"t"],[90291,0,"e"],[90292,0,"r"],[90293,0," "],[90294,0,"$"],[90295,0,"o"],[90296,0,"_"],[90297,0,"d"],[90298,0,"$"],[90299,0,","],[90300,0," "],[90274,1],[90274,0,"d"],[90292,1],[90291,1],[90290,1],[90289,1],[90288,1],[90288,0,"b"],[90289,0,"e"],[90290,0,"f"],[90291,0,"o"],[90292,0,"r"],[90293,0,"e"],[90298,1],[90298,0,"c"],[90302,0,"t"],[90303,0,"h"],[90304,0,"e"],[90305,0," "],[90306,0,"e"],[90307,0,"f"],[90308,0,"f"],[90309,0,"e"],[90310,0,"c"],[90311,0,"t"],[90312,0," "],[90313,0,"o"],[90314,0,"n"],[90315,0," "],[90316,0,"p"],[90317,0,"r"],[90318,0,"e"],[90319,0,"s"],[90320,0,"e"],[90321,0,"n"],[90322,0,"c"],[90323,0,"e"],[90324,0," "],[90325,0,"s"],[90326,0,"e"],[90327,0,"t"],[90328,0,"s"],[90329,0," "],[90330,0,"a"],[90331,0,"n"],[90332,0,"d"],[90333,0," "],[90334,0,"r"],[90335,0,"e"],[90336,0,"g"],[90337,0,"i"],[90338,0,"s"],[90339,0,"t"],[90340,0,"e"],[90341,0,"r"],[90342,0,"s"],[90343,0," "],[90344,0,"i"],[90345,0,"s"],[90346,0," "],[90347,0,"t"],[90348,0,"h"],[90349,0,"e"],[90350,0," "],[90351,0,"s"],[90352,0,"a"],[90353,0,"m"],[90354,0,"e"],[90355,0," "],[90356,0,"a"],[90357,0,"s"],[90358,0," "],[90359,0,"i"],[90360,0,"f"],[90361,0," "],[90362,0,"t"],[90363,0,"h"],[90364,0,"e"],[90365,0,"y"],[90366,0," "],[90367,0,"h"],[90368,0,"a"],[90369,0,"d"],[90370,0," "],[90371,0,"b"],[90372,0,"e"],[90373,0,"e"],[90374,0,"n"],[90375,0," "],[90376,0,"e"],[90377,0,"x"],[90378,0,"e"],[90379,0,"c"],[90380,0,"u"],[90381,0,"t"],[90382,0,"e"],[90382,1],[90381,1],[90380,1],[90379,1],[90378,1],[90377,1],[90376,1],[90376,0,"a"],[90377,0,"p"],[90378,0,"p"],[90379,0,"l"],[90380,0,"i"],[90381,0,"e"],[90382,0,"d"],[90383,0," "],[90384,0,"i"],[90385,0,"n"],[90386,0," "],[90387,0,"t"],[90388,0,"h"],[90389,0,"e"],[90390,0," "],[90391,0,"r"],[90392,0,"e"],[90393,0,"v"],[90394,0,"e"],[90395,0,"r"],[90396,0,"s"],[90397,0,"e"],[90398,0," "],[90399,0,"o"],[90400,0,"r"],[90401,0,"d"],[90402,0,"e"],[90403,0,"r"],[90404,0,","],[90405,0," "],[90406,0,"d"],[90407,0,"u"],[90408,0,"e"],[90409,0," "],[90410,0,"t"],[90411,0,"o"],[90412,0," "],[90413,0,"t"],[90414,0,"h"],[90415,0,"e"],[90416,0," "],[90416,1],[90415,1],[90414,1],[90413,1],[90412,1],[90411,1],[90410,1],[90409,1],[90408,1],[90407,1],[90406,1],[90405,1],[90404,1],[90403,1],[90403,0,"r"],[90404,0,"."],[90405,0," "],[90406,0,"M"],[90407,0,"o"],[90408,0,"r"],[90409,0,"e"],[90410,0,"o"],[90411,0,"v"],[90412,0,"e"],[90413,0,"r"],[90414,0," "],[90414,1],[90414,0,","],[90415,0," "],[90416,0,"$"],[90417,0,"o"],[90418,0,"_"],[90419,0,"c"],[90420,0,"$"],[90421,0," "],[90422,0,"i"],[90423,0,"s"],[90424,0," "],[90425,0,"s"],[90426,0,"t"],[90427,0,"i"],[90428,0,"l"],[90429,0,"l"],[90430,0," "],[90431,0,"a"],[90432,0,"b"],[90433,0,"l"],[90434,0,"e"],[90435,0," "],[90436,0,"t"],[90437,0,"o"],[90438,0," "],[90439,0,"e"],[90440,0,"x"],[90441,0,"e"],[90442,0,"c"],[90443,0,"u"],[90444,0,"t"],[90445,0,"e"],[90445,1],[90444,1],[90443,1],[90442,1],[90441,1],[90440,1],[90439,1],[90438,1],[90437,1],[90436,1],[90435,1],[90434,1],[90433,1],[90432,1],[90431,1],[90430,1],[90429,1],[90428,1],[90427,1],[90426,1],[90425,1],[90424,1],[90423,1],[90422,1],[90422,0,"a"],[90423,0,"p"],[90424,0,"p"],[90425,0,"l"],[90426,0,"i"],[90427,0,"e"],[90428,0,"s"],[90429,0," "],[90430,0,"i"],[90431,0,"n"],[90432,0," "],[90433,0,"t"],[90434,0,"h"],[90435,0,"e"],[90436,0," "],[90437,0,"s"],[90438,0,"a"],[90439,0,"m"],[90440,0,"e"],[90441,0," "],[90442,0,"w"],[90443,0,"a"],[90444,0,"s"],[90444,1],[90444,0,"y"],[90445,0," "],[90446,0,"a"],[90447,0,"s"],[90448,0," "],[90449,0,"i"],[90450,0,"f"],[90451,0," "],[90452,0,"$"],[90453,0,"o"],[90454,0,"_"],[90455,0,"d"],[90456,0,"$"],[90457,0," "],[90458,0,"h"],[90459,0,"a"],[90460,0,"d"],[90461,0," "],[90462,0,"n"],[90463,0,"o"],[90464,0,"t"],[90465,0," "],[90466,0,"b"],[90467,0,"e"],[90468,0,"e"],[90469,0,"n"],[90470,0," "],[90471,0,"a"],[90472,0,"p"],[90473,0,"p"],[90474,0,"l"],[90475,0,"i"],[90476,0,"e"],[90477,0,"d"],[90478,0," "],[90479,0,"p"],[90480,0,"r"],[90481,0,"e"],[90482,0,"v"],[90483,0,"i"],[90484,0,"o"],[90485,0,"u"],[90486,0,"s"],[90487,0,"l"],[90488,0,"y"],[90489,0,","],[90490,0," "],[90491,0,"b"],[90492,0,"e"],[90493,0,"c"],[90494,0,"a"],[90495,0,"u"],[90496,0,"s"],[90497,0,"e"],[90498,0," "],[90499,0,"$"],[90500,0,"o"],[90501,0,"_"],[90502,0,"d"],[90503,0,"$"],[90504,0," "],[90504,1],[90503,1],[90502,1],[90501,1],[90500,1],[90499,1],[90499,0,"a"],[90500,0," "],[90500,1],[90499,1],[90499,0,"$"],[90500,0,"o"],[90501,0,"_"],[90502,0,"d"],[90503,0,"$"],[90504,0," "],[90504,1],[90503,1],[90502,1],[90501,1],[90500,1],[90499,1],[90499,0,"a"],[90500,0,"p"],[90501,0,"p"],[90502,0,"l"],[90503,0,"y"],[90504,0,"i"],[90505,0,"n"],[90506,0,"g"],[90507,0," "],[90508,0,"a"],[90509,0," "],[90510,0,"d"],[90511,0,"e"],[90512,0,"l"],[90513,0,"e"],[90514,0,"t"],[90515,0,"i"],[90516,0,"o"],[90517,0,"n"],[90518,0," "],[90519,0,"o"],[90520,0,"n"],[90521,0,"l"],[90522,0,"y"],[90523,0," "],[90524,0,"m"],[90525,0,"o"],[90526,0,"d"],[90527,0,"i"],[90528,0,"f"],[90529,0,"i"],[90530,0,"e"],[90531,0,"s"],[90532,0," "],[90533,0,"p"],[90534,0,"r"],[90535,0,"e"],[90536,0,"s"],[90537,0,"e"],[90538,0,"n"],[90539,0,"c"],[90540,0,"e"],[90541,0," "],[90542,0,"s"],[90543,0,"e"],[90544,0,"t"],[90545,0,"s"],[90546,0," "],[90547,0,"a"],[90548,0,"n"],[90549,0,"d"],[90550,0," "],[90551,0,"r"],[90552,0,"e"],[90553,0,"g"],[90554,0,"i"],[90555,0,"s"],[90556,0,"t"],[90557,0,"e"],[90558,0,"r"],[90559,0,"s"],[90560,0,","],[90561,0," "],[90562,0,"b"],[90563,0,"u"],[90564,0,"t"],[90565,0," "],[90566,0,"d"],[90567,0,"o"],[90568,0,"e"],[90569,0,"s"],[90570,0," "],[90571,0,"n"],[90572,0,"o"],[90573,0,"t"],[90574,0," "],[90575,0,"a"],[90576,0,"c"],[90577,0,"t"],[90578,0,"u"],[90579,0,"a"],[90580,0,"l"],[90581,0,"l"],[90582,0,"y"],[90583,0," "],[90584,0,"r"],[90585,0,"e"],[90586,0,"m"],[90587,0,"o"],[90588,0,"v"],[90589,0,"e"],[90590,0," "],[90591,0,"a"],[90592,0,"n"],[90593,0,"y"],[90594,0," "],[90595,0,"m"],[90596,0,"a"],[90597,0,"p"],[90598,0," "],[90599,0,"k"],[90600,0,"e"],[90601,0,"y"],[90602,0,"s"],[90603,0," "],[90604,0,"o"],[90605,0,"r"],[90606,0," "],[90607,0,"l"],[90608,0,"i"],[90609,0,"s"],[90610,0,"t"],[90611,0," "],[90612,0,"i"],[90613,0,"t"],[90614,0,"e"],[90615,0,"m"],[90616,0,"s"],[90616,1],[90615,1],[90614,1],[90613,1],[90612,1],[90612,0,"e"],[90613,0,"l"],[90614,0,"e"],[90615,0,"m"],[90616,0,"e"],[90617,0,"n"],[90618,0,"t"],[90619,0,"s"],[90620,0,"."],[90620,0,","],[90621,0," "],[90622,0,"a"],[90623,0,"n"],[90624,0,"d"],[90625,0," "],[90626,0,"b"],[90627,0,"e"],[90628,0,"c"],[90629,0,"a"],[90630,0,"u"],[90631,0,"s"],[90632,0,"e"],[90633,0," "],[90634,0,"t"],[90635,0,"h"],[90636,0,"e"],[90637,0," "],[90638,0,"r"],[90639,0,"u"],[90640,0,"l"],[90641,0,"e"],[90642,0,"s"],[90643,0," "],[90644,0,"f"],[90645,0,"o"],[90646,0,"r"],[90647,0," "],[90648,0,"a"],[90649,0,"p"],[90650,0,"p"],[90651,0,"l"],[90652,0,"y"],[90653,0,"i"],[90654,0,"n"],[90655,0,"g"],[90656,0," "],[90657,0,"a"],[90658,0,"n"],[90659,0," "],[90660,0,"o"],[90661,0,"p"],[90662,0,"e"],[90663,0,"r"],[90664,0,"a"],[90665,0,"t"],[90666,0,"i"],[90667,0,"o"],[90668,0,"n"],[90669,0," "],[90670,0,"a"],[90671,0,"r"],[90672,0,"e"],[90673,0," "],[90674,0,"n"],[90675,0,"o"],[90676,0,"t"],[90677,0," "],[90678,0,"c"],[90679,0,"o"],[90680,0,"n"],[90681,0,"d"],[90682,0,"i"],[90683,0,"t"],[90684,0,"i"],[90685,0,"o"],[90686,0,"n"],[90687,0,"a"],[90688,0,"l"],[90689,0," "],[90690,0,"o"],[90691,0,"n"],[90692,0," "],[90693,0,"t"],[90694,0,"h"],[90695,0,"e"],[90696,0," "],[90697,0,"p"],[90698,0,"r"],[90699,0,"e"],[90700,0,"v"],[90701,0,"i"],[90702,0,"o"],[90703,0,"u"],[90704,0,"s"],[90705,0," "],[90706,0,"c"],[90707,0,"o"],[90708,0,"n"],[90709,0,"t"],[90710,0,"e"],[90711,0,"n"],[90712,0,"t"],[90713,0," "],[90714,0,"o"],[90715,0,"f"],[90716,0," "],[90717,0,"p"],[90718,0,"r"],[90719,0,"e"],[90720,0,"s"],[90721,0,"e"],[90722,0,"n"],[90723,0,"c"],[90724,0,"e"],[90725,0," "],[90726,0,"s"],[90727,0,"e"],[90728,0,"t"],[90729,0,"s"],[90730,0," "],[90731,0,"a"],[90732,0,"n"],[90733,0,"d"],[90734,0," "],[90735,0,"r"],[90736,0,"e"],[90737,0,"g"],[90738,0,"i"],[90739,0,"s"],[90740,0,"t"],[90741,0,"e"],[90742,0,"r"],[90743,0,"s"],[90573,1],[90572,1],[90571,1],[90570,1],[90569,1],[90568,1],[90567,1],[90566,1],[90565,1],[90564,1],[90563,1],[90562,1],[90562,0,"w"],[90563,0,"i"],[90564,0,"t"],[90565,0,"h"],[90566,0,"o"],[90567,0,"u"],[90568,0,"t"],[90584,1],[90584,0,"i"],[90585,0,"n"],[90586,0,"g"],[90587,1],[90587,1],[90587,1],[90587,1],[90740,0,"T"],[90741,0,"h"],[90742,0,"u"],[90743,0,"s"],[90744,0,","],[90745,0," "],[90746,1],[90746,0,"t"],[90790,1],[90790,1],[90790,1],[90790,1],[90790,1],[93202,1],[93201,1],[93200,1],[93199,1],[93198,1],[93197,1],[93196,1],[93195,1],[93194,1],[93193,1],[93192,1],[93191,1],[93190,1],[93189,1],[93188,1],[93187,1],[93186,1],[93185,1],[93184,1],[93183,1],[93182,1],[93181,1],[93180,1],[93179,1],[93178,1],[93177,1],[93176,1],[93175,1],[93174,1],[93173,1],[93172,1],[93171,1],[93170,1],[93169,1],[93168,1],[93167,1],[93166,1],[93165,1],[93164,1],[93163,1],[93162,1],[93161,1],[93160,1],[93159,1],[93158,1],[93157,1],[93156,1],[93155,1],[93154,1],[93153,1],[93152,1],[93151,1],[93150,1],[93149,1],[93148,1],[93147,1],[93146,1],[93145,1],[93144,1],[93143,1],[93142,1],[93141,1],[93140,1],[93139,1],[93138,1],[93137,1],[93136,1],[93135,1],[93134,1],[93133,1],[93132,1],[93131,1],[93130,1],[93129,1],[93128,1],[93127,1],[93126,1],[93125,1],[93124,1],[93123,1],[93122,1],[93121,1],[93120,1],[93119,1],[93118,1],[93117,1],[93116,1],[93115,1],[93114,1],[93113,1],[93112,1],[93111,1],[93110,1],[93109,1],[93108,1],[93107,1],[93106,1],[93105,1],[93104,1],[93103,1],[93102,1],[93101,1],[93100,1],[93099,1],[93098,1],[93097,1],[93096,1],[93095,1],[93094,1],[93093,1],[93092,1],[93091,1],[93090,1],[93089,1],[93088,1],[93087,1],[93086,1],[93085,1],[93084,1],[93083,1],[93082,1],[93081,1],[93080,1],[93079,1],[93078,1],[93077,1],[93076,1],[93075,1],[93074,1],[93073,1],[93072,1],[93071,1],[93070,1],[93069,1],[93068,1],[93067,1],[93066,1],[93065,1],[93064,1],[93063,1],[93062,1],[93061,1],[93060,1],[93059,1],[93058,1],[93057,1],[93056,1],[93055,1],[93054,1],[93053,1],[93052,1],[93051,1],[93050,1],[93049,1],[93048,1],[93047,1],[93046,1],[93045,1],[93044,1],[93043,1],[93042,1],[93041,1],[93040,1],[93039,1],[93038,1],[93037,1],[93036,1],[93035,1],[93034,1],[93033,1],[93032,1],[93031,1],[93030,1],[93029,1],[93028,1],[93027,1],[93026,1],[93025,1],[93024,1],[93023,1],[93022,1],[93021,1],[93020,1],[93019,1],[93018,1],[93017,1],[93016,1],[93015,1],[93014,1],[93013,1],[93012,1],[93011,1],[93010,1],[93009,1],[93008,1],[93007,1],[93006,1],[93005,1],[93004,1],[93003,1],[93002,1],[93001,1],[93000,1],[92999,1],[92998,1],[92997,1],[92996,1],[92995,1],[92994,1],[92993,1],[92992,1],[92991,1],[92990,1],[92989,1],[92988,1],[92987,1],[92986,1],[92985,1],[92984,1],[92983,1],[92982,1],[92981,1],[92980,1],[92979,1],[92978,1],[92977,1],[92976,1],[92975,1],[92974,1],[92973,1],[92972,1],[92971,1],[92970,1],[92969,1],[92968,1],[92967,1],[92966,1],[92965,1],[92964,1],[92963,1],[92962,1],[92961,1],[92960,1],[92959,1],[92958,1],[92957,1],[92956,1],[92955,1],[92954,1],[92953,1],[92952,1],[92951,1],[92950,1],[92949,1],[92948,1],[92947,1],[92946,1],[92945,1],[92944,1],[92943,1],[92942,1],[92941,1],[92940,1],[92939,1],[92938,1],[92937,1],[92936,1],[92935,1],[92934,1],[92933,1],[92932,1],[92931,1],[92930,1],[92929,1],[92928,1],[92927,1],[92926,1],[92925,1],[92924,1],[92923,1],[92922,1],[92921,1],[92920,1],[92919,1],[92918,1],[92917,1],[92916,1],[92915,1],[92914,1],[92913,1],[92912,1],[92911,1],[92910,1],[92909,1],[92908,1],[92907,1],[92906,1],[92905,1],[92904,1],[92903,1],[92902,1],[92901,1],[92900,1],[92899,1],[92898,1],[92897,1],[92896,1],[92895,1],[92894,1],[92893,1],[92892,1],[92891,1],[92890,1],[92889,1],[92888,1],[92887,1],[92886,1],[92885,1],[92884,1],[92883,1],[92882,1],[92881,1],[92880,1],[92879,1],[92878,1],[92877,1],[92876,1],[92875,1],[92874,1],[92873,1],[92872,1],[92871,1],[92870,1],[92869,1],[92868,1],[92867,1],[92866,1],[92865,1],[92864,1],[92863,1],[92862,1],[92861,1],[92860,1],[92859,1],[92858,1],[92857,1],[92856,1],[92855,1],[92854,1],[92853,1],[92852,1],[92851,1],[92850,1],[92849,1],[92848,1],[92847,1],[92846,1],[92845,1],[92844,1],[92843,1],[92842,1],[92841,1],[92840,1],[92839,1],[92838,1],[92837,1],[92836,1],[92835,1],[92834,1],[92833,1],[92832,1],[92831,1],[92830,1],[92829,1],[92828,1],[92827,1],[92826,1],[92825,1],[92824,1],[92823,1],[92822,1],[92821,1],[92820,1],[92819,1],[92818,1],[92817,1],[92816,1],[92815,1],[92814,1],[92813,1],[92812,1],[92811,1],[92810,1],[92809,1],[92808,1],[92807,1],[92806,1],[92805,1],[92804,1],[92803,1],[92802,1],[92801,1],[92800,1],[92799,1],[92798,1],[92797,1],[92796,1],[92795,1],[92794,1],[92793,1],[92792,1],[92791,1],[92790,1],[92789,1],[92788,1],[92787,1],[92786,1],[92785,1],[92784,1],[92783,1],[92782,1],[92781,1],[92780,1],[92779,1],[92778,1],[92777,1],[92776,1],[92775,1],[92774,1],[92773,1],[92772,1],[92771,1],[92770,1],[92769,1],[92768,1],[92767,1],[92766,1],[92765,1],[92764,1],[92763,1],[92762,1],[92761,1],[92760,1],[92759,1],[92758,1],[92757,1],[92756,1],[92755,1],[92754,1],[92753,1],[92752,1],[92751,1],[92750,1],[92749,1],[92748,1],[92747,1],[92746,1],[92745,1],[92744,1],[92743,1],[92742,1],[92741,1],[92740,1],[92739,1],[92738,1],[92737,1],[92736,1],[92735,1],[92734,1],[92733,1],[92732,1],[92731,1],[92730,1],[92729,1],[92728,1],[92727,1],[92726,1],[92725,1],[92724,1],[92723,1],[92722,1],[92721,1],[92720,1],[92719,1],[92718,1],[92717,1],[92716,1],[92715,1],[92714,1],[92713,1],[92712,1],[92711,1],[92710,1],[92709,1],[92708,1],[92707,1],[92706,1],[92705,1],[92704,1],[92703,1],[92702,1],[92701,1],[92700,1],[92699,1],[92698,1],[92697,1],[92696,1],[92695,1],[92694,1],[92693,1],[92692,1],[92691,1],[92690,1],[92689,1],[92688,1],[92687,1],[92686,1],[92685,1],[92684,1],[92683,1],[92682,1],[92681,1],[92680,1],[92679,1],[92678,1],[92677,1],[92676,1],[92675,1],[92674,1],[92673,1],[92672,1],[92671,1],[92670,1],[92669,1],[92668,1],[92667,1],[92666,1],[92665,1],[92664,1],[92663,1],[92662,1],[92661,1],[92660,1],[92659,1],[92658,1],[92657,1],[92656,1],[92655,1],[92654,1],[92653,1],[92652,1],[92651,1],[92650,1],[92649,1],[92648,1],[92647,1],[92646,1],[92645,1],[92644,1],[92643,1],[92642,1],[92641,1],[92640,1],[92639,1],[92638,1],[92637,1],[92636,1],[92635,1],[92634,1],[92633,1],[92632,1],[92631,1],[92630,1],[92629,1],[92628,1],[92627,1],[92626,1],[92625,1],[92624,1],[92623,1],[92622,1],[92621,1],[92620,1],[92619,1],[92618,1],[92617,1],[92616,1],[92615,1],[92614,1],[92613,1],[92612,1],[92611,1],[92610,1],[92609,1],[92608,1],[92607,1],[92606,1],[92605,1],[92604,1],[92603,1],[92602,1],[92601,1],[92600,1],[92599,1],[92598,1],[92597,1],[92596,1],[92595,1],[92594,1],[92593,1],[92592,1],[92591,1],[92590,1],[92589,1],[92588,1],[92587,1],[92586,1],[92585,1],[92584,1],[92583,1],[92582,1],[92581,1],[92580,1],[92579,1],[92578,1],[92577,1],[92576,1],[92575,1],[92574,1],[92573,1],[92572,1],[92571,1],[92570,1],[92569,1],[92568,1],[92567,1],[92566,1],[92565,1],[92564,1],[92563,1],[92562,1],[92561,1],[92560,1],[92559,1],[92558,1],[92557,1],[92556,1],[92555,1],[92554,1],[92553,1],[92552,1],[92551,1],[92550,1],[92549,1],[92548,1],[92547,1],[92546,1],[92545,1],[92544,1],[92543,1],[92542,1],[92541,1],[92540,1],[92539,1],[92538,1],[92537,1],[92536,1],[92535,1],[92534,1],[92533,1],[92532,1],[92531,1],[92530,1],[92529,1],[92528,1],[92527,1],[92526,1],[92525,1],[92524,1],[92523,1],[92522,1],[92521,1],[92520,1],[92519,1],[92518,1],[92517,1],[92516,1],[92515,1],[92514,1],[92513,1],[92512,1],[92511,1],[92510,1],[92509,1],[92508,1],[92507,1],[92506,1],[92505,1],[92504,1],[92503,1],[92502,1],[92501,1],[92500,1],[92499,1],[92498,1],[92497,1],[92496,1],[92495,1],[92494,1],[92493,1],[92492,1],[92491,1],[92490,1],[92489,1],[92488,1],[92487,1],[92486,1],[92485,1],[92484,1],[92483,1],[92482,1],[92481,1],[92480,1],[92479,1],[92478,1],[92477,1],[92476,1],[92475,1],[92474,1],[92473,1],[92472,1],[92471,1],[92470,1],[92469,1],[92468,1],[92467,1],[92466,1],[92465,1],[92464,1],[92463,1],[92462,1],[92461,1],[92460,1],[92459,1],[92458,1],[92457,1],[92456,1],[92455,1],[92454,1],[92453,1],[92452,1],[92451,1],[92450,1],[92449,1],[92448,1],[92447,1],[92446,1],[92445,1],[92444,1],[92443,1],[92442,1],[92441,1],[92440,1],[92439,1],[92438,1],[92437,1],[92436,1],[92435,1],[92434,1],[92433,1],[92432,1],[92431,1],[92430,1],[92429,1],[92428,1],[92427,1],[92426,1],[92425,1],[92424,1],[92423,1],[92422,1],[92421,1],[92420,1],[92419,1],[92418,1],[92417,1],[92416,1],[92415,1],[92414,1],[92413,1],[92412,1],[92411,1],[92410,1],[92409,1],[92408,1],[92407,1],[92406,1],[92405,1],[92404,1],[92403,1],[92402,1],[92401,1],[92400,1],[92399,1],[92398,1],[92397,1],[92396,1],[92395,1],[92394,1],[92393,1],[92392,1],[92391,1],[92390,1],[92389,1],[92388,1],[92387,1],[92386,1],[92385,1],[92384,1],[92383,1],[92382,1],[92381,1],[92380,1],[92379,1],[92378,1],[92377,1],[92376,1],[92375,1],[92374,1],[92373,1],[92372,1],[92371,1],[92370,1],[92369,1],[92368,1],[92367,1],[92366,1],[92365,1],[92364,1],[92363,1],[92362,1],[92361,1],[92360,1],[92359,1],[92358,1],[92357,1],[92356,1],[92355,1],[92354,1],[92353,1],[92352,1],[92351,1],[92350,1],[92349,1],[92348,1],[92347,1],[92346,1],[92345,1],[92344,1],[92343,1],[92342,1],[92341,1],[92340,1],[92339,1],[92338,1],[92337,1],[92336,1],[92335,1],[92334,1],[92333,1],[92332,1],[92331,1],[92330,1],[92329,1],[92328,1],[92327,1],[92326,1],[92325,1],[92324,1],[92323,1],[92322,1],[92321,1],[92320,1],[92319,1],[92318,1],[92317,1],[92316,1],[92315,1],[92314,1],[92313,1],[92312,1],[92311,1],[92310,1],[92309,1],[92308,1],[92307,1],[92306,1],[92305,1],[92304,1],[92303,1],[92302,1],[92301,1],[92300,1],[92299,1],[92298,1],[92297,1],[92296,1],[92295,1],[92294,1],[92293,1],[92292,1],[92291,1],[92290,1],[92289,1],[92288,1],[92287,1],[92286,1],[92285,1],[92284,1],[92283,1],[92282,1],[92281,1],[92280,1],[92279,1],[92278,1],[92277,1],[92276,1],[92275,1],[92274,1],[92273,1],[92272,1],[92271,1],[92270,1],[92269,1],[92268,1],[92267,1],[92266,1],[92265,1],[92264,1],[92263,1],[92262,1],[92261,1],[92260,1],[92259,1],[92258,1],[92257,1],[92256,1],[92255,1],[92254,1],[92253,1],[92252,1],[92251,1],[92250,1],[92249,1],[92248,1],[92247,1],[92246,1],[92245,1],[92244,1],[92243,1],[92242,1],[92241,1],[92240,1],[92239,1],[92238,1],[92237,1],[92236,1],[92235,1],[92234,1],[92233,1],[92232,1],[92231,1],[92230,1],[92229,1],[92228,1],[92227,1],[92226,1],[92225,1],[92224,1],[92223,1],[92222,1],[92221,1],[92220,1],[92219,1],[92218,1],[92217,1],[92216,1],[92215,1],[92214,1],[92213,1],[92212,1],[92211,1],[92210,1],[92209,1],[92208,1],[92207,1],[92206,1],[92205,1],[92204,1],[92203,1],[92202,1],[92201,1],[92200,1],[92199,1],[92198,1],[92197,1],[92196,1],[92195,1],[92194,1],[92193,1],[92192,1],[92191,1],[92190,1],[92189,1],[92188,1],[92187,1],[92186,1],[92185,1],[92184,1],[92183,1],[92182,1],[92181,1],[92180,1],[92179,1],[92178,1],[92177,1],[92176,1],[92175,1],[92174,1],[92173,1],[92172,1],[92171,1],[92170,1],[92169,1],[92168,1],[92167,1],[92166,1],[92165,1],[92164,1],[92163,1],[92162,1],[92161,1],[92160,1],[92159,1],[92158,1],[92157,1],[92156,1],[92155,1],[92154,1],[92153,1],[92152,1],[92151,1],[92150,1],[92149,1],[92148,1],[92147,1],[92146,1],[92145,1],[92144,1],[92143,1],[92142,1],[92141,1],[92140,1],[92139,1],[92138,1],[92137,1],[92136,1],[92135,1],[92134,1],[92133,1],[92132,1],[92131,1],[92130,1],[92129,1],[92128,1],[92127,1],[92126,1],[92125,1],[92124,1],[92123,1],[92122,1],[92121,1],[92120,1],[92119,1],[92118,1],[92117,1],[92116,1],[92115,1],[92114,1],[92113,1],[92112,1],[92111,1],[92110,1],[92109,1],[92108,1],[92107,1],[92106,1],[92105,1],[92104,1],[92103,1],[92102,1],[92101,1],[92100,1],[92099,1],[92098,1],[92097,1],[92096,1],[92095,1],[92094,1],[92093,1],[92092,1],[92091,1],[92090,1],[92089,1],[92088,1],[92087,1],[92086,1],[92085,1],[92084,1],[92083,1],[92082,1],[92081,1],[92080,1],[92079,1],[92078,1],[92077,1],[92076,1],[92075,1],[92074,1],[92073,1],[92072,1],[92071,1],[92070,1],[92069,1],[92068,1],[92067,1],[92066,1],[92065,1],[92064,1],[92063,1],[92062,1],[92061,1],[92060,1],[92059,1],[92058,1],[92057,1],[92056,1],[92055,1],[92054,1],[92053,1],[92052,1],[92051,1],[92050,1],[92049,1],[92048,1],[92047,1],[92046,1],[92045,1],[92044,1],[92043,1],[92042,1],[92041,1],[92040,1],[92039,1],[92038,1],[92037,1],[92036,1],[92035,1],[92034,1],[92033,1],[92032,1],[92031,1],[92030,1],[92029,1],[92028,1],[92027,1],[92026,1],[92025,1],[92024,1],[92023,1],[92022,1],[92021,1],[92020,1],[92019,1],[92018,1],[92017,1],[92016,1],[92015,1],[92014,1],[92013,1],[92012,1],[92011,1],[92010,1],[92009,1],[92008,1],[92007,1],[92006,1],[92005,1],[92004,1],[92003,1],[92002,1],[92001,1],[92000,1],[91999,1],[91998,1],[91997,1],[91996,1],[91995,1],[91994,1],[91993,1],[91992,1],[91991,1],[91990,1],[91989,1],[91988,1],[91987,1],[91986,1],[91985,1],[91984,1],[91983,1],[91982,1],[91981,1],[91980,1],[91979,1],[91978,1],[91977,1],[91976,1],[91975,1],[91974,1],[91973,1],[91972,1],[91971,1],[91970,1],[91969,1],[91968,1],[91967,1],[91966,1],[91965,1],[91964,1],[91963,1],[91962,1],[91961,1],[91960,1],[91959,1],[91958,1],[91957,1],[91956,1],[91955,1],[91954,1],[91953,1],[91952,1],[91951,1],[91950,1],[91949,1],[91948,1],[91947,1],[91946,1],[91945,1],[91944,1],[91943,1],[91942,1],[91941,1],[91940,1],[91939,1],[91938,1],[91937,1],[91936,1],[91935,1],[91934,1],[91933,1],[91932,1],[91931,1],[91930,1],[91929,1],[91928,1],[91927,1],[91926,1],[91925,1],[91924,1],[91923,1],[91922,1],[91921,1],[91920,1],[91919,1],[91918,1],[91917,1],[91916,1],[91915,1],[91914,1],[91913,1],[91912,1],[91911,1],[91910,1],[91909,1],[91908,1],[91907,1],[91906,1],[91905,1],[91904,1],[91903,1],[91902,1],[91901,1],[91900,1],[91899,1],[91898,1],[91897,1],[91896,1],[91895,1],[91894,1],[91893,1],[91892,1],[91891,1],[91890,1],[91889,1],[91888,1],[91887,1],[91886,1],[91885,1],[91884,1],[91883,1],[91882,1],[91881,1],[91880,1],[91879,1],[91878,1],[91877,1],[91876,1],[91875,1],[91874,1],[91873,1],[91872,1],[91871,1],[91870,1],[91869,1],[91868,1],[91867,1],[91866,1],[91865,1],[91864,1],[91863,1],[91862,1],[91861,1],[91860,1],[91859,1],[91858,1],[91857,1],[91856,1],[91855,1],[91854,1],[91853,1],[91852,1],[91851,1],[91850,1],[91849,1],[91848,1],[91847,1],[91846,1],[91845,1],[91844,1],[91843,1],[91842,1],[91841,1],[91840,1],[91839,1],[91838,1],[91837,1],[91836,1],[91835,1],[91834,1],[91833,1],[91832,1],[91831,1],[91830,1],[91829,1],[91828,1],[91827,1],[91826,1],[91825,1],[91824,1],[91823,1],[91822,1],[91821,1],[91820,1],[91819,1],[91818,1],[91817,1],[91816,1],[91815,1],[91814,1],[91813,1],[91812,1],[91811,1],[91810,1],[91809,1],[91808,1],[91807,1],[91806,1],[91805,1],[91804,1],[91803,1],[91802,1],[91801,1],[91800,1],[91799,1],[91798,1],[91797,1],[91796,1],[91795,1],[91794,1],[91793,1],[91792,1],[91791,1],[91790,1],[91789,1],[91788,1],[91787,1],[91786,1],[91785,1],[91784,1],[91783,1],[91782,1],[91781,1],[91780,1],[91779,1],[91778,1],[91777,1],[91776,1],[91775,1],[91774,1],[91773,1],[91772,1],[91771,1],[91770,1],[91769,1],[91768,1],[91767,1],[91766,1],[91765,1],[91764,1],[91763,1],[91762,1],[91761,1],[91760,1],[91759,1],[91758,1],[91757,1],[91756,1],[91755,1],[91754,1],[91753,1],[91752,1],[91751,1],[91750,1],[91749,1],[91748,1],[91747,1],[91746,1],[91745,1],[91744,1],[91743,1],[91742,1],[91741,1],[91740,1],[91739,1],[91738,1],[91737,1],[91736,1],[91735,1],[91734,1],[91733,1],[91732,1],[91731,1],[91730,1],[91729,1],[91728,1],[91727,1],[91726,1],[91725,1],[91724,1],[91723,1],[91722,1],[91721,1],[91720,1],[91719,1],[91718,1],[91717,1],[91716,1],[91715,1],[91714,1],[91713,1],[91712,1],[91711,1],[91710,1],[91709,1],[91708,1],[91707,1],[91706,1],[91705,1],[91704,1],[91703,1],[91702,1],[91701,1],[91700,1],[91699,1],[91698,1],[91697,1],[91696,1],[91695,1],[91694,1],[91693,1],[91692,1],[91691,1],[91690,1],[91689,1],[91688,1],[91687,1],[91686,1],[91685,1],[91684,1],[91683,1],[91682,1],[91681,1],[91680,1],[91679,1],[91678,1],[91677,1],[91676,1],[91675,1],[91674,1],[91673,1],[91672,1],[91671,1],[91670,1],[91669,1],[91668,1],[91667,1],[91666,1],[91665,1],[91664,1],[91663,1],[91662,1],[91661,1],[91660,1],[91659,1],[91658,1],[91657,1],[91656,1],[91655,1],[91654,1],[91653,1],[91652,1],[91651,1],[91650,1],[91649,1],[91648,1],[91647,1],[91646,1],[91645,1],[91644,1],[91643,1],[91642,1],[91641,1],[91640,1],[91639,1],[91638,1],[91637,1],[91636,1],[91635,1],[91634,1],[91633,1],[91632,1],[91631,1],[91630,1],[91629,1],[91628,1],[91627,1],[91626,1],[91625,1],[91624,1],[91623,1],[91622,1],[91621,1],[91620,1],[91619,1],[91618,1],[91617,1],[91616,1],[91615,1],[91614,1],[91613,1],[91612,1],[91611,1],[91610,1],[91609,1],[91608,1],[91607,1],[91606,1],[91605,1],[91604,1],[91603,1],[91602,1],[91601,1],[91600,1],[91599,1],[91598,1],[91597,1],[91596,1],[91595,1],[91594,1],[91593,1],[91592,1],[91591,1],[91590,1],[91589,1],[91588,1],[91587,1],[91586,1],[91585,1],[91584,1],[91583,1],[91582,1],[91581,1],[91580,1],[91579,1],[91578,1],[91577,1],[91576,1],[91575,1],[91574,1],[91573,1],[91572,1],[91571,1],[91570,1],[91569,1],[91568,1],[91567,1],[91566,1],[91565,1],[91564,1],[91563,1],[91562,1],[91561,1],[91560,1],[91559,1],[91558,1],[91557,1],[91556,1],[91555,1],[91554,1],[91553,1],[91552,1],[91551,1],[91550,1],[91549,1],[91548,1],[91547,1],[91546,1],[91545,1],[91544,1],[91543,1],[91542,1],[91541,1],[91540,1],[91539,1],[91538,1],[91537,1],[91536,1],[91535,1],[91534,1],[91533,1],[91532,1],[91531,1],[91530,1],[91529,1],[91528,1],[91527,1],[91526,1],[91525,1],[91524,1],[91523,1],[91522,1],[91521,1],[91520,1],[91519,1],[91518,1],[91517,1],[91516,1],[91515,1],[91514,1],[91513,1],[91512,1],[91511,1],[91510,1],[91509,1],[91508,1],[91507,1],[91506,1],[91505,1],[91504,1],[91503,1],[91502,1],[91501,1],[91500,1],[91499,1],[91498,1],[91497,1],[91496,1],[91495,1],[91494,1],[91493,1],[91492,1],[91491,1],[91490,1],[91489,1],[91488,1],[91487,1],[91486,1],[91485,1],[91484,1],[91483,1],[91482,1],[91481,1],[91480,1],[91479,1],[91478,1],[91477,1],[91476,1],[91475,1],[91474,1],[91473,1],[91472,1],[91471,1],[91470,1],[91469,1],[91468,1],[91467,1],[91466,1],[91465,1],[91464,1],[91463,1],[91462,1],[91461,1],[91460,1],[91459,1],[91458,1],[91457,1],[91456,1],[91455,1],[91454,1],[91453,1],[91452,1],[91451,1],[91450,1],[91449,1],[91448,1],[91447,1],[91446,1],[91445,1],[91444,1],[91443,1],[91442,1],[91441,1],[91440,1],[91439,1],[91438,1],[91437,1],[91436,1],[91435,1],[91434,1],[91433,1],[91432,1],[91431,1],[91430,1],[91429,1],[91428,1],[91427,1],[91426,1],[91425,1],[91424,1],[91423,1],[91422,1],[91421,1],[91420,1],[91419,1],[91418,1],[91417,1],[91416,1],[91415,1],[91414,1],[91413,1],[91412,1],[91411,1],[91410,1],[91409,1],[91408,1],[91407,1],[91406,1],[91405,1],[91404,1],[91403,1],[91402,1],[91401,1],[91400,1],[91399,1],[91398,1],[91397,1],[91396,1],[91395,1],[91394,1],[91393,1],[91392,1],[91391,1],[91390,1],[91389,1],[91388,1],[91387,1],[91386,1],[91385,1],[91384,1],[91383,1],[91382,1],[91381,1],[91380,1],[91379,1],[91378,1],[91377,1],[91376,1],[91375,1],[91374,1],[91373,1],[91372,1],[91371,1],[91370,1],[91369,1],[91368,1],[91367,1],[91366,1],[91365,1],[91364,1],[91363,1],[91362,1],[91361,1],[91360,1],[91359,1],[91358,1],[91357,1],[91356,1],[91355,1],[91354,1],[91353,1],[91352,1],[91351,1],[91350,1],[91349,1],[91348,1],[91347,1],[91346,1],[91345,1],[91344,1],[91343,1],[91342,1],[91341,1],[91340,1],[91339,1],[91338,1],[91337,1],[91336,1],[91335,1],[91334,1],[91333,1],[91332,1],[91331,1],[91330,1],[91329,1],[91328,1],[91327,1],[91326,1],[91325,1],[91324,1],[91323,1],[91322,1],[91321,1],[91320,1],[91319,1],[91318,1],[91317,1],[91316,1],[91315,1],[91314,1],[91313,1],[91312,1],[91311,1],[91310,1],[91309,1],[91308,1],[91307,1],[91306,1],[91305,1],[91304,1],[91303,1],[91302,1],[91301,1],[91300,1],[91299,1],[91298,1],[91297,1],[91296,1],[91295,1],[91294,1],[91293,1],[91292,1],[91291,1],[91290,1],[91289,1],[91288,1],[91287,1],[91286,1],[91285,1],[91284,1],[91283,1],[91282,1],[91281,1],[91280,1],[91279,1],[91278,1],[91277,1],[91276,1],[91275,1],[91274,1],[91273,1],[91272,1],[91271,1],[91270,1],[91269,1],[91268,1],[91267,1],[91266,1],[91265,1],[91264,1],[91263,1],[91262,1],[91261,1],[91260,1],[91259,1],[91258,1],[91257,1],[91256,1],[91255,1],[91254,1],[91253,1],[91252,1],[91251,1],[91250,1],[91249,1],[91248,1],[91247,1],[91246,1],[91245,1],[91244,1],[91243,1],[91242,1],[91241,1],[91240,1],[91239,1],[91238,1],[91237,1],[91236,1],[91235,1],[91234,1],[91233,1],[91232,1],[91231,1],[91230,1],[91229,1],[91228,1],[91227,1],[91226,1],[91225,1],[91224,1],[91223,1],[91222,1],[91221,1],[91220,1],[91219,1],[91218,1],[91217,1],[91216,1],[91215,1],[91214,1],[91213,1],[91212,1],[91211,1],[91210,1],[91209,1],[91208,1],[91207,1],[91206,1],[91205,1],[91204,1],[91203,1],[91202,1],[91201,1],[91200,1],[91199,1],[91198,1],[91197,1],[91196,1],[91195,1],[91194,1],[91193,1],[91192,1],[91191,1],[91190,1],[91189,1],[91188,1],[91187,1],[91186,1],[91185,1],[91184,1],[91183,1],[91182,1],[91181,1],[91180,1],[91179,1],[91178,1],[91177,1],[91176,1],[91175,1],[91174,1],[91173,1],[91172,1],[91171,1],[91170,1],[91169,1],[91168,1],[91167,1],[91166,1],[91165,1],[91164,1],[91163,1],[91162,1],[91161,1],[91160,1],[91159,1],[91158,1],[91157,1],[91156,1],[91155,1],[91154,1],[91153,1],[91152,1],[91151,1],[91150,1],[91149,1],[91148,1],[91147,1],[91146,1],[91145,1],[91144,1],[91143,1],[91142,1],[91141,1],[91140,1],[91139,1],[91138,1],[91137,1],[91136,1],[91135,1],[91134,1],[91133,1],[91132,1],[91131,1],[91130,1],[91129,1],[91128,1],[91127,1],[91126,1],[91125,1],[91124,1],[91123,1],[91122,1],[91121,1],[91120,1],[91119,1],[91118,1],[91117,1],[91116,1],[91115,1],[91114,1],[91113,1],[91112,1],[91111,1],[91110,1],[91109,1],[91108,1],[91107,1],[91106,1],[91105,1],[91104,1],[91103,1],[91102,1],[91101,1],[91100,1],[91099,1],[91098,1],[91097,1],[91096,1],[91095,1],[91094,1],[91093,1],[91092,1],[91091,1],[91090,1],[91089,1],[91088,1],[91087,1],[91086,1],[91085,1],[91084,1],[91083,1],[91082,1],[91081,1],[91080,1],[91079,1],[91078,1],[91077,1],[91076,1],[91075,1],[91074,1],[91073,1],[91072,1],[91071,1],[91070,1],[91069,1],[91068,1],[91067,1],[91066,1],[91065,1],[91064,1],[91063,1],[91062,1],[91061,1],[91060,1],[91059,1],[91058,1],[91057,1],[91056,1],[91055,1],[91054,1],[91053,1],[91052,1],[91051,1],[91050,1],[91049,1],[91048,1],[91047,1],[91046,1],[91045,1],[91044,1],[91043,1],[91042,1],[91041,1],[91040,1],[91039,1],[91038,1],[91037,1],[91036,1],[91035,1],[91034,1],[91033,1],[91032,1],[91031,1],[91030,1],[91029,1],[91028,1],[91027,1],[91026,1],[91025,1],[91024,1],[91023,1],[91022,1],[91021,1],[91020,1],[91019,1],[91018,1],[91017,1],[91016,1],[91015,1],[91014,1],[91013,1],[91012,1],[91011,1],[91010,1],[91009,1],[91008,1],[91007,1],[91006,1],[91005,1],[91004,1],[91003,1],[91002,1],[91001,1],[91000,1],[90999,1],[90998,1],[90997,1],[90996,1],[90995,1],[90994,1],[90993,1],[90992,1],[90991,1],[90990,1],[90989,1],[90988,1],[90988,0,"\n"],[91005,1],[91004,1],[91003,1],[91002,1],[91001,1],[91000,1],[90999,1],[90998,1],[90997,1],[90996,1],[90995,1],[90995,0," "],[90996,0,"i"],[90997,0,"n"],[90998,0,"c"],[90999,0,"l"],[91000,0,"u"],[91001,0,"d"],[91002,0,"e"],[91003,0," "],[91003,1],[91003,0,"a"],[91004,0,"p"],[91005,0,"p"],[91006,0,"e"],[91007,0,"n"],[91008,0,"d"],[91009,0,"i"],[91010,0,"x"],[640,1],[639,1],[638,1],[637,1],[636,1],[635,1],[634,1],[633,1],[632,1],[631,1],[631,0,"i"],[632,0,"n"],[633,0,"c"],[634,0,"l"],[635,0,"u"],[636,0,"d"],[637,0,"e"],[638,0,"a"],[639,0,"p"],[640,0,"p"],[641,0,"e"],[642,0,"n"],[643,0,"d"],[644,0,"i"],[645,0,"x"],[657,1],[656,1],[655,1],[654,1],[653,1],[652,1],[651,1],[650,1],[649,1],[648,1],[648,0,"i"],[649,0,"n"],[650,0,"c"],[651,0,"l"],[652,0,"u"],[653,0,"d"],[654,0,"e"],[655,0,"a"],[656,0,"p"],[657,0,"p"],[658,0,"e"],[659,0,"n"],[660,0,"d"],[661,0,"i"],[662,0,"x"],[74837,1],[74836,1],[74835,1],[74834,1],[74833,1],[74832,1],[74831,1],[74830,1],[74829,1],[74828,1],[74828,0,"i"],[74829,0,"n"],[74830,0,"c"],[74831,0,"l"],[74832,0,"u"],[74833,0,"d"],[74834,0,"e"],[74835,0,"a"],[74836,0,"p"],[74837,0,"p"],[74838,0,"e"],[74839,0,"n"],[74840,0,"d"],[74841,0,"i"],[74842,0,"x"],[90927,0,"I"],[90928,0,"n"],[90929,0," "],[90930,0,"a"],[90931,0," "],[90932,0,"h"],[90933,0,"i"],[90934,0,"s"],[90935,0,"t"],[90936,0,"o"],[90937,0,"r"],[90938,0,"y"],[90939,0," "],[90940,0,"$"],[90941,0,"H"],[90942,0,"$"],[90943,0,","],[90944,0," "],[90945,0,"a"],[90946,0,"n"],[90947,0," "],[90948,1],[90948,0,"a"],[90958,0," "],[90959,0,"o"],[90960,0,"p"],[90961,0,"e"],[90962,0,"r"],[90963,0,"a"],[90964,0,"t"],[90965,0,"i"],[90966,0,"o"],[90967,0,"n"],[91034,0,"\n"],[91035,0,"\n"],[91036,0,"\\"],[91037,0,"b"],[91038,0,"e"],[91039,0,"g"],[91040,0,"i"],[91041,0,"n"],[91042,0,"{"],[91043,0,"p"],[91044,0,"r"],[91045,0,"o"],[91046,0,"o"],[91047,0,"f"],[91048,0,"}"],[91049,0,"\n"],[91050,0,"\\"],[91051,0,"e"],[91052,0,"n"],[91053,0,"d"],[91054,0,"{"],[91055,0,"p"],[91056,0,"r"],[91057,0,"o"],[91058,0,"o"],[91059,0,"f"],[91060,0,"}"],[91049,0,"\n"],[91050,0,"G"],[91051,0,"i"],[91052,0,"v"],[91053,0,"e"],[91054,0,"n"],[91055,0," "],[91056,0,"a"],[91057,0,"n"],[91058,0," "],[91059,0,"a"],[91060,0,"s"],[91061,0,"s"],[91062,0,"i"],[91063,0,"g"],[91064,0,"n"],[91065,0,"m"],[91066,0,"e"],[91067,0,"n"],[91068,0,"t"],[91069,0," "],[91070,0,"$"],[91071,0,"o"],[91072,0,"_"],[91073,0,"a"],[91074,0,"$"],[91075,0," "],[91076,0,"a"],[91077,0,"n"],[91078,0,"d"],[91079,0," "],[91080,0,"a"],[91081,0,"n"],[91082,0,"y"],[91083,0," "],[91084,0,"o"],[91085,0,"t"],[91086,0,"h"],[91087,0,"e"],[91088,0,"r"],[91089,0," "],[91090,0,"c"],[91091,0,"o"],[91092,0,"n"],[91093,0,"c"],[91094,0,"u"],[91095,0,"r"],[91096,0,"r"],[91097,0,"e"],[91098,0,"n"],[91099,0,"t"],[91100,0," "],[91101,0,"o"],[91102,0,"p"],[91103,0,"e"],[91104,0,"r"],[91105,0,"a"],[91106,0,"t"],[91107,0,"i"],[91108,0,"o"],[91109,0,"n"],[91110,0," "],[91111,0,"$"],[91112,0,"o"],[91113,0,"_"],[91114,0,"c"],[91115,0,"$"],[91116,0,","],[91117,0," "],[91118,0,"w"],[91119,0,"e"],[91120,0," "],[91121,0,"m"],[91122,0,"u"],[91123,0,"s"],[91124,0,"t"],[91125,0," "],[91126,0,"s"],[91127,0,"h"],[91128,0,"o"],[91129,0,"w"],[91130,0," "],[91131,0,"t"],[91132,0,"h"],[91133,0,"a"],[91134,0,"t"],[91135,0," "],[91136,0,"t"],[91137,0,"h"],[91138,0,"e"],[91139,0," "],[91140,0,"d"],[91141,0,"o"],[91142,0,"c"],[91143,0,"u"],[91144,0,"m"],[91145,0,"e"],[91146,0,"n"],[91147,0,"t"],[91148,0," "],[91149,0,"s"],[91150,0,"t"],[91151,0,"a"],[91152,0,"t"],[91153,0,"e"],[91154,0," "],[91155,0,"a"],[91156,0,"f"],[91157,0,"t"],[91158,0,"e"],[91159,0,"r"],[91160,0," "],[91161,0,"a"],[91162,0,"p"],[91163,0,"p"],[91164,0,"l"],[91165,0,"y"],[91166,0,"i"],[91167,0,"n"],[91168,0,"g"],[91169,0," "],[91170,0,"b"],[91171,0,"o"],[91172,0,"t"],[91173,0,"h"],[91174,0," "],[91175,0,"o"],[91176,0,"p"],[91177,0,"e"],[91178,0,"r"],[91179,0,"a"],[91180,0,"t"],[91181,0,"i"],[91182,0,"o"],[91183,0,"n"],[91184,0,"s"],[91185,0," "],[91186,0,"d"],[91187,0,"o"],[91188,0,"e"],[91189,0,"s"],[91190,0," "],[91191,0,"n"],[91192,0,"o"],[91193,0,"t"],[91194,0," "],[91195,0,"d"],[91196,0,"e"],[91197,0,"p"],[91198,0,"e"],[91199,0,"n"],[91200,0,"d"],[91201,0," "],[91202,0,"o"],[91203,0,"n"],[91204,0," "],[91205,0,"t"],[91206,0,"h"],[91207,0,"e"],[91208,0," "],[91209,0,"o"],[91210,0,"r"],[91211,0,"d"],[91212,0,"e"],[91213,0,"r"],[91214,0," "],[91215,0,"i"],[91216,0,"n"],[91217,0," "],[91218,0,"w"],[91219,0,"h"],[91220,0,"i"],[91221,0,"c"],[91222,0,"h"],[91223,0," "],[91224,0,"o"],[91224,1],[91224,0,"$"],[91225,0,"o"],[91226,0,"_"],[91227,0,"a"],[91228,0,"$"],[91229,0," "],[91230,0,"a"],[91231,0,"n"],[91232,0,"d"],[91233,0," "],[91234,0,"$"],[91235,0,"o"],[91236,0,"_"],[91237,0,"c"],[91238,0,"$"],[91239,0," "],[91240,0,"w"],[91241,0,"e"],[91242,0,"r"],[91243,0,"e"],[91244,0," "],[91245,0,"a"],[91246,0,"p"],[91247,0,"p"],[91248,0,"l"],[91249,0,"i"],[91250,0,"e"],[91251,0,"d"],[91252,0,"."],[91253,0,"\n"],[91254,0,"\n"],[91255,0,"T"],[91256,0,"h"],[91257,0,"e"],[91258,0," "],[91259,0,"r"],[91260,0,"u"],[91261,0,"l"],[91262,0,"e"],[91263,0,"s"],[91264,0," "],[91265,0,"\\"],[91266,0,"t"],[91267,0,"e"],[91268,0,"x"],[91269,0,"t"],[91270,0,"s"],[91271,0,"c"],[91272,0,"{"],[91273,0,"A"],[91274,0,"s"],[91275,0,"s"],[91276,0,"i"],[91277,0,"g"],[91278,0,"n"],[91279,0,"}"],[91280,0,","],[91281,0," "],[91282,0,"\\"],[91283,0,"t"],[91284,0,"e"],[91285,0,"x"],[91286,0,"t"],[91287,0,"s"],[91288,0,"c"],[91289,0,"{"],[91290,0,"E"],[91291,0,"m"],[91292,0,"p"],[91293,0,"t"],[91294,0,"y"],[91295,0,"-"],[91296,0,"M"],[91297,0,"a"],[91298,0,"p"],[91299,0,"}"],[91300,0," "],[91301,0,"a"],[91302,0,"n"],[91303,0,"d"],[91304,0," "],[91305,0,"\\"],[91306,0,"t"],[91307,0,"e"],[91308,0,"x"],[91309,0,"t"],[91310,0,"s"],[91311,0,"c"],[91312,0,"{"],[91313,0,"E"],[91314,0,"m"],[91315,0,"p"],[91316,0,"t"],[91317,0,"y"],[91318,0,"-"],[91319,0,"L"],[91320,0,"i"],[91321,0,"s"],[91322,0,"t"],[91323,0,"}"],[91324,0," "],[91325,0,"d"],[91326,0,"e"],[91327,0,"f"],[91328,0,"i"],[91329,0,"n"],[91330,0,"e"],[91331,0," "],[91332,0,"h"],[91333,0,"o"],[91334,0,"w"],[91335,0," "],[91336,0,"a"],[91337,0,"n"],[91338,0," "],[91339,0,"a"],[91340,0,"s"],[91341,0,"s"],[91342,0,"i"],[91343,0,"g"],[91344,0,"n"],[91345,0,"m"],[91346,0,"e"],[91347,0,"n"],[91348,0,"t"],[91349,0," "],[91350,0,"o"],[91351,0,"p"],[91352,0,"e"],[91353,0,"r"],[91354,0,"a"],[91355,0,"t"],[91356,0,"i"],[91357,0,"o"],[91358,0,"n"],[91359,0," "],[91360,0,"$"],[91361,0,"o"],[91362,0,"_"],[91363,0,"a"],[91364,0,"$"],[91365,0," "],[91366,0,"i"],[91367,0,"s"],[91368,0," "],[91369,0,"a"],[91370,0,"p"],[91371,0,"p"],[91372,0,"l"],[91373,0,"i"],[91374,0,"e"],[91375,0,"d"],[91376,0,","],[91377,0," "],[91378,0,"d"],[91379,0,"e"],[91380,0,"p"],[91381,0,"e"],[91382,0,"n"],[91383,0,"d"],[91384,0,"i"],[91385,0,"n"],[91386,0,"g"],[91387,0," "],[91388,0,"o"],[91389,0,"n"],[91390,0," "],[91391,0,"t"],[91392,0,"h"],[91393,0,"e"],[91394,0," "],[91395,0,"v"],[91396,0,"a"],[91397,0,"l"],[91398,0,"u"],[91399,0,"e"],[91400,0," "],[91401,0,"b"],[91402,0,"e"],[91403,0,"i"],[91404,0,"n"],[91405,0,"g"],[91406,0," "],[91407,0,"a"],[91408,0,"s"],[91409,0,"s"],[91410,0,"i"],[91411,0,"g"],[91412,0,"n"],[91413,0,"e"],[91414,0,"d"],[91415,0,"."],[91416,0," "],[91417,0,"A"],[91418,0,"l"],[91419,0,"l"],[91420,0," "],[91421,0,"t"],[91422,0,"h"],[91423,0,"r"],[91424,0,"e"],[91425,0,"e"],[91426,0," "],[91427,0,"r"],[91428,0,"u"],[91429,0,"l"],[91430,0,"e"],[91431,0,"s"],[91432,0," "],[91433,0,"f"],[91434,0,"i"],[91435,0,"r"],[91436,0,"s"],[91437,0,"t"],[91438,0," "],[91439,0,"c"],[91440,0,"l"],[91441,0,"e"],[91442,0,"a"],[91443,0,"r"],[91444,0," "],[91445,0,"a"],[91446,0,"n"],[91447,0,"y"],[91448,0," "],[91449,0,"c"],[91450,0,"a"],[91451,0,"u"],[91452,0,"s"],[91453,0,"a"],[91454,0,"l"],[91455,0,"l"],[91456,0,"y"],[91457,0," "],[91458,0,"p"],[91459,0,"r"],[91460,0,"i"],[91461,0,"o"],[91462,0,"r"],[91463,0," "],[91464,0,"s"],[91465,0,"t"],[91466,0,"a"],[91467,0,"t"],[91468,0,"e"],[91469,0," "],[91470,0,"f"],[91471,0,"r"],[91472,0,"o"],[91473,0,"m"],[91474,0," "],[91475,0,"t"],[91476,0,"h"],[91477,0,"e"],[91478,0," "],[91479,0,"c"],[91480,0,"u"],[91481,0,"r"],[91482,0,"s"],[91483,0,"o"],[91484,0,"r"],[91485,0," "],[91486,0,"a"],[91487,0,"t"],[91488,0," "],[91489,0,"w"],[91490,0,"h"],[91491,0,"i"],[91492,0,"c"],[91493,0,"h"],[91494,0," "],[91495,0,"t"],[91496,0,"h"],[91497,0,"e"],[91498,0," "],[91499,0,"a"],[91500,0,"s"],[91501,0,"s"],[91502,0,"i"],[91503,0,"g"],[91504,0,"n"],[91505,0,"m"],[91506,0,"e"],[91507,0,"n"],[91508,0,"t"],[91509,0," "],[91510,0,"i"],[91511,0,"s"],[91512,0," "],[91513,0,"o"],[91514,0,"c"],[91515,0,"c"],[91516,0,"u"],[91517,0,"r"],[91518,0,"r"],[91519,0,"i"],[91520,0,"n"],[91521,0,"g"],[91522,0,";"],[91523,0," "],[91524,0,"b"],[91525,0,"y"],[91526,0," "],[91527,0,"L"],[91528,0,"e"],[91529,0,"m"],[91530,0,"m"],[91531,0,"a"],[91532,0,"~"],[91533,0,"\\"],[91534,0,"r"],[91535,0,"e"],[91536,0,"f"],[91537,0,"{"],[91538,0,"l"],[91539,0,"e"],[91540,0,"m"],[91541,0,":"],[91542,0,"d"],[91543,0,"e"],[91544,0,"l"],[91545,0,"e"],[91546,0,"t"],[91547,0,"e"],[91548,0,"-"],[91549,0,"c"],[91550,0,"o"],[91551,0,"m"],[91552,0,"m"],[91553,0,"u"],[91554,0,"t"],[91555,0,"e"],[91556,0,"}"],[91557,0,","],[91558,0," "],[91559,0,"t"],[91560,0,"h"],[91561,0,"i"],[91562,0,"s"],[91563,0," "],[91564,0,"c"],[91565,0,"l"],[91566,0,"e"],[91567,0,"a"],[91568,0,"r"],[91569,0,"i"],[91570,0,"n"],[91571,0,"g"],[91572,0," "],[91573,0,"o"],[91574,0,"p"],[91575,0,"e"],[91576,0,"r"],[91577,0,"a"],[91578,0,"t"],[91579,0,"i"],[91580,0,"o"],[91581,0,"n"],[91582,0," "],[91583,0,"i"],[91584,0,"s"],[91585,0," "],[91586,0,"c"],[91587,0,"o"],[91588,0,"m"],[91589,0,"m"],[91590,0,"u"],[91591,0,"t"],[91592,0,"a"],[91593,0,"t"],[91594,0,"i"],[91595,0,"v"],[91596,0,"e"],[91597,0," "],[91598,0,"w"],[91599,0,"i"],[91600,0,"t"],[91601,0,"h"],[91602,0," "],[91603,0,"c"],[91604,0,"o"],[91605,0,"n"],[91606,0,"c"],[91607,0,"u"],[91608,0,"r"],[91609,0,"r"],[91610,0,"e"],[91611,0,"n"],[91612,0,"t"],[91613,0," "],[91614,0,"o"],[91615,0,"p"],[91616,0,"e"],[91617,0,"r"],[91618,0,"a"],[91619,0,"t"],[91620,0,"i"],[91621,0,"o"],[91622,0,"n"],[91623,0,"s"],[91624,0,","],[91625,0," "],[91626,0,"a"],[91627,0,"n"],[91628,0,"d"],[91629,0," "],[91630,0,"l"],[91631,0,"e"],[91632,0,"a"],[91633,0,"v"],[91634,0,"e"],[91635,0,"s"],[91636,0," "],[91637,0,"u"],[91638,0,"p"],[91639,0,"d"],[91640,0,"a"],[91641,0,"t"],[91642,0,"e"],[91643,0,"s"],[91644,0," "],[91645,0,"b"],[91646,0,"y"],[91647,0," "],[91648,0,"c"],[91649,0,"o"],[91650,0,"n"],[91651,0,"c"],[91652,0,"u"],[91653,0,"r"],[91654,0,"r"],[91655,0,"e"],[91656,0,"n"],[91657,0,"t"],[91658,0," "],[91659,0,"o"],[91660,0,"p"],[91661,0,"e"],[91662,0,"r"],[91663,0,"a"],[91664,0,"t"],[91665,0,"i"],[91666,0,"o"],[91667,0,"n"],[91668,0,"s"],[91669,0," "],[91670,0,"u"],[91671,0,"n"],[91672,0,"t"],[91673,0,"o"],[91674,0,"u"],[91675,0,"c"],[91676,0,"h"],[91677,0,"e"],[91678,0,"d"],[91679,0,"."],[91681,0,"\n"],[91681,0,"\n"],[33674,1],[33674,0,"B"],[33675,0,"i"],[33647,0,"\n"],[33648,0,"\\"],[33649,0,"A"],[33650,0,"x"],[33651,0,"i"],[33652,0,"o"],[33653,0,"m"],[33654,0,"C"],[33655,0,"{"],[33656,0,"$"],[33657,0,"k"],[33658,0,"_"],[33659,0,"n"],[33660,0," "],[33661,0,"\\"],[33662,0,"n"],[33663,0,"o"],[33664,0,"t"],[33665,0,"="],[33666,0," "],[33667,0,"\\"],[33668,0,"m"],[33669,0,"a"],[33670,0,"t"],[33671,0,"h"],[33672,0,"s"],[33673,0,"f"],[33674,0,"{"],[33675,0,"h"],[33676,0,"e"],[33677,0,"a"],[33678,0,"d"],[33679,0,"}"],[33680,0,"$"],[33681,0,"}"],[91718,0,"T"],[91719,0,"h"],[91720,0,"e"],[91721,0," "],[91722,0,"r"],[91723,0,"u"],[91724,0,"l"],[91725,0,"e"],[91726,0,"s"],[91727,0," "],[91728,0,"a"],[91729,0,"l"],[91730,0,"s"],[91731,0,"o"],[91732,0," "],[91733,0,"a"],[91734,0,"d"],[91735,0,"d"],[91736,0," "],[91737,0,"$"],[91738,0,"o"],[91739,0,"_"],[91740,0,"a"],[91741,0,"."],[91742,0,"\\"],[91743,0,"m"],[91744,0,"a"],[91745,0,"t"],[91746,0,"h"],[91747,0,"i"],[91748,0,"t"],[91749,0,"{"],[91750,0,"i"],[91751,0,"d"],[91752,0,"}"],[91753,0,"$"],[91754,0," "],[91755,0,"t"],[91756,0,"o"],[91757,0," "],[91758,0,"t"],[91759,0,"h"],[91760,0,"e"],[91761,0," "],[91762,0,"p"],[91763,0,"r"],[91764,0,"e"],[91765,0,"s"],[91766,0,"e"],[91767,0,"n"],[91768,0,"c"],[91769,0,"e"],[91770,0," "],[91771,0,"s"],[91772,0,"e"],[91773,0,"t"],[91774,0," "],[91775,0,"i"],[91776,0,"d"],[91777,0,"e"],[91778,0,"n"],[91779,0,"t"],[91780,0,"i"],[91781,0,"f"],[91782,0,"i"],[91783,0,"e"],[91784,0,"d"],[91785,0," "],[91786,0,"b"],[91787,0,"y"],[91788,0," "],[91789,0,"t"],[91790,0,"h"],[91791,0,"e"],[91792,0," "],[91793,0,"c"],[91794,0,"u"],[91795,0,"r"],[91796,0,"s"],[91797,0,"o"],[91798,0,"r"],[91799,0,","],[91800,0," "],[91801,0,"a"],[91802,0,"n"],[91803,0,"d"],[91804,0," "],[91805,0,"\\"],[91806,0,"t"],[91807,0,"e"],[91808,0,"x"],[91809,0,"t"],[91810,0,"s"],[91811,0,"c"],[91812,0,"{"],[91813,0,"D"],[91814,0,"e"],[91815,0,"s"],[91816,0,"c"],[91817,0,"e"],[91818,0,"n"],[91819,0,"d"],[91820,0,"}"],[91821,0," "],[91822,0,"a"],[91823,0,"d"],[91824,0,"d"],[91825,0,"s"],[91826,0," "],[91827,0,"$"],[91828,0,"o"],[91829,0,"_"],[91830,0,"a"],[91831,0,"."],[91832,0,"\\"],[91833,0,"m"],[91834,0,"a"],[91835,0,"t"],[91836,0,"h"],[91837,0,"i"],[91838,0,"t"],[91839,0,"{"],[91840,0,"i"],[91841,0,"d"],[91842,0,"}"],[91843,0,"$"],[91844,0," "],[91845,0,"t"],[91846,0,"o"],[91847,0," "],[91848,0,"t"],[91849,0,"h"],[91850,0,"e"],[91851,0," "],[91852,0,"p"],[91853,0,"r"],[91854,0,"e"],[91855,0,"s"],[91856,0,"e"],[91857,0,"n"],[91858,0,"c"],[91859,0,"e"],[91860,0," "],[91861,0,"s"],[91862,0,"e"],[91863,0,"t"],[91864,0,"s"],[91865,0," "],[91866,0,"a"],[91867,0,"l"],[91867,1],[91866,1],[91866,0,"o"],[91867,0,"n"],[91868,0," "],[91869,0,"t"],[91870,0,"h"],[91871,0,"e"],[91872,0," "],[91873,0,"p"],[91874,0,"a"],[91875,0,"t"],[91876,0,"h"],[91877,0," "],[91878,0,"f"],[91879,0,"r"],[91880,0,"o"],[91881,0,"m"],[91882,0," "],[91883,0,"t"],[91884,0,"h"],[91885,0,"e"],[91886,0," "],[91887,0,"r"],[91888,0,"o"],[91889,0,"o"],[91890,0,"t"],[91891,0," "],[91892,0,"o"],[91893,0,"f"],[91894,0," "],[91895,0,"t"],[91896,0,"h"],[91897,0,"e"],[91898,0," "],[91899,0,"d"],[91900,0,"o"],[91901,0,"c"],[91902,0,"u"],[91903,0,"m"],[91904,0,"e"],[91905,0,"n"],[91906,0,"t"],[91907,0," "],[91908,0,"t"],[91909,0,"r"],[91910,0,"e"],[91911,0,"e"],[91912,0," "],[91913,0,"d"],[91914,0,"e"],[91915,0,"s"],[91916,0,"c"],[91917,0,"r"],[91918,0,"i"],[91919,0,"b"],[91920,0,"e"],[91921,0,"d"],[91922,0," "],[91923,0,"b"],[91924,0,"y"],[91925,0," "],[91926,0,"t"],[91927,0,"h"],[91928,0,"e"],[91929,0," "],[91930,0,"c"],[91931,0,"u"],[91932,0,"r"],[91933,0,"s"],[91934,0,"o"],[91935,0,"r"],[91936,0,"."],[91937,0," "],[91938,0,"T"],[91939,0,"h"],[91940,0,"e"],[91941,0,"s"],[91942,0,"e"],[91943,0," "],[91944,0,"s"],[91945,0,"t"],[91946,0,"a"],[91947,0,"t"],[91948,0,"e"],[91949,0," "],[91950,0,"c"],[91951,0,"h"],[91952,0,"a"],[91953,0,"n"],[91954,0,"g"],[91955,0,"e"],[91956,0,"s"],[91957,0," "],[91958,0,"a"],[91959,0,"r"],[91960,0,"e"],[91961,0," "],[91962,0,"a"],[91963,0,"p"],[91964,0,"p"],[91965,0,"l"],[91966,0,"i"],[91967,0,"e"],[91968,0,"d"],[91969,0," "],[91970,0,"u"],[91971,0,"s"],[91972,0,"i"],[91973,0,"n"],[91974,0,"g"],[91975,0," "],[91976,0,"t"],[91977,0,"h"],[91978,0,"e"],[91979,0," "],[91980,0,"s"],[91981,0,"e"],[91982,0,"t"],[91983,0," "],[91984,0,"u"],[91985,0,"n"],[91986,0,"i"],[91987,0,"o"],[91988,0,"n"],[91989,0," "],[91990,0,"o"],[91991,0,"p"],[91992,0,"e"],[91993,0,"r"],[91994,0,"a"],[91995,0,"t"],[91996,0,"o"],[91997,0,"r"],[91998,0," "],[91999,0,"$"],[92000,0,"\\"],[92001,0,"c"],[92002,0,"u"],[92003,0,"p"],[92004,0,"$"],[92005,0,","],[92006,0," "],[92007,0,"w"],[92008,0,"h"],[92009,0,"i"],[92010,0,"c"],[92011,0,"h"],[92012,0," "],[92013,0,"i"],[92014,0,"s"],[92015,0," "],[92016,0,"c"],[92017,0,"o"],[92018,0,"m"],[92019,0,"m"],[92020,0,"u"],[92021,0,"t"],[92022,0,"a"],[92023,0,"t"],[92024,0,"i"],[92025,0,"v"],[92026,0,"e"],[92027,0,"."],[92028,0,"\n"],[92029,0,"\n"],[92030,0,"F"],[92031,0,"i"],[92032,0,"n"],[92033,0,"a"],[92034,0,"l"],[92035,0,"l"],[92036,0,"y"],[92037,0," "],[92037,1],[92037,0,","],[92038,0," "],[92039,0,"i"],[92040,0,"n"],[92041,0," "],[92042,0,"t"],[92043,0,"h"],[92044,0,"e"],[92045,0," "],[92046,0,"c"],[92047,0,"a"],[92048,0,"s"],[92049,0,"e"],[92050,0," "],[92051,0,"w"],[92052,0,"h"],[92053,0,"e"],[92054,0,"r"],[92055,0,"e"],[92056,0," "],[92057,0,"t"],[92058,0,"h"],[92059,0,"e"],[92060,0," "],[92061,0,"a"],[92062,0,"s"],[92063,0,"s"],[92064,0,"i"],[92065,0,"g"],[92066,0,"n"],[92067,0,"e"],[92068,0,"d"],[92069,0," "],[92070,0,"v"],[92071,0,"a"],[92072,0,"l"],[92073,0,"u"],[92074,0,"e"],[92075,0," "],[92076,0,"i"],[92077,0,"s"],[92078,0," "],[92079,0,"a"],[92080,0," "],[92081,0,"p"],[92082,0,"r"],[92083,0,"i"],[92084,0,"m"],[92085,0,"i"],[92086,0,"t"],[92087,0,"i"],[92088,0,"v"],[92089,0,"e"],[92090,0," "],[92091,0,"a"],[92092,0,"n"],[92093,0,"d"],[92094,0," "],[92095,0,"t"],[92096,0,"h"],[92097,0,"e"],[92098,0," "],[92099,0,"\\"],[92100,0,"t"],[92101,0,"e"],[92102,0,"x"],[92103,0,"t"],[92104,0,"s"],[92105,0,"c"],[92106,0,"{"],[92107,0,"A"],[92108,0,"s"],[92109,0,"s"],[92110,0,"i"],[92111,0,"g"],[92112,0,"n"],[92113,0,"}"],[92114,0," "],[92115,0,"r"],[92116,0,"u"],[92117,0,"l"],[92118,0,"e"],[92119,0," "],[92120,0,"a"],[92121,0,"p"],[92122,0,"p"],[92123,0,"l"],[92124,0,"i"],[92125,0,"e"],[92126,0,"s"],[92056,0," "],[92057,0,"v"],[92058,0,"a"],[92059,0,"l"],[92060,0,"u"],[92061,0,"e"],[92062,0," "],[92063,0,"a"],[92064,0,"s"],[92065,0,"s"],[92066,0,"i"],[92067,0,"g"],[92068,0,"n"],[92069,0,"e"],[92070,0,"d"],[92071,0," "],[92072,0,"b"],[92073,0,"y"],[92074,0," "],[92075,0,"$"],[92076,0,"o"],[92077,0,"_"],[92078,0,"a"],[92079,0,"$"],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92081,1],[92132,0,","],[92133,0," "],[92134,0,"t"],[92135,0,"h"],[92136,0,"e"],[92137,0," "],[92138,0,"m"],[92139,0,"a"],[92140,0,"p"],[92141,0,"p"],[92142,0,"i"],[92143,0,"n"],[92144,0,"g"],[92145,0," "],[92146,0,"f"],[92147,0,"r"],[92148,0,"o"],[92149,0,"m"],[92150,0," "],[92151,0,"o"],[92152,0,"p"],[92153,0,"e"],[92154,0,"r"],[92155,0,"a"],[92156,0,"t"],[92157,0,"i"],[92158,0,"o"],[92159,0,"n"],[92160,0," "],[92161,0,"I"],[92162,0,"D"],[92163,0," "],[92164,0,"t"],[92165,0,"o"],[92166,0," "],[92167,0,"v"],[92168,0,"a"],[92169,0,"l"],[92170,0,"u"],[92171,0,"e"],[92172,0," "],[92173,0,"i"],[92174,0,"s"],[92175,0," "],[92176,0,"a"],[92177,0,"d"],[92178,0,"d"],[92179,0,"e"],[92180,0,"d"],[92181,0," "],[92182,0,"t"],[92183,0,"o"],[92184,0," "],[92185,0,"t"],[92186,0,"h"],[92187,0,"e"],[92188,0," "],[92189,0,"r"],[92190,0,"e"],[92191,0,"g"],[92192,0,"i"],[92193,0,"s"],[92194,0,"t"],[92195,0,"e"],[92196,0,"r"],[92197,0," "],[92198,0,"u"],[92199,0,"s"],[92200,0,"i"],[92201,0,"n"],[92202,0,"g"],[92203,0," "],[92203,1],[92202,1],[92201,1],[92200,1],[92199,1],[92198,1],[92197,1],[92197,0,":"],[92198,0," "],[92199,0,"#"],[92199,1],[92199,0,"$"],[92200,0,"\\"],[92201,0,"m"],[92202,0,"a"],[92203,0,"t"],[92204,0,"h"],[92205,0,"i"],[92206,0,"t"],[92207,0,"{"],[92208,0,"c"],[92209,0,"h"],[92210,0,"i"],[92211,0,"l"],[92212,0,"d"],[92213,0,"}"],[92214,0,"["],[92215,0,"\\"],[92216,0,","],[92217,0,"\\"],[92218,0,"m"],[92219,0,"a"],[92220,0,"t"],[92221,0,"h"],[92222,0,"i"],[92223,0,"t"],[92224,0,"{"],[92225,0,"i"],[92226,0,"d"],[92227,0,"}"],[92228,0," "],[92229,0,"\\"],[92230,0,"m"],[92231,0,"a"],[92232,0,"p"],[92233,0,"s"],[92234,0,"t"],[92235,0,"o"],[92236,0," "],[92237,0,"\\"],[92238,0,"m"],[92239,0,"a"],[92240,0,"t"],[92241,0,"h"],[92242,0,"i"],[92243,0,"t"],[92244,0,"{"],[92245,0,"v"],[92246,0,"a"],[92247,0,"l"],[92248,0,"}"],[92249,0,"\\"],[92250,0,","],[92251,0,"]"],[92252,0,"$"],[92253,0,"."],[92197,1],[92197,0," "],[92198,0,"b"],[92199,0,"y"],[92200,0," "],[92201,0,"t"],[92202,0,"h"],[92203,0,"e"],[92204,0," "],[92205,0,"e"],[92206,0,"x"],[92207,0,"p"],[92208,0,"r"],[92209,0,"e"],[92210,0,"s"],[92211,0,"s"],[92212,0,"i"],[92213,0,"o"],[92214,0,"n"],[92271,0," "],[92272,0,"S"],[92273,0,"i"],[92274,0,"n"],[92275,0,"c"],[92276,0,"e"],[92277,0," "],[92278,0,"o"],[92279,0,"p"],[92280,0,"e"],[92281,0,"r"],[92282,0,"a"],[92283,0,"t"],[92284,0,"i"],[92285,0,"o"],[92286,0,"n"],[92287,0," "],[92288,0,"I"],[92289,0,"D"],[92290,0,"s"],[92291,0," "],[92292,0,"("],[92293,0,"L"],[92294,0,"a"],[92295,0,"m"],[92296,0,"p"],[92297,0,"o"],[92298,0,"r"],[92299,0,"t"],[92300,0," "],[92301,0,"t"],[92302,0,"i"],[92303,0,"m"],[92304,0,"e"],[92305,0,"s"],[92306,0,"t"],[92307,0,"a"],[92308,0,"m"],[92309,0,"p"],[92310,0,"s"],[92311,0,")"],[92312,0," "],[92313,0,"a"],[92314,0,"r"],[92315,0,"e"],[92316,0," "],[92317,0,"u"],[92318,0,"n"],[92319,0,"i"],[92320,0,"q"],[92321,0,"u"],[92322,0,"e"],[92323,0,","],[92324,0," "],[92325,0,"a"],[92326,0,"n"],[92327,0,"d"],[92328,0," "],[92329,0,"c"],[92330,0,"o"],[92331,0,"n"],[92332,0,"c"],[92333,0,"u"],[92334,0,"r"],[92335,0,"r"],[92336,0,"e"],[92337,0,"n"],[92338,0,"t"],[92339,0," "],[92340,0,"d"],[92341,0,"e"],[92342,0,"l"],[92343,0,"e"],[92344,0,"t"],[92345,0,"i"],[92346,0,"o"],[92347,0,"n"],[92348,0," "],[92349,0,"o"],[92350,0,"p"],[92351,0,"e"],[92352,0,"r"],[92353,0,"a"],[92354,0,"t"],[92355,0,"i"],[92356,0,"o"],[92357,0,"n"],[92358,0,"s"],[92359,0," "],[92360,0,"d"],[92361,0,"o"],[92362,0," "],[92363,0,"n"],[92364,0,"o"],[92365,0,"t"],[92366,0," "],[92367,0,"r"],[92368,0,"e"],[92369,0,"m"],[92370,0,"o"],[92371,0,"v"],[92372,0,"e"],[92373,0," "],[92374,0,"\\"],[92375,0,"m"],[92376,0,"a"],[92377,0,"t"],[92378,0,"h"],[92379,0,"i"],[92380,0,"t"],[92381,0,"{"],[92382,0,"i"],[92383,0,"d"],[92384,0,"}"],[92385,0," "],[92386,0,"f"],[92387,0,"r"],[92388,0,"o"],[92389,0,"m"],[92390,0," "],[92391,0,"t"],[92392,0,"h"],[92393,0,"e"],[92394,0," "],[92395,0,"m"],[92396,0,"a"],[92397,0,"p"],[92398,0,"p"],[92399,0,"i"],[92400,0,"n"],[92401,0,"g"],[92402,0,","],[92403,0," "],[92404,0,"a"],[92405,0," "],[92406,0,"c"],[92407,0,"o"],[92408,0,"n"],[92409,0,"c"],[92410,0,"u"],[92411,0,"r"],[92412,0,"r"],[92413,0,"e"],[92414,0,"n"],[92415,0,"t"],[92416,0," "],[92417,0,"o"],[92418,0,"p"],[92419,0,"e"],[92420,0,"r"],[92421,0,"a"],[92422,0,"t"],[92423,0,"i"],[92424,0,"o"],[92425,0,"n"],[92426,0," "],[92427,0,"c"],[92428,0,"a"],[92429,0,"n"],[92430,0,"n"],[92431,0,"o"],[92432,0,"t"],[92433,0," "],[92434,0,"a"],[92435,0,"f"],[92436,0,"f"],[92437,0,"e"],[92438,0,"c"],[92439,0,"t"],[92440,0," "],[92441,0,"t"],[92442,0,"h"],[92443,0,"e"],[92444,0," "],[92445,0,"m"],[92446,0,"a"],[92447,0,"p"],[92448,0,"p"],[92449,0,"i"],[92450,0,"n"],[92451,0,"g"],[92452,0," "],[92453,0,"o"],[92454,0,"f"],[92455,0," "],[92456,0,"#"],[92456,1],[92456,0,"$"],[92457,0,"\\"],[92458,0,"m"],[92459,0,"a"],[92460,0,"t"],[92461,0,"h"],[92462,0,"i"],[92463,0,"t"],[92464,0,"{"],[92465,0,"i"],[92466,0,"d"],[92467,0,"}"],[92468,0,"$"],[92469,0,"."],[92271,0," "],[92271,1],[92469,0,","],[92470,0," "],[92471,0,"r"],[92472,0,"e"],[92473,0,"g"],[92474,0,"a"],[92475,0,"r"],[92476,0,"d"],[92477,0,"l"],[92478,0,"e"],[92479,0,"s"],[92480,0,"s"],[92481,0," "],[92482,0,"o"],[92483,0,"f"],[92484,0," "],[92485,0,"w"],[92486,0,"h"],[92487,0,"e"],[92488,0,"t"],[92489,0,"h"],[92490,0,"e"],[92491,0,"r"],[92492,0," "],[92493,0,"i"],[92494,0,"t"],[92495,0," "],[92496,0,"i"],[92497,0,"s"],[92498,0," "],[92499,0,"a"],[92500,0,"p"],[92501,0,"p"],[92502,0,"l"],[92503,0,"i"],[92504,0,"e"],[92505,0,"d"],[92506,0," "],[92507,0,"b"],[92508,0,"e"],[92509,0,"f"],[92510,0,"o"],[92511,0,"r"],[92512,0,"e"],[92513,0," "],[92514,0,"o"],[92515,0,"r"],[92516,0," "],[92517,0,"a"],[92518,0,"f"],[92519,0,"t"],[92520,0,"e"],[92521,0,"r"],[92432,1],[92431,1],[92430,1],[92429,1],[92428,1],[92427,1],[92427,0,"d"],[92428,0,"o"],[92429,0,"e"],[92430,0,"s"],[92520,0," "],[92521,0,"$"],[92522,0,"o"],[92523,0,"_"],[92524,0,"a"],[92525,0,"$"],[92527,0,"\n"],[92528,0,"\n"],[92529,0,"I"],[92530,0,"f"],[92531,0," "],[92532,0,"$"],[92533,0,"o"],[92534,0,"_"],[92535,0,"a"],[92536,0,"."],[92537,0,"\\"],[92538,0,"m"],[92539,0,"a"],[92540,0,"t"],[92541,0,"h"],[92542,0,"i"],[92543,0,"t"],[92544,0,"{"],[92545,0,"c"],[92546,0,"u"],[92547,0,"r"],[92548,0,"s"],[92549,0,"o"],[92550,0,"r"],[92551,0,"}"],[92552,0," "],[92553,0,"\\"],[92554,0,"n"],[92555,0,"o"],[92556,0,"t"],[92557,0,"="],[92558,0," "],[92559,0,"o"],[92560,0,"_"],[92561,0,"c"],[92562,0,"."],[92563,0,"\\"],[92564,0,"m"],[92565,0,"a"],[92566,0,"t"],[92567,0,"h"],[92568,0,"i"],[92569,0,"t"],[92570,0,"{"],[92571,0,"c"],[92572,0,"u"],[92573,0,"r"],[92574,0,"s"],[92575,0,"o"],[92576,0,"r"],[92577,0,"}"],[92578,0,"$"],[92579,0,","],[92580,0," "],[92581,0,"t"],[92582,0,"h"],[92583,0,"e"],[92584,0," "],[92585,0,"u"],[92586,0,"p"],[92587,0,"d"],[92588,0,"a"],[92589,0,"t"],[92590,0,"e"],[92591,0,"s"],[92592,0," "],[92592,1],[92591,1],[92590,1],[92589,1],[92588,1],[92587,1],[92586,1],[92585,1],[92585,0,"o"],[92586,0,"p"],[92587,0,"e"],[92588,0,"r"],[92589,0,"a"],[92590,0,"t"],[92591,0,"i"],[92592,0,"o"],[92593,0,"n"],[92594,0,"s"],[92595,0," "],[92596,0,"a"],[92597,0,"p"],[92598,0,"p"],[92599,0,"l"],[92600,0,"y"],[92601,0," "],[92602,0,"t"],[92603,0,"o"],[92604,0," "],[92531,0," "],[92532,0,"$"],[92533,0,"o"],[92534,0,"_"],[92535,0,"c"],[92536,0,"$"],[92537,0," "],[92538,0,"i"],[92539,0,"s"],[92540,0," "],[92541,0,"n"],[92542,0,"o"],[92543,0,"t"],[92544,0," "],[92545,0,"a"],[92546,0,"n"],[92547,0," "],[92548,0,"a"],[92549,0,"s"],[92550,0,"s"],[92551,0,"i"],[92552,0,"g"],[92553,0,"n"],[92554,0,"m"],[92555,0,"e"],[92556,0,"n"],[92557,0,"t"],[92558,0," "],[92559,0,"o"],[92560,0,"p"],[92561,0,"e"],[92562,0,"r"],[92563,0,"a"],[92564,0,"t"],[92565,0,"i"],[92566,0,"o"],[92567,0,"n"],[92568,0," "],[92569,0,"o"],[92570,0,"r"],[92571,0," "],[92572,0,"i"],[92573,0,"f"],[92647,1],[92646,1],[92645,1],[92644,1],[92643,1],[92642,1],[92641,1],[92640,1],[92639,1],[92639,0,"a"],[92640,0,"r"],[92641,0,"e"],[92642,0," "],[92643,0,"i"],[92644,0,"n"],[92645,0,"d"],[92646,0,"e"],[92647,0,"p"],[92648,0,"e"],[92649,0,"n"],[92650,0,"d"],[92651,0,"e"],[92652,0,"n"],[92653,0,"t"],[92654,0," "],[92655,0,"a"],[92656,0,"n"],[92657,0,"d"],[92658,0," "],[92659,0,"t"],[92660,0,"h"],[92661,0,"u"],[92662,0,"s"],[92663,0," "],[92664,0,"t"],[92665,0,"r"],[92666,0,"i"],[92667,0,"v"],[92668,0,"i"],[92669,0,"a"],[92670,0,"l"],[92671,0,"l"],[92672,0,"y"],[92673,0," "],[92674,0,"c"],[92675,0,"o"],[92676,0,"m"],[92677,0,"m"],[92678,0,"u"],[92679,0,"t"],[92680,0,"a"],[92681,0,"t"],[92682,0,"i"],[92683,0,"v"],[92684,0,"e"],[92685,0,"."],[92686,0," "],[92687,0,"I"],[92688,0,"f"],[92689,0," "],[92690,0,"$"],[92691,0,"o"],[92692,0,"_"],[92693,0,"a"],[92694,0,"$"],[92695,0," "],[92696,0,"a"],[92697,0,"n"],[92698,0,"d"],[92699,0," "],[92700,0,"$"],[92701,0,"o"],[92702,0,"_"],[92703,0,"c"],[92704,0,"$"],[92705,0," "],[92706,0,"a"],[92707,0,"r"],[92708,0,"e"],[92709,0," "],[92710,0,"a"],[92711,0,"s"],[92712,0,"s"],[92713,0,"i"],[92714,0,"g"],[92715,0,"n"],[92716,0,"m"],[92717,0,"e"],[92718,0,"n"],[92719,0,"t"],[92720,0,"s"],[92721,0," "],[92722,0,"t"],[92723,0,"o"],[92724,0," "],[92725,0,"t"],[92726,0,"h"],[92727,0,"e"],[92728,0," "],[92729,0,"s"],[92730,0,"a"],[92731,0,"m"],[92732,0,"e"],[92733,0," "],[92734,0,"c"],[92735,0,"u"],[92736,0,"r"],[92737,0,"s"],[92738,0,"o"],[92739,0,"r"],[92740,0,","],[92741,0," "],[92742,0,"w"],[92743,0,"e"],[92744,0," "],[92745,0,"u"],[92746,0,"s"],[92747,0,"e"],[92748,0," "],[92749,0,"t"],[92750,0,"h"],[92751,0,"e"],[92752,0," "],[92753,0,"f"],[92754,0,"a"],[92755,0,"c"],[92756,0,"t"],[92757,0," "],[92758,0,"t"],[92759,0,"h"],[92760,0,"a"],[92761,0,"t"],[92762,0," "],[92763,0,"t"],[92764,0,"h"],[92765,0,"e"],[92766,0," "],[92767,0,"o"],[92768,0,"r"],[92769,0,"d"],[92770,0,"e"],[92771,0,"r"],[92772,0," "],[92773,0,"o"],[92774,0,"f"],[92775,0," "],[92776,0,"u"],[92777,0,"p"],[92778,0,"d"],[92779,0,"a"],[92780,0,"t"],[92781,0,"e"],[92782,0,"s"],[92783,0," "],[92784,0,"t"],[92785,0,"o"],[92786,0," "],[92787,0,"a"],[92788,0," "],[92789,0,"p"],[92790,0,"a"],[92791,0,"r"],[92792,0,"t"],[92793,0,"i"],[92794,0,"a"],[92795,0,"l"],[92796,0," "],[92797,0,"f"],[92798,0,"u"],[92799,0,"n"],[92800,0,"c"],[92801,0,"t"],[92802,0,"i"],[92803,0,"o"],[92804,0,"n"],[92775,1],[92774,1],[92773,1],[92772,1],[92771,1],[92770,1],[92769,1],[92768,1],[92767,1],[92766,1],[92765,1],[92764,1],[92763,1],[92791,1],[92790,1],[92789,1],[92788,1],[92787,1],[92786,1],[92785,1],[92784,1],[92783,1],[92782,1],[92781,1],[92780,1],[92779,1],[92778,1],[92777,1],[92776,1],[92775,1],[92774,1],[92773,1],[92772,1],[92771,1],[92770,1],[92769,1],[92768,1],[92767,1],[92766,1],[92765,1],[92764,1],[92763,1],[92763,0,"$"],[92764,0,"\\"],[92765,0,"m"],[92766,0,"a"],[92767,0,"t"],[92768,0,"h"],[92769,0,"i"],[92770,0,"t"],[92771,0,"{"],[92772,0,"c"],[92773,0,"h"],[92774,0,"i"],[92775,0,"l"],[92776,0,"d"],[92777,0,"}"],[92778,0,"["],[92779,0,"\\"],[92780,0,","],[92781,0,"\\"],[92782,0,"m"],[92783,0,"a"],[92784,0,"t"],[92785,0,"h"],[92786,0,"i"],[92787,0,"t"],[92788,0,"{"],[92789,0,"i"],[92790,0,"d"],[92791,0,"}"],[92792,0,"_"],[92793,0,"1"],[92794,0," "],[92795,0,"\\"],[92796,0,"m"],[92797,0,"a"],[92798,0,"p"],[92799,0,"s"],[92800,0,"t"],[92801,0,"o"],[92802,0," "],[92803,0,"\\"],[92804,0,"m"],[92805,0,"a"],[92806,0,"t"],[92807,0,"h"],[92808,0,"i"],[92809,0,"t"],[92810,0,"{"],[92811,0,"v"],[92812,0,"a"],[92813,0,"l"],[92814,0,"_"],[92814,1],[92814,0,"}"],[92815,0,"_"],[92816,0,"1"],[92817,0,"\\"],[92818,0,","],[92819,0,"]"],[92820,0,"["],[92821,0,","],[92821,1],[92821,0,"\\"],[92822,0,","],[92823,0,"\\"],[92824,0,"m"],[92825,0,"a"],[92826,0,"t"],[92827,0,"h"],[92828,0,"i"],[92829,0,"t"],[92830,0,"{"],[92831,0,"i"],[92832,0,"d"],[92833,0,"}"],[92834,0,"_"],[92835,0,"2"],[92836,0," "],[92837,0,"\\"],[92838,0,"m"],[92839,0,"a"],[92840,0,"p"],[92841,0,"s"],[92842,0,"t"],[92843,0,"o"],[92844,0," "],[92845,0,"\\"],[92846,0,"m"],[92847,0,"a"],[92848,0,"t"],[92849,0,"h"],[92850,0,"i"],[92851,0,"t"],[92852,0,"{"],[92853,0,"v"],[92854,0,"a"],[92855,0,"l"],[92856,0,"}"],[92857,0,"_"],[92858,0,"2"],[92859,0,"\\"],[92860,0,","],[92861,0,"]"],[92862,0," "],[92863,0,"="],[92864,0," "],[92865,0,"\\"],[92866,0,"m"],[92867,0,"a"],[92868,0,"t"],[92869,0,"h"],[92870,0,"i"],[92871,0,"t"],[92872,0,"{"],[92873,0,"c"],[92874,0,"h"],[92875,0,"i"],[92876,0,"l"],[92877,0,"d"],[92878,0,"}"],[92879,0,"["],[92880,0,"\\"],[92881,0,","],[92882,0,"\\"],[92883,0,"m"],[92884,0,"a"],[92885,0,"t"],[92886,0,"h"],[92887,0,"i"],[92888,0,"t"],[92889,0,"{"],[92890,0,"i"],[92891,0,"d"],[92892,0,"}"],[92893,0,"_"],[92894,0,"2"],[92895,0," "],[92896,0,"\\"],[92897,0,"m"],[92898,0,"a"],[92899,0,"p"],[92900,0,"s"],[92901,0,"t"],[92902,0,"o"],[92903,0," "],[92904,0,"\\"],[92905,0,"m"],[92906,0,"a"],[92907,0,"t"],[92908,0,"h"],[92909,0,"i"],[92910,0,"t"],[92911,0,"{"],[92912,0,"v"],[92913,0,"a"],[92914,0,"l"],[92915,0,"}"],[92916,0,"_"],[92917,0,"2"],[92918,0,"\\"],[92919,0,","],[92920,0,"]"],[92921,0,"["],[92820,0,"\\"],[92821,0,","],[92923,0,"\\"],[92924,0,","],[92926,0,"\\"],[92927,0,","],[92928,0,"\\"],[92929,0,"m"],[92930,0,"a"],[92931,0,"t"],[92932,0,"h"],[92933,0,"i"],[92934,0,"t"],[92935,0,"{"],[92936,0,"i"],[92937,0,"d"],[92938,0,"}"],[92939,0,"_"],[92940,0,"1"],[92941,0," "],[92942,0,"\\"],[92943,0,"m"],[92944,0,"a"],[92945,0,"p"],[92946,0,"s"],[92947,0,"t"],[92948,0,"o"],[92949,0," "],[92950,0,"\\"],[92951,0,"m"],[92952,0,"a"],[92953,0,"t"],[92954,0,"h"],[92955,0,"i"],[92956,0,"t"],[92957,0,"{"],[92958,0,"v"],[92959,0,"a"],[92960,0,"l"],[92961,0,"}"],[92962,0,"_"],[92963,0,"1"],[92964,0,"]"],[92964,1],[92964,0,"\\"],[92965,0,","],[92966,0,"]"],[92967,0,"$"],[92968,0," "],[92969,0,"p"],[92970,0,"r"],[92971,0,"o"],[92972,0,"v"],[92973,0,"i"],[92974,0,"d"],[92975,0,"e"],[92976,0,"d"],[92977,0," "],[92978,0,"t"],[92979,0,"h"],[92980,0,"a"],[92981,0,"t"],[92982,0," "],[92983,0,"$"],[92984,0,"\\"],[92985,0,"m"],[92986,0,"a"],[92987,0,"t"],[92988,0,"h"],[92989,0,"i"],[92990,0,"t"],[92991,0,"{"],[92992,0,"i"],[92993,0,"d"],[92994,0,"}"],[92995,0,"_"],[92996,0,"1"],[92997,0," "],[92998,0,"\\"],[92999,0,"n"],[93000,0,"o"],[93001,0,"t"],[93002,0,"="],[93003,0," "],[93004,0,"\\"],[93005,0,"m"],[93006,0,"a"],[93007,0,"t"],[93008,0,"h"],[93009,0,"i"],[93010,0,"t"],[93011,0,"{"],[93012,0,"k"],[93013,0,"i"],[93014,0,"d"],[93014,1],[93013,1],[93012,1],[93012,0,"i"],[93013,0,"d"],[93014,0,"}"],[93015,0,"_"],[93016,0,"2"],[93017,0,"$"],[93018,0,"."],[92374,0,"$"],[92386,0,"$"],[92763,1],[92762,1],[92761,1],[92760,1],[92759,1],[92758,1],[92757,1],[92756,1],[92755,1],[92755,0,"c"],[92756,0,"o"],[92757,0,"m"],[92758,0,"m"],[92759,0,"u"],[92760,0,"t"],[92761,0,"a"],[92762,0,"t"],[92763,0,"i"],[92764,0,"v"],[92765,0,"i"],[92766,0,"t"],[92767,0,"y"],[92768,0," "],[92769,0,"o"],[92770,0,"f"],[92771,0," "],[92772,0,"i"],[92773,0,"n"],[92774,0,"d"],[92775,0,"e"],[92776,0,"p"],[92777,0,"d"],[92777,1],[92777,0,"e"],[92778,0,"n"],[92779,0,"d"],[92780,0,"e"],[92781,0,"n"],[92782,0,"t"],[92783,0," "],[92784,0,"u"],[92785,0,"p"],[92786,0,"d"],[92787,0,"a"],[92788,0,"t"],[92789,0,"e"],[92790,0,"s"],[92791,0," "],[92792,0,"t"],[92793,0,"o"],[92794,0," "],[92795,0,"a"],[92796,0," "],[92797,0,"p"],[92798,0,"a"],[92799,0,"r"],[92800,0,"t"],[92801,0,"i"],[92802,0,"a"],[92803,0,"l"],[92804,0," "],[92805,0,"f"],[92806,0,"u"],[92807,0,"n"],[92808,0,"c"],[92809,0,"t"],[92810,0,"i"],[92811,0,"o"],[92812,0,"n"],[92813,0,":"],[93071,0,"\n"],[93072,0,"\n"],[93073,0,"T"],[93074,0,"h"],[93075,0,"u"],[93076,0,"s"],[93077,0,","],[93078,0," "],[93079,0,"f"],[93080,0,"o"],[93081,0,"r"],[93082,0," "],[93083,0,"a"],[93084,0,"l"],[93085,0,"l"],[93086,0," "],[93086,1],[93085,1],[93084,1],[93083,1],[93082,1],[93081,1],[93080,1],[93079,1],[93079,0,"a"],[93080,0,"l"],[93081,0,"l"],[93082,0," "],[93083,0,"p"],[93084,0,"a"],[93085,0,"r"],[93086,0,"t"],[93087,0,"s"],[93088,0," "],[93089,0,"o"],[93090,0,"f"],[93091,0," "],[93092,0,"t"],[93093,0,"h"],[93094,0,"e"],[93095,0," "],[93096,0,"p"],[93097,0,"r"],[93098,0,"o"],[93099,0,"c"],[93100,0,"e"],[93101,0,"s"],[93102,0,"s"],[93103,0," "],[93104,0,"o"],[93105,0,"f"],[93106,0," "],[93107,0,"a"],[93108,0,"p"],[93109,0,"p"],[93110,0,"l"],[93111,0,"y"],[93112,0,"i"],[93113,0,"n"],[93114,0,"g"],[93115,0," "],[93116,0,"$"],[93117,0,"o"],[93118,0,"_"],[93119,0,"c"],[93119,1],[93119,0,"a"],[93120,0,"$"],[93121,0," "],[93122,0,"h"],[93123,0,"a"],[93124,0,"v"],[93125,0,"e"],[93126,0," "],[93127,0,"t"],[93128,0,"h"],[93129,0,"e"],[93130,0," "],[93131,0,"s"],[93132,0,"a"],[93133,0,"m"],[93134,0,"e"],[93135,0," "],[93136,0,"e"],[93137,0,"f"],[93138,0,"f"],[93139,0,"e"],[93140,0,"c"],[93141,0,"t"],[93142,0,","],[93143,0," "],[93144,0,"r"],[93145,0,"e"],[93146,0,"g"],[93147,0,"a"],[93148,0,"r"],[93149,0,"d"],[93150,0,"l"],[93151,0,"e"],[93152,0,"s"],[93153,0,"s"],[93154,0," "],[93155,0,"o"],[93156,0,"f"],[93157,0," "],[93158,0,"w"],[93159,0,"h"],[93160,0,"e"],[93161,0,"t"],[93162,0,"h"],[93163,0,"e"],[93164,0,"r"],[93165,0," "],[93166,0,"$"],[93167,0,"o"],[93168,0,"_"],[93169,0,"c"],[93170,0,"$"],[93171,0," "],[93172,0,"w"],[93173,0,"a"],[93174,0,"s"],[93175,0," "],[93176,0,"a"],[93177,0,"p"],[93178,0,"p"],[93179,0,"l"],[93180,0,"i"],[93181,0,"e"],[93182,0,"d"],[93183,0," "],[93184,0,"b"],[93185,0,"e"],[93186,0,"f"],[93187,0,"o"],[93188,0,"r"],[93189,0,"e"],[93190,0," "],[93191,0,"o"],[93192,0,"r"],[93193,0," "],[93194,0,"a"],[93195,0,"f"],[93196,0,"t"],[93197,0,"e"],[93198,0,"r"],[93199,0," "],[93200,0,"$"],[93201,0,"o"],[93202,0,"_"],[93203,0,"a"],[93204,0,"$"],[93205,0,"."],[93142,0," "],[93143,0,"o"],[93144,0,"n"],[93145,0," "],[93146,0,"t"],[93147,0,"h"],[93148,0,"e"],[93149,0," "],[93150,0,"d"],[93151,0,"o"],[93152,0,"c"],[93153,0,"u"],[93154,0,"m"],[93155,0,"e"],[93156,0,"n"],[93157,0,"t"],[93158,0," "],[93159,0,"s"],[93160,0,"t"],[93161,0,"a"],[93162,0,"t"],[93163,0,"e"],[93196,1],[93195,1],[93194,1],[93194,0,"i"],[93195,0,"s"],[93226,0,","],[93227,0," "],[93228,0,"s"],[93229,0,"o"],[93230,0," "],[93231,0,"t"],[93232,0,"h"],[93233,0,"e"],[93234,0," "],[93235,0,"o"],[93236,0,"p"],[93237,0,"p"],[93237,1],[93237,0,"e"],[93238,0,"r"],[93239,0,"a"],[93240,0,"t"],[93241,0,"i"],[93242,0,"o"],[93243,0,"n"],[93244,0,"s"],[93245,0," "],[93246,0,"c"],[93247,0,"o"],[93248,0,"m"],[93249,0,"m"],[93250,0,"u"],[93251,0,"t"],[93252,0,"e"],[93071,0," "],[93072,0,"S"],[93073,0,"i"],[93074,0,"n"],[93075,0,"c"],[93076,0,"e"],[93077,0," "],[93078,0,"o"],[93079,0,"p"],[93080,0,"e"],[93081,0,"r"],[93082,0,"a"],[93083,0,"t"],[93084,0,"i"],[93085,0,"o"],[93086,0,"n"],[93087,0," "],[93088,0,"I"],[93089,0,"D"],[93090,0,"s"],[93091,0," "],[93092,0,"("],[93093,0,"L"],[93094,0,"a"],[93095,0,"m"],[93096,0,"p"],[93097,0,"o"],[93098,0,"r"],[93099,0,"t"],[93100,0," "],[93101,0,"t"],[93102,0,"i"],[93103,0,"m"],[93104,0,"e"],[93105,0,"s"],[93106,0,"t"],[93107,0,"a"],[93108,0,"m"],[93109,0,"p"],[93110,0,"s"],[93111,0,")"],[93112,0," "],[93113,0,"a"],[93114,0,"r"],[93115,0,"e"],[93116,0," "],[93117,0,"u"],[93118,0,"n"],[93119,0,"i"],[93120,0,"q"],[93121,0,"u"],[93122,0,"e"],[93123,0,","],[93124,0," "],[93125,0,"t"],[93126,0,"w"],[93127,0,"o"],[93128,0," "],[93129,0,"c"],[93130,0,"o"],[93131,0,"n"],[93132,0,"c"],[93133,0,"u"],[93134,0,"r"],[93135,0,"r"],[93136,0,"e"],[93137,0,"n"],[93138,0,"t"],[93139,0," "],[93140,0,"a"],[93141,0,"s"],[93142,0,"s"],[93143,0,"i"],[93144,0,"g"],[93145,0,"n"],[93146,0,"m"],[93147,0,"e"],[93148,0,"n"],[93149,0,"t"],[93150,0,"s"],[93151,0," "],[93152,0,"a"],[93153,0,"d"],[93154,0,"d"],[93155,0," "],[93156,0,"t"],[93157,0,"w"],[93158,0,"o"],[93159,0," "],[93160,0,"d"],[93161,0,"i"],[93162,0,"f"],[93163,0,"f"],[93164,0,"e"],[93165,0,"r"],[93166,0,"e"],[93167,0,"n"],[93168,0,"t"],[93169,0," "],[93170,0,"k"],[93171,0,"e"],[93172,0,"y"],[93173,0,"s"],[93174,0," "],[93175,0,"t"],[93176,0,"o"],[93177,0," "],[93178,0,"t"],[93179,0,"h"],[93180,0,"e"],[93181,0," "],[93182,0,"m"],[93183,0,"a"],[93184,0,"p"],[93185,0,"p"],[93186,0,"i"],[93187,0,"n"],[93188,0,"g"],[93189,0,"."],[93189,0,","],[93190,0," "],[93191,0,"a"],[93192,0,"n"],[93193,0,"d"],[93194,0," "],[93195,0,"t"],[93196,0,"h"],[93197,0,"e"],[93198,0,"i"],[93199,0,"r"],[93200,0," "],[93201,0,"o"],[93202,0,"r"],[93203,0,"d"],[93204,0,"e"],[93205,0,"r"],[93206,0," "],[93207,0,"i"],[93208,0,"s"],[93209,0," "],[93210,0,"i"],[93211,0,"m"],[93212,0,"m"],[93213,0,"a"],[93214,0,"t"],[93215,0,"e"],[93216,0,"r"],[93217,0,"i"],[93218,0,"a"],[93219,0,"l"],[92530,1],[92529,1],[92528,1],[92527,1],[92526,1],[92525,1],[92524,1],[92523,1],[92522,1],[92521,1],[92520,1],[92519,1],[92518,1],[92517,1],[92516,1],[92515,1],[92514,1],[92513,1],[92512,1],[92511,1],[92510,1],[92509,1],[92508,1],[92507,1],[92506,1],[92505,1],[92504,1],[92503,1],[92502,1],[92501,1],[92500,1],[92499,1],[92498,1],[92497,1],[92496,1],[92495,1],[92494,1],[92493,1],[92492,1],[92491,1],[92490,1],[92489,1],[92488,1],[92487,1],[92486,1],[92485,1],[92484,1],[92483,1],[92482,1],[92481,1],[92480,1],[92479,1],[92478,1],[92477,1],[92476,1],[92475,1],[92474,1],[92473,1],[92472,1],[92471,1],[92470,1],[92469,1],[92468,1],[92467,1],[92466,1],[92465,1],[92464,1],[92463,1],[92462,1],[92461,1],[92460,1],[92459,1],[92458,1],[92457,1],[92456,1],[92455,1],[92454,1],[92453,1],[92452,1],[92451,1],[92450,1],[92449,1],[92448,1],[92447,1],[92446,1],[92445,1],[92444,1],[92443,1],[92442,1],[92441,1],[92440,1],[92439,1],[92438,1],[92437,1],[92436,1],[92435,1],[92434,1],[92433,1],[92432,1],[92431,1],[92430,1],[92429,1],[92428,1],[92427,1],[92426,1],[92425,1],[92424,1],[92423,1],[92422,1],[92421,1],[92420,1],[92419,1],[92418,1],[92417,1],[92416,1],[92415,1],[92414,1],[92413,1],[92412,1],[92411,1],[92410,1],[92409,1],[92408,1],[92407,1],[92406,1],[92405,1],[92404,1],[92403,1],[92402,1],[92401,1],[92400,1],[92399,1],[92398,1],[92397,1],[92396,1],[92395,1],[92394,1],[92393,1],[92392,1],[92391,1],[92390,1],[92389,1],[92388,1],[92387,1],[92386,1],[92385,1],[92384,1],[92383,1],[92382,1],[92381,1],[92380,1],[92379,1],[92378,1],[92377,1],[92376,1],[92375,1],[92374,1],[92373,1],[92372,1],[92371,1],[92370,1],[92369,1],[92368,1],[92367,1],[92366,1],[92365,1],[92364,1],[92363,1],[92362,1],[92361,1],[92360,1],[92359,1],[92358,1],[92357,1],[92356,1],[92355,1],[92354,1],[92353,1],[92352,1],[92351,1],[92350,1],[92349,1],[92348,1],[92347,1],[92346,1],[92345,1],[92344,1],[92343,1],[92342,1],[92341,1],[92340,1],[92339,1],[92338,1],[92337,1],[92336,1],[92335,1],[92334,1],[92333,1],[92332,1],[92331,1],[92330,1],[92329,1],[92328,1],[92327,1],[92326,1],[92325,1],[92324,1],[92323,1],[92322,1],[92321,1],[92320,1],[92319,1],[92318,1],[92317,1],[92316,1],[92315,1],[92314,1],[92313,1],[92312,1],[92311,1],[92310,1],[92309,1],[92308,1],[92307,1],[92306,1],[92305,1],[92304,1],[92303,1],[92302,1],[92301,1],[92300,1],[92299,1],[92298,1],[92297,1],[92296,1],[92295,1],[92294,1],[92293,1],[92292,1],[92291,1],[92290,1],[92289,1],[92288,1],[92287,1],[92286,1],[92285,1],[92284,1],[92283,1],[92282,1],[92281,1],[92280,1],[92279,1],[92278,1],[92277,1],[92276,1],[92275,1],[92274,1],[92273,1],[92272,1],[92429,1],[92429,0,"\n"],[92430,0,"\n"],[92525,1],[92524,1],[92523,1],[92522,1],[92521,1],[92520,1],[92519,1],[92518,1],[92517,1],[92516,1],[92515,1],[92514,1],[93146,0,"\n"],[93147,0,"\n"],[93148,0,"\\"],[93149,0,"b"],[93150,0,"e"],[93151,0,"g"],[93152,0,"i"],[93153,0,"n"],[93154,0,"{"],[93155,0,"l"],[93156,0,"e"],[93157,0,"m"],[93158,0,"m"],[93159,0,"a"],[93160,0,"}"],[93161,0,"\\"],[93162,0,"l"],[93163,0,"a"],[93164,0,"b"],[93165,0,"e"],[93166,0,"l"],[93167,0,"{"],[93168,0,"l"],[93169,0,"e"],[93170,0,"m"],[93171,0,":"],[93172,0,"o"],[93173,0,"p"],[93174,0,"-"],[93175,0,"c"],[93176,0,"o"],[93177,0,"m"],[93178,0,"m"],[93179,0,"u"],[93180,0,"t"],[93181,0,"e"],[93182,0,"}"],[93183,0,"\n"],[93184,0,"\\"],[93185,0,"e"],[93186,0,"n"],[93187,0,"d"],[93188,0,"{"],[93189,0,"l"],[93190,0,"e"],[93191,0,"m"],[93192,0,"m"],[93193,0,"a"],[93194,0,"}"],[93183,0,"\n"],[93184,0,"i"],[93185,0,"n"],[93186,0,"s"],[93187,0,"e"],[93188,0,"r"],[93189,0,"t"],[93190,0,"i"],[93191,0,"o"],[93192,0,"n"],[93193,0," "],[93194,0,"t"],[93195,0,"o"],[93196,0," "],[93197,0,"t"],[93198,0,"h"],[93199,0,"e"],[93200,0," "],[93201,0,"s"],[93202,0,"a"],[93203,0,"m"],[93204,0,"e"],[93205,0," "],[93206,0,"l"],[93207,0,"i"],[93208,0,"s"],[93209,0,"t"],[93210,0,":"],[93211,0," "],[93212,0,"L"],[93213,0,"e"],[93214,0,"m"],[93215,0,"m"],[93216,0,"a"],[93217,0,"~"],[93218,0,"\\"],[93219,0,"r"],[93220,0,"e"],[93221,0,"f"],[93222,0,"{"],[93223,0,"l"],[93224,0,"e"],[93225,0,"m"],[93226,0,":"],[93227,0,"i"],[93228,0,"n"],[93229,0,"s"],[93230,0,"e"],[93231,0,"r"],[93232,0,"t"],[93233,0,"-"],[93234,0,"r"],[93235,0,"e"],[93236,0,"o"],[93237,0,"r"],[93238,0,"d"],[93239,0,"e"],[93240,0,"r"],[93241,0,"}"],[93242,0,";"],[93243,0," "],[93244,0,"d"],[93245,0,"e"],[93246,0,"l"],[93247,0,"e"],[93248,0,"t"],[93249,0,"i"],[93250,0,"o"],[93251,0,"n"],[93252,0,":"],[93253,0," "],[93254,0,"L"],[93255,0,"e"],[93256,0,"m"],[93257,0,"m"],[93258,0,"a"],[93259,0,"~"],[93260,0,"\\"],[93261,0,"r"],[93262,0,"e"],[93263,0,"f"],[93264,0,"{"],[93265,0,":"],[93265,1],[93265,0,"l"],[93266,0,"e"],[93267,0,"m"],[93268,0,":"],[93269,0,"d"],[93270,0,"e"],[93271,0,"l"],[93272,0,"e"],[93273,0,"t"],[93274,0,"e"],[93275,0,"-"],[93276,0,"c"],[93277,0,"o"],[93278,0,"m"],[93279,0,"m"],[93280,0,"u"],[93281,0,"t"],[93282,0,"e"],[93283,0,"}"],[93284,0,";"],[93285,0," "],[93286,0,"a"],[93287,0,"s"],[93288,0,"s"],[93289,0,"i"],[93290,0,"g"],[93291,0,"n"],[93292,0,"m"],[93293,0,"e"],[93294,0,"n"],[93295,0,"t"],[93296,0,":"],[93297,0," "],[93298,0,"L"],[93299,0,"e"],[93300,0,"m"],[93301,0,"m"],[93302,0,"a"],[93303,0,"~"],[93304,0,"\\"],[93305,0,"r"],[93306,0,"e"],[93307,0,"f"],[93308,0,"{"],[93309,0,"l"],[93310,0,"e"],[93311,0,"m"],[93312,0,":"],[93313,0,"a"],[93314,0,"s"],[93315,0,"s"],[93316,0,"i"],[93317,0,"g"],[93318,0,"n"],[93319,0,"-"],[93320,0,"c"],[93321,0,"o"],[93322,0,"m"],[93323,0,"m"],[93324,0,"u"],[93325,0,"t"],[93326,0,"e"],[93327,0,"}"],[93328,0,"."],[78214,0,","],[78215,0," "],[78216,0,"i"],[78217,0,"n"],[78218,0," "],[78219,0,"L"],[78220,0,"e"],[78221,0,"m"],[78222,0,"m"],[78223,0,"a"],[78224,0,"~"],[78225,0,"\\"],[78226,0,"r"],[78227,0,"e"],[78228,0,"f"],[78229,0,"{"],[78058,0," "],[78059,0,"i"],[78060,0,"n"],[78061,0," "],[78062,0,"L"],[78063,0,"e"],[78064,0,"m"],[78065,0,"m"],[78066,0,"a"],[78067,0,"~"],[78068,0,"\\"],[78069,0,"r"],[78070,0,"e"],[78071,0,"f"],[78072,0,"{"],[78073,0,"l"],[78074,0,"e"],[78075,0,"m"],[78076,0,":"],[78077,0,"o"],[78078,0,"p"],[78079,0,"-"],[78080,0,"c"],[78081,0,"o"],[78082,0,"m"],[78083,0,"m"],[78084,0,"u"],[78085,0,"t"],[78086,0,"e"],[78087,0,"}"],[78494,1],[78493,1],[78492,1],[78491,1],[78490,1],[78489,1],[78488,1],[78487,1],[78486,1],[78485,1],[78484,1],[78483,1],[78482,1],[78481,1],[78480,1],[78479,1],[78478,1],[78477,1],[78476,1],[78475,1],[78474,1],[78473,1],[78472,1],[78471,1],[78470,1],[78469,1],[78468,1],[78467,1],[78466,1],[78465,1],[78464,1],[78463,1],[78462,1],[78461,1],[78460,1],[78459,1],[78458,1],[78457,1],[78456,1],[78455,1],[78454,1],[78453,1],[78452,1],[78451,1],[78450,1],[78449,1],[78448,1],[78447,1],[78446,1],[78445,1],[78444,1],[78443,1],[78442,1],[78441,1],[78440,1],[78439,1],[78438,1],[78437,1],[78436,1],[78435,1],[78434,1],[78433,1],[78432,1],[78431,1],[78430,1],[78429,1],[78428,1],[78427,1],[78426,1],[78425,1],[78424,1],[78423,1],[78422,1],[78421,1],[78420,1],[78419,1],[78418,1],[78417,1],[78416,1],[78415,1],[78414,1],[78413,1],[78412,1],[78411,1],[78410,1],[78409,1],[78408,1],[78407,1],[78406,1],[78405,1],[78404,1],[78403,1],[78402,1],[78401,1],[78400,1],[78399,1],[78398,1],[78397,1],[78396,1],[78395,1],[78394,1],[78393,1],[78392,1],[78391,1],[78390,1],[78389,1],[78388,1],[78387,1],[78386,1],[78385,1],[78384,1],[78383,1],[78382,1],[78381,1],[78380,1],[78379,1],[78378,1],[78377,1],[78376,1],[78375,1],[78374,1],[78373,1],[78372,1],[78371,1],[78370,1],[78369,1],[78368,1],[78367,1],[78366,1],[78365,1],[78364,1],[78363,1],[78362,1],[78361,1],[78360,1],[78359,1],[78358,1],[78357,1],[78356,1],[78355,1],[78354,1],[78353,1],[78352,1],[78351,1],[78350,1],[78349,1],[78348,1],[78347,1],[78346,1],[78345,1],[78344,1],[78343,1],[78342,1],[78341,1],[78340,1],[78339,1],[78338,1],[78337,1],[78336,1],[78335,1],[78334,1],[78333,1],[78332,1],[78331,1],[78330,1],[78329,1],[78328,1],[78327,1],[78326,1],[78325,1],[78324,1],[78323,1],[78322,1],[78321,1],[78320,1],[78319,1],[78318,1],[78317,1],[78316,1],[78315,1],[78314,1],[78313,1],[78312,1],[78311,1],[78310,1],[78309,1],[78308,1],[78307,1],[78306,1],[78305,1],[78304,1],[78303,1],[78302,1],[78301,1],[78300,1],[78299,1],[78298,1],[78297,1],[78296,1],[78295,1],[78294,1],[78293,1],[78292,1],[78291,1],[78290,1],[78289,1],[78288,1],[78287,1],[78286,1],[78285,1],[78284,1],[78283,1],[78282,1],[78281,1],[78280,1],[78279,1],[78278,1],[78277,1],[78276,1],[78275,1],[78274,1],[78273,1],[78272,1],[78271,1],[78270,1],[78269,1],[78268,1],[78267,1],[78266,1],[78265,1],[78264,1],[78263,1],[78262,1],[78261,1],[78260,1],[78259,1],[78258,1],[78257,1],[78256,1],[78255,1],[78254,1],[78253,1],[78252,1],[78251,1],[78250,1],[78249,1],[78248,1],[78247,1],[78246,1],[78245,1],[78244,1],[78244,0,"."],[78333,1],[78332,1],[78331,1],[78330,1],[78329,1],[78328,1],[78327,1],[78326,1],[78325,1],[78324,1],[78323,1],[78322,1],[78321,1],[78320,1],[78319,1],[78318,1],[78317,1],[78316,1],[78315,1],[78314,1],[78313,1],[78312,1],[78311,1],[78310,1],[78309,1],[78308,1],[78307,1],[78306,1],[78305,1],[78304,1],[78303,1],[78302,1],[78301,1],[78300,1],[78300,0,"o"],[78301,0,"p"],[78302,0,"e"],[78303,0,"r"],[78304,0,"a"],[78305,0,"t"],[78306,0,"i"],[78307,0,"o"],[78308,0,"n"],[78309,0,"s"],[92955,0,"\n"],[92956,0,"\\"],[92957,0,"e"],[92958,0,"n"],[92959,0,"d"],[92960,0,"{"],[92961,0,"l"],[92962,0,"e"],[92963,0,"m"],[92964,0,"m"],[92965,0,"a"],[92966,0,"}"],[92967,0,"\n"],[92968,0,"\n"],[92969,0,"\\"],[92970,0,"b"],[92971,0,"e"],[92972,0,"g"],[92973,0,"i"],[92974,0,"n"],[92975,0,"{"],[92976,0,"p"],[92977,0,"r"],[92978,0,"o"],[92979,0,"o"],[92980,0,"f"],[92981,0,"}"],[93138,1],[93137,1],[93136,1],[93135,1],[93134,1],[93134,0,"p"],[93135,0,"r"],[93136,0,"o"],[93137,0,"o"],[93138,0,"f"],[92956,0,"\n"],[92956,0,"G"],[92957,0,"i"],[92958,0,"v"],[92959,0,"e"],[92960,0,"n"],[92961,0," "],[92962,0,"a"],[92963,0,"n"],[92964,0," "],[92965,0,"o"],[92966,0,"p"],[92967,0,"e"],[92968,0,"r"],[92969,0,"a"],[92970,0,"t"],[92971,0,"i"],[92972,0,"o"],[92973,0,"n"],[92974,0," "],[92975,0,"h"],[92976,0,"i"],[92977,0,"s"],[92978,0,"t"],[92979,0,"o"],[92980,0,"r"],[92981,0,"h"],[92982,0," "],[92983,0,"$"],[92983,1],[92982,1],[92981,1],[92981,0,"y"],[92982,0," "],[92983,0,"$"],[92984,0,"H"],[92985,0,"="],[92986,0,"\\"],[92987,0,"l"],[92988,0,"a"],[92989,0,"n"],[92990,0,"g"],[92991,0,"l"],[92992,0,"e"],[92993,0," "],[92994,0,"o"],[92995,0,"_"],[92996,0,"1"],[92997,0,","],[92998,0," "],[92999,0,"\\"],[93000,0,"d"],[93001,0,"o"],[93002,0,"t"],[93003,0,"s"],[93004,0,","],[93005,0," "],[93006,0,"o"],[93007,0,"_"],[93008,0,"n"],[93009,0," "],[93010,0,"\\"],[93011,0,"r"],[93012,0,"a"],[93013,0,"n"],[93014,0,"g"],[93015,0,"l"],[93016,0,"e"],[93017,0,"$"],[93018,0,","],[93019,0," "],[93020,0,"a"],[93021,0," "],[93022,0,"n"],[93023,0,"e"],[93024,0,"w"],[93025,0," "],[93026,0,"o"],[93027,0,"p"],[93028,0,"e"],[93029,0,"r"],[93030,0,"a"],[93031,0,"t"],[93032,0,"i"],[93033,0,"o"],[93034,0,"n"],[93035,0," "],[93018,0," "],[93019,0,"f"],[93020,0,"r"],[93021,0,"o"],[93022,0,"m"],[93023,0," "],[93024,0,"a"],[93025,0," "],[93026,0,"v"],[93027,0,"a"],[93028,0,"l"],[93029,0,"i"],[93030,0,"d"],[93031,0," "],[93032,0,"e"],[93033,0,"x"],[93034,0,"e"],[93035,0,"c"],[93036,0,"u"],[93037,0,"t"],[93038,0,"i"],[93039,0,"o"],[93040,0,"n"],[93059,0,"$"],[93060,0,"o"],[93061,0,"_"],[93062,0,"{"],[93063,0,"n"],[93064,0,"+"],[93065,0,"1"],[93066,0,"}"],[93067,0,"$"],[93068,0," "],[93069,0,"f"],[93070,0,"r"],[93071,0,"o"],[93072,0,"m"],[93073,0," "],[93074,0,"t"],[93075,0,"h"],[93076,0,"a"],[93077,0,"t"],[93078,0," "],[93079,0,"e"],[93080,0,"x"],[93081,0,"e"],[93082,0,"c"],[93083,0,"u"],[93084,0,"t"],[93085,0,"i"],[93086,0,"o"],[93087,0,"n"],[93088,0," "],[93089,0,"c"],[93090,0,"a"],[93091,0,"n"],[93092,0," "],[93093,0,"b"],[93094,0,"e"],[93095,0," "],[93096,0,"i"],[93097,0,"n"],[93098,0,"s"],[93099,0,"e"],[93100,0,"r"],[93101,0,"t"],[93102,0,"e"],[93103,0,"d"],[93104,0," "],[93105,0,"a"],[93106,0,"t"],[93107,0," "],[93108,0,"a"],[93109,0,"n"],[93110,0,"y"],[93111,0," "],[93112,0,"p"],[93113,0,"o"],[93114,0,"i"],[93115,0,"n"],[93116,0,"t"],[93117,0," "],[93118,0,"i"],[93119,0,"n"],[93120,0," "],[93121,0,"$"],[93122,0,"H"],[93123,0,"$"],[93124,0," "],[93125,0,"w"],[93126,0,"h"],[93127,0,"e"],[93128,0,"r"],[93129,0,"e"],[93130,0," "],[93131,0,"t"],[93132,0,"h"],[93133,0,"e"],[93134,0," "],[93135,0,"c"],[93136,0,"a"],[93137,0,"u"],[93138,0,"s"],[93139,0,"a"],[93140,0,"l"],[93141,0," "],[93142,0,"d"],[93143,0,"e"],[93144,0,"p"],[93145,0,"e"],[93146,0,"n"],[93147,0,"d"],[93148,0,"e"],[93149,0,"n"],[93150,0,"c"],[93151,0,"i"],[93152,0,"e"],[93153,0,"s"],[93154,0," "],[93154,1],[93153,1],[93152,1],[93151,1],[93150,1],[93149,1],[93148,1],[93147,1],[93146,1],[93145,1],[93144,1],[93143,1],[93142,1],[93141,1],[93140,1],[93139,1],[93138,1],[93137,1],[93136,1],[93135,1],[93134,1],[93133,1],[93132,1],[93131,1],[93130,1],[93129,1],[93128,1],[93127,1],[93126,1],[93125,1],[93124,1],[93124,0," "],[93125,0,"a"],[93126,0,"f"],[93127,0,"t"],[93128,0,"e"],[93129,0,"r"],[93130,0," "],[93131,0,"$"],[93132,0,"o"],[93133,0,"{"],[93133,1],[93133,0,"_"],[93134,0,"{"],[93135,0,"n"],[93136,0,"+"],[93137,0,"1"],[93138,0,"}"],[93139,0,"."],[93140,0,"\\"],[93141,0,"m"],[93142,0,"a"],[93143,0,"t"],[93144,0,"h"],[93145,0,"i"],[93146,0,"t"],[93147,0,"{"],[93148,0,"d"],[93149,0,"e"],[93150,0,"p"],[93151,0,"s"],[93152,0,"}"],[93153,0,"$"],[93154,0," "],[93155,0,"h"],[93156,0,"a"],[93157,0,"v"],[93158,0,"e"],[93159,0," "],[93160,0,"b"],[93161,0,"e"],[93162,0,"e"],[93163,0,"n"],[93164,0," "],[93165,0,"a"],[93166,0,"p"],[93167,0,"p"],[93168,0,"l"],[93169,0,"i"],[93170,0,"e"],[93171,0,"d"],[93172,0,"."],[93173,0," "],[93174,0,"T"],[93174,1],[93174,0,"A"],[93175,0,"l"],[93176,0,"l"],[93177,0," "],[93178,0,"r"],[93179,0,"e"],[93180,0,"s"],[93181,0,"u"],[93182,0,"l"],[93183,0,"t"],[93184,0,"i"],[93185,0,"n"],[93186,0,"g"],[93187,0," "],[93187,1],[93186,1],[93185,1],[93184,1],[93183,1],[93182,1],[93181,1],[93180,1],[93179,1],[93178,1],[93177,1],[93177,0," "],[93178,0,"h"],[93179,0,"i"],[93180,0,"s"],[93181,0,"t"],[93182,0,"o"],[93183,0,"r"],[93184,0,"i"],[93185,0,"e"],[93186,0,"s"],[93187,0," "],[93188,0,"t"],[93189,0,"h"],[93190,0,"a"],[93191,0,"t"],[93192,0," "],[93174,0,"F"],[93175,0,"o"],[93176,0,"r"],[93177,0," "],[93178,1],[93178,0,"a"],[93197,0,"c"],[93198,0,"a"],[93199,0,"n"],[93200,0," "],[93201,0,"b"],[93202,0,"e"],[93203,0," "],[93204,0,"c"],[93205,0,"o"],[93206,0,"n"],[93207,0,"s"],[93208,0,"t"],[93209,0,"r"],[93210,0,"u"],[93211,0,"c"],[93212,0,"t"],[93213,0,"e"],[93214,0,"d"],[93215,0," "],[93216,0,"t"],[93217,0,"h"],[93218,0,"i"],[93219,0,"s"],[93220,0," "],[93221,0,"w"],[93222,0,"a"],[93223,0,"y"],[93224,0,","],[93225,0," "],[93226,0,"t"],[93227,0,"h"],[93228,0,"e"],[93229,0," "],[93230,0,"d"],[93231,0,"o"],[93232,0,"c"],[93233,0,"u"],[93234,0,"m"],[93235,0,"e"],[93236,0,"n"],[93237,0,"t"],[93238,0," "],[93239,0,"s"],[93240,0,"t"],[93241,0,"a"],[93242,0,"t"],[93243,0,"e"],[93244,0," "],[93245,0,"r"],[93246,0,"e"],[93247,0,"s"],[93248,0,"u"],[93249,0,"l"],[93250,0,"t"],[93251,0,"i"],[93252,0,"n"],[93253,0,"g"],[93254,0," "],[93255,0,"f"],[93256,0,"r"],[93257,0,"o"],[93258,0,"m"],[93259,0," "],[93192,0,"$"],[93193,0,"H"],[93194,0,"'"],[93195,0,"$"],[93196,0," "],[93265,0,"a"],[93266,0,"p"],[93267,0,"p"],[93268,0,"l"],[93269,0,"y"],[93270,0,"i"],[93271,0,"n"],[93272,0,"g"],[93273,0," "],[93274,0,"t"],[93275,0,"h"],[93276,0,"e"],[93277,0," "],[93278,0,"o"],[93279,0,"p"],[93280,0,"e"],[93281,0,"r"],[93282,0,"a"],[93283,0,"t"],[93284,0,"i"],[93285,0,"o"],[93286,0,"n"],[93287,0,"s"],[93288,0," "],[93289,0,"i"],[93290,0,"n"],[93291,0," "],[93292,0,"$"],[93293,0,"H"],[93294,0,"'"],[93295,0,"$"],[93296,0," "],[93297,0,"i"],[93298,0,"n"],[93299,0," "],[93300,0,"o"],[93301,0,"r"],[93302,0,"d"],[93303,0,"e"],[93304,0,"r"],[93305,0," "],[93306,0,"i"],[93307,0,"s"],[93308,0," "],[93309,0,"t"],[93310,0,"h"],[93311,0,"e"],[93312,0," "],[93313,0,"s"],[93314,0,"a"],[93315,0,"m"],[93316,0,"e"],[93317,0,","],[93318,0," "],[93319,0,"a"],[93320,0,"n"],[93321,0,"d"],[93322,0," "],[93323,0,"i"],[93324,0,"n"],[93325,0,"d"],[93326,0,"e"],[93327,0,"p"],[93328,0,"e"],[93329,0,"n"],[93330,0,"d"],[93331,0,"e"],[93332,0,"n"],[93333,0,"t"],[93334,0," "],[93335,0,"o"],[93336,0,"f"],[93337,0," "],[93338,0,"t"],[93339,0,"h"],[93340,0,"e"],[93341,0," "],[93342,0,"o"],[93343,0,"r"],[93344,0,"d"],[93345,0,"e"],[93346,0,"r"],[93347,0,"i"],[93348,0,"n"],[93349,0,"g"],[93350,0," "],[93351,0,"o"],[93352,0,"f"],[93353,0," "],[93354,0,"a"],[93355,0,"n"],[93356,0,"y"],[93357,0," "],[93358,0,"c"],[93359,0,"o"],[93360,0,"n"],[93361,0,"c"],[93362,0,"u"],[93363,0,"r"],[93364,0,"r"],[93365,0,"e"],[93366,0,"n"],[93367,0,"t"],[93368,0," "],[93369,0,"o"],[93370,0,"p"],[93371,0,"e"],[93372,0,"r"],[93373,0,"a"],[93374,0,"t"],[93375,0,"i"],[93376,0,"o"],[93377,0,"n"],[93378,0,"s"],[93379,0," "],[93380,0,"i"],[93381,0,"n"],[93382,0," "],[93383,0,"$"],[93384,0,"H"],[93385,0,"$"],[93386,0,"."],[93414,0,"\n"],[93415,0,"\n"],[93415,0,"W"],[93416,0,"e"],[93417,0," "],[93418,0,"p"],[93419,0,"r"],[93420,0,"o"],[93421,0,"v"],[93422,0,"e"],[93423,0," "],[93424,0,"t"],[93425,0,"h"],[93426,0,"e"],[93427,0," "],[93428,0,"l"],[93429,0,"e"],[93430,0,"m"],[93431,0,"m"],[93432,0,"a"],[93433,0," "],[93434,0,"c"],[93435,0,"a"],[93436,0,"s"],[93437,0,"e"],[93438,0,"-"],[93439,0,"b"],[93440,0,"y"],[93441,0,"-"],[93442,0,"c"],[93443,0,"a"],[93444,0,"s"],[93445,0,"e"],[93446,0,","],[93447,0," "],[93448,0,"d"],[93449,0,"e"],[93450,0,"p"],[93451,0,"e"],[93452,0,"n"],[93453,0,"d"],[93454,0,"i"],[93455,0,"n"],[93456,0,"g"],[93457,0," "],[93458,0,"o"],[93459,0,"n"],[93460,0," "],[93461,0,"t"],[93462,0,"h"],[93463,0,"e"],[93464,0," "],[93465,0,"t"],[93466,0,"h"],[93467,0,"y"],[93468,0,"p"],[93469,0,"e"],[93470,0," "],[93470,1],[93469,1],[93468,1],[93467,1],[93466,1],[93466,0,"y"],[93467,0,"p"],[93468,0,"e"],[93469,0," "],[93470,0,"o"],[93471,0,"f"],[93472,0," "],[93473,0,"m"],[93474,0,"u"],[93475,0,"t"],[93476,0,"a"],[93477,0,"t"],[93478,0,"i"],[93479,0,"o"],[93480,0,"n"],[93481,0," "],[93482,0,"i"],[93483,0,"n"],[93484,0," "],[93485,0,"$"],[93486,0,"o"],[93487,0,"_"],[93488,0,"{"],[93489,0,"n"],[93490,0,"+"],[93491,0,"1"],[93492,0,"}"],[93493,0,"$"],[93494,0,"."],[93495,0," "],[93414,0,"\n"],[93415,0,"$"],[93416,0,"H"],[93417,0,"$"],[93418,0," "],[93419,0,"c"],[93420,0,"a"],[93421,0,"n"],[93422,0," "],[93423,0,"b"],[93424,0,"e"],[93425,0," "],[93426,0,"s"],[93427,0,"p"],[93428,0,"l"],[93429,0,"i"],[93430,0,"t"],[93431,0," "],[93432,0,"i"],[93433,0,"n"],[93434,0,"t"],[93435,0,"o"],[93436,0," "],[93437,0,"a"],[93438,0," "],[93439,0,"p"],[93440,0,"r"],[93441,0,"e"],[93442,0,"f"],[93443,0,"i"],[93444,0,"x"],[93445,0," "],[93446,0,"a"],[93447,0,"n"],[93448,0,"d"],[93449,0," "],[93450,0,"a"],[93451,0," "],[93452,0,"s"],[93453,0,"u"],[93454,0,"f"],[93455,0,"f"],[93456,0,"i"],[93457,0,"x"],[93458,0,","],[93459,0," "],[93460,0,"a"],[93461,0,"s"],[93462,0," "],[93463,0,"d"],[93464,0,"e"],[93465,0,"s"],[93466,0,"c"],[93467,0,"r"],[93468,0,"i"],[93469,0,"b"],[93470,0,"e"],[93471,0,"d"],[93472,0," "],[93473,0,"i"],[93474,0,"n"],[93475,0," "],[93476,0,"t"],[93477,0,"h"],[93478,0,"e"],[93479,0," "],[93480,0,"p"],[93481,0,"r"],[93482,0,"o"],[93483,0,"o"],[93484,0,"f"],[93485,0," "],[93486,0,"o"],[93487,0,"f"],[93488,0," "],[93489,0,"T"],[93490,0,"h"],[93491,0,"e"],[93492,0,"o"],[93493,0,"r"],[93494,0,"e"],[93495,0,"m"],[93496,0,"~"],[93497,0,"\\"],[93498,0,"r"],[93499,0,"e"],[93500,0,"f"],[93501,0,"{"],[93502,0,"t"],[93503,0,"h"],[93504,0,"m"],[93505,0,":"],[93506,0,"c"],[93507,0,"o"],[93508,0,"n"],[93509,0,"v"],[93510,0,"e"],[93511,0,"r"],[93512,0,"g"],[93513,0,"e"],[93514,0,"n"],[93515,0,"c"],[93516,0,"e"],[93517,0,"}"],[93518,0,"."],[93519,0," "],[93520,0,"W"],[93521,0,"e"],[93522,0," "],[93523,0,"a"],[93524,0,"l"],[93525,0,"l"],[93526,0,"o"],[93527,0,"w"],[93528,0," "],[93529,0,"$"],[93530,0,"o"],[93531,0,"_"],[93532,0,"{"],[93533,0,"n"],[93534,0,"+"],[93535,0,"1"],[93536,0,"}"],[93537,0,"$"],[93538,0," "],[93539,0,"t"],[93540,0,"o"],[93541,0," "],[93542,0,"b"],[93543,0,"e"],[93544,0," "],[93545,0,"i"],[93546,0,"n"],[93547,0,"s"],[93548,0,"e"],[93549,0,"r"],[93550,0,"t"],[93551,0,"e"],[93552,0,"d"],[93553,0," "],[93554,0,"a"],[93555,0,"t"],[93556,0," "],[93557,0,"a"],[93558,0,"n"],[93559,0,"y"],[93560,0," "],[93561,0,"p"],[93562,0,"o"],[93563,0,"i"],[93564,0,"n"],[93565,0,"t"],[93566,0," "],[93567,0,"a"],[93568,0,"f"],[93569,0,"t"],[93570,0,"e"],[93571,0,"r"],[93572,0," "],[93573,0,"t"],[93574,0,"h"],[93575,0,"e"],[93576,0," "],[93577,0,"p"],[93578,0,"r"],[93579,0,"e"],[93580,0,"f"],[93581,0,"i"],[93582,0,"x"],[93583,0,","],[93584,0," "],[93519,0," "],[93520,0,"T"],[93521,0,"h"],[93522,0,"e"],[93523,0," "],[93524,0,"s"],[93525,0,"u"],[93526,0,"f"],[93527,0,"f"],[93528,0,"i"],[93529,0,"x"],[93530,0," "],[93531,0,"c"],[93532,0,"o"],[93533,0,"n"],[93534,0,"t"],[93535,0,"a"],[93536,0,"i"],[93537,0,"n"],[93538,0,"s"],[93539,0," "],[93540,0,"o"],[93541,0,"n"],[93542,0,"l"],[93543,0,"y"],[93544,0," "],[93545,0,"o"],[93546,0,"p"],[93547,0,"e"],[93548,0,"r"],[93549,0,"a"],[93550,0,"t"],[93551,0,"i"],[93552,0,"o"],[93553,0,"n"],[93554,0,"s"],[93555,0," "],[93556,0,"t"],[93557,0,"h"],[93558,0,"a"],[93559,0,"t"],[93560,0," "],[93561,0,"a"],[93562,0,"r"],[93563,0,"e"],[93564,0," "],[93565,0,"c"],[93566,0,"o"],[93567,0,"n"],[93568,0,"c"],[93569,0,"u"],[93570,0,"r"],[93571,0,"r"],[93572,0,"e"],[93573,0,"n"],[93574,0,"t"],[93575,0," "],[93576,0,"w"],[93577,0,"i"],[93578,0,"t"],[93579,0,"h"],[93580,0," "],[93581,0,"$"],[93582,0,"o"],[93583,0,"_"],[93584,0,"{"],[93585,0,"n"],[93586,0,"+"],[93587,0,"1"],[93588,0,"}"],[93589,0,"$"],[93590,0,"."],[93592,1],[93591,1],[93590,1],[93590,0,","],[93591,0," "],[93592,0,"a"],[93593,0,"n"],[93594,0,"d"],[93595,0," "],[93596,0,"w"],[93660,1],[93659,1],[93659,0,"."],[93660,0," "],[93661,1],[93663,0," "],[93664,0,"t"],[93665,0,"h"],[93666,0,"e"],[93667,0,"n"],[93748,0,"\n"],[93749,0,"\n"],[93749,0,"I"],[93750,0,"f"],[93751,0," "],[93752,0,"$"],[93753,0,"o"],[93754,0,"_"],[93755,0,"n"],[93756,0,"{"],[93756,1],[93755,1],[93755,0,"{"],[93756,0,"n"],[93757,0,"+"],[93758,0,"1"],[93759,0,"}"],[93760,0,"$"],[93761,0," "],[93762,0,"i"],[93763,0,"s"],[93764,0," "],[93765,0,"a"],[93766,0," "],[93767,0,"d"],[93768,0,"e"],[93769,0,"l"],[93770,0,"e"],[93771,0,"t"],[93772,0,"i"],[93773,0,"o"],[93774,0,"n"],[93775,0,","],[93776,0," "],[93777,0,"b"],[93778,0,"y"],[93779,0," "],[93780,0,"L"],[93781,0,"e"],[93782,0,"m"],[93783,0,"m"],[93784,0,"a"],[93785,0,"~"],[93786,0,"\\"],[93787,0,"r"],[93788,0,"e"],[93789,0,"f"],[93790,0,"{"],[93791,0,"l"],[93792,0,"e"],[93793,0,"m"],[93794,0,":"],[93795,0,"d"],[93796,0,"e"],[93797,0,"l"],[93798,0,"e"],[93799,0,"t"],[93800,0,"e"],[93801,0,"-"],[93802,0,"c"],[93803,0,"o"],[93804,0,"m"],[93805,0,"m"],[93806,0,"u"],[93807,0,"t"],[93808,0,"e"],[93809,0,"}"],[93810,0," "],[93811,0,"i"],[93812,0,"t"],[93813,0," "],[93814,0,"i"],[93815,0,"s"],[93816,0," "],[93817,0,"c"],[93818,0,"o"],[93819,0,"n"],[93820,0,"c"],[93821,0,"u"],[93822,0,"r"],[93823,0,"r"],[93824,0,"e"],[93825,0,"n"],[93826,0,"t"],[93827,0," "],[93828,0,"w"],[93829,0,"i"],[93830,0,"t"],[93831,0,"h"],[93832,0," "],[93833,0,"a"],[93834,0,"l"],[93835,0,"l"],[93836,0," "],[93837,0,"o"],[93838,0,"p"],[93839,0,"e"],[93839,1],[93838,1],[93837,1],[93836,1],[93835,1],[93834,1],[93833,1],[93832,1],[93831,1],[93830,1],[93829,1],[93828,1],[93827,1],[93826,1],[93825,1],[93824,1],[93823,1],[93822,1],[93821,1],[93820,1],[93819,1],[93819,0,"m"],[93820,0,"m"],[93821,0,"u"],[93822,0,"t"],[93823,0,"a"],[93824,0,"t"],[93825,0,"i"],[93826,0,"v"],[93827,0,"e"],[93828,0," "],[93829,0,"w"],[93830,0,"i"],[93831,0,"t"],[93832,0,"h"],[93833,0," "],[93834,0,"a"],[93835,0,"l"],[93836,0,"l"],[93837,0," "],[93838,0,"o"],[93839,0,"p"],[93840,0,"e"],[93841,0,"r"],[93842,0,"a"],[93843,0,"t"],[93844,0,"i"],[93845,0,"o"],[93846,0,"n"],[93847,0,"s"],[93848,0," "],[93849,0,"i"],[93850,0,"n"],[93851,0," "],[93852,0,"t"],[93853,0,"h"],[93854,0,"e"],[93855,0," "],[93856,0,"s"],[93857,0,"u"],[93858,0,"f"],[93859,0,"f"],[93860,0,"i"],[93861,0,"x"],[93862,0,","],[93863,0," "],[93864,0,"a"],[93865,0,"n"],[93866,0,"d"],[93867,0," "],[93868,0,"s"],[93869,0,"o"],[93870,0," "],[93871,0,"$"],[93872,0,"#"],[93872,1],[93872,0,"o"],[93873,0,"_"],[93874,0,"{"],[93875,0,"n"],[93876,0,"+"],[93877,0,"1"],[93878,0,"}"],[93879,0,"$"],[93880,0," "],[93881,0,"c"],[93882,0,"a"],[93883,0,"n"],[93884,0," "],[93885,0,"b"],[93886,0,"e"],[93887,0," "],[93888,0,"i"],[93889,0,"n"],[93890,0,"s"],[93891,0,"e"],[93892,0,"r"],[93893,0,"t"],[93894,0,"e"],[93895,0,"d"],[93896,0," "],[93897,0,"a"],[93898,0,"t"],[93899,0," "],[93900,0,"a"],[93901,0,"n"],[93902,0,"y"],[93903,0," "],[93904,0,"p"],[93905,0,"o"],[93906,0,"i"],[93907,0,"n"],[93908,0,"t"],[93909,0," "],[93910,0,"w"],[93911,0,"i"],[93912,0,"t"],[93913,0,"h"],[93914,0,"i"],[93915,0,"n"],[93916,0,","],[93917,0," "],[93918,0,"b"],[93919,0,"e"],[93920,0,"f"],[93921,0,"o"],[93922,0,"r"],[93923,0,"e"],[93924,0,","],[93925,0," "],[93926,0,"o"],[93927,0,"r"],[93928,0," "],[93929,0,"a"],[93930,0,"f"],[93931,0,"t"],[93932,0,"e"],[93933,0,"r"],[93934,0," "],[93935,0,"t"],[93936,0,"h"],[93937,0,"e"],[93938,0," "],[93939,0,"s"],[93940,0,"u"],[93941,0,"f"],[93942,0,"f"],[93943,0,"i"],[93944,0,"x"],[93945,0," "],[93946,0,"w"],[93947,0,"i"],[93948,0,"t"],[93949,0,"h"],[93950,0,"o"],[93951,0,"u"],[93952,0,"t"],[93953,0," "],[93954,0,"c"],[93955,0,"h"],[93956,0,"a"],[93957,0,"n"],[93958,0,"g"],[93959,0,"i"],[93960,0,"n"],[93961,0,"g"],[93962,0," "],[93963,0,"i"],[93964,0,"t"],[93965,0,"s"],[93966,0,"e"],[93966,1],[93966,0," "],[93967,0,"e"],[93968,0,"f"],[93969,0,"f"],[93970,0,"e"],[93971,0,"c"],[93972,0,"t"],[93973,0," "],[93974,0,"o"],[93975,0,"n"],[93976,0," "],[93977,0,"t"],[93978,0,"h"],[93979,0,"e"],[93980,0," "],[93981,0,"f"],[93982,0,"i"],[93983,0,"n"],[93984,0,"a"],[93985,0,"l"],[93986,0," "],[93987,0,"d"],[93988,0,"o"],[93989,0,"c"],[93990,0,"u"],[93991,0,"m"],[93992,0,"e"],[93993,0,"n"],[93994,0,"t"],[93995,0," "],[93996,0,"s"],[93997,0,"t"],[93998,0,"a"],[93999,0,"t"],[94000,0,"e"],[94001,0,"."],[94002,0," "],[94003,0,"S"],[94004,0,"i"],[94005,0,"m"],[94006,0,"i"],[94007,0,"l"],[94008,0,"a"],[94009,0,"r"],[94010,0,"l"],[94011,0,"y"],[94012,0,","],[94013,0," "],[94014,0,"i"],[94015,0,"f"],[94016,0," "],[94017,0,"$"],[94018,0,"o"],[94019,0,"_"],[94020,0,"{"],[94021,0,"n"],[94022,0,"+"],[94023,0,"1"],[94024,0,"}"],[94025,0,"$"],[94026,0," "],[94027,0,"i"],[94028,0,"s"],[94029,0," "],[94030,0,"a"],[94031,0,"n"],[94032,0," "],[94033,0,"a"],[94034,0,"s"],[94035,0,"s"],[94036,0,"i"],[94037,0,"g"],[94038,0,"n"],[94039,0,"m"],[94040,0,"e"],[94041,0,"n"],[94042,0,"t"],[94043,0,","],[94044,0," "],[94045,0,"b"],[94046,0,"y"],[94047,0," "],[94048,0,"L"],[94049,0,"e"],[94050,0,"m"],[94051,0,"m"],[94052,0,"a"],[94053,0,"~"],[94054,0,"\\"],[94055,0,"r"],[94056,0,"e"],[94057,0,"f"],[94058,0,"{"],[94059,0,"l"],[94060,0,"e"],[94061,0,"m"],[94062,0,":"],[94063,0,"a"],[94064,0,"s"],[94065,0,"s"],[94066,0,"i"],[94067,0,"g"],[94068,0,"n"],[94069,0,"-"],[94070,0,"c"],[94071,0,"o"],[94072,0,"m"],[94073,0,"m"],[94074,0,"u"],[94075,0,"t"],[94076,0,"e"],[94077,0,"}"],[94078,0," "],[94079,0,"i"],[94080,0,"t"],[94081,0," "],[94082,0,"i"],[94083,0,"s"],[94084,0," "],[94085,0,"c"],[94086,0,"o"],[94087,0,"m"],[94088,0,"m"],[94089,0,"u"],[94090,0,"t"],[94091,0,"a"],[94092,0,"t"],[94093,0,"i"],[94094,0,"v"],[94095,0,"e"],[94096,0," "],[94097,0,"w"],[94098,0,"i"],[94099,0,"t"],[94100,0,"h"],[94101,0," "],[94102,0,"a"],[94103,0,"l"],[94104,0,"l"],[94105,0," "],[94106,0,"o"],[94107,0,"p"],[94108,0,"e"],[94109,0,"r"],[94110,0,"a"],[94111,0,"t"],[94112,0,"i"],[94113,0,"o"],[94114,0,"n"],[94115,0,"s"],[94116,0," "],[94117,0,"i"],[94118,0,"n"],[94119,0," "],[94120,0,"t"],[94121,0,"h"],[94122,0,"e"],[94123,0," "],[94124,0,"s"],[94125,0,"u"],[94126,0,"f"],[94127,0,"f"],[94128,0,"i"],[94129,0,"x"],[94130,0,"."],[94131,0,"\n"],[94132,0,"\n"],[94133,0,"I"],[94134,0,"f"],[94135,0," "],[94136,0,"$"],[94137,0,"o"],[94138,0,"_"],[94139,0,"["],[94139,1],[94139,0,"{"],[94140,0,"n"],[94141,0,"+"],[94142,0,"1"],[94143,0,"}"],[94144,0,"$"],[94145,0," "],[94146,0,"i"],[94147,0,"s"],[94148,0," "],[94149,0,"a"],[94150,0,"n"],[94151,0," "],[94152,0,"i"],[94153,0,"n"],[94154,0,"s"],[94155,0,"e"],[94156,0,"r"],[94157,0,"t"],[94158,0,"i"],[94159,0,"o"],[94160,0,"n"],[94161,0,","],[94162,0," "],[94163,0,"l"],[94164,0,"e"],[94165,0,"t"],[94166,0," "],[94167,0,"$"],[94168,0,"o"],[94169,0,"_"],[94170,0,"c"],[94171,0,"$"],[94172,0," "],[94173,0,"b"],[94174,0,"e"],[94175,0," "],[94176,0,"a"],[94177,0,"n"],[94178,0,"y"],[94179,0," "],[94180,0,"o"],[94181,0,"p"],[94182,0,"e"],[94183,0,"r"],[94184,0,"a"],[94185,0,"t"],[94186,0,"i"],[94187,0,"o"],[94188,0,"n"],[94189,0," "],[94190,0,"i"],[94191,0,"n"],[94192,0," "],[94193,0,"t"],[94194,0,"h"],[94195,0,"e"],[94196,0," "],[94197,0,"s"],[94198,0,"u"],[94199,0,"f"],[94200,0,"f"],[94201,0,"i"],[94202,0,"x"],[94203,0,","],[94204,0," "],[94205,0,"a"],[94206,0,"n"],[94207,0,"d"],[94208,0," "],[94209,0,"c"],[94210,0,"o"],[94211,0,"n"],[94212,0,"s"],[94213,0,"i"],[94214,0,"d"],[94215,0,"e"],[94216,0,"r"],[94217,0," "],[94218,0,"t"],[94219,0,"h"],[94220,0,"e"],[94221,0," "],[94222,0,"c"],[94223,0,"a"],[94224,0,"s"],[94225,0,"e"],[94226,0,"s"],[94227,0," "],[94228,0,"w"],[94229,0,"h"],[94230,0,"e"],[94231,0,"t"],[94232,0,"h"],[94232,1],[94231,1],[94230,1],[94229,1],[94228,1],[94228,0,"o"],[94229,0,"f"],[94230,0," "],[94231,0,"$"],[94232,0,"o"],[94233,0,"_"],[94234,0,"{"],[94235,0,"n"],[94236,0,"+"],[94237,0,"1"],[94238,0,"}"],[94239,0,"$"],[94240,0," "],[94241,0,"b"],[94242,0,"e"],[94243,0,"i"],[94244,0,"n"],[94245,0,"g"],[94246,0," "],[94247,0,"i"],[94248,0,"n"],[94249,0,"s"],[94250,0,"e"],[94251,0,"r"],[94252,0,"t"],[94253,0,"e"],[94254,0,"d"],[94255,0," "],[94256,0,"b"],[94257,0,"e"],[94258,0,"f"],[94259,0,"o"],[94260,0,"r"],[94261,0,"e"],[94262,0," "],[94263,0,"a"],[94264,0,"n"],[94265,0,"d"],[94266,0," "],[94267,0,"a"],[94268,0,"f"],[94269,0,"t"],[94270,0,"e"],[94271,0,"r"],[94272,0," "],[94273,0,"$"],[94274,0,"o"],[94275,0,"_"],[94276,0,"c"],[94277,0,"$"],[94278,0," "],[94279,0,"i"],[94280,0,"n"],[94281,0," "],[94282,0,"t"],[94283,0,"h"],[94284,0,"e"],[94285,0," "],[94286,0,"h"],[94287,0,"i"],[94288,0,"s"],[94289,0,"t"],[94290,0,"o"],[94291,0,"r"],[94292,0,"y"],[94293,0,"."],[94294,0," "],[94295,0,"I"],[94296,0,"f"],[94297,0," "],[94298,0,"$"],[94299,0,"o"],[94300,0,"_"],[94301,0,"c"],[94302,0,"$"],[94303,0," "],[94304,0,"i"],[94305,0,"s"],[94306,0," "],[94307,0,"a"],[94308,0," "],[94309,0,"d"],[94310,0,"e"],[94311,0,"l"],[94312,0,"e"],[94313,0,"t"],[94314,0,"i"],[94315,0,"o"],[94316,0,"n"],[94317,0," "],[94318,0,"o"],[94319,0,"r"],[94320,0," "],[94321,0,"a"],[94322,0,"s"],[94323,0,"s"],[94324,0,"i"],[94325,0,"g"],[94326,0,"n"],[94327,0,"m"],[94328,0,"e"],[94329,0,"n"],[94330,0,"t"],[94331,0,","],[94332,0," "],[94333,0,"i"],[94334,0,"t"],[94335,0," "],[94336,0,"i"],[94337,0,"s"],[94338,0," "],[94339,0,"c"],[94340,0,"o"],[94341,0,"m"],[94342,0,"m"],[94343,0,"u"],[94344,0,"t"],[94345,0,"a"],[94346,0,"t"],[94347,0,"i"],[94348,0,"v"],[94349,0,"e"],[94350,0," "],[94351,0,"w"],[94352,0,"i"],[94353,0,"t"],[94354,0,"h"],[94355,0," "],[94356,0,"$"],[94357,0,"o"],[94358,0,"_"],[94359,0,"{"],[94360,0,"n"],[94361,0,"+"],[94362,0,"1"],[94363,0,"}"],[94364,0,"$"],[94365,0," "],[94366,0,"b"],[94367,0,"y"],[94368,0," "],[94369,0,"L"],[94370,0,"e"],[94371,0,"m"],[94372,0,"m"],[94373,0,"a"],[94374,0,"~"],[94375,0,"\\"],[94376,0,"r"],[94377,0,"e"],[94378,0,"f"],[94379,0,"{"],[94380,0,"l"],[94381,0,"e"],[94382,0,"m"],[94383,0,":"],[94384,0,"a"],[94385,0,"s"],[94386,0,"s"],[94386,1],[94385,1],[94384,1],[94384,0,"d"],[94385,0,"e"],[94386,0,"l"],[94387,0,"e"],[94388,0,"t"],[94389,0,"e"],[94390,0,"-"],[94391,0,"c"],[94392,0,"o"],[94393,0,"m"],[94394,0,"m"],[94395,0,"u"],[94396,0,"t"],[94397,0,"e"],[94398,0,"}"],[94399,0," "],[94400,0,"o"],[94401,0,"r"],[94402,0," "],[94403,0,"L"],[94404,0,"e"],[94405,0,"m"],[94406,0,"m"],[94407,0,"a"],[94408,0,"~"],[94409,0,"\\"],[94410,0,"r"],[94411,0,"e"],[94412,0,"f"],[94413,0,"{"],[94414,0,"l"],[94415,0,"e"],[94416,0,"m"],[94417,0,":"],[94418,0,"a"],[94419,0,"s"],[94420,0,"s"],[94421,0,"i"],[94422,0,"g"],[94423,0,"n"],[94424,0,"-"],[94425,0,"c"],[94426,0,"o"],[94427,0,"m"],[94428,0,"m"],[94429,0,"u"],[94430,0,"t"],[94431,0,"e"],[94432,0,"}"],[94433,0," "],[94434,0,"r"],[94435,0,"e"],[94436,0,"s"],[94437,0,"p"],[94438,0,"e"],[94439,0,"c"],[94440,0,"t"],[94441,0,"i"],[94442,0,"v"],[94443,0,"e"],[94444,0,"l"],[94445,0,"y"],[94446,0,"."],[94447,0," "],[94448,0,"I"],[94449,0,"f"],[94450,0," "],[94451,0,"$"],[94452,0,"o"],[94453,0,"_"],[94454,0,"c"],[94455,0,"$"],[94456,0," "],[94457,0,"i"],[94458,0,"s"],[94459,0," "],[94460,0,"a"],[94461,0,"n"],[94462,0," "],[94463,0,"i"],[94464,0,"n"],[94465,0,"s"],[94466,0,"e"],[94467,0,"r"],[94468,0,"t"],[94469,0,"i"],[94470,0,"o"],[94471,0,"n"],[94472,0," "],[94473,0,"i"],[94474,0,"n"],[94475,0,"t"],[94476,0,"o"],[94477,0," "],[94478,0,"a"],[94479,0," "],[94480,0,"d"],[94481,0,"i"],[94482,0,"f"],[94483,0,"f"],[94484,0,"e"],[94485,0,"r"],[94486,0,"e"],[94487,0,"n"],[94488,0,"t"],[94489,0," "],[94490,0,"l"],[94491,0,"i"],[94492,0,"s"],[94493,0,"t"],[94494,0," "],[94495,0,"i"],[94496,0,"n"],[94497,0," "],[94498,0,"t"],[94499,0,"h"],[94500,0,"e"],[94501,0," "],[94502,0,"d"],[94503,0,"o"],[94504,0,"c"],[94505,0,"u"],[94506,0,"m"],[94507,0,"e"],[94508,0,"n"],[94509,0,"t"],[94510,0,","],[94511,0," "],[94512,0,"i"],[94513,0,"t"],[94514,0,"s"],[94515,0," "],[94516,0,"e"],[94517,0,"f"],[94518,0,"f"],[94519,0,"e"],[94520,0,"c"],[94521,0,"t"],[94522,0," "],[94523,0,"i"],[94524,0,"s"],[94525,0," "],[94526,0,"i"],[94527,0,"n"],[94528,0,"d"],[94529,0,"e"],[94530,0,"p"],[94531,0,"e"],[94532,0,"n"],[94533,0,"d"],[94534,0,"e"],[94535,0,"n"],[94536,0,"t"],[94537,0," "],[94538,0,"f"],[94539,0,"r"],[94540,0,"o"],[94541,0,"m"],[94542,0," "],[94543,0,"$"],[94544,0,"o"],[94545,0,"_"],[94546,0,"{"],[94547,0,"n"],[94548,0,"+"],[94549,0,"1"],[94550,0,"}"],[94551,0,"$"],[94552,0," "],[94553,0,"a"],[94554,0,"n"],[94555,0,"d"],[94556,0," "],[94557,0,"s"],[94558,0,"o"],[94559,0," "],[94560,0,"t"],[94561,0,"h"],[94562,0,"e"],[94563,0," "],[94564,0,"t"],[94565,0,"w"],[94566,0,"o"],[94567,0," "],[94568,0,"o"],[94569,0,"p"],[94570,0,"e"],[94571,0,"r"],[94572,0,"a"],[94573,0,"t"],[94574,0,"i"],[94575,0,"o"],[94576,0,"n"],[94577,0,"s"],[94578,0," "],[94579,0,"c"],[94580,0,"a"],[94581,0,"n"],[94582,0," "],[94583,0,"b"],[94584,0,"e"],[94585,0," "],[94586,0,"a"],[94587,0,"p"],[94588,0,"p"],[94589,0,"l"],[94590,0,"i"],[94591,0,"e"],[94592,0,"d"],[94593,0," "],[94594,0,"i"],[94595,0,"n"],[94596,0," "],[94597,0,"a"],[94598,0,"n"],[94599,0,"y"],[94600,0," "],[94601,0,"o"],[94602,0,"r"],[94603,0,"d"],[94604,0,"e"],[94605,0,"r"],[94606,0,"."],[94607,0," "],[94608,0,"I"],[94609,0,"f"],[94610,0," "],[94611,0,"$"],[94612,0,"o"],[94613,0,"_"],[94614,0,"c"],[94615,0,"$"],[94616,0," "],[94617,0,"i"],[94618,0,"s"],[94619,0," "],[94620,0,"a"],[94621,0,"n"],[94622,0," "],[94623,0,"i"],[94624,0,"n"],[94625,0,"s"],[94626,0,"e"],[94627,0,"r"],[94628,0,"t"],[94629,0,"i"],[94630,0,"o"],[94631,0,"n"],[94632,0," "],[94633,0,"i"],[94634,0,"n"],[94635,0,"t"],[94636,0,"o"],[94637,0," "],[94510,0," "],[94511,0,"t"],[94512,0,"h"],[94513,0,"a"],[94513,1],[94512,1],[94511,1],[94510,1],[94510,0," "],[94510,1],[94447,0," "],[94448,0,"I"],[94449,0,"f"],[94450,0," "],[94451,0,"$"],[94452,0,"o"],[94453,0,"_"],[94454,0,"c"],[94455,0,"$"],[94456,0," "],[94457,0,"i"],[94458,0,"s"],[94459,0," "],[94460,0,"a"],[94461,0,"n"],[94462,0," "],[94463,0,"i"],[94464,0,"n"],[94465,0,"s"],[94466,0,"e"],[94467,0,"r"],[94468,0,"t"],[94469,0,"i"],[94470,0,"o"],[94471,0,"n"],[94472,0," "],[94473,0,"i"],[94474,0,"n"],[94475,0,"t"],[94476,0,"o"],[94477,0," "],[94478,0,"t"],[94479,0,"h"],[94480,0,"e"],[94481,0," "],[94482,0,"s"],[94483,0,"a"],[94484,0,"m"],[94485,0,"e"],[94486,0," "],[94487,0,"l"],[94488,0,"i"],[94489,0,"s"],[94490,0,"t"],[94491,0," "],[94492,0,"a"],[94493,0,"s"],[94494,0," "],[94495,0,"$"],[94496,0,"o"],[94497,0,"_"],[94498,0,"{"],[94499,0,"n"],[94500,0,"+"],[94501,0,"2"],[94501,1],[94501,0,"1"],[94502,0,"}"],[94503,0,"$"],[94504,0,","],[94505,0," "],[94506,0,"t"],[94507,0,"h"],[94508,0,"e"],[94509,0,"n"],[94510,0," "],[94511,0,"b"],[94512,0,"y"],[94513,0," "],[94514,0,"L"],[94515,0,"e"],[94516,0,"m"],[94517,0,"m"],[94518,0,"a"],[94519,0,"~"],[94520,0,"\\"],[94521,0,"r"],[94522,0,"e"],[94523,0,"f"],[94524,0,"{"],[94525,0,"l"],[94526,0,"e"],[94527,0,"m"],[94528,0,":"],[94529,0,"i"],[94530,0,"n"],[94531,0,"s"],[94532,0,"e"],[94533,0,"r"],[94534,0,"t"],[94535,0,"-"],[94536,0,"r"],[94537,0,"e"],[94538,0,"o"],[94539,0,"r"],[94540,0,"d"],[94541,0,"e"],[94542,0,"r"],[94543,0,"}"],[94544,0," "],[94545,0,"t"],[94546,0,"h"],[94547,0,"e"],[94548,0," "],[94549,0,"o"],[94550,0,"p"],[94551,0,"e"],[94552,0,"r"],[94553,0,"a"],[94554,0,"t"],[94555,0,"i"],[94556,0,"o"],[94557,0,"n"],[94558,0,"s"],[94559,0," "],[94560,0,"a"],[94561,0,"r"],[94562,0,"e"],[94563,0," "],[94564,0,"c"],[94565,0,"o"],[94566,0,"m"],[94567,0,"m"],[94568,0,"u"],[94569,0,"t"],[94570,0,"a"],[94571,0,"t"],[94572,0,"i"],[94573,0,"v"],[94574,0,"e"],[94575,0,"."],[94766,1],[94765,1],[94764,1],[94763,1],[94762,1],[94761,1],[94760,1],[94759,1],[94758,1],[94757,1],[94756,1],[94755,1],[94754,1],[94753,1],[94752,1],[94751,1],[94750,1],[94749,1],[94748,1],[94747,1],[94746,1],[94745,1],[94744,1],[94743,1],[94742,1],[94741,1],[94740,1],[94739,1],[94738,1],[94737,1],[94736,1],[94882,1],[94881,1],[94880,1],[94879,1],[94878,1],[94877,1],[94876,1],[94875,1],[94874,1],[94873,1],[94872,1],[94871,1],[94870,1],[94869,1],[94868,1],[94867,1],[94866,1],[94865,1],[94864,1],[94863,1],[94862,1],[94861,1],[94860,1],[94859,1],[94858,1],[94857,1],[94856,1],[94855,1],[94854,1],[94853,1],[94852,1],[94851,1],[94850,1],[94849,1],[94848,1],[94847,1],[94846,1],[94845,1],[94844,1],[94843,1],[94842,1],[94841,1],[94840,1],[94839,1],[94838,1],[94837,1],[94836,1],[94835,1],[94834,1],[94833,1],[94832,1],[94831,1],[94830,1],[94829,1],[94828,1],[94827,1],[94826,1],[94825,1],[94824,1],[94823,1],[94822,1],[94821,1],[94820,1],[94819,1],[94818,1],[94817,1],[94816,1],[94815,1],[94814,1],[94813,1],[94812,1],[94811,1],[94810,1],[94809,1],[94808,1],[94807,1],[94806,1],[94805,1],[94804,1],[94803,1],[94802,1],[94801,1],[94800,1],[94799,1],[94798,1],[94797,1],[94796,1],[94795,1],[94794,1],[94793,1],[94792,1],[94791,1],[94790,1],[94789,1],[94788,1],[94787,1],[94786,1],[94785,1],[94784,1],[94783,1],[94782,1],[94781,1],[94780,1],[94779,1],[94778,1],[94777,1],[94776,1],[94775,1],[94774,1],[94773,1],[94772,1],[94771,1],[94770,1],[94769,1],[94768,1],[94767,1],[94766,1],[94765,1],[94764,1],[94763,1],[94762,1],[94761,1],[94760,1],[94759,1],[94758,1],[94757,1],[94756,1],[94755,1],[94754,1],[94753,1],[94752,1],[94751,1],[94750,1],[94749,1],[94748,1],[94747,1],[94746,1],[94745,1],[94744,1],[94743,1],[94742,1],[94741,1],[94740,1],[94739,1],[94738,1],[94738,0,"T"],[94739,0,"h"],[94740,0,"u"],[94741,0,"s"],[94742,0,","],[94743,0," "],[94744,0,"t"],[94745,0,"h"],[94746,0,"e"],[94747,0," "],[94747,1],[94746,1],[94745,1],[94744,1],[94743,1],[94743,0," "],[94744,0,"$"],[94745,0,"o"],[94746,0,"_"],[94747,0,"{"],[94748,0,"n"],[94749,0,"+"],[94750,0,"2"],[94751,0,"1"],[94751,1],[94750,1],[94750,0,"1"],[94751,0,"}"],[94752,0,"$"],[94753,0," "],[94754,0,"i"],[94755,0,"s"],[94756,0," "],[94757,0,"c"],[94758,0,"o"],[94759,0,"m"],[94760,0,"m"],[94761,0,"u"],[94762,0,"t"],[94763,0,"a"],[94764,0,"t"],[94765,0,"i"],[94766,0,"v"],[94767,0,"e"],[94768,0," "],[94769,0,"w"],[94770,0,"i"],[94771,0,"t"],[94772,0,"h"],[94773,0," "],[94774,0,"r"],[94775,0,"e"],[94776,0,"s"],[94777,0,"p"],[94778,0,"e"],[94779,0,"c"],[94780,0,"t"],[94781,0," "],[94782,0,"t"],[94783,0,"o"],[94784,0," "],[94785,0,"a"],[94786,0,"n"],[94787,0,"y"],[94788,0," "],[94789,0,"c"],[94790,0,"o"],[94791,0,"n"],[94792,0,"c"],[94793,0,"u"],[94794,0,"r"],[94795,0,"r"],[94796,0,"e"],[94797,0,"n"],[94798,0,"t"],[94799,0," "],[94800,0,"o"],[94801,0,"p"],[94802,0,"e"],[94803,0,"r"],[94804,0,"a"],[94805,0,"t"],[94806,0,"i"],[94807,0,"o"],[94808,0,"n"],[94809,0," "],[94810,0,"i"],[94811,0,"n"],[94812,0," "],[94813,0,"$"],[94814,0,"H"],[94815,0,"$"],[94816,0,","],[94817,0," "],[94818,0,"a"],[94819,0,"n"],[94820,0,"d"],[94821,0," "],[94822,0,"t"],[94823,0,"h"],[94824,0,"e"],[94825,0,"r"],[94826,0,"e"],[94827,0,"f"],[94828,0,"o"],[94829,0,"r"],[94830,0,"e"],[94831,0," "],[94844,0,"\n"],[94845,0,"\n"],[94846,0,"T"],[94847,0,"h"],[94848,0,"i"],[94849,0,"s"],[94850,0," "],[94851,0,"c"],[94852,0,"o"],[94853,0,"m"],[94854,0,"p"],[94855,0,"l"],[94856,0,"e"],[94857,0,"t"],[94858,0,"e"],[94859,0,"s"],[94860,0," "],[94861,0,"t"],[94862,0,"h"],[94863,0,"e"],[94864,0," "],[94865,0,"i"],[94866,0,"n"],[94867,0,"d"],[94868,0,"u"],[94869,0,"c"],[94870,0,"t"],[94871,0,"i"],[94872,0,"o"],[94873,0,"n"],[94874,0," "],[94875,0,"s"],[94876,0,"t"],[94877,0,"e"],[94878,0,"p"],[94879,0," "],[94880,0,"i"],[94881,0,"n"],[94882,0," "],[94883,0,"t"],[94884,0,"h"],[94885,0,"e"],[94886,0," "],[94887,0,"p"],[94888,0,"r"],[94889,0,"o"],[94890,0,"o"],[94891,0,"f"],[94892,0," "],[94893,0,"o"],[94894,0,"f"],[94895,0," "],[94896,0,"T"],[94897,0,"h"],[94898,0,"e"],[94899,0,"o"],[94900,0,"r"],[94901,0,"e"],[94902,0,"m"],[94903,0,"~"],[94904,0,"\\"],[94905,0,"r"],[94906,0,"e"],[94907,0,"f"],[94908,0,"{"],[94909,0,"t"],[94910,0,"h"],[94911,0,"m"],[94912,0,":"],[94913,0,"c"],[94914,0,"o"],[94915,0,"n"],[94916,0,"v"],[94917,0,"e"],[94918,0,"r"],[94919,0,"g"],[94920,0,"e"],[94921,0,"n"],[94922,0,"c"],[94923,0,"e"],[94924,0,"}"],[94925,0,","],[94926,0," "],[94927,0,"a"],[94928,0,"n"],[94929,0,"d"],[94930,0," "],[94931,0,"t"],[94932,0,"h"],[94933,0,"u"],[94934,0,"s"],[94935,0," "],[94936,0,"p"],[94937,0,"r"],[94938,0,"o"],[94939,0,"v"],[94940,0,"e"],[94941,0,"s"],[94942,0," "],[94943,0,"c"],[94944,0,"o"],[94945,0,"n"],[94946,0,"v"],[94947,0,"e"],[94948,0,"r"],[94949,0,"g"],[94950,0,"e"],[94951,0,"n"],[94952,0,"c"],[94953,0,"e"],[94954,0," "],[94955,0,"o"],[94956,0,"f"],[94957,0," "],[94958,0,"o"],[94959,0,"u"],[94960,0,"r"],[94961,0," "],[94962,0,"d"],[94963,0,"a"],[94964,0,"t"],[94965,0,"a"],[94966,0,"t"],[94967,0,"y"],[94968,0,"p"],[94969,0,"e"],[94970,0,"."],[94832,0,"$"],[94821,1],[94820,1],[94819,1],[94818,1],[94817,1],[94816,1],[94816,0,"."],[94817,0," "],[94818,1],[94818,0,"T"],[94827,0,","],[94830,0,"o"],[94831,0,"_"],[94832,0,"{"],[94833,0,"n"],[94834,0,"+"],[94835,0,"1"],[94836,0,"}"],[94837,0,"$"],[94838,0," "],[94839,0,"c"],[94840,0,"a"],[94841,0,"n"],[94842,0," "],[94843,0,"b"],[94844,0,"e"],[94845,0," "],[94846,0,"i"],[94847,0,"n"],[94848,0,"s"],[94849,0,"e"],[94850,0,"r"],[94851,0,"t"],[94852,0,"e"],[94853,0,"d"],[94854,0," "],[94855,0,"a"],[94856,0,"t"],[94857,0," "],[94858,0,"a"],[94859,0,"n"],[94860,0,"y"],[94861,0," "],[94862,0,"p"],[94863,0,"o"],[94864,0,"i"],[94865,0,"n"],[94866,0,"t"],[94867,0," "],[94868,0,"a"],[94869,0,"f"],[94870,0,"t"],[94871,0,"e"],[94872,0,"r"],[94873,0," "],[94874,0,"p"],[94874,1],[94874,0,"i"],[94875,0,"t"],[94876,0,"s"],[94877,0," "],[94878,0,"c"],[94879,0,"a"],[94880,0,"u"],[94881,0,"s"],[94882,0,"a"],[94883,0,"l"],[94884,0," "],[94885,0,"d"],[94886,0,"e"],[94887,0,"p"],[94888,0,"e"],[94889,0,"n"],[94890,0,"d"],[94891,0,"e"],[94892,0,"n"],[94893,0,"c"],[94894,0,"i"],[94895,0,"e"],[94896,0,"s"],[94897,0,","],[94898,0," "],[94899,0,"a"],[94900,0,"n"],[94901,0,"d"],[94902,0," "],[94903,0,"t"],[94904,0,"h"],[94905,0,"e"],[94906,0," "],[94854,0," "],[94855,0,"i"],[94856,0,"n"],[94857,0,"t"],[94858,0,"o"],[94859,0," "],[94860,0,"$"],[94861,0,"H"],[94862,0,"$"],[94916,0,"e"],[94917,0,"f"],[94918,0,"f"],[94919,0,"e"],[94920,0,"c"],[94921,0,"t"],[94922,0," "],[94923,0,"o"],[94924,0,"n"],[94925,0," "],[94926,0,"t"],[94927,0,"h"],[94928,0,"e"],[94929,0," "],[94930,0,"f"],[94931,0,"i"],[94932,0,"n"],[94933,0,"a"],[94934,0,"l"],[94935,0," "],[94936,0,"d"],[94937,0,"o"],[94938,0,"c"],[94939,0,"u"],[94940,0,"m"],[94941,0,"e"],[94942,0,"n"],[94943,0,"t"],[94944,0," "],[94945,0,"s"],[94946,0,"t"],[94947,0,"a"],[94948,0,"t"],[94949,0,"e"],[94950,0," "],[94951,0,"i"],[94952,0,"s"],[94953,0," "],[94954,0,"i"],[94955,0,"n"],[94956,0,"d"],[94957,0,"e"],[94958,0,"p"],[94959,0,"e"],[94960,0,"n"],[94961,0,"d"],[94962,0,"e"],[94963,0,"n"],[94964,0,"t"],[94965,0," "],[94966,0,"o"],[94967,0,"f"],[94968,0," "],[94969,0,"t"],[94970,0,"h"],[94971,0,"e"],[94972,0," "],[94973,0,"p"],[94974,0,"o"],[94975,0,"s"],[94976,0,"i"],[94977,0,"t"],[94978,0,"i"],[94979,0,"o"],[94980,0,"n"],[94981,0," "],[94982,0,"a"],[94983,0,"t"],[94984,0," "],[94985,0,"w"],[94986,0,"h"],[94987,0,"i"],[94988,0,"c"],[94989,0,"h"],[94990,0," "],[94991,0,"t"],[94992,0,"h"],[94993,0,"e"],[94994,0," "],[94995,0,"o"],[94996,0,"p"],[94997,0,"e"],[94998,0,"r"],[94999,0,"a"],[95000,0,"t"],[95001,0,"i"],[95002,0,"o"],[95003,0,"n"],[95004,0," "],[95005,0,"i"],[95006,0,"s"],[95007,0," "],[95008,0,"i"],[95009,0,"n"],[95010,0,"s"],[95011,0,"e"],[95012,0,"r"],[95013,0,"t"],[95014,0,"e"],[95015,0,"d"],[95016,0,"."],[4630,1],[4629,1],[4628,1],[4627,1],[4626,1],[4625,1],[4624,1],[4623,1],[4622,1],[4621,1],[4620,1],[4619,1],[4618,1],[4617,1],[4616,1],[4615,1],[4614,1],[4613,1],[4612,1],[4611,1],[4610,1],[4609,1],[4608,1],[4607,1],[4606,1],[4606,0,"s"],[4607,0,"u"],[4608,0,"p"],[4609,0,"p"],[4610,0,"o"],[4611,0,"r"],[4612,0,"t"],[4613,0,"s"],[4614,0," "],[5088,1],[5087,1],[5086,1],[5085,1],[5084,1],[5083,1],[5082,1],[5081,1],[5080,1],[5079,1],[5078,1],[5077,1],[5076,1],[5075,1],[5074,1],[5073,1],[5072,1],[5071,1],[5070,1],[5069,1],[5068,1],[5067,1],[5066,1],[5065,1],[5064,1],[5063,1],[5062,1],[5061,1],[5060,1],[5059,1],[5058,1],[5057,1],[5056,1],[5055,1],[5054,1],[5053,1],[5052,1],[5051,1],[5050,1],[5049,1],[5048,1],[5047,1],[5046,1],[5045,1],[5044,1],[5043,1],[5042,1],[5041,1],[5040,1],[5039,1],[5038,1],[5037,1],[5036,1],[5035,1],[5034,1],[5033,1],[5032,1],[5031,1],[5030,1],[5029,1],[5028,1],[5027,1],[5026,1],[5025,1],[5024,1],[5023,1],[5022,1],[5021,1],[5020,1],[5019,1],[5018,1],[5017,1],[5016,1],[5015,1],[5014,1],[5013,1],[5012,1],[5011,1],[5010,1],[5009,1],[5008,1],[5007,1],[5006,1],[5005,1],[5004,1],[5003,1],[5002,1],[5001,1],[5000,1],[4999,1],[4998,1],[4997,1],[4996,1],[4995,1],[4994,1],[4993,1],[4992,1],[4991,1],[4990,1],[4989,1],[4988,1],[4987,1],[4986,1],[4985,1],[4984,1],[4983,1],[4982,1],[4981,1],[4980,1],[4979,1],[4978,1],[4977,1],[4976,1],[4975,1],[4974,1],[4973,1],[4972,1],[4971,1],[4970,1],[4969,1],[4968,1],[4967,1],[4966,1],[4965,1],[4964,1],[4963,1],[4962,1],[4961,1],[4960,1],[4959,1],[4958,1],[4957,1],[4956,1],[4955,1],[4954,1],[4953,1],[4952,1],[4951,1],[4950,1],[4949,1],[4948,1],[4947,1],[4946,1],[4945,1],[4944,1],[4943,1],[4942,1],[4941,1],[4940,1],[4939,1],[4938,1],[4937,1],[4936,1],[4935,1],[4934,1],[4933,1],[4932,1],[4931,1],[4930,1],[4929,1],[4928,1],[4927,1],[4926,1],[4925,1],[4924,1],[4923,1],[4922,1],[4921,1],[4920,1],[4919,1],[4918,1],[4917,1],[4916,1],[4915,1],[4914,1],[4913,1],[4912,1],[4911,1],[4910,1],[4909,1],[4908,1],[4907,1],[4906,1],[4905,1],[4904,1],[4903,1],[4902,1],[4901,1],[4900,1],[4899,1],[4898,1],[4897,1],[4896,1],[4895,1],[4894,1],[4893,1],[4892,1],[4891,1],[4890,1],[4889,1],[4888,1],[4887,1],[4886,1],[4885,1],[4884,1],[4883,1],[4882,1],[4881,1],[4880,1],[4879,1],[4878,1],[4877,1],[4876,1],[4875,1],[4874,1],[4873,1],[4872,1],[4871,1],[4870,1],[4869,1],[4868,1],[4867,1],[4866,1],[4865,1],[4864,1],[4863,1],[4862,1],[4861,1],[4860,1],[4859,1],[4858,1],[4857,1],[4856,1],[4855,1],[4854,1],[4853,1],[4852,1],[4851,1],[4850,1],[4849,1],[4848,1],[4847,1],[4846,1],[4845,1],[4844,1],[4843,1],[4842,1],[4841,1],[4840,1],[4839,1],[4838,1],[4837,1],[4836,1],[4835,1],[4834,1],[4833,1],[4668,0,"i"],[4669,0," "],[4669,1],[4668,1],[4668,0," "],[4669,0,"A"],[4670,0,"s"],[4671,0," "],[4672,0,"w"],[4673,0,"e"],[4674,0," "],[4675,0,"s"],[4676,0,"h"],[4677,0,"a"],[4678,0,"l"],[4679,0,"l"],[4680,0," "],[4681,0,"s"],[4682,0,"e"],[4683,0,"e"],[4684,0," "],[4685,0,"l"],[4686,0,"a"],[4687,0,"t"],[4688,0,"e"],[4689,0,"r"],[4690,0,","],[4691,0," "],[4692,0,"i"],[4693,0,"n"],[4694,0," "],[4695,0,"s"],[4696,0,"o"],[4697,0,"m"],[4698,0,"e"],[4699,0," "],[4700,0,"c"],[4701,0,"a"],[4702,0,"s"],[4703,0,"e"],[4704,0,"s"],[4705,0," "],[4706,0,"w"],[4707,0,"e"],[4708,0," "],[4709,0,"n"],[4710,0,"e"],[4711,0,"e"],[4712,0,"d"],[4713,0," "],[4714,0,"t"],[4715,0,"o"],[4716,0," "],[4717,0,"s"],[4718,0,"u"],[4719,0,"p"],[4720,0,"p"],[4721,0,"o"],[4722,0,"r"],[4723,0,"t"],[4723,1],[4722,1],[4721,1],[4720,1],[4719,1],[4718,1],[4717,1],[4716,1],[4715,1],[4714,1],[4713,1],[4712,1],[4711,1],[4710,1],[4709,1],[4708,1],[4707,1],[4706,1],[4706,0,"s"],[4707,0,"u"],[4708,0,"p"],[4709,0,"p"],[4710,0,"o"],[4711,0,"r"],[4712,0,"t"],[4713,0," "],[4714,0,"a"],[4714,1],[4713,1],[4712,1],[4711,1],[4710,1],[4709,1],[4708,1],[4707,1],[4706,1],[4705,1],[4704,1],[4703,1],[4702,1],[4701,1],[4700,1],[4699,1],[4698,1],[4697,1],[4696,1],[4695,1],[4694,1],[4693,1],[4692,1],[4692,0,"o"],[4693,0,"u"],[4694,0,"r"],[4695,0," "],[4696,0,"a"],[4697,0,"p"],[4698,0,"p"],[4699,0,"r"],[4700,0,"o"],[4701,0,"a"],[4702,0,"c"],[4703,0,"h"],[4704,0," "],[4705,0,"r"],[4706,0,"e"],[4707,0,"q"],[4708,0,"u"],[4709,0,"i"],[4710,0,"r"],[4711,0,"e"],[4712,0,"s"],[4713,0," "],[4714,0,"t"],[4715,0,"h"],[4716,0,"e"],[4717,0," "],[4718,0,"u"],[4719,0,"s"],[4720,0,"e"],[4721,0," "],[4722,0,"o"],[4723,0,"f"],[4724,0," "],[4725,0,"a"],[4726,0," "],[4727,0,"m"],[4728,0,"u"],[4729,0,"l"],[4730,0,"t"],[4731,0,"i"],[4732,0,"-"],[4733,0,"v"],[4734,0,"a"],[4734,1],[4734,0,"a"],[4735,0,"l"],[4736,0,"u"],[4737,0,"e"],[4738,0," "],[4739,0,"r"],[4740,0,"e"],[4741,0,"g"],[4742,0,"i"],[4743,0,"t"],[4744,0,"e"],[4744,1],[4743,1],[4743,0,"s"],[4744,0,"t"],[4745,0,"e"],[4746,0,"r"],[4746,1],[4745,1],[4744,1],[4743,1],[4742,1],[4741,1],[4740,1],[4739,1],[4738,1],[4737,1],[4736,1],[4735,1],[4734,1],[4733,1],[4732,1],[4731,1],[4730,1],[4729,1],[4728,1],[4727,1],[4726,1],[4725,1],[4724,1],[4723,1],[4722,1],[4721,1],[4720,1],[4719,1],[4718,1],[4717,1],[4716,1],[4715,1],[4714,1],[4713,1],[4712,1],[4711,1],[4710,1],[4709,1],[4708,1],[4707,1],[4706,1],[4705,1],[4705,0,"m"],[4706,0,"a"],[4707,0,"y"],[4708,0," "],[4709,0,"r"],[4710,0,"e"],[4711,0,"q"],[4712,0,"u"],[4713,0,"i"],[4714,0,"r"],[4715,0,"e"],[4716,0," "],[4717,0,"a"],[4718,0," "],[4719,0,"m"],[4720,0,"u"],[4721,0,"l"],[4722,0,"t"],[4723,0,"i"],[4724,0,"-"],[4725,0,"v"],[4726,0,"a"],[4727,0,"l"],[4728,0,"e"],[4728,1],[4727,1],[4727,0,"l"],[4728,0,"u"],[4729,0,"e"],[4730,0," "],[4731,0,"r"],[4732,0,"e"],[4733,0,"s"],[4734,0,"g"],[4734,1],[4733,1],[4733,0,"g"],[4734,0,"i"],[4735,0,"s"],[4736,0,"t"],[4737,0,"e"],[4738,0,"r"],[4739,0," "],[4740,0,"t"],[4741,0,"o"],[4742,0," "],[4743,0,"r"],[4744,0,"e"],[4745,0,"c"],[4746,0,"o"],[4747,0,"r"],[4748,0,"d"],[4749,0," "],[4750,0,"p"],[4751,0,"o"],[4752,0,"t"],[4753,0,"e"],[4754,0,"n"],[4755,0,"t"],[4756,0,"i"],[4757,0,"a"],[4758,0,"l"],[4759,0," "],[4760,0,"c"],[4761,0,"o"],[4762,0,"n"],[4763,0,"f"],[4764,0,"l"],[4765,0,"i"],[4766,0,"c"],[4767,0,"t"],[4768,0,"s"],[4704,0," "],[4705,0,"t"],[4706,0,"y"],[4707,0,"p"],[4708,0,"i"],[4709,0,"c"],[4710,0,"a"],[4711,0,"l"],[4712,0,"l"],[4713,0,"y"],[4714,0," "],[4715,0,"s"],[4715,1],[4715,0,"s"],[4716,0,"u"],[4717,0,"p"],[4718,0,"p"],[4719,0,"o"],[4720,0,"r"],[4721,0,"t"],[4722,0,"s"],[4723,0," "],[4724,0,"t"],[4725,0,"h"],[4726,0,"e"],[4727,0," "],[4728,0,"m"],[4729,0,"e"],[4730,0,"r"],[4731,0,"g"],[4732,0,"i"],[4733,0,"n"],[4733,1],[4732,1],[4731,1],[4730,1],[4729,1],[4728,1],[4728,0,"a"],[4729,0,"u"],[4730,0,"t"],[4731,0,"o"],[4732,0,"m"],[4733,0,"a"],[4734,0,"t"],[4735,0,"i"],[4736,0,"c"],[4737,0," "],[4738,0,"m"],[4739,0,"e"],[4740,0,"r"],[4741,0,"g"],[4742,0,"i"],[4743,0,"n"],[4744,0,"g"],[4745,0," "],[4746,0,"o"],[4747,0,"f"],[4748,0," "],[4749,0,"m"],[4750,0,"o"],[4751,0,"d"],[4752,0,"i"],[4753,0,"f"],[4754,0,"i"],[4755,0,"c"],[4756,0,"a"],[4757,0,"t"],[4758,0,"i"],[4759,0,"o"],[4760,0,"n"],[4761,0,"s"],[4762,0," "],[4763,0,"i"],[4764,0,"n"],[4765,0,"t"],[4766,0,"o"],[4767,0," "],[4768,0,"a"],[4769,0," "],[4770,0,"J"],[4771,0,"S"],[4772,0,"O"],[4773,0,"N"],[4774,0," "],[4775,0,"d"],[4776,0,"a"],[4777,0,"t"],[4778,0,"a"],[4779,0," "],[4780,0,"s"],[4781,0,"t"],[4782,0,"r"],[4783,0,"u"],[4784,0,"c"],[4785,0,"t"],[4786,0,"u"],[4787,0,"r"],[4788,0,"e"],[4789,0,"."],[4790,0," "],[4791,0,"O"],[4792,0,"u"],[4793,0,"r"],[4794,0,"a"],[4795,0," "],[4795,1],[4794,1],[4794,0," "],[4795,0,"a"],[4796,0,"p"],[4797,0,"p"],[4798,0,"r"],[4799,0,"o"],[4800,0,"a"],[4801,0,"c"],[4802,0,"h"],[4806,1],[4805,1],[4804,1],[4813,1],[4812,1],[4811,1],[4810,1],[4809,1],[4808,1],[4807,1],[4806,1],[4805,1],[4804,1],[4804,0,"i"],[4805,0,"n"],[4806,0,"t"],[4807,0,"r"],[4808,0,"o"],[4809,0,"d"],[4810,0,"u"],[4811,0,"c"],[4812,0,"e"],[4813,0,"s"],[4814,0," "],[4815,0,"a"],[4856,1],[4855,1],[4854,1],[4853,1],[4852,1],[4851,1],[4850,1],[4849,1],[4848,1],[4847,1],[4856,1],[4856,0,"i"],[4857,0,"n"],[4858,0,"g"],[4859,0," "],[4860,0,"u"],[4861,0,"d"],[4862,0,"p"],[4862,1],[4861,1],[4861,0,"p"],[4862,0,"d"],[4863,0,"a"],[4864,0,"t"],[4865,0,"e"],[4866,0,"s"],[4867,0," "],[4813,1],[4812,1],[4811,1],[4810,1],[4809,1],[4808,1],[4807,1],[4806,1],[4805,1],[4804,1],[4804,0,"u"],[4805,0,"s"],[4806,0,"e"],[4807,0,"s"],[4861,0," "],[4862,0,"t"],[4863,0,"o"],[4864,0," "],[4865,0,"l"],[4866,0,"e"],[4867,0,"a"],[4868,0,"f"],[4749,0,"c"],[4750,0,"o"],[4751,0,"n"],[4752,0,"c"],[4753,0,"u"],[4754,0,"r"],[4755,0,"r"],[4756,0,"e"],[4757,0,"n"],[4758,0,"t"],[4759,0," "],[4821,1],[4820,1],[4819,1],[4818,1],[4817,1],[4816,1],[4815,1],[4815,0,"i"],[4816,0,"n"],[4817,0,"t"],[4818,0,"r"],[4819,0,"o"],[4820,0,"d"],[4821,0,"u"],[4822,0,"c"],[4823,0,"e"],[4824,0,"s"],[4825,0," "],[4826,0,"a"],[4827,0," "],[4828,0,"g"],[4829,0,"e"],[4830,0,"n"],[4831,0,"e"],[4832,0,"r"],[4833,0,"a"],[4834,0,"l"],[4835,0," "],[4836,0,"m"],[4837,0,"e"],[4838,0,"c"],[4839,0,"h"],[4840,0,"a"],[4841,0,"n"],[4842,0,"s"],[4843,0,"i"],[4844,0,"m"],[4845,0," "],[4846,0,"("],[4847,0,"a"],[4848,0," "],[4869,0,")"],[4908,0," "],[4909,0,"n"],[4910,0,"d"],[4910,1],[4910,0,"o"],[4911,0,"d"],[4912,0,"e"],[4913,0,"s"],[4914,0,","],[4915,0," "],[4916,0,"p"],[4917,0,"r"],[4918,0,"o"],[4919,0,"v"],[4920,0,"i"],[4921,0,"d"],[4922,0,"i"],[4923,0,"n"],[4924,0,"g"],[4925,0," "],[4926,0,"a"],[4927,0," "],[4928,0,"g"],[4929,0,"e"],[4930,0,"n"],[4931,0,"e"],[4932,0,"r"],[4933,0,"a"],[4934,0,"l"],[4935,0," "],[4936,0,"a"],[4937,0,"b"],[4938,0,"s"],[4939,0,"t"],[4940,0,"r"],[4941,0,"a"],[4942,0,"c"],[4943,0,"t"],[4944,0,"i"],[4945,0,"o"],[4946,0,"n"],[4947,0," "],[4948,0,"f"],[4949,0,"o"],[4950,0,"r"],[4951,0," "],[4914,0," "],[4915,0,"i"],[4916,0,"n"],[4917,0," "],[4918,0,"t"],[4919,0,"h"],[4920,0,"e"],[4921,0," "],[4922,0,"J"],[4922,1],[4922,0,"J"],[4923,0,"a"],[4923,1],[4923,0,"S"],[4924,0,"O"],[4925,0,"N"],[4926,0," "],[4927,0,"d"],[4928,0,"a"],[4929,0,"t"],[4930,0,"a"],[4931,0," "],[4932,0,"s"],[4933,0,"t"],[4934,0,"r"],[4935,0,"u"],[4936,0,"c"],[4937,0,"t"],[4938,0,"u"],[4939,0,"r"],[4940,0,"e"],[4978,1],[4977,1],[4976,1],[4975,1],[4975,0,"m"],[4976,0,"e"],[4977,0,"t"],[4977,1],[4977,0,"c"],[4978,0,"h"],[4979,0,"a"],[4980,0,"n"],[4981,0,"s"],[4982,0,"i"],[4983,0,"s"],[4984,0,"m"],[4984,1],[4983,1],[4983,0,"m"],[4984,0,"s"],[4985,0," "],[4986,0,"w"],[4987,0,"h"],[4988,0,"i"],[4989,0,"c"],[4990,0,"h"],[4991,0," "],[4991,1],[4990,1],[4989,1],[4988,1],[4987,1],[4986,1],[4985,1],[4984,1],[4984,0," "],[4985,0,"w"],[4986,0,"h"],[4987,0,"i"],[4988,0,"c"],[4989,0,"h"],[4990,0," "],[4991,0,"a"],[4992,0,"p"],[4993,0,"p"],[4994,0,"l"],[4995,0,"i"],[4996,0,"c"],[4997,0,"a"],[4998,0,"t"],[4999,0,"i"],[5000,0,"o"],[5001,0,"n"],[5002,0,"s"],[5003,0," "],[5004,0,"c"],[5005,0,"a"],[5006,0,"n"],[5007,0," "],[5008,0,"t"],[5009,0,"h"],[5010,0,"e"],[5011,0,"n"],[5012,0," "],[5013,0,"r"],[5014,0,"e"],[5015,0,"s"],[5016,0,"o"],[5017,0,"l"],[5018,0,"v"],[5019,0,"e"],[5020,0," "],[5021,0,"e"],[5022,0,"i"],[5023,0,"t"],[5024,0,"h"],[5025,0,"e"],[5026,0,"r"],[5027,0," "],[5028,0,"a"],[5029,0,"u"],[5030,0,"t"],[5031,0,"h"],[5031,1],[5031,0,"o"],[5032,0,"m"],[5033,0,"t"],[5033,1],[5033,0,"a"],[5034,0,"t"],[5035,0,"i"],[5036,0,"c"],[5037,0,"a"],[5038,0,"l"],[5039,0,"l"],[5040,0,"y"],[5041,0," "],[5042,0,"o"],[5043,0,"r"],[5044,0," "],[5045,0,"m"],[5046,0,"a"],[5047,0,"n"],[5048,0,"u"],[5049,0,"a"],[5050,0,"l"],[5051,0,"l"],[5052,0,"y"],[5053,0," "],[5054,0,"d"],[5055,0,"e"],[5056,0,"p"],[5057,0,"e"],[5058,0,"n"],[5059,0,"d"],[5060,0,"i"],[5061,0,"n"],[5062,0,"g"],[5063,0," "],[5064,0,"o"],[5065,0,"n"],[5066,0," "],[5067,0,"t"],[5068,0,"h"],[5069,0,"e"],[5070,0,"i"],[5071,0,"r"],[5072,0," "],[5073,0,"s"],[5074,0,"e"],[5075,0,"m"],[5076,0,"a"],[5077,0,"n"],[5078,0,"t"],[5079,0,"i"],[5080,0,"c"],[5081,0,"s"],[5082,0,"."],[4973,1],[4972,1],[4971,1],[4970,1],[4969,1],[4968,1],[4967,1],[4966,1],[4965,1],[4964,1],[4963,1],[4962,1],[4961,1],[4960,1],[4959,1],[4958,1],[4957,1],[4956,1],[4955,1],[4954,1],[4953,1],[4952,1],[4951,1],[4950,1],[4949,1],[4948,1],[4947,1],[4946,1],[4945,1],[4944,1],[4943,1],[4943,0,"t"],[4944,0,"h"],[4945,0,"i"],[4946,0,"s"],[4962,1],[4961,1],[4960,1],[4959,1],[4958,1],[4958,0,"t"],[4959,0,"h"],[4960,0,"e"],[4961,0,"n"],[4962,0," "],[4963,0,"p"],[4964,0,"r"],[4965,0,"o"],[4966,0,"i"],[4966,1],[4966,0,"v"],[4967,0,"i"],[4968,0,"d"],[4969,0,"e"],[4970,0,"s"],[4971,0," "],[4972,0,"a"],[4973,0," "],[4974,0,"s"],[4975,0,"t"],[4976,0,"r"],[4977,0,"c"],[4978,0,"t"],[4979,0,"u"],[4979,1],[4978,1],[4977,1],[4977,0,"u"],[4978,0,"c"],[4979,0,"t"],[4980,0,"u"],[4981,0,"r"],[4982,0,"e"],[4983,0," "],[4984,0,"o"],[4985,0,"n"],[4986,0," "],[4987,0,"w"],[4988,0,"h"],[4989,0,"i"],[4990,0,"c"],[4991,0,"h"],[5028,1],[5027,1],[5026,1],[5025,1],[5024,1],[5023,1],[5023,0,"s"],[5024,0,"u"],[5025,0,"c"],[5026,0,"h"],[5027,0," "],[5028,0,"c"],[5029,0,"o"],[5030,0,"n"],[5031,0,"f"],[5032,0,"l"],[5033,0,"i"],[5034,0,"c"],[5035,0,"t"],[5036,0,"s"],[5051,0,","],[5064,0,","],[5261,1],[4941,1],[4941,0,"."],[4943,1],[4943,0,"T"],[4982,1],[4981,1],[4980,1],[4979,1],[4978,1],[4977,1],[4976,1],[4975,1],[4974,1],[4974,0,"c"],[4975,0,"o"],[4976,0,"n"],[4977,0,"s"],[4978,0,"i"],[4979,0,"s"],[4980,0,"t"],[4981,0,"e"],[4982,0,"n"],[4983,0,"t"],[4984,0," "],[4985,0,"b"],[4986,0,"a"],[4987,0,"s"],[4988,0,"i"],[4989,0,"s"],[5020,1],[5019,1],[5018,1],[5017,1],[5016,1],[5028,1],[5027,1],[5026,1],[5025,1],[5024,1],[5024,0," "],[5025,0,"a"],[5026,0,"n"],[5027,0,"y"],[5028,0," "],[5029,0,"r"],[5030,0,"e"],[5031,0,"m"],[5032,0,"a"],[5033,0,"i"],[5034,0,"n"],[5035,0,"i"],[5036,0,"n"],[5037,0,"g"],[5075,1],[5074,1],[5073,1],[5072,1],[5071,1],[5070,1],[5069,1],[5068,1],[5067,1],[5066,1],[5065,1],[5064,1],[5063,1],[5062,1],[5061,1],[5060,1],[5059,1],[5058,1],[5057,1],[5056,1],[5055,1],[5054,1],[5053,1],[5052,1],[5051,1],[5050,1],[5049,1],[5049,0,"t"],[5050,0,"h"],[5051,0,"r"],[5052,0,"o"],[5053,0,"u"],[5054,0,"g"],[5055,0," "],[5055,1],[5055,0,"h"],[5056,0," "],[5057,0,"a"],[5058,0,"u"],[5059,0,"t"],[5060,0,"o"],[5061,0,"m"],[5062,0,"a"],[5063,0,"t"],[5064,0,"i"],[5065,0,"c"],[5066,0," "],[5067,0,"o"],[5068,0,"r"],[5069,0," "],[5070,0,"m"],[5071,0,"a"],[5072,0,"n"],[5073,0,"u"],[5074,0,"a"],[5075,0,"l"],[5076,0," "],[5077,0,"m"],[5078,0,"e"],[5079,0,"a"],[5080,0,"n"],[5081,0,"s"],[5110,1],[5109,1],[5108,1],[5107,1],[5106,1],[5105,1],[5104,1],[5103,1],[5102,1],[5101,1],[5100,1],[5099,1],[5098,1],[5097,1],[5096,1],[5095,1],[5094,1],[5093,1],[5092,1],[5091,1],[5090,1],[5089,1],[5088,1],[5087,1],[5086,1],[5085,1],[5084,1],[5083,1],[5082,1],[5066,0," "],[5067,0,"("],[5068,0,"p"],[5069,0,"r"],[5070,0,"o"],[5071,0,"g"],[5072,0,"r"],[5073,0,"a"],[5074,0,"m"],[5075,0,"m"],[5076,0,"a"],[5077,0,"t"],[5078,0,"i"],[5079,0,"c"],[5080,0,")"],[5083,1],[5082,1],[5081,1],[5080,1],[5079,1],[5078,1],[5077,1],[5076,1],[5075,1],[5074,1],[5073,1],[5072,1],[5071,1],[5070,1],[5069,1],[5068,1],[5067,1],[5066,1],[5065,1],[5064,1],[5063,1],[5062,1],[5061,1],[5060,1],[5059,1],[5058,1],[5057,1],[5057,0,"p"],[5058,0,"r"],[5059,0,"o"],[5060,0,"g"],[5061,0,"r"],[5062,0,"a"],[5063,0,"m"],[5064,0,"m"],[5065,0,"a"],[5066,0,"t"],[5067,0,"i"],[5068,0,"c"],[5069,0," "],[5070,0,"m"],[5071,0,"e"],[5072,0,"a"],[5073,0,"n"],[5074,0,"s"],[5075,0," "],[5076,0,"o"],[5077,0,"r"],[5090,1],[5089,1],[5088,1],[5087,1],[5086,1],[5085,1],[5084,1],[5083,1],[5082,1],[5081,1],[5080,1],[5079,1],[5079,0,"f"],[5080,0,"u"],[5081,0,"r"],[5082,0,"t"],[5083,0,"h"],[5084,0,"e"],[5085,0,"r"],[5086,0," "],[5087,0,"u"],[5088,0,"s"],[5089,0,"e"],[5090,0,"r"],[5091,0," "],[5092,0,"i"],[5093,0,"n"],[5094,0,"p"],[5095,0,"u"],[5096,0,"t"],[5079,0,"v"],[5080,0,"i"],[5081,0,"a"],[5082,0," "],[4813,1],[4812,1],[4811,1],[4810,1],[4809,1],[4808,1],[4807,1],[4806,1],[4805,1],[4804,1],[4803,1],[4802,1],[4802,0,"W"],[4803,0,"e"],[4814,1],[4859,0," "],[4860,0,"i"],[4861,0,"n"],[4862,0,"t"],[4863,0,"o"],[4864,0," "],[4865,0,"o"],[4866,0,"u"],[4867,0,"r"],[4868,0," "],[4869,0,"m"],[4870,0,"o"],[4871,0,"d"],[4872,0,"e"],[4873,0,"l"],[4816,0," "],[4817,0,"s"],[4818,0,"i"],[4819,0,"n"],[4820,0,"g"],[4821,0,"l"],[4822,0,"e"],[4823,0,","],[5087,0,","],[6892,1],[6891,1],[6890,1],[6889,1],[6888,1],[6887,1],[6886,1],[6885,1],[6884,1],[6883,1],[6882,1],[6881,1],[6881,0,"d"],[6882,0,"e"],[6883,0,"s"],[6884,0,"c"],[6885,0,"r"],[6886,0,"i"],[6887,0,"b"],[6888,0,"e"],[6889,0," "],[6890,0,"f"],[6891,0,"o"],[6892,0,"u"],[6893,0,"r"],[6894,0," "],[6895,0,"m"],[6896,0,"o"],[6897,0,"r"],[6898,0,"e"],[6899,0," "],[6900,0,"c"],[6901,0,"o"],[6902,0,"m"],[6903,0,"p"],[6904,0,"l"],[6905,0,"e"],[6906,0,"x"],[7931,1],[7930,1],[7929,1],[7929,0,"o"],[7930,0,"r"],[7929,0,"a"],[7930,0,"n"],[7931,0,"d"],[7933,1],[7932,1],[7931,1],[7930,1],[7929,1],[7929,0,"a"],[7930,0,"s"],[7931,0," "],[7932,0,"w"],[7933,0,"e"],[7934,0,"l"],[7935,0,"l"],[7936,0," "],[7937,0,"a"],[7938,0,"s"],[8025,1],[8024,1],[8023,1],[8022,1],[8021,1],[8020,1],[8019,1],[8018,1],[8017,1],[8016,1],[8015,1],[8014,1],[8014,0,"."],[8015,0," "],[8016,0,"T"],[16736,1],[16735,1],[16734,1],[16733,1],[16732,1],[16733,1],[16733,0,"`"],[16734,0,"`"],[16738,1],[16738,0,"'"],[16739,0,"'"],[16741,0," "],[16742,1],[16742,0,"z"],[16742,1],[16742,0,"`"],[16743,0,"`"],[16745,1],[16745,0,"'"],[16746,0,"'"],[16747,0,"\\"],[16749,1],[16784,1],[16783,1],[16782,1],[16781,1],[16780,1],[16781,1],[16781,0,"`"],[16782,0,"`"],[16786,1],[16786,0,"'"],[16787,0,"'"],[16789,0," "],[16790,1],[16790,0,"`"],[16791,0,"`"],[16793,1],[16793,0,"'"],[16794,0,"'"],[16795,0,"\\"],[16797,1],[16844,1],[16843,0,"\\"],[16842,1],[16842,0,"'"],[16843,0,"'"],[16840,1],[16840,0," "],[16841,0,"`"],[16842,0,"`"],[16838,1],[16838,0,"'"],[16839,0,"'"],[16834,1],[16834,0,"`"],[16835,0,"`"],[16832,1],[16831,1],[16830,1],[16829,1],[16828,1],[16878,1],[16877,1],[16876,1],[16875,1],[16874,1],[16921,1],[16921,1],[16921,1],[16921,1],[16921,1],[16875,1],[16875,0,"`"],[16876,0,"`"],[16923,1],[16923,0,"'"],[16924,0,"'"],[16880,1],[16880,0,"`"],[16881,0,"`"],[16881,1],[16880,1],[16880,0,"'"],[16881,0,"'"],[16925,1],[16924,1],[16924,0,"`"],[16925,0,"`"],[16929,1],[16929,0,"'"],[16930,0,"'"],[16932,0," "],[16883,0," "],[16885,1],[16885,0,"`"],[16886,0,"`"],[16936,1],[16936,0,"`"],[16937,0,"`"],[16888,1],[16888,0,"'"],[16889,0,"'"],[16940,1],[16940,0,"'"],[16941,0,"'"],[16943,1],[16891,1],[16891,0," "],[16892,0,"`"],[16893,0,"`"],[16945,0," "],[16946,0,"`"],[16947,0,"`"],[16949,1],[16949,0,"'"],[16950,0,"'"],[16895,1],[16895,0,"'"],[16896,0,"'"],[16897,0,"\\"],[16899,0,"\\"],[16901,1],[16955,1],[16954,0,"\\"],[16953,0,"\\"],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17015,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[17104,1],[16725,1],[16725,0,"0"],[16718,0,"1"],[16720,1],[16751,0,"\n"],[16752,0,"\\"],[16753,0,"n"],[16754,0,"o"],[16755,0,"d"],[16756,0,"e"],[16757,0," "],[16758,0,"("],[16759,0,"s"],[16760,0,"t"],[16761,0,"a"],[16762,0,"r"],[16763,0,"t"],[16764,0,"2"],[16765,0,")"],[16766,0," "],[16767,0,"a"],[16768,0,"t"],[16769,0," "],[16770,0,"("],[16771,0,"4"],[16772,0,","],[16773,0,"3"],[16774,0,")"],[16775,0," "],[16776,0,"{"],[16777,0,"\\"],[16778,0,"{"],[16779,0,"`"],[16780,0,"`"],[16781,0,"k"],[16782,0,"e"],[16783,0,"y"],[16784,0,"'"],[16785,0,"'"],[16786,0," "],[16786,1],[16786,0,":"],[16787,0," "],[16788,0,"`"],[16789,0,"`"],[16790,0,"A"],[16791,0,"'"],[16792,0,"'"],[16793,0,"]"],[16793,1],[16793,0,"\\"],[16794,0,"}"],[16795,0,"}"],[16796,0,";"],[17029,0,"1"],[16718,1],[16717,1],[16716,1],[16715,1],[16714,1],[16713,1],[16713,0,"l"],[16714,0,"e"],[16715,0,"f"],[16716,0,"t"],[16717,0,"0"],[16763,1],[16762,1],[16761,1],[16760,1],[16759,1],[16758,1],[16758,0,"r"],[16759,0,"i"],[16760,0,"g"],[16761,0,"h"],[16762,0,"t"],[16763,0,"1"],[16763,1],[16763,0,"0"],[17028,1],[17027,1],[17026,1],[17025,1],[17024,1],[17023,1],[17023,0,"l"],[17024,0,"e"],[17025,0,"f"],[17026,0,"t"],[17027,0,"0"],[17115,1],[17114,1],[17113,1],[17112,1],[17111,1],[17111,0,"r"],[17112,0,"i"],[17113,0,"g"],[17114,0,"h"],[17115,0,"t"],[17116,0,"0"],[16929,0,"\\"],[16986,0,"\\"],[17270,0,","],[17271,0,"d"],[17272,0,"a"],[17273,0,"s"],[17274,0,"h"],[17275,0,"e"],[17276,0,"d"],[17316,0,"d"],[17317,0,"a"],[17318,0,"s"],[17319,0,"h"],[17320,0,"e"],[17321,0,"d"],[17322,0,","],[17526,0,"*"],[16667,0,"*"],[16727,1],[16727,0,"4"],[16773,1],[16773,0,"4"],[16821,1],[16820,1],[16819,1],[16819,0,"2"],[16865,1],[16865,1],[16865,1],[16865,0,"2"],[17419,0,"\n"],[17419,1],[16706,0,"\n"],[16707,0,"\\"],[16708,0,"p"],[16709,0,"a"],[16710,0,"t"],[16711,0,"h"],[16712,0," "],[16713,0,"["],[16714,0,"d"],[16715,0,"r"],[16716,0,"a"],[16717,0,"w"],[16718,0,"="],[16718,1],[16718,0,"]"],[16719,0," "],[16720,0,"("],[16721,0,"2"],[16722,0,","],[16723,0,"0"],[16724,0,")"],[16725,0," "],[16726,0,"-"],[16727,0,"-"],[16728,0," "],[16729,0,"("],[16730,0,"2"],[16731,0,","],[16732,0,"4"],[16733,0,")"],[16734,0,";"],[16718,0,","],[16719,0,"d"],[16720,0,"a"],[16721,0,"s"],[16722,0,"h"],[16722,1],[16721,1],[16720,1],[16720,0,"o"],[16721,0,"t"],[16722,0,"t"],[16723,0,"e"],[16724,0,"d"],[17004,1],[17004,0,"1"],[16947,1],[16947,0,"1"],[16901,1],[16901,0,"3"],[16855,1],[16855,0,"3"],[16809,1],[16809,0,"4"],[16809,1],[16809,0,"5"],[16763,1],[16763,0,"5"],[16757,0," "],[16739,1],[16739,0,"6"],[16742,0,"\n"],[16743,0,"\\"],[16744,0,"n"],[16745,0,"o"],[16746,0,"d"],[16747,0,"e"],[16748,0," "],[16749,0,"("],[16750,0,"r"],[16751,0,"e"],[16752,0,"p"],[16752,1],[16751,1],[16750,1],[16750,0,"l"],[16751,0,"e"],[16752,0,"f"],[16753,0,"t"],[16754,0,"R"],[16755,0,")"],[16756,0," "],[16757,0," "],[16758,0,"a"],[16759,0,"t"],[16760,0," "],[16761,0,"("],[16762,0,"0"],[16763,0,","],[16764,0,"6"],[16765,0,")"],[16766,0," "],[16767,0,"{"],[16768,0,"R"],[16769,0,"p"],[16769,1],[16769,0,"e"],[16770,0,"p"],[16771,0,"l"],[16772,0,"i"],[16773,0,"c"],[16774,0,"a"],[16775,0," "],[16776,0,"p"],[16776,1],[16776,0,"$"],[16777,0,"p"],[16778,0,"_"],[16779,0,"1"],[16780,0,"$"],[16781,0,":"],[16782,0,"}"],[16783,0,"\n"],[16784,0,"\\"],[16785,0,"n"],[16786,0,"o"],[16787,0,"d"],[16788,0,"e"],[16789,0," "],[16790,0,"("],[16791,0,"r"],[16792,0,"i"],[16793,0,"g"],[16794,0,"h"],[16795,0,"t"],[16796,0,"R"],[16797,0,")"],[16798,0," "],[16799,0,"a"],[16800,0,"t"],[16801,0," "],[16802,0,"("],[16803,0,"4"],[16804,0,","],[16805,0,"6"],[16806,0,")"],[16807,0," "],[16808,0,"{"],[16809,0,"R"],[16810,0,"e"],[16811,0,"p"],[16812,0,"l"],[16813,0,"i"],[16814,0,"c"],[16815,0,"a"],[16816,0," "],[16817,0,"$"],[16818,0,"p"],[16819,0,"_"],[16820,0,"2"],[16821,0,"$"],[16822,0,":"],[16823,0,"}"],[16848,0," "],[16849,0,"["],[16850,0,"r"],[16851,0,"e"],[16852,0,"c"],[16853,0,"t"],[16854,0,"a"],[16855,0,"n"],[16856,0,"g"],[16857,0,"l"],[16858,0,"e"],[16859,0,","],[16860,0,"d"],[16861,0,"r"],[16862,0,"a"],[16863,0,"w"],[16864,0,"]"],[16911,0," "],[16912,0,"["],[16913,0,"r"],[16914,0,"e"],[16915,0,"c"],[16916,0,"t"],[16917,0,"a"],[16918,0,"n"],[16919,0,"g"],[16920,0,"l"],[16921,0,"e"],[16922,0,","],[16923,0,"d"],[16924,0,"r"],[16925,0,"a"],[16926,0,"w"],[16927,0,"]"],[16974,0," "],[16975,0,"["],[16976,0,"r"],[16977,0,"e"],[16978,0,"c"],[16979,0,"t"],[16980,0,"a"],[16981,0,"n"],[16982,0,"g"],[16983,0,"l"],[16984,0,"e"],[16985,0,","],[16986,0,"d"],[16987,0,"r"],[16988,0,"a"],[16989,0,"w"],[16990,0,"]"],[17037,0," "],[17038,0,"["],[17039,0,"r"],[17040,0,"e"],[17041,0,"c"],[17042,0,"t"],[17043,0,"a"],[17044,0,"n"],[17045,0,"g"],[17046,0,"l"],[17047,0,"e"],[17048,0,","],[17049,0,"d"],[17050,0,"r"],[17051,0,"a"],[17052,0,"w"],[17053,0,"]"],[17100,0," "],[17101,0,"["],[17102,0,"r"],[17103,0,"e"],[17104,0,"c"],[17105,0,"t"],[17106,0,"a"],[17107,0,"n"],[17108,0,"g"],[17109,0,"l"],[17110,0,"e"],[17111,0,","],[17112,0,"d"],[17113,0,"r"],[17114,0,"a"],[17115,0,"w"],[17116,0,"]"],[17174,0," "],[17175,0,"["],[17176,0,"r"],[17177,0,"e"],[17178,0,"c"],[17179,0,"t"],[17180,0,"a"],[17181,0,"n"],[17182,0,"g"],[17183,0,"l"],[17184,0,"e"],[17185,0,","],[17186,0,"d"],[17187,0,"r"],[17188,0,"a"],[17189,0,"w"],[17190,0,"]"],[16783,0,";"],[16825,0,";"],[16779,1],[16778,1],[16817,1],[16817,1],[16817,1],[16817,0,"q"],[17464,1],[17463,1],[17462,1],[17461,1],[17460,1],[17459,1],[17458,1],[17457,1],[17456,1],[17455,1],[17454,1],[17453,1],[17452,1],[17451,1],[17450,1],[17449,1],[17448,1],[17447,1],[17446,1],[17445,1],[17444,1],[17443,1],[17442,1],[17441,1],[17440,1],[17439,1],[17438,1],[17437,1],[17436,1],[17435,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[17568,1],[16737,1],[16737,0,"3"],[16728,1],[16728,0,"3"],[16802,1],[16802,0,"6"],[16905,1],[16905,0,"6"],[17031,1],[17031,0,"6"],[17168,1],[17168,0,"6"],[17486,0,"."],[17487,0,"n"],[17488,0,"o"],[17489,0,"r"],[17490,0,"t"],[17491,0,"h"],[17492,0," "],[17493,0,"e"],[17494,0,"a"],[17495,0,"s"],[17496,0,"t"],[17542,0,"."],[17543,0,"n"],[17544,0,"o"],[17545,0,"r"],[17546,0,"t"],[17547,0,"h"],[17548,0," "],[17549,0,"w"],[17550,0,"e"],[17551,0,"s"],[17552,0,"t"],[17433,1],[17432,1],[17431,1],[17430,1],[17429,1],[17428,1],[17427,1],[17427,0,"-"],[17428,0,"-"],[17472,1],[17471,1],[17471,0,"-"],[17472,0,"-"],[17529,1],[17528,1],[17528,0,"-"],[17529,0,"-"],[17583,1],[17582,1],[17581,1],[17580,1],[17579,1],[17578,1],[17577,1],[17577,0,"-"],[17578,0,"-"],[17491,1],[17490,1],[17489,1],[17488,1],[17488,0,"w"],[17489,0,"e"],[17490,0,"s"],[17491,0,"t"],[17547,1],[17546,1],[17545,1],[17544,1],[17544,0,"e"],[17545,0,"a"],[17546,0,"s"],[17547,0,"t"],[17469,0,"."],[17470,0,"s"],[17471,0,"o"],[17472,0,"u"],[17473,0,"t"],[17474,0,"h"],[17475,0," "],[17476,0,"e"],[17477,0,"a"],[17478,0,"s"],[17479,0,"t"],[17537,0,"."],[17538,0,"s"],[17539,0,"o"],[17540,0,"u"],[17541,0,"t"],[17542,0,"h"],[17543,0," "],[17544,0,"w"],[17545,0,"e"],[17546,0,"s"],[17547,0,"t"],[17222,0,"\n"],[17223,0,"\\"],[17224,0,"n"],[17225,0,"o"],[17226,0,"d"],[17227,0,"e"],[17228,0," "],[17229,0,"("],[17230,0,"c"],[17231,0,"o"],[17232,0,"m"],[17233,0,"m"],[17234,0,"s"],[17235,0,")"],[17236,0," "],[17237,0," "],[17238,0,"a"],[17239,0,"t"],[17240,0," "],[17241,0,"("],[17242,0,"3"],[17243,0,","],[17244,0,"2"],[17245,0,"."],[17246,0,"5"],[17247,0,")"],[17248,0," "],[17249,0,"{"],[17250,0,"n"],[17251,0,"e"],[17252,0,"t"],[17253,0,"w"],[17254,0,"o"],[17255,0,"r"],[17256,0,"k"],[17257,0," "],[17258,0,"c"],[17259,0,"o"],[17260,0,"m"],[17261,0,"m"],[17262,0,"u"],[17263,0,"n"],[17264,0,"i"],[17265,0,"c"],[17266,0,"a"],[17267,0,"t"],[17268,0,"i"],[17269,0,"o"],[17270,0,"n"],[17271,0,"}"],[17272,0,";"],[17257,0,"\\"],[17258,0,"\\"],[17259,1],[17250,0,"\\"],[17251,0,"f"],[17252,0,"o"],[17253,0,"o"],[17254,0,"t"],[17255,0,"n"],[17256,0,"o"],[17257,0,"t"],[17258,0,"e"],[17259,0,"s"],[17260,0,"i"],[17261,0,"z"],[17262,0,"e"],[17263,0," "],[17272,1],[17271,1],[17271,0," "],[17246,1],[17246,0,"8"],[17524,0,"b"],[17525,0,"l"],[17526,0,"u"],[17527,0,"e"],[17528,0,","],[17596,0,"b"],[17597,0,"l"],[17598,0,"u"],[17599,0,"e"],[17600,0,","],[17248,0," "],[17249,0,"["],[17250,0,"t"],[17251,0,"e"],[17252,0,"x"],[17253,0,"t"],[17254,0,"="],[17255,0,"b"],[17256,0,"l"],[17257,0,"u"],[17258,0,"e"],[17259,0,"]"],[16731,0,"."],[16732,0,"5"],[16742,0,"."],[16743,0,"5"],[19837,1],[19836,1],[19835,1],[19834,1],[19833,1],[19832,1],[19831,1],[19830,1],[19829,1],[19828,1],[19827,1],[19826,1],[19825,1],[19824,1],[19823,1],[19822,1],[19821,1],[19820,1],[19819,1],[19818,1],[19817,1],[19816,1],[19815,1],[19814,1],[19813,1],[19812,1],[19811,1],[19810,1],[19809,1],[19808,1],[19807,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19851,1],[19789,0,","],[19790,0,"d"],[19791,0,"a"],[19792,0,"s"],[19793,0,"h"],[19794,0,"e"],[19795,0,"d"],[19796,0,","],[19797,0,"b"],[19798,0,"l"],[19799,0,"u"],[19800,0,"e"],[19844,0,","],[19845,0,"d"],[19846,0,"a"],[19847,0,"s"],[19848,0,"h"],[19849,0,"e"],[19850,0,"d"],[19851,0,","],[19852,0,"b"],[19853,0,"l"],[19854,0,"u"],[19855,0,"e"],[19789,1],[19788,1],[19787,1],[19839,1],[19839,1],[19839,1],[19798,0,","],[19799,0,"-"],[19800,0,">"],[19853,0,","],[19854,0,"-"],[19855,0,">"],[19345,1],[19344,1],[19343,1],[19342,1],[19341,1],[19389,1],[19389,1],[19389,1],[19389,1],[19389,1],[19389,0,"{"],[19342,1],[19342,0,"`"],[19343,0,"`"],[19391,1],[19391,0,"`"],[19392,0,"`"],[19398,1],[19398,0,"'"],[19399,0,"'"],[19350,1],[19350,0,"'"],[19351,0,"'"],[19354,0,"\\"],[19356,1],[19356,0,"`"],[19357,0,"`"],[19361,1],[19361,0,"'"],[19362,0,"'"],[19365,1],[19365,0,"`"],[19366,0,"`"],[19374,1],[19374,0,"'"],[19375,0,"'"],[19408,1],[19408,0,"`"],[19409,0,"`"],[19417,1],[19417,0,"'"],[19418,0,"'"],[19419,0,"\\"],[19421,0,"\\"],[19423,1],[19377,1],[19394,1],[19394,1],[19258,1],[19258,1],[19258,1],[19258,1],[19258,1],[19258,1],[19258,1],[19258,0,"`"],[19259,0,"`"],[19265,1],[19265,0,"'"],[19266,0,"'"],[19269,1],[19269,0,"`"],[19270,0,"`"],[19278,1],[19278,0,"'"],[19279,0,"'"],[19280,0,"\\"],[19282,0,"\\"],[19284,1],[19240,1],[19238,1],[19238,0,"'"],[19239,0,"'"],[19230,1],[19230,0,"`"],[19231,0,"`"],[19227,1],[19227,0,"'"],[19228,0,"'"],[19223,1],[19223,0,"`"],[19224,0,"`"],[19222,0,"\\"],[19219,1],[19219,0,"'"],[19220,0,"'"],[19212,1],[19212,0,"`"],[19213,0,"`"],[19210,1],[19209,1],[19208,1],[19207,1],[19206,1],[19123,1],[19122,1],[19121,1],[19120,1],[19119,1],[19120,1],[19120,0,"`"],[19121,0,"`"],[19128,1],[19128,0,"'"],[19129,0,"'"],[19132,0,"\\"],[19134,1],[19134,0,"`"],[19135,0,"`"],[19141,1],[19141,0,"'"],[19142,0,"'"],[19145,1],[19145,0,"`"],[19146,0,"`"],[19154,1],[19154,0,"'"],[19155,0,"'"],[19156,0,"\\"],[19158,0,"\\"],[19160,1],[19087,1],[19086,0,"\\"],[19085,0,"\\"],[19084,0,"\\"],[19074,1],[19074,0,"`"],[19075,0,"`"],[19082,1],[19082,0,"'"],[19083,0,"'"],[19072,1],[19071,1],[19070,1],[19069,1],[19068,1],[19032,1],[19031,0,"\\"],[19030,0,"\\"],[19029,1],[19029,0,"'"],[19030,0,"'"],[19021,1],[19021,0,"`"],[19022,0,"`"],[19014,1],[19013,1],[19012,1],[19011,1],[19010,1],[19009,1],[19008,1],[19008,0,"`"],[19009,0,"`"],[19013,1],[19013,0,"'"],[19014,0,"'"],[18959,1],[18958,1],[18957,1],[18956,1],[18955,1],[18956,1],[18956,0,"`"],[18957,0,"`"],[18964,1],[18964,0,"'"],[18965,0,"'"],[18968,0,"\\"],[18970,1],[18970,0,"`"],[18971,0,"`"],[18976,1],[18976,0,"'"],[18977,0,"'"],[18980,1],[18980,0,"`"],[18981,0,"`"],[18989,1],[18989,0,"'"],[18990,0,"'"],[18992,1],[18905,1],[18904,0,"\\"],[18903,0,"\\"],[18902,1],[18902,0,"'"],[18903,0,"'"],[18894,1],[18894,0,"`"],[18895,0,"`"],[18891,1],[18891,0,"'"],[18892,0,"'"],[18886,1],[18886,0,"`"],[18887,0,"`"],[18875,1],[18875,0,"`"],[18876,0,"`"],[18883,1],[18883,0,"'"],[18884,0,"'"],[18887,0,"\\"],[18873,1],[18872,1],[18871,1],[18870,1],[18869,1],[18896,0,"\\"],[18986,0,"\\"],[19025,0,"\\"],[19152,0,"\\"],[19153,0,"\\"],[19153,1],[19241,0,"\\"],[19242,0,"\\"],[19283,0,"\\"],[19242,1],[19378,0,"\\"],[19419,0,"\\"],[19514,1],[19513,1],[19512,1],[19511,1],[19510,1],[19509,1],[19508,1],[19507,1],[19506,1],[19505,1],[19504,1],[19503,1],[19502,1],[19501,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[19612,1],[18855,1],[18854,1],[18853,1],[18852,1],[18851,1],[18851,0,"l"],[18852,0,"e"],[18853,0,"f"],[18854,0,"t"],[18855,0,"0"],[18862,1],[18862,0,"0"],[18912,0,"\n"],[18913,0,"\\"],[18914,0,"n"],[18915,0,"o"],[18916,0,"d"],[18917,0,"e"],[18918,0," "],[18919,0,"("],[18920,0,"r"],[18921,0,"i"],[18922,0,"g"],[18923,0,"h"],[18924,0,"t"],[18925,0,"0"],[18926,0,")"],[18927,0," "],[18928,0,"a"],[18929,0,"t"],[18930,0," "],[18931,0,"("],[18932,0,"8"],[18933,0,","],[18934,0,"4"],[18935,0,")"],[18936,0," "],[18937,0,"{"],[18938,0,"["],[18858,0," "],[18939,1],[18939,0,"\\"],[18940,0,"{"],[18941,0,"`"],[18942,0,"`"],[18943,0,"c"],[18944,0,"o"],[18945,0,"l"],[18946,0,"o"],[18947,0,"r"],[18948,0,"s"],[18949,0,"'"],[18950,0,"'"],[18951,0,":"],[18952,0," "],[18953,0,"\\"],[18954,0,"{"],[18955,0,"`"],[18956,0,"`"],[18957,0,"b"],[18958,0,"l"],[18959,0,"u"],[18960,0,"e"],[18961,0,"'"],[18962,0,"'"],[18963,0,":"],[18964,0," "],[18965,0,"`"],[18966,0,"`"],[18967,0,"\\"],[18968,0,"#"],[18969,0,"0"],[18970,0,"0"],[18971,0,"0"],[18972,0,"0"],[18973,0,"f"],[18974,0,"f"],[18975,0,"'"],[18976,0,"'"],[18977,0,"\\"],[18978,0,"}"],[18979,0,"\\"],[18980,0,"}"],[18981,0,"}"],[18982,0,";"],[19535,1],[19534,1],[19533,1],[19532,1],[19531,1],[19531,0,"l"],[19532,0,"e"],[19533,0,"f"],[19534,0,"t"],[19535,0,"0"],[19646,1],[19645,1],[19644,1],[19643,1],[19642,1],[19642,0,"r"],[19643,0,"i"],[19644,0,"g"],[19645,0,"h"],[19646,0,"t"],[19647,0,"0"],[19649,1],[19871,1],[19871,1],[19871,1],[19871,1],[19871,1],[19921,1],[19921,1],[19921,1],[19921,1],[19921,1],[19944,0,"d"],[19945,0,"a"],[19946,0,"s"],[19947,0,"h"],[19948,0,"e"],[19949,0,"d"],[19950,0,","],[19951,0,"b"],[19952,0,"l"],[19953,0,"u"],[19954,0,"e"],[19955,0,","],[19956,0,"-"],[19956,1],[19904,1],[19903,1],[19902,1],[19901,1],[19900,1],[19899,1],[19898,1],[19897,1],[19896,1],[19895,1],[19894,1],[19893,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19843,1],[19971,0,"d"],[19972,0,"a"],[19973,0,"s"],[19974,0,"h"],[19975,0,"e"],[19976,0,"d"],[19977,0,","],[19978,0,"b"],[19979,0,"l"],[19980,0,"u"],[19981,0,"e"],[19982,0,","],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[19761,1],[18867,0," "],[18868,0,"["],[18869,0,"r"],[18870,0,"e"],[18871,0,"c"],[18872,0,"t"],[18873,0,"a"],[18874,0,"n"],[18875,0,"g"],[18876,0,"l"],[18877,0,"e"],[18878,0,","],[18879,0,"d"],[18880,0,"r"],[18881,0,"a"],[18882,0,"w"],[18883,0,"]"],[18954,0," "],[18955,0,"["],[18956,0,"r"],[18957,0,"e"],[18958,0,"c"],[18959,0,"t"],[18960,0,"a"],[18961,0,"n"],[18962,0,"g"],[18963,0,"l"],[18964,0,"e"],[18965,0,","],[18966,0,"d"],[18967,0,"r"],[18968,0,"a"],[18969,0,"w"],[18970,0,"]"],[19049,0," "],[19050,0,"["],[19051,0,"r"],[19052,0,"e"],[19053,0,"c"],[19054,0,"t"],[19055,0,"a"],[19056,0,"n"],[19057,0,"g"],[19058,0,"l"],[19059,0,"e"],[19060,0,","],[19061,0,"d"],[19062,0,"r"],[19063,0,"a"],[19064,0,"w"],[19065,0,"]"],[19193,0," "],[19194,0,"["],[19195,0,"r"],[19196,0,"e"],[19197,0,"c"],[19198,0,"t"],[19199,0,"a"],[19200,0,"n"],[19201,0,"g"],[19202,0,"l"],[19203,0,"e"],[19204,0,","],[19205,0,"d"],[19206,0,"r"],[19207,0,"a"],[19208,0,"w"],[19209,0,"]"],[19260,0," "],[19261,0,"["],[19262,0,"r"],[19263,0,"e"],[19264,0,"c"],[19265,0,"t"],[19266,0,"a"],[19267,0,"n"],[19268,0,"g"],[19269,0,"l"],[19270,0,"e"],[19271,0,","],[19272,0,"d"],[19273,0,"r"],[19274,0,"a"],[19275,0,"w"],[19276,0,"]"],[19356,0," "],[19357,0,"["],[19358,0,"r"],[19359,0,"e"],[19360,0,"c"],[19361,0,"t"],[19362,0,"a"],[19363,0,"n"],[19364,0,"g"],[19365,0,"l"],[19366,0,"e"],[19367,0,","],[19368,0,"d"],[19369,0,"r"],[19370,0,"a"],[19371,0,"w"],[19372,0,"]"],[19510,0," "],[19511,0,"["],[19512,0,"r"],[19513,0,"e"],[19514,0,"c"],[19515,0,"t"],[19516,0,"a"],[19517,0,"n"],[19518,0,"g"],[19519,0,"l"],[19520,0,"e"],[19521,0,","],[19522,0,"d"],[19523,0,"r"],[19524,0,"a"],[19525,0,"w"],[19526,0,"]"],[20047,0,"."],[20048,0,"s"],[20049,0,"o"],[20050,0,"u"],[20051,0,"t"],[20052,0,"h"],[20053,0," "],[20054,0,"e"],[20055,0,"a"],[20056,0,"s"],[20057,0,"t"],[20110,0,"."],[20111,0,"s"],[20112,0,"o"],[20113,0,"u"],[20114,0,"t"],[20115,0,"h"],[20116,0," "],[20117,0,"w"],[20118,0,"e"],[20119,0,"s"],[20120,0,"t"],[20071,0,"."],[20072,0,"n"],[20073,0,"o"],[20074,0,"r"],[20075,0,"t"],[20076,0,"h"],[20077,0," "],[20078,0,"w"],[20079,0,"e"],[20080,0,"s"],[20081,0,"t"],[20143,0,"."],[20144,0,"n"],[20145,0,"o"],[20146,0,"r"],[20147,0,"t"],[20148,0,"h"],[20149,0," "],[20150,0,"e"],[20151,0,"a"],[20152,0,"s"],[20153,0,"t"],[18950,1],[18950,0,"6"],[19189,1],[19189,0,"6"],[19254,1],[19254,0,"6"],[19506,1],[19506,0,"6"],[18843,0,"\n"],[18844,0,"\\"],[18845,0,"p"],[18846,0,"a"],[18847,0,"t"],[18848,0,"h"],[18849,0," "],[18850,0,"["],[18851,0,"d"],[18852,0,"r"],[18853,0,"a"],[18854,0,"w"],[18855,0,","],[18856,0,"d"],[18857,0,"o"],[18858,0,"t"],[18859,0,"t"],[18860,0,"e"],[18861,0,"d"],[18862,0,"]"],[18863,0," "],[18864,0,"("],[18865,0,"3"],[18866,0,","],[18867,0,"-"],[18868,0,"0"],[18869,0,"."],[18870,0,"5"],[18871,0,")"],[18872,0," "],[18873,0,"-"],[18874,0,"-"],[18875,0," "],[18876,0,"("],[18877,0,"3"],[18878,0,","],[18879,0,"5"],[18880,0,")"],[18881,0,";"],[19297,1],[19296,1],[19295,1],[19295,0,"2"],[19230,1],[19230,0,"4"],[18991,1],[18991,0,"6"],[18904,1],[18904,0,"6"],[19086,1],[19086,0,"3"],[18842,0,","],[18843,0,"s"],[18844,0,"c"],[18845,0,"a"],[18846,0,"l"],[18847,0,"e"],[18848,0,"="],[18849,0,"0"],[18850,0,"."],[18851,0,"8"],[16705,0,","],[16706,0,"s"],[16707,0,"c"],[16708,0,"a"],[16709,0,"l"],[16710,0,"e"],[16711,0,"="],[16712,0,"0"],[16713,0,"."],[16714,0,"8"],[16816,1],[16816,0,"8"],[16919,1],[16919,0,"8"],[17045,1],[17045,0,"8"],[17182,1],[17182,0,"8"],[17256,1],[17256,0,"4"],[18885,1],[18885,0,"4"],[18897,1],[18897,0,"4"],[18890,1],[18889,1],[18888,1],[18888,0,"1"],[18897,1],[18897,0,"6"],[18898,0,"."],[18899,0,"5"],[19009,1],[19009,0,"8"],[19248,1],[19248,0,"8"],[19313,1],[19313,0,"8"],[19563,1],[19563,0,"8"],[20865,0,","],[20866,0,"s"],[20867,0,"c"],[20868,0,"a"],[20869,0,"l"],[20870,0,"e"],[20871,0,"="],[20872,0,"0"],[20873,0,"."],[20874,0,"8"],[20909,1],[20908,1],[20907,1],[20906,1],[20905,1],[20904,1],[20904,0,"\\"],[20906,0,"\\"],[20908,1],[20888,1],[20887,1],[20886,1],[20885,1],[20884,1],[20884,0,"l"],[20885,0,"e"],[20886,0,"f"],[20887,0,"t"],[20888,0,"0"],[20910,0,"\n"],[20911,0,"\\"],[20912,0,"n"],[20913,0,"o"],[20914,0,"d"],[20915,0,"e"],[20916,0," "],[20917,0,"("],[20918,0,"r"],[20919,0,"i"],[20920,0,"g"],[20921,0,"h"],[20922,0,"t"],[20923,0,"0"],[20924,0,")"],[20925,0," "],[20926,0,"a"],[20927,0,"t"],[20928,0," "],[20929,0,"("],[20930,0,"8"],[20931,0,","],[20932,0,"6"],[20933,0,"."],[20934,0,"0"],[20935,0,")"],[20936,0," "],[20937,0,"{"],[20938,0,"\\"],[20939,0,"{"],[20940,0,"\\"],[20941,0,"}"],[20942,0,"}"],[20943,0,";"],[20896,1],[20896,0,"0"],[21435,1],[21434,1],[21433,1],[21432,1],[21431,1],[21431,0,"l"],[21432,0,"e"],[21433,0,"f"],[21434,0,"t"],[21435,0,"0"],[21538,1],[21537,1],[21536,1],[21535,1],[21534,1],[21534,0,"r"],[21535,0,"i"],[21536,0,"g"],[21537,0,"h"],[21538,0,"t"],[21539,0,"0"],[21541,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19840,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19728,1],[19729,0," "],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17352,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17428,1],[17352,0,","],[17353,0," "],[17354,0,"i"],[17355,0,"n"],[17356,0,"n"],[17357,0,"e"],[17358,0,"r"],[17359,0," "],[17360,0,"s"],[17361,0,"e"],[17362,0,"p"],[17363,0,"="],[17364,0,"8"],[17365,0,"p"],[17366,0,"t"],[17353,1],[17442,0,","],[17443,0,"i"],[17444,0,"n"],[17445,0,"n"],[17446,0,"e"],[17447,0,"r"],[17448,0," "],[17449,0,"s"],[17450,0,"e"],[17451,0,"p"],[17452,0,"="],[17453,0,"8"],[17454,0,"p"],[17455,0,"t"],[20941,1],[20941,1],[20941,1],[20941,1],[20941,1],[20942,1],[20942,0,"`"],[20943,0,"`"],[20947,1],[20947,0,"'"],[20948,0,"'"],[20950,0," "],[20953,0,"\\"],[20955,1],[21000,0,"\\"],[20998,0," "],[20996,1],[20996,0,"'"],[20997,0,"'"],[20992,1],[20992,0,"`"],[20993,0,"`"],[20990,1],[20989,1],[20988,1],[20987,1],[20986,1],[21032,1],[21032,1],[21032,1],[21032,1],[21032,1],[21033,1],[21033,0,"`"],[21034,0,"`"],[21081,1],[21081,1],[21081,1],[21081,1],[21081,1],[21135,1],[21135,1],[21135,1],[21135,1],[21135,1],[21183,1],[21183,1],[21183,1],[21183,1],[21183,1],[21239,1],[21239,1],[21239,1],[21239,1],[21239,1],[21308,1],[21308,1],[21308,1],[21308,1],[21308,1],[21082,1],[21135,1],[21182,1],[21237,1],[21305,1],[21082,0,"`"],[21083,0,"`"],[21137,0,"`"],[21138,0,"`"],[21186,0,"`"],[21187,0,"`"],[21243,0,"`"],[21244,0,"`"],[21313,0,"`"],[21314,0,"`"],[21038,1],[21038,0,"'"],[21039,0,"'"],[21088,1],[21088,0,"'"],[21089,0,"'"],[21144,1],[21144,0,"'"],[21145,0,"'"],[21194,1],[21194,0,"'"],[21195,0,"'"],[21252,1],[21252,0,"'"],[21253,0,"'"],[21323,1],[21323,0,"'"],[21324,0,"'"],[21041,0," "],[21092,0," "],[21149,0," "],[21200,0," "],[21259,0," "],[21331,0," "],[21043,1],[21043,0,"`"],[21044,0,"`"],[21095,1],[21095,0,"`"],[21096,0,"`"],[21153,1],[21153,0,"`"],[21154,0,"`"],[21205,1],[21205,0,"`"],[21206,0,"`"],[21265,1],[21265,0,"`"],[21266,0,"`"],[21338,1],[21338,0,"`"],[21339,0,"`"],[21049,1],[21049,0,"'"],[21050,0,"'"],[21102,1],[21102,0,"'"],[21103,0,"'"],[21105,0," "],[21106,1],[21106,0,"`"],[21107,0,"`"],[21111,1],[21111,0,"'"],[21112,0,"'"],[21164,1],[21164,0,"'"],[21165,0,"'"],[21217,1],[21217,0,"'"],[21218,0,"'"],[21220,0," "],[21221,1],[21221,0,"`"],[21222,0,"`"],[21228,1],[21228,0,"'"],[21229,0,"'"],[21281,1],[21281,0,"'"],[21282,0,"'"],[21284,0," "],[21285,1],[21285,0,"`"],[21286,0,"`"],[21290,1],[21290,0,"'"],[21291,0,"'"],[21293,0," "],[21294,1],[21294,0,"`"],[21295,0,"`"],[21300,1],[21300,0,"'"],[21301,0,"'"],[21303,0," "],[21304,1],[21304,0,"`"],[21305,0,"`"],[21311,1],[21311,0,"'"],[21312,0,"'"],[21364,1],[21364,0,"'"],[21365,0,"'"],[21367,0," "],[21368,1],[21368,0,"`"],[21369,0,"`"],[21373,1],[21373,0,"'"],[21374,0,"'"],[21375,0," "],[21375,1],[21376,0," "],[21377,1],[21377,0,"`"],[21378,0,"`"],[21383,1],[21383,0,"'"],[21384,0,"'"],[21386,0," "],[21387,1],[21387,0,"`"],[21388,0,"`"],[21394,1],[21394,0,"'"],[21395,0,"'"],[21397,0,"\\"],[21314,0,"\\"],[21316,1],[21399,1],[21232,1],[21231,0,"\\"],[21168,1],[21167,0,"\\"],[21115,1],[21114,0,"\\"],[21053,1],[21052,0,"\\"],[21000,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21440,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21527,1],[21442,0," "],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21444,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21517,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21591,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21680,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21770,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21845,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21909,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21947,1],[21970,0,"d"],[21971,0,"a"],[21972,0,"s"],[21973,0,"h"],[21974,0,"e"],[21975,0,"d"],[21976,0,","],[21977,0,"b"],[21978,0,"l"],[21979,0,"u"],[21980,0,"e"],[21981,0,","],[22021,0,"d"],[22022,0,"a"],[22023,0,"s"],[22024,0,"h"],[22025,0,"e"],[22026,0,"d"],[22027,0,","],[22028,0,"b"],[22029,0,"l"],[22030,0,"u"],[22031,0,"e"],[22032,0,","],[20870,0," "],[20871,0,"["],[20872,0,"r"],[20873,0,"e"],[20874,0,"c"],[20875,0,"t"],[20876,0,"a"],[20877,0,"n"],[20878,0,"g"],[20879,0,"l"],[20880,0,"e"],[20881,0,","],[20882,0,"d"],[20883,0,"r"],[20884,0,"a"],[20885,0,"w"],[20886,0,"]"],[20921,0," "],[20922,0,"["],[20923,0,"r"],[20924,0,"e"],[20925,0,"c"],[20926,0,"t"],[20927,0,"a"],[20928,0,"n"],[20929,0,"g"],[20930,0,"l"],[20931,0,"e"],[20932,0,","],[20933,0,"d"],[20934,0,"r"],[20935,0,"a"],[20936,0,"w"],[20937,0,"]"],[20972,0," "],[20973,0,"["],[20974,0,"r"],[20975,0,"e"],[20976,0,"c"],[20977,0,"t"],[20978,0,"a"],[20979,0,"n"],[20980,0,"g"],[20981,0,"l"],[20982,0,"e"],[20983,0,","],[20984,0,"d"],[20985,0,"r"],[20986,0,"a"],[20987,0,"w"],[20988,0,"]"],[21034,0," "],[21035,0,"["],[21036,0,"r"],[21037,0,"e"],[21038,0,"c"],[21039,0,"t"],[21040,0,"a"],[21041,0,"n"],[21042,0,"g"],[21043,0,"l"],[21044,0,"e"],[21045,0,","],[21046,0,"d"],[21047,0,"r"],[21048,0,"a"],[21049,0,"w"],[21050,0,"]"],[21096,0," "],[21097,0,"["],[21098,0,"r"],[21099,0,"e"],[21100,0,"c"],[21101,0,"t"],[21102,0,"a"],[21103,0,"n"],[21104,0,"g"],[21105,0,"l"],[21106,0,"e"],[21107,0,","],[21108,0,"d"],[21109,0,"r"],[21110,0,"a"],[21111,0,"w"],[21112,0,"]"],[21166,0," "],[21167,0,"["],[21168,0,"r"],[21169,0,"e"],[21170,0,"c"],[21171,0,"t"],[21172,0,"a"],[21173,0,"n"],[21174,0,"g"],[21175,0,"l"],[21176,0,"e"],[21177,0,","],[21178,0,"d"],[21179,0,"r"],[21180,0,"a"],[21181,0,"w"],[21182,0,"]"],[21246,0,"["],[21247,0,"r"],[21248,0,"e"],[21249,0,"c"],[21250,0,"t"],[21251,0,"a"],[21252,0,"n"],[21253,0,"g"],[21254,0,"l"],[21255,0,"e"],[21256,0,","],[21257,0,"d"],[21258,0,"r"],[21259,0,"a"],[21260,0,"w"],[21261,0,"]"],[21262,0," "],[21315,0," "],[21316,0,"["],[21317,0,"r"],[21318,0,"e"],[21319,0,"c"],[21320,0,"t"],[21321,0,"n"],[21322,0,"a"],[21322,1],[21321,1],[21321,0,"a"],[21322,0,"n"],[21323,0,"g"],[21324,0,"l"],[21325,0,"e"],[21326,0,","],[21327,0,"d"],[21328,0,"r"],[21329,0,"a"],[21330,0,"w"],[21331,0,"]"],[21397,0," "],[21397,1],[21397,0,"["],[21398,0,"r"],[21399,0,"e"],[21400,0,"c"],[21401,0,"t"],[21402,0,"a"],[21403,0,"n"],[21404,0,"g"],[21405,0,"l"],[21406,0,"e"],[21407,0,","],[21408,0,"d"],[21409,0,"r"],[21410,0,"a"],[21411,0,"w"],[21412,0,"]"],[21413,0," "],[21496,0," "],[21497,0,"["],[21498,0,"r"],[21499,0,"e"],[21500,0,"c"],[21501,0,"t"],[21502,0,"a"],[21503,0,"n"],[21504,0,"g"],[21505,0,"l"],[21506,0,"e"],[21507,0,","],[21508,0,"d"],[21509,0,"r"],[21510,0,"a"],[21511,0,"w"],[21512,0,"]"],[21494,1],[21493,1],[21393,1],[21393,1],[21311,1],[21311,1],[21311,1],[21311,0,"2"],[21241,1],[21241,1],[21241,1],[21241,0,"4"],[21162,1],[21162,1],[21162,1],[21162,0,"2"],[21092,1],[21092,1],[21092,1],[21092,0,"4"],[21030,1],[21030,1],[21030,1],[21030,0,"6"],[20968,1],[20968,1],[20968,1],[20968,0,"6"],[20917,1],[20917,1],[20917,1],[20917,0,"8"],[20866,1],[20866,1],[20866,1],[20866,0,"8"],[20913,1],[20913,0,"1"],[20914,0,"0"],[20864,0," "],[20964,0," "],[21025,1],[21025,0,"2"],[21026,0,"0"],[21026,1],[21025,1],[21025,0,"1"],[21026,0,"0"],[21086,0," "],[21086,1],[21085,0," "],[20964,1],[20963,0," "],[20864,1],[20863,0," "],[21154,0," "],[21233,1],[21233,0,"1"],[21234,0,"0"],[21302,1],[21302,0,"2"],[21303,0,"0"],[21303,1],[21302,1],[21302,0,"1"],[21303,0,"0"],[21381,0," "],[21481,1],[21481,0,"1"],[21482,0,"0"],[22152,0,"."],[22153,0,"s"],[22154,0,"o"],[22155,0,"u"],[22156,0,"t"],[22157,0,"h"],[22158,0," "],[22159,0,"e"],[22160,0,"a"],[22161,0,"s"],[22162,0,"t"],[22176,0,"."],[22177,0,"s"],[22178,0,"o"],[22179,0,"u"],[22180,0,"t"],[22181,0,"h"],[22182,0," "],[22183,0,"w"],[22184,0,"e"],[22185,0,"s"],[22186,0,"t"],[22226,0,"."],[22227,0,"n"],[22228,0,"o"],[22229,0,"r"],[22230,0,"t"],[22231,0,"h"],[22232,0," "],[22233,0,"w"],[22234,0,"e"],[22235,0,"s"],[22236,0,"t"],[22236,1],[22235,1],[22234,1],[22233,1],[22233,0,"e"],[22234,0,"a"],[22235,0,"s"],[22236,0,"t"],[22248,0,"."],[22249,0,"n"],[22250,0,"o"],[22181,1],[22180,1],[22179,1],[22178,1],[22177,1],[22177,0,"n"],[22178,0,"o"],[22179,0,"r"],[22180,0,"t"],[22181,0,"h"],[22231,1],[22230,1],[22229,1],[22228,1],[22227,1],[22227,0,"s"],[22228,0,"o"],[22229,0,"u"],[22230,0,"t"],[22231,0,"h"],[22232,0," "],[22233,0,"w"],[22234,0,"e"],[22235,0,"s"],[22236,0,"t"],[22237,1],[22237,1],[22237,1],[22237,1],[22237,1],[22251,0,"r"],[22252,0,"t"],[22253,0,"h"],[22254,0," "],[22255,0,"e"],[22256,0,"a"],[22257,0,"s"],[22258,0,"t"],[20844,0,"\n"],[20845,0,"\\"],[20846,0,"p"],[20847,0,"a"],[20848,0,"t"],[20849,0,"h"],[20850,0," "],[20851,0,"["],[20852,0,"d"],[20853,0,"r"],[20854,0,"a"],[20855,0,"w"],[20856,0,","],[20857,0,"d"],[20858,0,"o"],[20859,0,"t"],[20860,0,"t"],[20861,0,"e"],[20862,0,"d"],[20863,0,"]"],[20864,0," "],[20865,0,"("],[20866,0,"5"],[20867,0,","],[20868,0,"-"],[20869,0,"0"],[20870,0,"."],[20871,0,"5"],[20872,0,")"],[20873,0," "],[20874,0,"-"],[20875,0,"-"],[20876,0," "],[20877,0,"("],[20878,0,"5"],[20879,0,","],[20880,0,"8"],[20881,0,"."],[20882,0,"5"],[20883,0,")"],[20884,0,";"],[22203,1],[22202,1],[22201,1],[22200,1],[22199,1],[22268,1],[22268,1],[22268,1],[22268,1],[22268,1],[22204,0," "],[22205,0,"["],[22206,0,"o"],[22207,0,"u"],[22208,0,"t"],[22209,0,"="],[22210,0,"1"],[22211,0,"8"],[22212,0,"0"],[22213,0,"]"],[22282,0," "],[22283,0,"["],[22284,0,"o"],[22285,0,"u"],[22286,0,"t"],[22287,0,"="],[22288,0,"1"],[22289,0,"8"],[22290,0,"0"],[22291,0,"]"],[22211,1],[22210,1],[22210,0,"9"],[22288,1],[22287,1],[22287,0,"9"],[22287,1],[22287,0,"2"],[22288,0,"7"],[22210,1],[22210,0,"2"],[22211,0,"7"],[22213,0,","],[22214,0,"i"],[22215,0,"n"],[22216,0,"="],[22217,0,"4"],[22218,0,"5"],[22297,0,","],[22298,0,"i"],[22299,0,"n"],[22300,0,"="],[22301,0,"1"],[22302,0,"3"],[22303,0,"5"],[22218,1],[22217,1],[22217,0,"1"],[22218,0,"3"],[22219,0,"5"],[22304,1],[22303,1],[22302,1],[22302,0,"4"],[22303,0,"5"],[20082,1],[20081,1],[20080,1],[20079,1],[20078,1],[20147,1],[20147,1],[20147,1],[20147,1],[20147,1],[20083,0," "],[20084,0,"["],[20085,0,"o"],[20086,0,"u"],[20087,0,"t"],[20088,0,"="],[20089,0,"2"],[20090,0,"7"],[20091,0,"0"],[20092,0,","],[20093,0,"i"],[20094,0,"n"],[20095,0,"="],[20096,0,"1"],[20097,0,"3"],[20098,0,"5"],[20099,0,"]"],[20168,0," "],[20169,0,"["],[20170,0,"o"],[20171,0,"u"],[20172,0,"t"],[20172,1],[20172,0,"="],[20172,1],[20172,0,"t"],[20173,0,"="],[20174,0,"2"],[20175,0,"7"],[20176,0,"8"],[20176,1],[20176,0,"0"],[20177,0,","],[20178,0,"i"],[20179,0,"n"],[20180,0,"="],[20181,0,"4"],[20182,0,"5"],[20183,0,"]"],[20184,0," "],[22330,0," "],[19315,1],[19315,0,"3"],[19250,1],[19250,0,"5"],[19106,1],[19106,0,"4"],[19011,1],[19011,0,"7"],[18924,1],[18924,0,"7"],[18897,1],[18897,0,"7"],[17579,1],[17578,1],[17578,0," "],[17579,0,"t"],[17580,0,"o"],[17581,0," "],[17581,1],[17653,1],[17652,1],[17652,0,"t"],[17653,0,"o"],[17581,0," "],[17582,0,"["],[17583,0,"o"],[17584,0,"u"],[17585,0,"t"],[17586,0,"="],[17587,0,"2"],[17588,0,"8"],[17589,0,"0"],[17589,1],[17588,1],[17587,1],[17587,0,"1"],[17588,0,"8"],[17589,0,"0"],[17590,0,"]"],[17575,1],[17574,1],[17573,1],[17572,1],[17571,1],[17650,1],[17650,1],[17650,1],[17650,1],[17650,1],[17654,0," "],[17655,0,"["],[17656,0,"o"],[17657,0,"u"],[17658,0,"t"],[17659,0,"="],[17659,1],[17659,0,"="],[17660,0,"1"],[17661,0,"8"],[17662,0,"0"],[17663,0,"]"],[17585,0,","],[17586,0,"i"],[17587,0,"n"],[17588,0,"="],[17589,0,"1"],[17590,0,"3"],[17591,0,"5"],[17670,0,","],[17671,0,"i"],[17672,0,"n"],[17673,0,"="],[17674,0,"4"],[17675,0,"5"],[17677,0," "],[17260,1],[17260,0,"5"],[17582,1],[17582,1],[17582,0,"2"],[17583,0,"7"],[17668,1],[17667,1],[17667,0,"2"],[17668,0,"7"],[17110,1],[17110,0,"0"],[17111,0,"."],[17112,0,"5"],[17186,1],[17186,0,"0"],[17187,0,"."],[17188,0,"5"],[16738,1],[16738,0,"4"],[16741,1],[16741,1],[16747,1],[16747,0,"4"],[17262,1],[17261,1],[17110,1],[17109,1],[17183,1],[17183,1],[16740,0,"-"],[16742,0,"."],[16743,0,"5"],[17259,1],[17259,0,"1"],[17260,0,"."],[17261,0,"8"],[19714,0,"\n"],[19715,0,"\\"],[19716,0,"n"],[19717,0,"o"],[19718,0,"d"],[19719,0,"e"],[19720,0," "],[19721,0,"("],[19722,0,"c"],[19723,0,"o"],[19724,0,"m"],[19725,0,"m"],[19726,0,"s"],[19727,0,")"],[19728,0," "],[19729,0," "],[19730,0,"a"],[19731,0,"t"],[19732,0," "],[19733,0,"("],[19734,0,"4"],[19735,0,","],[19736,0,"1"],[19737,0,"."],[19738,0,"8"],[19739,0,")"],[19740,0," "],[19741,0,"["],[19742,0,"t"],[19743,0,"e"],[19744,0,"x"],[19745,0,"t"],[19746,0,"="],[19747,0,"b"],[19748,0,"l"],[19749,0,"u"],[19750,0,"e"],[19751,0,"]"],[19752,0," "],[19753,0,"{"],[19754,0,"\\"],[19755,0,"f"],[19756,0,"o"],[19757,0,"o"],[19758,0,"t"],[19759,0,"n"],[19760,0,"o"],[19761,0,"t"],[19762,0,"e"],[19763,0,"s"],[19764,0,"i"],[19765,0,"z"],[19766,0,"e"],[19767,0," "],[19768,0,"n"],[19769,0,"e"],[19770,0,"t"],[19771,0,"w"],[19772,0,"o"],[19773,0,"r"],[19774,0,"k"],[19775,0," "],[19776,0,"c"],[19777,0,"o"],[19778,0,"m"],[19779,0,"m"],[19780,0,"u"],[19781,0,"n"],[19782,0,"i"],[19783,0,"c"],[19784,0,"a"],[19785,0,"t"],[19786,0,"i"],[19787,0,"o"],[19788,0,"n"],[19789,0,"}"],[19790,0,";"],[19729,1],[19735,1],[19735,1],[19735,1],[19735,0,"2"],[19736,0,"."],[19737,0,"5"],[19737,1],[19736,1],[19736,0,"."],[19737,0,"1"],[21727,0,"\n"],[21728,0,"\\"],[21729,0,"n"],[21730,0,"o"],[21731,0,"d"],[21732,0,"e"],[21733,0," "],[21734,0,"("],[21735,0,"c"],[21736,0,"o"],[21737,0,"m"],[21738,0,"m"],[21739,0,"s"],[21740,0,")"],[21741,0," "],[21742,0,"a"],[21743,0,"t"],[21744,0," "],[21745,0,"("],[21745,1],[21745,0," "],[21742,0," "],[21746,1],[21746,0," "],[21747,0,"("],[21748,0,"5"],[21749,0,","],[21750,0,"1"],[21751,0,"."],[21752,0,"8"],[21753,0,")"],[21754,0," "],[21755,0,"["],[21756,0,"t"],[21757,0,"e"],[21758,0,"x"],[21759,0,"t"],[21760,0,"="],[21761,0,"b"],[21762,0,"l"],[21763,0,"u"],[21764,0,"e"],[21765,0,"]"],[21766,0," "],[21767,0,"{"],[21768,0,"\\"],[21769,0,"f"],[21770,0,"o"],[21771,0,"o"],[21772,0,"t"],[21773,0,"n"],[21774,0,"o"],[21775,0,"t"],[21776,0,"e"],[21777,0,"s"],[21778,0,"i"],[21779,0,"z"],[21780,0,"e"],[21781,0," "],[21782,0,"n"],[21783,0,"e"],[21784,0,"t"],[21785,0,"w"],[21786,0,"o"],[21787,0,"r"],[21788,0,"k"],[21789,0," "],[21790,0,"c"],[21791,0,"o"],[21792,0,"m"],[21793,0,"m"],[21794,0,"u"],[21795,0,"n"],[21796,0,"i"],[21797,0,"c"],[21798,0,"a"],[21799,0,"t"],[21800,0,"i"],[21801,0,"o"],[21802,0,"n"],[21803,0,"}"],[21804,0,";"],[21752,1],[21752,0,"2"],[21752,1],[21752,0,"4"],[17261,1],[17261,0,"6"],[23374,0,","],[23375,0,"s"],[23376,0,"c"],[23377,0,"a"],[23378,0,"l"],[23379,0,"e"],[23380,0,"="],[23381,0,"0"],[23382,0,"."],[23383,0,"8"],[23409,1],[23408,1],[23407,1],[23407,0,"4"],[23490,1],[23490,1],[23490,1],[23490,0,"2"],[23537,1],[23537,1],[23537,1],[23537,0,"2"],[23620,1],[23620,1],[23681,1],[23681,1],[23416,1],[23415,1],[23414,1],[23413,1],[23412,1],[23490,1],[23490,1],[23490,1],[23490,1],[23490,1],[23532,1],[23532,1],[23532,1],[23532,1],[23532,1],[23609,1],[23609,1],[23609,1],[23609,1],[23609,1],[23665,1],[23665,1],[23665,1],[23665,1],[23665,1],[23413,1],[23413,0,"`"],[23414,0,"`"],[23492,1],[23492,0,"`"],[23493,0,"`"],[23535,1],[23535,0,"`"],[23536,0,"`"],[23613,1],[23613,0,"`"],[23614,0,"`"],[23670,1],[23670,0,"`"],[23671,0,"`"],[23419,1],[23419,0,"'"],[23420,0,"'"],[23499,1],[23499,0,"'"],[23500,0,"'"],[23543,1],[23543,0,"'"],[23544,0,"'"],[23622,1],[23622,0,"'"],[23623,0,"'"],[23680,1],[23680,0,"'"],[23681,0,"'"],[23424,0,"\\"],[23426,1],[23426,0,"`"],[23427,0,"`"],[23433,1],[23433,0,"'"],[23434,0,"'"],[23437,1],[23437,0,"`"],[23438,0,"`"],[23447,1],[23447,0,"'"],[23448,0,"'"],[23451,1],[23451,0,"`"],[23452,0,"`"],[23457,1],[23457,0,"'"],[23458,0,"'"],[23466,0,"\\"],[23469,0,"\\"],[23471,1],[23514,1],[23513,0,"\\"],[23556,0,"\\"],[23558,1],[23558,0,"`"],[23559,0,"`"],[23565,1],[23565,0,"'"],[23566,0,"'"],[23569,1],[23569,0,"`"],[23570,0,"`"],[23579,1],[23579,0,"'"],[23580,0,"'"],[23583,1],[23583,0,"`"],[23584,0,"`"],[23589,1],[23589,0,"'"],[23590,0,"'"],[23597,0,"\\"],[23600,0,"\\"],[23602,1],[23643,0,"\\"],[23702,0,"\\"],[23645,1],[23645,0,"`"],[23646,0,"`"],[23705,1],[23705,0,"`"],[23706,0,"`"],[23651,1],[23651,0,"'"],[23652,0,"'"],[23713,0,"="],[23713,1],[23712,1],[23712,0,"'"],[23713,0,"'"],[23659,0,"\\"],[23721,0,"\\"],[23662,0,"\\"],[23725,0,"\\"],[23727,1],[23664,1],[23784,1],[23783,1],[23782,1],[23781,1],[23780,1],[23779,1],[23778,1],[23777,1],[23776,1],[23775,1],[23774,1],[23773,1],[23772,1],[23771,1],[23770,1],[23769,1],[23768,1],[23769,0," "],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23868,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23772,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23857,1],[23954,1],[23954,1],[23954,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23940,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[23978,1],[24001,0,"d"],[24002,0,"a"],[24003,0,"s"],[24004,0,"h"],[24005,0,"e"],[24006,0,"d"],[24007,0,","],[24008,0,"b"],[24009,0,"l"],[24010,0,"u"],[24011,0,"e"],[24012,0,","],[24052,0,"d"],[24053,0,"a"],[24054,0,"s"],[24055,0,"h"],[24056,0,"e"],[24057,0,"d"],[24058,0,","],[24059,0,"b"],[24060,0,"l"],[24061,0,"u"],[24062,0,"e"],[24063,0,","],[24023,0,"."],[24024,0,"s"],[24025,0,"o"],[24026,0,"u"],[24027,0,"t"],[24028,0,"h"],[24081,0,"."],[24082,0,"s"],[24083,0,"o"],[24084,0,"u"],[24085,0,"t"],[24086,0,"h"],[24034,0," "],[24035,0,"["],[24036,0,"o"],[24037,0,"u"],[24038,0,"t"],[24039,0,"="],[24040,0,"2"],[24041,0,"8"],[24042,0,"0"],[24042,1],[24041,1],[24041,0,"7"],[24042,0,"0"],[24043,0,"]"],[24043,1],[24043,0,","],[24044,0,"i"],[24045,0,"n"],[24046,0,"="],[24047,0,"1"],[24048,0,"3"],[24049,0,"5"],[24050,0,"]"],[24108,0," "],[24109,0,"["],[24110,0,"o"],[24111,0,"u"],[24112,0,"t"],[24113,0,"="],[24114,0,"2"],[24115,0,"7"],[24116,0,"0"],[24117,0,","],[24118,0,"i"],[24119,0,"n"],[24120,0,"="],[24121,0,"4"],[24122,0,"5"],[24123,0,"]"],[24124,0," "],[24059,0,"."],[24060,0,"n"],[24061,0,"o"],[24062,0,"r"],[24063,0,"t"],[24064,0,"h"],[24065,0," "],[24066,0,"w"],[24067,0,"e"],[24068,0,"s"],[24069,0,"t"],[24143,0,"."],[24144,0,"n"],[24145,0,"o"],[24146,0,"r"],[24147,0,"t"],[24148,0,"h"],[24149,0," "],[24150,0,"e"],[24151,0,"a"],[24152,0,"s"],[24153,0,"t"],[23409,0," "],[23410,0,"["],[23411,0,"r"],[23412,0,"e"],[23413,0,"c"],[23414,0,"t"],[23415,0,"a"],[23416,0,"n"],[23417,0,"g"],[23418,0,"l"],[23419,0,"e"],[23420,0,","],[23421,0,"d"],[23422,0,"r"],[23423,0,"a"],[23424,0,"w"],[23425,0,"]"],[23514,0," "],[23515,0,"["],[23516,0,"r"],[23517,0,"e"],[23518,0,"c"],[23519,0,"t"],[23520,0,"a"],[23521,0,"n"],[23522,0,"g"],[23523,0,"l"],[23524,0,"e"],[23525,0,","],[23526,0,"d"],[23527,0,"r"],[23528,0,"a"],[23529,0,"w"],[23530,0,"]"],[23575,0," "],[23576,0,"["],[23577,0,"r"],[23578,0,"e"],[23579,0,"c"],[23580,0,"t"],[23581,0,"a"],[23582,0,"n"],[23583,0,"g"],[23584,0,"l"],[23585,0,"e"],[23586,0,","],[23587,0,"d"],[23588,0,"r"],[23589,0,"a"],[23590,0,"w"],[23591,0,"]"],[23679,0," "],[23680,0,"["],[23681,0,"r"],[23682,0,"e"],[23683,0,"c"],[23684,0,"t"],[23685,0,"a"],[23686,0,"n"],[23687,0,"g"],[23688,0,"l"],[23689,0,"e"],[23690,0,","],[23691,0,"d"],[23692,0,"r"],[23693,0,"a"],[23694,0,"w"],[23695,0,"]"],[23758,0," "],[23759,0,"["],[23760,0,"r"],[23761,0,"e"],[23762,0,"c"],[23763,0,"t"],[23764,0,"a"],[23765,0,"n"],[23766,0,"g"],[23767,0,"l"],[23768,0,"e"],[23769,0,","],[23770,0,"d"],[23771,0,"r"],[23772,0,"a"],[23773,0,"w"],[23774,0,"]"],[23405,1],[23405,0,"0"],[23407,1],[23407,0,"4"],[23490,0,"\n"],[23491,0,"\\"],[23492,0,"n"],[23493,0,"o"],[23494,0,"d"],[23495,0,"e"],[23496,0," "],[23497,0,"("],[23498,0,"r"],[23499,0,"i"],[23500,0,"g"],[23501,0,"h"],[23502,0,"t"],[23503,0,"0"],[23504,0,")"],[23397,1],[23396,1],[23395,1],[23394,1],[23393,1],[23393,0,"l"],[23394,0,"e"],[23395,0,"f"],[23396,0,"t"],[23397,0,"0"],[23505,0," "],[23506,0,"a"],[23507,0,"t"],[23508,0," "],[23509,0,"("],[23510,0,"8"],[23511,0,","],[23512,0,"4"],[23513,0,")"],[23514,0," "],[23515,0,"["],[23516,0,"r"],[23517,0,"e"],[23518,0,"c"],[23519,0,"t"],[23520,0,"a"],[23521,0,"n"],[23522,0,"g"],[23523,0,"l"],[23524,0,"e"],[23525,0,","],[23526,0,"d"],[23527,0,"r"],[23528,0,"a"],[23529,0,"w"],[23530,0,"]"],[23531,0," "],[23532,0,"{"],[23533,0,"\\"],[23534,0,"{"],[23535,0,"`"],[23536,0,"`"],[23537,0,"t"],[23538,0,"o"],[23539,0,"d"],[23540,0,"o"],[23541,0,"'"],[23542,0,"'"],[23543,0,":"],[23544,0," "],[23545,0,"["],[23546,0,"\\"],[23547,0,"{"],[23548,0,"`"],[23549,0,"`"],[23550,0,"t"],[23551,0,"i"],[23552,0,"t"],[23553,0,"l"],[23554,0,"e"],[23555,0,"'"],[23556,0,"'"],[23557,0,":"],[23558,0," "],[23559,0,"`"],[23560,0,"`"],[23561,0,"b"],[23562,0,"u"],[23563,0,"y"],[23564,0," "],[23565,0,"m"],[23566,0,"i"],[23567,0,"l"],[23568,0,"k"],[23569,0,"'"],[23570,0,"'"],[23571,0,","],[23572,0," "],[23573,0,"`"],[23574,0,"`"],[23575,0,"d"],[23576,0,"o"],[23577,0,"n"],[23578,0,"e"],[23579,0,"'"],[23580,0,"'"],[23581,0,":"],[23582,0," "],[23583,0,"f"],[23584,0,"a"],[23585,0,"l"],[23586,0,"s"],[23587,0,"e"],[23588,0,"\\"],[23589,0,"}"],[23590,0,"]"],[23591,0,"\\"],[23592,0,"}"],[23593,0,"]"],[23593,1],[23593,0,"}"],[23594,0,"'"],[23594,1],[23594,0,";"],[23941,1],[23940,1],[23939,1],[23938,1],[23937,1],[23937,0,"l"],[23938,0,"e"],[23939,0,"f"],[23940,0,"t"],[23941,0,"0"],[24026,1],[24025,1],[24024,1],[24023,1],[24022,1],[24022,0,"r"],[24023,0,"i"],[24024,0,"g"],[24025,0,"h"],[24026,0,"t"],[24027,0,"0"],[24029,1],[23391,0," "],[23392,0,"["],[23393,0,"m"],[23394,0,"a"],[23395,0,"t"],[23396,0,"r"],[23397,0,"i"],[23398,0,"x"],[23399,0,"]"],[23505,0," "],[23506,0,"["],[23507,0,"m"],[23508,0,"a"],[23509,0,"t"],[23510,0,"r"],[23511,0,"i"],[23512,0,"x"],[23513,0,"]"],[23408,1],[23436,0,"\n"],[23437,0," "],[23438,0," "],[23439,0," "],[23440,0," "],[23441,0,"\\"],[23442,0,"n"],[23443,0,"o"],[23444,0,"d"],[23445,0,"e"],[23446,0," "],[23447,0,"{"],[23487,0,"}"],[23488,0,";"],[23489,0," "],[23490,0,"\\"],[23491,0,"\\"],[23492,0,"\n"],[23493,0," "],[23494,0," "],[23495,0," "],[23496,0," "],[23497,0,"\\"],[23498,0,"\\"],[23499,0,"n"],[23500,0,"o"],[23501,0,"d"],[23501,1],[23500,1],[23499,1],[23498,1],[23498,0,"n"],[23499,0,"o"],[23500,0,"d"],[23501,0,"e"],[23502,0," "],[23503,0,"{"],[23504,1],[23526,0," "],[23527,0,"\\"],[23528,0,"\\"],[23529,0,"\n"],[23530,0,"}"],[23531,0,";"],[23584,0,"\n"],[23585,0," "],[23586,0," "],[23587,0," "],[23588,0," "],[23589,0,"\\"],[23590,0,"n"],[23591,0,"o"],[23592,0,"d"],[23593,0,"e"],[23594,0," "],[23595,0,"{"],[23635,0,"}"],[23636,0,";"],[23637,0," "],[23638,0,"\\"],[23639,0,"\\"],[23640,0,"\n"],[23641,0," "],[23642,0," "],[23644,0," "],[23645,0,"\\"],[23646,0,"n"],[23647,0,"o"],[23648,0,"d"],[23649,0,"e"],[23650,0," "],[23651,0,"{"],[23674,0," "],[23675,0,"\\"],[23676,0,"\\"],[23677,0,"\n"],[23678,0,"}"],[23679,0,";"],[23563,1],[23563,0,"5"],[23415,1],[23415,0,"5"],[23763,1],[23763,0,"3"],[23702,1],[23702,0,"3"],[23563,1],[23563,0,"6"],[23415,1],[23415,0,"6"],[23747,0," "],[23748,0,"["],[23749,0,"m"],[23750,0,"a"],[23751,0,"t"],[23752,0,"r"],[23753,0,"i"],[23754,0,"x"],[23755,0,"]"],[23793,0,"\n"],[23794,0," "],[23795,0," "],[23796,0," "],[23797,0," "],[23798,0,"\\"],[23799,0,"n"],[23800,0,"o"],[23801,0,"d"],[23802,0,"e"],[23803,0," "],[23804,0,"{"],[23844,1],[23844,0,"}"],[23845,0,";"],[23846,0," "],[23847,0,"\\"],[23848,0,"\\"],[23849,0,"\n"],[23850,0," "],[23851,0," "],[23852,0," "],[23853,0," "],[23854,0,"\\"],[23855,0,"n"],[23856,0,"o"],[23857,0,"d"],[23858,0,"e"],[23859,0," "],[23860,0,"{"],[23882,0," "],[23883,0,"\\"],[23884,0,"\\"],[23885,0,"\n"],[23886,0,"}"],[23887,0,";"],[23385,0,"\n"],[23386,0,"\\"],[23387,0,"n"],[23388,0,"o"],[23389,0,"d"],[23390,0,"e"],[23391,0," "],[23392,0,"("],[23393,0,"l"],[23394,0,"e"],[23395,0,"f"],[23396,0,"t"],[23397,0,"R"],[23398,0,")"],[23399,0," "],[23400,0,"a"],[23401,0,"t"],[23402,0," "],[23403,0,"9"],[23403,1],[23403,0,"("],[23404,0,"0"],[23405,0,"."],[23405,1],[23405,0,","],[23406,0,"8"],[23407,0,")"],[23408,0," "],[23409,0,"{"],[23410,0,"R"],[23411,0,"e"],[23412,0,"p"],[23413,0,"l"],[23414,0,"i"],[23415,0,"c"],[23416,0,"a"],[23417,0," "],[23418,0,"$"],[23419,0,"p"],[23420,0,"$"],[23421,0,":"],[23422,0,"}"],[23423,0,";"],[23424,0,"\n"],[23425,0,"\\"],[23426,0,"n"],[23427,0,"o"],[23428,0,"d"],[23429,0,"e"],[23430,0," "],[23431,0,"("],[23432,0,"r"],[23433,0,"i"],[23434,0,"g"],[23435,0,"h"],[23436,0,"t"],[23437,0,"R"],[23438,0,")"],[23439,0," "],[23400,0," "],[23441,0,"a"],[23442,0,"t"],[23443,0," "],[23444,0,"("],[23445,0,"8"],[23446,0,","],[23447,0,"8"],[23448,0,")"],[23449,0," "],[23450,0,"{"],[23451,0,"R"],[23452,0,"e"],[23453,0,"p"],[23454,0,"l"],[23455,0,"i"],[23456,0,"c"],[23457,0,"a"],[23458,0," "],[23459,0,"$"],[23460,0,"q"],[23461,0,"$"],[23462,0,":"],[23463,0,"}"],[23464,0,";"],[23447,1],[23447,0,"7"],[23448,0,"."],[23449,0,"5"],[23407,1],[23407,0,"7"],[23408,0,"."],[23409,0,"5"],[23469,0,"\n"],[23470,0,"\\"],[23470,1],[23469,1],[23385,0,"\n"],[23386,0,"\\"],[23387,0,"p"],[23388,0,"a"],[23389,0,"t"],[23390,0,"h"],[23391,0," "],[23392,0,"["],[23393,0,"d"],[23394,0,"r"],[23395,0,"a"],[23396,0,"w"],[23397,0,","],[23398,0,"d"],[23399,0,"o"],[23400,0,"t"],[23401,0,"t"],[23402,0,"e"],[23403,0,"d"],[23404,0,"]"],[23405,0," "],[23406,0,"("],[23407,0,"4"],[23408,0,","],[23409,0,"-"],[23410,0,"0"],[23411,0,"."],[23412,0,"5"],[23413,0,")"],[23414,0," "],[23415,0,"-"],[23416,0,"-"],[23417,0," "],[23418,0,"("],[23419,0,"4"],[23420,0,","],[23421,0,"8"],[23422,0,")"],[23423,0,";"],[24169,0,"\n"],[24170,0,"\\"],[24171,0,"n"],[24172,0,"o"],[24173,0,"d"],[24174,0,"e"],[24175,0," "],[24176,0,"("],[24177,0,"c"],[24178,0,"o"],[24179,0,"m"],[24180,0,"m"],[24181,0,"s"],[24182,0,")"],[24183,0," "],[24184,0," "],[24185,0,"a"],[24186,0,"t"],[24187,0," "],[24188,0,"("],[24189,0,"4"],[24190,0,","],[24191,0,"1"],[24192,0,"."],[24193,0,"4"],[24194,0,")"],[24195,0," "],[24196,0,"["],[24197,0,"t"],[24198,0,"e"],[24199,0,"x"],[24200,0,"t"],[24201,0,"="],[24202,0,"b"],[24203,0,"l"],[24204,0,"u"],[24205,0,"e"],[24206,0,"]"],[24207,0," "],[24208,0,"{"],[24209,0,"\\"],[24210,0,"f"],[24211,0,"o"],[24212,0,"o"],[24213,0,"t"],[24214,0,"n"],[24215,0,"o"],[24216,0,"t"],[24217,0,"e"],[24218,0,"s"],[24219,0,"i"],[24220,0,"z"],[24221,0,"e"],[24222,0," "],[24223,0,"n"],[24224,0,"e"],[24225,0,"t"],[24226,0,"w"],[24227,0,"o"],[24228,0,"r"],[24229,0,"k"],[24230,0," "],[24231,0,"c"],[24232,0,"o"],[24233,0,"m"],[24234,0,"m"],[24235,0,"u"],[24236,0,"n"],[24237,0,"i"],[24238,0,"c"],[24239,0,"a"],[24240,0,"t"],[24241,0,"i"],[24242,0,"o"],[24243,0,"n"],[24244,0,"}"],[24245,0,";"],[24193,1],[24193,0,"6"],[4966,0,"i"],[4968,1],[18031,0," "],[18032,0,"I"],[18033,0,"n"],[18034,0," "],[18035,0,"t"],[18036,0,"h"],[18037,0,"e"],[18038,0," "],[18039,0,"e"],[18040,0,"x"],[18041,0,"a"],[18042,0,"m"],[18043,0,"p"],[18044,0,"l"],[18045,0,"e"],[18046,0," "],[18047,0,"t"],[18048,0,"h"],[18049,0,"e"],[18050,0,"r"],[18051,0,"e"],[18052,0," "],[18053,0,"a"],[18054,0,"r"],[18055,0,"e"],[18056,0," "],[18057,0,"t"],[18058,0,"w"],[18059,0,"o"],[18060,0," "],[18061,0,"r"],[18062,0,"e"],[18062,1],[18061,1],[18060,1],[18059,1],[18058,1],[18057,1],[18056,1],[18055,1],[18054,1],[18053,1],[18052,1],[18051,1],[18050,1],[18049,1],[18048,1],[18047,1],[18046,1],[18045,1],[18044,1],[18043,1],[18042,1],[18041,1],[18040,1],[18039,1],[18038,1],[18037,1],[18036,1],[18035,1],[18035,0,"a"],[18036,0,"l"],[18037,0,"l"],[18038,0," "],[18039,0,"e"],[18040,0,"x"],[18041,0,"a"],[18042,0,"m"],[18043,0,"p"],[18044,0,"l"],[18045,0,"e"],[18046,0,"s"],[18047,0," "],[18047,1],[18046,1],[18045,1],[18044,1],[18043,1],[18042,1],[18041,1],[18040,1],[18039,1],[18038,1],[18037,1],[18036,1],[18035,1],[18035,0,"a"],[18036,0,"l"],[18037,0," "],[18038,0,"o"],[18039,0,"u"],[18040,0,"r"],[18040,1],[18039,1],[18038,1],[18037,1],[18037,0,"l"],[18038,0," "],[18039,0,"a"],[18039,1],[18039,0,"o"],[18040,0,"u"],[18041,0,"r"],[18042,0," "],[18043,0,"e"],[18044,0,"x"],[18045,0,"a"],[18046,0,"m"],[18047,0,"p"],[18048,0,"l"],[18049,0,"e"],[18050,0,"s"],[18051,0," "],[18052,0,"i"],[18053,0,"n"],[18054,0,"t"],[18055,0,"h"],[18056,0,"i"],[18057,0,"s"],[18058,0," "],[18058,1],[18057,1],[18056,1],[18055,1],[18054,1],[18054,0," "],[18055,0,"t"],[18056,0,"h"],[18057,0,"i"],[18058,0,"s"],[18059,0," "],[18060,0,"p"],[18061,0,"a"],[18062,0,"p"],[18063,0,"e"],[18064,0,"r"],[18065,0," "],[18066,0,"w"],[18067,0,"e"],[18068,0," "],[18069,0,"a"],[18070,0,"s"],[18071,0,"s"],[18072,0,"u"],[18073,0,"m"],[18074,0,"e"],[18075,0," "],[18076,0,"t"],[18077,0,"w"],[18078,0,"o"],[18079,0," "],[18080,0,"d"],[18081,0,"e"],[18082,0,"v"],[18083,0,"i"],[18084,0,"c"],[18085,0,"e"],[18086,0,"s"],[18086,1],[18085,1],[18084,1],[18083,1],[18082,1],[18081,1],[18080,1],[18080,0,"c"],[18081,0,"o"],[18082,0,"m"],[18083,0,"p"],[18084,0,"t"],[18085,0,"u"],[18085,1],[18084,1],[18084,0,"u"],[18085,0,"t"],[18086,0,"e"],[18087,0,"r"],[18088,0," "],[18089,0,"d"],[18089,1],[18088,1],[18087,1],[18086,1],[18086,0,"i"],[18087,0,"n"],[18088,0,"g"],[18089,0," "],[18090,0,"d"],[18091,0,"e"],[18092,0,"v"],[18093,0,"i"],[18094,0,"c"],[18095,0,"e"],[18096,0,"s"],[18097,0," "],[18098,0,"l"],[18099,0,"a"],[18100,0,"b"],[18101,0,"e"],[18102,0,"l"],[18103,0,"l"],[18104,0,"e"],[18105,0,"d"],[18106,0," "],[18107,0,"a"],[18108,0,"s"],[18109,0," "],[18110,0,"r"],[18111,0,"e"],[18112,0,"p"],[18113,0,"l"],[18114,0,"i"],[18115,0,"c"],[18116,0,"a"],[18117,0,"'"],[18118,0,"s"],[18119,0," "],[18120,0,"$"],[18121,0,"p"],[18122,0,"$"],[18123,0," "],[18124,0,"a"],[18125,0,"n"],[18126,0,"d"],[18127,0," "],[18128,0,"$"],[18129,0,"q"],[18130,0,"$"],[18131,0,"."],[18064,1],[18063,1],[18062,1],[18061,1],[18060,1],[18060,0,"s"],[18061,0,"e"],[18062,0,"c"],[18063,0,"t"],[18064,0,"i"],[18065,0,"o"],[18066,0,"n"],[18066,1],[18065,1],[18064,1],[18063,1],[18062,1],[18061,1],[18060,1],[18059,1],[18058,1],[18057,1],[18056,1],[18055,1],[18054,1],[18053,1],[18052,1],[18051,1],[18117,1],[18116,1],[18115,1],[18114,1],[18113,1],[18112,1],[18111,1],[18110,1],[18109,1],[18108,1],[18107,1],[18106,1],[18105,1],[18104,1],[18103,1],[18102,1],[18101,1],[18100,1],[18099,1],[18098,1],[18097,1],[18096,1],[18095,1],[18094,1],[18093,1],[18092,1],[18091,1],[18090,1],[18089,1],[18088,1],[18087,1],[18086,1],[18085,1],[18084,1],[18083,1],[18082,1],[18081,1],[18080,1],[18079,1],[18078,1],[18077,1],[18076,1],[18075,1],[18074,1],[18073,1],[18072,1],[18071,1],[18070,1],[18069,1],[18068,1],[18067,1],[18066,1],[18065,1],[18064,1],[18063,1],[18062,1],[18061,1],[18060,1],[18059,1],[18058,1],[18057,1],[18056,1],[18055,1],[18054,1],[18053,1],[18052,1],[18051,1],[18050,1],[18049,1],[18048,1],[18047,1],[18046,1],[18045,1],[18044,1],[18043,1],[18042,1],[18041,1],[18040,1],[18039,1],[18038,1],[18037,1],[18036,1],[18035,1],[18034,1],[18033,1],[18032,1],[18031,1],[17966,0," "],[17966,1],[17966,0," "],[17967,0,"I"],[17968,0,"n"],[17969,0," "],[17970,0,"a"],[17971,0,"l"],[17972,0,"l"],[17973,0," "],[17974,0,"e"],[17975,0,"x"],[17976,0,"a"],[17977,0,"m"],[17978,0,"p"],[17979,0,"l"],[17980,0,"e"],[17981,0,"s"],[17982,0," "],[17983,0,"w"],[17984,0,"e"],[17985,0," "],[17986,0,"a"],[17987,0,"s"],[17988,0,"s"],[17989,0,"u"],[17990,0,"m"],[17991,0,"e"],[17992,0," "],[17993,0,"t"],[17994,0,"w"],[17995,0,"o"],[17996,0," "],[17997,0,"c"],[17998,0,"o"],[17999,0,"m"],[18000,0,"p"],[18001,0,"u"],[18002,0,"t"],[18003,0,"i"],[18004,0,"n"],[18005,0,"g"],[18006,0," "],[18007,0,"d"],[18008,0,"e"],[18009,0,"v"],[18010,0,"i"],[18011,0,"c"],[18012,0,"e"],[18013,0,"s"],[18014,0," "],[18014,1],[18014,0,","],[18015,0," "],[18016,0,"o"],[18017,0,"r"],[18018,0," "],[18019,0,"'"],[18019,1],[18019,0,"\\"],[18020,0,"e"],[18021,0,"m"],[18022,0,"p"],[18023,0,"h"],[18024,0,"{"],[18025,0,"r"],[18026,0,"e"],[18027,0,"p"],[18028,0,"l"],[18029,0,"i"],[18030,0,"c"],[18031,0,"a"],[18032,0,"s"],[18033,0,"}"],[18034,0," "],[18035,0,"w"],[18036,0,"i"],[18037,0,"t"],[18038,0,"h"],[18039,0," "],[18039,1],[18038,1],[18037,1],[18036,1],[18035,1],[18035,0,"l"],[18036,0,"a"],[18037,0,"b"],[18038,0,"e"],[18039,0,"l"],[18040,0,"l"],[18041,0,"e"],[18042,0,"d"],[18043,0," "],[18044,0,"a"],[18045,0,"s"],[18046,0," "],[18047,0,"$"],[18048,0,"p"],[18049,0,"$"],[18050,0," "],[18051,0,"a"],[18052,0,"n"],[18053,0,"d"],[18053,1],[18052,1],[18051,1],[18051,0,"("],[18052,0,"d"],[18053,0,"r"],[18054,0,"a"],[18055,0,"w"],[18056,0,"n"],[18057,0," "],[18058,0,"o"],[18059,0,"n"],[18060,0," "],[18061,0,"t"],[18062,0,"h"],[18063,0,"e"],[18064,0," "],[18065,0,"l"],[18066,0,"e"],[18067,0,"f"],[18068,0,"t"],[18069,0,"-"],[18070,0,"h"],[18071,0,"a"],[18072,0,"n"],[18073,0,"d"],[18074,0," "],[18075,0,"s"],[18076,0,"i"],[18077,0,"z"],[18078,0,"e"],[18079,0,")"],[18079,1],[18078,1],[18077,1],[18077,0,"d"],[18078,0,"e"],[18079,0,")"],[18080,0," "],[18081,0,"a"],[18082,0,"n"],[18083,0,"d"],[18084,0," "],[18085,0,"$"],[18086,0,"q"],[18087,0,"$"],[18088,0," "],[18089,0,"("],[18090,0,"r"],[18091,0,"i"],[18092,0,"g"],[18093,0,"h"],[18094,0,"t"],[18095,0,"-"],[18096,0,"h"],[18097,0,"a"],[18098,0,"n"],[18099,0,"d"],[18100,0," "],[18101,0,"s"],[18102,0,"i"],[18103,0,"z"],[18104,0,"e"],[18104,1],[18103,1],[18102,1],[18102,0,"d"],[18103,0,"e"],[18103,1],[18102,1],[18102,0,"i"],[18103,0,"d"],[18104,0,"e"],[18105,0,")"],[18106,0,"."],[18107,0," "],[18108,0,"R"],[18109,0,"e"],[18110,0,"p"],[18111,0,"l"],[18112,0,"i"],[18113,0,"c"],[18114,0,"a"],[18115,0,"s"],[18116,0," "],[18117,0,"p"],[18118,0,"r"],[18119,0,"o"],[18120,0,"c"],[18121,0,"e"],[18122,0,"s"],[18123,0,"s"],[18124,0," "],[18125,0,"d"],[18126,0,"a"],[18127,0,"t"],[18128,0,"a"],[18129,0," "],[18130,0,"l"],[18131,0,"o"],[18132,0,"c"],[18133,0,"a"],[18134,0,"l"],[18135,0,"l"],[18136,0,"y"],[18137,0," "],[18137,1],[18136,1],[18135,1],[18134,1],[18133,1],[18132,1],[18131,1],[18130,1],[18129,1],[18128,1],[18127,1],[18126,1],[18125,1],[18124,1],[18123,1],[18122,1],[18121,1],[18120,1],[18119,1],[18118,1],[18117,1],[18117,0,"m"],[18118,0,"u"],[18119,0,"t"],[18120,0,"a"],[18121,0,"t"],[18122,0,"e"],[18123,0," "],[18124,0,"s"],[18125,0,"t"],[18126,0,"a"],[18127,0,"t"],[18128,0,"e"],[18129,0," "],[18130,0,"l"],[18131,0,"o"],[18132,0,"c"],[18133,0,"a"],[18134,0,"l"],[18135,0,"l"],[18136,0,"y"],[18136,1],[18135,1],[18134,1],[18134,0,"l"],[18135,0,"l"],[18136,0,"y"],[18137,0," "],[18138,0,"a"],[18139,0,"n"],[18140,0,"d"],[18141,0," "],[18141,1],[18140,1],[18139,1],[18138,1],[18138,0,"c"],[18139,0,"h"],[18140,0,"o"],[18141,0,"o"],[18142,0,"s"],[18143,0,"e"],[18144,0," "],[18145,0,"w"],[18146,0,"h"],[18147,0,"e"],[18148,0,"n"],[18149,0," "],[18150,0,"t"],[18151,0,"o"],[18152,0," "],[18153,0,"p"],[18154,0,"e"],[18155,0,"r"],[18156,0,"f"],[18157,0,"m"],[18157,1],[18157,0,"o"],[18158,0,"r"],[18159,0,"m"],[18160,0," "],[18161,0,"n"],[18162,0,"e"],[18163,0,"t"],[18164,0,"w"],[18165,0,"o"],[18166,0,"r"],[18167,0,"k"],[18168,0," "],[18169,0,"c"],[18170,0,"o"],[18171,0,"n"],[18172,0,"n"],[18173,0,"e"],[18174,0,"c"],[18175,0,"t"],[18176,0,"i"],[18177,0,"o"],[18178,0,"n"],[18179,0," "],[18180,0,"w"],[18181,0,"i"],[18182,0,"t"],[18183,0,"h"],[18184,0," "],[18185,0,"t"],[18186,0,"h"],[18187,0,"e"],[18188,0,"i"],[18189,0,"r"],[18190,0," "],[18191,0,"p"],[18192,0,"i"],[18193,0,"e"],[18193,1],[18192,1],[18192,0,"e"],[18193,0,"e"],[18194,0,"r"],[18195,0,"s"],[18107,0," "],[18108,0,"T"],[18109,0,"h"],[18110,0,"e"],[18111,0," "],[18112,0,"c"],[18113,0,"h"],[18114,0,"o"],[18115,0,"i"],[18116,0,"c"],[18117,0,"e"],[18118,0," "],[18119,0,"o"],[18120,0,"f"],[18121,0," "],[18122,0,"t"],[18123,0,"w"],[18124,0,"o"],[18125,0," "],[18126,0,"r"],[18127,0,"e"],[18128,0,"l"],[18128,1],[18128,0,"p"],[18129,0,"l"],[18130,0,"i"],[18131,0,"c"],[18132,0,"a"],[18133,0,"s"],[18134,0," "],[18135,0,"i"],[18136,0,"s"],[18137,0," "],[18138,0,"p"],[18139,0,"u"],[18140,0,"r"],[18141,0,"e"],[18142,0,"l"],[18143,0,"y"],[18144,0," "],[18145,0,"f"],[18146,0,"o"],[18147,0,"r"],[18148,0," "],[18149,0,"p"],[18150,0,"r"],[18151,0,"e"],[18152,0,"s"],[18153,0,"e"],[18154,0,"n"],[18155,0,"t"],[18156,0,"a"],[18157,0,"t"],[18158,0,"i"],[18159,0,"o"],[18160,0,"n"],[18161,0,"a"],[18162,0,"l"],[18163,0," "],[18164,0,"p"],[18165,0,"u"],[18166,0,"r"],[18167,0,"p"],[18168,0,"o"],[18169,0,"s"],[18170,0,"e"],[18171,0,"s"],[18172,0,","],[18173,0," "],[18174,0,"o"],[18175,0,"u"],[18176,0,"r"],[18177,0," "],[18177,1],[18176,1],[18175,1],[18174,1],[18173,1],[18172,1],[18172,0," "],[18173,0,"a"],[18174,0,"n"],[18175,0,"d"],[18176,0," "],[18177,0,"o"],[18178,0,"u"],[18179,0,"r"],[18180,0," "],[18181,0,"a"],[18182,0,"l"],[18183,0,"g"],[18184,0,"o"],[18185,0,"r"],[18186,0,"i"],[18187,0,"t"],[18188,0,"h"],[18189,0,"m"],[18190,0," "],[18191,0,"f"],[18192,0,"u"],[18193,0,"n"],[18194,0,"c"],[18195,0,"t"],[18196,0,"i"],[18197,0,"o"],[18198,0,"n"],[18199,0,"s"],[18200,0," "],[18201,0,"f"],[18202,0,"o"],[18203,0,"r"],[18203,1],[18202,1],[18201,1],[18200,1],[18199,1],[18198,1],[18197,1],[18196,1],[18195,1],[18194,1],[18193,1],[18192,1],[18191,1],[18191,0,"w"],[18192,0,"o"],[18193,0,"r"],[18194,0,"k"],[18195,0,"s"],[18196,0," "],[18197,0,"w"],[18198,0,"i"],[18199,0,"t"],[18200,0,"h"],[18201,0," "],[18202,0,"a"],[18203,0,"n"],[18204,0," "],[18204,1],[18203,1],[18202,1],[18201,1],[18200,1],[18199,1],[18198,1],[18197,1],[18196,1],[18195,1],[18194,1],[18193,1],[18192,1],[18191,1],[18190,1],[18189,1],[18188,1],[18187,1],[18186,1],[18185,1],[18184,1],[18183,1],[18182,1],[18181,1],[18180,1],[18179,1],[18178,1],[18177,1],[18176,1],[18175,1],[18174,1],[18173,1],[18172,1],[18171,1],[18170,1],[18169,1],[18168,1],[18167,1],[18166,1],[18165,1],[18164,1],[18163,1],[18162,1],[18161,1],[18160,1],[18159,1],[18158,1],[18157,1],[18156,1],[18155,1],[18154,1],[18153,1],[18152,1],[18151,1],[18150,1],[18149,1],[18148,1],[18147,1],[18146,1],[18145,1],[18144,1],[18143,1],[18142,1],[18141,1],[18140,1],[18139,1],[18138,1],[18137,1],[18136,1],[18135,1],[18134,1],[18133,1],[18132,1],[18131,1],[18130,1],[18129,1],[18128,1],[18127,1],[18126,1],[18125,1],[18124,1],[18123,1],[18122,1],[18121,1],[18120,1],[18119,1],[18118,1],[18117,1],[18116,1],[18115,1],[18114,1],[18113,1],[18112,1],[18111,1],[18110,1],[18109,1],[18108,1],[18107,1],[18095,1],[18069,1],[18135,0," "],[18136,0,"a"],[18137,0,"n"],[18138,0,"d"],[18139,0," "],[18140,0,"c"],[18141,0,"a"],[18142,0,"n"],[18202,0," "],[18203,0,"i"],[18204,0,"n"],[18205,0," "],[18206,0,"o"],[18207,0,"r"],[18208,0,"d"],[18209,0,"e"],[18210,0,"r"],[18211,0," "],[18212,0,"t"],[18213,0,"o"],[18214,0," "],[18215,0,"s"],[18216,0,"h"],[18217,0,"a"],[18218,0,"r"],[18219,0,"e"],[18220,0," "],[18221,0,"a"],[18222,0,"n"],[18223,0,"y"],[18224,0," "],[18024,1],[18023,1],[18022,1],[18021,1],[18020,1],[18019,1],[18018,1],[18017,1],[18016,1],[18015,1],[18014,1],[18013,1],[18012,1],[18011,1],[18010,1],[18009,1],[18008,1],[18007,1],[18006,1],[18005,1],[18004,1],[18003,1],[18002,1],[18001,1],[18000,1],[17999,1],[17998,1],[17997,1],[17996,1],[17995,1],[17994,1],[17993,1],[18001,1],[17993,0,"t"],[17994,0,"w"],[17995,0,"o"],[17996,0," "],[18005,0,","],[18017,1],[18016,1],[18015,1],[18193,1],[18192,1],[18191,1],[18190,1],[18189,1],[18188,1],[18187,1],[18186,1],[18185,1],[18184,1],[18183,1],[18182,1],[18181,1],[18180,1],[18179,1],[18178,1],[18177,1],[18176,1],[18175,1],[18174,1],[18173,1],[18172,1],[18171,1],[18170,1],[18169,1],[18168,1],[18167,1],[18166,1],[18165,1],[18164,1],[18163,1],[18162,1],[18161,1],[18160,1],[18159,1],[18158,1],[18157,1],[18156,1],[18155,1],[18154,1],[18153,1],[18152,1],[18151,1],[18150,1],[18149,1],[18148,1],[18147,1],[18146,1],[18145,1],[18144,1],[18143,1],[18142,1],[18141,1],[18140,1],[18139,1],[18138,1],[18137,1],[18136,1],[18135,1],[18134,1],[18133,1],[18132,1],[18131,1],[18130,1],[18129,1],[18128,1],[18127,1],[18126,1],[18125,1],[18124,1],[18123,1],[18122,1],[18121,1],[18120,1],[18119,1],[18118,1],[18117,1],[18116,1],[18115,1],[18114,1],[18113,1],[18112,1],[18111,1],[18110,1],[18109,1],[18108,1],[18107,1],[18106,1],[18105,1],[18104,1],[18103,1],[18102,1],[18101,1],[18100,1],[18099,1],[18098,1],[18097,1],[18096,1],[18095,1],[18094,1],[18094,0,"t"],[18095,0,"e"],[18096,0," "],[18097,0,"l"],[18098,0,"o"],[18099,0,"c"],[18100,0,"a"],[18101,0,"l"],[18102,0,"l"],[18103,0,"y"],[18104,0," "],[18105,0,"a"],[18106,0,"n"],[18107,0,"d"],[18108,0," "],[18109,0,"n"],[18110,0,"e"],[18111,0,"t"],[18112,0,"o"],[18112,1],[18112,0,"w"],[18113,0,"o"],[18114,0,"r"],[18115,0,"k"],[18116,0," "],[18116,1],[18115,1],[18114,1],[18113,1],[18112,1],[18111,1],[18110,1],[18109,1],[18108,1],[18107,1],[18106,1],[18105,1],[18104,1],[18103,1],[18102,1],[18101,1],[18100,1],[18099,1],[18098,1],[18097,1],[18097,0,"o"],[18098,0,"n"],[18099,0," "],[18100,0,"t"],[18101,0,"h"],[18102,0,"e"],[18103,0,"i"],[18104,0,"r"],[18105,0," "],[18106,0,"l"],[18107,0,"o"],[18108,0,"c"],[18109,0,"a"],[18110,0,"l"],[18111,0," "],[18111,1],[18110,1],[18109,1],[18108,1],[18107,1],[18106,1],[18105,1],[18104,1],[18103,1],[18102,1],[18101,1],[18100,1],[18099,1],[18098,1],[18097,1],[18096,1],[18095,1],[18094,1],[18093,1],[18092,1],[18091,1],[18090,1],[18089,1],[18088,1],[18087,1],[18086,1],[18085,1],[18084,1],[18083,1],[18082,1],[18081,1],[18080,1],[18079,1],[18078,1],[18077,1],[18076,1],[18075,1],[18075,0,"S"],[18076,0,"i"],[18077,0,"n"],[18078,0,"c"],[18079,0,"e"],[18080,0," "],[18081,0,"r"],[18082,0,"e"],[18083,0,"p"],[18084,0,"l"],[18085,0,"i"],[18086,0,"c"],[18087,0,"a"],[18088,0,"s"],[18089,0," "],[18090,0,"m"],[18091,0,"u"],[18092,0,"t"],[18093,0,"a"],[18094,0,"t"],[18095,0,"e"],[18096,0," "],[18097,0,"t"],[18098,0,"e"],[18098,1],[18098,0,"h"],[18099,0,"e"],[18100,0,"i"],[18101,0,"r"],[18102,0," "],[18103,0,"l"],[18104,0,"o"],[18105,0,"c"],[18106,0,"a"],[18107,0,"l"],[18108,0," "],[18109,0,"s"],[18110,0,"t"],[18111,0,"a"],[18112,0,"t"],[18113,0,"e"],[18113,1],[18112,1],[18111,1],[18110,1],[18109,1],[18108,1],[18107,1],[18106,1],[18105,1],[18104,1],[18103,1],[18102,1],[18101,1],[18100,1],[18099,1],[18098,1],[18097,1],[18097,0,"o"],[18098,0,"n"],[18099,0,"l"],[18100,0,"y"],[18101,0," "],[18102,0,"t"],[18103,0,"h"],[18104,0,"e"],[18105,0,"i"],[18106,0,"r"],[18107,0," "],[18108,0,"l"],[18109,0,"o"],[18110,0,"c"],[18111,0,"a"],[18112,0,"l"],[18113,0," "],[18114,0,"s"],[18115,0,"t"],[18116,0,"a"],[18117,0,"t"],[18118,0,"e"],[18119,0,","],[18120,0," "],[18121,0,"e"],[18122,0,"n"],[18122,1],[18121,1],[18121,0,"n"],[18122,0,"e"],[18123,0,"t"],[18124,0,"w"],[18125,0,"o"],[18126,0,"r"],[18127,0,"k"],[18128,0," "],[18128,1],[18127,1],[18126,1],[18125,1],[18124,1],[18123,1],[18122,1],[18121,1],[18121,0,"p"],[18122,0,"e"],[18123,0,"r"],[18124,0,"i"],[18125,0,"o"],[18126,0,"d"],[18127,0,"s"],[18128,0," "],[18129,0,"o"],[18130,0,"d"],[18131,0," "],[18131,1],[18130,1],[18130,0,"f"],[18131,0," "],[18132,0,"n"],[18133,0,"e"],[18134,0,"t"],[18135,0,"w"],[18136,0,"o"],[18137,0,"r"],[18138,0,"k"],[18139,0," "],[18140,0,"c"],[18141,0,"o"],[18142,0,"m"],[18143,0,"m"],[18144,0,"u"],[18145,0,"n"],[18146,0,"i"],[18147,0,"c"],[18148,0,"a"],[18149,0,"t"],[18150,0,"i"],[18151,0,"o"],[18152,0,"n"],[18153,0," "],[18154,0,"a"],[18155,0,"r"],[18155,1],[18154,1],[18154,0,"b"],[18154,1],[18153,1],[18153,0,","],[18154,0," "],[18155,0,"w"],[18156,0,"h"],[18157,0,"e"],[18158,0,"n"],[18159,0," "],[18160,0,"c"],[18161,0,"h"],[18162,0,"a"],[18163,0,"n"],[18164,0,"g"],[18165,0,"e"],[18166,0,"s"],[18167,0," "],[18168,0,"p"],[18169,0,"r"],[18170,0,"o"],[18171,0,"p"],[18172,0,"e"],[18172,1],[18172,0,"a"],[18173,0,"g"],[18174,0,"e"],[18174,1],[18173,1],[18173,0,"g"],[18174,0,"a"],[18175,0,"t"],[18176,0,"e"],[18177,0," "],[18178,0,"b"],[18179,0,"e"],[18180,0,"t"],[18181,0,"w"],[18182,0,"e"],[18183,0,"e"],[18184,0,"n"],[18185,0," "],[18186,0,"r"],[18187,0,"e"],[18188,0,"p"],[18189,0,"l"],[18190,0,"i"],[18191,0,"c"],[18192,0,"a"],[18193,0,"s"],[18194,0,","],[18195,0," "],[18196,0,"a"],[18197,0,"r"],[18198,0,"e"],[18199,0," "],[18200,0,"s"],[18201,0,"h"],[18202,0,"o"],[18203,0,"w"],[18204,0,"n"],[18205,0," "],[18206,0,"s"],[18207,0,"e"],[18208,0,"p"],[18209,0,"a"],[18210,0,"r"],[18211,0,"a"],[18212,0,"t"],[18213,0,"e"],[18214,0,"l"],[18215,0,"y"],[18216,0," "],[18217,0,"o"],[18218,0,"n"],[18219,0," "],[18220,0,"t"],[18221,0,"h"],[18222,0,"e"],[18223,0," "],[18223,1],[18222,1],[18221,1],[18220,1],[18219,1],[18218,1],[18217,1],[18217,0,"i"],[18218,0,"n"],[18219,0," "],[18220,0,"t"],[18221,0,"h"],[18222,0,"e"],[18223,0," "],[18224,0,"e"],[18225,0,"x"],[18226,0,"a"],[18227,0,"m"],[18228,0,"p"],[18229,0,"l"],[18230,0,"e"],[18231,0,"s"],[18232,0,"."],[18073,1],[18073,0,","],[18074,0," "],[18075,0,"w"],[18076,0,"i"],[18077,0,"t"],[18078,0,"h"],[18079,0," "],[18080,0,"s"],[18081,0,"t"],[18082,0,"a"],[18083,0,"t"],[18084,0,"e"],[18085,0,"s"],[18086,0," "],[18087,0,"d"],[18088,0,"r"],[18089,0,"a"],[18090,0,"w"],[18091,0,"n"],[18092,0," "],[18092,1],[18091,1],[18090,1],[18089,1],[18088,1],[18087,1],[18086,1],[18085,1],[18084,1],[18083,1],[18082,1],[18081,1],[18080,1],[18080,0,"l"],[18081,0,"o"],[18082,0,"c"],[18083,0,"a"],[18084,0,"l"],[18085,0," "],[18086,0,"s"],[18087,0,"t"],[18088,0,"a"],[18089,0,"t"],[18090,0,"e"],[18091,0," "],[18092,0,"d"],[18092,1],[18091,1],[18091,0," "],[18092,0,"d"],[18093,0,"r"],[18094,0,"a"],[18095,0,"w"],[18096,0,"n"],[18097,0," "],[18098,0,"i"],[18099,0,"n"],[18100,0," "],[18101,0,"b"],[18102,0,"o"],[18103,0,"x"],[18104,0,"e"],[18105,0,"d"],[18105,1],[18105,0,"s"],[18106,0," "],[18107,0,"a"],[18108,0,"n"],[18109,0,"d"],[18110,0," "],[18111,0,"m"],[18112,0,"o"],[18113,0,"d"],[18114,0,"i"],[18115,0,"f"],[18116,0,"i"],[18117,0,"c"],[18118,0,"a"],[18119,0,"t"],[18120,0,"i"],[18121,0,"o"],[18122,0,"n"],[18123,0,"s"],[18124,0," "],[18125,0,"s"],[18126,0,"h"],[18127,0,"o"],[18128,0,"w"],[18129,0,"n"],[18130,0," "],[18131,0,"w"],[18132,0,"i"],[18133,0,"t"],[18134,0,"h"],[18135,0," "],[18136,0,"l"],[18137,0,"a"],[18138,0,"b"],[18139,0,"e"],[18140,0,"l"],[18141,0,"l"],[18142,0,"e"],[18143,0,"d"],[18144,0," "],[18145,0,"s"],[18146,0,"l"],[18147,0,"o"],[18147,1],[18146,1],[18146,0,"o"],[18147,0,"l"],[18148,0,"i"],[18149,0,"d"],[18150,0," "],[18151,0,"a"],[18152,0,"r"],[18153,0,"r"],[18154,0,"o"],[18155,0,"w"],[18156,0,"s"],[18157,0," "],[18158,0,"a"],[18159,0,"n"],[18160,0,"d"],[18161,0," "],[18162,0,"t"],[18163,0,"i"],[18164,0,"m"],[18165,0,"e"],[18166,0," "],[18167,0,"r"],[18168,0,"u"],[18169,0,"n"],[18170,0,"n"],[18171,0,"i"],[18172,0,"n"],[18173,0,"g"],[18174,0," "],[18175,0,"d"],[18176,0,"o"],[18177,0,"w"],[18178,0,"n"],[18179,0," "],[18180,0,"t"],[18181,0,"h"],[18182,0,"e"],[18183,0," "],[18184,0,"a"],[18185,0,"p"],[18186,0,"g"],[18187,0,"e"],[18188,0,"."],[18188,1],[18187,1],[18186,1],[18185,1],[18184,1],[18184,0,"p"],[18185,0,"a"],[18186,0,"g"],[18187,0,"e"],[18188,0,"."],[18222,1],[18221,1],[18220,1],[18219,1],[18218,1],[18217,1],[18216,1],[18215,1],[18214,1],[18213,1],[18212,1],[18211,1],[18211,0," "],[18205,0,"o"],[18206,0,"n"],[18207,0,"l"],[18208,0,"y"],[18209,0," "],[18228,1],[18228,0,","],[18229,0," "],[18125,0,"t"],[18126,0,"o"],[18127,0," "],[18128,0,"l"],[18129,0,"o"],[18130,0,"c"],[18131,0,"a"],[18132,0,"l"],[18133,0," "],[18134,0,"s"],[18135,0,"t"],[18136,0,"a"],[18137,0,"t"],[18138,0," "],[18138,1],[18138,0,"e"],[18139,0," "],[18175,1],[18174,1],[18173,1],[18172,1],[18172,0,";"],[18185,1],[18184,1],[18183,1],[18182,1],[18182,0,"s"],[18238,0," "],[18239,0,"c"],[18240,0,"o"],[18241,0,"m"],[18242,0,"m"],[18243,0,"u"],[18244,0,"n"],[18245,0,"i"],[18246,0,"c"],[18247,0,"a"],[18248,0,"t"],[18249,0,"i"],[18250,0,"o"],[18251,0,"n"],[18252,0," "],[18253,0,"o"],[18254,0,"f"],[18255,0," "],[18256,0,"t"],[18257,0,"h"],[18258,0,"e"],[18259,0,"s"],[18260,0,"e"],[18261,0," "],[18262,0,"c"],[18263,0,"h"],[18264,0,"a"],[18265,0,"n"],[18266,0,"g"],[18267,0,"e"],[18268,0,"s"],[18269,0," "],[18270,0,"i"],[18271,0,"s"],[18272,0," "],[18078,1],[18077,1],[18076,1],[18075,1],[18074,1],[18073,1],[18073,0,"."],[18074,0," "],[18077,1],[18076,1],[18075,1],[18075,0,"L"],[18076,0,"o"],[18087,0,"f"],[18088,0,"o"],[18089,0,"r"],[18090,0," "],[18091,0,"a"],[18092,0," "],[18093,0,"r"],[18094,0,"e"],[18095,0,"p"],[18096,0,"l"],[18097,0,"i"],[18098,0,"c"],[18099,0,"a"],[18100,0," "],[18101,0,"i"],[18102,0,"s"],[18103,0," "],[18285,0,"e"],[18286,0,"x"],[18287,0,"m"],[18288,0,"p"],[18289,0,"l"],[18289,1],[18288,1],[18287,1],[18287,0,"p"],[18288,0,"i"],[18289,0,"c"],[18290,0,"i"],[18291,0,"t"],[18291,1],[18290,1],[18289,1],[18288,1],[18287,1],[18287,0,"p"],[18288,0,"l"],[18289,0,"i"],[18290,0,"c"],[18291,0,"i"],[18292,0,"t"],[18293,0," "],[18294,0,"i"],[18295,0,"n"],[18296,0," "],[18297,0,"o"],[18298,0,"u"],[18299,0,"r"],[18300,0," "],[18301,0,"m"],[18302,0,"o"],[18303,0,"d"],[18304,0,"e"],[18305,0,"l"],[18306,0," "],[18307,0,"a"],[18308,0,"n"],[18309,0,"d"],[18310,0," "],[18311,0,"i"],[18312,0,"s"],[18313,0," "],[18314,0,"s"],[18315,0,"h"],[18316,0,"o"],[18317,0,"w"],[18318,0,"n"],[18319,0," "],[18320,0,"w"],[18321,0,"i"],[18322,0,"t"],[18323,0,"h"],[18324,0," "],[18324,1],[18323,1],[18322,1],[18321,1],[18320,1],[18319,1],[18318,1],[18317,1],[18316,1],[18315,1],[18314,1],[18314,0,"d"],[18315,0,"e"],[18316,0,"p"],[18317,0,"i"],[18318,0,"c"],[18319,0,"t"],[18320,0,"e"],[18321,0,"d"],[18322,0," "],[18323,0,"w"],[18324,0,"i"],[18325,0,"t"],[18326,0,"h"],[18327,0," "],[18328,0,"d"],[18329,0,"a"],[18330,0,"s"],[18331,0,"h"],[18332,0,"e"],[18333,0,"d"],[18334,0," "],[18335,0,"a"],[18336,0,"r"],[18337,0,"r"],[18338,0,"o"],[18339,0,"w"],[18340,0,"s"],[18341,0,"."],[18342,0,"\n"],[18343,0,"\n"],[18457,1],[18456,1],[18455,1],[18454,1],[18453,1],[18452,1],[18451,1],[18450,1],[18449,1],[18448,1],[18447,1],[18446,1],[18445,1],[18444,1],[18443,1],[18442,1],[18441,1],[18440,1],[18439,1],[18438,1],[18437,1],[18436,1],[18435,1],[18434,1],[18433,1],[18432,1],[18431,1],[18430,1],[18429,1],[18428,1],[18427,1],[18426,1],[18425,1],[18424,1],[18423,1],[18422,1],[18421,1],[18420,1],[18419,1],[18418,1],[18417,1],[18416,1],[18415,1],[18414,1],[18413,1],[18412,1],[18411,1],[18410,1],[18409,1],[18408,1],[18407,1],[18406,1],[18405,1],[18404,1],[18403,1],[18402,1],[18401,1],[18400,1],[18399,1],[18398,1],[18397,1],[18396,1],[18395,1],[18394,1],[18393,1],[18392,1],[18391,1],[18390,1],[18389,1],[18388,1],[18387,1],[18386,1],[18385,1],[18384,1],[18383,1],[18382,1],[18381,1],[18380,1],[18379,1],[18378,1],[18377,1],[18376,1],[18375,1],[18374,1],[18373,1],[18372,1],[18371,1],[18370,1],[18369,1],[18368,1],[18367,1],[18366,1],[18365,1],[18364,1],[18363,1],[18362,1],[18361,1],[18360,1],[18359,1],[18358,1],[18357,1],[18356,1],[18355,1],[18354,1],[18353,1],[18352,1],[18351,1],[18350,1],[18349,1],[18348,1],[18347,1],[18346,1],[18345,1],[18344,1],[18343,1],[18342,1],[18272,1],[18271,1],[18279,0," "],[18280,0,"t"],[18281,0,"o"],[18282,0," "],[18283,0,"l"],[18284,0,"o"],[18285,0,"c"],[18286,0,"a"],[18287,0,"l"],[18288,0," "],[18289,0,"s"],[18290,0,"t"],[18291,0,"a"],[18292,0,"t"],[18293,0,"e"],[18294,0," "],[18295,0,"b"],[18296,0,"e"],[18297,0,"t"],[18298,0,"w"],[18299,0,"e"],[18299,1],[18298,1],[18297,1],[18296,1],[18295,1],[18294,1],[18293,1],[18293,0,"e"],[18264,0," "],[18265,0,"b"],[18266,0,"e"],[18267,0,"t"],[18268,0,"w"],[18269,0,"e"],[18270,0,"e"],[18271,0,"n"],[18272,0," "],[18273,0,"r"],[18274,0,"e"],[18275,0,"p"],[18276,0,"l"],[18277,0,"i"],[18278,0,"c"],[18279,0,"a"],[18280,0,"s"],[18643,0," "],[18644,0,"v"],[18645,0,"i"],[18646,0,"a"],[18647,0," "],[18648,0,"n"],[18649,0,"e"],[18650,0,"t"],[18651,0,"w"],[18652,0,"o"],[18653,0,"r"],[18654,0,"k"],[18655,0," "],[18656,0,"c"],[18657,0,"o"],[18658,0,"m"],[18659,0,"m"],[18660,0,"u"],[18661,0,"n"],[18662,0,"i"],[18663,0,"c"],[18664,0,"a"],[18665,0,"t"],[18666,0,"i"],[18667,0,"o"],[18668,0,"n"],[19213,0," "],[19214,0,"t"],[19215,0,"h"],[19216,0,"e"],[19217,0," "],[19218,0,"d"],[19219,0,"e"],[19220,0,"v"],[19221,0,"e"],[19222,0,"l"],[19223,0,"o"],[19224,0,"p"],[19225,0,"e"],[19226,0,"r"],[19227,0," "],[19228,0,"i"],[19229,0,"n"],[19230,0," "],[19231,0,"a"],[19232,0,"u"],[19233,0,"t"],[19234,0,"o"],[19235,0,"m"],[19236,0,"a"],[19237,0,"t"],[19238,0,"i"],[19239,0,"c"],[19240,0,"a"],[19241,0,"l"],[19242,0,"l"],[19243,0,"y"],[19244,0," "],[19245,0,"r"],[19246,0,"e"],[19247,0,"s"],[19248,0,"o"],[19249,0,"l"],[19250,0,"v"],[19251,0,"i"],[19252,0,"n"],[19253,0,"g"],[19254,0," "],[19255,0,"s"],[19256,0,"u"],[19257,0,"c"],[19258,0,"h"],[19259,0," "],[19260,0,"c"],[19261,0,"o"],[19262,0,"n"],[19263,0,"f"],[19264,0,"i"],[19265,0,"c"],[19265,1],[19264,1],[19264,0,"l"],[19265,0,"i"],[19266,0,"c"],[19267,0,"s"],[19268,0,"t"],[19268,1],[19267,1],[19267,0,"t"],[19268,0,"s"],[19269,0," "],[19270,0,"o"],[19271,0,"r"],[19272,0," "],[19273,0,"p"],[19274,0,"t"],[19275,0,"e"],[19276,0,"n"],[19276,1],[19275,1],[19274,1],[19274,0,"o"],[19275,0,"t"],[19276,0,"e"],[19277,0,"n"],[19278,0,"t"],[19279,0,"i"],[19280,0,"a"],[19281,0,"l"],[19282,0,"l"],[19283,0,"y"],[19284,0," "],[19285,0,"d"],[19286,0,"e"],[19287,0,"f"],[19288,0,"e"],[19289,0,"r"],[19290,0,"i"],[19291,0,"n"],[19292,0,"g"],[19293,0," "],[19294,0,"t"],[19295,0,"o"],[19306,1],[19305,1],[19304,1],[19303,1],[19303,0,"f"],[19304,0,"o"],[19305,0,"r"],[19313,0," "],[19314,0,"r"],[19315,0,"e"],[19316,0,"o"],[19317,0,"l"],[19317,1],[19316,1],[19316,0,"s"],[19317,0,"o"],[19318,0,"l"],[19319,0,"i"],[19319,1],[19319,0,"u"],[19320,0,"t"],[19321,0,"i"],[19322,0,"o"],[19323,0,"n"],[19324,0,"."],[19325,0,"\n"],[19351,1],[19350,1],[19349,1],[19348,1],[19347,1],[19346,1],[19345,1],[19344,1],[19343,1],[19342,1],[19341,1],[19340,1],[19339,1],[19338,1],[19337,1],[19336,1],[19335,1],[19334,1],[19333,1],[19332,1],[19331,1],[19330,1],[19329,1],[19328,1],[19327,1],[19326,1],[19325,1],[19269,0," "],[19270,0,"i"],[19271,0,"n"],[19272,0," "],[19273,0,"a"],[19274,0,"n"],[19275,0," "],[19276,0,"a"],[19277,0,"p"],[19278,0,"p"],[19279,0,"l"],[19280,0,"i"],[19281,0,"c"],[19282,0,"a"],[19283,0,"t"],[19284,0,"i"],[19285,0,"o"],[19286,0,"n"],[19287,0,"-"],[19288,0,"s"],[19289,0,"p"],[19290,0,"e"],[19291,0,"c"],[19292,0,"i"],[19293,0,"f"],[19294,0,"i"],[19295,0,"c"],[19296,0," "],[19297,0,"w"],[19298,0,"a"],[19299,0,"y"],[19300,0,","],[19315,1],[19314,1],[19313,1],[19312,1],[19311,1],[19310,1],[19309,1],[19308,1],[19307,1],[19306,1],[19305,1],[19304,1],[19309,0,"r"],[18504,1],[18503,1],[18502,1],[18501,1],[18509,0," "],[18510,0,"$"],[18511,0,"p"],[18512,0,"$"],[18567,1],[18566,1],[18565,1],[18564,1],[18563,1],[18562,1],[18561,1],[18561,0,"r"],[18562,0,"e"],[18563,0,"p"],[18564,0,"l"],[18565,0,"i"],[18566,0,"c"],[18567,0,"a"],[18568,0," "],[18569,0,"$"],[18570,0,"q"],[18571,0,"$"],[18250,0," "],[18251,0,"w"],[18252,0,"e"],[18253,0," "],[18254,0,"m"],[18255,0,"a"],[18256,0,"k"],[18257,0,"e"],[18273,0,"o"],[18274,0,"f"],[18275,0," "],[18276,0,"s"],[18277,0,"t"],[18278,0,"a"],[18279,0,"t"],[18280,0,"e"],[18281,0," "],[18282,0,"c"],[18283,0,"a"],[18284,0,"h"],[18284,1],[18283,1],[18283,0,"h"],[18284,0,"a"],[18285,0,"n"],[18286,0,"g"],[18287,0,"e"],[18288,0,"s"],[18289,0," "],[18338,1],[18337,1],[18336,1],[18335,1],[18334,1],[18333,1],[18332,1],[18331,1],[18330,1],[18329,1],[18328,1],[18327,1],[18326,1],[18325,1],[18324,1],[18323,1],[18322,1],[18321,1],[18320,1],[18319,1],[18318,1],[18317,1],[18316,1],[18315,1],[18314,1],[18313,1],[18312,1],[18311,1],[18310,1],[18309,1],[18308,1],[18307,1],[18306,1],[18328,0,"."],[18332,1],[18331,1],[18330,1],[18330,0,"T"],[18331,0,"h"],[18332,0,"i"],[18333,0,"s"],[18333,1],[18332,1],[18331,1],[18330,1],[18330,0,"N"],[18331,0,"e"],[18332,0,"t"],[18333,0,"o"],[18333,1],[18333,0,"w"],[18334,0,"o"],[18335,0,"r"],[18336,0,"k"],[18337,0," "],[18338,0,"c"],[18339,0,"o"],[18340,0,"m"],[18341,0,"m"],[18342,0,"u"],[18343,0,"n"],[18344,0,"i"],[18345,0,"c"],[18346,0,"a"],[18347,0,"t"],[18348,0,"i"],[18349,0,"o"],[18350,0,"n"],[17792,1],[17791,1],[17799,0," "],[17800,0,"\\"],[17801,0,"{"],[17802,0,"`"],[17803,0,"`"],[17804,0,"k"],[17805,0,"e"],[17806,0,"y"],[17807,0,"'"],[17808,0,"'"],[17809,0,":"],[17810,0," "],[17811,0,"`"],[17812,0,"`"],[17813,0,"A"],[17814,0,"'"],[17815,0,"'"],[17816,0,"\\"],[17817,0,"}"],[17817,1],[17816,1],[17815,1],[17814,1],[17813,1],[17812,1],[17811,1],[17810,1],[17809,1],[17808,1],[17807,1],[17806,1],[17805,1],[17804,1],[17803,1],[17802,1],[17801,1],[17800,1],[17800,0,"a"],[17801,0,"t"],[17802,0," "],[17802,1],[17801,1],[17800,1],[17799,1],[17798,1],[17797,1],[17796,1],[17795,1],[17794,1],[17793,1],[17792,1],[17791,1],[17791,0,"t"],[17792,0,"h"],[17793,0,"e"],[17794,0," "],[17795,0,"r"],[17796,0,"e"],[17797,0,"g"],[17798,0,"i"],[17799,0,"s"],[17800,0,"t"],[17801,0,"e"],[17802,0,"r"],[17803,0," "],[17804,0,"a"],[17805,0,"t"],[17806,0," "],[17807,0,"d"],[17808,0,"o"],[17809,0,"c"],[17810,0,"["],[17811,0,"`"],[17812,0,"`"],[17813,0,"k"],[17814,0,"e"],[17815,0,"y"],[17816,0,"'"],[17817,0,"'"],[17818,0,"]"],[17819,0," "],[17820,0,"b"],[17821,0,"y"],[17822,0," "],[17823,0,"r"],[17824,0,"e"],[17825,0,"g"],[17826,0,"i"],[17827,0,"s"],[17828,0,"t"],[17829,0,"e"],[17830,0,"r"],[17830,1],[17829,1],[17828,1],[17827,1],[17826,1],[17825,1],[17825,0,"p"],[17826,0,"l"],[17827,0,"i"],[17828,0,"c"],[17829,0,"a"],[17830,0,"s"],[17831,0," "],[17832,0,"$"],[17833,0,"p"],[17834,0,"$"],[17835,0," "],[17836,0,"a"],[17837,0,"n"],[17838,0,"d"],[17839,0," "],[17840,0,"$"],[17841,0,"q"],[17842,0,"$"],[15776,0,"i"],[15776,1],[15776,0," "],[15777,0,"F"],[15778,0,"o"],[15779,0,"r"],[15780,0," "],[15781,0,"e"],[15782,0,"x"],[15783,0,"a"],[15784,0,"m"],[15785,0,"p"],[15786,0,"l"],[15787,0,"e"],[15788,0,","],[15789,0," "],[15790,0,"c"],[15791,0,"o"],[15792,0,"n"],[15793,0,"c"],[15794,0,"u"],[15795,0,"r"],[15796,0,"r"],[15797,0,"e"],[15798,0,"n"],[15799,0,"t"],[15800,0," "],[15801,0,"e"],[15802,0,"d"],[15803,0,"i"],[15804,0,"t"],[15805,0," "],[15805,1],[15805,0,"s"],[15806,0," "],[15807,0,"t"],[15808,0,"o"],[15809,0," "],[15810,0,"a"],[15811,0," "],[15812,0,"p"],[15813,0,"a"],[15814,0,"s"],[15815,0,"s"],[15816,0,"w"],[15817,0,"o"],[15818,0,"r"],[15819,0,"d"],[15820,0," "],[15821,0,"m"],[15822,0,"a"],[15823,0,"n"],[15824,0,"a"],[15825,0,"g"],[15826,0,"e"],[15827,0," "],[15827,1],[15827,0,"r"],[15828,0," "],[15829,0,"o"],[15830,0,"n"],[15831,0," "],[15832,0,"t"],[15833,0,"w"],[15834,0,"o"],[15835,0," "],[15836,0,"d"],[15837,0,"e"],[15838,0,"v"],[15839,0,"i"],[15840,0,"c"],[15841,0,"e"],[15842,0,"s"],[15842,1],[15841,1],[15840,1],[15839,1],[15838,1],[15837,1],[15836,1],[15835,1],[15834,1],[15833,1],[15832,1],[15831,1],[15830,1],[15829,1],[15828,1],[15827,1],[15826,1],[15825,1],[15824,1],[15823,1],[15822,1],[15821,1],[15820,1],[15819,1],[15818,1],[15817,1],[15816,1],[15815,1],[15814,1],[15813,1],[15812,1],[15811,1],[15810,1],[15809,1],[15808,1],[15807,1],[15806,1],[15805,1],[15804,1],[15803,1],[15802,1],[15801,1],[15800,1],[15799,1],[15798,1],[15797,1],[15796,1],[15795,1],[15794,1],[15793,1],[15792,1],[15791,1],[15790,1],[15789,1],[15788,1],[15787,1],[15786,1],[15785,1],[15784,1],[15783,1],[15782,1],[15781,1],[15780,1],[15779,1],[15778,1],[15777,1],[15776,1],[26009,1],[26008,1],[26007,1],[26006,1],[26005,1],[26004,1],[26003,1],[26002,1],[26001,1],[26184,0," "],[26185,0,"W"],[26186,0,"e"],[26187,0," "],[26188,0,"l"],[26189,0,"e"],[26190,0,"a"],[26191,0,"v"],[26192,0,"e"],[26193,0," "],[26194,0,"t"],[26195,0,"e"],[26195,1],[26195,0,"h"],[26196,0,"e"],[26197,0," "],[26198,0,"d"],[26199,0,"e"],[26200,0,"s"],[26201,0,"i"],[26202,0,"g"],[26203,0,"n"],[26204,0," "],[26205,0,"o"],[26206,0,"f"],[26207,0," "],[26208,0,"a"],[26208,1],[26208,0,"s"],[26209,0,"u"],[26210,0,"c"],[26211,0,"h"],[26212,0," "],[26213,0,"a"],[26214,0," "],[26215,0,"a"],[26216,0,"s"],[26217,0,"c"],[26218,0,"h"],[26219,0,"e"],[26220,0,"m"],[26220,1],[26219,1],[26218,1],[26217,1],[26216,1],[26215,1],[26215,0,"s"],[26216,0,"c"],[26217,0,"h"],[26218,0,"e"],[26219,0,"m"],[26220,0,"a"],[26221,0," "],[26222,0,"l"],[26223,0,"a"],[26224,0,"n"],[26225,0,"a"],[26226,0,"g"],[26227,0,"u"],[26227,1],[26226,1],[26225,1],[26225,0,"g"],[26226,0,"u"],[26227,0,"a"],[26228,0,"g"],[26229,0,"e"],[26230,0," "],[26231,0,"t"],[26231,1],[26231,0,"a"],[26232,0,"s"],[26233,0," "],[26234,0,"f"],[26235,0,"u"],[26236,0,"t"],[26237,0,"u"],[26238,0,"r"],[26239,0,"e"],[26240,0," "],[26241,0,"w"],[26242,0,"o"],[26243,0,"r"],[26244,0,"k"],[26245,0,"."],[26197,0," "],[26198,0,"a"],[26199,0,"n"],[26200,0,"a"],[26201,0,"l"],[26202,0,"y"],[26203,0,"s"],[26204,0,"i"],[26205,0,"s"],[26206,0," "],[26207,0,"o"],[26208,0,"f"],[26209,0," "],[26210,0,"w"],[26211,0,"h"],[26212,0,"e"],[26213,0,"t"],[26214,0,"h"],[26215,0,"e"],[26216,0,"r"],[26217,0," "],[26218,0,"e"],[26219,0,"x"],[26220,0,"["],[26221,0,"l"],[26221,1],[26220,1],[26220,0,"p"],[26221,0,"l"],[26222,0,"c"],[26223,0,"i"],[26223,1],[26222,1],[26222,0,"i"],[26223,0,"c"],[26224,0,"i"],[26225,0,"t"],[26226,0," "],[26226,1],[26225,1],[26224,1],[26223,1],[26222,1],[26221,1],[26220,1],[26219,1],[26218,1],[26217,1],[26216,1],[26215,1],[26214,1],[26213,1],[26212,1],[26211,1],[26210,1],[26209,1],[26208,1],[26207,1],[26207,0,"a"],[26208,0,"n"],[26209,0,"d"],[26210,0," "],[26210,1],[26206,0," "],[26207,0,"o"],[26208,0,"f"],[26209,0," "],[26210,0,"d"],[26211,0,"e"],[26212,0,"v"],[26213,0,"e"],[26214,0,"l"],[26215,0,"o"],[26216,0,"p"],[26217,0,"e"],[26218,0,"r"],[26219,0," "],[26220,0,"e"],[26221,0,"x"],[26222,0,"p"],[26223,0,"e"],[26224,0,"c"],[26225,0,"t"],[26226,0,"a"],[26227,0,"t"],[26228,0,"i"],[26229,0,"o"],[26230,0,"n"],[26235,0," "],[26236,0,"t"],[26237,0,"h"],[26238,0,"e"],[26238,1],[26237,1],[26236,1],[26235,1],[26249,1],[26248,1],[26247,1],[26246,1],[26245,1],[26244,1],[26243,1],[26242,1],[26241,1],[26240,1],[26239,1],[26238,1],[26237,1],[26236,1],[26236,0,"t"],[26237,0,"h"],[26238,0,"e"],[26239,0," "],[26240,0,"n"],[26241,0,"e"],[26242,0,"e"],[26243,0,"d"],[26244,0," "],[26245,0,"f"],[26246,0,"o"],[26247,0,"r"],[26248,0," "],[26249,0,"s"],[26250,0,"u"],[26251,0,"c"],[26252,0,"h"],[26231,0,"s"],[26245,0," "],[26246,0,"("],[26247,0,"o"],[26248,0,"r"],[26249,0," "],[26250,0,"o"],[26251,0,"t"],[26252,0,"h"],[26253,0,"e"],[26254,0,"r"],[26255,0,"w"],[26256,0,"i"],[26257,0,"s"],[26258,0,"e"],[26259,0,")"],[26268,1],[26267,1],[26266,1],[26265,1],[26264,1],[26556,1],[26555,1],[26554,1],[26553,1],[26552,1],[26551,1],[26550,1],[26549,1],[26548,1],[26547,1],[26546,1],[26545,1],[26544,1],[26543,1],[26542,1],[26541,1],[26540,1],[26539,1],[26538,1],[26537,1],[26536,1],[26535,1],[26534,1],[26533,1],[26532,1],[26531,1],[26530,1],[26529,1],[26528,1],[26527,1],[26526,1],[26525,1],[26524,1],[26523,1],[26522,1],[26521,1],[26520,1],[26519,1],[26518,1],[26517,1],[26516,1],[26515,1],[26514,1],[26513,1],[26512,1],[26511,1],[26510,1],[26509,1],[26508,1],[26507,1],[26506,1],[26505,1],[26504,1],[26503,1],[26502,1],[26501,1],[26500,1],[26499,1],[26498,1],[26497,1],[26496,1],[26495,1],[26494,1],[26493,1],[26492,1],[26491,1],[26490,1],[26489,1],[26488,1],[26487,1],[26486,1],[26485,1],[26484,1],[26483,1],[26482,1],[26481,1],[26480,1],[26479,1],[26478,1],[26477,1],[26476,1],[26475,1],[26474,1],[26473,1],[26472,1],[26471,1],[26470,1],[26469,1],[26468,1],[26467,1],[26466,1],[26465,1],[26464,1],[26463,1],[26462,1],[26461,1],[26460,1],[26459,1],[26458,1],[26457,1],[26456,1],[26455,1],[26454,1],[26453,1],[26452,1],[26451,1],[26450,1],[26449,1],[26448,1],[26447,1],[26446,1],[26445,1],[26444,1],[26443,1],[26442,1],[26441,1],[26440,1],[26439,1],[26438,1],[26437,1],[26436,1],[26435,1],[26434,1],[26433,1],[26432,1],[26431,1],[26430,1],[26429,1],[26428,1],[26427,1],[26426,1],[26425,1],[26424,1],[26423,1],[26422,1],[26421,1],[26420,1],[26419,1],[26418,1],[26417,1],[26416,1],[26415,1],[26414,1],[26413,1],[26412,1],[26411,1],[26410,1],[26409,1],[26408,1],[26407,1],[26406,1],[26405,1],[26404,1],[26403,1],[26402,1],[26401,1],[26400,1],[26399,1],[26398,1],[26397,1],[26396,1],[26395,1],[26394,1],[26393,1],[26392,1],[26391,1],[26390,1],[26389,1],[26388,1],[26387,1],[26386,1],[26385,1],[26384,1],[26383,1],[26382,1],[26381,1],[26380,1],[26379,1],[26378,1],[26377,1],[26376,1],[26375,1],[26374,1],[26373,1],[26372,1],[26371,1],[26370,1],[26369,1],[26368,1],[26367,1],[26366,1],[26365,1],[26364,1],[26363,1],[26362,1],[26361,1],[26360,1],[26359,1],[26358,1],[26357,1],[26356,1],[26355,1],[26354,1],[26353,1],[26352,1],[26351,1],[26350,1],[26349,1],[26348,1],[26347,1],[26346,1],[26345,1],[26344,1],[26343,1],[26342,1],[26341,1],[26340,1],[26339,1],[26338,1],[26337,1],[26336,1],[26335,1],[26334,1],[26333,1],[26332,1],[26331,1],[26330,1],[26329,1],[26328,1],[26327,1],[26326,1],[26325,1],[26324,1],[26323,1],[26322,1],[26321,1],[26320,1],[26319,1],[26318,1],[26317,1],[26316,1],[26315,1],[26314,1],[26313,1],[26312,1],[26311,1],[26310,1],[26309,1],[26308,1],[26307,1],[26306,1],[26305,1],[26304,1],[26303,1],[26302,1],[26301,1],[26300,1],[26299,1],[26298,1],[28220,1],[28219,1],[28218,1],[28217,1],[28216,1],[28216,0,"$"],[28217,0,"$"],[28217,0,"\\"],[28218,0,"m"],[28219,0,"a"],[28220,0,"t"],[28221,0,"h"],[28222,0,"t"],[28223,0,"t"],[28224,0,"{"],[28225,0,"k"],[28226,0,"e"],[28227,0,"y"],[28228,0,"}"],[28214,1],[28213,1],[28212,1],[28211,1],[28210,1],[28209,1],[28209,1],[28210,0,"["],[28223,0,"["],[28226,1],[28225,1],[28223,1],[28223,0,"]"],[27859,1],[27858,1],[27858,0,"t"],[27859,0,"t"],[27926,0,"\\"],[27927,0,"t"],[27928,0,"e"],[27929,0,"x"],[27930,0,"t"],[27931,0,"t"],[27932,0,"t"],[27933,0,"{"],[27936,0,"}"],[27990,0,"$"],[27997,1],[27996,1],[27995,1],[27994,1],[27993,1],[27992,1],[27992,0,"t"],[27993,0,"e"],[27994,0,"x"],[27995,0,"t"],[27996,0,"t"],[27997,0,"t"],[28007,0,"$"],[28009,0,"$"],[28011,1],[27990,1],[27989,1],[27989,0,"$"],[27998,0,"."],[28060,1],[28060,0,"$"],[28067,1],[28066,1],[28065,1],[28064,1],[28063,1],[28062,1],[28062,0,"t"],[28063,0,"e"],[28064,0,"x"],[28065,0,"t"],[28066,0,"t"],[28067,0,"t"],[28069,0,"."],[28077,1],[28095,1],[28094,1],[28094,0,"t"],[28095,0,"t"],[28159,1],[28159,0,"t"],[28160,1],[28160,0,"t"],[28228,1],[28227,1],[28227,0,"r"],[28228,0,"m"],[28246,1],[28245,1],[28245,0,"r"],[28246,0,"m"],[28289,1],[28295,1],[28294,1],[28294,0,"t"],[28295,0,"t"],[28297,0,"."],[28328,0,"."],[28359,0,"."],[28326,1],[28325,1],[28325,0,"t"],[28326,0,"t"],[28357,1],[28357,0,"t"],[28358,0,"t"],[28358,1],[28357,1],[28356,1],[28356,0,"t"],[28357,0,"t"],[28388,1],[28387,1],[28387,0,"t"],[28388,0,"t"],[28319,1],[28349,1],[28379,1],[28457,1],[28456,1],[28455,1],[28454,1],[28453,1],[28452,1],[28451,1],[28450,1],[28449,1],[28448,1],[28447,1],[28446,1],[28445,1],[28444,1],[28444,0,"&"],[28445,0," "],[28446,0,"$"],[28447,0,"x"],[28448,0,"_"],[28449,0,"1"],[28450,0,"$"],[28434,1],[28433,1],[28432,1],[28431,1],[28430,1],[28428,1],[28427,1],[28425,1],[28433,1],[28432,1],[28431,1],[28430,1],[28429,1],[28428,1],[28427,1],[28426,1],[28433,1],[28432,1],[28431,1],[28431,0,"x"],[28432,0," "],[28433,0,"\\"],[28434,0,"i"],[28435,0,"n"],[28436,0," "],[28437,0,"\\"],[28438,0,"m"],[28439,0,"a"],[28440,0,"t"],[28441,0,"h"],[28442,0,"r"],[28443,0,"m"],[28444,0,"{"],[28445,0,"S"],[28446,0,"t"],[28447,0,"r"],[28448,0,"i"],[28449,0,"n"],[28450,0,"g"],[28451,0,"}"],[28445,0,"V"],[28446,0,"a"],[28447,0,"r"],[28523,1],[28523,0,"}"],[28522,1],[28518,1],[28517,1],[28516,1],[28515,1],[28514,1],[28513,1],[28513,0,"m"],[28514,0,"a"],[28515,0,"t"],[28516,0,"h"],[28517,0,"r"],[28518,0,"m"],[28519,0,"{"],[28512,0,"$"],[28525,0,"$"],[28536,1],[28535,1],[28535,0,"r"],[28536,0,"m"],[28580,1],[28579,1],[28578,1],[28577,1],[28576,1],[28576,0,"t"],[28577,0,"e"],[28578,0,"x"],[28579,0,"t"],[28580,0,"t"],[28581,0,"t"],[28582,0,"{"],[28587,1],[28587,0,"}"],[28597,1],[28596,1],[28595,1],[28594,1],[28594,0,"t"],[28595,0,"e"],[28596,0,"x"],[28597,0,"t"],[28598,0,"t"],[28599,0,"t"],[28600,1],[28600,0,"{"],[28606,1],[28606,0,"}"],[28616,1],[28615,1],[28614,1],[28613,1],[28613,0,"t"],[28614,0,"e"],[28615,0,"x"],[28616,0,"t"],[28617,0,"t"],[28618,0,"t"],[28619,1],[28619,0,"{"],[28624,1],[28624,0,"}"],[27870,0,"\\"],[27871,0,"t"],[27872,0,"e"],[27873,0,"x"],[27874,0,"t"],[27875,0,"t"],[27876,0,"t"],[27877,0,"{"],[27879,0,"}"],[27934,0,"$"],[27948,0,"$"],[28016,0,"("],[28018,1],[28021,0,"\\"],[28022,0,"t"],[28023,0,"e"],[28024,0,"x"],[28025,0,"t"],[28026,0,"t"],[28027,0,"t"],[28028,0,"{"],[28030,0,"}"],[28240,1],[28240,0,"\\"],[28241,0,"t"],[28242,0,"e"],[28243,0,"x"],[28244,0,"t"],[28245,0,"t"],[28246,0,"t"],[28247,0,"{"],[28249,0,"}"],[28250,0,"$"],[28263,0,"$"],[28265,1],[28264,0,"\\"],[28265,0,"t"],[28266,0,"e"],[28267,0,"t"],[28267,1],[28267,0,"x"],[28268,0,"t"],[28269,0,"t"],[28270,0,"t"],[28271,0,"{"],[28273,0,"}"],[28425,0,"."],[28138,0,"\\"],[28139,0,"t"],[28140,0,"x"],[28141,0,"t"],[28141,1],[28140,1],[28140,0,"e"],[28141,0,"x"],[28142,0,"t"],[28143,0,"t"],[28144,0,"t"],[28145,0,"{"],[28147,0,"}"],[30614,1],[30613,1],[30613,0,"t"],[30614,0,"t"],[30727,1],[30726,1],[30726,0,"t"],[30727,0,"t"],[30858,1],[30857,1],[30856,1],[30855,1],[30854,1],[30854,0,"t"],[30855,0,"e"],[30856,0,"x"],[30857,0,"t"],[30858,0,"t"],[30859,0,"t"],[30860,0,"{"],[30862,0,"}"],[30863,0,"$"],[30864,0,"l"],[30864,1],[30864,0,"m"],[30864,1],[30864,0,"\\"],[30865,0,"m"],[30866,0,"a"],[30867,0,"t"],[30868,0,"h"],[30869,0,"r"],[30870,0,"m"],[30871,0,"{"],[30872,1],[30875,1],[30875,0,"}"],[30876,0,"\\"],[30877,0,"t"],[30878,0,"e"],[30879,0,"x"],[30880,0,"t"],[30881,0,"t"],[30882,0,"t"],[30883,0,"{"],[30885,0,"}"],[30886,1],[30876,0,"$"],[30922,1],[30921,1],[30921,0,"t"],[30922,0,"t"],[30978,1],[30977,1],[30977,0,"t"],[30978,0,"t"],[31111,1],[31110,1],[31110,0,"t"],[31111,0,"t"],[31187,1],[31186,1],[31186,0,"t"],[31187,0,"t"],[31261,1],[31260,1],[31260,0,"t"],[31261,0,"t"],[31390,1],[31389,1],[31389,0,"t"],[31390,0,"t"],[31437,1],[31436,1],[31436,0,"t"],[31437,0,"t"],[31569,0,"\\"],[31570,0,"t"],[31571,0,"e"],[31572,0,"x"],[31573,0,"t"],[31574,0,"t"],[31575,0,"t"],[31576,0,"{"],[31579,0,"}"],[31626,1],[31625,1],[31625,0,"t"],[31626,0,"t"],[31692,1],[31691,1],[31691,0,"t"],[31692,0,"t"],[31948,1],[31947,1],[31947,0,"t"],[31948,0,"t"],[31970,1],[31969,1],[31968,1],[31967,1],[31966,1],[31966,0,"t"],[31967,0,"e"],[31968,0,"x"],[31969,0,"t"],[31970,0,"t"],[31971,0,"t"],[31972,0,"{"],[31972,1],[31971,1],[31970,1],[31969,1],[31968,1],[31967,1],[31966,1],[31966,0,"v"],[31967,0,"e"],[31968,0,"r"],[31969,0,"b"],[31970,0,"|"],[32041,1],[32040,1],[32039,1],[32038,1],[32037,1],[32037,0,"t"],[32038,0,"e"],[32039,0,"x"],[32040,0,"t"],[32041,0,"t"],[32042,0,"t"],[32043,0,"{"],[32054,1],[32054,0,"}"],[32072,1],[32071,1],[32071,0,"t"],[32072,0,"t"],[32298,1],[32297,1],[32297,0,"t"],[32298,0,"t"],[32457,1],[32456,1],[32455,1],[32454,1],[32453,1],[32453,0,"t"],[32454,0,"e"],[32455,0,"x"],[32456,0,"t"],[32457,0,"t"],[32458,0,"t"],[32459,0,"{"],[32464,1],[32464,0,"}"],[32548,1],[32548,0,"}"],[32543,1],[32542,1],[32541,1],[32540,1],[32539,1],[32539,0,"t"],[32540,0,"e"],[32541,0,"x"],[32542,0,"t"],[32543,0,"t"],[32544,0,"t"],[32545,0,"{"],[32906,1],[32905,1],[32905,0,"t"],[32906,0,"t"],[30786,1],[30785,1],[30784,1],[30783,1],[30782,1],[30781,1],[30780,1],[30779,1],[30778,1],[30777,1],[30776,1],[30775,1],[30774,1],[30773,1],[30772,1],[30771,1],[30770,1],[30769,1],[30768,1],[30767,1],[30766,1],[30765,1],[30764,1],[30763,1],[30762,1],[30761,1],[30760,1],[30759,1],[30758,1],[30757,1],[30756,1],[30755,1],[30754,1],[30753,1],[30752,1],[30751,1],[30750,1],[30749,1],[30748,1],[30747,1],[30746,1],[30745,1],[30744,1],[30743,1],[30743,0,"T"],[30744,0,"h"],[30745,0,"e"],[30746,0," "],[30747,0,"e"],[30748,0,"x"],[30749,0,"p"],[30750,0,"r"],[30751,0,"e"],[30752,0,"s"],[30753,0,"s"],[30754,0,"i"],[30755,0,"o"],[30756,0,"n"],[30757,0," "],[30758,0,"d"],[30759,0,"e"],[30760,0,"f"],[30761,0,"i"],[30762,0,"n"],[30763,0,"e"],[30764,0,"s"],[30765,0," "],[30766,0,"t"],[30767,0,"h"],[30768,0,"e"],[30769,0," "],[30770,0,"p"],[30771,0,"a"],[30772,0,"t"],[30773,0,"h"],[30787,1],[30786,1],[30786,0,"t"],[30787,0,"a"],[30788,0,"k"],[30789,0,"e"],[30790,0,"s"],[30791,0," "],[30792,0,"a"],[30793,0,"s"],[30794,0," "],[30795,0,"i"],[30796,0,"t"],[30806,1],[30806,0,"s"],[30765,0,","],[30766,0," "],[30767,0,"l"],[30768,0,"e"],[30769,0,"f"],[30770,0," "],[30770,1],[30770,0,"t"],[30771,0," "],[30772,0,"t"],[30773,0,"o"],[30774,0," "],[30775,0,"r"],[30776,0,"i"],[30777,0,"g"],[30778,0,"h"],[30779,0,","],[30779,0,"t"],[30807,0,","],[30808,0," "],[30809,0,"r"],[30810,0,"o"],[30811,0,"o"],[30812,0,"t"],[30813,0," "],[30814,0,"t"],[30815,0,"o"],[30816,0,"w"],[30817,0,"a"],[30818,0,"r"],[30819,0,"d"],[30820,0,"s"],[30821,0," "],[30822,0,"l"],[30823,0,"e"],[30824,0,"a"],[30825,0,"f"],[30826,0,","],[30826,1],[30825,1],[30824,1],[30823,1],[30822,1],[30821,1],[30820,1],[30819,1],[30818,1],[30817,1],[30816,1],[30815,1],[30814,1],[30813,1],[30812,1],[30811,1],[30810,1],[30809,1],[30808,1],[30807,1],[30840,0," "],[30841,0,"f"],[30842,0,"r"],[30843,0,"o"],[30844,0,"m"],[30845,0," "],[30846,0,"t"],[30846,1],[30845,1],[30844,1],[30843,1],[30842,1],[30841,1],[30841,0,"t"],[30842,0,"w"],[30842,1],[30842,0,"o"],[30843,0,"w"],[30844,0,"a"],[30845,0,"r"],[30846,0,"d"],[30847,0,"s"],[30848,0," "],[30849,0,"t"],[30850,0,"h"],[30851,0,"e"],[30852,0," "],[30852,1],[30851,1],[30850,1],[30849,1],[30849,0,"t"],[30850,0,"h"],[30851,0,"e"],[30852,0," "],[30853,0,"l"],[30854,0,"e"],[30855,0,"a"],[30856,0,"v"],[30857,0,"e"],[30858,0,"s"],[32095,1],[32094,1],[32093,1],[32092,1],[32091,1],[32091,0,"e"],[32092,0,"x"],[32093,0,"e"],[32094,0,"c"],[32095,0,"u"],[32096,0,"t"],[32097,0,"e"],[32098,0,"s"],[32098,1],[32097,1],[32096,1],[32095,1],[32094,1],[32093,1],[32092,1],[32091,1],[32091,0,"p"],[32092,0,"e"],[32093,0,"r"],[32094,0,"f"],[32095,0,"o"],[32096,0,"r"],[32097,0,"m"],[32098,0,"s"],[32195,1],[32194,1],[32194,0,"S"],[32195,0,"i"],[32196,0,"n"],[32197,0,"c"],[32198,0,"e"],[42901,1],[42924,1],[55210,1],[55209,1],[55208,1],[55207,1],[55206,1],[55205,1],[55204,1],[55203,1],[55202,1],[55201,1],[55200,1],[55199,1],[55198,1],[55197,1],[55196,1],[55195,1],[55194,1],[55193,1],[55192,1],[55192,0,"n"],[55193,0,"e"],[55194,0,"x"],[55195,0,"t"],[71455,1],[71454,1],[71453,1],[71452,1],[71451,1],[71450,1],[71449,1],[71448,1],[71447,1],[71446,1],[71445,1],[71444,1],[71443,1],[71442,1],[71441,1],[71440,1],[71439,1],[71438,1],[71437,1],[71436,1],[71435,1],[71434,1],[75547,0,"\n"],[75548,0,"%"],[75549,0,"T"],[75550,0,"O"],[75551,0,"D"],[75552,0,"O"],[75553,0,":"],[75554,0," "],[75555,0,"w"],[75556,0,"w"],[75556,1],[75556,0,"e"],[75557,0," "],[75558,0,"s"],[75559,0,"h"],[75560,0,"o"],[75561,0,"u"],[75562,0,"l"],[75563,0,"d"],[75564,0," "],[75565,0,"p"],[75566,0,"u"],[75567,0,"t"],[75568,0," "],[75569,0,"t"],[75570,0,"h"],[75571,0,"i"],[75572,0,"s"],[75573,0," "],[75574,0,"i"],[75575,0,"n"],[75576,0," "],[75577,0,"a"],[75578,0,"s"],[75579,0," "],[75580,0,"p"],[75581,0,"a"],[75582,0,"r"],[75583,0,"t"],[75583,1],[75582,1],[75581,1],[75580,1],[75579,1],[75578,1],[75577,1],[75576,1],[75575,1],[75574,1],[75573,1],[75572,1],[75571,1],[75570,1],[75569,1],[75568,1],[75567,1],[75566,1],[75565,1],[75564,1],[75563,1],[75562,1],[75561,1],[75560,1],[75559,1],[75558,1],[75557,1],[75556,1],[75555,1],[75555,0,"t"],[75556,0,"h"],[75557,0,"i"],[75558,0,"s"],[75559,0," "],[75560,0,"d"],[75561,0,"o"],[75562,0,"e"],[75563,0,"s"],[75564,0,"n"],[75565,0,"'"],[75566,0,"t"],[75567,0," "],[75568,0,"s"],[75569,0,"e"],[75570,0,"e"],[75571,0,"m"],[75572,0," "],[75573,0,"t"],[75574,0,"o"],[75575,0," "],[75576,0,"b"],[75577,0,"e"],[75578,0," "],[75579,0,"p"],[75580,0,"a"],[75581,0,"r"],[75582,0,"t"],[75583,0,"i"],[75584,0,"c"],[75585,0,"u"],[75586,0,"l"],[75587,0,"a"],[75588,0,"r"],[75589,0,"l"],[75590,0,"y"],[75591,0," "],[75592,0,"r"],[75593,0,"e"],[75594,0,"l"],[75595,0,"e"],[75596,0,"v"],[75597,0,"a"],[75598,0,"n"],[75599,0,"t"],[75600,0," "],[75601,0,"t"],[75602,0,"o"],[75603,0," "],[75604,0,"t"],[75605,0,"h"],[75606,0,"i"],[75607,0,"s"],[75608,0," "],[75609,0,"p"],[75610,0,"a"],[75611,0,"p"],[75612,0,"e"],[75613,0,"r"],[75614,0," "],[75615,0,"i"],[75615,1],[75615,0,"u"],[75616,0,"n"],[75617,0,"l"],[75618,0,"e"],[75619,0,"s"],[75620,0,"s"],[75621,0," "],[75622,0,"w"],[75623,0,"e"],[75624,0," "],[75625,0,"a"],[75626,0,"n"],[75627,0,"a"],[75628,0,"l"],[75629,0,"y"],[75630,0,"s"],[75631,0,"e"],[75632,0," "],[75633,0,"s"],[75634,0,"o"],[75635,0,"m"],[75636,0,"e"],[75637,0," "],[75638,0,"o"],[75639,0,"f"],[75640,0," "],[75641,0,"t"],[75642,0,"h"],[75643,0,"e"],[75644,0," "],[75645,0,"d"],[75646,0,"a"],[75647,0,"t"],[75648,0,"a"],[75649,0,"?"],[75650,0," "],[75651,0,"\""],[75860,0,"\""],[76308,0," "],[76309,0,"I"],[76310,0,"t"],[76311,0," "],[76312,0,"i"],[76313,0,"s"],[76314,0," "],[76315,0,"p"],[76316,0,"o"],[76317,0,"s"],[76318,0,"s"],[76319,0,"i"],[76320,0,"b"],[76321,0,"l"],[76322,0,"e"],[76323,0," "],[76324,0,"t"],[76325,0,"h"],[76326,0,"a"],[76327,0,"t"],[76328,0," "],[76329,0,"a"],[76330,0," "],[76331,0,"s"],[76332,0,"c"],[76333,0,"h"],[76334,0,"e"],[76335,0,"m"],[76336,0,"a"],[76337,0," "],[76338,0,"l"],[76339,0,"a"],[76340,0,"n"],[76341,0,"g"],[76342,0,"u"],[76343,0,"a"],[76344,0,"g"],[76345,0,"e"],[76346,0," "],[76347,0,"i"],[76348,0,"s"],[76349,0," "],[76350,0,"r"],[76351,0,"e"],[76352,0,"q"],[76353,0,"u"],[76354,0,"i"],[76355,0,"r"],[76356,0,"e"],[76357,0,"d"],[76357,1],[76356,1],[76355,1],[76354,1],[76353,1],[76352,1],[76351,1],[76350,1],[76349,1],[76348,1],[76347,1],[76347,0,"w"],[76348,0,"i"],[76349,0,"l"],[76350,0,"l"],[76351,0," "],[76352,0,"b"],[76353,0,"e"],[76354,0," "],[76355,0,"r"],[76356,0,"e"],[76357,0,"q"],[76358,0,"u"],[76359,0,"i"],[76360,0,"r"],[76361,0,"e"],[76362,0,"d"],[76363,0," "],[76364,0,"i"],[76365,0,"n"],[76366,0,"o"],[76366,1],[76366,0," "],[76367,0,"o"],[76367,1],[76366,1],[76365,1],[76364,1],[76364,0,"t"],[76365,0,"o"],[76366,0," "],[76367,0,"h"],[76368,0,"e"],[76369,0,"l"],[76370,0,"p"],[76370,1],[76369,1],[76368,1],[76367,1],[76367,0,"m"],[76368,0,"a"],[76369,0,"n"],[76370,0,"a"],[76371,0,"g"],[76372,0,"e"],[76373,0," "],[76374,0,"c"],[76375,0,"o"],[76376,0,"m"],[76377,0,"p"],[76378,0,"l"],[76379,0,"e"],[76380,0,"x"],[76381,0,"i"],[76382,0,"t"],[76383,0,"y"],[76384,0,"."],[76384,1],[76383,1],[76382,1],[76381,1],[76380,1],[76379,1],[76378,1],[76377,1],[76376,1],[76375,1],[76374,1],[76373,1],[76372,1],[76371,1],[76370,1],[76369,1],[76368,1],[76367,1],[76366,1],[76365,1],[76364,1],[76363,1],[76362,1],[76361,1],[76360,1],[76359,1],[76358,1],[76357,1],[76356,1],[76355,1],[76354,1],[76353,1],[76352,1],[76352,0,"h"],[76353,0,"e"],[76354,0,"l"],[76355,0,"p"],[76356,0," "],[76357,0,"m"],[76358,0,"a"],[76359,0,"n"],[76360,0,"a"],[76361,0,"g"],[76362,0,"e"],[76363,0," "],[76364,0,"c"],[76365,0,"o"],[76366,0,"m"],[76367,0,"p"],[76368,0,"l"],[76369,0,"e"],[76370,0,"i"],[76371,0,"x"],[76372,0,"t"],[76373,0,"y"],[76373,1],[76372,1],[76371,1],[76370,1],[76370,0,"x"],[76371,0,"i"],[76372,0,"t"],[76373,0,"y"],[76374,0,"."],[76322,1],[76321,1],[76320,1],[76319,1],[76318,1],[76317,1],[76316,1],[76315,1],[76314,1],[76313,1],[76312,1],[76312,0,"m"],[76313,0,"a"],[76314,0,"y"],[76315,0," "],[76316,0,"t"],[76317,0,"i"],[76317,1],[76317,0,"u"],[76318,0,"r"],[76319,0,"n"],[76320,0," "],[76321,0,"o"],[76322,0,"u"],[76323,0,"t"],[76356,1],[76355,1],[76354,1],[76353,1],[76353,0,"b"],[76354,0,"e"],[76355,0," "],[76356,0,"i"],[76357,0,"n"],[76358,0,"s"],[76359,0,"t"],[76360,0,"r"],[76361,0,"u"],[76362,0,"c"],[76362,1],[76362,0,"m"],[76363,0,"e"],[76364,0,"n"],[76365,0,"t"],[76366,0,"a"],[76367,0,"l"],[76368,0," "],[76369,0,"i"],[76370,0,"n"],[76371,0," "],[76372,0,"t"],[76373,0,"h"],[76374,0,"e"],[76382,0,"m"],[76383,0,"e"],[76384,0,"n"],[76385,0,"t"],[76386,0," "],[76387,0,"o"],[76388,0,"f"],[76389,0," "],[76390,0,"u"],[76391,0,"p"],[76392,0,"d"],[76393,0,"a"],[76393,1],[76392,1],[76391,1],[76390,1],[76389,1],[76388,1],[76387,1],[76387,0,"s"],[76388,0,"u"],[76389,0,"c"],[76390,0,"h"],[76391,0," "],[76391,1],[76390,1],[76389,1],[76388,1],[76387,1],[76386,1],[76385,1],[76384,1],[76383,1],[76382,1],[76381,1],[76380,1],[76379,1],[76378,1],[76377,1],[76376,1],[76375,1],[76374,1],[76373,1],[76372,1],[76371,1],[76370,1],[76369,1],[76368,1],[76367,1],[76366,1],[76365,1],[76364,1],[76363,1],[76362,1],[76361,1],[76360,1],[76359,1],[76358,1],[76357,1],[76356,1],[76356,0,"r"],[76357,0,"e"],[76358,0,"q"],[76359,0,"u"],[76360,0,"i"],[76361,0,"r"],[76362,0,"e"],[76363,0,"d"],[76364,0," "],[76365,0,"f"],[76366,0,"o"],[76367,0,"r"],[76368,0," "],[76369,0,"m"],[76370,0,"o"],[76371,0,"r"],[76372,0,"e"],[76373,0," "],[76374,1],[76383,1],[76382,1],[76381,1],[76381,0," "],[76382,0,"a"],[76383,0,"p"],[76384,0,"p"],[76385,0,"l"],[76386,0,"i"],[76387,0,"c"],[76388,0,"a"],[76389,0,"t"],[76390,0,"i"],[76391,0,"o"],[76392,0,"n"],[76393,0,"s"],[76372,1],[76371,1],[76370,1],[76369,1],[76368,1],[76367,1],[76366,1],[76365,1],[76365,0,"t"],[76366,0,"o"],[76367,0," "],[76368,0,"s"],[76369,0,"u"],[76370,0,"p"],[76371,0,"p"],[76372,0,"o"],[76373,0,"r"],[76374,0,"t"],[76375,0," "],[76376,0,"m"],[76377,0,"o"],[76378,0,"r"],[76379,0,"e"],[75651,1],[75650,1],[75649,1],[75648,1],[75647,1],[75646,1],[75645,1],[75644,1],[75643,1],[75642,1],[75641,1],[75640,1],[75639,1],[75638,1],[75637,1],[75636,1],[75635,1],[75634,1],[75633,1],[75632,1],[75631,1],[75630,1],[75629,1],[75628,1],[75627,1],[75626,1],[75625,1],[75624,1],[75623,1],[75622,1],[75621,1],[75620,1],[75619,1],[75618,1],[75617,1],[75616,1],[75615,1],[75614,1],[75613,1],[75612,1],[75611,1],[75610,1],[75609,1],[75608,1],[75607,1],[75606,1],[75605,1],[75604,1],[75603,1],[75602,1],[75601,1],[75600,1],[75599,1],[75598,1],[75597,1],[75596,1],[75595,1],[75594,1],[75593,1],[75592,1],[75591,1],[75590,1],[75589,1],[75588,1],[75587,1],[75586,1],[75585,1],[75584,1],[75583,1],[75582,1],[75581,1],[75580,1],[75579,1],[75578,1],[75577,1],[75576,1],[75575,1],[75574,1],[75573,1],[75572,1],[75571,1],[75570,1],[75569,1],[75568,1],[75567,1],[75566,1],[75565,1],[75564,1],[75563,1],[75562,1],[75561,1],[75560,1],[75559,1],[75558,1],[75557,1],[75556,1],[75555,1],[75554,1],[75553,1],[75552,1],[75551,1],[75550,1],[75549,1],[75548,1],[75547,1],[75755,1],[71434,0,"$"],[18080,0,"-"],[18106,0,"-"],[21741,1],[21740,1],[21739,1],[21739,0,"g"],[21740,0,"r"],[21741,0,"i"],[21741,1],[21741,0,"o"],[21742,0,"c"],[21743,0,"e"],[21744,0,"r"],[21745,0,"i"],[21746,0,"e"],[21747,0,"s"],[21806,1],[21806,1],[21806,1],[21806,0,"g"],[21807,0,"r"],[21808,0,"o"],[21809,0,"c"],[21810,0,"e"],[21811,0,"r"],[21812,0,"i"],[21813,0,"e"],[21814,0,"s"],[21873,1],[21873,1],[21873,1],[21873,0,"g"],[21874,0,"r"],[21875,0,"o"],[21876,0,"c"],[21877,0,"e"],[21878,0,"r"],[21879,0,"i"],[21880,0,"e"],[21881,0,"s"],[21948,1],[21948,1],[21948,1],[21948,0,"g"],[21949,0,"r"],[21950,0,"o"],[21951,0,"c"],[21952,0,"e"],[21953,0,"r"],[21954,0,"i"],[21955,0,"e"],[21956,0,"s"],[22032,1],[22032,1],[22032,1],[22032,0,"g"],[22033,0,"r"],[22034,0,"o"],[22035,0,"c"],[22036,0,"e"],[22037,0,"r"],[22038,0,"i"],[22039,0,"e"],[22040,0,"s"],[22107,1],[22107,1],[22107,1],[22107,0,"g"],[22108,0,"r"],[22109,0,"o"],[22110,0,"c"],[22111,0,"e"],[22112,0,"r"],[22113,0,"i"],[22114,0,"e"],[22115,0,"s"],[22193,1],[22193,1],[22193,1],[22193,0,"c"],[22194,0,"r"],[22195,0,"o"],[22195,1],[22194,1],[22193,1],[22193,0,"g"],[22194,0,"r"],[22195,0,"o"],[22196,0,"c"],[22197,0,"e"],[22198,0,"r"],[22199,0,"i"],[22200,0,"e"],[22201,0,"s"],[22298,1],[22298,1],[22298,1],[22298,0,"g"],[22299,0,"r"],[22300,0,"o"],[22301,0,"c"],[22302,0,"e"],[22303,0,"r"],[22304,0,"i"],[22305,0,"e"],[22306,0,"s"],[22483,1],[22483,1],[22483,1],[22483,0,"g"],[22484,0,"r"],[22485,0,"o"],[22486,0,"c"],[22487,0,"e"],[22488,0,"r"],[22489,0,"i"],[22490,0,"e"],[22491,0,"s"],[22563,1],[22562,1],[22562,1],[22562,0,"g"],[22563,0,"r"],[22564,0,"o"],[22565,0,"c"],[22566,0,"e"],[22567,0,"r"],[22568,0,"i"],[22569,0,"e"],[22570,0,"s"],[22642,1],[22642,1],[22642,1],[22642,0,"g"],[22643,0,"r"],[22644,0,"o"],[22645,0,"c"],[22646,0,"e"],[22647,0,"r"],[22648,0,"i"],[22649,0,"e"],[22650,0,"s"],[22737,1],[22737,1],[22737,1],[22737,0,"g"],[22738,0,"r"],[22739,0,"o"],[22740,0,"c"],[22741,0,"e"],[22742,0,"r"],[22743,0,"i"],[22744,0,"e"],[22745,0,"s"],[23448,1],[23447,1],[23446,1],[23446,0,"g"],[23447,0,"r"],[23448,0,"o"],[23449,0,"c"],[23450,0,"e"],[23451,0,"r"],[23452,0,"i"],[23453,0,"e"],[23454,0,"s"],[23516,1],[23515,1],[23514,1],[23513,1],[23512,1],[23511,1],[23510,1],[23509,1],[23508,1],[23507,1],[23507,0,"c"],[23508,0,"o"],[23509,0,"m"],[23510,0,"m"],[23511,0,"u"],[23512,0,"n"],[23513,0,"i"],[23514,0,"c"],[23515,0,"a"],[23516,0,"t"],[23517,0,"e"],[23517,1],[23516,1],[23515,1],[23514,1],[23513,1],[23512,1],[23511,1],[23510,1],[23509,1],[23508,1],[23507,1],[23506,1],[23505,1],[23504,1],[23503,1],[23502,1],[23501,1],[23500,1],[23499,1],[23498,1],[23498,0,"m"],[23499,0,"o"],[23500,0,"d"],[23501,0,"i"],[23502,0,"f"],[23503,0,"i"],[23504,0,"c"],[23505,0,"a"],[23506,0,"t"],[23507,0,"i"],[23508,0,"o"],[23509,0,"n"],[23510,0,"s"],[23511,0," "],[23512,0,"a"],[23513,0,"r"],[23514,0,"e"],[23515,0," "],[23516,0,"c"],[23517,0,"o"],[23518,0,"m"],[23519,0,"b"],[23520,0,"i"],[23521,0,"n"],[23522,0,"e"],[23523,0,"d"],[23557,1],[23556,1],[23555,1],[23554,1],[23553,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,1],[26323,0,"d"],[26324,0,"e"],[26325,0,"v"],[26326,0,"e"],[26327,0,"l"],[26328,0,"o"],[26329,0,"p"],[26330,0,"m"],[26331,0,"e"],[26332,0,"n"],[26333,0,"t"],[26334,0," "],[26335,0,"o"],[26336,0,"f"],[28339,1],[28338,1],[28338,0,"i"],[28339,0,"t"],[28366,1],[28365,1],[28365,0,"i"],[28366,0,"t"],[28657,1],[28656,1],[28656,0,"i"],[28657,0,"t"],[28640,1],[28639,1],[28639,0,"i"],[28640,0,"t"],[30974,1],[30973,1],[30973,0,"i"],[30974,0,"t"],[31318,0,"s"],[31318,1],[31317,1],[31316,1],[31315,1],[31314,1],[31313,1],[31313,0,"c"],[31314,0,"o"],[31315,0,"n"],[31316,0,"t"],[31317,0,"e"],[31318,0,"n"],[31319,0,"t"],[31320,0,"s"],[31328,0," "],[31329,0,"m"],[31330,0,"u"],[31331,0,"l"],[31332,0,"t"],[31333,0,"i"],[31334,0,"-"],[31335,0,"v"],[31336,0,"a"],[31337,0,"l"],[31338,0,"u"],[31339,0,"e"],[76385,0," "],[76386,0,"A"],[76387,0," "],[76388,0,"s"],[76389,0,"c"],[76390,0,"h"],[76391,0,"e"],[76392,0,"m"],[76393,0,"a"],[76394,0," "],[76395,0,"l"],[76396,0,"a"],[76397,0,"n"],[76398,0,"g"],[76399,0,"u"],[76400,0,"a"],[76401,0,"g"],[76402,0,"e"],[76403,0," "],[76404,0,"c"],[76405,0,"o"],[76406,0,"u"],[76407,0,"l"],[76408,0,"d"],[76409,0," "],[76410,0,"a"],[76411,0,"l"],[76412,0,"s"],[76413,0,"o"],[76414,0," "],[76415,0,"s"],[76416,0,"u"],[76417,0,"p"],[76418,0,"p"],[76419,0,"o"],[76420,0,"r"],[76421,0,"t"],[76422,0," "],[76423,0,"s"],[76424,0,"e"],[76425,0,"m"],[76426,0,"a"],[76427,0,"n"],[76428,0,"t"],[76429,0,"i"],[76430,0,"c"],[76431,0," "],[76432,0,"a"],[76433,0,"n"],[76434,0,"n"],[76435,0,"o"],[76436,0,"t"],[76437,0,"a"],[76438,0,"t"],[76439,0,"i"],[76440,0,"o"],[76441,0,"n"],[76442,0,"s"],[76443,0,","],[76444,0," "],[76445,0,"s"],[76446,0,"u"],[76447,0,"c"],[76448,0,"h"],[76449,0," "],[76450,0,"a"],[76451,0,"s"],[76452,0," "],[76453,0,"i"],[76454,0,"n"],[76455,0,"d"],[76456,0,"i"],[76457,0,"c"],[76458,0,"a"],[76459,0,"t"],[76460,0,"i"],[76461,0,"n"],[76462,0,"g"],[76463,0," "],[76464,0,"t"],[76465,0,"h"],[76466,0,"a"],[76467,0,"t"],[76468,0," "],[76469,0,"a"],[76470,0," "],[76471,0,"n"],[76472,0,"u"],[76473,0,"m"],[76474,0,"b"],[76475,0,"e"],[76476,0,"r"],[76477,0," "],[76478,0,"s"],[76479,0,"h"],[76480,0,"o"],[76481,0,"u"],[76482,0,"l"],[76483,0,"d"],[76484,0," "],[76485,0,"b"],[76486,0,"e"],[76487,0," "],[76488,0,"t"],[76489,0,"r"],[76490,0,"e"],[76491,0,"a"],[76492,0,"t"],[76493,0,"e"],[76494,0,"d"],[76495,0," "],[76496,0,"a"],[76497,0,"s"],[76498,0," "],[76499,0,"a"],[76500,0," "],[76501,0,"c"],[76502,0,"o"],[76503,0,"u"],[76504,0,"n"],[76505,0,"t"],[76506,0,"e"],[76507,0,"r"],[76508,0," "],[76509,0,"r"],[76510,0,"a"],[76511,0,"t"],[76512,0,"h"],[76513,0,"e"],[76514,0,"r"],[76515,0," "],[76516,0,"t"],[76517,0,"h"],[76518,0,"a"],[76519,0,"n"],[76520,0," "],[76521,0,"a"],[76522,0," "],[76523,0,"r"],[76524,0,"e"],[76525,0,"g"],[76526,0,"i"],[76527,0,"s"],[76528,0,"t"],[76529,0,"e"],[76530,0,"r"],[76531,0,"."],[2284,0," "],[2285,0,"m"],[2286,0,"a"],[2287,0,"k"],[2288,0,"i"],[2289,0,"n"],[2290,0,"g"],[2291,0," "],[2292,0,"i"],[2293,0,"s"],[2294,0," "],[2294,1],[2293,1],[2293,0,"t"],[2294,0," "],[2295,0,"s"],[2296,0,"u"],[2297,0,"i"],[2298,0,"t"],[2299,0,"a"],[2300,0,"b"],[2301,0,"l"],[2302,0,"e"],[2303,0," "],[2304,0,"f"],[2305,0,"o"],[2306,0,"r"],[2307,0," "],[2308,0,"m"],[2309,0,"o"],[2310,0,"b"],[2311,0,"i"],[2312,0,"l"],[2313,0,"e"],[2314,0," "],[2315,0,"d"],[2316,0,"e"],[2317,0,"v"],[2318,0,"i"],[2319,0,"c"],[2320,0,"e"],[2321,0,"s"],[2322,0," "],[2323,0,"t"],[2324,0,"h"],[2325,0,"a"],[2326,0,"t"],[2327,0," "],[2328,0,"s"],[2329,0,"u"],[2330,0,"f"],[2331,0,"f"],[2332,0,"e"],[2333,0,"r"],[2334,0," "],[2335,0,"p"],[2336,0,"e"],[2337,0,"r"],[2338,0,"i"],[2339,0,"o"],[2340,0,"d"],[2341,0,"s"],[2341,1],[2340,1],[2339,1],[2338,1],[2337,1],[2336,1],[2335,1],[2334,1],[2333,1],[2332,1],[2331,1],[2330,1],[2329,1],[2328,1],[2327,1],[2326,1],[2325,1],[2324,1],[2323,1],[2323,0,"w"],[2324,0,"i"],[2325,0,"t"],[2326,0,"h"],[2327,0," "],[2328,0,"p"],[2329,0,"o"],[2330,0,"o"],[2331,0,"r"],[2332,0," "],[2333,0,"n"],[2334,0,"e"],[2335,0,"t"],[2336,0,"w"],[2337,0,"o"],[2338,0,"r"],[2339,0,"k"],[2340,0," "],[2341,0,"c"],[2342,0,"o"],[2343,0,"n"],[2344,0,"n"],[2345,0,"e"],[2346,0,"c"],[2347,0,"t"],[2348,0,"i"],[2349,0,"v"],[2350,0,"i"],[2351,0,"t"],[2352,0,"y"],[2308,0,"c"],[2309,0,"e"],[2310,0,"p"],[2310,1],[2309,1],[2308,1],[2308,0,"d"],[2309,0,"e"],[2310,0,"p"],[2311,0,"l"],[2312,0,"o"],[2313,0,"y"],[2314,0,"m"],[2315,0,"e"],[2316,0,"n"],[2317,0,"t"],[2318,0," "],[2319,0,"o"],[2320,0,"n"],[2321,0," "],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,1],[2367,0,","],[2620,1],[2619,1],[2618,1],[2617,1],[2616,1],[2615,1],[2614,1],[2613,1],[2612,1],[2611,1],[2610,1],[2609,1],[2608,1],[2607,1],[2606,1],[2605,1],[2604,1],[2603,1],[2602,1],[2601,1],[2600,1],[2599,1],[2598,1],[2597,1],[2596,1],[2595,1],[2594,1],[2593,1],[2592,1],[2591,1],[2590,1],[2589,1],[2588,1],[2587,1],[2586,1],[2585,1],[2584,1],[2583,1],[2582,1],[2581,1],[2580,1],[2579,1],[2578,1],[2577,1],[2576,1],[2575,1],[2574,1],[2573,1],[2572,1],[2571,1],[2570,1],[2569,1],[2568,1],[2567,1],[2566,1],[2565,1],[2564,1],[2563,1],[2562,1],[2561,1],[2560,1],[2559,1],[2558,1],[2557,1],[2556,1],[2555,1],[2554,1],[2553,1],[2552,1],[2551,1],[2550,1],[2549,1],[2548,1],[2547,1],[2546,1],[2545,1],[2544,1],[2543,1],[2542,1],[2541,1],[2540,1],[2539,1],[2538,1],[2537,1],[2536,1],[2535,1],[2534,1],[2533,1],[2532,1],[2531,1],[2530,1],[2529,1],[2528,1],[2527,1],[2526,1],[2525,1],[2524,1],[2523,1],[2522,1],[2521,1],[2520,1],[2519,1],[2518,1],[2517,1],[2516,1],[2515,1],[2514,1],[2513,1],[2512,1],[2511,1],[2510,1],[2509,1],[2508,1],[2507,1],[2506,1],[2505,1],[2504,1],[2503,1],[2502,1],[2501,1],[2500,1],[2499,1],[2498,1],[2497,1],[2496,1],[2495,1],[2494,1],[2493,1],[2492,1],[2491,1],[2490,1],[2489,1],[2488,1],[2487,1],[2486,1],[2485,1],[2484,1],[2483,1],[2482,1],[2481,1],[2480,1],[2479,1],[2478,1],[2477,1],[2476,1],[2475,1],[2474,1],[2473,1],[2472,1],[2471,1],[2470,1],[2469,1],[2468,1],[2467,1],[2466,1],[2465,1],[2464,1],[2463,1],[2462,1],[2461,1],[2460,1],[2459,1],[2458,1],[2457,1],[2456,1],[2455,1],[2454,1],[2453,1],[2452,1],[2451,1],[2450,1],[2449,1],[2448,1],[2447,1],[3378,1],[3377,1],[3376,1],[3375,1],[3374,1],[3373,1],[3372,1],[3371,1],[3370,1],[3369,1],[3368,1],[3367,1],[3366,1],[3365,1],[3364,1],[3363,1],[3362,1],[3361,1],[3360,1],[3359,1],[3358,1],[3357,1],[3356,1],[3355,1],[3354,1],[3353,1],[3352,1],[3351,1],[3350,1],[3349,1],[3348,1],[3347,1],[3346,1],[3345,1],[3344,1],[3343,1],[3342,1],[3341,1],[3340,1],[3339,1],[3338,1],[3337,1],[3336,1],[3335,1],[3334,1],[3333,1],[3332,1],[3331,1],[3330,1],[3329,1],[3328,1],[3327,1],[3326,1],[3325,1],[3324,1],[3323,1],[3322,1],[3321,1],[3320,1],[3319,1],[3318,1],[3317,1],[3316,1],[3315,1],[3314,1],[3313,1],[3312,1],[3311,1],[3310,1],[3309,1],[3308,1],[3307,1],[3306,1],[3305,1],[3304,1],[3303,1],[3302,1],[3301,1],[3300,1],[3299,1],[3298,1],[3297,1],[3296,1],[3295,1],[3294,1],[3293,1],[3292,1],[3291,1],[3290,1],[3289,1],[3288,1],[3287,1],[3286,1],[3285,1],[3284,1],[3283,1],[3282,1],[3281,1],[3280,1],[3279,1],[3278,1],[3277,1],[3276,1],[3275,1],[3274,1],[3273,1],[3272,1],[3271,1],[3270,1],[3269,1],[3268,1],[3267,1],[3266,1],[3265,1],[3264,1],[3263,1],[3262,1],[3261,1],[3260,1],[3259,1],[3258,1],[3257,1],[3256,1],[3255,1],[3254,1],[3253,1],[3252,1],[3251,1],[3250,1],[3249,1],[3248,1],[3247,1],[3246,1],[3245,1],[3244,1],[3243,1],[3242,1],[3241,1],[3240,1],[3239,1],[3238,1],[3237,1],[3236,1],[3235,1],[3234,1],[3233,1],[3232,1],[3231,1],[3230,1],[3229,1],[3228,1],[3227,1],[3226,1],[3225,1],[3224,1],[3223,1],[3222,1],[3221,1],[3220,1],[3219,1],[3218,1],[3217,1],[3216,1],[3130,1],[3129,1],[3128,1],[3127,1],[3126,1],[3125,1],[3124,1],[3123,1],[3122,1],[3121,1],[3120,1],[3119,1],[3118,1],[3117,1],[3116,1],[3115,1],[3115,0,"i"],[3116,0,"v"],[3117,0,"e"],[3118,0," "],[3119,0,"e"],[3120,0,"d"],[3121,0,"i"],[3122,0,"t"],[3123,0,"i"],[3124,0,"n"],[3125,0,"g"],[3126,0," "],[3127,0,"o"],[3128,0,"f"],[3103,1],[3102,1],[3101,1],[3100,1],[3099,1],[3098,1],[3097,1],[3096,1],[3095,1],[3094,1],[3093,1],[3092,1],[3091,1],[3090,1],[3089,1],[3088,1],[3087,1],[3086,1],[3085,1],[3084,1],[3083,1],[3082,1],[3081,1],[3080,1],[3079,1],[3078,1],[3077,1],[3076,1],[3075,1],[3075,0,"S"],[3076,0,"i"],[3077,0,"m"],[3078,0,"i"],[3079,0,"l"],[3080,0,"a"],[3081,0,"r"],[3082,0,"l"],[3083,0,"y"],[3084,0,","],[3194,0," "],[3195,0,"i"],[3196,0,"s"],[3197,0," "],[3098,1],[3097,1],[3097,0,"v"],[3098,0,"e"],[3099,0," "],[3100,0,"w"],[3101,0,"o"],[3102,0,"r"],[3103,0,"k"],[3104,0," "],[3105,0,"o"],[3106,0,"f"],[3107,0,"t"],[3108,0,"e"],[3109,0,"n"],[3110,0," "],[3111,0,"r"],[3112,0,"e"],[3113,0,"q"],[3114,0,"u"],[3115,0,"i"],[3116,0,"r"],[3117,0,"e"],[3118,0,"s"],[3119,0," "],[3120,0,"s"],[3121,0,"e"],[3122,0,"v"],[3123,0,"e"],[3124,0,"r"],[3125,0,"a"],[3126,0,"l"],[3127,0," "],[3128,0,"p"],[3129,0,"e"],[3130,0,"o"],[3131,0,"p"],[3132,0,"l"],[3133,0,"e"],[3134,0," "],[3135,0,"t"],[3136,0,"o"],[3137,0," "],[3138,0,"w"],[3139,0,"o"],[3140,0,"r"],[3141,0,"k"],[3142,0," "],[3143,0,"o"],[3144,0,"n"],[3145,0," "],[3146,0,"t"],[3147,0,"h"],[3148,0,"e"],[3149,0," "],[3150,0,"s"],[3151,0,"a"],[3152,0,"m"],[3153,0,"e"],[3154,1],[3154,1],[3154,1],[3154,1],[3154,1],[3154,1],[3154,1],[3154,1],[3154,1],[3154,1],[3154,1],[3241,1],[3240,1],[3239,1],[3238,1],[3238,0,";"],[3239,0," "],[3144,1],[3143,1],[3142,1],[3141,1],[3140,1],[3139,1],[3138,1],[3138,0,"e"],[3139,0,"d"],[3140,0,"i"],[3141,0,"t"],[3237,0,"i"],[3238,0,"f"],[3239,0," "],[3240,0,"e"],[3241,0,"a"],[3242,0,"c"],[3243,0,"h"],[3244,0," "],[3245,0,"p"],[3246,0,"e"],[3247,0,"r"],[3248,0,"s"],[3249,0,"o"],[3250,0,"n"],[3251,0," "],[3252,0,"u"],[3253,0,"s"],[3254,0,"e"],[3255,0,"s"],[3256,0," "],[3257,0,"t"],[3258,0,"h"],[3259,0,"e"],[3260,0,"i"],[3261,0,"r"],[3262,0," "],[3263,0,"o"],[3264,0,"w"],[3265,0,"n"],[3266,0," "],[3267,0,"d"],[3268,0,"e"],[3269,0,"v"],[3270,0,"i"],[3271,0,"c"],[3272,0,"e"],[3273,0,","],[3274,0," "],[3275,0,"e"],[3276,0,"d"],[3277,0,"i"],[3278,0,"t"],[3279,0,"s"],[3280,0," "],[3281,0,"m"],[3282,0,"a"],[3138,0,"s"],[3139,0,"i"],[3140,0,"m"],[3141,0,"u"],[3142,0,"l"],[3143,0,"t"],[3144,0,"a"],[3145,0,"n"],[3146,0,"e"],[3147,0,"o"],[3148,0,"u"],[3149,0,"s"],[3150,0,"l"],[3151,0,"y"],[3152,0," "],[3180,1],[3193,1],[3207,1],[3216,1],[3245,1],[3282,1],[3281,1],[3280,1],[3279,1],[3278,1],[3277,1],[3276,1],[3275,1],[3274,1],[3273,1],[3272,1],[3271,1],[3270,1],[3269,1],[3268,1],[3267,1],[3266,1],[3265,1],[3264,1],[3263,1],[3262,1],[3261,1],[3260,1],[3259,1],[3258,1],[3257,1],[3256,1],[3255,1],[3254,1],[3253,1],[3252,1],[3251,1],[3250,1],[3249,1],[3248,1],[3247,1],[3246,1],[3245,1],[3246,0," "],[3247,0,"w"],[3248,0,"i"],[3249,0,"t"],[3250,0,"h"],[3251,0," "],[3252,0,"o"],[3253,0,"n"],[3254,0,"e"],[3255,0," "],[3256,0,"p"],[3257,0,"e"],[3258,0,"r"],[3259,0,"s"],[3259,1],[3258,1],[3257,1],[3256,1],[3255,1],[3254,1],[3253,1],[3252,1],[3252,0,"e"],[3253,0,"a"],[3254,0,"c"],[3255,0,"h"],[3256,0," "],[3257,0,"p"],[3258,0,"e"],[3259,0,"r"],[3260,0,"s"],[3261,0,"o"],[3262,0,"n"],[3263,0,"'"],[3264,0,"s"],[3265,0," "],[3265,1],[3273,1],[3272,1],[3272,0,"s"],[3273,0,"y"],[3274,0,"n"],[3275,0,"c"],[3276,0,"h"],[3277,0,"r"],[3278,0,"o"],[3279,0,"n"],[3280,0,"i"],[3281,0,"z"],[3281,1],[3280,1],[3279,1],[3278,1],[3277,1],[3276,1],[3275,1],[3274,1],[3273,1],[3272,1],[3272,0,"r"],[3273,0,"e"],[3274,0,"f"],[3275,0,"l"],[3276,0,"e"],[3277,0,"c"],[3278,0,"t"],[3279,0,"e"],[3280,0,"d"],[3281,0," "],[3282,0,"o"],[3283,0,"n"],[3284,0," "],[3285,0,"t"],[3286,0,"h"],[3287,0,"e"],[3288,0," "],[3289,0,"o"],[3290,0,"t"],[3291,0,"h"],[3292,0,"e"],[3293,0,"r"],[3294,0," "],[3295,0,"c"],[3296,0,"o"],[3297,0,"l"],[3298,0,"l"],[3299,0,"a"],[3300,0,"b"],[3301,0,"o"],[3302,0,"r"],[3303,0,"a"],[3304,0,"t"],[3305,0,"o"],[3306,0,"r"],[3307,0,"s"],[3308,0,"'"],[3309,0," "],[3310,0,"c"],[3311,0,"o"],[3312,0,"p"],[3313,0,"i"],[3314,0,"e"],[3315,0,"s"],[3316,0," "],[3317,0,"o"],[3318,0,"f"],[3319,0," "],[3320,0,"t"],[3321,0,"h"],[3322,0,"e"],[3323,0," "],[3324,0,"d"],[3325,0,"o"],[3326,0,"c"],[3327,0,"u"],[3328,0,"m"],[3329,0,"e"],[3330,0,"n"],[3331,0,"t"],[3332,0," "],[3333,0,"w"],[3334,0,"i"],[3335,0,"t"],[3336,0,"h"],[3337,0," "],[3338,0,"m"],[3339,0,"i"],[3340,0,"n"],[3341,0,"i"],[3342,0,"m"],[3343,0,"a"],[3344,0,"l"],[3345,0," "],[3346,0,"d"],[3347,0,"e"],[3348,0,"l"],[3349,0,"a"],[3350,0,"y"],[9033,0,"\n"],[9034,0,"\n"],[9035,0,"I"],[9036,0,"n"],[9037,0," "],[9038,0,"S"],[9039,0,"e"],[9040,0,"c"],[9041,0,"t"],[9042,0,"i"],[9043,0,"o"],[9044,0,"n"],[9045,0,"~"],[9046,0,"\\"],[9047,0,"r"],[9048,0,"e"],[9049,0,"f"],[9050,0,"{"],[9051,0,"s"],[9052,0,"e"],[9053,0,"c"],[9054,0,":"],[9055,0,"c"],[9056,0,"o"],[9057,0,"n"],[9058,0,"v"],[9059,0,"e"],[9060,0,"r"],[9061,0,"g"],[9062,0,"e"],[9063,0,"n"],[9064,0,"c"],[9065,0,"e"],[9066,0,"}"],[9067,0," "],[9068,0,"a"],[9069,0,"n"],[9070,0,"d"],[9071,0," "],[9072,0,"t"],[9073,0,"h"],[9074,0,"e"],[9075,0," "],[9076,0,"a"],[9077,0,"p"],[9078,0,"p"],[9079,0,"e"],[9080,0,"n"],[9081,0,"d"],[9082,0,"i"],[9083,0,"x"],[9084,0," "],[9084,1],[9084,0,"."],[9035,0," "],[9035,0,"A"],[9036,0," "],[9037,0,"k"],[9038,0,"e"],[9039,0,"y"],[9040,0," "],[9041,0,"r"],[9042,0,"e"],[9043,0,"q"],[9044,0,"u"],[9045,0,"i"],[9046,0,"r"],[9047,0,"e"],[9048,0,"m"],[9049,0,"e"],[9050,0,"n"],[9051,0,"t"],[9052,0," "],[9053,0,"o"],[9054,0,"f"],[9055,0," "],[9056,0,"c"],[9057,0,"o"],[9058,0,"n"],[9059,0,"f"],[9060,0,"l"],[9061,0,"i"],[9062,0,"c"],[9063,0,"t"],[9064,0," "],[9065,0,"r"],[9066,0,"e"],[9067,0,"s"],[9068,0,"o"],[9069,0,"l"],[9070,0,"u"],[9071,0,"t"],[9072,0,"i"],[9073,0,"o"],[9074,0,"n"],[9075,0," "],[9076,0,"i"],[9077,0,"s"],[9078,0," "],[9079,0,"t"],[9080,0,"h"],[9081,0,"a"],[9082,0,"t"],[9083,0," "],[9084,0,"r"],[9085,0,"e"],[9086,0,"p"],[9087,0,"l"],[9088,0,"i"],[9089,0,"c"],[9090,0,"a"],[9091,0,"s"],[9092,0," "],[9093,0,"c"],[9094,0,"o"],[9095,0,"n"],[9096,0,"v"],[9097,0,"e"],[9098,0,"r"],[9099,0,"g"],[9100,0,"e"],[9101,0," "],[9102,0,"t"],[9103,0,"o"],[9104,0,"w"],[9105,0,"a"],[9106,0,"r"],[9107,0,"d"],[9108,0,"s"],[9109,0," "],[9110,0,"t"],[9111,0,"h"],[9112,0,"e"],[9113,0," "],[9114,0,"s"],[9115,0,"a"],[9116,0,"m"],[9117,0,"e"],[9118,0," "],[9119,0,"s"],[9120,0,"t"],[9121,0,"a"],[9122,0,"t"],[9123,0,"e"],[9124,0,","],[9125,0," "],[9126,0,"o"],[9127,0,"r"],[9128,0," "],[9129,0,"m"],[9130,0,"o"],[9131,0,"r"],[9132,0,"e"],[9133,0," "],[9134,0,"f"],[9135,0,"o"],[9136,0,"r"],[9137,0,"m"],[9138,0,"a"],[9139,0,"l"],[9140,0,"l"],[9141,0,"y"],[9142,0,","],[9143,0," "],[9144,0,"a"],[9145,0,"n"],[9146,0,"y"],[9147,0," "],[9148,0,"t"],[9149,0,"w"],[9150,0,"o"],[9151,0," "],[9152,0,"r"],[9153,0,"e"],[9154,0,"p"],[9155,0,"l"],[9156,0,"i"],[9157,0,"c"],[9158,0,"a"],[9159,0,"s"],[9160,0," "],[9161,0,"t"],[9162,0,"h"],[9163,0,"a"],[9164,0,"t"],[9165,0," "],[9166,0,"h"],[9167,0,"a"],[9168,0,"v"],[9169,0,"e"],[9170,0," "],[9171,0,"p"],[9172,0,"r"],[9173,0,"o"],[9174,0,"c"],[9175,0,"e"],[9176,0,"s"],[9177,0,"s"],[9178,0,"e"],[9179,0,"d"],[9180,0," "],[9181,0,"t"],[9182,0,"h"],[9183,0,"e"],[9184,0," "],[9185,0,"s"],[9186,0,"a"],[9187,0,"m"],[9188,0,"e"],[9189,0," "],[9190,0,"s"],[9191,0,"e"],[9192,0,"t"],[9193,0," "],[9194,0,"o"],[9195,0,"f"],[9196,0," "],[9197,0,"o"],[9198,0,"p"],[9199,0,"e"],[9200,0,"r"],[9084,0,"a"],[9085,0,"l"],[9086,0,"l"],[9087,0," "],[9096,0," "],[9097,0,"e"],[9098,0,"v"],[9099,0,"e"],[9100,0,"n"],[9101,0,"t"],[9102,0,"u"],[9103,0,"a"],[9104,0,"l"],[9105,0,"l"],[9106,0,"y"],[9215,1],[9214,1],[9213,1],[9212,1],[9211,1],[9210,1],[9209,1],[9208,1],[9207,1],[9206,1],[9205,1],[9204,1],[9203,1],[9202,1],[9201,1],[9200,1],[9199,1],[9198,1],[9197,1],[9196,1],[9195,1],[9194,1],[9193,1],[9192,1],[9191,1],[9190,1],[9189,1],[9188,1],[9187,1],[9186,1],[9185,1],[9184,1],[9183,1],[9182,1],[9181,1],[9180,1],[9179,1],[9178,1],[9177,1],[9176,1],[9175,1],[9174,1],[9173,1],[9172,1],[9171,1],[9170,1],[9169,1],[9168,1],[9167,1],[9166,1],[9165,1],[9164,1],[9163,1],[9162,1],[9161,1],[9160,1],[9159,1],[9158,1],[9157,1],[9156,1],[9155,1],[9154,1],[9153,1],[9152,1],[9151,1],[9150,1],[9149,1],[9148,1],[9147,1],[9146,1],[9145,1],[9144,1],[9143,1],[9142,1],[9141,1],[9083,0," "],[9084,0,"a"],[9085,0,"f"],[9086,0,"t"],[9087,0,"e"],[9088,0,"r"],[9089,0," "],[9090,0,"a"],[9091,0,"n"],[9092,0,"y"],[9093,0," "],[9094,0,"s"],[9095,0,"e"],[9096,0,"q"],[9097,0,"u"],[9098,0,"e"],[9099,0,"n"],[9100,0,"c"],[9101,0,"e"],[9102,0," "],[9103,0,"o"],[9104,0,"f"],[9105,0," "],[9106,0,"c"],[9107,0,"o"],[9108,0,"n"],[9109,0,"c"],[9110,0,"u"],[9111,0,"r"],[9112,0,"r"],[9113,0,"e"],[9114,0,"n"],[9115,0,"t"],[9116,0," "],[9117,0,"m"],[9118,0,"o"],[9119,0,"d"],[9120,0,"i"],[9121,0,"f"],[9122,0,"i"],[9123,0,"c"],[9124,0,"a"],[9125,0,"t"],[9126,0,"i"],[9127,0,"o"],[9128,0,"n"],[9129,0,"s"],[9130,0,","],[9188,1],[9187,1],[9187,0,"."],[9238,0," "],[9239,0,"w"],[9240,0,"e"],[9241,0," "],[9242,0,"p"],[9243,0,"r"],[9244,0,"o"],[9245,0,"v"],[9246,0,"e"],[9247,0," "],[9248,0,"t"],[9249,0,"h"],[9250,0,"a"],[9251,0,"t"],[9252,0," "],[9253,0,"o"],[9254,0,"u"],[9255,0,"r"],[9256,0," "],[9257,0,"a"],[9258,0,"l"],[9259,0,"g"],[9260,0,"o"],[9261,0,"r"],[9262,0,"i"],[9263,0,"t"],[9264,0,"h"],[9265,0,"m"],[9266,0," "],[9267,0,"s"],[9268,0,"a"],[9269,0,"t"],[9270,0,"i"],[9271,0,"s"],[9272,0,"f"],[9273,0,"i"],[9274,0,"e"],[9275,0,"s"],[9276,0," "],[9277,0,"t"],[9278,0,"h"],[9279,0,"i"],[9280,0,"s"],[9281,0," "],[9282,0,"r"],[9283,0,"e"],[9284,0,"q"],[9285,0,"u"],[9286,0,"i"],[9287,0,"r"],[9288,0,"e"],[9289,0,"m"],[9290,0,"e"],[9291,0,"n"],[9292,0,"t"],[9247,0," "],[9248,0,"a"],[9249,0," "],[9250,0,"t"],[9251,0,"h"],[9252,0,"e"],[9253,0,"o"],[9254,0,"r"],[9255,0,"e"],[9256,0,"m"],[9257,0," "],[9258,0,"t"],[9259,0,"o"],[9260,0," "],[9261,0,"s"],[9262,0,"h"],[9263,0,"o"],[9264,0,"w"],[9032,0," "],[9033,0,"t"],[9034,0,"h"],[9035,0,"a"],[9036,0,"t"],[9037,0," "],[9038,0,"c"],[9039,0,"a"],[9040,0,"n"],[9041,0," "],[9042,0,"b"],[9043,0,"e"],[9044,0," "],[9045,0,"d"],[9046,0,"e"],[9047,0,"p"],[9048,0,"l"],[9049,0,"o"],[9050,0,"y"],[9051,0,"e"],[9052,0,"d"],[9053,0," "],[9054,0,"o"],[9055,0,"n"],[9056,0," "],[9057,0,"a"],[9058,0,"n"],[9059,0,"y"],[9060,0," "],[9061,0,"n"],[9062,0,"e"],[9063,0,"t"],[9064,0,"w"],[9065,0,"o"],[9066,0,"r"],[9067,0,"k"],[9068,0," "],[9069,0,"t"],[9070,0,"o"],[9071,0,"p"],[9072,0,"o"],[9073,0,"l"],[9074,0,"o"],[9075,0,"g"],[9076,0,"y"],[9710,1],[9710,0," "],[9723,0,","],[15315,0," "],[15316,0,"-"],[15317,0,"-"],[15318,0," "],[15319,0,"i"],[15320,0,"n"],[15321,0," "],[15322,0,"o"],[15323,0,"t"],[15324,0,"h"],[15325,0,"e"],[15326,0,"r"],[15327,0," "],[15328,0,"w"],[15329,0,"o"],[15330,0,"r"],[15331,0,"d"],[15332,0,"s"],[15333,0,","],[15334,0," "],[15335,0,"t"],[15336,0,"h"],[15337,0,"e"],[15338,0," "],[15339,0,"o"],[15340,0,"n"],[15341,0,"l"],[15342,0,"y"],[15343,0," "],[15344,0,"d"],[15345,0,"a"],[15346,0,"t"],[15347,0,"a"],[15348,0,"t"],[15349,0,"y"],[15350,0,"p"],[15351,0,"e"],[15352,0," "],[15353,0,"i"],[15354,0,"t"],[15355,0," "],[15356,0,"s"],[15357,0,"u"],[15358,0,"p"],[15359,0,"p"],[15360,0,"o"],[15361,0,"r"],[15362,0,"t"],[15363,0,"s"],[15364,0," "],[15365,0,"i"],[15366,0,"s"],[15367,0," "],[15368,0,"a"],[15369,0," "],[15370,0,"m"],[15371,0,"u"],[15372,0,"l"],[15373,0,"t"],[15374,0,"i"],[15375,0,"-"],[15376,0,"v"],[15377,0,"a"],[15378,0,"l"],[15379,0,"u"],[15380,0,"e"],[15381,0," "],[15382,0,"r"],[15383,0,"e"],[15384,0,"g"],[15385,0,"i"],[15386,0,"s"],[15387,0,"t"],[15388,0,"e"],[15389,0,"r"],[21995,1],[21995,1],[21995,1],[21995,1],[21995,1],[21995,1],[21995,1],[21995,1],[21995,1],[21995,0,"s"],[21996,0,"h"],[21997,0,"o"],[21998,0,"p"],[21999,0,"p"],[22000,0,"i"],[22001,0,"n"],[22002,0,"g"],[22069,1],[22068,1],[22067,1],[22066,1],[22065,1],[22064,1],[22063,1],[22062,1],[22061,1],[22061,0,"s"],[22062,0,"h"],[22063,0,"o"],[22064,0,"p"],[22065,0,"p"],[22066,0,"i"],[22067,0,"n"],[22068,0,"g"],[22135,1],[22134,1],[22133,1],[22132,1],[22131,1],[22130,1],[22129,1],[22128,1],[22127,1],[22127,0,"s"],[22128,0,"h"],[22129,0,"o"],[22130,0,"p"],[22131,0,"p"],[22132,0,"i"],[22133,0,"n"],[22134,0,"g"],[22209,1],[22208,1],[22207,1],[22206,1],[22205,1],[22204,1],[22203,1],[22202,1],[22201,1],[22201,0,"s"],[22202,0,"h"],[22203,0,"o"],[22204,0,"p"],[22205,0,"p"],[22206,0,"i"],[22207,0,"n"],[22208,0,"g"],[22292,1],[22291,1],[22290,1],[22289,1],[22288,1],[22287,1],[22286,1],[22285,1],[22284,1],[22284,0,"s"],[22285,0,"h"],[22286,0,"o"],[22287,0,"p"],[22288,0,"p"],[22289,0,"i"],[22290,0,"n"],[22291,0,"g"],[22366,1],[22365,1],[22364,1],[22363,1],[22362,1],[22361,1],[22360,1],[22359,1],[22358,1],[22358,0,"s"],[22359,0,"h"],[22360,0,"o"],[22361,0,"p"],[22362,0,"p"],[22363,0,"i"],[22364,0,"n"],[22365,0,"g"],[22451,1],[22450,1],[22449,1],[22448,1],[22447,1],[22446,1],[22445,1],[22444,1],[22443,1],[22443,0,"s"],[22444,0,"h"],[22445,0,"o"],[22446,0,"p"],[22447,0,"p"],[22448,0,"i"],[22449,0,"n"],[22450,0,"g"],[22555,1],[22554,1],[22553,1],[22552,1],[22551,1],[22550,1],[22549,1],[22548,1],[22547,1],[22547,0,"s"],[22548,0,"h"],[22549,0,"o"],[22550,0,"p"],[22551,0,"p"],[22552,0,"i"],[22553,0,"n"],[22554,0,"g"],[22739,1],[22738,1],[22737,1],[22736,1],[22735,1],[22734,1],[22733,1],[22732,1],[22731,1],[22731,0,"s"],[22732,0,"h"],[22733,0,"o"],[22734,0,"p"],[22735,0,"p"],[22736,0,"i"],[22737,0,"n"],[22738,0,"g"],[22817,1],[22816,1],[22815,1],[22814,1],[22813,1],[22812,1],[22811,1],[22810,1],[22809,1],[22809,0,"s"],[22810,0,"h"],[22811,0,"o"],[22812,0,"p"],[22813,0,"p"],[22814,0,"i"],[22815,0,"n"],[22816,0,"g"],[22896,1],[22895,1],[22894,1],[22893,1],[22892,1],[22891,1],[22890,1],[22889,1],[22888,1],[22888,0,"s"],[22889,0,"h"],[22890,0,"o"],[22891,0,"p"],[22892,0,"p"],[22893,0,"i"],[22894,0,"n"],[22895,0,"g"],[22990,1],[22989,1],[22988,1],[22987,1],[22986,1],[22985,1],[22984,1],[22983,1],[22982,1],[22982,0,"s"],[22983,0,"h"],[22984,0,"o"],[22985,0,"p"],[22986,0,"p"],[22987,0,"i"],[22988,0,"n"],[22989,0,"g"],[23698,1],[23697,1],[23696,1],[23695,1],[23694,1],[23693,1],[23692,1],[23691,1],[23690,1],[23690,0,"s"],[23691,0,"h"],[23692,0,"o"],[23693,0,"p"],[23694,0,"p"],[23695,0,"i"],[23696,0,"n"],[23697,0,"g"],[23697,1],[23696,1],[23695,1],[23694,1],[23693,1],[23692,1],[23691,1],[23690,1],[23690,0,"g"],[23691,0,"r"],[23692,0,"o"],[23693,0,"c"],[23694,0,"e"],[23695,0,"r"],[23696,0,"y"],[23697,0,"t"],[23697,1],[22989,1],[22988,1],[22987,1],[22986,1],[22985,1],[22984,1],[22983,1],[22982,1],[22982,0,"g"],[22983,0,"r"],[22984,0,"o"],[22985,0,"c"],[22986,0,"e"],[22987,0,"r"],[22988,0,"y"],[22895,1],[22894,1],[22893,1],[22892,1],[22891,1],[22890,1],[22889,1],[22888,1],[22888,0,"g"],[22889,0,"r"],[22890,0,"o"],[22891,0,"c"],[22892,0,"e"],[22893,0,"r"],[22894,0,"y"],[22816,1],[22815,1],[22814,1],[22813,1],[22812,1],[22811,1],[22810,1],[22809,1],[22809,0,"g"],[22810,0,"r"],[22811,0,"o"],[22812,0,"c"],[22813,0,"e"],[22814,0,"r"],[22815,0,"y"],[22738,1],[22737,1],[22736,1],[22735,1],[22734,1],[22733,1],[22732,1],[22731,1],[22731,0,"g"],[22732,0,"r"],[22733,0,"o"],[22734,0,"c"],[22735,0,"e"],[22736,0,"r"],[22737,0,"y"],[22554,1],[22553,1],[22552,1],[22551,1],[22550,1],[22549,1],[22548,1],[22547,1],[22547,0,"g"],[22548,0,"r"],[22549,0,"o"],[22550,0,"c"],[22551,0,"e"],[22552,0,"r"],[22553,0,"y"],[22450,1],[22449,1],[22448,1],[22447,1],[22446,1],[22445,1],[22444,1],[22443,1],[22443,0,"g"],[22444,0,"r"],[22445,0,"o"],[22446,0,"c"],[22447,0,"e"],[22448,0,"r"],[22449,0,"y"],[22365,1],[22364,1],[22363,1],[22362,1],[22361,1],[22360,1],[22359,1],[22358,1],[22358,0,"g"],[22359,0,"r"],[22360,0,"o"],[22361,0,"c"],[22362,0,"e"],[22363,0,"r"],[22364,0,"y"],[22291,1],[22290,1],[22289,1],[22288,1],[22287,1],[22286,1],[22285,1],[22284,1],[22284,0,"g"],[22285,0,"r"],[22286,0,"o"],[22287,0,"c"],[22288,0,"e"],[22289,0,"r"],[22290,0,"y"],[22208,1],[22207,1],[22206,1],[22205,1],[22204,1],[22203,1],[22202,1],[22201,1],[22201,0,"g"],[22202,0,"r"],[22203,0,"o"],[22204,0,"c"],[22205,0,"e"],[22206,0,"r"],[22207,0,"y"],[22134,1],[22133,1],[22132,1],[22131,1],[22130,1],[22129,1],[22128,1],[22127,1],[22127,0,"g"],[22128,0,"r"],[22129,0,"o"],[22130,0,"c"],[22131,0,"e"],[22132,0,"r"],[22133,0,"y"],[22068,1],[22067,1],[22066,1],[22065,1],[22064,1],[22063,1],[22062,1],[22061,1],[22061,0,"g"],[22062,0,"r"],[22063,0,"o"],[22064,0,"c"],[22065,0,"e"],[22066,0,"r"],[22067,0,"y"],[22002,1],[22001,1],[22000,1],[21999,1],[21998,1],[21997,1],[21996,1],[21995,1],[21995,0,"g"],[21996,0,"r"],[21997,0,"o"],[21998,0,"c"],[21999,0,"e"],[22000,0,"r"],[22001,0,"y"],[26092,1],[26091,1],[26090,1],[26089,1],[26088,1],[26087,1],[26086,1],[26085,1],[26084,1],[26092,0," "],[26093,0,"$"],[26094,0,"p"],[26095,0,"$"],[26107,1],[26106,1],[26105,1],[26104,1],[26103,1],[26102,1],[26101,1],[26101,0,"v"],[26102,0,"i"],[26103,0,"n"],[26104,0,"g"],[26321,1],[26320,1],[26319,1],[26318,1],[26317,1],[26316,1],[26315,1],[26315,0,"c"],[26316,0,"a"],[26317,0,"s"],[26318,0,"e"],[25718,1],[25717,1],[25716,1],[25715,1],[25714,1],[25714,0,"F"],[25719,0,"l"],[25720,0,"y"],[25721,0,","],[25723,1],[25723,1],[25723,1],[25723,1],[25723,1],[25723,1],[25723,1],[25723,1],[25723,1],[25723,1],[25723,1],[26564,1],[26563,1],[26563,0,"f"],[26564,0,"o"],[26565,0,"r"],[30028,0," "],[30029,0,"a"],[30030,0,"s"],[30031,0,"y"],[30032,0,"n"],[30033,0,"c"],[30034,0,"h"],[30035,0,"r"],[30036,0,"o"],[30037,0,"n"],[30038,0,"o"],[30039,0,"u"],[30040,0,"s"],[30074,0,"b"],[30074,1],[29964,0,"i"],[29965,0,"m"],[29966,0,"m"],[29967,0,"e"],[29968,0,"d"],[29969,0,"i"],[29970,0,"a"],[29971,0,"t"],[29972,0,"e"],[29973,0,"l"],[29974,0,"y"],[29975,0," "],[46,0,"\n"],[47,0,"\\"],[48,0,"P"],[49,0,"a"],[50,0,"s"],[51,0,"s"],[52,0,"O"],[53,0,"p"],[54,0,"t"],[55,0,"i"],[56,0,"o"],[57,0,"n"],[58,0,"s"],[59,0,"T"],[60,0,"o"],[61,0,"P"],[62,0,"a"],[63,0,"c"],[64,0,"k"],[65,0,"a"],[66,0,"g"],[67,0,"e"],[68,0,"{"],[69,0,"h"],[70,0,"y"],[71,0,"p"],[72,0,"h"],[73,0,"e"],[74,0,"n"],[75,0,"s"],[76,0,"}"],[77,0,"{"],[78,0,"u"],[79,0,"r"],[80,0,"l"],[81,0,"}"],[300,1],[299,1],[298,1],[297,1],[296,1],[295,1],[294,1],[293,1],[292,1],[291,1],[290,1],[289,1],[288,1],[287,1],[286,1],[285,1],[284,1],[283,1],[282,1],[281,1],[280,1],[279,1],[278,1],[277,1],[276,1],[275,1],[275,0,"\n"],[276,0,"\\"],[277,0,"u"],[278,0,"s"],[279,0,"e"],[280,0,"p"],[281,0,"a"],[282,0,"c"],[283,0,"k"],[284,0,"a"],[285,0,"g"],[286,0,"e"],[287,0,"{"],[288,0,"u"],[289,0,"r"],[290,0,"l"],[291,0,"}"],[287,0,"["],[288,0,"h"],[289,0,"y"],[290,0,"p"],[291,0,"h"],[292,0,"e"],[293,0,"n"],[294,0,"s"],[295,0,"]"],[47,0,"%"],[82,1],[81,1],[80,1],[79,1],[78,1],[77,1],[76,1],[75,1],[74,1],[73,1],[72,1],[71,1],[70,1],[69,1],[68,1],[67,1],[66,1],[65,1],[64,1],[63,1],[62,1],[61,1],[60,1],[59,1],[58,1],[57,1],[56,1],[55,1],[54,1],[53,1],[52,1],[51,1],[50,1],[49,1],[48,1],[47,1],[46,1],[239,0,"\n"],[240,0,"\\"],[241,0,"u"],[242,0,"s"],[243,0,"e"],[244,0,"p"],[245,0,"a"],[246,0,"c"],[247,0,"k"],[248,0,"a"],[249,0,"g"],[250,0,"e"],[251,0,"["],[252,0,"h"],[253,0,"y"],[254,0,"p"],[255,0,"h"],[256,0,"e"],[257,0,"n"],[258,0,"b"],[259,0,"r"],[260,0,"e"],[261,0,"a"],[262,0,"k"],[263,0,"s"],[264,0,"]"],[265,0,"{"],[266,0,"b"],[267,0,"r"],[268,0,"e"],[269,0,"a"],[270,0,"k"],[271,0,"u"],[272,0,"r"],[273,0,"l"],[274,0,"}"],[275,0," "],[276,0,"%"],[277,0," "],[278,0,"F"],[279,0,"i"],[280,0,"x"],[281,0," "],[282,0,"U"],[283,0,"R"],[284,0,"L"],[285,0," "],[286,0,"l"],[287,0,"i"],[288,0,"n"],[289,0,"e"],[290,0," "],[291,0,"b"],[292,0,"r"],[293,0,"e"],[294,0,"a"],[295,0,"k"],[296,0,"i"],[297,0,"n"],[298,0,"g"],[299,0," "],[300,0,"w"],[301,0,"h"],[302,0,"e"],[303,0,"n"],[304,0," "],[305,0,"u"],[306,0,"s"],[307,0,"i"],[308,0,"n"],[309,0,"g"],[310,0," "],[311,0,"d"],[312,0,"v"],[313,0,"i"],[314,0,"p"],[315,0,"s"],[316,0," "],[317,0,"("],[318,0,"e"],[319,0,"."],[320,0,"g"],[321,0,"."],[322,0," "],[323,0,"a"],[324,0,"r"],[325,0,"x"],[326,0,"i"],[327,0,"v"],[328,0,"."],[329,0,"o"],[330,0,"r"],[331,0,"g"],[332,0,")"],[358,1],[357,1],[356,1],[355,1],[354,1],[353,1],[352,1],[351,1],[350,1],[349,1],[348,1],[347,1],[346,1],[345,1],[344,1],[343,1],[342,1],[341,1],[340,1],[339,1],[338,1],[337,1],[336,1],[335,1],[334,1],[333,1],[239,0,"\n"],[240,0,"\\"],[241,0,"u"],[242,0,"s"],[243,0,"e"],[244,0,"p"],[245,0,"a"],[246,0,"c"],[247,0,"k"],[248,0,"a"],[249,0,"g"],[250,0,"e"],[251,0,"["],[252,0,"h"],[253,0,"y"],[254,0,"p"],[255,0,"h"],[256,0,"e"],[257,0,"n"],[258,0,"s"],[259,0,"]"],[260,0,"{"],[261,0,"u"],[262,0,"r"],[263,0,"l"],[264,0,"}"],[239,0,"\n"],[240,0,"\\"],[241,0,"u"],[242,0,"s"],[243,0,"e"],[244,0,"p"],[245,0,"a"],[246,0,"c"],[247,0,"k"],[248,0,"a"],[249,0,"g"],[250,0,"e"],[251,0,"{"],[252,0,"h"],[253,0,"y"],[254,0,"p"],[255,0,"e"],[256,0,"r"],[257,0,"r"],[258,0,"e"],[259,0,"f"],[260,0,"}"],[260,1],[259,1],[258,1],[257,1],[256,1],[255,1],[254,1],[253,1],[252,1],[251,1],[250,1],[249,1],[248,1],[247,1],[246,1],[245,1],[244,1],[243,1],[242,1],[241,1],[240,1],[239,1],[46,0,"\n"],[47,0,"\\"],[48,0,"P"],[49,0,"a"],[50,0,"s"],[51,0,"s"],[52,0,"O"],[53,0,"p"],[54,0,"t"],[55,0,"i"],[56,0,"o"],[57,0,"n"],[58,0,"s"],[59,0,"T"],[60,0,"o"],[61,0,"P"],[62,0,"a"],[63,0,"c"],[64,0,"k"],[65,0,"a"],[66,0,"g"],[67,0,"e"],[68,0,"{"],[69,0,"h"],[70,0,"y"],[71,0,"p"],[72,0,"h"],[73,0,"e"],[74,0,"n"],[75,0,"s"],[76,0,"}"],[77,0,"{"],[78,0,"u"],[79,0,"r"],[80,0,"l"],[81,0,"}"],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,1],[276,0,"\n"],[276,0,"\\"],[277,0,"u"],[278,0,"s"],[279,0,"e"],[280,0,"p"],[281,0,"a"],[282,0,"c"],[283,0,"k"],[284,0,"a"],[285,0,"g"],[286,0,"e"],[287,0,"{"],[288,0,"h"],[289,0,"y"],[290,0,"p"],[291,0,"e"],[292,0,"r"],[293,0,"r"],[294,0,"e"],[295,0,"f"],[296,0,"}"],[412,1],[411,1],[410,1],[409,1],[408,1],[407,1],[406,1],[405,1],[404,1],[403,1],[402,1],[401,1],[400,1],[399,1],[398,1],[397,1],[396,1],[395,1],[394,1],[393,1],[392,1],[391,1],[13583,0," "],[13584,0,"A"],[13585,0,"t"],[13586,0,"t"],[13587,0,"i"],[13588,0,"y"],[13589,0,"a"],[13590,0," "],[13591,0,"e"],[13592,0,"t"],[13593,0," "],[13594,0,"a"],[13595,0,"l"],[13596,0,"."],[13597,0,"~"],[13598,0,"\\"],[13599,0,"c"],[13600,0,"i"],[13601,0,"t"],[13602,0,"e"],[13603,0,"{"],[13604,0,"A"],[13605,0,"t"],[13606,0,"t"],[13607,0,"i"],[13608,0,"y"],[13609,0,"a"],[13610,0,":"],[13611,0,"2"],[13612,0,"0"],[13613,0,"1"],[13614,0,"6"],[13615,0,"k"],[13616,0,"h"],[13617,0,"}"],[13618,0," "],[13619,0,"f"],[13620,0,"u"],[13621,0,"r"],[13622,0,"t"],[13623,0,"h"],[13624,0,"e"],[13625,0,"r"],[13626,0," "],[13627,0,"a"],[13628,0,"n"],[13629,0,"a"],[13630,0,"l"],[13631,0,"y"],[13632,0,"z"],[13633,0,"e"],[13634,0," "],[13626,1],[13625,1],[13624,1],[13623,1],[13622,1],[13621,1],[13620,1],[13619,1],[13627,0,"t"],[13628,0,"h"],[13629,0,"e"],[13630,0," "],[13631,0,"p"],[13632,0,"r"],[13633,0,"o"],[13634,0,"b"],[13635,0,"l"],[13636,0,"e"],[13637,0,"m"],[13638,0," "],[13639,0,"o"],[13640,0,"f"],[13641,0," "],[13642,0,"c"],[13643,0,"o"],[13644,0,"l"],[13645,0,"l"],[13646,0,"a"],[13647,0,"b"],[13648,0,"o"],[13649,0,"r"],[13650,0,"a"],[13651,0,"t"],[13652,0,"i"],[13653,0,"v"],[13654,0,"e"],[13655,0," "],[13656,0,"e"],[13657,0,"d"],[13658,0,"i"],[13659,0,"t"],[13660,0,"i"],[13661,0,"n"],[13662,0,"g"],[13663,0," "],[13664,0,"o"],[13665,0,"f"],[13666,0," "],[13667,0,"o"],[13668,0,"r"],[13669,0,"d"],[13670,0,"e"],[13671,0,"r"],[13672,0,"e"],[13673,0,"d"],[13674,0," "],[13675,0,"l"],[13676,0,"i"],[13677,0,"s"],[13678,0,"t"],[13679,0,"s"],[13680,0,","],[13681,0," "],[13682,0,"a"],[13683,0,"n"],[13684,0,"d"],[13685,0," "],[13686,0,"p"],[13687,0,"r"],[13688,0,"o"],[13689,0,"v"],[13690,0,"i"],[13691,0,"d"],[13692,0,"e"],[13693,0," "],[13694,0,"a"],[13695,0," "],[13696,0,"c"],[13697,0,"o"],[13698,0,"r"],[13699,0,"r"],[13700,0,"e"],[13701,0,"c"],[13702,0,"t"],[13703,0,"n"],[13704,0,"e"],[13705,0,"s"],[13706,0,"s"],[13707,0," "],[13708,0,"p"],[13709,0,"r"],[13710,0,"o"],[13711,0,"o"],[13712,0,"f"],[13713,0," "],[13714,0,"o"],[13715,0,"f"],[13716,0," "],[13717,0,"t"],[13718,0,"h"],[13719,0,"e"],[13720,0," "],[13721,0,"R"],[13722,0,"G"],[13723,0,"A"],[13724,0," "],[13725,0,"p"],[13726,0,"r"],[13727,0,"o"],[13728,0,"t"],[13729,0,"o"],[13730,0,"c"],[13731,0,"o"],[13732,0,"l"],[13733,0,"."],[13640,1],[13639,1],[13638,1],[13637,1],[13636,1],[13635,1],[13634,1],[13633,1],[13632,1],[13631,1],[13631,0,"m"],[13632,0,"e"],[13633,0,"t"],[13634,0,"a"],[13635,0,"d"],[13636,0,"a"],[13637,0,"t"],[13638,0,"a"],[13639,0," "],[13640,0,"o"],[13641,0,"v"],[13642,0,"e"],[13643,0,"r"],[13644,0,"h"],[13645,0,"e"],[13646,0,"a"],[13647,0,"d"],[13648,0," "],[13649,0,"o"],[13650,0,"f"],[13665,0,"l"],[13666,0,"y"],[13674,1],[13673,1],[13672,1],[13672,0,"e"],[13673,0,"d"],[13675,1],[13675,1],[13675,1],[13785,1],[13784,1],[13783,1],[13782,1],[13782,0,"a"],[13783,0,"l"],[13784,0,"l"],[13785,0," "],[13786,0,"o"],[13787,0,"f"],[13788,0," "],[13789,0,"t"],[13790,0,"h"],[13791,0,"e"],[13792,0,"s"],[13793,0,"e"],[13794,0," "],[13795,0,"a"],[13796,0,"l"],[13797,0,"g"],[13798,0,"o"],[13799,0,"r"],[13800,0,"i"],[13801,0,"t"],[13802,0,"h"],[13803,0,"m"],[13804,0,"s"],[13793,1],[13792,1],[13792,0," "],[13793,0,"e"],[13794,0,"x"],[13795,0,"i"],[13796,0,"s"],[13797,0,"t"],[13798,0,"i"],[13799,0,"n"],[13800,0,"g"],[13812,0," "],[13813,0,"f"],[13814,0,"o"],[13815,0,"r"],[13816,0," "],[13817,0,"C"],[13818,0,"R"],[13819,0,"D"],[13820,0,"T"],[13821,0," "],[13822,0,"l"],[13823,0,"i"],[13824,0,"s"],[13825,0,"t"],[13826,0,"s"],[13827,0," "],[13828,0,"a"],[13829,0,"n"],[13830,0,"d"],[13831,0," "],[13832,0,"m"],[13833,0,"a"],[13834,0,"p"],[13835,0,"s"],[13800,1],[13799,1],[13798,1],[13797,1],[13796,1],[13795,1],[13794,1],[13793,1],[13793,0,"a"],[13794,0,"f"],[13795,0,"o"],[13796,0,"r"],[13797,0,"e"],[13798,0,"m"],[13799,0,"e"],[13800,0,"n"],[13801,0,"t"],[13802,0,"i"],[13803,0,"o"],[13804,0,"n"],[13805,0,"e"],[13806,0,"d"],[13891,1],[13890,1],[13889,1],[13888,1],[13887,1],[13886,1],[13885,1],[13884,1],[13883,1],[13882,1],[13881,1],[13880,1],[13879,1],[13878,1],[13877,1],[13876,1],[13875,1],[13874,1],[13873,1],[13872,1],[13871,1],[13870,1],[13869,1],[13868,1],[13857,1],[13856,1],[13855,1],[13855,0,"e"],[13856,0,"a"],[13857,0,"c"],[13858,0,"h"],[13859,0," "],[13860,0,"o"],[13861,0,"f"],[13862,0," "],[13863,0,"i"],[13864,0,"t"],[13865,0,"s"],[13878,1],[13877,1],[13876,1],[13876,0,"i"],[13877,0,"s"],[13878,0," "],[13879,0,"a"],[13896,1],[13863,1],[13863,1],[13863,1],[13863,0,"t"],[13864,0,"h"],[13865,0,"e"],[13866,0,"i"],[13867,0,"r"],[15002,0,"\n"],[15003,0,"\n"],[15004,0,"M"],[15005,0,"a"],[15006,0,"r"],[15007,0,"t"],[15008,0,"i"],[15009,0,"n"],[15010,0," "],[15011,0,"e"],[15012,0,"t"],[15013,0," "],[15014,0,"a"],[15015,0,"l"],[15016,0,"."],[15017,0,"~"],[15018,0,"\\"],[15019,0,"c"],[15020,0,"i"],[15021,0,"t"],[15022,0,"e"],[15023,0,"{"],[15024,0,"M"],[15025,0,"a"],[15026,0,"r"],[15027,0,"t"],[15028,0,"i"],[15029,0,"n"],[15030,0,":"],[15031,0,"2"],[15032,0,"0"],[15033,0,"1"],[15034,0,"0"],[15035,0,"i"],[15036,0,"h"],[15037,0,"}"],[15038,0," "],[15039,0,"g"],[15040,0,"e"],[15041,0,"n"],[15042,0,"e"],[15043,0,"r"],[15044,0,"a"],[15045,0,"l"],[15046,0,"i"],[15047,0,"z"],[15048,0,"e"],[15049,0," "],[15050,0,"L"],[15051,0,"o"],[15052,0,"g"],[15053,0,"o"],[15054,0,"o"],[15055,0,"t"],[15056,0,"~"],[15057,0,"\\"],[15058,0,"c"],[15059,0,"i"],[15060,0,"t"],[15061,0,"e"],[15062,0,"{"],[15063,0,"W"],[15064,0,"e"],[15065,0,"i"],[15066,0,"s"],[15067,0,"s"],[15068,0,":"],[15069,0,"2"],[15070,0,"0"],[15071,0,"1"],[15072,0,"0"],[15073,0,"h"],[15074,0,"x"],[15075,0,"}"],[15076,0," "],[15077,0,"t"],[15078,0,"o"],[15079,0," "],[15080,0,"s"],[15081,0,"u"],[15082,0,"p"],[15083,0,"p"],[15084,0,"o"],[15085,0,"r"],[15086,0,"t"],[15087,0," "],[15088,0,"c"],[15089,0,"o"],[15090,0,"l"],[15091,0,"l"],[15092,0,"a"],[15093,0,"b"],[15094,0,"o"],[15095,0,"r"],[15096,0,"a"],[15097,0,"t"],[15098,0,"i"],[15099,0,"v"],[15100,0,"e"],[15101,0," "],[15102,0,"e"],[15103,0,"d"],[15104,0,"i"],[15105,0,"t"],[15106,0,"i"],[15107,0,"n"],[15108,0,"g"],[15109,0," "],[15110,0,"o"],[15111,0,"f"],[15112,0," "],[15113,0,"X"],[15114,0,"M"],[15115,0,"L"],[15116,0," "],[15117,0,"d"],[15118,0,"o"],[15119,0,"c"],[15120,0,"u"],[15121,0,"m"],[15122,0,"e"],[15123,0,"n"],[15124,0,"t"],[15125,0,"s"],[15126,0,"~"],[15127,0,"-"],[15128,0,"-"],[15129,0," "],[15130,0,"t"],[15131,0,"h"],[15132,0,"a"],[15133,0,"t"],[15134,0," "],[15135,0,"i"],[15136,0,"s"],[15137,0,","],[15138,0," "],[15139,0,"a"],[15140,0," "],[15141,0,"t"],[15142,0,"r"],[15143,0,"e"],[15144,0,"e"],[15145,0," "],[15146,0,"o"],[15147,0,"f"],[15148,0," "],[15149,0,"n"],[15150,0,"e"],[15151,0,"s"],[15152,0,"t"],[15153,0,"e"],[15154,0,"d"],[15155,0," "],[15156,0,"o"],[15157,0,"r"],[15158,0,"d"],[15159,0,"e"],[15160,0,"r"],[15161,0,"e"],[15162,0,"d"],[15163,0," "],[15164,0,"l"],[15165,0,"i"],[15166,0,"s"],[15167,0,"t"],[15168,0,"s"],[15169,0,"."],[15170,0," "],[15171,0,"A"],[15172,0,"s"],[15173,0," "],[15174,0,"d"],[15175,0,"i"],[15176,0,"s"],[15177,0,"c"],[15178,0,"u"],[15179,0,"s"],[15180,0,"s"],[15181,0,"e"],[15182,0,"d"],[15004,0,"O"],[15005,0,"n"],[15006,0," "],[15007,0,"t"],[15008,0,"h"],[15009,0,"e"],[15010,0," "],[15011,0,"o"],[15012,0,"t"],[15013,0,"h"],[15014,0,"e"],[15015,0,"r"],[15016,0," "],[15017,0,"h"],[15018,0,"a"],[15019,0,"n"],[15020,0,"d"],[15021,0,","],[15022,0," "],[15202,0," "],[15203,0,"i"],[15204,0,"n"],[15205,0," "],[15206,0,"S"],[15207,0,"e"],[15208,0,"c"],[15209,0,"t"],[15210,0,"i"],[15211,0,"o"],[15212,0,"n"],[15213,0,"~"],[15214,0,"\\"],[15215,0,"r"],[15216,0,"e"],[15217,0,"f"],[15218,0,"{"],[15219,0,"s"],[15220,0,"e"],[15221,0,"c"],[15222,0,":"],[15223,0,"j"],[15224,0,"s"],[15225,0,"o"],[15226,0,"n"],[15227,0,"-"],[15228,0,"x"],[15229,0,"m"],[15230,0,"l"],[15231,0,"}"],[15232,0,","],[15233,0," "],[15234,0,"s"],[15235,0,"u"],[15236,0,"c"],[15237,0,"h"],[15238,0," "],[15188,0,"~"],[15189,0,"-"],[15190,0,"-"],[15191,0," "],[15192,0,"w"],[15193,0,"i"],[15194,0,"t"],[15195,0,"h"],[15196,0,"o"],[15197,0,"u"],[15198,0,"t"],[15199,0," "],[15200,0,"a"],[15201,0," "],[15202,0,"m"],[15203,0,"a"],[15204,0,"p"],[15205,0," "],[15206,0,"d"],[15207,0,"a"],[15208,0,"t"],[15209,0,"a"],[15209,1],[15208,1],[15207,1],[15206,1],[15205,1],[15204,1],[15203,1],[15202,1],[15201,1],[15200,1],[15200,0,"n"],[15201,0,"e"],[15202,0,"s"],[15203,0,"t"],[15204,0,"e"],[15205,0,"d"],[15206,0," "],[15207,0,"m"],[15208,0,"a"],[15209,0,"p"],[15210,0,"s"],[15190,1],[15189,1],[15188,1],[15259,0,"a"],[15260,0," "],[15261,0,"s"],[15262,0,"t"],[15263,0,"r"],[15264,0,"u"],[15265,0,"c"],[15266,0,"t"],[15267,0,"u"],[15268,0,"r"],[15269,0,"e"],[15270,0," "],[15271,0,"d"],[15272,0,"o"],[15273,0,"e"],[15274,0,"s"],[15275,0," "],[15276,0,"n"],[15277,0,"o"],[15278,0,"t"],[15279,0," "],[15280,0,"c"],[15281,0,"a"],[15282,0,"p"],[15283,0,"t"],[15284,0,"u"],[15285,0,"r"],[15286,0,"e"],[15287,0," "],[15288,0,"t"],[15289,0,"h"],[15290,0,"e"],[15291,0," "],[15292,0,"e"],[15293,0,"x"],[15294,0,"p"],[15295,0,"r"],[15296,0,"e"],[15297,0,"s"],[15298,0,"s"],[15299,0,"i"],[15300,0,"v"],[15301,0,"i"],[15302,0,"t"],[15303,0,"y"],[15304,0," "],[15305,0,"o"],[15306,0,"f"],[15307,0," "],[15308,0,"J"],[15309,0,"S"],[15310,0,"O"],[15311,0,"N"],[15312,0,"."],[15303,1],[15302,1],[15301,1],[15301,0,"e"],[15302,0,"n"],[15303,0,"e"],[15304,0,"s"],[15305,0,"s"],[41134,0," "],[41135,0,"d"],[41136,0,"o"],[41137,0," "],[41138,0,"n"],[41139,0,"o"],[41140,0,"t"],[41141,0," "],[41142,0,"d"],[41143,0,"e"],[41144,0,"p"],[41145,0,"e"],[41146,0,"n"],[41147,0,"d"],[41148,0," "],[41149,0,"o"],[41150,0,"n"],[41151,0," "],[41152,0,"$"],[41153,0,"A"],[41154,0,"_"],[41155,0,"q"],[41156,0,"$"],[41157,0," "],[41158,0,"("],[41159,0,"t"],[41160,0,"h"],[41161,0,"e"],[41162,0," "],[41163,0,"s"],[41164,0,"t"],[41165,0,"a"],[41166,0,"t"],[41167,0,"e"],[41168,0," "],[41169,0,"o"],[41170,0,"f"],[41171,0," "],[41172,0,"a"],[41173,0,"n"],[41174,0,"y"],[41175,0," "],[41176,0,"o"],[41177,0,"t"],[41178,0,"h"],[41179,0,"e"],[41180,0,"r"],[41181,0," "],[41182,0,"r"],[41183,0,"e"],[41184,0,"p"],[41185,0,"l"],[41186,0,"i"],[41187,0,"c"],[41188,0,"a"],[41189,0," "],[41190,0,"$"],[41191,0,"q"],[41192,0,"\\"],[41192,0," "],[41194,0,"n"],[41195,0,"e"],[41196,0,"q"],[41197,0," "],[41198,0,"q"],[41198,1],[41198,0,"p"],[41199,0,"$"],[41200,0,")"],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[41201,1],[78117,0,"\n"],[78118,0,"\n"],[78119,0,"\\"],[78120,0,"b"],[78121,0,"e"],[78122,0,"g"],[78123,0,"i"],[78124,0,"n"],[78125,0,"{"],[78126,0,"I"],[78127,0,"E"],[78128,0,"E"],[78129,0,"E"],[78130,0,"b"],[78131,0,"i"],[78132,0,"o"],[78133,0,"g"],[78134,0,"r"],[78135,0,"a"],[78136,0,"p"],[78137,0,"h"],[78138,0,"y"],[78139,0,"}"],[78140,0,"{"],[78141,0,"M"],[78142,0,"a"],[78143,0,"r"],[78144,0,"t"],[78145,0,"i"],[78146,0,"n"],[78147,0," "],[78148,0,"K"],[78149,0,"l"],[78150,0,"e"],[78151,0,"p"],[78152,0,"p"],[78153,0,"m"],[78154,0,"a"],[78155,0,"n"],[78156,0,"n"],[78157,0,"}"],[78158,0,"\n"],[78159,0,"T"],[78160,0,"O"],[78161,0,"D"],[78162,0,"O"],[78163,0,"\n"],[78164,0,"\\"],[78165,0,"e"],[78166,0,"n"],[78167,0,"d"],[78168,0,"{"],[78169,0,"I"],[78170,0,"E"],[78171,0,"E"],[78172,0,"E"],[78173,0,"b"],[78174,0,"i"],[78175,0,"o"],[78176,0,"g"],[78177,0,"r"],[78178,0,"a"],[78179,0,"p"],[78180,0,"h"],[78181,0,"y"],[78182,0,"}"],[78183,0,"\n"],[78184,0,"\n"],[78185,0,"\\"],[78186,0,"b"],[78187,0,"e"],[78188,0,"g"],[78189,0,"i"],[78190,0,"n"],[78191,0,"{"],[78192,0,"I"],[78193,0,"E"],[78194,0,"E"],[78195,0,"E"],[78196,0,"b"],[78197,0,"i"],[78198,0,"o"],[78199,0,"g"],[78200,0,"r"],[78201,0,"a"],[78202,0,"p"],[78203,0,"h"],[78204,0,"y"],[78205,0,"}"],[78206,0,"{"],[78207,0,"A"],[78208,0,"l"],[78209,0,"a"],[78210,0,"s"],[78211,0,"t"],[78212,0,"a"],[78213,0,"i"],[78214,0,"r"],[78215,0," "],[78216,0,"R"],[78217,0,"."],[78218,0," "],[78218,1],[78218,0,"\\"],[78219,0," "],[78220,0,"B"],[78221,0,"e"],[78222,0,"r"],[78223,0,"e"],[78224,0,"s"],[78225,0,"f"],[78226,0,"o"],[78227,0,"r"],[78228,0,"d"],[78229,0,"}"],[78218,1],[78229,0,"\n"],[78230,0,"\\"],[78231,0,"e"],[78232,0,"n"],[78233,0,"d"],[78234,0,"{"],[78235,0,"I"],[78236,0,"E"],[78237,0,"E"],[78238,0,"E"],[78239,0,"b"],[78240,0,"i"],[78241,0,"o"],[78242,0,"g"],[78243,0,"r"],[78244,0,"a"],[78245,0,"p"],[78246,0,"h"],[78247,0,"y"],[78248,0,"}"],[78230,0,"\n"],[78230,0,"T"],[78231,0,"O"],[78232,0,"D"],[78233,0,"O"],[78140,0,"["],[78141,0,"{"],[78142,0,"\\"],[78143,0,"i"],[78144,0,"n"],[78145,0,"c"],[78146,0,"l"],[78147,0,"u"],[78148,0,"d"],[78149,0,"e"],[78150,0,"g"],[78151,0,"r"],[78152,0,"a"],[78153,0,"p"],[78154,0,"h"],[78155,0,"i"],[78156,0,"c"],[78157,0,"s"],[78158,0,"["],[78159,0,"]"],[78160,0,"{"],[78161,0,"m"],[78162,0,"k"],[78163,0,"4"],[78164,0,"2"],[78165,0,"8"],[78166,0,"."],[78167,0,"j"],[78168,0,"p"],[78169,0,"g"],[78170,0,"}"],[78171,0,"}"],[78172,0,"]"],[78159,0,"w"],[78160,0,"i"],[78161,0,"d"],[78162,0,"t"],[78163,0,"h"],[78164,0,"="],[78165,0,"1"],[78166,0,"i"],[78167,0,"n"],[78248,0,"["],[78249,0,"]"],[78249,0,"{"],[78250,0,"}"],[78250,0,"\\"],[78251,0,"i"],[78252,0,"n"],[78253,0,"c"],[78254,0,"l"],[78255,0,"u"],[78256,0,"d"],[78257,0,"e"],[78258,0,"g"],[78259,0,"r"],[78260,0,"a"],[78261,0,"p"],[78262,0,"h"],[78263,0,"i"],[78264,0,"c"],[78265,0,"s"],[78266,0,"["],[78267,0,"w"],[78268,0,"i"],[78269,0,"d"],[78270,0,"t"],[78271,0,"h"],[78272,0,"="],[78273,0,"1"],[78274,0,"i"],[78275,0,"n"],[78276,0,"]"],[78277,0,"{"],[78278,0,"a"],[78279,0,"r"],[78280,0,"b"],[78281,0,"3"],[78282,0,"3"],[78283,0,"."],[78284,0,"j"],[78285,0,"p"],[78286,0,"g"],[78287,0,"}"],[78287,1],[78287,0,"}"],[78317,1],[78316,1],[78315,1],[78314,1],[78314,0,"i"],[78315,0,"s"],[78316,0," "],[78317,0,"a"],[78318,0," "],[78319,0,"s"],[78320,0,"e"],[78320,1],[78319,1],[78319,0,"S"],[78320,0,"e"],[78321,0,"n"],[78322,0,"i"],[78323,0,"o"],[78324,0,"r"],[78325,0," "],[78326,0,"L"],[78327,0,"e"],[78328,0,"c"],[78329,0,"t"],[78330,0,"u"],[78331,0,"r"],[78332,0,"e"],[78333,0,"r"],[78334,0," "],[78335,0,"i"],[78336,0,"n"],[78337,0," "],[78338,0,"t"],[78339,0,"h"],[78340,0,"e"],[78341,0," "],[78342,0,"C"],[78343,0,"o"],[78344,0,"m"],[78345,0,"p"],[78346,0,"u"],[78347,0,"t"],[78348,0,"e"],[78349,0,"r"],[78350,0," "],[78351,0,"L"],[78352,0,"a"],[78353,0,"b"],[78354,0,"o"],[78355,0,"r"],[78356,0,"a"],[78357,0,"t"],[78358,0,"o"],[78359,0,"r"],[78360,0,"y"],[78361,0," "],[78362,0,"a"],[78363,0,"t"],[78364,0," "],[78365,0,"t"],[78366,0,"h"],[78367,0,"e"],[78368,0," "],[78369,0,"U"],[78370,0,"n"],[78371,0,"i"],[78372,0,"v"],[78373,0,"e"],[78374,0,"r"],[78375,0,"s"],[78376,0,"i"],[78377,0,"t"],[78378,0,"y"],[78379,0," "],[78380,0,"o"],[78381,0,"f"],[78382,0," "],[78383,0,"C"],[78384,0,"a"],[78385,0,"m"],[78386,0,"b"],[78387,0,"r"],[78388,0,"i"],[78389,0,"d"],[78390,0,"g"],[78391,0,"e"],[78392,0,"."],[78393,0," "],[78394,0,"H"],[78395,0,"e"],[78396,0," "],[78397,0,"o"],[78398,0,"b"],[78399,0,"t"],[78400,0,"a"],[78401,0,"i"],[78402,0,"n"],[78403,0,"e"],[78404,0,"d"],[78405,0," "],[78406,0,"h"],[78407,0,"i"],[78408,0,"s"],[78409,0," "],[78410,0,"P"],[78411,0,"h"],[78412,0,"D"],[78413,0," "],[78414,0,"f"],[78415,0,"r"],[78416,0,"o"],[78417,0,"m"],[78418,0," "],[78419,0,"t"],[78420,0,"h"],[78421,0,"e"],[78422,0," "],[78423,0,"U"],[78424,0,"n"],[78425,0,"i"],[78426,0,"v"],[78427,0,"e"],[78428,0,"r"],[78429,0,"s"],[78430,0,"i"],[78431,0,"t"],[78432,0,"y"],[78433,0," "],[78434,0,"o"],[78435,0,"f"],[78436,0," "],[78437,0,"C"],[78438,0,"a"],[78439,0,"m"],[78440,0,"b"],[78441,0,"r"],[78442,0,"i"],[78443,0,"d"],[78444,0,"g"],[78445,0,"e"],[78446,0,","],[78447,0," "],[78448,0,"w"],[78449,0,"o"],[78450,0,"r"],[78451,0,"k"],[78452,0,"i"],[78453,0,"n"],[78454,0,"g"],[78455,0," "],[78456,0,"a"],[78457,0,"t"],[78458,0," "],[78459,0,"t"],[78460,0,"h"],[78461,0,"e"],[78462,0," "],[78463,0,"i"],[78464,0,"n"],[78465,0,"t"],[78466,0,"e"],[78467,0,"r"],[78468,0,"s"],[78469,0,"e"],[78470,0,"c"],[78471,0,"t"],[78472,0,"i"],[78473,0,"o"],[78474,0,"n"],[78475,0," "],[78476,0,"o"],[78477,0,"f"],[78478,0," "],[78479,0,"m"],[78480,0,"o"],[78481,0,"b"],[78482,0,"i"],[78483,0,"l"],[78484,0,"e"],[78485,0," "],[78486,0,"c"],[78487,0,"o"],[78488,0,"m"],[78489,0,"p"],[78490,0,"u"],[78491,0,"t"],[78492,0,"i"],[78493,0,"n"],[78494,0,"g"],[78495,0," "],[78496,0,"a"],[78497,0,"n"],[78498,0,"d"],[78499,0," "],[78500,0,"c"],[78501,0,"o"],[78502,0,"m"],[78503,0,"p"],[78504,0,"u"],[78505,0,"t"],[78506,0,"e"],[78507,0,"r"],[78508,0," "],[78509,0,"s"],[78510,0,"e"],[78511,0,"c"],[78512,0,"u"],[78513,0,"r"],[78514,0,"i"],[78515,0,"t"],[78516,0,"y"],[78517,0,"."],[78518,0," "],[78519,0,"T"],[78520,0,"O"],[78521,0,"D"],[78522,0,"O"],[78523,0," "],[78524,0,"m"],[78525,0,"o"],[78526,0,"r"],[78527,0,"e"],[78528,0," "],[78529,0,"t"],[78530,0,"e"],[78531,0,"x"],[78532,0,"t"],[78204,1],[78203,1],[78202,1],[78201,1],[78201,0,"i"],[78202,0,"s"],[78203,0," "],[78204,0,"a"],[78205,0," "],[78206,0,"R"],[78207,0,"e"],[78208,0,"s"],[78209,0,"e"],[78210,0,"a"],[78211,0,"r"],[78212,0,"c"],[78213,0,"h"],[78214,0," "],[78215,0,"A"],[78216,0,"s"],[78217,0,"s"],[78218,0,"o"],[78219,0,"c"],[78220,0,"i"],[78221,0,"a"],[78222,0,"t"],[78223,0,"e"],[78224,0," "],[78225,0,"a"],[78226,0,"t"],[78226,1],[78225,1],[78225,0,"i"],[78226,0,"n"],[78227,0," "],[78228,0,"t"],[78229,0,"h"],[78230,0,"e"],[78231,0," "],[78232,0,"C"],[78233,0,"o"],[78234,0,"m"],[78235,0,"p"],[78236,0,"u"],[78237,0,"t"],[78238,0,"e"],[78239,0,"r"],[78240,0," "],[78241,0,"L"],[78242,0,"a"],[78243,0,"b"],[78244,0,"o"],[78245,0,"r"],[78246,0,"a"],[78247,0,"t"],[78248,0,"o"],[78249,0,"r"],[78250,0,"y"],[78251,0," "],[78252,0,"a"],[78253,0,"t"],[78254,0," "],[78255,0,"t"],[78256,0,"h"],[78257,0,"e"],[78258,0," "],[78259,0,"U"],[78260,0,"n"],[78261,0,"i"],[78262,0,"v"],[78263,0,"e"],[78264,0,"r"],[78265,0,"s"],[78266,0,"i"],[78267,0,"t"],[78268,0,"y"],[78269,0," "],[78270,0,"o"],[78271,0,"f"],[78272,0," "],[78273,0,"C"],[78274,0,"a"],[78275,0,"m"],[78276,0,"b"],[78277,0,"r"],[78278,0,"i"],[78279,0,"d"],[78280,0,"g"],[78281,0,"e"],[78282,0,"."],[78283,0," "],[78284,0,"I"],[78285,0,"n"],[78286,0," "],[78287,0,"h"],[78288,0,"i"],[78289,0,"s"],[78290,0," "],[78291,0,"c"],[78292,0,"u"],[78293,0,"r"],[78294,0,"r"],[78295,0,"e"],[78295,1],[78294,1],[78293,1],[78292,1],[78291,1],[78290,1],[78289,1],[78288,1],[78287,1],[78286,1],[78285,1],[78284,1],[78284,0,"H"],[78284,1],[78284,0,"I"],[78285,0,"n"],[78286,0," "],[78287,0,"t"],[78288,0,"h"],[78289,0,"i"],[78290,0,"s"],[78291,0," "],[78292,0,"c"],[78293,0,"u"],[78294,0,"r"],[78295,0,"r"],[78296,0,"e"],[78297,0,"n"],[78298,0,"t"],[78299,0," "],[78300,0,"r"],[78301,0,"e"],[78302,0,"s"],[78303,0,"e"],[78304,0,"a"],[78305,0,"r"],[78306,0,"c"],[78307,0,"h"],[78308,0," "],[78288,1],[78287,1],[78286,1],[78285,1],[78284,1],[78284,0,"H"],[78305,0,"p"],[78306,0,"r"],[78307,0,"o"],[78308,0,"j"],[78309,0,"e"],[78310,0,"c"],[78311,0,"t"],[78312,0,","],[78313,0," "],[78314,0,"T"],[78315,0,"R"],[78316,0,"V"],[78317,0,"E"],[78318,0," "],[78319,0,"D"],[78320,0,"a"],[78321,0,"t"],[78322,0,"a"],[78323,0,","],[78324,0," "],[78325,0,"i"],[78326,0,"s"],[78327,0," "],[78328,0,"w"],[78329,0,"o"],[78330,0,"r"],[78331,0,"k"],[78332,0,"i"],[78333,0,"n"],[78334,0,"g"],[78335,0," "],[78336,0,"t"],[78337,0,"o"],[78338,0,"w"],[78339,0,"a"],[78340,0,"r"],[78341,0,"d"],[78342,0,"s"],[78343,0," "],[78344,0,"b"],[78345,0,"e"],[78346,0,"t"],[78347,0,"t"],[78348,0,"e"],[78349,0,"r"],[78350,0," "],[78351,0,"s"],[78352,0,"e"],[78353,0,"c"],[78354,0,"u"],[78355,0,"r"],[78356,0,"i"],[78357,0,"t"],[78358,0,"y"],[78359,0," "],[78360,0,"a"],[78361,0,"n"],[78362,0,"d"],[78363,0," "],[78364,0,"p"],[78365,0,"r"],[78366,0,"i"],[78367,0,"v"],[78368,0,"a"],[78369,0,"c"],[78370,0,"y"],[78371,0," "],[78372,0,"i"],[78373,0,"n"],[78374,0," "],[78375,0,"c"],[78376,0,"l"],[78377,0,"o"],[78378,0,"u"],[78379,0,"d"],[78380,0," "],[78381,0,"a"],[78382,0,"p"],[78383,0,"p"],[78384,0,"l"],[78385,0,"i"],[78386,0,"c"],[78387,0,"a"],[78388,0,"t"],[78389,0,"i"],[78390,0,"o"],[78391,0,"n"],[78392,0,"s"],[78375,0,"c"],[78376,0,"o"],[78377,0,"l"],[78378,0,"l"],[78379,0,"a"],[78380,0,"b"],[78381,0,"o"],[78382,0,"r"],[78383,0,"a"],[78384,0,"t"],[78385,0,"i"],[78386,0,"v"],[78387,0,"e"],[78388,0," "],[78326,1],[78325,1],[78324,1],[78331,1],[78330,1],[78329,1],[78329,0,"s"],[78402,0," "],[78403,0,"b"],[78404,0,"y"],[78405,0," "],[78406,0,"a"],[78407,0,"p"],[78408,0,"p"],[78409,0,"l"],[78410,0,"y"],[78411,0,"i"],[78412,0,"n"],[78413,0,"g"],[78414,0," "],[78415,0,"e"],[78416,0,"n"],[78417,0,"d"],[78418,0,"-"],[78419,0,"t"],[78420,0,"o"],[78421,0,"-"],[78422,0,"e"],[78423,0,"n"],[78424,0,"d"],[78425,0," "],[78426,0,"e"],[78427,0,"n"],[78428,0,"c"],[78429,0,"r"],[78430,0,"y"],[78431,0,"p"],[78432,0,"t"],[78433,0,"i"],[78434,0,"o"],[78435,0,"n"],[78436,0," "],[78383,1],[78382,1],[78381,1],[78380,1],[78379,1],[78378,1],[78377,1],[78376,1],[78375,1],[78374,1],[78373,1],[78372,1],[78371,1],[78370,1],[78423,0,"t"],[78424,0,"o"],[78425,0," "],[78426,0,"c"],[78427,0,"o"],[78428,0,"l"],[78429,0,"l"],[78430,0,"a"],[78431,0,"b"],[78432,0,"o"],[78433,0,"r"],[78434,0,"a"],[78435,0,"t"],[78436,0,"i"],[78437,0,"v"],[78438,0,"e"],[78439,0,"l"],[78440,0,"y"],[78441,0," "],[78442,0,"e"],[78443,0,"d"],[78444,0,"i"],[78445,0,"t"],[78446,0,"a"],[78447,0,"b"],[78448,0,"l"],[78449,0,"e"],[78450,0," "],[78391,0," "],[78392,0,"m"],[78393,0,"a"],[78394,0,"i"],[78395,0,"n"],[78396,0,"t"],[78397,0,"a"],[78398,0,"i"],[78399,0,"n"],[78400,0,"i"],[78401,0,"n"],[78402,0,"g"],[78403,0," "],[78403,1],[78402,1],[78401,1],[78400,1],[78399,1],[78398,1],[78397,1],[78396,1],[78395,1],[78394,1],[78393,1],[78392,1],[78391,1],[78451,0,"a"],[78452,0,"p"],[78453,0,"p"],[78454,0,"l"],[78455,0,"i"],[78456,0,"c"],[78457,0,"a"],[78458,0,"t"],[78459,0,"i"],[78460,0,"o"],[78461,0,"n"],[78462,0," "],[78463,0,"d"],[78464,0,"a"],[78465,0,"t"],[78466,0,"a"],[78467,0,"."],[78468,0," "],[78469,0,"H"],[78470,0,"e"],[78471,0," "],[78472,0,"p"],[78473,0,"r"],[78474,0,"e"],[78475,0,"v"],[78476,0,"i"],[78477,0,"o"],[78478,0,"u"],[78479,0,"s"],[78480,0,"l"],[78481,0,"y"],[78482,0," "],[78482,1],[78481,1],[78480,1],[78479,1],[78478,1],[78477,1],[78476,1],[78475,1],[78474,1],[78473,1],[78472,1],[78471,1],[78470,1],[78470,0,"i"],[78471,0,"s"],[78472,0," "],[78473,0,"b"],[78474,0,"o"],[78475,0,"o"],[78476,0,"k"],[78477,0," "],[78478,0,"\\"],[78479,0,"e"],[78480,0,"m"],[78481,0,"p"],[78482,0,"h"],[78483,0,"{"],[78484,0,"D"],[78485,0,"e"],[78486,0,"s"],[78487,0,"i"],[78488,0,"g"],[78489,0,"n"],[78490,0,"i"],[78491,0,"n"],[78492,0,"g"],[78493,0," "],[78494,0,"D"],[78495,0,"a"],[78496,0,"t"],[78497,0,"a"],[78498,0,"-"],[78499,0,"I"],[78500,0,"n"],[78501,0,"t"],[78502,0,"e"],[78503,0,"n"],[78504,0,"s"],[78505,0,"i"],[78506,0,"v"],[78507,0,"e"],[78508,0," "],[78509,0,"A"],[78510,0,"p"],[78511,0,"p"],[78512,0,"l"],[78513,0,"i"],[78514,0,"c"],[78515,0,"a"],[78516,0,"t"],[78517,0,"i"],[78518,0,"o"],[78519,0,"n"],[78520,0,"s"],[78521,0,"}"],[78522,0," "],[78523,0,"w"],[78524,0,"a"],[78525,0,"s"],[78526,0," "],[78527,0,"p"],[78528,0,"u"],[78529,0,"b"],[78530,0,"l"],[78531,0,"i"],[78532,0,"s"],[78533,0,"h"],[78534,0,"e"],[78535,0,"d"],[78536,0," "],[78537,0,"b"],[78538,0,"y"],[78539,0," "],[78540,0,"O"],[78541,0,"'"],[78542,0,"R"],[78543,0,"e"],[78544,0,"i"],[78545,0,"l"],[78546,0,"l"],[78547,0,"y"],[78548,0," "],[78549,0,"M"],[78550,0,"e"],[78551,0,"d"],[78552,0,"i"],[78553,0,"a"],[78554,0," "],[78555,0,"i"],[78556,0,"n"],[78557,0," "],[78558,0,"2"],[78559,0,"0"],[78560,0,"0"],[78561,0,"7"],[78562,0,"."],[78562,1],[78562,0,"."],[78560,1],[78560,0,"1"],[78563,0," "],[78564,0,"P"],[78565,0,"r"],[78566,0,"e"],[78567,0,"v"],[78568,0,"i"],[78569,0,"o"],[78570,0,"u"],[78571,0,"s"],[78572,0,"l"],[78573,0,"y"],[78574,0," "],[78574,1],[78574,0,","],[78575,0," "],[78576,0,"e"],[78576,1],[78576,0,"h"],[78577,0,"e"],[78578,0," "],[78579,0,"w"],[78580,0,"o"],[78581,0,"r"],[78582,0,"k"],[78583,0,"d"],[78583,1],[78583,0,"e"],[78584,0,"d"],[78585,0," "],[78586,0,"a"],[78587,0,"s"],[78588,0," "],[78589,0,"a"],[78590,0," "],[78591,0,"s"],[78592,0,"o"],[78593,0,"f"],[78594,0,"t"],[78595,0,"w"],[78596,0,"a"],[78597,0,"r"],[78598,0,"e"],[78599,0," "],[78600,0,"e"],[78601,0,"n"],[78602,0,"g"],[78603,0,"i"],[78604,0,"n"],[78605,0,"e"],[78606,0,"e"],[78607,0,"r"],[78608,0," "],[78609,0,"a"],[78610,0,"n"],[78611,0,"d"],[78612,0," "],[78613,0,"e"],[78614,0,"n"],[78615,0,"t"],[78616,0,"r"],[78617,0,"e"],[78618,0,"p"],[78619,0,"r"],[78620,0,"e"],[78621,0,"n"],[78622,0,"e"],[78623,0,"u"],[78624,0,"r"],[78625,0," "],[78626,0,"a"],[78627,0,"t"],[78628,0," "],[78629,0,"s"],[78630,0,"e"],[78631,0,"v"],[78632,0,"e"],[78633,0,"r"],[78634,0,"a"],[78635,0,"l"],[78636,0," "],[78637,0,"i"],[78638,0,"n"],[78639,0,"t"],[78640,0,"e"],[78641,0,"r"],[78642,0,"n"],[78643,0,"e"],[78644,0,"t"],[78645,0," "],[78646,0,"c"],[78647,0,"o"],[78648,0,"m"],[78649,0,"p"],[78650,0,"a"],[78651,0,"n"],[78652,0,"i"],[78653,0,"e"],[78654,0,"s"],[78655,0,"."],[79005,0,"\n"],[79006,0,"\\"],[79007,0,"v"],[79008,0,"f"],[79009,0,"i"],[79010,0,"l"],[79011,0,"l"],[79012,0,"\n"],[4295,0," "],[4296,0,"a"],[4297,0,"n"],[4298,0,"d"],[4299,0," "],[4300,0,"e"],[4301,0,"r"],[4302,0,"r"],[4303,0,"o"],[4304,0,"r"],[4305,0,"-"],[4306,0,"p"],[4307,0,"r"],[4308,0,"o"],[4309,0,"n"],[4310,0,"e"],[4311,0,","],[8427,0," "],[8428,0,"("],[8429,0,"a"],[8430,0," "],[8431,0,"r"],[8432,0,"e"],[8433,0,"q"],[8434,0,"u"],[8435,0,"i"],[8436,0,"r"],[8437,0,"e"],[8438,0,"m"],[8439,0,"e"],[8440,0,"n"],[8441,0,"t"],[8442,0," "],[8443,0,"k"],[8444,0,"n"],[8445,0,"o"],[8446,0,"w"],[8447,0,"n"],[8448,0," "],[8449,0,"a"],[8450,0,"s"],[8451,0," "],[8452,0,"\\"],[8453,0,"e"],[8454,0,"m"],[8455,0,"p"],[8456,0,"h"],[8457,0,"{"],[8458,0,"s"],[8459,0,"t"],[8460,0,"r"],[8461,0,"o"],[8462,0,"n"],[8463,0,"g"],[8464,0," "],[8465,0,"e"],[8466,0,"v"],[8467,0,"e"],[8468,0,"n"],[8469,0,"t"],[8470,0,"u"],[8471,0,"a"],[8472,0,"l"],[8473,0," "],[8474,0,"c"],[8475,0,"o"],[8476,0,"n"],[8477,0,"s"],[8478,0,"i"],[8479,0,"s"],[8480,0,"t"],[8481,0,"e"],[8482,0,"n"],[8483,0,"c"],[8484,0,"y"],[8485,0,"}"],[8486,0,"~"],[8487,0,"\\"],[8488,0,"c"],[8489,0,"i"],[8490,0,"t"],[8491,0,"e"],[8492,0,"{"],[8493,0,"S"],[8494,0,"h"],[8495,0,"a"],[8496,0,"p"],[8497,0,"i"],[8498,0,"r"],[8499,0,"o"],[8500,0,":"],[8501,0,"2"],[8502,0,"0"],[8503,0,"1"],[8504,0,"1"],[8505,0,"u"],[8506,0,"n"],[8507,0,"}"],[8508,0,")"],[11111,0,","],[11112,0,"M"],[11113,0,"e"],[11114,0,"h"],[11115,0,"d"],[11116,0,"i"],[11117,0,":"],[11118,0,"2"],[11119,0,"0"],[11120,0,"1"],[11121,0,"1"],[11122,0,"k"],[11123,0,"e"],[13279,1],[13278,1],[13277,1],[13276,1],[13275,1],[13274,1],[13273,1],[13272,1],[13334,1],[13333,1],[13332,1],[13331,1],[13330,1],[13329,1],[13329,0,"e"],[13330,0,"l"],[13331,0,"l"],[13332,0,"-"],[13842,1],[13841,1],[13840,1],[13839,1],[13838,1],[13837,1],[13836,1],[13835,1],[13835,0,"a"],[13836,0,"l"],[13837,0,"g"],[13838,0,"o"],[13839,0,"r"],[13840,0,"i"],[13841,0,"t"],[13842,0,"h"],[13843,0,"m"],[17073,0," "],[17074,0,"T"],[17075,0,"h"],[17076,0,"i"],[17077,0,"s"],[17078,0," "],[17079,0,"a"],[17080,0,"p"],[17081,0,"p"],[17082,0,"r"],[17083,0,"o"],[17084,0,"a"],[17085,0,"c"],[17086,0,"h"],[17087,0," "],[17088,0,"h"],[17089,0,"a"],[17090,0,"s"],[17091,0," "],[17092,0,"t"],[17093,0,"h"],[17094,0,"e"],[17095,0," "],[17096,0,"a"],[17097,0,"d"],[17098,0,"v"],[17099,0,"a"],[17100,0,"n"],[17101,0,"t"],[17102,0,"a"],[17103,0,"g"],[17104,0,"e"],[17105,0," "],[17106,0,"o"],[17107,0,"f"],[17108,0," "],[17109,0,"b"],[17110,0,"e"],[17111,0,"i"],[17112,0,"n"],[17113,0,"g"],[17114,0," "],[17115,0,"a"],[17116,0,"b"],[17117,0,"l"],[17118,0,"e"],[17119,0," "],[17120,0,"t"],[17121,0,"o"],[17122,0," "],[17123,0,"e"],[17124,0,"x"],[17125,0,"p"],[17126,0,"r"],[17127,0,"e"],[17128,0,"s"],[17129,0,"s"],[17130,0," "],[17131,0,"g"],[17132,0,"l"],[17133,0,"o"],[17134,0,"b"],[17135,0,"a"],[17136,0,"l"],[17137,0," "],[17138,0,"i"],[17139,0,"n"],[17140,0,"v"],[17141,0,"a"],[17142,0,"r"],[17143,0,"i"],[17144,0,"a"],[17145,0,"n"],[17146,0,"t"],[17147,0,"s"],[17148,0," "],[17149,0,"s"],[17150,0,"u"],[17151,0,"c"],[17152,0,"h"],[17153,0," "],[17154,0,"a"],[17155,0,"s"],[17156,0," "],[17157,0,"u"],[17158,0,"n"],[17159,0,"i"],[17160,0,"q"],[17161,0,"u"],[17162,0,"e"],[17163,0,"n"],[17164,0,"e"],[17165,0,"s"],[17166,0,"s"],[17167,0," "],[17168,0,"c"],[17169,0,"o"],[17170,0,"n"],[17171,0,"s"],[17172,0,"t"],[17173,0,"r"],[17174,0,"a"],[17175,0,"i"],[17176,0,"n"],[17177,0,"t"],[17178,0,"s"],[17179,0,","],[17180,0," "],[17181,0,"w"],[17182,0,"h"],[17183,0,"i"],[17184,0,"c"],[17185,0,"h"],[17186,0," "],[17187,0,"r"],[17188,0,"e"],[17189,0,"q"],[17190,0,"u"],[17191,0,"i"],[17192,0,"r"],[17193,0,"e"],[17194,0," "],[17195,0,"s"],[17196,0,"e"],[17197,0,"r"],[17198,0,"i"],[17199,0,"a"],[17200,0,"l"],[17201,0,"i"],[17202,0,"z"],[17203,0,"a"],[17204,0,"t"],[17205,0,"i"],[17206,0,"o"],[17207,0,"n"],[17208,0," "],[17209,0,"a"],[17210,0,"n"],[17211,0,"d"],[17212,0," "],[17213,0,"c"],[17214,0,"a"],[17215,0,"n"],[17216,0,"n"],[17217,0,"o"],[17218,0,"t"],[17219,0," "],[17220,0,"b"],[17221,0,"e"],[17222,0," "],[17223,0,"e"],[17224,0,"x"],[17225,0,"p"],[17226,0,"r"],[17227,0,"e"],[17228,0,"s"],[17229,0,"s"],[17230,0,"e"],[17231,0,"d"],[17232,0," "],[17233,0,"u"],[17234,0,"s"],[17235,0,"i"],[17236,0,"n"],[17237,0,"g"],[17238,0," "],[17239,0,"C"],[17240,0,"R"],[17241,0,"D"],[17242,0,"T"],[17243,0,"s"],[17244,0,"."],[17245,0," "],[17246,0,"H"],[17247,0,"o"],[17248,0,"w"],[17249,0,"e"],[17250,0,"v"],[17251,0,"e"],[17252,0,"r"],[17253,0,","],[17254,0," "],[17255,0,"i"],[17256,0,"t"],[17257,0," "],[17258,0,"r"],[17259,0,"e"],[17260,0,"q"],[17261,0,"u"],[17262,0,"i"],[17263,0,"r"],[17264,0,"e"],[17265,0,"s"],[17266,0," "],[17267,0,"a"],[17268,0,"t"],[17269,0,"o"],[17270,0,"m"],[17271,0,"i"],[17272,0,"c"],[17273,0," "],[17274,0,"b"],[17275,0,"r"],[17276,0,"o"],[17277,0,"a"],[17278,0,"d"],[17279,0,"c"],[17280,0,"a"],[17281,0,"s"],[17282,0,"t"],[17283,0,","],[17284,0," "],[17285,0,"w"],[17286,0,"h"],[17287,0,"i"],[17288,0,"c"],[17289,0,"h"],[17290,0," "],[17290,1],[17289,1],[17288,1],[17287,1],[17286,1],[17285,1],[17284,1],[17283,1],[17282,1],[17281,1],[17280,1],[17279,1],[17278,1],[17277,1],[17276,1],[17275,1],[17274,1],[17273,1],[17272,1],[17271,1],[17270,1],[17269,1],[17268,1],[17267,1],[17266,1],[17265,1],[17264,1],[17263,1],[17262,1],[17261,1],[17260,1],[17259,1],[17258,1],[17257,1],[17256,1],[17255,1],[17254,1],[17253,1],[17252,1],[17251,1],[17250,1],[17249,1],[17248,1],[17247,1],[17246,1],[17246,0,"T"],[17247,0,"h"],[17248,0,"e"],[17249,0," "],[17250,0,"d"],[17251,0,"o"],[17252,0,"w"],[17253,0,"n"],[17254,0,"s"],[17255,0,"i"],[17256,0,"d"],[17257,0,"e"],[17258,0," "],[17259,0,"i"],[17260,0,"s"],[17261,0," "],[17262,0,"t"],[17263,0,"h"],[17264,0,"a"],[17265,0,"t"],[17266,0," "],[17267,0,"t"],[17268,0,"e"],[17269,0,"n"],[17270,0,"t"],[17271,0,"a"],[17272,0,"t"],[17273,0,"i"],[17274,0,"v"],[17275,0,"e"],[17276,0," "],[17277,0,"t"],[17278,0,"r"],[17279,0,"a"],[17280,0,"n"],[17281,0,"s"],[17282,0,"a"],[17283,0,"c"],[17284,0,"t"],[17285,0,"i"],[17286,0,"o"],[17287,0,"n"],[17288,0,"s"],[17289,0," "],[17290,0,"m"],[17291,0,"a"],[17292,0,"y"],[17293,0," "],[17294,0,"b"],[17295,0,"e"],[17296,0," "],[17297,0,"r"],[17298,0,"o"],[17299,0,"l"],[17300,0,"l"],[17301,0,"e"],[17302,0,"d"],[17303,0," "],[17304,0,"b"],[17305,0,"a"],[17306,0,"c"],[17307,0,"k"],[17308,0,","],[17309,0," "],[17310,0,"r"],[17311,0,"e"],[17312,0,"q"],[17313,0,"u"],[17314,0,"i"],[17315,0,"r"],[17316,0,"i"],[17317,0,"n"],[17318,0,"g"],[17319,0," "],[17320,0,"t"],[17321,0,"h"],[17322,0,"e"],[17323,0," "],[17324,0,"a"],[17325,0,"p"],[17326,0,"p"],[17327,0,"l"],[17328,0,"i"],[17329,0,"c"],[17330,0,"a"],[17331,0,"t"],[17332,0,"i"],[17333,0,"o"],[17334,0,"n"],[17335,0," "],[17336,0,"t"],[17337,0,"o"],[17338,0," "],[17339,0,"e"],[17340,0,"x"],[17341,0,"p"],[17342,0,"l"],[17343,0,"i"],[17344,0,"c"],[17345,0,"i"],[17346,0,"t"],[17347,0,"l"],[17348,0,"y"],[17349,0," "],[17350,0,"h"],[17351,0,"a"],[17352,0,"n"],[17353,0,"d"],[17354,0,"l"],[17355,0,"e"],[17356,0," "],[17357,0,"r"],[17358,0,"o"],[17359,0,"l"],[17360,0,"l"],[17361,0,"b"],[17362,0,"a"],[17363,0,"c"],[17364,0,"k"],[17365,0,"s"],[17366,0,","],[17367,0," "],[17368,0,"w"],[17369,0,"h"],[17370,0,"e"],[17371,0,"r"],[17372,0,"e"],[17373,0,"a"],[17374,0,"s"],[17375,0," "],[17376,0,"C"],[17377,0,"R"],[17378,0,"D"],[17379,0,"T"],[17380,0,"s"],[17381,0," "],[17382,0,"a"],[17383,0,"r"],[17384,0,"e"],[17385,0," "],[17386,0,"d"],[17387,0,"e"],[17388,0,"f"],[17389,0,"i"],[17390,0,"n"],[17391,0,"e"],[17392,0,"d"],[17393,0," "],[17394,0,"s"],[17395,0,"u"],[17396,0,"c"],[17397,0,"h"],[17398,0," "],[17399,0,"t"],[17400,0,"h"],[17401,0,"a"],[17402,0,"t"],[17403,0," "],[17404,0,"o"],[17405,0,"p"],[17406,0,"e"],[17407,0,"r"],[17408,0,"a"],[17409,0,"t"],[17410,0,"i"],[17411,0,"o"],[17412,0,"n"],[17413,0,"s"],[17414,0," "],[17415,0,"c"],[17416,0,"a"],[17417,0,"n"],[17418,0,"n"],[17419,0,"o"],[17420,0,"t"],[17421,0," "],[17422,0,"f"],[17423,0,"a"],[17424,0,"i"],[17425,0,"l"],[17426,0," "],[17427,0,"a"],[17428,0,"f"],[17429,0,"t"],[17430,0,"e"],[17431,0,"r"],[17432,0," "],[17433,0,"t"],[17434,0,"h"],[17435,0,"e"],[17436,0,"y"],[17437,0," "],[17438,0,"h"],[17439,0,"a"],[17440,0,"v"],[17441,0,"e"],[17442,0," "],[17443,0,"b"],[17444,0,"e"],[17445,0,"e"],[17446,0,"n"],[17447,0," "],[17448,0,"p"],[17449,0,"e"],[17450,0,"r"],[17451,0,"f"],[17452,0,"o"],[17453,0,"r"],[17454,0,"m"],[17455,0,"e"],[17456,0,"d"],[17457,0," "],[17458,0,"o"],[17459,0,"n"],[17460,0," "],[17461,0,"o"],[17462,0,"n"],[17463,0,"e"],[17464,0," "],[17465,0,"r"],[17466,0,"e"],[17467,0,"p"],[17468,0,"l"],[17469,0,"i"],[17470,0,"c"],[17471,0,"a"],[17472,0,"."],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17473,1],[17086,1],[17085,1],[17084,1],[17083,1],[17082,1],[17081,1],[17080,1],[17079,1],[17078,1],[17077,1],[17076,1],[17075,1],[17074,1],[17074,0,"B"],[17075,0,"a"],[17076,0,"y"],[17077,0,"o"],[17078,0,"u"],[17236,0,"~"],[17237,0,"\\"],[17238,0,"c"],[17239,0,"i"],[17240,0,"t"],[17241,0,"e"],[17242,0,"{"],[17243,0,"B"],[17244,0,"a"],[17245,0,"i"],[17246,0,"l"],[17247,0,"i"],[17248,0,"s"],[17249,0,":"],[17250,0,"2"],[17251,0,"0"],[17252,0,"1"],[17253,0,"4"],[17254,0,"t"],[17255,0,"h"],[17256,0,"}"],[16545,1],[16544,1],[16543,1],[16542,1],[16541,1],[16540,1],[16539,1],[16538,1],[16537,1],[16536,1],[16535,1],[16534,1],[16533,1],[16533,0,"L"],[16534,0,"W"],[16535,0,"W"],[16638,1],[16637,1],[16636,1],[16636,0,"I"],[16637,0,"t"],[15880,0," "],[15881,0,"a"],[15882,0,"n"],[15883,0,"d"],[15884,0," "],[15885,0,"C"],[15886,0,"o"],[15887,0,"u"],[15888,0,"c"],[15889,0,"h"],[15890,0,"D"],[15891,0,"B"],[16645,1],[16644,1],[16643,1],[16642,1],[16641,1],[16640,1],[16639,1],[16638,1],[16637,1],[16636,1],[16635,1],[16634,1],[16633,1],[16632,1],[16631,1],[16630,1],[16629,1],[16628,1],[16627,1],[16626,1],[16625,1],[16624,1],[16623,1],[16622,1],[16621,1],[16620,1],[16619,1],[16618,1],[16617,1],[16616,1],[16615,1],[16614,1],[16613,1],[16612,1],[16611,1],[16610,1],[16609,1],[16608,1],[16607,1],[16606,1],[16605,1],[16604,1],[16603,1],[16602,1],[16601,1],[16600,1],[16599,1],[16598,1],[16597,1],[16596,1],[16595,1],[16594,1],[16593,1],[16592,1],[16591,1],[16590,1],[16589,1],[16588,1],[16587,1],[16586,1],[16585,1],[16584,1],[16583,1],[16582,1],[16581,1],[16580,1],[16579,1],[16578,1],[16578,0,"f"],[16579,0,"o"],[16580,0,"r"],[16581,0," "],[16582,0,"e"],[16583,0,"x"],[16584,0,"a"],[16585,0,"m"],[16586,0,"p"],[16587,0,"l"],[16588,0,"e"],[17205,1],[17204,1],[17203,1],[17203,0,"B"],[17204,0,"a"],[17205,0,"y"],[17206,0,"o"],[17207,0,"u"],[17208,0,"'"],[17209,0,"s"],[17299,1],[17298,1],[17297,1],[17296,1],[17295,1],[17294,1],[17293,1],[17292,1],[17291,1],[17290,1],[17289,1],[17288,1],[17287,1],[17286,1],[17285,1],[17284,1],[17283,1],[17282,1],[17281,1],[17290,1],[17289,1],[17295,1],[17295,0,"i"],[17296,0,"n"],[17297,0,"g"],[17299,1],[17299,1],[17299,1],[17299,1],[17299,1],[17299,1],[17299,1],[17299,1],[17299,1],[17299,0,"b"],[17300,0,"y"],[17301,0," "],[17302,0,"t"],[17303,0,"h"],[17304,0,"e"],[17305,0," "],[17306,0,"a"],[17307,0,"p"],[17308,0,"p"],[17309,0,"l"],[17310,0,"i"],[17311,0,"c"],[17312,0,"a"],[17313,0,"t"],[17314,0,"i"],[17315,0,"o"],[17316,0,"n"],[78208,1],[78207,1],[78206,1],[78205,1],[78205,0,","],[78219,0,","],[78220,0," "],[78221,0,"a"],[78222,0,"n"],[78223,0,"d"],[78224,0," "],[78225,0,"t"],[78226,0,"h"],[78227,0,"e"],[78228,0," "],[78229,0,"a"],[78230,0,"n"],[78231,0,"o"],[78232,0,"n"],[78233,0,"y"],[78234,0,"m"],[78235,0,"o"],[78236,0,"u"],[78237,0,"s"],[78238,0," "],[78239,0,"r"],[78240,0,"e"],[78241,0,"v"],[78242,0,"i"],[78243,0,"e"],[78244,0,"w"],[78245,0,"e"],[78246,0,"r"],[78247,0,"s"],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,1],[78262,0,"t"],[78263,0,"h"],[78264,0,"a"],[78265,0,"t"],[78266,0," "],[78267,0,"i"],[78268,0,"m"],[78269,0,"p"],[78270,0,"r"],[78271,0,"o"],[78272,0,"v"],[78273,0,"e"],[78274,0,"d"],[25031,0,"\n"],[25032,0,"\n"],[25033,0,"\\"],[25034,0,"b"],[25035,0,"e"],[25036,0,"g"],[25037,0,"i"],[25038,0,"n"],[25039,0,"{"],[25040,0,"f"],[25041,0,"i"],[25042,0,"g"],[25043,0,"u"],[25044,0,"r"],[25045,0,"e"],[25046,0,"*"],[25047,0,"}"],[25048,0,"\n"],[25049,0,"\\"],[25050,0,"c"],[25051,0,"e"],[25052,0,"n"],[25053,0,"t"],[25054,0,"e"],[25055,0,"r"],[25056,0,"i"],[25057,0,"n"],[25058,0,"g"],[25059,0,"\n"],[25060,0,"\\"],[25061,0,"b"],[25062,0,"e"],[25063,0,"g"],[25064,0,"i"],[25065,0,"n"],[25066,0,"{"],[25067,0,"t"],[25068,0,"i"],[25069,0,"k"],[25070,0,"z"],[25071,0,"p"],[25072,0,"i"],[25073,0,"c"],[25074,0,"t"],[25075,0,"u"],[25076,0,"r"],[25077,0,"e"],[25078,0,"}"],[25079,0,"["],[25080,0,"a"],[25081,0,"u"],[25082,0,"t"],[25083,0,"o"],[25084,0,","],[25085,0,"s"],[25086,0,"c"],[25087,0,"a"],[25088,0,"l"],[25089,0,"e"],[25090,0,"="],[25091,0,"0"],[25092,0,"."],[25093,0,"8"],[25094,0,"]"],[25095,0,"\n"],[25096,0,"\\"],[25097,0,"e"],[25098,0,"n"],[25099,0,"d"],[25100,0,"{"],[25101,0,"t"],[25102,0,"i"],[25103,0,"k"],[25104,0,"z"],[25105,0,"p"],[25106,0,"i"],[25107,0,"c"],[25108,0,"t"],[25109,0,"u"],[25110,0,"r"],[25111,0,"e"],[25112,0,"}"],[25113,0,"\n"],[25114,0,"\\"],[25115,0,"c"],[25116,0,"a"],[25117,0,"p"],[25118,0,"t"],[25119,0,"i"],[25120,0,"o"],[25121,0,"n"],[25122,0,"{"],[25123,0,"C"],[25124,0,"o"],[25125,0,"n"],[25126,0,"c"],[25127,0,"u"],[25128,0,"r"],[25129,0,"r"],[25130,0,"e"],[25131,0,"n"],[25132,0,"t"],[25133,0," "],[25134,0,"e"],[25135,0,"d"],[25136,0,"i"],[25137,0,"t"],[25138,0,"i"],[25139,0,"n"],[25140,0,"g"],[25141,0," "],[25142,0,"o"],[25143,0,"f"],[25144,0," "],[25145,0,"a"],[25146,0,"n"],[25147,0," "],[25148,0,"o"],[25149,0,"r"],[25150,0,"d"],[25151,0,"e"],[25152,0,"r"],[25153,0,"e"],[25154,0,"d"],[25155,0," "],[25156,0,"l"],[25157,0,"i"],[25158,0,"s"],[25159,0,"t"],[25160,0," "],[25161,0,"o"],[25162,0,"f"],[25163,0," "],[25164,0,"c"],[25165,0,"h"],[25166,0,"a"],[25167,0,"r"],[25168,0,"a"],[25169,0,"c"],[25170,0,"t"],[25171,0,"e"],[25172,0,"r"],[25173,0,"s"],[25174,0," "],[25175,0,"("],[25176,0,"i"],[25177,0,"."],[25178,0,"e"],[25179,0,"."],[25180,0,","],[25181,0," "],[25182,0,"a"],[25183,0," "],[25184,0,"t"],[25185,0,"e"],[25186,0,"x"],[25187,0,"t"],[25188,0," "],[25189,0,"d"],[25190,0,"o"],[25191,0,"c"],[25192,0,"u"],[25193,0,"m"],[25194,0,"e"],[25195,0,"n"],[25196,0,"t"],[25197,0,")"],[25198,0,"."],[25199,0,"}"],[25200,0,"\n"],[25201,0,"\\"],[25202,0,"e"],[25203,0,"n"],[25204,0,"d"],[25205,0,"{"],[25206,0,"f"],[25207,0,"i"],[25208,0,"g"],[25209,0,"u"],[25210,0,"r"],[25211,0,"e"],[25212,0,"*"],[25213,0,"}"],[25095,0,"\n"],[25096,0,"\\"],[25097,0,"n"],[25098,0,"o"],[25099,0,"d"],[25100,0,"e"],[25101,0," "],[25102,0,"("],[25103,0,"l"],[25104,0,"e"],[25105,0,"f"],[25106,0,"t"],[25107,0,"1"],[25108,0,")"],[25109,0," "],[25110,0,"a"],[25111,0,"t"],[25112,0," "],[25113,0,"("],[25114,0,"0"],[25115,0,","],[25116,0,"0"],[25117,0,")"],[25118,0," "],[25119,0,"["],[25120,0,"r"],[25121,0,"e"],[25122,0,"c"],[25123,0,"t"],[25124,0,"a"],[25125,0,"n"],[25126,0,"g"],[25127,0,"l"],[25128,0,"e"],[25129,0,","],[25130,0,"d"],[25131,0,"r"],[25132,0,"a"],[25133,0,"w"],[25134,0,"]"],[25135,0," "],[25136,0,"{"],[25137,0,"\\"],[25138,0,"{"],[25139,0,"`"],[25140,0,"`"],[25141,0,"t"],[25142,0,"e"],[25143,0,"x"],[25144,0,"t"],[25145,0,"'"],[25146,0,"'"],[25147,0,":"],[25148,0," "],[25149,0,"["],[25150,0,"z"],[25151,0,"z"],[25151,1],[25150,1],[25150,0,"`"],[25151,0,"`"],[25152,0,"h"],[25153,0,"'"],[25154,0,"'"],[25155,0,","],[25156,0," "],[25157,0,"`"],[25158,0,"`"],[25159,0,"i"],[25160,0,"'"],[25161,0,"'"],[25162,0,"]"],[25163,0,"\\"],[25164,0,"}"],[25165,0,"]"],[25165,1],[25165,0,"]"],[25165,1],[25165,0,"}"],[25166,0,";"],[25152,1],[25152,0,"a"],[25159,1],[25159,0,"b"],[25162,0,","],[25163,0," "],[25164,0,"`"],[25165,0,"`"],[25166,0,"c"],[25167,0,"'"],[25168,0,"'"],[29711,1],[29710,1],[29709,1],[29708,1],[29708,0,"a"],[29709,0,"t"],[29710,0,"("],[29712,0,"$"],[29713,0,"n"],[29714,0,"$"],[29715,0,"\\"],[29716,0,"t"],[29717,0,"e"],[29718,0,"x"],[29719,0,"t"],[29720,0,"t"],[29721,0,"t"],[29722,0,"{"],[29723,0,")"],[29724,0,"}"],[29725,0," "],[29726,0,"&"],[29727,0," "],[29728,0,"$"],[29729,0,"n"],[29730,0," "],[29731,0,"/"],[29732,0,"g"],[29733,0,"e"],[29733,1],[29732,1],[29731,1],[29731,0,"\\"],[29732,0,"g"],[29733,0,"e"],[29734,0," "],[29735,0,"0"],[29736,0,"$"],[29769,1],[29768,1],[29767,1],[29766,1],[29765,1],[29764,1],[29763,1],[29762,1],[29761,1],[29760,1],[29759,1],[29758,1],[29757,1],[29756,1],[29755,1],[29754,1],[29753,1],[29752,1],[29751,1],[29750,1],[29749,1],[29748,1],[29747,1],[29746,1],[29745,1],[29744,1],[29743,1],[29742,1],[29741,1],[29740,1],[29620,1],[29620,0,"."],[29621,0,"g"],[29622,0,"e"],[29623,0,"t"],[29624,0,"("],[29713,1],[29712,1],[29712,0,"i"],[29713,0,"d"],[29714,0,"x"],[29648,1],[29648,0,")"],[30260,1],[30259,1],[30258,1],[30257,1],[30257,0,"h"],[30258,0,"e"],[30259,0,"a"],[30260,0,"d"],[30283,1],[30282,1],[30281,1],[30280,1],[30280,0,"i"],[30281,0,"d"],[30282,0,"x"],[30283,0,"("],[30284,0,"0"],[30285,0,")"],[30267,1],[30267,0,"."],[30268,0,"g"],[30269,0,"e"],[30270,0,"t"],[30271,0,"("],[30282,1],[30282,0,")"],[30295,1],[30294,1],[30293,1],[30292,1],[30292,0,"h"],[30293,0,"e"],[30294,0,"a"],[30295,0,"d"],[30332,1],[30331,1],[30330,1],[30329,1],[30328,1],[30327,1],[30326,1],[30325,1],[30324,1],[30324,0,"d"],[30325,0,"o"],[30326,0,"c"],[30327,0,"."],[30328,0,"g"],[30329,0,"e"],[30330,0,"t"],[30331,0,"("],[30332,0,"\""],[30333,0,"s"],[30334,0,"h"],[30335,0,"o"],[30336,0,"p"],[30337,0,"p"],[30338,0,"i"],[30339,0,"n"],[30340,0,"g"],[30341,0,"\""],[30342,0,")"],[30343,0,"."],[30344,0,"i"],[30345,0,"d"],[30346,0,"x"],[30347,0,"("],[30348,0,"1"],[30349,0,")"],[30376,1],[30375,1],[30374,1],[30373,1],[30373,0,"h"],[30374,0,"e"],[30375,0,"a"],[30376,0,"d"],[37569,1],[37568,1],[37567,1],[37567,0,"d"],[37568,0,"x"],[37558,0,"$"],[37571,0,"_"],[37572,0,"1"],[37573,0,"$"],[37909,1],[37909,0,"2"],[37906,1],[37905,1],[37904,1],[37903,1],[37903,0,"I"],[37904,0,"d"],[37905,0,"x"],[38177,1],[38176,1],[38175,1],[38174,1],[38174,0,"I"],[38175,0,"d"],[38176,0,"x"],[38179,1],[38179,0,"3"],[38608,1],[38608,0,"4"],[38605,1],[38604,1],[38603,1],[38602,1],[38602,0,"I"],[38603,0,"d"],[38604,0,"x"],[38999,1],[38998,1],[38997,1],[38996,1],[38996,0,"I"],[38997,0,"d"],[38998,0,"x"],[39001,1],[39001,0,"5"],[37620,1],[37619,1],[37618,1],[37618,0,"d"],[37619,0,"x"],[37620,0,"("],[37622,0,"n"],[37623,0,"\\"],[37624,0,"m"],[37625,0,"a"],[37626,0,"t"],[37627,0,"h"],[37628,0,"s"],[37629,0,"f"],[37630,0,"{"],[37631,0,")"],[37632,0,"}"],[37577,1],[37577,0,"B"],[37578,0,"i"],[37546,0,"\n"],[37547,0,"\\"],[37548,0,"A"],[37549,0,"x"],[37550,0,"i"],[37551,0,"o"],[37552,0,"m"],[37553,0,"C"],[37554,0,"{"],[37555,0,"$"],[37556,0,"A"],[37557,0,"_"],[37558,0,"p"],[37559,0,","],[37560,0,"\\"],[37561,0,","],[37562,0," "],[37563,0,"\\"],[37564,0,"m"],[37565,0,"a"],[37566,0,"t"],[37567,0,"h"],[37568,0,"s"],[37569,0,"f"],[37570,0,"{"],[37571,0,"c"],[37572,0,"u"],[37573,0,"r"],[37574,0,"s"],[37575,0,"o"],[37576,0,"r"],[37577,0,"}"],[37578,0,"("],[37579,0,"\\"],[37580,0,"l"],[37581,0,"a"],[37582,0,"n"],[37583,0,"g"],[37584,0,"l"],[37585,0,"e"],[37586,0," "],[37587,0,"k"],[37588,0,"_"],[37589,0,"1"],[37590,0,","],[37591,0," "],[37592,0,"\\"],[37593,0,"d"],[37594,0,"o"],[37595,0,"t"],[37596,0,"s"],[37597,0,","],[37598,0," "],[37599,0,"k"],[37600,0,"_"],[37601,0,"{"],[37602,0,"n"],[37603,0,"-"],[37604,0,"1"],[37605,0,"}"],[37606,0,","],[37607,0," "],[37608,0,"\\"],[37609,0,"m"],[37610,0,"a"],[37611,0,"t"],[37612,0,"h"],[37613,0,"s"],[37614,0,"f"],[37615,0,"{"],[37616,0,"l"],[37617,0,"i"],[37618,0,"s"],[37619,0,"t"],[37620,0,"T"],[37621,0,"}"],[37622,0,"("],[37623,0,"k"],[37624,0,"_"],[37625,0,"n"],[37626,0,")"],[37627,0," "],[37628,0,"\\"],[37629,0,"r"],[37630,0,"a"],[37631,0,"n"],[37632,0,"g"],[37633,0,"l"],[37634,0,"e"],[37635,0,","],[37636,0,"\\"],[37637,0,","],[37638,0," "],[37639,0,"\\"],[37640,0,"m"],[37641,0,"a"],[37642,0,"t"],[37643,0,"h"],[37644,0,"s"],[37645,0,"f"],[37646,0,"{"],[37647,0,"h"],[37648,0,"e"],[37649,0,"a"],[37650,0,"d"],[37651,0,"}"],[37652,0,")"],[37653,0,"%"],[37653,1],[37653,0,"$"],[37654,0,"}"],[37653,0," "],[37654,0,"\\"],[37655,0,"e"],[37656,0,"v"],[37657,0,"a"],[37658,0,"l"],[37659,0,"t"],[37660,0,"o"],[37661,0," "],[37653,1],[37653,0,"\n"],[37654,0," "],[37655,0," "],[37656,0," "],[37657,0," "],[37666,0,"\\"],[37667,0,"m"],[37668,0,"a"],[37669,0,"t"],[37670,0,"h"],[37671,0,"i"],[37672,0,"t"],[37673,0,"{"],[37674,0,"c"],[37675,0,"u"],[37676,0,"r"],[37677,0,"}"],[37678,0,"'"],[37653,0,"."],[37654,0,"\\"],[37655,0,"m"],[37656,0,"a"],[37657,0,"t"],[37658,0,"h"],[37659,0,"s"],[37660,0,"f"],[37661,0,"{"],[37662,0,"i"],[37663,0,"d"],[37664,0,"x"],[37665,0,"("],[37666,0,"}"],[37638,0,"\n"],[37639,0," "],[37640,0," "],[37641,0," "],[37674,1],[37673,1],[37672,1],[37671,1],[37671,0,"n"],[37672,0,"\\"],[37673,0,"m"],[37674,0,"a"],[37675,0,"t"],[37676,0,"h"],[37677,0,"s"],[37678,0,"f"],[37679,0,"{"],[37680,0,"}"],[37680,1],[37680,0,")"],[37681,0,"}"],[37802,0," "],[37803,0,"\\"],[37804,0,"m"],[37805,0,"a"],[37806,0,"t"],[37807,0,"h"],[37808,0,"i"],[37809,0,"t"],[37810,0,"{"],[37811,0,"c"],[37812,0,"u"],[37813,0,"r"],[37814,0,"}"],[37815,0,"'"],[37816,0,"$"],[37817,0,"}"],[37914,1],[37913,1],[37912,1],[37911,1],[37910,1],[37909,1],[37908,1],[37907,1],[37906,1],[37905,1],[37904,1],[37903,1],[37902,1],[37901,1],[37900,1],[37899,1],[37898,1],[37897,1],[37896,1],[37895,1],[37894,1],[37893,1],[37892,1],[37891,1],[37890,1],[37889,1],[37888,1],[37887,1],[37886,1],[37885,1],[37884,1],[37883,1],[37882,1],[37881,1],[37880,1],[37879,1],[37878,1],[37877,1],[37876,1],[37875,1],[37874,1],[37873,1],[37872,1],[37871,1],[37870,1],[37869,1],[37868,1],[37867,1],[37866,1],[37865,1],[37864,1],[37863,1],[37862,1],[37861,1],[37860,1],[37859,1],[37858,1],[37857,1],[37856,1],[37855,1],[37854,1],[37853,1],[37852,1],[37851,1],[37850,1],[37849,1],[37848,1],[37847,1],[37846,1],[37845,1],[37844,1],[37843,1],[37842,1],[37841,1],[37840,1],[37839,1],[37838,1],[37837,1],[37836,1],[37835,1],[37834,1],[37833,1],[37832,1],[37831,1],[37830,1],[37829,1],[37828,1],[37827,1],[37826,1],[37825,1],[37824,1],[37823,1],[37822,1],[37821,1],[37820,1],[37819,1],[37818,1],[38048,1],[38047,1],[38046,1],[38045,1],[38045,0,"i"],[38046,0,"d"],[38047,0,"x"],[38048,0,"("],[38050,0,"n"],[38051,0,"\\"],[38052,0,"m"],[38053,0,"a"],[38054,0,"t"],[38055,0,"h"],[38056,0,"s"],[38057,0,"f"],[38058,0,"{"],[38059,0,")"],[38060,0,"}"],[38018,1],[38017,1],[38016,1],[38016,0,"\\"],[38017,0,"a"],[38018,0,"t"],[38018,1],[38017,1],[38017,0,"m"],[38018,0,"a"],[38019,0,"t"],[38020,0,"h"],[38021,0,"i"],[38022,0,"t"],[38023,0,"{"],[38024,0,"c"],[38025,0,"t"],[38026,0,"x"],[38027,0,"}"],[38038,1],[38037,1],[38037,0,"s"],[38038,0,"f"],[38043,1],[38042,1],[38041,1],[38040,1],[38040,0,"c"],[38041,0,"u"],[38042,0,"r"],[38043,0,"s"],[38044,0,"o"],[38045,0,"r"],[37781,1],[37782,0,"("],[37784,0,")"],[37785,1],[37785,1],[37785,1],[37785,1],[37785,1],[37785,1],[37785,1],[37785,1],[37785,1],[37785,1],[37785,1],[37785,0," "],[37681,1],[37678,1],[37678,1],[37677,1],[37676,1],[37675,1],[37674,1],[37673,1],[37672,1],[37670,1],[37669,0,"}"],[37282,1],[37281,1],[37281,0,"s"],[37282,0,"f"],[37284,1],[37284,0,"g"],[37285,0,"e"],[37286,0,"t"],[37288,0,"("],[37301,0,")"],[37302,1],[37302,1],[37302,1],[37302,1],[37302,1],[37302,1],[37302,1],[37302,1],[37302,1],[37302,1],[38023,0,"("],[38024,0,"\\"],[38025,0,"l"],[38026,0,"a"],[38027,0,"n"],[38028,0,"g"],[38029,0,"l"],[38030,0,"e"],[38031,0,"\\"],[38032,0,"r"],[38033,0,"a"],[38034,0,"n"],[38035,0,"g"],[38036,0,"l"],[38037,0,"e"],[38038,0,","],[38039,0,"\\"],[38040,0,","],[38041,0," "],[38042,0,"k"],[38043,0,")"],[38056,1],[38057,0,"("],[38058,1],[38058,0,"0"],[38056,0,"("],[38057,0,"0"],[38058,0,")"],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38060,1],[38058,1],[38057,1],[38056,1],[38057,0,"("],[38058,0,"0"],[38059,0,")"],[38058,1],[38058,0,"n"],[37948,1],[37947,1],[37946,1],[37945,1],[37944,1],[37943,1],[37942,1],[37941,1],[37940,1],[37939,1],[37938,1],[37937,1],[37936,1],[37935,1],[37934,1],[37933,1],[37932,1],[37931,1],[37930,1],[37929,1],[37928,1],[37927,1],[37926,1],[37925,1],[37924,1],[37923,1],[37922,1],[37921,1],[37920,1],[37919,1],[37918,1],[37917,1],[37916,1],[37915,1],[37914,1],[37913,1],[37912,1],[37911,1],[37910,1],[37909,1],[37908,1],[37907,1],[37906,1],[37905,1],[37904,1],[37903,1],[37902,1],[37901,1],[37900,1],[37899,1],[37898,1],[37897,1],[37896,1],[37895,1],[37894,1],[37893,1],[37892,1],[37891,1],[37890,1],[37889,1],[37888,1],[37887,1],[37886,1],[37885,1],[37884,1],[37883,1],[37882,1],[37879,1],[37878,1],[37877,1],[37876,1],[37875,1],[37874,1],[37873,1],[37872,1],[37871,1],[37870,1],[37869,1],[37868,1],[37867,1],[37866,1],[37865,1],[37864,1],[37863,1],[37862,1],[37861,1],[37860,1],[37859,1],[37858,1],[37857,1],[37856,1],[37855,1],[37854,1],[37853,1],[37852,1],[37851,1],[37850,1],[37849,1],[37848,1],[37847,1],[37846,1],[37845,1],[37844,1],[37843,1],[37842,1],[37841,1],[37840,1],[37839,1],[37839,0,"n"],[37840,0,"="],[37841,0,"0"],[37963,1],[37963,0,"\n"],[37964,0," "],[37965,0," "],[37966,0," "],[37967,0," "],[37974,1],[37973,1],[37973,0,"s"],[37974,0,"f"],[37979,0,"s"],[37980,0,"o"],[37981,0,"r"],[37983,1],[37983,0,"("],[37984,0,"\\"],[37985,0,"l"],[37986,0,"a"],[37987,0,"n"],[37988,0,"g"],[37989,0,"l"],[37990,0,"e"],[37991,0,"\\"],[37992,0,"r"],[37993,0,"a"],[37994,0,"n"],[37995,0,"g"],[37996,0,"l"],[37997,0,"e"],[37998,0,","],[37999,0,"\\"],[38000,0,","],[38001,0," "],[38002,0,"k"],[38003,0,")"],[38041,0,"\n"],[38042,0,"\\"],[38043,0,"A"],[38044,0,"x"],[38045,0,"i"],[38046,0,"o"],[38047,0,"m"],[38048,0,"C"],[38049,0,"{"],[38050,0,"$"],[38051,0,"\\"],[38052,0,"m"],[38053,0,"a"],[38054,0,"t"],[38055,0,"h"],[38056,0,"i"],[38057,0,"t"],[38058,0,"{"],[38058,1],[38057,1],[38056,1],[38055,1],[38054,1],[38053,1],[38052,1],[38051,1],[38051,0,"n"],[38052,0,">"],[38053,0,"0"],[38054,0,"$"],[38055,0,"}"],[38298,1],[38297,1],[38296,1],[38295,1],[38295,0,"i"],[38296,0,"d"],[38297,0,"x"],[38299,0,"("],[38300,0,"n"],[38301,0,")"],[38191,0,"\n"],[38066,0,"n"],[38067,0,">"],[38068,0,"0"],[38069,0," "],[38070,0,","],[38070,1],[38070,0,"\\"],[38071,0,","],[38072,0,"\n"],[38072,1],[38072,0,"\\"],[38073,0,"w"],[38074,0,"e"],[38075,0,"d"],[38076,0,"g"],[38077,0,"e"],[38078,0,"\\"],[38079,0,","],[38080,0," "],[38055,1],[38054,1],[38053,1],[38052,1],[38051,1],[38050,1],[38049,1],[38048,1],[38047,1],[38046,1],[38045,1],[38044,1],[38043,1],[38042,1],[38041,1],[38192,0,"\\"],[38193,0,"A"],[38194,0,"x"],[38226,1],[38226,0,"R"],[38226,1],[38226,0,"T"],[38227,0,"r"],[38195,0,"i"],[38196,0,"o"],[38197,0,"m"],[38198,0,"C"],[38199,0,"{"],[38200,0,"$"],[38201,0,"\\"],[38202,0,"m"],[38203,0,"a"],[38204,0,"t"],[38205,0,"h"],[38206,0,"i"],[38207,0,"t"],[38208,0,"{"],[38209,0,"c"],[38210,0,"t"],[38211,0,"x"],[38212,0,"}"],[38213,0,","],[38214,0,"\\"],[38215,0,","],[38216,0," "],[38217,0,"\\"],[38218,0,"m"],[38219,0,"a"],[38220,0,"t"],[38221,0,"h"],[38222,0,"s"],[38223,0,"f"],[38224,0,"{"],[38225,0,"c"],[38226,0,"u"],[38227,0,"r"],[38228,0,"s"],[38229,0,"o"],[38230,0,"r"],[38231,0,"}"],[38352,0," "],[38353,0,"\\"],[38354,0,"m"],[38355,0,"a"],[38356,0,"t"],[38357,0,"h"],[38358,0,"i"],[38359,0,"t"],[38360,0,"{"],[38361,0,"c"],[38362,0,"t"],[38363,0,"x"],[38364,0,"}"],[38365,0,"'"],[38366,0,"$"],[38367,0,"}"],[38232,0,"("],[38233,0,"\\"],[38234,0,"l"],[38235,0,"a"],[38236,0,"n"],[38237,0,"g"],[38238,0,"l"],[38239,0,"e"],[38240,0,"\\"],[38241,0,"r"],[38242,0,"a"],[38243,0,"n"],[38244,0,"g"],[38245,0,"l"],[38246,0,"e"],[38247,0,","],[38248,0,"\\"],[38249,0,","],[38250,0," "],[38251,0,"k"],[38252,0,"'"],[38253,0,")"],[38254,0,"."],[38255,0,"\\"],[38256,0,"m"],[38257,0,"a"],[38258,0,"t"],[38259,0,"h"],[38260,0,"s"],[38261,0,"f"],[38262,0,"{"],[38263,0,"i"],[38264,0,"d"],[38265,0,"x"],[38266,0,"}"],[38267,0,"("],[38268,0,"n"],[38269,0,"-"],[38270,0,"1"],[38271,0,")"],[38272,0," "],[38273,0,"\\"],[38274,0,"e"],[38275,0,"v"],[38276,0,"a"],[38277,0,"l"],[38278,0,"t"],[38279,0,"o"],[38280,0," "],[38281,0,"\\"],[38282,0,"m"],[38283,0,"a"],[38284,0,"t"],[38285,0,"h"],[38286,0,"i"],[38287,0,"t"],[38288,0,"{"],[38289,0,"c"],[38290,0,"t"],[38291,0,"x"],[38292,0,"}"],[38293,0,"'"],[38294,0,"$"],[38295,0,"}"],[38475,1],[38474,1],[38473,1],[38472,1],[38471,1],[38470,1],[38469,1],[38468,1],[38467,1],[38466,1],[38465,1],[38464,1],[38463,1],[38462,1],[38461,1],[38460,1],[38459,1],[38458,1],[38457,1],[38456,1],[38455,1],[38454,1],[38453,1],[38452,1],[38451,1],[38450,1],[38449,1],[38448,1],[38447,1],[38446,1],[38445,1],[38444,1],[38443,1],[38442,1],[38441,1],[38440,1],[38439,1],[38438,1],[38437,1],[38436,1],[38435,1],[38434,1],[38433,1],[38432,1],[37875,1],[37875,1],[37875,0,"U"],[37280,1],[37279,1],[37278,1],[37277,1],[37277,0,"m"],[37278,0,"a"],[37279,0,"t"],[37280,0,"h"],[38476,0,"n"],[38477,0,">"],[38478,0,"0"],[38479,0," "],[38480,0,"\\"],[38481,0,","],[38482,0,"\\"],[38483,0,"w"],[38484,0,"e"],[38485,0,"d"],[38486,0,"g"],[38487,0,"e"],[38488,0,"\\"],[38489,0,","],[38490,0," "],[38687,1],[38686,1],[38685,1],[38684,1],[38684,0,"i"],[38685,0,"d"],[38686,0,"x"],[38688,0,"("],[38689,0,"n"],[38690,0,"-"],[38690,1],[38690,0,")"],[38823,1],[38822,1],[38821,1],[38820,1],[38820,0,"i"],[38821,0,"d"],[38822,0,"x"],[38824,0,"("],[38825,0,"n"],[38826,0,")"],[39034,1],[39033,1],[39032,1],[39031,1],[39031,0,"i"],[39032,0,"d"],[39033,0,"x"],[39035,0,"("],[39036,0,"n"],[39037,0,")"],[39248,1],[39247,1],[39246,1],[39245,1],[39245,0,"i"],[39246,0,"d"],[39247,0,"x"],[39249,0,"("],[39250,0,"n"],[39251,0,")"],[39250,1],[39250,0,"i"],[39036,1],[39036,0,"i"],[38825,1],[38825,0,"i"],[38689,1],[38689,0,"i"],[38405,1],[38405,0,"i"],[38267,1],[38267,0,"i"],[38476,1],[38476,0,"i"],[38050,1],[38050,0,"i"],[37952,1],[37952,0,"i"],[37839,1],[37839,0,"i"],[37768,1],[37768,0,"i"],[37665,1],[37665,0,"i"],[29718,1],[29718,0,"i"],[29734,1],[29734,0,"i"],[37810,0,"\n"],[37811,0,"\n"],[37812,0,"\\"],[37813,0,"b"],[37814,0,"e"],[37815,0,"g"],[37816,0,"i"],[37817,0,"n"],[37818,0,"{"],[37819,0,"p"],[37820,0,"r"],[37821,0,"o"],[37822,0,"o"],[37823,0,"f"],[37824,0,"t"],[37825,0,"r"],[37826,0,"e"],[37827,0,"e"],[37828,0,"}"],[37829,0,"\n"],[37830,0,"\\"],[37831,0,"e"],[37832,0,"n"],[37833,0,"d"],[37834,0,"{"],[37835,0,"p"],[37836,0,"r"],[37837,0,"o"],[37838,0,"o"],[37839,0,"f"],[37840,0,"t"],[37841,0,"r"],[37842,0,"e"],[37843,0,"e"],[37844,0,"}"],[37829,0,"\n"],[37830,0,"\\"],[37831,0,"A"],[37832,0,"x"],[37833,0,"i"],[37834,0,"o"],[37835,0,"m"],[37836,0,"C"],[37837,0,"{"],[37838,0,"$"],[37839,0,"k"],[37840,0,"_"],[37841,0,"1"],[37842,0," "],[37843,0,"\\"],[37844,0,"i"],[37845,0,"n"],[37846,0," "],[37847,0,"\\"],[37848,0,"m"],[37849,0,"a"],[37850,0,"t"],[37851,0,"h"],[37852,0,"r"],[37853,0,"m"],[37854,0,"{"],[37855,0,"d"],[37856,0,"o"],[37857,0,"m"],[37858,0,"}"],[37859,0,"("],[37860,0,"\\"],[37861,0,"m"],[37862,0,"a"],[37863,0,"t"],[37864,0,"h"],[37865,0,"i"],[37866,0,"t"],[37867,0,"{"],[37868,0,"c"],[37869,0,"t"],[37870,0,"x"],[37871,0,"}"],[37872,0,")"],[37873,0,"$"],[37874,0,"}"],[37875,0,"\n"],[37876,0,"\\"],[37877,0,"A"],[37878,0,"x"],[37879,0,"i"],[37880,0,"o"],[37881,0,"m"],[37882,0,"C"],[37883,0,"{"],[37884,0,"$"],[37885,0,"\\"],[37886,0,"m"],[37887,0,"a"],[37888,0,"t"],[37889,0,"h"],[37890,0,"i"],[37891,0,"t"],[37892,0,"{"],[37893,0,"c"],[37894,0,"t"],[37895,0,"x"],[37896,0,"}"],[37897,0,"("],[37898,0,"k"],[37899,0,"_"],[37900,0,"1"],[37901,0,")"],[37902,0,","],[37903,0,"\\"],[37904,0,","],[37905,0," "],[37906,0,"\\"],[37907,0,"m"],[37908,0,"a"],[37909,0,"t"],[37910,0,"h"],[37911,0,"s"],[37912,0,"f"],[37913,0,"{"],[37914,0,"c"],[37915,0,"u"],[37916,0,"r"],[37917,0,"s"],[37918,0,"o"],[37919,0,"r"],[37920,0,"}"],[37921,0,"("],[37922,0,"\\"],[37923,0,"l"],[37924,0,"a"],[37925,0,"n"],[37926,0,"g"],[37927,0,"l"],[37928,0,"e"],[37929,0," "],[37930,0,"k"],[37931,0,"_"],[37932,0,"2"],[37933,0,","],[37934,0," "],[37935,0,"\\"],[37936,0,"d"],[37937,0,"o"],[37938,0,"t"],[37939,0,"s"],[37940,0,","],[37941,0," "],[37942,0,"k"],[37943,0,"_"],[37944,0,"{"],[37945,0,"n"],[37946,0,"-"],[37947,0,"1"],[37948,0,"}"],[37949,0," "],[37950,0,"\\"],[37951,0,"r"],[37952,0,"a"],[37953,0,"n"],[37954,0,"g"],[37955,0,"l"],[37956,0,"e"],[37957,0,","],[37958,0,"\\"],[37959,0,","],[37960,0," "],[37961,0,"k"],[37962,0,"_"],[37963,0,"n"],[37964,0,")"],[37965,0,"."],[37966,0,"\\"],[37967,0,"m"],[37968,0,"a"],[37969,0,"t"],[37970,0,"h"],[37971,0,"s"],[37972,0,"f"],[37973,0,"{"],[37974,0,"i"],[37975,0,"d"],[37976,0,"x"],[37977,0,"}"],[37978,0,"("],[37979,0,"i"],[37980,0,")"],[37981,0,"\n"],[37982,0," "],[37983,0," "],[37984,0," "],[37985,0," "],[37986,0,"\\"],[37987,0,"e"],[37988,0,"v"],[37989,0,"a"],[37990,0,"l"],[37991,0,"t"],[37992,0,"o"],[37993,0," "],[37994,0,"\\"],[37995,0,"m"],[37996,0,"a"],[37997,0,"t"],[37998,0,"h"],[37999,0,"s"],[38000,0,"f"],[38001,0,"{"],[38002,0,"c"],[38003,0,"u"],[38004,0,"r"],[38005,0,"s"],[38006,0,"o"],[38007,0,"r"],[38008,0,"}"],[38009,0,"("],[38010,0,"\\"],[38011,0,"l"],[38012,0,"a"],[38013,0,"n"],[38014,0,"g"],[38015,0,"l"],[38016,0,"e"],[38017,0," "],[38018,0,"k"],[38019,0,"_"],[38020,0,"2"],[38021,0,","],[38022,0," "],[38023,0,"\\"],[38024,0,"d"],[38025,0,"o"],[38026,0,"t"],[38027,0,"s"],[38028,0,","],[38029,0," "],[38030,0,"k"],[38031,0,"_"],[38032,0,"{"],[38033,0,"n"],[38034,0,"-"],[38035,0,"1"],[38036,0,"}"],[38037,0," "],[38038,0,"\\"],[38039,0,"r"],[38040,0,"a"],[38041,0,"n"],[38042,0,"g"],[38043,0,"l"],[38044,0,"e"],[38045,0,","],[38046,0,"\\"],[38047,0,","],[38048,0," "],[38049,0,"k"],[38050,0,"_"],[38051,0,"n"],[38052,0,"'"],[38053,0,")"],[38054,0,"$"],[38055,0,"}"],[38056,0,"\n"],[38057,0,"\\"],[38058,0,"L"],[38059,0,"e"],[38060,0,"f"],[38061,0,"t"],[38062,0,"L"],[38063,0,"a"],[38064,0,"b"],[38065,0,"e"],[38066,0,"l"],[38067,0,"{"],[38068,0,"$"],[38069,0,"\\"],[38070,0,"t"],[38071,0,"e"],[38072,0,"x"],[38073,0,"t"],[38074,0,"s"],[38075,0,"c"],[38076,0,"{"],[38077,0,"I"],[38078,0,"d"],[38079,0,"x"],[38080,0,"}"],[38081,0,"_"],[38082,0,"2"],[38083,0,"$"],[38084,0,"\\"],[38084,1],[38084,0,"}"],[38085,0,"\n"],[38086,0,"\\"],[38087,0,"B"],[38088,0,"i"],[38089,0,"n"],[38090,0,"a"],[38091,0,"r"],[38092,0,"y"],[38093,0,"I"],[38094,0,"n"],[38095,0,"f"],[38096,0,"C"],[38097,0,"{"],[38098,0,"$"],[38099,0,"\\"],[38100,0,"m"],[38101,0,"a"],[38102,0,"t"],[38103,0,"h"],[38104,0,"i"],[38105,0,"t"],[38106,0,"{"],[38107,0,"c"],[38108,0,"t"],[38109,0,"x"],[38110,0,"}"],[38111,0,","],[38112,0,"\\"],[38113,0,","],[38114,0," "],[38115,0,"\\"],[38116,0,"a"],[38117,0,"t"],[38117,1],[38116,1],[38116,0,"m"],[38117,0,"a"],[38118,0,"t"],[38119,0,"h"],[38120,0,"s"],[38121,0,"f"],[38122,0,"{"],[38123,0,"c"],[38124,0,"u"],[38125,0,"r"],[38126,0,"s"],[38127,0,"o"],[38128,0,"r"],[38129,0,"}"],[38130,0,"("],[38131,0,"\\"],[38132,0,"l"],[38133,0,"a"],[38134,0,"n"],[38135,0,"g"],[38136,0,"l"],[38137,0,"e"],[38138,0," "],[38139,0,"k"],[38140,0,"1"],[38140,1],[38140,0,"_"],[38141,0,"1"],[38142,0,","],[38143,0," "],[38144,0,"k"],[38145,0,"_"],[38146,0,"2"],[38147,0,","],[38148,0," "],[38149,0,"\\"],[38150,0,"d"],[38151,0,"o"],[38152,0,"t"],[38153,0,"s"],[38154,0,","],[38155,0," "],[38156,0,"k"],[38157,0,"_"],[38158,0,"n"],[38159,0,"-"],[38160,0,"1"],[38160,1],[38159,1],[38158,1],[38158,0,"{"],[38159,0,"n"],[38160,0,"-"],[38161,0,"1"],[38162,0,"}"],[38163,0," "],[38164,0,"\\"],[38165,0,"r"],[38166,0,"a"],[38167,0,"n"],[38168,0,"g"],[38169,0,"l"],[38170,0,"e"],[38171,0,","],[38172,0,"\\"],[38173,0,","],[38174,0," "],[38175,0,"k"],[38176,0,"_"],[38177,0,"n"],[38178,0,")"],[38179,0,"\\"],[38179,1],[38179,0,"."],[38180,0,"\\"],[38181,0,"m"],[38182,0,"a"],[38183,0,"t"],[38184,0,"h"],[38185,0,"s"],[38186,0,"f"],[38187,0,"{"],[38188,0,"i"],[38189,0,"d"],[38190,0,"x"],[38191,0,"}"],[38192,0,"("],[38193,0,"i"],[38194,0,")"],[38195,0,"\n"],[38196,0," "],[38197,0," "],[38198,0," "],[38199,0," "],[38200,0,"\\"],[38201,0,"e"],[38202,0,"v"],[38203,0,"a"],[38204,0,"l"],[38205,0,"t"],[38206,0,"o"],[38207,0," "],[38208,0,"\\"],[38209,0,"m"],[38210,0,"a"],[38211,0,"t"],[38212,0,"h"],[38213,0,"s"],[38214,0,"f"],[38215,0,"{"],[38216,0,"c"],[38217,0,"u"],[38218,0,"r"],[38219,0,"s"],[38220,0,"o"],[38221,0,"r"],[38222,0,"}"],[38223,0," "],[38223,1],[38223,0,"("],[38224,0,"\\"],[38225,0,"l"],[38226,0,"a"],[38227,0,"n"],[38228,0,"g"],[38229,0,"l"],[38230,0,"e"],[38231,0," "],[38232,0,"k"],[38233,0,"_"],[38234,0,"1"],[38235,0,","],[38236,0," "],[38237,0,"k"],[38238,0,"_"],[38239,0,"2"],[38240,0,","],[38241,0," "],[38242,0,"\\"],[38243,0,"d"],[38244,0,"o"],[38245,0,"t"],[38246,0,"s"],[38247,0,","],[38248,0," "],[38249,0,"k"],[38250,0,"_"],[38251,0,"{"],[38252,0,"n"],[38253,0,"-"],[38254,0,"1"],[38255,0,"}"],[38256,0," "],[38257,0,"\\"],[38258,0,"r"],[38259,0,"a"],[38260,0,"n"],[38261,0,"g"],[38262,0,"l"],[38263,0,"e"],[38264,0,","],[38265,0,"\\"],[38266,0,","],[38267,0," "],[38268,0,"k"],[38269,0,"_"],[38270,0,"n"],[38271,0,"'"],[38272,0,")"],[38273,0,"$"],[38274,0,"}"],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39350,1],[39348,0,"\n"],[39349,0,"\n"],[39350,0,"\\"],[39351,0,"b"],[39352,0,"e"],[39353,0,"g"],[39354,0,"i"],[39355,0,"n"],[39356,0,"{"],[39357,0,"p"],[39358,0,"r"],[39359,0,"o"],[39360,0,"o"],[39361,0,"f"],[39362,0,"t"],[39363,0,"r"],[39364,0,"e"],[39365,0,"e"],[39366,0,"}"],[39367,0,"\n"],[39368,0,"\\"],[39369,0,"A"],[39370,0,"x"],[39371,0,"i"],[39372,0,"o"],[39373,0,"m"],[39374,0,"C"],[39375,0,"{"],[39376,0,"$"],[39377,0,"i"],[39378,0,"="],[39379,0,"0"],[39380,0,"$"],[39381,0,"}"],[39382,0,"\n"],[39383,0,"\\"],[39384,0,"L"],[39385,0,"e"],[39386,0,"f"],[39387,0,"t"],[39388,0,"L"],[39389,0,"a"],[39390,0,"b"],[39391,0,"e"],[39392,0,"l"],[39393,0,"{"],[39394,0,"$"],[39395,0,"\\"],[39396,0,"t"],[39397,0,"e"],[39398,0,"x"],[39399,0,"t"],[39400,0,"s"],[39401,0,"c"],[39402,0,"{"],[39403,0,"I"],[39404,0,"d"],[39405,0,"x"],[39406,0,"}"],[39407,0,"_"],[39408,0,"5"],[39409,0,"$"],[39410,0,"}"],[39411,0,"\n"],[39412,0,"\\"],[39413,0,"U"],[39414,0,"n"],[39415,0,"a"],[39416,0,"r"],[39417,0,"y"],[39418,0,"I"],[39419,0,"n"],[39420,0,"f"],[39421,0,"C"],[39422,0,"{"],[39423,0,"$"],[39424,0,"\\"],[39425,0,"m"],[39426,0,"a"],[39427,0,"t"],[39428,0,"h"],[39429,0,"i"],[39430,0,"t"],[39431,0,"{"],[39432,0,"c"],[39433,0,"t"],[39434,0,"x"],[39435,0,"}"],[39436,0,","],[39437,0,"\\"],[39438,0,","],[39439,0," "],[39440,0,"\\"],[39441,0,"m"],[39442,0,"a"],[39443,0,"t"],[39444,0,"h"],[39445,0,"s"],[39446,0,"f"],[39447,0,"{"],[39448,0,"c"],[39449,0,"u"],[39450,0,"r"],[39451,0,"s"],[39452,0,"o"],[39453,0,"r"],[39454,0,"}"],[39455,0,"("],[39456,0,"\\"],[39457,0,"l"],[39458,0,"a"],[39459,0,"n"],[39460,0,"g"],[39461,0,"l"],[39462,0,"e"],[39463,0,"\\"],[39464,0,"r"],[39465,0,"a"],[39466,0,"n"],[39467,0,"g"],[39468,0,"l"],[39469,0,"e"],[39470,0,","],[39471,0,"\\"],[39472,0,","],[39473,0," "],[39474,0,"k"],[39475,0,")"],[39476,0,"."],[39477,0,"\\"],[39478,0,"m"],[39479,0,"a"],[39480,0,"t"],[39481,0,"h"],[39482,0,"s"],[39483,0,"f"],[39484,0,"{"],[39485,0,"i"],[39486,0,"d"],[39487,0,"x"],[39488,0,"}"],[39489,0,"("],[39490,0,"i"],[39491,0,")"],[39492,0," "],[39493,0,"\\"],[39494,0,"e"],[39495,0,"v"],[39496,0,"a"],[39497,0,"l"],[39498,0,"t"],[39499,0,"o"],[39500,0,"\n"],[39501,0," "],[39502,0," "],[39503,0," "],[39504,0," "],[39505,0,"\\"],[39506,0,"m"],[39507,0,"a"],[39508,0,"t"],[39509,0,"h"],[39510,0,"s"],[39511,0,"f"],[39512,0,"{"],[39513,0,"c"],[39514,0,"u"],[39515,0,"r"],[39516,0,"s"],[39517,0,"o"],[39518,0,"r"],[39519,0,"}"],[39520,0,"("],[39521,0,"\\"],[39522,0,"l"],[39523,0,"a"],[39524,0,"n"],[39525,0,"g"],[39526,0,"l"],[39527,0,"e"],[39528,0,"\\"],[39529,0,"r"],[39530,0,"a"],[39531,0,"n"],[39532,0,"g"],[39533,0,"l"],[39534,0,"e"],[39535,0,","],[39536,0,"\\"],[39537,0,","],[39538,0," "],[39539,0,"k"],[39540,0,")"],[39541,0,"$"],[39542,0,"}"],[39543,0,"\n"],[39544,0,"\\"],[39545,0,"e"],[39546,0,"n"],[39547,0,"d"],[39548,0,"{"],[39549,0,"p"],[39550,0,"r"],[39551,0,"o"],[39552,0,"o"],[39553,0,"f"],[39554,0,"t"],[39555,0,"r"],[39556,0,"e"],[39557,0,"e"],[39558,0,"}"],[38501,1],[38500,1],[38499,1],[38498,1],[38497,1],[38496,1],[38495,1],[38494,1],[38493,1],[38492,1],[38491,1],[38490,1],[38489,1],[38488,1],[38487,1],[38486,1],[38485,1],[38484,1],[38483,1],[38482,1],[38481,1],[38480,1],[38479,1],[38478,1],[38477,1],[38476,1],[38475,1],[38474,1],[38473,1],[38472,1],[38471,1],[38470,1],[38469,1],[38468,1],[38467,1],[38466,1],[38465,1],[38464,1],[38463,1],[38462,1],[38461,1],[38460,1],[38459,1],[38458,1],[38457,1],[38456,1],[38455,1],[38454,1],[38453,1],[38452,1],[38451,1],[38450,1],[38449,1],[38448,1],[38447,1],[38446,1],[38445,1],[38444,1],[38443,1],[38442,1],[38441,1],[38440,1],[38439,1],[38438,1],[38437,1],[38436,1],[38435,1],[38434,1],[38433,1],[38432,1],[38431,1],[38430,1],[38429,1],[38428,1],[38427,1],[38426,1],[38425,1],[38424,1],[38423,1],[38422,1],[38421,1],[38420,1],[38419,1],[38418,1],[38417,1],[38416,1],[38415,1],[38414,1],[38413,1],[38412,1],[38411,1],[38410,1],[38409,1],[38408,1],[38407,1],[38406,1],[38405,1],[38404,1],[38403,1],[38402,1],[38401,1],[38400,1],[38399,1],[38398,1],[38397,1],[38396,1],[38395,1],[38394,1],[38393,1],[38392,1],[38391,1],[38390,1],[38389,1],[38388,1],[38387,1],[38386,1],[38385,1],[38384,1],[38383,1],[38382,1],[38381,1],[38380,1],[38379,1],[38378,1],[38377,1],[38376,1],[38375,1],[38374,1],[38373,1],[38372,1],[38371,1],[38370,1],[38369,1],[38368,1],[38367,1],[38366,1],[38365,1],[38364,1],[38363,1],[38362,1],[38361,1],[38360,1],[38359,1],[38358,1],[38357,1],[38356,1],[38355,1],[38354,1],[38353,1],[38352,1],[38351,1],[38350,1],[38349,1],[38348,1],[38347,1],[38346,1],[38345,1],[38344,1],[38343,1],[38342,1],[38341,1],[38340,1],[38339,1],[38338,1],[38337,1],[38336,1],[38335,1],[38334,1],[38333,1],[38332,1],[38331,1],[38330,1],[38329,1],[38328,1],[38327,1],[38326,1],[38325,1],[38324,1],[38323,1],[38322,1],[38321,1],[38320,1],[38319,1],[38318,1],[38317,1],[38316,1],[38315,1],[38314,1],[38313,1],[38312,1],[38311,1],[38310,1],[38309,1],[38308,1],[38307,1],[38306,1],[38305,1],[38304,1],[38303,1],[38302,1],[38301,1],[38300,1],[38299,1],[38298,1],[38297,1],[38296,1],[38295,1],[38294,1],[38293,1],[38292,1],[38291,1],[33493,0,"{"],[33494,0,"{"],[33495,0,"{"],[33496,0,"{"],[33497,0,"{"],[33498,0,"{"],[33499,0,"{"],[33499,1],[33498,1],[33497,1],[33496,1],[33495,1],[33494,1],[33493,1],[30252,0,"\n"],[30253,0,"d"],[30254,0,"o"],[30255,0,"c"],[30256,0,"."],[30257,0,"g"],[30258,0,"e"],[30259,0,"t"],[30260,0,"("],[30261,0,"\""],[30262,0,"s"],[30263,0,"h"],[30264,0,"o"],[30265,0,"p"],[30266,0,"p"],[30267,0,"i"],[30268,0,"n"],[30269,0,"g"],[30270,0,"\""],[30271,0,")"],[30272,0," "],[30273,0,":"],[30274,0,"="],[30275,0," "],[30276,0,"["],[30277,0,"]"],[30278,0,";"],[30347,1],[30346,1],[30345,1],[30344,1],[30344,0,"t"],[30345,0,"a"],[30346,0,"i"],[30347,0,"l"],[30382,1],[30381,1],[30380,1],[30379,1],[30379,0,"t"],[30380,0,"a"],[30381,0,"i"],[30382,0,"l"],[30423,0,"t"],[30424,0,"a"],[30425,0,"i"],[30426,0,"l"],[30427,0,"."],[30428,0,"i"],[30429,0,"n"],[30430,0,"s"],[30431,0,"e"],[30432,0,"r"],[30433,0,"t"],[30434,0,"("],[30435,0,"\""],[30436,0,"m"],[30437,0,"i"],[30438,0,"l"],[30439,0,"k"],[30440,0,"\""],[30441,0,")"],[30442,0,";"],[30443,0,"\n"],[30398,1],[30397,1],[30396,1],[30395,1],[30394,1],[30393,1],[30392,1],[30391,1],[30390,1],[30389,1],[30388,1],[30387,1],[30386,1],[30385,1],[30384,1],[30383,1],[30382,1],[30381,1],[30380,1],[30379,1],[30378,1],[30559,1],[30558,1],[30557,1],[30556,1],[30555,1],[30554,1],[30553,1],[30552,1],[30551,1],[30550,1],[30549,1],[30548,1],[30547,1],[30546,1],[30545,1],[30544,1],[30543,1],[30542,1],[30541,1],[30540,1],[30539,1],[30538,1],[30537,1],[30536,1],[30535,1],[30534,1],[30533,1],[30532,1],[30531,1],[30530,1],[30529,1],[30528,1],[30527,1],[30526,1],[30525,1],[30524,1],[30523,1],[30522,1],[30521,1],[30520,1],[30519,1],[30518,1],[30517,1],[30516,1],[30515,1],[30514,1],[30513,1],[30512,1],[30511,1],[30510,1],[30509,1],[30508,1],[30507,1],[30506,1],[30505,1],[30504,1],[30503,1],[30502,1],[30501,1],[30500,1],[30499,1],[30498,1],[30497,1],[30496,1],[30495,1],[30494,1],[30493,1],[30492,1],[30491,1],[30490,1],[30489,1],[30488,1],[30487,1],[30486,1],[30485,1],[30484,1],[30483,1],[30482,1],[30481,1],[30480,1],[18448,1],[18448,0,"c"],[18449,1],[18449,0,"."],[18450,0,"g"],[18451,0,"e"],[18452,0,"t"],[18453,0,"("],[18461,1],[18461,0,")"],[18543,1],[18543,0,"."],[18544,0,"g"],[18545,0,"e"],[18546,0,"t"],[18547,0,"("],[18555,1],[18555,0,")"],[21501,1],[21501,0,"."],[21502,0,"g"],[21503,0,"e"],[21504,0,"t"],[21505,0,"("],[21516,1],[21516,1],[21516,0,")"],[21517,0,"."],[21518,0,"g"],[21519,0,"e"],[21520,0,"t"],[21521,0,"("],[21529,1],[21529,0,")"],[21604,1],[21604,0,"."],[21605,0,"g"],[21606,0,"e"],[21607,0,"t"],[21608,0,"("],[21619,1],[21619,0,")"],[21686,1],[21686,0,"."],[21687,0,"d"],[21688,0,"o"],[21688,1],[21687,1],[21687,0,"g"],[21688,0,"e"],[21689,0,"t"],[21690,0,"("],[21701,1],[21701,1],[21701,0,")"],[21702,0,"("],[21712,1],[21712,0,")"],[21702,0,"."],[21703,0,"g"],[21704,0,"e"],[21705,0,"t"],[21621,0,":"],[21745,0,"\n"],[21746,0,"n"],[21747,0,"o"],[21748,0,"d"],[21749,0,"e"],[21750,0," "],[21751,0,"["],[21752,0,"r"],[21753,0,"i"],[21754,0,"g"],[21755,0,"h"],[21756,0,"t"],[21757,0,","],[21758,0,"t"],[21759,0,"e"],[21760,0,"x"],[21761,0,"t"],[21762,0," "],[21763,0,"w"],[21764,0,"i"],[21765,0,"d"],[21766,0,"t"],[21767,0,"h"],[21768,0,"="],[21769,0,"3"],[21769,1],[21769,0,"1"],[21770,0,"c"],[21771,0,"m"],[21772,0,","],[21773,0,"t"],[21774,0,"e"],[21775,0,"x"],[21776,0,"t"],[21777,0," "],[21778,0,"c"],[21779,0,"e"],[21780,0,"n"],[21781,0,"t"],[21782,0,"e"],[21783,0,"r"],[21784,0,"e"],[21785,0,"d"],[21786,0,"]"],[21787,0," "],[21788,0,"{"],[21789,0,"d"],[21790,0,"o"],[21791,0,"c"],[21792,0,"."],[21793,0,"g"],[21794,0,"e"],[21795,0,"t"],[21796,0,"("],[21797,0,"`"],[21798,0,"`"],[21799,0,"c"],[21800,0,"o"],[21801,0,"l"],[21802,0,"o"],[21803,0,"r"],[21804,0,"s"],[21805,0,"'"],[21806,0,"'"],[21807,0,")"],[21808,0,"."],[21809,0,"g"],[21810,0,"e"],[21811,0,"t"],[21812,0,"("],[21813,0,"`"],[21814,0,"`"],[21815,0,"g"],[21816,0,"r"],[21817,0,"e"],[21818,0,"e"],[21819,0,"n"],[21820,0,"'"],[21821,0,"'"],[21822,0,")"],[21823,0," "],[21824,0,":"],[21825,0,"="],[21826,0," "],[21827,0,"`"],[21828,0,"`"],[21829,0,"\\"],[21830,0,"#"],[21831,0,"0"],[21832,0,"0"],[21833,0,"f"],[21834,0,"f"],[21835,0,"0"],[21836,0,"0"],[21837,0,"'"],[21838,0,"'"],[21839,0,";"],[21840,0,"}"],[21735,1],[21734,1],[21733,1],[21732,1],[21731,1],[21730,1],[21729,1],[21728,1],[21727,1],[21726,1],[21725,1],[21724,1],[21723,1],[21722,1],[21721,1],[21720,1],[21719,1],[21718,1],[21717,1],[21716,1],[21715,1],[21714,1],[21713,1],[21712,1],[21711,1],[21710,1],[21709,1],[21708,1],[21707,1],[21706,1],[21705,1],[21704,1],[21703,1],[21702,1],[21701,1],[21700,1],[21699,1],[21698,1],[21697,1],[21696,1],[21695,1],[21694,1],[21693,1],[21692,1],[21691,1],[21690,1],[21689,1],[21688,1],[21687,1],[21686,1],[21685,1],[21684,1],[21683,1],[21682,1],[21681,1],[21680,1],[21679,1],[21678,1],[21677,1],[21676,1],[21675,1],[21674,1],[21673,1],[21672,1],[21671,1],[21670,1],[21669,1],[21719,0,","],[21720,0,"m"],[21721,0,"i"],[21722,0,"d"],[21723,0,"w"],[21724,0,"a"],[21725,0,"y"],[21718,1],[21717,1],[21716,1],[21715,1],[21714,1],[21713,1],[21712,1],[21711,1],[21711,0,"r"],[21712,0,"e"],[21712,1],[21712,0,"a"],[21713,0,"g"],[21714,0,"g"],[21715,0,"e"],[21716,0,"d"],[21716,1],[21715,1],[21714,1],[21713,1],[21712,1],[21711,1],[21711,0,"c"],[21712,0,"e"],[21713,0,"n"],[21714,0,"t"],[21715,0,"e"],[21716,0,"r"],[21717,0,"e"],[21718,0,"d"],[21668,1],[21667,1],[21667,0,"-"],[21668,0,"-"],[21702,1],[21702,0,"2"],[21679,0," "],[21680,0," "],[21681,0," "],[21682,0," "],[21481,0,"-"],[21482,0,"-"],[21483,0," "],[21484,0,"("],[21485,0,"l"],[21486,0,"e"],[21487,0,"f"],[21488,0,"t"],[21489,0,"1"],[21490,0,")"],[21491,0,"\n"],[21492,0," "],[21493,0," "],[21494,0," "],[21495,0," "],[21496,1],[21496,1],[21496,1],[21506,0,","],[21507,0,"t"],[21508,0,"e"],[21509,0,"x"],[21510,0,"t"],[21511,0," "],[21512,0,"w"],[21513,0,"i"],[21514,0,"d"],[21515,0,"t"],[21516,0,"h"],[21517,0,"="],[21518,0,"2"],[21519,0,"c"],[21520,0,"m"],[21521,0,","],[21522,0,"t"],[21523,0,"e"],[21524,0,"x"],[21525,0,"t"],[21526,0," "],[21527,0,"c"],[21528,0,"e"],[21529,0,"n"],[21530,0,"t"],[21531,0,"e"],[21532,0,"r"],[21533,0,"e"],[21534,0,"d"],[21535,0,","],[21536,0,"m"],[21537,0,"i"],[21538,0,"d"],[21539,0,"w"],[21540,0,"a"],[21541,0,"y"],[21603,1],[21602,1],[21601,1],[21600,1],[21599,1],[21598,1],[21597,1],[21596,1],[21762,1],[21761,1],[21760,1],[21759,1],[21758,1],[21757,1],[21756,1],[21755,1],[21755,0,"r"],[21756,0,"a"],[21757,0,"g"],[21758,0,"g"],[21759,0,"e"],[21760,0,"d"],[21760,1],[21759,1],[21758,1],[21757,1],[21756,1],[21755,1],[21755,0,"c"],[21756,0,"e"],[21757,0,"n"],[21758,0,"t"],[21759,0,"e"],[21760,0,"r"],[21761,0,"e"],[21762,0,"d"],[21746,1],[21746,0,"4"],[21518,1],[21518,0,"4"],[21747,0,"."],[21748,0,"2"],[21519,0,"."],[21520,0,"2"],[20940,1],[20940,0,"6"],[20701,1],[20701,0,"8"],[20614,1],[20614,0,"8"],[20587,1],[20587,0,"8"],[23653,1],[23653,0,"."],[23654,0,"g"],[23655,0,"e"],[23656,0,"t"],[23657,0,"("],[23734,1],[23734,0,"."],[23735,0,"g"],[23736,0,"e"],[23737,0,"t"],[23738,0,"("],[23816,1],[23816,0,"."],[23817,0,"g"],[23818,0,"e"],[23819,0,"t"],[23820,0,"("],[23913,1],[23913,0,"."],[23914,0,"g"],[23915,0,"e"],[23916,0,"t"],[23917,0,"("],[23669,1],[23669,0,")"],[23750,1],[23750,0,")"],[23832,1],[23832,0,")"],[23929,1],[23929,0,")"],[23837,1],[23836,1],[23835,1],[23835,0,"d"],[23836,0,"x"],[23837,0,"("],[23838,0,"0"],[23839,0,")"],[23936,1],[23935,1],[23934,1],[23934,0,"d"],[23935,0,"x"],[23936,0,"("],[23937,0,"0"],[23938,0,")"],[24015,1],[24014,1],[24013,1],[24012,1],[24012,0,"d"],[24013,0,"o"],[24014,0,"c"],[24015,0,"."],[24016,0,"g"],[24017,0,"e"],[24018,0,"t"],[24019,0,"("],[24020,0,"`"],[24021,0,"`"],[24022,0,"g"],[24023,0,"r"],[24024,0,"o"],[24025,0,"c"],[24026,0,"e"],[24027,0,"r"],[24028,0,"y"],[24029,0,"'"],[24030,0,"'"],[24031,0,")"],[24032,0,"."],[24033,0,"i"],[24034,0,"d"],[24035,0,"x"],[24036,0,"("],[24037,0,"1"],[24038,0,")"],[24113,1],[24112,1],[24111,1],[24110,1],[24110,0,"d"],[24111,0,"o"],[24112,0,"c"],[24113,0,"."],[24114,0,"g"],[24115,0,"e"],[24116,0,"t"],[24117,0,"("],[24118,0,"z"],[24119,0,"`"],[24119,1],[24118,1],[24118,0,"`"],[24119,0,"`"],[24120,0,"g"],[24121,0,"r"],[24122,0,"o"],[24123,0,"c"],[24124,0,"y"],[24124,1],[24124,0,"e"],[24125,0,"r"],[24126,0,"y"],[24127,0,"'"],[24128,0,"'"],[24129,0,")"],[24130,0,"."],[24131,0,"i"],[24132,0,"d"],[24133,0,"x"],[24134,0,"("],[24135,0,"1"],[24136,0,")"],[23797,1],[23796,1],[23796,0,"-"],[23797,0,"-"],[23798,0," "],[23799,0,"("],[23800,0,"l"],[23801,0,"e"],[23802,0,"f"],[23803,0,"t"],[23804,0,"2"],[23805,0,")"],[23806,0,"\n"],[23807,0," "],[23808,0," "],[23809,0," "],[23821,0,","],[23822,0,"t"],[23823,0,"e"],[23824,0,"x"],[23825,0,"t"],[23826,0," "],[23827,0,"w"],[23828,0,"i"],[23829,0,"d"],[23830,0,"h"],[23830,1],[23830,0,"t"],[23831,0,"h"],[23832,0,"="],[23833,0,"4"],[23834,0,"c"],[23835,0,"m"],[23836,0,","],[23837,0,"t"],[23838,0,"e"],[23839,0,"x"],[23840,0,"t"],[23841,0," "],[23842,0,"c"],[23843,0,"e"],[23844,0,"n"],[23845,0,"t"],[23846,0,"e"],[23847,0,"r"],[23848,0,"e"],[23849,0,"d"],[23850,0,","],[23851,0,"m"],[23852,0,"i"],[23853,0,"d"],[23854,0,"w"],[23855,0,"a"],[23856,0,"y"],[23858,1],[23858,0," "],[23888,0," "],[23915,1],[23914,1],[23913,1],[23912,1],[23911,1],[23910,1],[23909,1],[23908,1],[23936,0,"-"],[23937,0,"-"],[23938,0," "],[23939,0,"("],[23940,0,"r"],[23941,0,"i"],[23942,0,"g"],[23943,0,"h"],[23944,0,"t"],[23945,0,"2"],[23946,0,")"],[23947,0,"\n"],[23948,0," "],[23949,0," "],[23950,0," "],[23951,0," "],[23952,1],[23952,1],[23952,1],[23963,0,","],[23964,0,"t"],[23965,0,"e"],[23966,0,"x"],[23967,0,"t"],[23968,0," "],[23969,0,"w"],[23970,0,"i"],[23971,0,"d"],[23972,0,"t"],[23973,0,"h"],[23974,0,"="],[23975,0,"4"],[23976,0,"c"],[23977,0,"m"],[23978,0,","],[23979,0,"t"],[23980,0,"e"],[23981,0,"x"],[23982,0,"t"],[23983,0," "],[23984,0,"c"],[23985,0,"e"],[23986,0,"n"],[23987,0,"t"],[23988,0,"e"],[23989,0,"r"],[23990,0,"e"],[23991,0,"d"],[23992,0,","],[23993,0,"m"],[23994,0,"i"],[23995,0,"d"],[23996,0,"w"],[23997,0,"a"],[23998,0,"y"],[24056,1],[24055,1],[24054,1],[24053,1],[24052,1],[24051,1],[24050,1],[24049,1],[24048,1],[24076,0,"-"],[24077,0,"-"],[24078,0," "],[24079,0,"("],[24080,0,"l"],[24081,0,"e"],[24082,0,"f"],[24083,0,"t"],[24084,0,"3"],[24085,0,")"],[24086,0,"\n"],[24087,1],[24087,1],[24087,0," "],[24088,0," "],[24089,0," "],[24101,0,","],[24102,0,"t"],[24103,0,"e"],[24104,0,"x"],[24105,0,"t"],[24106,0," "],[24107,0,"w"],[24108,0,"i"],[24109,0,"d"],[24110,0,"t"],[24111,0,"h"],[24112,0,"="],[24113,0,"3"],[24113,1],[24113,0,"4"],[24114,0,"c"],[24115,0,"m"],[24116,0,","],[24117,0,"t"],[24118,0,"e"],[24119,0,"x"],[24120,0,"t"],[24121,0," "],[24122,0,"c"],[24123,0,"e"],[24124,0,"n"],[24125,0,"t"],[24126,0,"e"],[24127,0,"r"],[24128,0,"e"],[24129,0,"d"],[24130,0,","],[24131,0,"m"],[24132,0,"i"],[24133,0,"d"],[24134,0,"w"],[24135,0,"a"],[24136,0,"y"],[24029,0," "],[24169,0," "],[24195,1],[24194,1],[24193,1],[24192,1],[24191,1],[24190,1],[24189,1],[24188,1],[24216,0,"-"],[24217,0,"-"],[24218,0," "],[24219,0,"("],[24220,0,"r"],[24221,0,"i"],[24222,0,"g"],[24223,0,"h"],[24224,0,"t"],[24225,0,"3"],[24226,0,")"],[24227,0,"\n"],[24228,0," "],[24229,0," "],[24230,0," "],[24231,0," "],[24232,1],[24232,1],[24232,1],[24243,0,","],[24244,0,"t"],[24245,0,"e"],[24246,0,"x"],[24247,0,"t"],[24248,0," "],[24249,0,"w"],[24250,0,"i"],[24251,0,"d"],[24252,0,"t"],[24253,0,"h"],[24254,0,"="],[24255,0,"4"],[24256,0,"c"],[24257,0,"m"],[24258,0,","],[24259,0,"t"],[24260,0,"e"],[24261,0,"x"],[24262,0,"t"],[24263,0," "],[24264,0,"c"],[24265,0,"e"],[24266,0,"n"],[24267,0,"t"],[24268,0,"e"],[24269,0,"r"],[24270,0,"e"],[24271,0,"d"],[24272,0,","],[24273,0,"m"],[24274,0,"i"],[24275,0,"d"],[24276,0,"w"],[24277,0,"a"],[24278,0,"y"],[24309,0," "],[24338,1],[24337,1],[24336,1],[24335,1],[24334,1],[24333,1],[24332,1],[24331,1],[24330,1],[20589,1],[20588,1],[20612,1],[20612,0,"7"],[20613,0,"."],[20614,0,"5"],[20701,1],[20701,0,"7"],[20702,0,"."],[20703,0,"5"],[20942,1],[20942,0,"5"],[20943,0,"."],[20944,0,"5"],[23193,0,"."],[23194,0,"5"],[23268,0,"."],[23269,0,"0"],[23354,0,"."],[23355,0,"0"],[23459,0,"."],[23460,0,"0"],[23111,0,"."],[23112,0,"0"],[23038,0,"."],[23039,0,"5"],[22972,1],[22972,0,"7"],[22973,0,"."],[22974,0,"0"],[22907,1],[22907,0,"7"],[22908,0,"."],[22909,0,"0"],[22857,1],[22857,0,"9"],[22858,0,"."],[22859,0,"0"],[22807,1],[22807,0,"9"],[22808,0,"."],[22809,0,"0"],[22779,1],[22779,0,"9"],[23281,1],[23281,0,"5"],[23206,1],[23205,1],[23204,1],[23204,0,"5"],[23205,0,"."],[23206,0,"0"],[23122,1],[23122,0,"5"],[23047,1],[23046,1],[23045,1],[23045,0,"5"],[23046,0,"."],[23047,0,"0"],[22980,1],[22980,0,"5"],[22913,1],[22913,0,"5"],[22861,1],[22861,0,"5"],[22809,1],[22809,0,"5"],[22781,1],[22780,1],[22779,1],[22779,0,"1"],[22780,0,"0"],[25514,1],[25513,1],[25512,1],[25511,1],[25510,1],[25509,1],[25508,1],[25507,1],[25506,1],[25505,1],[25504,1],[25503,1],[25525,1],[25524,1],[25526,0,"\n"],[25527,0,"\\"],[25528,0,"n"],[25529,0,"o"],[25530,0,"d"],[25531,0,"e"],[25532,0," "],[25533,0,"("],[25534,0,"r"],[25535,0,"i"],[25536,0,"g"],[25537,0,"h"],[25538,0,"t"],[25539,0,"1"],[25540,0,")"],[25541,0," "],[25476,0," "],[25543,0,"a"],[25544,0,"t"],[25545,0," "],[25546,0,"("],[25547,0,"8"],[25548,0,"."],[25548,1],[25548,0,","],[25549,0,"0"],[25550,0,")"],[25551,0," "],[25552,0,"["],[25553,0,"r"],[25554,0,"e"],[25555,0,"c"],[25556,0,"t"],[25557,0,"a"],[25558,0,"n"],[25559,0,"g"],[25560,0,"l"],[25561,0,"e"],[25562,0,","],[25563,0,"d"],[25564,0,"r"],[25565,0,"a"],[25566,0,"w"],[25567,0,"]"],[25568,0," "],[25569,0,"{"],[25570,0,"["],[25571,0,"`"],[25572,0,"`"],[25573,0,"a"],[25574,0,"'"],[25575,0,"'"],[25576,0,","],[25577,0," "],[25578,0,"`"],[25579,0,"`"],[25580,0,"b"],[25581,0,"'"],[25582,0,"'"],[25583,0,","],[25584,0," "],[25585,0,"`"],[25586,0,"`"],[25587,0,"c"],[25588,0,"'"],[25589,0,"'"],[25590,0,"]"],[25591,0,"}"],[25592,0,";"],[25483,1],[25483,0,"8"],[25549,1],[25549,0,"8"],[25593,0,"\n"],[25594,0,"\\"],[25595,0,"n"],[25596,0,"o"],[25597,0,"d"],[25598,0,"e"],[25599,0," "],[25600,0,"("],[25601,0,"l"],[25602,0,"e"],[25603,0,"f"],[25604,0,"t"],[25605,0,"2"],[25606,0,")"],[25607,0," "],[25608,0," "],[25609,0,"a"],[25610,0,"t"],[25611,0," "],[25612,0,"("],[25613,0,"0"],[25614,0,","],[25615,0,"6"],[25616,0,")"],[25617,0," "],[25618,0,"["],[25619,0,"r"],[25620,0,"e"],[25621,0,"c"],[25622,0,"t"],[25623,0,"a"],[25624,0,"n"],[25625,0,"g"],[25626,0,"l"],[25627,0,"e"],[25628,0,","],[25629,0,"d"],[25630,0,"r"],[25631,0,"a"],[25632,0,"w"],[25633,0,"]"],[25634,0," "],[25635,0,"{"],[25636,0,"["],[25637,0,"`"],[25638,0,"`"],[25639,0,"a"],[25640,0,"'"],[25641,0,"'"],[25642,0,","],[25643,0," "],[25644,0,"`"],[25645,0,"`"],[25646,0,"c"],[25647,0,"'"],[25648,0,"'"],[25649,0,"]"],[25650,0,"}"],[25651,0,";"],[25652,0,"\n"],[25653,0,"\\"],[25654,0,"n"],[25655,0,"o"],[25656,0,"d"],[25657,0,"e"],[25658,0," "],[25659,0,"("],[25660,0,"\n"],[25661,0,"\\"],[25662,0,"n"],[25663,0,"o"],[25664,0,"d"],[25665,0,"e"],[25666,0," "],[25667,0,"("],[25668,0,"r"],[25669,0,"i"],[25670,0,"g"],[25671,0,"h"],[25672,0,"t"],[25673,0,"1"],[25674,0,")"],[25675,0," "],[25676,0,"a"],[25677,0,"t"],[25678,0," "],[25679,0,"("],[25680,0,"9"],[25680,1],[25680,0,"8"],[25681,0,","],[25682,0,"8"],[25683,0,")"],[25684,0," "],[25685,0,"["],[25686,0,"r"],[25687,0,"e"],[25688,0,"c"],[25689,0,"t"],[25690,0,"a"],[25691,0,"n"],[25692,0,"g"],[25693,0,"l"],[25694,0,"e"],[25695,0,","],[25696,0,"d"],[25697,0,"r"],[25698,0,"a"],[25699,0,"w"],[25700,0,"]"],[25701,0," "],[25702,0,"{"],[25703,0,"["],[25704,0,"`"],[25705,0,"`"],[25706,0,"a"],[25707,0,"'"],[25708,0,"'"],[25709,0,","],[25710,0," "],[25711,0,"'"],[25712,0,"'"],[25712,1],[25711,1],[25711,0,"a"],[25712,0,"a"],[25713,0,"`"],[25713,1],[25712,1],[25711,1],[25711,0,"a"],[25711,1],[25711,0,"`"],[25712,0,"`"],[25713,0,"b"],[25714,0,"'"],[25715,0,"'"],[25716,0,","],[25717,0," "],[25718,0,"`"],[25719,0,"`"],[25720,0,"c"],[25721,0,"'"],[25722,0,"'"],[25723,0,"]"],[25724,0,"}"],[25725,0,";"],[25592,1],[25591,1],[25590,1],[25589,1],[25588,1],[25587,1],[25586,1],[25585,1],[25584,1],[25583,1],[25582,1],[25581,1],[25580,1],[25579,1],[25578,1],[25577,1],[25576,1],[25575,1],[25574,1],[25573,1],[25572,1],[25571,1],[25570,1],[25569,1],[25568,1],[25567,1],[25566,1],[25565,1],[25564,1],[25563,1],[25562,1],[25561,1],[25560,1],[25559,1],[25558,1],[25557,1],[25556,1],[25555,1],[25554,1],[25553,1],[25552,1],[25551,1],[25550,1],[25549,1],[25548,1],[25547,1],[25546,1],[25545,1],[25544,1],[25543,1],[25542,1],[25541,1],[25540,1],[25539,1],[25538,1],[25537,1],[25536,1],[25535,1],[25534,1],[25533,1],[25532,1],[25531,1],[25530,1],[25529,1],[25528,1],[25527,1],[25594,0,"l"],[25595,0,"e"],[25596,0,"f"],[25597,0,"t"],[25598,0,"3"],[25599,0,")"],[25600,0," "],[25601,0," "],[25602,0,"a"],[25603,0,"t"],[25604,0," "],[25605,0,"("],[25606,0,"0"],[25607,0,","],[25608,0,"4"],[25609,0,")"],[25610,0," "],[25611,0,"["],[25612,0,"r"],[25613,0,"e"],[25614,0,"c"],[25615,0,"t"],[25616,0,"a"],[25617,0,"n"],[25618,0,"g"],[25619,0,"l"],[25620,0,"e"],[25621,0,","],[25622,0,"d"],[25623,0,"r"],[25624,0,"a"],[25625,0,"w"],[25626,0,"]"],[25627,0," "],[25628,0,"{"],[25629,0,"["],[25630,0,"`"],[25631,0,"`"],[25632,0,"a"],[25633,0,"'"],[25634,0,"'"],[25635,0,","],[25636,0," "],[25637,0,"`"],[25638,0,"`"],[25639,0,"x"],[25640,0,"'"],[25641,0,"'"],[25642,0,","],[25643,0," "],[25644,0,"`"],[25645,0,"`"],[25646,0,"c"],[25647,0,"'"],[25648,0,"'"],[25649,0,"]"],[25650,0,"}"],[25651,0,";"],[25718,0,"\n"],[25719,0,"\\"],[25720,0,"n"],[25721,0,"o"],[25722,0,"d"],[25723,0,"e"],[25724,0," "],[25725,0,"("],[25726,0,"r"],[25727,0,"i"],[25728,0,"g"],[25729,0,"h"],[25730,0,"t"],[25731,0,"2"],[25732,0,")"],[25733,0," "],[25734,0,"a"],[25735,0,"t"],[25736,0," "],[25737,0,"("],[25738,0,"8"],[25739,0,","],[25740,0,"6"],[25741,0,")"],[25742,0," "],[25743,0,"["],[25744,0,"r"],[25745,0,"e"],[25746,0,"c"],[25747,0,"t"],[25748,0,"a"],[25749,0,"n"],[25750,0,"g"],[25751,0,"l"],[25752,0,"e"],[25753,0,","],[25754,0,"d"],[25755,0,"r"],[25756,0,"a"],[25757,0,"w"],[25758,0,"]"],[25759,0," "],[25760,0,"{"],[25761,0,"["],[25762,0,"`"],[25763,0,"`"],[25764,0,"y"],[25765,0,"'"],[25766,0,"'"],[25767,0,","],[25768,0," "],[25769,0,"'"],[25770,0,"'"],[25770,1],[25769,1],[25769,0,"`"],[25770,0,"`"],[25771,0,"a"],[25772,0,"'"],[25773,0,"'"],[25774,0,","],[25775,0," "],[25776,0,"`"],[25777,0,"`"],[25778,0,"b"],[25779,0,"'"],[25780,0,"'"],[25781,0,","],[25782,0," "],[25783,0,"`"],[25784,0,"`"],[25785,0,"c"],[25786,0,"'"],[25787,0,"'"],[25788,0,"]"],[25789,0,"}"],[25790,0,";"],[25791,0,"\n"],[25792,0,"\\"],[25793,0,"n"],[25794,0,"o"],[25795,0,"d"],[25796,0,"e"],[25797,0," "],[25798,0,")"],[25799,0,"("],[25799,1],[25798,1],[25798,0,"("],[25799,0,"r"],[25800,0,"i"],[25801,0,"g"],[25802,0,"h"],[25803,0,"t"],[25804,0,"3"],[25805,0,")"],[25806,0," "],[25807,0,"a"],[25808,0,"t"],[25809,0," "],[25810,0,"("],[25811,0,"8"],[25812,0,","],[25813,0,"5"],[25813,1],[25813,0,"4"],[25814,0,")"],[25815,0," "],[25816,0,"["],[25817,0,"r"],[25818,0,"e"],[25819,0,"c"],[25820,0,"t"],[25821,0,"a"],[25822,0,"n"],[25823,0,"g"],[25824,0,"l"],[25825,0,"e"],[25826,0,","],[25827,0,"d"],[25828,0,"r"],[25829,0,"a"],[25830,0,"w"],[25831,0,"]"],[25832,0," "],[25833,0,"{"],[25834,0,"["],[25835,0,"`"],[25836,0,"`"],[25837,0,"y"],[25838,0,"'"],[25839,0,"'"],[25840,0,","],[25841,0," "],[25842,0,"`"],[25843,0,"`"],[25844,0,"a"],[25845,0,"'"],[25846,0,"'"],[25847,0,","],[25848,0," "],[25849,0,"`"],[25850,0,"`"],[25851,0,"z"],[25852,0,"'"],[25853,0,"'"],[25854,0," "],[25854,1],[25854,0,","],[25855,0," "],[25856,0,"`"],[25857,0,"`"],[25858,0,"b"],[25859,0,"'"],[25860,0,"'"],[25861,0,","],[25862,0," "],[25863,0,"`"],[25864,0,"`"],[25865,0,"c"],[25866,0,"'"],[25867,0,"'"],[25868,0,"]"],[25869,0,"}"],[25870,0,";"],[25652,0,"\n"],[25653,0,"\\"],[25654,0,"n"],[25655,0,"o"],[25656,0,"d"],[25657,0,"e"],[25658,0," "],[25659,0,"("],[25660,0,"l"],[25661,0,"e"],[25662,0,"f"],[25663,0,"t"],[25664,0,"4"],[25665,0,")"],[25666,0," "],[25667,0," "],[25668,0,"a"],[25669,0,"t"],[25670,0," "],[25671,0,"("],[25672,0,"0"],[25673,0,","],[25674,0,"0"],[25675,0,")"],[25676,0," "],[25677,0,"["],[25678,0,"r"],[25679,0,"e"],[25680,0,"c"],[25681,0,"t"],[25682,0,"a"],[25683,0,"n"],[25684,0,"g"],[25685,0,"l"],[25686,0,"e"],[25687,0,","],[25688,0,"d"],[25689,0,"r"],[25690,0,"a"],[25691,0,"w"],[25692,0,"]"],[25693,0," "],[25694,0,"["],[25694,1],[25694,0,"{"],[25695,0,"["],[25696,0,"`"],[25697,0,"`"],[25698,0,"y"],[25699,0,"'"],[25700,0,"'"],[25701,0,","],[25702,0," "],[25703,0,"`"],[25704,0,"`"],[25705,0,"a"],[25706,0,"'"],[25707,0,"'"],[25708,0,","],[25709,0," "],[25710,0,"`"],[25711,0,"`"],[25712,0,"x"],[25713,0,"'"],[25714,0,"'"],[25715,0,","],[25716,0," "],[25717,0,"`"],[25718,0,"`"],[25719,0,"z"],[25720,0,"'"],[25721,0,"'"],[25722,0,","],[25723,0," "],[25724,0,"`"],[25725,0,"`"],[25726,0,"c"],[25727,0,"'"],[25728,0,"'"],[25729,0,"]"],[25730,0,"}"],[25731,0,";"],[25951,0,"\n"],[25952,0,"\\"],[25953,0,"n"],[25954,0,"o"],[25955,0,"d"],[25956,0,"e"],[25957,0," "],[25958,0,"("],[25959,0,"r"],[25960,0,"i"],[25961,0,"g"],[25962,0,"h"],[25963,0,"t"],[25964,0,"3"],[25965,0,")"],[25965,1],[25964,1],[25964,0,"4"],[25965,0,")"],[25966,0," "],[25967,0,"a"],[25968,0,"t"],[25969,0," "],[25970,0,"("],[25971,0,"8"],[25972,0,","],[25973,0,"0"],[25974,0,")"],[25975,0," "],[25976,0,"["],[25977,0,"r"],[25978,0,"e"],[25979,0,"c"],[25980,0,"t"],[25981,0,"a"],[25982,0,"n"],[25983,0,"g"],[25984,0,"l"],[25985,0,"e"],[25986,0,","],[25987,0,"d"],[25988,0,"r"],[25989,0,"a"],[25990,0,"w"],[25991,0,"]"],[25992,0," "],[25993,0,"{"],[25994,0,"["],[25995,0,"`"],[25996,0,"`"],[25997,0,"y"],[25998,0,"'"],[25999,0,"'"],[26000,0,","],[26001,0," "],[26002,0,"'"],[26002,1],[26002,0,"`"],[26003,0,"`"],[26004,0,"a"],[26005,0,"'"],[26006,0,"'"],[26007,0,","],[26008,0," "],[26009,0,"`"],[26010,0,"`"],[26011,0,"x"],[26012,0,"'"],[26013,0,"'"],[26014,0,","],[26015,0," "],[26016,0,"`"],[26017,0,"`"],[26018,0,"z"],[26019,0,"'"],[26020,0,"'"],[26021,0,","],[26022,0," "],[26023,0,"`"],[26024,0,"`"],[26025,0,"c"],[26026,0,"'"],[26027,0,"'"],[26028,0,"]"],[26029,0,"}"],[26030,0,";"],[26031,0,"\n"],[26032,0,"\\"],[26033,0,"d"],[26034,0,"r"],[26035,0,"a"],[26036,0,"w"],[26037,0," "],[26038,0,"["],[26039,0,"t"],[26040,0,"h"],[26041,0,"i"],[26042,0,"c"],[26043,0,"k"],[26044,0,","],[26045,0,"-"],[26046,0,">"],[26047,0,"]"],[26048,0," "],[26049,0,"("],[26050,0,"l"],[26051,0,"e"],[26052,0,"f"],[26053,0,"t"],[26054,0,"1"],[26055,0,")"],[26056,0," "],[26057,0," "],[26058,0,"t"],[26059,0,"o"],[26060,0," "],[26061,0,"n"],[26062,0,"o"],[26063,0,"d"],[26064,0,"e"],[26065,0," "],[26066,0,"["],[26067,0,"l"],[26068,0,"e"],[26069,0,"f"],[26070,0,"t"],[26071,0,"]"],[26072,0," "],[26073,0," "],[26074,0,"{"],[26075,0,"d"],[26076,0,"o"],[26077,0,"c"],[26078,0,"."],[26079,0,"i"],[26080,0,"d"],[26081,0,"x"],[26082,0,"("],[26083,0,"2"],[26084,0,")"],[26085,0,"."],[26086,0,"d"],[26087,0,"e"],[26088,0,"l"],[26089,0,"e"],[26090,0,"t"],[26091,0,"e"],[26092,0,";"],[26093,0,"}"],[26094,0," "],[26095,0,"("],[26096,0,"l"],[26097,0,"e"],[26098,0,"f"],[26099,0,"t"],[26100,0,"2"],[26101,0,")"],[26102,0,";"],[26103,0,"\n"],[26104,0,"\\"],[26105,0,"d"],[26106,0,"r"],[26107,0,"a"],[26108,0,"w"],[26109,0," "],[26110,0,"["],[26111,0,"t"],[26112,0,"h"],[26113,0,"i"],[26114,0,"c"],[26115,0,"k"],[26116,0,","],[26117,0,"-"],[26118,0,">"],[26119,0,"]"],[26120,0," "],[26121,0,"("],[26122,0,"l"],[26123,0,"e"],[26124,0,"f"],[26125,0,"t"],[26126,0,"2"],[26127,0," "],[26127,1],[26127,0,")"],[26128,0," "],[26129,0," "],[26130,0,"t"],[26131,0,"o"],[26132,0," "],[26133,0,"n"],[26134,0,"o"],[26135,0,"d"],[26136,0,"e"],[26137,0," "],[26138,0,"["],[26139,0,"l"],[26140,0,"e"],[26141,0,"f"],[26142,0,"t"],[26143,0,"]"],[26144,0," "],[26145,0," "],[26146,0,"{"],[26147,0,"d"],[26148,0,"o"],[26149,0,"c"],[26150,0,"."],[26151,0,"i"],[26152,0,"d"],[26153,0,"x"],[26154,0,"("],[26155,0,"1"],[26156,0,")"],[26157,0,"."],[26158,0,"i"],[26159,0,"n"],[26160,0,"s"],[26161,0,"e"],[26162,0,"r"],[26163,0,"t"],[26164,0,"("],[26165,0,"`"],[26166,0,"`"],[26167,0,"x"],[26168,0,"'"],[26169,0,"'"],[26170,0,")"],[26171,0,";"],[26172,0,"}"],[26173,0," "],[26174,0,"("],[26175,0,"l"],[26176,0,"e"],[26177,0,"f"],[26178,0,"t"],[26179,0,"3"],[26180,0,")"],[26181,0,";"],[26182,0,"\n"],[26183,0,"\\"],[26184,0,"d"],[26185,0,"r"],[26186,0,"a"],[26187,0,"w"],[26188,0," "],[26189,0,"["],[26190,0,"t"],[26191,0,"h"],[26192,0,"i"],[26193,0,"c"],[26194,0,"k"],[26195,0,","],[26196,0,"-"],[26197,0,">"],[26198,0,"]"],[26199,0," "],[26200,0,"("],[26201,0,"r"],[26202,0,"i"],[26203,0,"g"],[26204,0,"h"],[26205,0,"t"],[26206,0,"1"],[26207,0,")"],[26208,0," "],[26209,0,"t"],[26210,0,"o"],[26211,0," "],[26212,0,"n"],[26213,0,"o"],[26214,0,"d"],[26215,0,"e"],[26216,0," "],[26217,0,"["],[26218,0,"r"],[26219,0,"i"],[26220,0,"g"],[26221,0,"h"],[26222,0,"t"],[26223,0,"]"],[26224,0," "],[26225,0,"{"],[26226,0,"d"],[26227,0,"o"],[26228,0,"c"],[26229,0,"."],[26230,0,"i"],[26231,0,"d"],[26232,0,"x"],[26233,0,"("],[26234,0,"1"],[26234,1],[26234,0,"0"],[26235,0,")"],[26236,0,"."],[26237,0,"i"],[26238,0,"n"],[26239,0,"s"],[26240,0,"e"],[26241,0,"r"],[26242,0,"t"],[26243,0,"("],[26244,0,"`"],[26245,0,"`"],[26246,0,"y"],[26247,0,"'"],[26248,0,"'"],[26249,0,")"],[26250,0,";"],[26251,0,"}"],[26252,0," "],[26253,0,"("],[26254,0,"r"],[26255,0,"i"],[26256,0,"g"],[26257,0,"h"],[26258,0,"t"],[26259,0,"2"],[26260,0,")"],[26261,0,";"],[26262,0,"\n"],[26263,0,"\\"],[26264,0,"d"],[26265,0,"r"],[26266,0,"a"],[26267,0,"w"],[26268,0,"["],[26268,1],[26268,0," "],[26269,0,"["],[26270,0,"t"],[26271,0,"h"],[26272,0,"i"],[26273,0,"c"],[26274,0,"k"],[26275,0,","],[26276,0,"-"],[26277,0,">"],[26278,0,"]"],[26279,0," "],[26280,0,"("],[26281,0,"r"],[26282,0,"i"],[26283,0,"g"],[26284,0,"h"],[26285,0,"t"],[26286,0,"2"],[26287,0,")"],[26288,0," "],[26289,0,"t"],[26290,0,"o"],[26291,0," "],[26292,0,"n"],[26293,0,"o"],[26294,0,"d"],[26295,0,"e"],[26296,0," "],[26297,0,"["],[26298,0,"r"],[26299,0,"i"],[26300,0,"g"],[26301,0,"h"],[26302,0,"t"],[26303,0,"]"],[26304,0," "],[26305,0,"{"],[26306,0,"d"],[26307,0,"o"],[26308,0,"c"],[26309,0,"."],[26310,0,"i"],[26311,0,"d"],[26312,0,"x"],[26313,0,"("],[26314,0,"2"],[26315,0,")"],[26316,0,"."],[26317,0,"i"],[26318,0,"n"],[26319,0,"s"],[26320,0,"e"],[26321,0,"r"],[26322,0,"t"],[26323,0,"("],[26324,0,"`"],[26325,0,"`"],[26326,0,"z"],[26327,0,"'"],[26328,0,"'"],[26329,0,")"],[26330,0,";"],[26331,0,"}"],[26332,0," "],[26333,0,"("],[26334,0,"r"],[26335,0,"i"],[26336,0,"g"],[26337,0,"h"],[26338,0,"t"],[26339,0,"3"],[26340,0,")"],[26341,0,";"],[25893,1],[25893,0,"3"],[25820,1],[25820,0,"5"],[25754,1],[25754,0,"7"],[25608,1],[25608,0,"3"],[25549,1],[25549,0,"5"],[25483,1],[25483,0,"7"],[26342,0,"\n"],[26343,0,"\\"],[26344,0,"d"],[26345,0,"r"],[26346,0,"a"],[26347,0,"w"],[26348,0," "],[26349,0,"["],[26350,0,"t"],[26351,0,"h"],[26352,0,"i"],[26353,0,"c"],[26354,0,"k"],[26355,0,","],[26356,0,"d"],[26357,0,"a"],[26358,0,"s"],[26359,0,"h"],[26360,0,"e"],[26361,0,"d"],[26362,0,","],[26363,0,"b"],[26364,0,"l"],[26365,0,"u"],[26366,0,"e"],[26367,0,","],[26368,0,"-"],[26369,0,">"],[26370,0,"]"],[26371,0," "],[26372,0,"("],[26373,0,"l"],[26374,0,"e"],[26375,0,"f"],[26376,0,"t"],[26377,0,"3"],[26378,0,"."],[26379,0,"s"],[26380,0,"o"],[26381,0,"u"],[26382,0,"t"],[26383,0,"h"],[26384,0,")"],[26385,0," "],[26386,0," "],[26387,0,"t"],[26388,0,"o"],[26389,0," "],[26390,0,"["],[26391,0,"o"],[26392,0,"u"],[26393,0,"t"],[26394,0,"="],[26395,0,"2"],[26396,0,"7"],[26397,0,"0"],[26398,0,","],[26399,0,"i"],[26400,0,"n"],[26401,0,"="],[26402,0,"1"],[26403,0,"3"],[26404,0,"5"],[26405,0,"]"],[26406,0," "],[26407,0,"("],[26408,0,"r"],[26409,0,"i"],[26410,0,"g"],[26411,0,"h"],[26412,0,"t"],[26413,0,"4"],[26414,0,"."],[26415,0,"n"],[26416,0,"o"],[26417,0,"r"],[26418,0,"t"],[26419,0,"h"],[26420,0," "],[26421,0,"w"],[26422,0,"e"],[26423,0,"s"],[26424,0,"t"],[26425,0,")"],[26426,0,";"],[26427,0,"\n"],[26428,0,"\\"],[26429,0,"d"],[26430,0,"r"],[26431,0,"a"],[26432,0,"w"],[26433,0," "],[26434,0,"["],[26435,0,"t"],[26436,0,"h"],[26437,0,"i"],[26438,0,"c"],[26439,0,"k"],[26440,0,","],[26441,0,"d"],[26442,0,"a"],[26443,0,"s"],[26444,0,"h"],[26445,0,"e"],[26446,0,"d"],[26447,0,","],[26448,0,"b"],[26449,0,"l"],[26450,0,"u"],[26451,0,"e"],[26452,0,","],[26453,0,"-"],[26454,0,">"],[26455,0," "],[26456,0,"("],[26457,0,"r"],[26458,0,"i"],[26459,0,"g"],[26460,0,"h"],[26461,0,"t"],[26462,0,"3"],[26463,0,"."],[26464,0,"s"],[26465,0,"o"],[26466,0,"u"],[26455,0,"]"],[26468,0,"t"],[26469,0,"h"],[26470,0,")"],[26471,0," "],[26472,0,"t"],[26473,0,"o"],[26474,0," "],[26475,0,"["],[26476,0,"o"],[26477,0,"u"],[26478,0,"t"],[26479,0,"="],[26480,0,"2"],[26481,0,"7"],[26482,0,"0"],[26483,0,","],[26484,0,"i"],[26485,0,"n"],[26486,0,"="],[26487,0,"4"],[26488,0,"5"],[26489,0,"]"],[26490,0," "],[26491,0," "],[26492,0,"("],[26493,0,"l"],[26494,0,"e"],[26495,0,"f"],[26496,0,"t"],[26497,0,"4"],[26498,0,"."],[26499,0,"n"],[26500,0,"o"],[26501,0,"r"],[26502,0,"t"],[26503,0,"h"],[26504,0," "],[26505,0,"e"],[26506,0,"a"],[26507,0,"s"],[26508,0,"t"],[26509,0,")"],[26510,0,";"],[26031,0,"\n"],[26032,0,"\\"],[26033,0,"n"],[26034,0,"o"],[26035,0,"d"],[26036,0,"e"],[26037,0," "],[26038,0,"("],[26039,0,"c"],[26040,0,"o"],[26041,0,"m"],[26042,0,"m"],[26043,0,"s"],[26044,0,")"],[26045,0," "],[26046,0," "],[26047,0,"a"],[26048,0,"t"],[26049,0," "],[26050,0,"("],[26051,0,"5"],[26052,0,","],[26053,0," "],[26054,0,"1"],[26055,0,"."],[26056,0,"4"],[26057,0,")"],[26058,0," "],[26059,0,"["],[26060,0,"t"],[26061,0,"e"],[26062,0,"x"],[26063,0,"t"],[26064,0,"="],[26065,0,"b"],[26066,0,"l"],[26067,0,"u"],[26068,0,"e"],[26069,0,"]"],[26070,0," "],[26071,0,"{"],[26072,0,"\\"],[26073,0,"f"],[26074,0,"o"],[26075,0,"o"],[26076,0,"t"],[26077,0,"n"],[26078,0,"o"],[26079,0,"t"],[26080,0,"e"],[26081,0,"s"],[26082,0,"i"],[26083,0,"z"],[26084,0,"e"],[26085,0," "],[26086,0,"n"],[26087,0,"e"],[26088,0,"t"],[26089,0,"w"],[26090,0,"o"],[26091,0,"r"],[26092,0,"k"],[26093,0," "],[26094,0,"c"],[26095,0,"o"],[26096,0,"m"],[26097,0,"m"],[26098,0,"u"],[26099,0,"n"],[26100,0,"i"],[26101,0,"c"],[26102,0,"a"],[26103,0,"t"],[26104,0,"i"],[26105,0,"o"],[26106,0,"n"],[26107,0,"}"],[26108,0,";"],[25461,0,"\n"],[25462,0,"\\"],[25463,0,"d"],[25464,0,"r"],[25465,0,"a"],[25466,0,"w"],[25467,0," "],[25468,0,"["],[25469,0,"p"],[25470,0,"a"],[25471,0,"t"],[25472,0,"h"],[25472,1],[25471,1],[25470,1],[25469,1],[25468,1],[25467,1],[25466,1],[25465,1],[25464,1],[25463,1],[25463,0,"p"],[25464,0,"a"],[25465,0,"t"],[25466,0,"h"],[25467,0," "],[25468,0,"["],[25469,0,"d"],[25470,0,"r"],[25471,0,"a"],[25472,0,"w"],[25473,0,","],[25474,0,"d"],[25475,0,"o"],[25476,0,"t"],[25477,0,"t"],[25478,0,"e"],[25479,0,"d"],[25480,0,"]"],[25481,0," "],[25482,0,"("],[25483,0,"4"],[25484,0,","],[25485,0,"-"],[25486,0,"0"],[25487,0,"5"],[25487,1],[25487,0,"."],[25488,0,"5"],[25489,0,")"],[25490,0," "],[25491,0,"-"],[25492,0,"-"],[25493,0," "],[25494,0,"("],[25495,0,"4"],[25496,0,","],[25497,0,"7"],[25498,0,"."],[25499,0,"5"],[25500,0,")"],[25501,0,";"],[25502,0,"\n"],[25503,0,"\\"],[25504,0,"n"],[25505,0,"o"],[25506,0,"d"],[25507,0,"e"],[25508,0," "],[25509,0,"("],[25510,0,"l"],[25511,0,"e"],[25512,0,"f"],[25513,0,"t"],[25514,0,"R"],[25515,0,")"],[25516,0," "],[25517,0," "],[25518,0,"a"],[25519,0,"t"],[25520,0," "],[25521,0,"("],[25522,0,"0"],[25523,0,","],[25524,0,"8"],[25525,0,"."],[25526,0,"5"],[25499,1],[25498,1],[25497,1],[25497,0,"9"],[25525,0,")"],[25526,0," "],[25527,0,"{"],[25528,0,"R"],[25529,0,"e"],[25530,0,"p"],[25531,0,"l"],[25532,0,"i"],[25533,0,"c"],[25534,0,"a"],[25535,0," "],[25536,0,"$"],[25537,0,"p"],[25538,0,"$"],[25539,0,":"],[25540,0,"}"],[25541,0,";"],[25542,0,"\n"],[25543,0,"\\"],[25544,0,"n"],[25545,0,"o"],[25546,0,"d"],[25547,0,"e"],[25548,0," "],[25549,0,"("],[25550,0,"r"],[25551,0,"i"],[25552,0,"g"],[25553,0,"h"],[25554,0,"t"],[25555,0,"R"],[25556,0,")"],[25557,0," "],[25558,0,"a"],[25559,0,"t"],[25560,0," "],[25561,0,"("],[25562,0,"8"],[25563,0,","],[25564,0,"8"],[25565,0,"."],[25566,0,"5"],[25567,0,")"],[25568,0," "],[25569,0,"{"],[25570,0,"R"],[25571,0,"e"],[25572,0,"p"],[25573,0,"l"],[25574,0,"i"],[25575,0,"c"],[25576,0,"a"],[25577,0," "],[25578,0,"$"],[25579,0,"q"],[25580,0,"$"],[25581,0,":"],[25582,0,"}"],[25583,0,";"],[26931,1],[26931,0,"6"],[26932,0,"."],[26933,0,"5"],[27019,1],[27018,1],[27017,1],[27016,1],[27015,1],[27014,1],[27013,1],[27012,1],[27011,1],[27010,1],[27009,1],[27008,1],[27007,1],[27006,1],[27005,1],[27004,1],[27003,1],[27002,1],[27001,1],[27000,1],[26999,1],[26998,1],[26997,1],[26996,1],[26995,1],[26994,1],[26993,1],[26992,1],[26991,1],[26990,1],[26989,1],[26988,1],[26987,1],[26986,1],[26985,1],[26984,1],[26983,1],[26982,1],[26981,1],[26980,1],[26979,1],[26978,1],[26977,1],[26976,1],[26975,1],[26974,1],[26973,1],[26972,1],[26971,1],[26970,1],[26969,1],[26968,1],[26967,1],[26966,1],[26965,1],[26964,1],[26963,1],[26962,1],[26961,1],[26960,1],[26959,1],[26958,1],[26957,1],[26956,1],[26955,1],[26954,1],[26953,1],[26952,1],[26951,1],[26950,1],[26949,1],[26948,1],[26947,1],[26946,1],[26945,1],[26944,1],[26943,1],[26942,1],[26941,1],[26940,1],[26939,1],[26938,1],[26937,1],[26936,1],[26174,1],[26174,0,"4"],[26179,1],[26179,0,"5"],[25566,1],[25565,1],[25523,1],[25523,1],[25497,1],[25497,0,"8"],[25498,0,"."],[25499,0,"5"],[26710,0,"\n"],[26711,0,"\\"],[26712,0,"d"],[26713,0,"r"],[26713,1],[26712,1],[26711,1],[26710,1],[26541,0,"\n"],[26542,0,"\\"],[26543,0,"d"],[26544,0,"r"],[26545,0,"a"],[26546,0,"w"],[26547,0," "],[26548,0,"["],[26549,0,"t"],[26550,0,"h"],[26551,0,"i"],[26552,0,"c"],[26553,0,"k"],[26554,0,","],[26555,0,"-"],[26556,0,">"],[26557,0," "],[26558,0,"("],[26558,1],[26557,1],[26557,0,"]"],[26558,0," "],[26559,0,"("],[26560,0,"l"],[26561,0,"e"],[26562,0,"f"],[26563,0,"t"],[26564,0,"3"],[26565,0,")"],[26566,0," "],[26567,0,"t"],[26568,0,"o"],[26569,0," "],[26567,0," "],[26571,0,"("],[26572,0,"l"],[26573,0,"e"],[26574,0,"f"],[26575,0,"t"],[26576,0,"4"],[26577,0,")"],[26578,0,";"],[26579,0,"\n"],[26580,0,"\\"],[26581,0,"d"],[26582,0,"r"],[26583,0,"a"],[26584,0,"w"],[26585,0," "],[26586,0,"["],[26587,0,"t"],[26588,0,"h"],[26589,0,"i"],[26590,0,"c"],[26591,0,"k"],[26592,0,","],[26593,0,"-"],[26594,0,">"],[26595,0,"]"],[26596,0," "],[26597,0,"("],[26598,0,"r"],[26599,0,"i"],[26600,0,"g"],[26601,0,"h"],[26602,0,"t"],[26603,0,"3"],[26604,0,")"],[26605,0," "],[26606,0,"t"],[26607,0,"o"],[26608,0," "],[26609,0,"("],[26610,0,"r"],[26611,0,"i"],[26612,0,"g"],[26613,0,"h"],[26614,0,"t"],[26615,0,"3"],[26615,1],[26615,0,"4"],[26616,0,")"],[26617,0,";"],[27008,1],[27007,1],[27006,1],[27006,0,"7"],[27007,0,"."],[27008,0,"0"],[27796,1],[27796,0,"."],[27797,0,"g"],[27798,0,"e"],[27799,0,"t"],[27800,0,"("],[27885,1],[27885,0,"."],[27886,0,"g"],[27887,0,"e"],[27888,0,"t"],[27889,0,"("],[27809,1],[27809,0,")"],[27810,0,"."],[27811,0,"i"],[27812,0,"d"],[27813,0,"x"],[27814,0,"("],[27815,0,"1"],[27816,0,")"],[27817,1],[27817,1],[27817,1],[27817,1],[27817,1],[27817,1],[27817,1],[27817,1],[27817,1],[27817,1],[27900,1],[27899,1],[27898,1],[27897,1],[27896,1],[27895,1],[27895,0,")"],[27897,0,"i"],[27898,0,"d"],[27899,0,"x"],[27900,0,"("],[27901,0,"1"],[27902,0,")"],[27903,0,"."],[27904,1],[27904,1],[27904,1],[27904,1],[27904,1],[27904,0,"g"],[27905,0,"e"],[27906,0,"t"],[27907,0,"("],[27916,1],[27916,0,")"],[26906,0,"\n"],[26907,0,"\n"],[26908,0,"\\"],[26909,0,"b"],[26910,0,"e"],[26911,0,"g"],[26912,0,"i"],[26913,0,"n"],[26914,0,"{"],[26915,0,"f"],[26916,0,"i"],[26917,0,"g"],[26918,0,"u"],[26919,0,"r"],[26920,0,"e"],[26921,0,"*"],[26922,0,"}"],[26923,0,"\n"],[26924,0,"\\"],[26925,0,"c"],[26926,0,"e"],[26927,0,"n"],[26928,0,"t"],[26929,0,"e"],[26930,0,"r"],[26931,0,"i"],[26932,0,"n"],[26933,0,"g"],[26934,0,"\n"],[26935,0,"\\"],[26936,0,"b"],[26937,0,"e"],[26938,0,"g"],[26939,0,"i"],[26940,0,"n"],[26941,0,"{"],[26942,0,"t"],[26943,0,"i"],[26944,0,"k"],[26945,0,"z"],[26946,0,"p"],[26947,0,"i"],[26948,0,"c"],[26949,0,"t"],[26950,0,"u"],[26951,0,"r"],[26952,0,"e"],[26953,0,"}"],[26954,0,"["],[26955,0,"a"],[26956,0,"u"],[26957,0,"t"],[26958,0,"o"],[26959,0,","],[26960,0,"s"],[26961,0,"c"],[26962,0,"a"],[26963,0,"l"],[26964,0,"e"],[26965,0,"="],[26966,0,"0"],[26967,0,"."],[26968,0,"8"],[26969,0,"]"],[26970,0,"\n"],[26971,0,"\\"],[26972,0,"e"],[26973,0,"n"],[26974,0,"d"],[26975,0,"{"],[26976,0,"t"],[26977,0,"i"],[26978,0,"k"],[26979,0,"z"],[26980,0,"p"],[26981,0,"i"],[26982,0,"c"],[26983,0,"t"],[26984,0,"u"],[26985,0,"r"],[26986,0,"e"],[26987,0,"}"],[26988,0,"\n"],[26989,0,"\\"],[26990,0,"c"],[26991,0,"a"],[26992,0,"p"],[26993,0,"t"],[26994,0,"i"],[26995,0,"o"],[26996,0,"n"],[26997,0,"{"],[26998,0,"C"],[26999,0,"o"],[27000,0,"n"],[27001,0,"c"],[27002,0,"u"],[27003,0,"r"],[27004,0,"r"],[27005,0,"e"],[27006,0,"n"],[27007,0,"t"],[27008,0,"l"],[27009,0,"y"],[27010,0," "],[27011,0,"a"],[27012,0,"s"],[27013,0,"s"],[27014,0,"i"],[27015,0,"g"],[27016,0,"n"],[27017,0,"i"],[27018,0,"n"],[27019,0,"g"],[27020,0," "],[27021,0,"v"],[27022,0,"a"],[27023,0,"l"],[27024,0,"u"],[27025,0,"e"],[27026,0,"s"],[27027,0," "],[27028,0,"o"],[27029,0,"f"],[27030,0," "],[27031,0,"d"],[27032,0,"i"],[27033,0,"f"],[27034,0,"f"],[27035,0,"e"],[27036,0,"r"],[27037,0,"e"],[27038,0,"n"],[27039,0,"t"],[27040,0," "],[27041,0,"t"],[27042,0,"y"],[27043,0,"p"],[27044,0,"e"],[27045,0,"s"],[27046,0," "],[27047,0,"t"],[27048,0,"o"],[27049,0," "],[27050,0,"t"],[27051,0,"h"],[27052,0,"e"],[27053,0," "],[27054,0,"s"],[27055,0,"a"],[27056,0,"m"],[27057,0,"e"],[27058,0," "],[27059,0,"m"],[27060,0,"a"],[27061,0,"p"],[27062,0," "],[27063,0,"k"],[27064,0,"e"],[27065,0,"y"],[27066,0,"."],[27067,0,"}"],[27068,0,"\n"],[27069,0,"\\"],[27070,0,"e"],[27071,0,"n"],[27072,0,"d"],[27073,0,"{"],[27074,0,"f"],[27075,0,"i"],[27076,0,"g"],[27077,0,"u"],[27078,0,"r"],[27079,0,"e"],[27080,0,"*"],[27081,0,"}"],[26970,0,"\n"],[26971,0,"\\"],[26972,0,"p"],[26973,0,"a"],[26974,0,"t"],[26975,0,"h"],[26976,0," "],[26977,0,"["],[26978,0,"d"],[26979,0,"r"],[26980,0,"a"],[26981,0,"w"],[26982,0,","],[26983,0,"d"],[26984,0,"o"],[26985,0,"t"],[26986,0,"t"],[26987,0,"e"],[26988,0,"d"],[26989,0,"]"],[26990,0," "],[26991,0,"("],[26992,0,"4"],[26993,0,","],[26994,0,"-"],[26995,0,"0"],[26996,0,"."],[26997,0,"5"],[26998,0,")"],[26999,0," "],[27000,0,"-"],[27001,0,"-"],[27002,0," "],[27003,0,"("],[27004,0,"4"],[27005,0,","],[27006,0,"8"],[27007,0,"."],[27008,0,"5"],[27009,0,")"],[27010,0,";"],[27011,0,"\n"],[27012,0,"\\"],[27013,0,"n"],[27014,0,"o"],[27015,0,"d"],[27016,0,"e"],[27017,0," "],[27018,0,"("],[27019,0,"l"],[27020,0,"e"],[27021,0,"f"],[27022,0,"t"],[27023,0,"1"],[27024,0,")"],[27025,0," "],[27026,0," "],[27027,0,"a"],[27028,0,"t"],[27029,0," "],[27030,0,"("],[27031,0,"0"],[27032,0,","],[27033,0,"7"],[27034,0,")"],[27035,0," "],[27036,0,"["],[27037,0,"r"],[27038,0,"e"],[27039,0,"c"],[27040,0,"t"],[27041,0,"a"],[27042,0,"n"],[27043,0,"g"],[27044,0,"l"],[27045,0,"e"],[27046,0,","],[27047,0,"d"],[27048,0,"r"],[27049,0,"a"],[27050,0,"w"],[27051,0,"}"],[27051,1],[27051,0,"]"],[27052,0," "],[27053,0,"{"],[27054,0,"\\"],[27055,0,"{"],[27056,0,"\\"],[27057,0,"}"],[27058,0,"}"],[27059,0,";"],[27060,0,"\n"],[27061,0,"\\"],[27062,0,"n"],[27063,0,"o"],[27064,0,"d"],[27065,0,"e"],[27066,0," "],[27067,0,"("],[27068,0,"r"],[27069,0,"i"],[27070,0,"g"],[27071,0,"h"],[27072,0,"t"],[27073,0,"1"],[27074,0,")"],[27075,0," "],[27076,0,"a"],[27077,0,"t"],[27078,0," "],[27079,0,"("],[27080,0,"0"],[27080,1],[27080,0,"8"],[27081,0,","],[27082,0,"7"],[27083,0,")"],[27084,0," "],[27085,0,"["],[27086,0,"r"],[27087,0,"e"],[27088,0,"c"],[27089,0,"t"],[27090,0,"a"],[27091,0,"n"],[27092,0,"g"],[27093,0,"l"],[27094,0,"e"],[27095,0,","],[27096,0,"d"],[27097,0,"r"],[27098,0,"a"],[27099,0,"w"],[27100,0,"]"],[27101,0," "],[27102,0,"{"],[27103,0,"\\"],[27104,0,"{"],[27105,0,"\\"],[27106,0,"}"],[27107,0,"}"],[27108,0,";"],[27060,0,"\n"],[27061,0,"\\"],[27062,0,"n"],[27063,0,"o"],[27064,0,"d"],[27065,0,"e"],[27066,0," "],[27067,0,"("],[27068,0,"l"],[27069,0,"e"],[27070,0,"f"],[27071,0,"t"],[27072,0,"2"],[27073,0,")"],[27074,0," "],[27075,0," "],[27076,0,"a"],[27077,0,"t"],[27078,0," "],[27079,0,"("],[27080,0,"0"],[27081,0,","],[27082,0,"5"],[27083,0,")"],[27084,0," "],[27085,0,"["],[27086,0,"r"],[27087,0,"e"],[27088,0,"c"],[27089,0,"t"],[27090,0,"a"],[27091,0,"n"],[27092,0,"g"],[27093,0,"l"],[27094,0,"e"],[27095,0,","],[27096,0,"d"],[27097,0,"r"],[27098,0,"a"],[27099,0,"w"],[27100,0,"]"],[27101,0," "],[27102,0,"{"],[27103,0,"\\"],[27104,0,"{"],[27105,0,"`"],[27106,0,"`"],[27107,0,"a"],[27108,0,"'"],[27109,0,"'"],[27110,0,":"],[27111,0," "],[27112,0,"\\"],[27113,0,"{"],[27114,0,"\\"],[27115,0,"}"],[27116,0,"\\"],[27117,0,"}"],[27118,0,"}"],[27119,0,";"],[27120,0,"\n"],[27121,0,"\\"],[27122,0,"n"],[27123,0,"o"],[27124,0,"d"],[27125,0,"e"],[27126,0," "],[27127,0,"("],[27128,0,"l"],[27129,0,"e"],[27130,0,"f"],[27131,0,"t"],[27132,0,"3"],[27133,0,")"],[27134,0," "],[27135,0," "],[27136,0,"a"],[27137,0,"t"],[27138,0," "],[27139,0,"("],[27140,0,"0"],[27141,0,","],[27142,0,"4"],[27142,1],[27142,0,"3"],[27143,0,")"],[27144,0," "],[27145,0,"["],[27146,0,"r"],[27147,0,"e"],[27148,0,"c"],[27149,0,"t"],[27150,0,"a"],[27151,0,"n"],[27152,0,"g"],[27153,0,"l"],[27154,0,"e"],[27155,0,","],[27156,0,"d"],[27157,0,"r"],[27158,0,"w"],[27159,0,"a"],[27160,0,"w"],[27160,1],[27159,1],[27158,1],[27158,0,"a"],[27159,0,"w"],[27160,0,"]"],[27161,0," "],[27162,0,"{"],[27163,0,"\\"],[27164,0,"{"],[27165,0,"`"],[27166,0,"`"],[27167,0,"a"],[27168,0,"'"],[27169,0,"'"],[27170,0,":"],[27171,0," "],[27172,0,"\\"],[27173,0,"{"],[27174,0,"`"],[27175,0,"`"],[27176,0,"x"],[27177,0,"'"],[27178,0,"'"],[27179,0,":"],[27180,0," "],[27181,0,"`"],[27182,0,"`"],[27183,0,"y"],[27184,0,"'"],[27185,0,"'"],[27186,0,"\\"],[27187,0,"}"],[27188,0,"\\"],[27189,0,"}"],[27190,0,"}"],[27191,0,";"],[27241,0,"\n"],[27242,0,"\\"],[27243,0,"n"],[27244,0,"o"],[27245,0,"d"],[27246,0,"e"],[27247,0," "],[27248,0,"("],[27249,0,"r"],[27250,0,"i"],[27251,0,"g"],[27252,0,"h"],[27253,0,"t"],[27254,0,"2"],[27255,0,")"],[27256,0," "],[27257,0,"a"],[27258,0,"t"],[27259,0," "],[27260,0,"("],[27261,0,"8"],[27262,0,","],[27263,0,"5"],[27264,0,")"],[27265,0," "],[27266,0,"["],[27267,0,"r"],[27268,0,"e"],[27269,0,"c"],[27270,0,"t"],[27271,0,"a"],[27272,0,"n"],[27273,0,"g"],[27274,0,"l"],[27275,0,"e"],[27276,0,","],[27277,0,"d"],[27278,0,"r"],[27279,0,"a"],[27280,0,"w"],[27281,0,"]"],[27282,0," "],[27283,0,"["],[27283,1],[27283,0,"{"],[27284,0,"\\"],[27285,0,"{"],[27286,0,"`"],[27287,0,"`"],[27288,0,"a"],[27289,0,"'"],[27290,0,"'"],[27291,0,":"],[27292,0," "],[27293,0,"["],[27294,0,"]"],[27295,0,"\\"],[27296,0,"}"],[27297,0,"}"],[27298,0,";"],[27299,0,"\n"],[27300,0,"\\"],[27301,0,"n"],[27302,0,"o"],[27303,0,"d"],[27304,0,"e"],[27305,0," "],[27306,0,"("],[27307,0,"r"],[27308,0,"i"],[27309,0,"g"],[27310,0,"h"],[27311,0,"t"],[27312,0,"3"],[27313,0,")"],[27314,0," "],[27315,0,"a"],[27316,0,"t"],[27317,0," "],[27318,0,"("],[27319,0,"8"],[27320,0,","],[27321,0,"4"],[27321,1],[27321,0,"3"],[27322,0,")"],[27323,0," "],[27324,0,"["],[27325,0,"r"],[27326,0,"e"],[27327,0,"c"],[27328,0,"t"],[27329,0,"a"],[27330,0,"n"],[27331,0,"g"],[27332,0,"l"],[27333,0,"e"],[27334,0,","],[27335,0,"d"],[27336,0,"r"],[27337,0,"a"],[27338,0,"w"],[27339,0,"]"],[27340,0," "],[27341,0,"{"],[27342,0,"\\"],[27343,0,"{"],[27344,0,"`"],[27345,0,"`"],[27346,0,"a"],[27347,0,"'"],[27348,0,"'"],[27349,0,":"],[27350,0," "],[27351,0,"["],[27352,0,"`"],[27353,0,"`"],[27354,0,"z"],[27355,0,"'"],[27356,0,"'"],[27357,0,"]"],[27358,0,"\\"],[27359,0,"}"],[27360,0,"]"],[27361,0,";"],[27360,1],[27360,0,"\n"],[27360,1],[27360,0,"}"],[27192,0,"\n"],[27193,0,"\\"],[27194,0,"n"],[27195,0,"o"],[27196,0,"d"],[27197,0,"e"],[27198,0," "],[27199,0,"("],[27200,0,"l"],[27201,0,"e"],[27202,0,"f"],[27203,0,"t"],[27204,0,"3"],[27204,1],[27204,0,"4"],[27205,0,")"],[27206,0," "],[27207,0," "],[27208,0,"a"],[27209,0,"t"],[27210,0," "],[27211,0,"("],[27212,0,"0"],[27213,0,","],[27214,0,"0"],[27215,0,")"],[27216,0," "],[27217,0,"["],[27218,0,"r"],[27219,0,"e"],[27220,0,"c"],[27221,0,"t"],[27222,0,"a"],[27223,0,"n"],[27224,0,"g"],[27225,0,"l"],[27226,0,"e"],[27227,0,","],[27228,0,"d"],[27229,0,"r"],[27230,0,"a"],[27231,0,"w"],[27232,0,"]"],[27233,0," "],[27234,0,"{"],[27235,0,"\\"],[27236,0,"_"],[27236,1],[27236,0,"{"],[27237,0,"`"],[27238,0,"`"],[27239,0,"a"],[27240,0,"'"],[27237,0,"m"],[27238,0,"a"],[27239,0,"p"],[27240,0,"T"],[27241,0,"("],[27246,0,"'"],[27247,0,")"],[27248,0,":"],[27249,0," "],[27250,0,"\\"],[27251,0,"{"],[27252,0,"`"],[27253,0,"`"],[27254,0,"x"],[27255,0,"'"],[27256,0,"'"],[27257,0,":"],[27258,0," "],[27259,0,"`"],[27260,0,"`"],[27261,0,"y"],[27262,0,"'"],[27263,0,"'"],[27264,0,"\\"],[27265,0,"}"],[27266,0,","],[27267,0," "],[27268,0,"l"],[27269,0,"i"],[27270,0,"s"],[27271,0,"t"],[27272,0,"T"],[27273,0,"("],[27274,0,"`"],[27275,0,"`"],[27276,0,"a"],[27277,0,"'"],[27278,0,"'"],[27278,1],[27278,0,"'"],[27279,0,")"],[27280,0,":"],[27281,0," "],[27282,0,"["],[27283,0,"`"],[27284,0,"`"],[27285,0,"z"],[27286,0,"'"],[27287,0,"'"],[27288,0,"]"],[27289,0,"\\"],[27290,0,"}"],[27291,0,"}"],[27292,0,";"],[27198,0," "],[27199,0,"["],[27200,0,"m"],[27201,0,"a"],[27202,0,"t"],[27203,0,"r"],[27204,0,"i"],[27205,0,"x"],[27206,0,"]"],[27216,1],[27243,0,"\n"],[27244,0," "],[27245,0," "],[27246,0," "],[27247,0," "],[27248,0,"\\"],[27249,0,"n"],[27250,0,"o"],[27251,0,"d"],[27252,0,"e"],[27253,0," "],[27254,0,"{"],[27287,0,"}"],[27288,0,";"],[27289,0," "],[27290,0,"\\"],[27291,0,"\\"],[27292,0,"\n"],[27293,0," "],[27294,0," "],[27295,0," "],[27296,0," "],[27297,0,"\\"],[27298,0,"n"],[27299,0,"o"],[27300,0,"d"],[27301,0,"e"],[27302,0," "],[27303,0,"{"],[27304,1],[27329,0," "],[27330,0,"\\"],[27331,0,"\\"],[27332,0,"\n"],[27333,0,"}"],[27334,0,";"],[27505,0,"\n"],[27506,0,"\\"],[27507,0,"n"],[27508,0,"o"],[27509,0,"d"],[27510,0,"e"],[27511,0," "],[27512,0,"["],[27513,0,"m"],[27514,0,"a"],[27515,0,"t"],[27516,0,"r"],[27517,0,"i"],[27518,0,"x"],[27519,0,"]"],[27520,0," "],[27521,0,"("],[27522,0,"r"],[27523,0,"i"],[27524,0,"g"],[27525,0,"h"],[27526,0,"t"],[27527,0,"4"],[27528,0,"3"],[27528,1],[27528,0,")"],[27529,0," "],[27530,0,"a"],[27531,0,"t"],[27532,0," "],[27533,0,"("],[27534,0,"8"],[27535,0,","],[27536,0,"0"],[27537,0,")"],[27538,0," "],[27539,0,"["],[27540,0,"r"],[27541,0,"e"],[27542,0,"c"],[27543,0,"t"],[27544,0,"a"],[27545,0,"n"],[27546,0,"g"],[27547,0,"l"],[27548,0,"e"],[27549,0,","],[27550,0,"d"],[27551,0,"r"],[27552,0,"a"],[27553,0,"w"],[27554,0,"]"],[27555,0," "],[27556,0,"{"],[27557,0,"\n"],[27558,0," "],[27559,0," "],[27560,0," "],[27561,0," "],[27562,0,"\\"],[27563,0,"n"],[27564,0,"o"],[27565,0,"d"],[27566,0,"e"],[27567,0," "],[27568,0,"{"],[27569,0,"\\"],[27570,0,"{"],[27571,0,"m"],[27572,0,"a"],[27573,0,"p"],[27574,0,"T"],[27575,0,"("],[27576,0,"`"],[27577,0,"`"],[27578,0,"a"],[27579,0,"'"],[27580,0,"'"],[27581,0,")"],[27582,0,":"],[27583,0," "],[27584,0,"`"],[27585,0,"{"],[27585,1],[27584,1],[27584,0,"\\"],[27585,0,"{"],[27586,0,"`"],[27587,0,"`"],[27588,0,"x"],[27589,0,"'"],[27590,0,"'"],[27591,0,":"],[27592,0," "],[27593,0,"`"],[27594,0,"`"],[27595,0,"y"],[27596,0,"'"],[27597,0,"'"],[27598,0,"\\"],[27599,0,"}"],[27600,0,","],[27601,0,"}"],[27602,0,";"],[27603,0," "],[27604,0,"\\"],[27605,0,"\\"],[27606,0,"\n"],[27607,0," "],[27608,0," "],[27609,0," "],[27610,0," "],[27611,0,"\\"],[27612,0,"n"],[27613,0,"o"],[27614,0,"d"],[27615,0,"e"],[27616,0," "],[27617,0,"{"],[27618,0,"l"],[27619,0,"i"],[27620,0,"s"],[27621,0,"t"],[27622,0,"T"],[27623,0,"("],[27624,0,"`"],[27625,0,"`"],[27626,0,"a"],[27627,0,"'"],[27628,0,"'"],[27629,0,")"],[27630,0,":"],[27631,0," "],[27632,0,"["],[27633,0,"`"],[27634,0,"`"],[27635,0,"z"],[27636,0,"'"],[27637,0,"'"],[27638,0,"]"],[27639,0,"\\"],[27640,0,"}"],[27641,0,"}"],[27642,0,";"],[27643,0," "],[27644,0,"\\"],[27645,0,"\\"],[27646,0,"\n"],[27647,0,"}"],[27648,0,";"],[27649,0,"\n"],[27650,0,"\\"],[27651,0,"d"],[27652,0,"r"],[27653,0,"a"],[27654,0,"w"],[27655,0," "],[27656,0,"["],[27657,0,"t"],[27658,0,"h"],[27659,0,"i"],[27660,0,"c"],[27661,0,"k"],[27662,0,","],[27663,0,"-"],[27664,0,">"],[27665,0," "],[27665,1],[27665,0,"]"],[27666,0," "],[27667,0,"("],[27668,0,"l"],[27669,0,"e"],[27670,0,"f"],[27671,0,"t"],[27672,0,"1"],[27673,0,")"],[27674,0," "],[27675,0," "],[27676,0,"t"],[27677,0,"o"],[27678,0," "],[27679,0,"n"],[27680,0,"o"],[27681,0,"d"],[27682,0,"e"],[27683,0," "],[27684,0,"["],[27685,0,"l"],[27686,0,"e"],[27687,0,"f"],[27688,0,"t"],[27689,0," "],[27689,1],[27689,0,"]"],[27690,0," "],[27691,0," "],[27692,0,"{"],[27693,0,"d"],[27694,0,"o"],[27695,0,"c"],[27696,0,"."],[27697,0,"g"],[27698,0,"e"],[27699,0,"t"],[27700,0,"("],[27701,0,"`"],[27702,0,"`"],[27703,0,"a"],[27704,0,"'"],[27705,0,"'"],[27706,0,")"],[27707,0," "],[27708,0,":"],[27709,0,"="],[27710,0," "],[27711,0,"\\"],[27712,0,"{"],[27713,0,"\\"],[27714,0,"}"],[27715,0,";"],[27716,0,"}"],[27717,0," "],[27718,0,"("],[27719,0,"l"],[27720,0,"e"],[27721,0,"f"],[27722,0,"t"],[27723,0,"2"],[27724,0,")"],[27725,0,";"],[27726,0,"\n"],[27727,0,"\\"],[27728,0,"d"],[27729,0,"r"],[27730,0,"a"],[27731,0,"w"],[27732,0," "],[27733,0,"["],[27734,0,"t"],[27735,0,"h"],[27736,0,"i"],[27737,0,"c"],[27738,0,"k"],[27739,0,","],[27740,0,"-"],[27741,0,">"],[27742,0," "],[27742,1],[27742,0,"]"],[27743,0," "],[27744,0,"("],[27745,0,"l"],[27746,0,"e"],[27747,0,"f"],[27748,0,"t"],[27749,0,"2"],[27750,0,")"],[27751,0," "],[27752,0," "],[27753,0,"t"],[27754,0,"o"],[27755,0," "],[27756,0,"n"],[27757,0,"o"],[27758,0,"d"],[27759,0,"e"],[27760,0," "],[27761,0,"["],[27762,0,"l"],[27763,0,"e"],[27764,0,"f"],[27765,0,"t"],[27766,0,"]"],[27767,0," "],[27768,0," "],[27769,0,"("],[27770,0,"d"],[27771,0,"o"],[27772,0,"c"],[27773,0,"."],[27774,0,"g"],[27775,0,"e"],[27776,0,"t"],[27777,0,"("],[27778,0,"`"],[27779,0,"`"],[27780,0,"a"],[27781,0,"'"],[27782,0,"'"],[27783,0,")"],[27784,0,"."],[27785,0,"g"],[27786,0,"e"],[27787,0,"t"],[27788,0,"("],[27789,0,"`"],[27790,0,"`"],[27791,0,"x"],[27792,0,"'"],[27793,0,"'"],[27794,0,")"],[27795,0," "],[27796,0,":"],[27797,0,"="],[27798,0," "],[27799,0,"`"],[27800,0,"`"],[27801,0,"y"],[27802,0,"'"],[27803,0,"'"],[27804,0,";"],[27805,0,"}"],[27806,0," "],[27807,0,"("],[27808,0,"l"],[27809,0,"e"],[27810,0,"f"],[27811,0,"t"],[27812,0,"3"],[27813,0,")"],[27814,0,";"],[27815,0,"\n"],[27816,0,"\\"],[27817,0,"d"],[27818,0,"r"],[27819,0,"a"],[27820,0,"w"],[27821,0," "],[27822,0,"["],[27823,0,"t"],[27824,0,"h"],[27825,0,"i"],[27826,0,"c"],[27827,0,"k"],[27828,0,","],[27829,0,"-"],[27830,0,">"],[27831,0," "],[27831,1],[27831,0,"]"],[27832,0," "],[27833,0,"("],[27834,0,"r"],[27835,0,"i"],[27836,0,"g"],[27837,0,"h"],[27838,0,"t"],[27839,0,"1"],[27840,0,")"],[27841,0," "],[27842,0,"t"],[27843,0,"o"],[27844,0," "],[27845,0,"n"],[27846,0,"o"],[27847,0,"d"],[27848,0,"e"],[27849,0," "],[27850,0,"["],[27851,0,"r"],[27852,0,"i"],[27853,0,"g"],[27854,0,"h"],[27855,0,"t"],[27856,0,"]"],[27857,0," "],[27769,1],[27769,0,"{"],[27858,0,"{"],[27859,0,"d"],[27860,0,"o"],[27861,0,"c"],[27862,0,"."],[27863,0,"g"],[27864,0,"e"],[27865,0,"t"],[27866,0,"("],[27867,0,"`"],[27868,0,"`"],[27869,0,"a"],[27870,0,"'"],[27871,0,"'"],[27872,0,")"],[27873,0," "],[27874,0,":"],[27875,0,"="],[27876,0," "],[27877,0,"["],[27878,0,"]"],[27879,0,";"],[27880,0,"}"],[27881,0," "],[27882,0,"("],[27883,0,"r"],[27884,0,"i"],[27885,0,"g"],[27886,0,"h"],[27887,0,"t"],[27888,0,"2"],[27889,0,")"],[27890,0,";"],[27891,0,"\n"],[27892,0,"\\"],[27893,0,"d"],[27894,0,"r"],[27895,0,"a"],[27896,0,"w"],[27897,0," "],[27898,0,"["],[27899,0,"t"],[27900,0,"h"],[27901,0,"i"],[27902,0,"c"],[27903,0,"k"],[27904,0,","],[27905,0,"-"],[27906,0,">"],[27907,0," "],[27908,0,"]"],[27908,1],[27907,1],[27907,0,"]"],[27908,0," "],[27909,0,"("],[27910,0,"r"],[27911,0,"i"],[27912,0,"g"],[27913,0,"h"],[27914,0,"t"],[27915,0,"2"],[27916,0,")"],[27917,0," "],[27918,0,"t"],[27919,0,"o"],[27920,0," "],[27921,0,"n"],[27922,0,"o"],[27923,0,"d"],[27924,0,"e"],[27925,0," "],[27926,0,"["],[27927,0,"r"],[27928,0,"i"],[27929,0,"g"],[27930,0,"h"],[27931,0,"t"],[27932,0,"]"],[27933,0," "],[27934,0,"{"],[27935,0,"d"],[27936,0,"o"],[27937,0,"c"],[27938,0,"."],[27939,0,"g"],[27940,0,"e"],[27941,0,"t"],[27942,0,"("],[27943,0,"`"],[27944,0,"`"],[27945,0,"a"],[27946,0,"'"],[27947,0,"'"],[27948,0,")"],[27949,0," "],[27949,1],[27949,0,"."],[27950,0,"i"],[27951,0,"d"],[27952,0,"x"],[27953,0,"("],[27954,0,"0"],[27955,0,")"],[27956,0,"."],[27957,0,"i"],[27958,0,"n"],[27959,0,"s"],[27960,0,"e"],[27961,0,"r"],[27962,0,"t"],[27963,0,"("],[27964,0,"`"],[27965,0,"`"],[27966,0,"z"],[27967,0,"'"],[27968,0,"'"],[27969,0,")"],[27970,0,";"],[27971,0,"}"],[27972,0," "],[27973,0,"("],[27974,0,"r"],[27975,0,"i"],[27976,0,"g"],[27977,0,"h"],[27978,0,"t"],[27979,0,"3"],[27980,0,")"],[27981,0,";"],[27982,0,"\n"],[27983,0,"\\"],[27984,0,"d"],[27985,0,"r"],[27986,0,"a"],[27987,0,"w"],[27988,0," "],[27989,0,"["],[27990,0,"t"],[27991,0,"h"],[27992,0,"i"],[27993,0,"c"],[27994,0,"k"],[27995,0,","],[27996,0,"-"],[27997,0,">"],[27998,0,"]"],[27999,0," "],[28000,0,"("],[28001,0,"l"],[28002,0,"e"],[28003,0,"f"],[28004,0,"t"],[28005,0,"3"],[28006,0,")"],[28007,0," "],[28008,0," "],[28009,0,"t"],[28010,0,"o"],[28011,0," "],[28012,0,"n"],[28012,1],[28012,0,"("],[28013,0,"l"],[28014,0,"e"],[28015,0,"f"],[28016,0,"t"],[28017,0,"4"],[28018,0,")"],[28019,0,";"],[28020,0,"\n"],[28021,0,"\\"],[28022,0,"d"],[28023,0,"r"],[28024,0,"a"],[28025,0,"w"],[28026,0," "],[28027,0,"["],[28028,0,"t"],[28029,0,"h"],[28030,0,"i"],[28031,0,"c"],[28032,0,"k"],[28033,0,","],[28034,0,"-"],[28035,0,">"],[28036,0,"]"],[28037,0," "],[28038,0,"("],[28039,0,"l"],[28039,1],[28039,0,"r"],[28040,0,"i"],[28041,0,"g"],[28042,0,"h"],[28043,0,"t"],[28044,0,"3"],[28045,0,")"],[28046,0," "],[28047,0,"t"],[28048,0,"o"],[28049,0," "],[28050,0,"("],[28051,0,"r"],[28052,0,"i"],[28053,0,"g"],[28054,0,"h"],[28055,0,"t"],[28056,0,"4"],[28057,0,")"],[28058,0,";"],[28059,0,"\n"],[28060,0,"\\"],[28061,0,"d"],[28062,0,"r"],[28063,0,"a"],[28064,0,"w"],[28065,0," "],[28066,0,"["],[28067,0,"t"],[28068,0,"h"],[28069,0,"i"],[28070,0,"c"],[28071,0,"k"],[28072,0,","],[28073,0,"d"],[28074,0,"a"],[28075,0,"s"],[28076,0,"h"],[28077,0,"e"],[28078,0,"d"],[28079,0,","],[28080,0,"b"],[28081,0,"l"],[28082,0,"u"],[28083,0,"e"],[28084,0,","],[28085,0,"-"],[28086,0,">"],[28087,0,"]"],[28088,0," "],[28089,0,"("],[28090,0,"l"],[28091,0,"e"],[28092,0,"f"],[28093,0,"t"],[28094,0,"3"],[28095,0,"."],[28096,0,"s"],[28097,0,"o"],[28098,0,"u"],[28099,0,"t"],[28100,0,"h"],[28101,0,")"],[28102,0," "],[28103,0," "],[28104,0,"t"],[28105,0,"o"],[28106,0," "],[28107,0,"["],[28108,0,"o"],[28109,0,"u"],[28110,0,"t"],[28111,0,"="],[28112,0,"2"],[28113,0,"7"],[28114,0,"0"],[28115,0,","],[28116,0,"i"],[28117,0,"n"],[28118,0,"="],[28119,0,"1"],[28120,0,"3"],[28121,0,"5"],[28122,0,"]"],[28123,0," "],[28124,0,"("],[28125,0,"r"],[28126,0,"i"],[28127,0,"g"],[28128,0,"h"],[28129,0,"t"],[28130,0,"4"],[28131,0,"."],[28132,0,"n"],[28133,0,"o"],[28134,0,"r"],[28135,0,"t"],[28136,0,"h"],[28137,0," "],[28138,0,"w"],[28139,0,"e"],[28140,0,"s"],[28141,0,"t"],[28142,0,")"],[28143,0,";"],[28144,0,"\n"],[28145,0,"\\"],[28146,0,"d"],[28147,0,"r"],[28148,0,"a"],[28149,0,"w"],[28150,0," "],[28151,0,"["],[28152,0,"t"],[28153,0,"h"],[28154,0,"i"],[28155,0,"c"],[28156,0,"k"],[28157,0,","],[28158,0,"d"],[28159,0,"a"],[28160,0,"s"],[28161,0,"h"],[28162,0,"e"],[28163,0,"d"],[28164,0,","],[28165,0,"b"],[28166,0,"l"],[28167,0,"u"],[28168,0,"e"],[28169,0,","],[28170,0,"-"],[28171,0,">"],[28172,0," "],[28173,0,"["],[28173,1],[28172,1],[28172,0,"]"],[28173,0," "],[28174,0,"("],[28175,0,"r"],[28176,0,"i"],[28177,0,"g"],[28178,0,"h"],[28179,0,"t"],[28180,0,"3"],[28181,0,"."],[28182,0,"s"],[28183,0,"o"],[28184,0,"u"],[28185,0,"t"],[28186,0,"h"],[28187,0,")"],[28188,0," "],[28189,0,"t"],[28190,0,"o"],[28191,0," "],[28192,0,"["],[28193,0,"o"],[28194,0,"u"],[28195,0,"t"],[28196,0,"="],[28197,0,"2"],[28198,0,"7"],[28199,0,"0"],[28200,0,","],[28201,0,"i"],[28202,0,"n"],[28203,0,"="],[28204,0,"4"],[28205,0,"5"],[28206,0,"]"],[28207,0," "],[28208,0," "],[28209,0,"("],[28210,0,"l"],[28211,0,"e"],[28212,0,"f"],[28213,0,"t"],[28214,0,"4"],[28215,0,"."],[28216,0,"n"],[28217,0,"o"],[28218,0,"r"],[28219,0,"t"],[28220,0,"h"],[28221,0," "],[28222,0,"e"],[28223,0,"a"],[28224,0,"s"],[28225,0,"t"],[28226,0,")"],[28227,0,";"],[27006,1],[27006,0,"7"],[26997,1],[26996,1],[26995,1],[26995,0,"1"],[27647,0,"\n"],[27648,0,"\\"],[27649,0,"n"],[27650,0,"o"],[27651,0,"d"],[27652,0,"e"],[27653,0," "],[27654,0,"("],[27655,0,"c"],[27656,0,"o"],[27657,0,"m"],[27658,0,"m"],[27659,0,"s"],[27660,0,")"],[27661,0," "],[27662,0," "],[27663,0,"a"],[27664,0,"t"],[27665,0," "],[27666,0,"("],[27667,0,"4"],[27668,0,","],[27669,0,"1"],[27670,0,"."],[27671,0,"5"],[27672,0,")"],[27673,0," "],[27674,0,"["],[27675,0,"t"],[27676,0,"e"],[27677,0,"x"],[27678,0,"t"],[27679,0,"="],[27680,0,"b"],[27681,0,"l"],[27682,0,"u"],[27683,0,"e"],[27684,0,"]"],[27685,0," "],[27686,0,"{"],[27687,0,"\\"],[27688,0,"f"],[27689,0,"o"],[27690,0,"o"],[27691,0,"t"],[27692,0,"n"],[27693,0,"o"],[27694,0,"t"],[27695,0,"e"],[27696,0,"s"],[27697,0,"i"],[27698,0,"z"],[27699,0,"e"],[27700,0," "],[27701,0,"n"],[27702,0,"e"],[27703,0,"t"],[27704,0,"w"],[27705,0,"o"],[27706,0,"r"],[27707,0,"k"],[27708,0," "],[27709,0,"c"],[27710,0,"o"],[27711,0,"m"],[27712,0,"m"],[27713,0,"u"],[27714,0,"n"],[27715,0,"i"],[27716,0,"c"],[27717,0,"a"],[27718,0,"t"],[27719,0,"i"],[27720,0,"o"],[27721,0,"n"],[27722,0,"}"],[27723,0,";"],[27671,1],[27670,1],[27669,1],[27669,0,"2"],[27670,0,"."],[27671,0,"0"],[79206,0,"/"],[79207,0,"B"],[79208,0,"e"],[79209,0,"r"],[79210,0,"e"],[79211,0,"s"],[79212,0,"f"],[79213,0,"o"],[79214,0,"r"],[79215,0,"d"],[79216,0,"\n"],[79215,1],[79214,1],[79213,1],[79212,1],[79211,1],[79210,1],[79209,1],[79208,1],[79207,1],[79206,1],[79206,1],[82614,0,"d"],[82615,0,"w"],[82629,1],[82628,1],[82627,1],[82626,1],[82625,1],[82624,1],[82623,1],[82622,1],[82621,1],[82620,1],[82619,1],[82618,1],[82617,1],[82616,1],[82615,1],[82614,1],[82614,0,"M"],[82615,0,"o"],[82616,0,"r"],[82617,0,"e"],[82618,0," "],[82619,0,"r"],[82620,0,"e"],[82621,0,"c"],[82622,0,"e"],[82623,0,"n"],[82624,0,"t"],[82625,0,"l"],[82626,0,"y"],[82627,0," "],[82628,0,"h"],[82629,0,"e"],[82630,0," "],[82631,0,"h"],[82631,1],[82630,1],[82629,1],[82628,1],[82627,1],[82626,1],[82625,1],[82624,1],[82623,1],[82622,1],[82621,1],[82620,1],[82619,1],[82618,1],[82617,1],[82616,1],[82615,1],[82614,1],[82614,0,"H"],[82615,0,"i"],[82616,0,"s"],[82617,0," "],[82618,0,"c"],[82619,0,"u"],[82620,0,"r"],[82621,0,"r"],[82622,0,"e"],[82623,0,"n"],[82624,0,"t"],[82625,0," "],[82626,0,"r"],[82627,0,"e"],[82628,0,"s"],[82629,0,"e"],[82630,0,"a"],[82631,0,"r"],[82632,0,"c"],[82633,0,"h"],[82634,0," "],[82635,0,"w"],[82636,0,"i"],[82637,0,"t"],[82637,1],[82636,1],[82635,1],[82635,0,"i"],[82636,0,"n"],[82637,0,"t"],[82638,0,"e"],[82639,0,"r"],[82640,0,"e"],[82641,0,"s"],[82642,0,"t"],[82643,0,"e"],[82643,1],[82643,0,"s"],[82644,0," "],[82645,0,"c"],[82646,0,"o"],[82647,0,"v"],[82648,0,"e"],[82649,0,"r"],[82650,0," "],[82650,1],[82649,1],[82648,1],[82647,1],[82646,1],[82645,1],[82644,1],[82644,0," "],[82645,0,"i"],[82646,0,"n"],[82647,0,"c"],[82648,0,"l"],[82649,0,"u"],[82650,0,"d"],[82651,0,"e"],[82651,1],[82650,1],[82649,1],[82648,1],[82647,1],[82646,1],[82646,0,"f"],[82647,0,"o"],[82647,1],[82646,1],[82645,1],[82644,1],[82643,1],[82642,1],[82641,1],[82640,1],[82639,1],[82638,1],[82637,1],[82636,1],[82635,1],[82635,0,"w"],[82636,0,"o"],[82637,0,"r"],[82638,0,"k"],[82639,0," "],[82640,0,"e"],[82641,0,"x"],[82642,0,"p"],[82643,0,"o"],[82644,0,"r"],[82645,0,"e"],[82645,1],[82644,1],[82643,1],[82643,0,"l"],[82644,0,"o"],[82645,0,"r"],[82646,0,"e"],[82647,0,"s"],[82648,0," "],[82649,0,"t"],[82650,0,"h"],[82651,0,"e"],[82652,0," "],[82653,0,"s"],[82654,0,"e"],[82655,0,"c"],[82656,0,"u"],[82657,0,"r"],[82658,0,"i"],[82659,0,"t"],[82660,0,"y"],[82661,0," "],[82662,0,"a"],[82663,0,"n"],[82664,0,"d"],[82665,0," "],[82666,0,"p"],[82667,0,"r"],[82668,0,"i"],[82669,0,"v"],[82670,0,"a"],[82671,0,"c"],[82672,0,"y"],[82673,0," "],[82674,0,"o"],[82675,0,"f"],[82676,0," "],[82677,0,"l"],[82678,0,"a"],[82679,0,"r"],[82680,0,"g"],[82681,0,"e"],[82682,0,"-"],[82683,0,"s"],[82684,0,"c"],[82685,0,"a"],[82686,0,"l"],[82687,0,"e"],[82688,0," "],[82689,0,"d"],[82690,0,"i"],[82691,0,"s"],[82692,0,"t"],[82693,0,"r"],[82694,0,"i"],[82695,0,"b"],[82696,0,"u"],[82697,0,"t"],[82698,0,"e"],[82699,0,"d"],[82700,0," "],[82701,0,"s"],[82702,0,"y"],[82703,0,"s"],[82704,0,"t"],[82705,0,"e"],[82706,0,"m"],[82707,0,"s"],[82708,0,","],[82709,0," "],[82710,0,"w"],[82711,0,"i"],[82712,0,"t"],[82713,0,"h"],[82714,0," "],[82715,0,"p"],[82715,1],[82715,0,"a"],[82716,0," "],[82717,0,"p"],[82718,0,"a"],[82719,0,"r"],[82720,0,"t"],[82721,0,"i"],[82722,0,"c"],[82723,0,"u"],[82724,0,"l"],[82725,0,"a"],[82726,0,"r"],[82727,0," "],[82728,0,"f"],[82729,0,"o"],[82730,0,"c"],[82731,0,"u"],[82732,0,"s"],[82733,0," "],[82734,0,"o"],[82735,0,"n"],[82736,0," "],[82737,0,"m"],[82738,0,"o"],[82739,0,"b"],[82740,0,"i"],[82740,1],[82739,1],[82738,1],[82737,1],[82737,0,"n"],[82738,0,"e"],[82739,0,"t"],[82740,0,"o"],[82741,0,"w"],[82742,0,"k"],[82743,0,"r"],[82743,1],[82742,1],[82741,1],[82740,1],[82740,0,"w"],[82741,0,"o"],[82742,0,"r"],[82743,0,"k"],[82744,0,"e"],[82745,0,"d"],[82746,0," "],[82747,0,"m"],[82748,0,"o"],[82749,0,"i"],[82750,0,"l"],[82750,1],[82749,1],[82749,0,"b"],[82750,0,"i"],[82751,0,"l"],[82752,0,"e"],[82753,0," "],[82754,0,"d"],[82755,0,"e"],[82756,0,"v"],[82757,0,"i"],[82758,0,"c"],[82759,0,"e"],[82760,0,"s"],[82761,0," "],[82762,0,"s"],[82763,0,"u"],[82764,0,"c"],[82765,0,"h"],[82766,0," "],[82767,0,"a"],[82768,0,"s"],[82769,0," "],[82770,0,"s"],[82771,0,"m"],[82772,0,"a"],[82773,0,"r"],[82774,0,"t"],[82775,0,"p"],[82776,0,"h"],[82777,0,"o"],[82778,0,"n"],[82779,0,"e"],[82780,0,"s"],[82781,0," "],[82781,1],[82781,0,","],[82782,0," "],[82783,0,"t"],[82784,0,"a"],[82785,0,"b"],[82786,0,"l"],[82787,0,"e"],[82788,0,"t"],[82789,0,"s"],[82790,0," "],[82791,0,"a"],[82792,0,"n"],[82793,0,"d"],[82794,0," "],[82795,0,"l"],[82796,0,"a"],[82797,0,"b"],[82797,1],[82797,0,"p"],[82798,0,"t"],[82799,0,"o"],[82800,0,"p"],[82801,0,"s"],[82802,0,"."],[82611,1],[82610,1],[82609,1],[82608,1],[82607,1],[82606,1],[82605,1],[82604,1],[82603,1],[82602,1],[82601,1],[82600,1],[82599,1],[82598,1],[82597,1],[82596,1],[82595,1],[82594,1],[82593,1],[82592,1],[82591,1],[82590,1],[82589,1],[82588,1],[82587,1],[82586,1],[82585,1],[82584,1],[82583,1],[82582,1],[82581,1],[82580,1],[82579,1],[82578,1],[82577,1],[82576,1],[82575,1],[82574,1],[82573,1],[82572,1],[82571,1],[82570,1],[82569,1],[82568,1],[82567,1],[82566,1],[82565,1],[82564,1],[82563,1],[82562,1],[82561,1],[82560,1],[82559,1],[82558,1],[82557,1],[82556,1],[82555,1],[82554,1],[82553,1],[82552,1],[82551,1],[82550,1],[82549,1],[82548,1],[82547,1],[82546,1],[82545,1],[82544,1],[82543,1],[82543,0,"e"],[82544,0,"x"],[82545,0,"p"],[82546,0,"l"],[82547,0,"o"],[82548,0,"r"],[82549,0,"e"],[82550,0,"d"],[82551,0," "],[82552,0,"t"],[82553,0,"h"],[82554,0,"e"],[82555,0," "],[82556,0,"e"],[82557,0,"f"],[82558,0,"f"],[82559,0,"e"],[82560,0,"c"],[82561,0,"t"],[82562,0,"i"],[82563,0,"v"],[82564,0,"e"],[82565,0,"n"],[82566,0,"e"],[82567,0,"s"],[82568,0,"s"],[82569,0," "],[82570,0,"o"],[82571,0,"f"],[82572,0," "],[82573,0,"a"],[82574,0,"n"],[82575,0,"o"],[82576,0,"n"],[82577,0,"y"],[82578,0,"m"],[82579,0,"i"],[82580,0,"t"],[82581,0,"y"],[82582,0," "],[82583,0,"a"],[82584,0,"s"],[82585,0," "],[82586,0,"a"],[82587,0," "],[82588,0,"m"],[82589,0,"e"],[82590,0,"a"],[82591,0,"n"],[82592,0,"s"],[82593,0," "],[82594,0,"o"],[82595,0,"f"],[82596,0," "],[82597,0,"p"],[82598,0,"r"],[82599,0,"o"],[82600,0,"v"],[82601,0,"i"],[82602,0,"d"],[82603,0,"e"],[82603,1],[82603,0,"i"],[82604,0,"n"],[82605,0,"g"],[82606,0," "],[82607,0,"l"],[82608,0,"o"],[82609,0,"c"],[82610,0,"a"],[82611,0,"t"],[82612,0,"i"],[82613,0,"o"],[82614,0,"n"],[82615,0," "],[82616,0,"p"],[82617,0,"r"],[82618,0,"o"],[82619,0,"v"],[82620,0,"a"],[82620,1],[82619,1],[82618,1],[82618,0,"i"],[82619,0,"v"],[82620,0,"a"],[82621,0,"c"],[82622,0,"y"],[82623,0," "],[82624,0,"i"],[82625,0,"n"],[82626,0," "],[82627,0,"a"],[82628,0," "],[82629,0,"m"],[82630,0,"o"],[82631,0,"b"],[82632,0,"i"],[82633,0,"l"],[82634,0,"e"],[82635,0," "],[82636,0,"c"],[82637,0,"o"],[82638,0,"m"],[82639,0,"p"],[82640,0,"u"],[82641,0,"t"],[82642,0,"i"],[82643,0,"n"],[82644,0,"g"],[82645,0," "],[82646,0,"s"],[82647,0,"e"],[82648,0,"t"],[82649,0,"t"],[82650,0,"i"],[82651,0,"n"],[82652,0,"g"],[82543,0,"w"],[82544,0,"h"],[82545,0,"i"],[82546,0,"h"],[82547,0,"c"],[82547,1],[82546,1],[82546,0,"c"],[82547,0,"h"],[82548,0," "],[82659,1],[82658,1],[82657,1],[82656,1],[82655,1],[82654,1],[82653,1],[82652,1],[82651,1],[82650,1],[82649,1],[82648,1],[82647,1],[82646,1],[82645,1],[82644,1],[82643,1],[82642,1],[82641,1],[82640,1],[82639,1],[82638,1],[82637,1],[82636,1],[82635,1],[82634,1],[82633,1],[82632,1],[82631,1],[82630,1],[82629,1],[82628,1],[82627,1],[82626,1],[82625,1],[82624,1],[82623,1],[82622,1],[82621,1],[82620,1],[82619,1],[82618,1],[82617,1],[82616,1],[82615,1],[82614,1],[82613,1],[82612,1],[82611,1],[82610,1],[82609,1],[82608,1],[82607,1],[82606,1],[82605,1],[82604,1],[82603,1],[82602,1],[82601,1],[82600,1],[82599,1],[82598,1],[82597,1],[82596,1],[82595,1],[82594,1],[82593,1],[82592,1],[82591,1],[82590,1],[82589,1],[82588,1],[82587,1],[82586,1],[82585,1],[82584,1],[82583,1],[82582,1],[82581,1],[82580,1],[82579,1],[82578,1],[82577,1],[82576,1],[82575,1],[82574,1],[82573,1],[82572,1],[82571,1],[82570,1],[82569,1],[82568,1],[82567,1],[82566,1],[82565,1],[82564,1],[82563,1],[82562,1],[82561,1],[82560,1],[82559,1],[82558,1],[82557,1],[82556,1],[82555,1],[82554,1],[82553,1],[82552,1],[82551,1],[82550,1],[82549,1],[82548,1],[82547,1],[82546,1],[82545,1],[82544,1],[82543,1],[82542,1],[82541,1],[82540,1],[82539,1],[82538,1],[82537,1],[82536,1],[82535,1],[82534,1],[82533,1],[82532,1],[82531,1],[82530,1],[82529,1],[82528,1],[82527,1],[82526,1],[82525,1],[82524,1],[82523,1],[82522,1],[82521,1],[82520,1],[82519,1],[82518,1],[82517,1],[82516,1],[82515,1],[82514,1],[82513,1],[82512,1],[82511,1],[82510,1],[82509,1],[82508,1],[82507,1],[82506,1],[82505,1],[82504,1],[82503,1],[82502,1],[82501,1],[82500,1],[82499,1],[82498,1],[82497,1],[82496,1],[82495,1],[82494,1],[82493,1],[82492,1],[82491,1],[82490,1],[82489,1],[82488,1],[82499,1],[82498,1],[82497,1],[82496,1],[82495,1],[82494,1],[82493,1],[82492,1],[82670,0," "],[82671,0,"H"],[82672,0,"e"],[82673,0," "],[82674,0,"l"],[82675,0,"o"],[82676,0,"o"],[82677,0,"k"],[82678,0,"s"],[82679,0," "],[82680,0,"a"],[82681,0,"t"],[82682,0," "],[82683,0,"t"],[82684,0,"h"],[82685,0,"i"],[82686,0,"s"],[82687,0," "],[82688,0,"d"],[82689,0,"o"],[82690,0,"m"],[82691,0,"a"],[82692,0,"i"],[82693,0,"n"],[82694,0," "],[82695,0,"f"],[82696,0,"r"],[82697,0,"e"],[82698,0,"o"],[82699,0,"m"],[82700,0," "],[82701,0,"t"],[82702,0,"h"],[82703,0,"r"],[82704,0,"e"],[82705,0,"e"],[82706,0," "],[82707,0,"a"],[82708,0,"n"],[82709,0,"g"],[82710,0,"l"],[82711,0,"e"],[82712,0,"s"],[82712,1],[82711,1],[82710,1],[82709,1],[82708,1],[82707,1],[82706,1],[82705,1],[82704,1],[82703,1],[82702,1],[82701,1],[82700,1],[82699,1],[82698,1],[82697,1],[82696,1],[82695,1],[82694,1],[82693,1],[82692,1],[82691,1],[82690,1],[82689,1],[82688,1],[82687,1],[82686,1],[82685,1],[82685,0,"e"],[82686,0," "],[82687,0,"s"],[82688,0,"e"],[82689,0,"c"],[82690,0,"u"],[82691,0,"r"],[82692,0,"i"],[82693,0,"t"],[82694,0,"y"],[82695,0," "],[82696,0,"a"],[82697,0,"n"],[82698,0,"d"],[82699,0," "],[82700,0,"p"],[82701,0,"r"],[82702,0,"i"],[82703,0,"v"],[82704,0,"a"],[82705,0,"c"],[82706,0,"y"],[82707,0," "],[82708,0,"o"],[82709,0,"f"],[82710,0," "],[82711,0,"t"],[82712,0,"h"],[82713,0,"e"],[82714,0," "],[82715,0,"d"],[82716,0,"e"],[82717,0,"v"],[82718,0,"i"],[82719,0,"c"],[82720,0,"e"],[82721,0,"s"],[82722,0," "],[82723,0,"t"],[82724,0,"h"],[82725,0,"e"],[82726,0,"m"],[82727,0,"s"],[82728,0,"e"],[82729,0,"l"],[82730,0,"v"],[82731,0,"e"],[82732,0,"s"],[82733,0,","],[82734,0," "],[82735,0,"a"],[82736,0,"s"],[82737,0," "],[82738,0,"w"],[82739,0,"e"],[82740,0,"l"],[82741,0,"l"],[82742,0," "],[82743,0,"a"],[82744,0,"s"],[82745,0," "],[82746,0,"t"],[82747,0,"h"],[82748,0,"e"],[82749,0," "],[82750,0,"s"],[82751,0,"e"],[82752,0,"u"],[82753,0,"c"],[82754,0,"r"],[82754,1],[82753,1],[82752,1],[82752,0,"c"],[82753,0,"u"],[82754,0,"r"],[82755,0,"i"],[82756,0,"t"],[82757,0,"y"],[82758,0," "],[82759,0,"a"],[82760,0,"n"],[82761,0,"d"],[82762,0," "],[82763,0,"p"],[82764,0,"r"],[82765,0,"o"],[82766,0,"v"],[82766,1],[82765,1],[82765,0,"i"],[82766,0,"v"],[82767,0,"a"],[82768,0,"c"],[82769,0,"y"],[82770,0," "],[82771,0,"p"],[82772,0,"r"],[82773,0,"o"],[82774,0,"b"],[82775,0,"l"],[82776,0,"e"],[82777,0,"m"],[82778,0,"s"],[82779,0," "],[82780,0,"i"],[82781,0,"n"],[82782,0,"d"],[82783,0,"u"],[82784,0,"c"],[82785,0,"e"],[82786,0,"d"],[82787,0," "],[82788,0,"b"],[82789,0,"y"],[82790,0," "],[82791,0,"t"],[82792,0,"h"],[82793,0,"e"],[82794,0," "],[82795,0,"i"],[82796,0,"n"],[82797,0,"t"],[82798,0,"e"],[82799,0,"r"],[82800,0,"a"],[82801,0,"c"],[82802,0,"t"],[82803,0,"i"],[82804,0,"o"],[82805,0,"n"],[82806,0," "],[82807,0,"b"],[82808,0,"e"],[82809,0,"t"],[82810,0,"w"],[82811,0,"e"],[82812,0,"e"],[82813,0,"n"],[82814,0," "],[82815,0,"m"],[82816,0,"o"],[82817,0,"b"],[82818,0,"i"],[82819,0,"l"],[82820,0,"e"],[82821,0," "],[82822,0,"d"],[82823,0,"e"],[82824,0,"v"],[82825,0,"i"],[82826,0,"c"],[82827,0,"e"],[82828,0,"s"],[82829,0," "],[82830,0,"a"],[82831,0,"n"],[82832,0,"d"],[82833,0," "],[82834,0,"c"],[82835,0,"l"],[82836,0,"o"],[82837,0,"u"],[82838,0,"b"],[82838,1],[82838,0,"d"],[82839,0,"-"],[82840,0,"b"],[82841,0,"a"],[82842,0,"s"],[82843,0,"e"],[82844,0,"d"],[82845,0," "],[82846,0,"I"],[82847,0,"n"],[82848,0,"t"],[82849,0,"e"],[82850,0,"r"],[82851,0,"n"],[82852,0,"e"],[82853,0,"t"],[82854,0," "],[82855,0,"s"],[82856,0,"e"],[82857,0,"r"],[82858,0,"v"],[82859,0,"i"],[82860,0,"c"],[82861,0,"e"],[82862,0,"s"],[82863,0,"."],[81968,0," "],[81969,0,"i"],[81970,0,"s"],[81976,1],[81976,0,"i"],[81977,0,"n"],[81978,0,"g"],[82304,0,","],[82305,0," "],[82306,0,"i"],[82307,0,"n"],[82308,0,"c"],[82309,0,"l"],[82310,0,"u"],[82311,0,"d"],[82312,0,"i"],[82313,0,"n"],[82314,0,"g"],[82315,0," "],[82316,0,"R"],[82317,0,"a"],[82318,0,"p"],[82319,0,"p"],[82320,0,"o"],[82321,0,"r"],[82322,0,"t"],[82323,0,"i"],[82324,0,"v"],[82325,0,"e"],[82326,0," "],[82327,0,"a"],[82328,0,"n"],[82329,0,"d"],[82330,0," "],[82331,0,"L"],[82332,0,"i"],[82333,0,"n"],[82334,0,"k"],[82335,0,"e"],[82336,0,"d"],[82337,0,"I"],[82338,0,"n"],[17586,0,","],[17587,0," "],[17588,0,"a"],[17589,0,"n"],[17590,0,"d"],[17591,0," "],[17592,0,"g"],[17593,0,"i"],[17594,0,"v"],[17595,0,"e"],[17596,0," "],[17597,0,"s"],[17598,0,"o"],[17599,0,"m"],[17600,0,"e"],[17601,0," "],[17602,0,"e"],[17603,0,"x"],[17604,0,"a"],[17605,0,"m"],[17606,0,"p"],[17607,0,"l"],[17608,0,"e"],[17609,0,"s"],[17610,0," "],[17611,0,"o"],[17612,0,"f"],[17613,0," "],[17613,1],[17612,1],[17611,1],[17610,1],[17609,1],[17608,1],[17607,1],[17606,1],[17605,1],[17604,1],[17603,1],[17602,1],[17601,1],[17600,1],[17599,1],[17598,1],[17597,1],[17596,1],[17595,1],[17594,1],[17593,1],[17592,1],[17592,0,"i"],[17593,0,"l"],[17594,0,"l"],[17595,0,"u"],[17596,0,"s"],[17597,0,"t"],[17598,0,"r"],[17599,0,"a"],[17600,0,"t"],[17601,0,"e"],[17602,0," "],[17603,0,"s"],[17604,0,"o"],[17605,0,"m"],[17606,0,"e"],[17607,0," "],[17608,0,"p"],[17609,0,"e"],[17610,0,"c"],[17611,0,"u"],[17612,0,"l"],[17613,0,"i"],[17614,0,"a"],[17615,0,"r"],[17616,0,"i"],[17617,0,"t"],[17618,0,"i"],[17619,0,"e"],[17620,0,"s"],[17621,0," "],[17622,0,"o"],[17623,0,"f"],[17624,0," "],[17625,0,"c"],[17626,0,"o"],[17627,0,"n"],[17628,0,"c"],[17629,0,"u"],[17630,0,"r"],[17631,0,"r"],[17632,0,"e"],[17633,0,"n"],[17634,0,"t"],[17635,0," "],[17636,0,"n"],[17637,0,"e"],[17638,0,"s"],[17639,0,"t"],[17640,0,"e"],[17641,0,"d"],[17642,0," "],[17643,0,"s"],[17644,0,"t"],[17645,0,"r"],[17646,0,"u"],[17647,0,"c"],[17648,0,"t"],[17649,0,"u"],[17650,0,"r"],[17651,0,"e"],[17652,0,"s"],[17653,0," "],[17654,0,"t"],[17655,0,"h"],[17656,0,"a"],[17657,0,"t"],[17658,0," "],[17659,0,"d"],[17660,0,"o"],[17661,0," "],[17662,0,"n"],[17663,0,"o"],[17664,0,"t"],[17665,0," "],[17666,0,"a"],[17667,0,"r"],[17668,0,"i"],[17669,0,"s"],[17670,0,"e"],[17671,0," "],[17672,0,"u"],[17673,0,"n"],[17674,0,"d"],[17675,0,"e"],[17676,0,"r"],[17677,0," "],[17677,1],[17676,1],[17675,1],[17674,1],[17673,1],[17672,1],[17672,0,"i"],[17673,0,"n"],[17674,0," "],[17675,0,"s"],[17676,0,"e"],[17677,0,"q"],[17678,0,"u"],[17679,0,"e"],[17680,0,"n"],[17681,0,"t"],[17682,0,"i"],[17683,0,"a"],[17684,0,"l"],[17685,0," "],[17686,0,"e"],[17687,0,"x"],[17688,0,"e"],[17689,0,"c"],[17690,0,"u"],[17691,0,"t"],[17692,0,"i"],[17693,0,"o"],[17694,0,"n"],[17695,0,"s"],[17643,0,"d"],[17644,0,"a"],[17645,0,"t"],[17646,0,"a"],[17647,0," "],[27007,0,"\\"],[27008,0,"l"],[27009,0,"a"],[27010,0,"b"],[27011,0,"e"],[27012,0,"l"],[27013,0,"{"],[27014,0,"f"],[27015,0,"i"],[27016,0,"g"],[27017,0,":"],[27018,0,"t"],[27019,0,"e"],[27020,0,"x"],[27021,0,"t"],[27022,0,"-"],[27023,0,"e"],[27024,0,"d"],[27025,0,"i"],[27026,0,"t"],[27027,0,"}"],[28537,0,"\\"],[28538,0,"l"],[28539,0,"a"],[28540,0,"b"],[28541,0,"e"],[28542,0,"l"],[28543,0,"{"],[28544,0,"f"],[28545,0,"i"],[28546,0,"g"],[28547,0,";"],[28548,0,"t"],[28549,0,"y"],[28550,0,"p"],[28550,1],[28549,1],[28548,1],[28547,1],[28547,0,":"],[28548,0,"t"],[28549,0,"y"],[28550,0,"p"],[28551,0,"e"],[28552,0,"-"],[28553,0,"c"],[28554,0,"l"],[28555,0,"a"],[28556,0,"s"],[28557,0,"h"],[28558,0,"}"],[19086,0,"\n"],[19087,0,"\n"],[17700,1],[17699,1],[17698,1],[17697,1],[17696,1],[17695,1],[17694,1],[17693,1],[17692,1],[17691,1],[17690,1],[17689,1],[17688,1],[17687,1],[17686,1],[17685,1],[17684,1],[17683,1],[17682,1],[17681,1],[17680,1],[17679,1],[17678,1],[17677,1],[17676,1],[17675,1],[17674,1],[17673,1],[17672,1],[17671,1],[17670,1],[17669,1],[17668,1],[17667,1],[17666,1],[17665,1],[17664,1],[17663,1],[17662,1],[17661,1],[17660,1],[17659,1],[17658,1],[19044,0,"T"],[19045,0,"h"],[19046,0,"e"],[19047,0," "],[19048,0,"d"],[19049,0,"i"],[19050,0,"f"],[19051,0,"f"],[19052,0,"i"],[19053,0,"c"],[19054,0,"u"],[19055,0,"l"],[19056,0,"t"],[19057,0,"y"],[19058,0," "],[19059,0,"o"],[19060,0,"f"],[19061,0," "],[19062,0,"d"],[19063,0,"e"],[19064,0,"f"],[19065,0,"i"],[19066,0,"n"],[19067,0,"i"],[19068,0,"n"],[19069,0,"g"],[19070,0," "],[19071,0,"a"],[19072,0," "],[19073,0,"J"],[19074,0,"S"],[19075,0,"O"],[19076,0,"N"],[19077,0," "],[19077,1],[19076,1],[19075,1],[19074,1],[19073,1],[19073,0,"C"],[19074,0,"R"],[19075,0,"D"],[19076,0,"T"],[19077,0," "],[19078,0,"f"],[19079,0,"o"],[19080,0,"r"],[19081,0," "],[19082,0,"J"],[19083,0,"S"],[19084,0,"O"],[19085,0,"N"],[19086,0," "],[19087,0,"d"],[19088,0,"a"],[19089,0,"t"],[19090,0,"a"],[19091,0," "],[19092,0,"i"],[19093,0,"s"],[19094,0," "],[19095,0,"d"],[19096,0,"u"],[19097,0,"e"],[19098,0," "],[19099,0,"t"],[19100,0,"o"],[19101,0," "],[19102,0,"t"],[19103,0,"h"],[19104,0,"e"],[19105,0," "],[19106,0,"i"],[19107,0,"n"],[19108,0,"t"],[19109,0,"e"],[19110,0,"r"],[19111,0,"a"],[19112,0,"c"],[19113,0,"t"],[19114,0,"i"],[19115,0,"o"],[19116,0,"n"],[19117,0," "],[19118,0,"b"],[19119,0,"e"],[19120,0,"t"],[19121,0,"w"],[19122,0,"e"],[19123,0,"e"],[19124,0,"n"],[19125,0," "],[19043,0,"\n"],[19044,0,"\n"],[19044,0,"T"],[19045,0,"h"],[19046,0,"e"],[19047,0," "],[19048,0,"s"],[19049,0,"e"],[19050,0,"q"],[19051,0,"u"],[19052,0,"e"],[19053,0,"n"],[19054,0,"t"],[19055,0,"i"],[19056,0,"a"],[19057,0,"l"],[19058,0," "],[19059,0,"s"],[19060,0,"e"],[19061,0,"m"],[19062,0,"a"],[19063,0,"n"],[19064,0,"t"],[19065,0,"i"],[19066,0,"c"],[19067,0,"s"],[19068,0," "],[19069,0,"o"],[19070,0,"f"],[19071,0," "],[19072,0,"e"],[19073,0,"d"],[19074,0,"i"],[19075,0,"t"],[19076,0,"i"],[19077,0,"n"],[19078,0,"g"],[19079,0," "],[19080,0,"a"],[19081,0," "],[19082,0,"J"],[19083,0,"S"],[19084,0,"O"],[19085,0,"N"],[19086,0," "],[19087,0,"d"],[19088,0,"a"],[19089,0,"t"],[19090,0,"a"],[19091,0," "],[19092,0,"s"],[19093,0,"t"],[19094,0,"r"],[19095,0,"u"],[19096,0,"c"],[19097,0,"t"],[19098,0,"u"],[19099,0,"r"],[19100,0,"e"],[19101,0," "],[19102,0,"a"],[19103,0,"r"],[19104,0,"e"],[19105,0," "],[19106,0,"w"],[19107,0,"e"],[19108,0,"l"],[19109,0,"l"],[19110,0,"-"],[19111,0,"k"],[19112,0,"n"],[19113,0,"o"],[19114,0,"w"],[19115,0,"n"],[19116,0,","],[19117,0," "],[19118,0,"a"],[19119,0,"n"],[19120,0,"d"],[19121,0," "],[19122,0,"t"],[19123,0,"h"],[19124,0,"e"],[19125,0," "],[19126,0,"s"],[19127,0,"e"],[19128,0,"m"],[19129,0,"a"],[19130,0,"n"],[19131,0,"t"],[19132,0,"i"],[19133,0,"c"],[19134,0,"s"],[19135,0," "],[19136,0,"o"],[19137,0,"f"],[19138,0," "],[19139,0,"c"],[19140,0,"o"],[19141,0,"n"],[19142,0,"c"],[19143,0,"u"],[19144,0,"r"],[19145,0,"r"],[19146,0,"e"],[19147,0,"n"],[19148,0,"t"],[19149,0,"l"],[19150,0,"y"],[19151,0," "],[19152,0,"e"],[19153,0,"d"],[19154,0,"i"],[19155,0,"t"],[19156,0,"i"],[19157,0,"n"],[19158,0,"g"],[19159,0," "],[19160,0,"a"],[19161,0," "],[19162,0,"f"],[19163,0,"l"],[19164,0,"a"],[19165,0,"t"],[19166,0," "],[19167,0,"m"],[19168,0,"a"],[19169,0,"p"],[19170,0," "],[19171,0,"o"],[19172,0,"r"],[19173,0," "],[19174,0,"l"],[19175,0,"i"],[19176,0,"s"],[19177,0,"t"],[19178,0," "],[19179,0,"d"],[19180,0,"a"],[19181,0,"t"],[19182,0,"a"],[19183,0," "],[19184,0,"s"],[19185,0,"t"],[19186,0,"r"],[19187,0,"u"],[19188,0,"c"],[19189,0,"t"],[19190,0,"u"],[19191,0,"r"],[19192,0,"e"],[19193,0," "],[19194,0,"h"],[19195,0,"a"],[19196,0,"v"],[19197,0,"e"],[19198,0," "],[19199,0,"b"],[19200,0,"e"],[19201,0,"e"],[19202,0,"n"],[19203,0," "],[19204,0,"t"],[19205,0,"h"],[19206,0,"o"],[19207,0,"r"],[19208,0,"o"],[19209,0,"u"],[19210,0,"g"],[19211,0,"h"],[19212,0,"l"],[19213,0,"y"],[19214,0," "],[19215,0,"e"],[19216,0,"x"],[19217,0,"p"],[19218,0,"l"],[19219,0,"o"],[19220,0,"r"],[19221,0,"e"],[19222,0,"d"],[19223,0," "],[19224,0,"i"],[19225,0,"n"],[19226,0," "],[19227,0,"t"],[19228,0,"h"],[19229,0,"e"],[19230,0," "],[19231,0,"l"],[19232,0,"i"],[19233,0,"t"],[19234,0,"e"],[19235,0,"r"],[19236,0,"a"],[19237,0,"t"],[19238,0,"u"],[19239,0,"r"],[19240,0,"e"],[19241,0," "],[19242,0,"("],[19243,0,"s"],[19244,0,"e"],[19245,0,"e"],[19246,0," "],[19247,0,"S"],[19248,0,"e"],[19249,0,"c"],[19250,0,"t"],[19251,0,"i"],[19252,0,"o"],[19253,0,"n"],[19254,0,"~"],[19255,0,"\\"],[19256,0,"r"],[19257,0,"e"],[19258,0,"f"],[19259,0,"{"],[19260,0,"}"],[19261,0,")"],[19262,0,"."],[17828,0,"}"],[17829,0,"}"],[17829,1],[17828,1],[19260,0,"s"],[19261,0,"e"],[19262,0,"c"],[19263,0,":"],[19264,0,"r"],[19265,0,"e"],[19266,0,"l"],[19267,0,"a"],[19268,0,"t"],[19269,0,"e"],[19270,0,"d"],[19274,0," "],[19275,0,"H"],[19276,0,"o"],[19277,0,"w"],[19278,0,"e"],[19279,0,"v"],[19280,0,"e"],[19281,0,"r"],[19282,0,","],[19283,0," "],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,1],[19284,0,"w"],[19285,0,"h"],[19286,0,"e"],[19287,0,"n"],[19318,0,","],[19319,0," "],[19320,0,"d"],[19321,0,"i"],[19322,0,"f"],[19323,0,"f"],[19324,0,"i"],[19325,0,"c"],[19326,0,"u"],[19327,0,"l"],[19328,0,"t"],[19329,0,"i"],[19330,0,"e"],[19331,0,"s"],[19332,0," "],[19333,0,"a"],[19334,0,"r"],[19335,0,"i"],[19336,0,"s"],[19337,0,"e"],[19338,1],[19338,1],[19338,1],[19370,0,"c"],[19371,0,"o"],[19372,0,"n"],[19373,0,"c"],[19374,0,"u"],[19375,0,"r"],[19376,0,"r"],[19377,0,"e"],[19378,0,"n"],[19379,0,"c"],[19380,0,"y"],[19381,0," "],[19382,0,"a"],[19383,0,"n"],[19384,0,"d"],[19385,0," "],[19386,0,"n"],[19387,0,"e"],[19388,0,"s"],[19389,0,"t"],[19390,0,"e"],[19391,0,"d"],[19392,0," "],[19393,0,"d"],[19394,0,"a"],[19395,0,"t"],[19396,0,"a"],[19397,0," "],[19398,0,"s"],[19399,0,"t"],[19400,0,"r"],[19401,0,"u"],[19402,0,"c"],[19403,0,"t"],[19404,0,"u"],[19405,0,"r"],[19406,0,"e"],[19407,0,"s"],[19408,0,"."],[19409,0," "],[19409,1],[19411,0,"I"],[19412,0,"n"],[19413,0," "],[19414,0,"t"],[19415,0,"h"],[19416,0," "],[19417,0,"e"],[19418,0,"f"],[19419,0,"o"],[19420,0,"l"],[19420,1],[19419,1],[19418,1],[19417,1],[19416,1],[19416,0,"e"],[19417,0," "],[19418,0,"f"],[19419,0,"o"],[19420,0,"l"],[19421,0,"l"],[19422,0,"o"],[19423,0,"w"],[19424,0,"i"],[19425,0,"n"],[19426,0,"g"],[19427,0," "],[19428,0,"e"],[19429,0,"x"],[19430,0,"a"],[19431,0,"m"],[19432,0,"p"],[19433,0,"l"],[19434,0,"e"],[19435,0,"s"],[19436,0," "],[19437,0,"w"],[19438,0,"e"],[19439,0," "],[19440,0,"i"],[19441,0,"l"],[19442,0,"l"],[19443,0,"u"],[19444,0,"s"],[19445,0,"t"],[19446,0,"r"],[19447,0,"a"],[19448,0,"t"],[19449,0,"e"],[19449,1],[19448,1],[19447,1],[19446,1],[19445,1],[19444,1],[19443,1],[19442,1],[19441,1],[19440,1],[19440,0,"s"],[19441,0,"h"],[19442,0,"o"],[19443,0,"w"],[19444,0," "],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19445,1],[19449,0," "],[19450,0,"s"],[19451,0,"i"],[19452,0,"t"],[19453,0,"u"],[19454,0,"a"],[19455,0,"t"],[19456,0,"i"],[19457,0,"o"],[19458,0,"n"],[19459,0,"s"],[19460,0," "],[19461,0,"t"],[19462,0,"h"],[19463,0,"a"],[19464,0,"t"],[19465,0," "],[19466,0,"c"],[19467,0,"a"],[19468,0,"n"],[19469,0," "],[19470,0,"o"],[19471,0,"c"],[19472,0,"c"],[19473,0,"u"],[19474,0,"r"],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19475,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,1],[19523,0,"a"],[19524,0,"n"],[19525,0,"d"],[19526,0," "],[19527,0,"d"],[19528,0,"e"],[19529,0,"m"],[19530,0,"o"],[19531,0,"n"],[19532,0,"s"],[19533,0,"t"],[19534,0,"r"],[19535,0,"a"],[19536,0,"t"],[19537,0,"e"],[19538,0," "],[19539,0,"h"],[19540,0,"o"],[19541,0,"w"],[19542,0," "],[19543,0,"t"],[19544,0,"h"],[19545,0,"e"],[19546,0,"y"],[19547,0," "],[19548,0,"a"],[19549,0,"r"],[19550,0,"e"],[19551,0," "],[19552,0,"h"],[19553,0,"a"],[19554,0,"n"],[19555,0,"d"],[19556,0,"l"],[19557,0,"e"],[19558,0,"d"],[19559,0," "],[19560,0,"i"],[19560,1],[19560,0,"b"],[19561,0,"y"],[19562,0," "],[19563,0,"o"],[19564,0,"u"],[19565,0,"r"],[19566,0," "],[19567,0,"a"],[19568,0,"l"],[19569,0,"g"],[19570,0,"o"],[19571,0,"r"],[19572,0,"i"],[19573,0,"t"],[19574,0,"h"],[19575,0,"m"],[19361,0,"s"],[19469,1],[19468,1],[19467,1],[19467,0,"m"],[19468,0,"g"],[19469,0,"i"],[19469,1],[19468,1],[19468,0,"i"],[19469,0,"g"],[19470,0,"h"],[19471,0,"t"],[19734,0,","],[19768,0," "],[19769,0,"a"],[19770,0,"r"],[19771,0,"e"],[20716,0,"\n"],[20717,0,"\n"],[20715,1],[20715,0,"\n"],[20716,0,"\n"],[20717,0,"A"],[20718,0," "],[20719,0,"m"],[20720,0,"u"],[20721,0,"l"],[20722,0,"t"],[20723,0,"i"],[20724,0,"="],[20724,1],[20724,0,"-"],[20725,0,"v"],[20726,0,"a"],[20727,0,"l"],[20728,0,"u"],[20729,0,"e"],[20730,0," "],[20731,0,"r"],[20732,0,"e"],[20733,0,"g"],[20734,0,"i"],[20735,0,"s"],[20736,0,"t"],[20737,0,"e"],[20738,0,"r"],[20739,0," "],[20740,0,"i"],[20741,0,"s"],[20742,0," "],[20743,0,"h"],[20744,0,"a"],[20745,0,"r"],[20746,0,"d"],[20747,0,"l"],[20748,0,"y"],[20749,0," "],[20750,0,"a"],[20751,0,"n"],[20752,0," "],[20753,0,"i"],[20754,0,"m"],[20755,0,"p"],[20756,0,"r"],[20757,0,"e"],[20758,0,"s"],[20759,0,"s"],[20760,0,"i"],[20761,0,"v"],[20762,0,"e"],[20763,0," "],[20764,0,"C"],[20765,0,"R"],[20766,0,"D"],[20767,0,"T"],[20768,0,","],[20769,0," "],[20770,0,"s"],[20771,0,"i"],[20772,0,"n"],[20773,0,"c"],[20774,0,"e"],[20775,0," "],[20776,0,"i"],[20777,0,"t"],[20778,0," "],[20779,0,"d"],[20780,0,"o"],[20781,0,"e"],[20782,0,"s"],[20783,0," "],[20784,0,"n"],[20785,0,"o"],[20786,0,"t"],[20787,0," "],[20788,0,"a"],[20789,0,"c"],[20790,0,"t"],[20791,0,"u"],[20792,0,"a"],[20793,0,"l"],[20794,0,"l"],[20795,0,"y"],[20796,0," "],[20797,0,"p"],[20798,0,"e"],[20799,0,"r"],[20800,0,"f"],[20801,0,"o"],[20802,0,"r"],[20803,0,"m"],[20804,0," "],[20805,0,"a"],[20806,0,"n"],[20807,0,"y"],[20808,0," "],[20809,0,"c"],[20810,0,"o"],[20811,0,"n"],[20812,0,"f"],[20813,0,"l"],[20814,0,"i"],[20815,0,"c"],[20816,0,"t"],[20817,0," "],[20818,0,"r"],[20819,0,"e"],[20820,0,"s"],[20821,0,"o"],[20822,0,"l"],[20823,0,"u"],[20824,0,"t"],[20825,0,"i"],[20826,0,"o"],[20827,0,"n"],[20828,0,"."],[20829,0," "],[20830,0,"I"],[20831,0,"t"],[20832,0,"s"],[20833,0," "],[20833,1],[20832,1],[20831,1],[20830,1],[20830,0,"W"],[20831,0,"e"],[20832,0," "],[20833,0,"u"],[20834,0,"s"],[20835,0,"e"],[20836,0," "],[20837,0,"i"],[20838,0,"t"],[20839,0," "],[20840,0,"o"],[20841,0,"n"],[20842,0,"l"],[20843,0,"y"],[20844,0," "],[20845,0,"f"],[20846,0,"o"],[20847,0,"r"],[20848,0," "],[20849,0,"p"],[20850,0,"r"],[20851,0,"i"],[20852,0,"m"],[20853,0,"i"],[20854,0,"t"],[20855,0,"i"],[20856,0,"v"],[20857,0,"e"],[20858,0," "],[20859,0,"v"],[20860,0,"a"],[20861,0,"l"],[20862,0,"u"],[20863,0,"e"],[20864,0,"s"],[20865,0," "],[20866,0,"f"],[20867,0,"o"],[20868,0,"r"],[20869,0," "],[20870,0,"w"],[20871,0,"h"],[20872,0,"i"],[20873,0,"c"],[20874,0,"h"],[20875,0," "],[20876,0,"n"],[20877,0,"o"],[20878,0," "],[20879,0,"o"],[20880,0,"t"],[20881,0,"h"],[20882,0,"e"],[20883,0,"r"],[20884,0," "],[20885,0,"m"],[20886,0,"e"],[20887,0,"r"],[20888,0,"g"],[20889,0,"e"],[20890,0," "],[20883,1],[20882,1],[20881,1],[20880,1],[20879,1],[20879,0,"a"],[20880,0,"u"],[20881,0,"t"],[20882,0,"o"],[20883,0,"m"],[20884,0,"a"],[20885,0,"i"],[20885,1],[20885,0,"t"],[20886,0,"i"],[20887,0,"c"],[20895,0,"f"],[20896,0,"u"],[20897,0,"n"],[20898,0,"c"],[20899,0,"t"],[20900,0,"i"],[20901,0,"o"],[20902,0,"n"],[20903,0," "],[20904,0,"i"],[20905,0,"s"],[20906,0," "],[20907,0,"d"],[20908,0,"e"],[20909,0,"f"],[20910,0,"i"],[20911,0,"n"],[20912,0,"e"],[20913,0,"d"],[20914,0,"."],[20915,0," "],[20916,0,"O"],[20917,0,"t"],[20918,0,"h"],[20919,0,"e"],[20920,0,"r"],[20921,0," "],[20922,0,"C"],[20923,0,"R"],[20924,0,"D"],[20925,0,"T"],[20926,0,"s"],[20927,0," "],[20928,0,"c"],[20929,0,"o"],[20930,0,"u"],[20931,0,"l"],[20932,0,"d"],[20933,0," "],[20934,0,"b"],[20935,0,"e"],[20936,0," "],[20937,0,"s"],[20938,0,"u"],[20939,0,"b"],[20940,0,"s"],[20941,0,"t"],[20942,0,"i"],[20943,0,"t"],[20944,0,"u"],[20945,0,"t"],[20946,0,"e"],[20947,0,"d"],[20948,0," "],[20949,0,"i"],[20950,0,"n"],[20951,0," "],[20952,0,"i"],[20953,0,"t"],[20954,0,"s"],[20955,0," "],[20956,0,"p"],[20957,0,"l"],[20958,0,"a"],[20959,0,"c"],[20960,0,"e"],[20961,0,":"],[20962,0," "],[20963,0,"f"],[20964,0,"o"],[20965,0,"r"],[20966,0," "],[20967,0,"e"],[20968,0,"x"],[20969,0,"a"],[20970,0,"m"],[20971,0,"p"],[20972,0,"l"],[20973,0,"e"],[20974,0,","],[20975,0," "],[20976,0,"a"],[20977,0," "],[20978,0,"c"],[20979,0,"o"],[20980,0,"u"],[20981,0,"t"],[20981,1],[20981,0,"n"],[20982,0,"t"],[20983,0,"e"],[20984,0,"r"],[20985,0," "],[20986,0,"C"],[20987,0,"R"],[20988,0,"D"],[20989,0,"T"],[20990,0," "],[20991,0,"f"],[20992,0,"o"],[20993,0,"r"],[20994,0," "],[20995,0,"a"],[20996,0," "],[20997,0,"n"],[20998,0,"u"],[20999,0,"m"],[21000,0,"b"],[21001,0,"e"],[21002,0,"r"],[21003,0," "],[21004,0,"t"],[21005,0,"h"],[21006,0,"a"],[21007,0,"t"],[21008,0," "],[21009,0,"c"],[21010,0,"a"],[21011,0,"n"],[21012,0," "],[21013,0,"o"],[21014,0,"n"],[21015,0,"l"],[21016,0,"y"],[21017,0," "],[21018,0,"b"],[21019,0,"e"],[21020,0," "],[21021,0,"i"],[21022,0,"n"],[21023,0,"c"],[21024,0,"r"],[21025,0,"e"],[21026,0,"m"],[21027,0,"e"],[21028,0,"n"],[21029,0,"t"],[21030,0,"e"],[21031,0,"d"],[21032,0," "],[21033,0,"a"],[21034,0,"n"],[21035,0,"d"],[21036,0," "],[21037,0,"d"],[21038,0,"e"],[21039,0,"c"],[21040,0,"r"],[21041,0,"e"],[21042,0,"m"],[21043,0,"e"],[21044,0,"n"],[21045,0,"t"],[21046,0,"e"],[21047,0,"d"],[21048,0,","],[21049,0," "],[21050,0,"o"],[21051,0,"r"],[21052,0," "],[21053,0,"a"],[21054,0,"n"],[21055,0," "],[21056,0,"o"],[21057,0,"r"],[21058,0,"d"],[21059,0,"e"],[21060,0,"r"],[21061,0,"e"],[21062,0,"d"],[21063,0," "],[21064,0,"l"],[21065,0,"i"],[21066,0,"s"],[21067,0,"t"],[21068,0," "],[21069,0,"o"],[21070,0,"f"],[21071,0," "],[21072,0,"c"],[21073,0,"h"],[21074,0,"a"],[21075,0,"r"],[21076,0,"a"],[21077,0,"c"],[21078,0,"t"],[21079,0,"e"],[21080,0,"r"],[21081,0,"s"],[21082,0," "],[21083,0,"f"],[21084,0,"o"],[21085,0,"r"],[21086,0," "],[21087,0,"a"],[21088,0," "],[21089,0,"c"],[21090,0,"o"],[21091,0,"l"],[21092,0,"l"],[21093,0,"a"],[21094,0,"b"],[21095,0,"o"],[21096,0,"r"],[21097,0,"a"],[21098,0,"t"],[21099,0,"i"],[21100,0,"v"],[21101,0,"e"],[21102,0,"l"],[21103,0,"y"],[21104,0," "],[21105,0,"e"],[21106,0,"d"],[21107,0,"i"],[21108,0,"t"],[21109,0,"a"],[21110,0,"b"],[21111,0,"l"],[21112,0,"e"],[21113,0," "],[21114,0,"s"],[21115,0,"t"],[21116,0,"r"],[21117,0,"i"],[21118,0,"n"],[21119,0,"g"],[21120,0," "],[21121,0,"("],[21122,0,"s"],[21123,0,"e"],[21124,0,"e"],[21125,0," "],[21126,0,"a"],[21127,0,"l"],[21128,0,"s"],[21129,0,"o"],[21130,0," "],[21131,0,"F"],[21132,0,"i"],[21133,0,"g"],[21134,0,"u"],[21135,0,"r"],[21136,0,"e"],[21137,0,"~"],[21138,0,"\\"],[21139,0,"r"],[21140,0,"e"],[21141,0,"f"],[21142,0,"{"],[21143,0,"f"],[21144,0,"i"],[21145,0,"g"],[21146,0,":"],[21147,0,"t"],[21148,0,"e"],[21149,0,"x"],[21150,0,"t"],[21151,0,"-"],[21152,0,"e"],[21153,0,"d"],[21154,0,"i"],[21155,0,"t"],[21156,0,"}"],[21157,0,")"],[21158,0,"."],[21159,0," "],[21159,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21161,1],[21160,1],[21159,1],[18966,1],[18966,0,"."],[18967,0,"g"],[18968,0,"e"],[18969,0,"t"],[18970,0,"("],[18978,1],[18978,0,")"],[22936,1],[22935,1],[22934,1],[22933,1],[22932,1],[22931,1],[22930,1],[22929,1],[22928,1],[22927,1],[22926,1],[22925,1],[22924,1],[22923,1],[22922,1],[22921,1],[22920,1],[22919,1],[22918,1],[22917,1],[22916,1],[22915,1],[22914,1],[22913,1],[22912,1],[22911,1],[22910,1],[22909,1],[22936,0," "],[22937,0,"g"],[22938,0,"i"],[22939,0,"v"],[22940,0,"e"],[22941,0,"s"],[22942,0," "],[22943,0,"a"],[22944,0,"n"],[22945,0," "],[22946,0,"e"],[22947,0,"x"],[22948,0,"a"],[22949,0,"m"],[22950,0,"p"],[22951,0,"l"],[22952,0,"e"],[22953,0," "],[22954,0,"o"],[22955,0,"f"],[22956,0," "],[22957,0,"c"],[22958,0,"o"],[22959,0,"n"],[22960,0,"c"],[22961,0,"u"],[22962,0,"r"],[22963,0,"r"],[22964,0,"e"],[22965,0,"n"],[22966,0,"t"],[22967,0," "],[22968,0,"e"],[22969,0,"d"],[22970,0,"i"],[22971,0,"t"],[22972,0,"s"],[22973,0," "],[22974,0,"a"],[22975,0,"t"],[22976,0," "],[22977,0,"d"],[22978,0,"i"],[22979,0,"f"],[22980,0,"f"],[22981,0,"e"],[22982,0,"r"],[22983,0,"e"],[22984,0,"n"],[22985,0,"t"],[22986,0," "],[22987,0,"l"],[22988,0,"e"],[22989,0,"v"],[22990,0,"e"],[22991,0,"l"],[22992,0,"s"],[22993,0," "],[22994,0,"o"],[22995,0,"f"],[22996,0," "],[22997,0,"t"],[22998,0,"h"],[22999,0,"e"],[23000,0," "],[23001,0,"t"],[23002,0,"r"],[23003,0,"e"],[23004,0,"e"],[23159,0," "],[23160,0,"I"],[23161,0,"n"],[23162,0,"s"],[23163,0,"t"],[23164,0,"e"],[23165,0,"a"],[23166,0,"d"],[23167,0," "],[23168,0,"o"],[23169,0,"f"],[23170,0," "],[23171,0,"a"],[23172,0,"s"],[23173,0,"s"],[23174,0,"i"],[23175,0,"g"],[23176,0,"n"],[23177,0,"i"],[23178,0,"n"],[23179,0,"g"],[23180,0," "],[23181,0,"a"],[23182,0,"n"],[23183,0," "],[23184,0,"e"],[23185,0,"m"],[23186,0,"p"],[23187,0,"t"],[23188,0,"y"],[23189,0," "],[23190,0,"m"],[23191,0,"a"],[23192,0,"p"],[23016,1],[23015,1],[23014,1],[23013,1],[23020,0," "],[23021,0,"$"],[23022,0,"p"],[23023,0,"$"],[23090,1],[23089,1],[23088,1],[23087,1],[23086,1],[23085,1],[23084,1],[23083,1],[23082,1],[23081,1],[23080,1],[23079,1],[23078,1],[23077,1],[23076,1],[23064,0,"r"],[23065,0,"e"],[23066,0,"p"],[23067,0,"l"],[23068,0,"i"],[23069,0,"c"],[23070,0,"a"],[23071,0," "],[23072,0,"$"],[23073,0,"q"],[23074,0,"$"],[23075,0," "],[23190,0,","],[23191,0," "],[23192,0,"$"],[23193,0,"q"],[23194,0,"$"],[23195,0," "],[23196,0,"c"],[23197,0,"o"],[23198,0,"u"],[23199,0,"l"],[23200,0,"d"],[23201,0," "],[23202,0,"e"],[23203,0,"q"],[23204,0,"u"],[23205,0,"i"],[23206,0,"v"],[23207,0,"a"],[23208,0,"l"],[23209,0,"e"],[23210,0,"n"],[23211,0,"t"],[23212,0,"l"],[23213,0,"y"],[23214,0," "],[23215,0,"r"],[23216,0,"e"],[23217,0,"m"],[23218,0,"o"],[23219,0,"v"],[23220,0,"e"],[23221,0," "],[23222,0,"t"],[23223,0,"h"],[23224,0,"e"],[23225,0," "],[23226,0,"e"],[23227,0,"n"],[23228,0,"t"],[23229,0,"i"],[23230,0,"r"],[23231,0,"e"],[23232,0," "],[23233,0,"k"],[23234,0,"e"],[23235,0,"y"],[23236,0," "],[23237,0,"`"],[23238,0,"`"],[23239,0,"c"],[23240,0,"o"],[23241,0,"l"],[23242,0,"o"],[23243,0,"r"],[23244,0,"s"],[23245,0,"'"],[23246,0,"'"],[23247,0," "],[23248,0,"f"],[23249,0,"r"],[23250,0,"o"],[23251,0,"m"],[23252,0," "],[23253,0,"t"],[23254,0,"h"],[23255,0,"e"],[23256,0," "],[23257,0,"o"],[23258,0,"u"],[23259,0,"t"],[23260,0,"e"],[23261,0,"r"],[23262,0," "],[23263,0,"m"],[23264,0,"a"],[23265,0,"p"],[23266,0,","],[23267,0," "],[23268,0,"a"],[23269,0,"n"],[23270,0,"d"],[23271,0," "],[23272,0,"t"],[23273,0,"h"],[23274,0,"e"],[23275,0,"n"],[23276,0," "],[23277,0,"a"],[23278,0,"s"],[23279,0,"s"],[23280,0,"i"],[23281,0,"g"],[23282,0,"n"],[23283,0," "],[23284,0,"a"],[23285,0," "],[23286,0,"n"],[23287,0,"e"],[23288,0,"w"],[23289,0," "],[23290,0,"e"],[23291,0,"m"],[23292,0,"p"],[23293,0,"t"],[23294,0,"y"],[23295,0," "],[23296,0,"m"],[23297,0,"a"],[23298,0,"p"],[23299,0," "],[23300,0,"t"],[23301,0,"o"],[23302,0," "],[23303,0,"t"],[23304,0,"h"],[23305,0,"a"],[23306,0,"t"],[23307,0," "],[23308,0,"k"],[23309,0,"e"],[23310,0,"y"],[23311,0,"."],[23312,0,"\n"],[23313,0,"\n"],[23312,0," "],[23313,0,"T"],[23314,0,"h"],[23315,0,"e"],[23316,0," "],[23317,0,"d"],[23318,0,"i"],[23319,0,"f"],[23320,0,"f"],[23321,0,"i"],[23322,0,"c"],[23323,0,"u"],[23324,0,"l"],[23325,0,"t"],[23326,0,"y"],[23327,0," "],[23328,0,"i"],[23329,0,"n"],[23330,0," "],[23331,0,"t"],[23332,0,"h"],[23333,0,"i"],[23334,0,"s"],[23335,0," "],[23336,0,"e"],[23337,0,"x"],[23338,0,"a"],[23339,0,"m"],[23340,0,"p"],[23341,0,"l"],[23342,0,"e"],[23343,0," "],[23582,0,"\n"],[23583,0,"\n"],[23583,0,"T"],[23584,0,"h"],[23585,0,"e"],[23586,0," "],[23587,0,"b"],[23588,0,"e"],[23589,0,"h"],[23590,0,"a"],[23591,0,"v"],[23592,0,"i"],[23593,0,"o"],[23594,0,"r"],[23595,0," "],[23596,0,"w"],[23597,0,"e"],[23598,0," "],[23599,0,"d"],[23600,0,"e"],[23601,0,"f"],[23602,0,"i"],[23603,0,"n"],[23604,0,"e"],[23605,0," "],[23606,0,"i"],[23607,0,"s"],[23608,0," "],[23608,1],[23607,1],[23606,1],[23606,0,"m"],[23607,0,"a"],[23608,0,"t"],[23609,0,"c"],[23610,0,"h"],[23611,0,"e"],[23612,0,"s"],[23613,0," "],[23614,0,"t"],[23615,0,"h"],[23616,0,"a"],[23617,0,"t"],[23618,0," "],[23619,0,"o"],[23620,0,"f"],[23621,0," "],[23622,0,"C"],[23623,0,"R"],[23624,0,"D"],[23625,0,"T"],[23626,0," "],[23627,0,"m"],[23628,0,"a"],[23629,0,"p"],[23630,0,"s"],[23631,0," "],[23632,0,"i"],[23633,0,"n"],[23634,0," "],[23635,0,"R"],[23636,0,"i"],[23637,0,"a"],[23638,0,"k"],[23639,0,"~"],[23640,0,"\\"],[23641,0,"c"],[23642,0,"i"],[23643,0,"t"],[23644,0,"e"],[23645,0,"{"],[23646,0,"B"],[23647,0,"r"],[23648,0,"o"],[23649,0,"w"],[23650,0,"n"],[23651,0,":"],[23652,0,"2"],[23653,0,"0"],[23654,0,"1"],[23655,0,"4"],[23656,0,"h"],[23657,0,"s"],[23658,0,","],[23659,0,"B"],[23660,0,"r"],[23661,0,"o"],[23662,0,"w"],[23663,0,"n"],[23664,0,":"],[23665,0,"2"],[23666,0,"0"],[23667,0,"1"],[23668,0,"3"],[23669,0,"w"],[23670,0,"y"],[23671,0,"}"],[23672,0,"."],[23344,0,"i"],[23345,0,"s"],[23346,0," "],[23347,0,"t"],[23348,0,"h"],[23349,0,"a"],[23350,0,"t"],[23351,0," "],[23352,0,"t"],[23353,0,"h"],[23354,0,"e"],[23355,0," "],[23356,0,"a"],[23357,0,"d"],[23358,0,"d"],[23359,0,"i"],[23360,0,"t"],[23361,0,"i"],[23362,0,"o"],[23363,0,"n"],[23364,0," "],[23365,0,"o"],[23366,0,"f"],[23367,0," "],[23368,0,"`"],[23369,0,"`"],[23370,0,"r"],[23371,0,"e"],[23372,0,"d"],[23373,0,"'"],[23374,0,"'"],[23375,0," "],[23376,0,"o"],[23377,0,"c"],[23378,0,"c"],[23379,0,"u"],[23380,0,"r"],[23381,0,"s"],[23382,0," "],[23383,0,"a"],[23384,0,"t"],[23385,0," "],[23386,0,"a"],[23387,0," "],[23388,0,"l"],[23389,0,"o"],[23390,0,"w"],[23391,0,"e"],[23392,0,"r"],[23393,0," "],[23394,0,"l"],[23395,0,"e"],[23396,0,"v"],[23397,0,"e"],[23398,0,"l"],[23399,0," "],[23400,0,"o"],[23401,0,"f"],[23402,0," "],[23403,0,"t"],[23404,0,"h"],[23405,0,"e"],[23406,0," "],[23407,0,"t"],[23408,0,"r"],[23409,0,"e"],[23410,0,"e"],[23411,0,","],[23412,0," "],[23413,0,"w"],[23414,0,"h"],[23415,0,"i"],[23416,0,"l"],[23417,0,"e"],[23418,0," "],[23419,0,"c"],[23420,0,"o"],[23421,0,"n"],[23422,0,"c"],[23423,0,"u"],[23424,0,"r"],[23425,0,"r"],[23426,0,"e"],[23427,0,"n"],[23428,0,"t"],[23429,0,"l"],[23430,0,"y"],[23431,0," "],[23432,0,"t"],[23433,0,"h"],[23434,0,"e"],[23435,0," "],[23436,0,"r"],[23437,0,"e"],[23438,0,"m"],[23439,0,"o"],[23440,0,"v"],[23441,0,"a"],[23442,0,"l"],[23443,0," "],[23444,0,"o"],[23445,0,"f"],[23446,0," "],[23447,0,"t"],[23448,0,"h"],[23449,0,"e"],[23450,0," "],[23451,0,"m"],[23452,0,"a"],[23453,0,"p"],[23454,0," "],[23455,0,"o"],[23456,0,"f"],[23457,0," "],[23458,0,"c"],[23459,0,"o"],[23460,0,"l"],[23461,0,"o"],[23462,0,"r"],[23463,0,"s"],[23464,0," "],[23465,0,"o"],[23466,0,"c"],[23467,0,"c"],[23468,0,"u"],[23469,0,"r"],[23470,0,"s"],[23471,0," "],[23472,0,"a"],[23473,0,"t"],[23474,0," "],[23475,0,"a"],[23476,0," "],[23477,0,"h"],[23478,0,"i"],[23479,0,"g"],[23480,0,"h"],[23481,0,"e"],[23482,0,"r"],[23483,0," "],[23484,0,"l"],[23485,0,"e"],[23486,0,"v"],[23487,0,"e"],[23488,0,"l"],[23489,0," "],[23490,0,"o"],[23491,0,"f"],[23492,0," "],[23493,0,"t"],[23494,0,"h"],[23495,0,"e"],[23496,0," "],[23497,0,"t"],[23498,0,"r"],[23499,0,"e"],[23500,0,"e"],[23501,0,"."],[23502,0,"\n"],[23503,0,"\n"],[23504,0,"O"],[23505,0,"n"],[23506,0,"e"],[23507,0," "],[23508,0,"p"],[23509,0,"o"],[23510,0,"s"],[23511,0,"s"],[23512,0,"i"],[23513,0,"b"],[23514,0,"l"],[23515,0,"e"],[23516,0," "],[23517,0,"w"],[23518,0,"a"],[23519,0,"y"],[23520,0," "],[23521,0,"o"],[23522,0,"f"],[23523,0," "],[23524,0,"h"],[23525,0,"a"],[23526,0,"n"],[23527,0,"d"],[23528,0,"l"],[23529,0,"i"],[23530,0,"n"],[23531,0,"g"],[23532,0," "],[23533,0,"s"],[23534,0,"u"],[23535,0,"c"],[23536,0,"h"],[23537,0," "],[23538,0,"a"],[23539,0," "],[23540,0,"c"],[23541,0,"o"],[23542,0,"n"],[23543,0,"f"],[23544,0,"l"],[23545,0,"i"],[23546,0,"c"],[23547,0,"t"],[23548,0," "],[23549,0,"w"],[23550,0,"o"],[23551,0,"u"],[23552,0,"l"],[23553,0,"d"],[23554,0," "],[23555,0,"b"],[23556,0,"e"],[23557,0," "],[23558,0,"t"],[23559,0,"o"],[23560,0," "],[23561,0,"l"],[23562,0,"e"],[23563,0,"t"],[23564,0," "],[23565,0,"e"],[23566,0,"d"],[23567,0,"i"],[23568,0,"t"],[23569,0,"s"],[23570,0," "],[23571,0,"a"],[23572,0,"t"],[23573,0," "],[23574,0,"h"],[23575,0,"i"],[23576,0,"g"],[23577,0,"h"],[23578,0,"e"],[23579,0,"r"],[23580,0," "],[23581,0,"l"],[23582,0,"e"],[23583,0,"v"],[23584,0,"e"],[23585,0,"l"],[23586,0,"s"],[23587,0," "],[23588,0,"o"],[23589,0,"f"],[23590,0," "],[23591,0,"a"],[23592,0," "],[23593,0,"t"],[23594,0,"r"],[23595,0,"e"],[23596,0,"e"],[23597,0," "],[23598,0,"a"],[23599,0,"l"],[23600,0,"w"],[23601,0,"a"],[23602,0,"y"],[23603,0,"s"],[23604,0," "],[23605,0,"o"],[23606,0,"v"],[23607,0,"e"],[23608,0,"r"],[23609,0,"r"],[23610,0,"i"],[23611,0,"d"],[23612,0,"e"],[23613,0," "],[23614,0,"c"],[23615,0,"o"],[23616,0,"n"],[23617,0,"c"],[23618,0,"u"],[23619,0,"r"],[23620,0,"r"],[23621,0,"e"],[23622,0,"n"],[23623,0,"t"],[23624,0," "],[23625,0,"e"],[23626,0,"d"],[23627,0,"i"],[23628,0,"t"],[23629,0,"s"],[23630,0," "],[23631,0,"w"],[23632,0,"i"],[23633,0,"t"],[23634,0,"h"],[23635,0,"i"],[23636,0,"n"],[23637,0," "],[23638,0,"t"],[23639,0,"h"],[23640,0,"a"],[23641,0,"t"],[23642,0," "],[23643,0,"s"],[23644,0,"u"],[23645,0,"b"],[23646,0,"t"],[23647,0,"r"],[23648,0,"e"],[23649,0,"e"],[23650,0," "],[23651,0,"("],[23652,0,"i"],[23653,0,"n"],[23654,0," "],[23655,0,"t"],[23656,0,"h"],[23657,0,"i"],[23658,0,"s"],[23659,0," "],[23660,0,"c"],[23661,0,"a"],[23662,0,"s"],[23663,0,"e"],[23664,0,","],[23665,0," "],[23666,0,"t"],[23667,0,"h"],[23668,0,"a"],[23669,0,"t"],[23670,0," "],[23671,0,"w"],[23672,0,"o"],[23673,0,"u"],[23674,0,"l"],[23675,0,"d"],[23676,0," "],[23677,0,"m"],[23678,0,"e"],[23679,0,"a"],[23680,0,"n"],[23681,0," "],[23682,0,"t"],[23683,0,"h"],[23684,0,"e"],[23685,0," "],[23686,0,"a"],[23687,0,"d"],[23688,0,"d"],[23689,0,"i"],[23690,0,"t"],[23691,0,"i"],[23692,0,"o"],[23693,0,"n"],[23694,0," "],[23695,0,"o"],[23696,0,"f"],[23697,0," "],[23698,0,"`"],[23699,0,"`"],[23700,0,"r"],[23701,0,"e"],[23702,0,"d"],[23703,0,"'"],[23704,0,"'"],[23705,0," "],[23706,0,"w"],[23707,0,"o"],[23708,0,"u"],[23709,0,"l"],[23710,0,"d"],[23711,0," "],[23712,0,"b"],[23713,0,"e"],[23714,0," "],[23715,0,"d"],[23716,0,"i"],[23717,0,"s"],[23718,0,"c"],[23719,0,"a"],[23720,0,"r"],[23721,0,"d"],[23722,0,"e"],[23723,0,"d"],[23724,0,","],[23725,0," "],[23726,0,"s"],[23727,0,"i"],[23728,0,"n"],[23729,0,"c"],[23730,0,"e"],[23731,0," "],[23732,0,"i"],[23733,0,"t"],[23734,0," "],[23735,0,"w"],[23736,0,"o"],[23737,0,"u"],[23738,0,"l"],[23739,0,"d"],[23740,0," "],[23741,0,"b"],[23742,0,"e"],[23743,0," "],[23744,0,"o"],[23745,0,"v"],[23746,0,"e"],[23747,0,"r"],[23748,0,"r"],[23749,0,"i"],[23750,0,"d"],[23751,0,"d"],[23752,0,"e"],[23753,0,"n"],[23754,0," "],[23755,0,"b"],[23756,0,"y"],[23757,0," "],[23758,0,"t"],[23759,0,"h"],[23760,0,"e"],[23761,0," "],[23762,0,"b"],[23763,0,"l"],[23764,0,"a"],[23765,0,"n"],[23766,0,"k"],[23767,0,"i"],[23768,0,"n"],[23769,0,"g"],[23770,0,"-"],[23771,0,"o"],[23772,0,"u"],[23773,0,"t"],[23774,0," "],[23775,0,"o"],[23776,0,"f"],[23777,0," "],[23778,0,"t"],[23779,0,"h"],[23780,0,"e"],[23781,0," "],[23782,0,"e"],[23783,0,"n"],[23784,0,"t"],[23785,0,"i"],[23786,0,"r"],[23787,0,"e"],[23788,0," "],[23789,0,"m"],[23790,0,"a"],[23791,0,"p"],[23792,0," "],[23793,0,"o"],[23794,0,"f"],[23795,0," "],[23796,0,"c"],[23797,0,"o"],[23798,0,"l"],[23799,0,"o"],[23800,0,"r"],[23801,0,"s"],[23802,0,")"],[23803,0,"."],[23804,0," "],[23805,0,"H"],[23806,0,"o"],[23807,0,"w"],[23808,0,"e"],[23809,0,"v"],[23810,0,"e"],[23811,0,"r"],[23812,0,","],[23813,0," "],[23814,0,"t"],[23815,0,"h"],[23816,0,"a"],[23817,0,"t"],[23818,0," "],[23819,0,"b"],[23820,0,"e"],[23821,0,"h"],[23822,0,"a"],[23823,0,"v"],[23824,0,"i"],[23825,0,"o"],[23826,0,"r"],[23827,0," "],[23828,0,"w"],[23829,0,"o"],[23830,0,"u"],[23831,0,"l"],[23832,0,"d"],[23833,0," "],[23834,0,"n"],[23835,0,"o"],[23836,0,"t"],[23837,0," "],[23838,0,"m"],[23839,0,"e"],[23840,0,"e"],[23841,0,"t"],[23842,0," "],[23843,0,"o"],[23844,0,"u"],[23845,0,"r"],[23846,0," "],[23847,0,"r"],[23848,0,"e"],[23849,0,"q"],[23850,0,"u"],[23851,0,"i"],[23852,0,"r"],[23853,0,"e"],[23854,0,"m"],[23855,0,"e"],[23856,0,"n"],[23857,0,"t"],[23858,0," "],[23859,0,"o"],[23860,0,"f"],[23861,0," "],[23861,1],[23860,1],[23859,1],[23859,0,"t"],[23860,0,"h"],[23861,0,"a"],[23862,0,"t"],[23863,0," "],[23864,0,"e"],[23865,0,"d"],[23866,0,"i"],[23867,0,"t"],[23868,0,"s"],[23869,0," "],[23869,1],[23868,1],[23867,1],[23866,1],[23865,1],[23864,1],[23864,0,"n"],[23865,0,"o"],[23866,0," "],[23867,0,"u"],[23868,0,"s"],[23869,0,"e"],[23870,0,"r"],[23871,0," "],[23872,0,"i"],[23873,0,"n"],[23874,0,"p"],[23875,0,"u"],[23876,0,"t"],[23877,0," "],[23878,0,"s"],[23879,0,"h"],[23880,0,"o"],[23881,0,"u"],[23882,0,"l"],[23883,0,"d"],[23884,0," "],[23885,0,"b"],[23886,0,"e"],[23887,0," "],[23888,0,"l"],[23889,0,"o"],[23890,0,"s"],[23891,0,"t"],[23892,0," "],[23893,0,"d"],[23894,0,"u"],[23895,0,"e"],[23896,0," "],[23897,0,"t"],[23898,0,"o"],[23899,0," "],[23900,0,"c"],[23901,0,"o"],[23902,0,"n"],[23903,0,"c"],[23904,0,"u"],[23905,0,"r"],[23906,0,"r"],[23907,0,"e"],[23908,0,"n"],[23909,0,"t"],[23910,0," "],[23911,0,"m"],[23912,0,"o"],[23913,0,"d"],[23914,0,"i"],[23915,0,"f"],[23916,0,"i"],[23917,0,"c"],[23918,0,"a"],[23919,0,"t"],[23920,0,"i"],[23921,0,"o"],[23922,0,"n"],[23923,0,"s"],[23924,0,"."],[23925,0," "],[23926,0,"I"],[23927,0,"n"],[23928,0,"s"],[23929,0,"t"],[23930,0,"e"],[23931,0,"a"],[23932,0,"d"],[23933,0,","],[23934,0," "],[23935,0,"w"],[23936,0,"e"],[23937,0," "],[23938,0,"d"],[23939,0,"e"],[23940,0,"f"],[23941,0,"i"],[23942,0,"n"],[23943,0,"e"],[23944,0," "],[23945,0,"a"],[23946,0," "],[23947,0,"m"],[23947,1],[23946,1],[23945,1],[23945,0,"m"],[23946,0,"e"],[23947,0,"r"],[23948,0,"g"],[23949,0,"e"],[23950,0," "],[23951,0,"s"],[23952,0,"e"],[23953,0,"m"],[23954,0,"a"],[23955,0,"n"],[23956,0,"t"],[23957,0,"i"],[23958,0,"c"],[23959,0,"s"],[23960,0," "],[23961,0,"t"],[23962,0,"h"],[23963,0,"a"],[23964,0,"t"],[23965,0," "],[23966,0,"p"],[23967,0,"r"],[23968,0,"e"],[23969,0,"s"],[23970,0,"e"],[23971,0,"r"],[23972,0,"v"],[23973,0,"e"],[23974,0," "],[23975,0,"a"],[23976,0,"l"],[23977,0,"l"],[23978,0," "],[23979,0,"c"],[23980,0,"h"],[23981,0,"a"],[23982,0,"n"],[23983,0,"g"],[23984,0,"e"],[23985,0,"s"],[23986,0,":"],[24054,1],[24053,1],[24052,1],[24051,1],[24050,1],[24049,1],[24048,1],[24047,1],[24046,1],[24045,1],[24044,1],[24043,1],[24042,1],[24041,1],[24040,1],[24039,1],[24038,1],[24037,1],[24036,1],[24035,1],[24034,1],[24033,1],[24032,1],[24031,1],[24030,1],[24029,1],[24028,1],[24027,1],[24026,1],[24025,1],[24024,1],[24023,1],[24022,1],[24021,1],[24020,1],[24019,1],[24018,1],[24017,1],[24016,1],[24015,1],[24014,1],[24013,1],[24012,1],[24011,1],[24010,1],[24009,1],[24008,1],[24007,1],[24006,1],[24005,1],[24004,1],[24003,1],[24002,1],[24001,1],[24000,1],[23999,1],[23998,1],[23997,1],[23996,1],[23995,1],[23994,1],[23993,1],[23992,1],[23991,1],[23990,1],[23989,1],[23988,1],[23987,1],[24157,1],[24156,1],[24156,0," "],[24159,1],[24159,0,"i"],[24160,0,"s"],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,1],[24171,0,"m"],[24172,0,"a"],[24173,0,"t"],[23986,0,","],[23987,0," "],[23988,0,"a"],[23989,0,"s"],[23990,0," "],[23991,0,"s"],[23992,0,"h"],[23993,0,"o"],[23994,0,"w"],[23995,0,"n"],[23996,0," "],[23997,0,"i"],[23998,0,"n"],[23999,0," "],[24000,0,"F"],[24001,0,"i"],[24002,0,"g"],[24003,0,"u"],[24004,0,"r"],[24005,0,"e"],[24006,0,"~"],[24007,0,"\\"],[24008,0,"r"],[24009,0,"e"],[24010,0,"f"],[24011,0,"{"],[24012,0,"f"],[24013,0,"i"],[24014,0,"g"],[24015,0,":"],[24016,0,"m"],[24017,0,"a"],[24018,0,"p"],[24019,0,"-"],[24020,0,"r"],[24021,0,"e"],[24022,0,"m"],[24023,0,"o"],[24024,0,"v"],[24025,0,"e"],[24026,0,"}"],[24296,0,"["],[24297,0,"p"],[24298,0,"]"],[21180,0,"["],[21181,0,"p"],[21182,0,"]"],[17817,0,"["],[17818,0,"p"],[17819,0,"]"],[27023,0,"["],[27024,0,"p"],[27025,0,"]"],[28556,0,"["],[28557,0,"p"],[28558,0,"]"],[30090,0,"["],[30091,0,"p"],[30092,0,"]"],[26002,0,"j"],[26003,0,"j"],[26004,0,"j"],[26005,0,"j"],[26005,1],[26002,1],[26002,1],[26002,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[26345,1],[30825,0,"j"],[30825,1],[30839,0,"\n"],[30840,0,"\n"],[30840,0,"F"],[30841,0,"i"],[30842,0,"g"],[30843,0,"u"],[30844,0,"r"],[30845,0,"e"],[30846,0,"~"],[30847,0,"\\"],[30848,0,"r"],[30849,0,"e"],[30850,0,"f"],[30851,0,"{"],[30852,0,"f"],[30853,0,"i"],[30854,0,"g"],[30855,0,":"],[30856,0,"m"],[30857,0,"a"],[30858,0,"p"],[30859,0,"-"],[30860,0,"r"],[30861,0,"e"],[30862,0,"m"],[30863,0,"o"],[30864,0,"v"],[30865,0,"e"],[30866,0,"}"],[30867,0," "],[30868,0,"g"],[30869,0,"i"],[30870,0,"v"],[30871,0,"e"],[30872,0,"s"],[30873,0," "],[30874,0,"a"],[30875,0,"n"],[30876,0," "],[30877,0,"e"],[30878,0,"x"],[30879,0,"a"],[30880,0,"m"],[30881,0,"p"],[30882,0,"l"],[30883,0,"e"],[30884,0," "],[30885,0,"o"],[30886,0,"f"],[30887,0," "],[30888,0,"c"],[30889,0,"o"],[30890,0,"n"],[30891,0,"c"],[30892,0,"u"],[30893,0,"r"],[30894,0,"r"],[30895,0,"e"],[30896,0,"n"],[30897,0,"t"],[30898,0," "],[30899,0,"e"],[30900,0,"d"],[30901,0,"i"],[30902,0,"t"],[30903,0,"s"],[30904,0," "],[30905,0,"a"],[30906,0,"t"],[30907,0," "],[30908,0,"d"],[30909,0,"i"],[30910,0,"f"],[30911,0,"f"],[30912,0,"e"],[30913,0,"r"],[30914,0,"e"],[30915,0,"n"],[30916,0,"t"],[30917,0," "],[30918,0,"l"],[30919,0,"e"],[30920,0,"v"],[30921,0,"e"],[30922,0,"l"],[30923,0,"s"],[30924,0," "],[30925,0,"o"],[30926,0,"f"],[30927,0," "],[30928,0,"t"],[30929,0,"h"],[30930,0,"e"],[30931,0," "],[30932,0,"J"],[30933,0,"S"],[30934,0,"O"],[30935,0,"N"],[30936,0," "],[30937,0,"t"],[30938,0,"r"],[30939,0,"e"],[30940,0,"e"],[30941,0,"."],[30942,0," "],[30943,0,"H"],[30944,0,"e"],[30945,0,"r"],[30946,0,"e"],[30947,0,","],[30948,0," "],[30949,0,"r"],[30950,0,"e"],[30951,0,"p"],[30952,0,"l"],[30953,0,"i"],[30954,0,"c"],[30955,0,"a"],[30956,0," "],[30957,0,"$"],[30958,0,"p"],[30959,0,"$"],[30960,0," "],[30961,0,"a"],[30962,0,"d"],[30963,0,"d"],[30964,0,"s"],[30965,0," "],[30966,0,"`"],[30967,0,"`"],[30968,0,"r"],[30969,0,"e"],[30970,0,"d"],[30971,0,"'"],[30972,0,"'"],[30973,0," "],[30974,0,"t"],[30975,0,"o"],[30976,0," "],[30977,0,"a"],[30978,0," "],[30979,0,"m"],[30980,0,"a"],[30981,0,"p"],[30982,0," "],[30983,0,"o"],[30984,0,"f"],[30985,0," "],[30986,0,"c"],[30987,0,"o"],[30988,0,"l"],[30989,0,"o"],[30990,0,"r"],[30991,0,"s"],[30992,0,","],[30993,0," "],[30994,0,"w"],[30995,0,"h"],[30996,0,"i"],[30997,0,"l"],[30998,0,"e"],[30999,0," "],[31000,0,"r"],[31001,0,"e"],[31002,0,"p"],[31003,0,"l"],[31004,0,"i"],[31005,0,"c"],[31006,0,"a"],[31007,0," "],[31008,0,"$"],[31009,0,"q"],[31010,0,"$"],[31011,0," "],[31012,0,"c"],[31013,0,"o"],[31014,0,"n"],[31015,0,"c"],[31016,0,"u"],[31017,0,"r"],[31018,0,"r"],[31019,0,"e"],[31020,0,"n"],[31021,0,"t"],[31022,0,"l"],[31023,0,"y"],[31024,0," "],[31025,0,"b"],[31026,0,"l"],[31027,0,"a"],[31028,0,"n"],[31029,0,"k"],[31030,0,"s"],[31031,0," "],[31032,0,"o"],[31033,0,"u"],[31034,0,"t"],[31035,0," "],[31036,0,"t"],[31037,0,"h"],[31038,0,"e"],[31039,0," "],[31040,0,"e"],[31041,0,"n"],[31042,0,"t"],[31043,0,"i"],[31044,0,"r"],[31045,0,"e"],[31046,0," "],[31047,0,"m"],[31048,0,"a"],[31049,0,"p"],[31050,0," "],[31051,0,"o"],[31052,0,"f"],[31053,0," "],[31054,0,"c"],[31055,0,"o"],[31056,0,"l"],[31057,0,"o"],[31058,0,"r"],[31059,0,"s"],[31060,0,","],[31061,0," "],[31062,0,"a"],[31063,0,"n"],[31064,0,"d"],[31065,0," "],[31066,0,"t"],[31067,0,"h"],[31068,0,"e"],[31069,0,"n"],[31070,0," "],[31071,0,"a"],[31072,0,"d"],[31073,0,"d"],[31074,0,"s"],[31075,0," "],[31060,1],[31075,0,"`"],[31076,0,"`"],[31077,0,"g"],[31078,0,"r"],[31079,0,"e"],[31080,0,"e"],[31081,0,"n"],[31082,0,"'"],[31083,0,"'"],[31084,0,"."],[31085,0," "],[31086,0,"I"],[31087,0,"n"],[31088,0,"s"],[31089,0,"t"],[31090,0,"e"],[31091,0,"a"],[31092,0,"d"],[31093,0,"e"],[31093,1],[31093,0," "],[31094,0,"o"],[31095,0,"f"],[31096,0," "],[31097,0,"a"],[31098,0,"s"],[31099,0,"s"],[31100,0,"i"],[31101,0,"g"],[31102,0,"n"],[31103,0,"i"],[31104,0,"n"],[31105,0,"g"],[31106,0," "],[31107,0,"a"],[31108,0,"n"],[31109,0," "],[31110,0,"e"],[31111,0,"m"],[31112,0,"p"],[31113,0,"t"],[31114,0,"y"],[31115,0," "],[31116,0,"m"],[31117,0,"a"],[31118,0,"p"],[31119,0,","],[31120,0," "],[31121,0,"$"],[31122,0,"q"],[31123,0,"$"],[31124,0," "],[31125,0,"c"],[31126,0,"o"],[31127,0,"u"],[31128,0,"l"],[31129,0,"d"],[31130,0," "],[31131,0,"e"],[31132,0,"q"],[31133,0,"u"],[31134,0,"i"],[31135,0,"v"],[31136,0,"a"],[31137,0,"l"],[31138,0,"e"],[31139,0,"n"],[31140,0,"t"],[31141,0,"l"],[31142,0,"y"],[31143,0," "],[31144,0,"r"],[31145,0,"e"],[31146,0,"m"],[31147,0,"o"],[31148,0,"v"],[31149,0,"e"],[31150,0," "],[31151,0,"t"],[31152,0,"h"],[31153,0,"e"],[31154,0," "],[31155,0,"e"],[31156,0,"n"],[31157,0,"t"],[31158,0,"i"],[31159,0,"r"],[31160,0,"e"],[31161,0," "],[31162,0,"k"],[31163,0,"e"],[31164,0,"y"],[31165,0," "],[31166,0,"`"],[31167,0,"`"],[31168,0,"c"],[31169,0,"o"],[31170,0,"l"],[31171,0,"o"],[31172,0,"r"],[31173,0,"s"],[31174,0,"'"],[31175,0,"'"],[31176,0," "],[31177,0,"f"],[31178,0,"r"],[31179,0,"o"],[31180,0,"m"],[31181,0," "],[31182,0,"t"],[31183,0,"h"],[31184,0,"e"],[31185,0," "],[31186,0,"o"],[31187,0,"u"],[31188,0,"t"],[31189,0,"e"],[31190,0,"r"],[31191,0," "],[31192,0,"m"],[31193,0,"a"],[31194,0,"p"],[31195,0,","],[31196,0," "],[31197,0,"a"],[31198,0,"n"],[31199,0,"d"],[31200,0," "],[31201,0,"t"],[31202,0,"h"],[31203,0,"e"],[31204,0,"n"],[31205,0," "],[31206,0,"a"],[31207,0,"s"],[31208,0,"s"],[31209,0,"i"],[31210,0,"g"],[31211,0,"n"],[31212,0," "],[31213,0,"a"],[31214,0," "],[31215,0,"n"],[31216,0,"e"],[31217,0,"w"],[31218,0," "],[31219,0,"e"],[31220,0,"m"],[31221,0,"t"],[31221,1],[31221,0,"p"],[31222,0,"t"],[31223,0,"y"],[31224,0," "],[31225,0,"m"],[31226,0,"a"],[31227,0,"p"],[31228,0," "],[31229,0,"t"],[31230,0,"o"],[31231,0," "],[31232,0,"t"],[31233,0,"h"],[31234,0,"a"],[31235,0,"t"],[31236,0," "],[31237,0,"k"],[31238,0,"e"],[31239,0,"y"],[31240,0,"."],[31241,0," "],[31242,0,"T"],[31243,0,"h"],[31244,0,"e"],[31245,0," "],[31246,0,"d"],[31247,0,"i"],[31248,0,"f"],[31249,0,"f"],[31250,0,"i"],[31251,0,"c"],[31252,0,"u"],[31253,0,"l"],[31254,0,"t"],[31255,0,"y"],[31256,0," "],[31257,0,"i"],[31258,0,"n"],[31259,0," "],[31260,0,"t"],[31261,0,"h"],[31262,0,"i"],[31263,0,"s"],[31264,0," "],[31265,0,"e"],[31266,0,"x"],[31267,0,"a"],[31268,0,"m"],[31269,0,"p"],[31270,0,"l"],[31271,0,"e"],[31272,0," "],[31273,0,"i"],[31274,0,"s"],[31275,0," "],[31276,0,"t"],[31277,0,"h"],[31278,0,"a"],[31279,0,"t"],[31280,0," "],[31281,0,"t"],[31282,0,"h"],[31283,0,"e"],[31284,0," "],[31285,0,"a"],[31286,0,"d"],[31287,0,"d"],[31288,0,"i"],[31289,0,"t"],[31290,0,"i"],[31291,0,"o"],[31292,0,"n"],[31293,0," "],[31294,0,"o"],[31295,0,"f"],[31296,0," "],[31297,0,"`"],[31298,0,"`"],[31299,0,"r"],[31300,0,"e"],[31301,0,"d"],[31302,0,"'"],[31303,0,"'"],[31304,0," "],[31305,0,"o"],[31306,0,"c"],[31307,0,"c"],[31308,0,"u"],[31309,0,"r"],[31310,0,"s"],[31311,0," "],[31312,0,"a"],[31313,0,"t"],[31314,0," "],[31315,0,"a"],[31316,0," "],[31317,0,"l"],[31318,0,"o"],[31319,0,"w"],[31320,0,"e"],[31321,0,"r"],[31322,0," "],[31323,0,"l"],[31324,0,"e"],[31325,0,"v"],[31326,0,"e"],[31327,0,"l"],[31328,0," "],[31329,0,"o"],[31330,0,"f"],[31331,0," "],[31332,0,"t"],[31333,0,"h"],[31334,0,"e"],[31335,0," "],[31336,0,"t"],[31337,0,"r"],[31338,0,"e"],[31339,0,"e"],[31340,0,","],[31341,0," "],[31342,0,"w"],[31343,0,"h"],[31344,0,"i"],[31345,0,"l"],[31346,0,"e"],[31347,0," "],[31348,0,"c"],[31349,0,"o"],[31350,0,"n"],[31351,0,"c"],[31352,0,"u"],[31353,0,"r"],[31354,0,"r"],[31355,0,"e"],[31356,0,"n"],[31357,0,"t"],[31358,0,"l"],[31359,0,"y"],[31360,0," "],[31361,0,"t"],[31362,0,"h"],[31363,0,"e"],[31364,0," "],[31365,0,"r"],[31366,0,"e"],[31367,0,"m"],[31368,0,"o"],[31369,0,"v"],[31370,0,"a"],[31371,0,"l"],[31372,0," "],[31373,0,"o"],[31374,0,"f"],[31375,0," "],[31376,0,"t"],[31377,0,"h"],[31378,0,"e"],[31379,0," "],[31380,0,"m"],[31381,0,"a"],[31382,0,"p"],[31383,0," "],[31384,0,"o"],[31385,0,"f"],[31386,0," "],[31387,0,"c"],[31388,0,"o"],[31389,0,"l"],[31390,0,"o"],[31391,0,"r"],[31392,0,"s"],[31393,0," "],[31394,0,"o"],[31395,0,"c"],[31396,0,"c"],[31397,0,"u"],[31398,0,"r"],[31399,0,"s"],[31400,0," "],[31401,0,"a"],[31402,0,"t"],[31403,0," "],[31404,0,"a"],[31405,0," "],[31406,0,"h"],[31407,0,"i"],[31408,0,"g"],[31409,0,"h"],[31410,0,"e"],[31411,0,"r"],[31412,0," "],[31413,0,"l"],[31414,0,"e"],[31415,0,"v"],[31416,0,"e"],[31417,0,"l"],[31418,0," "],[31419,0,"o"],[31420,0,"f"],[31421,0," "],[31422,0,"t"],[31423,0,"h"],[31424,0,"e"],[31425,0," "],[31426,0,"t"],[31427,0,"r"],[31428,0,"e"],[31429,0,"e"],[31430,0,"."],[31431,0,"\n"],[31432,0,"\n"],[31433,0,"O"],[31434,0,"n"],[31435,0,"e"],[31436,0," "],[31437,0,"p"],[31438,0,"o"],[31439,0,"s"],[31440,0,"s"],[31441,0,"i"],[31442,0,"b"],[31443,0,"l"],[31444,0,"e"],[31445,0," "],[31446,0,"w"],[31447,0,"a"],[31448,0,"y"],[31449,0," "],[31450,0,"o"],[31451,0,"f"],[31452,0," "],[31453,0,"h"],[31454,0,"a"],[31455,0,"n"],[31456,0,"d"],[31457,0,"l"],[31458,0,"i"],[31459,0,"n"],[31460,0,"g"],[31461,0," "],[31462,0,"s"],[31463,0,"u"],[31464,0,"c"],[31465,0,"h"],[31466,0," "],[31467,0,"a"],[31468,0," "],[31469,0,"c"],[31470,0,"o"],[31471,0,"n"],[31472,0,"f"],[31473,0,"l"],[31474,0,"i"],[31475,0,"c"],[31476,0,"t"],[31477,0," "],[31478,0,"w"],[31479,0,"o"],[31480,0,"u"],[31481,0,"l"],[31482,0,"d"],[31483,0," "],[31484,0,"b"],[31485,0,"e"],[31486,0," "],[31487,0,"t"],[31488,0,"o"],[31489,0," "],[31490,0,"l"],[31491,0,"e"],[31492,0,"t"],[31493,0," "],[31494,0,"e"],[31495,0,"d"],[31496,0,"i"],[31497,0,"t"],[31498,0,"s"],[31499,0," "],[31500,0,"a"],[31501,0,"t"],[31502,0," "],[31503,0,"h"],[31504,0,"i"],[31505,0,"g"],[31506,0,"h"],[31507,0,"e"],[31508,0,"r"],[31509,0," "],[31510,0,"l"],[31511,0,"e"],[31512,0,"v"],[31513,0,"e"],[31514,0,"l"],[31515,0,"s"],[31516,0," "],[31517,0,"o"],[31518,0,"f"],[31519,0," "],[31520,0,"t"],[31521,0,"h"],[31522,0,"e"],[31523,0," "],[31524,0,"t"],[31525,0,"r"],[31526,0,"e"],[31527,0,"e"],[31528,0," "],[31529,0,"a"],[31530,0,"l"],[31531,0,"w"],[31532,0,"a"],[31533,0,"y"],[31534,0,"s"],[31535,0," "],[31536,0,"o"],[31537,0,"v"],[31538,0,"e"],[31539,0,"r"],[31540,0,"r"],[31541,0,"i"],[31542,0,"d"],[31543,0,"e"],[31544,0," "],[31545,0,"c"],[31546,0,"o"],[31547,0,"n"],[31548,0,"c"],[31549,0,"u"],[31550,0,"r"],[31551,0,"r"],[31552,0,"e"],[31553,0,"n"],[31554,0,"t"],[31555,0," "],[31556,0,"e"],[31557,0,"d"],[31558,0,"i"],[31559,0,"t"],[31560,0,"s"],[31561,0," "],[31562,0,"w"],[31563,0,"i"],[31564,0,"t"],[31565,0,"h"],[31566,0,"i"],[31567,0,"n"],[31568,0," "],[31569,0,"t"],[31570,0,"h"],[31571,0,"a"],[31572,0,"t"],[31573,0," "],[31574,0,"s"],[31575,0,"u"],[31576,0,"b"],[31577,0,"t"],[31578,0,"r"],[31579,0,"e"],[31580,0,"e"],[31581,0,"."],[31582,0," "],[31583,0,"I"],[31584,0,"n"],[31585,0," "],[31586,0,"t"],[31587,0,"h"],[31588,0,"i"],[31589,0,"s"],[31590,0," "],[31591,0,"c"],[31592,0,"a"],[31593,0,"s"],[31594,0,"e"],[31595,0,","],[31596,0," "],[31597,0,"t"],[31598,0,"h"],[31599,0,"a"],[31600,0,"t"],[31601,0," "],[31602,0,"w"],[31603,0,"o"],[31604,0,"u"],[31605,0,"l"],[31606,0,"d"],[31607,0," "],[31608,0,"m"],[31609,0,"e"],[31610,0,"a"],[31611,0,"n"],[31612,0," "],[31613,0,"t"],[31614,0,"h"],[31615,0,"e"],[31616,0," "],[31617,0,"a"],[31618,0,"d"],[31619,0,"d"],[31620,0,"i"],[31621,0,"t"],[31622,0,"i"],[31623,0,"o"],[31624,0,"n"],[31625,0," "],[31626,0,"o"],[31627,0,"f"],[31628,0," "],[31629,0,"`"],[31630,0,"`"],[31631,0,"r"],[31632,0,"e"],[31633,0,"d"],[31634,0,"'"],[31635,0,"'"],[31636,0," "],[31637,0,"w"],[31638,0,"o"],[31639,0,"u"],[31640,0,"l"],[31641,0,"d"],[31642,0," "],[31643,0,"b"],[31644,0,"e"],[31645,0," "],[31646,0,"d"],[31647,0,"i"],[31648,0,"s"],[31649,0,"c"],[31650,0,"a"],[31651,0,"r"],[31652,0,"d"],[31653,0,"e"],[31654,0,"d"],[31655,0,","],[31656,0," "],[31657,0,"s"],[31658,0,"i"],[31659,0,"n"],[31660,0,"c"],[31661,0,"e"],[31662,0," "],[31663,0,"i"],[31664,0,"t"],[31665,0," "],[31666,0,"w"],[31667,0,"o"],[31668,0,"u"],[31669,0,"l"],[31670,0,"d"],[31671,0," "],[31672,0,"b"],[31673,0,"e"],[31674,0," "],[31675,0,"o"],[31676,0,"v"],[31677,0,"e"],[31678,0,"r"],[31679,0,"r"],[31680,0,"i"],[31681,0,"d"],[31682,0,"d"],[31683,0,"e"],[31684,0,"n"],[31685,0," "],[31686,0,"b"],[31687,0,"y"],[31688,0," "],[31689,0,"t"],[31690,0,"h"],[31691,0,"e"],[31692,0," "],[31693,0,"b"],[31694,0,"l"],[31695,0,"a"],[31696,0,"n"],[31697,0,"k"],[31698,0,"i"],[31699,0,"n"],[31700,0,"g"],[31701,0,"-"],[31702,0,"o"],[31703,0,"u"],[31704,0,"t"],[31705,0," "],[31706,0,"o"],[31707,0,"f"],[31708,0," "],[31709,0,"t"],[31710,0,"h"],[31711,0,"e"],[31712,0," "],[31713,0,"e"],[31714,0,"n"],[31715,0,"t"],[31716,0,"i"],[31717,0,"r"],[31718,0,"e"],[31719,0," "],[31720,0,"m"],[31721,0,"a"],[31722,0,"p"],[31723,0," "],[31724,0,"o"],[31725,0,"f"],[31726,0," "],[31727,0,"c"],[31728,0,"o"],[31729,0,"l"],[31730,0,"o"],[31731,0,"r"],[31732,0,"s"],[31733,0,"."],[31734,0," "],[31735,0,"H"],[31736,0,"o"],[31737,0,"w"],[31738,0,"e"],[31739,0,"v"],[31740,0,"e"],[31741,0,"r"],[31742,0,","],[31743,0," "],[31744,0,"t"],[31745,0,"h"],[31746,0,"a"],[31747,0,"t"],[31748,0," "],[31749,0,"b"],[31750,0,"e"],[31751,0,"h"],[31752,0,"a"],[31753,0,"v"],[31754,0,"i"],[31755,0,"o"],[31756,0,"r"],[31757,0," "],[31758,0,"w"],[31759,0,"o"],[31760,0,"u"],[31761,0,"l"],[31762,0,"d"],[31763,0," "],[31764,0,"n"],[31765,0,"o"],[31766,0,"t"],[31767,0," "],[31768,0,"m"],[31769,0,"e"],[31770,0,"e"],[31771,0,"t"],[31772,0," "],[31773,0,"o"],[31774,0,"u"],[31775,0,"r"],[31776,0," "],[31777,0,"r"],[31778,0,"e"],[31779,0,"q"],[31780,0,"u"],[31781,0,"i"],[31782,0,"r"],[31783,0,"e"],[31784,0,"m"],[31785,0,"e"],[31786,0,"n"],[31787,0,"t"],[31788,0," "],[31789,0,"t"],[31790,0,"h"],[31791,0,"a"],[31792,0,"t"],[31793,0," "],[31771,1],[31770,1],[31769,1],[31768,1],[31767,1],[31766,1],[31765,1],[31764,1],[31764,0,"v"],[31765,0,"i"],[31766,0,"o"],[31767,0,"l"],[31768,0,"a"],[31769,0,"t"],[31770,0,"e"],[31793,0,"n"],[31794,0,"o"],[31795,0," "],[31796,0,"u"],[31797,0,"s"],[31798,0,"e"],[31799,0,"r"],[31800,0," "],[31801,0,"i"],[31802,0,"n"],[31803,0,"p"],[31804,0,"u"],[31805,0,"t"],[31806,0," "],[31807,0,"s"],[31808,0,"h"],[31809,0,"o"],[31810,0,"u"],[31811,0,"l"],[31812,0,"d"],[31813,0," "],[31814,0,"b"],[31815,0,"e"],[31816,0," "],[31817,0,"l"],[31818,0,"o"],[31819,0,"s"],[31820,0,"t"],[31821,0," "],[31822,0,"d"],[31823,0,"u"],[31824,0,"e"],[31825,0," "],[31826,0,"t"],[31827,0,"o"],[31828,0," "],[31829,0,"c"],[31830,0,"o"],[31831,0,"n"],[31832,0,"c"],[31833,0,"u"],[31834,0,"r"],[31835,0,"r"],[31836,0,"e"],[31837,0,"n"],[31838,0,"t"],[31839,0," "],[31840,0,"m"],[31841,0,"o"],[31842,0,"d"],[31843,0,"i"],[31844,0,"f"],[31845,0,"i"],[31846,0,"c"],[31847,0,"a"],[31848,0,"t"],[31849,0,"i"],[31850,0,"o"],[31851,0,"n"],[31852,0,"s"],[31853,0,"."],[31854,0," "],[31855,0,"I"],[31856,0,"n"],[31857,0,"s"],[31858,0,"t"],[31859,0,"e"],[31860,0,"a"],[31861,0,"d"],[31862,0,","],[31863,0," "],[31864,0,"w"],[31865,0,"e"],[31866,0," "],[31867,0,"e"],[31867,1],[31867,0,"d"],[31868,0,"e"],[31869,0,"f"],[31870,0,"i"],[31871,0,"n"],[31872,0,"e"],[31873,0," "],[31874,0,"m"],[31875,0,"e"],[31876,0,"r"],[31877,0,"g"],[31878,0,"e"],[31879,0," "],[31880,0,"s"],[31881,0,"e"],[31882,0,"m"],[31883,0,"a"],[31884,0,"n"],[31885,0,"t"],[31886,0,"i"],[31887,0,"c"],[31888,0,"s"],[31889,0," "],[31890,0,"t"],[31891,0,"h"],[31892,0,"a"],[31893,0,"t"],[31894,0," "],[31895,0,"p"],[31896,0,"r"],[31897,0,"e"],[31898,0,"s"],[31899,0,"e"],[31900,0,"r"],[31901,0,"v"],[31902,0,"e"],[31903,0," "],[31904,0,"a"],[31905,0,"l"],[31906,0,"l"],[31907,0," "],[31908,0,"c"],[31909,0,"h"],[31910,0,"a"],[31911,0,"n"],[31912,0,"g"],[31913,0,"e"],[31914,0,"s"],[31915,0,","],[31916,0," "],[31917,0,"a"],[31918,0,"s"],[31919,0," "],[31920,0,"s"],[31921,0,"h"],[31922,0,"o"],[31923,0,"w"],[31924,0,"n"],[31925,0," "],[31926,0,"i"],[31927,0,"n"],[31928,0," "],[31929,0,"F"],[31930,0,"i"],[31931,0,"g"],[31932,0,"u"],[31933,0,"r"],[31934,0,"e"],[31935,0,"~"],[31936,0,"\\"],[31937,0,"r"],[31938,0,"e"],[31939,0,"f"],[31940,0,"{"],[31941,0,"f"],[31942,0,"i"],[31943,0,"g"],[31944,0,":"],[31945,0,"m"],[31946,0,"a"],[31947,0,"p"],[31948,0,"-"],[31949,0,"r"],[31950,0,"e"],[31951,0,"m"],[31952,0,"o"],[31953,0,"v"],[31954,0,"e"],[31955,0,"}"],[31956,0,":"],[31957,0," "],[31958,0,"`"],[31959,0,"`"],[31960,0,"b"],[31961,0,"l"],[31962,0,"u"],[31963,0,"e"],[31964,0,"'"],[31965,0,"'"],[31966,0," "],[31967,0,"m"],[31968,0,"u"],[31969,0,"s"],[31970,0,"t"],[31971,0," "],[31972,0,"b"],[31973,0,"e"],[31974,0," "],[31975,0,"a"],[31976,0,"b"],[31977,0,"s"],[31978,0,"e"],[31979,0,"n"],[31980,0,"t"],[31981,0," "],[31982,0,"f"],[31983,0,"r"],[31984,0,"o"],[31985,0,"m"],[31986,0," "],[31987,0,"t"],[31988,0,"h"],[31989,0,"e"],[31990,0," "],[31991,0,"f"],[31992,0,"i"],[31993,0,"n"],[31994,0,"a"],[31995,0,"l"],[31996,0," "],[31997,0,"m"],[31998,0,"a"],[31999,0,"p"],[32000,0,","],[32001,0," "],[32002,0,"s"],[32003,0,"i"],[32004,0,"n"],[32005,0,"c"],[32006,0,"e"],[32007,0," "],[32008,0,"i"],[32009,0,"t"],[32010,0," "],[32011,0,"w"],[32012,0,"a"],[32013,0,"s"],[32014,0," "],[32015,0,"r"],[32016,0,"e"],[32017,0,"m"],[32018,0,"o"],[32019,0,"v"],[32020,0,"e"],[32021,0,"d"],[32022,0," "],[32023,0,"b"],[32024,0,"y"],[32025,0," "],[32026,0,"b"],[32027,0,"l"],[32028,0,"a"],[32029,0,"n"],[32030,0,"k"],[32031,0,"i"],[32032,0,"n"],[32033,0,"g"],[32034,0," "],[32035,0,"o"],[32036,0,"u"],[32037,0,"t"],[32038,0," "],[32039,0,"t"],[32040,0,"h"],[32041,0,"e"],[32042,0," "],[32043,0,"m"],[32044,0,"a"],[32045,0,"p"],[32046,0,","],[32047,0," "],[32048,0,"w"],[32049,0,"h"],[32050,0,"i"],[32051,0,"l"],[32052,0,"e"],[32053,0," "],[32054,0,"`"],[32055,0,"`"],[32056,0,"r"],[32057,0,"e"],[32058,0,"d"],[32059,0,"'"],[32060,0,"'"],[32061,0," "],[32062,0,"a"],[32063,0,"n"],[32064,0,"d"],[32065,0," "],[32066,0,"`"],[32067,0,"`"],[32068,0,"g"],[32069,0,"r"],[32070,0,"e"],[32071,0,"e"],[32072,0,"n"],[32073,0,"'"],[32074,0,"'"],[32075,0," "],[32076,0,"m"],[32077,0,"u"],[32078,0,"s"],[32079,0,"t"],[32080,0," "],[32081,0,"b"],[32082,0,"e"],[32083,0," "],[32084,0,"p"],[32085,0,"r"],[32086,0,"e"],[32087,0,"s"],[32088,0,"e"],[32089,0,"n"],[32090,0,"t"],[32091,0," "],[32091,1],[32091,0,","],[32092,0," "],[32093,0,"s"],[32094,0,"i"],[32095,0,"n"],[32096,0,"c"],[32097,0,"e"],[32098,0," "],[32099,0,"t"],[32100,0,"h"],[32101,0,"e"],[32102,0,"y"],[32103,0," "],[32104,0,"w"],[32105,0,"e"],[32106,0,"r"],[32107,0,"e"],[32108,0," "],[32109,0,"e"],[32110,0,"x"],[32111,0,"p"],[32112,0,"l"],[32113,0,"i"],[32114,0,"c"],[32115,0,"i"],[32116,0,"t"],[32117,0,"l"],[32118,0,"y"],[32119,0," "],[32120,0,"a"],[32121,0,"d"],[32122,0,"d"],[32123,0,"e"],[32124,0,"d"],[32125,0,"."],[32126,0," "],[32127,0,"T"],[32128,0,"h"],[32129,0,"i"],[32130,0,"s"],[32131,0," "],[32132,0,"b"],[32133,0,"e"],[32134,0,"h"],[32135,0,"a"],[32136,0,"v"],[32137,0,"i"],[32138,0,"o"],[32139,0,"r"],[32140,0," "],[32141,0,"m"],[32142,0,"a"],[32143,0,"t"],[32144,0,"c"],[32145,0,"h"],[32146,0,"e"],[32147,0,"s"],[32148,0," "],[32149,0,"t"],[32150,0,"h"],[32151,0,"a"],[32152,0,"t"],[32153,0," "],[32154,0,"o"],[32155,0,"f"],[32156,0," "],[32157,0,"C"],[32158,0,"R"],[32159,0,"D"],[32160,0,"T"],[32161,0," "],[32162,0,"m"],[32163,0,"a"],[32164,0,"p"],[32165,0,"s"],[32166,0," "],[32167,0,"i"],[32168,0,"n"],[32169,0," "],[32170,0,"R"],[32171,0,"i"],[32172,0,"a"],[32173,0,"k"],[32174,0,"~"],[32175,0,"\\"],[32176,0,"c"],[32177,0,"i"],[32178,0,"t"],[32179,0,"e"],[32180,0,"{"],[32181,0,"B"],[32182,0,"r"],[32183,0,"o"],[32184,0,"w"],[32185,0,"n"],[32186,0,":"],[32187,0,"2"],[32188,0,"0"],[32189,0,"1"],[32190,0,"4"],[32191,0,"h"],[32192,0,"s"],[32193,0,","],[32194,0,"B"],[32195,0,"r"],[32196,0,"o"],[32197,0,"w"],[32198,0,"n"],[32199,0,":"],[32200,0,"2"],[32201,0,"0"],[32202,0,"1"],[32203,0,"3"],[32204,0,"w"],[32205,0,"y"],[32206,0,"}"],[32207,0,"."],[24284,1],[24283,1],[24282,1],[24281,1],[24280,1],[24279,1],[24278,1],[24277,1],[24276,1],[24275,1],[24274,1],[24273,1],[24272,1],[24271,1],[24270,1],[24269,1],[24268,1],[24267,1],[24266,1],[24265,1],[24264,1],[24263,1],[24262,1],[24261,1],[24260,1],[24259,1],[24258,1],[24257,1],[24256,1],[24255,1],[24254,1],[24253,1],[24252,1],[24251,1],[24250,1],[24249,1],[24248,1],[24247,1],[24246,1],[24245,1],[24244,1],[24243,1],[24242,1],[24241,1],[24240,1],[24239,1],[24238,1],[24237,1],[24236,1],[24235,1],[24234,1],[24233,1],[24232,1],[24231,1],[24230,1],[24229,1],[24228,1],[24227,1],[24226,1],[24225,1],[24224,1],[24223,1],[24222,1],[24221,1],[24220,1],[24219,1],[24218,1],[24217,1],[24216,1],[24215,1],[24214,1],[24213,1],[24212,1],[24211,1],[24210,1],[24209,1],[24208,1],[24207,1],[24206,1],[24205,1],[24204,1],[24203,1],[24202,1],[24201,1],[24200,1],[24199,1],[24198,1],[24197,1],[24196,1],[24195,1],[24194,1],[24193,1],[24192,1],[24191,1],[24190,1],[24189,1],[24188,1],[24187,1],[24186,1],[24185,1],[24184,1],[24183,1],[24182,1],[24181,1],[24180,1],[24179,1],[24178,1],[24177,1],[24176,1],[24175,1],[24174,1],[24173,1],[24172,1],[24171,1],[24170,1],[24169,1],[24168,1],[24167,1],[24166,1],[24165,1],[24164,1],[24163,1],[24162,1],[24161,1],[24160,1],[24159,1],[24158,1],[24157,1],[24156,1],[24155,1],[24154,1],[24153,1],[24152,1],[24151,1],[24150,1],[24149,1],[24148,1],[24147,1],[24146,1],[24145,1],[24144,1],[24143,1],[24142,1],[24141,1],[24140,1],[24139,1],[24138,1],[24137,1],[24136,1],[24135,1],[24134,1],[24133,1],[24132,1],[24131,1],[24130,1],[24129,1],[24128,1],[24127,1],[24126,1],[24125,1],[24124,1],[24123,1],[24122,1],[24121,1],[24120,1],[24119,1],[24118,1],[24117,1],[24116,1],[24115,1],[24114,1],[24113,1],[24112,1],[24111,1],[24110,1],[24109,1],[24108,1],[24107,1],[24106,1],[24105,1],[24104,1],[24103,1],[24102,1],[24101,1],[24100,1],[24099,1],[24098,1],[24097,1],[24096,1],[24095,1],[24094,1],[24093,1],[24092,1],[24091,1],[24090,1],[24089,1],[24088,1],[24087,1],[24086,1],[24085,1],[24084,1],[24083,1],[24082,1],[24081,1],[24080,1],[24079,1],[24078,1],[24077,1],[24076,1],[24075,1],[24074,1],[24073,1],[24072,1],[24071,1],[24070,1],[24069,1],[24068,1],[24067,1],[24066,1],[24065,1],[24064,1],[24063,1],[24062,1],[24061,1],[24060,1],[24059,1],[24058,1],[24057,1],[24056,1],[24055,1],[24054,1],[24053,1],[24052,1],[24051,1],[24050,1],[24049,1],[24048,1],[24047,1],[24046,1],[24045,1],[24044,1],[24043,1],[24042,1],[24041,1],[24040,1],[24039,1],[24038,1],[24037,1],[24036,1],[24035,1],[24034,1],[24033,1],[24032,1],[24031,1],[24030,1],[24029,1],[24028,1],[24027,1],[24026,1],[24025,1],[24024,1],[24023,1],[24022,1],[24021,1],[24020,1],[24019,1],[24018,1],[24017,1],[24016,1],[24015,1],[24014,1],[24013,1],[24012,1],[24011,1],[24010,1],[24009,1],[24008,1],[24007,1],[24006,1],[24005,1],[24004,1],[24003,1],[24002,1],[24001,1],[24000,1],[23999,1],[23998,1],[23997,1],[23996,1],[23995,1],[23994,1],[23993,1],[23992,1],[23991,1],[23990,1],[23989,1],[23988,1],[23987,1],[23986,1],[23985,1],[23984,1],[23983,1],[23982,1],[23981,1],[23980,1],[23979,1],[23978,1],[23977,1],[23976,1],[23975,1],[23974,1],[23973,1],[23972,1],[23971,1],[23970,1],[23969,1],[23968,1],[23967,1],[23966,1],[23965,1],[23964,1],[23963,1],[23962,1],[23961,1],[23960,1],[23959,1],[23958,1],[23957,1],[23956,1],[23955,1],[23954,1],[23953,1],[23952,1],[23951,1],[23950,1],[23949,1],[23948,1],[23947,1],[23946,1],[23945,1],[23944,1],[23943,1],[23942,1],[23941,1],[23940,1],[23939,1],[23938,1],[23937,1],[23936,1],[23935,1],[23934,1],[23933,1],[23932,1],[23931,1],[23930,1],[23929,1],[23928,1],[23927,1],[23926,1],[23925,1],[23924,1],[23923,1],[23922,1],[23921,1],[23920,1],[23919,1],[23918,1],[23917,1],[23916,1],[23915,1],[23914,1],[23913,1],[23912,1],[23911,1],[23910,1],[23909,1],[23908,1],[23907,1],[23906,1],[23905,1],[23904,1],[23903,1],[23902,1],[23901,1],[23900,1],[23899,1],[23898,1],[23897,1],[23896,1],[23895,1],[23894,1],[23893,1],[23892,1],[23891,1],[23890,1],[23889,1],[23888,1],[23887,1],[23886,1],[23885,1],[23884,1],[23883,1],[23882,1],[23881,1],[23880,1],[23879,1],[23878,1],[23877,1],[23876,1],[23875,1],[23874,1],[23873,1],[23872,1],[23871,1],[23870,1],[23869,1],[23868,1],[23867,1],[23866,1],[23865,1],[23864,1],[23863,1],[23862,1],[23861,1],[23860,1],[23859,1],[23858,1],[23857,1],[23856,1],[23855,1],[23854,1],[23853,1],[23852,1],[23851,1],[23850,1],[23849,1],[23848,1],[23847,1],[23846,1],[23845,1],[23844,1],[23843,1],[23842,1],[23841,1],[23840,1],[23839,1],[23838,1],[23837,1],[23836,1],[23835,1],[23834,1],[23833,1],[23832,1],[23831,1],[23830,1],[23829,1],[23828,1],[23827,1],[23826,1],[23825,1],[23824,1],[23823,1],[23822,1],[23821,1],[23820,1],[23819,1],[23818,1],[23817,1],[23816,1],[23815,1],[23814,1],[23813,1],[23812,1],[23811,1],[23810,1],[23809,1],[23808,1],[23807,1],[23806,1],[23805,1],[23804,1],[23803,1],[23802,1],[23801,1],[23800,1],[23799,1],[23798,1],[23797,1],[23796,1],[23795,1],[23794,1],[23793,1],[23792,1],[23791,1],[23790,1],[23789,1],[23788,1],[23787,1],[23786,1],[23785,1],[23784,1],[23783,1],[23782,1],[23781,1],[23780,1],[23779,1],[23778,1],[23777,1],[23776,1],[23775,1],[23774,1],[23773,1],[23772,1],[23771,1],[23770,1],[23769,1],[23768,1],[23767,1],[23766,1],[23765,1],[23764,1],[23763,1],[23762,1],[23761,1],[23760,1],[23759,1],[23758,1],[23757,1],[23756,1],[23755,1],[23754,1],[23753,1],[23752,1],[23751,1],[23750,1],[23749,1],[23748,1],[23747,1],[23746,1],[23745,1],[23744,1],[23743,1],[23742,1],[23741,1],[23740,1],[23739,1],[23738,1],[23737,1],[23736,1],[23735,1],[23734,1],[23733,1],[23732,1],[23731,1],[23730,1],[23729,1],[23728,1],[23727,1],[23726,1],[23725,1],[23724,1],[23723,1],[23722,1],[23721,1],[23720,1],[23719,1],[23718,1],[23717,1],[23716,1],[23715,1],[23714,1],[23713,1],[23712,1],[23711,1],[23710,1],[23709,1],[23708,1],[23707,1],[23706,1],[23705,1],[23704,1],[23703,1],[23702,1],[23701,1],[23700,1],[23699,1],[23698,1],[23697,1],[23696,1],[23695,1],[23694,1],[23693,1],[23692,1],[23691,1],[23690,1],[23689,1],[23688,1],[23687,1],[23686,1],[23685,1],[23684,1],[23683,1],[23682,1],[23681,1],[23680,1],[23679,1],[23678,1],[23677,1],[23676,1],[23675,1],[23674,1],[23673,1],[23672,1],[23671,1],[23670,1],[23669,1],[23668,1],[23667,1],[23666,1],[23665,1],[23664,1],[23663,1],[23662,1],[23661,1],[23660,1],[23659,1],[23658,1],[23657,1],[23656,1],[23655,1],[23654,1],[23653,1],[23652,1],[23651,1],[23650,1],[23649,1],[23648,1],[23647,1],[23646,1],[23645,1],[23644,1],[23643,1],[23642,1],[23641,1],[23640,1],[23639,1],[23638,1],[23637,1],[23636,1],[23635,1],[23634,1],[23633,1],[23632,1],[23631,1],[23630,1],[23629,1],[23628,1],[23627,1],[23626,1],[23625,1],[23624,1],[23623,1],[23622,1],[23621,1],[23620,1],[23619,1],[23618,1],[23617,1],[23616,1],[23615,1],[23614,1],[23613,1],[23612,1],[23611,1],[23610,1],[23609,1],[23608,1],[23607,1],[23606,1],[23605,1],[23604,1],[23603,1],[23602,1],[23601,1],[23600,1],[23599,1],[23598,1],[23597,1],[23596,1],[23595,1],[23594,1],[23593,1],[23592,1],[23591,1],[23590,1],[23589,1],[23588,1],[23587,1],[23586,1],[23585,1],[23584,1],[23583,1],[23582,1],[23581,1],[23580,1],[23579,1],[23578,1],[23577,1],[23576,1],[23575,1],[23574,1],[23573,1],[23572,1],[23571,1],[23570,1],[23569,1],[23568,1],[23567,1],[23566,1],[23565,1],[23564,1],[23563,1],[23562,1],[23561,1],[23560,1],[23559,1],[23558,1],[23557,1],[23556,1],[23555,1],[23554,1],[23553,1],[23552,1],[23551,1],[23550,1],[23549,1],[23548,1],[23547,1],[23546,1],[23545,1],[23544,1],[23543,1],[23542,1],[23541,1],[23540,1],[23539,1],[23538,1],[23537,1],[23536,1],[23535,1],[23534,1],[23533,1],[23532,1],[23531,1],[23530,1],[23529,1],[23528,1],[23527,1],[23526,1],[23525,1],[23524,1],[23523,1],[23522,1],[23521,1],[23520,1],[23519,1],[23518,1],[23517,1],[23516,1],[23515,1],[23514,1],[23513,1],[23512,1],[23511,1],[23510,1],[23509,1],[23508,1],[23507,1],[23506,1],[23505,1],[23504,1],[23503,1],[23502,1],[23501,1],[23500,1],[23499,1],[23498,1],[23497,1],[23496,1],[23495,1],[23494,1],[23493,1],[23492,1],[23491,1],[23490,1],[23489,1],[23488,1],[23487,1],[23486,1],[23485,1],[23484,1],[23483,1],[23482,1],[23481,1],[23480,1],[23479,1],[23478,1],[23477,1],[23476,1],[23475,1],[23474,1],[23473,1],[23472,1],[23471,1],[23470,1],[23469,1],[23468,1],[23467,1],[23466,1],[23465,1],[23464,1],[23463,1],[23462,1],[23461,1],[23460,1],[23459,1],[23458,1],[23457,1],[23456,1],[23455,1],[23454,1],[23453,1],[23452,1],[23451,1],[23450,1],[23449,1],[23448,1],[23447,1],[23446,1],[23445,1],[23444,1],[23443,1],[23442,1],[23441,1],[23440,1],[23439,1],[23438,1],[23437,1],[23436,1],[23435,1],[23434,1],[23433,1],[23432,1],[23431,1],[23430,1],[23429,1],[23428,1],[23427,1],[23426,1],[23425,1],[23424,1],[23423,1],[23422,1],[23421,1],[23420,1],[23419,1],[23418,1],[23417,1],[23416,1],[23415,1],[23414,1],[23413,1],[23412,1],[23411,1],[23410,1],[23409,1],[23408,1],[23407,1],[23406,1],[23405,1],[23404,1],[23403,1],[23402,1],[23401,1],[23400,1],[23399,1],[23398,1],[23397,1],[23396,1],[23395,1],[23394,1],[23393,1],[23392,1],[23391,1],[23390,1],[23389,1],[23388,1],[23387,1],[23386,1],[23385,1],[23384,1],[23383,1],[23382,1],[23381,1],[23380,1],[23379,1],[23378,1],[23377,1],[23376,1],[23375,1],[23374,1],[23373,1],[23372,1],[23371,1],[23370,1],[23369,1],[23368,1],[23367,1],[23366,1],[23365,1],[23364,1],[23363,1],[23362,1],[23361,1],[23360,1],[23359,1],[23358,1],[23357,1],[23356,1],[23355,1],[23354,1],[23353,1],[23352,1],[23351,1],[23350,1],[23349,1],[23348,1],[23347,1],[23346,1],[23345,1],[23344,1],[23343,1],[23342,1],[23341,1],[23340,1],[23339,1],[23338,1],[23337,1],[23336,1],[23335,1],[23334,1],[23333,1],[23332,1],[23331,1],[23330,1],[23329,1],[23328,1],[23327,1],[23326,1],[23325,1],[23324,1],[23323,1],[23322,1],[23321,1],[23320,1],[23319,1],[23318,1],[23317,1],[23316,1],[23315,1],[23314,1],[23313,1],[23312,1],[23311,1],[23310,1],[23309,1],[23308,1],[23307,1],[23306,1],[23305,1],[23304,1],[23303,1],[23302,1],[23301,1],[23300,1],[23299,1],[23298,1],[23297,1],[23296,1],[23295,1],[23294,1],[23293,1],[23292,1],[23291,1],[23290,1],[23289,1],[23288,1],[23287,1],[23286,1],[23285,1],[23284,1],[23283,1],[23282,1],[23281,1],[23280,1],[23279,1],[23278,1],[23277,1],[23276,1],[23275,1],[23274,1],[23273,1],[23272,1],[23271,1],[23270,1],[23269,1],[23268,1],[23267,1],[23266,1],[23265,1],[23264,1],[23263,1],[23262,1],[23261,1],[23260,1],[23259,1],[23258,1],[23257,1],[23256,1],[23255,1],[23254,1],[23253,1],[23252,1],[23251,1],[23250,1],[23249,1],[23248,1],[23247,1],[23246,1],[23245,1],[23244,1],[23243,1],[23242,1],[23241,1],[23240,1],[23239,1],[23238,1],[23237,1],[23236,1],[23235,1],[23234,1],[23233,1],[23232,1],[23231,1],[23230,1],[23229,1],[23228,1],[23227,1],[23226,1],[23225,1],[23224,1],[23223,1],[23222,1],[23221,1],[23220,1],[23219,1],[23218,1],[23217,1],[23216,1],[23215,1],[23214,1],[23213,1],[23212,1],[23211,1],[23210,1],[23209,1],[23208,1],[23207,1],[23206,1],[23205,1],[23204,1],[23203,1],[23202,1],[23201,1],[23200,1],[23199,1],[23198,1],[23197,1],[23196,1],[23195,1],[23194,1],[23193,1],[23192,1],[23191,1],[23190,1],[23189,1],[23188,1],[23187,1],[23186,1],[23185,1],[23184,1],[23183,1],[23182,1],[23181,1],[23180,1],[23179,1],[23178,1],[23177,1],[23176,1],[23175,1],[23174,1],[23173,1],[23172,1],[23171,1],[23170,1],[23169,1],[23168,1],[23167,1],[23166,1],[23165,1],[23164,1],[23163,1],[23162,1],[23161,1],[23160,1],[23159,1],[23158,1],[23157,1],[23156,1],[23155,1],[23154,1],[23153,1],[23152,1],[23151,1],[23150,1],[23149,1],[23148,1],[23147,1],[23146,1],[23145,1],[23144,1],[23143,1],[23142,1],[23141,1],[23140,1],[23139,1],[23138,1],[23137,1],[23136,1],[23135,1],[23134,1],[23133,1],[23132,1],[23131,1],[23130,1],[23129,1],[23128,1],[23127,1],[23126,1],[23125,1],[23124,1],[23123,1],[23122,1],[23121,1],[23120,1],[23119,1],[23118,1],[23117,1],[23116,1],[23115,1],[23114,1],[23113,1],[23112,1],[23111,1],[23110,1],[23109,1],[23108,1],[23107,1],[23106,1],[23105,1],[23104,1],[23103,1],[23102,1],[23101,1],[23100,1],[23099,1],[23098,1],[23097,1],[23096,1],[23095,1],[23094,1],[23093,1],[23092,1],[23091,1],[23090,1],[23089,1],[23088,1],[23087,1],[23086,1],[23085,1],[23084,1],[23083,1],[23082,1],[23081,1],[23080,1],[23079,1],[23078,1],[23077,1],[23076,1],[23075,1],[23074,1],[23073,1],[23072,1],[23071,1],[23070,1],[23069,1],[23068,1],[23067,1],[23066,1],[23065,1],[23064,1],[23063,1],[23062,1],[23061,1],[23060,1],[23059,1],[23058,1],[23057,1],[23056,1],[23055,1],[23054,1],[23053,1],[23052,1],[23051,1],[23050,1],[23049,1],[23048,1],[23047,1],[23046,1],[23045,1],[23044,1],[23043,1],[23042,1],[23041,1],[23040,1],[23039,1],[23038,1],[23037,1],[23036,1],[23035,1],[23034,1],[23033,1],[23032,1],[23031,1],[23030,1],[23029,1],[23028,1],[23027,1],[23026,1],[23025,1],[23024,1],[23023,1],[23022,1],[23021,1],[23020,1],[23019,1],[23018,1],[23017,1],[23016,1],[23015,1],[23014,1],[23013,1],[23012,1],[23011,1],[23010,1],[23009,1],[23008,1],[23007,1],[23006,1],[23005,1],[23004,1],[23003,1],[23002,1],[23001,1],[23000,1],[22999,1],[22998,1],[22997,1],[22996,1],[22995,1],[22994,1],[22993,1],[22992,1],[22991,1],[22990,1],[22989,1],[22988,1],[22987,1],[22986,1],[22985,1],[22984,1],[22983,1],[22982,1],[22981,1],[22980,1],[22979,1],[22978,1],[22977,1],[22976,1],[22975,1],[22974,1],[22973,1],[22972,1],[22971,1],[22970,1],[22969,1],[22968,1],[22967,1],[22966,1],[22965,1],[22964,1],[22963,1],[22962,1],[22961,1],[22960,1],[22959,1],[22958,1],[22957,1],[22956,1],[22955,1],[22954,1],[22953,1],[22952,1],[22951,1],[22950,1],[22949,1],[22948,1],[22947,1],[22946,1],[22945,1],[22944,1],[22943,1],[22942,1],[22941,1],[22940,1],[22939,1],[22938,1],[22937,1],[22936,1],[22935,1],[22934,1],[22933,1],[22932,1],[22931,1],[22930,1],[22929,1],[22928,1],[22927,1],[22926,1],[22925,1],[22924,1],[22923,1],[22922,1],[22921,1],[22920,1],[22919,1],[22918,1],[22917,1],[22916,1],[22915,1],[22914,1],[22913,1],[19536,1],[19535,1],[19534,1],[19533,1],[19582,0,","],[19583,0," "],[19584,0,"a"],[19585,0,"n"],[19586,0,"d"],[19587,0," "],[19588,0,"e"],[19589,0,"x"],[19590,0,"p"],[19591,0,"l"],[19592,0,"a"],[19593,0,"i"],[19594,0,"n"],[19595,0," "],[19596,0,"t"],[19597,0,"h"],[19598,0,"e"],[19599,0," "],[19600,0,"r"],[19601,0,"a"],[19602,0,"t"],[19603,0,"i"],[19604,0,"o"],[19605,0,"n"],[19606,0,"a"],[19607,0,"l"],[19608,0,"e"],[19609,0," "],[19610,0,"f"],[19611,0,"o"],[19612,0,"r"],[19613,0," "],[19614,0,"o"],[19615,0,"u"],[19616,0,"r"],[19617,0," "],[19618,0,"d"],[19619,0,"e"],[19620,0,"s"],[19621,0,"i"],[19622,0,"g"],[19623,0,"n"],[19624,0," "],[19625,0,"d"],[19626,0,"e"],[19627,0,"c"],[19628,0,"i"],[19629,0,"s"],[19630,0,"i"],[19631,0,"o"],[19632,0,"n"],[19633,0,"s"],[30884,0,"\n"],[30885,0,"\n"],[30886,0,"F"],[30887,0,"i"],[30888,0,"g"],[30889,0,"u"],[30890,0,"r"],[30891,0,"e"],[30892,0,"~"],[30893,0,"\\"],[30894,0,"r"],[30895,0,"e"],[30896,0,"f"],[30897,0,"{"],[30898,0,"f"],[30899,0,"i"],[30900,0,"g"],[30901,0,":"],[30902,0,"t"],[30903,0,"w"],[30904,0,"o"],[30905,0,"-"],[30906,0,"l"],[30907,0,"i"],[30908,0,"s"],[30909,0,"t"],[30910,0,"s"],[30911,0,"}"],[30912,0," "],[30913,0,"i"],[30914,0,"l"],[30915,0,"l"],[30916,0,"u"],[30917,0,"s"],[30918,0,"t"],[30919,0,"r"],[30920,0,"a"],[30921,0,"t"],[30922,0,"e"],[30923,0,"s"],[30924,0," "],[30925,0,"a"],[30926,0,"n"],[30927,0,"o"],[30928,0,"t"],[30929,0,"h"],[30930,0,"e"],[30931,0,"r"],[30932,0," "],[30933,0,"p"],[30934,0,"r"],[30935,0,"o"],[30936,0,"b"],[30937,0,"l"],[30938,0,"e"],[30939,0,"m"],[30940,0," "],[30941,0,"w"],[30942,0,"i"],[30943,0,"t"],[30944,0,"h"],[30945,0," "],[30946,0,"m"],[30947,0,"a"],[30948,0,"p"],[30949,0,"s"],[30950,0,":"],[30951,0," "],[30952,0,"t"],[30953,0,"w"],[30954,0,"o"],[30955,0," "],[30956,0,"r"],[30957,0,"e"],[30958,0,"p"],[30959,0,"l"],[30960,0,"i"],[30961,0,"c"],[30962,0,"a"],[30963,0,"s"],[30964,0," "],[30965,0,"c"],[30966,0,"a"],[30967,0,"n"],[30968,0," "],[30969,0,"c"],[30970,0,"o"],[30971,0,"n"],[30972,0,"c"],[30973,0,"u"],[30974,0,"r"],[30975,0,"r"],[30976,0,"e"],[30977,0,"n"],[30978,0,"t"],[30979,0,"l"],[30980,0,"y"],[30981,0," "],[30982,0,"i"],[30983,0,"n"],[30984,0,"s"],[30985,0,"e"],[30986,0,"r"],[30987,0,"t"],[30988,0," "],[30989,0,"t"],[30990,0,"h"],[30991,0,"e"],[30992,0," "],[30993,0,"s"],[30994,0,"a"],[30995,0,"m"],[30996,0,"e"],[30997,0," "],[30998,0,"m"],[30999,0,"a"],[31000,0,"p"],[31001,0," "],[31002,0,"k"],[31003,0,"e"],[31004,0,"y"],[31005,0,"."],[31006,0," "],[31007,0,"H"],[31008,0,"e"],[31009,0,"r"],[31010,0,"e"],[31011,0,","],[31012,0," "],[31013,0,"$"],[31014,0,"p"],[31015,0,"$"],[31016,0," "],[31017,0,"a"],[31018,0,"n"],[31019,0,"d"],[31020,0," "],[31021,0,"$"],[31022,0,"q"],[31023,0,"$"],[31024,0," "],[31025,0,"e"],[31026,0,"a"],[31027,0,"c"],[31028,0,"h"],[31029,0," "],[31030,0,"i"],[31031,0,"n"],[31032,0,"d"],[31033,0,"e"],[31034,0,"p"],[31035,0,"e"],[31036,0,"n"],[31037,0,"d"],[31038,0,"e"],[31039,0,"n"],[31040,0,"t"],[31041,0,"l"],[31042,0,"y"],[31043,0," "],[31044,0,"c"],[31045,0,"r"],[31046,0,"e"],[31047,0,"a"],[31048,0,"t"],[31049,0,"e"],[31050,0," "],[31051,0,"a"],[31052,0," "],[31053,0,"n"],[31054,0,"e"],[31055,0,"w"],[31056,0," "],[31057,0,"s"],[31058,0,"h"],[31059,0,"o"],[31060,0,"p"],[31061,0,"p"],[31062,0,"i"],[31063,0,"n"],[31064,0,"g"],[31065,0," "],[31066,0,"l"],[31067,0,"i"],[31068,0,"s"],[31069,0,"t"],[31070,0," "],[31071,0,"u"],[31072,0,"n"],[31073,0,"d"],[31074,0,"e"],[31075,0,"r"],[31076,0," "],[31077,0,"t"],[31078,0,"h"],[31079,0,"e"],[31080,0," "],[31081,0,"s"],[31082,0,"a"],[31083,0,"m"],[31084,0,"e"],[31085,0," "],[31086,0,"m"],[31087,0,"a"],[31088,0,"p"],[31089,0," "],[31090,0,"k"],[31091,0,"e"],[31092,0,"y"],[31093,0," "],[31094,0,"`"],[31095,0,"`"],[31096,0,"g"],[31097,0,"r"],[31098,0,"o"],[31099,0,"c"],[31100,0,"e"],[31101,0,"r"],[31102,0,"y"],[31103,0,"'"],[31104,0,"'"],[31105,0,","],[31106,0," "],[31107,0,"a"],[31108,0,"n"],[31109,0,"d"],[31110,0," "],[31111,0,"a"],[31112,0,"d"],[31113,0,"d"],[31114,0," "],[31115,0,"i"],[31116,0,"t"],[31117,0,"e"],[31118,0,"m"],[31119,0,"s"],[31120,0," "],[31121,0,"t"],[31122,0,"o"],[31123,0," "],[31124,0,"t"],[31125,0,"h"],[31126,0,"e"],[31127,0," "],[31128,0,"l"],[31129,0,"i"],[31130,0,"s"],[31131,0,"t"],[31132,0,"."],[31133,0," "],[31134,0,"I"],[31135,0,"n"],[31136,0," "],[31137,0,"t"],[31138,0,"h"],[31139,0,"e"],[31140,0," "],[31141,0,"c"],[31142,0,"a"],[31143,0,"s"],[31144,0,"e"],[31145,0," "],[31146,0,"o"],[31147,0,"f"],[31148,0," "],[31149,0,"F"],[31150,0,"i"],[31151,0,"g"],[31152,0,"u"],[31153,0,"r"],[31154,0,"e"],[31155,0,"~"],[31156,0,"\\"],[31157,0,"r"],[31158,0,"e"],[31159,0,"f"],[31160,0,"{"],[31161,0,"f"],[31162,0,"i"],[31163,0,"g"],[31164,0,":"],[31165,0,"r"],[31166,0,"e"],[31167,0,"g"],[31168,0,"i"],[31169,0,"s"],[31170,0,"t"],[31171,0,"e"],[31172,0,"r"],[31173,0,"-"],[31174,0,"a"],[31175,0,"s"],[31176,0,"s"],[31177,0,"i"],[31178,0,"g"],[31179,0,"n"],[31180,0,"}"],[31181,0,","],[31182,0," "],[31183,0,"c"],[31184,0,"o"],[31185,0,"n"],[31186,0,"c"],[31187,0,"u"],[31188,0,"r"],[31189,0,"r"],[31190,0,"e"],[31191,0,"n"],[31192,0,"t"],[31193,0," "],[31194,0,"a"],[31195,0,"s"],[31196,0,"s"],[31197,0,"i"],[31198,0,"g"],[31199,0,"n"],[31200,0,"m"],[31201,0,"e"],[31202,0,"n"],[31203,0,"t"],[31204,0,"s"],[31205,0," "],[31206,0,"t"],[31207,0,"o"],[31208,0," "],[31209,0,"t"],[31210,0,"h"],[31211,0,"e"],[31212,0," "],[31213,0,"s"],[31214,0,"a"],[31215,0,"m"],[31216,0,"e"],[31217,0," "],[31218,0,"m"],[31219,0,"a"],[31220,0,"p"],[31221,0," "],[31222,0,"k"],[31223,0,"e"],[31224,0,"y"],[31225,0," "],[31226,0,"w"],[31227,0,"e"],[31228,0,"r"],[31229,0,"e"],[31230,0," "],[31231,0,"l"],[31232,0,"e"],[31233,0,"f"],[31234,0,"t"],[31235,0," "],[31236,0,"t"],[31237,0,"o"],[31238,0," "],[31239,0,"b"],[31240,0,"e"],[31241,0," "],[31242,0,"r"],[31243,0,"e"],[31244,0,"s"],[31245,0,"o"],[31246,0,"l"],[31247,0,"v"],[31248,0,"e"],[31249,0,"d"],[31250,0," "],[31251,0,"b"],[31252,0,"y"],[31253,0," "],[31254,0,"t"],[31255,0,"h"],[31256,0,"e"],[31257,0," "],[31258,0,"a"],[31259,0,"p"],[31260,0,"p"],[31261,0,"l"],[31262,0,"i"],[31263,0,"c"],[31264,0,"a"],[31265,0,"t"],[31266,0,"i"],[31267,0,"o"],[31268,0,"n"],[31269,0,","],[31270,0," "],[31271,0,"b"],[31272,0,"u"],[31273,0,"t"],[31274,0," "],[31275,0,"i"],[31276,0,"n"],[31277,0," "],[31278,0,"F"],[31279,0,"i"],[31280,0,"g"],[31281,0,"u"],[31282,0,"r"],[31283,0,"e"],[31284,0,"~"],[31285,0,"\\"],[31286,0,"r"],[31287,0,"e"],[31288,0,"f"],[31289,0,"{"],[31290,0,"f"],[31291,0,"i"],[31292,0,"g"],[31293,0,":"],[31294,0,"t"],[31295,0,"w"],[31296,0,"o"],[31297,0,"-"],[31298,0,"l"],[31299,0,"i"],[31300,0,"s"],[31301,0,"t"],[31302,0,"s"],[31303,0,"}"],[31304,0,","],[31305,0," "],[31306,0,"b"],[31307,0,"o"],[31308,0,"t"],[31309,0,"h"],[31310,0," "],[31311,0,"v"],[31312,0,"a"],[31313,0,"l"],[31314,0,"u"],[31315,0,"e"],[31316,0,"s"],[31317,0," "],[31318,0,"a"],[31319,0,"r"],[31320,0,"e"],[31321,0," "],[31322,0,"l"],[31323,0,"i"],[31324,0,"s"],[31325,0,"t"],[31326,0,"s"],[31327,0," "],[31328,0,"a"],[31329,0,"n"],[31330,0,"d"],[31331,0," "],[31332,0,"s"],[31333,0,"o"],[31334,0," "],[31335,0,"t"],[31336,0,"h"],[31337,0,"e"],[31338,0,"y"],[31339,0," "],[31340,0,"c"],[31341,0,"a"],[31342,0,"n"],[31343,0," "],[31344,0,"b"],[31345,0,"e"],[31346,0," "],[31347,0,"m"],[31348,0,"e"],[31349,0,"r"],[31350,0,"g"],[31351,0,"e"],[31352,0,"d"],[31353,0," "],[31354,0,"a"],[31355,0,"u"],[31356,0,"t"],[31357,0,"o"],[31358,0,"m"],[31359,0,"a"],[31360,0,"t"],[31361,0,"i"],[31362,0,"c"],[31363,0,"a"],[31364,0,"l"],[31365,0,"l"],[31366,0,"y"],[31367,0,"."],[31368,0," "],[31369,0,"W"],[31370,0,"e"],[31371,0," "],[31372,0,"p"],[31373,0,"r"],[31374,0,"e"],[31375,0,"s"],[31376,0,"e"],[31377,0,"r"],[31378,0,"v"],[31379,0,"e"],[31380,0," "],[31381,0,"t"],[31382,0,"h"],[31383,0,"e"],[31384,0," "],[31385,0,"o"],[31386,0,"r"],[31387,0,"d"],[31388,0,"e"],[31389,0,"r"],[31390,0,"i"],[31391,0,"n"],[31392,0,"g"],[31393,0," "],[31394,0,"a"],[31395,0,"n"],[31396,0,"d"],[31397,0," "],[31398,0,"a"],[31399,0,"d"],[31400,0,"j"],[31401,0,"a"],[31402,0,"c"],[31403,0,"e"],[31404,0,"n"],[31405,0,"c"],[31406,0,"y"],[31407,0," "],[31408,0,"o"],[31409,0,"f"],[31410,0," "],[31411,0,"i"],[31412,0,"t"],[31413,0,"e"],[31414,0,"m"],[31415,0,"s"],[31416,0," "],[31417,0,"i"],[31418,0,"n"],[31419,0,"s"],[31420,0,"e"],[31421,0,"r"],[31422,0,"t"],[31423,0,"e"],[31424,0,"d"],[31425,0," "],[31426,0,"a"],[31427,0,"t"],[31428,0," "],[31429,0,"e"],[31430,0,"a"],[31431,0,"c"],[31432,0,"h"],[31433,0," "],[31434,0,"r"],[31435,0,"e"],[31436,0,"p"],[31437,0,"l"],[31438,0,"i"],[31439,0,"c"],[31440,0,"a"],[31441,0,","],[31442,0," "],[31443,0,"s"],[31444,0,"o"],[31445,0," "],[31446,0,"`"],[31447,0,"`"],[31448,0,"h"],[31449,0,"a"],[31450,0,"m"],[31451,0,"'"],[31452,0,"'"],[31453,0," "],[31454,0,"a"],[31455,0,"p"],[31456,0,"p"],[31457,0,"e"],[31458,0,"a"],[31459,0,"r"],[31460,0,"s"],[31461,0," "],[31462,0,"a"],[31463,0,"f"],[31464,0,"t"],[31465,0,"e"],[31466,0,"r"],[31467,0," "],[31468,0,"`"],[31469,0,"`"],[31470,0,"e"],[31471,0,"g"],[31472,0,"g"],[31473,0,"s"],[31474,0,"'"],[31475,0,"'"],[31476,0,","],[31477,0," "],[31478,0,"a"],[31479,0,"n"],[31480,0,"d"],[31481,0," "],[31482,0,"`"],[31483,0,"`"],[31484,0,"f"],[31485,0,"l"],[31486,0,"o"],[31487,0,"u"],[31488,0,"r"],[31489,0,"'"],[31490,0,"'"],[31491,0," "],[31492,0,"a"],[31493,0,"p"],[31494,0,"p"],[31495,0,"e"],[31496,0,"a"],[31497,0,"r"],[31498,0,"s"],[31499,0," "],[31500,0,"a"],[31501,0,"f"],[31502,0,"t"],[31503,0,"e"],[31504,0,"r"],[31505,0," "],[31506,0,"`"],[31507,0,"`"],[31508,0,"m"],[31509,0,"i"],[31510,0,"l"],[31511,0,"k"],[31512,0,"'"],[31513,0,"'"],[31514,0," "],[31515,0,"i"],[31516,0,"n"],[31517,0," "],[31518,0,"t"],[31519,0,"h"],[31520,0,"e"],[31521,0," "],[31522,0,"m"],[31523,0,"e"],[31524,0,"r"],[31525,0,"g"],[31526,0,"e"],[31527,0,"d"],[31528,0," "],[31529,0,"r"],[31530,0,"e"],[31531,0,"s"],[31532,0,"u"],[31533,0,"l"],[31534,0,"t"],[31535,0,"."],[31536,0," "],[31537,0,"T"],[31538,0,"h"],[31539,0,"e"],[31540,0,"r"],[31541,0,"e"],[31542,0," "],[31543,0,"i"],[31544,0,"s"],[31545,0," "],[31546,0,"n"],[31547,0,"o"],[31548,0," "],[31549,0,"i"],[31550,0,"n"],[31551,0,"f"],[31552,0,"o"],[31553,0,"r"],[31554,0,"m"],[31555,0,"a"],[31556,0,"t"],[31557,0,"i"],[31558,0,"o"],[31559,0,"n"],[31560,0," "],[31561,0,"o"],[31562,0,"n"],[31563,0," "],[31564,0,"w"],[31565,0,"h"],[31566,0,"i"],[31567,0,"c"],[31568,0,"h"],[31569,0," "],[31570,0,"r"],[31571,0,"e"],[31572,0,"p"],[31573,0,"l"],[31574,0,"i"],[31575,0,"c"],[31576,0,"a"],[31577,0,"'"],[31578,0,"s"],[31579,0," "],[31580,0,"i"],[31581,0,"t"],[31582,0,"e"],[31583,0,"m"],[31584,0,"s"],[31585,0," "],[31586,0,"s"],[31587,0,"h"],[31588,0,"o"],[31589,0,"u"],[31590,0,"l"],[31591,0,"d"],[31592,0," "],[31593,0,"a"],[31594,0,"p"],[31595,0,"p"],[31596,0,"e"],[31597,0,"a"],[31598,0,"r"],[31599,0," "],[31600,0,"f"],[31601,0,"i"],[31602,0,"r"],[31603,0,"s"],[31604,0,"t"],[31605,0," "],[31606,0,"i"],[31607,0,"n"],[31608,0," "],[31609,0,"t"],[31610,0,"h"],[31611,0,"e"],[31612,0," "],[31613,0,"m"],[31614,0,"e"],[31615,0,"r"],[31616,0,"g"],[31617,0,"e"],[31618,0,"d"],[31619,0," "],[31620,0,"r"],[31621,0,"e"],[31622,0,"s"],[31623,0,"u"],[31624,0,"l"],[31625,0,"t"],[31626,0,","],[31627,0," "],[31628,0,"s"],[31629,0,"o"],[31630,0," "],[31631,0,"t"],[31632,0,"h"],[31633,0,"e"],[31634,0," "],[31635,0,"a"],[31636,0,"l"],[31637,0,"g"],[31638,0,"o"],[31639,0,"r"],[31640,0,"i"],[31641,0,"t"],[31642,0,"h"],[31643,0,"m"],[31644,0," "],[31645,0,"c"],[31646,0,"a"],[31647,0,"n"],[31648,0," "],[31649,0,"m"],[31650,0,"a"],[31651,0,"k"],[31652,0,"e"],[31653,0," "],[31654,0,"a"],[31655,0,"n"],[31656,0," "],[31657,0,"a"],[31658,0,"r"],[31659,0,"b"],[31660,0,"i"],[31661,0,"t"],[31662,0,"r"],[31663,0,"a"],[31664,0,"r"],[31665,0,"y"],[31666,0," "],[31667,0,"c"],[31668,0,"h"],[31669,0,"o"],[31670,0,"i"],[31671,0,"c"],[31672,0,"e"],[31673,0," "],[31674,0,"b"],[31675,0,"e"],[31676,0,"t"],[31677,0,"w"],[31678,0,"e"],[31679,0,"e"],[31680,0,"n"],[31681,0," "],[31682,0,"`"],[31683,0,"`"],[31684,0,"e"],[31685,0,"g"],[31686,0,"g"],[31687,0,"s"],[31688,0,","],[31689,0," "],[31690,0,"h"],[31691,0,"a"],[31692,0,"m"],[31693,0,","],[31694,0," "],[31695,0,"m"],[31696,0,"i"],[31697,0,"l"],[31698,0,"k"],[31699,0,","],[31700,0," "],[31701,0,"f"],[31702,0,"l"],[31703,0,"o"],[31704,0,"u"],[31705,0,"r"],[31706,0,"'"],[31707,0,"'"],[31708,0," "],[31709,0,"a"],[31710,0,"n"],[31711,0,"d"],[31712,0," "],[31713,0,"`"],[31714,0,"`"],[31715,0,"m"],[31716,0,"i"],[31717,0,"l"],[31718,0,"k"],[31719,0,","],[31720,0," "],[31721,0,"f"],[31722,0,"l"],[31723,0,"o"],[31724,0,"u"],[31725,0,"r"],[31726,0,","],[31727,0," "],[31728,0,"e"],[31729,0,"g"],[31730,0,"g"],[31731,0,"s"],[31732,0,","],[31733,0," "],[31734,0,"h"],[31735,0,"a"],[31736,0,"m"],[31737,0,"'"],[31738,0,"'"],[31739,0,","],[31740,0," "],[31741,0,"p"],[31742,0,"r"],[31743,0,"o"],[31744,0,"v"],[31745,0,"i"],[31746,0,"d"],[31747,0,"e"],[31748,0,"d"],[31749,0," "],[31750,0,"t"],[31751,0,"h"],[31752,0,"a"],[31753,0,"t"],[31754,0," "],[31755,0,"a"],[31756,0,"l"],[31757,0,"l"],[31758,0," "],[31759,0,"r"],[31760,0,"e"],[31761,0,"p"],[31762,0,"l"],[31763,0,"i"],[31764,0,"c"],[31765,0,"a"],[31766,0,"s"],[31767,0," "],[31768,0,"e"],[31769,0,"n"],[31770,0,"d"],[31771,0," "],[31772,0,"u"],[31773,0,"p"],[31774,0," "],[31775,0,"w"],[31776,0,"i"],[31777,0,"t"],[31778,0,"h"],[31779,0," "],[31780,0,"t"],[31781,0,"h"],[31782,0,"e"],[31783,0," "],[31784,0,"s"],[31785,0,"a"],[31786,0,"m"],[31787,0,"e"],[31788,0," "],[31789,0,"o"],[31790,0,"r"],[31791,0,"d"],[31792,0,"e"],[31793,0,"r"],[31794,0,"."],[31783,0," "],[31784,0,"i"],[31785,0,"t"],[31786,0,"e"],[31787,0,"m"],[31788,0,"s"],[31789,0," "],[31790,0,"i"],[31791,0,"n"],[31792,0," "],[31793,0,"t"],[31794,0,"h"],[31795,0,"e"],[31808,0,"\n"],[31809,0,"\n"],[31810,0,"F"],[31811,0,"i"],[31812,0,"g"],[31813,0,"u"],[31814,0,"r"],[31815,0,"e"],[31816,0,"~"],[31817,0,"\\"],[31818,0,"r"],[31819,0,"e"],[31820,0,"f"],[31821,0,"{"],[31822,0,"f"],[31823,0,"i"],[31824,0,"g"],[31825,0,":"],[31826,0,"t"],[31827,0,"e"],[31828,0,"x"],[31829,0,"t"],[31830,0,"-"],[31831,0,"e"],[31832,0,"d"],[31833,0,"i"],[31834,0,"t"],[31835,0,"}"],[31836,0," "],[31837,0,"s"],[31838,0,"h"],[31839,0,"o"],[31840,0,"w"],[31841,0,"s"],[31842,0," "],[31843,0,"h"],[31844,0,"o"],[31845,0,"w"],[31846,0," "],[31847,0,"a"],[31848,0," "],[31849,0,"c"],[31850,0,"o"],[31851,0,"l"],[31852,0,"l"],[31853,0,"a"],[31854,0,"b"],[31855,0,"o"],[31856,0,"r"],[31857,0,"a"],[31858,0,"t"],[31859,0,"i"],[31860,0,"v"],[31861,0,"e"],[31862,0," "],[31863,0,"t"],[31864,0,"e"],[31865,0,"x"],[31866,0,"t"],[31867,0," "],[31868,0,"e"],[31869,0,"d"],[31870,0,"i"],[31871,0,"t"],[31872,0,"o"],[31873,0,"r"],[31874,0," "],[31875,0,"c"],[31876,0,"a"],[31877,0,"n"],[31878,0," "],[31879,0,"b"],[31880,0,"e"],[31881,0," "],[31882,0,"i"],[31883,0,"m"],[31884,0,"p"],[31885,0,"l"],[31886,0,"e"],[31887,0,"m"],[31888,0,"e"],[31889,0,"n"],[31890,0,"t"],[31891,0,"e"],[31892,0,"d"],[31893,0,","],[31894,0," "],[31895,0,"u"],[31896,0,"s"],[31897,0,"i"],[31898,0,"n"],[31899,0,"g"],[31900,0," "],[31901,0,"a"],[31902,0," "],[31902,1],[31901,1],[31900,1],[31899,1],[31898,1],[31897,1],[31896,1],[31895,1],[31895,0,"b"],[31896,0,"y"],[31897,0," "],[31898,0,"t"],[31899,0,"r"],[31900,0,"e"],[31901,0,"a"],[31902,0,"t"],[31903,0,"i"],[31904,0,"n"],[31905,0,"g"],[31906,0," "],[31907,0,"t"],[31908,0,"h"],[31909,0,"e"],[31910,0," "],[31911,0,"d"],[31912,0,"o"],[31913,0,"c"],[31914,0,"u"],[31915,0,"m"],[31916,0,"e"],[31917,0,"n"],[31918,0,"t"],[31919,0," "],[31920,0,"a"],[31921,0,"s"],[31922,0," "],[31923,0,"a"],[31924,0," "],[31925,0,"l"],[31926,0,"i"],[31927,0,"s"],[31928,0,"t"],[31929,0," "],[31930,0,"o"],[31931,0,"f"],[31932,0," "],[31933,0,"c"],[31934,0,"h"],[31935,0,"a"],[31936,0,"r"],[31937,0,"a"],[31938,0,"c"],[31939,0,"t"],[31940,0,"e"],[31941,0,"r"],[31942,0,"s"],[31943,0,"."],[31944,0," "],[31945,0,"`"],[31946,0,"`"],[31947,0,"y"],[31948,0,"'"],[31949,0,"'"],[31950,0," "],[31951,0,"i"],[31952,0,"s"],[31953,0," "],[31954,0,"i"],[31955,0,"n"],[31956,0,"s"],[31957,0,"e"],[31958,0,"r"],[31959,0,"t"],[31960,0,"e"],[31961,0,"d"],[31962,0," "],[31963,0,"b"],[31964,0,"e"],[31965,0,"f"],[31966,0,"o"],[31967,0,"r"],[31968,0,"e"],[31969,0," "],[31970,0,"`"],[31971,0,"`"],[31972,0,"a"],[31973,0,"'"],[31974,0,"'"],[31975,0,","],[31976,0," "],[31977,0,"`"],[31978,0,"`"],[31979,0,"b"],[31980,0,"'"],[31981,0,"'"],[31982,0," "],[31983,0,"i"],[31984,0,"s"],[31985,0," "],[31986,0,"d"],[31987,0,"e"],[31988,0,"l"],[31989,0,"e"],[31990,0,"t"],[31991,0,"e"],[31992,0,"d"],[31993,0,","],[31994,0," "],[31995,0,"a"],[31996,0,"n"],[31997,0,"d"],[31998,0," "],[31975,1],[31975,0,";"],[31944,0," "],[31945,0,"A"],[31946,0,"l"],[31947,0,"l"],[31948,0," "],[31949,0,"c"],[31950,0,"h"],[31951,0,"a"],[31952,0,"n"],[31953,0,"g"],[31954,0,"e"],[31955,0,"s"],[31956,0," "],[31957,0,"a"],[31958,0,"r"],[31959,0,"e"],[31960,0," "],[31961,0,"p"],[31962,0,"r"],[31963,0,"e"],[31964,0,"s"],[31965,0,"e"],[31966,0,"r"],[31967,0,"v"],[31968,0,"e"],[31969,0,"d"],[31970,0," "],[31971,0,"i"],[31972,0,"n"],[31973,0," "],[31974,0,"t"],[31975,0,"h"],[31976,0,"e"],[31977,0," "],[31978,0,"m"],[31979,0,"e"],[31980,0,"r"],[31981,0,"g"],[31982,0,"e"],[31983,0,"d"],[31984,0," "],[31985,0,"r"],[31986,0,"e"],[31987,0,"s"],[31988,0,"u"],[31989,0,"l"],[31990,0,"t"],[31991,0,":"],[32041,1],[32041,0,";"],[32047,0,"z"],[32048,0,"z"],[32048,1],[32047,1],[32047,0,"`"],[32048,0,"`"],[32048,1],[32047,1],[32046,1],[32045,1],[32044,1],[32043,1],[32042,1],[32041,1],[32024,0," "],[32025,0,"`"],[32026,0,"`"],[32027,0,"x"],[32028,0,"'"],[32029,0,"'"],[32030,0," "],[32031,0,"a"],[32032,0,"n"],[32033,0,"d"],[32034,0," "],[32035,0,"`"],[32036,0,"`"],[32037,0,"z"],[32038,0,"'"],[32039,0,"'"],[32040,0," "],[32041,0,"a"],[32042,0,"r"],[32043,0,"e"],[32044,0," "],[32045,0,"i"],[32046,0,"n"],[32047,0,"s"],[32048,0,"e"],[32049,0,"r"],[32050,0,"t"],[32051,0,"e"],[32052,0,"c"],[32053,0," "],[32053,1],[32052,1],[32052,0,"d"],[32053,0," "],[32054,0,"b"],[32055,0,"e"],[32056,0,"t"],[32057,0,"w"],[32058,0,"e"],[32059,0,"e"],[32060,0,"n"],[32061,0," "],[32062,0,"a"],[32063,0,"a"],[32063,1],[32062,1],[32062,0,"`"],[32063,0,"`"],[32064,0,"a"],[32065,0,"'"],[32066,0,"'"],[32067,0," "],[32068,0,"a"],[32069,0,"n"],[32070,0,"d"],[32071,0," "],[32072,0,"`"],[32073,0,"`"],[32074,0,"c"],[32075,0,"'"],[32076,0,"'"],[32077,0,";"],[32078,0," "],[32079,0,"a"],[32080,0,"n"],[32081,0,"d"],[32099,0,"."],[32100,0,"\n"],[32101,0,"\n"],[32102,0,"F"],[32103,0,"i"],[32104,0,"g"],[32105,0,"u"],[32106,0,"r"],[32107,0,"e"],[32108,0,"~"],[32109,0,"\\"],[32110,0,"r"],[32111,0,"e"],[32112,0,"f"],[32113,0,"{"],[32114,0,"f"],[32115,0,"i"],[32116,0,"g"],[32117,0,":"],[32118,0,"t"],[32119,0,"y"],[32120,0,"p"],[32121,0,"e"],[32122,0,"-"],[32123,0,"c"],[32124,0,"l"],[32125,0,"a"],[32126,0,"s"],[32127,0,"h"],[32128,0,"}"],[32129,0," "],[32130,0,"d"],[32131,0,"e"],[32132,0,"m"],[32133,0,"o"],[32134,0,"n"],[32135,0,"s"],[32136,0,"t"],[32137,0,"r"],[32138,0,"a"],[32139,0,"t"],[32140,0,"e"],[32141,0,"s"],[32142,0," "],[32143,0,"a"],[32144,0," "],[32145,0,"v"],[32146,0,"a"],[32147,0,"r"],[32148,0,"i"],[32149,0,"a"],[32150,0,"n"],[32151,0,"t"],[32152,0," "],[32153,0,"o"],[32154,0,"f"],[32155,0," "],[32156,0,"t"],[32157,0,"h"],[32158,0,"e"],[32159,0," "],[32160,0,"s"],[32161,0,"i"],[32162,0,"t"],[32163,0,"u"],[32164,0,"a"],[32165,0,"t"],[32166,0,"i"],[32167,0,"o"],[32168,0,"n"],[32169,0," "],[32170,0,"i"],[32171,0,"n"],[32172,0," "],[32173,0,"F"],[32174,0,"i"],[32175,0,"g"],[32176,0,"u"],[32177,0,"r"],[32178,0,"e"],[32179,0,"~"],[32180,0,"\\"],[32181,0,"r"],[32182,0,"e"],[32183,0,"f"],[32184,0,"{"],[32185,0,"f"],[32186,0,"i"],[32187,0,"g"],[32188,0,":"],[32189,0,"t"],[32190,0,"w"],[32191,0,"o"],[32192,0,"-"],[32193,0,"l"],[32194,0,"i"],[32195,0,"s"],[32196,0,"t"],[32197,0,"s"],[32198,0,"}"],[32199,0,","],[32200,0," "],[32201,0,"w"],[32202,0,"h"],[32203,0,"e"],[32204,0,"r"],[32205,0,"e"],[32206,0," "],[32207,0,"$"],[32207,1],[32207,0,"t"],[32208,0,"w"],[32209,0,"o"],[32210,0," "],[32211,0,"r"],[32212,0,"e"],[32213,0,"p"],[32214,0,"l"],[32215,0,"i"],[32216,0,"c"],[32217,0,"a"],[32218,0,"s"],[32219,0," "],[32220,0,"c"],[32221,0,"o"],[32222,0,"n"],[32223,0,"c"],[32224,0,"u"],[32225,0,"r"],[32226,0,"r"],[32227,0,"e"],[32228,0,"n"],[32229,0,"t"],[32230,0,"l"],[32231,0,"y"],[32232,0," "],[32233,0,"i"],[32234,0,"n"],[32235,0,"s"],[32236,0,"e"],[32237,0,"r"],[32238,0,"t"],[32239,0," "],[32240,0,"t"],[32241,0,"h"],[32242,0,"e"],[32243,0," "],[32244,0,"s"],[32245,0,"a"],[32246,0,"m"],[32247,0,"e"],[32248,0," "],[32249,0,"m"],[32250,0,"a"],[32251,0,"p"],[32252,0," "],[32253,0,"k"],[32254,0,"e"],[32255,0,"y"],[32256,0,","],[32257,0," "],[32258,0,"b"],[32259,0,"u"],[32260,0,"t"],[32261,0," "],[32262,0,"t"],[32263,0,"h"],[32264,0,"e"],[32265,0,"y"],[32266,0," "],[32267,0,"d"],[32268,0,"o"],[32269,0," "],[32270,0,"s"],[32271,0,"o"],[32272,0," "],[32273,0,"w"],[32274,0,"i"],[32275,0,"t"],[32276,0,"h"],[32277,0," "],[32278,0,"d"],[32279,0,"i"],[32280,0,"f"],[32281,0,"f"],[32282,0,"e"],[32283,0,"r"],[32284,0,"e"],[32285,0,"n"],[32286,0,"t"],[32287,0," "],[32288,0,"d"],[32289,0,"a"],[32290,0,"t"],[32291,0,"a"],[32292,0,"t"],[32293,0,"y"],[32294,0,"p"],[32295,0,"e"],[32296,0,"s"],[32297,0," "],[32298,0,"a"],[32299,0,"s"],[32300,0," "],[32301,0,"v"],[32302,0,"a"],[32303,0,"l"],[32304,0,"u"],[32305,0,"e"],[32306,0,"s"],[32307,0,":"],[32308,0," "],[32309,0,"$"],[32310,0,"q"],[32310,1],[32310,0,"p"],[32311,0,"$"],[32312,0," "],[32313,0,"i"],[32314,0,"n"],[32315,0,"s"],[32316,0,"e"],[32317,0,"r"],[32318,0,"t"],[32319,0,"s"],[32320,0," "],[32321,0,"a"],[32322,0," "],[32323,0,"n"],[32324,0,"e"],[32325,0,"s"],[32326,0,"t"],[32327,0,"e"],[32328,0,"d"],[32329,0," "],[32330,0,"m"],[32331,0,"a"],[32332,0,"p"],[32333,0,","],[32334,0," "],[32335,0,"w"],[32336,0,"h"],[32337,0,"e"],[32338,0,"r"],[32339,0,"e"],[32340,0,"a"],[32341,0,"s"],[32342,0," "],[32343,0,"$"],[32344,0,"q"],[32345,0,"$"],[32346,0," "],[32347,0,"i"],[32348,0,"n"],[32349,0,"s"],[32350,0,"e"],[32351,0,"r"],[32352,0,"t"],[32353,0,"s"],[32354,0," "],[32355,0,"a"],[32356,0," "],[32357,0,"l"],[32358,0,"i"],[32359,0,"s"],[32360,0,"t"],[32361,0,"."],[32362,0," "],[32363,0,"T"],[32364,0,"h"],[32365,0,"e"],[32366,0,"s"],[32367,0,"e"],[32368,0," "],[32369,0,"d"],[32370,0,"a"],[32371,0,"t"],[32372,0,"a"],[32373,0,"t"],[32374,0,"y"],[32375,0,"p"],[32376,0,"e"],[32377,0,"s"],[32378,0," "],[32379,0,"c"],[32380,0,"a"],[32381,0,"n"],[32382,0,"n"],[32383,0,"o"],[32384,0,"t"],[32385,0," "],[32386,0,"m"],[32387,0,"e"],[32388,0,"a"],[32389,0,"n"],[32390,0,"i"],[32391,0,"n"],[32392,0,"g"],[32393,0,"f"],[32394,0,"u"],[32395,0,"l"],[32396,0,"l"],[32397,0,"y"],[32398,0," "],[32399,0,"b"],[32400,0,"e"],[32401,0," "],[32402,0,"m"],[32403,0,"e"],[32404,0,"r"],[32405,0,"g"],[32406,0,"e"],[32407,0,"d"],[32408,0,","],[32409,0," "],[32410,0,"s"],[32411,0,"o"],[32412,0," "],[32413,0,"w"],[32414,0,"e"],[32415,0," "],[32416,0,"p"],[32417,0,"r"],[32418,0,"e"],[32419,0,"s"],[32420,0,"e"],[32421,0,"r"],[32422,0,"v"],[32423,0,"e"],[32424,0," "],[32425,0,"b"],[32426,0,"o"],[32427,0,"t"],[32428,0,"h"],[32429,0," "],[32430,0,"v"],[32431,0,"a"],[32432,0,"l"],[32433,0,"u"],[32434,0,"e"],[32435,0,"s"],[32436,0," "],[32437,0,"s"],[32438,0,"e"],[32439,0,"p"],[32440,0,"a"],[32441,0,"r"],[32442,0,"a"],[32443,0,"t"],[32444,0,"e"],[32445,0,"l"],[32446,0,"y"],[32447,0,"."],[32448,0," "],[32449,0,"W"],[32450,0,"e"],[32451,0," "],[32452,0,"d"],[32453,0,"o"],[32454,0," "],[32455,0,"t"],[32456,0,"h"],[32457,0,"i"],[32458,0,"s"],[32459,0," "],[32460,0,"b"],[32461,0,"y"],[32462,0," "],[32463,0,"a"],[32464,0,"d"],[32465,0,"d"],[32466,0,"i"],[32467,0,"n"],[32468,0,"g"],[32469,0," "],[32470,0,"a"],[32471,0," "],[32472,0,"t"],[32473,0,"y"],[32474,0,"p"],[32475,0,"e"],[32476,0," "],[32477,0,"t"],[32478,0,"a"],[32479,0,"g"],[32480,0," "],[32480,1],[32479,1],[32478,1],[32477,1],[32476,1],[32475,1],[32474,1],[32473,1],[32472,1],[32471,1],[32470,1],[32469,1],[32468,1],[32467,1],[32466,1],[32465,1],[32464,1],[32463,1],[32462,1],[32462,0," "],[32463,0,"t"],[32464,0,"a"],[32465,0,"g"],[32466,0,"g"],[32467,0,"i"],[32468,0,"n"],[32469,0,"g"],[32470,0," "],[32471,0,"e"],[32472,0,"a"],[32473,0,"c"],[32474,0,"h"],[32475,0," "],[32476,0,"m"],[32477,0,"a"],[32478,0,"p"],[32479,0," "],[32480,0,"k"],[32481,0,"e"],[32482,0,"y"],[32483,0," "],[32484,0,"w"],[32485,0,"i"],[32486,0,"t"],[32487,0,"h"],[32488,0," "],[32489,0,"a"],[32490,0," "],[32491,0,"t"],[32492,0,"y"],[32493,0,"p"],[32494,0,"e"],[32495,0," "],[32496,0,"a"],[32497,0,"n"],[32498,0,"n"],[32499,0,"o"],[32500,0,"t"],[32501,0,"a"],[32502,0,"t"],[32503,0,"i"],[32504,0,"o"],[32505,0,"n"],[32506,0," "],[32507,0,"("],[32508,0,"\\"],[32509,0,"t"],[32510,0,"e"],[32511,0,"x"],[32512,0,"t"],[32513,0,"s"],[32514,0,"f"],[32515,0,"{"],[32516,0,"m"],[32517,0,"a"],[32518,0,"p"],[32519,0,"T"],[32520,0,"}"],[32521,0," "],[32522,0,"o"],[32523,0,"r"],[32524,0," "],[32525,0,"\\"],[32526,0,"t"],[32527,0,"e"],[32528,0,"x"],[32529,0,"t"],[32530,0,"s"],[32531,0,"f"],[32532,0,"{"],[32533,0,"r"],[32534,0,"e"],[32534,1],[32533,1],[32533,0,"l"],[32534,0,"i"],[32535,0,"s"],[32536,0,"t"],[32537,0,"T"],[32538,0,"}"],[32523,1],[32522,1],[32521,1],[32521,0,","],[32537,0,","],[32538,0," "],[32539,0,"o"],[32540,0,"r"],[32541,0," "],[32542,0,"\\"],[32543,0,"t"],[32544,0,"e"],[32545,0,"x"],[32546,0,"t"],[32547,0,"s"],[32548,0,"f"],[32549,0,"{"],[32550,0,"r"],[32551,0,"e"],[32552,0,"g"],[32553,0,"T"],[32554,0,"}"],[32555,0," "],[32556,0,"f"],[32557,0,"o"],[32558,0,"r"],[32559,0," "],[32560,0,"a"],[32561,0," "],[32562,0,"m"],[32563,0,"a"],[32564,0,"p"],[32565,0,","],[32566,0," "],[32567,0,"l"],[32568,0,"i"],[32569,0,"s"],[32570,0,"t"],[32571,0,","],[32572,0," "],[32573,0,"o"],[32574,0,"r"],[32575,0," "],[32576,0,"r"],[32577,0,"e"],[32578,0,"g"],[32579,0,"i"],[32580,0,"s"],[32581,0,"t"],[32582,0,"e"],[32583,0,"r"],[32584,0," "],[32585,0,"v"],[32586,0,"a"],[32587,0,"l"],[32588,0,"u"],[32589,0,"e"],[32590,0," "],[32591,0,"r"],[32592,0,"e"],[32593,0,"s"],[32594,0,"p"],[32595,0,"e"],[32596,0,"c"],[32597,0,"t"],[32598,0,"i"],[32599,0,"v"],[32600,0,"e"],[32601,0,"l"],[32602,0,"y"],[32603,0,")"],[32604,0,","],[32605,0," "],[32606,0,"s"],[32607,0,"o"],[32608,0," "],[32609,0,"e"],[32610,0,"a"],[32611,0,"c"],[32612,0,"h"],[32613,0," "],[32614,0,"t"],[32615,0,"y"],[32616,0,"p"],[32617,0,"e"],[32618,0," "],[32619,0,"i"],[32620,0,"n"],[32621,0,"h"],[32622,0,"a"],[32623,0,"b"],[32624,0,"i"],[32625,0,"t"],[32626,0,"s"],[32627,0," "],[32628,0,"a"],[32629,0," "],[32630,0,"s"],[32631,0,"e"],[32632,0,"p"],[32633,0,"a"],[32634,0,"r"],[32635,0,"a"],[32636,0,"t"],[32637,0,"e"],[32638,0," "],[32639,0,"n"],[32640,0,"a"],[32641,0,"m"],[32642,0,"e"],[32643,0,"s"],[32644,0,"p"],[32645,0,"a"],[32646,0,"c"],[32647,0,"e"],[32648,0,"."],[32649,0," "],[32650,0,"T"],[32651,0,"h"],[32652,0,"e"],[32653,0," "],[32654,0,"a"],[32655,0,"p"],[32656,0,"p"],[32656,1],[32655,1],[32654,1],[32653,1],[32652,1],[32651,1],[32650,1],[32649,1],[34419,0,"s"],[34430,0,"s"],[34451,0," "],[34452,0,"a"],[34453,0,"n"],[34454,0,"d"],[34455,0,"~"],[34456,0,"\\"],[34457,0,"r"],[34458,0,"e"],[34459,0,"f"],[34460,0,"{"],[34461,0,"f"],[34462,0,"i"],[34463,0,"g"],[34464,0,":"],[34465,0,"t"],[34466,0,"y"],[34467,0,"p"],[34468,0,"e"],[34469,0,"-"],[34470,0,"c"],[34471,0,"l"],[34472,0,"a"],[34473,0,"s"],[34474,0,"h"],[34475,0,"}"],[34419,1],[34418,1],[34417,1],[34416,1],[34415,1],[34414,1],[34413,1],[34412,1],[34412,0,"s"],[34413,0,"c"],[34414,0,"e"],[34415,0,"n"],[34416,0,"a"],[34417,0,"r"],[34418,0,"i"],[34419,0,"o"],[34420,0,"s"],[38114,1],[38113,1],[38112,1],[38111,1],[38110,1],[38109,1],[38108,1],[38107,1],[38106,1],[38105,1],[38122,1],[38122,0,"."],[38123,0,"g"],[38124,0,"e"],[38125,0,"t"],[38126,0,"("],[38150,1],[38150,0,")"],[38180,0," "],[38181,0,"a"],[38182,0,"n"],[38183,0,"d"],[38184,0," "],[38184,1],[38196,1],[38195,1],[38194,1],[38193,1],[38193,0,"."],[38194,0,"i"],[38195,0,"d"],[38196,0,"x"],[38197,0,"("],[38199,0,"$"],[38200,0,"\\"],[38201,0,"m"],[38202,0,"a"],[38203,0,"t"],[38204,0,"h"],[38205,0,"i"],[38206,0,"t"],[38207,0,"{"],[38208,0,"n"],[38209,0,"}"],[38209,1],[38208,1],[38207,1],[38206,1],[38205,1],[38204,1],[38203,1],[38202,1],[38201,1],[38200,1],[38200,0,"n"],[38201,0,"$"],[38202,0,"\\"],[38203,0,"t"],[38204,0,"e"],[38205,0,"x"],[38206,0,"t"],[38207,0,"t"],[38208,0,"t"],[38209,0,"{"],[38210,0,")"],[38211,0,"}"],[38212,0," "],[38213,0,"s"],[38214,0,"l"],[38214,1],[38214,0,"e"],[38215,0,"e"],[38215,1],[38215,0,"l"],[38216,0,"e"],[38217,0,"c"],[38218,0,"t"],[38219,0,"s"],[38220,0," "],[38221,0,"t"],[38222,0,"h"],[38223,0,"e"],[38224,0," "],[38225,0,"$"],[38226,0,"n"],[38227,0,"$"],[38228,0,"t"],[38229,0,"h"],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38231,1],[38258,0," "],[38259,0,"L"],[38260,0,"i"],[38261,0,"s"],[38262,0,"t"],[38263,0,"s"],[38264,0," "],[38265,0,"a"],[38266,0,"r"],[38267,0,"e"],[38268,0," "],[38269,0,"i"],[38270,0,"n"],[38271,0,"d"],[38272,0,"e"],[38273,0,"x"],[38274,0,"e"],[38275,0,"d"],[38276,0," "],[38277,0,"s"],[38278,0,"t"],[38279,0,"a"],[38280,0,"r"],[38281,0,"t"],[38282,0,"i"],[38283,0,"n"],[38284,0,"g"],[38285,0," "],[38286,0,"f"],[38287,0,"r"],[38288,0,"o"],[38289,0,"m"],[38290,0," "],[38291,0,"1"],[38292,0,","],[38293,0," "],[38294,0,"a"],[38295,0,"n"],[38296,0,"d"],[38297,0," "],[38298,0,"\\"],[38299,0,"t"],[38300,0,"e"],[38301,0,"x"],[38302,0,"t"],[38303,0,"t"],[38304,0,"t"],[38305,0,"{"],[38306,0,"."],[38307,0,"i"],[38308,0,"d"],[38309,0,"x"],[38310,0,"("],[38311,0,"0"],[38312,0,")"],[38313,0,"}"],[38314,0," "],[38315,0,"i"],[38316,0,"s"],[38317,0," "],[38318,0,"a"],[38319,0," "],[38320,0,"s"],[38321,0,"p"],[38322,0,"e"],[38323,0,"c"],[38324,0,"i"],[38325,0,"a"],[38326,0,"l"],[38327,0," "],[38328,0,"c"],[38329,0,"u"],[38330,0,"r"],[38331,0,"s"],[38332,0,"o"],[38333,0,"r"],[38334,0," "],[38335,0,"i"],[38336,0,"n"],[38337,0,"d"],[38338,0,"i"],[38339,0,"c"],[38340,0,"a"],[38341,0,"t"],[38342,0,"i"],[38343,0,"n"],[38344,0,"g"],[38345,0," "],[38346,0,"t"],[38347,0,"h"],[38348,0,"e"],[38349,0," "],[38350,0,"h"],[38351,0,"e"],[38352,0,"a"],[38353,0,"d"],[38354,0," "],[38355,0,"o"],[38356,0,"f"],[38357,0," "],[38358,0,"a"],[38359,0," "],[38360,0,"l"],[38361,0,"i"],[38362,0,"s"],[38363,0,"t"],[38364,0,"."],[38984,0," "],[38985,0,"p"],[38986,0,"l"],[38987,0,"a"],[38988,0,"c"],[38989,0,"e"],[38990,0,"s"],[38991,0," "],[38992,0,"a"],[38993,0," "],[38994,0,"n"],[38995,0,"e"],[38996,0,"w"],[38997,0," "],[38998,0,"e"],[38999,0,"l"],[39000,0,"e"],[39001,0,"m"],[39002,0,"e"],[39003,0,"n"],[39004,0,"t"],[39005,0," "],[39006,0,"a"],[39007,0,"f"],[39008,0,"t"],[39009,0,"e"],[39010,0,"r"],[39011,0," "],[39012,0,"t"],[39013,0,"h"],[39014,0,"e"],[39015,0," "],[39016,0,"p"],[39017,0,"o"],[39018,0,"s"],[39019,0,"i"],[39020,0,"t"],[39021,0,"i"],[39022,0,"o"],[39023,0,"n"],[39024,0," "],[39025,0,"i"],[39026,0,"d"],[39027,0,"e"],[39028,0,"n"],[39029,0,"t"],[39030,0,"i"],[39031,0,"f"],[39032,0,"i"],[39033,0,"e"],[39034,0,"d"],[39035,0," "],[39036,0,"b"],[39037,0,"y"],[39038,0," "],[39039,0,"t"],[39040,0,"h"],[39041,0,"e"],[39042,0," "],[39043,0,"c"],[39044,0,"u"],[39045,0,"r"],[39046,0,"s"],[39047,0,"o"],[39048,0,"r"],[39049,0,","],[39050,0," "],[39051,0,"a"],[39052,0,"n"],[39053,0,"d"],[39054,0," "],[39055,0,"\\"],[39056,0,"t"],[39057,0,"e"],[39058,0,"x"],[39059,0,"t"],[39060,0,"t"],[39061,0,"t"],[39062,0,"{"],[39063,0,"."],[39064,0,"i"],[39065,0,"d"],[39066,0,"x"],[39067,0,"("],[39068,0,"0"],[39069,0,")"],[39070,0,"."],[39071,0,"i"],[39072,0,"n"],[39073,0,"s"],[39074,0,"e"],[39075,0,"r"],[39076,0,"t"],[39077,0,"}"],[39078,0," "],[39079,0,"i"],[39080,0,"n"],[39081,0,"s"],[39082,0,"e"],[39083,0,"r"],[39084,0,"t"],[39085,0,"s"],[39086,0," "],[39087,0,"a"],[39088,0,"t"],[39089,0," "],[39090,0,"t"],[39091,0,"h"],[39092,0,"e"],[39093,0," "],[39094,0,"h"],[39095,0,"e"],[39096,0,"a"],[39097,0,"d"],[39098,0," "],[39099,0,"o"],[39100,0,"f"],[39101,0," "],[39102,0,"a"],[39103,0," "],[39104,0,"l"],[39105,0,"i"],[39106,0,"s"],[39107,0,"t"],[39174,0," "],[39175,0,"r"],[39176,0,"e"],[39177,0,"m"],[39178,0,"o"],[39179,0,"v"],[39180,0,"e"],[39181,0,"s"],[39182,0," "],[39183,0,"t"],[39184,0,"h"],[39185,0,"e"],[39186,0," "],[39187,0,"i"],[39188,0,"t"],[39189,0,"e"],[39189,1],[39188,1],[39187,1],[39187,0,"e"],[39188,0,"l"],[39189,0,"e"],[39190,0,"m"],[39191,0,"e"],[39192,0,"n"],[39193,0,"t"],[39194,0," "],[39195,0,"i"],[39196,0,"d"],[39197,0,"e"],[39198,0,"n"],[39199,0,"t"],[39200,0,"i"],[39201,0,"f"],[39202,0,"i"],[39203,0,"e"],[39204,0,"d"],[39205,0," "],[39206,0,"b"],[39207,0,"y"],[39208,0," "],[39209,0,"t"],[39210,0,"h"],[39211,0,"e"],[39212,0," "],[39213,0,"c"],[39214,0,"u"],[39215,0,"r"],[39216,0,"s"],[39217,0,"o"],[39218,0,"r"],[38893,1],[38892,1],[38891,1],[38890,1],[38889,1],[38888,1],[38902,1],[38901,1],[38900,1],[38899,1],[38898,1],[38897,1],[38896,1],[38895,1],[38894,1],[38893,1],[38892,1],[38912,0," "],[38913,0,"s"],[38914,0,"e"],[38915,0,"t"],[38916,0,"s"],[38917,0," "],[38918,0,"t"],[38919,0,"h"],[38920,0,"e"],[38921,0," "],[38922,0,"v"],[38923,0,"a"],[38924,0,"l"],[38925,0,"u"],[38926,0,"e"],[38927,0," "],[38928,0,"o"],[38929,0,"f"],[38930,0," "],[38931,0,"t"],[38932,0,"h"],[38933,0,"e"],[38934,0," "],[38935,0,"r"],[38936,0,"e"],[38937,0,"g"],[38938,0,"i"],[38939,0,"s"],[38940,0,"t"],[38941,0,"e"],[38942,0,"r"],[38943,0," "],[38944,0,"i"],[38945,0,"d"],[38946,0,"e"],[38947,0,"n"],[38948,0,"t"],[38949,0,"i"],[38950,0,"f"],[38951,0,"i"],[38952,0,"e"],[38953,0,"d"],[38954,0," "],[38955,0,"b"],[38956,0,"y"],[38957,0," "],[38958,0,"t"],[38959,0,"h"],[38960,0,"e"],[38961,0," "],[38962,0,"c"],[38963,0,"u"],[38964,0,"r"],[38965,0,"s"],[38966,0,"o"],[38967,0,"r"],[38874,1],[38873,1],[38872,1],[38871,1],[38870,1],[38869,1],[38868,1],[38867,1],[38866,1],[38865,1],[38864,1],[38863,1],[38862,1],[38861,1],[38860,1],[38859,1],[38858,1],[38857,1],[38856,1],[38855,1],[38854,1],[38853,1],[38853,0,"w"],[38854,0,"r"],[38855,0,"i"],[38856,0,"t"],[38857,0,"i"],[38858,0,"n"],[38859,0,"g"],[38860,0," "],[38861,0,"t"],[38862,0,"o"],[38904,1],[38903,1],[38902,1],[38901,1],[38901,0,"a"],[38902,0,"s"],[38903,0,"s"],[38904,0,"i"],[38905,0,"g"],[38906,0,"n"],[38907,0,"s"],[39036,0,"\\"],[39037,0,"e"],[39038,0,"m"],[39039,0,"p"],[39040,0,"h"],[39041,0,"{"],[39047,0,"}"],[39060,1],[39059,1],[39058,1],[39057,1],[39056,1],[39055,1],[39054,1],[39053,1],[39053,0,"e"],[39054,0,"x"],[39055,0,"i"],[39056,0,"s"],[39057,0,"t"],[39058,0,"i"],[39059,0,"n"],[39060,0,"g"],[39061,0," "],[39062,0,"l"],[39063,0,"i"],[39064,0,"s"],[39065,0,"t"],[39066,0," "],[39067,0,"e"],[39068,0,"l"],[39069,0,"e"],[39070,0,"m"],[39071,0,"e"],[39072,0,"n"],[39073,0,"t"],[39051,1],[39050,1],[39049,1],[39049,0,"a"],[39050,0,"n"],[39375,1],[39374,1],[39373,1],[39372,1],[39371,1],[39370,1],[39369,1],[39368,1],[39367,1],[39366,1],[39365,1],[39364,1],[39363,1],[39362,1],[39361,1],[39360,1],[39359,1],[39358,1],[39357,1],[39356,1],[39355,1],[39354,1],[39353,1],[39352,1],[39351,1],[39350,1],[39349,1],[39348,1],[39347,1],[39346,1],[39345,1],[39344,1],[39343,1],[39342,1],[39341,1],[39340,1],[39339,1],[39338,1],[39337,1],[39336,1],[39335,1],[39334,1],[39333,1],[39332,1],[39331,1],[39330,1],[39329,1],[39328,1],[39327,1],[39326,1],[39325,1],[39324,1],[39323,1],[39322,1],[39321,1],[39320,1],[39319,1],[39318,1],[39317,1],[39316,1],[39315,1],[39314,1],[39313,1],[39312,1],[39311,1],[39310,1],[39309,1],[39308,1],[39307,1],[39306,1],[39305,1],[39304,1],[39303,1],[39302,1],[39301,1],[39300,1],[39299,1],[39298,1],[39297,1],[39296,1],[39295,1],[39294,1],[39293,1],[39292,1],[39291,1],[39290,1],[39289,1],[39288,1],[39287,1],[39286,1],[39285,1],[39284,1],[39283,1],[39282,1],[39281,1],[39280,1],[39279,1],[39278,1],[39277,1],[39276,1],[39275,1],[39274,1],[39273,1],[39272,1],[39271,1],[39270,1],[39458,0,","],[39459,0," "],[39460,0,"a"],[39461,0,"n"],[39462,0,"d"],[39463,0," "],[39464,0,"t"],[39465,0,"h"],[39466,0,"e"],[39467,0,"n"],[39468,0," "],[39469,0,"t"],[39470,0,"h"],[39471,0,"e"],[39472,0," "],[39473,0,"k"],[39474,0,"e"],[39475,0,"y"],[39476,0," "],[39477,0,"`"],[39478,0,"`"],[39479,0,"h"],[39479,1],[39478,1],[39477,1],[39477,0,"\\"],[39478,0,"t"],[39479,0,"e"],[39480,0,"x"],[39481,0,"t"],[39482,0,"t"],[39483,0,"t"],[39484,0,"{"],[39485,0,"\""],[39486,0,"s"],[39487,0,"h"],[39488,0,"o"],[39489,0,"p"],[39490,0,"p"],[39491,0,"i"],[39492,0,"n"],[39493,0,"g"],[39494,0,"\""],[39495,0,"}"],[39495,1],[39495,0,"|"],[39484,1],[39483,1],[39482,1],[39481,1],[39480,1],[39479,1],[39478,1],[39478,0,"v"],[39479,0,"e"],[39480,0,"r"],[39481,0,"b"],[39482,0,"|"],[39494,0," "],[39495,0,"w"],[39496,0,"i"],[39497,0,"t"],[39498,0,"h"],[39499,0,"i"],[39500,0,"n"],[39501,0," "],[39502,0,"t"],[39503,0,"h"],[39504,0,"a"],[39505,0,"t"],[39506,0," "],[39507,0,"m"],[39508,0,"a"],[39509,0,"p"],[39510,0," "],[39511,0,"i"],[39512,0,"s"],[39513,0," "],[39514,0,"s"],[39515,0,"e"],[39516,0,"t"],[39517,0," "],[39518,0,"t"],[39519,0,"o"],[39520,0," "],[39521,0,"t"],[39522,0,"h"],[39523,0,"e"],[39524,0," "],[39525,0,"e"],[39526,0,"m"],[39527,0,"p"],[39528,0,"t"],[39529,0,"y"],[39530,0," "],[39531,0,"l"],[39532,0,"i"],[39533,0,"s"],[39534,0,"t"],[39535,0," "],[39536,0,"\\"],[39537,0,"v"],[39538,0,"e"],[39539,0,"r"],[39540,0,"b"],[39541,0,"|"],[39542,0,"["],[39543,0,"]"],[39544,0,"|"],[39556,1],[39555,1],[39554,1],[39553,1],[39552,1],[39551,1],[39551,0,"t"],[39552,0,"h"],[39553,0,"i"],[39554,0,"r"],[39555,0,"d"],[39590,1],[39589,1],[39588,1],[39587,1],[39586,1],[39585,1],[39584,1],[39584,0,"v"],[39585,0,"e"],[39586,0,"r"],[39587,0,"b"],[39588,0,"|"],[39599,1],[39599,0,"|"],[39673,1],[39672,1],[39671,1],[39670,1],[39669,1],[39668,1],[39667,1],[39666,1],[39665,1],[39664,1],[39663,1],[39662,1],[39661,1],[39660,1],[39659,1],[39658,1],[39657,1],[39656,1],[39655,1],[39654,1],[39653,1],[39652,1],[39651,1],[39650,1],[39649,1],[39648,1],[39647,1],[39646,1],[39645,1],[39644,1],[39643,1],[39642,1],[39641,1],[39640,1],[39639,1],[39638,1],[39637,1],[39636,1],[39635,1],[39634,1],[39633,1],[39632,1],[39631,1],[39630,1],[39629,1],[39628,1],[39627,1],[39626,1],[39625,1],[39624,1],[39623,1],[39622,1],[39621,1],[39620,1],[39619,1],[39618,1],[39617,1],[39616,1],[39615,1],[39614,1],[39613,1],[39612,1],[39611,1],[39610,1],[39609,1],[39608,1],[39607,1],[39606,1],[39605,1],[39604,1],[39603,1],[39602,1],[39601,1],[39714,1],[39713,1],[39712,1],[39711,1],[39710,1],[39709,1],[39708,1],[39707,1],[39706,1],[39705,1],[39704,1],[39703,1],[39702,1],[39701,1],[39700,1],[39699,1],[39698,1],[39697,1],[39696,1],[39695,1],[39694,1],[39693,1],[39692,1],[39691,1],[39690,1],[39689,1],[39688,1],[39687,1],[39686,1],[39685,1],[39684,1],[39683,1],[39682,1],[39681,1],[39680,1],[39679,1],[39678,1],[39677,1],[39676,1],[39675,1],[39674,1],[39673,1],[39672,1],[39671,1],[39670,1],[39669,1],[39668,1],[39667,1],[39666,1],[39665,1],[39664,1],[39663,1],[39662,1],[39661,1],[39660,1],[39659,1],[39658,1],[39657,1],[39656,1],[39655,1],[39654,1],[39653,1],[39652,1],[39651,1],[39650,1],[39649,1],[39648,1],[39647,1],[39646,1],[39645,1],[39644,1],[39643,1],[39642,1],[39641,1],[39640,1],[39639,1],[39638,1],[39637,1],[39636,1],[39635,1],[39634,1],[39633,1],[39633,0,","],[39634,0," "],[39635,0,"p"],[39636,0,"l"],[39637,0,"a"],[39638,0,"c"],[39639,0,"i"],[39640,0,"n"],[39641,0,"g"],[39642,0," "],[39643,0,"t"],[39644,0,"h"],[39645,0,"e"],[39646,0," "],[39647,0,"c"],[39648,0,"u"],[39649,0,"r"],[39650,0,"s"],[39651,0,"o"],[39652,0,"r"],[39653,0," "],[39654,0,"i"],[39655,0,"n"],[39656,0," "],[39657,0,"a"],[39658,0," "],[39659,0,"v"],[39660,0,"a"],[39661,0,"r"],[39662,0,"i"],[39663,0,"a"],[39664,0,"b"],[39665,0,"l"],[39666,0,"e"],[39667,0," "],[39668,0,"c"],[39669,0,"a"],[39670,0,"l"],[39671,0,"l"],[39672,0,"e"],[39673,0,"d"],[39674,0," "],[39675,0,"\\"],[39676,0,"t"],[39677,0,"e"],[39678,0,"x"],[39679,0,"t"],[39680,0,"t"],[39681,0,"t"],[39682,0,"{"],[39683,0,"h"],[39684,0,"e"],[39685,0,"a"],[39686,0,"d"],[39687,0,"}"],[39689,0,"\n"],[39690,0,"\n"],[39689,0," "],[39690,0,"T"],[39691,0,"h"],[39692,0,"e"],[39693,0," "],[39694,0,"l"],[39695,0,"i"],[39696,0,"s"],[39697,0,"t"],[39698,0," "],[39699,0,"e"],[39700,0,"l"],[39701,0,"e"],[39702,0,"m"],[39703,0,"e"],[39704,0,"n"],[39705,0,"t"],[39706,0," "],[39707,0,"`"],[39708,0,"`"],[39709,0,"e"],[39710,0,"g"],[39711,0,"g"],[39712,0,"s"],[39713,0,"'"],[39714,0,"'"],[39715,0," "],[39716,0,"i"],[39717,0,"s"],[39718,0," "],[39719,0,"i"],[39720,0,"n"],[39721,0,"s"],[39722,0,"e"],[39723,0,"r"],[39724,0,"t"],[39725,0,"e"],[39726,0,"d"],[39727,0," "],[39728,0,"a"],[39729,0,"t"],[39730,0," "],[39731,0,"t"],[39732,0,"h"],[39733,0,"e"],[39734,0," "],[39735,0,"h"],[39736,0,"e"],[39737,0,"a"],[39738,0,"d"],[39739,0," "],[39740,0,"o"],[39741,0,"f"],[39742,0," "],[39743,0,"t"],[39744,0,"h"],[39745,0,"e"],[39746,0," "],[39747,0,"l"],[39748,0,"i"],[39749,0,"s"],[39750,0,"t"],[39751,0,"."],[39752,0," "],[39753,0,"I"],[39754,0,"n"],[39755,0," "],[39756,0,"l"],[39757,0,"i"],[39758,0,"n"],[39759,0,"e"],[39760,0," "],[39761,0,"5"],[39762,0,","],[39763,0," "],[24204,0,"A"],[24205,0,"f"],[24206,0,"t"],[24207,0,"e"],[24208,0,"r"],[24350,0,"A"],[24351,0,"f"],[24352,0,"t"],[24353,0,"e"],[24354,0,"r"],[24495,0,"A"],[24496,0,"f"],[24497,0,"t"],[24498,0,"e"],[24499,0,"r"],[24640,0,"A"],[24641,0,"f"],[24642,0,"t"],[24643,0,"e"],[24644,0,"r"],[26008,0,"A"],[26009,0,"F"],[26010,0,"t"],[26011,0,"e"],[26012,0,"r"],[26012,1],[26011,1],[26010,1],[26009,1],[26009,0,"f"],[26010,0,"t"],[26011,0,"e"],[26012,0,"r"],[26092,0,"A"],[26093,0,"f"],[26094,0,"t"],[26095,0,"e"],[26096,0,"r"],[26177,0,"A"],[26178,0,"f"],[26179,0,"t"],[26180,0,"e"],[26181,0,"r"],[27722,0,"A"],[27723,0,"f"],[27724,0,"t"],[27725,0,"e"],[27726,0,"r"],[35302,0,"A"],[35303,0,"f"],[35304,0,"t"],[35305,0,"e"],[35306,0,"r"],[36258,0,"A"],[36259,0,"f"],[36260,0,"t"],[36261,0,"e"],[36262,0,"r"],[36323,0,"A"],[36324,0,"f"],[36325,0,"t"],[36326,0,"e"],[36327,0,"r"],[36351,0,"A"],[36352,0,"f"],[36353,0,"t"],[36354,0,"e"],[36355,0,"r"],[39073,0,"A"],[39074,0,"f"],[39075,0,"t"],[39076,0,"e"],[39077,0,"r"],[39101,1],[39101,1],[39101,1],[39101,1],[39101,1],[39101,1],[39106,1],[39184,0,"A"],[39185,0,"f"],[39186,0,"t"],[39187,0,"e"],[39188,0,"r"],[32425,0,"b"],[32425,1],[32425,0," "],[32426,0,"b"],[32427,0,"e"],[32441,1],[32441,1],[32441,1],[38424,0," "],[38425,0,"("],[38426,0,"a"],[38427,0," "],[38428,0,"v"],[38429,0,"i"],[38430,0,"r"],[38431,0,"t"],[38432,0,"u"],[38433,0,"a"],[38434,0,"l"],[38435,0," "],[38436,0,"p"],[38437,0,"o"],[38438,0,"s"],[38439,0,"i"],[38440,0,"t"],[38441,0,"i"],[38442,0,"o"],[38443,0,"n"],[38444,0," "],[38445,0,"b"],[38446,0,"e"],[38447,0,"f"],[38448,0,"o"],[38449,0,"r"],[38450,0,"e"],[38451,0," "],[38452,0,"t"],[38453,0,"h"],[38454,0,"e"],[38455,0," "],[38456,0,"f"],[38457,0,"i"],[38458,0,"r"],[38459,0,"s"],[38460,0,"t"],[38461,0," "],[38462,0,"l"],[38463,0,"i"],[38464,0,"s"],[38465,0,"t"],[38466,0," "],[38467,0,"e"],[38468,0,"l"],[38469,0,"e"],[38470,0,"m"],[38471,0,"e"],[38472,0,"n"],[38473,0,"t"],[38474,0,")"],[39159,1],[39158,1],[39158,0,"t"],[39159,0,"h"],[39160,0,"e"],[39879,0,"t"],[39880,0,"h"],[39881,0,"e"],[39882,0," "],[39883,0,"v"],[39884,0,"a"],[39885,0,"r"],[39886,0,"i"],[39887,0,"a"],[39888,0,"b"],[39889,0,"l"],[39890,0,"e"],[39891,0," "],[39892,0,"\\"],[39893,0,"t"],[39894,0,"e"],[39895,0,"x"],[39896,0,"t"],[39897,0,"t"],[39898,0,"t"],[39899,0,"{"],[39900,0,"t"],[39901,0,"a"],[39902,0,"i"],[39903,0,"l"],[39904,0,"}"],[39905,0," "],[39906,0,"i"],[39907,0,"s"],[39908,0," "],[39909,0,"s"],[39910,0,"e"],[39911,0,"t"],[39912,0," "],[39913,0,"t"],[39914,0,"o"],[39915,0," "],[39916,0,"a"],[39917,0," "],[39918,0,"c"],[39919,0,"u"],[39920,0,"r"],[39921,0,"s"],[39922,0,"o"],[39923,0,"r"],[39924,0," "],[39925,0,"p"],[39926,0,"o"],[39927,0,"i"],[39928,0,"n"],[39929,0,"t"],[39930,0,"i"],[39931,0,"n"],[39932,0,"g"],[39933,0," "],[39934,0,"a"],[39935,0,"t"],[39936,0," "],[39937,0,"t"],[39938,0,"h"],[39939,0,"e"],[39940,0," "],[39941,0,"l"],[39942,0,"i"],[39943,0,"s"],[39944,0,"t"],[39945,0," "],[39946,0,"e"],[39947,0,"l"],[39948,0,"e"],[39949,0,"m"],[39950,0,"e"],[39951,0,"n"],[39952,0,"t"],[39953,0," "],[39954,0,"`"],[39955,0,"`"],[39956,0,"e"],[39957,0,"g"],[39958,0,"g"],[39959,0,"s"],[39960,0,"'"],[39961,0,"'"],[39962,0,"."],[39963,0," "],[36280,1],[36279,1],[36278,1],[36277,1],[36277,0,"e"],[36278,0,"g"],[36279,0,"g"],[36280,0,"s"],[36343,1],[36342,1],[36341,1],[36340,1],[36340,0,"e"],[36341,0,"g"],[36342,0,"g"],[36343,0,"s"],[39903,1],[39902,1],[39901,1],[39900,1],[39900,0,"e"],[39901,0,"g"],[39902,0,"g"],[39903,0,"s"],[39964,0,"T"],[39965,0,"h"],[39966,0,"e"],[39967,0,"n"],[39968,0," "],[39969,0,"t"],[39970,0,"w"],[39971,0,"o"],[39972,0," "],[39973,0,"m"],[39974,0,"o"],[39975,0,"r"],[39976,0,"e"],[39977,0," "],[39978,0,"l"],[39979,0,"i"],[39980,0,"s"],[39981,0,"t"],[39982,0," "],[39983,0,"e"],[39984,0,"l"],[39985,0,"e"],[39986,0,"m"],[39987,0,"e"],[39988,0,"n"],[39989,0,"t"],[39990,0,"s"],[39991,0," "],[39992,0,"a"],[39993,0,"r"],[39994,0,"e"],[39995,0," "],[39996,0,"i"],[39997,0,"n"],[39998,0,"s"],[39999,0,"e"],[40000,0,"r"],[40001,0,"t"],[40002,0,"e"],[40003,0,"d"],[40004,0,":"],[40005,0," "],[40006,0,"`"],[40007,0,"`"],[40008,0,"c"],[40009,0,"h"],[40010,0,"e"],[40011,0,"e"],[40012,0,"s"],[40013,0,"e"],[40014,0,"'"],[40015,0,"'"],[40016,0," "],[40017,0,"i"],[40018,0,"s"],[40019,0," "],[40020,0,"i"],[40021,0,"n"],[40022,0,"s"],[40023,0,"e"],[40024,0,"r"],[40024,1],[40023,1],[40022,1],[40021,1],[40020,1],[40019,1],[40018,1],[40017,1],[40017,0,"a"],[40018,0,"t"],[40019,0," "],[40020,0,"t"],[40021,0,"h"],[40022,0,"e"],[40023,0," "],[40024,0,"h"],[40025,0,"e"],[40026,0,"a"],[40027,0,"d"],[40028,0,","],[40029,0," "],[40030,0,"a"],[40031,0,"n"],[40032,0,"d"],[40033,0," "],[40034,0,"`"],[40035,0,"`"],[40036,0,"m"],[40037,0,"i"],[40038,0,"l"],[40039,0,"k"],[40040,0,"'"],[40041,0,"'"],[40042,0," "],[40043,0,"a"],[40044,0,"f"],[40045,0,"t"],[40046,0,"e"],[40047,0,"r"],[40048,0," "],[40049,0,"`"],[40050,0,"`"],[40051,0,"e"],[40052,0,"g"],[40053,0,"g"],[40054,0,"s"],[40055,0,"'"],[40056,0,"'"],[40057,0,"."],[40058,0," "],[40059,0,"N"],[40060,0,"o"],[40061,0,"t"],[40062,0,"e"],[40063,0," "],[40064,0,"t"],[40065,0,"h"],[40066,0,"a"],[40067,0,"t"],[40068,0," "],[40069,0,"t"],[40070,0,"h"],[40071,0,"e"],[40072,0," "],[40073,0,"c"],[40074,0,"u"],[40075,0,"r"],[40076,0,"s"],[40077,0,"o"],[40078,0,"r"],[40079,0," "],[40080,0,"i"],[40081,0,"d"],[40082,0,"e"],[40083,0,"n"],[40084,0,"t"],[40085,0,"i"],[40085,1],[40084,1],[40083,1],[40082,1],[40081,1],[40080,1],[40080,0,"\\"],[40081,0,"t"],[40082,0,"e"],[40083,0,"x"],[40084,0,"t"],[40085,0,"t"],[40086,0,"t"],[40087,0,"{"],[40088,0,"e"],[40089,0,"g"],[40090,0,"g"],[40091,0,"s"],[40092,0,"}"],[40093,0," "],[40094,0,"i"],[40095,0,"d"],[40096,0,"e"],[40097,0,"n"],[40098,0,"t"],[40099,0,"i"],[40100,0,"f"],[40101,0,"i"],[40102,0,"e"],[40103,0,"s"],[40104,0," "],[40105,0,"t"],[40106,0,"h"],[40107,0,"e"],[40108,0," "],[40109,0,"l"],[40110,0,"i"],[40111,0,"s"],[40112,0,"t"],[40113,0," "],[40114,0,"e"],[40115,0,"l"],[40116,0,"e"],[40117,0,"m"],[40118,0,"e"],[40119,0,"n"],[40120,0,"t"],[40121,0," "],[40122,0,"b"],[40123,0,"y"],[40124,0," "],[40125,0,"i"],[40126,0,"d"],[40127,0,"e"],[40128,0,"n"],[40129,0,"t"],[40130,0,"i"],[40131,0,"t"],[40132,0,"y"],[40133,0,","],[40134,0," "],[40135,0,"n"],[40136,0,"o"],[40137,0,"t"],[40138,0," "],[40139,0,"b"],[40140,0,"y"],[40141,0," "],[40142,0,"i"],[40143,0,"t"],[40144,0,"s"],[40145,0," "],[40146,0,"i"],[40147,0,"n"],[40148,0,"d"],[40149,0,"e"],[40150,0,"x"],[40151,0,":"],[40152,0," "],[40153,0,"a"],[40154,0,"f"],[40155,0,"t"],[40156,0,"e"],[40157,0,"r"],[40158,0," "],[40159,0,"t"],[40160,0,"h"],[40161,0,"e"],[40162,0," "],[40163,0,"i"],[40164,0,"n"],[40165,0,"s"],[40166,0,"e"],[40167,0,"r"],[40168,0,"t"],[40169,0,"i"],[40170,0,"o"],[40171,0,"n"],[40172,0," "],[40173,0,"o"],[40174,0,"f"],[40175,0," "],[40176,0,"`"],[40177,0,"`"],[40178,0,"c"],[40179,0,"h"],[40180,0,"e"],[40181,0,"e"],[40182,0,"s"],[40183,0,"e"],[40184,0,"'"],[40185,0,"'"],[40186,0,","],[40187,0," "],[40188,0,"t"],[40189,0,"h"],[40190,0,"e"],[40191,0," "],[40192,0,"e"],[40193,0,"l"],[40194,0,"e"],[40195,0,"m"],[40196,0,"e"],[40197,0,"n"],[40198,0,"t"],[40199,0," "],[40200,0,"`"],[40201,0,"`"],[40202,0,"e"],[40203,0,"g"],[40204,0,"g"],[40205,0,"s"],[40206,0,"'"],[40207,0,"'"],[40208,0," "],[40209,0,"h"],[40210,0,"a"],[40211,0,"s"],[40212,0," "],[40213,0,"i"],[40214,0,"n"],[40215,0,"d"],[40216,0,"e"],[40217,0,"x"],[40218,0," "],[40219,0,"2"],[40220,0,","],[40221,0," "],[40222,0,"b"],[40223,0,"u"],[40224,0,"t"],[40225,0," "],[40226,0,"t"],[40227,0,"h"],[40228,0,"e"],[40229,0," "],[40229,1],[40228,1],[40227,1],[40226,1],[40226,0,"`"],[40227,0,"`"],[40228,0,"m"],[40229,0,"i"],[40230,0,"l"],[40231,0,"k"],[40232,0,"'"],[40233,0,"'"],[40234,0," "],[40235,0,"i"],[40236,0,"s"],[40237,0," "],[40238,0,"n"],[40239,0,"e"],[40240,0,"v"],[40241,0,"e"],[40242,0,"r"],[40243,0,"t"],[40244,0,"h"],[40245,0,"e"],[40246,0,"l"],[40247,0,"e"],[40248,0,"s"],[40249,0,"s"],[40250,0," "],[40251,0,"a"],[40252,0,"f"],[40252,1],[40251,1],[40251,0,"i"],[40252,0,"n"],[40253,0,"s"],[40254,0,"e"],[40255,0,"r"],[40256,0,"t"],[40257,0,"e"],[40258,0,"d"],[40259,0," "],[40260,0,"a"],[40261,0,"f"],[40262,0,"t"],[40263,0,"e"],[40264,0,"r"],[40265,0," "],[40266,0,"`"],[40267,0,"`"],[40268,0,"e"],[40269,0,"g"],[40270,0,"g"],[40271,0,"s"],[40272,0,"'"],[40273,0,"'"],[40274,0,"."],[40058,1],[40058,0,"\n"],[40059,0,"\n"],[40276,0," "],[40277,0,"T"],[40278,0,"h"],[40279,0,"i"],[40280,0,"s"],[40281,0," "],[40281,1],[40280,1],[40279,1],[40278,1],[40277,1],[40277,0,"A"],[40278,0,"s"],[40279,0," "],[40280,0,"w"],[40281,0,"e"],[40282,0," "],[40283,0,"s"],[40284,0,"h"],[40285,0,"a"],[40286,0,"l"],[40287,0,"l"],[40288,0," "],[40289,0,"s"],[40290,0,"e"],[40291,0,"e"],[40292,0," "],[40293,0,"l"],[40294,0,"a"],[40295,0,"t"],[40296,0,"e"],[40297,0,"r"],[40298,0,","],[40299,0," "],[40300,0,"t"],[40301,0,"h"],[40302,0,"i"],[40303,0,"s"],[40304,0," "],[40305,0,"f"],[40306,0,"e"],[40307,0,"a"],[40308,0,"t"],[40309,0,"u"],[40310,0,"r"],[40311,0,"e"],[40312,0," "],[40313,0,"i"],[40314,0,"s"],[40315,0," "],[40316,0,"h"],[40317,0,"e"],[40318,0,"l"],[40319,0,"p"],[40320,0,"f"],[40321,0,"u"],[40322,0,"l"],[40323,0," "],[40324,0,"f"],[40325,0,"o"],[40326,0,"r"],[40327,0," "],[40328,0,"a"],[40329,0,"c"],[40330,0,"h"],[40331,0,"i"],[40332,0,"e"],[40333,0,"v"],[40334,0,"i"],[40335,0,"n"],[40336,0,"g"],[40337,0," "],[40338,0,"d"],[40339,0,"e"],[40340,0,"s"],[40341,0,"i"],[40342,0,"r"],[40343,0,"a"],[40344,0,"b"],[40345,0,"l"],[40346,0,"e"],[40347,0," "],[40348,0,"s"],[40349,0,"e"],[40350,0,"m"],[40351,0,"a"],[40352,0,"n"],[40353,0,"t"],[40354,0,"i"],[40355,0,"c"],[40356,0,"s"],[40357,0," "],[40358,0,"i"],[40359,0,"n"],[40360,0," "],[40361,0,"t"],[40362,0,"h"],[40363,0,"e"],[40364,0," "],[40365,0,"p"],[40366,0,"r"],[40367,0,"e"],[40368,0,"s"],[40369,0,"e"],[40370,0,"n"],[40371,0,"c"],[40372,0,"e"],[40373,0," "],[40374,0,"o"],[40375,0,"f"],[40376,0," "],[40377,0,"c"],[40378,0,"o"],[40379,0,"n"],[40380,0,"c"],[40381,0,"u"],[40382,0,"r"],[40383,0,"r"],[40384,0,"e"],[40385,0,"n"],[40386,0,"t"],[40387,0," "],[40388,0,"m"],[40389,0,"o"],[40390,0,"d"],[40391,0,"i"],[40392,0,"f"],[40393,0,"i"],[40394,0,"c"],[40395,0,"a"],[40396,0,"t"],[40397,0,"i"],[40398,0,"o"],[40399,0,"n"],[40400,0,"s"],[40401,0,"."],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40404,1],[40212,1],[40211,1],[40210,1],[40210,0,"m"],[40211,0,"o"],[40212,0,"v"],[40213,0,"e"],[40214,0,"s"],[40215,0," "],[40216,0,"f"],[40217,0,"r"],[40218,0,"o"],[40219,0,"m"],[40220,0," "],[40221,0,"i"],[40222,0,"n"],[40223,0,"d"],[40224,0,"e"],[40225,0,"x"],[40226,0," "],[40227,0,"1"],[40228,0," "],[40229,0,"t"],[40230,0,"o"],[40232,1],[40232,1],[40232,1],[40232,1],[40232,1],[40232,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[40416,1],[47380,0,"H"],[47380,1],[47380,0,"W"],[47381,0,"e"],[47382,0," "],[47383,0,"n"],[47384,0,"o"],[47385,0,"w"],[47386,0," "],[47387,0,"e"],[47388,0,"x"],[47389,0,"p"],[47390,0,"l"],[47391,0,"a"],[47392,0,"i"],[47393,0,"n"],[47394,0," "],[47395,0,"f"],[47396,0,"o"],[47397,0,"r"],[47398,0,"m"],[47399,0,"a"],[47400,0,"l"],[47401,0,"l"],[47402,0,"y"],[47403,0," "],[47404,0,"h"],[47405,0,"o"],[47406,0,"w"],[47407,0," "],[47408,0,"t"],[47409,0,"o"],[47410,0," "],[47411,0,"a"],[47412,0,"c"],[47413,0,"h"],[47414,0,"i"],[47415,0,"e"],[47416,0,"v"],[47417,0,"e"],[47418,0," "],[47419,0,"t"],[47420,0,"h"],[47421,0,"e"],[47422,0," "],[47423,0,"c"],[47424,0,"o"],[47425,0,"n"],[47426,0,"c"],[47427,0,"u"],[47428,0,"r"],[47429,0,"r"],[47430,0,"e"],[47431,0,"n"],[47432,0,"t"],[47433,0," "],[47434,0,"s"],[47435,0,"e"],[47436,0,"m"],[47437,0,"a"],[47438,0,"n"],[47439,0,"t"],[47440,0,"i"],[47441,0,"c"],[47442,0,"s"],[47443,0," "],[47444,0,"o"],[47445,0,"u"],[47446,0,"t"],[47447,0,"l"],[47448,0,"i"],[47449,0,"n"],[47450,0,"e"],[47451,0,"d"],[47452,0," "],[47453,0,"i"],[47454,0,"n"],[47455,0," "],[47456,0,"S"],[47457,0,"e"],[47458,0,"c"],[47459,0,"t"],[47460,0,"i"],[47461,0,"o"],[47462,0,"n"],[47463,0,"~"],[47464,0,"\\"],[47465,0,"r"],[47466,0,"e"],[47467,0,"f"],[47468,0,"{"],[47469,0,"s"],[47470,0,"e"],[47471,0,"c"],[47472,0,":"],[47473,0,"c"],[47474,0,"o"],[47475,0,"m"],[47476,0,"p"],[47477,0,"o"],[47478,0,"s"],[47479,0,"i"],[47480,0,"n"],[47481,0,"g"],[47482,0,"}"],[47483,0,"."],[47484,0," "],[41974,1],[41973,1],[41972,1],[41971,1],[41970,1],[41969,1],[41968,1],[41967,1],[41966,1],[41965,1],[41964,1],[41963,1],[41962,1],[41961,1],[41960,1],[41959,1],[41958,1],[41957,1],[41956,1],[41955,1],[41954,1],[41953,1],[41952,1],[41951,1],[41950,1],[41949,1],[41948,1],[41947,1],[41946,1],[41945,1],[41944,1],[41943,1],[41942,1],[41941,1],[41940,1],[41939,1],[41938,1],[41937,1],[41936,1],[41935,1],[41934,1],[41933,1],[41932,1],[41931,1],[41930,1],[41929,1],[41928,1],[41927,1],[41926,1],[41925,1],[41924,1],[41923,1],[41922,1],[41921,1],[41920,1],[41919,1],[41918,1],[41917,1],[41916,1],[41915,1],[41914,1],[41913,1],[41912,1],[41911,1],[41910,1],[41909,1],[41908,1],[41907,1],[41906,1],[41905,1],[41904,1],[41903,1],[41902,1],[41901,1],[41900,1],[41899,1],[41898,1],[41897,1],[41896,1],[41895,1],[41894,1],[41893,1],[41892,1],[41891,1],[41890,1],[41889,1],[41888,1],[41887,1],[41886,1],[41885,1],[41884,1],[41883,1],[41882,1],[41881,1],[41880,1],[41879,1],[41878,1],[41877,1],[41876,1],[41875,1],[41874,1],[41873,1],[41872,1],[41871,1],[41870,1],[41869,1],[41868,1],[41867,1],[41866,1],[41865,1],[41864,1],[41863,1],[41862,1],[41861,1],[41860,1],[41859,1],[41858,1],[41857,1],[41856,1],[41855,1],[41854,1],[41853,1],[41852,1],[41851,1],[41850,1],[41849,1],[41848,1],[41847,1],[41846,1],[41845,1],[41844,1],[41843,1],[41842,1],[41841,1],[41840,1],[41839,1],[41838,1],[41837,1],[41836,1],[41835,1],[41834,1],[41833,1],[41832,1],[41831,1],[41830,1],[41829,1],[41828,1],[41827,1],[41826,1],[41825,1],[41824,1],[41823,1],[41822,1],[41821,1],[41820,1],[41819,1],[41818,1],[41817,1],[41816,1],[41815,1],[41814,1],[41813,1],[41812,1],[41811,1],[41810,1],[41809,1],[41808,1],[41807,1],[41806,1],[41805,1],[41804,1],[41803,1],[41802,1],[41801,1],[41800,1],[41799,1],[41798,1],[41797,1],[41796,1],[41795,1],[41794,1],[41793,1],[41792,1],[41791,1],[41790,1],[41789,1],[41788,1],[41787,1],[41786,1],[41785,1],[41784,1],[41783,1],[41782,1],[41781,1],[41780,1],[41779,1],[41778,1],[41777,1],[41776,1],[41775,1],[41774,1],[41773,1],[41772,1],[41771,1],[41770,1],[41769,1],[41768,1],[41767,1],[41766,1],[41765,1],[41764,1],[41763,1],[41762,1],[41761,1],[41760,1],[41759,1],[41758,1],[41757,1],[41756,1],[41755,1],[41754,1],[41753,1],[41752,1],[41751,1],[41750,1],[41749,1],[41748,1],[41747,1],[41746,1],[41745,1],[41744,1],[41743,1],[41742,1],[41741,1],[41740,1],[41739,1],[41738,1],[41737,1],[41736,1],[41735,1],[41734,1],[41733,1],[41732,1],[41731,1],[41730,1],[41729,1],[41728,1],[41727,1],[41726,1],[41725,1],[41724,1],[41723,1],[41722,1],[41721,1],[41720,1],[41719,1],[41718,1],[41717,1],[41716,1],[41715,1],[41714,1],[41713,1],[41712,1],[41711,1],[41710,1],[41709,1],[41708,1],[41707,1],[41706,1],[41705,1],[41704,1],[41703,1],[41702,1],[41701,1],[41700,1],[41699,1],[41698,1],[41697,1],[41696,1],[41695,1],[41694,1],[41693,1],[41692,1],[41691,1],[41690,1],[41689,1],[41688,1],[41687,1],[41686,1],[41685,1],[41684,1],[41683,1],[41682,1],[41681,1],[41680,1],[41679,1],[41678,1],[41677,1],[41676,1],[41675,1],[41674,1],[41673,1],[41672,1],[41671,1],[41670,1],[41669,1],[41668,1],[41667,1],[41666,1],[41665,1],[41664,1],[41663,1],[41662,1],[41661,1],[41660,1],[41659,1],[41658,1],[41657,1],[41656,1],[41655,1],[41654,1],[41653,1],[41652,1],[41651,1],[41650,1],[41649,1],[41648,1],[41647,1],[41646,1],[41645,1],[41644,1],[41643,1],[41642,1],[41641,1],[41640,1],[41639,1],[41638,1],[41637,1],[41636,1],[41635,1],[41634,1],[41633,1],[41632,1],[41631,1],[41630,1],[41629,1],[41628,1],[41627,1],[41626,1],[41625,1],[41624,1],[41623,1],[41622,1],[41621,1],[41620,1],[41619,1],[41618,1],[41617,1],[41616,1],[41615,1],[41614,1],[41613,1],[41612,1],[41611,1],[41610,1],[41609,1],[41608,1],[41607,1],[41606,1],[41605,1],[41604,1],[41603,1],[41602,1],[41601,1],[41600,1],[41599,1],[41598,1],[41597,1],[41596,1],[41595,1],[41594,1],[41593,1],[41592,1],[41591,1],[41590,1],[41589,1],[41588,1],[41587,1],[41586,1],[41585,1],[41584,1],[41583,1],[41582,1],[41581,1],[41580,1],[41579,1],[41578,1],[41577,1],[41576,1],[41575,1],[41574,1],[41573,1],[41572,1],[41571,1],[41570,1],[41569,1],[41568,1],[41567,1],[41566,1],[41565,1],[41564,1],[41563,1],[41562,1],[41561,1],[41560,1],[41559,1],[41558,1],[41557,1],[41556,1],[41555,1],[41554,1],[41553,1],[41552,1],[41551,1],[41550,1],[41549,1],[41548,1],[41547,1],[41546,1],[41545,1],[41544,1],[41543,1],[41542,1],[41541,1],[41540,1],[41539,1],[41538,1],[41537,1],[41536,1],[41535,1],[41534,1],[41533,1],[41532,1],[41531,1],[41530,1],[41529,1],[41528,1],[41527,1],[41526,1],[41525,1],[41524,1],[41523,1],[41522,1],[41521,1],[41520,1],[41519,1],[41518,1],[41517,1],[41516,1],[41515,1],[41514,1],[41513,1],[41512,1],[41511,1],[41510,1],[41509,1],[41508,1],[41507,1],[41506,1],[41505,1],[41504,1],[41503,1],[41502,1],[41501,1],[41500,1],[41499,1],[41498,1],[41497,1],[41496,1],[41495,1],[41494,1],[41493,1],[41492,1],[41491,1],[41490,1],[41489,1],[41488,1],[41487,1],[41486,1],[41485,1],[41484,1],[41483,1],[41482,1],[41481,1],[41480,1],[41479,1],[41478,1],[41477,1],[41476,1],[41475,1],[41474,1],[41473,1],[41472,1],[41471,1],[41470,1],[41469,1],[41468,1],[41467,1],[41466,1],[41465,1],[41464,1],[41463,1],[41462,1],[41461,1],[41460,1],[41459,1],[41458,1],[41457,1],[41456,1],[41455,1],[41454,1],[41453,1],[41452,1],[41451,1],[41450,1],[41449,1],[41448,1],[41447,1],[41446,1],[41445,1],[41444,1],[41443,1],[41442,1],[41441,1],[41440,1],[41439,1],[41438,1],[41437,1],[41436,1],[41435,1],[41434,1],[41433,1],[41432,1],[41431,1],[41430,1],[41429,1],[41428,1],[41427,1],[41426,1],[41425,1],[41424,1],[41423,1],[41422,1],[41421,1],[41420,1],[41419,1],[41418,1],[41417,1],[41416,1],[41415,1],[41414,1],[41413,1],[41412,1],[41411,1],[41410,1],[41409,1],[41408,1],[41407,1],[41406,1],[41405,1],[41404,1],[41403,1],[41402,1],[41401,1],[41400,1],[41399,1],[41398,1],[41397,1],[41396,1],[41395,1],[41394,1],[41393,1],[41392,1],[41391,1],[41390,1],[41389,1],[41388,1],[41387,1],[41386,1],[41385,1],[41384,1],[41383,1],[41382,1],[41381,1],[41380,1],[41379,1],[41378,1],[41377,1],[41376,1],[41375,1],[41374,1],[41373,1],[41372,1],[41371,1],[41370,1],[41369,1],[41368,1],[41367,1],[41366,1],[41365,1],[41364,1],[41363,1],[41362,1],[41361,1],[41360,1],[41359,1],[41358,1],[41357,1],[41356,1],[41355,1],[41354,1],[41353,1],[41352,1],[41351,1],[41350,1],[41349,1],[41348,1],[41347,1],[41346,1],[41345,1],[41344,1],[41343,1],[41342,1],[41341,1],[41340,1],[41339,1],[41338,1],[41337,1],[41336,1],[41335,1],[41334,1],[41333,1],[41332,1],[41331,1],[41330,1],[41329,1],[41328,1],[41327,1],[41326,1],[41325,1],[41324,1],[41323,1],[41322,1],[41321,1],[41320,1],[41319,1],[41318,1],[41317,1],[41316,1],[41315,1],[41314,1],[41313,1],[41312,1],[41311,1],[41310,1],[41309,1],[41308,1],[41307,1],[41306,1],[41305,1],[41304,1],[41303,1],[41302,1],[41301,1],[41300,1],[41299,1],[41298,1],[41297,1],[41296,1],[41295,1],[41294,1],[41293,1],[41292,1],[41291,1],[41290,1],[41289,1],[41288,1],[41287,1],[41286,1],[41285,1],[41284,1],[41283,1],[41282,1],[41281,1],[41280,1],[41279,1],[41278,1],[41277,1],[41276,1],[41275,1],[41274,1],[41273,1],[41272,1],[41271,1],[41270,1],[41269,1],[41268,1],[41267,1],[41266,1],[41265,1],[41264,1],[41263,1],[41262,1],[41261,1],[41260,1],[41259,1],[41258,1],[41257,1],[41256,1],[41255,1],[41254,1],[41253,1],[41252,1],[41251,1],[41250,1],[41249,1],[41248,1],[41247,1],[41246,1],[41245,1],[41244,1],[41243,1],[41242,1],[41241,1],[41240,1],[41239,1],[41238,1],[41237,1],[41236,1],[41235,1],[41234,1],[41233,1],[41232,1],[41231,1],[41230,1],[41229,1],[41228,1],[41227,1],[41226,1],[41225,1],[41224,1],[41223,1],[41222,1],[41221,1],[41220,1],[41219,1],[41218,1],[41217,1],[41216,1],[41215,1],[41214,1],[41213,1],[41212,1],[41211,1],[41210,1],[41209,1],[41208,1],[41207,1],[41206,1],[41205,1],[41204,1],[41203,1],[41202,1],[41201,1],[41200,1],[41199,1],[41198,1],[41197,1],[41196,1],[41195,1],[41194,1],[41193,1],[41192,1],[41191,1],[41190,1],[41189,1],[41188,1],[41187,1],[41186,1],[41185,1],[41184,1],[41183,1],[41182,1],[41181,1],[41180,1],[41179,1],[41178,1],[41177,1],[41176,1],[41175,1],[41174,1],[41173,1],[41172,1],[41171,1],[41170,1],[41169,1],[41168,1],[41167,1],[41166,1],[41165,1],[41164,1],[41163,1],[41162,1],[41161,1],[41160,1],[41159,1],[41158,1],[41157,1],[41156,1],[41155,1],[41154,1],[41153,1],[41152,1],[41151,1],[41150,1],[41149,1],[41148,1],[41147,1],[41146,1],[41145,1],[41144,1],[41143,1],[41142,1],[41141,1],[41140,1],[41139,1],[41138,1],[41137,1],[41136,1],[41135,1],[41134,1],[41133,1],[41132,1],[41131,1],[41130,1],[41129,1],[41128,1],[41127,1],[41126,1],[41125,1],[41124,1],[41123,1],[41122,1],[41121,1],[41120,1],[41119,1],[41118,1],[41117,1],[41116,1],[41115,1],[41114,1],[41113,1],[41112,1],[41111,1],[41110,1],[41109,1],[41108,1],[41107,1],[41106,1],[41105,1],[41104,1],[41103,1],[41102,1],[41101,1],[41100,1],[41099,1],[41098,1],[41097,1],[41096,1],[41095,1],[41094,1],[41093,1],[41092,1],[41091,1],[41090,1],[41089,1],[41088,1],[41087,1],[41086,1],[41085,1],[41084,1],[41083,1],[41082,1],[41081,1],[41080,1],[41079,1],[41078,1],[41077,1],[41076,1],[41075,1],[41074,1],[41073,1],[41072,1],[41071,1],[41070,1],[41069,1],[41068,1],[41067,1],[41066,1],[41065,1],[41064,1],[41063,1],[41062,1],[41061,1],[41060,1],[41059,1],[41058,1],[41057,1],[41056,1],[41055,1],[41054,1],[41053,1],[41052,1],[41051,1],[41050,1],[41049,1],[41048,1],[41047,1],[41046,1],[41045,1],[41044,1],[41043,1],[41042,1],[41041,1],[41040,1],[41039,1],[41038,1],[41037,1],[41036,1],[41035,1],[41034,1],[41033,1],[41032,1],[41031,1],[41030,1],[41029,1],[41028,1],[41027,1],[41026,1],[41025,1],[41024,1],[41023,1],[41022,1],[41021,1],[41020,1],[41019,1],[41018,1],[41017,1],[41016,1],[41015,1],[41014,1],[41013,1],[41012,1],[41011,1],[41010,1],[41009,1],[41008,1],[41007,1],[41006,1],[41005,1],[41004,1],[41003,1],[41002,1],[41001,1],[41000,1],[40999,1],[40998,1],[40997,1],[40996,1],[40995,1],[40994,1],[40993,1],[40992,1],[40991,1],[40990,1],[40989,1],[40988,1],[40987,1],[40986,1],[40985,1],[40984,1],[40983,1],[40982,1],[40981,1],[40980,1],[40979,1],[40978,1],[40977,1],[40976,1],[40975,1],[40974,1],[40973,1],[40972,1],[40971,1],[40970,1],[40969,1],[40968,1],[40967,1],[40966,1],[40965,1],[40964,1],[40963,1],[40962,1],[40961,1],[40960,1],[40959,1],[40958,1],[40957,1],[40956,1],[40955,1],[40954,1],[40953,1],[40952,1],[40951,1],[40950,1],[40949,1],[40948,1],[40947,1],[40946,1],[40945,1],[40944,1],[40943,1],[40942,1],[40941,1],[40940,1],[40939,1],[40938,1],[40937,1],[40936,1],[40935,1],[40934,1],[40933,1],[40932,1],[40931,1],[40930,1],[40929,1],[40928,1],[40927,1],[40926,1],[40925,1],[40924,1],[40923,1],[40922,1],[40921,1],[40920,1],[40919,1],[40918,1],[40917,1],[40916,1],[40915,1],[40914,1],[40913,1],[40912,1],[40911,1],[40910,1],[40909,1],[40908,1],[40907,1],[40906,1],[40905,1],[40904,1],[40903,1],[40902,1],[40901,1],[40900,1],[40899,1],[40898,1],[40897,1],[40896,1],[40895,1],[40894,1],[40893,1],[40892,1],[40891,1],[40890,1],[40889,1],[40888,1],[40887,1],[40886,1],[40885,1],[40884,1],[40883,1],[40882,1],[40881,1],[40880,1],[40879,1],[40878,1],[40877,1],[40876,1],[40875,1],[40874,1],[40873,1],[40872,1],[40871,1],[40870,1],[40869,1],[40868,1],[40867,1],[40866,1],[40865,1],[40864,1],[40863,1],[40862,1],[40861,1],[40860,1],[40859,1],[40858,1],[40857,1],[40856,1],[40855,1],[40854,1],[40853,1],[40852,1],[40851,1],[40850,1],[40849,1],[40848,1],[40847,1],[40846,1],[40845,1],[40844,1],[40843,1],[40842,1],[40841,1],[40840,1],[40839,1],[40838,1],[40837,1],[40836,1],[40835,1],[40834,1],[40833,1],[40832,1],[40831,1],[40830,1],[40829,1],[40828,1],[40827,1],[40826,1],[40825,1],[40824,1],[40823,1],[40822,1],[40821,1],[40820,1],[40819,1],[40818,1],[40817,1],[40816,1],[40815,1],[40814,1],[40813,1],[40812,1],[40811,1],[40810,1],[40809,1],[40808,1],[40807,1],[40806,1],[40805,1],[40804,1],[40803,1],[40802,1],[40801,1],[40800,1],[40799,1],[40798,1],[40797,1],[40796,1],[40795,1],[40794,1],[40793,1],[40792,1],[40791,1],[40790,1],[40789,1],[40788,1],[40787,1],[40786,1],[40785,1],[40784,1],[40783,1],[40782,1],[40781,1],[40780,1],[40779,1],[40778,1],[40777,1],[40776,1],[40775,1],[40774,1],[40773,1],[40772,1],[40771,1],[40770,1],[40769,1],[40768,1],[40767,1],[40766,1],[40765,1],[40764,1],[40763,1],[40762,1],[40761,1],[40760,1],[40759,1],[40758,1],[40757,1],[40756,1],[40755,1],[40754,1],[40753,1],[40752,1],[40751,1],[40750,1],[40749,1],[40748,1],[40747,1],[40746,1],[40745,1],[40744,1],[40743,1],[40742,1],[40741,1],[40740,1],[40739,1],[40738,1],[40737,1],[40736,1],[40735,1],[40734,1],[40733,1],[40732,1],[40731,1],[40730,1],[40729,1],[40728,1],[40727,1],[40726,1],[40725,1],[40724,1],[40723,1],[40722,1],[40721,1],[40720,1],[40719,1],[40718,1],[40717,1],[40716,1],[40715,1],[40714,1],[40713,1],[40712,1],[40711,1],[40710,1],[40709,1],[40708,1],[40707,1],[40706,1],[40705,1],[40704,1],[40703,1],[40702,1],[40701,1],[40700,1],[40699,1],[40698,1],[40697,1],[40696,1],[40695,1],[40694,1],[40693,1],[40692,1],[40691,1],[40690,1],[40689,1],[40688,1],[40687,1],[40686,1],[40685,1],[40684,1],[40683,1],[40682,1],[40681,1],[40680,1],[40679,1],[40678,1],[40677,1],[40676,1],[40675,1],[40674,1],[40673,1],[40672,1],[40671,1],[40670,1],[40669,1],[40668,1],[40667,1],[40666,1],[40665,1],[40664,1],[40663,1],[40662,1],[40661,1],[40660,1],[40659,1],[40658,1],[40657,1],[40656,1],[40655,1],[40654,1],[40653,1],[40652,1],[40651,1],[40650,1],[40649,1],[40648,1],[40647,1],[40646,1],[40645,1],[40644,1],[40643,1],[40642,1],[40641,1],[40640,1],[40639,1],[40638,1],[40637,1],[40636,1],[40635,1],[40634,1],[40633,1],[40632,1],[40631,1],[40630,1],[40629,1],[40628,1],[40627,1],[40626,1],[40625,1],[40624,1],[40623,1],[40622,1],[40621,1],[40620,1],[40619,1],[40618,1],[40617,1],[40616,1],[40615,1],[40614,1],[40613,1],[40612,1],[40611,1],[40610,1],[40609,1],[40608,1],[40607,1],[40606,1],[40605,1],[40604,1],[40603,1],[40602,1],[40601,1],[40600,1],[40599,1],[40598,1],[40597,1],[40596,1],[40595,1],[40594,1],[40593,1],[40592,1],[40591,1],[40590,1],[40589,1],[40588,1],[40587,1],[40586,1],[40585,1],[40584,1],[40583,1],[40582,1],[40581,1],[40580,1],[40579,1],[40578,1],[40577,1],[40576,1],[40575,1],[40574,1],[40573,1],[40572,1],[40571,1],[40570,1],[40569,1],[40568,1],[40567,1],[40566,1],[40565,1],[40564,1],[40563,1],[40562,1],[40561,1],[40560,1],[40559,1],[40558,1],[40557,1],[40556,1],[40555,1],[40554,1],[40553,1],[40552,1],[40551,1],[40550,1],[40549,1],[40548,1],[40547,1],[40546,1],[40545,1],[40544,1],[40543,1],[40542,1],[40541,1],[40540,1],[40539,1],[40538,1],[40537,1],[40536,1],[40535,1],[40534,1],[40533,1],[40532,1],[40531,1],[40530,1],[40529,1],[40528,1],[40527,1],[40526,1],[40525,1],[40524,1],[40523,1],[40522,1],[40521,1],[40520,1],[40519,1],[40518,1],[40517,1],[40516,1],[40515,1],[40514,1],[40513,1],[40512,1],[40511,1],[40510,1],[40509,1],[40508,1],[40507,1],[40506,1],[40505,1],[40504,1],[40503,1],[40502,1],[40501,1],[40500,1],[40499,1],[40498,1],[40497,1],[40496,1],[40495,1],[40494,1],[40493,1],[40492,1],[40491,1],[40490,1],[40489,1],[40488,1],[40487,1],[40486,1],[40485,1],[40484,1],[40483,1],[40482,1],[40481,1],[40480,1],[40479,1],[40478,1],[40477,1],[40476,1],[40475,1],[40474,1],[40473,1],[40472,1],[40471,1],[40470,1],[40469,1],[40468,1],[40467,1],[40466,1],[40465,1],[40464,1],[40463,1],[40462,1],[40461,1],[40460,1],[40459,1],[40458,1],[40457,1],[40456,1],[40455,1],[40454,1],[40453,1],[40452,1],[40451,1],[40450,1],[40449,1],[40448,1],[40447,1],[40446,1],[40445,1],[40444,1],[40443,1],[40442,1],[40441,1],[40440,1],[40439,1],[40438,1],[40437,1],[40436,1],[40435,1],[40434,1],[40433,1],[40432,1],[40431,1],[40430,1],[40429,1],[40428,1],[40427,1],[40426,1],[40425,1],[40424,1],[40423,1],[40422,1],[40421,1],[40420,1],[40419,1],[40418,1],[40417,1],[40416,1],[40415,1],[45818,0,"\n"],[45819,0,"\n"],[45820,0,"\\"],[45821,0,"s"],[45822,0,"e"],[45823,0,"c"],[45824,0,"t"],[45825,0,"i"],[45826,0,"o"],[45827,0,"n"],[45828,0,"{"],[45829,0,"F"],[45830,0,"o"],[45831,0,"r"],[45832,0,"m"],[45833,0,"a"],[45834,0,"l"],[45835,0," "],[45836,0,"s"],[45837,0,"e"],[45838,0,"m"],[45839,0,"a"],[45840,0,"n"],[45841,0,"t"],[45842,0,"i"],[45843,0,"c"],[45844,0,"s"],[45845,0,"}"],[45846,0,"\\"],[45847,0,"l"],[45848,0,"a"],[45849,0,"b"],[45850,0,"e"],[45851,0,"l"],[45852,0,"{"],[45853,0,"s"],[45854,0,"e"],[45855,0,"c"],[45856,0,":"],[45857,0,"s"],[45858,0,"e"],[45859,0,"m"],[45860,0,"a"],[45861,0,"n"],[45862,0,"t"],[45863,0,"i"],[45864,0,"c"],[45865,0,"s"],[45866,0,"}"],[45836,1],[45836,0,"S"],[5276,1],[5276,0,"D"],[5281,1],[5281,0,"M"],[6964,1],[6964,0,"C"],[6973,1],[6973,0,"R"],[8789,1],[8789,0,"C"],[10189,1],[10189,0,"W"],[10361,1],[10361,0,"T"],[15659,1],[15659,0," "],[15660,1],[15660,0,"A"],[17446,1],[17446,0,"D"],[17451,1],[17451,0,"S"],[17763,1],[17763,0,"E"],[17771,1],[17771,0,"E"],[33575,1],[33575,0,"V"],[35042,1],[35042,0,"E"],[47234,1],[47234,0,"E"],[51434,1],[51434,0,"O"],[51993,1],[51993,0,"T"],[53963,1],[53963,0,"S"],[55789,1],[55789,0,"G"],[55800,1],[55800,0,"O"],[61177,0,"o"],[61177,1],[61177,1],[61177,0,"O"],[69734,1],[69734,0,"P"],[69740,1],[69740,0,"S"],[80585,1],[80585,0,"F"],[80593,1],[80593,0,"W"],[84376,1],[84376,0,"C"],[47208,1],[47207,1],[47206,1],[47205,1],[47204,1],[47203,1],[47202,1],[47201,1],[47200,1],[47199,1],[47198,1],[47197,1],[47196,1],[47195,1],[47194,1],[47193,1],[47192,1],[47191,1],[47190,1],[47189,1],[47188,1],[47187,1],[47186,1],[47185,1],[47184,1],[47183,1],[47182,1],[47181,1],[47180,1],[47179,1],[47178,1],[47177,1],[47176,1],[47175,1],[47174,1],[47173,1],[47172,1],[47171,1],[47170,1],[47169,1],[47168,1],[47167,1],[47166,1],[47165,1],[47164,1],[47163,1],[47162,1],[47161,1],[47160,1],[47159,1],[47158,1],[47157,1],[47156,1],[47155,1],[47154,1],[47153,1],[47152,1],[47151,1],[47150,1],[47149,1],[47148,1],[47147,1],[47146,1],[47145,1],[47144,1],[47143,1],[47142,1],[47141,1],[47140,1],[47139,1],[47138,1],[47137,1],[47136,1],[47135,1],[47134,1],[47133,1],[47132,1],[47131,1],[47130,1],[47129,1],[47128,1],[47127,1],[47126,1],[47125,1],[47124,1],[47123,1],[47122,1],[47121,1],[47120,1],[47119,1],[47118,1],[47117,1],[47116,1],[47115,1],[47114,1],[47113,1],[47112,1],[47111,1],[47110,1],[47109,1],[47108,1],[47107,1],[47106,1],[47105,1],[47104,1],[47103,1],[47102,1],[47101,1],[47100,1],[47099,1],[47098,1],[47097,1],[47096,1],[47095,1],[47094,1],[47093,1],[47092,1],[47091,1],[47090,1],[47089,1],[47088,1],[47087,1],[47086,1],[47085,1],[47084,1],[47083,1],[47082,1],[47081,1],[47080,1],[47079,1],[47078,1],[47077,1],[47076,1],[47075,1],[47074,1],[47073,1],[47072,1],[47071,1],[47070,1],[47069,1],[47068,1],[47067,1],[47066,1],[47065,1],[47064,1],[47063,1],[47062,1],[47061,1],[47060,1],[47059,1],[47058,1],[47057,1],[47056,1],[47055,1],[47054,1],[47053,1],[47052,1],[47051,1],[47050,1],[47049,1],[47048,1],[47047,1],[47046,1],[47045,1],[47044,1],[47043,1],[47042,1],[47041,1],[47040,1],[47039,1],[47038,1],[47037,1],[47036,1],[47035,1],[47034,1],[47033,1],[47032,1],[47031,1],[47030,1],[47029,1],[47028,1],[47027,1],[47026,1],[47025,1],[47024,1],[47023,1],[47022,1],[47021,1],[47020,1],[47019,1],[47018,1],[47017,1],[47016,1],[47015,1],[47014,1],[47013,1],[47012,1],[47011,1],[47010,1],[47009,1],[47008,1],[47007,1],[47006,1],[47005,1],[47004,1],[47003,1],[47002,1],[47001,1],[47000,1],[46999,1],[46998,1],[46997,1],[46996,1],[46995,1],[46994,1],[46993,1],[46992,1],[46991,1],[46990,1],[46989,1],[46988,1],[46987,1],[46986,1],[46985,1],[46984,1],[46983,1],[46982,1],[46981,1],[46980,1],[46979,1],[46978,1],[46977,1],[46976,1],[46975,1],[46974,1],[46973,1],[46972,1],[46971,1],[46970,1],[46969,1],[46968,1],[46967,1],[46966,1],[46965,1],[46964,1],[46963,1],[46962,1],[46961,1],[46960,1],[46959,1],[46958,1],[46957,1],[46956,1],[46955,1],[46954,1],[46953,1],[46952,1],[46951,1],[46950,1],[46949,1],[46948,1],[46947,1],[46946,1],[46945,1],[46944,1],[46943,1],[46942,1],[46941,1],[46940,1],[46939,1],[46938,1],[46937,1],[46936,1],[46935,1],[46934,1],[46933,1],[46932,1],[46931,1],[46930,1],[46929,1],[46928,1],[46927,1],[46926,1],[46925,1],[46924,1],[46923,1],[46922,1],[46921,1],[46920,1],[46919,1],[46918,1],[46917,1],[46916,1],[46915,1],[46914,1],[46913,1],[46912,1],[46911,1],[46910,1],[46909,1],[46908,1],[46907,1],[46906,1],[46905,1],[46904,1],[46903,1],[46902,1],[46901,1],[46900,1],[46899,1],[46898,1],[46897,1],[46896,1],[46895,1],[46894,1],[46893,1],[46892,1],[46891,1],[46890,1],[46889,1],[46888,1],[46887,1],[46886,1],[46885,1],[46884,1],[46883,1],[46882,1],[46881,1],[46880,1],[46879,1],[46878,1],[46877,1],[46876,1],[46875,1],[46874,1],[46873,1],[46872,1],[46871,1],[46870,1],[46869,1],[46868,1],[46867,1],[46866,1],[46865,1],[46864,1],[46863,1],[46862,1],[46861,1],[46860,1],[46859,1],[46858,1],[46857,1],[46856,1],[46855,1],[46854,1],[46853,1],[46852,1],[46851,1],[46850,1],[46849,1],[46848,1],[46847,1],[46846,1],[46845,1],[46844,1],[46843,1],[46842,1],[46841,1],[46840,1],[46839,1],[46838,1],[46837,1],[46836,1],[46835,1],[46834,1],[46833,1],[46832,1],[46831,1],[46830,1],[46829,1],[46828,1],[46827,1],[46826,1],[46825,1],[46824,1],[46823,1],[46822,1],[46821,1],[46820,1],[46819,1],[46818,1],[46817,1],[46816,1],[46815,1],[46814,1],[46813,1],[46812,1],[46811,1],[46810,1],[46809,1],[46808,1],[46807,1],[46806,1],[46805,1],[46804,1],[46803,1],[46802,1],[46801,1],[46800,1],[46799,1],[46798,1],[46797,1],[46796,1],[46795,1],[46794,1],[46793,1],[46792,1],[46791,1],[46790,1],[46789,1],[46788,1],[46787,1],[46786,1],[46785,1],[46784,1],[46783,1],[46782,1],[46781,1],[46780,1],[46779,1],[46778,1],[46777,1],[46776,1],[46775,1],[46774,1],[46773,1],[46772,1],[46771,1],[46770,1],[46769,1],[46768,1],[46767,1],[46766,1],[46765,1],[46764,1],[46763,1],[46762,1],[46761,1],[46760,1],[46759,1],[46758,1],[46757,1],[46756,1],[46755,1],[46754,1],[46753,1],[46752,1],[46751,1],[46750,1],[46749,1],[46748,1],[46747,1],[46746,1],[46745,1],[46744,1],[46743,1],[46742,1],[46741,1],[46740,1],[46739,1],[46738,1],[46737,1],[46736,1],[46735,1],[46734,1],[46733,1],[46732,1],[46731,1],[46730,1],[46729,1],[46728,1],[46727,1],[46726,1],[46725,1],[46724,1],[46723,1],[46722,1],[46721,1],[46720,1],[46719,1],[46718,1],[46717,1],[46716,1],[46715,1],[46714,1],[46713,1],[46712,1],[46711,1],[46710,1],[46709,1],[46708,1],[46707,1],[46706,1],[46705,1],[46704,1],[46703,1],[46702,1],[46701,1],[46700,1],[46699,1],[46698,1],[46697,1],[46696,1],[46695,1],[46694,1],[46693,1],[46692,1],[46691,1],[46690,1],[46689,1],[46688,1],[46687,1],[46686,1],[46685,1],[46684,1],[46683,1],[46682,1],[46681,1],[46680,1],[46679,1],[46678,1],[46677,1],[46676,1],[46675,1],[46674,1],[46673,1],[46672,1],[46671,1],[46670,1],[46669,1],[46668,1],[46667,1],[46666,1],[46665,1],[46664,1],[46663,1],[46662,1],[46661,1],[46660,1],[46659,1],[46658,1],[46657,1],[46656,1],[46655,1],[46654,1],[46653,1],[46652,1],[46651,1],[46650,1],[46649,1],[46648,1],[46647,1],[46646,1],[46645,1],[46644,1],[46643,1],[46642,1],[46641,1],[46640,1],[46639,1],[46638,1],[46637,1],[46636,1],[46635,1],[46634,1],[46633,1],[46632,1],[46631,1],[46630,1],[46629,1],[46628,1],[46627,1],[46626,1],[46625,1],[46624,1],[46623,1],[46622,1],[46621,1],[46620,1],[46619,1],[46618,1],[46617,1],[46616,1],[46615,1],[46614,1],[46613,1],[46612,1],[46611,1],[46610,1],[46609,1],[46608,1],[46607,1],[46606,1],[46605,1],[46604,1],[46603,1],[46602,1],[46601,1],[46600,1],[46599,1],[46598,1],[46597,1],[46596,1],[46595,1],[46594,1],[46593,1],[46592,1],[46591,1],[46590,1],[46589,1],[46588,1],[46587,1],[46586,1],[46585,1],[46584,1],[46583,1],[46582,1],[46581,1],[46580,1],[46579,1],[46578,1],[46577,1],[46576,1],[46575,1],[46574,1],[46573,1],[46572,1],[46571,1],[46570,1],[46569,1],[46568,1],[46567,1],[46566,1],[46565,1],[46564,1],[46563,1],[46562,1],[46561,1],[46560,1],[46559,1],[46558,1],[46557,1],[46556,1],[46555,1],[46554,1],[46553,1],[46552,1],[46551,1],[46550,1],[46549,1],[46548,1],[46547,1],[46546,1],[46545,1],[46544,1],[46543,1],[46542,1],[46541,1],[46540,1],[46539,1],[46538,1],[46537,1],[46536,1],[46535,1],[46534,1],[46533,1],[46532,1],[46531,1],[46530,1],[46529,1],[46528,1],[46527,1],[46526,1],[46525,1],[46524,1],[46523,1],[46522,1],[46521,1],[46520,1],[46519,1],[46518,1],[46517,1],[46516,1],[46515,1],[46514,1],[46513,1],[46512,1],[46511,1],[46510,1],[46509,1],[46508,1],[46507,1],[46506,1],[46505,1],[46504,1],[46503,1],[46502,1],[46501,1],[46500,1],[46499,1],[46498,1],[46497,1],[46496,1],[46495,1],[46494,1],[46493,1],[46492,1],[46491,1],[46490,1],[46489,1],[46488,1],[46487,1],[46486,1],[46485,1],[46484,1],[46483,1],[46482,1],[46481,1],[46480,1],[46479,1],[46478,1],[46477,1],[46476,1],[46475,1],[46474,1],[46473,1],[46472,1],[46471,1],[46470,1],[46469,1],[46468,1],[46467,1],[46466,1],[46465,1],[46464,1],[46463,1],[46462,1],[46461,1],[46460,1],[46459,1],[46458,1],[46457,1],[46456,1],[46455,1],[46454,1],[46453,1],[46452,1],[46451,1],[46450,1],[46449,1],[46448,1],[46447,1],[46446,1],[46445,1],[46444,1],[46443,1],[46442,1],[46441,1],[46440,1],[46439,1],[46438,1],[46437,1],[46436,1],[46435,1],[46434,1],[46433,1],[46432,1],[46431,1],[46430,1],[46429,1],[46428,1],[46427,1],[46426,1],[46425,1],[46424,1],[46423,1],[46422,1],[46421,1],[46420,1],[46419,1],[46418,1],[46417,1],[46416,1],[46415,1],[46414,1],[46413,1],[46412,1],[46411,1],[47619,0," "],[47620,0,"l"],[47621,0,"o"],[47622,0,"c"],[47623,0,"a"],[47624,0,"l"],[47625,0," "],[47626,0,"r"],[47627,0,"e"],[47628,0,"p"],[47629,0,"l"],[47630,0,"i"],[47631,0,"c"],[47632,0,"a"],[47633,0," "],[47634,0,"s"],[47635,0,"t"],[47636,0,"a"],[47637,0,"t"],[47638,0,"e"],[47649,0," "],[47650,0,"$"],[47651,0,"A"],[47652,0,"_"],[47653,0,"p"],[47654,0,"$"],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[47655,1],[51491,1],[51491,0,"I"],[51498,0,","],[51499,0," "],[51500,0,"w"],[51501,0,"h"],[51502,0,"e"],[51503,0,"n"],[51504,0,"e"],[51505,0,"v"],[51506,0,"e"],[51507,0,"r"],[51508,0," "],[51509,0,"a"],[51510,0,"n"],[51511,0," "],[51512,0,"e"],[51513,0,"l"],[51514,0,"e"],[51515,0,"m"],[51516,0,"e"],[51517,0,"n"],[51518,0,"t"],[51519,0," "],[51520,0,"i"],[51521,0,"s"],[51522,0," "],[51523,0,"i"],[51524,0,"n"],[51525,0,"s"],[51526,0,"e"],[51527,0,"r"],[51528,0,"t"],[51529,0,"e"],[51530,0,"d"],[51531,0," "],[51532,0,"i"],[51533,0,"n"],[51534,0,"t"],[51535,0,"o"],[51536,0," "],[51537,0,"a"],[51538,0," "],[51539,0,"l"],[51540,0,"i"],[51541,0,"s"],[51542,0,"t"],[51543,0," "],[51544,0,"o"],[51545,0,"r"],[51546,0," "],[51547,0,"a"],[51548,0," "],[51549,0,"v"],[51550,0,"a"],[51551,0,"l"],[51552,0,"u"],[51553,0,"e"],[51554,0," "],[51555,0,"i"],[51556,0,"s"],[51557,0," "],[51558,0,"a"],[51559,0,"s"],[51560,0,"s"],[51561,0,"i"],[51562,0,"g"],[51563,0,"n"],[51564,0,"e"],[51565,0,"d"],[51566,0," "],[51567,0,"t"],[51568,0,"o"],[51569,0," "],[51570,0,"a"],[51571,0," "],[51572,0,"r"],[51573,0,"e"],[51574,0,"g"],[51575,0,"i"],[51576,0,"s"],[51577,0,"t"],[51578,0,"e"],[51579,0,"r"],[51580,0,","],[51581,0," "],[51582,0,"t"],[51583,0,"h"],[51584,0,"e"],[51585,0," "],[51586,0,"o"],[51587,0,"p"],[51588,0,"e"],[51589,0,"r"],[51590,0,"a"],[51591,0,"t"],[51592,0,"i"],[51593,0,"o"],[51594,0,"n"],[51595,0," "],[51595,1],[51594,1],[51593,1],[51592,1],[51591,1],[51590,1],[51589,1],[51588,1],[51587,1],[51586,1],[51586,0,"n"],[51587,0,"e"],[51588,0,"w"],[51589,0," "],[51590,0,"l"],[51591,0,"i"],[51592,0,"s"],[51593,0,"t"],[51594,0," "],[51595,0,"e"],[51596,0,"l"],[51597,0,"e"],[51598,0,"m"],[51599,0,"e"],[51600,0,"n"],[51601,0,"t"],[51602,0," "],[51603,0,"o"],[51604,0,"r"],[51605,0," "],[51606,0,"r"],[51607,0,"e"],[51608,0,"g"],[51609,0,"i"],[51610,0,"s"],[51611,0,"t"],[51612,0,"e"],[51613,0,"r"],[51614,0," "],[51615,0,"v"],[51616,0,"a"],[51617,0,"l"],[51618,0,"u"],[51619,0,"e"],[51620,0," "],[51621,0,"i"],[51622,0,"s"],[51623,0," "],[51624,0,"i"],[51625,0,"d"],[51626,0,"e"],[51627,0,"n"],[51628,0,"t"],[51629,0,"i"],[51630,0,"f"],[51631,0,"i"],[51632,0,"e"],[51633,0,"d"],[51634,0," "],[51635,0,"b"],[51636,0,"y"],[51637,0," "],[51638,0,"t"],[51639,0,"h"],[51640,0,"e"],[51641,0," "],[51642,0,"i"],[51643,0,"d"],[51644,0,"e"],[51645,0,"n"],[51646,0,"t"],[51647,0,"i"],[51648,0,"f"],[51649,0,"i"],[51650,0,"e"],[51651,0,"r"],[51652,0," "],[51653,0,"o"],[51654,0,"f"],[51655,0," "],[51656,0,"t"],[51657,0,"h"],[51658,0,"e"],[51659,0," "],[51660,0,"o"],[51661,0,"p"],[51662,0,"e"],[51663,0,"r"],[51664,0,"a"],[51665,0,"t"],[51666,0,"i"],[51667,0,"o"],[51668,0,"n"],[51669,0," "],[51670,0,"t"],[51671,0,"h"],[51672,0,"a"],[51673,0,"t"],[51674,0," "],[51675,0,"c"],[51676,0,"r"],[51677,0,"e"],[51678,0,"a"],[51679,0,"t"],[51680,0,"e"],[51681,0,"d"],[51682,0," "],[51683,0,"i"],[51684,0,"t"],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51685,1],[51500,1],[51500,0,"W"],[51499,1],[51498,1],[51497,1],[51496,1],[51495,1],[51494,1],[51493,1],[51492,1],[51491,1],[51490,1],[51489,1],[51488,1],[51487,1],[51486,1],[51485,1],[51484,1],[51483,1],[51482,1],[51481,1],[51480,1],[51479,1],[51478,1],[51477,1],[51476,1],[51475,1],[51474,1],[51473,1],[51472,1],[51471,1],[51470,1],[51469,1],[51468,1],[51467,1],[51466,1],[51465,1],[51464,1],[51463,1],[51462,1],[51461,1],[51460,1],[51459,1],[51458,1],[51457,1],[51456,1],[51455,1],[51454,1],[51453,1],[51452,1],[51451,1],[51450,1],[51449,1],[51448,1],[51447,1],[51446,1],[51445,1],[51444,1],[51443,1],[51442,1],[51441,1],[51440,1],[51439,1],[51438,1],[51437,1],[51436,1],[51435,1],[51434,1],[51433,1],[51432,1],[51431,1],[51430,1],[51429,1],[51428,1],[51427,1],[51426,1],[51425,1],[51424,1],[51423,1],[51422,1],[51421,1],[51420,1],[51419,1],[51418,1],[51417,1],[51416,1],[51415,1],[51414,1],[51413,1],[51412,1],[51411,1],[51410,1],[51409,1],[51408,1],[51407,1],[51406,1],[51405,1],[51404,1],[51403,1],[51402,1],[51401,1],[51400,1],[51399,1],[51398,1],[51397,1],[51396,1],[51395,1],[51394,1],[51393,1],[51392,1],[51391,1],[51390,1],[51389,1],[51388,1],[51387,1],[51386,1],[51385,1],[51384,1],[51383,1],[51382,1],[51381,1],[51380,1],[51379,1],[51378,1],[51377,1],[51376,1],[51375,1],[51374,1],[51373,1],[51372,1],[51371,1],[51370,1],[51369,1],[51368,1],[51367,1],[51366,1],[51365,1],[51364,1],[51363,1],[51362,1],[51361,1],[51360,1],[51359,1],[51358,1],[51357,1],[51356,1],[51355,1],[51354,1],[51353,1],[51352,1],[51351,1],[51350,1],[51349,1],[51348,1],[51347,1],[51346,1],[51345,1],[51344,1],[51343,1],[51342,1],[51341,1],[51340,1],[51339,1],[51338,1],[51337,1],[51336,1],[51335,1],[51334,1],[51333,1],[51332,1],[51331,1],[51330,1],[51329,1],[51328,1],[51327,1],[51326,1],[51325,1],[51324,1],[51323,1],[51322,1],[51321,1],[51320,1],[51319,1],[51318,1],[51317,1],[51316,1],[51315,1],[51314,1],[51313,1],[51312,1],[51311,1],[51310,1],[51309,1],[51308,1],[48640,1],[48640,0,"."],[48641,0,"g"],[48642,0,"e"],[48643,0,"t"],[48644,0,"("],[48655,1],[48655,0,")"],[48844,1],[48844,0,"."],[48845,0,"g"],[48846,0,"e"],[48847,0,"t"],[48848,0,"("],[48852,1],[48852,0,")"],[46817,1],[46816,1],[46815,1],[46814,1],[46813,1],[46812,1],[46811,1],[46811,0,"."],[46812,0," "],[46813,0,"T"],[46811,0," "],[46812,0,"("],[46813,0,"t"],[46814,0,"h"],[46815,0,"e"],[46816,0," "],[46817,0,"n"],[46818,0,"o"],[46819,0,"t"],[46820,0,"a"],[46821,0,"t"],[46822,0,"i"],[46823,0,"o"],[46824,0,"n"],[46825,0," "],[46826,0,"$"],[46827,0,"A"],[46828,0,"_"],[46829,0,"p"],[46830,0,"["],[46831,0,"\\"],[46832,0,","],[46833,0,"x"],[46834,0," "],[46835,0,"\\"],[46836,0,","],[46837,0,"\\"],[46838,0,"m"],[46839,0,"a"],[46840,0,"p"],[46841,0,"s"],[46842,0,"t"],[46843,0,"o"],[46844,0,"\\"],[46845,0,","],[46846,0," "],[46847,0,"\\"],[46848,0,"m"],[46849,0,"a"],[46850,0,"t"],[46851,0,"h"],[46852,0,"i"],[46853,0,"t"],[46854,0,"{"],[46855,0,"c"],[46856,0,"u"],[46857,0,"r"],[46858,0,"}"],[46859,0,"\\"],[46860,0,","],[46861,0,"]"],[46862,0,"$"],[46863,0," "],[46864,0,"d"],[46865,0,"e"],[46866,0,"n"],[46867,0,"o"],[46868,0,"t"],[46869,0,"e"],[46870,0,"s"],[46871,0," "],[46872,0,"a"],[46873,0," "],[46874,0,"p"],[46875,0,"a"],[46876,0,"r"],[46877,0,"t"],[46878,0,"i"],[46879,0,"a"],[46880,0,"l"],[46881,0," "],[46882,0,"f"],[46883,0,"u"],[46884,0,"n"],[46885,0,"c"],[46886,0,"t"],[46887,0,"i"],[46888,0,"o"],[46889,0,"n"],[46890,0," "],[46891,0,"t"],[46892,0,"h"],[46893,0,"a"],[46894,0,"t"],[46895,0," "],[46896,0,"i"],[46897,0,"s"],[46898,0," "],[46899,0,"t"],[46900,0,"h"],[46901,0,"e"],[46902,0," "],[46903,0,"s"],[46904,0,"a"],[46905,0,"m"],[46906,0,"e"],[46907,0," "],[46908,0,"a"],[46909,0,"s"],[46910,0," "],[46911,0,"$"],[46912,0,"A"],[46913,0,"_"],[46914,0,"p"],[46915,0,"$"],[46916,0,","],[46917,0," "],[46918,0,"e"],[46919,0,"x"],[46920,0,"c"],[46921,0,"e"],[46922,0,"p"],[46923,0,"t"],[46924,0," "],[46925,0,"t"],[46926,0,"h"],[46927,0,"a"],[46928,0,"t"],[46929,0," "],[46930,0,"$"],[46931,0,"A"],[46932,0,"_"],[46933,0,"p"],[46934,0,"("],[46935,0,"x"],[46936,0,")"],[46937,0," "],[46938,0,"="],[46939,0," "],[46940,0,"\\"],[46941,0,"m"],[46942,0,"a"],[46943,0,"t"],[46944,0,"h"],[46945,0,"i"],[46946,0,"t"],[46947,0,"{"],[46948,0,"c"],[46949,0,"u"],[46950,0,"r"],[46951,0,"}"],[46952,0,"$"],[46953,0,")"],[47071,0," "],[47072,0,"f"],[47073,0,"o"],[47074,0,"l"],[47075,0,"l"],[47076,0,"o"],[47077,0,"w"],[47078,0,"i"],[47079,0,"n"],[47080,0,"g"],[51355,0,"\\"],[51356,0,"l"],[51357,0,"a"],[51358,0,"b"],[51359,0,"e"],[51360,0,"l"],[51361,0,"{"],[51362,0,"s"],[51363,0,"e"],[51364,0,"c"],[51365,0,":"],[51366,0,"l"],[51367,0,"a"],[51368,0,"m"],[51369,0,"p"],[51370,0,"o"],[51371,0,"r"],[51372,0,"t"],[51373,0,"}"],[51373,0,"-"],[51374,0,"t"],[51375,0,"s"],[47723,0,","],[47724,0," "],[47725,0,"a"],[47726,0,"s"],[47727,0,"s"],[47728,0,"u"],[47729,0,"m"],[47730,0,"i"],[47731,0,"n"],[47732,0,"g"],[47733,0," "],[47734,0,"t"],[47735,0,"h"],[47736,0,"a"],[47737,0,"t"],[47738,0," "],[47739,0,"$"],[47740,0,"\\"],[47741,0,"m"],[47742,0,"a"],[47743,0,"t"],[47744,0,"h"],[47745,0,"i"],[47746,0,"t"],[47747,0,"{"],[47748,0,"i"],[47749,0,"d"],[47750,0,"}"],[47751,0,"_"],[47752,0,"1"],[47753,0,"$"],[47754,0," "],[47755,0,"i"],[47756,0,"s"],[47757,0," "],[47758,0,"t"],[47759,0,"h"],[47760,0,"e"],[47761,0," "],[47762,0,"u"],[47763,0,"n"],[47764,0,"i"],[47765,0,"q"],[47766,0,"u"],[47767,0,"e"],[47768,0," "],[47769,0,"i"],[47770,0,"d"],[47771,0,"e"],[47772,0,"n"],[47773,0,"t"],[47774,0,"i"],[47775,0,"f"],[47776,0,"i"],[47777,0,"e"],[47778,0,"r"],[47779,0," "],[47780,0,"o"],[47781,0,"f"],[47782,0," "],[47783,0,"t"],[47784,0,"h"],[47785,0,"e"],[47786,0," "],[47787,0,"o"],[47788,0,"p"],[47789,0,"e"],[47790,0,"r"],[47791,0,"a"],[47792,0,"t"],[47793,0,"i"],[47794,0,"o"],[47795,0,"n"],[47796,0," "],[47797,0,"t"],[47798,0,"h"],[47799,0,"a"],[47800,0,"t"],[47801,0," "],[47802,0,"i"],[47803,0,"n"],[47804,0,"s"],[47805,0,"e"],[47806,0,"r"],[47807,0,"t"],[47808,0,"e"],[47809,0,"d"],[47810,0," "],[47811,0,"t"],[47812,0,"h"],[47813,0,"i"],[47814,0,"s"],[47815,0," "],[47816,0,"l"],[47817,0,"i"],[47818,0,"s"],[47819,0,"t"],[47820,0," "],[47821,0,"e"],[47822,0,"l"],[47823,0,"e"],[47824,0,"m"],[47825,0,"e"],[47826,0,"n"],[47827,0,"t"],[47828,0," "],[47829,0,"("],[47830,0,"w"],[47831,0,"e"],[47832,0," "],[47833,0,"w"],[47834,0,"i"],[47835,0,"l"],[47836,0,"l"],[47837,0," "],[47838,0,"d"],[47839,0,"i"],[47840,0,"s"],[47841,0,"c"],[47842,0,"u"],[47843,0,"s"],[47844,0,"s"],[47845,0," "],[47846,0,"i"],[47847,0,"n"],[47848,0," "],[47849,0,"S"],[47850,0,"e"],[47851,0,"c"],[47852,0,"t"],[47853,0,"i"],[47854,0,"o"],[47855,0,"n"],[47856,0,"~"],[47857,0,"\\"],[47858,0,"r"],[47859,0,"e"],[47860,0,"f"],[47861,0,"{"],[47862,0,"s"],[47863,0,"e"],[47864,0,"c"],[47865,0,":"],[47866,0,"l"],[47867,0,"a"],[47868,0,"m"],[47869,0,"p"],[47870,0,"o"],[47871,0,"r"],[47872,0,"t"],[47873,0,"-"],[47874,0,"t"],[47875,0,"s"],[47876,0,"}"],[47877,0," "],[47878,0,"h"],[47879,0,"o"],[47880,0,"w"],[47881,0," "],[47882,0,"t"],[47883,0,"o"],[47884,0," "],[47885,0,"g"],[47886,0,"e"],[47887,0,"n"],[47888,0,"e"],[47889,0,"r"],[47890,0,"a"],[47891,0,"t"],[47892,0,"e"],[47893,0," "],[47894,0,"t"],[47895,0,"h"],[47896,0,"e"],[47897,0,"s"],[47898,0,"e"],[47899,0," "],[47900,0,"i"],[47901,0,"d"],[47902,0,"e"],[47903,0,"n"],[47904,0,"t"],[47905,0,"i"],[47906,0,"f"],[47907,0,"i"],[47908,0,"e"],[47909,0,"r"],[47910,0,"s"],[47911,0,")"],[47914,1],[47914,1],[47914,0,"T"],[47915,0,"h"],[47916,0,"e"],[47917,0," "],[47918,0,"c"],[47919,0,"u"],[47920,0,"r"],[47921,0,"s"],[47922,0,"o"],[47923,0,"r"],[48186,1],[48185,1],[48184,1],[48183,1],[48183,0,"t"],[48184,0,"h"],[48185,0,"a"],[48186,0,"t"],[48187,0," "],[48188,0,"h"],[48189,0,"a"],[48190,0,"s"],[48629,0," "],[48630,0,"b"],[48631,0,"e"],[48632,0,"i"],[48633,0,"n"],[48634,0,"g"],[48635,0," "],[48636,0,"t"],[48637,0,"r"],[48638,0,"a"],[48639,0,"v"],[48640,0,"e"],[48641,0,"r"],[48642,0,"s"],[48643,0,"e"],[48644,0,"d"],[49333,0," "],[49334,0,"r"],[49335,0,"u"],[49336,0,"l"],[49337,0,"e"],[49338,0,"s"],[49340,0,"$"],[49353,0,"="],[49354,0,"="],[49354,1],[49353,1],[49352,1],[49351,1],[49350,1],[49350,0,"d"],[49351,0,"x"],[49353,0,"_"],[49354,0,"{"],[49355,0,"1"],[49356,0,"\\"],[49356,1],[49356,0," "],[49357,0,"\\"],[49358,0,"d"],[49359,0,"o"],[49360,0,"t"],[49361,0,"s"],[49362,0," "],[49363,0,"5"],[49364,0,"}"],[49365,0,"$"],[49366,0," "],[49367,0,"d"],[49368,0,"e"],[49369,0,"f"],[49370,0,"i"],[49371,0,"n"],[49372,0,"e"],[49373,0," "],[49374,0,"h"],[49375,0,"o"],[49376,0,"w"],[49377,0," "],[49378,0,"t"],[49379,0,"o"],[49380,0," "],[49381,0,"e"],[49382,0,"v"],[49383,0,"a"],[49384,0,"l"],[49385,0,"u"],[49386,0,"a"],[49387,0,"t"],[49388,0,"e"],[49389,0," "],[49390,0,"t"],[49391,0,"h"],[49392,0,"e"],[49393,0," "],[49394,0,"e"],[49395,0,"x"],[49396,0,"p"],[49397,0,"r"],[49398,0,"e"],[49399,0,"s"],[49400,0,"s"],[49401,0,"i"],[49402,0,"o"],[49403,0,"n"],[49404,0," "],[49405,0,"\\"],[49406,0,"v"],[49407,0,"e"],[49408,0,"r"],[49409,0,"b"],[49410,0,"|"],[49411,0,"d"],[49412,0,"o"],[49413,0,"c"],[49414,0,"."],[49415,0,"i"],[49416,0,"d"],[49417,0,"x"],[49418,0,"("],[49419,0,"|"],[49420,0,"$"],[49421,0,"n"],[49422,0,"$"],[49422,1],[49422,0,"$"],[49423,0,"\\"],[49424,0,"v"],[49425,0,"e"],[49426,0,"r"],[49427,0,"b"],[49428,0,"|"],[49429,0,")"],[49430,0,"|"],[49431,0,"\n"],[49432,0,"\n"],[49431,0,","],[49432,0," "],[49433,0,"m"],[49434,0,"o"],[49435,0,"v"],[49436,0,"i"],[49437,0,"n"],[49438,0,"g"],[49439,0," "],[49440,0,"t"],[49441,0,"h"],[49442,0,"e"],[49443,0," "],[49444,0,"c"],[49445,0,"u"],[49446,0,"r"],[49447,0,"s"],[49448,0,"o"],[49449,0,"r"],[49450,0," "],[49451,0,"t"],[49452,0,"o"],[49453,0," "],[49454,0,"a"],[49455,0," "],[49456,0,"p"],[49457,0,"a"],[49458,0,"r"],[49459,0,"t"],[49460,0,"i"],[49461,0,"c"],[49462,0,"u"],[49463,0,"l"],[49464,0,"a"],[49465,0,"r"],[49466,0," "],[49467,0,"e"],[49468,0,"l"],[49469,0,"e"],[49470,0,"m"],[49471,0,"e"],[49472,0,"n"],[49473,0,"t"],[49474,0," "],[49475,0,"o"],[49476,0,"f"],[49477,0," "],[49478,0,"a"],[49479,0," "],[49480,0,"l"],[49481,0,"i"],[49482,0,"s"],[49483,0,"t"],[49484,0,"."],[49485,0," "],[49486,0,"F"],[49487,0,"i"],[49488,0,"r"],[49489,0,"s"],[49490,0,"t"],[49491,0,","],[49492,0," "],[49493,0,"\\"],[49493,1],[49493,0,"$"],[49494,0,"\\"],[49495,0,"t"],[49496,0,"e"],[49497,0,"x"],[49498,0,"t"],[49499,0,"s"],[49500,0,"c"],[49501,0,"{"],[49502,0,"I"],[49503,0,"d"],[49504,0,"x"],[49505,0,"}"],[49506,0,"_"],[49507,0,"1"],[49508,0,"$"],[49509,0," "],[49510,0,"c"],[49511,0,"o"],[49512,0,"n"],[49513,0,"s"],[49514,0,"t"],[49515,0,"r"],[49516,0,"u"],[49517,0,"c"],[49518,0,"t"],[49519,0,"s"],[49520,0," "],[49521,0,"a"],[49522,0," "],[49523,0,"c"],[49524,0,"u"],[49525,0,"r"],[49526,0,"s"],[49527,0,"o"],[49528,0,"r"],[49529,0," "],[49530,0,"r"],[49531,0,"e"],[49532,0,"p"],[49533,0,"r"],[49534,0,"e"],[49535,0,"s"],[49536,0,"e"],[49537,0,"n"],[49538,0,"t"],[49539,0,"i"],[49540,0,"n"],[49541,0,"g"],[49542,0," "],[49543,0,"t"],[49544,0,"h"],[49545,0,"e"],[49546,0," "],[49547,0,"h"],[49548,0,"e"],[49549,0,"a"],[49550,0,"d"],[49551,0," "],[49552,0,"o"],[49553,0,"f"],[49554,0," "],[49555,0,"t"],[49556,0,"h"],[49557,0,"e"],[49558,0," "],[49559,0,"l"],[49560,0,"i"],[49561,0,"s"],[49562,0,"t"],[49563,0,","],[49564,0," "],[49492,1],[49491,1],[49490,1],[49489,1],[49488,1],[49487,1],[49486,1],[49558,0,"a"],[49559,0,"n"],[49560,0,"d"],[49561,0," "],[49562,0,"d"],[49563,0,"e"],[49564,0,"l"],[49565,0,"e"],[49566,0,"g"],[49567,0,"a"],[49568,0,"t"],[49569,0,"e"],[49570,0,"s"],[49571,0," "],[49572,0,"t"],[49573,0,"o"],[49574,0," "],[49575,0,"t"],[49576,0,"h"],[49577,0,"e"],[49578,0," "],[49579,0,"s"],[49580,0,"u"],[49581,0,"b"],[49582,0,"s"],[49583,0,"e"],[49584,0,"q"],[49585,0,"u"],[49586,0,"e"],[49587,0,"n"],[49588,0,"t"],[49589,0," "],[49590,0,"r"],[49591,0,"u"],[49592,0,"l"],[49593,0,"e"],[49594,0,"s"],[49595,0," "],[49596,0,"t"],[49597,0,"o"],[49598,0," "],[49599,0,"s"],[49600,0,"c"],[49601,0,"a"],[49602,0,"n"],[49603,0," "],[49604,0,"o"],[49605,0,"v"],[49606,0,"e"],[49607,0,"r"],[49608,0," "],[49609,0,"t"],[49610,0,"h"],[49611,0,"e"],[49612,0," "],[49613,0,"l"],[49614,0,"i"],[49615,0,"s"],[49616,0,"t"],[49617,0,"."],[49618,0," "],[49619,0,"$"],[49620,0,"\\"],[49621,0,"t"],[49622,0,"e"],[49623,0,"x"],[49624,0,"t"],[49625,0,"s"],[49626,0,"c"],[49627,0,"{"],[49628,0,"I"],[49629,0,"d"],[49630,0,"x"],[49631,0,"}"],[49632,0,"_"],[49633,0,"2"],[49634,0,"$"],[49635,0," "],[49636,0,"r"],[49637,0,"e"],[49638,0,"c"],[49639,0,"u"],[49640,0,"r"],[49641,0,"s"],[49642,0,"i"],[49643,0,"v"],[49644,0,"e"],[49645,0,"l"],[49646,0,"y"],[49647,0," "],[49648,0,"d"],[49649,0,"e"],[49650,0,"s"],[49651,0,"c"],[49652,0,"e"],[49653,0,"n"],[49654,0,"d"],[49655,0,"s"],[49656,0," "],[49657,0,"t"],[49658,0,"h"],[49659,0,"e"],[49660,0," "],[49661,0,"l"],[49662,0,"o"],[49663,0,"c"],[49664,0,"a"],[49665,0,"l"],[49666,0," "],[49667,0,"s"],[49668,0,"t"],[49669,0,"a"],[49670,0,"t"],[49671,0,"e"],[49672,0," "],[49673,0,"a"],[49674,0,"c"],[49675,0,"c"],[49676,0,"o"],[49677,0,"r"],[49678,0,"d"],[49679,0,"i"],[49680,0,"n"],[49681,0,"g"],[49682,0," "],[49683,0,"t"],[49684,0,"o"],[49685,0," "],[49686,0,"t"],[49687,0,"h"],[49688,0,"e"],[49689,0," "],[49690,0,"v"],[49691,0,"e"],[49692,0,"c"],[49693,0,"t"],[49694,0,"o"],[49695,0,"r"],[49696,0," "],[49697,0,"o"],[49698,0,"f"],[49699,0," "],[49700,0,"k"],[49701,0,"e"],[49702,0,"y"],[49703,0,"s"],[49704,0," "],[49705,0,"i"],[49706,0,"n"],[49707,0," "],[49708,0,"t"],[49709,0,"h"],[49710,0,"e"],[49711,0," "],[49712,0,"c"],[49713,0,"u"],[49714,0,"r"],[49715,0,"s"],[49716,0,"o"],[49717,0,"r"],[49718,0,"."],[49719,0," "],[49720,0,"W"],[49721,0,"h"],[49722,0,"e"],[49723,0,"n"],[49724,0," "],[49725,0,"t"],[49726,0,"h"],[49727,0,"e"],[49728,0," "],[49729,0,"v"],[49730,0,"e"],[49731,0,"c"],[49732,0,"t"],[49733,0,"o"],[49734,0,"r"],[49735,0," "],[49736,0,"o"],[49737,0,"f"],[49738,0," "],[49739,0,"k"],[49740,0,"e"],[49741,0,"y"],[49742,0,"s"],[49743,0," "],[49744,0,"i"],[49745,0,"s"],[49746,0," "],[49747,0,"e"],[49748,0,"m"],[49749,0,"p"],[49750,0,"t"],[49751,0,"y"],[49752,0,","],[49753,0," "],[49754,0,"t"],[49755,0,"h"],[49756,0,"e"],[49757,0," "],[49758,0,"c"],[49759,0,"o"],[49760,0,"n"],[49761,0,"t"],[49762,0,"e"],[49763,0,"x"],[49764,0,"t"],[49765,0," "],[49766,0,"$"],[49767,0,"\\"],[49768,0,"m"],[49769,0,"a"],[49770,0,"t"],[49771,0,"h"],[49772,0,"i"],[49773,0,"t"],[49774,0,"{"],[49775,0,"c"],[49776,0,"t"],[49777,0,"x"],[49778,0,"}"],[49779,0,"$"],[49780,0," "],[49781,0,"i"],[49782,0,"s"],[49783,0," "],[49784,0,"t"],[49785,0,"h"],[49786,0,"e"],[49787,0," "],[49788,0,"s"],[49789,0,"u"],[49790,0,"b"],[49791,0,"t"],[49792,0,"r"],[49793,0,"e"],[49794,0,"e"],[49795,0," "],[49796,0,"o"],[49797,0,"f"],[49798,0," "],[49799,0,"$"],[49800,0,"A"],[49801,0,"_"],[49802,0,"p"],[49803,0,"$"],[49804,0," "],[49805,0,"r"],[49806,0,"e"],[49807,0,"p"],[49808,0,"r"],[49809,0,"e"],[49810,0,"s"],[49811,0,"e"],[49812,0,"n"],[49813,0,"t"],[49814,0,"i"],[49815,0,"n"],[49816,0,"g"],[49817,0," "],[49817,1],[49816,1],[49815,1],[49814,1],[49813,1],[49812,1],[49811,1],[49810,1],[49809,1],[49808,1],[49807,1],[49806,1],[49805,1],[49805,0,"t"],[49806,0,"h"],[49807,0,"a"],[49808,0,"t"],[49809,0," "],[49810,0,"s"],[49811,0,"t"],[49812,0,"o"],[49813,0,"r"],[49814,0,"e"],[49815,0,"s"],[49816,0," "],[49817,0,"t"],[49818,0,"h"],[49819,0,"e"],[49820,0," "],[49821,0,"l"],[49822,0,"i"],[49823,0,"s"],[49824,0,"t"],[49825,0," "],[49826,0,"i"],[49827,0,"n"],[49828,0," "],[49829,0,"q"],[49830,0,"u"],[49831,0,"e"],[49832,0,"s"],[49833,0,"t"],[49834,0,"i"],[49835,0,"o"],[49836,0,"n"],[49837,0,","],[49838,0," "],[49839,0,"a"],[49840,0,"n"],[49841,0,"d"],[49842,0," "],[49843,0,"t"],[49844,0,"h"],[49845,0,"e"],[49846,0," "],[49847,0,"r"],[49848,0,"u"],[49849,0,"l"],[49850,0,"e"],[49851,0,"s"],[49852,0," "],[49853,0,"$"],[49854,0,"\\"],[49855,0,"t"],[49856,0,"e"],[49857,0,"x"],[49858,0,"t"],[49859,0,"s"],[49860,0,"c"],[49861,0,"{"],[49862,0,"I"],[49863,0,"d"],[49864,0,"x"],[49865,0,"}"],[49866,0,"_"],[49867,0,"{"],[49868,0,"3"],[49869,0,","],[49870,0,"4"],[49871,0,","],[49872,0,"5"],[49873,0,"}"],[49874,0,"$"],[49875,0," "],[49876,0,"i"],[49877,0,"t"],[49878,0,"e"],[49879,0,"r"],[49880,0,"a"],[49881,0,"t"],[49882,0,"e"],[49883,0," "],[49884,0,"o"],[49885,0,"v"],[49886,0,"e"],[49887,0,"r"],[49888,0," "],[49889,0,"t"],[49890,0,"h"],[49891,0,"a"],[49892,0,"t"],[49893,0," "],[49894,0,"l"],[49895,0,"i"],[49896,0,"s"],[49897,0,"t"],[49898,0," "],[49899,0,"u"],[49900,0,"n"],[49901,0,"t"],[49902,0,"i"],[49903,0,"l"],[49904,0," "],[49905,0,"t"],[49906,0,"h"],[49907,0,"e"],[49908,0," "],[49909,0,"d"],[49910,0,"e"],[49911,0,"s"],[49912,0,"i"],[49913,0,"r"],[49914,0,"e"],[49915,0,"d"],[49916,0," "],[49917,0,"e"],[49918,0,"l"],[49919,0,"e"],[49920,0,"m"],[49921,0,"e"],[49922,0,"n"],[49923,0,"t"],[49924,0," "],[49925,0,"i"],[49926,0,"s"],[49927,0," "],[49928,0,"f"],[49929,0,"i"],[49930,0,"n"],[49930,1],[49929,1],[49929,0,"o"],[49930,0,"u"],[49931,0,"n"],[49932,0,"d"],[49933,0,"."],[49934,0,"\n"],[49935,0,"\n"],[49936,0,"$"],[49937,0,"\\"],[49938,0,"t"],[49939,0,"e"],[49940,0,"x"],[49941,0,"t"],[49942,0,"s"],[49943,0,"c"],[49944,0,"{"],[49945,0,"I"],[49946,0,"d"],[49947,0,"x"],[49948,0,"}"],[49949,0,"_"],[49950,0,"5"],[49951,0,"$"],[49952,0," "],[49953,0,"t"],[49954,0,"e"],[49955,0,"r"],[49956,0,"m"],[49957,0,"i"],[49958,0,"n"],[49959,0,"a"],[49960,0,"t"],[49961,0,"e"],[49962,0,"s"],[49963,0," "],[49964,0,"t"],[49965,0,"h"],[49966,0,"e"],[49967,0," "],[49968,0,"i"],[49969,0,"t"],[49970,0,"e"],[49971,0,"r"],[49972,0,"a"],[49973,0,"t"],[49974,0,"i"],[49975,0,"o"],[49976,0,"n"],[49977,0," "],[49978,0,"w"],[49979,0,"h"],[49980,0,"e"],[49981,0,"n"],[49982,0," "],[49983,0,"t"],[49984,0,"h"],[49985,0,"e"],[49986,0," "],[49987,0,"i"],[49988,0,"n"],[49989,0,"d"],[49990,0,"e"],[49991,0,"x"],[49992,0," "],[49993,0,"r"],[49994,0,"e"],[49995,0,"a"],[49996,0,"c"],[49997,0,"h"],[49998,0,"e"],[49999,0,"s"],[50000,0," "],[50001,0,"z"],[50002,0,"e"],[50003,0,"r"],[50004,0,"o"],[50005,0,","],[50006,0," "],[50007,0,"w"],[50008,0,"h"],[50009,0,"i"],[50010,0,"l"],[50011,0,"e"],[50012,0," "],[50013,0,"$"],[50014,0,"\\"],[50015,0,"t"],[50016,0,"e"],[50017,0,"x"],[50018,0,"t"],[50019,0,"s"],[50020,0,"c"],[50021,0,"{"],[50022,0,"I"],[50023,0,"d"],[50024,0,"x"],[50025,0,"}"],[50026,0,"_"],[50027,0,"3"],[50028,0,"$"],[50029,0," "],[50030,0,"m"],[50031,0,"o"],[50032,0,"v"],[50033,0,"e"],[50034,0,"s"],[50035,0," "],[50036,0,"t"],[50037,0,"o"],[50038,0," "],[50039,0,"t"],[50040,0,"h"],[50041,0,"e"],[50042,0," "],[50043,0,"n"],[50044,0,"e"],[50045,0,"x"],[50046,0,"t"],[50047,0," "],[50048,0,"e"],[50049,0,"l"],[50050,0,"e"],[50051,0,"m"],[50052,0,"e"],[50053,0,"n"],[50054,0,"t"],[50055,0," "],[50056,0,"a"],[50057,0,"n"],[50058,0,"d"],[50059,0," "],[50060,0,"d"],[50061,0,"e"],[50062,0,"c"],[50063,0,"r"],[50064,0,"e"],[50065,0,"m"],[50066,0,"e"],[50067,0,"n"],[50068,0,"t"],[50069,0,"s"],[50070,0," "],[50071,0,"t"],[50072,0,"h"],[50073,0,"e"],[50074,0," "],[50075,0,"i"],[50076,0,"n"],[50077,0,"d"],[50078,0,"e"],[50079,0,"x"],[50080,0,","],[50081,0," "],[50082,0,"a"],[50083,0,"n"],[50084,0,"d"],[50085,0," "],[50086,0,"$"],[50087,0,"\\"],[50088,0,"t"],[50089,0,"e"],[50090,0,"x"],[50091,0,"t"],[50092,0,"s"],[50093,0,"c"],[50094,0,"{"],[50095,0,"I"],[50096,0,"d"],[50097,0,"x"],[50098,0,"}"],[50099,0,"_"],[50100,0,"4"],[50101,0,"$"],[50102,0," "],[50103,0,"s"],[50104,0,"k"],[50105,0,"i"],[50106,0,"p"],[50107,0,"s"],[50108,0," "],[50109,0,"o"],[50110,0,"v"],[50111,0,"e"],[50112,0,"r"],[50113,0," "],[50114,0,"d"],[50115,0,"e"],[50116,0,"l"],[50117,0,"e"],[50118,0,"t"],[50119,0,"e"],[50120,0,"d"],[50121,0," "],[50122,0,"l"],[50123,0,"i"],[50124,0,"s"],[50125,0,"t"],[50126,0," "],[50127,0,"e"],[50128,0,"l"],[50129,0,"e"],[50130,0,"m"],[50131,0,"e"],[50132,0,"n"],[50133,0,"t"],[50134,0,"s"],[50135,0,"."],[50136,0," "],[50137,0,"T"],[50138,0,"h"],[50139,0,"e"],[50140,0," "],[50141,0,"l"],[50142,0,"i"],[50143,0,"s"],[50144,0,"t"],[50145,0," "],[50146,0,"s"],[50147,0,"t"],[50148,0,"r"],[50149,0,"u"],[50150,0,"c"],[50151,0,"t"],[50152,0,"u"],[50153,0,"r"],[50154,0,"e"],[50155,0," "],[50156,0,"r"],[50157,0,"e"],[50158,0,"s"],[50159,0,"e"],[50160,0,"m"],[50161,0,"b"],[50162,0,"l"],[50163,0,"e"],[50164,0,"d"],[50164,1],[50164,0,"s"],[50165,0," "],[50166,0,"a"],[50167,0," "],[50168,0,"l"],[50169,0,"i"],[50170,0,"n"],[50171,0,"k"],[50172,0,"e"],[50173,0,"d"],[50174,0," "],[50175,0,"l"],[50176,0,"i"],[50177,0,"s"],[50178,0,"t"],[50145,1],[50144,1],[50143,1],[50142,1],[50141,1],[50174,0,":"],[50175,0," "],[50176,0,"e"],[50177,0,"a"],[50178,0,"c"],[50179,0,"h"],[50180,0," "],[50181,0,"l"],[50182,0,"i"],[50183,0,"s"],[50184,0,"t"],[50185,0," "],[50186,0,"e"],[50187,0,"l"],[50188,0,"e"],[50189,0,"m"],[50190,0,"e"],[50191,0,"n"],[50192,0,"t"],[50193,0," "],[50194,0,"h"],[50195,0,"a"],[50196,0,"s"],[50197,0," "],[50198,0,"a"],[50199,0," "],[50200,0,"u"],[50201,0,"n"],[50202,0,"i"],[50203,0,"q"],[50204,0,"u"],[50205,0,"e"],[50206,0," "],[50207,0,"i"],[50208,0,"d"],[50209,0,"e"],[50210,0,"n"],[50211,0,"t"],[50212,0,"i"],[50213,0,"f"],[50214,0,"i"],[50215,0,"e"],[50216,0,"r"],[50217,0," "],[50218,0,"$"],[50219,0,"k"],[50220,0,"$"],[50221,0,","],[50222,0," "],[50223,0,"a"],[50224,0,"n"],[50225,0,"d"],[50226,0," "],[50227,0,"t"],[50228,0,"h"],[50229,0,"e"],[50230,0," "],[50231,0,"p"],[50232,0,"a"],[50233,0,"r"],[50234,0,"t"],[50235,0,"i"],[50236,0,"a"],[50237,0,"l"],[50238,0," "],[50239,0,"f"],[50240,0,"u"],[50241,0,"n"],[50242,0,"c"],[50243,0,"t"],[50244,0,"i"],[50245,0,"o"],[50246,0,"n"],[50247,0," "],[50248,0,"r"],[50249,0,"e"],[50250,0,"p"],[50251,0,"r"],[50252,0,"e"],[50253,0,"s"],[50254,0,"e"],[50255,0,"n"],[50256,0,"t"],[50257,0,"i"],[50258,0,"n"],[50259,0,"g"],[50260,0," "],[50261,0,"l"],[50262,0,"o"],[50263,0,"c"],[50264,0,"a"],[50265,0,"l"],[50266,0," "],[50267,0,"s"],[50268,0,"t"],[50269,0,"a"],[50270,0,"t"],[50271,0,"e"],[50272,0," "],[50273,0,"m"],[50274,0,"a"],[50275,0,"s"],[50275,1],[50275,0,"p"],[50276,0,"s"],[50277,0," "],[50278,0,"$"],[50279,0,"\\"],[50280,0,"m"],[50281,0,"a"],[50282,0,"t"],[50283,0,"h"],[50284,0,"s"],[50285,0,"f"],[50286,0,"{"],[50287,0,"n"],[50288,0,"e"],[50289,0,"x"],[50290,0,"t"],[50291,0,"}"],[50292,0,"("],[50293,0,"k"],[50294,0,")"],[50295,0,"$"],[50296,0," "],[50297,0,"t"],[50298,0,"o"],[50299,0," "],[50300,0,"t"],[50301,0,"h"],[50302,0,"e"],[50303,0," "],[50304,0,"I"],[50305,0,"D"],[50306,0," "],[50307,0,"o"],[50308,0,"f"],[50309,0," "],[50310,0,"t"],[50311,0,"h"],[50312,0,"e"],[50313,0," "],[50314,0,"l"],[50315,0,"i"],[50316,0,"s"],[50317,0,"t"],[50318,0," "],[50319,0,"e"],[50320,0,"l"],[50321,0,"e"],[50322,0,"m"],[50323,0,"e"],[50324,0,"n"],[50325,0,"t"],[50326,0," "],[50327,0,"t"],[50328,0,"h"],[50329,0,"a"],[50330,0,"t"],[50331,0," "],[50332,0,"f"],[50333,0,"o"],[50334,0,"l"],[50335,0,"l"],[50336,0,"o"],[50337,0,"w"],[50338,0,"s"],[50339,0," "],[50340,0,"$"],[50341,0,"k"],[50342,0,"$"],[50343,0,"."],[50344,0," "],[50345,0,"W"],[50346,0,"h"],[50347,0,"e"],[50348,0,"n"],[50349,0," "],[50350,0,"a"],[50351,0," "],[50352,0,"l"],[50353,0,"i"],[50354,0,"s"],[50355,0,"t"],[50356,0," "],[50356,1],[50355,1],[50354,1],[50353,1],[50352,1],[50351,1],[50350,1],[50349,1],[50348,1],[50347,1],[50346,1],[50345,1],[50345,0,"E"],[50346,0,"a"],[50347,0,"c"],[50348,0,"h"],[50349,0," "],[50350,0,"l"],[50351,0,"i"],[50352,0,"s"],[50353,0,"t"],[50354,0," "],[50355,0,"e"],[50356,0,"l"],[50357,0,"e"],[50358,0,"m"],[50359,0,"m"],[50360,0,"e"],[50361,0,"n"],[50362,0,"t"],[50362,1],[50361,1],[50360,1],[50359,1],[50359,0,"e"],[50360,0,"n"],[50361,0,"b"],[50362,0,"t"],[50363,0," "],[50363,1],[50362,1],[50361,1],[50361,0,"t"],[50362,0," "],[50363,0,"a"],[50364,0,"l"],[50365,0,"s"],[50366,0,"o"],[50367,0," "],[50368,0,"h"],[50369,0,"a"],[50370,0,"s"],[50371,0," "],[50121,1],[50120,1],[50119,1],[50118,1],[50117,1],[50116,1],[50115,1],[50114,1],[50127,0," "],[50128,0,"t"],[50129,0,"h"],[50130,0,"a"],[50131,0,"t"],[50132,0," "],[50133,0,"a"],[50134,0,"r"],[50135,0,"e"],[50136,0," "],[50137,0,"m"],[50138,0,"a"],[50139,0,"r"],[50140,0,"k"],[50141,0,"e"],[50142,0,"d"],[50143,0," "],[50144,0,"a"],[50145,0,"s"],[50146,0," "],[50147,0,"d"],[50148,0,"e"],[50149,0,"l"],[50150,0,"e"],[50151,0,"t"],[50152,0,"e"],[50153,0,"d"],[50363,0," "],[50364,0,"D"],[50365,0,"e"],[50366,0,"l"],[50367,0,"e"],[50368,0,"t"],[50369,0,"e"],[50370,0,"d"],[50371,0," "],[50372,0,"l"],[50373,0,"i"],[50374,0,"s"],[50375,0,"t"],[50376,0," "],[50377,0,"e"],[50378,0,"l"],[50379,0,"e"],[50380,0,"m"],[50381,0,"e"],[50382,0,"n"],[50383,0,"t"],[50384,0,"s"],[50385,0," "],[50386,0,"a"],[50387,0,"r"],[50388,0,"e"],[50389,0," "],[50390,0,"n"],[50391,0,"e"],[50392,0,"v"],[50393,0,"e"],[50394,0,"r"],[50395,0," "],[50396,0,"r"],[50397,0,"e"],[50398,0,"m"],[50399,0,"o"],[50400,0,"v"],[50401,0,"e"],[50402,0,"d"],[50403,0," "],[50404,0,"f"],[50405,0,"r"],[50406,0,"o"],[50407,0,"m"],[50408,0," "],[50409,0,"t"],[50410,0,"h"],[50411,0,"e"],[50375,1],[50374,1],[50373,1],[50372,1],[50371,1],[50407,0," "],[50408,0,"l"],[50409,0,"i"],[50410,0,"n"],[50411,0,"k"],[50412,0,"e"],[50413,0,"d"],[50414,0," "],[50415,0,"l"],[50416,0,"i"],[50417,0,"s"],[50418,0,"t"],[50419,0," "],[50420,0,"s"],[50421,0,"t"],[50422,0,"r"],[50423,0,"u"],[50424,0,"c"],[50425,0,"t"],[50426,0,"u"],[50427,0,"r"],[50428,0,"e"],[50363,1],[50363,0,"\n"],[50364,0,"\n"],[50457,1],[50456,1],[50455,1],[50454,1],[50453,1],[50452,1],[50451,1],[50450,1],[50449,1],[50448,1],[50447,1],[50446,1],[50445,1],[50444,1],[50443,1],[50442,1],[50441,1],[50440,1],[50439,1],[50438,1],[50437,1],[50436,1],[50435,1],[50434,1],[50433,1],[50432,1],[50431,1],[50430,1],[50430,0,","],[50431,0," "],[50432,0,"b"],[50433,0,"u"],[50434,0,"t"],[50435,0," "],[50436,0,"o"],[50437,0,"n"],[50438,0,"l"],[50439,0,"y"],[50440,0," "],[50441,0,"m"],[50442,0,"a"],[50443,0,"r"],[50444,0,"k"],[50445,0,"e"],[50446,0,"d"],[50447,0," "],[50448,0,"a"],[50449,0,"s"],[50450,0," "],[50451,0,"d"],[50452,0,"e"],[50453,0,"l"],[50454,0,"e"],[50455,0,"t"],[50456,0,"e"],[50457,0,"d"],[50458,0,"."],[50459,0," "],[50460,0,"T"],[50461,0,"o"],[50462,0," "],[50463,0,"t"],[50464,0,"h"],[50465,0,"i"],[50466,0,"s"],[50467,0," "],[50468,0,"e"],[50469,0,"n"],[50470,0,"d"],[50471,0,","],[50472,0," "],[50473,0,"t"],[50474,0,"h"],[50475,0,"e"],[50476,0," "],[50477,0,"l"],[50478,0,"o"],[50479,0,"c"],[50480,0,"a"],[50481,0,"l"],[50482,0," "],[50483,0,"s"],[50484,0,"t"],[50485,0,"a"],[50486,0,"t"],[50487,0,"e"],[50488,0," "],[50489,0,"c"],[50490,0,"o"],[50491,0,"n"],[50492,0,"t"],[50493,0,"a"],[50494,0,"i"],[50495,0,"n"],[50496,0,"s"],[50497,0," "],[50498,0,"a"],[50499,0," "],[50500,0,"\\"],[50501,0,"e"],[50502,0,"m"],[50503,0,"p"],[50504,0,"h"],[50505,0,"{"],[50506,0,"p"],[50507,0,"r"],[50508,0,"e"],[50509,0,"s"],[50510,0,"e"],[50511,0,"n"],[50512,0,"c"],[50513,0,"e"],[50514,0," "],[50515,0,"s"],[50516,0,"e"],[50517,0,"t"],[50518,0,"}"],[50519,0," "],[50520,0,"$"],[50521,0,"\\"],[50522,0,"m"],[50523,0,"a"],[50524,0,"t"],[50525,0,"h"],[50526,0,"s"],[50527,0,"f"],[50528,0,"{"],[50529,0,"p"],[50530,0,"r"],[50531,0,"e"],[50532,0,"s"],[50533,0,"}"],[50534,0,"("],[50535,0,"k"],[50536,0,")"],[50537,0,"$"],[50538,0," "],[50539,0,"f"],[50540,0,"o"],[50541,0,"r"],[50542,0," "],[50543,0,"e"],[50544,0,"a"],[50545,0,"c"],[50546,0,"h"],[50547,0," "],[50548,0,"l"],[50549,0,"i"],[50550,0,"s"],[50551,0,"t"],[50552,0," "],[50553,0,"e"],[50554,0,"l"],[50555,0,"e"],[50556,0,"m"],[50557,0,"e"],[50558,0,"n"],[50559,0,"t"],[50560,0," "],[50561,0,"w"],[50562,0,"i"],[50563,0,"t"],[50564,0,"h"],[50565,0," "],[50566,0,"I"],[50567,0,"D"],[50568,0," "],[50569,0,"$"],[50570,0,"k"],[50571,0,"$"],[50572,0,"."],[50546,1],[50545,1],[50544,1],[50543,1],[50543,0,"a"],[50489,1],[50489,1],[50489,1],[50489,0,"m"],[50490,0,"a"],[50491,0,"i"],[50492,0,"n"],[50544,1],[50544,0,"t"],[50545,0,"h"],[50546,0,"e"],[50573,0," "],[50574,0,"T"],[50575,0,"h"],[50576,0,"i"],[50577,0,"s"],[50578,0," "],[50579,0,"s"],[50579,1],[50578,1],[50577,1],[50576,1],[50575,1],[50574,1],[50574,0,"T"],[50575,0,"h"],[50575,1],[50574,1],[50573,1],[50573,0," "],[50574,0,"I"],[50575,0,"t"],[50576,0," "],[50577,0,"i"],[50578,0,"s"],[50579,0," "],[50580,0,"t"],[50581,0,"h"],[50582,0,"e"],[50583,0," "],[50584,0,"s"],[50585,0,"e"],[50586,0,"t"],[50587,0," "],[50588,0,"o"],[50589,0,"f"],[50590,0," "],[50591,0,"a"],[50592,0,"l"],[50593,0,"l"],[50594,0," "],[50595,0,"o"],[50596,0,"p"],[50597,0,"e"],[50598,0,"r"],[50599,0,"a"],[50600,0,"t"],[50601,0,"i"],[50602,0,"o"],[50603,0,"n"],[50604,0,"s"],[50605,0," "],[50606,0,"t"],[50607,0,"h"],[50608,0,"a"],[50609,0,"t"],[50610,0," "],[50611,0,"h"],[50612,0,"a"],[50613,0,"v"],[50614,0,"e"],[50615,0," "],[50616,0,"a"],[50617,0,"s"],[50618,0,"s"],[50619,0,"e"],[50620,0,"r"],[50621,0,"t"],[50622,0,"e"],[50623,0,"d"],[50624,0," "],[50625,0,"t"],[50626,0,"h"],[50627,0,"e"],[50628,0," "],[50629,0,"e"],[50630,0,"x"],[50631,0,"i"],[50632,0,"s"],[50633,0,"t"],[50634,0,"e"],[50635,0,"n"],[50636,0,"c"],[50637,0,"e"],[50638,0," "],[50639,0,"o"],[50640,0,"f"],[50641,0," "],[50642,0,"t"],[50643,0,"h"],[50644,0,"e"],[50645,0," "],[50646,0,"l"],[50647,0,"i"],[50648,0,"s"],[50649,0,"t"],[50650,0," "],[50651,0,"e"],[50652,0,"l"],[50653,0,"e"],[50654,0,"m"],[50655,0,"e"],[50656,0,"n"],[50657,0,"t"],[50658,0,"."],[50659,0," "],[50660,0,"W"],[50661,0,"h"],[50662,0,"e"],[50663,0,"n"],[50664,0," "],[50665,0,"a"],[50666,0," "],[50667,0,"l"],[50668,0,"i"],[50669,0,"s"],[50670,0,"t"],[50671,0," "],[50672,0,"e"],[50673,0,"l"],[50674,0,"e"],[50675,0,"m"],[50676,0,"e"],[50677,0,"n"],[50678,0,"t"],[50679,0," "],[50680,0,"i"],[50681,0,"s"],[50682,0," "],[50683,0,"d"],[50684,0,"e"],[50685,0,"l"],[50686,0,"e"],[50687,0,"t"],[50688,0,"e"],[50689,0,"d"],[50690,0,","],[50691,0," "],[50692,0,"t"],[50693,0,"h"],[50694,0,"e"],[50695,0," "],[50696,0,"p"],[50697,0,"r"],[50698,0,"e"],[50699,0,"c"],[50700,0,"e"],[50700,1],[50699,1],[50699,0,"s"],[50700,0,"e"],[50701,0,"n"],[50702,0,"c"],[50703,0,"e"],[50704,0," "],[50705,0,"s"],[50706,0,"e"],[50707,0,"t"],[50708,0," "],[50709,0,"i"],[50710,0,"s"],[50711,0," "],[50712,0,"s"],[50713,0,"e"],[50714,0,"t"],[50715,0," "],[50716,0,"t"],[50717,0,"o"],[50718,0," "],[50719,0,"t"],[50720,0,"h"],[50721,0,"e"],[50722,0," "],[50723,0,"e"],[50724,0,"m"],[50725,0,"p"],[50726,0,"t"],[50727,0,"y"],[50728,0," "],[50729,0,"s"],[50730,0,"e"],[50731,0,"t"],[50732,0,","],[50733,0," "],[50734,0,"m"],[50735,0,"a"],[50736,0,"r"],[50737,0,"k"],[50738,0,"i"],[50739,0,"n"],[50740,0,"g"],[50741,0," "],[50742,0,"i"],[50743,0,"t"],[50744,0," "],[50745,0,"a"],[50746,0,"s"],[50747,0," "],[50748,0,"d"],[50749,0,"e"],[50750,0,"l"],[50751,0,"e"],[50752,0,"t"],[50753,0,"e"],[50754,0,"d"],[50755,0,";"],[50756,0," "],[50757,0,"h"],[50758,0,"o"],[50759,0,"w"],[50760,0,"e"],[50761,0,"v"],[50762,0,"e"],[50763,0,"r"],[50764,0,","],[50765,0," "],[50766,0,"a"],[50767,0," "],[50768,0,"c"],[50769,0,"o"],[50770,0,"n"],[50771,0,"c"],[50772,0,"u"],[50773,0,"r"],[50774,0,"r"],[50775,0,"e"],[50776,0,"n"],[50777,0,"t"],[50778,0," "],[50779,0,"o"],[50780,0,"p"],[50781,0,"e"],[50782,0,"r"],[50783,0,"a"],[50784,0,"t"],[50785,0,"i"],[50786,0,"o"],[50787,0,"n"],[50788,0," "],[50789,0,"t"],[50790,0,"h"],[50791,0,"a"],[50792,0,"t"],[50793,0," "],[50794,0,"r"],[50795,0,"e"],[50796,0,"f"],[50797,0,"e"],[50798,0,"r"],[50799,0,"e"],[50800,0,"n"],[50801,0,"c"],[50802,0,"e"],[50803,0,"s"],[50804,0," "],[50805,0,"t"],[50806,0,"h"],[50807,0,"e"],[50808,0," "],[50809,0,"l"],[50810,0,"i"],[50811,0,"s"],[50812,0,"t"],[50813,0," "],[50814,0,"e"],[50815,0,"l"],[50816,0,"e"],[50817,0,"m"],[50818,0,"e"],[50819,0,"n"],[50820,0,"t"],[50821,0," "],[50822,0,"c"],[50823,0,"a"],[50824,0,"n"],[50825,0," "],[50826,0,"c"],[50827,0,"a"],[50828,0,"u"],[50829,0,"s"],[50830,0,"e"],[50831,0," "],[50832,0,"t"],[50833,0,"h"],[50834,0,"e"],[50835,0," "],[50836,0,"p"],[50837,0,"r"],[50838,0,"e"],[50839,0,"s"],[50840,0,"e"],[50841,0,"n"],[50842,0,"c"],[50843,0,"e"],[50844,0," "],[50845,0,"s"],[50846,0,"e"],[50847,0,"t"],[50848,0," "],[50849,0,"t"],[50850,0,"o"],[50851,0," "],[50852,0,"b"],[50853,0,"e"],[50854,0," "],[50855,0,"c"],[50856,0,"o"],[50857,0,"m"],[50858,0,"e"],[50859,0," "],[50860,0,"n"],[50861,0,"o"],[50862,0,"n"],[50863,0,"-"],[50864,0,"e"],[50865,0,"m"],[50866,0,"p"],[50867,0,"t"],[50868,0,"y"],[50869,0," "],[50870,0,"a"],[50871,0,"g"],[50872,0,"a"],[50873,0,"i"],[50874,0,"n"],[50875,0," "],[50876,0,"("],[50877,0,"l"],[50878,0,"e"],[50879,0,"a"],[50880,0,"d"],[50881,0,"i"],[50882,0,"n"],[50883,0,"g"],[50884,0," "],[50885,0,"t"],[50886,0,"o"],[50887,0," "],[50888,0,"t"],[50889,0,"h"],[50890,0,"e"],[50891,0," "],[50892,0,"s"],[50893,0,"i"],[50894,0,"t"],[50895,0,"u"],[50896,0,"a"],[50897,0,"t"],[50898,0,"i"],[50899,0,"o"],[50900,0,"n"],[50901,0,"s"],[50902,0," "],[50903,0,"i"],[50904,0,"n"],[50905,0," "],[50906,0,"F"],[50907,0,"i"],[50908,0,"g"],[50909,0,"u"],[50910,0,"r"],[50911,0,"e"],[50912,0,"s"],[50913,0,"~"],[50914,0,"\\"],[50915,0,"r"],[50916,0,"e"],[50917,0,"f"],[50918,0,"{"],[50919,0,"f"],[50920,0,"i"],[50921,0,"g"],[50922,0,":"],[50923,0,"m"],[50924,0,"a"],[50925,0,"p"],[50926,0,"-"],[50927,0,"r"],[50928,0,"e"],[50929,0,"m"],[50930,0,"o"],[50931,0,"v"],[50932,0,"e"],[50933,0,"}"],[50934,0," "],[50935,0,"a"],[50936,0,"n"],[50937,0,"d"],[50938,0," "],[50938,1],[50938,0,"~"],[50939,0,"\\"],[50940,0,"r"],[50941,0,"e"],[50942,0,"f"],[50943,0,"{"],[50944,0,"f"],[50945,0,"i"],[50946,0,"g"],[50947,0,":"],[50948,0,"t"],[50949,0,"o"],[50950,0,"d"],[50951,0,"o"],[50952,0,"-"],[50953,0,"i"],[50954,0,"t"],[50955,0,"e"],[50956,0,"m"],[50957,0,"}"],[50958,0,")"],[50959,0,"."],[50575,1],[50574,1],[50573,1],[50572,1],[50572,0,","],[50573,0," "],[50574,0,"w"],[50575,0,"h"],[50576,0,"i"],[50577,0,"c"],[50578,0,"h"],[50647,1],[50647,0,"i"],[50648,0,"s"],[50744,1],[50743,1],[50742,1],[50742,0,"s"],[50738,0,"w"],[50739,0,"h"],[50740,0,"i"],[50741,0,"c"],[50742,0,"h"],[50743,0," "],[50968,0," "],[50969,0,"$"],[50969,1],[50969,0,"R"],[50970,0,"u"],[50971,0,"l"],[50972,0,"e"],[50973,0," "],[50974,0,"$"],[50975,0,"\\"],[50976,0,"t"],[50977,0,"e"],[50978,0,"x"],[50979,0,"t"],[50980,0,"s"],[50981,0,"c"],[50982,0,"{"],[50983,0,"I"],[50984,0,"d"],[50985,0,"x"],[50986,0,"}"],[50987,0,"_"],[50988,0,"4"],[50989,0,"$"],[50990,0," "],[50991,0,"h"],[50992,0,"a"],[50993,0,"n"],[50994,0,"d"],[50995,0,"l"],[50996,0,"e"],[50997,0,"s"],[50998,0," "],[50999,0,"l"],[51000,0,"i"],[51001,0,"s"],[51002,0,"t"],[51003,0," "],[51004,0,"e"],[51005,0,"l"],[51006,0,"e"],[51007,0,"m"],[51008,0,"e"],[51009,0,"n"],[51010,0,"t"],[51011,0," "],[51011,1],[51011,0,"s"],[51012,0," "],[51013,0,"w"],[51014,0,"i"],[51015,0,"t"],[51016,0,"h"],[51017,0," "],[51018,0,"e"],[51019,0,"m"],[51020,0,"p"],[51021,0,"t"],[51022,0,"y"],[51023,0," "],[51024,0,"p"],[51025,0,"r"],[51026,0,"e"],[51027,0,"s"],[51028,0,"e"],[51029,0,"n"],[51030,0,"c"],[51031,0,"e"],[51018,0,"a"],[51019,0,"n"],[51020,0," "],[51035,0," "],[51036,0,"s"],[51037,0,"e"],[51038,0,"t"],[51039,0," "],[51040,0,"b"],[51041,0,"y"],[51042,0," "],[51043,0,"m"],[51044,0,"o"],[51045,0,"v"],[51046,0,"i"],[51047,0,"n"],[51048,0,"g"],[51049,0," "],[51050,0,"t"],[51051,0,"o"],[51052,0," "],[51053,0,"t"],[51054,0,"h"],[51055,0,"e"],[51056,0," "],[51057,0,"n"],[51058,0,"e"],[51059,0,"x"],[51060,0,"t"],[51061,0," "],[51062,0,"l"],[51063,0,"i"],[51064,0,"s"],[51065,0,"t"],[51066,0," "],[51067,0,"e"],[51068,0,"l"],[51069,0,"e"],[51070,0,"m"],[51071,0,"e"],[51072,0,"n"],[51073,0,"t"],[51074,0," "],[51075,0,"w"],[51076,0,"i"],[51077,0,"t"],[51078,0,"h"],[51079,0,"o"],[51080,0,"u"],[51081,0,"t"],[51082,0," "],[51083,0,"d"],[51084,0,"e"],[51085,0,"c"],[51086,0,"r"],[51087,0,"e"],[51088,0,"m"],[51089,0,"e"],[51090,0,"n"],[51091,0,"t"],[51092,0,"i"],[51093,0,"n"],[51094,0,"g"],[51095,0," "],[51096,0,"t"],[51097,0,"h"],[51098,0,"e"],[51099,0," "],[51100,0,"i"],[51101,0,"n"],[51102,0,"d"],[51103,0,"e"],[51104,0,"x"],[51105,0,"."],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[51108,1],[47846,0,"t"],[47847,0,"h"],[47848,0,"e"],[47849,0,"s"],[47850,0,"e"],[47851,0," "],[47852,0,"i"],[47853,0,"d"],[47854,0,"e"],[47855,0,"n"],[47856,0,"t"],[47857,0,"i"],[47858,0,"f"],[47859,0,"i"],[47860,0,"e"],[47861,0,"r"],[47862,0,"s"],[47863,0," "],[47928,1],[47927,1],[47926,1],[47925,1],[47924,1],[47923,1],[47922,1],[47921,1],[47920,1],[47919,1],[47918,1],[47917,1],[47916,1],[47915,1],[47914,1],[47913,1],[47912,1],[47911,1],[47910,1],[47909,1],[47908,1],[47907,1],[47906,1],[47905,1],[47904,1],[47903,1],[47902,1],[47901,1],[47900,1],[47899,1],[47898,1],[47897,1],[47896,1],[47895,1],[49397,1],[49396,1],[49395,1],[51086,0,","],[51087,0," "],[51088,0,"i"],[51089,0,"."],[51090,0,"e"],[51091,0,"."],[51092,0," "],[51093,0,"n"],[51094,0,"o"],[51095,0,"t"],[51096,0," "],[51097,0,"c"],[51098,0,"o"],[51099,0,"u"],[51100,0,"n"],[51101,0,"t"],[51102,0,"i"],[51103,0,"n"],[51104,0,"g"],[51105,0," "],[51106,0,"t"],[51107,0,"h"],[51108,0,"e"],[51109,0,"m"],[51110,0," "],[51111,0,"a"],[51112,0,"s"],[51113,0," "],[51114,0,"l"],[51115,0,"i"],[51116,0,"s"],[51117,0,"t"],[51118,0," "],[51119,0,"e"],[51120,0,"l"],[51121,0,"e"],[51122,0,"m"],[51123,0,"e"],[51124,0,"n"],[51125,0,"t"],[51126,0,"s"],[51588,1],[51587,1],[51586,1],[51585,1],[51585,0,"I"],[51586,0,"d"],[51587,0,"x"],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[51679,1],[52207,0,"s"],[52208,0,"a"],[52209,0,"m"],[52210,0,"e"],[52211,0," "],[52415,1],[52414,1],[52413,1],[52412,1],[52411,1],[52410,1],[52409,1],[52408,1],[52407,1],[52406,1],[52405,1],[52404,1],[52403,1],[52402,1],[52401,1],[52400,1],[52399,1],[52398,1],[52397,1],[52396,1],[52395,1],[52394,1],[52393,1],[52392,1],[52391,1],[52390,1],[52389,1],[52388,1],[52387,1],[52386,1],[52385,1],[52384,1],[52383,1],[52382,1],[52381,1],[52380,1],[52379,1],[52378,1],[52377,1],[52376,1],[52375,1],[52374,1],[52373,1],[52372,1],[52371,1],[52370,1],[52369,1],[52368,1],[52367,1],[52366,1],[52365,1],[52364,1],[52363,1],[52362,1],[52361,1],[52360,1],[52359,1],[52358,1],[52357,1],[52356,1],[52355,1],[52354,1],[52353,1],[52352,1],[52351,1],[52350,1],[52349,1],[52348,1],[52347,1],[52346,1],[52345,1],[52344,1],[52343,1],[52342,1],[52341,1],[52340,1],[52339,1],[52338,1],[52337,1],[52336,1],[52335,1],[52334,1],[52333,1],[52332,1],[52331,1],[52330,1],[52329,1],[52328,1],[52327,1],[52326,1],[52325,1],[52324,1],[52323,1],[52322,1],[52321,1],[52320,1],[52319,1],[52318,1],[52317,1],[52316,1],[52315,1],[52314,1],[52313,1],[52312,1],[52311,1],[52310,1],[52309,1],[52308,1],[52307,1],[52306,1],[52305,1],[52304,1],[52303,1],[52302,1],[52301,1],[52300,1],[52299,1],[52298,1],[52297,1],[52296,1],[52295,1],[52294,1],[52293,1],[52292,1],[52291,1],[52290,1],[52289,1],[52288,1],[52287,1],[52286,1],[52285,1],[52284,1],[52283,1],[52282,1],[52281,1],[52280,1],[52279,1],[52278,1],[52277,1],[52488,0,","],[54900,0,"\\"],[54901,0,"e"],[54902,0,"m"],[54903,0,"p"],[54904,0,"h"],[54905,0,"{"],[54925,0,"}"],[54943,0,"."],[54944,0," "],[54945,0,"A"],[54946,0," "],[54947,0,"c"],[54947,1],[54946,1],[54946,0," "],[54947,0,"c"],[54948,0,"a"],[54949,0,"u"],[54950,0,"s"],[54951,0,"a"],[54952,0,"l"],[54953,0," "],[54954,0,"d"],[54955,0,"e"],[54956,0,"p"],[54957,0,"e"],[54958,0,"n"],[54959,0,"d"],[54960,0,"e"],[54961,0,"n"],[54962,0,"c"],[54963,0,"y"],[54964,0," "],[54965,0,"i"],[54966,0,"s"],[54967,0," "],[54967,1],[54966,1],[54965,1],[54965,0,"o"],[54966,0,"f"],[54967,0," "],[54968,0,"o"],[54969,0,"p"],[54970,0,"e"],[54971,0,"r"],[54972,0,"a"],[54973,0,"t"],[54974,0,"i"],[54975,0,"o"],[54976,0,"n"],[54977,0," "],[54978,0,"$"],[54979,0,"o"],[54980,0,"_"],[54981,0,"2"],[54982,0,"$"],[54983,0," "],[54984,0,"i"],[54985,0,"s"],[54986,0," "],[54987,0,"a"],[54988,0,"n"],[54989,0,"y"],[54990,0," "],[54991,0,"o"],[54992,0,"p"],[54993,0,"e"],[54994,0,"r"],[54995,0,"a"],[54996,0,"t"],[54997,0,"i"],[54998,0,"o"],[54999,0,"n"],[55000,0," "],[55001,0,"$"],[55002,0,"o"],[55003,0,"_"],[55004,0,"1"],[55005,0,"$"],[55006,0," "],[55007,0,"t"],[55008,0,"h"],[55009,0,"a"],[55010,0,"t"],[55011,0," "],[55012,0,"h"],[55013,0,"a"],[55014,0,"d"],[55015,0," "],[55016,0,"b"],[55017,0,"e"],[55018,0,"e"],[55019,0,"n"],[55020,0," "],[55021,0,"a"],[55022,0,"p"],[55023,0,"p"],[55024,0,"l"],[55025,0,"i"],[55026,0,"e"],[55027,0,"d"],[55028,0," "],[55029,0,"a"],[55030,0,"t"],[55031,0," "],[55032,0,"t"],[55033,0,"h"],[55034,0,"e"],[55035,0," "],[55036,0,"r"],[55037,0,"e"],[55038,0,"p"],[55039,0,"l"],[55040,0,"i"],[55041,0,"c"],[55042,0,"a"],[55043,0," "],[55044,0,"w"],[55045,0,"h"],[55046,0,"e"],[55047,0,"r"],[55048,0,"e"],[55049,0," "],[55050,0,"$"],[55051,0,"o"],[55052,0,"_"],[55053,0,"2"],[55054,0,"$"],[55055,0," "],[55056,0,"w"],[55057,0,"a"],[55058,0,"s"],[55059,0," "],[55015,0," "],[55016,0,"a"],[55017,0,"l"],[55018,0,"r"],[55019,0,"e"],[55020,0,"a"],[55021,0,"d"],[55022,0,"y"],[54944,0," "],[54945,0,"I"],[54946,0,"f"],[54947,0," "],[54948,0,"o"],[54949,0,"p"],[54950,0,"e"],[54951,0,"r"],[54952,0,"a"],[54953,0,"t"],[54954,0,"i"],[54955,0,"o"],[54956,0,"n"],[54957,0," "],[54958,0,"$"],[54959,0,"o"],[54960,0,"_"],[54961,0,"2"],[54962,0,"$"],[54963,0," "],[54964,0,"w"],[54965,0,"a"],[54966,0,"s"],[54967,0," "],[54968,0,"g"],[54969,0,"e"],[54970,0,"n"],[54971,0,"e"],[54972,0,"r"],[54973,0,"a"],[54974,0,"t"],[54975,0,"e"],[54976,0,"d"],[54977,0," "],[54978,0,"b"],[54979,0,"y"],[54980,0," "],[54981,0,"r"],[54982,0,"e"],[54983,0,"p"],[54984,0,"l"],[54985,0,"i"],[54986,0,"c"],[54987,0,"a"],[54988,0," "],[54989,0,"$"],[54990,0,"p"],[54991,0,"$"],[54992,0,","],[54993,0," "],[54994,0,"t"],[54995,0,"h"],[54996,0,"e"],[54997,0,"n"],[54999,1],[54999,0,"a"],[55030,1],[55029,1],[55028,1],[55027,1],[55026,1],[55025,1],[55024,1],[55023,1],[55022,1],[55021,1],[55080,0," "],[55081,0,"o"],[55082,0,"n"],[55083,0," "],[55084,0,"$"],[55085,0,"p"],[55086,0,"$"],[55087,0," "],[55088,0,"a"],[55089,0,"t"],[55090,0," "],[55091,0,"t"],[55092,0,"h"],[55093,0,"e"],[55094,0," "],[55095,0,"t"],[55096,0,"i"],[55097,0,"m"],[55098,0,"e"],[55099,0," "],[55100,0,"w"],[55101,0,"h"],[55102,0,"e"],[55103,0,"n"],[55104,0," "],[55105,0,"$"],[55106,0,"o"],[55107,0,"_"],[55108,0,"2"],[55109,0,"$"],[55110,0," "],[55111,0,"w"],[55112,0,"a"],[55113,0,"s"],[55114,0," "],[55115,0,"g"],[55116,0,"e"],[55117,0,"n"],[55118,0,"e"],[55119,0,"r"],[55120,0,"a"],[55121,0,"t"],[55122,0,"e"],[55123,0,"d"],[55124,0,"."],[55125,0," "],[55126,0,"I"],[55127,0,"n"],[55128,0," "],[55129,0,"t"],[55130,0,"h"],[55131,0,"i"],[55132,0,"s"],[55133,0," "],[55134,0,"p"],[55135,0,"a"],[55136,0,"p"],[55137,0,"e"],[55138,0,"r"],[55139,0,","],[55140,0," "],[55141,0,"w"],[55142,0,"e"],[55143,0," "],[55144,0,"d"],[55145,0,"e"],[55146,0,"f"],[55147,0,"i"],[55148,0,"n"],[55149,0,"e"],[55150,0,"d"],[55150,1],[55150,0," "],[55151,0,"t"],[55152,0,"h"],[55153,0,"e"],[55154,0," "],[55154,1],[55153,1],[55152,1],[55151,1],[55151,0,"\\"],[55152,0,"m"],[55153,0,"a"],[55153,1],[55152,1],[55151,1],[55151,0,"$"],[55152,0,"\\"],[55153,0,"m"],[55154,0,"a"],[55155,0,"t"],[55156,0,"h"],[55157,0,"i"],[55158,0,"t"],[55159,0,"{"],[55160,0,"d"],[55161,0,"e"],[55162,0,"p"],[55163,0,"s"],[55164,0,"}"],[55165,0,"$"],[55166,0," "],[55167,0,"a"],[55168,0,"s"],[55169,0," "],[55170,0,"t"],[55171,0,"h"],[55172,0,"e"],[55173,0," "],[55174,0,"s"],[55175,0,"e"],[55176,0,"t"],[55177,0," "],[55178,0,"o"],[55179,0,"f"],[55180,0," "],[55181,0,"L"],[55182,0,"a"],[55183,0,"m"],[55184,0,"p"],[55185,0,"o"],[55186,0,"r"],[55187,0,"t"],[55188,0," "],[55189,0,"t"],[55190,0,"i"],[55191,0,"m"],[55192,0,"e"],[55193,0,"s"],[55194,0,"t"],[55195,0,"a"],[55196,0,"m"],[55197,0,"p"],[55198,0,"s"],[55199,0," "],[55200,0,"o"],[55201,0,"f"],[55202,0," "],[55203,0,"a"],[55204,0,"l"],[55205,0,"l"],[55206,0," "],[55207,0,"c"],[55208,0,"a"],[55209,0,"u"],[55210,0,"s"],[55211,0,"a"],[55212,0,"l"],[55213,0," "],[55214,0,"d"],[55215,0,"e"],[55216,0,"p"],[55217,0,"e"],[55218,0,"n"],[55219,0,"d"],[55220,0,"e"],[55221,0,"n"],[55222,0,"c"],[55223,0,"i"],[55224,0,"e"],[55225,0,"s"],[55226,0,"."],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[55228,1],[54944,0," "],[54945,0,"I"],[54946,0,"t"],[54947,0," "],[54948,0,"i"],[54949,0,"s"],[54950,0," "],[54951,0,"d"],[54952,0,"e"],[54953,0,"f"],[54954,0,"i"],[54955,0,"n"],[54956,0,"e"],[54957,0,"d"],[54958,0," "],[54959,0,"a"],[54960,0,"s"],[54961,0," "],[54962,0,"f"],[54963,0,"o"],[54964,0,"l"],[54965,0,"l"],[54966,0,"o"],[54967,0,"w"],[54968,0,"s"],[54969,0,":"],[54971,1],[54971,0,"i"],[56788,0,"A"],[56789,0,"f"],[56790,0,"t"],[56791,0,"e"],[56792,0,"r"],[78015,1],[78014,1],[78013,1],[78012,1],[78012,0,"I"],[78013,0,"d"],[78014,0,"x"],[78085,1],[78084,1],[78083,1],[78082,1],[78082,0,"i"],[78083,0,"d"],[78084,0,"x"],[78074,0,"$"],[78087,0,"("],[78088,0,"n"],[78089,0,")"],[78090,0,"$"],[78079,1],[78078,1],[78077,1],[78076,1],[78075,1],[78075,0,"\\"],[78076,0,"m"],[78077,0,"a"],[78078,0,"t"],[78079,0,"h"],[78079,1],[78078,1],[78077,1],[78076,1],[78076,0,"t"],[78077,0,"e"],[78078,0,"x"],[78078,1],[78077,1],[78076,1],[78076,0,"m"],[78077,0,"a"],[78078,0,"t"],[78079,0,"h"],[78019,1],[78018,1],[78019,0,","],[78020,0,"4"],[88740,1],[88740,1],[88740,1],[88740,1],[88740,0,"I"],[88741,0,"d"],[88742,0,"x"],[78131,0," "],[78132,0,"b"],[78133,0,"e"],[78134,0,"c"],[78135,0,"a"],[78136,0,"u"],[78137,0,"s"],[78138,0,"e"],[78139,0," "],[78140,0,"$"],[78141,0,"n"],[78142,0,"$"],[78143,0," "],[78144,0,"i"],[78145,0,"s"],[78146,0," "],[78147,0,"g"],[78148,0,"r"],[78149,0,"e"],[78150,0,"a"],[78151,0,"t"],[78152,0,"e"],[78153,0,"r"],[78154,0," "],[78155,0,"t"],[78156,0,"h"],[78157,0,"a"],[78158,0,"n"],[78159,0," "],[78160,0,"t"],[78161,0,"h"],[78162,0,"e"],[78163,0," "],[78164,0,"n"],[78165,0,"u"],[78166,0,"m"],[78167,0,"b"],[78168,0,"e"],[78169,0,"r"],[78170,0," "],[78171,0,"o"],[78172,0,"f"],[78173,0," "],[78174,0,"n"],[78175,0,"o"],[78176,0,"n"],[78177,0,"-"],[78178,0,"d"],[78179,0,"e"],[78180,0,"l"],[78181,0,"e"],[78182,0,"t"],[78183,0,"e"],[78184,0,"d"],[78185,0," "],[78186,0,"e"],[78187,0,"l"],[78188,0,"e"],[78189,0,"m"],[78190,0,"e"],[78191,0,"n"],[78192,0,"t"],[78193,0,"s"],[78194,0," "],[78195,0,"i"],[78196,0,"n"],[78197,0," "],[78198,0,"t"],[78199,0,"h"],[78200,0,"e"],[78201,0," "],[78202,0,"l"],[78203,0,"i"],[78204,0,"s"],[78205,0,"t"],[78138,1],[78137,1],[78136,1],[78135,1],[78134,1],[78133,1],[78132,1],[78131,1],[78131,0,","],[78132,0," "],[78133,0,"w"],[78134,0,"h"],[78135,0,"i"],[78136,0,"c"],[78137,0,"h"],[78138,0," "],[78139,0,"w"],[78140,0,"o"],[78141,0,"u"],[78142,0,"l"],[78143,0,"d"],[78144,0," "],[78145,0,"h"],[78146,0,"a"],[78147,0,"p"],[78148,0,"p"],[78149,0,"e"],[78150,0,"n"],[78151,0," "],[78152,0,"i"],[78153,0,"f"],[51086,1],[51086,0," "],[51087,1],[51087,0,"("],[51092,0,","],[51128,0,")"],[56024,1],[56025,0,"("],[56030,0,","],[56067,1],[56067,0,")"],[56067,0," "],[56068,0,"i"],[56069,0,"n"],[56070,0," "],[56071,0,"e"],[56072,0,"i"],[56073,0,"t"],[56074,0,"h"],[56075,0,"e"],[56076,0,"r"],[56077,0," "],[56078,0,"d"],[56079,0,"i"],[56080,0,"r"],[56081,0,"e"],[56082,0,"c"],[56083,0,"t"],[56084,0,"i"],[56085,0,"o"],[56086,0,"n"],[68783,1],[68782,1],[68781,1],[68780,1],[68780,0,"w"],[68781,0,"h"],[68782,0,"i"],[68783,0,"c"],[68784,0,"h"],[68785,0," "],[68786,0,"i"],[68787,0,"s"],[68788,0," "],[68789,0,"t"],[68790,0,"h"],[68791,0,"e"],[68792,0," "],[68793,0,"c"],[68794,0,"a"],[68795,0,"s"],[68796,0,"e"],[59857,1],[59856,1],[59855,1],[59854,1],[59853,1],[59852,1],[59851,1],[59850,1],[59849,1],[59848,1],[59847,1],[59846,1],[59845,1],[59845,0,"i"],[59846,0,"t"],[59847,0,"s"],[59847,1],[59846,1],[59845,1],[59845,0,"t"],[59846,0,"h"],[59847,0,"e"],[61346,1],[61345,1],[61344,1],[61343,1],[61342,1],[61341,1],[61340,1],[61339,1],[61338,1],[61337,1],[61335,1],[61334,1],[61333,1],[61333,0,"i"],[61334,0,"t"],[61335,0,"s"],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[60398,1],[61440,1],[61439,1],[61438,1],[61437,1],[61436,1],[61435,1],[61434,1],[61433,1],[61432,1],[61431,1],[61431,0,"a"],[61432,0,"p"],[61433,0,"p"],[61434,0,"l"],[61435,0,"y"],[61436,0,"i"],[61437,0,"n"],[61438,0,"g"],[61250,1],[61249,1],[61248,1],[61247,1],[61246,1],[61245,1],[61244,1],[61243,1],[61242,1],[61242,0,"a"],[61243,0,"p"],[61244,0,"p"],[61245,0,"l"],[61246,0,"i"],[61247,0,"e"],[61248,0,"s"],[67605,1],[67604,1],[67603,1],[67602,1],[67601,1],[67600,1],[67599,1],[67598,1],[67598,0,"a"],[67599,0,"p"],[67600,0,"p"],[67601,0,"l"],[67602,0,"y"],[67636,1],[67635,1],[67634,1],[67633,1],[67632,1],[67631,1],[67631,0,"t"],[67632,0,"o"],[67662,1],[67661,1],[67660,1],[67659,1],[67666,1],[67666,0,"i"],[67667,0,"n"],[67668,0,"g"],[67964,1],[67963,1],[67970,0,"'"],[67971,0,"s"],[67972,0," "],[67973,0,"v"],[67974,0,"e"],[67975,0,"c"],[67976,0,"t"],[67977,0,"o"],[67978,0,"r"],[67979,0," "],[67980,0,"o"],[67981,0,"f"],[67982,0," "],[67983,0,"k"],[67984,0,"e"],[67985,0,"y"],[67986,0,"s"],[67987,0," "],[67988,0,"i"],[67989,0,"s"],[67990,0," "],[67991,0,"n"],[67992,0,"o"],[67993,0,"n"],[67994,0,"-"],[67995,0,"e"],[67996,0,"m"],[67997,0,"p"],[67998,0,"t"],[67999,0,"y"],[68000,0,","],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68002,1],[68135,1],[68134,1],[68133,1],[68132,1],[68131,1],[68130,1],[68129,1],[68128,1],[68127,1],[68126,1],[68125,1],[68124,1],[68123,1],[68122,1],[68121,1],[68120,1],[68119,1],[68118,1],[68117,1],[68116,1],[68115,1],[68114,1],[68113,1],[68112,1],[68111,1],[68110,1],[68109,1],[68108,1],[68107,1],[68106,1],[68105,1],[68104,1],[68103,1],[68102,1],[68101,1],[68100,1],[68099,1],[68098,1],[68097,1],[68096,1],[68095,1],[68094,1],[68093,1],[68092,1],[68091,1],[68090,1],[68089,1],[68088,1],[68087,1],[68086,1],[68085,1],[68085,0,"b"],[68086,0,"y"],[68087,0," "],[68088,0,"f"],[68089,0,"o"],[68090,0,"l"],[68091,0,"l"],[68092,0,"o"],[68093,0,"w"],[68094,0,"i"],[68095,0,"n"],[68096,0,"g"],[68097,0," "],[68098,0,"t"],[68099,0,"h"],[68100,0,"e"],[68101,0," "],[68102,0,"p"],[68103,0,"a"],[68104,0,"t"],[68105,0,"h"],[68106,0," "],[68107,0,"d"],[68108,0,"e"],[68109,0,"s"],[68110,0,"c"],[68111,0,"r"],[68112,0,"i"],[68113,0,"b"],[68114,0,"e"],[68115,0,"d"],[68116,0," "],[68117,0,"b"],[68118,0,"y"],[68119,0," "],[68120,0,"t"],[68121,0,"h"],[68122,0,"e"],[68123,0,"s"],[68124,0,"e"],[68125,0," "],[68126,0,"k"],[68127,0,"e"],[68128,0,"y"],[68129,0,"s"],[68124,1],[68123,1],[76500,0,","],[81608,0,"\n"],[81609,0,"\n"],[81608,0,"a"],[81609,0,"r"],[81610,0,"e"],[81611,0," "],[81612,0,"a"],[81613,0,"l"],[81614,0,"s"],[81615,0,"o"],[81616,0," "],[81617,0,"w"],[81618,0,"o"],[81619,0,"r"],[81620,0,"k"],[81621,0,"i"],[81622,0,"n"],[81623,0,"g"],[81624,0," "],[81625,0,"o"],[81626,0,"n"],[81627,0," "],[81628,0,"a"],[81629,0," "],[81630,0,"p"],[81631,0,"r"],[81632,0,"a"],[81633,0,"c"],[81634,0,"t"],[81635,0,"i"],[81636,0,"c"],[81637,0,"a"],[81638,0,"l"],[81639,0," "],[81640,0,"i"],[81641,0,"m"],[81642,0,"p"],[81643,0,"l"],[81644,0,"e"],[81645,0,"m"],[81646,0,"e"],[81647,0,"n"],[81648,0,"t"],[81649,0,"a"],[81650,0,"t"],[81651,0,"i"],[81652,0,"o"],[81653,0,"n"],[81654,0," "],[81655,0,"o"],[81656,0,"f"],[81657,0," "],[81658,0,"t"],[81659,0,"h"],[81660,0,"e"],[81661,0," "],[81662,0,"a"],[81663,0,"l"],[81664,0,"g"],[81665,0,"o"],[81666,0,"r"],[81667,0,"i"],[81668,0,"t"],[81669,0,"h"],[81670,0,"m"],[81671,0,","],[81672,0," "],[81673,0,"a"],[81674,0,"n"],[81675,0,"d"],[81676,0," "],[81677,0,"w"],[81678,0,"i"],[81679,0,"l"],[81680,0,"l"],[81681,0," "],[81682,0,"r"],[81683,0,"e"],[81684,0,"p"],[81685,0,"o"],[81686,0,"r"],[81687,0,"t"],[81688,0," "],[81689,0,"o"],[81690,0,"n"],[81691,0," "],[81692,0,"i"],[81693,0,"t"],[81694,0,"s"],[81695,0," "],[81696,0,"p"],[81697,0,"e"],[81698,0,"r"],[81699,0,"f"],[81700,0,"o"],[81701,0,"r"],[81702,0,"m"],[81703,0,"a"],[81704,0,"n"],[81705,0,"c"],[81706,0,"e"],[81707,0," "],[81708,0,"c"],[81709,0,"h"],[81710,0,"a"],[81711,0,"r"],[81712,0,"a"],[81713,0,"c"],[81714,0,"t"],[81715,0,"e"],[81716,0,"r"],[81717,0,"i"],[81718,0,"s"],[81719,0,"t"],[81720,0,"i"],[81721,0,"c"],[81722,0,"s"],[81723,0," "],[81724,0,"i"],[81725,0,"n"],[81726,0," "],[81727,0,"f"],[81728,0,"o"],[81729,0,"l"],[81730,0,"l"],[81731,0,"o"],[81732,0,"w"],[81733,0,"-"],[81734,0,"o"],[81735,0,"n"],[81736,0," "],[81737,0,"w"],[81738,0,"o"],[81739,0,"r"],[81740,0,"k"],[81741,0,"."],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[81744,1],[50439,0," "],[50440,0,"("],[50441,0,"t"],[50442,0,"h"],[50443,0,"i"],[50444,0,"s"],[50445,0," "],[50445,1],[50444,1],[50443,1],[50442,1],[50441,1],[50441,0,"t"],[50442,0,"h"],[50443,0,"e"],[50444,0,"y"],[50445,0," "],[50446,0,"b"],[50447,0,"e"],[50448,0,"c"],[50449,0,"o"],[50450,0,"m"],[50451,0,"e"],[50452,0," "],[50453,0,"\\"],[50454,0,"e"],[50455,0,"m"],[50456,0,"p"],[50457,0,"h"],[50458,0,"{"],[50459,0,"t"],[50460,0,"o"],[50461,0,"m"],[50462,0,"b"],[50463,0,"s"],[50464,0,"t"],[50465,0,"o"],[50466,0,"n"],[50467,0,"e"],[50468,0,"s"],[50469,0,"}"],[50470,0,")"],[50453,0,"s"],[50454,0,"o"],[50455,0,"-"],[50456,0,"c"],[50456,1],[50455,0,"c"],[50455,1],[50456,0,"c"],[50457,0,"a"],[50458,0,"l"],[50459,0,"l"],[50460,0,"e"],[50461,0,"d"],[50462,0," "],[51273,1],[51272,1],[51271,1],[51270,1],[51269,1],[51268,1],[51267,1],[51266,1],[51265,1],[51264,1],[51263,1],[51262,1],[51261,1],[51260,1],[51259,1],[51258,1],[51257,1],[81843,0,"a"],[81844,0,"t"],[81845,0," "],[81846,0,"f"],[81847,0,"i"],[81848,0,"r"],[81849,0,"s"],[81850,0,"t"],[81851,0," "],[81852,0,"g"],[81853,0,"l"],[81854,0,"a"],[81855,0,"n"],[81856,0,"c"],[81857,0,"e"],[81858,0," "],[81859,0,"t"],[81860,0,"o"],[81861,0," "],[81862,0,"b"],[81863,0,"e"],[81864,0," "],[82145,0,","],[83232,0,"\n"],[83233,0,"\\"],[83234,0,"v"],[83235,0,"f"],[83236,0,"i"],[83237,0,"l"],[83238,0,"l"],[83231,1],[83238,0,"\n"],[84410,1],[84409,1],[84408,1],[84407,1],[84406,1],[84405,1],[84404,1],[84403,1],[12217,1],[12217,1],[12217,1],[12217,1],[12217,1],[12217,1],[12217,1],[12217,1],[12217,0,"q"],[12218,0,"u"],[12219,0,"o"],[12220,0,"r"],[12221,0,"u"],[12222,0,"m"],[12474,0,"s"],[12475,0,"t"],[12476,0,"r"],[12477,0,"u"],[12478,0,"g"],[12479,0,"g"],[12480,0,"l"],[12481,0,"e"],[12482,0," "],[12483,0,"t"],[12484,0,"o"],[12485,0," "],[12486,0,"r"],[12487,0,"e"],[12488,0,"a"],[12489,0,"c"],[12490,0,"h"],[12491,0," "],[12492,0,"a"],[12493,0," "],[12494,0,"q"],[12495,0,"u"],[12496,0,"o"],[12497,0,"r"],[12498,0,"u"],[12499,0,"m"],[12500,0," "],[12501,0,"a"],[12502,0,"n"],[12503,0,"d"],[12504,0," "],[12412,1],[12411,1],[12410,1],[12409,1],[12408,1],[12407,1],[12406,1],[12405,1],[12404,1],[12403,1],[12402,1],[12401,1],[12400,1],[12399,1],[12398,1],[12397,1],[12396,1],[12395,1],[12394,1],[12393,1],[12393,0,"e"],[12394,0," "],[12395,0,"o"],[12396,0,"f"],[12397,0,"f"],[12398,0,"l"],[12399,0,"i"],[12400,0,"n"],[12401,0,"e"],[12402,0," "],[12403,0,"a"],[12404,0,"t"],[12405,0," "],[12406,0,"a"],[12407,0,"n"],[12408,0,"y"],[12409,0," "],[12410,0,"o"],[12411,0,"n"],[12412,0,"e"],[12376,1],[12375,1],[12374,1],[12373,1],[12372,1],[12371,1],[12370,1],[12369,1],[12368,1],[12367,1],[12366,1],[12365,1],[12364,1],[12363,1],[12362,1],[12361,1],[12360,1],[12359,1],[12359,0,"m"],[12360,0,"a"],[12361,0,"n"],[12362,0,"y"],[12511,0,"W"],[12512,0,"i"],[12513,0,"t"],[12514,0,"h"],[12515,0,"o"],[12516,0,"u"],[12517,0,"t"],[12518,0," "],[12519,0,"q"],[12520,0,"u"],[12521,0,"o"],[12522,0,"r"],[12523,0,"u"],[12524,0,"m"],[12525,0,"s"],[12526,0,","],[12527,0," "],[12528,1],[12528,0,"t"],[12556,1],[12555,1],[12554,1],[12553,1],[12552,1],[12006,0," "],[12007,0,"w"],[12008,0,"i"],[12009,0,"t"],[12010,0,"h"],[12011,0,"o"],[12012,0,"u"],[12013,0,"t"],[12014,0," "],[12015,0,"u"],[12016,0,"s"],[12017,0,"i"],[12018,0,"n"],[12019,0,"g"],[12020,0," "],[12021,0,"a"],[12022,0," "],[12023,0,"s"],[12024,0,"i"],[12025,0,"n"],[12026,0,"g"],[12027,0,"l"],[12028,0,"e"],[12029,0," "],[12030,0,"s"],[12031,0,"e"],[12032,0,"r"],[12033,0,"v"],[12034,0,"e"],[12035,0,"r"],[12137,1],[12136,1],[12135,1],[12134,1],[12133,1],[12132,1],[12131,1],[12130,1],[12129,1],[12128,1],[12127,1],[12126,1],[12125,1],[12124,1],[12123,1],[12122,1],[12121,1],[12120,1],[12119,1],[12118,1],[12117,1],[12116,1],[12115,1],[12114,1],[12113,1],[12112,1],[12111,1],[12110,1],[12109,1],[12108,1],[12107,1],[12106,1],[12105,1],[12104,1],[12103,1],[12102,1],[12101,1],[12100,1],[12099,1],[12098,1],[12097,1],[12242,1],[12241,1],[12240,1],[12239,1],[12238,1],[12237,1],[12236,1],[12235,1],[12234,1],[12233,1],[12232,1],[12300,0," "],[12301,0,"p"],[12302,0,"a"],[12303,0,"r"],[12304,0,"t"],[12305,0,"i"],[12306,0,"c"],[12307,0,"i"],[12308,0,"p"],[12309,0,"a"],[12310,0,"n"],[12311,0,"t"],[12312,0,"s"],[12313,1],[12313,1],[12313,1],[12391,1],[12390,1],[12389,1],[12388,1],[12387,1],[12386,1],[12385,1],[12384,1],[12383,1],[12382,1],[12381,1],[12380,1],[12379,1],[12378,1],[12377,1],[12376,1],[12367,1],[12366,1],[12365,1],[12364,1],[12363,1],[12362,1],[12361,1],[12360,1],[12359,1],[12358,1],[12357,1],[12356,1],[12355,1],[12354,1],[12353,1],[12352,1],[12351,1],[12350,1],[12349,1],[12348,1],[12347,1],[12346,1],[12345,1],[12344,1],[12343,1],[12342,1],[12341,1],[12340,1],[12339,1],[12338,1],[12337,1],[12336,1],[12335,1],[12334,1],[12333,1],[12332,1],[16660,0,"\n"],[16661,0,"\n"],[16662,0,"R"],[16663,0,"e"],[16664,0,"s"],[16665,0,"o"],[16666,0,"l"],[16667,0,"v"],[16668,0,"i"],[16669,0,"n"],[16670,0,"g"],[16671,0," "],[16672,0,"c"],[16673,0,"o"],[16674,0,"n"],[16675,0,"c"],[16676,0,"u"],[16677,0,"r"],[16678,0,"r"],[16679,0,"e"],[16680,0,"n"],[16681,0,"t"],[16682,0," "],[16683,0,"u"],[16684,0,"p"],[16685,0,"d"],[16686,0,"a"],[16687,0,"t"],[16688,0,"e"],[16689,0,"s"],[16690,0," "],[16691,0,"o"],[16692,0,"n"],[16693,0," "],[16694,0,"t"],[16695,0,"r"],[16696,0,"e"],[16697,0,"e"],[16698,0," "],[16699,0,"s"],[16700,0,"t"],[16701,0,"r"],[16702,0,"u"],[16703,0,"c"],[16704,0,"t"],[16705,0,"u"],[16706,0,"r"],[16707,0,"e"],[16708,0,"s"],[16709,0," "],[16710,0,"h"],[16711,0,"a"],[16712,0,"s"],[16713,0," "],[16714,0,"b"],[16715,0,"e"],[16716,0,"e"],[16717,0,"n"],[16718,0," "],[16719,0,"s"],[16720,0,"t"],[16721,0,"u"],[16722,0,"d"],[16723,0,"i"],[16724,0,"e"],[16725,0,"d"],[16726,0," "],[16727,0,"i"],[16728,0,"n"],[16729,0," "],[16730,0,"t"],[16731,0,"h"],[16732,0,"e"],[16733,0," "],[16734,0,"c"],[16735,0,"o"],[16736,0,"n"],[16737,0,"t"],[16738,0,"e"],[16739,0,"x"],[16740,0,"t"],[16741,0," "],[16742,0,"o"],[16743,0,"f"],[16744,0," "],[16745,0,"f"],[16746,0,"i"],[16747,0,"l"],[16748,0,"e"],[16749,0,"s"],[16750,0,"y"],[16751,0,"s"],[16752,0,"t"],[16753,0,"e"],[16754,0,"m"],[16755,0," "],[16756,0,"s"],[16757,0,"y"],[16758,0,"n"],[16759,0,"c"],[16760,0,"h"],[16761,0,"r"],[16762,0,"o"],[16763,0,"n"],[16764,0,"i"],[16765,0,"z"],[16766,0,"a"],[16767,0,"t"],[16768,0,"i"],[16769,0,"o"],[16770,0,"n"],[16771,0,"~"],[16772,0,"\\"],[16773,0,"c"],[16774,0,"i"],[16775,0,"t"],[16776,0,"e"],[16777,0,"{"],[16778,0,"B"],[16779,0,"a"],[16780,0,"l"],[16781,0,"a"],[16782,0,"s"],[16783,0,"u"],[16784,0,"b"],[16785,0,"r"],[16786,0,"a"],[16787,0,"m"],[16788,0,"a"],[16789,0,"n"],[16790,0,"i"],[16791,0,"a"],[16792,0,"m"],[16793,0,":"],[16794,0,"1"],[16795,0,"9"],[16796,0,"9"],[16797,0,"8"],[16798,0,"j"],[16799,0,"h"],[16800,0,","],[16801,0,"R"],[16802,0,"a"],[16803,0,"m"],[16804,0,"s"],[16805,0,"e"],[16806,0,"y"],[16807,0,":"],[16808,0,"2"],[16809,0,"0"],[16810,0,"0"],[16811,0,"1"],[16812,0,"c"],[16813,0,"e"],[16814,0,","],[16814,1],[16814,0,"}"],[16815,0,"."],[16754,1],[16753,1],[16752,1],[16751,1],[16750,1],[16749,1],[13003,1],[13003,1],[13003,1],[13003,1],[13003,1],[13121,1],[13120,1],[13119,1],[13118,1],[13031,1],[13030,1],[13029,1],[13028,1],[13027,1],[13733,1],[13732,1],[13731,1],[13730,1],[13729,1],[13728,1],[13727,1],[13726,1],[13602,0,","],[13263,0,","],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[13865,1],[4817,1],[4816,1],[4816,0,"i"],[4817,0,"s"],[60611,0,"s"],[61308,1],[82969,0," "],[2167,0," "],[2168,0,"("],[2169,0,"a"],[2170,0," "],[2171,0,"c"],[2172,0,"o"],[2173,0,"n"],[2174,0,"f"],[2175,0,"l"],[2176,0,"i"],[2177,0,"c"],[2178,0,"t"],[2179,0,"-"],[2180,0,"f"],[2181,0,"r"],[2182,0,"e"],[2183,0,"e"],[2184,0," "],[2185,0,"r"],[2186,0,"e"],[2187,0,"p"],[2188,0,"l"],[2189,0,"i"],[2190,0,"c"],[2191,0,"a"],[2192,0,"t"],[2193,0,"e"],[2194,0,"d"],[2195,0," "],[2196,0,"d"],[2197,0,"a"],[2198,0,"t"],[2199,0,"a"],[2200,0,"t"],[2201,0,"y"],[2202,0,"p"],[2203,0,"e"],[2204,0," "],[2205,0,"o"],[2206,0,"r"],[2207,0," "],[2208,0,"C"],[2209,0,"R"],[2210,0,"D"],[2211,0,"T"],[2212,0,")"]] diff --git a/rust/edit-trace/package.json b/rust/edit-trace/package.json deleted file mode 100644 index acd37ac0..00000000 --- a/rust/edit-trace/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "edit-trace", - "version": "1.0.0", - "main": "wasm-text.js", - "license": "MIT", - "scripts": { - "wasm": "0x -D prof automerge-wasm.js" - }, - "devDependencies": { - "0x": "^5.4.1" - } -} diff --git a/rust/edit-trace/src/main.rs b/rust/edit-trace/src/main.rs deleted file mode 100644 index 9724a109..00000000 --- a/rust/edit-trace/src/main.rs +++ /dev/null @@ -1,46 +0,0 @@ -use automerge::ObjType; -use automerge::ReadDoc; -use automerge::{transaction::Transactable, Automerge, AutomergeError, ROOT}; -use std::time::Instant; - -fn main() -> Result<(), AutomergeError> { - let contents = include_str!("../edits.json"); - let edits = json::parse(contents).expect("cant parse edits"); - let mut commands = vec![]; - for i in 0..edits.len() { - let pos: usize = edits[i][0].as_usize().unwrap(); - let del: usize = edits[i][1].as_usize().unwrap(); - let mut vals = String::new(); - for j in 2..edits[i].len() { - let v = edits[i][j].as_str().unwrap(); - vals.push_str(v); - } - commands.push((pos, del, vals)); - } - let mut doc = Automerge::new(); - - let now = Instant::now(); - let mut tx = doc.transaction(); - let text = tx.put_object(ROOT, "text", ObjType::Text).unwrap(); - for (i, (pos, del, vals)) in commands.into_iter().enumerate() { - if i % 1000 == 0 { - println!("Processed {} edits in {} ms", i, now.elapsed().as_millis()); - } - tx.splice_text(&text, pos, del, &vals)?; - } - tx.commit(); - println!("Done in {} ms", now.elapsed().as_millis()); - let save = Instant::now(); - let bytes = doc.save(); - println!("Saved in {} ms", save.elapsed().as_millis()); - - let load = Instant::now(); - let _ = Automerge::load(&bytes).unwrap(); - println!("Loaded in {} ms", load.elapsed().as_millis()); - - let get_txt = Instant::now(); - doc.text(&text)?; - println!("Text in {} ms", get_txt.elapsed().as_millis()); - - Ok(()) -} diff --git a/scripts/ci/advisory b/scripts/ci/advisory deleted file mode 100755 index 6da4a578..00000000 --- a/scripts/ci/advisory +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -cd rust -cargo deny --version -cargo deny check advisories -cargo deny check licenses -cargo deny check bans -cargo deny check sources diff --git a/scripts/ci/build-test b/scripts/ci/build-test deleted file mode 100755 index de592f7e..00000000 --- a/scripts/ci/build-test +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -cd rust -cargo build --workspace --all-features - -RUST_LOG=error cargo test --workspace --all-features diff --git a/scripts/ci/cmake-build b/scripts/ci/cmake-build deleted file mode 100755 index 25a69756..00000000 --- a/scripts/ci/cmake-build +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -# see https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself -THIS_SCRIPT="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" -# \note CMake's default build types are "Debug", "MinSizeRel", "Release" and -# "RelWithDebInfo" but custom ones can also be defined so we pass it verbatim. -BUILD_TYPE=$1; -LIB_TYPE=$2; -if [ "$(echo "${LIB_TYPE}" | tr '[:upper:]' '[:lower:]')" == "shared" ]; then - SHARED_TOGGLE="ON" -else - SHARED_TOGGLE="OFF" -fi -C_PROJECT=$THIS_SCRIPT/../../rust/automerge-c; -mkdir -p $C_PROJECT/build; -cd $C_PROJECT/build; -cmake --log-level=ERROR -B . -S .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_SHARED_LIBS=$SHARED_TOGGLE; -cmake --build . --target automerge_test; diff --git a/scripts/ci/deno_tests b/scripts/ci/deno_tests deleted file mode 100755 index 9f297557..00000000 --- a/scripts/ci/deno_tests +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -set -eou pipefail -# see https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself -THIS_SCRIPT="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" -WASM_PROJECT=$THIS_SCRIPT/../../rust/automerge-wasm; -JS_PROJECT=$THIS_SCRIPT/../../javascript; -E2E_PROJECT=$THIS_SCRIPT/../../javascript/e2e; - -echo "building wasm and js" -yarn --cwd $E2E_PROJECT install; -yarn --cwd $E2E_PROJECT e2e buildjs; -cp $WASM_PROJECT/index.d.ts $WASM_PROJECT/deno/; -sed -i '1i /// ' $WASM_PROJECT/deno/automerge_wasm.js; - -echo "Running Wasm Deno tests"; -deno test $WASM_PROJECT/deno-tests/deno.ts --allow-read; - -echo "Running JS Deno tests"; -ROOT_MODULE=$WASM_PROJECT/deno yarn --cwd $JS_PROJECT deno:build; -yarn --cwd $JS_PROJECT deno:test; - diff --git a/scripts/ci/fmt b/scripts/ci/fmt deleted file mode 100755 index 27235f92..00000000 --- a/scripts/ci/fmt +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -cd rust -cargo fmt -- --check diff --git a/scripts/ci/fmt_js b/scripts/ci/fmt_js deleted file mode 100755 index 8f387b6a..00000000 --- a/scripts/ci/fmt_js +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -# see https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself -THIS_SCRIPT="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" -yarn --cwd $THIS_SCRIPT/../../javascript prettier -c . - diff --git a/scripts/ci/js_tests b/scripts/ci/js_tests deleted file mode 100755 index 68205a33..00000000 --- a/scripts/ci/js_tests +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -# see https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself -THIS_SCRIPT="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" -WASM_PROJECT=$THIS_SCRIPT/../../rust/automerge-wasm; -JS_PROJECT=$THIS_SCRIPT/../../javascript; -E2E_PROJECT=$THIS_SCRIPT/../../javascript/e2e; - -yarn --cwd $E2E_PROJECT install; -# This will build the automerge-wasm project, publish it to a local NPM -# repository, then run `yarn build` in the `javascript` directory with -# the local registry -yarn --cwd $E2E_PROJECT e2e buildjs; -yarn --cwd $JS_PROJECT test diff --git a/scripts/ci/lint b/scripts/ci/lint deleted file mode 100755 index 87a16765..00000000 --- a/scripts/ci/lint +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -# see https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself -THIS_SCRIPT="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" - -cd $THIS_SCRIPT/../../rust -# Force clippy to consider all local sources -# https://github.com/rust-lang/rust-clippy/issues/4612 -find . -name "*.rs" -not -path "./target/*" -exec touch "{}" + -cargo clippy --all-targets --all-features -- -D warnings diff --git a/scripts/ci/run b/scripts/ci/run deleted file mode 100755 index aebfe4c4..00000000 --- a/scripts/ci/run +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash -set -eou pipefail - -./scripts/ci/fmt -./scripts/ci/fmt_js -./scripts/ci/lint -./scripts/ci/build-test -./scripts/ci/rust-docs -./scripts/ci/advisory -./scripts/ci/wasm_tests -./scripts/ci/deno_tests -./scripts/ci/js_tests -./scripts/ci/cmake-build Release static diff --git a/scripts/ci/rust-docs b/scripts/ci/rust-docs deleted file mode 100755 index 4be0ed9a..00000000 --- a/scripts/ci/rust-docs +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -set -eoux pipefail - -# see https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself -THIS_SCRIPT="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" -cd $THIS_SCRIPT/../../rust -RUSTDOCFLAGS="-D rustdoc::broken-intra-doc-links -D warnings" \ -cargo doc --no-deps --workspace --document-private-items diff --git a/scripts/ci/wasm_tests b/scripts/ci/wasm_tests deleted file mode 100755 index fac344d8..00000000 --- a/scripts/ci/wasm_tests +++ /dev/null @@ -1,7 +0,0 @@ -# see https://stackoverflow.com/questions/4774054/reliable-way-for-a-bash-script-to-get-the-full-path-to-itself -THIS_SCRIPT="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" -WASM_PROJECT=$THIS_SCRIPT/../../rust/automerge-wasm; - -yarn --cwd $WASM_PROJECT install; -yarn --cwd $WASM_PROJECT build; -yarn --cwd $WASM_PROJECT test; diff --git a/search-index.js b/search-index.js new file mode 100644 index 00000000..cc6f6ed9 --- /dev/null +++ b/search-index.js @@ -0,0 +1,7 @@ +var searchIndex = JSON.parse('{\ +"automerge":{"doc":"Automerge","t":[3,6,3,3,3,4,13,13,3,13,3,13,13,13,13,13,13,3,13,13,13,13,13,13,13,13,3,13,13,3,13,13,13,13,13,13,13,13,13,13,3,3,13,13,3,3,13,4,13,13,13,13,3,3,13,13,13,13,13,13,13,4,4,4,13,4,2,4,3,3,13,13,13,13,4,13,2,4,13,17,8,13,13,4,13,13,13,13,4,13,13,13,13,13,4,3,2,13,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,10,11,11,10,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,10,11,11,10,11,11,11,10,11,11,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,0,12,11,10,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,0,11,11,10,11,11,11,10,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,8,13,13,13,13,8,4,13,13,3,11,11,11,11,10,11,11,11,11,11,5,11,11,10,11,10,11,11,10,11,11,11,11,11,11,10,11,10,11,11,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,4,3,3,13,13,13,13,13,4,3,8,13,13,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,11,10,10,12,11,11,11,12,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,3,16,3,16,8,3,6,3,8,3,3,10,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,11,11,11,11,11,11,11,11,10,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,10,11,11,12,11,11,10,11,11,11,12,11,11,10,11,10,11,10,11,12,11,11,11,10,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["ActorId","AutoCommit","AutoCommitWithObs","AutoSerde","Automerge","AutomergeError","Boolean","Bytes","Change","ChangeGraph","ChangeHash","Counter","Deflate","Delete","DuplicateSeqNumber","EmptyStringKey","Error","ExpandedChange","F64","Fail","HexDecode","Id","Ignore","IncorrectLength","Increment","Int","InvalidActorId","InvalidActorId","InvalidChangeHashBytes","InvalidChangeHashSlice","InvalidCharacter","InvalidHash","InvalidIndex","InvalidObjId","InvalidObjIdFormat","InvalidOp","InvalidSeq","InvalidType","InvalidValueType","InvalidVersion","Keys","KeysAt","LeftoverData","List","ListRange","ListRangeAt","Load","LoadChangeError","LoadChangeError","Make","Map","Map","MapRange","MapRangeAt","MissingCounter","MissingDeps","MissingHash","NoVersion","NonChangeCompressed","NotAnObject","Null","ObjId","ObjIdFromBytesError","ObjType","Object","OnPartialLoad","OpObserver","OpType","Parent","Parents","Parse","ParseActor","ParseActorIdxHint","ParseActorLen","ParseChangeHashError","ParseCounter","Patch","Prop","Put","ROOT","ReadDoc","Root","Scalar","ScalarValue","Seq","Str","Table","Text","TextEncoding","Timestamp","Uint","Unknown","Utf16","Utf8","Value","Values","VecOpObserver","WrongChunkType","actor_id","actor_id","apply_changes","apply_changes","apply_changes_with","as_ref","as_ref","as_ref","base_heads","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","bytes","bytes","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","commit","commit_with","counter","counter","decode","default","default","default","delete","deps","deps","deserialize","deserialize","deserialize","deserialize","deserialize","dump","empty_change","empty_commit","encode_hex","encode_hex","encode_hex_upper","encode_hex_upper","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","extra_bytes","extra_bytes","f64","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fork","fork","fork_at","fork_at","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_bytes","from_str","from_str","generate_sync_message","get","get","get","get_actor","get_actor","get_all","get_all","get_all","get_all_at","get_all_at","get_all_at","get_at","get_at","get_at","get_change_by_hash","get_change_by_hash","get_change_by_hash","get_change_by_hash","get_changes","get_changes","get_changes_added","get_changes_added","get_heads","get_heads","get_last_local_change","get_last_local_change","get_missing_deps","get_missing_deps","get_missing_deps","get_missing_deps","hash","hash","hash","hash","hash","hash","increment","insert","insert_object","int","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_bytes","into_bytes","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_iter","into_owned","into_scalar","into_string","into_string","is_boolean","is_boolean","is_bytes","is_bytes","is_counter","is_counter","is_empty","is_empty","is_f64","is_f64","is_int","is_int","is_null","is_null","is_object","is_scalar","is_sequence","is_str","is_str","is_timestamp","is_timestamp","is_uint","is_uint","keys","keys","keys","keys_at","keys_at","keys_at","len","length","length","length","length_at","length_at","length_at","list","list_range","list_range","list_range","list_range_at","list_range_at","list_range_at","load","load","load","load_incremental","load_incremental","load_incremental_with","load_unverified_heads","load_with","map","map_range","map_range","map_range","map_range_at","map_range_at","map_range_at","max_op","merge","merge","merge_with","message","message","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","new","new","new","next","next","next","next","next","next","next","next","next_back","next_back","next_back","next_back","obj","object_type","object_type","object_type","observer","op_observer","operations","other_actor_ids","parents","parents","parents","partial_cmp","partial_cmp","partial_cmp","partial_cmp","path","path_to_object","path_to_object","path_to_object","pending_ops","prop","provide","provide","provide","provide","provide","provide","put","put_object","random","raw_bytes","receive_sync_message","receive_sync_message_with","rollback","save","save","save_incremental","save_incremental","save_nocompress","save_nocompress","seq","seq","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_actor","set_actor","source","source","splice","splice_text","start_op","start_op","str","sync","sync","table","text","text","text","text","text_at","text_at","text_at","time","timestamp","timestamp","to_bool","to_bool","to_bytes","to_bytes","to_bytes","to_bytes","to_f64","to_f64","to_hex_string","to_i64","to_i64","to_objtype","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_scalar","to_str","to_str","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_u64","to_u64","transact","transact_observed","transact_observed_with","transact_with","transaction","transaction","transaction_with_observer","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","uint","values","values","values","values_at","values_at","values_at","visible","visible_path","visualise_optree","visualise_optree","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_actor","with_actor","with_encoding","with_encoding","with_observer","expected","unexpected","actual","bytes","type_code","BranchableObserver","Delete","Expose","Increment","Insert","OpObserver","Patch","Put","Splice","VecOpObserver","borrow","borrow","borrow_mut","borrow_mut","branch","branch","clone","clone","clone_into","clone_into","compose","default","delete","delete_map","delete_map","delete_seq","delete_seq","eq","expose","expose","flag_conflict","fmt","fmt","from","from","increment","increment","insert","insert","into","into","merge","merge","put","put","splice_text","splice_text","take_patches","text_as_seq","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","conflict","conflict","index","index","num","obj","obj","obj","obj","obj","obj","path","path","path","path","path","path","prop","prop","prop","prop","value","value","value","value","value","BloomFilter","DecodeBloomError","DecodeStateError","Have","Message","NotEnoughInput","NotEnoughInput","Parse","Parse","ReadChangeOps","ReadMessageError","State","SyncDoc","WrongType","WrongType","bloom","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changes","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","contains_hash","decode","decode","default","default","default","encode","encode","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_hashes","generate_sync_message","hash","hash","hash","have","heads","in_flight","into","into","into","into","into","into","into","last_sent_heads","last_sync","need","new","provide","provide","provide","receive_sync_message","receive_sync_message_with","sent_hashes","serialize","serialize","serialize","shared_heads","source","their_have","their_heads","their_need","to_bytes","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","expected_one_of","found","expected_one_of","found","CommitOptions","CommitResult","Failure","Obs","Observation","Observed","Result","Success","Transactable","Transaction","UnObserved","base_heads","base_heads","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branch","branch","branch","cancelled","clone","clone","clone_into","clone_into","commit","commit_with","default","default","delete","delete","drop","error","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get","get_all","get_all_at","get_at","get_change_by_hash","get_heads","get_missing_deps","hash","increment","increment","insert","insert","insert_object","insert_object","into","into","into","into","into","into","keys","keys_at","length","length_at","list_range","list_range_at","make_result","make_result","make_result","map_range","map_range_at","merge","merge","merge","message","new","object_type","observer","observer","observer","observer","op_observer","parents","path_to_object","pending_ops","pending_ops","put","put","put_object","put_object","result","rollback","set_message","set_time","splice","splice","splice_text","splice_text","text","text_at","time","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","values","values_at","vzip","vzip","vzip","vzip","vzip","vzip","with_message","with_time"],"q":["automerge","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","automerge::AutomergeError","","automerge::ParseChangeHashError","automerge::ScalarValue","","automerge::op_observer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","automerge::op_observer::Patch","","","","","","","","","","","","","","","","","","","","","","","","","","automerge::sync","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","automerge::sync::DecodeStateError","","automerge::sync::ReadMessageError","","automerge::transaction","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["An actor id is a sequence of bytes. By default we use a …","An autocommit document with no observer","An automerge document that automatically manages …","A wrapper type which implements serde::Serialize for a …","An automerge document which does not manage transactions …","","","","","","The sha256 hash of a change.","","","","","","Fail the entire load","A change represents a group of operations performed by an …","","","","","Ignore the error and return the loaded changes","","","","","","","","","","","","","","","","","","An iterator over the keys of an object","An iterator over the keys of an object at a particular …","","A sequence of arbitrary values","An iterator over the elements of a list object","An iterator over the elements of a list object at a …","","","","","A map","A property in a map","An iterator over the keys and values of a map object","An iterator over the keys and values of a map object as at …","","","","","","","","An identifier for an object in a document","","The type of an object","An composite object of type ObjType","What to do when loading a document partially succeeds","","","A component of a path to an object","An iterator over the “parents” of an object","","","","","","","","A property of an object","","The object ID for the root map of a document","Methods for reading values from an automerge document","","A non composite value","A value which is not a composite value","An index into a sequence","","Retained for backwards compatibility, tables are identical …","A sequence of characters","How indexes into text sequeces are calculated","","","A value from a future version of automerge","The indexes are calculated using the utf16 encoding","The indexes are calculated using the utf8 encoding","The type of values in an automerge document","An iterator over the values in an object","","","","The actor that performed this change.","","Apply changes to this document.","Like Self::apply_changes but with an observer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Commit any uncommitted changes","Commit the current operations with some options.","","","","","","","","","The dependencies of this change.","","","","","","","Generate an empty change","Generate an empty change","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Fork this document at the current point for use by a …","","Fork this document at the given heads","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","Get a value out of the document.","","","","Get the current actor id of this document.","Get all conflicting values out of the document at this …","","","Get all possibly conflicting values for a key as at heads","","","Get the value of the given key as at heads, see [Self::get]","","","Get a change by its hash.","","","","","","Get changes in other that are not in `self","Get changes in other that are not in `self","Get the current heads of the document.","Get the heads of this document.","Get the last change made by this documents actor ID","Get the last change this actor made to the document.","Get the hashes of the changes in this document that aren’…","","","","","","","","","The hash of this change.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Whether this document has any operations","","","","","","","","","","","","","","","","","Get the keys of the object obj.","","","Get the keys of the object obj as at heads","","","","Get the length of the given object.","","","Get the length of the given object as at heads","","","","Iterate over the indexes and values of the list or text obj…","","","Iterate over the indexes and values of the list or text obj…","","","","","Load a document.","Load an incremental save of a document.","Load an incremental save of a document.","Like Self::load_incremental but with an observer","Load a document without verifying the head hashes","Load a document with an observer","","Iterate over the keys and values of the map obj in the …","","","Iterate over the keys and values of the map obj in the …","","","","Takes all the changes in other which are not in self and …","Takes all the changes in other which are not in self and …","Takes all the changes in other which are not in self and …","","The message of this change.","","","","","","","","Create a new document with a random actor id.","","","","","","","","","","","","","The object ID this component refers to","Get the type of this object, if it is an object.","","","","","The operations performed in this change.","","Get the parents of an object in the document tree.","","","","","","","Return the path this Parents represents","Get the path to an object","","","","The property within obj this component refers to","","","","","","","","","","","","","Remove any changes that have been made in the current …","Save the entirety of this document in a compact form.","Save the entirety of this document in a compact form.","Save the changes since the last call to Self::save`","Save the changes since the last call to Self::save`","Save this document, but don’t run it through DEFLATE …","Save this document, but don’t run it through DEFLATE …","","The index of this change in the changes from this actor.","","","","","","","","","","Set the actor id for this document.","","","Splice new elements into the given sequence. Returns a …","","","The start operation index. Starts at 1.","","Sync Protocol","An implementation of crate::sync::SyncDoc for this …","","Get the string represented by the given text object.","","","","Get the string represented by the given text object as at …","","","The time that this change was committed.","","","","","Serialize this object ID to a byte array.","","","","","","","If this value can be coerced to an i64, return the i64 …","If this value can be coerced to an i64, return the i64 …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Run a transaction on this document in a closure, …","Run a transaction on this document in a closure, observing …","Like Self::transact_observed but with a function for …","Like Self::transact but with a function for generating the …","","Start a transaction.","Start a transaction with an observer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Iterate over the values in a map, list, or text object","","","Iterate over the values in a map, list, or text object as …","","","Whether this component is “visible”","Like path but returns None if the target is not visible","Return a graphviz representation of the opset.","Return a graphviz representation of the opset.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Set the actor id for this document.","Change the text encoding of this view of the document","Change the text encoding of this view of the document","","","","","","","An observer which can be branched","Deleting an element from a list/text","Exposing (via delete) an old but conflicted value with a …","Incrementing a counter.","Inserting a new element into a list","An observer of operations applied to the document.","A notification to the application that something has …","Associating a new value with a prop in a map, or an …","Splicing a text object","Capture operations into a Vec and store them as patches.","","","","","Branch of a new op_observer later to be merged","","","","","","","","A map value has beeen deleted.","A map value has beeen deleted.","","A one or more list values have beeen deleted.","","","When a delete op exposes a previously conflicted value …","","Flag a new conflict on a value without changing it","","","Returns the argument unchanged.","Returns the argument unchanged.","A counter has been incremented.","","A new value has been inserted into the given object.","","Calls U::from(self).","Calls U::from(self).","Merge observed information from a transaction.","","A new value has been put into the given object.","","Some text has been spliced into a text object","","Take the current list of patches, leaving the internal …","Whether to call sequence methods or splice_text when …","","","","","","","","","","","Whether this put conflicts with another.","Whether this put conflicts with another.","The index that the new value was inserted at.","The index that the new value was inserted at.","number of items deleted (for seq)","The object that was put into.","The object that was put into.","The object that was inserted into.","The object that was inserted into.","The object that was incremented in.","The object that was deleted from.","path to the object","path to the object","path to the object","path to the object","path to the object","path to the object","The prop that the new value was put at.","The prop that the new value was put at.","The prop that was incremented.","The prop that was deleted.","The value that was put, and the id of the operation that …","The value that was put, and the id of the operation that …","The value that was inserted, and the id of the operation …","The value that was spliced","The amount that the counter was incremented by, and the id …","","","","A summary of the changes that the sender of the message …","The sync message to be sent.","","","","","","","The state of synchronisation with a peer.","A document which can take part in the sync protocol","","","A bloom filter summarising all of the changes that the …","","","","","","","","","","","","","","","The changes for the recipient to apply.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Generate a sync message for the remote peer represented by …","","","","A summary of the changes that the sender already has.","The heads of the sender.","generate_sync_message should return None if there are no …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The heads we last sent","The heads at the time of the last successful sync with …","The hashes of any changes that are being explicitly …","","","","","Apply a received sync message to this document and …","Apply a received sync message to this document and …","The hashes we have sent in this session","","","","The hashes which we know both peers have","","The bloom filters summarising what they said they have","The heads we last received from them","Any specific changes they last said they needed","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Optional metadata for a commit.","","The result of a failed, and rolled back, transaction.","","","","","The result of a successful, and committed, transaction.","A way of mutating a document within a single change.","A transaction on a document. Transactions group operations …","","The heads this transaction will be based on","","","","","","","","","","","","","","","","","The number of operations cancelled.","","","","","Commit the operations performed in this transaction, …","Commit the operations in this transaction with some …","","","Delete the value at prop in the object.","","","The error returned from the transaction.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Get the heads of the document before this transaction was …","","The hash of the change, will be None if the transaction …","Increment the counter at the prop in the object by value.","","Insert a value into a list at the given index.","","Insert an object into a list at the given index.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Get the number of pending operations in this transaction.","Get the number of pending operations in this transaction.","Set the value of property P to value V in object obj.","Set the value of property P to value V in object obj.","Set the value of property P to the new object V in object …","","The result of the transaction.","Undo the operations added in this transaction, returning …","Add a message to the commit.","Add a timestamp to the commit.","","Splice new elements into the given sequence. Returns a …","Like Self::splice but for text.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Add a message to the commit.","Add a timestamp to the commit."],"i":[0,0,0,0,0,0,23,23,0,6,0,23,6,20,6,6,17,0,23,6,56,10,17,56,20,23,0,6,6,0,6,6,6,6,6,6,6,45,6,45,0,0,43,19,0,0,6,0,6,20,19,21,0,0,6,6,6,45,6,6,23,0,0,0,15,0,0,0,0,0,43,45,45,45,0,45,0,0,20,0,0,10,15,0,21,23,19,19,0,23,23,23,22,22,0,0,0,43,1,18,4,8,8,10,2,11,4,37,4,17,8,42,1,43,6,44,34,10,45,46,47,18,50,51,53,54,55,35,2,19,20,21,22,11,56,15,23,37,4,17,8,42,1,43,6,44,34,10,45,46,47,18,50,51,53,54,55,35,2,19,20,21,22,11,56,15,23,1,15,4,17,8,1,10,18,2,19,20,21,22,11,15,23,4,17,8,1,10,18,2,19,20,21,22,11,15,23,10,2,21,11,4,4,15,23,1,4,8,22,4,1,18,18,2,19,11,23,8,4,8,2,11,2,11,17,1,6,34,10,18,35,2,19,20,21,22,11,15,23,1,18,15,37,4,17,8,42,1,43,43,6,6,44,44,34,34,10,10,45,45,46,47,18,50,51,53,54,55,35,2,2,19,19,20,21,21,22,11,11,56,56,15,15,23,23,4,8,4,8,37,4,17,8,42,42,1,1,43,6,6,6,44,34,10,45,46,47,18,18,50,51,53,54,55,35,2,2,2,2,2,2,2,19,20,20,20,21,21,21,21,21,21,22,11,56,56,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,23,23,23,23,23,23,23,23,23,23,23,23,23,1,2,11,8,41,4,8,4,8,41,4,8,41,4,8,41,4,8,41,4,4,8,4,8,4,8,4,8,4,8,41,4,4,8,1,10,2,19,11,18,4,4,4,15,37,4,17,8,42,1,43,6,44,34,10,45,46,47,18,50,51,53,54,55,35,2,19,20,21,22,11,56,15,23,15,23,37,46,47,50,51,53,54,55,15,15,15,23,15,23,15,23,15,23,8,1,15,23,15,23,15,23,15,15,19,15,23,15,23,15,23,41,4,8,41,4,8,1,41,4,8,41,4,8,15,41,4,8,41,4,8,67,4,8,4,8,8,8,8,15,41,4,8,41,4,8,1,4,8,8,1,18,37,50,51,53,54,67,4,8,37,46,47,50,51,53,54,55,46,47,53,54,35,41,4,8,4,0,18,1,41,4,8,10,2,21,11,55,41,4,8,4,35,43,6,44,34,45,56,4,4,2,1,8,8,4,4,8,4,8,4,8,1,18,42,10,18,2,19,20,11,23,4,8,6,56,4,4,1,18,15,0,4,15,41,4,8,15,41,4,8,18,1,15,15,23,10,2,15,23,15,23,2,15,23,15,4,17,8,1,10,18,2,19,20,21,22,11,15,15,23,15,15,23,43,6,44,34,10,45,2,19,21,11,56,15,23,15,23,8,8,8,8,0,8,8,37,4,17,8,42,1,1,43,6,44,34,10,10,45,46,47,18,50,51,53,54,55,35,2,2,2,19,20,21,22,11,11,56,15,23,37,4,17,8,42,1,43,6,44,34,10,45,46,47,18,50,51,53,54,55,35,2,19,20,21,22,11,56,15,23,37,4,17,8,42,1,43,6,44,34,10,45,46,47,18,50,51,53,54,55,35,2,19,20,21,22,11,56,15,23,15,41,4,8,41,4,8,35,55,4,8,37,4,17,8,42,1,43,6,44,34,10,45,46,47,18,50,51,53,54,55,35,2,19,20,21,22,11,56,15,23,4,8,4,8,4,86,86,87,88,88,0,77,77,77,77,0,0,77,77,0,76,77,76,77,28,76,76,77,76,77,0,76,27,27,76,27,76,77,27,76,27,76,77,76,77,27,76,27,76,76,77,28,76,27,76,27,76,76,27,76,77,76,77,76,77,76,77,76,77,89,90,91,92,93,89,90,91,92,94,93,89,90,91,92,94,93,89,90,94,93,89,90,91,92,94,0,0,0,0,0,80,81,80,81,81,0,0,0,80,81,79,78,82,80,65,79,81,66,78,82,80,65,79,81,66,66,78,65,79,66,78,65,79,66,78,65,66,78,65,79,65,66,78,65,79,66,78,82,82,80,80,65,79,81,81,66,78,82,80,65,79,81,66,78,72,78,65,79,66,66,65,78,82,80,65,79,81,66,65,79,66,65,82,80,81,72,72,65,78,79,66,65,81,65,65,65,78,78,65,79,66,82,80,81,78,78,82,80,65,79,81,66,78,82,80,65,79,81,66,78,82,80,65,79,81,66,78,82,80,65,79,81,66,95,95,96,96,0,3,0,3,0,0,0,0,0,0,0,97,74,25,74,30,68,84,85,25,74,30,68,84,85,3,30,68,85,30,68,30,68,74,74,25,68,97,74,74,85,25,74,30,68,84,85,25,74,30,68,84,85,74,74,74,74,74,74,74,84,97,74,97,74,97,74,25,74,30,68,84,85,74,74,74,74,74,74,3,30,68,74,74,3,30,68,25,68,74,3,74,30,68,84,74,74,97,74,97,74,97,74,84,74,25,25,97,74,97,74,74,74,25,30,68,25,74,30,68,84,85,25,74,30,68,84,85,25,74,30,68,84,85,74,74,25,74,30,68,84,85,25,25],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],0,[[[4,[3]],5],[[7,[6]]]],[[8,5],[[7,[6]]]],[[8,5,9],[[7,[6]]]],[10,10],[2],[11],[[[4,[3]]],[[12,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,13],[[[12,[14]]],15],[[[4,[[0,[16,3]]]]],[[4,[[0,[16,3]]]]]],[17,17],[8,8],[1,1],[10,10],[18,18],[2,2],[19,19],[20,20],[21,21],[22,22],[11,11],[15,15],[23,23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[10,10],24],[[2,2],24],[[21,21],24],[[11,11],24],[[[4,[3]]],[[9,[11]]]],[[[4,[3]],25],[[9,[11]]]],[26,15],[26,23],[1,18],[[],[[4,[[30,[[0,[27,28,29]]]]]]]],[[],8],[[],22],[[[4,[3]],[31,[10]],[32,[21]]],[[7,[6]]]],[1],0,[[],[[7,[18]]]],[[],[[7,[2]]]],[[],[[7,[19]]]],[[],[[7,[11]]]],[[],[[7,[23]]]],[8],[[[4,[3]],25],11],[[8,25],11],[[]],[[]],[[]],[[]],[[17,17],33],[[1,1],33],[[6,6],33],[[34,34],33],[[10,10],33],[[18,18],33],[[35,35],33],[[2,2],33],[[19,19],33],[[20,20],33],[[21,21],33],[[22,22],33],[[11,11],33],[[15,15],33],[[23,23],33],[1],0,[36,15],[[37,38],39],[[[4,[[0,[40,3]]]],38],39],[[17,38],39],[[8,38],39],[[[42,[[0,[40,41]]]],38],39],[[1,38],39],[[43,38],39],[[43,38],39],[[6,38],39],[[6,38],39],[[44,38],39],[[44,38],39],[[34,38],39],[[34,38],39],[[10,38],39],[[10,38],39],[[45,38],39],[[45,38],39],[[46,38],39],[[47,38],39],[[18,38],39],[[[50,[[0,[40,[49,[48]]]]]],38],39],[[[51,[[0,[40,[49,[48]]]]]],38],39],[[[53,[[0,[40,[49,[52]]]]]],38],39],[[[54,[[0,[40,[49,[52]]]]]],38],39],[[55,38],39],[[35,38],39],[[2,38],39],[[2,38],39],[[19,38],39],[[19,38],39],[[20,38],39],[[21,38],39],[[21,38],39],[[22,38],39],[[11,38],39],[[11,38],39],[[56,38],39],[[56,38],39],[[15,38],39],[[15,38],39],[[23,38],39],[[23,38],39],[[[4,[[0,[3,16]]]]],[[4,[[0,[3,16]]]]]],[8,8],[[[4,[[0,[3,16]]]]],[[7,[[4,[[0,[3,16]]]],6]]]],[8,[[7,[8,6]]]],[[]],[[]],[[]],[[]],[[]],[[],[[42,[41]]]],[[]],[18,1],[[]],[43,6],[34,6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,18],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],2],[57,2],[[],2],[[[12,[14]]],2],[12,2],[[]],[[],2],[[]],[23,20],[19,20],[[]],[48,21],[58,21],[52,21],[52,21],[36,21],[[]],[[]],[[]],[[]],[59,56],[[]],[60,15],[33,15],[[],15],[61,15],[19,15],[62,15],[52,15],[23,15],[63,15],[26,15],[64,15],[52,15],[36,15],[[[12,[14]]],15],[58,15],[52,23],[[]],[33,23],[[[12,[14]]],23],[52,23],[64,23],[58,23],[63,23],[[],23],[62,23],[60,23],[26,23],[36,23],[[[12,[14]]],[[7,[1,43]]]],[58,[[7,[2]]]],[58,[[7,[11]]]],[[8,65],[[9,[66]]]],[[[31,[10]],[32,[21]]],[[7,[9,6]]]],[[[4,[3]],[31,[10]],[32,[21]]],[[7,[9,6]]]],[[8,[31,[10]],[32,[21]]],[[7,[9,6]]]],[[[4,[3]]],2],[8,2],[[[31,[10]],[32,[21]]],[[7,[12,6]]]],[[[4,[3]],[31,[10]],[32,[21]]],[[7,[12,6]]]],[[8,[31,[10]],[32,[21]]],[[7,[12,6]]]],[[[31,[10]],[32,[21]]],[[7,[12,6]]]],[[[4,[3]],[31,[10]],[32,[21]]],[[7,[12,6]]]],[[8,[31,[10]],[32,[21]]],[[7,[12,6]]]],[[[31,[10]],[32,[21]]],[[7,[9,6]]]],[[[4,[3]],[31,[10]],[32,[21]]],[[7,[9,6]]]],[[8,[31,[10]],[32,[21]]],[[7,[9,6]]]],[11,[[9,[1]]]],[[[4,[3]],11],[[9,[1]]]],[[[4,[3]],11],[[9,[1]]]],[[8,11],[[9,[1]]]],[[[4,[3]]],[[7,[[12,[1]],6]]]],[8,[[7,[[12,[1]],6]]]],[[[4,[3]],[4,[3]]],[[12,[1]]]],[[8,8],[[12,[1]]]],[[[4,[3]]],[[12,[11]]]],[8,[[12,[11]]]],[[[4,[3]]],[[9,[1]]]],[8,[[9,[1]]]],[[],[[12,[11]]]],[[[4,[3]]],[[12,[11]]]],[[[4,[3]]],[[12,[11]]]],[8,[[12,[11]]]],[1,11],[10],[2],[19],[11],0,[[[4,[3]],[31,[10]],[32,[21]],26],[[7,[6]]]],[[[4,[3]],[31,[10]],48,[32,[23]]],[[7,[6]]]],[[[4,[3]],[31,[10]],48,19],[[7,[10,6]]]],[26,15],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[15,[[7,[[12,[14]],15]]]],[23,[[7,[[12,[14]],23]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[15,15],[15,[[7,[23,15]]]],[15,[[7,[52,15]]]],[23,[[7,[52,23]]]],[15,33],[23,33],[15,33],[23,33],[15,33],[23,33],[8,33],[1,33],[15,33],[23,33],[15,33],[23,33],[15,33],[23,33],[15,33],[15,33],[19,33],[15,33],[23,33],[15,33],[23,33],[15,33],[23,33],[[[31,[10]]],46],[[[4,[3]],[31,[10]]],46],[[8,[31,[10]]],46],[[[31,[10]]],47],[[[4,[3]],[31,[10]]],47],[[8,[31,[10]]],47],[1,48],[[[31,[10]]],48],[[[4,[3]],[31,[10]]],48],[[8,[31,[10]]],48],[[[31,[10]]],48],[[[4,[3]],[31,[10]]],48],[[8,[31,[10]]],48],[[],15],[[[31,[10]],[49,[48]]],[[50,[[49,[48]]]]]],[[[4,[3]],[31,[10]],[49,[48]]],[[50,[[49,[48]]]]]],[[8,[31,[10]],[49,[48]]],[[50,[[49,[48]]]]]],[[[31,[10]],[49,[48]]],[[51,[[49,[48]]]]]],[[[4,[3]],[31,[10]],[49,[48]]],[[51,[[49,[48]]]]]],[[8,[31,[10]],[49,[48]]],[[51,[[49,[48]]]]]],[[],[[7,[67,6]]]],[[],[[7,[[4,[68]],6]]]],[[],[[7,[8,6]]]],[[[4,[3]]],[[7,[48,6]]]],[8,[[7,[48,6]]]],[[8,9],[[7,[48,6]]]],[[],[[7,[8,6]]]],0,[[],15],[[[31,[10]],[49,[52]]],[[53,[[49,[52]]]]]],[[[4,[3]],[31,[10]],[49,[52]]],[[53,[[49,[52]]]]]],[[8,[31,[10]],[49,[52]]],[[53,[[49,[52]]]]]],[[[31,[10]],[49,[52]]],[[54,[[49,[52]]]]]],[[[4,[3]],[31,[10]],[49,[52]]],[[54,[[49,[52]]]]]],[[8,[31,[10]],[49,[52]]],[[54,[[49,[52]]]]]],[1,60],[[[4,[3]],4],[[7,[[12,[11]],6]]]],[[8,8],[[7,[[12,[11]],6]]]],[[8,8,9],[[7,[[12,[11]],6]]]],[1,[[9,[52]]]],0,[[]],[[]],[[]],[[]],[[]],[[],67],[[],67],[[],8],[37,9],[46,9],[47,9],[[[50,[[49,[48]]]]],9],[[[51,[[49,[48]]]]],9],[[[53,[[49,[52]]]]],9],[[[54,[[49,[52]]]]],9],[55,9],[46,9],[47,9],[[[53,[[49,[52]]]]],9],[[[54,[[49,[52]]]]],9],0,[[[31,[10]]],[[7,[19,6]]]],[[[4,[3]],[31,[10]]],[[7,[19,6]]]],[[8,[31,[10]]],[[7,[19,6]]]],[[[4,[[30,[[0,[27,28]]]]]]]],0,0,[1],[[[31,[10]]],[[7,[55,6]]]],[[[4,[3]],[31,[10]]],[[7,[55,6]]]],[[8,[31,[10]]],[[7,[55,6]]]],[[10,10],[[9,[24]]]],[[2,2],[[9,[24]]]],[[21,21],[[9,[24]]]],[[11,11],[[9,[24]]]],[55,12],[[[31,[10]]],[[7,[12,6]]]],[[[4,[3]],[31,[10]]],[[7,[12,6]]]],[[8,[31,[10]]],[[7,[12,6]]]],[[[4,[3]]],48],0,[69],[69],[69],[69],[69],[69],[[[4,[3]],[31,[10]],[32,[21]],[32,[23]]],[[7,[6]]]],[[[4,[3]],[31,[10]],[32,[21]],19],[[7,[10,6]]]],[[],2],[1],[[8,65,66],[[7,[6]]]],[[8,65,66],[[7,[6]]]],[[[4,[3]]],48],[[[4,[3]]],[[12,[14]]]],[8,[[12,[14]]]],[[[4,[3]]],[[12,[14]]]],[8,[[12,[14]]]],[[[4,[3]]],[[12,[14]]]],[8,[[12,[14]]]],[1,60],0,[[[42,[41]]],7],[10,7],[18,7],[2,7],[19,7],[20,7],[11,7],[23,7],[[[4,[3]],2],[[4,[3]]]],[[8,2],8],[6,[[9,[70]]]],[56,[[9,[70]]]],[[[4,[3]],[31,[10]],48,48,5],[[7,[6]]]],[[[4,[3]],[31,[10]],48,48,58],[[7,[6]]]],[1,71],0,[58,15],0,[[[4,[3]]],72],[[],15],[[[31,[10]]],[[7,[52,6]]]],[[[4,[3]],[31,[10]]],[[7,[52,6]]]],[[8,[31,[10]]],[[7,[52,6]]]],[[],15],[[[31,[10]]],[[7,[52,6]]]],[[[4,[3]],[31,[10]]],[[7,[52,6]]]],[[8,[31,[10]]],[[7,[52,6]]]],0,[1,26],[26,15],[15,[[9,[33]]]],[23,[[9,[33]]]],[10,[[12,[14]]]],[2],[15,9],[23,9],[15,[[9,[36]]]],[23,[[9,[36]]]],[2,52],[15,[[9,[26]]]],[23,[[9,[26]]]],[15,[[9,[19]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[15,15],[[]],[[]],[15,[[9,[23]]]],[15,[[9,[58]]]],[23,[[9,[58]]]],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[15,[[9,[60]]]],[23,[[9,[60]]]],[8,73],[8,73],[8,73],[8,73],0,[8,[[74,[68]]]],[[8,[0,[27,28]]],[[74,[[30,[[0,[27,28]]]]]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],[[7,[1]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],[[7,[10]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[52,[[7,[2]]]],[58,[[7,[2]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],[[7,[11]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[60,15],[[[31,[10]]],37],[[[4,[3]],[31,[10]]],37],[[8,[31,[10]]],37],[[[31,[10]]],37],[[[4,[3]],[31,[10]]],37],[[8,[31,[10]]],37],0,[55,[[9,[12]]]],[[[4,[3]],[9,[[12,[10]]]]],52],[[8,[9,[[12,[10]]]]],52],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[4,[3]],2],[[4,[3]]]],[[8,2],8],[[[4,[3]],22],[[4,[3]]]],[[8,22],8],[[[4,[3]],[0,[27,28]]],[[4,[[30,[[0,[27,28]]]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[76,76],[76,76],[77,77],[[]],[[]],[[],27],[[],76],[[10,21]],[[10,58]],[[76,10,58]],[[10,48,48]],[[76,10,48,48]],[[77,77],33],[[10,21,33]],[[76,10,21,33]],[[10,21]],[[76,38],39],[[77,38],39],[[]],[[]],[[10,21]],[[76,10,21]],[[10,48]],[[76,10,48]],[[]],[[]],[[]],[[76,76]],[[10,21,33]],[[76,10,21,33]],[[10,48,58]],[[76,10,48,58]],[76,[[12,[77]]]],[[],33],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],75],[[],75],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[78,78],[65,65],[79,79],[66,66],[[]],[[]],[[]],[[]],[[78,11],33],[[],[[7,[65,80]]]],[[],[[7,[66,81]]]],[[],78],[[],65],[[],79],[65,[[12,[14]]]],[66,[[12,[14]]]],[[78,78],33],[[65,65],33],[[79,79],33],[[66,66],33],[[78,38],39],[[82,38],39],[[82,38],39],[[80,38],39],[[80,38],39],[[65,38],39],[[79,38],39],[[81,38],39],[[81,38],39],[[66,38],39],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[83,78],[65,[[9,[66]]]],[78],[65],[79],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[],65],[69],[69],[69],[[65,66],[[7,[6]]]],[[65,66],[[7,[6]]]],0,[78,7],[79,7],[66,7],0,[81,[[9,[70]]]],0,0,0,[78,[[12,[14]]]],[[]],[[]],[[]],[[]],[[],52],[[],52],[[],52],[[],7],[[],[[7,[78]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],[[12,[11]]]],[[[74,[3]]],[[12,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[30,[[0,[27,28]]]]],[[30,[[0,[27,28]]]]]],[68,68],0,[[[30,[[0,[16,27,28]]]]],[[30,[[0,[16,27,28]]]]]],[68,68],[[]],[[]],[[[74,[3]]]],[[[74,[3]],25]],[[],25],[[],68],[[[31,[10]],[32,[21]]],[[7,[6]]]],[[[74,[3]],[31,[10]],[32,[21]]],[[7,[6]]]],[[[74,[3]]]],0,[[25,38],39],[[[74,[[0,[40,3]]]],38],39],[[[30,[[0,[40,27,28]]]],38],39],[[68,38],39],[[[84,[40,40]],38],39],[[[85,[40]],38],39],[[]],[[]],[[]],[[]],[[]],[[]],[[[74,[3]],[31,[10]],[32,[21]]],[[7,[9,6]]]],[[[74,[3]],[31,[10]],[32,[21]]],[[7,[12,6]]]],[[[74,[3]],[31,[10]],[32,[21]]],[[7,[12,6]]]],[[[74,[3]],[31,[10]],[32,[21]]],[[7,[9,6]]]],[[[74,[3]],11],[[9,[1]]]],[[[74,[3]]],[[12,[11]]]],[[[74,[3]]],[[12,[11]]]],0,[[[31,[10]],[32,[21]],26],[[7,[6]]]],[[[74,[3]],[31,[10]],[32,[21]],26],[[7,[6]]]],[[[31,[10]],48,[32,[23]]],[[7,[6]]]],[[[74,[3]],[31,[10]],48,[32,[23]]],[[7,[6]]]],[[[31,[10]],48,19],[[7,[10,6]]]],[[[74,[3]],[31,[10]],48,19],[[7,[10,6]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[[74,[3]],[31,[10]]],46],[[[74,[3]],[31,[10]]],47],[[[74,[3]],[31,[10]]],48],[[[74,[3]],[31,[10]]],48],[[[74,[3]],[31,[10]],[49,[48]]],[[50,[[49,[48]]]]]],[[[74,[3]],[31,[10]],[49,[48]]],[[51,[[49,[48]]]]]],[[[9,[11]]]],[[[30,[[0,[27,28]]]],[9,[11]]]],[[68,[9,[11]]]],[[[74,[3]],[31,[10]],[49,[52]]],[[53,[[49,[52]]]]]],[[[74,[3]],[31,[10]],[49,[52]]],[[54,[[49,[52]]]]]],[[]],[[[30,[[0,[27,28]]]],[30,[[0,[27,28]]]]]],[[68,68]],0,[[],68],[[[74,[3]],[31,[10]]],[[7,[19,6]]]],[[],9],[[[74,[[30,[[0,[27,28]]]]]]]],[[[30,[[0,[27,28]]]]],9],[68,9],0,[[[74,[3]],[31,[10]]],[[7,[55,6]]]],[[[74,[3]],[31,[10]]],[[7,[12,6]]]],[[],48],[[[74,[3]]],48],[[[31,[10]],[32,[21]],[32,[23]]],[[7,[6]]]],[[[74,[3]],[31,[10]],[32,[21]],[32,[23]]],[[7,[6]]]],[[[31,[10]],[32,[21]],19],[[7,[10,6]]]],[[[74,[3]],[31,[10]],[32,[21]],19],[[7,[10,6]]]],0,[[[74,[3]]],48],[[25,[32,[52]]],25],[[25,26],25],[[[31,[10]],48,48,5],[[7,[6]]]],[[[74,[3]],[31,[10]],48,48,5],[[7,[6]]]],[[[31,[10]],48,48,58],[[7,[6]]]],[[[74,[3]],[31,[10]],48,48,58],[[7,[6]]]],[[[74,[3]],[31,[10]]],[[7,[52,6]]]],[[[74,[3]],[31,[10]]],[[7,[52,6]]]],0,[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],75],[[],75],[[],75],[[],75],[[],75],[[],75],[[[74,[3]],[31,[10]]],37],[[[74,[3]],[31,[10]]],37],[[]],[[]],[[]],[[]],[[]],[[]],[[25,[32,[52]]],25],[[25,26],25]],"p":[[3,"Change"],[3,"ActorId"],[8,"Observation"],[3,"AutoCommitWithObs"],[8,"IntoIterator"],[4,"AutomergeError"],[4,"Result"],[3,"Automerge"],[4,"Option"],[4,"ObjId"],[3,"ChangeHash"],[3,"Vec"],[4,"Cow"],[15,"u8"],[4,"Value"],[8,"Clone"],[4,"OnPartialLoad"],[3,"ExpandedChange"],[4,"ObjType"],[4,"OpType"],[4,"Prop"],[4,"TextEncoding"],[4,"ScalarValue"],[4,"Ordering"],[3,"CommitOptions"],[15,"i64"],[8,"OpObserver"],[8,"BranchableObserver"],[8,"Default"],[3,"Observed"],[8,"AsRef"],[8,"Into"],[15,"bool"],[3,"InvalidChangeHashSlice"],[3,"Parent"],[15,"f64"],[3,"Values"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[8,"ReadDoc"],[3,"AutoSerde"],[4,"LoadChangeError"],[3,"InvalidActorId"],[4,"ObjIdFromBytesError"],[3,"Keys"],[3,"KeysAt"],[15,"usize"],[8,"RangeBounds"],[3,"ListRange"],[3,"ListRangeAt"],[3,"String"],[3,"MapRange"],[3,"MapRangeAt"],[3,"Parents"],[4,"ParseChangeHashError"],[3,"Uuid"],[15,"str"],[4,"FromHexError"],[15,"u64"],[3,"SmolStr"],[15,"u32"],[15,"char"],[15,"i32"],[3,"State"],[3,"Message"],[6,"AutoCommit"],[3,"UnObserved"],[3,"Demand"],[8,"Error"],[3,"NonZeroU64"],[8,"SyncDoc"],[6,"Result"],[3,"Transaction"],[3,"TypeId"],[3,"VecOpObserver"],[4,"Patch"],[3,"BloomFilter"],[3,"Have"],[4,"DecodeStateError"],[4,"ReadMessageError"],[3,"DecodeBloomError"],[8,"ExactSizeIterator"],[3,"Success"],[3,"Failure"],[13,"InvalidValueType"],[13,"IncorrectLength"],[13,"Unknown"],[13,"Put"],[13,"Expose"],[13,"Insert"],[13,"Splice"],[13,"Delete"],[13,"Increment"],[13,"WrongType"],[13,"WrongType"],[8,"Transactable"]]},\ +"automerge_test":{"doc":"","t":[13,13,13,3,13,13,13,13,4,4,13,13,13,13,13,13,14,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,14,14,5,5,5,11,11,5,5,5,5,5,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12],"n":["Boolean","Bytes","Counter","ExportedOpId","F64","Int","Map","Null","OrdScalarValue","RealizedObject","Sequence","Str","Timestamp","Uint","Unknown","Value","assert_doc","assert_obj","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cmp","cmp","eq","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","hash","hash","hash","into","into","into","list","map","mk_counter","new_doc","new_doc_with_actor","partial_cmp","partial_cmp","pretty_panic","pretty_print","realize","realize_obj","realize_prop","serialize","serialize","sorted_actors","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","bytes","type_code"],"q":["automerge_test","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","automerge_test::OrdScalarValue",""],"d":["","","","","","","","","","A RealizedObject is a representation of all the current …","","","","","","","This macro makes it easy to make assertions about a …","Like assert_doc except that you can specify an object ID …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Construct RealizedObject::Sequence. This macro represents …","Construct RealizedObject::Map. This macro takes a nested …","","","","","","","Pretty print the contents of a document","","","","","","Returns two actor IDs, the first considered to be ordered …","","","","","","","","","","","","","","",""],"i":[3,3,3,0,3,3,1,3,0,0,1,3,3,3,3,1,0,0,4,1,3,4,1,3,1,3,4,1,3,4,4,1,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,4,1,3,4,1,3,0,0,0,0,0,1,3,0,0,0,0,0,1,3,0,4,4,1,3,4,1,3,4,1,3,4,1,3,30,30],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[1,1],2],[[3,3],2],[[4,4],5],[[1,1],5],[[3,3],5],[[4,6],7],[[4,6],7],[[1,6],7],[[3,6],7],[[]],[8,1],[9,1],[10,1],[[[12,[11]]],1],[13,1],[14,1],[15,1],[16,1],[[[19,[13,[18,[[17,[1]]]]]]],1],[[]],[5,1],[[[12,[[18,[[17,[1]]]]]]],1],[11,1],[14,3],[[]],[4],[1],[3],[[]],[[]],[[]],0,0,[16,14],[[],20],[21,20],[[1,1],[[22,[2]]]],[[3,3],[[22,[2]]]],[[1,1]],[23],[[],1],[[24,25],1],[[24,[17,[26]]],1],[1,27],[3,27],[[]],[[],28],[[],27],[[],27],[[],27],[[],27],[[],27],[[],27],[[],29],[[],29],[[],29],[[]],[[]],[[]],0,0],"p":[[4,"RealizedObject"],[4,"Ordering"],[4,"OrdScalarValue"],[3,"ExportedOpId"],[15,"bool"],[3,"Formatter"],[6,"Result"],[15,"usize"],[15,"u32"],[15,"f64"],[15,"u64"],[3,"Vec"],[15,"str"],[4,"ScalarValue"],[15,"i32"],[15,"i64"],[8,"Into"],[3,"BTreeSet"],[3,"BTreeMap"],[6,"AutoCommit"],[3,"ActorId"],[4,"Option"],[3,"Automerge"],[4,"ExId"],[4,"ObjType"],[4,"Prop"],[4,"Result"],[3,"String"],[3,"TypeId"],[13,"Unknown"]]},\ +"automerge_wasm":{"doc":"","t":[13,3,13,4,11,11,11,11,11,11,11,11,11,11,5,5,5,11,11,11,11,11,11,11,11,5,5,5,11,0,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,5,5,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,4,4,13,13,13,13,13,13,13,13,13,13,3,13,13,4,13,4,13,3,13,13,4,4,13,13,13,13,13,13,4,4,4,13,13,13,13,13,13,13,4,13,4,3,13,13,3,13,4,13,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Array","Automerge","String","TextRepresentation","apply_changes","apply_patches","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","commit","decode_change","decode_sync_message","decode_sync_state","default","delete","describe","describe","dump","empty_change","enable_freeze","enable_patches","encode_change","encode_sync_message","encode_sync_state","eq","error","export_sync_state","fmt","fmt","fork","from","from","from_abi","from_abi","generate_sync_message","get","get_actor_id","get_all","get_change_by_hash","get_changes","get_changes_added","get_heads","get_last_local_change","get_missing_deps","get_with_type","import_sync_state","increment","init","init_sync_state","insert","insert_object","into","into","into_abi","into_abi","is_none","is_none","keys","length","load","load_incremental","long_ref_from_abi","materialize","merge","new","none","none","pending_ops","pop_patches","push","push_object","put","put_object","receive_sync_message","ref_from_abi","ref_mut_from_abi","register_datatype","return_abi","return_abi","rollback","save","save_incremental","splice","text","to_js","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Apply","ApplyChangesError","ApplyPatch","Automerge","Automerge","Automerge","Automerge","Automerge","Automerge","Automerge","Automerge","BadActor","BadActor","BadActorId","BadChangeHashes","BadHeads","BadSyncMessage","Decode","DecodeChange","DecodeChanges","EncodeChange","Export","Export","Fork","Get","Heads","ImportObj","ImportObj","ImportObj","ImportObj","ImportObj","Increment","Insert","InsertObject","Interop","InvalidProp","InvalidProp","InvalidProp","InvalidProp","InvalidValue","InvalidValue","Load","Load","Materialize","Merge","NotObjectd","PatchCallback","PopPatches","ReadMessage","ReceiveSyncMessage","Serialize","Splice","ValueNotNumeric","ValueNotObject","ValueNotPrimitive","ValueNotPrimitive","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","provide","source","source","source","source","source","source","source","source","source","source","source","source","source","source","source","source","source","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip"],"q":["automerge_wasm","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","automerge_wasm::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["As an array of characters and objects","","As a single JS string","How text is represented in materialized objects on the JS …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"i":[6,0,6,0,1,1,6,1,6,1,6,1,6,1,0,0,0,6,1,6,1,1,1,1,1,0,0,0,6,0,0,6,1,1,6,1,6,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,1,1,6,1,6,1,6,1,1,1,0,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,6,6,1,6,1,6,1,6,1,3,0,0,19,14,30,23,24,22,29,25,19,25,0,19,14,0,29,0,3,0,5,26,0,0,26,14,30,23,24,22,0,0,0,5,14,23,24,22,23,24,0,12,0,0,5,5,0,13,0,12,0,22,24,30,23,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,9,3,3,19,19,27,27,14,14,30,30,23,23,24,24,22,22,13,13,5,5,28,28,26,26,29,29,25,25,15,15,12,12,9,9,3,3,19,19,19,27,27,14,14,30,30,23,23,24,24,22,22,13,13,5,28,26,29,29,29,25,25,25,15,15,12,12,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12,9,3,19,27,14,30,23,24,22,13,5,28,26,29,25,15,12],"f":[0,0,0,0,[[1,2],[[4,[3]]]],[[1,2,2,2],[[4,[2,5]]]],[[]],[[]],[[]],[[]],[6,6],[[1,[8,[7]]],[[4,[1,9]]]],[[]],[[1,[8,[7]],[8,[10]]],2],[11,[[4,[2,12]]]],[11,[[4,[2,13]]]],[11,[[4,[0,0]]]],[[],6],[[1,2,2],[[4,[14]]]],[[]],[[]],[1],[[1,[8,[7]],[8,[10]]],2],[[1,2],[[4,[2,2]]]],[[1,2],[[4,[2,2]]]],[2,[[4,[11,15]]]],[2,[[4,[11,0]]]],0,[[6,6],16],0,0,[[6,17],18],[[1,17],18],[[1,[8,[7]],2],[[4,[1,19]]]],[[]],[[]],[20,6],[20,1],0,[[1,2,2,[8,[21]]],[[4,[2,14]]]],[1,7],[[1,2,2,[8,[21]]],[[4,[21,14]]]],[[1,2],[[4,[2,0]]]],[[1,2],[[4,[21,14]]]],[[1,1],21],[1,21],[1,2],[[1,[8,[21]]],[[4,[21,14]]]],[[1,2,2,[8,[21]]],[[4,[2,14]]]],[2,[[4,[0,0]]]],[[1,2,2,2],[[4,[22]]]],[[16,[8,[7]]],[[4,[1,9]]]],0,[[1,2,10,2,2],[[4,[23]]]],[[1,2,10,2],[[4,[[8,[7]],24]]]],[[]],[[]],[6,20],[1,20],[20,16],[[],16],[[1,2,[8,[21]]],[[4,[21,14]]]],[[1,2,[8,[21]]],[[4,[10,14]]]],[[11,16,[8,[7]]],[[4,[1,25]]]],[[1,11],[[4,[10,25]]]],[[]],[[1,2,[8,[21]],2],[[4,[2,26]]]],[[1,1],[[4,[21,27]]]],[[[8,[7]],6],[[4,[1,9]]]],[[]],[[]],[1,2],[1,[[4,[21,28]]]],[[1,2,2,2],[[4,[23]]]],[[1,2,2],[[4,[[8,[7]],24]]]],[[1,2,2,2,2],[[4,[23]]]],[[1,2,2,2],[[4,[2,24]]]],0,[[]],[[]],[[1,2,2],[[4,[0]]]],[[]],[[]],[1,10],[1,11],[1,11],[[1,2,10,10,2],[[4,[30]]]],[[1,2,[8,[21]]],[[4,[7,14]]]],[[1,2],[[4,[2,0]]]],[[]],[[],4],[[],4],[[],4],[[],4],[[],31],[[],31],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[9,17],18],[[9,17],18],[[3,17],18],[[3,17],18],[[19,17],18],[[19,17],18],[[27,17],18],[[27,17],18],[[14,17],18],[[14,17],18],[[30,17],18],[[30,17],18],[[23,17],18],[[23,17],18],[[24,17],18],[[24,17],18],[[22,17],18],[[22,17],18],[[13,17],18],[[13,17],18],[[5,17],18],[[5,17],18],[[28,17],18],[[28,17],18],[[26,17],18],[[26,17],18],[[29,17],18],[[29,17],18],[[25,17],18],[[25,17],18],[[15,17],18],[[15,17],18],[[12,17],18],[[12,17],18],[[]],[32,9],[[]],[33,3],[33,19],[9,19],[[]],[33,27],[[]],[[]],[33,14],[[]],[33,30],[[]],[33,23],[[]],[33,24],[[]],[33,22],[[]],[34,13],[[]],[[]],[[]],[33,29],[[]],[34,29],[[]],[33,25],[9,25],[[]],[35,15],[36,12],[37,12],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[38],[9,[[8,[39]]]],[3,[[8,[39]]]],[19,[[8,[39]]]],[27,[[8,[39]]]],[14,[[8,[39]]]],[30,[[8,[39]]]],[23,[[8,[39]]]],[24,[[8,[39]]]],[22,[[8,[39]]]],[13,[[8,[39]]]],[5,[[8,[39]]]],[28,[[8,[39]]]],[26,[[8,[39]]]],[29,[[8,[39]]]],[25,[[8,[39]]]],[15,[[8,[39]]]],[12,[[8,[39]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]]],"p":[[3,"Automerge"],[3,"JsValue"],[4,"ApplyChangesError"],[4,"Result"],[4,"ApplyPatch"],[4,"TextRepresentation"],[3,"String"],[4,"Option"],[3,"BadActorId"],[15,"f64"],[3,"Uint8Array"],[4,"DecodeChange"],[4,"BadSyncMessage"],[4,"Get"],[3,"EncodeChange"],[15,"bool"],[3,"Formatter"],[6,"Result"],[4,"Fork"],[15,"u32"],[3,"Array"],[4,"Increment"],[4,"Insert"],[4,"InsertObject"],[4,"Load"],[4,"Materialize"],[3,"Merge"],[3,"PopPatches"],[4,"ReceiveSyncMessage"],[4,"Splice"],[3,"TypeId"],[4,"FromHexError"],[4,"AutomergeError"],[4,"ReadMessageError"],[3,"Error"],[3,"Error"],[4,"LoadError"],[3,"Demand"],[8,"Error"]]}\ +}'); +if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; +if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/settings.html b/settings.html new file mode 100644 index 00000000..6a0251ac --- /dev/null +++ b/settings.html @@ -0,0 +1,2 @@ +Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/source-files.js b/source-files.js new file mode 100644 index 00000000..66857015 --- /dev/null +++ b/source-files.js @@ -0,0 +1,6 @@ +var sourcesIndex = JSON.parse('{\ +"automerge":["",[["automerge",[],["current_state.rs"]],["columnar",[["column_range",[["generic",[],["group.rs","simple.rs"]]],["boolean.rs","delta.rs","deps.rs","generic.rs","key.rs","obj_id.rs","opid.rs","opid_list.rs","raw.rs","rle.rs","value.rs"]],["encoding",[],["boolean.rs","col_error.rs","column_decoder.rs","decodable_impls.rs","delta.rs","encodable_impls.rs","leb128.rs","raw.rs","rle.rs"]]],["column_range.rs","encoding.rs","splice_error.rs"]],["legacy",[["serde_impls",[],["actor_id.rs","change_hash.rs","element_id.rs","mod.rs","object_id.rs","op.rs","op_type.rs","opid.rs","scalar_value.rs"]],["utility_impls",[],["element_id.rs","key.rs","mod.rs","object_id.rs","opid.rs"]]],["mod.rs"]],["op_observer",[],["compose.rs"]],["op_set",[],["load.rs"]],["op_tree",[],["iter.rs","node.rs"]],["query",[],["elem_id_pos.rs","insert.rs","keys.rs","keys_at.rs","len.rs","len_at.rs","list_range.rs","list_range_at.rs","list_vals.rs","list_vals_at.rs","map_range.rs","map_range_at.rs","nth.rs","nth_at.rs","opid.rs","opid_vis.rs","prop.rs","prop_at.rs","seek_op.rs","seek_op_with_patch.rs"]],["storage",[["change",[],["change_actors.rs","change_op_columns.rs","compressed.rs","op_with_change_actors.rs"]],["columns",[],["column.rs","column_builder.rs","column_specification.rs","raw_column.rs"]],["convert",[],["op_as_changeop.rs","op_as_docop.rs"]],["document",[],["compression.rs","doc_change_columns.rs","doc_op_columns.rs"]],["load",[],["change_collector.rs","reconstruct_document.rs"]],["parse",[],["leb128.rs"]],["save",[],["document.rs"]]],["change.rs","chunk.rs","columns.rs","convert.rs","document.rs","load.rs","parse.rs","save.rs"]],["sync",[],["bloom.rs","state.rs"]],["transaction",[],["commit.rs","inner.rs","manual_transaction.rs","observation.rs","result.rs","transactable.rs"]],["types",[],["opids.rs"]]],["autocommit.rs","automerge.rs","autoserde.rs","change.rs","change_graph.rs","clock.rs","columnar.rs","convert.rs","error.rs","exid.rs","indexed_cache.rs","keys.rs","keys_at.rs","lib.rs","list_range.rs","list_range_at.rs","map_range.rs","map_range_at.rs","op_observer.rs","op_set.rs","op_tree.rs","parents.rs","query.rs","read.rs","storage.rs","sync.rs","transaction.rs","types.rs","value.rs","values.rs","visualisation.rs"]],\ +"automerge_test":["",[],["lib.rs"]],\ +"automerge_wasm":["",[],["interop.rs","lib.rs","observer.rs","sequence_tree.rs","sync.rs","value.rs"]]\ +}'); +createSourceSidebar(); diff --git a/src/automerge/autocommit.rs.html b/src/automerge/autocommit.rs.html new file mode 100644 index 00000000..d0e20f6b --- /dev/null +++ b/src/automerge/autocommit.rs.html @@ -0,0 +1,1347 @@ +autocommit.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+
use std::ops::RangeBounds;
+
+use crate::exid::ExId;
+use crate::op_observer::{BranchableObserver, OpObserver};
+use crate::sync::SyncDoc;
+use crate::transaction::{CommitOptions, Transactable};
+use crate::{
+    sync, Keys, KeysAt, ListRange, ListRangeAt, MapRange, MapRangeAt, ObjType, Parents, ReadDoc,
+    ScalarValue,
+};
+use crate::{
+    transaction::{Observation, Observed, TransactionInner, UnObserved},
+    ActorId, Automerge, AutomergeError, Change, ChangeHash, Prop, TextEncoding, Value, Values,
+};
+
+/// An automerge document that automatically manages transactions.
+///
+/// An `AutoCommit` can optionally manage an [`OpObserver`]. This observer will be notified of all
+/// changes made by both remote and local changes. The type parameter `O` tracks whether this
+/// document is observed or not.
+///
+/// ## Creating, loading, merging and forking documents
+///
+/// A new document can be created with [`Self::new`], which will create a document with a random
+/// [`ActorId`]. Existing documents can be loaded with [`Self::load`].
+///
+/// If you have two documents and you want to merge the changes from one into the other you can use
+/// [`Self::merge`].
+///
+/// If you have a document you want to split into two concurrent threads of execution you can use
+/// [`Self::fork`]. If you want to split a document from ealier in its history you can use
+/// [`Self::fork_at`].
+///
+/// ## Reading values
+///
+/// [`Self`] implements [`ReadDoc`], which provides methods for reading values from the document.
+///
+/// ## Modifying a document
+///
+/// This type implements [`Transactable`] directly, so you can modify it using methods from [`Transactable`].
+///
+/// ## Synchronization
+///
+/// To synchronise call [`Self::sync`] which returns an implementation of [`SyncDoc`]
+///
+/// ## Observers
+///
+/// An `AutoCommit` can optionally manage an [`OpObserver`]. [`Self::new`] will return a document
+/// with no observer but you can set an observer using [`Self::with_observer`]. The observer must
+/// implement both [`OpObserver`] and [`BranchableObserver`]. If you have an observed autocommit
+/// then you can obtain a mutable reference to the observer with [`Self::observer`]
+#[derive(Debug, Clone)]
+pub struct AutoCommitWithObs<Obs: Observation> {
+    doc: Automerge,
+    transaction: Option<(Obs, TransactionInner)>,
+    observation: Obs,
+}
+
+/// An autocommit document with no observer
+///
+/// See [`AutoCommitWithObs`]
+pub type AutoCommit = AutoCommitWithObs<UnObserved>;
+
+impl<O: OpObserver + BranchableObserver + Default> Default for AutoCommitWithObs<Observed<O>> {
+    fn default() -> Self {
+        let op_observer = O::default();
+        AutoCommitWithObs {
+            doc: Automerge::new(),
+            transaction: None,
+            observation: Observed::new(op_observer),
+        }
+    }
+}
+
+impl AutoCommit {
+    pub fn new() -> AutoCommit {
+        AutoCommitWithObs {
+            doc: Automerge::new(),
+            transaction: None,
+            observation: UnObserved,
+        }
+    }
+
+    pub fn load(data: &[u8]) -> Result<Self, AutomergeError> {
+        let doc = Automerge::load(data)?;
+        Ok(Self {
+            doc,
+            transaction: None,
+            observation: UnObserved,
+        })
+    }
+}
+
+impl<Obs: OpObserver + BranchableObserver> AutoCommitWithObs<Observed<Obs>> {
+    pub fn observer(&mut self) -> &mut Obs {
+        self.ensure_transaction_closed();
+        self.observation.observer()
+    }
+}
+
+impl<Obs: Observation + Clone> AutoCommitWithObs<Obs> {
+    pub fn fork(&mut self) -> Self {
+        self.ensure_transaction_closed();
+        Self {
+            doc: self.doc.fork(),
+            transaction: self.transaction.clone(),
+            observation: self.observation.clone(),
+        }
+    }
+
+    pub fn fork_at(&mut self, heads: &[ChangeHash]) -> Result<Self, AutomergeError> {
+        self.ensure_transaction_closed();
+        Ok(Self {
+            doc: self.doc.fork_at(heads)?,
+            transaction: self.transaction.clone(),
+            observation: self.observation.clone(),
+        })
+    }
+}
+
+impl<Obs: Observation> AutoCommitWithObs<Obs> {
+    pub fn with_observer<Obs2: OpObserver + BranchableObserver>(
+        self,
+        op_observer: Obs2,
+    ) -> AutoCommitWithObs<Observed<Obs2>> {
+        AutoCommitWithObs {
+            doc: self.doc,
+            transaction: self
+                .transaction
+                .map(|(_, t)| (Observed::new(op_observer.branch()), t)),
+            observation: Observed::new(op_observer),
+        }
+    }
+
+    /// Get the inner document.
+    #[doc(hidden)]
+    pub fn document(&mut self) -> &Automerge {
+        self.ensure_transaction_closed();
+        &self.doc
+    }
+
+    pub fn with_actor(mut self, actor: ActorId) -> Self {
+        self.ensure_transaction_closed();
+        self.doc.set_actor(actor);
+        self
+    }
+
+    pub fn set_actor(&mut self, actor: ActorId) -> &mut Self {
+        self.ensure_transaction_closed();
+        self.doc.set_actor(actor);
+        self
+    }
+
+    pub fn get_actor(&self) -> &ActorId {
+        self.doc.get_actor()
+    }
+
+    /// Change the text encoding of this view of the document
+    ///
+    /// This is a cheap operation, it just changes the way indexes are calculated
+    pub fn with_encoding(mut self, encoding: TextEncoding) -> Self {
+        self.doc = self.doc.with_encoding(encoding);
+        self
+    }
+
+    fn ensure_transaction_open(&mut self) {
+        if self.transaction.is_none() {
+            let args = self.doc.transaction_args();
+            let inner = TransactionInner::new(args);
+            self.transaction = Some((self.observation.branch(), inner))
+        }
+    }
+
+    fn ensure_transaction_closed(&mut self) {
+        if let Some((current, tx)) = self.transaction.take() {
+            self.observation.merge(&current);
+            tx.commit(&mut self.doc, None, None);
+        }
+    }
+
+    /// Load an incremental save of a document.
+    ///
+    /// Unlike `load` this imports changes into an existing document. It will work with both the
+    /// output of [`Self::save`] and [`Self::save_incremental`]
+    ///
+    /// The return value is the number of ops which were applied, this is not useful and will
+    /// change in future.
+    pub fn load_incremental(&mut self, data: &[u8]) -> Result<usize, AutomergeError> {
+        self.ensure_transaction_closed();
+        // TODO - would be nice to pass None here instead of &mut ()
+        if let Some(observer) = self.observation.observer() {
+            self.doc.load_incremental_with(data, Some(observer))
+        } else {
+            self.doc.load_incremental(data)
+        }
+    }
+
+    pub fn apply_changes(
+        &mut self,
+        changes: impl IntoIterator<Item = Change>,
+    ) -> Result<(), AutomergeError> {
+        self.ensure_transaction_closed();
+        if let Some(observer) = self.observation.observer() {
+            self.doc.apply_changes_with(changes, Some(observer))
+        } else {
+            self.doc.apply_changes(changes)
+        }
+    }
+
+    /// Takes all the changes in `other` which are not in `self` and applies them
+    pub fn merge<Obs2: Observation>(
+        &mut self,
+        other: &mut AutoCommitWithObs<Obs2>,
+    ) -> Result<Vec<ChangeHash>, AutomergeError> {
+        self.ensure_transaction_closed();
+        other.ensure_transaction_closed();
+        if let Some(observer) = self.observation.observer() {
+            self.doc.merge_with(&mut other.doc, Some(observer))
+        } else {
+            self.doc.merge(&mut other.doc)
+        }
+    }
+
+    /// Save the entirety of this document in a compact form.
+    pub fn save(&mut self) -> Vec<u8> {
+        self.ensure_transaction_closed();
+        self.doc.save()
+    }
+
+    /// Save this document, but don't run it through DEFLATE afterwards
+    pub fn save_nocompress(&mut self) -> Vec<u8> {
+        self.ensure_transaction_closed();
+        self.doc.save_nocompress()
+    }
+
+    /// Save the changes since the last call to [Self::save`]
+    ///
+    /// The output of this will not be a compressed document format, but a series of individual
+    /// changes. This is useful if you know you have only made a small change since the last `save`
+    /// and you want to immediately send it somewhere (e.g. you've inserted a single character in a
+    /// text object).
+    pub fn save_incremental(&mut self) -> Vec<u8> {
+        self.ensure_transaction_closed();
+        self.doc.save_incremental()
+    }
+
+    pub fn get_missing_deps(&mut self, heads: &[ChangeHash]) -> Vec<ChangeHash> {
+        self.ensure_transaction_closed();
+        self.doc.get_missing_deps(heads)
+    }
+
+    /// Get the last change made by this documents actor ID
+    pub fn get_last_local_change(&mut self) -> Option<&Change> {
+        self.ensure_transaction_closed();
+        self.doc.get_last_local_change()
+    }
+
+    pub fn get_changes(
+        &mut self,
+        have_deps: &[ChangeHash],
+    ) -> Result<Vec<&Change>, AutomergeError> {
+        self.ensure_transaction_closed();
+        self.doc.get_changes(have_deps)
+    }
+
+    pub fn get_change_by_hash(&mut self, hash: &ChangeHash) -> Option<&Change> {
+        self.ensure_transaction_closed();
+        self.doc.get_change_by_hash(hash)
+    }
+
+    /// Get changes in `other` that are not in `self
+    pub fn get_changes_added<'a>(&mut self, other: &'a mut Self) -> Vec<&'a Change> {
+        self.ensure_transaction_closed();
+        other.ensure_transaction_closed();
+        self.doc.get_changes_added(&other.doc)
+    }
+
+    #[doc(hidden)]
+    pub fn import(&self, s: &str) -> Result<(ExId, ObjType), AutomergeError> {
+        self.doc.import(s)
+    }
+
+    #[doc(hidden)]
+    pub fn dump(&mut self) {
+        self.ensure_transaction_closed();
+        self.doc.dump()
+    }
+
+    /// Return a graphviz representation of the opset.
+    ///
+    /// # Arguments
+    ///
+    /// * objects: An optional list of object IDs to display, if not specified all objects are
+    ///            visualised
+    #[cfg(feature = "optree-visualisation")]
+    pub fn visualise_optree(&self, objects: Option<Vec<ExId>>) -> String {
+        self.doc.visualise_optree(objects)
+    }
+
+    /// Get the current heads of the document.
+    ///
+    /// This closes the transaction first, if one is in progress.
+    pub fn get_heads(&mut self) -> Vec<ChangeHash> {
+        self.ensure_transaction_closed();
+        self.doc.get_heads()
+    }
+
+    /// Commit any uncommitted changes
+    ///
+    /// Returns `None` if there were no operations to commit
+    pub fn commit(&mut self) -> Option<ChangeHash> {
+        self.commit_with(CommitOptions::default())
+    }
+
+    /// Commit the current operations with some options.
+    ///
+    /// Returns `None` if there were no operations to commit
+    ///
+    /// ```
+    /// # use automerge::transaction::CommitOptions;
+    /// # use automerge::transaction::Transactable;
+    /// # use automerge::ROOT;
+    /// # use automerge::AutoCommit;
+    /// # use automerge::ObjType;
+    /// # use std::time::SystemTime;
+    /// let mut doc = AutoCommit::new();
+    /// doc.put_object(&ROOT, "todos", ObjType::List).unwrap();
+    /// let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs() as
+    /// i64;
+    /// doc.commit_with(CommitOptions::default().with_message("Create todos list").with_time(now));
+    /// ```
+    pub fn commit_with(&mut self, options: CommitOptions) -> Option<ChangeHash> {
+        // ensure that even no changes triggers a change
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.take().unwrap();
+        self.observation.merge(&current);
+        tx.commit(&mut self.doc, options.message, options.time)
+    }
+
+    /// Remove any changes that have been made in the current transaction from the document
+    pub fn rollback(&mut self) -> usize {
+        self.transaction
+            .take()
+            .map(|(_, tx)| tx.rollback(&mut self.doc))
+            .unwrap_or(0)
+    }
+
+    /// Generate an empty change
+    ///
+    /// The main reason to do this is if you wish to create a "merge commit" which has all the
+    /// current heads of the documents as dependencies but you have no new operations to create.
+    ///
+    /// Because this structure is an "autocommit" there may actually be outstanding operations to
+    /// submit. If this is the case this function will create two changes, one with the outstanding
+    /// operations and a new one with no operations. The returned `ChangeHash` will always be the
+    /// hash of the empty change.
+    pub fn empty_change(&mut self, options: CommitOptions) -> ChangeHash {
+        self.ensure_transaction_closed();
+        let args = self.doc.transaction_args();
+        TransactionInner::empty(&mut self.doc, args, options.message, options.time)
+    }
+
+    /// An implementation of [`crate::sync::SyncDoc`] for this autocommit
+    ///
+    /// This ensures that any outstanding transactions for this document are committed before
+    /// taking part in the sync protocol
+    pub fn sync(&mut self) -> impl SyncDoc + '_ {
+        self.ensure_transaction_closed();
+        SyncWrapper { inner: self }
+    }
+}
+
+impl<Obs: Observation> ReadDoc for AutoCommitWithObs<Obs> {
+    fn parents<O: AsRef<ExId>>(&self, obj: O) -> Result<Parents<'_>, AutomergeError> {
+        self.doc.parents(obj)
+    }
+
+    fn path_to_object<O: AsRef<ExId>>(&self, obj: O) -> Result<Vec<(ExId, Prop)>, AutomergeError> {
+        self.doc.path_to_object(obj)
+    }
+
+    fn keys<O: AsRef<ExId>>(&self, obj: O) -> Keys<'_, '_> {
+        self.doc.keys(obj)
+    }
+
+    fn keys_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_> {
+        self.doc.keys_at(obj, heads)
+    }
+
+    fn map_range<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> MapRange<'_, R> {
+        self.doc.map_range(obj, range)
+    }
+
+    fn map_range_at<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> MapRangeAt<'_, R> {
+        self.doc.map_range_at(obj, range, heads)
+    }
+
+    fn list_range<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> ListRange<'_, R> {
+        self.doc.list_range(obj, range)
+    }
+
+    fn list_range_at<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> ListRangeAt<'_, R> {
+        self.doc.list_range_at(obj, range, heads)
+    }
+
+    fn values<O: AsRef<ExId>>(&self, obj: O) -> Values<'_> {
+        self.doc.values(obj)
+    }
+
+    fn values_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_> {
+        self.doc.values_at(obj, heads)
+    }
+
+    fn length<O: AsRef<ExId>>(&self, obj: O) -> usize {
+        self.doc.length(obj)
+    }
+
+    fn length_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> usize {
+        self.doc.length_at(obj, heads)
+    }
+
+    fn object_type<O: AsRef<ExId>>(&self, obj: O) -> Result<ObjType, AutomergeError> {
+        self.doc.object_type(obj)
+    }
+
+    fn text<O: AsRef<ExId>>(&self, obj: O) -> Result<String, AutomergeError> {
+        self.doc.text(obj)
+    }
+
+    fn text_at<O: AsRef<ExId>>(
+        &self,
+        obj: O,
+        heads: &[ChangeHash],
+    ) -> Result<String, AutomergeError> {
+        self.doc.text_at(obj, heads)
+    }
+
+    fn get<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get(obj, prop)
+    }
+
+    fn get_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get_at(obj, prop, heads)
+    }
+
+    fn get_all<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get_all(obj, prop)
+    }
+
+    fn get_all_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get_all_at(obj, prop, heads)
+    }
+
+    fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec<ChangeHash> {
+        self.doc.get_missing_deps(heads)
+    }
+
+    fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&Change> {
+        self.doc.get_change_by_hash(hash)
+    }
+}
+
+impl<Obs: Observation> Transactable for AutoCommitWithObs<Obs> {
+    fn pending_ops(&self) -> usize {
+        self.transaction
+            .as_ref()
+            .map(|(_, t)| t.pending_ops())
+            .unwrap_or(0)
+    }
+
+    fn put<O: AsRef<ExId>, P: Into<Prop>, V: Into<ScalarValue>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: V,
+    ) -> Result<(), AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.put(&mut self.doc, current.observer(), obj.as_ref(), prop, value)
+    }
+
+    fn put_object<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: ObjType,
+    ) -> Result<ExId, AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.put_object(&mut self.doc, current.observer(), obj.as_ref(), prop, value)
+    }
+
+    fn insert<O: AsRef<ExId>, V: Into<ScalarValue>>(
+        &mut self,
+        obj: O,
+        index: usize,
+        value: V,
+    ) -> Result<(), AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.insert(
+            &mut self.doc,
+            current.observer(),
+            obj.as_ref(),
+            index,
+            value,
+        )
+    }
+
+    fn insert_object<O: AsRef<ExId>>(
+        &mut self,
+        obj: O,
+        index: usize,
+        value: ObjType,
+    ) -> Result<ExId, AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.insert_object(
+            &mut self.doc,
+            current.observer(),
+            obj.as_ref(),
+            index,
+            value,
+        )
+    }
+
+    fn increment<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: i64,
+    ) -> Result<(), AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.increment(&mut self.doc, current.observer(), obj.as_ref(), prop, value)
+    }
+
+    fn delete<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+    ) -> Result<(), AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.delete(&mut self.doc, current.observer(), obj.as_ref(), prop)
+    }
+
+    /// Splice new elements into the given sequence. Returns a vector of the OpIds used to insert
+    /// the new elements
+    fn splice<O: AsRef<ExId>, V: IntoIterator<Item = ScalarValue>>(
+        &mut self,
+        obj: O,
+        pos: usize,
+        del: usize,
+        vals: V,
+    ) -> Result<(), AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.splice(
+            &mut self.doc,
+            current.observer(),
+            obj.as_ref(),
+            pos,
+            del,
+            vals,
+        )
+    }
+
+    fn splice_text<O: AsRef<ExId>>(
+        &mut self,
+        obj: O,
+        pos: usize,
+        del: usize,
+        text: &str,
+    ) -> Result<(), AutomergeError> {
+        self.ensure_transaction_open();
+        let (current, tx) = self.transaction.as_mut().unwrap();
+        tx.splice_text(
+            &mut self.doc,
+            current.observer(),
+            obj.as_ref(),
+            pos,
+            del,
+            text,
+        )
+    }
+
+    fn base_heads(&self) -> Vec<ChangeHash> {
+        self.doc.get_heads()
+    }
+}
+
+// A wrapper we return from `AutoCommit::sync` to ensure that transactions are closed before we
+// start syncing
+struct SyncWrapper<'a, Obs: Observation> {
+    inner: &'a mut AutoCommitWithObs<Obs>,
+}
+
+impl<'a, Obs: Observation> SyncDoc for SyncWrapper<'a, Obs> {
+    fn generate_sync_message(&self, sync_state: &mut sync::State) -> Option<sync::Message> {
+        self.inner.doc.generate_sync_message(sync_state)
+    }
+
+    fn receive_sync_message(
+        &mut self,
+        sync_state: &mut sync::State,
+        message: sync::Message,
+    ) -> Result<(), AutomergeError> {
+        self.inner.ensure_transaction_closed();
+        if let Some(observer) = self.inner.observation.observer() {
+            self.inner
+                .doc
+                .receive_sync_message_with(sync_state, message, observer)
+        } else {
+            self.inner.doc.receive_sync_message(sync_state, message)
+        }
+    }
+
+    fn receive_sync_message_with<Obs2: OpObserver>(
+        &mut self,
+        sync_state: &mut sync::State,
+        message: sync::Message,
+        op_observer: &mut Obs2,
+    ) -> Result<(), AutomergeError> {
+        if let Some(our_observer) = self.inner.observation.observer() {
+            let mut composed = crate::op_observer::compose(our_observer, op_observer);
+            self.inner
+                .doc
+                .receive_sync_message_with(sync_state, message, &mut composed)
+        } else {
+            self.inner
+                .doc
+                .receive_sync_message_with(sync_state, message, op_observer)
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/automerge.rs.html b/src/automerge/automerge.rs.html new file mode 100644 index 00000000..9801edf9 --- /dev/null +++ b/src/automerge/automerge.rs.html @@ -0,0 +1,2907 @@ +automerge.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
+981
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+
use std::cmp::Ordering;
+use std::collections::{BTreeSet, HashMap, HashSet};
+use std::fmt::Debug;
+use std::num::NonZeroU64;
+use std::ops::RangeBounds;
+
+use crate::change_graph::ChangeGraph;
+use crate::columnar::Key as EncodedKey;
+use crate::exid::ExId;
+use crate::keys::Keys;
+use crate::op_observer::{BranchableObserver, OpObserver};
+use crate::op_set::OpSet;
+use crate::parents::Parents;
+use crate::storage::{self, load, CompressConfig, VerificationMode};
+use crate::transaction::{
+    self, CommitOptions, Failure, Observed, Success, Transaction, TransactionArgs, UnObserved,
+};
+use crate::types::{
+    ActorId, ChangeHash, Clock, ElemId, Export, Exportable, Key, ListEncoding, ObjId, Op, OpId,
+    OpType, ScalarValue, TextEncoding, Value,
+};
+use crate::{
+    query, AutomergeError, Change, KeysAt, ListRange, ListRangeAt, MapRange, MapRangeAt, ObjType,
+    Prop, ReadDoc, Values,
+};
+use serde::Serialize;
+
+mod current_state;
+
+#[cfg(test)]
+mod tests;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) enum Actor {
+    Unused(ActorId),
+    Cached(usize),
+}
+
+/// What to do when loading a document partially succeeds
+#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+pub enum OnPartialLoad {
+    /// Ignore the error and return the loaded changes
+    Ignore,
+    /// Fail the entire load
+    Error,
+}
+
+/// An automerge document which does not manage transactions for you.
+///
+/// ## Creating, loading, merging and forking documents
+///
+/// A new document can be created with [`Self::new`], which will create a document with a random
+/// [`ActorId`]. Existing documents can be loaded with [`Self::load`], or [`Self::load_with`].
+///
+/// If you have two documents and you want to merge the changes from one into the other you can use
+/// [`Self::merge`] or [`Self::merge_with`].
+///
+/// If you have a document you want to split into two concurrent threads of execution you can use
+/// [`Self::fork`]. If you want to split a document from ealier in its history you can use
+/// [`Self::fork_at`].
+///
+/// ## Reading values
+///
+/// [`Self`] implements [`ReadDoc`], which provides methods for reading values from the document.
+///
+/// ## Modifying a document (Transactions)
+///
+/// [`Automerge`] provides an interface for viewing and modifying automerge documents which does
+/// not manage transactions for you. To create changes you use either [`Automerge::transaction`] or
+/// [`Automerge::transact`] (or the `_with` variants).
+///
+/// ## Sync
+///
+/// This type implements [`crate::sync::SyncDoc`]
+///
+/// ## Observers
+///
+/// Many of the methods on this type have an `_with` or `_observed` variant
+/// which allow you to pass in an [`OpObserver`] to observe any changes which
+/// occur.
+#[derive(Debug, Clone)]
+pub struct Automerge {
+    /// The list of unapplied changes that are not causally ready.
+    queue: Vec<Change>,
+    /// The history of changes that form this document, topologically sorted too.
+    history: Vec<Change>,
+    /// Mapping from change hash to index into the history list.
+    history_index: HashMap<ChangeHash, usize>,
+    /// Graph of changes
+    change_graph: ChangeGraph,
+    /// Mapping from actor index to list of seqs seen for them.
+    states: HashMap<usize, Vec<usize>>,
+    /// Current dependencies of this document (heads hashes).
+    deps: HashSet<ChangeHash>,
+    /// Heads at the last save.
+    saved: Vec<ChangeHash>,
+    /// The set of operations that form this document.
+    ops: OpSet,
+    /// The current actor.
+    actor: Actor,
+    /// The maximum operation counter this document has seen.
+    max_op: u64,
+    text_encoding: TextEncoding,
+}
+
+impl Automerge {
+    /// Create a new document with a random actor id.
+    pub fn new() -> Self {
+        Automerge {
+            queue: vec![],
+            history: vec![],
+            history_index: HashMap::new(),
+            change_graph: ChangeGraph::new(),
+            states: HashMap::new(),
+            ops: Default::default(),
+            deps: Default::default(),
+            saved: Default::default(),
+            actor: Actor::Unused(ActorId::random()),
+            max_op: 0,
+            text_encoding: Default::default(),
+        }
+    }
+
+    pub(crate) fn ops_mut(&mut self) -> &mut OpSet {
+        &mut self.ops
+    }
+
+    pub(crate) fn ops(&self) -> &OpSet {
+        &self.ops
+    }
+
+    /// Whether this document has any operations
+    pub fn is_empty(&self) -> bool {
+        self.history.is_empty() && self.queue.is_empty()
+    }
+
+    pub(crate) fn actor_id(&self) -> ActorId {
+        match &self.actor {
+            Actor::Unused(id) => id.clone(),
+            Actor::Cached(idx) => self.ops.m.actors[*idx].clone(),
+        }
+    }
+
+    /// Remove the current actor from the opset if it has no ops
+    ///
+    /// If the current actor ID has no ops in the opset then remove it from the cache of actor IDs.
+    /// This us used when rolling back a transaction. If the rolled back ops are the only ops for
+    /// the current actor then we want to remove that actor from the opset so it doesn't end up in
+    /// any saved version of the document.
+    ///
+    /// # Panics
+    ///
+    /// If the last actor in the OpSet is not the actor ID of this document
+    pub(crate) fn rollback_last_actor(&mut self) {
+        if let Actor::Cached(actor_idx) = self.actor {
+            if self.states.get(&actor_idx).is_none() && self.ops.m.actors.len() > 0 {
+                assert!(self.ops.m.actors.len() == actor_idx + 1);
+                let actor = self.ops.m.actors.remove_last();
+                self.actor = Actor::Unused(actor);
+            }
+        }
+    }
+
+    pub(crate) fn text_encoding(&self) -> TextEncoding {
+        self.text_encoding
+    }
+
+    /// Change the text encoding of this view of the document
+    ///
+    /// This is a cheap operation, it just changes the way indexes are calculated
+    pub fn with_encoding(mut self, encoding: TextEncoding) -> Self {
+        self.text_encoding = encoding;
+        self
+    }
+
+    /// Set the actor id for this document.
+    pub fn with_actor(mut self, actor: ActorId) -> Self {
+        self.actor = Actor::Unused(actor);
+        self
+    }
+
+    /// Set the actor id for this document.
+    pub fn set_actor(&mut self, actor: ActorId) -> &mut Self {
+        self.actor = Actor::Unused(actor);
+        self
+    }
+
+    /// Get the current actor id of this document.
+    pub fn get_actor(&self) -> &ActorId {
+        match &self.actor {
+            Actor::Unused(actor) => actor,
+            Actor::Cached(index) => self.ops.m.actors.get(*index),
+        }
+    }
+
+    pub(crate) fn get_actor_index(&mut self) -> usize {
+        match &mut self.actor {
+            Actor::Unused(actor) => {
+                let index = self
+                    .ops
+                    .m
+                    .actors
+                    .cache(std::mem::replace(actor, ActorId::from(&[][..])));
+                self.actor = Actor::Cached(index);
+                index
+            }
+            Actor::Cached(index) => *index,
+        }
+    }
+
+    /// Start a transaction.
+    pub fn transaction(&mut self) -> Transaction<'_, UnObserved> {
+        let args = self.transaction_args();
+        Transaction::new(self, args, UnObserved)
+    }
+
+    /// Start a transaction with an observer
+    pub fn transaction_with_observer<Obs: OpObserver + BranchableObserver>(
+        &mut self,
+        op_observer: Obs,
+    ) -> Transaction<'_, Observed<Obs>> {
+        let args = self.transaction_args();
+        Transaction::new(self, args, Observed::new(op_observer))
+    }
+
+    pub(crate) fn transaction_args(&mut self) -> TransactionArgs {
+        let actor = self.get_actor_index();
+        let seq = self.states.get(&actor).map_or(0, |v| v.len()) as u64 + 1;
+        let mut deps = self.get_heads();
+        if seq > 1 {
+            let last_hash = self.get_hash(actor, seq - 1).unwrap();
+            if !deps.contains(&last_hash) {
+                deps.push(last_hash);
+            }
+        }
+        // SAFETY: this unwrap is safe as we always add 1
+        let start_op = NonZeroU64::new(self.max_op + 1).unwrap();
+
+        TransactionArgs {
+            actor_index: actor,
+            seq,
+            start_op,
+            deps,
+        }
+    }
+
+    /// Run a transaction on this document in a closure, automatically handling commit or rollback
+    /// afterwards.
+    pub fn transact<F, O, E>(&mut self, f: F) -> transaction::Result<O, (), E>
+    where
+        F: FnOnce(&mut Transaction<'_, UnObserved>) -> Result<O, E>,
+    {
+        self.transact_with_impl(None::<&dyn Fn(&O) -> CommitOptions>, f)
+    }
+
+    /// Like [`Self::transact`] but with a function for generating the commit options.
+    pub fn transact_with<F, O, E, C>(&mut self, c: C, f: F) -> transaction::Result<O, (), E>
+    where
+        F: FnOnce(&mut Transaction<'_, UnObserved>) -> Result<O, E>,
+        C: FnOnce(&O) -> CommitOptions,
+    {
+        self.transact_with_impl(Some(c), f)
+    }
+
+    fn transact_with_impl<F, O, E, C>(
+        &mut self,
+        c: Option<C>,
+        f: F,
+    ) -> transaction::Result<O, (), E>
+    where
+        F: FnOnce(&mut Transaction<'_, UnObserved>) -> Result<O, E>,
+        C: FnOnce(&O) -> CommitOptions,
+    {
+        let mut tx = self.transaction();
+        let result = f(&mut tx);
+        match result {
+            Ok(result) => {
+                let hash = if let Some(c) = c {
+                    let commit_options = c(&result);
+                    tx.commit_with(commit_options)
+                } else {
+                    tx.commit()
+                };
+                Ok(Success {
+                    result,
+                    hash,
+                    op_observer: (),
+                })
+            }
+            Err(error) => Err(Failure {
+                error,
+                cancelled: tx.rollback(),
+            }),
+        }
+    }
+
+    /// Run a transaction on this document in a closure, observing ops with `Obs`, automatically handling commit or rollback
+    /// afterwards.
+    pub fn transact_observed<F, O, E, Obs>(&mut self, f: F) -> transaction::Result<O, Obs, E>
+    where
+        F: FnOnce(&mut Transaction<'_, Observed<Obs>>) -> Result<O, E>,
+        Obs: OpObserver + BranchableObserver + Default,
+    {
+        self.transact_observed_with_impl(None::<&dyn Fn(&O) -> CommitOptions>, f)
+    }
+
+    /// Like [`Self::transact_observed`] but with a function for generating the commit options
+    pub fn transact_observed_with<F, O, E, C, Obs>(
+        &mut self,
+        c: C,
+        f: F,
+    ) -> transaction::Result<O, Obs, E>
+    where
+        F: FnOnce(&mut Transaction<'_, Observed<Obs>>) -> Result<O, E>,
+        C: FnOnce(&O) -> CommitOptions,
+        Obs: OpObserver + BranchableObserver + Default,
+    {
+        self.transact_observed_with_impl(Some(c), f)
+    }
+
+    fn transact_observed_with_impl<F, O, Obs, E, C>(
+        &mut self,
+        c: Option<C>,
+        f: F,
+    ) -> transaction::Result<O, Obs, E>
+    where
+        F: FnOnce(&mut Transaction<'_, Observed<Obs>>) -> Result<O, E>,
+        C: FnOnce(&O) -> CommitOptions,
+        Obs: OpObserver + BranchableObserver + Default,
+    {
+        let observer = Obs::default();
+        let mut tx = self.transaction_with_observer(observer);
+        let result = f(&mut tx);
+        match result {
+            Ok(result) => {
+                let (obs, hash) = if let Some(c) = c {
+                    let commit_options = c(&result);
+                    tx.commit_with(commit_options)
+                } else {
+                    tx.commit()
+                };
+                Ok(Success {
+                    result,
+                    hash,
+                    op_observer: obs,
+                })
+            }
+            Err(error) => Err(Failure {
+                error,
+                cancelled: tx.rollback(),
+            }),
+        }
+    }
+
+    /// Generate an empty change
+    ///
+    /// The main reason to do this is if you want to create a "merge commit", which is a change
+    /// that has all the current heads of the document as dependencies.
+    pub fn empty_commit(&mut self, opts: CommitOptions) -> ChangeHash {
+        let args = self.transaction_args();
+        Transaction::empty(self, args, opts)
+    }
+
+    /// Fork this document at the current point for use by a different actor.
+    ///
+    /// This will create a new actor ID for the forked document
+    pub fn fork(&self) -> Self {
+        let mut f = self.clone();
+        f.set_actor(ActorId::random());
+        f
+    }
+
+    /// Fork this document at the given heads
+    ///
+    /// This will create a new actor ID for the forked document
+    pub fn fork_at(&self, heads: &[ChangeHash]) -> Result<Self, AutomergeError> {
+        let mut seen = heads.iter().cloned().collect::<HashSet<_>>();
+        let mut heads = heads.to_vec();
+        let mut changes = vec![];
+        while let Some(hash) = heads.pop() {
+            if let Some(idx) = self.history_index.get(&hash) {
+                let change = &self.history[*idx];
+                for dep in change.deps() {
+                    if !seen.contains(dep) {
+                        heads.push(*dep);
+                    }
+                }
+                changes.push(change);
+                seen.insert(hash);
+            } else {
+                return Err(AutomergeError::InvalidHash(hash));
+            }
+        }
+        let mut f = Self::new();
+        f.set_actor(ActorId::random());
+        f.apply_changes(changes.into_iter().rev().cloned())?;
+        Ok(f)
+    }
+
+    pub(crate) fn exid_to_obj(&self, id: &ExId) -> Result<(ObjId, ObjType), AutomergeError> {
+        match id {
+            ExId::Root => Ok((ObjId::root(), ObjType::Map)),
+            ExId::Id(ctr, actor, idx) => {
+                // do a direct get here b/c this could be foriegn and not be within the array
+                // bounds
+                let obj = if self.ops.m.actors.cache.get(*idx) == Some(actor) {
+                    ObjId(OpId::new(*ctr, *idx))
+                } else {
+                    // FIXME - make a real error
+                    let idx = self
+                        .ops
+                        .m
+                        .actors
+                        .lookup(actor)
+                        .ok_or(AutomergeError::Fail)?;
+                    ObjId(OpId::new(*ctr, idx))
+                };
+                if let Some(obj_type) = self.ops.object_type(&obj) {
+                    Ok((obj, obj_type))
+                } else {
+                    Err(AutomergeError::NotAnObject)
+                }
+            }
+        }
+    }
+
+    pub(crate) fn id_to_exid(&self, id: OpId) -> ExId {
+        self.ops.id_to_exid(id)
+    }
+
+    /// Load a document.
+    pub fn load(data: &[u8]) -> Result<Self, AutomergeError> {
+        Self::load_with::<()>(data, OnPartialLoad::Error, VerificationMode::Check, None)
+    }
+
+    /// Load a document without verifying the head hashes
+    ///
+    /// This is useful for debugging as it allows you to examine a corrupted document.
+    pub fn load_unverified_heads(data: &[u8]) -> Result<Self, AutomergeError> {
+        Self::load_with::<()>(
+            data,
+            OnPartialLoad::Error,
+            VerificationMode::DontCheck,
+            None,
+        )
+    }
+
+    /// Load a document with an observer
+    #[tracing::instrument(skip(data, observer), err)]
+    pub fn load_with<Obs: OpObserver>(
+        data: &[u8],
+        on_error: OnPartialLoad,
+        mode: VerificationMode,
+        mut observer: Option<&mut Obs>,
+    ) -> Result<Self, AutomergeError> {
+        if data.is_empty() {
+            tracing::trace!("no data, initializing empty document");
+            return Ok(Self::new());
+        }
+        tracing::trace!("loading first chunk");
+        let (remaining, first_chunk) = storage::Chunk::parse(storage::parse::Input::new(data))
+            .map_err(|e| load::Error::Parse(Box::new(e)))?;
+        if !first_chunk.checksum_valid() {
+            return Err(load::Error::BadChecksum.into());
+        }
+
+        let mut change: Option<Change> = None;
+        let mut am = match first_chunk {
+            storage::Chunk::Document(d) => {
+                tracing::trace!("first chunk is document chunk, inflating");
+                let storage::load::Reconstructed {
+                    max_op,
+                    result: op_set,
+                    changes,
+                    heads,
+                } = storage::load::reconstruct_document(&d, mode, OpSet::builder())
+                    .map_err(|e| load::Error::InflateDocument(Box::new(e)))?;
+                let mut hashes_by_index = HashMap::new();
+                let mut actor_to_history: HashMap<usize, Vec<usize>> = HashMap::new();
+                let mut change_graph = ChangeGraph::new();
+                for (index, change) in changes.iter().enumerate() {
+                    // SAFETY: This should be fine because we just constructed an opset containing
+                    // all the changes
+                    let actor_index = op_set.m.actors.lookup(change.actor_id()).unwrap();
+                    actor_to_history.entry(actor_index).or_default().push(index);
+                    hashes_by_index.insert(index, change.hash());
+                    change_graph.add_change(change, actor_index)?;
+                }
+                let history_index = hashes_by_index.into_iter().map(|(k, v)| (v, k)).collect();
+                Self {
+                    queue: vec![],
+                    history: changes,
+                    history_index,
+                    states: actor_to_history,
+                    change_graph,
+                    ops: op_set,
+                    deps: heads.into_iter().collect(),
+                    saved: Default::default(),
+                    actor: Actor::Unused(ActorId::random()),
+                    max_op,
+                    text_encoding: Default::default(),
+                }
+            }
+            storage::Chunk::Change(stored_change) => {
+                tracing::trace!("first chunk is change chunk");
+                change = Some(
+                    Change::new_from_unverified(stored_change.into_owned(), None)
+                        .map_err(|e| load::Error::InvalidChangeColumns(Box::new(e)))?,
+                );
+                Self::new()
+            }
+            storage::Chunk::CompressedChange(stored_change, compressed) => {
+                tracing::trace!("first chunk is compressed change");
+                change = Some(
+                    Change::new_from_unverified(
+                        stored_change.into_owned(),
+                        Some(compressed.into_owned()),
+                    )
+                    .map_err(|e| load::Error::InvalidChangeColumns(Box::new(e)))?,
+                );
+                Self::new()
+            }
+        };
+        tracing::trace!("loading change chunks");
+        match load::load_changes(remaining.reset()) {
+            load::LoadedChanges::Complete(c) => {
+                am.apply_changes(change.into_iter().chain(c))?;
+                if !am.queue.is_empty() {
+                    return Err(AutomergeError::MissingDeps);
+                }
+            }
+            load::LoadedChanges::Partial { error, .. } => {
+                if on_error == OnPartialLoad::Error {
+                    return Err(error.into());
+                }
+            }
+        }
+        if let Some(observer) = &mut observer {
+            current_state::observe_current_state(&am, *observer);
+        }
+        Ok(am)
+    }
+
+    /// Load an incremental save of a document.
+    ///
+    /// Unlike `load` this imports changes into an existing document. It will work with both the
+    /// output of [`Self::save`] and [`Self::save_incremental`]
+    ///
+    /// The return value is the number of ops which were applied, this is not useful and will
+    /// change in future.
+    pub fn load_incremental(&mut self, data: &[u8]) -> Result<usize, AutomergeError> {
+        self.load_incremental_with::<()>(data, None)
+    }
+
+    /// Like [`Self::load_incremental`] but with an observer
+    pub fn load_incremental_with<Obs: OpObserver>(
+        &mut self,
+        data: &[u8],
+        op_observer: Option<&mut Obs>,
+    ) -> Result<usize, AutomergeError> {
+        if self.is_empty() {
+            let mut doc =
+                Self::load_with::<()>(data, OnPartialLoad::Ignore, VerificationMode::Check, None)?;
+            doc = doc
+                .with_encoding(self.text_encoding)
+                .with_actor(self.actor_id());
+            if let Some(obs) = op_observer {
+                current_state::observe_current_state(&doc, obs);
+            }
+            *self = doc;
+            return Ok(self.ops.len());
+        }
+        let changes = match load::load_changes(storage::parse::Input::new(data)) {
+            load::LoadedChanges::Complete(c) => c,
+            load::LoadedChanges::Partial { error, loaded, .. } => {
+                tracing::warn!(successful_chunks=loaded.len(), err=?error, "partial load");
+                loaded
+            }
+        };
+        let start = self.ops.len();
+        self.apply_changes_with(changes, op_observer)?;
+        let delta = self.ops.len() - start;
+        Ok(delta)
+    }
+
+    fn duplicate_seq(&self, change: &Change) -> bool {
+        let mut dup = false;
+        if let Some(actor_index) = self.ops.m.actors.lookup(change.actor_id()) {
+            if let Some(s) = self.states.get(&actor_index) {
+                dup = s.len() >= change.seq() as usize;
+            }
+        }
+        dup
+    }
+
+    /// Apply changes to this document.
+    ///
+    /// This is idemptotent in the sense that if a change has already been applied it will be
+    /// ignored.
+    pub fn apply_changes(
+        &mut self,
+        changes: impl IntoIterator<Item = Change>,
+    ) -> Result<(), AutomergeError> {
+        self.apply_changes_with::<_, ()>(changes, None)
+    }
+
+    /// Like [`Self::apply_changes`] but with an observer
+    pub fn apply_changes_with<I: IntoIterator<Item = Change>, Obs: OpObserver>(
+        &mut self,
+        changes: I,
+        mut op_observer: Option<&mut Obs>,
+    ) -> Result<(), AutomergeError> {
+        // Record this so we can avoid observing each individual change and instead just observe
+        // the final state after all the changes have been applied. We can only do this for an
+        // empty document right now, once we have logic to produce the diffs between arbitrary
+        // states of the OpSet we can make this cleaner.
+        let empty_at_start = self.is_empty();
+        for c in changes {
+            if !self.history_index.contains_key(&c.hash()) {
+                if self.duplicate_seq(&c) {
+                    return Err(AutomergeError::DuplicateSeqNumber(
+                        c.seq(),
+                        c.actor_id().clone(),
+                    ));
+                }
+                if self.is_causally_ready(&c) {
+                    if empty_at_start {
+                        self.apply_change::<()>(c, &mut None);
+                    } else {
+                        self.apply_change(c, &mut op_observer);
+                    }
+                } else {
+                    self.queue.push(c);
+                }
+            }
+        }
+        while let Some(c) = self.pop_next_causally_ready_change() {
+            if !self.history_index.contains_key(&c.hash()) {
+                if empty_at_start {
+                    self.apply_change::<()>(c, &mut None);
+                } else {
+                    self.apply_change(c, &mut op_observer);
+                }
+            }
+        }
+        if empty_at_start {
+            if let Some(observer) = &mut op_observer {
+                current_state::observe_current_state(self, *observer);
+            }
+        }
+        Ok(())
+    }
+
+    fn apply_change<Obs: OpObserver>(&mut self, change: Change, observer: &mut Option<&mut Obs>) {
+        let ops = self.import_ops(&change);
+        self.update_history(change, ops.len());
+        if let Some(observer) = observer {
+            for (obj, op) in ops {
+                self.insert_op_with_observer(&obj, op, *observer);
+            }
+        } else {
+            for (obj, op) in ops {
+                self.insert_op(&obj, op);
+            }
+        }
+    }
+
+    fn is_causally_ready(&self, change: &Change) -> bool {
+        change
+            .deps()
+            .iter()
+            .all(|d| self.history_index.contains_key(d))
+    }
+
+    fn pop_next_causally_ready_change(&mut self) -> Option<Change> {
+        let mut index = 0;
+        while index < self.queue.len() {
+            if self.is_causally_ready(&self.queue[index]) {
+                return Some(self.queue.swap_remove(index));
+            }
+            index += 1;
+        }
+        None
+    }
+
+    fn import_ops(&mut self, change: &Change) -> Vec<(ObjId, Op)> {
+        let actor = self.ops.m.actors.cache(change.actor_id().clone());
+        let mut actors = Vec::with_capacity(change.other_actor_ids().len() + 1);
+        actors.push(actor);
+        actors.extend(
+            change
+                .other_actor_ids()
+                .iter()
+                .map(|a| self.ops.m.actors.cache(a.clone()))
+                .collect::<Vec<_>>(),
+        );
+        change
+            .iter_ops()
+            .enumerate()
+            .map(|(i, c)| {
+                let id = OpId::new(change.start_op().get() + i as u64, actor);
+                let key = match &c.key {
+                    EncodedKey::Prop(n) => Key::Map(self.ops.m.props.cache(n.to_string())),
+                    EncodedKey::Elem(e) if e.is_head() => Key::Seq(ElemId::head()),
+                    EncodedKey::Elem(ElemId(o)) => {
+                        Key::Seq(ElemId(OpId::new(o.counter(), actors[o.actor()])))
+                    }
+                };
+                let obj = if c.obj.is_root() {
+                    ObjId::root()
+                } else {
+                    ObjId(OpId::new(
+                        c.obj.opid().counter(),
+                        actors[c.obj.opid().actor()],
+                    ))
+                };
+                let pred = c
+                    .pred
+                    .iter()
+                    .map(|p| OpId::new(p.counter(), actors[p.actor()]));
+                let pred = self.ops.m.sorted_opids(pred);
+                (
+                    obj,
+                    Op {
+                        id,
+                        action: OpType::from_action_and_value(c.action, c.val),
+                        key,
+                        succ: Default::default(),
+                        pred,
+                        insert: c.insert,
+                    },
+                )
+            })
+            .collect()
+    }
+
+    /// Takes all the changes in `other` which are not in `self` and applies them
+    pub fn merge(&mut self, other: &mut Self) -> Result<Vec<ChangeHash>, AutomergeError> {
+        self.merge_with::<()>(other, None)
+    }
+
+    /// Takes all the changes in `other` which are not in `self` and applies them
+    pub fn merge_with<Obs: OpObserver>(
+        &mut self,
+        other: &mut Self,
+        op_observer: Option<&mut Obs>,
+    ) -> Result<Vec<ChangeHash>, AutomergeError> {
+        // TODO: Make this fallible and figure out how to do this transactionally
+        let changes = self
+            .get_changes_added(other)
+            .into_iter()
+            .cloned()
+            .collect::<Vec<_>>();
+        tracing::trace!(changes=?changes.iter().map(|c| c.hash()).collect::<Vec<_>>(), "merging new changes");
+        self.apply_changes_with(changes, op_observer)?;
+        Ok(self.get_heads())
+    }
+
+    /// Save the entirety of this document in a compact form.
+    ///
+    /// This takes a mutable reference to self because it saves the heads of the last save so that
+    /// `save_incremental` can be used to produce only the changes since the last `save`. This API
+    /// will be changing in future.
+    pub fn save(&mut self) -> Vec<u8> {
+        let heads = self.get_heads();
+        let c = self.history.iter();
+        let bytes = crate::storage::save::save_document(
+            c,
+            self.ops.iter().map(|(objid, _, op)| (objid, op)),
+            &self.ops.m.actors,
+            &self.ops.m.props,
+            &heads,
+            None,
+        );
+        self.saved = self.get_heads();
+        bytes
+    }
+
+    /// Save this document, but don't run it through DEFLATE afterwards
+    pub fn save_nocompress(&mut self) -> Vec<u8> {
+        let heads = self.get_heads();
+        let c = self.history.iter();
+        let bytes = crate::storage::save::save_document(
+            c,
+            self.ops.iter().map(|(objid, _, op)| (objid, op)),
+            &self.ops.m.actors,
+            &self.ops.m.props,
+            &heads,
+            Some(CompressConfig::None),
+        );
+        self.saved = self.get_heads();
+        bytes
+    }
+
+    /// Save the changes since the last call to [Self::save`]
+    ///
+    /// The output of this will not be a compressed document format, but a series of individual
+    /// changes. This is useful if you know you have only made a small change since the last `save`
+    /// and you want to immediately send it somewhere (e.g. you've inserted a single character in a
+    /// text object).
+    pub fn save_incremental(&mut self) -> Vec<u8> {
+        let changes = self
+            .get_changes(self.saved.as_slice())
+            .expect("Should only be getting changes using previously saved heads");
+        let mut bytes = vec![];
+        for c in changes {
+            bytes.extend(c.raw_bytes());
+        }
+        if !bytes.is_empty() {
+            self.saved = self.get_heads()
+        }
+        bytes
+    }
+
+    /// Filter the changes down to those that are not transitive dependencies of the heads.
+    ///
+    /// Thus a graph with these heads has not seen the remaining changes.
+    pub(crate) fn filter_changes(
+        &self,
+        heads: &[ChangeHash],
+        changes: &mut BTreeSet<ChangeHash>,
+    ) -> Result<(), AutomergeError> {
+        let heads = heads
+            .iter()
+            .filter(|hash| self.history_index.contains_key(hash))
+            .copied()
+            .collect::<Vec<_>>();
+
+        self.change_graph.remove_ancestors(changes, &heads);
+
+        Ok(())
+    }
+
+    /// Get the changes since `have_deps` in this document using a clock internally.
+    fn get_changes_clock(&self, have_deps: &[ChangeHash]) -> Result<Vec<&Change>, AutomergeError> {
+        // get the clock for the given deps
+        let clock = self.clock_at(have_deps);
+
+        // get the documents current clock
+
+        let mut change_indexes: Vec<usize> = Vec::new();
+        // walk the state from the given deps clock and add them into the vec
+        for (actor_index, actor_changes) in &self.states {
+            if let Some(clock_data) = clock.get_for_actor(actor_index) {
+                // find the change in this actors sequence of changes that corresponds to the max_op
+                // recorded for them in the clock
+                change_indexes.extend(&actor_changes[clock_data.seq as usize..]);
+            } else {
+                change_indexes.extend(&actor_changes[..]);
+            }
+        }
+
+        // ensure the changes are still in sorted order
+        change_indexes.sort_unstable();
+
+        Ok(change_indexes
+            .into_iter()
+            .map(|i| &self.history[i])
+            .collect())
+    }
+
+    /// Get the last change this actor made to the document.
+    pub fn get_last_local_change(&self) -> Option<&Change> {
+        return self
+            .history
+            .iter()
+            .rev()
+            .find(|c| c.actor_id() == self.get_actor());
+    }
+
+    fn clock_at(&self, heads: &[ChangeHash]) -> Clock {
+        self.change_graph.clock_for_heads(heads)
+    }
+
+    fn get_hash(&self, actor: usize, seq: u64) -> Result<ChangeHash, AutomergeError> {
+        self.states
+            .get(&actor)
+            .and_then(|v| v.get(seq as usize - 1))
+            .and_then(|&i| self.history.get(i))
+            .map(|c| c.hash())
+            .ok_or(AutomergeError::InvalidSeq(seq))
+    }
+
+    pub(crate) fn update_history(&mut self, change: Change, num_ops: usize) -> usize {
+        self.max_op = std::cmp::max(self.max_op, change.start_op().get() + num_ops as u64 - 1);
+
+        self.update_deps(&change);
+
+        let history_index = self.history.len();
+
+        let actor_index = self.ops.m.actors.cache(change.actor_id().clone());
+        self.states
+            .entry(actor_index)
+            .or_default()
+            .push(history_index);
+
+        self.history_index.insert(change.hash(), history_index);
+        self.change_graph
+            .add_change(&change, actor_index)
+            .expect("Change's deps should already be in the document");
+
+        self.history.push(change);
+
+        history_index
+    }
+
+    fn update_deps(&mut self, change: &Change) {
+        for d in change.deps() {
+            self.deps.remove(d);
+        }
+        self.deps.insert(change.hash());
+    }
+
+    #[doc(hidden)]
+    pub fn import(&self, s: &str) -> Result<(ExId, ObjType), AutomergeError> {
+        if s == "_root" {
+            Ok((ExId::Root, ObjType::Map))
+        } else {
+            let n = s
+                .find('@')
+                .ok_or_else(|| AutomergeError::InvalidObjIdFormat(s.to_owned()))?;
+            let counter = s[0..n]
+                .parse()
+                .map_err(|_| AutomergeError::InvalidObjIdFormat(s.to_owned()))?;
+            let actor = ActorId::from(hex::decode(&s[(n + 1)..]).unwrap());
+            let actor = self
+                .ops
+                .m
+                .actors
+                .lookup(&actor)
+                .ok_or_else(|| AutomergeError::InvalidObjId(s.to_owned()))?;
+            let obj = ExId::Id(counter, self.ops.m.actors.cache[actor].clone(), actor);
+            let obj_type = self
+                .object_type(&obj)
+                .map_err(|_| AutomergeError::InvalidObjId(s.to_owned()))?;
+            Ok((obj, obj_type))
+        }
+    }
+
+    pub(crate) fn to_string<E: Exportable>(&self, id: E) -> String {
+        match id.export() {
+            Export::Id(id) => format!("{}@{}", id.counter(), self.ops.m.actors[id.actor()]),
+            Export::Prop(index) => self.ops.m.props[index].clone(),
+            Export::Special(s) => s,
+        }
+    }
+
+    pub fn dump(&self) {
+        log!(
+            "  {:12} {:12} {:12} {:12} {:12} {:12}",
+            "id",
+            "obj",
+            "key",
+            "value",
+            "pred",
+            "succ"
+        );
+        for (obj, _, op) in self.ops.iter() {
+            let id = self.to_string(op.id);
+            let obj = self.to_string(obj);
+            let key = match op.key {
+                Key::Map(n) => self.ops.m.props[n].clone(),
+                Key::Seq(n) => self.to_string(n),
+            };
+            let value: String = match &op.action {
+                OpType::Put(value) => format!("{}", value),
+                OpType::Make(obj) => format!("make({})", obj),
+                OpType::Increment(obj) => format!("inc({})", obj),
+                OpType::Delete => format!("del{}", 0),
+            };
+            let pred: Vec<_> = op.pred.iter().map(|id| self.to_string(*id)).collect();
+            let succ: Vec<_> = op.succ.into_iter().map(|id| self.to_string(*id)).collect();
+            log!(
+                "  {:12} {:12} {:12} {:12} {:12?} {:12?}",
+                id,
+                obj,
+                key,
+                value,
+                pred,
+                succ
+            );
+        }
+    }
+
+    /// Return a graphviz representation of the opset.
+    ///
+    /// # Arguments
+    ///
+    /// * objects: An optional list of object IDs to display, if not specified all objects are
+    ///            visualised
+    #[cfg(feature = "optree-visualisation")]
+    pub fn visualise_optree(&self, objects: Option<Vec<ExId>>) -> String {
+        let objects = objects.map(|os| {
+            os.iter()
+                .filter_map(|o| self.exid_to_obj(o).ok())
+                .map(|o| o.0)
+                .collect()
+        });
+        self.ops.visualise(objects)
+    }
+
+    pub(crate) fn insert_op(&mut self, obj: &ObjId, op: Op) -> Op {
+        let q = self.ops.search(obj, query::SeekOp::new(&op));
+
+        let succ = q.succ;
+        let pos = q.pos;
+
+        self.ops.add_succ(obj, &succ, &op);
+
+        if !op.is_delete() {
+            self.ops.insert(pos, obj, op.clone());
+        }
+        op
+    }
+
+    pub(crate) fn insert_op_with_observer<Obs: OpObserver>(
+        &mut self,
+        obj: &ObjId,
+        op: Op,
+        observer: &mut Obs,
+    ) -> Op {
+        let obj_type = self.ops.object_type(obj);
+        let encoding = obj_type
+            .map(|o| ListEncoding::new(o, self.text_encoding))
+            .unwrap_or_default();
+        let q = self
+            .ops
+            .search(obj, query::SeekOpWithPatch::new(&op, encoding));
+
+        let query::SeekOpWithPatch {
+            pos,
+            succ,
+            seen,
+            last_width,
+            values,
+            had_value_before,
+            ..
+        } = q;
+
+        let ex_obj = self.ops.id_to_exid(obj.0);
+
+        let key = match op.key {
+            Key::Map(index) => self.ops.m.props[index].clone().into(),
+            Key::Seq(_) => seen.into(),
+        };
+
+        if op.insert {
+            if obj_type == Some(ObjType::Text) {
+                observer.splice_text(self, ex_obj, seen, op.to_str());
+            } else {
+                let value = (op.value(), self.ops.id_to_exid(op.id));
+                observer.insert(self, ex_obj, seen, value);
+            }
+        } else if op.is_delete() {
+            if let Some(winner) = &values.last() {
+                let value = (winner.value(), self.ops.id_to_exid(winner.id));
+                let conflict = values.len() > 1;
+                observer.expose(self, ex_obj, key, value, conflict);
+            } else if had_value_before {
+                match key {
+                    Prop::Map(k) => observer.delete_map(self, ex_obj, &k),
+                    Prop::Seq(index) => observer.delete_seq(self, ex_obj, index, last_width),
+                }
+            }
+        } else if let Some(value) = op.get_increment_value() {
+            // only observe this increment if the counter is visible, i.e. the counter's
+            // create op is in the values
+            //if values.iter().any(|value| op.pred.contains(&value.id)) {
+            if values
+                .last()
+                .map(|value| op.pred.contains(&value.id))
+                .unwrap_or_default()
+            {
+                // we have observed the value
+                observer.increment(self, ex_obj, key, (value, self.ops.id_to_exid(op.id)));
+            }
+        } else {
+            let just_conflict = values
+                .last()
+                .map(|value| self.ops.m.lamport_cmp(op.id, value.id) != Ordering::Greater)
+                .unwrap_or(false);
+            let value = (op.value(), self.ops.id_to_exid(op.id));
+            if op.is_list_op() && !had_value_before {
+                observer.insert(self, ex_obj, seen, value);
+            } else if just_conflict {
+                observer.flag_conflict(self, ex_obj, key);
+            } else {
+                let conflict = !values.is_empty();
+                observer.put(self, ex_obj, key, value, conflict);
+            }
+        }
+
+        self.ops.add_succ(obj, &succ, &op);
+
+        if !op.is_delete() {
+            self.ops.insert(pos, obj, op.clone());
+        }
+
+        op
+    }
+
+    /// Get the heads of this document.
+    pub fn get_heads(&self) -> Vec<ChangeHash> {
+        let mut deps: Vec<_> = self.deps.iter().copied().collect();
+        deps.sort_unstable();
+        deps
+    }
+
+    pub fn get_changes(&self, have_deps: &[ChangeHash]) -> Result<Vec<&Change>, AutomergeError> {
+        self.get_changes_clock(have_deps)
+    }
+
+    /// Get changes in `other` that are not in `self
+    pub fn get_changes_added<'a>(&self, other: &'a Self) -> Vec<&'a Change> {
+        // Depth-first traversal from the heads through the dependency graph,
+        // until we reach a change that is already present in other
+        let mut stack: Vec<_> = other.get_heads();
+        tracing::trace!(their_heads=?stack, "finding changes to merge");
+        let mut seen_hashes = HashSet::new();
+        let mut added_change_hashes = Vec::new();
+        while let Some(hash) = stack.pop() {
+            if !seen_hashes.contains(&hash) && self.get_change_by_hash(&hash).is_none() {
+                seen_hashes.insert(hash);
+                added_change_hashes.push(hash);
+                if let Some(change) = other.get_change_by_hash(&hash) {
+                    stack.extend(change.deps());
+                }
+            }
+        }
+        // Return those changes in the reverse of the order in which the depth-first search
+        // found them. This is not necessarily a topological sort, but should usually be close.
+        added_change_hashes.reverse();
+        added_change_hashes
+            .into_iter()
+            .filter_map(|h| other.get_change_by_hash(&h))
+            .collect()
+    }
+}
+
+impl ReadDoc for Automerge {
+    fn parents<O: AsRef<ExId>>(&self, obj: O) -> Result<Parents<'_>, AutomergeError> {
+        let (obj_id, _) = self.exid_to_obj(obj.as_ref())?;
+        Ok(self.ops.parents(obj_id))
+    }
+
+    fn path_to_object<O: AsRef<ExId>>(&self, obj: O) -> Result<Vec<(ExId, Prop)>, AutomergeError> {
+        Ok(self.parents(obj.as_ref().clone())?.path())
+    }
+
+    fn keys<O: AsRef<ExId>>(&self, obj: O) -> Keys<'_, '_> {
+        if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) {
+            let iter_keys = self.ops.keys(obj);
+            Keys::new(self, iter_keys)
+        } else {
+            Keys::new(self, None)
+        }
+    }
+
+    fn keys_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_> {
+        if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) {
+            let clock = self.clock_at(heads);
+            return KeysAt::new(self, self.ops.keys_at(obj, clock));
+        }
+        KeysAt::new(self, None)
+    }
+
+    fn map_range<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> MapRange<'_, R> {
+        if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) {
+            MapRange::new(self, self.ops.map_range(obj, range))
+        } else {
+            MapRange::new(self, None)
+        }
+    }
+
+    fn map_range_at<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> MapRangeAt<'_, R> {
+        if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) {
+            let clock = self.clock_at(heads);
+            let iter_range = self.ops.map_range_at(obj, range, clock);
+            return MapRangeAt::new(self, iter_range);
+        }
+        MapRangeAt::new(self, None)
+    }
+
+    fn list_range<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> ListRange<'_, R> {
+        if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) {
+            ListRange::new(self, self.ops.list_range(obj, range))
+        } else {
+            ListRange::new(self, None)
+        }
+    }
+
+    fn list_range_at<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> ListRangeAt<'_, R> {
+        if let Ok((obj, _)) = self.exid_to_obj(obj.as_ref()) {
+            let clock = self.clock_at(heads);
+            let iter_range = self.ops.list_range_at(obj, range, clock);
+            return ListRangeAt::new(self, iter_range);
+        }
+        ListRangeAt::new(self, None)
+    }
+
+    fn values<O: AsRef<ExId>>(&self, obj: O) -> Values<'_> {
+        if let Ok((obj, obj_type)) = self.exid_to_obj(obj.as_ref()) {
+            if obj_type.is_sequence() {
+                Values::new(self, self.ops.list_range(obj, ..))
+            } else {
+                Values::new(self, self.ops.map_range(obj, ..))
+            }
+        } else {
+            Values::empty(self)
+        }
+    }
+
+    fn values_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_> {
+        if let Ok((obj, obj_type)) = self.exid_to_obj(obj.as_ref()) {
+            let clock = self.clock_at(heads);
+            match obj_type {
+                ObjType::Map | ObjType::Table => {
+                    let iter_range = self.ops.map_range_at(obj, .., clock);
+                    Values::new(self, iter_range)
+                }
+                ObjType::List | ObjType::Text => {
+                    let iter_range = self.ops.list_range_at(obj, .., clock);
+                    Values::new(self, iter_range)
+                }
+            }
+        } else {
+            Values::empty(self)
+        }
+    }
+
+    fn length<O: AsRef<ExId>>(&self, obj: O) -> usize {
+        if let Ok((inner_obj, obj_type)) = self.exid_to_obj(obj.as_ref()) {
+            if obj_type == ObjType::Map || obj_type == ObjType::Table {
+                self.keys(obj).count()
+            } else {
+                let encoding = ListEncoding::new(obj_type, self.text_encoding);
+                self.ops.search(&inner_obj, query::Len::new(encoding)).len
+            }
+        } else {
+            0
+        }
+    }
+
+    fn length_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> usize {
+        if let Ok((inner_obj, obj_type)) = self.exid_to_obj(obj.as_ref()) {
+            let clock = self.clock_at(heads);
+            if obj_type == ObjType::Map || obj_type == ObjType::Table {
+                self.keys_at(obj, heads).count()
+            } else {
+                let encoding = ListEncoding::new(obj_type, self.text_encoding);
+                self.ops
+                    .search(&inner_obj, query::LenAt::new(clock, encoding))
+                    .len
+            }
+        } else {
+            0
+        }
+    }
+
+    fn object_type<O: AsRef<ExId>>(&self, obj: O) -> Result<ObjType, AutomergeError> {
+        let (_, obj_type) = self.exid_to_obj(obj.as_ref())?;
+        Ok(obj_type)
+    }
+
+    fn text<O: AsRef<ExId>>(&self, obj: O) -> Result<String, AutomergeError> {
+        let obj = self.exid_to_obj(obj.as_ref())?.0;
+        let query = self.ops.search(&obj, query::ListVals::new());
+        let mut buffer = String::new();
+        for q in &query.ops {
+            buffer.push_str(q.to_str());
+        }
+        Ok(buffer)
+    }
+
+    fn text_at<O: AsRef<ExId>>(
+        &self,
+        obj: O,
+        heads: &[ChangeHash],
+    ) -> Result<String, AutomergeError> {
+        let obj = self.exid_to_obj(obj.as_ref())?.0;
+        let clock = self.clock_at(heads);
+        let query = self.ops.search(&obj, query::ListValsAt::new(clock));
+        let mut buffer = String::new();
+        for q in &query.ops {
+            if let OpType::Put(ScalarValue::Str(s)) = &q.action {
+                buffer.push_str(s);
+            } else {
+                buffer.push('\u{fffc}');
+            }
+        }
+        Ok(buffer)
+    }
+
+    fn get<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError> {
+        Ok(self.get_all(obj, prop.into())?.last().cloned())
+    }
+
+    fn get_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError> {
+        Ok(self.get_all_at(obj, prop, heads)?.last().cloned())
+    }
+
+    fn get_all<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError> {
+        let obj = self.exid_to_obj(obj.as_ref())?.0;
+        let mut result = match prop.into() {
+            Prop::Map(p) => {
+                let prop = self.ops.m.props.lookup(&p);
+                if let Some(p) = prop {
+                    self.ops
+                        .search(&obj, query::Prop::new(p))
+                        .ops
+                        .into_iter()
+                        .map(|o| (o.value(), self.id_to_exid(o.id)))
+                        .collect()
+                } else {
+                    vec![]
+                }
+            }
+            Prop::Seq(n) => {
+                let obj_type = self.ops.object_type(&obj);
+                let encoding = obj_type
+                    .map(|o| ListEncoding::new(o, self.text_encoding))
+                    .unwrap_or_default();
+                self.ops
+                    .search(&obj, query::Nth::new(n, encoding))
+                    .ops
+                    .into_iter()
+                    .map(|o| (o.value(), self.id_to_exid(o.id)))
+                    .collect()
+            }
+        };
+        result.sort_by(|a, b| b.1.cmp(&a.1));
+        Ok(result)
+    }
+
+    fn get_all_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError> {
+        let prop = prop.into();
+        let obj = self.exid_to_obj(obj.as_ref())?.0;
+        let clock = self.clock_at(heads);
+        let result = match prop {
+            Prop::Map(p) => {
+                let prop = self.ops.m.props.lookup(&p);
+                if let Some(p) = prop {
+                    self.ops
+                        .search(&obj, query::PropAt::new(p, clock))
+                        .ops
+                        .into_iter()
+                        .map(|o| (o.clone_value(), self.id_to_exid(o.id)))
+                        .collect()
+                } else {
+                    vec![]
+                }
+            }
+            Prop::Seq(n) => {
+                let obj_type = self.ops.object_type(&obj);
+                let encoding = obj_type
+                    .map(|o| ListEncoding::new(o, self.text_encoding))
+                    .unwrap_or_default();
+                self.ops
+                    .search(&obj, query::NthAt::new(n, clock, encoding))
+                    .ops
+                    .into_iter()
+                    .map(|o| (o.clone_value(), self.id_to_exid(o.id)))
+                    .collect()
+            }
+        };
+        Ok(result)
+    }
+
+    fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec<ChangeHash> {
+        let in_queue: HashSet<_> = self.queue.iter().map(|change| change.hash()).collect();
+        let mut missing = HashSet::new();
+
+        for head in self.queue.iter().flat_map(|change| change.deps()) {
+            if !self.history_index.contains_key(head) {
+                missing.insert(head);
+            }
+        }
+
+        for head in heads {
+            if !self.history_index.contains_key(head) {
+                missing.insert(head);
+            }
+        }
+
+        let mut missing = missing
+            .into_iter()
+            .filter(|hash| !in_queue.contains(hash))
+            .copied()
+            .collect::<Vec<_>>();
+        missing.sort();
+        missing
+    }
+
+    fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&Change> {
+        self.history_index
+            .get(hash)
+            .and_then(|index| self.history.get(*index))
+    }
+}
+
+impl Default for Automerge {
+    fn default() -> Self {
+        Self::new()
+    }
+}
+
+#[derive(Serialize, Debug, Clone, PartialEq)]
+pub(crate) struct SpanInfo {
+    pub(crate) id: ExId,
+    pub(crate) time: i64,
+    pub(crate) start: usize,
+    pub(crate) end: usize,
+    #[serde(rename = "type")]
+    pub(crate) span_type: String,
+    pub(crate) value: ScalarValue,
+}
+
+
\ No newline at end of file diff --git a/src/automerge/automerge/current_state.rs.html b/src/automerge/automerge/current_state.rs.html new file mode 100644 index 00000000..1692d5ad --- /dev/null +++ b/src/automerge/automerge/current_state.rs.html @@ -0,0 +1,1833 @@ +current_state.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+
use std::{borrow::Cow, collections::HashSet, iter::Peekable};
+
+use itertools::Itertools;
+
+use crate::{
+    types::{ElemId, Key, ListEncoding, ObjId, Op, OpId},
+    ObjType, OpObserver, OpType, ScalarValue, Value,
+};
+
+/// Traverse the "current" state of the document, notifying `observer`
+///
+/// The "current" state of the document is the set of visible operations. This function will
+/// traverse that set of operations and call the corresponding methods on the `observer` as it
+/// encounters values. The `observer` methods will be called in the order in which they appear in
+/// the document. That is to say that the observer will be notified of parent objects before the
+/// objects they contain and elements of a sequence will be notified in the order they occur.
+///
+/// Due to only notifying of visible operations the observer will only be called with `put`,
+/// `insert`, and `splice`, operations.
+pub(super) fn observe_current_state<O: OpObserver>(doc: &crate::Automerge, observer: &mut O) {
+    // The OpSet already exposes operations in the order they appear in the document.
+    // `OpSet::iter_objs` iterates over the objects in causal order, this means that parent objects
+    // will always appear before their children. Furthermore, the operations within each object are
+    // ordered by key (which means by their position in a sequence for sequences).
+    //
+    // Effectively then we iterate over each object, then we group the operations in the object by
+    // key and for each key find the visible operations for that key. Then we notify the observer
+    // for each of those visible operations.
+    let mut visible_objs = HashSet::new();
+    visible_objs.insert(ObjId::root());
+    for (obj, typ, ops) in doc.ops().iter_objs() {
+        if !visible_objs.contains(obj) {
+            continue;
+        }
+        let ops_by_key = ops.group_by(|o| o.key);
+        let actions = ops_by_key
+            .into_iter()
+            .flat_map(|(key, key_ops)| key_actions(key, key_ops));
+        if typ == ObjType::Text && !observer.text_as_seq() {
+            track_new_objs_and_notify(
+                &mut visible_objs,
+                doc,
+                obj,
+                typ,
+                observer,
+                text_actions(actions),
+            )
+        } else if typ == ObjType::List {
+            track_new_objs_and_notify(
+                &mut visible_objs,
+                doc,
+                obj,
+                typ,
+                observer,
+                list_actions(actions),
+            )
+        } else {
+            track_new_objs_and_notify(&mut visible_objs, doc, obj, typ, observer, actions)
+        }
+    }
+}
+
+fn track_new_objs_and_notify<N: Action, I: Iterator<Item = N>, O: OpObserver>(
+    visible_objs: &mut HashSet<ObjId>,
+    doc: &crate::Automerge,
+    obj: &ObjId,
+    typ: ObjType,
+    observer: &mut O,
+    actions: I,
+) {
+    let exid = doc.id_to_exid(obj.0);
+    for action in actions {
+        if let Some(obj) = action.made_object() {
+            visible_objs.insert(obj);
+        }
+        action.notify_observer(doc, &exid, obj, typ, observer);
+    }
+}
+
+trait Action {
+    /// Notify an observer of whatever this action does
+    fn notify_observer<O: OpObserver>(
+        self,
+        doc: &crate::Automerge,
+        exid: &crate::ObjId,
+        obj: &ObjId,
+        typ: ObjType,
+        observer: &mut O,
+    );
+
+    /// If this action created an object, return the ID of that object
+    fn made_object(&self) -> Option<ObjId>;
+}
+
+fn key_actions<'a, I: Iterator<Item = &'a Op>>(
+    key: Key,
+    key_ops: I,
+) -> impl Iterator<Item = SimpleAction<'a>> {
+    #[derive(Clone)]
+    enum CurrentOp<'a> {
+        Put {
+            value: Value<'a>,
+            id: OpId,
+            conflicted: bool,
+        },
+        Insert(Value<'a>, OpId),
+    }
+    let current_ops = key_ops
+        .filter(|o| o.visible())
+        .filter_map(|o| match o.action {
+            OpType::Make(obj_type) => {
+                let value = Value::Object(obj_type);
+                if o.insert {
+                    Some(CurrentOp::Insert(value, o.id))
+                } else {
+                    Some(CurrentOp::Put {
+                        value,
+                        id: o.id,
+                        conflicted: false,
+                    })
+                }
+            }
+            OpType::Put(ref value) => {
+                let value = Value::Scalar(Cow::Borrowed(value));
+                if o.insert {
+                    Some(CurrentOp::Insert(value, o.id))
+                } else {
+                    Some(CurrentOp::Put {
+                        value,
+                        id: o.id,
+                        conflicted: false,
+                    })
+                }
+            }
+            _ => None,
+        });
+    current_ops
+        .coalesce(|previous, current| match (previous, current) {
+            (CurrentOp::Put { .. }, CurrentOp::Put { value, id, .. }) => Ok(CurrentOp::Put {
+                value,
+                id,
+                conflicted: true,
+            }),
+            (previous, current) => Err((previous, current)),
+        })
+        .map(move |op| match op {
+            CurrentOp::Put {
+                value,
+                id,
+                conflicted,
+            } => SimpleAction::Put {
+                prop: key,
+                tagged_value: (value, id),
+                conflict: conflicted,
+            },
+            CurrentOp::Insert(val, id) => SimpleAction::Insert {
+                elem_id: ElemId(id),
+                tagged_value: (val, id),
+            },
+        })
+}
+
+/// Either a "put" or "insert" action. i.e. not splicing for text values
+enum SimpleAction<'a> {
+    Put {
+        prop: Key,
+        tagged_value: (Value<'a>, OpId),
+        conflict: bool,
+    },
+    Insert {
+        elem_id: ElemId,
+        tagged_value: (Value<'a>, OpId),
+    },
+}
+
+impl<'a> Action for SimpleAction<'a> {
+    fn notify_observer<O: OpObserver>(
+        self,
+        doc: &crate::Automerge,
+        exid: &crate::ObjId,
+        obj: &ObjId,
+        typ: ObjType,
+        observer: &mut O,
+    ) {
+        let encoding = match typ {
+            ObjType::Text => ListEncoding::Text(doc.text_encoding()),
+            _ => ListEncoding::List,
+        };
+        match self {
+            Self::Put {
+                prop,
+                tagged_value,
+                conflict,
+            } => {
+                let tagged_value = (tagged_value.0, doc.id_to_exid(tagged_value.1));
+                let prop = doc.ops().export_key(*obj, prop, encoding).unwrap();
+                observer.put(doc, exid.clone(), prop, tagged_value, conflict);
+            }
+            Self::Insert {
+                elem_id,
+                tagged_value: (value, opid),
+            } => {
+                let index = doc
+                    .ops()
+                    .search(obj, crate::query::ElemIdPos::new(elem_id, encoding))
+                    .index()
+                    .unwrap();
+                let tagged_value = (value, doc.id_to_exid(opid));
+                observer.insert(doc, doc.id_to_exid(obj.0), index, tagged_value);
+            }
+        }
+    }
+
+    fn made_object(&self) -> Option<ObjId> {
+        match self {
+            Self::Put {
+                tagged_value: (Value::Object(_), id),
+                ..
+            } => Some((*id).into()),
+            Self::Insert {
+                tagged_value: (Value::Object(_), id),
+                ..
+            } => Some((*id).into()),
+            _ => None,
+        }
+    }
+}
+
+/// An `Action` which splices for text values
+enum TextAction<'a> {
+    Action(SimpleAction<'a>),
+    Splice { start: ElemId, chars: String },
+}
+
+impl<'a> Action for TextAction<'a> {
+    fn notify_observer<O: OpObserver>(
+        self,
+        doc: &crate::Automerge,
+        exid: &crate::ObjId,
+        obj: &ObjId,
+        typ: ObjType,
+        observer: &mut O,
+    ) {
+        match self {
+            Self::Action(action) => action.notify_observer(doc, exid, obj, typ, observer),
+            Self::Splice { start, chars } => {
+                let index = doc
+                    .ops()
+                    .search(
+                        obj,
+                        crate::query::ElemIdPos::new(
+                            start,
+                            ListEncoding::Text(doc.text_encoding()),
+                        ),
+                    )
+                    .index()
+                    .unwrap();
+                observer.splice_text(doc, doc.id_to_exid(obj.0), index, chars.as_str());
+            }
+        }
+    }
+
+    fn made_object(&self) -> Option<ObjId> {
+        match self {
+            Self::Action(action) => action.made_object(),
+            _ => None,
+        }
+    }
+}
+
+fn list_actions<'a, I: Iterator<Item = SimpleAction<'a>>>(
+    actions: I,
+) -> impl Iterator<Item = SimpleAction<'a>> {
+    actions.map(|a| match a {
+        SimpleAction::Put {
+            prop: Key::Seq(elem_id),
+            tagged_value,
+            ..
+        } => SimpleAction::Insert {
+            elem_id,
+            tagged_value,
+        },
+        a => a,
+    })
+}
+
+/// Condense consecutive `SimpleAction::Insert` actions into one `TextAction::Splice`
+fn text_actions<'a, I>(actions: I) -> impl Iterator<Item = TextAction<'a>>
+where
+    I: Iterator<Item = SimpleAction<'a>>,
+{
+    TextActions {
+        ops: actions.peekable(),
+    }
+}
+
+struct TextActions<'a, I: Iterator<Item = SimpleAction<'a>>> {
+    ops: Peekable<I>,
+}
+
+impl<'a, I: Iterator<Item = SimpleAction<'a>>> Iterator for TextActions<'a, I> {
+    type Item = TextAction<'a>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        if let Some(SimpleAction::Insert { .. }) = self.ops.peek() {
+            let (start, value) = match self.ops.next() {
+                Some(SimpleAction::Insert {
+                    tagged_value: (value, opid),
+                    ..
+                }) => (opid, value),
+                _ => unreachable!(),
+            };
+            let mut chars = match value {
+                Value::Scalar(Cow::Borrowed(ScalarValue::Str(s))) => s.to_string(),
+                _ => "\u{fffc}".to_string(),
+            };
+            while let Some(SimpleAction::Insert { .. }) = self.ops.peek() {
+                if let Some(SimpleAction::Insert {
+                    tagged_value: (value, _),
+                    ..
+                }) = self.ops.next()
+                {
+                    match value {
+                        Value::Scalar(Cow::Borrowed(ScalarValue::Str(s))) => chars.push_str(s),
+                        _ => chars.push('\u{fffc}'),
+                    }
+                }
+            }
+            Some(TextAction::Splice {
+                start: ElemId(start),
+                chars,
+            })
+        } else {
+            self.ops.next().map(TextAction::Action)
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use std::{borrow::Cow, fs};
+
+    use crate::{transaction::Transactable, Automerge, ObjType, OpObserver, Prop, ReadDoc, Value};
+
+    // Observer ops often carry a "tagged value", which is a value and the OpID of the op which
+    // created that value. For a lot of values (i.e. any scalar value) we don't care about the
+    // opid. This type implements `PartialEq` for the `Untagged` variant by ignoring the tag, which
+    // allows us to express tests which don't care about the tag.
+    #[derive(Clone, Debug)]
+    enum ObservedValue {
+        Tagged(crate::Value<'static>, crate::ObjId),
+        Untagged(crate::Value<'static>),
+    }
+
+    impl<'a> From<(Value<'a>, crate::ObjId)> for ObservedValue {
+        fn from(value: (Value<'a>, crate::ObjId)) -> Self {
+            Self::Tagged(value.0.into_owned(), value.1)
+        }
+    }
+
+    impl PartialEq<ObservedValue> for ObservedValue {
+        fn eq(&self, other: &ObservedValue) -> bool {
+            match (self, other) {
+                (Self::Tagged(v1, o1), Self::Tagged(v2, o2)) => equal_vals(v1, v2) && o1 == o2,
+                (Self::Untagged(v1), Self::Untagged(v2)) => equal_vals(v1, v2),
+                (Self::Tagged(v1, _), Self::Untagged(v2)) => equal_vals(v1, v2),
+                (Self::Untagged(v1), Self::Tagged(v2, _)) => equal_vals(v1, v2),
+            }
+        }
+    }
+
+    /// Consider counters equal if they have the same current value
+    fn equal_vals(v1: &Value<'_>, v2: &Value<'_>) -> bool {
+        match (v1, v2) {
+            (Value::Scalar(v1), Value::Scalar(v2)) => match (v1.as_ref(), v2.as_ref()) {
+                (crate::ScalarValue::Counter(c1), crate::ScalarValue::Counter(c2)) => {
+                    c1.current == c2.current
+                }
+                _ => v1 == v2,
+            },
+            _ => v1 == v2,
+        }
+    }
+
+    #[derive(Debug, Clone, PartialEq)]
+    enum ObserverCall {
+        Put {
+            obj: crate::ObjId,
+            prop: Prop,
+            value: ObservedValue,
+            conflict: bool,
+        },
+        Insert {
+            obj: crate::ObjId,
+            index: usize,
+            value: ObservedValue,
+        },
+        SpliceText {
+            obj: crate::ObjId,
+            index: usize,
+            chars: String,
+        },
+    }
+
+    // A Vec<ObserverCall> is pretty hard to look at in a test failure. This wrapper prints the
+    // calls out in a nice table so it's easier to see what's different
+    #[derive(Clone, PartialEq)]
+    struct Calls(Vec<ObserverCall>);
+
+    impl std::fmt::Debug for Calls {
+        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+            let mut table = prettytable::Table::new();
+            table.set_format(*prettytable::format::consts::FORMAT_NO_BORDER_LINE_SEPARATOR);
+            table.set_titles(prettytable::row![
+                "Op", "Object", "Property", "Value", "Conflict"
+            ]);
+            for call in &self.0 {
+                match call {
+                    ObserverCall::Put {
+                        obj,
+                        prop,
+                        value,
+                        conflict,
+                    } => {
+                        table.add_row(prettytable::row![
+                            "Put",
+                            format!("{}", obj),
+                            prop,
+                            match value {
+                                ObservedValue::Tagged(v, o) => format!("{} ({})", v, o),
+                                ObservedValue::Untagged(v) => format!("{}", v),
+                            },
+                            conflict
+                        ]);
+                    }
+                    ObserverCall::Insert { obj, index, value } => {
+                        table.add_row(prettytable::row![
+                            "Insert",
+                            format!("{}", obj),
+                            index,
+                            match value {
+                                ObservedValue::Tagged(v, o) => format!("{} ({})", v, o),
+                                ObservedValue::Untagged(v) => format!("{}", v),
+                            },
+                            ""
+                        ]);
+                    }
+                    ObserverCall::SpliceText { obj, index, chars } => {
+                        table.add_row(prettytable::row![
+                            "SpliceText",
+                            format!("{}", obj),
+                            index,
+                            chars,
+                            ""
+                        ]);
+                    }
+                }
+            }
+            let mut out = Vec::new();
+            table.print(&mut out).unwrap();
+            write!(f, "\n{}\n", String::from_utf8(out).unwrap())
+        }
+    }
+
+    struct ObserverStub {
+        ops: Vec<ObserverCall>,
+        text_as_seq: bool,
+    }
+
+    impl ObserverStub {
+        fn new() -> Self {
+            Self {
+                ops: Vec::new(),
+                text_as_seq: true,
+            }
+        }
+
+        fn new_text_v2() -> Self {
+            Self {
+                ops: Vec::new(),
+                text_as_seq: false,
+            }
+        }
+    }
+
+    impl OpObserver for ObserverStub {
+        fn insert<R: ReadDoc>(
+            &mut self,
+            _doc: &R,
+            objid: crate::ObjId,
+            index: usize,
+            tagged_value: (crate::Value<'_>, crate::ObjId),
+        ) {
+            self.ops.push(ObserverCall::Insert {
+                obj: objid,
+                index,
+                value: tagged_value.into(),
+            });
+        }
+
+        fn splice_text<R: ReadDoc>(
+            &mut self,
+            _doc: &R,
+            objid: crate::ObjId,
+            index: usize,
+            value: &str,
+        ) {
+            self.ops.push(ObserverCall::SpliceText {
+                obj: objid,
+                index,
+                chars: value.to_string(),
+            });
+        }
+
+        fn put<R: ReadDoc>(
+            &mut self,
+            _doc: &R,
+            objid: crate::ObjId,
+            prop: crate::Prop,
+            tagged_value: (crate::Value<'_>, crate::ObjId),
+            conflict: bool,
+        ) {
+            self.ops.push(ObserverCall::Put {
+                obj: objid,
+                prop,
+                value: tagged_value.into(),
+                conflict,
+            });
+        }
+
+        fn expose<R: ReadDoc>(
+            &mut self,
+            _doc: &R,
+            _objid: crate::ObjId,
+            _prop: crate::Prop,
+            _tagged_value: (crate::Value<'_>, crate::ObjId),
+            _conflict: bool,
+        ) {
+            panic!("expose not expected");
+        }
+
+        fn increment<R: ReadDoc>(
+            &mut self,
+            _doc: &R,
+            _objid: crate::ObjId,
+            _prop: crate::Prop,
+            _tagged_value: (i64, crate::ObjId),
+        ) {
+            panic!("increment not expected");
+        }
+
+        fn delete_map<R: ReadDoc>(&mut self, _doc: &R, _objid: crate::ObjId, _key: &str) {
+            panic!("delete not expected");
+        }
+
+        fn delete_seq<R: ReadDoc>(
+            &mut self,
+            _doc: &R,
+            _objid: crate::ObjId,
+            _index: usize,
+            _num: usize,
+        ) {
+            panic!("delete not expected");
+        }
+
+        fn text_as_seq(&self) -> bool {
+            self.text_as_seq
+        }
+    }
+
+    #[test]
+    fn basic_test() {
+        let mut doc = crate::AutoCommit::new();
+        doc.put(crate::ROOT, "key", "value").unwrap();
+        let map = doc.put_object(crate::ROOT, "map", ObjType::Map).unwrap();
+        doc.put(&map, "nested_key", "value").unwrap();
+        let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap();
+        doc.insert(&list, 0, "value").unwrap();
+        let text = doc.put_object(crate::ROOT, "text", ObjType::Text).unwrap();
+        doc.insert(&text, 0, "a").unwrap();
+
+        let mut obs = ObserverStub::new();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "key".into(),
+                    value: ObservedValue::Untagged("value".into()),
+                    conflict: false,
+                },
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "list".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "map".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::Map), map.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "text".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::Text), text.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Put {
+                    obj: map.clone(),
+                    prop: "nested_key".into(),
+                    value: ObservedValue::Untagged("value".into()),
+                    conflict: false,
+                },
+                ObserverCall::Insert {
+                    obj: list,
+                    index: 0,
+                    value: ObservedValue::Untagged("value".into()),
+                },
+                ObserverCall::Insert {
+                    obj: text,
+                    index: 0,
+                    value: ObservedValue::Untagged("a".into()),
+                },
+            ])
+        );
+    }
+
+    #[test]
+    fn test_deleted_ops_omitted() {
+        let mut doc = crate::AutoCommit::new();
+        doc.put(crate::ROOT, "key", "value").unwrap();
+        doc.delete(crate::ROOT, "key").unwrap();
+        let map = doc.put_object(crate::ROOT, "map", ObjType::Map).unwrap();
+        doc.put(&map, "nested_key", "value").unwrap();
+        doc.delete(&map, "nested_key").unwrap();
+        let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap();
+        doc.insert(&list, 0, "value").unwrap();
+        doc.delete(&list, 0).unwrap();
+        let text = doc.put_object(crate::ROOT, "text", ObjType::Text).unwrap();
+        doc.insert(&text, 0, "a").unwrap();
+        doc.delete(&text, 0).unwrap();
+
+        doc.put_object(crate::ROOT, "deleted_map", ObjType::Map)
+            .unwrap();
+        doc.delete(crate::ROOT, "deleted_map").unwrap();
+        doc.put_object(crate::ROOT, "deleted_list", ObjType::List)
+            .unwrap();
+        doc.delete(crate::ROOT, "deleted_list").unwrap();
+        doc.put_object(crate::ROOT, "deleted_text", ObjType::Text)
+            .unwrap();
+        doc.delete(crate::ROOT, "deleted_text").unwrap();
+
+        let mut obs = ObserverStub::new();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "list".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "map".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::Map), map.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "text".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::Text), text.clone()),
+                    conflict: false,
+                },
+            ])
+        );
+    }
+
+    #[test]
+    fn test_text_spliced() {
+        let mut doc = crate::AutoCommit::new();
+        let text = doc.put_object(crate::ROOT, "text", ObjType::Text).unwrap();
+        doc.insert(&text, 0, "a").unwrap();
+        doc.splice_text(&text, 1, 0, "bcdef").unwrap();
+        doc.splice_text(&text, 2, 2, "g").unwrap();
+
+        let mut obs = ObserverStub::new_text_v2();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "text".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::Text), text.clone()),
+                    conflict: false,
+                },
+                ObserverCall::SpliceText {
+                    obj: text,
+                    index: 0,
+                    chars: "abgef".to_string()
+                }
+            ])
+        );
+    }
+
+    #[test]
+    fn test_counters() {
+        let actor1 = crate::ActorId::from("aa".as_bytes());
+        let actor2 = crate::ActorId::from("bb".as_bytes());
+        let mut doc = crate::AutoCommit::new().with_actor(actor2);
+
+        let mut doc2 = doc.fork().with_actor(actor1);
+        doc2.put(crate::ROOT, "key", "someval").unwrap();
+
+        doc.put(crate::ROOT, "key", crate::ScalarValue::Counter(1.into()))
+            .unwrap();
+        doc.increment(crate::ROOT, "key", 2).unwrap();
+        doc.increment(crate::ROOT, "key", 3).unwrap();
+
+        doc.merge(&mut doc2).unwrap();
+
+        let mut obs = ObserverStub::new_text_v2();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![ObserverCall::Put {
+                obj: crate::ROOT,
+                prop: "key".into(),
+                value: ObservedValue::Untagged(Value::Scalar(Cow::Owned(
+                    crate::ScalarValue::Counter(6.into())
+                ))),
+                conflict: true,
+            },])
+        );
+    }
+
+    #[test]
+    fn test_multiple_list_insertions() {
+        let mut doc = crate::AutoCommit::new();
+
+        let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap();
+        doc.insert(&list, 0, 1).unwrap();
+        doc.insert(&list, 1, 2).unwrap();
+
+        let mut obs = ObserverStub::new_text_v2();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "list".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Insert {
+                    obj: list.clone(),
+                    index: 0,
+                    value: ObservedValue::Untagged(1.into()),
+                },
+                ObserverCall::Insert {
+                    obj: list,
+                    index: 1,
+                    value: ObservedValue::Untagged(2.into()),
+                },
+            ])
+        );
+    }
+
+    #[test]
+    fn test_concurrent_insertions_at_same_index() {
+        let mut doc = crate::AutoCommit::new().with_actor(crate::ActorId::from("aa".as_bytes()));
+
+        let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap();
+
+        let mut doc2 = doc.fork().with_actor(crate::ActorId::from("bb".as_bytes()));
+
+        doc.insert(&list, 0, 1).unwrap();
+        doc2.insert(&list, 0, 2).unwrap();
+        doc.merge(&mut doc2).unwrap();
+
+        let mut obs = ObserverStub::new_text_v2();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "list".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Insert {
+                    obj: list.clone(),
+                    index: 0,
+                    value: ObservedValue::Untagged(2.into()),
+                },
+                ObserverCall::Insert {
+                    obj: list,
+                    index: 1,
+                    value: ObservedValue::Untagged(1.into()),
+                },
+            ])
+        );
+    }
+
+    #[test]
+    fn test_insert_objects() {
+        let mut doc = crate::AutoCommit::new().with_actor(crate::ActorId::from("aa".as_bytes()));
+
+        let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap();
+
+        let map = doc.insert_object(&list, 0, ObjType::Map).unwrap();
+        doc.put(&map, "key", "value").unwrap();
+
+        let mut obs = ObserverStub::new_text_v2();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "list".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Insert {
+                    obj: list.clone(),
+                    index: 0,
+                    value: ObservedValue::Tagged(Value::Object(ObjType::Map), map.clone()),
+                },
+                ObserverCall::Put {
+                    obj: map,
+                    prop: "key".into(),
+                    value: ObservedValue::Untagged("value".into()),
+                    conflict: false
+                },
+            ])
+        );
+    }
+
+    #[test]
+    fn test_insert_and_update() {
+        let mut doc = crate::AutoCommit::new();
+
+        let list = doc.put_object(crate::ROOT, "list", ObjType::List).unwrap();
+
+        doc.insert(&list, 0, "one").unwrap();
+        doc.insert(&list, 1, "two").unwrap();
+        doc.put(&list, 0, "three").unwrap();
+        doc.put(&list, 1, "four").unwrap();
+
+        let mut obs = ObserverStub::new_text_v2();
+        super::observe_current_state(doc.document(), &mut obs);
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![
+                ObserverCall::Put {
+                    obj: crate::ROOT,
+                    prop: "list".into(),
+                    value: ObservedValue::Tagged(Value::Object(ObjType::List), list.clone()),
+                    conflict: false,
+                },
+                ObserverCall::Insert {
+                    obj: list.clone(),
+                    index: 0,
+                    value: ObservedValue::Untagged("three".into()),
+                },
+                ObserverCall::Insert {
+                    obj: list.clone(),
+                    index: 1,
+                    value: ObservedValue::Untagged("four".into()),
+                },
+            ])
+        );
+    }
+
+    #[test]
+    fn test_load_changes() {
+        fn fixture(name: &str) -> Vec<u8> {
+            fs::read("./tests/fixtures/".to_owned() + name).unwrap()
+        }
+
+        let mut obs = ObserverStub::new();
+        let _doc = Automerge::load_with(
+            &fixture("counter_value_is_ok.automerge"),
+            crate::OnPartialLoad::Error,
+            crate::storage::VerificationMode::Check,
+            Some(&mut obs),
+        );
+
+        assert_eq!(
+            Calls(obs.ops),
+            Calls(vec![ObserverCall::Put {
+                obj: crate::ROOT,
+                prop: "a".into(),
+                value: ObservedValue::Untagged(crate::ScalarValue::Counter(2000.into()).into()),
+                conflict: false,
+            },])
+        );
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/autoserde.rs.html b/src/automerge/autoserde.rs.html new file mode 100644 index 00000000..0b7fae80 --- /dev/null +++ b/src/automerge/autoserde.rs.html @@ -0,0 +1,251 @@ +autoserde.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+
use serde::ser::{SerializeMap, SerializeSeq};
+
+use crate::{ObjId, ObjType, ReadDoc, Value};
+
+/// A wrapper type which implements [`serde::Serialize`] for a [`ReadDoc`].
+///
+/// # Example
+///
+/// ```
+/// # fn main() -> Result<(), Box<dyn std::error::Error>> {
+/// use automerge::{AutoCommit, AutomergeError, Value, transaction::Transactable};
+/// let mut doc = AutoCommit::new();
+/// doc.put(automerge::ROOT, "key", "value")?;
+///
+/// let serialized = serde_json::to_string(&automerge::AutoSerde::from(&doc)).unwrap();
+///
+/// assert_eq!(serialized, r#"{"key":"value"}"#);
+/// # Ok(())
+/// # }
+/// ```
+#[derive(Debug)]
+pub struct AutoSerde<'a, R: crate::ReadDoc>(&'a R);
+
+impl<'a, R: ReadDoc> From<&'a R> for AutoSerde<'a, R> {
+    fn from(a: &'a R) -> Self {
+        AutoSerde(a)
+    }
+}
+
+impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerde<'a, R> {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: serde::Serializer,
+    {
+        AutoSerdeMap {
+            doc: self.0,
+            obj: ObjId::Root,
+        }
+        .serialize(serializer)
+    }
+}
+
+struct AutoSerdeMap<'a, R> {
+    doc: &'a R,
+    obj: ObjId,
+}
+
+impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerdeMap<'a, R> {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: serde::Serializer,
+    {
+        let mut map_ser = serializer.serialize_map(Some(self.doc.length(&ObjId::Root)))?;
+        for key in self.doc.keys(&self.obj) {
+            // SAFETY: This only errors if the object ID is unknown, but we construct this type
+            // with a known real object ID
+            let (val, obj) = self.doc.get(&self.obj, &key).unwrap().unwrap();
+            let serdeval = AutoSerdeVal {
+                doc: self.doc,
+                val,
+                obj,
+            };
+            map_ser.serialize_entry(&key, &serdeval)?;
+        }
+        map_ser.end()
+    }
+}
+
+struct AutoSerdeSeq<'a, R> {
+    doc: &'a R,
+    obj: ObjId,
+}
+
+impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerdeSeq<'a, R> {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: serde::Serializer,
+    {
+        let mut seq_ser = serializer.serialize_seq(None)?;
+        for i in 0..self.doc.length(&self.obj) {
+            // SAFETY: This only errors if the object ID is unknown, but we construct this type
+            // with a known real object ID
+            let (val, obj) = self.doc.get(&self.obj, i).unwrap().unwrap();
+            let serdeval = AutoSerdeVal {
+                doc: self.doc,
+                val,
+                obj,
+            };
+            seq_ser.serialize_element(&serdeval)?;
+        }
+        seq_ser.end()
+    }
+}
+
+struct AutoSerdeVal<'a, R> {
+    doc: &'a R,
+    val: Value<'a>,
+    obj: ObjId,
+}
+
+impl<'a, R: crate::ReadDoc> serde::Serialize for AutoSerdeVal<'a, R> {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: serde::Serializer,
+    {
+        match &self.val {
+            Value::Object(ObjType::Map | ObjType::Table) => {
+                let map = AutoSerdeMap {
+                    doc: self.doc,
+                    obj: self.obj.clone(),
+                };
+                map.serialize(serializer)
+            }
+            Value::Object(ObjType::List | ObjType::Text) => {
+                let seq = AutoSerdeSeq {
+                    doc: self.doc,
+                    obj: self.obj.clone(),
+                };
+                seq.serialize(serializer)
+            }
+            Value::Scalar(v) => v.serialize(serializer),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/change.rs.html b/src/automerge/change.rs.html new file mode 100644 index 00000000..53c3441c --- /dev/null +++ b/src/automerge/change.rs.html @@ -0,0 +1,807 @@ +change.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+
use std::{borrow::Cow, num::NonZeroU64};
+
+use crate::{
+    columnar::Key as StoredKey,
+    storage::{
+        change::{Unverified, Verified},
+        parse, Change as StoredChange, ChangeOp, Chunk, Compressed, ReadChangeOpError,
+    },
+    types::{ActorId, ChangeHash, ElemId},
+};
+
+#[derive(Clone, Debug, PartialEq)]
+pub struct Change {
+    stored: StoredChange<'static, Verified>,
+    compression: CompressionState,
+    len: usize,
+}
+
+impl Change {
+    pub(crate) fn new(stored: StoredChange<'static, Verified>) -> Self {
+        let len = stored.iter_ops().count();
+        Self {
+            stored,
+            len,
+            compression: CompressionState::NotCompressed,
+        }
+    }
+
+    pub(crate) fn new_from_unverified(
+        stored: StoredChange<'static, Unverified>,
+        compressed: Option<Compressed<'static>>,
+    ) -> Result<Self, ReadChangeOpError> {
+        let mut len = 0;
+        let stored = stored.verify_ops(|_| len += 1)?;
+        let compression = if let Some(c) = compressed {
+            CompressionState::Compressed(c)
+        } else {
+            CompressionState::NotCompressed
+        };
+        Ok(Self {
+            stored,
+            len,
+            compression,
+        })
+    }
+
+    pub fn actor_id(&self) -> &ActorId {
+        self.stored.actor()
+    }
+
+    pub fn other_actor_ids(&self) -> &[ActorId] {
+        self.stored.other_actors()
+    }
+
+    pub fn len(&self) -> usize {
+        self.len
+    }
+
+    pub fn is_empty(&self) -> bool {
+        self.len == 0
+    }
+
+    pub fn max_op(&self) -> u64 {
+        self.stored.start_op().get() + (self.len as u64) - 1
+    }
+
+    pub fn start_op(&self) -> NonZeroU64 {
+        self.stored.start_op()
+    }
+
+    pub fn message(&self) -> Option<&String> {
+        self.stored.message().as_ref()
+    }
+
+    pub fn deps(&self) -> &[ChangeHash] {
+        self.stored.dependencies()
+    }
+
+    pub fn hash(&self) -> ChangeHash {
+        self.stored.hash()
+    }
+
+    pub fn seq(&self) -> u64 {
+        self.stored.seq()
+    }
+
+    pub fn timestamp(&self) -> i64 {
+        self.stored.timestamp()
+    }
+
+    pub fn bytes(&mut self) -> Cow<'_, [u8]> {
+        if let CompressionState::NotCompressed = self.compression {
+            if let Some(compressed) = self.stored.compress() {
+                self.compression = CompressionState::Compressed(compressed);
+            } else {
+                self.compression = CompressionState::TooSmallToCompress;
+            }
+        };
+        match &self.compression {
+            // SAFETY: We just checked this case above
+            CompressionState::NotCompressed => unreachable!(),
+            CompressionState::TooSmallToCompress => Cow::Borrowed(self.stored.bytes()),
+            CompressionState::Compressed(c) => c.bytes(),
+        }
+    }
+
+    pub fn raw_bytes(&self) -> &[u8] {
+        self.stored.bytes()
+    }
+
+    pub(crate) fn iter_ops(&self) -> impl Iterator<Item = ChangeOp> + '_ {
+        self.stored.iter_ops()
+    }
+
+    pub fn extra_bytes(&self) -> &[u8] {
+        self.stored.extra_bytes()
+    }
+
+    // TODO replace all uses of this with TryFrom<&[u8]>
+    pub fn from_bytes(bytes: Vec<u8>) -> Result<Self, LoadError> {
+        Self::try_from(&bytes[..])
+    }
+
+    pub fn decode(&self) -> crate::ExpandedChange {
+        crate::ExpandedChange::from(self)
+    }
+}
+
+#[derive(Clone, Debug, PartialEq)]
+enum CompressionState {
+    /// We haven't tried to compress this change
+    NotCompressed,
+    /// We have compressed this change
+    Compressed(Compressed<'static>),
+    /// We tried to compress this change but it wasn't big enough to be worth it
+    TooSmallToCompress,
+}
+
+impl AsRef<StoredChange<'static, Verified>> for Change {
+    fn as_ref(&self) -> &StoredChange<'static, Verified> {
+        &self.stored
+    }
+}
+
+impl From<Change> for StoredChange<'static, Verified> {
+    fn from(c: Change) -> Self {
+        c.stored
+    }
+}
+
+#[derive(thiserror::Error, Debug)]
+pub enum LoadError {
+    #[error("unable to parse change: {0}")]
+    Parse(Box<dyn std::error::Error + Send + Sync + 'static>),
+    #[error("leftover data after parsing")]
+    LeftoverData,
+    #[error("wrong chunk type")]
+    WrongChunkType,
+}
+
+impl<'a> TryFrom<&'a [u8]> for Change {
+    type Error = LoadError;
+
+    fn try_from(value: &'a [u8]) -> Result<Self, Self::Error> {
+        let input = parse::Input::new(value);
+        let (remaining, chunk) = Chunk::parse(input).map_err(|e| LoadError::Parse(Box::new(e)))?;
+        if !remaining.is_empty() {
+            return Err(LoadError::LeftoverData);
+        }
+        match chunk {
+            Chunk::Change(c) => Self::new_from_unverified(c.into_owned(), None)
+                .map_err(|e| LoadError::Parse(Box::new(e))),
+            Chunk::CompressedChange(c, compressed) => {
+                Self::new_from_unverified(c.into_owned(), Some(compressed.into_owned()))
+                    .map_err(|e| LoadError::Parse(Box::new(e)))
+            }
+            _ => Err(LoadError::WrongChunkType),
+        }
+    }
+}
+
+impl<'a> TryFrom<StoredChange<'a, Unverified>> for Change {
+    type Error = ReadChangeOpError;
+
+    fn try_from(c: StoredChange<'a, Unverified>) -> Result<Self, Self::Error> {
+        Self::new_from_unverified(c.into_owned(), None)
+    }
+}
+
+impl From<crate::ExpandedChange> for Change {
+    fn from(e: crate::ExpandedChange) -> Self {
+        let stored = StoredChange::builder()
+            .with_actor(e.actor_id)
+            .with_extra_bytes(e.extra_bytes)
+            .with_seq(e.seq)
+            .with_dependencies(e.deps)
+            .with_timestamp(e.time)
+            .with_start_op(e.start_op)
+            .with_message(e.message)
+            .build(e.operations.iter());
+        match stored {
+            Ok(c) => Change::new(c),
+            Err(crate::storage::change::PredOutOfOrder) => {
+                // Should never happen because we use `SortedVec` in legacy::Op::pred
+                panic!("preds out of order");
+            }
+        }
+    }
+}
+
+mod convert_expanded {
+    use std::borrow::Cow;
+
+    use crate::{convert, legacy, storage::AsChangeOp, types::ActorId, ScalarValue};
+
+    impl<'a> AsChangeOp<'a> for &'a legacy::Op {
+        type ActorId = &'a ActorId;
+        type OpId = &'a legacy::OpId;
+        type PredIter = std::slice::Iter<'a, legacy::OpId>;
+
+        fn action(&self) -> u64 {
+            self.action.action_index()
+        }
+
+        fn insert(&self) -> bool {
+            self.insert
+        }
+
+        fn pred(&self) -> Self::PredIter {
+            self.pred.iter()
+        }
+
+        fn key(&self) -> convert::Key<'a, Self::OpId> {
+            match &self.key {
+                legacy::Key::Map(s) => convert::Key::Prop(Cow::Borrowed(s)),
+                legacy::Key::Seq(legacy::ElementId::Head) => {
+                    convert::Key::Elem(convert::ElemId::Head)
+                }
+                legacy::Key::Seq(legacy::ElementId::Id(o)) => {
+                    convert::Key::Elem(convert::ElemId::Op(o))
+                }
+            }
+        }
+
+        fn obj(&self) -> convert::ObjId<Self::OpId> {
+            match &self.obj {
+                legacy::ObjectId::Root => convert::ObjId::Root,
+                legacy::ObjectId::Id(o) => convert::ObjId::Op(o),
+            }
+        }
+
+        fn val(&self) -> Cow<'a, crate::ScalarValue> {
+            match self.primitive_value() {
+                Some(v) => Cow::Owned(v),
+                None => Cow::Owned(ScalarValue::Null),
+            }
+        }
+    }
+
+    impl<'a> convert::OpId<&'a ActorId> for &'a legacy::OpId {
+        fn counter(&self) -> u64 {
+            legacy::OpId::counter(self)
+        }
+
+        fn actor(&self) -> &'a ActorId {
+            &self.1
+        }
+    }
+}
+
+impl From<&Change> for crate::ExpandedChange {
+    fn from(c: &Change) -> Self {
+        let actors = std::iter::once(c.actor_id())
+            .chain(c.other_actor_ids().iter())
+            .cloned()
+            .enumerate()
+            .collect::<std::collections::HashMap<_, _>>();
+        let operations = c
+            .iter_ops()
+            .map(|o| crate::legacy::Op {
+                action: crate::types::OpType::from_action_and_value(o.action, o.val),
+                insert: o.insert,
+                key: match o.key {
+                    StoredKey::Elem(e) if e.is_head() => {
+                        crate::legacy::Key::Seq(crate::legacy::ElementId::Head)
+                    }
+                    StoredKey::Elem(ElemId(o)) => {
+                        crate::legacy::Key::Seq(crate::legacy::ElementId::Id(
+                            crate::legacy::OpId::new(o.counter(), actors.get(&o.actor()).unwrap()),
+                        ))
+                    }
+                    StoredKey::Prop(p) => crate::legacy::Key::Map(p),
+                },
+                obj: if o.obj.is_root() {
+                    crate::legacy::ObjectId::Root
+                } else {
+                    crate::legacy::ObjectId::Id(crate::legacy::OpId::new(
+                        o.obj.opid().counter(),
+                        actors.get(&o.obj.opid().actor()).unwrap(),
+                    ))
+                },
+                pred: o
+                    .pred
+                    .into_iter()
+                    .map(|p| crate::legacy::OpId::new(p.counter(), actors.get(&p.actor()).unwrap()))
+                    .collect(),
+            })
+            .collect::<Vec<_>>();
+        crate::ExpandedChange {
+            operations,
+            actor_id: actors.get(&0).unwrap().clone(),
+            hash: Some(c.hash()),
+            time: c.timestamp(),
+            deps: c.deps().to_vec(),
+            seq: c.seq(),
+            start_op: c.start_op(),
+            extra_bytes: c.extra_bytes().to_vec(),
+            message: c.message().cloned(),
+        }
+    }
+}
+
+#[cfg(test)]
+pub(crate) mod gen {
+    use super::Change;
+    use crate::{
+        op_tree::OpSetMetadata,
+        storage::{change::ChangeBuilder, convert::op_as_actor_id},
+        types::{
+            gen::{gen_hash, gen_op},
+            ObjId, Op, OpId,
+        },
+        ActorId,
+    };
+    use proptest::prelude::*;
+
+    fn gen_actor() -> impl Strategy<Value = ActorId> {
+        proptest::array::uniform32(proptest::bits::u8::ANY).prop_map(ActorId::from)
+    }
+
+    prop_compose! {
+        fn gen_actors()(this_actor in gen_actor(), other_actors in proptest::collection::vec(gen_actor(), 0..10)) -> (ActorId, Vec<ActorId>) {
+            (this_actor, other_actors)
+        }
+    }
+
+    fn gen_ops(
+        this_actor: ActorId,
+        other_actors: Vec<ActorId>,
+    ) -> impl Strategy<Value = (Vec<(ObjId, Op)>, OpSetMetadata)> {
+        let mut all_actors = vec![this_actor];
+        all_actors.extend(other_actors);
+        let mut m = OpSetMetadata::from_actors(all_actors);
+        m.props.cache("someprop".to_string());
+        let root_id = ObjId::root();
+        (0_u64..10)
+            .prop_map(|num_ops| {
+                (0..num_ops)
+                    .map(|counter| OpId::new(counter, 0))
+                    .collect::<Vec<_>>()
+            })
+            .prop_flat_map(move |opids| {
+                let mut strat = Just(Vec::new()).boxed();
+                for opid in opids {
+                    strat = (gen_op(opid, vec![0]), strat)
+                        .prop_map(move |(op, ops)| {
+                            let mut result = Vec::with_capacity(ops.len() + 1);
+                            result.extend(ops);
+                            result.push((root_id, op));
+                            result
+                        })
+                        .boxed();
+                }
+                strat
+            })
+            .prop_map(move |ops| (ops, m.clone()))
+    }
+
+    prop_compose! {
+        pub(crate) fn gen_change()((this_actor, other_actors) in gen_actors())(
+                (ops, metadata) in gen_ops(this_actor.clone(), other_actors),
+                start_op in 1_u64..200000,
+                seq in 0_u64..200000,
+                timestamp in 0..i64::MAX,
+                deps in proptest::collection::vec(gen_hash(), 0..100),
+                message in proptest::option::of("[a-z]{200}"),
+                this_actor in Just(this_actor),
+            ) -> Change {
+            let ops = ops.iter().map(|(obj, op)| op_as_actor_id(obj, op, &metadata));
+            Change::new(ChangeBuilder::new()
+                .with_dependencies(deps)
+                .with_start_op(start_op.try_into().unwrap())
+                .with_message(message)
+                .with_actor(this_actor)
+                .with_seq(seq)
+                .with_timestamp(timestamp)
+                .build(ops.into_iter())
+                .unwrap())
+        }
+
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/change_graph.rs.html b/src/automerge/change_graph.rs.html new file mode 100644 index 00000000..b10f8125 --- /dev/null +++ b/src/automerge/change_graph.rs.html @@ -0,0 +1,691 @@ +change_graph.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+
use std::collections::{BTreeMap, BTreeSet};
+
+use crate::{
+    clock::{Clock, ClockData},
+    Change, ChangeHash,
+};
+
+/// The graph of changes
+///
+/// This is a sort of adjacency list based representation, except that instead of using linked
+/// lists, we keep all the edges and nodes in two vecs and reference them by index which plays nice
+/// with the cache
+#[derive(Debug, Clone)]
+pub(crate) struct ChangeGraph {
+    nodes: Vec<ChangeNode>,
+    edges: Vec<Edge>,
+    hashes: Vec<ChangeHash>,
+    nodes_by_hash: BTreeMap<ChangeHash, NodeIdx>,
+}
+
+#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
+struct NodeIdx(u32);
+
+#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
+struct EdgeIdx(u32);
+
+#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)]
+struct HashIdx(u32);
+
+#[derive(Debug, Clone)]
+struct Edge {
+    // Edges are always child -> parent so we only store the target, the child is implicit
+    // as you get the edge from the child
+    target: NodeIdx,
+    next: Option<EdgeIdx>,
+}
+
+#[derive(Debug, Clone)]
+struct ChangeNode {
+    hash_idx: HashIdx,
+    actor_index: usize,
+    seq: u64,
+    max_op: u64,
+    parents: Option<EdgeIdx>,
+}
+
+impl ChangeGraph {
+    pub(crate) fn new() -> Self {
+        Self {
+            nodes: Vec::new(),
+            edges: Vec::new(),
+            nodes_by_hash: BTreeMap::new(),
+            hashes: Vec::new(),
+        }
+    }
+
+    pub(crate) fn add_change(
+        &mut self,
+        change: &Change,
+        actor_idx: usize,
+    ) -> Result<(), MissingDep> {
+        let hash = change.hash();
+        if self.nodes_by_hash.contains_key(&hash) {
+            return Ok(());
+        }
+        let parent_indices = change
+            .deps()
+            .iter()
+            .map(|h| self.nodes_by_hash.get(h).copied().ok_or(MissingDep(*h)))
+            .collect::<Result<Vec<_>, _>>()?;
+        let node_idx = self.add_node(actor_idx, change);
+        self.nodes_by_hash.insert(hash, node_idx);
+        for parent_idx in parent_indices {
+            self.add_parent(node_idx, parent_idx);
+        }
+        Ok(())
+    }
+
+    fn add_node(&mut self, actor_index: usize, change: &Change) -> NodeIdx {
+        let idx = NodeIdx(self.nodes.len() as u32);
+        let hash_idx = self.add_hash(change.hash());
+        self.nodes.push(ChangeNode {
+            hash_idx,
+            actor_index,
+            seq: change.seq(),
+            max_op: change.max_op(),
+            parents: None,
+        });
+        idx
+    }
+
+    fn add_hash(&mut self, hash: ChangeHash) -> HashIdx {
+        let idx = HashIdx(self.hashes.len() as u32);
+        self.hashes.push(hash);
+        idx
+    }
+
+    fn add_parent(&mut self, child_idx: NodeIdx, parent_idx: NodeIdx) {
+        let new_edge_idx = EdgeIdx(self.edges.len() as u32);
+        let new_edge = Edge {
+            target: parent_idx,
+            next: None,
+        };
+        self.edges.push(new_edge);
+
+        let child = &mut self.nodes[child_idx.0 as usize];
+        if let Some(edge_idx) = child.parents {
+            let mut edge = &mut self.edges[edge_idx.0 as usize];
+            while let Some(next) = edge.next {
+                edge = &mut self.edges[next.0 as usize];
+            }
+            edge.next = Some(new_edge_idx);
+        } else {
+            child.parents = Some(new_edge_idx);
+        }
+    }
+
+    fn parents(&self, node_idx: NodeIdx) -> impl Iterator<Item = NodeIdx> + '_ {
+        let mut edge_idx = self.nodes[node_idx.0 as usize].parents;
+        std::iter::from_fn(move || {
+            let this_edge_idx = edge_idx?;
+            let edge = &self.edges[this_edge_idx.0 as usize];
+            edge_idx = edge.next;
+            Some(edge.target)
+        })
+    }
+
+    pub(crate) fn clock_for_heads(&self, heads: &[ChangeHash]) -> Clock {
+        let mut clock = Clock::new();
+
+        self.traverse_ancestors(heads, |node, _hash| {
+            clock.include(
+                node.actor_index,
+                ClockData {
+                    max_op: node.max_op,
+                    seq: node.seq,
+                },
+            );
+        });
+
+        clock
+    }
+
+    pub(crate) fn remove_ancestors(
+        &self,
+        changes: &mut BTreeSet<ChangeHash>,
+        heads: &[ChangeHash],
+    ) {
+        self.traverse_ancestors(heads, |_node, hash| {
+            changes.remove(hash);
+        });
+    }
+
+    /// Call `f` for each (node, hash) in the graph, starting from the given heads
+    ///
+    /// No guarantees are made about the order of traversal but each node will only be visited
+    /// once.
+    fn traverse_ancestors<F: FnMut(&ChangeNode, &ChangeHash)>(
+        &self,
+        heads: &[ChangeHash],
+        mut f: F,
+    ) {
+        let mut to_visit = heads
+            .iter()
+            .filter_map(|h| self.nodes_by_hash.get(h))
+            .copied()
+            .collect::<Vec<_>>();
+
+        let mut visited = BTreeSet::new();
+
+        while let Some(idx) = to_visit.pop() {
+            if visited.contains(&idx) {
+                continue;
+            } else {
+                visited.insert(idx);
+            }
+            let node = &self.nodes[idx.0 as usize];
+            let hash = &self.hashes[node.hash_idx.0 as usize];
+            f(node, hash);
+            to_visit.extend(self.parents(idx));
+        }
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+#[error("attempted to derive a clock for a change with dependencies we don't have")]
+pub struct MissingDep(ChangeHash);
+
+#[cfg(test)]
+mod tests {
+    use std::{
+        num::NonZeroU64,
+        time::{SystemTime, UNIX_EPOCH},
+    };
+
+    use crate::{
+        clock::ClockData,
+        op_tree::OpSetMetadata,
+        storage::{change::ChangeBuilder, convert::op_as_actor_id},
+        types::{Key, ObjId, Op, OpId, OpIds},
+        ActorId,
+    };
+
+    use super::*;
+
+    #[test]
+    fn clock_by_heads() {
+        let mut builder = TestGraphBuilder::new();
+        let actor1 = builder.actor();
+        let actor2 = builder.actor();
+        let actor3 = builder.actor();
+        let change1 = builder.change(&actor1, 10, &[]);
+        let change2 = builder.change(&actor2, 20, &[change1]);
+        let change3 = builder.change(&actor3, 30, &[change1]);
+        let change4 = builder.change(&actor1, 10, &[change2, change3]);
+        let graph = builder.build();
+
+        let mut expected_clock = Clock::new();
+        expected_clock.include(builder.index(&actor1), ClockData { max_op: 50, seq: 2 });
+        expected_clock.include(builder.index(&actor2), ClockData { max_op: 30, seq: 1 });
+        expected_clock.include(builder.index(&actor3), ClockData { max_op: 40, seq: 1 });
+
+        let clock = graph.clock_for_heads(&[change4]);
+        assert_eq!(clock, expected_clock);
+    }
+
+    #[test]
+    fn remove_ancestors() {
+        let mut builder = TestGraphBuilder::new();
+        let actor1 = builder.actor();
+        let actor2 = builder.actor();
+        let actor3 = builder.actor();
+        let change1 = builder.change(&actor1, 10, &[]);
+        let change2 = builder.change(&actor2, 20, &[change1]);
+        let change3 = builder.change(&actor3, 30, &[change1]);
+        let change4 = builder.change(&actor1, 10, &[change2, change3]);
+        let graph = builder.build();
+
+        let mut changes = vec![change1, change2, change3, change4]
+            .into_iter()
+            .collect::<BTreeSet<_>>();
+        let heads = vec![change2];
+        graph.remove_ancestors(&mut changes, &heads);
+
+        let expected_changes = vec![change3, change4].into_iter().collect::<BTreeSet<_>>();
+
+        assert_eq!(changes, expected_changes);
+    }
+
+    struct TestGraphBuilder {
+        actors: Vec<ActorId>,
+        changes: Vec<Change>,
+        seqs_by_actor: BTreeMap<ActorId, u64>,
+    }
+
+    impl TestGraphBuilder {
+        fn new() -> Self {
+            TestGraphBuilder {
+                actors: Vec::new(),
+                changes: Vec::new(),
+                seqs_by_actor: BTreeMap::new(),
+            }
+        }
+
+        fn actor(&mut self) -> ActorId {
+            let actor = ActorId::random();
+            self.actors.push(actor.clone());
+            actor
+        }
+
+        fn index(&self, actor: &ActorId) -> usize {
+            self.actors.iter().position(|a| a == actor).unwrap()
+        }
+
+        /// Create a change with `num_new_ops` and `parents` for `actor`
+        ///
+        /// The `start_op` and `seq` of the change will be computed from the
+        /// previous changes for the same actor.
+        fn change(
+            &mut self,
+            actor: &ActorId,
+            num_new_ops: usize,
+            parents: &[ChangeHash],
+        ) -> ChangeHash {
+            let mut meta = OpSetMetadata::from_actors(self.actors.clone());
+            let key = meta.props.cache("key".to_string());
+
+            let start_op = parents
+                .iter()
+                .map(|c| {
+                    self.changes
+                        .iter()
+                        .find(|change| change.hash() == *c)
+                        .unwrap()
+                        .max_op()
+                })
+                .max()
+                .unwrap_or(0)
+                + 1;
+
+            let actor_idx = self.index(actor);
+            let ops = (0..num_new_ops)
+                .map(|opnum| Op {
+                    id: OpId::new(start_op + opnum as u64, actor_idx),
+                    action: crate::OpType::Put("value".into()),
+                    key: Key::Map(key),
+                    succ: OpIds::empty(),
+                    pred: OpIds::empty(),
+                    insert: false,
+                })
+                .collect::<Vec<_>>();
+
+            let root = ObjId::root();
+            let timestamp = SystemTime::now()
+                .duration_since(UNIX_EPOCH)
+                .unwrap()
+                .as_millis() as i64;
+            let seq = self.seqs_by_actor.entry(actor.clone()).or_insert(1);
+            let change = Change::new(
+                ChangeBuilder::new()
+                    .with_dependencies(parents.to_vec())
+                    .with_start_op(NonZeroU64::new(start_op).unwrap())
+                    .with_actor(actor.clone())
+                    .with_seq(*seq)
+                    .with_timestamp(timestamp)
+                    .build(ops.iter().map(|op| op_as_actor_id(&root, op, &meta)))
+                    .unwrap(),
+            );
+            *seq = seq.checked_add(1).unwrap();
+            let hash = change.hash();
+            self.changes.push(change);
+            hash
+        }
+
+        fn build(&self) -> ChangeGraph {
+            let mut graph = ChangeGraph::new();
+            for change in &self.changes {
+                let actor_idx = self.index(change.actor_id());
+                graph.add_change(change, actor_idx).unwrap();
+            }
+            graph
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/clock.rs.html b/src/automerge/clock.rs.html new file mode 100644 index 00000000..1be13a79 --- /dev/null +++ b/src/automerge/clock.rs.html @@ -0,0 +1,325 @@ +clock.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+
use crate::types::OpId;
+use fxhash::FxBuildHasher;
+use std::{cmp::Ordering, collections::HashMap};
+
+#[derive(Default, Debug, Clone, Copy, PartialEq)]
+pub(crate) struct ClockData {
+    /// Maximum operation counter of the actor at the point in time.
+    pub(crate) max_op: u64,
+    /// Sequence number of the change from this actor.
+    pub(crate) seq: u64,
+}
+
+// a clock for the same actor is ahead of another if it has a higher max_op
+impl PartialOrd for ClockData {
+    fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
+        self.max_op.partial_cmp(&other.max_op)
+    }
+}
+
+/// Vector clock mapping actor indices to the max op counter of the changes created by that actor.
+#[derive(Default, Debug, Clone, PartialEq)]
+pub(crate) struct Clock(HashMap<usize, ClockData, FxBuildHasher>);
+
+// A general clock is greater if it has one element the other does not or has a counter higher than
+// the other for a given actor.
+//
+// It is equal with another clock if it has the same entries everywhere.
+//
+// It is less than another clock otherwise.
+impl PartialOrd for Clock {
+    fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> {
+        if self.0 == other.0 {
+            Some(Ordering::Equal)
+        } else if self.is_greater(other) {
+            Some(Ordering::Greater)
+        } else if other.is_greater(self) {
+            Some(Ordering::Less)
+        } else {
+            // concurrent
+            None
+        }
+    }
+}
+
+impl Clock {
+    pub(crate) fn new() -> Self {
+        Clock(Default::default())
+    }
+
+    pub(crate) fn include(&mut self, actor_index: usize, data: ClockData) {
+        self.0
+            .entry(actor_index)
+            .and_modify(|d| {
+                if data.max_op > d.max_op {
+                    *d = data;
+                }
+            })
+            .or_insert(data);
+    }
+
+    pub(crate) fn covers(&self, id: &OpId) -> bool {
+        if let Some(data) = self.0.get(&id.actor()) {
+            data.max_op >= id.counter()
+        } else {
+            false
+        }
+    }
+
+    /// Get the max_op counter recorded in this clock for the actor.
+    pub(crate) fn get_for_actor(&self, actor_index: &usize) -> Option<&ClockData> {
+        self.0.get(actor_index)
+    }
+
+    fn is_greater(&self, other: &Self) -> bool {
+        let mut has_greater = false;
+
+        let mut others_found = 0;
+
+        for (actor, data) in &self.0 {
+            if let Some(other_data) = other.0.get(actor) {
+                if data < other_data {
+                    // may be concurrent or less
+                    return false;
+                } else if data > other_data {
+                    has_greater = true;
+                }
+                others_found += 1;
+            } else {
+                // other doesn't have this so effectively has a greater element
+                has_greater = true;
+            }
+        }
+
+        if has_greater {
+            // if they are equal then we have seen every key in the other clock and have at least
+            // one greater element so our clock is greater
+            //
+            // If they aren't the same then we haven't seen every key but have a greater element
+            // anyway so are concurrent
+            others_found == other.0.len()
+        } else {
+            // our clock doesn't have anything greater than the other clock so can't be greater but
+            // could still be concurrent
+            false
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn covers() {
+        let mut clock = Clock::new();
+
+        clock.include(1, ClockData { max_op: 20, seq: 1 });
+        clock.include(2, ClockData { max_op: 10, seq: 2 });
+
+        assert!(clock.covers(&OpId::new(10, 1)));
+        assert!(clock.covers(&OpId::new(20, 1)));
+        assert!(!clock.covers(&OpId::new(30, 1)));
+
+        assert!(clock.covers(&OpId::new(5, 2)));
+        assert!(clock.covers(&OpId::new(10, 2)));
+        assert!(!clock.covers(&OpId::new(15, 2)));
+
+        assert!(!clock.covers(&OpId::new(1, 3)));
+        assert!(!clock.covers(&OpId::new(100, 3)));
+    }
+
+    #[test]
+    fn comparison() {
+        let mut base_clock = Clock::new();
+        base_clock.include(1, ClockData { max_op: 1, seq: 1 });
+        base_clock.include(2, ClockData { max_op: 1, seq: 1 });
+
+        let mut after_clock = base_clock.clone();
+        after_clock.include(1, ClockData { max_op: 2, seq: 2 });
+
+        assert!(after_clock > base_clock);
+        assert!(base_clock < after_clock);
+
+        assert!(base_clock == base_clock);
+
+        let mut new_actor_clock = base_clock.clone();
+        new_actor_clock.include(3, ClockData { max_op: 1, seq: 1 });
+
+        assert_eq!(
+            base_clock.partial_cmp(&new_actor_clock),
+            Some(Ordering::Less)
+        );
+        assert_eq!(
+            new_actor_clock.partial_cmp(&base_clock),
+            Some(Ordering::Greater)
+        );
+
+        assert_eq!(after_clock.partial_cmp(&new_actor_clock), None);
+        assert_eq!(new_actor_clock.partial_cmp(&after_clock), None);
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar.rs.html b/src/automerge/columnar.rs.html new file mode 100644 index 00000000..c2e61457 --- /dev/null +++ b/src/automerge/columnar.rs.html @@ -0,0 +1,31 @@ +columnar.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+
//! Types for reading data which is stored in a columnar storage format
+//!
+//! The details of how values are encoded in `encoding`, which exposes a set of "decoder" and
+//! "encoder" types.
+//!
+//! The `column_range` module exposes a set of types - most of which are newtypes over
+//! `Range<usize>` - which have useful instance methods such as `encode()` to create a new range and
+//! `decoder()` to return an iterator of the correct type.
+pub(crate) mod column_range;
+pub(crate) use column_range::Key;
+pub(crate) mod encoding;
+
+mod splice_error;
+pub(crate) use splice_error::SpliceError;
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range.rs.html b/src/automerge/columnar/column_range.rs.html new file mode 100644 index 00000000..9005f043 --- /dev/null +++ b/src/automerge/columnar/column_range.rs.html @@ -0,0 +1,45 @@ +column_range.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+
mod rle;
+pub(crate) use rle::RleRange;
+mod delta;
+pub(crate) use delta::DeltaRange;
+mod boolean;
+pub(crate) use boolean::BooleanRange;
+mod raw;
+pub(crate) use raw::RawRange;
+mod opid;
+pub(crate) use opid::{OpIdEncoder, OpIdIter, OpIdRange};
+mod opid_list;
+pub(crate) use opid_list::{OpIdListEncoder, OpIdListIter, OpIdListRange};
+mod deps;
+pub(crate) use deps::{DepsIter, DepsRange};
+mod value;
+pub(crate) use value::{ValueEncoder, ValueIter, ValueRange};
+pub(crate) mod generic;
+mod key;
+pub(crate) use key::{Key, KeyEncoder, KeyIter, KeyRange};
+mod obj_id;
+pub(crate) use obj_id::{ObjIdEncoder, ObjIdIter, ObjIdRange};
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/boolean.rs.html b/src/automerge/columnar/column_range/boolean.rs.html new file mode 100644 index 00000000..41794ddf --- /dev/null +++ b/src/automerge/columnar/column_range/boolean.rs.html @@ -0,0 +1,83 @@ +boolean.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+
use std::{borrow::Cow, ops::Range};
+
+use crate::columnar::encoding::{BooleanDecoder, BooleanEncoder};
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct BooleanRange(Range<usize>);
+
+impl BooleanRange {
+    pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> BooleanDecoder<'a> {
+        BooleanDecoder::from(Cow::Borrowed(&data[self.0.clone()]))
+    }
+
+    pub(crate) fn encode<I: Iterator<Item = bool>>(items: I, out: &mut Vec<u8>) -> Self {
+        let start = out.len();
+        let mut encoder = BooleanEncoder::from(out);
+        for i in items {
+            encoder.append(i);
+        }
+        let (_, len) = encoder.finish();
+        (start..(start + len)).into()
+    }
+}
+
+impl AsRef<Range<usize>> for BooleanRange {
+    fn as_ref(&self) -> &Range<usize> {
+        &self.0
+    }
+}
+
+impl From<Range<usize>> for BooleanRange {
+    fn from(r: Range<usize>) -> BooleanRange {
+        BooleanRange(r)
+    }
+}
+
+impl From<BooleanRange> for Range<usize> {
+    fn from(r: BooleanRange) -> Range<usize> {
+        r.0
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/delta.rs.html b/src/automerge/columnar/column_range/delta.rs.html new file mode 100644 index 00000000..0faaae81 --- /dev/null +++ b/src/automerge/columnar/column_range/delta.rs.html @@ -0,0 +1,307 @@ +delta.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+
use std::{borrow::Cow, convert::Infallible, ops::Range};
+
+use crate::columnar::{
+    encoding::{raw, DeltaDecoder, DeltaEncoder, Sink},
+    SpliceError,
+};
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct DeltaRange(Range<usize>);
+
+impl DeltaRange {
+    pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> DeltaDecoder<'a> {
+        DeltaDecoder::from(Cow::Borrowed(&data[self.0.clone()]))
+    }
+
+    pub(crate) fn encoder<S: Sink>(&self, output: S) -> DeltaEncoder<S> {
+        DeltaEncoder::from(output)
+    }
+
+    pub(crate) fn len(&self) -> usize {
+        self.0.len()
+    }
+
+    pub(crate) fn encode<I: Iterator<Item = Option<i64>>>(items: I, out: &mut Vec<u8>) -> Self {
+        // SAFETY: The incoming iterator is infallible and there are no existing items
+        Self::from(0..0)
+            .splice::<Infallible, _>(&[], 0..0, items.map(Ok), out)
+            .unwrap()
+    }
+
+    pub(crate) fn splice<E: std::error::Error, I: Iterator<Item = Result<Option<i64>, E>>>(
+        &self,
+        data: &[u8],
+        replace: Range<usize>,
+        mut replace_with: I,
+        out: &mut Vec<u8>,
+    ) -> Result<Self, SpliceError<raw::Error, E>> {
+        let start = out.len();
+        let mut decoder = self.decoder(data);
+        let mut encoder = self.encoder(out);
+        let mut idx = 0;
+        while idx < replace.start {
+            match decoder
+                .next()
+                .transpose()
+                .map_err(SpliceError::ReadExisting)?
+            {
+                Some(elem) => encoder.append(elem),
+                None => panic!("out of bounds"),
+            }
+            idx += 1;
+        }
+        for _ in 0..replace.len() {
+            decoder
+                .next()
+                .transpose()
+                .map_err(SpliceError::ReadExisting)?;
+            if let Some(next) = replace_with
+                .next()
+                .transpose()
+                .map_err(SpliceError::ReadReplace)?
+            {
+                encoder.append(next);
+            }
+        }
+        for next in replace_with {
+            let next = next.map_err(SpliceError::ReadReplace)?;
+            encoder.append(next);
+        }
+        for next in decoder {
+            let next = next.map_err(SpliceError::ReadExisting)?;
+            encoder.append(next);
+        }
+        let (_, len) = encoder.finish();
+        Ok((start..(start + len)).into())
+    }
+}
+
+impl AsRef<Range<usize>> for DeltaRange {
+    fn as_ref(&self) -> &Range<usize> {
+        &self.0
+    }
+}
+
+impl From<Range<usize>> for DeltaRange {
+    fn from(r: Range<usize>) -> DeltaRange {
+        DeltaRange(r)
+    }
+}
+
+impl From<DeltaRange> for Range<usize> {
+    fn from(r: DeltaRange) -> Range<usize> {
+        r.0
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::columnar::encoding::properties::option_splice_scenario;
+    use proptest::prelude::*;
+
+    fn encode<I: Iterator<Item = Option<i64>>>(vals: I) -> (DeltaRange, Vec<u8>) {
+        let mut buf = Vec::<u8>::new();
+        let range = DeltaRange::encode(vals, &mut buf);
+        (range, buf)
+    }
+
+    fn decode(range: DeltaRange, buf: &[u8]) -> Vec<Option<i64>> {
+        range.decoder(buf).collect::<Result<Vec<_>, _>>().unwrap()
+    }
+
+    fn encodable_int() -> impl Strategy<Value = i64> + Clone {
+        0..(i64::MAX / 2)
+    }
+
+    proptest! {
+        #[test]
+        fn encode_decode_delta(vals in proptest::collection::vec(proptest::option::of(encodable_int()), 0..100)) {
+            let (r, encoded) = encode(vals.iter().copied());
+            if vals.iter().all(|v| v.is_none()) {
+                assert_eq!(encoded.len(), 0);
+                let decoded = decode(r, &encoded);
+                assert_eq!(Vec::<Option<i64>>::new(), decoded)
+            } else {
+                let decoded = decode(r, &encoded);
+                assert_eq!(vals, decoded)
+            }
+        }
+
+        #[test]
+        fn splice_delta(scenario in option_splice_scenario(proptest::option::of(encodable_int()))) {
+            let (range, encoded) = encode(scenario.initial_values.iter().copied());
+            let mut out = Vec::new();
+            let replacements: Vec<Result<Option<i64>, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect();
+            let new_range = range.splice(&encoded, scenario.replace_range.clone(), replacements.into_iter(), &mut out).unwrap();
+            let decoded = decode(new_range, &out);
+            scenario.check_optional(decoded);
+        }
+    }
+
+    #[test]
+    fn bugbug() {
+        let vals: Vec<i64> = vec![6, 5, 8, 9, 10, 11, 12, 13];
+        let (r, encoded) = encode(vals.iter().copied().map(Some));
+        let decoded = decode(r, &encoded)
+            .into_iter()
+            .map(Option::unwrap)
+            .collect::<Vec<_>>();
+        assert_eq!(decoded, vals);
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/deps.rs.html b/src/automerge/columnar/column_range/deps.rs.html new file mode 100644 index 00000000..1b128237 --- /dev/null +++ b/src/automerge/columnar/column_range/deps.rs.html @@ -0,0 +1,249 @@ +deps.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+
use super::{DeltaRange, RleRange};
+use crate::columnar::encoding::{DecodeColumnError, DeltaDecoder, RleDecoder};
+
+/// A grouped column containing lists of u64s
+#[derive(Clone, Debug)]
+pub(crate) struct DepsRange {
+    num: RleRange<u64>,
+    deps: DeltaRange,
+}
+
+impl DepsRange {
+    pub(crate) fn new(num: RleRange<u64>, deps: DeltaRange) -> Self {
+        Self { num, deps }
+    }
+
+    pub(crate) fn num_range(&self) -> &RleRange<u64> {
+        &self.num
+    }
+
+    pub(crate) fn deps_range(&self) -> &DeltaRange {
+        &self.deps
+    }
+
+    pub(crate) fn encode<I, II>(deps: I, out: &mut Vec<u8>) -> DepsRange
+    where
+        I: Iterator<Item = II> + Clone,
+        II: IntoIterator<Item = u64> + ExactSizeIterator,
+    {
+        let num = RleRange::encode(deps.clone().map(|d| Some(d.len() as u64)), out);
+        let deps = DeltaRange::encode(
+            deps.flat_map(|d| d.into_iter().map(|d| Some(d as i64))),
+            out,
+        );
+        DepsRange { num, deps }
+    }
+
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> DepsIter<'a> {
+        DepsIter {
+            num: self.num.decoder(data),
+            deps: self.deps.decoder(data),
+        }
+    }
+}
+
+#[derive(Clone)]
+pub(crate) struct DepsIter<'a> {
+    num: RleDecoder<'a, u64>,
+    deps: DeltaDecoder<'a>,
+}
+
+impl<'a> DepsIter<'a> {
+    fn try_next(&mut self) -> Result<Option<Vec<u64>>, DecodeColumnError> {
+        let num = match self
+            .num
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("num", e))?
+        {
+            Some(Some(n)) => n as usize,
+            Some(None) => {
+                return Err(DecodeColumnError::unexpected_null("group"));
+            }
+            None => return Ok(None),
+        };
+        // We cannot trust `num` because it is provided over the network,
+        // but in the common case it will be correct and small (so we
+        // use with_capacity to make sure the vector is precisely the right
+        // size).
+        let mut result = Vec::with_capacity(std::cmp::min(num, 100));
+        while result.len() < num {
+            match self
+                .deps
+                .next()
+                .transpose()
+                .map_err(|e| DecodeColumnError::decode_raw("deps", e))?
+            {
+                Some(Some(elem)) => {
+                    let elem = match u64::try_from(elem) {
+                        Ok(e) => e,
+                        Err(e) => {
+                            tracing::error!(err=?e, dep=elem, "error converting dep index to u64");
+                            return Err(DecodeColumnError::invalid_value(
+                                "deps",
+                                "error converting dep index to u64",
+                            ));
+                        }
+                    };
+                    result.push(elem);
+                }
+                _ => return Err(DecodeColumnError::unexpected_null("deps")),
+            }
+        }
+        Ok(Some(result))
+    }
+}
+
+impl<'a> Iterator for DepsIter<'a> {
+    type Item = Result<Vec<u64>, DecodeColumnError>;
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use proptest::collection::vec as propvec;
+    use proptest::prelude::*;
+
+    fn encodable_u64() -> impl Strategy<Value = u64> + Clone {
+        0_u64..((i64::MAX / 2) as u64)
+    }
+
+    proptest! {
+        #[test]
+        fn encode_decode_deps(deps in propvec(propvec(encodable_u64(), 0..100), 0..100)) {
+            let mut out = Vec::new();
+            let range = DepsRange::encode(deps.iter().cloned().map(|d| d.into_iter()), &mut out);
+            let decoded = range.iter(&out).collect::<Result<Vec<_>, _>>().unwrap();
+            assert_eq!(deps, decoded);
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/generic.rs.html b/src/automerge/columnar/column_range/generic.rs.html new file mode 100644 index 00000000..6173a4e1 --- /dev/null +++ b/src/automerge/columnar/column_range/generic.rs.html @@ -0,0 +1,185 @@ +generic.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+
use std::ops::Range;
+
+use crate::{columnar::encoding::DecodeColumnError, ScalarValue};
+
+use super::{ValueIter, ValueRange};
+mod simple;
+use simple::SimpleColIter;
+pub(crate) use simple::SimpleColRange;
+mod group;
+use group::GroupIter;
+pub(crate) use group::{GroupRange, GroupedColumnRange};
+
+/// A range which can represent any column which is valid with respect to the data model of the
+/// column oriented storage format. This is primarily intended to be used in two cases:
+///
+/// 1. As an intermediate step when parsing binary storage. We parse the column metadata into
+///    GenericColumnRange, then from there into more specific range types.
+/// 2. when we encounter a column which we don't expect but which we still need to retain and
+///    re-encode when writing new changes.
+///
+/// The generic data model is represented by `CellValue`, an iterator over a generic column will
+/// produce a `CellValue` for each row in the column.
+#[derive(Debug, Clone)]
+pub(crate) enum GenericColumnRange {
+    /// A "simple" column is one which directly corresponds to a single column in the raw format
+    Simple(SimpleColRange),
+    /// A value range consists of two columns and produces `ScalarValue`s
+    Value(ValueRange),
+    /// A "group" range consists of zero or more grouped columns and produces `CellValue::Group`s
+    Group(GroupRange),
+}
+
+impl GenericColumnRange {
+    pub(crate) fn range(&self) -> Range<usize> {
+        match self {
+            Self::Simple(sc) => sc.range(),
+            Self::Value(v) => v.range(),
+            Self::Group(g) => g.range(),
+        }
+    }
+}
+
+/// The type of values which can be stored in a generic column
+pub(crate) enum CellValue {
+    /// The contents of a simple column
+    Simple(SimpleValue),
+    /// The values in a set of grouped columns
+    Group(Vec<Vec<SimpleValue>>),
+}
+
+pub(crate) enum SimpleValue {
+    Uint(Option<u64>),
+    Int(Option<i64>),
+    String(Option<smol_str::SmolStr>),
+    Bool(bool),
+    /// The contents of a value metadata and value raw column
+    Value(ScalarValue),
+}
+
+#[derive(Debug, Clone)]
+#[allow(dead_code)]
+pub(crate) enum GenericColIter<'a> {
+    Simple(SimpleColIter<'a>),
+    Value(ValueIter<'a>),
+    Group(GroupIter<'a>),
+}
+
+impl<'a> GenericColIter<'a> {
+    fn try_next(&mut self) -> Result<Option<CellValue>, DecodeColumnError> {
+        match self {
+            Self::Simple(s) => s
+                .next()
+                .transpose()
+                .map_err(|e| DecodeColumnError::decode_raw("a simple column", e))
+                .map(|v| v.map(CellValue::Simple)),
+            Self::Value(v) => v
+                .next()
+                .transpose()
+                .map(|v| v.map(|v| CellValue::Simple(SimpleValue::Value(v)))),
+            Self::Group(g) => g.next().transpose(),
+        }
+    }
+}
+
+impl<'a> Iterator for GenericColIter<'a> {
+    type Item = Result<CellValue, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/generic/group.rs.html b/src/automerge/columnar/column_range/generic/group.rs.html new file mode 100644 index 00000000..507be39c --- /dev/null +++ b/src/automerge/columnar/column_range/generic/group.rs.html @@ -0,0 +1,279 @@ +group.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+
use std::ops::Range;
+
+use super::{CellValue, SimpleColIter, SimpleColRange, SimpleValue};
+use crate::columnar::{
+    column_range::{RleRange, ValueIter, ValueRange},
+    encoding::{col_error::DecodeColumnError, RleDecoder},
+};
+
+/// A group column range is one with a "num" column and zero or more "grouped" columns. The "num"
+/// column contains RLE encoded u64s, each `u64` represents the number of values to read from each
+/// of the grouped columns in order to produce a `CellValue::Group` for the current row.
+#[derive(Debug, Clone)]
+pub(crate) struct GroupRange {
+    pub(crate) num: RleRange<u64>,
+    pub(crate) values: Vec<GroupedColumnRange>,
+}
+
+impl GroupRange {
+    pub(crate) fn new(num: RleRange<u64>, values: Vec<GroupedColumnRange>) -> Self {
+        Self { num, values }
+    }
+
+    #[allow(dead_code)]
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> GroupIter<'a> {
+        GroupIter {
+            num: self.num.decoder(data),
+            values: self.values.iter().map(|v| v.iter(data)).collect(),
+        }
+    }
+
+    pub(crate) fn range(&self) -> Range<usize> {
+        let start = self.num.start();
+        let end = self
+            .values
+            .last()
+            .map(|v| v.range().end)
+            .unwrap_or_else(|| self.num.end());
+        start..end
+    }
+}
+
+/// The type of ranges which can be the "grouped" columns in a `GroupRange`
+#[derive(Debug, Clone)]
+pub(crate) enum GroupedColumnRange {
+    Value(ValueRange),
+    Simple(SimpleColRange),
+}
+
+impl GroupedColumnRange {
+    fn iter<'a>(&self, data: &'a [u8]) -> GroupedColIter<'a> {
+        match self {
+            Self::Value(vr) => GroupedColIter::Value(vr.iter(data)),
+            Self::Simple(sc) => GroupedColIter::Simple(sc.iter(data)),
+        }
+    }
+
+    pub(crate) fn range(&self) -> Range<usize> {
+        match self {
+            Self::Value(vr) => vr.range(),
+            Self::Simple(s) => s.range(),
+        }
+    }
+}
+
+#[derive(Debug, Clone)]
+pub(crate) struct GroupIter<'a> {
+    num: RleDecoder<'a, u64>,
+    values: Vec<GroupedColIter<'a>>,
+}
+
+impl<'a> GroupIter<'a> {
+    fn try_next(&mut self) -> Result<Option<CellValue>, DecodeColumnError> {
+        let num = self
+            .num
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("num", e))?;
+        match num {
+            None => Ok(None),
+            Some(None) => Err(DecodeColumnError::unexpected_null("num")),
+            Some(Some(num)) => {
+                let mut row = Vec::new();
+                for _ in 0..num {
+                    let mut inner_row = Vec::new();
+                    for (index, value_col) in self.values.iter_mut().enumerate() {
+                        match value_col.next().transpose()? {
+                            None => {
+                                return Err(DecodeColumnError::unexpected_null(format!(
+                                    "col {}",
+                                    index
+                                )))
+                            }
+                            Some(v) => {
+                                inner_row.push(v);
+                            }
+                        }
+                    }
+                    row.push(inner_row);
+                }
+                Ok(Some(CellValue::Group(row)))
+            }
+        }
+    }
+}
+
+impl<'a> Iterator for GroupIter<'a> {
+    type Item = Result<CellValue, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+#[derive(Debug, Clone)]
+enum GroupedColIter<'a> {
+    Value(ValueIter<'a>),
+    Simple(SimpleColIter<'a>),
+}
+
+impl<'a> GroupedColIter<'a> {
+    fn try_next(&mut self) -> Result<Option<SimpleValue>, DecodeColumnError> {
+        match self {
+            Self::Value(viter) => Ok(viter.next().transpose()?.map(SimpleValue::Value)),
+            Self::Simple(siter) => siter
+                .next()
+                .transpose()
+                .map_err(|e| DecodeColumnError::decode_raw("a simple column", e)),
+        }
+    }
+}
+
+impl<'a> Iterator for GroupedColIter<'a> {
+    type Item = Result<SimpleValue, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/generic/simple.rs.html b/src/automerge/columnar/column_range/generic/simple.rs.html new file mode 100644 index 00000000..371eb533 --- /dev/null +++ b/src/automerge/columnar/column_range/generic/simple.rs.html @@ -0,0 +1,155 @@ +simple.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+
use std::ops::Range;
+
+use crate::columnar::{
+    column_range::{BooleanRange, DeltaRange, RleRange},
+    encoding::{raw, BooleanDecoder, DeltaDecoder, RleDecoder},
+};
+
+use super::SimpleValue;
+
+/// The four types of "simple" column defined in the raw format
+#[derive(Debug, Clone)]
+pub(crate) enum SimpleColRange {
+    /// A column containing RLE encoded u64's
+    RleInt(RleRange<u64>),
+    /// A column containing RLE encoded strings
+    RleString(RleRange<smol_str::SmolStr>),
+    /// A column containing delta -> RLE encoded i64s
+    Delta(DeltaRange),
+    /// A column containing boolean values
+    Boolean(BooleanRange),
+}
+
+impl SimpleColRange {
+    pub(super) fn iter<'a>(&self, data: &'a [u8]) -> SimpleColIter<'a> {
+        match self {
+            Self::RleInt(r) => SimpleColIter::RleInt(r.decoder(data)),
+            Self::RleString(r) => SimpleColIter::RleString(r.decoder(data)),
+            Self::Delta(r) => SimpleColIter::Delta(r.decoder(data)),
+            Self::Boolean(r) => SimpleColIter::Boolean(r.decoder(data)),
+        }
+    }
+
+    pub(crate) fn range(&self) -> Range<usize> {
+        match self {
+            Self::RleInt(r) => r.clone().into(),
+            Self::RleString(r) => r.clone().into(),
+            Self::Delta(r) => r.clone().into(),
+            Self::Boolean(r) => r.clone().into(),
+        }
+    }
+}
+
+#[derive(Debug, Clone)]
+pub(crate) enum SimpleColIter<'a> {
+    RleInt(RleDecoder<'a, u64>),
+    RleString(RleDecoder<'a, smol_str::SmolStr>),
+    Delta(DeltaDecoder<'a>),
+    Boolean(BooleanDecoder<'a>),
+}
+
+impl<'a> SimpleColIter<'a> {
+    fn try_next(&mut self) -> Result<Option<SimpleValue>, raw::Error> {
+        match self {
+            Self::RleInt(d) => read_col(d, SimpleValue::Uint),
+            Self::RleString(d) => read_col(d, SimpleValue::String),
+            Self::Delta(d) => read_col(d, SimpleValue::Int),
+            Self::Boolean(d) => Ok(d.next().transpose()?.map(SimpleValue::Bool)),
+        }
+    }
+}
+
+fn read_col<C, T, F, U>(mut col: C, f: F) -> Result<Option<U>, raw::Error>
+where
+    C: Iterator<Item = Result<Option<T>, raw::Error>>,
+    F: Fn(Option<T>) -> U,
+{
+    col.next().transpose().map(|v| v.map(f))
+}
+
+impl<'a> Iterator for SimpleColIter<'a> {
+    type Item = Result<SimpleValue, raw::Error>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/key.rs.html b/src/automerge/columnar/column_range/key.rs.html new file mode 100644 index 00000000..6a94fa81 --- /dev/null +++ b/src/automerge/columnar/column_range/key.rs.html @@ -0,0 +1,519 @@ +key.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+
use std::{convert::Infallible, ops::Range};
+
+use super::{DeltaRange, RleRange};
+use crate::{
+    columnar::{
+        encoding::{
+            raw, DecodeColumnError, DeltaDecoder, DeltaEncoder, RleDecoder, RleEncoder, Sink,
+        },
+        SpliceError,
+    },
+    convert,
+    types::{ElemId, OpId},
+};
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) enum Key {
+    Prop(smol_str::SmolStr),
+    Elem(ElemId),
+}
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct KeyRange {
+    actor: RleRange<u64>,
+    counter: DeltaRange,
+    string: RleRange<smol_str::SmolStr>,
+}
+
+impl KeyRange {
+    pub(crate) fn new(
+        actor: RleRange<u64>,
+        counter: DeltaRange,
+        string: RleRange<smol_str::SmolStr>,
+    ) -> Self {
+        Self {
+            actor,
+            counter,
+            string,
+        }
+    }
+
+    pub(crate) fn actor_range(&self) -> &RleRange<u64> {
+        &self.actor
+    }
+
+    pub(crate) fn counter_range(&self) -> &DeltaRange {
+        &self.counter
+    }
+
+    pub(crate) fn string_range(&self) -> &RleRange<smol_str::SmolStr> {
+        &self.string
+    }
+
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> KeyIter<'a> {
+        KeyIter {
+            actor: self.actor.decoder(data),
+            counter: self.counter.decoder(data),
+            string: self.string.decoder(data),
+        }
+    }
+
+    pub(crate) fn encode<'b, O, I: Iterator<Item = convert::Key<'b, O>> + Clone>(
+        items: I,
+        out: &mut Vec<u8>,
+    ) -> Self
+    where
+        O: convert::OpId<usize>,
+    {
+        // SAFETY: The incoming iterator is infallible and there are no existing items
+        Self {
+            actor: (0..0).into(),
+            counter: (0..0).into(),
+            string: (0..0).into(),
+        }
+        .splice::<_, Infallible, _>(&[], 0..0, items.map(Ok), out)
+        .unwrap()
+    }
+
+    /// Splice new keys into this set of keys, encoding the resulting actor, counter, and str
+    /// columns in `out`.
+    pub(crate) fn splice<'b, O, E, I>(
+        &mut self,
+        data: &[u8],
+        replace: Range<usize>,
+        replace_with: I,
+        out: &mut Vec<u8>,
+    ) -> Result<Self, SpliceError<raw::Error, E>>
+    where
+        O: convert::OpId<usize>,
+        E: std::error::Error,
+        I: Iterator<Item = Result<convert::Key<'b, O>, E>> + Clone,
+    {
+        let actor = self.actor.splice(
+            data,
+            replace.clone(),
+            replace_with.clone().map(|k| {
+                k.map(|k| match k {
+                    convert::Key::Prop(_) => None,
+                    convert::Key::Elem(convert::ElemId::Head) => None,
+                    convert::Key::Elem(convert::ElemId::Op(o)) => Some(o.actor() as u64),
+                })
+            }),
+            out,
+        )?;
+
+        let counter = self.counter.splice(
+            data,
+            replace.clone(),
+            replace_with.clone().map(|k| {
+                k.map(|k| match k {
+                    convert::Key::Prop(_) => None,
+                    convert::Key::Elem(convert::ElemId::Head) => Some(0),
+                    convert::Key::Elem(convert::ElemId::Op(o)) => Some(o.counter() as i64),
+                })
+            }),
+            out,
+        )?;
+
+        let string = self.string.splice(
+            data,
+            replace,
+            replace_with.map(|k| {
+                k.map(|k| match k {
+                    convert::Key::Prop(s) => Some(s),
+                    convert::Key::Elem(_) => None,
+                })
+            }),
+            out,
+        )?;
+
+        Ok(Self {
+            actor,
+            counter,
+            string,
+        })
+    }
+}
+
+#[derive(Clone, Debug)]
+pub(crate) struct KeyIter<'a> {
+    actor: RleDecoder<'a, u64>,
+    counter: DeltaDecoder<'a>,
+    string: RleDecoder<'a, smol_str::SmolStr>,
+}
+
+impl<'a> KeyIter<'a> {
+    fn try_next(&mut self) -> Result<Option<Key>, DecodeColumnError> {
+        let actor = self
+            .actor
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("actor", e))?;
+        let counter = self
+            .counter
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("counter", e))?;
+        let string = self
+            .string
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("string", e))?;
+        match (actor, counter, string) {
+            (Some(Some(_)), Some(Some(_)), Some(Some(_))) => {
+                Err(DecodeColumnError::invalid_value("key", "too many values"))
+            }
+            (Some(None) | None, Some(None) | None, Some(Some(string))) => {
+                Ok(Some(Key::Prop(string)))
+            }
+            (Some(None) | None, Some(Some(0)), Some(None) | None) => {
+                Ok(Some(Key::Elem(ElemId(OpId::new(0, 0)))))
+            }
+            (Some(Some(actor)), Some(Some(ctr)), Some(None) | None) => match ctr.try_into() {
+                //Ok(ctr) => Some(Ok(Key::Elem(ElemId(OpId(ctr, actor as usize))))),
+                Ok(ctr) => Ok(Some(Key::Elem(ElemId(OpId::new(ctr, actor as usize))))),
+                Err(_) => Err(DecodeColumnError::invalid_value(
+                    "counter",
+                    "negative value for counter",
+                )),
+            },
+            (None | Some(None), None | Some(None), None | Some(None)) => Ok(None),
+            (None | Some(None), k, _) => {
+                tracing::error!(key=?k, "unexpected null actor");
+                Err(DecodeColumnError::unexpected_null("actor"))
+            }
+            (_, None | Some(None), _) => Err(DecodeColumnError::unexpected_null("counter")),
+        }
+    }
+}
+
+impl<'a> Iterator for KeyIter<'a> {
+    type Item = Result<Key, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+pub(crate) struct KeyEncoder<S> {
+    actor: RleEncoder<S, u64>,
+    counter: DeltaEncoder<S>,
+    string: RleEncoder<S, smol_str::SmolStr>,
+}
+
+impl KeyEncoder<Vec<u8>> {
+    pub(crate) fn new() -> KeyEncoder<Vec<u8>> {
+        KeyEncoder {
+            actor: RleEncoder::new(Vec::new()),
+            counter: DeltaEncoder::new(Vec::new()),
+            string: RleEncoder::new(Vec::new()),
+        }
+    }
+
+    pub(crate) fn finish(self, out: &mut Vec<u8>) -> KeyRange {
+        let actor_start = out.len();
+        let (actor, _) = self.actor.finish();
+        out.extend(actor);
+        let actor_end = out.len();
+
+        let (counter, _) = self.counter.finish();
+        out.extend(counter);
+        let counter_end = out.len();
+
+        let (string, _) = self.string.finish();
+        out.extend(string);
+        let string_end = out.len();
+
+        KeyRange {
+            actor: (actor_start..actor_end).into(),
+            counter: (actor_end..counter_end).into(),
+            string: (counter_end..string_end).into(),
+        }
+    }
+}
+
+impl<S: Sink> KeyEncoder<S> {
+    pub(crate) fn append<O>(&mut self, key: convert::Key<'_, O>)
+    where
+        O: convert::OpId<usize>,
+    {
+        match key {
+            convert::Key::Prop(p) => {
+                self.string.append_value(p.clone());
+                self.actor.append_null();
+                self.counter.append_null();
+            }
+            convert::Key::Elem(convert::ElemId::Head) => {
+                self.string.append_null();
+                self.actor.append_null();
+                self.counter.append_value(0);
+            }
+            convert::Key::Elem(convert::ElemId::Op(o)) => {
+                self.string.append_null();
+                self.actor.append_value(o.actor() as u64);
+                self.counter.append_value(o.counter() as i64);
+            }
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/obj_id.rs.html b/src/automerge/columnar/column_range/obj_id.rs.html new file mode 100644 index 00000000..96a63361 --- /dev/null +++ b/src/automerge/columnar/column_range/obj_id.rs.html @@ -0,0 +1,407 @@ +obj_id.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+
use std::{convert::Infallible, ops::Range};
+
+use crate::{
+    columnar::{
+        encoding::{raw, DecodeColumnError, RleDecoder, RleEncoder, Sink},
+        SpliceError,
+    },
+    convert,
+    types::{ObjId, OpId},
+};
+
+use super::RleRange;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct ObjIdRange {
+    actor: RleRange<u64>,
+    counter: RleRange<u64>,
+}
+
+impl ObjIdRange {
+    pub(crate) fn new(actor: RleRange<u64>, counter: RleRange<u64>) -> Option<Self> {
+        if actor.is_empty() || counter.is_empty() {
+            None
+        } else {
+            Some(Self { actor, counter })
+        }
+    }
+
+    pub(crate) fn actor_range(&self) -> &RleRange<u64> {
+        &self.actor
+    }
+
+    pub(crate) fn counter_range(&self) -> &RleRange<u64> {
+        &self.counter
+    }
+
+    pub(crate) fn encode<O, I: Iterator<Item = convert::ObjId<O>> + Clone>(
+        ids: I,
+        out: &mut Vec<u8>,
+    ) -> Option<Self>
+    where
+        O: convert::OpId<usize>,
+    {
+        // SAFETY: the incoming iterator is infallible and there are no existing elements
+        Self {
+            actor: (0..0).into(),
+            counter: (0..0).into(),
+        }
+        .splice::<_, Infallible, _>(&[], 0..0, ids.map(Ok), out)
+        .unwrap()
+    }
+
+    /// Given some existing columns of object IDs splice a new set of object IDs in with the
+    /// existing ones
+    ///
+    /// Note that this returns `None` if the resulting range is empty (which will only occur if the
+    /// replace range is larger than the input iterator and `ids` is an empty iterator).
+    pub(crate) fn splice<
+        O,
+        E: std::error::Error,
+        I: Iterator<Item = Result<convert::ObjId<O>, E>> + Clone,
+    >(
+        &self,
+        data: &[u8],
+        replace: Range<usize>,
+        ids: I,
+        out: &mut Vec<u8>,
+    ) -> Result<Option<Self>, SpliceError<raw::Error, E>>
+    where
+        O: convert::OpId<usize>,
+    {
+        let actor = self.actor.splice(
+            data,
+            replace.clone(),
+            ids.clone().map(|id| id.map(encoded_actor)),
+            out,
+        )?;
+
+        if actor.is_empty() {
+            return Ok(None);
+        }
+
+        let counter = self.counter.splice(
+            data,
+            replace,
+            ids.map(|i| {
+                i.map(|i| match i {
+                    convert::ObjId::Root => None,
+                    convert::ObjId::Op(o) => Some(o.counter()),
+                })
+            }),
+            out,
+        )?;
+
+        Ok(Some(Self { actor, counter }))
+    }
+
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> ObjIdIter<'a> {
+        ObjIdIter {
+            actor: self.actor.decoder(data),
+            counter: self.counter.decoder(data),
+        }
+    }
+}
+
+fn encoded_actor<O>(id: convert::ObjId<O>) -> Option<u64>
+where
+    O: convert::OpId<usize>,
+{
+    match id {
+        convert::ObjId::Root => None,
+        convert::ObjId::Op(o) => Some(o.actor() as u64),
+    }
+}
+
+#[derive(Clone)]
+pub(crate) struct ObjIdIter<'a> {
+    actor: RleDecoder<'a, u64>,
+    counter: RleDecoder<'a, u64>,
+}
+
+impl<'a> ObjIdIter<'a> {
+    fn try_next(&mut self) -> Result<Option<ObjId>, DecodeColumnError> {
+        let actor = self
+            .actor
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("actor", e))?;
+        let counter = self
+            .counter
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("counter", e))?;
+        match (actor, counter) {
+            (None | Some(None), None | Some(None)) => Ok(Some(ObjId::root())),
+            (Some(Some(a)), Some(Some(c))) => Ok(Some(ObjId(OpId::new(c, a as usize)))),
+            (_, Some(Some(0))) => Ok(Some(ObjId::root())),
+            (Some(None) | None, _) => Err(DecodeColumnError::unexpected_null("actor")),
+            (_, Some(None) | None) => Err(DecodeColumnError::unexpected_null("counter")),
+        }
+    }
+}
+
+impl<'a> Iterator for ObjIdIter<'a> {
+    type Item = Result<ObjId, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+pub(crate) struct ObjIdEncoder<S> {
+    actor: RleEncoder<S, u64>,
+    counter: RleEncoder<S, u64>,
+}
+
+impl<S: Sink> ObjIdEncoder<S> {
+    pub(crate) fn append<O>(&mut self, id: convert::ObjId<O>)
+    where
+        O: convert::OpId<usize>,
+    {
+        match id {
+            convert::ObjId::Root => {
+                self.actor.append_null();
+                self.counter.append_null();
+            }
+            convert::ObjId::Op(o) => {
+                self.actor.append_value(o.actor() as u64);
+                self.counter.append_value(o.counter());
+            }
+        }
+    }
+}
+
+impl ObjIdEncoder<Vec<u8>> {
+    pub(crate) fn new() -> Self {
+        Self {
+            actor: RleEncoder::from(Vec::new()),
+            counter: RleEncoder::from(Vec::new()),
+        }
+    }
+
+    pub(crate) fn finish(self, out: &mut Vec<u8>) -> Option<ObjIdRange> {
+        let start = out.len();
+        let (actor, _) = self.actor.finish();
+        out.extend(actor);
+        let actor_end = out.len();
+
+        let (counter, _) = self.counter.finish();
+        out.extend(counter);
+        let counter_end = out.len();
+
+        if start == counter_end {
+            None
+        } else {
+            Some(ObjIdRange {
+                actor: (start..actor_end).into(),
+                counter: (actor_end..counter_end).into(),
+            })
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/opid.rs.html b/src/automerge/columnar/column_range/opid.rs.html new file mode 100644 index 00000000..3789452f --- /dev/null +++ b/src/automerge/columnar/column_range/opid.rs.html @@ -0,0 +1,423 @@ +opid.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+
use std::ops::Range;
+
+use super::{DeltaRange, RleRange};
+use crate::{
+    columnar::{
+        encoding::{
+            raw, DecodeColumnError, DeltaDecoder, DeltaEncoder, RleDecoder, RleEncoder, Sink,
+        },
+        SpliceError,
+    },
+    convert,
+    types::OpId,
+};
+
+#[derive(Debug, Clone)]
+pub(crate) struct OpIdRange {
+    actor: RleRange<u64>,
+    counter: DeltaRange,
+}
+
+impl OpIdRange {
+    pub(crate) fn new(actor: RleRange<u64>, counter: DeltaRange) -> Self {
+        Self { actor, counter }
+    }
+
+    pub(crate) fn actor_range(&self) -> &RleRange<u64> {
+        &self.actor
+    }
+
+    pub(crate) fn counter_range(&self) -> &DeltaRange {
+        &self.counter
+    }
+
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> OpIdIter<'a> {
+        OpIdIter {
+            actor: self.actor.decoder(data),
+            counter: self.counter.decoder(data),
+        }
+    }
+
+    pub(crate) fn encode<I, O>(opids: I, out: &mut Vec<u8>) -> Self
+    where
+        O: convert::OpId<usize>,
+        I: Iterator<Item = O> + Clone,
+    {
+        let actor = RleRange::encode(opids.clone().map(|o| Some(o.actor() as u64)), out);
+        let counter = DeltaRange::encode(opids.map(|o| Some(o.counter() as i64)), out);
+        Self { actor, counter }
+    }
+
+    #[allow(dead_code)]
+    pub(crate) fn splice<I, E, O>(
+        &self,
+        data: &[u8],
+        replace: Range<usize>,
+        replace_with: I,
+        out: &mut Vec<u8>,
+    ) -> Result<Self, SpliceError<raw::Error, E>>
+    where
+        O: convert::OpId<usize>,
+        E: std::error::Error,
+        I: Iterator<Item = Result<O, E>> + Clone,
+    {
+        let actor = self.actor.splice(
+            data,
+            replace.clone(),
+            replace_with
+                .clone()
+                .map(|i| i.map(|i| Some(i.actor() as u64))),
+            out,
+        )?;
+        let counter = self.counter.splice(
+            data,
+            replace,
+            replace_with.map(|i| i.map(|i| Some(i.counter() as i64))),
+            out,
+        )?;
+        Ok(Self { actor, counter })
+    }
+}
+
+#[derive(Clone)]
+pub(crate) struct OpIdIter<'a> {
+    actor: RleDecoder<'a, u64>,
+    counter: DeltaDecoder<'a>,
+}
+
+impl<'a> OpIdIter<'a> {
+    pub(crate) fn done(&self) -> bool {
+        self.counter.done()
+    }
+}
+
+impl<'a> OpIdIter<'a> {
+    fn try_next(&mut self) -> Result<Option<OpId>, DecodeColumnError> {
+        let actor = self
+            .actor
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("actor", e))?;
+        let counter = self
+            .counter
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("counter", e))?;
+        match (actor, counter) {
+            (Some(Some(a)), Some(Some(c))) => match u32::try_from(c) {
+                Ok(c) => Ok(Some(OpId::new(c as u64, a as usize))),
+                Err(_) => Err(DecodeColumnError::invalid_value(
+                    "counter",
+                    "negative or large value encountered",
+                )),
+            },
+            (Some(None), _) => Err(DecodeColumnError::unexpected_null("actor")),
+            (_, Some(None)) => Err(DecodeColumnError::unexpected_null("actor")),
+            (Some(_), None) => Err(DecodeColumnError::unexpected_null("ctr")),
+            (None, Some(_)) => Err(DecodeColumnError::unexpected_null("actor")),
+            (None, None) => Ok(None),
+        }
+    }
+}
+
+impl<'a> Iterator for OpIdIter<'a> {
+    type Item = Result<OpId, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+pub(crate) struct OpIdEncoder<S> {
+    actor: RleEncoder<S, u64>,
+    counter: DeltaEncoder<S>,
+}
+
+impl<S: Sink> OpIdEncoder<S> {
+    pub(crate) fn append<O: convert::OpId<usize>>(&mut self, opid: O) {
+        self.actor.append_value(opid.actor() as u64);
+        self.counter.append_value(opid.counter() as i64);
+    }
+}
+
+impl OpIdEncoder<Vec<u8>> {
+    pub(crate) fn new() -> Self {
+        Self {
+            actor: RleEncoder::from(Vec::new()),
+            counter: DeltaEncoder::from(Vec::new()),
+        }
+    }
+
+    pub(crate) fn finish(self, out: &mut Vec<u8>) -> OpIdRange {
+        let start = out.len();
+        let (actor, _) = self.actor.finish();
+        out.extend(actor);
+        let actor_end = out.len();
+
+        let (counter, _) = self.counter.finish();
+        out.extend(counter);
+        let counter_end = out.len();
+
+        OpIdRange {
+            actor: (start..actor_end).into(),
+            counter: (actor_end..counter_end).into(),
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::{
+        columnar::encoding::properties::{opid, splice_scenario},
+        types::OpId,
+    };
+    use proptest::prelude::*;
+    use std::convert::Infallible;
+
+    fn encode(vals: &[OpId]) -> (Vec<u8>, OpIdRange) {
+        let mut out = Vec::new();
+        let r = OpIdRange::encode(vals.iter().copied(), &mut out);
+        (out, r)
+    }
+
+    fn decode(buf: &[u8], range: OpIdRange) -> Vec<OpId> {
+        range.iter(buf).map(|c| c.unwrap()).collect()
+    }
+
+    proptest! {
+        #[test]
+        fn encode_decode_opid(opids in proptest::collection::vec(opid(), 0..100)) {
+            let (encoded, range) = encode(&opids);
+            assert_eq!(opids, decode(&encoded[..], range));
+        }
+
+        #[test]
+        fn splice_opids(scenario in splice_scenario(opid())) {
+            let (encoded, range) = encode(&scenario.initial_values);
+            let mut out = Vec::new();
+            let replacements: Vec<Result<OpId, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect();
+            let new_range = range.splice(
+                &encoded,
+                scenario.replace_range.clone(),
+                replacements.into_iter(),
+                &mut out
+            ).unwrap();
+            let result = decode(&out[..], new_range);
+            scenario.check(result);
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/opid_list.rs.html b/src/automerge/columnar/column_range/opid_list.rs.html new file mode 100644 index 00000000..9cf87507 --- /dev/null +++ b/src/automerge/columnar/column_range/opid_list.rs.html @@ -0,0 +1,661 @@ +opid_list.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+
use std::{convert::Infallible, ops::Range};
+
+use super::{DeltaRange, RleRange};
+use crate::{
+    columnar::{
+        encoding::{
+            raw, DecodeColumnError, DeltaDecoder, DeltaEncoder, RleDecoder, RleEncoder, Sink,
+        },
+        SpliceError,
+    },
+    convert,
+    types::OpId,
+};
+
+/// A collection of ranges which decode to lists of OpIds
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct OpIdListRange {
+    num: RleRange<u64>,
+    actor: RleRange<u64>,
+    counter: DeltaRange,
+}
+
+impl OpIdListRange {
+    pub(crate) fn new(num: RleRange<u64>, actor: RleRange<u64>, counter: DeltaRange) -> Self {
+        Self {
+            num,
+            actor,
+            counter,
+        }
+    }
+
+    pub(crate) fn group_range(&self) -> &RleRange<u64> {
+        &self.num
+    }
+
+    pub(crate) fn actor_range(&self) -> &RleRange<u64> {
+        &self.actor
+    }
+
+    pub(crate) fn counter_range(&self) -> &DeltaRange {
+        &self.counter
+    }
+
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> OpIdListIter<'a> {
+        OpIdListIter {
+            num: self.num.decoder(data),
+            actor: self.actor.decoder(data),
+            counter: self.counter.decoder(data),
+        }
+    }
+
+    pub(crate) fn encode<O, I, II, IE>(opids: I, out: &mut Vec<u8>) -> Self
+    where
+        O: convert::OpId<usize>,
+        II: IntoIterator<Item = O, IntoIter = IE>,
+        IE: Iterator<Item = O> + ExactSizeIterator,
+        I: Iterator<Item = II> + Clone,
+    {
+        let num = RleRange::encode(
+            opids.clone().map(|os| Some(os.into_iter().len() as u64)),
+            out,
+        );
+        let actor = RleRange::encode(
+            opids
+                .clone()
+                .flat_map(|os| os.into_iter().map(|o| Some(o.actor() as u64))),
+            out,
+        );
+        let counter = DeltaRange::encode(
+            opids.flat_map(|os| os.into_iter().map(|o| Some(o.counter() as i64))),
+            out,
+        );
+        Self {
+            num,
+            actor,
+            counter,
+        }
+    }
+
+    #[allow(dead_code)]
+    pub(crate) fn splice<I, II, IE, R>(
+        &self,
+        data: &[u8],
+        replace: Range<usize>,
+        replace_with: I,
+        out: &mut Vec<u8>,
+    ) -> Result<Self, SpliceError<raw::Error, R>>
+    where
+        R: std::error::Error + Clone,
+        II: IntoIterator<Item = OpId, IntoIter = IE>,
+        IE: Iterator<Item = OpId> + ExactSizeIterator,
+        I: Iterator<Item = Result<II, R>> + Clone,
+    {
+        let group_replace = group_replace_range(replace.clone(), self.num.decoder(data))
+            .map_err(|e| e.existing())?;
+        let num = self.num.splice(
+            data,
+            replace,
+            replace_with
+                .clone()
+                .map(|elems| elems.map(|elems| Some(elems.into_iter().len() as u64))),
+            out,
+        )?;
+        let actor = self.actor.splice(
+            data,
+            group_replace.clone(),
+            replace_with.clone().flat_map(|elem| match elem {
+                Err(e) => SplicingIter::Failed(e),
+                Ok(i) => SplicingIter::Iter(i.into_iter(), |oid: OpId| oid.actor() as u64),
+            }),
+            out,
+        )?;
+        let counter = self.counter.splice(
+            data,
+            group_replace,
+            replace_with.flat_map(|elem| match elem {
+                Err(e) => SplicingIter::Failed(e),
+                Ok(i) => SplicingIter::Iter(i.into_iter(), |oid: OpId| oid.counter() as i64),
+            }),
+            out,
+        )?;
+        Ok(Self {
+            num,
+            actor,
+            counter,
+        })
+    }
+}
+
+enum SplicingIter<E, I, F> {
+    Failed(E),
+    Iter(I, F),
+}
+
+impl<E, I, F, U> Iterator for SplicingIter<E, I, F>
+where
+    E: std::error::Error + Clone,
+    I: Iterator<Item = OpId>,
+    F: Fn(OpId) -> U,
+{
+    type Item = Result<Option<U>, E>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        match self {
+            Self::Failed(e) => Some(Err(e.clone())),
+            Self::Iter(i, f) => i.next().map(|oid| Ok(Some(f(oid)))),
+        }
+    }
+}
+
+/// Find the replace range for the grouped columns.
+fn group_replace_range(
+    replace: Range<usize>,
+    mut num: RleDecoder<'_, u64>,
+) -> Result<Range<usize>, SpliceError<raw::Error, Infallible>> {
+    let mut idx = 0;
+    let mut grouped_replace_start: usize = 0;
+    let mut grouped_replace_len: usize = 0;
+    while idx < replace.start {
+        if let Some(Some(count)) = num.next().transpose().map_err(SpliceError::ReadExisting)? {
+            grouped_replace_start += count as usize;
+        }
+        idx += 1;
+    }
+    for _ in 0..replace.len() {
+        if let Some(Some(count)) = num.next().transpose().map_err(SpliceError::ReadExisting)? {
+            grouped_replace_len += count as usize;
+        }
+    }
+    Ok(grouped_replace_start..(grouped_replace_start + grouped_replace_len))
+}
+
+#[derive(Clone)]
+pub(crate) struct OpIdListIter<'a> {
+    num: RleDecoder<'a, u64>,
+    actor: RleDecoder<'a, u64>,
+    counter: DeltaDecoder<'a>,
+}
+
+impl<'a> OpIdListIter<'a> {
+    fn try_next(&mut self) -> Result<Option<Vec<OpId>>, DecodeColumnError> {
+        let num = match self
+            .num
+            .next()
+            .transpose()
+            .map_err(|e| DecodeColumnError::decode_raw("num", e))?
+        {
+            Some(Some(n)) => n,
+            Some(None) => return Err(DecodeColumnError::unexpected_null("num")),
+            None => return Ok(None),
+        };
+
+        // We cannot trust `num` because it is provided over the network,
+        // but in the common case it will be correct and small (so we
+        // use with_capacity to make sure the vector is precisely the right
+        // size).
+        let mut p = Vec::with_capacity(std::cmp::min(num, 100) as usize);
+        for _ in 0..num {
+            let actor = self
+                .actor
+                .next()
+                .transpose()
+                .map_err(|e| DecodeColumnError::decode_raw("actor", e))?;
+            let counter = self
+                .counter
+                .next()
+                .transpose()
+                .map_err(|e| DecodeColumnError::decode_raw("counter", e))?;
+            match (actor, counter) {
+                (Some(Some(a)), Some(Some(ctr))) => match ctr.try_into() {
+                    Ok(ctr) => p.push(OpId::new(ctr, a as usize)),
+                    Err(_e) => {
+                        return Err(DecodeColumnError::invalid_value(
+                            "counter",
+                            "negative value for counter",
+                        ))
+                    }
+                },
+                (Some(None) | None, _) => return Err(DecodeColumnError::unexpected_null("actor")),
+                (_, Some(None) | None) => {
+                    return Err(DecodeColumnError::unexpected_null("counter"))
+                }
+            }
+        }
+        Ok(Some(p))
+    }
+}
+
+impl<'a> Iterator for OpIdListIter<'a> {
+    type Item = Result<Vec<OpId>, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+pub(crate) struct OpIdListEncoder<S> {
+    num: RleEncoder<S, u64>,
+    actor: RleEncoder<S, u64>,
+    counter: DeltaEncoder<S>,
+}
+
+impl<S: Sink> OpIdListEncoder<S> {
+    pub(crate) fn append<I, O>(&mut self, ids: I)
+    where
+        I: Iterator<Item = O> + ExactSizeIterator,
+        O: convert::OpId<usize>,
+    {
+        self.num.append_value(ids.len() as u64);
+        for id in ids {
+            self.actor.append_value(id.actor() as u64);
+            self.counter.append_value(id.counter() as i64);
+        }
+    }
+}
+
+impl OpIdListEncoder<Vec<u8>> {
+    pub(crate) fn new() -> Self {
+        Self {
+            num: RleEncoder::from(Vec::new()),
+            actor: RleEncoder::from(Vec::new()),
+            counter: DeltaEncoder::from(Vec::new()),
+        }
+    }
+
+    pub(crate) fn finish(self, out: &mut Vec<u8>) -> OpIdListRange {
+        let start = out.len();
+        let (num, _) = self.num.finish();
+        out.extend(num);
+        let num_end = out.len();
+
+        let (actor, _) = self.actor.finish();
+        out.extend(actor);
+        let actor_end = out.len();
+
+        let (counter, _) = self.counter.finish();
+        out.extend(counter);
+        let counter_end = out.len();
+
+        OpIdListRange {
+            num: (start..num_end).into(),
+            actor: (num_end..actor_end).into(),
+            counter: (actor_end..counter_end).into(),
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use proptest::collection::vec as propvec;
+    use proptest::prelude::*;
+
+    use crate::columnar::encoding::properties::{opid, splice_scenario};
+
+    fn encode(opids: Vec<Vec<OpId>>) -> (OpIdListRange, Vec<u8>) {
+        let mut out = Vec::new();
+        let range = OpIdListRange::encode(opids.iter(), &mut out);
+        (range, out)
+    }
+
+    fn decode(range: OpIdListRange, buf: &[u8]) -> Vec<Vec<OpId>> {
+        range.iter(buf).map(|c| c.unwrap()).collect()
+    }
+
+    proptest! {
+        #[test]
+        fn encode_decode_opid_list(opids in propvec(propvec(opid(), 0..100), 0..100)){
+            let (range, encoded) = encode(opids.clone());
+            let result = decode(range, &encoded);
+            assert_eq!(opids, result)
+        }
+
+        #[test]
+        fn splice_opid_list(scenario in splice_scenario(propvec(opid(), 0..100))) {
+            let (range, encoded) = encode(scenario.initial_values.clone());
+            let mut out = Vec::new();
+            let replacements: Vec<Result<Vec<OpId>, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect();
+            let new_range = range.splice(
+                &encoded,
+                scenario.replace_range.clone(),
+                replacements.into_iter(),
+                &mut out
+                ).unwrap();
+            let result = decode(new_range, &out[..]);
+            scenario.check(result);
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/raw.rs.html b/src/automerge/columnar/column_range/raw.rs.html new file mode 100644 index 00000000..24021b2f --- /dev/null +++ b/src/automerge/columnar/column_range/raw.rs.html @@ -0,0 +1,79 @@ +raw.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+
use std::{borrow::Cow, ops::Range};
+
+use crate::columnar::encoding::RawDecoder;
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct RawRange(Range<usize>);
+
+impl RawRange {
+    pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> RawDecoder<'a> {
+        RawDecoder::from(Cow::Borrowed(&data[self.0.clone()]))
+    }
+
+    pub(crate) fn is_empty(&self) -> bool {
+        self.0.is_empty()
+    }
+
+    pub(crate) fn end(&self) -> usize {
+        self.0.end
+    }
+}
+
+impl AsRef<Range<usize>> for RawRange {
+    fn as_ref(&self) -> &Range<usize> {
+        &self.0
+    }
+}
+
+impl From<Range<usize>> for RawRange {
+    fn from(r: Range<usize>) -> RawRange {
+        RawRange(r)
+    }
+}
+
+impl From<RawRange> for Range<usize> {
+    fn from(r: RawRange) -> Range<usize> {
+        r.0
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/rle.rs.html b/src/automerge/columnar/column_range/rle.rs.html new file mode 100644 index 00000000..9618ef16 --- /dev/null +++ b/src/automerge/columnar/column_range/rle.rs.html @@ -0,0 +1,435 @@ +rle.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+
use std::{
+    borrow::{Borrow, Cow},
+    fmt::Debug,
+    marker::PhantomData,
+    ops::Range,
+};
+
+use crate::columnar::{
+    encoding::{raw, Decodable, Encodable, RleDecoder, RleEncoder, Sink},
+    SpliceError,
+};
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct RleRange<T> {
+    range: Range<usize>,
+    _phantom: PhantomData<T>,
+}
+
+impl<T> RleRange<T> {
+    pub(crate) fn decoder<'a>(&self, data: &'a [u8]) -> RleDecoder<'a, T> {
+        RleDecoder::from(Cow::Borrowed(&data[self.range.clone()]))
+    }
+
+    pub(crate) fn is_empty(&self) -> bool {
+        self.range.is_empty()
+    }
+
+    pub(crate) fn start(&self) -> usize {
+        self.range.start
+    }
+
+    pub(crate) fn end(&self) -> usize {
+        self.range.end
+    }
+}
+
+impl<T: Clone + Decodable + Encodable + PartialEq + Eq + Debug> RleRange<T> {
+    /// The semantics of this are similar to `Vec::splice`
+    ///
+    /// # Arguments
+    ///
+    /// * `data` - The buffer containing the original rows
+    /// * `replace` - The range of elements in the original collection to replace
+    /// * `replace_with` - An iterator to insert in place of the original elements.
+    /// * `out` - The buffer to encode the resulting collection into
+    pub(crate) fn splice<
+        'a,
+        I: Iterator<Item = Result<Option<TB>, E>>,
+        TB: Borrow<T> + 'a,
+        E: std::error::Error,
+    >(
+        &self,
+        data: &[u8],
+        replace: Range<usize>,
+        mut replace_with: I,
+        out: &mut Vec<u8>,
+    ) -> Result<Self, SpliceError<raw::Error, E>> {
+        let start = out.len();
+        let mut encoder = self.encoder(out);
+        let mut decoder = self.decoder(data);
+        let mut idx = 0;
+        while idx < replace.start {
+            match decoder
+                .next()
+                .transpose()
+                .map_err(SpliceError::ReadExisting)?
+            {
+                Some(elem) => encoder.append(elem.as_ref()),
+                None => panic!("out of bounds"),
+            }
+            idx += 1;
+        }
+        for _ in 0..replace.len() {
+            decoder.next();
+            if let Some(next) = replace_with
+                .next()
+                .transpose()
+                .map_err(SpliceError::ReadReplace)?
+            {
+                encoder.append(next.as_ref().map(|n| n.borrow()));
+            }
+        }
+        for next in replace_with {
+            let next = next.map_err(SpliceError::ReadReplace)?;
+            encoder.append(next.as_ref().map(|n| n.borrow()));
+        }
+        for next in decoder {
+            let next = next.map_err(SpliceError::ReadExisting)?;
+            encoder.append(next.as_ref());
+        }
+        let (_, len) = encoder.finish();
+        let range = start..(start + len);
+        Ok(range.into())
+    }
+}
+
+impl<'a, T: Encodable + Clone + PartialEq + 'a> RleRange<T> {
+    pub(crate) fn encoder<S: Sink>(&self, output: S) -> RleEncoder<S, T> {
+        RleEncoder::from(output)
+    }
+
+    pub(crate) fn encode<BT: Borrow<T>, I: Iterator<Item = Option<BT>>>(
+        items: I,
+        out: &mut Vec<u8>,
+    ) -> Self {
+        let start = out.len();
+        let mut encoder = RleEncoder::new(out);
+        for item in items {
+            encoder.append(item);
+        }
+        let (_, len) = encoder.finish();
+        (start..(start + len)).into()
+    }
+}
+
+impl<T> AsRef<Range<usize>> for RleRange<T> {
+    fn as_ref(&self) -> &Range<usize> {
+        &self.range
+    }
+}
+
+impl<T> From<Range<usize>> for RleRange<T> {
+    fn from(r: Range<usize>) -> RleRange<T> {
+        RleRange {
+            range: r,
+            _phantom: PhantomData,
+        }
+    }
+}
+
+impl<T> From<RleRange<T>> for Range<usize> {
+    fn from(r: RleRange<T>) -> Range<usize> {
+        r.range
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::columnar::encoding::properties::option_splice_scenario;
+    use proptest::prelude::*;
+    use std::{borrow::Cow, convert::Infallible};
+
+    #[test]
+    fn rle_int_round_trip() {
+        let vals = [1, 1, 2, 2, 3, 2, 3, 1, 3];
+        let mut buf = Vec::with_capacity(vals.len() * 3);
+        let mut encoder: RleEncoder<_, u64> = RleEncoder::new(&mut buf);
+        for val in vals {
+            encoder.append_value(val)
+        }
+        let (_, total_slice_len) = encoder.finish();
+        let mut decoder: RleDecoder<'_, u64> =
+            RleDecoder::from(Cow::Borrowed(&buf[0..total_slice_len]));
+        let mut result = Vec::new();
+        while let Some(Some(val)) = decoder.next().transpose().unwrap() {
+            result.push(val);
+        }
+        assert_eq!(result, vals);
+    }
+
+    #[test]
+    fn rle_int_insert() {
+        let vals = [1, 1, 2, 2, 3, 2, 3, 1, 3];
+        let mut buf = Vec::with_capacity(vals.len() * 3);
+        let mut encoder: RleEncoder<_, u64> = RleEncoder::new(&mut buf);
+        for val in vals.iter().take(4) {
+            encoder.append_value(val)
+        }
+        encoder.append_value(5);
+        for val in vals.iter().skip(4) {
+            encoder.append_value(val);
+        }
+        let (_, total_slice_len) = encoder.finish();
+        let mut decoder: RleDecoder<'_, u64> =
+            RleDecoder::from(Cow::Borrowed(&buf[0..total_slice_len]));
+        let mut result = Vec::new();
+        while let Some(Some(val)) = decoder.next().transpose().unwrap() {
+            result.push(val);
+        }
+        let expected = [1, 1, 2, 2, 5, 3, 2, 3, 1, 3];
+        assert_eq!(result, expected);
+    }
+
+    fn encode<T: Clone + Encodable + PartialEq>(vals: &[Option<T>]) -> (RleRange<T>, Vec<u8>) {
+        let mut buf = Vec::with_capacity(vals.len() * 3);
+        let range = RleRange::<T>::encode(vals.iter().map(|v| v.as_ref()), &mut buf);
+        (range, buf)
+    }
+
+    fn decode<T: Clone + Decodable + Debug>(range: RleRange<T>, buf: &[u8]) -> Vec<Option<T>> {
+        range.decoder(buf).collect::<Result<Vec<_>, _>>().unwrap()
+    }
+
+    proptest! {
+        #[test]
+        fn splice_ints(scenario in option_splice_scenario(any::<Option<i32>>())) {
+            let (range, buf) = encode(&scenario.initial_values);
+            let mut out = Vec::new();
+            let replacements: Vec<Result<Option<i32>, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect();
+            let new_range = range.splice(&buf, scenario.replace_range.clone(), replacements.into_iter(), &mut out).unwrap();
+            let result = decode::<i32>(new_range, &out);
+            scenario.check_optional(result)
+        }
+
+        #[test]
+        fn splice_strings(scenario in option_splice_scenario(any::<Option<String>>())) {
+            let (range, buf) = encode(&scenario.initial_values);
+            let mut out = Vec::new();
+            let replacements: Vec<Result<Option<String>, Infallible>> = scenario.replacements.iter().cloned().map(Ok).collect();
+            let new_range = range.splice(&buf, scenario.replace_range.clone(), replacements.into_iter(), &mut out).unwrap();
+            let result = decode::<String>(new_range, &out);
+            scenario.check_optional(result)
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/column_range/value.rs.html b/src/automerge/columnar/column_range/value.rs.html new file mode 100644 index 00000000..cf5c9bde --- /dev/null +++ b/src/automerge/columnar/column_range/value.rs.html @@ -0,0 +1,1097 @@ +value.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+
use std::{borrow::Cow, ops::Range};
+
+use crate::{
+    columnar::{
+        encoding::{
+            leb128::{lebsize, ulebsize},
+            raw, DecodeColumnError, DecodeError, RawBytes, RawDecoder, RawEncoder, RleDecoder,
+            RleEncoder, Sink,
+        },
+        SpliceError,
+    },
+    storage::parse::{
+        leb128::{leb128_i64, leb128_u64},
+        Input, ParseResult,
+    },
+    ScalarValue,
+};
+
+use super::{RawRange, RleRange};
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct ValueRange {
+    meta: RleRange<u64>,
+    raw: RawRange,
+}
+
+impl ValueRange {
+    pub(crate) fn new(meta: RleRange<u64>, raw: RawRange) -> Self {
+        Self { meta, raw }
+    }
+
+    pub(crate) fn range(&self) -> Range<usize> {
+        // This is a hack, instead `raw` should be `Option<RawRange>`
+        if self.raw.is_empty() {
+            self.meta.clone().into()
+        } else {
+            self.meta.start()..self.raw.end()
+        }
+    }
+
+    pub(crate) fn meta_range(&self) -> &RleRange<u64> {
+        &self.meta
+    }
+
+    pub(crate) fn raw_range(&self) -> &RawRange {
+        &self.raw
+    }
+
+    pub(crate) fn encode<'a, 'b, I>(items: I, out: &'b mut Vec<u8>) -> Self
+    where
+        I: Iterator<Item = Cow<'a, ScalarValue>> + Clone + 'a,
+    {
+        Self {
+            meta: (0..0).into(),
+            raw: (0..0).into(),
+        }
+        .splice(&[], 0..0, items, out)
+    }
+
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> ValueIter<'a> {
+        ValueIter {
+            meta: self.meta.decoder(data),
+            raw: self.raw.decoder(data),
+        }
+    }
+
+    pub(crate) fn splice<'b, I>(
+        &self,
+        data: &[u8],
+        replace: Range<usize>,
+        replace_with: I,
+        out: &mut Vec<u8>,
+    ) -> Self
+    where
+        I: Iterator<Item = Cow<'b, ScalarValue>> + Clone,
+    {
+        // SAFETY: try_splice fails if either the iterator of replacements fails, or the iterator
+        //         of existing elements fails. But the replacement iterator is infallible and there
+        //         are no existing elements
+        self.try_splice::<_, ()>(data, replace, replace_with.map(Ok), out)
+            .unwrap()
+    }
+
+    pub(crate) fn try_splice<'b, I, E>(
+        &self,
+        data: &[u8],
+        replace: Range<usize>,
+        mut replace_with: I,
+        out: &mut Vec<u8>,
+    ) -> Result<Self, SpliceError<raw::Error, E>>
+    where
+        I: Iterator<Item = Result<Cow<'b, ScalarValue>, E>> + Clone,
+    {
+        // Our semantics here are similar to those of Vec::splice. We can describe this
+        // imperatively like this:
+        //
+        // * First copy everything up to the start of `replace` into the output
+        // * For every index in `replace` skip that index from ourselves and if `replace_with`
+        //   returns `Some` then copy that value to the output
+        // * Once we have iterated past `replace.end` we continue to call `replace_with` until it
+        //   returns None, copying the results to the output
+        // * Finally we copy the remainder of our data into the output
+        //
+        // However, things are complicated by the fact that our data is stored in two columns. This
+        // means that we do this in two passes. First we execute the above logic for the metadata
+        // column. Then we do it all over again for the value column.
+
+        // First pass - metadata
+        //
+        // Copy the metadata decoder so we can iterate over it again when we read the values in the
+        // second pass
+        let start = out.len();
+        let mut meta_copy = self.meta.decoder(data);
+        let mut meta_out = RleEncoder::<_, u64>::from(&mut *out);
+        let mut idx = 0;
+        // Copy everything up to replace.start to the output
+        while idx < replace.start {
+            let val = meta_copy
+                .next()
+                .transpose()
+                .map_err(SpliceError::ReadExisting)?
+                .unwrap_or(None);
+            meta_out.append(val.as_ref());
+            idx += 1;
+        }
+        // Now step through replace, skipping our data and inserting the replacement data (if there
+        // is any)
+        let mut meta_replace_with = replace_with.clone();
+        for _ in 0..replace.len() {
+            meta_copy.next();
+            if let Some(val) = meta_replace_with.next() {
+                let val = val.map_err(SpliceError::ReadReplace)?;
+                // Note that we are just constructing metadata values here.
+                let meta_val = &u64::from(ValueMeta::from(val.as_ref()));
+                meta_out.append(Some(meta_val));
+            }
+            idx += 1;
+        }
+        // Copy any remaining input from the replacments to the output
+        for val in meta_replace_with {
+            let val = val.map_err(SpliceError::ReadReplace)?;
+            let meta_val = &u64::from(ValueMeta::from(val.as_ref()));
+            meta_out.append(Some(meta_val));
+            idx += 1;
+        }
+        // Now copy any remaining data we have to the output
+        while !meta_copy.done() {
+            let val = meta_copy
+                .next()
+                .transpose()
+                .map_err(SpliceError::ReadExisting)?
+                .unwrap_or(None);
+            meta_out.append(val.as_ref());
+        }
+        let (_, meta_len) = meta_out.finish();
+        let meta_range = start..(start + meta_len);
+
+        // Second pass, copying the values. For this pass we iterate over ourselves.
+        //
+        //
+        let mut value_range_len = 0;
+        let mut raw_encoder = RawEncoder::from(out);
+        let mut iter = self.iter(data);
+        idx = 0;
+        // Copy everything up to replace.start to the output
+        while idx < replace.start {
+            let val = iter.next().unwrap().unwrap_or(ScalarValue::Null);
+            value_range_len += encode_val(&mut raw_encoder, &val);
+            idx += 1;
+        }
+
+        // Now step through replace, skipping our data and inserting the replacement data (if there
+        // is any)
+        for _ in 0..replace.len() {
+            iter.next();
+            if let Some(val) = replace_with.next() {
+                let val = val.map_err(SpliceError::ReadReplace)?;
+                value_range_len += encode_val(&mut raw_encoder, val.as_ref());
+            }
+            idx += 1;
+        }
+        // Copy any remaining input from the replacments to the output
+        for val in replace_with {
+            let val = val.map_err(SpliceError::ReadReplace)?;
+            value_range_len += encode_val(&mut raw_encoder, val.as_ref());
+            idx += 1;
+        }
+        // Now copy any remaining data we have to the output
+        while !iter.done() {
+            let val = iter.next().unwrap().unwrap_or(ScalarValue::Null);
+            value_range_len += encode_val(&mut raw_encoder, &val);
+        }
+
+        let value_range = meta_range.end..(meta_range.end + value_range_len);
+
+        Ok(Self {
+            meta: meta_range.into(),
+            raw: value_range.into(),
+        })
+    }
+}
+
+#[derive(Debug, Clone)]
+pub(crate) struct ValueIter<'a> {
+    meta: RleDecoder<'a, u64>,
+    raw: RawDecoder<'a>,
+}
+
+impl<'a> Iterator for ValueIter<'a> {
+    type Item = Result<ScalarValue, DecodeColumnError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        let next = match self.meta.next().transpose() {
+            Ok(n) => n,
+            Err(e) => return Some(Err(DecodeColumnError::decode_raw("meta", e))),
+        };
+        match next {
+            Some(Some(next)) => {
+                let val_meta = ValueMeta::from(next);
+                #[allow(clippy::redundant_slicing)]
+                match val_meta.type_code() {
+                    ValueType::Null => Some(Ok(ScalarValue::Null)),
+                    ValueType::True => Some(Ok(ScalarValue::Boolean(true))),
+                    ValueType::False => Some(Ok(ScalarValue::Boolean(false))),
+                    ValueType::Uleb => self.parse_input(val_meta, leb128_u64),
+                    ValueType::Leb => self.parse_input(val_meta, leb128_i64),
+                    ValueType::String => self.parse_raw(val_meta, |bytes| {
+                        let val = std::str::from_utf8(bytes)
+                            .map_err(|e| DecodeColumnError::invalid_value("value", e.to_string()))?
+                            .into();
+                        Ok(ScalarValue::Str(val))
+                    }),
+                    ValueType::Float => self.parse_raw(val_meta, |bytes| {
+                        if val_meta.length() != 8 {
+                            return Err(DecodeColumnError::invalid_value(
+                                "value",
+                                format!("float should have length 8, had {0}", val_meta.length()),
+                            ));
+                        }
+                        let raw: [u8; 8] = bytes
+                            .try_into()
+                            // SAFETY: parse_raw() calls read_bytes(val_meta.length()) and we have
+                            //         checked that val_meta.length() == 8
+                            .unwrap();
+                        let val = f64::from_le_bytes(raw);
+                        Ok(ScalarValue::F64(val))
+                    }),
+                    ValueType::Counter => self.parse_input(val_meta, |input| {
+                        leb128_i64(input).map(|(i, n)| (i, ScalarValue::Counter(n.into())))
+                    }),
+                    ValueType::Timestamp => self.parse_input(val_meta, |input| {
+                        leb128_i64(input).map(|(i, n)| (i, ScalarValue::Timestamp(n)))
+                    }),
+                    ValueType::Unknown(code) => self.parse_raw(val_meta, |bytes| {
+                        Ok(ScalarValue::Unknown {
+                            type_code: code,
+                            bytes: bytes.to_vec(),
+                        })
+                    }),
+                    ValueType::Bytes => match self.raw.read_bytes(val_meta.length()) {
+                        Err(e) => Some(Err(DecodeColumnError::invalid_value(
+                            "value",
+                            e.to_string(),
+                        ))),
+                        Ok(bytes) => Some(Ok(ScalarValue::Bytes(bytes.to_vec()))),
+                    },
+                }
+            }
+            Some(None) => Some(Err(DecodeColumnError::unexpected_null("meta"))),
+            None => None,
+        }
+    }
+}
+
+impl<'a> ValueIter<'a> {
+    fn parse_raw<'b, R, F: Fn(&'b [u8]) -> Result<R, DecodeColumnError>>(
+        &'b mut self,
+        meta: ValueMeta,
+        f: F,
+    ) -> Option<Result<R, DecodeColumnError>> {
+        let raw = match self.raw.read_bytes(meta.length()) {
+            Err(e) => {
+                return Some(Err(DecodeColumnError::invalid_value(
+                    "value",
+                    e.to_string(),
+                )))
+            }
+            Ok(bytes) => bytes,
+        };
+        Some(f(raw))
+    }
+
+    fn parse_input<'b, R, F: Fn(Input<'b>) -> ParseResult<'b, R, DecodeError>>(
+        &'b mut self,
+        meta: ValueMeta,
+        f: F,
+    ) -> Option<Result<ScalarValue, DecodeColumnError>>
+    where
+        R: Into<ScalarValue>,
+    {
+        self.parse_raw(meta, |raw| match f(Input::new(raw)) {
+            Err(e) => Err(DecodeColumnError::invalid_value("value", e.to_string())),
+            Ok((i, _)) if !i.is_empty() => {
+                Err(DecodeColumnError::invalid_value("value", "extra bytes"))
+            }
+            Ok((_, v)) => Ok(v.into()),
+        })
+    }
+
+    pub(crate) fn done(&self) -> bool {
+        self.meta.done()
+    }
+}
+
+/// Appends values row-wise. That is to say, this struct manages two separate chunks of memory, one
+/// for the value metadata and one for the raw values. To use it, create a new encoder using
+/// `ValueEncoder::new`, sequentially append values using `ValueEncoder::append`, and finallly
+/// concatenate the two columns and append them to a buffer returning the range within the output
+/// buffer which contains the concatenated columns using `ValueEncoder::finish`.
+pub(crate) struct ValueEncoder<S> {
+    meta: RleEncoder<S, u64>,
+    raw: RawEncoder<S>,
+}
+
+impl<S: Sink> ValueEncoder<S> {
+    pub(crate) fn append(&mut self, value: &ScalarValue) {
+        let meta_val = &u64::from(ValueMeta::from(value));
+        self.meta.append_value(meta_val);
+        encode_val(&mut self.raw, value);
+    }
+}
+
+impl ValueEncoder<Vec<u8>> {
+    pub(crate) fn new() -> Self {
+        Self {
+            meta: RleEncoder::new(Vec::new()),
+            raw: RawEncoder::from(Vec::new()),
+        }
+    }
+    pub(crate) fn finish(self, out: &mut Vec<u8>) -> ValueRange {
+        let meta_start = out.len();
+        let (meta, _) = self.meta.finish();
+        out.extend(meta);
+        let meta_end = out.len();
+
+        let (val, _) = self.raw.finish();
+        out.extend(val);
+        let val_end = out.len();
+        ValueRange {
+            meta: (meta_start..meta_end).into(),
+            raw: (meta_end..val_end).into(),
+        }
+    }
+}
+
+fn encode_val<S: Sink>(out: &mut RawEncoder<S>, val: &ScalarValue) -> usize {
+    match val {
+        ScalarValue::Uint(i) => out.append(*i),
+        ScalarValue::Int(i) => out.append(*i),
+        ScalarValue::Null => 0,
+        ScalarValue::Boolean(_) => 0,
+        ScalarValue::Timestamp(i) => out.append(*i),
+        ScalarValue::F64(f) => out.append(*f),
+        ScalarValue::Counter(i) => out.append(i.start),
+        ScalarValue::Str(s) => out.append(RawBytes::from(s.as_bytes())),
+        ScalarValue::Bytes(b) => out.append(RawBytes::from(&b[..])),
+        ScalarValue::Unknown { bytes, .. } => out.append(RawBytes::from(&bytes[..])),
+    }
+}
+
+#[derive(Debug)]
+enum ValueType {
+    Null,
+    False,
+    True,
+    Uleb,
+    Leb,
+    Float,
+    String,
+    Bytes,
+    Counter,
+    Timestamp,
+    Unknown(u8),
+}
+
+#[derive(Copy, Clone)]
+struct ValueMeta(u64);
+
+impl ValueMeta {
+    fn type_code(&self) -> ValueType {
+        let low_byte = (self.0 as u8) & 0b00001111;
+        match low_byte {
+            0 => ValueType::Null,
+            1 => ValueType::False,
+            2 => ValueType::True,
+            3 => ValueType::Uleb,
+            4 => ValueType::Leb,
+            5 => ValueType::Float,
+            6 => ValueType::String,
+            7 => ValueType::Bytes,
+            8 => ValueType::Counter,
+            9 => ValueType::Timestamp,
+            other => ValueType::Unknown(other),
+        }
+    }
+
+    fn length(&self) -> usize {
+        (self.0 >> 4) as usize
+    }
+}
+
+impl From<&ScalarValue> for ValueMeta {
+    fn from(p: &ScalarValue) -> Self {
+        match p {
+            ScalarValue::Uint(i) => Self((ulebsize(*i) << 4) | 3),
+            ScalarValue::Int(i) => Self((lebsize(*i) << 4) | 4),
+            ScalarValue::Null => Self(0),
+            ScalarValue::Boolean(b) => Self(match b {
+                false => 1,
+                true => 2,
+            }),
+            ScalarValue::Timestamp(i) => Self((lebsize(*i) << 4) | 9),
+            ScalarValue::F64(_) => Self((8 << 4) | 5),
+            ScalarValue::Counter(i) => Self((lebsize(i.start) << 4) | 8),
+            ScalarValue::Str(s) => Self(((s.as_bytes().len() as u64) << 4) | 6),
+            ScalarValue::Bytes(b) => Self(((b.len() as u64) << 4) | 7),
+            ScalarValue::Unknown { type_code, bytes } => {
+                Self(((bytes.len() as u64) << 4) | (*type_code as u64))
+            }
+        }
+    }
+}
+
+impl From<u64> for ValueMeta {
+    fn from(raw: u64) -> Self {
+        ValueMeta(raw)
+    }
+}
+
+impl From<ValueMeta> for u64 {
+    fn from(v: ValueMeta) -> Self {
+        v.0
+    }
+}
+
+impl From<&ScalarValue> for ValueType {
+    fn from(p: &ScalarValue) -> Self {
+        match p {
+            ScalarValue::Uint(_) => ValueType::Uleb,
+            ScalarValue::Int(_) => ValueType::Leb,
+            ScalarValue::Null => ValueType::Null,
+            ScalarValue::Boolean(b) => match b {
+                true => ValueType::True,
+                false => ValueType::False,
+            },
+            ScalarValue::Timestamp(_) => ValueType::Timestamp,
+            ScalarValue::F64(_) => ValueType::Float,
+            ScalarValue::Counter(_) => ValueType::Counter,
+            ScalarValue::Str(_) => ValueType::String,
+            ScalarValue::Bytes(_) => ValueType::Bytes,
+            ScalarValue::Unknown { type_code, .. } => ValueType::Unknown(*type_code),
+        }
+    }
+}
+
+impl From<ValueType> for u64 {
+    fn from(v: ValueType) -> Self {
+        match v {
+            ValueType::Null => 0,
+            ValueType::False => 1,
+            ValueType::True => 2,
+            ValueType::Uleb => 3,
+            ValueType::Leb => 4,
+            ValueType::Float => 5,
+            ValueType::String => 6,
+            ValueType::Bytes => 7,
+            ValueType::Counter => 8,
+            ValueType::Timestamp => 9,
+            ValueType::Unknown(other) => other as u64,
+        }
+    }
+}
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::columnar::encoding::properties::{scalar_value, splice_scenario};
+    use proptest::prelude::*;
+    use std::borrow::Cow;
+
+    fn encode_values(vals: &[ScalarValue]) -> (Vec<u8>, ValueRange) {
+        let mut out = Vec::new();
+        let range = ValueRange::encode(vals.iter().cloned().map(Cow::Owned), &mut out);
+        (out, range)
+    }
+
+    fn encode_rowwise(vals: &[ScalarValue]) -> (Vec<u8>, ValueRange) {
+        let mut out = Vec::new();
+        let mut encoder = ValueEncoder::new();
+        for val in vals {
+            encoder.append(val);
+        }
+        let range = encoder.finish(&mut out);
+        (out, range)
+    }
+
+    proptest! {
+        #[test]
+        fn test_initialize_splice(values in proptest::collection::vec(scalar_value(), 0..100)) {
+            let (out, range) = encode_values(&values[..]);
+            let testvals = range.iter(&out).collect::<Result<Vec<_>, _>>().unwrap();
+            assert_eq!(values, testvals);
+        }
+
+        #[test]
+        fn test_splice_values(scenario in splice_scenario(scalar_value())){
+            let (out, range) = encode_values(&scenario.initial_values);
+            let mut spliced = Vec::new();
+            let new_range = range
+                .splice(
+                    &out,
+                    scenario.replace_range.clone(),
+                    scenario.replacements.clone().into_iter().map(Cow::Owned),
+                    &mut spliced,
+                );
+            let result_values = new_range.iter(&spliced).collect::<Result<Vec<_>, _>>().unwrap();
+            let mut expected: Vec<_> = scenario.initial_values.clone();
+            expected.splice(scenario.replace_range, scenario.replacements);
+            assert_eq!(result_values, expected);
+        }
+
+        #[test]
+        fn encode_row_wise_and_columnwise_equal(values in proptest::collection::vec(scalar_value(), 0..50)) {
+            let (colwise, col_range) = encode_values(&values[..]);
+            let (rowwise, row_range) = encode_rowwise(&values[..]);
+            assert_eq!(colwise, rowwise);
+            assert_eq!(col_range, row_range);
+        }
+    }
+
+    #[test]
+    fn test_value_uleb() {
+        let vals = [ScalarValue::Uint(127), ScalarValue::Uint(183)];
+        let (out, range) = encode_values(&vals);
+        let result = range.iter(&out).collect::<Result<Vec<_>, _>>().unwrap();
+        assert_eq!(result, vals);
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding.rs.html b/src/automerge/columnar/encoding.rs.html new file mode 100644 index 00000000..83ec59fb --- /dev/null +++ b/src/automerge/columnar/encoding.rs.html @@ -0,0 +1,133 @@ +encoding.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+
pub(crate) mod raw;
+
+pub(crate) use raw::{RawDecoder, RawEncoder};
+mod rle;
+pub(crate) use rle::{RleDecoder, RleEncoder};
+mod boolean;
+pub(crate) use boolean::{BooleanDecoder, BooleanEncoder};
+mod delta;
+pub(crate) use delta::{DeltaDecoder, DeltaEncoder};
+pub(crate) mod leb128;
+
+pub(crate) mod column_decoder;
+pub(crate) use column_decoder::ColumnDecoder;
+
+#[cfg(test)]
+pub(crate) mod properties;
+
+pub(crate) trait Sink {
+    fn append(&mut self, bytes: &[u8]);
+}
+
+impl<'a> Sink for &'a mut Vec<u8> {
+    fn append(&mut self, bytes: &[u8]) {
+        self.extend(bytes)
+    }
+}
+
+impl Sink for Vec<u8> {
+    fn append(&mut self, bytes: &[u8]) {
+        self.extend(bytes)
+    }
+}
+
+pub(crate) trait Encodable {
+    fn encode<S: Sink>(&self, out: &mut S) -> usize;
+}
+
+mod encodable_impls;
+pub(crate) use encodable_impls::RawBytes;
+
+#[derive(thiserror::Error, Debug)]
+pub(crate) enum DecodeError {
+    #[error(transparent)]
+    Io(#[from] std::io::Error),
+    #[error("invalid integer")]
+    FromInt(#[from] std::num::TryFromIntError),
+    #[error("bad leb128")]
+    BadLeb(#[from] ::leb128::read::Error),
+    #[error(transparent)]
+    BadLeb128(#[from] crate::storage::parse::leb128::Error),
+    #[error("attempted to allocate {attempted} which is larger than the maximum of {maximum}")]
+    OverlargeAllocation { attempted: usize, maximum: usize },
+    #[error("invalid string encoding")]
+    BadString,
+}
+
+pub(crate) trait Decodable: Sized {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: std::io::Read;
+}
+mod decodable_impls;
+
+pub(crate) mod col_error;
+pub(crate) use col_error::DecodeColumnError;
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/boolean.rs.html b/src/automerge/columnar/encoding/boolean.rs.html new file mode 100644 index 00000000..81aff2ef --- /dev/null +++ b/src/automerge/columnar/encoding/boolean.rs.html @@ -0,0 +1,265 @@ +boolean.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+
use std::borrow::Cow;
+
+use super::{raw, Encodable, RawDecoder, Sink};
+
+/// Encodes booleans by storing the count of the same value.
+///
+/// The sequence of numbers describes the count of false values on even indices (0-indexed) and the
+/// count of true values on odd indices (0-indexed).
+///
+/// Counts are encoded as usize.
+pub(crate) struct BooleanEncoder<S> {
+    written: usize,
+    //buf: &'a mut Vec<u8>,
+    buf: S,
+    last: bool,
+    count: usize,
+}
+
+impl BooleanEncoder<Vec<u8>> {
+    pub(crate) fn new() -> BooleanEncoder<Vec<u8>> {
+        BooleanEncoder::from_sink(Vec::new())
+    }
+}
+
+impl<S: Sink> BooleanEncoder<S> {
+    pub(crate) fn from_sink(sink: S) -> Self {
+        BooleanEncoder {
+            written: 0,
+            buf: sink,
+            last: false,
+            count: 0,
+        }
+    }
+
+    pub(crate) fn append(&mut self, value: bool) {
+        if value == self.last {
+            self.count += 1;
+        } else {
+            self.written += self.count.encode(&mut self.buf);
+            self.last = value;
+            self.count = 1;
+        }
+    }
+
+    pub(crate) fn finish(mut self) -> (S, usize) {
+        if self.count > 0 {
+            self.written += self.count.encode(&mut self.buf);
+        }
+        (self.buf, self.written)
+    }
+}
+
+impl<S: Sink> From<S> for BooleanEncoder<S> {
+    fn from(output: S) -> Self {
+        BooleanEncoder::from_sink(output)
+    }
+}
+
+/// See the discussion of [`BooleanEncoder`] for details on this encoding
+#[derive(Clone, Debug)]
+pub(crate) struct BooleanDecoder<'a> {
+    decoder: RawDecoder<'a>,
+    last_value: bool,
+    count: usize,
+}
+
+impl<'a> From<Cow<'a, [u8]>> for BooleanDecoder<'a> {
+    fn from(bytes: Cow<'a, [u8]>) -> Self {
+        BooleanDecoder {
+            decoder: RawDecoder::from(bytes),
+            last_value: true,
+            count: 0,
+        }
+    }
+}
+
+impl<'a> From<&'a [u8]> for BooleanDecoder<'a> {
+    fn from(d: &'a [u8]) -> Self {
+        Cow::Borrowed(d).into()
+    }
+}
+
+// this is an endless iterator that returns false after input is exhausted
+impl<'a> Iterator for BooleanDecoder<'a> {
+    type Item = Result<bool, raw::Error>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        while self.count == 0 {
+            if self.decoder.done() && self.count == 0 {
+                return None;
+            }
+            self.count = match self.decoder.read() {
+                Ok(c) => c,
+                Err(e) => return Some(Err(e)),
+            };
+            self.last_value = !self.last_value;
+        }
+        self.count -= 1;
+        Some(Ok(self.last_value))
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    use proptest::prelude::*;
+
+    fn encode(vals: &[bool]) -> Vec<u8> {
+        let mut buf = Vec::new();
+        let mut encoder = BooleanEncoder::from_sink(&mut buf);
+        for val in vals {
+            encoder.append(*val);
+        }
+        encoder.finish();
+        buf
+    }
+
+    fn decode(buf: &[u8]) -> Vec<bool> {
+        BooleanDecoder::from(buf)
+            .collect::<Result<Vec<_>, _>>()
+            .unwrap()
+    }
+
+    proptest! {
+        #[test]
+        fn encode_decode_bools(vals in proptest::collection::vec(any::<bool>(), 0..100)) {
+            assert_eq!(vals, decode(&encode(&vals)))
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/col_error.rs.html b/src/automerge/columnar/encoding/col_error.rs.html new file mode 100644 index 00000000..0ce481a7 --- /dev/null +++ b/src/automerge/columnar/encoding/col_error.rs.html @@ -0,0 +1,179 @@ +col_error.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+
#[derive(Clone, Debug)]
+pub struct DecodeColumnError {
+    path: Path,
+    error: DecodeColErrorKind,
+}
+
+impl std::error::Error for DecodeColumnError {}
+
+impl std::fmt::Display for DecodeColumnError {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        match &self.error {
+            DecodeColErrorKind::UnexpectedNull => {
+                write!(f, "unexpected null in column {}", self.path)
+            }
+            DecodeColErrorKind::InvalidValue { reason } => {
+                write!(f, "invalid value in column {}: {}", self.path, reason)
+            }
+        }
+    }
+}
+
+#[derive(Clone, Debug)]
+struct Path(Vec<String>);
+
+impl std::fmt::Display for Path {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        for (index, elem) in self.0.iter().rev().enumerate() {
+            if index != 0 {
+                write!(f, ":")?;
+            }
+            write!(f, "{}", elem)?;
+        }
+        Ok(())
+    }
+}
+
+impl Path {
+    fn push<S: AsRef<str>>(&mut self, col: S) {
+        self.0.push(col.as_ref().to_string())
+    }
+}
+
+impl<S: AsRef<str>> From<S> for Path {
+    fn from(p: S) -> Self {
+        Self(vec![p.as_ref().to_string()])
+    }
+}
+
+#[derive(Clone, Debug)]
+enum DecodeColErrorKind {
+    UnexpectedNull,
+    InvalidValue { reason: String },
+}
+
+impl DecodeColumnError {
+    pub(crate) fn decode_raw<S: AsRef<str>>(col: S, raw_err: super::raw::Error) -> Self {
+        Self {
+            path: col.into(),
+            error: DecodeColErrorKind::InvalidValue {
+                reason: raw_err.to_string(),
+            },
+        }
+    }
+
+    pub(crate) fn unexpected_null<S: AsRef<str>>(col: S) -> DecodeColumnError {
+        Self {
+            path: col.into(),
+            error: DecodeColErrorKind::UnexpectedNull,
+        }
+    }
+
+    pub(crate) fn invalid_value<S: AsRef<str>, R: AsRef<str>>(
+        col: S,
+        reason: R,
+    ) -> DecodeColumnError {
+        Self {
+            path: col.into(),
+            error: DecodeColErrorKind::InvalidValue {
+                reason: reason.as_ref().to_string(),
+            },
+        }
+    }
+
+    pub(crate) fn in_column<S: AsRef<str>>(mut self, col: S) -> DecodeColumnError {
+        self.path.push(col.as_ref());
+        self
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/column_decoder.rs.html b/src/automerge/columnar/encoding/column_decoder.rs.html new file mode 100644 index 00000000..42883102 --- /dev/null +++ b/src/automerge/columnar/encoding/column_decoder.rs.html @@ -0,0 +1,317 @@ +column_decoder.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+
use crate::{
+    columnar::{
+        column_range::{DepsIter, KeyIter, ObjIdIter, OpIdIter, OpIdListIter, ValueIter},
+        encoding, Key,
+    },
+    types::{ObjId, OpId},
+    ScalarValue,
+};
+
+pub(crate) trait IntoColError: std::error::Error {
+    fn into_col_error<S: AsRef<str>>(self, col_name: S) -> encoding::DecodeColumnError;
+}
+
+impl IntoColError for encoding::raw::Error {
+    fn into_col_error<S: AsRef<str>>(self, col_name: S) -> encoding::DecodeColumnError {
+        encoding::DecodeColumnError::decode_raw(col_name, self)
+    }
+}
+
+impl IntoColError for encoding::DecodeColumnError {
+    fn into_col_error<S: AsRef<str>>(self, col_name: S) -> encoding::DecodeColumnError {
+        self.in_column(col_name)
+    }
+}
+
+/// A helper trait which allows users to annotate decoders with errors containing a column name
+///
+/// Frequently we have an iterator which decodes values from some underlying column storage, e.g.
+/// we might have a `BooleanDecoder` which decodes items from an `insert` column. In the context
+/// where we are reading from this column we would like to produce errors which describe which
+/// column the error occurred in - to this end we require that the error produced by the underlying
+/// decoder implement `IntoColError` and we provide the `next_in_col` method to call
+/// `into_col_error` on any errors produced by the decoder.
+pub(crate) trait ColumnDecoder<T>: Iterator<Item = Result<T, Self::Error>> {
+    type Error: IntoColError;
+    type Value;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<Self::Value>, encoding::DecodeColumnError>;
+
+    /// Decode the next value from this decoder, annotating any error with the `col_name`
+    fn next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Self::Value, encoding::DecodeColumnError> {
+        self.maybe_next_in_col(&col_name)?
+            .ok_or_else(|| encoding::DecodeColumnError::unexpected_null(col_name))
+    }
+}
+
+impl<'a> ColumnDecoder<bool> for encoding::BooleanDecoder<'a> {
+    type Error = encoding::raw::Error;
+    type Value = bool;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<bool>, encoding::DecodeColumnError> {
+        self.next()
+            .transpose()
+            .map_err(|e| e.into_col_error(col_name))
+    }
+}
+
+impl<I, T, E> ColumnDecoder<Option<T>> for I
+where
+    I: Iterator<Item = Result<Option<T>, E>>,
+    E: IntoColError,
+{
+    type Error = E;
+    type Value = T;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<T>, encoding::DecodeColumnError> {
+        Ok(self
+            .next()
+            .transpose()
+            .map_err(|e| e.into_col_error(col_name))?
+            .flatten())
+    }
+}
+
+impl<'a> ColumnDecoder<Vec<OpId>> for OpIdListIter<'a> {
+    type Error = encoding::DecodeColumnError;
+    type Value = Vec<OpId>;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<Vec<OpId>>, encoding::DecodeColumnError> {
+        self.next().transpose().map_err(|e| e.in_column(col_name))
+    }
+}
+
+impl<'a> ColumnDecoder<ScalarValue> for ValueIter<'a> {
+    type Error = encoding::DecodeColumnError;
+    type Value = ScalarValue;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<Self::Value>, encoding::DecodeColumnError> {
+        self.next().transpose().map_err(|e| e.in_column(col_name))
+    }
+}
+
+impl<'a> ColumnDecoder<Key> for KeyIter<'a> {
+    type Error = encoding::DecodeColumnError;
+    type Value = Key;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<Self::Value>, encoding::DecodeColumnError> {
+        self.next().transpose().map_err(|e| e.in_column(col_name))
+    }
+}
+
+impl<'a> ColumnDecoder<ObjId> for ObjIdIter<'a> {
+    type Value = ObjId;
+    type Error = encoding::DecodeColumnError;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<Self::Value>, encoding::DecodeColumnError> {
+        self.next().transpose().map_err(|e| e.in_column(col_name))
+    }
+}
+
+impl<'a> ColumnDecoder<OpId> for OpIdIter<'a> {
+    type Value = OpId;
+    type Error = encoding::DecodeColumnError;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<Self::Value>, encoding::DecodeColumnError> {
+        self.next().transpose().map_err(|e| e.in_column(col_name))
+    }
+}
+
+impl<'a> ColumnDecoder<Vec<u64>> for DepsIter<'a> {
+    type Value = Vec<u64>;
+    type Error = encoding::DecodeColumnError;
+
+    fn maybe_next_in_col<S: AsRef<str>>(
+        &mut self,
+        col_name: S,
+    ) -> Result<Option<Self::Value>, encoding::DecodeColumnError> {
+        self.next().transpose().map_err(|e| e.in_column(col_name))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/decodable_impls.rs.html b/src/automerge/columnar/encoding/decodable_impls.rs.html new file mode 100644 index 00000000..bb396c16 --- /dev/null +++ b/src/automerge/columnar/encoding/decodable_impls.rs.html @@ -0,0 +1,353 @@ +decodable_impls.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+
use smol_str::SmolStr;
+use std::{borrow::Cow, convert::TryFrom, io::Read, str};
+
+use super::{Decodable, DecodeError};
+use crate::ActorId;
+
+// We don't allow decoding items which are larger than this. Almost nothing should be this large
+// so this is really guarding against bad encodings which accidentally grab loads of memory
+const MAX_ALLOCATION: usize = 1000000000;
+
+impl Decodable for u8 {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        let mut buffer = [0; 1];
+        bytes.read_exact(&mut buffer)?;
+        Ok(buffer[0])
+    }
+}
+
+impl Decodable for u32 {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        u64::decode::<R>(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from))
+    }
+}
+
+impl Decodable for usize {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        u64::decode::<R>(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from))
+    }
+}
+
+impl Decodable for isize {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        i64::decode::<R>(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from))
+    }
+}
+
+impl Decodable for i32 {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        i64::decode::<R>(bytes).and_then(|val| Self::try_from(val).map_err(DecodeError::from))
+    }
+}
+
+impl Decodable for i64 {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        leb128::read::signed(bytes).map_err(DecodeError::from)
+    }
+}
+
+impl Decodable for f64 {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        let mut buffer = [0; 8];
+        bytes.read_exact(&mut buffer)?;
+        Ok(Self::from_le_bytes(buffer))
+    }
+}
+
+impl Decodable for f32 {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        let mut buffer = [0; 4];
+        bytes.read_exact(&mut buffer)?;
+        Ok(Self::from_le_bytes(buffer))
+    }
+}
+
+impl Decodable for u64 {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        leb128::read::unsigned(bytes).map_err(DecodeError::from)
+    }
+}
+
+impl Decodable for Vec<u8> {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        let len = usize::decode::<R>(bytes)?;
+        if len == 0 {
+            return Ok(vec![]);
+        }
+        if len > MAX_ALLOCATION {
+            return Err(DecodeError::OverlargeAllocation {
+                attempted: len,
+                maximum: MAX_ALLOCATION,
+            });
+        }
+        let mut buffer = vec![0; len];
+        bytes.read_exact(buffer.as_mut_slice())?;
+        Ok(buffer)
+    }
+}
+
+impl Decodable for SmolStr {
+    fn decode<R>(bytes: &mut R) -> Result<SmolStr, DecodeError>
+    where
+        R: Read,
+    {
+        let buffer = Vec::decode(bytes)?;
+        str::from_utf8(&buffer)
+            .map(|t| t.into())
+            .map_err(|_| DecodeError::BadString)
+    }
+}
+
+impl Decodable for Cow<'static, SmolStr> {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: std::io::Read,
+    {
+        SmolStr::decode(bytes).map(Cow::Owned)
+    }
+}
+
+impl Decodable for String {
+    fn decode<R>(bytes: &mut R) -> Result<String, DecodeError>
+    where
+        R: Read,
+    {
+        let buffer = Vec::decode(bytes)?;
+        str::from_utf8(&buffer)
+            .map(|t| t.into())
+            .map_err(|_| DecodeError::BadString)
+    }
+}
+
+impl Decodable for Option<String> {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        let buffer = Vec::decode(bytes)?;
+        if buffer.is_empty() {
+            return Ok(None);
+        }
+        str::from_utf8(&buffer)
+            .map(|t| Some(t.into()))
+            .map_err(|_| DecodeError::BadString)
+    }
+}
+
+impl Decodable for ActorId {
+    fn decode<R>(bytes: &mut R) -> Result<Self, DecodeError>
+    where
+        R: Read,
+    {
+        let buffer = Vec::decode(bytes)?;
+        Ok(buffer.into())
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/delta.rs.html b/src/automerge/columnar/encoding/delta.rs.html new file mode 100644 index 00000000..fdc9505d --- /dev/null +++ b/src/automerge/columnar/encoding/delta.rs.html @@ -0,0 +1,193 @@ +delta.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+
use std::borrow::Cow;
+
+use super::{raw, RleDecoder, RleEncoder, Sink};
+
+/// Encodes integers as the change since the previous value.
+///
+/// The initial value is 0 encoded as u64. Deltas are encoded as i64.
+///
+/// Run length encoding is then applied to the resulting sequence.
+pub(crate) struct DeltaEncoder<S> {
+    rle: RleEncoder<S, i64>,
+    absolute_value: i64,
+}
+
+impl<S: Sink> DeltaEncoder<S> {
+    pub(crate) fn new(output: S) -> DeltaEncoder<S> {
+        DeltaEncoder {
+            rle: RleEncoder::new(output),
+            absolute_value: 0,
+        }
+    }
+
+    pub(crate) fn append_value(&mut self, value: i64) {
+        self.rle
+            .append_value(value.saturating_sub(self.absolute_value));
+        self.absolute_value = value;
+    }
+
+    pub(crate) fn append_null(&mut self) {
+        self.rle.append_null();
+    }
+
+    pub(crate) fn append(&mut self, val: Option<i64>) {
+        match val {
+            Some(v) => self.append_value(v),
+            None => self.append_null(),
+        }
+    }
+
+    pub(crate) fn finish(self) -> (S, usize) {
+        self.rle.finish()
+    }
+}
+
+impl<S: Sink> From<S> for DeltaEncoder<S> {
+    fn from(output: S) -> Self {
+        DeltaEncoder::new(output)
+    }
+}
+
+/// See discussion on [`DeltaEncoder`] for the format data is stored in.
+#[derive(Debug, Clone)]
+pub(crate) struct DeltaDecoder<'a> {
+    rle: RleDecoder<'a, i64>,
+    absolute_val: i64,
+}
+
+impl<'a> DeltaDecoder<'a> {
+    pub(crate) fn done(&self) -> bool {
+        self.rle.done()
+    }
+}
+
+impl<'a> From<Cow<'a, [u8]>> for DeltaDecoder<'a> {
+    fn from(bytes: Cow<'a, [u8]>) -> Self {
+        DeltaDecoder {
+            rle: RleDecoder::from(bytes),
+            absolute_val: 0,
+        }
+    }
+}
+
+impl<'a> From<&'a [u8]> for DeltaDecoder<'a> {
+    fn from(d: &'a [u8]) -> Self {
+        Cow::Borrowed(d).into()
+    }
+}
+
+impl<'a> Iterator for DeltaDecoder<'a> {
+    type Item = Result<Option<i64>, raw::Error>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        match self.rle.next() {
+            Some(Ok(next)) => match next {
+                Some(delta) => {
+                    self.absolute_val = self.absolute_val.saturating_add(delta);
+                    Some(Ok(Some(self.absolute_val)))
+                }
+                None => Some(Ok(None)),
+            },
+            Some(Err(e)) => Some(Err(e)),
+            None => None,
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/encodable_impls.rs.html b/src/automerge/columnar/encoding/encodable_impls.rs.html new file mode 100644 index 00000000..64edcf94 --- /dev/null +++ b/src/automerge/columnar/encoding/encodable_impls.rs.html @@ -0,0 +1,403 @@ +encodable_impls.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+
use super::{Encodable, Sink};
+
+use std::borrow::Cow;
+
+use smol_str::SmolStr;
+
+/// Encodes bytes without a length prefix
+pub(crate) struct RawBytes<'a>(Cow<'a, [u8]>);
+
+impl<'a> From<&'a [u8]> for RawBytes<'a> {
+    fn from(r: &'a [u8]) -> Self {
+        RawBytes(r.into())
+    }
+}
+
+impl<'a> From<Cow<'a, [u8]>> for RawBytes<'a> {
+    fn from(c: Cow<'a, [u8]>) -> Self {
+        RawBytes(c)
+    }
+}
+
+impl<'a> Encodable for RawBytes<'a> {
+    fn encode<S: Sink>(&self, out: &mut S) -> usize {
+        out.append(&self.0);
+        self.0.len()
+    }
+}
+
+impl Encodable for SmolStr {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        let bytes = self.as_bytes();
+        let len_encoded = bytes.len().encode(buf);
+        let data_len = bytes.encode(buf);
+        len_encoded + data_len
+    }
+}
+
+impl<'a> Encodable for Cow<'a, SmolStr> {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        self.as_ref().encode(buf)
+    }
+}
+
+impl Encodable for String {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        let bytes = self.as_bytes();
+        let len_encoded = bytes.len().encode(buf);
+        let data_len = bytes.encode(buf);
+        len_encoded + data_len
+    }
+}
+
+impl Encodable for Option<String> {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        if let Some(s) = self {
+            s.encode(buf)
+        } else {
+            0.encode(buf)
+        }
+    }
+}
+
+impl<'a> Encodable for Option<Cow<'a, SmolStr>> {
+    fn encode<S: Sink>(&self, out: &mut S) -> usize {
+        if let Some(s) = self {
+            SmolStr::encode(s, out)
+        } else {
+            0.encode(out)
+        }
+    }
+}
+
+impl Encodable for f64 {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        let bytes = self.to_le_bytes();
+        buf.append(&bytes);
+        bytes.len()
+    }
+}
+
+impl Encodable for f32 {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        let bytes = self.to_le_bytes();
+        buf.append(&bytes);
+        bytes.len()
+    }
+}
+
+impl Encodable for usize {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        (*self as u64).encode(buf)
+    }
+}
+
+impl Encodable for u32 {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        u64::from(*self).encode(buf)
+    }
+}
+
+impl Encodable for i32 {
+    fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+        i64::from(*self).encode(buf)
+    }
+}
+
+impl Encodable for [u8] {
+    fn encode<S: Sink>(&self, out: &mut S) -> usize {
+        out.append(self);
+        self.len()
+    }
+}
+
+impl Encodable for &[u8] {
+    fn encode<S: Sink>(&self, out: &mut S) -> usize {
+        out.append(self);
+        self.len()
+    }
+}
+
+impl<'a> Encodable for Cow<'a, [u8]> {
+    fn encode<S: Sink>(&self, out: &mut S) -> usize {
+        out.append(self);
+        self.len()
+    }
+}
+
+impl Encodable for Vec<u8> {
+    fn encode<S: Sink>(&self, out: &mut S) -> usize {
+        Encodable::encode(&self[..], out)
+    }
+}
+
+mod leb128_things {
+    use super::{Encodable, Sink};
+
+    impl Encodable for u64 {
+        fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+            let mut val = *self;
+            let mut bytes_written = 0;
+            loop {
+                let mut byte = low_bits_of_u64(val);
+                val >>= 7;
+                if val != 0 {
+                    // More bytes to come, so set the continuation bit.
+                    byte |= CONTINUATION_BIT;
+                }
+
+                buf.append(&[byte]);
+                bytes_written += 1;
+
+                if val == 0 {
+                    return bytes_written;
+                }
+            }
+        }
+    }
+
+    impl Encodable for i64 {
+        fn encode<S: Sink>(&self, buf: &mut S) -> usize {
+            let mut val = *self;
+            let mut bytes_written = 0;
+            loop {
+                let mut byte = val as u8;
+                // Keep the sign bit for testing
+                val >>= 6;
+                let done = val == 0 || val == -1;
+                if done {
+                    byte &= !CONTINUATION_BIT;
+                } else {
+                    // Remove the sign bit
+                    val >>= 1;
+                    // More bytes to come, so set the continuation bit.
+                    byte |= CONTINUATION_BIT;
+                }
+
+                buf.append(&[byte]);
+                bytes_written += 1;
+
+                if done {
+                    return bytes_written;
+                }
+            }
+        }
+    }
+
+    #[doc(hidden)]
+    const CONTINUATION_BIT: u8 = 1 << 7;
+
+    #[inline]
+    fn low_bits_of_byte(byte: u8) -> u8 {
+        byte & !CONTINUATION_BIT
+    }
+
+    #[inline]
+    fn low_bits_of_u64(val: u64) -> u8 {
+        let byte = val & (std::u8::MAX as u64);
+        low_bits_of_byte(byte as u8)
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/leb128.rs.html b/src/automerge/columnar/encoding/leb128.rs.html new file mode 100644 index 00000000..5a5b1919 --- /dev/null +++ b/src/automerge/columnar/encoding/leb128.rs.html @@ -0,0 +1,167 @@ +leb128.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+
/// The number of bytes required to encode `val` as a LEB128 integer
+pub(crate) fn lebsize(mut val: i64) -> u64 {
+    if val < 0 {
+        val = !val
+    }
+    // 1 extra for the sign bit
+    leb_bytes(1 + 64 - val.leading_zeros() as u64)
+}
+
+/// The number of bytes required to encode `val` as a uLEB128 integer
+pub(crate) fn ulebsize(val: u64) -> u64 {
+    if val == 0 {
+        return 1;
+    }
+    leb_bytes(64 - val.leading_zeros() as u64)
+}
+
+fn leb_bytes(bits: u64) -> u64 {
+    (bits + 6) / 7
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use proptest::prelude::*;
+
+    proptest! {
+        #[test]
+        fn test_ulebsize(val in 0..u64::MAX) {
+            let mut out = Vec::new();
+            leb128::write::unsigned(&mut out, val).unwrap();
+            let expected = out.len() as u64;
+            assert_eq!(expected, ulebsize(val))
+        }
+
+        #[test]
+        fn test_lebsize(val in i64::MIN..i64::MAX) {
+            let mut out = Vec::new();
+            leb128::write::signed(&mut out, val).unwrap();
+            let expected = out.len() as u64;
+            assert_eq!(expected, lebsize(val))
+        }
+    }
+
+    #[test]
+    fn ulebsize_examples() {
+        let scenarios = vec![0, 1, 127, 128, 129, 169, u64::MAX];
+        for val in scenarios {
+            let mut out = Vec::new();
+            leb128::write::unsigned(&mut out, val).unwrap();
+            let expected = out.len() as u64;
+            assert_eq!(ulebsize(val), expected, "value: {}", val)
+        }
+    }
+
+    #[test]
+    fn lebsize_examples() {
+        let scenarios = vec![
+            0,
+            1,
+            -1,
+            63,
+            64,
+            -64,
+            -65,
+            127,
+            128,
+            -127,
+            -128,
+            -2097152,
+            169,
+            i64::MIN,
+            i64::MAX,
+        ];
+        for val in scenarios {
+            let mut out = Vec::new();
+            leb128::write::signed(&mut out, val).unwrap();
+            let expected = out.len() as u64;
+            assert_eq!(lebsize(val), expected, "value: {}", val)
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/raw.rs.html b/src/automerge/columnar/encoding/raw.rs.html new file mode 100644 index 00000000..272fab8c --- /dev/null +++ b/src/automerge/columnar/encoding/raw.rs.html @@ -0,0 +1,197 @@ +raw.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+
use std::{
+    borrow::{Borrow, Cow},
+    fmt::Debug,
+};
+
+use super::{Decodable, DecodeError, Encodable, Sink};
+
+#[derive(Clone, Debug)]
+pub(crate) struct RawDecoder<'a> {
+    offset: usize,
+    last_read: usize,
+    data: Cow<'a, [u8]>,
+}
+
+#[derive(thiserror::Error, Debug)]
+pub(crate) enum Error {
+    #[error("buffer size did not change")]
+    BufferSizeDidNotChange,
+    #[error("trying to read past end")]
+    TryingToReadPastEnd,
+    #[error(transparent)]
+    Decode(#[from] DecodeError),
+}
+
+impl<'a> RawDecoder<'a> {
+    pub(crate) fn new(data: Cow<'a, [u8]>) -> Self {
+        RawDecoder {
+            offset: 0,
+            last_read: 0,
+            data,
+        }
+    }
+
+    pub(crate) fn read<T: Decodable + Debug>(&mut self) -> Result<T, Error> {
+        let mut buf = &self.data[self.offset..];
+        let init_len = buf.len();
+        let val = T::decode::<&[u8]>(&mut buf)?;
+        let delta = init_len - buf.len();
+        if delta == 0 {
+            Err(Error::BufferSizeDidNotChange)
+        } else {
+            self.last_read = delta;
+            self.offset += delta;
+            Ok(val)
+        }
+    }
+
+    pub(crate) fn read_bytes(&mut self, index: usize) -> Result<&[u8], Error> {
+        if self.offset + index > self.data.len() {
+            Err(Error::TryingToReadPastEnd)
+        } else {
+            let head = &self.data[self.offset..self.offset + index];
+            self.last_read = index;
+            self.offset += index;
+            Ok(head)
+        }
+    }
+
+    pub(crate) fn done(&self) -> bool {
+        self.offset >= self.data.len()
+    }
+}
+
+impl<'a> From<&'a [u8]> for RawDecoder<'a> {
+    fn from(d: &'a [u8]) -> Self {
+        Cow::Borrowed(d).into()
+    }
+}
+
+impl<'a> From<Cow<'a, [u8]>> for RawDecoder<'a> {
+    fn from(d: Cow<'a, [u8]>) -> Self {
+        RawDecoder::new(d)
+    }
+}
+
+pub(crate) struct RawEncoder<S> {
+    written: usize,
+    output: S,
+}
+
+impl<S: Sink> RawEncoder<S> {
+    pub(crate) fn append<B: Borrow<I>, I: Encodable>(&mut self, value: B) -> usize {
+        let written = value.borrow().encode(&mut self.output);
+        self.written += written;
+        written
+    }
+
+    pub(crate) fn finish(self) -> (S, usize) {
+        (self.output, self.written)
+    }
+}
+
+impl<S: Sink> From<S> for RawEncoder<S> {
+    fn from(output: S) -> Self {
+        RawEncoder { written: 0, output }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/encoding/rle.rs.html b/src/automerge/columnar/encoding/rle.rs.html new file mode 100644 index 00000000..1ac0878a --- /dev/null +++ b/src/automerge/columnar/encoding/rle.rs.html @@ -0,0 +1,481 @@ +rle.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+
use std::{
+    borrow::{Borrow, Cow},
+    fmt::Debug,
+};
+
+use super::{raw, Decodable, Encodable, RawDecoder, Sink};
+
+pub(crate) struct RleEncoder<S, T>
+where
+    T: Encodable + PartialEq + Clone,
+{
+    buf: S,
+    written: usize,
+    state: RleState<T>,
+}
+
+impl<S, T> RleEncoder<S, T>
+where
+    S: Sink,
+    T: Encodable + PartialEq + Clone,
+{
+    pub(crate) fn new(output_buf: S) -> RleEncoder<S, T> {
+        RleEncoder {
+            buf: output_buf,
+            written: 0,
+            state: RleState::Empty,
+        }
+    }
+
+    /// Flush the encoded values and return the output buffer and the number of bytes written
+    pub(crate) fn finish(mut self) -> (S, usize) {
+        match self.take_state() {
+            RleState::InitialNullRun(_size) => {}
+            RleState::NullRun(size) => {
+                self.flush_null_run(size);
+            }
+            RleState::LoneVal(value) => self.flush_lit_run(vec![value]),
+            RleState::Run(value, len) => self.flush_run(&value, len),
+            RleState::LiteralRun(last, mut run) => {
+                run.push(last);
+                self.flush_lit_run(run);
+            }
+            RleState::Empty => {}
+        }
+        (self.buf, self.written)
+    }
+
+    fn flush_run(&mut self, val: &T, len: usize) {
+        self.encode(&(len as i64));
+        self.encode(val);
+    }
+
+    fn flush_null_run(&mut self, len: usize) {
+        self.encode::<i64>(&0);
+        self.encode(&len);
+    }
+
+    fn flush_lit_run(&mut self, run: Vec<T>) {
+        self.encode(&-(run.len() as i64));
+        for val in run {
+            self.encode(&val);
+        }
+    }
+
+    fn take_state(&mut self) -> RleState<T> {
+        let mut state = RleState::Empty;
+        std::mem::swap(&mut self.state, &mut state);
+        state
+    }
+
+    pub(crate) fn append_null(&mut self) {
+        self.state = match self.take_state() {
+            RleState::Empty => RleState::InitialNullRun(1),
+            RleState::InitialNullRun(size) => RleState::InitialNullRun(size + 1),
+            RleState::NullRun(size) => RleState::NullRun(size + 1),
+            RleState::LoneVal(other) => {
+                self.flush_lit_run(vec![other]);
+                RleState::NullRun(1)
+            }
+            RleState::Run(other, len) => {
+                self.flush_run(&other, len);
+                RleState::NullRun(1)
+            }
+            RleState::LiteralRun(last, mut run) => {
+                run.push(last);
+                self.flush_lit_run(run);
+                RleState::NullRun(1)
+            }
+        }
+    }
+
+    pub(crate) fn append_value<BT: Borrow<T>>(&mut self, value: BT) {
+        self.state = match self.take_state() {
+            RleState::Empty => RleState::LoneVal(value.borrow().clone()),
+            RleState::LoneVal(other) => {
+                if &other == value.borrow() {
+                    RleState::Run(value.borrow().clone(), 2)
+                } else {
+                    let mut v = Vec::with_capacity(2);
+                    v.push(other);
+                    RleState::LiteralRun(value.borrow().clone(), v)
+                }
+            }
+            RleState::Run(other, len) => {
+                if &other == value.borrow() {
+                    RleState::Run(other, len + 1)
+                } else {
+                    self.flush_run(&other, len);
+                    RleState::LoneVal(value.borrow().clone())
+                }
+            }
+            RleState::LiteralRun(last, mut run) => {
+                if &last == value.borrow() {
+                    self.flush_lit_run(run);
+                    RleState::Run(value.borrow().clone(), 2)
+                } else {
+                    run.push(last);
+                    RleState::LiteralRun(value.borrow().clone(), run)
+                }
+            }
+            RleState::NullRun(size) | RleState::InitialNullRun(size) => {
+                self.flush_null_run(size);
+                RleState::LoneVal(value.borrow().clone())
+            }
+        }
+    }
+
+    pub(crate) fn append<BT: Borrow<T>>(&mut self, value: Option<BT>) {
+        match value {
+            Some(t) => self.append_value(t),
+            None => self.append_null(),
+        }
+    }
+
+    fn encode<V>(&mut self, val: &V)
+    where
+        V: Encodable,
+    {
+        self.written += val.encode(&mut self.buf);
+    }
+}
+
+enum RleState<T> {
+    Empty,
+    // Note that this is different to a `NullRun` because if every element of a column is null
+    // (i.e. the state when we call `finish` is `InitialNullRun`) then we don't output anything at
+    // all for the column
+    InitialNullRun(usize),
+    NullRun(usize),
+    LiteralRun(T, Vec<T>),
+    LoneVal(T),
+    Run(T, usize),
+}
+
+impl<S: Sink, T: Clone + PartialEq + Encodable> From<S> for RleEncoder<S, T> {
+    fn from(output: S) -> Self {
+        Self::new(output)
+    }
+}
+
+/// See discussion on [`RleEncoder`] for the format data is stored in.
+#[derive(Clone, Debug)]
+pub(crate) struct RleDecoder<'a, T> {
+    decoder: RawDecoder<'a>,
+    last_value: Option<T>,
+    count: isize,
+    literal: bool,
+}
+
+impl<'a, T> RleDecoder<'a, T> {
+    pub(crate) fn done(&self) -> bool {
+        self.decoder.done() && self.count == 0
+    }
+
+    fn try_next(&mut self) -> Result<Option<Option<T>>, raw::Error>
+    where
+        T: Decodable + Clone + Debug,
+    {
+        while self.count == 0 {
+            if self.decoder.done() {
+                return Ok(None);
+            }
+            match self.decoder.read::<i64>()? {
+                count if count > 0 => {
+                    // normal run
+                    self.count = count as isize;
+                    self.last_value = Some(self.decoder.read()?);
+                    self.literal = false;
+                }
+                count if count < 0 => {
+                    // literal run
+                    self.count = count.abs() as isize;
+                    self.literal = true;
+                }
+                _ => {
+                    // null run
+                    // FIXME(jeffa5): handle usize > i64 here somehow
+                    self.count = self.decoder.read::<usize>()? as isize;
+                    self.last_value = None;
+                    self.literal = false;
+                }
+            }
+        }
+        self.count -= 1;
+        if self.literal {
+            Ok(Some(Some(self.decoder.read()?)))
+        } else {
+            Ok(Some(self.last_value.clone()))
+        }
+    }
+}
+
+impl<'a, T> From<Cow<'a, [u8]>> for RleDecoder<'a, T> {
+    fn from(bytes: Cow<'a, [u8]>) -> Self {
+        RleDecoder {
+            decoder: RawDecoder::from(bytes),
+            last_value: None,
+            count: 0,
+            literal: false,
+        }
+    }
+}
+
+impl<'a, T> From<&'a [u8]> for RleDecoder<'a, T> {
+    fn from(d: &'a [u8]) -> Self {
+        Cow::Borrowed(d).into()
+    }
+}
+
+impl<'a, T> Iterator for RleDecoder<'a, T>
+where
+    T: Clone + Debug + Decodable,
+{
+    type Item = Result<Option<T>, raw::Error>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/columnar/splice_error.rs.html b/src/automerge/columnar/splice_error.rs.html new file mode 100644 index 00000000..10318d6c --- /dev/null +++ b/src/automerge/columnar/splice_error.rs.html @@ -0,0 +1,97 @@ +splice_error.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+
use std::convert::Infallible;
+
+/// Represents an error which occurred when splicing.
+///
+/// When splicing values into existing column storage there are two kinds of errors which can
+/// occur, those caused by iterating over the existing items, and those caused by iterating over
+/// the replacement items.
+#[derive(Debug)]
+pub(crate) enum SpliceError<E, R> {
+    /// There was an error reading from the existing column storage
+    ReadExisting(E),
+    /// There was an error reading from the iterator of new rows
+    ReadReplace(R),
+}
+
+impl<E> SpliceError<E, Infallible> {
+    /// Map a spliceerror which is infallible in it's `Replace` error type into a different error.
+    ///
+    /// This is used when you have performed a splice with a `replace` iterator which is
+    /// infallible and need to return a more general `SpliceError`
+    pub(crate) fn existing<R>(self) -> SpliceError<E, R> {
+        match self {
+            SpliceError::ReadExisting(e) => SpliceError::ReadExisting(e),
+            SpliceError::ReadReplace(_) => unreachable!("absurd"),
+        }
+    }
+}
+
+impl<E, R> std::error::Error for SpliceError<E, R>
+where
+    E: std::error::Error,
+    R: std::error::Error,
+{
+}
+
+impl<E, R> std::fmt::Display for SpliceError<E, R>
+where
+    E: std::fmt::Display,
+    R: std::fmt::Display,
+{
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        match self {
+            Self::ReadExisting(e) => write!(f, "error reading from existing rows: {}", e),
+            Self::ReadReplace(e) => write!(f, "error reading from replacement rows: {}", e),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/convert.rs.html b/src/automerge/convert.rs.html new file mode 100644 index 00000000..48bbc3c7 --- /dev/null +++ b/src/automerge/convert.rs.html @@ -0,0 +1,207 @@ +convert.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+
//! Types for converting between different OpId representations
+//!
+//! In various places throughout the codebase we refer to operation IDs. The canonical type for
+//! representing an operation ID is [`crate::types::OpId`]. This type holds the counter of the operation
+//! ID but it does not store the actor ID, instead storing an index into an array of actor IDs
+//! stored elsewhere. This makes using OpIds very memory efficient. We also store operation IDs on
+//! disc. Here again we use a representation where the actor ID is stored as an offset into an
+//! array which is held elsewhere. We occasionally do need to refer to an operation ID which
+//! contains the full actor ID - typically when exporting to other processes or to the user.
+//!
+//! This is problematic when we want to write code which is generic over all these representations,
+//! or which needs to convert between them. This module hopes to solve that problem. The basic
+//! approach is to define the trait `OpId`, which is generic over the type of its `actor`. Using a
+//! trait means that there is no need to allocate intermediate collections of operation IDs when
+//! converting (for example when encoding a bunch of OpSet operation IDs into a change, where we
+//! have to translate the indices).
+//!
+//! Having defined the `OpId` trait we then define a bunch of enums representing each of the
+//! entities in the automerge data model which contain an `OpId`, namely `ObjId`, `Key`, and
+//! `ElemId`. Each of these enums implements a `map` method, which allows you to convert the actor
+//! ID of any contained operation using a mappping function.
+
+use std::borrow::Cow;
+
+pub(crate) trait OpId<ActorId> {
+    fn actor(&self) -> ActorId;
+    fn counter(&self) -> u64;
+}
+
+#[derive(Clone, Debug)]
+pub(crate) enum ObjId<O> {
+    Root,
+    Op(O),
+}
+
+impl<O> ObjId<O> {
+    pub(crate) fn map<F, P>(self, f: F) -> ObjId<P>
+    where
+        F: Fn(O) -> P,
+    {
+        match self {
+            ObjId::Root => ObjId::Root,
+            ObjId::Op(o) => ObjId::Op(f(o)),
+        }
+    }
+}
+
+#[derive(Clone)]
+pub(crate) enum ElemId<O> {
+    Head,
+    Op(O),
+}
+
+impl<O> ElemId<O> {
+    pub(crate) fn map<F, P>(self, f: F) -> ElemId<P>
+    where
+        F: Fn(O) -> P,
+    {
+        match self {
+            ElemId::Head => ElemId::Head,
+            ElemId::Op(o) => ElemId::Op(f(o)),
+        }
+    }
+}
+
+#[derive(Clone)]
+pub(crate) enum Key<'a, O> {
+    Prop(Cow<'a, smol_str::SmolStr>),
+    Elem(ElemId<O>),
+}
+
+impl<'a, O> Key<'a, O> {
+    pub(crate) fn map<F, P>(self, f: F) -> Key<'a, P>
+    where
+        F: Fn(O) -> P,
+    {
+        match self {
+            Key::Prop(p) => Key::Prop(p),
+            Key::Elem(e) => Key::Elem(e.map(f)),
+        }
+    }
+}
+
+impl OpId<usize> for crate::types::OpId {
+    fn counter(&self) -> u64 {
+        self.counter()
+    }
+
+    fn actor(&self) -> usize {
+        self.actor()
+    }
+}
+
+impl<'a> OpId<usize> for &'a crate::types::OpId {
+    fn counter(&self) -> u64 {
+        crate::types::OpId::counter(self)
+    }
+
+    fn actor(&self) -> usize {
+        crate::types::OpId::actor(self)
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/error.rs.html b/src/automerge/error.rs.html new file mode 100644 index 00000000..a40bd68f --- /dev/null +++ b/src/automerge/error.rs.html @@ -0,0 +1,217 @@ +error.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+
use crate::change::LoadError as LoadChangeError;
+use crate::storage::load::Error as LoadError;
+use crate::types::{ActorId, ScalarValue};
+use crate::value::DataType;
+use crate::{ChangeHash, ObjType};
+use thiserror::Error;
+
+#[derive(Error, Debug)]
+pub enum AutomergeError {
+    #[error(transparent)]
+    ChangeGraph(#[from] crate::change_graph::MissingDep),
+    #[error("failed to load compressed data: {0}")]
+    Deflate(#[source] std::io::Error),
+    #[error("duplicate seq {0} found for actor {1}")]
+    DuplicateSeqNumber(u64, ActorId),
+    #[error("key must not be an empty string")]
+    EmptyStringKey,
+    #[error("general failure")]
+    Fail,
+    #[error("invalid actor ID `{0}`")]
+    InvalidActorId(String),
+    #[error(transparent)]
+    InvalidChangeHashBytes(#[from] InvalidChangeHashSlice),
+    #[error("invalid UTF-8 character at {0}")]
+    InvalidCharacter(usize),
+    #[error("invalid hash {0}")]
+    InvalidHash(ChangeHash),
+    #[error("index {0} is out of bounds")]
+    InvalidIndex(usize),
+    #[error("invalid obj id `{0}`")]
+    InvalidObjId(String),
+    #[error("invalid obj id format `{0}`")]
+    InvalidObjIdFormat(String),
+    #[error("invalid op for object of type `{0}`")]
+    InvalidOp(ObjType),
+    #[error("seq {0} is out of bounds")]
+    InvalidSeq(u64),
+    #[error("invalid type of value, expected `{expected}` but received `{unexpected}`")]
+    InvalidValueType {
+        expected: String,
+        unexpected: String,
+    },
+    #[error(transparent)]
+    Load(#[from] LoadError),
+    #[error(transparent)]
+    LoadChangeError(#[from] LoadChangeError),
+    #[error("increment operations must be against a counter value")]
+    MissingCounter,
+    #[error("hash {0} does not correspond to a change in this document")]
+    MissingHash(ChangeHash),
+    #[error("change's deps should already be in the document")]
+    MissingDeps,
+    #[error("compressed chunk was not a change")]
+    NonChangeCompressed,
+    #[error("id was not an object id")]
+    NotAnObject,
+}
+
+impl PartialEq for AutomergeError {
+    fn eq(&self, other: &Self) -> bool {
+        std::mem::discriminant(self) == std::mem::discriminant(other)
+    }
+}
+
+#[cfg(feature = "wasm")]
+impl From<AutomergeError> for wasm_bindgen::JsValue {
+    fn from(err: AutomergeError) -> Self {
+        js_sys::Error::new(&std::format!("{}", err)).into()
+    }
+}
+
+#[derive(Error, Debug)]
+#[error("Invalid actor ID: {0}")]
+pub struct InvalidActorId(pub String);
+
+#[derive(Error, Debug, PartialEq)]
+#[error("Invalid scalar value, expected {expected} but received {unexpected}")]
+pub(crate) struct InvalidScalarValue {
+    pub(crate) raw_value: ScalarValue,
+    pub(crate) datatype: DataType,
+    pub(crate) unexpected: String,
+    pub(crate) expected: String,
+}
+
+#[derive(Error, Debug, Eq, PartialEq)]
+#[error("Invalid change hash slice: {0:?}")]
+pub struct InvalidChangeHashSlice(pub Vec<u8>);
+
+#[derive(Error, Debug, Eq, PartialEq)]
+#[error("Invalid object ID: {0}")]
+pub struct InvalidObjectId(pub String);
+
+#[derive(Error, Debug)]
+#[error("Invalid element ID: {0}")]
+pub struct InvalidElementId(pub String);
+
+#[derive(Error, Debug)]
+#[error("Invalid OpID: {0}")]
+pub struct InvalidOpId(pub String);
+
+#[derive(Error, Debug)]
+pub enum InvalidOpType {
+    #[error("unrecognized action index {0}")]
+    UnknownAction(u64),
+    #[error("non numeric argument for inc op")]
+    NonNumericInc,
+}
+
+
\ No newline at end of file diff --git a/src/automerge/exid.rs.html b/src/automerge/exid.rs.html new file mode 100644 index 00000000..fc14b93c --- /dev/null +++ b/src/automerge/exid.rs.html @@ -0,0 +1,451 @@ +exid.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+
use crate::storage::parse;
+use crate::ActorId;
+use serde::Serialize;
+use serde::Serializer;
+use std::cmp::{Ord, Ordering};
+use std::fmt;
+use std::hash::{Hash, Hasher};
+
+/// An identifier for an object in a document
+///
+/// This can be persisted using `to_bytes` and `TryFrom<&[u8]>` breaking changes to the
+/// serialization format will be considered breaking changes for this library version.
+#[derive(Debug, Clone)]
+pub enum ExId {
+    Root,
+    Id(u64, ActorId, usize),
+}
+
+const SERIALIZATION_VERSION_TAG: u8 = 0;
+const TYPE_ROOT: u8 = 0;
+const TYPE_ID: u8 = 1;
+
+impl ExId {
+    /// Serialize this object ID to a byte array.
+    ///
+    /// This serialization format is versioned and incompatible changes to it will be considered a
+    /// breaking change for the version of this library.
+    pub fn to_bytes(&self) -> Vec<u8> {
+        // The serialized format is
+        //
+        // .--------------------------------.
+        // | version   | type   | data      |
+        // +--------------------------------+
+        // |  4 bytes  |4 bytes | variable  |
+        // '--------------------------------'
+        //
+        // Version is currently always `0`
+        //
+        // `data` depends on the type
+        //
+        // * If the type is `TYPE_ROOT` (0) then there is no data
+        // * If the type is `TYPE_ID` (1) then the data is
+        //
+        // .-------------------------------------------------------.
+        // | actor ID len | actor ID bytes | counter | actor index |
+        // '-------------------------------------------------------'
+        //
+        // Where the actor ID len, counter, and actor index are all uLEB encoded
+        // integers. The actor ID bytes is just an array of bytes.
+        //
+        match self {
+            ExId::Root => {
+                let val: u8 = SERIALIZATION_VERSION_TAG | (TYPE_ROOT << 4);
+                vec![val]
+            }
+            ExId::Id(id, actor, counter) => {
+                let actor_bytes = actor.to_bytes();
+                let mut bytes = Vec::with_capacity(actor_bytes.len() + 4 + 4);
+                let tag = SERIALIZATION_VERSION_TAG | (TYPE_ID << 4);
+                bytes.push(tag);
+                leb128::write::unsigned(&mut bytes, actor_bytes.len() as u64).unwrap();
+                bytes.extend_from_slice(actor_bytes);
+                leb128::write::unsigned(&mut bytes, *counter as u64).unwrap();
+                leb128::write::unsigned(&mut bytes, *id).unwrap();
+                bytes
+            }
+        }
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub enum ObjIdFromBytesError {
+    #[error("no version tag")]
+    NoVersion,
+    #[error("invalid version tag")]
+    InvalidVersion(u8),
+    #[error("invalid type tag")]
+    InvalidType(u8),
+    #[error("invalid Actor ID length: {0}")]
+    ParseActorLen(String),
+    #[error("Not enough bytes in actor ID")]
+    ParseActor,
+    #[error("invalid counter: {0}")]
+    ParseCounter(String),
+    #[error("invalid actor index hint: {0}")]
+    ParseActorIdxHint(String),
+}
+
+impl<'a> TryFrom<&'a [u8]> for ExId {
+    type Error = ObjIdFromBytesError;
+
+    fn try_from(value: &'a [u8]) -> Result<Self, Self::Error> {
+        let i = parse::Input::new(value);
+        let (i, tag) = parse::take1::<()>(i).map_err(|_| ObjIdFromBytesError::NoVersion)?;
+        let version = tag & 0b1111;
+        if version != SERIALIZATION_VERSION_TAG {
+            return Err(ObjIdFromBytesError::InvalidVersion(version));
+        }
+        let type_tag = tag >> 4;
+        match type_tag {
+            TYPE_ROOT => Ok(ExId::Root),
+            TYPE_ID => {
+                let (i, len) = parse::leb128_u64::<parse::leb128::Error>(i)
+                    .map_err(|e| ObjIdFromBytesError::ParseActorLen(e.to_string()))?;
+                let (i, actor) = parse::take_n::<()>(len as usize, i)
+                    .map_err(|_| ObjIdFromBytesError::ParseActor)?;
+                let (i, counter) = parse::leb128_u64::<parse::leb128::Error>(i)
+                    .map_err(|e| ObjIdFromBytesError::ParseCounter(e.to_string()))?;
+                let (_i, actor_idx_hint) = parse::leb128_u64::<parse::leb128::Error>(i)
+                    .map_err(|e| ObjIdFromBytesError::ParseActorIdxHint(e.to_string()))?;
+                Ok(Self::Id(actor_idx_hint, actor.into(), counter as usize))
+            }
+            other => Err(ObjIdFromBytesError::InvalidType(other)),
+        }
+    }
+}
+
+impl PartialEq for ExId {
+    fn eq(&self, other: &Self) -> bool {
+        match (self, other) {
+            (ExId::Root, ExId::Root) => true,
+            (ExId::Id(ctr1, actor1, _), ExId::Id(ctr2, actor2, _))
+                if ctr1 == ctr2 && actor1 == actor2 =>
+            {
+                true
+            }
+            _ => false,
+        }
+    }
+}
+
+impl Eq for ExId {}
+
+impl fmt::Display for ExId {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            ExId::Root => write!(f, "_root"),
+            ExId::Id(ctr, actor, _) => write!(f, "{}@{}", ctr, actor),
+        }
+    }
+}
+
+impl Hash for ExId {
+    fn hash<H: Hasher>(&self, state: &mut H) {
+        match self {
+            ExId::Root => 0.hash(state),
+            ExId::Id(ctr, actor, _) => {
+                ctr.hash(state);
+                actor.hash(state);
+            }
+        }
+    }
+}
+
+impl Ord for ExId {
+    fn cmp(&self, other: &Self) -> Ordering {
+        match (self, other) {
+            (ExId::Root, ExId::Root) => Ordering::Equal,
+            (ExId::Root, _) => Ordering::Less,
+            (_, ExId::Root) => Ordering::Greater,
+            (ExId::Id(c1, a1, _), ExId::Id(c2, a2, _)) if c1 == c2 => a2.cmp(a1),
+            (ExId::Id(c1, _, _), ExId::Id(c2, _, _)) => c1.cmp(c2),
+        }
+    }
+}
+
+impl PartialOrd for ExId {
+    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
+        Some(self.cmp(other))
+    }
+}
+
+impl Serialize for ExId {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        serializer.serialize_str(self.to_string().as_str())
+    }
+}
+
+impl AsRef<ExId> for ExId {
+    fn as_ref(&self) -> &ExId {
+        self
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::ExId;
+    use proptest::prelude::*;
+
+    use crate::ActorId;
+
+    fn gen_actorid() -> impl Strategy<Value = ActorId> {
+        proptest::collection::vec(any::<u8>(), 0..100).prop_map(ActorId::from)
+    }
+
+    prop_compose! {
+        fn gen_non_root_objid()(actor in gen_actorid(), counter in any::<usize>(), idx in any::<usize>()) -> ExId {
+            ExId::Id(idx as u64, actor, counter)
+        }
+    }
+
+    fn gen_obji() -> impl Strategy<Value = ExId> {
+        prop_oneof![Just(ExId::Root), gen_non_root_objid()]
+    }
+
+    proptest! {
+        #[test]
+        fn objid_roundtrip(objid in gen_obji()) {
+            let bytes = objid.to_bytes();
+            let objid2 = ExId::try_from(&bytes[..]).unwrap();
+            assert_eq!(objid, objid2);
+        }
+    }
+
+    #[test]
+    fn test_root_roundtrip() {
+        let bytes = ExId::Root.to_bytes();
+        let objid2 = ExId::try_from(&bytes[..]).unwrap();
+        assert_eq!(ExId::Root, objid2);
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/indexed_cache.rs.html b/src/automerge/indexed_cache.rs.html new file mode 100644 index 00000000..35b261de --- /dev/null +++ b/src/automerge/indexed_cache.rs.html @@ -0,0 +1,277 @@ +indexed_cache.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+
use itertools::Itertools;
+use std::collections::HashMap;
+use std::hash::Hash;
+use std::ops::Index;
+
+#[derive(Debug, Clone)]
+pub(crate) struct IndexedCache<T> {
+    pub(crate) cache: Vec<T>,
+    lookup: HashMap<T, usize>,
+}
+
+impl<T> PartialEq for IndexedCache<T>
+where
+    T: PartialEq,
+{
+    fn eq(&self, other: &Self) -> bool {
+        self.cache == other.cache
+    }
+}
+
+impl<T> IndexedCache<T>
+where
+    T: Clone + Eq + Hash + Ord,
+{
+    pub(crate) fn new() -> Self {
+        IndexedCache {
+            cache: Default::default(),
+            lookup: Default::default(),
+        }
+    }
+
+    pub(crate) fn cache(&mut self, item: T) -> usize {
+        if let Some(n) = self.lookup.get(&item) {
+            *n
+        } else {
+            let n = self.cache.len();
+            self.cache.push(item.clone());
+            self.lookup.insert(item, n);
+            n
+        }
+    }
+
+    pub(crate) fn lookup(&self, item: &T) -> Option<usize> {
+        self.lookup.get(item).cloned()
+    }
+
+    #[allow(dead_code)]
+    pub(crate) fn len(&self) -> usize {
+        self.cache.len()
+    }
+
+    pub(crate) fn get(&self, index: usize) -> &T {
+        &self.cache[index]
+    }
+
+    pub(crate) fn safe_get(&self, index: usize) -> Option<&T> {
+        self.cache.get(index)
+    }
+
+    /// Remove the last inserted entry into this cache.
+    /// This is safe to do as it does not require reshuffling other entries.
+    ///
+    /// # Panics
+    ///
+    /// Panics on an empty cache.
+    pub(crate) fn remove_last(&mut self) -> T {
+        let last = self.cache.len() - 1;
+        let t = self.cache.remove(last);
+        self.lookup.remove(&t);
+        t
+    }
+
+    pub(crate) fn sorted(&self) -> IndexedCache<T> {
+        let mut sorted = Self::new();
+        self.cache.iter().sorted().cloned().for_each(|item| {
+            let n = sorted.cache.len();
+            sorted.cache.push(item.clone());
+            sorted.lookup.insert(item, n);
+        });
+        sorted
+    }
+
+    /// Create a vector from positions in this index to positions in an equivalent sorted index
+    ///
+    /// This is useful primarily when encoding an `IndexedCache<ActorId>` in the document format.
+    /// In this case we encode the actors in sorted order in the document and all ops reference the
+    /// offset into this sorted actor array. But the `IndexedCache<ActorId>` we have in the
+    /// application does not contain actors in sorted order because we add them as we encounter
+    /// them, so we must map from the actor IDs in the application to the actor IDs in the document
+    /// format
+    ///
+    /// # Examples
+    ///
+    /// ```rust,ignore
+    /// let idx: IndexedCache<String> = IndexedCache::new();
+    /// let first_idx = idx.cache("b"); // first_idx is `0`
+    /// let second_idx = idx.cache("a"); // second_idx i `1`
+    /// let encoded = idx.encode_index();
+    /// // first_idx (0) maps to `1` whilst second_idx (1) maps to `0` because "a" < "b"
+    /// assert_eq!(encoded, vec![1,0])
+    /// ```
+    pub(crate) fn encode_index(&self) -> Vec<usize> {
+        let sorted: Vec<_> = self.cache.iter().sorted().cloned().collect();
+        self.cache
+            .iter()
+            .map(|a| sorted.iter().position(|r| r == a).unwrap())
+            .collect()
+    }
+}
+
+impl<T> IntoIterator for IndexedCache<T> {
+    type Item = T;
+    type IntoIter = std::vec::IntoIter<Self::Item>;
+
+    fn into_iter(self) -> Self::IntoIter {
+        self.cache.into_iter()
+    }
+}
+
+impl<T> Index<usize> for IndexedCache<T> {
+    type Output = T;
+    fn index(&self, i: usize) -> &T {
+        &self.cache[i]
+    }
+}
+
+impl<A: Hash + Eq + Clone> FromIterator<A> for IndexedCache<A> {
+    fn from_iter<T: IntoIterator<Item = A>>(iter: T) -> Self {
+        let mut cache = Vec::new();
+        let mut lookup = HashMap::new();
+        for (index, elem) in iter.into_iter().enumerate() {
+            cache.push(elem.clone());
+            lookup.insert(elem, index);
+        }
+        Self { cache, lookup }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/keys.rs.html b/src/automerge/keys.rs.html new file mode 100644 index 00000000..dc613a95 --- /dev/null +++ b/src/automerge/keys.rs.html @@ -0,0 +1,77 @@ +keys.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+
use crate::{query, Automerge};
+
+/// An iterator over the keys of an object
+///
+/// This is returned by [`crate::ReadDoc::keys`] and method. The returned item is either
+/// the keys of a map, or the encoded element IDs of a sequence.
+#[derive(Debug)]
+pub struct Keys<'a, 'k> {
+    keys: Option<query::Keys<'k>>,
+    doc: &'a Automerge,
+}
+
+impl<'a, 'k> Keys<'a, 'k> {
+    pub(crate) fn new(doc: &'a Automerge, keys: Option<query::Keys<'k>>) -> Self {
+        Self { keys, doc }
+    }
+}
+
+impl<'a, 'k> Iterator for Keys<'a, 'k> {
+    type Item = String;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.keys
+            .as_mut()?
+            .next()
+            .map(|key| self.doc.to_string(key))
+    }
+}
+
+impl<'a, 'k> DoubleEndedIterator for Keys<'a, 'k> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        self.keys
+            .as_mut()?
+            .next_back()
+            .map(|key| self.doc.to_string(key))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/keys_at.rs.html b/src/automerge/keys_at.rs.html new file mode 100644 index 00000000..afd0d043 --- /dev/null +++ b/src/automerge/keys_at.rs.html @@ -0,0 +1,77 @@ +keys_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+
use crate::{query, Automerge};
+
+/// An iterator over the keys of an object at a particular point in history
+///
+/// This is returned by [`crate::ReadDoc::keys_at`] method. The returned item is either the keys of a map,
+/// or the encoded element IDs of a sequence.
+#[derive(Debug)]
+pub struct KeysAt<'a, 'k> {
+    keys: Option<query::KeysAt<'k>>,
+    doc: &'a Automerge,
+}
+
+impl<'a, 'k> KeysAt<'a, 'k> {
+    pub(crate) fn new(doc: &'a Automerge, keys: Option<query::KeysAt<'k>>) -> Self {
+        Self { keys, doc }
+    }
+}
+
+impl<'a, 'k> Iterator for KeysAt<'a, 'k> {
+    type Item = String;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.keys
+            .as_mut()?
+            .next()
+            .map(|key| self.doc.to_string(key))
+    }
+}
+
+impl<'a, 'k> DoubleEndedIterator for KeysAt<'a, 'k> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        self.keys
+            .as_mut()?
+            .next()
+            .map(|key| self.doc.to_string(key))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/mod.rs.html b/src/automerge/legacy/mod.rs.html new file mode 100644 index 00000000..49fda345 --- /dev/null +++ b/src/automerge/legacy/mod.rs.html @@ -0,0 +1,555 @@ +mod.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+
mod serde_impls;
+mod utility_impls;
+
+use std::num::NonZeroU64;
+
+pub(crate) use crate::types::{ActorId, ChangeHash, ObjType, OpType, ScalarValue};
+pub(crate) use crate::value::DataType;
+
+use serde::{Deserialize, Serialize};
+use smol_str::SmolStr;
+
+#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Copy, Hash)]
+#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))]
+#[serde(rename_all = "camelCase")]
+pub(crate) enum MapType {
+    Map,
+    Table,
+}
+
+#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Copy, Hash)]
+#[serde(rename_all = "camelCase")]
+pub(crate) enum SequenceType {
+    List,
+    Text,
+}
+
+#[derive(Eq, PartialEq, Hash, Clone)]
+#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))]
+pub struct OpId(pub u64, pub ActorId);
+
+impl OpId {
+    pub fn new(seq: u64, actor: &ActorId) -> OpId {
+        OpId(seq, actor.clone())
+    }
+
+    pub fn actor(&self) -> &ActorId {
+        &self.1
+    }
+
+    pub fn counter(&self) -> u64 {
+        self.0
+    }
+
+    pub fn increment_by(&self, by: u64) -> OpId {
+        OpId(self.0 + by, self.1.clone())
+    }
+
+    /// Returns true if `other` has the same actor ID, and their counter is `delta` greater than
+    /// ours.
+    pub fn delta(&self, other: &Self, delta: u64) -> bool {
+        self.1 == other.1 && self.0 + delta == other.0
+    }
+}
+
+#[derive(Eq, PartialEq, Debug, Hash, Clone)]
+#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))]
+pub enum ObjectId {
+    Id(OpId),
+    Root,
+}
+
+#[derive(PartialEq, Eq, Debug, Hash, Clone)]
+pub enum ElementId {
+    Head,
+    Id(OpId),
+}
+
+impl ElementId {
+    pub fn as_opid(&self) -> Option<&OpId> {
+        match self {
+            ElementId::Head => None,
+            ElementId::Id(opid) => Some(opid),
+        }
+    }
+
+    pub fn into_key(self) -> Key {
+        Key::Seq(self)
+    }
+
+    pub fn not_head(&self) -> bool {
+        match self {
+            ElementId::Head => false,
+            ElementId::Id(_) => true,
+        }
+    }
+
+    pub fn increment_by(&self, by: u64) -> Option<Self> {
+        match self {
+            ElementId::Head => None,
+            ElementId::Id(id) => Some(ElementId::Id(id.increment_by(by))),
+        }
+    }
+}
+
+#[derive(Serialize, PartialEq, Eq, Debug, Hash, Clone)]
+#[serde(untagged)]
+pub enum Key {
+    Map(SmolStr),
+    Seq(ElementId),
+}
+
+impl Key {
+    pub fn head() -> Key {
+        Key::Seq(ElementId::Head)
+    }
+
+    pub fn is_map_key(&self) -> bool {
+        match self {
+            Key::Map(_) => true,
+            Key::Seq(_) => false,
+        }
+    }
+
+    pub fn as_element_id(&self) -> Option<ElementId> {
+        match self {
+            Key::Map(_) => None,
+            Key::Seq(eid) => Some(eid.clone()),
+        }
+    }
+
+    pub fn to_opid(&self) -> Option<OpId> {
+        match self.as_element_id()? {
+            ElementId::Id(id) => Some(id),
+            ElementId::Head => None,
+        }
+    }
+    pub fn increment_by(&self, by: u64) -> Option<Self> {
+        match self {
+            Key::Map(_) => None,
+            Key::Seq(eid) => eid.increment_by(by).map(Key::Seq),
+        }
+    }
+}
+
+#[derive(Debug, Default, Clone, Eq, PartialEq, Serialize)]
+#[serde(transparent)]
+pub struct SortedVec<T>(Vec<T>);
+
+impl<T> SortedVec<T> {
+    pub fn new() -> Self {
+        Self(Vec::new())
+    }
+
+    pub fn len(&self) -> usize {
+        self.0.len()
+    }
+
+    pub fn is_empty(&self) -> bool {
+        self.len() == 0
+    }
+
+    pub fn get(&self, index: usize) -> Option<&T> {
+        self.0.get(index)
+    }
+
+    pub fn get_mut(&mut self, index: usize) -> Option<&mut T> {
+        self.0.get_mut(index)
+    }
+
+    pub fn iter(&self) -> std::slice::Iter<'_, T> {
+        self.0.iter()
+    }
+}
+
+impl<T: Ord> From<Vec<T>> for SortedVec<T> {
+    fn from(mut other: Vec<T>) -> Self {
+        other.sort_unstable();
+        Self(other)
+    }
+}
+
+impl<T: Ord> FromIterator<T> for SortedVec<T> {
+    fn from_iter<I>(iter: I) -> Self
+    where
+        I: std::iter::IntoIterator<Item = T>,
+    {
+        let mut inner: Vec<T> = iter.into_iter().collect();
+        inner.sort_unstable();
+        Self(inner)
+    }
+}
+
+impl<T> IntoIterator for SortedVec<T> {
+    type Item = T;
+
+    type IntoIter = <Vec<T> as IntoIterator>::IntoIter;
+
+    fn into_iter(self) -> Self::IntoIter {
+        self.0.into_iter()
+    }
+}
+
+impl<'de, T> serde::Deserialize<'de> for SortedVec<T>
+where
+    T: serde::Deserialize<'de> + Ord,
+{
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: serde::Deserializer<'de>,
+    {
+        let mut v = Vec::deserialize(deserializer)?;
+        v.sort_unstable();
+        Ok(Self(v))
+    }
+}
+
+#[derive(PartialEq, Debug, Clone)]
+pub struct Op {
+    pub action: OpType,
+    pub obj: ObjectId,
+    pub key: Key,
+    pub pred: SortedVec<OpId>,
+    pub insert: bool,
+}
+
+impl Op {
+    pub fn primitive_value(&self) -> Option<ScalarValue> {
+        match &self.action {
+            OpType::Put(v) => Some(v.clone()),
+            OpType::Increment(i) => Some(ScalarValue::Int(*i)),
+            _ => None,
+        }
+    }
+
+    pub fn obj_type(&self) -> Option<ObjType> {
+        match self.action {
+            OpType::Make(o) => Some(o),
+            _ => None,
+        }
+    }
+
+    pub fn to_i64(&self) -> Option<i64> {
+        self.primitive_value().as_ref().and_then(|v| v.to_i64())
+    }
+}
+
+/// A change represents a group of operations performed by an actor.
+#[derive(Deserialize, Serialize, Debug, Clone)]
+pub struct Change {
+    /// The operations performed in this change.
+    #[serde(rename = "ops")]
+    pub operations: Vec<Op>,
+    /// The actor that performed this change.
+    #[serde(rename = "actor")]
+    pub actor_id: ActorId,
+    /// The hash of this change.
+    #[serde(skip_serializing_if = "Option::is_none", default)]
+    pub hash: Option<ChangeHash>,
+    /// The index of this change in the changes from this actor.
+    pub seq: u64,
+    /// The start operation index. Starts at 1.
+    #[serde(rename = "startOp")]
+    pub start_op: NonZeroU64,
+    /// The time that this change was committed.
+    pub time: i64,
+    /// The message of this change.
+    pub message: Option<String>,
+    /// The dependencies of this change.
+    pub deps: Vec<ChangeHash>,
+    #[serde(skip_serializing_if = "Vec::is_empty", default = "Default::default")]
+    pub extra_bytes: Vec<u8>,
+}
+
+impl PartialEq for Change {
+    // everything but hash (its computed and not always present)
+    fn eq(&self, other: &Self) -> bool {
+        self.operations == other.operations
+            && self.actor_id == other.actor_id
+            && self.seq == other.seq
+            && self.start_op == other.start_op
+            && self.time == other.time
+            && self.message == other.message
+            && self.deps == other.deps
+            && self.extra_bytes == other.extra_bytes
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/actor_id.rs.html b/src/automerge/legacy/serde_impls/actor_id.rs.html new file mode 100644 index 00000000..2517ce83 --- /dev/null +++ b/src/automerge/legacy/serde_impls/actor_id.rs.html @@ -0,0 +1,53 @@ +actor_id.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+
use std::str::FromStr;
+
+use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
+
+use crate::ActorId;
+
+impl<'de> Deserialize<'de> for ActorId {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        let s = String::deserialize(deserializer)?;
+        ActorId::from_str(&s)
+            .map_err(|_| de::Error::invalid_value(de::Unexpected::Str(&s), &"A valid ActorID"))
+    }
+}
+
+impl Serialize for ActorId {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        serializer.serialize_str(self.to_hex_string().as_str())
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/change_hash.rs.html b/src/automerge/legacy/serde_impls/change_hash.rs.html new file mode 100644 index 00000000..6f73fae0 --- /dev/null +++ b/src/automerge/legacy/serde_impls/change_hash.rs.html @@ -0,0 +1,61 @@ +change_hash.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+
use std::convert::TryInto;
+
+use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
+
+use crate::ChangeHash;
+
+impl Serialize for ChangeHash {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        hex::encode(self.0).serialize(serializer)
+    }
+}
+
+impl<'de> Deserialize<'de> for ChangeHash {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        let s = String::deserialize(deserializer)?;
+        let vec = hex::decode(&s).map_err(|_| {
+            de::Error::invalid_value(de::Unexpected::Str(&s), &"A valid hex string")
+        })?;
+        vec.as_slice().try_into().map_err(|_| {
+            de::Error::invalid_value(de::Unexpected::Str(&s), &"A 32 byte hex encoded string")
+        })
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/element_id.rs.html b/src/automerge/legacy/serde_impls/element_id.rs.html new file mode 100644 index 00000000..2122829c --- /dev/null +++ b/src/automerge/legacy/serde_impls/element_id.rs.html @@ -0,0 +1,57 @@ +element_id.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+
use std::str::FromStr;
+
+use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
+
+use crate::legacy::ElementId;
+
+impl Serialize for ElementId {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        match self {
+            ElementId::Id(id) => id.serialize(serializer),
+            ElementId::Head => serializer.serialize_str("_head"),
+        }
+    }
+}
+
+impl<'de> Deserialize<'de> for ElementId {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        let s = String::deserialize(deserializer)?;
+        ElementId::from_str(&s).map_err(|_| de::Error::custom("invalid element ID"))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/mod.rs.html b/src/automerge/legacy/serde_impls/mod.rs.html new file mode 100644 index 00000000..91c3e36a --- /dev/null +++ b/src/automerge/legacy/serde_impls/mod.rs.html @@ -0,0 +1,65 @@ +mod.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+
use serde::{
+    de::{Error, MapAccess},
+    Deserialize,
+};
+
+mod actor_id;
+mod change_hash;
+mod element_id;
+mod object_id;
+mod op;
+mod op_type;
+mod opid;
+mod scalar_value;
+
+// Helper method for use in custom deserialize impls
+pub(crate) fn read_field<'de, T, M>(
+    name: &'static str,
+    data: &mut Option<T>,
+    map: &mut M,
+) -> Result<(), M::Error>
+where
+    M: MapAccess<'de>,
+    T: Deserialize<'de>,
+{
+    if data.is_some() {
+        Err(Error::duplicate_field(name))
+    } else {
+        data.replace(map.next_value()?);
+        Ok(())
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/object_id.rs.html b/src/automerge/legacy/serde_impls/object_id.rs.html new file mode 100644 index 00000000..c97ea02e --- /dev/null +++ b/src/automerge/legacy/serde_impls/object_id.rs.html @@ -0,0 +1,75 @@ +object_id.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+
use std::str::FromStr;
+
+use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
+
+use crate::legacy::{ObjectId, OpId};
+
+impl Serialize for ObjectId {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        match self {
+            ObjectId::Id(id) => id.serialize(serializer),
+            ObjectId::Root => serializer.serialize_str("_root"),
+        }
+    }
+}
+
+impl<'de> Deserialize<'de> for ObjectId {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        let s = String::deserialize(deserializer)?;
+        if s == "_root" {
+            Ok(ObjectId::Root)
+        } else if let Ok(id) = OpId::from_str(&s) {
+            Ok(ObjectId::Id(id))
+        } else {
+            Err(de::Error::invalid_value(
+                de::Unexpected::Str(&s),
+                &"A valid ObjectID",
+            ))
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/op.rs.html b/src/automerge/legacy/serde_impls/op.rs.html new file mode 100644 index 00000000..d7753e0f --- /dev/null +++ b/src/automerge/legacy/serde_impls/op.rs.html @@ -0,0 +1,1271 @@ +op.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+
use serde::{
+    de::{Error, MapAccess, Unexpected, Visitor},
+    ser::SerializeStruct,
+    Deserialize, Deserializer, Serialize, Serializer,
+};
+
+use super::read_field;
+use crate::legacy::{DataType, Key, ObjType, ObjectId, Op, OpId, OpType, ScalarValue, SortedVec};
+
+impl Serialize for Op {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        let mut fields = 4;
+
+        if self.insert {
+            fields += 1
+        }
+
+        let numerical_datatype = match &self.action {
+            OpType::Put(value) => value.as_numerical_datatype(),
+            _ => None,
+        };
+
+        if numerical_datatype.is_some() {
+            fields += 2
+        } else if !matches!(&self.action, OpType::Make(..)) {
+            fields += 1
+        };
+
+        let mut op = serializer.serialize_struct("Operation", fields)?;
+        op.serialize_field("action", &self.action)?;
+        op.serialize_field("obj", &self.obj)?;
+        op.serialize_field(
+            if self.key.is_map_key() {
+                "key"
+            } else {
+                "elemId"
+            },
+            &self.key,
+        )?;
+        if self.insert {
+            op.serialize_field("insert", &self.insert)?;
+        }
+        if let Some(datatype) = numerical_datatype {
+            op.serialize_field("datatype", &datatype)?;
+        }
+        match &self.action {
+            OpType::Increment(n) => op.serialize_field("value", &n)?,
+            OpType::Put(ScalarValue::Counter(c)) => op.serialize_field("value", &c.start)?,
+            OpType::Put(value) => op.serialize_field("value", &value)?,
+            _ => {}
+        }
+        op.serialize_field("pred", &self.pred)?;
+        op.end()
+    }
+}
+
+// We need to manually implement deserialization for `RawOpType`
+// b/c by default rmp-serde (serde msgpack integration) serializes enums as maps with a
+// single KV pair where the key is an integer representing the enum variant & the value
+// is the associated data
+// But we serialize `RawOpType` as a string, causing rmp-serde to choke on deserialization
+#[derive(PartialEq, Debug, Clone, Copy)]
+pub(crate) enum RawOpType {
+    MakeMap,
+    MakeTable,
+    MakeList,
+    MakeText,
+    Del,
+    Inc,
+    Set,
+}
+
+impl Serialize for RawOpType {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        let s = match self {
+            RawOpType::MakeMap => "makeMap",
+            RawOpType::MakeTable => "makeTable",
+            RawOpType::MakeList => "makeList",
+            RawOpType::MakeText => "makeText",
+            RawOpType::Del => "del",
+            RawOpType::Inc => "inc",
+            RawOpType::Set => "set",
+        };
+        serializer.serialize_str(s)
+    }
+}
+
+impl<'de> Deserialize<'de> for RawOpType {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        const VARIANTS: &[&str] = &[
+            "makeMap",
+            "makeTable",
+            "makeList",
+            "makeText",
+            "del",
+            "inc",
+            "set",
+            "mark",
+            "unmark",
+        ];
+        // TODO: Probably more efficient to deserialize to a `&str`
+        let raw_type = String::deserialize(deserializer)?;
+        match raw_type.as_str() {
+            "makeMap" => Ok(RawOpType::MakeMap),
+            "makeTable" => Ok(RawOpType::MakeTable),
+            "makeList" => Ok(RawOpType::MakeList),
+            "makeText" => Ok(RawOpType::MakeText),
+            "del" => Ok(RawOpType::Del),
+            "inc" => Ok(RawOpType::Inc),
+            "set" => Ok(RawOpType::Set),
+            other => Err(Error::unknown_variant(other, VARIANTS)),
+        }
+    }
+}
+
+impl<'de> Deserialize<'de> for Op {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        const FIELDS: &[&str] = &["ops", "deps", "message", "seq", "actor", "requestType"];
+        struct OperationVisitor;
+        impl<'de> Visitor<'de> for OperationVisitor {
+            type Value = Op;
+
+            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+                formatter.write_str("An operation object")
+            }
+
+            fn visit_map<V>(self, mut map: V) -> Result<Op, V::Error>
+            where
+                V: MapAccess<'de>,
+            {
+                let mut action: Option<RawOpType> = None;
+                let mut obj: Option<ObjectId> = None;
+                let mut key: Option<Key> = None;
+                let mut pred: Option<SortedVec<OpId>> = None;
+                let mut insert: Option<bool> = None;
+                let mut datatype: Option<DataType> = None;
+                let mut value: Option<Option<ScalarValue>> = None;
+                let mut name: Option<String> = None;
+                let mut expand: Option<bool> = None;
+                let mut ref_id: Option<OpId> = None;
+                while let Some(field) = map.next_key::<String>()? {
+                    match field.as_ref() {
+                        "action" => read_field("action", &mut action, &mut map)?,
+                        "obj" => read_field("obj", &mut obj, &mut map)?,
+                        "key" => {
+                            if key.is_some() {
+                                return Err(Error::duplicate_field("key"));
+                            } else {
+                                key = Some(Key::Map(map.next_value()?));
+                            }
+                        }
+                        "elemId" => {
+                            if key.is_some() {
+                                return Err(Error::duplicate_field("elemId"));
+                            } else {
+                                key = Some(Key::Seq(map.next_value()?))
+                            }
+                        }
+                        "pred" => read_field("pred", &mut pred, &mut map)?,
+                        "insert" => read_field("insert", &mut insert, &mut map)?,
+                        "datatype" => read_field("datatype", &mut datatype, &mut map)?,
+                        "value" => read_field("value", &mut value, &mut map)?,
+                        "name" => read_field("name", &mut name, &mut map)?,
+                        "expand" => read_field("expand", &mut expand, &mut map)?,
+                        "ref" => read_field("ref", &mut ref_id, &mut map)?,
+                        _ => return Err(Error::unknown_field(&field, FIELDS)),
+                    }
+                }
+                let action = action.ok_or_else(|| Error::missing_field("action"))?;
+                let obj = obj.ok_or_else(|| Error::missing_field("obj"))?;
+                let key = key.ok_or_else(|| Error::missing_field("key"))?;
+                let pred = pred.ok_or_else(|| Error::missing_field("pred"))?;
+                let insert = insert.unwrap_or(false);
+                let action = match action {
+                    RawOpType::MakeMap => OpType::Make(ObjType::Map),
+                    RawOpType::MakeTable => OpType::Make(ObjType::Table),
+                    RawOpType::MakeList => OpType::Make(ObjType::List),
+                    RawOpType::MakeText => OpType::Make(ObjType::Text),
+                    RawOpType::Del => OpType::Delete,
+                    RawOpType::Set => {
+                        let value = if let Some(datatype) = datatype {
+                            let raw_value = value
+                                .ok_or_else(|| Error::missing_field("value"))?
+                                .unwrap_or(ScalarValue::Null);
+                            raw_value.as_datatype(datatype).map_err(|e| {
+                                Error::invalid_value(
+                                    Unexpected::Other(e.unexpected.as_str()),
+                                    &e.expected.as_str(),
+                                )
+                            })?
+                        } else {
+                            value
+                                .ok_or_else(|| Error::missing_field("value"))?
+                                .unwrap_or(ScalarValue::Null)
+                        };
+                        OpType::Put(value)
+                    }
+                    RawOpType::Inc => match value.flatten() {
+                        Some(ScalarValue::Int(n)) => Ok(OpType::Increment(n)),
+                        Some(ScalarValue::Uint(n)) => Ok(OpType::Increment(n as i64)),
+                        Some(ScalarValue::F64(n)) => Ok(OpType::Increment(n as i64)),
+                        Some(ScalarValue::Counter(n)) => Ok(OpType::Increment(n.into())),
+                        Some(ScalarValue::Timestamp(n)) => Ok(OpType::Increment(n)),
+                        Some(ScalarValue::Bytes(s)) => {
+                            Err(Error::invalid_value(Unexpected::Bytes(&s), &"a number"))
+                        }
+                        Some(ScalarValue::Unknown { bytes, .. }) => {
+                            Err(Error::invalid_value(Unexpected::Bytes(&bytes), &"a number"))
+                        }
+                        Some(ScalarValue::Str(s)) => {
+                            Err(Error::invalid_value(Unexpected::Str(&s), &"a number"))
+                        }
+                        Some(ScalarValue::Boolean(b)) => {
+                            Err(Error::invalid_value(Unexpected::Bool(b), &"a number"))
+                        }
+                        Some(ScalarValue::Null) => {
+                            Err(Error::invalid_value(Unexpected::Other("null"), &"a number"))
+                        }
+                        None => Err(Error::missing_field("value")),
+                    }?,
+                };
+                Ok(Op {
+                    action,
+                    obj,
+                    key,
+                    pred,
+                    insert,
+                })
+            }
+        }
+        deserializer.deserialize_struct("Operation", FIELDS, OperationVisitor)
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use std::str::FromStr;
+
+    use super::*;
+    use crate::legacy as amp;
+
+    #[test]
+    fn test_deserialize_action() {
+        struct Scenario {
+            name: &'static str,
+            json: serde_json::Value,
+            expected: Result<Op, serde_json::Error>,
+        }
+        let scenarios: Vec<Scenario> = vec![
+            Scenario {
+                name: "Set with Uint",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "datatype": "uint",
+                    "value": 123,
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::Uint(123)),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Set with Int",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": -123,
+                    "datatype": "int",
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::Int(-123)),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Set with F64",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": -123,
+                    "datatype": "float64",
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::F64(-123.0)),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: Vec::new().into(),
+                }),
+            },
+            Scenario {
+                name: "Set with string",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": "somestring",
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::Str("somestring".into())),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Set with f64",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": 1.23,
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::F64(1.23)),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Set with boolean",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": true,
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::Boolean(true)),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Set without value",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "datatype": "counter",
+                    "pred": []
+                }),
+                expected: Err(serde_json::Error::missing_field("value")),
+            },
+            Scenario {
+                name: "Set with counter",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": 123,
+                    "datatype": "counter",
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::Counter(123.into())),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Set with counter datatype and string value",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": "somestring",
+                    "datatype": "counter",
+                    "pred": []
+                }),
+                expected: Err(serde_json::Error::invalid_value(
+                    Unexpected::Other("\"somestring\""),
+                    &"an integer",
+                )),
+            },
+            Scenario {
+                name: "Set with timestamp datatype and string value",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": "somestring",
+                    "datatype": "timestamp",
+                    "pred": []
+                }),
+                expected: Err(serde_json::Error::invalid_value(
+                    Unexpected::Other("\"somestring\""),
+                    &"an integer",
+                )),
+            },
+            Scenario {
+                name: "Inc with counter",
+                json: serde_json::json!({
+                    "action": "inc",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": 12,
+                    "datatype": "counter",
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Increment(12),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Inc without counter",
+                json: serde_json::json!({
+                    "action": "inc",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": 12,
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Increment(12),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+            Scenario {
+                name: "Inc without value",
+                json: serde_json::json!({
+                    "action": "inc",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "pred": []
+                }),
+                expected: Err(serde_json::Error::missing_field("value")),
+            },
+            Scenario {
+                name: "Set with null",
+                json: serde_json::json!({
+                    "action": "set",
+                    "obj": "_root",
+                    "key": "somekey",
+                    "value": null,
+                    "pred": []
+                }),
+                expected: Ok(Op {
+                    action: OpType::Put(ScalarValue::Null),
+                    obj: ObjectId::Root,
+                    key: "somekey".into(),
+                    insert: false,
+                    pred: SortedVec::new(),
+                }),
+            },
+        ];
+
+        for scenario in scenarios.into_iter() {
+            let result: serde_json::Result<Op> = serde_json::from_value(scenario.json);
+            match (result, scenario.expected) {
+                (Ok(result_op), Ok(expected_op)) => assert_eq!(
+                    result_op, expected_op,
+                    "Scenario {}: Expected Ok({:?}) but got Ok({:?})",
+                    scenario.name, expected_op, result_op
+                ),
+                (Ok(result_op), Err(e)) => panic!(
+                    "Scenario {}: expected Err({:?}) but got Ok({:?})",
+                    scenario.name, e, result_op
+                ),
+                (Err(result_e), Err(expected_e)) => assert_eq!(
+                    result_e.to_string(),
+                    expected_e.to_string(),
+                    "Scenario {}: expected Err({:?}) but got Err({:?})",
+                    scenario.name,
+                    expected_e,
+                    result_e
+                ),
+                (Err(result_e), Ok(expected)) => panic!(
+                    "Scenario {}: expected Ok({:?}) but got Err({:?})",
+                    scenario.name, expected, result_e
+                ),
+            }
+        }
+    }
+
+    #[test]
+    fn test_deserialize_obj() {
+        let root: Op = serde_json::from_value(serde_json::json!({
+            "action": "inc",
+            "obj": "_root",
+            "key": "somekey",
+            "value": 1,
+            "pred": []
+        }))
+        .unwrap();
+        assert_eq!(root.obj, amp::ObjectId::Root);
+
+        let opid: Op = serde_json::from_value(serde_json::json!({
+            "action": "inc",
+            "obj": "1@7ef48769b04d47e9a88e98a134d62716",
+            "key": "somekey",
+            "value": 1,
+            "pred": []
+        }))
+        .unwrap();
+        assert_eq!(
+            opid.obj,
+            amp::ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap()
+        );
+
+        let invalid: Result<Op, serde_json::Error> = serde_json::from_value(serde_json::json!({
+            "action": "inc",
+            "obj": "notanobject",
+            "key": "somekey",
+            "value": 1,
+            "pred": []
+        }));
+        match invalid {
+            Ok(_) => panic!("Parsing an invalid object id should fail"),
+            Err(e) => assert!(e.to_string().contains("A valid ObjectID")),
+        }
+    }
+
+    #[test]
+    fn test_serialize_key() {
+        let map_key = Op {
+            action: OpType::Increment(12),
+            obj: ObjectId::Root,
+            key: "somekey".into(),
+            insert: false,
+            pred: SortedVec::new(),
+        };
+        let json = serde_json::to_value(map_key).unwrap();
+        let expected: serde_json::Value = "somekey".into();
+        assert_eq!(json.as_object().unwrap().get("key"), Some(&expected));
+
+        let elemid_key = Op {
+            action: OpType::Increment(12),
+            obj: ObjectId::Root,
+            key: OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716")
+                .unwrap()
+                .into(),
+            insert: false,
+            pred: SortedVec::new(),
+        };
+        let json = serde_json::to_value(elemid_key).unwrap();
+        let expected: serde_json::Value = "1@7ef48769b04d47e9a88e98a134d62716".into();
+        assert_eq!(json.as_object().unwrap().get("elemId"), Some(&expected));
+    }
+
+    #[test]
+    fn test_round_trips() {
+        let testcases = vec![
+            Op {
+                action: OpType::Put(ScalarValue::Uint(12)),
+                obj: ObjectId::Root,
+                key: "somekey".into(),
+                insert: false,
+                pred: SortedVec::new(),
+            },
+            Op {
+                action: OpType::Increment(12),
+                obj: ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap(),
+                key: "somekey".into(),
+                insert: false,
+                pred: SortedVec::new(),
+            },
+            Op {
+                action: OpType::Put(ScalarValue::Uint(12)),
+                obj: ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap(),
+                key: "somekey".into(),
+                insert: false,
+                pred: vec![OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap()].into(),
+            },
+            Op {
+                action: OpType::Increment(12),
+                obj: ObjectId::Root,
+                key: "somekey".into(),
+                insert: false,
+                pred: SortedVec::new(),
+            },
+            Op {
+                action: OpType::Put("seomthing".into()),
+                obj: ObjectId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap(),
+                key: OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716")
+                    .unwrap()
+                    .into(),
+                insert: false,
+                pred: vec![OpId::from_str("1@7ef48769b04d47e9a88e98a134d62716").unwrap()].into(),
+            },
+        ];
+        for (testcase_num, testcase) in testcases.iter().enumerate() {
+            #[allow(clippy::expect_fun_call)]
+            let serialized = serde_json::to_string(testcase)
+                .expect(format!("Failed to serialize testcase {}", testcase_num).as_str());
+            #[allow(clippy::expect_fun_call)]
+            let deserialized: Op = serde_json::from_str(&serialized)
+                .expect(format!("Failed to deserialize testcase {}", testcase_num).as_str());
+            assert_eq!(testcase, &deserialized, "Testcase {} failed", testcase_num);
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/op_type.rs.html b/src/automerge/legacy/serde_impls/op_type.rs.html new file mode 100644 index 00000000..67ff387f --- /dev/null +++ b/src/automerge/legacy/serde_impls/op_type.rs.html @@ -0,0 +1,51 @@ +op_type.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+
use serde::{Serialize, Serializer};
+
+use super::op::RawOpType;
+use crate::{ObjType, OpType};
+
+impl Serialize for OpType {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        // We convert to a `RawOpType` b/c here we only want to serialize the type of the `OpType`
+        // and not its associated data, since in JSON the associated data is under a different key.
+        let raw_type = match self {
+            OpType::Make(ObjType::Map) => RawOpType::MakeMap,
+            OpType::Make(ObjType::Table) => RawOpType::MakeTable,
+            OpType::Make(ObjType::List) => RawOpType::MakeList,
+            OpType::Make(ObjType::Text) => RawOpType::MakeText,
+            OpType::Delete => RawOpType::Del,
+            OpType::Increment(_) => RawOpType::Inc,
+            OpType::Put(_) => RawOpType::Set,
+        };
+        raw_type.serialize(serializer)
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/opid.rs.html b/src/automerge/legacy/serde_impls/opid.rs.html new file mode 100644 index 00000000..15892d35 --- /dev/null +++ b/src/automerge/legacy/serde_impls/opid.rs.html @@ -0,0 +1,53 @@ +opid.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+
use std::str::FromStr;
+
+use serde::{de, Deserialize, Deserializer, Serialize, Serializer};
+
+use crate::legacy::OpId;
+
+impl<'de> Deserialize<'de> for OpId {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        let s = String::deserialize(deserializer)?;
+        OpId::from_str(&s)
+            .map_err(|_| de::Error::invalid_value(de::Unexpected::Str(&s), &"A valid OpID"))
+    }
+}
+
+impl Serialize for OpId {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        serializer.serialize_str(self.to_string().as_str())
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/serde_impls/scalar_value.rs.html b/src/automerge/legacy/serde_impls/scalar_value.rs.html new file mode 100644 index 00000000..37dcf66f --- /dev/null +++ b/src/automerge/legacy/serde_impls/scalar_value.rs.html @@ -0,0 +1,129 @@ +scalar_value.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+
use serde::{de, Deserialize, Deserializer};
+use smol_str::SmolStr;
+
+use crate::types::ScalarValue;
+
+impl<'de> Deserialize<'de> for ScalarValue {
+    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
+    where
+        D: Deserializer<'de>,
+    {
+        struct ValueVisitor;
+        impl<'de> de::Visitor<'de> for ValueVisitor {
+            type Value = ScalarValue;
+
+            fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+                formatter.write_str("a number, string, bool, or null")
+            }
+
+            fn visit_bool<E>(self, value: bool) -> Result<ScalarValue, E>
+            where
+                E: de::Error,
+            {
+                Ok(ScalarValue::Boolean(value))
+            }
+
+            fn visit_u64<E>(self, value: u64) -> Result<ScalarValue, E>
+            where
+                E: de::Error,
+            {
+                Ok(ScalarValue::Uint(value))
+            }
+
+            fn visit_i64<E>(self, value: i64) -> Result<ScalarValue, E>
+            where
+                E: de::Error,
+            {
+                Ok(ScalarValue::Int(value))
+            }
+
+            fn visit_f64<E>(self, value: f64) -> Result<ScalarValue, E>
+            where
+                E: de::Error,
+            {
+                Ok(ScalarValue::F64(value))
+            }
+
+            fn visit_str<E>(self, value: &str) -> Result<ScalarValue, E>
+            where
+                E: de::Error,
+            {
+                Ok(ScalarValue::Str(SmolStr::new(value)))
+            }
+
+            fn visit_none<E>(self) -> Result<ScalarValue, E>
+            where
+                E: de::Error,
+            {
+                Ok(ScalarValue::Null)
+            }
+        }
+        deserializer.deserialize_any(ValueVisitor)
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/utility_impls/element_id.rs.html b/src/automerge/legacy/utility_impls/element_id.rs.html new file mode 100644 index 00000000..1c48b589 --- /dev/null +++ b/src/automerge/legacy/utility_impls/element_id.rs.html @@ -0,0 +1,135 @@ +element_id.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+
use std::{
+    cmp::{Ordering, PartialOrd},
+    str::FromStr,
+};
+
+use crate::error::InvalidElementId;
+use crate::legacy::{ElementId, OpId};
+
+impl PartialOrd for ElementId {
+    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
+        Some(self.cmp(other))
+    }
+}
+
+impl Ord for ElementId {
+    fn cmp(&self, other: &Self) -> Ordering {
+        match (self, other) {
+            (ElementId::Id(a), ElementId::Id(b)) => a.cmp(b),
+            (ElementId::Head, ElementId::Head) => Ordering::Equal,
+            (ElementId::Head, _) => Ordering::Less,
+            (_, ElementId::Head) => Ordering::Greater,
+        }
+    }
+}
+
+impl From<OpId> for ElementId {
+    fn from(o: OpId) -> Self {
+        ElementId::Id(o)
+    }
+}
+
+impl From<&OpId> for ElementId {
+    fn from(o: &OpId) -> Self {
+        ElementId::Id(o.clone())
+    }
+}
+
+impl FromStr for ElementId {
+    type Err = InvalidElementId;
+
+    fn from_str(s: &str) -> Result<Self, Self::Err> {
+        match s {
+            "_head" => Ok(ElementId::Head),
+            id => Ok(ElementId::Id(
+                OpId::from_str(id).map_err(|_| InvalidElementId(id.to_string()))?,
+            )),
+        }
+    }
+}
+
+impl TryFrom<&str> for ElementId {
+    type Error = InvalidElementId;
+
+    fn try_from(value: &str) -> Result<Self, Self::Error> {
+        ElementId::from_str(value)
+    }
+}
+
+impl std::fmt::Display for ElementId {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        match self {
+            ElementId::Head => write!(f, "_head"),
+            ElementId::Id(id) => write!(f, "{}", id),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/utility_impls/key.rs.html b/src/automerge/legacy/utility_impls/key.rs.html new file mode 100644 index 00000000..65446061 --- /dev/null +++ b/src/automerge/legacy/utility_impls/key.rs.html @@ -0,0 +1,101 @@ +key.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+
use std::cmp::{Ordering, PartialOrd};
+
+use smol_str::SmolStr;
+
+use crate::legacy::{ElementId, Key, OpId};
+
+impl PartialOrd for Key {
+    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
+        Some(self.cmp(other))
+    }
+}
+
+impl Ord for Key {
+    fn cmp(&self, other: &Self) -> Ordering {
+        match (self, other) {
+            (Key::Map(a), Key::Map(b)) => a.cmp(b),
+            (Key::Seq(a), Key::Seq(b)) => a.cmp(b),
+            (Key::Map(_), _) => Ordering::Less,
+            (_, Key::Map(_)) => Ordering::Greater,
+        }
+    }
+}
+
+impl From<OpId> for Key {
+    fn from(id: OpId) -> Self {
+        Key::Seq(ElementId::Id(id))
+    }
+}
+
+impl From<&OpId> for Key {
+    fn from(id: &OpId) -> Self {
+        Key::Seq(ElementId::Id(id.clone()))
+    }
+}
+
+impl From<ElementId> for Key {
+    fn from(id: ElementId) -> Self {
+        Key::Seq(id)
+    }
+}
+
+impl<S> From<S> for Key
+where
+    S: AsRef<str>,
+{
+    fn from(s: S) -> Self {
+        Key::Map(SmolStr::new(s))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/utility_impls/mod.rs.html b/src/automerge/legacy/utility_impls/mod.rs.html new file mode 100644 index 00000000..ce219a1b --- /dev/null +++ b/src/automerge/legacy/utility_impls/mod.rs.html @@ -0,0 +1,11 @@ +mod.rs - source
1
+2
+3
+4
+
mod element_id;
+mod key;
+mod object_id;
+mod opid;
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/utility_impls/object_id.rs.html b/src/automerge/legacy/utility_impls/object_id.rs.html new file mode 100644 index 00000000..f3a637aa --- /dev/null +++ b/src/automerge/legacy/utility_impls/object_id.rs.html @@ -0,0 +1,151 @@ +object_id.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+
use std::{
+    cmp::{Ordering, PartialOrd},
+    fmt,
+    str::FromStr,
+};
+
+use crate::error::InvalidObjectId;
+use crate::legacy::{ObjectId, OpId};
+
+impl PartialOrd for ObjectId {
+    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
+        Some(self.cmp(other))
+    }
+}
+
+impl Ord for ObjectId {
+    fn cmp(&self, other: &Self) -> Ordering {
+        match (self, other) {
+            (ObjectId::Root, ObjectId::Root) => Ordering::Equal,
+            (ObjectId::Root, _) => Ordering::Less,
+            (_, ObjectId::Root) => Ordering::Greater,
+            (ObjectId::Id(a), ObjectId::Id(b)) => a.cmp(b),
+        }
+    }
+}
+
+impl From<&OpId> for ObjectId {
+    fn from(o: &OpId) -> Self {
+        ObjectId::Id(o.clone())
+    }
+}
+
+impl From<&ObjectId> for ObjectId {
+    fn from(o: &ObjectId) -> Self {
+        o.clone()
+    }
+}
+
+impl FromStr for ObjectId {
+    type Err = InvalidObjectId;
+
+    fn from_str(s: &str) -> Result<ObjectId, Self::Err> {
+        if s == "_root" {
+            Ok(ObjectId::Root)
+        } else if let Ok(id) = OpId::from_str(s) {
+            Ok(ObjectId::Id(id))
+        } else {
+            Err(InvalidObjectId(s.to_string()))
+        }
+    }
+}
+
+impl From<OpId> for ObjectId {
+    fn from(id: OpId) -> Self {
+        ObjectId::Id(id)
+    }
+}
+
+impl fmt::Display for ObjectId {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            ObjectId::Root => write!(f, "_root"),
+            ObjectId::Id(oid) => write!(f, "{}", oid),
+        }
+    }
+}
+
+impl TryFrom<&str> for ObjectId {
+    type Error = InvalidObjectId;
+
+    fn try_from(value: &str) -> Result<Self, Self::Error> {
+        ObjectId::from_str(value)
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/legacy/utility_impls/opid.rs.html b/src/automerge/legacy/utility_impls/opid.rs.html new file mode 100644 index 00000000..f631dc4e --- /dev/null +++ b/src/automerge/legacy/utility_impls/opid.rs.html @@ -0,0 +1,139 @@ +opid.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+
use core::fmt;
+use std::{
+    cmp::{Ordering, PartialOrd},
+    str::FromStr,
+};
+
+use crate::error::InvalidOpId;
+use crate::legacy::{ActorId, OpId};
+
+impl Ord for OpId {
+    fn cmp(&self, other: &Self) -> Ordering {
+        if self.0 != other.0 {
+            self.0.cmp(&other.0)
+        } else {
+            self.1.cmp(&other.1)
+        }
+    }
+}
+
+impl fmt::Debug for OpId {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        f.write_str(self.to_string().as_str())
+    }
+}
+
+impl fmt::Display for OpId {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            OpId(seq, actor) => write!(f, "{}@{}", seq, actor),
+        }
+    }
+}
+
+impl PartialOrd for OpId {
+    fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
+        Some(self.cmp(other))
+    }
+}
+
+impl FromStr for OpId {
+    type Err = InvalidOpId;
+
+    fn from_str(s: &str) -> Result<Self, Self::Err> {
+        let mut i = s.split('@');
+        match (i.next(), i.next(), i.next()) {
+            (Some(counter_str), Some(actor_str), None) => {
+                match (counter_str.parse(), ActorId::from_str(actor_str)) {
+                    (Ok(counter), Ok(actor)) => Ok(OpId(counter, actor)),
+                    _ => Err(InvalidOpId(s.to_string())),
+                }
+            }
+            _ => Err(InvalidOpId(s.to_string())),
+        }
+    }
+}
+
+impl TryFrom<&str> for OpId {
+    type Error = InvalidOpId;
+    fn try_from(s: &str) -> Result<Self, InvalidOpId> {
+        OpId::from_str(s)
+    }
+}
+
+impl From<&OpId> for String {
+    fn from(id: &OpId) -> Self {
+        id.to_string()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/lib.rs.html b/src/automerge/lib.rs.html new file mode 100644 index 00000000..882be8dc --- /dev/null +++ b/src/automerge/lib.rs.html @@ -0,0 +1,605 @@ +lib.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+
//! # Automerge
+//!
+//! Automerge is a library of data structures for building collaborative,
+//! [local-first](https://www.inkandswitch.com/local-first/) applications. The
+//! idea of automerge is to provide a data structure which is quite general,
+//! \- consisting of nested key/value maps and/or lists - which can be modified
+//! entirely locally but which can at any time be merged with other instances of
+//! the same data structure.
+//!
+//! In addition to the core data structure (which we generally refer to as a
+//! "document"), we also provide an implementation of a sync protocol (in
+//! [`crate::sync`]) which can be used over any reliable in-order transport; and
+//! an efficient binary storage format.
+//!
+//! This crate is organised around two representations of a document -
+//! [`Automerge`] and [`AutoCommit`]. The difference between the two is that
+//! [`AutoCommit`] manages transactions for you. Both of these representations
+//! implement [`ReadDoc`] for reading values from a document and
+//! [`sync::SyncDoc`] for taking part in the sync protocol. [`AutoCommit`]
+//! directly implements [`transaction::Transactable`] for making changes to a
+//! document, whilst [`Automerge`] requires you to explicitly create a
+//! [`transaction::Transaction`].
+//!
+//! NOTE: The API this library provides for modifying data is quite low level
+//! (somewhat analogous to directly creating JSON values rather than using
+//! `serde` derive macros or equivalent). If you're writing a Rust application which uses automerge
+//! you may want to look at [autosurgeon](https://github.com/automerge/autosurgeon).
+//!
+//! ## Data Model
+//!
+//! An automerge document is a map from strings to values
+//! ([`Value`]) where values can be either
+//!
+//! * A nested composite value which is either
+//!   * A map from strings to values ([`ObjType::Map`])
+//!   * A list of values ([`ObjType::List`])
+//!   * A text object (a sequence of unicode characters) ([`ObjType::Text`])
+//! * A primitive value ([`ScalarValue`]) which is one of
+//!   * A string
+//!   * A 64 bit floating point number
+//!   * A signed 64 bit integer
+//!   * An unsigned 64 bit integer
+//!   * A boolean
+//!   * A counter object (a 64 bit integer which merges by addition)
+//!     ([`ScalarValue::Counter`])
+//!   * A timestamp (a 64 bit integer which is milliseconds since the unix epoch)
+//!
+//! All composite values have an ID ([`ObjId`]) which is created when the value
+//! is inserted into the document or is the root object ID [`ROOT`]. Values in
+//! the document are then referred to by the pair (`object ID`, `key`). The
+//! `key` is represented by the [`Prop`] type and is either a string for a maps,
+//! or an index for sequences.
+//!
+//! ### Conflicts
+//!
+//! There are some things automerge cannot merge sensibly. For example, two
+//! actors concurrently setting the key "name" to different values. In this case
+//! automerge will pick a winning value in a random but deterministic way, but
+//! the conflicting value is still available via the [`ReadDoc::get_all`] method.
+//!
+//! ### Change hashes and historical values
+//!
+//! Like git, points in the history of a document are identified by hash. Unlike
+//! git there can be multiple hashes representing a particular point (because
+//! automerge supports concurrent changes). These hashes can be obtained using
+//! either [`Automerge::get_heads`] or [`AutoCommit::get_heads`] (note these
+//! methods are not part of [`ReadDoc`] because in the case of [`AutoCommit`] it
+//! requires a mutable reference to the document).
+//!
+//! These hashes can be used to read values from the document at a particular
+//! point in history using the various `*_at` methods on [`ReadDoc`] which take a
+//! slice of [`ChangeHash`] as an argument.
+//!
+//! ### Actor IDs
+//!
+//! Any change to an automerge document is made by an actor, represented by an
+//! [`ActorId`]. An actor ID is any random sequence of bytes but each change by
+//! the same actor ID must be sequential. This often means you will want to
+//! maintain at least one actor ID per device. It is fine to generate a new
+//! actor ID for each change, but be aware that each actor ID takes up space in
+//! a document so if you expect a document to be long lived and/or to have many
+//! changes then you should try to reuse actor IDs where possible.
+//!
+//! ### Text Encoding
+//!
+//! Both [`Automerge`] and [`AutoCommit`] provide a `with_encoding` method which
+//! allows you to specify the [`crate::TextEncoding`] which is used for
+//! interpreting the indexes passed to methods like [`ReadDoc::list_range`] or
+//! [`transaction::Transactable::splice`]. The default encoding is UTF-8, but
+//! you can switch to UTF-16.
+//!
+//! ## Sync Protocol
+//!
+//! See the [`sync`] module.
+//!
+//! ## Serde serialization
+//!
+//! Sometimes you just want to get the JSON value of an automerge document. For
+//! this you can use [`AutoSerde`], which implements `serde::Serialize` for an
+//! automerge document.
+//!
+//! ## Example
+//!
+//! Let's create a document representing an address book.
+//!
+//! ```
+//! use automerge::{ObjType, AutoCommit, transaction::Transactable, ReadDoc};
+//!
+//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
+//! let mut doc = AutoCommit::new();
+//!
+//! // `put_object` creates a nested object in the root key/value map and
+//! // returns the ID of the new object, in this case a list.
+//! let contacts = doc.put_object(automerge::ROOT, "contacts", ObjType::List)?;
+//!
+//! // Now we can insert objects into the list
+//! let alice = doc.insert_object(&contacts, 0, ObjType::Map)?;
+//!
+//! // Finally we can set keys in the "alice" map
+//! doc.put(&alice, "name", "Alice")?;
+//! doc.put(&alice, "email", "alice@example.com")?;
+//!
+//! // Create another contact
+//! let bob = doc.insert_object(&contacts, 1, ObjType::Map)?;
+//! doc.put(&bob, "name", "Bob")?;
+//! doc.put(&bob, "email", "bob@example.com")?;
+//!
+//! // Now we save the address book, we can put this in a file
+//! let data: Vec<u8> = doc.save();
+//! # Ok(())
+//! # }
+//! ```
+//!
+//! Now modify this document on two separate devices and merge the modifications.
+//!
+//! ```
+//! use std::borrow::Cow;
+//! use automerge::{ObjType, AutoCommit, transaction::Transactable, ReadDoc};
+//!
+//! # fn main() -> Result<(), Box<dyn std::error::Error>> {
+//! # let mut doc = AutoCommit::new();
+//! # let contacts = doc.put_object(automerge::ROOT, "contacts", ObjType::List)?;
+//! # let alice = doc.insert_object(&contacts, 0, ObjType::Map)?;
+//! # doc.put(&alice, "name", "Alice")?;
+//! # doc.put(&alice, "email", "alice@example.com")?;
+//! # let bob = doc.insert_object(&contacts, 1, ObjType::Map)?;
+//! # doc.put(&bob, "name", "Bob")?;
+//! # doc.put(&bob, "email", "bob@example.com")?;
+//! # let saved: Vec<u8> = doc.save();
+//!
+//! // Load the document on the first device and change alices email
+//! let mut doc1 = AutoCommit::load(&saved)?;
+//! let contacts = match doc1.get(automerge::ROOT, "contacts")? {
+//!     Some((automerge::Value::Object(ObjType::List), contacts)) => contacts,
+//!     _ => panic!("contacts should be a list"),
+//! };
+//! let alice = match doc1.get(&contacts, 0)? {
+//!    Some((automerge::Value::Object(ObjType::Map), alice)) => alice,
+//!    _ => panic!("alice should be a map"),
+//! };
+//! doc1.put(&alice, "email", "alicesnewemail@example.com")?;
+//!
+//!
+//! // Load the document on the second device and change bobs name
+//! let mut doc2 = AutoCommit::load(&saved)?;
+//! let contacts = match doc2.get(automerge::ROOT, "contacts")? {
+//!    Some((automerge::Value::Object(ObjType::List), contacts)) => contacts,
+//!    _ => panic!("contacts should be a list"),
+//! };
+//! let bob = match doc2.get(&contacts, 1)? {
+//!   Some((automerge::Value::Object(ObjType::Map), bob)) => bob,
+//!   _ => panic!("bob should be a map"),
+//! };
+//! doc2.put(&bob, "name", "Robert")?;
+//!
+//! // Finally, we can merge the changes from the two devices
+//! doc1.merge(&mut doc2)?;
+//! let bobsname: Option<automerge::Value> = doc1.get(&bob, "name")?.map(|(v, _)| v);
+//! assert_eq!(bobsname, Some(automerge::Value::Scalar(Cow::Owned("Robert".into()))));
+//!
+//! let alices_email: Option<automerge::Value> = doc1.get(&alice, "email")?.map(|(v, _)| v);
+//! assert_eq!(alices_email, Some(automerge::Value::Scalar(Cow::Owned("alicesnewemail@example.com".into()))));
+//! # Ok(())
+//! # }
+//! ```
+//!
+
+#![doc(
+    html_logo_url = "https://raw.githubusercontent.com/automerge/automerge-rs/main/img/brandmark.svg",
+    html_favicon_url = "https:///raw.githubusercontent.com/automerge/automerge-rs/main/img/favicon.ico"
+)]
+#![warn(
+    missing_debug_implementations,
+    // missing_docs, // TODO: add documentation!
+    rust_2018_idioms,
+    unreachable_pub,
+    bad_style,
+    dead_code,
+    improper_ctypes,
+    non_shorthand_field_patterns,
+    no_mangle_generic_items,
+    overflowing_literals,
+    path_statements,
+    patterns_in_fns_without_body,
+    private_in_public,
+    unconditional_recursion,
+    unused,
+    unused_allocation,
+    unused_comparisons,
+    unused_parens,
+    while_true
+)]
+
+#[doc(hidden)]
+#[macro_export]
+macro_rules! log {
+     ( $( $t:tt )* ) => {
+          {
+            use $crate::__log;
+            __log!( $( $t )* );
+          }
+     }
+ }
+
+#[cfg(all(feature = "wasm", target_family = "wasm"))]
+#[doc(hidden)]
+#[macro_export]
+macro_rules! __log {
+     ( $( $t:tt )* ) => {
+         web_sys::console::log_1(&format!( $( $t )* ).into());
+     }
+ }
+
+#[cfg(not(all(feature = "wasm", target_family = "wasm")))]
+#[doc(hidden)]
+#[macro_export]
+macro_rules! __log {
+     ( $( $t:tt )* ) => {
+         println!( $( $t )* );
+     }
+ }
+
+mod autocommit;
+mod automerge;
+mod autoserde;
+mod change;
+mod change_graph;
+mod clock;
+mod columnar;
+mod convert;
+mod error;
+mod exid;
+mod indexed_cache;
+mod keys;
+mod keys_at;
+mod legacy;
+mod list_range;
+mod list_range_at;
+mod map_range;
+mod map_range_at;
+pub mod op_observer;
+mod op_set;
+mod op_tree;
+mod parents;
+mod query;
+mod read;
+mod storage;
+pub mod sync;
+pub mod transaction;
+mod types;
+mod value;
+mod values;
+#[cfg(feature = "optree-visualisation")]
+mod visualisation;
+
+pub use crate::automerge::{Automerge, OnPartialLoad};
+pub use autocommit::{AutoCommit, AutoCommitWithObs};
+pub use autoserde::AutoSerde;
+pub use change::{Change, LoadError as LoadChangeError};
+pub use error::AutomergeError;
+pub use error::InvalidActorId;
+pub use error::InvalidChangeHashSlice;
+pub use exid::{ExId as ObjId, ObjIdFromBytesError};
+pub use keys::Keys;
+pub use keys_at::KeysAt;
+pub use legacy::Change as ExpandedChange;
+pub use list_range::ListRange;
+pub use list_range_at::ListRangeAt;
+pub use map_range::MapRange;
+pub use map_range_at::MapRangeAt;
+pub use op_observer::OpObserver;
+pub use op_observer::Patch;
+pub use op_observer::VecOpObserver;
+pub use parents::{Parent, Parents};
+pub use read::ReadDoc;
+pub use types::{ActorId, ChangeHash, ObjType, OpType, ParseChangeHashError, Prop, TextEncoding};
+pub use value::{ScalarValue, Value};
+pub use values::Values;
+
+/// The object ID for the root map of a document
+pub const ROOT: ObjId = ObjId::Root;
+
+
\ No newline at end of file diff --git a/src/automerge/list_range.rs.html b/src/automerge/list_range.rs.html new file mode 100644 index 00000000..2308c41a --- /dev/null +++ b/src/automerge/list_range.rs.html @@ -0,0 +1,63 @@ +list_range.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+
use crate::{exid::ExId, Value};
+
+use crate::{query, Automerge};
+use std::ops::RangeBounds;
+
+/// An iterator over the elements of a list object
+///
+/// This is returned by the [`crate::ReadDoc::list_range`] method
+#[derive(Debug)]
+pub struct ListRange<'a, R: RangeBounds<usize>> {
+    range: Option<query::ListRange<'a, R>>,
+    doc: &'a Automerge,
+}
+
+impl<'a, R: RangeBounds<usize>> ListRange<'a, R> {
+    pub(crate) fn new(doc: &'a Automerge, range: Option<query::ListRange<'a, R>>) -> Self {
+        Self { range, doc }
+    }
+}
+
+impl<'a, R: RangeBounds<usize>> Iterator for ListRange<'a, R> {
+    type Item = (usize, Value<'a>, ExId);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.range
+            .as_mut()?
+            .next()
+            .map(|(idx, value, id)| (idx, value, self.doc.id_to_exid(id)))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/list_range_at.rs.html b/src/automerge/list_range_at.rs.html new file mode 100644 index 00000000..279544a7 --- /dev/null +++ b/src/automerge/list_range_at.rs.html @@ -0,0 +1,63 @@ +list_range_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+
use crate::{exid::ExId, Value};
+use std::ops::RangeBounds;
+
+use crate::{query, Automerge};
+
+/// An iterator over the elements of a list object at a particular set of heads
+///
+/// This is returned by the [`crate::ReadDoc::list_range_at`] method
+#[derive(Debug)]
+pub struct ListRangeAt<'a, R: RangeBounds<usize>> {
+    range: Option<query::ListRangeAt<'a, R>>,
+    doc: &'a Automerge,
+}
+
+impl<'a, R: RangeBounds<usize>> ListRangeAt<'a, R> {
+    pub(crate) fn new(doc: &'a Automerge, range: Option<query::ListRangeAt<'a, R>>) -> Self {
+        Self { range, doc }
+    }
+}
+
+impl<'a, R: RangeBounds<usize>> Iterator for ListRangeAt<'a, R> {
+    type Item = (usize, Value<'a>, ExId);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.range
+            .as_mut()?
+            .next()
+            .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id)))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/map_range.rs.html b/src/automerge/map_range.rs.html new file mode 100644 index 00000000..84860e80 --- /dev/null +++ b/src/automerge/map_range.rs.html @@ -0,0 +1,81 @@ +map_range.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+
use crate::{exid::ExId, Value};
+use std::ops::RangeBounds;
+
+use crate::{query, Automerge};
+
+/// An iterator over the keys and values of a map object
+///
+/// This is returned by the [`crate::ReadDoc::map_range`] method
+#[derive(Debug)]
+pub struct MapRange<'a, R: RangeBounds<String>> {
+    range: Option<query::MapRange<'a, R>>,
+    doc: &'a Automerge,
+}
+
+impl<'a, R: RangeBounds<String>> MapRange<'a, R> {
+    pub(crate) fn new(doc: &'a Automerge, range: Option<query::MapRange<'a, R>>) -> Self {
+        Self { range, doc }
+    }
+}
+
+impl<'a, R: RangeBounds<String>> Iterator for MapRange<'a, R> {
+    type Item = (&'a str, Value<'a>, ExId);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.range
+            .as_mut()?
+            .next()
+            .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id)))
+    }
+}
+
+impl<'a, R: RangeBounds<String>> DoubleEndedIterator for MapRange<'a, R> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        self.range
+            .as_mut()?
+            .next_back()
+            .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id)))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/map_range_at.rs.html b/src/automerge/map_range_at.rs.html new file mode 100644 index 00000000..089214c1 --- /dev/null +++ b/src/automerge/map_range_at.rs.html @@ -0,0 +1,81 @@ +map_range_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+
use crate::{exid::ExId, Value};
+use std::ops::RangeBounds;
+
+use crate::{query, Automerge};
+
+/// An iterator over the keys and values of a map object as at a particuar heads
+///
+/// This is returned by the [`crate::ReadDoc::map_range_at`] method
+#[derive(Debug)]
+pub struct MapRangeAt<'a, R: RangeBounds<String>> {
+    range: Option<query::MapRangeAt<'a, R>>,
+    doc: &'a Automerge,
+}
+
+impl<'a, R: RangeBounds<String>> MapRangeAt<'a, R> {
+    pub(crate) fn new(doc: &'a Automerge, range: Option<query::MapRangeAt<'a, R>>) -> Self {
+        Self { range, doc }
+    }
+}
+
+impl<'a, R: RangeBounds<String>> Iterator for MapRangeAt<'a, R> {
+    type Item = (&'a str, Value<'a>, ExId);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.range
+            .as_mut()?
+            .next()
+            .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id)))
+    }
+}
+
+impl<'a, R: RangeBounds<String>> DoubleEndedIterator for MapRangeAt<'a, R> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        self.range
+            .as_mut()?
+            .next_back()
+            .map(|(key, value, id)| (key, value, self.doc.id_to_exid(id)))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/op_observer.rs.html b/src/automerge/op_observer.rs.html new file mode 100644 index 00000000..c0a73f60 --- /dev/null +++ b/src/automerge/op_observer.rs.html @@ -0,0 +1,787 @@ +op_observer.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+
use crate::exid::ExId;
+use crate::Prop;
+use crate::ReadDoc;
+use crate::Value;
+
+mod compose;
+pub use compose::compose;
+
+/// An observer of operations applied to the document.
+pub trait OpObserver {
+    /// A new value has been inserted into the given object.
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that has been inserted into.
+    /// - `index`: the index the new value has been inserted at.
+    /// - `tagged_value`: the value that has been inserted and the id of the operation that did the
+    /// insert.
+    fn insert<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: ExId,
+        index: usize,
+        tagged_value: (Value<'_>, ExId),
+    );
+
+    /// Some text has been spliced into a text object
+    fn splice_text<R: ReadDoc>(&mut self, _doc: &R, _objid: ExId, _index: usize, _value: &str);
+
+    /// A new value has been put into the given object.
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that has been put into.
+    /// - `prop`: the prop that the value as been put at.
+    /// - `tagged_value`: the value that has been put into the object and the id of the operation
+    /// that did the put.
+    /// - `conflict`: whether this put conflicts with other operations.
+    fn put<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: ExId,
+        prop: Prop,
+        tagged_value: (Value<'_>, ExId),
+        conflict: bool,
+    );
+
+    /// When a delete op exposes a previously conflicted value
+    /// Similar to a put op - except for maps, lists and text, edits
+    /// may already exist and need to be queried
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that has been put into.
+    /// - `prop`: the prop that the value as been put at.
+    /// - `tagged_value`: the value that has been put into the object and the id of the operation
+    /// that did the put.
+    /// - `conflict`: whether this put conflicts with other operations.
+    fn expose<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: ExId,
+        prop: Prop,
+        tagged_value: (Value<'_>, ExId),
+        conflict: bool,
+    );
+
+    /// Flag a new conflict on a value without changing it
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that has been put into.
+    /// - `prop`: the prop that the value as been put at.
+    fn flag_conflict<R: ReadDoc>(&mut self, _doc: &R, _objid: ExId, _prop: Prop) {}
+
+    /// A counter has been incremented.
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that contains the counter.
+    /// - `prop`: they prop that the chounter is at.
+    /// - `tagged_value`: the amount the counter has been incremented by, and the the id of the
+    /// increment operation.
+    fn increment<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: ExId,
+        prop: Prop,
+        tagged_value: (i64, ExId),
+    );
+
+    /// A map value has beeen deleted.
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that has been deleted in.
+    /// - `prop`: the prop to be deleted
+    fn delete<R: ReadDoc>(&mut self, doc: &R, objid: ExId, prop: Prop) {
+        match prop {
+            Prop::Map(k) => self.delete_map(doc, objid, &k),
+            Prop::Seq(i) => self.delete_seq(doc, objid, i, 1),
+        }
+    }
+
+    /// A map value has beeen deleted.
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that has been deleted in.
+    /// - `key`: the map key to be deleted
+    fn delete_map<R: ReadDoc>(&mut self, doc: &R, objid: ExId, key: &str);
+
+    /// A one or more list values have beeen deleted.
+    ///
+    /// - `doc`: a handle to the doc after the op has been inserted, can be used to query information
+    /// - `objid`: the object that has been deleted in.
+    /// - `index`: the index of the deletion
+    /// - `num`: the number of sequential elements deleted
+    fn delete_seq<R: ReadDoc>(&mut self, doc: &R, objid: ExId, index: usize, num: usize);
+
+    /// Whether to call sequence methods or `splice_text` when encountering changes in text
+    ///
+    /// Returns `false` by default
+    fn text_as_seq(&self) -> bool {
+        false
+    }
+}
+
+/// An observer which can be branched
+///
+/// This is used when observing operations in a transaction. In this case `branch` will be called
+/// at the beginning of the transaction to return a new observer and then `merge` will be called
+/// with the branched observer as `other` when the transaction is comitted.
+pub trait BranchableObserver {
+    /// Branch of a new op_observer later to be merged
+    ///
+    /// Called when creating a new transaction.  Observer branch will be merged on `commit()` or
+    /// thrown away on `rollback()`
+    fn branch(&self) -> Self;
+
+    /// Merge observed information from a transaction.
+    ///
+    /// Called by AutoCommit on `commit()`
+    ///
+    /// - `other`: Another Op Observer of the same type
+    fn merge(&mut self, other: &Self);
+}
+
+impl OpObserver for () {
+    fn insert<R: ReadDoc>(
+        &mut self,
+        _doc: &R,
+        _objid: ExId,
+        _index: usize,
+        _tagged_value: (Value<'_>, ExId),
+    ) {
+    }
+
+    fn splice_text<R: ReadDoc>(&mut self, _doc: &R, _objid: ExId, _index: usize, _value: &str) {}
+
+    fn put<R: ReadDoc>(
+        &mut self,
+        _doc: &R,
+        _objid: ExId,
+        _prop: Prop,
+        _tagged_value: (Value<'_>, ExId),
+        _conflict: bool,
+    ) {
+    }
+
+    fn expose<R: ReadDoc>(
+        &mut self,
+        _doc: &R,
+        _objid: ExId,
+        _prop: Prop,
+        _tagged_value: (Value<'_>, ExId),
+        _conflict: bool,
+    ) {
+    }
+
+    fn increment<R: ReadDoc>(
+        &mut self,
+        _doc: &R,
+        _objid: ExId,
+        _prop: Prop,
+        _tagged_value: (i64, ExId),
+    ) {
+    }
+
+    fn delete_map<R: ReadDoc>(&mut self, _doc: &R, _objid: ExId, _key: &str) {}
+
+    fn delete_seq<R: ReadDoc>(&mut self, _doc: &R, _objid: ExId, _index: usize, _num: usize) {}
+}
+
+impl BranchableObserver for () {
+    fn merge(&mut self, _other: &Self) {}
+    fn branch(&self) -> Self {}
+}
+
+/// Capture operations into a [`Vec`] and store them as patches.
+#[derive(Default, Debug, Clone)]
+pub struct VecOpObserver {
+    patches: Vec<Patch>,
+}
+
+impl VecOpObserver {
+    /// Take the current list of patches, leaving the internal list empty and ready for new
+    /// patches.
+    pub fn take_patches(&mut self) -> Vec<Patch> {
+        std::mem::take(&mut self.patches)
+    }
+}
+
+impl OpObserver for VecOpObserver {
+    fn insert<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        obj: ExId,
+        index: usize,
+        (value, id): (Value<'_>, ExId),
+    ) {
+        if let Ok(p) = doc.parents(&obj) {
+            self.patches.push(Patch::Insert {
+                obj,
+                path: p.path(),
+                index,
+                value: (value.into_owned(), id),
+            });
+        }
+    }
+
+    fn splice_text<R: ReadDoc>(&mut self, doc: &R, obj: ExId, index: usize, value: &str) {
+        if let Ok(p) = doc.parents(&obj) {
+            self.patches.push(Patch::Splice {
+                obj,
+                path: p.path(),
+                index,
+                value: value.to_string(),
+            })
+        }
+    }
+
+    fn put<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        obj: ExId,
+        prop: Prop,
+        (value, id): (Value<'_>, ExId),
+        conflict: bool,
+    ) {
+        if let Ok(p) = doc.parents(&obj) {
+            self.patches.push(Patch::Put {
+                obj,
+                path: p.path(),
+                prop,
+                value: (value.into_owned(), id),
+                conflict,
+            });
+        }
+    }
+
+    fn expose<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        obj: ExId,
+        prop: Prop,
+        (value, id): (Value<'_>, ExId),
+        conflict: bool,
+    ) {
+        if let Ok(p) = doc.parents(&obj) {
+            self.patches.push(Patch::Expose {
+                obj,
+                path: p.path(),
+                prop,
+                value: (value.into_owned(), id),
+                conflict,
+            });
+        }
+    }
+
+    fn increment<R: ReadDoc>(&mut self, doc: &R, obj: ExId, prop: Prop, tagged_value: (i64, ExId)) {
+        if let Ok(p) = doc.parents(&obj) {
+            self.patches.push(Patch::Increment {
+                obj,
+                path: p.path(),
+                prop,
+                value: tagged_value,
+            });
+        }
+    }
+
+    fn delete_map<R: ReadDoc>(&mut self, doc: &R, obj: ExId, key: &str) {
+        if let Ok(p) = doc.parents(&obj) {
+            self.patches.push(Patch::Delete {
+                obj,
+                path: p.path(),
+                prop: Prop::Map(key.to_owned()),
+                num: 1,
+            })
+        }
+    }
+
+    fn delete_seq<R: ReadDoc>(&mut self, doc: &R, obj: ExId, index: usize, num: usize) {
+        if let Ok(p) = doc.parents(&obj) {
+            self.patches.push(Patch::Delete {
+                obj,
+                path: p.path(),
+                prop: Prop::Seq(index),
+                num,
+            })
+        }
+    }
+}
+
+impl BranchableObserver for VecOpObserver {
+    fn merge(&mut self, other: &Self) {
+        self.patches.extend_from_slice(other.patches.as_slice())
+    }
+
+    fn branch(&self) -> Self {
+        Self::default()
+    }
+}
+
+/// A notification to the application that something has changed in a document.
+#[derive(Debug, Clone, PartialEq)]
+pub enum Patch {
+    /// Associating a new value with a prop in a map, or an existing list element
+    Put {
+        /// path to the object
+        path: Vec<(ExId, Prop)>,
+        /// The object that was put into.
+        obj: ExId,
+        /// The prop that the new value was put at.
+        prop: Prop,
+        /// The value that was put, and the id of the operation that put it there.
+        value: (Value<'static>, ExId),
+        /// Whether this put conflicts with another.
+        conflict: bool,
+    },
+    /// Exposing (via delete) an old but conflicted value with a prop in a map, or a list element
+    Expose {
+        /// path to the object
+        path: Vec<(ExId, Prop)>,
+        /// The object that was put into.
+        obj: ExId,
+        /// The prop that the new value was put at.
+        prop: Prop,
+        /// The value that was put, and the id of the operation that put it there.
+        value: (Value<'static>, ExId),
+        /// Whether this put conflicts with another.
+        conflict: bool,
+    },
+    /// Inserting a new element into a list
+    Insert {
+        /// path to the object
+        path: Vec<(ExId, Prop)>,
+        /// The object that was inserted into.
+        obj: ExId,
+        /// The index that the new value was inserted at.
+        index: usize,
+        /// The value that was inserted, and the id of the operation that inserted it there.
+        value: (Value<'static>, ExId),
+    },
+    /// Splicing a text object
+    Splice {
+        /// path to the object
+        path: Vec<(ExId, Prop)>,
+        /// The object that was inserted into.
+        obj: ExId,
+        /// The index that the new value was inserted at.
+        index: usize,
+        /// The value that was spliced
+        value: String,
+    },
+    /// Incrementing a counter.
+    Increment {
+        /// path to the object
+        path: Vec<(ExId, Prop)>,
+        /// The object that was incremented in.
+        obj: ExId,
+        /// The prop that was incremented.
+        prop: Prop,
+        /// The amount that the counter was incremented by, and the id of the operation that
+        /// did the increment.
+        value: (i64, ExId),
+    },
+    /// Deleting an element from a list/text
+    Delete {
+        /// path to the object
+        path: Vec<(ExId, Prop)>,
+        /// The object that was deleted from.
+        obj: ExId,
+        /// The prop that was deleted.
+        prop: Prop,
+        /// number of items deleted (for seq)
+        num: usize,
+    },
+}
+
+
\ No newline at end of file diff --git a/src/automerge/op_observer/compose.rs.html b/src/automerge/op_observer/compose.rs.html new file mode 100644 index 00000000..8d30f312 --- /dev/null +++ b/src/automerge/op_observer/compose.rs.html @@ -0,0 +1,207 @@ +compose.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+
use super::OpObserver;
+
+pub fn compose<'a, O1: OpObserver, O2: OpObserver>(
+    obs1: &'a mut O1,
+    obs2: &'a mut O2,
+) -> impl OpObserver + 'a {
+    ComposeObservers { obs1, obs2 }
+}
+
+struct ComposeObservers<'a, O1: OpObserver, O2: OpObserver> {
+    obs1: &'a mut O1,
+    obs2: &'a mut O2,
+}
+
+impl<'a, O1: OpObserver, O2: OpObserver> OpObserver for ComposeObservers<'a, O1, O2> {
+    fn insert<R: crate::ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: crate::ObjId,
+        index: usize,
+        tagged_value: (crate::Value<'_>, crate::ObjId),
+    ) {
+        self.obs1
+            .insert(doc, objid.clone(), index, tagged_value.clone());
+        self.obs2.insert(doc, objid, index, tagged_value);
+    }
+
+    fn splice_text<R: crate::ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: crate::ObjId,
+        index: usize,
+        value: &str,
+    ) {
+        self.obs1.splice_text(doc, objid.clone(), index, value);
+        self.obs2.splice_text(doc, objid, index, value);
+    }
+
+    fn put<R: crate::ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: crate::ObjId,
+        prop: crate::Prop,
+        tagged_value: (crate::Value<'_>, crate::ObjId),
+        conflict: bool,
+    ) {
+        self.obs1.put(
+            doc,
+            objid.clone(),
+            prop.clone(),
+            tagged_value.clone(),
+            conflict,
+        );
+        self.obs2.put(doc, objid, prop, tagged_value, conflict);
+    }
+
+    fn expose<R: crate::ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: crate::ObjId,
+        prop: crate::Prop,
+        tagged_value: (crate::Value<'_>, crate::ObjId),
+        conflict: bool,
+    ) {
+        self.obs1.expose(
+            doc,
+            objid.clone(),
+            prop.clone(),
+            tagged_value.clone(),
+            conflict,
+        );
+        self.obs2.expose(doc, objid, prop, tagged_value, conflict);
+    }
+
+    fn increment<R: crate::ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: crate::ObjId,
+        prop: crate::Prop,
+        tagged_value: (i64, crate::ObjId),
+    ) {
+        self.obs1
+            .increment(doc, objid.clone(), prop.clone(), tagged_value.clone());
+        self.obs2.increment(doc, objid, prop, tagged_value);
+    }
+
+    fn delete_map<R: crate::ReadDoc>(&mut self, doc: &R, objid: crate::ObjId, key: &str) {
+        self.obs1.delete_map(doc, objid.clone(), key);
+        self.obs2.delete_map(doc, objid, key);
+    }
+
+    fn delete_seq<R: crate::ReadDoc>(
+        &mut self,
+        doc: &R,
+        objid: crate::ObjId,
+        index: usize,
+        num: usize,
+    ) {
+        self.obs2.delete_seq(doc, objid.clone(), index, num);
+        self.obs2.delete_seq(doc, objid, index, num);
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/op_set.rs.html b/src/automerge/op_set.rs.html new file mode 100644 index 00000000..45a7295d --- /dev/null +++ b/src/automerge/op_set.rs.html @@ -0,0 +1,813 @@ +op_set.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+
use crate::clock::Clock;
+use crate::exid::ExId;
+use crate::indexed_cache::IndexedCache;
+use crate::op_tree::{self, OpTree};
+use crate::parents::Parents;
+use crate::query::{self, OpIdVisSearch, TreeQuery};
+use crate::types::{self, ActorId, Key, ListEncoding, ObjId, Op, OpId, OpIds, OpType, Prop};
+use crate::ObjType;
+use fxhash::FxBuildHasher;
+use std::borrow::Borrow;
+use std::cmp::Ordering;
+use std::collections::HashMap;
+use std::ops::RangeBounds;
+
+mod load;
+pub(crate) use load::OpSetBuilder;
+
+pub(crate) type OpSet = OpSetInternal;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct OpSetInternal {
+    /// The map of objects to their type and ops.
+    trees: HashMap<ObjId, OpTree, FxBuildHasher>,
+    /// The number of operations in the opset.
+    length: usize,
+    /// Metadata about the operations in this opset.
+    pub(crate) m: OpSetMetadata,
+}
+
+impl OpSetInternal {
+    pub(crate) fn builder() -> OpSetBuilder {
+        OpSetBuilder::new()
+    }
+
+    pub(crate) fn new() -> Self {
+        let mut trees: HashMap<_, _, _> = Default::default();
+        trees.insert(ObjId::root(), OpTree::new());
+        OpSetInternal {
+            trees,
+            length: 0,
+            m: OpSetMetadata {
+                actors: IndexedCache::new(),
+                props: IndexedCache::new(),
+            },
+        }
+    }
+
+    pub(crate) fn id_to_exid(&self, id: OpId) -> ExId {
+        if id == types::ROOT {
+            ExId::Root
+        } else {
+            ExId::Id(
+                id.counter(),
+                self.m.actors.cache[id.actor()].clone(),
+                id.actor(),
+            )
+        }
+    }
+
+    pub(crate) fn iter(&self) -> Iter<'_> {
+        let mut objs: Vec<_> = self.trees.iter().map(|t| (t.0, t.1.objtype, t.1)).collect();
+        objs.sort_by(|a, b| self.m.lamport_cmp((a.0).0, (b.0).0));
+        Iter {
+            opset: self,
+            trees: objs.into_iter(),
+            current: None,
+        }
+    }
+
+    /// Iterate over objects in the opset in causal order
+    pub(crate) fn iter_objs(
+        &self,
+    ) -> impl Iterator<Item = (&ObjId, ObjType, op_tree::OpTreeIter<'_>)> + '_ {
+        let mut objs: Vec<_> = self.trees.iter().map(|t| (t.0, t.1.objtype, t.1)).collect();
+        objs.sort_by(|a, b| self.m.lamport_cmp((a.0).0, (b.0).0));
+        IterObjs {
+            trees: objs.into_iter(),
+        }
+    }
+
+    pub(crate) fn parents(&self, obj: ObjId) -> Parents<'_> {
+        Parents { obj, ops: self }
+    }
+
+    pub(crate) fn parent_object(&self, obj: &ObjId) -> Option<Parent> {
+        let parent = self.trees.get(obj)?.parent?;
+        let query = self.search(&parent, OpIdVisSearch::new(obj.0));
+        let key = query.key().unwrap();
+        let visible = query.visible;
+        Some(Parent {
+            obj: parent,
+            key,
+            visible,
+        })
+    }
+
+    pub(crate) fn export_key(&self, obj: ObjId, key: Key, encoding: ListEncoding) -> Option<Prop> {
+        match key {
+            Key::Map(m) => self.m.props.safe_get(m).map(|s| Prop::Map(s.to_string())),
+            Key::Seq(opid) => {
+                if opid.is_head() {
+                    Some(Prop::Seq(0))
+                } else {
+                    self.search(&obj, query::ElemIdPos::new(opid, encoding))
+                        .index()
+                        .map(Prop::Seq)
+                }
+            }
+        }
+    }
+
+    pub(crate) fn keys(&self, obj: ObjId) -> Option<query::Keys<'_>> {
+        if let Some(tree) = self.trees.get(&obj) {
+            tree.internal.keys()
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn keys_at(&self, obj: ObjId, clock: Clock) -> Option<query::KeysAt<'_>> {
+        if let Some(tree) = self.trees.get(&obj) {
+            tree.internal.keys_at(clock)
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn map_range<R: RangeBounds<String>>(
+        &self,
+        obj: ObjId,
+        range: R,
+    ) -> Option<query::MapRange<'_, R>> {
+        if let Some(tree) = self.trees.get(&obj) {
+            tree.internal.map_range(range, &self.m)
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn map_range_at<R: RangeBounds<String>>(
+        &self,
+        obj: ObjId,
+        range: R,
+        clock: Clock,
+    ) -> Option<query::MapRangeAt<'_, R>> {
+        if let Some(tree) = self.trees.get(&obj) {
+            tree.internal.map_range_at(range, &self.m, clock)
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn list_range<R: RangeBounds<usize>>(
+        &self,
+        obj: ObjId,
+        range: R,
+    ) -> Option<query::ListRange<'_, R>> {
+        if let Some(tree) = self.trees.get(&obj) {
+            tree.internal.list_range(range)
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn list_range_at<R: RangeBounds<usize>>(
+        &self,
+        obj: ObjId,
+        range: R,
+        clock: Clock,
+    ) -> Option<query::ListRangeAt<'_, R>> {
+        if let Some(tree) = self.trees.get(&obj) {
+            tree.internal.list_range_at(range, clock)
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn search<'a, 'b: 'a, Q>(&'b self, obj: &ObjId, mut query: Q) -> Q
+    where
+        Q: TreeQuery<'a>,
+    {
+        if let Some(tree) = self.trees.get(obj) {
+            if query.can_shortcut_search(tree) {
+                query
+            } else {
+                tree.internal.search(query, &self.m)
+            }
+        } else {
+            query
+        }
+    }
+
+    pub(crate) fn change_vis<F>(&mut self, obj: &ObjId, index: usize, f: F)
+    where
+        F: Fn(&mut Op),
+    {
+        if let Some(tree) = self.trees.get_mut(obj) {
+            tree.last_insert = None;
+            tree.internal.update(index, f)
+        }
+    }
+
+    /// Add `op` as a successor to each op at `op_indices` in `obj`
+    pub(crate) fn add_succ(&mut self, obj: &ObjId, op_indices: &[usize], op: &Op) {
+        if let Some(tree) = self.trees.get_mut(obj) {
+            tree.last_insert = None;
+            for i in op_indices {
+                tree.internal.update(*i, |old_op| {
+                    old_op.add_succ(op, |left, right| self.m.lamport_cmp(*left, *right))
+                });
+            }
+        }
+    }
+
+    pub(crate) fn remove(&mut self, obj: &ObjId, index: usize) -> Op {
+        // this happens on rollback - be sure to go back to the old state
+        let tree = self.trees.get_mut(obj).unwrap();
+        self.length -= 1;
+        tree.last_insert = None;
+        let op = tree.internal.remove(index);
+        if let OpType::Make(_) = &op.action {
+            self.trees.remove(&op.id.into());
+        }
+        op
+    }
+
+    pub(crate) fn len(&self) -> usize {
+        self.length
+    }
+
+    pub(crate) fn hint(&mut self, obj: &ObjId, index: usize, pos: usize) {
+        if let Some(tree) = self.trees.get_mut(obj) {
+            tree.last_insert = Some((index, pos))
+        }
+    }
+
+    #[tracing::instrument(skip(self, index))]
+    pub(crate) fn insert(&mut self, index: usize, obj: &ObjId, element: Op) {
+        if let OpType::Make(typ) = element.action {
+            self.trees.insert(
+                element.id.into(),
+                OpTree {
+                    internal: Default::default(),
+                    objtype: typ,
+                    last_insert: None,
+                    parent: Some(*obj),
+                },
+            );
+        }
+
+        if let Some(tree) = self.trees.get_mut(obj) {
+            tree.last_insert = None;
+            tree.internal.insert(index, element);
+            self.length += 1;
+        } else {
+            tracing::warn!("attempting to insert op for unknown object");
+        }
+    }
+
+    pub(crate) fn object_type(&self, id: &ObjId) -> Option<ObjType> {
+        self.trees.get(id).map(|tree| tree.objtype)
+    }
+
+    /// Return a graphviz representation of the opset.
+    ///
+    /// # Arguments
+    ///
+    /// * objects: An optional list of object IDs to display, if not specified all objects are
+    ///            visualised
+    #[cfg(feature = "optree-visualisation")]
+    pub(crate) fn visualise(&self, objects: Option<Vec<ObjId>>) -> String {
+        use std::borrow::Cow;
+        let mut out = Vec::new();
+        let trees = if let Some(objects) = objects {
+            let mut filtered = self.trees.clone();
+            filtered.retain(|k, _| objects.contains(k));
+            Cow::Owned(filtered)
+        } else {
+            Cow::Borrowed(&self.trees)
+        };
+        let graph = super::visualisation::GraphVisualisation::construct(&trees, &self.m);
+        dot::render(&graph, &mut out).unwrap();
+        String::from_utf8_lossy(&out[..]).to_string()
+    }
+}
+
+impl Default for OpSetInternal {
+    fn default() -> Self {
+        Self::new()
+    }
+}
+
+impl<'a> IntoIterator for &'a OpSetInternal {
+    type Item = (&'a ObjId, ObjType, &'a Op);
+
+    type IntoIter = Iter<'a>;
+
+    fn into_iter(self) -> Self::IntoIter {
+        self.iter()
+    }
+}
+
+pub(crate) struct IterObjs<'a> {
+    trees: std::vec::IntoIter<(&'a ObjId, ObjType, &'a op_tree::OpTree)>,
+}
+
+impl<'a> Iterator for IterObjs<'a> {
+    type Item = (&'a ObjId, ObjType, op_tree::OpTreeIter<'a>);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.trees
+            .next()
+            .map(|(id, typ, tree)| (id, typ, tree.iter()))
+    }
+}
+
+#[derive(Clone)]
+pub(crate) struct Iter<'a> {
+    opset: &'a OpSet,
+    trees: std::vec::IntoIter<(&'a ObjId, ObjType, &'a op_tree::OpTree)>,
+    current: Option<(&'a ObjId, ObjType, op_tree::OpTreeIter<'a>)>,
+}
+impl<'a> Iterator for Iter<'a> {
+    type Item = (&'a ObjId, ObjType, &'a Op);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        if let Some((id, typ, tree)) = &mut self.current {
+            if let Some(next) = tree.next() {
+                return Some((id, *typ, next));
+            }
+        }
+
+        loop {
+            self.current = self.trees.next().map(|o| (o.0, o.1, o.2.iter()));
+            if let Some((obj, typ, tree)) = &mut self.current {
+                if let Some(next) = tree.next() {
+                    return Some((obj, *typ, next));
+                }
+            } else {
+                return None;
+            }
+        }
+    }
+}
+
+impl<'a> ExactSizeIterator for Iter<'a> {
+    fn len(&self) -> usize {
+        self.opset.len()
+    }
+}
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct OpSetMetadata {
+    pub(crate) actors: IndexedCache<ActorId>,
+    pub(crate) props: IndexedCache<String>,
+}
+
+impl Default for OpSetMetadata {
+    fn default() -> Self {
+        Self {
+            actors: IndexedCache::new(),
+            props: IndexedCache::new(),
+        }
+    }
+}
+
+impl OpSetMetadata {
+    pub(crate) fn from_actors(actors: Vec<ActorId>) -> Self {
+        Self {
+            props: IndexedCache::new(),
+            actors: actors.into_iter().collect(),
+        }
+    }
+
+    pub(crate) fn key_cmp(&self, left: &Key, right: &Key) -> Ordering {
+        match (left, right) {
+            (Key::Map(a), Key::Map(b)) => self.props[*a].cmp(&self.props[*b]),
+            _ => panic!("can only compare map keys"),
+        }
+    }
+
+    pub(crate) fn lamport_cmp(&self, left: OpId, right: OpId) -> Ordering {
+        left.lamport_cmp(&right, &self.actors.cache)
+    }
+
+    pub(crate) fn sorted_opids<I: Iterator<Item = OpId>>(&self, opids: I) -> OpIds {
+        OpIds::new(opids, |left, right| self.lamport_cmp(*left, *right))
+    }
+
+    /// If `opids` are in ascending lamport timestamp order with respect to the actor IDs in
+    /// this `OpSetMetadata` then this returns `Some(OpIds)`, otherwise returns `None`.
+    pub(crate) fn try_sorted_opids(&self, opids: Vec<OpId>) -> Option<OpIds> {
+        OpIds::new_if_sorted(opids, |a, b| self.lamport_cmp(*a, *b))
+    }
+
+    pub(crate) fn import_prop<S: Borrow<str>>(&mut self, key: S) -> usize {
+        self.props.cache(key.borrow().to_string())
+    }
+}
+
+pub(crate) struct Parent {
+    pub(crate) obj: ObjId,
+    pub(crate) key: Key,
+    pub(crate) visible: bool,
+}
+
+
\ No newline at end of file diff --git a/src/automerge/op_set/load.rs.html b/src/automerge/op_set/load.rs.html new file mode 100644 index 00000000..492c02a4 --- /dev/null +++ b/src/automerge/op_set/load.rs.html @@ -0,0 +1,107 @@ +load.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+
use std::collections::HashMap;
+
+use fxhash::FxBuildHasher;
+
+use super::{OpSet, OpTree};
+use crate::{
+    op_tree::OpTreeInternal,
+    storage::load::{DocObserver, LoadedObject},
+    types::ObjId,
+};
+
+/// An opset builder which creates an optree for each object as it finishes loading, inserting the
+/// ops using `OpTreeInternal::insert`. This should be faster than using `OpSet::insert_*` but only
+/// works because the ops in the document format are in the same order as in the optrees.
+pub(crate) struct OpSetBuilder {
+    completed_objects: HashMap<ObjId, OpTree, FxBuildHasher>,
+}
+
+impl OpSetBuilder {
+    pub(crate) fn new() -> OpSetBuilder {
+        Self {
+            completed_objects: HashMap::default(),
+        }
+    }
+}
+
+impl DocObserver for OpSetBuilder {
+    type Output = OpSet;
+
+    fn object_loaded(&mut self, loaded: LoadedObject) {
+        let mut internal = OpTreeInternal::new();
+        for (index, op) in loaded.ops.into_iter().enumerate() {
+            internal.insert(index, op);
+        }
+        let tree = OpTree {
+            internal,
+            objtype: loaded.obj_type,
+            parent: loaded.parent,
+            last_insert: None,
+        };
+        self.completed_objects.insert(loaded.id, tree);
+    }
+
+    fn finish(self, metadata: super::OpSetMetadata) -> Self::Output {
+        let len = self.completed_objects.values().map(|t| t.len()).sum();
+        OpSet {
+            trees: self.completed_objects,
+            length: len,
+            m: metadata,
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/op_tree.rs.html b/src/automerge/op_tree.rs.html new file mode 100644 index 00000000..3b2253c2 --- /dev/null +++ b/src/automerge/op_tree.rs.html @@ -0,0 +1,749 @@ +op_tree.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+
use std::{fmt::Debug, mem, ops::RangeBounds};
+
+pub(crate) use crate::op_set::OpSetMetadata;
+use crate::{
+    clock::Clock,
+    query::{self, ChangeVisibility, QueryResult, TreeQuery},
+};
+use crate::{
+    types::{ObjId, Op, OpId},
+    ObjType,
+};
+use std::collections::HashSet;
+
+mod iter;
+mod node;
+
+pub(crate) use iter::OpTreeIter;
+#[allow(unused)]
+pub(crate) use node::{OpTreeNode, B};
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct OpTree {
+    pub(crate) internal: OpTreeInternal,
+    pub(crate) objtype: ObjType,
+    /// The id of the parent object, root has no parent.
+    pub(crate) parent: Option<ObjId>,
+    /// record the last list index and tree position
+    /// inserted into the op_set - this allows us to
+    /// short circuit the query if the follow op is another
+    /// insert or delete at the same spot
+    pub(crate) last_insert: Option<(usize, usize)>,
+}
+
+impl OpTree {
+    pub(crate) fn new() -> Self {
+        Self {
+            internal: Default::default(),
+            objtype: ObjType::Map,
+            parent: None,
+            last_insert: None,
+        }
+    }
+
+    pub(crate) fn iter(&self) -> OpTreeIter<'_> {
+        self.internal.iter()
+    }
+
+    pub(crate) fn len(&self) -> usize {
+        self.internal.len()
+    }
+}
+
+#[derive(Clone, Debug)]
+pub(crate) struct OpTreeInternal {
+    pub(crate) root_node: Option<OpTreeNode>,
+    pub(crate) ops: Vec<Op>,
+}
+
+impl OpTreeInternal {
+    /// Construct a new, empty, sequence.
+    pub(crate) fn new() -> Self {
+        Self {
+            root_node: None,
+            ops: vec![],
+        }
+    }
+
+    /// Get the length of the sequence.
+    pub(crate) fn len(&self) -> usize {
+        self.root_node.as_ref().map_or(0, |n| n.len())
+    }
+
+    pub(crate) fn keys(&self) -> Option<query::Keys<'_>> {
+        if self.root_node.is_some() {
+            Some(query::Keys::new(self))
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn keys_at(&self, clock: Clock) -> Option<query::KeysAt<'_>> {
+        if self.root_node.is_some() {
+            Some(query::KeysAt::new(self, clock))
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn map_range<'a, R: RangeBounds<String>>(
+        &'a self,
+        range: R,
+        meta: &'a OpSetMetadata,
+    ) -> Option<query::MapRange<'a, R>> {
+        if self.root_node.is_some() {
+            Some(query::MapRange::new(range, self, meta))
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn map_range_at<'a, R: RangeBounds<String>>(
+        &'a self,
+        range: R,
+        meta: &'a OpSetMetadata,
+        clock: Clock,
+    ) -> Option<query::MapRangeAt<'a, R>> {
+        if self.root_node.is_some() {
+            Some(query::MapRangeAt::new(range, self, meta, clock))
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn list_range<R: RangeBounds<usize>>(
+        &self,
+        range: R,
+    ) -> Option<query::ListRange<'_, R>> {
+        if self.root_node.is_some() {
+            Some(query::ListRange::new(range, self))
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn list_range_at<R: RangeBounds<usize>>(
+        &self,
+        range: R,
+        clock: Clock,
+    ) -> Option<query::ListRangeAt<'_, R>> {
+        if self.root_node.is_some() {
+            Some(query::ListRangeAt::new(range, clock, self))
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn search<'a, 'b: 'a, Q>(&'b self, mut query: Q, m: &OpSetMetadata) -> Q
+    where
+        Q: TreeQuery<'a>,
+    {
+        self.root_node.as_ref().map(|root| {
+            match query.query_node_with_metadata(root, m, &self.ops) {
+                QueryResult::Descend => root.search(&mut query, m, &self.ops, None),
+                QueryResult::Skip(skip) => root.search(&mut query, m, &self.ops, Some(skip)),
+                _ => true,
+            }
+        });
+        query
+    }
+
+    /// Create an iterator through the sequence.
+    pub(crate) fn iter(&self) -> OpTreeIter<'_> {
+        iter::OpTreeIter::new(self)
+    }
+
+    /// Insert the `element` into the sequence at `index`.
+    ///
+    /// # Panics
+    ///
+    /// Panics if `index > len`.
+    pub(crate) fn insert(&mut self, index: usize, op: Op) {
+        assert!(
+            index <= self.len(),
+            "tried to insert at {} but len is {}",
+            index,
+            self.len()
+        );
+
+        let element = self.ops.len();
+        self.ops.push(op);
+
+        let old_len = self.len();
+        if let Some(root) = self.root_node.as_mut() {
+            #[cfg(debug_assertions)]
+            root.check();
+
+            if root.is_full() {
+                let original_len = root.len();
+                let new_root = OpTreeNode::new();
+
+                // move new_root to root position
+                let old_root = mem::replace(root, new_root);
+
+                root.length += old_root.len();
+                root.index = old_root.index.clone();
+                root.children.push(old_root);
+                root.split_child(0, &self.ops);
+
+                assert_eq!(original_len, root.len());
+
+                // after splitting the root has one element and two children, find which child the
+                // index is in
+                let first_child_len = root.children[0].len();
+                let (child, insertion_index) = if first_child_len < index {
+                    (&mut root.children[1], index - (first_child_len + 1))
+                } else {
+                    (&mut root.children[0], index)
+                };
+                root.length += 1;
+                root.index.insert(&self.ops[element]);
+                child.insert_into_non_full_node(insertion_index, element, &self.ops)
+            } else {
+                root.insert_into_non_full_node(index, element, &self.ops)
+            }
+        } else {
+            let mut root = OpTreeNode::new();
+            root.insert_into_non_full_node(index, element, &self.ops);
+            self.root_node = Some(root)
+        }
+        assert_eq!(self.len(), old_len + 1, "{:#?}", self);
+    }
+
+    /// Get the `element` at `index` in the sequence.
+    pub(crate) fn get(&self, index: usize) -> Option<&Op> {
+        self.root_node
+            .as_ref()
+            .and_then(|n| n.get(index))
+            .map(|n| &self.ops[n])
+    }
+
+    // this replaces get_mut() because it allows the indexes to update correctly
+    pub(crate) fn update<F>(&mut self, index: usize, f: F)
+    where
+        F: FnOnce(&mut Op),
+    {
+        if self.len() > index {
+            let n = self.root_node.as_ref().unwrap().get(index).unwrap();
+            let new_element = self.ops.get_mut(n).unwrap();
+            let old_vis = new_element.visible();
+            f(new_element);
+            let vis = ChangeVisibility {
+                old_vis,
+                new_vis: new_element.visible(),
+                op: new_element,
+            };
+            self.root_node.as_mut().unwrap().update(index, vis);
+        }
+    }
+
+    /// Removes the element at `index` from the sequence.
+    ///
+    /// # Panics
+    ///
+    /// Panics if `index` is out of bounds.
+    pub(crate) fn remove(&mut self, index: usize) -> Op {
+        if let Some(root) = self.root_node.as_mut() {
+            #[cfg(debug_assertions)]
+            let len = root.check();
+            let old = root.remove(index, &self.ops);
+
+            if root.elements.is_empty() {
+                if root.is_leaf() {
+                    self.root_node = None;
+                } else {
+                    self.root_node = Some(root.children.remove(0));
+                }
+            }
+
+            #[cfg(debug_assertions)]
+            debug_assert_eq!(len, self.root_node.as_ref().map_or(0, |r| r.check()) + 1);
+            self.ops[old].clone()
+        } else {
+            panic!("remove from empty tree")
+        }
+    }
+}
+
+impl Default for OpTreeInternal {
+    fn default() -> Self {
+        Self::new()
+    }
+}
+
+impl PartialEq for OpTreeInternal {
+    fn eq(&self, other: &Self) -> bool {
+        self.len() == other.len() && self.iter().zip(other.iter()).all(|(a, b)| a == b)
+    }
+}
+
+impl<'a> IntoIterator for &'a OpTreeInternal {
+    type Item = &'a Op;
+
+    type IntoIter = Iter<'a>;
+
+    fn into_iter(self) -> Self::IntoIter {
+        Iter {
+            inner: self,
+            index: 0,
+        }
+    }
+}
+
+pub(crate) struct Iter<'a> {
+    inner: &'a OpTreeInternal,
+    index: usize,
+}
+
+impl<'a> Iterator for Iter<'a> {
+    type Item = &'a Op;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.index += 1;
+        self.inner.get(self.index - 1)
+    }
+
+    fn nth(&mut self, n: usize) -> Option<Self::Item> {
+        self.index += n + 1;
+        self.inner.get(self.index - 1)
+    }
+}
+
+#[derive(Debug, Clone, PartialEq)]
+struct CounterData {
+    pos: usize,
+    val: i64,
+    succ: HashSet<OpId>,
+    op: Op,
+}
+
+#[cfg(test)]
+mod tests {
+    use crate::legacy as amp;
+    use crate::types::{Op, OpId};
+
+    use super::*;
+
+    fn op() -> Op {
+        let zero = OpId::new(0, 0);
+        Op {
+            id: zero,
+            action: amp::OpType::Put(0.into()),
+            key: zero.into(),
+            succ: Default::default(),
+            pred: Default::default(),
+            insert: false,
+        }
+    }
+
+    #[test]
+    fn insert() {
+        let mut t: OpTree = OpTree::new();
+
+        t.internal.insert(0, op());
+        t.internal.insert(1, op());
+        t.internal.insert(0, op());
+        t.internal.insert(0, op());
+        t.internal.insert(0, op());
+        t.internal.insert(3, op());
+        t.internal.insert(4, op());
+    }
+
+    #[test]
+    fn insert_book() {
+        let mut t: OpTree = OpTree::new();
+
+        for i in 0..100 {
+            t.internal.insert(i % 2, op());
+        }
+    }
+
+    #[test]
+    fn insert_book_vec() {
+        let mut t: OpTree = OpTree::new();
+        let mut v = Vec::new();
+
+        for i in 0..100 {
+            t.internal.insert(i % 3, op());
+            v.insert(i % 3, op());
+
+            assert_eq!(v, t.internal.iter().cloned().collect::<Vec<_>>())
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/op_tree/iter.rs.html b/src/automerge/op_tree/iter.rs.html new file mode 100644 index 00000000..abe8d6c6 --- /dev/null +++ b/src/automerge/op_tree/iter.rs.html @@ -0,0 +1,887 @@ +iter.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+
use std::cmp::Ordering;
+
+use crate::types::Op;
+
+use super::{OpTreeInternal, OpTreeNode};
+
+#[derive(Clone)]
+pub(crate) struct OpTreeIter<'a>(Inner<'a>);
+
+impl<'a> OpTreeIter<'a> {
+    pub(crate) fn new(tree: &'a OpTreeInternal) -> OpTreeIter<'a> {
+        Self(
+            tree.root_node
+                .as_ref()
+                .map(|root| Inner::NonEmpty {
+                    // This is a guess at the average depth of an OpTree
+                    ancestors: Vec::with_capacity(6),
+                    current: NodeIter {
+                        node: root,
+                        index: 0,
+                    },
+                    cumulative_index: 0,
+                    root_node: root,
+                    ops: &tree.ops,
+                })
+                .unwrap_or(Inner::Empty),
+        )
+    }
+}
+
+impl<'a> Iterator for OpTreeIter<'a> {
+    type Item = &'a Op;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.0.next()
+    }
+
+    fn nth(&mut self, n: usize) -> Option<Self::Item> {
+        self.0.nth(n)
+    }
+}
+
+#[derive(Clone)]
+enum Inner<'a> {
+    Empty,
+    NonEmpty {
+        // A stack of nodes in the optree which we have descended in to to get to the current
+        // element.
+        ancestors: Vec<NodeIter<'a>>,
+        current: NodeIter<'a>,
+        // How far through the whole optree we are
+        cumulative_index: usize,
+        root_node: &'a OpTreeNode,
+        ops: &'a [Op],
+    },
+}
+
+/// A node in the op tree which we are iterating over
+#[derive(Clone)]
+struct NodeIter<'a> {
+    /// The node itself
+    node: &'a OpTreeNode,
+    /// The index of the next element we will pull from the node. This means something different
+    /// depending on whether the node is a leaf node or not. If the node is a leaf node then this
+    /// index is the index in `node.elements` which will be returned on the next call to `next()`.
+    /// If the node is not an internal node then this index is the index of `children` which we are
+    /// currently iterating as well as being the index of the next element of `elements` which we
+    /// will return once we have finished iterating over the child node.
+    index: usize,
+}
+
+impl<'a> Iterator for Inner<'a> {
+    type Item = &'a Op;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        match self {
+            Inner::Empty => None,
+            Inner::NonEmpty {
+                ancestors,
+                ops,
+                current,
+                cumulative_index,
+                ..
+            } => {
+                if current.node.is_leaf() {
+                    // If we're in a leaf node and we haven't exhausted it yet we just return the elements
+                    // of the leaf node
+                    if current.index < current.node.len() {
+                        let result = current.node.elements[current.index];
+                        current.index += 1;
+                        *cumulative_index += 1;
+                        Some(&ops[result])
+                    } else {
+                        // We've exhausted the leaf node, we must find the nearest non-exhausted parent (lol)
+                        let node_iter = loop {
+                            if let Some(
+                                node_iter @ NodeIter {
+                                    node: parent,
+                                    index: parent_index,
+                                },
+                            ) = ancestors.pop()
+                            {
+                                // We've exhausted this parent
+                                if parent_index >= parent.elements.len() {
+                                    continue;
+                                } else {
+                                    // This parent still has elements to process, let's use it!
+                                    break node_iter;
+                                }
+                            } else {
+                                // No parents left, we're done
+                                return None;
+                            }
+                        };
+                        // if we've finished the elements in a leaf node and there's a parent node then we
+                        // return the element from the parent node which is one after the index at which we
+                        // descended into the child
+                        *current = node_iter;
+                        let result = current.node.elements[current.index];
+                        current.index += 1;
+                        *cumulative_index += 1;
+                        Some(&ops[result])
+                    }
+                } else {
+                    // If we're in a non-leaf node then the last iteration returned an element from the
+                    // current nodes `elements`, so we must now descend into a leaf child
+                    ancestors.push(current.clone());
+                    loop {
+                        let child = &current.node.children[current.index];
+                        current.index = 0;
+                        if !child.is_leaf() {
+                            ancestors.push(NodeIter {
+                                node: child,
+                                index: 0,
+                            });
+                            current.node = child
+                        } else {
+                            current.node = child;
+                            break;
+                        }
+                    }
+                    self.next()
+                }
+            }
+        }
+    }
+
+    fn nth(&mut self, n: usize) -> Option<Self::Item> {
+        match self {
+            Self::Empty => None,
+            Self::NonEmpty {
+                root_node,
+                ops,
+                cumulative_index,
+                current,
+                ancestors,
+                ..
+            } => {
+                // Make sure that we don't rewind when calling nth more than once
+                if n < *cumulative_index {
+                    None
+                } else if n >= root_node.len() {
+                    *cumulative_index = root_node.len() - 1;
+                    None
+                } else {
+                    // rather than trying to go back up through the ancestors to find the right
+                    // node we just start at the root.
+                    *current = NodeIter {
+                        node: root_node,
+                        index: n,
+                    };
+                    *cumulative_index = 0;
+                    ancestors.clear();
+                    while !current.node.is_leaf() {
+                        for (child_index, child) in current.node.children.iter().enumerate() {
+                            match (*cumulative_index + child.len()).cmp(&n) {
+                                Ordering::Less => {
+                                    *cumulative_index += child.len() + 1;
+                                    current.index = child_index + 1;
+                                }
+                                Ordering::Equal => {
+                                    *cumulative_index += child.len() + 1;
+                                    current.index = child_index + 1;
+                                    return Some(&ops[current.node.elements[child_index]]);
+                                }
+                                Ordering::Greater => {
+                                    current.index = child_index;
+                                    let old = std::mem::replace(
+                                        current,
+                                        NodeIter {
+                                            node: child,
+                                            index: 0,
+                                        },
+                                    );
+                                    ancestors.push(old);
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                    // we're in a leaf node and we kept track of the cumulative index as we went,
+                    let index_in_this_node = n.saturating_sub(*cumulative_index);
+                    current.index = index_in_this_node + 1;
+                    Some(&ops[current.node.elements[index_in_this_node]])
+                }
+            }
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::super::OpTreeInternal;
+    use crate::types::{Key, Op, OpId, OpType, ScalarValue};
+    use proptest::prelude::*;
+
+    #[derive(Clone)]
+    enum Action {
+        Insert(usize, Op),
+        Delete(usize),
+    }
+
+    impl std::fmt::Debug for Action {
+        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+            match self {
+                Self::Insert(index, ..) => write!(f, "Insert({})", index),
+                Self::Delete(index) => write!(f, "Delete({})", index),
+            }
+        }
+    }
+
+    // A struct which impls Debug by only printing the counters of the IDs of the  ops it wraps.
+    // This is useful because the only difference between the ops that we generate is the counter
+    // of their IDs. Wrapping a Vec<Op> in DebugOps will result in output from assert! etc. which
+    // only shows the counters. For example, the output of a failing assert_eq! like this
+    //
+    //     assert_eq!(DebugOps(&ops1), DebugOps(&ops2))
+    //
+    // Might look like this
+    //
+    //     left: `[0,1,2,3]
+    //     right: `[0,1,2,3,4]
+    //
+    // i.e. all the other details of the ops are elided
+    #[derive(PartialEq)]
+    struct DebugOps<'a>(&'a [Op]);
+
+    impl<'a> std::fmt::Debug for DebugOps<'a> {
+        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+            write!(f, "[")?;
+            for (index, op) in self.0.iter().enumerate() {
+                if index < self.0.len() - 1 {
+                    write!(f, "{},", op.id.counter())?;
+                } else {
+                    write!(f, "{}]", op.id.counter())?
+                }
+            }
+            Ok(())
+        }
+    }
+
+    fn op(counter: u64) -> Op {
+        Op {
+            action: OpType::Put(ScalarValue::Uint(counter)),
+            id: OpId::new(counter, 0),
+            key: Key::Map(0),
+            succ: Default::default(),
+            pred: Default::default(),
+            insert: false,
+        }
+    }
+
+    /// A model for a property based test of the OpTreeIter. We generate a set of actions, each
+    /// action pertaining to a `model` - which is just a `Vec<Op>`. As we generate each action we
+    /// apply it to the model and record the action we took. In the property test we replay the
+    /// same actions against an `OpTree` and check that the iterator returns the same result as the
+    /// `model`.
+    #[derive(Clone)]
+    struct Model {
+        actions: Vec<Action>,
+        model: Vec<Op>,
+    }
+
+    impl std::fmt::Debug for Model {
+        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+            f.debug_struct("Model")
+                .field("actions", &self.actions)
+                .field("model", &DebugOps(&self.model))
+                .finish()
+        }
+    }
+
+    impl Model {
+        fn insert(&self, index: usize, next_op_counter: u64) -> Self {
+            let mut actions = self.actions.clone();
+            let op = op(next_op_counter);
+            actions.push(Action::Insert(index, op.clone()));
+            let mut model = self.model.clone();
+            model.insert(index, op);
+            Self { actions, model }
+        }
+
+        fn delete(&self, index: usize) -> Self {
+            let mut actions = self.actions.clone();
+            actions.push(Action::Delete(index));
+            let mut model = self.model.clone();
+            model.remove(index);
+            Self { actions, model }
+        }
+
+        fn next(self, next_op_counter: u64) -> impl Strategy<Value = Model> {
+            if self.model.is_empty() {
+                Just(self.insert(0, next_op_counter)).boxed()
+            } else {
+                // Note that we have to feed `self` through the `prop_flat_map` using `Just` to
+                // appease the borrow checker, this is annoying because it does obscure the meaning
+                // of the code heere which is basically "decide whether the next action should be
+                // insert, if it is insert choose an index between 0..model.len() + 1 and generate
+                // an op to insert, otherwise choose an index between 0..model.len() and generate a
+                // delete action".
+                //
+                // 95% chance of inserting to make sure we deal with large lists
+                (proptest::bool::weighted(0.95), Just(self))
+                    .prop_flat_map(move |(insert, model)| {
+                        if insert {
+                            (0..model.model.len() + 1, Just(model))
+                                .prop_map(move |(index, model)| {
+                                    model.insert(index, next_op_counter)
+                                })
+                                .boxed()
+                        } else {
+                            ((0..model.model.len()), Just(model))
+                                .prop_map(move |(index, model)| model.delete(index))
+                                .boxed()
+                        }
+                    })
+                    .boxed()
+            }
+        }
+    }
+
+    fn model() -> impl Strategy<Value = Model> {
+        (0_u64..150).prop_flat_map(|num_steps| {
+            let mut strat = Just((
+                0,
+                Model {
+                    actions: Vec::new(),
+                    model: Vec::new(),
+                },
+            ))
+            .boxed();
+            for _ in 0..num_steps {
+                strat = strat
+                    // Note the counter, which we feed through each `prop_flat_map`, incrementing
+                    // it by one each time. This mean that the generated ops have ascending (but
+                    // not necessarily consecutive because not every `Action` is an `Insert`)
+                    // counters. This makes it easier to debug failures - if we just used a random
+                    // counter it would be much harder to see where things are out of order.
+                    .prop_flat_map(|(counter, model)| {
+                        let next_counter = counter + 1;
+                        model.next(counter).prop_map(move |m| (next_counter, m))
+                    })
+                    .boxed();
+            }
+            strat.prop_map(|(_, model)| model)
+        })
+    }
+
+    fn make_optree(actions: &[Action]) -> super::OpTreeInternal {
+        let mut optree = OpTreeInternal::new();
+        for action in actions {
+            match action {
+                Action::Insert(index, op) => optree.insert(*index, op.clone()),
+                Action::Delete(index) => {
+                    optree.remove(*index);
+                }
+            }
+        }
+        optree
+    }
+
+    /// A model for calls to `nth`. `NthModel::n` is guarnateed to be in `(0..model.len())`
+    #[derive(Clone)]
+    struct NthModel {
+        model: Vec<Op>,
+        actions: Vec<Action>,
+        n: usize,
+    }
+
+    impl std::fmt::Debug for NthModel {
+        fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+            f.debug_struct("Model")
+                .field("actions", &self.actions)
+                .field("model", &DebugOps(&self.model))
+                .field("n", &self.n)
+                .finish()
+        }
+    }
+
+    fn nth_model() -> impl Strategy<Value = NthModel> {
+        model().prop_flat_map(|model| {
+            if model.model.is_empty() {
+                Just(NthModel {
+                    model: model.model,
+                    actions: model.actions,
+                    n: 0,
+                })
+                .boxed()
+            } else {
+                (0..model.model.len(), Just(model))
+                    .prop_map(|(index, model)| NthModel {
+                        model: model.model,
+                        actions: model.actions,
+                        n: index,
+                    })
+                    .boxed()
+            }
+        })
+    }
+
+    proptest! {
+        #[test]
+        fn optree_iter_proptest(model in model()) {
+            let optree = make_optree(&model.actions);
+            let iter = super::OpTreeIter::new(&optree);
+            let iterated = iter.cloned().collect::<Vec<_>>();
+            assert_eq!(DebugOps(&model.model), DebugOps(&iterated))
+        }
+
+        #[test]
+        fn optree_iter_nth(model in nth_model()) {
+            let optree = make_optree(&model.actions);
+            let mut iter = super::OpTreeIter::new(&optree);
+            let mut model_iter = model.model.iter();
+            assert_eq!(model_iter.nth(model.n), iter.nth(model.n));
+
+            let tail = iter.cloned().collect::<Vec<_>>();
+            let expected_tail = model_iter.cloned().collect::<Vec<_>>();
+            assert_eq!(DebugOps(tail.as_slice()), DebugOps(expected_tail.as_slice()));
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/op_tree/node.rs.html b/src/automerge/op_tree/node.rs.html new file mode 100644 index 00000000..7123c6f1 --- /dev/null +++ b/src/automerge/op_tree/node.rs.html @@ -0,0 +1,987 @@ +node.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+
use std::{
+    cmp::{min, Ordering},
+    fmt::Debug,
+    mem,
+};
+
+pub(crate) use crate::op_set::OpSetMetadata;
+use crate::query::{ChangeVisibility, Index, QueryResult, TreeQuery};
+use crate::types::Op;
+pub(crate) const B: usize = 16;
+
+#[derive(Clone, Debug)]
+pub(crate) struct OpTreeNode {
+    pub(crate) children: Vec<OpTreeNode>,
+    pub(crate) elements: Vec<usize>,
+    pub(crate) index: Index,
+    pub(crate) length: usize,
+}
+
+impl OpTreeNode {
+    pub(crate) fn new() -> Self {
+        Self {
+            elements: Vec::new(),
+            children: Vec::new(),
+            index: Default::default(),
+            length: 0,
+        }
+    }
+
+    fn search_element<'a, 'b: 'a, Q>(
+        &'b self,
+        query: &mut Q,
+        m: &OpSetMetadata,
+        ops: &'a [Op],
+        index: usize,
+    ) -> bool
+    where
+        Q: TreeQuery<'a>,
+    {
+        if let Some(e) = self.elements.get(index) {
+            if query.query_element_with_metadata(&ops[*e], m) == QueryResult::Finish {
+                return true;
+            }
+        }
+        false
+    }
+
+    pub(crate) fn search<'a, 'b: 'a, Q>(
+        &'b self,
+        query: &mut Q,
+        m: &OpSetMetadata,
+        ops: &'a [Op],
+        mut skip: Option<usize>,
+    ) -> bool
+    where
+        Q: TreeQuery<'a>,
+    {
+        if self.is_leaf() {
+            for e in self.elements.iter().skip(skip.unwrap_or(0)) {
+                if query.query_element_with_metadata(&ops[*e], m) == QueryResult::Finish {
+                    return true;
+                }
+            }
+            false
+        } else {
+            for (child_index, child) in self.children.iter().enumerate() {
+                match skip {
+                    Some(n) if n > child.len() => {
+                        skip = Some(n - child.len() - 1);
+                    }
+                    Some(n) if n == child.len() => {
+                        skip = Some(0); // important to not be None so we never call query_node again
+                        if self.search_element(query, m, ops, child_index) {
+                            return true;
+                        }
+                    }
+                    Some(n) => {
+                        if child.search(query, m, ops, Some(n)) {
+                            return true;
+                        }
+                        skip = Some(0); // important to not be None so we never call query_node again
+                        if self.search_element(query, m, ops, child_index) {
+                            return true;
+                        }
+                    }
+                    None => {
+                        // descend and try find it
+                        match query.query_node_with_metadata(child, m, ops) {
+                            QueryResult::Descend => {
+                                if child.search(query, m, ops, None) {
+                                    return true;
+                                }
+                            }
+                            QueryResult::Finish => return true,
+                            QueryResult::Next => (),
+                            QueryResult::Skip(_) => panic!("had skip from non-root node"),
+                        }
+                        if self.search_element(query, m, ops, child_index) {
+                            return true;
+                        }
+                    }
+                }
+            }
+            false
+        }
+    }
+
+    pub(crate) fn len(&self) -> usize {
+        self.length
+    }
+
+    fn reindex(&mut self, ops: &[Op]) {
+        let mut index = Index::new();
+        for c in &self.children {
+            index.merge(&c.index);
+        }
+        for i in &self.elements {
+            index.insert(&ops[*i]);
+        }
+        self.index = index
+    }
+
+    pub(crate) fn is_leaf(&self) -> bool {
+        self.children.is_empty()
+    }
+
+    pub(crate) fn is_full(&self) -> bool {
+        self.elements.len() >= 2 * B - 1
+    }
+
+    /// Returns the child index and the given index adjusted for the cumulative index before that
+    /// child.
+    fn find_child_index(&self, index: usize) -> (usize, usize) {
+        let mut cumulative_len = 0;
+        for (child_index, child) in self.children.iter().enumerate() {
+            if cumulative_len + child.len() >= index {
+                return (child_index, index - cumulative_len);
+            } else {
+                cumulative_len += child.len() + 1;
+            }
+        }
+        panic!("index {} not found in node with len {}", index, self.len())
+    }
+
+    pub(crate) fn insert_into_non_full_node(&mut self, index: usize, element: usize, ops: &[Op]) {
+        assert!(!self.is_full());
+
+        self.index.insert(&ops[element]);
+
+        if self.is_leaf() {
+            self.length += 1;
+            self.elements.insert(index, element);
+        } else {
+            let (child_index, sub_index) = self.find_child_index(index);
+            let child = &mut self.children[child_index];
+
+            if child.is_full() {
+                self.split_child(child_index, ops);
+
+                // child structure has changed so we need to find the index again
+                let (child_index, sub_index) = self.find_child_index(index);
+                let child = &mut self.children[child_index];
+                child.insert_into_non_full_node(sub_index, element, ops);
+            } else {
+                child.insert_into_non_full_node(sub_index, element, ops);
+            }
+            self.length += 1;
+        }
+    }
+
+    // A utility function to split the child `full_child_index` of this node
+    // Note that `full_child_index` must be full when this function is called.
+    pub(crate) fn split_child(&mut self, full_child_index: usize, ops: &[Op]) {
+        let original_len_self = self.len();
+
+        let full_child = &mut self.children[full_child_index];
+
+        // Create a new node which is going to store (B-1) keys
+        // of the full child.
+        let mut successor_sibling = OpTreeNode::new();
+
+        let original_len = full_child.len();
+        assert!(full_child.is_full());
+
+        successor_sibling.elements = full_child.elements.split_off(B);
+
+        if !full_child.is_leaf() {
+            successor_sibling.children = full_child.children.split_off(B);
+        }
+
+        let middle = full_child.elements.pop().unwrap();
+
+        full_child.length =
+            full_child.elements.len() + full_child.children.iter().map(|c| c.len()).sum::<usize>();
+
+        successor_sibling.length = successor_sibling.elements.len()
+            + successor_sibling
+                .children
+                .iter()
+                .map(|c| c.len())
+                .sum::<usize>();
+
+        let z_len = successor_sibling.len();
+
+        let full_child_len = full_child.len();
+
+        full_child.reindex(ops);
+        successor_sibling.reindex(ops);
+
+        self.children
+            .insert(full_child_index + 1, successor_sibling);
+
+        self.elements.insert(full_child_index, middle);
+
+        assert_eq!(full_child_len + z_len + 1, original_len, "{:#?}", self);
+
+        assert_eq!(original_len_self, self.len());
+    }
+
+    fn remove_from_leaf(&mut self, index: usize) -> usize {
+        self.length -= 1;
+        self.elements.remove(index)
+    }
+
+    fn remove_element_from_non_leaf(
+        &mut self,
+        index: usize,
+        element_index: usize,
+        ops: &[Op],
+    ) -> usize {
+        self.length -= 1;
+        if self.children[element_index].elements.len() >= B {
+            let total_index = self.cumulative_index(element_index);
+            // recursively delete index - 1 in predecessor_node
+            let predecessor = self.children[element_index].remove(index - 1 - total_index, ops);
+            // replace element with that one
+            mem::replace(&mut self.elements[element_index], predecessor)
+        } else if self.children[element_index + 1].elements.len() >= B {
+            // recursively delete index + 1 in successor_node
+            let total_index = self.cumulative_index(element_index + 1);
+            let successor = self.children[element_index + 1].remove(index + 1 - total_index, ops);
+            // replace element with that one
+            mem::replace(&mut self.elements[element_index], successor)
+        } else {
+            let middle_element = self.elements.remove(element_index);
+            let successor_child = self.children.remove(element_index + 1);
+            self.children[element_index].merge(middle_element, successor_child, ops);
+
+            let total_index = self.cumulative_index(element_index);
+            self.children[element_index].remove(index - total_index, ops)
+        }
+    }
+
+    fn cumulative_index(&self, child_index: usize) -> usize {
+        self.children[0..child_index]
+            .iter()
+            .map(|c| c.len() + 1)
+            .sum()
+    }
+
+    fn remove_from_internal_child(
+        &mut self,
+        index: usize,
+        mut child_index: usize,
+        ops: &[Op],
+    ) -> usize {
+        if self.children[child_index].elements.len() < B
+            && if child_index > 0 {
+                self.children[child_index - 1].elements.len() < B
+            } else {
+                true
+            }
+            && if child_index + 1 < self.children.len() {
+                self.children[child_index + 1].elements.len() < B
+            } else {
+                true
+            }
+        {
+            // if the child and its immediate siblings have B-1 elements merge the child
+            // with one sibling, moving an element from this node into the new merged node
+            // to be the median
+
+            if child_index > 0 {
+                let middle = self.elements.remove(child_index - 1);
+
+                // use the predessor sibling
+                let successor = self.children.remove(child_index);
+                child_index -= 1;
+
+                self.children[child_index].merge(middle, successor, ops);
+            } else {
+                let middle = self.elements.remove(child_index);
+
+                // use the sucessor sibling
+                let successor = self.children.remove(child_index + 1);
+
+                self.children[child_index].merge(middle, successor, ops);
+            }
+        } else if self.children[child_index].elements.len() < B {
+            if child_index > 0
+                && self
+                    .children
+                    .get(child_index - 1)
+                    .map_or(false, |c| c.elements.len() >= B)
+            {
+                let last_element = self.children[child_index - 1].elements.pop().unwrap();
+                assert!(!self.children[child_index - 1].elements.is_empty());
+                self.children[child_index - 1].length -= 1;
+                self.children[child_index - 1]
+                    .index
+                    .remove(&ops[last_element]);
+
+                let parent_element =
+                    mem::replace(&mut self.elements[child_index - 1], last_element);
+
+                self.children[child_index]
+                    .index
+                    .insert(&ops[parent_element]);
+                self.children[child_index]
+                    .elements
+                    .insert(0, parent_element);
+                self.children[child_index].length += 1;
+
+                if let Some(last_child) = self.children[child_index - 1].children.pop() {
+                    self.children[child_index - 1].length -= last_child.len();
+                    self.children[child_index - 1].reindex(ops);
+                    self.children[child_index].length += last_child.len();
+                    self.children[child_index].children.insert(0, last_child);
+                    self.children[child_index].reindex(ops);
+                }
+            } else if self
+                .children
+                .get(child_index + 1)
+                .map_or(false, |c| c.elements.len() >= B)
+            {
+                let first_element = self.children[child_index + 1].elements.remove(0);
+                self.children[child_index + 1]
+                    .index
+                    .remove(&ops[first_element]);
+                self.children[child_index + 1].length -= 1;
+
+                assert!(!self.children[child_index + 1].elements.is_empty());
+
+                let parent_element = mem::replace(&mut self.elements[child_index], first_element);
+
+                self.children[child_index].length += 1;
+                self.children[child_index]
+                    .index
+                    .insert(&ops[parent_element]);
+                self.children[child_index].elements.push(parent_element);
+
+                if !self.children[child_index + 1].is_leaf() {
+                    let first_child = self.children[child_index + 1].children.remove(0);
+                    self.children[child_index + 1].length -= first_child.len();
+                    self.children[child_index + 1].reindex(ops);
+                    self.children[child_index].length += first_child.len();
+
+                    self.children[child_index].children.push(first_child);
+                    self.children[child_index].reindex(ops);
+                }
+            }
+        }
+        self.length -= 1;
+        let total_index = self.cumulative_index(child_index);
+        self.children[child_index].remove(index - total_index, ops)
+    }
+
+    pub(crate) fn check(&self) -> usize {
+        let l = self.elements.len() + self.children.iter().map(|c| c.check()).sum::<usize>();
+        assert_eq!(self.len(), l, "{:#?}", self);
+
+        l
+    }
+
+    pub(crate) fn remove(&mut self, index: usize, ops: &[Op]) -> usize {
+        let original_len = self.len();
+        if self.is_leaf() {
+            let v = self.remove_from_leaf(index);
+            self.index.remove(&ops[v]);
+            assert_eq!(original_len, self.len() + 1);
+            debug_assert_eq!(self.check(), self.len());
+            v
+        } else {
+            let mut total_index = 0;
+            for (child_index, child) in self.children.iter().enumerate() {
+                match (total_index + child.len()).cmp(&index) {
+                    Ordering::Less => {
+                        // should be later on in the loop
+                        total_index += child.len() + 1;
+                        continue;
+                    }
+                    Ordering::Equal => {
+                        let v = self.remove_element_from_non_leaf(
+                            index,
+                            min(child_index, self.elements.len() - 1),
+                            ops,
+                        );
+                        self.index.remove(&ops[v]);
+                        assert_eq!(original_len, self.len() + 1);
+                        debug_assert_eq!(self.check(), self.len());
+                        return v;
+                    }
+                    Ordering::Greater => {
+                        let v = self.remove_from_internal_child(index, child_index, ops);
+                        self.index.remove(&ops[v]);
+                        assert_eq!(original_len, self.len() + 1);
+                        debug_assert_eq!(self.check(), self.len());
+                        return v;
+                    }
+                }
+            }
+            panic!(
+                "index not found to remove {} {} {} {}",
+                index,
+                total_index,
+                self.len(),
+                self.check()
+            );
+        }
+    }
+
+    fn merge(&mut self, middle: usize, successor_sibling: OpTreeNode, ops: &[Op]) {
+        self.index.insert(&ops[middle]);
+        self.index.merge(&successor_sibling.index);
+        self.elements.push(middle);
+        self.elements.extend(successor_sibling.elements);
+        self.children.extend(successor_sibling.children);
+        self.length += successor_sibling.length + 1;
+        assert!(self.is_full());
+    }
+
+    /// Update the operation at the given index using the provided function.
+    ///
+    /// This handles updating the indices after the update.
+    pub(crate) fn update<'a>(
+        &mut self,
+        index: usize,
+        vis: ChangeVisibility<'a>,
+    ) -> ChangeVisibility<'a> {
+        if self.is_leaf() {
+            self.index.change_vis(vis)
+        } else {
+            let mut cumulative_len = 0;
+            let len = self.len();
+            for (_child_index, child) in self.children.iter_mut().enumerate() {
+                match (cumulative_len + child.len()).cmp(&index) {
+                    Ordering::Less => {
+                        cumulative_len += child.len() + 1;
+                    }
+                    Ordering::Equal => {
+                        return self.index.change_vis(vis);
+                    }
+                    Ordering::Greater => {
+                        let vis = child.update(index - cumulative_len, vis);
+                        return self.index.change_vis(vis);
+                    }
+                }
+            }
+            panic!("Invalid index to set: {} but len was {}", index, len)
+        }
+    }
+
+    pub(crate) fn last(&self) -> usize {
+        if self.is_leaf() {
+            // node is never empty so this is safe
+            *self.elements.last().unwrap()
+        } else {
+            // if not a leaf then there is always at least one child
+            self.children.last().unwrap().last()
+        }
+    }
+
+    pub(crate) fn get(&self, index: usize) -> Option<usize> {
+        if self.is_leaf() {
+            return self.elements.get(index).copied();
+        } else {
+            let mut cumulative_len = 0;
+            for (child_index, child) in self.children.iter().enumerate() {
+                match (cumulative_len + child.len()).cmp(&index) {
+                    Ordering::Less => {
+                        cumulative_len += child.len() + 1;
+                    }
+                    Ordering::Equal => return self.elements.get(child_index).copied(),
+                    Ordering::Greater => {
+                        return child.get(index - cumulative_len);
+                    }
+                }
+            }
+        }
+        None
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/parents.rs.html b/src/automerge/parents.rs.html new file mode 100644 index 00000000..9ded7a38 --- /dev/null +++ b/src/automerge/parents.rs.html @@ -0,0 +1,245 @@ +parents.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+
use crate::op_set;
+use crate::op_set::OpSet;
+use crate::types::{ListEncoding, ObjId};
+use crate::{exid::ExId, Prop};
+
+/// An iterator over the "parents" of an object
+///
+/// The "parent" of an object in this context is the ([`ExId`], [`Prop`]) pair which specifies the
+/// location of this object in the composite object which contains it. Each element in the iterator
+/// is a [`Parent`], yielded in reverse order. This means that once the iterator returns `None` you
+/// have reached the root of the document.
+///
+/// This is returned by [`crate::ReadDoc::parents`]
+#[derive(Debug)]
+pub struct Parents<'a> {
+    pub(crate) obj: ObjId,
+    pub(crate) ops: &'a OpSet,
+}
+
+impl<'a> Parents<'a> {
+    /// Return the path this `Parents` represents
+    ///
+    /// This is _not_ in reverse order.
+    pub fn path(self) -> Vec<(ExId, Prop)> {
+        let mut path = self
+            .map(|Parent { obj, prop, .. }| (obj, prop))
+            .collect::<Vec<_>>();
+        path.reverse();
+        path
+    }
+
+    /// Like `path` but returns `None` if the target is not visible
+    pub fn visible_path(self) -> Option<Vec<(ExId, Prop)>> {
+        let mut path = Vec::new();
+        for Parent { obj, prop, visible } in self {
+            if !visible {
+                return None;
+            }
+            path.push((obj, prop))
+        }
+        path.reverse();
+        Some(path)
+    }
+}
+
+impl<'a> Iterator for Parents<'a> {
+    type Item = Parent;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        if self.obj.is_root() {
+            None
+        } else if let Some(op_set::Parent { obj, key, visible }) = self.ops.parent_object(&self.obj)
+        {
+            self.obj = obj;
+            Some(Parent {
+                obj: self.ops.id_to_exid(self.obj.0),
+                prop: self
+                    .ops
+                    .export_key(self.obj, key, ListEncoding::List)
+                    .unwrap(),
+                visible,
+            })
+        } else {
+            None
+        }
+    }
+}
+
+/// A component of a path to an object
+#[derive(Debug, PartialEq, Eq)]
+pub struct Parent {
+    /// The object ID this component refers to
+    pub obj: ExId,
+    /// The property within `obj` this component refers to
+    pub prop: Prop,
+    /// Whether this component is "visible"
+    ///
+    /// An "invisible" component is one where the property is hidden, either because it has been
+    /// deleted or because there is a conflict on this (object, property) pair and this value does
+    /// not win the conflict.
+    pub visible: bool,
+}
+
+#[cfg(test)]
+mod tests {
+    use super::Parent;
+    use crate::{transaction::Transactable, Prop, ReadDoc};
+
+    #[test]
+    fn test_invisible_parents() {
+        // Create a document with a list of objects, then delete one of the objects, then generate
+        // a path to the deleted object.
+
+        let mut doc = crate::AutoCommit::new();
+        let list = doc
+            .put_object(crate::ROOT, "list", crate::ObjType::List)
+            .unwrap();
+        let obj1 = doc.insert_object(&list, 0, crate::ObjType::Map).unwrap();
+        let _obj2 = doc.insert_object(&list, 1, crate::ObjType::Map).unwrap();
+        doc.put(&obj1, "key", "value").unwrap();
+        doc.delete(&list, 0).unwrap();
+
+        let mut parents = doc.parents(&obj1).unwrap().collect::<Vec<_>>();
+        parents.reverse();
+        assert_eq!(
+            parents,
+            vec![
+                Parent {
+                    obj: crate::ROOT,
+                    prop: Prop::Map("list".to_string()),
+                    visible: true,
+                },
+                Parent {
+                    obj: list,
+                    prop: Prop::Seq(0),
+                    visible: false,
+                },
+            ]
+        );
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query.rs.html b/src/automerge/query.rs.html new file mode 100644 index 00000000..f08eecdc --- /dev/null +++ b/src/automerge/query.rs.html @@ -0,0 +1,727 @@ +query.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+
use crate::op_tree::{OpSetMetadata, OpTree, OpTreeNode};
+use crate::types::{
+    Clock, Counter, Key, ListEncoding, Op, OpId, OpType, ScalarValue, TextEncoding,
+};
+use fxhash::FxBuildHasher;
+use std::cmp::Ordering;
+use std::collections::{HashMap, HashSet};
+use std::fmt::Debug;
+
+mod elem_id_pos;
+mod insert;
+mod keys;
+mod keys_at;
+mod len;
+mod len_at;
+mod list_range;
+mod list_range_at;
+mod list_vals;
+mod list_vals_at;
+mod map_range;
+mod map_range_at;
+mod nth;
+mod nth_at;
+mod opid;
+mod opid_vis;
+mod prop;
+mod prop_at;
+mod seek_op;
+mod seek_op_with_patch;
+
+pub(crate) use elem_id_pos::ElemIdPos;
+pub(crate) use insert::InsertNth;
+pub(crate) use keys::Keys;
+pub(crate) use keys_at::KeysAt;
+pub(crate) use len::Len;
+pub(crate) use len_at::LenAt;
+pub(crate) use list_range::ListRange;
+pub(crate) use list_range_at::ListRangeAt;
+pub(crate) use list_vals::ListVals;
+pub(crate) use list_vals_at::ListValsAt;
+pub(crate) use map_range::MapRange;
+pub(crate) use map_range_at::MapRangeAt;
+pub(crate) use nth::Nth;
+pub(crate) use nth_at::NthAt;
+pub(crate) use opid::OpIdSearch;
+pub(crate) use opid_vis::OpIdVisSearch;
+pub(crate) use prop::Prop;
+pub(crate) use prop_at::PropAt;
+pub(crate) use seek_op::SeekOp;
+pub(crate) use seek_op_with_patch::SeekOpWithPatch;
+
+// use a struct for the args for clarity as they are passed up the update chain in the optree
+#[derive(Debug, Clone)]
+pub(crate) struct ChangeVisibility<'a> {
+    pub(crate) old_vis: bool,
+    pub(crate) new_vis: bool,
+    pub(crate) op: &'a Op,
+}
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct CounterData {
+    pos: usize,
+    val: i64,
+    succ: HashSet<OpId>,
+    op: Op,
+}
+
+pub(crate) trait TreeQuery<'a>: Clone + Debug {
+    fn equiv(&mut self, _other: &Self) -> bool {
+        false
+    }
+
+    fn can_shortcut_search(&mut self, _tree: &'a OpTree) -> bool {
+        false
+    }
+
+    #[inline(always)]
+    fn query_node_with_metadata(
+        &mut self,
+        child: &'a OpTreeNode,
+        _m: &OpSetMetadata,
+        ops: &[Op],
+    ) -> QueryResult {
+        self.query_node(child, ops)
+    }
+
+    fn query_node(&mut self, _child: &'a OpTreeNode, _ops: &[Op]) -> QueryResult {
+        QueryResult::Descend
+    }
+
+    #[inline(always)]
+    fn query_element_with_metadata(&mut self, element: &'a Op, _m: &OpSetMetadata) -> QueryResult {
+        self.query_element(element)
+    }
+
+    fn query_element(&mut self, _element: &'a Op) -> QueryResult {
+        panic!("invalid element query")
+    }
+}
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) enum QueryResult {
+    Next,
+    /// Skip this many elements, only allowed from the root node.
+    Skip(usize),
+    Descend,
+    Finish,
+}
+
+#[derive(Clone, Debug, PartialEq)]
+struct TextWidth {
+    utf8: usize,
+    utf16: usize,
+}
+
+impl TextWidth {
+    fn add_op(&mut self, op: &Op) {
+        self.utf8 += op.width(ListEncoding::Text(TextEncoding::Utf8));
+        self.utf16 += op.width(ListEncoding::Text(TextEncoding::Utf16));
+    }
+
+    fn remove_op(&mut self, op: &Op) {
+        // Why are we using saturating_sub here? Shouldn't this always be greater than 0?
+        //
+        // In the case of objects which are _not_ `Text` we may end up subtracting more than the
+        // current width. This can happen if the elements in a list are `ScalarValue::str` and
+        // there are conflicting elements for the same index in the list. Like so:
+        //
+        // ```notrust
+        // [
+        //     "element",
+        //     ["conflict1", "conflict2_longer"],
+        //     "element"
+        // ]
+        // ```
+        //
+        // Where there are two conflicted elements at index 1
+        //
+        // in `Index::insert` and `Index::change_visibility` we add the width of the inserted op in
+        // utf8 and utf16 to the current width, but only if there was not a previous element for
+        // that index. Imagine that we encounter the "conflict1" op first, then we will add the
+        // length of 'conflict1' to the text widths. When 'conflict2_longer' is added we don't do
+        // anything because we've already seen an op for this index. Imagine that later we remove
+        // the `conflict2_longer` op, then we will end up subtracting the length of
+        // 'conflict2_longer' from the text widths, hence, `saturating_sub`. This isn't a problem
+        // because for non text objects we don't need the text widths to be accurate anyway.
+        //
+        // Really this is a sign that we should be tracking the type of the Index (List or Text) at
+        // the type level, but for now we just look the other way.
+        self.utf8 = self
+            .utf8
+            .saturating_sub(op.width(ListEncoding::Text(TextEncoding::Utf8)));
+        self.utf16 = self
+            .utf16
+            .saturating_sub(op.width(ListEncoding::Text(TextEncoding::Utf16)));
+    }
+
+    fn merge(&mut self, other: &TextWidth) {
+        self.utf8 += other.utf8;
+        self.utf16 += other.utf16;
+    }
+}
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct Index {
+    /// The map of visible keys to the number of visible operations for that key.
+    visible: HashMap<Key, usize, FxBuildHasher>,
+    visible_text: TextWidth,
+    /// Set of opids found in this node and below.
+    ops: HashSet<OpId, FxBuildHasher>,
+}
+
+impl Index {
+    pub(crate) fn new() -> Self {
+        Index {
+            visible: Default::default(),
+            visible_text: TextWidth { utf8: 0, utf16: 0 },
+            ops: Default::default(),
+        }
+    }
+
+    /// Get the number of visible elements in this index.
+    pub(crate) fn visible_len(&self, encoding: ListEncoding) -> usize {
+        match encoding {
+            ListEncoding::List => self.visible.len(),
+            ListEncoding::Text(TextEncoding::Utf8) => self.visible_text.utf8,
+            ListEncoding::Text(TextEncoding::Utf16) => self.visible_text.utf16,
+        }
+    }
+
+    pub(crate) fn has_visible(&self, seen: &Key) -> bool {
+        self.visible.contains_key(seen)
+    }
+
+    /// Whether `opid` is in this node or any below it
+    pub(crate) fn has_op(&self, opid: &OpId) -> bool {
+        self.ops.contains(opid)
+    }
+
+    pub(crate) fn change_vis<'a>(
+        &mut self,
+        change_vis: ChangeVisibility<'a>,
+    ) -> ChangeVisibility<'a> {
+        let ChangeVisibility {
+            old_vis,
+            new_vis,
+            op,
+        } = &change_vis;
+        let key = op.elemid_or_key();
+        match (old_vis, new_vis) {
+            (true, false) => match self.visible.get(&key).copied() {
+                Some(n) if n == 1 => {
+                    self.visible.remove(&key);
+                    self.visible_text.remove_op(op);
+                }
+                Some(n) => {
+                    self.visible.insert(key, n - 1);
+                }
+                None => panic!("remove overun in index"),
+            },
+            (false, true) => {
+                if let Some(n) = self.visible.get(&key) {
+                    self.visible.insert(key, n + 1);
+                } else {
+                    self.visible.insert(key, 1);
+                    self.visible_text.add_op(op);
+                }
+            }
+            _ => {}
+        }
+        change_vis
+    }
+
+    pub(crate) fn insert(&mut self, op: &Op) {
+        self.ops.insert(op.id);
+        if op.visible() {
+            let key = op.elemid_or_key();
+            if let Some(n) = self.visible.get(&key) {
+                self.visible.insert(key, n + 1);
+            } else {
+                self.visible.insert(key, 1);
+                self.visible_text.add_op(op);
+            }
+        }
+    }
+
+    pub(crate) fn remove(&mut self, op: &Op) {
+        self.ops.remove(&op.id);
+        if op.visible() {
+            let key = op.elemid_or_key();
+            match self.visible.get(&key).copied() {
+                Some(n) if n == 1 => {
+                    self.visible.remove(&key);
+                    self.visible_text.remove_op(op);
+                }
+                Some(n) => {
+                    self.visible.insert(key, n - 1);
+                }
+                None => panic!("remove overun in index"),
+            }
+        }
+    }
+
+    pub(crate) fn merge(&mut self, other: &Index) {
+        for id in &other.ops {
+            self.ops.insert(*id);
+        }
+        for (elem, other_len) in other.visible.iter() {
+            self.visible
+                .entry(*elem)
+                .and_modify(|len| *len += *other_len)
+                .or_insert(*other_len);
+        }
+        self.visible_text.merge(&other.visible_text);
+    }
+}
+
+impl Default for Index {
+    fn default() -> Self {
+        Self::new()
+    }
+}
+
+#[derive(Debug, Clone, PartialEq, Default)]
+pub(crate) struct VisWindow {
+    counters: HashMap<OpId, CounterData>,
+}
+
+impl VisWindow {
+    fn visible_at(&mut self, op: &Op, pos: usize, clock: &Clock) -> bool {
+        if !clock.covers(&op.id) {
+            return false;
+        }
+
+        let mut visible = false;
+        match op.action {
+            OpType::Put(ScalarValue::Counter(Counter { start, .. })) => {
+                self.counters.insert(
+                    op.id,
+                    CounterData {
+                        pos,
+                        val: start,
+                        succ: op.succ.into_iter().cloned().collect(),
+                        op: op.clone(),
+                    },
+                );
+                if !op.succ.into_iter().any(|i| clock.covers(i)) {
+                    visible = true;
+                }
+            }
+            OpType::Increment(inc_val) => {
+                for id in &op.pred {
+                    // pred is always before op.id so we can see them
+                    if let Some(mut entry) = self.counters.get_mut(id) {
+                        entry.succ.remove(&op.id);
+                        entry.val += inc_val;
+                        entry.op.action = OpType::Put(ScalarValue::counter(entry.val));
+                        if !entry.succ.iter().any(|i| clock.covers(i)) {
+                            visible = true;
+                        }
+                    }
+                }
+            }
+            _ => {
+                if !op.succ.into_iter().any(|i| clock.covers(i)) {
+                    visible = true;
+                }
+            }
+        };
+        visible
+    }
+
+    pub(crate) fn seen_op(&self, op: &Op, pos: usize) -> Vec<(usize, Op)> {
+        let mut result = vec![];
+        for pred in &op.pred {
+            if let Some(entry) = self.counters.get(pred) {
+                result.push((entry.pos, entry.op.clone()));
+            }
+        }
+        if result.is_empty() {
+            result.push((pos, op.clone()));
+        }
+        result
+    }
+}
+
+pub(crate) fn binary_search_by<F>(node: &OpTreeNode, ops: &[Op], f: F) -> usize
+where
+    F: Fn(&Op) -> Ordering,
+{
+    let mut right = node.len();
+    let mut left = 0;
+    while left < right {
+        let seq = (left + right) / 2;
+        if f(&ops[node.get(seq).unwrap()]) == Ordering::Less {
+            left = seq + 1;
+        } else {
+            right = seq;
+        }
+    }
+    left
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/elem_id_pos.rs.html b/src/automerge/query/elem_id_pos.rs.html new file mode 100644 index 00000000..0f109bef --- /dev/null +++ b/src/automerge/query/elem_id_pos.rs.html @@ -0,0 +1,151 @@ +elem_id_pos.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+
use crate::{
+    op_tree::OpTreeNode,
+    types::{ElemId, ListEncoding, Op, OpId},
+};
+
+use super::{QueryResult, TreeQuery};
+
+/// Lookup the index in the list that this elemid occupies, includes hidden elements.
+#[derive(Clone, Debug)]
+pub(crate) struct ElemIdPos {
+    elem_opid: OpId,
+    pos: usize,
+    found: bool,
+    encoding: ListEncoding,
+}
+
+impl ElemIdPos {
+    pub(crate) fn new(elemid: ElemId, encoding: ListEncoding) -> Self {
+        if elemid.is_head() {
+            Self {
+                elem_opid: elemid.0,
+                pos: 0,
+                found: true,
+                encoding,
+            }
+        } else {
+            Self {
+                elem_opid: elemid.0,
+                pos: 0,
+                found: false,
+                encoding,
+            }
+        }
+    }
+
+    pub(crate) fn index(&self) -> Option<usize> {
+        if self.found {
+            Some(self.pos)
+        } else {
+            None
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for ElemIdPos {
+    fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult {
+        if self.found {
+            return QueryResult::Finish;
+        }
+        // if index has our element then we can continue
+        if child.index.has_op(&self.elem_opid) {
+            // element is in this node somewhere
+            QueryResult::Descend
+        } else {
+            // not in this node, try the next one
+            self.pos += child.index.visible_len(self.encoding);
+            QueryResult::Next
+        }
+    }
+
+    fn query_element(&mut self, element: &crate::types::Op) -> QueryResult {
+        if self.found {
+            return QueryResult::Finish;
+        }
+        if element.elemid() == Some(ElemId(self.elem_opid)) {
+            // this is it
+            self.found = true;
+            return QueryResult::Finish;
+        } else if element.visible() {
+            self.pos += element.width(self.encoding);
+        }
+        QueryResult::Next
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/insert.rs.html b/src/automerge/query/insert.rs.html new file mode 100644 index 00000000..bc0a63ae --- /dev/null +++ b/src/automerge/query/insert.rs.html @@ -0,0 +1,253 @@ +insert.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+
use crate::error::AutomergeError;
+use crate::op_tree::OpTreeNode;
+use crate::query::{OpTree, QueryResult, TreeQuery};
+use crate::types::{ElemId, Key, ListEncoding, Op, HEAD};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct InsertNth {
+    /// the index in the realised list that we want to insert at
+    target: usize,
+    /// the number of visible operations seen
+    seen: usize,
+    last_width: usize,
+    encoding: ListEncoding,
+    //pub pos: usize,
+    /// the number of operations (including non-visible) that we have seen
+    n: usize,
+    valid: Option<usize>,
+    /// last_seen is the target elemid of the last `seen` operation.
+    /// It is used to avoid double counting visible elements (which arise through conflicts) that are split across nodes.
+    last_seen: Option<Key>,
+    last_insert: Option<ElemId>,
+    last_valid_insert: Option<Key>,
+}
+
+impl InsertNth {
+    pub(crate) fn new(target: usize, encoding: ListEncoding) -> Self {
+        let (valid, last_valid_insert) = if target == 0 {
+            (Some(0), Some(Key::Seq(HEAD)))
+        } else {
+            (None, None)
+        };
+        InsertNth {
+            target,
+            seen: 0,
+            last_width: 0,
+            encoding,
+            n: 0,
+            valid,
+            last_seen: None,
+            last_insert: None,
+            last_valid_insert,
+        }
+    }
+
+    pub(crate) fn pos(&self) -> usize {
+        self.valid.unwrap_or(self.n)
+    }
+
+    pub(crate) fn key(&self) -> Result<Key, AutomergeError> {
+        self.last_valid_insert
+            .ok_or(AutomergeError::InvalidIndex(self.target))
+    }
+}
+
+impl<'a> TreeQuery<'a> for InsertNth {
+    fn equiv(&mut self, other: &Self) -> bool {
+        self.pos() == other.pos() && self.key() == other.key()
+    }
+
+    fn can_shortcut_search(&mut self, tree: &'a OpTree) -> bool {
+        if let Some((index, pos)) = &tree.last_insert {
+            if let Some(op) = tree.internal.get(*pos) {
+                if *index + op.width(self.encoding) == self.target {
+                    self.valid = Some(*pos + 1);
+                    self.last_valid_insert = Some(op.elemid_or_key());
+                    return true;
+                }
+            }
+        }
+        false
+    }
+
+    fn query_node(&mut self, child: &OpTreeNode, ops: &[Op]) -> QueryResult {
+        // if this node has some visible elements then we may find our target within
+        let mut num_vis = child.index.visible_len(self.encoding);
+        if let Some(last_seen) = self.last_seen {
+            if child.index.has_visible(&last_seen) {
+                num_vis -= 1;
+            }
+        }
+
+        if self.seen + num_vis >= self.target {
+            // our target is within this node
+            QueryResult::Descend
+        } else {
+            // our target is not in this node so try the next one
+            self.n += child.len();
+            self.seen += num_vis;
+
+            // We have updated seen by the number of visible elements in this index, before we skip it.
+            // We also need to keep track of the last elemid that we have seen (and counted as seen).
+            // We can just use the elemid of the last op in this node as either:
+            // - the insert was at a previous node and this is a long run of overwrites so last_seen should already be set correctly
+            // - the visible op is in this node and the elemid references it so it can be set here
+            // - the visible op is in a future node and so it will be counted as seen there
+            let last_elemid = ops[child.last()].elemid_or_key();
+            if child.index.has_visible(&last_elemid) {
+                self.last_seen = Some(last_elemid);
+            }
+            QueryResult::Next
+        }
+    }
+
+    fn query_element(&mut self, element: &Op) -> QueryResult {
+        if element.insert {
+            if self.valid.is_none() && self.seen >= self.target {
+                self.valid = Some(self.n);
+            }
+            self.last_seen = None;
+            self.last_insert = element.elemid();
+        }
+        if self.last_seen.is_none() && element.visible() {
+            if self.seen >= self.target {
+                return QueryResult::Finish;
+            }
+            self.last_width = element.width(self.encoding);
+            self.seen += self.last_width;
+            self.last_seen = Some(element.elemid_or_key());
+            self.last_valid_insert = self.last_seen
+        }
+        self.n += 1;
+        QueryResult::Next
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/keys.rs.html b/src/automerge/query/keys.rs.html new file mode 100644 index 00000000..48d65e1a --- /dev/null +++ b/src/automerge/query/keys.rs.html @@ -0,0 +1,111 @@ +keys.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+
use crate::op_tree::OpTreeInternal;
+use crate::types::Key;
+use std::fmt::Debug;
+
+#[derive(Debug)]
+pub(crate) struct Keys<'a> {
+    index: usize,
+    last_key: Option<Key>,
+    index_back: usize,
+    last_key_back: Option<Key>,
+    op_tree: &'a OpTreeInternal,
+}
+
+impl<'a> Keys<'a> {
+    pub(crate) fn new(op_tree: &'a OpTreeInternal) -> Self {
+        Self {
+            index: 0,
+            last_key: None,
+            index_back: op_tree.len(),
+            last_key_back: None,
+            op_tree,
+        }
+    }
+}
+
+impl<'a> Iterator for Keys<'a> {
+    type Item = Key;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        for i in self.index..self.index_back {
+            let op = self.op_tree.get(i)?;
+            self.index += 1;
+            if Some(op.elemid_or_key()) != self.last_key && op.visible() {
+                self.last_key = Some(op.elemid_or_key());
+                return Some(op.elemid_or_key());
+            }
+        }
+        None
+    }
+}
+
+impl<'a> DoubleEndedIterator for Keys<'a> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        for i in (self.index..self.index_back).rev() {
+            let op = self.op_tree.get(i)?;
+            self.index_back -= 1;
+            if Some(op.elemid_or_key()) != self.last_key_back && op.visible() {
+                self.last_key_back = Some(op.elemid_or_key());
+                return Some(op.elemid_or_key());
+            }
+        }
+        None
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/keys_at.rs.html b/src/automerge/query/keys_at.rs.html new file mode 100644 index 00000000..325bc54c --- /dev/null +++ b/src/automerge/query/keys_at.rs.html @@ -0,0 +1,125 @@ +keys_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+
use crate::op_tree::OpTreeInternal;
+use crate::query::VisWindow;
+use crate::types::{Clock, Key};
+use std::fmt::Debug;
+
+#[derive(Debug)]
+pub(crate) struct KeysAt<'a> {
+    clock: Clock,
+    window: VisWindow,
+    index: usize,
+    last_key: Option<Key>,
+    index_back: usize,
+    last_key_back: Option<Key>,
+    op_tree: &'a OpTreeInternal,
+}
+
+impl<'a> KeysAt<'a> {
+    pub(crate) fn new(op_tree: &'a OpTreeInternal, clock: Clock) -> Self {
+        Self {
+            clock,
+            window: VisWindow::default(),
+            index: 0,
+            last_key: None,
+            index_back: op_tree.len(),
+            last_key_back: None,
+            op_tree,
+        }
+    }
+}
+
+impl<'a> Iterator for KeysAt<'a> {
+    type Item = Key;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        for i in self.index..self.index_back {
+            let op = self.op_tree.get(i)?;
+            let visible = self.window.visible_at(op, i, &self.clock);
+            self.index += 1;
+            if Some(op.elemid_or_key()) != self.last_key && visible {
+                self.last_key = Some(op.elemid_or_key());
+                return Some(op.elemid_or_key());
+            }
+        }
+        None
+    }
+}
+
+impl<'a> DoubleEndedIterator for KeysAt<'a> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        for i in self.index..self.index_back {
+            let op = self.op_tree.get(i)?;
+            let visible = self.window.visible_at(op, i, &self.clock);
+            self.index_back -= 1;
+            if Some(op.elemid_or_key()) != self.last_key_back && visible {
+                self.last_key_back = Some(op.elemid_or_key());
+                return Some(op.elemid_or_key());
+            }
+        }
+        None
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/len.rs.html b/src/automerge/query/len.rs.html new file mode 100644 index 00000000..2f54f8f4 --- /dev/null +++ b/src/automerge/query/len.rs.html @@ -0,0 +1,49 @@ +len.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+
use crate::op_tree::OpTreeNode;
+use crate::query::{QueryResult, TreeQuery};
+use crate::types::{ListEncoding, Op};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct Len {
+    pub(crate) len: usize,
+    encoding: ListEncoding,
+}
+
+impl Len {
+    pub(crate) fn new(encoding: ListEncoding) -> Self {
+        Len { len: 0, encoding }
+    }
+}
+
+impl<'a> TreeQuery<'a> for Len {
+    fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult {
+        self.len = child.index.visible_len(self.encoding);
+        QueryResult::Finish
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/len_at.rs.html b/src/automerge/query/len_at.rs.html new file mode 100644 index 00000000..60b1419b --- /dev/null +++ b/src/automerge/query/len_at.rs.html @@ -0,0 +1,87 @@ +len_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+
use crate::query::{QueryResult, TreeQuery, VisWindow};
+use crate::types::{Clock, ElemId, ListEncoding, Op};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct LenAt {
+    pub(crate) len: usize,
+    clock: Clock,
+    pos: usize,
+    encoding: ListEncoding,
+    last: Option<ElemId>,
+    window: VisWindow,
+}
+
+impl LenAt {
+    pub(crate) fn new(clock: Clock, encoding: ListEncoding) -> Self {
+        LenAt {
+            clock,
+            pos: 0,
+            len: 0,
+            encoding,
+            last: None,
+            window: Default::default(),
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for LenAt {
+    fn query_element(&mut self, op: &'a Op) -> QueryResult {
+        if op.insert {
+            self.last = None;
+        }
+        let elem = op.elemid();
+        let visible = self.window.visible_at(op, self.pos, &self.clock);
+        if elem != self.last && visible {
+            self.len += op.width(self.encoding);
+            self.last = elem;
+        }
+        self.pos += 1;
+        QueryResult::Next
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/list_range.rs.html b/src/automerge/query/list_range.rs.html new file mode 100644 index 00000000..3081e2e3 --- /dev/null +++ b/src/automerge/query/list_range.rs.html @@ -0,0 +1,137 @@ +list_range.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+
use crate::exid::ExId;
+use crate::op_tree::OpTreeInternal;
+use crate::types::{ElemId, OpId};
+use crate::values::ValueIter;
+use crate::{Automerge, Value};
+use std::fmt::Debug;
+use std::ops::RangeBounds;
+
+#[derive(Debug)]
+pub(crate) struct ListRange<'a, R: RangeBounds<usize>> {
+    range: R,
+    index: usize,
+    pos: usize,
+    last_elemid: Option<ElemId>,
+    next_result: Option<(usize, Value<'a>, OpId)>,
+    index_back: usize,
+    op_tree: &'a OpTreeInternal,
+}
+
+impl<'a, R: RangeBounds<usize>> ListRange<'a, R> {
+    pub(crate) fn new(range: R, op_tree: &'a OpTreeInternal) -> Self {
+        Self {
+            range,
+            index: 0, // FIXME root_child.seek_to_pos(range.start)
+            pos: 0,   // FIXME range.start
+            last_elemid: None,
+            next_result: None,
+            index_back: op_tree.len(),
+            op_tree,
+        }
+    }
+}
+
+impl<'a, R: RangeBounds<usize>> ValueIter<'a> for ListRange<'a, R> {
+    fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> {
+        self.next().map(|(_, val, id)| (val, doc.id_to_exid(id)))
+    }
+}
+
+impl<'a, R: RangeBounds<usize>> Iterator for ListRange<'a, R> {
+    type Item = (usize, Value<'a>, OpId);
+
+    // FIXME: this is fine if we're scanning everything (see values()) but could be much more efficient
+    // if we're scanning a narrow range on a large sequence ... we should be able to seek to the starting
+    // point and stop at the end point and not needless scan all the ops before and after the range
+    fn next(&mut self) -> Option<Self::Item> {
+        for i in self.index..self.index_back {
+            let op = self.op_tree.get(i)?;
+            self.index += 1;
+            if op.visible() {
+                if op.elemid() != self.last_elemid {
+                    self.last_elemid = op.elemid();
+                    self.pos += 1;
+                    if self.range.contains(&(self.pos - 1)) {
+                        let result = self.next_result.replace((self.pos - 1, op.value(), op.id));
+                        if result.is_some() {
+                            return result;
+                        }
+                    }
+                } else if self.pos > 0 && self.range.contains(&(self.pos - 1)) {
+                    self.next_result = Some((self.pos - 1, op.value(), op.id));
+                }
+            }
+        }
+        self.next_result.take()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/list_range_at.rs.html b/src/automerge/query/list_range_at.rs.html new file mode 100644 index 00000000..95b859c4 --- /dev/null +++ b/src/automerge/query/list_range_at.rs.html @@ -0,0 +1,143 @@ +list_range_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+
use super::VisWindow;
+use crate::exid::ExId;
+use crate::op_tree::OpTreeInternal;
+use crate::types::{Clock, ElemId, OpId};
+use crate::values::ValueIter;
+use crate::{Automerge, Value};
+use std::fmt::Debug;
+use std::ops::RangeBounds;
+
+#[derive(Debug)]
+pub(crate) struct ListRangeAt<'a, R: RangeBounds<usize>> {
+    range: R,
+    index: usize,
+    pos: usize,
+    last_elemid: Option<ElemId>,
+    next_result: Option<(usize, Value<'a>, OpId)>,
+    index_back: usize,
+    op_tree: &'a OpTreeInternal,
+    clock: Clock,
+    window: VisWindow,
+}
+
+impl<'a, R: RangeBounds<usize>> ValueIter<'a> for ListRangeAt<'a, R> {
+    fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> {
+        self.next().map(|(_, val, id)| (val, doc.id_to_exid(id)))
+    }
+}
+
+impl<'a, R: RangeBounds<usize>> ListRangeAt<'a, R> {
+    pub(crate) fn new(range: R, clock: Clock, op_tree: &'a OpTreeInternal) -> Self {
+        Self {
+            range,
+            index: 0, // FIXME root_child.seek_to_pos(range.start)
+            pos: 0,   // FIXME range.start
+            last_elemid: None,
+            next_result: None,
+            index_back: op_tree.len(),
+            op_tree,
+            clock,
+            window: VisWindow::default(),
+        }
+    }
+}
+
+impl<'a, R: RangeBounds<usize>> Iterator for ListRangeAt<'a, R> {
+    type Item = (usize, Value<'a>, OpId);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        for i in self.index..self.index_back {
+            let op = self.op_tree.get(i)?;
+            let visible = self.window.visible_at(op, i, &self.clock);
+            self.index += 1;
+            if visible {
+                if op.elemid() != self.last_elemid {
+                    self.last_elemid = op.elemid();
+                    self.pos += 1;
+                    if self.range.contains(&(self.pos - 1)) {
+                        let result = self.next_result.replace((self.pos - 1, op.value(), op.id));
+                        if result.is_some() {
+                            return result;
+                        }
+                    }
+                } else if self.pos > 0 && self.range.contains(&(self.pos - 1)) {
+                    self.next_result = Some((self.pos - 1, op.value(), op.id));
+                }
+            }
+        }
+        self.next_result.take()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/list_vals.rs.html b/src/automerge/query/list_vals.rs.html new file mode 100644 index 00000000..5c50ff10 --- /dev/null +++ b/src/automerge/query/list_vals.rs.html @@ -0,0 +1,75 @@ +list_vals.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+
use crate::op_tree::OpTreeNode;
+use crate::query::{QueryResult, TreeQuery};
+use crate::types::{ElemId, Op};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct ListVals {
+    last_elem: Option<ElemId>,
+    pub(crate) ops: Vec<Op>,
+}
+
+impl ListVals {
+    pub(crate) fn new() -> Self {
+        ListVals {
+            last_elem: None,
+            ops: vec![],
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for ListVals {
+    fn query_node(&mut self, child: &OpTreeNode, ops: &[Op]) -> QueryResult {
+        let start = 0;
+        for pos in start..child.len() {
+            let op = &ops[child.get(pos).unwrap()];
+            if op.insert {
+                self.last_elem = None;
+            }
+            if self.last_elem.is_none() && op.visible() {
+                self.last_elem = op.elemid();
+                self.ops.push(op.clone());
+            }
+        }
+        QueryResult::Finish
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/list_vals_at.rs.html b/src/automerge/query/list_vals_at.rs.html new file mode 100644 index 00000000..568b77f1 --- /dev/null +++ b/src/automerge/query/list_vals_at.rs.html @@ -0,0 +1,101 @@ +list_vals_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+
use crate::query::{OpSetMetadata, QueryResult, TreeQuery, VisWindow};
+use crate::types::{Clock, ElemId, Op};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct ListValsAt {
+    clock: Clock,
+    last_elem: Option<ElemId>,
+    pub(crate) ops: Vec<Op>,
+    window: VisWindow,
+    pos: usize,
+}
+
+impl ListValsAt {
+    pub(crate) fn new(clock: Clock) -> Self {
+        ListValsAt {
+            clock,
+            last_elem: None,
+            ops: vec![],
+            window: Default::default(),
+            pos: 0,
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for ListValsAt {
+    fn query_element_with_metadata(&mut self, op: &'a Op, m: &OpSetMetadata) -> QueryResult {
+        if op.insert {
+            self.last_elem = None;
+        }
+        if self.last_elem.is_none() && self.window.visible_at(op, self.pos, &self.clock) {
+            for (_, vop) in self.window.seen_op(op, self.pos) {
+                self.last_elem = vop.elemid();
+                if vop.is_counter() {
+                    // this could be out of order - because of inc's - insert in the right place
+                    let pos = self
+                        .ops
+                        .binary_search_by(|probe| m.lamport_cmp(probe.id, op.id))
+                        .unwrap_err();
+                    self.ops.insert(pos, vop);
+                } else {
+                    self.ops.push(vop);
+                }
+            }
+        }
+        self.pos += 1;
+        QueryResult::Next
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/map_range.rs.html b/src/automerge/query/map_range.rs.html new file mode 100644 index 00000000..120bba94 --- /dev/null +++ b/src/automerge/query/map_range.rs.html @@ -0,0 +1,215 @@ +map_range.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+
use crate::exid::ExId;
+use crate::op_tree::{OpSetMetadata, OpTreeInternal};
+use crate::types::{Key, OpId};
+use crate::values::ValueIter;
+use crate::{Automerge, Value};
+use std::fmt::Debug;
+use std::ops::RangeBounds;
+
+#[derive(Debug)]
+pub(crate) struct MapRange<'a, R: RangeBounds<String>> {
+    range: R,
+    index: usize,
+    last_key: Option<Key>,
+    next_result: Option<(&'a str, Value<'a>, OpId)>,
+    index_back: usize,
+    last_key_back: Option<Key>,
+    op_tree: &'a OpTreeInternal,
+    meta: &'a OpSetMetadata,
+}
+
+impl<'a, R: RangeBounds<String>> ValueIter<'a> for MapRange<'a, R> {
+    fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> {
+        self.next().map(|(_, val, id)| (val, doc.id_to_exid(id)))
+    }
+}
+
+impl<'a, R: RangeBounds<String>> MapRange<'a, R> {
+    pub(crate) fn new(range: R, op_tree: &'a OpTreeInternal, meta: &'a OpSetMetadata) -> Self {
+        Self {
+            range,
+            index: 0,
+            last_key: None,
+            next_result: None,
+            index_back: op_tree.len(),
+            last_key_back: None,
+            op_tree,
+            meta,
+        }
+    }
+}
+
+impl<'a, R: RangeBounds<String>> Iterator for MapRange<'a, R> {
+    type Item = (&'a str, Value<'a>, OpId);
+
+    // FIXME: this is fine if we're scanning everything (see values()) but could be much more efficient
+    // if we're scanning a narrow range on a map with many keys... we should be able to seek to the starting
+    // point and stop at the end point and not needless scan all the ops before and after the range
+    fn next(&mut self) -> Option<Self::Item> {
+        for i in self.index..self.index_back {
+            let op = self.op_tree.get(i)?;
+            self.index += 1;
+            if op.visible() {
+                let prop = match op.key {
+                    Key::Map(m) => self.meta.props.get(m),
+                    Key::Seq(_) => return None, // this is a list
+                };
+                if self.range.contains(prop) {
+                    let result = self.next_result.replace((prop, op.value(), op.id));
+                    if Some(op.key) != self.last_key {
+                        self.last_key = Some(op.key);
+                        if result.is_some() {
+                            return result;
+                        }
+                    }
+                }
+            }
+        }
+        self.next_result.take()
+    }
+}
+
+impl<'a, R: RangeBounds<String>> DoubleEndedIterator for MapRange<'a, R> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        for i in (self.index..self.index_back).rev() {
+            let op = self.op_tree.get(i)?;
+            self.index_back -= 1;
+
+            if Some(op.key) != self.last_key_back && op.visible() {
+                self.last_key_back = Some(op.key);
+                let prop = match op.key {
+                    Key::Map(m) => self.meta.props.get(m),
+                    Key::Seq(_) => return None, // this is a list
+                };
+                if self.range.contains(prop) {
+                    return Some((prop, op.value(), op.id));
+                }
+            }
+        }
+
+        // we're now overlapping the index and index_back so try and take the result from the next query
+        if let Some((prop, a, b)) = self.next_result.take() {
+            let last_prop = match self.last_key_back {
+                None => None,
+                Some(Key::Map(u)) => Some(self.meta.props.get(u).as_str()),
+                Some(Key::Seq(_)) => None,
+            };
+
+            // we can only use this result if we haven't ended in the prop's state (to account for
+            // conflicts).
+            if Some(prop) != last_prop {
+                return Some((prop, a, b));
+            }
+        }
+        None
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/map_range_at.rs.html b/src/automerge/query/map_range_at.rs.html new file mode 100644 index 00000000..99d10f8f --- /dev/null +++ b/src/automerge/query/map_range_at.rs.html @@ -0,0 +1,241 @@ +map_range_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+
use crate::clock::Clock;
+use crate::exid::ExId;
+use crate::op_tree::{OpSetMetadata, OpTreeInternal};
+use crate::types::{Key, OpId};
+use crate::values::ValueIter;
+use crate::{Automerge, Value};
+use std::fmt::Debug;
+use std::ops::RangeBounds;
+
+use super::VisWindow;
+
+#[derive(Debug)]
+pub(crate) struct MapRangeAt<'a, R: RangeBounds<String>> {
+    clock: Clock,
+    window: VisWindow,
+
+    range: R,
+    index: usize,
+    last_key: Option<Key>,
+    next_result: Option<(&'a str, Value<'a>, OpId)>,
+
+    index_back: usize,
+    last_key_back: Option<Key>,
+
+    op_tree: &'a OpTreeInternal,
+    meta: &'a OpSetMetadata,
+}
+
+impl<'a, R: RangeBounds<String>> ValueIter<'a> for MapRangeAt<'a, R> {
+    fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)> {
+        self.next().map(|(_, val, id)| (val, doc.id_to_exid(id)))
+    }
+}
+
+impl<'a, R: RangeBounds<String>> MapRangeAt<'a, R> {
+    pub(crate) fn new(
+        range: R,
+        op_tree: &'a OpTreeInternal,
+        meta: &'a OpSetMetadata,
+        clock: Clock,
+    ) -> Self {
+        Self {
+            clock,
+            window: VisWindow::default(),
+            range,
+            index: 0,
+            last_key: None,
+            next_result: None,
+            index_back: op_tree.len(),
+            last_key_back: None,
+            op_tree,
+            meta,
+        }
+    }
+}
+
+impl<'a, R: RangeBounds<String>> Iterator for MapRangeAt<'a, R> {
+    type Item = (&'a str, Value<'a>, OpId);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        for i in self.index..self.index_back {
+            let op = self.op_tree.get(i)?;
+            let visible = self.window.visible_at(op, i, &self.clock);
+            self.index += 1;
+            if visible {
+                let prop = match op.key {
+                    Key::Map(m) => self.meta.props.get(m),
+                    Key::Seq(_) => return None, // this is a list
+                };
+                if self.range.contains(prop) {
+                    let result = self.next_result.replace((prop, op.value(), op.id));
+                    if Some(op.key) != self.last_key {
+                        self.last_key = Some(op.key);
+                        if result.is_some() {
+                            return result;
+                        }
+                    }
+                }
+            }
+        }
+        self.next_result.take()
+    }
+}
+
+impl<'a, R: RangeBounds<String>> DoubleEndedIterator for MapRangeAt<'a, R> {
+    fn next_back(&mut self) -> Option<Self::Item> {
+        for i in (self.index..self.index_back).rev() {
+            let op = self.op_tree.get(i)?;
+            let visible = self.window.visible_at(op, i, &self.clock);
+            self.index_back -= 1;
+            if Some(op.key) != self.last_key_back && visible {
+                self.last_key_back = Some(op.key);
+                let prop = match op.key {
+                    Key::Map(m) => self.meta.props.get(m),
+                    Key::Seq(_) => return None, // this is a list
+                };
+                if self.range.contains(prop) {
+                    return Some((prop, op.value(), op.id));
+                }
+            }
+        }
+
+        // we're now overlapping the index and index_back so try and take the result from the next query
+        if let Some((prop, a, b)) = self.next_result.take() {
+            let last_prop = match self.last_key_back {
+                None => None,
+                Some(Key::Map(u)) => Some(self.meta.props.get(u).as_str()),
+                Some(Key::Seq(_)) => None,
+            };
+
+            // we can only use this result if we haven't ended in the prop's state (to account for
+            // conflicts).
+            if Some(prop) != last_prop {
+                return Some((prop, a, b));
+            }
+        }
+        None
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/nth.rs.html b/src/automerge/query/nth.rs.html new file mode 100644 index 00000000..2f7c7ff8 --- /dev/null +++ b/src/automerge/query/nth.rs.html @@ -0,0 +1,257 @@ +nth.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+
use crate::error::AutomergeError;
+use crate::op_set::OpSet;
+use crate::op_tree::{OpTree, OpTreeNode};
+use crate::query::{QueryResult, TreeQuery};
+use crate::types::{Key, ListEncoding, Op, OpIds};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct Nth<'a> {
+    target: usize,
+    seen: usize,
+    encoding: ListEncoding,
+    last_width: usize,
+    /// last_seen is the target elemid of the last `seen` operation.
+    /// It is used to avoid double counting visible elements (which arise through conflicts) that are split across nodes.
+    last_seen: Option<Key>,
+    pub(crate) ops: Vec<&'a Op>,
+    pub(crate) ops_pos: Vec<usize>,
+    pub(crate) pos: usize,
+}
+
+impl<'a> Nth<'a> {
+    pub(crate) fn new(target: usize, encoding: ListEncoding) -> Self {
+        Nth {
+            target,
+            seen: 0,
+            last_width: 1,
+            encoding,
+            last_seen: None,
+            ops: vec![],
+            ops_pos: vec![],
+            pos: 0,
+        }
+    }
+
+    pub(crate) fn pred(&self, ops: &OpSet) -> OpIds {
+        ops.m.sorted_opids(self.ops.iter().map(|o| o.id))
+    }
+
+    /// Get the key
+    pub(crate) fn key(&self) -> Result<Key, AutomergeError> {
+        // the query collects the ops so we can use that to get the key they all use
+        if let Some(e) = self.ops.first().and_then(|op| op.elemid()) {
+            Ok(Key::Seq(e))
+        } else {
+            Err(AutomergeError::InvalidIndex(self.target))
+        }
+    }
+
+    pub(crate) fn index(&self) -> usize {
+        self.seen - self.last_width
+    }
+}
+
+impl<'a> TreeQuery<'a> for Nth<'a> {
+    fn equiv(&mut self, other: &Self) -> bool {
+        self.index() == other.index() && self.key() == other.key()
+    }
+
+    fn can_shortcut_search(&mut self, tree: &'a OpTree) -> bool {
+        if let Some((index, pos)) = &tree.last_insert {
+            if *index == self.target {
+                if let Some(op) = tree.internal.get(*pos) {
+                    self.last_width = op.width(self.encoding);
+                    self.seen = *index + self.last_width;
+                    self.ops.push(op);
+                    self.ops_pos.push(*pos);
+                    self.pos = *pos + 1;
+                    return true;
+                }
+            }
+        }
+        false
+    }
+
+    fn query_node(&mut self, child: &OpTreeNode, ops: &[Op]) -> QueryResult {
+        let mut num_vis = child.index.visible_len(self.encoding);
+        if let Some(last_seen) = self.last_seen {
+            if child.index.has_visible(&last_seen) {
+                num_vis -= 1;
+            }
+        }
+
+        if self.seen + num_vis > self.target {
+            QueryResult::Descend
+        } else {
+            // skip this node as no useful ops in it
+            self.pos += child.len();
+            self.seen += num_vis;
+
+            // We have updated seen by the number of visible elements in this index, before we skip it.
+            // We also need to keep track of the last elemid that we have seen (and counted as seen).
+            // We can just use the elemid of the last op in this node as either:
+            // - the insert was at a previous node and this is a long run of overwrites so last_seen should already be set correctly
+            // - the visible op is in this node and the elemid references it so it can be set here
+            // - the visible op is in a future node and so it will be counted as seen there
+            let last_elemid = ops[child.last()].elemid_or_key();
+            if child.index.has_visible(&last_elemid) {
+                self.last_seen = Some(last_elemid);
+            }
+            QueryResult::Next
+        }
+    }
+
+    fn query_element(&mut self, element: &'a Op) -> QueryResult {
+        if element.insert {
+            if self.seen > self.target {
+                return QueryResult::Finish;
+            }
+            // we have a new potentially visible element so reset last_seen
+            self.last_seen = None
+        }
+        let visible = element.visible();
+        if visible && self.last_seen.is_none() {
+            self.last_width = element.width(self.encoding);
+            self.seen += self.last_width;
+            // we have a new visible element
+            self.last_seen = Some(element.elemid_or_key())
+        }
+        if self.seen > self.target && visible {
+            self.ops.push(element);
+            self.ops_pos.push(self.pos);
+        }
+        self.pos += 1;
+        QueryResult::Next
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/nth_at.rs.html b/src/automerge/query/nth_at.rs.html new file mode 100644 index 00000000..d6835867 --- /dev/null +++ b/src/automerge/query/nth_at.rs.html @@ -0,0 +1,137 @@ +nth_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+
use crate::query::{QueryResult, TreeQuery, VisWindow};
+use crate::types::{Clock, ElemId, ListEncoding, Op};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct NthAt {
+    clock: Clock,
+    target: usize,
+    seen: usize,
+    encoding: ListEncoding,
+    last_seen: Option<ElemId>,
+    window: VisWindow,
+    pub(crate) ops: Vec<Op>,
+    pub(crate) ops_pos: Vec<usize>,
+    pub(crate) pos: usize,
+}
+
+impl NthAt {
+    pub(crate) fn new(target: usize, clock: Clock, encoding: ListEncoding) -> Self {
+        NthAt {
+            clock,
+            target,
+            seen: 0,
+            encoding,
+            last_seen: None,
+            ops: vec![],
+            ops_pos: vec![],
+            pos: 0,
+            window: Default::default(),
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for NthAt {
+    fn query_element(&mut self, element: &'a Op) -> QueryResult {
+        if element.insert {
+            if self.seen > self.target {
+                return QueryResult::Finish;
+            };
+            self.last_seen = None
+        }
+        let visible = self.window.visible_at(element, self.pos, &self.clock);
+        if visible && self.last_seen.is_none() {
+            self.seen += element.width(self.encoding);
+            self.last_seen = element.elemid()
+        }
+        if self.seen > self.target && visible {
+            for (vpos, vop) in self.window.seen_op(element, self.pos) {
+                if vop.is_counter() {
+                    // this could be out of order because of inc's - we can find the right place
+                    // since pos will always be in order
+                    let pos = self
+                        .ops_pos
+                        .binary_search_by(|probe| probe.cmp(&vpos))
+                        .unwrap_err();
+                    self.ops.insert(pos, vop);
+                    self.ops_pos.insert(pos, vpos);
+                } else {
+                    self.ops.push(vop);
+                    self.ops_pos.push(vpos);
+                }
+            }
+        }
+        self.pos += 1;
+        QueryResult::Next
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/opid.rs.html b/src/automerge/query/opid.rs.html new file mode 100644 index 00000000..a4254d5a --- /dev/null +++ b/src/automerge/query/opid.rs.html @@ -0,0 +1,111 @@ +opid.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+
use crate::op_tree::OpTreeNode;
+use crate::query::{QueryResult, TreeQuery};
+use crate::types::{Key, Op, OpId};
+
+/// Search for an OpId in a tree.
+/// Returns the index of the operation in the tree.
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct OpIdSearch {
+    target: OpId,
+    pos: usize,
+    found: bool,
+    key: Option<Key>,
+}
+
+impl OpIdSearch {
+    pub(crate) fn new(target: OpId) -> Self {
+        OpIdSearch {
+            target,
+            pos: 0,
+            found: false,
+            key: None,
+        }
+    }
+
+    /// Get the index of the operation, if found.
+    pub(crate) fn index(&self) -> Option<usize> {
+        if self.found {
+            Some(self.pos)
+        } else {
+            None
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for OpIdSearch {
+    fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult {
+        if child.index.ops.contains(&self.target) {
+            QueryResult::Descend
+        } else {
+            self.pos += child.len();
+            QueryResult::Next
+        }
+    }
+
+    fn query_element(&mut self, element: &Op) -> QueryResult {
+        if element.id == self.target {
+            self.found = true;
+            QueryResult::Finish
+        } else {
+            self.pos += 1;
+            QueryResult::Next
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/opid_vis.rs.html b/src/automerge/query/opid_vis.rs.html new file mode 100644 index 00000000..31bedeac --- /dev/null +++ b/src/automerge/query/opid_vis.rs.html @@ -0,0 +1,127 @@ +opid_vis.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+
use crate::op_tree::OpTreeNode;
+use crate::query::{QueryResult, TreeQuery};
+use crate::types::{Key, Op, OpId};
+
+/// Search for an OpId in a tree.
+/// Returns the index of the operation in the tree.
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct OpIdVisSearch {
+    target: OpId,
+    found: bool,
+    pub(crate) visible: bool,
+    key: Option<Key>,
+}
+
+impl OpIdVisSearch {
+    pub(crate) fn new(target: OpId) -> Self {
+        OpIdVisSearch {
+            target,
+            found: false,
+            visible: true,
+            key: None,
+        }
+    }
+
+    pub(crate) fn key(&self) -> &Option<Key> {
+        &self.key
+    }
+}
+
+impl<'a> TreeQuery<'a> for OpIdVisSearch {
+    fn query_node(&mut self, child: &OpTreeNode, _ops: &[Op]) -> QueryResult {
+        if child.index.ops.contains(&self.target) {
+            QueryResult::Descend
+        } else {
+            QueryResult::Next
+        }
+    }
+
+    fn query_element(&mut self, element: &Op) -> QueryResult {
+        if element.id == self.target {
+            self.found = true;
+            self.key = Some(element.elemid_or_key());
+            if element.visible() {
+                QueryResult::Next
+            } else {
+                self.visible = false;
+                QueryResult::Finish
+            }
+        } else if self.found {
+            if self.key != Some(element.elemid_or_key()) {
+                QueryResult::Finish
+            } else if element.visible() {
+                self.visible = false;
+                QueryResult::Finish
+            } else {
+                QueryResult::Next
+            }
+        } else {
+            QueryResult::Next
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/prop.rs.html b/src/automerge/query/prop.rs.html new file mode 100644 index 00000000..1cd04ebf --- /dev/null +++ b/src/automerge/query/prop.rs.html @@ -0,0 +1,101 @@ +prop.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+
use crate::op_tree::{OpSetMetadata, OpTreeNode};
+use crate::query::{binary_search_by, QueryResult, TreeQuery};
+use crate::types::{Key, Op};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct Prop<'a> {
+    key: Key,
+    pub(crate) ops: Vec<&'a Op>,
+    pub(crate) ops_pos: Vec<usize>,
+    pub(crate) pos: usize,
+}
+
+impl<'a> Prop<'a> {
+    pub(crate) fn new(prop: usize) -> Self {
+        Prop {
+            key: Key::Map(prop),
+            ops: vec![],
+            ops_pos: vec![],
+            pos: 0,
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for Prop<'a> {
+    fn query_node_with_metadata(
+        &mut self,
+        child: &'a OpTreeNode,
+        m: &OpSetMetadata,
+        ops: &[Op],
+    ) -> QueryResult {
+        let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.key));
+        self.pos = start;
+        QueryResult::Skip(start)
+    }
+
+    fn query_element(&mut self, op: &'a Op) -> QueryResult {
+        // don't bother looking at things past our key
+        if op.key != self.key {
+            return QueryResult::Finish;
+        }
+        if op.visible() {
+            self.ops.push(op);
+            self.ops_pos.push(self.pos);
+        }
+        self.pos += 1;
+        QueryResult::Next
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/prop_at.rs.html b/src/automerge/query/prop_at.rs.html new file mode 100644 index 00000000..fddc45b5 --- /dev/null +++ b/src/automerge/query/prop_at.rs.html @@ -0,0 +1,129 @@ +prop_at.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+
use crate::op_tree::{OpSetMetadata, OpTreeNode};
+use crate::query::{binary_search_by, QueryResult, TreeQuery, VisWindow};
+use crate::types::{Clock, Key, Op};
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct PropAt {
+    clock: Clock,
+    key: Key,
+    pub(crate) ops: Vec<Op>,
+    pub(crate) ops_pos: Vec<usize>,
+    pub(crate) pos: usize,
+}
+
+impl PropAt {
+    pub(crate) fn new(prop: usize, clock: Clock) -> Self {
+        PropAt {
+            clock,
+            key: Key::Map(prop),
+            ops: vec![],
+            ops_pos: vec![],
+            pos: 0,
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for PropAt {
+    fn query_node_with_metadata(
+        &mut self,
+        child: &'a OpTreeNode,
+        m: &OpSetMetadata,
+        ops: &[Op],
+    ) -> QueryResult {
+        let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.key));
+        let mut window: VisWindow = Default::default();
+        self.pos = start;
+        for pos in start..child.len() {
+            let op = &ops[child.get(pos).unwrap()];
+            if op.key != self.key {
+                break;
+            }
+            if window.visible_at(op, pos, &self.clock) {
+                for (vpos, vop) in window.seen_op(op, pos) {
+                    if vop.is_counter() {
+                        // this could be out of order because of inc's - we can find the right place
+                        // since pos will always be in order
+                        let pos = self
+                            .ops_pos
+                            .binary_search_by(|probe| probe.cmp(&vpos))
+                            .unwrap_err();
+                        self.ops.insert(pos, vop);
+                        self.ops_pos.insert(pos, vpos);
+                    } else {
+                        self.ops.push(vop);
+                        self.ops_pos.push(vpos);
+                    }
+                }
+            }
+            self.pos += 1;
+        }
+        QueryResult::Finish
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/seek_op.rs.html b/src/automerge/query/seek_op.rs.html new file mode 100644 index 00000000..b5e1c540 --- /dev/null +++ b/src/automerge/query/seek_op.rs.html @@ -0,0 +1,497 @@ +seek_op.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+
use crate::op_tree::{OpSetMetadata, OpTreeNode};
+use crate::query::{binary_search_by, QueryResult, TreeQuery};
+use crate::types::{Key, Op, HEAD};
+use std::cmp::Ordering;
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct SeekOp<'a> {
+    /// the op we are looking for
+    op: &'a Op,
+    /// The position to insert at
+    pub(crate) pos: usize,
+    /// The indices of ops that this op overwrites
+    pub(crate) succ: Vec<usize>,
+    /// whether a position has been found
+    found: bool,
+}
+
+impl<'a> SeekOp<'a> {
+    pub(crate) fn new(op: &'a Op) -> Self {
+        SeekOp {
+            op,
+            succ: vec![],
+            pos: 0,
+            found: false,
+        }
+    }
+
+    fn lesser_insert(&self, op: &Op, m: &OpSetMetadata) -> bool {
+        op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less
+    }
+
+    fn greater_opid(&self, op: &Op, m: &OpSetMetadata) -> bool {
+        m.lamport_cmp(op.id, self.op.id) == Ordering::Greater
+    }
+
+    fn is_target_insert(&self, op: &Op) -> bool {
+        op.insert && op.elemid() == self.op.key.elemid()
+    }
+}
+
+impl<'a> TreeQuery<'a> for SeekOp<'a> {
+    fn query_node_with_metadata(
+        &mut self,
+        child: &OpTreeNode,
+        m: &OpSetMetadata,
+        ops: &[Op],
+    ) -> QueryResult {
+        if self.found {
+            return QueryResult::Descend;
+        }
+        match self.op.key {
+            Key::Seq(HEAD) => {
+                while self.pos < child.len() {
+                    let op = &ops[child.get(self.pos).unwrap()];
+                    if op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less {
+                        break;
+                    }
+                    self.pos += 1;
+                }
+                QueryResult::Finish
+            }
+            Key::Seq(e) => {
+                if child.index.ops.contains(&e.0) {
+                    QueryResult::Descend
+                } else {
+                    self.pos += child.len();
+                    QueryResult::Next
+                }
+            }
+            Key::Map(_) => {
+                let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.op.key));
+                self.pos = start;
+                QueryResult::Skip(start)
+            }
+        }
+    }
+
+    fn query_element_with_metadata(&mut self, e: &Op, m: &OpSetMetadata) -> QueryResult {
+        match self.op.key {
+            Key::Map(_) => {
+                // don't bother looking at things past our key
+                if e.key != self.op.key {
+                    return QueryResult::Finish;
+                }
+
+                if self.op.overwrites(e) {
+                    self.succ.push(self.pos);
+                }
+
+                if m.lamport_cmp(e.id, self.op.id) == Ordering::Greater {
+                    return QueryResult::Finish;
+                }
+
+                self.pos += 1;
+                QueryResult::Next
+            }
+            Key::Seq(_) => {
+                if !self.found {
+                    if self.is_target_insert(e) {
+                        self.found = true;
+                        if self.op.overwrites(e) {
+                            self.succ.push(self.pos);
+                        }
+                    }
+                    self.pos += 1;
+                    QueryResult::Next
+                } else {
+                    // we have already found the target
+                    if self.op.overwrites(e) {
+                        self.succ.push(self.pos);
+                    }
+                    if self.op.insert {
+                        if self.lesser_insert(e, m) {
+                            QueryResult::Finish
+                        } else {
+                            self.pos += 1;
+                            QueryResult::Next
+                        }
+                    } else if e.insert || self.greater_opid(e, m) {
+                        QueryResult::Finish
+                    } else {
+                        self.pos += 1;
+                        QueryResult::Next
+                    }
+                }
+            }
+        }
+    }
+}
+
+#[cfg(test)]
+pub(crate) mod tests {
+    use crate::{
+        op_set::OpSet,
+        op_tree::B,
+        query::SeekOp,
+        types::{Key, ObjId, Op, OpId},
+        ActorId, ScalarValue,
+    };
+
+    /// Create an optree in which the only visible ops are on the boundaries of the nodes,
+    /// i.e. the visible elements are in the internal nodes. Like so
+    ///
+    /// ```notrust
+    ///
+    ///                      .----------------------.
+    ///                      | id   |  key  |  succ |
+    ///                      | B    |  "a"  |       |
+    ///                      | 2B   |  "b"  |       |
+    ///                      '----------------------'
+    ///                           /      |      \
+    ///  ;------------------------.      |       `------------------------------------.
+    ///  | id     | op     | succ |      |       | id            | op     | succ      |
+    ///  | 0      |set "a" |  1   |      |       | 2B + 1        |set "c" |  2B + 2   |
+    ///  | 1      |set "a" |  2   |      |       | 2B + 2        |set "c" |  2B + 3   |
+    ///  | 2      |set "a" |  3   |      |       ...
+    ///  ...                             |       | 3B            |set "c" |           |
+    ///  | B - 1  |set "a" |  B   |      |       '------------------------------------'
+    ///  '--------'--------'------'      |
+    ///                                  |
+    ///                      .-----------------------------.
+    ///                      | id         |  key  |  succ  |
+    ///                      | B + 1      |  "b"  | B + 2  |
+    ///                      | B + 2      |  "b"  | B + 3  |
+    ///                      ....
+    ///                      | B + (B - 1 |  "b"  |   2B   |
+    ///                      '-----------------------------'
+    /// ```
+    ///
+    /// The important point here is that the leaf nodes contain no visible ops for keys "a" and
+    /// "b".
+    ///
+    /// # Returns
+    ///
+    /// The opset in question and an op which should be inserted at the next position after the
+    /// internally visible ops.
+    pub(crate) fn optree_with_only_internally_visible_ops() -> (OpSet, Op) {
+        let mut set = OpSet::new();
+        let actor = set.m.actors.cache(ActorId::random());
+        let a = set.m.props.cache("a".to_string());
+        let b = set.m.props.cache("b".to_string());
+        let c = set.m.props.cache("c".to_string());
+
+        let mut counter = 0;
+        // For each key insert `B` operations with the `pred` and `succ` setup such that the final
+        // operation for each key is the only visible op.
+        for key in [a, b, c] {
+            for iteration in 0..B {
+                // Generate a value to insert
+                let keystr = set.m.props.get(key);
+                let val = keystr.repeat(iteration + 1);
+
+                // Only the last op is visible
+                let pred = if iteration == 0 {
+                    Default::default()
+                } else {
+                    set.m
+                        .sorted_opids(vec![OpId::new(counter - 1, actor)].into_iter())
+                };
+
+                // only the last op is visible
+                let succ = if iteration == B - 1 {
+                    Default::default()
+                } else {
+                    set.m
+                        .sorted_opids(vec![OpId::new(counter, actor)].into_iter())
+                };
+
+                let op = Op {
+                    id: OpId::new(counter, actor),
+                    action: crate::OpType::Put(ScalarValue::Str(val.into())),
+                    key: Key::Map(key),
+                    succ,
+                    pred,
+                    insert: false,
+                };
+                set.insert(counter as usize, &ObjId::root(), op);
+                counter += 1;
+            }
+        }
+
+        // Now try and create an op which inserts at the next index of 'a'
+        let new_op = Op {
+            id: OpId::new(counter, actor),
+            action: crate::OpType::Put(ScalarValue::Str("test".into())),
+            key: Key::Map(a),
+            succ: Default::default(),
+            pred: set
+                .m
+                .sorted_opids(std::iter::once(OpId::new(B as u64 - 1, actor))),
+            insert: false,
+        };
+        (set, new_op)
+    }
+
+    #[test]
+    fn seek_on_page_boundary() {
+        let (set, new_op) = optree_with_only_internally_visible_ops();
+
+        let q = SeekOp::new(&new_op);
+        let q = set.search(&ObjId::root(), q);
+
+        // we've inserted `B - 1` elements for "a", so the index should be `B`
+        assert_eq!(q.pos, B);
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/query/seek_op_with_patch.rs.html b/src/automerge/query/seek_op_with_patch.rs.html new file mode 100644 index 00000000..0eea8f46 --- /dev/null +++ b/src/automerge/query/seek_op_with_patch.rs.html @@ -0,0 +1,585 @@ +seek_op_with_patch.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+
use crate::op_tree::{OpSetMetadata, OpTreeNode};
+use crate::query::{binary_search_by, QueryResult, TreeQuery};
+use crate::types::{Key, ListEncoding, Op, HEAD};
+use std::cmp::Ordering;
+use std::fmt::Debug;
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct SeekOpWithPatch<'a> {
+    op: Op,
+    pub(crate) pos: usize,
+    pub(crate) succ: Vec<usize>,
+    found: bool,
+    encoding: ListEncoding,
+    pub(crate) seen: usize,
+    pub(crate) last_width: usize,
+    last_seen: Option<Key>,
+    pub(crate) values: Vec<&'a Op>,
+    pub(crate) had_value_before: bool,
+}
+
+impl<'a> SeekOpWithPatch<'a> {
+    pub(crate) fn new(op: &Op, encoding: ListEncoding) -> Self {
+        SeekOpWithPatch {
+            op: op.clone(),
+            succ: vec![],
+            pos: 0,
+            found: false,
+            encoding,
+            seen: 0,
+            last_width: 0,
+            last_seen: None,
+            values: vec![],
+            had_value_before: false,
+        }
+    }
+
+    fn lesser_insert(&self, op: &Op, m: &OpSetMetadata) -> bool {
+        op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less
+    }
+
+    fn greater_opid(&self, op: &Op, m: &OpSetMetadata) -> bool {
+        m.lamport_cmp(op.id, self.op.id) == Ordering::Greater
+    }
+
+    fn is_target_insert(&self, op: &Op) -> bool {
+        op.insert && op.elemid() == self.op.key.elemid()
+    }
+
+    /// Keeps track of the number of visible list elements we have seen. Increments `self.seen` if
+    /// operation `e` associates a visible value with a list element, and if we have not already
+    /// counted that list element (this ensures that if a list element has several values, i.e.
+    /// a conflict, then it is still only counted once).
+    fn count_visible(&mut self, e: &Op) {
+        if e.elemid() == self.op.elemid() {
+            return;
+        }
+        if e.insert {
+            self.last_seen = None
+        }
+        if e.visible() && self.last_seen.is_none() {
+            self.seen += e.width(self.encoding);
+            self.last_seen = Some(e.elemid_or_key())
+        }
+    }
+}
+
+impl<'a> TreeQuery<'a> for SeekOpWithPatch<'a> {
+    fn query_node_with_metadata(
+        &mut self,
+        child: &'a OpTreeNode,
+        m: &OpSetMetadata,
+        ops: &[Op],
+    ) -> QueryResult {
+        if self.found {
+            return QueryResult::Descend;
+        }
+        match self.op.key {
+            // Special case for insertion at the head of the list (`e == HEAD` is only possible for
+            // an insertion operation). Skip over any list elements whose elemId is greater than
+            // the opId of the operation being inserted.
+            Key::Seq(e) if e == HEAD => {
+                while self.pos < child.len() {
+                    let op = &ops[child.get(self.pos).unwrap()];
+                    if op.insert && m.lamport_cmp(op.id, self.op.id) == Ordering::Less {
+                        break;
+                    }
+                    self.count_visible(op);
+                    self.pos += 1;
+                }
+                QueryResult::Finish
+            }
+
+            // Updating a list: search for the tree node that contains the new operation's
+            // reference element (i.e. the element we're updating or inserting after)
+            Key::Seq(e) => {
+                if self.found || child.index.ops.contains(&e.0) {
+                    QueryResult::Descend
+                } else {
+                    self.pos += child.len();
+
+                    // When we skip over a subtree, we need to count the number of visible list
+                    // elements we're skipping over. Each node stores the number of visible
+                    // elements it contains. However, it could happen that a visible element is
+                    // split across two tree nodes. To avoid double-counting in this situation, we
+                    // subtract one if the last visible element also appears in this tree node.
+                    let mut num_vis = child.index.visible_len(self.encoding);
+                    if num_vis > 0 {
+                        // FIXME: I think this is wrong: we should subtract one only if this
+                        // subtree contains a *visible* (i.e. empty succs) operation for the list
+                        // element with elemId `last_seen`; this will subtract one even if all
+                        // values for this list element have been deleted in this subtree.
+                        if let Some(last_seen) = self.last_seen {
+                            if child.index.has_visible(&last_seen) {
+                                num_vis -= 1;
+                            }
+                        }
+                        self.seen += num_vis;
+
+                        // FIXME: this is also wrong: `last_seen` needs to be the elemId of the
+                        // last *visible* list element in this subtree, but I think this returns
+                        // the last operation's elemId regardless of whether it's visible or not.
+                        // This will lead to incorrect counting if `last_seen` is not visible: it's
+                        // not counted towards `num_vis`, so we shouldn't be subtracting 1.
+                        self.last_seen = Some(ops[child.last()].elemid_or_key());
+                    }
+                    QueryResult::Next
+                }
+            }
+
+            // Updating a map: operations appear in sorted order by key
+            Key::Map(_) => {
+                let start = binary_search_by(child, ops, |op| m.key_cmp(&op.key, &self.op.key));
+                self.pos = start;
+                QueryResult::Skip(start)
+            }
+        }
+    }
+
+    // Only called when operating on a sequence (list/text) object, since updates of a map are
+    // handled in `query_node_with_metadata`.
+    fn query_element_with_metadata(&mut self, e: &'a Op, m: &OpSetMetadata) -> QueryResult {
+        match self.op.key {
+            Key::Map(_) => {
+                if !self.found {
+                    // Iterate over any existing operations for the same key; stop when we reach an
+                    // operation with a different key
+                    if e.key != self.op.key {
+                        return QueryResult::Finish;
+                    }
+
+                    // Keep track of any ops we're overwriting and any conflicts on this key
+                    if self.op.overwrites(e) {
+                        // when we encounter an increment op we also want to find the counter for
+                        // it.
+                        if self.op.is_inc() && e.is_counter() && e.visible() {
+                            self.values.push(e);
+                        }
+                        self.succ.push(self.pos);
+                        self.last_width = e.width(self.encoding);
+
+                        if e.visible() {
+                            self.had_value_before = true;
+                        }
+                    } else if e.visible() {
+                        self.values.push(e);
+                    }
+
+                    // Ops for the same key should be in ascending order of opId, so we break when
+                    // we reach an op with an opId greater than that of the new operation
+                    if m.lamport_cmp(e.id, self.op.id) == Ordering::Greater {
+                        self.found = true;
+                        return QueryResult::Next;
+                    }
+
+                    self.pos += 1;
+                } else {
+                    // For the purpose of reporting conflicts, we also need to take into account any
+                    // ops for the same key that appear after the new operation
+
+                    if e.key != self.op.key {
+                        return QueryResult::Finish;
+                    }
+                    // No need to check if `self.op.overwrites(op)` because an operation's `preds`
+                    // must always have lower Lamport timestamps than that op itself, and the ops
+                    // here all have greater opIds than the new op
+                    if e.visible() {
+                        self.values.push(e);
+                    }
+                }
+                QueryResult::Next
+            }
+            Key::Seq(_) => {
+                let result = if !self.found {
+                    // First search for the referenced list element (i.e. the element we're updating, or
+                    // after which we're inserting)
+                    if self.is_target_insert(e) {
+                        self.found = true;
+                        if self.op.overwrites(e) {
+                            // when we encounter an increment op we also want to find the counter for
+                            // it.
+                            if self.op.is_inc() && e.is_counter() && e.visible() {
+                                self.values.push(e);
+                            }
+                            self.succ.push(self.pos);
+                            self.last_width = e.width(self.encoding);
+                        }
+                        if e.visible() {
+                            self.had_value_before = true;
+                        }
+                    }
+                    self.pos += 1;
+                    QueryResult::Next
+                } else {
+                    // Once we've found the reference element, keep track of any ops that we're overwriting
+                    let overwritten = self.op.overwrites(e);
+                    if overwritten {
+                        // when we encounter an increment op we also want to find the counter for
+                        // it.
+                        if self.op.is_inc() && e.is_counter() && e.visible() {
+                            self.values.push(e);
+                        }
+                        self.succ.push(self.pos);
+                        self.last_width = e.width(self.encoding);
+                    }
+
+                    // If the new op is an insertion, skip over any existing list elements whose elemId is
+                    // greater than the ID of the new insertion
+                    if self.op.insert {
+                        if self.lesser_insert(e, m) {
+                            // Insert before the first existing list element whose elemId is less than that
+                            // of the new insertion
+                            QueryResult::Finish
+                        } else {
+                            self.pos += 1;
+                            QueryResult::Next
+                        }
+                    } else if e.insert {
+                        // If the new op is an update of an existing list element, the first insertion op
+                        // we encounter after the reference element indicates the end of the reference elem
+                        QueryResult::Finish
+                    } else {
+                        // When updating an existing list element, keep track of any conflicts on this list
+                        // element. We also need to remember if the list element had any visible elements
+                        // prior to applying the new operation: if not, the new operation is resurrecting
+                        // a deleted list element, so it looks like an insertion in the patch.
+                        if e.visible() {
+                            self.had_value_before = true;
+                            if !overwritten {
+                                self.values.push(e);
+                            }
+                        }
+
+                        // We now need to put the ops for the same list element into ascending order, so we
+                        // skip over any ops whose ID is less than that of the new operation.
+                        if !self.greater_opid(e, m) {
+                            self.pos += 1;
+                        }
+                        QueryResult::Next
+                    }
+                };
+
+                // The patch needs to know the list index of each operation, so we count the number of
+                // visible list elements up to the insertion position of the new operation
+                if result == QueryResult::Next {
+                    self.count_visible(e);
+                }
+                result
+            }
+        }
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::{super::seek_op::tests::optree_with_only_internally_visible_ops, SeekOpWithPatch};
+    use crate::{
+        op_tree::B,
+        types::{ListEncoding, ObjId},
+    };
+
+    #[test]
+    fn test_insert_on_internal_only_nodes() {
+        let (set, new_op) = optree_with_only_internally_visible_ops();
+
+        let q = SeekOpWithPatch::new(&new_op, ListEncoding::List);
+        let q = set.search(&ObjId::root(), q);
+
+        // we've inserted `B - 1` elements for "a", so the index should be `B`
+        assert_eq!(q.pos, B);
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/read.rs.html b/src/automerge/read.rs.html new file mode 100644 index 00000000..c0387bf0 --- /dev/null +++ b/src/automerge/read.rs.html @@ -0,0 +1,401 @@ +read.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+
use crate::{
+    error::AutomergeError, exid::ExId, keys::Keys, keys_at::KeysAt, list_range::ListRange,
+    list_range_at::ListRangeAt, map_range::MapRange, map_range_at::MapRangeAt, parents::Parents,
+    values::Values, Change, ChangeHash, ObjType, Prop, Value,
+};
+
+use std::ops::RangeBounds;
+
+/// Methods for reading values from an automerge document
+///
+/// Many of the methods on this trait have an alternate `*_at` version which
+/// takes an additional argument of `&[ChangeHash]`. This allows you to retrieve
+/// the value at a particular point in the document history identified by the
+/// given change hashes.
+pub trait ReadDoc {
+    /// Get the parents of an object in the document tree.
+    ///
+    /// See the documentation for [`Parents`] for more details.
+    ///
+    /// ### Errors
+    ///
+    /// Returns an error when the id given is not the id of an object in this document.
+    /// This function does not get the parents of scalar values contained within objects.
+    ///
+    /// ### Experimental
+    ///
+    /// This function may in future be changed to allow getting the parents from the id of a scalar
+    /// value.
+    fn parents<O: AsRef<ExId>>(&self, obj: O) -> Result<Parents<'_>, AutomergeError>;
+
+    /// Get the path to an object
+    ///
+    /// "path" here means the sequence of `(object Id, key)` pairs which leads
+    /// to the object in question.
+    ///
+    /// ### Errors
+    ///
+    /// * If the object ID `obj` is not in the document
+    fn path_to_object<O: AsRef<ExId>>(&self, obj: O) -> Result<Vec<(ExId, Prop)>, AutomergeError>;
+
+    /// Get the keys of the object `obj`.
+    ///
+    /// For a map this returns the keys of the map.
+    /// For a list this returns the element ids (opids) encoded as strings.
+    fn keys<O: AsRef<ExId>>(&self, obj: O) -> Keys<'_, '_>;
+
+    /// Get the keys of the object `obj` as at `heads`
+    ///
+    /// See [`Self::keys`]
+    fn keys_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_>;
+
+    /// Iterate over the keys and values of the map `obj` in the given range.
+    ///
+    /// If the object correspoding to `obj` is a list then this will return an empty iterator
+    ///
+    /// The returned iterator yields `(key, value, exid)` tuples, where the
+    /// third element is the ID of the operation which created the value.
+    fn map_range<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> MapRange<'_, R>;
+
+    /// Iterate over the keys and values of the map `obj` in the given range as
+    /// at `heads`
+    ///
+    /// If the object correspoding to `obj` is a list then this will return an empty iterator
+    ///
+    /// The returned iterator yields `(key, value, exid)` tuples, where the
+    /// third element is the ID of the operation which created the value.
+    ///
+    /// See [`Self::map_range`]
+    fn map_range_at<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> MapRangeAt<'_, R>;
+
+    /// Iterate over the indexes and values of the list or text `obj` in the given range.
+    ///
+    /// The reuturned iterator yields `(index, value, exid)` tuples, where the third
+    /// element is the ID of the operation which created the value.
+    fn list_range<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> ListRange<'_, R>;
+
+    /// Iterate over the indexes and values of the list or text `obj` in the given range as at `heads`
+    ///
+    /// The returned iterator yields `(index, value, exid)` tuples, where the third
+    /// element is the ID of the operation which created the value.
+    ///
+    /// See [`Self::list_range`]
+    fn list_range_at<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> ListRangeAt<'_, R>;
+
+    /// Iterate over the values in a map, list, or text object
+    ///
+    /// The returned iterator yields `(value, exid)` tuples, where the second element
+    /// is the ID of the operation which created the value.
+    fn values<O: AsRef<ExId>>(&self, obj: O) -> Values<'_>;
+
+    /// Iterate over the values in a map, list, or text object as at `heads`
+    ///
+    /// The returned iterator yields `(value, exid)` tuples, where the second element
+    /// is the ID of the operation which created the value.
+    ///
+    /// See [`Self::values`]
+    fn values_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_>;
+
+    /// Get the length of the given object.
+    ///
+    /// If the given object is not in this document this method will return `0`
+    fn length<O: AsRef<ExId>>(&self, obj: O) -> usize;
+
+    /// Get the length of the given object as at `heads`
+    ///
+    /// If the given object is not in this document this method will return `0`
+    ///
+    /// See [`Self::length`]
+    fn length_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> usize;
+
+    /// Get the type of this object, if it is an object.
+    fn object_type<O: AsRef<ExId>>(&self, obj: O) -> Result<ObjType, AutomergeError>;
+
+    /// Get the string represented by the given text object.
+    fn text<O: AsRef<ExId>>(&self, obj: O) -> Result<String, AutomergeError>;
+
+    /// Get the string represented by the given text object as at `heads`, see
+    /// [`Self::text`]
+    fn text_at<O: AsRef<ExId>>(
+        &self,
+        obj: O,
+        heads: &[ChangeHash],
+    ) -> Result<String, AutomergeError>;
+
+    /// Get a value out of the document.
+    ///
+    /// This returns a tuple of `(value, object ID)`. This is for two reasons:
+    ///
+    /// 1. If `value` is an object (represented by `Value::Object`) then the ID
+    ///    is the ID of that object. This can then be used to retrieve nested
+    ///    values from the document.
+    /// 2. Even if `value` is a scalar, the ID represents the operation which
+    ///    created the value. This is useful if there are conflicting values for
+    ///    this key as each value is tagged with the ID.
+    ///
+    /// In the case of a key which has conflicting values, this method will
+    /// return a single arbitrarily chosen value. This value will be chosen
+    /// deterministically on all nodes. If you want to get all the values for a
+    /// key use [`Self::get_all`].
+    fn get<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError>;
+
+    /// Get the value of the given key as at `heads`, see `[Self::get]`
+    fn get_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError>;
+
+    /// Get all conflicting values out of the document at this prop that conflict.
+    ///
+    /// If there are multiple conflicting values for a given key this method
+    /// will return all of them, with each value tagged by the ID of the
+    /// operation which created it.
+    fn get_all<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError>;
+
+    /// Get all possibly conflicting values for a key as at `heads`
+    ///
+    /// See `[Self::get_all]`
+    fn get_all_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError>;
+
+    /// Get the hashes of the changes in this document that aren't transitive dependencies of the
+    /// given `heads`.
+    fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec<ChangeHash>;
+
+    /// Get a change by its hash.
+    fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&Change>;
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage.rs.html b/src/automerge/storage.rs.html new file mode 100644 index 00000000..2f9f96ed --- /dev/null +++ b/src/automerge/storage.rs.html @@ -0,0 +1,51 @@ +storage.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+
use std::ops::Range;
+
+pub(crate) mod change;
+mod chunk;
+mod columns;
+pub(crate) mod convert;
+mod document;
+pub(crate) mod load;
+pub(crate) mod parse;
+pub(crate) mod save;
+
+pub(crate) use {
+    change::{AsChangeOp, Change, ChangeOp, Compressed, ReadChangeOpError},
+    chunk::{CheckSum, Chunk, ChunkType, Header},
+    columns::{Columns, MismatchingColumn, RawColumn, RawColumns},
+    document::{AsChangeMeta, AsDocOp, ChangeMetadata, CompressConfig, DocOp, Document},
+    load::VerificationMode,
+};
+
+fn shift_range(range: Range<usize>, by: usize) -> Range<usize> {
+    range.start + by..range.end + by
+}
+
+pub(crate) const MAGIC_BYTES: [u8; 4] = [0x85, 0x6f, 0x4a, 0x83];
+
+
\ No newline at end of file diff --git a/src/automerge/storage/change.rs.html b/src/automerge/storage/change.rs.html new file mode 100644 index 00000000..64618624 --- /dev/null +++ b/src/automerge/storage/change.rs.html @@ -0,0 +1,1025 @@ +change.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+
use std::{borrow::Cow, io::Write, marker::PhantomData, num::NonZeroU64, ops::Range};
+
+use crate::{convert, ActorId, ChangeHash, ScalarValue};
+
+use super::{parse, shift_range, CheckSum, ChunkType, Columns, Header, RawColumns};
+
+mod change_op_columns;
+use change_op_columns::ChangeOpsColumns;
+pub(crate) use change_op_columns::{ChangeOp, ReadChangeOpError};
+
+mod change_actors;
+pub(crate) use change_actors::PredOutOfOrder;
+mod compressed;
+mod op_with_change_actors;
+pub(crate) use compressed::Compressed;
+
+pub(crate) const DEFLATE_MIN_SIZE: usize = 256;
+
+/// Changes present an iterator over the operations encoded in them. Before we have read these
+/// changes we don't know if they are valid, so we expose an iterator with items which are
+/// `Result`s. However, frequently we know that the changes are valid, this trait is used as a
+/// witness that we have verified the operations in a change so we can expose an iterator which
+/// does not return `Results`
+pub(crate) trait OpReadState {}
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct Verified;
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct Unverified;
+impl OpReadState for Verified {}
+impl OpReadState for Unverified {}
+
+/// A `Change` is the result of parsing a change chunk as specified in [1]
+///
+/// The type parameter to this type represents whether or not operation have been "verified".
+/// Operations in a change chunk are stored in a compressed column oriented storage format. In
+/// general there is no guarantee that this storage is valid. Therefore we use the `OpReadState`
+/// type parameter to distinguish between contexts where we know that the ops are valid and those
+/// where we don't. The `Change::verify_ops` method can be used to obtain a verified `Change` which
+/// can provide an iterator over `ChangeOp`s directly, rather than over `Result<ChangeOp,
+/// ReadChangeOpError>`.
+///
+/// [1]: https://alexjg.github.io/automerge-storage-docs/#change-chunks
+#[derive(Clone, Debug)]
+pub(crate) struct Change<'a, O: OpReadState> {
+    /// The raw bytes of the entire chunk containing this change, including the header.
+    bytes: Cow<'a, [u8]>,
+    header: Header,
+    dependencies: Vec<ChangeHash>,
+    actor: ActorId,
+    other_actors: Vec<ActorId>,
+    seq: u64,
+    start_op: NonZeroU64,
+    timestamp: i64,
+    message: Option<String>,
+    ops_meta: ChangeOpsColumns,
+    /// The range in `Self::bytes` where the ops column data is
+    ops_data: Range<usize>,
+    extra_bytes: Range<usize>,
+    _phantom: PhantomData<O>,
+}
+
+impl<'a, O: OpReadState> PartialEq for Change<'a, O> {
+    fn eq(&self, other: &Self) -> bool {
+        self.bytes == other.bytes
+    }
+}
+
+#[derive(thiserror::Error, Debug)]
+pub(crate) enum ParseError {
+    #[error(transparent)]
+    Leb128(#[from] parse::leb128::Error),
+    #[error(transparent)]
+    InvalidUtf8(#[from] parse::InvalidUtf8),
+    #[error("failed to parse change columns: {0}")]
+    RawColumns(#[from] crate::storage::columns::raw_column::ParseError),
+    #[error("failed to parse header: {0}")]
+    Header(#[from] super::chunk::error::Header),
+    #[error("change contained compressed columns")]
+    CompressedChangeCols,
+    #[error("invalid change cols: {0}")]
+    InvalidColumns(Box<dyn std::error::Error + Send + Sync + 'static>),
+}
+
+impl<'a> Change<'a, Unverified> {
+    pub(crate) fn parse(
+        input: parse::Input<'a>,
+    ) -> parse::ParseResult<'a, Change<'a, Unverified>, ParseError> {
+        // TODO(alex): check chunk type
+        let (i, header) = Header::parse(input)?;
+        let parse::Split {
+            first: chunk_input,
+            remaining,
+        } = i.split(header.data_bytes().len());
+        let (_, change) = Self::parse_following_header(chunk_input, header)?;
+        Ok((remaining, change))
+    }
+
+    /// Parse a change chunk. `input` should be the entire chunk, including the header bytes.
+    pub(crate) fn parse_following_header(
+        input: parse::Input<'a>,
+        header: Header,
+    ) -> parse::ParseResult<'_, Change<'a, Unverified>, ParseError> {
+        let (i, deps) = parse::length_prefixed(parse::change_hash)(input)?;
+        let (i, actor) = parse::actor_id(i)?;
+        let (i, seq) = parse::leb128_u64(i)?;
+        let (i, start_op) = parse::nonzero_leb128_u64(i)?;
+        let (i, timestamp) = parse::leb128_i64(i)?;
+        let (i, message_len) = parse::leb128_u64(i)?;
+        let (i, message) = parse::utf_8(message_len as usize, i)?;
+        let (i, other_actors) = parse::length_prefixed(parse::actor_id)(i)?;
+        let (i, ops_meta) = RawColumns::parse(i)?;
+        let (
+            i,
+            parse::RangeOf {
+                range: ops_data, ..
+            },
+        ) = parse::range_of(|i| parse::take_n(ops_meta.total_column_len(), i), i)?;
+
+        let (
+            _i,
+            parse::RangeOf {
+                range: extra_bytes, ..
+            },
+        ) = parse::range_of(parse::take_rest, i)?;
+
+        let ops_meta = ops_meta
+            .uncompressed()
+            .ok_or(parse::ParseError::Error(ParseError::CompressedChangeCols))?;
+        let col_layout = Columns::parse(ops_data.len(), ops_meta.iter())
+            .map_err(|e| parse::ParseError::Error(ParseError::InvalidColumns(Box::new(e))))?;
+        let ops_meta = ChangeOpsColumns::try_from(col_layout)
+            .map_err(|e| parse::ParseError::Error(ParseError::InvalidColumns(Box::new(e))))?;
+
+        Ok((
+            parse::Input::empty(),
+            Change {
+                bytes: input.bytes().into(),
+                header,
+                dependencies: deps,
+                actor,
+                other_actors,
+                seq,
+                start_op,
+                timestamp,
+                message: if message.is_empty() {
+                    None
+                } else {
+                    Some(message)
+                },
+                ops_meta,
+                ops_data,
+                extra_bytes,
+                _phantom: PhantomData,
+            },
+        ))
+    }
+
+    /// Iterate over the ops in this chunk. The iterator will return an error if any of the ops are
+    /// malformed.
+    pub(crate) fn iter_ops(
+        &'a self,
+    ) -> impl Iterator<Item = Result<ChangeOp, ReadChangeOpError>> + Clone + 'a {
+        self.ops_meta.iter(self.ops_data())
+    }
+
+    /// Verify all the ops in this change executing `f` for each one
+    ///
+    /// `f` will be called for each op in this change, allowing callers to collect additional
+    /// information about the ops (e.g. all the actor IDs in the change, or the number of ops)
+    ///
+    /// # Errors
+    /// * If there is an error reading an operation
+    pub(crate) fn verify_ops<F: FnMut(ChangeOp)>(
+        self,
+        mut f: F,
+    ) -> Result<Change<'a, Verified>, ReadChangeOpError> {
+        for op in self.iter_ops() {
+            f(op?);
+        }
+        if u32::try_from(u64::from(self.start_op)).is_err() {
+            return Err(ReadChangeOpError::CounterTooLarge);
+        }
+        Ok(Change {
+            bytes: self.bytes,
+            header: self.header,
+            dependencies: self.dependencies,
+            actor: self.actor,
+            other_actors: self.other_actors,
+            seq: self.seq,
+            start_op: self.start_op,
+            timestamp: self.timestamp,
+            message: self.message,
+            ops_meta: self.ops_meta,
+            ops_data: self.ops_data,
+            extra_bytes: self.extra_bytes,
+            _phantom: PhantomData,
+        })
+    }
+}
+
+impl<'a> Change<'a, Verified> {
+    pub(crate) fn builder() -> ChangeBuilder<Unset, Unset, Unset, Unset> {
+        ChangeBuilder::new()
+    }
+
+    pub(crate) fn iter_ops(&'a self) -> impl Iterator<Item = ChangeOp> + Clone + 'a {
+        // SAFETY: This unwrap is okay because a `Change<'_, Verified>` can only be constructed
+        // using either `verify_ops` or `Builder::build`, so we know the ops columns are valid.
+        self.ops_meta.iter(self.ops_data()).map(|o| o.unwrap())
+    }
+}
+
+impl<'a, O: OpReadState> Change<'a, O> {
+    pub(crate) fn checksum(&self) -> CheckSum {
+        self.header.checksum()
+    }
+
+    pub(crate) fn actor(&self) -> &ActorId {
+        &self.actor
+    }
+    pub(crate) fn other_actors(&self) -> &[ActorId] {
+        &self.other_actors
+    }
+
+    pub(crate) fn start_op(&self) -> NonZeroU64 {
+        self.start_op
+    }
+
+    pub(crate) fn message(&self) -> &Option<String> {
+        &self.message
+    }
+
+    pub(crate) fn dependencies(&self) -> &[ChangeHash] {
+        &self.dependencies
+    }
+
+    pub(crate) fn seq(&self) -> u64 {
+        self.seq
+    }
+
+    pub(crate) fn timestamp(&self) -> i64 {
+        self.timestamp
+    }
+
+    pub(crate) fn extra_bytes(&self) -> &[u8] {
+        &self.bytes[self.extra_bytes.clone()]
+    }
+
+    pub(crate) fn checksum_valid(&self) -> bool {
+        self.header.checksum_valid()
+    }
+
+    pub(crate) fn body_bytes(&self) -> &[u8] {
+        &self.bytes[self.header.len()..]
+    }
+
+    pub(crate) fn bytes(&self) -> &[u8] {
+        &self.bytes
+    }
+
+    pub(crate) fn hash(&self) -> ChangeHash {
+        self.header.hash()
+    }
+
+    pub(crate) fn ops_data(&self) -> &[u8] {
+        &self.bytes[self.ops_data.clone()]
+    }
+
+    pub(crate) fn into_owned(self) -> Change<'static, O> {
+        Change {
+            dependencies: self.dependencies,
+            bytes: Cow::Owned(self.bytes.into_owned()),
+            header: self.header,
+            actor: self.actor,
+            other_actors: self.other_actors,
+            seq: self.seq,
+            start_op: self.start_op,
+            timestamp: self.timestamp,
+            message: self.message,
+            ops_meta: self.ops_meta,
+            ops_data: self.ops_data,
+            extra_bytes: self.extra_bytes,
+            _phantom: PhantomData,
+        }
+    }
+
+    pub(crate) fn compress(&self) -> Option<Compressed<'static>> {
+        if self.bytes.len() > DEFLATE_MIN_SIZE {
+            Some(Compressed::compress(self))
+        } else {
+            None
+        }
+    }
+}
+
+fn length_prefixed_bytes<B: AsRef<[u8]>>(b: B, out: &mut Vec<u8>) -> usize {
+    let prefix_len = leb128::write::unsigned(out, b.as_ref().len() as u64).unwrap();
+    out.write_all(b.as_ref()).unwrap();
+    prefix_len + b.as_ref().len()
+}
+
+// Bunch of type safe builder boilerplate
+pub(crate) struct Unset;
+pub(crate) struct Set<T> {
+    value: T,
+}
+
+#[allow(non_camel_case_types)]
+pub(crate) struct ChangeBuilder<START_OP, ACTOR, SEQ, TIME> {
+    dependencies: Vec<ChangeHash>,
+    actor: ACTOR,
+    seq: SEQ,
+    start_op: START_OP,
+    timestamp: TIME,
+    message: Option<String>,
+    extra_bytes: Option<Vec<u8>>,
+}
+
+impl ChangeBuilder<Unset, Unset, Unset, Unset> {
+    pub(crate) fn new() -> Self {
+        Self {
+            dependencies: vec![],
+            actor: Unset,
+            seq: Unset,
+            start_op: Unset,
+            timestamp: Unset,
+            message: None,
+            extra_bytes: None,
+        }
+    }
+}
+
+#[allow(non_camel_case_types)]
+impl<START_OP, ACTOR, SEQ, TIME> ChangeBuilder<START_OP, ACTOR, SEQ, TIME> {
+    pub(crate) fn with_dependencies(self, mut dependencies: Vec<ChangeHash>) -> Self {
+        dependencies.sort_unstable();
+        Self {
+            dependencies,
+            ..self
+        }
+    }
+
+    pub(crate) fn with_message(self, message: Option<String>) -> Self {
+        Self { message, ..self }
+    }
+
+    pub(crate) fn with_extra_bytes(self, extra_bytes: Vec<u8>) -> Self {
+        Self {
+            extra_bytes: Some(extra_bytes),
+            ..self
+        }
+    }
+}
+
+#[allow(non_camel_case_types)]
+impl<START_OP, ACTOR, TIME> ChangeBuilder<START_OP, ACTOR, Unset, TIME> {
+    pub(crate) fn with_seq(self, seq: u64) -> ChangeBuilder<START_OP, ACTOR, Set<u64>, TIME> {
+        ChangeBuilder {
+            dependencies: self.dependencies,
+            actor: self.actor,
+            seq: Set { value: seq },
+            start_op: self.start_op,
+            timestamp: self.timestamp,
+            message: self.message,
+            extra_bytes: self.extra_bytes,
+        }
+    }
+}
+
+#[allow(non_camel_case_types)]
+impl<START_OP, SEQ, TIME> ChangeBuilder<START_OP, Unset, SEQ, TIME> {
+    pub(crate) fn with_actor(
+        self,
+        actor: ActorId,
+    ) -> ChangeBuilder<START_OP, Set<ActorId>, SEQ, TIME> {
+        ChangeBuilder {
+            dependencies: self.dependencies,
+            actor: Set { value: actor },
+            seq: self.seq,
+            start_op: self.start_op,
+            timestamp: self.timestamp,
+            message: self.message,
+            extra_bytes: self.extra_bytes,
+        }
+    }
+}
+
+impl<ACTOR, SEQ, TIME> ChangeBuilder<Unset, ACTOR, SEQ, TIME> {
+    pub(crate) fn with_start_op(
+        self,
+        start_op: NonZeroU64,
+    ) -> ChangeBuilder<Set<NonZeroU64>, ACTOR, SEQ, TIME> {
+        ChangeBuilder {
+            dependencies: self.dependencies,
+            actor: self.actor,
+            seq: self.seq,
+            start_op: Set { value: start_op },
+            timestamp: self.timestamp,
+            message: self.message,
+            extra_bytes: self.extra_bytes,
+        }
+    }
+}
+
+#[allow(non_camel_case_types)]
+impl<START_OP, ACTOR, SEQ> ChangeBuilder<START_OP, ACTOR, SEQ, Unset> {
+    pub(crate) fn with_timestamp(self, time: i64) -> ChangeBuilder<START_OP, ACTOR, SEQ, Set<i64>> {
+        ChangeBuilder {
+            dependencies: self.dependencies,
+            actor: self.actor,
+            seq: self.seq,
+            start_op: self.start_op,
+            timestamp: Set { value: time },
+            message: self.message,
+            extra_bytes: self.extra_bytes,
+        }
+    }
+}
+
+/// A row to be encoded as a change op
+///
+/// The lifetime `'a` is the lifetime of the value and key data types. For types which cannot
+/// provide a reference (e.g. because they are decoding from some columnar storage on each
+/// iteration) this should be `'static`.
+pub(crate) trait AsChangeOp<'a> {
+    /// The type of the Actor ID component of the op IDs for this impl. This is typically either
+    /// `&'a ActorID` or `usize`
+    type ActorId;
+    /// The type of the op IDs this impl produces.
+    type OpId: convert::OpId<Self::ActorId>;
+    /// The type of the predecessor iterator returned by `Self::pred`. This can often be omitted
+    type PredIter: Iterator<Item = Self::OpId> + ExactSizeIterator;
+
+    fn obj(&self) -> convert::ObjId<Self::OpId>;
+    fn key(&self) -> convert::Key<'a, Self::OpId>;
+    fn insert(&self) -> bool;
+    fn action(&self) -> u64;
+    fn val(&self) -> Cow<'a, ScalarValue>;
+    fn pred(&self) -> Self::PredIter;
+}
+
+impl ChangeBuilder<Set<NonZeroU64>, Set<ActorId>, Set<u64>, Set<i64>> {
+    pub(crate) fn build<'a, A, I, O>(
+        self,
+        ops: I,
+    ) -> Result<Change<'static, Verified>, PredOutOfOrder>
+    where
+        A: AsChangeOp<'a, OpId = O> + 'a,
+        O: convert::OpId<&'a ActorId> + 'a,
+        I: Iterator<Item = A> + Clone + 'a,
+    {
+        let mut col_data = Vec::new();
+        let actors = change_actors::ChangeActors::new(self.actor.value, ops)?;
+        let cols = ChangeOpsColumns::encode(actors.iter(), &mut col_data);
+
+        let (actor, other_actors) = actors.done();
+
+        let mut data = Vec::with_capacity(col_data.len());
+        leb128::write::unsigned(&mut data, self.dependencies.len() as u64).unwrap();
+        for dep in &self.dependencies {
+            data.write_all(dep.as_bytes()).unwrap();
+        }
+        length_prefixed_bytes(&actor, &mut data);
+        leb128::write::unsigned(&mut data, self.seq.value).unwrap();
+        leb128::write::unsigned(&mut data, self.start_op.value.into()).unwrap();
+        leb128::write::signed(&mut data, self.timestamp.value).unwrap();
+        length_prefixed_bytes(
+            self.message.as_ref().map(|m| m.as_bytes()).unwrap_or(&[]),
+            &mut data,
+        );
+        leb128::write::unsigned(&mut data, other_actors.len() as u64).unwrap();
+        for actor in other_actors.iter() {
+            length_prefixed_bytes(actor, &mut data);
+        }
+        cols.raw_columns().write(&mut data);
+        let ops_data_start = data.len();
+        let ops_data = ops_data_start..(ops_data_start + col_data.len());
+
+        data.extend(col_data);
+        let extra_bytes =
+            data.len()..(data.len() + self.extra_bytes.as_ref().map(|e| e.len()).unwrap_or(0));
+        if let Some(extra) = self.extra_bytes {
+            data.extend(extra);
+        }
+
+        let header = Header::new(ChunkType::Change, &data);
+
+        let mut bytes = Vec::with_capacity(header.len() + data.len());
+        header.write(&mut bytes);
+        bytes.extend(data);
+
+        let ops_data = shift_range(ops_data, header.len());
+        let extra_bytes = shift_range(extra_bytes, header.len());
+
+        Ok(Change {
+            bytes: Cow::Owned(bytes),
+            header,
+            dependencies: self.dependencies,
+            actor,
+            other_actors,
+            seq: self.seq.value,
+            start_op: self.start_op.value,
+            timestamp: self.timestamp.value,
+            message: self.message,
+            ops_meta: cols,
+            ops_data,
+            extra_bytes,
+            _phantom: PhantomData,
+        })
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/change/change_actors.rs.html b/src/automerge/storage/change/change_actors.rs.html new file mode 100644 index 00000000..9eaaccdd --- /dev/null +++ b/src/automerge/storage/change/change_actors.rs.html @@ -0,0 +1,611 @@ +change_actors.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+
use std::collections::{BTreeMap, BTreeSet};
+
+use crate::convert;
+
+use super::AsChangeOp;
+
+/// This struct represents the ordering of actor indices in a change chunk. Operations in a change
+/// chunk are encoded with the actor ID represented as an offset into an array of actors which are
+/// encoded at the start of the chunk. This array is in a specific order: the author of the change
+/// is always the first actor, then all other actors referenced in a change are encoded in
+/// lexicographic order.
+///
+/// The intended usage is to construct a `ChangeActors` from an iterator over `AsChangeOp` where
+/// the `ActorId` of the `AsChangeOp` implementation is the original actor ID. The resulting
+/// `ChangeActors` implements `Iterator` where the `item` implements
+/// `AsChangeOp<OpId=convert::OpId<usize>>`, which can be passed to `ChangeOpColumns::encode`.
+///
+/// Once encoding is complete you can use `ChangeActors::done` to retrieve the original actor and the
+/// other actors in the change.
+///
+/// # Note on type parameters
+///
+/// The type paramters are annoying, they basically exist because we can't have generic associated
+/// types, so we have to feed the concrete types of the associated types of the `AsChangeOp`
+/// implementation through here. Here's what they all refer to:
+///
+/// * A - The type of the actor ID used in the operation IDs of the incoming changes
+/// * I - The type of the iterator over the `AsChangeOp` implementation of the incoming changes
+/// * O - The concrete type of the operation ID which implementas `convert::OpId`
+/// * C - The concrete type (which implements `AsChangeOp`) of the incoming changes
+/// * 'a - The lifetime bound for the AsChangeOp trait and it's associated types
+///
+/// Maybe when GATs land we can make this simpler.
+pub(crate) struct ChangeActors<'a, ActorId, I, O, C> {
+    actor: ActorId,
+    other_actors: Vec<ActorId>,
+    index: BTreeMap<ActorId, usize>,
+    wrapped: I,
+    num_ops: usize,
+    _phantom: std::marker::PhantomData<(&'a O, C)>,
+}
+
+#[derive(thiserror::Error, Debug)]
+#[error("actor index {0} referenced by an operation was not found in the changes")]
+pub(crate) struct MissingActor(usize);
+
+#[derive(Debug, thiserror::Error)]
+#[error("pred OpIds out of order")]
+pub(crate) struct PredOutOfOrder;
+
+impl<'a, A, I, O, C> ChangeActors<'a, A, I, O, C>
+where
+    A: PartialEq + Ord + Clone + std::hash::Hash + 'static,
+    O: convert::OpId<&'a A> + 'a,
+    C: AsChangeOp<'a, OpId = O> + 'a,
+    I: Iterator<Item = C> + Clone + 'a,
+{
+    /// Create a new change actor mapping
+    ///
+    /// # Arguments
+    /// * actor - the actor ID of the actor who authored this change
+    /// * ops - an iterator containing the operations which will be encoded into the change
+    ///
+    /// # Errors
+    /// * If one of the ops herein contains a `pred` with ops which are not in lamport timestamp
+    ///   order
+    pub(crate) fn new(actor: A, ops: I) -> Result<ChangeActors<'a, A, I, O, C>, PredOutOfOrder> {
+        // Change actors indices are encoded with the 0th element being the actor who authored the
+        // change and all other actors referenced in the chain following the author in
+        // lexicographic order. Here we collect all the actors referenced by operations in `ops`
+        let (num_ops, mut other_actors) =
+            ops.clone()
+                .try_fold((0, BTreeSet::new()), |(count, mut acc), op| {
+                    if let convert::Key::Elem(convert::ElemId::Op(o)) = op.key() {
+                        if o.actor() != &actor {
+                            acc.insert(o.actor());
+                        }
+                    }
+
+                    if !are_sorted(op.pred()) {
+                        return Err(PredOutOfOrder);
+                    }
+                    for pred in op.pred() {
+                        if pred.actor() != &actor {
+                            acc.insert(pred.actor());
+                        }
+                    }
+                    if let convert::ObjId::Op(o) = op.obj() {
+                        if o.actor() != &actor {
+                            acc.insert(o.actor());
+                        }
+                    }
+                    Ok((count + 1, acc))
+                })?;
+        // This shouldn't be necessary but just in case
+        other_actors.remove(&actor);
+        let mut other_actors = other_actors.into_iter().cloned().collect::<Vec<_>>();
+        other_actors.sort();
+        let index = std::iter::once(actor.clone())
+            .chain(other_actors.clone().into_iter())
+            .enumerate()
+            .map(|(idx, actor)| (actor, idx))
+            .collect();
+        Ok(ChangeActors {
+            actor,
+            other_actors,
+            index,
+            wrapped: ops,
+            num_ops,
+            _phantom: std::marker::PhantomData,
+        })
+    }
+
+    /// Translate an OpID from the OpSet index to the change index
+    fn translate_opid(&self, opid: &O) -> ChangeOpId {
+        ChangeOpId {
+            actor: *self.index.get(opid.actor()).unwrap(),
+            counter: opid.counter(),
+        }
+    }
+
+    /// Returns a clonable iterator over the converted operations. The item of the iterator is an
+    /// implementation of `AsChangeOp` which uses the index of the actor of each operation into the
+    /// actors as encoded in a change. This is suitable for passing to `ChangeOpColumns::encode`
+    pub(crate) fn iter<'b>(&'b self) -> WithChangeActorsOpIter<'b, 'a, A, I, O, C> {
+        WithChangeActorsOpIter {
+            change_actors: self,
+            inner: self.wrapped.clone(),
+        }
+    }
+
+    pub(crate) fn done(self) -> (A, Vec<A>) {
+        (self.actor, self.other_actors)
+    }
+}
+
+/// The actual implementation of the converted iterator
+pub(crate) struct WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C> {
+    change_actors: &'actors ChangeActors<'aschangeop, A, I, O, C>,
+    inner: I,
+}
+
+impl<'actors, 'aschangeop, A: 'aschangeop, I, O, C> Clone
+    for WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C>
+where
+    I: Clone,
+{
+    fn clone(&self) -> Self {
+        Self {
+            change_actors: self.change_actors,
+            inner: self.inner.clone(),
+        }
+    }
+}
+
+impl<'actors, 'aschangeop, A: 'aschangeop, I, O, C> Iterator
+    for WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C>
+where
+    C: AsChangeOp<'aschangeop, OpId = O>,
+    O: convert::OpId<&'aschangeop A>,
+    I: Iterator<Item = C> + Clone,
+{
+    type Item = WithChangeActors<'actors, 'aschangeop, A, I, O, C>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.inner.next().map(|o| WithChangeActors {
+            op: o,
+            actors: self.change_actors,
+        })
+    }
+}
+
+impl<'actors, 'aschangeop, A: 'aschangeop, I, O, C> ExactSizeIterator
+    for WithChangeActorsOpIter<'actors, 'aschangeop, A, I, O, C>
+where
+    C: AsChangeOp<'aschangeop, OpId = O>,
+    O: convert::OpId<&'aschangeop A>,
+    I: Iterator<Item = C> + Clone,
+{
+    fn len(&self) -> usize {
+        self.change_actors.num_ops
+    }
+}
+
+pub(crate) struct ChangeOpId {
+    actor: usize,
+    counter: u64,
+}
+
+impl convert::OpId<usize> for ChangeOpId {
+    fn actor(&self) -> usize {
+        self.actor
+    }
+
+    fn counter(&self) -> u64 {
+        self.counter
+    }
+}
+
+/// A struct which implements `AsChangeOp` by translating the actor IDs in the incoming operations
+/// into the index into the actors in the `ChangeActors`.
+pub(crate) struct WithChangeActors<'actors, 'aschangeop, A, I, O, C> {
+    op: C,
+    actors: &'actors ChangeActors<'aschangeop, A, I, O, C>,
+}
+
+impl<'actors, 'aschangeop, A, I, O, P, C> AsChangeOp<'aschangeop>
+    for WithChangeActors<'actors, 'aschangeop, A, I, O, C>
+where
+    A: PartialEq + Ord + Clone + std::hash::Hash + 'static,
+    O: convert::OpId<&'aschangeop A>,
+    P: Iterator<Item = O> + ExactSizeIterator + 'aschangeop,
+    C: AsChangeOp<'aschangeop, PredIter = P, OpId = O> + 'aschangeop,
+    I: Iterator<Item = C> + Clone + 'aschangeop,
+{
+    type ActorId = usize;
+    type OpId = ChangeOpId;
+    type PredIter = WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P>;
+
+    fn action(&self) -> u64 {
+        self.op.action()
+    }
+
+    fn insert(&self) -> bool {
+        self.op.insert()
+    }
+
+    fn pred(&self) -> Self::PredIter {
+        WithChangeActorsPredIter {
+            wrapped: self.op.pred(),
+            actors: self.actors,
+            _phantom: std::marker::PhantomData,
+        }
+    }
+
+    fn key(&self) -> convert::Key<'aschangeop, Self::OpId> {
+        self.op.key().map(|o| self.actors.translate_opid(&o))
+    }
+
+    fn obj(&self) -> convert::ObjId<Self::OpId> {
+        self.op.obj().map(|o| self.actors.translate_opid(&o))
+    }
+
+    fn val(&self) -> std::borrow::Cow<'aschangeop, crate::ScalarValue> {
+        self.op.val()
+    }
+}
+
+pub(crate) struct WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P> {
+    wrapped: P,
+    actors: &'actors ChangeActors<'aschangeop, A, I, O, C>,
+    _phantom: std::marker::PhantomData<O>,
+}
+
+impl<'actors, 'aschangeop, A, I, O, C, P> ExactSizeIterator
+    for WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P>
+where
+    A: PartialEq + Ord + Clone + std::hash::Hash + 'static,
+    O: convert::OpId<&'aschangeop A>,
+    P: Iterator<Item = O> + ExactSizeIterator + 'aschangeop,
+    C: AsChangeOp<'aschangeop, OpId = O> + 'aschangeop,
+    I: Iterator<Item = C> + Clone + 'aschangeop,
+{
+    fn len(&self) -> usize {
+        self.wrapped.len()
+    }
+}
+
+impl<'actors, 'aschangeop, A, I, O, C, P> Iterator
+    for WithChangeActorsPredIter<'actors, 'aschangeop, A, I, O, C, P>
+where
+    A: PartialEq + Ord + Clone + std::hash::Hash + 'static,
+    O: convert::OpId<&'aschangeop A>,
+    P: Iterator<Item = O> + 'aschangeop,
+    C: AsChangeOp<'aschangeop, OpId = O> + 'aschangeop,
+    I: Iterator<Item = C> + Clone + 'aschangeop,
+{
+    type Item = ChangeOpId;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.wrapped.next().map(|o| self.actors.translate_opid(&o))
+    }
+}
+
+fn are_sorted<A, O, I>(mut opids: I) -> bool
+where
+    A: PartialEq + Ord + Clone,
+    O: convert::OpId<A>,
+    I: Iterator<Item = O>,
+{
+    if let Some(first) = opids.next() {
+        let mut prev = first;
+        for opid in opids {
+            if opid.counter() < prev.counter() {
+                return false;
+            }
+            if opid.counter() == prev.counter() && opid.actor() < prev.actor() {
+                return false;
+            }
+            prev = opid;
+        }
+    }
+    true
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/change/change_op_columns.rs.html b/src/automerge/storage/change/change_op_columns.rs.html new file mode 100644 index 00000000..7c87e781 --- /dev/null +++ b/src/automerge/storage/change/change_op_columns.rs.html @@ -0,0 +1,1001 @@ +change_op_columns.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+
use std::{convert::TryFrom, ops::Range};
+
+use crate::{
+    columnar::{
+        column_range::{
+            generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange},
+            BooleanRange, DeltaRange, Key, KeyEncoder, KeyIter, KeyRange, ObjIdEncoder, ObjIdIter,
+            ObjIdRange, OpIdListEncoder, OpIdListIter, OpIdListRange, RleRange, ValueEncoder,
+            ValueIter, ValueRange,
+        },
+        encoding::{
+            BooleanDecoder, BooleanEncoder, ColumnDecoder, DecodeColumnError, RleDecoder,
+            RleEncoder,
+        },
+    },
+    convert,
+    error::InvalidOpType,
+    storage::{
+        change::AsChangeOp,
+        columns::{
+            compression, ColumnId, ColumnSpec, ColumnType, Columns, MismatchingColumn, RawColumn,
+        },
+        RawColumns,
+    },
+    types::{ElemId, ObjId, OpId, ScalarValue},
+    OpType,
+};
+
+const OBJ_COL_ID: ColumnId = ColumnId::new(0);
+const KEY_COL_ID: ColumnId = ColumnId::new(1);
+const INSERT_COL_ID: ColumnId = ColumnId::new(3);
+const ACTION_COL_ID: ColumnId = ColumnId::new(4);
+const VAL_COL_ID: ColumnId = ColumnId::new(5);
+const PRED_COL_ID: ColumnId = ColumnId::new(7);
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct ChangeOp {
+    pub(crate) key: Key,
+    pub(crate) insert: bool,
+    pub(crate) val: ScalarValue,
+    pub(crate) pred: Vec<OpId>,
+    pub(crate) action: u64,
+    pub(crate) obj: ObjId,
+}
+
+impl<'a, A: AsChangeOp<'a, ActorId = usize, OpId = OpId>> From<A> for ChangeOp {
+    fn from(a: A) -> Self {
+        ChangeOp {
+            key: match a.key() {
+                convert::Key::Prop(s) => Key::Prop(s.into_owned()),
+                convert::Key::Elem(convert::ElemId::Head) => Key::Elem(ElemId::head()),
+                convert::Key::Elem(convert::ElemId::Op(o)) => Key::Elem(ElemId(o)),
+            },
+            obj: match a.obj() {
+                convert::ObjId::Root => ObjId::root(),
+                convert::ObjId::Op(o) => ObjId(o),
+            },
+            val: a.val().into_owned(),
+            pred: a.pred().collect(),
+            insert: a.insert(),
+            action: a.action(),
+        }
+    }
+}
+
+impl<'a> AsChangeOp<'a> for &'a ChangeOp {
+    type OpId = &'a crate::types::OpId;
+    type ActorId = usize;
+    type PredIter = std::slice::Iter<'a, crate::types::OpId>;
+
+    fn obj(&self) -> convert::ObjId<Self::OpId> {
+        if self.obj.is_root() {
+            convert::ObjId::Root
+        } else {
+            convert::ObjId::Op(self.obj.opid())
+        }
+    }
+
+    fn key(&self) -> convert::Key<'a, Self::OpId> {
+        match &self.key {
+            Key::Prop(s) => convert::Key::Prop(std::borrow::Cow::Borrowed(s)),
+            Key::Elem(e) if e.is_head() => convert::Key::Elem(convert::ElemId::Head),
+            Key::Elem(e) => convert::Key::Elem(convert::ElemId::Op(&e.0)),
+        }
+    }
+
+    fn val(&self) -> std::borrow::Cow<'a, ScalarValue> {
+        std::borrow::Cow::Borrowed(&self.val)
+    }
+
+    fn pred(&self) -> Self::PredIter {
+        self.pred.iter()
+    }
+
+    fn insert(&self) -> bool {
+        self.insert
+    }
+
+    fn action(&self) -> u64 {
+        self.action
+    }
+}
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct ChangeOpsColumns {
+    obj: Option<ObjIdRange>,
+    key: KeyRange,
+    insert: BooleanRange,
+    action: RleRange<u64>,
+    val: ValueRange,
+    pred: OpIdListRange,
+}
+
+impl ChangeOpsColumns {
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> ChangeOpsIter<'a> {
+        ChangeOpsIter {
+            failed: false,
+            obj: self.obj.as_ref().map(|o| o.iter(data)),
+            key: self.key.iter(data),
+            insert: self.insert.decoder(data),
+            action: self.action.decoder(data),
+            val: self.val.iter(data),
+            pred: self.pred.iter(data),
+        }
+    }
+
+    #[tracing::instrument(skip(ops, out))]
+    pub(crate) fn encode<'a, 'b, 'c, I, C, Op>(ops: I, out: &'b mut Vec<u8>) -> ChangeOpsColumns
+    where
+        I: Iterator<Item = C> + Clone + ExactSizeIterator + 'a,
+        Op: convert::OpId<usize> + 'a,
+        C: AsChangeOp<'c, OpId = Op> + 'a,
+    {
+        if ops.len() > 10000 {
+            Self::encode_rowwise(ops, out)
+        } else {
+            Self::encode_columnwise(ops, out)
+        }
+    }
+
+    pub(crate) fn encode_columnwise<'a, 'b, 'c, I, C, Op>(
+        ops: I,
+        out: &'b mut Vec<u8>,
+    ) -> ChangeOpsColumns
+    where
+        I: Iterator<Item = C> + Clone + 'a,
+        Op: convert::OpId<usize> + 'a,
+        C: AsChangeOp<'c, OpId = Op> + 'a,
+    {
+        let obj = ObjIdRange::encode(ops.clone().map(|o| o.obj()), out);
+        let key = KeyRange::encode(ops.clone().map(|o| o.key()), out);
+        let insert = BooleanRange::encode(ops.clone().map(|o| o.insert()), out);
+        let action = RleRange::encode(ops.clone().map(|o| Some(o.action())), out);
+        let val = ValueRange::encode(ops.clone().map(|o| o.val()), out);
+        let pred = OpIdListRange::encode(ops.map(|o| o.pred()), out);
+        Self {
+            obj,
+            key,
+            insert,
+            action,
+            val,
+            pred,
+        }
+    }
+
+    fn encode_rowwise<'a, 'b, 'c, I, C, Op>(ops: I, out: &'b mut Vec<u8>) -> ChangeOpsColumns
+    where
+        I: Iterator<Item = C> + Clone + 'a,
+        Op: convert::OpId<usize> + 'a,
+        C: AsChangeOp<'c, OpId = Op> + 'a,
+    {
+        let mut obj = ObjIdEncoder::new();
+        let mut key = KeyEncoder::new();
+        let mut insert = BooleanEncoder::new();
+        let mut action = RleEncoder::<_, u64>::from(Vec::new());
+        let mut val = ValueEncoder::new();
+        let mut pred = OpIdListEncoder::new();
+        for op in ops {
+            obj.append(op.obj());
+            key.append(op.key());
+            insert.append(op.insert());
+            action.append_value(op.action());
+            val.append(&op.val());
+            pred.append(op.pred());
+        }
+        let obj = obj.finish(out);
+        let key = key.finish(out);
+
+        let insert_start = out.len();
+        let (insert, _) = insert.finish();
+        out.extend(insert);
+        let insert = BooleanRange::from(insert_start..out.len());
+
+        let action_start = out.len();
+        let (action, _) = action.finish();
+        out.extend(action);
+        let action = RleRange::from(action_start..out.len());
+
+        let val = val.finish(out);
+        let pred = pred.finish(out);
+
+        Self {
+            obj,
+            key,
+            insert,
+            action,
+            val,
+            pred,
+        }
+    }
+
+    pub(crate) fn raw_columns(&self) -> RawColumns<compression::Uncompressed> {
+        let mut cols = vec![
+            RawColumn::new(
+                ColumnSpec::new(OBJ_COL_ID, ColumnType::Actor, false),
+                self.obj
+                    .as_ref()
+                    .map(|o| o.actor_range().clone().into())
+                    .unwrap_or(0..0),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(OBJ_COL_ID, ColumnType::Integer, false),
+                self.obj
+                    .as_ref()
+                    .map(|o| o.counter_range().clone().into())
+                    .unwrap_or(0..0),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(KEY_COL_ID, ColumnType::Actor, false),
+                self.key.actor_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(KEY_COL_ID, ColumnType::DeltaInteger, false),
+                self.key.counter_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(KEY_COL_ID, ColumnType::String, false),
+                self.key.string_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(INSERT_COL_ID, ColumnType::Boolean, false),
+                self.insert.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(ACTION_COL_ID, ColumnType::Integer, false),
+                self.action.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(VAL_COL_ID, ColumnType::ValueMetadata, false),
+                self.val.meta_range().clone().into(),
+            ),
+        ];
+        if !self.val.raw_range().is_empty() {
+            cols.push(RawColumn::new(
+                ColumnSpec::new(VAL_COL_ID, ColumnType::Value, false),
+                self.val.raw_range().clone().into(),
+            ));
+        }
+        cols.push(RawColumn::new(
+            ColumnSpec::new(PRED_COL_ID, ColumnType::Group, false),
+            self.pred.group_range().clone().into(),
+        ));
+        if !self.pred.actor_range().is_empty() {
+            cols.extend([
+                RawColumn::new(
+                    ColumnSpec::new(PRED_COL_ID, ColumnType::Actor, false),
+                    self.pred.actor_range().clone().into(),
+                ),
+                RawColumn::new(
+                    ColumnSpec::new(PRED_COL_ID, ColumnType::DeltaInteger, false),
+                    self.pred.counter_range().clone().into(),
+                ),
+            ]);
+        }
+        cols.into_iter().collect()
+    }
+}
+
+#[derive(thiserror::Error, Debug)]
+#[error(transparent)]
+pub enum ReadChangeOpError {
+    #[error(transparent)]
+    DecodeError(#[from] DecodeColumnError),
+    #[error(transparent)]
+    InvalidOpType(#[from] InvalidOpType),
+    #[error("counter too large")]
+    CounterTooLarge,
+}
+
+#[derive(Clone)]
+pub(crate) struct ChangeOpsIter<'a> {
+    failed: bool,
+    obj: Option<ObjIdIter<'a>>,
+    key: KeyIter<'a>,
+    insert: BooleanDecoder<'a>,
+    action: RleDecoder<'a, u64>,
+    val: ValueIter<'a>,
+    pred: OpIdListIter<'a>,
+}
+
+impl<'a> ChangeOpsIter<'a> {
+    fn done(&self) -> bool {
+        self.action.done()
+    }
+
+    fn try_next(&mut self) -> Result<Option<ChangeOp>, ReadChangeOpError> {
+        if self.failed || self.done() {
+            Ok(None)
+        } else {
+            let obj = if let Some(ref mut objs) = self.obj {
+                objs.next_in_col("obj")?
+            } else {
+                ObjId::root()
+            };
+            let key = self.key.next_in_col("key")?;
+            let insert = self.insert.next_in_col("insert")?;
+            let action = self.action.next_in_col("action")?;
+            let val = self.val.next_in_col("value")?;
+            let pred = self.pred.next_in_col("pred")?;
+
+            // This check is necessary to ensure that OpType::from_action_and_value
+            // cannot panic later in the process.
+            OpType::validate_action_and_value(action, &val)?;
+
+            Ok(Some(ChangeOp {
+                obj,
+                key,
+                insert,
+                action,
+                val,
+                pred,
+            }))
+        }
+    }
+}
+
+impl<'a> Iterator for ChangeOpsIter<'a> {
+    type Item = Result<ChangeOp, ReadChangeOpError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        match self.try_next() {
+            Ok(v) => v.map(Ok),
+            Err(e) => {
+                self.failed = true;
+                Some(Err(e))
+            }
+        }
+    }
+}
+
+#[derive(thiserror::Error, Debug)]
+pub(crate) enum ParseChangeColumnsError {
+    #[error("mismatching column at {index}.")]
+    MismatchingColumn { index: usize },
+}
+
+impl From<MismatchingColumn> for ParseChangeColumnsError {
+    fn from(m: MismatchingColumn) -> Self {
+        Self::MismatchingColumn { index: m.index }
+    }
+}
+
+impl TryFrom<Columns> for ChangeOpsColumns {
+    type Error = ParseChangeColumnsError;
+
+    fn try_from(columns: Columns) -> Result<Self, Self::Error> {
+        let mut obj_actor: Option<RleRange<u64>> = None;
+        let mut obj_ctr: Option<RleRange<u64>> = None;
+        let mut key_actor: Option<RleRange<u64>> = None;
+        let mut key_ctr: Option<DeltaRange> = None;
+        let mut key_str: Option<RleRange<smol_str::SmolStr>> = None;
+        let mut insert: Option<Range<usize>> = None;
+        let mut action: Option<Range<usize>> = None;
+        let mut val: Option<ValueRange> = None;
+        let mut pred_group: Option<RleRange<u64>> = None;
+        let mut pred_actor: Option<RleRange<u64>> = None;
+        let mut pred_ctr: Option<DeltaRange> = None;
+        let mut other = Columns::empty();
+
+        for (index, col) in columns.into_iter().enumerate() {
+            match (col.id(), col.col_type()) {
+                (OBJ_COL_ID, ColumnType::Actor) => obj_actor = Some(col.range().into()),
+                (OBJ_COL_ID, ColumnType::Integer) => obj_ctr = Some(col.range().into()),
+                (KEY_COL_ID, ColumnType::Actor) => key_actor = Some(col.range().into()),
+                (KEY_COL_ID, ColumnType::DeltaInteger) => key_ctr = Some(col.range().into()),
+                (KEY_COL_ID, ColumnType::String) => key_str = Some(col.range().into()),
+                (INSERT_COL_ID, ColumnType::Boolean) => insert = Some(col.range()),
+                (ACTION_COL_ID, ColumnType::Integer) => action = Some(col.range()),
+                (VAL_COL_ID, ColumnType::ValueMetadata) => match col.into_ranges() {
+                    GenericColumnRange::Value(v) => {
+                        val = Some(v);
+                    }
+                    _ => return Err(ParseChangeColumnsError::MismatchingColumn { index }),
+                },
+                (PRED_COL_ID, ColumnType::Group) => match col.into_ranges() {
+                    GenericColumnRange::Group(GroupRange { num, values }) => {
+                        let mut cols = values.into_iter();
+                        pred_group = Some(num);
+                        // If there was no data in the group at all then the columns won't be
+                        // present
+                        if cols.len() == 0 {
+                            pred_actor = Some((0..0).into());
+                            pred_ctr = Some((0..0).into());
+                        } else {
+                            let first = cols.next();
+                            let second = cols.next();
+                            match (first, second) {
+                                (
+                                    Some(GroupedColumnRange::Simple(SimpleColRange::RleInt(
+                                        actor_range,
+                                    ))),
+                                    Some(GroupedColumnRange::Simple(SimpleColRange::Delta(
+                                        ctr_range,
+                                    ))),
+                                ) => {
+                                    pred_actor = Some(actor_range);
+                                    pred_ctr = Some(ctr_range);
+                                }
+                                _ => {
+                                    return Err(ParseChangeColumnsError::MismatchingColumn {
+                                        index,
+                                    })
+                                }
+                            }
+                        }
+                        if cols.next().is_some() {
+                            return Err(ParseChangeColumnsError::MismatchingColumn { index });
+                        }
+                    }
+                    _ => return Err(ParseChangeColumnsError::MismatchingColumn { index }),
+                },
+                (other_type, other_col) => {
+                    tracing::warn!(typ=?other_type, id=?other_col, "unknown column");
+                    other.append(col);
+                }
+            }
+        }
+        let pred = OpIdListRange::new(
+            pred_group.unwrap_or_else(|| (0..0).into()),
+            pred_actor.unwrap_or_else(|| (0..0).into()),
+            pred_ctr.unwrap_or_else(|| (0..0).into()),
+        );
+        Ok(ChangeOpsColumns {
+            obj: ObjIdRange::new(
+                obj_actor.unwrap_or_else(|| (0..0).into()),
+                obj_ctr.unwrap_or_else(|| (0..0).into()),
+            ),
+            key: KeyRange::new(
+                key_actor.unwrap_or_else(|| (0..0).into()),
+                key_ctr.unwrap_or_else(|| (0..0).into()),
+                key_str.unwrap_or_else(|| (0..0).into()),
+            ),
+            insert: insert.unwrap_or(0..0).into(),
+            action: action.unwrap_or(0..0).into(),
+            val: val.unwrap_or_else(|| ValueRange::new((0..0).into(), (0..0).into())),
+            pred,
+        })
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::columnar::encoding::properties::{key, opid, scalar_value};
+    use proptest::prelude::*;
+
+    prop_compose! {
+        fn change_op()
+                    (key in key(),
+                     value in scalar_value(),
+                     pred in proptest::collection::vec(opid(), 0..20),
+                     action in 0_u64..6,
+                     obj in opid(),
+                     insert in any::<bool>()) -> ChangeOp {
+
+                    let val = if action == 5 && !(value.is_int() || value.is_uint()) {
+                        ScalarValue::Uint(0)
+                    } else { value };
+            ChangeOp {
+                obj: obj.into(),
+                key,
+                val,
+                pred,
+                action,
+                insert,
+            }
+        }
+    }
+
+    proptest! {
+        #[test]
+        fn test_encode_decode_change_ops(ops in proptest::collection::vec(change_op(), 0..100)) {
+            let mut out = Vec::new();
+            let cols2 = ChangeOpsColumns::encode(ops.iter(), &mut out);
+            let decoded = cols2.iter(&out[..]).collect::<Result<Vec<_>, _>>().unwrap();
+            assert_eq!(ops, decoded);
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/change/compressed.rs.html b/src/automerge/storage/change/compressed.rs.html new file mode 100644 index 00000000..24c65dc6 --- /dev/null +++ b/src/automerge/storage/change/compressed.rs.html @@ -0,0 +1,105 @@ +compressed.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+
use std::{borrow::Cow, io::Read};
+
+use crate::storage::{Change, CheckSum, ChunkType, MAGIC_BYTES};
+
+use super::OpReadState;
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct Compressed<'a> {
+    checksum: CheckSum,
+    bytes: Cow<'a, [u8]>,
+}
+
+impl<'a> Compressed<'a> {
+    pub(crate) fn new(checksum: CheckSum, bytes: Cow<'a, [u8]>) -> Self {
+        Self { checksum, bytes }
+    }
+
+    pub(crate) fn compress<'b, O: OpReadState>(change: &'b Change<'b, O>) -> Compressed<'static> {
+        let mut result = Vec::with_capacity(change.bytes().len());
+        result.extend(MAGIC_BYTES);
+        result.extend(change.checksum().bytes());
+        result.push(u8::from(ChunkType::Compressed));
+        let mut deflater = flate2::bufread::DeflateEncoder::new(
+            change.body_bytes(),
+            flate2::Compression::default(),
+        );
+        let mut deflated = Vec::new();
+        let deflated_len = deflater.read_to_end(&mut deflated).unwrap();
+        leb128::write::unsigned(&mut result, deflated_len as u64).unwrap();
+        result.extend(&deflated[..]);
+        Compressed {
+            checksum: change.checksum(),
+            bytes: Cow::Owned(result),
+        }
+    }
+
+    pub(crate) fn bytes(&self) -> Cow<'a, [u8]> {
+        self.bytes.clone()
+    }
+
+    pub(crate) fn checksum(&self) -> CheckSum {
+        self.checksum
+    }
+
+    pub(crate) fn into_owned(self) -> Compressed<'static> {
+        Compressed {
+            checksum: self.checksum,
+            bytes: Cow::Owned(self.bytes.into_owned()),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/change/op_with_change_actors.rs.html b/src/automerge/storage/change/op_with_change_actors.rs.html new file mode 100644 index 00000000..ef529a68 --- /dev/null +++ b/src/automerge/storage/change/op_with_change_actors.rs.html @@ -0,0 +1,5 @@ +op_with_change_actors.rs - source
1
+

+
+
\ No newline at end of file diff --git a/src/automerge/storage/chunk.rs.html b/src/automerge/storage/chunk.rs.html new file mode 100644 index 00000000..a95063fc --- /dev/null +++ b/src/automerge/storage/chunk.rs.html @@ -0,0 +1,589 @@ +chunk.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+
use std::{
+    borrow::Cow,
+    convert::{TryFrom, TryInto},
+    io::Read,
+    ops::Range,
+};
+
+use sha2::{Digest, Sha256};
+
+use super::{change::Unverified, parse, Change, Compressed, Document, MAGIC_BYTES};
+use crate::{columnar::encoding::leb128::ulebsize, ChangeHash};
+
+pub(crate) enum Chunk<'a> {
+    Document(Document<'a>),
+    Change(Change<'a, Unverified>),
+    CompressedChange(Change<'static, Unverified>, Compressed<'a>),
+}
+
+pub(crate) mod error {
+    use super::parse;
+    use crate::storage::{change, document};
+
+    #[derive(thiserror::Error, Debug)]
+    pub(crate) enum Chunk {
+        #[error("there was data in a chunk leftover after parsing")]
+        LeftoverData,
+        #[error(transparent)]
+        Leb128(#[from] parse::leb128::Error),
+        #[error("failed to parse header: {0}")]
+        Header(#[from] Header),
+        #[error("bad change chunk: {0}")]
+        Change(#[from] change::ParseError),
+        #[error("bad document chunk: {0}")]
+        Document(#[from] document::ParseError),
+        #[error("unable to decompresse compressed chunk")]
+        Deflate,
+    }
+
+    #[derive(thiserror::Error, Debug)]
+    pub(crate) enum Header {
+        #[error(transparent)]
+        Leb128(#[from] parse::leb128::Error),
+        #[error("unknown chunk type: {0}")]
+        UnknownChunkType(u8),
+        #[error("Invalid magic bytes")]
+        InvalidMagicBytes,
+    }
+}
+
+impl<'a> Chunk<'a> {
+    pub(crate) fn parse(
+        input: parse::Input<'a>,
+    ) -> parse::ParseResult<'a, Chunk<'a>, error::Chunk> {
+        let (i, header) = Header::parse::<error::Chunk>(input)?;
+        let parse::Split {
+            first: chunk_input,
+            remaining,
+        } = i.split(header.data_bytes().len());
+        tracing::trace!(?header, "parsed chunk header");
+        let chunk = match header.chunk_type {
+            ChunkType::Change => {
+                let (remaining, change) =
+                    Change::parse_following_header(chunk_input, header).map_err(|e| e.lift())?;
+                if !remaining.is_empty() {
+                    return Err(parse::ParseError::Error(error::Chunk::LeftoverData));
+                }
+                Chunk::Change(change)
+            }
+            ChunkType::Document => {
+                let (remaining, doc) =
+                    Document::parse(chunk_input, header).map_err(|e| e.lift())?;
+                if !remaining.is_empty() {
+                    return Err(parse::ParseError::Error(error::Chunk::LeftoverData));
+                }
+                Chunk::Document(doc)
+            }
+            ChunkType::Compressed => {
+                let compressed = &input.unconsumed_bytes()[header.data_bytes()];
+                let mut decoder = flate2::bufread::DeflateDecoder::new(compressed);
+                let mut decompressed = Vec::new();
+                decoder
+                    .read_to_end(&mut decompressed)
+                    .map_err(|_| parse::ParseError::Error(error::Chunk::Deflate))?;
+                let inner_header = header.with_data(ChunkType::Change, &decompressed);
+                let mut inner_chunk = Vec::with_capacity(inner_header.len() + decompressed.len());
+                inner_header.write(&mut inner_chunk);
+                inner_chunk.extend(&decompressed);
+                let (remaining, change) =
+                    Change::parse(parse::Input::new(&inner_chunk)).map_err(|e| e.lift())?;
+                if !remaining.is_empty() {
+                    return Err(parse::ParseError::Error(error::Chunk::LeftoverData));
+                }
+                Chunk::CompressedChange(
+                    change.into_owned(),
+                    Compressed::new(header.checksum, Cow::Borrowed(chunk_input.bytes())),
+                )
+            }
+        };
+        Ok((remaining, chunk))
+    }
+
+    pub(crate) fn checksum_valid(&self) -> bool {
+        match self {
+            Self::Document(d) => d.checksum_valid(),
+            Self::Change(c) => c.checksum_valid(),
+            Self::CompressedChange(change, compressed) => {
+                compressed.checksum() == change.checksum() && change.checksum_valid()
+            }
+        }
+    }
+}
+
+#[derive(Clone, Copy, Debug, PartialEq)]
+pub(crate) enum ChunkType {
+    Document,
+    Change,
+    Compressed,
+}
+
+impl TryFrom<u8> for ChunkType {
+    type Error = u8;
+
+    fn try_from(value: u8) -> Result<Self, Self::Error> {
+        match value {
+            0 => Ok(Self::Document),
+            1 => Ok(Self::Change),
+            2 => Ok(Self::Compressed),
+            other => Err(other),
+        }
+    }
+}
+
+impl From<ChunkType> for u8 {
+    fn from(ct: ChunkType) -> Self {
+        match ct {
+            ChunkType::Document => 0,
+            ChunkType::Change => 1,
+            ChunkType::Compressed => 2,
+        }
+    }
+}
+
+#[derive(Clone, Copy, Debug, PartialEq)]
+pub(crate) struct CheckSum([u8; 4]);
+
+impl CheckSum {
+    pub(crate) fn bytes(&self) -> [u8; 4] {
+        self.0
+    }
+}
+
+impl From<[u8; 4]> for CheckSum {
+    fn from(raw: [u8; 4]) -> Self {
+        CheckSum(raw)
+    }
+}
+
+impl AsRef<[u8]> for CheckSum {
+    fn as_ref(&self) -> &[u8] {
+        &self.0
+    }
+}
+
+impl From<ChangeHash> for CheckSum {
+    fn from(h: ChangeHash) -> Self {
+        let bytes = h.as_bytes();
+        [bytes[0], bytes[1], bytes[2], bytes[3]].into()
+    }
+}
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct Header {
+    checksum: CheckSum,
+    chunk_type: ChunkType,
+    data_len: usize,
+    header_size: usize,
+    hash: ChangeHash,
+}
+
+impl Header {
+    pub(crate) fn new(chunk_type: ChunkType, data: &[u8]) -> Self {
+        let hash = hash(chunk_type, data);
+        Self {
+            hash,
+            checksum: hash.checksum().into(),
+            data_len: data.len(),
+            header_size: MAGIC_BYTES.len()
+                + 4 // checksum
+                + 1 // chunk type
+                + (ulebsize(data.len() as u64) as usize),
+            chunk_type,
+        }
+    }
+
+    /// Returns a header with the same checksum but with a different chunk type and data length.
+    /// This is primarily useful when processing compressed chunks, where the checksum is actually
+    /// derived from the uncompressed data.
+    pub(crate) fn with_data(&self, chunk_type: ChunkType, data: &[u8]) -> Header {
+        let hash = hash(chunk_type, data);
+        Self {
+            hash,
+            checksum: self.checksum,
+            data_len: data.len(),
+            header_size: MAGIC_BYTES.len()
+                + 4 // checksum
+                + 1 // chunk type
+                + (ulebsize(data.len() as u64) as usize),
+            chunk_type,
+        }
+    }
+
+    pub(crate) fn len(&self) -> usize {
+        self.header_size
+    }
+
+    pub(crate) fn write(&self, out: &mut Vec<u8>) {
+        out.extend(MAGIC_BYTES);
+        out.extend(self.checksum.bytes());
+        out.push(u8::from(self.chunk_type));
+        leb128::write::unsigned(out, self.data_len as u64).unwrap();
+    }
+
+    pub(crate) fn parse<E>(input: parse::Input<'_>) -> parse::ParseResult<'_, Header, E>
+    where
+        E: From<error::Header>,
+    {
+        let (
+            i,
+            parse::RangeOf {
+                range: header,
+                value: (checksum_bytes, chunk_type, chunk_len),
+            },
+        ) = parse::range_of(
+            |i| {
+                let (i, magic) = parse::take4(i)?;
+                if magic != MAGIC_BYTES {
+                    return Err(parse::ParseError::Error(E::from(
+                        error::Header::InvalidMagicBytes,
+                    )));
+                }
+                let (i, checksum_bytes) = parse::take4(i)?;
+                let (i, raw_chunk_type) = parse::take1(i)?;
+                let chunk_type: ChunkType = raw_chunk_type.try_into().map_err(|_| {
+                    parse::ParseError::Error(E::from(error::Header::UnknownChunkType(
+                        raw_chunk_type,
+                    )))
+                })?;
+                let (i, chunk_len) = parse::leb128_u64(i).map_err(|e| e.lift())?;
+                Ok((i, (checksum_bytes, chunk_type, chunk_len)))
+            },
+            input,
+        )?;
+
+        let (_, data) = parse::take_n(chunk_len as usize, i)?;
+        let hash = hash(chunk_type, data);
+        Ok((
+            i,
+            Header {
+                checksum: checksum_bytes.into(),
+                chunk_type,
+                data_len: data.len(),
+                header_size: header.len(),
+                hash,
+            },
+        ))
+    }
+
+    /// The range of the input which corresponds to the data specified by this header
+    pub(crate) fn data_bytes(&self) -> Range<usize> {
+        self.header_size..(self.header_size + self.data_len)
+    }
+
+    pub(crate) fn hash(&self) -> ChangeHash {
+        self.hash
+    }
+
+    pub(crate) fn checksum_valid(&self) -> bool {
+        CheckSum(self.hash.checksum()) == self.checksum
+    }
+
+    pub(crate) fn checksum(&self) -> CheckSum {
+        self.checksum
+    }
+}
+
+fn hash(typ: ChunkType, data: &[u8]) -> ChangeHash {
+    let mut out = vec![u8::from(typ)];
+    leb128::write::unsigned(&mut out, data.len() as u64).unwrap();
+    out.extend(data);
+    let hash_result = Sha256::digest(out);
+    let array: [u8; 32] = hash_result.into();
+    ChangeHash(array)
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/columns.rs.html b/src/automerge/storage/columns.rs.html new file mode 100644 index 00000000..df90cbde --- /dev/null +++ b/src/automerge/storage/columns.rs.html @@ -0,0 +1,713 @@ +columns.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+
/// This module contains types which represent the column metadata which is encoded in the columnar
+/// storage format specified in [1]. In this format metadata about each column is packed into a 32
+/// bit integer, which is represented by the types in `column_specification`. The column data in
+/// the format is a sequence of (`ColumnSpecification`, `usize`) pairs where each pair represents
+/// the type of the column and the length of the column in the data which follows, these pairs are
+/// represented by `RawColumn` and `RawColumns`. Some columns are actually composites of several
+/// underlying columns and so not every `RawColumns` is valid. The types in `column` and
+/// `column_builder` take a `RawColumns` and produce a `Columns` - which is a valid set of possibly
+/// composite column metadata.
+///
+/// There are two typical workflows:
+///
+/// ## Reading
+/// * First parse a `RawColumns` from the underlying data using `RawColumns::parse`
+/// * Ensure that the columns are decompressed using `RawColumns::decompress` (checking first if
+///   you can avoid this using `RawColumns::uncompressed`)
+/// * Parse the `RawColumns` into a `Columns` using `Columns::parse`
+///
+/// ## Writing
+/// * Construct a `RawColumns`
+/// * Compress using `RawColumns::compress`
+/// * Write to output using `RawColumns::write`
+///
+/// [1]: https://alexjg.github.io/automerge-storage-docs/#_columnar_storage_format
+use std::ops::Range;
+
+mod column_specification;
+pub(crate) use column_specification::{ColumnId, ColumnSpec, ColumnType};
+mod column;
+pub(crate) use column::Column;
+mod column_builder;
+pub(crate) use column_builder::{
+    AwaitingRawColumnValueBuilder, ColumnBuilder, GroupAwaitingValue, GroupBuilder,
+};
+
+pub(crate) mod raw_column;
+pub(crate) use raw_column::{RawColumn, RawColumns};
+
+#[derive(Debug, thiserror::Error)]
+#[error("mismatching column at {index}.")]
+pub(crate) struct MismatchingColumn {
+    pub(crate) index: usize,
+}
+
+pub(crate) mod compression {
+    #[derive(Clone, Debug)]
+    pub(crate) struct Unknown;
+    #[derive(Clone, Debug)]
+    pub(crate) struct Uncompressed;
+
+    /// A witness for what we know about whether or not a column is compressed
+    pub(crate) trait ColumnCompression {}
+    impl ColumnCompression for Unknown {}
+    impl ColumnCompression for Uncompressed {}
+}
+
+/// `Columns` represents a sequence of "logical" columns. "Logical" in this sense means that
+/// each column produces one value, but may be composed of multiple [`RawColumn`]s. For example, in a
+/// logical column containing values there are two `RawColumn`s, one for the metadata about the
+/// values, and one for the values themselves.
+#[derive(Clone, Debug)]
+pub(crate) struct Columns {
+    columns: Vec<Column>,
+}
+
+impl Columns {
+    pub(crate) fn empty() -> Self {
+        Self {
+            columns: Vec::new(),
+        }
+    }
+
+    pub(crate) fn append(&mut self, col: Column) {
+        self.columns.push(col)
+    }
+
+    pub(crate) fn parse<'a, I: Iterator<Item = &'a RawColumn<compression::Uncompressed>>>(
+        data_size: usize,
+        cols: I,
+    ) -> Result<Columns, BadColumnLayout> {
+        let mut parser = ColumnLayoutParser::new(data_size, None);
+        for raw_col in cols {
+            parser.add_column(raw_col.spec(), raw_col.data())?;
+        }
+        parser.build()
+    }
+}
+
+impl FromIterator<Column> for Result<Columns, BadColumnLayout> {
+    fn from_iter<T: IntoIterator<Item = Column>>(iter: T) -> Self {
+        let iter = iter.into_iter();
+        let mut result = Vec::with_capacity(iter.size_hint().1.unwrap_or(0));
+        let mut last_column: Option<ColumnSpec> = None;
+        for col in iter {
+            if let Some(last_col) = last_column {
+                if col.spec().normalize() < last_col.normalize() {
+                    return Err(BadColumnLayout::OutOfOrder);
+                }
+            }
+            last_column = Some(col.spec());
+            result.push(col);
+        }
+        Ok(Columns { columns: result })
+    }
+}
+
+impl IntoIterator for Columns {
+    type Item = Column;
+    type IntoIter = std::vec::IntoIter<Column>;
+
+    fn into_iter(self) -> Self::IntoIter {
+        self.columns.into_iter()
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub(crate) enum BadColumnLayout {
+    #[error("duplicate column specifications: {0}")]
+    DuplicateColumnSpecs(u32),
+    #[error("out of order columns")]
+    OutOfOrder,
+    #[error("nested group")]
+    NestedGroup,
+    #[error("raw value column without metadata column")]
+    LoneRawValueColumn,
+    #[error("value metadata followed by value column with different column ID")]
+    MismatchingValueMetadataId,
+    #[error("non contiguous columns")]
+    NonContiguousColumns,
+    #[error("data out of range")]
+    DataOutOfRange,
+}
+
+struct ColumnLayoutParser {
+    columns: Vec<Column>,
+    last_spec: Option<ColumnSpec>,
+    state: LayoutParserState,
+    total_data_size: usize,
+}
+
+enum LayoutParserState {
+    Ready,
+    InValue(AwaitingRawColumnValueBuilder),
+    InGroup(ColumnId, GroupParseState),
+}
+
+#[derive(Debug)]
+enum GroupParseState {
+    Ready(GroupBuilder),
+    InValue(GroupAwaitingValue),
+}
+
+impl ColumnLayoutParser {
+    fn new(data_size: usize, size_hint: Option<usize>) -> Self {
+        ColumnLayoutParser {
+            columns: Vec::with_capacity(size_hint.unwrap_or(0)),
+            last_spec: None,
+            state: LayoutParserState::Ready,
+            total_data_size: data_size,
+        }
+    }
+
+    fn build(mut self) -> Result<Columns, BadColumnLayout> {
+        let columns = match self.state {
+            LayoutParserState::Ready => self.columns,
+            LayoutParserState::InValue(mut builder) => {
+                self.columns.push(builder.build((0..0).into()));
+                self.columns
+            }
+            LayoutParserState::InGroup(_, groupstate) => {
+                match groupstate {
+                    GroupParseState::InValue(mut builder) => {
+                        self.columns.push(builder.finish_empty().finish());
+                    }
+                    GroupParseState::Ready(mut builder) => {
+                        self.columns.push(builder.finish());
+                    }
+                };
+                self.columns
+            }
+        };
+        Ok(Columns { columns })
+    }
+
+    #[tracing::instrument(skip(self), err)]
+    fn add_column(
+        &mut self,
+        column: ColumnSpec,
+        range: Range<usize>,
+    ) -> Result<(), BadColumnLayout> {
+        self.check_contiguous(&range)?;
+        self.check_bounds(&range)?;
+        if let Some(last_spec) = self.last_spec {
+            if last_spec.normalize() > column.normalize() {
+                return Err(BadColumnLayout::OutOfOrder);
+            } else if last_spec == column {
+                return Err(BadColumnLayout::DuplicateColumnSpecs(column.into()));
+            }
+        }
+        match &mut self.state {
+            LayoutParserState::Ready => match column.col_type() {
+                ColumnType::Group => {
+                    self.state = LayoutParserState::InGroup(
+                        column.id(),
+                        GroupParseState::Ready(ColumnBuilder::start_group(column, range.into())),
+                    );
+                    Ok(())
+                }
+                ColumnType::ValueMetadata => {
+                    self.state = LayoutParserState::InValue(ColumnBuilder::start_value(
+                        column,
+                        range.into(),
+                    ));
+                    Ok(())
+                }
+                ColumnType::Value => Err(BadColumnLayout::LoneRawValueColumn),
+                ColumnType::Actor => {
+                    self.columns
+                        .push(ColumnBuilder::build_actor(column, range.into()));
+                    Ok(())
+                }
+                ColumnType::String => {
+                    self.columns
+                        .push(ColumnBuilder::build_string(column, range.into()));
+                    Ok(())
+                }
+                ColumnType::Integer => {
+                    self.columns
+                        .push(ColumnBuilder::build_integer(column, range.into()));
+                    Ok(())
+                }
+                ColumnType::DeltaInteger => {
+                    self.columns
+                        .push(ColumnBuilder::build_delta_integer(column, range.into()));
+                    Ok(())
+                }
+                ColumnType::Boolean => {
+                    self.columns
+                        .push(ColumnBuilder::build_boolean(column, range.into()));
+                    Ok(())
+                }
+            },
+            LayoutParserState::InValue(builder) => match column.col_type() {
+                ColumnType::Value => {
+                    if builder.id() != column.id() {
+                        return Err(BadColumnLayout::MismatchingValueMetadataId);
+                    }
+                    self.columns.push(builder.build(range.into()));
+                    self.state = LayoutParserState::Ready;
+                    Ok(())
+                }
+                _ => {
+                    self.columns.push(builder.build((0..0).into()));
+                    self.state = LayoutParserState::Ready;
+                    self.add_column(column, range)
+                }
+            },
+            LayoutParserState::InGroup(id, group_state) => {
+                if *id != column.id() {
+                    match group_state {
+                        GroupParseState::Ready(b) => self.columns.push(b.finish()),
+                        GroupParseState::InValue(b) => self.columns.push(b.finish_empty().finish()),
+                    };
+                    std::mem::swap(&mut self.state, &mut LayoutParserState::Ready);
+                    self.add_column(column, range)
+                } else {
+                    match group_state {
+                        GroupParseState::Ready(builder) => match column.col_type() {
+                            ColumnType::Group => Err(BadColumnLayout::NestedGroup),
+                            ColumnType::Value => Err(BadColumnLayout::LoneRawValueColumn),
+                            ColumnType::ValueMetadata => {
+                                *group_state =
+                                    GroupParseState::InValue(builder.start_value(column, range));
+                                Ok(())
+                            }
+                            ColumnType::Actor => {
+                                builder.add_actor(column, range);
+                                Ok(())
+                            }
+                            ColumnType::Boolean => {
+                                builder.add_boolean(column, range);
+                                Ok(())
+                            }
+                            ColumnType::DeltaInteger => {
+                                builder.add_delta_integer(column, range);
+                                Ok(())
+                            }
+                            ColumnType::Integer => {
+                                builder.add_integer(column, range);
+                                Ok(())
+                            }
+                            ColumnType::String => {
+                                builder.add_string(column, range);
+                                Ok(())
+                            }
+                        },
+                        GroupParseState::InValue(builder) => match column.col_type() {
+                            ColumnType::Value => {
+                                *group_state = GroupParseState::Ready(builder.finish_value(range));
+                                Ok(())
+                            }
+                            _ => {
+                                *group_state = GroupParseState::Ready(builder.finish_empty());
+                                self.add_column(column, range)
+                            }
+                        },
+                    }
+                }
+            }
+        }
+    }
+
+    fn check_contiguous(&self, next_range: &Range<usize>) -> Result<(), BadColumnLayout> {
+        match &self.state {
+            LayoutParserState::Ready => {
+                if let Some(prev) = self.columns.last() {
+                    if prev.range().end != next_range.start {
+                        tracing::error!(prev=?prev.range(), next=?next_range, "it's here");
+                        Err(BadColumnLayout::NonContiguousColumns)
+                    } else {
+                        Ok(())
+                    }
+                } else {
+                    Ok(())
+                }
+            }
+            LayoutParserState::InValue(builder) => {
+                if builder.meta_range().end() != next_range.start {
+                    Err(BadColumnLayout::NonContiguousColumns)
+                } else {
+                    Ok(())
+                }
+            }
+            LayoutParserState::InGroup(_, group_state) => {
+                let end = match group_state {
+                    GroupParseState::InValue(b) => b.range().end,
+                    GroupParseState::Ready(b) => b.range().end,
+                };
+                if end != next_range.start {
+                    Err(BadColumnLayout::NonContiguousColumns)
+                } else {
+                    Ok(())
+                }
+            }
+        }
+    }
+
+    fn check_bounds(&self, next_range: &Range<usize>) -> Result<(), BadColumnLayout> {
+        if next_range.end > self.total_data_size {
+            Err(BadColumnLayout::DataOutOfRange)
+        } else {
+            Ok(())
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/columns/column.rs.html b/src/automerge/storage/columns/column.rs.html new file mode 100644 index 00000000..95885c6c --- /dev/null +++ b/src/automerge/storage/columns/column.rs.html @@ -0,0 +1,87 @@ +column.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+
use std::ops::Range;
+
+use crate::columnar::column_range::generic::GenericColumnRange;
+
+use super::{ColumnId, ColumnSpec, ColumnType};
+
+/// A combination of a column specification and the range of data associated with it. Note that
+/// multiple (adjacent) ranges can be associated with one column as some columns are composite.
+/// This is encapsulated in the `GenericColumnRange` type.
+#[derive(Clone, Debug)]
+pub(crate) struct Column {
+    spec: ColumnSpec,
+    range: GenericColumnRange,
+}
+
+impl Column {
+    pub(crate) fn new(spec: ColumnSpec, range: GenericColumnRange) -> Column {
+        Self { spec, range }
+    }
+}
+
+impl Column {
+    pub(crate) fn range(&self) -> Range<usize> {
+        self.range.range()
+    }
+
+    pub(crate) fn into_ranges(self) -> GenericColumnRange {
+        self.range
+    }
+
+    pub(crate) fn col_type(&self) -> ColumnType {
+        self.spec.col_type()
+    }
+
+    pub(crate) fn id(&self) -> ColumnId {
+        self.spec.id()
+    }
+
+    pub(crate) fn spec(&self) -> ColumnSpec {
+        self.spec
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/columns/column_builder.rs.html b/src/automerge/storage/columns/column_builder.rs.html new file mode 100644 index 00000000..55e6d069 --- /dev/null +++ b/src/automerge/storage/columns/column_builder.rs.html @@ -0,0 +1,401 @@ +column_builder.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+
use std::ops::Range;
+
+use crate::columnar::column_range::{
+    generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange},
+    BooleanRange, DeltaRange, RawRange, RleRange, ValueRange,
+};
+
+use super::{Column, ColumnId, ColumnSpec};
+
+pub(crate) struct ColumnBuilder;
+
+impl ColumnBuilder {
+    pub(crate) fn build_actor(spec: ColumnSpec, range: RleRange<u64>) -> Column {
+        Column::new(
+            spec,
+            GenericColumnRange::Simple(SimpleColRange::RleInt(range)),
+        )
+    }
+
+    pub(crate) fn build_string(spec: ColumnSpec, range: RleRange<smol_str::SmolStr>) -> Column {
+        Column::new(
+            spec,
+            GenericColumnRange::Simple(SimpleColRange::RleString(range)),
+        )
+    }
+
+    pub(crate) fn build_integer(spec: ColumnSpec, range: RleRange<u64>) -> Column {
+        Column::new(
+            spec,
+            GenericColumnRange::Simple(SimpleColRange::RleInt(range)),
+        )
+    }
+
+    pub(crate) fn build_delta_integer(spec: ColumnSpec, range: DeltaRange) -> Column {
+        Column::new(
+            spec,
+            GenericColumnRange::Simple(SimpleColRange::Delta(range)),
+        )
+    }
+
+    pub(crate) fn build_boolean(spec: ColumnSpec, range: BooleanRange) -> Column {
+        Column::new(
+            spec,
+            GenericColumnRange::Simple(SimpleColRange::Boolean(range)),
+        )
+    }
+
+    pub(crate) fn start_value(
+        spec: ColumnSpec,
+        meta: RleRange<u64>,
+    ) -> AwaitingRawColumnValueBuilder {
+        AwaitingRawColumnValueBuilder { spec, meta }
+    }
+
+    pub(crate) fn start_group(spec: ColumnSpec, num: RleRange<u64>) -> GroupBuilder {
+        GroupBuilder {
+            spec,
+            num_range: num,
+            columns: Vec::new(),
+        }
+    }
+}
+
+pub(crate) struct AwaitingRawColumnValueBuilder {
+    spec: ColumnSpec,
+    meta: RleRange<u64>,
+}
+
+impl AwaitingRawColumnValueBuilder {
+    pub(crate) fn id(&self) -> ColumnId {
+        self.spec.id()
+    }
+
+    pub(crate) fn meta_range(&self) -> &RleRange<u64> {
+        &self.meta
+    }
+
+    pub(crate) fn build(&mut self, raw: RawRange) -> Column {
+        Column::new(
+            self.spec,
+            GenericColumnRange::Value(ValueRange::new(self.meta.clone(), raw)),
+        )
+    }
+}
+
+#[derive(Debug)]
+pub(crate) struct GroupBuilder {
+    spec: ColumnSpec,
+    num_range: RleRange<u64>,
+    columns: Vec<GroupedColumnRange>,
+}
+
+impl GroupBuilder {
+    pub(crate) fn range(&self) -> Range<usize> {
+        let start = self.num_range.start();
+        let end = self
+            .columns
+            .last()
+            .map(|c| c.range().end)
+            .unwrap_or_else(|| self.num_range.end());
+        start..end
+    }
+
+    pub(crate) fn add_actor(&mut self, _spec: ColumnSpec, range: Range<usize>) {
+        self.columns
+            .push(GroupedColumnRange::Simple(SimpleColRange::RleInt(
+                range.into(),
+            )));
+    }
+
+    pub(crate) fn add_string(&mut self, _spec: ColumnSpec, range: Range<usize>) {
+        self.columns
+            .push(GroupedColumnRange::Simple(SimpleColRange::RleString(
+                range.into(),
+            )));
+    }
+
+    pub(crate) fn add_integer(&mut self, _spec: ColumnSpec, range: Range<usize>) {
+        self.columns
+            .push(GroupedColumnRange::Simple(SimpleColRange::RleInt(
+                range.into(),
+            )));
+    }
+
+    pub(crate) fn add_delta_integer(&mut self, _spec: ColumnSpec, range: Range<usize>) {
+        self.columns
+            .push(GroupedColumnRange::Simple(SimpleColRange::Delta(
+                range.into(),
+            )));
+    }
+
+    pub(crate) fn add_boolean(&mut self, _spec: ColumnSpec, range: Range<usize>) {
+        self.columns
+            .push(GroupedColumnRange::Simple(SimpleColRange::Boolean(
+                range.into(),
+            )));
+    }
+
+    pub(crate) fn start_value(
+        &mut self,
+        _spec: ColumnSpec,
+        meta: Range<usize>,
+    ) -> GroupAwaitingValue {
+        GroupAwaitingValue {
+            spec: self.spec,
+            num_range: self.num_range.clone(),
+            columns: std::mem::take(&mut self.columns),
+            val_meta: meta.into(),
+        }
+    }
+
+    pub(crate) fn finish(&mut self) -> Column {
+        Column::new(
+            self.spec,
+            GenericColumnRange::Group(GroupRange::new(
+                self.num_range.clone(),
+                std::mem::take(&mut self.columns),
+            )),
+        )
+    }
+}
+
+#[derive(Debug)]
+pub(crate) struct GroupAwaitingValue {
+    spec: ColumnSpec,
+    num_range: RleRange<u64>,
+    columns: Vec<GroupedColumnRange>,
+    val_meta: RleRange<u64>,
+}
+
+impl GroupAwaitingValue {
+    pub(crate) fn finish_empty(&mut self) -> GroupBuilder {
+        self.columns.push(GroupedColumnRange::Value(ValueRange::new(
+            self.val_meta.clone(),
+            (0..0).into(),
+        )));
+        GroupBuilder {
+            spec: self.spec,
+            num_range: self.num_range.clone(),
+            columns: std::mem::take(&mut self.columns),
+        }
+    }
+
+    pub(crate) fn finish_value(&mut self, raw: Range<usize>) -> GroupBuilder {
+        self.columns.push(GroupedColumnRange::Value(ValueRange::new(
+            self.val_meta.clone(),
+            raw.into(),
+        )));
+        GroupBuilder {
+            spec: self.spec,
+            num_range: self.num_range.clone(),
+            columns: std::mem::take(&mut self.columns),
+        }
+    }
+
+    pub(crate) fn range(&self) -> Range<usize> {
+        self.num_range.start()..self.val_meta.end()
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/columns/column_specification.rs.html b/src/automerge/storage/columns/column_specification.rs.html new file mode 100644 index 00000000..b59290f2 --- /dev/null +++ b/src/automerge/storage/columns/column_specification.rs.html @@ -0,0 +1,573 @@ +column_specification.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+
/// An implementation of column specifications as specified in [1]
+///
+/// [1]: https://alexjg.github.io/automerge-storage-docs/#column-specifications
+#[derive(Eq, PartialEq, Clone, Copy)]
+pub(crate) struct ColumnSpec(u32);
+
+impl ColumnSpec {
+    pub(crate) fn new(id: ColumnId, col_type: ColumnType, deflate: bool) -> Self {
+        let mut raw = id.0 << 4;
+        raw |= u8::from(col_type) as u32;
+        if deflate {
+            raw |= 0b00001000;
+        } else {
+            raw &= 0b11110111;
+        }
+        ColumnSpec(raw)
+    }
+
+    pub(crate) fn col_type(&self) -> ColumnType {
+        self.0.to_be_bytes()[3].into()
+    }
+
+    pub(crate) fn id(&self) -> ColumnId {
+        ColumnId(self.0 >> 4)
+    }
+
+    pub(crate) fn deflate(&self) -> bool {
+        self.0 & 0b00001000 > 0
+    }
+
+    pub(crate) fn deflated(&self) -> Self {
+        Self::new(self.id(), self.col_type(), true)
+    }
+
+    pub(crate) fn inflated(&self) -> Self {
+        Self::new(self.id(), self.col_type(), false)
+    }
+
+    pub(crate) fn normalize(&self) -> Normalized {
+        Normalized(self.0 & 0b11110111)
+    }
+}
+
+#[derive(PartialEq, PartialOrd)]
+pub(crate) struct Normalized(u32);
+
+impl std::fmt::Debug for ColumnSpec {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        write!(
+            f,
+            "ColumnSpec(id: {:?}, type: {}, deflate: {})",
+            self.id(),
+            self.col_type(),
+            self.deflate()
+        )
+    }
+}
+
+#[derive(Eq, PartialEq, Clone, Copy)]
+pub(crate) struct ColumnId(u32);
+
+impl ColumnId {
+    pub(crate) const fn new(raw: u32) -> Self {
+        ColumnId(raw)
+    }
+}
+
+impl From<u32> for ColumnId {
+    fn from(raw: u32) -> Self {
+        Self(raw)
+    }
+}
+
+impl std::fmt::Debug for ColumnId {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        self.0.fmt(f)
+    }
+}
+
+/// The differente possible column types, as specified in [1]
+///
+/// [1]: https://alexjg.github.io/automerge-storage-docs/#column-specifications
+#[derive(Eq, PartialEq, Clone, Copy, Debug)]
+pub(crate) enum ColumnType {
+    Group,
+    Actor,
+    Integer,
+    DeltaInteger,
+    Boolean,
+    String,
+    ValueMetadata,
+    Value,
+}
+
+impl std::fmt::Display for ColumnType {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        match self {
+            Self::Group => write!(f, "Group"),
+            Self::Actor => write!(f, "Actor"),
+            Self::Integer => write!(f, "Integer"),
+            Self::DeltaInteger => write!(f, "DeltaInteger"),
+            Self::Boolean => write!(f, "Boolean"),
+            Self::String => write!(f, "String"),
+            Self::ValueMetadata => write!(f, "ValueMetadata"),
+            Self::Value => write!(f, "Value"),
+        }
+    }
+}
+
+impl From<u8> for ColumnType {
+    fn from(v: u8) -> Self {
+        let type_bits = v & 0b00000111;
+        match type_bits {
+            0 => Self::Group,
+            1 => Self::Actor,
+            2 => Self::Integer,
+            3 => Self::DeltaInteger,
+            4 => Self::Boolean,
+            5 => Self::String,
+            6 => Self::ValueMetadata,
+            7 => Self::Value,
+            _ => unreachable!(),
+        }
+    }
+}
+
+impl From<ColumnType> for u8 {
+    fn from(ct: ColumnType) -> Self {
+        match ct {
+            ColumnType::Group => 0,
+            ColumnType::Actor => 1,
+            ColumnType::Integer => 2,
+            ColumnType::DeltaInteger => 3,
+            ColumnType::Boolean => 4,
+            ColumnType::String => 5,
+            ColumnType::ValueMetadata => 6,
+            ColumnType::Value => 7,
+        }
+    }
+}
+
+impl From<u32> for ColumnSpec {
+    fn from(raw: u32) -> Self {
+        ColumnSpec(raw)
+    }
+}
+
+impl From<ColumnSpec> for u32 {
+    fn from(spec: ColumnSpec) -> Self {
+        spec.0
+    }
+}
+
+impl From<[u8; 4]> for ColumnSpec {
+    fn from(raw: [u8; 4]) -> Self {
+        u32::from_be_bytes(raw).into()
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+
+    #[test]
+    fn column_spec_encoding() {
+        struct Scenario {
+            id: ColumnId,
+            col_type: ColumnType,
+            int_val: u32,
+        }
+
+        let scenarios = vec![
+            Scenario {
+                id: ColumnId(7),
+                col_type: ColumnType::Group,
+                int_val: 112,
+            },
+            Scenario {
+                id: ColumnId(0),
+                col_type: ColumnType::Actor,
+                int_val: 1,
+            },
+            Scenario {
+                id: ColumnId(0),
+                col_type: ColumnType::Integer,
+                int_val: 2,
+            },
+            Scenario {
+                id: ColumnId(1),
+                col_type: ColumnType::DeltaInteger,
+                int_val: 19,
+            },
+            Scenario {
+                id: ColumnId(3),
+                col_type: ColumnType::Boolean,
+                int_val: 52,
+            },
+            Scenario {
+                id: ColumnId(1),
+                col_type: ColumnType::String,
+                int_val: 21,
+            },
+            Scenario {
+                id: ColumnId(5),
+                col_type: ColumnType::ValueMetadata,
+                int_val: 86,
+            },
+            Scenario {
+                id: ColumnId(5),
+                col_type: ColumnType::Value,
+                int_val: 87,
+            },
+        ];
+
+        for (index, scenario) in scenarios.into_iter().enumerate() {
+            let spec = ColumnSpec::new(scenario.id, scenario.col_type, false);
+
+            let encoded_val = u32::from(spec);
+            if encoded_val != scenario.int_val {
+                panic!(
+                    "Scenario {} failed encoding: expected {} but got {}",
+                    index + 1,
+                    scenario.int_val,
+                    encoded_val
+                );
+            }
+
+            if spec.col_type() != scenario.col_type {
+                panic!(
+                    "Scenario {} failed col type: expected {:?} but got {:?}",
+                    index + 1,
+                    scenario.col_type,
+                    spec.col_type()
+                );
+            }
+
+            if spec.deflate() {
+                panic!(
+                    "Scenario {} failed: spec returned true for deflate, should have been false",
+                    index + 1
+                );
+            }
+
+            if spec.id() != scenario.id {
+                panic!(
+                    "Scenario {} failed id: expected {:?} but got {:?}",
+                    index + 1,
+                    scenario.id,
+                    spec.id()
+                );
+            }
+
+            let deflated = ColumnSpec::new(scenario.id, scenario.col_type, true);
+
+            if deflated.id() != spec.id() {
+                panic!("Scenario {} failed deflate id test", index + 1);
+            }
+
+            if deflated.col_type() != spec.col_type() {
+                panic!("Scenario {} failed col type test", index + 1);
+            }
+
+            if !deflated.deflate() {
+                panic!(
+                    "Scenario {} failed: when deflate bit set deflate returned false",
+                    index + 1
+                );
+            }
+
+            let expected = scenario.int_val | 0b00001000;
+            if expected != u32::from(deflated) {
+                panic!(
+                    "Scenario {} failed deflate bit test, expected {} got {}",
+                    index + 1,
+                    expected,
+                    u32::from(deflated)
+                );
+            }
+
+            if deflated.normalize() != spec.normalize() {
+                panic!("Scenario {} failed normalize test", index + 1);
+            }
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/columns/raw_column.rs.html b/src/automerge/storage/columns/raw_column.rs.html new file mode 100644 index 00000000..649d3817 --- /dev/null +++ b/src/automerge/storage/columns/raw_column.rs.html @@ -0,0 +1,547 @@ +raw_column.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+
use std::{io::Read, marker::PhantomData, ops::Range};
+
+use crate::storage::parse;
+
+use super::{compression, ColumnSpec};
+
+/// This is a "raw" column in the sense that it is just the column specification[1] and range. This
+/// is in contrast to [`super::Column`] which is aware of composite columns such as value columns[2] and
+/// group columns[3].
+///
+/// `RawColumn` is generally an intermediary object which is parsed into a [`super::Column`].
+///
+/// The type parameter `T` is a witness to whether this column is compressed. If `T:
+/// compression::Uncompressed` then we have proved that this column is not compressed, otherwise it
+/// may be compressed.
+///
+/// [1]: https://alexjg.github.io/automerge-storage-docs/#column-specifications
+/// [2]: https://alexjg.github.io/automerge-storage-docs/#raw-value-columns
+/// [3]: https://alexjg.github.io/automerge-storage-docs/#group-columns
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct RawColumn<T: compression::ColumnCompression> {
+    spec: ColumnSpec,
+    /// The location of the data in the column data block. Note that this range starts at the
+    /// beginning of the column data block - i.e. the `data` attribute of the first column in the
+    /// column data block will be 0 - not at the start of the chunk.
+    data: Range<usize>,
+    _phantom: PhantomData<T>,
+}
+
+impl RawColumn<compression::Uncompressed> {
+    pub(crate) fn new(spec: ColumnSpec, data: Range<usize>) -> Self {
+        Self {
+            spec: ColumnSpec::new(spec.id(), spec.col_type(), false),
+            data,
+            _phantom: PhantomData,
+        }
+    }
+}
+
+impl<T: compression::ColumnCompression> RawColumn<T> {
+    pub(crate) fn spec(&self) -> ColumnSpec {
+        self.spec
+    }
+
+    pub(crate) fn data(&self) -> Range<usize> {
+        self.data.clone()
+    }
+
+    fn compress(&self, input: &[u8], out: &mut Vec<u8>, threshold: usize) -> (ColumnSpec, usize) {
+        let (spec, len) = if self.data.len() < threshold || self.spec.deflate() {
+            out.extend(&input[self.data.clone()]);
+            (self.spec, self.data.len())
+        } else {
+            let mut deflater = flate2::bufread::DeflateEncoder::new(
+                &input[self.data.clone()],
+                flate2::Compression::default(),
+            );
+            //This unwrap should be okay as we're reading and writing to in memory buffers
+            (self.spec.deflated(), deflater.read_to_end(out).unwrap())
+        };
+        (spec, len)
+    }
+
+    pub(crate) fn uncompressed(&self) -> Option<RawColumn<compression::Uncompressed>> {
+        if self.spec.deflate() {
+            None
+        } else {
+            Some(RawColumn {
+                spec: self.spec,
+                data: self.data.clone(),
+                _phantom: PhantomData,
+            })
+        }
+    }
+
+    fn decompress(
+        &self,
+        input: &[u8],
+        out: &mut Vec<u8>,
+    ) -> Result<(ColumnSpec, usize), ParseError> {
+        let len = if self.spec.deflate() {
+            let mut inflater = flate2::bufread::DeflateDecoder::new(&input[self.data.clone()]);
+            inflater.read_to_end(out).map_err(ParseError::Deflate)?
+        } else {
+            out.extend(&input[self.data.clone()]);
+            self.data.len()
+        };
+        Ok((self.spec.inflated(), len))
+    }
+}
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) struct RawColumns<T: compression::ColumnCompression>(Vec<RawColumn<T>>);
+
+impl<T: compression::ColumnCompression> RawColumns<T> {
+    /// Returns `Some` if no column in this set of columns is marked as compressed
+    pub(crate) fn uncompressed(&self) -> Option<RawColumns<compression::Uncompressed>> {
+        let mut result = Vec::with_capacity(self.0.len());
+        for col in &self.0 {
+            if let Some(uncomp) = col.uncompressed() {
+                result.push(uncomp);
+            } else {
+                return None;
+            }
+        }
+        Some(RawColumns(result))
+    }
+
+    /// Write each column in `input` represented by `self` into `out`, possibly compressing.
+    ///
+    /// # Returns
+    /// The `RawColumns` corresponding to the data written to `out`
+    ///
+    /// # Panics
+    /// * If any of the ranges in `self` is outside the bounds of `input`
+    pub(crate) fn compress(
+        &self,
+        input: &[u8],
+        out: &mut Vec<u8>,
+        threshold: usize,
+    ) -> RawColumns<compression::Unknown> {
+        let mut result = Vec::with_capacity(self.0.len());
+        let mut start = 0;
+        for col in &self.0 {
+            let (spec, len) = col.compress(input, out, threshold);
+            result.push(RawColumn {
+                spec,
+                data: start..(start + len),
+                _phantom: PhantomData::<compression::Unknown>,
+            });
+            start += len;
+        }
+        RawColumns(result)
+    }
+
+    /// Read each column from `input` and write to `out`, decompressing any compressed columns
+    ///
+    /// # Returns
+    /// The `RawColumns` corresponding to the data written to `out`
+    ///
+    /// # Panics
+    /// * If any of the ranges in `self` is outside the bounds of `input`
+    pub(crate) fn uncompress(
+        &self,
+        input: &[u8],
+        out: &mut Vec<u8>,
+    ) -> Result<RawColumns<compression::Uncompressed>, ParseError> {
+        let mut result = Vec::with_capacity(self.0.len());
+        let mut start = 0;
+        for col in &self.0 {
+            let (spec, len) = if let Some(decomp) = col.uncompressed() {
+                out.extend(&input[decomp.data.clone()]);
+                (decomp.spec, decomp.data.len())
+            } else {
+                col.decompress(input, out)?
+            };
+            result.push(RawColumn {
+                spec,
+                data: start..(start + len),
+                _phantom: PhantomData::<compression::Uncompressed>,
+            });
+            start += len;
+        }
+        Ok(RawColumns(result))
+    }
+}
+
+impl<T: compression::ColumnCompression> FromIterator<RawColumn<T>> for RawColumns<T> {
+    fn from_iter<U: IntoIterator<Item = RawColumn<T>>>(iter: U) -> Self {
+        Self(iter.into_iter().filter(|c| !c.data.is_empty()).collect())
+    }
+}
+
+impl FromIterator<(ColumnSpec, Range<usize>)> for RawColumns<compression::Unknown> {
+    fn from_iter<T: IntoIterator<Item = (ColumnSpec, Range<usize>)>>(iter: T) -> Self {
+        Self(
+            iter.into_iter()
+                .filter_map(|(spec, data)| {
+                    if data.is_empty() {
+                        None
+                    } else {
+                        Some(RawColumn {
+                            spec,
+                            data,
+                            _phantom: PhantomData,
+                        })
+                    }
+                })
+                .collect(),
+        )
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub(crate) enum ParseError {
+    #[error("columns were not in normalized order")]
+    NotInNormalOrder,
+    #[error(transparent)]
+    Leb128(#[from] parse::leb128::Error),
+    #[error(transparent)]
+    Deflate(#[from] std::io::Error),
+}
+
+impl RawColumns<compression::Unknown> {
+    pub(crate) fn parse<E>(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, E>
+    where
+        E: From<ParseError>,
+    {
+        let i = input;
+        let (i, num_columns) = parse::leb128_u64(i).map_err(|e| e.lift())?;
+        let (i, specs_and_lens) = parse::apply_n(
+            num_columns as usize,
+            parse::tuple2(
+                parse::map(parse::leb128_u32, ColumnSpec::from),
+                parse::leb128_u64,
+            ),
+        )(i)
+        .map_err(|e| e.lift())?;
+        let columns: Vec<RawColumn<compression::Unknown>> = specs_and_lens
+            .into_iter()
+            .scan(0_usize, |offset, (spec, len)| {
+                // Note: we use a saturating add here as len was passed over the network
+                // and so could be anything. If the addition does every saturate we would
+                // expect parsing to fail later (but at least it won't panic!).
+                let end = offset.saturating_add(len as usize);
+                let data = *offset..end;
+                *offset = end;
+                Some(RawColumn {
+                    spec,
+                    data,
+                    _phantom: PhantomData,
+                })
+            })
+            .collect::<Vec<_>>();
+        if !are_normal_sorted(&columns) {
+            return Err(parse::ParseError::Error(
+                ParseError::NotInNormalOrder.into(),
+            ));
+        }
+        Ok((i, RawColumns(columns)))
+    }
+}
+
+impl<T: compression::ColumnCompression> RawColumns<T> {
+    pub(crate) fn write(&self, out: &mut Vec<u8>) -> usize {
+        let mut written = leb128::write::unsigned(out, self.0.len() as u64).unwrap();
+        for col in &self.0 {
+            written += leb128::write::unsigned(out, u32::from(col.spec) as u64).unwrap();
+            written += leb128::write::unsigned(out, col.data.len() as u64).unwrap();
+        }
+        written
+    }
+
+    pub(crate) fn total_column_len(&self) -> usize {
+        self.0.iter().map(|c| c.data.len()).sum()
+    }
+
+    pub(crate) fn iter(&self) -> impl Iterator<Item = &RawColumn<T>> + '_ {
+        self.0.iter()
+    }
+}
+
+fn are_normal_sorted<T: compression::ColumnCompression>(cols: &[RawColumn<T>]) -> bool {
+    if cols.len() > 1 {
+        for (i, col) in cols[1..].iter().enumerate() {
+            if col.spec.normalize() < cols[i].spec.normalize() {
+                return false;
+            }
+        }
+    }
+    true
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/convert.rs.html b/src/automerge/storage/convert.rs.html new file mode 100644 index 00000000..14b8903e --- /dev/null +++ b/src/automerge/storage/convert.rs.html @@ -0,0 +1,13 @@ +convert.rs - source
1
+2
+3
+4
+5
+
mod op_as_changeop;
+pub(crate) use op_as_changeop::op_as_actor_id;
+
+mod op_as_docop;
+pub(crate) use op_as_docop::op_as_docop;
+
+
\ No newline at end of file diff --git a/src/automerge/storage/convert/op_as_changeop.rs.html b/src/automerge/storage/convert/op_as_changeop.rs.html new file mode 100644 index 00000000..e09b2621 --- /dev/null +++ b/src/automerge/storage/convert/op_as_changeop.rs.html @@ -0,0 +1,259 @@ +op_as_changeop.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+
/// Types for converting an OpTree op into a `ChangeOp` or a `DocOp`
+use std::borrow::Cow;
+
+use crate::{
+    convert,
+    op_set::OpSetMetadata,
+    storage::AsChangeOp,
+    types::{ActorId, Key, ObjId, Op, OpId, OpType, ScalarValue},
+};
+
+/// Wrap an op in an implementation of `AsChangeOp` which represents actor IDs using a reference to
+/// the actor ID stored in the metadata.
+///
+/// Note that the methods of `AsChangeOp` will panic if the actor is missing from the metadata
+pub(crate) fn op_as_actor_id<'a>(
+    obj: &'a ObjId,
+    op: &'a Op,
+    metadata: &'a OpSetMetadata,
+) -> OpWithMetadata<'a> {
+    OpWithMetadata { obj, op, metadata }
+}
+
+pub(crate) struct OpWithMetadata<'a> {
+    obj: &'a ObjId,
+    op: &'a Op,
+    metadata: &'a OpSetMetadata,
+}
+
+impl<'a> OpWithMetadata<'a> {
+    fn wrap(&self, opid: &'a OpId) -> OpIdWithMetadata<'a> {
+        OpIdWithMetadata {
+            opid,
+            metadata: self.metadata,
+        }
+    }
+}
+
+pub(crate) struct OpIdWithMetadata<'a> {
+    opid: &'a OpId,
+    metadata: &'a OpSetMetadata,
+}
+
+impl<'a> convert::OpId<&'a ActorId> for OpIdWithMetadata<'a> {
+    fn counter(&self) -> u64 {
+        self.opid.counter()
+    }
+
+    fn actor(&self) -> &'a ActorId {
+        self.metadata.actors.get(self.opid.actor())
+    }
+}
+
+pub(crate) struct PredWithMetadata<'a> {
+    op: &'a Op,
+    offset: usize,
+    metadata: &'a OpSetMetadata,
+}
+
+impl<'a> ExactSizeIterator for PredWithMetadata<'a> {
+    fn len(&self) -> usize {
+        self.op.pred.len()
+    }
+}
+
+impl<'a> Iterator for PredWithMetadata<'a> {
+    type Item = OpIdWithMetadata<'a>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        if let Some(op) = self.op.pred.get(self.offset) {
+            self.offset += 1;
+            Some(OpIdWithMetadata {
+                opid: op,
+                metadata: self.metadata,
+            })
+        } else {
+            None
+        }
+    }
+}
+
+impl<'a> AsChangeOp<'a> for OpWithMetadata<'a> {
+    type ActorId = &'a ActorId;
+    type OpId = OpIdWithMetadata<'a>;
+    type PredIter = PredWithMetadata<'a>;
+
+    fn action(&self) -> u64 {
+        self.op.action.action_index()
+    }
+
+    fn insert(&self) -> bool {
+        self.op.insert
+    }
+
+    fn val(&self) -> Cow<'a, ScalarValue> {
+        match &self.op.action {
+            OpType::Make(..) | OpType::Delete => Cow::Owned(ScalarValue::Null),
+            OpType::Increment(i) => Cow::Owned(ScalarValue::Int(*i)),
+            OpType::Put(s) => Cow::Borrowed(s),
+        }
+    }
+
+    fn obj(&self) -> convert::ObjId<Self::OpId> {
+        if self.obj.is_root() {
+            convert::ObjId::Root
+        } else {
+            convert::ObjId::Op(OpIdWithMetadata {
+                opid: self.obj.opid(),
+                metadata: self.metadata,
+            })
+        }
+    }
+
+    fn pred(&self) -> Self::PredIter {
+        PredWithMetadata {
+            op: self.op,
+            offset: 0,
+            metadata: self.metadata,
+        }
+    }
+
+    fn key(&self) -> convert::Key<'a, Self::OpId> {
+        match &self.op.key {
+            Key::Map(idx) => convert::Key::Prop(Cow::Owned(self.metadata.props.get(*idx).into())),
+            Key::Seq(e) if e.is_head() => convert::Key::Elem(convert::ElemId::Head),
+            Key::Seq(e) => convert::Key::Elem(convert::ElemId::Op(self.wrap(&e.0))),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/convert/op_as_docop.rs.html b/src/automerge/storage/convert/op_as_docop.rs.html new file mode 100644 index 00000000..882b3068 --- /dev/null +++ b/src/automerge/storage/convert/op_as_docop.rs.html @@ -0,0 +1,293 @@ +op_as_docop.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+
use std::borrow::Cow;
+
+use crate::{
+    convert,
+    indexed_cache::IndexedCache,
+    storage::AsDocOp,
+    types::{ElemId, Key, ObjId, Op, OpId, OpType, ScalarValue},
+};
+
+/// Create an [`AsDocOp`] implementation for a [`crate::types::Op`]
+///
+/// # Arguments
+/// * actors - A vector where the i'th element is the actor index of the document encoding of actor
+///            i, as returned by [`OpSetMetadata.actors.encode_index`]
+/// * props - An indexed cache containing the properties in this op_as_docop
+/// * obj - The object ID this op refers too
+/// * op - The op itself
+///
+/// # Panics
+///
+/// The methods of the resulting `AsDocOp` implementation will panic if any actor ID in the op
+/// references an index not in `actors` or a property not in `props`
+pub(crate) fn op_as_docop<'a>(
+    actors: &'a [usize],
+    props: &'a IndexedCache<String>,
+    obj: &'a ObjId,
+    op: &'a Op,
+) -> OpAsDocOp<'a> {
+    OpAsDocOp {
+        op,
+        obj,
+        actor_lookup: actors,
+        props,
+    }
+}
+
+pub(crate) struct OpAsDocOp<'a> {
+    op: &'a Op,
+    obj: &'a ObjId,
+    actor_lookup: &'a [usize],
+    props: &'a IndexedCache<String>,
+}
+
+#[derive(Debug)]
+pub(crate) struct DocOpId {
+    actor: usize,
+    counter: u64,
+}
+
+impl convert::OpId<usize> for DocOpId {
+    fn actor(&self) -> usize {
+        self.actor
+    }
+
+    fn counter(&self) -> u64 {
+        self.counter
+    }
+}
+
+impl<'a> OpAsDocOp<'a> {}
+
+impl<'a> AsDocOp<'a> for OpAsDocOp<'a> {
+    type ActorId = usize;
+    type OpId = DocOpId;
+    type SuccIter = OpAsDocOpSuccIter<'a>;
+
+    fn id(&self) -> Self::OpId {
+        translate(self.actor_lookup, &self.op.id)
+    }
+
+    fn obj(&self) -> convert::ObjId<Self::OpId> {
+        if self.obj.is_root() {
+            convert::ObjId::Root
+        } else {
+            convert::ObjId::Op(translate(self.actor_lookup, self.obj.opid()))
+        }
+    }
+
+    fn key(&self) -> convert::Key<'a, Self::OpId> {
+        match self.op.key {
+            Key::Map(idx) => convert::Key::Prop(Cow::Owned(self.props.get(idx).into())),
+            Key::Seq(e) if e.is_head() => convert::Key::Elem(convert::ElemId::Head),
+            Key::Seq(ElemId(o)) => {
+                convert::Key::Elem(convert::ElemId::Op(translate(self.actor_lookup, &o)))
+            }
+        }
+    }
+
+    fn val(&self) -> Cow<'a, crate::ScalarValue> {
+        match &self.op.action {
+            OpType::Put(v) => Cow::Borrowed(v),
+            OpType::Increment(i) => Cow::Owned(ScalarValue::Int(*i)),
+            _ => Cow::Owned(ScalarValue::Null),
+        }
+    }
+
+    fn succ(&self) -> Self::SuccIter {
+        OpAsDocOpSuccIter {
+            op: self.op,
+            offset: 0,
+            actor_index: self.actor_lookup,
+        }
+    }
+
+    fn insert(&self) -> bool {
+        self.op.insert
+    }
+
+    fn action(&self) -> u64 {
+        self.op.action.action_index()
+    }
+}
+
+pub(crate) struct OpAsDocOpSuccIter<'a> {
+    op: &'a Op,
+    offset: usize,
+    actor_index: &'a [usize],
+}
+
+impl<'a> Iterator for OpAsDocOpSuccIter<'a> {
+    type Item = DocOpId;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        if let Some(s) = self.op.succ.get(self.offset) {
+            self.offset += 1;
+            Some(translate(self.actor_index, s))
+        } else {
+            None
+        }
+    }
+}
+
+impl<'a> ExactSizeIterator for OpAsDocOpSuccIter<'a> {
+    fn len(&self) -> usize {
+        self.op.succ.len()
+    }
+}
+
+fn translate<'a>(actor_lookup: &'a [usize], op: &'a OpId) -> DocOpId {
+    let index = actor_lookup[op.actor()];
+    DocOpId {
+        actor: index,
+        counter: op.counter(),
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/document.rs.html b/src/automerge/storage/document.rs.html new file mode 100644 index 00000000..c01fe561 --- /dev/null +++ b/src/automerge/storage/document.rs.html @@ -0,0 +1,689 @@ +document.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+
use std::{borrow::Cow, ops::Range};
+
+use super::{parse, shift_range, ChunkType, Columns, Header, RawColumns};
+
+use crate::{convert, ActorId, ChangeHash};
+
+mod doc_op_columns;
+use doc_op_columns::DocOpColumns;
+pub(crate) use doc_op_columns::{AsDocOp, DocOp, ReadDocOpError};
+mod doc_change_columns;
+use doc_change_columns::DocChangeColumns;
+pub(crate) use doc_change_columns::{AsChangeMeta, ChangeMetadata, ReadChangeError};
+mod compression;
+
+#[allow(dead_code)]
+pub(crate) enum CompressConfig {
+    None,
+    Threshold(usize),
+}
+
+#[derive(Debug)]
+pub(crate) struct Document<'a> {
+    bytes: Cow<'a, [u8]>,
+    #[allow(dead_code)]
+    compressed_bytes: Option<Cow<'a, [u8]>>,
+    header: Header,
+    actors: Vec<ActorId>,
+    heads: Vec<ChangeHash>,
+    op_metadata: DocOpColumns,
+    op_bytes: Range<usize>,
+    change_metadata: DocChangeColumns,
+    change_bytes: Range<usize>,
+    #[allow(dead_code)]
+    head_indices: Vec<u64>,
+}
+
+#[derive(thiserror::Error, Debug)]
+pub(crate) enum ParseError {
+    #[error(transparent)]
+    Leb128(#[from] parse::leb128::Error),
+    #[error(transparent)]
+    RawColumns(#[from] crate::storage::columns::raw_column::ParseError),
+    #[error("bad column layout for {column_type}s: {error}")]
+    BadColumnLayout {
+        column_type: &'static str,
+        error: super::columns::BadColumnLayout,
+    },
+    #[error(transparent)]
+    BadDocOps(#[from] doc_op_columns::Error),
+    #[error(transparent)]
+    BadDocChanges(#[from] doc_change_columns::ReadChangeError),
+}
+
+impl<'a> Document<'a> {
+    /// Parse a document chunk. Input must be the entire chunk including the header and magic
+    /// bytes but the header must already have been parsed. That is to say, this is expected to be
+    /// used like so:
+    ///
+    /// ```rust,ignore
+    /// # use automerge::storage::{parse::{ParseResult, Input}, Document, Header};
+    /// # fn main() -> ParseResult<(), ()> {
+    /// let chunkbytes: &[u8] = todo!();
+    /// let input = Input::new(chunkbytes);
+    /// let (i, header) = Header::parse(input)?;
+    /// let (i, doc) = Document::parse(i, header)?;
+    /// # }
+    /// ```
+    pub(crate) fn parse(
+        input: parse::Input<'a>,
+        header: Header,
+    ) -> parse::ParseResult<'a, Document<'a>, ParseError> {
+        let i = input;
+
+        // Because some columns in a document may be compressed we do some funky stuff when
+        // parsing. As we're parsing the chunk we split the data into four parts:
+        //
+        // .----------------.
+        // | Prefix         |
+        // |.--------------.|
+        // || Actors       ||
+        // || Heads        ||
+        // || Change Meta  ||
+        // || Ops Meta     ||
+        // |'--------------'|
+        // +----------------+
+        // | Change data    |
+        // +----------------+
+        // | Ops data       |
+        // +----------------+
+        // | Suffix         |
+        // |.--------------.|
+        // || Head indices ||
+        // |'--------------'|
+        // '----------------'
+        //
+        // We record the range of each of these sections using `parse::range_of`. Later, we check
+        // if any of the column definitions in change meta or ops meta specify that their columns
+        // are compressed. If there are compressed columns then we copy the uncompressed parts of the
+        // input data to a new output vec, then decompress the compressed parts. Specifically we do
+        // the following:
+        //
+        // * Copy everything in prefix to the output buffer
+        // * If any of change columns are compressed, copy all of change data to the output buffer
+        //   decompressing each compressed column
+        // * Likewise if any of ops columns are compressed copy the data decompressing as required
+        // * Finally copy the suffix
+        //
+        // The reason for all this work is that we end up keeping all of the data behind the
+        // document chunk in a single Vec, which plays nicely with the cache and makes dumping the
+        // document to disk or network straightforward.
+
+        // parse everything in the prefix
+        let (
+            i,
+            parse::RangeOf {
+                range: prefix,
+                value: (actors, heads, change_meta, ops_meta),
+            },
+        ) = parse::range_of(
+            |i| -> parse::ParseResult<'_, _, ParseError> {
+                let (i, actors) = parse::length_prefixed(parse::actor_id)(i)?;
+                let (i, heads) = parse::length_prefixed(parse::change_hash)(i)?;
+                let (i, change_meta) = RawColumns::parse::<ParseError>(i)?;
+                let (i, ops_meta) = RawColumns::parse::<ParseError>(i)?;
+                Ok((i, (actors, heads, change_meta, ops_meta)))
+            },
+            i,
+        )?;
+
+        // parse the change data
+        let (i, parse::RangeOf { range: changes, .. }) =
+            parse::range_of(|i| parse::take_n(change_meta.total_column_len(), i), i)?;
+
+        // parse the ops data
+        let (i, parse::RangeOf { range: ops, .. }) =
+            parse::range_of(|i| parse::take_n(ops_meta.total_column_len(), i), i)?;
+
+        // parse the suffix, which may be empty if this document was produced by an older version
+        // of the JS automerge implementation
+        let (i, suffix, head_indices) = if i.is_empty() {
+            (i, 0..0, Vec::new())
+        } else {
+            let (
+                i,
+                parse::RangeOf {
+                    range: suffix,
+                    value: head_indices,
+                },
+            ) = parse::range_of(
+                |i| parse::apply_n(heads.len(), parse::leb128_u64::<ParseError>)(i),
+                i,
+            )?;
+            (i, suffix, head_indices)
+        };
+
+        let compression::Decompressed {
+            change_bytes,
+            op_bytes,
+            uncompressed,
+            compressed,
+            changes,
+            ops,
+        } = compression::decompress(compression::Args {
+            prefix: prefix.start,
+            suffix: suffix.start,
+            original: Cow::Borrowed(input.bytes()),
+            changes: compression::Cols {
+                data: changes,
+                raw_columns: change_meta,
+            },
+            ops: compression::Cols {
+                data: ops,
+                raw_columns: ops_meta,
+            },
+            extra_args: (),
+        })
+        .map_err(|e| parse::ParseError::Error(ParseError::RawColumns(e)))?;
+
+        let ops_layout = Columns::parse(op_bytes.len(), ops.iter()).map_err(|e| {
+            parse::ParseError::Error(ParseError::BadColumnLayout {
+                column_type: "ops",
+                error: e,
+            })
+        })?;
+        let ops_cols =
+            DocOpColumns::try_from(ops_layout).map_err(|e| parse::ParseError::Error(e.into()))?;
+
+        let change_layout = Columns::parse(change_bytes.len(), changes.iter()).map_err(|e| {
+            parse::ParseError::Error(ParseError::BadColumnLayout {
+                column_type: "changes",
+                error: e,
+            })
+        })?;
+        let change_cols = DocChangeColumns::try_from(change_layout)
+            .map_err(|e| parse::ParseError::Error(e.into()))?;
+
+        Ok((
+            i,
+            Document {
+                bytes: uncompressed,
+                compressed_bytes: compressed,
+                header,
+                actors,
+                heads,
+                op_metadata: ops_cols,
+                op_bytes,
+                change_metadata: change_cols,
+                change_bytes,
+                head_indices,
+            },
+        ))
+    }
+
+    pub(crate) fn new<'b, I, C, IC, D, O>(
+        mut actors: Vec<ActorId>,
+        heads_with_indices: Vec<(ChangeHash, usize)>,
+        ops: I,
+        changes: IC,
+        compress: CompressConfig,
+    ) -> Document<'static>
+    where
+        I: Iterator<Item = D> + Clone + ExactSizeIterator,
+        O: convert::OpId<usize>,
+        D: AsDocOp<'b, OpId = O>,
+        C: AsChangeMeta<'b>,
+        IC: Iterator<Item = C> + Clone,
+    {
+        let mut ops_out = Vec::new();
+        let ops_meta = DocOpColumns::encode(ops, &mut ops_out);
+
+        let mut change_out = Vec::new();
+        let change_meta = DocChangeColumns::encode(changes, &mut change_out);
+        actors.sort_unstable();
+
+        let mut data = Vec::with_capacity(ops_out.len() + change_out.len());
+        leb128::write::unsigned(&mut data, actors.len() as u64).unwrap();
+        for actor in &actors {
+            leb128::write::unsigned(&mut data, actor.to_bytes().len() as u64).unwrap();
+            data.extend(actor.to_bytes());
+        }
+        leb128::write::unsigned(&mut data, heads_with_indices.len() as u64).unwrap();
+        for (head, _) in &heads_with_indices {
+            data.extend(head.as_bytes());
+        }
+        let prefix_len = data.len();
+
+        change_meta.raw_columns().write(&mut data);
+        ops_meta.raw_columns().write(&mut data);
+        let change_start = data.len();
+        let change_end = change_start + change_out.len();
+        data.extend(change_out);
+        let ops_start = data.len();
+        let ops_end = ops_start + ops_out.len();
+        data.extend(ops_out);
+        let suffix_start = data.len();
+
+        let head_indices = heads_with_indices
+            .iter()
+            .map(|(_, i)| *i as u64)
+            .collect::<Vec<_>>();
+        for index in &head_indices {
+            leb128::write::unsigned(&mut data, *index).unwrap();
+        }
+
+        let header = Header::new(ChunkType::Document, &data);
+        let mut bytes = Vec::with_capacity(data.len() + header.len());
+        header.write(&mut bytes);
+        let header_len = bytes.len();
+        bytes.extend(&data);
+
+        let op_bytes = shift_range(ops_start..ops_end, header.len());
+        let change_bytes = shift_range(change_start..change_end, header.len());
+
+        let compressed_bytes = if let CompressConfig::Threshold(threshold) = compress {
+            let compressed = Cow::Owned(compression::compress(compression::Args {
+                prefix: prefix_len + header.len(),
+                suffix: suffix_start + header.len(),
+                ops: compression::Cols {
+                    raw_columns: ops_meta.raw_columns(),
+                    data: op_bytes.clone(),
+                },
+                changes: compression::Cols {
+                    raw_columns: change_meta.raw_columns(),
+                    data: change_bytes.clone(),
+                },
+                original: Cow::Borrowed(&bytes),
+                extra_args: compression::CompressArgs {
+                    threshold,
+                    original_header_len: header_len,
+                },
+            }));
+            Some(compressed)
+        } else {
+            None
+        };
+
+        Document {
+            actors,
+            bytes: Cow::Owned(bytes),
+            compressed_bytes,
+            header,
+            heads: heads_with_indices.into_iter().map(|(h, _)| h).collect(),
+            op_metadata: ops_meta,
+            op_bytes,
+            change_metadata: change_meta,
+            change_bytes,
+            head_indices,
+        }
+    }
+
+    pub(crate) fn iter_ops(
+        &'a self,
+    ) -> impl Iterator<Item = Result<DocOp, ReadDocOpError>> + Clone + 'a {
+        self.op_metadata.iter(&self.bytes[self.op_bytes.clone()])
+    }
+
+    pub(crate) fn iter_changes(
+        &'a self,
+    ) -> impl Iterator<Item = Result<ChangeMetadata<'_>, ReadChangeError>> + Clone + 'a {
+        self.change_metadata
+            .iter(&self.bytes[self.change_bytes.clone()])
+    }
+
+    pub(crate) fn into_bytes(self) -> Vec<u8> {
+        if let Some(compressed) = self.compressed_bytes {
+            compressed.into_owned()
+        } else {
+            self.bytes.into_owned()
+        }
+    }
+
+    pub(crate) fn checksum_valid(&self) -> bool {
+        self.header.checksum_valid()
+    }
+
+    pub(crate) fn actors(&self) -> &[ActorId] {
+        &self.actors
+    }
+
+    pub(crate) fn heads(&self) -> &[ChangeHash] {
+        &self.heads
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/document/compression.rs.html b/src/automerge/storage/document/compression.rs.html new file mode 100644 index 00000000..5afaf9ed --- /dev/null +++ b/src/automerge/storage/document/compression.rs.html @@ -0,0 +1,715 @@ +compression.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+
use std::{borrow::Cow, convert::Infallible, ops::Range};
+
+use crate::storage::{
+    columns::{compression, raw_column},
+    shift_range, ChunkType, Header, RawColumns,
+};
+
+pub(super) struct Args<'a, T: compression::ColumnCompression, DirArgs> {
+    /// The original data of the entire document chunk (compressed or uncompressed)
+    pub(super) original: Cow<'a, [u8]>,
+    /// The number of bytes in the original before the beginning of the change column metadata
+    pub(super) prefix: usize,
+    /// The offset in the original after the end of the ops column data
+    pub(super) suffix: usize,
+    /// The column data for the changes
+    pub(super) changes: Cols<T>,
+    /// The column data for the ops
+    pub(super) ops: Cols<T>,
+    /// Additional arguments specific to the direction (compression or uncompression)
+    pub(super) extra_args: DirArgs,
+}
+
+pub(super) struct CompressArgs {
+    pub(super) threshold: usize,
+    pub(super) original_header_len: usize,
+}
+
+/// Compress a document chunk returning the compressed bytes
+pub(super) fn compress(args: Args<'_, compression::Uncompressed, CompressArgs>) -> Vec<u8> {
+    let header_len = args.extra_args.original_header_len;
+    let threshold = args.extra_args.threshold;
+    // Wrap in a closure so we can use `?` in the construction but still force the compiler
+    // to check that the error type is `Infallible`
+    let result: Result<_, Infallible> = (|| {
+        Ok(Compression::<Compressing, _>::new(
+            args,
+            Compressing {
+                threshold,
+                header_len,
+            },
+        )
+        .changes()?
+        .ops()?
+        .write_data()
+        .finish())
+    })();
+    // We just checked the error is `Infallible` so unwrap is fine
+    result.unwrap()
+}
+
+pub(super) fn decompress<'a>(
+    args: Args<'a, compression::Unknown, ()>,
+) -> Result<Decompressed<'a>, raw_column::ParseError> {
+    match (
+        args.changes.raw_columns.uncompressed(),
+        args.ops.raw_columns.uncompressed(),
+    ) {
+        (Some(changes), Some(ops)) => Ok(Decompressed {
+            changes,
+            ops,
+            compressed: None,
+            uncompressed: args.original,
+            change_bytes: args.changes.data,
+            op_bytes: args.ops.data,
+        }),
+        _ => Ok(
+            Compression::<'a, Decompressing, _>::new(args, Decompressing)
+                .changes()?
+                .ops()?
+                .write_data()
+                .finish(),
+        ),
+    }
+}
+
+pub(super) struct Decompressed<'a> {
+    /// The original compressed data, if there was any
+    pub(super) compressed: Option<Cow<'a, [u8]>>,
+    /// The final uncompressed data
+    pub(super) uncompressed: Cow<'a, [u8]>,
+    /// The ops column metadata
+    pub(super) ops: RawColumns<compression::Uncompressed>,
+    /// The change column metadata
+    pub(super) changes: RawColumns<compression::Uncompressed>,
+    /// The location of the change column data in the uncompressed data
+    pub(super) change_bytes: Range<usize>,
+    /// The location of the op column data in the uncompressed data
+    pub(super) op_bytes: Range<usize>,
+}
+
+struct Compression<'a, D: Direction, S: CompressionState> {
+    args: Args<'a, D::In, D::Args>,
+    state: S,
+    direction: D,
+}
+
+/// Some columns in the original data
+pub(super) struct Cols<T: compression::ColumnCompression> {
+    /// The metadata for these columns
+    pub(super) raw_columns: RawColumns<T>,
+    /// The location in the original chunk of the data for these columns
+    pub(super) data: Range<usize>,
+}
+
+// Compression and decompression involve almost the same steps in either direction. This trait
+// encapsulates that.
+trait Direction: std::fmt::Debug {
+    type Out: compression::ColumnCompression;
+    type In: compression::ColumnCompression;
+    type Error;
+    type Args;
+
+    /// This method represents the (de)compression process for a direction. The arguments are:
+    ///
+    /// * cols - The columns we are processing
+    /// * input - the entire document chunk
+    /// * out - the vector to place the processed columns in
+    /// * meta_out - the vector to place processed column metadata in
+    fn process(
+        &self,
+        cols: &Cols<Self::In>,
+        input: &[u8],
+        out: &mut Vec<u8>,
+        meta_out: &mut Vec<u8>,
+    ) -> Result<Cols<Self::Out>, Self::Error>;
+}
+#[derive(Debug)]
+struct Compressing {
+    threshold: usize,
+    header_len: usize,
+}
+
+impl Direction for Compressing {
+    type Error = Infallible;
+    type Out = compression::Unknown;
+    type In = compression::Uncompressed;
+    type Args = CompressArgs;
+
+    fn process(
+        &self,
+        cols: &Cols<Self::In>,
+        input: &[u8],
+        out: &mut Vec<u8>,
+        meta_out: &mut Vec<u8>,
+    ) -> Result<Cols<Self::Out>, Self::Error> {
+        let start = out.len();
+        let raw_columns = cols
+            .raw_columns
+            .compress(&input[cols.data.clone()], out, self.threshold);
+        raw_columns.write(meta_out);
+        Ok(Cols {
+            data: start..out.len(),
+            raw_columns,
+        })
+    }
+}
+
+#[derive(Debug)]
+struct Decompressing;
+
+impl Direction for Decompressing {
+    type Error = raw_column::ParseError;
+    type Out = compression::Uncompressed;
+    type In = compression::Unknown;
+    type Args = ();
+
+    fn process(
+        &self,
+        cols: &Cols<Self::In>,
+        input: &[u8],
+        out: &mut Vec<u8>,
+        meta_out: &mut Vec<u8>,
+    ) -> Result<Cols<Self::Out>, raw_column::ParseError> {
+        let start = out.len();
+        let raw_columns = cols
+            .raw_columns
+            .uncompress(&input[cols.data.clone()], out)?;
+        raw_columns.write(meta_out);
+        Ok(Cols {
+            data: start..out.len(),
+            raw_columns,
+        })
+    }
+}
+
+// Somewhat absurdly I (alex) kept getting the order of writing ops and changes wrong as well as
+// the order that column metadata vs data should be written in. This is a type state to get the
+// compiler to enforce that things are done in the right order.
+trait CompressionState {}
+impl CompressionState for Starting {}
+impl<D: Direction> CompressionState for Changes<D> {}
+impl<D: Direction> CompressionState for ChangesAndOps<D> {}
+impl<D: Direction> CompressionState for Finished<D> {}
+
+/// We haven't done any processing yet
+struct Starting {
+    /// The vector to write column data to
+    data_out: Vec<u8>,
+    /// The vector to write column metadata to
+    meta_out: Vec<u8>,
+}
+
+/// We've processed the changes columns
+struct Changes<D: Direction> {
+    /// The `Cols` for the processed change columns
+    change_cols: Cols<D::Out>,
+    /// The vector to write column metadata to
+    meta_out: Vec<u8>,
+    /// The vector to write column data to
+    data_out: Vec<u8>,
+}
+
+/// We've processed the ops columns
+struct ChangesAndOps<D: Direction> {
+    /// The `Cols` for the processed change columns
+    change_cols: Cols<D::Out>,
+    /// The `Cols` for the processed op columns
+    ops_cols: Cols<D::Out>,
+    /// The vector to write column metadata to
+    meta_out: Vec<u8>,
+    /// The vector to write column data to
+    data_out: Vec<u8>,
+}
+
+/// We've written the column metadata and the op metadata for changes and ops to the output buffer
+/// and added the prefix and suffix from the args.
+struct Finished<D: Direction> {
+    /// The `Cols` for the processed change columns
+    change_cols: Cols<D::Out>,
+    /// The `Cols` for the processed op columns
+    ops_cols: Cols<D::Out>,
+    /// The start of the change column metadata in the processed chunk
+    data_start: usize,
+    /// The processed chunk
+    out: Vec<u8>,
+}
+
+impl<'a, D: Direction> Compression<'a, D, Starting> {
+    fn new(args: Args<'a, D::In, D::Args>, direction: D) -> Compression<'a, D, Starting> {
+        let mut meta_out = Vec::with_capacity(args.original.len() * 2);
+        meta_out.extend(&args.original[..args.prefix]);
+        Compression {
+            args,
+            direction,
+            state: Starting {
+                meta_out,
+                data_out: Vec::new(),
+            },
+        }
+    }
+}
+
+impl<'a, D: Direction> Compression<'a, D, Starting> {
+    fn changes(self) -> Result<Compression<'a, D, Changes<D>>, D::Error> {
+        let Starting {
+            mut data_out,
+            mut meta_out,
+        } = self.state;
+        let change_cols = self.direction.process(
+            &self.args.changes,
+            &self.args.original,
+            &mut data_out,
+            &mut meta_out,
+        )?;
+        Ok(Compression {
+            args: self.args,
+            direction: self.direction,
+            state: Changes {
+                change_cols,
+                meta_out,
+                data_out,
+            },
+        })
+    }
+}
+
+impl<'a, D: Direction> Compression<'a, D, Changes<D>> {
+    fn ops(self) -> Result<Compression<'a, D, ChangesAndOps<D>>, D::Error> {
+        let Changes {
+            change_cols,
+            mut meta_out,
+            mut data_out,
+        } = self.state;
+        let ops_cols = self.direction.process(
+            &self.args.ops,
+            &self.args.original,
+            &mut data_out,
+            &mut meta_out,
+        )?;
+        Ok(Compression {
+            args: self.args,
+            direction: self.direction,
+            state: ChangesAndOps {
+                change_cols,
+                ops_cols,
+                meta_out,
+                data_out,
+            },
+        })
+    }
+}
+
+impl<'a, D: Direction> Compression<'a, D, ChangesAndOps<D>> {
+    fn write_data(self) -> Compression<'a, D, Finished<D>> {
+        let ChangesAndOps {
+            data_out,
+            mut meta_out,
+            change_cols,
+            ops_cols,
+        } = self.state;
+        let data_start = meta_out.len();
+        meta_out.extend(&data_out);
+        meta_out.extend(&self.args.original[self.args.suffix..]);
+        Compression {
+            args: self.args,
+            direction: self.direction,
+            state: Finished {
+                ops_cols,
+                change_cols,
+                out: meta_out,
+                data_start,
+            },
+        }
+    }
+}
+
+impl<'a> Compression<'a, Decompressing, Finished<Decompressing>> {
+    fn finish(self) -> Decompressed<'a> {
+        let Finished {
+            change_cols,
+            ops_cols,
+            data_start,
+            out,
+        } = self.state;
+        Decompressed {
+            ops: ops_cols.raw_columns,
+            changes: change_cols.raw_columns,
+            uncompressed: Cow::Owned(out),
+            compressed: Some(self.args.original),
+            change_bytes: shift_range(change_cols.data, data_start),
+            op_bytes: shift_range(ops_cols.data, data_start),
+        }
+    }
+}
+
+impl<'a> Compression<'a, Compressing, Finished<Compressing>> {
+    fn finish(self) -> Vec<u8> {
+        let Finished { out, .. } = self.state;
+        let headerless = &out[self.direction.header_len..];
+        let header = Header::new(ChunkType::Document, headerless);
+        let mut result = Vec::with_capacity(header.len() + out.len());
+        header.write(&mut result);
+        result.extend(headerless);
+        result
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/document/doc_change_columns.rs.html b/src/automerge/storage/document/doc_change_columns.rs.html new file mode 100644 index 00000000..17dbef9f --- /dev/null +++ b/src/automerge/storage/document/doc_change_columns.rs.html @@ -0,0 +1,681 @@ +doc_change_columns.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+
use std::{borrow::Cow, convert::TryFrom};
+
+use crate::{
+    columnar::{
+        column_range::{
+            generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange},
+            DeltaRange, DepsIter, DepsRange, RleRange, ValueIter, ValueRange,
+        },
+        encoding::{ColumnDecoder, DecodeColumnError, DeltaDecoder, RleDecoder},
+    },
+    storage::{
+        columns::{compression, ColumnId, ColumnSpec, ColumnType},
+        Columns, MismatchingColumn, RawColumn, RawColumns,
+    },
+    types::ScalarValue,
+};
+
+const ACTOR_COL_ID: ColumnId = ColumnId::new(0);
+const SEQ_COL_ID: ColumnId = ColumnId::new(0);
+const MAX_OP_COL_ID: ColumnId = ColumnId::new(1);
+const TIME_COL_ID: ColumnId = ColumnId::new(2);
+const MESSAGE_COL_ID: ColumnId = ColumnId::new(3);
+const DEPS_COL_ID: ColumnId = ColumnId::new(4);
+const EXTRA_COL_ID: ColumnId = ColumnId::new(5);
+
+#[derive(Debug)]
+pub(crate) struct ChangeMetadata<'a> {
+    pub(crate) actor: usize,
+    pub(crate) seq: u64,
+    pub(crate) max_op: u64,
+    pub(crate) timestamp: i64,
+    pub(crate) message: Option<smol_str::SmolStr>,
+    pub(crate) deps: Vec<u64>,
+    pub(crate) extra: Cow<'a, [u8]>,
+}
+
+/// A row to be encoded as change metadata in the document format
+///
+/// The lifetime `'a` is the lifetime of the extra bytes Cow. For types which cannot
+/// provide a reference (e.g. because they are decoding from some columnar storage on each
+/// iteration) this should be `'static`.
+pub(crate) trait AsChangeMeta<'a> {
+    /// The type of the iterator over dependency indices
+    type DepsIter: Iterator<Item = u64> + ExactSizeIterator;
+
+    fn actor(&self) -> u64;
+    fn seq(&self) -> u64;
+    fn max_op(&self) -> u64;
+    fn timestamp(&self) -> i64;
+    fn message(&self) -> Option<Cow<'a, smol_str::SmolStr>>;
+    fn deps(&self) -> Self::DepsIter;
+    fn extra(&self) -> Cow<'a, [u8]>;
+}
+
+#[derive(Debug, Clone)]
+pub(crate) struct DocChangeColumns {
+    actor: RleRange<u64>,
+    seq: DeltaRange,
+    max_op: DeltaRange,
+    time: DeltaRange,
+    message: RleRange<smol_str::SmolStr>,
+    deps: DepsRange,
+    extra: ValueRange,
+    #[allow(dead_code)]
+    other: Columns,
+}
+
+impl DocChangeColumns {
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> DocChangeColumnIter<'a> {
+        DocChangeColumnIter {
+            actors: self.actor.decoder(data),
+            seq: self.seq.decoder(data),
+            max_op: self.max_op.decoder(data),
+            time: self.time.decoder(data),
+            message: if self.message.is_empty() {
+                None
+            } else {
+                Some(self.message.decoder(data))
+            },
+            deps: self.deps.iter(data),
+            extra: ExtraDecoder {
+                val: self.extra.iter(data),
+            },
+        }
+    }
+
+    pub(crate) fn encode<'a, I, C>(changes: I, out: &mut Vec<u8>) -> DocChangeColumns
+    where
+        C: AsChangeMeta<'a>,
+        I: Iterator<Item = C> + Clone,
+    {
+        let actor = RleRange::<u64>::encode(
+            // TODO: make this fallible once iterators have a try_splice
+            changes.clone().map(|c| Some(c.actor())),
+            out,
+        );
+        let seq = DeltaRange::encode(changes.clone().map(|c| Some(c.seq() as i64)), out);
+        let max_op = DeltaRange::encode(changes.clone().map(|c| Some(c.max_op() as i64)), out);
+        let time = DeltaRange::encode(changes.clone().map(|c| Some(c.timestamp())), out);
+        let message = RleRange::encode(changes.clone().map(|c| c.message()), out);
+        let deps = DepsRange::encode(changes.clone().map(|c| c.deps()), out);
+        let extra = ValueRange::encode(
+            changes.map(|c| Cow::Owned(ScalarValue::Bytes(c.extra().to_vec()))),
+            out,
+        );
+        DocChangeColumns {
+            actor,
+            seq,
+            max_op,
+            time,
+            message,
+            deps,
+            extra,
+            other: Columns::empty(),
+        }
+    }
+
+    pub(crate) fn raw_columns(&self) -> RawColumns<compression::Uncompressed> {
+        let mut cols = vec![
+            RawColumn::new(
+                ColumnSpec::new(ACTOR_COL_ID, ColumnType::Actor, false),
+                self.actor.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(SEQ_COL_ID, ColumnType::DeltaInteger, false),
+                self.seq.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(MAX_OP_COL_ID, ColumnType::DeltaInteger, false),
+                self.max_op.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(TIME_COL_ID, ColumnType::DeltaInteger, false),
+                self.time.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(MESSAGE_COL_ID, ColumnType::String, false),
+                self.message.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(DEPS_COL_ID, ColumnType::Group, false),
+                self.deps.num_range().clone().into(),
+            ),
+        ];
+        if self.deps.deps_range().len() > 0 {
+            cols.push(RawColumn::new(
+                ColumnSpec::new(DEPS_COL_ID, ColumnType::DeltaInteger, false),
+                self.deps.deps_range().clone().into(),
+            ))
+        }
+        cols.push(RawColumn::new(
+            ColumnSpec::new(EXTRA_COL_ID, ColumnType::ValueMetadata, false),
+            self.extra.meta_range().clone().into(),
+        ));
+        if !self.extra.raw_range().is_empty() {
+            cols.push(RawColumn::new(
+                ColumnSpec::new(EXTRA_COL_ID, ColumnType::Value, false),
+                self.extra.raw_range().clone().into(),
+            ))
+        }
+        cols.into_iter().collect()
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub(crate) enum ReadChangeError {
+    #[error("unexpected null value for {0}")]
+    UnexpectedNull(String),
+    #[error("mismatching column types for column {index}")]
+    MismatchingColumn { index: usize },
+    #[error("incorrect value in extra bytes column")]
+    InvalidExtraBytes,
+    #[error(transparent)]
+    ReadColumn(#[from] DecodeColumnError),
+}
+
+impl From<MismatchingColumn> for ReadChangeError {
+    fn from(m: MismatchingColumn) -> Self {
+        Self::MismatchingColumn { index: m.index }
+    }
+}
+
+#[derive(Clone)]
+pub(crate) struct DocChangeColumnIter<'a> {
+    actors: RleDecoder<'a, u64>,
+    seq: DeltaDecoder<'a>,
+    max_op: DeltaDecoder<'a>,
+    time: DeltaDecoder<'a>,
+    message: Option<RleDecoder<'a, smol_str::SmolStr>>,
+    deps: DepsIter<'a>,
+    extra: ExtraDecoder<'a>,
+}
+
+impl<'a> DocChangeColumnIter<'a> {
+    fn try_next(&mut self) -> Result<Option<ChangeMetadata<'a>>, ReadChangeError> {
+        let actor = match self.actors.maybe_next_in_col("actor")? {
+            Some(actor) => actor as usize,
+            None => {
+                // The actor column should always have a value so if the actor iterator returns None that
+                // means we should be done, we check by asserting that all the other iterators
+                // return none (which is what Self::check_done does).
+                if self.check_done() {
+                    return Ok(None);
+                } else {
+                    return Err(ReadChangeError::UnexpectedNull("actor".to_string()));
+                }
+            }
+        };
+        let seq = self.seq.next_in_col("seq").and_then(|seq| {
+            u64::try_from(seq).map_err(|e| DecodeColumnError::invalid_value("seq", e.to_string()))
+        })?;
+        let max_op = self.max_op.next_in_col("max_op").and_then(|seq| {
+            u64::try_from(seq).map_err(|e| DecodeColumnError::invalid_value("seq", e.to_string()))
+        })?;
+        let time = self.time.next_in_col("time")?;
+        let message = if let Some(ref mut message) = self.message {
+            message.maybe_next_in_col("message")?
+        } else {
+            None
+        };
+        let deps = self.deps.next_in_col("deps")?;
+        let extra = self.extra.next().transpose()?.unwrap_or(Cow::Borrowed(&[]));
+        Ok(Some(ChangeMetadata {
+            actor,
+            seq,
+            max_op,
+            timestamp: time,
+            message,
+            deps,
+            extra,
+        }))
+    }
+}
+
+impl<'a> Iterator for DocChangeColumnIter<'a> {
+    type Item = Result<ChangeMetadata<'a>, ReadChangeError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.try_next().transpose()
+    }
+}
+
+impl<'a> DocChangeColumnIter<'a> {
+    fn check_done(&mut self) -> bool {
+        let other_cols = [
+            self.seq.next().is_none(),
+            self.max_op.next().is_none(),
+            self.time.next().is_none(),
+            self.deps.next().is_none(),
+        ];
+        other_cols.iter().any(|f| *f)
+    }
+}
+
+#[derive(Clone)]
+struct ExtraDecoder<'a> {
+    val: ValueIter<'a>,
+}
+
+impl<'a> Iterator for ExtraDecoder<'a> {
+    type Item = Result<Cow<'a, [u8]>, ReadChangeError>;
+    fn next(&mut self) -> Option<Self::Item> {
+        match self.val.next() {
+            Some(Ok(ScalarValue::Bytes(b))) => Some(Ok(Cow::Owned(b))),
+            Some(Ok(_)) => Some(Err(ReadChangeError::InvalidExtraBytes)),
+            Some(Err(e)) => Some(Err(e.into())),
+            None => None,
+        }
+    }
+}
+
+impl TryFrom<Columns> for DocChangeColumns {
+    type Error = ReadChangeError;
+
+    fn try_from(columns: Columns) -> Result<Self, Self::Error> {
+        let mut actor: Option<RleRange<u64>> = None;
+        let mut seq: Option<DeltaRange> = None;
+        let mut max_op: Option<DeltaRange> = None;
+        let mut time: Option<DeltaRange> = None;
+        let mut message: Option<RleRange<smol_str::SmolStr>> = None;
+        let mut deps: Option<DepsRange> = None;
+        let mut extra: Option<ValueRange> = None;
+        let mut other = Columns::empty();
+
+        for (index, col) in columns.into_iter().enumerate() {
+            match (col.id(), col.col_type()) {
+                (ACTOR_COL_ID, ColumnType::Actor) => actor = Some(col.range().into()),
+                (SEQ_COL_ID, ColumnType::DeltaInteger) => seq = Some(col.range().into()),
+                (MAX_OP_COL_ID, ColumnType::DeltaInteger) => max_op = Some(col.range().into()),
+                (TIME_COL_ID, ColumnType::DeltaInteger) => time = Some(col.range().into()),
+                (MESSAGE_COL_ID, ColumnType::String) => message = Some(col.range().into()),
+                (DEPS_COL_ID, ColumnType::Group) => match col.into_ranges() {
+                    GenericColumnRange::Group(GroupRange { num, values }) => {
+                        let mut cols = values.into_iter();
+                        let deps_group = num;
+                        let first = cols.next();
+                        let deps_index = match first {
+                            Some(GroupedColumnRange::Simple(SimpleColRange::Delta(
+                                index_range,
+                            ))) => index_range,
+                            Some(_) => {
+                                tracing::error!(
+                                    "deps column contained more than one grouped column"
+                                );
+                                return Err(ReadChangeError::MismatchingColumn { index: 5 });
+                            }
+                            None => (0..0).into(),
+                        };
+                        if cols.next().is_some() {
+                            return Err(ReadChangeError::MismatchingColumn { index });
+                        }
+                        deps = Some(DepsRange::new(deps_group, deps_index));
+                    }
+                    _ => return Err(ReadChangeError::MismatchingColumn { index }),
+                },
+                (EXTRA_COL_ID, ColumnType::ValueMetadata) => match col.into_ranges() {
+                    GenericColumnRange::Value(val) => {
+                        extra = Some(val);
+                    }
+                    _ => return Err(ReadChangeError::MismatchingColumn { index }),
+                },
+                (other_id, other_type) => {
+                    tracing::warn!(id=?other_id, typ=?other_type, "unknown column");
+                    other.append(col);
+                }
+            }
+        }
+        Ok(DocChangeColumns {
+            actor: actor.unwrap_or_else(|| (0..0).into()),
+            seq: seq.unwrap_or_else(|| (0..0).into()),
+            max_op: max_op.unwrap_or_else(|| (0..0).into()),
+            time: time.unwrap_or_else(|| (0..0).into()),
+            message: message.unwrap_or_else(|| (0..0).into()),
+            deps: deps.unwrap_or_else(|| DepsRange::new((0..0).into(), (0..0).into())),
+            extra: extra.unwrap_or_else(|| ValueRange::new((0..0).into(), (0..0).into())),
+            other,
+        })
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/document/doc_op_columns.rs.html b/src/automerge/storage/document/doc_op_columns.rs.html new file mode 100644 index 00000000..1f2ea7d1 --- /dev/null +++ b/src/automerge/storage/document/doc_op_columns.rs.html @@ -0,0 +1,903 @@ +doc_op_columns.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+
use std::{borrow::Cow, convert::TryFrom};
+
+use crate::{
+    columnar::{
+        column_range::{
+            generic::{GenericColumnRange, GroupRange, GroupedColumnRange, SimpleColRange},
+            BooleanRange, DeltaRange, Key, KeyEncoder, KeyIter, KeyRange, ObjIdEncoder, ObjIdIter,
+            ObjIdRange, OpIdEncoder, OpIdIter, OpIdListEncoder, OpIdListIter, OpIdListRange,
+            OpIdRange, RleRange, ValueEncoder, ValueIter, ValueRange,
+        },
+        encoding::{
+            BooleanDecoder, BooleanEncoder, ColumnDecoder, DecodeColumnError, RleDecoder,
+            RleEncoder,
+        },
+    },
+    convert,
+    storage::{
+        columns::{compression, ColumnId, ColumnSpec, ColumnType},
+        Columns, MismatchingColumn, RawColumn, RawColumns,
+    },
+    types::{ObjId, OpId, ScalarValue},
+};
+
+const OBJ_COL_ID: ColumnId = ColumnId::new(0);
+const KEY_COL_ID: ColumnId = ColumnId::new(1);
+const ID_COL_ID: ColumnId = ColumnId::new(2);
+const INSERT_COL_ID: ColumnId = ColumnId::new(3);
+const ACTION_COL_ID: ColumnId = ColumnId::new(4);
+const VAL_COL_ID: ColumnId = ColumnId::new(5);
+const SUCC_COL_ID: ColumnId = ColumnId::new(8);
+
+/// The form operations take in the compressed document format.
+#[derive(Debug)]
+pub(crate) struct DocOp {
+    pub(crate) id: OpId,
+    pub(crate) object: ObjId,
+    pub(crate) key: Key,
+    pub(crate) insert: bool,
+    pub(crate) action: usize,
+    pub(crate) value: ScalarValue,
+    pub(crate) succ: Vec<OpId>,
+}
+
+#[derive(Debug, Clone)]
+pub(crate) struct DocOpColumns {
+    obj: Option<ObjIdRange>,
+    key: KeyRange,
+    id: OpIdRange,
+    insert: BooleanRange,
+    action: RleRange<u64>,
+    val: ValueRange,
+    succ: OpIdListRange,
+    #[allow(dead_code)]
+    other: Columns,
+}
+
+struct DocId {
+    actor: usize,
+    counter: u64,
+}
+
+impl convert::OpId<usize> for DocId {
+    fn actor(&self) -> usize {
+        self.actor
+    }
+
+    fn counter(&self) -> u64 {
+        self.counter
+    }
+}
+
+/// A row to be encoded as an op in the document format
+///
+/// The lifetime `'a` is the lifetime of the value and key data types. For types which cannot
+/// provide a reference (e.g. because they are decoding from some columnar storage on each
+/// iteration) this should be `'static`.
+pub(crate) trait AsDocOp<'a> {
+    /// The type of the Actor ID component of the op IDs for this impl. This is typically either
+    /// `&'a ActorID` or `usize`
+    type ActorId;
+    /// The type of the op IDs this impl produces.
+    type OpId: convert::OpId<Self::ActorId>;
+    /// The type of the successor iterator returned by `Self::pred`. This can often be omitted
+    type SuccIter: Iterator<Item = Self::OpId> + ExactSizeIterator;
+
+    fn obj(&self) -> convert::ObjId<Self::OpId>;
+    fn id(&self) -> Self::OpId;
+    fn key(&self) -> convert::Key<'a, Self::OpId>;
+    fn insert(&self) -> bool;
+    fn action(&self) -> u64;
+    fn val(&self) -> Cow<'a, ScalarValue>;
+    fn succ(&self) -> Self::SuccIter;
+}
+
+impl DocOpColumns {
+    pub(crate) fn encode<'a, I, C, O>(ops: I, out: &mut Vec<u8>) -> DocOpColumns
+    where
+        I: Iterator<Item = C> + Clone + ExactSizeIterator,
+        O: convert::OpId<usize>,
+        C: AsDocOp<'a, OpId = O>,
+    {
+        if ops.len() > 30000 {
+            Self::encode_rowwise(ops, out)
+        } else {
+            Self::encode_columnwise(ops, out)
+        }
+    }
+
+    fn encode_columnwise<'a, I, O, C>(ops: I, out: &mut Vec<u8>) -> DocOpColumns
+    where
+        I: Iterator<Item = C> + Clone,
+        O: convert::OpId<usize>,
+        C: AsDocOp<'a, OpId = O>,
+    {
+        let obj = ObjIdRange::encode(ops.clone().map(|o| o.obj()), out);
+        let key = KeyRange::encode(ops.clone().map(|o| o.key()), out);
+        let id = OpIdRange::encode(ops.clone().map(|o| o.id()), out);
+        let insert = BooleanRange::encode(ops.clone().map(|o| o.insert()), out);
+        let action = RleRange::encode(ops.clone().map(|o| Some(o.action())), out);
+        let val = ValueRange::encode(ops.clone().map(|o| o.val()), out);
+        let succ = OpIdListRange::encode(ops.map(|o| o.succ()), out);
+        Self {
+            obj,
+            key,
+            id,
+            insert,
+            action,
+            val,
+            succ,
+            other: Columns::empty(),
+        }
+    }
+
+    fn encode_rowwise<'a, I, O, C>(ops: I, out: &mut Vec<u8>) -> DocOpColumns
+    where
+        I: Iterator<Item = C>,
+        O: convert::OpId<usize>,
+        C: AsDocOp<'a, OpId = O>,
+    {
+        let mut obj = ObjIdEncoder::new();
+        let mut key = KeyEncoder::new();
+        let mut id = OpIdEncoder::new();
+        let mut insert = BooleanEncoder::new();
+        let mut action = RleEncoder::<_, u64>::from(Vec::new());
+        let mut val = ValueEncoder::new();
+        let mut succ = OpIdListEncoder::new();
+        for op in ops {
+            obj.append(op.obj());
+            key.append(op.key());
+            id.append(op.id());
+            insert.append(op.insert());
+            action.append(Some(op.action()));
+            val.append(&op.val());
+            succ.append(op.succ());
+        }
+        let obj = obj.finish(out);
+        let key = key.finish(out);
+        let id = id.finish(out);
+
+        let insert_start = out.len();
+        let (insert_out, _) = insert.finish();
+        out.extend(insert_out);
+        let insert = BooleanRange::from(insert_start..out.len());
+
+        let action_start = out.len();
+        let (action_out, _) = action.finish();
+        out.extend(action_out);
+        let action = RleRange::from(action_start..out.len());
+
+        let val = val.finish(out);
+        let succ = succ.finish(out);
+        DocOpColumns {
+            obj,
+            key,
+            id,
+            insert,
+            action,
+            val,
+            succ,
+            other: Columns::empty(),
+        }
+    }
+
+    pub(crate) fn iter<'a>(&self, data: &'a [u8]) -> DocOpColumnIter<'a> {
+        DocOpColumnIter {
+            id: self.id.iter(data),
+            action: self.action.decoder(data),
+            objs: self.obj.as_ref().map(|o| o.iter(data)),
+            keys: self.key.iter(data),
+            insert: self.insert.decoder(data),
+            value: self.val.iter(data),
+            succ: self.succ.iter(data),
+        }
+    }
+
+    pub(crate) fn raw_columns(&self) -> RawColumns<compression::Uncompressed> {
+        let mut cols = vec![
+            RawColumn::new(
+                ColumnSpec::new(OBJ_COL_ID, ColumnType::Actor, false),
+                self.obj
+                    .as_ref()
+                    .map(|o| o.actor_range().clone().into())
+                    .unwrap_or(0..0),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(OBJ_COL_ID, ColumnType::Integer, false),
+                self.obj
+                    .as_ref()
+                    .map(|o| o.counter_range().clone().into())
+                    .unwrap_or(0..0),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(KEY_COL_ID, ColumnType::Actor, false),
+                self.key.actor_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(KEY_COL_ID, ColumnType::DeltaInteger, false),
+                self.key.counter_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(KEY_COL_ID, ColumnType::String, false),
+                self.key.string_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(ID_COL_ID, ColumnType::Actor, false),
+                self.id.actor_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(ID_COL_ID, ColumnType::DeltaInteger, false),
+                self.id.counter_range().clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(INSERT_COL_ID, ColumnType::Boolean, false),
+                self.insert.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(ACTION_COL_ID, ColumnType::Integer, false),
+                self.action.clone().into(),
+            ),
+            RawColumn::new(
+                ColumnSpec::new(VAL_COL_ID, ColumnType::ValueMetadata, false),
+                self.val.meta_range().clone().into(),
+            ),
+        ];
+        if !self.val.raw_range().is_empty() {
+            cols.push(RawColumn::new(
+                ColumnSpec::new(VAL_COL_ID, ColumnType::Value, false),
+                self.val.raw_range().clone().into(),
+            ));
+        }
+        cols.push(RawColumn::new(
+            ColumnSpec::new(SUCC_COL_ID, ColumnType::Group, false),
+            self.succ.group_range().clone().into(),
+        ));
+        if !self.succ.actor_range().is_empty() {
+            cols.extend([
+                RawColumn::new(
+                    ColumnSpec::new(SUCC_COL_ID, ColumnType::Actor, false),
+                    self.succ.actor_range().clone().into(),
+                ),
+                RawColumn::new(
+                    ColumnSpec::new(SUCC_COL_ID, ColumnType::DeltaInteger, false),
+                    self.succ.counter_range().clone().into(),
+                ),
+            ]);
+        }
+        cols.into_iter().collect()
+    }
+}
+
+#[derive(Clone)]
+pub(crate) struct DocOpColumnIter<'a> {
+    id: OpIdIter<'a>,
+    action: RleDecoder<'a, u64>,
+    objs: Option<ObjIdIter<'a>>,
+    keys: KeyIter<'a>,
+    insert: BooleanDecoder<'a>,
+    value: ValueIter<'a>,
+    succ: OpIdListIter<'a>,
+}
+
+impl<'a> DocOpColumnIter<'a> {
+    fn done(&self) -> bool {
+        self.id.done()
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+#[error(transparent)]
+pub(crate) struct ReadDocOpError(#[from] DecodeColumnError);
+
+impl<'a> Iterator for DocOpColumnIter<'a> {
+    type Item = Result<DocOp, ReadDocOpError>;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        if self.done() {
+            None
+        } else {
+            match self.try_next() {
+                Ok(Some(op)) => Some(Ok(op)),
+                Ok(None) => None,
+                Err(e) => Some(Err(e.into())),
+            }
+        }
+    }
+}
+
+impl<'a> DocOpColumnIter<'a> {
+    fn try_next(&mut self) -> Result<Option<DocOp>, DecodeColumnError> {
+        if self.done() {
+            Ok(None)
+        } else {
+            let id = self.id.next_in_col("id")?;
+            let action = self.action.next_in_col("action")?;
+            let obj = if let Some(ref mut objs) = self.objs {
+                objs.next_in_col("obj")?
+            } else {
+                ObjId::root()
+            };
+            let key = self.keys.next_in_col("key")?;
+            let value = self.value.next_in_col("value")?;
+            let succ = self.succ.next_in_col("succ")?;
+            let insert = self.insert.next_in_col("insert")?;
+            Ok(Some(DocOp {
+                id,
+                value,
+                action: action as usize,
+                object: obj,
+                key,
+                succ,
+                insert,
+            }))
+        }
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub(crate) enum Error {
+    #[error("mismatching column at {index}.")]
+    MismatchingColumn { index: usize },
+}
+
+impl From<MismatchingColumn> for Error {
+    fn from(m: MismatchingColumn) -> Self {
+        Error::MismatchingColumn { index: m.index }
+    }
+}
+
+impl TryFrom<Columns> for DocOpColumns {
+    type Error = Error;
+
+    fn try_from(columns: Columns) -> Result<Self, Self::Error> {
+        let mut obj_actor: Option<RleRange<u64>> = None;
+        let mut obj_ctr: Option<RleRange<u64>> = None;
+        let mut key_actor: Option<RleRange<u64>> = None;
+        let mut key_ctr: Option<DeltaRange> = None;
+        let mut key_str: Option<RleRange<smol_str::SmolStr>> = None;
+        let mut id_actor: Option<RleRange<u64>> = None;
+        let mut id_ctr: Option<DeltaRange> = None;
+        let mut insert: Option<BooleanRange> = None;
+        let mut action: Option<RleRange<u64>> = None;
+        let mut val: Option<ValueRange> = None;
+        let mut succ_group: Option<RleRange<u64>> = None;
+        let mut succ_actor: Option<RleRange<u64>> = None;
+        let mut succ_ctr: Option<DeltaRange> = None;
+        let mut other = Columns::empty();
+
+        for (index, col) in columns.into_iter().enumerate() {
+            match (col.id(), col.col_type()) {
+                (ID_COL_ID, ColumnType::Actor) => id_actor = Some(col.range().into()),
+                (ID_COL_ID, ColumnType::DeltaInteger) => id_ctr = Some(col.range().into()),
+                (OBJ_COL_ID, ColumnType::Actor) => obj_actor = Some(col.range().into()),
+                (OBJ_COL_ID, ColumnType::Integer) => obj_ctr = Some(col.range().into()),
+                (KEY_COL_ID, ColumnType::Actor) => key_actor = Some(col.range().into()),
+                (KEY_COL_ID, ColumnType::DeltaInteger) => key_ctr = Some(col.range().into()),
+                (KEY_COL_ID, ColumnType::String) => key_str = Some(col.range().into()),
+                (INSERT_COL_ID, ColumnType::Boolean) => insert = Some(col.range().into()),
+                (ACTION_COL_ID, ColumnType::Integer) => action = Some(col.range().into()),
+                (VAL_COL_ID, ColumnType::ValueMetadata) => match col.into_ranges() {
+                    GenericColumnRange::Value(v) => val = Some(v),
+                    _ => {
+                        tracing::error!("col 9 should be a value column");
+                        return Err(Error::MismatchingColumn { index });
+                    }
+                },
+                (SUCC_COL_ID, ColumnType::Group) => match col.into_ranges() {
+                    GenericColumnRange::Group(GroupRange { num, values }) => {
+                        let mut cols = values.into_iter();
+                        let first = cols.next();
+                        let second = cols.next();
+                        succ_group = Some(num);
+                        match (first, second) {
+                            (
+                                Some(GroupedColumnRange::Simple(SimpleColRange::RleInt(
+                                    actor_range,
+                                ))),
+                                Some(GroupedColumnRange::Simple(SimpleColRange::Delta(ctr_range))),
+                            ) => {
+                                succ_actor = Some(actor_range);
+                                succ_ctr = Some(ctr_range);
+                            }
+                            (None, None) => {
+                                succ_actor = Some((0..0).into());
+                                succ_ctr = Some((0..0).into());
+                            }
+                            _ => {
+                                tracing::error!(
+                                    "expected a two column group of (actor, rle int) for index 10"
+                                );
+                                return Err(Error::MismatchingColumn { index });
+                            }
+                        };
+                        if cols.next().is_some() {
+                            return Err(Error::MismatchingColumn { index });
+                        }
+                    }
+                    _ => return Err(Error::MismatchingColumn { index }),
+                },
+                (other_col, other_type) => {
+                    tracing::warn!(id=?other_col, typ=?other_type, "unknown column type");
+                    other.append(col)
+                }
+            }
+        }
+        Ok(DocOpColumns {
+            obj: ObjIdRange::new(
+                obj_actor.unwrap_or_else(|| (0..0).into()),
+                obj_ctr.unwrap_or_else(|| (0..0).into()),
+            ),
+            key: KeyRange::new(
+                key_actor.unwrap_or_else(|| (0..0).into()),
+                key_ctr.unwrap_or_else(|| (0..0).into()),
+                key_str.unwrap_or_else(|| (0..0).into()),
+            ),
+            id: OpIdRange::new(
+                id_actor.unwrap_or_else(|| (0..0).into()),
+                id_ctr.unwrap_or_else(|| (0..0).into()),
+            ),
+            insert: insert.unwrap_or_else(|| (0..0).into()),
+            action: action.unwrap_or_else(|| (0..0).into()),
+            val: val.unwrap_or_else(|| ValueRange::new((0..0).into(), (0..0).into())),
+            succ: OpIdListRange::new(
+                succ_group.unwrap_or_else(|| (0..0).into()),
+                succ_actor.unwrap_or_else(|| (0..0).into()),
+                succ_ctr.unwrap_or_else(|| (0..0).into()),
+            ),
+            other,
+        })
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/load.rs.html b/src/automerge/storage/load.rs.html new file mode 100644 index 00000000..f1222103 --- /dev/null +++ b/src/automerge/storage/load.rs.html @@ -0,0 +1,243 @@ +load.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+
use tracing::instrument;
+
+use crate::{
+    change::Change,
+    storage::{self, parse},
+};
+
+mod change_collector;
+mod reconstruct_document;
+pub(crate) use reconstruct_document::{
+    reconstruct_document, DocObserver, LoadedObject, Reconstructed, VerificationMode,
+};
+
+#[derive(Debug, thiserror::Error)]
+#[allow(unreachable_pub)]
+pub enum Error {
+    #[error("unable to parse chunk: {0}")]
+    Parse(Box<dyn std::error::Error + Send + Sync + 'static>),
+    #[error("invalid change columns: {0}")]
+    InvalidChangeColumns(Box<dyn std::error::Error + Send + Sync + 'static>),
+    #[error("invalid ops columns: {0}")]
+    InvalidOpsColumns(Box<dyn std::error::Error + Send + Sync + 'static>),
+    #[error("a chunk contained leftover data")]
+    LeftoverData,
+    #[error("error inflating document chunk ops: {0}")]
+    InflateDocument(Box<dyn std::error::Error + Send + Sync + 'static>),
+    #[error("bad checksum")]
+    BadChecksum,
+}
+
+pub(crate) enum LoadedChanges<'a> {
+    /// All the data was succesfully loaded into a list of changes
+    Complete(Vec<Change>),
+    /// We only managed to load _some_ changes.
+    Partial {
+        /// The succesfully loaded changes
+        loaded: Vec<Change>,
+        /// The data which we were unable to parse
+        #[allow(dead_code)]
+        remaining: parse::Input<'a>,
+        /// The error encountered whilst trying to parse `remaining`
+        error: Error,
+    },
+}
+
+/// Attempt to Load all the chunks in `data`.
+///
+/// # Partial Loads
+///
+/// Automerge documents are encoded as one or more concatenated chunks. Each chunk containing one
+/// or more changes. This means it is possible to partially load corrupted data if the first `n`
+/// chunks are valid. This function returns a `LoadedChanges` which you can examine to determine if
+/// this is the case.
+#[instrument(skip(data))]
+pub(crate) fn load_changes<'a>(mut data: parse::Input<'a>) -> LoadedChanges<'a> {
+    let mut changes = Vec::new();
+    while !data.is_empty() {
+        let remaining = match load_next_change(data, &mut changes) {
+            Ok(d) => d,
+            Err(e) => {
+                return LoadedChanges::Partial {
+                    loaded: changes,
+                    remaining: data,
+                    error: e,
+                };
+            }
+        };
+        data = remaining.reset();
+    }
+    LoadedChanges::Complete(changes)
+}
+
+fn load_next_change<'a>(
+    data: parse::Input<'a>,
+    changes: &mut Vec<Change>,
+) -> Result<parse::Input<'a>, Error> {
+    let (remaining, chunk) = storage::Chunk::parse(data).map_err(|e| Error::Parse(Box::new(e)))?;
+    if !chunk.checksum_valid() {
+        return Err(Error::BadChecksum);
+    }
+    match chunk {
+        storage::Chunk::Document(d) => {
+            tracing::trace!("loading document chunk");
+            let Reconstructed {
+                changes: new_changes,
+                ..
+            } = reconstruct_document(&d, VerificationMode::DontCheck, NullObserver)
+                .map_err(|e| Error::InflateDocument(Box::new(e)))?;
+            changes.extend(new_changes);
+        }
+        storage::Chunk::Change(change) => {
+            tracing::trace!("loading change chunk");
+            let change = Change::new_from_unverified(change.into_owned(), None)
+                .map_err(|e| Error::InvalidChangeColumns(Box::new(e)))?;
+            #[cfg(debug_assertions)]
+            {
+                let loaded_ops = change.iter_ops().collect::<Vec<_>>();
+                tracing::trace!(actor=?change.actor_id(), num_ops=change.len(), ops=?loaded_ops, "loaded change");
+            }
+            #[cfg(not(debug_assertions))]
+            tracing::trace!(actor=?change.actor_id(), num_ops=change.len(), "loaded change");
+            changes.push(change);
+        }
+        storage::Chunk::CompressedChange(change, compressed) => {
+            tracing::trace!("loading compressed change chunk");
+            let change =
+                Change::new_from_unverified(change.into_owned(), Some(compressed.into_owned()))
+                    .map_err(|e| Error::InvalidChangeColumns(Box::new(e)))?;
+            changes.push(change);
+        }
+    };
+    Ok(remaining)
+}
+
+struct NullObserver;
+impl DocObserver for NullObserver {
+    type Output = ();
+    fn finish(self, _metadata: crate::op_tree::OpSetMetadata) -> Self::Output {}
+    fn object_loaded(&mut self, _object: LoadedObject) {}
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/load/change_collector.rs.html b/src/automerge/storage/load/change_collector.rs.html new file mode 100644 index 00000000..8ea74ffa --- /dev/null +++ b/src/automerge/storage/load/change_collector.rs.html @@ -0,0 +1,447 @@ +change_collector.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+
use std::{
+    borrow::Cow,
+    collections::{BTreeSet, HashMap},
+    num::NonZeroU64,
+};
+
+use tracing::instrument;
+
+use crate::{
+    op_tree::OpSetMetadata,
+    storage::{
+        change::{PredOutOfOrder, Verified},
+        convert::op_as_actor_id,
+        Change as StoredChange, ChangeMetadata,
+    },
+    types::{ChangeHash, ObjId, Op},
+};
+
+#[derive(Debug, thiserror::Error)]
+pub(crate) enum Error {
+    #[error("a change referenced an actor index we couldn't find")]
+    MissingActor,
+    #[error("changes out of order")]
+    ChangesOutOfOrder,
+    #[error("missing change")]
+    MissingChange,
+    #[error("unable to read change metadata: {0}")]
+    ReadChange(Box<dyn std::error::Error + Send + Sync + 'static>),
+    #[error("incorrect max op")]
+    IncorrectMaxOp,
+    #[error("missing ops")]
+    MissingOps,
+}
+
+pub(crate) struct ChangeCollector<'a> {
+    changes_by_actor: HashMap<usize, Vec<PartialChange<'a>>>,
+}
+
+pub(crate) struct CollectedChanges<'a> {
+    pub(crate) history: Vec<StoredChange<'a, Verified>>,
+    pub(crate) heads: BTreeSet<ChangeHash>,
+}
+
+impl<'a> ChangeCollector<'a> {
+    pub(crate) fn new<E: std::error::Error + Send + Sync + 'static, I>(
+        changes: I,
+    ) -> Result<ChangeCollector<'a>, Error>
+    where
+        I: IntoIterator<Item = Result<ChangeMetadata<'a>, E>>,
+    {
+        let mut changes_by_actor: HashMap<usize, Vec<PartialChange<'_>>> = HashMap::new();
+        for (index, change) in changes.into_iter().enumerate() {
+            tracing::trace!(?change, "importing change metadata");
+            let change = change.map_err(|e| Error::ReadChange(Box::new(e)))?;
+            let actor_changes = changes_by_actor.entry(change.actor).or_default();
+            if let Some(prev) = actor_changes.last() {
+                // Note that we allow max_op to be equal to the previous max_op in case the
+                // previous change had no ops (which is permitted)
+                if prev.max_op > change.max_op {
+                    return Err(Error::ChangesOutOfOrder);
+                }
+            }
+            actor_changes.push(PartialChange {
+                index,
+                deps: change.deps,
+                actor: change.actor,
+                seq: change.seq,
+                timestamp: change.timestamp,
+                max_op: change.max_op,
+                message: change.message,
+                extra_bytes: change.extra,
+                ops: Vec::new(),
+            })
+        }
+        let num_changes: usize = changes_by_actor.values().map(|v| v.len()).sum();
+        tracing::trace!(num_changes, "change collection context created");
+        Ok(ChangeCollector { changes_by_actor })
+    }
+
+    #[instrument(skip(self))]
+    pub(crate) fn collect(&mut self, obj: ObjId, op: Op) -> Result<(), Error> {
+        let actor_changes = self
+            .changes_by_actor
+            .get_mut(&op.id.actor())
+            .ok_or_else(|| {
+                tracing::error!(missing_actor = op.id.actor(), "missing actor for op");
+                Error::MissingActor
+            })?;
+        let change_index = actor_changes.partition_point(|c| c.max_op < op.id.counter());
+        let change = actor_changes.get_mut(change_index).ok_or_else(|| {
+            tracing::error!(missing_change_index = change_index, "missing change for op");
+            Error::MissingChange
+        })?;
+        change.ops.push((obj, op));
+        Ok(())
+    }
+
+    #[instrument(skip(self, metadata))]
+    pub(crate) fn finish(
+        self,
+        metadata: &OpSetMetadata,
+    ) -> Result<CollectedChanges<'static>, Error> {
+        let mut changes_in_order =
+            Vec::with_capacity(self.changes_by_actor.values().map(|c| c.len()).sum());
+        for (_, changes) in self.changes_by_actor {
+            let mut seq = None;
+            for change in changes {
+                if let Some(seq) = seq {
+                    if seq != change.seq - 1 {
+                        return Err(Error::ChangesOutOfOrder);
+                    }
+                } else if change.seq != 1 {
+                    return Err(Error::ChangesOutOfOrder);
+                }
+                seq = Some(change.seq);
+                changes_in_order.push(change);
+            }
+        }
+        changes_in_order.sort_by_key(|c| c.index);
+
+        let mut hashes_by_index = HashMap::new();
+        let mut history = Vec::new();
+        let mut heads = BTreeSet::new();
+        for (index, change) in changes_in_order.into_iter().enumerate() {
+            let finished = change.finish(&hashes_by_index, metadata)?;
+            let hash = finished.hash();
+            hashes_by_index.insert(index, hash);
+            for dep in finished.dependencies() {
+                heads.remove(dep);
+            }
+            heads.insert(hash);
+            history.push(finished.into_owned());
+        }
+
+        Ok(CollectedChanges { history, heads })
+    }
+}
+
+#[derive(Debug)]
+struct PartialChange<'a> {
+    index: usize,
+    deps: Vec<u64>,
+    actor: usize,
+    seq: u64,
+    max_op: u64,
+    timestamp: i64,
+    message: Option<smol_str::SmolStr>,
+    extra_bytes: Cow<'a, [u8]>,
+    ops: Vec<(ObjId, Op)>,
+}
+
+impl<'a> PartialChange<'a> {
+    /// # Panics
+    ///
+    /// * If any op references a property index which is not in `props`
+    /// * If any op references an actor index which is not in `actors`
+    #[instrument(skip(self, known_changes, metadata))]
+    fn finish(
+        mut self,
+        known_changes: &HashMap<usize, ChangeHash>,
+        metadata: &OpSetMetadata,
+    ) -> Result<StoredChange<'a, Verified>, Error> {
+        let deps_len = self.deps.len();
+        let mut deps = self.deps.into_iter().try_fold::<_, _, Result<_, Error>>(
+            Vec::with_capacity(deps_len),
+            |mut acc, dep| {
+                acc.push(known_changes.get(&(dep as usize)).cloned().ok_or_else(|| {
+                    tracing::error!(
+                        dependent_index = self.index,
+                        dep_index = dep,
+                        "could not find dependency"
+                    );
+                    Error::MissingChange
+                })?);
+                Ok(acc)
+            },
+        )?;
+        deps.sort();
+        let num_ops = self.ops.len() as u64;
+        self.ops.sort_by_key(|o| o.1.id);
+        let converted_ops = self
+            .ops
+            .iter()
+            .map(|(obj, op)| op_as_actor_id(obj, op, metadata));
+        let actor = metadata
+            .actors
+            .safe_get(self.actor)
+            .ok_or_else(|| {
+                tracing::error!(actor_index = self.actor, "actor out of bounds");
+                Error::MissingActor
+            })?
+            .clone();
+
+        if num_ops > self.max_op {
+            return Err(Error::IncorrectMaxOp);
+        }
+
+        let change = match StoredChange::builder()
+            .with_dependencies(deps)
+            .with_actor(actor)
+            .with_seq(self.seq)
+            .with_start_op(NonZeroU64::new(self.max_op - num_ops + 1).ok_or(Error::MissingOps)?)
+            .with_timestamp(self.timestamp)
+            .with_message(self.message.map(|s| s.to_string()))
+            .with_extra_bytes(self.extra_bytes.into_owned())
+            .build(converted_ops)
+        {
+            Ok(s) => s,
+            Err(PredOutOfOrder) => {
+                // SAFETY: types::Op::preds is `types::OpIds` which ensures ops are always sorted
+                panic!("preds out of order");
+            }
+        };
+        #[cfg(not(debug_assertions))]
+        tracing::trace!(?change, hash=?change.hash(), "collected change");
+        #[cfg(debug_assertions)]
+        {
+            tracing::trace!(?change, ops=?self.ops, hash=?change.hash(), "collected change");
+        }
+        Ok(change)
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/load/reconstruct_document.rs.html b/src/automerge/storage/load/reconstruct_document.rs.html new file mode 100644 index 00000000..4eda0834 --- /dev/null +++ b/src/automerge/storage/load/reconstruct_document.rs.html @@ -0,0 +1,785 @@ +reconstruct_document.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+
use super::change_collector::ChangeCollector;
+use std::collections::{BTreeSet, HashMap};
+use tracing::instrument;
+
+use crate::{
+    change::Change,
+    columnar::Key as DocOpKey,
+    op_tree::OpSetMetadata,
+    storage::{change::Verified, Change as StoredChange, DocOp, Document},
+    types::{ChangeHash, ElemId, Key, ObjId, ObjType, Op, OpId, OpIds, OpType},
+    ScalarValue,
+};
+
+#[derive(Debug, thiserror::Error)]
+pub(crate) enum Error {
+    #[error("the document contained ops which were out of order")]
+    OpsOutOfOrder,
+    #[error("error reading operation: {0:?}")]
+    ReadOp(Box<dyn std::error::Error + Send + Sync + 'static>),
+    #[error("an operation contained an invalid action")]
+    InvalidAction,
+    #[error("an operation referenced a missing actor id")]
+    MissingActor,
+    #[error("invalid changes: {0}")]
+    InvalidChanges(#[from] super::change_collector::Error),
+    #[error("mismatching heads")]
+    MismatchingHeads(MismatchedHeads),
+    #[error("missing operations")]
+    MissingOps,
+    #[error("succ out of order")]
+    SuccOutOfOrder,
+}
+
+pub(crate) struct MismatchedHeads {
+    changes: Vec<StoredChange<'static, Verified>>,
+    expected_heads: BTreeSet<ChangeHash>,
+    derived_heads: BTreeSet<ChangeHash>,
+}
+
+impl std::fmt::Debug for MismatchedHeads {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        f.debug_struct("MismatchedHeads")
+            .field("changes", &self.changes.len())
+            .field("expected_heads", &self.expected_heads)
+            .field("derived_heads", &self.derived_heads)
+            .finish()
+    }
+}
+
+/// All the operations loaded from an object in the document format
+pub(crate) struct LoadedObject {
+    /// The id of the object
+    pub(crate) id: ObjId,
+    /// The id of the parent object, if any
+    pub(crate) parent: Option<ObjId>,
+    /// The operations for this object
+    pub(crate) ops: Vec<crate::types::Op>,
+    /// The type of the object
+    pub(crate) obj_type: ObjType,
+}
+
+/// An observer which will be notified of each object as it completes and which can produce a
+/// result once all the operations are loaded and the change graph is verified.
+pub(crate) trait DocObserver {
+    type Output;
+
+    /// The operations for an object have been loaded
+    fn object_loaded(&mut self, object: LoadedObject);
+    /// The document has finished loading. The `metadata` is the `OpSetMetadata` which was used to
+    /// create the indices in the operations which were passed to `object_loaded`
+    fn finish(self, metadata: OpSetMetadata) -> Self::Output;
+}
+
+/// The result of reconstructing the change history from a document
+pub(crate) struct Reconstructed<Output> {
+    /// The maximum op counter that was found in the document
+    pub(crate) max_op: u64,
+    /// The changes in the document, in the order they were encoded in the document
+    pub(crate) changes: Vec<Change>,
+    /// The result produced by the `DocObserver` which was watching the reconstruction
+    pub(crate) result: Output,
+    /// The heads of the document
+    pub(crate) heads: BTreeSet<ChangeHash>,
+}
+
+#[derive(Debug)]
+pub enum VerificationMode {
+    Check,
+    DontCheck,
+}
+
+#[instrument(skip(doc, observer))]
+pub(crate) fn reconstruct_document<'a, O: DocObserver>(
+    doc: &'a Document<'a>,
+    mode: VerificationMode,
+    mut observer: O,
+) -> Result<Reconstructed<O::Output>, Error> {
+    // The document format does not contain the bytes of the changes which are encoded in it
+    // directly. Instead the metadata about the changes (the actor, the start op, etc.) are all
+    // encoded separately to all the ops in the document. We need to reconstruct the changes in
+    // order to verify the heads of the document. To do this we iterate over the document
+    // operations adding each operation to a `ChangeCollector`. Once we've collected all the
+    // changes, the `ChangeCollector` knows how to group all the operations together to produce the
+    // change graph.
+    //
+    // Some of the work involved in reconstructing the changes could in principle be quite costly.
+    // For example, delete operations dont appear in the document at all, instead the delete
+    // operations are recorded as `succ` operations on the operations which they delete. This means
+    // that to reconstruct delete operations we have to first collect all the operations, then look
+    // for succ operations which we have not seen a concrete operation for. Happily we can take
+    // advantage of the fact that operations are encoded in the order of the object they apply to.
+    // This is the purpose of `LoadingObject`.
+    //
+    // Finally, when constructing an OpSet from this data we want to process the operations in the
+    // order they appear in the document, this allows us to create the OpSet more efficiently than
+    // if we were directly applying the reconstructed change graph. This is the purpose of the
+    // `DocObserver`, which we pass operations to as we complete the processing of each object.
+
+    // The metadata which we create from the doc and which we will pass to the observer
+    let mut metadata = OpSetMetadata::from_actors(doc.actors().to_vec());
+    // The object we are currently loading, starts with the root
+    let mut current_object = LoadingObject::root();
+    // The changes we are collecting to later construct the change graph from
+    let mut collector = ChangeCollector::new(doc.iter_changes())?;
+    // A map where we record the create operations so that when the object ID the incoming
+    // operations refer to switches we can lookup the object type for the new object. We also
+    // need it so we can pass the parent object ID to the observer
+    let mut create_ops = HashMap::new();
+    // The max op we've seen
+    let mut max_op = 0;
+    // The objects we have finished loaded
+    let mut objs_loaded = BTreeSet::new();
+
+    for op_res in doc.iter_ops() {
+        let doc_op = op_res.map_err(|e| Error::ReadOp(Box::new(e)))?;
+        max_op = std::cmp::max(max_op, doc_op.id.counter());
+
+        // Delete ops only appear as succ values in the document operations, so if a delete
+        // operation is the max op we will only see it here. Therefore we step through the document
+        // operations succs checking for max op
+        for succ in &doc_op.succ {
+            max_op = std::cmp::max(max_op, succ.counter());
+        }
+
+        let obj = doc_op.object;
+        check_opid(&metadata, *obj.opid())?;
+        let op = import_op(&mut metadata, doc_op)?;
+        tracing::trace!(?op, ?obj, "loading document op");
+
+        if let OpType::Make(obj_type) = op.action {
+            create_ops.insert(
+                ObjId::from(op.id),
+                CreateOp {
+                    obj_type,
+                    parent_id: obj,
+                },
+            );
+        };
+        if obj == current_object.id {
+            current_object.append_op(op.clone())?;
+        } else {
+            let create_op = match create_ops.get(&obj) {
+                Some(t) => Ok(t),
+                None => {
+                    tracing::error!(
+                        ?op,
+                        "operation referenced an object which we haven't seen a create op for yet"
+                    );
+                    Err(Error::OpsOutOfOrder)
+                }
+            }?;
+            if obj < current_object.id {
+                tracing::error!(?op, previous_obj=?current_object.id, "op referenced an object ID which was smaller than the previous object ID");
+                return Err(Error::OpsOutOfOrder);
+            } else {
+                let loaded = current_object.finish(&mut collector, &metadata)?;
+                objs_loaded.insert(loaded.id);
+                observer.object_loaded(loaded);
+                current_object =
+                    LoadingObject::new(obj, Some(create_op.parent_id), create_op.obj_type);
+                current_object.append_op(op.clone())?;
+            }
+        }
+    }
+    let loaded = current_object.finish(&mut collector, &metadata)?;
+    objs_loaded.insert(loaded.id);
+    observer.object_loaded(loaded);
+
+    // If an op created an object but no operation targeting that object was ever made then the
+    // object will only exist in the create_ops map. We collect all such objects here.
+    for (
+        obj_id,
+        CreateOp {
+            parent_id,
+            obj_type,
+        },
+    ) in create_ops.into_iter()
+    {
+        if !objs_loaded.contains(&obj_id) {
+            observer.object_loaded(LoadedObject {
+                parent: Some(parent_id),
+                id: obj_id,
+                ops: Vec::new(),
+                obj_type,
+            })
+        }
+    }
+
+    let super::change_collector::CollectedChanges { history, heads } =
+        collector.finish(&metadata)?;
+    if matches!(mode, VerificationMode::Check) {
+        let expected_heads: BTreeSet<_> = doc.heads().iter().cloned().collect();
+        if expected_heads != heads {
+            tracing::error!(?expected_heads, ?heads, "mismatching heads");
+            return Err(Error::MismatchingHeads(MismatchedHeads {
+                changes: history,
+                expected_heads,
+                derived_heads: heads,
+            }));
+        }
+    }
+    let result = observer.finish(metadata);
+
+    Ok(Reconstructed {
+        result,
+        changes: history.into_iter().map(Change::new).collect(),
+        heads,
+        max_op,
+    })
+}
+
+struct CreateOp {
+    parent_id: ObjId,
+    obj_type: ObjType,
+}
+struct LoadingObject {
+    id: ObjId,
+    parent_id: Option<ObjId>,
+    ops: Vec<Op>,
+    obj_type: ObjType,
+    preds: HashMap<OpId, Vec<OpId>>,
+    /// Operations which set a value, stored to later lookup keys when reconstructing delete events
+    set_ops: HashMap<OpId, Key>,
+    /// To correctly load the values of the `Counter` struct in the value of op IDs we need to
+    /// lookup the various increment operations which have been applied by the succesors of the
+    /// initial operation which creates the counter.
+    inc_ops: HashMap<OpId, i64>,
+}
+
+impl LoadingObject {
+    fn root() -> Self {
+        Self::new(ObjId::root(), None, ObjType::Map)
+    }
+
+    fn new(id: ObjId, parent_id: Option<ObjId>, obj_type: ObjType) -> Self {
+        LoadingObject {
+            id,
+            parent_id,
+            ops: Vec::new(),
+            obj_type,
+            preds: HashMap::new(),
+            set_ops: HashMap::new(),
+            inc_ops: HashMap::new(),
+        }
+    }
+
+    fn append_op(&mut self, op: Op) -> Result<(), Error> {
+        // Collect set and make operations so we can find the keys which delete operations refer to
+        // in `finish`
+        if matches!(op.action, OpType::Put(_) | OpType::Make(_)) {
+            match op.key {
+                Key::Map(_) => {
+                    self.set_ops.insert(op.id, op.key);
+                }
+                Key::Seq(ElemId(o)) => {
+                    let elem_opid = if op.insert { op.id } else { o };
+                    self.set_ops.insert(op.id, Key::Seq(ElemId(elem_opid)));
+                }
+            };
+        }
+        // Collect increment operations so we can reconstruct counters properly in `finish`
+        if let OpType::Increment(inc) = op.action {
+            self.inc_ops.insert(op.id, inc);
+        }
+        for succ in &op.succ {
+            self.preds.entry(*succ).or_default().push(op.id);
+        }
+        self.ops.push(op);
+        Ok(())
+    }
+
+    fn finish(
+        mut self,
+        collector: &mut ChangeCollector<'_>,
+        meta: &OpSetMetadata,
+    ) -> Result<LoadedObject, Error> {
+        let mut ops = Vec::new();
+        for mut op in self.ops.into_iter() {
+            if let Some(preds) = self.preds.remove(&op.id) {
+                op.pred = meta.sorted_opids(preds.into_iter());
+            }
+            if let OpType::Put(ScalarValue::Counter(c)) = &mut op.action {
+                let inc_ops = op.succ.iter().filter_map(|s| self.inc_ops.get(s).copied());
+                c.increment(inc_ops);
+            }
+            collector.collect(self.id, op.clone())?;
+            ops.push(op)
+        }
+        // Any remaining pred ops must be delete operations
+        // TODO (alex): Figure out what index these should be inserted at. Does it even matter?
+        for (opid, preds) in self.preds.into_iter() {
+            let key = self.set_ops.get(&preds[0]).ok_or_else(|| {
+                tracing::error!(?opid, ?preds, "no delete operation found");
+                Error::MissingOps
+            })?;
+            collector.collect(
+                self.id,
+                Op {
+                    id: opid,
+                    pred: meta.sorted_opids(preds.into_iter()),
+                    insert: false,
+                    succ: OpIds::empty(),
+                    key: *key,
+                    action: OpType::Delete,
+                },
+            )?;
+        }
+        Ok(LoadedObject {
+            id: self.id,
+            parent: self.parent_id,
+            ops,
+            obj_type: self.obj_type,
+        })
+    }
+}
+
+fn import_op(m: &mut OpSetMetadata, op: DocOp) -> Result<Op, Error> {
+    let key = match op.key {
+        DocOpKey::Prop(s) => Key::Map(m.import_prop(s)),
+        DocOpKey::Elem(ElemId(op)) => Key::Seq(ElemId(check_opid(m, op)?)),
+    };
+    for opid in &op.succ {
+        if m.actors.safe_get(opid.actor()).is_none() {
+            tracing::error!(?opid, "missing actor");
+            return Err(Error::MissingActor);
+        }
+    }
+    Ok(Op {
+        id: check_opid(m, op.id)?,
+        action: parse_optype(op.action, op.value)?,
+        key,
+        succ: m.try_sorted_opids(op.succ).ok_or(Error::SuccOutOfOrder)?,
+        pred: OpIds::empty(),
+        insert: op.insert,
+    })
+}
+
+/// We construct the OpSetMetadata directly from the vector of actors which are encoded in the
+/// start of the document. Therefore we need to check for each opid in the docuemnt that the actor
+/// ID which it references actually exists in the metadata.
+fn check_opid(m: &OpSetMetadata, opid: OpId) -> Result<OpId, Error> {
+    match m.actors.safe_get(opid.actor()) {
+        Some(_) => Ok(opid),
+        None => {
+            tracing::error!("missing actor");
+            Err(Error::MissingActor)
+        }
+    }
+}
+
+fn parse_optype(action_index: usize, value: ScalarValue) -> Result<OpType, Error> {
+    match action_index {
+        0 => Ok(OpType::Make(ObjType::Map)),
+        1 => Ok(OpType::Put(value)),
+        2 => Ok(OpType::Make(ObjType::List)),
+        3 => Ok(OpType::Delete),
+        4 => Ok(OpType::Make(ObjType::Text)),
+        5 => match value {
+            ScalarValue::Int(i) => Ok(OpType::Increment(i)),
+            _ => {
+                tracing::error!(?value, "invalid value for counter op");
+                Err(Error::InvalidAction)
+            }
+        },
+        6 => Ok(OpType::Make(ObjType::Table)),
+        other => {
+            tracing::error!(action = other, "unknown action type");
+            Err(Error::InvalidAction)
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/parse.rs.html b/src/automerge/storage/parse.rs.html new file mode 100644 index 00000000..438a8073 --- /dev/null +++ b/src/automerge/storage/parse.rs.html @@ -0,0 +1,1193 @@ +parse.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+
//! A small parser combinator library inspired by [`nom`](https://docs.rs/crate/nom/5.0.0).
+//!
+//! The primary reason for using this rather than `nom` is that this is only a few hundred lines of
+//! code because we don't need a fully fledged combinator library - automerge is a low level
+//! library so it's good to avoid dependencies where we can.
+//!
+//! # Basic Usage
+//!
+//! The basic components of this library are [`Parser`]s, which parse [`Input`]s and produce
+//! [`ParseResult`]s. `Input` is a combination of an `&[u8]` which is the incoming data along with
+//! the position it has read up to in the data. `Parser` is a trait but has a blanket `impl` for
+//! `FnMut(Input<'a>) -> ParseResult<'a, O, E>` so in practice you can think of parsers as a
+//! function which takes some input and returns a result plus any remaining input. This final part
+//! is encapsulated by the `ParseResult` which is a type alias for a `Result`. This means that
+//! typical usage will look something like this:
+//!
+//! ```rust,ignore
+//! use automerge::storage::parse::{ParseResult, take_1};
+//! fn do_something<'a>(input: Input<'a>) -> ParseResult<'a, [u8; 3], ()> {
+//!     let (i, a) = take_1::<()>(input)?;
+//!     let (i, b) = take_1::<()>(i)?;
+//!     let (i, c) = take_1::<()>(i)?;
+//!     let result = [a, b, c];
+//!     Ok((i, result))
+//! }
+//!
+//! let input = Input::new(&[b"12345"]);
+//! let result = do_something(input);
+//! if let Ok((_, result)) = result {
+//!     assert_eq!(&result, &['1', '2', '3']);
+//! } else {
+//!     panic!();
+//! }
+//! ```
+//!
+//! Three things to note here:
+//!
+//! 1. The rebinding of the input (in `i`) after each call to `take_1`, this is how parser state is passed from
+//!    one call to the next
+//! 2. We return a tuple containing the remaining input plus the result
+//! 3. `take_1` has a type parameter we must pass to it representing the error type. Generally you
+//!    don't need to do that as type inference is often good enough.
+//!
+//! # Errors
+//!
+//! The error branch of `ParseError` is an enum containing either `ParseError::Incomplete`
+//! indicating that with more input we might be able to succeed, or a `ParseError::Error`. The
+//! latter branch is where parser specific errors (e.g. "this u8 is not a valid chunk type") are
+//! passed. This has implications for returning and handling errors.
+//!
+//! ## Returning Errors
+//!
+//! If you want to return an error from a parser you will need to wrap the error in
+//! `ParseError::Error`.
+//!
+//! ```rust,ignore
+//! struct MyError;
+//! fn my_bad_parser() -> ParseResult<(), MyError> {
+//!     Err(ParseError::Error(MyError))
+//! }
+//! ```
+//!
+//! ## Handling Errors
+//!
+//! Handling errors is generally important when you want to compose parsers with different error
+//! types. In this case you will often have an error type you want to map each of the underlying
+//! errors into. For this purpose you can use `ParseError::lift`
+//!
+//! ```rust,ignore
+//! # use automerge::parse::{ParseResult, Input};
+//! #[derive(thiserror::Error, Debug)]
+//! #[error("this is a bad string")]
+//! struct BadString;
+//!
+//! #[derive(thiserror::Error, Debug)]
+//! #[error("this is a bad number")]
+//! struct BadNumber;
+//!
+//! fn parse_string<'a>(input: Input<'a>) -> ParseResult<'a, String, BadString> {
+//!     Err(ParseError::Error(BadString))
+//! }
+//!
+//! fn parse_number<'a>(input: Input<'a>) -> ParseResult<'a, u32, BadNumber> {
+//!     Err(ParseError::Error(BadNumber))
+//! }
+//!
+//! #[derive(thiserror::Error, Debug)]
+//! struct CombinedError{
+//!     #[error(transparent)]
+//!     String(#[from] BadString),
+//!     #[error(transparent)]
+//!     Number(#[from] BadNumber),
+//! }
+//!
+//! fn parse_string_then_number<'a>(input: Input<'a>) -> ParseResult<'a, (String, u32), CombinedError> {
+//!     // Note the `e.lift()` here, this works because of the `From<BadString>` impl generated by
+//!     // `thiserror::Error`
+//!     let (i, thestring) = parse_string(input).map_err(|e| e.lift())?;
+//!     let (i, thenumber) = parse_number(i).map_err(|e| e.lift())?;
+//!     Ok((i, (thestring, thenumber)))
+//! }
+//! ```
+
+use core::num::NonZeroUsize;
+use std::convert::TryInto;
+
+pub(crate) mod leb128;
+use crate::{ActorId, ChangeHash};
+
+const HASH_SIZE: usize = 32; // 256 bits = 32 bytes
+
+#[allow(unused_imports)]
+pub(crate) use self::leb128::{leb128_i64, leb128_u32, leb128_u64, nonzero_leb128_u64};
+
+pub(crate) type ParseResult<'a, O, E> = Result<(Input<'a>, O), ParseError<E>>;
+
+/// The input to be parsed. This is a combination of an underlying slice, plus an offset into that
+/// slice. Consequently it is very cheap to copy.
+#[derive(PartialEq, Clone, Copy)]
+pub(crate) struct Input<'a> {
+    bytes: &'a [u8],
+    position: usize,
+    original: &'a [u8],
+}
+
+impl<'a> std::fmt::Debug for Input<'a> {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        write!(
+            f,
+            "Input(len: {}, position: {}, original_len: {})",
+            self.bytes.len(),
+            self.position,
+            self.original.len()
+        )
+    }
+}
+
+impl<'a> Input<'a> {
+    pub(crate) fn new(bytes: &'a [u8]) -> Self {
+        Self {
+            bytes,
+            position: 0,
+            original: bytes,
+        }
+    }
+
+    #[cfg(test)]
+    pub(in crate::storage::parse) fn with_position(bytes: &'a [u8], position: usize) -> Input<'a> {
+        let remaining = &bytes[position..];
+        Self {
+            bytes: remaining,
+            position,
+            original: bytes,
+        }
+    }
+
+    pub(crate) fn empty() -> Self {
+        Self {
+            bytes: &[],
+            position: 0,
+            original: &[],
+        }
+    }
+
+    fn take_1<E>(&self) -> ParseResult<'a, u8, E> {
+        if let Some(need) = NonZeroUsize::new(1_usize.saturating_sub(self.bytes.len())) {
+            Err(ParseError::Incomplete(Needed::Size(need)))
+        } else {
+            let (result, remaining) = self.bytes.split_at(1);
+            let new_input = Input {
+                bytes: remaining,
+                original: self.original,
+                position: self.position + 1,
+            };
+            Ok((new_input, result[0]))
+        }
+    }
+
+    fn take_n<E>(&self, n: usize) -> ParseResult<'a, &'a [u8], E> {
+        if let Some(need) = NonZeroUsize::new(n.saturating_sub(self.bytes.len())) {
+            Err(ParseError::Incomplete(Needed::Size(need)))
+        } else {
+            let (result, remaining) = self.bytes.split_at(n);
+            let new_input = Input {
+                bytes: remaining,
+                original: self.original,
+                position: self.position + n,
+            };
+            Ok((new_input, result))
+        }
+    }
+
+    fn take_4<E>(&self) -> ParseResult<'a, [u8; 4], E> {
+        if let Some(need) = NonZeroUsize::new(4_usize.saturating_sub(self.bytes.len())) {
+            Err(ParseError::Incomplete(Needed::Size(need)))
+        } else {
+            let (result, remaining) = self.bytes.split_at(4);
+            let new_input = Input {
+                bytes: remaining,
+                original: self.original,
+                position: self.position + 4,
+            };
+            Ok((new_input, result.try_into().expect("we checked the length")))
+        }
+    }
+
+    fn range_of<P, R, E>(&self, mut parser: P) -> ParseResult<'a, RangeOf<R>, E>
+    where
+        P: Parser<'a, R, E>,
+    {
+        let (new_input, value) = parser.parse(*self)?;
+        let range = self.position..new_input.position;
+        Ok((new_input, RangeOf { range, value }))
+    }
+
+    fn rest<E>(&self) -> ParseResult<'a, &'a [u8], E> {
+        let position = self.position + self.bytes.len();
+        let new_input = Self {
+            position,
+            original: self.original,
+            bytes: &[],
+        };
+        Ok((new_input, self.bytes))
+    }
+
+    fn truncate(&self, length: usize) -> Input<'a> {
+        let length = if length > self.bytes.len() {
+            self.bytes.len()
+        } else {
+            length
+        };
+        Input {
+            bytes: &self.bytes[..length],
+            position: self.position,
+            original: &self.original[..(self.position + length)],
+        }
+    }
+
+    fn skip(&self, length: usize) -> Input<'a> {
+        if length > self.bytes.len() {
+            Input {
+                bytes: &[],
+                position: self.bytes.len(),
+                original: self.original,
+            }
+        } else {
+            Input {
+                bytes: &self.bytes[length..],
+                position: self.position + length,
+                original: &self.original[(self.position + length)..],
+            }
+        }
+    }
+
+    /// Split this input into two separate inputs, the first is the same as the current input but
+    /// with the remaining unconsumed_bytes set to at most length. The remaining `Input` is the bytes
+    /// after `length`.
+    ///
+    /// This is useful if you are parsing input which contains length delimited chunks. In this
+    /// case you may have a single input where you parse a header, then you want to parse the
+    /// current input up until the length and then parse the next chunk from the remainign input.
+    /// For example:
+    ///
+    /// ```rust,ignore
+    /// # use automerge::storage::parse::{Input, ParseResult};
+    ///
+    /// fn parse_chunk(input: Input<'_>) -> ParseResult<(), ()> {
+    ///     Ok(())
+    /// }
+    ///
+    /// # fn main() -> ParseResult<(), ()> {
+    /// let incoming_bytes: &[u8] = todo!();
+    /// let mut input = Input::new(incoming_bytes);
+    /// let mut chunks = Vec::new();
+    /// while !input.is_empty() {
+    ///     let (i, chunk_len) = leb128_u64(input)?;
+    ///     let Split{first: i, remaining} = i.split(chunk_len);
+    ///     // Note that here, the `i` we pass into `parse_chunk` has already parsed the header,
+    ///     // so the logic of the `parse_chunk` function doesn't need to reimplement the header
+    ///     // parsing
+    ///     let (i, chunk) = parse_chunk(i)?;
+    ///     let input = remaining;
+    /// }
+    /// parse_chunk(i);
+    /// # }
+    /// ```
+    pub(crate) fn split(&self, length: usize) -> Split<'a> {
+        Split {
+            first: self.truncate(length),
+            remaining: self.skip(length),
+        }
+    }
+
+    /// Return a new `Input` which forgets about the consumed input. The new `Input` will have it's
+    /// position set to 0. This is equivalent to `Input::new(self.bytes())`
+    pub(crate) fn reset(&self) -> Input<'a> {
+        Input::new(self.bytes)
+    }
+
+    /// Check if there are any more bytes left to consume
+    pub(crate) fn is_empty(&self) -> bool {
+        self.bytes.is_empty()
+    }
+
+    /// The bytes which have not yet been consumed
+    pub(crate) fn unconsumed_bytes(&self) -> &'a [u8] {
+        self.bytes
+    }
+
+    /// The bytes behind this input - including bytes which have been consumed
+    #[allow(clippy::misnamed_getters)]
+    pub(crate) fn bytes(&self) -> &'a [u8] {
+        self.original
+    }
+}
+
+/// Returned by [`Input::split`]
+pub(crate) struct Split<'a> {
+    /// The input up to the length passed to `split`. This is identical to the original input
+    /// except that [`Input::bytes`] and [`Input::unconsumed_bytes`] will only return the original
+    /// input up to `length` bytes from the point at which `split` was called.
+    pub(crate) first: Input<'a>,
+    /// The remaining input after the length passed to `split`. This is equivalent to
+    ///
+    /// ```rust,ignore
+    /// # use automerge::storage::parse::Input;
+    /// # let split_length = 1;
+    /// let original_input = todo!();
+    /// Input::new(original_input.bytes()[split_length..])
+    /// ```
+    pub(crate) remaining: Input<'a>,
+}
+
+pub(crate) trait Parser<'a, O, E> {
+    fn parse(&mut self, input: Input<'a>) -> ParseResult<'a, O, E>;
+}
+
+impl<'a, O, F, E> Parser<'a, O, E> for F
+where
+    F: FnMut(Input<'a>) -> ParseResult<'a, O, E>,
+{
+    fn parse(&mut self, input: Input<'a>) -> ParseResult<'a, O, E> {
+        (self)(input)
+    }
+}
+
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) enum ParseError<E> {
+    /// Some application specific error occurred
+    Error(E),
+    /// A combinator requested more data than we have available
+    Incomplete(Needed),
+}
+
+impl<E> ParseError<E> {
+    /// Convert any underlying `E` into `F`. This is useful when you are composing parsers
+    pub(crate) fn lift<F>(self) -> ParseError<F>
+    where
+        F: From<E>,
+    {
+        match self {
+            Self::Error(e) => ParseError::Error(F::from(e)),
+            Self::Incomplete(n) => ParseError::Incomplete(n),
+        }
+    }
+}
+
+impl<E: std::fmt::Display> std::fmt::Display for ParseError<E> {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        match self {
+            Self::Error(e) => write!(f, "{}", e),
+            Self::Incomplete(_) => write!(f, "not enough data"),
+        }
+    }
+}
+
+impl<E: std::fmt::Display + std::fmt::Debug> std::error::Error for ParseError<E> {}
+
+/// How much more input we need
+#[derive(Clone, Debug, PartialEq)]
+pub(crate) enum Needed {
+    /// We don't know how much more
+    #[allow(dead_code)]
+    Unknown,
+    /// We need _at least_ this much more
+    Size(NonZeroUsize),
+}
+
+/// Map the function `f` over the result of `parser` returning a new parser
+pub(crate) fn map<'a, O1, O2, F, G, Er>(
+    mut parser: F,
+    mut f: G,
+) -> impl FnMut(Input<'a>) -> ParseResult<'a, O2, Er>
+where
+    F: Parser<'a, O1, Er>,
+    G: FnMut(O1) -> O2,
+{
+    move |input: Input<'a>| {
+        let (input, o1) = parser.parse(input)?;
+        Ok((input, f(o1)))
+    }
+}
+
+/// Pull one byte from the input
+pub(crate) fn take1<E>(input: Input<'_>) -> ParseResult<'_, u8, E> {
+    input.take_1()
+}
+
+/// Parse an array of four bytes from the input
+pub(crate) fn take4<E>(input: Input<'_>) -> ParseResult<'_, [u8; 4], E> {
+    input.take_4()
+}
+
+/// Parse a slice of length `n` from `input`
+pub(crate) fn take_n<E>(n: usize, input: Input<'_>) -> ParseResult<'_, &[u8], E> {
+    input.take_n(n)
+}
+
+/// Parse a length prefixed collection of `g`
+///
+/// This first parses a LEB128 encoded `u64` from the input, then applies the parser `g` this many
+/// times, returning the result in a `Vec`.
+pub(crate) fn length_prefixed<'a, G, O, Er>(
+    mut g: G,
+) -> impl FnMut(Input<'a>) -> ParseResult<'a, Vec<O>, Er>
+where
+    G: Parser<'a, O, Er>,
+    Er: From<leb128::Error>,
+{
+    move |input: Input<'a>| {
+        let (i, count) = leb128_u64(input).map_err(|e| e.lift())?;
+        let mut res = Vec::new();
+        let mut input = i;
+        for _ in 0..count {
+            match g.parse(input) {
+                Ok((i, e)) => {
+                    input = i;
+                    res.push(e);
+                }
+                Err(e) => {
+                    return Err(e);
+                }
+            }
+        }
+        Ok((input, res))
+    }
+}
+
+/// Parse a length prefixed array of bytes from the input
+///
+/// This first parses a LEB128 encoded `u64` from the input, then parses this many bytes from the
+/// underlying input.
+pub(crate) fn length_prefixed_bytes<E>(input: Input<'_>) -> ParseResult<'_, &[u8], E>
+where
+    E: From<leb128::Error>,
+{
+    let (i, len) = leb128_u64(input).map_err(|e| e.lift())?;
+    take_n(len as usize, i)
+}
+
+/// Apply two parsers, returning the result in a 2 tuple
+///
+/// This first applies `f`, then `g` and returns the result as `(f, g)`.
+pub(super) fn tuple2<'a, F, E, G, H, Er>(
+    mut f: F,
+    mut g: G,
+) -> impl FnMut(Input<'a>) -> ParseResult<'_, (E, H), Er>
+where
+    F: Parser<'a, E, Er>,
+    G: Parser<'a, H, Er>,
+{
+    move |input: Input<'a>| {
+        let (i, one) = f.parse(input)?;
+        let (i, two) = g.parse(i)?;
+        Ok((i, (one, two)))
+    }
+}
+
+/// Apply the parser `f` `n` times and reutrn the result in a `Vec`
+pub(super) fn apply_n<'a, F, E, Er>(
+    n: usize,
+    mut f: F,
+) -> impl FnMut(Input<'a>) -> ParseResult<'_, Vec<E>, Er>
+where
+    F: Parser<'a, E, Er>,
+{
+    move |input: Input<'a>| {
+        let mut i = input;
+        let mut result = Vec::new();
+        for _ in 0..n {
+            let (new_i, e) = f.parse(i)?;
+            result.push(e);
+            i = new_i;
+        }
+        Ok((i, result))
+    }
+}
+
+/// Parse a length prefixed actor ID
+///
+/// This first parses a LEB128 encoded u64 from the input, then the corresponding number of bytes
+/// which are returned wrapped in an `ActorId`
+pub(crate) fn actor_id<E>(input: Input<'_>) -> ParseResult<'_, ActorId, E>
+where
+    E: From<leb128::Error>,
+{
+    let (i, length) = leb128_u64(input).map_err(|e| e.lift())?;
+    let (i, bytes) = take_n(length as usize, i)?;
+    Ok((i, bytes.into()))
+}
+
+/// Parse a change hash.
+///
+/// This is just a nice wrapper around `take_4`
+pub(crate) fn change_hash<E>(input: Input<'_>) -> ParseResult<'_, ChangeHash, E> {
+    let (i, bytes) = take_n(HASH_SIZE, input)?;
+    let byte_arr: ChangeHash = bytes.try_into().expect("we checked the length above");
+    Ok((i, byte_arr))
+}
+
+#[derive(thiserror::Error, Debug)]
+#[error("invalid UTF-8")]
+pub(crate) struct InvalidUtf8;
+
+/// Parse a length prefixed UTF-8 string
+///
+/// This first parses a LEB128 encode `u64` from the input, then parses this many bytes from the
+/// input before attempting to convert these bytes into a `String`, returning
+/// `ParseError::Error(InvalidUtf8)` if that fails.
+pub(crate) fn utf_8<E>(len: usize, input: Input<'_>) -> ParseResult<'_, String, E>
+where
+    E: From<InvalidUtf8>,
+{
+    let (i, bytes) = take_n(len, input)?;
+    let result = String::from_utf8(bytes.to_vec())
+        .map_err(|_| ParseError::Error(InvalidUtf8))
+        .map_err(|e| e.lift())?;
+    Ok((i, result))
+}
+
+/// Returned from `range_of`
+pub(crate) struct RangeOf<T> {
+    /// The range in the input where we parsed from
+    pub(crate) range: std::ops::Range<usize>,
+    /// The value we parsed
+    pub(crate) value: T,
+}
+
+/// Evaluate `parser` and then return the value parsed, as well as the range in the input which we
+/// just parsed.
+///
+/// This is useful when you want to parse some data from an input in order to check that is valid,
+/// but you will also be holding on to the input data and want to know where in the input data the
+/// valid data was parsed from.
+///
+/// # Example
+///
+/// Imagine that we are parsing records of some kind from a file, as well as parsing the record we
+/// want to record the offset in the file where the record is so we can update it in place.
+///
+/// ```rust,ignore
+/// # use automerge::storage::parse::{ParseResult, Input};
+/// struct Message;
+/// struct Record {
+///     message: Message,
+///     location: std::ops::Range<usize>
+/// }
+///
+/// fn parse_message<'a>(input: Input<'a>) -> ParseResult<'a, Message, ()> {
+///     unimplemented!()
+/// }
+///
+/// fn parse_record<'a>(input: Input<'a>) -> ParseResult<'a, Record, ()> {
+///     let (i, RangeOf{range: location, value: message}) = range_of(|i| parse_message(i), i)?;
+///     Ok((i, Record {
+///         location, // <- this is the location in the input where the message was parsed from
+///         message,
+///     }))
+/// }
+///
+/// let file_contents: Vec<u8> = unimplemented!();
+/// let input = Input::new(&file_contents);
+/// let record = parse_record(input).unwrap().1;
+/// ```
+pub(crate) fn range_of<'a, P, R, E>(parser: P, input: Input<'a>) -> ParseResult<'a, RangeOf<R>, E>
+where
+    P: Parser<'a, R, E>,
+{
+    input.range_of(parser)
+}
+
+/// Parse all the remaining input from the parser. This can never fail
+pub(crate) fn take_rest<E>(input: Input<'_>) -> ParseResult<'_, &'_ [u8], E> {
+    input.rest()
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/parse/leb128.rs.html b/src/automerge/storage/parse/leb128.rs.html new file mode 100644 index 00000000..1d226911 --- /dev/null +++ b/src/automerge/storage/parse/leb128.rs.html @@ -0,0 +1,607 @@ +leb128.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+
use std::num::NonZeroU64;
+
+use super::{take1, Input, ParseError, ParseResult};
+
+#[derive(PartialEq, thiserror::Error, Debug, Clone)]
+pub(crate) enum Error {
+    #[error("leb128 was too large for the destination type")]
+    Leb128TooLarge,
+    #[error("leb128 was improperly encoded")]
+    Leb128Overlong,
+    #[error("leb128 was zero when it was expected to be nonzero")]
+    UnexpectedZero,
+}
+
+pub(crate) fn leb128_u64<E>(input: Input<'_>) -> ParseResult<'_, u64, E>
+where
+    E: From<Error>,
+{
+    let mut res = 0;
+    let mut shift = 0;
+    let mut input = input;
+
+    loop {
+        let (i, byte) = take1(input)?;
+        input = i;
+        res |= ((byte & 0x7F) as u64) << shift;
+        shift += 7;
+
+        if (byte & 0x80) == 0 {
+            if shift > 64 && byte > 1 {
+                return Err(ParseError::Error(Error::Leb128TooLarge.into()));
+            } else if shift > 7 && byte == 0 {
+                return Err(ParseError::Error(Error::Leb128Overlong.into()));
+            }
+            return Ok((input, res));
+        } else if shift > 64 {
+            return Err(ParseError::Error(Error::Leb128TooLarge.into()));
+        }
+    }
+}
+
+pub(crate) fn leb128_i64<E>(input: Input<'_>) -> ParseResult<'_, i64, E>
+where
+    E: From<Error>,
+{
+    let mut res = 0;
+    let mut shift = 0;
+
+    let mut input = input;
+    let mut prev = 0;
+    loop {
+        let (i, byte) = take1(input)?;
+        input = i;
+        res |= ((byte & 0x7F) as i64) << shift;
+        shift += 7;
+
+        if (byte & 0x80) == 0 {
+            if shift > 64 && byte != 0 && byte != 0x7f {
+                // the 10th byte (if present) must contain only the sign-extended sign bit
+                return Err(ParseError::Error(Error::Leb128TooLarge.into()));
+            } else if shift > 7
+                && ((byte == 0 && prev & 0x40 == 0) || (byte == 0x7f && prev & 0x40 > 0))
+            {
+                // overlong if the sign bit of penultimate byte has been extended
+                return Err(ParseError::Error(Error::Leb128Overlong.into()));
+            } else if shift < 64 && byte & 0x40 > 0 {
+                // sign extend negative numbers
+                res |= -1 << shift;
+            }
+            return Ok((input, res));
+        } else if shift > 64 {
+            return Err(ParseError::Error(Error::Leb128TooLarge.into()));
+        }
+        prev = byte;
+    }
+}
+
+pub(crate) fn leb128_u32<E>(input: Input<'_>) -> ParseResult<'_, u32, E>
+where
+    E: From<Error>,
+{
+    let (i, num) = leb128_u64(input)?;
+    let result = u32::try_from(num).map_err(|_| ParseError::Error(Error::Leb128TooLarge.into()))?;
+    Ok((i, result))
+}
+
+/// Parse a LEB128 encoded u64 from the input, throwing an error if it is `0`
+pub(crate) fn nonzero_leb128_u64<E>(input: Input<'_>) -> ParseResult<'_, NonZeroU64, E>
+where
+    E: From<Error>,
+{
+    let (input, num) = leb128_u64(input)?;
+    let result =
+        NonZeroU64::new(num).ok_or_else(|| ParseError::Error(Error::UnexpectedZero.into()))?;
+    Ok((input, result))
+}
+
+#[cfg(test)]
+mod tests {
+    use super::super::Needed;
+    use super::*;
+    use std::num::NonZeroUsize;
+
+    const NEED_ONE: Needed = Needed::Size(unsafe { NonZeroUsize::new_unchecked(1) });
+
+    #[test]
+    fn leb_128_u64() {
+        let one = &[0b00000001_u8];
+        let one_two_nine = &[0b10000001, 0b00000001];
+        let one_and_more = &[0b00000001, 0b00000011];
+
+        let scenarios: Vec<(&'static [u8], ParseResult<'_, u64, Error>)> = vec![
+            (one, Ok((Input::with_position(one, 1), 1))),
+            (
+                one_two_nine,
+                Ok((Input::with_position(one_two_nine, 2), 129)),
+            ),
+            (one_and_more, Ok((Input::with_position(one_and_more, 1), 1))),
+        ];
+        for (index, (input, expected)) in scenarios.clone().into_iter().enumerate() {
+            let result = leb128_u64(Input::new(input));
+            if result != expected {
+                panic!(
+                    "Scenario {} failed for u64: expected {:?} got {:?}",
+                    index + 1,
+                    expected,
+                    result
+                );
+            }
+        }
+
+        let error_cases: Vec<(&'static str, &'static [u8], ParseError<_>)> = vec![
+            (
+                "too many bytes",
+                &[129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129],
+                ParseError::Error(Error::Leb128TooLarge),
+            ),
+            (
+                "too many bits",
+                &[129, 129, 129, 129, 129, 129, 129, 129, 129, 2],
+                ParseError::Error(Error::Leb128TooLarge),
+            ),
+            (
+                "overlong encoding",
+                &[129, 0],
+                ParseError::Error(Error::Leb128Overlong),
+            ),
+            ("missing data", &[255], ParseError::Incomplete(NEED_ONE)),
+        ];
+        error_cases.into_iter().for_each(|(desc, input, expected)| {
+            match leb128_u64::<Error>(Input::new(input)) {
+                Ok((_, x)) => panic!("leb128_u64 should fail with {}, got {}", desc, x),
+                Err(error) => {
+                    if error != expected {
+                        panic!("leb128_u64 should fail with {}, got {}", expected, error)
+                    }
+                }
+            }
+        });
+
+        let success_cases: Vec<(&'static [u8], u64)> = vec![
+            (&[0], 0),
+            (&[0x7f], 127),
+            (&[0x80, 0x01], 128),
+            (&[0xff, 0x7f], 16383),
+            (
+                &[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1],
+                u64::MAX,
+            ),
+        ];
+        success_cases.into_iter().for_each(|(input, expected)| {
+            match leb128_u64::<Error>(Input::new(input)) {
+                Ok((_, x)) => {
+                    if x != expected {
+                        panic!("leb128_u64 should succeed with {}, got {}", expected, x)
+                    }
+                }
+                Err(error) => panic!("leb128_u64 should succeed with {}, got {}", expected, error),
+            }
+        });
+    }
+
+    #[test]
+    fn leb_128_u32() {
+        let error_cases: Vec<(&'static str, &'static [u8], ParseError<_>)> = vec![
+            (
+                "too many bytes",
+                &[129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129],
+                ParseError::Error(Error::Leb128TooLarge),
+            ),
+            (
+                "too many bits",
+                &[0xff, 0xff, 0xff, 0xff, 0x1f],
+                ParseError::Error(Error::Leb128TooLarge),
+            ),
+            (
+                "overlong encoding",
+                &[129, 0],
+                ParseError::Error(Error::Leb128Overlong),
+            ),
+            ("missing data", &[0xaa], ParseError::Incomplete(NEED_ONE)),
+        ];
+        error_cases.into_iter().for_each(|(desc, input, expected)| {
+            match leb128_u32::<Error>(Input::new(input)) {
+                Ok((_, x)) => panic!("leb128_u32 should fail with {}, got {}", desc, x),
+                Err(error) => {
+                    if error != expected {
+                        panic!("leb128_u32 should fail with {}, got {}", expected, error)
+                    }
+                }
+            }
+        });
+
+        let success_cases: Vec<(&'static [u8], u32)> = vec![
+            (&[0], 0),
+            (&[0x7f], 127),
+            (&[0x80, 0x01], 128),
+            (&[0xff, 0x7f], 16383),
+            (&[0xff, 0xff, 0xff, 0xff, 0x0f], u32::MAX),
+        ];
+        success_cases.into_iter().for_each(|(input, expected)| {
+            match leb128_u32::<Error>(Input::new(input)) {
+                Ok((_, x)) => {
+                    if x != expected {
+                        panic!("leb128_u32 should succeed with {}, got {}", expected, x)
+                    }
+                }
+                Err(error) => panic!("leb128_u64 should succeed with {}, got {}", expected, error),
+            }
+        });
+    }
+
+    #[test]
+    fn leb_128_i64() {
+        let error_cases: Vec<(&'static str, &'static [u8], ParseError<_>)> = vec![
+            (
+                "too many bytes",
+                &[129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, 129],
+                ParseError::Error(Error::Leb128TooLarge),
+            ),
+            (
+                "too many positive bits",
+                &[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01],
+                ParseError::Error(Error::Leb128TooLarge),
+            ),
+            (
+                "too many negative bits",
+                &[0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7e],
+                ParseError::Error(Error::Leb128TooLarge),
+            ),
+            (
+                "overlong positive encoding",
+                &[0xbf, 0],
+                ParseError::Error(Error::Leb128Overlong),
+            ),
+            (
+                "overlong negative encoding",
+                &[0x81, 0xff, 0x7f],
+                ParseError::Error(Error::Leb128Overlong),
+            ),
+            ("missing data", &[0x90], ParseError::Incomplete(NEED_ONE)),
+        ];
+        error_cases.into_iter().for_each(|(desc, input, expected)| {
+            match leb128_i64::<Error>(Input::new(input)) {
+                Ok((_, x)) => panic!("leb128_i64 should fail with {}, got {}", desc, x),
+                Err(error) => {
+                    if error != expected {
+                        panic!("leb128_i64 should fail with {}, got {}", expected, error)
+                    }
+                }
+            }
+        });
+
+        let success_cases: Vec<(&'static [u8], i64)> = vec![
+            (&[0], 0),
+            (&[0x7f], -1),
+            (&[0x3f], 63),
+            (&[0x40], -64),
+            (&[0x80, 0x01], 128),
+            (&[0xff, 0x3f], 8191),
+            (&[0x80, 0x40], -8192),
+            (
+                &[0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0],
+                i64::MAX,
+            ),
+            (
+                &[0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7f],
+                i64::MIN,
+            ),
+        ];
+        success_cases.into_iter().for_each(|(input, expected)| {
+            match leb128_i64::<Error>(Input::new(input)) {
+                Ok((_, x)) => {
+                    if x != expected {
+                        panic!("leb128_i64 should succeed with {}, got {}", expected, x)
+                    }
+                }
+                Err(error) => panic!("leb128_u64 should succeed with {}, got {}", expected, error),
+            }
+        });
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/storage/save.rs.html b/src/automerge/storage/save.rs.html new file mode 100644 index 00000000..570e18ae --- /dev/null +++ b/src/automerge/storage/save.rs.html @@ -0,0 +1,7 @@ +save.rs - source
1
+2
+
mod document;
+pub(crate) use document::save_document;
+
+
\ No newline at end of file diff --git a/src/automerge/storage/save/document.rs.html b/src/automerge/storage/save/document.rs.html new file mode 100644 index 00000000..18b82c87 --- /dev/null +++ b/src/automerge/storage/save/document.rs.html @@ -0,0 +1,295 @@ +document.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+
use std::{borrow::Cow, collections::BTreeMap, iter::Iterator};
+
+use crate::{
+    indexed_cache::IndexedCache,
+    storage::{
+        change::DEFLATE_MIN_SIZE, convert::op_as_docop, AsChangeMeta, CompressConfig, Document,
+    },
+    types::{ActorId, ObjId, Op},
+    Change, ChangeHash,
+};
+
+/// # Panics
+///
+/// * If any of the `heads` are not in `changes`
+/// * If any of ops in `ops` reference an actor which is not in `actors`
+/// * If any of ops in `ops` reference a property which is not in `props`
+/// * If any of the changes reference a dependency index which is not in `changes`
+#[tracing::instrument(skip(changes, ops, actors, props, config))]
+pub(crate) fn save_document<'a, I, O>(
+    changes: I,
+    ops: O,
+    actors: &'a IndexedCache<ActorId>,
+    props: &IndexedCache<String>,
+    heads: &[ChangeHash],
+    config: Option<CompressConfig>,
+) -> Vec<u8>
+where
+    I: Iterator<Item = &'a Change> + Clone + 'a,
+    O: Iterator<Item = (&'a ObjId, &'a Op)> + Clone + ExactSizeIterator,
+{
+    let actor_lookup = actors.encode_index();
+    let doc_ops = ops.map(|(obj, op)| op_as_docop(&actor_lookup, props, obj, op));
+
+    let hash_graph = HashGraph::new(changes.clone());
+    let changes = changes.map(|c| ChangeWithGraph {
+        actors,
+        actor_lookup: &actor_lookup,
+        change: c,
+        graph: &hash_graph,
+    });
+
+    let doc = Document::new(
+        actors.sorted().cache,
+        hash_graph.heads_with_indices(heads.to_vec()),
+        doc_ops,
+        changes,
+        config.unwrap_or(CompressConfig::Threshold(DEFLATE_MIN_SIZE)),
+    );
+    doc.into_bytes()
+}
+
+struct HashGraph {
+    index_by_hash: BTreeMap<ChangeHash, usize>,
+}
+
+impl HashGraph {
+    fn new<'a, I>(changes: I) -> Self
+    where
+        I: Iterator<Item = &'a Change>,
+    {
+        let mut index_by_hash = BTreeMap::new();
+        for (index, change) in changes.enumerate() {
+            index_by_hash.insert(change.hash(), index);
+        }
+        Self { index_by_hash }
+    }
+
+    fn change_index(&self, hash: &ChangeHash) -> usize {
+        self.index_by_hash[hash]
+    }
+
+    fn heads_with_indices(&self, heads: Vec<ChangeHash>) -> Vec<(ChangeHash, usize)> {
+        heads
+            .into_iter()
+            .map(|h| (h, self.index_by_hash[&h]))
+            .collect()
+    }
+}
+
+struct ChangeWithGraph<'a> {
+    change: &'a Change,
+    graph: &'a HashGraph,
+    actor_lookup: &'a [usize],
+    actors: &'a IndexedCache<ActorId>,
+}
+
+impl<'a> AsChangeMeta<'a> for ChangeWithGraph<'a> {
+    type DepsIter = ChangeDepsIter<'a>;
+
+    fn actor(&self) -> u64 {
+        self.actor_lookup[self.actors.lookup(self.change.actor_id()).unwrap()] as u64
+    }
+
+    fn seq(&self) -> u64 {
+        self.change.seq()
+    }
+
+    fn deps(&self) -> Self::DepsIter {
+        ChangeDepsIter {
+            change: self.change,
+            graph: self.graph,
+            offset: 0,
+        }
+    }
+
+    fn extra(&self) -> Cow<'a, [u8]> {
+        self.change.extra_bytes().into()
+    }
+
+    fn max_op(&self) -> u64 {
+        self.change.max_op()
+    }
+
+    fn message(&self) -> Option<Cow<'a, smol_str::SmolStr>> {
+        self.change.message().map(|m| Cow::Owned(m.into()))
+    }
+
+    fn timestamp(&self) -> i64 {
+        self.change.timestamp()
+    }
+}
+
+struct ChangeDepsIter<'a> {
+    change: &'a Change,
+    graph: &'a HashGraph,
+    offset: usize,
+}
+
+impl<'a> ExactSizeIterator for ChangeDepsIter<'a> {
+    fn len(&self) -> usize {
+        self.change.deps().len()
+    }
+}
+
+impl<'a> Iterator for ChangeDepsIter<'a> {
+    type Item = u64;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        if let Some(dep) = self.change.deps().get(self.offset) {
+            self.offset += 1;
+            Some(self.graph.change_index(dep) as u64)
+        } else {
+            None
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/sync.rs.html b/src/automerge/sync.rs.html new file mode 100644 index 00000000..2ea805cf --- /dev/null +++ b/src/automerge/sync.rs.html @@ -0,0 +1,1929 @@ +sync.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+
//! # Sync Protocol
+//!
+//! The sync protocol is based on this paper:
+//! <https://arxiv.org/abs/2012.00472>, it assumes a reliable in-order stream
+//! between two peers who are synchronizing a document.
+//!
+//! Each peer maintains a [`State`] for each peer they are synchronizing with.
+//! This state tracks things like what the heads of the other peer are and
+//! whether there are in-flight messages. Anything which implements [`SyncDoc`]
+//! can take part in the sync protocol. The flow goes something like this:
+//!
+//! * The initiating peer creates an empty [`State`] and then calls
+//!   [`SyncDoc::generate_sync_message`] to generate new sync message and sends
+//!   it to the receiving peer.
+//! * The receiving peer receives a message from the initiator, creates a new
+//!   [`State`], and calls [`SyncDoc::receive_sync_message`] on it's view of the
+//!   document
+//! * The receiving peer then calls [`SyncDoc::generate_sync_message`] to generate
+//!   a new sync message and send it back to the initiator
+//! * From this point on each peer operates in a loop, receiving a sync message
+//!   from the other peer and then generating a new message to send back.
+//!
+//! ## Example
+//!
+//! ```
+//! use automerge::{transaction::Transactable, sync::{self, SyncDoc}, ReadDoc};
+//! # fn main() -> Result<(), automerge::AutomergeError> {
+//! // Create a document on peer1
+//! let mut peer1 = automerge::AutoCommit::new();
+//! peer1.put(automerge::ROOT, "key", "value")?;
+//!
+//! // Create a state to track our sync with peer2
+//! let mut peer1_state = sync::State::new();
+//! // Generate the initial message to send to peer2, unwrap for brevity
+//! let message1to2 = peer1.sync().generate_sync_message(&mut peer1_state).unwrap();
+//!
+//! // We receive the message on peer2. We don't have a document at all yet
+//! // so we create one
+//! let mut peer2 = automerge::AutoCommit::new();
+//! // We don't have a state for peer1 (it's a new connection), so we create one
+//! let mut peer2_state = sync::State::new();
+//! // Now receive the message from peer 1
+//! peer2.sync().receive_sync_message(&mut peer2_state, message1to2)?;
+//!
+//! // Now we loop, sending messages from one to two and two to one until
+//! // neither has anything new to send
+//!
+//! loop {
+//!     let two_to_one = peer2.sync().generate_sync_message(&mut peer2_state);
+//!     if let Some(message) = two_to_one.as_ref() {
+//!         println!("two to one");
+//!         peer1.sync().receive_sync_message(&mut peer1_state, message.clone())?;
+//!     }
+//!     let one_to_two = peer1.sync().generate_sync_message(&mut peer1_state);
+//!     if let Some(message) = one_to_two.as_ref() {
+//!         println!("one to two");
+//!         peer2.sync().receive_sync_message(&mut peer2_state, message.clone())?;
+//!     }
+//!     if two_to_one.is_none() && one_to_two.is_none() {
+//!         break;
+//!     }
+//! }
+//!
+//! assert_eq!(peer2.get(automerge::ROOT, "key")?.unwrap().0.to_str(), Some("value"));
+//!
+//! # Ok(())
+//! # }
+//! ```
+
+use itertools::Itertools;
+use serde::ser::SerializeMap;
+use std::collections::{HashMap, HashSet};
+
+use crate::{
+    storage::{parse, Change as StoredChange, ReadChangeOpError},
+    Automerge, AutomergeError, Change, ChangeHash, OpObserver, ReadDoc,
+};
+
+mod bloom;
+mod state;
+
+pub use bloom::{BloomFilter, DecodeError as DecodeBloomError};
+pub use state::DecodeError as DecodeStateError;
+pub use state::{Have, State};
+
+/// A document which can take part in the sync protocol
+///
+/// See the [module level documentation](crate::sync) for more details.
+pub trait SyncDoc {
+    /// Generate a sync message for the remote peer represented by `sync_state`
+    ///
+    /// If this returns `None` then there are no new messages to send, either because we are
+    /// waiting for an acknolwedgement of an in-flight message, or because the remote is up to
+    /// date.
+    fn generate_sync_message(&self, sync_state: &mut State) -> Option<Message>;
+
+    /// Apply a received sync message to this document and `sync_state`
+    fn receive_sync_message(
+        &mut self,
+        sync_state: &mut State,
+        message: Message,
+    ) -> Result<(), AutomergeError>;
+
+    /// Apply a received sync message to this document and `sync_state`, observing any changes with
+    /// `op_observer`
+    fn receive_sync_message_with<Obs: OpObserver>(
+        &mut self,
+        sync_state: &mut State,
+        message: Message,
+        op_observer: &mut Obs,
+    ) -> Result<(), AutomergeError>;
+}
+
+const MESSAGE_TYPE_SYNC: u8 = 0x42; // first byte of a sync message, for identification
+
+impl SyncDoc for Automerge {
+    fn generate_sync_message(&self, sync_state: &mut State) -> Option<Message> {
+        let our_heads = self.get_heads();
+
+        let our_need = self.get_missing_deps(sync_state.their_heads.as_ref().unwrap_or(&vec![]));
+
+        let their_heads_set = if let Some(ref heads) = sync_state.their_heads {
+            heads.iter().collect::<HashSet<_>>()
+        } else {
+            HashSet::new()
+        };
+        let our_have = if our_need.iter().all(|hash| their_heads_set.contains(hash)) {
+            vec![self.make_bloom_filter(sync_state.shared_heads.clone())]
+        } else {
+            Vec::new()
+        };
+
+        if let Some(ref their_have) = sync_state.their_have {
+            if let Some(first_have) = their_have.first().as_ref() {
+                if !first_have
+                    .last_sync
+                    .iter()
+                    .all(|hash| self.get_change_by_hash(hash).is_some())
+                {
+                    let reset_msg = Message {
+                        heads: our_heads,
+                        need: Vec::new(),
+                        have: vec![Have::default()],
+                        changes: Vec::new(),
+                    };
+                    return Some(reset_msg);
+                }
+            }
+        }
+
+        let changes_to_send = if let (Some(their_have), Some(their_need)) = (
+            sync_state.their_have.as_ref(),
+            sync_state.their_need.as_ref(),
+        ) {
+            self.get_changes_to_send(their_have, their_need)
+                .expect("Should have only used hashes that are in the document")
+        } else {
+            Vec::new()
+        };
+
+        let heads_unchanged = sync_state.last_sent_heads == our_heads;
+
+        let heads_equal = if let Some(their_heads) = sync_state.their_heads.as_ref() {
+            their_heads == &our_heads
+        } else {
+            false
+        };
+
+        // deduplicate the changes to send with those we have already sent and clone it now
+        let changes_to_send = changes_to_send
+            .into_iter()
+            .filter_map(|change| {
+                if !sync_state.sent_hashes.contains(&change.hash()) {
+                    Some(change.clone())
+                } else {
+                    None
+                }
+            })
+            .collect::<Vec<_>>();
+
+        if heads_unchanged {
+            if heads_equal && changes_to_send.is_empty() {
+                return None;
+            }
+            if sync_state.in_flight {
+                return None;
+            }
+        }
+
+        sync_state.last_sent_heads = our_heads.clone();
+        sync_state
+            .sent_hashes
+            .extend(changes_to_send.iter().map(|c| c.hash()));
+
+        let sync_message = Message {
+            heads: our_heads,
+            have: our_have,
+            need: our_need,
+            changes: changes_to_send,
+        };
+
+        sync_state.in_flight = true;
+        Some(sync_message)
+    }
+
+    fn receive_sync_message(
+        &mut self,
+        sync_state: &mut State,
+        message: Message,
+    ) -> Result<(), AutomergeError> {
+        self.do_receive_sync_message::<()>(sync_state, message, None)
+    }
+
+    fn receive_sync_message_with<Obs: OpObserver>(
+        &mut self,
+        sync_state: &mut State,
+        message: Message,
+        op_observer: &mut Obs,
+    ) -> Result<(), AutomergeError> {
+        self.do_receive_sync_message(sync_state, message, Some(op_observer))
+    }
+}
+
+impl Automerge {
+    fn make_bloom_filter(&self, last_sync: Vec<ChangeHash>) -> Have {
+        let new_changes = self
+            .get_changes(&last_sync)
+            .expect("Should have only used hashes that are in the document");
+        let hashes = new_changes.iter().map(|change| change.hash());
+        Have {
+            last_sync,
+            bloom: BloomFilter::from_hashes(hashes),
+        }
+    }
+
+    fn get_changes_to_send(
+        &self,
+        have: &[Have],
+        need: &[ChangeHash],
+    ) -> Result<Vec<&Change>, AutomergeError> {
+        if have.is_empty() {
+            Ok(need
+                .iter()
+                .filter_map(|hash| self.get_change_by_hash(hash))
+                .collect())
+        } else {
+            let mut last_sync_hashes = HashSet::new();
+            let mut bloom_filters = Vec::with_capacity(have.len());
+
+            for h in have {
+                let Have { last_sync, bloom } = h;
+                last_sync_hashes.extend(last_sync);
+                bloom_filters.push(bloom);
+            }
+            let last_sync_hashes = last_sync_hashes.into_iter().copied().collect::<Vec<_>>();
+
+            let changes = self.get_changes(&last_sync_hashes)?;
+
+            let mut change_hashes = HashSet::with_capacity(changes.len());
+            let mut dependents: HashMap<ChangeHash, Vec<ChangeHash>> = HashMap::new();
+            let mut hashes_to_send = HashSet::new();
+
+            for change in &changes {
+                change_hashes.insert(change.hash());
+
+                for dep in change.deps() {
+                    dependents.entry(*dep).or_default().push(change.hash());
+                }
+
+                if bloom_filters
+                    .iter()
+                    .all(|bloom| !bloom.contains_hash(&change.hash()))
+                {
+                    hashes_to_send.insert(change.hash());
+                }
+            }
+
+            let mut stack = hashes_to_send.iter().copied().collect::<Vec<_>>();
+            while let Some(hash) = stack.pop() {
+                if let Some(deps) = dependents.get(&hash) {
+                    for dep in deps {
+                        if hashes_to_send.insert(*dep) {
+                            stack.push(*dep);
+                        }
+                    }
+                }
+            }
+
+            let mut changes_to_send = Vec::new();
+            for hash in need {
+                if !hashes_to_send.contains(hash) {
+                    if let Some(change) = self.get_change_by_hash(hash) {
+                        changes_to_send.push(change);
+                    }
+                }
+            }
+
+            for change in changes {
+                if hashes_to_send.contains(&change.hash()) {
+                    changes_to_send.push(change);
+                }
+            }
+            Ok(changes_to_send)
+        }
+    }
+
+    fn do_receive_sync_message<Obs: OpObserver>(
+        &mut self,
+        sync_state: &mut State,
+        message: Message,
+        op_observer: Option<&mut Obs>,
+    ) -> Result<(), AutomergeError> {
+        let before_heads = self.get_heads();
+
+        let Message {
+            heads: message_heads,
+            changes: message_changes,
+            need: message_need,
+            have: message_have,
+        } = message;
+
+        let changes_is_empty = message_changes.is_empty();
+        if !changes_is_empty {
+            self.apply_changes_with(message_changes, op_observer)?;
+            sync_state.shared_heads = advance_heads(
+                &before_heads.iter().collect(),
+                &self.get_heads().into_iter().collect(),
+                &sync_state.shared_heads,
+            );
+        }
+
+        // trim down the sent hashes to those that we know they haven't seen
+        self.filter_changes(&message_heads, &mut sync_state.sent_hashes)?;
+
+        if changes_is_empty && message_heads == before_heads {
+            sync_state.last_sent_heads = message_heads.clone();
+        }
+
+        if sync_state.sent_hashes.is_empty() {
+            sync_state.in_flight = false;
+        }
+
+        let known_heads = message_heads
+            .iter()
+            .filter(|head| self.get_change_by_hash(head).is_some())
+            .collect::<Vec<_>>();
+        if known_heads.len() == message_heads.len() {
+            sync_state.shared_heads = message_heads.clone();
+            sync_state.in_flight = false;
+            // If the remote peer has lost all its data, reset our state to perform a full resync
+            if message_heads.is_empty() {
+                sync_state.last_sent_heads = Default::default();
+                sync_state.sent_hashes = Default::default();
+            }
+        } else {
+            sync_state.shared_heads = sync_state
+                .shared_heads
+                .iter()
+                .chain(known_heads)
+                .copied()
+                .unique()
+                .sorted()
+                .collect::<Vec<_>>();
+        }
+
+        sync_state.their_have = Some(message_have);
+        sync_state.their_heads = Some(message_heads);
+        sync_state.their_need = Some(message_need);
+
+        Ok(())
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub enum ReadMessageError {
+    #[error("expected {expected_one_of:?} but found {found}")]
+    WrongType { expected_one_of: Vec<u8>, found: u8 },
+    #[error("{0}")]
+    Parse(String),
+    #[error(transparent)]
+    ReadChangeOps(#[from] ReadChangeOpError),
+    #[error("not enough input")]
+    NotEnoughInput,
+}
+
+impl From<parse::leb128::Error> for ReadMessageError {
+    fn from(e: parse::leb128::Error) -> Self {
+        ReadMessageError::Parse(e.to_string())
+    }
+}
+
+impl From<bloom::ParseError> for ReadMessageError {
+    fn from(e: bloom::ParseError) -> Self {
+        ReadMessageError::Parse(e.to_string())
+    }
+}
+
+impl From<crate::storage::change::ParseError> for ReadMessageError {
+    fn from(e: crate::storage::change::ParseError) -> Self {
+        ReadMessageError::Parse(format!("error parsing changes: {}", e))
+    }
+}
+
+impl From<ReadMessageError> for parse::ParseError<ReadMessageError> {
+    fn from(e: ReadMessageError) -> Self {
+        parse::ParseError::Error(e)
+    }
+}
+
+impl From<parse::ParseError<ReadMessageError>> for ReadMessageError {
+    fn from(p: parse::ParseError<ReadMessageError>) -> Self {
+        match p {
+            parse::ParseError::Error(e) => e,
+            parse::ParseError::Incomplete(..) => Self::NotEnoughInput,
+        }
+    }
+}
+
+/// The sync message to be sent.
+#[derive(Clone, Debug, PartialEq)]
+pub struct Message {
+    /// The heads of the sender.
+    pub heads: Vec<ChangeHash>,
+    /// The hashes of any changes that are being explicitly requested from the recipient.
+    pub need: Vec<ChangeHash>,
+    /// A summary of the changes that the sender already has.
+    pub have: Vec<Have>,
+    /// The changes for the recipient to apply.
+    pub changes: Vec<Change>,
+}
+
+impl serde::Serialize for Message {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: serde::Serializer,
+    {
+        let mut map = serializer.serialize_map(Some(4))?;
+        map.serialize_entry("heads", &self.heads)?;
+        map.serialize_entry("need", &self.need)?;
+        map.serialize_entry("have", &self.have)?;
+        map.serialize_entry(
+            "changes",
+            &self
+                .changes
+                .iter()
+                .map(crate::ExpandedChange::from)
+                .collect::<Vec<_>>(),
+        )?;
+        map.end()
+    }
+}
+
+fn parse_have(input: parse::Input<'_>) -> parse::ParseResult<'_, Have, ReadMessageError> {
+    let (i, last_sync) = parse::length_prefixed(parse::change_hash)(input)?;
+    let (i, bloom_bytes) = parse::length_prefixed_bytes(i)?;
+    let (_, bloom) = BloomFilter::parse(parse::Input::new(bloom_bytes)).map_err(|e| e.lift())?;
+    Ok((i, Have { last_sync, bloom }))
+}
+
+impl Message {
+    pub fn decode(input: &[u8]) -> Result<Self, ReadMessageError> {
+        let input = parse::Input::new(input);
+        match Self::parse(input) {
+            Ok((_, msg)) => Ok(msg),
+            Err(parse::ParseError::Error(e)) => Err(e),
+            Err(parse::ParseError::Incomplete(_)) => Err(ReadMessageError::NotEnoughInput),
+        }
+    }
+
+    pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, ReadMessageError> {
+        let (i, message_type) = parse::take1(input)?;
+        if message_type != MESSAGE_TYPE_SYNC {
+            return Err(parse::ParseError::Error(ReadMessageError::WrongType {
+                expected_one_of: vec![MESSAGE_TYPE_SYNC],
+                found: message_type,
+            }));
+        }
+
+        let (i, heads) = parse::length_prefixed(parse::change_hash)(i)?;
+        let (i, need) = parse::length_prefixed(parse::change_hash)(i)?;
+        let (i, have) = parse::length_prefixed(parse_have)(i)?;
+
+        let change_parser = |i| {
+            let (i, bytes) = parse::length_prefixed_bytes(i)?;
+            let (_, change) =
+                StoredChange::parse(parse::Input::new(bytes)).map_err(|e| e.lift())?;
+            Ok((i, change))
+        };
+        let (i, stored_changes) = parse::length_prefixed(change_parser)(i)?;
+        let changes_len = stored_changes.len();
+        let changes: Vec<Change> = stored_changes
+            .into_iter()
+            .try_fold::<_, _, Result<_, ReadMessageError>>(
+                Vec::with_capacity(changes_len),
+                |mut acc, stored| {
+                    let change = Change::new_from_unverified(stored.into_owned(), None)
+                        .map_err(ReadMessageError::ReadChangeOps)?;
+                    acc.push(change);
+                    Ok(acc)
+                },
+            )?;
+
+        Ok((
+            i,
+            Message {
+                heads,
+                need,
+                have,
+                changes,
+            },
+        ))
+    }
+
+    pub fn encode(mut self) -> Vec<u8> {
+        let mut buf = vec![MESSAGE_TYPE_SYNC];
+
+        encode_hashes(&mut buf, &self.heads);
+        encode_hashes(&mut buf, &self.need);
+        encode_many(&mut buf, self.have.iter(), |buf, h| {
+            encode_hashes(buf, &h.last_sync);
+            leb128::write::unsigned(buf, h.bloom.to_bytes().len() as u64).unwrap();
+            buf.extend(h.bloom.to_bytes());
+        });
+
+        encode_many(&mut buf, self.changes.iter_mut(), |buf, change| {
+            leb128::write::unsigned(buf, change.raw_bytes().len() as u64).unwrap();
+            buf.extend::<&[u8]>(change.raw_bytes().as_ref())
+        });
+
+        buf
+    }
+}
+
+fn encode_many<'a, I, It, F>(out: &mut Vec<u8>, data: I, f: F)
+where
+    I: Iterator<Item = It> + ExactSizeIterator + 'a,
+    F: Fn(&mut Vec<u8>, It),
+{
+    leb128::write::unsigned(out, data.len() as u64).unwrap();
+    for datum in data {
+        f(out, datum)
+    }
+}
+
+fn encode_hashes(buf: &mut Vec<u8>, hashes: &[ChangeHash]) {
+    debug_assert!(
+        hashes.windows(2).all(|h| h[0] <= h[1]),
+        "hashes were not sorted"
+    );
+    encode_many(buf, hashes.iter(), |buf, hash| buf.extend(hash.as_bytes()))
+}
+
+fn advance_heads(
+    my_old_heads: &HashSet<&ChangeHash>,
+    my_new_heads: &HashSet<ChangeHash>,
+    our_old_shared_heads: &[ChangeHash],
+) -> Vec<ChangeHash> {
+    let new_heads = my_new_heads
+        .iter()
+        .filter(|head| !my_old_heads.contains(head))
+        .copied()
+        .collect::<Vec<_>>();
+
+    let common_heads = our_old_shared_heads
+        .iter()
+        .filter(|head| my_new_heads.contains(head))
+        .copied()
+        .collect::<Vec<_>>();
+
+    let mut advanced_heads = HashSet::with_capacity(new_heads.len() + common_heads.len());
+    for head in new_heads.into_iter().chain(common_heads) {
+        advanced_heads.insert(head);
+    }
+    let mut advanced_heads = advanced_heads.into_iter().collect::<Vec<_>>();
+    advanced_heads.sort();
+    advanced_heads
+}
+
+#[cfg(test)]
+mod tests {
+    use super::*;
+    use crate::change::gen::gen_change;
+    use crate::storage::parse::Input;
+    use crate::transaction::Transactable;
+    use crate::types::gen::gen_hash;
+    use crate::ActorId;
+    use proptest::prelude::*;
+
+    prop_compose! {
+        fn gen_bloom()(hashes in gen_sorted_hashes(0..10)) -> BloomFilter {
+            BloomFilter::from_hashes(hashes.into_iter())
+        }
+    }
+
+    prop_compose! {
+        fn gen_have()(bloom in gen_bloom(), last_sync in gen_sorted_hashes(0..10))  -> Have {
+            Have {
+                bloom,
+                last_sync,
+            }
+        }
+    }
+
+    fn gen_sorted_hashes(size: std::ops::Range<usize>) -> impl Strategy<Value = Vec<ChangeHash>> {
+        proptest::collection::vec(gen_hash(), size).prop_map(|mut h| {
+            h.sort();
+            h
+        })
+    }
+
+    prop_compose! {
+        fn gen_sync_message()(
+            heads in gen_sorted_hashes(0..10),
+            need in gen_sorted_hashes(0..10),
+            have in proptest::collection::vec(gen_have(), 0..10),
+            changes in proptest::collection::vec(gen_change(), 0..10),
+        ) -> Message {
+            Message {
+                heads,
+                need,
+                have,
+                changes,
+            }
+        }
+
+    }
+
+    #[test]
+    fn encode_decode_empty_message() {
+        let msg = Message {
+            heads: vec![],
+            need: vec![],
+            have: vec![],
+            changes: vec![],
+        };
+        let encoded = msg.encode();
+        Message::parse(Input::new(&encoded)).unwrap();
+    }
+
+    proptest! {
+        #[test]
+        fn encode_decode_message(msg in gen_sync_message()) {
+            let encoded = msg.clone().encode();
+            let (i, decoded) = Message::parse(Input::new(&encoded)).unwrap();
+            assert!(i.is_empty());
+            assert_eq!(msg, decoded);
+        }
+    }
+
+    #[test]
+    fn generate_sync_message_twice_does_nothing() {
+        let mut doc = crate::AutoCommit::new();
+        doc.put(crate::ROOT, "key", "value").unwrap();
+        let mut sync_state = State::new();
+
+        assert!(doc.sync().generate_sync_message(&mut sync_state).is_some());
+        assert!(doc.sync().generate_sync_message(&mut sync_state).is_none());
+    }
+
+    #[test]
+    fn should_not_reply_if_we_have_no_data() {
+        let mut doc1 = crate::AutoCommit::new();
+        let mut doc2 = crate::AutoCommit::new();
+        let mut s1 = State::new();
+        let mut s2 = State::new();
+        let m1 = doc1
+            .sync()
+            .generate_sync_message(&mut s1)
+            .expect("message was none");
+
+        doc2.sync().receive_sync_message(&mut s2, m1).unwrap();
+        let m2 = doc2.sync().generate_sync_message(&mut s2);
+        assert!(m2.is_none());
+    }
+
+    #[test]
+    fn should_allow_simultaneous_messages_during_synchronisation() {
+        // create & synchronize two nodes
+        let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("abc123").unwrap());
+        let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("def456").unwrap());
+        let mut s1 = State::new();
+        let mut s2 = State::new();
+
+        for i in 0..5 {
+            doc1.put(&crate::ROOT, "x", i).unwrap();
+            doc1.commit();
+            doc2.put(&crate::ROOT, "y", i).unwrap();
+            doc2.commit();
+        }
+
+        let head1 = doc1.get_heads()[0];
+        let head2 = doc2.get_heads()[0];
+
+        //// both sides report what they have but have no shared peer state
+        let msg1to2 = doc1
+            .sync()
+            .generate_sync_message(&mut s1)
+            .expect("initial sync from 1 to 2 was None");
+        let msg2to1 = doc2
+            .sync()
+            .generate_sync_message(&mut s2)
+            .expect("initial sync message from 2 to 1 was None");
+        assert_eq!(msg1to2.changes.len(), 0);
+        assert_eq!(msg1to2.have[0].last_sync.len(), 0);
+        assert_eq!(msg2to1.changes.len(), 0);
+        assert_eq!(msg2to1.have[0].last_sync.len(), 0);
+
+        //// doc1 and doc2 receive that message and update sync state
+        doc1.sync().receive_sync_message(&mut s1, msg2to1).unwrap();
+        doc2.sync().receive_sync_message(&mut s2, msg1to2).unwrap();
+
+        //// now both reply with their local changes the other lacks
+        //// (standard warning that 1% of the time this will result in a "need" message)
+        let msg1to2 = doc1
+            .sync()
+            .generate_sync_message(&mut s1)
+            .expect("first reply from 1 to 2 was None");
+        assert_eq!(msg1to2.changes.len(), 5);
+
+        let msg2to1 = doc2
+            .sync()
+            .generate_sync_message(&mut s2)
+            .expect("first reply from 2 to 1 was None");
+        assert_eq!(msg2to1.changes.len(), 5);
+
+        //// both should now apply the changes
+        doc1.sync().receive_sync_message(&mut s1, msg2to1).unwrap();
+        assert_eq!(doc1.get_missing_deps(&[]), Vec::new());
+
+        doc2.sync().receive_sync_message(&mut s2, msg1to2).unwrap();
+        assert_eq!(doc2.get_missing_deps(&[]), Vec::new());
+
+        //// The response acknowledges the changes received and sends no further changes
+        let msg1to2 = doc1
+            .sync()
+            .generate_sync_message(&mut s1)
+            .expect("second reply from 1 to 2 was None");
+        assert_eq!(msg1to2.changes.len(), 0);
+        let msg2to1 = doc2
+            .sync()
+            .generate_sync_message(&mut s2)
+            .expect("second reply from 2 to 1 was None");
+        assert_eq!(msg2to1.changes.len(), 0);
+
+        //// After receiving acknowledgements, their shared heads should be equal
+        doc1.sync().receive_sync_message(&mut s1, msg2to1).unwrap();
+        doc2.sync().receive_sync_message(&mut s2, msg1to2).unwrap();
+
+        assert_eq!(s1.shared_heads, s2.shared_heads);
+
+        //// We're in sync, no more messages required
+        assert!(doc1.sync().generate_sync_message(&mut s1).is_none());
+        assert!(doc2.sync().generate_sync_message(&mut s2).is_none());
+
+        //// If we make one more change and start another sync then its lastSync should be updated
+        doc1.put(crate::ROOT, "x", 5).unwrap();
+        doc1.commit();
+        let msg1to2 = doc1
+            .sync()
+            .generate_sync_message(&mut s1)
+            .expect("third reply from 1 to 2 was None");
+        let mut expected_heads = vec![head1, head2];
+        expected_heads.sort();
+        let mut actual_heads = msg1to2.have[0].last_sync.clone();
+        actual_heads.sort();
+        assert_eq!(actual_heads, expected_heads);
+    }
+
+    #[test]
+    fn should_handle_false_positive_head() {
+        // Scenario:                                                            ,-- n1
+        // c0 <-- c1 <-- c2 <-- c3 <-- c4 <-- c5 <-- c6 <-- c7 <-- c8 <-- c9 <-+
+        //                                                                      `-- n2
+        // where n2 is a false positive in the Bloom filter containing {n1}.
+        // lastSync is c9.
+
+        let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("abc123").unwrap());
+        let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("def456").unwrap());
+        let mut s1 = State::new();
+        let mut s2 = State::new();
+
+        for i in 0..10 {
+            doc1.put(crate::ROOT, "x", i).unwrap();
+            doc1.commit();
+        }
+
+        sync(&mut doc1, &mut doc2, &mut s1, &mut s2);
+
+        // search for false positive; see comment above
+        let mut i = 0;
+        let (mut doc1, mut doc2) = loop {
+            let mut doc1copy = doc1
+                .clone()
+                .with_actor(ActorId::try_from("01234567").unwrap());
+            let val1 = format!("{} @ n1", i);
+            doc1copy.put(crate::ROOT, "x", val1).unwrap();
+            doc1copy.commit();
+
+            let mut doc2copy = doc1
+                .clone()
+                .with_actor(ActorId::try_from("89abcdef").unwrap());
+            let val2 = format!("{} @ n2", i);
+            doc2copy.put(crate::ROOT, "x", val2).unwrap();
+            doc2copy.commit();
+
+            let n1_bloom = BloomFilter::from_hashes(doc1copy.get_heads().into_iter());
+            if n1_bloom.contains_hash(&doc2copy.get_heads()[0]) {
+                break (doc1copy, doc2copy);
+            }
+            i += 1;
+        };
+
+        let mut all_heads = doc1.get_heads();
+        all_heads.extend(doc2.get_heads());
+        all_heads.sort();
+
+        // reset sync states
+        let (_, mut s1) = State::parse(Input::new(s1.encode().as_slice())).unwrap();
+        let (_, mut s2) = State::parse(Input::new(s2.encode().as_slice())).unwrap();
+        sync(&mut doc1, &mut doc2, &mut s1, &mut s2);
+        assert_eq!(doc1.get_heads(), all_heads);
+        assert_eq!(doc2.get_heads(), all_heads);
+    }
+
+    #[test]
+    fn should_handle_chains_of_false_positives() {
+        //// Scenario:                         ,-- c5
+        //// c0 <-- c1 <-- c2 <-- c3 <-- c4 <-+
+        ////                                   `-- n2c1 <-- n2c2 <-- n2c3
+        //// where n2c1 and n2c2 are both false positives in the Bloom filter containing {c5}.
+        //// lastSync is c4.
+        let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("abc123").unwrap());
+        let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("def456").unwrap());
+        let mut s1 = State::new();
+        let mut s2 = State::new();
+
+        for i in 0..10 {
+            doc1.put(crate::ROOT, "x", i).unwrap();
+            doc1.commit();
+        }
+
+        sync(&mut doc1, &mut doc2, &mut s1, &mut s2);
+
+        doc1.put(crate::ROOT, "x", 5).unwrap();
+        doc1.commit();
+        let bloom = BloomFilter::from_hashes(doc1.get_heads().into_iter());
+
+        // search for false positive; see comment above
+        let mut i = 0;
+        let mut doc2 = loop {
+            let mut doc = doc2
+                .fork()
+                .with_actor(ActorId::try_from("89abcdef").unwrap());
+            doc.put(crate::ROOT, "x", format!("{} at 89abdef", i))
+                .unwrap();
+            doc.commit();
+            if bloom.contains_hash(&doc.get_heads()[0]) {
+                break doc;
+            }
+            i += 1;
+        };
+
+        // find another false positive building on the first
+        i = 0;
+        let mut doc2 = loop {
+            let mut doc = doc2
+                .fork()
+                .with_actor(ActorId::try_from("89abcdef").unwrap());
+            doc.put(crate::ROOT, "x", format!("{} again", i)).unwrap();
+            doc.commit();
+            if bloom.contains_hash(&doc.get_heads()[0]) {
+                break doc;
+            }
+            i += 1;
+        };
+
+        doc2.put(crate::ROOT, "x", "final @ 89abcdef").unwrap();
+
+        let mut all_heads = doc1.get_heads();
+        all_heads.extend(doc2.get_heads());
+        all_heads.sort();
+
+        let (_, mut s1) = State::parse(Input::new(s1.encode().as_slice())).unwrap();
+        let (_, mut s2) = State::parse(Input::new(s2.encode().as_slice())).unwrap();
+        sync(&mut doc1, &mut doc2, &mut s1, &mut s2);
+        assert_eq!(doc1.get_heads(), all_heads);
+        assert_eq!(doc2.get_heads(), all_heads);
+    }
+
+    #[test]
+    fn should_handle_lots_of_branching_and_merging() {
+        let mut doc1 = crate::AutoCommit::new().with_actor(ActorId::try_from("01234567").unwrap());
+        let mut doc2 = crate::AutoCommit::new().with_actor(ActorId::try_from("89abcdef").unwrap());
+        let mut doc3 = crate::AutoCommit::new().with_actor(ActorId::try_from("fedcba98").unwrap());
+        let mut s1 = State::new();
+        let mut s2 = State::new();
+
+        doc1.put(crate::ROOT, "x", 0).unwrap();
+        let change1 = doc1.get_last_local_change().unwrap().clone();
+
+        doc2.apply_changes([change1.clone()]).unwrap();
+        doc3.apply_changes([change1]).unwrap();
+
+        doc3.put(crate::ROOT, "x", 1).unwrap();
+
+        ////        - n1c1 <------ n1c2 <------ n1c3 <-- etc. <-- n1c20 <------ n1c21
+        ////       /          \/           \/                              \/
+        ////      /           /\           /\                              /\
+        //// c0 <---- n2c1 <------ n2c2 <------ n2c3 <-- etc. <-- n2c20 <------ n2c21
+        ////      \                                                          /
+        ////       ---------------------------------------------- n3c1 <-----
+        for i in 1..20 {
+            doc1.put(crate::ROOT, "n1", i).unwrap();
+            doc2.put(crate::ROOT, "n2", i).unwrap();
+            let change1 = doc1.get_last_local_change().unwrap().clone();
+            let change2 = doc2.get_last_local_change().unwrap().clone();
+            doc1.apply_changes([change2.clone()]).unwrap();
+            doc2.apply_changes([change1]).unwrap();
+        }
+
+        sync(&mut doc1, &mut doc2, &mut s1, &mut s2);
+
+        //// Having n3's last change concurrent to the last sync heads forces us into the slower code path
+        let change3 = doc3.get_last_local_change().unwrap().clone();
+        doc2.apply_changes([change3]).unwrap();
+
+        doc1.put(crate::ROOT, "n1", "final").unwrap();
+        doc2.put(crate::ROOT, "n1", "final").unwrap();
+
+        sync(&mut doc1, &mut doc2, &mut s1, &mut s2);
+
+        assert_eq!(doc1.get_heads(), doc2.get_heads());
+    }
+
+    fn sync(
+        a: &mut crate::AutoCommit,
+        b: &mut crate::AutoCommit,
+        a_sync_state: &mut State,
+        b_sync_state: &mut State,
+    ) {
+        //function sync(a: Automerge, b: Automerge, aSyncState = initSyncState(), bSyncState = initSyncState()) {
+        const MAX_ITER: usize = 10;
+        let mut iterations = 0;
+
+        loop {
+            let a_to_b = a.sync().generate_sync_message(a_sync_state);
+            let b_to_a = b.sync().generate_sync_message(b_sync_state);
+            if a_to_b.is_none() && b_to_a.is_none() {
+                break;
+            }
+            if iterations > MAX_ITER {
+                panic!("failed to sync in {} iterations", MAX_ITER);
+            }
+            if let Some(msg) = a_to_b {
+                b.sync().receive_sync_message(b_sync_state, msg).unwrap()
+            }
+            if let Some(msg) = b_to_a {
+                a.sync().receive_sync_message(a_sync_state, msg).unwrap()
+            }
+            iterations += 1;
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/sync/bloom.rs.html b/src/automerge/sync/bloom.rs.html new file mode 100644 index 00000000..38caa5dc --- /dev/null +++ b/src/automerge/sync/bloom.rs.html @@ -0,0 +1,323 @@ +bloom.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+
use std::borrow::Borrow;
+
+use crate::storage::parse;
+use crate::ChangeHash;
+
+// These constants correspond to a 1% false positive rate. The values can be changed without
+// breaking compatibility of the network protocol, since the parameters used for a particular
+// Bloom filter are encoded in the wire format.
+const BITS_PER_ENTRY: u32 = 10;
+const NUM_PROBES: u32 = 7;
+
+#[derive(Debug, Clone, PartialEq, Eq, Hash, serde::Serialize)]
+pub struct BloomFilter {
+    num_entries: u32,
+    num_bits_per_entry: u32,
+    num_probes: u32,
+    bits: Vec<u8>,
+}
+
+impl Default for BloomFilter {
+    fn default() -> Self {
+        BloomFilter {
+            num_entries: 0,
+            num_bits_per_entry: BITS_PER_ENTRY,
+            num_probes: NUM_PROBES,
+            bits: Vec::new(),
+        }
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub(crate) enum ParseError {
+    #[error(transparent)]
+    Leb128(#[from] parse::leb128::Error),
+}
+
+impl BloomFilter {
+    pub fn to_bytes(&self) -> Vec<u8> {
+        let mut buf = Vec::new();
+        if self.num_entries != 0 {
+            leb128::write::unsigned(&mut buf, self.num_entries as u64).unwrap();
+            leb128::write::unsigned(&mut buf, self.num_bits_per_entry as u64).unwrap();
+            leb128::write::unsigned(&mut buf, self.num_probes as u64).unwrap();
+            buf.extend(&self.bits);
+        }
+        buf
+    }
+
+    pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, ParseError> {
+        if input.is_empty() {
+            Ok((input, Self::default()))
+        } else {
+            let (i, num_entries) = parse::leb128_u32(input)?;
+            let (i, num_bits_per_entry) = parse::leb128_u32(i)?;
+            let (i, num_probes) = parse::leb128_u32(i)?;
+            let (i, bits) = parse::take_n(bits_capacity(num_entries, num_bits_per_entry), i)?;
+            Ok((
+                i,
+                Self {
+                    num_entries,
+                    num_bits_per_entry,
+                    num_probes,
+                    bits: bits.to_vec(),
+                },
+            ))
+        }
+    }
+
+    fn get_probes(&self, hash: &ChangeHash) -> Vec<u32> {
+        let hash_bytes = hash.0;
+        let modulo = 8 * self.bits.len() as u32;
+
+        let mut x =
+            u32::from_le_bytes([hash_bytes[0], hash_bytes[1], hash_bytes[2], hash_bytes[3]])
+                % modulo;
+        let mut y =
+            u32::from_le_bytes([hash_bytes[4], hash_bytes[5], hash_bytes[6], hash_bytes[7]])
+                % modulo;
+        let z = u32::from_le_bytes([hash_bytes[8], hash_bytes[9], hash_bytes[10], hash_bytes[11]])
+            % modulo;
+
+        let mut probes = Vec::with_capacity(self.num_probes as usize);
+        probes.push(x);
+        for _ in 1..self.num_probes {
+            x = (x + y) % modulo;
+            y = (y + z) % modulo;
+            probes.push(x);
+        }
+        probes
+    }
+
+    fn add_hash(&mut self, hash: &ChangeHash) {
+        for probe in self.get_probes(hash) {
+            self.set_bit(probe as usize);
+        }
+    }
+
+    fn set_bit(&mut self, probe: usize) {
+        if let Some(byte) = self.bits.get_mut(probe >> 3) {
+            *byte |= 1 << (probe & 7);
+        }
+    }
+
+    fn get_bit(&self, probe: usize) -> Option<u8> {
+        self.bits
+            .get(probe >> 3)
+            .map(|byte| byte & (1 << (probe & 7)))
+    }
+
+    pub fn contains_hash(&self, hash: &ChangeHash) -> bool {
+        if self.num_entries == 0 {
+            false
+        } else {
+            for probe in self.get_probes(hash) {
+                if let Some(bit) = self.get_bit(probe as usize) {
+                    if bit == 0 {
+                        return false;
+                    }
+                }
+            }
+            true
+        }
+    }
+
+    pub fn from_hashes<H: Borrow<ChangeHash>>(hashes: impl ExactSizeIterator<Item = H>) -> Self {
+        let num_entries = hashes.len() as u32;
+        let num_bits_per_entry = BITS_PER_ENTRY;
+        let num_probes = NUM_PROBES;
+        let bits = vec![0; bits_capacity(num_entries, num_bits_per_entry)];
+        let mut filter = Self {
+            num_entries,
+            num_bits_per_entry,
+            num_probes,
+            bits,
+        };
+        for hash in hashes {
+            filter.add_hash(hash.borrow());
+        }
+        filter
+    }
+}
+
+fn bits_capacity(num_entries: u32, num_bits_per_entry: u32) -> usize {
+    let f = ((f64::from(num_entries) * f64::from(num_bits_per_entry)) / 8_f64).ceil();
+    f as usize
+}
+
+#[derive(thiserror::Error, Debug)]
+#[error("{0}")]
+pub struct DecodeError(String);
+
+impl TryFrom<&[u8]> for BloomFilter {
+    type Error = DecodeError;
+
+    fn try_from(bytes: &[u8]) -> Result<Self, Self::Error> {
+        Self::parse(parse::Input::new(bytes))
+            .map(|(_, b)| b)
+            .map_err(|e| DecodeError(e.to_string()))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/sync/state.rs.html b/src/automerge/sync/state.rs.html new file mode 100644 index 00000000..607db15d --- /dev/null +++ b/src/automerge/sync/state.rs.html @@ -0,0 +1,223 @@ +state.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+
use std::collections::BTreeSet;
+
+use super::{encode_hashes, BloomFilter};
+use crate::storage::parse;
+use crate::ChangeHash;
+
+const SYNC_STATE_TYPE: u8 = 0x43; // first byte of an encoded sync state, for identification
+
+#[derive(Debug, thiserror::Error)]
+pub enum DecodeError {
+    #[error("{0:?}")]
+    Parse(String),
+    #[error("wrong type: expected one of {expected_one_of:?} but found {found}")]
+    WrongType { expected_one_of: Vec<u8>, found: u8 },
+    #[error("not enough input")]
+    NotEnoughInput,
+}
+
+impl From<parse::leb128::Error> for DecodeError {
+    fn from(_: parse::leb128::Error) -> Self {
+        Self::Parse("bad leb128 encoding".to_string())
+    }
+}
+
+/// The state of synchronisation with a peer.
+///
+/// This should be persisted using [`Self::encode`] when you know you will be interacting with the
+/// same peer in multiple sessions. [`Self::encode`] only encodes state which should be reused
+/// across connections.
+#[derive(Debug, Clone, Default, PartialEq, Eq, Hash)]
+pub struct State {
+    /// The hashes which we know both peers have
+    pub shared_heads: Vec<ChangeHash>,
+    /// The heads we last sent
+    pub last_sent_heads: Vec<ChangeHash>,
+    /// The heads we last received from them
+    pub their_heads: Option<Vec<ChangeHash>>,
+    /// Any specific changes they last said they needed
+    pub their_need: Option<Vec<ChangeHash>>,
+    /// The bloom filters summarising what they said they have
+    pub their_have: Option<Vec<Have>>,
+    /// The hashes we have sent in this session
+    pub sent_hashes: BTreeSet<ChangeHash>,
+
+    /// `generate_sync_message` should return `None` if there are no new changes to send. In
+    /// particular, if there are changes in flight which the other end has not yet acknowledged we
+    /// do not wish to generate duplicate sync messages. This field tracks whether the changes we
+    /// expect to send to the peer based on this sync state have been sent or not. If
+    /// `in_flight` is `false` then `generate_sync_message` will return a new message (provided
+    /// there are in fact changes to send). If it is `true` then we don't. This flag is cleared
+    /// in `receive_sync_message`.
+    pub in_flight: bool,
+}
+
+/// A summary of the changes that the sender of the message already has.
+/// This is implicitly a request to the recipient to send all changes that the
+/// sender does not already have.
+#[derive(Debug, Clone, Default, PartialEq, Eq, Hash, serde::Serialize)]
+pub struct Have {
+    /// The heads at the time of the last successful sync with this recipient.
+    pub last_sync: Vec<ChangeHash>,
+    /// A bloom filter summarising all of the changes that the sender of the message has added
+    /// since the last sync.
+    pub bloom: BloomFilter,
+}
+
+impl State {
+    pub fn new() -> Self {
+        Default::default()
+    }
+
+    pub fn encode(&self) -> Vec<u8> {
+        let mut buf = vec![SYNC_STATE_TYPE];
+        encode_hashes(&mut buf, &self.shared_heads);
+        buf
+    }
+
+    pub fn decode(input: &[u8]) -> Result<Self, DecodeError> {
+        let input = parse::Input::new(input);
+        match Self::parse(input) {
+            Ok((_, state)) => Ok(state),
+            Err(parse::ParseError::Incomplete(_)) => Err(DecodeError::NotEnoughInput),
+            Err(parse::ParseError::Error(e)) => Err(e),
+        }
+    }
+
+    pub(crate) fn parse(input: parse::Input<'_>) -> parse::ParseResult<'_, Self, DecodeError> {
+        let (i, record_type) = parse::take1(input)?;
+        if record_type != SYNC_STATE_TYPE {
+            return Err(parse::ParseError::Error(DecodeError::WrongType {
+                expected_one_of: vec![SYNC_STATE_TYPE],
+                found: record_type,
+            }));
+        }
+
+        let (i, shared_heads) = parse::length_prefixed(parse::change_hash)(i)?;
+        Ok((
+            i,
+            Self {
+                shared_heads,
+                last_sent_heads: Vec::new(),
+                their_heads: None,
+                their_need: None,
+                their_have: Some(Vec::new()),
+                sent_hashes: BTreeSet::new(),
+                in_flight: false,
+            },
+        ))
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/transaction.rs.html b/src/automerge/transaction.rs.html new file mode 100644 index 00000000..7add89f2 --- /dev/null +++ b/src/automerge/transaction.rs.html @@ -0,0 +1,35 @@ +transaction.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+
mod commit;
+mod inner;
+mod manual_transaction;
+pub(crate) mod observation;
+mod result;
+mod transactable;
+
+pub use self::commit::CommitOptions;
+pub use self::transactable::Transactable;
+pub(crate) use inner::{TransactionArgs, TransactionInner};
+pub use manual_transaction::Transaction;
+pub use observation::{Observation, Observed, UnObserved};
+pub use result::Failure;
+pub use result::Success;
+
+pub type Result<O, Obs, E> = std::result::Result<Success<O, Obs>, Failure<E>>;
+
+
\ No newline at end of file diff --git a/src/automerge/transaction/commit.rs.html b/src/automerge/transaction/commit.rs.html new file mode 100644 index 00000000..3465966d --- /dev/null +++ b/src/automerge/transaction/commit.rs.html @@ -0,0 +1,67 @@ +commit.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+
/// Optional metadata for a commit.
+#[derive(Debug, Default)]
+pub struct CommitOptions {
+    pub message: Option<String>,
+    pub time: Option<i64>,
+}
+
+impl CommitOptions {
+    /// Add a message to the commit.
+    pub fn with_message<S: Into<String>>(mut self, message: S) -> Self {
+        self.message = Some(message.into());
+        self
+    }
+
+    /// Add a message to the commit.
+    pub fn set_message<S: Into<String>>(&mut self, message: S) -> &mut Self {
+        self.message = Some(message.into());
+        self
+    }
+
+    /// Add a timestamp to the commit.
+    pub fn with_time(mut self, time: i64) -> Self {
+        self.time = Some(time);
+        self
+    }
+
+    /// Add a timestamp to the commit.
+    pub fn set_time(&mut self, time: i64) -> &mut Self {
+        self.time = Some(time);
+        self
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/transaction/inner.rs.html b/src/automerge/transaction/inner.rs.html new file mode 100644 index 00000000..445d7a86 --- /dev/null +++ b/src/automerge/transaction/inner.rs.html @@ -0,0 +1,1465 @@ +inner.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+
use std::num::NonZeroU64;
+
+use crate::exid::ExId;
+use crate::query::{self, OpIdSearch};
+use crate::storage::Change as StoredChange;
+use crate::types::{Key, ListEncoding, ObjId, OpId, OpIds, TextEncoding};
+use crate::{op_tree::OpSetMetadata, types::Op, Automerge, Change, ChangeHash, OpObserver, Prop};
+use crate::{AutomergeError, ObjType, OpType, ScalarValue};
+
+#[derive(Debug, Clone)]
+pub(crate) struct TransactionInner {
+    actor: usize,
+    seq: u64,
+    start_op: NonZeroU64,
+    time: i64,
+    message: Option<String>,
+    deps: Vec<ChangeHash>,
+    operations: Vec<(ObjId, Op)>,
+}
+
+/// Arguments required to create a new transaction
+pub(crate) struct TransactionArgs {
+    /// The index of the actor ID this transaction will create ops for in the
+    /// [`OpSetMetadata::actors`]
+    pub(crate) actor_index: usize,
+    /// The sequence number of the change this transaction will create
+    pub(crate) seq: u64,
+    /// The start op of the change this transaction will create
+    pub(crate) start_op: NonZeroU64,
+    /// The dependencies of the change this transaction will create
+    pub(crate) deps: Vec<ChangeHash>,
+}
+
+impl TransactionInner {
+    pub(crate) fn new(
+        TransactionArgs {
+            actor_index: actor,
+            seq,
+            start_op,
+            deps,
+        }: TransactionArgs,
+    ) -> Self {
+        TransactionInner {
+            actor,
+            seq,
+            start_op,
+            time: 0,
+            message: None,
+            operations: vec![],
+            deps,
+        }
+    }
+
+    /// Create an empty change
+    pub(crate) fn empty(
+        doc: &mut Automerge,
+        args: TransactionArgs,
+        message: Option<String>,
+        time: Option<i64>,
+    ) -> ChangeHash {
+        Self::new(args).commit_impl(doc, message, time)
+    }
+
+    pub(crate) fn pending_ops(&self) -> usize {
+        self.operations.len()
+    }
+
+    /// Commit the operations performed in this transaction, returning the hashes corresponding to
+    /// the new heads.
+    ///
+    /// Returns `None` if there were no operations to commit
+    #[tracing::instrument(skip(self, doc))]
+    pub(crate) fn commit(
+        self,
+        doc: &mut Automerge,
+        message: Option<String>,
+        time: Option<i64>,
+    ) -> Option<ChangeHash> {
+        if self.pending_ops() == 0 {
+            return None;
+        }
+        Some(self.commit_impl(doc, message, time))
+    }
+
+    pub(crate) fn commit_impl(
+        mut self,
+        doc: &mut Automerge,
+        message: Option<String>,
+        time: Option<i64>,
+    ) -> ChangeHash {
+        if message.is_some() {
+            self.message = message;
+        }
+
+        if let Some(t) = time {
+            self.time = t;
+        }
+
+        let num_ops = self.pending_ops();
+        let change = self.export(&doc.ops().m);
+        let hash = change.hash();
+        #[cfg(not(debug_assertions))]
+        tracing::trace!(commit=?hash, deps=?change.deps(), "committing transaction");
+        #[cfg(debug_assertions)]
+        {
+            let ops = change.iter_ops().collect::<Vec<_>>();
+            tracing::trace!(commit=?hash, ?ops, deps=?change.deps(), "committing transaction");
+        }
+        doc.update_history(change, num_ops);
+        debug_assert_eq!(doc.get_heads(), vec![hash]);
+        hash
+    }
+
+    #[tracing::instrument(skip(self, metadata))]
+    pub(crate) fn export(self, metadata: &OpSetMetadata) -> Change {
+        use crate::storage::{change::PredOutOfOrder, convert::op_as_actor_id};
+
+        let actor = metadata.actors.get(self.actor).clone();
+        let deps = self.deps.clone();
+        let stored = match StoredChange::builder()
+            .with_actor(actor)
+            .with_seq(self.seq)
+            .with_start_op(self.start_op)
+            .with_message(self.message.clone())
+            .with_dependencies(deps)
+            .with_timestamp(self.time)
+            .build(
+                self.operations
+                    .iter()
+                    .map(|(obj, op)| op_as_actor_id(obj, op, metadata)),
+            ) {
+            Ok(s) => s,
+            Err(PredOutOfOrder) => {
+                // SAFETY: types::Op::preds is `types::OpIds` which ensures ops are always sorted
+                panic!("preds out of order");
+            }
+        };
+        #[cfg(debug_assertions)]
+        {
+            let realized_ops = self.operations.iter().collect::<Vec<_>>();
+            tracing::trace!(?stored, ops=?realized_ops, "committing change");
+        }
+        #[cfg(not(debug_assertions))]
+        tracing::trace!(?stored, "committing change");
+        Change::new(stored)
+    }
+
+    /// Undo the operations added in this transaction, returning the number of cancelled
+    /// operations.
+    pub(crate) fn rollback(self, doc: &mut Automerge) -> usize {
+        let num = self.pending_ops();
+        // remove in reverse order so sets are removed before makes etc...
+        for (obj, op) in self.operations.into_iter().rev() {
+            for pred_id in &op.pred {
+                if let Some(p) = doc.ops().search(&obj, OpIdSearch::new(*pred_id)).index() {
+                    doc.ops_mut().change_vis(&obj, p, |o| o.remove_succ(&op));
+                }
+            }
+            if let Some(pos) = doc.ops().search(&obj, OpIdSearch::new(op.id)).index() {
+                doc.ops_mut().remove(&obj, pos);
+            }
+        }
+
+        doc.rollback_last_actor();
+
+        num
+    }
+
+    /// Set the value of property `P` to value `V` in object `obj`.
+    ///
+    /// # Returns
+    ///
+    /// The opid of the operation which was created, or None if this operation doesn't change the
+    /// document
+    ///
+    /// # Errors
+    ///
+    /// This will return an error if
+    /// - The object does not exist
+    /// - The key is the wrong type for the object
+    /// - The key does not exist in the object
+    pub(crate) fn put<P: Into<Prop>, V: Into<ScalarValue>, Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        ex_obj: &ExId,
+        prop: P,
+        value: V,
+    ) -> Result<(), AutomergeError> {
+        let (obj, obj_type) = doc.exid_to_obj(ex_obj)?;
+        let value = value.into();
+        let prop = prop.into();
+        match (&prop, obj_type) {
+            (Prop::Map(_), ObjType::Map) => Ok(()),
+            (Prop::Seq(_), ObjType::List) => Ok(()),
+            (Prop::Seq(_), ObjType::Text) => Ok(()),
+            _ => Err(AutomergeError::InvalidOp(obj_type)),
+        }?;
+        self.local_op(doc, op_observer, obj, prop, value.into())?;
+        Ok(())
+    }
+
+    /// Set the value of property `P` to value `V` in object `obj`.
+    ///
+    /// # Returns
+    ///
+    /// The opid of the operation which was created, or None if this operation doesn't change the
+    /// document
+    ///
+    /// # Errors
+    ///
+    /// This will return an error if
+    /// - The object does not exist
+    /// - The key is the wrong type for the object
+    /// - The key does not exist in the object
+    pub(crate) fn put_object<P: Into<Prop>, Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        ex_obj: &ExId,
+        prop: P,
+        value: ObjType,
+    ) -> Result<ExId, AutomergeError> {
+        let (obj, obj_type) = doc.exid_to_obj(ex_obj)?;
+        let prop = prop.into();
+        match (&prop, obj_type) {
+            (Prop::Map(_), ObjType::Map) => Ok(()),
+            (Prop::Seq(_), ObjType::List) => Ok(()),
+            _ => Err(AutomergeError::InvalidOp(obj_type)),
+        }?;
+        let id = self
+            .local_op(doc, op_observer, obj, prop, value.into())?
+            .unwrap();
+        let id = doc.id_to_exid(id);
+        Ok(id)
+    }
+
+    fn next_id(&mut self) -> OpId {
+        OpId::new(self.start_op.get() + self.pending_ops() as u64, self.actor)
+    }
+
+    fn next_insert(&mut self, key: Key, value: ScalarValue) -> Op {
+        Op {
+            id: self.next_id(),
+            action: OpType::Put(value),
+            key,
+            succ: Default::default(),
+            pred: Default::default(),
+            insert: true,
+        }
+    }
+
+    fn next_delete(&mut self, key: Key, pred: OpIds) -> Op {
+        Op {
+            id: self.next_id(),
+            action: OpType::Delete,
+            key,
+            succ: Default::default(),
+            pred,
+            insert: false,
+        }
+    }
+
+    #[allow(clippy::too_many_arguments)]
+    fn insert_local_op<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        prop: Prop,
+        op: Op,
+        pos: usize,
+        obj: ObjId,
+        succ_pos: &[usize],
+    ) {
+        doc.ops_mut().add_succ(&obj, succ_pos, &op);
+
+        if !op.is_delete() {
+            doc.ops_mut().insert(pos, &obj, op.clone());
+        }
+
+        self.finalize_op(doc, op_observer, obj, prop, op);
+    }
+
+    pub(crate) fn insert<V: Into<ScalarValue>, Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        ex_obj: &ExId,
+        index: usize,
+        value: V,
+    ) -> Result<(), AutomergeError> {
+        let (obj, obj_type) = doc.exid_to_obj(ex_obj)?;
+        if !matches!(obj_type, ObjType::List | ObjType::Text) {
+            return Err(AutomergeError::InvalidOp(obj_type));
+        }
+        let value = value.into();
+        tracing::trace!(obj=?obj, value=?value, "inserting value");
+        self.do_insert(doc, op_observer, obj, index, value.into())?;
+        Ok(())
+    }
+
+    pub(crate) fn insert_object<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        ex_obj: &ExId,
+        index: usize,
+        value: ObjType,
+    ) -> Result<ExId, AutomergeError> {
+        let (obj, obj_type) = doc.exid_to_obj(ex_obj)?;
+        if !matches!(obj_type, ObjType::List | ObjType::Text) {
+            return Err(AutomergeError::InvalidOp(obj_type));
+        }
+        let id = self.do_insert(doc, op_observer, obj, index, value.into())?;
+        let id = doc.id_to_exid(id);
+        Ok(id)
+    }
+
+    fn do_insert<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        obj: ObjId,
+        index: usize,
+        action: OpType,
+    ) -> Result<OpId, AutomergeError> {
+        let id = self.next_id();
+
+        let query = doc
+            .ops()
+            .search(&obj, query::InsertNth::new(index, ListEncoding::List));
+
+        let key = query.key()?;
+
+        let op = Op {
+            id,
+            action,
+            key,
+            succ: Default::default(),
+            pred: Default::default(),
+            insert: true,
+        };
+
+        doc.ops_mut().insert(query.pos(), &obj, op.clone());
+
+        self.finalize_op(doc, op_observer, obj, Prop::Seq(index), op);
+
+        Ok(id)
+    }
+
+    pub(crate) fn local_op<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        obj: ObjId,
+        prop: Prop,
+        action: OpType,
+    ) -> Result<Option<OpId>, AutomergeError> {
+        match prop {
+            Prop::Map(s) => self.local_map_op(doc, op_observer, obj, s, action),
+            Prop::Seq(n) => self.local_list_op(doc, op_observer, obj, n, action),
+        }
+    }
+
+    fn local_map_op<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        obj: ObjId,
+        prop: String,
+        action: OpType,
+    ) -> Result<Option<OpId>, AutomergeError> {
+        if prop.is_empty() {
+            return Err(AutomergeError::EmptyStringKey);
+        }
+
+        let id = self.next_id();
+        let prop_index = doc.ops_mut().m.props.cache(prop.clone());
+        let query = doc.ops().search(&obj, query::Prop::new(prop_index));
+
+        // no key present to delete
+        if query.ops.is_empty() && action == OpType::Delete {
+            return Ok(None);
+        }
+
+        if query.ops.len() == 1 && query.ops[0].is_noop(&action) {
+            return Ok(None);
+        }
+
+        // increment operations are only valid against counter values.
+        // if there are multiple values (from conflicts) then we just need one of them to be a counter.
+        if matches!(action, OpType::Increment(_)) && query.ops.iter().all(|op| !op.is_counter()) {
+            return Err(AutomergeError::MissingCounter);
+        }
+
+        let pred = doc.ops().m.sorted_opids(query.ops.iter().map(|o| o.id));
+
+        let op = Op {
+            id,
+            action,
+            key: Key::Map(prop_index),
+            succ: Default::default(),
+            pred,
+            insert: false,
+        };
+
+        let pos = query.pos;
+        let ops_pos = query.ops_pos;
+        self.insert_local_op(doc, op_observer, Prop::Map(prop), op, pos, obj, &ops_pos);
+
+        Ok(Some(id))
+    }
+
+    fn local_list_op<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        obj: ObjId,
+        index: usize,
+        action: OpType,
+    ) -> Result<Option<OpId>, AutomergeError> {
+        let query = doc
+            .ops()
+            .search(&obj, query::Nth::new(index, ListEncoding::List));
+
+        let id = self.next_id();
+        let pred = doc.ops().m.sorted_opids(query.ops.iter().map(|o| o.id));
+        let key = query.key()?;
+
+        if query.ops.len() == 1 && query.ops[0].is_noop(&action) {
+            return Ok(None);
+        }
+
+        // increment operations are only valid against counter values.
+        // if there are multiple values (from conflicts) then we just need one of them to be a counter.
+        if matches!(action, OpType::Increment(_)) && query.ops.iter().all(|op| !op.is_counter()) {
+            return Err(AutomergeError::MissingCounter);
+        }
+
+        let op = Op {
+            id,
+            action,
+            key,
+            succ: Default::default(),
+            pred,
+            insert: false,
+        };
+
+        let pos = query.pos;
+        let ops_pos = query.ops_pos;
+        self.insert_local_op(doc, op_observer, Prop::Seq(index), op, pos, obj, &ops_pos);
+
+        Ok(Some(id))
+    }
+
+    pub(crate) fn increment<P: Into<Prop>, Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        obj: &ExId,
+        prop: P,
+        value: i64,
+    ) -> Result<(), AutomergeError> {
+        let obj = doc.exid_to_obj(obj)?.0;
+        self.local_op(doc, op_observer, obj, prop.into(), OpType::Increment(value))?;
+        Ok(())
+    }
+
+    pub(crate) fn delete<P: Into<Prop>, Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        ex_obj: &ExId,
+        prop: P,
+    ) -> Result<(), AutomergeError> {
+        let (obj, obj_type) = doc.exid_to_obj(ex_obj)?;
+        let prop = prop.into();
+        if obj_type == ObjType::Text {
+            let index = prop.to_index().ok_or(AutomergeError::InvalidOp(obj_type))?;
+            self.inner_splice(
+                doc,
+                op_observer,
+                SpliceArgs {
+                    obj,
+                    index,
+                    del: 1,
+                    values: vec![],
+                    splice_type: SpliceType::Text("", doc.text_encoding()),
+                },
+            )?;
+        } else {
+            self.local_op(doc, op_observer, obj, prop, OpType::Delete)?;
+        }
+        Ok(())
+    }
+
+    /// Splice new elements into the given sequence. Returns a vector of the OpIds used to insert
+    /// the new elements
+    pub(crate) fn splice<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        ex_obj: &ExId,
+        index: usize,
+        del: usize,
+        vals: impl IntoIterator<Item = ScalarValue>,
+    ) -> Result<(), AutomergeError> {
+        let (obj, obj_type) = doc.exid_to_obj(ex_obj)?;
+        if !matches!(obj_type, ObjType::List | ObjType::Text) {
+            return Err(AutomergeError::InvalidOp(obj_type));
+        }
+        let values = vals.into_iter().collect();
+        self.inner_splice(
+            doc,
+            op_observer,
+            SpliceArgs {
+                obj,
+                index,
+                del,
+                values,
+                splice_type: SpliceType::List,
+            },
+        )
+    }
+
+    /// Splice string into a text object
+    pub(crate) fn splice_text<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        ex_obj: &ExId,
+        index: usize,
+        del: usize,
+        text: &str,
+    ) -> Result<(), AutomergeError> {
+        let (obj, obj_type) = doc.exid_to_obj(ex_obj)?;
+        if obj_type != ObjType::Text {
+            return Err(AutomergeError::InvalidOp(obj_type));
+        }
+        let values = text.chars().map(ScalarValue::from).collect();
+        self.inner_splice(
+            doc,
+            op_observer,
+            SpliceArgs {
+                obj,
+                index,
+                del,
+                values,
+                splice_type: SpliceType::Text(text, doc.text_encoding()),
+            },
+        )
+    }
+
+    fn inner_splice<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        mut op_observer: Option<&mut Obs>,
+        SpliceArgs {
+            obj,
+            mut index,
+            mut del,
+            values,
+            splice_type,
+        }: SpliceArgs<'_>,
+    ) -> Result<(), AutomergeError> {
+        let ex_obj = doc.ops().id_to_exid(obj.0);
+        let encoding = splice_type.encoding();
+        // delete `del` items - performing the query for each one
+        let mut deleted = 0;
+        while deleted < del {
+            // TODO: could do this with a single custom query
+            let query = doc.ops().search(&obj, query::Nth::new(index, encoding));
+
+            // if we delete in the middle of a multi-character
+            // move cursor back to the beginning and expand the del width
+            let adjusted_index = query.index();
+            if adjusted_index < index {
+                del += index - adjusted_index;
+                index = adjusted_index;
+            }
+
+            let step = if let Some(op) = query.ops.last() {
+                op.width(encoding)
+            } else {
+                break;
+            };
+
+            let op = self.next_delete(query.key()?, query.pred(doc.ops()));
+
+            let ops_pos = query.ops_pos;
+            doc.ops_mut().add_succ(&obj, &ops_pos, &op);
+
+            self.operations.push((obj, op));
+
+            deleted += step;
+        }
+
+        if deleted > 0 {
+            if let Some(obs) = op_observer.as_mut() {
+                obs.delete_seq(doc, ex_obj.clone(), index, deleted);
+            }
+        }
+
+        // do the insert query for the first item and then
+        // insert the remaining ops one after the other
+        if !values.is_empty() {
+            let query = doc
+                .ops()
+                .search(&obj, query::InsertNth::new(index, encoding));
+            let mut pos = query.pos();
+            let mut key = query.key()?;
+            let mut cursor = index;
+            let mut width = 0;
+
+            for v in &values {
+                let op = self.next_insert(key, v.clone());
+
+                doc.ops_mut().insert(pos, &obj, op.clone());
+
+                width = op.width(encoding);
+                cursor += width;
+                pos += 1;
+                key = op.id.into();
+
+                self.operations.push((obj, op));
+            }
+
+            doc.ops_mut().hint(&obj, cursor - width, pos - 1);
+
+            // handle the observer
+            if let Some(obs) = op_observer.as_mut() {
+                match splice_type {
+                    SpliceType::Text(text, _) if !obs.text_as_seq() => {
+                        obs.splice_text(doc, ex_obj, index, text)
+                    }
+                    SpliceType::List | SpliceType::Text(..) => {
+                        let start = self.operations.len() - values.len();
+                        for (offset, v) in values.iter().enumerate() {
+                            let op = &self.operations[start + offset].1;
+                            let value = (v.clone().into(), doc.ops().id_to_exid(op.id));
+                            obs.insert(doc, ex_obj.clone(), index + offset, value)
+                        }
+                    }
+                }
+            }
+        }
+
+        Ok(())
+    }
+
+    fn finalize_op<Obs: OpObserver>(
+        &mut self,
+        doc: &mut Automerge,
+        op_observer: Option<&mut Obs>,
+        obj: ObjId,
+        prop: Prop,
+        op: Op,
+    ) {
+        // TODO - id_to_exid should be a noop if not used - change type to Into<ExId>?
+        if let Some(op_observer) = op_observer {
+            let ex_obj = doc.ops().id_to_exid(obj.0);
+            if op.insert {
+                let obj_type = doc.ops().object_type(&obj);
+                assert!(obj_type.unwrap().is_sequence());
+                match (obj_type, prop) {
+                    (Some(ObjType::List), Prop::Seq(index)) => {
+                        let value = (op.value(), doc.ops().id_to_exid(op.id));
+                        op_observer.insert(doc, ex_obj, index, value)
+                    }
+                    (Some(ObjType::Text), Prop::Seq(index)) => {
+                        // FIXME
+                        if op_observer.text_as_seq() {
+                            let value = (op.value(), doc.ops().id_to_exid(op.id));
+                            op_observer.insert(doc, ex_obj, index, value)
+                        } else {
+                            op_observer.splice_text(doc, ex_obj, index, op.to_str())
+                        }
+                    }
+                    _ => {}
+                }
+            } else if op.is_delete() {
+                op_observer.delete(doc, ex_obj, prop);
+            } else if let Some(value) = op.get_increment_value() {
+                op_observer.increment(doc, ex_obj, prop, (value, doc.ops().id_to_exid(op.id)));
+            } else {
+                let value = (op.value(), doc.ops().id_to_exid(op.id));
+                op_observer.put(doc, ex_obj, prop, value, false);
+            }
+        }
+        self.operations.push((obj, op));
+    }
+}
+
+enum SpliceType<'a> {
+    List,
+    Text(&'a str, TextEncoding),
+}
+
+impl<'a> SpliceType<'a> {
+    fn encoding(&self) -> ListEncoding {
+        match self {
+            SpliceType::List => ListEncoding::List,
+            SpliceType::Text(_, encoding) => ListEncoding::Text(*encoding),
+        }
+    }
+}
+
+struct SpliceArgs<'a> {
+    obj: ObjId,
+    index: usize,
+    del: usize,
+    values: Vec<ScalarValue>,
+    splice_type: SpliceType<'a>,
+}
+
+#[cfg(test)]
+mod tests {
+    use crate::{transaction::Transactable, ReadDoc, ROOT};
+
+    use super::*;
+
+    #[test]
+    fn map_rollback_doesnt_panic() {
+        let mut doc = Automerge::new();
+        let mut tx = doc.transaction();
+
+        let a = tx.put_object(ROOT, "a", ObjType::Map).unwrap();
+        tx.put(&a, "b", 1).unwrap();
+        assert!(tx.get(&a, "b").unwrap().is_some());
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/transaction/manual_transaction.rs.html b/src/automerge/transaction/manual_transaction.rs.html new file mode 100644 index 00000000..84f9d8bb --- /dev/null +++ b/src/automerge/transaction/manual_transaction.rs.html @@ -0,0 +1,699 @@ +manual_transaction.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+
use std::ops::RangeBounds;
+
+use crate::exid::ExId;
+use crate::op_observer::BranchableObserver;
+use crate::{
+    Automerge, ChangeHash, KeysAt, ObjType, OpObserver, Prop, ReadDoc, ScalarValue, Value, Values,
+};
+use crate::{AutomergeError, Keys};
+use crate::{ListRange, ListRangeAt, MapRange, MapRangeAt};
+
+use super::{observation, CommitOptions, Transactable, TransactionArgs, TransactionInner};
+
+/// A transaction on a document.
+/// Transactions group operations into a single change so that no other operations can happen
+/// in-between.
+///
+/// Created from [`Automerge::transaction`].
+///
+/// ## Drop
+///
+/// This transaction should be manually committed or rolled back. If not done manually then it will
+/// be rolled back when it is dropped. This is to prevent the document being in an unsafe
+/// intermediate state.
+/// This is consistent with `?` error handling.
+#[derive(Debug)]
+pub struct Transaction<'a, Obs: observation::Observation> {
+    // this is an option so that we can take it during commit and rollback to prevent it being
+    // rolled back during drop.
+    inner: Option<TransactionInner>,
+    // As with `inner` this is an `Option` so we can `take` it during `commit`
+    observation: Option<Obs>,
+    doc: &'a mut Automerge,
+}
+
+impl<'a, Obs: observation::Observation> Transaction<'a, Obs> {
+    pub(crate) fn new(doc: &'a mut Automerge, args: TransactionArgs, obs: Obs) -> Self {
+        Self {
+            inner: Some(TransactionInner::new(args)),
+            doc,
+            observation: Some(obs),
+        }
+    }
+}
+
+impl<'a> Transaction<'a, observation::UnObserved> {
+    pub(crate) fn empty(
+        doc: &'a mut Automerge,
+        args: TransactionArgs,
+        opts: CommitOptions,
+    ) -> ChangeHash {
+        TransactionInner::empty(doc, args, opts.message, opts.time)
+    }
+}
+
+impl<'a, Obs: OpObserver + BranchableObserver> Transaction<'a, observation::Observed<Obs>> {
+    pub fn observer(&mut self) -> &mut Obs {
+        self.observation.as_mut().unwrap().observer()
+    }
+}
+
+impl<'a, Obs: observation::Observation> Transaction<'a, Obs> {
+    /// Get the heads of the document before this transaction was started.
+    pub fn get_heads(&self) -> Vec<ChangeHash> {
+        self.doc.get_heads()
+    }
+
+    /// Commit the operations performed in this transaction, returning the hashes corresponding to
+    /// the new heads.
+    pub fn commit(mut self) -> Obs::CommitResult {
+        let tx = self.inner.take().unwrap();
+        let hash = tx.commit(self.doc, None, None);
+        let obs = self.observation.take().unwrap();
+        obs.make_result(hash)
+    }
+
+    /// Commit the operations in this transaction with some options.
+    ///
+    /// ```
+    /// # use automerge::transaction::CommitOptions;
+    /// # use automerge::transaction::Transactable;
+    /// # use automerge::ROOT;
+    /// # use automerge::Automerge;
+    /// # use automerge::ObjType;
+    /// # use std::time::SystemTime;
+    /// let mut doc = Automerge::new();
+    /// let mut tx = doc.transaction();
+    /// tx.put_object(ROOT, "todos", ObjType::List).unwrap();
+    /// let now = SystemTime::now().duration_since(SystemTime::UNIX_EPOCH).unwrap().as_secs() as
+    /// i64;
+    /// tx.commit_with(CommitOptions::default().with_message("Create todos list").with_time(now));
+    /// ```
+    pub fn commit_with(mut self, options: CommitOptions) -> Obs::CommitResult {
+        let tx = self.inner.take().unwrap();
+        let hash = tx.commit(self.doc, options.message, options.time);
+        let obs = self.observation.take().unwrap();
+        obs.make_result(hash)
+    }
+
+    /// Undo the operations added in this transaction, returning the number of cancelled
+    /// operations.
+    pub fn rollback(mut self) -> usize {
+        self.inner.take().unwrap().rollback(self.doc)
+    }
+
+    fn do_tx<F, O>(&mut self, f: F) -> O
+    where
+        F: FnOnce(&mut TransactionInner, &mut Automerge, Option<&mut Obs::Obs>) -> O,
+    {
+        let tx = self.inner.as_mut().unwrap();
+        if let Some(obs) = self.observation.as_mut() {
+            f(tx, self.doc, obs.observer())
+        } else {
+            f(tx, self.doc, None)
+        }
+    }
+}
+
+impl<'a, Obs: observation::Observation> ReadDoc for Transaction<'a, Obs> {
+    fn keys<O: AsRef<ExId>>(&self, obj: O) -> Keys<'_, '_> {
+        self.doc.keys(obj)
+    }
+
+    fn keys_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> KeysAt<'_, '_> {
+        self.doc.keys_at(obj, heads)
+    }
+
+    fn map_range<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> MapRange<'_, R> {
+        self.doc.map_range(obj, range)
+    }
+
+    fn map_range_at<O: AsRef<ExId>, R: RangeBounds<String>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> MapRangeAt<'_, R> {
+        self.doc.map_range_at(obj, range, heads)
+    }
+
+    fn list_range<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+    ) -> ListRange<'_, R> {
+        self.doc.list_range(obj, range)
+    }
+
+    fn list_range_at<O: AsRef<ExId>, R: RangeBounds<usize>>(
+        &self,
+        obj: O,
+        range: R,
+        heads: &[ChangeHash],
+    ) -> ListRangeAt<'_, R> {
+        self.doc.list_range_at(obj, range, heads)
+    }
+
+    fn values<O: AsRef<ExId>>(&self, obj: O) -> Values<'_> {
+        self.doc.values(obj)
+    }
+
+    fn values_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> Values<'_> {
+        self.doc.values_at(obj, heads)
+    }
+
+    fn length<O: AsRef<ExId>>(&self, obj: O) -> usize {
+        self.doc.length(obj)
+    }
+
+    fn length_at<O: AsRef<ExId>>(&self, obj: O, heads: &[ChangeHash]) -> usize {
+        self.doc.length_at(obj, heads)
+    }
+
+    fn object_type<O: AsRef<ExId>>(&self, obj: O) -> Result<ObjType, AutomergeError> {
+        self.doc.object_type(obj)
+    }
+
+    fn text<O: AsRef<ExId>>(&self, obj: O) -> Result<String, AutomergeError> {
+        self.doc.text(obj)
+    }
+
+    fn text_at<O: AsRef<ExId>>(
+        &self,
+        obj: O,
+        heads: &[ChangeHash],
+    ) -> Result<String, AutomergeError> {
+        self.doc.text_at(obj, heads)
+    }
+
+    fn get<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get(obj, prop)
+    }
+
+    fn get_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Option<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get_at(obj, prop, heads)
+    }
+
+    fn get_all<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get_all(obj, prop)
+    }
+
+    fn get_all_at<O: AsRef<ExId>, P: Into<Prop>>(
+        &self,
+        obj: O,
+        prop: P,
+        heads: &[ChangeHash],
+    ) -> Result<Vec<(Value<'_>, ExId)>, AutomergeError> {
+        self.doc.get_all_at(obj, prop, heads)
+    }
+
+    fn parents<O: AsRef<ExId>>(&self, obj: O) -> Result<crate::Parents<'_>, AutomergeError> {
+        self.doc.parents(obj)
+    }
+
+    fn path_to_object<O: AsRef<ExId>>(&self, obj: O) -> Result<Vec<(ExId, Prop)>, AutomergeError> {
+        self.doc.path_to_object(obj)
+    }
+
+    fn get_missing_deps(&self, heads: &[ChangeHash]) -> Vec<ChangeHash> {
+        self.doc.get_missing_deps(heads)
+    }
+
+    fn get_change_by_hash(&self, hash: &ChangeHash) -> Option<&crate::Change> {
+        self.doc.get_change_by_hash(hash)
+    }
+}
+
+impl<'a, Obs: observation::Observation> Transactable for Transaction<'a, Obs> {
+    /// Get the number of pending operations in this transaction.
+    fn pending_ops(&self) -> usize {
+        self.inner.as_ref().unwrap().pending_ops()
+    }
+
+    /// Set the value of property `P` to value `V` in object `obj`.
+    ///
+    /// # Errors
+    ///
+    /// This will return an error if
+    /// - The object does not exist
+    /// - The key is the wrong type for the object
+    /// - The key does not exist in the object
+    fn put<O: AsRef<ExId>, P: Into<Prop>, V: Into<ScalarValue>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: V,
+    ) -> Result<(), AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.put(doc, obs, obj.as_ref(), prop, value))
+    }
+
+    fn put_object<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: ObjType,
+    ) -> Result<ExId, AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.put_object(doc, obs, obj.as_ref(), prop, value))
+    }
+
+    fn insert<O: AsRef<ExId>, V: Into<ScalarValue>>(
+        &mut self,
+        obj: O,
+        index: usize,
+        value: V,
+    ) -> Result<(), AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.insert(doc, obs, obj.as_ref(), index, value))
+    }
+
+    fn insert_object<O: AsRef<ExId>>(
+        &mut self,
+        obj: O,
+        index: usize,
+        value: ObjType,
+    ) -> Result<ExId, AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.insert_object(doc, obs, obj.as_ref(), index, value))
+    }
+
+    fn increment<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: i64,
+    ) -> Result<(), AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.increment(doc, obs, obj.as_ref(), prop, value))
+    }
+
+    fn delete<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+    ) -> Result<(), AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.delete(doc, obs, obj.as_ref(), prop))
+    }
+
+    /// Splice new elements into the given sequence. Returns a vector of the OpIds used to insert
+    /// the new elements
+    fn splice<O: AsRef<ExId>, V: IntoIterator<Item = ScalarValue>>(
+        &mut self,
+        obj: O,
+        pos: usize,
+        del: usize,
+        vals: V,
+    ) -> Result<(), AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.splice(doc, obs, obj.as_ref(), pos, del, vals))
+    }
+
+    fn splice_text<O: AsRef<ExId>>(
+        &mut self,
+        obj: O,
+        pos: usize,
+        del: usize,
+        text: &str,
+    ) -> Result<(), AutomergeError> {
+        self.do_tx(|tx, doc, obs| tx.splice_text(doc, obs, obj.as_ref(), pos, del, text))
+    }
+
+    fn base_heads(&self) -> Vec<ChangeHash> {
+        self.doc.get_heads()
+    }
+}
+
+// If a transaction is not commited or rolled back manually then it can leave the document in an
+// intermediate state.
+// This defaults to rolling back the transaction to be compatible with `?` error returning before
+// reaching a call to `commit`.
+impl<'a, Obs: observation::Observation> Drop for Transaction<'a, Obs> {
+    fn drop(&mut self) {
+        if let Some(txn) = self.inner.take() {
+            txn.rollback(self.doc);
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/transaction/observation.rs.html b/src/automerge/transaction/observation.rs.html new file mode 100644 index 00000000..b85a7dee --- /dev/null +++ b/src/automerge/transaction/observation.rs.html @@ -0,0 +1,163 @@ +observation.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+
//! This module is essentially a type level Option. It is used in sitations where we know at
+//! compile time whether an `OpObserver` is available to track changes in a transaction.
+use crate::{op_observer::BranchableObserver, ChangeHash, OpObserver};
+
+mod private {
+    use crate::op_observer::BranchableObserver;
+
+    pub trait Sealed {}
+    impl<O: super::OpObserver + BranchableObserver> Sealed for super::Observed<O> {}
+    impl Sealed for super::UnObserved {}
+}
+
+pub trait Observation: private::Sealed {
+    type Obs: OpObserver + BranchableObserver;
+    type CommitResult;
+
+    fn observer(&mut self) -> Option<&mut Self::Obs>;
+    fn make_result(self, hash: Option<ChangeHash>) -> Self::CommitResult;
+    fn branch(&self) -> Self;
+    fn merge(&mut self, other: &Self);
+}
+
+#[derive(Clone, Debug)]
+pub struct Observed<Obs: OpObserver + BranchableObserver>(Obs);
+
+impl<O: OpObserver + BranchableObserver> Observed<O> {
+    pub(crate) fn new(o: O) -> Self {
+        Self(o)
+    }
+
+    pub(crate) fn observer(&mut self) -> &mut O {
+        &mut self.0
+    }
+}
+
+impl<Obs: OpObserver + BranchableObserver> Observation for Observed<Obs> {
+    type Obs = Obs;
+    type CommitResult = (Obs, Option<ChangeHash>);
+    fn observer(&mut self) -> Option<&mut Self::Obs> {
+        Some(&mut self.0)
+    }
+
+    fn make_result(self, hash: Option<ChangeHash>) -> Self::CommitResult {
+        (self.0, hash)
+    }
+
+    fn branch(&self) -> Self {
+        Self(self.0.branch())
+    }
+
+    fn merge(&mut self, other: &Self) {
+        self.0.merge(&other.0)
+    }
+}
+
+#[derive(Clone, Default, Debug)]
+pub struct UnObserved;
+impl UnObserved {
+    pub fn new() -> Self {
+        Self
+    }
+}
+
+impl Observation for UnObserved {
+    type Obs = ();
+    type CommitResult = Option<ChangeHash>;
+    fn observer(&mut self) -> Option<&mut Self::Obs> {
+        None
+    }
+
+    fn make_result(self, hash: Option<ChangeHash>) -> Self::CommitResult {
+        hash
+    }
+
+    fn branch(&self) -> Self {
+        Self
+    }
+
+    fn merge(&mut self, _other: &Self) {}
+}
+
+
\ No newline at end of file diff --git a/src/automerge/transaction/result.rs.html b/src/automerge/transaction/result.rs.html new file mode 100644 index 00000000..4db94914 --- /dev/null +++ b/src/automerge/transaction/result.rs.html @@ -0,0 +1,43 @@ +result.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+
use crate::ChangeHash;
+
+/// The result of a successful, and committed, transaction.
+#[derive(Debug)]
+pub struct Success<O, Obs> {
+    /// The result of the transaction.
+    pub result: O,
+    /// The hash of the change, will be `None` if the transaction did not create any operations
+    pub hash: Option<ChangeHash>,
+    pub op_observer: Obs,
+}
+
+/// The result of a failed, and rolled back, transaction.
+#[derive(Debug)]
+pub struct Failure<E> {
+    /// The error returned from the transaction.
+    pub error: E,
+    /// The number of operations cancelled.
+    pub cancelled: usize,
+}
+
+
\ No newline at end of file diff --git a/src/automerge/transaction/transactable.rs.html b/src/automerge/transaction/transactable.rs.html new file mode 100644 index 00000000..4dfdef52 --- /dev/null +++ b/src/automerge/transaction/transactable.rs.html @@ -0,0 +1,189 @@ +transactable.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+
use crate::exid::ExId;
+use crate::{AutomergeError, ChangeHash, ObjType, Prop, ReadDoc, ScalarValue};
+
+/// A way of mutating a document within a single change.
+pub trait Transactable: ReadDoc {
+    /// Get the number of pending operations in this transaction.
+    fn pending_ops(&self) -> usize;
+
+    /// Set the value of property `P` to value `V` in object `obj`.
+    ///
+    /// # Errors
+    ///
+    /// This will return an error if
+    /// - The object does not exist
+    /// - The key is the wrong type for the object
+    /// - The key does not exist in the object
+    fn put<O: AsRef<ExId>, P: Into<Prop>, V: Into<ScalarValue>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: V,
+    ) -> Result<(), AutomergeError>;
+
+    /// Set the value of property `P` to the new object `V` in object `obj`.
+    ///
+    /// # Returns
+    ///
+    /// The id of the object which was created.
+    ///
+    /// # Errors
+    ///
+    /// This will return an error if
+    /// - The object does not exist
+    /// - The key is the wrong type for the object
+    /// - The key does not exist in the object
+    fn put_object<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        object: ObjType,
+    ) -> Result<ExId, AutomergeError>;
+
+    /// Insert a value into a list at the given index.
+    fn insert<O: AsRef<ExId>, V: Into<ScalarValue>>(
+        &mut self,
+        obj: O,
+        index: usize,
+        value: V,
+    ) -> Result<(), AutomergeError>;
+
+    /// Insert an object into a list at the given index.
+    fn insert_object<O: AsRef<ExId>>(
+        &mut self,
+        obj: O,
+        index: usize,
+        object: ObjType,
+    ) -> Result<ExId, AutomergeError>;
+
+    /// Increment the counter at the prop in the object by `value`.
+    fn increment<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+        value: i64,
+    ) -> Result<(), AutomergeError>;
+
+    /// Delete the value at prop in the object.
+    fn delete<O: AsRef<ExId>, P: Into<Prop>>(
+        &mut self,
+        obj: O,
+        prop: P,
+    ) -> Result<(), AutomergeError>;
+
+    fn splice<O: AsRef<ExId>, V: IntoIterator<Item = ScalarValue>>(
+        &mut self,
+        obj: O,
+        pos: usize,
+        del: usize,
+        vals: V,
+    ) -> Result<(), AutomergeError>;
+
+    /// Like [`Self::splice`] but for text.
+    fn splice_text<O: AsRef<ExId>>(
+        &mut self,
+        obj: O,
+        pos: usize,
+        del: usize,
+        text: &str,
+    ) -> Result<(), AutomergeError>;
+
+    /// The heads this transaction will be based on
+    fn base_heads(&self) -> Vec<ChangeHash>;
+}
+
+
\ No newline at end of file diff --git a/src/automerge/types.rs.html b/src/automerge/types.rs.html new file mode 100644 index 00000000..e53d2f65 --- /dev/null +++ b/src/automerge/types.rs.html @@ -0,0 +1,1691 @@ +types.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+
use crate::error;
+use crate::legacy as amp;
+use serde::{Deserialize, Serialize};
+use std::borrow::Cow;
+use std::cmp::Eq;
+use std::cmp::Ordering;
+use std::fmt;
+use std::fmt::Display;
+use std::str::FromStr;
+use tinyvec::{ArrayVec, TinyVec};
+//use crate::indexed_cache::IndexedCache;
+
+mod opids;
+pub(crate) use opids::OpIds;
+
+pub(crate) use crate::clock::Clock;
+pub(crate) use crate::value::{Counter, ScalarValue, Value};
+
+pub(crate) const HEAD: ElemId = ElemId(OpId(0, 0));
+pub(crate) const ROOT: OpId = OpId(0, 0);
+
+const ROOT_STR: &str = "_root";
+const HEAD_STR: &str = "_head";
+
+/// An actor id is a sequence of bytes. By default we use a uuid which can be nicely stack
+/// allocated.
+///
+/// In the event that users want to use their own type of identifier that is longer than a uuid
+/// then they will likely end up pushing it onto the heap which is still fine.
+///
+// Note that change encoding relies on the Ord implementation for the ActorId being implemented in
+// terms of the lexicographic ordering of the underlying bytes. Be aware of this if you are
+// changing the ActorId implementation in ways which might affect the Ord implementation
+#[derive(Eq, PartialEq, Hash, Clone, PartialOrd, Ord)]
+#[cfg_attr(feature = "derive-arbitrary", derive(arbitrary::Arbitrary))]
+pub struct ActorId(TinyVec<[u8; 16]>);
+
+impl fmt::Debug for ActorId {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        f.debug_tuple("ActorID")
+            .field(&hex::encode(&self.0))
+            .finish()
+    }
+}
+
+impl ActorId {
+    pub fn random() -> ActorId {
+        ActorId(TinyVec::from(*uuid::Uuid::new_v4().as_bytes()))
+    }
+
+    pub fn to_bytes(&self) -> &[u8] {
+        &self.0
+    }
+
+    pub fn to_hex_string(&self) -> String {
+        hex::encode(&self.0)
+    }
+}
+
+impl TryFrom<&str> for ActorId {
+    type Error = error::InvalidActorId;
+
+    fn try_from(s: &str) -> Result<Self, Self::Error> {
+        hex::decode(s)
+            .map(ActorId::from)
+            .map_err(|_| error::InvalidActorId(s.into()))
+    }
+}
+
+impl TryFrom<String> for ActorId {
+    type Error = error::InvalidActorId;
+
+    fn try_from(s: String) -> Result<Self, Self::Error> {
+        hex::decode(&s)
+            .map(ActorId::from)
+            .map_err(|_| error::InvalidActorId(s))
+    }
+}
+
+impl AsRef<[u8]> for ActorId {
+    fn as_ref(&self) -> &[u8] {
+        &self.0
+    }
+}
+
+impl From<uuid::Uuid> for ActorId {
+    fn from(u: uuid::Uuid) -> Self {
+        ActorId(TinyVec::from(*u.as_bytes()))
+    }
+}
+
+impl From<&[u8]> for ActorId {
+    fn from(b: &[u8]) -> Self {
+        ActorId(TinyVec::from(b))
+    }
+}
+
+impl From<&Vec<u8>> for ActorId {
+    fn from(b: &Vec<u8>) -> Self {
+        ActorId::from(b.as_slice())
+    }
+}
+
+impl From<Vec<u8>> for ActorId {
+    fn from(b: Vec<u8>) -> Self {
+        let inner = if let Ok(arr) = ArrayVec::try_from(b.as_slice()) {
+            TinyVec::Inline(arr)
+        } else {
+            TinyVec::Heap(b)
+        };
+        ActorId(inner)
+    }
+}
+
+impl<const N: usize> From<[u8; N]> for ActorId {
+    fn from(array: [u8; N]) -> Self {
+        ActorId::from(&array)
+    }
+}
+
+impl<const N: usize> From<&[u8; N]> for ActorId {
+    fn from(slice: &[u8; N]) -> Self {
+        let inner = if let Ok(arr) = ArrayVec::try_from(slice.as_slice()) {
+            TinyVec::Inline(arr)
+        } else {
+            TinyVec::Heap(slice.to_vec())
+        };
+        ActorId(inner)
+    }
+}
+
+impl FromStr for ActorId {
+    type Err = error::InvalidActorId;
+
+    fn from_str(s: &str) -> Result<Self, Self::Err> {
+        ActorId::try_from(s)
+    }
+}
+
+impl fmt::Display for ActorId {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        write!(f, "{}", self.to_hex_string())
+    }
+}
+
+/// The type of an object
+#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq, Copy, Hash)]
+#[serde(rename_all = "camelCase", untagged)]
+pub enum ObjType {
+    /// A map
+    Map,
+    /// Retained for backwards compatibility, tables are identical to maps
+    Table,
+    /// A sequence of arbitrary values
+    List,
+    /// A sequence of characters
+    Text,
+}
+
+impl ObjType {
+    pub fn is_sequence(&self) -> bool {
+        matches!(self, Self::List | Self::Text)
+    }
+}
+
+impl From<amp::MapType> for ObjType {
+    fn from(other: amp::MapType) -> Self {
+        match other {
+            amp::MapType::Map => Self::Map,
+            amp::MapType::Table => Self::Table,
+        }
+    }
+}
+
+impl From<amp::SequenceType> for ObjType {
+    fn from(other: amp::SequenceType) -> Self {
+        match other {
+            amp::SequenceType::List => Self::List,
+            amp::SequenceType::Text => Self::Text,
+        }
+    }
+}
+
+impl fmt::Display for ObjType {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            ObjType::Map => write!(f, "map"),
+            ObjType::Table => write!(f, "table"),
+            ObjType::List => write!(f, "list"),
+            ObjType::Text => write!(f, "text"),
+        }
+    }
+}
+
+#[derive(PartialEq, Debug, Clone)]
+pub enum OpType {
+    Make(ObjType),
+    Delete,
+    Increment(i64),
+    Put(ScalarValue),
+}
+
+impl OpType {
+    /// The index into the action array as specified in [1]
+    ///
+    /// [1]: https://alexjg.github.io/automerge-storage-docs/#action-array
+    pub(crate) fn action_index(&self) -> u64 {
+        match self {
+            Self::Make(ObjType::Map) => 0,
+            Self::Put(_) => 1,
+            Self::Make(ObjType::List) => 2,
+            Self::Delete => 3,
+            Self::Make(ObjType::Text) => 4,
+            Self::Increment(_) => 5,
+            Self::Make(ObjType::Table) => 6,
+        }
+    }
+
+    pub(crate) fn validate_action_and_value(
+        action: u64,
+        value: &ScalarValue,
+    ) -> Result<(), error::InvalidOpType> {
+        match action {
+            0..=4 => Ok(()),
+            5 => match value {
+                ScalarValue::Int(_) | ScalarValue::Uint(_) => Ok(()),
+                _ => Err(error::InvalidOpType::NonNumericInc),
+            },
+            6 => Ok(()),
+            _ => Err(error::InvalidOpType::UnknownAction(action)),
+        }
+    }
+
+    pub(crate) fn from_action_and_value(action: u64, value: ScalarValue) -> OpType {
+        match action {
+            0 => Self::Make(ObjType::Map),
+            1 => Self::Put(value),
+            2 => Self::Make(ObjType::List),
+            3 => Self::Delete,
+            4 => Self::Make(ObjType::Text),
+            5 => match value {
+                ScalarValue::Int(i) => Self::Increment(i),
+                ScalarValue::Uint(i) => Self::Increment(i as i64),
+                _ => unreachable!("validate_action_and_value returned NonNumericInc"),
+            },
+            6 => Self::Make(ObjType::Table),
+            _ => unreachable!("validate_action_and_value returned UnknownAction"),
+        }
+    }
+}
+
+impl From<ObjType> for OpType {
+    fn from(v: ObjType) -> Self {
+        OpType::Make(v)
+    }
+}
+
+impl From<ScalarValue> for OpType {
+    fn from(v: ScalarValue) -> Self {
+        OpType::Put(v)
+    }
+}
+
+#[derive(Debug)]
+pub(crate) enum Export {
+    Id(OpId),
+    Special(String),
+    Prop(usize),
+}
+
+pub(crate) trait Exportable {
+    fn export(&self) -> Export;
+}
+
+impl Exportable for ObjId {
+    fn export(&self) -> Export {
+        if self.0 == ROOT {
+            Export::Special(ROOT_STR.to_owned())
+        } else {
+            Export::Id(self.0)
+        }
+    }
+}
+
+impl Exportable for &ObjId {
+    fn export(&self) -> Export {
+        if self.0 == ROOT {
+            Export::Special(ROOT_STR.to_owned())
+        } else {
+            Export::Id(self.0)
+        }
+    }
+}
+
+impl Exportable for ElemId {
+    fn export(&self) -> Export {
+        if self == &HEAD {
+            Export::Special(HEAD_STR.to_owned())
+        } else {
+            Export::Id(self.0)
+        }
+    }
+}
+
+impl Exportable for OpId {
+    fn export(&self) -> Export {
+        Export::Id(*self)
+    }
+}
+
+impl Exportable for Key {
+    fn export(&self) -> Export {
+        match self {
+            Key::Map(p) => Export::Prop(*p),
+            Key::Seq(e) => e.export(),
+        }
+    }
+}
+
+impl From<ObjId> for OpId {
+    fn from(o: ObjId) -> Self {
+        o.0
+    }
+}
+
+impl From<OpId> for ObjId {
+    fn from(o: OpId) -> Self {
+        ObjId(o)
+    }
+}
+
+impl From<OpId> for ElemId {
+    fn from(o: OpId) -> Self {
+        ElemId(o)
+    }
+}
+
+impl From<String> for Prop {
+    fn from(p: String) -> Self {
+        Prop::Map(p)
+    }
+}
+
+impl From<&String> for Prop {
+    fn from(p: &String) -> Self {
+        Prop::Map(p.clone())
+    }
+}
+
+impl From<&str> for Prop {
+    fn from(p: &str) -> Self {
+        Prop::Map(p.to_owned())
+    }
+}
+
+impl From<usize> for Prop {
+    fn from(index: usize) -> Self {
+        Prop::Seq(index)
+    }
+}
+
+impl From<f64> for Prop {
+    fn from(index: f64) -> Self {
+        Prop::Seq(index as usize)
+    }
+}
+
+impl From<OpId> for Key {
+    fn from(id: OpId) -> Self {
+        Key::Seq(ElemId(id))
+    }
+}
+
+impl From<ElemId> for Key {
+    fn from(e: ElemId) -> Self {
+        Key::Seq(e)
+    }
+}
+
+impl From<Option<ElemId>> for ElemId {
+    fn from(e: Option<ElemId>) -> Self {
+        e.unwrap_or(HEAD)
+    }
+}
+
+impl From<Option<ElemId>> for Key {
+    fn from(e: Option<ElemId>) -> Self {
+        Key::Seq(e.into())
+    }
+}
+
+#[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone, Copy, Hash)]
+pub(crate) enum Key {
+    Map(usize),
+    Seq(ElemId),
+}
+
+/// A property of an object
+///
+/// This is either a string representing a property in a map, or an integer
+/// which is the index into a sequence
+#[derive(Debug, PartialEq, PartialOrd, Eq, Ord, Clone)]
+pub enum Prop {
+    /// A property in a map
+    Map(String),
+    /// An index into a sequence
+    Seq(usize),
+}
+
+impl Prop {
+    pub(crate) fn to_index(&self) -> Option<usize> {
+        match self {
+            Prop::Map(_) => None,
+            Prop::Seq(n) => Some(*n),
+        }
+    }
+}
+
+impl Display for Prop {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            Prop::Map(s) => write!(f, "{}", s),
+            Prop::Seq(i) => write!(f, "{}", i),
+        }
+    }
+}
+
+impl Key {
+    pub(crate) fn elemid(&self) -> Option<ElemId> {
+        match self {
+            Key::Map(_) => None,
+            Key::Seq(id) => Some(*id),
+        }
+    }
+}
+
+#[derive(Debug, Clone, PartialOrd, Ord, Eq, PartialEq, Copy, Hash, Default)]
+pub(crate) struct OpId(u32, u32);
+
+impl OpId {
+    pub(crate) fn new(counter: u64, actor: usize) -> Self {
+        Self(counter.try_into().unwrap(), actor.try_into().unwrap())
+    }
+
+    #[inline]
+    pub(crate) fn counter(&self) -> u64 {
+        self.0.into()
+    }
+
+    #[inline]
+    pub(crate) fn actor(&self) -> usize {
+        self.1.try_into().unwrap()
+    }
+
+    #[inline]
+    pub(crate) fn lamport_cmp(&self, other: &OpId, actors: &[ActorId]) -> Ordering {
+        self.0
+            .cmp(&other.0)
+            .then_with(|| actors[self.1 as usize].cmp(&actors[other.1 as usize]))
+    }
+}
+
+#[derive(Debug, Clone, Copy, PartialOrd, Eq, PartialEq, Ord, Hash, Default)]
+pub(crate) struct ObjId(pub(crate) OpId);
+
+impl ObjId {
+    pub(crate) const fn root() -> Self {
+        ObjId(OpId(0, 0))
+    }
+
+    pub(crate) fn is_root(&self) -> bool {
+        self.0.counter() == 0
+    }
+
+    pub(crate) fn opid(&self) -> &OpId {
+        &self.0
+    }
+}
+
+/// How indexes into text sequeces are calculated
+///
+/// Automerge text objects are internally sequences of utf8 characters. This
+/// means that in environments (such as javascript) which use a different
+/// encoding the indexes into the text sequence will be different. This enum
+/// represents the different ways indexes can be calculated.
+#[derive(Debug, Copy, Clone, PartialEq, Eq)]
+pub enum TextEncoding {
+    /// The indexes are calculated using the utf8 encoding
+    Utf8,
+    /// The indexes are calculated using the utf16 encoding
+    Utf16,
+}
+
+#[derive(Debug, Copy, Clone, PartialEq, Eq)]
+pub(crate) enum ListEncoding {
+    List,
+    Text(TextEncoding),
+}
+
+impl Default for ListEncoding {
+    fn default() -> Self {
+        ListEncoding::List
+    }
+}
+
+impl Default for TextEncoding {
+    fn default() -> Self {
+        TextEncoding::Utf8
+    }
+}
+
+impl ListEncoding {
+    pub(crate) fn new(obj: ObjType, text_encoding: TextEncoding) -> Self {
+        if obj == ObjType::Text {
+            ListEncoding::Text(text_encoding)
+        } else {
+            ListEncoding::List
+        }
+    }
+}
+
+#[derive(Debug, Clone, Copy, PartialOrd, Eq, PartialEq, Ord, Hash, Default)]
+pub(crate) struct ElemId(pub(crate) OpId);
+
+impl ElemId {
+    pub(crate) fn is_head(&self) -> bool {
+        *self == HEAD
+    }
+
+    pub(crate) fn head() -> Self {
+        Self(OpId(0, 0))
+    }
+}
+
+#[derive(Debug, Clone, PartialEq)]
+pub(crate) struct Op {
+    pub(crate) id: OpId,
+    pub(crate) action: OpType,
+    pub(crate) key: Key,
+    pub(crate) succ: OpIds,
+    pub(crate) pred: OpIds,
+    pub(crate) insert: bool,
+}
+
+impl Op {
+    pub(crate) fn add_succ<F: Fn(&OpId, &OpId) -> std::cmp::Ordering>(&mut self, op: &Op, cmp: F) {
+        self.succ.add(op.id, cmp);
+        if let OpType::Put(ScalarValue::Counter(Counter {
+            current,
+            increments,
+            ..
+        })) = &mut self.action
+        {
+            if let OpType::Increment(n) = &op.action {
+                *current += *n;
+                *increments += 1;
+            }
+        }
+    }
+
+    pub(crate) fn remove_succ(&mut self, op: &Op) {
+        self.succ.retain(|id| id != &op.id);
+        if let OpType::Put(ScalarValue::Counter(Counter {
+            current,
+            increments,
+            ..
+        })) = &mut self.action
+        {
+            if let OpType::Increment(n) = &op.action {
+                *current -= *n;
+                *increments -= 1;
+            }
+        }
+    }
+
+    pub(crate) fn width(&self, encoding: ListEncoding) -> usize {
+        match encoding {
+            ListEncoding::List => 1,
+            ListEncoding::Text(TextEncoding::Utf8) => self.to_str().chars().count(),
+            ListEncoding::Text(TextEncoding::Utf16) => self.to_str().encode_utf16().count(),
+        }
+    }
+
+    pub(crate) fn to_str(&self) -> &str {
+        if let OpType::Put(ScalarValue::Str(s)) = &self.action {
+            s
+        } else {
+            "\u{fffc}"
+        }
+    }
+
+    pub(crate) fn visible(&self) -> bool {
+        if self.is_inc() {
+            false
+        } else if self.is_counter() {
+            self.succ.len() <= self.incs()
+        } else {
+            self.succ.is_empty()
+        }
+    }
+
+    pub(crate) fn incs(&self) -> usize {
+        if let OpType::Put(ScalarValue::Counter(Counter { increments, .. })) = &self.action {
+            *increments
+        } else {
+            0
+        }
+    }
+
+    pub(crate) fn is_delete(&self) -> bool {
+        matches!(&self.action, OpType::Delete)
+    }
+
+    pub(crate) fn is_inc(&self) -> bool {
+        matches!(&self.action, OpType::Increment(_))
+    }
+
+    pub(crate) fn is_counter(&self) -> bool {
+        matches!(&self.action, OpType::Put(ScalarValue::Counter(_)))
+    }
+
+    pub(crate) fn is_noop(&self, action: &OpType) -> bool {
+        matches!((&self.action, action), (OpType::Put(n), OpType::Put(m)) if n == m)
+    }
+
+    pub(crate) fn is_list_op(&self) -> bool {
+        matches!(&self.key, Key::Seq(_))
+    }
+
+    pub(crate) fn overwrites(&self, other: &Op) -> bool {
+        self.pred.iter().any(|i| i == &other.id)
+    }
+
+    pub(crate) fn elemid(&self) -> Option<ElemId> {
+        self.elemid_or_key().elemid()
+    }
+
+    pub(crate) fn elemid_or_key(&self) -> Key {
+        if self.insert {
+            Key::Seq(ElemId(self.id))
+        } else {
+            self.key
+        }
+    }
+
+    pub(crate) fn get_increment_value(&self) -> Option<i64> {
+        if let OpType::Increment(i) = self.action {
+            Some(i)
+        } else {
+            None
+        }
+    }
+
+    pub(crate) fn value(&self) -> Value<'_> {
+        match &self.action {
+            OpType::Make(obj_type) => Value::Object(*obj_type),
+            OpType::Put(scalar) => Value::Scalar(Cow::Borrowed(scalar)),
+            _ => panic!("cant convert op into a value - {:?}", self),
+        }
+    }
+
+    pub(crate) fn clone_value(&self) -> Value<'static> {
+        match &self.action {
+            OpType::Make(obj_type) => Value::Object(*obj_type),
+            OpType::Put(scalar) => Value::Scalar(Cow::Owned(scalar.clone())),
+            _ => panic!("cant convert op into a value - {:?}", self),
+        }
+    }
+
+    #[allow(dead_code)]
+    pub(crate) fn dump(&self) -> String {
+        match &self.action {
+            OpType::Put(value) if self.insert => format!("i:{}", value),
+            OpType::Put(value) => format!("s:{}", value),
+            OpType::Make(obj) => format!("make{}", obj),
+            OpType::Increment(val) => format!("inc:{}", val),
+            OpType::Delete => "del".to_string(),
+        }
+    }
+}
+
+#[derive(Debug, Clone)]
+pub(crate) struct Peer {}
+
+/// The number of bytes in a change hash.
+pub(crate) const HASH_SIZE: usize = 32; // 256 bits = 32 bytes
+
+/// The sha256 hash of a change.
+#[derive(Eq, PartialEq, Hash, Clone, PartialOrd, Ord, Copy)]
+pub struct ChangeHash(pub [u8; HASH_SIZE]);
+
+impl ChangeHash {
+    pub(crate) fn as_bytes(&self) -> &[u8] {
+        &self.0
+    }
+
+    pub(crate) fn checksum(&self) -> [u8; 4] {
+        [self.0[0], self.0[1], self.0[2], self.0[3]]
+    }
+}
+
+impl AsRef<[u8]> for ChangeHash {
+    fn as_ref(&self) -> &[u8] {
+        &self.0
+    }
+}
+
+impl fmt::Debug for ChangeHash {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        f.debug_tuple("ChangeHash")
+            .field(&hex::encode(self.0))
+            .finish()
+    }
+}
+
+impl fmt::Display for ChangeHash {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        write!(f, "{}", hex::encode(self.0))
+    }
+}
+
+#[derive(thiserror::Error, Debug)]
+pub enum ParseChangeHashError {
+    #[error(transparent)]
+    HexDecode(#[from] hex::FromHexError),
+    #[error(
+        "incorrect length, change hash should be {} bytes, got {actual}",
+        HASH_SIZE
+    )]
+    IncorrectLength { actual: usize },
+}
+
+impl FromStr for ChangeHash {
+    type Err = ParseChangeHashError;
+
+    fn from_str(s: &str) -> Result<Self, Self::Err> {
+        let bytes = hex::decode(s)?;
+        if bytes.len() == HASH_SIZE {
+            Ok(ChangeHash(bytes.try_into().unwrap()))
+        } else {
+            Err(ParseChangeHashError::IncorrectLength {
+                actual: bytes.len(),
+            })
+        }
+    }
+}
+
+impl TryFrom<&[u8]> for ChangeHash {
+    type Error = error::InvalidChangeHashSlice;
+
+    fn try_from(bytes: &[u8]) -> Result<Self, Self::Error> {
+        if bytes.len() != HASH_SIZE {
+            Err(error::InvalidChangeHashSlice(Vec::from(bytes)))
+        } else {
+            let mut array = [0; HASH_SIZE];
+            array.copy_from_slice(bytes);
+            Ok(ChangeHash(array))
+        }
+    }
+}
+
+#[cfg(feature = "wasm")]
+impl From<Prop> for wasm_bindgen::JsValue {
+    fn from(prop: Prop) -> Self {
+        match prop {
+            Prop::Map(key) => key.into(),
+            Prop::Seq(index) => (index as f64).into(),
+        }
+    }
+}
+
+#[cfg(test)]
+pub(crate) mod gen {
+    use super::{
+        ChangeHash, Counter, ElemId, Key, ObjType, Op, OpId, OpIds, OpType, ScalarValue, HASH_SIZE,
+    };
+    use proptest::prelude::*;
+
+    pub(crate) fn gen_hash() -> impl Strategy<Value = ChangeHash> {
+        proptest::collection::vec(proptest::bits::u8::ANY, HASH_SIZE)
+            .prop_map(|b| ChangeHash::try_from(&b[..]).unwrap())
+    }
+
+    pub(crate) fn gen_scalar_value() -> impl Strategy<Value = ScalarValue> {
+        prop_oneof![
+            proptest::collection::vec(proptest::bits::u8::ANY, 0..200).prop_map(ScalarValue::Bytes),
+            "[a-z]{10,500}".prop_map(|s| ScalarValue::Str(s.into())),
+            any::<i64>().prop_map(ScalarValue::Int),
+            any::<u64>().prop_map(ScalarValue::Uint),
+            any::<f64>().prop_map(ScalarValue::F64),
+            any::<i64>().prop_map(|c| ScalarValue::Counter(Counter::from(c))),
+            any::<i64>().prop_map(ScalarValue::Timestamp),
+            any::<bool>().prop_map(ScalarValue::Boolean),
+            Just(ScalarValue::Null),
+        ]
+    }
+
+    pub(crate) fn gen_objtype() -> impl Strategy<Value = ObjType> {
+        prop_oneof![
+            Just(ObjType::Map),
+            Just(ObjType::Table),
+            Just(ObjType::List),
+            Just(ObjType::Text),
+        ]
+    }
+
+    pub(crate) fn gen_action() -> impl Strategy<Value = OpType> {
+        prop_oneof![
+            Just(OpType::Delete),
+            any::<i64>().prop_map(OpType::Increment),
+            gen_scalar_value().prop_map(OpType::Put),
+            gen_objtype().prop_map(OpType::Make)
+        ]
+    }
+
+    pub(crate) fn gen_key(key_indices: Vec<usize>) -> impl Strategy<Value = Key> {
+        prop_oneof![
+            proptest::sample::select(key_indices).prop_map(Key::Map),
+            Just(Key::Seq(ElemId(OpId::new(0, 0)))),
+        ]
+    }
+
+    /// Generate an arbitrary op
+    ///
+    /// The generated op will have no preds or succs
+    ///
+    /// # Arguments
+    ///
+    /// * `id` - the OpId this op will be given
+    /// * `key_prop_indices` - The indices of props which will be used to generate keys of type
+    ///    `Key::Map`. I.e. this is what would typically be in `OpSetMetadata::props
+    pub(crate) fn gen_op(id: OpId, key_prop_indices: Vec<usize>) -> impl Strategy<Value = Op> {
+        (gen_key(key_prop_indices), any::<bool>(), gen_action()).prop_map(
+            move |(key, insert, action)| Op {
+                id,
+                key,
+                insert,
+                action,
+                succ: OpIds::empty(),
+                pred: OpIds::empty(),
+            },
+        )
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/types/opids.rs.html b/src/automerge/types/opids.rs.html new file mode 100644 index 00000000..b83b151b --- /dev/null +++ b/src/automerge/types/opids.rs.html @@ -0,0 +1,399 @@ +opids.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+
use itertools::Itertools;
+
+use super::OpId;
+
+/// A wrapper around `Vec<Opid>` which preserves the invariant that the ops are
+/// in ascending order with respect to their counters and actor IDs. In order to
+/// maintain this invariant you must provide a comparator function when adding
+/// ops as the actor indices in an  OpId are not sufficient to order the OpIds
+#[derive(Debug, Clone, PartialEq, Default)]
+pub(crate) struct OpIds(Vec<OpId>);
+
+impl<'a> IntoIterator for &'a OpIds {
+    type Item = &'a OpId;
+    type IntoIter = std::slice::Iter<'a, OpId>;
+
+    fn into_iter(self) -> Self::IntoIter {
+        self.0.iter()
+    }
+}
+
+impl OpIds {
+    pub(crate) fn empty() -> Self {
+        Self(Vec::new())
+    }
+
+    pub(crate) fn new<I: Iterator<Item = OpId>, F: Fn(&OpId, &OpId) -> std::cmp::Ordering>(
+        opids: I,
+        cmp: F,
+    ) -> Self {
+        let mut inner = opids.collect::<Vec<_>>();
+        inner.sort_by(cmp);
+        Self(inner)
+    }
+
+    /// Create a new OpIds if `opids` are sorted with respect to `cmp` and contain no duplicates.
+    ///
+    /// Returns `Some(OpIds)` if `opids` is sorted and has no duplicates, otherwise returns `None`
+    pub(crate) fn new_if_sorted<F: Fn(&OpId, &OpId) -> std::cmp::Ordering>(
+        opids: Vec<OpId>,
+        cmp: F,
+    ) -> Option<Self> {
+        if are_sorted_and_unique(opids.iter(), cmp) {
+            Some(Self(opids))
+        } else {
+            None
+        }
+    }
+
+    /// Add an op to this set of OpIds. The `comparator` must provide a
+    /// consistent ordering between successive calls to `add`.
+    pub(crate) fn add<F: Fn(&OpId, &OpId) -> std::cmp::Ordering>(
+        &mut self,
+        opid: OpId,
+        comparator: F,
+    ) {
+        use std::cmp::Ordering::*;
+        if self.is_empty() {
+            self.0.push(opid);
+            return;
+        }
+        let idx_and_elem = self
+            .0
+            .iter()
+            .find_position(|an_opid| matches!(comparator(an_opid, &opid), Greater | Equal));
+        if let Some((idx, an_opid)) = idx_and_elem {
+            if comparator(an_opid, &opid) == Equal {
+                // nothing to do
+            } else {
+                self.0.insert(idx, opid);
+            }
+        } else {
+            self.0.push(opid);
+        }
+    }
+
+    pub(crate) fn retain<F: Fn(&OpId) -> bool>(&mut self, f: F) {
+        self.0.retain(f)
+    }
+
+    pub(crate) fn is_empty(&self) -> bool {
+        self.0.is_empty()
+    }
+
+    pub(crate) fn len(&self) -> usize {
+        self.0.len()
+    }
+
+    pub(crate) fn iter(&self) -> std::slice::Iter<'_, OpId> {
+        self.0.iter()
+    }
+
+    pub(crate) fn contains(&self, op: &OpId) -> bool {
+        self.0.contains(op)
+    }
+
+    pub(crate) fn get(&self, idx: usize) -> Option<&OpId> {
+        self.0.get(idx)
+    }
+}
+
+fn are_sorted_and_unique<
+    'a,
+    I: Iterator<Item = &'a OpId>,
+    F: FnMut(&OpId, &OpId) -> std::cmp::Ordering,
+>(
+    mut opids: I,
+    mut f: F,
+) -> bool {
+    use std::cmp::Ordering;
+    let mut last = match opids.next() {
+        Some(e) => e,
+        None => return true,
+    };
+
+    for next in opids {
+        if matches!(f(last, next), Ordering::Greater | Ordering::Equal) {
+            return false;
+        }
+        last = next;
+    }
+    true
+}
+
+#[cfg(test)]
+mod tests {
+    use super::{OpId, OpIds};
+    use crate::ActorId;
+    use proptest::prelude::*;
+
+    fn gen_opid(actors: Vec<ActorId>) -> impl Strategy<Value = OpId> {
+        (0..actors.len()).prop_flat_map(|actor_idx| {
+            (Just(actor_idx), 0..(u32::MAX as u64))
+                .prop_map(|(actor_idx, counter)| OpId::new(counter, actor_idx))
+        })
+    }
+
+    fn scenario(size: std::ops::Range<usize>) -> impl Strategy<Value = (Vec<ActorId>, Vec<OpId>)> {
+        let actors = vec![
+            "aaaa".try_into().unwrap(),
+            "cccc".try_into().unwrap(),
+            "bbbb".try_into().unwrap(),
+        ];
+        proptest::collection::vec(gen_opid(actors.clone()), size)
+            .prop_map(move |opids| (actors.clone(), opids))
+    }
+
+    fn duplicate_unsorted_scenario() -> impl Strategy<Value = (Vec<ActorId>, Vec<OpId>)> {
+        scenario(1..100).prop_map(|(actors, mut opids)| {
+            let mut sorted_opids = opids.clone();
+            sorted_opids.sort_by(|left, right| cmp(&actors, left, right));
+            sorted_opids.dedup();
+            // Unwrap is okay due to the size we pass to `scenario()`
+            let last = *sorted_opids.last().unwrap();
+            if sorted_opids == opids {
+                // Opids are sorted and deduplicated, just copy the last opid and insert it at the
+                // front
+                opids.insert(0, last);
+            }
+            (actors, opids)
+        })
+    }
+
+    proptest! {
+        #[test]
+        fn test_sorted_opids((actors, opids) in scenario(0..100)) {
+            let mut sorted_opids = OpIds::default();
+            for opid in &opids {
+                sorted_opids.add(*opid, |left, right| cmp(&actors, left, right));
+            }
+            let result = sorted_opids.into_iter().cloned().collect::<Vec<_>>();
+            let mut expected = opids;
+            expected.sort_by(|left, right| cmp(&actors, left, right));
+            expected.dedup();
+            assert_eq!(result, expected);
+        }
+
+        #[test]
+        fn test_new_if_sorted((actors, opids) in duplicate_unsorted_scenario()) {
+            let mut expected = opids.clone();
+            assert_eq!(OpIds::new_if_sorted(opids, |left, right| cmp(&actors, left, right)), None);
+            expected.sort_by(|left, right| cmp(&actors, left, right));
+            expected.dedup();
+            let result = OpIds::new_if_sorted(expected.clone(), |left, right| cmp(&actors, left, right)).unwrap().into_iter().cloned().collect::<Vec<_>>();
+            assert_eq!(result, expected)
+        }
+    }
+
+    fn cmp(actors: &[ActorId], left: &OpId, right: &OpId) -> std::cmp::Ordering {
+        use std::cmp::Ordering;
+        match (left, right) {
+            (OpId(0, _), OpId(0, _)) => Ordering::Equal,
+            (OpId(0, _), OpId(_, _)) => Ordering::Less,
+            (OpId(_, _), OpId(0, _)) => Ordering::Greater,
+            (OpId(a, x), OpId(b, y)) if a == b => actors[*x as usize].cmp(&actors[*y as usize]),
+            (OpId(a, _), OpId(b, _)) => a.cmp(b),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/value.rs.html b/src/automerge/value.rs.html new file mode 100644 index 00000000..350c49b9 --- /dev/null +++ b/src/automerge/value.rs.html @@ -0,0 +1,1499 @@ +value.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+
use crate::error;
+use crate::types::ObjType;
+use serde::{Deserialize, Serialize, Serializer};
+use smol_str::SmolStr;
+use std::borrow::Cow;
+use std::fmt;
+
+/// The type of values in an automerge document
+#[derive(Debug, Clone, PartialEq)]
+pub enum Value<'a> {
+    /// An composite object of type `ObjType`
+    Object(ObjType),
+    /// A non composite value
+    // TODO: if we don't have to store this in patches any more then it might be able to be just a
+    // &'a ScalarValue rather than a Cow
+    Scalar(Cow<'a, ScalarValue>),
+}
+
+impl<'a> Value<'a> {
+    pub fn map() -> Value<'a> {
+        Value::Object(ObjType::Map)
+    }
+
+    pub fn list() -> Value<'a> {
+        Value::Object(ObjType::List)
+    }
+
+    pub fn text() -> Value<'a> {
+        Value::Object(ObjType::Text)
+    }
+
+    pub fn table() -> Value<'a> {
+        Value::Object(ObjType::Table)
+    }
+
+    pub fn str(s: &str) -> Value<'a> {
+        Value::Scalar(Cow::Owned(ScalarValue::Str(s.into())))
+    }
+
+    pub fn int(n: i64) -> Value<'a> {
+        Value::Scalar(Cow::Owned(ScalarValue::Int(n)))
+    }
+
+    pub fn uint(n: u64) -> Value<'a> {
+        Value::Scalar(Cow::Owned(ScalarValue::Uint(n)))
+    }
+
+    pub fn counter(n: i64) -> Value<'a> {
+        Value::Scalar(Cow::Owned(ScalarValue::counter(n)))
+    }
+
+    pub fn timestamp(n: i64) -> Value<'a> {
+        Value::Scalar(Cow::Owned(ScalarValue::Timestamp(n)))
+    }
+
+    pub fn f64(n: f64) -> Value<'a> {
+        Value::Scalar(Cow::Owned(ScalarValue::F64(n)))
+    }
+
+    pub fn bytes(b: Vec<u8>) -> Value<'a> {
+        Value::Scalar(Cow::Owned(ScalarValue::Bytes(b)))
+    }
+
+    pub fn is_object(&self) -> bool {
+        matches!(&self, Value::Object(_))
+    }
+
+    pub fn is_scalar(&self) -> bool {
+        matches!(&self, Value::Scalar(_))
+    }
+
+    pub fn is_bytes(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_bytes()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_str(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_str()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_int(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_int()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_uint(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_uint()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_f64(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_f64()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_counter(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_counter()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_timestamp(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_timestamp()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_boolean(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_boolean()
+        } else {
+            false
+        }
+    }
+
+    pub fn is_null(&self) -> bool {
+        if let Self::Scalar(s) = self {
+            s.is_null()
+        } else {
+            false
+        }
+    }
+
+    pub fn into_scalar(self) -> Result<ScalarValue, Self> {
+        match self {
+            Self::Scalar(s) => Ok(s.into_owned()),
+            _ => Err(self),
+        }
+    }
+
+    pub fn to_scalar(&self) -> Option<&ScalarValue> {
+        match self {
+            Self::Scalar(s) => Some(s),
+            _ => None,
+        }
+    }
+
+    pub fn to_objtype(&self) -> Option<ObjType> {
+        match self {
+            Self::Object(o) => Some(*o),
+            _ => None,
+        }
+    }
+
+    pub fn into_owned(self) -> Value<'static> {
+        match self {
+            Value::Object(o) => Value::Object(o),
+            Value::Scalar(Cow::Owned(s)) => Value::Scalar(Cow::Owned(s)),
+            Value::Scalar(Cow::Borrowed(s)) => Value::Scalar(Cow::Owned((*s).clone())),
+        }
+    }
+
+    pub fn to_owned(&self) -> Value<'static> {
+        match self {
+            Value::Object(o) => Value::Object(*o),
+            Value::Scalar(Cow::Owned(s)) => Value::Scalar(Cow::Owned(s.clone())),
+            Value::Scalar(Cow::Borrowed(s)) => Value::Scalar(Cow::Owned((*s).clone())),
+        }
+    }
+
+    pub fn into_bytes(self) -> Result<Vec<u8>, Self> {
+        match self {
+            Value::Scalar(s) => s
+                .into_owned()
+                .into_bytes()
+                .map_err(|v| Value::Scalar(Cow::Owned(v))),
+            _ => Err(self),
+        }
+    }
+
+    pub fn to_bytes(&self) -> Option<&[u8]> {
+        match self {
+            Value::Scalar(s) => s.to_bytes(),
+            _ => None,
+        }
+    }
+
+    pub fn into_string(self) -> Result<String, Self> {
+        match self {
+            Value::Scalar(s) => s
+                .into_owned()
+                .into_string()
+                .map_err(|v| Value::Scalar(Cow::Owned(v))),
+            _ => Err(self),
+        }
+    }
+
+    pub fn to_str(&self) -> Option<&str> {
+        match self {
+            Value::Scalar(val) => val.to_str(),
+            _ => None,
+        }
+    }
+
+    /// If this value can be coerced to an i64, return the i64 value
+    pub fn to_i64(&self) -> Option<i64> {
+        match self {
+            Value::Scalar(s) => s.to_i64(),
+            _ => None,
+        }
+    }
+
+    pub fn to_u64(&self) -> Option<u64> {
+        match self {
+            Value::Scalar(s) => s.to_u64(),
+            _ => None,
+        }
+    }
+
+    pub fn to_f64(&self) -> Option<f64> {
+        match self {
+            Value::Scalar(s) => s.to_f64(),
+            _ => None,
+        }
+    }
+
+    pub fn to_bool(&self) -> Option<bool> {
+        match self {
+            Value::Scalar(s) => s.to_bool(),
+            _ => None,
+        }
+    }
+}
+
+impl<'a> fmt::Display for Value<'a> {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            Value::Object(o) => write!(f, "Object: {}", o),
+            Value::Scalar(s) => write!(f, "Scalar: {}", s),
+        }
+    }
+}
+
+impl<'a> From<&str> for Value<'a> {
+    fn from(s: &str) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Str(s.into())))
+    }
+}
+
+impl<'a> From<&String> for Value<'a> {
+    fn from(s: &String) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Str(s.into())))
+    }
+}
+
+impl<'a> From<String> for Value<'a> {
+    fn from(s: String) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Str(s.into())))
+    }
+}
+
+impl<'a> From<SmolStr> for Value<'a> {
+    fn from(s: SmolStr) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Str(s)))
+    }
+}
+
+impl<'a> From<char> for Value<'a> {
+    fn from(c: char) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Str(SmolStr::new(c.to_string()))))
+    }
+}
+
+impl<'a> From<Vec<u8>> for Value<'a> {
+    fn from(v: Vec<u8>) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Bytes(v)))
+    }
+}
+
+impl<'a> From<f64> for Value<'a> {
+    fn from(n: f64) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::F64(n)))
+    }
+}
+
+impl<'a> From<i64> for Value<'a> {
+    fn from(n: i64) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Int(n)))
+    }
+}
+
+impl<'a> From<i32> for Value<'a> {
+    fn from(n: i32) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Int(n.into())))
+    }
+}
+
+impl<'a> From<u32> for Value<'a> {
+    fn from(n: u32) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Uint(n.into())))
+    }
+}
+
+impl<'a> From<u64> for Value<'a> {
+    fn from(n: u64) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Uint(n)))
+    }
+}
+
+impl<'a> From<bool> for Value<'a> {
+    fn from(v: bool) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Boolean(v)))
+    }
+}
+
+impl<'a> From<()> for Value<'a> {
+    fn from(_: ()) -> Self {
+        Value::Scalar(Cow::Owned(ScalarValue::Null))
+    }
+}
+
+impl<'a> From<ObjType> for Value<'a> {
+    fn from(o: ObjType) -> Self {
+        Value::Object(o)
+    }
+}
+
+impl<'a> From<ScalarValue> for Value<'a> {
+    fn from(v: ScalarValue) -> Self {
+        Value::Scalar(Cow::Owned(v))
+    }
+}
+
+#[derive(Deserialize, Serialize, PartialEq, Debug, Clone, Copy)]
+pub(crate) enum DataType {
+    #[serde(rename = "counter")]
+    Counter,
+    #[serde(rename = "timestamp")]
+    Timestamp,
+    #[serde(rename = "bytes")]
+    Bytes,
+    #[serde(rename = "uint")]
+    Uint,
+    #[serde(rename = "int")]
+    Int,
+    #[serde(rename = "float64")]
+    F64,
+    #[serde(rename = "undefined")]
+    Undefined,
+}
+
+#[derive(Debug, Clone)]
+pub struct Counter {
+    pub(crate) start: i64,
+    pub(crate) current: i64,
+    pub(crate) increments: usize,
+}
+
+impl Counter {
+    pub(crate) fn increment<I: Iterator<Item = i64>>(&mut self, increments: I) {
+        for inc in increments {
+            self.current += inc;
+            self.increments += 1;
+        }
+    }
+}
+
+impl Serialize for Counter {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: Serializer,
+    {
+        serializer.serialize_i64(self.current)
+    }
+}
+
+impl fmt::Display for Counter {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        write!(f, "{}", &self.current)
+    }
+}
+
+impl From<i64> for Counter {
+    fn from(n: i64) -> Self {
+        Counter {
+            start: n,
+            current: n,
+            increments: 0,
+        }
+    }
+}
+
+impl From<&i64> for Counter {
+    fn from(n: &i64) -> Self {
+        Counter {
+            start: *n,
+            current: *n,
+            increments: 0,
+        }
+    }
+}
+
+impl From<&Counter> for i64 {
+    fn from(val: &Counter) -> Self {
+        val.current
+    }
+}
+
+impl From<Counter> for i64 {
+    fn from(val: Counter) -> Self {
+        val.current
+    }
+}
+
+impl From<&Counter> for u64 {
+    fn from(val: &Counter) -> Self {
+        val.current as u64
+    }
+}
+
+impl From<&Counter> for f64 {
+    fn from(val: &Counter) -> Self {
+        val.current as f64
+    }
+}
+
+/// A value which is not a composite value
+#[derive(Serialize, PartialEq, Debug, Clone)]
+#[serde(untagged)]
+pub enum ScalarValue {
+    Bytes(Vec<u8>),
+    Str(SmolStr),
+    Int(i64),
+    Uint(u64),
+    F64(f64),
+    Counter(Counter),
+    Timestamp(i64),
+    Boolean(bool),
+    /// A value from a future version of automerge
+    Unknown {
+        type_code: u8,
+        bytes: Vec<u8>,
+    },
+    Null,
+}
+
+impl PartialEq for Counter {
+    fn eq(&self, other: &Self) -> bool {
+        self.current == other.current
+    }
+}
+
+impl ScalarValue {
+    pub(crate) fn as_datatype(
+        &self,
+        datatype: DataType,
+    ) -> Result<ScalarValue, error::InvalidScalarValue> {
+        match (datatype, self) {
+            (DataType::Counter, ScalarValue::Int(i)) => Ok(ScalarValue::Counter(i.into())),
+            (DataType::Counter, ScalarValue::Uint(u)) => match i64::try_from(*u) {
+                Ok(i) => Ok(ScalarValue::Counter(i.into())),
+                Err(_) => Err(error::InvalidScalarValue {
+                    raw_value: self.clone(),
+                    expected: "an integer".to_string(),
+                    unexpected: "an integer larger than i64::max_value".to_string(),
+                    datatype,
+                }),
+            },
+            (DataType::Bytes, ScalarValue::Bytes(bytes)) => Ok(ScalarValue::Bytes(bytes.clone())),
+            (DataType::Bytes, v) => Err(error::InvalidScalarValue {
+                raw_value: self.clone(),
+                expected: "a vector of bytes".to_string(),
+                unexpected: v.to_string(),
+                datatype,
+            }),
+            (DataType::Counter, v) => Err(error::InvalidScalarValue {
+                raw_value: self.clone(),
+                expected: "an integer".to_string(),
+                unexpected: v.to_string(),
+                datatype,
+            }),
+            (DataType::Timestamp, ScalarValue::Int(i)) => Ok(ScalarValue::Timestamp(*i)),
+            (DataType::Timestamp, ScalarValue::Uint(u)) => match i64::try_from(*u) {
+                Ok(i) => Ok(ScalarValue::Timestamp(i)),
+                Err(_) => Err(error::InvalidScalarValue {
+                    raw_value: self.clone(),
+                    expected: "an integer".to_string(),
+                    unexpected: "an integer larger than i64::max_value".to_string(),
+                    datatype,
+                }),
+            },
+            (DataType::Timestamp, v) => Err(error::InvalidScalarValue {
+                raw_value: self.clone(),
+                expected: "an integer".to_string(),
+                unexpected: v.to_string(),
+                datatype,
+            }),
+            (DataType::Int, v) => Ok(ScalarValue::Int(v.to_i64().ok_or(
+                error::InvalidScalarValue {
+                    raw_value: self.clone(),
+                    expected: "an int".to_string(),
+                    unexpected: v.to_string(),
+                    datatype,
+                },
+            )?)),
+            (DataType::Uint, v) => Ok(ScalarValue::Uint(v.to_u64().ok_or(
+                error::InvalidScalarValue {
+                    raw_value: self.clone(),
+                    expected: "a uint".to_string(),
+                    unexpected: v.to_string(),
+                    datatype,
+                },
+            )?)),
+            (DataType::F64, v) => Ok(ScalarValue::F64(v.to_f64().ok_or(
+                error::InvalidScalarValue {
+                    raw_value: self.clone(),
+                    expected: "an f64".to_string(),
+                    unexpected: v.to_string(),
+                    datatype,
+                },
+            )?)),
+            (DataType::Undefined, _) => Ok(self.clone()),
+        }
+    }
+
+    /// Returns an Option containing a `DataType` if
+    /// `self` represents a numerical scalar value
+    /// This is necessary b/c numerical values are not self-describing
+    /// (unlike strings / bytes / etc. )
+    pub(crate) fn as_numerical_datatype(&self) -> Option<DataType> {
+        match self {
+            ScalarValue::Counter(..) => Some(DataType::Counter),
+            ScalarValue::Timestamp(..) => Some(DataType::Timestamp),
+            ScalarValue::Int(..) => Some(DataType::Int),
+            ScalarValue::Uint(..) => Some(DataType::Uint),
+            ScalarValue::F64(..) => Some(DataType::F64),
+            _ => None,
+        }
+    }
+
+    pub fn is_bytes(&self) -> bool {
+        matches!(self, Self::Bytes(_))
+    }
+
+    pub fn is_str(&self) -> bool {
+        matches!(self, Self::Str(_))
+    }
+
+    pub fn is_int(&self) -> bool {
+        matches!(self, Self::Int(_))
+    }
+
+    pub fn is_uint(&self) -> bool {
+        matches!(self, Self::Uint(_))
+    }
+
+    pub fn is_f64(&self) -> bool {
+        matches!(self, Self::F64(_))
+    }
+
+    pub fn is_counter(&self) -> bool {
+        matches!(self, Self::Counter(_))
+    }
+
+    pub fn is_timestamp(&self) -> bool {
+        matches!(self, Self::Timestamp(_))
+    }
+
+    pub fn is_boolean(&self) -> bool {
+        matches!(self, Self::Boolean(_))
+    }
+
+    pub fn is_null(&self) -> bool {
+        matches!(self, Self::Null)
+    }
+
+    pub fn into_bytes(self) -> Result<Vec<u8>, Self> {
+        match self {
+            ScalarValue::Bytes(b) => Ok(b),
+            _ => Err(self),
+        }
+    }
+
+    pub fn to_bytes(&self) -> Option<&[u8]> {
+        match self {
+            ScalarValue::Bytes(b) => Some(b),
+            _ => None,
+        }
+    }
+
+    pub fn into_string(self) -> Result<String, Self> {
+        match self {
+            ScalarValue::Str(s) => Ok(s.to_string()),
+            _ => Err(self),
+        }
+    }
+
+    pub fn to_str(&self) -> Option<&str> {
+        match self {
+            ScalarValue::Str(s) => Some(s),
+            _ => None,
+        }
+    }
+
+    /// If this value can be coerced to an i64, return the i64 value
+    pub fn to_i64(&self) -> Option<i64> {
+        match self {
+            ScalarValue::Int(n) => Some(*n),
+            ScalarValue::Uint(n) => Some(*n as i64),
+            ScalarValue::F64(n) => Some(*n as i64),
+            ScalarValue::Counter(n) => Some(n.into()),
+            ScalarValue::Timestamp(n) => Some(*n),
+            _ => None,
+        }
+    }
+
+    pub fn to_u64(&self) -> Option<u64> {
+        match self {
+            ScalarValue::Int(n) => Some(*n as u64),
+            ScalarValue::Uint(n) => Some(*n),
+            ScalarValue::F64(n) => Some(*n as u64),
+            ScalarValue::Counter(n) => Some(n.into()),
+            ScalarValue::Timestamp(n) => Some(*n as u64),
+            _ => None,
+        }
+    }
+
+    pub fn to_f64(&self) -> Option<f64> {
+        match self {
+            ScalarValue::Int(n) => Some(*n as f64),
+            ScalarValue::Uint(n) => Some(*n as f64),
+            ScalarValue::F64(n) => Some(*n),
+            ScalarValue::Counter(n) => Some(n.into()),
+            ScalarValue::Timestamp(n) => Some(*n as f64),
+            _ => None,
+        }
+    }
+
+    pub fn to_bool(&self) -> Option<bool> {
+        match self {
+            ScalarValue::Boolean(b) => Some(*b),
+            _ => None,
+        }
+    }
+
+    pub fn counter(n: i64) -> ScalarValue {
+        ScalarValue::Counter(n.into())
+    }
+}
+
+impl From<&str> for ScalarValue {
+    fn from(s: &str) -> Self {
+        ScalarValue::Str(s.into())
+    }
+}
+
+impl From<&String> for ScalarValue {
+    fn from(s: &String) -> Self {
+        ScalarValue::Str(s.into())
+    }
+}
+
+impl From<String> for ScalarValue {
+    fn from(s: String) -> Self {
+        ScalarValue::Str(s.into())
+    }
+}
+
+impl From<Vec<u8>> for ScalarValue {
+    fn from(b: Vec<u8>) -> Self {
+        ScalarValue::Bytes(b)
+    }
+}
+
+impl From<i64> for ScalarValue {
+    fn from(n: i64) -> Self {
+        ScalarValue::Int(n)
+    }
+}
+
+impl From<f64> for ScalarValue {
+    fn from(n: f64) -> Self {
+        ScalarValue::F64(n)
+    }
+}
+
+impl From<u64> for ScalarValue {
+    fn from(n: u64) -> Self {
+        ScalarValue::Uint(n)
+    }
+}
+
+impl From<u32> for ScalarValue {
+    fn from(n: u32) -> Self {
+        ScalarValue::Uint(n.into())
+    }
+}
+
+impl From<i32> for ScalarValue {
+    fn from(n: i32) -> Self {
+        ScalarValue::Int(n as i64)
+    }
+}
+
+impl From<bool> for ScalarValue {
+    fn from(b: bool) -> Self {
+        ScalarValue::Boolean(b)
+    }
+}
+
+impl From<()> for ScalarValue {
+    fn from(_: ()) -> Self {
+        ScalarValue::Null
+    }
+}
+
+impl From<char> for ScalarValue {
+    fn from(c: char) -> Self {
+        ScalarValue::Str(SmolStr::new(c.to_string()))
+    }
+}
+
+impl fmt::Display for ScalarValue {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            ScalarValue::Bytes(b) => write!(f, "\"{:?}\"", b),
+            ScalarValue::Str(s) => write!(f, "\"{}\"", s),
+            ScalarValue::Int(i) => write!(f, "{}", i),
+            ScalarValue::Uint(i) => write!(f, "{}", i),
+            ScalarValue::F64(n) => write!(f, "{:.324}", n),
+            ScalarValue::Counter(c) => write!(f, "Counter: {}", c),
+            ScalarValue::Timestamp(i) => write!(f, "Timestamp: {}", i),
+            ScalarValue::Boolean(b) => write!(f, "{}", b),
+            ScalarValue::Null => write!(f, "null"),
+            ScalarValue::Unknown { type_code, .. } => write!(f, "unknown type {}", type_code),
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/values.rs.html b/src/automerge/values.rs.html new file mode 100644 index 00000000..31d3bd2b --- /dev/null +++ b/src/automerge/values.rs.html @@ -0,0 +1,117 @@ +values.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+
use crate::exid::ExId;
+use crate::{Automerge, Value};
+use std::fmt;
+
+/// An iterator over the values in an object
+///
+/// This is returned by the [`crate::ReadDoc::values`] and [`crate::ReadDoc::values_at`] methods
+pub struct Values<'a> {
+    range: Box<dyn 'a + ValueIter<'a>>,
+    doc: &'a Automerge,
+}
+
+impl<'a> fmt::Debug for Values<'a> {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        f.debug_struct("Values").finish()
+    }
+}
+
+pub(crate) trait ValueIter<'a> {
+    fn next_value(&mut self, doc: &'a Automerge) -> Option<(Value<'a>, ExId)>;
+}
+
+pub(crate) struct NoValues {}
+
+impl<'a> ValueIter<'a> for NoValues {
+    fn next_value(&mut self, _doc: &'a Automerge) -> Option<(Value<'a>, ExId)> {
+        None
+    }
+}
+
+impl<'a> Values<'a> {
+    pub(crate) fn new<R: 'a + ValueIter<'a>>(doc: &'a Automerge, range: Option<R>) -> Self {
+        if let Some(range) = range {
+            Self {
+                range: Box::new(range),
+                doc,
+            }
+        } else {
+            Self::empty(doc)
+        }
+    }
+
+    pub(crate) fn empty(doc: &'a Automerge) -> Self {
+        Self {
+            range: Box::new(NoValues {}),
+            doc,
+        }
+    }
+}
+
+impl<'a> Iterator for Values<'a> {
+    type Item = (Value<'a>, ExId);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.range.next_value(self.doc)
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge/visualisation.rs.html b/src/automerge/visualisation.rs.html new file mode 100644 index 00000000..03b35e7d --- /dev/null +++ b/src/automerge/visualisation.rs.html @@ -0,0 +1,563 @@ +visualisation.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+
use crate::types::{ObjId, Op};
+use fxhash::FxHasher;
+use std::{borrow::Cow, collections::HashMap, hash::BuildHasherDefault};
+
+use rand::Rng;
+
+#[derive(Copy, Clone, PartialEq, Hash, Eq)]
+pub(crate) struct NodeId(u64);
+
+impl Default for NodeId {
+    fn default() -> Self {
+        let mut rng = rand::thread_rng();
+        let u = rng.gen();
+        NodeId(u)
+    }
+}
+
+#[derive(Clone)]
+pub(crate) struct Node<'a> {
+    id: NodeId,
+    children: Vec<NodeId>,
+    node_type: NodeType<'a>,
+    metadata: &'a crate::op_set::OpSetMetadata,
+}
+
+#[derive(Clone)]
+pub(crate) enum NodeType<'a> {
+    ObjRoot(crate::types::ObjId),
+    ObjTreeNode(ObjId, &'a crate::op_tree::OpTreeNode, &'a [Op]),
+}
+
+#[derive(Clone)]
+pub(crate) struct Edge {
+    parent_id: NodeId,
+    child_id: NodeId,
+}
+
+pub(crate) struct GraphVisualisation<'a> {
+    nodes: HashMap<NodeId, Node<'a>>,
+    actor_shorthands: HashMap<usize, String>,
+}
+
+impl<'a> GraphVisualisation<'a> {
+    pub(super) fn construct(
+        trees: &'a HashMap<
+            crate::types::ObjId,
+            crate::op_tree::OpTree,
+            BuildHasherDefault<FxHasher>,
+        >,
+        metadata: &'a crate::op_set::OpSetMetadata,
+    ) -> GraphVisualisation<'a> {
+        let mut nodes = HashMap::new();
+        for (obj_id, tree) in trees {
+            if let Some(root_node) = &tree.internal.root_node {
+                let tree_id = Self::construct_nodes(
+                    root_node,
+                    &tree.internal.ops,
+                    obj_id,
+                    &mut nodes,
+                    metadata,
+                );
+                let obj_tree_id = NodeId::default();
+                nodes.insert(
+                    obj_tree_id,
+                    Node {
+                        id: obj_tree_id,
+                        children: vec![tree_id],
+                        node_type: NodeType::ObjRoot(*obj_id),
+                        metadata,
+                    },
+                );
+            }
+        }
+        let mut actor_shorthands = HashMap::new();
+        for actor in 0..metadata.actors.len() {
+            actor_shorthands.insert(actor, format!("actor{}", actor));
+        }
+        GraphVisualisation {
+            nodes,
+            actor_shorthands,
+        }
+    }
+
+    fn construct_nodes(
+        node: &'a crate::op_tree::OpTreeNode,
+        ops: &'a [Op],
+        objid: &ObjId,
+        nodes: &mut HashMap<NodeId, Node<'a>>,
+        m: &'a crate::op_set::OpSetMetadata,
+    ) -> NodeId {
+        let node_id = NodeId::default();
+        let mut child_ids = Vec::new();
+        for child in &node.children {
+            let child_id = Self::construct_nodes(child, ops, objid, nodes, m);
+            child_ids.push(child_id);
+        }
+        nodes.insert(
+            node_id,
+            Node {
+                id: node_id,
+                children: child_ids,
+                node_type: NodeType::ObjTreeNode(*objid, node, ops),
+                metadata: m,
+            },
+        );
+        node_id
+    }
+}
+
+impl<'a> dot::GraphWalk<'a, &'a Node<'a>, Edge> for GraphVisualisation<'a> {
+    fn nodes(&'a self) -> dot::Nodes<'a, &'a Node<'a>> {
+        Cow::Owned(self.nodes.values().collect::<Vec<_>>())
+    }
+
+    fn edges(&'a self) -> dot::Edges<'a, Edge> {
+        let mut edges = Vec::new();
+        for node in self.nodes.values() {
+            for child in &node.children {
+                edges.push(Edge {
+                    parent_id: node.id,
+                    child_id: *child,
+                });
+            }
+        }
+        Cow::Owned(edges)
+    }
+
+    fn source(&'a self, edge: &Edge) -> &'a Node<'a> {
+        self.nodes.get(&edge.parent_id).unwrap()
+    }
+
+    fn target(&'a self, edge: &Edge) -> &'a Node<'a> {
+        self.nodes.get(&edge.child_id).unwrap()
+    }
+}
+
+impl<'a> dot::Labeller<'a, &'a Node<'a>, Edge> for GraphVisualisation<'a> {
+    fn graph_id(&'a self) -> dot::Id<'a> {
+        dot::Id::new("OpSet").unwrap()
+    }
+
+    fn node_id(&'a self, n: &&Node<'a>) -> dot::Id<'a> {
+        dot::Id::new(format!("node_{}", n.id.0)).unwrap()
+    }
+
+    fn node_shape(&'a self, node: &&'a Node<'a>) -> Option<dot::LabelText<'a>> {
+        let shape = match node.node_type {
+            NodeType::ObjTreeNode(_, _, _) => dot::LabelText::label("none"),
+            NodeType::ObjRoot(_) => dot::LabelText::label("ellipse"),
+        };
+        Some(shape)
+    }
+
+    fn node_label(&'a self, n: &&Node<'a>) -> dot::LabelText<'a> {
+        match n.node_type {
+            NodeType::ObjTreeNode(objid, tree_node, ops) => dot::LabelText::HtmlStr(
+                OpTable::create(tree_node, ops, &objid, n.metadata, &self.actor_shorthands)
+                    .to_html()
+                    .into(),
+            ),
+            NodeType::ObjRoot(objid) => {
+                dot::LabelText::label(print_opid(&objid.0, &self.actor_shorthands))
+            }
+        }
+    }
+}
+
+struct OpTable {
+    rows: Vec<OpTableRow>,
+}
+
+impl OpTable {
+    fn create<'a>(
+        node: &'a crate::op_tree::OpTreeNode,
+        ops: &'a [Op],
+        obj: &ObjId,
+        metadata: &crate::op_set::OpSetMetadata,
+        actor_shorthands: &HashMap<usize, String>,
+    ) -> Self {
+        let rows = node
+            .elements
+            .iter()
+            .map(|e| OpTableRow::create(&ops[*e], obj, metadata, actor_shorthands))
+            .collect();
+        OpTable { rows }
+    }
+
+    fn to_html(&self) -> String {
+        let rows = self
+            .rows
+            .iter()
+            .map(|r| r.to_html())
+            .collect::<Vec<_>>()
+            .join("");
+        format!(
+            "<table cellspacing=\"0\">\
+            <tr>\
+                <td>op</td>\
+                <td>obj</td>\
+                <td>prop</td>\
+                <td>action</td>\
+                <td>succ</td>\
+                <td>pred</td>\
+            </tr>\
+            <hr/>\
+            {}\
+            </table>",
+            rows
+        )
+    }
+}
+
+struct OpTableRow {
+    obj_id: String,
+    op_id: String,
+    prop: String,
+    op_description: String,
+    succ: String,
+    pred: String,
+}
+
+impl OpTableRow {
+    fn to_html(&self) -> String {
+        let rows = [
+            &self.op_id,
+            &self.obj_id,
+            &self.prop,
+            &self.op_description,
+            &self.succ,
+            &self.pred,
+        ];
+        let row = rows
+            .iter()
+            .map(|r| format!("<td>{}</td>", &r))
+            .collect::<String>();
+        format!("<tr>{}</tr>", row)
+    }
+}
+
+impl OpTableRow {
+    fn create(
+        op: &super::types::Op,
+        obj: &ObjId,
+        metadata: &crate::op_set::OpSetMetadata,
+        actor_shorthands: &HashMap<usize, String>,
+    ) -> Self {
+        let op_description = match &op.action {
+            crate::OpType::Delete => "del".to_string(),
+            crate::OpType::Put(v) => format!("set {}", v),
+            crate::OpType::Make(obj) => format!("make {}", obj),
+            crate::OpType::Increment(v) => format!("inc {}", v),
+        };
+        let prop = match op.key {
+            crate::types::Key::Map(k) => metadata.props[k].clone(),
+            crate::types::Key::Seq(e) => print_opid(&e.0, actor_shorthands),
+        };
+        let succ = op
+            .succ
+            .iter()
+            .map(|s| format!(",{}", print_opid(s, actor_shorthands)))
+            .collect();
+        let pred = op
+            .pred
+            .iter()
+            .map(|s| format!(",{}", print_opid(s, actor_shorthands)))
+            .collect();
+        OpTableRow {
+            op_description,
+            obj_id: print_opid(&obj.0, actor_shorthands),
+            op_id: print_opid(&op.id, actor_shorthands),
+            prop,
+            succ,
+            pred,
+        }
+    }
+}
+
+fn print_opid(opid: &crate::types::OpId, actor_shorthands: &HashMap<usize, String>) -> String {
+    format!("{}@{}", opid.counter(), actor_shorthands[&opid.actor()])
+}
+
+
\ No newline at end of file diff --git a/src/automerge_test/lib.rs.html b/src/automerge_test/lib.rs.html new file mode 100644 index 00000000..e549ba39 --- /dev/null +++ b/src/automerge_test/lib.rs.html @@ -0,0 +1,994 @@ +lib.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+
use std::{
+    collections::{BTreeMap, BTreeSet},
+    convert::TryInto,
+    hash::Hash,
+};
+
+use automerge::ReadDoc;
+
+use serde::ser::{SerializeMap, SerializeSeq};
+
+pub fn new_doc() -> automerge::AutoCommit {
+    let mut d = automerge::AutoCommit::new();
+    d.set_actor(automerge::ActorId::random());
+    d
+}
+
+pub fn new_doc_with_actor(actor: automerge::ActorId) -> automerge::AutoCommit {
+    let mut d = automerge::AutoCommit::new();
+    d.set_actor(actor);
+    d
+}
+
+/// Returns two actor IDs, the first considered to  be ordered before the second
+pub fn sorted_actors() -> (automerge::ActorId, automerge::ActorId) {
+    let a = automerge::ActorId::random();
+    let b = automerge::ActorId::random();
+    if a > b {
+        (b, a)
+    } else {
+        (a, b)
+    }
+}
+
+/// This macro makes it easy to make assertions about a document. It is called with two arguments,
+/// the first is a reference to an `automerge::Automerge`, the second is an instance of
+/// `RealizedObject<ExportableOpId>`.
+///
+/// What - I hear you ask - is a `RealizedObject`? It's a fully hydrated version of the contents of
+/// an automerge document. You don't need to think about this too much though because you can
+/// easily construct one with the `map!` and `list!` macros. Here's an example:
+///
+/// ## Constructing documents
+///
+/// ```rust
+/// # use automerge::transaction::Transactable;
+/// # use automerge_test::{assert_doc, map, list};
+/// let mut doc = automerge::AutoCommit::new();
+/// let todos = doc.put_object(automerge::ROOT, "todos", automerge::ObjType::List).unwrap();
+/// let todo = doc.insert_object(todos, 0, automerge::ObjType::Map).unwrap();
+/// let title = doc.put(todo, "title", "water plants").unwrap();
+///
+/// assert_doc!(
+///     &doc,
+///     map!{
+///         "todos" => {
+///             list![
+///                 { map!{ "title" => { "water plants" } } }
+///             ]
+///         }
+///     }
+/// );
+///
+/// ```
+///
+/// This might look more complicated than you were expecting. Why is the first element in the list
+/// wrapped in braces? Because every property in an automerge document can have multiple
+/// conflicting values we must capture all of these.
+///
+/// ```rust
+/// # use automerge_test::{assert_doc, map};
+/// # use automerge::transaction::Transactable;
+/// # use automerge::ReadDoc;
+///
+/// let mut doc1 = automerge::AutoCommit::new();
+/// let mut doc2 = automerge::AutoCommit::new();
+/// doc1.put(automerge::ROOT, "field", "one").unwrap();
+/// doc2.put(automerge::ROOT, "field", "two").unwrap();
+/// doc1.merge(&mut doc2);
+/// assert_doc!(
+///     doc1.document(),
+///     map!{
+///         "field" => {
+///             "one",
+///             "two"
+///         }
+///     }
+/// );
+/// ```
+#[macro_export]
+macro_rules! assert_doc {
+    ($doc: expr, $expected: expr) => {{
+        use $crate::realize;
+        let realized = realize($doc);
+        let expected_obj = $expected.into();
+        if realized != expected_obj {
+            $crate::pretty_panic(expected_obj, realized)
+        }
+    }};
+}
+
+/// Like `assert_doc` except that you can specify an object ID and property to select subsections
+/// of the document.
+#[macro_export]
+macro_rules! assert_obj {
+    ($doc: expr, $obj_id: expr, $prop: expr, $expected: expr) => {{
+        use $crate::realize_prop;
+        let realized = realize_prop($doc, $obj_id, $prop);
+        let expected_obj = $expected.into();
+        if realized != expected_obj {
+            $crate::pretty_panic(expected_obj, realized)
+        }
+    }};
+}
+
+/// Construct `RealizedObject::Map`. This macro takes a nested set of curl braces. The outer set is
+/// the keys of the map, the inner set is the set of values for that key:
+///
+/// ```
+/// # use automerge_test::map;
+/// map!{
+///     "key" => {
+///         "value1",
+///         "value2",
+///     }
+/// };
+/// ```
+///
+/// The map above would represent a map with a conflict on the "key" property. The values can be
+/// anything which implements `Into<RealizedObject>`. Including nested calls to `map!` or `list!`.
+#[macro_export]
+macro_rules! map {
+    (@inner { $($value:expr,)+ }) => { map!(@inner { $($value),+ }) };
+    (@inner { $($value:expr),* }) => {
+        {
+            use std::collections::BTreeSet;
+            use $crate::RealizedObject;
+            let mut inner: BTreeSet<RealizedObject> = BTreeSet::new();
+            $(
+                let _ = inner.insert($value.into());
+            )*
+            inner
+        }
+    };
+    ($($key:expr => $inner:tt,)+) => { map!($($key => $inner),+) };
+    ($($key:expr => $inner:tt),*) => {
+        {
+            use std::collections::{BTreeMap, BTreeSet};
+            use $crate::RealizedObject;
+            let mut _map: BTreeMap<String, BTreeSet<RealizedObject>> = ::std::collections::BTreeMap::new();
+            $(
+                let inner = map!(@inner $inner);
+                let _ = _map.insert($key.to_string(), inner);
+            )*
+            RealizedObject::Map(_map)
+        }
+    }
+}
+
+/// Construct `RealizedObject::Sequence`. This macro represents a sequence of values
+///
+/// ```
+/// # use automerge_test::{list, RealizedObject};
+/// list![
+///     {
+///         "value1",
+///         "value2",
+///     }
+/// ];
+/// ```
+///
+/// The list above would represent a list with a conflict on the 0 index. The values can be
+/// anything which implements `Into<RealizedObject>` including nested calls to
+/// `map!` or `list!`.
+#[macro_export]
+macro_rules! list {
+    (@single $($x:tt)*) => (());
+    (@count $($rest:tt),*) => (<[()]>::len(&[$(list!(@single $rest)),*]));
+
+    (@inner { $($value:expr,)+ }) => { list!(@inner { $($value),+ }) };
+    (@inner { $($value:expr),* }) => {
+        {
+            use std::collections::BTreeSet;
+            use $crate::RealizedObject;
+            let mut inner: BTreeSet<RealizedObject> = BTreeSet::new();
+            $(
+                let _ = inner.insert($value.into());
+            )*
+            inner
+        }
+    };
+    ($($inner:tt,)+) => { list!($($inner),+) };
+    ($($inner:tt),*) => {
+        {
+            use std::collections::BTreeSet;
+            let _cap = list!(@count $($inner),*);
+            let mut _list: Vec<BTreeSet<RealizedObject>> = Vec::new();
+            $(
+                let inner = list!(@inner $inner);
+                let _ = _list.push(inner);
+            )*
+            RealizedObject::Sequence(_list)
+        }
+    }
+}
+
+pub fn mk_counter(value: i64) -> automerge::ScalarValue {
+    automerge::ScalarValue::counter(value)
+}
+
+#[derive(Eq, Hash, PartialEq, Debug)]
+pub struct ExportedOpId(String);
+
+impl std::fmt::Display for ExportedOpId {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+        write!(f, "{}", self.0)
+    }
+}
+
+/// A `RealizedObject` is a representation of all the current values in a document - including
+/// conflicts.
+#[derive(PartialEq, PartialOrd, Ord, Eq, Hash, Debug)]
+pub enum RealizedObject {
+    Map(BTreeMap<String, BTreeSet<RealizedObject>>),
+    Sequence(Vec<BTreeSet<RealizedObject>>),
+    Value(OrdScalarValue),
+}
+
+// A copy of automerge::ScalarValue which uses decorum::Total for floating point values. This makes the type
+// orderable, which is useful when we want to compare conflicting values of a register in an
+// automerge document.
+#[derive(PartialEq, Eq, PartialOrd, Ord, Debug, Hash)]
+pub enum OrdScalarValue {
+    Bytes(Vec<u8>),
+    Str(smol_str::SmolStr),
+    Int(i64),
+    Uint(u64),
+    F64(decorum::Total<f64>),
+    Counter(i64),
+    Timestamp(i64),
+    Boolean(bool),
+    Null,
+    Unknown { type_code: u8, bytes: Vec<u8> },
+}
+
+impl From<automerge::ScalarValue> for OrdScalarValue {
+    fn from(v: automerge::ScalarValue) -> Self {
+        match v {
+            automerge::ScalarValue::Bytes(v) => OrdScalarValue::Bytes(v),
+            automerge::ScalarValue::Str(v) => OrdScalarValue::Str(v),
+            automerge::ScalarValue::Int(v) => OrdScalarValue::Int(v),
+            automerge::ScalarValue::Uint(v) => OrdScalarValue::Uint(v),
+            automerge::ScalarValue::F64(v) => OrdScalarValue::F64(decorum::Total::from(v)),
+            automerge::ScalarValue::Counter(c) => OrdScalarValue::Counter(c.into()),
+            automerge::ScalarValue::Timestamp(v) => OrdScalarValue::Timestamp(v),
+            automerge::ScalarValue::Boolean(v) => OrdScalarValue::Boolean(v),
+            automerge::ScalarValue::Null => OrdScalarValue::Null,
+            automerge::ScalarValue::Unknown { type_code, bytes } => {
+                OrdScalarValue::Unknown { type_code, bytes }
+            }
+        }
+    }
+}
+
+impl From<&OrdScalarValue> for automerge::ScalarValue {
+    fn from(v: &OrdScalarValue) -> Self {
+        match v {
+            OrdScalarValue::Bytes(v) => automerge::ScalarValue::Bytes(v.clone()),
+            OrdScalarValue::Str(v) => automerge::ScalarValue::Str(v.clone()),
+            OrdScalarValue::Int(v) => automerge::ScalarValue::Int(*v),
+            OrdScalarValue::Uint(v) => automerge::ScalarValue::Uint(*v),
+            OrdScalarValue::F64(v) => automerge::ScalarValue::F64(v.into_inner()),
+            OrdScalarValue::Counter(v) => automerge::ScalarValue::counter(*v),
+            OrdScalarValue::Timestamp(v) => automerge::ScalarValue::Timestamp(*v),
+            OrdScalarValue::Boolean(v) => automerge::ScalarValue::Boolean(*v),
+            OrdScalarValue::Null => automerge::ScalarValue::Null,
+            OrdScalarValue::Unknown { type_code, bytes } => automerge::ScalarValue::Unknown {
+                type_code: *type_code,
+                bytes: bytes.to_vec(),
+            },
+        }
+    }
+}
+
+impl serde::Serialize for OrdScalarValue {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: serde::Serializer,
+    {
+        match self {
+            OrdScalarValue::Bytes(v) => serializer.serialize_bytes(v),
+            OrdScalarValue::Str(v) => serializer.serialize_str(v.as_str()),
+            OrdScalarValue::Int(v) => serializer.serialize_i64(*v),
+            OrdScalarValue::Uint(v) => serializer.serialize_u64(*v),
+            OrdScalarValue::F64(v) => serializer.serialize_f64(v.into_inner()),
+            OrdScalarValue::Counter(v) => {
+                serializer.serialize_str(format!("Counter({})", v).as_str())
+            }
+            OrdScalarValue::Timestamp(v) => {
+                serializer.serialize_str(format!("Timestamp({})", v).as_str())
+            }
+            OrdScalarValue::Boolean(v) => serializer.serialize_bool(*v),
+            OrdScalarValue::Null => serializer.serialize_none(),
+            OrdScalarValue::Unknown { type_code, .. } => serializer
+                .serialize_str(format!("An unknown type with code {}", type_code).as_str()),
+        }
+    }
+}
+
+impl serde::Serialize for RealizedObject {
+    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+    where
+        S: serde::Serializer,
+    {
+        match self {
+            Self::Map(kvs) => {
+                let mut map_ser = serializer.serialize_map(Some(kvs.len()))?;
+                for (k, vs) in kvs {
+                    let vs_serded = vs.iter().collect::<Vec<&RealizedObject>>();
+                    map_ser.serialize_entry(k, &vs_serded)?;
+                }
+                map_ser.end()
+            }
+            Self::Sequence(elems) => {
+                let mut list_ser = serializer.serialize_seq(Some(elems.len()))?;
+                for elem in elems {
+                    let vs_serded = elem.iter().collect::<Vec<&RealizedObject>>();
+                    list_ser.serialize_element(&vs_serded)?;
+                }
+                list_ser.end()
+            }
+            Self::Value(v) => v.serialize(serializer),
+        }
+    }
+}
+
+pub fn realize<R: ReadDoc>(doc: &R) -> RealizedObject {
+    realize_obj(doc, &automerge::ROOT, automerge::ObjType::Map)
+}
+
+pub fn realize_prop<R: ReadDoc, P: Into<automerge::Prop>>(
+    doc: &R,
+    obj_id: &automerge::ObjId,
+    prop: P,
+) -> RealizedObject {
+    let (val, obj_id) = doc.get(obj_id, prop).unwrap().unwrap();
+    match val {
+        automerge::Value::Object(obj_type) => realize_obj(doc, &obj_id, obj_type),
+        automerge::Value::Scalar(v) => RealizedObject::Value(OrdScalarValue::from(v.into_owned())),
+    }
+}
+
+pub fn realize_obj<R: ReadDoc>(
+    doc: &R,
+    obj_id: &automerge::ObjId,
+    objtype: automerge::ObjType,
+) -> RealizedObject {
+    match objtype {
+        automerge::ObjType::Map | automerge::ObjType::Table => {
+            let mut result = BTreeMap::new();
+            for key in doc.keys(obj_id) {
+                result.insert(key.clone(), realize_values(doc, obj_id, key));
+            }
+            RealizedObject::Map(result)
+        }
+        automerge::ObjType::List | automerge::ObjType::Text => {
+            let length = doc.length(obj_id);
+            let mut result = Vec::with_capacity(length);
+            for i in 0..length {
+                result.push(realize_values(doc, obj_id, i));
+            }
+            RealizedObject::Sequence(result)
+        }
+    }
+}
+
+fn realize_values<R: ReadDoc, K: Into<automerge::Prop>>(
+    doc: &R,
+    obj_id: &automerge::ObjId,
+    key: K,
+) -> BTreeSet<RealizedObject> {
+    let mut values = BTreeSet::new();
+    for (value, objid) in doc.get_all(obj_id, key).unwrap() {
+        let realized = match value {
+            automerge::Value::Object(objtype) => realize_obj(doc, &objid, objtype),
+            automerge::Value::Scalar(v) => {
+                RealizedObject::Value(OrdScalarValue::from(v.into_owned()))
+            }
+        };
+        values.insert(realized);
+    }
+    values
+}
+
+impl<I: Into<RealizedObject>> From<BTreeMap<&str, BTreeSet<I>>> for RealizedObject {
+    fn from(values: BTreeMap<&str, BTreeSet<I>>) -> Self {
+        let intoed = values
+            .into_iter()
+            .map(|(k, v)| (k.to_string(), v.into_iter().map(|v| v.into()).collect()))
+            .collect();
+        RealizedObject::Map(intoed)
+    }
+}
+
+impl<I: Into<RealizedObject>> From<Vec<BTreeSet<I>>> for RealizedObject {
+    fn from(values: Vec<BTreeSet<I>>) -> Self {
+        RealizedObject::Sequence(
+            values
+                .into_iter()
+                .map(|v| v.into_iter().map(|v| v.into()).collect())
+                .collect(),
+        )
+    }
+}
+
+impl From<bool> for RealizedObject {
+    fn from(b: bool) -> Self {
+        RealizedObject::Value(OrdScalarValue::Boolean(b))
+    }
+}
+
+impl From<usize> for RealizedObject {
+    fn from(u: usize) -> Self {
+        let v = u.try_into().unwrap();
+        RealizedObject::Value(OrdScalarValue::Int(v))
+    }
+}
+
+impl From<u64> for RealizedObject {
+    fn from(v: u64) -> Self {
+        RealizedObject::Value(OrdScalarValue::Uint(v))
+    }
+}
+
+impl From<u32> for RealizedObject {
+    fn from(v: u32) -> Self {
+        RealizedObject::Value(OrdScalarValue::Uint(v.into()))
+    }
+}
+
+impl From<i64> for RealizedObject {
+    fn from(v: i64) -> Self {
+        RealizedObject::Value(OrdScalarValue::Int(v))
+    }
+}
+
+impl From<i32> for RealizedObject {
+    fn from(v: i32) -> Self {
+        RealizedObject::Value(OrdScalarValue::Int(v.into()))
+    }
+}
+
+impl From<automerge::ScalarValue> for RealizedObject {
+    fn from(s: automerge::ScalarValue) -> Self {
+        RealizedObject::Value(OrdScalarValue::from(s))
+    }
+}
+
+impl From<&str> for RealizedObject {
+    fn from(s: &str) -> Self {
+        RealizedObject::Value(OrdScalarValue::Str(smol_str::SmolStr::from(s)))
+    }
+}
+
+impl From<f64> for RealizedObject {
+    fn from(f: f64) -> Self {
+        RealizedObject::Value(OrdScalarValue::F64(f.into()))
+    }
+}
+
+impl From<Vec<u64>> for RealizedObject {
+    fn from(vals: Vec<u64>) -> Self {
+        RealizedObject::Sequence(
+            vals.into_iter()
+                .map(|i| {
+                    let mut set = BTreeSet::new();
+                    set.insert(i.into());
+                    set
+                })
+                .collect(),
+        )
+    }
+}
+
+/// Pretty print the contents of a document
+pub fn pretty_print(doc: &automerge::Automerge) {
+    println!("{}", serde_json::to_string_pretty(&realize(doc)).unwrap())
+}
+
+pub fn pretty_panic(expected_obj: RealizedObject, realized: RealizedObject) {
+    let serde_right = serde_json::to_string_pretty(&realized).unwrap();
+    let serde_left = serde_json::to_string_pretty(&expected_obj).unwrap();
+    panic!(
+        "documents didn't match\n expected\n{}\n got\n{}",
+        &serde_left, &serde_right
+    );
+}
+
+
\ No newline at end of file diff --git a/src/automerge_wasm/interop.rs.html b/src/automerge_wasm/interop.rs.html new file mode 100644 index 00000000..298bf919 --- /dev/null +++ b/src/automerge_wasm/interop.rs.html @@ -0,0 +1,2959 @@ +interop.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
+981
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+1156
+1157
+1158
+1159
+1160
+1161
+1162
+1163
+1164
+1165
+1166
+1167
+1168
+1169
+1170
+1171
+1172
+1173
+1174
+1175
+1176
+1177
+1178
+1179
+1180
+1181
+1182
+1183
+1184
+1185
+1186
+1187
+1188
+1189
+1190
+1191
+1192
+1193
+1194
+1195
+1196
+1197
+1198
+1199
+1200
+1201
+1202
+1203
+1204
+1205
+1206
+1207
+1208
+1209
+1210
+1211
+1212
+1213
+1214
+1215
+1216
+1217
+1218
+1219
+1220
+1221
+1222
+1223
+1224
+1225
+1226
+1227
+1228
+1229
+1230
+1231
+1232
+1233
+1234
+1235
+1236
+1237
+1238
+1239
+1240
+1241
+1242
+1243
+1244
+1245
+1246
+1247
+1248
+1249
+1250
+1251
+1252
+1253
+1254
+1255
+1256
+1257
+1258
+1259
+1260
+1261
+1262
+1263
+1264
+1265
+1266
+1267
+1268
+1269
+1270
+1271
+1272
+1273
+1274
+1275
+1276
+1277
+1278
+1279
+1280
+1281
+1282
+1283
+1284
+1285
+1286
+1287
+1288
+1289
+1290
+1291
+1292
+1293
+1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
+1445
+1446
+1447
+1448
+1449
+1450
+1451
+1452
+1453
+1454
+1455
+1456
+1457
+1458
+1459
+1460
+1461
+1462
+1463
+1464
+1465
+1466
+1467
+1468
+1469
+1470
+1471
+1472
+1473
+1474
+1475
+1476
+1477
+1478
+
use crate::error::InsertObject;
+use crate::value::Datatype;
+use crate::{Automerge, TextRepresentation};
+use automerge as am;
+use automerge::ReadDoc;
+use automerge::ROOT;
+use automerge::{Change, ChangeHash, ObjType, Prop};
+use js_sys::{Array, Function, JsString, Object, Reflect, Symbol, Uint8Array};
+use std::borrow::Cow;
+use std::collections::{BTreeSet, HashSet};
+use std::fmt::Display;
+use wasm_bindgen::prelude::*;
+use wasm_bindgen::JsCast;
+
+use crate::{observer::Patch, ObjId, Value};
+
+const RAW_DATA_SYMBOL: &str = "_am_raw_value_";
+const DATATYPE_SYMBOL: &str = "_am_datatype_";
+const RAW_OBJECT_SYMBOL: &str = "_am_objectId";
+const META_SYMBOL: &str = "_am_meta";
+
+pub(crate) struct JS(pub(crate) JsValue);
+pub(crate) struct AR(pub(crate) Array);
+
+impl From<AR> for JsValue {
+    fn from(ar: AR) -> Self {
+        ar.0.into()
+    }
+}
+
+impl From<JS> for JsValue {
+    fn from(js: JS) -> Self {
+        js.0
+    }
+}
+
+impl From<am::sync::State> for JS {
+    fn from(state: am::sync::State) -> Self {
+        let shared_heads: JS = state.shared_heads.into();
+        let last_sent_heads: JS = state.last_sent_heads.into();
+        let their_heads: JS = state.their_heads.into();
+        let their_need: JS = state.their_need.into();
+        let sent_hashes: JS = state.sent_hashes.into();
+        let their_have = if let Some(have) = &state.their_have {
+            JsValue::from(AR::from(have.as_slice()).0)
+        } else {
+            JsValue::null()
+        };
+        let result: JsValue = Object::new().into();
+        // we can unwrap here b/c we made the object and know its not frozen
+        Reflect::set(&result, &"sharedHeads".into(), &shared_heads.0).unwrap();
+        Reflect::set(&result, &"lastSentHeads".into(), &last_sent_heads.0).unwrap();
+        Reflect::set(&result, &"theirHeads".into(), &their_heads.0).unwrap();
+        Reflect::set(&result, &"theirNeed".into(), &their_need.0).unwrap();
+        Reflect::set(&result, &"theirHave".into(), &their_have).unwrap();
+        Reflect::set(&result, &"sentHashes".into(), &sent_hashes.0).unwrap();
+        Reflect::set(&result, &"inFlight".into(), &state.in_flight.into()).unwrap();
+        JS(result)
+    }
+}
+
+impl From<Vec<ChangeHash>> for JS {
+    fn from(heads: Vec<ChangeHash>) -> Self {
+        JS(heads
+            .iter()
+            .map(|h| JsValue::from_str(&h.to_string()))
+            .collect::<Array>()
+            .into())
+    }
+}
+
+impl From<HashSet<ChangeHash>> for JS {
+    fn from(heads: HashSet<ChangeHash>) -> Self {
+        let result: JsValue = Object::new().into();
+        for key in &heads {
+            Reflect::set(&result, &key.to_string().into(), &true.into()).unwrap();
+        }
+        JS(result)
+    }
+}
+
+impl From<BTreeSet<ChangeHash>> for JS {
+    fn from(heads: BTreeSet<ChangeHash>) -> Self {
+        let result: JsValue = Object::new().into();
+        for key in &heads {
+            Reflect::set(&result, &key.to_string().into(), &true.into()).unwrap();
+        }
+        JS(result)
+    }
+}
+
+impl From<Option<Vec<ChangeHash>>> for JS {
+    fn from(heads: Option<Vec<ChangeHash>>) -> Self {
+        if let Some(v) = heads {
+            let v: Array = v
+                .iter()
+                .map(|h| JsValue::from_str(&h.to_string()))
+                .collect();
+            JS(v.into())
+        } else {
+            JS(JsValue::null())
+        }
+    }
+}
+
+impl TryFrom<JS> for HashSet<ChangeHash> {
+    type Error = error::BadChangeHashSet;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let result = HashSet::new();
+        fold_hash_set(result, &value.0, |mut set, hash| {
+            set.insert(hash);
+            set
+        })
+    }
+}
+
+impl TryFrom<JS> for BTreeSet<ChangeHash> {
+    type Error = error::BadChangeHashSet;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let result = BTreeSet::new();
+        fold_hash_set(result, &value.0, |mut set, hash| {
+            set.insert(hash);
+            set
+        })
+    }
+}
+
+fn fold_hash_set<F, O>(init: O, val: &JsValue, f: F) -> Result<O, error::BadChangeHashSet>
+where
+    F: Fn(O, ChangeHash) -> O,
+{
+    let mut result = init;
+    for key in Reflect::own_keys(val)
+        .map_err(|_| error::BadChangeHashSet::ListProp)?
+        .iter()
+    {
+        if let Some(true) = js_get(val, &key)?.0.as_bool() {
+            let hash = ChangeHash::try_from(JS(key.clone()))
+                .map_err(|e| error::BadChangeHashSet::BadHash(key, e))?;
+            result = f(result, hash);
+        }
+    }
+    Ok(result)
+}
+
+impl TryFrom<JS> for ChangeHash {
+    type Error = error::BadChangeHash;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        if let Some(s) = value.0.as_string() {
+            Ok(s.parse()?)
+        } else {
+            Err(error::BadChangeHash::NotString)
+        }
+    }
+}
+
+impl TryFrom<JS> for Option<Vec<ChangeHash>> {
+    type Error = error::BadChangeHashes;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        if value.0.is_null() {
+            Ok(None)
+        } else {
+            Vec::<ChangeHash>::try_from(value).map(Some)
+        }
+    }
+}
+
+impl TryFrom<JS> for Vec<ChangeHash> {
+    type Error = error::BadChangeHashes;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let value = value
+            .0
+            .dyn_into::<Array>()
+            .map_err(|_| error::BadChangeHashes::NotArray)?;
+        let value = value
+            .iter()
+            .enumerate()
+            .map(|(i, v)| {
+                ChangeHash::try_from(JS(v)).map_err(|e| error::BadChangeHashes::BadElem(i, e))
+            })
+            .collect::<Result<Vec<_>, _>>()?;
+        Ok(value)
+    }
+}
+
+impl TryFrom<JS> for Vec<Change> {
+    type Error = error::BadJSChanges;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let value = value
+            .0
+            .dyn_into::<Array>()
+            .map_err(|_| error::BadJSChanges::ChangesNotArray)?;
+        let changes = value
+            .iter()
+            .enumerate()
+            .map(|(i, j)| {
+                j.dyn_into().map_err::<error::BadJSChanges, _>(|_| {
+                    error::BadJSChanges::ElemNotUint8Array(i)
+                })
+            })
+            .collect::<Result<Vec<Uint8Array>, _>>()?;
+        let changes = changes
+            .iter()
+            .enumerate()
+            .map(|(i, arr)| {
+                automerge::Change::try_from(arr.to_vec().as_slice())
+                    .map_err(|e| error::BadJSChanges::BadChange(i, e))
+            })
+            .collect::<Result<Vec<_>, _>>()?;
+        Ok(changes)
+    }
+}
+
+impl TryFrom<JS> for am::sync::State {
+    type Error = error::BadSyncState;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let value = value.0;
+        let shared_heads = js_get(&value, "sharedHeads")?
+            .try_into()
+            .map_err(error::BadSyncState::BadSharedHeads)?;
+        let last_sent_heads = js_get(&value, "lastSentHeads")?
+            .try_into()
+            .map_err(error::BadSyncState::BadLastSentHeads)?;
+        let their_heads = js_get(&value, "theirHeads")?
+            .try_into()
+            .map_err(error::BadSyncState::BadTheirHeads)?;
+        let their_need = js_get(&value, "theirNeed")?
+            .try_into()
+            .map_err(error::BadSyncState::BadTheirNeed)?;
+        let their_have = js_get(&value, "theirHave")?
+            .try_into()
+            .map_err(error::BadSyncState::BadTheirHave)?;
+        let sent_hashes = js_get(&value, "sentHashes")?
+            .try_into()
+            .map_err(error::BadSyncState::BadSentHashes)?;
+        let in_flight = js_get(&value, "inFlight")?
+            .0
+            .as_bool()
+            .ok_or(error::BadSyncState::InFlightNotBoolean)?;
+        Ok(am::sync::State {
+            shared_heads,
+            last_sent_heads,
+            their_heads,
+            their_need,
+            their_have,
+            sent_hashes,
+            in_flight,
+        })
+    }
+}
+
+impl TryFrom<JS> for am::sync::Have {
+    type Error = error::BadHave;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let last_sync = js_get(&value.0, "lastSync")?
+            .try_into()
+            .map_err(error::BadHave::BadLastSync)?;
+        let bloom = js_get(&value.0, "bloom")?
+            .try_into()
+            .map_err(error::BadHave::BadBloom)?;
+        Ok(am::sync::Have { last_sync, bloom })
+    }
+}
+
+impl TryFrom<JS> for Option<Vec<am::sync::Have>> {
+    type Error = error::BadHaves;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        if value.0.is_null() {
+            Ok(None)
+        } else {
+            Ok(Some(value.try_into()?))
+        }
+    }
+}
+
+impl TryFrom<JS> for Vec<am::sync::Have> {
+    type Error = error::BadHaves;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let value = value
+            .0
+            .dyn_into::<Array>()
+            .map_err(|_| error::BadHaves::NotArray)?;
+        let have = value
+            .iter()
+            .enumerate()
+            .map(|(i, s)| JS(s).try_into().map_err(|e| error::BadHaves::BadElem(i, e)))
+            .collect::<Result<Vec<_>, _>>()?;
+        Ok(have)
+    }
+}
+
+impl TryFrom<JS> for am::sync::BloomFilter {
+    type Error = error::BadBloom;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let value: Uint8Array = value
+            .0
+            .dyn_into()
+            .map_err(|_| error::BadBloom::NotU8Array)?;
+        let value = value.to_vec();
+        let value = value.as_slice().try_into()?;
+        Ok(value)
+    }
+}
+
+impl TryFrom<JS> for am::sync::Message {
+    type Error = error::BadSyncMessage;
+
+    fn try_from(value: JS) -> Result<Self, Self::Error> {
+        let heads = js_get(&value.0, "heads")?
+            .try_into()
+            .map_err(error::BadSyncMessage::BadHeads)?;
+        let need = js_get(&value.0, "need")?
+            .try_into()
+            .map_err(error::BadSyncMessage::BadNeed)?;
+        let changes = js_get(&value.0, "changes")?.try_into()?;
+        let have = js_get(&value.0, "have")?.try_into()?;
+        Ok(am::sync::Message {
+            heads,
+            need,
+            have,
+            changes,
+        })
+    }
+}
+
+impl From<&[ChangeHash]> for AR {
+    fn from(value: &[ChangeHash]) -> Self {
+        AR(value
+            .iter()
+            .map(|h| JsValue::from_str(&hex::encode(h.0)))
+            .collect())
+    }
+}
+
+impl From<&[Change]> for AR {
+    fn from(value: &[Change]) -> Self {
+        let changes: Array = value
+            .iter()
+            .map(|c| Uint8Array::from(c.raw_bytes()))
+            .collect();
+        AR(changes)
+    }
+}
+
+impl From<&[am::sync::Have]> for AR {
+    fn from(value: &[am::sync::Have]) -> Self {
+        AR(value
+            .iter()
+            .map(|have| {
+                let last_sync: Array = have
+                    .last_sync
+                    .iter()
+                    .map(|h| JsValue::from_str(&hex::encode(h.0)))
+                    .collect();
+                // FIXME - the clone and the unwrap here shouldnt be needed - look at into_bytes()
+                let bloom = Uint8Array::from(have.bloom.to_bytes().as_slice());
+                let obj: JsValue = Object::new().into();
+                // we can unwrap here b/c we created the object and know its not frozen
+                Reflect::set(&obj, &"lastSync".into(), &last_sync.into()).unwrap();
+                Reflect::set(&obj, &"bloom".into(), &bloom.into()).unwrap();
+                obj
+            })
+            .collect())
+    }
+}
+
+pub(crate) fn to_js_err<T: Display>(err: T) -> JsValue {
+    js_sys::Error::new(&std::format!("{}", err)).into()
+}
+
+pub(crate) fn js_get<J: Into<JsValue>, S: std::fmt::Debug + Into<JsValue>>(
+    obj: J,
+    prop: S,
+) -> Result<JS, error::GetProp> {
+    let prop = prop.into();
+    Ok(JS(Reflect::get(&obj.into(), &prop).map_err(|e| {
+        error::GetProp {
+            property: format!("{:?}", prop),
+            error: e,
+        }
+    })?))
+}
+
+pub(crate) fn js_set<V: Into<JsValue>, S: std::fmt::Debug + Into<JsValue>>(
+    obj: &JsValue,
+    prop: S,
+    val: V,
+) -> Result<bool, error::SetProp> {
+    let prop = prop.into();
+    Reflect::set(obj, &prop, &val.into()).map_err(|e| error::SetProp {
+        property: prop,
+        error: e,
+    })
+}
+
+pub(crate) fn js_get_symbol<J: Into<JsValue>>(obj: J, prop: &Symbol) -> Result<JS, error::GetProp> {
+    Ok(JS(Reflect::get(&obj.into(), &prop.into()).map_err(
+        |e| error::GetProp {
+            property: format!("{}", prop.to_string()),
+            error: e,
+        },
+    )?))
+}
+
+pub(crate) fn to_prop(p: JsValue) -> Result<Prop, error::InvalidProp> {
+    if let Some(s) = p.as_string() {
+        Ok(Prop::Map(s))
+    } else if let Some(n) = p.as_f64() {
+        Ok(Prop::Seq(n as usize))
+    } else {
+        Err(error::InvalidProp)
+    }
+}
+
+pub(crate) enum JsObjType {
+    Text(String),
+    Map(Vec<(Prop, JsValue)>),
+    List(Vec<(Prop, JsValue)>),
+}
+
+impl JsObjType {
+    pub(crate) fn objtype(&self) -> ObjType {
+        match self {
+            Self::Text(_) => ObjType::Text,
+            Self::Map(_) => ObjType::Map,
+            Self::List(_) => ObjType::List,
+        }
+    }
+
+    pub(crate) fn text(&self) -> Option<&str> {
+        match self {
+            Self::Text(s) => Some(s.as_ref()),
+            Self::Map(_) => None,
+            Self::List(_) => None,
+        }
+    }
+
+    pub(crate) fn subvals(&self) -> impl Iterator<Item = (Cow<'_, Prop>, JsValue)> + '_ + Clone {
+        match self {
+            Self::Text(s) => SubValIter::Str(s.chars().enumerate()),
+            Self::Map(sub) => SubValIter::Slice(sub.as_slice().iter()),
+            Self::List(sub) => SubValIter::Slice(sub.as_slice().iter()),
+        }
+    }
+}
+
+#[derive(Debug, Clone)]
+pub(crate) enum SubValIter<'a> {
+    Slice(std::slice::Iter<'a, (Prop, JsValue)>),
+    Str(std::iter::Enumerate<std::str::Chars<'a>>),
+}
+
+impl<'a> Iterator for SubValIter<'a> {
+    type Item = (std::borrow::Cow<'a, Prop>, JsValue);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        match self {
+            Self::Slice(i) => i
+                .next()
+                .map(|(p, v)| (std::borrow::Cow::Borrowed(p), v.clone())),
+            Self::Str(i) => i
+                .next()
+                .map(|(n, c)| (std::borrow::Cow::Owned(Prop::Seq(n)), c.to_string().into())),
+        }
+    }
+}
+
+pub(crate) fn import_obj(
+    value: &JsValue,
+    datatype: &Option<String>,
+) -> Result<JsObjType, InsertObject> {
+    match datatype.as_deref() {
+        Some("map") => {
+            let map = value
+                .clone()
+                .dyn_into::<js_sys::Object>()
+                .map_err(|_| InsertObject::ValueNotObject)?;
+            let map = js_sys::Object::keys(&map)
+                .iter()
+                .zip(js_sys::Object::values(&map).iter())
+                .map(|(key, val)| (key.as_string().unwrap().into(), val))
+                .collect();
+            Ok(JsObjType::Map(map))
+        }
+        Some("list") => {
+            let list = value
+                .clone()
+                .dyn_into::<js_sys::Array>()
+                .map_err(|_| InsertObject::ValueNotObject)?;
+            let list = list
+                .iter()
+                .enumerate()
+                .map(|(i, e)| (i.into(), e))
+                .collect();
+            Ok(JsObjType::List(list))
+        }
+        Some("text") => {
+            let text = value.as_string().ok_or(InsertObject::ValueNotObject)?;
+            Ok(JsObjType::Text(text))
+        }
+        Some(_) => Err(InsertObject::ValueNotObject),
+        None => {
+            if let Ok(list) = value.clone().dyn_into::<js_sys::Array>() {
+                let list = list
+                    .iter()
+                    .enumerate()
+                    .map(|(i, e)| (i.into(), e))
+                    .collect();
+                Ok(JsObjType::List(list))
+            } else if let Ok(map) = value.clone().dyn_into::<js_sys::Object>() {
+                let map = js_sys::Object::keys(&map)
+                    .iter()
+                    .zip(js_sys::Object::values(&map).iter())
+                    .map(|(key, val)| (key.as_string().unwrap().into(), val))
+                    .collect();
+                Ok(JsObjType::Map(map))
+            } else if let Some(s) = value.as_string() {
+                Ok(JsObjType::Text(s))
+            } else {
+                Err(InsertObject::ValueNotObject)
+            }
+        }
+    }
+}
+
+pub(crate) fn get_heads(
+    heads: Option<Array>,
+) -> Result<Option<Vec<ChangeHash>>, error::BadChangeHashes> {
+    heads
+        .map(|h| {
+            h.iter()
+                .enumerate()
+                .map(|(i, v)| {
+                    ChangeHash::try_from(JS(v)).map_err(|e| error::BadChangeHashes::BadElem(i, e))
+                })
+                .collect()
+        })
+        .transpose()
+}
+
+impl Automerge {
+    pub(crate) fn export_object(
+        &self,
+        obj: &ObjId,
+        datatype: Datatype,
+        heads: Option<&Vec<ChangeHash>>,
+        meta: &JsValue,
+    ) -> Result<JsValue, error::Export> {
+        let result = match datatype {
+            Datatype::Text => match self.text_rep {
+                TextRepresentation::String => {
+                    if let Some(heads) = heads {
+                        self.doc.text_at(obj, heads)?.into()
+                    } else {
+                        self.doc.text(obj)?.into()
+                    }
+                }
+                TextRepresentation::Array => self
+                    .wrap_object(self.export_list(obj, heads, meta)?, datatype, obj, meta)?
+                    .into(),
+            },
+            Datatype::List => self
+                .wrap_object(self.export_list(obj, heads, meta)?, datatype, obj, meta)?
+                .into(),
+            _ => self
+                .wrap_object(self.export_map(obj, heads, meta)?, datatype, obj, meta)?
+                .into(),
+        };
+        Ok(result)
+    }
+
+    pub(crate) fn export_map(
+        &self,
+        obj: &ObjId,
+        heads: Option<&Vec<ChangeHash>>,
+        meta: &JsValue,
+    ) -> Result<Object, error::Export> {
+        let keys = self.doc.keys(obj);
+        let map = Object::new();
+        for k in keys {
+            let val_and_id = if let Some(heads) = heads {
+                self.doc.get_at(obj, &k, heads)
+            } else {
+                self.doc.get(obj, &k)
+            };
+            if let Ok(Some((val, id))) = val_and_id {
+                let subval = match val {
+                    Value::Object(o) => self.export_object(&id, o.into(), heads, meta)?,
+                    Value::Scalar(_) => self.export_value(alloc(&val, self.text_rep))?,
+                };
+                js_set(&map, &k, &subval)?;
+            };
+        }
+
+        Ok(map)
+    }
+
+    pub(crate) fn export_list(
+        &self,
+        obj: &ObjId,
+        heads: Option<&Vec<ChangeHash>>,
+        meta: &JsValue,
+    ) -> Result<Object, error::Export> {
+        let len = self.doc.length(obj);
+        let array = Array::new();
+        for i in 0..len {
+            let val_and_id = if let Some(heads) = heads {
+                self.doc.get_at(obj, i, heads)
+            } else {
+                self.doc.get(obj, i)
+            };
+            if let Ok(Some((val, id))) = val_and_id {
+                let subval = match val {
+                    Value::Object(o) => self.export_object(&id, o.into(), heads, meta)?,
+                    Value::Scalar(_) => self.export_value(alloc(&val, self.text_rep))?,
+                };
+                array.push(&subval);
+            };
+        }
+
+        Ok(array.into())
+    }
+
+    pub(crate) fn export_value(
+        &self,
+        (datatype, raw_value): (Datatype, JsValue),
+    ) -> Result<JsValue, error::Export> {
+        if let Some(function) = self.external_types.get(&datatype) {
+            let wrapped_value = function
+                .call1(&JsValue::undefined(), &raw_value)
+                .map_err(|e| error::Export::CallDataHandler(datatype.to_string(), e))?;
+            if let Ok(o) = wrapped_value.dyn_into::<Object>() {
+                let key = Symbol::for_(RAW_DATA_SYMBOL);
+                set_hidden_value(&o, &key, &raw_value)?;
+                let key = Symbol::for_(DATATYPE_SYMBOL);
+                set_hidden_value(&o, &key, datatype)?;
+                Ok(o.into())
+            } else {
+                Err(error::Export::InvalidDataHandler(datatype.to_string()))
+            }
+        } else {
+            Ok(raw_value)
+        }
+    }
+
+    pub(crate) fn unwrap_object(
+        &self,
+        ext_val: &Object,
+    ) -> Result<(Object, Datatype, ObjId), error::Export> {
+        let inner = js_get_symbol(ext_val, &Symbol::for_(RAW_DATA_SYMBOL))?.0;
+
+        let datatype = js_get_symbol(ext_val, &Symbol::for_(DATATYPE_SYMBOL))?
+            .0
+            .try_into();
+
+        let id_val = js_get_symbol(ext_val, &Symbol::for_(RAW_OBJECT_SYMBOL))?.0;
+        let id = if id_val.is_undefined() {
+            am::ROOT
+        } else {
+            self.doc.import(&id_val.as_string().unwrap_or_default())?.0
+        };
+
+        let inner = inner
+            .dyn_into::<Object>()
+            .unwrap_or_else(|_| ext_val.clone());
+        let datatype = datatype.unwrap_or_else(|_| {
+            if Array::is_array(&inner) {
+                Datatype::List
+            } else {
+                Datatype::Map
+            }
+        });
+        Ok((inner, datatype, id))
+    }
+
+    pub(crate) fn unwrap_scalar(&self, ext_val: JsValue) -> Result<JsValue, error::Export> {
+        let inner = js_get_symbol(&ext_val, &Symbol::for_(RAW_DATA_SYMBOL))?.0;
+        if !inner.is_undefined() {
+            Ok(inner)
+        } else {
+            Ok(ext_val)
+        }
+    }
+
+    fn maybe_wrap_object(
+        &self,
+        (datatype, raw_value): (Datatype, JsValue),
+        id: &ObjId,
+        meta: &JsValue,
+    ) -> Result<JsValue, error::Export> {
+        if let Ok(obj) = raw_value.clone().dyn_into::<Object>() {
+            let result = self.wrap_object(obj, datatype, id, meta)?;
+            Ok(result.into())
+        } else {
+            self.export_value((datatype, raw_value))
+        }
+    }
+
+    pub(crate) fn wrap_object(
+        &self,
+        value: Object,
+        datatype: Datatype,
+        id: &ObjId,
+        meta: &JsValue,
+    ) -> Result<Object, error::Export> {
+        let value = if let Some(function) = self.external_types.get(&datatype) {
+            let wrapped_value = function
+                .call1(&JsValue::undefined(), &value)
+                .map_err(|e| error::Export::CallDataHandler(datatype.to_string(), e))?;
+            let wrapped_object = wrapped_value
+                .dyn_into::<Object>()
+                .map_err(|_| error::Export::InvalidDataHandler(datatype.to_string()))?;
+            set_hidden_value(&wrapped_object, &Symbol::for_(RAW_DATA_SYMBOL), value)?;
+            wrapped_object
+        } else {
+            value
+        };
+        if matches!(datatype, Datatype::Map | Datatype::List)
+            || (datatype == Datatype::Text && self.text_rep == TextRepresentation::Array)
+        {
+            set_hidden_value(
+                &value,
+                &Symbol::for_(RAW_OBJECT_SYMBOL),
+                &JsValue::from(&id.to_string()),
+            )?;
+        }
+        set_hidden_value(&value, &Symbol::for_(DATATYPE_SYMBOL), datatype)?;
+        set_hidden_value(&value, &Symbol::for_(META_SYMBOL), meta)?;
+        if self.freeze {
+            Object::freeze(&value);
+        }
+        Ok(value)
+    }
+
+    pub(crate) fn apply_patch_to_array(
+        &self,
+        array: &Object,
+        patch: &Patch,
+        meta: &JsValue,
+        exposed: &mut HashSet<ObjId>,
+    ) -> Result<Object, error::ApplyPatch> {
+        let result = Array::from(array); // shallow copy
+        match patch {
+            Patch::PutSeq {
+                index,
+                value,
+                expose,
+                ..
+            } => {
+                if *expose && value.0.is_object() {
+                    exposed.insert(value.1.clone());
+                    js_set(&result, *index as f64, &JsValue::null())?;
+                } else {
+                    let sub_val =
+                        self.maybe_wrap_object(alloc(&value.0, self.text_rep), &value.1, meta)?;
+                    js_set(&result, *index as f64, &sub_val)?;
+                }
+                Ok(result.into())
+            }
+            Patch::DeleteSeq { index, length, .. } => {
+                Ok(self.sub_splice(result, *index, *length, vec![], meta)?)
+            }
+            Patch::Insert { index, values, .. } => {
+                Ok(self.sub_splice(result, *index, 0, values, meta)?)
+            }
+            Patch::Increment { prop, value, .. } => {
+                if let Prop::Seq(index) = prop {
+                    let index = *index as f64;
+                    let old_val = js_get(&result, index)?.0;
+                    let old_val = self.unwrap_scalar(old_val)?;
+                    if let Some(old) = old_val.as_f64() {
+                        let new_value: Value<'_> =
+                            am::ScalarValue::counter(old as i64 + *value).into();
+                        js_set(
+                            &result,
+                            index,
+                            &self.export_value(alloc(&new_value, self.text_rep))?,
+                        )?;
+                        Ok(result.into())
+                    } else {
+                        Err(error::ApplyPatch::IncrementNonNumeric)
+                    }
+                } else {
+                    Err(error::ApplyPatch::IncrementKeyInSeq)
+                }
+            }
+            Patch::DeleteMap { .. } => Err(error::ApplyPatch::DeleteKeyFromSeq),
+            Patch::PutMap { .. } => Err(error::ApplyPatch::PutKeyInSeq),
+            Patch::SpliceText { index, value, .. } => {
+                match self.text_rep {
+                    TextRepresentation::String => Err(error::ApplyPatch::SpliceTextInSeq),
+                    TextRepresentation::Array => {
+                        let bytes: Vec<u16> = value.iter().cloned().collect();
+                        let val = String::from_utf16_lossy(bytes.as_slice());
+                        let elems = val
+                            .chars()
+                            .map(|c| {
+                                (
+                                    Value::Scalar(std::borrow::Cow::Owned(am::ScalarValue::Str(
+                                        c.to_string().into(),
+                                    ))),
+                                    ObjId::Root, // Using ROOT is okay because this ID is never used as
+                                                 // we're producing ScalarValue::Str
+                                )
+                            })
+                            .collect::<Vec<_>>();
+                        Ok(self.sub_splice(result, *index, 0, &elems, meta)?)
+                    }
+                }
+            }
+        }
+    }
+
+    pub(crate) fn apply_patch_to_map(
+        &self,
+        map: &Object,
+        patch: &Patch,
+        meta: &JsValue,
+        exposed: &mut HashSet<ObjId>,
+    ) -> Result<Object, error::ApplyPatch> {
+        let result = Object::assign(&Object::new(), map); // shallow copy
+        match patch {
+            Patch::PutMap {
+                key, value, expose, ..
+            } => {
+                if *expose && value.0.is_object() {
+                    exposed.insert(value.1.clone());
+                    js_set(&result, key, &JsValue::null())?;
+                } else {
+                    let sub_val =
+                        self.maybe_wrap_object(alloc(&value.0, self.text_rep), &value.1, meta)?;
+                    js_set(&result, key, &sub_val)?;
+                }
+                Ok(result)
+            }
+            Patch::DeleteMap { key, .. } => {
+                Reflect::delete_property(&result, &key.into()).map_err(|e| {
+                    error::Export::Delete {
+                        prop: key.to_string(),
+                        err: e,
+                    }
+                })?;
+                Ok(result)
+            }
+            Patch::Increment { prop, value, .. } => {
+                if let Prop::Map(key) = prop {
+                    let old_val = js_get(&result, key)?.0;
+                    let old_val = self.unwrap_scalar(old_val)?;
+                    if let Some(old) = old_val.as_f64() {
+                        let new_value: Value<'_> =
+                            am::ScalarValue::counter(old as i64 + *value).into();
+                        js_set(
+                            &result,
+                            key,
+                            &self.export_value(alloc(&new_value, self.text_rep))?,
+                        )?;
+                        Ok(result)
+                    } else {
+                        Err(error::ApplyPatch::IncrementNonNumeric)
+                    }
+                } else {
+                    Err(error::ApplyPatch::IncrementIndexInMap)
+                }
+            }
+            Patch::Insert { .. } => Err(error::ApplyPatch::InsertInMap),
+            Patch::DeleteSeq { .. } => Err(error::ApplyPatch::SpliceInMap),
+            //Patch::SpliceText { .. } => Err(to_js_err("cannot Splice into map")),
+            Patch::SpliceText { .. } => Err(error::ApplyPatch::SpliceTextInMap),
+            Patch::PutSeq { .. } => Err(error::ApplyPatch::PutIdxInMap),
+        }
+    }
+
+    pub(crate) fn apply_patch(
+        &self,
+        obj: Object,
+        patch: &Patch,
+        depth: usize,
+        meta: &JsValue,
+        exposed: &mut HashSet<ObjId>,
+    ) -> Result<Object, error::ApplyPatch> {
+        let (inner, datatype, id) = self.unwrap_object(&obj)?;
+        let prop = patch.path().get(depth).map(|p| prop_to_js(&p.1));
+        let result = if let Some(prop) = prop {
+            let subval = js_get(&inner, &prop)?.0;
+            if subval.is_string() && patch.path().len() - 1 == depth {
+                if let Ok(s) = subval.dyn_into::<JsString>() {
+                    let new_value = self.apply_patch_to_text(&s, patch)?;
+                    let result = shallow_copy(&inner);
+                    js_set(&result, &prop, &new_value)?;
+                    Ok(result)
+                } else {
+                    // bad patch - short circuit
+                    Ok(obj)
+                }
+            } else if let Ok(sub_obj) = js_get(&inner, &prop)?.0.dyn_into::<Object>() {
+                let new_value = self.apply_patch(sub_obj, patch, depth + 1, meta, exposed)?;
+                let result = shallow_copy(&inner);
+                js_set(&result, &prop, &new_value)?;
+                Ok(result)
+            } else {
+                // if a patch is trying to access a deleted object make no change
+                // short circuit the wrap process
+                return Ok(obj);
+            }
+        } else if Array::is_array(&inner) {
+            if &id == patch.obj() {
+                self.apply_patch_to_array(&inner, patch, meta, exposed)
+            } else {
+                Ok(Array::from(&inner).into())
+            }
+        } else if &id == patch.obj() {
+            self.apply_patch_to_map(&inner, patch, meta, exposed)
+        } else {
+            Ok(Object::assign(&Object::new(), &inner))
+        }?;
+
+        self.wrap_object(result, datatype, &id, meta)
+            .map_err(|e| e.into())
+    }
+
+    fn apply_patch_to_text(
+        &self,
+        string: &JsString,
+        patch: &Patch,
+    ) -> Result<JsValue, error::ApplyPatch> {
+        match patch {
+            Patch::DeleteSeq { index, length, .. } => {
+                let index = *index as u32;
+                let before = string.slice(0, index);
+                let after = string.slice(index + *length as u32, string.length());
+                let result = before.concat(&after);
+                Ok(result.into())
+            }
+            Patch::SpliceText { index, value, .. } => {
+                let index = *index as u32;
+                let length = string.length();
+                let before = string.slice(0, index);
+                let after = string.slice(index, length);
+                let bytes: Vec<u16> = value.iter().cloned().collect();
+                let result = before
+                    .concat(&String::from_utf16_lossy(bytes.as_slice()).into())
+                    .concat(&after);
+                Ok(result.into())
+            }
+            _ => Ok(string.into()),
+        }
+    }
+
+    fn sub_splice<'a, I: IntoIterator<Item = &'a (Value<'a>, ObjId)>>(
+        &self,
+        o: Array,
+        index: usize,
+        num_del: usize,
+        values: I,
+        meta: &JsValue,
+    ) -> Result<Object, error::Export> {
+        let args: Array = values
+            .into_iter()
+            .map(|v| self.maybe_wrap_object(alloc(&v.0, self.text_rep), &v.1, meta))
+            .collect::<Result<_, _>>()?;
+        args.unshift(&(num_del as u32).into());
+        args.unshift(&(index as u32).into());
+        let method = js_get(&o, "splice")?
+            .0
+            .dyn_into::<Function>()
+            .map_err(error::Export::GetSplice)?;
+        Reflect::apply(&method, &o, &args).map_err(error::Export::CallSplice)?;
+        Ok(o.into())
+    }
+
+    pub(crate) fn import(&self, id: JsValue) -> Result<(ObjId, am::ObjType), error::ImportObj> {
+        if let Some(s) = id.as_string() {
+            // valid formats are
+            // 123@aabbcc
+            // 123@aabccc/prop1/prop2/prop3
+            // /prop1/prop2/prop3
+            let mut components = s.split('/');
+            let obj = components.next();
+            let (id, obj_type) = if obj == Some("") {
+                (ROOT, am::ObjType::Map)
+            } else {
+                self.doc
+                    .import(obj.unwrap_or_default())
+                    .map_err(error::ImportObj::BadImport)?
+            };
+            self.import_path(id, obj_type, components)
+                .map_err(|e| error::ImportObj::InvalidPath(s.to_string(), e))
+        } else {
+            Err(error::ImportObj::NotString)
+        }
+    }
+
+    fn import_path<'a, I: Iterator<Item = &'a str>>(
+        &self,
+        mut obj: ObjId,
+        mut obj_type: am::ObjType,
+        components: I,
+    ) -> Result<(ObjId, am::ObjType), error::ImportPath> {
+        for (i, prop) in components.enumerate() {
+            if prop.is_empty() {
+                break;
+            }
+            let is_map = matches!(obj_type, am::ObjType::Map | am::ObjType::Table);
+            let val = if is_map {
+                self.doc.get(obj, prop)?
+            } else {
+                let idx = prop
+                    .parse()
+                    .map_err(|_| error::ImportPath::IndexNotInteger(i, prop.to_string()))?;
+                self.doc.get(obj, am::Prop::Seq(idx))?
+            };
+            match val {
+                Some((am::Value::Object(am::ObjType::Map), id)) => {
+                    obj_type = am::ObjType::Map;
+                    obj = id;
+                }
+                Some((am::Value::Object(am::ObjType::Table), id)) => {
+                    obj_type = am::ObjType::Table;
+                    obj = id;
+                }
+                Some((am::Value::Object(am::ObjType::List), id)) => {
+                    obj_type = am::ObjType::List;
+                    obj = id;
+                }
+                Some((am::Value::Object(am::ObjType::Text), id)) => {
+                    obj_type = am::ObjType::Text;
+                    obj = id;
+                }
+                None => return Err(error::ImportPath::NonExistentObject(i, prop.to_string())),
+                _ => return Err(error::ImportPath::NotAnObject),
+            };
+        }
+        Ok((obj, obj_type))
+    }
+
+    pub(crate) fn import_prop(&self, prop: JsValue) -> Result<Prop, error::InvalidProp> {
+        if let Some(s) = prop.as_string() {
+            Ok(s.into())
+        } else if let Some(n) = prop.as_f64() {
+            Ok((n as usize).into())
+        } else {
+            Err(error::InvalidProp)
+        }
+    }
+
+    pub(crate) fn import_scalar(
+        &self,
+        value: &JsValue,
+        datatype: &Option<String>,
+    ) -> Option<am::ScalarValue> {
+        match datatype.as_deref() {
+            Some("boolean") => value.as_bool().map(am::ScalarValue::Boolean),
+            Some("int") => value.as_f64().map(|v| am::ScalarValue::Int(v as i64)),
+            Some("uint") => value.as_f64().map(|v| am::ScalarValue::Uint(v as u64)),
+            Some("str") => value.as_string().map(|v| am::ScalarValue::Str(v.into())),
+            Some("f64") => value.as_f64().map(am::ScalarValue::F64),
+            Some("bytes") => Some(am::ScalarValue::Bytes(
+                value.clone().dyn_into::<Uint8Array>().unwrap().to_vec(),
+            )),
+            Some("counter") => value.as_f64().map(|v| am::ScalarValue::counter(v as i64)),
+            Some("timestamp") => {
+                if let Some(v) = value.as_f64() {
+                    Some(am::ScalarValue::Timestamp(v as i64))
+                } else if let Ok(d) = value.clone().dyn_into::<js_sys::Date>() {
+                    Some(am::ScalarValue::Timestamp(d.get_time() as i64))
+                } else {
+                    None
+                }
+            }
+            Some("null") => Some(am::ScalarValue::Null),
+            Some(_) => None,
+            None => {
+                if value.is_null() {
+                    Some(am::ScalarValue::Null)
+                } else if let Some(b) = value.as_bool() {
+                    Some(am::ScalarValue::Boolean(b))
+                } else if let Some(s) = value.as_string() {
+                    Some(am::ScalarValue::Str(s.into()))
+                } else if let Some(n) = value.as_f64() {
+                    if (n.round() - n).abs() < f64::EPSILON {
+                        Some(am::ScalarValue::Int(n as i64))
+                    } else {
+                        Some(am::ScalarValue::F64(n))
+                    }
+                } else if let Ok(d) = value.clone().dyn_into::<js_sys::Date>() {
+                    Some(am::ScalarValue::Timestamp(d.get_time() as i64))
+                } else if let Ok(o) = &value.clone().dyn_into::<Uint8Array>() {
+                    Some(am::ScalarValue::Bytes(o.to_vec()))
+                } else {
+                    None
+                }
+            }
+        }
+    }
+
+    pub(crate) fn import_value(
+        &self,
+        value: &JsValue,
+        datatype: Option<String>,
+    ) -> Result<(Value<'static>, Vec<(Prop, JsValue)>), error::InvalidValue> {
+        match self.import_scalar(value, &datatype) {
+            Some(val) => Ok((val.into(), vec![])),
+            None => {
+                if let Ok(js_obj) = import_obj(value, &datatype) {
+                    Ok((
+                        js_obj.objtype().into(),
+                        js_obj
+                            .subvals()
+                            .map(|(p, v)| (p.into_owned(), v))
+                            .collect::<Vec<_>>(),
+                    ))
+                } else {
+                    web_sys::console::log_2(&"Invalid value".into(), value);
+                    Err(error::InvalidValue)
+                }
+            }
+        }
+    }
+
+    pub(crate) fn finalize_exposed(
+        &self,
+        object: &JsValue,
+        exposed: HashSet<ObjId>,
+        meta: &JsValue,
+    ) -> Result<(), error::ApplyPatch> {
+        for obj in exposed {
+            let mut pointer = object.clone();
+            if let Ok(obj_type) = self.doc.object_type(&obj) {
+                // only valid obj's should make it to this point ...
+                let path: Vec<_> = self
+                    .doc
+                    .path_to_object(&obj)?
+                    .iter()
+                    .map(|p| prop_to_js(&p.1))
+                    .collect();
+                let value = self.export_object(&obj, obj_type.into(), None, meta)?;
+                for (i, prop) in path.iter().enumerate() {
+                    if i + 1 < path.len() {
+                        pointer = js_get(&pointer, prop)?.0;
+                    } else {
+                        js_set(&pointer, prop, &value)?;
+                    }
+                }
+            }
+        }
+        Ok(())
+    }
+}
+
+pub(crate) fn alloc(value: &Value<'_>, text_rep: TextRepresentation) -> (Datatype, JsValue) {
+    match value {
+        am::Value::Object(o) => match o {
+            ObjType::Map => (Datatype::Map, Object::new().into()),
+            ObjType::Table => (Datatype::Table, Object::new().into()),
+            ObjType::List => (Datatype::List, Array::new().into()),
+            ObjType::Text => match text_rep {
+                TextRepresentation::String => (Datatype::Text, "".into()),
+                TextRepresentation::Array => (Datatype::Text, Array::new().into()),
+            },
+        },
+        am::Value::Scalar(s) => match s.as_ref() {
+            am::ScalarValue::Bytes(v) => (Datatype::Bytes, Uint8Array::from(v.as_slice()).into()),
+            am::ScalarValue::Str(v) => (Datatype::Str, v.to_string().into()),
+            am::ScalarValue::Int(v) => (Datatype::Int, (*v as f64).into()),
+            am::ScalarValue::Uint(v) => (Datatype::Uint, (*v as f64).into()),
+            am::ScalarValue::F64(v) => (Datatype::F64, (*v).into()),
+            am::ScalarValue::Counter(v) => (Datatype::Counter, (f64::from(v)).into()),
+            am::ScalarValue::Timestamp(v) => (
+                Datatype::Timestamp,
+                js_sys::Date::new(&(*v as f64).into()).into(),
+            ),
+            am::ScalarValue::Boolean(v) => (Datatype::Boolean, (*v).into()),
+            am::ScalarValue::Null => (Datatype::Null, JsValue::null()),
+            am::ScalarValue::Unknown { bytes, type_code } => (
+                Datatype::Unknown(*type_code),
+                Uint8Array::from(bytes.as_slice()).into(),
+            ),
+        },
+    }
+}
+
+fn set_hidden_value<V: Into<JsValue>>(
+    o: &Object,
+    key: &Symbol,
+    value: V,
+) -> Result<(), error::Export> {
+    let definition = Object::new();
+    js_set(&definition, "value", &value.into()).map_err(|_| error::Export::SetHidden("value"))?;
+    js_set(&definition, "writable", false).map_err(|_| error::Export::SetHidden("writable"))?;
+    js_set(&definition, "enumerable", false).map_err(|_| error::Export::SetHidden("enumerable"))?;
+    js_set(&definition, "configurable", false)
+        .map_err(|_| error::Export::SetHidden("configurable"))?;
+    Object::define_property(o, &key.into(), &definition);
+    Ok(())
+}
+
+fn shallow_copy(obj: &Object) -> Object {
+    if Array::is_array(obj) {
+        Array::from(obj).into()
+    } else {
+        Object::assign(&Object::new(), obj)
+    }
+}
+
+fn prop_to_js(prop: &Prop) -> JsValue {
+    match prop {
+        Prop::Map(key) => key.into(),
+        Prop::Seq(index) => (*index as f64).into(),
+    }
+}
+
+pub(crate) mod error {
+    use automerge::{AutomergeError, LoadChangeError};
+    use wasm_bindgen::JsValue;
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadJSChanges {
+        #[error("the changes were not an array of Uint8Array")]
+        ChangesNotArray,
+        #[error("change {0} was not a Uint8Array")]
+        ElemNotUint8Array(usize),
+        #[error("error loading change {0}: {1}")]
+        BadChange(usize, LoadChangeError),
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadChangeHashes {
+        #[error("the change hashes were not an array of strings")]
+        NotArray,
+        #[error("could not decode hash {0}: {1}")]
+        BadElem(usize, BadChangeHash),
+    }
+
+    impl From<BadChangeHashes> for JsValue {
+        fn from(e: BadChangeHashes) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadChangeHashSet {
+        #[error("not an object")]
+        NotObject,
+        #[error(transparent)]
+        GetProp(#[from] GetProp),
+        #[error("unable to getOwnProperties")]
+        ListProp,
+        #[error("unable to parse hash from {0:?}: {1}")]
+        BadHash(wasm_bindgen::JsValue, BadChangeHash),
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadChangeHash {
+        #[error("change hash was not a string")]
+        NotString,
+        #[error(transparent)]
+        Parse(#[from] automerge::ParseChangeHashError),
+    }
+
+    impl From<BadChangeHash> for JsValue {
+        fn from(e: BadChangeHash) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadSyncState {
+        #[error(transparent)]
+        GetProp(#[from] GetProp),
+        #[error("bad sharedHeads: {0}")]
+        BadSharedHeads(BadChangeHashes),
+        #[error("bad lastSentHeads: {0}")]
+        BadLastSentHeads(BadChangeHashes),
+        #[error("bad theirHeads: {0}")]
+        BadTheirHeads(BadChangeHashes),
+        #[error("bad theirNeed: {0}")]
+        BadTheirNeed(BadChangeHashes),
+        #[error("bad theirHave: {0}")]
+        BadTheirHave(BadHaves),
+        #[error("bad sentHashes: {0}")]
+        BadSentHashes(BadChangeHashSet),
+        #[error("inFlight not a boolean")]
+        InFlightNotBoolean,
+    }
+
+    impl From<BadSyncState> for JsValue {
+        fn from(e: BadSyncState) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    #[error("unable to get property {property}: {error:?}")]
+    pub struct GetProp {
+        pub(super) property: String,
+        pub(super) error: wasm_bindgen::JsValue,
+    }
+
+    impl From<GetProp> for JsValue {
+        fn from(e: GetProp) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    #[error("error setting property {property:?} on JS value: {error:?}")]
+    pub struct SetProp {
+        pub(super) property: JsValue,
+        pub(super) error: JsValue,
+    }
+
+    impl From<SetProp> for JsValue {
+        fn from(e: SetProp) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadHave {
+        #[error("bad lastSync: {0}")]
+        BadLastSync(BadChangeHashes),
+        #[error("bad bloom: {0}")]
+        BadBloom(BadBloom),
+        #[error(transparent)]
+        GetHaveProp(#[from] GetProp),
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadHaves {
+        #[error("value was not an array")]
+        NotArray,
+        #[error("error loading have at index {0}: {1}")]
+        BadElem(usize, BadHave),
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadBloom {
+        #[error("the value was not a Uint8Array")]
+        NotU8Array,
+        #[error("unable to decode: {0}")]
+        Decode(#[from] automerge::sync::DecodeBloomError),
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Export {
+        #[error(transparent)]
+        Set(#[from] SetProp),
+        #[error("unable to delete prop {prop}: {err:?}")]
+        Delete { prop: String, err: JsValue },
+        #[error("unable to set hidden property {0}")]
+        SetHidden(&'static str),
+        #[error("data handler for type {0} did not return a valid object")]
+        InvalidDataHandler(String),
+        #[error("error calling data handler for type {0}: {1:?}")]
+        CallDataHandler(String, JsValue),
+        #[error(transparent)]
+        GetProp(#[from] GetProp),
+        #[error(transparent)]
+        InvalidDatatype(#[from] crate::value::InvalidDatatype),
+        #[error("unable to get the splice function: {0:?}")]
+        GetSplice(JsValue),
+        #[error("error calling splice: {0:?}")]
+        CallSplice(JsValue),
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+    }
+
+    impl From<Export> for JsValue {
+        fn from(e: Export) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum ApplyPatch {
+        #[error(transparent)]
+        Export(#[from] Export),
+        #[error("cannot delete from a seq")]
+        DeleteKeyFromSeq,
+        #[error("cannot put key in seq")]
+        PutKeyInSeq,
+        #[error("cannot increment a non-numeric value")]
+        IncrementNonNumeric,
+        #[error("cannot increment a key in a seq")]
+        IncrementKeyInSeq,
+        #[error("cannot increment index in a map")]
+        IncrementIndexInMap,
+        #[error("cannot insert into a map")]
+        InsertInMap,
+        #[error("cannot splice into a map")]
+        SpliceInMap,
+        #[error("cannot splice text into a seq")]
+        SpliceTextInSeq,
+        #[error("cannot splice text into a map")]
+        SpliceTextInMap,
+        #[error("cannot put a seq index in a map")]
+        PutIdxInMap,
+        #[error(transparent)]
+        GetProp(#[from] GetProp),
+        #[error(transparent)]
+        SetProp(#[from] SetProp),
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+    }
+
+    impl From<ApplyPatch> for JsValue {
+        fn from(e: ApplyPatch) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadSyncMessage {
+        #[error(transparent)]
+        GetProp(#[from] GetProp),
+        #[error("unable to read haves: {0}")]
+        BadHaves(#[from] BadHaves),
+        #[error("could not read changes: {0}")]
+        BadJSChanges(#[from] BadJSChanges),
+        #[error("could not read heads: {0}")]
+        BadHeads(BadChangeHashes),
+        #[error("could not read need: {0}")]
+        BadNeed(BadChangeHashes),
+    }
+
+    impl From<BadSyncMessage> for JsValue {
+        fn from(e: BadSyncMessage) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum ImportObj {
+        #[error("obj id was not a string")]
+        NotString,
+        #[error("invalid path {0}: {1}")]
+        InvalidPath(String, ImportPath),
+        #[error("unable to import object id: {0}")]
+        BadImport(AutomergeError),
+    }
+
+    impl From<ImportObj> for JsValue {
+        fn from(e: ImportObj) -> Self {
+            JsValue::from(format!("invalid object ID: {}", e))
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum ImportPath {
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+        #[error("path component {0} ({1}) should be an integer to index a sequence")]
+        IndexNotInteger(usize, String),
+        #[error("path component {0} ({1}) referenced a nonexistent object")]
+        NonExistentObject(usize, String),
+        #[error("path did not refer to an object")]
+        NotAnObject,
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    #[error("given property was not a string or integer")]
+    pub struct InvalidProp;
+
+    #[derive(Debug, thiserror::Error)]
+    #[error("given property was not a string or integer")]
+    pub struct InvalidValue;
+}
+
+
\ No newline at end of file diff --git a/src/automerge_wasm/lib.rs.html b/src/automerge_wasm/lib.rs.html new file mode 100644 index 00000000..adf32f94 --- /dev/null +++ b/src/automerge_wasm/lib.rs.html @@ -0,0 +1,2313 @@ +lib.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+966
+967
+968
+969
+970
+971
+972
+973
+974
+975
+976
+977
+978
+979
+980
+981
+982
+983
+984
+985
+986
+987
+988
+989
+990
+991
+992
+993
+994
+995
+996
+997
+998
+999
+1000
+1001
+1002
+1003
+1004
+1005
+1006
+1007
+1008
+1009
+1010
+1011
+1012
+1013
+1014
+1015
+1016
+1017
+1018
+1019
+1020
+1021
+1022
+1023
+1024
+1025
+1026
+1027
+1028
+1029
+1030
+1031
+1032
+1033
+1034
+1035
+1036
+1037
+1038
+1039
+1040
+1041
+1042
+1043
+1044
+1045
+1046
+1047
+1048
+1049
+1050
+1051
+1052
+1053
+1054
+1055
+1056
+1057
+1058
+1059
+1060
+1061
+1062
+1063
+1064
+1065
+1066
+1067
+1068
+1069
+1070
+1071
+1072
+1073
+1074
+1075
+1076
+1077
+1078
+1079
+1080
+1081
+1082
+1083
+1084
+1085
+1086
+1087
+1088
+1089
+1090
+1091
+1092
+1093
+1094
+1095
+1096
+1097
+1098
+1099
+1100
+1101
+1102
+1103
+1104
+1105
+1106
+1107
+1108
+1109
+1110
+1111
+1112
+1113
+1114
+1115
+1116
+1117
+1118
+1119
+1120
+1121
+1122
+1123
+1124
+1125
+1126
+1127
+1128
+1129
+1130
+1131
+1132
+1133
+1134
+1135
+1136
+1137
+1138
+1139
+1140
+1141
+1142
+1143
+1144
+1145
+1146
+1147
+1148
+1149
+1150
+1151
+1152
+1153
+1154
+1155
+
#![doc(
+    html_logo_url = "https://raw.githubusercontent.com/automerge/automerge-rs/main/img/brandmark.svg",
+    html_favicon_url = "https:///raw.githubusercontent.com/automerge/automerge-rs/main/img/favicon.ico"
+)]
+#![warn(
+    missing_debug_implementations,
+    // missing_docs, // TODO: add documentation!
+    rust_2021_compatibility,
+    rust_2018_idioms,
+    unreachable_pub,
+    bad_style,
+    dead_code,
+    improper_ctypes,
+    non_shorthand_field_patterns,
+    no_mangle_generic_items,
+    overflowing_literals,
+    path_statements,
+    patterns_in_fns_without_body,
+    private_in_public,
+    unconditional_recursion,
+    unused,
+    unused_allocation,
+    unused_comparisons,
+    unused_parens,
+    while_true
+)]
+#![allow(clippy::unused_unit)]
+use am::transaction::CommitOptions;
+use am::transaction::{Observed, Transactable, UnObserved};
+use am::ScalarValue;
+use automerge as am;
+use automerge::{sync::SyncDoc, Change, ObjId, Prop, ReadDoc, TextEncoding, Value, ROOT};
+use js_sys::{Array, Function, Object, Uint8Array};
+use serde::ser::Serialize;
+use std::borrow::Cow;
+use std::collections::HashMap;
+use std::collections::HashSet;
+use std::convert::TryInto;
+use wasm_bindgen::prelude::*;
+use wasm_bindgen::JsCast;
+
+mod interop;
+mod observer;
+mod sequence_tree;
+mod sync;
+mod value;
+
+use observer::Observer;
+
+use interop::{alloc, get_heads, import_obj, js_set, to_js_err, to_prop, AR, JS};
+use sync::SyncState;
+use value::Datatype;
+
+use crate::interop::SubValIter;
+
+#[allow(unused_macros)]
+macro_rules! log {
+    ( $( $t:tt )* ) => {
+          web_sys::console::log_1(&format!( $( $t )* ).into());
+    };
+}
+
+type AutoCommit = am::AutoCommitWithObs<Observed<Observer>>;
+
+#[cfg(feature = "wee_alloc")]
+#[global_allocator]
+static ALLOC: wee_alloc::WeeAlloc = wee_alloc::WeeAlloc::INIT;
+
+/// How text is represented in materialized objects on the JS side
+#[derive(Debug, Eq, PartialEq, Clone, Copy)]
+#[wasm_bindgen]
+pub enum TextRepresentation {
+    /// As an array of characters and objects
+    Array,
+    /// As a single JS string
+    String,
+}
+
+impl std::default::Default for TextRepresentation {
+    fn default() -> Self {
+        TextRepresentation::Array
+    }
+}
+
+#[wasm_bindgen]
+#[derive(Debug)]
+pub struct Automerge {
+    doc: AutoCommit,
+    freeze: bool,
+    external_types: HashMap<Datatype, Function>,
+    text_rep: TextRepresentation,
+}
+
+#[wasm_bindgen]
+impl Automerge {
+    pub fn new(
+        actor: Option<String>,
+        text_rep: TextRepresentation,
+    ) -> Result<Automerge, error::BadActorId> {
+        let mut doc = AutoCommit::default().with_encoding(TextEncoding::Utf16);
+        if let Some(a) = actor {
+            let a = automerge::ActorId::from(hex::decode(a)?.to_vec());
+            doc.set_actor(a);
+        }
+        Ok(Automerge {
+            doc,
+            freeze: false,
+            external_types: HashMap::default(),
+            text_rep,
+        })
+    }
+
+    #[allow(clippy::should_implement_trait)]
+    pub fn clone(&mut self, actor: Option<String>) -> Result<Automerge, error::BadActorId> {
+        let mut automerge = Automerge {
+            doc: self.doc.clone(),
+            freeze: self.freeze,
+            external_types: self.external_types.clone(),
+            text_rep: self.text_rep,
+        };
+        if let Some(s) = actor {
+            let actor = automerge::ActorId::from(hex::decode(s)?.to_vec());
+            automerge.doc.set_actor(actor);
+        }
+        Ok(automerge)
+    }
+
+    pub fn fork(
+        &mut self,
+        actor: Option<String>,
+        heads: JsValue,
+    ) -> Result<Automerge, error::Fork> {
+        let heads: Result<Vec<am::ChangeHash>, _> = JS(heads).try_into();
+        let doc = if let Ok(heads) = heads {
+            self.doc.fork_at(&heads)?
+        } else {
+            self.doc.fork()
+        };
+        let mut automerge = Automerge {
+            doc,
+            freeze: self.freeze,
+            external_types: self.external_types.clone(),
+            text_rep: self.text_rep,
+        };
+        if let Some(s) = actor {
+            let actor =
+                automerge::ActorId::from(hex::decode(s).map_err(error::BadActorId::from)?.to_vec());
+            automerge.doc.set_actor(actor);
+        }
+        Ok(automerge)
+    }
+
+    #[wasm_bindgen(js_name = pendingOps)]
+    pub fn pending_ops(&self) -> JsValue {
+        (self.doc.pending_ops() as u32).into()
+    }
+
+    pub fn commit(&mut self, message: Option<String>, time: Option<f64>) -> JsValue {
+        let mut commit_opts = CommitOptions::default();
+        if let Some(message) = message {
+            commit_opts.set_message(message);
+        }
+        if let Some(time) = time {
+            commit_opts.set_time(time as i64);
+        }
+        let hash = self.doc.commit_with(commit_opts);
+        match hash {
+            Some(h) => JsValue::from_str(&hex::encode(h.0)),
+            None => JsValue::NULL,
+        }
+    }
+
+    pub fn merge(&mut self, other: &mut Automerge) -> Result<Array, error::Merge> {
+        let heads = self.doc.merge(&mut other.doc)?;
+        let heads: Array = heads
+            .iter()
+            .map(|h| JsValue::from_str(&hex::encode(h.0)))
+            .collect();
+        Ok(heads)
+    }
+
+    pub fn rollback(&mut self) -> f64 {
+        self.doc.rollback() as f64
+    }
+
+    pub fn keys(&self, obj: JsValue, heads: Option<Array>) -> Result<Array, error::Get> {
+        let (obj, _) = self.import(obj)?;
+        let result = if let Some(heads) = get_heads(heads)? {
+            self.doc
+                .keys_at(&obj, &heads)
+                .map(|s| JsValue::from_str(&s))
+                .collect()
+        } else {
+            self.doc.keys(&obj).map(|s| JsValue::from_str(&s)).collect()
+        };
+        Ok(result)
+    }
+
+    pub fn text(&self, obj: JsValue, heads: Option<Array>) -> Result<String, error::Get> {
+        let (obj, _) = self.import(obj)?;
+        if let Some(heads) = get_heads(heads)? {
+            Ok(self.doc.text_at(&obj, &heads)?)
+        } else {
+            Ok(self.doc.text(&obj)?)
+        }
+    }
+
+    pub fn splice(
+        &mut self,
+        obj: JsValue,
+        start: f64,
+        delete_count: f64,
+        text: JsValue,
+    ) -> Result<(), error::Splice> {
+        let (obj, obj_type) = self.import(obj)?;
+        let start = start as usize;
+        let delete_count = delete_count as usize;
+        let vals = if let Some(t) = text.as_string() {
+            if obj_type == am::ObjType::Text && self.text_rep == TextRepresentation::String {
+                self.doc.splice_text(&obj, start, delete_count, &t)?;
+                return Ok(());
+            } else {
+                t.chars()
+                    .map(|c| ScalarValue::Str(c.to_string().into()))
+                    .collect::<Vec<_>>()
+            }
+        } else {
+            let mut vals = vec![];
+            if let Ok(array) = text.dyn_into::<Array>() {
+                for (index, i) in array.iter().enumerate() {
+                    let value = self
+                        .import_scalar(&i, &None)
+                        .ok_or(error::Splice::ValueNotPrimitive(index))?;
+                    vals.push(value);
+                }
+            }
+            vals
+        };
+        if !vals.is_empty() {
+            self.doc.splice(&obj, start, delete_count, vals)?;
+        } else {
+            // no vals given but we still need to call the text vs splice
+            // bc utf16
+            match obj_type {
+                am::ObjType::List => {
+                    self.doc.splice(&obj, start, delete_count, vals)?;
+                }
+                am::ObjType::Text => match self.text_rep {
+                    TextRepresentation::String => {
+                        self.doc.splice_text(&obj, start, delete_count, "")?;
+                    }
+                    TextRepresentation::Array => {
+                        self.doc.splice(&obj, start, delete_count, vals)?;
+                    }
+                },
+                _ => {}
+            }
+        }
+        Ok(())
+    }
+
+    pub fn push(
+        &mut self,
+        obj: JsValue,
+        value: JsValue,
+        datatype: JsValue,
+    ) -> Result<(), error::Insert> {
+        let (obj, _) = self.import(obj)?;
+        let value = self
+            .import_scalar(&value, &datatype.as_string())
+            .ok_or(error::Insert::ValueNotPrimitive)?;
+        let index = self.doc.length(&obj);
+        self.doc.insert(&obj, index, value)?;
+        Ok(())
+    }
+
+    #[wasm_bindgen(js_name = pushObject)]
+    pub fn push_object(
+        &mut self,
+        obj: JsValue,
+        value: JsValue,
+    ) -> Result<Option<String>, error::InsertObject> {
+        let (obj, _) = self.import(obj)?;
+        let imported_obj = import_obj(&value, &None)?;
+        let index = self.doc.length(&obj);
+        let opid = self
+            .doc
+            .insert_object(&obj, index, imported_obj.objtype())?;
+        if let Some(s) = imported_obj.text() {
+            match self.text_rep {
+                TextRepresentation::String => {
+                    self.doc.splice_text(&opid, 0, 0, s)?;
+                }
+                TextRepresentation::Array => {
+                    self.subset::<error::InsertObject, _>(&opid, imported_obj.subvals())?;
+                }
+            }
+        } else {
+            self.subset::<error::InsertObject, _>(&opid, imported_obj.subvals())?;
+        }
+        Ok(opid.to_string().into())
+    }
+
+    pub fn insert(
+        &mut self,
+        obj: JsValue,
+        index: f64,
+        value: JsValue,
+        datatype: JsValue,
+    ) -> Result<(), error::Insert> {
+        let (obj, _) = self.import(obj)?;
+        let value = self
+            .import_scalar(&value, &datatype.as_string())
+            .ok_or(error::Insert::ValueNotPrimitive)?;
+        self.doc.insert(&obj, index as usize, value)?;
+        Ok(())
+    }
+
+    #[wasm_bindgen(js_name = insertObject)]
+    pub fn insert_object(
+        &mut self,
+        obj: JsValue,
+        index: f64,
+        value: JsValue,
+    ) -> Result<Option<String>, error::InsertObject> {
+        let (obj, _) = self.import(obj)?;
+        let imported_obj = import_obj(&value, &None)?;
+        let opid = self
+            .doc
+            .insert_object(&obj, index as usize, imported_obj.objtype())?;
+        if let Some(s) = imported_obj.text() {
+            match self.text_rep {
+                TextRepresentation::String => {
+                    self.doc.splice_text(&opid, 0, 0, s)?;
+                }
+                TextRepresentation::Array => {
+                    self.subset::<error::InsertObject, _>(&opid, imported_obj.subvals())?;
+                }
+            }
+        } else {
+            self.subset::<error::InsertObject, _>(&opid, imported_obj.subvals())?;
+        }
+        Ok(opid.to_string().into())
+    }
+
+    pub fn put(
+        &mut self,
+        obj: JsValue,
+        prop: JsValue,
+        value: JsValue,
+        datatype: JsValue,
+    ) -> Result<(), error::Insert> {
+        let (obj, _) = self.import(obj)?;
+        let prop = self.import_prop(prop)?;
+        let value = self
+            .import_scalar(&value, &datatype.as_string())
+            .ok_or(error::Insert::ValueNotPrimitive)?;
+        self.doc.put(&obj, prop, value)?;
+        Ok(())
+    }
+
+    #[wasm_bindgen(js_name = putObject)]
+    pub fn put_object(
+        &mut self,
+        obj: JsValue,
+        prop: JsValue,
+        value: JsValue,
+    ) -> Result<JsValue, error::InsertObject> {
+        let (obj, _) = self.import(obj)?;
+        let prop = self.import_prop(prop)?;
+        let imported_obj = import_obj(&value, &None)?;
+        let opid = self.doc.put_object(&obj, prop, imported_obj.objtype())?;
+        if let Some(s) = imported_obj.text() {
+            match self.text_rep {
+                TextRepresentation::String => {
+                    self.doc.splice_text(&opid, 0, 0, s)?;
+                }
+                TextRepresentation::Array => {
+                    self.subset::<error::InsertObject, _>(&opid, imported_obj.subvals())?;
+                }
+            }
+        } else {
+            self.subset::<error::InsertObject, _>(&opid, imported_obj.subvals())?;
+        }
+        Ok(opid.to_string().into())
+    }
+
+    fn subset<'a, E, I>(&mut self, obj: &am::ObjId, vals: I) -> Result<(), E>
+    where
+        I: IntoIterator<Item = (Cow<'a, am::Prop>, JsValue)>,
+        E: From<automerge::AutomergeError>
+            + From<interop::error::ImportObj>
+            + From<interop::error::InvalidValue>,
+    {
+        for (p, v) in vals {
+            let (value, subvals) = self.import_value(v.as_ref(), None)?;
+            //let opid = self.0.set(id, p, value)?;
+            let opid = match (p.as_ref(), value) {
+                (Prop::Map(s), Value::Object(objtype)) => {
+                    Some(self.doc.put_object(obj, s, objtype)?)
+                }
+                (Prop::Map(s), Value::Scalar(scalar)) => {
+                    self.doc.put(obj, s, scalar.into_owned())?;
+                    None
+                }
+                (Prop::Seq(i), Value::Object(objtype)) => {
+                    Some(self.doc.insert_object(obj, *i, objtype)?)
+                }
+                (Prop::Seq(i), Value::Scalar(scalar)) => {
+                    self.doc.insert(obj, *i, scalar.into_owned())?;
+                    None
+                }
+            };
+            if let Some(opid) = opid {
+                self.subset::<E, _>(&opid, SubValIter::Slice(subvals.as_slice().iter()))?;
+            }
+        }
+        Ok(())
+    }
+
+    pub fn increment(
+        &mut self,
+        obj: JsValue,
+        prop: JsValue,
+        value: JsValue,
+    ) -> Result<(), error::Increment> {
+        let (obj, _) = self.import(obj)?;
+        let prop = self.import_prop(prop)?;
+        let value: f64 = value.as_f64().ok_or(error::Increment::ValueNotNumeric)?;
+        self.doc.increment(&obj, prop, value as i64)?;
+        Ok(())
+    }
+
+    #[wasm_bindgen(js_name = get)]
+    pub fn get(
+        &self,
+        obj: JsValue,
+        prop: JsValue,
+        heads: Option<Array>,
+    ) -> Result<JsValue, error::Get> {
+        let (obj, _) = self.import(obj)?;
+        let prop = to_prop(prop);
+        let heads = get_heads(heads)?;
+        if let Ok(prop) = prop {
+            let value = if let Some(h) = heads {
+                self.doc.get_at(&obj, prop, &h)?
+            } else {
+                self.doc.get(&obj, prop)?
+            };
+            if let Some((value, id)) = value {
+                match alloc(&value, self.text_rep) {
+                    (datatype, js_value) if datatype.is_scalar() => Ok(js_value),
+                    _ => Ok(id.to_string().into()),
+                }
+            } else {
+                Ok(JsValue::undefined())
+            }
+        } else {
+            Ok(JsValue::undefined())
+        }
+    }
+
+    #[wasm_bindgen(js_name = getWithType)]
+    pub fn get_with_type(
+        &self,
+        obj: JsValue,
+        prop: JsValue,
+        heads: Option<Array>,
+    ) -> Result<JsValue, error::Get> {
+        let (obj, _) = self.import(obj)?;
+        let prop = to_prop(prop);
+        let heads = get_heads(heads)?;
+        if let Ok(prop) = prop {
+            let value = if let Some(h) = heads {
+                self.doc.get_at(&obj, prop, &h)?
+            } else {
+                self.doc.get(&obj, prop)?
+            };
+            if let Some(value) = value {
+                match &value {
+                    (Value::Object(obj_type), obj_id) => {
+                        let result = Array::new();
+                        result.push(&obj_type.to_string().into());
+                        result.push(&obj_id.to_string().into());
+                        Ok(result.into())
+                    }
+                    (Value::Scalar(_), _) => {
+                        let result = Array::new();
+                        let (datatype, value) = alloc(&value.0, self.text_rep);
+                        result.push(&datatype.into());
+                        result.push(&value);
+                        Ok(result.into())
+                    }
+                }
+            } else {
+                Ok(JsValue::null())
+            }
+        } else {
+            Ok(JsValue::null())
+        }
+    }
+
+    #[wasm_bindgen(js_name = getAll)]
+    pub fn get_all(
+        &self,
+        obj: JsValue,
+        arg: JsValue,
+        heads: Option<Array>,
+    ) -> Result<Array, error::Get> {
+        let (obj, _) = self.import(obj)?;
+        let result = Array::new();
+        let prop = to_prop(arg);
+        if let Ok(prop) = prop {
+            let values = if let Some(heads) = get_heads(heads)? {
+                self.doc.get_all_at(&obj, prop, &heads)
+            } else {
+                self.doc.get_all(&obj, prop)
+            }?;
+            for (value, id) in values {
+                let sub = Array::new();
+                let (datatype, js_value) = alloc(&value, self.text_rep);
+                sub.push(&datatype.into());
+                if value.is_scalar() {
+                    sub.push(&js_value);
+                }
+                sub.push(&id.to_string().into());
+                result.push(&JsValue::from(&sub));
+            }
+        }
+        Ok(result)
+    }
+
+    #[wasm_bindgen(js_name = enableFreeze)]
+    pub fn enable_freeze(&mut self, enable: JsValue) -> Result<JsValue, JsValue> {
+        let enable = enable
+            .as_bool()
+            .ok_or_else(|| to_js_err("must pass a bool to enableFreeze"))?;
+        let old_freeze = self.freeze;
+        self.freeze = enable;
+        Ok(old_freeze.into())
+    }
+
+    #[wasm_bindgen(js_name = enablePatches)]
+    pub fn enable_patches(&mut self, enable: JsValue) -> Result<JsValue, JsValue> {
+        let enable = enable
+            .as_bool()
+            .ok_or_else(|| to_js_err("must pass a bool to enablePatches"))?;
+        let old_enabled = self.doc.observer().enable(enable);
+        self.doc.observer().set_text_rep(self.text_rep);
+        Ok(old_enabled.into())
+    }
+
+    #[wasm_bindgen(js_name = registerDatatype)]
+    pub fn register_datatype(
+        &mut self,
+        datatype: JsValue,
+        function: JsValue,
+    ) -> Result<(), value::InvalidDatatype> {
+        let datatype = Datatype::try_from(datatype)?;
+        if let Ok(function) = function.dyn_into::<Function>() {
+            self.external_types.insert(datatype, function);
+        } else {
+            self.external_types.remove(&datatype);
+        }
+        Ok(())
+    }
+
+    #[wasm_bindgen(js_name = applyPatches)]
+    pub fn apply_patches(
+        &mut self,
+        object: JsValue,
+        meta: JsValue,
+        callback: JsValue,
+    ) -> Result<JsValue, error::ApplyPatch> {
+        let mut object = object
+            .dyn_into::<Object>()
+            .map_err(|_| error::ApplyPatch::NotObjectd)?;
+        let patches = self.doc.observer().take_patches();
+        let callback = callback.dyn_into::<Function>().ok();
+
+        // even if there are no patches we may need to update the meta object
+        // which requires that we update the object too
+        if patches.is_empty() && !meta.is_undefined() {
+            let (obj, datatype, id) = self.unwrap_object(&object)?;
+            object = Object::assign(&Object::new(), &obj);
+            object = self.wrap_object(object, datatype, &id, &meta)?;
+        }
+
+        let mut exposed = HashSet::default();
+
+        let before = object.clone();
+
+        for p in &patches {
+            object = self.apply_patch(object, p, 0, &meta, &mut exposed)?;
+        }
+
+        if let Some(c) = &callback {
+            if !patches.is_empty() {
+                let patches: Array = patches
+                    .into_iter()
+                    .map(JsValue::try_from)
+                    .collect::<Result<_, _>>()?;
+                c.call3(&JsValue::undefined(), &patches.into(), &before, &object)
+                    .map_err(error::ApplyPatch::PatchCallback)?;
+            }
+        }
+
+        self.finalize_exposed(&object, exposed, &meta)?;
+
+        Ok(object.into())
+    }
+
+    #[wasm_bindgen(js_name = popPatches)]
+    pub fn pop_patches(&mut self) -> Result<Array, error::PopPatches> {
+        // transactions send out observer updates as they occur, not waiting for them to be
+        // committed.
+        // If we pop the patches then we won't be able to revert them.
+
+        let patches = self.doc.observer().take_patches();
+        let result = Array::new();
+        for p in patches {
+            result.push(&p.try_into()?);
+        }
+        Ok(result)
+    }
+
+    pub fn length(&self, obj: JsValue, heads: Option<Array>) -> Result<f64, error::Get> {
+        let (obj, _) = self.import(obj)?;
+        if let Some(heads) = get_heads(heads)? {
+            Ok(self.doc.length_at(&obj, &heads) as f64)
+        } else {
+            Ok(self.doc.length(&obj) as f64)
+        }
+    }
+
+    pub fn delete(&mut self, obj: JsValue, prop: JsValue) -> Result<(), error::Get> {
+        let (obj, _) = self.import(obj)?;
+        let prop = to_prop(prop)?;
+        self.doc.delete(&obj, prop)?;
+        Ok(())
+    }
+
+    pub fn save(&mut self) -> Uint8Array {
+        Uint8Array::from(self.doc.save().as_slice())
+    }
+
+    #[wasm_bindgen(js_name = saveIncremental)]
+    pub fn save_incremental(&mut self) -> Uint8Array {
+        let bytes = self.doc.save_incremental();
+        Uint8Array::from(bytes.as_slice())
+    }
+
+    #[wasm_bindgen(js_name = loadIncremental)]
+    pub fn load_incremental(&mut self, data: Uint8Array) -> Result<f64, error::Load> {
+        let data = data.to_vec();
+        let len = self.doc.load_incremental(&data)?;
+        Ok(len as f64)
+    }
+
+    #[wasm_bindgen(js_name = applyChanges)]
+    pub fn apply_changes(&mut self, changes: JsValue) -> Result<(), error::ApplyChangesError> {
+        let changes: Vec<_> = JS(changes).try_into()?;
+        self.doc.apply_changes(changes)?;
+        Ok(())
+    }
+
+    #[wasm_bindgen(js_name = getChanges)]
+    pub fn get_changes(&mut self, have_deps: JsValue) -> Result<Array, error::Get> {
+        let deps: Vec<_> = JS(have_deps).try_into()?;
+        let changes = self.doc.get_changes(&deps)?;
+        let changes: Array = changes
+            .iter()
+            .map(|c| Uint8Array::from(c.raw_bytes()))
+            .collect();
+        Ok(changes)
+    }
+
+    #[wasm_bindgen(js_name = getChangeByHash)]
+    pub fn get_change_by_hash(
+        &mut self,
+        hash: JsValue,
+    ) -> Result<JsValue, interop::error::BadChangeHash> {
+        let hash = JS(hash).try_into()?;
+        let change = self.doc.get_change_by_hash(&hash);
+        if let Some(c) = change {
+            Ok(Uint8Array::from(c.raw_bytes()).into())
+        } else {
+            Ok(JsValue::null())
+        }
+    }
+
+    #[wasm_bindgen(js_name = getChangesAdded)]
+    pub fn get_changes_added(&mut self, other: &mut Automerge) -> Array {
+        let changes = self.doc.get_changes_added(&mut other.doc);
+        let changes: Array = changes
+            .iter()
+            .map(|c| Uint8Array::from(c.raw_bytes()))
+            .collect();
+        changes
+    }
+
+    #[wasm_bindgen(js_name = getHeads)]
+    pub fn get_heads(&mut self) -> Array {
+        let heads = self.doc.get_heads();
+        let heads: Array = heads
+            .iter()
+            .map(|h| JsValue::from_str(&hex::encode(h.0)))
+            .collect();
+        heads
+    }
+
+    #[wasm_bindgen(js_name = getActorId)]
+    pub fn get_actor_id(&self) -> String {
+        let actor = self.doc.get_actor();
+        actor.to_string()
+    }
+
+    #[wasm_bindgen(js_name = getLastLocalChange)]
+    pub fn get_last_local_change(&mut self) -> JsValue {
+        if let Some(change) = self.doc.get_last_local_change() {
+            Uint8Array::from(change.raw_bytes()).into()
+        } else {
+            JsValue::null()
+        }
+    }
+
+    pub fn dump(&mut self) {
+        self.doc.dump()
+    }
+
+    #[wasm_bindgen(js_name = getMissingDeps)]
+    pub fn get_missing_deps(&mut self, heads: Option<Array>) -> Result<Array, error::Get> {
+        let heads = get_heads(heads)?.unwrap_or_default();
+        let deps = self.doc.get_missing_deps(&heads);
+        let deps: Array = deps
+            .iter()
+            .map(|h| JsValue::from_str(&hex::encode(h.0)))
+            .collect();
+        Ok(deps)
+    }
+
+    #[wasm_bindgen(js_name = receiveSyncMessage)]
+    pub fn receive_sync_message(
+        &mut self,
+        state: &mut SyncState,
+        message: Uint8Array,
+    ) -> Result<(), error::ReceiveSyncMessage> {
+        let message = message.to_vec();
+        let message = am::sync::Message::decode(message.as_slice())?;
+        self.doc
+            .sync()
+            .receive_sync_message(&mut state.0, message)?;
+        Ok(())
+    }
+
+    #[wasm_bindgen(js_name = generateSyncMessage)]
+    pub fn generate_sync_message(&mut self, state: &mut SyncState) -> JsValue {
+        if let Some(message) = self.doc.sync().generate_sync_message(&mut state.0) {
+            Uint8Array::from(message.encode().as_slice()).into()
+        } else {
+            JsValue::null()
+        }
+    }
+
+    #[wasm_bindgen(js_name = toJS)]
+    pub fn to_js(&mut self, meta: JsValue) -> Result<JsValue, interop::error::Export> {
+        self.export_object(&ROOT, Datatype::Map, None, &meta)
+    }
+
+    pub fn materialize(
+        &mut self,
+        obj: JsValue,
+        heads: Option<Array>,
+        meta: JsValue,
+    ) -> Result<JsValue, error::Materialize> {
+        let (obj, obj_type) = self.import(obj).unwrap_or((ROOT, am::ObjType::Map));
+        let heads = get_heads(heads)?;
+        let _patches = self.doc.observer().take_patches(); // throw away patches
+        Ok(self.export_object(&obj, obj_type.into(), heads.as_ref(), &meta)?)
+    }
+
+    #[wasm_bindgen(js_name = emptyChange)]
+    pub fn empty_change(&mut self, message: Option<String>, time: Option<f64>) -> JsValue {
+        let time = time.map(|f| f as i64);
+        let options = CommitOptions { message, time };
+        let hash = self.doc.empty_change(options);
+        JsValue::from_str(&hex::encode(hash))
+    }
+}
+
+#[wasm_bindgen(js_name = create)]
+pub fn init(text_v2: bool, actor: Option<String>) -> Result<Automerge, error::BadActorId> {
+    console_error_panic_hook::set_once();
+    let text_rep = if text_v2 {
+        TextRepresentation::String
+    } else {
+        TextRepresentation::Array
+    };
+    Automerge::new(actor, text_rep)
+}
+
+#[wasm_bindgen(js_name = load)]
+pub fn load(
+    data: Uint8Array,
+    text_v2: bool,
+    actor: Option<String>,
+) -> Result<Automerge, error::Load> {
+    let data = data.to_vec();
+    let text_rep = if text_v2 {
+        TextRepresentation::String
+    } else {
+        TextRepresentation::Array
+    };
+    let mut doc = am::AutoCommitWithObs::<UnObserved>::load(&data)?
+        .with_observer(Observer::default().with_text_rep(text_rep))
+        .with_encoding(TextEncoding::Utf16);
+    if let Some(s) = actor {
+        let actor =
+            automerge::ActorId::from(hex::decode(s).map_err(error::BadActorId::from)?.to_vec());
+        doc.set_actor(actor);
+    }
+    Ok(Automerge {
+        doc,
+        freeze: false,
+        external_types: HashMap::default(),
+        text_rep,
+    })
+}
+
+#[wasm_bindgen(js_name = encodeChange)]
+pub fn encode_change(change: JsValue) -> Result<Uint8Array, error::EncodeChange> {
+    // Alex: Technically we should be using serde_wasm_bindgen::from_value instead of into_serde.
+    // Unfortunately serde_wasm_bindgen::from_value fails for some inscrutable reason, so instead
+    // we use into_serde (sorry to future me).
+    #[allow(deprecated)]
+    let change: am::ExpandedChange = change.into_serde()?;
+    let change: Change = change.into();
+    Ok(Uint8Array::from(change.raw_bytes()))
+}
+
+#[wasm_bindgen(js_name = decodeChange)]
+pub fn decode_change(change: Uint8Array) -> Result<JsValue, error::DecodeChange> {
+    let change = Change::from_bytes(change.to_vec())?;
+    let change: am::ExpandedChange = change.decode();
+    let serializer = serde_wasm_bindgen::Serializer::json_compatible();
+    Ok(change.serialize(&serializer)?)
+}
+
+#[wasm_bindgen(js_name = initSyncState)]
+pub fn init_sync_state() -> SyncState {
+    SyncState(am::sync::State::new())
+}
+
+// this is needed to be compatible with the automerge-js api
+#[wasm_bindgen(js_name = importSyncState)]
+pub fn import_sync_state(state: JsValue) -> Result<SyncState, interop::error::BadSyncState> {
+    Ok(SyncState(JS(state).try_into()?))
+}
+
+// this is needed to be compatible with the automerge-js api
+#[wasm_bindgen(js_name = exportSyncState)]
+pub fn export_sync_state(state: &SyncState) -> JsValue {
+    JS::from(state.0.clone()).into()
+}
+
+#[wasm_bindgen(js_name = encodeSyncMessage)]
+pub fn encode_sync_message(message: JsValue) -> Result<Uint8Array, interop::error::BadSyncMessage> {
+    let message: am::sync::Message = JS(message).try_into()?;
+    Ok(Uint8Array::from(message.encode().as_slice()))
+}
+
+#[wasm_bindgen(js_name = decodeSyncMessage)]
+pub fn decode_sync_message(msg: Uint8Array) -> Result<JsValue, error::BadSyncMessage> {
+    let data = msg.to_vec();
+    let msg = am::sync::Message::decode(&data)?;
+    let heads = AR::from(msg.heads.as_slice());
+    let need = AR::from(msg.need.as_slice());
+    let changes = AR::from(msg.changes.as_slice());
+    let have = AR::from(msg.have.as_slice());
+    let obj = Object::new().into();
+    // SAFETY: we just created this object
+    js_set(&obj, "heads", heads).unwrap();
+    js_set(&obj, "need", need).unwrap();
+    js_set(&obj, "have", have).unwrap();
+    js_set(&obj, "changes", changes).unwrap();
+    Ok(obj)
+}
+
+#[wasm_bindgen(js_name = encodeSyncState)]
+pub fn encode_sync_state(state: &SyncState) -> Uint8Array {
+    Uint8Array::from(state.0.encode().as_slice())
+}
+
+#[wasm_bindgen(js_name = decodeSyncState)]
+pub fn decode_sync_state(data: Uint8Array) -> Result<SyncState, sync::DecodeSyncStateErr> {
+    SyncState::decode(data)
+}
+
+pub mod error {
+    use automerge::AutomergeError;
+    use wasm_bindgen::JsValue;
+
+    use crate::interop::{
+        self,
+        error::{BadChangeHashes, BadJSChanges},
+    };
+
+    #[derive(Debug, thiserror::Error)]
+    #[error("could not parse Actor ID as a hex string: {0}")]
+    pub struct BadActorId(#[from] hex::FromHexError);
+
+    impl From<BadActorId> for JsValue {
+        fn from(s: BadActorId) -> Self {
+            JsValue::from(s.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum ApplyChangesError {
+        #[error(transparent)]
+        DecodeChanges(#[from] BadJSChanges),
+        #[error("error applying changes: {0}")]
+        Apply(#[from] AutomergeError),
+    }
+
+    impl From<ApplyChangesError> for JsValue {
+        fn from(e: ApplyChangesError) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Fork {
+        #[error(transparent)]
+        BadActor(#[from] BadActorId),
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+        #[error(transparent)]
+        BadChangeHashes(#[from] BadChangeHashes),
+    }
+
+    impl From<Fork> for JsValue {
+        fn from(f: Fork) -> Self {
+            JsValue::from(f.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    #[error(transparent)]
+    pub struct Merge(#[from] AutomergeError);
+
+    impl From<Merge> for JsValue {
+        fn from(e: Merge) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Get {
+        #[error("invalid object ID: {0}")]
+        ImportObj(#[from] interop::error::ImportObj),
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+        #[error("bad heads: {0}")]
+        BadHeads(#[from] interop::error::BadChangeHashes),
+        #[error(transparent)]
+        InvalidProp(#[from] interop::error::InvalidProp),
+    }
+
+    impl From<Get> for JsValue {
+        fn from(e: Get) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Splice {
+        #[error("invalid object ID: {0}")]
+        ImportObj(#[from] interop::error::ImportObj),
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+        #[error("value at {0} in values to insert was not a primitive")]
+        ValueNotPrimitive(usize),
+    }
+
+    impl From<Splice> for JsValue {
+        fn from(e: Splice) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Insert {
+        #[error("invalid object id: {0}")]
+        ImportObj(#[from] interop::error::ImportObj),
+        #[error("the value to insert was not a primitive")]
+        ValueNotPrimitive,
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+        #[error(transparent)]
+        InvalidProp(#[from] interop::error::InvalidProp),
+        #[error(transparent)]
+        InvalidValue(#[from] interop::error::InvalidValue),
+    }
+
+    impl From<Insert> for JsValue {
+        fn from(e: Insert) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum InsertObject {
+        #[error("invalid object id: {0}")]
+        ImportObj(#[from] interop::error::ImportObj),
+        #[error("the value to insert must be an object")]
+        ValueNotObject,
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+        #[error(transparent)]
+        InvalidProp(#[from] interop::error::InvalidProp),
+        #[error(transparent)]
+        InvalidValue(#[from] interop::error::InvalidValue),
+    }
+
+    impl From<InsertObject> for JsValue {
+        fn from(e: InsertObject) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Increment {
+        #[error("invalid object id: {0}")]
+        ImportObj(#[from] interop::error::ImportObj),
+        #[error(transparent)]
+        InvalidProp(#[from] interop::error::InvalidProp),
+        #[error("value was not numeric")]
+        ValueNotNumeric,
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+    }
+
+    impl From<Increment> for JsValue {
+        fn from(e: Increment) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum BadSyncMessage {
+        #[error("could not decode sync message: {0}")]
+        ReadMessage(#[from] automerge::sync::ReadMessageError),
+    }
+
+    impl From<BadSyncMessage> for JsValue {
+        fn from(e: BadSyncMessage) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum ApplyPatch {
+        #[error(transparent)]
+        Interop(#[from] interop::error::ApplyPatch),
+        #[error(transparent)]
+        Export(#[from] interop::error::Export),
+        #[error("patch was not an object")]
+        NotObjectd,
+        #[error("error calling patch callback: {0:?}")]
+        PatchCallback(JsValue),
+    }
+
+    impl From<ApplyPatch> for JsValue {
+        fn from(e: ApplyPatch) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    #[error("unable to build patches: {0}")]
+    pub struct PopPatches(#[from] interop::error::Export);
+
+    impl From<PopPatches> for JsValue {
+        fn from(e: PopPatches) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Materialize {
+        #[error(transparent)]
+        Export(#[from] interop::error::Export),
+        #[error("bad heads: {0}")]
+        Heads(#[from] interop::error::BadChangeHashes),
+    }
+
+    impl From<Materialize> for JsValue {
+        fn from(e: Materialize) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum ReceiveSyncMessage {
+        #[error(transparent)]
+        Decode(#[from] automerge::sync::ReadMessageError),
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+    }
+
+    impl From<ReceiveSyncMessage> for JsValue {
+        fn from(e: ReceiveSyncMessage) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum Load {
+        #[error(transparent)]
+        Automerge(#[from] AutomergeError),
+        #[error(transparent)]
+        BadActor(#[from] BadActorId),
+    }
+
+    impl From<Load> for JsValue {
+        fn from(e: Load) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    #[error("Unable to read JS change: {0}")]
+    pub struct EncodeChange(#[from] serde_json::Error);
+
+    impl From<EncodeChange> for JsValue {
+        fn from(e: EncodeChange) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+
+    #[derive(Debug, thiserror::Error)]
+    pub enum DecodeChange {
+        #[error(transparent)]
+        Load(#[from] automerge::LoadChangeError),
+        #[error(transparent)]
+        Serialize(#[from] serde_wasm_bindgen::Error),
+    }
+
+    impl From<DecodeChange> for JsValue {
+        fn from(e: DecodeChange) -> Self {
+            JsValue::from(e.to_string())
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge_wasm/observer.rs.html b/src/automerge_wasm/observer.rs.html new file mode 100644 index 00000000..3fa8e330 --- /dev/null +++ b/src/automerge_wasm/observer.rs.html @@ -0,0 +1,1039 @@ +observer.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+
#![allow(dead_code)]
+
+use std::borrow::Cow;
+
+use crate::{
+    interop::{self, alloc, js_set},
+    TextRepresentation,
+};
+use automerge::{ObjId, OpObserver, Prop, ReadDoc, ScalarValue, Value};
+use js_sys::{Array, Object};
+use wasm_bindgen::prelude::*;
+
+use crate::sequence_tree::SequenceTree;
+
+#[derive(Debug, Clone, Default)]
+pub(crate) struct Observer {
+    enabled: bool,
+    patches: Vec<Patch>,
+    text_rep: TextRepresentation,
+}
+
+impl Observer {
+    pub(crate) fn take_patches(&mut self) -> Vec<Patch> {
+        std::mem::take(&mut self.patches)
+    }
+    pub(crate) fn enable(&mut self, enable: bool) -> bool {
+        if self.enabled && !enable {
+            self.patches.truncate(0)
+        }
+        let old_enabled = self.enabled;
+        self.enabled = enable;
+        old_enabled
+    }
+
+    fn get_path<R: ReadDoc>(&mut self, doc: &R, obj: &ObjId) -> Option<Vec<(ObjId, Prop)>> {
+        match doc.parents(obj) {
+            Ok(parents) => parents.visible_path(),
+            Err(e) => {
+                automerge::log!("error generating patch : {:?}", e);
+                None
+            }
+        }
+    }
+
+    pub(crate) fn with_text_rep(mut self, text_rep: TextRepresentation) -> Self {
+        self.text_rep = text_rep;
+        self
+    }
+
+    pub(crate) fn set_text_rep(&mut self, text_rep: TextRepresentation) {
+        self.text_rep = text_rep;
+    }
+}
+
+#[derive(Debug, Clone)]
+pub(crate) enum Patch {
+    PutMap {
+        obj: ObjId,
+        path: Vec<(ObjId, Prop)>,
+        key: String,
+        value: (Value<'static>, ObjId),
+        expose: bool,
+    },
+    PutSeq {
+        obj: ObjId,
+        path: Vec<(ObjId, Prop)>,
+        index: usize,
+        value: (Value<'static>, ObjId),
+        expose: bool,
+    },
+    Insert {
+        obj: ObjId,
+        path: Vec<(ObjId, Prop)>,
+        index: usize,
+        values: SequenceTree<(Value<'static>, ObjId)>,
+    },
+    SpliceText {
+        obj: ObjId,
+        path: Vec<(ObjId, Prop)>,
+        index: usize,
+        value: SequenceTree<u16>,
+    },
+    Increment {
+        obj: ObjId,
+        path: Vec<(ObjId, Prop)>,
+        prop: Prop,
+        value: i64,
+    },
+    DeleteMap {
+        obj: ObjId,
+        path: Vec<(ObjId, Prop)>,
+        key: String,
+    },
+    DeleteSeq {
+        obj: ObjId,
+        path: Vec<(ObjId, Prop)>,
+        index: usize,
+        length: usize,
+    },
+}
+
+impl OpObserver for Observer {
+    fn insert<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        obj: ObjId,
+        index: usize,
+        tagged_value: (Value<'_>, ObjId),
+    ) {
+        if self.enabled {
+            let value = (tagged_value.0.to_owned(), tagged_value.1);
+            if let Some(Patch::Insert {
+                obj: tail_obj,
+                index: tail_index,
+                values,
+                ..
+            }) = self.patches.last_mut()
+            {
+                let range = *tail_index..=*tail_index + values.len();
+                if tail_obj == &obj && range.contains(&index) {
+                    values.insert(index - *tail_index, value);
+                    return;
+                }
+            }
+            if let Some(path) = self.get_path(doc, &obj) {
+                let mut values = SequenceTree::new();
+                values.push(value);
+                let patch = Patch::Insert {
+                    path,
+                    obj,
+                    index,
+                    values,
+                };
+                self.patches.push(patch);
+            }
+        }
+    }
+
+    fn splice_text<R: ReadDoc>(&mut self, doc: &R, obj: ObjId, index: usize, value: &str) {
+        if self.enabled {
+            if self.text_rep == TextRepresentation::Array {
+                for (i, c) in value.chars().enumerate() {
+                    self.insert(
+                        doc,
+                        obj.clone(),
+                        index + i,
+                        (
+                            Value::Scalar(Cow::Owned(ScalarValue::Str(c.to_string().into()))),
+                            ObjId::Root, // We hope this is okay
+                        ),
+                    );
+                }
+                return;
+            }
+            if let Some(Patch::SpliceText {
+                obj: tail_obj,
+                index: tail_index,
+                value: prev_value,
+                ..
+            }) = self.patches.last_mut()
+            {
+                let range = *tail_index..=*tail_index + prev_value.len();
+                if tail_obj == &obj && range.contains(&index) {
+                    let i = index - *tail_index;
+                    for (n, ch) in value.encode_utf16().enumerate() {
+                        prev_value.insert(i + n, ch)
+                    }
+                    return;
+                }
+            }
+            if let Some(path) = self.get_path(doc, &obj) {
+                let mut v = SequenceTree::new();
+                for ch in value.encode_utf16() {
+                    v.push(ch)
+                }
+                let patch = Patch::SpliceText {
+                    path,
+                    obj,
+                    index,
+                    value: v,
+                };
+                self.patches.push(patch);
+            }
+        }
+    }
+
+    fn delete_seq<R: ReadDoc>(&mut self, doc: &R, obj: ObjId, index: usize, length: usize) {
+        if self.enabled {
+            match self.patches.last_mut() {
+                Some(Patch::SpliceText {
+                    obj: tail_obj,
+                    index: tail_index,
+                    value,
+                    ..
+                }) => {
+                    let range = *tail_index..*tail_index + value.len();
+                    if tail_obj == &obj
+                        && range.contains(&index)
+                        && range.contains(&(index + length - 1))
+                    {
+                        for _ in 0..length {
+                            value.remove(index - *tail_index);
+                        }
+                        return;
+                    }
+                }
+                Some(Patch::Insert {
+                    obj: tail_obj,
+                    index: tail_index,
+                    values,
+                    ..
+                }) => {
+                    let range = *tail_index..*tail_index + values.len();
+                    if tail_obj == &obj
+                        && range.contains(&index)
+                        && range.contains(&(index + length - 1))
+                    {
+                        for _ in 0..length {
+                            values.remove(index - *tail_index);
+                        }
+                        return;
+                    }
+                }
+                Some(Patch::DeleteSeq {
+                    obj: tail_obj,
+                    index: tail_index,
+                    length: tail_length,
+                    ..
+                }) => {
+                    if tail_obj == &obj && index == *tail_index {
+                        *tail_length += length;
+                        return;
+                    }
+                }
+                _ => {}
+            }
+            if let Some(path) = self.get_path(doc, &obj) {
+                let patch = Patch::DeleteSeq {
+                    path,
+                    obj,
+                    index,
+                    length,
+                };
+                self.patches.push(patch)
+            }
+        }
+    }
+
+    fn delete_map<R: ReadDoc>(&mut self, doc: &R, obj: ObjId, key: &str) {
+        if self.enabled {
+            if let Some(path) = self.get_path(doc, &obj) {
+                let patch = Patch::DeleteMap {
+                    path,
+                    obj,
+                    key: key.to_owned(),
+                };
+                self.patches.push(patch)
+            }
+        }
+    }
+
+    fn put<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        obj: ObjId,
+        prop: Prop,
+        tagged_value: (Value<'_>, ObjId),
+        _conflict: bool,
+    ) {
+        if self.enabled {
+            let expose = false;
+            if let Some(path) = self.get_path(doc, &obj) {
+                let value = (tagged_value.0.to_owned(), tagged_value.1);
+                let patch = match prop {
+                    Prop::Map(key) => Patch::PutMap {
+                        path,
+                        obj,
+                        key,
+                        value,
+                        expose,
+                    },
+                    Prop::Seq(index) => Patch::PutSeq {
+                        path,
+                        obj,
+                        index,
+                        value,
+                        expose,
+                    },
+                };
+                self.patches.push(patch);
+            }
+        }
+    }
+
+    fn expose<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        obj: ObjId,
+        prop: Prop,
+        tagged_value: (Value<'_>, ObjId),
+        _conflict: bool,
+    ) {
+        if self.enabled {
+            let expose = true;
+            if let Some(path) = self.get_path(doc, &obj) {
+                let value = (tagged_value.0.to_owned(), tagged_value.1);
+                let patch = match prop {
+                    Prop::Map(key) => Patch::PutMap {
+                        path,
+                        obj,
+                        key,
+                        value,
+                        expose,
+                    },
+                    Prop::Seq(index) => Patch::PutSeq {
+                        path,
+                        obj,
+                        index,
+                        value,
+                        expose,
+                    },
+                };
+                self.patches.push(patch);
+            }
+        }
+    }
+
+    fn increment<R: ReadDoc>(
+        &mut self,
+        doc: &R,
+        obj: ObjId,
+        prop: Prop,
+        tagged_value: (i64, ObjId),
+    ) {
+        if self.enabled {
+            if let Some(path) = self.get_path(doc, &obj) {
+                let value = tagged_value.0;
+                self.patches.push(Patch::Increment {
+                    path,
+                    obj,
+                    prop,
+                    value,
+                })
+            }
+        }
+    }
+
+    fn text_as_seq(&self) -> bool {
+        self.text_rep == TextRepresentation::Array
+    }
+}
+
+impl automerge::op_observer::BranchableObserver for Observer {
+    fn merge(&mut self, other: &Self) {
+        self.patches.extend_from_slice(other.patches.as_slice())
+    }
+
+    fn branch(&self) -> Self {
+        Observer {
+            patches: vec![],
+            enabled: self.enabled,
+            text_rep: self.text_rep,
+        }
+    }
+}
+
+fn prop_to_js(p: &Prop) -> JsValue {
+    match p {
+        Prop::Map(key) => JsValue::from_str(key),
+        Prop::Seq(index) => JsValue::from_f64(*index as f64),
+    }
+}
+
+fn export_path(path: &[(ObjId, Prop)], end: &Prop) -> Array {
+    let result = Array::new();
+    for p in path {
+        result.push(&prop_to_js(&p.1));
+    }
+    result.push(&prop_to_js(end));
+    result
+}
+
+impl Patch {
+    pub(crate) fn path(&self) -> &[(ObjId, Prop)] {
+        match &self {
+            Self::PutMap { path, .. } => path.as_slice(),
+            Self::PutSeq { path, .. } => path.as_slice(),
+            Self::Increment { path, .. } => path.as_slice(),
+            Self::Insert { path, .. } => path.as_slice(),
+            Self::SpliceText { path, .. } => path.as_slice(),
+            Self::DeleteMap { path, .. } => path.as_slice(),
+            Self::DeleteSeq { path, .. } => path.as_slice(),
+        }
+    }
+
+    pub(crate) fn obj(&self) -> &ObjId {
+        match &self {
+            Self::PutMap { obj, .. } => obj,
+            Self::PutSeq { obj, .. } => obj,
+            Self::Increment { obj, .. } => obj,
+            Self::Insert { obj, .. } => obj,
+            Self::SpliceText { obj, .. } => obj,
+            Self::DeleteMap { obj, .. } => obj,
+            Self::DeleteSeq { obj, .. } => obj,
+        }
+    }
+}
+
+impl TryFrom<Patch> for JsValue {
+    type Error = interop::error::Export;
+
+    fn try_from(p: Patch) -> Result<Self, Self::Error> {
+        let result = Object::new();
+        match p {
+            Patch::PutMap {
+                path, key, value, ..
+            } => {
+                js_set(&result, "action", "put")?;
+                js_set(
+                    &result,
+                    "path",
+                    export_path(path.as_slice(), &Prop::Map(key)),
+                )?;
+                js_set(
+                    &result,
+                    "value",
+                    alloc(&value.0, TextRepresentation::String).1,
+                )?;
+                Ok(result.into())
+            }
+            Patch::PutSeq {
+                path, index, value, ..
+            } => {
+                js_set(&result, "action", "put")?;
+                js_set(
+                    &result,
+                    "path",
+                    export_path(path.as_slice(), &Prop::Seq(index)),
+                )?;
+                js_set(
+                    &result,
+                    "value",
+                    alloc(&value.0, TextRepresentation::String).1,
+                )?;
+                Ok(result.into())
+            }
+            Patch::Insert {
+                path,
+                index,
+                values,
+                ..
+            } => {
+                js_set(&result, "action", "insert")?;
+                js_set(
+                    &result,
+                    "path",
+                    export_path(path.as_slice(), &Prop::Seq(index)),
+                )?;
+                js_set(
+                    &result,
+                    "values",
+                    values
+                        .iter()
+                        .map(|v| alloc(&v.0, TextRepresentation::String).1)
+                        .collect::<Array>(),
+                )?;
+                Ok(result.into())
+            }
+            Patch::SpliceText {
+                path, index, value, ..
+            } => {
+                js_set(&result, "action", "splice")?;
+                js_set(
+                    &result,
+                    "path",
+                    export_path(path.as_slice(), &Prop::Seq(index)),
+                )?;
+                let bytes: Vec<u16> = value.iter().cloned().collect();
+                js_set(&result, "value", String::from_utf16_lossy(bytes.as_slice()))?;
+                Ok(result.into())
+            }
+            Patch::Increment {
+                path, prop, value, ..
+            } => {
+                js_set(&result, "action", "inc")?;
+                js_set(&result, "path", export_path(path.as_slice(), &prop))?;
+                js_set(&result, "value", &JsValue::from_f64(value as f64))?;
+                Ok(result.into())
+            }
+            Patch::DeleteMap { path, key, .. } => {
+                js_set(&result, "action", "del")?;
+                js_set(
+                    &result,
+                    "path",
+                    export_path(path.as_slice(), &Prop::Map(key)),
+                )?;
+                Ok(result.into())
+            }
+            Patch::DeleteSeq {
+                path,
+                index,
+                length,
+                ..
+            } => {
+                js_set(&result, "action", "del")?;
+                js_set(
+                    &result,
+                    "path",
+                    export_path(path.as_slice(), &Prop::Seq(index)),
+                )?;
+                if length > 1 {
+                    js_set(&result, "length", length)?;
+                }
+                Ok(result.into())
+            }
+        }
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge_wasm/sequence_tree.rs.html b/src/automerge_wasm/sequence_tree.rs.html new file mode 100644 index 00000000..5ac7109b --- /dev/null +++ b/src/automerge_wasm/sequence_tree.rs.html @@ -0,0 +1,1237 @@ +sequence_tree.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+
use std::{
+    cmp::{min, Ordering},
+    fmt::Debug,
+    mem,
+};
+
+pub(crate) const B: usize = 16;
+pub(crate) type SequenceTree<T> = SequenceTreeInternal<T>;
+
+#[derive(Clone, Debug)]
+pub(crate) struct SequenceTreeInternal<T> {
+    root_node: Option<SequenceTreeNode<T>>,
+}
+
+#[derive(Clone, Debug, PartialEq)]
+struct SequenceTreeNode<T> {
+    elements: Vec<T>,
+    children: Vec<SequenceTreeNode<T>>,
+    length: usize,
+}
+
+impl<T> SequenceTreeInternal<T>
+where
+    T: Clone + Debug,
+{
+    /// Construct a new, empty, sequence.
+    pub(crate) fn new() -> Self {
+        Self { root_node: None }
+    }
+
+    /// Get the length of the sequence.
+    pub(crate) fn len(&self) -> usize {
+        self.root_node.as_ref().map_or(0, |n| n.len())
+    }
+
+    /// Create an iterator through the sequence.
+    pub(crate) fn iter(&self) -> Iter<'_, T> {
+        Iter {
+            inner: self,
+            index: 0,
+        }
+    }
+
+    /// Insert the `element` into the sequence at `index`.
+    ///
+    /// # Panics
+    ///
+    /// Panics if `index > len`.
+    pub(crate) fn insert(&mut self, index: usize, element: T) {
+        let old_len = self.len();
+        if let Some(root) = self.root_node.as_mut() {
+            #[cfg(debug_assertions)]
+            root.check();
+
+            if root.is_full() {
+                let original_len = root.len();
+                let new_root = SequenceTreeNode::new();
+
+                // move new_root to root position
+                let old_root = mem::replace(root, new_root);
+
+                root.length += old_root.len();
+                root.children.push(old_root);
+                root.split_child(0);
+
+                assert_eq!(original_len, root.len());
+
+                // after splitting the root has one element and two children, find which child the
+                // index is in
+                let first_child_len = root.children[0].len();
+                let (child, insertion_index) = if first_child_len < index {
+                    (&mut root.children[1], index - (first_child_len + 1))
+                } else {
+                    (&mut root.children[0], index)
+                };
+                root.length += 1;
+                child.insert_into_non_full_node(insertion_index, element)
+            } else {
+                root.insert_into_non_full_node(index, element)
+            }
+        } else {
+            self.root_node = Some(SequenceTreeNode {
+                elements: vec![element],
+                children: Vec::new(),
+                length: 1,
+            })
+        }
+        assert_eq!(self.len(), old_len + 1, "{:#?}", self);
+    }
+
+    /// Push the `element` onto the back of the sequence.
+    pub(crate) fn push(&mut self, element: T) {
+        let l = self.len();
+        self.insert(l, element)
+    }
+
+    /// Get the `element` at `index` in the sequence.
+    pub(crate) fn get(&self, index: usize) -> Option<&T> {
+        self.root_node.as_ref().and_then(|n| n.get(index))
+    }
+
+    /// Removes the element at `index` from the sequence.
+    ///
+    /// # Panics
+    ///
+    /// Panics if `index` is out of bounds.
+    pub(crate) fn remove(&mut self, index: usize) -> T {
+        if let Some(root) = self.root_node.as_mut() {
+            #[cfg(debug_assertions)]
+            let len = root.check();
+            let old = root.remove(index);
+
+            if root.elements.is_empty() {
+                if root.is_leaf() {
+                    self.root_node = None;
+                } else {
+                    self.root_node = Some(root.children.remove(0));
+                }
+            }
+
+            #[cfg(debug_assertions)]
+            debug_assert_eq!(len, self.root_node.as_ref().map_or(0, |r| r.check()) + 1);
+            old
+        } else {
+            panic!("remove from empty tree")
+        }
+    }
+}
+
+impl<T> SequenceTreeNode<T>
+where
+    T: Clone + Debug,
+{
+    fn new() -> Self {
+        Self {
+            elements: Vec::new(),
+            children: Vec::new(),
+            length: 0,
+        }
+    }
+
+    pub(crate) fn len(&self) -> usize {
+        self.length
+    }
+
+    fn is_leaf(&self) -> bool {
+        self.children.is_empty()
+    }
+
+    fn is_full(&self) -> bool {
+        self.elements.len() >= 2 * B - 1
+    }
+
+    /// Returns the child index and the given index adjusted for the cumulative index before that
+    /// child.
+    fn find_child_index(&self, index: usize) -> (usize, usize) {
+        let mut cumulative_len = 0;
+        for (child_index, child) in self.children.iter().enumerate() {
+            if cumulative_len + child.len() >= index {
+                return (child_index, index - cumulative_len);
+            } else {
+                cumulative_len += child.len() + 1;
+            }
+        }
+        panic!("index not found in node")
+    }
+
+    fn insert_into_non_full_node(&mut self, index: usize, element: T) {
+        assert!(!self.is_full());
+        if self.is_leaf() {
+            self.length += 1;
+            self.elements.insert(index, element);
+        } else {
+            let (child_index, sub_index) = self.find_child_index(index);
+            let child = &mut self.children[child_index];
+
+            if child.is_full() {
+                self.split_child(child_index);
+
+                // child structure has changed so we need to find the index again
+                let (child_index, sub_index) = self.find_child_index(index);
+                let child = &mut self.children[child_index];
+                child.insert_into_non_full_node(sub_index, element);
+            } else {
+                child.insert_into_non_full_node(sub_index, element);
+            }
+            self.length += 1;
+        }
+    }
+
+    // A utility function to split the child `full_child_index` of this node
+    // Note that `full_child_index` must be full when this function is called.
+    fn split_child(&mut self, full_child_index: usize) {
+        let original_len_self = self.len();
+
+        // Create a new node which is going to store (B-1) keys
+        // of the full child.
+        let mut successor_sibling = SequenceTreeNode::new();
+
+        let full_child = &mut self.children[full_child_index];
+        let original_len = full_child.len();
+        assert!(full_child.is_full());
+
+        successor_sibling.elements = full_child.elements.split_off(B);
+
+        if !full_child.is_leaf() {
+            successor_sibling.children = full_child.children.split_off(B);
+        }
+
+        let middle = full_child.elements.pop().unwrap();
+
+        full_child.length =
+            full_child.elements.len() + full_child.children.iter().map(|c| c.len()).sum::<usize>();
+
+        successor_sibling.length = successor_sibling.elements.len()
+            + successor_sibling
+                .children
+                .iter()
+                .map(|c| c.len())
+                .sum::<usize>();
+
+        let z_len = successor_sibling.len();
+
+        let full_child_len = full_child.len();
+
+        self.children
+            .insert(full_child_index + 1, successor_sibling);
+
+        self.elements.insert(full_child_index, middle);
+
+        assert_eq!(full_child_len + z_len + 1, original_len, "{:#?}", self);
+
+        assert_eq!(original_len_self, self.len());
+    }
+
+    fn remove_from_leaf(&mut self, index: usize) -> T {
+        self.length -= 1;
+        self.elements.remove(index)
+    }
+
+    fn remove_element_from_non_leaf(&mut self, index: usize, element_index: usize) -> T {
+        self.length -= 1;
+        if self.children[element_index].elements.len() >= B {
+            let total_index = self.cumulative_index(element_index);
+            // recursively delete index - 1 in predecessor_node
+            let predecessor = self.children[element_index].remove(index - 1 - total_index);
+            // replace element with that one
+            mem::replace(&mut self.elements[element_index], predecessor)
+        } else if self.children[element_index + 1].elements.len() >= B {
+            // recursively delete index + 1 in successor_node
+            let total_index = self.cumulative_index(element_index + 1);
+            let successor = self.children[element_index + 1].remove(index + 1 - total_index);
+            // replace element with that one
+            mem::replace(&mut self.elements[element_index], successor)
+        } else {
+            let middle_element = self.elements.remove(element_index);
+            let successor_child = self.children.remove(element_index + 1);
+            self.children[element_index].merge(middle_element, successor_child);
+
+            let total_index = self.cumulative_index(element_index);
+            self.children[element_index].remove(index - total_index)
+        }
+    }
+
+    fn cumulative_index(&self, child_index: usize) -> usize {
+        self.children[0..child_index]
+            .iter()
+            .map(|c| c.len() + 1)
+            .sum()
+    }
+
+    fn remove_from_internal_child(&mut self, index: usize, mut child_index: usize) -> T {
+        if self.children[child_index].elements.len() < B
+            && if child_index > 0 {
+                self.children[child_index - 1].elements.len() < B
+            } else {
+                true
+            }
+            && if child_index + 1 < self.children.len() {
+                self.children[child_index + 1].elements.len() < B
+            } else {
+                true
+            }
+        {
+            // if the child and its immediate siblings have B-1 elements merge the child
+            // with one sibling, moving an element from this node into the new merged node
+            // to be the median
+
+            if child_index > 0 {
+                let middle = self.elements.remove(child_index - 1);
+
+                // use the predessor sibling
+                let successor = self.children.remove(child_index);
+                child_index -= 1;
+
+                self.children[child_index].merge(middle, successor);
+            } else {
+                let middle = self.elements.remove(child_index);
+
+                // use the sucessor sibling
+                let successor = self.children.remove(child_index + 1);
+
+                self.children[child_index].merge(middle, successor);
+            }
+        } else if self.children[child_index].elements.len() < B {
+            if child_index > 0
+                && self
+                    .children
+                    .get(child_index - 1)
+                    .map_or(false, |c| c.elements.len() >= B)
+            {
+                let last_element = self.children[child_index - 1].elements.pop().unwrap();
+                assert!(!self.children[child_index - 1].elements.is_empty());
+                self.children[child_index - 1].length -= 1;
+
+                let parent_element =
+                    mem::replace(&mut self.elements[child_index - 1], last_element);
+
+                self.children[child_index]
+                    .elements
+                    .insert(0, parent_element);
+                self.children[child_index].length += 1;
+
+                if let Some(last_child) = self.children[child_index - 1].children.pop() {
+                    self.children[child_index - 1].length -= last_child.len();
+                    self.children[child_index].length += last_child.len();
+                    self.children[child_index].children.insert(0, last_child);
+                }
+            } else if self
+                .children
+                .get(child_index + 1)
+                .map_or(false, |c| c.elements.len() >= B)
+            {
+                let first_element = self.children[child_index + 1].elements.remove(0);
+                self.children[child_index + 1].length -= 1;
+
+                assert!(!self.children[child_index + 1].elements.is_empty());
+
+                let parent_element = mem::replace(&mut self.elements[child_index], first_element);
+
+                self.children[child_index].length += 1;
+                self.children[child_index].elements.push(parent_element);
+
+                if !self.children[child_index + 1].is_leaf() {
+                    let first_child = self.children[child_index + 1].children.remove(0);
+                    self.children[child_index + 1].length -= first_child.len();
+                    self.children[child_index].length += first_child.len();
+
+                    self.children[child_index].children.push(first_child);
+                }
+            }
+        }
+        self.length -= 1;
+        let total_index = self.cumulative_index(child_index);
+        self.children[child_index].remove(index - total_index)
+    }
+
+    fn check(&self) -> usize {
+        let l = self.elements.len() + self.children.iter().map(|c| c.check()).sum::<usize>();
+        assert_eq!(self.len(), l, "{:#?}", self);
+
+        l
+    }
+
+    pub(crate) fn remove(&mut self, index: usize) -> T {
+        let original_len = self.len();
+        if self.is_leaf() {
+            let v = self.remove_from_leaf(index);
+            assert_eq!(original_len, self.len() + 1);
+            debug_assert_eq!(self.check(), self.len());
+            v
+        } else {
+            let mut total_index = 0;
+            for (child_index, child) in self.children.iter().enumerate() {
+                match (total_index + child.len()).cmp(&index) {
+                    Ordering::Less => {
+                        // should be later on in the loop
+                        total_index += child.len() + 1;
+                        continue;
+                    }
+                    Ordering::Equal => {
+                        let v = self.remove_element_from_non_leaf(
+                            index,
+                            min(child_index, self.elements.len() - 1),
+                        );
+                        assert_eq!(original_len, self.len() + 1);
+                        debug_assert_eq!(self.check(), self.len());
+                        return v;
+                    }
+                    Ordering::Greater => {
+                        let v = self.remove_from_internal_child(index, child_index);
+                        assert_eq!(original_len, self.len() + 1);
+                        debug_assert_eq!(self.check(), self.len());
+                        return v;
+                    }
+                }
+            }
+            panic!(
+                "index not found to remove {} {} {} {}",
+                index,
+                total_index,
+                self.len(),
+                self.check()
+            );
+        }
+    }
+
+    fn merge(&mut self, middle: T, successor_sibling: SequenceTreeNode<T>) {
+        self.elements.push(middle);
+        self.elements.extend(successor_sibling.elements);
+        self.children.extend(successor_sibling.children);
+        self.length += successor_sibling.length + 1;
+        assert!(self.is_full());
+    }
+
+    pub(crate) fn get(&self, index: usize) -> Option<&T> {
+        if self.is_leaf() {
+            return self.elements.get(index);
+        } else {
+            let mut cumulative_len = 0;
+            for (child_index, child) in self.children.iter().enumerate() {
+                match (cumulative_len + child.len()).cmp(&index) {
+                    Ordering::Less => {
+                        cumulative_len += child.len() + 1;
+                    }
+                    Ordering::Equal => return self.elements.get(child_index),
+                    Ordering::Greater => {
+                        return child.get(index - cumulative_len);
+                    }
+                }
+            }
+        }
+        None
+    }
+}
+
+impl<T> Default for SequenceTreeInternal<T>
+where
+    T: Clone + Debug,
+{
+    fn default() -> Self {
+        Self::new()
+    }
+}
+
+impl<T> PartialEq for SequenceTreeInternal<T>
+where
+    T: Clone + Debug + PartialEq,
+{
+    fn eq(&self, other: &Self) -> bool {
+        self.len() == other.len() && self.iter().zip(other.iter()).all(|(a, b)| a == b)
+    }
+}
+
+impl<'a, T> IntoIterator for &'a SequenceTreeInternal<T>
+where
+    T: Clone + Debug,
+{
+    type Item = &'a T;
+
+    type IntoIter = Iter<'a, T>;
+
+    fn into_iter(self) -> Self::IntoIter {
+        Iter {
+            inner: self,
+            index: 0,
+        }
+    }
+}
+
+#[derive(Debug)]
+pub struct Iter<'a, T> {
+    inner: &'a SequenceTreeInternal<T>,
+    index: usize,
+}
+
+impl<'a, T> Iterator for Iter<'a, T>
+where
+    T: Clone + Debug,
+{
+    type Item = &'a T;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        self.index += 1;
+        self.inner.get(self.index - 1)
+    }
+
+    fn nth(&mut self, n: usize) -> Option<Self::Item> {
+        self.index += n + 1;
+        self.inner.get(self.index - 1)
+    }
+}
+
+#[cfg(test)]
+mod tests {
+    use proptest::prelude::*;
+
+    use super::*;
+
+    #[test]
+    fn push_back() {
+        let mut t = SequenceTree::new();
+
+        t.push(1);
+        t.push(2);
+        t.push(3);
+        t.push(4);
+        t.push(5);
+        t.push(6);
+        t.push(8);
+        t.push(100);
+    }
+
+    #[test]
+    fn insert() {
+        let mut t = SequenceTree::new();
+
+        t.insert(0, 1);
+        t.insert(1, 1);
+        t.insert(0, 1);
+        t.insert(0, 1);
+        t.insert(0, 1);
+        t.insert(3, 1);
+        t.insert(4, 1);
+    }
+
+    #[test]
+    fn insert_book() {
+        let mut t = SequenceTree::new();
+
+        for i in 0..100 {
+            t.insert(i % 2, ());
+        }
+    }
+
+    #[test]
+    fn insert_book_vec() {
+        let mut t = SequenceTree::new();
+        let mut v = Vec::new();
+
+        for i in 0..100 {
+            t.insert(i % 3, ());
+            v.insert(i % 3, ());
+
+            assert_eq!(v, t.iter().copied().collect::<Vec<_>>())
+        }
+    }
+
+    fn arb_indices() -> impl Strategy<Value = Vec<usize>> {
+        proptest::collection::vec(any::<usize>(), 0..1000).prop_map(|v| {
+            let mut len = 0;
+            v.into_iter()
+                .map(|i| {
+                    len += 1;
+                    i % len
+                })
+                .collect::<Vec<_>>()
+        })
+    }
+
+    proptest! {
+
+        #[test]
+        fn proptest_insert(indices in arb_indices()) {
+            let mut t = SequenceTreeInternal::<usize>::new();
+            let mut v = Vec::new();
+
+            for i in indices{
+                if i <= v.len() {
+                    t.insert(i % 3, i);
+                    v.insert(i % 3, i);
+                } else {
+                    return Err(proptest::test_runner::TestCaseError::reject("index out of bounds"))
+                }
+
+                assert_eq!(v, t.iter().copied().collect::<Vec<_>>())
+            }
+        }
+
+    }
+
+    proptest! {
+
+        // This is a really slow test due to all the copying of the Vecs (i.e. not due to the
+        // sequencetree) so we only do a few runs
+        #![proptest_config(ProptestConfig::with_cases(20))]
+        #[test]
+        fn proptest_remove(inserts in arb_indices(), removes in arb_indices()) {
+            let mut t = SequenceTreeInternal::<usize>::new();
+            let mut v = Vec::new();
+
+            for i in inserts {
+                if i <= v.len() {
+                    t.insert(i , i);
+                    v.insert(i , i);
+                } else {
+                    return Err(proptest::test_runner::TestCaseError::reject("index out of bounds"))
+                }
+
+                assert_eq!(v, t.iter().copied().collect::<Vec<_>>())
+            }
+
+            for i in removes {
+                if i < v.len() {
+                    let tr = t.remove(i);
+                    let vr = v.remove(i);
+                    assert_eq!(tr, vr);
+                } else {
+                    return Err(proptest::test_runner::TestCaseError::reject("index out of bounds"))
+                }
+
+                assert_eq!(v, t.iter().copied().collect::<Vec<_>>())
+            }
+        }
+
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge_wasm/sync.rs.html b/src/automerge_wasm/sync.rs.html new file mode 100644 index 00000000..11728450 --- /dev/null +++ b/src/automerge_wasm/sync.rs.html @@ -0,0 +1,133 @@ +sync.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+
use automerge as am;
+use automerge::ChangeHash;
+use js_sys::Uint8Array;
+use std::collections::{BTreeSet, HashMap};
+use std::convert::TryInto;
+use wasm_bindgen::prelude::*;
+
+use crate::interop::{self, to_js_err, AR, JS};
+
+#[wasm_bindgen]
+#[derive(Debug)]
+pub struct SyncState(pub(crate) am::sync::State);
+
+#[wasm_bindgen]
+impl SyncState {
+    #[wasm_bindgen(getter, js_name = sharedHeads)]
+    pub fn shared_heads(&self) -> JsValue {
+        AR::from(self.0.shared_heads.as_slice()).into()
+    }
+
+    #[wasm_bindgen(getter, js_name = lastSentHeads)]
+    pub fn last_sent_heads(&self) -> JsValue {
+        AR::from(self.0.last_sent_heads.as_slice()).into()
+    }
+
+    #[wasm_bindgen(setter, js_name = lastSentHeads)]
+    pub fn set_last_sent_heads(
+        &mut self,
+        heads: JsValue,
+    ) -> Result<(), interop::error::BadChangeHashes> {
+        let heads: Vec<ChangeHash> = JS(heads).try_into()?;
+        self.0.last_sent_heads = heads;
+        Ok(())
+    }
+
+    #[wasm_bindgen(setter, js_name = sentHashes)]
+    pub fn set_sent_hashes(&mut self, hashes: JsValue) -> Result<(), JsValue> {
+        let hashes_map: HashMap<ChangeHash, bool> =
+            serde_wasm_bindgen::from_value(hashes).map_err(to_js_err)?;
+        let hashes_set: BTreeSet<ChangeHash> = hashes_map.keys().cloned().collect();
+        self.0.sent_hashes = hashes_set;
+        Ok(())
+    }
+
+    #[allow(clippy::should_implement_trait)]
+    pub fn clone(&self) -> Self {
+        SyncState(self.0.clone())
+    }
+
+    pub(crate) fn decode(data: Uint8Array) -> Result<SyncState, DecodeSyncStateErr> {
+        let data = data.to_vec();
+        let s = am::sync::State::decode(&data)?;
+        Ok(SyncState(s))
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+#[error(transparent)]
+pub struct DecodeSyncStateErr(#[from] automerge::sync::DecodeStateError);
+
+impl From<DecodeSyncStateErr> for JsValue {
+    fn from(e: DecodeSyncStateErr) -> Self {
+        JsValue::from(e.to_string())
+    }
+}
+
+
\ No newline at end of file diff --git a/src/automerge_wasm/value.rs.html b/src/automerge_wasm/value.rs.html new file mode 100644 index 00000000..95abffdb --- /dev/null +++ b/src/automerge_wasm/value.rs.html @@ -0,0 +1,325 @@ +value.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+
use automerge::{ObjType, ScalarValue, Value};
+use wasm_bindgen::prelude::*;
+
+#[derive(Debug, Clone, Hash, Eq, PartialEq)]
+pub(crate) enum Datatype {
+    Map,
+    Table,
+    List,
+    Text,
+    Bytes,
+    Str,
+    Int,
+    Uint,
+    F64,
+    Counter,
+    Timestamp,
+    Boolean,
+    Null,
+    Unknown(u8),
+}
+
+impl Datatype {
+    pub(crate) fn is_scalar(&self) -> bool {
+        !matches!(self, Self::Map | Self::Table | Self::List | Self::Text)
+    }
+}
+
+impl From<&ObjType> for Datatype {
+    fn from(o: &ObjType) -> Self {
+        (*o).into()
+    }
+}
+
+impl From<ObjType> for Datatype {
+    fn from(o: ObjType) -> Self {
+        match o {
+            ObjType::Map => Self::Map,
+            ObjType::List => Self::List,
+            ObjType::Table => Self::Table,
+            ObjType::Text => Self::Text,
+        }
+    }
+}
+
+impl std::fmt::Display for Datatype {
+    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> Result<(), std::fmt::Error> {
+        write!(f, "{}", String::from(self.clone()))
+    }
+}
+
+impl From<&ScalarValue> for Datatype {
+    fn from(s: &ScalarValue) -> Self {
+        match s {
+            ScalarValue::Bytes(_) => Self::Bytes,
+            ScalarValue::Str(_) => Self::Str,
+            ScalarValue::Int(_) => Self::Int,
+            ScalarValue::Uint(_) => Self::Uint,
+            ScalarValue::F64(_) => Self::F64,
+            ScalarValue::Counter(_) => Self::Counter,
+            ScalarValue::Timestamp(_) => Self::Timestamp,
+            ScalarValue::Boolean(_) => Self::Boolean,
+            ScalarValue::Null => Self::Null,
+            ScalarValue::Unknown { type_code, .. } => Self::Unknown(*type_code),
+        }
+    }
+}
+
+impl From<&Value<'_>> for Datatype {
+    fn from(v: &Value<'_>) -> Self {
+        match v {
+            Value::Object(o) => o.into(),
+            Value::Scalar(s) => s.as_ref().into(),
+            /*
+                            ScalarValue::Bytes(_) => Self::Bytes,
+                            ScalarValue::Str(_) => Self::Str,
+                            ScalarValue::Int(_) => Self::Int,
+                            ScalarValue::Uint(_) => Self::Uint,
+                            ScalarValue::F64(_) => Self::F64,
+                            ScalarValue::Counter(_) => Self::Counter,
+                            ScalarValue::Timestamp(_) => Self::Timestamp,
+                            ScalarValue::Boolean(_) => Self::Boolean,
+                            ScalarValue::Null => Self::Null,
+                            ScalarValue::Unknown { type_code, .. } => Self::Unknown(*type_code),
+            */
+        }
+    }
+}
+
+impl From<Datatype> for String {
+    fn from(d: Datatype) -> Self {
+        match d {
+            Datatype::Map => "map".into(),
+            Datatype::Table => "table".into(),
+            Datatype::List => "list".into(),
+            Datatype::Text => "text".into(),
+            Datatype::Bytes => "bytes".into(),
+            Datatype::Str => "str".into(),
+            Datatype::Int => "int".into(),
+            Datatype::Uint => "uint".into(),
+            Datatype::F64 => "f64".into(),
+            Datatype::Counter => "counter".into(),
+            Datatype::Timestamp => "timestamp".into(),
+            Datatype::Boolean => "boolean".into(),
+            Datatype::Null => "null".into(),
+            Datatype::Unknown(type_code) => format!("unknown{}", type_code),
+        }
+    }
+}
+
+impl TryFrom<JsValue> for Datatype {
+    type Error = InvalidDatatype;
+
+    fn try_from(datatype: JsValue) -> Result<Self, Self::Error> {
+        let datatype = datatype.as_string().ok_or(InvalidDatatype::NotString)?;
+        match datatype.as_str() {
+            "map" => Ok(Datatype::Map),
+            "table" => Ok(Datatype::Table),
+            "list" => Ok(Datatype::List),
+            "text" => Ok(Datatype::Text),
+            "bytes" => Ok(Datatype::Bytes),
+            "str" => Ok(Datatype::Str),
+            "int" => Ok(Datatype::Int),
+            "uint" => Ok(Datatype::Uint),
+            "f64" => Ok(Datatype::F64),
+            "counter" => Ok(Datatype::Counter),
+            "timestamp" => Ok(Datatype::Timestamp),
+            "boolean" => Ok(Datatype::Boolean),
+            "null" => Ok(Datatype::Null),
+            d => {
+                if d.starts_with("unknown") {
+                    // TODO: handle "unknown{}",
+                    Err(InvalidDatatype::UnknownNotImplemented)
+                } else {
+                    Err(InvalidDatatype::Unknown(d.to_string()))
+                }
+            }
+        }
+    }
+}
+
+impl From<Datatype> for JsValue {
+    fn from(d: Datatype) -> Self {
+        String::from(d).into()
+    }
+}
+
+#[derive(Debug, thiserror::Error)]
+pub enum InvalidDatatype {
+    #[error("unknown datatype")]
+    Unknown(String),
+    #[error("datatype is not a string")]
+    NotString,
+    #[error("cannot handle unknown datatype")]
+    UnknownNotImplemented,
+}
+
+impl From<InvalidDatatype> for JsValue {
+    fn from(e: InvalidDatatype) -> Self {
+        JsValue::from(e.to_string())
+    }
+}
+
+
\ No newline at end of file diff --git a/static.files/COPYRIGHT-002d5dd09d9a4f50.txt b/static.files/COPYRIGHT-002d5dd09d9a4f50.txt new file mode 100644 index 00000000..34e48134 --- /dev/null +++ b/static.files/COPYRIGHT-002d5dd09d9a4f50.txt @@ -0,0 +1,46 @@ +These documentation pages include resources by third parties. This copyright +file applies only to those resources. The following third party resources are +included, and carry their own copyright notices and license terms: + +* Fira Sans (FiraSans-Regular.woff2, FiraSans-Medium.woff2): + + Copyright (c) 2014, Mozilla Foundation https://mozilla.org/ + with Reserved Font Name Fira Sans. + + Copyright (c) 2014, Telefonica S.A. + + Licensed under the SIL Open Font License, Version 1.1. + See FiraSans-LICENSE.txt. + +* rustdoc.css, main.js, and playpen.js: + + Copyright 2015 The Rust Developers. + Licensed under the Apache License, Version 2.0 (see LICENSE-APACHE.txt) or + the MIT license (LICENSE-MIT.txt) at your option. + +* normalize.css: + + Copyright (c) Nicolas Gallagher and Jonathan Neal. + Licensed under the MIT license (see LICENSE-MIT.txt). + +* Source Code Pro (SourceCodePro-Regular.ttf.woff2, + SourceCodePro-Semibold.ttf.woff2, SourceCodePro-It.ttf.woff2): + + Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), + with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark + of Adobe Systems Incorporated in the United States and/or other countries. + + Licensed under the SIL Open Font License, Version 1.1. + See SourceCodePro-LICENSE.txt. + +* Source Serif 4 (SourceSerif4-Regular.ttf.woff2, SourceSerif4-Bold.ttf.woff2, + SourceSerif4-It.ttf.woff2): + + Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name + 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United + States and/or other countries. + + Licensed under the SIL Open Font License, Version 1.1. + See SourceSerif4-LICENSE.md. + +This copyright file is intended to be distributed with rustdoc output. diff --git a/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt b/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt new file mode 100644 index 00000000..ff9afab0 --- /dev/null +++ b/static.files/FiraSans-LICENSE-1761dca11ffc8f19.txt @@ -0,0 +1,94 @@ +Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A. +with Reserved Font Name < Fira >, + +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: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +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/static.files/FiraSans-Medium-8f9a781e4970d388.woff2 b/static.files/FiraSans-Medium-8f9a781e4970d388.woff2 new file mode 100644 index 00000000..7a1e5fc5 Binary files /dev/null and b/static.files/FiraSans-Medium-8f9a781e4970d388.woff2 differ diff --git a/static.files/FiraSans-Regular-018c141bf0843ffd.woff2 b/static.files/FiraSans-Regular-018c141bf0843ffd.woff2 new file mode 100644 index 00000000..e766e06c Binary files /dev/null and b/static.files/FiraSans-Regular-018c141bf0843ffd.woff2 differ diff --git a/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt b/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt new file mode 100644 index 00000000..16fe87b0 --- /dev/null +++ b/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/static.files/LICENSE-MIT-65090b722b3f6c56.txt b/static.files/LICENSE-MIT-65090b722b3f6c56.txt new file mode 100644 index 00000000..31aa7938 --- /dev/null +++ b/static.files/LICENSE-MIT-65090b722b3f6c56.txt @@ -0,0 +1,23 @@ +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. diff --git a/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2 b/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2 new file mode 100644 index 00000000..1866ad4b Binary files /dev/null and b/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2 differ diff --git a/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt b/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt new file mode 100644 index 00000000..0bf46682 --- /dev/null +++ b/static.files/NanumBarunGothic-LICENSE-2fe9ce67ec95245d.txt @@ -0,0 +1,99 @@ +Copyright (c) 2010, NAVER Corporation (https://www.navercorp.com/), + +with Reserved Font Name Nanum, Naver Nanum, NanumGothic, Naver NanumGothic, +NanumMyeongjo, Naver NanumMyeongjo, NanumBrush, Naver NanumBrush, NanumPen, +Naver NanumPen, Naver NanumGothicEco, NanumGothicEco, Naver NanumMyeongjoEco, +NanumMyeongjoEco, Naver NanumGothicLight, NanumGothicLight, NanumBarunGothic, +Naver NanumBarunGothic, NanumSquareRound, NanumBarunPen, MaruBuri + +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: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +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/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 b/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 new file mode 100644 index 00000000..462c34ef Binary files /dev/null and b/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 differ diff --git a/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt b/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt new file mode 100644 index 00000000..07542572 --- /dev/null +++ b/static.files/SourceCodePro-LICENSE-f554967dca0cf1dd.txt @@ -0,0 +1,93 @@ +Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries. + +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: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +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/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2 b/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2 new file mode 100644 index 00000000..10b558e0 Binary files /dev/null and b/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2 differ diff --git a/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2 b/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2 new file mode 100644 index 00000000..5ec64eef Binary files /dev/null and b/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2 differ diff --git a/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2 b/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2 new file mode 100644 index 00000000..db57d214 Binary files /dev/null and b/static.files/SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2 differ diff --git a/static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2 b/static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2 new file mode 100644 index 00000000..1cbc021a Binary files /dev/null and b/static.files/SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2 differ diff --git a/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md b/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md new file mode 100644 index 00000000..68ea1892 --- /dev/null +++ b/static.files/SourceSerif4-LICENSE-964d32dc04f20ca3.md @@ -0,0 +1,93 @@ +Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. + +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: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +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/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2 b/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2 new file mode 100644 index 00000000..2db73fe2 Binary files /dev/null and b/static.files/SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2 differ diff --git a/static.files/ayu-65289d5d067c7c66.css b/static.files/ayu-65289d5d067c7c66.css new file mode 100644 index 00000000..ea0d3f6d --- /dev/null +++ b/static.files/ayu-65289d5d067c7c66.css @@ -0,0 +1 @@ + :root{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--tooltip-background-color:#314559;--tooltip-color:#c5c5c5;--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--source-sidebar-background-selected:#14191f;--source-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:rgb(91,59,1);--scrape-example-code-line-highlight-focus:rgb(124,75,15);--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;}h1,h2,h3,h4{color:white;}h1 a{color:#fff;}h4{border:none;}.docblock code{color:#ffb454;}.code-header{color:#e6e1cf;}.docblock pre>code,pre>code{color:#e6e1cf;}.item-info code{color:#e6e1cf;}.docblock a>code{color:#39AFD7 !important;}pre,.rustdoc.source .example-wrap{color:#e6e1cf;}.sidebar .current,.sidebar a:hover{color:#ffb44c;}.sidebar-elems .location{color:#ff7733;}.src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}.search-results a:hover{color:#fff !important;background-color:#3c3c3c;}.search-results a:focus{color:#fff !important;background-color:#3c3c3c;}.search-results a{color:#0096cf;}.search-results a div.desc{color:#c5c5c5;}.sidebar h2 a,.sidebar h3 a{color:white;}.result-name .primitive>i,.result-name .keyword>i{color:#788797;}#search-tabs>button.selected{background-color:#141920 !important;border-bottom:1px solid #ffb44c !important;border-top:none;}#search-tabs>button:not(.selected){background-color:transparent !important;border:none;}#search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}#search-tabs>button:hover,#search-tabs>button.selected{}#settings-menu>a img{filter:invert(100);}#source-sidebar>.title{color:#fff;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus,#source-sidebar div.files>a.selected{color:#ffb44c;}.scraped-example:not(.expanded) .code-wrapper::before{background:linear-gradient(to bottom,rgba(15,20,25,1),rgba(15,20,25,0));}.scraped-example:not(.expanded) .code-wrapper::after{background:linear-gradient(to top,rgba(15,20,25,1),rgba(15,20,25,0));} \ No newline at end of file diff --git a/static.files/clipboard-7571035ce49a181d.svg b/static.files/clipboard-7571035ce49a181d.svg new file mode 100644 index 00000000..8adbd996 --- /dev/null +++ b/static.files/clipboard-7571035ce49a181d.svg @@ -0,0 +1 @@ + diff --git a/static.files/dark-0e1b889528bd466b.css b/static.files/dark-0e1b889528bd466b.css new file mode 100644 index 00000000..50dad33b --- /dev/null +++ b/static.files/dark-0e1b889528bd466b.css @@ -0,0 +1 @@ +:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--tooltip-background-color:#000;--tooltip-color:#fff;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--source-sidebar-background-selected:#333;--source-sidebar-background-hover:#444;--table-alt-row-background-color:#2A2A2A;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:rgb(91,59,1);--scrape-example-code-line-highlight-focus:rgb(124,75,15);--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;}#search-tabs>button:not(.selected){background-color:#252525;border-top-color:#252525;}#search-tabs>button:hover,#search-tabs>button.selected{border-top-color:#0089ff;background-color:#353535;}.scraped-example:not(.expanded) .code-wrapper::before{background:linear-gradient(to bottom,rgba(53,53,53,1),rgba(53,53,53,0));}.scraped-example:not(.expanded) .code-wrapper::after{background:linear-gradient(to top,rgba(53,53,53,1),rgba(53,53,53,0));} \ No newline at end of file diff --git a/static.files/down-arrow-927217e04c7463ac.svg b/static.files/down-arrow-927217e04c7463ac.svg new file mode 100644 index 00000000..5d76a64e --- /dev/null +++ b/static.files/down-arrow-927217e04c7463ac.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static.files/favicon-16x16-8b506e7a72182f1c.png b/static.files/favicon-16x16-8b506e7a72182f1c.png new file mode 100644 index 00000000..ea4b45ca Binary files /dev/null and b/static.files/favicon-16x16-8b506e7a72182f1c.png differ diff --git a/static.files/favicon-2c020d218678b618.svg b/static.files/favicon-2c020d218678b618.svg new file mode 100644 index 00000000..8b34b511 --- /dev/null +++ b/static.files/favicon-2c020d218678b618.svg @@ -0,0 +1,24 @@ + + + + + diff --git a/static.files/favicon-32x32-422f7d1d52889060.png b/static.files/favicon-32x32-422f7d1d52889060.png new file mode 100644 index 00000000..69b8613c Binary files /dev/null and b/static.files/favicon-32x32-422f7d1d52889060.png differ diff --git a/static.files/light-4743e13df3dfe8c4.css b/static.files/light-4743e13df3dfe8c4.css new file mode 100644 index 00000000..f058592a --- /dev/null +++ b/static.files/light-4743e13df3dfe8c4.css @@ -0,0 +1 @@ +:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#F5F5F5;--sidebar-background-color-hover:#E0E0E0;--code-block-background-color:#F5F5F5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#fdffd3;--target-border-color:#ad7c37;--tooltip-background-color:#000;--tooltip-color:#fff;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--source-sidebar-background-selected:#fff;--source-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#F5F5F5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;}#search-tabs>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#search-tabs>button:hover,#search-tabs>button.selected{background-color:#ffffff;border-top-color:#0089ff;}.scraped-example:not(.expanded) .code-wrapper::before{background:linear-gradient(to bottom,rgba(255,255,255,1),rgba(255,255,255,0));}.scraped-example:not(.expanded) .code-wrapper::after{background:linear-gradient(to top,rgba(255,255,255,1),rgba(255,255,255,0));} \ No newline at end of file diff --git a/static.files/main-3367e395607fafc1.js b/static.files/main-3367e395607fafc1.js new file mode 100644 index 00000000..a6fe6ddc --- /dev/null +++ b/static.files/main-3367e395607fafc1.js @@ -0,0 +1,8 @@ +"use strict";function getVar(name){const el=document.getElementById("rustdoc-vars");if(el){return el.attributes["data-"+name].value}else{return null}}function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event,parentElem,hideCallback){if(!elemIsInParent(document.activeElement,parentElem)&&!elemIsInParent(event.relatedTarget,parentElem)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileLocationTitle=document.querySelector(".mobile-topbar h2");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileLocationTitle&&locationTitle){mobileLocationTitle.innerHTML=locationTitle.innerHTML}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function loadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="stylesheet";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadCss(getVar("static-root-path")+getVar("settings-css"));loadScript(getVar("static-root-path")+getVar("settings-js"))};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},hideResults:()=>{switchDisplayedElement(null);document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="

"+searchState.loadingText+"

";searchState.showResults(search)},};function getPageId(){if(window.location.hash){const tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}expandSection(savedHash.slice(1))}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();switchDisplayedElement(null);if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const h3=document.createElement("h3");h3.innerHTML=`${longty}`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const item of filtered){const name=item[0];const desc=item[1];let path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}const current_page=document.location.href.split("/").pop();const link=document.createElement("a");link.href=path;link.title=desc;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Definitions");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=script?script.getAttribute("data-ignore-extern-crates"):"";for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.indexOf(lib)!==-1){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";if(window.rootPath!=="./"&&crate===window.currentCrate){link.className="current"}link.textContent=crate;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}});const pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}let oldSidebarScrollPosition=null;window.rustdocMobileScrollLock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(window.innerWidth<=window.RUSTDOC_MOBILE_BREAKPOINT){oldSidebarScrollPosition=window.scrollY;document.body.style.width=`${document.body.offsetWidth}px`;document.body.style.position="fixed";document.body.style.top=`-${oldSidebarScrollPosition}px`;if(mobile_topbar){mobile_topbar.style.top=`${oldSidebarScrollPosition}px`;mobile_topbar.style.position="relative"}}else{oldSidebarScrollPosition=null}};window.rustdocMobileScrollUnlock=function(){const mobile_topbar=document.querySelector(".mobile-topbar");if(oldSidebarScrollPosition!==null){document.body.style.width="";document.body.style.position="";document.body.style.top="";if(mobile_topbar){mobile_topbar.style.top="";mobile_topbar.style.position=""}window.scrollTo(0,oldSidebarScrollPosition);oldSidebarScrollPosition=null}};function showSidebar(){window.hideAllModals(false);window.rustdocMobileScrollLock();const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){window.rustdocMobileScrollUnlock();const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.innerWidth>window.RUSTDOC_MOBILE_BREAKPOINT&&oldSidebarScrollPosition!==null){hideSidebar()}if(window.CURRENT_NOTABLE_ELEMENT){const base=window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE;const force_visible=base.NOTABLE_FORCE_VISIBLE;hideNotable(false);if(force_visible){showNotable(base);base.NOTABLE_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showNotable(e){if(!window.NOTABLE_TRAITS){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showNotable() called on page without any notable traits!")}}if(window.CURRENT_NOTABLE_ELEMENT&&window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE===e){return}window.hideAllModals(false);const ty=e.getAttribute("data-ty");const wrapper=document.createElement("div");wrapper.innerHTML="
"+window.NOTABLE_TRAITS[ty]+"
";wrapper.className="notable popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideNotable;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_NOTABLE_ELEMENT=wrapper;window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE=e;wrapper.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!e.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(event.relatedTarget,e)){hideNotable(true)}}}function notableBlurHandler(event){if(window.CURRENT_NOTABLE_ELEMENT&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)&&!elemIsInParent(document.activeElement,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)&&!elemIsInParent(event.relatedTarget,window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE)){setTimeout(()=>hideNotable(false),0)}}function hideNotable(focus){if(window.CURRENT_NOTABLE_ELEMENT){if(window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE){if(focus){window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.focus()}window.CURRENT_NOTABLE_ELEMENT.NOTABLE_BASE.NOTABLE_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_NOTABLE_ELEMENT);window.CURRENT_NOTABLE_ELEMENT=null}}onEachLazy(document.getElementsByClassName("notable-traits"),e=>{e.onclick=function(){this.NOTABLE_FORCE_VISIBLE=this.NOTABLE_FORCE_VISIBLE?false:true;if(window.CURRENT_NOTABLE_ELEMENT&&!this.NOTABLE_FORCE_VISIBLE){hideNotable(true)}else{showNotable(this);window.CURRENT_NOTABLE_ELEMENT.setAttribute("tabindex","0");window.CURRENT_NOTABLE_ELEMENT.focus();window.CURRENT_NOTABLE_ELEMENT.onblur=notableBlurHandler}return false};e.onpointerenter=function(ev){if(ev.pointerType!=="mouse"){return}showNotable(this)};e.onpointerleave=function(ev){if(ev.pointerType!=="mouse"){return}if(!this.NOTABLE_FORCE_VISIBLE&&!elemIsInParent(ev.relatedTarget,window.CURRENT_NOTABLE_ELEMENT)){hideNotable(true)}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");book_info.className="top";book_info.innerHTML="You can find more information in \ + the rustdoc book.";const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>((index&1)===0?""+y+"":" "+y+" ")).join("")+"
"+x[1]+"
").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";const infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ + restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ + enum, trait, type, macro, \ + and const.","Search functions by type signature (e.g., vec -> usize or \ + -> vec)","Search multiple things at once by splitting your query with comma (e.g., \ + str,u8 or String,struct:Vec,test)","You can look for items with an exact name by putting double quotes around \ + your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=function(switchFocus){hideSidebar();window.hidePopoverMenus();hideNotable(switchFocus)};window.hidePopoverMenus=function(){onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;window.copy_path=but=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}()) \ No newline at end of file diff --git a/static.files/normalize-76eba96aa4d2e634.css b/static.files/normalize-76eba96aa4d2e634.css new file mode 100644 index 00000000..469959f1 --- /dev/null +++ b/static.files/normalize-76eba96aa4d2e634.css @@ -0,0 +1,2 @@ + /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none} \ No newline at end of file diff --git a/static.files/noscript-13285aec31fa243e.css b/static.files/noscript-13285aec31fa243e.css new file mode 100644 index 00000000..c32e0cb1 --- /dev/null +++ b/static.files/noscript-13285aec31fa243e.css @@ -0,0 +1 @@ + #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}nav.sub{display:none;}.source .sidebar{display:none;}.notable-traits{display:none;} \ No newline at end of file diff --git a/static.files/rust-logo-151179464ae7ed46.svg b/static.files/rust-logo-151179464ae7ed46.svg new file mode 100644 index 00000000..62424d8f --- /dev/null +++ b/static.files/rust-logo-151179464ae7ed46.svg @@ -0,0 +1,61 @@ + + + diff --git a/static.files/rustdoc-93196c7a1c3542a8.css b/static.files/rustdoc-93196c7a1c3542a8.css new file mode 100644 index 00000000..4ec447aa --- /dev/null +++ b/static.files/rustdoc-93196c7a1c3542a8.css @@ -0,0 +1 @@ + @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-1f7d512b176f0f72.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-d034fe4ef9d0fa00.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-124a1ca42af929b6.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-left>a,.out-of-band,span.since,a.srclink,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.small-section-header a,#source-sidebar a,pre.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name .primitive>i,.result-name .keyword>i{color:var(--main-color);}.content span.enum,.content a.enum,.content span.struct,.content a.struct,.content span.union,.content a.union,.content span.primitive,.content a.primitive,.content span.type,.content a.type,.content span.foreigntype,.content a.foreigntype{color:var(--type-link-color);}.content span.trait,.content a.trait,.content span.traitalias,.content a.traitalias{color:var(--trait-link-color);}.content span.associatedtype,.content a.associatedtype,.content span.constant,.content a.constant,.content span.static,.content a.static{color:var(--assoc-item-link-color);}.content span.fn,.content a.fn,.content span.method,.content a.method,.content span.tymethod,.content a.tymethod{color:var(--function-link-color);}.content span.attr,.content a.attr,.content span.derive,.content a.derive,.content span.macro,.content a.macro{color:var(--macro-link-color);}.content span.mod,.content a.mod{color:var(--mod-link-color);}.content span.keyword,.content a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p{margin:0 0 .75em 0;}p:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.source main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}.item-decl pre{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.source .content pre{padding:20px;}.rustdoc.source .example-wrap>pre.src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.sub-logo-container,.logo-container{line-height:0;display:block;}.sub-logo-container{margin-right:32px;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 200px;overflow-y:scroll;position:sticky;height:100vh;top:0;left:0;}.rustdoc.source .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar-toggle,#source-sidebar{background-color:var(--sidebar-background-color);}#src-sidebar-toggle>button:hover,#src-sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.source .sidebar>*:not(#src-sidebar-toggle){visibility:hidden;}.source-sidebar-expanded .source .sidebar{overflow-y:auto;flex-basis:300px;}.source-sidebar-expanded .source .sidebar>*:not(#src-sidebar-toggle){visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.sidebar .logo-container{margin-top:10px;margin-bottom:10px;text-align:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap>pre{margin:0;flex-grow:1;overflow-x:auto;}.rustdoc .example-wrap>pre.example-line-numbers,.rustdoc .example-wrap>pre.src-line-numbers{flex-grow:0;min-width:fit-content;overflow:initial;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;color:var(--src-line-numbers-span-color);}.rustdoc .example-wrap>pre.src-line-numbers{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.source .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.method .where,.fn .where,.where.fmt-newline{display:block;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.source nav.sub{margin:0 0 15px 0;}.small-section-header{display:block;position:relative;}.small-section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap>pre.rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):hover,.item-info a{text-decoration:underline;}.crate.block a.current{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;}.item-row{display:table-row;}.item-left,.item-right{display:table-cell;}.item-left{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}@-moz-document url-prefix(){#crate-search{padding-left:0px;padding-right:19px;}}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url("down-arrow-927217e04c7463ac.svg");filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div{flex:1;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name span.alias{color:var(--search-results-alias-color);}.search-results .result-name span.grey{color:var(--search-results-grey-color);}.popover{position:absolute;top:100%;right:0;z-index:2;margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{min-height:36px;display:flex;padding:3px;margin-bottom:5px;}.item-left .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;align-items:center;white-space:pre-wrap;border-radius:3px;display:inline-flex;vertical-align:text-bottom;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji{font-size:1.25rem;margin-right:0.3rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.module-item.unstable,.import-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.source .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;}.example-wrap .tooltip:hover::after{padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:1rem;border:1px solid var(--border-color);position:absolute;width:max-content;top:-2px;z-index:1;background-color:var(--tooltip-background-color);color:var(--tooltip-color);}.example-wrap .tooltip:hover::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;z-index:1;border:5px solid transparent;border-right-color:var(--tooltip-background-color);}.example-wrap.ignore .tooltip:hover::after{content:"This example is not tested";}.example-wrap.compile_fail .tooltip:hover::after{content:"This example deliberately fails to compile";}.example-wrap.should_panic .tooltip:hover::after{content:"This example panics";}.example-wrap.edition .tooltip:hover::after{content:"This code runs with edition " attr(data-edition);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.notable-traits{color:inherit;margin-right:15px;position:relative;}.notable-traits:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.notable .content{margin:0.25em 0.5em;}.notable .content pre,.notable .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.notable .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs .count{font-size:1rem;color:var(--search-tab-title-count-color);}#src-sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#source-sidebar{width:100%;overflow:auto;}#source-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#source-sidebar div.files>a:hover,details.dir-entry summary:hover,#source-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--source-sidebar-background-hover);}#source-sidebar div.files>a.selected{background-color:var(--source-sidebar-background-selected);}#src-sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#settings-menu>a,#help-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus{border-color:var(--settings-button-border-focus);}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url("toggle-plus-1092eb4930d581b0.svg") no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url("toggle-minus-31bbd6e4c77f5c96.svg") no-repeat top left;}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.source main,.rustdoc.source .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.source-sidebar-expanded .source .sidebar,.rustdoc:not(.source) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#search-tabs .count{display:block;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#src-sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.source-sidebar-expanded #src-sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}.item-table,.item-row,.item-left,.item-right,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-right{padding-left:2em;}.source-sidebar-expanded .source .sidebar{max-width:100vw;width:100vw;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.source nav.sub{margin:0;padding:8px;}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.srclink,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}.sub-logo-container>img{height:35px;width:35px;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper:before,.scraped-example:not(.expanded) .code-wrapper:after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper:before{top:0;}.scraped-example:not(.expanded) .code-wrapper:after{bottom:0;}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;} \ No newline at end of file diff --git a/static.files/scrape-examples-ef1e698c1d417c0c.js b/static.files/scrape-examples-ef1e698c1d417c0c.js new file mode 100644 index 00000000..ba830e37 --- /dev/null +++ b/static.files/scrape-examples-ef1e698c1d417c0c.js @@ -0,0 +1 @@ +"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const wrapper=elt.querySelector(".code-wrapper");const halfHeight=wrapper.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function updateScrapedExample(example,isHidden){const locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");if(locs.length>1){const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};example.querySelector(".prev").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});example.querySelector(".next").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}const expandButton=example.querySelector(".expand");if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}scrollToLoc(example,locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>updateScrapedExample(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>updateScrapedExample(el,true))})},{once:true})})})() \ No newline at end of file diff --git a/static.files/search-98d53477a794af0b.js b/static.files/search-98d53477a794af0b.js new file mode 100644 index 00000000..64e17055 --- /dev/null +++ b/static.files/search-98d53477a794af0b.js @@ -0,0 +1 @@ +"use strict";(function(){const itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb}else if(nb!==0){printTab(0)}}const levenshtein_row2=[];function levenshtein(s1,s2){if(s1===s2){return 0}const s1_len=s1.length,s2_len=s2.length;if(s1_len&&s2_len){let i1=0,i2=0,a,b,c,c2;const row=levenshtein_row2;while(i1-".indexOf(c)!==-1}function isStopCharacter(c){return isWhitespace(c)||isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){for(let i=0,len=itemTypes.length;i0){throw new Error("Cannot use literal search when there is more than one element")}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw new Error("Unclosed `\"`")}else if(parserState.userQuery[end]!=="\""){throw new Error(`Unexpected \`${parserState.userQuery[end]}\` in a string element`)}else if(start===end){throw new Error("Cannot have empty string element")}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||isWhitespaceCharacter(c)}function isWhitespaceCharacter(c){return c===" "||c==="\t"}function createQueryElement(query,parserState,name,generics,isInGenerics){if(name==="*"||(name.length===0&&generics.length===0)){return}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw new Error("You cannot have more than one element if you use quotes")}const pathSegments=name.split("::");if(pathSegments.length>1){for(let i=0,len=pathSegments.length;i=end){throw new Error("Found generics without a path")}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;while(parserState.pos"){extra="`<`"}else if(endChar===""){extra="`->`"}throw new Error("Unexpected `"+c+"` after "+extra)}if(!foundStopChar){if(endChar!==""){throw new Error(`Expected \`,\`, \` \` or \`${endChar}\`, found \`${c}\``)}throw new Error(`Expected \`,\` or \` \`, found \`${c}\``)}const posBefore=parserState.pos;getNextElem(query,parserState,elems,endChar===">");if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}parserState.pos+=1}function checkExtraTypeFilterCharacters(parserState){const query=parserState.userQuery;for(let pos=0;pos"){if(isReturnArrow(parserState)){break}throw new Error(`Unexpected \`${c}\` (did you mean \`->\`?)`)}throw new Error(`Unexpected \`${c}\``)}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw new Error("Unexpected `:`")}if(query.elems.length===0){throw new Error("Expected type filter before `:`")}else if(query.elems.length!==1||parserState.totalElems!==1){throw new Error("Unexpected `:`")}else if(query.literalSearch){throw new Error("You cannot use quotes on type filter")}checkExtraTypeFilterCharacters(parserState);parserState.typeFilter=query.elems.pop().name;parserState.pos+=1;parserState.totalElems=0;query.literalSearch=false;foundStopChar=true;continue}if(!foundStopChar){if(parserState.typeFilter!==null){throw new Error(`Expected \`,\`, \` \` or \`->\`, found \`${c}\``)}throw new Error(`Expected \`,\`, \` \`, \`:\` or \`->\`, found \`${c}\``)}before=query.elems.length;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}while(parserState.pos`")}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),typeFilter:NO_TYPE_FILTER,elems:[],returned:[],foundElems:0,literalSearch:false,error:null,}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);if(parserState.typeFilter!==null){let typeFilter=parserState.typeFilter;if(typeFilter==="const"){typeFilter="constant"}query.typeFilter=itemTypeFromName(typeFilter)}}catch(err){query=newParsedQuery(userQuery);query.error=err.message;query.typeFilter=-1;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,searchWords,filterCrates,currentCrate){const results_others={},results_in_args={},results_returned={};function transformResults(results){const duplicates={};const out=[];for(const result of results){if(result.id>-1){const obj=searchIndex[result.id];obj.lev=result.lev;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates[obj.fullPath]){continue}duplicates[obj.fullPath]=true;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const ar=[];for(const entry in results){if(hasOwnPropertyRustdoc(results,entry)){const result=results[entry];result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};ar.push(result)}}results=ar;if(results.length===0){return[]}results.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_lev;b=bbb.path_lev;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.lev);b=(bbb.lev);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of results){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(results)}function checkGenerics(row,elem,defaultLev){if(row.generics.length===0){return elem.generics.length===0?defaultLev:MAX_LEV_DISTANCE+1}else if(row.generics.length>0&&row.generics[0].name===null){return checkGenerics(row.generics[0],elem,defaultLev)}let elem_name;if(elem.generics.length>0&&row.generics.length>=elem.generics.length){const elems=Object.create(null);for(const entry of row.generics){elem_name=entry.name;if(elem_name===""){if(checkGenerics(entry,elem,MAX_LEV_DISTANCE+1)!==0){return MAX_LEV_DISTANCE+1}continue}if(elems[elem_name]===undefined){elems[elem_name]=0}elems[elem_name]+=1}for(const generic of elem.generics){let match=null;if(elems[generic.name]){match=generic.name}else{for(elem_name in elems){if(!hasOwnPropertyRustdoc(elems,elem_name)){continue}if(elem_name===generic){match=elem_name;break}}}if(match===null){return MAX_LEV_DISTANCE+1}elems[match]-=1;if(elems[match]===0){delete elems[match]}}return 0}return MAX_LEV_DISTANCE+1}function checkIfInGenerics(row,elem){let lev=MAX_LEV_DISTANCE+1;for(const entry of row.generics){lev=Math.min(checkType(entry,elem,true),lev);if(lev===0){break}}return lev}function checkType(row,elem,literalSearch){if(row.name===null){if(row.generics.length>0){return checkIfInGenerics(row,elem)}return MAX_LEV_DISTANCE+1}let lev=levenshtein(row.name,elem.name);if(literalSearch){if(lev!==0){if(elem.generics.length===0){const checkGeneric=row.generics.length>0;if(checkGeneric&&row.generics.findIndex(tmp_elem=>tmp_elem.name===elem.name)!==-1){return 0}}return MAX_LEV_DISTANCE+1}else if(elem.generics.length>0){return checkGenerics(row,elem,MAX_LEV_DISTANCE+1)}return 0}else if(row.generics.length>0){if(elem.generics.length===0){if(lev===0){return 0}lev=checkIfInGenerics(row,elem);return lev+0.5}else if(lev>MAX_LEV_DISTANCE){return checkIfInGenerics(row,elem)}else{const tmp_lev=checkGenerics(row,elem,lev);if(tmp_lev>MAX_LEV_DISTANCE){return MAX_LEV_DISTANCE+1}return(tmp_lev+lev)/2}}else if(elem.generics.length>0){return MAX_LEV_DISTANCE+1}return lev}function findArg(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.inputs&&row.type.inputs.length>0){for(const input of row.type.inputs){if(!typePassesFilter(typeFilter,input.ty)){continue}lev=Math.min(lev,checkType(input,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkReturned(row,elem,typeFilter){let lev=MAX_LEV_DISTANCE+1;if(row&&row.type&&row.type.output.length>0){const ret=row.type.output;for(const ret_ty of ret){if(!typePassesFilter(typeFilter,ret_ty.ty)){continue}lev=Math.min(lev,checkType(ret_ty,elem,parsedQuery.literalSearch));if(lev===0){return 0}}}return parsedQuery.literalSearch?MAX_LEV_DISTANCE+1:lev}function checkPath(contains,ty){if(contains.length===0){return 0}let ret_lev=MAX_LEV_DISTANCE+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;if(clength>length){return MAX_LEV_DISTANCE+1}for(let i=0;ilength){break}let lev_total=0;let aborted=false;for(let x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(!aborted){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES[filterCrates]&&ALIASES[filterCrates][lowerQuery]){const query_aliases=ALIASES[filterCrates][lowerQuery];for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{Object.keys(ALIASES).forEach(crate=>{if(ALIASES[crate][lowerQuery]){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=ALIASES[crate][lowerQuery];for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}})}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,lev,path_lev){const inBounds=lev<=MAX_LEV_DISTANCE||index!==-1;if(lev===0||(!parsedQuery.literalSearch&&inBounds)){if(results[fullId]!==undefined){const result=results[fullId];if(result.dontValidate||result.lev<=lev){return}}results[fullId]={id:id,index:index,dontValidate:parsedQuery.literalSearch,lev:lev,path_lev:path_lev,}}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let lev,index=-1,path_lev=0;const fullId=row.id;const searchWord=searchWords[pos];const in_args=findArg(row,elem,parsedQuery.typeFilter);const returned=checkReturned(row,elem,parsedQuery.typeFilter);addIntoResults(results_in_args,fullId,pos,-1,in_args,0);addIntoResults(results_returned,fullId,pos,-1,returned,0);if(!typePassesFilter(parsedQuery.typeFilter,row.ty)){return}const row_index=row.normalizedName.indexOf(elem.pathLast);const word_index=searchWord.indexOf(elem.pathLast);if(row_index===-1){index=word_index}else if(word_index===-1){index=row_index}else if(word_index1){path_lev=checkPath(elem.pathWithoutLast,row);if(path_lev>MAX_LEV_DISTANCE){return}}if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,index,0,path_lev)}return}lev=levenshtein(searchWord,elem.pathLast);if(index===-1&&lev+path_lev>MAX_LEV_DISTANCE){return}addIntoResults(results_others,fullId,pos,index,lev,path_lev)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let totalLev=0;let nbLev=0;function checkArgs(elems,callback){for(const elem of elems){const lev=callback(row,elem,NO_TYPE_FILTER);if(lev<=1){nbLev+=1;totalLev+=lev}else{return false}}return true}if(!checkArgs(parsedQuery.elems,findArg)){return}if(!checkArgs(parsedQuery.returned,checkReturned)){return}if(nbLev===0){return}const lev=Math.round(totalLev/nbLev);addIntoResults(results,row.id,pos,0,lev,0)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i0){for(i=0,nSearchWords=searchWords.length;i-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||levenshtein(name,key)<=MAX_LEV_DISTANCE)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];length+=1;let extra="";if(type==="primitive"){extra=" (primitive type)"}else if(type==="keyword"){extra=" (keyword)"}const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";if(item.is_alias){const alias=document.createElement("span");alias.className="alias";const bold=document.createElement("b");bold.innerText=item.alias;alias.appendChild(bold);alias.insertAdjacentHTML("beforeend"," - see ");resultName.appendChild(alias)}resultName.insertAdjacentHTML("beforeend",item.displayPath+""+name+extra+"");link.appendChild(resultName);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(searchState.currentTab===tabNb){return""}return""}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==searchState.loadingText))){const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>1){crates=" in 
"}let output=`

Results${crates}

`;if(results.query.error!==null){output+=`

Query parser error: "${results.query.error}".

`;output+="
"+makeTabHeader(0,"In Names",ret_others[1])+"
";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="
"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"
";currentTab=0}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function search(e,forced){if(e){e.preventDefault()}const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&¶ms["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";if(browserSupportsHistoryApi()){const newURL=buildUrl(query.original,filterCrates);if(!history.state&&!params.search){history.pushState(null,"",newURL)}else{history.replaceState(null,"",newURL)}}showResults(execQuery(query,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;return types.map(type=>{let pathIndex,generics;if(typeof type==="number"){pathIndex=type;generics=[]}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths)}return{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:generics,}})}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){const pathIndex=functionSearchType[INPUTS_DATA];inputs=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){const pathIndex=functionSearchType[OUTPUT_DATA];output=[{name:pathIndex===0?null:lowercasePaths[pathIndex-1].name,ty:pathIndex===0?null:lowercasePaths[pathIndex-1].ty,generics:[],}]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}return{inputs,output,}}function buildIndex(rawSearchIndex){searchIndex=[];const searchWords=[];let i,word;let currentIndex=0;let id=0;for(const crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}let crateSize=0;const crateCorpus=rawSearchIndex[crate];searchWords.push(crate);const crateRow={crate:crate,ty:1,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=crateCorpus.q;const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths),id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]=Object.create(null);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}if(!hasOwnPropertyRustdoc(ALIASES[crate],alias_name)){ALIASES[crate][alias_name]=[]}for(const local_alias of aliases[alias_name]){ALIASES[crate][alias_name].push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){if(browserSupportsHistoryApi()){history.replaceState(null,window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&¶ms.search.length>0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const params=searchState.getQueryStringParams();const query=searchState.input.value.trim();if(!history.state&&!params.search){history.pushState(null,"",buildUrl(query,null))}else{history.replaceState(null,"",buildUrl(query,null))}}currentResults=null;search(undefined,true)}const searchWords=buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})() \ No newline at end of file diff --git a/static.files/settings-08ddfdda51b8ee2e.css b/static.files/settings-08ddfdda51b8ee2e.css new file mode 100644 index 00000000..4460ca09 --- /dev/null +++ b/static.files/settings-08ddfdda51b8ee2e.css @@ -0,0 +1,3 @@ +.setting-line{margin:1.2em 0.6em;position:relative;}.setting-line .radio-line input,.setting-line .settings-toggle input{margin-right:0.3em;height:1.2rem;width:1.2rem;color:inherit;border:1px solid currentColor;outline:none;-webkit-appearance:none;cursor:pointer;}.setting-line .radio-line input{border-radius:50%;}.setting-line .settings-toggle input:checked{content:url('data:image/svg+xml,\ + \ + ');}.setting-line .radio-line input+span,.setting-line .settings-toggle span{padding-bottom:1px;}.radio-line .choice{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.radio-line .choice+.choice{margin-left:0.5em;}.settings-toggle{position:relative;width:100%;margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-line .radio-line input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-line .settings-toggle input:checked{background-color:var(--settings-input-color);}.setting-line .radio-line input:focus,.setting-line .settings-toggle input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-line .radio-line input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-line .radio-line input:hover,.setting-line .settings-toggle input:hover{border-color:var(--settings-input-color) !important;} \ No newline at end of file diff --git a/static.files/settings-c3c521c753752a1a.js b/static.files/settings-c3c521c753752a1a.js new file mode 100644 index 00000000..0c225db4 --- /dev/null +++ b/static.files/settings-c3c521c753752a1a.js @@ -0,0 +1,13 @@ +"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateSystemTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break}}function handleKey(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey){return}switch(getVirtualKey(ev)){case"Enter":case"Return":case"Space":ev.target.checked=!ev.target.checked;ev.preventDefault();break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme").parentElement,"hidden");removeClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme").parentElement,"hidden");addClass(document.getElementById("preferred-dark-theme").parentElement,"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=function(){changeSetting(this.id,this.checked)};toggle.onkeyup=handleKey;toggle.onkeyrelease=handleKey});onEachLazy(settingsElement.getElementsByClassName("select-wrapper"),elem=>{const select=elem.getElementsByTagName("select")[0];const settingId=select.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){select.value=settingValue}select.onchange=function(){changeSetting(this.id,this.value)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){if(useSystem!=="false"){settingValue="system preference"}else{settingValue="light"}}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){output+="
";const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\ +
+
${setting_name}
+
`;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\ +`});output+="
"}else{const checked=setting["default"]===true?" checked":"";output+=`\ +`}output+="
"}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`
${buildSettingsPageSections(settings)}
`;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=function(event){event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=function(event){if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})() \ No newline at end of file diff --git a/static.files/source-script-ea63cb6500f71309.js b/static.files/source-script-ea63cb6500f71309.js new file mode 100644 index 00000000..73a9fcd4 --- /dev/null +++ b/static.files/source-script-ea63cb6500f71309.js @@ -0,0 +1 @@ +"use strict";(function(){const rootPath=document.getElementById("rustdoc-vars").attributes["data-root-path"].value;const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;function closeSidebarIfMobile(){if(window.innerWidth"){window.rustdocMobileScrollLock();addClass(document.documentElement,"source-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{window.rustdocMobileScrollUnlock();removeClass(document.documentElement,"source-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="src-sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSourceSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="source-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(sourcesIndex).forEach(key=>{sourcesIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(sourcesIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSourceLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSourceHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSourceLines(match)}});onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSourceHighlight)});highlightSourceLines();window.createSourceSidebar=createSourceSidebar})() \ No newline at end of file diff --git a/static.files/storage-d43fa987303ecbbb.js b/static.files/storage-d43fa987303ecbbb.js new file mode 100644 index 00000000..017aff70 --- /dev/null +++ b/static.files/storage-d43fa987303ecbbb.js @@ -0,0 +1 @@ +"use strict";const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");window.mainTheme=document.getElementById("mainThemeStyle");window.RUSTDOC_MOBILE_BREAKPOINT=700;const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}const dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current!==null){return current}if(settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return null}const localStoredTheme=getSettingValue("theme");const savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){if(reversed){const length=arr.length;for(let i=length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),el=>{savedHref.push(el.href)})}const newHref=savedHref.find(url=>{const m=url.match(/static\.files\/(.*)-[a-f0-9]{16}\.css$/);if(m&&m[1]===newThemeName){return true}const m2=url.match(/\/([^/]*)\.css$/);if(m2&&m2[1].startsWith(newThemeName)){return true}});if(newHref&&newHref!==styleElem.href){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("use-system-theme",value);const toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}const updateSystemTheme=(function(){if(!window.matchMedia){return()=>{const cssTheme=getComputedStyle(document.documentElement).getPropertyValue("content");switchTheme(window.currentTheme,window.mainTheme,JSON.parse(cssTheme)||"light",true)}}const mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){const use=theme=>{switchTheme(window.currentTheme,window.mainTheme,theme,true)};if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){use(darkTheme)}else{use(lightTheme)}}else{use(getSettingValue("theme"))}}mql.addListener(handlePreferenceChange);return()=>{handlePreferenceChange(mql)}})();function switchToSavedTheme(){switchTheme(window.currentTheme,window.mainTheme,getSettingValue("theme")||"light",false)}if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchToSavedTheme()}if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"source-sidebar-expanded")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(switchToSavedTheme,0)}}) \ No newline at end of file diff --git a/static.files/toggle-minus-31bbd6e4c77f5c96.svg b/static.files/toggle-minus-31bbd6e4c77f5c96.svg new file mode 100644 index 00000000..73154788 --- /dev/null +++ b/static.files/toggle-minus-31bbd6e4c77f5c96.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static.files/toggle-plus-1092eb4930d581b0.svg b/static.files/toggle-plus-1092eb4930d581b0.svg new file mode 100644 index 00000000..08b17033 --- /dev/null +++ b/static.files/toggle-plus-1092eb4930d581b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static.files/wheel-5ec35bf9ca753509.svg b/static.files/wheel-5ec35bf9ca753509.svg new file mode 100644 index 00000000..01da3b24 --- /dev/null +++ b/static.files/wheel-5ec35bf9ca753509.svg @@ -0,0 +1 @@ + \ No newline at end of file